From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: intel.com, ip: 192.55.52.43, mailfrom: zailiang.sun@intel.com) Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by groups.io with SMTP; Sun, 12 May 2019 19:52:58 -0700 X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by fmsmga105.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 May 2019 19:52:55 -0700 X-ExtLoop1: 1 Received: from fmsmsx107.amr.corp.intel.com ([10.18.124.205]) by fmsmga008.fm.intel.com with ESMTP; 12 May 2019 19:52:51 -0700 Received: from shsmsx107.ccr.corp.intel.com (10.239.4.96) by fmsmsx107.amr.corp.intel.com (10.18.124.205) with Microsoft SMTP Server (TLS) id 14.3.408.0; Sun, 12 May 2019 19:52:24 -0700 Received: from shsmsx104.ccr.corp.intel.com ([169.254.5.33]) by SHSMSX107.ccr.corp.intel.com ([169.254.9.7]) with mapi id 14.03.0415.000; Mon, 13 May 2019 10:52:20 +0800 From: "Sun, Zailiang" To: "Kinney, Michael D" , "devel@edk2.groups.io" CC: "Qian, Yi" , "Kubacki, Michael A" , Leif Lindholm , Ard Biesheuvel Subject: Re: [edk2-platforms: Patch 6/8] Platform/Vlv2TbltDevicePkg: Import Vlv2TbltDevicePkg from edk2 Thread-Topic: [edk2-platforms: Patch 6/8] Platform/Vlv2TbltDevicePkg: Import Vlv2TbltDevicePkg from edk2 Thread-Index: AQHVBuGA49h3DB74ykCECrBwPZH996ZoX97A Date: Mon, 13 May 2019 02:52:17 +0000 Message-ID: <7CB7EF03E15B5D48981329A508747A9850C63AE3@SHSMSX104.ccr.corp.intel.com> References: <20190510033435.24112-1-michael.d.kinney@intel.com> <20190510033435.24112-7-michael.d.kinney@intel.com> In-Reply-To: <20190510033435.24112-7-michael.d.kinney@intel.com> Accept-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-originating-ip: [10.239.127.40] MIME-Version: 1.0 Return-Path: zailiang.sun@intel.com Content-Language: en-US Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 UmV2aWV3ZWQtYnk6IFphaWxpYW5nIFN1biA8emFpbGlhbmcuc3VuQGludGVsLmNvbT4NCg0KPiAt LS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQ0KPiBGcm9tOiBLaW5uZXksIE1pY2hhZWwgRA0KPiBT ZW50OiBGcmlkYXksIE1heSAxMCwgMjAxOSAxMTozNSBBTQ0KPiBUbzogZGV2ZWxAZWRrMi5ncm91 cHMuaW8NCj4gQ2M6IFN1biwgWmFpbGlhbmcgPHphaWxpYW5nLnN1bkBpbnRlbC5jb20+OyBRaWFu LCBZaSA8eWkucWlhbkBpbnRlbC5jb20+Ow0KPiBLdWJhY2tpLCBNaWNoYWVsIEEgPG1pY2hhZWwu YS5rdWJhY2tpQGludGVsLmNvbT47IExlaWYgTGluZGhvbG0NCj4gPGxlaWYubGluZGhvbG1AbGlu YXJvLm9yZz47IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiBT dWJqZWN0OiBbZWRrMi1wbGF0Zm9ybXM6IFBhdGNoIDYvOF0gUGxhdGZvcm0vVmx2MlRibHREZXZp Y2VQa2c6IEltcG9ydA0KPiBWbHYyVGJsdERldmljZVBrZyBmcm9tIGVkazINCj4gDQo+IGh0dHBz Oi8vYnVnemlsbGEudGlhbm9jb3JlLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3NA0KPiANCj4gSW1w b3J0IFZsdjJUYmx0RGV2aWNlUGtnIGZyb20gZWRrMi9tYXN0ZXIuDQo+IA0KPiBDYzogWmFpbGlh bmcgU3VuIDx6YWlsaWFuZy5zdW5AaW50ZWwuY29tPg0KPiBDYzogWWkgUWlhbiA8eWkucWlhbkBp bnRlbC5jb20+DQo+IENjOiBNaWNoYWVsIEt1YmFja2kgPG1pY2hhZWwuYS5rdWJhY2tpQGludGVs LmNvbT4NCj4gQ2M6IExlaWYgTGluZGhvbG0gPGxlaWYubGluZGhvbG1AbGluYXJvLm9yZz4NCj4g Q2M6IEFyZCBCaWVzaGV1dmVsIDxhcmQuYmllc2hldXZlbEBsaW5hcm8ub3JnPg0KPiBTaWduZWQt b2ZmLWJ5OiBNaWNoYWVsIEQgS2lubmV5IDxtaWNoYWVsLmQua2lubmV5QGludGVsLmNvbT4NCj4g LS0tDQo+ICBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy8uZ2l0aWdub3JlICAgfCAg ICA1ICsNCj4gIC4uLi9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtLmMgICAgICAgICAgICAgICB8 IDEzMzggKysrKysNCj4gIC4uLi9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtLmggICAgICAgICAg ICAgICB8ICAyMTkgKw0KPiAgLi4uL0FjcGlQbGF0Zm9ybS9BY3BpUGxhdGZvcm0uaW5mICAgICAg ICAgICAgIHwgICA4OSArDQo+ICAuLi4vQWNwaVBsYXRmb3JtL0FjcGlQbGF0Zm9ybUhvb2tzLmMg ICAgICAgICAgfCAgNDkzICsrDQo+ICAuLi4vQWNwaVBsYXRmb3JtL0FjcGlQbGF0Zm9ybUhvb2tz LmggICAgICAgICAgfCAgMTI3ICsNCj4gIC4uLi9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtSG9v a3NMaWIuaCAgICAgICB8ICAgOTEgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0 Zm9ybS9Pc2ZyLmggICAgIHwgICA1NiArDQo+ICAuLi4vRmlybXdhcmVVcGRhdGUvRmlybXdhcmVV cGRhdGUuYyAgICAgICAgICAgfCAgOTIyICsrKysNCj4gIC4uLi9GaXJtd2FyZVVwZGF0ZS9GaXJt d2FyZVVwZGF0ZS5oICAgICAgICAgICB8ICAxODUgKw0KPiAgLi4uL0Zpcm13YXJlVXBkYXRlL0Zp cm13YXJlVXBkYXRlLmluZiAgICAgICAgIHwgICA4MyArDQo+ICAuLi4vRmlybXdhcmVVcGRhdGUv RmlybXdhcmVVcGRhdGVTdHJpbmdzLnVuaSAgfCAgIDQ1ICsNCj4gIFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0JmbUxpYi5leGUgICB8ICBCaW4gMCAtPiA0OTk3MTIgYnl0ZXMNCj4g IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jpb3NJZEQuZW52ICB8ICAgMjUgKw0K PiAgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQmlvc0lkUi5lbnYgIHwgICAyNSAr DQo+ICAuLi4vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQmlvc0lkeDY0RC5lbnYgICAgfCAgIDI1 ICsNCj4gIC4uLi9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9CaW9zSWR4NjRSLmVudiAgICB8ICAg MjUgKw0KPiAgLi4uL0Jvb3RTY3JpcHRTYXZlRHhlL0Jvb3RTY3JpcHRTYXZlRHhlLmluZiAgIHwg ICA2MCArDQo+ICAuLi4vSW50ZXJuYWxCb290U2NyaXB0U2F2ZS5oICAgICAgICAgICAgICAgICAg fCAgMTAyICsNCj4gIC4uLi9Cb290U2NyaXB0U2F2ZUR4ZS9TY3JpcHRTYXZlLmMgICAgICAgICAg ICB8ICA2MjYgKysrDQo+ICAuLi4vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQnVpbGRfSUZXSS5i YXQgICAgfCAgMjAwICsNCj4gIC4uLi9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9CdWlsZF9JRldJ LnNoICAgICB8ICAxMDQgKw0KPiAgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRkNF LmV4ZSAgICAgIHwgIEJpbiAwIC0+IDYzMjgzMiBieXRlcw0KPiAgLi4uL0NhcHN1bGUvR2VuZXJh dGVDYXBzdWxlL0dlbkNhcHN1bGVBbGwuYmF0IHwgICAzNSArDQo+ICAuLi4vQ2Fwc3VsZS9HZW5l cmF0ZUNhcHN1bGUvR2VuQ2Fwc3VsZUFsbC5zaCAgfCAgIDI4ICsNCj4gIC4uLi9HZW5lcmF0ZUNh cHN1bGUvR2VuQ2Fwc3VsZU1pbm5vd01heC5iYXQgICB8ICAxMzEgKw0KPiAgLi4uL0dlbmVyYXRl Q2Fwc3VsZS9HZW5DYXBzdWxlTWlubm93TWF4LnNoICAgIHwgICA2NSArDQo+ICAuLi4vR2VuQ2Fw c3VsZU1pbm5vd01heFJlbGVhc2UuYmF0ICAgICAgICAgICAgfCAgMTMxICsNCj4gIC4uLi9HZW5D YXBzdWxlTWlubm93TWF4UmVsZWFzZS5zaCAgICAgICAgICAgICB8ICAgNjUgKw0KPiAgLi4uL0dl bmVyYXRlQ2Fwc3VsZS9HZW5DYXBzdWxlU2FtcGxlQ29sb3IuYmF0IHwgIDEzNyArDQo+ICAuLi4v R2VuZXJhdGVDYXBzdWxlL0dlbkNhcHN1bGVTYW1wbGVDb2xvci5zaCAgfCAgIDcwICsNCj4gIC4u Li9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0x2ZnMuZGRmICB8ICAgMTQgKw0KPiAg Li4uL0x2ZnNHZW5DYXBzdWxlTWlubm93TWF4LmJhdCAgICAgICAgICAgICAgIHwgIDEzOSArDQo+ ICAuLi4vTHZmc0dlbkNhcHN1bGVNaW5ub3dNYXhSZWxlYXNlLmJhdCAgICAgICAgfCAgMTM5ICsN Cj4gIC4uLi9MdmZzR2VuQ2Fwc3VsZVNhbXBsZUNvbG9yLmJhdCAgICAgICAgICAgICB8ICAxNDUg Kw0KPiAgLi4uYWNlR3VpZC5QY2RGbXBEZXZpY2VQa2NzN0NlcnRCdWZmZXJYZHIuaW5jIHwgICAg MSArDQo+ICAuLi5hY2VHdWlkLlBjZEZtcERldmljZVBrY3M3Q2VydEJ1ZmZlclhkci5pbmMgfCAg ICAxICsNCj4gIC4uLmFjZUd1aWQuUGNkRm1wRGV2aWNlUGtjczdDZXJ0QnVmZmVyWGRyLmluYyB8 ICAgIDEgKw0KPiAgLi4uL0dlbmVyYXRlQ2Fwc3VsZS90ZW1wbGF0ZS5tZXRhaW5mby54bWwgICAg IHwgICAyNyArDQo+ICAuLi4vTGlicmFyeS9GbXBEZXZpY2VMaWIvRm1wRGV2aWNlTGliLmMgICAg ICAgfCAgNTg5ICsrKw0KPiAgLi4uL0xpYnJhcnkvRm1wRGV2aWNlTGliL0ZtcERldmljZUxpYi5p bmYgICAgIHwgICA0NiArDQo+ICAuLi4vTGlicmFyeS9GbXBEZXZpY2VMaWJTYW1wbGUvRm1wRGV2 aWNlTGliLmMgfCAgNDEyICsrDQo+ICAuLi4vRm1wRGV2aWNlTGliU2FtcGxlL0ZtcERldmljZUxp Yi5pbmYgICAgICAgfCAgIDM0ICsNCj4gIC4uLi9QbGF0Zm9ybUZsYXNoQWNjZXNzTGliLmMgICAg ICAgICAgICAgICAgICB8ICA2ODUgKysrDQo+ICAuLi4vUGxhdGZvcm1GbGFzaEFjY2Vzc0xpYi5p bmYgICAgICAgICAgICAgICAgfCAgIDU0ICsNCj4gIC4uLi9TeXN0ZW1GaXJtd2FyZURlc2NyaXB0 b3IuYXNsYyAgICAgICAgICAgICB8ICAgODMgKw0KPiAgLi4uL1N5c3RlbUZpcm13YXJlRGVzY3Jp cHRvci5pbmYgICAgICAgICAgICAgIHwgICA0MCArDQo+ICAuLi4vU3lzdGVtRmlybXdhcmVEZXNj cmlwdG9yUGVpLmMgICAgICAgICAgICAgfCAgIDYwICsNCj4gIC4uLi9TeXN0ZW1GaXJtd2FyZVVw ZGF0ZUNvbmZpZy5pbmkgICAgICAgICAgICB8ICAgNjYgKw0KPiAgLi4uL1N5c3RlbUZpcm13YXJl VXBkYXRlQ29uZmlnR2NjLmluaSAgICAgICAgIHwgICA2NiArDQo+ICAuLi4vVmx2MlRibHREZXZp Y2VQa2cvRm1wQmx1ZVNhbXBsZURldmljZS5kc2MgfCAgIDU1ICsNCj4gIC4uLi9WbHYyVGJsdERl dmljZVBrZy9GbXBDZXJ0aWZpY2F0ZS5kc2MgICAgICB8ICAgMjIgKw0KPiAgLi4uL0ZtcEdyZWVu U2FtcGxlRGV2aWNlLmRzYyAgICAgICAgICAgICAgICAgIHwgICA1NSArDQo+ICAuLi4vVmx2MlRi bHREZXZpY2VQa2cvRm1wTWlubm93TWF4U3lzdGVtLmRzYyAgfCAgIDU5ICsNCj4gIC4uLi9WbHYy VGJsdERldmljZVBrZy9GbXBSZWRTYW1wbGVEZXZpY2UuZHNjICB8ICAgNTUgKw0KPiAgLi4uL0Zz cEF6YWxpYUNvbmZpZ0RhdGEvQXphbGlhQ29uZmlnLmJpbiAgICAgIHwgIEJpbiAwIC0+IDM3MDgg Ynl0ZXMNCj4gIC4uLi9Gc3BTdXBwb3J0L0Jvb3RNb2RlUGVpL0Jvb3RNb2RlUGVpLmMgICAgICB8 ICAgNDIgKw0KPiAgLi4uL0ZzcFN1cHBvcnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQZWkuaW5mICAg IHwgICA0MCArDQo+ICAuLi4vRnNwSG9iUHJvY2Vzc0xpYlZsdjIuYyAgICAgICAgICAgICAgICAg ICAgfCAgNDIxICsrDQo+ICAuLi4vRnNwSG9iUHJvY2Vzc0xpYlZsdjIuaW5mICAgICAgICAgICAg ICAgICAgfCAgIDc0ICsNCj4gIC4uLi9Gc3BQbGF0Zm9ybVNlY0xpYlZsdjIuYyAgICAgICAgICAg ICAgICAgICB8ICAxNDQgKw0KPiAgLi4uL0ZzcFBsYXRmb3JtU2VjTGliVmx2Mi5pbmYgICAgICAg ICAgICAgICAgIHwgICA4MiArDQo+ICAuLi4vSWEzMi9Bc21TYXZlU2VjQ29udGV4dC5hc20gICAg ICAgICAgICAgICAgfCAgIDQ1ICsNCj4gIC4uLi9TZWNGc3BQbGF0Zm9ybVNlY0xpYlZsdjIvSWEz Mi9Gc3AuaW5jICAgICB8ICAgNDUgKw0KPiAgLi4uL0lhMzIvUGVpQ29yZUVudHJ5LmFzbSAgICAg ICAgICAgICAgICAgICAgIHwgIDEzNSArDQo+ICAuLi4vSWEzMi9TZWNFbnRyeS5hc20gICAgICAg ICAgICAgICAgICAgICAgICAgfCAgMzM4ICsrDQo+ICAuLi4vU2VjRnNwUGxhdGZvcm1TZWNMaWJW bHYyL0lhMzIvU3RhY2suUyAgICAgfCAgIDcxICsNCj4gIC4uLi9TZWNGc3BQbGF0Zm9ybVNlY0xp YlZsdjIvSWEzMi9TdGFjay5hc20gICB8ICAgNzYgKw0KPiAgLi4uL1NlY0ZzcFBsYXRmb3JtU2Vj TGliVmx2Mi9QbGF0Zm9ybUluaXQuYyAgIHwgICAzNiArDQo+ICAuLi4vU2VjRnNwUGxhdGZvcm1T ZWNMaWJWbHYyL1NhdmVTZWNDb250ZXh0LmMgfCAgMTA4ICsNCj4gIC4uLi9TZWNHZXRQZXJmb3Jt YW5jZS5jICAgICAgICAgICAgICAgICAgICAgICB8ICAgODMgKw0KPiAgLi4uL1NlY1BsYXRmb3Jt SW5mb3JtYXRpb24uYyAgICAgICAgICAgICAgICAgIHwgICA3NyArDQo+ICAuLi4vU2VjRnNwUGxh dGZvcm1TZWNMaWJWbHYyL1NlY1JhbUluaXREYXRhLmMgfCAgIDE2ICsNCj4gIC4uLi9TZWNUZW1w UmFtU3VwcG9ydC5jICAgICAgICAgICAgICAgICAgICAgICB8ICAxNDkgKw0KPiAgLi4uL1NlY0Zz cFBsYXRmb3JtU2VjTGliVmx2Mi9VYXJ0SW5pdC5jICAgICAgIHwgIDE5MiArDQo+ICAuLi4vVmx2 MlRibHREZXZpY2VQa2cvRnZJbmZvUGVpL0Z2SW5mb1BlaS5jICAgfCAgIDY4ICsNCj4gIC4uLi9W bHYyVGJsdERldmljZVBrZy9GdkluZm9QZWkvRnZJbmZvUGVpLmluZiB8ICAgNDkgKw0KPiAgLi4u L1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUvRnZiSW5mby5jIHwgIDE3MCArDQo+ICAu Li4vRnZiUnVudGltZUR4ZS9GdmJSdW50aW1lRHhlLmluZiAgICAgICAgICAgfCAgIDgwICsNCj4g IC4uLi9GdmJSdW50aW1lRHhlL0Z2YlNlcnZpY2UuYyAgICAgICAgICAgICAgICB8IDEwOTggKysr Kw0KPiAgLi4uL0Z2YlJ1bnRpbWVEeGUvRnZiU2VydmljZS5oICAgICAgICAgICAgICAgIHwgIDE4 MiArDQo+ICAuLi4vRnZiUnVudGltZUR4ZS9GdmJTZXJ2aWNlRHhlLmMgICAgICAgICAgICAgfCAg MTk5ICsNCj4gIC4uLi9GdmJSdW50aW1lRHhlL0Z2YlNlcnZpY2VTbW0uYyAgICAgICAgICAgICB8 ICAxMjcgKw0KPiAgLi4uL0Z2YlJ1bnRpbWVEeGUvRnZiU21tLmluZiAgICAgICAgICAgICAgICAg IHwgICA4MiArDQo+ICAuLi4vRnZiUnVudGltZUR4ZS9GdmJTbW1Db21tb24uaCAgICAgICAgICAg ICAgfCAgIDczICsNCj4gIC4uLi9GdmJSdW50aW1lRHhlL0Z2YlNtbUR4ZS5jICAgICAgICAgICAg ICAgICB8ICA5NDQgKysrKw0KPiAgLi4uL0Z2YlJ1bnRpbWVEeGUvRnZiU21tRHhlLmggICAgICAg ICAgICAgICAgIHwgIDIzMiArDQo+ICAuLi4vRnZiUnVudGltZUR4ZS9GdmJTbW1EeGUuaW5mICAg ICAgICAgICAgICAgfCAgIDUwICsNCj4gIFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0dlbkJpb3NJZCAgICB8ICBCaW4gMCAtPiAxMjIzNiBieXRlcw0KPiAgLi4uL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0dlbkJpb3NJZC5leGUgICAgIHwgIEJpbiAwIC0+IDM4NDAwMCBieXRlcw0K PiAgLi4uL0luY2x1ZGUvQWxlcnRTdGFuZGFyZEZvcm1hdFRhYmxlLmggICAgICAgIHwgIDEyMiAr DQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9DaGlwc2V0QWNjZXNzLmggfCAgIDI4 ICsNCj4gIC4uLi9JbmNsdWRlL0NvbW1vbkluY2x1ZGVzLmggICAgICAgICAgICAgICAgICB8ICAx MTUgKw0KPiAgLi4uL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvQ3B1VHlwZS5oIHwg ICA1OSArDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9GaWxlSGFuZGxlTGliLmgg fCAgNDk5ICsrDQo+ICAuLi4vSW5jbHVkZS9HdWlkL0FjcGlUYWJsZVN0b3JhZ2UuaCAgICAgICAg ICAgfCAgIDMwICsNCj4gIC4uLi9JbmNsdWRlL0d1aWQvQWxlcnRTdGFuZGFyZEZvcm1hdC5oICAg ICAgICB8ICAgODYgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9CaW9z SWQuaCAgIHwgICAzMCArDQo+ICAuLi4vSW5jbHVkZS9HdWlkL0JvYXJkRmVhdHVyZXMuaCAgICAg ICAgICAgICAgfCAgMjE0ICsNCj4gIC4uLi9JbmNsdWRlL0d1aWQvRWZpVnBkRGF0YS5oICAgICAg ICAgICAgICAgICB8ICAxNTYgKw0KPiAgLi4uL0luY2x1ZGUvR3VpZC9GaXJtd2FyZUlkLmggICAg ICAgICAgICAgICAgIHwgICA2MSArDQo+ICAuLi4vSW5jbHVkZS9HdWlkL0h3V2F0Y2hkb2dUaW1l ckhvYi5oICAgICAgICAgfCAgMTM0ICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRl L0d1aWQvSWRjY0RhdGEuaCB8ICAxMDQgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvR3VpZC9JdGtEYXRhLmggIHwgICA3MCArDQo+ICAuLi4vSW5jbHVkZS9HdWlkL01lbW9yeUNv bmZpZ0RhdGEuaCAgICAgICAgICAgfCAgIDMyICsNCj4gIC4uLi9JbmNsdWRlL0d1aWQvT3NTZWxl Y3Rpb24uaCAgICAgICAgICAgICAgICB8ICAgODUgKw0KPiAgLi4uL0luY2x1ZGUvR3VpZC9QY2lM YW5JbmZvLmggICAgICAgICAgICAgICAgIHwgICAzOSArDQo+ICAuLi4vSW5jbHVkZS9HdWlkL1Bs YXRmb3JtQ3B1SW5mby5oICAgICAgICAgICAgfCAgMTgwICsNCj4gIC4uLi9JbmNsdWRlL0d1aWQv UGxhdGZvcm1JbmZvLmggICAgICAgICAgICAgICB8ICA0MzMgKysNCj4gIC4uLi9JbmNsdWRlL0d1 aWQvU2Vuc29ySW5mb1ZhcmlhYmxlLmggICAgICAgICB8ICAyNzkgKw0KPiAgLi4uL0luY2x1ZGUv R3VpZC9TZXR1cFZhcmlhYmxlLmggICAgICAgICAgICAgIHwgMTM0NCArKysrKw0KPiAgLi4uL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvSHBldC5oICAgIHwgICA0MCArDQo+ICAuLi4v SW5jbHVkZS9MaWJyYXJ5L0Jpb3NJZExpYi5oICAgICAgICAgICAgICAgfCAgMTA0ICsNCj4gIC4u Li9JbmNsdWRlL0xpYnJhcnkvQ3B1SUEzMi5oICAgICAgICAgICAgICAgICB8ICAzNDUgKysNCj4g IC4uLi9JbmNsdWRlL0xpYnJhcnkvRWZpUmVnVGFibGVMaWIuaCAgICAgICAgICB8ICAxOTYgKw0K PiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9Fc3J0LmggIHwgICA3NCAr DQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0ZkLmggICAgfCAgMjY0 ICsNCj4gIC4uLi9JbmNsdWRlL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIuaCAgICAgICAgICB8ICAx MjIgKw0KPiAgLi4uL0luY2x1ZGUvTGlicmFyeS9JMkNMaWIuaCAgICAgICAgICAgICAgICAgIHwg ICA1OCArDQo+ICAuLi4vSW5jbHVkZS9MaWJyYXJ5L0kyY01taW9Db25maWdMaWIuaCAgICAgICAg fCAgIDIzICsNCj4gIC4uLi9JbmNsdWRlL0xpYnJhcnkvSTJjUG9ydF9wbGF0Zm9ybS5oICAgICAg ICB8ICAgMjYgKw0KPiAgLi4uL0luY2x1ZGUvTGlicmFyeS9QbGF0Zm9ybUZzYUxpYi5oICAgICAg ICAgIHwgICA1MCArDQo+ICAuLi4vSW5jbHVkZS9MaWJyYXJ5L1BsYXRmb3JtRnNwTGliLmggICAg ICAgICAgfCAgIDIzICsNCj4gIC4uLi9JbmNsdWRlL0xpYnJhcnkvU3BpRmxhc2guSCAgICAgICAg ICAgICAgICB8ICAyMzkgKw0KPiAgLi4uL0luY2x1ZGUvTGlicmFyeS9TdGFsbFNtbUxpYi5oICAg ICAgICAgICAgIHwgICA0MCArDQo+ICAuLi4vSW5jbHVkZS9MaWJyYXJ5L1VzYkRldmljZU1vZGVM aWIuaCAgICAgICAgfCAgMTgxICsNCj4gIC4uLi9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL01jZmcuaCAgICB8ICAgNjkgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUv TWNmZ1RhYmxlLmggICAgIHwgICA2NSArDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvSW5jbHVk ZS9QbGF0Zm9ybS5oICAgICAgfCAgMTMzICsNCj4gIC4uLi9JbmNsdWRlL1BsYXRmb3JtQm9vdE1v ZGUuaCAgICAgICAgICAgICAgICB8ICAgMzUgKw0KPiAgLi4uL0luY2x1ZGUvUGxhdGZvcm1EZWZp bml0aW9ucy5oICAgICAgICAgICAgIHwgICA0MyArDQo+ICAuLi4vSW5jbHVkZS9QcGkvTWZnTWVt b3J5VGVzdC5oICAgICAgICAgICAgICAgfCAgIDQyICsNCj4gIC4uLi9JbmNsdWRlL1BwaS9TaGEy NTZIYXNoLmggICAgICAgICAgICAgICAgICB8ICAxMzEgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvUHBpL1NwZWFrZXIuaCAgIHwgICA2NSArDQo+ICAuLi4vSW5jbHVkZS9QcGkv VXNiQ29udHJvbGxlci5oICAgICAgICAgICAgICAgfCAgIDg1ICsNCj4gIC4uLi9JbmNsdWRlL1By b3RvY29sL0NLNTA1Q2xvY2tQbGF0Zm9ybUluZm8uaCB8ICAxMjYgKw0KPiAgLi4uL0luY2x1ZGUv UHJvdG9jb2wvRW5oYW5jZWRTcGVlZHN0ZXAuaCAgICAgIHwgICA3NiArDQo+ICAuLi4vSW5jbHVk ZS9Qcm90b2NvbC9HbG9iYWxOdnNBcmVhLmggICAgICAgICAgfCAgNDc1ICsrDQo+ICAuLi4vSW5j bHVkZS9Qcm90b2NvbC9Id1dhdGNoZG9nVGltZXIuaCAgICAgICAgfCAgMjM1ICsNCj4gIC4uLi9J bmNsdWRlL1Byb3RvY29sL0kyY0FjcGkuaCAgICAgICAgICAgICAgICB8ICAxMDcgKw0KPiAgLi4u L0luY2x1ZGUvUHJvdG9jb2wvSTJjQnVzLmggICAgICAgICAgICAgICAgIHwgIDE2NCArDQo+ICAu Li4vSW5jbHVkZS9Qcm90b2NvbC9JMmNCdXNNY2cuaCAgICAgICAgICAgICAgfCAgMTYzICsNCj4g IC4uLi9JbmNsdWRlL1Byb3RvY29sL0kyY0hvc3RNY2cuaCAgICAgICAgICAgICB8ICAxMzggKw0K PiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvSTJjTWFzdGVyTWNnLmggICAgICAgICAgIHwgIDUxOSAr Kw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvSTJjU2xhdmUuaCAgICAgICAgICAgICAgIHwgIDE5 NCArDQo+ICAuLi4vSW5jbHVkZS9Qcm90b2NvbC9McGNXcGM4MzYyN1BvbGljeS5oICAgICAgfCAg IDkyICsNCj4gIC4uLi9JbmNsdWRlL1Byb3RvY29sL0xwY1dwY2U3OTFQb2xpY3kuaCAgICAgICB8 ICAgNTUgKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvTW1pb0RldmljZS5oICAgICAgICAgICAg IHwgICA4NCArDQo+ICAuLi4vSW5jbHVkZS9Qcm90b2NvbC9PYnNlcnZhYmxlLmggICAgICAgICAg ICAgfCAgMTg2ICsNCj4gIC4uLi9JbmNsdWRlL1Byb3RvY29sL1BsYXRmb3JtR29wUG9saWN5Lmgg ICAgICB8ICAgNjggKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvUGxhdGZvcm1JZGVJbml0Lmgg ICAgICAgIHwgICA0MyArDQo+ICAuLi4vSW5jbHVkZS9Qcm90b2NvbC9TZXR1cE1vZGUuaCAgICAg ICAgICAgICAgfCAgIDc5ICsNCj4gIC4uLi9JbmNsdWRlL1Byb3RvY29sL1NtYmlvc1Nsb3RQb3B1 bGF0aW9uLmggICB8ICAgNDcgKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvU3BlYWtlci5oICAg ICAgICAgICAgICAgIHwgICA2NSArDQo+ICAuLi4vSW5jbHVkZS9Qcm90b2NvbC9UY29SZXNldC5o ICAgICAgICAgICAgICAgfCAgIDY3ICsNCj4gIC4uLi9JbmNsdWRlL1Byb3RvY29sL1RwbU1wLmgg ICAgICAgICAgICAgICAgICB8ICAxMzYgKw0KPiAgLi4uL0luY2x1ZGUvUHJvdG9jb2wvVXNiUG9s aWN5LmggICAgICAgICAgICAgIHwgIDEyNiArDQo+ICAuLi4vSW5jbHVkZS9Qcm90b2NvbC9WbHZQ bGF0Zm9ybVBvbGljeS5oICAgICAgfCAgMTAyICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9J bmNsdWRlL1NldHVwTW9kZS5oICAgICB8ICAgODUgKw0KPiAgLi4uL0ludGVsR29wRGVwZXgvSW50 ZWxHb3BEcml2ZXIuZGVwZXggICAgICAgIHwgICAgMSArDQo+ICAuLi4vTGlicmFyeS9CaW9zSWRM aWIvQmlvc0lkTGliLmMgICAgICAgICAgICAgfCAgMzM3ICsrDQo+ICAuLi4vTGlicmFyeS9CaW9z SWRMaWIvQmlvc0lkTGliLmluZiAgICAgICAgICAgfCAgIDUwICsNCj4gIC4uLi9MaWJyYXJ5L0Nw dUlBMzJMaWIvQ3B1SUEzMkxpYi5pbmYgICAgICAgICB8ICAgNDEgKw0KPiAgLi4uL0xpYnJhcnkv Q3B1SUEzMkxpYi9FZmlDcHVWZXJzaW9uLmMgICAgICAgIHwgICA3MCArDQo+ICAuLi4vTGlicmFy eS9DcHVJQTMyTGliL0lBMzIvQ3B1SUEzMi5TICAgICAgICAgfCAgMjIzICsNCj4gIC4uLi9MaWJy YXJ5L0NwdUlBMzJMaWIvSUEzMi9DcHVJQTMyLmFzbSAgICAgICB8ICAyMDYgKw0KPiAgLi4uL0xp YnJhcnkvQ3B1SUEzMkxpYi9JQTMyL0NwdUlBMzIuYyAgICAgICAgIHwgIDE3NyArDQo+ICAuLi4v TGlicmFyeS9DcHVJQTMyTGliL1g2NC9DcHUuUyAgICAgICAgICAgICAgfCAgMjA3ICsNCj4gIC4u Li9MaWJyYXJ5L0NwdUlBMzJMaWIvWDY0L0NwdS5hc20gICAgICAgICAgICB8ICAyMjIgKw0KPiAg Li4uL0xpYnJhcnkvRWZpUmVnVGFibGVMaWIvRWZpUmVnVGFibGVMaWIuYyAgIHwgIDI4MiArKw0K PiAgLi4uL0xpYnJhcnkvRWZpUmVnVGFibGVMaWIvRWZpUmVnVGFibGVMaWIuaW5mIHwgICA0NyAr DQo+ICAuLi4vTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFzaERldmljZUxpYi5jICAgfCAgNDYx ICsrDQo+ICAuLi4vTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFzaERldmljZUxpYi5pbmYgfCAg IDQ0ICsNCj4gIC4uLi9GbGFzaERldmljZUxpYi9GbGFzaERldmljZUxpYkR4ZS5jICAgICAgICB8 ICAgNTYgKw0KPiAgLi4uL0ZsYXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNlTGliRHhlLmluZiAgICAg IHwgICA0MyArDQo+ICAuLi4vRmxhc2hEZXZpY2VMaWJEeGVSdW50aW1lU21tLmMgICAgICAgICAg ICAgfCAgMTczICsNCj4gIC4uLi9GbGFzaERldmljZUxpYi9TcGlDaGlwRGVmaW5pdGlvbnMuaCAg ICAgICB8ICA4MzUgKysrDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWIv STJDTGliLmMgfCAgIDQ2ICsNCj4gIC4uLi9MaWJyYXJ5L0kyQ0xpYi9JMkNMaWJOdWxsLmluZiAg ICAgICAgICAgICB8ICAgMzkgKw0KPiAgLi4uL0xpYnJhcnkvSTJDTGliRHhlL0kyQ0xpYi5jICAg ICAgICAgICAgICAgIHwgIDczNSArKysNCj4gIC4uLi9MaWJyYXJ5L0kyQ0xpYkR4ZS9JMkNMaWJE eGUuaW5mICAgICAgICAgICB8ICAgMzkgKw0KPiAgLi4uL0xpYnJhcnkvSTJDTGliRHhlL0kyQ1Jl Z3MuaCAgICAgICAgICAgICAgIHwgIDEyNiArDQo+ICAuLi4vTGlicmFyeS9JMkNMaWJQZWkvSTJD QWNjZXNzLmggICAgICAgICAgICAgfCAgIDQ0ICsNCj4gIC4uLi9MaWJyYXJ5L0kyQ0xpYlBlaS9J MkNEZWxheVBlaS5jICAgICAgICAgICB8ICAgNDYgKw0KPiAgLi4uL0xpYnJhcnkvSTJDTGliUGVp L0kyQ0RlbGF5UGVpLmggICAgICAgICAgIHwgICAzMCArDQo+ICAuLi4vTGlicmFyeS9JMkNMaWJQ ZWkvSTJDSW9MaWJQZWkuYyAgICAgICAgICAgfCAgMTc4ICsNCj4gIC4uLi9MaWJyYXJ5L0kyQ0xp YlBlaS9JMkNJb0xpYlBlaS5oICAgICAgICAgICB8ICAxNTMgKw0KPiAgLi4uL0xpYnJhcnkvSTJD TGliUGVpL0kyQ0xpYlBlaS5jICAgICAgICAgICAgIHwgIDYzOCArKysNCj4gIC4uLi9MaWJyYXJ5 L0kyQ0xpYlBlaS9JMkNMaWJQZWkuaCAgICAgICAgICAgICB8ICAyODAgKw0KPiAgLi4uL0xpYnJh cnkvSTJDTGliUGVpL0kyQ0xpYlBlaS5pbmYgICAgICAgICAgIHwgICA0MCArDQo+ICAuLi4vSW50 ZWxQY2hBY3BpVGltZXJMaWIvQ29tbW9uSGVhZGVyLmggICAgICAgfCAgIDI3ICsNCj4gIC4uLi9J bnRlbFBjaEFjcGlUaW1lckxpYi5jICAgICAgICAgICAgICAgICAgICB8ICAyNTUgKw0KPiAgLi4u L0ludGVsUGNoQWNwaVRpbWVyTGliLmluZiAgICAgICAgICAgICAgICAgIHwgICA1MSArDQo+ICAu Li4vQm9hcmRDbGtHZW5zL0JvYXJkQ2xrR2Vucy5jICAgICAgICAgICAgICAgfCAgNDMwICsrDQo+ ICAuLi4vQm9hcmRDbGtHZW5zL0JvYXJkQ2xrR2Vucy5oICAgICAgICAgICAgICAgfCAgMjU1ICsN Cj4gIC4uLi9NdWx0aVBsYXRmb3JtTGliL0JvYXJkR3Bpb3MvQm9hcmRHcGlvcy5jICB8ICA1MzEg KysNCj4gIC4uLi9NdWx0aVBsYXRmb3JtTGliL0JvYXJkR3Bpb3MvQm9hcmRHcGlvcy5oICB8ICAz MjQgKysNCj4gIC4uLi9Cb2FyZEp1bXBlcnMvQm9hcmRKdW1wZXJzLmMgICAgICAgICAgICAgICB8 ICAgMzAgKw0KPiAgLi4uL0JvYXJkSnVtcGVycy9Cb2FyZEp1bXBlcnMuaCAgICAgICAgICAgICAg IHwgICAzMCArDQo+ICAuLi4vQm9hcmRPZW1JZHMvQm9hcmRPZW1JZHMuYyAgICAgICAgICAgICAg ICAgfCAgIDQzICsNCj4gIC4uLi9Cb2FyZE9lbUlkcy9Cb2FyZE9lbUlkcy5oICAgICAgICAgICAg ICAgICB8ICAgMjkgKw0KPiAgLi4uL0JvYXJkU3NpZFN2aWQvQm9hcmRTc2lkU3ZpZC5jICAgICAg ICAgICAgIHwgICAzOCArDQo+ICAuLi4vQm9hcmRTc2lkU3ZpZC9Cb2FyZFNzaWRTdmlkLmggICAg ICAgICAgICAgfCAgIDM1ICsNCj4gIC4uLi9NdWx0aVBsYXRmb3JtTGliL011bHRpUGxhdGZvcm1M aWIuYyAgICAgICB8ICAxMjAgKw0KPiAgLi4uL011bHRpUGxhdGZvcm1MaWIvTXVsdGlQbGF0Zm9y bUxpYi5oICAgICAgIHwgICA4OSArDQo+ICAuLi4vTXVsdGlQbGF0Zm9ybUxpYi9NdWx0aVBsYXRm b3JtTGliLmluZiAgICAgfCAgIDc3ICsNCj4gIC4uLi9NdWx0aVBsYXRmb3JtTGliL1BsYXRmb3Jt SW5mb0hvYi5jICAgICAgICB8ICAgNTQgKw0KPiAgLi4uL0xpYnJhcnkvUGNoUGxhdGZvcm1MaWIv UGNoUGxhdGZvcm1MaWIuaW5mIHwgICA1MCArDQo+ICAuLi4vUGNoUGxhdGZvcm1MaWIvUGNoUGxh dGZvcm1MaWJyYXJ5LmMgICAgICAgfCAgMTMxICsNCj4gIC4uLi9QY2hQbGF0Zm9ybUxpYi9QY2hQ bGF0Zm9ybUxpYnJhcnkuaCAgICAgICB8ICAgMzUgKw0KPiAgLi4uL0xpYnJhcnkvUGNoU21tTGli L0NvbW1vbkhlYWRlci5oICAgICAgICAgIHwgICAzMiArDQo+ICAuLi4vTGlicmFyeS9QY2hTbW1M aWIvUGNoU21tTGliLmMgICAgICAgICAgICAgfCAgMTU3ICsNCj4gIC4uLi9MaWJyYXJ5L1BjaFNt bUxpYi9QY2hTbW1MaWIuaW5mICAgICAgICAgICB8ICAgNDYgKw0KPiAgLi4uL0xpYnJhcnkvUGxh dGZvcm1CZHNMaWIvQmRzUGxhdGZvcm0uYyAgICAgIHwgMzA5OCArKysrKysrKysrKysNCj4gIC4u Li9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL0Jkc1BsYXRmb3JtLmggICAgICB8ICA1MTYgKysNCj4g IC4uLi9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL1BsYXRmb3JtQmRzTGliLmluZiB8ICAxMjcgKw0K PiAgLi4uL1BsYXRmb3JtQmRzTGliL1BsYXRmb3JtQmRzU3RyaW5ncy51bmkgICAgIHwgICAzMCAr DQo+ICAuLi4vTGlicmFyeS9QbGF0Zm9ybUJkc0xpYi9QbGF0Zm9ybURhdGEuYyAgICAgfCAgMzA2 ICsrDQo+ICAuLi4vTGlicmFyeS9QbGF0Zm9ybUNtb3NMaWIvUGxhdGZvcm1DbW9zTGliLmMgfCAg MTA2ICsNCj4gIC4uLi9QbGF0Zm9ybUNtb3NMaWIvUGxhdGZvcm1DbW9zTGliLmluZiAgICAgICB8 ICAgMzAgKw0KPiAgLi4uL0xpYnJhcnkvUGxhdGZvcm1Gc3BMaWIvUGxhdGZvcm1Gc3BMaWIuYyAg IHwgICA0NCArDQo+ICAuLi4vTGlicmFyeS9QbGF0Zm9ybUZzcExpYi9QbGF0Zm9ybUZzcExpYi5p bmYgfCAgIDQ5ICsNCj4gIC4uLi9MaWJyYXJ5L1Jlc2V0U3lzdGVtTGliL1Jlc2V0U3lzdGVtTGli LmMgICB8ICAyMzUgKw0KPiAgLi4uL0xpYnJhcnkvUmVzZXRTeXN0ZW1MaWIvUmVzZXRTeXN0ZW1M aWIuaW5mIHwgICA0NyArDQo+ICAuLi4vU2VyaWFsUG9ydExpYi9QbGF0Zm9ybVNlcmlhbFBvcnRM aWIuaCAgICAgfCAgIDUzICsNCj4gIC4uLi9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9y dExpYi5jICAgICB8ICAyNDYgKw0KPiAgLi4uL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9TZXJpYWxQ b3J0TGliLmluZiAgIHwgICA1MiArDQo+ICAuLi4vTGlicmFyeS9TZXJpYWxQb3J0TGliL1Npb0lu aXQuYyAgICAgICAgICAgfCAgMTI3ICsNCj4gIC4uLi9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2lv SW5pdC5oICAgICAgICAgICB8ICAgNjIgKw0KPiAgLi4uL0xpYnJhcnkvU21idXNMaWIvQ29tbW9u SGVhZGVyLmggICAgICAgICAgIHwgICAyNiArDQo+ICAuLi4vTGlicmFyeS9TbWJ1c0xpYi9TbWJ1 c0xpYi5jICAgICAgICAgICAgICAgfCAgODczICsrKysNCj4gIC4uLi9MaWJyYXJ5L1NtYnVzTGli L1NtYnVzTGliLmluZiAgICAgICAgICAgICB8ICAgNDYgKw0KPiAgLi4uL0xpYnJhcnkvU3RhbGxT bW1MaWIvU3RhbGxTbW0uYyAgICAgICAgICAgIHwgICA4OSArDQo+ICAuLi4vTGlicmFyeS9TdGFs bFNtbUxpYi9TdGFsbFNtbUxpYi5pbmYgICAgICAgfCAgIDUxICsNCj4gIC4uLi9UcG0yRGV2aWNl TGliU2VDRHhlL1RwbTJEZXZpY2VMaWJTZUMuYyAgICB8ICAxMTcgKw0KPiAgLi4uL1RwbTJEZXZp Y2VMaWJTZUNEeGUvVHBtMkRldmljZUxpYlNlQy5pbmYgIHwgICA2MSArDQo+ICAuLi4vVHBtMkRl dmljZUxpYlNlQ1BlaS9UcG0yRGV2aWNlTGliU2VDLmMgICAgfCAgMTQ1ICsNCj4gIC4uLi9UcG0y RGV2aWNlTGliU2VDUGVpL1RwbTJEZXZpY2VMaWJTZUMuaW5mICB8ICAgNjAgKw0KPiAgLi4uL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xvZ28vTG9nby5ibXAgICAgIHwgIEJpbiAwIC0+IDk0NDM0 IGJ5dGVzDQo+ICAuLi4vTWV0cm9ub21lL0xlZ2FjeU1ldHJvbm9tZS5jICAgICAgICAgICAgICAg fCAgMTg1ICsNCj4gIC4uLi9NZXRyb25vbWUvTGVnYWN5TWV0cm9ub21lLmggICAgICAgICAgICAg ICB8ICAgNjQgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL01ldHJvbm9tZS9NZXRyb25vbWUu aW5mIHwgICA0OSArDQo+ICAuLi4vTW9ub1N0YXR1c0NvZGUvRWZpU3RhdHVzQ29kZS5oICAgICAg ICAgICAgfCAgMTc4ICsNCj4gIC4uLi9Nb25vU3RhdHVzQ29kZS9Nb25vU3RhdHVzQ29kZS5jICAg ICAgICAgICB8ICAxMzIgKw0KPiAgLi4uL01vbm9TdGF0dXNDb2RlL01vbm9TdGF0dXNDb2RlLmgg ICAgICAgICAgIHwgIDEyOCArDQo+ICAuLi4vTW9ub1N0YXR1c0NvZGUvTW9ub1N0YXR1c0NvZGUu aW5mICAgICAgICAgfCAgIDcyICsNCj4gIC4uLi9Nb25vU3RhdHVzQ29kZS9QZWlQb3N0Q29kZS5j ICAgICAgICAgICAgICB8ICAxMjEgKw0KPiAgLi4uL01vbm9TdGF0dXNDb2RlL1BsYXRmb3JtU3Rh dHVzQ29kZS5jICAgICAgIHwgIDM4MSArKw0KPiAgLi4uL01vbm9TdGF0dXNDb2RlL1BsYXRmb3Jt U3RhdHVzQ29kZS5oICAgICAgIHwgIDEzOCArDQo+ICAuLi4vTGlicmFyeS9HZW5lcmljQmRzTGli L0Jkc0Jvb3QuYyAgICAgICAgICAgfCA0NDkwICsrKysrKysrKysrKysrKysrDQo+ICAuLi4vTGli cmFyeS9HZW5lcmljQmRzTGliL0Jkc0Nvbm5lY3QuYyAgICAgICAgfCAgNDI5ICsrDQo+ICAuLi4v TGlicmFyeS9HZW5lcmljQmRzTGliL0Jkc0NvbnNvbGUuYyAgICAgICAgfCAxMDYxICsrKysNCj4g IC4uLi9MaWJyYXJ5L0dlbmVyaWNCZHNMaWIvQmRzTWlzYy5jICAgICAgICAgICB8IDE1NzUgKysr KysrDQo+ICAuLi4vTGlicmFyeS9HZW5lcmljQmRzTGliL0RldmljZVBhdGguYyAgICAgICAgfCAg IDI3ICsNCj4gIC4uLi9MaWJyYXJ5L0dlbmVyaWNCZHNMaWIvR2VuZXJpY0Jkc0xpYi5pbmYgICB8 ICAxNDIgKw0KPiAgLi4uL0xpYnJhcnkvR2VuZXJpY0Jkc0xpYi9HZW5lcmljQmRzTGliLnVuaSAg IHwgICAxOSArDQo+ICAuLi4vR2VuZXJpY0Jkc0xpYi9HZW5lcmljQmRzU3RyaW5ncy51bmkgICAg ICAgfCAgIDMwICsNCj4gIC4uLi9MaWJyYXJ5L0dlbmVyaWNCZHNMaWIvSW50ZXJuYWxCZHNMaWIu aCAgICB8ICAxNzMgKw0KPiAgLi4uL0xpYnJhcnkvR2VuZXJpY0Jkc0xpYi9TdHJpbmcuYyAgICAg ICAgICAgIHwgICAyNiArDQo+ICAuLi4vTGlicmFyeS9HZW5lcmljQmRzTGliL1N0cmluZy5oICAg ICAgICAgICAgfCAgIDQyICsNCj4gIC4uLi9QY2lQbGF0Zm9ybS9Cb2FyZFBjaVBsYXRmb3JtLmMg ICAgICAgICAgICB8ICAgNTUgKw0KPiAgLi4uL1BjaVBsYXRmb3JtL1BjaVBsYXRmb3JtLmMgICAg ICAgICAgICAgICAgIHwgIDM2NyArKw0KPiAgLi4uL1BjaVBsYXRmb3JtL1BjaVBsYXRmb3JtLmgg ICAgICAgICAgICAgICAgIHwgICA4MyArDQo+ICAuLi4vUGNpUGxhdGZvcm0vUGNpUGxhdGZvcm0u aW5mICAgICAgICAgICAgICAgfCAgIDY1ICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9QbGF0 Zm9ybUNhcHN1bGUuZHNjICAgICB8ICAgMzkgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL1Bs YXRmb3JtQ2Fwc3VsZS5mZGYgICAgIHwgICA1MiArDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1DYXBzdWxlR2NjLmRzYyAgfCAgIDM4ICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBr Zy9QbGF0Zm9ybUNhcHN1bGVHY2MuZmRmICB8ICAgNTIgKw0KPiAgLi4uL1BsYXRmb3JtQ3B1SW5m b0R4ZS9QbGF0Zm9ybUNwdUluZm9EeGUuYyAgIHwgICA2MCArDQo+ICAuLi4vUGxhdGZvcm1DcHVJ bmZvRHhlL1BsYXRmb3JtQ3B1SW5mb0R4ZS5oICAgfCAgIDI5ICsNCj4gIC4uLi9QbGF0Zm9ybUNw dUluZm9EeGUvUGxhdGZvcm1DcHVJbmZvRHhlLmluZiB8ICAgNTUgKw0KPiAgLi4uL1BsYXRmb3Jt RHhlL0F6YWxpYVZlcmJUYWJsZS5oICAgICAgICAgICAgIHwgIDI0NyArDQo+ICAuLi4vVmx2MlRi bHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvQm9hcmRJZC5jICAgfCAgMjIzICsNCj4gIC4uLi9QbGF0 Zm9ybUR4ZS9Cb2FyZElkRGVjb2RlLmMgICAgICAgICAgICAgICB8ICAxMjkgKw0KPiAgLi4uL1Bs YXRmb3JtRHhlL0JvYXJkSWREZWNvZGUuaCAgICAgICAgICAgICAgIHwgICA2MSArDQo+ICAuLi4v UGxhdGZvcm1EeGUvQ2xvY2tDb250cm9sLmMgICAgICAgICAgICAgICAgfCAgMjAyICsNCj4gIC4u Li9QbGF0Zm9ybUR4ZS9Db25maWd1cmF0aW9uLmggICAgICAgICAgICAgICB8ICA2OTIgKysrDQo+ ICAuLi4vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvRXhJLmMgfCAgIDg5ICsN Cj4gIC4uLi9QbGF0Zm9ybUR4ZS9JY2hQbGF0Zm9ybVBvbGljeS5jICAgICAgICAgICB8ICA0ODQg KysNCj4gIC4uLi9QbGF0Zm9ybUR4ZS9JY2hSZWdUYWJsZS5jICAgICAgICAgICAgICAgICB8ICAx MzQgKw0KPiAgLi4uL1BsYXRmb3JtRHhlL0ljaFRjb1Jlc2V0LmMgICAgICAgICAgICAgICAgIHwg IDIxMSArDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvSWRjY0luZm8uYyAg fCAgIDcyICsNCj4gIC4uLi9QbGF0Zm9ybUR4ZS9MZWdhY3lTcGVha2VyLmMgICAgICAgICAgICAg ICB8ICAxNjEgKw0KPiAgLi4uL1BsYXRmb3JtRHhlL0xlZ2FjeVNwZWFrZXIuaCAgICAgICAgICAg ICAgIHwgICA2OSArDQo+ICAuLi4vUGxhdGZvcm1EeGUvT2JzZXJ2YWJsZS9PYnNlcnZhYmxlLmMg ICAgICAgfCAgNTgyICsrKw0KPiAgLi4uL1BsYXRmb3JtRHhlL09ic2VydmFibGUvT2JzZXJ2YWJs ZS5oICAgICAgIHwgIDEzNyArDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUv UGNpQnVzLmggICAgfCAgMzc5ICsrDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1E eGUvUGNpRGV2aWNlLmMgfCAgNTA2ICsrDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1EeGUvUGxhdGZvcm0uYyAgfCAxODIwICsrKysrKysNCj4gIC4uLi9QbGF0Zm9ybUR4ZS9QbGF0 Zm9ybUR4ZS5oICAgICAgICAgICAgICAgICB8ICA3MjIgKysrDQo+ICAuLi4vUGxhdGZvcm1EeGUv UGxhdGZvcm1EeGUuaW5mICAgICAgICAgICAgICAgfCAgMTQ5ICsNCj4gIC4uLi9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9SdGMuYyB8ICAxNTQgKw0KPiAgLi4uL1ZsdjJUYmx0 RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1NlbnNvclZhci5jIHwgIDExMiArDQo+ICAuLi4vUGxhdGZv cm1EeGUvU2lvUGxhdGZvcm1Qb2xpY3kuYyAgICAgICAgICAgfCAgIDgyICsNCj4gIC4uLi9QbGF0 Zm9ybUR4ZS9TbG90Q29uZmlnLmMgICAgICAgICAgICAgICAgICB8ICAxNDggKw0KPiAgLi4uL1Bs YXRmb3JtRHhlL1Nsb3RDb25maWcuaCAgICAgICAgICAgICAgICAgIHwgICA4MCArDQo+ICAuLi4v UGxhdGZvcm1Hb3BQb2xpY3kvUGxhdGZvcm1Hb3BQb2xpY3kuYyAgICAgfCAgMjAxICsNCj4gIC4u Li9QbGF0Zm9ybUdvcFBvbGljeS9QbGF0Zm9ybUdvcFBvbGljeS5pbmYgICB8ICAgNTEgKw0KPiAg Li4uL1BsYXRmb3JtSW5mb0R4ZS9QbGF0Zm9ybUluZm9EeGUuYyAgICAgICAgIHwgIDE2OSArDQo+ ICAuLi4vUGxhdGZvcm1JbmZvRHhlL1BsYXRmb3JtSW5mb0R4ZS5oICAgICAgICAgfCAgIDMwICsN Cj4gIC4uLi9QbGF0Zm9ybUluZm9EeGUvUGxhdGZvcm1JbmZvRHhlLmluZiAgICAgICB8ICAgNTIg Kw0KPiAgLi4uL1BsYXRmb3JtSW5pdFBlaS9Cb290TW9kZS5jICAgICAgICAgICAgICAgIHwgIDQz NCArKw0KPiAgLi4uL1BsYXRmb3JtSW5pdFBlaS9DcHVJbml0UGVpbS5jICAgICAgICAgICAgIHwg ICA0NCArDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL0RpbW0uYyAg fCAgMzE5ICsrDQo+ICAuLi4vUGxhdGZvcm1Jbml0UGVpL0ZsYXNoTWFwLmMgICAgICAgICAgICAg ICAgfCAgMTQzICsNCj4gIC4uLi9QbGF0Zm9ybUluaXRQZWkvTGVnYWN5U3BlYWtlci5jICAgICAg ICAgICB8ICAxNjggKw0KPiAgLi4uL1BsYXRmb3JtSW5pdFBlaS9MZWdhY3lTcGVha2VyLmggICAg ICAgICAgIHwgICA3MSArDQo+ICAuLi4vUGxhdGZvcm1Jbml0UGVpL01jaEluaXQuYyAgICAgICAg ICAgICAgICAgfCAgIDcyICsNCj4gIC4uLi9QbGF0Zm9ybUluaXRQZWkvTWVtb3J5Q2FsbGJhY2su YyAgICAgICAgICB8ICAzMzggKysNCj4gIC4uLi9QbGF0Zm9ybUluaXRQZWkvTWVtb3J5UGVpbS5j ICAgICAgICAgICAgICB8ICA0MDggKysNCj4gIC4uLi9QbGF0Zm9ybUluaXRQZWkvUGNoSW5pdFBl aW0uYyAgICAgICAgICAgICB8ICA4MDggKysrDQo+ICAuLi4vUGxhdGZvcm1Jbml0UGVpL1BsYXRm b3JtRWFybHlJbml0LmMgICAgICAgfCAxMTk1ICsrKysrDQo+ICAuLi4vUGxhdGZvcm1Jbml0UGVp L1BsYXRmb3JtRWFybHlJbml0LmggICAgICAgfCAxNDk5ICsrKysrKw0KPiAgLi4uL1BsYXRmb3Jt SW5pdFBlaS9QbGF0Zm9ybUluZm9Jbml0LmMgICAgICAgIHwgIDE4MSArDQo+ICAuLi4vUGxhdGZv cm1Jbml0UGVpL1BsYXRmb3JtSW5pdFBlaS5pbmYgICAgICAgfCAgMTE3ICsNCj4gIC4uLi9QbGF0 Zm9ybUluaXRQZWkvUGxhdGZvcm1Tc2FJbml0UGVpbS5jICAgICB8ICAgNTggKw0KPiAgLi4uL1Bs YXRmb3JtSW5pdFBlaS9SZWNvdmVyeS5jICAgICAgICAgICAgICAgIHwgIDM2MSArKw0KPiAgLi4u L1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9TdGFsbC5jIHwgICA5MSArDQo+ICAu Li4vVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1QZWkvQm9vdE1vZGUuYyAgfCAgMzQ2ICsrDQo+ ICAuLi4vUGxhdGZvcm1QZWkvQ29tbW9uSGVhZGVyLmggICAgICAgICAgICAgICAgfCAgIDYwICsN Cj4gIC4uLi9QbGF0Zm9ybVBlaS9NZW1vcnlDYWxsYmFjay5jICAgICAgICAgICAgICB8ICAxNTQg Kw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmMgIHwgMTE5 OCArKysrKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmgg IHwgIDIxMyArDQo+ICAuLi4vUGxhdGZvcm1QZWkvUGxhdGZvcm1QZWkuaW5mICAgICAgICAgICAg ICAgfCAgMTI5ICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBlaS9TdGFsbC5j ICAgICB8ICAgOTAgKw0KPiAgLi4uL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtn LmRlYyAgIHwgIDIxMSArDQo+ICAuLi4vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Q a2cuZmRmICAgfCAxMDczICsrKysNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBr Z0NvbmZpZy5kc2MgICB8ICAxMDcgKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt UGtnR2NjLmZkZiAgICAgIHwgMTAzMyArKysrDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1Qa2dHY2NYNjQuZHNjICAgfCAxNzExICsrKysrKysNCj4gIC4uLi9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybVBrZ0lBMzIuZHNjICAgICB8IDE2OTkgKysrKysrKw0KPiAgLi4uL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnWDY0LmRzYyAgICAgIHwgMTcxNCArKysrKysrDQo+ICAu Li4vUGxhdGZvcm1TZXR1cER4ZS9Cb290LnZmaSAgICAgICAgICAgICAgICAgfCAgIDcyICsNCj4g IC4uLi9QbGF0Zm9ybVNldHVwRHhlL0NvbmZpZ3VyYXRpb24uaCAgICAgICAgICB8ICAgNTYgKw0K PiAgLi4uL1BsYXRmb3JtU2V0dXBEeGUvRGVidWdDb25maWcudmZpICAgICAgICAgIHwgIDExOCAr DQo+ICAuLi4vUGxhdGZvcm1TZXR1cER4ZS9Gd1ZlcnNpb25TdHJpbmdzLnVuaSAgICAgfCAgIDQw ICsNCj4gIC4uLi9QbGF0Zm9ybVNldHVwRHhlL01haW4udmZpICAgICAgICAgICAgICAgICB8ICAz MzEgKysNCj4gIC4uLi9QbGF0Zm9ybVNldHVwRHhlL1BsYXRmb3JtU2V0dXBEeGUuYyAgICAgICB8 ICA5MjkgKysrKw0KPiAgLi4uL1BsYXRmb3JtU2V0dXBEeGUvUGxhdGZvcm1TZXR1cER4ZS5oICAg ICAgIHwgICA5NyArDQo+ICAuLi4vUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9ybVNldHVwRHhlLmlu ZiAgICAgfCAgMTQxICsNCj4gIC4uLi9QbGF0Zm9ybVNldHVwRHhlL1NlY3VyaXR5LnZmaSAgICAg ICAgICAgICB8ICAxMDQgKw0KPiAgLi4uL1BsYXRmb3JtU2V0dXBEeGUvU2V0dXBGdW5jdGlvbnMu YyAgICAgICAgIHwgICA4NSArDQo+ICAuLi4vUGxhdGZvcm1TZXR1cER4ZS9TZXR1cEluZm9SZWNv cmRzLmMgICAgICAgfCAxODU1ICsrKysrKysNCj4gIC4uLi9QbGF0Zm9ybVNldHVwRHhlL1NvdXRo Q2x1c3RlckNvbmZpZy52ZmkgICB8ICA5MzMgKysrKw0KPiAgLi4uL1BsYXRmb3JtU2V0dXBEeGUv U3lzdGVtQ29tcG9uZW50LnZmaSAgICAgIHwgICA4MSArDQo+ICAuLi4vUGxhdGZvcm1TZXR1cER4 ZS9UaGVybWFsLnZmaSAgICAgICAgICAgICAgfCAgMTA2ICsNCj4gIC4uLi9QbGF0Zm9ybVNldHVw RHhlL1VuQ29yZS52ZmkgICAgICAgICAgICAgICB8ICAyMzUgKw0KPiAgLi4uL1BsYXRmb3JtU2V0 dXBEeGUvVXFpTGlzdC51bmkgICAgICAgICAgICAgIHwgIDQ1MiArKw0KPiAgLi4uL1BsYXRmb3Jt U2V0dXBEeGUvVmZyLnZmciAgICAgICAgICAgICAgICAgIHwgIDEyMyArDQo+ICAuLi4vUGxhdGZv cm1TZXR1cER4ZS9WZnJTdHJpbmdzLnVuaSAgICAgICAgICAgfCAxNDE3ICsrKysrKw0KPiAgLi4u L1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21tL1BsYXRmb3JtLmMgIHwgIDk5NyArKysrDQo+ ICAuLi4vUGxhdGZvcm1TbW0vUGxhdGZvcm1TbW0uaW5mICAgICAgICAgICAgICAgfCAgIDkzICsN Cj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNtbS9TM1NhdmUuYyAgICB8ICAzNzcg KysNCj4gIC4uLi9QbGF0Zm9ybVNtbS9TbW1QbGF0Zm9ybS5oICAgICAgICAgICAgICAgICB8ICAy NDAgKw0KPiAgLi4uL1BsYXRmb3JtU21tL1NtbVNjcmlwdFNhdmUuYyAgICAgICAgICAgICAgIHwg IDI1MiArDQo+ICAuLi4vUGxhdGZvcm1TbW0vU21tU2NyaXB0U2F2ZS5oICAgICAgICAgICAgICAg fCAgIDUwICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9QcG1Qb2xpY3kvUHBtUG9saWN5LmMg ICB8ICAxNDggKw0KPiAgLi4uL1ZsdjJUYmx0RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Qb2xpY3ku aCAgIHwgICAzNiArDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvUHBtUG9saWN5L1BwbVBvbGlj eS5pbmYgfCAgIDQ5ICsNCj4gIFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1JlYWRt ZS5tZCAgICB8ICAyMzMgKw0KPiAgLi4uL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW9yeUNvbmZp Zy5jICAgICAgIHwgIDE4MSArDQo+ICAuLi4vU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtb3J5Q29u ZmlnLmggICAgICAgfCAgIDY2ICsNCj4gIC4uLi9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlD b25maWcuaW5mICAgICB8ICAgNjAgKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUvQ29tbW9uSGVhZGVy LmggICAgICAgICAgICAgIHwgICAzOSArDQo+ICAuLi4vTWlzY0Jhc2VCb2FyZE1hbnVmYWN0dXJl ci51bmkgICAgICAgICAgICAgfCAgIDMzICsNCj4gIC4uLi9NaXNjQmFzZUJvYXJkTWFudWZhY3R1 cmVyRGF0YS5jICAgICAgICAgICB8ICAgNTggKw0KPiAgLi4uL01pc2NCYXNlQm9hcmRNYW51ZmFj dHVyZXJGdW5jdGlvbi5jICAgICAgIHwgIDIzOCArDQo+ICAuLi4vU21CaW9zTWlzY0R4ZS9NaXNj Qmlvc1ZlbmRvci51bmkgICAgICAgICAgfCAgIDI2ICsNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01p c2NCaW9zVmVuZG9yRGF0YS5jICAgICAgICB8ICAxMDEgKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUv TWlzY0Jpb3NWZW5kb3JGdW5jdGlvbi5jICAgIHwgIDMzNiArKw0KPiAgLi4uL1NtQmlvc01pc2NE eGUvTWlzY0Jvb3RJbmZvcm1hdGlvbkRhdGEuYyAgIHwgICAzNCArDQo+ICAuLi4vTWlzY0Jvb3RJ bmZvcm1hdGlvbkZ1bmN0aW9uLmMgICAgICAgICAgICAgfCAgIDgyICsNCj4gIC4uLi9TbUJpb3NN aXNjRHhlL01pc2NDaGFzc2lzTWFudWZhY3R1cmVyLnVuaSB8ICAgMjggKw0KPiAgLi4uL01pc2ND aGFzc2lzTWFudWZhY3R1cmVyRGF0YS5jICAgICAgICAgICAgIHwgICA1NyArDQo+ICAuLi4vTWlz Y0NoYXNzaXNNYW51ZmFjdHVyZXJGdW5jdGlvbi5jICAgICAgICAgfCAgMTU4ICsNCj4gIC4uLi9T bUJpb3NNaXNjRHhlL01pc2NNZW1vcnlEZXZpY2UudW5pICAgICAgICB8ICAgMzUgKw0KPiAgLi4u L1NtQmlvc01pc2NEeGUvTWlzY01lbW9yeURldmljZURhdGEuYyAgICAgIHwgICA0NSArDQo+ICAu Li4vU21CaW9zTWlzY0R4ZS9NaXNjTWVtb3J5RGV2aWNlRnVuY3Rpb24uYyAgfCAgMzE5ICsrDQo+ ICAuLi4vTWlzY051bWJlck9mSW5zdGFsbGFibGVMYW5ndWFnZXNEYXRhLmMgICAgfCAgIDM4ICsN Cj4gIC4uLk1pc2NOdW1iZXJPZkluc3RhbGxhYmxlTGFuZ3VhZ2VzRnVuY3Rpb24uYyB8ICAyNTEg Kw0KPiAgLi4uL1NtQmlvc01pc2NEeGUvTWlzY09lbVN0cmluZy51bmkgICAgICAgICAgIHwgICAy NSArDQo+ICAuLi4vU21CaW9zTWlzY0R4ZS9NaXNjT2VtU3RyaW5nRGF0YS5jICAgICAgICAgfCAg IDM0ICsNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01pc2NPZW1TdHJpbmdGdW5jdGlvbi5jICAgICB8 ICAgODkgKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUvTWlzY09lbVR5cGUweDkwLnVuaSAgICAgICAg IHwgICAzMSArDQo+ICAuLi4vU21CaW9zTWlzY0R4ZS9NaXNjT2VtVHlwZTB4OTBEYXRhLmMgICAg ICAgfCAgIDM2ICsNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5MEZ1bmN0aW9u LmMgICB8ICA0NDIgKysNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5NC51bmkg ICAgICAgICB8ICAgNDIgKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUvTWlzY09lbVR5cGUweDk0RGF0 YS5jICAgICAgIHwgICA1NCArDQo+ICAuLi4vU21CaW9zTWlzY0R4ZS9NaXNjT2VtVHlwZTB4OTRG dW5jdGlvbi5jICAgfCAxMjE4ICsrKysrDQo+ICAuLi4vU21CaW9zTWlzY0R4ZS9NaXNjT25ib2Fy ZERldmljZS51bmkgICAgICAgfCAgIDI2ICsNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01pc2NPbmJv YXJkRGV2aWNlRGF0YS5jICAgICB8ICAgNDggKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUvTWlzY09u Ym9hcmREZXZpY2VGdW5jdGlvbi5jIHwgIDEzNSArDQo+ICAuLi4vU21CaW9zTWlzY0R4ZS9NaXNj UGh5c2ljYWxBcnJheS51bmkgICAgICAgfCAgIDI1ICsNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01p c2NQaHlzaWNhbEFycmF5RGF0YS5jICAgICB8ICAgMzggKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUv TWlzY1BoeXNpY2FsQXJyYXlGdW5jdGlvbi5jIHwgIDEwMSArDQo+ICAuLi4vTWlzY1BvcnRJbnRl cm5hbENvbm5lY3RvckRlc2lnbmF0b3IudW5pICAgfCAgIDMxICsNCj4gIC4uLi9NaXNjUG9ydElu dGVybmFsQ29ubmVjdG9yRGVzaWduYXRvckRhdGEuYyB8ICAgNTYgKw0KPiAgLi4uY1BvcnRJbnRl cm5hbENvbm5lY3RvckRlc2lnbmF0b3JGdW5jdGlvbi5jIHwgIDE1MiArDQo+ICAuLi4vU21CaW9z TWlzY0R4ZS9NaXNjUHJvY2Vzc29yQ2FjaGUudW5pICAgICAgfCAgIDIyICsNCj4gIC4uLi9TbUJp b3NNaXNjRHhlL01pc2NQcm9jZXNzb3JDYWNoZURhdGEuYyAgICB8ICAgMzMgKw0KPiAgLi4uL01p c2NQcm9jZXNzb3JDYWNoZUZ1bmN0aW9uLmMgICAgICAgICAgICAgIHwgIDE4OSArDQo+ICAuLi4v TWlzY1Byb2Nlc3NvckluZm9ybWF0aW9uLnVuaSAgICAgICAgICAgICAgfCAgIDI3ICsNCj4gIC4u Li9NaXNjUHJvY2Vzc29ySW5mb3JtYXRpb25EYXRhLmMgICAgICAgICAgICB8ICAgNzEgKw0KPiAg Li4uL01pc2NQcm9jZXNzb3JJbmZvcm1hdGlvbkZ1bmN0aW9uLmMgICAgICAgIHwgIDQ0OCArKw0K PiAgLi4uL1NtQmlvc01pc2NEeGUvTWlzY1Jlc2V0Q2FwYWJpbGl0aWVzRGF0YS5jIHwgICA0MyAr DQo+ICAuLi4vTWlzY1Jlc2V0Q2FwYWJpbGl0aWVzRnVuY3Rpb24uYyAgICAgICAgICAgfCAgIDg1 ICsNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01pc2NTdWJjbGFzc0RyaXZlci5oICAgICAgICB8ICAx ODggKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUvTWlzY1N1YmNsYXNzRHJpdmVyLnVuaSAgICAgIHwg ICAzNSArDQo+ICAuLi4vTWlzY1N1YmNsYXNzRHJpdmVyRGF0YVRhYmxlLmMgICAgICAgICAgICAg fCAgIDk4ICsNCj4gIC4uLi9NaXNjU3ViY2xhc3NEcml2ZXJFbnRyeVBvaW50LmMgICAgICAgICAg ICB8ICAxODIgKw0KPiAgLi4uL01pc2NTeXN0ZW1MYW5ndWFnZVN0cmluZy51bmkgICAgICAgICAg ICAgIHwgICAyNCArDQo+ICAuLi4vTWlzY1N5c3RlbUxhbmd1YWdlU3RyaW5nRGF0YS5jICAgICAg ICAgICAgfCAgIDM0ICsNCj4gIC4uLi9NaXNjU3lzdGVtTGFuZ3VhZ2VTdHJpbmdGdW5jdGlvbi5j ICAgICAgICB8ICAgOTMgKw0KPiAgLi4uL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU1hbnVmYWN0 dXJlci51bmkgIHwgICAzMCArDQo+ICAuLi4vTWlzY1N5c3RlbU1hbnVmYWN0dXJlckRhdGEuYyAg ICAgICAgICAgICAgfCAgIDQ4ICsNCj4gIC4uLi9NaXNjU3lzdGVtTWFudWZhY3R1cmVyRnVuY3Rp b24uYyAgICAgICAgICB8ICAzNjQgKysNCj4gIC4uLi9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1P cHRpb25TdHJpbmcudW5pICB8ICAgMjQgKw0KPiAgLi4uL01pc2NTeXN0ZW1PcHRpb25TdHJpbmdE YXRhLmMgICAgICAgICAgICAgIHwgICAzMSArDQo+ICAuLi4vTWlzY1N5c3RlbU9wdGlvblN0cmlu Z0Z1bmN0aW9uLmMgICAgICAgICAgfCAgIDkzICsNCj4gIC4uLi9NaXNjU3lzdGVtU2xvdERlc2ln bmF0aW9uLnVuaSAgICAgICAgICAgICB8ICAgMzQgKw0KPiAgLi4uL01pc2NTeXN0ZW1TbG90RGVz aWduYXRpb25EYXRhLmMgICAgICAgICAgIHwgIDI0NiArDQo+ICAuLi4vTWlzY1N5c3RlbVNsb3RE ZXNpZ25hdGlvbkZ1bmN0aW9uLmMgICAgICAgfCAgMTI3ICsNCj4gIC4uLi9TbUJpb3NNaXNjRHhl L1NtQmlvc01pc2NEeGUuaW5mICAgICAgICAgICB8ICAxMzkgKw0KPiAgLi4uL1NtbVN3RGlzcGF0 Y2gyT25TbW1Td0Rpc3BhdGNoVGh1bmsuYyAgICAgIHwgIDQ1OSArKw0KPiAgLi4uL1NtbVN3RGlz cGF0Y2gyT25TbW1Td0Rpc3BhdGNoVGh1bmsuaW5mICAgIHwgICA1NCArDQo+ICAuLi4vU21yYW1T YXZlSW5mb0hhbmRsZXJTbW0uYyAgICAgICAgICAgICAgICAgfCAgMTY0ICsNCj4gIC4uLi9TbXJh bVNhdmVJbmZvSGFuZGxlclNtbS5pbmYgICAgICAgICAgICAgICB8ICAgNjAgKw0KPiAgLi4uL1N0 aXRjaC9HY2MvTnZTdG9yYWdlRnR3U3BhcmUuYmluICAgICAgICAgIHwgIEJpbiAwIC0+IDI2MjE0 NCBieXRlcw0KPiAgLi4uL1N0aXRjaC9HY2MvTnZTdG9yYWdlRnR3V29ya2luZy5iaW4gICAgICAg IHwgIEJpbiAwIC0+IDgxOTIgYnl0ZXMNCj4gIC4uLi9TdGl0Y2gvR2NjL052U3RvcmFnZVZhcmlh YmxlLmJpbiAgICAgICAgICB8ICBCaW4gMCAtPiAyNTM5NTIgYnl0ZXMNCj4gIC4uLi9TdGl0Y2gv SUZXSUhlYWRlci9JRldJX0hFQURFUi5iaW4gICAgICAgICB8ICBCaW4gMCAtPiA0MDk2IGJ5dGVz DQo+ICAuLi4vU3RpdGNoL0lGV0lIZWFkZXIvSUZXSV9IRUFERVJfU1BJTE9DSy5iaW4gfCAgQmlu IDAgLT4gNDA5NiBieXRlcw0KPiAgLi4uL1N0aXRjaC9JRldJSGVhZGVyL1ZhY2FudC5iaW4gICAg ICAgICAgICAgIHwgIEJpbiAwIC0+IDM5MjgwNjQgYnl0ZXMNCj4gIC4uLi9WbHYyVGJsdERldmlj ZVBrZy9TdGl0Y2gvSUZXSVN0aXRjaC5iYXQgICB8ICAyNzAgKw0KPiAgLi4uL1N0aXRjaC9NTlcy X1N0aXRjaF9Db25maWcudHh0ICAgICAgICAgICAgIHwgICAxMCArDQo+ICAuLi4vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvVWlBcHAvRnJvbnRQYWdlLmMgfCAgIDMzICsNCj4gIC4uLi9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9VaUFwcC9VaUFwcC5pbmYgICB8ICAgMzIgKw0KPiAgLi4uL1ZsdlBs YXRmb3JtSW5pdER4ZS9JZ2RPcFJlZ2lvbi5jICAgICAgICAgIHwgIDkyOSArKysrDQo+ICAuLi4v Vmx2UGxhdGZvcm1Jbml0RHhlL0lnZE9wUmVnaW9uLmggICAgICAgICAgfCAgMjM1ICsNCj4gIC4u Li9WbHZQbGF0Zm9ybUluaXREeGUvVmx2UGxhdGZvcm1Jbml0LmMgICAgICB8ICAyODcgKysNCj4g IC4uLi9WbHZQbGF0Zm9ybUluaXREeGUvVmx2UGxhdGZvcm1Jbml0LmggICAgICB8ICAgNjUgKw0K PiAgLi4uL1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0Zm9ybUluaXREeGUuaW5mIHwgICA3NCAr DQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNEcml2ZXIuYyAgICAgfCAgMzQw ICsrDQo+ICAuLi4vVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNEcml2ZXIuaCAgICAgfCAg MTEyICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL0xwY0lzYUFjcGkuYyAgICB8 ICAzNjYgKysNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL0xwY0lzYUFjcGkuaCAg ICB8ICAxMDMgKw0KPiAgLi4uL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3OTEvTHBjU2lv LmMgIHwgIDEyNiArDQo+ICAuLi4vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNT aW8uaCAgfCAgMTAxICsNCj4gIC4uLi9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL1dwY2U3OTEu aW5mICAgICB8ICAgNjMgKw0KPiAgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvYmxk X3Zsdi5iYXQgIHwgIDMzMiArKw0KPiAgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv YmxkX3Zsdi5zaCAgIHwgIDI1NiArDQo+ICBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9jbG4uc2ggICAgICAgfCAgIDYyICsNCj4gIDQ1MiBmaWxlcyBjaGFuZ2VkLCA5NTQxMSBpbnNl cnRpb25zKCspDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvLmdpdGlnbm9yZQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0Zm9ybS9BY3BpUGxhdGZvcm0uYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQ bGF0Zm9ybS9BY3BpUGxhdGZvcm0uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0Zm9ybS9BY3BpUGxhdGZvcm0uaW5mDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv QWNwaVBsYXRmb3JtL0FjcGlQbGF0Zm9ybUhvb2tzLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRm b3JtSG9va3MuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0FjcGlQbGF0Zm9ybS9BY3BpUGxhdGZvcm1Ib29rc0xpYi5oDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQWNwaVBsYXRm b3JtL09zZnIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0FwcGxpY2F0aW9uL0Zpcm13YXJlVXBkYXRlL0Zpcm13YXJlVQ0KPiBwZGF0 ZS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvQXBwbGljYXRpb24vRmlybXdhcmVVcGRhdGUvRmlybXdhcmVVDQo+IHBkYXRlLmgNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9B cHBsaWNhdGlvbi9GaXJtd2FyZVVwZGF0ZS9GaXJtd2FyZVUNCj4gcGRhdGUuaW5mDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQXBwbGlj YXRpb24vRmlybXdhcmVVcGRhdGUvRmlybXdhcmVVDQo+IHBkYXRlU3RyaW5ncy51bmkNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9CZm1MaWIu ZXhlDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvQmlvc0lkRC5lbnYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9CaW9zSWRSLmVudg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jpb3NJZHg2NEQuZW52DQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQmlvc0lkeDY0Ui5lbnYNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9C b290U2NyaXB0U2F2ZUR4ZS9Cb290U2NyaXB0U2F2ZUR4ZS5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Cb290U2NyaXB0U2F2ZUR4 ZS9JbnRlcm5hbEJvb3RTY3JpcHRTYXYNCj4gZS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQm9vdFNjcmlwdFNhdmVEeGUvU2NyaXB0 U2F2ZS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvQnVpbGRfSUZXSS5iYXQNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9CdWlsZF9JRldJLnNoDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRkNFLmV4ZQ0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3Vs ZS9HZW5lcmF0ZUNhcHN1bGUvR2VuQw0KPiBhcHN1bGVBbGwuYmF0DQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxl L0dlbmVyYXRlQ2Fwc3VsZS9HZW5DDQo+IGFwc3VsZUFsbC5zaA0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9H ZW5lcmF0ZUNhcHN1bGUvR2VuQw0KPiBhcHN1bGVNaW5ub3dNYXguYmF0DQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBz dWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZW5DDQo+IGFwc3VsZU1pbm5vd01heC5zaA0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUv Q2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvR2VuQw0KPiBhcHN1bGVNaW5ub3dNYXhSZWxlYXNlLmJh dA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvR2VuQw0KPiBhcHN1bGVNaW5ub3dN YXhSZWxlYXNlLnNoDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZW5DDQo+IGFw c3VsZVNhbXBsZUNvbG9yLmJhdA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvR2Vu Qw0KPiBhcHN1bGVTYW1wbGVDb2xvci5zaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1 bGUvTHZmcy5kDQo+IGRmDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9MdmZzRw0K PiBlbkNhcHN1bGVNaW5ub3dNYXguYmF0DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3Vs ZS9MdmZzRw0KPiBlbkNhcHN1bGVNaW5ub3dNYXhSZWxlYXNlLmJhdA0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3Vs ZS9HZW5lcmF0ZUNhcHN1bGUvTHZmc0cNCj4gZW5DYXBzdWxlU2FtcGxlQ29sb3IuYmF0DQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVh dHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9OZXdSDQo+IG9vdC5jZXIuZ0ZtcERldmljZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVBrY3M3Q2VydEJ1ZmZlclhkci5pDQo+IG5jDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv RmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9TQU1QDQo+IExFX0RFVkVMT1BNRU5ULmNl ci5nRm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlUGtjczcNCj4gQ2VydEJ1 ZmZlclhkci5pbmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL1NBTVANCj4gTEVf REVWRUxPUE1FTlRfU0FNUExFX1BST0RVQ1RJT04uY2VyLmdGbXBEZXZpY2VQa2dUb2tlblNwYWNl DQo+IEd1aWQuUGNkRm1wRGV2aWNlUGtjczdDZXJ0QnVmZmVyWGRyLmluYw0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fw c3VsZS9HZW5lcmF0ZUNhcHN1bGUvdGVtcGwNCj4gYXRlLm1ldGFpbmZvLnhtbA0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUv Q2Fwc3VsZS9MaWJyYXJ5L0ZtcERldmljZUxpYi9GDQo+IG1wRGV2aWNlTGliLmMNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJl L0NhcHN1bGUvTGlicmFyeS9GbXBEZXZpY2VMaWIvRg0KPiBtcERldmljZUxpYi5pbmYNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0 dXJlL0NhcHN1bGUvTGlicmFyeS9GbXBEZXZpY2VMaWJTYQ0KPiBtcGxlL0ZtcERldmljZUxpYi5j DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvRm1wRGV2aWNlTGliU2ENCj4gbXBsZS9GbXBEZXZp Y2VMaWIuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvUGxhdGZvcm1GbGFzaEFjDQo+IGNl c3NMaWIvUGxhdGZvcm1GbGFzaEFjY2Vzc0xpYi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkv UGxhdGZvcm1GbGFzaEFjDQo+IGNlc3NMaWIvUGxhdGZvcm1GbGFzaEFjY2Vzc0xpYi5pbmYNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G ZWF0dXJlL0NhcHN1bGUvU3lzdGVtRmlybXdhcmVEZXNjcmlwDQo+IHRvci9TeXN0ZW1GaXJtd2Fy ZURlc2NyaXB0b3IuYXNsYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9TeXN0ZW1GaXJtd2FyZURlc2NyaXAN Cj4gdG9yL1N5c3RlbUZpcm13YXJlRGVzY3JpcHRvci5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvU3lz dGVtRmlybXdhcmVEZXNjcmlwDQo+IHRvci9TeXN0ZW1GaXJtd2FyZURlc2NyaXB0b3JQZWkuYw0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0ZlYXR1cmUvQ2Fwc3VsZS9TeXN0ZW1GaXJtd2FyZVVwZGF0ZQ0KPiBDb25maWcvU3lzdGVtRmly bXdhcmVVcGRhdGVDb25maWcuaW5pDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL1N5c3RlbUZpcm13YXJlVXBk YXRlDQo+IENvbmZpZy9TeXN0ZW1GaXJtd2FyZVVwZGF0ZUNvbmZpZ0djYy5pbmkNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GbXBCbHVl U2FtcGxlRGV2aWNlLmRzYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0ZtcENlcnRpZmljYXRlLmRzYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZtcEdyZWVuU2FtcGxlRGV2aWNl LmRzYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0ZtcE1pbm5vd01heFN5c3RlbS5kc2MNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQ bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GbXBSZWRTYW1wbGVEZXZpY2UuZHNjDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv RnNwQXphbGlhQ29uZmlnRGF0YS9BemFsaWFDb25maWcuYmluDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9Cb290TW9k ZVBlaS9Cb290TW9kZVBlaS4NCj4gYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQ ZWkuaQ0KPiBuZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9QZWlGc3BIb2JQcm9jZXNzTGliDQo+IFZs djIvRnNwSG9iUHJvY2Vzc0xpYlZsdjIuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9QZWlGc3BIb2JQ cm9jZXNzTGliDQo+IFZsdjIvRnNwSG9iUHJvY2Vzc0xpYlZsdjIuaW5mDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9M aWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTGliDQo+IFZsdjIvRnNwUGxhdGZvcm1TZWNMaWJWbHYy LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMaWINCj4gVmx2Mi9Gc3BQ bGF0Zm9ybVNlY0xpYlZsdjIuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3Jt U2VjTGliDQo+IFZsdjIvSWEzMi9Bc21TYXZlU2VjQ29udGV4dC5hc20NCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xp YnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMaWINCj4gVmx2Mi9JYTMyL0ZzcC5pbmMNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBw b3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMaWINCj4gVmx2Mi9JYTMyL1BlaUNvcmVFbnRy eS5hc20NCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMaWINCj4gVmx2Mi9J YTMyL1NlY0VudHJ5LmFzbQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0xp Yg0KPiBWbHYyL0lhMzIvU3RhY2suUw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9y bVNlY0xpYg0KPiBWbHYyL0lhMzIvU3RhY2suYXNtDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0Zz cFBsYXRmb3JtU2VjTGliDQo+IFZsdjIvUGxhdGZvcm1Jbml0LmMNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJh cnkvU2VjRnNwUGxhdGZvcm1TZWNMaWINCj4gVmx2Mi9TYXZlU2VjQ29udGV4dC5jDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3Vw cG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTGliDQo+IFZsdjIvU2VjR2V0UGVyZm9ybWFu Y2UuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0xpYg0KPiBWbHYyL1Nl Y1BsYXRmb3JtSW5mb3JtYXRpb24uYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9y bVNlY0xpYg0KPiBWbHYyL1NlY1JhbUluaXREYXRhLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2Vj RnNwUGxhdGZvcm1TZWNMaWINCj4gVmx2Mi9TZWNUZW1wUmFtU3VwcG9ydC5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9y dC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTGliDQo+IFZsdjIvVWFydEluaXQuYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2SW5m b1BlaS9GdkluZm9QZWkuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0Z2SW5mb1BlaS9GdkluZm9QZWkuaW5mDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGltZUR4 ZS9GdmJJbmZvLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlJ1bnRpbWVEeGUuaW5mDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGlt ZUR4ZS9GdmJTZXJ2aWNlLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNlcnZpY2UuaA0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRp bWVEeGUvRnZiU2VydmljZUR4ZS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGltZUR4ZS9GdmJTZXJ2aWNlU21tLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G dmJSdW50aW1lRHhlL0Z2YlNtbS5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNtbUNvbW1vbi5oDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv RnZiUnVudGltZUR4ZS9GdmJTbW1EeGUuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUvRnZiU21tRHhlLmgNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G dmJSdW50aW1lRHhlL0Z2YlNtbUR4ZS5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDc1NSBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9HZW5CaW9zSWQNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NCBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9HZW5CaW9zSWQuZXhlDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVk ZS9BbGVydFN0YW5kYXJkRm9ybWF0VGFibGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvQ2hpcHNldEFjY2Vzcy5oDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv SW5jbHVkZS9Db21tb25JbmNsdWRlcy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9DcHVUeXBlLmgNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0ZpbGVI YW5kbGVMaWIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9BY3BpVGFibGVTdG9yYWdlLmgNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0d1 aWQvQWxlcnRTdGFuZGFyZEZvcm1hdC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL0Jpb3NJZC5oDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVk ZS9HdWlkL0JvYXJkRmVhdHVyZXMuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9FZmlWcGREYXRhLmgNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL0d1aWQvRmlybXdhcmVJZC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL0h3V2F0Y2hkb2dUaW1lckhvYi5o DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvSW5jbHVkZS9HdWlkL0lkY2NEYXRhLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0d1aWQvSXRrRGF0YS5oDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5j bHVkZS9HdWlkL01lbW9yeUNvbmZpZ0RhdGEuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9Pc1NlbGVjdGlvbi5o DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvSW5jbHVkZS9HdWlkL1BjaUxhbkluZm8uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9QbGF0Zm9ybUNwdUlu Zm8uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvR3VpZC9QbGF0Zm9ybUluZm8uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9TZW5zb3JJ bmZvVmFyaWFibGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9TZXR1cFZhcmlhYmxlLmgNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0hwZXQu aA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvTGlicmFyeS9CaW9zSWRMaWIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9DcHVJQTMy LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9JbmNsdWRlL0xpYnJhcnkvRWZpUmVnVGFibGVMaWIuaA0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9F c3J0LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9JbmNsdWRlL0xpYnJhcnkvRmQuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9GbGFzaERldmljZUxp Yi5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0kyQ0xpYi5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0kyY01taW9D b25maWdMaWIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9JMmNQb3J0X3BsYXRmb3JtLmgNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRl L0xpYnJhcnkvUGxhdGZvcm1Gc2FMaWIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9QbGF0Zm9ybUZzcExp Yi5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvSW5jbHVkZS9MaWJyYXJ5L1NwaUZsYXNoLkgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvU3RhbGxT bW1MaWIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9Vc2JEZXZpY2VNb2RlTGliLmgNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL01jZmcu aA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0luY2x1ZGUvTWNmZ1RhYmxlLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1BsYXRmb3JtLmgNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1BsYXRmb3Jt Qm9vdE1vZGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvUGxhdGZvcm1EZWZpbml0aW9ucy5oDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QcGkv TWZnTWVtb3J5VGVzdC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QcGkvU2hhMjU2SGFzaC5oDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QcGkv U3BlYWtlci5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvSW5jbHVkZS9QcGkvVXNiQ29udHJvbGxlci5oDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2Nv bC9DSzUwNUNsb2NrUGxhdGZvcm1JbmZvLg0KPiBoDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9FbmhhbmNl ZFNwZWVkc3RlcC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9HbG9iYWxOdnNBcmVhLmgNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRl L1Byb3RvY29sL0h3V2F0Y2hkb2dUaW1lci5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9JMmNBY3BpLmgN Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9JbmNsdWRlL1Byb3RvY29sL0kyY0J1cy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9JMmNCdXNNY2cu aA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvUHJvdG9jb2wvSTJjSG9zdE1jZy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9JMmNN YXN0ZXJNY2cuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvSTJjU2xhdmUuaA0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9j b2wvTHBjV3BjODM2MjdQb2xpY3kuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvTHBjV3BjZTc5MVBvbGlj eS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9NbWlvRGV2aWNlLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL09i c2VydmFibGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUGxhdGZvcm1Hb3BQb2xpY3kuaA0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvUHJvdG9jb2wvUGxhdGZvcm1JZGVJbml0LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQ bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1NldHVwTW9k ZS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9TbWJpb3NTbG90UG9wdWxhdGlvbi5oDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Q cm90b2NvbC9TcGVha2VyLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1Rjb1Jlc2V0LmgNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRl L1Byb3RvY29sL1RwbU1wLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1VzYlBvbGljeS5oDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVk ZS9Qcm90b2NvbC9WbHZQbGF0Zm9ybVBvbGljeS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9TZXR1cE1vZGUuaA0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0lu dGVsR29wRGVwZXgvSW50ZWxHb3BEcml2ZXIuZGVwZXgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0Jpb3NJZExpYi9CaW9z SWRMaWIuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0xpYnJhcnkvQmlvc0lkTGliL0Jpb3NJZExpYi5pbmYNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlB MzJMaWIvQ3B1SUEzMkxpYi5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlBMzJMaWIvRWZpQ3B1VmVyc2lvbi5j DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9DcHVJQTMyTGliL0lBMzIvQ3B1SUEzMi5TDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9DcHVJQTMyTGli L0lBMzIvQ3B1SUEzMi5hc20NCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlBMzJMaWIvSUEzMi9DcHVJQTMyLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9M aWJyYXJ5L0NwdUlBMzJMaWIvWDY0L0NwdS5TDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9DcHVJQTMyTGliL1g2NC9DcHUu YXNtDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvTGlicmFyeS9FZmlSZWdUYWJsZUxpYi9FZmlSZWdUYWJsZUxpYi5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9F ZmlSZWdUYWJsZUxpYi9FZmlSZWdUYWJsZUxpYi5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0ZsYXNoRGV2aWNlTGli L0ZsYXNoRGV2aWNlTGliLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0ZsYXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNlTGli LmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIvRmxhc2hEZXZpY2VMaWJEeGUuDQo+IGMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9M aWJyYXJ5L0ZsYXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNlTGliRHhlLg0KPiBpbmYNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L0ZsYXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNlTGliRHhlDQo+IFJ1bnRpbWVTbW0uYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJh cnkvRmxhc2hEZXZpY2VMaWIvU3BpQ2hpcERlZmluaXRpb25zLg0KPiBoDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNM aWIvSTJDTGliLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYi9JMkNMaWJOdWxsLmluZg0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJD TGliRHhlL0kyQ0xpYi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJEeGUvSTJDTGliRHhlLmluZg0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJh cnkvSTJDTGliRHhlL0kyQ1JlZ3MuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0FjY2Vzcy5oDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9JMkNMaWJQZWkvSTJDRGVsYXlQZWkuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0Rl bGF5UGVpLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYlBlaS9JMkNJb0xpYlBlaS5jDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNM aWJQZWkvSTJDSW9MaWJQZWkuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0xpYlBlaS5jDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGli cmFyeS9JMkNMaWJQZWkvSTJDTGliUGVpLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYlBlaS9JMkNMaWJQZWku aW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9Db21tb25IZQ0KPiBhZGVyLmgNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9M aWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWNwaQ0KPiBUaW1lckxpYi5jDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEFjcGkNCj4gVGltZXJMaWIuaW5m DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJkQ2xrR2Vucy9CDQo+IG9hcmRDbGtHZW5z LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvQm9hcmRDbGtHZW5zL0INCj4gb2FyZENsa0dl bnMuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZEdwaW9zL0JvYQ0KPiByZEdwaW9z LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvQm9hcmRHcGlvcy9Cb2ENCj4gcmRHcGlvcy5o DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJkSnVtcGVycy9CDQo+IG9hcmRKdW1wZXJz LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvQm9hcmRKdW1wZXJzL0INCj4gb2FyZEp1bXBl cnMuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZE9lbUlkcy9CDQo+IG9hcmRPZW1J ZHMuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZE9lbUlkcy9CDQo+IG9hcmRPZW1J ZHMuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZFNzaWRTdmlkL0INCj4gb2FyZFNz aWRTdmlkLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvQm9hcmRTc2lkU3ZpZC9CDQo+IG9h cmRTc2lkU3ZpZC5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL011bHRpUGxhdGZvcm1MaWIN Cj4gLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvTXVsdGlQbGF0Zm9ybUxpYg0KPiAuaA0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9NdWx0aVBsYXRmb3JtTGliDQo+IC5pbmYNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L011bHRpUGxhdGZvcm1MaWIvUGxhdGZvcm1JbmZvSG9iDQo+IC5jDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QY2hQ bGF0Zm9ybUxpYi9QY2hQbGF0Zm9ybUxpYi5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQ bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BjaFBsYXRmb3JtTGliL1Bj aFBsYXRmb3JtTGlicmFyDQo+IHkuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGNoUGxhdGZvcm1MaWIvUGNoUGxhdGZv cm1MaWJyYXINCj4geS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QY2hTbW1MaWIvQ29tbW9uSGVhZGVyLmgNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L1BjaFNtbUxpYi9QY2hTbW1MaWIuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGNoU21tTGliL1BjaFNtbUxpYi5p bmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL0Jkc1BsYXRmb3JtLmMNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRm b3JtQmRzTGliL0Jkc1BsYXRmb3JtLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL1BsYXRmb3Jt QmRzTGliLmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0xpYnJhcnkvUGxhdGZvcm1CZHNMaWIvUGxhdGZvcm1CZHNTdHJpbmcNCj4g cy51bmkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL1BsYXRmb3JtRGF0YS5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9Q bGF0Zm9ybUNtb3NMaWIvUGxhdGZvcm1DbW9zTGkNCj4gYi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QbGF0Zm9ybUNt b3NMaWIvUGxhdGZvcm1DbW9zTGkNCj4gYi5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQ bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtRnNwTGliL1Bs YXRmb3JtRnNwTGliLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtRnNwTGliL1BsYXRmb3JtRnNwTGliLmlu Zg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0xpYnJhcnkvUmVzZXRTeXN0ZW1MaWIvUmVzZXRTeXN0ZW1MaWIuYw0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUmVz ZXRTeXN0ZW1MaWIvUmVzZXRTeXN0ZW1MaWIuaQ0KPiBuZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvU2VyaWFsUG9ydExp Yi9QbGF0Zm9ybVNlcmlhbFBvcnRMaWINCj4gLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQ bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2Vy aWFsUG9ydExpYi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvTGlicmFyeS9TZXJpYWxQb3J0TGliL1NlcmlhbFBvcnRMaWIuaW5mDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9TZXJpYWxQb3J0TGliL1Npb0luaXQuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9T aW9Jbml0LmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L1NtYnVzTGliL0NvbW1vbkhlYWRlci5oDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TbWJ1 c0xpYi9TbWJ1c0xpYi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TbWJ1c0xpYi9TbWJ1c0xpYi5pbmYNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L1N0YWxsU21tTGliL1N0YWxsU21tLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1N0YWxsU21tTGliL1N0YWxsU21tTGli LmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ0R4ZS9UcG0yRGV2aWMNCj4gZUxpYlNlQy5j DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9UcG0yRGV2aWNlTGliU2VDRHhlL1RwbTJEZXZpYw0KPiBlTGliU2VDLmluZg0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ1BlaS9UcG0yRGV2aWMNCj4gZUxpYlNlQy5jDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGli cmFyeS9UcG0yRGV2aWNlTGliU2VDUGVpL1RwbTJEZXZpYw0KPiBlTGliU2VDLmluZg0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xvZ28vTG9n by5ibXANCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9NZXRyb25vbWUvTGVnYWN5TWV0cm9ub21lLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9NZXRyb25vbWUvTGVnYWN5TWV0 cm9ub21lLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9NZXRyb25vbWUvTWV0cm9ub21lLmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01vbm9TdGF0dXNDb2RlL0VmaVN0 YXR1c0NvZGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL01vbm9TdGF0dXNDb2RlL01vbm9TdGF0dXNDb2RlLmMNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Nb25vU3RhdHVz Q29kZS9Nb25vU3RhdHVzQ29kZS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTW9ub1N0YXR1c0NvZGUvTW9ub1N0YXR1c0NvZGUuaW5m DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTW9ub1N0YXR1c0NvZGUvUGVpUG9zdENvZGUuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01vbm9TdGF0dXNDb2RlL1BsYXRmb3Jt U3RhdHVzQ29kZS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvTW9ub1N0YXR1c0NvZGUvUGxhdGZvcm1TdGF0dXNDb2RlLmgNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVy cmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaWJyDQo+IGFyeS9HZW5lcmljQmRzTGliL0Jk c0Jvb3QuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL092ZXJyaWRlL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpYnINCj4gYXJ5L0dl bmVyaWNCZHNMaWIvQmRzQ29ubmVjdC5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQ a2cvTGlicg0KPiBhcnkvR2VuZXJpY0Jkc0xpYi9CZHNDb25zb2xlLmMNCj4gIGNyZWF0ZSBtb2Rl IDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVycmlkZS9JbnRl bEZyYW1ld29ya01vZHVsZVBrZy9MaWJyDQo+IGFyeS9HZW5lcmljQmRzTGliL0Jkc01pc2MuYw0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L092ZXJyaWRlL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpYnINCj4gYXJ5L0dlbmVyaWNCZHNM aWIvRGV2aWNlUGF0aC5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGlicg0K PiBhcnkvR2VuZXJpY0Jkc0xpYi9HZW5lcmljQmRzTGliLmluZg0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJyaWRlL0ludGVsRnJh bWV3b3JrTW9kdWxlUGtnL0xpYnINCj4gYXJ5L0dlbmVyaWNCZHNMaWIvR2VuZXJpY0Jkc0xpYi51 bmkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9PdmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaWJyDQo+IGFyeS9HZW5lcmlj QmRzTGliL0dlbmVyaWNCZHNTdHJpbmdzLnVuaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJyaWRlL0ludGVsRnJhbWV3b3JrTW9k dWxlUGtnL0xpYnINCj4gYXJ5L0dlbmVyaWNCZHNMaWIvSW50ZXJuYWxCZHNMaWIuaA0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJy aWRlL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpYnINCj4gYXJ5L0dlbmVyaWNCZHNMaWIvU3Ry aW5nLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9PdmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaWJyDQo+IGFyeS9HZW5l cmljQmRzTGliL1N0cmluZy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvUGNpUGxhdGZvcm0vQm9hcmRQY2lQbGF0Zm9ybS5jDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGNp UGxhdGZvcm0vUGNpUGxhdGZvcm0uYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BjaVBsYXRmb3JtL1BjaVBsYXRmb3JtLmgNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QY2lQ bGF0Zm9ybS9QY2lQbGF0Zm9ybS5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNhcHN1bGUuZHNjDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1DYXBzdWxl LmZkZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1BsYXRmb3JtQ2Fwc3VsZUdjYy5kc2MNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQ bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNhcHN1bGVHY2MuZmRmDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1DcHVJbmZvRHhlL1BsYXRmb3JtQ3B1SW5mb0R4ZQ0KPiAuYw0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtQ3B1 SW5mb0R4ZS9QbGF0Zm9ybUNwdUluZm9EeGUNCj4gLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNwdUluZm9EeGUvUGxh dGZvcm1DcHVJbmZvRHhlDQo+IC5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9BemFsaWFWZXJiVGFibGUuaA0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1BsYXRmb3JtRHhlL0JvYXJkSWQuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0JvYXJkSWREZWNvZGUuYw0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Bs YXRmb3JtRHhlL0JvYXJkSWREZWNvZGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0Nsb2NrQ29udHJvbC5jDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1EeGUvQ29uZmlndXJhdGlvbi5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvRXhJLmMNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4 ZS9JY2hQbGF0Zm9ybVBvbGljeS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvSWNoUmVnVGFibGUuYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtRHhlL0ljaFRjb1Jlc2V0LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9JZGNjSW5mby5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1E eGUvTGVnYWN5U3BlYWtlci5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvTGVnYWN5U3BlYWtlci5oDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1EeGUvT2JzZXJ2YWJsZS9PYnNlcnZhYmxlLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQ bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9PYnNlcnZhYmxlL09i c2VydmFibGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1BjaUJ1cy5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvUGNpRGV2aWNl LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1EeGUuaA0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1BsYXRmb3JtRHhlL1BsYXRmb3JtRHhlLmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1J0Yy5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1E eGUvU2Vuc29yVmFyLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9TaW9QbGF0Zm9ybVBvbGljeS5jDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1EeGUvU2xvdENvbmZpZy5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvU2xvdENvbmZpZy5oDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1H b3BQb2xpY3kvUGxhdGZvcm1Hb3BQb2xpY3kuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtR29wUG9saWN5L1BsYXRmb3Jt R29wUG9saWN5LmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5mb0R4ZS9QbGF0Zm9ybUluZm9EeGUuYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtSW5mb0R4ZS9QbGF0Zm9ybUluZm9EeGUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5mb0R4ZS9QbGF0Zm9ybUlu Zm9EeGUuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL0Jvb3RNb2RlLmMNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkv Q3B1SW5pdFBlaW0uYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9EaW1tLmMNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkv Rmxhc2hNYXAuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9MZWdhY3lTcGVha2VyLmMNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUlu aXRQZWkvTGVnYWN5U3BlYWtlci5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL01jaEluaXQuYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtSW5pdFBlaS9NZW1vcnlDYWxsYmFjay5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL01lbW9yeVBlaW0u Yw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtSW5pdFBlaS9QY2hJbml0UGVpbS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1BsYXRm b3JtRWFybHlJbml0LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGxhdGZvcm1FYXJseUluaXQuaA0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Bs YXRmb3JtSW5pdFBlaS9QbGF0Zm9ybUluZm9Jbml0LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGxhdGZv cm1Jbml0UGVpLmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9QbGF0Zm9ybVNzYUluaXRQZWltLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q bGF0Zm9ybUluaXRQZWkvUmVjb3ZlcnkuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9TdGFsbC5jDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1QZWkvQm9vdE1vZGUuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL0NvbW1vbkhlYWRlci5oDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1QZWkvTWVtb3J5Q2FsbGJhY2suYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmMNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bVBlaS9QbGF0Zm9ybS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1QZWkvUGxhdGZvcm1QZWkuaW5mDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1QZWkv U3RhbGwuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmZkZg0KPiAgY3JlYXRlIG1vZGUgMTAw NjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnQ29uZmln LmRzYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtUGtnR2NjLmZkZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnR2NjWDY0LmRzYw0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtn SUEzMi5kc2MNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9QbGF0Zm9ybVBrZ1g2NC5kc2MNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL0Jvb3QudmZpDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1TZXR1cER4ZS9Db25maWd1cmF0aW9uLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL0RlYnVn Q29uZmlnLnZmaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvRndWZXJzaW9uU3RyaW5ncy51bmkNCj4gIGNy ZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0 Zm9ybVNldHVwRHhlL01haW4udmZpDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9ybVNldHVwRHhl LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1BsYXRmb3JtU2V0dXBEeGUuaA0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBE eGUvUGxhdGZvcm1TZXR1cER4ZS5pbmYNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1NlY3VyaXR5LnZmaQ0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1BsYXRmb3JtU2V0dXBEeGUvU2V0dXBGdW5jdGlvbnMuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvU2V0 dXBJbmZvUmVjb3Jkcy5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9Tb3V0aENsdXN0ZXJDb25maWcudmZp DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvUGxhdGZvcm1TZXR1cER4ZS9TeXN0ZW1Db21wb25lbnQudmZpDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4 ZS9UaGVybWFsLnZmaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVW5Db3JlLnZmaQ0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0 dXBEeGUvVXFpTGlzdC51bmkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1Zmci52ZnINCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNl dHVwRHhlL1ZmclN0cmluZ3MudW5pDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TbW0vUGxhdGZvcm0uYw0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt U21tL1BsYXRmb3JtU21tLmluZg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21tL1MzU2F2ZS5jDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TbW0v U21tUGxhdGZvcm0uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21tL1NtbVNjcmlwdFNhdmUuYw0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21t L1NtbVNjcmlwdFNhdmUuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Qb2xpY3kuYw0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Q b2xpY3kuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Qb2xpY3kuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQg UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUmVhZG1lLm1kDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU2F2ZU1lbW9yeUNv bmZpZy9TYXZlTWVtb3J5Q29uZmlnLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25m aWcuDQo+IGgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TYXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25maWcuaQ0KPiBuZg0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Nt Qmlvc01pc2NEeGUvQ29tbW9uSGVhZGVyLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCYXNlQm9hcmRN YW51ZmFjdA0KPiB1cmVyLnVuaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jhc2VCb2FyZE1hbnVmYWN0 DQo+IHVyZXJEYXRhLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCYXNlQm9hcmRNYW51ZmFjdA0KPiB1 cmVyRnVuY3Rpb24uYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jpb3NWZW5kb3IudW5pDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9z TWlzY0R4ZS9NaXNjQmlvc1ZlbmRvckRhdGEuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jpb3NWZW5k b3JGdW5jdGlvbi4NCj4gYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jvb3RJbmZvcm1hdGlvbkRhdA0K PiBhLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCb290SW5mb3JtYXRpb25GdW4NCj4gY3Rpb24uYw0K PiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1NtQmlvc01pc2NEeGUvTWlzY0NoYXNzaXNNYW51ZmFjdHVyZXINCj4gLnVuaQ0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01p c2NEeGUvTWlzY0NoYXNzaXNNYW51ZmFjdHVyZXINCj4gRGF0YS5jDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjQ2hhc3Npc01hbnVmYWN0dXJlcg0KPiBGdW5jdGlvbi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNj TWVtb3J5RGV2aWNlLnVuaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY01lbW9yeURldmljZURhdGEuDQo+ IGMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NNZW1vcnlEZXZpY2VGdW5jdA0KPiBpb24uYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlv c01pc2NEeGUvTWlzY051bWJlck9mSW5zdGFsbGFibGUNCj4gTGFuZ3VhZ2VzRGF0YS5jDQo+ICBj cmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21C aW9zTWlzY0R4ZS9NaXNjTnVtYmVyT2ZJbnN0YWxsYWJsZQ0KPiBMYW5ndWFnZXNGdW5jdGlvbi5j DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvU21CaW9zTWlzY0R4ZS9NaXNjT2VtU3RyaW5nLnVuaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09l bVN0cmluZ0RhdGEuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09lbVN0cmluZ0Z1bmN0aW9uLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T bUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5MC51bmkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPZW1U eXBlMHg5MERhdGEuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09lbVR5cGUweDkwRnVuY3RpDQo+IG9u LmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5NC51bmkNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01p c2NPZW1UeXBlMHg5NERhdGEuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09lbVR5cGUweDk0RnVuY3Rp DQo+IG9uLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPbmJvYXJkRGV2aWNlLnVuaQ0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01p c2NEeGUvTWlzY09uYm9hcmREZXZpY2VEYXRhLg0KPiBjDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT25i b2FyZERldmljZUZ1bmN0DQo+IGlvbi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUGh5c2ljYWxBcnJh eS51bmkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQaHlzaWNhbEFycmF5RGF0YS5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlz Y0R4ZS9NaXNjUGh5c2ljYWxBcnJheUZ1bmN0aW8NCj4gbi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2 NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNj UG9ydEludGVybmFsQ29ubmVjdA0KPiBvckRlc2lnbmF0b3IudW5pDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjUG9ydEludGVybmFsQ29ubmVjdA0KPiBvckRlc2lnbmF0b3JEYXRhLmMNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNj RHhlL01pc2NQb3J0SW50ZXJuYWxDb25uZWN0DQo+IG9yRGVzaWduYXRvckZ1bmN0aW9uLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T bUJpb3NNaXNjRHhlL01pc2NQcm9jZXNzb3JDYWNoZS51bmkNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0 NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQ cm9jZXNzb3JDYWNoZURhdGEuDQo+IGMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQcm9jZXNzb3JDYWNo ZUZ1bmMNCj4gdGlvbi5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29ySW5mb3JtYXRpbw0K PiBuLnVuaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1Byb2Nlc3NvckluZm9ybWF0aW8NCj4gbkRhdGEu Yw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1NtQmlvc01pc2NEeGUvTWlzY1Byb2Nlc3NvckluZm9ybWF0aW8NCj4gbkZ1bmN0aW9uLmMN Cj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbUJpb3NNaXNjRHhlL01pc2NSZXNldENhcGFiaWxpdGllc0RhdA0KPiBhLmMNCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NN aXNjRHhlL01pc2NSZXNldENhcGFiaWxpdGllc0Z1bg0KPiBjdGlvbi5jDQo+ICBjcmVhdGUgbW9k ZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4 ZS9NaXNjU3ViY2xhc3NEcml2ZXIuaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N1YmNsYXNzRHJpdmVy LnVuaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N1YmNsYXNzRHJpdmVyRGF0YVQNCj4gYWJsZS5jDQo+ ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv U21CaW9zTWlzY0R4ZS9NaXNjU3ViY2xhc3NEcml2ZXJFbnRyeVANCj4gb2ludC5jDQo+ICBjcmVh dGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9z TWlzY0R4ZS9NaXNjU3lzdGVtTGFuZ3VhZ2VTdHJpDQo+IG5nLnVuaQ0KPiAgY3JlYXRlIG1vZGUg MTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUv TWlzY1N5c3RlbUxhbmd1YWdlU3RyaQ0KPiBuZ0RhdGEuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0 DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5 c3RlbUxhbmd1YWdlU3RyaQ0KPiBuZ0Z1bmN0aW9uLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0 ZW1NYW51ZmFjdHVyZQ0KPiByLnVuaQ0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU1hbnVmYWN0 dXJlDQo+IHJEYXRhLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1NYW51ZmFjdHVyZQ0KPiBy RnVuY3Rpb24uYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU9wdGlvblN0cmluZy4NCj4gdW5p DQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtT3B0aW9uU3RyaW5nDQo+IERhdGEuYw0KPiAgY3Jl YXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlv c01pc2NEeGUvTWlzY1N5c3RlbU9wdGlvblN0cmluZ0YNCj4gdW5jdGlvbi5jDQo+ICBjcmVhdGUg bW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlz Y0R4ZS9NaXNjU3lzdGVtU2xvdERlc2lnbmF0aQ0KPiBvbi51bmkNCj4gIGNyZWF0ZSBtb2RlIDEw MDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01p c2NTeXN0ZW1TbG90RGVzaWduYXRpDQo+IG9uRGF0YS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQN Cj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lz dGVtU2xvdERlc2lnbmF0aQ0KPiBvbkZ1bmN0aW9uLmMNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0K PiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL1NtQmlvc01p c2NEeGUuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU21tU3dEaXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaHVuDQo+IGsvU21tU3dE aXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaHVuay5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4g UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21tU3dEaXNwYXRjaDJPblNtbVN3RGlz cGF0Y2hUaHVuDQo+IGsvU21tU3dEaXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaHVuay5pbmYNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T bXJhbVNhdmVJbmZvSGFuZGxlclNtbS9TbXJhbVNhdmVJDQo+IG5mb0hhbmRsZXJTbW0uYw0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Nt cmFtU2F2ZUluZm9IYW5kbGVyU21tL1NtcmFtU2F2ZUkNCj4gbmZvSGFuZGxlclNtbS5pbmYNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T dGl0Y2gvR2NjL052U3RvcmFnZUZ0d1NwYXJlLmJpbg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9HY2MvTnZTdG9yYWdlRnR3 V29ya2luZy5iaW4NCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9TdGl0Y2gvR2NjL052U3RvcmFnZVZhcmlhYmxlLmJpbg0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9J RldJSGVhZGVyL0lGV0lfSEVBREVSLmJpbg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9JRldJSGVhZGVyL0lGV0lfSEVBREVS X1NQSUxPQw0KPiBLLmJpbg0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9JRldJSGVhZGVyL1ZhY2FudC5iaW4NCj4gIGNyZWF0 ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TdGl0Y2gvSUZX SVN0aXRjaC5iYXQNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9TdGl0Y2gvTU5XMl9TdGl0Y2hfQ29uZmlnLnR4dA0KPiAgY3JlYXRlIG1v ZGUgMTAwNjQ0IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1VpQXBwL0Zyb250UGFn ZS5jDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvVWlBcHAvVWlBcHAuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQNCj4gUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvVmx2UGxhdGZvcm1Jbml0RHhlL0lnZE9wUmVnaW9uLmMNCj4g IGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9W bHZQbGF0Zm9ybUluaXREeGUvSWdkT3BSZWdpb24uaA0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+ IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQ bGF0Zm9ybUluaXQuYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0Zm9ybUluaXQuaA0KPiAg Y3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Zs dlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0Zm9ybUluaXREeGUuaW5mDQo+ICBjcmVhdGUgbW9kZSAx MDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNEcml2ZXIu Yw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1dwY2U3OTEvTHBjRHJpdmVyLmgNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NA0KPiBQbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL0xwY0lzYUFjcGkuYw0KPiAgY3JlYXRl IG1vZGUgMTAwNjQ0DQo+IFBsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3OTEv THBjSXNhQWNwaS5oDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvV3BjZTc5MS9McGNTaW8uYw0KPiAgY3JlYXRlIG1vZGUgMTAwNjQ0IFBsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3OTEvTHBjU2lvLmgNCj4gIGNyZWF0ZSBt b2RlIDEwMDY0NA0KPiBQbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL1dw Y2U3OTEuaW5mDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvYmxkX3Zsdi5iYXQNCj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBQbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9ibGRfdmx2LnNoDQo+ICBjcmVhdGUgbW9kZSAxMDA2NDQgUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvY2xuLnNoDQo+IA0KPiBkaWZmIC0tZ2l0IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvLmdpdGlnbm9yZQ0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnLy5naXRpZ25vcmUNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYzc2OTgyNjJhZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnLy5naXRpZ25vcmUNCj4gQEAgLTAs MCArMSw1IEBADQo+ICtBdXRvUGxhdGZvcm1DRkcudHh0DQo+ICtTdGl0Y2gvU3RpdGNoaW5nLmxv Zw0KPiArU3RpdGNoL01OVyouYmluDQo+ICtTdGl0Y2gvTU5XKi5yb20NCj4gK1N0aXRjaC9NTlcq LnJvbS5vcmlnDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtLmMNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNWMwM2Y2NmVkYg0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0Zm9ybS9BY3Bp UGxhdGZvcm0uYw0KPiBAQCAtMCwwICsxLDEzMzggQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsg IENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArTW9k dWxlIE5hbWU6DQo+ICsNCj4gKyAgQWNwaVBsYXRmb3JtLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ ICsNCj4gKyAgQUNQSSBQbGF0Zm9ybSBEcml2ZXINCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiAr I2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvVGNnU2VydmljZS5oPg0K PiArI2luY2x1ZGUgPFByb3RvY29sL0Zpcm13YXJlVm9sdW1lMi5oPg0KPiArI2luY2x1ZGUgIkFj cGlQbGF0Zm9ybS5oIg0KPiArI2luY2x1ZGUgIkFjcGlQbGF0Zm9ybUhvb2tzLmgiDQo+ICsjaW5j bHVkZSAiQWNwaVBsYXRmb3JtSG9va3NMaWIuaCINCj4gKyNpbmNsdWRlICJQbGF0Zm9ybS5oIg0K PiArI2luY2x1ZGUgPEhwZXQuaD4NCj4gKyNpbmNsdWRlIDxNY2ZnLmg+DQo+ICsjaW5jbHVkZSAi T3Nmci5oIg0KPiArI2luY2x1ZGUgPEd1aWQvR2xvYmFsVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRl IDxHdWlkL1NldHVwVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1BsYXRmb3JtSW5mby5o Pg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0NwdUlvLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9Cb2Fy ZEZlYXR1cmVzLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQWNwaVN1cHBvcnQuaD4NCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9BY3BpUzNTYXZlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUHMy UG9saWN5Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9DcHVJQTMyLmg+DQo+ICsjaW5jbHVkZSA8 U2V0dXBNb2RlLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9BY3BpVGFibGVTdG9yYWdlLmg+DQo+ICsj aW5jbHVkZSA8R3VpZC9FZmlWcGREYXRhLmg+DQo+ICsjaW5jbHVkZSA8UGNoQWNjZXNzLmg+DQo+ ICsjaW5jbHVkZSA8R3VpZC9WbHYyVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1BsYXRm b3JtQ3B1SW5mby5oPg0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvV2luZG93c1NtbVNl Y3VyaXR5TWl0aWdhdGlvblRhYmxlLmg+DQo+ICsNCj4gKw0KPiArQ0hBUjE2ICAgIEVmaVBsYXRm b3JtQ3B1SW5mb1ZhcmlhYmxlW10gPSBMIlBsYXRmb3JtQ3B1SW5mbyI7DQo+ICtDSEFSMTYgICAg Z0FDUElPU0ZSTW9kZWxTdHJpbmdWYXJpYWJsZU5hbWVbXSA9DQo+IEFDUElfT1NGUl9NT0RFTF9T VFJJTkdfVkFSSUFCTEVfTkFNRTsNCj4gK0NIQVIxNiAgICBnQUNQSU9TRlJSZWZEYXRhQmxvY2tW YXJpYWJsZU5hbWVbXSA9DQo+IEFDUElfT1NGUl9SRUZfREFUQV9CTE9DS19WQVJJQUJMRV9OQU1F Ow0KPiArQ0hBUjE2ICAgIGdBQ1BJT1NGUk1mZ1N0cmluZ1ZhcmlhYmxlTmFtZVtdID0NCj4gQUNQ SV9PU0ZSX01GR19TVFJJTkdfVkFSSUFCTEVfTkFNRTsNCj4gKw0KPiArRUZJX0NQVV9JT19QUk9U T0NPTCAgICAgICAgICAgICAgICAgICAgKm1DcHVJbzsNCj4gK0VGSV9HTE9CQUxfTlZTX0FSRUFf UFJPVE9DT0wgICAgICAgICAgICBtR2xvYmFsTnZzQXJlYTsNCj4gKyNpZm5kZWYgX19HTlVDX18N Cj4gKyNwcmFnbWEgb3B0aW1pemUoIiIsIG9mZikNCj4gKyNlbmRpZg0KPiArQk9PTEVBTiAgICAg ICAgICAgICAgICAgICBtRmlyc3ROb3RpZnk7DQo+ICtFRklfUExBVEZPUk1fSU5GT19IT0IgICAg ICptUGxhdGZvcm1JbmZvOw0KPiArRUZJX0dVSUQgICAgICAgICAgICAgICAgICBtU3lzdGVtQ29u ZmlndXJhdGlvbkd1aWQgPQ0KPiBTWVNURU1fQ09ORklHVVJBVElPTl9HVUlEOw0KPiArU1lTVEVN X0NPTkZJR1VSQVRJT04gICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbjsNCj4gK1NZU1RFTV9DT05G SUdVUkFUSU9OICAgICAgbVN5c3RlbUNvbmZpZzsNCj4gKw0KPiArVUlOVDggbVNtYnVzUnN2ZEFk ZHJlc3Nlc1tdID0gUExBVEZPUk1fU01CVVNfUlNWRF9BRERSRVNTRVM7DQo+ICtVSU5UOCBtTnVt YmVyU21idXNBZGRyZXNzID0gc2l6ZW9mKCBtU21idXNSc3ZkQWRkcmVzc2VzICkgLw0KPiBzaXpl b2YoIG1TbWJ1c1JzdmRBZGRyZXNzZXNbMF0gKTsNCj4gKw0KPiArLyoqDQo+ICsgIExvY2F0ZSB0 aGUgZmlyc3QgaW5zdGFuY2Ugb2YgYSBwcm90b2NvbC4gIElmIHRoZSBwcm90b2NvbCByZXF1ZXN0 ZWQgaXMgYW4NCj4gKyAgRlYgcHJvdG9jb2wsIHRoZW4gaXQgd2lsbCByZXR1cm4gdGhlIGZpcnN0 IEZWIHRoYXQgY29udGFpbnMgdGhlIEFDUEkgdGFibGUNCj4gKyAgc3RvcmFnZSBmaWxlLg0KPiAr DQo+ICsgIEBwYXJhbVtpbl0gIFByb3RvY29sICAgICAgICAgICAgVGhlIHByb3RvY29sIHRvIGZp bmQuDQo+ICsgIEBwYXJhbVtpbl0gIEluc3RhbmNlICAgICAgICAgICAgUmV0dXJuIHBvaW50ZXIg dG8gdGhlIGZpcnN0IGluc3RhbmNlIG9mIHRoZQ0KPiBwcm90b2NvbC4NCj4gKyAgQHBhcmFtW2lu XSAgVHlwZSAgICAgICAgICAgICAgICBUaGUgdHlwZSBvZiBwcm90b2NvbCB0byBsb2NhdGUuDQo+ ICsNCj4gKyAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgZnVuY3Rpb24gY29t cGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCAgRUZJX05PVF9GT1VORCAgICAgICAg ICBUaGUgcHJvdG9jb2wgY291bGQgbm90IGJlIGxvY2F0ZWQuDQo+ICsgIEByZXR2YWwgIEVGSV9P VVRfT0ZfUkVTT1VSQ0VTICAgVGhlcmUgYXJlIG5vdCBlbm91Z2ggcmVzb3VyY2VzIHRvDQo+IGZp bmQgdGhlIHByb3RvY29sLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0xvY2F0ZVN1 cHBvcnRQcm90b2NvbCAoDQo+ICsgIElOICAgRUZJX0dVSUQgICAgICAgKlByb3RvY29sLA0KPiAr ICBPVVQgIFZPSUQgICAgICAgICAgICoqSW5zdGFuY2UsDQo+ICsgIElOICAgVUlOVDMyICAgICAg ICAgVHlwZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgIFN0YXR1 czsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgKkhhbmRsZUJ1ZmZlcjsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZIYW5kbGVzOw0KPiArICBFRklfRlZfRklMRVRZ UEUgICAgICAgICBGaWxlVHlwZTsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgRnZTdGF0 dXM7DQo+ICsgIEVGSV9GVl9GSUxFX0FUVFJJQlVURVMgIEF0dHJpYnV0ZXM7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgIFNpemU7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgIElu ZGV4Ow0KPiArDQo+ICsgIEZ2U3RhdHVzID0gMDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBMb2Nh dGUgcHJvdG9jb2wuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVm ZmVyICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAg ICAgICBQcm90b2NvbCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAg ICAgICAgICAmTnVtYmVyT2ZIYW5kbGVzLA0KPiArICAgICAgICAgICAgICAgICAgJkhhbmRsZUJ1 ZmZlcg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gRGVmaW5lZCBlcnJvcnMgYXQgdGhpcyB0aW1lIGFy ZSBub3QgZm91bmQgYW5kIG91dCBvZiByZXNvdXJjZXMuDQo+ICsgICAgLy8NCj4gKyAgICByZXR1 cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTG9va2luZyBmb3IgRlYg d2l0aCBBQ1BJIHN0b3JhZ2UgZmlsZS4NCj4gKyAgLy8NCj4gKyAgZm9yIChJbmRleCA9IDA7IElu ZGV4IDwgTnVtYmVyT2ZIYW5kbGVzOyBJbmRleCsrKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBH ZXQgdGhlIHByb3RvY29sIG9uIHRoaXMgaGFuZGxlLg0KPiArICAgIC8vIFRoaXMgc2hvdWxkIG5v dCBmYWlsIGJlY2F1c2Ugb2YgTG9jYXRlSGFuZGxlQnVmZmVyLg0KPiArICAgIC8vDQo+ICsgICAg U3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgIEhh bmRsZUJ1ZmZlcltJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgIFByb3RvY29sLA0KPiAr ICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZQ0KPiArICAgICAgICAgICAgICAgICAgICApOw0K PiArICAgIEFTU0VSVCAoIUVGSV9FUlJPUiAoU3RhdHVzKSk7DQo+ICsNCj4gKyAgICBpZiAoIVR5 cGUpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBOb3QgbG9va2luZyBmb3IgdGhlIEZWIHBy b3RvY29sLCBzbyBmaW5kIHRoZSBmaXJzdCBpbnN0YW5jZSBvZiB0aGUNCj4gKyAgICAgIC8vIHBy b3RvY29sLiAgVGhlcmUgc2hvdWxkIG5vdCBiZSBhbnkgZXJyb3JzIGJlY2F1c2Ugb3VyIGhhbmRs ZSBidWZmZXINCj4gKyAgICAgIC8vIHNob3VsZCBhbHdheXMgY29udGFpbiBhdCBsZWFzdCBvbmUg b3IgTG9jYXRlSGFuZGxlQnVmZmVyIHdvdWxkIGhhdmUNCj4gKyAgICAgIC8vIHJldHVybmVkIG5v dCBmb3VuZC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vIFNlZSBpZiBpdCBoYXMgdGhlIEFDUEkgc3RvcmFnZSBmaWxlLg0K PiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gKChFRklfRklSTVdBUkVfVk9MVU1FX1BST1RPQ09M ICopICgqSW5zdGFuY2UpKS0NCj4gPlJlYWRGaWxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkluc3RhbmNlLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmZ0VmaUFjcGlUYWJsZVN0b3JhZ2VHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm U2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJkZpbGVUeXBlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQXR0cmlidXRlcywNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg JkZ2U3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIElmIHdlIGZv dW5kIGl0LCB0aGVuIHdlIGFyZSBkb25lLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKCFFRklfRVJS T1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIE91ciBleGl0IHN0YXR1cyBpcyBkZXRlcm1pbmVkIGJ5IHRoZSBzdWNj ZXNzIG9mIHRoZSBwcmV2aW91cyBvcGVyYXRpb25zLg0KPiArICAvLyBJZiB0aGUgcHJvdG9jb2wg d2FzIGZvdW5kLCBJbnN0YW5jZSBhbHJlYWR5IHBvaW50cyB0byBpdC4NCj4gKyAgLy8NCj4gKyAg Ly8NCj4gKyAgLy8gRnJlZSBhbnkgYWxsb2NhdGVkIGJ1ZmZlcnMuDQo+ICsgIC8vDQo+ICsgIGdC Uy0+RnJlZVBvb2wgKEhhbmRsZUJ1ZmZlcik7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4g K30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gd2lsbCB1cGRhdGUgYW55IHJ1bnRp bWUgcGxhdGZvcm0gc3BlY2lmaWMgaW5mb3JtYXRpb24uDQo+ICsgIFRoaXMgY3VycmVudGx5IGlu Y2x1ZGVzOg0KPiArICAgIFNldHRpbmcgT0VNIHRhYmxlIHZhbHVlcywgSUQsIHRhYmxlIElELCBj cmVhdG9yIElEIGFuZCBjcmVhdG9yIHJldmlzaW9uLg0KPiArICAgIEVuYWJsaW5nIHRoZSBwcm9w ZXIgcHJvY2Vzc29yIGVudHJpZXMgaW4gdGhlIEFQSUMgdGFibGVzLg0KPiArDQo+ICsgIEBwYXJh bVtpbl0gIFRhYmxlICAgICAgIFRoZSB0YWJsZSB0byB1cGRhdGUuDQo+ICsNCj4gKyAgQHJldHZh bCAgRUZJX1NVQ0NFU1MgICAgVGhlIGZ1bmN0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+ ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArUGxhdGZvcm1VcGRhdGVUYWJsZXMgKA0KPiAr ICBJTiBPVVQgRUZJX0FDUElfQ09NTU9OX0hFQURFUiAgKlRhYmxlDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX0FDUElfREVTQ1JJUFRJT05fSEVBREVSICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKlRhYmxlSGVhZGVyOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQ3VyclB0cjsNCj4gKyAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkVuZFB0cjsN Cj4gKyAgQUNQSV9BUElDX1NUUlVDVFVSRV9QVFIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKkFwaWNQdHI7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEN1cnJQcm9jZXNzb3I7DQo+ICsgIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1 czsNCj4gKyAgRUZJX01QX1NFUlZJQ0VTX1BST1RPQ09MICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKk1wU2VydmljZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4aW11bU51bWJlck9mQ1BVczsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTnVtYmVyT2ZFbmFibGVkQ1BVczsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQnNwSW5kZXg7DQo+ICsgIEVGSV9B Q1BJXzFfMF9BU0ZfREVTQ1JJUFRJT05fVEFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICpB c2ZFbnRyeTsNCj4gKyAgRUZJX0FDUElfSElHSF9QUkVDSVNJT05fRVZFTlRfVElNRVJfVEFCTEVf SEVBREVSDQo+ICpIcGV0VGJsOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZW1JZFZhbHVlOw0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsN Cj4gKyAgRUZJX0FDUElfM18wX0ZJWEVEX0FDUElfREVTQ1JJUFRJT05fVEFCTEUgICAgICAgICAg ICAgICAgICAgKkZhY3A7DQo+ICsgIEVGSV9BQ1BJX09TRlJfVEFCTEUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICpPc2ZyVGFibGU7DQo+ICsgIEVGSV9BQ1BJX09TRlJf T0NVUl9PQkpFQ1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpwT2N1ck9iamVj dDsNCj4gKyAgRUZJX0FDUElfT1NGUl9PQ1VSX09CSkVDVCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2N1ck9iamVjdCA9DQo+IHt7MHhCNDZGMTMzRCwgMHgyMzVGLCAweDQ2MzQs IDB4OUYsIDB4MDMsIDB4QjEsIDB4QzAsIDB4MUMsIDB4NTQsIDB4NzgsIDB4NUJ9LA0KPiAwLCAw LCAwLCAwLCAwfTsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKk9jdXJNZmdTdHJpbmdCdWZmZXIgPSBOVUxMOw0KPiArICBD SEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqT2N1ck1vZGVsU3RyaW5nQnVmZmVyID0gTlVMTDsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKk9jdXJSZWZEYXRhQmxv Y2tCdWZmZXIgPSBOVUxMOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBPY3VyTWZnU3RyaW5nQnVmZmVyU2l6ZTsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT2N1ck1vZGVsU3RyaW5nQnVmZmVyU2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2N1clJlZkRhdGFCbG9ja0J1 ZmZlclNpemU7DQo+ICsjaWYgZGVmaW5lZCAoSURDQzJfU1VQUE9SVEVEKSAmJiBJRENDMl9TVVBQ T1JURUQNCj4gKyAgRUZJX0FDUElfQVNQVF9UQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKnBTcHR0VGFibGU7DQo+ICsjZW5kaWYNCj4gKyAgVUlOVDE2ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZI cGV0czsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSHBldENhcElkVmFsdWU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhwZXRCbG9ja0lEOw0KPiAr ICBFRklfUFJPQ0VTU09SX0lORk9STUFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBQcm9jZXNzb3JJbmZvQnVmZmVyOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZW1wVmFsOw0KPiArICBFRklfQUNQ SV8zXzBfSU9fQVBJQ19TVFJVQ1RVUkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqSU9B cGljVHlwZTsNCj4gKyAgRUZJX0FDUElfM18wX01VTFRJUExFX0FQSUNfREVTQ1JJUFRJT05fVEFC TEVfSEVBREVSDQo+ICpBUElDVGFibGVIZWFkZXI7DQo+ICsgIEVGSV9BQ1BJX1dTTVRfVEFCTEUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpXc210VGFibGU7DQo+ICsN Cj4gKyAgQ3VyclB0ciAgICAgICAgICAgICAgICAgPSBOVUxMOw0KPiArICBFbmRQdHIgICAgICAg ICAgICAgICAgICA9IE5VTEw7DQo+ICsgIEFwaWNQdHIgICAgICAgICAgICAgICAgID0gTlVMTDsN Cj4gKyAgQ3VyclByb2Nlc3NvciAgICAgICAgICAgPSAwOw0KPiArDQo+ICsNCj4gKyBpZiAoVGFi bGUtPlNpZ25hdHVyZSAhPQ0KPiBFRklfQUNQSV8xXzBfRklSTVdBUkVfQUNQSV9DT05UUk9MX1NU UlVDVFVSRV9TSUdOQVRVUkUpIHsNCj4gKyAgICBUYWJsZUhlYWRlciA9IChFRklfQUNQSV9ERVND UklQVElPTl9IRUFERVIgKikgVGFibGU7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBVcGRhdGUgdGhl IE9FTUlELg0KPiArICAgIC8vDQo+ICsgICAgT2VtSWRWYWx1ZSA9IG1QbGF0Zm9ybUluZm8tPkFj cGlPZW1JZDsNCj4gKw0KPiArICAgICooVUlOVDMyICopKFRhYmxlSGVhZGVyLT5PZW1JZCkgICAg ID0gKFVJTlQzMilPZW1JZFZhbHVlOw0KPiArICAgICooVUlOVDE2ICopKFRhYmxlSGVhZGVyLT5P ZW1JZCArIDQpID0gKihVSU5UMTYqKSgoKFVJTlQ4DQo+ICopJk9lbUlkVmFsdWUpICsgNCk7DQo+ ICsNCj4gKyAgICBpZiAoKFRhYmxlLT5TaWduYXR1cmUgIT0NCj4gRUZJX0FDUElfMl8wX1NFQ09O REFSWV9TWVNURU1fREVTQ1JJUFRJT05fVEFCTEVfU0lHTkFUVVJFKSkgew0KPiArICAgIC8vDQo+ ICsgICAgLy8gVXBkYXRlIHRoZSBPRU0gVGFibGUgSUQuDQo+ICsgICAgLy8NCj4gKyAgICAgIFRh YmxlSGVhZGVyLT5PZW1UYWJsZUlkID0gbVBsYXRmb3JtSW5mby0+QWNwaU9lbVRhYmxlSWQ7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBVcGRhdGUgdGhlIE9FTSBUYWJsZSBJ RC4NCj4gKyAgICAvLw0KPiArICAgIFRhYmxlSGVhZGVyLT5PZW1SZXZpc2lvbiA9IEVGSV9BQ1BJ X09FTV9SRVZJU0lPTjsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gVXBkYXRlIHRoZSBjcmVh dG9yIElELg0KPiArICAgIC8vDQo+ICsgICAgVGFibGVIZWFkZXItPkNyZWF0b3JJZCA9IEVGSV9B Q1BJX0NSRUFUT1JfSUQ7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFVwZGF0ZSB0aGUgY3Jl YXRvciByZXZpc2lvbi4NCj4gKyAgICAvLw0KPiArICAgIFRhYmxlSGVhZGVyLT5DcmVhdG9yUmV2 aXNpb24gPSBFRklfQUNQSV9DUkVBVE9SX1JFVklTSU9OOw0KPiArICB9DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gQ29tcGxldGUgdGhpcyBmdW5jdGlvbi4NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAg Ly8gTG9jYXRlIHRoZSBNUCBzZXJ2aWNlcyBwcm90b2NvbC4NCj4gKyAgLy8NCj4gKyAgLy8NCj4g KyAgLy8gRmluZCB0aGUgTVAgUHJvdG9jb2wuIFRoaXMgaXMgYW4gTVAgcGxhdGZvcm0sIHNvIE1Q IHByb3RvY29sIG11c3QgYmUNCj4gKyAgLy8gdGhlcmUuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9 IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlNcFNlcnZp Y2VQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAg ICAgICAgICAgKFZPSUQgKiopICZNcFNlcnZpY2UNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRGV0ZXJtaW5lIHRoZSBudW1iZXIgb2YgcHJvY2Vz c29ycy4NCj4gKyAgLy8NCj4gKyAgTXBTZXJ2aWNlLT5HZXROdW1iZXJPZlByb2Nlc3NvcnMgKA0K PiArICAgICAgICAgICAgICBNcFNlcnZpY2UsDQo+ICsgICAgICAgICAgICAgICZNYXhpbXVtTnVt YmVyT2ZDUFVzLA0KPiArICAgICAgICAgICAgICAmTnVtYmVyT2ZFbmFibGVkQ1BVcw0KPiArICAg ICAgICAgICAgICApOw0KPiArDQo+ICsgIEFTU0VSVCAoTWF4aW11bU51bWJlck9mQ1BVcyA8PSBN QVhfQ1BVX05VTSAmJg0KPiBOdW1iZXJPZkVuYWJsZWRDUFVzID49IDEpOw0KPiArDQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gQXNzaWduIGEgaW52YWxpZCBpbnRpYWwgdmFsdWUgZm9yIHVwZGF0ZS4N Cj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIHRoZSBwcm9jZXNzb3JzIGluIHRoZSBB UElDIHRhYmxlLg0KPiArICAvLw0KPiArICBzd2l0Y2ggKFRhYmxlLT5TaWduYXR1cmUpIHsNCj4g KyAgICBjYXNlIEVGSV9BQ1BJXzFfMF9BU0ZfREVTQ1JJUFRJT05fVEFCTEVfU0lHTkFUVVJFOg0K PiArICAgICAgLy8NCj4gKyAgICAgIC8vIFVwZGF0ZSB0aGUgdGFibGUgaWYgQVNGIGlzIGVuYWJs ZWQuIE90aGVyd2lzZSwgcmV0dXJuIGVycm9yIHNvIGNhbGxlcg0KPiB3aWxsIG5vdCBpbnN0YWxs Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmIChtU3lzdGVtQ29uZmlnLkFzZiA9PSAxKSB7DQo+ ICsgICAgICAgIHJldHVybiAgRUZJX1VOU1VQUE9SVEVEOw0KPiArICAgICAgfQ0KPiArICAgICAg QXNmRW50cnkgPSAoRUZJX0FDUElfMV8wX0FTRl9ERVNDUklQVElPTl9UQUJMRSAqKSBUYWJsZTsN Cj4gKyAgICAgIFRlbXBWYWwgPSAobU51bWJlclNtYnVzQWRkcmVzcyA8DQo+IEFTRl9BRERSX0RF VklDRV9BUlJBWV9MRU5HVEgpPyBtTnVtYmVyU21idXNBZGRyZXNzIDoNCj4gQVNGX0FERFJfREVW SUNFX0FSUkFZX0xFTkdUSDsNCj4gKyAgICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IFRlbXBW YWw7IEluZGV4KyspIHsNCj4gKyAgICAgICAgQXNmRW50cnktPkFzZkFkZHIuRml4ZWRTbWJ1c0Fk ZHJlc3Nlc1tJbmRleF0gPQ0KPiBtU21idXNSc3ZkQWRkcmVzc2VzW0luZGV4XTsNCj4gKyAgICAg IH0NCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBFRklfQUNQSV8zXzBfTVVMVElQ TEVfQVBJQ19ERVNDUklQVElPTl9UQUJMRV9TSUdOQVRVUkU6DQo+ICsNCj4gKyAgICAgIFN0YXR1 cyA9IE1wU2VydmljZS0+V2hvQW1JICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBN cFNlcnZpY2UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJzcEluZGV4DQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAg IC8vIFBDQVRfQ09NUEFUIFNldCB0byAxIGluZGljYXRlIDgyNTkgdmVjdG9ycyBzaG91bGQgYmUg ZGlzYWJsZWQuDQo+ICsgICAgICAvLw0KPiArICAgICAgQVBJQ1RhYmxlSGVhZGVyID0NCj4gKEVG SV9BQ1BJXzNfMF9NVUxUSVBMRV9BUElDX0RFU0NSSVBUSU9OX1RBQkxFX0hFQURFUiAqKVRhYmxl Ow0KPiArICAgICAgQVBJQ1RhYmxlSGVhZGVyLT5GbGFncyB8PSBFRklfQUNQSV8zXzBfUENBVF9D T01QQVQ7DQo+ICsNCj4gKyAgICAgIEN1cnJQdHIgPSAoVUlOVDggKikgJigoRUZJX0FDUElfREVT Q1JJUFRJT05fSEVBREVSICopIFRhYmxlKVsxXTsNCj4gKyAgICAgIEN1cnJQdHIgPSBDdXJyUHRy ICsgODsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFNpemUgb2YgTG9jYWwgQVBJQyBB ZGRyZXNzICYgRmxhZy4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBFbmRQdHIgID0gKFVJTlQ4ICop IFRhYmxlOw0KPiArICAgICAgRW5kUHRyICA9IEVuZFB0ciArIFRhYmxlLT5MZW5ndGg7DQo+ICsg ICAgICB3aGlsZSAoQ3VyclB0ciA8IEVuZFB0cikgew0KPiArICAgICAgICBBcGljUHRyID0gKEFD UElfQVBJQ19TVFJVQ1RVUkVfUFRSICopIEN1cnJQdHI7DQo+ICsgICAgICAgIHN3aXRjaCAoQXBp Y1B0ci0+QWNwaUFwaWNDb21tb24uVHlwZSkgew0KPiArICAgICAgICAgIGNhc2UgRUZJX0FDUElf M18wX1BST0NFU1NPUl9MT0NBTF9BUElDOg0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAg ICAgIC8vIEVTUyBvdmVycmlkZQ0KPiArICAgICAgICAgICAgLy8gRml4IGZvciBPcmRlcmluZyBv ZiBNQURUIHRvIGJlIG1haW50YWluZWQgYXMgaXQgaXMgaW4gTUFEVCB0YWJsZS4NCj4gKyAgICAg ICAgICAgIC8vDQo+ICsgICAgICAgICAgICAvLyBVcGRhdGUgcHJvY2Vzc29yIGVuYWJsZWQgb3Ig ZGlzYWJsZWQgYW5kIGtlZXAgdGhlIGxvY2FsIEFQSUMNCj4gKyAgICAgICAgICAgIC8vIG9yZGVy IGluIE1BRFQgaW50YWN0Lg0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vIFNh bml0eSBjaGVjayB0byBtYWtlIHN1cmUgcHJvYy1pZCBpcyBub3QgYXJiaXRyYXJ5Lg0KPiArICAg ICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJBcGljUHRy LT5BY3BpTG9jYWxBcGljLkFjcGlQcm9jZXNzb3JJZA0KPiA9ICV4LCBNYXhpbXVtTnVtYmVyT2ZD UFVzID0gJXhcbiIsIFwNCj4gKyAgICAgICAgICAgIEFwaWNQdHItPkFjcGlMb2NhbEFwaWMuQWNw aVByb2Nlc3NvcklkLCBNYXhpbXVtTnVtYmVyT2ZDUFVzKSk7DQo+ICsgICAgICAgICAgICBpZihB cGljUHRyLT5BY3BpTG9jYWxBcGljLkFjcGlQcm9jZXNzb3JJZCA+DQo+IE1heGltdW1OdW1iZXJP ZkNQVXMpIHsNCj4gKyAgICAgICAgICAgICAgQXBpY1B0ci0+QWNwaUxvY2FsQXBpYy5BY3BpUHJv Y2Vzc29ySWQgPQ0KPiAoVUlOVDgpTWF4aW11bU51bWJlck9mQ1BVczsNCj4gKyAgICAgICAgICAg IH0NCj4gKw0KPiArICAgICAgICAgICAgQXBpY1B0ci0+QWNwaUxvY2FsQXBpYy5GbGFncyAgPSAw Ow0KPiArDQo+ICsgICAgICAgICAgICBmb3IgKEN1cnJQcm9jZXNzb3IgPSAwOyBDdXJyUHJvY2Vz c29yIDwgTWF4aW11bU51bWJlck9mQ1BVczsNCj4gQ3VyclByb2Nlc3NvcisrKSB7DQo+ICsgICAg ICAgICAgICAgIFN0YXR1cyA9IE1wU2VydmljZS0+R2V0UHJvY2Vzc29ySW5mbyAoDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNcFNlcnZpY2UsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBDdXJyUHJvY2Vzc29yLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJlByb2Nlc3NvckluZm9CdWZmZXINCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAgICAgICAgICAgaWYg KFN0YXR1cyA9PSBFRklfU1VDQ0VTUyAmJiBQcm9jZXNzb3JJbmZvQnVmZmVyLlByb2Nlc3Nvcklk ID09DQo+IEFwaWNQdHItPkFjcGlMb2NhbEFwaWMuQXBpY0lkKSB7DQo+ICsgICAgICAgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICAgICAgICAvLyBDaGVjayB0byBzZWUgd2hldGhlciBvciBub3Qg YSBwcm9jZXNzb3IgKG9yIHRocmVhZCkgaXMgZW5hYmxlZC4NCj4gKyAgICAgICAgICAgICAgICAv Lw0KPiArICAgICAgICAgICAgICAgIGlmICgoQnNwSW5kZXggPT0gQ3VyclByb2Nlc3NvcikgfHwg KChQcm9jZXNzb3JJbmZvQnVmZmVyLlN0YXR1c0ZsYWcNCj4gJiBQUk9DRVNTT1JfRU5BQkxFRF9C SVQpICE9IDApKSB7DQo+ICsgICAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAg ICAgLy8gR28gb24gYW5kIGNoZWNrIGlmIEh5cGVyIFRocmVhZGluZyBpcyBlbmFibGVkLiBJZiBI VCBub3QgZW5hYmxlZA0KPiArICAgICAgICAgICAgICAgICAgLy8gaGlkZSB0aGlzIHRocmVhZCBm cm9tIE9TIGJ5IG5vdCBzZXR0aW5nIHRoZSBmbGFnIHRvIDEuICBUaGlzIGlzIHRoZQ0KPiArICAg ICAgICAgICAgICAgICAgLy8gc29mdHdhcmUgd2F5IHRvIGRpc2FibGUgSHlwZXIgVGhyZWFkaW5n LiAgQmFzaWNhbGx5IHdlIGp1c3QgaGlkZQ0KPiBpdA0KPiArICAgICAgICAgICAgICAgICAgLy8g ZnJvbSB0aGUgT1MuDQo+ICsgICAgICAgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgICAg ICAgQXBpY1B0ci0+QWNwaUxvY2FsQXBpYy5GbGFncyA9DQo+IEVGSV9BQ1BJXzFfMF9MT0NBTF9B UElDX0VOQUJMRUQ7DQo+ICsNCj4gKw0KPiArICAgICAgICAgICAgICAgICAgaWYoUHJvY2Vzc29y SW5mb0J1ZmZlci5Mb2NhdGlvbi5UaHJlYWQgIT0gMCkgew0KPiArICAgICAgICAgICAgICAgICAg ICBBcGljUHRyLT5BY3BpTG9jYWxBcGljLkZsYWdzID0gMDsNCj4gKyAgICAgICAgICAgICAgICAg IH0NCj4gKw0KPiArICAgICAgICAgICAgICAgICAgQXBwZW5kQ3B1TWFwVGFibGVFbnRyeSAoJihB cGljUHRyLT5BY3BpTG9jYWxBcGljKSk7DQo+ICsgICAgICAgICAgICAgICAgfQ0KPiArICAgICAg ICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICB9DQo+ ICsNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAvLyBJZiBubyBBUElDLUlEIG1h dGNoLCB0aGUgY3B1IG1heSBub3QgYmUgcG9wdWxhdGVkLg0KPiArICAgICAgICAgICAgLy8NCj4g KyAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICAgICAgY2FzZSBFRklfQUNQSV8zXzBf SU9fQVBJQzoNCj4gKw0KPiArICAgICAgICAgICAgSU9BcGljVHlwZSA9IChFRklfQUNQSV8zXzBf SU9fQVBJQ19TVFJVQ1RVUkUgKilDdXJyUHRyOw0KPiArICAgICAgICAgICAgSU9BcGljVHlwZS0+ SW9BcGljSWQgPSAweDAyOw0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vIElP IEFQSUMgZW50cmllcyBjYW4gYmUgcGF0Y2hlZCBoZXJlLg0KPiArICAgICAgICAgICAgLy8NCj4g KyAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgQ3VyclB0 ciA9IEN1cnJQdHIgKyBBcGljUHRyLT5BY3BpQXBpY0NvbW1vbi5MZW5ndGg7DQo+ICsgICAgICB9 DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgRUZJX0FDUElfM18wX0ZJWEVEX0FD UElfREVTQ1JJUFRJT05fVEFCTEVfU0lHTkFUVVJFOg0KPiArDQo+ICsgICAgICAgRmFjcCA9IChF RklfQUNQSV8zXzBfRklYRURfQUNQSV9ERVNDUklQVElPTl9UQUJMRSAqKSBUYWJsZTsNCj4gKyAg ICAgICBGYWNwLT5GbGFncyAmPSAoVUlOVDMyKSh+KDM8PDIpKTsNCj4gKw0KPiArICAgICAgYnJl YWs7DQo+ICsNCj4gKyAgICBjYXNlDQo+IEVGSV9BQ1BJXzNfMF9ESUZGRVJFTlRJQVRFRF9TWVNU RU1fREVTQ1JJUFRJT05fVEFCTEVfU0lHTkFUVVJFOg0KPiArICAgICAgLy8NCj4gKyAgICAgIC8v IFBhdGNoIHRoZSBtZW1vcnkgcmVzb3VyY2UuDQo+ICsgICAgICAvLw0KPiArICAgICAgUGF0Y2hE c2R0VGFibGUgKChFRklfQUNQSV9ERVNDUklQVElPTl9IRUFERVIgKikgVGFibGUpOw0KPiArICAg ICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlDQo+IEVGSV9BQ1BJXzNfMF9TRUNPTkRBUllfU1lT VEVNX0RFU0NSSVBUSU9OX1RBQkxFX1NJR05BVFVSRToNCj4gKyAgICAgIC8vDQo+ICsgICAgICAv LyBHdjMgc3VwcG9ydA0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFRCRDogTmVlZCByZS1kZXNp Z24gYmFzZWQgb24gdGhlIFZhbGxleVRyYWlsIHBsYXRmb3JtLg0KPiArICAgICAgLy8NCj4gKyAg ICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBFRklfQUNQSV8zXzBfSElHSF9QUkVDSVNJT05f RVZFTlRfVElNRVJfVEFCTEVfU0lHTkFUVVJFOg0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEFk anVzdCBIUEVUIFRhYmxlIHRvIGNvcnJlY3QgdGhlIEJhc2UgQWRkcmVzcy4NCj4gKyAgICAgIC8v DQo+ICsgICAgICAvLyBFbmFibGUgSFBFVCBhbHdheXMgYXMgSHBldC5hc2kgYWx3YXlzIGluZGlj YXRlcyB0aGF0IEhwZXQgaXMgZW5hYmxlZC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBNbWlvT3I4 IChSX1BDSF9QQ0hfSFBFVCArIFJfUENIX1BDSF9IUEVUX0dDRkcsDQo+IEJfUENIX1BDSF9IUEVU X0dDRkdfRU4pOw0KPiArDQo+ICsNCj4gKyAgICAgIEhwZXRUYmwgPSAoRUZJX0FDUElfSElHSF9Q UkVDSVNJT05fRVZFTlRfVElNRVJfVEFCTEVfSEVBREVSICopDQo+IFRhYmxlOw0KPiArICAgICAg SHBldFRibC0+QmFzZUFkZHJlc3NMb3dlcjMyQml0LkFkZHJlc3MgPSBIUEVUX0JBU0VfQUREUkVT UzsNCj4gKyAgICAgIEhwZXRUYmwtPkV2ZW50VGltZXJCbG9ja0lkID0NCj4gKigoVUlOVDMyKiko VUlOVE4pSFBFVF9CQVNFX0FERFJFU1MpOw0KPiArDQo+ICsgICAgICBIcGV0Q2FwSWRWYWx1ZSA9 ICooVUlOVDE2ICopKFVJTlROKShIUEVUX0JBU0VfQUREUkVTUyk7DQo+ICsgICAgICBOdW1iZXJP ZkhwZXRzID0gSHBldENhcElkVmFsdWUgJiBCX1BDSF9QQ0hfSFBFVF9HQ0lEX05UOyAgLy8NCj4g Qml0cyBbODoxMl0gY29udGFpbnMgdGhlIG51bWJlciBvZiBIcGV0cw0KPiArICAgICAgSHBldEJs b2NrSUQgPSBFRklfQUNQSV9FVkVOVF9USU1FUl9CTE9DS19JRDsNCj4gKw0KPiArICAgICAgaWYo KE51bWJlck9mSHBldHMpICYmIChOdW1iZXJPZkhwZXRzICYNCj4gQl9QQ0hfUENIX0hQRVRfR0NJ RF9OVCkpIHsNCj4gKyAgICAgICAgSHBldEJsb2NrSUQgfD0gKE51bWJlck9mSHBldHMpOw0KPiAr ICAgICAgfQ0KPiArICAgICAgSHBldFRibC0+RXZlbnRUaW1lckJsb2NrSWQgPSBIcGV0QmxvY2tJ RDsNCj4gKw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlDQo+IEVGSV9BQ1BJXzNf MF9QQ0lfRVhQUkVTU19NRU1PUllfTUFQUEVEX0NPTkZJR1VSQVRJT05fU1BBQ0UNCj4gX0JBU0Vf QUREUkVTU19ERVNDUklQVElPTl9UQUJMRV9TSUdOQVRVUkU6DQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gVXBkYXRlIE1DRkcgYmFzZSBhbmQgZW5kIGJ1cyBudW1iZXIuDQo+ICsgICAgICAvLw0K PiArDQo+ICgoRUZJX0FDUElfTUVNT1JZX01BUFBFRF9DT05GSUdVUkFUSU9OX0JBU0VfQUREUkVT U19UQUJMRSAqKQ0KPiBUYWJsZSktPlNlZ21lbnRbMF0uQmFzZUFkZHJlc3MNCj4gKyAgICAgICAg PSBtUGxhdGZvcm1JbmZvLT5QY2lEYXRhLlBjaUV4cHJlc3NCYXNlOw0KPiArDQo+ICgoRUZJX0FD UElfTUVNT1JZX01BUFBFRF9DT05GSUdVUkFUSU9OX0JBU0VfQUREUkVTU19UQUJMRSAqKQ0KPiBU YWJsZSktPlNlZ21lbnRbMF0uRW5kQnVzTnVtYmVyDQo+ICsgICAgICAgID0gKFVJTlQ4KVJTaGlm dFU2NCAobVBsYXRmb3JtSW5mby0+UGNpRGF0YS5QY2lFeHByZXNzU2l6ZSwgMjApIC0gMTsNCj4g KyAgICAgIGJyZWFrOw0KPiArDQo+ICsNCj4gKyAgICBjYXNlIEVGSV9BQ1BJX09TRlJfVEFCTEVf U0lHTkFUVVJFOg0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEdldCBzaXplIG9mIE9TRlIgdmFy aWFibGUuDQo+ICsgICAgICAvLw0KPiArICAgICAgT2N1ck1mZ1N0cmluZ0J1ZmZlclNpemUgPSAw Ow0KPiArICAgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgZ0FDUElPU0ZSTWZnU3RyaW5nVmFyaWFibGVOYW1lLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICZnQUNQSU9TRlJNZmdTdHJpbmdWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmT2N1ck1mZ1N0cmlu Z0J1ZmZlclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgTlVMTA0KPiArICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsgICAgICBpZiAoU3RhdHVzICE9IEVGSV9CVUZGRVJfVE9PX1NN QUxMKSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFZhcmlhYmxlIG11c3Qgbm90IGJl IHByZXNlbnQgb24gdGhlIHN5c3RlbS4NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgcmV0dXJu IEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAg IC8vIEFsbG9jYXRlIG1lbW9yeSBmb3IgdmFyaWFibGUgZGF0YS4NCj4gKyAgICAgIC8vDQo+ICsg ICAgICBPY3VyTWZnU3RyaW5nQnVmZmVyID0gQWxsb2NhdGVQb29sIChPY3VyTWZnU3RyaW5nQnVm ZmVyU2l6ZSk7DQo+ICsgICAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlICgNCj4gKyAgICAg ICAgICAgICAgICAgICAgICBnQUNQSU9TRlJNZmdTdHJpbmdWYXJpYWJsZU5hbWUsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgJmdBQ1BJT1NGUk1mZ1N0cmluZ1ZhcmlhYmxlR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZPY3Vy TWZnU3RyaW5nQnVmZmVyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBPY3VyTWZnU3Ry aW5nQnVmZmVyDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIGlmICghRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgIE9jdXJNb2RlbFN0cmluZ0J1ZmZlclNpemUg PSAwOw0KPiArICAgICAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlICgNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgIGdBQ1BJT1NGUk1vZGVsU3RyaW5nVmFyaWFibGVOYW1lLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgJmdBQ1BJT1NGUk1vZGVsU3RyaW5nVmFyaWFibGVHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICZPY3VyTW9kZWxTdHJpbmdCdWZmZXJTaXplLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgaWYgKFN0 YXR1cyAhPSBFRklfQlVGRkVSX1RPT19TTUFMTCkgew0KPiArICAgICAgICAgIC8vDQo+ICsgICAg ICAgICAgLy8gVmFyaWFibGUgbXVzdCBub3QgYmUgcHJlc2VudCBvbiB0aGUgc3lzdGVtLg0KPiAr ICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAg ICAgICAgfQ0KPiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIEFsbG9jYXRlIG1lbW9y eSBmb3IgdmFyaWFibGUgZGF0YS4NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgT2N1ck1vZGVs U3RyaW5nQnVmZmVyID0gQWxsb2NhdGVQb29sIChPY3VyTW9kZWxTdHJpbmdCdWZmZXJTaXplKTsN Cj4gKyAgICAgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICBnQUNQSU9TRlJNb2RlbFN0cmluZ1ZhcmlhYmxlTmFtZSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICZnQUNQSU9TRlJNb2RlbFN0cmluZ1ZhcmlhYmxlR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAm T2N1ck1vZGVsU3RyaW5nQnVmZmVyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIE9j dXJNb2RlbFN0cmluZ0J1ZmZlcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg ICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgICBPY3VyUmVmRGF0 YUJsb2NrQnVmZmVyU2l6ZSA9IDA7DQo+ICsgICAgICAgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJp YWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGdBQ1BJT1NGUlJlZkRhdGFCbG9j a1ZhcmlhYmxlTmFtZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmdBQ1BJT1NGUlJl ZkRhdGFCbG9ja1ZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgJk9jdXJSZWZEYXRhQmxvY2tCdWZmZXJT aXplLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsgICAgICAgICAgaWYgKFN0YXR1cyA9PSBFRklfQlVGRkVSX1RP T19TTUFMTCkgew0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vIEFsbG9jYXRl IG1lbW9yeSBmb3IgdmFyaWFibGUgZGF0YS4NCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAg ICAgICBPY3VyUmVmRGF0YUJsb2NrQnVmZmVyID0gQWxsb2NhdGVQb29sIChPY3VyUmVmRGF0YUJs b2NrQnVmZmVyU2l6ZSk7DQo+ICsgICAgICAgICAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxl ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBnQUNQSU9TRlJSZWZEYXRhQmxvY2tW YXJpYWJsZU5hbWUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdBQ1BJT1NGUlJl ZkRhdGFCbG9ja1ZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICZPY3VyUmVmRGF0YUJsb2NrQnVm ZmVyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBPY3VyUmVmRGF0YUJsb2Nr QnVmZmVyDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgICB9 DQo+ICsgICAgICAgICAgT3NmclRhYmxlID0gKEVGSV9BQ1BJX09TRlJfVEFCTEUgKikgVGFibGU7 DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBDdXJyZW50bHkgb25seSBvbmUgb2Jq ZWN0IGlzIGRlZmluZWQ6IE9DVVJfT1NGUl9UQUJMRS4NCj4gKyAgICAgICAgICAvLw0KPiArICAg ICAgICAgIE9zZnJUYWJsZS0+T2JqZWN0Q291bnQgPSAxOw0KPiArICAgICAgICAgIC8vDQo+ICsg ICAgICAgICAgLy8gSW5pdGlhbGl6ZSB0YWJsZSBsZW5ndGggdG8gZml4ZWQgcG9ydGlvbiBvZiB0 aGUgQUNQSSBPU0ZSIHRhYmxlLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgT3NmclRh YmxlLT5IZWFkZXIuTGVuZ3RoID0gc2l6ZW9mDQo+IChFRklfQUNQSV9PU0ZSX1RBQkxFX0ZJWEVE X1BPUlRJT04pOw0KPiArICAgICAgICAgICooVUlOVDMyICopKChVSU5UTikgT3NmclRhYmxlICsg c2l6ZW9mDQo+IChFRklfQUNQSV9PU0ZSX1RBQkxFX0ZJWEVEX1BPUlRJT04pKSA9IFwNCj4gKyAg ICAgICAgICAgIChVSU5UMzIpIChzaXplb2YgKEVGSV9BQ1BJX09TRlJfVEFCTEVfRklYRURfUE9S VElPTikgKyBzaXplb2YNCj4gKFVJTlQzMikpOw0KPiArICAgICAgICAgIHBPY3VyT2JqZWN0ID0g KEVGSV9BQ1BJX09TRlJfT0NVUl9PQkpFQ1QgKikoKFVJTlROKSBPc2ZyVGFibGUNCj4gKyBzaXpl b2YgKEVGSV9BQ1BJX09TRlJfVEFCTEVfRklYRURfUE9SVElPTikgKyBcDQo+ICsgICAgICAgICAg ICBzaXplb2YgKFVJTlQzMikpOw0KPiArICAgICAgICAgIENvcHlNZW0gKHBPY3VyT2JqZWN0LCAm T2N1ck9iamVjdCwgc2l6ZW9mDQo+IChFRklfQUNQSV9PU0ZSX09DVVJfT0JKRUNUKSk7DQo+ICsg ICAgICAgICAgcE9jdXJPYmplY3QtPk1hbnVmYWN0dXJlck5hbWVTdHJpbmdPZmZzZXQgPSAoVUlO VDMyKSgoVUlOVE4pDQo+IHBPY3VyT2JqZWN0IC0gKFVJTlROKSBPc2ZyVGFibGUgKyBcDQo+ICsg ICAgICAgICAgICBzaXplb2YgKEVGSV9BQ1BJX09TRlJfT0NVUl9PQkpFQ1QpKTsNCj4gKyAgICAg ICAgICBwT2N1ck9iamVjdC0+TW9kZWxOYW1lU3RyaW5nT2Zmc2V0ID0gKFVJTlQzMikoKFVJTlRO KQ0KPiBwT2N1ck9iamVjdCAtIChVSU5UTikgT3NmclRhYmxlICsgXA0KPiArICAgICAgICAgICAg c2l6ZW9mIChFRklfQUNQSV9PU0ZSX09DVVJfT0JKRUNUKSArIE9jdXJNZmdTdHJpbmdCdWZmZXJT aXplKTsNCj4gKyAgICAgICAgICBpZiAoT2N1clJlZkRhdGFCbG9ja0J1ZmZlclNpemUgPiAwKSB7 DQo+ICsgICAgICAgICAgICBwT2N1ck9iamVjdC0+TWljcm9zb2Z0UmVmZXJlbmNlT2Zmc2V0ID0g KFVJTlQzMikoKFVJTlROKQ0KPiBwT2N1ck9iamVjdCAtIChVSU5UTikgT3NmclRhYmxlICsgXA0K PiArICAgICAgICAgICAgICBzaXplb2YgKEVGSV9BQ1BJX09TRlJfT0NVUl9PQkpFQ1QpICsgT2N1 ck1mZ1N0cmluZ0J1ZmZlclNpemUgKw0KPiBPY3VyTW9kZWxTdHJpbmdCdWZmZXJTaXplKTsNCj4g KyAgICAgICAgICB9DQo+ICsgICAgICAgICAgQ29weU1lbSAoKFVJTlROICopKChVSU5UTikgcE9j dXJPYmplY3QgKyBzaXplb2YNCj4gKEVGSV9BQ1BJX09TRlJfT0NVUl9PQkpFQ1QpKSwgT2N1ck1m Z1N0cmluZ0J1ZmZlciwgXA0KPiArICAgICAgICAgICAgT2N1ck1mZ1N0cmluZ0J1ZmZlclNpemUp Ow0KPiArICAgICAgICAgIENvcHlNZW0gKChVSU5UTiAqKSgoVUlOVE4pIHBPY3VyT2JqZWN0ICsg c2l6ZW9mDQo+IChFRklfQUNQSV9PU0ZSX09DVVJfT0JKRUNUKSArIE9jdXJNZmdTdHJpbmdCdWZm ZXJTaXplKSwgXA0KPiArICAgICAgICAgICAgT2N1ck1vZGVsU3RyaW5nQnVmZmVyLCBPY3VyTW9k ZWxTdHJpbmdCdWZmZXJTaXplKTsNCj4gKyAgICAgICAgICBpZiAoT2N1clJlZkRhdGFCbG9ja0J1 ZmZlclNpemUgPiAwKSB7DQo+ICsgICAgICAgICAgICBDb3B5TWVtICgoVUlOVE4gKikoKFVJTlRO KSBwT2N1ck9iamVjdCArIHNpemVvZg0KPiAoRUZJX0FDUElfT1NGUl9PQ1VSX09CSkVDVCkgKyBP Y3VyTWZnU3RyaW5nQnVmZmVyU2l6ZSArIFwNCj4gKyAgICAgICAgICAgIE9jdXJNb2RlbFN0cmlu Z0J1ZmZlclNpemUpLE9jdXJSZWZEYXRhQmxvY2tCdWZmZXIsDQo+IE9jdXJSZWZEYXRhQmxvY2tC dWZmZXJTaXplKTsNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgICAgT3NmclRhYmxlLT5IZWFk ZXIuTGVuZ3RoICs9IChVSU5UMzIpKE9jdXJNZmdTdHJpbmdCdWZmZXJTaXplICsNCj4gT2N1ck1v ZGVsU3RyaW5nQnVmZmVyU2l6ZSArIE9jdXJSZWZEYXRhQmxvY2tCdWZmZXJTaXplKTsNCj4gKyAg ICAgICAgICBPc2ZyVGFibGUtPkhlYWRlci5MZW5ndGggKz0gc2l6ZW9mIChFRklfQUNQSV9PU0ZS X09DVVJfT0JKRUNUKQ0KPiArIHNpemVvZiAoVUlOVDMyKTsNCj4gKyAgICAgICAgfQ0KPiArICAg ICAgfQ0KPiArICAgICAgZ0JTLT5GcmVlUG9vbCAoT2N1ck1mZ1N0cmluZ0J1ZmZlcik7DQo+ICsg ICAgICBnQlMtPkZyZWVQb29sIChPY3VyTW9kZWxTdHJpbmdCdWZmZXIpOw0KPiArICAgICAgZ0JT LT5GcmVlUG9vbCAoT2N1clJlZkRhdGFCbG9ja0J1ZmZlcik7DQo+ICsgICAgICBicmVhazsNCj4g Kw0KPiArDQo+ICsgICAgY2FzZQ0KPiBFRklfQUNQSV9XSU5ET1dTX1NNTV9TRUNVUklUWV9NSVRJ R0FUSU9OX1RBQkxFX1NJR05BVFVSRToNCj4gKyAgICAgIFdzbXRUYWJsZSA9IChFRklfQUNQSV9X U01UX1RBQkxFICopIFRhYmxlOw0KPiArICAgICAgIC8vDQo+ICsgICAgICAgLy8gVXBkYXRlIE1p Y3Jvc29mdCBXU01UIHRhYmxlIFByb3RlY3Rpb25zIGZsYWdzLg0KPiArICAgICAgIC8vDQo+ICsg ICAgICBXc210VGFibGUtPlByb3RlY3Rpb25GbGFncyA9ICgoV3NtdFRhYmxlLT5Qcm90ZWN0aW9u RmxhZ3MpIHwNCj4gKEVGSV9XU01UX1BST1RFQ1RJT05fRkxBR1NfRklYRURfQ09NTV9CVUZGRVJT IHwNCj4gRUZJX1dTTVRfUFJPVEVDVElPTl9GTEFHU19DT01NX0JVRkZFUl9ORVNURURfUFRSX1BS T1RFQ1RJTw0KPiBOICkpOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKw0KPiArICAgIGRlZmF1 bHQ6DQo+ICsgICAgICBicmVhazsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsg IC8vIFVwZGF0ZSB0aGUgaGFyZHdhcmUgc2lnbmF0dXJlIGluIHRoZSBGQUNTIHN0cnVjdHVyZS4N Cj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8gTG9jYXRlIHRoZSBTUENSIHRhYmxlIGFuZCB1cGRh dGUgYmFzZWQgb24gY3VycmVudCBzZXR0aW5ncy4NCj4gKyAgLy8gVGhlIHVzZXIgbWF5IGNoYW5n ZSBDUiBzZXR0aW5ncyB2aWEgc2V0dXAgb3Igb3RoZXIgbWV0aG9kcy4NCj4gKyAgLy8gVGhlIFNQ Q1IgdGFibGUgbXVzdCBtYXRjaC4NCj4gKyAgLy8NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArUm91dGluZSBEZXNjcmlwdGlvbjoNCj4gKw0KPiAr ICBHQ19UT0RPOiBBZGQgZnVuY3Rpb24gZGVzY3JpcHRpb24uDQo+ICsNCj4gK0FyZ3VtZW50czoN Cj4gKw0KPiArICBFdmVudCAgIC0gR0NfVE9ETzogYWRkIGFyZ3VtZW50IGRlc2NyaXB0aW9uDQo+ ICsgIENvbnRleHQgLSBHQ19UT0RPOiBhZGQgYXJndW1lbnQgZGVzY3JpcHRpb24NCj4gKw0KPiAr UmV0dXJuczoNCj4gKw0KPiArICBHQ19UT0RPOiBhZGQgcmV0dXJuIHZhbHVlcw0KPiArDQo+ICsq Ki8NCj4gK1NUQVRJQw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtPblJlYWR5VG9Cb290ICgNCj4g KyAgSU4gICAgICBFRklfRVZFTlQgICAgICAgICAgICAgICAgIEV2ZW50LA0KPiArICBJTiAgICAg IFZPSUQgICAgICAgICAgICAgICAgICAgICAgKkNvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICBF RklfU1RBVFVTICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfQUNQSV9UQUJMRV9W RVJTSU9OICAgICAgVGFibGVWZXJzaW9uOw0KPiArICBFRklfQUNQSV9TVVBQT1JUX1BST1RPQ09M ICAgKkFjcGlTdXBwb3J0Ow0KPiArICBFRklfQUNQSV9TM19TQVZFX1BST1RPQ09MICAgKkFjcGlT M1NhdmU7DQo+ICsgIFNZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICBTZXR1cFZhckJ1ZmZlcjsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlU2l6ZTsNCj4gKyAgRUZJ X1BMQVRGT1JNX0NQVV9JTkZPICAgICAgICpQbGF0Zm9ybUNwdUluZm9QdHIgPSBOVUxMOw0KPiAr ICBFRklfUExBVEZPUk1fQ1BVX0lORk8gICAgICAgUGxhdGZvcm1DcHVJbmZvOw0KPiArICBFRklf UEVJX0hPQl9QT0lOVEVSUyAgICAgICAgICBHdWlkSG9iOw0KPiArDQo+ICsgIGlmIChtRmlyc3RO b3RpZnkpIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICBtRmlyc3ROb3RpZnkg PSBUUlVFOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRvIGF2b2lkIGNvbXBpbGVyIHdhcm5pbmcg b2YgIkM0NzAxOiBwb3RlbnRpYWxseSB1bmluaXRpYWxpemVkIGxvY2FsDQo+IHZhcmlhYmxlICdQ bGF0Zm9ybUNwdUluZm8nIHVzZWQiLg0KPiArICAvLw0KPiArICBQbGF0Zm9ybUNwdUluZm8uQ3B1 VmVyc2lvbi5GdWxsQ3B1SWQgPSAwOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCBQbGF0Zm9y bSBDUFUgSW5mbyBIT0IuDQo+ICsgIC8vDQo+ICsgIFBsYXRmb3JtQ3B1SW5mb1B0ciA9IE5VTEw7 DQo+ICsgIFplcm9NZW0gKCZQbGF0Zm9ybUNwdUluZm8sIHNpemVvZihFRklfUExBVEZPUk1fQ1BV X0lORk8pKTsNCj4gKyAgVmFyaWFibGVTaXplID0gc2l6ZW9mKEVGSV9QTEFURk9STV9DUFVfSU5G Tyk7DQo+ICsgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgICAg ICBFZmlQbGF0Zm9ybUNwdUluZm9WYXJpYWJsZSwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZp Vmx2MlZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAg ICAgICAgICAgICAmVmFyaWFibGVTaXplLA0KPiArICAgICAgICAgICAgICAgICAgUGxhdGZvcm1D cHVJbmZvUHRyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SKFN0 YXR1cykpIHsNCj4gKyAgICBHdWlkSG9iLlJhdyA9IEdldEhvYkxpc3QgKCk7DQo+ICsgICAgaWYg KEd1aWRIb2IuUmF3ICE9IE5VTEwpIHsNCj4gKyAgICAgIGlmICgoR3VpZEhvYi5SYXcgPSBHZXRO ZXh0R3VpZEhvYiAoJmdFZmlQbGF0Zm9ybUNwdUluZm9HdWlkLA0KPiBHdWlkSG9iLlJhdykpICE9 IE5VTEwpIHsNCj4gKyAgICAgICAgUGxhdGZvcm1DcHVJbmZvUHRyID0gR0VUX0dVSURfSE9CX0RB VEEgKEd1aWRIb2IuR3VpZCk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4g KyAgaWYgKChQbGF0Zm9ybUNwdUluZm9QdHIgIT0gTlVMTCkpIHsNCj4gKyAgICBDb3B5TWVtKCZQ bGF0Zm9ybUNwdUluZm8sIFBsYXRmb3JtQ3B1SW5mb1B0ciwNCj4gc2l6ZW9mKEVGSV9QTEFURk9S TV9DUFVfSU5GTykpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIHRoZSBB Q1BJIHBhcmFtZXRlciBibG9ja3MgZmluYWxseS4NCj4gKyAgLy8NCj4gKyAgVmFyaWFibGVTaXpl ID0gc2l6ZW9mIChTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgIFN0YXR1cyA9IGdSVC0+R2V0 VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICAgICAgTCJTZXR1cCIsDQo+ICsgICAgICAgICAg ICAgICAgICAmbVN5c3RlbUNvbmZpZ3VyYXRpb25HdWlkLA0KPiArICAgICAgICAgICAgICAgICAg TlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZWYXJpYWJsZVNpemUsDQo+ICsgICAgICAgICAg ICAgICAgICAmU2V0dXBWYXJCdWZmZXINCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlm IChFRklfRVJST1IgKFN0YXR1cykgfHwgVmFyaWFibGVTaXplICE9IHNpemVvZihTWVNURU1fQ09O RklHVVJBVElPTikpDQo+IHsNCj4gKyAgICAvL1RoZSBzZXR1cCB2YXJpYWJsZSBpcyBjb3JydXB0 ZWQNCj4gKyAgICBWYXJpYWJsZVNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pOw0K PiArICAgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgIEwiU2V0 dXBSZWNvdmVyeSIsDQo+ICsgICAgICAgICAgICAgICZtU3lzdGVtQ29uZmlndXJhdGlvbkd1aWQs DQo+ICsgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICZWYXJpYWJsZVNpemUs DQo+ICsgICAgICAgICAgICAgICZTZXR1cFZhckJ1ZmZlcg0KPiArICAgICAgICAgICAgICApOw0K PiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0K PiArICAvLyBGaW5kIHRoZSBBY3BpU3VwcG9ydCBwcm90b2NvbC4NCj4gKyAgLy8NCj4gKyAgU3Rh dHVzID0gTG9jYXRlU3VwcG9ydFByb3RvY29sICgmZ0VmaUFjcGlTdXBwb3J0UHJvdG9jb2xHdWlk LCAoVk9JRCAqKikNCj4gJkFjcGlTdXBwb3J0LCAwKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAo U3RhdHVzKTsNCj4gKw0KPiArICBUYWJsZVZlcnNpb24gPSBFRklfQUNQSV9UQUJMRV9WRVJTSU9O XzJfMDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBQdWJsaXNoIEFDUEkgMS4wIG9yIDIuMCBUYWJs ZXMuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IEFjcGlTdXBwb3J0LT5QdWJsaXNoVGFibGVzICgN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgQWNwaVN1cHBvcnQsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIFRhYmxlVmVyc2lvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFMzIHNjcmlwdCBzYXZlLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVBy b3RvY29sICgmZ0VmaUFjcGlTM1NhdmVQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEDQo+ICoqKSAm QWNwaVMzU2F2ZSk7DQo+ICsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgQWNw aVMzU2F2ZS0+UzNTYXZlIChBY3BpUzNTYXZlLCBOVUxMKTsNCj4gKyAgfQ0KPiArDQo+ICt9DQo+ ICsNCj4gK1ZPSUQNCj4gK1BSMUZTQVNldHRpbmcgKA0KPiArICBJTiBWT0lEDQo+ICsgICkNCj4g K3sNCj4gKyAgLy8NCj4gKyAgLy8gZm9yIEZTQSBvbiAgUFIxLg0KPiArICAvLw0KPiArICBpZiAo bVBsYXRmb3JtSW5mby0+Qm9hcmRJZCA9PSBCT0FSRF9JRF9CTF9GRlJEICYmIG1QbGF0Zm9ybUlu Zm8tDQo+ID5Cb2FyZFJldiA+PSBQUjEpIHsNCj4gKyAgICBERUJVRygoRUZJX0RfRVJST1IsICJT ZXQgRlNBIHN0YXR1cyA9IDEgZm9yIEZGUkQgUFIxXG4iKSk7DQo+ICsgICAgbUdsb2JhbE52c0Fy ZWEuQXJlYS0+RnNhU3RhdHVzICA9IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBjaEZTQU9uOw0KPiAr ICB9DQo+ICsgIGlmIChtUGxhdGZvcm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0JMX0ZGUkQ4 KSB7DQo+ICsgICAgREVCVUcoKEVGSV9EX0VSUk9SLCAiU2V0IEZTQSBzdGF0dXMgPSAxIGZvciBG RlJEOFxuIikpOw0KPiArICAgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkZzYVN0YXR1cyAgPSBtU3lz dGVtQ29uZmlndXJhdGlvbi5QY2hGU0FPbjsNCj4gKyAgfQ0KPiArDQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBFbnRyeSBwb2ludCBmb3IgQWNwaSBwbGF0Zm9ybSBkcml2ZXIuDQo+ICsNCj4gKyAg QHBhcmFtW2luXSAgSW1hZ2VIYW5kbGUgICAgICAgIEEgaGFuZGxlIGZvciB0aGUgaW1hZ2UgdGhh dCBpcyBpbml0aWFsaXppbmcgdGhpcw0KPiBkcml2ZXIuDQo+ICsgIEBwYXJhbVtpbl0gIFN5c3Rl bVRhYmxlICAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEVGSSBzeXN0ZW0gdGFibGUuDQo+ICsNCj4g KyAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgIERyaXZlciBpbml0aWFsaXplZCBzdWNj ZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgIEVGSV9MT0FEX0VSUk9SICAgICAgICBGYWlsZWQgdG8g SW5pdGlhbGl6ZSBvciBoYXMgYmVlbiBsb2FkZWQuDQo+ICsgIEByZXR2YWwgIEVGSV9PVVRfT0Zf UkVTT1VSQ0VTICBDb3VsZCBub3QgYWxsb2NhdGUgbmVlZGVkIHJlc291cmNlcy4NCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0FjcGlQbGF0Zm9ybUVudHJ5UG9pbnQg KA0KPiArICBJTiBFRklfSEFORExFICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9T WVNURU1fVEFCTEUgICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgICAgIEFjcGlTdGF0dXM7DQo+ICsgIEVGSV9BQ1BJX1NVUFBPUlRfUFJPVE9DT0wgICAgICpB Y3BpU3VwcG9ydDsNCj4gKyAgRUZJX0ZJUk1XQVJFX1ZPTFVNRTJfUFJPVE9DT0wgICpGd1ZvbDsN Cj4gKyAgSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFuY2U7DQo+ICsgIEVGSV9B Q1BJX0NPTU1PTl9IRUFERVIgICAgICAgICpDdXJyZW50VGFibGU7DQo+ICsgIFVJTlROICAgICAg ICAgICAgICAgICAgICAgICAgIFRhYmxlSGFuZGxlOw0KPiArICBVSU5UMzIgICAgICAgICAgICAg ICAgICAgICAgICBGdlN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg U2l6ZTsNCj4gKyAgRUZJX0VWRU5UICAgICAgICAgICAgICAgICAgICAgRXZlbnQ7DQo+ICsgIEVG SV9BQ1BJX1RBQkxFX1ZFUlNJT04gICAgICAgIFRhYmxlVmVyc2lvbjsNCj4gKyAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICAgICAgVmFyU2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgU3lzQ2ZnU2l6ZTsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAg SGFuZGxlOw0KPiArICBFRklfUFMyX1BPTElDWV9QUk9UT0NPTCAgICAgICAqUHMyUG9saWN5Ow0K PiArICBFRklfUEVJX0hPQl9QT0lOVEVSUyAgICAgICAgICBHdWlkSG9iOw0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICBQb3J0RGF0YTsNCj4gKyAgRUZJX01QX1NFUlZJQ0VTX1BS T1RPQ09MICAgICAgKk1wU2VydmljZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgTWF4aW11bU51bWJlck9mQ1BVczsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgTnVtYmVyT2ZFbmFibGVkQ1BVczsNCj4gKyAgUENIX1NURVBQSU5HICAgICAgICAgICAgICAg ICAgcGNoU3RlcHBpbmc7DQo+ICsNCj4gKyAgbUZpcnN0Tm90aWZ5ICAgICAgPSBGQUxTRTsNCj4g Kw0KPiArICBUYWJsZVZlcnNpb24gICAgICA9IEVGSV9BQ1BJX1RBQkxFX1ZFUlNJT05fMl8wOw0K PiArICBJbnN0YW5jZSAgICAgICAgICA9IDA7DQo+ICsgIEN1cnJlbnRUYWJsZSAgICAgID0gTlVM TDsNCj4gKyAgVGFibGVIYW5kbGUgICAgICAgPSAwOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFVw ZGF0ZSBIT0IgdmFyaWFibGUgZm9yIFBDSSByZXNvdXJjZSBpbmZvcm1hdGlvbi4NCj4gKyAgLy8g R2V0IHRoZSBIT0IgbGlzdC4gIElmIGl0IGlzIG5vdCBwcmVzZW50LCB0aGVuIEFTU0VSVC4NCj4g KyAgLy8NCj4gKyAgR3VpZEhvYi5SYXcgPSBHZXRIb2JMaXN0ICgpOw0KPiArICBpZiAoR3VpZEhv Yi5SYXcgIT0gTlVMTCkgew0KPiArICAgIGlmICgoR3VpZEhvYi5SYXcgPSBHZXROZXh0R3VpZEhv YiAoJmdFZmlQbGF0Zm9ybUluZm9HdWlkLA0KPiBHdWlkSG9iLlJhdykpICE9IE5VTEwpIHsNCj4g KyAgICAgIG1QbGF0Zm9ybUluZm8gPSBHRVRfR1VJRF9IT0JfREFUQSAoR3VpZEhvYi5HdWlkKTsN Cj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBTZWFyY2ggZm9yIHRoZSBN ZW1vcnkgQ29uZmlndXJhdGlvbiBHVUlEIEhPQi4gIElmIGl0IGlzIG5vdCBwcmVzZW50LA0KPiB0 aGVuDQo+ICsgIC8vIHRoZXJlJ3Mgbm90aGluZyB3ZSBjYW4gZG8uIEl0IG1heSBub3QgZXhpc3Qg b24gdGhlIHVwZGF0ZSBwYXRoLg0KPiArICAvLw0KPiArICBWYXJTaXplID0gc2l6ZW9mKFNZU1RF TV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgNCj4gKyAg ICAgICAgICAgICAgICAgIEwiU2V0dXAiLA0KPiArICAgICAgICAgICAgICAgICAgJm1TeXN0ZW1D b25maWd1cmF0aW9uR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAg ICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICZtU3lzdGVtQ29uZmln dXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSB8fCBWYXJTaXplICE9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTikpIHsNCj4gKyAg ICAvL1RoZSBzZXR1cCB2YXJpYWJsZSBpcyBjb3JydXB0ZWQNCj4gKyAgICBWYXJTaXplID0gc2l6 ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlh YmxlKA0KPiArICAgICAgICAgICAgICBMIlNldHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAgICAg ICAmbVN5c3RlbUNvbmZpZ3VyYXRpb25HdWlkLA0KPiArICAgICAgICAgICAgICBOVUxMLA0KPiAr ICAgICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgJm1TeXN0ZW1Db25maWd1 cmF0aW9uDQo+ICsgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3Rh dHVzKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpbmQgdGhlIEFjcGlTdXBwb3J0 IHByb3RvY29sLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBMb2NhdGVTdXBwb3J0UHJvdG9jb2wg KCZnRWZpQWNwaVN1cHBvcnRQcm90b2NvbEd1aWQsIChWT0lEICoqKQ0KPiAmQWNwaVN1cHBvcnQs IDApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIExvY2F0ZSB0aGUgZmlybXdhcmUgdm9sdW1lIHByb3RvY29sLg0KPiArICAvLw0KPiArICBT dGF0dXMgPSBMb2NhdGVTdXBwb3J0UHJvdG9jb2wgKCZnRWZpRmlybXdhcmVWb2x1bWUyUHJvdG9j b2xHdWlkLA0KPiAoVk9JRCAqKikgJkZ3Vm9sLCAxKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAo U3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWFkIHRoZSBjdXJyZW50IHN5c3RlbSBj b25maWd1cmF0aW9uIHZhcmlhYmxlIHN0b3JlLg0KPiArICAvLw0KPiArICBTeXNDZmdTaXplID0g c2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgU3RhdHVzID0gZ1JULT5HZXRWYXJp YWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICBMIlNldHVwIiwNCj4gKyAgICAgICAgICAgICAg ICAgICZnRWZpTm9ybWFsU2V0dXBHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4g KyAgICAgICAgICAgICAgICAgICZTeXNDZmdTaXplLA0KPiArICAgICAgICAgICAgICAgICAgJm1T eXN0ZW1Db25maWcNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1Ig KFN0YXR1cykgfHwgU3lzQ2ZnU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKQ0K PiB7DQo+ICsgICAgLy9UaGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ICsgICAgU3lz Q2ZnU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVzID0g Z1JULT5HZXRWYXJpYWJsZSgNCj4gKyAgICAgICAgICAgICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4g KyAgICAgICAgICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgIE5V TEwsDQo+ICsgICAgICAgICAgICAgICZTeXNDZmdTaXplLA0KPiArICAgICAgICAgICAgICAmbVN5 c3RlbUNvbmZpZw0KPiArICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIFN0YXR1cyAgICA9IEVGSV9TVUNDRVNT Ow0KPiArICBJbnN0YW5jZSAgPSAwOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRCRDogTmVlZCBy ZS1kZXNpZ24gYmFzZWQgb24gdGhlIFZhbGxleVRyYWlsIHBsYXRmb3JtLg0KPiArICAvLw0KPiAr ICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICZn RWZpTXBTZXJ2aWNlUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4g KyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmTXBTZXJ2aWNlDQo+ICsgICAgICAgICAgICAg ICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0 YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIERldGVybWluZSB0aGUgbnVtYmVy IG9mIHByb2Nlc3NvcnMuDQo+ICsgIC8vDQo+ICsgIE1wU2VydmljZS0+R2V0TnVtYmVyT2ZQcm9j ZXNzb3JzICgNCj4gKyAgICAgICAgICAgICAgIE1wU2VydmljZSwNCj4gKyAgICAgICAgICAgICAg ICZNYXhpbXVtTnVtYmVyT2ZDUFVzLA0KPiArICAgICAgICAgICAgICAgJk51bWJlck9mRW5hYmxl ZENQVXMNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQWxsb2Nh dGUgYW5kIGluaXRpYWxpemUgdGhlIE5WUyBhcmVhIGZvciBTTU0gYW5kIEFTTCBjb21tdW5pY2F0 aW9uLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkFsbG9jYXRlUG9vbCAoDQo+ICsgICAg ICAgICAgICAgICAgICBFZmlBQ1BJTWVtb3J5TlZTLA0KPiArICAgICAgICAgICAgICAgICAgc2l6 ZW9mIChFRklfR0xPQkFMX05WU19BUkVBKSwNCj4gKyAgICAgICAgICAgICAgICAgICh2b2lkICoq KSZtR2xvYmFsTnZzQXJlYS5BcmVhDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NF UlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArICBnQlMtPlNldE1lbSAoDQo+ICsgICAgICAgICBt R2xvYmFsTnZzQXJlYS5BcmVhLA0KPiArICAgICAgICAgc2l6ZW9mIChFRklfR0xPQkFMX05WU19B UkVBKSwNCj4gKyAgICAgICAgIDANCj4gKyAgICAgICAgICk7DQo+ICsgIERFQlVHKChFRklfRF9F UlJPUiwgIm1HbG9iYWxOdnNBcmVhLkFyZWEgaXMgYXQgMHglWFxuIiwNCj4gbUdsb2JhbE52c0Fy ZWEuQXJlYSkpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFVwZGF0ZSBnbG9iYWwgTlZTIGFyZWEg Zm9yIEFTTCBhbmQgU01NIGluaXQgY29kZSB0byB1c2UuDQo+ICsgIC8vDQo+ICsgIG1HbG9iYWxO dnNBcmVhLkFyZWEtPkFwaWNFbmFibGUgICAgICAgICAgICAgICAgID0gMTsNCj4gKyAgbUdsb2Jh bE52c0FyZWEuQXJlYS0+RW1hRW5hYmxlICAgICAgICAgICAgICAgICAgPSAwOw0KPiArDQo+ICsg IG1HbG9iYWxOdnNBcmVhLkFyZWEtPk51bWJlck9mQmF0dGVyaWVzICAgICAgICAgID0gMTsNCj4g KyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+QmF0dGVyeUNhcGFjaXR5MCAgICAgICAgICAgPSAxMDA7 DQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkJhdHRlcnlTdGF0dXMwICAgICAgICAgICAgID0g ODQ7DQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPk9uYm9hcmRDb20gICAgICAgICAgICAgICAg ID0gMTsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+SWRlTW9kZSAgICAgICAgICAgICAgICAg ICAgPSAwOw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5Qb3dlclN0YXRlICAgICAgICAgICAg ICAgICA9IDA7DQo+ICsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+TG9naWNhbFByb2Nlc3Nv ckNvdW50ICAgID0NCj4gKFVJTlQ4KU51bWJlck9mRW5hYmxlZENQVXM7DQo+ICsNCj4gKyAgbUds b2JhbE52c0FyZWEuQXJlYS0+UGFzc2l2ZVRoZXJtYWxUcmlwUG9pbnQgID0NCj4gbVN5c3RlbUNv bmZpZ3VyYXRpb24uUGFzc2l2ZVRoZXJtYWxUcmlwUG9pbnQ7DQo+ICsgIG1HbG9iYWxOdnNBcmVh LkFyZWEtPlBhc3NpdmVUYzFWYWx1ZSAgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9u LlBhc3NpdmVUYzFWYWx1ZTsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+UGFzc2l2ZVRjMlZh bHVlICAgICAgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGFzc2l2ZVRjMlZhbHVlOw0K PiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5QYXNzaXZlVHNwVmFsdWUgICAgICAgICAgPQ0KPiBt U3lzdGVtQ29uZmlndXJhdGlvbi5QYXNzaXZlVHNwVmFsdWU7DQo+ICsgIG1HbG9iYWxOdnNBcmVh LkFyZWEtPkNyaXRpY2FsVGhlcm1hbFRyaXBQb2ludCA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9u LkNyaXRpY2FsVGhlcm1hbFRyaXBQb2ludDsNCj4gKw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVh LT5JZ2RQYW5lbFR5cGUgICAgICAgICAgICAgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5JZ2RG bGF0UGFuZWw7DQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPklnZFBhbmVsU2NhbGluZyAgICAg ICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBhbmVsU2NhbGluZzsNCj4gKyAgbUdsb2Jh bE52c0FyZWEuQXJlYS0+SWdkU2NpU21pTW9kZSAgICAgICAgICAgID0gMDsNCj4gKyAgbUdsb2Jh bE52c0FyZWEuQXJlYS0+SWdkVHZGb3JtYXQgICAgICAgICAgICAgID0gMDsNCj4gKyAgbUdsb2Jh bE52c0FyZWEuQXJlYS0+SWdkVHZNaW5vciAgICAgICAgICAgICAgID0gMDsNCj4gKyAgbUdsb2Jh bE52c0FyZWEuQXJlYS0+SWdkU3NjQ29uZmlnICAgICAgICAgICAgID0gMTsNCj4gKyAgbUdsb2Jh bE52c0FyZWEuQXJlYS0+SWdkQmlhQ29uZmlnICAgICAgICAgICAgID0NCj4gbVN5c3RlbUNvbmZp Z3VyYXRpb24uSWdkTGNkSUJpYTsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+SWdkQmxjQ29u ZmlnICAgICAgICAgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uSWdkTGNkSUdtY2hCbGM7 DQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPklnZER2bXRNZW1TaXplICAgICAgICAgICA9DQo+ IG1TeXN0ZW1Db25maWd1cmF0aW9uLklnZER2bXQ1MFRvdGFsQWxsb2M7DQo+ICsgIG1HbG9iYWxO dnNBcmVhLkFyZWEtPklnZFBBVlAgICAgICAgICAgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1 cmF0aW9uLlBhdnBNb2RlOw0KPiArDQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkFsc0VuYWJs ZSAgICAgICAgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkFsc0VuYWJsZTsNCj4g KyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+QmFja2xpZ2h0Q29udHJvbFN1cHBvcnQgID0gMjsNCj4g KyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+QnJpZ2h0bmVzc1BlcmNlbnRhZ2UgICAgPSAxMDA7DQo+ ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPklnZFN0YXRlID0gMTsNCj4gKyAgbUdsb2JhbE52c0Fy ZWEuQXJlYS0+TGlkU3RhdGUgPSAxOw0KPiArDQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkRl dmljZUlkMSA9IDB4ODAwMDAxMDAgOw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5EZXZpY2VJ ZDIgPSAweDgwMDAwNDAwIDsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+RGV2aWNlSWQzID0g MHg4MDAwMDIwMCA7DQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkRldmljZUlkNCA9IDB4MDQ7 DQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkRldmljZUlkNSA9IDB4MDU7DQo+ICsgIG1HbG9i YWxOdnNBcmVhLkFyZWEtPk51bWJlck9mVmFsaWREZXZpY2VJZCA9IDQgOw0KPiArICBtR2xvYmFs TnZzQXJlYS5BcmVhLT5DdXJyZW50RGV2aWNlTGlzdCA9IDB4MEYgOw0KPiArICBtR2xvYmFsTnZz QXJlYS5BcmVhLT5QcmV2aW91c0RldmljZUxpc3QgPSAweDBGIDsNCj4gKw0KPiArICBtR2xvYmFs TnZzQXJlYS5BcmVhLT5VYXJ0U2VsZWN0aW9uID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uVWFy dEludGVyZmFjZTsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+UGN1VWFydDFFbmFibGUgPQ0K PiBtU3lzdGVtQ29uZmlndXJhdGlvbi5QY3VVYXJ0MTsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJl YS0+TmF0aXZlUENJRVN1cHBvcnQgPSAxOw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5SdGNC YXR0ZXJ5ID0gbVN5c3RlbUNvbmZpZ3VyYXRpb24uUnRjQmF0dGVyeTsNCj4gKw0KPiArDQo+ICsN Cj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFVwZGF0ZSBCb290TW9kZTogMDpBQ1BJIG1vZGU7 IDE6UENJIG1vZGUNCj4gKyAgLy8NCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+THBzc1NjY01v ZGUgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzUGNpTW9kZUVuYWJsZWQ7DQo+ICsgIGlm IChtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzTWlwaUhzaSA9PSAwKSB7DQo+ICsgICAgbUdsb2Jh bE52c0FyZWEuQXJlYS0+TWlwaUhzaUFkZHIgID0gMDsNCj4gKyAgICBtR2xvYmFsTnZzQXJlYS5B cmVhLT5NaXBpSHNpTGVuICAgPSAwOw0KPiArICAgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPk1pcGlI c2kxQWRkciA9IDA7DQo+ICsgICAgbUdsb2JhbE52c0FyZWEuQXJlYS0+TWlwaUhzaTFMZW4gID0g MDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFBsYXRmb3JtIEZsYXZvcg0KPiArICAv Lw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5QbGF0Zm9ybUZsYXZvciA9IG1QbGF0Zm9ybUlu Zm8tPlBsYXRmb3JtRmxhdm9yOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFVwZGF0ZSB0aGUgUGxh dGZvcm0gaWQNCj4gKyAgLy8NCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+Qm9hcmRJRCA9IG1Q bGF0Zm9ybUluZm8tPkJvYXJkSWQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIHRoZSAg Qm9hcmQgUmV2aXNpb24NCj4gKyAgLy8NCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+RmFiSUQg PSBtUGxhdGZvcm1JbmZvLT5Cb2FyZFJldjsNCj4gKw0KPiArICAvLw0KPiArICAvLyBVcGRhdGUg U09DIFN0ZXBwaW5nDQo+ICsgIC8vDQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPlNvY1N0ZXBw aW5nID0gKFVJTlQ4KShQY2hTdGVwcGluZygpKTsNCj4gKw0KPiArICBtR2xvYmFsTnZzQXJlYS5B cmVhLT5PdGdNb2RlID0gbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoVXNiT3RnOw0KPiArDQo+ICsg IHBjaFN0ZXBwaW5nID0gUGNoU3RlcHBpbmcoKTsNCj4gKyAgaWYgKG1TeXN0ZW1Db25maWd1cmF0 aW9uLlVzYkF1dG9Nb2RlID09IDEpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIEF1dG8gbW9kZSBp cyBlbmFibGVkLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKFBjaEEwID09IHBjaFN0ZXBwaW5nKSB7 DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gIEZvciBBMCwgRUhDSSBpcyBlbmFibGVkIGFzIGRl ZmF1bHQuDQo+ICsgICAgICAvLw0KPiArICAgICAgbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoVXNi MjAgICAgICAgPSAxOw0KPiArICAgICAgbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoVXNiMzBNb2Rl ICAgPSAwOw0KPiArICAgICAgbVN5c3RlbUNvbmZpZ3VyYXRpb24uVXNiWGhjaVN1cHBvcnQgPSAw Ow0KPiArICAgICAgREVCVUcgKChFRklfRF9JTkZPLCAiRUhDSSBpcyBlbmFibGVkIGFzIGRlZmF1 bHQuIFNPQyAweCV4XG4iLA0KPiBwY2hTdGVwcGluZykpOw0KPiArICAgIH0gZWxzZSB7DQo+ICsg ICAgICAvLw0KPiArICAgICAgLy8gIEZvciBBMSBhbmQgbGF0ZXIsIFhIQ0kgaXMgZW5hYmxlZCBh cyBkZWZhdWx0Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIG1TeXN0ZW1Db25maWd1cmF0aW9uLlBj aFVzYjIwICAgICAgID0gMDsNCj4gKyAgICAgIG1TeXN0ZW1Db25maWd1cmF0aW9uLlBjaFVzYjMw TW9kZSAgID0gMTsNCj4gKyAgICAgIG1TeXN0ZW1Db25maWd1cmF0aW9uLlVzYlhoY2lTdXBwb3J0 ID0gMTsNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfSU5GTywgIlhIQ0kgaXMgZW5hYmxlZCBhcyBk ZWZhdWx0LiBTT0MgMHgleFxuIiwNCj4gcGNoU3RlcHBpbmcpKTsNCj4gKyAgICB9DQo+ICsgIH0N Cj4gKw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5YaGNpTW9kZSA9DQo+IG1TeXN0ZW1Db25m aWd1cmF0aW9uLlBjaFVzYjMwTW9kZTsNCj4gKw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5T dGVwcGluZyA9IG1QbGF0Zm9ybUluZm8tPkljaFJldmlzaW9uOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIE92ZXJyaWRlIGludmFsaWQgUHJlLUJvb3QgRHJpdmVyIGFuZCBYaGNpTW9kZSBjb21iaW5h dGlvbi4NCj4gKyAgLy8NCj4gKyAgaWYgKChtU3lzdGVtQ29uZmlndXJhdGlvbi5Vc2JYaGNpU3Vw cG9ydCA9PSAwKSAmJg0KPiAobVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoVXNiMzBNb2RlID09IDMp KSB7DQo+ICsgICAgbUdsb2JhbE52c0FyZWEuQXJlYS0+WGhjaU1vZGUgPSAyOw0KPiArICB9DQo+ ICsgIGlmICgobVN5c3RlbUNvbmZpZ3VyYXRpb24uVXNiWGhjaVN1cHBvcnQgPT0gMSkgJiYNCj4g KG1TeXN0ZW1Db25maWd1cmF0aW9uLlBjaFVzYjMwTW9kZSA9PSAyKSkgew0KPiArICAgIG1HbG9i YWxOdnNBcmVhLkFyZWEtPlhoY2lNb2RlID0gMzsNCj4gKyAgfQ0KPiArDQo+ICsgIERFQlVHICgo RUZJX0RfRVJST1IsICJBQ1BJIE5WUyBYSENJOjB4JXhcbiIsIG1HbG9iYWxOdnNBcmVhLkFyZWEt DQo+ID5YaGNpTW9kZSkpOw0KPiArDQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPlBtaWNFbmFi bGUgICAgICAgICAgICAgICAgICAgICAgID0NCj4gR0xPQkFMX05WU19ERVZJQ0VfRElTQUJMRTsN Cj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+QmF0dGVyeUNoYXJnaW5nU29sdXRpb24gICAgICAg ICAgPQ0KPiBHTE9CQUxfTlZTX0RFVklDRV9ESVNBQkxFOw0KPiArICBtR2xvYmFsTnZzQXJlYS5B cmVhLT5JU1BEZXZTZWwgICAgICAgICAgICAgICAgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1 cmF0aW9uLklTUERldlNlbDsNCj4gKyAgbUdsb2JhbE52c0FyZWEuQXJlYS0+THBlRW5hYmxlICAg ICAgICAgICAgICAgICAgICAgICAgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5McGU7DQo+ICsg IG1HbG9iYWxOdnNBcmVhLkFyZWEtPkxwZUF1ZGlvUmVwb3J0ZWRCeURTRFQgICAgICAgICAgID0N Cj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBlQXVkaW9SZXBvcnRlZEJ5RFNEVDsNCj4gKw0KPiAr ICBpZiAobVN5c3RlbUNvbmZpZ3VyYXRpb24uSVNQRW4gPT0gMCkgew0KPiArICAgIG1HbG9iYWxO dnNBcmVhLkFyZWEtPklTUERldlNlbCAgICAgICAgICAgICAgICAgICAgICA9DQo+IEdMT0JBTF9O VlNfREVWSUNFX0RJU0FCTEU7DQo+ICsgIH0NCj4gKw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVh LT5XaXR0RW5hYmxlICAgICAgICAgICAgICAgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0 aW9uLldpdHRFbmFibGU7DQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPlV0c0VuYWJsZSAgICAg ICAgICAgICAgICAgICAgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uVXRzRW5hYmxlOw0K PiArICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5TYXJFbmFibGUgICAgICAgICAgICAgICAgICAgICAg ICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlNBUjE7DQo+ICsNCj4gKw0KPiArICBtR2xvYmFs TnZzQXJlYS5BcmVhLT5SZXNlcnZlZE8gICAgICAgICAgICAgICAgICAgICAgICA9IDE7DQo+ICsN Cj4gKyAgU2V0dGluZ0kyQ1RvdWNoQWRkcmVzcygpOw0KPiArICBtR2xvYmFsTnZzQXJlYS5BcmVh LT5JZGxlUmVzZXJ2ZT0gbVN5c3RlbUNvbmZpZ3VyYXRpb24uSWRsZVJlc2VydmU7DQo+ICsgIC8v DQo+ICsgIC8vIFJlYWQgQk1CT1VORCBhbmQgc3RvcmUgaXQgaW4gR2xvYmFsTlZTIHRvIHBhc3Mg aW50byBBU0wuDQo+ICsgIC8vDQo+ICsgIC8vIEJVR0JVRzogY29kZSB3YXMgbW92ZWQgaW50byBz aWxpY29uIHJlZmVyZW5jZSBjb2RlLg0KPiArICAvLw0KPiArICBpZiAobVN5c3RlbUNvbmZpZ3Vy YXRpb24uZU1NQ0Jvb3RNb2RlPT0gMSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gQXV0byBkZXRl Y3QgbW9kZS4NCj4gKyAgICAvLw0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJBdXRvIGRl dGVjdCBtb2RlLS0tLS0tLS0tLS0tc3RhcnRcbiIpKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAg Ly8gU2lsaWNvbiBTdGVwcGluZ3MuDQo+ICsgICAgLy8NCj4gKyAgICBzd2l0Y2ggKFBjaFN0ZXBw aW5nKCkpIHsNCj4gKyAgICAgIGNhc2UgUGNoQTA6IC8vIEEwL0ExDQo+ICsgICAgICBjYXNlIFBj aEExOg0KPiArICAgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiU09DIEEwL0ExOiBlTU1DIDQu NDEgQ29uZmlndXJhdGlvblxuIikpOw0KPiArICAgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbi5M cHNzZU1NQ0VuYWJsZWQgICAgICAgICAgICA9IDE7DQo+ICsgICAgICAgIG1TeXN0ZW1Db25maWd1 cmF0aW9uLkxwc3NlTU1DNDVFbmFibGVkICAgICAgICAgID0gMDsNCj4gKyAgICAgICAgYnJlYWs7 DQo+ICsNCj4gKyAgICAgIGNhc2UgUGNoQjA6IC8vIEIwIGFuZCBsYXRlci4NCj4gKyAgICAgIGRl ZmF1bHQ6DQo+ICsgICAgICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJTT0MgQjAgYW5kIGxhdGVy OiBlTU1DIDQuNQ0KPiBDb25maWd1cmF0aW9uXG4iKSk7DQo+ICsgICAgICAgIG1TeXN0ZW1Db25m aWd1cmF0aW9uLkxwc3NlTU1DRW5hYmxlZCAgICAgICAgICAgID0gMDsNCj4gKyAgICAgICAgbVN5 c3RlbUNvbmZpZ3VyYXRpb24uTHBzc2VNTUM0NUVuYWJsZWQgICAgICAgICAgPSAxOw0KPiArICAg ICAgICBicmVhazsNCj4gKyAgIH0NCj4gKyAgfSBlbHNlIGlmIChtU3lzdGVtQ29uZmlndXJhdGlv bi5lTU1DQm9vdE1vZGUgPT0gMikgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIGVNTUMgNC40 MQ0KPiArICAgICAgLy8NCj4gKyAgICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJGb3JjZSB0byBl TU1DIDQuNDEgQ29uZmlndXJhdGlvblxuIikpOw0KPiArICAgICAgbVN5c3RlbUNvbmZpZ3VyYXRp b24uTHBzc2VNTUNFbmFibGVkICAgICAgICAgICAgPSAxOw0KPiArICAgICAgbVN5c3RlbUNvbmZp Z3VyYXRpb24uTHBzc2VNTUM0NUVuYWJsZWQgICAgICAgICAgPSAwOw0KPiArICB9IGVsc2UgaWYg KG1TeXN0ZW1Db25maWd1cmF0aW9uLmVNTUNCb290TW9kZSA9PSAzKSB7DQo+ICsgICAgICAvLw0K PiArICAgICAgLy8gZU1NQyA0LjUNCj4gKyAgICAgIC8vDQo+ICsgICAgICBERUJVRyAoKEVGSV9E X0VSUk9SLCAiRm9yY2UgdG8gZU1NQyA0LjUgQ29uZmlndXJhdGlvblxuIikpOw0KPiArICAgICAg bVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc2VNTUNFbmFibGVkICAgICAgICAgICAgPSAwOw0KPiAr ICAgICAgbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc2VNTUM0NUVuYWJsZWQgICAgICAgICAgPSAx Ow0KPiArDQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRGlzYWJsZSBl TU1DIGNvbnRyb2xsZXJzLg0KPiArICAgICAgLy8NCj4gKyAgICAgIERFQlVHICgoRUZJX0RfRVJS T1IsICJEaXNhYmxlIGVNTUMgY29udHJvbGxlcnNcbiIpKTsNCj4gKyAgICAgIG1TeXN0ZW1Db25m aWd1cmF0aW9uLkxwc3NlTU1DRW5hYmxlZCAgICAgICAgICAgID0gMDsNCj4gKyAgICAgIG1TeXN0 ZW1Db25maWd1cmF0aW9uLkxwc3NlTU1DNDVFbmFibGVkICAgICAgICAgID0gMDsNCj4gKyAgfQ0K PiArDQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPmVtbWNWZXJzaW9uID0gMDsNCj4gKyAgaWYg KG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NlTU1DRW5hYmxlZCkgew0KPiArICAgICBERUJVRyAo KEVGSV9EX0VSUk9SLCAibUdsb2JhbE52c0FyZWEuQXJlYS0+ZW1tY1ZlcnNpb24gPSAwXG4iKSk7 DQo+ICsgICAgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPmVtbWNWZXJzaW9uID0gMDsNCj4gKyAgfQ0K PiArDQo+ICsgIGlmIChtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzZU1NQzQ1RW5hYmxlZCkgew0K PiArICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAibUdsb2JhbE52c0FyZWEuQXJlYS0+ZW1tY1Zl cnNpb24gPSAxXG4iKSk7DQo+ICsgICAgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPmVtbWNWZXJzaW9u ID0gMTsNCj4gKyAgfQ0KPiArDQo+ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPlNkQ2FyZFJlbW92 YWJsZSA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlNkQ2FyZFJlbW92YWJsZTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBNaWNyb3NvZnQgSU9UDQo+ICsgIC8vDQo+ICsgIGlmICgobVN5c3RlbUNv bmZpZ3VyYXRpb24uTHBzc0hzdWFydDBGbG93Q29udHJvbEVuYWJsZWQgPT0gMSkgJiYgXA0KPiAr ICAgICAgKG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NQd20wRW5hYmxlZCA9PSAwKSAmJiBcDQo+ ICsgICAgICAobVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc1B3bTFFbmFibGVkID09IDApKSB7DQo+ ICsgICAgbUdsb2JhbE52c0FyZWEuQXJlYS0+TWljcm9zb2Z0SW9UID0gR0xPQkFMX05WU19ERVZJ Q0VfRU5BQkxFOw0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJKUDEgaXMgc2V0IHRvIGJl IE1TRlQgSU9UIGNvbmZpZ3VyYXRpb24uXG4iKSk7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgbUds b2JhbE52c0FyZWEuQXJlYS0+TWljcm9zb2Z0SW9UID0gR0xPQkFMX05WU19ERVZJQ0VfRElTQUJM RTsNCj4gKyAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiSlAxIGlzIG5vdCBzZXQgdG8gYmUgTVNG VCBJT1QgY29uZmlndXJhdGlvbi5cbiIpKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFNJTyByZWxhdGVkIG9wdGlvbi4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQ cm90b2NvbCAoJmdFZmlDcHVJb1Byb3RvY29sR3VpZCwgTlVMTCwgKHZvaWQNCj4gKiopJm1DcHVJ byk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgbUdsb2JhbE52 c0FyZWEuQXJlYS0+V1BDTjM4MVUgPSBHTE9CQUxfTlZTX0RFVklDRV9ESVNBQkxFOw0KPiArDQo+ ICsgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkRvY2tlZFNpb1ByZXNlbnQgPQ0KPiBHTE9CQUxfTlZT X0RFVklDRV9ESVNBQkxFOw0KPiArDQo+ICsgIGlmIChtR2xvYmFsTnZzQXJlYS5BcmVhLT5Eb2Nr ZWRTaW9QcmVzZW50ICE9DQo+IEdMT0JBTF9OVlNfREVWSUNFX0VOQUJMRSkgew0KPiArICAgIC8v DQo+ICsgICAgLy8gQ2hlY2sgSUQgZm9yIFNJTyBXUENOMzgxVS4NCj4gKyAgICAvLw0KPiArICAg IFN0YXR1cyA9IG1DcHVJby0+SW8uUmVhZCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg IG1DcHVJbywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgRWZpQ3B1SW9XaWR0aFVpbnQ4 LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBXUENOMzgxVV9DT05GSUdfSU5ERVgsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICZQb3J0RGF0YQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIEFT U0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgICAgaWYgKFBvcnREYXRhICE9IDB4RkYpIHsN Cj4gKyAgICAgIFBvcnREYXRhID0gMHgyMDsNCj4gKyAgICAgIFN0YXR1cyA9IG1DcHVJby0+SW8u V3JpdGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1DcHVJbywNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFZmlDcHVJb1dpZHRoVWludDgsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgV1BDTjM4MVVfQ09ORklHX0lOREVYLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlBvcnRE YXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIEFTU0VSVF9F RklfRVJST1IgKFN0YXR1cyk7DQo+ICsgICAgICBTdGF0dXMgPSBtQ3B1SW8tPklvLlJlYWQgKA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1DcHVJbywNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFZmlDcHVJb1dpZHRoVWludDgsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgV1BDTjM4MVVfQ09ORklHX0RBVEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUG9ydERhdGENCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgQVNTRVJUX0VGSV9FUlJPUiAo U3RhdHVzKTsNCj4gKyAgICAgIGlmICgoUG9ydERhdGEgPT0gV1BDTjM4MVVfQ0hJUF9JRCkgfHwg KFBvcnREYXRhID09DQo+IFdEQ1AzNzZfQ0hJUF9JRCkpIHsNCj4gKyAgICAgICAgbUdsb2JhbE52 c0FyZWEuQXJlYS0+V1BDTjM4MVUgPSBHTE9CQUxfTlZTX0RFVklDRV9FTkFCTEU7DQo+ICsgICAg ICAgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPk9uYm9hcmRDb20gPSBHTE9CQUxfTlZTX0RFVklDRV9F TkFCTEU7DQo+ICsgICAgICAgIG1HbG9iYWxOdnNBcmVhLkFyZWEtPk9uYm9hcmRDb21DaXIgPQ0K PiBHTE9CQUxfTlZTX0RFVklDRV9ESVNBQkxFOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAg fQ0KPiArDQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgUHMyIHBvbGljeSB0byBzZXQu IFdpbGwgYmUgdXNlIGlmIHByZXNlbnQuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9ICBnQlMtPkxv Y2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAmZ0VmaVBzMlBvbGljeVByb3Rv Y29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg ICAgIChWT0lEICoqKSZQczJQb2xpY3kNCj4gKyAgICAgICAgICAgICAgICAgICApOw0KPiArICBp ZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICAgIFN0YXR1cyA9IFBzMlBvbGlj eS0+UHMySW5pdEhhcmR3YXJlIChJbWFnZUhhbmRsZSk7DQo+ICsgIH0NCj4gKw0KPiArICBtR2xv YmFsTnZzQXJlYS5BcmVhLT5TRElPTW9kZSA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NT ZGlvTW9kZTsNCj4gKw0KPiArICBIYW5kbGUgPSBOVUxMOw0KPiArICBTdGF0dXMgPSBnQlMtPklu c3RhbGxNdWx0aXBsZVByb3RvY29sSW50ZXJmYWNlcyAoDQo+ICsgICAgICAgICAgICAgICAgICAm SGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxOdnNBcmVhUHJvdG9jb2xH dWlkLA0KPiArICAgICAgICAgICAgICAgICAgJm1HbG9iYWxOdnNBcmVhLA0KPiArICAgICAgICAg ICAgICAgICAgTlVMTA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBSZWFkIHRhYmxlcyBmcm9tIHRoZSBzdG9yYWdlIGZpbGUuDQo+ICsgIC8vDQo+ICsgIHdo aWxlICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgQ3VycmVudFRhYmxlID0gTlVMTDsN Cj4gKw0KPiArICAgIFN0YXR1cyA9IEZ3Vm9sLT5SZWFkU2VjdGlvbiAoDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgRndWb2wsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJmdFZmlBY3BpVGFi bGVTdG9yYWdlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBFRklfU0VDVElPTl9SQVcs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgSW5zdGFuY2UsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgKFZPSUQgKiopICZDdXJyZW50VGFibGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg JlNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJkZ2U3RhdHVzDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ ICsgICAgICAvLw0KPiArICAgICAgLy8gQWxsb3cgcGxhdGZvcm0gc3BlY2lmaWMgY29kZSB0byBy ZWplY3QgdGhlIHRhYmxlIG9yIHVwZGF0ZSBpdC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBBY3Bp U3RhdHVzID0gQWNwaVBsYXRmb3JtSG9va3NJc0FjdGl2ZVRhYmxlIChDdXJyZW50VGFibGUpOw0K PiArDQo+ICsgICAgICBpZiAoIUVGSV9FUlJPUiAoQWNwaVN0YXR1cykpIHsNCj4gKyAgICAgICAg Ly8NCj4gKyAgICAgICAgLy8gUGVyZm9ybSBhbnkgdGFibGUgc3BlY2lmaWMgdXBkYXRlcy4NCj4g KyAgICAgICAgLy8NCj4gKyAgICAgICAgQWNwaVN0YXR1cyA9IFBsYXRmb3JtVXBkYXRlVGFibGVz IChDdXJyZW50VGFibGUpOw0KPiArICAgICAgICBpZiAoIUVGSV9FUlJPUiAoQWNwaVN0YXR1cykp IHsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIEFkZCB0aGUgdGFibGUuDQo+ICsg ICAgICAgICAgLy8NCj4gKyAgICAgICAgICBUYWJsZUhhbmRsZSA9IDA7DQo+ICsgICAgICAgICAg QWNwaVN0YXR1cyA9IEFjcGlTdXBwb3J0LT5TZXRBY3BpVGFibGUgKA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBBY3BpU3VwcG9ydCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgQ3VycmVudFRhYmxlLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUYWJsZVZlcnNpb24sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICZUYWJsZUhhbmRsZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApOw0KPiArICAgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKEFjcGlTdGF0dXMp Ow0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAv LyBJbmNyZW1lbnQgdGhlIGluc3RhbmNlLg0KPiArICAgICAgLy8NCj4gKyAgICAgIEluc3RhbmNl Kys7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gRWZpQ3JlYXRlRXZlbnRS ZWFkeVRvQm9vdEV4ICgNCj4gKyAgICAgICAgICAgICBUUExfTk9USUZZLA0KPiArICAgICAgICAg ICAgIE9uUmVhZHlUb0Jvb3QsDQo+ICsgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAg ICAmRXZlbnQNCj4gKyAgICAgICAgICAgICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpbmlz aGVkLg0KPiArICAvLw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK1VJ TlQ4DQo+ICtSZWFkQ21vc0JhbmsxQnl0ZSAoDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAgICAg ICAgICAgICAgICAgIEluZGV4DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRGF0YTsNCj4gKw0KPiArICBJb1dyaXRlOCgweDcyLCBJbmRleCk7 DQo+ICsgIERhdGEgPSBJb1JlYWQ4ICgweDczKTsNCj4gKyAgcmV0dXJuIERhdGE7DQo+ICt9DQo+ ICsNCj4gK1ZPSUQNCj4gK1dyaXRlQ21vc0JhbmsxQnl0ZSAoDQo+ICsgIElOICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICAgIEluZGV4LA0KPiArICBJTiAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgICBEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgSW9Xcml0ZTggKDB4NzIsIElu ZGV4KTsNCj4gKyAgSW9Xcml0ZTggKDB4NzMsIERhdGEpOw0KPiArfQ0KPiArDQo+ICsNCj4gKw0K PiArVk9JRA0KPiArU2V0dGluZ0kyQ1RvdWNoQWRkcmVzcyAoDQo+ICsgIElOIFZPSUQNCj4gKyAg KQ0KPiArew0KPiArICBpZiAobVN5c3RlbUNvbmZpZ3VyYXRpb24uSTJDVG91Y2hBZCA9PSAwKSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiBzZXR1cCBtZW51IHNlbGVjdCBhdXRvIHNldCBJMkMg VG91Y2ggQWRkcmVzcyBiYXNlIG9uIGJvYXJkIGlkLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKG1Q bGF0Zm9ybUluZm8tPkJvYXJkSWQgPT0gQk9BUkRfSURfQkxfUlZQIHx8DQo+ICsgICAgICAgIG1Q bGF0Zm9ybUluZm8tPkJvYXJkSWQgPT0gQk9BUkRfSURfQkxfU1RISSB8fA0KPiArICAgICAgICBt UGxhdGZvcm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0JMX1JWUF9ERFIzTCApIHsNCj4gKyAg ICAgIC8vDQo+ICsgICAgICAvL1JWUA0KPiArICAgICAgLy8NCj4gKyAgICAgIG1HbG9iYWxOdnNB cmVhLkFyZWEtPkkyQ1RvdWNoQWRkcmVzcyA9IDB4NEI7DQo+ICsgICAgfSBlbHNlIGlmIChtUGxh dGZvcm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0JMX0ZGUkQpIHsNCj4gKyAgICAgIC8vDQo+ ICsgICAgICAvL0ZGUkQNCj4gKyAgICAgIC8vDQo+ICsgICAgICBtR2xvYmFsTnZzQXJlYS5BcmVh LT5JMkNUb3VjaEFkZHJlc3MgPSAweDRBOw0KPiArICAgIH0gZWxzZSBpZiAobVBsYXRmb3JtSW5m by0+Qm9hcmRJZCA9PSBCT0FSRF9JRF9CQl9SVlApIHsNCj4gKyAgICAgIG1HbG9iYWxOdnNBcmVh LkFyZWEtPkkyQ1RvdWNoQWRkcmVzcyA9IDB4NEM7DQo+ICsgICAgfSBlbHNlIGlmIChtUGxhdGZv cm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0NWSCkgew0KPiArICAgICAgbUdsb2JhbE52c0Fy ZWEuQXJlYS0+STJDVG91Y2hBZGRyZXNzID0gMHg0QzsNCj4gKyAgICB9IGVsc2UgaWYgKG1QbGF0 Zm9ybUluZm8tPkJvYXJkSWQgPT0gQk9BUkRfSURfQkxfRkZSRDgpIHsNCj4gKyAgICAgIC8vDQo+ ICsgICAgICAvL0ZGUkQ4IHVzZXMgMHg0QS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBtR2xvYmFs TnZzQXJlYS5BcmVhLT5JMkNUb3VjaEFkZHJlc3MgPSAweDRBOw0KPiArICAgIH0NCj4gKyAgfSBl bHNlIHsNCj4gKyAgICBtR2xvYmFsTnZzQXJlYS5BcmVhLT5JMkNUb3VjaEFkZHJlc3MgPQ0KPiBt U3lzdGVtQ29uZmlndXJhdGlvbi5JMkNUb3VjaEFkOw0KPiArICB9DQo+ICsgIERFQlVHKChFRklf RF9FUlJPUiwgIkdsb2JhbE52c0FyZWEuQXJlYS0+STJDVG91Y2hBZGRyZXNzOg0KPiBbJTAyeF1c biIsIG1HbG9iYWxOdnNBcmVhLkFyZWEtPkkyQ1RvdWNoQWRkcmVzcykpOw0KPiArfQ0KPiArDQo+ ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQ bGF0Zm9ybS9BY3BpUGxhdGZvcm0uaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0FjcGlQbGF0Zm9ybS9BY3BpUGxhdGZvcm0uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi41OTg3NTY4NDZhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQWNwaVBsYXRmb3JtL0FjcGlQbGF0Zm9y bS5oDQo+IEBAIC0wLDAgKzEsMjE5IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChj KSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsg IEFjcGlQbGF0Zm9ybS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFRoaXMgaXMgYW4g aW1wbGVtZW50YXRpb24gb2YgdGhlIEFDUEkgcGxhdGZvcm0gZHJpdmVyLiAgUmVxdWlyZW1lbnRz IGZvcg0KPiArICB0aGlzIGRyaXZlciBhcmUgZGVmaW5lZCBpbiB0aGUgVGlhbm8gQUNQSSBFeHRl cm5hbCBQcm9kdWN0IFNwZWNpZmljYXRpb24sDQo+ICsgIHJldmlzaW9uIDAuMy42Lg0KPiArDQo+ ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfQUNQSV9QTEFURk9STV9IXw0KPiArI2RlZmlu ZSBfQUNQSV9QTEFURk9STV9IXw0KPiArDQo+ICsvLw0KPiArLy8gU3RhdGVtZW50cyB0aGF0IGlu Y2x1ZGUgb3RoZXIgaGVhZGVyIGZpbGVzLg0KPiArLy8NCj4gKyNpbmNsdWRlIDxGcmFtZXdvcmtE eGUuaD4NCj4gKyNpbmNsdWRlIDxQaUR4ZS5oPg0KPiArI2luY2x1ZGUgPEJhc2UuaD4NCj4gKyNp bmNsdWRlIDxMaWJyYXJ5L1VlZmlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIu aD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPg0KPiAr I2luY2x1ZGUgPExpYnJhcnkvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5j bHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0Zpcm13YXJl Vm9sdW1lLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2RMaWIuaD4NCj4gKyNpbmNsdWRlIDxJ bmR1c3RyeVN0YW5kYXJkL0hpZ2hQcmVjaXNpb25FdmVudFRpbWVyVGFibGUuaD4NCj4gKyNpbmNs dWRlIDxJbmR1c3RyeVN0YW5kYXJkL0FjcGkuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9BY3Bp U3lzdGVtRGVzY3JpcHRpb25UYWJsZS5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL01wU2Vydmlj ZS5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0NwdUlvLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0 cnlTdGFuZGFyZC9BY3BpMzAuaD4NCj4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL0FjcGky MC5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+DQo+ICsjaW5jbHVkZSA8QWxlcnRT dGFuZGFyZEZvcm1hdFRhYmxlLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9TZXR1cFZhcmlhYmxlLmg+ DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvR2xvYmFsTnZzQXJlYS5oPg0KPiArI2luY2x1ZGUgPExp YnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2Nh dGlvbkxpYi5oPg0KPiArI2luY2x1ZGUgPFBjaFJlZ3MuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1BjaFBsYXRmb3JtTGliLmg+DQo+ICsvLw0KPiArLy8gR2xvYmFsIHZhcmlhYmxlcy4NCj4gKy8v DQo+ICtleHRlcm4gRUZJX0dMT0JBTF9OVlNfQVJFQV9QUk9UT0NPTCAgbUdsb2JhbE52c0FyZWE7 DQo+ICsNCj4gKy8vDQo+ICsvLyBBQ1BJIHRhYmxlIGluZm9ybWF0aW9uIHVzZWQgdG8gaW5pdGlh bGl6ZSB0YWJsZXMuDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX09FTV9SRVZJU0lPTiAgICAgMHgwMDAw MDAwMw0KPiArI2RlZmluZSBFRklfQUNQSV9DUkVBVE9SX0lEICAgICAgIFNJR05BVFVSRV8zMiAo J1YnLCAnTCcsICdWJywgJzInKQ0KPiArI2RlZmluZSBFRklfQUNQSV9DUkVBVE9SX1JFVklTSU9O IDB4MDEwMDAwMEQNCj4gKw0KPiArI2RlZmluZSBXUENOMzgxVV9DT05GSUdfSU5ERVggICAgIDB4 MkUNCj4gKyNkZWZpbmUgV1BDTjM4MVVfQ09ORklHX0RBVEEgICAgICAweDJGDQo+ICsjZGVmaW5l IFdQQ04zODFVX0NISVBfSUQgICAgICAgICAgMHhGNA0KPiArI2RlZmluZSBXRENQMzc2X0NISVBf SUQgICAgICAgICAgIDB4RjENCj4gKw0KPiArI2RlZmluZSBNT0JJTEVfUExBVEZPUk0gMQ0KPiAr I2RlZmluZSBERVNLVE9QX1BMQVRGT1JNIDINCj4gKw0KPiArLy8NCj4gKy8vIERlZmluZSBtYWNy b3MgdG8gYnVpbGQgZGF0YSBzdHJ1Y3R1cmUgc2lnbmF0dXJlcyBmcm9tIGNoYXJhY3RlcnMuDQo+ ICsvLw0KPiArI2lmbmRlZiBFRklfU0lHTkFUVVJFXzE2DQo+ICsjZGVmaW5lIEVGSV9TSUdOQVRV UkVfMTYoQSwgQikgICAgICAgICgoQSkgfCAoQiA8PCA4KSkNCj4gKyNlbmRpZg0KPiArI2lmbmRl ZiBFRklfU0lHTkFUVVJFXzMyDQo+ICsjZGVmaW5lIEVGSV9TSUdOQVRVUkVfMzIoQSwgQiwgQywg RCkgIChFRklfU0lHTkFUVVJFXzE2IChBLCBCKSB8DQo+IChFRklfU0lHTkFUVVJFXzE2IChDLCBE KSA8PCAxNikpDQo+ICsjZW5kaWYNCj4gKyNpZm5kZWYgRUZJX1NJR05BVFVSRV82NA0KPiArI2Rl ZmluZSBFRklfU0lHTkFUVVJFXzY0KEEsIEIsIEMsIEQsIEUsIEYsIEcsIEgpIFwNCj4gKyAgICAo RUZJX1NJR05BVFVSRV8zMiAoQSwgQiwgQywgRCkgfCAoKFVJTlQ2NCkgKEVGSV9TSUdOQVRVUkVf MzIgKEUsIEYsIEcsDQo+IEgpKSA8PCAzMikpDQo+ICsjZW5kaWYNCj4gKw0KPiArDQo+ICsjZGVm aW5lIEdWM19TU0RUX09FTV9UQUJMRV9JREJBU0UgMHg0MDAwDQo+ICsNCj4gKy8vDQo+ICsvLyBQ cml2YXRlIERyaXZlciBEYXRhLg0KPiArLy8NCj4gKy8vDQo+ICsvLyBEZWZpbmUgVW5pb24gb2Yg SU8gQVBJQyAmIExvY2FsIEFQSUMgc3RydWN0dXJlLg0KPiArLy8NCj4gK3R5cGVkZWYgdW5pb24g ew0KPiArICBFRklfQUNQSV8yXzBfUFJPQ0VTU09SX0xPQ0FMX0FQSUNfU1RSVUNUVVJFIEFjcGlM b2NhbEFwaWM7DQo+ICsgIEVGSV9BQ1BJXzJfMF9JT19BUElDX1NUUlVDVFVSRSAgICAgICAgICAg ICAgQWNwaUlvQXBpYzsNCj4gKyAgc3RydWN0IHsNCj4gKyAgICBVSU5UOCBUeXBlOw0KPiArICAg IFVJTlQ4IExlbmd0aDsNCj4gKyAgfSBBY3BpQXBpY0NvbW1vbjsNCj4gK30gQUNQSV9BUElDX1NU UlVDVFVSRV9QVFI7DQo+ICsNCj4gKy8vDQo+ICsvLyBQcm90b2NvbCBwcml2YXRlIHN0cnVjdHVy ZSBkZWZpbml0aW9uLg0KPiArLy8NCj4gKw0KPiArLyoqDQo+ICsgIEVudHJ5IHBvaW50IG9mIHRo ZSBBQ1BJIHBsYXRmb3JtIGRyaXZlci4NCj4gKw0KPiArICBAcGFyYW1baW5dICBJbWFnZUhhbmRs ZSAgICAgICAgRUZJX0hBTkRMRTogQSBoYW5kbGUgZm9yIHRoZSBpbWFnZSB0aGF0IGlzDQo+IGlu aXRpYWxpemluZyB0aGlzIGRyaXZlci4NCj4gKyAgQHBhcmFtW2luXSAgU3lzdGVtVGFibGUgICAg ICAgIEVGSV9TWVNURU1fVEFCTEU6IEEgcG9pbnRlciB0byB0aGUgRUZJDQo+IHN5c3RlbSB0YWJs ZS4NCj4gKw0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAgICAgICAgRHJpdmVyIGluaXRp YWxpemVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCAgRUZJX0xPQURfRVJST1IgICAgICAg IEZhaWxlZCB0byBJbml0aWFsaXplIG9yIGhhcyBiZWVuIGxvYWRlZC4NCj4gKyAgQHJldHZhbCAg RUZJX09VVF9PRl9SRVNPVVJDRVMgIENvdWxkIG5vdCBhbGxvY2F0ZSBuZWVkZWQgcmVzb3VyY2Vz Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0luc3RhbGxBY3BpUGxhdGZvcm0gKA0K PiArICBJTiBFRklfSEFORExFICAgICAgICAgICBJbWFnZUhhbmRsZSwNCj4gKyAgSU4gRUZJX1NZ U1RFTV9UQUJMRSAgICAgKlN5c3RlbVRhYmxlDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBH ZXQgQWNwaSBUYWJsZSBWZXJzaW9uLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIEltYWdlSGFuZGxl ICAgICAgICAgIEVGSV9IQU5ETEU6IEEgaGFuZGxlIGZvciB0aGUgaW1hZ2UgdGhhdCBpcw0KPiBp bml0aWFsaXppbmcgdGhpcyBkcml2ZXIuDQo+ICsgIEBwYXJhbVtpbl0gIFN5c3RlbVRhYmxlICAg ICAgICAgIEVGSV9TWVNURU1fVEFCTEU6IEEgcG9pbnRlciB0byB0aGUgRUZJDQo+IHN5c3RlbSB0 YWJsZS4NCj4gKw0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUzogICAgICAgICAgICBEcml2ZXIg aW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsICBFRklfTE9BRF9FUlJPUjog ICAgICAgICBGYWlsZWQgdG8gSW5pdGlhbGl6ZSBvciBoYXMgYmVlbiBsb2FkZWQuDQo+ICsgIEBy ZXR2YWwgIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOiAgIENvdWxkIG5vdCBhbGxvY2F0ZSBuZWVkZWQg cmVzb3VyY2VzLg0KPiArDQo+ICstLSovDQo+ICtFRklfQUNQSV9UQUJMRV9WRVJTSU9ODQo+ICtH ZXRBY3BpVGFibGVWZXJzaW9uICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICsvKioNCj4g KyAgVGhlIGZ1bnRpb24gcmV0dXJucyBPZW0gc3BlY2lmaWMgaW5mb3JtYXRpb24gb2YgQWNwaSBQ bGF0Zm9ybS4NCj4gKw0KPiArICBAcGFyYW1baW5dICBPZW1JZCAgICAgICAgICBPZW1JZCByZXR1 cm5lZC4NCj4gKyAgQHBhcmFtW2luXSAgT2VtVGFibGVJZCAgICAgT2VtVGFibGVJZCByZXR1cm5l ZC4NCj4gKyAgQHBhcmFtW2luXSAgT2VtUmV2aXNpb24gICAgT2VtUmV2aXNpb24gcmV0dXJuZWQu DQo+ICsNCj4gKyAgQHJldHZhbCAgRUZJX1NUQVRVUyAgICAgICAgU3RhdHVzIG9mIGZ1bmN0aW9u IGV4ZWN1dGlvbi4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtBY3BpUGxhdGZvcm1H ZXRPZW1GaWVsZHMgKA0KPiArICBPVVQgVUlOVDggICAqT2VtSWQsDQo+ICsgIE9VVCBVSU5UNjQg ICpPZW1UYWJsZUlkLA0KPiArICBPVVQgVUlOVDMyICAqT2VtUmV2aXNpb24NCj4gKyAgKTsNCj4g Kw0KPiArLyoqDQo+ICsgIFRoZSBmdW5jdGlvbiByZXR1cm5zIEFjcGkgdGFibGUgdmVyc2lvbi4N Cj4gKw0KPiArICBAcGFyYW1baW5dDQo+ICsNCj4gKyAgQHJldHZhbCAgRUZJX0FDUElfVEFCTEVf VkVSU0lPTiAgIEFjcGkgdGFibGUgdmVyc2lvbiBlbmNvZGVkIGFzIGENCj4gVUlOVDMyLg0KPiAr DQo+ICsqKi8NCj4gK0VGSV9BQ1BJX1RBQkxFX1ZFUlNJT04NCj4gK0FjcGlQbGF0Zm9ybUdldEFj cGlTZXR0aW5nICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgRW50cnkg cG9pbnQgZm9yIEFjcGkgcGxhdGZvcm0gZHJpdmVyLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIElt YWdlSGFuZGxlICAgICAgICBBIGhhbmRsZSBmb3IgdGhlIGltYWdlIHRoYXQgaXMgaW5pdGlhbGl6 aW5nIHRoaXMNCj4gZHJpdmVyLg0KPiArICBAcGFyYW1baW5dICBTeXN0ZW1UYWJsZSAgICAgICAg QSBwb2ludGVyIHRvIHRoZSBFRkkgc3lzdGVtIHRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgIEVG SV9TVUNDRVNTICAgICAgICAgICBEcml2ZXIgaW5pdGlhbGl6ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiAr ICBAcmV0dmFsICBFRklfTE9BRF9FUlJPUiAgICAgICAgRmFpbGVkIHRvIEluaXRpYWxpemUgb3Ig aGFzIGJlZW4gbG9hZGVkLg0KPiArICBAcmV0dmFsICBFRklfT1VUX09GX1JFU09VUkNFUyAgQ291 bGQgbm90IGFsbG9jYXRlIG5lZWRlZCByZXNvdXJjZXMuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtBY3BpUGxhdGZvcm1FbnRyeVBvaW50ICgNCj4gKyAgSU4gRUZJ X0hBTkRMRSAgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAg KlN5c3RlbVRhYmxlDQo+ICsgICk7DQo+ICsNCj4gK1VJTlQ4DQo+ICtSZWFkQ21vc0JhbmsxQnl0 ZSAoDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4DQo+ICsg ICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1dyaXRlQ21vc0JhbmsxQnl0ZSAoDQo+ICsgIElOICBVSU5U OCAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4LA0KPiArICBJTiAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAgICAgICBEYXRhDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1NlbGVj dE5GQ0RldmljZSAoDQo+ICsgIElOIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArU2V0 dGluZ0kyQ1RvdWNoQWRkcmVzcyAoDQo+ICsgIElOIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArZXh0 ZXJuDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0lzY3REeGVFbnRyeVBvaW50ICgNCj4g KyAgSU4gRUZJX0hBTkRMRSAgICAgICBJbWFnZUhhbmRsZSwNCj4gKyAgSU4gRUZJX1NZU1RFTV9U QUJMRSAqU3lzdGVtVGFibGUNCj4gKyAgKTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQg YS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRm b3JtLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0Zm9y bS9BY3BpUGxhdGZvcm0uaW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLmM1OTkyMGRiMDMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtLmluZg0KPiBAQCAt MCwwICsxLDg5IEBADQo+ICsjDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAx OSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKyMNCj4gKw0KPiAr IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsj DQo+ICsNCj4gKyMNCj4gKyMNCj4gKyMgIE1vZHVsZSBOYW1lOg0KPiArIw0KPiArIyAgIEFjcGlQ bGF0Zm9ybUJCLmluZg0KPiArIw0KPiArIyAgQWJzdHJhY3Q6DQo+ICsjDQo+ICsjDQo+ICsNCj4g Kw0KPiArDQo+ICtbZGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAg ID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBBY3Bp UGxhdGZvcm0NCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gRjBGNkYwMDYt REFCNC00NGIyLUE3QTEtMEY3MkVFRENBNzE2DQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAg ICAgICAgICA9IERYRV9EUklWRVINCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAg ID0gMS4wDQo+ICsgIEVOVFJZX1BPSU5UICAgICAgICAgICAgICAgICAgICA9IEFjcGlQbGF0Zm9y bUVudHJ5UG9pbnQNCj4gKw0KPiArW3NvdXJjZXMuY29tbW9uXQ0KPiArICBBY3BpUGxhdGZvcm1I b29rcy5jDQo+ICsgIEFjcGlQbGF0Zm9ybS5jDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ ICsgIEludGVsRnJhbWV3b3JrUGtnL0ludGVsRnJhbWV3b3JrUGtnLmRlYw0KPiArICBNZGVNb2R1 bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2 aWNlUmVmQ29kZVBrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvSW50ZWxGcmFt ZXdvcmtNb2R1bGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRl Yw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIEhvYkxpYg0KPiArICBVZWZpUnVudGlt ZVNlcnZpY2VzVGFibGVMaWINCj4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gKyAgQmFzZU1l bW9yeUxpYg0KPiArICBEZWJ1Z0xpYg0KPiArICBIb2JMaWINCj4gKyAgSW9MaWINCj4gKyAgUGNo UGxhdGZvcm1MaWINCj4gKw0KPiArW0d1aWRzXQ0KPiArICBnQUNQSU9TRlJNZmdTdHJpbmdWYXJp YWJsZUd1aWQNCj4gKyAgZ0VmaUFjcGlUYWJsZVN0b3JhZ2VHdWlkDQo+ICsgIGdBQ1BJT1NGUk1m Z1N0cmluZ1ZhcmlhYmxlR3VpZA0KPiArICBnRWZpQm9hcmRGZWF0dXJlc0d1aWQNCj4gKyAgZ0Vm aVBsYXRmb3JtSW5mb0d1aWQNCj4gKyAgZ0VmaU5vcm1hbFNldHVwR3VpZA0KPiArICBnQUNQSU9T RlJSZWZEYXRhQmxvY2tWYXJpYWJsZUd1aWQNCj4gKyAgZ0FDUElPU0ZSTW9kZWxTdHJpbmdWYXJp YWJsZUd1aWQNCj4gKyAgZ0VmaVBsYXRmb3JtQ3B1SW5mb0d1aWQNCj4gKyAgZ0VmaVZsdjJWYXJp YWJsZUd1aWQNCj4gKw0KPiArW1Byb3RvY29sc10NCj4gKyAgZ0VmaUFjcGlUYWJsZVByb3RvY29s R3VpZCAgICAgICAgICAgICAgICAgICAgICMgUFJPVE9DT0wgQUxXQVlTX0NPTlNVTUVEDQo+ICsg IGdFbmhhbmNlZFNwZWVkc3RlcFByb3RvY29sR3VpZA0KPiArICBnRWZpUGxhdGZvcm1DcHVQcm90 b2NvbEd1aWQNCj4gKyAgZ0VmaUFjcGlTdXBwb3J0UHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlBY3Bp UzNTYXZlUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlDcHVJb1Byb3RvY29sR3VpZA0KPiArICBnRWZp UHMyUG9saWN5UHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlGaXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1 aWQNCj4gKyAgZ0VmaU1wU2VydmljZVByb3RvY29sR3VpZA0KPiArICBnRWZpR2xvYmFsTnZzQXJl YVByb3RvY29sR3VpZA0KPiArICBnRWZpVGNnUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlGaXJtd2Fy ZVZvbHVtZTJQcm90b2NvbEd1aWQNCj4gKyAgZ0lnZE9wUmVnaW9uUHJvdG9jb2xHdWlkDQo+ICsN Cj4gK1tQY2RdDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RBY3BpVGFi bGVTdG9yYWdlRmlsZQ0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIGdFZmlWYXJpYWJsZUFyY2hQcm90 b2NvbEd1aWQgICAgICAgIEFORA0KPiArICBnRWZpVmFyaWFibGVXcml0ZUFyY2hQcm90b2NvbEd1 aWQgICBBTkQNCj4gKyAgZ0VmaUFjcGlTdXBwb3J0UHJvdG9jb2xHdWlkIEFORA0KPiArICBnRWZp TXBTZXJ2aWNlUHJvdG9jb2xHdWlkIEFORA0KPiArICBnRWZpQ3B1SW9Qcm90b2NvbEd1aWQNCj4g Kw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQWNw aVBsYXRmb3JtL0FjcGlQbGF0Zm9ybUhvb2tzLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtSG9va3MuYw0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5lYmU3ODNlMjllDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQWNwaVBsYXRmb3Jt L0FjcGlQbGF0Zm9ybUhvb2tzLmMNCj4gQEAgLTAsMCArMSw0OTMgQEANCj4gKy8qKiBAZmlsZQ0K PiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKyAgQWNwaVBsYXRmb3JtSG9va3MuYw0KPiArDQo+ICtBYnN0cmFjdDoN Cj4gKw0KPiArICBBQ1BJIFBsYXRmb3JtIERyaXZlciBIb29rcw0KPiArDQo+ICstLSovDQo+ICsN Cj4gKy8vDQo+ICsvLyBTdGF0ZW1lbnRzIHRoYXQgaW5jbHVkZSBvdGhlciBmaWxlcy4NCj4gKy8v DQo+ICsjaW5jbHVkZSAiQWNwaVBsYXRmb3JtLmgiDQo+ICsjaW5jbHVkZSAiQWNwaVBsYXRmb3Jt SG9va3MuaCINCj4gKyNpbmNsdWRlICJQbGF0Zm9ybS5oIg0KPiArDQo+ICsvLw0KPiArLy8gUHJv dG90eXBlcyBvZiB0aGUgdmFyaW91cyBob29rIGZ1bmN0aW9ucy4NCj4gKy8vDQo+ICsjaW5jbHVk ZSAiQWNwaVBsYXRmb3JtSG9va3NMaWIuaCINCj4gKw0KPiArZXh0ZXJuIFNZU1RFTV9DT05GSUdV UkFUSU9OICAgICAgICAgICAgIG1TeXN0ZW1Db25maWd1cmF0aW9uOw0KPiArDQo+ICtFTkhBTkNF RF9TUEVFRFNURVBfUFJPVE9DT0wgICAgICAgICAgICAgKm1FaXN0UHJvdG9jb2wgID0gTlVMTDsN Cj4gKw0KPiArRUZJX0NQVV9JRF9NQVAgICAgICAgICAgICAgIG1DcHVBcGljSWRBY3BpSWRNYXBU YWJsZVtNQVhfQ1BVX05VTV07DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0FwcGVuZENwdU1hcFRh YmxlRW50cnkgKA0KPiArICBJTiBFRklfQUNQSV8yXzBfUFJPQ0VTU09SX0xPQ0FMX0FQSUNfU1RS VUNUVVJFICAgKkFjcGlMb2NhbEFwaWMNCj4gKyAgKQ0KPiArew0KPiArICBCT09MRUFOIEFkZGVk Ow0KPiArICBVSU5UTiAgIEluZGV4Ow0KPiArDQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8 IE1BWF9DUFVfTlVNOyBJbmRleCsrKSB7DQo+ICsgICAgaWYgKChtQ3B1QXBpY0lkQWNwaUlkTWFw VGFibGVbSW5kZXhdLkFwaWNJZCA9PSBBY3BpTG9jYWxBcGljLT5BcGljSWQpDQo+ICYmIG1DcHVB cGljSWRBY3BpSWRNYXBUYWJsZVtJbmRleF0uRmxhZ3MpIHsNCj4gKyAgICAgIHJldHVybiBFRklf U1VDQ0VTUzsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBBZGRlZCA9IEZBTFNFOw0KPiAr ICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBNQVhfQ1BVX05VTTsgSW5kZXgrKykgew0KPiArICAg ICAgaWYgKCFtQ3B1QXBpY0lkQWNwaUlkTWFwVGFibGVbSW5kZXhdLkZsYWdzKSB7DQo+ICsgICAg ICAgIG1DcHVBcGljSWRBY3BpSWRNYXBUYWJsZVtJbmRleF0uRmxhZ3MgICAgICAgICAgID0gMTsN Cj4gKyAgICAgICAgbUNwdUFwaWNJZEFjcGlJZE1hcFRhYmxlW0luZGV4XS5BcGljSWQgICAgICAg ICAgPSBBY3BpTG9jYWxBcGljLT5BcGljSWQ7DQo+ICsgICAgICAgIG1DcHVBcGljSWRBY3BpSWRN YXBUYWJsZVtJbmRleF0uQWNwaVByb2Nlc3NvcklkID0gQWNwaUxvY2FsQXBpYy0NCj4gPkFjcGlQ cm9jZXNzb3JJZDsNCj4gKyAgICAgIEFkZGVkID0gVFJVRTsNCj4gKyAgICAgIGJyZWFrOw0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIEFTU0VSVCAoQWRkZWQpOw0KPiArICByZXR1cm4gRUZJ X1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK1VJTlQzMg0KPiArUHJvY2Vzc29ySWQyQXBpY0lkICgN Cj4gKyAgVUlOVDMyICBBY3BpUHJvY2Vzc29ySWQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiBJ bmRleDsNCj4gKw0KPiArICBBU1NFUlQgKEFjcGlQcm9jZXNzb3JJZCA8IE1BWF9DUFVfTlVNKTsN Cj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgTUFYX0NQVV9OVU07IEluZGV4KyspIHsNCj4g KyAgICBpZiAobUNwdUFwaWNJZEFjcGlJZE1hcFRhYmxlW0luZGV4XS5GbGFncyAmJg0KPiAobUNw dUFwaWNJZEFjcGlJZE1hcFRhYmxlW0luZGV4XS5BY3BpUHJvY2Vzc29ySWQgPT0gQWNwaVByb2Nl c3NvcklkKSkgew0KPiArICAgICAgcmV0dXJuIG1DcHVBcGljSWRBY3BpSWRNYXBUYWJsZVtJbmRl eF0uQXBpY0lkOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiAoVUlOVDMyKSAt MTsNCj4gK30NCj4gKw0KPiArVUlOVDgNCj4gK0dldFByb2NOdW1iZXJJblBhY2thZ2UgKA0KPiAr ICBJTiBVSU5UOCAgUGFja2FnZQ0KPiArICApDQo+ICt7DQo+ICsgIFVJTlROIEluZGV4Ow0KPiAr ICBVSU5UOCBOdW1iZXI7DQo+ICsNCj4gKyAgTnVtYmVyID0gMDsNCj4gKyAgZm9yIChJbmRleCA9 IDA7IEluZGV4IDwgTUFYX0NQVV9OVU07IEluZGV4KyspIHsNCj4gKyAgICBpZiAobUNwdUFwaWNJ ZEFjcGlJZE1hcFRhYmxlW0luZGV4XS5GbGFncyAmJg0KPiAoKChtQ3B1QXBpY0lkQWNwaUlkTWFw VGFibGVbSW5kZXhdLkFwaWNJZCA+PiAweDA0KSAmIDB4MDEpID09IFBhY2thZ2UpKSB7DQo+ICsg ICAgICBOdW1iZXIrKzsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gTnVtYmVy Ow0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtMb2NhdGVDcHVFaXN0UHJvdG9jb2wgKA0K PiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICBDcHVJbmRleCwNCj4gKyAg T1VUIEVOSEFOQ0VEX1NQRUVEU1RFUF9QUk9UT0NPTCAgICAgKipFaXN0UHJvdG9jb2wNCj4gKyAg KQ0KPiArew0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlQ291bnQ7DQo+ ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAqSGFuZGxlQnVmZmVyOw0KPiArICBFTkhB TkNFRF9TUEVFRFNURVBfUFJPVE9DT0wgKkVpc3RQcm90Ow0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgSW5kZXg7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBBcGlj SWQ7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAg SGFuZGxlQ291bnQgPSAwOw0KPiArICBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAg ICAgICBCeVByb3RvY29sLA0KPiArICAgICAgICAgJmdFbmhhbmNlZFNwZWVkc3RlcFByb3RvY29s R3VpZCwNCj4gKyAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAmSGFuZGxlQ291bnQsDQo+ICsg ICAgICAgICAmSGFuZGxlQnVmZmVyDQo+ICsgICAgICAgICApOw0KPiArDQo+ICsgIEluZGV4ICAg ICA9IDA7DQo+ICsgIEVpc3RQcm90ICA9IE5VTEw7DQo+ICsgIFN0YXR1cyAgICA9IEVGSV9OT1Rf Rk9VTkQ7DQo+ICsgIHdoaWxlIChJbmRleCA8IEhhbmRsZUNvdW50KSB7DQo+ICsgICAgZ0JTLT5I YW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgIEhhbmRsZUJ1ZmZlcltJbmRleF0sDQo+ICsg ICAgICAgICAgICZnRW5oYW5jZWRTcGVlZHN0ZXBQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAg KFZPSUQgKiopICZFaXN0UHJvdA0KPiArICAgICAgICAgICApOw0KPiArICAgIC8vDQo+ICsgICAg Ly8gQWRqdXN0IHRoZSBDcHVJbmRleCBieSArMSBkdWUgdG8gdGhlIEFjcGlQcm9jZXNzb3JJZCBp cyAxIGJhc2VkLg0KPiArICAgIC8vDQo+ICsgICAgQXBpY0lkID0gUHJvY2Vzc29ySWQyQXBpY0lk IChDcHVJbmRleCsxKTsNCj4gKyAgICBpZiAoQXBpY0lkID09IChVSU5UMzIpIC0xKSB7DQo+ICsg ICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBpZiAoRWlzdFByb3QtPlByb2NBcGlj SWQgPT0gQXBpY0lkKSB7DQo+ICsgICAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gKyAgICAg IGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIEluZGV4Kys7DQo+ICsgIH0NCj4gKw0KPiAr ICBpZiAoSGFuZGxlQnVmZmVyICE9IE5VTEwpIHsNCj4gKyAgICBnQlMtPkZyZWVQb29sIChIYW5k bGVCdWZmZXIpOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4gKyAgICAqRWlzdFByb3RvY29sID0gRWlzdFByb3Q7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAg KkVpc3RQcm90b2NvbCA9IE5VTEw7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0K PiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtQbGF0Zm9ybUhvb2tJbml0ICgNCj4gKyAgVk9J RA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gKw0KPiArICBTdGF0 dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRW5oYW5j ZWRTcGVlZHN0ZXBQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiAr ICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZtRWlzdFByb3RvY29sDQo+ICsgICAgICAgICAg ICAgICAgICApOw0KPiArDQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4g KyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIENhbGxlZCBmb3IgZXZl cnkgQUNQSSB0YWJsZSBmb3VuZCBpbiB0aGUgQklPUyBmbGFzaC4NCj4gKyAgUmV0dXJucyB3aGV0 aGVyIGEgdGFibGUgaXMgYWN0aXZlIG9yIG5vdC4gSW5hY3RpdmUgdGFibGVzDQo+ICsgIGFyZSBu b3QgcHVibGlzaGVkIGluIHRoZSBBQ1BJIHRhYmxlIGxpc3QuDQo+ICsNCj4gKyAgVGhpcyBob29r IGNhbiBiZSB1c2VkIHRvIGltcGxlbWVudCBvcHRpb25hbCBTU0RUIHRhYmxlcyBvcg0KPiArICBl bmFibGluZy9kaXNhYmxpbmcgc3BlY2lmaWMgZnVuY3Rpb25hbGl0eSAoZS5nLiBTUENSIHRhYmxl KQ0KPiArICBiYXNlZCBvbiBhIHNldHVwIHN3aXRjaCBvciBwbGF0Zm9ybSBwcmVmZXJlbmNlLiBJ biBjYXNlIG9mDQo+ICsgIG9wdGlvbmFsIFNTRFQgdGFibGVzLHRoZSBwbGF0Zm9ybSBmbGFzaCB3 aWxsIGluY2x1ZGUgYWxsIHRoZQ0KPiArICBTU0RUIHRhYmxlcyBidXQgd2lsbCByZXR1cm4gRUZJ X1NVQ0NFU1Mgb25seSBmb3IgdGhvc2UgdGFibGVzDQo+ICsgIHRoYXQgbmVlZCB0byBiZSBwdWJs aXNoZWQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgKlRhYmxlICAgICAgICAgUG9pbnRlciB0byB0 aGUgYWN0aXZlIHRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgIEVGSV9TVUNDRVNTICAgICAgIGlm IHRoZSB0YWJsZSBpcyBhY3RpdmUuDQo+ICsgIEByZXR2YWwgIEVGSV9VTlNVUFBPUlRFRCAgIGlm IHRoZSB0YWJsZSBpcyBub3QgYWN0aXZlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0FjcGlQbGF0Zm9ybUhvb2tzSXNBY3RpdmVUYWJsZSAoDQo+ICsgIElOIE9VVCBFRklfQUNQSV9D T01NT05fSEVBREVSICAgICAqVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklfQUNQSV9ERVND UklQVElPTl9IRUFERVIgKlRhYmxlSGVhZGVyOw0KPiArDQo+ICsgIFRhYmxlSGVhZGVyID0gKEVG SV9BQ1BJX0RFU0NSSVBUSU9OX0hFQURFUiAqKSBUYWJsZTsNCj4gKw0KPiArICBpZiAoVGFibGVI ZWFkZXItPlNpZ25hdHVyZSA9PQ0KPiBFRklfQUNQSV8yXzBfU1RBVElDX1JFU09VUkNFX0FGRklO SVRZX1RBQkxFX1NJR05BVFVSRSkgew0KPiArDQo+ICsgIH0NCj4gKw0KPiArICBpZiAoKG1TeXN0 ZW1Db25maWd1cmF0aW9uLkVOREJHMiA9PSAwKSAmJiAoQ29tcGFyZU1lbQ0KPiAoJlRhYmxlSGVh ZGVyLT5PZW1UYWJsZUlkLCAiSU5UTERCRzIiLCA4KSA9PSAwKSkgew0KPiArICAgIHJldHVybiBF RklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0K PiArDQo+ICsvKioNCj4gKyAgICBVcGRhdGUgdGhlIEdWMyBTU0RUIHRhYmxlLg0KPiArDQo+ICsg ICAgQHBhcmFtW2luXVtvdXRdICAqVGFibGVIZWFkZXIgICBUaGUgdGFibGUgdG8gYmUgc2V0Lg0K PiArDQo+ICsgICAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgICBSZXR1cm5zIFN1Y2Nl c3MuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArUGF0Y2hHdjNTc2R0VGFibGUgKA0K PiArICBJTiBPVVQgICBFRklfQUNQSV9ERVNDUklQVElPTl9IRUFERVIgICpUYWJsZUhlYWRlcg0K PiArICApDQo+ICt7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAqQ3VyclB0cjsN Cj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICpTc2R0UG9pbnRlcjsNCj4gKyAgVUlO VDMyICAgICAgICAgICAgICAgICAgICAgIFNpZ25hdHVyZTsNCj4gKyAgVUlOVDMyICAgICAgICAg ICAgICAgICAgICAgIENwdUZpeGVzOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAg TnBzc0ZpeGVzOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgU3Bzc0ZpeGVzOw0K PiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgQ3B1SW5kZXg7DQo+ICsgIFVJTlQzMiAg ICAgICAgICAgICAgICAgICAgICBQYWNrYWdlU2l6ZTsNCj4gKyAgVUlOVDMyICAgICAgICAgICAg ICAgICAgICAgIE5ld1BhY2thZ2VTaXplOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAg ICAgQWRqdXN0U2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEVudHJ5SW5k ZXg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBUYWJsZUluZGV4Ow0KPiArICBF RklfQUNQSV9OQU1FX0NPTU1BTkQgICAgICAgKlBzc1RhYmxlOw0KPiArICBFRklfUFNTX1BBQ0tB R0UgICAgICAgICAgICAgKlBzc1RhYmxlSXRlbVB0cjsNCj4gKyAgRU5IQU5DRURfU1BFRURTVEVQ X1BST1RPQ09MICpFaXN0UHJvdDsNCj4gKyAgRUlTVF9JTkZPUk1BVElPTiAgICAgICAgICAgICpF aXN0SW5mbzsNCj4gKyAgRUZJX0FDUElfQ1BVX1BTU19TVEFURSAgICAgICpQc3NTdGF0ZTsNCj4g KyAgRUZJX0FDUElfTkFNRVBBQ0tfRFdPUkQgICAgICpOYW1lUHRyOw0KPiArICAvLw0KPiArICAv LyBMb29wIHRocm91Z2ggdGhlIEFTTCBsb29raW5nIGZvciB2YWx1ZXMgdGhhdCB3ZSBtdXN0IGZp eCB1cC4NCj4gKyAgLy8NCj4gKyAgTnBzc0ZpeGVzID0gMDsNCj4gKyAgU3Bzc0ZpeGVzID0gMDsN Cj4gKyAgQ3B1Rml4ZXMgID0gMDsNCj4gKyAgQ3B1SW5kZXggID0gMDsNCj4gKyAgQ3VyclB0ciAg ID0gKFVJTlQ4ICopIFRhYmxlSGVhZGVyOw0KPiArDQo+ICsgIEVpc3RQcm90ICA9IE5VTEw7DQo+ ICsgIGZvciAoU3NkdFBvaW50ZXIgPSBDdXJyUHRyOyBTc2R0UG9pbnRlciA8PSAoQ3VyclB0ciAr DQo+ICgoRUZJX0FDUElfQ09NTU9OX0hFQURFUiAqKSBDdXJyUHRyKS0+TGVuZ3RoKTsgU3NkdFBv aW50ZXIrKykgew0KPiArICAgIFNpZ25hdHVyZSA9ICooVUlOVDMyICopIFNzZHRQb2ludGVyOw0K PiArICAgIHN3aXRjaCAoU2lnbmF0dXJlKSB7DQo+ICsNCj4gKyAgICBjYXNlIFNJR05BVFVSRV8z MiAoJ18nLCAnUCcsICdSJywgJ18nKToNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBfQ1BVWCAo JzAnIHRvICcweEYnKQ0KPiArICAgICAgLy8NCj4gKyAgICAgIENwdUluZGV4ID0gKihTc2R0UG9p bnRlciArIDcpOw0KPiArICAgICAgaWYgKENwdUluZGV4ID49ICcwJyAmJiBDcHVJbmRleCA8PSAn OScpIHsNCj4gKyAgICAgICAgQ3B1SW5kZXggLT0gJzAnOw0KPiArICAgICAgfSBlbHNlIHsNCj4g KyAgICAgICAgaWYgKENwdUluZGV4ID4gJzknKSB7DQo+ICsgICAgICAgICAgQ3B1SW5kZXggLT0g JzcnOw0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIENwdUZpeGVzKys7 DQo+ICsgICAgICBMb2NhdGVDcHVFaXN0UHJvdG9jb2wgKENwdUluZGV4LCAmRWlzdFByb3QpOw0K PiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIFNJR05BVFVSRV8zMiAoJ0QnLCAnTycs ICdNJywgJ04nKToNCj4gKw0KPiArICAgICAgTmFtZVB0ciA9IEFDUElfTkFNRV9DT01NQU5EX0ZS T01fTkFNRVBBQ0tfU1RSDQo+IChTc2R0UG9pbnRlcik7DQo+ICsgICAgICBpZiAoTmFtZVB0ci0+ U3RhcnRCeXRlICE9IEFNTF9OQU1FX09QKSB7DQo+ICsgICAgICAgIGNvbnRpbnVlOw0KPiArICAg ICAgfQ0KPiArDQo+ICsgICAgICBpZiAoTmFtZVB0ci0+U2l6ZSAhPSBBTUxfTkFNRV9EV09SRF9T SVpFKSB7DQo+ICsgICAgICAgIGNvbnRpbnVlOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBO YW1lUHRyLT5WYWx1ZSA9IDA7DQo+ICsNCj4gKyAgICAgICAgaWYgKG1DcHVBcGljSWRBY3BpSWRN YXBUYWJsZVtDcHVJbmRleF0uRmxhZ3MpIHsNCj4gKyAgICAgICAgICBOYW1lUHRyLT5WYWx1ZSA9 IChtQ3B1QXBpY0lkQWNwaUlkTWFwVGFibGVbQ3B1SW5kZXhdLkFwaWNJZCA+Pg0KPiAweDA0KSAm IDB4MDE7DQo+ICsgICAgICB9DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgU0lH TkFUVVJFXzMyICgnTicsICdDJywgJ1AnLCAnVScpOg0KPiArDQo+ICsgICAgICBOYW1lUHRyID0g QUNQSV9OQU1FX0NPTU1BTkRfRlJPTV9OQU1FUEFDS19TVFINCj4gKFNzZHRQb2ludGVyKTsNCj4g KyAgICAgIGlmIChOYW1lUHRyLT5TdGFydEJ5dGUgIT0gQU1MX05BTUVfT1ApIHsNCj4gKyAgICAg ICAgY29udGludWU7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIGlmIChOYW1lUHRyLT5TaXpl ICE9IEFNTF9OQU1FX0RXT1JEX1NJWkUpIHsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAg ICB9DQo+ICsNCj4gKyAgICAgICAgTmFtZVB0ci0+VmFsdWUgPSAwOw0KPiArICAgICAgICBpZiAo bUNwdUFwaWNJZEFjcGlJZE1hcFRhYmxlW0NwdUluZGV4XS5GbGFncykgew0KPiArICAgICAgICAg IE5hbWVQdHItPlZhbHVlID0gR2V0UHJvY051bWJlckluUGFja2FnZQ0KPiAoKG1DcHVBcGljSWRB Y3BpSWRNYXBUYWJsZVtDcHVJbmRleF0uQXBpY0lkID4+IDB4MDQpICYgMHgwMSk7DQo+ICsgICAg ICB9DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgU0lHTkFUVVJFXzMyICgnTics ICdQJywgJ1MnLCAnUycpOg0KPiArICAgIGNhc2UgU0lHTkFUVVJFXzMyICgnUycsICdQJywgJ1Mn LCAnUycpOg0KPiArICAgICAgaWYgKEVpc3RQcm90ID09IE5VTEwpIHsNCj4gKyAgICAgICAgY29u dGludWU7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIFBzc1RhYmxlID0gQUNQSV9OQU1FX0NP TU1BTkRfRlJPTV9OQU1FX1NUUiAoU3NkdFBvaW50ZXIpOw0KPiArICAgICAgaWYgKFBzc1RhYmxl LT5TdGFydEJ5dGUgIT0gQU1MX05BTUVfT1ApIHsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsg ICAgICB9DQo+ICsNCj4gKyAgICAgIEVpc3RQcm90LT5HZXRFaXN0VGFibGUgKEVpc3RQcm90LCAm RWlzdEluZm8sIChWT0lEICoqKSAmUHNzU3RhdGUpOw0KPiArDQo+ICsgICAgICBBZGp1c3RTaXpl ICA9IFBzc1RhYmxlLT5OdW1FbnRyaWVzICogc2l6ZW9mIChFRklfUFNTX1BBQ0tBR0UpOw0KPiAr ICAgICAgQWRqdXN0U2l6ZSAtPSBFaXN0SW5mby0+TnVtU3RhdGVzICogc2l6ZW9mIChFRklfUFNT X1BBQ0tBR0UpOw0KPiArICAgICAgUGFja2FnZVNpemUgICAgID0gKFBzc1RhYmxlLT5TaXplICYg MHhGKSArICgoUHNzVGFibGUtPlNpemUgJiAweEZGMDApID4+DQo+IDQpOw0KPiArICAgICAgTmV3 UGFja2FnZVNpemUgID0gUGFja2FnZVNpemUgLSBBZGp1c3RTaXplOw0KPiArICAgICAgUHNzVGFi bGUtPlNpemUgID0gKFVJTlQxNikgKChOZXdQYWNrYWdlU2l6ZSAmIDB4RikgKw0KPiAoKE5ld1Bh Y2thZ2VTaXplICYgMHgwRkYwKSA8PCA0KSk7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAv LyBTZXQgbW9zdCBzaWduaWZpY2FudCB0d28gYml0cyBvZiBieXRlIHplcm8gdG8gMDEsIG1lYW5p bmcgdHdvIGJ5dGVzDQo+IHVzZWQuDQo+ICsgICAgICAvLw0KPiArICAgICAgUHNzVGFibGUtPlNp emUgfD0gMHg0MDsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFNldCB1bnVzZWQgdGFi bGUgdG8gTm9vcCBDb2RlLg0KPiArICAgICAgLy8NCj4gKyAgICAgIFNldE1lbSggKFVJTlQ4ICop IFBzc1RhYmxlICsgTmV3UGFja2FnZVNpemUgKw0KPiBBTUxfTkFNRV9QUkVGSVhfU0laRSwgQWRq dXN0U2l6ZSwgQU1MX05PT1BfT1ApOw0KPiArICAgICAgUHNzVGFibGUtPk51bUVudHJpZXMgID0g KFVJTlQ4KSBFaXN0SW5mby0+TnVtU3RhdGVzOw0KPiArICAgICAgUHNzVGFibGVJdGVtUHRyICAg ICAgID0gKEVGSV9QU1NfUEFDS0FHRSAqKSAoKFVJTlQ4ICopIFBzc1RhYmxlICsgc2l6ZW9mDQo+ IChFRklfQUNQSV9OQU1FX0NPTU1BTkQpKTsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8v IFVwZGF0ZSB0aGUgc2l6ZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBmb3IgKFRhYmxlSW5kZXgg PSAwOyBUYWJsZUluZGV4IDwgRWlzdEluZm8tPk51bVN0YXRlczsgVGFibGVJbmRleCsrKSB7DQo+ ICsgICAgICAgIEVudHJ5SW5kZXggICAgICAgICAgICAgICAgPSBFaXN0SW5mby0+TnVtU3RhdGVz IC0gVGFibGVJbmRleCAtIDE7DQo+ICsgICAgICAgIFBzc1RhYmxlSXRlbVB0ci0+Q29yZUZyZXEg PSBQc3NTdGF0ZVtFbnRyeUluZGV4XS5Db3JlRnJlcXVlbmN5ICoNCj4gUHNzU3RhdGVbRW50cnlJ bmRleF0uQ29udHJvbDsNCj4gKyAgICAgICAgUHNzVGFibGVJdGVtUHRyLT5Qb3dlciAgICA9IFBz c1N0YXRlW0VudHJ5SW5kZXhdLlBvd2VyICogMTAwMDsNCj4gKyAgICAgICAgaWYgKFBzc1RhYmxl LT5OYW1lU3RyID09IFNJR05BVFVSRV8zMiAoJ04nLCAnUCcsICdTJywgJ1MnKSkgew0KPiArICAg ICAgICAgIFBzc1RhYmxlSXRlbVB0ci0+Qk1MYXRlbmN5ICAgID0NCj4gUHNzU3RhdGVbRW50cnlJ bmRleF0uQnVzTWFzdGVyTGF0ZW5jeTsNCj4gKyAgICAgICAgICBQc3NUYWJsZUl0ZW1QdHItPlRy YW5zTGF0ZW5jeSA9DQo+IFBzc1N0YXRlW0VudHJ5SW5kZXhdLlRyYW5zaXRpb25MYXRlbmN5Ow0K PiArICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gVGhp cyBtZXRob2Qgc2hvdWxkIGJlIHN1cHBvcnRlZCBieSBTTU0gUFBNIEhhbmRsZXIuDQo+ICsgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICBQc3NUYWJsZUl0ZW1QdHItPkJNTGF0ZW5jeSAgICA9DQo+ IFBzc1N0YXRlW0VudHJ5SW5kZXhdLkJ1c01hc3RlckxhdGVuY3kgKiAyOw0KPiArICAgICAgICAg IFBzc1RhYmxlSXRlbVB0ci0+VHJhbnNMYXRlbmN5ID0NCj4gUHNzU3RhdGVbRW50cnlJbmRleF0u VHJhbnNpdGlvbkxhdGVuY3kgKiAxMDsNCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIFBz c1RhYmxlSXRlbVB0ci0+Q29udHJvbCAgPSBQc3NTdGF0ZVtFbnRyeUluZGV4XS5Db250cm9sOw0K PiArICAgICAgICBQc3NUYWJsZUl0ZW1QdHItPlN0YXR1cyAgID0gUHNzU3RhdGVbRW50cnlJbmRl eF0uU3RhdHVzOw0KPiArICAgICAgICBQc3NUYWJsZUl0ZW1QdHIrKzsNCj4gKyAgICAgIH0NCj4g Kw0KPiArICAgICAgaWYgKFBzc1RhYmxlLT5OYW1lU3RyID09IFNJR05BVFVSRV8zMiAoJ04nLCAn UCcsICdTJywgJ1MnKSkgew0KPiArICAgICAgICBOcHNzRml4ZXMrKzsNCj4gKyAgICAgIH0gZWxz ZSB7DQo+ICsgICAgICAgIFNwc3NGaXhlcysrOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBT c2R0UG9pbnRlciA9IChVSU5UOCAqKSBQc3NUYWJsZSArIFBhY2thZ2VTaXplOw0KPiArICAgICAg YnJlYWs7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTiBmaXhlcyB0 b2dldGhlciBjdXJyZW50bHkuDQo+ICsgIC8vDQo+ICsgIEFTU0VSVCAoQ3B1Rml4ZXMgPT0gKFVJ TlQzMikgTUFYX0NQVV9OVU0pOw0KPiArICBBU1NFUlQgKFNwc3NGaXhlcyA9PSBOcHNzRml4ZXMp Ow0KPiArICBBU1NFUlQgKENwdUZpeGVzID49IFNwc3NGaXhlcyk7DQo+ICsNCj4gKyAgcmV0dXJu IEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgICBVcGRhdGUgdGhlIERTRFQg dGFibGUuDQo+ICsNCj4gKyAgICBAcGFyYW1baW5dW291dF0gICpUYWJsZUhlYWRlciAgIFRoZSB0 YWJsZSB0byBiZSBzZXQuDQo+ICsNCj4gKyAgICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAgICAg ICAgIFJldHVybnMgRUZJX1NVQ0NFU1MuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr UGF0Y2hEc2R0VGFibGUgKA0KPiArICBJTiBPVVQgICBFRklfQUNQSV9ERVNDUklQVElPTl9IRUFE RVIgICpUYWJsZUhlYWRlcg0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgVUlOVDggICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqQ3VyclB0cjsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAqRHNkdFBvaW50ZXI7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKlNpZ25hdHVyZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqRW5kUHRyOw0KPiArICBVSU5UOCAgICpPcGVyYXRpb247DQo+ICsgIFVJTlQzMiAg KkFkZHJlc3M7DQo+ICsgIFVJTlQxNiAgKlNpemU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRml4 IFBDSTMyIHJlc291cmNlICJGSVgwIiAtLSBQU1lTIHN5c3RlbSBzdGF0dXMgYXJlYQ0KPiArICAv Lw0KPiArICBDdXJyUHRyID0gKFVJTlQ4KikgJigoRUZJX0FDUElfREVTQ1JJUFRJT05fSEVBREVS KikgVGFibGVIZWFkZXIpWzBdOw0KPiArICBFbmRQdHIgPSAoVUlOVDgqKSBUYWJsZUhlYWRlcjsN Cj4gKyAgRW5kUHRyID0gRW5kUHRyICsgVGFibGVIZWFkZXItPkxlbmd0aDsNCj4gKyAgd2hpbGUg KEN1cnJQdHIgPCAoRW5kUHRyLTIpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZW1vdmVkIHRo ZSBfUzMgdGFnIHRvIGluZGljYXRlIHRoYXQgd2UgZG8gbm90IHN1cHBvcnQgUzMuIFRoZSA0dGgN Cj4gYnl0ZSBpcyBibGFuayBzcGFjZQ0KPiArICAgIC8vIHNpbmNlIHRoZXJlIGFyZSBvbmx5IDMg Y2hhciAiX1MzIi4NCj4gKyAgICAvLw0KPiArICAgIGlmIChtU3lzdGVtQ29uZmlndXJhdGlvbi5B Y3BpU3VzcGVuZFN0YXRlID09IDApIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBGb3IgaWFz bCBjb21waWxlciB2ZXJzaW9uIDIwMDYxMTA5Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICgo Q3VyclB0clswXSA9PSAnXycpICYmIChDdXJyUHRyWzFdID09ICdTJykgJiYgKEN1cnJQdHJbMl0g PT0gJzMnKSAmJg0KPiAoQ3VyclB0clszXSA9PSAnXycpKSB7DQo+ICsgICAgICAgIGJyZWFrOw0K PiArICAgICAgfQ0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEZvciBpYXNsIGNvbXBpbGVyIHZl cnNpb24gMjAwNDA1MjcuDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKChDdXJyUHRyWzBdID09 ICdcXCcpICYmIChDdXJyUHRyWzFdID09ICdfJykgJiYgKEN1cnJQdHJbMl0gPT0gJ1MnKSAmJg0K PiAoQ3VyclB0clszXSA9PSAnMycpKSB7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0K PiArICAgIH0NCj4gKyAgICBDdXJyUHRyKys7DQo+ICsgIH0NCj4gKyAgQ3VyclB0ciA9IChVSU5U OCopICYoKEVGSV9BQ1BJX0RFU0NSSVBUSU9OX0hFQURFUiopIFRhYmxlSGVhZGVyKVswXTsNCj4g KyAgRW5kUHRyID0gKFVJTlQ4KikgVGFibGVIZWFkZXI7DQo+ICsgIEVuZFB0ciA9IEVuZFB0ciAr IFRhYmxlSGVhZGVyLT5MZW5ndGg7DQo+ICsgIHdoaWxlIChDdXJyUHRyIDwgKEVuZFB0ci0yKSkg ew0KPiArICAgIC8vDQo+ICsgICAgLy8gRm9yIG1pcGkgZHNpIHBvcnQgc2VsZWN0IF9ERVAuDQo+ ICsgICAgLy8NCj4gKyAgICBpZiAobVN5c3RlbUNvbmZpZ3VyYXRpb24uTWlwaURzaT09IDEpIHsN Cj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBGb3IgaWFzbCBjb21waWxlciB2ZXJzaW9uIDIwMDYx MTA5Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICgoQ3VyclB0clswXSA9PSAnTicpICYmIChD dXJyUHRyWzFdID09ICdEJykgJiYgKEN1cnJQdHJbMl0gPT0gJ0UnKSAmJg0KPiAoQ3VyclB0clsz XSA9PSAnUCcpKSB7DQo+ICsgICAgICAgIEN1cnJQdHJbMF0gPSAnXyc7DQo+ICsgICAgICAgIGJy ZWFrOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgIGlmICgoQ3Vy clB0clswXSA9PSAnUCcpICYmIChDdXJyUHRyWzFdID09ICdEJykgJiYgKEN1cnJQdHJbMl0gPT0g J0UnKSAmJg0KPiAoQ3VyclB0clszXSA9PSAnUCcpKSB7DQo+ICsgICAgICAgIEN1cnJQdHJbMF0g PSAnXyc7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgfQ0KPiAr ICAgIEN1cnJQdHIrKzsNCj4gKyAgfQ0KPiArICAvLw0KPiArICAvLyBMb29wIHRocm91Z2ggdGhl IEFTTCBsb29raW5nIGZvciB2YWx1ZXMgdGhhdCB3ZSBtdXN0IGZpeCB1cC4NCj4gKyAgLy8NCj4g KyAgQ3VyclB0ciA9IChVSU5UOCAqKSBUYWJsZUhlYWRlcjsNCj4gKyAgZm9yIChEc2R0UG9pbnRl ciA9IEN1cnJQdHI7IERzZHRQb2ludGVyIDw9IChDdXJyUHRyICsNCj4gKChFRklfQUNQSV9DT01N T05fSEVBREVSICopIEN1cnJQdHIpLT5MZW5ndGgpOyBEc2R0UG9pbnRlcisrKSB7DQo+ICsgICAg U2lnbmF0dXJlID0gKFVJTlQzMiAqKSBEc2R0UG9pbnRlcjsNCj4gKw0KPiArICAgIHN3aXRjaCAo KlNpZ25hdHVyZSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gR05WUyBvcGVyYXRpb24gcmVnaW9u Lg0KPiArICAgIC8vDQo+ICsgICAgY2FzZSAoU0lHTkFUVVJFXzMyICgnRycsICdOJywgJ1YnLCAn UycpKToNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBDb25kaXRpb25hbCBtYXRjaC4gIEZvciBS ZWdpb24gT2JqZWN0cywgdGhlIE9wZXJhdG9yIHdpbGwgYWx3YXlzIGJlDQo+IHRoZQ0KPiArICAg ICAgLy8gYnl0ZSBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIHNwZWNpZmljIG5hbWUuICBUaGVyZWZv cmUsIHN1YnRyYWN0IDEgdG8NCj4gY2hlY2sNCj4gKyAgICAgIC8vIHRoZSBPcGVyYXRvci4NCj4g KyAgICAgIC8vDQo+ICsgICAgICBPcGVyYXRpb24gPSBEc2R0UG9pbnRlciAtIDE7DQo+ICsgICAg ICBpZiAoKk9wZXJhdGlvbiA9PSBBTUxfT1BSRUdJT05fT1ApIHsNCj4gKyAgICAgICAgQWRkcmVz cyAgID0gKFVJTlQzMiAqKSAoRHNkdFBvaW50ZXIgKyA2KTsNCj4gKyAgICAgICAgKkFkZHJlc3Mg ID0gKFVJTlQzMikgKFVJTlROKSBtR2xvYmFsTnZzQXJlYS5BcmVhOw0KPiArICAgICAgICBTaXpl ICAgICAgPSAoVUlOVDE2ICopIChEc2R0UG9pbnRlciArIDExKTsNCj4gKyAgICAgICAgKlNpemUg ICAgID0gc2l6ZW9mIChFRklfR0xPQkFMX05WU19BUkVBKTsNCj4gKyAgICAgIH0NCj4gKyAgICAg IGJyZWFrOw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsg IH0NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+IGRpZmYgLS1naXQNCj4g YS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRm b3JtSG9va3MuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0 Zm9ybS9BY3BpUGxhdGZvcm1Ib29rcy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLjQ3MTg5NDk2MTANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BY3BpUGxhdGZvcm0vQWNwaVBsYXRmb3JtSG9va3Mu aA0KPiBAQCAtMCwwICsxLDEyNyBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykg MjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgQWNwaVBs YXRmb3JtSG9va3MuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlzIGlzIGFuIGlt cGxlbWVudGF0aW9uIG9mIHRoZSBBQ1BJIHBsYXRmb3JtIGRyaXZlci4gIFJlcXVpcmVtZW50cyBm b3INCj4gKyAgdGhpcyBkcml2ZXIgYXJlIGRlZmluZWQgaW4gdGhlIFRpYW5vIEFDUEkgRXh0ZXJu YWwgUHJvZHVjdCBTcGVjaWZpY2F0aW9uLA0KPiArICByZXZpc2lvbiAwLjMuNi4NCj4gKw0KPiAr LS0qLw0KPiArDQo+ICsjaWZuZGVmIF9BQ1BJX1BMQVRGT1JNX0hPT0tTX0hfDQo+ICsjZGVmaW5l IF9BQ1BJX1BMQVRGT1JNX0hPT0tTX0hfDQo+ICsNCj4gKy8vDQo+ICsvLyBTdGF0ZW1lbnRzIHRo YXQgaW5jbHVkZSBvdGhlciBoZWFkZXIgZmlsZXMNCj4gKy8vDQo+ICsNCj4gKyNpbmNsdWRlIDxJ bmR1c3RyeVN0YW5kYXJkL0FjcGkuaD4NCj4gKyNpbmNsdWRlICJQbGF0Zm9ybS5oIg0KPiArI2lu Y2x1ZGUgPFByb3RvY29sL0VuaGFuY2VkU3BlZWRzdGVwLmg+DQo+ICsNCj4gKyNkZWZpbmUgQU1M X05BTUVfT1AgICAgICAgICAgIDB4MDgNCj4gKyNkZWZpbmUgQU1MX01FVEhPRF9PUCAgICAgICAg IDB4MTQNCj4gKyNkZWZpbmUgQU1MX09QUkVHSU9OX09QICAgICAgIDB4ODANCj4gKyNkZWZpbmUg QU1MX1BBQ0tBR0VfT1AgICAgICAgIDB4MTIgIC8vIFBhY2thZ2Ugb3BlcmF0b3IuDQo+ICsjZGVm aW5lIEFNTF9OQU1FX1BSRUZJWF9TSVpFICAweDA2DQo+ICsjZGVmaW5lIEFNTF9OQU1FX0RXT1JE X1NJWkUgICAweDBDDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICt0eXBlZGVmIHN0 cnVjdCB7DQo+ICsgIFVJTlQ4ICAgQWNwaVByb2Nlc3NvcklkOw0KPiArICBVSU5UOCAgIEFwaWNJ ZDsNCj4gKyAgVUlOVDE2ICBGbGFnczsNCj4gK30gRUZJX0NQVV9JRF9NQVA7DQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICBTdGFydEJ5dGU7DQo+ICsgIFVJTlQzMiAgTmFt ZVN0cjsNCj4gKyAgVUlOVDggICBTaXplOw0KPiArICBVSU5UMzIgIFZhbHVlOw0KPiArfSBFRklf QUNQSV9OQU1FUEFDS19EV09SRDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5U OCAgIFN0YXJ0Qnl0ZTsNCj4gKyAgVUlOVDMyICBOYW1lU3RyOw0KPiArICBVSU5UOCAgIE9wQ29k ZTsNCj4gKyAgVUlOVDE2ICBTaXplOyAgICAgICAgICAgICAgICAgICAgIC8vIEhhcmRjb2RlIHRv IDE2Yml0IHdpZHRoIGJlY2F1c2UgdGhlIHRhYmxlIHdlDQo+IHVzZSBpcyBmaXhlZCBzaXplDQo+ ICsgIFVJTlQ4ICAgTnVtRW50cmllczsNCj4gK30gRUZJX0FDUElfTkFNRV9DT01NQU5EOw0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgUGFja2FnZU9wOw0KPiArICBVSU5U OCAgIFBrZ0xlYWRCeXRlOw0KPiArICBVSU5UOCAgIE51bUVudHJpZXM7DQo+ICsgIFVJTlQ4ICAg RHdvcmRQcmVmaXgwOw0KPiArICBVSU5UMzIgIENvcmVGcmVxOw0KPiArICBVSU5UOCAgIER3b3Jk UHJlZml4MTsNCj4gKyAgVUlOVDMyICBQb3dlcjsNCj4gKyAgVUlOVDggICBEd29yZFByZWZpeDI7 DQo+ICsgIFVJTlQzMiAgVHJhbnNMYXRlbmN5Ow0KPiArICBVSU5UOCAgIER3b3JkUHJlZml4MzsN Cj4gKyAgVUlOVDMyICBCTUxhdGVuY3k7DQo+ICsgIFVJTlQ4ICAgRHdvcmRQcmVmaXg0Ow0KPiAr ICBVSU5UMzIgIENvbnRyb2w7DQo+ICsgIFVJTlQ4ICAgRHdvcmRQcmVmaXg1Ow0KPiArICBVSU5U MzIgIFN0YXR1czsNCj4gK30gRUZJX1BTU19QQUNLQUdFOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIFVJTlQ4IFBhY2thZ2VPcDsNCj4gKyAgVUlOVDggUGtnTGVhZEJ5dGU7DQo+ICsg IFVJTlQ4IE51bUVudHJpZXM7DQo+ICsgIFVJTlQ4IEJ5dGVQcmVmaXgwOw0KPiArICBVSU5UOCBF bnRyaWVzOw0KPiArICBVSU5UOCBCeXRlUHJlZml4MTsNCj4gKyAgVUlOVDggUmV2aXNpb247DQo+ ICsgIFVJTlQ4IEJ5dGVQcmVmaXgyOw0KPiArICBVSU5UOCBEb21haW47DQo+ICsgIFVJTlQ4IEJ5 dGVQcmVmaXgzOw0KPiArICBVSU5UOCBDb29yZGluYXRlOw0KPiArICBVSU5UOCBCeXRlUHJlZml4 NDsNCj4gKyAgVUlOVDggUHJvY051bWJlcjsNCj4gK30gRUZJX1BTRF9QQUNLQUdFOw0KPiArDQo+ ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsjZGVmaW5lIEFDUElfTkFNRV9DT01NQU5EX0ZST01f TkFNRV9TVFIoYSkgIEJBU0VfQ1IgKGEsDQo+IEVGSV9BQ1BJX05BTUVfQ09NTUFORCwgTmFtZVN0 cikNCj4gKyNkZWZpbmUgQUNQSV9OQU1FX0NPTU1BTkRfRlJPTV9OQU1FUEFDS19TVFIoYSkgIEJB U0VfQ1IgKGEsDQo+IEVGSV9BQ1BJX05BTUVQQUNLX0RXT1JELCBOYW1lU3RyKQ0KPiArDQo+ICtF RklfU1RBVFVTDQo+ICtQbGF0Zm9ybUhvb2tJbml0ICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiAr DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1BhdGNoRHNkdFRhYmxlICgNCj4gKyAgSU4gT1VUICAg RUZJX0FDUElfREVTQ1JJUFRJT05fSEVBREVSICAqVGFibGVIZWFkZXINCj4gKyAgKTsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArUGF0Y2hHdjNTc2R0VGFibGUgKA0KPiArICBJTiBPVVQgIEVGSV9B Q1BJX0RFU0NSSVBUSU9OX0hFQURFUiAqVGFibGUNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRV Uw0KPiArUGF0Y2hFcnN0VGFibGUgKA0KPiArICBJTiBPVVQgIEVGSV9BQ1BJX0RFU0NSSVBUSU9O X0hFQURFUiAqVGFibGUNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQXBwZW5kQ3B1 TWFwVGFibGVFbnRyeSAoDQo+ICsgIElOIEVGSV9BQ1BJXzJfMF9QUk9DRVNTT1JfTE9DQUxfQVBJ Q19TVFJVQ1RVUkUgICAqQWNwaUxvY2FsQXBpYw0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4g ZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0 Zm9ybS9BY3BpUGxhdGZvcm1Ib29rc0xpYi5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvQWNwaVBsYXRmb3JtL0FjcGlQbGF0Zm9ybUhvb2tzTGliLmgNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYTI1M2Q2NGVjMA0KPiAtLS0gL2Rldi9u dWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0 Zm9ybS9BY3BpUGxhdGZvcm1Ib29rc0xpYi5oDQo+IEBAIC0wLDAgKzEsOTEgQEANCj4gKy8qKysN Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsgIEFjcGlQbGF0Zm9ybUhvb2tzTGliLmgNCj4gKw0KPiArQWJzdHJh Y3Q6DQo+ICsNCj4gKyAgVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBvZiB0aGUgQUNQSSBwbGF0 Zm9ybSBkcml2ZXIuICBSZXF1aXJlbWVudHMgZm9yDQo+ICsgIHRoaXMgZHJpdmVyIGFyZSBkZWZp bmVkIGluIHRoZSBUaWFubyBBQ1BJIEV4dGVybmFsIFByb2R1Y3QgU3BlY2lmaWNhdGlvbiwNCj4g KyAgcmV2aXNpb24gMC4zLjYuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfQUNQSV9Q TEFURk9STV9IT09LU19MSUJfSF8NCj4gKyNkZWZpbmUgX0FDUElfUExBVEZPUk1fSE9PS1NfTElC X0hfDQo+ICsNCj4gKy8vDQo+ICsvLyBTdGF0ZW1lbnRzIHRoYXQgaW5jbHVkZSBvdGhlciBoZWFk ZXIgZmlsZXMuDQo+ICsvLw0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvQWNwaS5oPg0K PiArDQo+ICsvKioNCj4gKyAgUmV0dXJucyB0aGUgQUNQSSB0YWJsZSB2ZXJzaW9uIHRoYXQgdGhl IHBsYXRmb3JtIHdhbnRzLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIE5vbmUNCj4gKw0KPiArICBA cmV0dmFsICBFRklfQUNQSV9UQUJMRV9WRVJTSU9OX05PTkUgIGlmIEFDUEkgaXMgdG8gYmUgZGlz YWJsZWQuDQo+ICsgIEByZXR2YWwgIEVGSV9BQ1BJX1RBQkxFX1ZFUlNJT05fMV8wQiAgaWYgMS4w Yi4NCj4gKyAgQHJldHZhbCAgRUZJX0FDUElfVEFCTEVfVkVSU0lPTl8yXzAwICBpZiAyLjAwLg0K PiArKiovDQo+ICtFRklfQUNQSV9UQUJMRV9WRVJTSU9ODQo+ICtBY3BpUGxhdGZvcm1Ib29rc0dl dEFjcGlUYWJsZVZlcnNpb24gKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiAr ICBSZXR1cm5zIHRoZSBPRU1JRCwgT0VNIFRhYmxlIElELCBPRU0gUmV2aXNpb24uDQo+ICsNCj4g KyAgQHBhcmFtW2luXSAgTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgIE9lbUlkICAgICAgICBPRU0g SUQgc3RyaW5nIGZvciBBQ1BJIHRhYmxlcywgbWF4aW11bSA2IEFTQ0lJDQo+IGNoYXJhY3RlcnMu DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIGFuIE9FTS1zdXBwbGllZCBzdHJp bmcgdGhhdCBpZGVudGlmaWVzIHRoZSBPRU0uDQo+ICsgIEByZXR2YWwgIE9lbVRhYmxlSWQgICBB biBPRU0tc3VwcGxpZWQgc3RyaW5nIHRoYXQgdGhlIE9FTSB1c2VzIHRvDQo+IGlkZW50aWZ5DQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcGFydGljdWxhciBkYXRhIHRhYmxlLiBUaGlz IGZpZWxkIGlzIHBhcnRpY3VsYXJseSB1c2VmdWwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IHdoZW4gZGVmaW5pbmcgYSBkZWZpbml0aW9uIGJsb2NrIHRvIGRpc3Rpbmd1aXNoIGRlZmluaXRp b24gYmxvY2sNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9ucy4gVGhlIE9FTSBh c3NpZ25zIGVhY2ggZGlzc2ltaWxhciB0YWJsZSBhIG5ldyBPRU0NCj4gVGFibGUgSUQuDQo+ICsg IEByZXR2YWwgIE9lbVJldmlzaW9uICBBbiBPRU0tc3VwcGxpZWQgcmV2aXNpb24gbnVtYmVyIGZv ciBBQ1BJIHRhYmxlcy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIExhcmdlciBudW1iZXJz IGFyZSBhc3N1bWVkIHRvIGJlIG5ld2VyIHJldmlzaW9ucy4NCj4gKw0KPiArKiovDQo+ICtFRklf U1RBVFVTDQo+ICtBY3BpUGxhdGZvcm1Ib29rc0dldE9lbUZpZWxkcyAoDQo+ICsgIE9VVCBVSU5U OCAgICpPZW1JZCwNCj4gKyAgT1VUIFVJTlQ2NCAgKk9lbVRhYmxlSWQsDQo+ICsgIE9VVCBVSU5U MzIgICpPZW1SZXZpc2lvbg0KPiArICApOw0KPiArDQo+ICsgLyoqDQo+ICsgIENhbGxlZCBmb3Ig ZXZlcnkgQUNQSSB0YWJsZSBmb3VuZCBpbiB0aGUgQklPUyBmbGFzaC4NCj4gKyAgUmV0dXJucyB3 aGV0aGVyIGEgdGFibGUgaXMgYWN0aXZlIG9yIG5vdC4gSW5hY3RpdmUgdGFibGVzDQo+ICsgIGFy ZSBub3QgcHVibGlzaGVkIGluIHRoZSBBQ1BJIHRhYmxlIGxpc3QuIFRoaXMgaG9vayBjYW4gYmUN Cj4gKyAgdXNlZCB0byBpbXBsZW1lbnQgb3B0aW9uYWwgU1NEVCB0YWJsZXMgb3IgZW5hYmxpbmcv ZGlzYWJsaW5nDQo+ICsgIHNwZWNpZmljIGZ1bmN0aW9uYWxpdHkgKGUuZy4gU1BDUiB0YWJsZSkg YmFzZWQgb24gYSBzZXR1cA0KPiArICBzd2l0Y2ggb3IgcGxhdGZvcm0gcHJlZmVyZW5jZS4gSW4g Y2FzZSBvZiBvcHRpb25hbCBTU0RUIHRhYmxlcywNCj4gKyAgdGhlIHBsYXRmb3JtIGZsYXNoIHdp bGwgaW5jbHVkZSBhbGwgdGhlIFNTRFQgdGFibGVzIGJ1dCB3aWxsDQo+ICsgIHJldHVybiBFRklf U1VDQ0VTUyBvbmx5IGZvciB0aG9zZSB0YWJsZXMgdGhhdCBuZWVkIHRvIGJlDQo+ICsgIHB1Ymxp c2hlZC4NCj4gKyAgVGhpcyBob29rIGNhbiBhbHNvIGJlIHVzZWQgdG8gdXBkYXRlIHRoZSB0YWJs ZSBkYXRhLiBUaGUgaGVhZGVyDQo+ICsgIGlzIHVwZGF0ZWQgYnkgdGhlIGNvbW1vbiBjb2RlLiBG b3IgZXhhbXBsZSwgaWYgYSBwbGF0Zm9ybSB3YW50cw0KPiArICB0byB1c2UgYW4gU1NEVCB0YWJs ZSB0byBleHBvcnQgc29tZSBwbGF0Zm9ybSBzZXR0aW5ncyB0byB0aGUNCj4gKyAgQUNQSSBjb2Rl LCBpdCBuZWVkcyB0byB1cGRhdGUgdGhlIGRhdGEgaW5zaWRlIHRoYXQgU1NEVCBiYXNlZA0KPiAr ICBvbiBwbGF0Zm9ybSBwcmVmZXJlbmNlcyBpbiB0aGlzIGhvb2suDQo+ICsNCj4gKyAgQHBhcmFt W2luXSAgTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgIEVGSV9TVUNDRVNTICAgICAgaWYgdGhlIHRh YmxlIGlzIGFjdGl2ZS4NCj4gKyAgQHJldHZhbCAgRUZJX1VOU1VQUE9SVEVEICBpZiB0aGUgdGFi bGUgaXMgbm90IGFjdGl2ZS4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQWNwaVBsYXRmb3Jt SG9va3NJc0FjdGl2ZVRhYmxlICgNCj4gKyAgSU4gT1VUIEVGSV9BQ1BJX0NPTU1PTl9IRUFERVIg ICAgICpUYWJsZQ0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FjcGlQbGF0Zm9ybS9Pc2ZyLmgNCj4gYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BY3BpUGxhdGZvcm0vT3Nmci5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjRkOThkYjc1OTINCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BY3BpUGxh dGZvcm0vT3Nmci5oDQo+IEBAIC0wLDAgKzEsNTYgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5 cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ ICsgIE9zZnIuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlzIGZpbGUgZGVzY3Jp YmVzIHRoZSBjb250ZW50cyBvZiB0aGUgQUNQSSBPU0ZSIFRhYmxlLg0KPiArDQo+ICstLSovDQo+ ICsNCj4gKyNpZm5kZWYgX09TRlJfSA0KPiArI2RlZmluZSBfT1NGUl9IDQo+ICsNCj4gKy8vDQo+ ICsvLyBTdGF0ZW1lbnRzIHRoYXQgaW5jbHVkZSBvdGhlciBmaWxlcy4NCj4gKy8vDQo+ICsjaW5j bHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9BY3BpMTAuaD4NCj4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0 YW5kYXJkL0FjcGkyMC5oPg0KPiArDQo+ICsjcHJhZ21hIHBhY2sgKDEpDQo+ICsNCj4gKyNkZWZp bmUgRUZJX0FDUElfT1NGUl9UQUJMRV9SRVZJU0lPTiAgICAgICAgICAgIDB4MQ0KPiArLy8jZGVm aW5lIEVGSV9BQ1BJX09TRlJfVEFCTEVfU0lHTkFUVVJFICAgICAgICAgICAnUkZTTycNCj4gKyNk ZWZpbmUgRUZJX0FDUElfT1NGUl9UQUJMRV9TSUdOQVRVUkUgICAgICAgICAgIFNJR05BVFVSRV8z MignTycsICdTJywgJ0YnLA0KPiAnUicpICAvLydSRlNPJw0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIEVGSV9BQ1BJX0RFU0NSSVBUSU9OX0hFQURFUiAgICAgICAgICBIZWFkZXI7DQo+ ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPYmplY3RDb3VudDsNCj4g KyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxlRFdPUkRzIFs2NF07 DQo+ICt9IEVGSV9BQ1BJX09TRlJfVEFCTEU7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4g KyAgRUZJX0FDUElfREVTQ1JJUFRJT05fSEVBREVSICAgICAgICAgIEhlYWRlcjsNCj4gKyAgVUlO VDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9iamVjdENvdW50Ow0KPiArfSBFRklf QUNQSV9PU0ZSX1RBQkxFX0ZJWEVEX1BPUlRJT047DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsN Cj4gKyAgRUZJX0dVSUQgIE9iamVjdFVVSUQ7DQo+ICsgIFVJTlQzMiAgICBSZXNlcnZlZDE7DQo+ ICsgIFVJTlQzMiAgICBNYW51ZmFjdHVyZXJOYW1lU3RyaW5nT2Zmc2V0Ow0KPiArICBVSU5UMzIg ICAgTW9kZWxOYW1lU3RyaW5nT2Zmc2V0Ow0KPiArICBVSU5UMzIgICAgUmVzZXJ2ZWQyOw0KPiAr ICBVSU5UMzIgICAgTWljcm9zb2Z0UmVmZXJlbmNlT2Zmc2V0Ow0KPiArfSBFRklfQUNQSV9PU0ZS X09DVVJfT0JKRUNUOw0KPiArDQo+ICsjcHJhZ21hIHBhY2sgKCkNCj4gKw0KPiArI2VuZGlmDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BcHBsaWNh dGlvbi9GaXJtd2FyZVVwZGF0ZS9GaXJtd2FyZQ0KPiBVcGRhdGUuYw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FwcGxpY2F0aW9uL0Zpcm13YXJlVXBkYXRlL0Zpcm13YXJl DQo+IFVwZGF0ZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LmEyZmM1NGUyMGUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9BcHBsaWNhdGlvbi9GaXJtd2FyZVVwZGF0ZS9GaXJtd2FyZQ0KPiBV cGRhdGUuYw0KPiBAQCAtMCwwICsxLDkyMiBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gK0NvcHly aWdodCAoYykgMjAwNyAgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpbmNsdWRl ICJGaXJtd2FyZVVwZGF0ZS5oIg0KPiArDQo+ICtFRklfSElJX0hBTkRMRSAgSGlpSGFuZGxlOw0K PiArDQo+ICsvLw0KPiArLy8gTWlubm93TWF4IEZsYXNoIExheW91dA0KPiArLy8NCj4gKy8vU3Rh cnQgKGhleCkJRW5kIChoZXgpCUxlbmd0aCAoaGV4KQlBcmVhIE5hbWUNCj4gKy8vLS0tLS0tLS0t LS0JLS0tLS0tLS0tCS0tLS0tLS0tLS0tLQktLS0tLS0tLS0NCj4gKy8vMDAwMDAwMDAJMDA3RkZG RkYJMDA4MDAwMDAJRmxhc2ggSW1hZ2UNCj4gKy8vDQo+ICsvLzAwMDAwMDAwCTAwMDAwRkZGCTAw MDAxMDAwCURlc2NyaXB0b3IgUmVnaW9uDQo+ICsvLzAwMDAxMDAwCTAwM0ZGRkZGCTAwM0ZGMDAw CVRYRSBSZWdpb24NCj4gKy8vMDA1MDAwMDAJMDA3RkZGRkYJMDA0MDAwMDAJQklPUyBSZWdpb24N Cj4gKy8vDQo+ICtGVl9SRUdJT05fSU5GTyBtUmVnaW9uSW5mb1tdID0gew0KPiArICB7Rml4ZWRQ Y2RHZXQzMiAoUGNkRmxhc2hEZXNjcmlwdG9yQmFzZSksIEZpeGVkUGNkR2V0MzINCj4gKFBjZEZs YXNoRGVzY3JpcHRvclNpemUpLCBUUlVFfSwNCj4gKyAge0ZpeGVkUGNkR2V0MzIgKFBjZFR4ZVJv bUJhc2UpLCBGaXhlZFBjZEdldDMyIChQY2RUeGVSb21TaXplKSwNCj4gVFJVRX0sDQo+ICsgIHtG aXhlZFBjZEdldDMyIChQY2RCaW9zUm9tQmFzZSksIEZpeGVkUGNkR2V0MzIgKFBjZEJpb3NSb21T aXplKSwNCj4gVFJVRX0NCj4gK307DQo+ICsNCj4gK1VJTlROIG1SZWdpb25JbmZvQ291bnQgPSBB UlJBWV9TSVpFIChtUmVnaW9uSW5mbyk7DQo+ICsNCj4gK0ZWX0lOUFVUX0RBVEEgbUlucHV0RGF0 YSA9IHswfTsNCj4gKw0KPiArRUZJX1NQSV9QUk9UT0NPTCAgKm1TcGlQcm90b2NvbDsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArR2V0UmVnaW9uSW5kZXggKA0KPiArICBJTiAgRUZJX1BIWVNJQ0FM X0FERFJFU1MgIEFkZHJlc3MsDQo+ICsgIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgKlJlZ2lv bkluZGV4DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gSW5kZXg7DQo+ICsNCj4gKyAgZm9yIChJ bmRleCA9IDA7IEluZGV4IDwgbVJlZ2lvbkluZm9Db3VudDsgSW5kZXgrKykgew0KPiArICAgIGlm IChBZGRyZXNzID49IG1SZWdpb25JbmZvW0luZGV4XS5CYXNlICYmDQo+ICsgICAgICAgIEFkZHJl c3MgPCAobVJlZ2lvbkluZm9bSW5kZXhdLkJhc2UgKyBtUmVnaW9uSW5mb1tJbmRleF0uU2l6ZSkN Cj4gKyAgICAgICAgKSB7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0K PiArICAqUmVnaW9uSW5kZXggPSBJbmRleDsNCj4gKyAgaWYgKEluZGV4ID49IG1SZWdpb25JbmZv Q291bnQpIHsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK0JPT0xFQU4NCj4gK1VwZGF0ZUJsb2NrICgN Cj4gKyAgSU4gIEVGSV9QSFlTSUNBTF9BRERSRVNTICBBZGRyZXNzDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICBJbmRleDsNCj4gKw0KPiAr ICBpZiAobUlucHV0RGF0YS5GdWxsRmxhc2hVcGRhdGUpIHsNCj4gKyAgICByZXR1cm4gVFJVRTsN Cj4gKyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IEdldFJlZ2lvbkluZGV4IChBZGRyZXNzLCAmSW5k ZXgpOw0KPiArICBpZiAoKCFFRklfRVJST1IoU3RhdHVzKSkgJiYgbVJlZ2lvbkluZm9bSW5kZXhd LlVwZGF0ZSkgew0KPiArICAgIHJldHVybiBUUlVFOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJu IEZBTFNFOw0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtNYXJrUmVnaW9uU3RhdGUgKA0K PiArICBJTiAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgIEFkZHJlc3MsDQo+ICsgIElOICBCT09MRUFO ICAgICAgICAgICAgICAgVXBkYXRlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3Rh dHVzOw0KPiArICBVSU5UTiAgICAgICBJbmRleDsNCj4gKw0KPiArICBTdGF0dXMgPSBHZXRSZWdp b25JbmRleCAoQWRkcmVzcywgJkluZGV4KTsNCj4gKyAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSkg ew0KPiArICAgIG1SZWdpb25JbmZvW0luZGV4XS5VcGRhdGUgPSBVcGRhdGU7DQo+ICsgIH0NCj4g Kw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICtVSU5UTg0KPiArSW50ZXJuYWxQ cmludFRva2VuICgNCj4gKyAgSU4gIENPTlNUIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICpG b3JtYXQsDQo+ICsgIElOICBFRklfU0lNUExFX1RFWFRfT1VUUFVUX1BST1RPQ09MICAqQ29uc29s ZSwNCj4gKyAgSU4gIFZBX0xJU1QgICAgICAgICAgICAgICAgICAgICAgICAgIE1hcmtlcg0KPiAr ICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAgUmV0 dXJuOw0KPiArICBDSEFSMTYgICAgICAqQnVmZmVyOw0KPiArICBVSU5UTiAgICAgICBCdWZmZXJT aXplOw0KPiArDQo+ICsgIEFTU0VSVCAoRm9ybWF0ICE9IE5VTEwpOw0KPiArICBBU1NFUlQgKCgo VUlOVE4pIEZvcm1hdCAmIEJJVDApID09IDApOw0KPiArICBBU1NFUlQgKENvbnNvbGUgIT0gTlVM TCk7DQo+ICsNCj4gKyAgQnVmZmVyU2l6ZSA9IChQY2RHZXQzMiAoUGNkVWVmaUxpYk1heFByaW50 QnVmZmVyU2l6ZSkgKyAxKSAqIHNpemVvZg0KPiAoQ0hBUjE2KTsNCj4gKw0KPiArICBCdWZmZXIg PSAoQ0hBUjE2ICopIEFsbG9jYXRlUG9vbChCdWZmZXJTaXplKTsNCj4gKyAgQVNTRVJUIChCdWZm ZXIgIT0gTlVMTCk7DQo+ICsNCj4gKyAgUmV0dXJuID0gVW5pY29kZVZTUHJpbnQgKEJ1ZmZlciwg QnVmZmVyU2l6ZSwgRm9ybWF0LCBNYXJrZXIpOw0KPiArDQo+ICsgIGlmIChDb25zb2xlICE9IE5V TEwgJiYgUmV0dXJuID4gMCkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gVG8gYmUgZXh0cmEgc2Fm ZSBtYWtlIHN1cmUgQ29uc29sZSBoYXMgYmVlbiBpbml0aWFsaXplZC4NCj4gKyAgICAvLw0KPiAr ICAgIFN0YXR1cyA9IENvbnNvbGUtPk91dHB1dFN0cmluZyAoQ29uc29sZSwgQnVmZmVyKTsNCj4g KyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBSZXR1cm4gPSAwOw0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIEZyZWVQb29sIChCdWZmZXIpOw0KPiArDQo+ICsgIHJl dHVybiBSZXR1cm47DQo+ICt9DQo+ICsNCj4gK1VJTlRODQo+ICtFRklBUEkNCj4gK1ByaW50VG9r ZW4gKA0KPiArICBJTiBVSU5UMTYgICAgICAgICAgICAgVG9rZW4sDQo+ICsgIElOIEVGSV9ISUlf SEFORExFICAgICBIYW5kbGUsDQo+ICsgIC4uLg0KPiArICApDQo+ICt7DQo+ICsgIFZBX0xJU1Qg TWFya2VyOw0KPiArICBVSU5UTiAgIFJldHVybjsNCj4gKyAgQ0hBUjE2ICAqRm9ybWF0Ow0KPiAr DQo+ICsgIFZBX1NUQVJUIChNYXJrZXIsIEhhbmRsZSk7DQo+ICsNCj4gKyAgRm9ybWF0ID0gSGlp R2V0U3RyaW5nIChIYW5kbGUsIFRva2VuLCBOVUxMKTsNCj4gKyAgQVNTRVJUIChGb3JtYXQgIT0g TlVMTCk7DQo+ICsNCj4gKyAgUmV0dXJuID0gSW50ZXJuYWxQcmludFRva2VuIChGb3JtYXQsIGdT VC0+Q29uT3V0LCBNYXJrZXIpOw0KPiArDQo+ICsgIEZyZWVQb29sIChGb3JtYXQpOw0KPiArDQo+ ICsgIFZBX0VORCAoTWFya2VyKTsNCj4gKw0KPiArICByZXR1cm4gUmV0dXJuOw0KPiArfQ0KPiAr DQo+ICtFRklfU1RBVFVTDQo+ICtQYXJzZUNvbW1hbmRMaW5lICgNCj4gKyAgSU4gIFVJTlROICAg QXJnYywNCj4gKyAgSU4gIENIQVIxNiAgKipBcmd2DQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NU QVRVUyAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICBJbmRleDsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBDaGVjayB0byBtYWtlIHN1cmUgdGhhdCB0aGUgY29tbWFuZCBsaW5lIGhhcyBlbm91Z2gg YXJndW1lbnRzIGZvcg0KPiBtaW5pbWFsDQo+ICsgIC8vIG9wZXJhdGlvbi4gIFRoZSBtaW5pbXVt IGlzIGp1c3QgdGhlIGZpbGUgbmFtZS4NCj4gKyAgLy8NCj4gKyAgaWYgKEFyZ2MgPCAyIHx8IEFy Z2MgPiA0KSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIExvb3AgdGhyb3VnaCBjb21tYW5kIGxpbmUgYXJndW1lbnRz Lg0KPiArICAvLw0KPiArICBmb3IgKEluZGV4ID0gMTsgSW5kZXggPCBBcmdjOyBJbmRleCsrKSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBNYWtlIHN1cmUgdGhlIHN0cmluZyBpcyB2YWxpZC4NCj4g KyAgICAvLw0KPiArICAgIGlmIChTdHJMZW4gKEFyZ3ZbSW5kZXhdKSA9PSAwKSB7Ow0KPiArICAg ICAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChTVFJfRldVUERBVEVfWkVST0xFTkdUSF9BUkcp LA0KPiBIaWlIYW5kbGUpOw0KPiArICAgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsN Cj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIENoZWNrIHRvIHNlZSBpZiB0aGlz IGlzIGFuIG9wdGlvbiBvciB0aGUgZmlsZSBuYW1lLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKChB cmd2W0luZGV4XSlbMF0gPT0gTCctJyB8fCAoQXJndltJbmRleF0pWzBdID09IEwnLycpIHsNCj4g KyAgICAgIC8vDQo+ICsgICAgICAvLyBQYXJzZSB0aGUgYXJndW1lbnRzLg0KPiArICAgICAgLy8N Cj4gKyAgICAgIGlmICgoU3RyQ21wIChBcmd2W0luZGV4XSwgTCItaCIpID09IDApIHx8DQo+ICsg ICAgICAgICAgKFN0ckNtcCAoQXJndltJbmRleF0sIEwiLS1oZWxwIikgPT0gMCkgfHwNCj4gKyAg ICAgICAgICAoU3RyQ21wIChBcmd2W0luZGV4XSwgTCIvPyIpID09IDApIHx8DQo+ICsgICAgICAg ICAgKFN0ckNtcCAoQXJndltJbmRleF0sIEwiL2giKSA9PSAwKSkgew0KPiArICAgICAgICAvLw0K PiArICAgICAgICAvLyBQcmludCBIZWxwIEluZm9ybWF0aW9uLg0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgICAgfSBlbHNlIGlm IChTdHJDbXAgKEFyZ3ZbSW5kZXhdLCBMIi1tIikgPT0gMCkgew0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICAvLyBQYXJzZSB0aGUgTUFDIGFkZHJlc3MgaGVyZS4NCj4gKyAgICAgICAgLy8NCj4g KyAgICAgICAgU3RhdHVzID0gQ29udmVydE1hYyhBcmd2W0luZGV4KzFdKTsNCj4gKyAgICAgICAg aWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgICAgICAgUHJpbnRUb2tlbiAoU1RSSU5H X1RPS0VOIChTVFJfRldVUERBVEVfSU5WQUlMRF9NQUMpLA0KPiBIaWlIYW5kbGUpOw0KPiArICAg ICAgICAgIHJldHVybiBTdGF0dXM7DQo+ICsgICAgICAgIH0NCj4gKw0KPiArICAgICAgICAvLw0K PiArICAgICAgICAvLyBTYXZlIHRoZSBNQUMgYWRkcmVzcyB0byBtSW5wdXREYXRhLk1hY1ZhbHVl Lg0KPiArICAgICAgICAvLw0KPiArICAgICAgICBtSW5wdXREYXRhLlVwZGF0ZU1hYz0gVFJVRTsN Cj4gKyAgICAgICAgSW5kZXgrKzsNCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgLy8N Cj4gKyAgICAgICAgLy8gSW52YWxpZCBvcHRpb24gd2FzIHByb3ZpZGVkLg0KPiArICAgICAgICAv Lw0KPiArICAgICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgICAgfQ0K PiArICAgIH0NCj4gKyAgICBpZiAoKEluZGV4ID09IEFyZ2MgLSAxKSAmJiAoU3RyQ21wIChBcmd2 W0luZGV4IC0gMV0sIEwiLW0iKSAhPSAwKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFRo ZSBvbmx5IHBhcmFtZXRlciB0aGF0IGlzIG5vdCBhbiBvcHRpb24gaXMgdGhlIGZpcm13YXJlIGlt YWdlLiAgQ2hlY2sNCj4gKyAgICAgIC8vIHRvIG1ha2Ugc3VyZSB0aGF0IHRoZSBmaWxlIGV4aXN0 cy4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdGF0dXMgPSBTaGVsbElzRmlsZSAoQXJndltJbmRl eF0pOw0KPiArICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBQcmlu dFRva2VuIChTVFJJTkdfVE9LRU4NCj4gKFNUUl9GV1VQREFURV9GSUxFX05PVF9GT1VORF9FUlJP UiksIEhpaUhhbmRsZSwgQXJndltJbmRleF0pOw0KPiArICAgICAgICByZXR1cm4gRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KPiArICAgICAgfQ0KPiArICAgICAgaWYgKFN0ckxlbiAoQXJndltJbmRl eF0pID4gSU5QVVRfU1RSSU5HX0xFTikgew0KPiArICAgICAgICBQcmludFRva2VuIChTVFJJTkdf VE9LRU4gKFNUUl9GV1VQREFURV9QQVRIX0VSUk9SKSwNCj4gSGlpSGFuZGxlLCBBcmd2W0luZGV4 XSk7DQo+ICsgICAgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgICB9 DQo+ICsgICAgICBTdHJDcHkgKG1JbnB1dERhdGEuRmlsZU5hbWUsIEFyZ3ZbSW5kZXhdKTsNCj4g KyAgICAgIG1JbnB1dERhdGEuVXBkYXRlRnJvbUZpbGUgPSBUUlVFOw0KPiArICAgIH0NCj4gKyAg fQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArSU5UTg0KPiAr RUZJQVBJDQo+ICtTaGVsbEFwcE1haW4gKA0KPiArICBJTiBVSU5UTiBBcmdjLA0KPiArICBJTiBD SEFSMTYgKipBcmd2DQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgIFN0 YXR1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBVSU5UMzIgICAg ICAgICAgICAgICAgRmlsZVNpemU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICBCdWZmZXJT aXplOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgKkZpbGVCdWZmZXI7DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgICAqQnVmZmVyOw0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgQWRk cmVzczsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIENvdW50T2ZCbG9ja3M7DQo+ICsgIEVG SV9UUEwgICAgICAgICAgICAgICBPbGRUcGw7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICBS ZXNldFJlcXVpcmVkOw0KPiArICBCT09MRUFOICAgICAgICAgICAgICAgRmxhc2hFcnJvcjsNCj4g Kw0KPiArICBJbmRleCAgICAgICAgICAgICA9IDA7DQo+ICsgIEZpbGVTaXplICAgICAgICAgID0g MDsNCj4gKyAgQnVmZmVyU2l6ZSAgICAgICAgPSAwOw0KPiArICBGaWxlQnVmZmVyICAgICAgICA9 IE5VTEw7DQo+ICsgIEJ1ZmZlciAgICAgICAgICAgID0gTlVMTDsNCj4gKyAgQWRkcmVzcyAgICAg ICAgICAgPSAwOw0KPiArICBDb3VudE9mQmxvY2tzICAgICA9IDA7DQo+ICsgIFJlc2V0UmVxdWly ZWQgICAgID0gRkFMU0U7DQo+ICsgIEZsYXNoRXJyb3IgICAgICAgID0gRkFMU0U7DQo+ICsNCj4g KyAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsNCj4gKyAgbUlucHV0RGF0YS5GdWxsRmxhc2hV cGRhdGUgPSBUUlVFOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFB1Ymxpc2ggb3VyIEhJSSBkYXRh Lg0KPiArICAvLw0KPiArICBIaWlIYW5kbGUgPSBIaWlBZGRQYWNrYWdlcyAoDQo+ICsgICAgICAg ICAgICAgICAgJmdFZmlDYWxsZXJJZEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgTlVMTCwNCj4g KyAgICAgICAgICAgICAgICBGaXJtd2FyZVVwZGF0ZVN0cmluZ3MsDQo+ICsgICAgICAgICAgICAg ICAgTlVMTA0KPiArICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChIaWlIYW5kbGUgPT0gTlVM TCkgew0KPiArICAgIFN0YXR1cyA9IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPiArICAgIGdvdG8g RG9uZTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIExvY2F0ZSB0aGUgU1BJIHByb3Rv Y29sLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAg ICAgICAgICAgICAgICAgICZnRWZpU3BpUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAg ICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZtU3BpUHJvdG9jb2wNCj4g KyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g KyAgICBQcmludFRva2VuIChTVFJJTkdfVE9LRU4gKFNUUl9TUElfTk9UX0ZPVU5EKSwgSGlpSGFu ZGxlKTsNCj4gKyAgICByZXR1cm4gRUZJX0RFVklDRV9FUlJPUjsNCj4gKyAgfQ0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFBhcnNlIHRoZSBjb21tYW5kIGxpbmUuDQo+ICsgIC8vDQo+ICsgIFN0YXR1 cyA9IFBhcnNlQ29tbWFuZExpbmUgKEFyZ2MsIEFyZ3YpOw0KPiArICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQo+ICsgICAgUHJpbnRIZWxwSW5mbyAoKTsNCj4gKyAgICBTdGF0dXMgPSBFRklf U1VDQ0VTUzsNCj4gKyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBEaXNwbGF5IHNpZ24tb24gaW5mb3JtYXRpb24uDQo+ICsgIC8vDQo+ICsgIFByaW50VG9rZW4g KFNUUklOR19UT0tFTiAoU1RSX0ZXVVBEQVRFX0ZJUk1XQVJFX1ZPTF9VUERBVEUpLA0KPiBIaWlI YW5kbGUpOw0KPiArICBQcmludFRva2VuIChTVFJJTkdfVE9LRU4gKFNUUl9GV1VQREFURV9WRVJT SU9OKSwgSGlpSGFuZGxlKTsNCj4gKyAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChTVFJfRldV UERBVEVfQ09QWVJJR0hUKSwgSGlpSGFuZGxlKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBUZXN0 IHRvIHNlZSBpZiB0aGUgZmlybXdhcmUgbmVlZHMgdG8gYmUgdXBkYXRlZC4NCj4gKyAgLy8NCj4g KyAgaWYgKG1JbnB1dERhdGEuVXBkYXRlRnJvbUZpbGUpIHsNCj4gKyAgICAvLw0KPiArICAgIC8v IEdldCB0aGUgZmlsZSB0byB1c2UgaW4gdGhlIHVwZGF0ZS4NCj4gKyAgICAvLw0KPiArICAgIFBy aW50VG9rZW4gKFNUUklOR19UT0tFTiAoU1RSX0ZXVVBEQVRFX1JFQURfRklMRSksIEhpaUhhbmRs ZSwNCj4gbUlucHV0RGF0YS5GaWxlTmFtZSk7DQo+ICsgICAgU3RhdHVzID0gUmVhZEZpbGVEYXRh IChtSW5wdXREYXRhLkZpbGVOYW1lLCAmRmlsZUJ1ZmZlciwgJkZpbGVTaXplKTsNCj4gKyAgICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBQcmludFRva2VuIChTVFJJTkdfVE9L RU4gKFNUUl9GV1VQREFURV9SRUFEX0ZJTEVfRVJST1IpLA0KPiBIaWlIYW5kbGUsIG1JbnB1dERh dGEuRmlsZU5hbWUpOw0KPiArICAgICAgZ290byBEb25lOw0KPiArICAgIH0NCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy8gQ2hlY2sgdGhhdCB0aGUgZmlsZSBhbmQgZmxhc2ggc2l6ZXMgbWF0Y2gu DQo+ICsgICAgLy8NCj4gKyAgICBpZiAoRmlsZVNpemUgIT0gUGNkR2V0MzIgKFBjZEZsYXNoQ2hp cFNpemUpKSB7DQo+ICsgICAgICBQcmludFRva2VuIChTVFJJTkdfVE9LRU4gKFNUUl9GV1VQREFU RV9TSVpFKSwgSGlpSGFuZGxlKTsNCj4gKyAgICAgIFN0YXR1cyA9IEVGSV9VTlNVUFBPUlRFRDsN Cj4gKyAgICAgIGdvdG8gRG9uZTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8v IERpc3BsYXkgZmxhc2ggdXBkYXRlIGluZm9ybWF0aW9uLg0KPiArICAgIC8vDQo+ICsgICAgUHJp bnRUb2tlbiAoU1RSSU5HX1RPS0VOIChTVFJfRldVUERBVEVfVVBEQVRJTkdfRklSTVdBUkUpLA0K PiBIaWlIYW5kbGUpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBVcGRhdGUgaXQuDQo+ICsg ICAgLy8NCj4gKyAgICBCdWZmZXIgICAgICAgID0gRmlsZUJ1ZmZlcjsNCj4gKyAgICBCdWZmZXJT aXplICAgID0gRmlsZVNpemU7DQo+ICsgICAgQWRkcmVzcyAgICAgICA9IFBjZEdldDMyIChQY2RG bGFzaENoaXBCYXNlKTsNCj4gKyAgICBDb3VudE9mQmxvY2tzID0gKFVJTlROKSAoQnVmZmVyU2l6 ZSAvIEJMT0NLX1NJWkUpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBSYWlzZSBUUEwgdG8g VFBMX05PVElGWSB0byBibG9jayBhbnkgZXZlbnQgaGFuZGxlciwNCj4gKyAgICAvLyB3aGlsZSBz dGlsbCBhbGxvd2luZyBSYWlzZVRQTChUUExfTk9USUZZKSB3aXRoaW4NCj4gKyAgICAvLyBvdXRw dXQgZHJpdmVyIGR1cmluZyBQcmludCgpLg0KPiArICAgIC8vDQo+ICsgICAgT2xkVHBsID0gZ0JT LT5SYWlzZVRQTCAoVFBMX05PVElGWSk7DQo+ICsgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwg Q291bnRPZkJsb2NrczsgSW5kZXgrKykgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEhhbmRs ZSBibG9jayBiYXNlZCBvbiBhZGRyZXNzIGFuZCBjb250ZW50cy4NCj4gKyAgICAgIC8vDQo+ICsg ICAgICBpZiAoIVVwZGF0ZUJsb2NrIChBZGRyZXNzKSkgew0KPiArICAgICAgICBERUJVRygoRUZJ X0RfSU5GTywgIlNraXBwaW5nIGJsb2NrIGF0IDB4JWx4XG4iLCBBZGRyZXNzKSk7DQo+ICsgICAg ICB9IGVsc2UgaWYgKCFFRklfRVJST1IgKEludGVybmFsQ29tcGFyZUJsb2NrIChBZGRyZXNzLCBC dWZmZXIpKSkgew0KPiArICAgICAgICBERUJVRygoRUZJX0RfSU5GTywgIlNraXBwaW5nIGJsb2Nr IGF0IDB4JWx4IChhbHJlYWR5DQo+IHByb2dyYW1tZWQpXG4iLCBBZGRyZXNzKSk7DQo+ICsgICAg ICB9IGVsc2Ugew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBEaXNwbGF5IGEgZG90IGZv ciBlYWNoIGJsb2NrIGJlaW5nIHVwZGF0ZWQuDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFBy aW50IChMIi4iKTsNCj4gKw0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBGbGFnIHRoYXQg dGhlIGZsYXNoIGltYWdlIHdpbGwgYmUgY2hhbmdlZCBhbmQgdGhlIHN5c3RlbSBtdXN0IGJlDQo+ IHJlYm9vdGVkDQo+ICsgICAgICAgIC8vIHRvIHVzZSB0aGUgY2hhbmdlLg0KPiArICAgICAgICAv Lw0KPiArICAgICAgICBSZXNldFJlcXVpcmVkID0gVFJVRTsNCj4gKw0KPiArICAgICAgICAvLw0K PiArICAgICAgICAvLyBNYWtlIHVwZGF0aW5nIHByb2Nlc3MgdW5pbnRlcnJ1cHRhYmxlLA0KPiAr ICAgICAgICAvLyBzbyB0aGF0IHRoZSBmbGFzaCBtZW1vcnkgYXJlYSBpcyBub3QgYWNjZXNzZWQg Ynkgb3RoZXIgZW50aXRpZXMNCj4gKyAgICAgICAgLy8gd2hpY2ggbWF5IGludGVyZmVyZSB3aXRo IHRoZSB1cGRhdGluZyBwcm9jZXNzLg0KPiArICAgICAgICAvLw0KPiArICAgICAgICBTdGF0dXMg ID0gSW50ZXJuYWxFcmFzZUJsb2NrIChBZGRyZXNzKTsNCj4gKyAgICAgICAgQVNTRVJUX0VGSV9F UlJPUihTdGF0dXMpOw0KPiArICAgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsg ICAgICAgICAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KPiArICAgICAgICAgIEZsYXNoRXJy b3IgPSBUUlVFOw0KPiArICAgICAgICAgIGdvdG8gRG9uZTsNCj4gKyAgICAgICAgfQ0KPiArICAg ICAgICBTdGF0dXMgPSBJbnRlcm5hbFdyaXRlQmxvY2sgKA0KPiArICAgICAgICAgICAgICAgICAg QWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAgIEJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAg ICAgIChCdWZmZXJTaXplID4gQkxPQ0tfU0laRSA/IEJMT0NLX1NJWkUgOiBCdWZmZXJTaXplKQ0K PiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgICAgIGdCUy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCj4gKyAgICAgICAg ICBGbGFzaEVycm9yID0gVFJVRTsNCj4gKyAgICAgICAgICBnb3RvIERvbmU7DQo+ICsgICAgICAg IH0NCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIE1vdmUgdG8gbmV4 dCBibG9jayB0byB1cGRhdGUuDQo+ICsgICAgICAvLw0KPiArICAgICAgQWRkcmVzcyArPSBCTE9D S19TSVpFOw0KPiArICAgICAgQnVmZmVyICs9IEJMT0NLX1NJWkU7DQo+ICsgICAgICBpZiAoQnVm ZmVyU2l6ZSA+IEJMT0NLX1NJWkUpIHsNCj4gKyAgICAgICAgQnVmZmVyU2l6ZSAtPSBCTE9DS19T SVpFOw0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgQnVmZmVyU2l6ZSA9IDA7DQo+ICsg ICAgICB9DQo+ICsgICAgfQ0KPiArICAgIGdCUy0+UmVzdG9yZVRQTCAoT2xkVHBsKTsNCj4gKw0K PiArICAgIC8vDQo+ICsgICAgLy8gUHJpbnQgcmVzdWx0IG9mIHVwZGF0ZS4NCj4gKyAgICAvLw0K PiArICAgIGlmICghRmxhc2hFcnJvcikgew0KPiArICAgICAgaWYgKFJlc2V0UmVxdWlyZWQpIHsN Cj4gKyAgICAgICAgUHJpbnQgKEwiXG4iKTsNCj4gKyAgICAgICAgUHJpbnRUb2tlbiAoU1RSSU5H X1RPS0VOIChTVFJfRldVUERBVEVfVVBEQVRFX1NVQ0NFU1MpLA0KPiBIaWlIYW5kbGUpOw0KPiAr ICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChTVFJf RldVUERBVEVfTk9fUkVTRVQpLCBIaWlIYW5kbGUpOw0KPiArICAgICAgfQ0KPiArICAgIH0gZWxz ZSB7DQo+ICsgICAgICBnb3RvIERvbmU7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gQWxsIGZsYXNoIHVwZGF0ZXMgYXJlIGRvbmUgc28gc2VlIGlmIHRoZSBzeXN0ZW0g bmVlZHMgdG8gYmUgcmVzZXQuDQo+ICsgIC8vDQo+ICsgIGlmIChSZXNldFJlcXVpcmVkICYmICFG bGFzaEVycm9yKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBVcGRhdGUgc3VjY2Vzc2Z1bC4NCj4g KyAgICAvLw0KPiArICAgIGZvciAoSW5kZXggPSA1OyBJbmRleCA+IDA7IEluZGV4LS0pIHsNCj4g KyAgICAgIFByaW50VG9rZW4gKFNUUklOR19UT0tFTiAoU1RSX0ZXVVBEQVRFX1NIVVRET1dOKSwg SGlpSGFuZGxlLA0KPiBJbmRleCk7DQo+ICsgICAgICBnQlMtPlN0YWxsICgxMDAwMDAwKTsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICBnUlQtPlJlc2V0U3lzdGVtIChFZmlSZXNldFNodXRkb3duLCBF RklfU1VDQ0VTUywgMCwgTlVMTCk7DQo+ICsgICAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChT VFJfRldVUERBVEVfTUFOVUFMX1JFU0VUKSwNCj4gSGlpSGFuZGxlKTsNCj4gKyAgICBDcHVEZWFk TG9vcCAoKTsNCj4gKyAgfQ0KPiArDQo+ICtEb25lOg0KPiArICAvLw0KPiArICAvLyBQcmludCBm bGFzaCB1cGRhdGUgZmFpbHVyZSBtZXNzYWdlIGlmIGVycm9yIGRldGVjdGVkLg0KPiArICAvLw0K PiArICBpZiAoRmxhc2hFcnJvcikgew0KPiArICAgIFByaW50VG9rZW4gKFNUUklOR19UT0tFTiAo U1RSX0ZXVVBEQVRFX1VQREFURV9GQUlMRUQpLA0KPiBIaWlIYW5kbGUsIEluZGV4KTsNCj4gKyAg fQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIERvIGNsZWFudXAuDQo+ICsgIC8vDQo+ICsgIGlmIChI aWlIYW5kbGUgIT0gTlVMTCkgew0KPiArICAgIEhpaVJlbW92ZVBhY2thZ2VzIChIaWlIYW5kbGUp Ow0KPiArICB9DQo+ICsgIGlmIChGaWxlQnVmZmVyKSB7DQo+ICsgICAgZ0JTLT5GcmVlUG9vbCAo RmlsZUJ1ZmZlcik7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiAr DQo+ICtTVEFUSUMNCj4gK0VGSV9TVEFUVVMNCj4gK0ludGVybmFsRXJhc2VCbG9jayAoDQo+ICsg IElOICBFRklfUEhZU0lDQUxfQUREUkVTUyBCYXNlQWRkcmVzcw0KPiArICApDQo+ICsvKisrDQo+ ICsNCj4gK1JvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsNCj4gKyAgRXJhc2UgdGhlIHdob2xlIGJs b2NrLg0KPiArDQo+ICtBcmd1bWVudHM6DQo+ICsNCj4gKyAgQmFzZUFkZHJlc3MgIC0gQmFzZSBh ZGRyZXNzIG9mIHRoZSBibG9jayB0byBiZSBlcmFzZWQuDQo+ICsNCj4gK1JldHVybnM6DQo+ICsN Cj4gKyAgRUZJX1NVQ0NFU1MgLSBUaGUgY29tbWFuZCBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0K PiArICBPdGhlciAgICAgICAtIERldmljZSBlcnJvciBvciB3aXJ0ZS1sb2NrZWQsIG9wZXJhdGlv biBmYWlsZWQuDQo+ICsNCj4gKy0tKi8NCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE51bUJ5dGVzOw0KPiArDQo+ICsgIE51bUJ5dGVzID0gQkxPQ0tfU0la RTsNCj4gKw0KPiArICBTdGF0dXMgPSBTcGlGbGFzaEJsb2NrRXJhc2UgKChVSU5UTikgQmFzZUFk ZHJlc3MsICZOdW1CeXRlcyk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0K PiArI2lmIDANCj4gK1NUQVRJQw0KPiArRUZJX1NUQVRVUw0KPiArSW50ZXJuYWxSZWFkQmxvY2sg KA0KPiArICBJTiAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgIEJhc2VBZGRyZXNzLA0KPiArICBPVVQg Vk9JRCAgICAgICAgICAgICAgICAgICpSZWFkQnVmZmVyDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJ X1NUQVRVUyAgICBTdGF0dXM7DQo+ICsgIFVJTlQzMiAgICAgICAgQmxvY2tTaXplOw0KPiArDQo+ ICsgIEJsb2NrU2l6ZSA9IEJMT0NLX1NJWkU7DQo+ICsNCj4gKyAgU3RhdHVzID0gU3BpRmxhc2hS ZWFkICgoVUlOVE4pIEJhc2VBZGRyZXNzLCAmQmxvY2tTaXplLCBSZWFkQnVmZmVyKTsNCj4gKw0K PiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArI2VuZGlmDQo+ICsNCj4gK1NUQVRJQw0KPiAr RUZJX1NUQVRVUw0KPiArSW50ZXJuYWxDb21wYXJlQmxvY2sgKA0KPiArICBJTiAgRUZJX1BIWVNJ Q0FMX0FERFJFU1MgICAgICAgIEJhc2VBZGRyZXNzLA0KPiArICBJTiAgVUlOVDggICAgICAgICAg ICAgICAgICAgICAgICpCdWZmZXINCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBWT0lEICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKkNvbXBhcmVCdWZmZXI7DQo+ICsgIFVJTlQzMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1CeXRlczsNCj4gKyAgSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBhcmVSZXN1bHQ7DQo+ICsNCj4gKyAgTnVtQnl0 ZXMgPSBCTE9DS19TSVpFOw0KPiArICBDb21wYXJlQnVmZmVyID0gQWxsb2NhdGVQb29sIChOdW1C eXRlcyk7DQo+ICsgIGlmIChDb21wYXJlQnVmZmVyID09IE5VTEwpIHsNCj4gKyAgICBTdGF0dXMg PSBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKw0K PiArICBTdGF0dXMgPSBTcGlGbGFzaFJlYWQgKChVSU5UTikgQmFzZUFkZHJlc3MsICZOdW1CeXRl cywNCj4gQ29tcGFyZUJ1ZmZlcik7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g KyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKyAgQ29tcGFyZVJlc3VsdCA9IENvbXBhcmVNZW0g KENvbXBhcmVCdWZmZXIsIEJ1ZmZlciwgQkxPQ0tfU0laRSk7DQo+ICsgIGlmIChDb21wYXJlUmVz dWx0ICE9IDApIHsNCj4gKyAgICBTdGF0dXMgPSBFRklfVk9MVU1FX0NPUlJVUFRFRDsNCj4gKyAg fQ0KPiArDQo+ICtEb25lOg0KPiArICBpZiAoQ29tcGFyZUJ1ZmZlciAhPSBOVUxMKSB7DQo+ICsg ICAgRnJlZVBvb2wgKENvbXBhcmVCdWZmZXIpOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0 YXR1czsNCj4gK30NCj4gKw0KPiArU1RBVElDDQo+ICtFRklfU1RBVFVTDQo+ICtJbnRlcm5hbFdy aXRlQmxvY2sgKA0KPiArICBJTiAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIEJhc2VBZGRy ZXNzLA0KPiArICBJTiAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXIsDQo+ICsg IElOICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyU2l6ZQ0KPiArICApDQo+ICsv KisrDQo+ICsNCj4gK1JvdXRpbmUgRGVzY3JpcHRpb246DQo+ICsNCj4gKyAgV3JpdGUgYSBibG9j ayBvZiBkYXRhLg0KPiArDQo+ICtBcmd1bWVudHM6DQo+ICsNCj4gKyAgQmFzZUFkZHJlc3MgIC0g QmFzZSBhZGRyZXNzIG9mIHRoZSBibG9jay4NCj4gKyAgQnVmZmVyICAgICAgIC0gRGF0YSBidWZm ZXIuDQo+ICsgIEJ1ZmZlclNpemUgICAtIFNpemUgb2YgdGhlIGJ1ZmZlci4NCj4gKw0KPiArUmV0 dXJuczoNCj4gKw0KPiArICBFRklfU1VDQ0VTUyAgICAgICAgICAgLSBUaGUgY29tbWFuZCBjb21w bGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArICBFRklfSU5WQUxJRF9QQVJBTUVURVIgLSBJbnZhbGlk IHBhcmFtZXRlciwgY2FuIG5vdCBwcm9jZWVkLg0KPiArICBPdGhlciAgICAgICAgICAgICAgICAg LSBEZXZpY2UgZXJyb3Igb3Igd2lydGUtbG9ja2VkLCBvcGVyYXRpb24gZmFpbGVkLg0KPiArDQo+ ICstLSovDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTdGF0dXM7DQo+ICsNCj4gKyAgU3RhdHVzID0gU3BpRmxhc2hXcml0ZSAoKFVJTlROKSBCYXNl QWRkcmVzcywgJkJ1ZmZlclNpemUsIEJ1ZmZlcik7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IoU3Rh dHVzKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVHKChFRklf RF9FUlJPUiwgIlxuRmxhc2ggd3JpdGUgZXJyb3IuIikpOw0KPiArICAgIHJldHVybiBTdGF0dXM7 DQo+ICsgIH0NCj4gKw0KPiArICBXcml0ZUJhY2tJbnZhbGlkYXRlRGF0YUNhY2hlUmFuZ2UgKChW T0lEICopIChVSU5UTikgQmFzZUFkZHJlc3MsDQo+IEJMT0NLX1NJWkUpOw0KPiArDQo+ICsgIFN0 YXR1cyA9IEludGVybmFsQ29tcGFyZUJsb2NrIChCYXNlQWRkcmVzcywgQnVmZmVyKTsNCj4gKyAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVHKChFRklfRF9FUlJPUiwgIlxu RXJyb3Igd2hlbiB3cml0aW5nIHRvIEJhc2VBZGRyZXNzICVseCB3aXRoDQo+IGRpZmZlcmVudCBh dCBvZmZzZXQgJXguIiwgQmFzZUFkZHJlc3MsIFN0YXR1cykpOw0KPiArICB9IGVsc2Ugew0KPiAr ICAgIERFQlVHKChFRklfRF9JTkZPLCAiXG5WZXJpZmllZCBkYXRhIHdyaXR0ZW4gdG8gQmxvY2sg YXQgJWx4IGlzIGNvcnJlY3QuIiwNCj4gQmFzZUFkZHJlc3MpKTsNCj4gKyAgfQ0KPiArDQo+ICsg IHJldHVybiBTdGF0dXM7DQo+ICsNCj4gK30NCj4gKw0KPiArU1RBVElDDQo+ICtFRklfU1RBVFVT DQo+ICtSZWFkRmlsZURhdGEgKA0KPiArICBJTiAgQ0hBUjE2ICAgKkZpbGVOYW1lLA0KPiArICBP VVQgVUlOVDggICAgKipCdWZmZXIsDQo+ICsgIE9VVCBVSU5UMzIgICAqQnVmZmVyU2l6ZQ0KPiAr ICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBTSEVM TF9GSUxFX0hBTkRMRSAgICAgIEZpbGVIYW5kbGU7DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAg ICAgU2l6ZTsNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAgICAqTmV3QnVmZmVyOw0KPiArICBV SU5UTiAgICAgICAgICAgICAgICAgIFJlYWRTaXplOw0KPiArDQo+ICsgIEZpbGVIYW5kbGUgPSBO VUxMOw0KPiArICBOZXdCdWZmZXIgPSBOVUxMOw0KPiArICBTaXplID0gMDsNCj4gKw0KPiArICBT dGF0dXMgPSBTaGVsbE9wZW5GaWxlQnlOYW1lIChGaWxlTmFtZSwgJkZpbGVIYW5kbGUsDQo+IEVG SV9GSUxFX01PREVfUkVBRCwgMCk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4g KyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBGaWxlSGFuZGxlSXNE aXJlY3RvcnkgKEZpbGVIYW5kbGUpOw0KPiArICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0K PiArICAgIFN0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7DQo+ICsgICAgZ290byBEb25lOw0KPiArICB9 DQo+ICsNCj4gKyAgU3RhdHVzID0gRmlsZUhhbmRsZUdldFNpemUgKEZpbGVIYW5kbGUsICZTaXpl KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIGdvdG8gRG9uZTsNCj4g KyAgfQ0KPiArDQo+ICsgIE5ld0J1ZmZlciA9IEFsbG9jYXRlUG9vbCAoKFVJTlROKSBTaXplKTsN Cj4gKw0KPiArICBSZWFkU2l6ZSA9IChVSU5UTikgU2l6ZTsNCj4gKyAgU3RhdHVzID0gRmlsZUhh bmRsZVJlYWQgKEZpbGVIYW5kbGUsICZSZWFkU2l6ZSwgTmV3QnVmZmVyKTsNCj4gKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIGdvdG8gRG9uZTsNCj4gKyAgfSBlbHNlIGlmIChS ZWFkU2l6ZSAhPSAoVUlOVE4pIFNpemUpIHsNCj4gKyAgICBTdGF0dXMgPSBFRklfSU5WQUxJRF9Q QVJBTUVURVI7DQo+ICsgICAgZ290byBEb25lOw0KPiArICB9DQo+ICsNCj4gK0RvbmU6DQo+ICsg IGlmIChGaWxlSGFuZGxlICE9IE5VTEwpIHsNCj4gKyAgICBTaGVsbENsb3NlRmlsZSAoJkZpbGVI YW5kbGUpOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiAr ICAgIGlmIChOZXdCdWZmZXIgIT0gTlVMTCkgew0KPiArICAgICAgRnJlZVBvb2wgKE5ld0J1ZmZl cik7DQo+ICsgICAgfQ0KPiArICB9IGVsc2Ugew0KPiArICAgICpCdWZmZXIgPSBOZXdCdWZmZXI7 DQo+ICsgICAgKkJ1ZmZlclNpemUgPSAoVUlOVDMyKSBTaXplOw0KPiArICB9DQo+ICsNCj4gKyAg cmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArU1RBVElDDQo+ICtWT0lEDQo+ICtQcmludEhl bHBJbmZvICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICsvKisrDQo+ICsNCj4gK1JvdXRpbmUgRGVz Y3JpcHRpb246DQo+ICsNCj4gKyAgUHJpbnQgb3V0IGhlbHAgaW5mb3JtYXRpb24uDQo+ICsNCj4g K0FyZ3VtZW50czoNCj4gKw0KPiArICBOb25lLg0KPiArDQo+ICtSZXR1cm5zOg0KPiArDQo+ICsg IE5vbmUuDQo+ICsNCj4gKy0tKi8NCj4gK3sNCj4gKyAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VO IChTVFJfRldVUERBVEVfRklSTVdBUkVfVk9MX1VQREFURSksDQo+IEhpaUhhbmRsZSk7DQo+ICsg IFByaW50VG9rZW4gKFNUUklOR19UT0tFTiAoU1RSX0ZXVVBEQVRFX1ZFUlNJT04pLCBIaWlIYW5k bGUpOw0KPiArICBQcmludFRva2VuIChTVFJJTkdfVE9LRU4gKFNUUl9GV1VQREFURV9DT1BZUklH SFQpLCBIaWlIYW5kbGUpOw0KPiArDQo+ICsgIFByaW50IChMIlxuIik7DQo+ICsgIFByaW50VG9r ZW4gKFNUUklOR19UT0tFTiAoU1RSX0ZXVVBEQVRFX1VTQUdFKSwgSGlpSGFuZGxlKTsNCj4gKyAg UHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChTVFJfRldVUERBVEVfVVNBR0VfMSksIEhpaUhhbmRs ZSk7DQo+ICsgIFByaW50VG9rZW4gKFNUUklOR19UT0tFTiAoU1RSX0ZXVVBEQVRFX1VTQUdFXzIp LCBIaWlIYW5kbGUpOw0KPiArICBQcmludFRva2VuIChTVFJJTkdfVE9LRU4gKFNUUl9GV1VQREFU RV9VU0FHRV8zKSwgSGlpSGFuZGxlKTsNCj4gKyAgUHJpbnRUb2tlbiAoU1RSSU5HX1RPS0VOIChT VFJfRldVUERBVEVfVVNBR0VfNCksIEhpaUhhbmRsZSk7DQo+ICsNCj4gKyAgUHJpbnQgKEwiXG4i KTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFJlYWQgTnVtQnl0ZXMgYnl0ZXMgb2YgZGF0YSBm cm9tIHRoZSBhZGRyZXNzIHNwZWNpZmllZCBieQ0KPiArICBQQWRkcmVzcyBpbnRvIEJ1ZmZlci4N Cj4gKw0KPiArICBAcGFyYW1baW5dICAgICAgQWRkcmVzcyAgICAgICBUaGUgc3RhcnRpbmcgcGh5 c2ljYWwgYWRkcmVzcyBvZiB0aGUgcmVhZC4NCj4gKyAgQHBhcmFtW2luLG91dF0gIE51bUJ5dGVz ICAgICAgT24gaW5wdXQsIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC4gT24NCj4gb3V0cHV0 LCB0aGUgbnVtYmVyDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mIGJ5dGVz IGFjdHVhbGx5IHJlYWQuDQo+ICsgIEBwYXJhbVtvdXRdICAgICBCdWZmZXIgICAgICAgIFRoZSBk ZXN0aW5hdGlvbiBkYXRhIGJ1ZmZlciBmb3IgdGhlIHJlYWQuDQo+ICsNCj4gKyAgQHJldHZhbCAg ICAgICAgIEVGSV9TVUNDRVNTICAgICAgIE9wZXJ0aW9uIGlzIHN1Y2Nlc3NmdWwuDQo+ICsgIEBy ZXR2YWwgICAgICAgICBFRklfREVWSUNFX0VSUk9SICBJZiB0aGVyZSBpcyBhbnkgZGV2aWNlIGVy cm9ycy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NwaUZsYXNo UmVhZCAoDQo+ICsgIElOICAgICBVSU5UTiAgICAgQWRkcmVzcywNCj4gKyAgSU4gT1VUIFVJTlQz MiAgICAqTnVtQnl0ZXMsDQo+ICsgICAgIE9VVCBVSU5UOCAgICAgKkJ1ZmZlcg0KPiArICApDQo+ ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsgIFVJTlRO ICAgICAgICAgT2Zmc2V0ID0gMDsNCj4gKw0KPiArICBBU1NFUlQgKChOdW1CeXRlcyAhPSBOVUxM KSAmJiAoQnVmZmVyICE9IE5VTEwpKTsNCj4gKw0KPiArICAgIE9mZnNldCA9IEFkZHJlc3MgLSAo VUlOVE4pUGNkR2V0MzIgKFBjZEZsYXNoQ2hpcEJhc2UpOw0KPiArDQo+ICsgICAgU3RhdHVzID0g bVNwaVByb3RvY29sLT5FeGVjdXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bVNwaVByb3RvY29sLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAxLCAvL1NQSV9S RUFELA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLCAvL1NQSV9XUkVOLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0LA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCTE9DS19TSVpFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBCdWZmZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudW1TcGlSZWdp b25BbGwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICByZXR1cm4g U3RhdHVzOw0KPiArDQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBXcml0ZSBOdW1CeXRlcyBieXRl cyBvZiBkYXRhIGZyb20gQnVmZmVyIHRvIHRoZSBhZGRyZXNzIHNwZWNpZmllZCBieQ0KPiArICBQ QWRkcmVzc3MuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgIEFkZHJlc3MgICAgICAgICBUaGUg c3RhcnRpbmcgcGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgd3JpdGUuDQo+ICsgIEBwYXJhbVtpbixv dXRdICBOdW1CeXRlcyAgICAgICAgT24gaW5wdXQsIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gd3Jp dGUuIE9uDQo+IG91dHB1dCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 aGUgYWN0dWFsIG51bWJlciBvZiBieXRlcyB3cml0dGVuLg0KPiArICBAcGFyYW1baW5dICAgICAg QnVmZmVyICAgICAgICAgIFRoZSBzb3VyY2UgZGF0YSBidWZmZXIgZm9yIHRoZSB3cml0ZS4NCj4g Kw0KPiArICBAcmV0dmFsICAgICAgICAgRUZJX1NVQ0NFU1MgICAgICAgT3BlcnRpb24gaXMgc3Vj Y2Vzc2Z1bC4NCj4gKyAgQHJldHZhbCAgICAgICAgIEVGSV9ERVZJQ0VfRVJST1IgIElmIHRoZXJl IGlzIGFueSBkZXZpY2UgZXJyb3JzLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArU3BpRmxhc2hXcml0ZSAoDQo+ICsgIElOICAgICBVSU5UTiAgICAgQWRkcmVzcywN Cj4gKyAgSU4gT1VUIFVJTlQzMiAgICAqTnVtQnl0ZXMsDQo+ICsgIElOICAgICBVSU5UOCAgICAg KkJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3Rh dHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIE9mZnNldDsNCj4gKyAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICBMZW5ndGg7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgUmVtYWluaW5nQnl0ZXM7DQo+ICsNCj4gKyAgQVNTRVJUICgoTnVtQnl0ZXMgIT0gTlVMTCkg JiYgKEJ1ZmZlciAhPSBOVUxMKSk7DQo+ICsgIEFTU0VSVCAoQWRkcmVzcyA+PSAoVUlOVE4pUGNk R2V0MzIgKFBjZEZsYXNoQ2hpcEJhc2UpKTsNCj4gKw0KPiArICBPZmZzZXQgICAgPSBBZGRyZXNz IC0gKFVJTlROKVBjZEdldDMyIChQY2RGbGFzaENoaXBCYXNlKTsNCj4gKw0KPiArICBBU1NFUlQg KCgqTnVtQnl0ZXMgKyBPZmZzZXQpIDw9IChVSU5UTilQY2RHZXQzMiAoUGNkRmxhc2hDaGlwU2l6 ZSkpOw0KPiArDQo+ICsgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiArICBSZW1haW5pbmdCeXRl cyA9ICpOdW1CeXRlczsNCj4gKw0KPiArICB3aGlsZSAoUmVtYWluaW5nQnl0ZXMgPiAwKSB7DQo+ ICsgICAgaWYgKFJlbWFpbmluZ0J5dGVzID4gU0laRV80S0IpIHsNCj4gKyAgICAgIExlbmd0aCA9 IFNJWkVfNEtCOw0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBMZW5ndGggPSBSZW1haW5pbmdC eXRlczsNCj4gKyAgICB9DQo+ICsgICAgU3RhdHVzID0gbVNwaVByb3RvY29sLT5FeGVjdXRlICgN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVNwaVByb3RvY29sLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTUElfUFJPRywNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU1BJX1dSRU4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChV SU5UMzIpIE9mZnNldCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGVuZ3RoLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVudW1TcGlSZWdpb25BbGwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBi cmVhazsNCj4gKyAgICB9DQo+ICsgICAgUmVtYWluaW5nQnl0ZXMgLT0gTGVuZ3RoOw0KPiArICAg IE9mZnNldCArPSBMZW5ndGg7DQo+ICsgICAgQnVmZmVyICs9IExlbmd0aDsNCj4gKyAgfQ0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIEFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4NCj4gKyAg Ly8NCj4gKyAgKk51bUJ5dGVzIC09IFJlbWFpbmluZ0J5dGVzOw0KPiArDQo+ICsgIHJldHVybiBT dGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBFcmFzZSB0aGUgYmxvY2sgc3RhcnRpbmcg YXQgQWRkcmVzcy4NCj4gKw0KPiArICBAcGFyYW1baW5dICBBZGRyZXNzICAgICAgICAgVGhlIHN0 YXJ0aW5nIHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIGJsb2NrIHRvIGJlDQo+IGVyYXNlZC4NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgbGlicmFyeSBhc3N1bWUgdGhhdCBj YWxsZXIgZ2FyYW50ZWUgdGhhdCB0aGUgUEFkZHJlc3MNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGlzIGF0IHRoZSBzdGFydGluZyBhZGRyZXNzIG9mIHRoaXMgYmxvY2suDQo+ICsg IEBwYXJhbVtpbl0gIE51bUJ5dGVzICAgICAgICBPbiBpbnB1dCwgdGhlIG51bWJlciBvZiBieXRl cyBvZiB0aGUgbG9naWNhbA0KPiBibG9jayB0byBiZSBlcmFzZWQuDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPbiBvdXRwdXQsIHRoZSBhY3R1YWwgbnVtYmVyIG9mIGJ5dGVzIGVy YXNlZC4NCj4gKw0KPiArICBAcmV0dmFsICAgICBFRklfU1VDQ0VTUy4gICAgICBPcGVydGlvbiBp cyBzdWNjZXNzZnVsLg0KPiArICBAcmV0dmFsICAgICBFRklfREVWSUNFX0VSUk9SICBJZiB0aGVy ZSBpcyBhbnkgZGV2aWNlIGVycm9ycy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK1NwaUZsYXNoQmxvY2tFcmFzZSAoDQo+ICsgIElOIFVJTlROICAgIEFkZHJlc3Ms DQo+ICsgIElOIFVJTlROICAgICpOdW1CeXRlcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFU VVMgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgIE9mZnNldDsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICBSZW1haW5pbmdCeXRlczsNCj4gKw0KPiArICBBU1NFUlQg KE51bUJ5dGVzICE9IE5VTEwpOw0KPiArICBBU1NFUlQgKEFkZHJlc3MgPj0gKFVJTlROKVBjZEdl dDMyIChQY2RGbGFzaENoaXBCYXNlKSk7DQo+ICsNCj4gKyAgT2Zmc2V0ICAgID0gQWRkcmVzcyAt IChVSU5UTilQY2RHZXQzMiAoUGNkRmxhc2hDaGlwQmFzZSk7DQo+ICsNCj4gKyAgQVNTRVJUICgo Kk51bUJ5dGVzICUgU0laRV80S0IpID09IDApOw0KPiArICBBU1NFUlQgKCgqTnVtQnl0ZXMgKyBP ZmZzZXQpIDw9IChVSU5UTilQY2RHZXQzMiAoUGNkRmxhc2hDaGlwU2l6ZSkpOw0KPiArDQo+ICsg IFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiArICBSZW1haW5pbmdCeXRlcyA9ICpOdW1CeXRlczsN Cj4gKw0KPiArICAgIHdoaWxlIChSZW1haW5pbmdCeXRlcyA+IDApIHsNCj4gKyAgICAgIFN0YXR1 cyA9IG1TcGlQcm90b2NvbC0+RXhlY3V0ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgbVNwaVByb3RvY29sLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQ SV9TRVJBU0UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1dSRU4sDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVFJVRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBGQUxTRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoVUlOVDMyKSBPZmZz ZXQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEVudW1TcGlSZWdpb25BbGwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBicmVhazsN Cj4gKyAgICAgIH0NCj4gKyAgICAgIFJlbWFpbmluZ0J5dGVzIC09IFNJWkVfNEtCOw0KPiArICAg ICAgT2Zmc2V0ICAgICAgICAgKz0gU0laRV80S0I7DQo+ICsgICAgfQ0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIEFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgZXJhc2VkLg0KPiArICAvLw0KPiArICAqTnVt Qnl0ZXMgLT0gUmVtYWluaW5nQnl0ZXM7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30N Cj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtDb252ZXJ0TWFjICgNCj4gKyAgQ0hB UjE2ICpTdHINCj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiBJbmRleDsNCj4gKyAgVUlOVDggVGVt cFtNQUNfQUREX1NUUl9MRU5dOw0KPiArDQo+ICsgIGlmIChTdHIgPT0gTlVMTCkNCj4gKyAgICBy ZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArDQo+ICsgIGlmIChTdHJMZW4oU3RyKSAh PSBNQUNfQUREX1NUUl9MRU4pDQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsN Cj4gKw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBNQUNfQUREX1NUUl9MRU47IEluZGV4 KyspIHsNCj4gKyAgICBpZiAoU3RyW0luZGV4XSA+PSAweDMwICYmIFN0cltJbmRleF0gPD0gMHgz OSkgew0KPiArICAgICAgVGVtcFtJbmRleF0gPSAoVUlOVDgpU3RyW0luZGV4XSAtIDB4MzA7DQo+ ICsgICAgfSBlbHNlIGlmIChTdHJbSW5kZXhdID49IDB4NDEgJiYgU3RyW0luZGV4XSA8PSAweDQ2 KSB7DQo+ICsgICAgICBUZW1wW0luZGV4XSA9IChVSU5UOClTdHJbSW5kZXhdIC0gMHgzNzsNCj4g KyAgICB9IGVsc2UgaWYgKFN0cltJbmRleF0gPj0gMHg2MSAmJiBTdHJbSW5kZXhdIDw9IDB4NjYp IHsNCj4gKyAgICAgIFRlbXBbSW5kZXhdID0gKFVJTlQ4KVN0cltJbmRleF0gLSAweDU3Ow0KPiAr ICAgIH0gZWxzZSB7DQo+ICsgICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IE1BQ19BRERf QllURV9DT1VOVDsgSW5kZXgrKykgew0KPiArICAgIG1JbnB1dERhdGEuTWFjVmFsdWVbSW5kZXhd ID0gKFRlbXBbMiAqIEluZGV4XSA8PCA0KSArIFRlbXBbMiAqIEluZGV4DQo+ICsgMV07DQo+ICsg IH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdp dA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FwcGxpY2F0aW9uL0Zpcm13 YXJlVXBkYXRlL0Zpcm13YXJlDQo+IFVwZGF0ZS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvQXBwbGljYXRpb24vRmlybXdhcmVVcGRhdGUvRmlybXdhcmUNCj4gVXBkYXRl LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNzQ1ZmIzYWNh NA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0FwcGxpY2F0aW9uL0Zpcm13YXJlVXBkYXRlL0Zpcm13YXJlDQo+IFVwZGF0ZS5oDQo+ IEBAIC0wLDAgKzEsMTg1IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAx OTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfRklSTVdBUkVf VVBEQVRFX0hfDQo+ICsjZGVmaW5lIF9GSVJNV0FSRV9VUERBVEVfSF8NCj4gKw0KPiArI2luY2x1 ZGUgPFVlZmkuaD4NCj4gKw0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsNCj4gKyNpbmNsdWRl IDxHdWlkL0ZpbGVJbmZvLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9GaXJtd2FyZVZv bHVtZUJsb2NrLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvTG9hZGVkSW1hZ2UuaD4NCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9TaW1wbGVGaWxlU3lzdGVtLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9j b2wvU3BpLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNpbmNs dWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0NhY2hl TWFpbnRlbmFuY2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9GaWxlSGFuZGxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9I aWlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUHJpbnRM aWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1NoZWxsTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9VZWZpQXBwbGljYXRpb25FbnRyeVBvaW50Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9V ZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlMaWIu aD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYi5oPg0K PiArDQo+ICsvLw0KPiArLy8gRnVuY3Rpb24gUHJvdG90eXBlcy4NCj4gKy8vDQo+ICtTVEFUSUMN Cj4gK0VGSV9TVEFUVVMNCj4gK1JlYWRGaWxlRGF0YSAoDQo+ICsgIElOICBDSEFSMTYgICAqRmls ZU5hbWUsDQo+ICsgIE9VVCBVSU5UOCAgICAqKkJ1ZmZlciwNCj4gKyAgT1VUIFVJTlQzMiAgICpC dWZmZXJTaXplDQo+ICsgICk7DQo+ICsNCj4gK1NUQVRJQw0KPiArRUZJX1NUQVRVUw0KPiArSW50 ZXJuYWxFcmFzZUJsb2NrICgNCj4gKyAgSU4gIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgIEJhc2VB ZGRyZXNzDQo+ICsgICk7DQo+ICsNCj4gKyNpZiAwDQo+ICtTVEFUSUMNCj4gK0VGSV9TVEFUVVMN Cj4gK0ludGVybmFsUmVhZEJsb2NrICgNCj4gKyAgSU4gIEVGSV9QSFlTSUNBTF9BRERSRVNTICAg IEJhc2VBZGRyZXNzLA0KPiArICBPVVQgVk9JRCAgICAgICAgICAgICAgICAgICAgKlJlYWRCdWZm ZXINCj4gKyAgKTsNCj4gKyNlbmRpZg0KPiArDQo+ICtTVEFUSUMNCj4gK0VGSV9TVEFUVVMNCj4g K0ludGVybmFsQ29tcGFyZUJsb2NrICgNCj4gKyAgSU4gIEVGSV9QSFlTSUNBTF9BRERSRVNTICAg IEJhc2VBZGRyZXNzLA0KPiArICBJTiAgVUlOVDggICAgICAgICAgICAgICAgICAgKkJ1ZmZlcg0K PiArICApOw0KPiArDQo+ICtTVEFUSUMNCj4gK0VGSV9TVEFUVVMNCj4gK0ludGVybmFsV3JpdGVC bG9jayAoDQo+ICsgIElOICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICBCYXNlQWRkcmVzcywNCj4g KyAgSU4gIFVJTlQ4ICAgICAgICAgICAgICAgICAgICpCdWZmZXIsDQo+ICsgIElOICBVSU5UMzIg ICAgICAgICAgICAgICAgICBCdWZmZXJTaXplDQo+ICsgICk7DQo+ICsNCj4gK1NUQVRJQw0KPiAr Vk9JRA0KPiArUHJpbnRIZWxwSW5mbyAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArU1RB VElDDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NwaUZsYXNoUmVhZCAoDQo+ICsgIElO ICAgICBVSU5UTiAgICAgQWRkcmVzcywNCj4gKyAgSU4gT1VUIFVJTlQzMiAgICAqTnVtQnl0ZXMs DQo+ICsgICAgIE9VVCBVSU5UOCAgICAgKkJ1ZmZlcg0KPiArICApOw0KPiArDQo+ICtTVEFUSUMN Cj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArU3BpRmxhc2hXcml0ZSAoDQo+ICsgIElOICAg ICBVSU5UTiAgICAgQWRkcmVzcywNCj4gKyAgSU4gT1VUIFVJTlQzMiAgICAqTnVtQnl0ZXMsDQo+ ICsgIElOICAgICBVSU5UOCAgICAgKkJ1ZmZlcg0KPiArICApOw0KPiArDQo+ICtTVEFUSUMNCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArU3BpRmxhc2hCbG9ja0VyYXNlICgNCj4gKyAgSU4g ICAgVUlOVE4gICAgQWRkcmVzcywNCj4gKyAgSU4gICAgVUlOVE4gICAgKk51bUJ5dGVzDQo+ICsg ICk7DQo+ICsNCj4gK1NUQVRJQw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtDb252ZXJ0 TWFjICgNCj4gKyAgQ0hBUjE2ICpTdHINCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiAr SW5pdGlhbGl6ZUZWVVBEQVRFICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgICAgSW1hZ2VI YW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgICAgICpTeXN0ZW1UYWJsZQ0KPiArICAp Ow0KPiArDQo+ICsvLw0KPiArLy8gRmxhc2ggc3BlY2lmaWMgZGVmaW5pdGlvbnMuDQo+ICsvLyAt IFNob3VsZCB3ZSB1c2UgYSBQQ0QgZm9yIHRoaXMgaW5mb3JtYXRpb24/DQo+ICsvLw0KPiArI2Rl ZmluZSBCTE9DS19TSVpFICAgICAgICAgIFNJWkVfNEtCDQo+ICsNCj4gKy8vDQo+ICsvLyBGbGFz aCByZWdpb24gbGF5b3V0IGFuZCB1cGRhdGUgaW5mb3JtYXRpb24uDQo+ICsvLw0KPiArdHlwZWRl ZiBzdHJ1Y3Qgew0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgQmFzZTsNCj4gKyAgVUlOVE4g ICAgICAgICAgICAgICAgIFNpemU7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICBVcGRhdGU7 DQo+ICt9IEZWX1JFR0lPTl9JTkZPOw0KPiArDQo+ICsvLw0KPiArLy8gTUFDIEFkZHJlc3MgaW5m b3JtYXRpb24uDQo+ICsvLw0KPiArI2RlZmluZSBNQUNfQUREX1NUUl9MRU4gICAgICAgMTINCj4g KyNkZWZpbmUgTUFDX0FERF9TVFJfU0laRSAgICAgIChNQUNfQUREX1NUUl9MRU4gKyAxKQ0KPiAr I2RlZmluZSBNQUNfQUREX0JZVEVfQ09VTlQgICAgNg0KPiArI2RlZmluZSBNQUNfQUREX1RNUF9T VFJfTEVOICAgMg0KPiArI2RlZmluZSBNQUNfQUREX1RNUF9TVFJfU0laRSAgKE1BQ19BRERfVE1Q X1NUUl9MRU4gKyAxKQ0KPiArDQo+ICsvLw0KPiArLy8gQ29tbWFuZCBMaW5lIERhdGEuDQo+ICsv Lw0KPiArI2RlZmluZSBJTlBVVF9TVFJJTkdfTEVOICAgIDI1NQ0KPiArI2RlZmluZSBJTlBVVF9T VFJJTkdfU0laRSAgIChJTlBVVF9TVFJJTkdfTEVOICsgMSkNCj4gK3R5cGVkZWYgc3RydWN0IHsN Cj4gKyAgQk9PTEVBTiAgIFVwZGF0ZUZyb21GaWxlOw0KPiArICBDSEFSMTYgICAgRmlsZU5hbWVb SU5QVVRfU1RSSU5HX1NJWkVdOw0KPiArICBCT09MRUFOICAgVXBkYXRlTWFjOw0KPiArICBVSU5U OCAgICAgTWFjVmFsdWVbTUFDX0FERF9CWVRFX0NPVU5UXTsNCj4gKyAgQk9PTEVBTiAgIEZ1bGxG bGFzaFVwZGF0ZTsNCj4gK30gRlZfSU5QVVRfREFUQTsNCj4gKw0KPiArLy8NCj4gKy8vIFByZWZp eCBPcGNvZGUgSW5kZXggb24gdGhlIGhvc3QgU1BJIGNvbnRyb2xsZXIuDQo+ICsvLw0KPiArdHlw ZWRlZiBlbnVtIHsNCj4gKyAgU1BJX1dSRU4sICAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUg MDogV3JpdGUgRW5hYmxlLg0KPiArICBTUElfRVdTUiwgICAgICAgICAgICAgLy8gUHJlZml4IE9w Y29kZSAxOiBFbmFibGUgV3JpdGUgU3RhdHVzIFJlZ2lzdGVyLg0KPiArfSBQUkVGSVhfT1BDT0RF X0lOREVYOw0KPiArDQo+ICsvLw0KPiArLy8gT3Bjb2RlIE1lbnUgSW5kZXggb24gdGhlIGhvc3Qg U1BJIGNvbnRyb2xsZXIuDQo+ICsvLw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgU1BJX1JFQURf SUQsICAgICAgICAvLyBPcGNvZGUgMDogUkVBRCBJRCwgUmVhZCBjeWNsZSB3aXRoIGFkZHJlc3Mu DQo+ICsgIFNQSV9SRUFELCAgICAgICAgICAgLy8gT3Bjb2RlIDE6IFJFQUQsIFJlYWQgY3ljbGUg d2l0aCBhZGRyZXNzLg0KPiArICBTUElfUkRTUiwgICAgICAgICAgIC8vIE9wY29kZSAyOiBSZWFk IFN0YXR1cyBSZWdpc3RlciwgTm8gYWRkcmVzcy4NCj4gKyAgU1BJX1dSRElfU0ZEUCwgICAgICAv LyBPcGNvZGUgMzogV3JpdGUgRGlzYWJsZSBvciBEaXNjb3ZlcnkgUGFyYW1ldGVycywNCj4gTm8g YWRkcmVzcy4NCj4gKyAgU1BJX1NFUkFTRSwgICAgICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVy YXNlICg0S0IpLCBXcml0ZSBjeWNsZSB3aXRoIGFkZHJlc3MuDQo+ICsgIFNQSV9CRVJBU0UsICAg ICAgICAgLy8gT3Bjb2RlIDU6IEJsb2NrIEVyYXNlICgzMktCKSwgV3JpdGUgY3ljbGUgd2l0aCBh ZGRyZXNzLg0KPiArICBTUElfUFJPRywgICAgICAgICAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dy YW0sIFdyaXRlIGN5Y2xlIHdpdGggYWRkcmVzcy4NCj4gKyAgU1BJX1dSU1IsICAgICAgICAgICAv LyBPcGNvZGUgNzogV3JpdGUgU3RhdHVzIFJlZ2lzdGVyLCBObyBhZGRyZXNzLg0KPiArfSBTUElf T1BDT0RFX0lOREVYOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FwcGxpY2F0aW9uL0Zpcm13YXJlVXBkYXRlL0Zpcm13 YXJlDQo+IFVwZGF0ZS5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9B cHBsaWNhdGlvbi9GaXJtd2FyZVVwZGF0ZS9GaXJtd2FyZQ0KPiBVcGRhdGUuaW5mDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjI1MTA0YTg2ZWQNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9BcHBs aWNhdGlvbi9GaXJtd2FyZVVwZGF0ZS9GaXJtd2FyZQ0KPiBVcGRhdGUuaW5mDQo+IEBAIC0wLDAg KzEsODMgQEANCj4gKyMjIEBmaWxlDQo+ICsjIEltcGxlbWVudHMgYSBUdW5uZWwgTW91bnRhaW4g c3BlY2lmaWMgZmxhc2ggdXBkYXRlIHByb2dyYW0uICBUaGlzIHdpbGwNCj4gYWxsb3cNCj4gKyMg dXNlcnMgdG8gdXBkYXRlIGFsbCByZWdpb25zIG9mIHRoZSBmbGFzaCBhcyBuZWVkZWQgaW4gYSBn aXZlbiB1cGRhdGUuDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAwNiAgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjDQo+ICsj DQo+ICsjIw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAg ICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAg PSBGaXJtd2FyZVVwZGF0ZQ0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSBB RUZBRjI2Qy1GQjZELTRmZWYtQUY3QS05RDc4RkYyMDFGQ0ENCj4gKyAgTU9EVUxFX1RZUEUgICAg ICAgICAgICAgICAgICAgID0gVUVGSV9BUFBMSUNBVElPTg0KPiArICBWRVJTSU9OX1NUUklORyAg ICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAgICAg ID0gU2hlbGxDRW50cnlMaWINCj4gKw0KPiArIw0KPiArIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0 aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZQ0KPiBidWls ZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gWDY0 DQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBGaXJtd2FyZVVwZGF0ZVN0cmluZ3MudW5p DQo+ICsgIEZpcm13YXJlVXBkYXRlLmMNCj4gKyAgRmlybXdhcmVVcGRhdGUuaA0KPiArDQo+ICtb UGFja2FnZXNdDQo+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ICsgIE1kZVBr Zy9NZGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiAr ICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4gKyAgU2hl bGxQa2cvU2hlbGxQa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgQmFzZUxp Yg0KPiArICBCYXNlTWVtb3J5TGliDQo+ICsgIENhY2hlTWFpbnRlbmFuY2VMaWINCj4gKyAgRGVi dWdMaWINCj4gKyAgRmlsZUhhbmRsZUxpYg0KPiArICAjRmxhc2hEZXZpY2VMaWINCj4gKyAgI1Nw aUZsYXNoQ29tbW9uTGliDQo+ICsgIE1lbW9yeUFsbG9jYXRpb25MaWINCj4gKyAgUGNkTGliDQo+ ICsgIFNoZWxsQ0VudHJ5TGliDQo+ICsgIFNoZWxsTGliDQo+ICsgIFVlZmlBcHBsaWNhdGlvbkVu dHJ5UG9pbnQNCj4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIFVlZmlMaWINCj4g KyAgVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliDQo+ICsNCj4gK1tQcm90b2NvbHNdDQo+ICsg IGdFZmlMb2FkZWRJbWFnZVByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAjIFBST1RPQ09M IEFMV0FZU19DT05TVU1FRA0KPiArICBnRWZpRmlybXdhcmVWb2x1bWVCbG9ja1Byb3RvY29sR3Vp ZCAgICAgICAgICAgIyBQUk9UT0NPTA0KPiBBTFdBWVNfQ09OU1VNRUQNCj4gKyAgZ0VmaVNwaVBy b3RvY29sR3VpZA0KPiArDQo+ICtbUGNkXQ0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkVWVmaUxpYk1heFByaW50QnVmZmVyU2l6ZSAgICMjDQo+IENPTlNVTUVTDQo+ICsNCj4gK1tG aXhlZFBjZF0NCj4gKyMgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52 U3RvcmFnZUZ0d1dvcmtpbmdTaXplDQo+ICsjICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkRmxhc2hOdlN0b3JhZ2VGdHdXb3JraW5nQmFzZQ0KPiArIyAgZ0VmaU1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZEZsYXNoTnZTdG9yYWdlRnR3U3BhcmVTaXplDQo+ICsjICBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hOdlN0b3JhZ2VGdHdTcGFyZUJhc2UN Cj4gKyMgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZVZh cmlhYmxlU2l6ZQ0KPiArIyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZsYXNo TnZTdG9yYWdlVmFyaWFibGVCYXNlDQo+ICsNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFj ZUd1aWQuUGNkRmxhc2hDaGlwQmFzZQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3Vp ZC5QY2RGbGFzaENoaXBTaXplDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBj ZEZsYXNoRGVzY3JpcHRvckJhc2UNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQu UGNkRmxhc2hEZXNjcmlwdG9yU2l6ZQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3Vp ZC5QY2RUeGVSb21CYXNlDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFR4 ZVJvbVNpemUNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkQmlvc1JvbUJh c2UNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkQmlvc1JvbVNpemUNCj4g Kw0KPiArW0J1aWxkT3B0aW9uc10NCj4gKyAgTVNGVDoqXypfWDY0X0NDX0ZMQUdTICAgICAgID0g L09kDQo+ICsgIElOVEVMOipfKl9YNjRfQ0NfRkxBR1MgICAgICAgPSAvT2QNCj4gXCBObyBuZXds aW5lIGF0IGVuZCBvZiBmaWxlDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9BcHBsaWNhdGlvbi9GaXJtd2FyZVVwZGF0ZS9GaXJtd2FyZQ0KPiBVcGRh dGVTdHJpbmdzLnVuaQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0FwcGxp Y2F0aW9uL0Zpcm13YXJlVXBkYXRlL0Zpcm13YXJlDQo+IFVwZGF0ZVN0cmluZ3MudW5pDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjk0MThlZGZiZjkNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9B cHBsaWNhdGlvbi9GaXJtd2FyZVVwZGF0ZS9GaXJtd2FyZQ0KPiBVcGRhdGVTdHJpbmdzLnVuaQ0K PiBAQCAtMCwwICsxLDQ1IEBADQo+ICsvLyAqKysNCj4gKy8vDQo+ICsvLyBDb3B5cmlnaHQgKGMp IDE5OTkgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr Ly8NCj4gKy8vIC0tICoNCj4gKw0KPiArI2xhbmdkZWYgICBlbi1VUyAiRW5nbGlzaCINCj4gKyNs YW5nZGVmICAgZnItRlIgIkZyYW7Dp2FpcyINCj4gKw0KPiArI3N0cmluZyBTVFJfRldVUERBVEVf RklSTVdBUkVfVk9MX1VQREFURSAgI2xhbmd1YWdlIGVuLVVTDQo+ICJJbnRlbChSKSBVREsyMDE0 IEZpcm13YXJlIFVwZGF0ZSBVdGlsaXR5IGZvciB0aGUgSW50ZWwoUikgTWlubm93TWF4XG4iDQo+ ICsjc3RyaW5nIFNUUl9GV1VQREFURV9DT1BZUklHSFQgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgICJDb3B5cmlnaHQoYykNCj4gSW50ZWwgQ29ycG9yYXRpb24gMjAwNiAtIDIwMTRcbiINCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1G UiAgIkTDqXBvc2VyKGMpIGxhIFNvY2nDqXTDqSBjb21tZXJjaWFsZQ0KPiBkZSBJbnRlbCAyMDA2 IC0gMjAxNFxuIg0KPiArI3N0cmluZyBTVFJfRldVUERBVEVfVkVSU0lPTiAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICAiVmVyc2lvbiAwLjcyXG4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0ZX VVBEQVRFX1pFUk9MRU5HVEhfQVJHICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQXJndW1lbnQg d2l0aCB6ZXJvIGxlbmd0aCBpcyBub3QgYWxsb3dlZFxuIg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICAiTCdhcmd1bWVudCBhdmVj IHrDqXJvIGxvbmd1ZXVyIG4nZXN0DQo+IHBhcyBwZXJtaXNcbiINCj4gKyNzdHJpbmcgU1RSX0ZX VVBEQVRFX0lOVkFJTERfTUFDICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkludmFsaWQgTUFD DQo+IGFkZHJlc3MuXG4iDQo+ICsNCj4gCSAgI3N0cmluZyBTVFJfRldVUERBVEVfUkVBRF9GSUxF ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJcblJlYWRpbmcgZmlsZSAlc1xuIg0KPiAr I3N0cmluZyBTVFJfRldVUERBVEVfUkVBRF9GSUxFX0VSUk9SICAgICAgI2xhbmd1YWdlIGVuLVVT ICAiVW5hYmxlIHRvDQo+IHJlYWQgZmlsZSAlc1xuIg0KPiArI3N0cmluZyBTVFJfRldVUERBVEVf U0laRSAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRmlsZSBzaXplIHNob3VsZCBi ZQ0KPiAxNk1CXG4iDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZnItRlIgICJEb2l0IMOqdHJlIDE2IE1CXG4iDQo+ICsjc3RyaW5nIFNUUl9G V1VQREFURV9VUERBVEVfU1VDQ0VTUyAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJVcGRhdGUNCj4g c3VjY2Vzc2Z1bFxuIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGZyLUZSICAiTWV0IMOgIGpvdXIgcHJvc3DDqHJlXG4iDQo+ICsjc3RyaW5n IFNUUl9GV1VQREFURV9VUERBVEVfRkFJTEVEICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJcblVw ZGF0ZQ0KPiBmYWlsZWQuICBQbGVhc2UgbWFrZSBzdXJlIHRoZSBmbGFzaCBpcyBub3Qgd3JpdGUg cHJvdGVjdGVkLlxuIg0KPiArI3N0cmluZyBTVFJfRldVUERBVEVfUkVTRVQgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiXHJSZXNldHRpbmcNCj4gc3lzdGVtIGluICVkIHNlY29uZHMg Li4uIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGZyLUZSICAiXHJMZSBzeXN0w6htZSBxdWkgcmVtZXR0cmUgw6AgbCfDqXRhdA0KPiBpbml0 aWFsIGRhbnMgJWQgbGVzIHNlY29uZGVzIC4uLiINCj4gKyNzdHJpbmcgU1RSX0ZXVVBEQVRFX1NI VVRET1dOICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlxyU2h1dGRvd24NCj4gc3lzdGVt IGluICVkIHNlY29uZHMgLi4uIg0KPiANCj4gKyNzdHJpbmcgU1RSX0ZXVVBEQVRFX01BTlVBTF9S RVNFVCAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlxuUGxzDQo+IG1hbnVhbGx5IHJlc2V0IHN5 c3RlbSAuLi5cbiINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBmci1GUiAgIlxuUydpbCB2b3VzIHBsYcOudCBtYW51ZWxsZW1lbnQgcmVtZXQN Cj4gw6AgbCfDqXRhdCBpbml0aWFsIGxlIHN5c3TDqG1lIC4uLlxuIg0KPiArI3N0cmluZyBTVFJf RldVUERBVEVfTk9fUkVTRVQgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiQWxyZWFkeSB1 cCB0bw0KPiBkYXRlXG4iDQo+ICsjc3RyaW5nIFNUUl9NSVNTSU5HX01BQ19BUkcgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJPcHRpb24gLW0NCj4gc3BlY2lmaWVkIHdpdGhvdXQgTUFD IGFkZHJlc3MuXG4iDQo+ICsjc3RyaW5nIFNUUl9JTlZBTElEX01BQ19BUkcgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICJJbnZhbGlkIE1BQw0KPiBhZGRyZXNzIGZvcm1hdCB1c2VkIChl LmcuIC1tIDAwMTFBQTMzQ0M1NSkuXG4iDQo+ICsjc3RyaW5nIFNUUl9GV1VQREFURV9GSUxFX05P VF9GT1VORF9FUlJPUiAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkZpbGUgJXMgbm90IGZvdW5kLlxuIg0K PiArI3N0cmluZyBTVFJfRldVUERBVEVfUEFUSF9FUlJPUiAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiRmlsZQ0KPiBwYXRoL25hbWUgdG9vIGxvbmcuXG4iDQo+ICsjc3RyaW5nIFNUUl9GV1VQ REFURV9VUERBVElOR19GSVJNV0FSRSAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlxuVXBkYXRpbmcg RmlybXdhcmUuICBUaGlzIG1heSB0YWtlIGEgZmV3IG1pbnV0ZXMuXG4iDQo+ICsjc3RyaW5nIFNU Ul9GV1VQREFURV9VUERBVElOR19NQUMgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlxuVXBk YXRpbmcgTUFDIEFkZHJlc3MuXG4iDQo+ICsjc3RyaW5nIFNUUl9TUElfTk9UX0ZPVU5EICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJcblNQSSBQcm90b2NvbCBpcw0KPiBub3QgZm91 bmQuXG4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0ZXVVBEQVRFX1VTQUdFICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAgIlVzYWdlOg0KPiBGaXJtd2FyZVVwZGF0ZSBbSU1BR0VGSUxFXVxu Ig0KPiArI3N0cmluZyBTVFJfRldVUERBVEVfVVNBR0VfMSAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiXG4iDQo+ICsjc3RyaW5nIFNUUl9GV1VQREFURV9VU0FHRV8yICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICIgICBQcm9ncmFtcyB0aGUNCj4gOE1CIElNQUdFRklMRSBmb3Ig dGhlIE1pbm5vd01heC5cbiINCj4gKyNzdHJpbmcgU1RSX0ZXVVBEQVRFX1VTQUdFXzMgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIiBcbiINCj4gKyNzdHJpbmcgU1RSX0ZXVVBEQVRFX1VT QUdFXzQgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIiBcbiINCj4gKw0KPiBkaWZmIC0t Z2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQmZtTGliLmV4ZQ0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0JmbUxpYi5leGUNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXgNCj4gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMC4uNDQwMmE3ODQ1NmFlMTAxODkxNWFjNGExZmMNCj4gZTVkNWQ1ZGU2NTY2NTINCj4gR0lU IGJpbmFyeSBwYXRjaA0KPiBsaXRlcmFsIDQ5OTcxMg0KPiB6Y21lRmFlU0IyYXdLcU9WQ05SSys4 NlpnMUN7YVZEMXI+JDEqaG1kMnFmcl4xaUh5P3Yxe0xCRTVpbV5mcjkNCj4gX0VDDQo+IHpZOUAh VipoMDBmd290THNtUjRGVkZCVHpTTn1AJiRMYSk/dnVLfT89IT14cD5yWF55Ty0NCj4gfWslcks0 KWVeJl80SU0NCj4geiYqJF58THQ4VFk/N2gkMFlwPWNEX1MhR1V8QmFRNzlFWmM8I0o+fEs5Rjhz YzwkdEJ9X21sc2FDPn1jY2dgdGs7DQo+IHoyZmNSQW1hT1Rvb2lpZ21aKmtHMD5WPGJ5JiVVZVpf U3AqLQ0KPiBFUX1PPWI4Yjt9JjRRd04zeVAqKWNZVj1hMytLJGUNCj4gekZmVlUjdT85VlUmbXsl bmpXPUlve3JseVB0WlZMKz1VY0FIIXRhVTV4ITI2WT97IVBneCNuKjl6MnVzKUBfDQo+IFg/JA0K PiB6UDRaaFQ8clZYODQtDQo+ID58ekZiPzx9al9GeEJqX05Cdnk0SUBHO21GQXZsSTIyWTJSSXhu dm18QFhMaX5EPjM/UHFHDQo+IHpVPmc1T0FPMl9rSXl3ZmJHVVNuZF4xITtSRVdoPi0NCj4gR2Fa cloyUmc8fD5YWkw7MXFWMF5LY1VMbCVMaXRUNGUoc0ENCj4gelExQUR4M25PI3lqaUJXQUZRWSVp aSskRGpTdVllaDlKNE8wby0NCj4gO2MjK3U9Q2sxfkImQnRBRExaZD0+d3tQKnJtag0KPiB6Rkdq e0omO1hoOGl5IU8xUWlyMy1OYExuSTgzakowei1KV3Jpfl5yZzs0PXoqTXVFPkxARUhYQHFyaGhy Xz4yUG8NCj4genxEWnN+PSF8eWVaKXdBU0Y8KW9RKkE/QDEkOXozOFV2Rz1Bbjx6JFdVMER5aHFP QihxVSUtDQo+IHNlQFZUTzlSP08heg0KPiB6e087JlpYVXkrNU1pJEp2KG9xcEUjOSNCcmh3KHpR RD85LQ0KPiBZWXUpJTBGa2dMRnZIKDA8K3YkaiRZeHB+Wj1KKCVXDQo+IHpycWRZN0l1KylQSF83 OHVNSnVtI0JuTysxVStyKjZJeT8hKmhSPCFkZzY4K20mbjQqa3JrZCRNRExXITQNCj4gSnE4NWgN Cj4genEzKCgqTjBybm9jTHZRQGg7KnxUSiY0eCFJJTshKWRhXm9OK3dHezQ8USlkO25fcypfVDE/ SWVQZmomNCFFUnoNCj4gUQ0KPiB6bnM3Iz57K0VyQStiREFmJnx4RiFzdnRJT1dmQ1UrKFBubz5F QUZKY2stRyhpYSNSP3YxPnomYDlhaWN2QzshRmENCj4gem5FOCFwYkFDeXUrNH4tZF99KG9xdkMx K09jQXEkTGYtDQo+ICF7Xk5NQTgkOHQzMn4zO1JEQXBZant5d09oNmhNPlFGIQ0KPiB6X2tYRiFy cDRFWkpWJVNLUDVuc2xycDNwJjNeRVU+cExYQHIlJTkhOTlyKDgkfEs4JWpJJSk9USRwIypZNH1l DQo+IGJpDQo+IHpHTkZWa1U9fCE9LQ0KPiAmYEBAO2JgcSl5VXJnYEMrX2JLOGxsNCM8e3ZRZ21u dz9MZ1NVKCVuQlNzYDtwK3kwVipidnMNCj4gejZIZ2VIUC0NCj4gaz9QeDU5aTA+O3I7JUh1PCg9 NEExbXpAXjI0QE9XQ0JaYUxNXm5BJGRCaDFqNk1rQF4/bWVkVn1VRA0KPiB6UlYyV1NHOGV8O2FN MWoxdkRCfGBpa3YxV21IbnAtDQo+IHNsc0Z8a0BYIT1IRD9hVkt2cT5Ca3pWfSsoMXNrO1hfVUtF DQo+IHoyV0tlZzI0S2tlZm0+c353ckZqZXF2a1llZWxOKDJPeDRfMHlpWClweSgtDQo+IEpfdyp9 Mzs9TWc9eVZZP0EoRjl7dDANCj4gem1jRil0Y3s3QntlKGZQP3ckYmttI3pXMHVWbFdwbD9nUiNI NzNNPk5icz47eVl9b2VxSlYlM25oaTZsMEpFKg0KPiBmRw0KPiB6ckBiTXh5flFVKGl1JVQqJiFh cEJJenF4Y18wZit7b0lvdXYkVU5CYT1ZIXY0ITspQHtPVGhmPCpROW1uejsNCj4gTS1wDQo+IHpp QXs9QWl9UyYkazNkKndlJmU9aWIyKFR3aHpHTGpPMGM/UEpjPXp8b3JVeFAmOWA0aXg+PV9LTk1C TDhfLQ0KPiBoTW0NCj4gejdET0NaRVYrSyh7Y3wxRDd2NFU1ZWl+eTdLaExAVzQ4M00rMHBRdlV0 eXgmT2IrXyomdTs/IVErbGhiDQo+IEFXWkNTbA0KPiB6SWxCV2RnMkRIenBNQzE1UnM5SDJaMDZT enY0TGZBUChUIWdBTD9YWD99LQ0KPiB5PlRFYj1jZEpfKyNxbzleaWhNX2hNDQo+IHp6djxjWlhm cF5+fEU2ZDg9VEg+KW5Tcj19MTRhaTVCKUBgYHdCPXZrem50Jm0mNHcpOzR1NDBxdyFgNkJ7IT11 DQo+IEsNCj4gemYhaGYlXzF7T0BATzREKmIhT0Y2ZHA2YSlXY1c4a2NWLQ0KPiA5OF9idyYzSTZh JHNqRjFgS0hOMyp5WXZuWUo+blMtXw0KPiB6USkyaSNWKlVmcys1P1dyTU1tZ0FeblBieyV+MEBM cXBRS2MzeHZ1XzdEJT8mNWdDR1BxdWgoPyQheg0KPiBAWil5QnxFDQo+IHolWFZjb2drRi1TeV5i MVood2lJdmZKVj84M3cwIUJWRWwtDQo+IDhJYUdRVStLKmxCN1U1T3dYY3xISHlmXlB2ZVQlUX4N Cj4gelBKKzQkbiM7Y14odWRrbWpgTnpOKmwjdzViflVXWm5nLT5kclFmYDQwXyNEU0cja0Y9S3NY PiQtDQo+IDVmTmhpRm1qVA0KPiB6QFYoaTNrI3MpcCtYQyl5MjdTIzZeWjZASnJ0ZG90WUIyVVE1 Y3gzJWd2SlFERCRGNjV1Xzc4IW5uKHM+NkRvDQo+IHBsDQo+IHo5TzBSdyghMnJGQyhAMnVgPWhu e3NuU0dXSiVXMVNuKzJzVUxHdjd8JmMwfnZLRCRtOD5JbTBfX0VuZikNCj4gRXN8YlcNCj4geldt OHU3MTxWVzh2KkYodEd8Uj9HRk1hP3U1ZXYyM3VNRSp1REV2bmNpdWxFUnQ8bDw2eTlGMG9BT3VR MQ0KPiBsIXZjMQ0KPiB6VjE5b3pWUj1oQFo0ciY/eVdrdSY+Yz9vJTI8O0Q7em0rPWYlKi0NCj4g Y01DaEhCMGgxTTlwSEhOPnZxYGRmXnRFel8+DQo+IHpkflBjI0U0dEAwIUBvYmh4bzVgTSY1ZFN9 YExETUdRRzxPeHFTOFhLPFphMTtEc2hBMEBWYyhZe19uRQ0KPiBoRl56e3INCj4gekFOa0JedHFG YmZUWmtJUiklNDB4TEFiUEtoUmh8MGladVB+dEowcE9pIzhUTzdpR2dvZkcpWjwrQl4lJnNRSg0K PiBHQA0KPiB6QnEkPj1wSk5NKEVuU3B6STt2e0AofkpCcUl7aTFLSHxWczleYzczNG4mWV54Q2JG bXxhPmN5KWJGWkMhKkllYzsNCj4genhNRUpHKkBiPXp3KWxFIWY1a3Uhb1k8N3VnKks2Z3pZZDVF dXkyOX4pTFUyRVllRmElRlI9YHJ6anhsdEFfcE4/DQo+IHplRURGQ054KnpmdjNkVmhDZy14c0ZT STEyeX1vPC0NCj4gVT57QCV5d0djam1hQW9YUnc/ck1VKmNYMFl7PUV9UCFramwNCj4genxBU2xC dlchfHM5e2pHfGIraX56WDBGezJRSDhNcilDPWdpNmlpTSFTYExRTiQ5PmlEK00/UGs5VFdlNlVh c3gNCj4gRQ0KPiB6e1luUjx3PXZIIz1TdFkxKSl3RDNIcXpxTHMmJjEzVEYwTj16UmcqY3FPNG5k ODx+THpzTk5SZThhfWw2ZGkNCj4gYk9MDQo+IHo0aVVnYipfTG9Za2BFVDkyXlpYdUo/aHpAeF8o YlEwSTwkUkMwTUJiVFYzNXtKYFViTUA4R3RFVGhVcHcNCj4gS3xMRygNCj4genA0ZTJVNSRiX0w1 MThre0R4IzklLQ0KPiB4eElTdXdHYW50ekF6ITk3T05zVUNKUjtpczlRUk10cHRIOTRjKTw0bVZu SQ0KPiB6eExxbyhrQT5GaFVYZGYjMnVERUZIYnhXOU9ae3MrKGZkJVgzVD5+aWgqTUE4QVg/Q0Vf fTdjbXl1UWp3DQo+IGdEKnZRDQo+IHpQTGZ7Tkgra3k2QiNLfnRHKktBeXVkbml8dz4jakVza2Fx bmxrUTV4LQ0KPiAoM2shVF5hTHRkcDN1PHFzUDZxZ2BVbTYNCj4gelpxTjRWeGdFXiRZPTNBTHZ8 MzRQZyE9eXRYX2hjYFpCSVJZV042YU8oNDwkUWJldy0NCj4gKEclO1JMRHBuNVB6UStoVQ0KPiB6 VzEoJF5aKEdZVSR9PDErWT0tDQo+IFIlSkhaNztYcSZpbiVneiRpRzN0KXdKVnA5RTx5Rk9lVE1U RyheVmVjIUwzRiFgDQo+IHpFd1FVeno7IzApPj9TMXQ3SUU7dHEjemxnRWlJeHUqZDd7M2FqYiN1 cWVWLXBZKHdgcT08YVhPQnBDISFNVVVqZg0KPiB6TGhCTz9HMGNYcTJTWDhhKFIwVUNDZm8zQDMh M2o5JHh0emNYRitmTDxaViRnaFFEez5ZaTVORTFhLQ0KPiB8IVdLJXtVDQo+IHotSHV8Xj53dmcl JCFzPiNgP09BfUskP0NKTUElVnxeITQtDQo+IFpTVEgrTVEkMDc4YGRXREk/UlV+NHk1ITI1ZDJf VHwNCj4gekZZO0ViPVVXRzJ6N0JaVkBIUzRHZHVkUFNGdSs0X0l7MmdYa3ZRemglT0tFQFBHRHtY JEhxY2srQyENCj4gcS13Kzk/Xg0KPiB6ITxWJjBiaWVAPTJWP29nOTRsdm8/O1Q2WT1BUjc7Sm96 VXpIN1EyN1hDcDJDOUB4LQ0KPiBQaHwoX2YmeFEwQHEqTUt+DQo+IHpHPjdfP3t1Sm9gb1pPOUdC QXpEcmtwYTxLeDEobUQ+Y3RJSlN5aHdLbFlzZU5mdl4lfjllSipKc0kkVStSUHcNCj4geHsNCj4g emFNQFh6S2p5KlReKnJuRSU3SmtFZHplLQ0KPiA4TzA+NGlRUFhVVnckO0NHX1V9ZGJoQDUmQXBu cjhwK3hfY0JYe1lYPQ0KPiB6WWptbGpaMnJSQUBBU2BKbHNXcnFZbUAjPmZfYGs8Ti0NCj4gP25B UlooUnZLSjl5ST1lMntxI1RldjZBMmomI0Y9ZDFjDQo+IHpObGhIeDF6cWxMU2psdTs5REZGU3gp MjlSaDd0NFdeNl87QzlpYUJIS2Jgc1Z1fEdCVmtEKSk1R1E2ayF8NnBVTg0KPiB6NUtrYzFtWDkp Z1NNNERANFRGUE9SWjshUnA4QlZPTV4mbCRBViFvckZYVjwwX310T1N3JEVgZERwIT9+DQo+ICsk MzllDQo+IHp6PGdmMzdpY0pWJVQkenNRcTE+a0V9dkJZYV4mayhgUjJxRnRUSEVvMFl1SFlSZ1Ey ejxUJCs2cVpHTj5Ia1YNCj4gRTINCj4gekVCfFVaVE9rPllWVj0hcGxYOEgoT3J4Q0A8fX0/TjBC c1MmPCo2P1ItDQo+ICZxfkZqUVRVKis+Um1COWU5WWYoNX57WA0KPiB6VGMpfS0NCj4gbEY9OUJi PDNzdWlUSjZ5UiUwbD9WT1pLYm9STnwpY2kzUSFNIXBASkQhTXxOaH42dkhWbGh0QDBHNlZYDQo+ IHohVD1MUV5JPGlZQzVmeXwmKnRFeWBacHVoS3pmamRqJjQ2SCg5NThQRylCPzshMlA3ITxQNTVQ ZUArX0o0JHZySw0KPiB6K0xqNENNPVg7RDFEQ3dRJStncGB1dj9+NU5qVlp7M21ycDZvVk5AfCtI TzROWi0NCj4gYjgreTxiZmMrR0w4Km1oMSR8DQo+IHpIKDAoflRkV0tNKkF+NE92am9qb2V4UVJI dDtga0xQfWI8clp2ZVU0VEZOWVA3RmI/am4tDQo+IENIdVlIJGNBTWEqMXcNCj4gek9TND1YWFlw cH49ZTV1U0lFK0hzQiQlVWIwR3JuVFBeMGIjSmpAVil1X29IaDhBT3xYZG03UTY1cnpTSg0KPiBN bWF6UQ0KPiB6Q248OF8kc0lLSkJOfjlZbiYyIVhpdSpiK2xjVUVDRiZ1bSYhRFA8bHo3QSs9X1Uw RD9fSzFPcFJWZ3JyLQ0KPiBUN3QjDQo+IHpEZUNXTnlsTzxsM2glJjJYYFZWTjRHXypNX1BaLSUl WkU4dGlReXxTVHo5X0FtKk9qMi0NCj4gNzhUJkpDPztzQ1krTnANCj4gejdmRHYoanM/TFp4Kmk3 SipVP3ktLT5gaEppeSRuaHkzdnRuYmRaMjlGdFlEI0R4Z0cjSXZPaVohXn4/aV5aVVJWDQo+IHox dm8/Y2Zpb08lMXxWT2xtNFgxcTYkQkI1Z1krP15KQ3dURjNae3hTN2x7VURLI2d2RE4hO0lvcHY2 OF9xZVYNCj4gMHMNCj4gek5lSEtTRDE1MSFMRTJefGhvflNOLXgtK3JJZ0dRVm8+dnReSilnWi0z fjtvMDY3PSlJSD9AQUktDQo+IEYqVlopWCZzSw0KPiB6P01UeEdHdUAxfFdyTGZMekdtKXlqPDN+ SlNJPURfZSFVZlR1I0pASEA1I3tMdHlfVlpyTjJ9RFpIdW9SDQo+ICopVU99DQo+IHohZ3U+IyY3 dXRqQk16QEJzNSVrbldONDdHTy0NCj4gVjB1NU4rSUZWSUNWTDN7fU4zMXRYIShuRExUPmtQOWFh XmMqMCsNCj4gejZeJVlqSiU2ITs8YTBJbmp6UEh7aSs8cXIpUlVyazg4eXRDem9rcTZnPzlnaXZH aTtUNGpaP3QhSSQ8dCU2PGwzDQo+IHpTfUpGOzNDM1hhZ1haSGtnaEJyb0FVJkpQTW5wU0dCVTlr VE1IMjxvQDZsWmE3M1RaKl90UXwwKWxkclhLDQo+IG1ibWoNCj4genRgVnNfe3RLWEx3Yj07P1BV YGtNa09zenVWKEFLMV8ySll3ZjF0WDY/YkFVSlRqUHZ8WTxmMWk1RDYoUGQ4SzkNCj4gbQ0KPiB6 REQ2bGhQK0A3SXtVfl5xQDRyQ1c8ZVNaNDI1TnJsMEM+V3B3TTIwKSVnX1AwK3tTOSErKVM2SUhB S0ENCj4gQT1xcWYxDQo+IHpeVmJIOGg3eWQzckoxUzwlc0ZaQnNtLQ0KPiBHSUxzTDtQdWdpZXso WERDbEpFPiEyJXRhcVVjUlhONDNFTnNxTVlDdV4NCj4gek0yfjBKX3pZaT47aipUTGA5eDs8VjFg RCgyRjNMKypBejkxdW9YZXIzTmNDcjVUJCZZJERsYm1wTiRxST94T0NJDQo+IHo1Z2lgdyRwUyFz a3VsNSkjcEw1UE5VI0RKRHoxTU0wS3Nta3FhQjM7cSQkeTB2Y0haezA1T31QSFNsYUlBMEcNCj4g VzYNCj4genJ7KzIlUkFnalpHdDdKXzB2KV5vQ2NCcSQtDQo+IFV3bSU2a0p6bSZednt8PGk2b2t4 eyQ2fSNJNntqezBjS3glR05SUg0KPiB6TyVSVjhySDZtSG9MTEJXd1ptcGtgeEhWSTZBQzN3V2Bl JjVhOGNMbyhieyVMdHF3PWJOUGV2Zm4jPg0KPiBFNEReODtVDQo+IHotDQo+ID1QU3xgX1pRU2ZI fVdmVDheM3w1NSVWK1hucXxXQThqNnNOTnFhQVkpZXM8ZTskZ2U9Sm05aCFkUzU8bGNCDQo+IE9N DQo+IHpMXmZTWTt7Kyh7MiV6U0U9JjFzdlokYFJve19GKkptZH45JVhLdUNhUnd7alRKcC1UXzhw I2ZFbDZYKUA+NWo3PA0KPiB6KExjPHgtTSp2TmpLQl9hIXM5PzZZR0smal5zbmg8cndzMzA1ZXY2 O3w4TGh4X3AjMkMzVFhJeUZgMH5FQ0sya0wNCj4geiprdCYtDQo+IENqUUgpYnM0dTZqciledlVH YlQoQmJYS1E/VGcqZ0QoPUkrbDJGP3tIJnI5ZCk/VlVrVTVyPnM1OEd4cQ0KPiB6dX04b18ybGJT TXgpekBlbTdsfGpuOUgrMHBXWkpYSmxrQypkdF4/IU43YnJ2cWM7cTVVPCNEWFAyM0lRc1psfQ0K PiBuDQo+IHo2YmopZTZ+ZERzRXMhTnEpMW9oIWBJUHYoN01+MEwmSSRFO3dyN3R5ZmVLVWoya31x OG5kOSRgYDQ0MEVgeDxPbw0KPiB6XmFUbCZjPE8oTDt3ckNzMlpsfFFpI0p4c2wyakdUPkFgRlhs SHhUUVJQb14kK3ttdFJ6VFNYMiZWSlc7bCFZO1INCj4geiF6QEJYKCNpcEtec0JhPz5OTy0tDQo+ IEJWTXlzcHwxZk1rYjlpSm1ye3llZlhTXkVnSyZ9MFFJVyZNNF9WSkRLflB1MQ0KPiB6eWNsRV49 NTtnNytsZnduN3gyVWlOUlN2KUVWezdDSjVrJWY2Y2MoLVN+QmxjKXNVVHJgMmxnPDQlbSp7MGxg eSkNCj4gejd+Mjt+MWVjdmJeQzE7I3Y7dTtWbSltWj1EY1ZmMjgxPD9XM3NfPEJkdEsqN15aKj9I VmdUZDJidnojSVhfDQo+IFJMMw0KPiB6WDU/WHp4MlBYaCRJfmtIdnd9YW5lVEppQG9eZGI5dGU8 YkM2I0hkTGkxdDB+MSVkKyNQYG1vc3JoWWM0QTA1DQo+IDcwDQo+IHpxbkA1bkthWj1RbUdWPFIk Ny13b1c7LT8wUEJEMVNkVz9jSmBvPWYtDQo+IHA0blowSk15cCExUCpuM3FJWTI0MnVCbSsNCj4g ejgkJjN7KkFwPCF5WXh0UEx1ZVg8SVNyeHI+dU1SJCNNJTtVPmlmZFFIUS1faENSV21WbGd+cEkt DQo+IGpBJiZgSFh1MA0KPiB6PHI9ST8ydTt1UUpiY0tGUl5sd2ZseWhUQXNwQ1pQPklpLWBHTyN7 UU9pNXY9SDtSO1EldXhOXy1PSUJXYUhKcnANCj4gejhCTlQkI18rRistDQo+IFVwMlc1bkpRZ2xu cU56U2hCTmJrT0R+Q2pje0BxKjA8SXF8TEVCaVhQNF89ang2bURMUndXJA0KPiB6SFdHK0ZpUyhA eik0cWxpNT0tdWBWSz5rPVMxO0N9MSNRQ0R6PVNpPmZ9RUJ6aDlwPzJyNCpIc0B9dHp0Ujg+fUUN Cj4genMyRDxJbk4oX2hUMHwlJkBhclhBb0haQmZoM01NQlRqbnQ2X3gyRlhuNFpRVFNVKmBMIUdo YUhAJUENCj4gXmA7fFJIeQ0KPiB6ZDdRLTRJV14pY0hmUz04NHAyI1pJISVCeSpIblppIVVsLXpF cV9YfEpRKWZgKnM0eXQ/ME5hcmJlUllZUGVCKVkNCj4geiNaXzc2X3c/SkxITClgMnBFWXt3SEhl LQ0KPiAzPVVeY2RXP0E2QiMmVER+VT9IUjs5fDxZcyVXeUJpNT8qMTY3TjFCMQ0KPiB6VnZmPG9w cVBKIWp1UUctM0djY1pMSSRXe3pfS0hmLQ0KPiB4Sis2Qz5EQT1GJXNJN3gkcyYlXiZiUGo3VD5h c1RUQWg/DQo+IHotMXxaKU1ocWhZU1N5WTBfLQ0KPiBhYVdNTztLMUwkdn5gYUFuMWImQCElbWJl cGc1YnxDbUg+emRZcGVWJT1oPkx0RWENCj4gekBKd1lDXk8rZVpzRyEte3MtI1FnKShFWXRGej9r bHpRPzA0aVpJaFlLNW9aLS12Vyh7WmJOaVJ6PSpSM3V2aTc9DQo+IHpje35sSDxxUlRxbzBsbiE0 MXBkbjw3JXFQSTgtZ3hnJnotXi0NCj4gJT5kV3VjWkpEazZDYkJnbWghKjhGKG1UO3FuIXUNCj4g emk2VyM2KFMrcnBrWEtoQnw4Y0NaQTFBWklDK1hDNXRpZztFKDljUzFQczEkJCt7QypPaXZOY2t7 SHVTRGdGUCokDQo+IHo9SFI9NXEyY1JTdmYrUXhEKD9ZbHNUY1ppRndJekVCSGwoc1QhfUpqTmNf Tll4e2U8fTBWck9rZFFpTmE/dDZvbQ0KPiB6V2p6SiRWPFBWaTc8dEBpZzd2NXBIaSFWNlRCdXQ3 V2dycjZoNXMpcmtpWSMzcDx9fnxYWmhKSVY2PnlrVmN0MUgNCj4genZTVlRsNEVZLWZAOGU1eG51 bmxTSDklcHRudldHYDUrTkEkM1VCVV8wNWdeJSN4N0RFPk58fHctDQo+ICY/dUV0PXh8QQ0KPiB6 MGYwMEFUY1o5PnFmMGtwOSNrMVFVMjZZPGRXejIma1gyIVJ7fF5kY0o/JkVYRmtnU0pAOVJISnox fFR0U0VhDQo+IHZ4DQo+IHpxeEN3QzhOM0JaZiVHTlokJHFVUyY8Z1hyeCRGcHtMbWhUO3ctDQo+ IG9jRzNVamU0aEQrTVpUPCk4Z1Y1OHRTZ1hYeioNCj4gemB4QFhkSkVOVzswO1dVYkc8YHI7KDBy KmA2S1RJanopLWN8K2QpSlFLc3ZEb2BZe0Z0KD84fiEqQHp7OCZAaCNvDQo+IHpGeyRgNiN2MEt9 aFNBM0RpNT9rP2B1Zj13cEVoX2J5MS1ycSY5KkFPaDBzTihFTXQ1RE4oXy0NCj4gRyN3XkZScTgp alYNCj4genhUVVdEZ2s0YGBVZCFNcjckPHt+ZiVwWTcrSmZCT2RXeHl2JSteS1JLNjhVRWxKTj9k U0V8UHItDQo+IChnNHN7MmFAPg0KPiB6aC0NCj4gMXw+OSVgQDlUe2xPRUVvNjsyTmZ0REpDMjxH SE9iNm5EN0VuZGF8SzIwP3UkJj5HOT5KJk1lWlVFfDtlUQ0KPiA0Kg0KPiB6Izw2ezdQUykmXkB0 fGh0clNfbkNAeExzY2xuJnd0MEZrXld5b2pzbEd5cmcxZG4oeTd3YHpxTmVhfUdJallSfA0KPiBM DQo+IHpoU3szeWF0WGhHYSt9VG4/NjB4JFk7NW9yaH51KEU1ej5oeWxCZSkjUXF4KGUmfClBbjl4 bHU/bjBPYm53PG1pDQo+IEUNCj4gem08akZ4TlRfKmtJWX5UOSRmMXBoK3taIzJHaUlwWGxjd14z OUNgKmJATTd4cilDYD17ZDNGKWVtJF8rPnNiKnsNCj4gXg0KPiB6QmglPWZHXlluLQ0KPiA/c291 VzVIViNqdFZtciF6I05oV2A5Qz8rPikqcnNBNWh+cnp8KjJlbCN1X3xzQnZRJjxqPjNPDQo+IHpS SiZhTipWT24zJkA3emE7MmlHTHNGQz0mJT1BOGBlSipTIzklUmk9cWsrXjZ7V35wN097e2BeSXhr UjJIZg0KPiAyWG0NCj4gek1FSkpJaVlZYj50PXF3bEI0LTtHT3syVEFXJXQtTj5AVWxxMHp3cEVu PElpSy0NCj4gV0V6MmclWWMmMHJRUHZRZlM1Uw0KPiB6dW5HPFdkRyM5QW88a01wKj1LNX5QYmlz Km9OZjVHMG1LcyhWZWVjUmx9RVR5cV5UJWlLNzlAJDtaQA0KPiBtPEdmcCtNDQo+IHpqWiRUfXFL UGFrPmdCfm8yKGA7JGhIbTxFOEM2Zk5IKHU0RkdHXjF9Y3J7KHNiMz1xRWE8SDgoKVFoIXNQUjQx DQo+IE4NCj4geiNlKC0NCj4gSDt7Vk9xMGpGR3gyYTNhJHY/RGw5JSFBRDVGekA0YmxEZylOPXIk JikpeVBuPjglVTdEalhMZDZzWjdzQw0KPiB6bnJwakUyYXZ2M3JefUoxa0lEU1lraVAhKj5lLVJv IT9NcTkrVHdgKCZSRG9gelM/Rm9lZVF4Z0I0SX09cXBZVH4NCj4gejV8SlJ8I0dzMng5ansobz5O eEFtckgqXj5aeDgtDQo+IG1iWk0jTW95bnorRDFPSmB4OHM2Uk0/SFJEYGNrUFE3a09YRA0KPiB6 emg4Zik2cWBiWnJ2STBuPElFaX0mXjJpQWtmSDg4MkU4U3xiYys0Rnl9JW5qYyNyeiZSekY/cHI7 fFVIa01yPGcNCj4gemp4SFJkUFY3RG1nb2Bscis/SHM1PU9kQ0UlTURuYTlVKm1gQGBgIWRpPClu R3RlcX5MPWU5ZTktDQo+IDRGdGpGIWtNMg0KPiB6YmZzUlhPVX0mQDUtDQo+IGooQ3lZTzIhNnVK Xz4hOTFQTSpkZzxXPT17TXRlfmB9U04rSzZ9MjF4IzkxU0MpJjN6QFE3DQo+IHpmO154LVI/ek9q YFZUckRaN3ppKlJHM2V3alUpbE0xRkVoU1BzUVNsLQ0KPiByRHhfcEBLRyRFUUJOQlFGeDl6d2co TH4NCj4gelRzPG0wcEozVSZlezNSSFBebjg2cG1udDUwWXBvSE9Sc0ZAIVhuby0NCj4gTElpOWY+ NVl0RmtAPl5sM0s+KipDU1ppUg0KPiB6RCRJdmZtT3czZU1UKyQ+ITRIQWB6PTlETCFuaDczMyZ7 bUIyJWYoWChgfUM7KHhfd1lwaG07Z1E0XmNnRjUNCj4gflpTDQo+IHpSbEZfeVZDYG9ATWBYKUA4 dj1Uc3paZGJOUF9MTWAtDQo+IHNCTlQ2SjxnM2tNezw+cHg+M1k4QHdPeFZVJHM/PTxBS2QNCj4g elM8cSgpKS00aG1LfG45fjlCRH0+bWItWEh0MCgyTjkocUFLJTJmK2w3aUpVOzEycGJLV0A4QnE2 dXctLQ0KPiA+c1NROQ0KPiB6QWZFVEtSSlUwNEBJY0w/VThHPzZVVExyXlYwSW8/dWFuWT9xPmRC I0VOM3lzI0MoenBPej1URys1Qz1ycUQNCj4gS3d2DQo+IHo+ZVEzTVpkeERnJGQzJXIwanJvYTtU NWMmbCs5YzR6a3FwTnQ2KF4+MzB1fkBQJXkpYFNjNzElTWhTaCVQDQo+IH1eTT8NCj4genk+bD5u bD9ZdjhrU25udyRjMzhoNyszI1g1YGJfZXxIelVTa2hJVCFFJXl4dzdaV0pCTUUlSHlINjdCO2x5 DQo+IERnJQ0KPiB6SjFRKVo3VEN5VGk3NGI5RlJaZGdEeW5JJVhpPWt7S3BDemQrK2phKUxGPz00 REsyaCRBdmpJITVhUGJ7NilCZiMNCj4genc3VFUzN1E+eSEyO1AwSnFDSUk5UVpxJU5sXmU4cjUz KGMtDQo+IDI+bGdBQDYhN2Q9NlFBVklaI3M/bEZmc043aCY0Rg0KPiB6RU1XfFEpP3pzfldQO3ly NW04NVhgIWVQP1FMKU1zVWRRZXQ7QStraFp5ZHRxaVhPXn1qSG50TmUlXytRDQo+IFJre2RqDQo+ IHo+dEhzRCZKT1JoKnlsb0JnYzBnK3FVaUsrdypfIVM4YkI5e2lvKUpYRGhlUmdxWlM5aldZTDNP WD0/KEQkZEMNCj4gVzINCj4geml3TGo/TVE0TnFFRnkteGJQK0t1TWJUO0RgNCsldVk9Q3RLbXRo PUhkVXwtZDF2NiZEOU9KLQ0KPiBIMylEM2gpY0gybA0KPiB6eDxke2FHTClWZi1ldio1SFZyVTBx WF4qcjdUXmhLZkkpSjN3YzckYkF7fXMlbCU1Xi0tbDBrR1BpdVJMMyVndU8NCj4genJMLV9TZnUq RnZUaD9YfSpCQSUtMUhoeGgoXipKNXlyMnQxdURVfWdXYS0pQWA0LT9PWXsxY2pqenxIRFIjO0gk DQo+IHpSOGlzX2JRNnBAMkRWZXgqa0ZPYVAxaVU5SHYqZ2hpaHk3T3F8SmhWblhZbnhSczYpPmsp eF9+VEo0OyF0ODhUDQo+IHoNCj4gelh+KVNMcXI+ajc/IXF5KFF6UCtNcy0wWF9XancycE5BfkZ8 a3lKWWFSRiZ6aExNcmA2UnwocWYzfWxVPkBPLQ0KPiBQQw0KPiB6QDh9dkFyUF9mVXUqd1JubyV5 PG9KSnJyMFJiXytLJlEtDQo+IGNmMD9lY09HZ3g4TFgwPnledUY9OThpZiUoeGx9QFcyDQo+IHpy Pj9TJlJUU05AV0ZiX1VyfjdrSVpVMEVyKzNuPTE4c2t9bUwlJjFVeEdtTXJQKnkxbFBpR2E8P0Zu Nw0KPiB3dlEjQEINCj4gelJie0BfJlY5UGQ+Ml5EYTswalQhYzVjKSlqP28pZXtUYXE4PVklJns/ TSV7RF9PWGlVJnV+P3gtDQo+IEQrbzt1SlJqSg0KPiB6NWs0NTlZSUl4ZTk5MGBwNjVtTytsZ30h biF2JDVrS1cpMG97OFQkNVJoN3hDTE8lR3B1NXkqIyZTfFF+T3g3DQo+IFVYDQo+IHo5QGFKQj5z Yjk2cks7Uih3S0dSb2FpLQ0KPiBjU1YzbmZxPDVvTFViKE1uPElATz1rUmdFb0hKRUxfQyV0ZnFy JlFNa00NCj4gelRrWjQkMmJsQjM2UmVgPmNCVWdUNX5TXzErV0N7SmwzYzE5RE9BT1VjazBmKHBv PyRPQlhnRTJGSihENztEQA0KPiA+Iw0KPiB6OHktWUYmdTAxUEBFbiR0VD0obnB2bFJIek8xJigl en43e2JZM0Jzb3dgNDEtDQo+IFErNURAbHE+IzR2KlUjV0xzKyt9DQo+IHohamk2dF9WI2NCMTFM UClCKF9QYzg4PXl2K0tBNG9QMWZSJXt+ejBId00kYV9SMGY3OU9rSGgwYHkweSFoTD9lIQ0KPiB6 PTE7OFc5YCpiaz4kI2h8Wm56ZlFCbU5vQXpHLQ0KPiBgVHhkbHR4JU0xUVZoO0RoRUNrYkd0JiZi VDtWVjhqX3RJOGMtDQo+IHpYSG1VYVRzYihVRV5ITzkyeWN7cEk3anBVQXBpeF4xbGNgfWNxPVR2 KENNZ25TWitBNFVic0ojRnJlXyohKS0NCj4gRFkNCj4gei05ZEFMZXdSJmxwREU0KXtQYj5rNmN+ dS0NCj4gKVZ1YUw/YlFgeyt6UTJxRmBZP2AoPFc3amFUK0hMfDdFKW5QT3k0Zw0KPiB6cmBnS3VE eUA5KyZxPndhciZXRDZ0P0UtTVpGPyplZXtHTChudFI5alM2fjAtDQo+IFdNYHpFIW9aIUpMbHZG fkBObkFADQo+IHpUcSFqTEdqfjVMYDA2Y0oqNUxpWEQoNlV7Jnhfc3tUNFNRKCNZQU5rQSU7emh1 aXJmP2d+XmVpYXopclJVclM0eQ0KPiB6JUM/KnxiSHkybyZPQ1NtUEpVOEFsSEorQkxSQVBkanU3 XyRpSkltcWF3Km5kcHxXaCZGVF8lVFdfPQ0KPiA7Y3p0OGBPDQo+IHpDMUJyYCtDVzRPIVJ+Z1A0 VCZCPnswOzJmVUVxMVJRNTFOJFhIIUYkcDlgR3YxTmVjalNqNWd6SmFAPX4wQQ0KPiA/RzYNCj4g eld3YDcyJnR7bmE9UEgtSlk7bEc4Qm0wUjE1VnhQT1NIXnIkSipnUSQ4M3RIO3d6NHNZVFY7elko amxgPW5HeExjDQo+IHpjVUh3dEpjeTRXZCZBVT5WQnQwYWs/NFpkMG5idXY1SnN0WGgkbDc7PGow OTg7PHEqflNpdjtrbXRBTDBKdlUNCj4gTU4NCj4genF4ci0NCj4gZ0hFKmYxX19QNjgoMGB6fiMj OHFEQEJsK21BUlJKQ1ImYWFjWndnTyg7UDBOTXltOEtHVDdJd2FFTFY2DQo+ICYNCj4gemheTElk WUtNNFlWYzVCdmMqNmhCITBhMFBpSWAxRSRJTmpPWDhsc3tRbyV+aTUmUmt9VnRCRX0zWEB8fVot cXNADQo+IHpLV1BlUVF0dV58M2txPnVlYGh+JlQlUz0tWUZ3KX0qITBybG4lK0QxVFZgYGxiK1RI JWpQR1ZGWG9BRS0NCj4gIXlsPU0NCj4gelZSQUowaVVGbW45MyYxUFZlWGtNWiVBfUh4ajRCSElD bF9kYV5ASGRYVGZlJTI2bHRldjF8S2ZVK2lveTgNCj4genZaZQ0KPiB6MSZjOG5CaHFQKiFwUFE0 S2xyJjQhSWU5JkVfS1lpcnFuVFBkYTJfWHtRQztUI2dYT2c9ZjctY2ojZ3J5RVUoP3ANCj4genlS UEl8VV98Z0VmaDVePVdiSFNDZkckZ1g3aEZXMD1VSS0NCj4gYUpXfjBObmg0JCprNUAmPG9VWD9o SXRIYHVBP2tebw0KPiB6alo/eE9zZVVRV1p1KjV5M3dfJHA9SCVRWWlAWSpZcnt8fFFgNkQkO093 PFgyeWBebEVvY3kkPTdoMXUjeQ0KPiB+b3JPDQo+IHpjP0kqP25FZ2F2YElnMiYqNDRoNiFhI1VN b2pKNnpjPD4wWnojMD1xO2RgPCFoX0VFJj1ebGp6d188c2dZZ0Zifg0KPiB6c0dOflAxeWdJYy04 aiRaZXlxOXojTCF7ME9GZTtZPVR3LV9WTkAtDQo+IDMjRChIK3UmSHVjZ2R3XlVETzZsKHNCfl9Z DQo+IHoqS0Zva2BiPENpeHhrOXxtPGFpMC0NCj4gVHt6NClPd0Z2OUhjTk9WTG1QQktwa1VWYHZE Z0VYfSZQZE9XOUhLe0thfSkNCj4gekFnNElyO0k0MVJOd1QxTXJya3dHN1ZfKlRjSz9KelR6Q0g7 PlBib01eWHZRVGVtWjFaUDcpQG9pWiV7RTANCj4gYzE/cQ0KPiB6SSVaJihDeClxMDs+Jjg3Kzlp UEpPeHk+Q01LNz1eKTNhUTZWdldeX2BJP3JRb3cmaDlsJHxLSXBWKjE3KmkNCj4gUmg4DQo+IHpA Izt4Kzt3WHJKQCktDQo+IDhwaVE9P1FHX3c8NWRuKG41XlYyI3BNMGV0T01nM01IUEw2KzB0dmll RWMwcVRPYG1wYVINCj4gem1sVmNFKTk9XyViY1g4ZUNyWlUpXmB4UmFVckhlXlE2Qm5hP2paRTA0 Y1hTNGNtN3BUQTk0XmppRm81cjcyLQ0KPiA2Rw0KPiB6MyVwOEhJVDk3VzZKbDd+RVowPmFOSSYj eDJJJnokPDlWR3U3JmZ7UkQ9fEVkNEpodV52RyotVi0NCj4gJlE9ZXhfYjZ+DQo+IHpmIVdyPHMm eEozTEltbTVmdzdiUXY0PDR4SSFRWnZMSEI2LWY9YlgoXlZBYikjPSpXeEp0Ky0NCj4gIV9ScGpi akEyVUQNCj4gemk/JnpXK1N+dWFCR0ZMY1VlZSpBd1RjY0A1UzU7a0xBZT91MmN7NFNiKW5tRFcx diRXKUc3USlAZlJeDQo+IERQX0pzYw0KPiB6Q2p4dWUrfloxbzR8IXJecDN8Z09CbUp+YFZqck1v QTUlfU41OG5YSWcoPE92NXh4REV7VF9SSm07RH1qO3hfIw0KPiByDQo+IHpCWSpIZ0RkZTVQci0p Zm5DKCVXNlNBLQ0KPiBvNEcjemh5a0R5Xmdkb2lTKDc8fiswTmNEfEZDaWRwaiRJQ2h+d2c/S3cN Cj4geldyMShrUjgrJlhPRmJ6YHN+M0AlRSU5JiVaMDNDWkZjRmdBYTx+dislKWtBRjg5ZWJBSDIz N0NuRGNpaw0KPiBCNXgwaA0KPiB6JnE3P2BvNV4wZ2VJSHN6aytPezdaTlBMfDJ3PF47Pm1ONDNl bFBOWWVYayFubENEUElodW9JO0E/bn5DQjdIDQo+IH0pDQo+IHpOP3YmfDReVGI/JmJ5c2lNTT49 NT47O0EoLQ0KPiBjQiUzQ2hgN2ZeZWVMSHdeOX41dGw8MVo+UGdZaEMpKHlEYHRnMVUNCj4gemkr PHh0emhDYDBNWlpWZ0RmLQ0KPiBvQG5XIztfVG5sJmRHc2NpWmp+XzZyeEMrOX5rSyY8ZmpRTlZf M3BDd1pIQWNAOw0KPiB6OX5OMXtiaGEwRjdmZnRRUilOKjlSXiktDQo+IFM7a1NHISpwNiNPZDFP SzQoPTBON2h8VjlaXjlTakN2TUo5UzRVcWlKDQo+IHpuN15Wdj93QVFyQVo1dGFLUmQqM08lbD9S Wj85Tm1relU1JWB8bUF9d0RgTDA0KDJBX000SWpKYXVue2gNCj4gbWZmSmUNCj4gemhNYUdlb0Yx T1R5S0V5e3JtR3BmNGBEPHNAVGxYPCNkZn42OEloQUJNYFEqaiRndFMoMlZ+PTZIfSljUD1PDQo+ IDE0NQ0KPiB6Y2shd0tHeEA5biRiNl5AbEBIMEBZdjtyTlM4MHVKQEBMeDZpJlhzNUQlMEx4dWZ0 UlNSVlpSPl5ra3t5DQo+IGF9WG9ODQo+IHpubkl1UCp4a053RTREMTJ3OSF8OV54Zi0NCj4gemZL Oyt+PiV6PEI2Q19wZk0mPCgzZ2x5U2I9I3tPN3xBMXUoJio3al4NCj4gemJJdHd7ZCYpSH5WSENa fm5taEJZTVdiaEJyaHl2IXhtaFAxN0Qzbl9GZ0pKYk8/UDthZlo3aztXKT5ATA0KPiA1LWA3WQ0K PiB6d2Ffbk1SP0MoPT49WmY+ekV9OTxLIXk0REFMPUc/NjFCKFAjSlUxYSR9eDQ/a3xGO2t1O3Qx SytUez1iUT1XDQo+IHkqDQo+IHpKbVIjMClqUkYjMlhyeClUYm8yVnA7KDY2aVVNMis9Jn1PNCkr JCEoazI9Qnd5djJ4ZCE0e0t4OHVvSTVpNnpLUg0KPiB6OSFpME9jUX1wPGJodktEYnlCKkw9Rzw9 KkU5fmFvJEdiMUUqSyNDMWBJaiZSeFluajUpVlcwR0smPFR9SygNCj4gSEhWDQo+IHppT1o7bXI2 bnc2LQ0KPiBZV1Y1RWdnPkZ5YnBUK3RKUT83Vz0/QldUMTV9QUZDQjlCaCVUbTBkYFA5a09GPitj Z0Z5fkENCj4gelBYaHg1a292aSErej9jaG9CLXY+dDhMQitGWWwpITdgezxnKU10IVN5OHYjMmdZ bH47Xm50VlNrbV5OdkFsSElvDQo+IHo0bVV+PFl5WUFFPjh+eGtZZjwmdyNmI184ayE1fUFFQk8h blVEdFY4akByLU8rPjhDfVp7VGd3MmstDQo+IHdmYip4TWQNCj4gem57OTZlaFZkNiRRUzFHdSpN KWJaQWBYeiVYV3tzNno8bG5ZQFBWOHYtDQo+IGhTQ2FSJX03UmAlaFAqWU9BVW17fT8keg0KPiB6 dm13M2VkYTFlX0MrWGdRSXtkMXR4QjU2OUU2aUR7cDAocjR4JlVmRkRuWCQzQG5eU2h1Yjc+Xkcm XzQ/Yw0KPiBKfF5SDQo+IHprU0M3IzF3NyE7LWckNEhLcXxnYEJ5cS0NCj4gbWsjWlM1b0tqYlpB dSk1dHBtYW5wJkdGUSlWTVd+M2c4aEpVOU4/dH0NCj4geilgZWBmQHNneWFPUjVTQCRDTFZYVlhE WCNSYktWTktIU0gwUkMrSVcmfHU2P3lIYVo2NzhLYk0tDQo+IGVLVXZFaSlARQ0KPiB6NkxZTTZF b0I5MDZaWWJPXyZXT19pOUJgIVM+Nns1OyNkfGtfNSl6aFkqaXdnSlN9X3gjNGBWczRaRmxtRF90 DQo+IE02DQo+IHo2PDZYVFB6eElyKXhBZ0tadms2O0E5QnBpQXV6aFEzN3tPWSNKWGs8R01NQlY2 cD1+ZFM4Kn1URl5TY3xDdGoNCj4gcHkNCj4gekJUWWhhKTZzT0sxSiFlPCY4P2liVkQyMHFfQDZ0 NlRSJDlXWGFDN1NZNCZmbz8qenU8V0JtSV9qOXtqc2B6YQ0KPiBkVw0KPiB6c1NnUlQjPUpOezZL I1RoKmR7U2pvWn4rczZZbTgpYiVJPzEtDQo+IHBEc3U4SUh6cW9DbWIoZTJnKjBLaWBSeF82TTxM DQo+IHo5V18waDleeDV2NEUpRk84N15LRWd8ZWtNanJVUGpRcV9wUUFRd0s9V0c5Q1VMXnpCX28h c1k9b21fDQo+ICRVS0VlKDwNCj4gejlzR3U5RFl4JFlBMUU1Qnt6V15kTEh9PnRJdClGfmY/KiQm N3laQjZjTVNhNGc8fHltREV8RSFrSjw+ZEdxDQo+ID1TQA0KPiB6MGwtZillfEchYyRsQzNEOWx4 KlBDYTVONihULQ0KPiBaVEViO0piYzd5TXpARGdzVmZIdiVLTTVjbztKI3lVZVh2ciVODQo+IHpB aGdSJW0kR1p6anNCeEB3IVRadVp3R0hySXRtQ3BqIVBAckF4OXB0R1hnbyNoOD1RJih5dzYlVn01 DQo+IE0zKzl1SisNCj4gelpQO0FwXmdKOU5OSWJUa0Q2WVRraiM1WVhGaiEzI21jdWslO3N7fj8h WmN5KWZjZDN2RGxnYSRHaTxVUlojZXF4DQo+IHpEJmE8R1Z8fmxvTlVHZSYxWnFhXzxpUGZzYzdL bEhfKyZQWlBEMVZ3QjwrQlFOTm5OSUBUfFVQSW1KDQo+IERFMClOYjkNCj4gejcjMGpyJS0wbUha RjFDJTJeVkFBYkdRPS0NCj4gUkFFMUl4TnM0S3F3c1VBcVlxRz9meVUpaz5mRUxaKTEhP01uP2xy SA0KPiB6OTQ/KDRzc3h8OCtfSXh7PjNRa29rV2BYO2NYVGRZRnJET0ZOcz8rNGs1MUFUVzZ+SF81 aVNPVGhPYTRMamB8YQ0KPiBrDQo+IHpvUmwxPmhhWVQrZ1MxJlNYVkpoTlImUmp5Q2tNXj1Vb0Bl NmxWYEZNOEhKMU5MT0dPLQ0KPiBgQkhEPGB+ZXQ2eVA2UmsNCj4gelV0ISsmNHE7ZSsxZGhVP25n aTdvcE5ibWdMOX42Y05uOy0NCj4gY0dfPGNJPT1NQ2s3S1F7OF4jJV5wTFpWKkpPNSNNbw0KPiB6 SzVMN2N0NUkhMlp9N2RJcDZsNlU5fH1FJlN3aEs5JmtBWjsyPTQxVntJKjhZelNqV0smeV4wRT9T MG1rQzZ+UQ0KPiByDQo+IHo+RHp5YHh9RUJvS2JKakFSbU9waVgmN0lNa3QyQn10P01hKFVEXipZ JDA+cFI4Q2F6e1g+fHQmbHdePmtOQQ0KPiAqIU8NCj4gejN6eXFFVEdWMDUrMWNQK2IraWI1JiZL SEBeMGg1YGYwQW0+b0VqbzRMJHVGMnRMbG9jJUhqbn03M1BZNSNgSg0KPiBvVw0KPiB6VjBgUyNJ TmM7WVBoMUpiNHthaXYxUWgtPXcoT3FBZyU1MGE9bHhXcntsRlNYU1pMZ1FjWkNSM2MmMEY9OCNs P0INCj4gemokQUcwSDxuNlN6YFJ6QDcodmRQNFN5NGNOP3F6X1Yhen1PNGlHZW9fQDtgZEhvKEF1 ZCFrJEFhQUV8R1AzDQo+IFR6aw0KPiB6Y3ZqOCVxVFFHJjVYPXVpYEBhMFIyPTY5Xzw0PzQ8ODhP RDZrLQ0KPiApeUBuNkVXX0d4NE0yPFM9SnBhVG9GcnxNcWY/DQo+IHotPj0wdDY4IW9aangrN3lJ TkVuQzRrJipOSF4jWjVvbkU4YTc+dyg2dTZELQ0KPiBDb3lPSEpVS3haZDM8OCl9YkV8bDMNCj4g enV4ZzA4RjNBb1RYTFJgWXUjPF5mQENTczZnPDhZMlFsJEt5WStEN1laVlQwJTZzbkxnZUVfUWkl MFVpYm9lDQo+IEFEaA0KPiB6MmU2TGUwMmJOQ3VXeiZDZ2MlQTFiRyhyfTx4eWROVlVRK1l5UzA8 dTIoYGtXZUVWZFBJZkorPEdSe3d0DQo+IEBwS0VmDQo+IHpNUEpvcXl5TmZzLQ0KPiBEWXdvbGBy bT5gVW1ye1pZKyojYjVJPDlIZ3BfclchbSkjcUUzRFRPXzhgQmY3SX43YitYIXgNCj4genF9cDll emxGb3NHZXgoMV5sdyhYe1lnYDVfPlBANGRfbz5xQmxreChnUjZrbl8xR15mQ01rXzB2RTFpS1kp Y2B0DQo+IHpHPSlzUWgwTDg2R1QqZTNRUWtVOTBlJkJhVXRWRkMoQChjd0FaVU1jJS0NCj4gPFNi TSRpWnJmbGFxISkxZFV6WWs/a2sNCj4gekdIN3M/cUhKcj5UPm93Y01kZDxAWig4UzJ6Yjt+UTFs SnVOPipGUGU5VzRmVEQ4R1BxUjlSNj4kYX5UaTUNCj4gQj1nfQ0KPiB6eWhne18xNGp9NTRfSmM3 VGNnZD47MUdVZ0J7fjZ6Jl5TP2tUZEFZel9FSmE5b0tuWXdiNHdra1JoQndye184DQo+IHE5DQo+ IHpLRDY2KzlCU3RTXyV5dkJnN1d0ZSg2RURkWTRhPVgkUlR2LWp0eCRFYi0NCj4gVnM1VCEzaGlw ZF44VyFQKkd+akBpKkINCj4gekkpVGFeI1FsLQ0KPiBxdiNLQTVOeTB6PmhiMjRWMWhPVTtQP1p4 SEl2JEBrM3tEYCs9bWRVMUNzMUgqTmpaVXBOR3V3fg0KPiB6MzNTbTM0MUVDMm5lR0hLSmF6N082 a1RNUldkOUwqeEljTmpCSFY1QUtMVGYxU2h4bW1CZSgmSTFJez11DQo+IHUpeF5WDQo+IHpJNEB+ UlA2bz9JY05OSERhRjFnTmx3YE1AQ0AoKXpjYVl2ci0NCj4gM1I7fGFjO34/PHtAWXpvPzFfRz88 R3hPYSR2WG8NCj4gejVydilMXjlrYEEhOV9jIzsmVEl+RXBZWnZMSjk1b0YrdktaRylfWj13SlZB WFlhO08yeF9KR0pPdV5ycU5Edw0KPiA+ew0KPiB6TGoofktNRz40Z1JUOzZ7U0JOSiFqVUk/K1Fj Pl9OKWJYYW5hM0Rgd3EwI1hZYWlgT3slaTJSQ1pzanxXP0NeNQ0KPiBSDQo+IHo5OUt1YiskaC1l aUluXnZiKEQtDQo+IERPZmxtJVImZ3NXaE1EPl9eKD5TNm5RJD5kNThRTiN0QHc8NTheYjB4I1hg Z20NCj4gem9ecHhieXImMmsxY2JVdkxXZFhRKT8wKURlcFdBVXNIZyg8OStVKU1nWEBNO3ZyWEQh NGtLMUNXMmw3DQo+IE9EejJkKg0KPiB6JXQ/b1U1SW8rT1dBb0kjYmQwZHdjZWEzYCpwIXNIYTcz NCZGSG87WmA5VnpnMGFxZE1JK3o3czlQYnsrMjcNCj4gXnV2DQo+IHpIM0I5ajwqdm9wbUN9X0g+ ViNYT0UpJjQ0MjtfS2d4eENBbWlUUShjSU52Nm1FZn4qJFMqUCtkeHxVfmtFDQo+IGR5RWYNCj4g ejZVVUAzTW5zUysxYiVuUFIyU2tVNDJhYX5iX25te3cwNHJgMnBZRnFYeil0djdeWnw9VlhVV0gh PkwjDQo+IHlffiF8dQ0KPiB6QU83azBKT0hvNW1BS2lAQTAhXk96c21xQzk1Y2o/V30kQn41Rmln MHcoZWYwWHlFSHFHdl51ZUYlYFpVDQo+ID9PQXRRDQo+IHo3d05WIUkqeXhCaClJdX1sP1dzNHBM XkhCPmljOzByaE9ITD1tX0VPbGtRaGIxeWJ5cHFmODk5NUh2VDVWMQ0KPiBAK18NCj4geksrdGN4 TGR1R2Y8dEZ9KThpTWBzRktnXjJIZG1YUXB5IVRgJGxoelg0OWBpZVBPRndNbmBpa2lxKjdPT0dD fn0NCj4gUA0KPiB6WlI1N0sxQ1piQCVudCkqJDMyPSowI1FPN1hSWGtVTllxMEA5UCZiMmg1MWJ0 XyFDaEZxNyVRUXMyNQ0KPiBVS1k+OD94DQo+IHomclp2UFFvdD1UST5kcWRYUiM+SjdXM35UbGZy WXNUVWdPVk0hV0ZmZHpUOGRMe2RULWBfekRSLQ0KPiBHdT5wSDcyMTkNCj4genVuUXM/NTRfODJ5 aipFSHZhTUtHNTklR3pGJTBLfCh1QCFWIz4weHdMc2VLQmY7e21SMjN2NjVBWEtvcA0KPiAzPXli Yw0KPiB6LQ0KPiBtZTFiNzxkdHpwPmBWdkU7aD1iR3BCdH41S0tDZ3VVSnVuRVJCTH44PD4jc3t7 O1MmYjA4SnckZXshV21SSGANCj4gMg0KPiB6eGBQVVhESkcqfWhfdUR5RHZYd2wkMzkqY0Y0QkFa JXMxLQ0KPiB9KElgTzY9ckhHeG1rQWhhJjlQdTEyPStzR1Vsc0A3DQo+IHppbk94cldWOWpfVFJj MS0NCj4gWD4jdzNnJXgrRGI4IUZzT0NOfXwhTU5YKW13fnlzZT5nbWEqY3J9c1FXQFhoazkmYHUN Cj4geiVKMzlTLQ0KPiB+YXxSIUdLVlUpb0BQSiM4ZCFydTVhTDRZT31fdk5zIzh2VmZ6ZSM5M1lV Yj48KXRpUD17IV84Jns5PQ0KPiB6WmdpbU05JkRqIVVFU3FPLWt1eUsoP3xAYTNJQUV0MUo3Rn09 VGk/clV0dkZtKGkhUmtBN31DPiR1Rm9QR2laSiMNCj4genZwKSpSZGsrWUgxYWZ8MjBlQkRoI3tp UDwrRnp2PCgrQmtBX299OGZNQjVmJmg+ayhhQjBRJSFgMns/dkYrIWcNCj4gbQ0KPiB6JV96NlYk YkMySllNcW1kRzxscUxLMCtQcVkqI25aUzFpJEl2cEFyPEt5MWRgeUIxeHMjQm5WP21EZzg4JA0K PiBAdW9+DQo+IHp6Yk5eRDBMYmE0P302bitTel5+KD97MXR6TV8rZkI0eF5vRjQzMjZEZUpJYlBj ITNsfXJafUl+VklfTVQlSFV2DQo+IFANCj4gem05VHQ3Xms2OXQrO1B0djU2SmRMbitnSkU/Kzhg VC1gZztDU2FQN2k5YCp+QUh1XnRvRDM9MzJiWj8lPHo+K0JHDQo+IHpAa0paSSU5ZzJAcGN2UVdZ JVpJeSN7fUpoeno3WEUpTFIpVnlUcD53VFAhJTFrVl5rZ19McGRRdFRveHxZKQ0KPiBrVE4NCj4g ekNYMCVjVVE4JEhELQ0KPiBMSnwrSz9CUURuOVZMZEVsajZCdFVycjx7PkZeVExiQG1IM3N1eipn TUs1Sik+UG5yKHw7Kg0KPiB6aW1oPlBNUzN3V280NTRJcnsxcnNGQF4oVGVoQVUlRF5fcndGPz83 T00wZ0dKeVhkYVRHMld1WGR2DQo+IERNaW9GQihZDQo+IHohdmhvRkphI3dTUjh1YjRGK0k8Z0lk aXhhMk9XZl5uP0hVX2BrNHl1VkdfRDUwU3tTaGxmWl5sQmRwTFY2flgNCj4gI2sNCj4gemZIYiRP KkhENmMqYGMqMnpLckgkV2tzPjhJZDYkSk8tDQo+IDlUY08maH48YVBQWUIwSyZvdTsrUVROMGtF RlRNOH1VMg0KPiB6LU05YkRDYjx2Xlc4RkRVXzZpLXchQVlFZE47VCZ7OUNLTzNFe2NISWs0Nj0t DQo+IGkkVXhWKGpAanVEdnElendQLXlGDQo+IHo+RmVnRjdEWjAyelpMc3dTMmB8LTstDQo+IEpN fkZCUTQ5Um1LOFJAPX55SyN7SCt0cVgmVjZXOHU3d1lxY0o3PSsoVi0NCj4gektZYGUrKG4wTF5L OW99OWswREwkNXdqPSRDZHZfKjVuYSVZdzhibTd7cG1BYlE8I2ZqUHNhMkVMKFlRXlcNCj4gUWlX Ug0KPiB6N20zPmlxTChAJTZTKzh4dHNockFKPG1kdC0NCj4gOHE9OHhlKnVmeVgjPHs5aWBPK3c/ TWx0T0JRbEl2ZGFadUlrXm9yDQo+IHpxUFRgdG10YTtZUWZvPEB3dWNpQ0tYMmRhMWBIaVB3YGtj ekc8ZX5sU2NGcGFObSNkb0EjVm5pSXViWGQhLXx9Ow0KPiB6ZS0NCj4gYHRUZUI0KmFLb1JGdVU+ Y0NMZTFmTHozKCM0UGFxWkRWMTlNKSVXRiRGa2kpM0pfeE1OQHJLTHloVCtVTg0KPiBNcQ0KPiB6 NjkwYkIhKjhRNS1wZEs4KDBSOG84cVhOeGFCXl9ldXtXY0t4RV5waytxMD8oU0UqcyZ1YDA7UyMk Mi0NCj4gPFRmYSskDQo+IHpCRWFreDMkc3ElRFpuZU94XmpHLQ0KPiBDQkZTd2EzdCojPFFHQXI2 OV5gNU12d0s8RmwzfThXRz1vNDFDWmw4P0FiKEINCj4gellMeFkxZjdtQkElUmVsXitRWjQwQXV5 UHJSQT0remA3WkpPeUFsSGNSVD8oZ0BJWDBQI0BIPmI2Qz5KS28NCj4gYj10Qg0KPiB6IUV1M216 O1V5ZVh7JDU9MCNsMyE0a2hfKkNRQTJmZXclfUlyVFA/eDQ2P3x9TiZFKUsySkAmTTRsNmVTOUsN Cj4gKjdvDQo+IHoobiZETilFcVVKbGpWNVY8OUpjQSsqMSE+QF9jQzM2TUhUQzc3SmxxbDY2dEhK IWB8a3hDMD5ZVG5mWFQmVEBpDQo+IEoNCj4gekRmcTJ2c340IUpeSUswR3c/MFRhWigpKEV1YTNs Szg0NSV7YXd7dDtpdCEjbUMxSmQtT3dQTDAqTStObCgzTkcwDQo+IHpLY0gyOyZ8QCFMKHlhbFRe TT11ODxzezcmSz1sNzBUfCRXU0VZU088P3xVYyRISnRnPSRSUlItDQo+ICNUKHBPRjszcVUNCj4g ejRXcnpWNldWYGlzMml1bE56cjZMYCZWIX1OXzxfNTMkWTlpUEZGRi1xbGhVWXFHLXhoU3RiYClP a1FiY2F8VUstDQo+IHpebnpwcEY+WGwpWFV4QTNvTio8NTgxWXcxTEdpKE9BakopeUdJSzt3WnJ4 QDI2dztQb0Amd1k+bmUpZXlyDQo+IGR5KTwNCj4gelg4UD5LRFlwZFUxIWQ2YWNrPlFqX3Mkfl9k UklkTDZKWW53MWc1Pz9wYDR2TUVVTjR3WUlydTRYN0I5cWYtDQo+IE5BYw0KPiB6U3Z3RThhJn0z MlNrQTdEK0ZKamRHI3xeKktpb2Z1JT9MN2ptKmNQNk9hT009Q181eERYJUp6aUtJJS0NCj4gSWpT NT1sDQo+IHpWVEtMbTZQIVJMMn47cVo3PntUVXAwPGtDIVFuYF9IPGw3amp6WDd8ZWl7Yi1nanpY eCRCbGRWYTZsSFp0Xih7YQ0KPiB6QEkpRTFLcllvMUs2Z1E3RUU5cihxOE9wP3gtaENadklxRTNS Sj11QDNgZUQtOW9aOUtqYGwhTj9kMDhnSTNPVmYNCj4gem5iYDwoOWwpV0FRZ3wmVkU0bV5veCp9 MEBgX21MJWROdmZAZWtpKDg4ZUktDQo+IGhFR3NiPGgkUj9lMF8mKCozaD1faw0KPiB6R0BIdEN6 QzMhK0hTeHtwMlFKVTVVOXIkVXoqUG1BKiRDJEMhI3J6aHt+aHpQVl94WVBITCVzT15sV3NEDQo+ IG11X09WDQo+IHppTypgfkZhbWByVzh5bi1BKEZURCtnWiYwcVF7LQ0KPiBtKnx4T0tyZX53R1pS amp+UzIhfWdJb1hJcCU2Vm9aOCYqVm0NCj4gempgP0ZCUWs7YnJ3X3NNY093Qz1fRXJyfjh6Tk9g Y0d1QWdAPGR4aURrUjJPUFp0Yyg1ZzAhVm1NU3AhX2QNCj4gYHUjRw0KPiB6SSZjdjJiMmBOZDVJ OHp1ZFBGfkYmTUdIWmRmKGh4UDA1REQ7TkheNmFFWXxTd25OQ3c3fik7WWZ5ck5fO1gNCj4ga0px DQo+IHpfK0pOPD44PiZtR2VWPVVfWUtUUHgjZEh9U3kkVks8dylEfTRobnRCNi0NCj4gZTJPZjRf Z2VqUSg5RGRPTmQhVj0tNnwNCj4gejchJEhFeXJpfEp6a2RCVHR6Vlp0MDleMDZGVihMU3EmWTBR VSgtLS1ePW1IYz5WRG1mYmJ0TWxAIz1USkZGSi0NCj4gKw0KPiB6NUdyYW8qVEp4ODR7XnFITiMr WGhweGBmREFRc1B3PnN5NyNGYnFAVWh7O3ReaVpHdHlPPVJ7TGZ3TH4kfDBpDQo+IHJODQo+IHpW WSh4dHIycW9FbEU5e3gzdGFwbGtiZVliLWlpZk9BZjRqQkBoRy1AJGpMfXdLbGs+P3lvQyE/eSNN Nis1ZCFBOA0KPiB6WC0NCj4gcWojeE1XdG1OYkdzdXpFSW1rbldrR2l5NEhpZzg4TSpVIz8wJmtz WUluXzEoI2BWdXUwM0leZWM0Nz95PzsNCj4gOA0KPiB6Km8kbmpMVVFaVVB0fEt4bWAlREFwcF9P Tkllc1VhQHg+M3NsQjFwN1EtDQo+IF4xeGlRUSEqPFc2SUYpc047MXpvVj55DQo+IHpTMXpNU0NZ cmxUTWAyWDMwakhPMnVqWFEzTExgaXwoZX5tYmY1eTkmXlhfcF89e1o8V3BrTTV6VW8yWnlvRg0K PiB5U1ENCj4gem9HZ2xkNUBQNnVBPERyLXN9fkphbjB+PHpneVp6VTM1elMkYUVLM2tUa3kjVC0N Cj4gMG90JTNVdlk8KjJ7fWMwWEIhcQ0KPiB6LXk4RTFMQXA3c1ZVLTB6O2tRcW40fXhVaUchO00r QDhTPHdgR01tQ0s3LQ0KPiBTJl9iWTtoKUk3amFDZXhJUUxTQDI5DQo+IHpIS3Upa216ZnhzZDk3 JjUwST12ZT45P1NSa1lkMTtNTXlyRUNUcntLej1BYDdJYSFkaXVzM1FsV05qbkxFbV8tDQo+ICMN Cj4gendCPColQjI4SmRjcnNtJHs3P0lUP0J4RXhLc15sOGFoMUEwcDlmSTV7ajFhUlNNQWtwQGs2 enEhRDNya1A5SHQNCj4gZg0KPiB6cTRucGwpQjMqZEFAdHBZeyN0JEM4X0RTVjI5I1RVWiU1a2Rk byQ5Zj5OXiN2XiM3IyQtDQo+IHtKYyRiSEg8dmEyRHA+DQo+IHp8Qn1VOUU4TUE7PWJ1OWIpazli Y29ZSjghdTtQeiFaRiY+bVdkJVEyd15jaT9TWFZYNWlnSjlkKmFYTVYzDQo+ICZnRCgNCj4gel5x LQ0KPiBOTik3PHE8T1gxYio2OSRfalNxSz9tKklIWTA0e2poSTdzM24/JlljTlBpcUZWOEFyR0Mx R1NyeDRPa1hTVg0KPiB6VzkzKXwhfW1gQENVMHRQalJsS2hRO1dxI2NnbTc5akl1SlAtDQo+IEJG T1VYKSghcG80UylYaVUrTj9iQVdnK0RwPlIhDQo+IHp3PihBOV5PNEBDYiRBaWRqRTd3bjVxQzZ3 K0hZR2FxM0BeMCQyZzYpcktrdHJ1OUY+bkoodmsmNjNyUVFrDQo+IDEtWEsNCj4gelh0KWNBcG1m VnoyWHNaZzFPUERTenRxPFEhSSM8ZUhKbjZ1bFArI0JxdSVCREM5Yis0NUNgKH5qTjFkUU0NCj4g RCVQag0KPiB6ekNUcE9WV1o8b3tVNXh7ZEohNDFzZ3RRSjcoNUhaJj97e3dgfnVHaShoUk9CMC1m anBZO05EZXlDY1QhTGZ5K3kNCj4gekh7RTVIe2BiKjtfJHBCa0NwRW96fEQtI3MtDQo+IEhUN2RY UEJVXkZwfmpqPWhVM2BOPTYzJFIwI3VNVlBUVih7Q2c1VQ0KPiB6bn04NGFRU2pNdF9vdzVOYzBQ ZHttcH5lUnpZSHxzV20pLQ0KPiBmMm9hbGZmeWtJZD1qPWhHR1dsbm1PVkZzR2VRUTB5DQo+IHp2 cHg2TGx+LQ0KPiBjPEJ+bGloYXhZUmA8SUQ+cWsmYHpjZUBwVjF4biFVQDZCRGZERXp2MjlxfFFp VkI8cXhuPFJlUEkNCj4geiFxVXN2RzdwRzYjb3hGZVUjQWlTZlI5JnpfU1dAd1k4PThWN2gkOD9i Q15pTHYkOXE9PHY3VytpJjZ1cA0KPiBOJWxYJQ0KPiB6Y1JsNkAkIzAkdC0NCj4gJHNeQj53fEI7 amp2XmRUQGBFUnBld2pzYlFYU3M7bTMqZSREJWVla3Y8TnFvRXFvPDNCRWw4DQo+IHo2fX1OUGd2 JDwka3dYMkVkPDE+cFg2ZHhHJXAtbUk4fjEtWXpIMWYlLQ0KPiApc0I5X3YleU84PWJOTz8+TVR4 X1k4X28NCj4gelgrWUFtQnY7fSF8MkNzc0x7en5qe2RaJi1PRTIlIWt4eWlsXzNUNVZOTnB5fnpy RGJzY15iWChtNGxMOGNIdGZtDQo+IHpLOTE9M21nS1AkaT9mcHg7LU1sZWF6UnFTaS0NCj4gajxB MUBeYURhWSRxJTh5VkEyQmo/elNxe05yPFRpM35KRHs9ayMNCj4gekp+KiNpaGsoUjclOTJ7Oysr RSo7c1IlQ1g/bWB1ODQjRDtUZ3U+amhkSzFzZCE3Y0pqWjQleXMpPHJwdUk0c0h1DQo+IHppPXAq enFhZU98S2RSejlEVT5ATG12fXVOMTE0e1RXQntpQUZkbUoje0tjeGZkZ1BeUHQwZkRJPSg+PUhY TA0KPiBQQlQNCj4genI8U1k9YE1MOGs5RCM1WGQ7am5zMGhLJGRmNHFtX2k9cjxRUGU8ZkJCaEV4 SCs8e3YwKSRDSitgSGcyOzJUUnFzDQo+IHpiPiVgaFgqZD9oKG0xO3NHJXIpN0B6czIraHpsTENV bShlTVQhfVc0U3AmYnZ2cHNNOE82WkBMQldIDQo+ICUwMnpMUkYNCj4gemBRYmlQQXVodU83cV92 UkN7JT1kKm9YJUEqMDBsMXpfSEE1RkgyUk09MmxmMjd2Y3h2YWlXZDsjdU4oNFYNCj4gJGIlRw0K PiB6KChJZCYoXmEkMXlIaypCKXdeTEFAPz08Kzl1bXdrTUlSQkpHOFJ+NypBOHlVbD8zfk8hX2Je Mj1mZ3Ridg0KPiBJWnw5DQo+IHpYK3JRbTJ7X21NaVl4QUdEM21yeGxZbmA7IyFwcVckUW5IJjRl MmgxaX04WWFiVDlIcWl2akh7MWtHYCQlDQo+IE5lfDINCj4gekl5eyE7WiY+QWpjfCojPjZQVVp6 JTU5ZmlTRnsjYXV1UzQqcVh3PzB3KHh0KGx2Z3ktIWp0JnNnVnZraFNNWmVZDQo+IHp2MitEfGs3 OypgPypTdSZXJDB0ZyspeiZgZkNXN2NuQHModTskaDJDUyRIM2VgVTI3LQ0KPiAwN3lUTkcrN3dS KlJkWEgNCj4gentmKGEpXllHb3k+RFhkX2lUcmdhYHY/Y15AS0tgMnZzeW17e0ZIQDt7RV5oQXYm JDtLem59N19zSXhpSSUlY3VaDQo+IHp5ey0NCj4gSTVVTTY8NEspTGxUZmZEVnhxPFY2PTZlSXtv QEpEVCRmeTN+SSVvXzVtRXx4SlEqTztBeG13UnthRXFIUHkNCj4gekZHeWs/Mz9uYVA4LT04PFdJ PyFycHRmakcqYj9fYDFxaSlxbzByfWohRGxWRyQtK19mPzxzMDchSnFvZkR4KEBvDQo+IHoofDRB PiZQKGEqP0JyUS1zMk9udnB5dj83RDxxZFQhPVZ4OU1OemFJSTlMYC0NCj4gXnFDdDIxYng7R0xE P0ZgM24lRl8NCj4geklidTc+YSRHRXlvJUkqT2MzVWlhOFR4QnBNeVZ5c1VqTGRERGkmJmIxVDIo PVdAbW9tSHBOMkU/OztEDQo+IGFWR3cwPQ0KPiB6U1J0Zz5jVW49fjstUCY9bFJ2Q0QkfHY8ZGVA UT82aHdwbip8ODtZcE0kZlZSei0NCj4geUJrVkoxQyQ/I1E0Zzd+KDFWDQo+IHpNbHlhaGdfdHRP TSQodHNFZT07IXBZZW93eSR5dj5HNTBzLUZ8fS0NCj4gR1IpWnVBQHYqcTdBJklwRk1qdD9jaWco NnsNCj4gendqezlzemIoYVlyXiMkMlUlIXRsU0pLYCRHdX1fPV9jMDA9cVp7ZHtpUFp6V0J8ZmJF QCk3TFpRbEtIN1RaWThNDQo+IHpyaV4hM2UrbngmQkpkKHVmczExITg1fTUxMmdLV0xqNjdEOT98 UUNmTz5XQX0wSCpvZng8QndGejxRSkFCbEwyDQo+ICgNCj4gemZVU2VyVCV9a2AoQVkwRmtYKHJQ Z1c1LS1VJHtrSEstDQo+IEJ3TjNJI143YjRDZz5TZ0BnYnNuMnxHSUooPHttbUtKQg0KPiB6Vmwp IVRzZ04jLQ0KPiBVP3QpSHE2T1MzdTMrV2x1YDRBem1tdVYjO3xxOFAjKW5+Wm09ckczQ0p5alg4 a0UoSVRzRDJGDQo+IHomc0J9aFgqbDxRV3VldDZzOFRJd3EoSSQ7V2kqSil2YyEpRnB2RT1zaStt RnBPRTc0YmRJP0FUMlN5TH08T3A+Kw0KPiB6UHZTQnJqfWpIQUNOLT5BNzkkYGhgRGt5OWRLSS0x P1VmaHBlcWFzOD9uaEYrZzdidn5HVSVGNzJjeEt1aHJjcj8NCj4gekJeYmdATzg8N3ckTkpRJnQh SlZTQ3VeRiUlJWd8d3BRdFFhJGwzLQ0KPiBlV094VTtJOGhqZyVjbVdudjJYRFpGUiR1bw0KPiB6 Zz9YV2J6JWN4MzF3K0k3SW9AS1owRStvWnM2NDAjdEhPRDRlM1QqRk1lU1dzdD9xKEJyQj5ObVU3 KXlsDQo+IHAmWmtfDQo+IHptQzY7ZiZ3JS03cCZhKjBWUlJBWD55fV4kVmsrRU9nQ0ppPy0NCj4g eGx5V2kwfWplNTY/YHNQP19GQlVoKVlIT2JkYEMNCj4genlEMF9RYCNzTThaJTxSOGkoaDA8PVI8 RHFMcElnPE58NDBpVCRMNkZLPkJnJHpYMCtKaz49Yz0kSmVmcFJMQA0KPiAmKg0KPiB6aGg+NUBj Z1JxRkpOdTMybz1XPFQxM0h+U09ad28pU2tte2JhJFhUTzwmQz01RGIkeHlwfmNzVXpuSUENCj4g TUBMPEN6DQo+IHpZZHVvY0owRFk2XylMcFBxJGc1RG5rcXBaSDRLVTZjdzRTUlRafFBIUEBlfihD RFAxQ2UhflVQNjxPfTwNCj4gTTFUYm0NCj4gek57a0xlbFJYcl88a2ZMcFNZYV4yezNLaXc4R3FH c0ZAb3VzNTxKaEFKNW52VEFYMUR3RUVFSWVCX0Q9RFNDDQo+IEs8Jg0KPiB6Y3ZofilAU084YTRp NjRyVk5Ca2V0O2Q4KTw4aFMyMGcoTCk+eVM/V3pNO14mTld8YiY5fWs5anRMMD8qe0xxDQo+IF5L DQo+IHpoQGMzPWE2czBKbEt+TEVkQGk5TzAtNFdjOGEkTnYzVGktDQo+ICpMUjJJPkNWcTtTS3Az MnwmVzxjbWd2I01KP1cjWm8NCj4gej4+b0hTZE44WDdFVW13ZWZWSXw2c1JaQUtZZ3QpNDQ8ZUFE KCVDeD9kVU4pfnUkeDdgVWFNeUo+ZFNYbg0KPiB4OTxTWQ0KPiB6QlcheFU3K3Ipfjx0V0B6TTZy X1IwWHBMNGEyY1UyMFVReXJvYWlBUW5vcGRJK0cmeCkxSyRUTnwyUncNCj4gMHZJdztODQo+IHow biM+cUE0YUp+JVIhSCY/aHhya3sjNlNXJSZvUzlya2Nwc3FnRnJrcFE0P2d1Pk5Be209cig5TnBS WVANCj4geURecXgNCj4gek9CQW1aIXNQYWxNK1ZTZUdAcGB5b2pRMXp5eENmZXJhRCl2MSlMJnkx NjxCJmx1WmFxVyZjVl5pMjlOKT8NCj4geVVIbQ0KPiB6WGJWdEkrRX5oSHZ6Sj5OQF56JG9zSisx RWQ+bXhAXj0qbndUJWY4KFRLVkRCMTh4KnNiaD87VEhVQVkNCj4gT3QhZVZMDQo+IHpnKjZLejdC Z0NPMCk0RmJQYGJHZWc5M0g7aj1rLVE4X0ZaPnhPPWhQQG42V3tqKGlvJkR9QDIwSFFqUnItDQo+ IDM4NUYNCj4gemdURHs/cylQWj9fcmBsTSpXPXFgUSpZMUxaO09ZKDRKWUZCfExqKVA3cUooMG9z WGtLQEszfCYhYDlDc3tjbF4xDQo+IHpUXktVJDM3alc5KzFDe0NoK29gKTRFeTZqRyNUNnNPWXNu anBeVDBwRnNaJkRpZH5OOCVUS1lZVFlvPjRVKCgNCj4gcEQNCj4gemE8Q047ZE1uTzQ/YEBWa3Vu TDJQd0cpIzhOaTNFNnMqKDhTOC0rTXItKVNyIykhXlRTJS0NCj4gdjw5JFpVPH0heTVjQQ0KPiB6 JEA0SC0mSCpYMiNVO1VhTV8mYnY4JC1KcWc3bCNwe1Z6Mz87fXxlTXdpKT8rVHomSz9KUGlhNi0N Cj4gPCtjSTA5Pl9XDQo+IHpEWF8kXiRrNEtMVV98cyNZMjsybzUlKzwrU2NMPlE/QUVNNEhPZG5q Nj1zN05kJHRUNiFxJX4oaG4pdWM4DQo+IE1ebSMNCj4gemFuLQ0KPiBCdkdQZTc4c0ArSEEpUjxQ QmxhclcpO0B6QGdRK0AjeVFnMSFheDd0IX4lfWpwX0pmVGRXXkdEI343akk1DQo+IDgNCj4gemZy fmJBNG5nSnNgITdaYiombE5WJGR0cDQrRjB9OFo0cilaa21rT08wO0RmVG5zQCV3Q1FkLQ0KPiBR azQ7U2YjR3xpeg0KPiB6X1Rzc0xoNFdgdSZ4X2RXeFA5ZT14PW5tcCNKM3NvIzEzVWRQRUBwcz0l bTswPilMMyljKUk0JEk8YlBidQ0KPiBjfUtnDQo+IHpPYyVwKmx5N0c1aUheYCktDQo+IFI7T3E0 IzI0RiZWc3czPGZybmNIMkphUThCVEBwODRkYEFUO1BeTDd8aiNNK0h2JDgNCj4genJgRElqbjB5 VEojMFRydDUlY3JmWVgmI15LVzxNbl8mLWhfWVY+YH4tDQo+IGV+YD1Qa2JDVyRkblZHRTx9am1F a3xfXw0KPiB6dEg1MlFGZCk2ViQhKz9SbCp6WGg2aVhYeGMlUXU5cHVwbFFZfWl9azwoS21DbXNo M1dUTmE+cjQtDQo+IFNqTl42M1dmDQo+IHpFU3RjM0BTUjh0VS0NCj4gVFBoM0NeTTNVazdIbjt2 M2RmMmpmRyU0QSlKfm0mcUZ0WnF6d2Y+WXpOQGBTMEx8QE00Y0sNCj4gemNwVFdFOCpJUmJ0RFdQ QG9rUlRIWCpzVE88KnYqZV9xY01tJmNROzdwcXdIT1FxcTFPZFcoKDFGDQo+ICZaZF5DcVoyZA0K PiB6SWI8LQ0KPiB5RlhvRDd4RW01QntWdXFIbHtpTStUMipybmx+MV5iQGBsU2VWN2cyPkFnc0Bm KkhUZXNiTkwhZSRZPWpSDQo+IHp0RmchaGdjTDRfOzNiP2okNGskdG10PlhxdjdsZ35QVTclV0BB N2lpST59WFF6YjklR2d2bz99RDs1RmE/bGNJWQ0KPiB6Yk9eXkduOzs8V15UIWFOY2JzZCZ1YVJ4 WD5oI2QoYmFuWE4lTSExbUlzdCtTZzY0ZHYxQkBSQyFXbWoNCj4gY2N4RFJZDQo+IHpFWnJWRV84 I1A0TEZUQD8jfUUrVWxqVV9RTS0NCj4gUHE/UHg8dTdtbWVAdUxPa2QoKjJCY2tpKUNzcVZWQyVP YlVYS14NCj4geitXQ1BUSkxZMGB6XnUoXj1jMGJ3ODdoY2h1V0RLZy1zXjV1Njh2Zjctej1FLQ0K PiA5c2ZyYGxKTWd8TnNhI3VSPGckKg0KPiB6QGskV3AyX21lPXwyXmAmYzNyK3N5YihRQERgMFQx JmBuUURwWHFgNmRQO29XJFFPaFl3KCloYTNDOGl+DQo+ID5VSDZTDQo+IHpfO3JHaEJBfmlhX0l7 T1JiP2o5elY7WX19e1BrSSVPSjVJcjBAYyVGMHt6a0J8OGhPZCkoPUlYOHQ5YTxLM01vfg0KPiB6 d0V3QG5KfTMoUi0wJVRWSVA5KiRwTFNTJnE0ZWMpMX4qP3EwTGkmZjBDM0wjdz9EV05FPCUmJCgt DQo+IGtEZWdvI2ExDQo+IHpncnxxbmhKZl92ZSEoJX04QU5TKTI3VykwZ1MtDQo+IG1BTEB4OUk9 N25QeGp8bzR7VDVUQ3NCZjJVaz09ZitTMm9HYkYNCj4gejQ+cTAkP3QqKnF6a1VeMTJVPj47IUZ8 RXNYVWBAakBBIVgyeldnUFdJdmxDRkxeVUtOe0V6RGA1YHVteWRrDQo+IGg3Qg0KPiB6cG8hPT5G PyRQYFlkfm5Fd1ZzWjZEUUZeOUgpN0hVIylNPnw3JGZwOXotDQo+IGJ2dWdEMnluPDNvRXVRRHY2 cGwkWHFlDQo+IHo+N0w7MEJtcn5neVY0RypvdC09Yzx4fUUhTVQoQE1ZZzU9TEgyfGc4Xy0NCj4g RUYzaHMpVjlYYnpMWmx+Tn4+MGpMUXANCj4gelJDUyl7OGg3Nzk+XnNVUEQpXyQ2NHJ2eTE5clJH NGgzS1ByT31yO0I8Zl43fV9pUWk2WVImSHNyQk03MnBhdk0NCj4gMA0KPiB6Wl9eMFlPZXFsMjJj SXlYbGE/UXJwZStjQ3dHaSt3QDg8cGsyfUd5aHJabFgmJkElYT12dFJEcj0rISZaeHkNCj4gRypk DQo+IHpuK3ZoSjdjYUZhSW4raUkzeXprTGF8b3J9MGY1KUEtDQo+IHdwMUhZPVlaOTNAKEBLMG97 JlB8OURYTTQral9iIV5WX14NCj4gemRYZDdSa1JJaE9WWHNNTmg0flg7QmpjeyVeZD1VPUl9eGxJ VWw1Qz4mdSk1dTJJcUpVdFJlI3RvREklRm5wQQ0KPiA9aQ0KPiB6SXRveHwtDQo+IEwrWWF3RUNX dmltMGRZNF47VkFEWUdkSzxtTGh1aGVBVEpvP0ZBVW9EYHd8RGc3ZyF4Rk9wfmNwX2xGDQo+IHpC bUtjUiRZQngwZz14USZfbGRaP1lrOXh3YXhgMn1qKEVZeHZqaVZpRjk7K0kqVXAzNDZiZiNVNlor eURYWGByRg0KPiB6TGludiRlXjlBTT9NRygjMHhgSlFecCk1eTI8aHFKPH0meVE+bElXbzZkaz13 VlI+emFMVnYoQT5QUUVzZw0KPiB2JGBQDQo+IHo7TkUtDQo+IFc4U2ElcV5EZ3gmIVFsZ0xASDxg SGFSP3lZdXlXY3pNJX1vKDkmPGF+ans2JE9yM2tsSVJqfWJOZiFQTm0NCj4genRQcD9HaTd6JSR3 MXo3MWZWVkNNP15PT0xjQktIcmUpcHlEQEk9WTUjaDUkdkkraUZ0JW9hWXhWN1FFRmoNCj4gVWR8 WA0KPiB6K1hPUWVpb3NgIWRYaFZZcDNwLUQzVGYqTUUtMlRYZkZsVGI+QmJ4KkpZNXQ0NGo7OUBN aUFDbzI+SVJLaWxQeXkNCj4gejVDbiNXMUFLK2koa0ltYDtUZlZPNWd1S2tHUlB3IUYtOGk1Myh6 JlgtDQo+IGMwTW9JVnZPaHF3dmt2dDNteExQTDBZcQ0KPiB6LQ0KPiBoRk1fSUh2SnVoUThma3NS SHFaQldJQnohbXxMPHtPdlc7OCg+bWxlakQpejQ0V0ZjKTY/T20kcVYpeXZeWA0KPiBZQg0KPiB6 QjM7UGxTYj1iMWdRR0NiQzRocDdFPDlLSzFhdEtVZVduTk9KbWxxT2VXbk5RSlhGQjY+ez9DZl5H fVINCj4gVio7ZzRyDQo+IHppREc5Tj9pQEg9UzZmSWQ3SGlkeVRqIXl0YWpGLQ0KPiBGOFdgIV45 T244PTU2eykkWiZ9dlA0cCZhQU83a2R6bUNvN08NCj4gelFJT05oaTV3NDQxbVAzb3IjeDNqMEdT Pmo1a1FxY2FPYzRTTWd1WUI7ZmJoQUx2RXxSP356fXlBO1peZzlTbw0KPiBAeA0KPiB6NCNGNz41 WDtvLWs+REJZbmBQS3dEWlJpeGlCOVpZZipNU3xpKG4hISMyRXBgQk08WCg4ZzhpVCEydm9jPjVj YDkNCj4genRCUGREO3VpcyZudiY1KzUmJEV8amRoI0wjPV4/c255REBoMyRfYUA8I14/RUFnQVY5 Nyo3UEk1RkI8SGYNCj4gJjlJUA0KPiB6QEVaJXtPTzlNQT5NZCNZSm5+JXRQczx3RFN7Y0tLO1Ex RFdzak9nYzJOKzw7KU88WH1AVEZPM2s5DQo+ICYoOE9ValhIDQo+IHoxZEN3VjFTVCtjd009Q01m PTFNVUIwPyF7K2o3IyUkRUdySldSJjRiSThpRDFJMl50dCk+N3RtSWcocylZZjsNCj4gQ0ANCj4g elE0PmMkayhzIU9jMGVJV0pqVSYwe2E2YDhOZUpnK2YrQmM8S1Q+I1VDbVF7UUtJIzheV0FKMDRn a2BmRTJNOw0KPiBGdQ0KPiB6VDk2SC0NCj4gTUVETXlfISF0NTNuUH1CXyU5KWR1WF9yJnQ8XyRO QjN5dWc3alI4YXFwIVFjSWFxUUtKV19xZnV6PjRhDQo+IHojI0MySFMjZm80ZkBVcVRUNDNOZk44 JSUtSysqMD5OSXRnQ1E0c3twUm1rS1o2MHszUCtXNlVzOSZELQ0KPiBXdDtCYl4NCj4gekIlSFd8 O2whbS0NCj4gN3dEXzFDeDVTVTg4dG5QJkkkY3RmZ0BMTkkxcjs/KnU9UW5SWj9EemxWYzskYUJu NEFWQl5WVw0KPiB6NjRAWHc3Ty0NCj4gZDwmYzUxYTZzPUdgaUdEKFh7R0FDN1d+SChHPlBlVGRW PUQzKXthfCE7eHNaMDVGaEUpVWRBXj49DQo+IHpOUUBwO0dIVnlYVno3NDdZaUNab2BVfWl+al4y fDEtDQo+IHE+ZkA4JENYSEBlYT5zWDV3M09uXnRBejUwP1krQWxiIWcNCj4genJIT0JZbnlQWnYx THlNQFVrS2NlcD5waX4zdHhyZCFWQ3xfWFM1TDZtRDNmZ0wyUlg0Y2x6XkpyRkErQC0NCj4ge0Rw Rg0KPiB6KSpgJHo0dGZKYiYpO2hUeGtAezlAKkF+Xlc0ajZtJWhUWWI+RW1jO3BMaG83MkNse1Q0 P1huezBYJWxSKC0NCj4gdUE/DQo+IHptWFcrdThKayombV9jcThvQnxYbWBLSHtVVUBXcTxuN2I8 QipCdEA/PV5NVz00aEJOWjctDQo+IFRnQCZWaD1yczJWTjINCj4gendJNmpqanFleDBTX1BvZTJv e25qQElxeFFQPjh4bEZue0x9aWclXjRBfXxTNTJoU3A/amdhNFFaVk95YHdUIU5kDQo+IHpmQDc1 RHBOR2YqTXB3OSpGUjBQPSVqb0xOPT5kIWBocmVnZjVpbURMVyhwekl6R3lLM1oobHBqaSl+dWNx bzcNCj4gKT0NCj4genE3WHBVZmpnSTdjYHx7OEtsQCQzIStWVCNWYzVzMkpxKEk5TCVxMHtQVXhQ aEZ3bX5oMUQoKGZScVBod2dnYD8NCj4gXg0KPiB6eio/NSpsWWdRNktAd2syV2xWOD1hJG84bDJz SzJHIVZPYUpKJEZmYT9KKWZrelQhXmlidEs+NyExPlgwXiYtS08NCj4gejA9UFJieyNUQk1GeHlW XkVGY1VqO28jJjQxOGRHI2hFUDxVdWp7PEJlRThQPkV7YUpQbnFtK1RuRCEoKTBJDQo+IFZuNA0K PiB6R3E4M0xSdlp9QFA3VzNiaUpYfGY2TWNnRk9sfFdvYiZOdEkqNjhiTFBgSDcpYH1RQ29pO0xH KVFHVy0NCj4gYGNORTdIDQo+IHpGVG0+Mkk7Nis1IWBGa287aCkjd3RiVCQ+LUliVVhxZEloKkFK cjJpTzs3VFQjMzFsYDhpbWdLZ2cyOUtxM09Edg0KPiB6KUdmZyhzQDF3KHE1PVMyaGZ6KlBIeGJU SjN6MFliR0k8MzJRUDtUdkhFekl5JF96QlNic1FjfVQyUUhNayhHDQo+IG9qDQo+IHpNezs8akF4 Vlh+QnQ0clkrI21oR2B5aDFIWUtCWkpUYyhCZmZ4MiglN20rO21pfEREbDxkeGQtDQo+IHAzTVJk VVd7aWANCj4gemVwYU9jNU50KCpOMGlPOCR2d0MtDQo+IEhWdjFpSk97V0JwZElvXjhmTDAoOEVp PnZoJlZJJVY1dFY8Kn1UZlhSTEhBdw0KPiB6cFhTQEFpPyYwdzlPTTNCeXVQPDFyKE01VjhDJklK TCY9fEY0MVNEJl9ASyU+b2JnKTwtDQo+IFR+VkF5Z0NYU3dKVCV3DQo+IHp2IXZIKXhDbClZeUd2 NDIxYEcoNmRHS284V35ISWZzV2pwT1ZlZ1QmaDgzUnZlRXNVVVNMOV5NVU5FciY0DQo+IHBPWDcN Cj4genVHWGN8PEs3M3FzOSU8fHpUO1p1TTkxRGtIcENnZV49TD1OTjVvSylOdGxsaW5waHJVS0xN SX0/MWxKaGBiWg0KPiBebw0KPiB6eWNgNmAqQU9kWHN+MVVTc303JF5jMURVZEY0KlE+KzJYYEpz LU5hd2ZvUn0rc0g8LWwwS1dYSzkrSj8pNiRSdSUNCj4gempPclp4WHRyVGVeQmFARVFUPm9ASm5f RmxRPXA1PzBfKHNDZl9HeDh4ajJZaXskU05ESkdsaktzWFRsOSkjRyZFDQo+IHpga1h5QFZXenlH LTsqKCNzYjhfakM/LXR4aUpVQjh6fDVtRyhYbHpSKHBXN1dofi0NCj4gYUJ7dmxEVXV3fm5AMTNu SU0NCj4geldofTAhc2Zuc2E7NWRqRmNMIXFlTkc0K0FhR3BSanc7bWVMQCpOPGR2MDdFa010ODNT PUE8dUdhU09aIw0KPiBBJl9MaQ0KPiB6IzxlVjtPNnowMjBlTk9nV2hAKG1CYEwpbE9rejBvSUNE X1dZc1l+QWpTZ3FQYWI/QzdoQiMxZkFwbklHcA0KPiBFMzBkDQo+IHpGP2p9ZmZ+ZWZuMGdqVEMj ZXZqeih1MmUkc0cjMFBaQUdoV29BeUZjaEBuVnI7X3E7M1U+PypHVjl6RSpJYkoNCj4gQjANCj4g ekJ8dj8qXlpYd3d7WUtzSCpzUlhGb1F2ZWVOVXVqVE9uKDlDckFRWWVVNXhiZ2s9Zk18JEJsRjYt DQo+IDRWdzZ4MiVGJg0KPiB6P3VsQSZJcjtvdzYoK1peNk12VXxiP153Ujw/TmJUbCtZPkpYUDJh eiUjXjtUTGErTmt0VUpzZlNGJjhWem0NCj4gPkx+DQo+IHo9RmhnVm5ieE42SUtQQmozbk1HO3gw c21OcztUcm5sNnc9cz9BS3NrZm4zWEE3R1BrJiVUdHZmRGpvKUc7ZlMNCj4gVTENCj4gekwlVDI/ cU13OUk2VjQwNWNHNjdoK1I5VWI/U3lYRW5IWEdKUV9QP0N6fnpJMXI0MWZZeTh9SHpDakhQQVUN Cj4gSyR9Zg0KPiB6PE1eSlhZLVdPMk0kNFArYEEhXzI8U1YjbjhxRGJIZmw+Sj8tDQo+IHtoSWxR VCpeYjIpcHs5VCFPJGxiUGtQYUBAJjthDQo+IHpjRmptbC0NCj4gV3Nic1VtMDUlVHMwNFh1X2Ff MCtZRzl2VGtkcSpvT35tQmokbWVqPEhVRD9zcG1NUFRqI190LX5oMiQNCj4gejQ7ayQ3RFNeV3Qo Knw9O0R5bGUtDQo+ICVvVUY8JSZgVlY1a0pLPzNeQipOXnlhbEdpZTF6QjRieD0hVyY5S3NGUSkp OA0KPiB6OSsjXzlTXmRZVHAxJTRhPnd6Y0w1OEwkQF5qRSpLQzcwZj42UHtAeThZKTBUWUJQJU14 aiFyYl8+RzxtYA0KPiBUfkh6DQo+IHpweEA2dV80YC1hQEJpKHhKX3c2SFRBPXFnZnE2UT9LayRE ciRkRG51M2stQDYhSGo2RmlOaTFXbi0NCj4gIVVrenVCSlUNCj4genR6ZXZsRmZgLQ0KPiBvNH1E ZTUyPShGeyZ6Z2IzKXZ+UUQjXkwrMkRfTzxPZCE7Kk5YJU9HSGs/WE0oJEBDSSQ0MSl7eg0KPiB6 VSs/Kj1uSShhI1ZnKzRoVGxyaVE5SEU8SWJjUnVeJGk7OS1hUGQqKF5RX09Yaz9nZU0kZjNJSmU2 MH1SPXVjK34NCj4gemkkP1RBb2wpbU5ZYistDQo+IEFoWHV6UWxhPj9+YWd+OGF7KlNQQDskJG9Z b290RE09JFBAZVpQMkZrT0h8QzVnRmdYag0KPiB6RGBxPyRoMjdBWlBUKVFoPkZhTj1vKmxWOG9j Wnd0YTUyVyRpbSZPSVBEXmd2Pz1VZ0plPVdKSVIjflphYw0KPiBIWi1MDQo+IHpZVUxBRj5DRVM+ KVU9O2xzWDJDRHlNNj0wQHpoR0JqWGVJJTtyOU1rSzV+MlkzZlR2blp7I3Q3XlQmRFhRDQo+IEck cn0NCj4gejBwSjBPQks0KzluTWRGczEyWXUhS1Z1fFF2NX09e3c8V2hwPWJBTk85RTxgNzlAYGQk bXpKYVVUMCQ/DQo+ICRDRzVvbw0KPiB6c3gzckI0UVUtLQ0KPiBzRCswMkRNMlRYcGtaOHRDS2VI aWcoMXlVbX4weDRZbyl2aVROVSQ1dlgrY2VzNj08YylhMXYhDQo+IHpUZXZjbzlHPihWOFZ1fUFl ciZMezNiT29DSENDWDFJI1EjI2ZsKnp6cV9Bb2pFWDQ+Y1hgR303TFk+ODlwdCo0DQo+IDQNCj4g emgtY0YteG0heTAyYihEfXlPUiFuM15XPzxDR2wrOXFpKjdwdklkfD9zT1ZgLQ0KPiA1KCtAY05G ZnV9RythQikwPygkXw0KPiB6UGUzY0I8M3dOZHpuKTt1TiprMHN4anpxNjtSTF4qVnR4XyEtDQo+ IDwmbEh0S049dEZpaG1PVHReWFImZ0wmTStee1Q5DQo+IHpaOWBUfFpaclAhS2peZlokek1oMGhq YFAtDQo+IFZ9M348PnBiOCNNKUVme2w2bGM3T2dsVn1BWEBITiVOJntPPCF3TlUNCj4geihefFEy JnljRG1eNGJHfipZYl8wU1hHMWRfZEpOcjg5aDAqWElEOHFKNFVpeUxDfntseCkpMWJafDRidSQo Zw0KPiB6Zw0KPiB6diZVYCp5c3w7IShUd2YqZCtLKDZneXdfaHYjS2hDdHI4Rjg5LQ0KPiA5WFNu aG9JMzxQcEtIQnY8IUFgVnkwVkNCNihmDQo+IHpIdXMoZTNWanV7dlgodXt6TnxSTkhicygxbGpw RXdEcWF9Xk1neS0NCj4gdHdHSkloTVF0RyhhX0FJTVRoPn1VKVd+Q24NCj4gejlOYT95XldHdCZW NzU8SXVSZjB3bTl0JnZRMVppJEdKeE5wYkVwQnJASlZvZ3F0Mmx3UCZvfWNoWi0NCj4gVD1hUyhO dQ0KPiB6PXAxU1d0IzMqeCVoV3MtDQo+ID0xZzVtP0d2M01JO2R2Y1Q5IT9HYkwoSkdeNExHX1kj UV93R3dQPUJGV29IYkhsUkcqDQo+IHp7eUxLSHElQXApYGpTbTVeNSt6RyllI3ZncWxvWFBVTG9D I1BHTFghTVcjRl5nNjMyIVUtDQo+IFRVRU0+MGBpZSV7SSMNCj4genRwX210I2QkWD9UVH4jeUZj Q0Q1VitNfV9oKXhsT05IOSFQbjFgJTxRSTd6Xy0NCj4gKz1rNWxgWmB5NyQpJWpLJFE8UQ0KPiB6 ZjdLViRZO0BYcSEjQ0A3NmZ4OTtzR2Y+Yl51b0w5I1pBbWI0I3ojQ0p2JjBaWXVVQmtQSHo/cWpG SDN+Ng0KPiBGKT5yDQo+IHpsUHtuOGJxQl5+QGkyTHZUfmFlZXkxbHVOMH4hSiVYYyUwQmhXJmBj TzF1YVNHcTZTaFNVZF82TDNVRzN2DQo+IFhfLUgNCj4gej1oZXdRKCY1VU1XZ2xPVEFyJkJ3KCpB JVBUP0ZpaDZOciV+Wj9gelh2ZFJDRDYjJnNVcFJqJSRva0INCj4gQD1kUkNaZA0KPiB6THFyVkdR O319WjQkJVVAeDkoKn01ZkVVNmMxTmdadEBQMXcyYXFBJXp9PyNVMzw+R2hqcl4kK24lYil7Qg0K PiAwKUtZDQo+IHpFZkZRTXZ7MHhJQzhLKClVXiVibWozZkVGNVFxYDM5aWNBYThxV0BRcCNKNkJe WC0NCj4gZ0VCYWl4fUdVZzZRVUslYzQNCj4geiR5UjF6UVVQUWFwVylkZDhaZUpDaHFrKShWM00t DQo+IDZ4PWhKNWsqbkxLZFdjbW1eX25WYm9STmlsKl5mNSpqc31QdA0KPiB6ejZTe2gxSW1eQElA OzwlJihFKTFPTjBYV1BEPkRlSU0mdSlrVURPcWk/Y3gwTD9McTJCTjlOeWhZUg0KPiB3N1dBejl5 DQo+IHpNejtmakE7aWpKTGhSJnRmKXlzanF7SG97M1lIdSlCOGRTVF5DMEs4UVgyfCYxRjVTfSMm PlpyM3twXitQfkVYPQ0KPiB6NXlLcHpmNmhxQ2JfYDJvSjk3RE1qIyFNR1QqPGBeUlhoQ01teEB4 WV5+dV45OygpbFRaZGwyIzIqTz81dmkNCj4gNX1aDQo+IHomWTlxK216RGsodnEmYnczLQ0KPiBs M3EpMSUlX2tiSmdJKm8oXzNPUzYqOzBLUHwkZ0hWbHB1Nm9aZnY1RCpjQGRQcHQNCj4gek1FeSlN a0plPHlzJEp1LTNpNDNFM2AjOWA7emJhKDQ9UmJyOzI7WCZzN29wcHZ4MlJaYVotOHlFfU0lKVlC RCZoDQo+IHpNK3NrXzdnZkVxN1pzIzVtUSlRV3U3dDJGSHF7fnswVkc4TjBjNFh2RSF1cnxmfnx6 cE9qZXJ5MF5gNyEhTnENCj4gOUANCj4gem9qRSY9a3FWalJXbl4lUWtKNnskTDlpIzNrKEpAdWt3 MkFobWI2RX05I21AVE1KO3B4TDBhbXlMTitWDQo+IDxxUjt3OA0KPiB6VEVwPkdFPU1XYnFvbWpo TX5pJVZQNilnITRhMGQtNEkrTjVhLWIqXy0NCj4gT31zbTlGV1g8T0EoUjFRNX1GKzRELV5NDQo+ IHpwUzVma1IzI1E2PGhkYX5ELUMtDQo+IEt8MzJTU3R6MWgqT2R8RTZ6KkVkdWM/Nz1PSWhmKUom PFkpOyR5QiNBZkB6KTUNCj4gei1MZz18VFBpMzB0eTZhMGVvTTheJktoNC0NCj4gVTNPa1V4bHNB a29AKiN2U25nOWZWdj1tdWZ4TmhhU2BSMSo3byoraQ0KPiB6X0cpYzNVUz4qZUVrNGk+cTY8WEM0 YmNVUyZjUnlodlEkOzlsNXoxUj1mZUtqRj9+S0hqdiVjQ1R7MjVDaStQaA0KPiBxDQo+IHp3NnNB VmdKRWokbURPYEg5OU59YkBqZE5MbHkhSTVRSDFzY0JQZTUzdHVYZnQ2KWt7S2xhe2IodTNFQlBU ZkVeZw0KPiB6JnJ+LQ0KPiBzMHBzOFd7YWBIb29OcytFSSU5VGp0OXB7MVZnaHhabjs2RE94TWMo fiorMnxSI3diSE1yfGNlQWNaRjVFDQo+IHpFJmoxc1VjYWJAKko2K0tPdElNMVNLNH1BcX5LWiVl fW9KVnZFZWZxVUtBVkNHIWdpJilDME1SbzFtOGENCj4gSDVBSTINCj4genJjQV84YThafEtBRTN6 KUFjSFhMZXh4QyYjYXA7ZGlGWVMoPW9+fEI2UylnT0l4U1A9TSorNFgqaFl2Z2JsTg0KPiBURw0K PiB6TFNKYERgdlZCcFZOcHQld0M9aUJJTzJjXyNVLQ0KPiByPj9jamthQiRSdVJTT1Y3YDtOZEU8 X0ZfTUEmYGV5aWIxOWslDQo+IHpiPURuVzVqdWVhN1cldE9jQ3g3dW52I3huPWRwdDIydn1hN2gh fHBoVnY+fVQ7dlNxTVVPc2RUTyRAQg0KPiB2MUxfN2QNCj4gelhidzthKEtLO1FELUY/fGQ9KXVM IVg8fXwhX1FEVEp+U148Ky0NCj4gYmUjMUVuUGdIYyZCXjRKWSokY3U0QmxaS2MxSg0KPiB6KSly Z0dUTTc+MXU9WlFKYi0NCj4gT0spczlSYGlzVGNSUHBKSkFqdF57dCVGWDFDfTAjRSVOe3JwSzEy S2lkTTF2VTFWDQo+IHpQd31Vd3E5dkVWJU4oZWckR0hhJStGWTc5M3MkKD1WX3VYK01+RHluJmx0 JjZZLQ0KPiA5dUcpQHp5TUIlWiZAck8oTUANCj4gemZyS0NFO3BhJjBNJSo1WDFINGszKHtaVHw4 KH15QDwjZkhfKS0laS0NCj4gYk5jeU1odXg1OSgofSt5cSZXcUtRMVB7bA0KPiB6QSViVW1RLX09 NjRXKDxQb31rSThlYFpAVWIrVH1BcE0qPGBQZ1d4Mk1paXsoeVNlaHNwc0NDelVDRi0NCj4gXklW MGJ7DQo+IHozY18wblg5Kj9IODlxTE95ZXI0MU88YzRPQW99WiomcmVFcG8lYFhAdkc3WEpGVS0N Cj4gRDZmWSFWVig/TipeYnxKWCENCj4geiszZmJRMj5YLVpaQjxseCYxLT16KU99clQ3c0kqTEd0 Q1IyTjVXeWtuOHJVbllZPTFfVlYtWTghOHo5diluMnQoDQo+IHohSkd3RSQjQ1F1KnUwJTxXLQ0K PiBDfXxDeEVCIWZkYmomQl50Pn5xezJhIUNGd3VmPXxTZXBEdmptc1ZBVVk9X3YkR1ANCj4gejJ+ d3dPc1FGVncwYVJDaiM4NG57MHcqPHdudHVreTc3fFhnUj5SXlFpJXhUKWRlVUxvbFZ8c0VIZ1VQ Sw0KPiBDKDYobg0KPiB6KyN0LQ0KPiBKSWVOJGIwWWgreG5rMV8pdEh8fnNlY1UjUUhIR2R5aHF4 eVVTRko4WHttMjUlTWJMenNoUVdHKWw9ISp+DQo+IHpfSERfaWI4QT03SlBiTnVtWVdWMEpKY3xi ZkomcVhqaCRlTXdWPWl9O2EpTD5rSkV+e1NNKkg8QSRnd1NQDQo+IGhUZyQNCj4gejFeRikyb0gq VGglbDl0TVcyajFyKTFmejB7azY5NEJBVVQqVVd+NmFfaE9iUkI3QDwxQ3Nvc21kbXUxDQo+IDQ2 eEhDdQ0KPiB6d201fWJRU0FfSiZIPE1tOEkhSUFnZztNU1B3RSVxaCp9RkdgSEIkMXg8clZfb2dU bzJ4ODM7TT1YYnoNCj4gJlNuPFB0DQo+IHo8OEpJOWZVIXZhZjMmPn5lNEl0S19gZ1h1V2hwNn1t WlN8KEFWODV+M0tZc3FPRE1MYmZxOyFCcGBpJUtpJForfQ0KPiB6aHpQczkrMGQ0NEZxPFdVU0wl ZnlENk4xbVNMTjAjbVZ5PTI3bl5gcDAjcXptRn56OH0tDQo+IDYmQmFPKSloOD8+WH40DQo+IHom cHcrTU1EUDgjcFhAJlMlJFllZVhVPzIrPUZGTHktRUx1MngpUEFLLQ0KPiA7dEh4OyNNZU9jOHp4 O1QkWUlrPyN6S3UNCj4gencwUkJidE4+QjJmRHhoQmJQTnJOdUslKXQlVmQ/ZStCM3UkYW52Ul9g WkJNPVF+QXBlaTlUSF9ScFpSDQo+ID9yQWQ5dA0KPiB6RUdBKm5APH5oQXpSUD57OGF5VVhuWF9k aSM2TmBEQk5ePGgtDQo+IGFlKkU2X2dyTGhRYnl2VHw0T0ttWnVENyt6P1N3DQo+IHpRbHFhYDR2 MVlAQnxwPXBiWTBlQFJyKElJJDBmKWNhPjtDPDx5PmpnXk5APzw4cExONyQ/UFVVLQ0KPiBTRmxu V2Q8QDINCj4gekxKRnA1a1NgSyN5VnVmJXlmVmF4ayNGMmBWKGJRTDh3PD1Wbj5rWlhSVEpwfmNj QzEmb3JXY3dmPzZ9dExnKg0KPiBrVw0KPiB6aj9hUSsjeD5FMlEySzV1Kj48OEFHYF5kSiMyJlVw N3R9WkFuXiNxR01BRVdxWXxZSUZqPHNBaENPLQ0KPiB1azEjUF4oDQo+IHpNSHhqfiZJSl4tDQo+ IDk3ZDZxM3E7ODZ3c2YhRUdSUj9AI1Z+fWVvd0FKI0ZTbH0qWkRjTFFWO2tpKCp2OThGTktFe3IN Cj4geiVWclgxRGMoVmtaUldUa2crek5vRGA2LT9AQ2JTRFlkUzNZYmZITW8rVVdXVExYJGVQT1R8 P3JeUS0NCj4gak49PzcpNQ0KPiB6M2I/TTMjUU55XiFZVG5hUGdAe2kmdlpjQGc2eH1hdUZvcGh2 QVMzKXJBaGBWd2J0QlkpMXl5TWtiPiU+DQo+ID5yMTdlDQo+IHpkZTJ8YzdeUkYpeG47MURTYV5m dnFFNj10dzVmS3thbHJoWmw2bll1clZDMHE4MzlRfVJSWWQoNVBSa0NtSz9RDQo+IGENCj4genZJ Uik1KEo2emg8bjFgeD8+fUtvR0tvNE82SEkheTVXTHB4aFFQTTd6WGZuR1VVTHxLZG1TZW1ES3dI aw0KPiBiX2omaw0KPiB6NUpBNVdQXkdkKVR+c0I2MEZCM1crKXJjQ3o+YXloOTsyN35SQDRrV0Uz cEBePl5ZWThUTihXWDIlMzUNCj4gcVBHPnUlDQo+IHopWDRMZjRPe09DI0NeTisoLQ0KPiAmaStP bXBSQCQwOHk+MG1JU1E1bXhvQyhvUmhkYSR3PHpren55bV5CcENvPzBkUGQNCj4geitedDJ7MGw7 YEwxOG5wfllhWmIzbWpMb3dBZURrVFVQZk99YUxKZmtmNTtISnRxI15sdlMhJjwxSWt6ZFhDeT4h DQo+IHpmJGpTZi1GZFA8cn5qcSYlRD84Vkw3eVJxUnE8aVpeay0NCj4gZ19oRHFwSHZaIWpfNTBH YkheOTJfNUAjcUkxUjJJJm8NCj4gemR6dmF6NlhkJnNOTUw9eUZ0VHI2ZEdueXNnPT9YTmV4YHAt DQo+IDw7WWNgeCFCRGphNWEldl9FP35uaE4wa0Vqa2BZOA0KPiB6K0EhMklhbzhIcjE3ZGZJZDhp TGZrd3theUooYF5lPTJFRSUlYjlLa3gqcnEjblhBQilORElQT19XWVo4cDJmKT8NCj4genN1JkF7 TjF5PEdNKXI/Z19eWkBhS1c+VDtET0ErTndOPktscGg+TTB1fTN7eSghU0RHTj9QVnd6XiQNCj4g IVdBdHoqIQ0KPiB6TVY5PEA1bTZwdztFMHFReSF+e0ZoXn4qIW5qbmpUY0ZpaktiVi1mJDw2MyNP JHdYIyNCfT9UfGgkNy0NCj4gRmw0JSE7DQo+IHpOa2xwSUA2aGZNT1IxdyFoJHNMMjF1b15za0Bm Jk1BNnVnKHZaKG9wSmprTnZJdiY9X1loKT0pbUl3Xl9oDQo+IHV7MlYNCj4gek9nQHB1czw9ZH5g ckRyZURAIUZxKD9gfXlXKmJPUGE7ajdjPCNeSHlpSEFRTGR5S0x5Mms/TXAjaXV5Qm0NCj4gPjR2 NA0KPiB6UUZpQTB0ZWZ5SXppQkc3Tnh7YkFCU1JIT0tOREhgb3hUUn51dlRDbXNAVkxKRWF1eUJC LV51UCopKHNOLQ0KPiBQUzZCDQo+IHpiSiVzbl4wUnRiZE96QFAwZjE0aiRfWk5Bc2pROW9SYmMp aUtlJDBTc1NqVERZfUotTnJxIWA2a2toTkE0dmwlew0KPiB6NVFfK31pbGwzXyUwT2tJbVZUSG1r U1EtDQo+ICMjS2c1KWN6Z2IxQHtJfiU9cllNeTFCcG9odnUjVk1sS0JYQz99d2J+DQo+IHolNk1L WU5mO3Y0YzVvfFVLPmVUPFAhaGlHKHkqRnRtK2BMe09LS2pwM3NLPDlpezNZZ1BHRSlDTWI4IShD WEgNCj4gKFANCj4gemBjV0FLalUxPH5WUD9lTTdFdkZvNTZ7WnF2RylVYz9CTG1OXmg1RC0NCj4g JiErNmNjb0hkIyVCZVN9dDhmcHlReklCag0KPiB6MjRgKiRoVkdLaEZ+YShpKD8lSDk0OEhPdl9Z UjRTK3AhWCg2ak1JN1owWHVRMDVsJXdGP3BnaTNHdVVSc1gNCj4gUDNyDQo+IHpOOWVCZUw8djFq Q2p0VCFvPSlMbjs+a31OWGV9PGtEKjVUNmVWTkNeVztSLQ0KPiBEZzhidDRfVX1TZ1l4a3pWVX5Q RH0NCj4gej1IQj5LVD1VMnolMT10TylgbmQkejVPYHR7cGl6P2xuJD1lc3pLUSZranJuR3VGTWFa Rit1Z0M0aldEMTxqOA0KPiBNag0KPiB6dXJte0xjZmM5Tk8kVmhXJE84Kk01XmtZSHJQVlV+KUBK SkxUTHppN0kmKXNDUkdAfFJeZyNwPGxAe2l5Rw0KPiBoYjJEDQo+IHpQZDJVeihTKEMpJjJzbWhB YHZSczJpKzVUMyt2cFQ1WTRLYFFUXjN8PWNmPXkjKTxCUmttKHhSRShSLQ0KPiBBI3pnTisNCj4g eih0U0VPV28kS19Bc3pRcUpObW88QSl8d3JNTzhBYGJYWlhIPmRLZXklNUxaaDM/Q21fUHpJb3Y9 V2ANCj4gRkhZe3F+QA0KPiB6d214Vn42K29jR1IhPlc0RHomd3E3N0g8fmpWZXpeKzs1VVNpSXBX SlgwSUFgVypPWXdsOEdpU1VWYiFZDQo+IFF9cFNADQo+IHorYCh3PUlPKEs8bXRKQlE1UTFXSCl5 dFcjdE88fX54a2o0S0xnMzROd1gmYXo3YFdvNHNZTndpO3k2TUANCj4gYShGIysNCj4gelJOaG98 JDsybzdDZHIlM2s4Q1hDKjVBenduWkZSUmFMSnxhayUoKFFaK3F+NSMlNT9jJHo4TzU4cVlnPHcN Cj4gbFJ5WQ0KPiB6fDkqNlBNdnVUTlg8WG5xTTArX2FfJUw1MChpPko1SnZBcDNGS0ltMmN+SHtV TiFyYkJuKFNCTntPKiMqDQo+IGgwWlFYDQo+IHo/M2NzX0g8NE0+byRRemBYez5UZVpYPEM5QTct DQo+IHsrcyZ0PDA+SXZVMGR1biU1Kkc2fm1QcmI+PGZYQUc1TztvdXINCj4gelBXSilUaEFabVdU LSU/U3R9Z35FdEhVPT5SMz94TSRUPVRGT3NPSiRGO0tDOT9DZC0NCj4gJGhTJXJSXnN8JFo1RzxY YA0KPiB6JFZgUy0kXkVpKU02TE4qcXViRDswX0hOJCllUi0NCj4geW9naGJrKE1TRTs8XylQWmt8 YzRMJCN3IyYoJDk9MWsyKWw0DQo+IHpCYVRDfUJyP2xQQEczMWpFWDNZc2NsJmFZNiRsM3RNM0t2 WUBaWlliNV8qaHFgZCVkYUdjMj1ANDV0VDtZJD0NCj4gYE0NCj4gekpWfmxeZ0hVcG5RMVVQVFd2 ZVlAclZwayN8MUloM0Ipd0Q4ZjlhO3ZlfE9MZ1E9RH5AWlhgVylKTHlsXw0KPiBiblc+bQ0KPiB6 JkpRSDxZfkRNSUNHcEZDV0AmUE1hPXl+dj4jPHdySWIwX25ZSFJESyktDQo+IG4mTkgqMGhRa3g7 R0hlUW4tKiNDQnF7DQo+IHp2QE19NncwQU94R3lpans4PHFSV257ZXs5KGZ9dl9gYklnSk4ycjFq ZVo5b2VFVHcxaEpQeHA2Nnh7MjB6VG4yDQo+IDINCj4gejs7e3dzckF4MjlTdk1wckoqUWZGXzZS KmlYXnEmUFZDZmxLRDIjbmFJMylMdkRXaz90Um5PdUs8JXlMbXJTNQ0KPiBWeg0KPiB6JTJZazlt PmEtDQo+IH4+Jio1M1RZX0BSezhRYFgqcHFGfGF7VmVfZCpyTDVTQDQ0JGomVERzcXI4Qm5pRGk8 ekg7KlFaDQo+IHpyUXZGNjVzWE9lPUgtSXwhdWNjZEIzbipnZExLbk4qVSUjI1FGclErUDl6eTVZ SjZnd21YY2c4bC0NCj4gQT96UWt1XjcNCj4gend1eWIwdkdEUmdUOWFhcWF+Nm5OXkNuVzclN0Uh bzJfUzJlK1EjUU80djJfJGk7YWZrSy0NCj4gPERSUEFwUDFSSnA5eQ0KPiB6P0VBNzcjNmQ9MSRW NTNkbnNVVDYpUTlOJClqfGB6TFQ1elJEX3lgPkF0VFN7cWEjdm5RbGFRYDZCRi0NCj4gVk0hYm9W DQo+IHp0K0p7bGRlODZWXzQrb1VDaUA4dmtqKUckR0VAOF9jPn5qfCRQQCsrZT18TXMoI31aJVVQ fDJ7eWQpZH1GDQo+IE1Xdj0NCj4gejhHbnxTYFQrS0xYXmBqUHlkLUsrXitQU15PfEUrZUtKKytB SlZkIUM9RSYpdVMkbzx1cGxCIXxPKkQtDQo+ID9RbWVqNw0KPiB6ZXgkOzIpPHdpcUx+YW9wb0Rr IXpxcnBqMSt+QWI+QilDQTEtamBsR2tARlI8JCRTITA2YCg8JSVURWw8NnN5PVINCj4gekdWJCk1 eUppUVZ1Tz0tRXglNGpDYjdxa3otDQo+IGtyYVVsTFAjNiZzJTsjYFY7NXwlJVE/YHQ9SSVqZ1ZV Q1lpITF1dg0KPiB6ZkAkI2szMXFFdlpXMmtiUTlkJFFsVDQ1fnp5NDktDQo+IFBXSzRLOWtmU290 IT1CPyZiZjQqOTY3TCs9WFJicV4xT2xQDQo+IHpyK0Q3UXYqRWVGKjRhVD5RbkxCWGtBITFSdnpH b3J1QDhaey0NCj4gaWgySGY9NTFsYm9UfCZXZ0dAMlFkZl9BI1pFVHQNCj4gelM3cFBkWSVKVGdH KzglfSlZaDcoVEI+RF4qOz0pc1dkWENBcVNsNnVFcD44eVg9X2I7T0VvUGRYPX0+QCQNCj4gfDAk PA0KPiB6ckVZPklaRXZaRGJSPjFQRVFvcjAxKlpLOFBXbHFZQV5KNzN3SEReNzxBKlRNe3JLZlZH ZjRMMFRXPUlsJFMNCj4gQ2d9DQo+IHpvX0QjPXBXXnVgcDM4WkVJbk44UGokTTc0ZSRMWCpRfXkh ez9gVUdSeHxIOUZ6NGc+IXM1OTJHOFkxJHd0eA0KPiA4VVgNCj4genc+KzNWWTRDNkdwcSRBQ2pp YislPFomZSNNe3Jka0Rta0puXkc4QShia0ZafDtxZnExZTVVXzw7clA3NyENCj4gMGo7KA0KPiB6 ZnBZPSQjVT01QndeYkc4JHhDS1pFajRvTDdaKz9xU00zTFhoSkN1V1R0OEVJeXhoYjZPQV81ekVQ U19BeQ0KPiAmWms3DQo+IHo9SXpBM2FeJWtzQ0YhfF93fjRQKUM1ZDM9YTYxe249e1p5IXshLVR7 VTBpMypnRnooOTgkKmEzaUZhbyVKMzlKWQ0KPiB6KSFUYElJbV5yUiFPVk9KJjVaZVYkT3s2O0Ni KVZGZDk/PyopUHIweTlDRXNhb1dKWlNUanFKb0MpK2E1OTByLTUNCj4gekxnISZKVUBYWVY0K0Ze eSErTWBWPTBLYnhMYG1TdGhefil8Zm12JTdlP2VGfVQtDQo+IGtUYW03fSZsS1hibHF7S0tqZA0K PiB6clNZISNgVW93RE1kaCs1VEU2SjFZfENseiRhYiNFdCZwQ1REPkordzY1RSs7VDZwfkEle1RQ eWt8flpYV2oNCj4gaTs+DQo+IHpJOXRWc2BSK0hROylvIzVLYzM9VEV7UDlIO3lPd0VsMTxke0RI QG1JUWZzNnF0JXtQdj4mfHNMZm1Hd0NjKA0KPiBvKjgNCj4gemFeKUM1JlVRKGNqQ35JYk9WPztt bDd3KSo9QzRKZ3dCVW87TXtkKHJPWU9VKV9Deypvd0ttd2F1UygqZQ0KPiBCJG5Kcw0KPiB6O3R5 QDJoJjVAUnhuK150cyN5NWNfRHFkLT5XaXVickxRVm8tDQo+IEsoSkFNal9Fb1hfTmNmbCk2bXxz Xm5PQlReeyRIDQo+IHp8SCFqKlIlSCtxWFZYYUVWdD96fWZTdlFWZ0tZRHlabl9zPlBkN2N0Xkp1 IXMqSDc9aWUlWiF0UkJpQjwqMWgpIQ0KPiB6UWc9RHg5aWJtOyh5TigxLWRKUj0oYT5PYTRzYDNx bmVOZGxfX0RmVE9PZChWRzc4bDA8eXVVK2g0P350LQ0KPiBYS1czDQo+IHpSVXBlUHJQbHVwUHVL fntITjc7cWhET1BlR1AxQlcoUVRsZkdrZ1E3cDhXaWhLKU56PjcwKE9xaCtUVjINCj4ge2syekwN Cj4gelZfUGpwRU1EOzB0M1R1Mj1qYCNiY0ZfJVJDRzNPOSkyK34pNmpOJj1JNkhYUFNtYk8rPH1l WWhHWXolY3kNCj4gT2ByXw0KPiB6X1F5VFYlakEzfSRIV3U5JkxrYVpGRUlaNEBpfDxtQF81dyEo MkQtDQo+IGdBbj8lUjI5aDtQSnJ9QEVYeGF0NmBfZktMDQo+IHpgZndIMSVXJmBLdE9NZDVSU3xs PCE1aytDY3RHWWM2Z2pCIzd9aXJiO0JfTkoxZmpTMkxgRVA2Zn1CUklDQ1pMdQ0KPiB6R3c/fjxT VUNzLQ0KPiAwYWB0aiplOD5qaEYmST8rWk8wI013N00pYXImNzlBJHs1dzYqSk43UGhROW0jMkky KStyPThJDQo+IHpNa1h7ST11IW9HYz1VRyUtDQo+IDJrQUBiY1UzKFB7ITN8RCVAcXRYZ2ZzaWBr dnk1WFVUflAoRVMyKmg2Z24wJlAoMnQNCj4gel56RCp2Qno+fSo0d3VUQGEqREhHKHIxNXhedT5J YmNmTXZAczlwIUFlVSpgMHJaezQySkY1Z3tqbGpJQCFsPDcNCj4geA0KPiB6UlU2P3ZuPDxYMDlY dEkzUUBqa0FDdFZsYGp+dWkhKE9haURjPj1WOGJaM25LQmBwd0NobHY7QW1rbytwPSVFDQo+IENn DQo+IHoySFJNTzQrRyk1WXNHJWxeak1qZks3TTMrO1FZd1RAN0k9cj5DRlNBOUwtDQo+IE5LRT1N KW4waTNHdzA1Jk9yTzhNLUUNCj4geiFVeEtHPFoySzZLWjUwezhGdG44UmdVZkRhJlhxJEtxPjNf KntYWmBxakE2VT9RPGM8TytUQzt4QElqejQlDQo+IEheTQ0KPiB6X0ZaKUc2N2BhdFFaK0VeWEI/ cDNjZzxzeCNGPHgmPFJMfkE9MUZ2UXlDK2JOYll8OXtDcmJXZ1hSMThwbg0KPiAqfjNYDQo+IHpu dzJDNV41U3toUnA/WmhDIWVOLSZ9N1EtDQo+IEEpTys/SE0wcSs7d2VkVjRyUGBnJTtkYjI/cytq YHdUfTZTUm1fc1ANCj4gekQmdHlpbDlGKndzeXxjN1Vxen04bjt6YUd6SzBDakFlNVApYlRBZnYz dnNwaGJGV0R2M1BZaCFUelNRMSFII3gNCj4gRw0KPiB6NDFMdnFEclh9SFRXTD83ST97PlJSJGw3 MF43M2JNVEc9MHBwSlh+d0R9RjAycV9iRkJEVmZiLQ0KPiBPd0AhZm9rUXVuDQo+IHpzUnUyeCZi M3JeKGFQTmstDQo+IG8mbX14d1d+fFo0Jk15cUlIayQoNFEqcHpReEY8d1lCRUNFJjk7aEY2UzMk bHtxNX0NCj4gelB2QFE3PXlFdVI1SEwyWHJgRE0lUCtTeG1OMHUjXkR2YytoVzFmLQ0KPiB9KFUz ejArN0NaO2peS3l4dkgzdj9iWl44OQ0KPiB6dSpJJUspMj5rYk5OMnpqPjxxYHFMJXlrYU0oWDBU MXUhUj98M3BtczFoYklOUDlkME5IdEJWbTB8KE5ADQo+IDN8eXx2DQo+IHojZ3ZKej1GWiVtaUtk LWBWdU05LQ0KPiByaVk/KUxrPGRIUEJmPGxRQ0xXZUxOYzNzZD16Z0JidlY3fXhydXZVS202c3IN Cj4genVYOGdtODFBPGlXX3VXeD0zPnwoNyslSipeQlo5eUVlNlNLcnVpNntQMilmNzU7SVZiS2FX U3ZlYDsxRjIlQg0KPiAjKg0KPiB6Rl57anMlNGNGM3xGRjV1RlM/X09qRXRXQjQ5SHJpeWIxQk9e a3IhK1VZVns4Qysra2dNZXFTJngrdkBhUygNCj4gJTh2DQo+IHpqTlFZPU1NRHFnYkE0OEZoOFko YTBiYDV7O2ZIeUNhY0BgO1AoWCV8VUtpK2Z3TDBRUUpKVC0NCj4gYFZjO088a0AhTnENCj4gemR+ KyZlS2hXX1VHJnxGTG9lfVRSRURQK0VrejAhfWV8fU9rWjRpLQ0KPiA+SW5pMGNtKUFhMVhEZFRI PEBERXg/N2I5cQ0KPiB6ZDRRPj0pUlpnNUVrQnpQe0F8WUg9UmpMTF9QUm1hKHMraCppOUY8Kz5s b2dGaFFNQVluT2B4ZXlAdDR1UFANCj4gTWNgDQo+IHpHTW5SVkRgZCN1T0FGZSNiRUJjaG9ZRmAr VCFxNjUoWVBDPU5INWFGT21TMXA4IXlSd3RidHZ+RjdCaHkNCj4gS0hZYm4NCj4geiYxY3JWQkJ8 MjM8YDM+V0NkPjZFcVZKYCZ0UnlUa25fVXBsOWRGVVNaXnZpbFZPPCtIdCpWeFZ3X0gheGFjDQo+ IE16cQ0KPiB6bW8mND1pNmBOUVFRJUE4QTZfZ1prIS0NCj4gSDV7d0wjP0sxTytlJFVAfHhja3ZH XkA5OFd3PCNFMXtZUExqWS1tS142DQo+IHo2eipoK01RX2xDY2JSYj9vR08pSm0zVj4wLQ0KPiBU XyZxOEtCMXltOztYcXBoIzRFRmokczhxWkYzZjxQREt7b35aYWwNCj4gelo+WTgmaiFSWHMpM254 e3VoZlgzZmlBcnl3Pllnb2ZVfH5EZjE3aG8+YX1Gazs5VXotPVk+OzZ2a04qX0U8MUVrDQo+IHoo OGRvPSlySmRSVDZ5K2lAezZtek5uYlBAQGdBPExIOzRCTT9YZERCTWt+PSNSNT1kWEY1QnA3SjFU UQ0KPiA9PmFXZjMNCj4geiNFI35xdHxLbD1lS09NZ25ePyhgYj15PD5RIWwqelUjV3VSZEV3OzZN YWZ4TFVVdFBOSDszaUU8MnRHTS0NCj4gKTBSfQ0KPiB6P29HV0dgfW14NXEpeWRkb3R+OHsldnBU c1YwP1VQOXtWY2hsJDNHQmBOelZrI1psQEl1Q0Z6JThMZn40NHkNCj4gKUMoDQo+IHpuTF8oSTkr QEBOezd6fmMqS1ctVkNweismay0NCj4gYkE1S2I5SnJHZFVpZWI4JCgwe0c1eCs7KVFjQW8rX357 O1V5UT4NCj4gem5SO3oja3VCaTdxQilDYTQqRj9sMWstS31DKkkweWVrY0J2cjImblNJPWxaPyUt dXp8aFQ9eklrbXphMGpvaVd7DQo+IHp1a3lAR1peezE5TjxNTGtha1JQcTFJUHQ0S2hUc0NGVTYo e3k9MmJXbjc4KHRee21QMWkyViM0Z3YxYWdBQg0KPiBCSkYNCj4gemYqYlkmeGxTMV43djxhSGVW TDQ1RHV1ZllDLQ0KPiB9dXtvNHImTVl5VU97a3dHa3oha0E3OSZzMns8dXtqKnMpRGJFSQ0KPiB6 ZzFXS1hDalByYFkwRzNAOTV3Jj16TCQ8eyZDZmhHbDMlXzBmYXFZMCRZWHY7Qks2KHhMPjNPV0ZN R3oyeg0KPiB3Vmk7DQo+IHp1MDI4NilqJDMhJkdVQEMjTX1eNjRjKiRYUj0lMCYlXyVmPVJ7UlZ6 M2wlfHlrOU5NZFNYSXc7ViZwJA0KPiA0Ji12elENCj4genQ5LQ0KPiAyfitNems5WGI1azFzcFFy TFIoVilrI0s9IXA/TSUhcT0zeilvJnorU008WEtHRXhzZTJAVntzeENQX1NaDQo+IHkNCj4gekBB TCh0Ym9meEkwSShUfVlTaWtBMF42Yk8pdXpyPlN9Q1BlJGI5PTlZMF58JW9sTG9OSGleI2NBakNa aVFEITAxDQo+IHpNYE96KGRGQVE9R1FPSzFvNDdWQ0JDMHp0aihxQiZxMmVzdWM8YWcxY317Vipw Z2MxLQ0KPiBTZGNtU2R0UDZyZT9jeC0NCj4gej1yfUVNQVJJZGpjRjJwSmhVcjV7aT1mJDtBTnZz UjNTI0JYRT5VRUdgc0pCRnsje3omKSgtPGIoTE9DJXdTJjhrDQo+IHo+ckJTPjdiOzUpeismXzRj WVVPbjIrfnBedlhXZE1udERSOTNzUDBQSTsyTlhhSnhGQGk9VU1TQDlKMCgoDQo+IEkqbjsNCj4g ejY+V1RXKk0zc1BUJn19byRFeTsmKTs1RCFQTkRQfmBCfmFjS05kKDdrdnl5JmtZQntrJGFpWGpk eyQyQTw/fg0KPiBpew0KPiB6YW0la3tzcipYSj9jKn5QbzNLe0MhSUc+RjZRMG5wRF9QbmpGSHBZ fEJ0PXt5KVhMVjZtej1zRnslRGtRTg0KPiBtODg3DQo+IHorMWYkSldIa3x3QjwpTnREM2M8IWd2 S3pqZyhWT0c0JShHeXBJVTFreyltdldORD9NVWczSk8qVzQ+DQo+IE5xWFlSNnoNCj4genlwbVlP REl+Km55QXFwN2BtfnB7RTN2dHBgKncxKXtYcTx6ZF4/RSRpSVVJQ0RfQGB4Q19zJXlsfihTMGk1 YD0NCj4gRA0KPiB6Pi0NCj4gOEpEV3NiemYlI3E1ZkJBc0tobjlCJD4lN007QCNVYmE4enwpWjsw aD8oKzRDYn1wQGZaVjMoRmI8QVdIDQo+IGQrLQ0KPiB6cnRmamhneHJ9MmAqUkM2R2JRWllwbTQr TV9eaj9SQHI5ZFEjaW4peXVBaCZicXFHZVEtDQo+IEJIP20hOVF1UUU2P3FhDQo+IHpjVGVaMjhZ ZC0NCj4gbGpLXj9eWnNwemQ1JVI4bzQwJVVLOXJ8WX0lYWRAOHRUfF59JFpkXlFnYEIzOTFZenoz UzMyNncNCj4gektsPTJSYFhxWUdkQEZgKTNVSiR+WFhnbUg9UWdXKUFsRlUwNnw2WFlhVW02d09G QHFpYnJJK0s2OEIpaA0KPiA3WX5xew0KPiB6JF5+X14xakxvYTdwRj45ODFLb09xdjh9e3tMU0tB VlNJT2g2K1ZuU0BMM144Nyo5fVBFT0NlT1U8QyErVg0KPiBZQVk+DQo+IHolMlhCKGxnMW5sP0h5 UVNwcC0NCj4gYUsyNUQ4S3dsT35fazJ6P1ZuXj0qQDdURFJqTTNqVXBrSVBoS1cjI2N4Qm5JVWoN Cj4genstDQo+IHsyd3ZuJWd0eyVNRStYdFZMd3RGK3RgdlpVbSs7RzQyIz1iNFJ+dilxO1MxT3lM cTRReDxDS084TER3MCsNCj4gWVgNCj4gejZKWXJ6MHVEV3I3anV+TmMreCl7eU9qUUw8I3Y5b1c+ fnxAZ1VDT2tXb0h7VVFqaX1KI0dhe2I0N1prK1RJDQo+IG0hPw0KPiB6YlE5LQ0KPiBga0QoUSVq KH1wPkBEJFpBVF5JWUwlUUxeVil7JCtWZEdRSVVKJktybFlgVTEqdDhlQnlvUT8zZUQoNG8+DQo+ IHo+XnZYZmhyPHY5SzBuQWpaViUjMjlJYzdsT0ExODZhVWhoP2YkTCZzPElZQHBocEdaRGFCSnZL K3t0fm5NPg0KPiBfKXoNCj4genNffGI1NiNCRG8yTVcjNUAzPXVySlFDKjE3NnktDQo+IG1zelp5 KDNKTz5yUCt9I2chQTZgaWVXans3N0NpS31FajxfaA0KPiB6RUZkfWFUZGVEOEBFYT5TamMqSTg5 SDNId00oODxZLWVwOS0NCj4gcnpWSkVzO0RrYj5WdjFTMkNjJFUwOHZafHBqdTF5DQo+IHo2YnI7 amVOY143Uz9LQzgpbzRsOFhkMHNrPCMwIyMoVDIrRTsjK1lBXi08R2AxO3JBcEY0fWA7QHVzKGNI fENmKg0KPiB6UXR1cWFnOTh+Y2FHKl5QaXBMTXYobj9nI2srViRJOThQWU50U2hzS2xHV1V7R2Ne PUhTd0dRK2VRWXdKDQo+IFF8YEImDQo+IHpAKiVqdVF2eCU7NzNkVF40czB1c1JkRzVOam58dzA5 ZXA2SlU+PVd4P0BMS3BjPVBlJlhKKTQraCQ1Qg0KPiBATT8wNj4NCj4gemxGdG0zezNecEglUn1V PzRrdEItbHQ8KFlWRiZ0Qk8zWThAV3pNd3YrP0ZAcG1iVn5LLQ0KPiBhVygxQmspPWIwTUFmaA0K PiB6bEJrdmZYSF9pX09NeGcrNTFwRDJ2WWdvRzghfi0NCj4gSzdySit0QG9lcW1MfnBVe0BeUXRx OCs5b0xkTypuKmFrK31DDQo+IHpXY3lJRUdjSGw0QUJRQ0o9LWI4Y15RcGoyMlRgKFRmNVFfZkN8 TXVhREpIaVRWTiZZLQ0KPiBFPHdxRDF9VEcqI1chSlINCj4geiFxNXpwekVXakFFKHEycT9BXz5B WFVPP2hFVU9pJSZjSWt1MlB4TT8kUiNqPzlEWTxZU2ZRNlVHTFRyN3MNCj4gNWRgNg0KPiB6TCls SCVGQGg4NVFTfFhZdnA8K21SRkJaRldCSUVDeyt3PWdMTGNwe3ZYcnwlSylKNzRPVCZzVzF2fUI/ dQ0KPiBsMGwoDQo+IHpsPUZkfDgtDQo+ICNMRmdzSWImVVpMRWw+OGcjbE0kTDxCSll3X21XMm9r SHt2ZUleUlhnbVJSaz9WOVI4ZzV2PW1CdH0NCj4genMmK1UzPSZEXk9vTUxaQ2x2PUdoUlljZzxO TVA8STBOTTJhNyZDcHA7fCEtDQo+IH5aKTl3SDwrYDM9cWtPWmAjWHJJaA0KPiB6ejAtbmtWTUw3 TGRZQXQ5NDJoQUd4K3xDZjFTZlVCNGZOVFlhSko5d0lkKCt1cSl2XlUhdF8kSSR7WihOKC0+WU8N Cj4gekl1N1hfTiRscTY+dXthPHJaVHpjSUNjI1h0TWNJRzBVZnRieSteTHtIeU0xSVI+ITNla3N7 cSQ7WC1SbWMqYlg+DQo+IHp6T2YpXmU7bnVCUExhN3Ijb0EhRz4yMERlVyU3Tk4+ZjBRM0RVbTFN QWtWOy0NCj4gZXpXUUxnZWV5KmxvaFY1ZihzTSoNCj4gekNRRUIyY3xeWURxfnZvd2xjcDNQTlQr S25va0RDbXVrXk5AKG8xIWtgRFFyVUVWRjZvQ0tEOXNoSzZLDQo+IFM7cXooKA0KPiB6TCRxa0tA UnFKUzs2UCgob21CXzFsVWErRW9wZUIjK2gxYldYNnU7PnVrS2BLUz9qRjBFSXtxbHBRTEAkVTQh DQo+IFh0DQo+IHpEUnB4PjFCRWloY0I5TV5IR1diPiY2MW5qY3JPail1Rj40Q3hmUTV6TzZINyVj MmV+Vz9OeCozZV9RWQ0KPiBCQW0mJjgNCj4gel8lR0pHb3BZZ0Y2RXg0UCo0JUVyLTUhY3gzJCs1 fjQkQ0BmPyMkRFMmTitjQGQtDQo+IGMmRVF3V1dWNlB1XldvTj08LQ0KPiB6Vzg2MXtLWiN+VCFn QDI9UFNWcUkxZFBSJkFEXkozMUE5dkBVNTZFPXF1NChLcE0pJkpNRkU3QDRvOQ0KPiBmUU5rdl87 DQo+IHpZbyVFS00xSGluITxJI09GLQ0KPiBvMUBMb3JmdEk5Vkljb1V2QVFkZXRCKGMzN0V3U3BZ P1Q0aHJlYEBNQWd+aG9LfjwNCj4gelEjUnI5UFJnNUBFWTYmK2lXbDhPWTJVVmBUXmxJdkRUWngh KmhvYmx2dmQ3WFgqRihVbVI1VzBKWCskQlMNCj4gdWB1NQ0KPiB6SihmN2RMR21WS081U3l7JXs1 SEZ4JD0xdThBcTRUYDw8NUlAXkA/UjgxZ3J1JiNaJlIqSnN9a3cwNF9TPg0KPiBZaEdoDQo+IHpr P2o8N0RrdEgzT0I5WHw/RFU5U1FobH5ed0l2YSY2dG0kQVBiIVp4ejNZSE9mQDFsSDBue0gycVJ0 Vl54eg0KPiBqdGUNCj4geldCRDZgKDlAMTtQUnU8fVVqXnExbip4UlojajBHfUV8SzVxQD89ZG4o SkchKU5aYHNrbSFPcno5bXV9M2F1DQo+IFApSg0KPiB6WCtsOHNicCo9KGtEUmlKbGV4V1E8ZT16 Z1dVK1FMTGRtV0V0PTlXfTZ0IXc9eUZSajM9Q0NUWEYpUVU2DQo+ICZobV5SDQo+IHooYnVmVWtL bCoqQGdLYWxEfkY2PzMlc05IMz5efGZoRkJgfnF9V3BMJTEpT2BKc3k8OzJ9JmhOMnZEZzZMRw0K PiBMTXUNCj4gejh5KiY5PygheypRcjZLbWYqI0diUEdjeTJtbG0jbFFueXo4clhEQHlJaFApcT8z cCFVRk10akgxZ2UrYHppDQo+ICMjXg0KPiB6cmxzVyl6PSVTT3ZnSlpObDU4fUtSSzZnV3k5fjto JjIkQXklfnJ0RHlLQEErJDZEfDlKK0k+PlRzZjNacXENCj4gYnE/DQo+IHpoVGpESHpgVi0NCj4g KGdOPStCaW12SmI0eDRnK2JrKnhUTmtrUEpOKmNObm81djtqWjBhaEFldnkkIWJHbkE2SFBARVQN Cj4geiQ0dDAjeFVDVEhtaHdHXkBJOFAjQl9uYHBnRnU7VW9XM2lEN2pzZSQhfiRwZzIjQkhfaDtu RG0yIzd0KikNCj4gQkxKKg0KPiB6Uk1GOXBmeHs0cTBvV3hadUBqKUc5YD9KfF5kT29XYmRAezA+ TTtlYFg/dzFSRD08N3FiMnhTXnlxVQ0KPiBPQDVxcD8kDQo+IHpSNW0zKSN3PWVfM2dYTip2bmk+ UEhxcmc4JkMzR2FqdDhrQFJAZThhYWs5Zk00a0prSilGTG9VPTR1Z1ENCj4gbjg1RjENCj4gem07 Zm47M0JTWkoqLQ0KPiA7bFhMXyNLQyt2eW8xQ3o0cWZZbyQkZlYjTSNMNE8kKXteTkk+SFNBJXl7 P0cmPHpKSD5WTw0KPiB6UWhEQFdQdXMlcjwrYkxfSztAX2ZUUXtoailJKiRvbHJOaUJNcW1xQTh6 RlA4ViNgKHpEeWZ3TzhuS2RnKQ0KPiBIP3o1DQo+IHpmX1NWXkRrdHJ+cWErazxabDxQK3l8fWhA ZzRoY302RGlLej1Xa1pITWs7aFdeKm1LOENeSHZPJEBQTg0KPiBAPT9yfCoNCj4gekgpY1luUS16 YEReRXlUbEwxXmN1QWs1PG08MSh+TUUpRDBuKTVBMSgxZn4+ajMlNCtCO2BDc0Y3aW9jNmlVPUpn DQo+IHo1Vz1NK3kqcnBTPldSaykqM3NrUWtKMndBTUFAXnkpfWY3UCRLZ01HM1VtTDJOJUtSUWlT dDl4XlkNCj4gPUpeUi1UdjwNCj4gekA/PFExdUpTfTlLX1d4M0RGfHpLUlA2NEk1ej9jQk9MJHlJ bU1sbSNjKGQzUTQxWHIzXis8WThIZ354U0oNCj4gUjVOfQ0KPiB6KTB+Wkk/clZKPyp0dU1VaFpK RV9aUEw2RnR3LWgtTHxOO3IrRm47fHJZNDlmbSF1MXVzTms5NnBMO1ZMPDgoJUcNCj4gemBOfi00 MEFkZEM5a0F9UyRLLQ0KPiA4Uj5DPkV+PHt2QFNZYn14d3ElVVJ0dXhqfUY7bEQ4N0trYUl6KUU1 Smtgc01ATA0KPiB6WHdOP0M0I2d8WHElUXwzPHBWbipheXdGbHgleXRzbCh7QTQmV3JONk1xKCl4 eVgwM3ZpajZNK1YkKmNRDQo+IFdRQ3B0DQo+IHpnWCVDNnNXSnB2dz87Qyo5Nl9oS3cmPTAtREUj Snxnclh6KXRAa0lYJmVOJXs/N1o3NSFZQ3ducH4tDQo+IHgpKUApPHANCj4gek15RWpQKUJMOFVJ PEkqSWEkP2Z2TVNRZUxaMCgkYl5XWUZYIVNAM3ZsN0RWXjMjKTJ6OyE/I35PRlN5dDRnaHkNCj4g Mg0KPiB6QTYjcylYZ3VyTHkwe1VeUkFwdmh1ZGpTRncxUmNFMTY2bHNQUlN0RXdMLSp3T3hYRH1s NHF6aVJDYGAxR2JLfiUNCj4gejdUeT9JRCsjcVchTHlRYl50Wk0kS1FuYy08TGt9VGx5O2hES0Rn YEEoPzJqanhlTCttdmIzKTFhe2hMNDJjKTIyDQo+IHpTeWFJTFMwY05FPFJ8a3BHKiszfCREK2Am I0JSYDdhKyVGYktacFNVIXlLO3hJPTxtTWg4PklHdzAxMHEhDQo+IFVQT2wNCj4gelFIc2AlamJH MnkhdCl9JT9kZzxRMUlmcmY9NUZ4fENBNiEkdGE1QFp3SnR3ZnRJc1lPaE9FMyFqQEpoODApSUYh DQo+IHpCSnpTSkBQZHh2TU54OVJ5U14ra05iREd0ZD8yVnVSLQ0KPiBZYnpTdiFCTWtxa2Mpantx Uyl0QFJUXjZpUj82eVV3aiQNCj4gekk7aGpRNjBjX2tlci1SbFI/aS0NCj4gaz1ZWnUjeCtaJWEl NVUpcGpfQSpePGdHdGd5YWo0SnNoPzgkQEN2PnJQbTxtUA0KPiB6dE5UezJ1NEE4TXs+SmU0Qzgt DQo+IGJXTTk4ZzBuRTVUNURnOVpQMG0zWUpOZVNjMChUMGZZOEZtUk5VU3Nxa3IkZE4rDQo+IHpS TV5DPStkVUFmVzh3WH1ua353JmZuVGoqcD9jO09TRV9XMlJuO3c0bUZqYCRzeERIc3VVeUhwalF2 cw0KPiBwVytgbUMNCj4gelNoPk1uYHY1X1RKMlo5RXVANDJGPGY2TzchQlRqfEV1YzdZeTk/JUh3 c2ZhMWJjK3tRNXtTPjAyQD5gSUYkWA0KPiBaNA0KPiB6MnJeK0g/MUFvanJ4VkhIZE54QWwkMTFA Klc4ZiZqPnp2MWYwUksrYEprJDBfQiRMIXEqRUV2VjIjdl5FU3VqDQo+IGExDQo+IHptXnAmPSU0 c311WEtkayFuMURZTHkoT0d5c3NiXzRgIT1CMEBCT0p2SmlYcDtgQkZ+cjZWcDQ+XnRUM2otDQo+ IHZAVD8NCj4gel9qfl9iakI7M3BMSC1jXkFCYS0NCj4gNVllej5ySCZgfTFCN28/cVR0cW5SWFBR KEhrcT5NVU5mRzlDPkB8eU1yWFlHPQ0KPiB6MjZjNHhDUWQrMEgxJnA5OEt9MDFqdG40TFo8Vn5L PypOLQ0KPiA9anRMXzJmaHs1XyFoR0lHQit8fVpufUJVT1ElRyt1DQo+IHpYNjJAXlgqcDZ9MTxG OCpFZU1OUiVQSlAjIX5LUT5eZGF9XiFhK0h5Vk4lMD5EIXY8MUJaKzBMV3VaDQo+IDcqXjtsdXgN Cj4geiQ0WSFWKHt4cW5OSXZ1OTZaTGJGcip3O1RNa24kJWVZNWdQRjttYn4/VG1gTDhHXkhSMjZJ QSRWcnVAKGlVbA0KPiAqcA0KPiB6MEdVNCU5RypsVHl1dVNTdF9yZEk7U0V3JlhXTUZlJkdEMmot DQo+ICpWbX03QUg8d2RtY3RhVWhhXyo9ZXV+d1VuZChPDQo+IHp4UkkyQVlFZWJlWDM/aTZ1fFNT ZVdFVHB7U21GcDNLVU03d2EjdHl5T25vPXNWZXZAYVNDeXNaJEA3DQo+IFdXY0dLIV4NCj4gekk9 MXhlN0pgbihuP0UwRU9GXzx5diNZWGotV0xJIUQhSkkhdkVaZy0zbDtEbmI2U3kkNClROXg+WUVh fl5XIyZxDQo+IHp6bjsmeCYmbGVXJGk4aVVRNjhvbjwyKmxncTJ4KkNDOzMpS0xAK2B3K2RpJiNF bj1INGlyRnYheT07amRMOSswYw0KPiB6TSpLIVRKMHMtDQo+IHRTb1R7c0BHRjEyaiY4U1dvRTR1 JiZJVz56dSpYIXV4YElPfSZvVXcjazN9fClaaTdXdk8tQ19mDQo+IHpoZ0RXfU1fMCtJO3YhfFVa dTBgVXlDcGx6cSg1WCVYNUchKVIxYDBeIyZCWUhHMjB6d0F9Z35Xano1VXFoDQo+IE99YzUNCj4g ek1yVEIoUUV6Jlp3UytATko/bVVeczVGZE8hPmVoRXY4ZGo7ZiMmISFAO19DT3hoPV9AO0tIfkNJ IyZmag0KPiBaJXxObw0KPiB6Tm5hdCM+WVBpMDVFbGp1MyRgYipGQzEtNzI9X3sqYlNnI1RIQClr STdJPD9kWElpa2QhNTVfJFQ9QVdsRTd+e3wNCj4gem8xcVBwRFdjYn5JTEdQSGQ8bm5NM0VAendL I0VPXnQ8bDM2O19MKzNjRWNNenhKQFpua3s3U2MmRV5jDQo+IE0/NlFQMA0KPiB6RC1eZmFSdDtA MDsoVH5vQU8jWiFrP2t3TykjNFpZbFhoKG5tT1UtDQo+IGxFOzc9M1Z1YE0+V3Y5MXxIV0I+Nl5V OUUwDQo+IHpvVG4lI21sYT9BcjZqbz5JQzdTbEhDTEBaaXV2YntoQDM+XnRUOWg8ZDhmPGpWaX5Z emZAT2VoUkZ0XjBTazgNCj4gQE0NCj4gekQ7XjtPSDRsZyhfQ1Q/QUJCeHRENU4jVkxkfDFVZjdL NSRUPHQ7VWpOQDJHI1otPzF0JEBCRipyLQ0KPiB+RUxldmRxUA0KPiB6Y2FfVmxPTCRmNUVGbU1p aTY3LVlzcmgyeTZFbDUoPTFCSy0NCj4gJjcqWSFkNkdieSZVcyNYcVVuQXRUcFZxV0NMOFhSDQo+ IHpzQHoqSFJSTVIreSlCQ2gqT18weVVueEFLNTFLN0pTdTB0UUk2WklgP1lqUT9mQGU9NVBzS302 ZURNMUENCj4gZzBAQTQNCj4gelRlPElecGI8aloqfnMkWSMqbmtuUShld1JheWdGK0xtdHlPKj9k ayp1UXk5NTBIIW9vJUl9JjdsYWNmYm5BDQo+IHIlVQ0KPiB6WjN8MStoMSNtTkxlaDEwJkkzVjRw N2pnSzwxJi05P0hETUkwLQ0KPiBFJjtRJDIlWFRtZ28+UWMpdGFUQjYhd3ZWKjl5DQo+IHpyZFZR VEJibFI4NGIhTiRjITlEQDtwVW1VcS0NCj4gMEVKUyRtY0l5e0V+UmQyX1lpTmZ5QFM8U0JfSkhp PUMxMXhTcVcNCj4geitud0FRPEA4RGViSHJNISR+fjh0KnBxKiR1Q1J5Z2xxcjgheUhgYG9SRW0j P0VZJj0rOVpMYFZsbFREVGNJDQo+IFdSTg0KPiB6REc3c0pYQkUwPDFyWGtHbDlfc1V6Xj9JdTlw QFVWQn1KSSlvM3dSbFJ1OURaPVRpPCNreVNaNDRVSGhFIWxyWA0KPiBYDQo+IHpaTWUmRXE3a2Yt DQo+IGk3MFIla3g8bz89Wm17PHw2SUd6KSs2Jm5mdj11WD1TJk8ydFdwP25MPHoqcUl3dV4yXyo0 IT0NCj4geks+dGBnezxgJEwkfUVCU1hmTmlDTnZBaD8hVyR1N1gjM0MwRkF+eFhfZ2p5eVYwYERN NTQpQV5RLXVPRSl0aWBQDQo+IHo/RiVvU1B3KWt7PUdnTmpyT2U8emBxUGBvM2NNRi0NCj4gP0FC dkh2dz5WM3opTzlabDRmaG1NODw4Nll5WHgqM31VNV4NCj4genR0eFcmMDx5Z243S3ZPZG8jR3NK UH1jTnFWPztwK2s0NGxfK195WnlCMGpMd0JgaExFbkNkVFJDUVJSSEJJDQo+IDI8fQ0KPiB6Vj5t YU1mSlNie2hvI2Qtb2o7T0RNU0ktDQo+IDQrXkUwPCtNbXdoZmVJQW1SPXxqKmRWODx9S0NyRVQ2 ayQ1PF5lWFV9DQo+IHpHYCo9UGRAQnxmZmhec0V3X0IhQUdHQ0ZpPVphPU1VJXtmbVp0bk4oXlAo fShXO0p+VWElTT9VK3JvKg0KPiA9UlhAWVkNCj4gek8xaVBlUDctOFNRNE8oUDkwcGgqeHJ6a30t DQo+IHFgIW52NzBKblp3eXhLS24wT1RkdEB1ME1EaUI4MFMxVjFxNjs9MA0KPiB6QkdyP1gqT1o8 IzBLQ1ZwPld8Uj04XiVvd3dHVzRMaHhWdUs/YCh7eSYqfE9Eck1Wb2FAP25OWmgNCj4geHBNUlYr R21EDQo+IHp7Nl4+SEMyODRQNTlMQn1keGBlZTA7d31DUGNJe1pBKiRoa003Ykg5K0oyeU5WbyRp PFQ9eiVVbk04bWYrDQo+IFJSeV8NCj4gelleOUAhXyh5YnJ1TmxwZzJvcFBwcnI9e0tJMXE0WDY3 QmV5cmgwfE5uSk47XmVvZTVqJmpreUU8Jn4kNGVWKg0KPiA+Zw0KPiB6XjdPTC1tVT9EfFJLZSV6 OSR+NUR7RTlGRGR8K249KmVwLVNacjRvR2UmdU4jSkBCK0Zoem1+LQ0KPiBeVUdINF4wdllIDQo+ IHpKcEpROTEhbV9+MEJfPz1eWX04NDU+JnRrd2lRc0dldyQ0ailTMyRYTCllI0ZWYzdacEIoZUdR M2Ioam14bQ0KPiBRZkENCj4geipzTzZeI2xyNXdoZFlKY2NQaEtyPzZlREd2dEYpZkRCO3YjNEdn cmBKQnNsfXEjdFcjI2NobDduY1VwfDN6eXhxDQo+IHpWVUF4Xm9QN2xpI2hsPWN6IVgzamZBN28z ekVEdzlCQiNQdDRPRm1zK3trR1Y4b01xV0ZDc3MmOEo1X0ZnKA0KPiA0aH0NCj4gelVMWjclb2Mk MF5EdjZQP0JRdVYlbCZza3lLNzMmcWx5SUd5YzlpQ2p4QGsrVmBIaj94OUQlVlNhI0gjRWUtDQo+ IFNUTg0KPiB6U2Q8bFpZcG1rLQ0KPiBncV9DQTYoUCYpYntQN18yWD40d2hKQFVpJVdpZjExd1V8 Wnljfld7WiVgNSNta19vUXFZNl54DQo+IHo4VnAhTDVESmoxdSZ4Knp8MiVmP3d4fjxhK31Kc245 enNKU2FTM3E3Rm0wbXJzPypWNW44eFFGOUxSTHJ1enxkDQo+IFcNCj4gejRKSzM+JU1ucSpLJVR6 VFNLNHt6P0phYDlvMT1VKkZtTVRsVyNFMz0lUkpoXlRfNE8kQUh4XiQtDQo+IEhPKzJBTiNgNA0K PiB6X0FsJGZ2ZzlEVjZHPXt4WE14WSFYTFZ9XyNVYUdJPn13JX57KTBhPiomX3RNO3EkQytyMkN+ P3lreUh5PHMNCj4gRFZUDQo+IHpWJHR6Y3o0bUxzZSlaWH1lKSRUUlNtTGt+TjZVanNBN0A4XnJE Xzx+eHc3VVleOS0NCj4gV0ljTzNlXyZRMFhqQjF8TV4NCj4gekd2T0EhJkdTVXk3SX44c1hUODFR UTBzcXdFN1RHJXlFVXZUQCk1PmFaSEI2UEtlWj1MbDdAYmtBMHJpMg0KPiAyS0NSTg0KPiB6dEVl IypITkJ6LXROSnxoc3ktcWY8ekpZdXRBMUNkUGJfYXFOZDRUKiV1eXpJYi0NCj4gcUJZaFZVNk14 cExtKXJPMCZpDQo+IHpaM3NwbWg+eHR5PyZSKVBCaVRQZ1Y1emZSTlNrbD1UZ0MyO1AkY0p2TyhU TlFCV0koOWJUJGV0PHAyVitAbikNCj4gcVoNCj4gejhrO15adDIzOStsOzZJcUpySUJDOC1JajVP UD53alQ3bChIe19vbFJXNFg2MnwxNHMta1IyTEImMChaPzYwPVpSDQo+IHpEeUpvfFhXYXxobmVN M1ZeJVpiP2poJmQ9U2J9ekRua0otDQo+IDsqSTM1fmJ8VTA8cXpKUzleS05fN1JicWROYCtnJCsN Cj4gemI9ajN1SlZ5PiQ2Q1FSdTBjK05GZihWfnVRQmN3ZT9ZMHdgSW9TUXFONHAwKEkxZE1eY0l6 RkEjcHtRaVFuDQo+IGZlWg0KPiB6ZnZXa3l3cmJpSHJ9JE8tDQo+IEZJMTlPRE5jU257QUhheT58 aDlXZW4hZGdOQzRPUFR3Rnw+V3x+YHJ4T2B4WE9OdVoqDQo+IHp5R2JqRXdtYikxeEIjUjdFb3dA Ull8K3lkJUpnJnZkfVF3RyNzWnxTeVN1bFRvTlJONnVGQkojV3E3DQo+IGshekEyRT0NCj4gelJk R0hNPlQqVSZiZEA3TllSVitgdE8tDQo+IHtgblolVmg5cWttYDdXXnBDZkAqNiFTWmF9bDUpJl8h T1owcCNEelUjcA0KPiB6WnB4czAocUY7R2w0UT1RdF8kQ1N0e1k1TlpJIyhTSWx7Pz90Kk5UNTN+ YGl3Q0FTZFchJFBqdGt4V31gTX5kWFgNCj4gemxvXzZNPG55diUrKWdEIVZnPERHam4mWEBMcmc/ az9YdUVwR3coZilkKF8kKFVibDckc1NpUkpiJWMlcTNJDQo+ICpyYA0KPiB6VFQpOUE9Ri1vM3E/ UWRBKURDNDxoSC0NCj4gK1g9WlJ3bG87Z3E0MXglbV5SbiNFSHI5Qm1MdU5AUz9jcXZPd0VVPj9k DQo+IHphZG1PcjVOallyPF56I3o9dTV8P1JKbkl6QWJSKDVueG40WlEjZCp2Wn0wTTNDdlQ4MXEy SXRXQD5LQnh4Mw0KPiBQJG0NCj4gek5vazYlOVRjTztXUkNQUUskTUxGQ3tfb0R3ckAtDQo+IHxZ fTcwRU9lR2goMWN7bjZJdHJPWD5GNXhtK05uMjAtSm5GUg0KPiB6Kl5zUV5LJEduT3FLYnlfaDxj JGw1SW12K0hxKSN9RCl+aDlmZGZQPnl3TX0tVUNNST9hPmBLLQ0KPiBXJSNAOW1MeFJuDQo+IHpt dUk8ZDd9d0RjSXBPTldeTFROfmt7OU4xbUs/YTJJZ2EmIUErKWd6Uno0REpsSCNKOWRSNSFmNnty Sy0NCj4gNn17M0cNCj4gej5ndlgqRzIyKmJQfkZwd3BkUHt6OHNLOTVEKWRud2UoKEdBTiMlVkdG Kmw0MDVjNFQ7RHUrSkJIfCtDTg0KPiB2WmdjOQ0KPiB6KUVPWFY4NHc7Wi0tODxpYFZfRGUmMmA4 WHBPYCp5ZlM0T0AmYGp1bikwbDN5KV54WEVmI1IwTFZiS0dGPXNadmkNCj4gelE/LQ0KPiB5fjdN TjBUa3A4PVBnc1N8ZE5ZOT98YH57Kmc4ZjleKyoxVzFBYD53eFdsPU1IXlRAaEZyKmRHJGxIJHRD DQo+ICYNCj4gemZiJURXKV5mYXcydmNUTCpFcWVSR3hBT1BtSz5TQGJDUEw1eyZ7LQ0KPiBCZz48 P19OdklfTCo3WV9BaykxISZLNE9OPg0KPiB6UDNyNntpfUp+V3ZLeFMtKCtCQ0ZSS3JlQlJVUFRu M2ZmVFB3STJUS2FgQl81RCRLN0MzTztAZFk0SjtEYkcobH4NCj4gelE+Xy1qdyZfeCN0WDItVk1K bEMmVm1JZG9TeCEpa2BOJEpBLQ0KPiA8YUNpK1BrV2E+MHM3SzVha0k5ajJ+aVZgOEFZZA0KPiB6 SUcmVjdWbT5se2NFNSFIWDhaXn0jRXMyYUo0P25abmdXQHdhRiNMfUxPN0xCaD83PW9mKjQ+Nmlq R15zWWk1DQo+IE90DQo+IHoyV3lTMjI+OHMyLQ0KPiBpeTIjSCRoa3c1clFJWW8pQWlncVlgUWNK TFo+I01BRz4jQSZQJWRDbk9CQGFwJnEjUG5hUUANCj4gei0NCj4gMHN+OCVlb2V0JlZPZE5ScWJI YkFadmVlNmJAXkQ1PVNWITsrfEQ8b2lwPH48Jn5kVTlxYjdzVWB7ZThBDQo+IFp6QC0NCj4genZY RCtXO1AkTU5GSSo+MClaPlhIejkoU3pUQTZwR0dpZHFZTWkwailhJmFLPVBCSzZIWXlnTGF2XlhU UW4NCj4gVWNqSg0KPiB6JURqIWM0QWVLJEYpdThsbiZ9fTJKfW5UVSVTT09SUWpldkIwZCkwRGsz a1dDNyNzQVN7RX0yd0pUUHtTISpvDQo+ICVPDQo+IHpfVCM5dUZvUm9eenBRRG9sUTB9dyM/YzEt c2ZoJEMmVDd9fCUjJjR9YFViZkcyb2REO1dJdWEtDQo+IE8+Jl9TQUFfIVENCj4geiNPJX1aUn55 XkM9fiRoezF2b2N2d3BQWUJyOUp0PGNfPCRJRmM7dipGQXoqUTAqQyR1OV96I3tmMHpVQ2h+WQ0K PiBWTQ0KPiB6O1lWPjlVakk/U1FSZGFrIWNYPGYmK2JSYytRWSNkN0ppS1NwWnhLRXdmXnNZWSot DQo+IEZrS0k2PTdGUDVwQGU7QmJmDQo+IHo5d3EkKjQwZHIxPSMwPiYla0ZSNkFNVCMyS1dKWmtA YmhXQEp7RWp4QGlkbVRyLQ0KPiBlQiE8K0BxenRxWjNgUjwqfGANCj4gemJEYmglPEt+MDh7ZHgy RzIhWDxNakR7XnE/TXU4SHpXSjJCdWk7O2U2Oy1ee2FzWCRVej0tDQo+IGo4UWt+cFojO3ZuXw0K PiB6NzQhODE5K14kKXtNZmoremV+YTZFIS0NCj4gWX4xSHFNQl96YiZsVmNMaU89cDNPeCMjJW9X aTZFT1FpfHNgMGRraThPDQo+IHohbyshd2EjbVo3dilHRD51UUZUJVk4STk5VlV5biY3e1Y2UFN0 dyNjUm0kUlBIM3ZGJmsrPjYwfDF0OTANCj4gbSpgYykNCj4geis/aUY+TGtIP2BzbT1penJ1dGFU YCN3X0wmaDZ6QmRMKClZV1hmc2Y7fjNJYFJAeW4xdVEpJk53UWAtYzNwYDxuDQo+IHo7eVRleE1I S25NJl9YKG9fXnJKMDhuPjB7YEdPKWxqcX1jaXZlVVQ2bj5gZFl4aFIrQG9vSnFNMHdecWBNDQo+ IFdHWTgNCj4gemdNMVdrcGJwJHdsSjUwPFVlXkhTXyVUTyVEYiNxMmh2aVNNSzZMezxuSWZITkUo JjY/a1FSJCVIY3ghDQo+IG9Zc2xAUQ0KPiB6YmlDOyp2bV9RM2QrYFVWMDR+WHlDNiVhSSlGKHpr VSZ4OyZvaTYhbk4+c0gqN3pFSyhGTm1QN0R6VVNxcA0KPiBVOTd6DQo+IHo1XnQ3Tmt+PlJVTVhK fGBWfWd5YUNGKDR4TH15OTg3MXA5Sk49c349Qm5NfG5UezI2ZTQkUDllaD99PndCJQ0KPiBPVlQN Cj4gentmM0wtU0V8OXE8KnVefGJUZSVXPE1EdTVSVk0oWT1iVi0NCj4gI0lqcG0lS3p0JVM+Qldr UT4oMlYzY2todmc1RXpHXg0KPiB6bXU5bEZSYW9eem90KDxYM1QpdFA5Z2hWPFl+YWA9R2A+dHVg dUxXSyRhWih5dXwzdFctDQo+IEErNFAhPTUzdFRQRiU9DQo+IHpkcSlLPkdFbW07KU1BJjhOSVlN em1CcH5uQjY/UDclQCRqT0gmckgxb2dpbyFOSChDV0l4el9sZikoT2kNCj4gVyN6YT4NCj4gekZK aSZxNzNmPjBqIW9mPWxldlB+TSlXeX1vVXExaGNPOW9MaEBfNHJzMVR0IWVobzRscjlhWT9yb1lR VmNXRQ0KPiBHQA0KPiB6bjleSD9YU1BCVUkmTGQya0BPfU84RjBnU04rPiY9VUhqTzRWRUdvWE1+ MnpRciNQSzVPIUNlMWpEJQ0KPiBjYVIkKSNADQo+IHpUPX5QP0xPTDckVmdBTGRZemBjN15WSDcj KDI/PllFNnAoWiYhc2lJOGZsa2BOOSFJN3t7YllKJUNHV0tUSHppbg0KPiB6ZDQ8PUNmKVRBYSQk U28zO2tVdjxJeTxFbWRhJmZDRTRAfnZGT0ArbSRFQXAkcDdXbns3RGU1fj9XYQ0KPiBSP0pXU0tF DQo+IHpBV1dPfCplZzFpYFE+Y3NhazBGYHp1NlFLSjkobXhfNXB2aSVoWm9CdCk3Yk5hQjVUZlo1 YzAkQlE/SDRafA0KPiAwQysNCj4gemElXldvPj1SdGZ4b0tZXnE5eVU+UUpkWnpta1BKRlp7bm8y PU4xKSpTTUZXYFZvbjxwWGJkZzY4ITgqfQ0KPiBBZH5wWQ0KPiB6ezlDdz1LfkMwQnlnUXo9OTxi cGc9QnoqUz5rTXxCdCZmeX1WU2cjMiVAUmNfZTNnencrX1NoLQ0KPiBgcU9lcG9tNSFODQo+IHp7 SmlLWVNYJH5VR0FTOzFxKTxSOEo+NysmKVp6Kn5FNFFFKXh6aEpmPnUtDQo+IDFWR0A+VklXV0F8 QlFeezlaKWV8UT0NCj4gejV9WEtfS0R7Yi0NCj4gdl89eFZWUThYejZNIV80XitURFZfR01uUEhE MCtwUjFUMj4zQWY4U3VMUlRkYXYkbSRpajlCPw0KPiB6NFgzP2ZDRE1uIXk2cVVSMlZ+ME81PSFT QiU8JldnUWNMQl5icDVrOyk0SyNWXmRgRUcrU0VOUlJrWWcNCj4gbihCaXpYDQo+IHoxbztFIy0N Cj4gcVI9QEVeUkBXQVMhYmZBO2tXWVlESXw5RjQ3cE1fKDUhWj0xSUMwRiklMVo3NitUb2w8TGdH JUI1bFkNCj4gekRsO09PIVJtTUhveWQ4XjxOZTNufDh7X1I/VE9zTVlFUjY7a1FhaUNHTDx9dG4q amV7XlpmR3hZd2ZTO3w0DQo+IE14Pg0KPiB6NyotIXxRN0FpQXBsKysrSSRpdDhISGY1Y1p2TjVo WDZzWV51aGkkNiQ4K2Z1U1Bna1lgZXgqMFRXWWJ6PHtHXmcNCj4gelNwamJBPE5QYzJJYm0zUj81 ZDwja3ZTX2hwVkdSYU8tDQo+IDU0YV96elkkc2lvOVVZJHhWO2ZwKzdONjYjejNPcm49Pw0KPiB6 UXszfmI5XnxjWHZOPk5GMlE0M016TUZVRWN6Q3VXNnk/IStTLQ0KPiBhXnhePGoxTSZGSnJ6UTtN MzFSWEV5TiplSXImDQo+IHpsamdsTVE9YXE5OTlrMDRNfVc7VlBoMjQtUDU+JGg+PWN0amkhbEE0 JmBkYkF6WCE1UiNRZVM/azBIZyRUVWZyZw0KPiB6eGx6QjVHVn1LcXF4d2JwZ2A5VCtofSpCdUw5 N2VrR1pnVjtpYFdPWWhAfVlnMXNeZilNIyNhYDNhZ0BzaTstDQo+IGtCDQo+IHp0SD1+O2k5O2lq KmdVVT1wc1Q5KSZlflNCfDBLRHpBYHt0R0hPU0xATH1CJElzcTgkeDRYNFViWHxXMGc+JTUNCj4g JDcNCj4geldranZIX2NFIVkjMklYKlBUSVFaMnNsbj1YK25ZKnNpVmYrX0RQfUVGI3NAMClmcyZI dE1hMyZtb3JpQiFWdG8NCj4gMw0KPiB6eGwwVG97ME9fKXI8SWhRcTFneTZJJHYofm5nMnNzS3d+ Tl5XPnpTRW0/X3N7aXp2eGQ+MF5YUFc7QW8jSUsmDQo+ICsoDQo+IHpOJlNudC0NCj4gREhwYCQz V2ZudXAwMCNKSCVeND1jUjVORzZmPUFnVWd3QXpNfCkpYVVYPVQmNiUpUnFKM1RxNXlPXm4NCj4g em1rWiUhcl9FNGxpSVBhYHJ6aGomI1U9S25QJjR9VC02YT1HczVNY31QLQ0KPiBzKT9yR2ptaGAp YGRAO3dedWlAPmxORA0KPiB6bmR3cDkleWphU2l4WW99Q2pKPCQrPChRREB5SGNkZWxtUzEkMCth WlVfS0x5bW9mPXVEd14wQXgldEN5DQo+IEtRVDBJDQo+IHpePVVRcEwtKGdUb3xSTmkjPCpFamN8 ai1wUW1ZcnU0LUhMZ1RQVyMjY2s9VzhPWlpzRC0NCj4gPyNaWV9OQ1R3RWVFdW8NCj4gem0pQ05C VWg4QEpsLXFLQ2VxdmllcUMtDQo+IHBIP3c4KG5LXjloX0ApRnpmNkNMP2RoajAyJl91S0xrK3ch RF9Pcmw5YA0KPiB6QGx6P0lme0sqIVNJbDM4ell1PXwpVDU2LSEoVkZRbXdKKjVAOVdfa2h0N1M1 P19SIXBgUj9QcGtNRGxJYH1yUT0NCj4gemR3fW1qejZhYUZaOFNZcCZ7cl92a3xRLQ0KPiBGamI2 bXhDSCZwTUEwMnFibUN0WHZVc0BifHd5ayZIUHskbUtLbkBTSw0KPiB6RXEyT2ErcDstPlpZTkMz Y0VXYEItaE5eYnlqPnB5JWgyQX1wITVuSkRhLQ0KPiA0VmVZUV8zcSkmRUc3YSM9cXt2TXRxDQo+ IHpKan4+O159Sz4oVXVycU9Bbl9OYS0NCj4gZGpxJnt8T1c9YiNxfnxlZjV8OCM5UGA2RWRqezsx OH1yfTdQQGAqbXg5RHcNCj4geih6RFVLRlVEbVQkVSlod3NLZFNkSjsyezF7NXtVIV94Tzg/ello TU9eO0JwKm1HM2dYJWxJemd5TSpzenoNCj4gS2kpVA0KPiB6Oz03MSVjQU1QQ1IrS009YDN+cHlq aXBnSDxyKTQ0XyQmSCZwbHtBQWZDN1FPKEJISCsmPTBmPzgyY2AjQA0KPiAzUUptDQo+IHpeflpR PztGem5KQUVHViYqYTI2KyRsYFhSentwSkNoRUU3Z3VAOGcocCVTJTU/Zz5LOWBSX2R4bihtKFF3 DQo+IEB6VmwNCj4gelB3KX1fPD42bldXeHFmRS0NCj4gWVo3bm07TGc+KTRvJmFCSUU9PSFxS30k MGY8MjtBc3AmTFY+XjkjNHQ5NTk3Yno7Pw0KPiB6RkA7NENEKiNmNUdzKWApQG1WcF48KmB+S2wo fCVEdShGZHllaUdOdSpFajFnOUlWKXMmZSQ/WWV+JD8+MlENCj4geTBNDQo+IHpfYjd+dj9eVjdl VE01WHE7NjJudGJiWn0+NmBSd35ORGVKe0tVKW5aTiYwZ09JUUVrcWJeOXdmT0NTTGA9DQo+IElO WEQNCj4gemJeRlBvZmw4Vn4/aHRjeDVaNWE/aFJDN3lUdDgzV3Rnam9ZKnFwZn1UP0Mhb1J4X3Ml I35+NUV4MTZLY0BeeHkNCj4gag0KPiB6TjNVeHxCaC0NCj4gQHhIbjRKWDNEcVIjRHVkYU0xZWZ5 I2MlQEY3cVJiRTZ6fSg2U2EoWis7fExyYTV6a1ZfPVdhYTtLDQo+IHppYkN4YDBHKmttcjZrZlM5 UjE+Rj1uMVRCIyZYRjtAR2dOK2NyNUQ4N29+JjUxOG9vMGxCbz1ISHYqM0lsMVkNCj4gSksNCj4g enN6Q2hFWGtkbkdMal4zfmc1fXA2U3F2T2VUMkpPczF1TColMUAlVDIwfkppSGVDdHNXKkFOR0B1 fFclDQo+IDc3KGdZbQ0KPiB6SFhAeXhRPH1JTng8UlVVVTwoWVNzV3F6MmdHfl55VF82PihkPCNa RSt0PDkoY0Y3VGBIUWpgMVgwRyNiRQ0KPiAlI0RBDQo+IHpJIUdacS0NCj4gOXF3d1QkZ3hZSjJg RE4hem12dzhSeXllbktFPUo7bmB5VXhoYzE1aW5AbzlTQVZhY0FOb0Npa01sUjENCj4genplbm9r YCR0NEd7QDcyTytrZjFaNGx7NnZDKEtaNUBIOWI/dSZlZTNVZCpGbmNaJmFMZCl2YSRrZyRxfGhn DQo+ICpJcQ0KPiB6WDdyVXVAM3ltM2NrdGhHZko7fTJzbiEkbTJHYndNUEd4e2VOUyg0QXpNQDU9 ZkszLQ0KPiBMO1k4VmdoZiMoUHtrVCFVDQo+IHpAJnJzcXZTTGhaVm9TejtVVEozcmtpSzUlQjkt DQo+IHxIZTlscFV6YTlsbCZVe2clYT42bDRhY0hkQDE/Kmt7NlFuVz0NCj4gejt4PXFUWUxjVVgk eCVKcCh5MTBIMmpoTmY2ZmltU05RPmR2N3VJeTQzQDBBcUFSYGpBOUhURyZ4TkhORVkNCj4gd19A RQ0KPiB6Tjs+aDJIcipQMU1AN0gqWmRnaHt4M2A1YVd5RGQkOSpmZHxALQ0KPiAyIVZQTDd7emhO NDdUJlEpTilHYnszKXFrdWd3DQo+IHpVPW4zNWomRjloO3d4TWAzUnNoWDJ+dGEzMTk5JmgxPyp4 RXNtNlVMX09Se2NxRVd6M19LLQ0KPiA+dEJ9bWFmR2UhWjYNCj4gemN0fFo5JClUUXdxayEkaz0p KD93b2lGTHdeYnhrZk43UzJOUV4wViN7N31IOCFHfkpoaHRgPk9xayFFalZBOX0NCj4gSA0KPiB6 P08wUDxZbSVkWVVGI3Y4WHB2NT1IPWh+Pj4+TG0yMWREVitvdjlvSlk+SjJVSyNUTjE7ditgXj50 bVgNCj4geUVpSlQyDQo+IHozK3Y2RiR2TTJHJmtMQmVHfHdXPHQyMktqUVVJe0BsYWVIQEpKS1JM dmV0WmVsb0d6XkF2KCs9STtgSFQ4DQo+IFVeZXMNCj4gejU3QV9jWG1Yd1Q8UzFac0pmeEU+KG4r PUVqOFZXUWN9TmVvTkRyPHooTlZ4TWg8JEN7YyNDdj1vc3FrOQ0KPiBoNyY9Jg0KPiB6eCFUZms3 VXtUSnZ1UEJ0dUwrbmlrRWtDOzMrbUBFM3pvanlMdilseWJYMSpMSzF2Q2ZkNTh8VGh6X3FjbXk3 fi0NCj4gem51bG5MTUtxPH1vSDdkNzFQfCNVN1U+fiVYOGI1JWU/KjNCPiFLRUV3QVRFZG9XcUlt UXZzOUs5Yn0NCj4gT25SQnR3cA0KPiB6MCVyWFBGdzZsSz0+Y19TYnVPNW16I21oTDFyfW9neyNP a2U1cUdHbzBWSDBqVW88TldDTXVKbzU+VA0KPiAwcXFrOzhfDQo+IHpRVXB3dEI0OC0NCj4gc2Iz TCM9M0JoTFI4fFNJKGE2OVZhYEpwcUglbnlDfjY3MkwoVV5fUTNrSypeKXtDND5MNjJIXkgNCj4g emw9NkUlenlGS2hvQjkxMFU9SEpWZzVNQUd5TXkwdjE5TGdRV0JndmpAOXEzUG8hPlM1ekp1UlNA Y1VxDQo+IFhlfjkxcA0KPiB6e0p4OWRwNiU8fSZ6dyZVMHx4OVB1NFkmTGB0KEUkeFF9V1lqbGd5 eW9LR2dee2s3Jj00WndqYD5RMGMycFNTDQo+ID53DQo+IHo1Sjl9QzA7NSpRSVVibHY1ZmU2c3pj SkJVdH5mOVIhNkFEJkZrKHtVRDxqY1dQZ3VTWFo/Ryh4O1J1bCFIdiRqLQ0KPiB6dXZZfkA3UWNq MDhMYG0lRmJELQ0KPiBrRXd0eEcxTTNrQjRLTnVaZkg2ZT1iMlBBU1N8ZWEkcCNnQDRjOVJGempo VGRCDQo+IHo0N2FUS212ZFNzXjlBQn1OQkhCbWs4eiV5eU8keGJBaEFRWXNgKW92byQwSylVZm96 WGVfUkhIem0wLQ0KPiBMJENKeigNCj4gekFONzNpeFkjVkQ2OWUyWE5YJEluPUQ7bTR0QT5GK0B4 I0paV192Z2UmYyZoT0R0ODhQU1YpVVF1aCFYDQo+IHFveyFAdA0KPiB6IyNvelplaj9hZGBWYjs8 LT9HWW1lPGVvXy07JVhCVThJOzdaVF91fT08Umk4dkdxZi0NCj4gKyFkUWdkYzhUPGQkRkgwDQo+ IHo0ckR2dXNyRSZ4WmAxejVSMUh+PGJ8S1Z4VUooOX5JTTJQY3VpMzNjdHY3NktUYDtZeXlOZiZl eERZeWl5X1REPw0KPiB6JkxXRlElNjs4P0EmOHtoPWp7dU5OVUV+SWd+JnpKRjg7VzdNTzQrXlQw TzBPY2Nee2Uwbno3UFZzPDckDQo+IGtGLW8oDQo+IHpifFJzV0BFZUl8KEt4IyFvdHhCMCR3bHlQ JnB1ZF8pM1h8NjdycnBpdmxofSlUezRAQ3QyNzc5ISZIanZnO2AzVQ0KPiB6RWt7Mz82RSg3anhn QDV6eXw3M3U3IXR6UU9BZWZnX34qSjJpI3pNZylzNkJoX25JUVl5YTFNP29pVkJMSnVAdg0KPiBC DQo+IHplJmtZNmRjMUV1JmVlLQ0KPiBgRG09bTs3bF9Cbk1xZ24leSRgJD5VJjE4YytjRyQ3dzk/ PFZLQnRWOWdZaW16TWsmOHcNCj4gekctDQo+IHhlPCEqcGh0bytDbD5DKzMjRiFjYiNMdDU2PnBZ bmVtciVhVyQ/X0dKbDc7NTVzfWdGMmlXISlwYiQpPk0zNQ0KPiB6Qnc1TDAjaG1IR04mOT87O3ZX ZypYJGpeQE9eezQ9K3xNe04pQSRYQzBoO34rQUVXTFFFb3FZQXg9cg0KPiAxTWc7SVllDQo+IHot S2tRK21KR0xNYzRqbF5ed0Z4b2Z+S1dGPV5FbC0mS2hGaz9FSW5GPkBtfiE+LQ0KPiBoK3k9TEBs Yk50d0Z+SjY2dTcNCj4gejdFQmswR082STZUSWd2YWpKTjE+ZztPYDJGSSlCdE8kM0p0bSs0S0E+ ZWlWVHpOdzwkP0V2NmNIYnRhR0g9bzgNCj4gcw0KPiB6JWt1TD53Xmc3bFBMeC0NCj4gaDFgMmls YllARVY4VH0jKXNWe185JGJqVW1pWHkkQkZ1fnp5TCMxVzdla3Fna21fTD5ADQo+IHo5Vj5jVj0z ZjczYkBMVmxAKW8meW5lenFteTgzan5gZTxhdyZ+bTBuJFZMZWsmYUw2RUVTNWxocmpEbyZKDQo+ IEo1P2INCj4gem9sTUlwdlNueHVBSWohKz4qTUJpPnIpM1otMmRlaSRtdWB0emRHMS11Q3tpcClq e1FkRGI3NERhJVhnWlRCM0tsDQo+IHp5WCh+Nyl9I0l9Uk1hZnotVyQrUCVqOUR+Iz0mSSUmdkpU b05Ieyg2I2xsNVR0JS0NCj4ga0hXQ3hNWXlfKkQyeHZFOzcNCj4geip+PnhxeSMhYUtDRlViQGo3 UzYpZX4taTBxdDtAI1h3cSZqNmw7ZngoP2JqZmRZeHIjPyh5VElMUGdNY3ExSit4DQo+IHpwYClz JHdYUkJLZWZCQlJ0KWIoZHdqIXV2U0Q0IXRRakR4Xm45dVVtTDd9cDQpVylLe3RPY3sweEQ9UFpO Pj8hDQo+ICoNCj4genh3cHR2TmUrJlNFNnl4OGI5aGU3JmdicFBgWlIlUz1kVXh6M0lzbHYyeFBm N0tvJmpyaXlQZ3xnM2EwJHdkTg0KPiBzdw0KPiB6bWw4byhXc1ZFMmtRSGc3Z30rVHJNZ1F6dnFn Q0ZDci0NCj4gJXdjM0goSV9YcXJNITdQYnspOzFKMWY5KFlWZ2phWEpXDQo+IHo+bXczZHd8NWly bzxtPCteUlMmKHdafWVZVSZMaVBqIUopZ1RIcV57X3czT0F7ZFd+fkNIalZEWkR4RHoNCj4gY1Mz bzINCj4gekRgT0AjZX5fR351SWg8UmAlV2t7NnA5X2Y3Z3NwdFhNV0soZUBMKVlZfShRYGY0fjNx cDhxdUhLQjsxMXsNCj4gN0ptXw0KPiB6Mj5XVTVgPkorRz9PWmQ7PHZYKSYwbVFgXj0lJG5SQWEm dFhTUlc1Km5NNTxPLQ0KPiB0PmU1cX5HSGdBWEMxbUFWRUpaDQo+IHpUTzQ7cDxTQE9lVD9kbVBi MT1WVyp4IUAqJkVDb0FiTkRLYDNRbUBgejZxdGtrdllQeXFWOXEoY0cNCj4gUV9aXmBPWHANCj4g enpRVk5sZTEldGMpU0VqbFJiQ31DZGpySD51P3JRPWAlTUF4WH5OdHU+YXU5RklBdkVoWD5CLQ0K PiBMYEtyKEFJXipOSw0KPiB6YlFaflR6UFk0SXUpQXoqVVUqbHxLRDdhSTFYPVhSYGRWNnVnd2p2 a0YoVld8JlJIKis9Vnw3fmdVIURHNQ0KPiBaMXVTDQo+IHolMXVjI0BaY3FHcEFtfGs0Um9xKjJG Xzt8SEtoaU0lcWJfNik1WStXMTJgTExKYkxAa1BmMkA8eFBNDQo+ICZsekFucWENCj4genBvJXFm Yj4+UU9kZEVKYj9mYklzYlBqVz4hX0IyWTk3Q1p0anUzJmVqcG9oKih+RyY3KSg5cEA+MStNKFUN Cj4gK3Y7cg0KPiB6V3BVQUVxQ0BPJHZqOyhvZHU/eFhDS2RhNzJ3MFgtDQo+IDhiO29hPTFLY3xs OTl9S15CczkrJjZyUmNPISlVVlo+K3k/DQo+IHp3RFRQdnZIa0Y4dWZwSyZRc0w9YT0mVyZhe3Yq aHxrUml0aGMzT212UWlNcldZVWtNLQ0KPiBIVj5FOFBLTzM5bSY7PmENCj4geiZ0ekorc2slfGhq MU8tO0t+e0MwQSQrdCo1Yj9Vem5WLQ0KPiA2bGZrQUdeUXxFfkJHfWlnTHhkU09NRXdOTEVxbiZH Ug0KPiB6UlFAeyoyS0QlRkN4Z2w3S01qUFJXZnAhVSZ+Nnt0U3g5YXohaEdlZFlgZkZyQH0qMU1R PSp7YzhGeCNmag0KPiBNKmFkDQo+IHo/bTQ3fCgmNyZ3PCVXYyZ4SSt+eXBeUU4oYTlwY2RQQU5K SEVkP2h6bDRjcWFabV80MExoO3l9UGhlaG4NCj4gYF42YWANCj4genlVT1VvRzwmOFA+cGdzaU9w OVAtDQo+IEQhUmttI2dpNUgmSSohKjRWP3ZXbjNtakR3VWhQcFRaSkwlXk5JMVBJY1ZTMw0KPiB6 JF9Vemd1SSswI3ZuVlB0VGg1ZF5MNWk+MGt6YGVSPU1YMHV7YWpkeEcyez0pSlhgVXJePHU1Q1BO V01Ua1QNCj4gRlVTDQo+IHpXX05QSVI0bishP05qQUE2RVdrQGBsei0NCj4gI3leM05PS3tyVDJB e1o+S0heYElGIUluODhUUDlfdDdUfFFmUjlDRFINCj4genpOYjhDXi1OOC0NCj4gZXspSz1jV3pn QSQyP2hfPWF8VUhlfCZ5dTw/fTEjbmFZU0koQGl6RmdAKnApSWhtZ2BCKVAjIw0KPiB6IyRTcTQ9 Z2UrQm0/PXlyeyVOSUZkNWNWM1YmaEhPVHF6Nz9gMnB0fVpzI303bE0hR0pRP1VZVylvakE9bCFK DQo+IHdtDQo+IHpae0tAe3g7dCRsVUdJQXQoQUoxa0w2KDktdjRpPXtpPFItMkEzRyo8NS02PG5B NWlJa0IpXjQtbTwxeUpNSD51Uw0KPiB6WkpAcylkJXNXaXQzQyhDWFVmTTZLS3Z6Knc9WmBrKjkr Z1hXT2dsV2Q+WnwtUitmMThheWZ2RVhTcS0NCj4gUVdJMH5IDQo+IHplX1FfTCl7fit1UUlTMDlA JjBYaklJaElLITdXVzM8NTw8ZEVyaT5uVSlSQzxzbVh5Ym9ARF43JHAjcyg8DQo+ID5hVzQNCj4g ekVnbDFgbTtsVXZmQjNvOXl6dkY4Nmp0dSh3bytzbF9nby0qaXd4TFJlRTVxKEZXbGxiQitxUn5q eTw5REV5PHAqDQo+IHopT2VEMSMmSWhwbGxheSF8Rng9dmpwZD5iUyM1aSpRVll9LXk8UXRyYTxj fjItOSZYeEB+Z0E+Q1RnLQ0KPiAxbDlHe3cNCj4gejtLVUp4O1d5UTUhN2JsYXZYYlRHKyQ8fXxW dU43XyY2UHo3ZC0NCj4gTV9LMTZ9NGVXVlglOUcoP1hoZGdrfDc+MFlCfg0KPiB6JilPRTgzRG9X fWA1d2tqK3U1Sk08KihCc2RwQzs+NitiKGJlXnlAbnIxOTtzNTFuOyZVaWBUNkorVUo7bmN9bg0K PiBODQo+IHo9ZkBBXzw7MWhERXtHUm5INj1FTyRNP2l2UEkxTmdtaXJISGYyb2BEeDlyXnY2Tk9A QnRALQ0KPiBwVyNyejNFayFqYzcNCj4geiY5bz5LZHdnayUxUyRXUXl4a197fEJVaX5mK3M3fTs8 RVI0PlFjMCVgVDZMb3JeJTk5SFo1fG9qZEhqc0huDQo+IENOOQ0KPiB6THR2IU1hcE5BfE4qJDE2 JVhScCstDQo+IDElYjU5Z1F0bFdeSzc1d2RMWTNhKnUwZjAjT1E/MipDIyNBYHJyPCp0QytwDQo+ IHorcUNIaXJkfWc5QSUxITBuQVhYfWpqVmIoSG4oTXAtRzMxfiFHLXlRZ18paUR4JE13NUw7KTJE PW1UVjwjLQ0KPiBDZkYNCj4gem10QTJ1VllFISl5WkV2enVIMkhPN30tDQo+IHgwPih1KEQjPHx2 SzNPc0l8Y1R2REVTR15QYUBaUWE4ZU5LfF4mYF5BOQ0KPiB6KGwyRmNhPn1maXJPMXtnYEJFeXNK cD4te19APSoyM3VEN2JvOXVpTGQoQDIzcEl1fTReT0R5WmNRWVJtKmMyZzMNCj4geiNlUXwhdWtI NCRRQCklQl8tDQo+IEc2Ym03ZDFqajQ5ZW96QnImbTllXmNgbFUpQ05jIU54MShsUml5eDtqRlZO c09ZUQ0KPiB6KGl5O2BgPjtCOSlDWT4wJlRFX0pSVHpwcWRVVi1OcGkqNHRCfVVIPFBBfUJaZVVm eGVpQUVIXis9eWFPUVRkIWwNCj4gelRlVz5jWG9ZQ2E/SEV5O2NDKjBPbTh7dXsjYU00cnBnYCVl U0d2fGI+T1JZYTwxelFTcHt3M30lWSh0KWMNCj4gRDtReg0KPiB6dWtlakczYnAtXlpYeSQ5S2Za Q1FTRHlLRnVpa01uek9tVGNabkZTLSpIMmBTaHNgfiRjQFMxLQ0KPiBtMWdgMmNAVXYjDQo+IHpl QjxIZihmYClFNDMkb1UwKkA4cEUtK2BlPGJAdWFDdzlPJDUtd2NDKy1Cai0NCj4gVFN6NiVkWjQr K3o1PlR0UGlpNXENCj4gemgyWk0wRHgxdDltXmRZcHI0Y15ZJTQyUDYhbDBhKyV4JEs4KXRlKX16 TWwlPk92bCVVUTt5SiUmUld3I2kNCj4gRG5CUQ0KPiB6UjlRVjlBN1I+PG4jZklQUmZ3RWsxWCs4 JW5aO2dmQjs9T1Z3Um5gPHZqeDwyKXx0O3AwcEd8TEsmZkxIdUpBDQo+IDdjDQo+IHpfcHUmb3Fv VF9GWkhFMnM5cm45Iyp6ZitwQDVKMHs9JERUcD01eHRCYWgla2VeKnFvSWp4ZVVWNHduLQ0KPiBA dFlpZUENCj4gemNtRE19JXpJWVM0QE5VYnBOXzJEU0EqVDlIXmo0aEE1fUQxdTs2VDZiUW9BVXI8 Tkl2Q1leK3VpOVdyDQo+IGNaMDxxeQ0KPiB6eHhTZi1QKV4odEpOUHo8IzZ1fCNWM1ImO3okLQ0K PiBoZGRAPTJoVjh6ZSpaI3lZRXVzX3B0cz1OQyRaKm9ATHEqSkZPDQo+IHpXPXF8RGxVPCRhJDx4 SD5uK3lnRllZWFcoZlpQMzx6ZDcwRnpeTnwkSF5NXnBfaC0NCj4gZ0U5TTdEWWdGfklfI3wzZCUN Cj4gek5RKj1GWFdve0BwPSgqWFMzcVYzQ34mVWdUPnhJRkJKJiVLbWx1fT5pWSp3dyVZfD1+OFUo RilIZjAoDQo+IGEqQ2o5Wg0KPiB6VylnY1l2Sl50PEtBWnQ+Wnt8U20tDQo+IGJAQk1aX3E+SnV6 TkVII0xAQlJAeWV3bDJ6K30+QjBFcyE4ZiF9RSE9MTE9DQo+IHpjd0klUXtWYCpWe0BfcXZ1OH19 eC0kIXFJPFozLTVoZ3trdkAwXjxMa31SPEVweC1OMUN3YVkrSWFpNn5aZSQocw0KPiB6SD9wJGIh ZGtHOTVjJnhQP2NMQ0pvOzZVWFhUWWw/KnRYMkZsI1U8YiVLK3l6dFFGNF8/Uko4P3pUNV9DZE4j DQo+IDd6DQo+IHpMTDg4ViRqI3JMY1clZ31nOUk5JFVtLQ0KPiBmTzVLQmFkWEtyK3pGZSZ3PEVP OHcraGo8UX54dF95QF4hTjQ4OUUobnUNCj4gemAjJGx7OUlRSEJ7V0V0QVdoUylVdXxFQE95V19u fkxFOWJUa1NUSTs5TUwqYW9JKT9obWEzazE1JCh3b3MNCj4gIzNRNA0KPiB6SU0zNl5mViVwNEgj dHMyQTBNQnFrM3JYPVlMYHV4Unt1dH01JHheJXhOP2hYZU53I3Y0U2Y+NXZvQnVhdEkNCj4gPll4 DQo+IHpKNkhDKlViP14tDQo+ID5+e0M7bzZpZWhIQzghWUB7biYlWFNAWipkQUNmPipVcm9gbD8m O3QxS2czIT1Jc2oycTRWPGUNCj4gej9sOGgmbnU8RntVQTxaUUd2UlNQeWhTI0VCZCZMO3lnJDtw KkNNWD01TzE4N2dCWURLKEBZTnt3dlpPDQo+IEZXSHhzTw0KPiB6NWohQnBXYVh3NilWS2BRPHdx QEp2Ml9SY2RFSFdLZXV0Y31sRkMtDQo+IHxFRHlTaU8/Zn5jdXpkMmVnSGtuSkU5VlMtDQo+IHpa cilkSiEhTlUpZnVAY19IQThlJG9iP25QPWA2TjJ8Q20/dntNPyRlbTIjJUooTUplekV1Xml2V0gj KnwNCj4gNHZfM2cNCj4gejNAR3kjIVdNdzYqREBfK0lnbzhLMUd5UkYxaHI5WG9fVy0NCj4gQCsj ND9uITFYYjwjVCNOP0BaaTRlIXp+V0xaNEB9IQ0KPiB6V09kQjEtU1YhcGEwbiF9PWNPN3RXeEct SS0NCj4gZnooRzx4SDE0U0klRDFVbDVBa15KUUtqRGpvdFpieEs4RllKVHxlDQo+IHomQj9mN054 NG5XUkgyKGMhamgpV1N+U1JDMD8mS1d1VlJLSm4pKllya0U8cUpfSlUkJW4qUnxiQjg4Y1gNCj4g UFViS2ENCj4geiNxUGpCUVQ8JmJpJU98UTd3TVErRjE/YnpRK3wzPGJuN1ZhbXdCaXFndVR8fWBL WFVhSUhtRilOX0QNCj4gM0dNdkZMIw0KPiB6X013Vy0hflo1VmkxKSY7OVNhbkotDQo+IHU5M1Jk MCt0O3k2OXx+UDJwbEBLSyZYPjkqdSZFaDtTRWQ2SGR4VmlwVmhfDQo+IHp4UyMtI2d1eXgzbnxL WkwmRVIrREhEPXtRc2xMPl5UOD9fZk9gU1ByWEM3aFBockJCXlpJVnFPU3JrdWBCcS0NCj4gKkcN Cj4gejFxYT5KYmhJRXJGPEM1Zlh1em13QXx1aUttflBLT2dXdTA+TnYoJGw8cGBSSGhlcEVTcSVq eExwYGEtDQo+IFh3dVg5VQ0KPiB6MyVIVzlySUdCUlY8Qk1LIXNUcjJIbGJULQ0KPiB6Ul5+ZjY+ Tkl3bkZIdiV6NUEkdHZYK3UwcCtNSm5sR1Y2OT5geSM0DQo+IHprITFETXY/eX5hRFNGP1JjdntB NzQ8LQ0KPiB+JSt8OUZlcHhvJGQrN3sqP0BLNEgmQjw/NSpFdVdffkFoN1EhckRUenUNCj4geiti MS1mK1Y7Uml4ZEF+ZGd6KiZWbXx1TDVWMzJNcWslS0lSQEZpa09OcnItDQo+IDJmbDFhKW96O0hq QFV6KVAyQ012eQ0KPiB6bkUyfkwyQFE8VkVmTThwI2dWfDc4SkRSP2lKODZLSDZkMFNWYy01TGdY Uy0NCj4gbTBYa0dWeUhAPW5FN1BHQj1sbHZBDQo+IHphT0xaN3tOUVZPc1EocFRlSzFzQ1hXQTc+ QUFTdUQ7bHl4NiliOzd7Zz5yNVlyPSlRbGcqUCNHNkApK0V7Uw0KPiBWckINCj4gekBrT2NFdk5L WE5YTDAtPj1BYHpEck9mZkk8Q3ZGdlg5QzEzbkIkKERKMUBPREBxM3ctDQo+IGBkfm51bmFENkpe KEttVA0KPiB6PHtYPnM2PUxAK3glMjVnYzUpbERpRFl9bm82N25WKmhrLQ0KPiBZMHlfaFJkOERm X2k/UzJnT3Fzbm5KMkBxREZpKjZUDQo+IHpyfF8ob3dOIUs7NkpzPHtsRyhpJmNKWCY7TTZ+JWZP YzFadW8tVVF8d2dwMyVaU2pfTHU5PTRZRHJZS09sLQ0KPiBrTXANCj4gejI+M0V3S1NyI3liLWVm PmVqYTtxKSRfNEIqU1YyN1h5PW1EbVFCQWV6V0FWPnNxc0lSYnMjcHQ/NDktDQo+IFZnMSYtJQ0K PiB6aU42bFhsRipCQHcmQn1nPzxBezJAdXxuQDs/T0pkbF4yaCF7M0NUPTUjTV5ubTZ6ZjZORyV2 VllmSjE1WA0KPiAjQ2IkDQo+IHp6bUZZe1clNEtTbHgmSFdAQGZ+YSNfPylMPUJybStZM3NhejRL ITRKIUYlPj1QYDxXe3phejVicUtqSzYNCj4gTl5mSXkNCj4gemU2SUVMZDYyT293VT85PFRwcnU8 JmV8TkNMWGlgK1UtDQo+ID5iZjZDfmNnOzw3OExnTUdDdm9eSEVxc1AqYzY1S2ZtQA0KPiB6YERi bTdLaTR8SGZMdnYqT05WZjxvVjdMZnlVY2ZJd1VlIU5iTlV6OVhLbSpYQG5jSj5McTQrPGhUczNV YA0KPiAtQW8hDQo+IHpKQCk+ZiNWZzB5QUxPaml5KHJnNkk+RUp1cFpETCskSyg4VV43biFFMlRB Rn5XQmFoflVYeCtfZ1J+QX4/aGsNCj4gVXkNCj4gel8kV29xPTVIb3spQT1qc3VaK0s5e3YhT2Jy e3c9JmV+PShjNE4wU0s7T308Kz92KiRIendaeX55SWIoO3stDQo+IDhCSA0KPiB6TGJLOEsybFox SWBhKiMzNUEhamR6Z3FzaEp3Mm9ENC0NCj4gI21+XkkrYSplfl58TmZjeGtCZ1dSJG8yZ1VkSmR5 Mm59DQo+IHp7QjdsTEpBWFUpYHhBZmsmSHVzdkFWSFFJM01KQG97PnUyOSFKcHFaPWwhNFU1Mz0h Izk2OEAte18tDQo+ICNibGtheVANCj4geihGNkVUbUZHUD9XNH1EfUolbXIqVH1SMlFVLQ0KPiBQ UWdERyk2dylfbUVVVno9VjdGX3xPbVRhPXI/e2tPb0czd0M/Uw0KPiB6PXlNRG5OeDQ9RVdqcF5j WkRqVDMrLQ0KPiBme1NaMF9eUkdWOG1nMnJnc0Q5QmdOalcrQyNLSHx7SnNNfTdwX2JFTW16DQo+ IHo0fWxJN15KR0RObjR0RkNHZ1YkNEFvWE9JcjhNVEZlcis+eyQqeD01bDBRJlR0eSErc2tjTVZr QC0NCj4gUWlabVdhTX4NCj4gej5wI2g2SH5XNCF5eikhM2x+P19hO1ptZG95WWNeN2Bya15TVVZS JHtMMmlBUU5OcmYqbD0/cEcqTk9WZDdDaw0KPiBOSw0KPiB6YmImQjBEKDJrIVc8VzdrZUtvdGU7 RGd1cXhyYzBod142ODktDQo+ICk5OXVaaGdQU3RKKzJ9Ul9qZzF1TV9wZkQ2I2N6DQo+IHo3NkB+ Y3BPJlI+cjQqT3RscE9rTWNKdDYxQURGJWV5WS0NCj4geitxMTBGVGQlUGc8PiNPe3w3Y2oyJTQh UWgyK3BpWTwNCj4genQjOTMwemJKNiNJPm56JDx6YFg+d2EoPkZwVEU3YiUmV3c0e3lZNEEmViFj ej1ZaF9ufDU8fENaOyRmI0BsDQo+IHd4NQ0KPiB6dkV1OF5eP3Ela0tMKSZ8ZjF5Ql9OM3xOY0Ul YEFoMHhpaip6aCphd2o7UT5Ze1FhZj53RHRXZWc/amFFNiQNCj4gSDhVDQo+IHp5XlVBM0VKSTN0 ZjklKFpgcyZLMGpNeFQmRm1MUz12Z093SUFTckdQZXo2T2kqSi0NCj4gWXhGZDRKSForejkoX205 LXUNCj4gejxDb1dZJmVtNz9yR3I8cyZIPGkwakFXflBnbmpFJGBCOHkwYjRJQ2tnQXwmcl4lKHIz NyUwbnBeRWR3PHoNCj4gWn5xZw0KPiB6WEVOeCNfS1grUUtLKDhLMTc8SCsoSnErblJ+WV9aQkNZ aUpVKk9EalRBQUVsWGVRO0t4NXEyWHkhIWdUKlANCj4gZTQkDQo+IHp5WmpHMnVSVWk4PmZIN21G WkZiJGM+VXd9NntiRDwpQHshYSNTdCYybUMwPy0NCj4gazRYOUY/ZVdTbzxOblJ8Kyg/KiQNCj4g enU9bE4/XlR0UGBwIVZDTjw5VWhIUXg+SH57YDw5TWVDVmBOM09IUkwlIXt2JDkzTDRfMVhffGFv O0FDPEsNCj4geSFeZg0KPiB6SzhWajAhNm9OOWVzVC0NCj4gPjtmNiVfQH5wcF9jdTY8JT1Gej5Y cSo8QmJvWCpJVjVfdmFCUElhSVMoaTw/NktoYnFyDQo+IHpwN0ohXyghOHlDV21XM349YW5MQ2Vp IzRBZ1p+ek9GOHBEUC0NCj4gTDA5VzArWFdhKmAyb1VnVnVqI1p7Tlk4UDw5RGwNCj4gem9VaHQh NFkmOSlQN0tfM0ViWmgpb0EqTm00Tl9heEV6fV49QEBYUDFxcE0hIzd4VmdpXztTaXQ7WmhDRA0K PiBNQHNAPA0KPiB6RWNYYzZMdEd1WDBJYVFUISN7P0dXTSQhNDt1aTRHKXx6KTImcVJEQ284P05U IzgyZTJIYT5xX2F+SlUoUWYNCj4gTWwtDQo+IHooMExUPG9HbCsoLWZBaDJjdT9aKWtnVilLTkoo akJuZmJQKVA7NTN1aTBkeTx1WFQ1bWR6RX0+NXpTSVd0eXk1aA0KPiB6NV5CdyVaVj9BOygtDQo+ IGF6diZ2ejl2a19II0s0U3RiZDYjUChiITI+SV40ZHd1TCt1KXRGTG1HVCkjQkswX1VXMzxaDQo+ IHpnWE9hfWUkRjxJMyE9b1k8KEJ3dU4oe0RFM0x7PmhvdmhtMDgoYU8+Ti0NCj4gPyZ6WWpjWXpt bT5PQzN+VE07diltI28NCj4geisjK2JMNml5cENnSlpTZ1g+JSFhM0JmTClPSjlYd3NqPExaX3FP fkRiRjUkTkQxS2dRZjZDITQ/fTBmbmNPNWENCj4gPQ0KPiB6QEpiJik4dkJQenRNTExRbntfWUVQ dm1uYmM0dEIjTGIxO2FHQjRLOFgoeWpjdiloNUlHYT5OTm0oQV9WcyMNCj4gQnthDQo+IHpEK2h4 dHElXnIzP2hMfFRuYDZBSVpFTGc4LQ0KPiB9c3dXdEZ+Pm17SHsrYU8xeDA+JGJvRHNHIXleSUdY RCYmbm5faEoNCj4gelREaUxqUipwfT57VEhUaENkJm1oP2VsOFE1cjJfRihCIWdUKVEoRTZtKzYx ZWctDQo+IEIldHFRdn4oZChuRD00dl9UUg0KPiB6QHlaZj1hO2VgVWd1bHdDe181RnBPOXc3QlFW OHQme1RBJiZJekUkfEZHN35KV2grPjVjMWE9YD4mI3B0KS0NCj4gKz94DQo+IHomblI+YkYhIzVZ Z1liVSZ1O2FyYkVjRWk3WlN5VmRYcjR9aTxQMVpIdyZ3RGBMUC1mSkk5c1V8bXIpfXRGTSkhfg0K PiB6ck9lKkRfJFpWdFpJWSRWSm58PkVMY2psX3d4biZmeWljd15qbmRzPk8kNVJWIT9ZaWk3JiFh WjhAO1Q1P2JGdk8NCj4gejMlaFdeKk9TZVgzKE8qWTArPz9DWD00SFYwVSRANjMkOFY7PXo4aGhY UVZiMkZTemdQJkVkYjNRVkQNCj4gVVl3LXVyfA0KPiB6bmkodnZvWj9jN0R3bnBxLSpsVCY9STBE aWNBejRpUDI/O3NwJklwO3kzSW59VEp0UzA9TnRFVS02XiNTPGgrVFQNCj4geiZRPGJaZ0BXelAm dzJVMlk0Z2NZRnQ1TW1RajQ8eSZ5TD02ek8zPUVUfjkwQShPZTk1Uz0kbShSQT4NCj4gSSVmK218 dw0KPiB6Yy0NCj4genJqI3dUYilfPEMyJXYmNCspTHJNV0U2ZD1fbU0yPGRQR0c4TGxEI2w3V25O dGBQekVibnZsQXJsKk58RA0KPiBjYw0KPiB6YDU2aDcrNTZZallOPDtfU0ZuVzJ1NHYrflFvQ0h4 Ti1aZ1ImI05UUzl+dkgtDQo+IFJUQmZ0cHNFJkAqaSVyVTY9dzhHDQo+IHpFcHorbCVlZVFvWEsh IXpzQzstWG1EZmx+ck5Tbjt7ZDIlPndgYjRzYjU3MDhJWnR4NzJebjRmM1NYRk42QkBwPg0KPiB6 eUpDfUQ0UmBFNSt3QihpKkh2MUxea2U5P1ZHU09HSHV2LQ0KPiBoWkVVJmVxPCV3PVh9TU1UcHlh c3cqRGc3KHYtT34pDQo+IHo8OG4oSGl5USt3TTM2b3dgI0M/OW9BWH5GJDlLS0wtDQo+IGJgMz5K VX4mQDw7Ml8peVNATntiR2dESjYxX2ZaZjNNWXINCj4gekt0XihsRXR4YDMkfU0hUDIyU3puXmY1 b0AkKzxaJTMwOCtWZUUzPVNvM0I8RFEwOGt4ezN8b1FeZHttWlhTDQo+IF5UYQ0KPiB6KSRBe0tk ej81a3d8dVJjNjw5ZlB4YWtkLWQ3a29mb3wyb2g+ck5xKlJ6cFc+VGhWLQ0KPiB2WnFNbiFkeHc9 Ym15a2N6DQo+IHpuKHdYWFlnPkhBO1A2VUxAPSNyMVFEeDRBZk1AMCt5SXFoV05wa0E9K0hjKUQ3 VztMU0JUV0wqT3kNCj4gdUJONXJlcXsNCj4gemJkOHRzKkRGMTtvUmdjZTlER2koZDwyen48Sz10 USYtDQo+IGFuc2U5aiRjZmJuZ3Z4WlNXdkRqMHI3JUJia1hUQ3FCQQ0KPiB6dCRwM0xzIUZBQFpx KWVtJilxPz8mQFh5a1pxY0c+UT5DSjViN2pVV3lJZC0NCj4gYV9qNlh8PF91OU9ye3tMQkY+T3wr DQo+IHpLa1ZndWQ0Jj9ldDZoUHU5aTFufWBycCZxZ3RtTGZ0JUxiaT92dGlPQDQzJikkQSgtDQo+ IHkmYUpGP3lLVmY1JX4kd0MNCj4gekFpZWc+dj9fLQ0KPiBeOWIpWk5QPTRIMmZxdVVAeDUlO0Je TnJ1UWpWYHIwbTFqNXdEY0pkQ1I3Y3VpUU0jPnUhcHBkOA0KPiB6eCEzaVY8el5kOyZld1o2enYx VitJeWF8QExFP3lmMWE7PnVGSkdnZD9eQyg/KjQ7OUMmK2NRe1FFak4xZSRMUA0KPiAyDQo+IHo9 SXB4fVdILXIyNWFUODwtQHNra01yVHJhVWRTbTIlPEctc2FjVW5XQyE0Mj1fV2ctDQo+IGA3UWBv Vms/UTB2a2BUc1ANCj4genpMejxZTyRvO2Z3cjdnJWI3NEZgUSlxN2JWX3R8d1NxKH5fX0I1JnBa P252SWRuMFhRb29MXzJqMHxnKCltVg0KPiA0Vg0KPiB6TW0jYHtsVW5uaT0xPWI2SnskJThyaCVC S1leSzAqdSp+enluPmVqanU2RkdUVyZUOUdkMzFnOHJndkg2PA0KPiBzcCpUDQo+IHpaQk55RXI4 fk5RUUVBc2ZvaDtGRUk/dHdvMDxOUiZsRjtfYDZNLWJVODclQzxZdUEtDQo+IHNtVVk9KXVebHZX MDQreU0NCj4gejVeYzV9TlEjWkYyYW88YmtnfWhwQTQwRlpkOTBwMTF3QDIxcmEwd3p5STMqfStj VkQtDQo+IG45OSpVUXIrenVSODl5aA0KPiB6UDshUlU+SG9BdT5hfjVGNyoxfGhjND0mb2BjVUtv N1ZeMXVjNilyQm9jPF40KnxIR0xPfEBWRGs/bjtYfA0KPiBKSkRjDQo+IHpobj9DcmduQldMbWhL NGpmVGgyXktTRkpgRkxWbT81U0dpaSlqRzQzVGRLVk1gUi0NCj4gS0ByI2ttQ2U8cUNTIztCSSgN Cj4gem91SUN2Z3MoRnpeMX5HXnE7dERXdz42WS0NCj4gMkheP1JLI3R+PlUwO0ZnPmJMNl5Je3VY dll8WFNkI14+VlRJKkFIJQ0KPiB6WVk+TnB2XmV3KGZLSnFvI2dTPkN2eCFpPTA5MTZvTEByNSRx OHduRWpDZU4hNXZ0Sk51Xj5Eb21qViRXTw0KPiBYNlVYDQo+IHo8Qlc1ejJKNWYpIXR2O2tBT31P Z0c0X3ZKaWEoO0ViNkpYOF8+dWQmbyVVendwQnNsa1RtTVVUYm1oK2JCDQo+ICopcHENCj4gemE8 SWw4VldxaGsmTD9QJmZadjdlcmApfXtJQ1JuOC1LbXxEeTchdUNCP2IwcmNmbCl7ayhBe2cjVjY8 T288SUQmDQo+IHotUyNvISVWOTs/ISFQNWZUZ0gtDQo+IGpteF4+eFhnZjRsJnM0aCU4b2hlVGkr VCs7ISMjMzlNNmQxUTwwc14+aylCYHcNCj4gemw+LQ0KPiBCOFdGZWh5VkkjP0d7PWxxKkY2TVpt TFd+WUt1PVo8I2klOzY2PFdTPm01NT9BXjkyOVdzaURxVUhnDQo+IEB2PnoNCj4gekIodTVPTkFW NG1wVHpWUCt0NTBYUVApQCRiMzdEUj1jMGc3UGMqK0UjP3YxUjdTZmBTJTtxUWAjWWFGUGcNCj4g d3h5ZA0KPiB6UFVWTjVVRGB1e1NGUVFaQ0xOS1UwRl5eTjVObismSWFobjBjVnE9byo9eChCaVRG TUEkY29OLQ0KPiBiSERkT2tGNGxxDQo+IHp6MEpPR2tFfGZlalY/cylOZkh9bkMrfGprV1d+bmVN Xjtlb1lfRDhGQm13MmVkb1QzSjNkKUB2TUFTZg0KPiAqIWNoQHoNCj4gejVKVmc3a3JmKzg5JEUy fSQzYWdpMlVSYEFYJlE7OXQjWXI4ZHR9OCZKPSpeUD1ZfFk8X1hZJURQQmU5aDhsVXpTDQo+IHoo JFpkIXRkTG18SVhiR2sxJmkqe1VpQzBmJE93K2o7Z3FvR0RwVm5zMWVlTyYwT2NNSFEwfnpIV3JD Yn4NCj4gUVdNIzcNCj4gej5zfXFSUEplNTdhdTRDalFHVjgkSDl5bDFObWl7KEhMT2NFTk1QZC0N Cj4gKlhkVTZzO3I4e0AhZlYpZWtnTjc9NGlJdQ0KPiB6d2w/ZitwKitzWHNNKTJlVl4/QmV5bEND QF4jfj8qcWpBaEY5S2RMSUg8eGs8S2ZHfjd5WWp7c2NEanVvZmlMbg0KPiBWDQo+IHo1UlltanJ1 P2ZnVzttQ35QfFA8XkZjYnB4ODxZel9DTCVfQ2BkTFY0NSNhWDFrNUFKbElzISMmNjNQV0xqJlkN Cj4gdjwNCj4gemBgfHl7ISsrYztfYGg1ano7N1gpOCtgbn5oanpwOG1rMEVrQykxRjRNSGl1ZT5t YF9JKV5BIWJDejRwVk0jVXk7DQo+IHpOWVNaM2tLTjQ3RHQ0K0hRP3deeCFaJU1ebEtSSnstJHgz NUN0dCt7enNucWNDRmZubjQpJGApQlMtdmltdShUKQ0KPiB6S2N2UmJgbmtwKVkwU35BN3lXUmZT YTw1ZUxDUWImKUoqS3FQM2RBRGkrSWU+Ym92b1FIaEBTITJRXz8xew0KPiBPeVI7DQo+IHojfT1g fUwwMTV6fEpLU2N5SCV+dXEmQiFyckNySTw3Q0N5I1VVeElaZnNrOEVHOVJMMng3UkI7K21DVCUx fCN4DQo+IFcNCj4gej5MfDcoJSVLfGlSYCQrRHJlO2t0X210PDM9QmVVOzx6R15MLQ0KPiBec1Ne ezckYSFsK1VraW1DcWx3JWpadXZeMTFaaA0KPiB6KWtlU0NjSW5zR0h0MUxMUX5MRzlJe29fb194 TzZgelVGU2VJLTFNKiVuUmkpPGliaHlefHNaN2xXamVgWkVGWTwNCj4gem90MTNmIUUrO1N6X3p3 ZDc4Qn5zPVVBSj5wNnpJc3BYaVlHUjZ7dHFkSXZ3K15jNUIpJk85PTQlO3IkKDw+S2gNCj4gQQ0K PiB6Vm9UeXM9X05lMmFmMFBnPjApYFFFeUwzTnxIeW0pX18oVm98OV9mSj0rTEgyeipIKGZnRHFI VCFEPk1ZWF8NCj4gdk0lDQo+IHpTaDNNMEc9TH16dTgzbm50dSowPnc5cWdhJCNmVmtOKSZmZHNZ UFdLd0pUakhOTlpYdU53SztTc3ZEKGgNCj4gPXRnfnENCj4gemlFR3FxMUlGZ19lNFlEI3p2biRr RTleZUBrTUhDMEVvQTBCX2tIaVY9Ym40K3gjeW1IP3ohWTdBYyh3YUkNCj4gcj54UA0KPiB6WkQ9 c3NyMzg2JlQwSj4yKkRtTUZEUE5+Py0NCj4gbXJ2cjt5THd+RlI0cXFaNzxyNlE+JCMzPT55eWtY K08yKVlyUzFPDQo+IHp6aWA7e19aR3tTP0N9YENqRV5ZcXNYeVI+IX0pVj8wYnFVVVZTX30yN2s3 SFo7cXFWUm91PihqRGM8ZFB6c31ldQ0KPiB6bypWS29ANVFvbnwxbng5KHRhc1ozalhRKkd8eVVu R0t2K0F1Y2BXQkhMRj1kUkAwRjlfaDw1NElJbjxlDQo+IGthKjNGDQo+IHorTTFlcV5VKyhPSUkl UGUpb2hKRCQ+V1gzQCRkYH15d2FoRyFYI29+em18dF88VHZfem1wYEdeZ09oYg0KPiBmWilJQk0N Cj4gemdsd1YwKTVfWUs1ZWVgamU4PFZoKF4zeWZFWEdwWEQ0TSQwaUFZfWAyJk5jQjxtdTVJc1ds USFEKDVZO292dGMNCj4gKA0KPiB6ZyNIK0J3LQ0KPiA3fXsjPEdWQUlIdmwmdVJWVFBkXj1UOFdQ akU4e3lCcDB2a1lRNVU8fCV0aiNQSnU/fHNfbSolampaDQo+IHpfRSpJQkFUcD4oLQ0KPiB9WTh8 RmhSST1efHBUdlMwSHt9ZXtffVB6ZE0/TD8zRzs1MU8wUT5JUXtjVEBpdUp6Q2JwVE4NCj4gei1P IzxEWmFVeylyIW5qOzkpITUmRT5qNHZQUX48NDx+YCEofEEwSWtnZ0R6Zm1EeDMlQG0kVlM/PGVT MTc0fDslDQo+IHp2WE16a213JSNnV08pPUVTPWRab2wrSjV7SV5JPVUyUyptcF9QKXpOMytyJD5U XiVheXglMlMwSll3WT4NCj4gVGJjQngNCj4gelR4NjBXKEVnQEF0ZipwantoRD9BQHBJPytxI2JG TyN6ODxKdTJufkFDQGJ0Mk1VdDdYS0BOTUpHQ2gNCj4gV25wZzNpcg0KPiB6I35eaTNZbjt4YCpe XzB1IXcwd2JXK0BlQEl8NXlYISMkUz9vRjd4VFZ9MlVeSURYRnMyQ2d6PzRIYkQhYQ0KPiBtVlpU DQo+IHp1TSV3JWc+JlkwcU1jcGc9JiZ9UiFgbzt8JGNwR2FrYV5WbTRpZEB7ViZHdGE9OGRYcTM0 eEFPY1hsIQ0KPiBJTW41X0YNCj4geiRqPSg5dWVweDIhe2Y+Y011KnJYWUNzU3ZwZy1xR015c1pZ Y0kzJmJGJUpGMDlqVlZ6ZDF8SUdFP1pnWXQkQyohDQo+IHohdXJnfSs5TGhYdSNGcUdDUTZuYzdK N1EycHZOIT1sdkxCVFNocSE/eTdkYEgoakUqUE9ZcD9eNWgmNT1ycUpLDQo+IC0NCj4gelMjMTQl QiNuO29WZkwxamUwfF8+KTR6QVQ9JjZoMyQ2SCt9enFNajZNYDFxbTRgc3pVS0ZFaGEpQW9xPFRr DQo+IDdFKQ0KPiB6b1dGXz4raEBQQFI+UH5fYHt4QChxM0xlSmVKZFFebUNAIVMjY1R6MGdxYFRX bVYhK0hIclJTK0N0Qg0KPiBCdTxAM1k4DQo+IHpYSHNYa15DMkBMdmh7dylFdmt5R2NpWXxFcmNj fDZKfE5rUXJWdkg2ZHArM056UGtiSTVVQHQ/b0FaMklUMGQNCj4gJkUNCj4genp3ZDY/K1A/Y3ly NjNqd2d6ZFc8aD5TcWdkKFdLY2dWXllVVT8qQntYZjN6c2BUT293clRneTNsbWhPXzcNCj4gRiR+ dA0KPiB6dylSKTl3TktieUUzTGlmPUQqV2dNZE9aaSVpJng1eXw/KE57JD1IMVRLbjJrNVF7Km5x X3lCdkA5a3NyDQo+ICVaIWhZDQo+IHpfI282Oy1xMmReV15lbH0tSDB5ZngzLQ0KPiA7TV51I0hw ZlAzMUR0KF9qV21jQ1FwP3k+ej9URCQze2Fqa1hrMGpISGgNCj4gem4rfio4Rlk/emhOeWpqTjhv aEdeRyVGJSNAYG1Ba1FhemxjK1ZVTWpvUEZ8MnJUbV4wUUB0KVlRK14NCj4gSzkzKVJZYw0KPiB6 U2lOYHwzdmhCY0x1YnZHT1NDK1ZwRFNMXl9fPyR1R0pifTlAZj09PUc5MythRC0NCj4gRFNhWGc4 QUdZKT49e2NDLTZfDQo+IHowamJDQVg1U24oeVlFdnBfNzs4RVpua1pKPVQpU15gJSQ7d0pKVVg3 OWh+bl9kVF8xUnFHJENNMUhodTJ0X0oNCj4geEENCj4gej9AY1pORGBJfT5sNjhtIUlfdmgqZFVg KWVYUiZ2RUthKD1fOE9+PH0oS2ZEQ3V7TiZKbGY0Z2czTig5Tl9vdTkNCj4gNA0KPiB6QHFZNmc2 ZlZrcCN0eC0NCj4gZnR6Nk1Yb2FASjMwP1EzKntSREUjPiUhckkwNTx0dkt6bVF7cVlLSk5UcU1j fVFrZENHDQo+IHpAPSVAdFZ3MnNvJDFgJGBzSU0mQ0k0P0xvbzlgaXVVaEJLJF4+RzFeSi0NCj4g cEZvaGpRdUphYH5MdnRSKF96MzJmbmQNCj4genVWPWx0VXtGTDhzTFc8fGspJjdwNHFzOE1saSQ1 UVpoQ2dfdXlCRF9NSz1HV1VyZ1dPRH5mSTljZWhfDQo+IG0mK1oraw0KPiB6JiNATWRXSU1Lfipj Kig5Ujl9X05ZKnFyKj5zeHRxY3xCJEclNG56N2YlITFjUmVsVGY+fG9MbHluQmU+VA0KPiBtMVU7 DQo+IHpZJW5AUlNoZy0NCj4gandFQTNMUktYMkZqVkRuSkJ+Zmk2UVRVVDZSN3E1PUImcmU7MSZA S0VRMkJ7bXlraTVMUWxDbXQNCj4gelMheHYxdFNgSFY7T18/U2l4KzYqRVZifTMyViFmX2d4QH0y JTVNKzgtDQo+IHc2bHJrdzMhfG1INkE7WG1ZXllxfkZGTg0KPiB6M1BlTzx4cD5AUFQ2b3BuUjYx UUJQUjZUSj93OXwqS1BZMD84RT85TWp+LQ0KPiAyMjhSZSs9ZSl+PCFrPElMKkRkfXpjDQo+IHpi byhCc2VCRE0yYHlUZ3g3PUUtDQo+IGpAISg8fVkzcFdYcFp+PzgyelhXVkA4XmFNa3Q1OCU+QXxe QSpadkJYMEprTmkNCj4genNVbkZ4NntuQUxmRTwjdkt1REdJJTVgeEIoS200MmhWc04/WWI4NTZt Vz07Y3ErWWwjbktfdmhJPnBBbkcNCj4gYiM3Ng0KPiB6cz85ZHckSzk3KFI7OVpVeENEdjJKZil4 Pk8xODt8aGskQz1jY09wbiY5OWgxMnRrPGByT2VnIU5ZXjMpMVY7O2QNCj4gejVjSjx3UiEtI0Fe Pn53QkJXLQ0KPiBeT29GXnpXKGJ7OHVES35JR2M/TlhPUDA3aG1ZQnBmRyh0N147U0FWIyM8JkVp dQ0KPiB6Y2JfR05zNSslQD9AemBXeGNAYUxAI0FNcGFDRGx8KWdVYSNJfSU+Y2FZOWFiKlZPZWtB RD5lNSFKeQ0KPiBILUNib3l5DQo+IHo/ZEtyMl5EO3REQHJzfnQtYnhfPTZkfks2ZHdhdEIyLQ0K PiB5YjhNO1REV2RGeEFteXl7VCUkcXBMRk5nY0UmJSNMO28NCj4gejhQeko+NXI0JS0NCj4gNHRs TisoJjxsN2RmZjNvdCFNMjFoZVVlKnEyfCtSdUMmZ0lUbUBsPGhjIU5HRDwmPzkmbSU/dw0KPiB6 eTk5Tl4tcnhRTyozbnI/eXxHK2MwJForJWRFNWBxNjFaLQ0KPiB9YCVtUl5NPmx9YWBlKWc9XzBO JitoZSFNIVlCfE8wDQo+IHpfK3ViY3koe2V6ZHp2bmY5ciZ1NDJEfChrRjEkJDhseTU7dFVDbHhY Un41SFY+Z0FoV0JWYzErYTghSypCUSYNCj4gPTENCj4gek97cmN6bHpIbkpuNCQ3K2RDdkZGQ3t8 WnM2Unw2JT5jVD4pWmMzJitLRD5wJGJBYGJ+OXhkUU4zeyhoYGUmTg0KPiAmfA0KPiB6RkMzTXQl RDVXX21yam5TYHpFLQ0KPiAlJX5gVXNndCpeZkYqbT4+VVd4X0Z3ZSE2UHRaRnNEYCM9OzZTSUEp QElOb0R9DQo+IHpBcl97PCRqXjg2VnVgOVM1Y0o8Z09qaXxSQlV3ZEZYMCspcW9hNm16Q309bUsw QVJNIWQ1WStuYUE7bztwan4NCj4gJCQNCj4gekxjOWBQZjJ4N31veD1pY3BDfndvMztoUV9HK1lN UmgmUjJeNVNEcldEdGRINiVXPTc+aihZZEIzOTxiWFQNCj4gQj5YXg0KPiB6b1ZDIzxGSSZuYm0o M2l5QGVWR3FxUFpjdXYqNGE8aFV+XytNKD1zfDhfVSk7XzIhNWVJdSMhcy0NCj4gckgjUD8/bUNE DQo+IHpeYExFYGJRMntaYyVOUWM4SGRsOTsyOyZKYUtDVDs5XkMyfUltb05fakkrMGRfVUpkSnVE SGpUWldgV0k1dkllfg0KPiB6R1RVb0tnJHF+Q0VAeF5QKl99UTV4Zmc+em1kd0stDQo+ID9YMXhu dWlCUDZDRGtVI3Y2WFhFSEBHVWswfXFFKSY/PnZyDQo+IHpHen0jY1ZqZEM4NmBfZ2RNUnFFUEhF NnhKLSZUZjVFMF47aU1pY1Q4YyRidGU0SlYxPkZzS0tvPS1KJHtrV0hhMg0KPiB6I0ozTUp6RWs3 SV9tUz9pR35fRSNvSWooMU9pMGZ+KSleZ042WT9TVmlhVkUzbzghKGdkP3MlSHYmKDtFSmAwY3gN Cj4gej0lcCZGT1JEdFlCZnU+ZitVJFQzdXw8JUtOTzYkcFI1S3pITGc4WmV2JXAwSVQyYn5SMjEz Q2ZCKzgqVg0KPiBhRXBIMA0KPiB6WiNAOSpiP3d+Q1dpNHdZYlFKP2klalZ7Zj0hNyoxP2wjJEIt DQo+IFAzcGJsflBEOG0jKClWX1dyO0EmMWd+WSYzI3JCDQo+IHo7SThhcE1LWDBAKTxHNEVVMXZL S1RyRzdWeVNSY0lufUV4Zk1SJkRKMDNRdXV6Y3ZnYmNvPTk7bjhMYGNzODINCj4gb2sNCj4gekdv YVdSUVR1M0BlaUw3UlR6P0s4VlpSaCVBKXRPKE9GKyRqdndgdns1Xk1AI0kjbWNadndaWSVoWklx DQo+IF5sWCpHMw0KPiB6R05XeUAoQSowKWdwMUVVN2RibEBVdkhFWDQ9M0FwTWwkQ3JIYjUhQHNl a0okQjklZ3tpKHhnfVNgaDE4Ug0KPiBWJm11DQo+IHotSSlJYUNSPj08aWNzc2wtIzhMV19UYnls WnlRd29nJHM7MSZrMGJYN1ZGMmRXfSt0KUF2Ynl0Z3s1MkFAN3BJeg0KPiB6YF58TjZRY296ISZY MFBwIXkpP0F6eVg9ZHFXZk1gcHhKcENGZCNxaThXRHEma2UkdmNmXkZ6PUJHbVk4YA0KPiA5PypG DQo+IHpNN0lnNEA2bWlaVk10JXIzZ3BBNU8rR0E1SFMzfHdgfUJXRDxiJjxhViVUemRZSilyPERh fShRSWtVKg0KPiAreGo0dmsNCj4gek5pK3xPMjcqN1FVI0BPSj88WklTSnpQPEVrPHw2YXdse1VK VGlnQTw9SnxaeSpxcT89PUh9eEkzdyZpT2hoDQo+IG8tRQ0KPiB6P20tTE1BbDtGNXIyPDlsRjU/ TDNmVnomdnF2PSlAelZ0ST8jRTIrLVkrazJ+cVB4YEIrRypYVCo0aG8rYH4ydUkNCj4gemFmajxh MS0NCj4gTzNFcFJXQ0ZSQSQrO3l2WWRHUTAlJiNzVWVBNzc1M2l5WW9paHlAZ3QwdXp8MGppJXs1 bWlGdG1sPg0KPiB6SGQpVyZpTUEpVlZ9OSghRWc9MTNiKFlWeW9oeT1lYnFOMzMmZzclKlpCTi0N Cj4gKjwkQXNieyRpfjxrbHRVVz1KY3IqDQo+IHoxPWdNaSgldEIqNStDVW80JXVaT2dSUmYzPDBX a3V4JXlEQTFfdkhqO2twQkBGVF5eTDFZdm5PZVluDQo+IFckZ20pTl8NCj4gelBiZElTQURmNEF5 SkwlaFNhKUR4Nj94Mi04cDMhRD5fbm17NGslQDc4WFMyMHhOT0ctDQo+ICo9aCQqQU4/TXlJPFQ1 eQ0KPiB6eHg1SE0xYkRefVdWbXdFeURGNFBPJVhZWU5RWmZkTmJ3QkhgKykmWVVPQmB1cGNWNW1C PylvVDENCj4gbWBqM3B+VWAwDQo+IHojVEBjO05wfi0NCj4gVGU4eHxmZTt4VWh8MVEyNjhiVCha X1JhSSQ5VEd9Mj1LI0tgX3NKbHheSiZIbUVaRFR5NWluQ2oNCj4genA9MURBekBCWnRFaXpMdmJB K0VOMnpKUz0zX20+I3BBNSlJWV4jZzVaJXtYVF5LN31OaGMkWSpjNHg8Z1kjDQo+IHBPIw0KPiB6 Q0ZXa0A7NjRhWGRjUUR6Tj5PZmFjRmI9Xjc7YGYpbDxUJDxNJVVzUWhBOFhjT25+d2llST4lQGU7 aVRmZA0KPiBYdTlsDQo+IHpoblhXTnprN2R4QD1MLQ0KPiB8eXBMSkZCSzByYGZvNmxaM3t4dm9t eT1JK0RiTFB3eU15Y2luX097KCh0Jns8VlghNjANCj4gemVaclhCRWJwK21EfGVhWXs8M20rMkR0 fUtELQ0KPiA+K3pIMTBvfTZ5e2NkbG1pOD4yM0RffDJaaExCSns3czlFckN5MA0KPiB6TlFWRThr bH1MIUJ8VjM7JXZeOGNaejRTeFd7IX1kQHI4ZzRlKn1+cGBHKm03aGApbkJLay1AVEZ+PGVULQ0K PiBMd1M4DQo+IHo4SUR2eHl8ajlCcS1qSVcxWDhHJio7T3dQLQ0KPiBnRFVMamQyUCR4IUF+ZGJt c3Q/Zj09WTNsSFNOX25HQ1JvViF7dzENCj4gekcwdntLKDY5JHRWUWs1IV4+UENRQyRKcD9PJGB8 aXc3WTE/d25ab1RGSjtlWjsyXjl5aDI9JiFaUmhANXsqTA0KPiBiPw0KPiB6Y0VSQCskQnlGck9N S3RQLSY2ZWtuczthTy0NCj4gTmZIeXtAJWQqU1ZqMTZMUnQ3JmBZPHY0OFJ4MHxzN2N7KEp0VTRV DQo+IHp7K3cpJlErJFFhPV9pfVY9X2YtDQo+ICspS0JgPEZlY2VnJnFEbCFEeUJia1lFUVN7clkr VmhZe0B2cVdRfm9AeylsNG8NCj4gekp6IWAjWmRaRGdDPz1VTj1+YWA8PntOITx7anFoWkVTVV4l a2cjUjlwVGNMPVQyQXAoNiprQU1YQlp+JWM9DQo+IF5Edw0KPiB6c3d4N1Exd0VjTktmUGFfdWs5 a2tBcG1PJSVfJi0NCj4gMjEhQGxMZlk7MTxVJEU+MGJFV2V8ZlQzOztZekIjZXVreHwtDQo+IHot DQo+IEttRShKKGpKVT9fR0N9M1JIJTl4dWhoN25xSlR2WXJaTTwwSmdBNXtiP0BaQGFfbCk9Tm9M RkVJXkw/em19OQ0KPiBCDQo+IHorIWZ6SWpqX1U4IXkyR2p5MGU7OW5lRzlKcmFHMDdGb0lUfmVC Y0pAKy12KHslfWRiM3F7V0dyWG02O3dCeTxIag0KPiB6WSMxPGBYeGZsYXhibzY1YVY7K15lWFl6 NEJTX3ZATDVrTG85T2FMJjgzaGFCUm0xaFhHcGxlbW9aaSR9LQ0KPiBfVmZTDQo+IHpeWXI0X3dX SF4lM2c8JHlFNHlATjtAYSUjTitJanErIWI8QW9IT3JyeG02WUVMeC0NCj4gQWNmTkBVeDx3TVEh bm1edWoNCj4gemNLKTIzXjYhMTVHQjxeQVJxNU59djZlbGwzRmA4VDY1aDhFakdFMnVNPCtpRG8z SCY7eHhpd3F6eHA1Rl5BdXA/DQo+IHoyTiViV0JFYGdoXkV+UWZDNn0xaj9LUTYtDQo+IDlje3tg cmpNP3c3K3FDNHh+al9pMlVeVCg7VlIyUkdxUG57UUtAMmgNCj4gekchdyFuX3J9cVdvaXpIZj43 eVQ7PHhUVDU/dV5IcEYxITVGKz43JSU9Ukg1fio/RTdOJE1LdUBUI2ZyZj8NCj4gIzB8Ng0KPiB6 YXl5e2M2dEo/bHlMbXI0YFdyP2NMfUp3JE9SZXImJXc7aT94YlA4Rjx1YHI5JXRUfHVERGpIREUk VHVyKl9yVX4NCj4gemhzNk1ET0lCWiV5ZkQ+aWpPZE5KJDxnZ3V2O01OJVYrbCQzSEVhPEspcTN3 KyZQS3BVblp5aVEyQz07Nw0KPiBLZ1lZeQ0KPiB6PmhvKHk8Wj5vNDghTWRiZWN3X1MxKnhLSEt9 Ryg5aG05cn1KMTE8P3d8cTlacWhgTzNCUWA2P0hfM3N0Tw0KPiBFMVhPDQo+IHpeRSVkWTw7d1NA d2l0UzVsPVcpZkVMPDJXIWBYT1ZTeS0NCj4gOzY3aihHSFhQSipjNittcnNTNWE1QjRLMDd9dHxp bU8NCj4gemNCQ005alJDcCszUy0NCj4gJFlDVEE1XjBzUzcpaEFgWDFCVkNLOU9UKTNFYWVFVDVp cV9wXyQ2Nnx9O0VmQVBlTUlQeQ0KPiB6MjJyO2U+cE1PSnI9fDdeX2dFQFYtDQo+IDJze0phfSM8 JVgyU08yTjx4dmhTPyFFNHMlXmRpNmRKczx1c2NDe3xIVVkoDQo+IHpLRkshcClGNUQ1Z1krIyp2 S2Vlb2t0aStUKD5nZEUjdFokZXdxRGtpYz51TFhJc0Z3JWN5Q1JRT1lDPUZYMWYNCj4gZDUNCj4g ejJrZGd5YiRWLT5tP3Z4ZGx0RXN4MzB6aXBXYl5rK2pvUE5xNypwPXRNci0NCj4gbVU9Q0BTRXkl S1RXU0tRPzdkcWVtKw0KPiB6RlpQYzRXbnxWM15RVlNDNklmbFlga0M1YSNjNTRvPnp7RHcxJjVy YTNgfG1BdSolUWUkTk9CfktERXxnbA0KPiArMCs0DQo+IHpHLQ0KPiB2Nm9GTVY/bj4meFhYU0Er TCNrYW1jPm9qTyNxKGNBOVFvQ0IrMF9VbkdXNStCd35DSGJ8WHFIbDlCDQo+ICZGZzc+DQo+IHoh XzEhakp1Zkc+QDY+Vk5icjMxMj9iQEk9VmNeJFJBRVhIYnpxU1FZNDZIcDMtDQo+IG1KcjdQfmxe c1peTktOUHFAPXwNCj4gel9RZzdmeHROVlI7SXdzPEFYVktaWjF0P01uQ3M5fXcmUHd0KTckaV5l c2ZOKnNpUHpQX1Bidmh7ZXltVUlXDQo+IFA3dQ0KPiB6VzA0KGRPSlJRM1p8NDJfbUgraG5aNj5o d1B5SlRDTGo5KGNmcDs7UjZ+aChoSHk5cko2ZHJ6JSs9PlZ1QU4NCj4gVy1YDQo+IHo5eG1zXy1q QU0tOzFUOWBjJGxtSCRwSWVuKCRoY1Rhbz9yRkxuI0FZb0xKfkdyJExiQHhDfHVvcGZJdDdLS0oj Yw0KPiB6ekVIaV9DKSlHaD00RW53aHJZciF3dzlwcDB+Vis1Uld5MGAzVnRORlRpKjBiKW9WYG8z IzREWjwmTWBTd2ANCj4gVXhUDQo+IHpfODUkd2VqJUM3JWwkKGdxO0lSTExyPlhgJjN4dUVfTCZ6 XyQ/Zjs8c0hWYDRtdktaP0xlNmxfV0AwPzJ4OU0NCj4gfEkNCj4gekB+JnI1PTV1LQ0KPiBkQVJP MTQ9ZWFxdlI8QG0oOHZsYnZjQzM8Kjh2NUtuWXR+dVJgKCZHclJPTzhuPXNieXJeP3JgOw0KPiB6 cyNVdkNTaWBwNEk+MD1iVHwwY1VkZ2dCR3F4YmZMOXMofkg+QWtRMHFOTWtmRzFoWGlTTlpjdT99 aG5ZPytKDQo+ID1gDQo+IHpeLXB7KmxJTnVVc1IySzRQXio8UGE1VX1BY1psTXFoT2FrckgrVHQk XjF1KCFWU0p4MEhuYFpPVnM5I2wxPVN5bA0KPiB6ejgoU2cye2RwWU1mfFNIYzhwLQ0KPiBPJVZx U2I+ej5gaUh2TyE7YDVuMnU5K0hwVnZqeV53Jmd7NktGQ3NSa3lJR25JDQo+IHo3M04/bU83Q1gq SUUzPnhTQUAhNUdOZ09saG8tDQo+IEtCJSp1a0RpITRtQkxqeUM0bThNQGx2dDxfTkczdmNYdFB3 IS0NCj4genZfQFp4Kl8tVV9xWWJmKGJueGZkQ1FuejRkKUllUF9QSCMtDQo+IEJHRShZeil5OF9y UGMpYnoleEFpJSQ2UUx2Km5iJA0KPiB6dyRIQiYwTmJJUHdYRTVVMClUN2t4JkIkZThGU3tCbWw1 KjVYVyVYYVZaNHktDQo+IDcmZTBGR3dyPVNvM1YjJmBhQzslDQo+IHptKSg0dSpBSXhZJms/MkRo JDIlPWBsVEVFMSo4fjlia0hQTXF5eVZxTGomQF80M14rO1o4XmkxY251VE1GDQo+IFEzemINCj4g ejEmPnVQKSkqYGdMcyVYbHE2KU18M2UwUG41ZipxJCVrZD16Pj1IUSY2Zk88R1UpeXxNdSE4KGhe QmdpOGp2DQo+IHZMYw0KPiB6PSRpbXFuc0dLRDY8Z1haWV53Vml1RTY7JSolZ1kxZmReQD5qSkA8 UU15ODx4OEVGfWxGZkFLYyZZMXpmYg0KPiBGJXBaDQo+IHo8amkmR0d5VVM/dGI1cHxwWFZqLQ0K PiBJKys1d2pEQkY0VERIIyZReCR2eHd7YHpxVWRvc2shVzlLeHMzZih5c1ZtZDINCj4genB+U3lE elNtd1NlMXgpYVR7aU8mJD05KjcmS0N8Y1hna0NtO2toQi0NCj4gdzZEPVNkY01wQl8jfilzZFln ZjBoN0VjKA0KPiB6R1pmQSs/bUlVRylrZGNFZDQwQVUzfW1HODx2UnAwK2NZdzheKDIwWVY8KSZX Kn5+aEZ0NTAycGxlZUYNCj4gQHFIM1J6DQo+IHpvQXY7a2B4SFY4dE1AK2tYe3kmcnV6ZHcyNHZp QXd4STMjdTEjKXNkOUMzd3stDQo+IDwkQ0gqKmt5Q3A2NVFzc2JQNikNCj4genBxM21hXlJabDlI P1NLbTlpcDlYPG55QChAR3RAVSYhaDRSOEdfI1kpMHdRTW9AfEdIPH01THJ4ZGoNCj4gQWx0ZWck Xg0KPiB6ODtVNH5ebzNDITEyKUA1aUgjNGNEUUpgYUhhbHVyekZDTk9zQzNSPztLdUtPYVlnRFdJ ZVRyTU8+QU9pbHZnDQo+IFptDQo+IHo1MWowP3gzbFg7ZSo5OWxaZVFVJlI+eyMoZkBMI24xVVBU dHRyREZodT9Ic2xRKiFuaUhzOzUleGVuIShAeGRNDQo+IGQNCj4geloqT083TXxqYEJIKEF0Sl5X RnVBcyhHMUo8bn1oc1AhT1lKPTBVbV9kbUpQaGdlRkZBVytweEowIUd6Uw0KPiBIZ2toMg0KPiB6 KnJyY1MrM2lsfnwxKHElUktELUhzVyhzXlQrV05WNlpifWhld2cxMGVMP1k3OyMqfVotKmpOPnBN P0llLQ0KPiB5eGJSDQo+IHpXdU9YdjgrZWh+TVo8MT9iQE9wVkl3QWMhKylESnRtMW9CZ0VyckxO Tz1ofkYkdkF1OVFPWW5LczZvDQo+IE5aeXJiR3ANCj4gej1RZV5ERkBnI0NMUF9oXkNwQio1dGd4 MUtPXis2UmgxdlNxR0EkX20oZyhIVj1gampidyheUHN3QGFTDQo+IHRmIX5gYg0KPiB6Yk5pQ2l1 U0FxSkFgcmY7SipfKmhxNSU4REd1MkdJRCo5fTdqV0YtQy1USSFeOW08ZmN2cnwkQTE1YzspUFJ3 LVYNCj4genNtZClJJmVnK2UqOWdzeVl4eHY7eyZJPDJYeio2UnBRNkVeem5CdUE8bzhISnpDKVFD SCYqMHZ0bnQzXzNHDQo+IDRJRw0KPiB6cDdic3ZBdjVhTWZvMWE8KjBPNUJgbnRnKTY4WG1JUl5h MnMwJGVRVlljd0JoblBWZURnPERRanZERlRSNQ0KPiBwRD5uDQo+IHpxOCQ1JGsjZWtHJSY+WnY/ aikxfHctDQo+IHojJGpoTE96JCVGVE9RV1RMcTc/e0Y+Z15jT2xpeHt4MUQmZjt1O2lKTEINCj4g emImIX5gak48a0g0VEJ2X3g3RzYtbHYrRT8pWiZFYUl2JCNqZjRYKlhacUQraUl+Jj8tZX19RCE0 dkgxSDwhVkBQDQo+IHppZSRpfkZAJmp8d3tge2hrUXFDZ1BxeDliZ288cGkpS2dLbVYrRWdmYEst fndtVFZgUjcoQyVIYExlRS0NCj4gXmI2SV4NCj4gek9UfXlaN2Q0K15uU1RneDA1dGklJmQrQnZN Wmc4WmhBfnh0K2tnQW1uNzBkazckK0t4dGprcGotDQo+IH48RWs1JS1HTg0KPiB6JHIwZClNR3Ay Z0ZHX0R5OClBMnl4OH5eZEhxeytsSnR2cGYhQC1+QnRiT1RjVzJoU1dXaDctZ21oKS0NCj4gVGtv cGI8DQo+IHpYMWRHa1VjM0JaQ1puNVhhN2xHfnF2Z2IwaG9JeSNmfEJsd1cka0N5e1MzdyFmTWYw d0ApcikkP18pPWwxMg0KPiBNJUENCj4geihNRGZDKl9uQUJiSGokQVcje1U4R1EwME1DWU1vZFF3 KTZiWkl9fjItLQ0KPiB6M3A+YztJJXVlZmpmdDt+WCpiRi1RRQ0KPiB6XjMlXkBgTl5tcCtfIXhQ Q1Q7YGQrTGhqPnRtb2Y7VCZfYjg2RmJDbFMkayRhVGMxfkFKMnRgKiEoKExOZ09YamYNCj4gemsy I15zSyh6ZT9IPDVfTG4lYCpHITc7VG5IYypofUhXUF41Rkg3M2Z2QU07Z2RUVj1RJDs9RFQkTTUo SEgNCj4gTU1DRg0KPiB6SEJXYFAmdz5fNHlJQzREXyslKD9jOThmUUU1b2Z1QnYkKjBYcFhhTV9z enl0SitsPDd0eW8zTk5mQkstDQo+IG0pRERpDQo+IHptRFMjcmo3MD1oXmNeTnEtTSNBRjthKFgt QzdOZCVuRH1BQSU9S1I1XjIrcnQrNGR1UFBPVlJWYXUtDQo+IGlzbkt7JkANCj4gei0NCj4gaD0/ emp6eisjYzMoRUxLbzVFUT85aXZwY1k0ciRVcEF5TiU2blpkYWF9aDVCRDJ6VXhlazNidH5ASEFu YWk4ew0KPiB6ZTExTShvRVBQZUcqZncwUU87YE1XLShWKWRZamVXIVhRdik0aTMybXB7NT9ScTJo YHQqUC0NCj4gYH5LNHxZd2BWZzF7DQo+IHpTMVI5JGQ3RkxNMXkzTSVic3M5bW5gPk1TZUAoYiVy Z2NRVGBKQHQ8QjZBflRDV0BIQSo8Pih7bkwNCj4gQGtOfDFuMXINCj4gems/cig4NW9jZngjdm5K I1clRUBPbGkxeX1sKGRYfjVqYkhoTkE/UlhCd3pwe3J0JjkjeEh6YCVNfmg+UkANCj4gSGd1fQ0K PiB6N1JPcm5ZdnBlamYxXkUlVmBZMyM8P2tUeDJsK2RKPU5iSVAlRjhFfHlNSlpuNlUpb3Z6P3df YGUqUHgjX2p+DQo+ID9jDQo+IHo8fVZpaXlaPEtld3ljPEE7KVlNe1RedzhSPEhmTngmbn1MPV9v c192enYyMC1xJjR6PTBsKThpWmdLMWpkXmhwOw0KPiB6WTRSLVJKSD1uXiYjM0V8M0NHMHZ1bFRQ X2p9d29IeU9pPXtqK3o5QCQ0dGBDI0w8KEZJY0NaKzZ+YFBpUnJXWnYNCj4gemNYUEt7cSFDdDt7 PHV6JjxDSUh+I3ZPUEhSJVJ5YFIjfSN+OWJlKDlZNVdeMj49PkByQWh+MUwqQ3lKX2xHDQo+IHx9 VA0KPiB6ZF9pMWxSPyFPWHJxZH5zaXRHZmZvR0tiUVRaQE92d2xBdn1AakI3cnV1Kkx6Uig0Rz1Q VTVFZE8yMTRjX1ENCj4gaytODQo+IHoyWSN4WC1OcGchSGZCMCt1TVc7cHU5dyUlMHQjI1NqUzZ0 VnMyI29PaUZtc05AZT9iSD9XK3ZoU0MhLQ0KPiAxRzhMcUsNCj4gelNDNlVWVUdWQXB2aTRkPXpQ bDc/ZUp5VVJKPGQrZD5mYn5hcVJjOS0NCj4gX0NFTHdOWCRSOE1HNlM0VUQ+ZW1MVHs3SA0KPiB6 JXZxcWEhcDUqVUA+anRnQyg+Zkh3RUh2byFEWXotDQo+ICgjN3xIRlROa25ITWxJcl9tVDN+NiM/ KWJmMCYrZWAlT3BrDQo+IHpVLQ0KPiBXOFAhTShHWjEyPUxEXktZKlM0cGNjeSk1PiNGaT0zSkEm Pm00Y0prIVJPQEAjTUE/eE1vIz1TKT9ULQ0KPiBDZDlNDQo+IHo8U3RqRGQkak4md3IzaT5fdVEk MyZ+ci0NCj4gTExHN0w7cTFYaUVyYVBjeGV8UUh8cE5kTHVjdSg1aXEmI1MjWitIfTINCj4gemRy K1R0ZlJDX082N2pGbmZkbS0NCj4gSldSYmd7RFJSRygoS3F0YG4maUAkX2NpTkZ5V3dmPGQlS19N dH0qWFI/fXokTw0KPiB6QHZaVHI4dDMwMVd6Z1MjPG81PnNqblZoMUlPOzsrfEhNNTV1RF4lSV9W P2gtQmtWNzdBS3w+dF9TKWEtDQo+ID5LYEU0DQo+IHpDUHEpYj45XmJ7I0d1VUE/UCp3ZlJERyli SDZMQ3lJeFdUNFM3OCFmdGgkOEdyI1BgaGY2Rnt9WjVHb35FY1INCj4gfnANCj4gelFpe0NvYGA2 TEZebDwjPG5Zb0owTCN6U1FGT0F9N2BYbz15TndrZEdMX0B1STI0eFpFP0ElUTI7WUgoQ1o2bw0K PiBSMw0KPiB6PDRFfSE4VDh2Uyg3eDhlMSg7KylgfjFrSW0qclpqRjMrdF5UJVBeK1U1ST9uOH1M YmluRDxVfSVVbXopbTNoNzsNCj4gemRBYXdkSy0NCj4gRStSP0U8WUZ5KTFXYkd0SSZQSCRYSlgo VnM0cXN2KjVqa21+Yzl6NH1fSXFjVk81X04kTXtjUEtnQQ0KPiB6KFppPiNrb3IjQzJhQWBmR2o2 NFNhdldSTXtsdkg9K3VLfmx6WWwrd15VOVl1VDt8PE1uYG4hY2oqVUZOMSgmPw0KPiBkDQo+IHo2 VmxyWj42UyQxYERFTDxCeStkS0c0NzFDR1JpOzJnPGs5ISNMPHlTd09mZH1yMkdNPHZ4YW9uVW9a RTV3Pw0KPiBxXjcNCj4gel52dl9rWFhPbU5Ud1dPKUZIM2NRUFg2flEzfCVXJjxmdT8le3BmUTgt LUEtDQo+IFFiNXxKXmozfCZMP19mcS1KeGxORQ0KPiB6WTVKY3YwZ3ZXMDBzIU5OYmpmZWl0Q3NU YlpLZig4a2J6UkFCP0pzV159cG5VR1BJKGdHSjRmZ3pWJmBVeHhRZA0KPiBKDQo+IHpYa2U1IXJx KztEcEw2Wk15a1dGTWJZcEYlYkBOZjkoezhacypeI1VOYW8hSyM8MFVgaD1Kc0gpXlg8ayoNCj4g PCszc0gNCj4gelI5PzthUTBLYnchVGhCZ3g5WUlNXzFhakdwdSVIWUJjXkUmPmVUOyEjMjl9azsh Kng0TE1tZWQ2XzBKM1YNCj4gTXN+JA0KPiB6Q0VJPllyPiZiR3lZdz51WGgzKVZWLQ0KPiB4YiUm VyFvanY5JW5Xe2lGMWJ2c3ohbXI2cmNVPnBwVmx6YzUxS2RBa2MwDQo+IHp7YEQ/Zzw7RmJ7X2Yk ZzlfSXMhNUNEVH5qdnM/Kyl2dENDJitqaDRjeWdhezZGSnx2ZGNhNklJQDB5QG5WdDJSdg0KPiB6 Q0QrYU1BR3RzTj1ffFF6RV5GTzcyUVl0bkZ4UzFsUWJuSV9JcH4rJWteMks+Kk93T2EzO3BUQXN8 KTRkDQo+IFpEITxiDQo+IHpSMTxTfkhTZn11VyVVaFM2PyFSeTFhVlJ+ZnxnYyRnV3I9enBRVmgz JG9TOGx5cF9gRnpjUUZ4RGtLTzlkDQo+IEI3TTwNCj4gencqOClGcj1JLSQjWTdsYjJWY2wpe3t0 bSRDVyk+NUhBPyUtDQo+IHJZcVJaT3R5Vzg3c35LO3pVa1RBV2ZpRmgkPH5tJQ0KPiB6aDBwWWhH YUZOQGMqeCZnZVI9OHs5I1lmd0U4al55c1RodzlxZGdRK3pSVUJxVGlFKlo4b1VqRk83RUpWOA0K PiBsaSN0DQo+IHpyWSgpQlZMZm9AQXZMSDZFNmdwZXd9M3xlLQ0KPiBnMUhCNVFlYkg8JU5HZnFh Xk1YeFV8NzVTTVRoYUNHbCRYSUczfUoNCj4gejYxMXJZZkpCYlZ6NWxZKSgzUU0peSNFP01NfSty JWQySHQ7RGtMP2ZjUU5+Mks1dW1QKHxGczZlXy0NCj4gVkZPTy1kNA0KPiB6S011M1VZRj03Pj1L N1E3dmRUejRgaCRqNEtXQnd9NEFXZkNzYUB3Pzc0NF8hNCZTRkk2dSFec2doJXNMDQo+IHc+fS04 DQo+IHo2bmk+O3lmKVRMQ2omU0JTX2s3fV88TWBiLV5uKWwmdC1eaGx4IW0pTG82cSpGNSYxNDAq PTxYZnNtc28yTnhFSg0KPiB6cEJNZSNATkBuRG54REkyaG1DNXxyN0leUVlqRmQzOF5TRVklKHJ9 fkQzKXhkRTQ/MkdCNUotDQo+IG9JdjNBOF52QFIpDQo+IHpifG1WczRnWDh1ZD98aTI+KHEpfEpn K0c9VFYtDQo+IEVZSjttR3tEMnslPXlaanM5c34hOFBgc155ZGhFTSZvb2M/PkkNCj4geld2QS0x dDZhSWxfZnw1My0NCj4gJHZ6JHtCRGB4TGU5bk44X19VUUpzX05WaEw0cD9RY3ZuQGZfTFQ3OFU/ PE4ydW9hZg0KPiB6TVUqTTFmOXU+b0VfVFFge0BBK3Q4enNNPyRFRm11MktZOXRqQyZiZDltaDgr ejIyTCZUMil7UDgtWD9yLQ0KPiBoQ2dsDQo+IHpwSF8meHBMY24mNWt4QzQoI0whV1BEJDxoN25g KiVQZCUpTUdWaz59KW9ESzdjO0JOPV40cWAwKS0NCj4gUEBJaUkycGMNCj4gekgoSVVaPkVHYUlj JVJEdm1VYn1YN355Sj5WSEFVMUs1KnJTX201el9xSEwqMHUpcGFgUEc3QEZTJXhlDQo+IGdfJXFr Tw0KPiB6N3czLQ0KPiBqZio8YUs2REc4OTkpSU5lWFEjTEJUbUA7IW0jekFLRkU1WV8mWXQyc00m WldzNlF5JXIzcUtFKlZCbQ0KPiAwXg0KPiB6ZUN5JnJSST5obyhXRkFoN0BYKkA7Jn1sZlFqOTF2 Yk0zb1MlS2BfMFAqaGxGN1d+QXAhdCkyfVJ+Uk9DRg0KPiBpVzljDQo+IHorS191JXhOfHEtWWZs eiE8eG1vLQ0KPiB6d2wraCsxaGRONFdDZU09MmAodUZFQyYrU3k1RHtZeTl6S15jJl9wa3JBKHwN Cj4genJtI0tlZGhsbUdHPFdSJHp3N1YjLQ0KPiAhYShgck0jQ0xrN0YmfEtWOFh7bThXPW5gR09u VjRhYXhReDMxVH40YmJ2Vw0KPiB6OCV3dmNEO1FGfSMjSmspZHRhWXchWFN1ZmFHWkRrbFVndmI4 M2VAI0tGUWIwJD0rOH5YS19gO2kxKjNiYSYNCj4gaDM8DQo+IHoqNjN9MVpQMFZDN2FkdFN7cGR1 YXF4WU5kMXxTMkVWSTZOYChVaCZTLXI8QGRTS3RlLQ0KPiBLKntvSDNpV0AkKSZCfk0NCj4gekNw VFVyJjFUQz0xTXFYcVRWTX1NTzxzQWRfcmBNXmIjeitRQHRwSWIzJnUwJGViJTcyUE5LSj5MckMN Cj4gJW9MeEIhdw0KPiB6eEFWJTtgfXAkPXFWbD1edFJMNShNPkBhYm4/WnFEUSt7Q1EraFJBTGtB eWhTNFEtI0B0Ty0NCj4gamB1YDF9TEZ8PigkDQo+IHpaK0UkJjRMK0ErUzNja3EjMHheTV54YkBz dT1qM3E8UDMmPlM+ZXB8IWZQM3l2NmlYYzF5Mk5oZzwoWTAraWkNCj4gMmINCj4genMzJSomX1g7 UDxOYWo3X1FvU2kqY0UlP00lLUNDLQ0KPiA7e0UwRTBMRUE7MlJfSjtCS3ope1lWMTE9Wj1hQlR5 WVVYPg0KPiB6TXx4cUw4X180VSVyU3c7cC0NCj4gOXcmVmZpUXpZWGwlMChCWDVfRyE3V054e0FJ flV6cCh2UDFLR3Y/UjQ9SEM1VFBMDQo+IHoqYDNtQzAlMVNgajd8XiUyMikyZXtsWlhJe0Z2WmNg aSs4IUhZU0x7Qz1KRHstQG1LSV8zIV4oe0YoWHBvNEI5SA0KPiB6Qz1BOEQ5bWhEXmBfZmpDXnxo ZVFhXn51a2E7N1R2VmV4MUZAUTVxJUQmbyloYl5IZ3pHRSNAZHBRKA0KPiB3fmFaUktTDQo+IHpp JDlZdSleUH4oNXN4SGlpZzlRIW5Zd3VnR3h6XkQ7P0Q+YjxjaDMxd2EyVGE8S29ad2JtKVNJTHBt VSM3Kg0KPiBNMCQNCj4gelRPSkZEe2M3WFNzSntQQXsyMyNlOz9MLVRRUzhUYChYU3g+T3gmMWFX dS0NCj4gU1ZOdk12R0toeVNURnlhYyFYPmxhRg0KPiB6alNybnc4fUpsaHBybzM9N2tAP3Qjej5v X19xXiUjQGdxck1IQEA/PUN6PGp5ZilRJnZoQjBTI2wkcTZyPA0KPiA9PkEjDQo+IHpiSHVuQzVC eD8jVnRQfkBZZG1oUCRCRUdVdVkoaGNZcH1sKVp7eSQ1ek1qcXVhI2wybXcmQ0hHWCMpTGoNCj4g TW0kbloNCj4gemZkd3F1aEs7Vyl6UXAoJWBYVjJfYGlSNXpgTWlvV2NzKU9ub0ZXZVcqR15aYk93 Vl5ISiYzbF5fJVM2DQo+IH4rPjVJdQ0KPiB6dGh+aTgwaGQpUyZGd14lUUlBRjJEQXFIZERpbSFh byhgZ0kyOyVJWCQ1bXwqWWgkPGJ8S0wyTXQyUHBBPEMNCj4gbSsjDQo+IHpJJGYtDQo+IGRBRyFv QSFQTk5fZWQ0YG0zKDd2Ukh1P2JVeV58a1poIWZpMyRKKkZPYV8xTFo3enttMmNVRyo4P1pzRmQN Cj4genkoRylacjA8Zn5WWFRlNHl4SHNuKFgtDQo+IF91KjJaPSYrbVQ7RjRgfm5rQEFhKHJreXNt aE5LeXMqNHFzOE1vOEolbQ0KPiB6I3F7am5nfFJrdmBOaX1kek1AenN6d2hecD5EaiN0VntKVUNW JG9PfFRhYGZkYGN+ZHRVUWZqRztNMWxOWjd9aA0KPiB5DQo+IHpVXyMyTFg5dl44K1N0dFI0U3Mh a0hXKGN1Q2MhZDlHPEdPTzZ9Qj9mY29ObDY2NGZSV2crR1p4bHw8RF9xQQ0KPiBEUiMNCj4gekBH dVNzdXtNVjlXVTVOZHI/UWUqODtXSik5ZTEmS1ZKVWoyaDA4Yi0NCj4gWnU+bDM8UnJScmJyQF5v WlFwPz5oXyYmaQ0KPiB6SD5wVXFjYjxNNWhlVHArZTZoNmYxRGJiTT18ZGFEYEhtcWZaUz1OMT5r bzswVW9UTThVOTY0ZVdYDQo+IG9yaXF1I3JJDQo+IHpvfEhzbGpRNykmXmZyQ0VTUjNFRCZRdCht Wk9sM29Bb2daX3RjXldhN1QybnBse05sQkVZIzhYLQ0KPiBCcTRJWl9xeV4NCj4gejE7NWQrSDtr TEZrOTdWdmFgd0RXZHdDcSMrPjhXWnpGbk5VVWtfIzg9TlVCTlkrLQ0KPiByTV4yK30kbUBMQWFz ZGJWWg0KPiB6RChxZVV1JDRmYW8mflAjVilXZn5vY0hZSkt3XmBRX0tyPzNlVFRie3lGbmMtDQo+ IEBYYzUrNWc+c1VENVl5VlImQTJsDQo+IHppTGt4cnh1TiEwO2NKaGwxUkRwbzhTeTYwWiROOXp6 REo/d0Zle0lkPTVjU1R0QW1yV29hTXl2VEBpLQ0KPiA2WUFaeGgNCj4genE7K357R1FFR3U5UkEj MExSPChLQ3xueTVtY2cxfnh7Q3gqQDE2MjNMeiZRejJmb2Rhbk9tNXolPi0NCj4gJFl1VC0tQw0K PiB6bj9jRFp0bUkqcFM9Wm42PWpMKCEqPntCZjFuTV56OWFLSkNGZ2F7aklBOWVHRDJBIUU3ck88 TkpxSHNJbCUqPzkNCj4geilyKzdqdUVQNTY2SXREYzxyMzErSHl3V309Xk4+cXVsTD5PWUhmMlcq K3Y4Xnc5QVRgc1ojNWNjZGQ2TXcNCj4gRiFgVA0KPiB6OHRlejE1T2p8MXEmNCp5UipHMk9tQiQk LUs1ZS0NCj4gZlNeKSl8VSVAX2x3V2hYV0g0RD55b0tzWEYxMmc9WjxCKDNmDQo+IHpxdj1lK0ti U3RaZEc9RipgeHtZJV59NHN3VFZQbW5mVFRheGEkOU1DJVNBSnA/aSheTSY1RShnYiU0KnMNCj4g SytZezINCj4genZGKi0NCj4gJSMycUgwQW8jR3xVKXV2ZD81OFNIT3BvNzh3IUxtXmFRSHhFKzt7 N30/OzF7fTgpUT9VWCE/JnZROCpEYg0KPiB6YlkzWkRJP0wmRmJvTjc/NHVSQEZSZjstR0dAbGEt DQo+IHJ8NndgQjJ0RXFeajU9QTtWU2tXOGVWR2goWk0+V01uOCRRDQo+IHolVzhvN1A2IXpJcyY4 MG43PGVBI1ZjO3A9bklSeH1hPTtFN3NoYns9X184KFNUU2BIazVQfSREKmMqdTdAKHwqDQo+IHAN Cj4gekNIVE5ZPntTZk5xIT9rWW5gZXp9SEMrfjZrcHZBcihIUXdINGdxZ3sxYjZ9RyMlTD1+X2dm aGIoNndJPStJDQo+IE9pVA0KPiB6TjBTT35Ib0U9Uz99R042NmNEMzYlelREcm1QdSZmOXE3ajZt em0pTDMzOzB5PFElZzN0Tld0TUh4c0YNCj4gS0goa0Z+DQo+IHorViM5PTU0STQ4cTRMQnxHYUMp emZqSCsxTiFpcno4RX5sfkN1cnYpMl9rfWFOVDwjM2hxe2lHKGFmbkgkeSROJQ0KPiB6M1NZSEM7 UUFpNlhwLQ0KPiBPNzJ4MFpkQGY+Xng3XmVTSFkzKVMpIWNiIWJfOHpqT3RVXnNfcmZqYXAxWE5R eXZZRyZJDQo+IHpCZVVIcXYrMk1ATUw5Y2xrOypjKmlnQUQze0woV3s5diNfIShAKEYlajBtTGkw YV5iO1MoRD1qMUt8UzR6PTcNCj4gQm8NCj4geiZSdnN5azxlJUVCXmNFO251KnUmNSF+TmMpe0dQ RFoqPyNqT3czXkNzTklxQUdWNUBYYGBVKyRFSE01DQo+IEJeZzNLUw0KPiB6dWF4JT1UaikoO3A+ aXY5N2B8fXk4NSYyUXpoZSk8U1RoPGQ8MWNfOVoqK3xBNlU0aWNOaUVZVXp4UkhZb0AwWQ0KPiBR DQo+IHpLdEdyTERlZD9MWXgkVmQ/OVgoWm9nVGlXV3g5OWd6bHhKP2YjfX1iPn5SKjRHQXxnfHpj Y0BNdiMyJiRnYyENCj4gZFENCj4genVmejxZckVDdl9laFFHTzYlVzloXlkhNl5XZ2NMRW5HSSV5 TjRAdnEqTk49WSQqUnFuTlkqJns/Tw0KPiA1XjtLK0NjJg0KPiB6YWFtIX12WC1nbnEyKUthdDR1 SntHR2hnJTNlbnJDV1dGWUlaenJ+bGApTDByaU9hejdCSj1LMj8/TWB+TmxIZ1INCj4gej9tNE1w VjBwaUZsT2IhTjZHSklgRkNlPGcxdztRTjNRRntAS21acyR1PHd7RSlBR0BjTHJpeypITlckKQ0K PiBvQ2JEWg0KPiB6RVRjOGsyNj87bysqRThHb0c7QHJaWkhWK2A+OUY/YDw3SVdXbXs2eUpGOGU+ NiZeRmw8SzczX05oITd3Rw0KPiBtaH17DQo+IHpaS29WbWcyKyY3RnwmaF85XzgqeWxYPD9DLQ0K PiBQa0FTWTFoST9kOUVVe0ArJlYpdDx5dTljU3AydlA+bzFeVHRKWFgNCj4gejg+SjBJViVgfE5E dVRRciRQV2V9PU50fkMmUkgoa2w7KUg5cnBNSzdIRlhMOS0NCj4gMjRieT4jfmglK3NhaHxwI09y JA0KPiB6QmY9Q2otQzVxZGtkPmk1JD5tSSlMXiYoJFpRTilqc0g9fTJOOUpUcm05Y0lnXyNzSXEj QypmREI0SW1wMnJJbWENCj4gekE0S0Y5UWEyT1EwUUlUXnYyTEBhZig7eDFic0szbU5neiNPNVFY a3g3UCF5IzI9VDZDMHBlJHRCMktvbXkNCj4gdzg1Ng0KPiB6aDxHWkA+fkkkZEA3RTlieER5QmpI PkdLIWRSTXRJQzdgVmRne2pgVkxOSCtqWk5FUGQmbz9QKl55dGxwJEoNCj4gZ3dNDQo+IHo7UU5x S0luXjclX3Ywb01MbXdtdko9Z29xZ0FzaGclJkVJWVlrfjAyYkA7bEY7NiY1Izg2djY2YnBxUD4N Cj4gLTFAVWYNCj4gelVCe0h4MSNSWWZBQ0p9KldfRVE2Z3R6LQ0KPiBrTWpLWmI5JllxJjFAO0M8 MCY3MTMjbnJkVDR5K1ZHT0ppVFF2R1Y2Zw0KPiB6P0hqJX1tWmohO0JieT5FNEt0X3UpbHp9Ki1W dj8rKjF5fSp6ZU1WcVN6NEYxYlZJYlJGdGUtDQo+IDZUS2NPbU1wfGsrDQo+IHo0JTVgcT82Rn5Z WWtpbm4xVjB3JTNmWC0NCj4gKE5vPUpUPk45M3JWZT49dyZyTEl0SGZgOEFZTShDO3lVSGNYXnNs UlkNCj4gemdlVUQqQTZZKERZKmc7K0pGNnleSk5ZPTBuYCNlPTVqYjRhR192fTEzQiRVPz59QlpG MlVeaWVmVmRqLQ0KPiBePjZfew0KPiB6IzZTaTxTOFBUZ2UkXmlLIT0kNnZSYWp8My0wQC0NCj4g KEMxQCkrdHdhN2s9Syo9ZjtzbkFTUTJVZCphJUF7KSNwKm9sDQo+IHo7RVZgUVlCQmY9WXo9Xzck ekJFKmk8YTMtdzgkYzt6PmF8PShTYF8tDQo+IEB1NnBSTXc9NTJgTVdGUzlmNHlDVDR3c2kNCj4g ekk3aSVZVWRGI3I/dmxINU99bUlvKklZakU/c0RiIUNmNHBVI2NWam9BKXIwVnhOTC1GdDhVUVJr NmY3IUI8e1B+DQo+IHpGJngqKTlOZ2c3NHFiUT9HeHBHaEchM2Y9P2Eze1UqRE9nU0dmJEprPisw MjRLSC0NCj4gYEBeeFRVRnBVclhRZCk/ansNCj4gekRfV1Bqcj52ZnVfRCphWFRFOFNkMlkxbEQ2 WUdaQjd2czk5d0IrX0IrVnl5Q0RUS3JmPjBqQW4zKWk5VXF6OQ0KPiBfKQ0KPiB6WjNPdGV0LUZN YylzKiNyeWl5ZnRea1lDSlg0Sj0zNFk0e2s2VmpjeVNTcX1fJjYwa2lvcTY5aXYyS3FlQzVLQVEN Cj4gemItDQo+IGc+aXclaDJeWkZDX0BNanluaDZZPVcyKitkckNPO2BPdlpYRn1FKyZ3UCR1OENO bllqK1VgWVI2MFJzTw0KPiAyYEgNCj4gelFnfV4wSEJIXmd3dTlENmc7JmJlJDc+cChkNiZfPXIr VzIhZHsqbXUmTzZ2YzVHdSR5VzlqOyg/a1RJTQ0KPiArUHhFTg0KPiB6ZCk2PER1VCNLelh4LQ0K PiBCO3IoR29gdz1hdWxjODVnb2FnPmJgejJ8PkdecXlrQl81fVMoNzFwbTFlR0k1NShUVj5DDQo+ IHooVFAwZ2gpJVJQaF58QjxgVD5pPitPTUZCNDdRJHtTX3E+M3FAMW9ePmRuV1dGPXRWYV4+TDFh YTQ/ag0KPiBAdyhoZ2INCj4geiNxaURZP0VXeTFTTjVGWE5UXylJbDZjS0Ikaz1JUT81PHZZeHNq JEA9byk4c3VXeUwyK3YmS3B5UytpWVM+Xg0KPiBMKQ0KPiB6X2o0fllDWns7Z2pIWmQtcjxDd307 cipgK19JMCRRTk0lNnx4dn0oeGZqPXpBKTFxRDQkbllsR0Z3WnZOKzAkI3wNCj4gejlzJnszMFct PGBTVGJgQkxgeUY7RmA4XiFBX2A4OHBeKXgpQShAK3wpUU9pVXloMTlyMiElanVCS3dLeHYoZ1k8 DQo+IHpEPXFoUEZLJCVjRGZObG1SNlU1IVJ2SCEzIVJ1O2sqUW5JTEBYaCpWN201OVhqUDEpVmE7 MCsobTV9QCoNCj4gUTghNDQNCj4genJ9clBTRGxgRENpdUEzQyhQWld4OzA0O041MndPTUZEUDBX KjszUlpEbVQ/K3xMJkBaQ2h9ZU5ENzlHaw0KPiB0JWhfYg0KPiB6bjxaOTdnTGllYT1DNnZKPkIk PH1fQ1I7a2wmaElIcC1tJTVAJHtwKSNhVzU+b0FqRkRoOEhadmo3bzVtLQ0KPiB9NWdVDQo+IHpJ e2A2XyojfHd8X0NldmA/bSMlYEYwPDtqeF5JR2UyY1BwZSZDSjs/UnQ9K3RYQDFaTi0NCj4gQTZj M29xbEhZeGZoOFUNCj4gendOY1h8clhybDlZdzhaSGVtIXlxJllvZW5McDFmd1hveWVRaVA0MktH ZXF0b3BpK09+ciFIcVFXMEFeUw0KPiBEPWdANg0KPiB6T31SaDtMRV8oPVZSdHZ3Xn5faW5wWW1n YXolMzcyM0deNDkxRE1PNCV6UmU7PiNGOGRGWlYjTz5AVFQNCj4gcXprQXpxDQo+IHppQkdVLQ0K PiBScVVBYikyKiZWMj53P2dfP0J0akZWU2R5THpxUVMoTT9nNVlWZHYlSH5tKTR5K3A/WV8rQzwo bzxDfjINCj4gej9zdkplUWBJOChpb2o/WDBYNTRKZXNwa0BiSVkxOW0/T1AjYV9ZXnNednV7fGxn WDV5dyNANlE5Vz9HJD5eag0KPiBQTg0KPiB6R25Re3klMCNPbCVDfHg2Sj5eRl91YHA8a0hHPjV2 PVdyaEc0ZC1FdztPLQ0KPiBkKmgjfVQ7MHh6bjA7eyUxKGNOPFdQDQo+IHpaWlo7RWdQbkJiJE5U TkA/O2YrLT9CUkNKeDsrd2NPUHwzY2psUk9QSi0NCj4gZXd9dUJmJHBPRDFXWnNgTXg2QT9+Un0N Cj4gelIhVGN5Vnh5RVZfMXVJRnZqcjNPb15WZD5Fei0NCj4gbkkqdTR7Kl9WfExtbSlYdyp5VkF4 Pypna31RUDF5WnohV09UVg0KPiB6UFQwTE9CSTJ0em9VbVZeM2coVjZwISNqWD90akd6VGZ5YW14 bmM8Nyo8OF9RJF93RnsrKzJZbyhgUiNxKHJ2Qw0KPiBsDQo+IHoxei0tDQo+IH5uWWtpTHdONSVy WVIrMmIzUSN0YzF3S05IM0ZabnRtKENTdkxoIVdhM1coeSo2X3pGcjRDamhva3k+LWINCj4gekR9 aU9NaTBDZVl0aHZHblFUb0ViQUJOYlhOT1A2N1lwLQ0KPiBVRTtmY35LX3U3bXhKaDJ3UGVeeyM8 clk0SWZqJjhXbQ0KPiB6YSY+MUhhfnlBPD93Ozl+SkM+OEVHSyhMSiteJU1qKXRFZnl5bFUtDQo+ IFdPfVY2QyVqN1BUbm94YH0lVE9FNEIyQDVPDQo+IHppJH1yX09UVFJ9O2FGcE9KYzQ0WF4hZkNU JUlrTT8pVyFyPE00fiZCdFhtXiNSVzI/QCNtQFMmLQ0KPiBIUHQ0JXVkdDgNCj4gelNlWk1MK08/ UjQyWG1IaCRreGgoTDYmOUdWJWM+fHJDV08zdkApS0dSY29HTTRJc2F4MmIzKntCOSMNCj4gNihU USllbQ0KPiB6NVpaYGlKdzw7UU8qSSVFJmdZSFBHUStCQ0Y7WXQ3akBVeTkzMzA7K1lIcmUkMVcw RFN0fT93NEphQHYkPTgNCj4gSEtADQo+IHpEWnQwMFQ+OEUpK31YPmFZezYzQkFzT29Te2BkdTM0 Zk5XMTs5bExrK3h3d1RUTGFZZjw/byRmWVhJQzVvRGg/cg0KPiB6LWtgfTROeHV1JVItMHpuWiRy VnZoPVNDIXUrVEg/VS0mVXh4TVJRVXctDQo+IGY2ej1OPUc2U1liSlpwelopQkJoaUc4DQo+IHpQ YmozaHUxWkgkWXV5PUpnfHQ/JTB0Xmc4VHVhMX0pRXozdio7SjE1dkNPKnBzJEFfKipDTHxAWkBY R1lTT2kNCj4gKTcNCj4geklwZSNObmwjazlWbmR7WWk3UEI3bCYoNV9tT3UkWFR8K2U3eF5zfFJT LTZvUDJVZW8rRE1tci0NCj4gaiR5RGRXJF4kSQ0KPiB6bkcyO3NwYlZsYHhgOFpaNUNIZlN5MDw4 dXl5ZGpHNFJjPnI/QnpJTipVfUEzdF4zNWdlTyt6cUNHaTF7TzROdGENCj4gemQ9WkszbXN9S1Fs PVFXdXoza1EqSWVJTmw5MjEjOUV7WGR9ZDlQRS0NCj4gd0V8UStTfXMjYWFHY0dwQDg7ciFvJGZy fA0KPiB6X0pXd28qPyVJS0NAbGp3eDJWKC0NCj4gJmxaJmpBYTJtbGBAKCtpVkA9NTJoZnAxPUdC Un52VylHeEJ5PzFVUW4pcWxfDQo+IHplK35ObkMtDQo+IDJ1PlB9akBCUzd4dUtvezNHcD1Rczc9 dUY+Pm5UTlU7T1E7N15Bd28ofig+cGNlbE5hPWNTeFZZWE0NCj4gemNHQ3huJXwxN009KmRrVmAh TUdGKTVwR3ZiO0NBJkN+ZUkyO1h7Wm5KJSZyQzQrOT1aRz11TnxYbktWeg0KPiBtX0VqVQ0KPiB6 aVlgNEEhcHVnYVRZNTBHUyRiR3BHc1FVVG5PTjY1OH5GO3diZ2NOM3w2dUdzRyFiVj9AJWo7fHJB ZnNgbQ0KPiA/emsqDQo+IHpJUSs+KiZvPGhXWmolakYhSnxCakZDX3t9N0FEWWAkdEl1fE0xX1JH V01rd2tTKHJkWF9AO0RXVnJlMw0KPiBtbnsweFANCj4geihQWjtWVjN9K3BnY0ljQSFsZE1kZmo/ fjVoKD8tDQo+IGJNeGRqWEIzaFV6V0ZAUj5pa3MjVXYxKSZ8ZXFgWTUjKyZHfQ0KPiB6SjwwcVJP PW0mdiljZFRhUG4obUJAfE9VXyU4MkVBdGI0USM4bVEzPERRbGQmKlI4UjhaQUpjT147fQ0KPiAo VnUqQEZBDQo+IHotWCl9VytSXmBDKnhUKFBBQmxLLQ0KPiBGKk4wP2M5PG16WU1VJkQzcSpNKk9J ZG1qV3lRaW5oKl43UCpodTZEIWxEelkNCj4gek5zb3c7I2xDeCErbSZ4MHhgcz49Qz5yK01qdj9h TmFEfjExRnBPK3pNYFVFYzNKRnlaODZTSXtHNm9+PkVlDQo+IGV4VA0KPiB6TWxOfUFXSlZzc0BF fUdXbnBoYFpnT1NiUlNkYF41M1FDXnwqVm82eGEyc3VULQ0KPiBJc0swJSEhTSErKG5ueSMwXyFG DQo+IHpZZDJmQzwrYk5CUGVKXmNSPmg9WVlnS2ZEKyUmPUtZUCgwWGteVGlRKTtDPFY/IV5oZ3Vs OXpFVCshU1Q3VDMhDQo+ICgNCj4gekp4dlB8O18xRmF0XnlmS3RPNkVwcWI+aUdVTVJnfSF0TCk0 cG9+PjtOO043NkJmWDwpX0t0Y1YlKzlKdERfaWVYDQo+IHplWlZjSFpTXmd5bU9Wcj9MVnBIP1Vh ZjtTSyZRYV5ZYndRVjZlb1d4dEdnPzZGRlRaS0QlVXZZXntuLQ0KPiBsSj4pdnsNCj4geihgez1k XlBpPj0rTnZvfFRobld8PmRHJShqfTgjRjZhfVJfQyN4dzt5Un4oUEdtJD1OaUpZbz9rWmtAa3Qq DQo+IGRzaw0KPiB6c2BBfGd3MHxiNGdINHAze3B3XzFDenNlemFhc0hgOE1hUkIlRz9KS3JHc1VN b340PCZoaSY/flh6Z289DQo+IFMqVktJDQo+IHpHN2trPWYwRXYmeGB9XngxIzRDbzdRJEoodE9I JVBoODwkb0B6PyEyMW1UJnM9Y1UocmlEZG9eTmkoY0Vvdw0KPiBOIVkNCj4geipTXipyKHdsNTM/ QE5FMiF9S1RgSnVIY3ZDdlJvSGVSUUQzQWZtV3VufDhAb2x6RClmYjlzRiMxX3R7IXlHDQo+IChK fA0KPiB6KXlrRkxIMXFiIVRYOClkOWF5TXhmJTtndXV4T3t1VFB2K2A3djdGdm9fP0NSd05+ZmFJ QEMtDQo+IEZkZHJ3PyVpSGdADQo+IHp5REhabFlqKV5sJWg2T05xXlhKJVFsa1VVTzUjZnY/N3xM Ulcya3tXbXA2P0xKWjYmdCk3N3I1PjNxXjs/bQ0KPiBVWSgNCj4genc0QilAJGhOXzxeYGVWUD9g LU5GJnsxdnpge1dXZWIlU0kmQ3xLODlyWURKVi0NCj4gPDckYV9rT1MwdiRTT1F1dVpRUA0KPiB6 Q0cqPiViNjQlZCU5Tnw/JShDPFcwcEBia21UVCViR1dkSkY+UU1Hdj9aWSokLQ0KPiBOYG0+MXU9 V3ApRDdLdTQ2K2NFDQo+IHoqMlFBeUh4MXU3ZEZ4Kzwjam1hWmhFSTxUdkh4R1lDMERtNHkjdzJ1 bVNVfHR0dCpLaVQpVmZYd3kmOH02DQo+ID88I3kNCj4gemhCKiZWJHk9ZiNeY31LdytUT3gxP00p d0NnSmFwfnomKFBBQ1Jec0thTW1hMyEqcjIjTmxqaWpMbHM9S00NCj4gaEJZdw0KPiB6dlAlKip3 ZmppSzw3I3czVFEkPFQpI2BfaGB5TChgcC1fNzUhIWZTQ0YmYjVgbyNsaj1mcVR4SUJLYGs+VGo7 dV4NCj4gejdwRkFzVlNqLXpmQSQrV1l6MzUrMDkhO1k2Q09xQkpWbSMmWi0NCj4geDwyIzJfJXxs RXg0aD9DQFMxOXIme0E2ViYmYg0KPiB6Q1pZVFhDRlllX2k9enc2cnB8I2cpR0lQK1pBRWpnITQk NGpQVlZQT2pubkN5Q3ZCdypNaGk/JVRDbVZkdw0KPiBxU1goDQo+IHpiKkkpLSpgX0NuODN+amhf Yz1pXkZ1LXMheVlyciFWLTt6eEo2RV40Vz8zOUNjITcrbmlATUVKKTsmOzEmTXx2Tg0KPiB6Wmhx KVAmYz5RZ04kSzFCKDBgYUNDU0hTRl9uTj8qc1o9Jl55P1hxd1ErcGNOJD1sM19jTipGYCZMe3BC Vg0KPiBZM35zDQo+IHpjdn50cXZMeG9jXzgyKk4jIzBYfl5GendLaXhFdWJedW02dD5nMUhaeStj MD1zO1hlR3g9Z0VFckFLZkNLUkkNCj4gIzsNCj4gejVsPV9xRl44NkgkaC0NCj4gSDwqdTN3OUlT JSlKZipeUTE1QSlXWSpPez1BOU53M1ledUVEKzFJOV9LO1VoZklGMmFTVQ0KPiB6NihafUA4dkNn a1JEOyRYbypPXl5abWlmVXF2KGs1e1NmeXBZNzhUbWVIWC0NCj4gPGtKSTYma3NMPkR6V0FGJTc8 PzBqDQo+IHp8MEhGYU47UF5wbSgqM1JwWmQya3slV0RzTjE+QHlxcWlgQ3JsMHpedlRTM0YkOWl2 dWRxYyVqTT0mMWFLDQo+IE84MVoNCj4gej4hbldgeSpGUUF0KiFUbGV7RVFIbTgrIXd2RkF3PHtx c2k3a0t0KVR7Kjg8N3ZTVHo0eHN+fUZTe0V1fEkmXkQNCj4gMw0KPiB6UUkrVWRnWklxPFJQWnU0 Tzs2fGA1NmEzQkU9IX5Qb0FgZkx6SjFKamA2SGZ9Xlp0Y3lefVNFaDN1bDd4Z2s7LXANCj4geiE/ e3tOY3ZAZHVgUT8qJUh0KU9EU1l5RHghTWxpdChBQmJLUHV1SS0NCj4gQUVma3xTS1dFNnlLUngl aGR4P1UqTUZuaw0KPiB6Q1AjT2s8UTwkWkRiO3VXMWw8fGVtbipDSHshOXdjTXRjZ29RfmVxZ0pz SzM+SGtNMUkyOUBGfDxxSXcNCj4gKXk+T09EDQo+IHorY0lQMnNRMj9maH10TWcpeS05MTx3X1VR LQ0KPiBYPVQ8ejNzJU5EUktVKUZnTjtnUHAqWXtlXnR0dWVQVU8rd09nZ1cNCj4genp5fU5aMkpj IVAjTDQzaGpEP2hUNH4jRilZbytGfWJ3NGBvVmZySyg/eCZfc0FgUU1wSzxNQileTilOdW5rDQo+ IE5iVA0KPiB6Q15BMl5BS0Eja1hJaWJXbSh3PHItDQo+IHlnKnF6WHxXK1poSzNiYCtaYU5IfXtg JnpLKGlUblJsQjdZeWw3Zm4lP3dGDQo+IHo2Q1Z0dE0oQDlGY05Ia2wrYlRgYFNmMTtyeE0kX0xX MWg+ZUpvQilFOCQhVk8/YUB3TEp5NEQ4ZGh1TCl1fQ0KPiBNUkcNCj4gekpPaEZzP1U1NiVqdXpf cj5xKVlTbTJ1byZKMUM2cE1CJGVhMn1TPGt7R0RISmhNa2UpdlVAOHtYbWN5QQ0KPiA9N2opJA0K PiB6QjVAR1g1QmVYKkFIJTxhZWlQYkk+SzZIQ2x6RmpGaHk8bWNDcFUwUklCQFl2Z18lPVZQe0xo Q3xKfTcjDQo+ICRhI2E5DQo+IHpLU3NhQ2EqNX4zZThHPlV6OGIwUC0NCj4gYl9oZD04cUFKKSlp KVVicVIjYHU0ckEoQTQ4Um1AeUdiUD9kXj08UCs1d0QNCj4gemREXlRZVHV8OEZGbXZrZXUpUk42 XlF6blhSSFV2NCtzMyFJR0ZuJWQrMHx3M3kqZ1QjWXA/ZXxaMHwyM0kNCj4gOD5NNw0KPiB6VkN9 dG9VOEtFWD1HMjI+ZCFON1VSa3liPFFyRExCYDFWI3U+azJjd3h+I24pam4/SmJKTlEzckA1PlAh PQ0KPiA5YzFNDQo+IHo/WTtrd05QRU1+c1ZCcXM3QyEhfSt4eGRqVUF5NGokaztKe28qUyh6JTxT czJfVENZIyVlOG10Zjdzc1IoVGpyZA0KPiB6eVFtWmdZd3lFfHdVRDJ+JSZGZTZ5Pz8jK1JrIXpx TkxfcDMtDQo+IExkVW02cztARj9DUEBpZWt4aipZd3Y7b1ZTOURYDQo+IHpCNH1AWURHdGAmQ2xM ezBkJkE3Qj42LSQxSDZAQ0okKmJ2X0RvZjxtMGpQdCNuamZqRkFLbzM/LQ0KPiB1aEA9VlA7cEMN Cj4gekt6THVlQnw9LQ0KPiAqVVJDeCNreW5pbzlJaCRGIVA+aEE1ZlFkRyUkITtndylleSs0JVho UGFxVF5hK19kK3lOTD5mdQ0KPiB6LUxkVnhDUiRnUiswYFd3LW5WWmEqSXJkTnJvRDwrQGFweGla IW4kOElnSjA4dChxfSlLfDJae0s1WDIoZHFYVWwNCj4gelE1NDlQUUB4OGpSZElPS05xSk18X3Iq NHpedWd4MG82M2IoVHREaUR1VG1jMHkwK2krTmQqdGtDajIkZW5fDQo+IGRjVg0KPiB6USREanhR Y2xmdWtiSXI4THx2TGYtSUhEMlBpYSVpdVVDfjNEeGxnczxjfDRKP1U1OEU9X2BqKV8yY01xcTxE N2gNCj4gem8xcURmZGlTMHF2aDRGN1craTdVT1dMZDV3TUxKN2tlJVgqeSMmPVYhQldvY20hfSRk bGUkNURVNiFpDQo+IG0rNTd6dQ0KPiB6KVppY25hazVQZEFYeCkkT2ctDQo+IEslTVE/MiVmc05R WDtASzJaY2lkc1hEcSE4X0hWYHMqcysxUERES15yNCtNVyFVDQo+IHope20hKnl2SVViX3U0ITNH b1FseTA0d15rNHNTPlcrUFg1V08yMUgrJSR5flYpNzAxSXd8NUZacTRZSnwkDQo+IE10ZU4NCj4g eko5UG1aQ018aE1WJCZpJExXWUtsPzZqcGs3cC0NCj4gMXFwPzk3YTx5YCF2Nj5+bypUJGZ1PlV3 S2AmcyV8ZDEzcUtwNQ0KPiB6OX5STXhvd1plZm9vSj1qRkZ2WEwmaU5VI3xHYnp6RnNoTVYrVnh1 RWNKIzVLTGNnekhlPS0NCj4gVH0/VGJEXmlUP34mDQo+IHpDcTlgQGltWWxYU3hTamw+JUhEeU08 b0pxKilqKVVNYEZKR0hZM1NYMTx3QlRqPCZxTWIhfWhCKHV5Rk9jYw0KPiA4cWwNCj4gekFPKVA1 JjxUWko+cmM2WGoxQmktYHR4V2liQDljcVlkMCFhZVJePUZBRFhIQFV3aCElTy0NCj4gbDZkUFFX eHlWNW1NWA0KPiB6XzRgOXdNY0FBMklaI3NuWn4jOGteMlJSdjRGJUJ0eDA7clp8SHowcVNPdD9x aHMzO3Z3VDFWU3tjb2smd14oDQo+ICt9DQo+IHpnPDx3Uz5jSyktY3hUfXB2WDhXIVU0JC0NCj4g WmY2IzA4OHNqKlNMYHI/I082QEk3TX1PdiFTPigrSWR4UFNBOzk1VzINCj4gei0obUlqXngmS0BJ TTwtDQo+IE5FQlU5NElePDIzMDRYfCUhdjsxZDEyPmAka2pURXtVbH0zQSpmI1JGV2RsPm9vQVBB Mw0KPiB6N0dramJkd3U4SlQ+Q1AqOD9YQ2hXO1RnRlFEcWxwXk95bnpLcHFuRnQhODdsVmo+ciRi MD1KM0tscUVoekFYDQo+IFN0DQo+IHp1QUIkcnQ4Yz9oY0t4JCN5cEg3Vy1neU9aYW5ja2hjOCQ0 dkxmZnAjTS0NCj4gPnxXb2deaDZUYH5kZCV0YlVqYDYlWDcNCj4gelR9RlgzdE9EPzBQQTA4ayF1 ZEBASD1oUXU8bzVRWjBLQGxJJkxOTDNJZUUkcytHPFgmQ2x7VjZkfS0NCj4gaCZ4e3xrfA0KPiB6 dHVgd3Z7Q0VJTFRFaDkxc1V8RCpmPWkydnM3SiF6OUpRSlkpUWxZM1Jqa09oajlpeSVUZVh9QHVn Zm1JcSFSWm0NCj4geihmMEled3FKckcxSjNlX3RKUF43Nll2T2gqZ1R5Rk1MY1h5Q0xjb3pqIXhA QGVTI2hSPm5XNHhARjNDPDUNCj4gJXJ8Sw0KPiB6TnclSDs+V0t+eCtVd1JYUGVzP0YzVXZWRVo5 PylCVFhAUlh7WmZaMUFAKkopdyFEYGR2MT57NGlPcUYNCj4gUkpkUHRhDQo+IHpYXnotDQo+ICVy fXtZZz0oM1ohPUVLcHV7Z1JVbCZsTWhtRn5IUUtCPjl+TFc1YH5sNkszaVFWNFIkTzI1flA0P2Uh PGkNCj4gekRYeE5YKEM4YHBqeEFDfWV0X2IpVlc5QVdwJmJkeyFnaHpAcj13T1VaUkB0O3h+YEA1 U2VeXn10cnRYbDwNCj4gTTZecw0KPiB6PjRpNFhXdVZ+RDxYMnJpSUUrbGhnTXZ1SmdUJU9kLQ0K PiBec0FYU1BQOFN2bztWfXU4eT0wSlY/SmY3QyFGZ3YjMnVwDQo+IHo9JCp+eUVhNV94JXIkJiVK cjwzbWFReE9kbT0tDQo+IEZ4OTthVk5aYEdjS1BRVkVFaEp8RVglSEtRcVl2a3xVezMkTjYNCj4g emYpOXVQJHxpPFppTzcwZFQ8PUdGWUYjXkdWamRxNGc2NTdxeTt2aVM5YDZkU3g4dTVQcVphU3x0 TVE2LWkhJD9DDQo+IHpvRj1wb2hpOzNGWnNXNUJieVkhemlPTXsoeytASE42fH5vJXEkd3JualI8 UH5sd3puc3F4RTs1K2VZP1FPKQ0KPiBOfCkNCj4genI0KilwdCVJfCR0Y0RfTUIla1NKPDNyM1pv KyRGYUYzUk96Mml9UGYqeWdjaytifmRLPm8kOHVDOTl8OUBfSnQNCj4gMQ0KPiB6cC0qQmY0KUlt IWN7LSEtPlVgI3hkfVQ4U0ZiLQ0KPiA9K09XKX1vV242aX0xNlE4I25TNH55QUN8Z3o4VStTdVQj ZG5kDQo+IHpNdWNVIXh6ZUhaYlgmUkFSUVFqPTFESkJ2NG0tDQo+IHEpSWxVcEBHNWp8STJjJCUh eWRoTD8qNFUrIVdzPDQodiZWeEINCj4genh9U3l7UUl0Nl5tPHskVThfRSZ8dEBWQzVRTj9EQ0RA RyY2Nm9ZdWhWeE0pek5+bWNodiNxXlNZOWANCj4gYSloVEopOA0KPiB6VmUreElDZ0lPXmVscnB4 RzBfVVNAbXdrWHVyNlVwaHdvZ3VePTtHQzV9eWFJYUB+YEI/QXwmOSN5IVJ0DQo+IGdvVHwlDQo+ IHpzUnF9SHVLTy1JSWVoMUw+JUNKSXI/UCM2Rjt1YklyYElWVkh0LWZpeXhrJUREeDNFZTNaOyND N1Q8V0dkJHt1RQ0KPiB6d311RjQ3RDt6a2hBbkRlZTZuailkU2BXcm5VQm1CdUs0PWBJM0VYMkRV fjhjcHB2OGNLJX0qJWV6QXVVDQo+ICZAeVAkDQo+IHowP2tfJWRoJl9zUThDNSVOZWBhbjRAMVQ+ M2VLUSs3cDgxfGY5a2hyNzxmZDwkK3Vid3c8YGhQMGQxZA0KPiBvTj81M2INCj4gelRDWj9RcH59 fHxtSEd4dD9KcCRzO3teUSgyZChOYHhEV2VxdGZnd0AtDQo+IEBNPVhhUkpKZUI8ZT9GQn0jfnFl YDdjQQ0KPiB6MHV2Iz54OSV6WkUlfTw+YFhxJk02I1dJQ2tnV0Ffe1R8fENqJTM/Mk5AX31ecFJr P2JXU2UlakQzDQo+IFdXfVohRDZADQo+IHoldEp2QVpFTUF2JiN8fDk9NTVPdnNQbH1NSk4zS1hv QVY9SVM1NCZaUTVCOGUqSDNaPVF6ND0wUVJOeA0KPiAzX3ZvNDMNCj4gejNNO1NMXnQtDQo+IF91 e0dxPWgwSFZzKmRvUkQlJTQ8elZEZEUpVUo/KE83QXdmeXlZdyo0a21QfGo8TmxMOHdxeE0kTQ0K PiB6IXQ7R1RwMWImYykqKExYeSpvbE0wKndKVCo4MVcpSnshRmNnbHwrcWtLUFJFT0BzSDJAUW9W WE5nRFVOYA0KPiBjO2RyDQo+IHpkcjZyS1VBZStmOFQ4WHt4OS0NCj4gMjc4bF5PUHlPS2V4UkRz ZU95ckRoVF9NKiY+JXB+UT5Qb2Q0d0ZDI25wUEBmWDUNCj4gelliR3BQcV95dF8lbTYjfnFsaEha WWJ4dHcmMWJeSko2PUZ6TmFVN0l1SUVmZCVYRT0wbDItDQo+IDVDPHRocU8oYHpPIw0KPiB6azE9 JXp6fCg2Y3RjYk5OanpWNEBZaGo0YFB7X1htVGBQNnBnSnZmWDFFdHBLeHk7LQ0KPiAxUUU5QHkl e1c/czNKXmoqDQo+IHpfRXJJPzJCX3pqU0ZUVlczRHN5P2dTWEY/cT1eQW0yQlglMmpveG1UPGkt DQo+IHNBRjgqY31aeVArQXlkTzY8bUxkWkENCj4gel4mRVpZN30maXRoSy0NCj4gY2xMUzlpcDxA NmphKkJOPUlYYThOWHRBYjw1SSFKeFRocj5wK3VCbWswRyY0I0l4ezJBfA0KPiB6ciR1aFhnISp2 QlRjaSo0bmkrempZYXV2YCZTRSNOQEtHcVZnPFJGVFEpbWFVb0piTFV2P2ZXbU8rJFAqDQo+IE5A PWw0DQo+IHpwfkYldGUwTGExaDNeaFNzcW1lczZIcm1scHM5RU5obV45YTBfd3BAdVpCYDhiMnYm bFNjd3coaX5aJWsNCj4gYXJUIVoNCj4geiNiNUFGb0g1PVdoM2FxaXNGdE5HRTQoTCZfa29oXjZK VFI/bUwpeWJnWT1GWThvWW1tSyheKExDJHJvUmB+DQo+IGQkYA0KPiB6REU1PnFfN285QXchV1U4 dEd8SzZEV01faC0NCj4gKE43R2Y1KHZJWXErbGVEYEwkQCp+KE9oJEtOWmxtX1c7aHlAPEJiDQo+ IHp7QzUzakw1Nm9Hc3sxJDRCUzJUMU4/Z3thb3Zwe0Vrb1lNbTl3UXA0KTZpTyVOJksqaVU/YzNh eFZNbW4NCj4gUllafUoNCj4gejRndTs8NF8wfTlLMjF+X1dAWUQwSXRQRHQ7JStJMExJVTY5cD5W eTRrST0tDQo+IE1TJjBzRFE+Q3xQMkA/fVg2O2BGWQ0KPiB6NW4qXm51TndHZ0RDVmQye21vRE4x WmV9VWR+fXR8TDxBV30zb1lETyMhPjQqJjZ6VEI0RHQ+ODVCZm5sDQo+IElCSzJ4DQo+IHpzdEs9 ZGFzPExGZEEqdHVaZz9HdHdWZHRVIzxlfTZLe2Q+clQwbSg3O1hVKER0YElqcU9vVXp7MENDNSEw ezFLDQo+IFUNCj4gem82Rngpe2B+R1JkJjs1SSowS0NHbV5lYmJxMUpfQjckZnkheFo9WXU3PnYo TURXI3tCIUsqUzBMfUhWRWpODQo+IF8lNw0KPiB6VTgkI3pWQmF+RT5WNEp0STljK1A1aV9BWFFK VCt8e0lQfEUxYHx0Yz42NUx1IzZ3JTNkK2k8Znc0MiRQc09IQw0KPiAtDQo+IHotJW4jNnV2aTRh JFBrIWc4QCtkK2RLeFFQSHR1akZSY2daUDFhLQ0KPiBhPExYbX0pd0hqfEh2V3t6UnlNcyRlITkt VlYNCj4gej5kLWZ6QVV8Z25eeUUoPXBaTEQ3cjV3KVFNWGBGWC0NCj4gJnU0NXdKUFg3XjxTfDZE cElVcmdGSTF3MlpLd0l0fXlqJQ0KPiB6N0NUK2JWaiRIbXt3aWJmaz9gTDNUfil7Vkc8VUckSVBW TysyZzNrOVlnT2IhKElSJkstDQo+ICNnWm9WI0xYaFNlX2olDQo+IHopIT9yb2BTZFFzLX1+alk1 amVWNEFAJEpgSUErenx7ZTt5bkk2OD91bEt5eXtiTnZRTUp8Wjc/dXRYVX5AKG4pWg0KPiB6d2tU d3NyODhhPWVeY1o/YEhrMzt5YiFUfnRuUDZCSjQ2Ui0NCj4gdjFyS1R5VGNhP3hFfHhQQEclen5q RWMwXktHOVg9DQo+IHpiOF9KcFlMfHRgVjQxMXQofVVfPTt4OyFnd0lYSn5ffkJFbzt+WEJSbWNU IUAxcFgkTUdrYHpjIVM2QzlUOXFgIQ0KPiB6eVVITSNHXihofnFKSjtEVClvKm1TTik1UVYhUUxy dVA1flc8OE17fHdGISppRnE4XlFaKktIJWFlU3oNCj4gbyp+SzQ3DQo+IHpMN0dBSGRyV1g5Tl9k RiglckM9WiRKLUo4UDVmMVp4OCk/OFc+U3d0YHhuKzQtMEhLSW47VmtlNC0NCj4gaUtJWVpYNF4N Cj4geiY0RVBUPVlHU0lNdGNzSiFmKExTKzwjMVFjNyRSMEl0enNtNG50bW9gLQ0KPiBBeEs5ZDJ5 UmFoYWQ4Vn42b1RNSDBZcQ0KPiB6TCY/U3I/ZSVtWENMbkBxfE1XfTdgcjh+Uy0NCj4gbU0/cyoo Wll5SW1PV156WFJkRVM2dnxDelNwYCFDJWJHNTBeI21DDQo+IHo7ZUltYXEoSGQ4I1hOUkg7b2kj X0BWQHhJaDtSPXhyfWojPzN4eE4oX2xnV3Y0RDFKfiVzY3g7Xn07XnlyfVZoDQo+IEYNCj4gek5p czg0dlQ0RTA8VEZ9b21afVdLejhsRVA5KmchLXZUWih+cCE+JEoxU0QyRjRCUVBjNGpXSDVKSTMp cmRVU2NMDQo+IHpBZjRkYnRefCVhe1V+KGlmRWYtDQo+ICFpYWhgdntNRmJVUT1GemBuXlpWczx4 Xjh5RCVrWUN7RVQyIWFlUXFWd3QzWUoNCj4gej0mQkdJKWRxKXYkdilGam8tDQo+IHBvYXVvRGRL VFcqTmlfS2tMQ1N7OD04R0EoYmgpRWdTeWVBTVBqdCg9fmxyWVJ9Qw0KPiB6bGJjUEpRPVJ3U2k5 KD5sQmN5JHg2YyF1IXFYJiY3UHN1bj54YkYtNz5PXy0NCj4geUk2c2JNTk9XfnZSYWQzXmUoKEM9 DQo+IHpOSV8mbj5GdzZiTFdwSTFjSXZldDxuWXNPUUEpcTIrUko7aTs+fUsqTnlkJHFVQE5yalJG OCQ3VSUqelVvDQo+IDJveHENCj4gekVZdDFFa2l7P2F1bzktdUJ1bHtrUik2Y0ReeWtuWCQzNmhr PHwxPmhJd15XcmxQN2wqXj1EPjxHI2E5NlJKZ1N0DQo+IHpEfjRyVUk3d3A4VU5Ocj50UlpoIzJC Qj5pdzAzMXVKVyZoJVVrTjk/aT8+fCpMQlExWCVnZDlRSF8qDQo+IHFfZ3lafiMNCj4gel5oKn5k R3NvKlUhT2daV0RON0d1b3k8KHFaKkc2ZFVqdmtzX2NmTGE5ZVFsXnJZX2Q5Nl87fHgxPF5NMzgN Cj4gQUNTTw0KPiB6JilGSH0kITR6THYteX1AVU41YzI4ay1xXjBubzBANEozLQ0KPiA/V2JEKGtu SFRNMG4/QjMkY3hOc3owRTgmRDhlT2pJDQo+IHpKMWNWU1RpS34+QFYtJGxLRn09bGBkbypLVD5v cVojc31XamR2N3x5Yzt0TFQhSj49KnZxUXRvWm8oKGtaO2pEbw0KPiB6cWM/UCsteHlWeC1sazc5 VGh8ITdnMFpHcVF+RkYwPVZue3BtZnh8NFpTbGApZ2xvQio+STdKN2t3SHtwOzs5TzcNCj4gemVK VmBAXlo4WGdIK2NWMnFlPzM0eT1Ub3hGZ0AzeXRXVVIxKTlZQTFxYzZnOzNjVEErZWE0TXE8fj5O SA0KPiBaWnMwPA0KPiB6IUw/PGcoWn1fVEJhI2NJaT5YeDx2IT8xSEAtDQo+IENTPFB3TER6Vit0 KUo1JThabU8zY013enhDdSoqamFzeFZ7I3BPDQo+IHo7X1RPZWooMkQ+bGU9clFPfFQwMFcha2tE KHx3JkwrNGRxdVVIMXllNXhhTWRxaHpmNEJkKlAlc2JYMXUNCj4gSyhUKjQNCj4gejRQMCZGdWdR MGFKa1Y5LUtfWT9vSC0NCj4gSyphdVVuMGNKVVdNPDJRQCtpQWdKRzclSDNUTDFBPnM9WDc0RX1O Y1dVRw0KPiB6M2dBZFB3QDRkSj1ye1hzR1J1OWlgVzlJM0U5SHFjKD57VENYOXotU01CT21FOUpq P0dlUTNeO0tGflUtDQo+IDg/d1hrDQo+IHpLR0ozRURSNW1qZUQmbip0d0w2MG1JNkl6cFhFSzI7 WnxpNXgtDQo+ICFmN3EkYjlzRjFBfDR1ZzFKI1FvP0gxRWV9c3ANCj4genFveS1GI0pjeWdIQnVy ckM/fF42ZHJQWipCRmtVQXFTeS0NCj4gcUAxc2JOPX51NStyZyp4dSt7dktTa1hZWU1abj9ZIQ0K PiB6UD1vaX5aKWtHa19WRE4rUXIqKjRjVDxKNE88fnwhbWQoJG4xV0JrPXgjYiV3dmlTeDRVYTZw PypGU3B7aQ0KPiBUVU1+DQo+IHpHaWwja2ModXt7JS07bXBAKj04RG44MWE5NGFlUiE0PjkoSjc8 KGEpMnA9NDE4QkIpQ2ooQ0gyYF5TeDA+Yjw2Qw0KPiB6MWtFM08+Nzgxc0kkNEBVbUw/elRQYDhw c3IqZnBUZzhNPSgxP3sldGBjQjJWJjk5Zyt2KFghNmpTZngtWTx2PmYNCj4gelA9TDBIVHdlWDVi Qi1QQUNkYUN8PHZxaT42K1BVYEpkNEk7SkxkNCZXI1VudHQtDQo+ICt4WVk2RHZqWnNnWUYxdDZL MQ0KPiB6SWE1WGAlaX41I3R9JEx5d1dIO2ReZnFPV0g3X2lBUyt5ZyNiVnVDZiVwTk54LSg7dGNp Yko4SUN6bHIlKzJ1WCkNCj4geiFjflJLTzB3e0JNR3IqUT14fTRIMWImQSNmP0JLeyolajFmMTEr MTtpKEZwZ0R7SWdQWDdLMWgqQkNqSG5JRg0KPiBAZA0KPiB6bUdZPDBFentNS1lePWw/PkdMVnJ1 PTAqbk9qYmpBJVJrN1RDaV5xR3B7azclVTc0Qlc7NmNSZCg2aEZ7LQ0KPiBOUUVoDQo+IHp5a3Fz dW9hSVM9QDl0VmI8MVM4I0U2WnxTX1U8Tzc2P1VhJD0tDQo+IG9JVT9JKTx6ZG9kPWEpJnY0JTgo Jk19bCNDR3gNCj4geiVNR19oRnN9VkhwJlQ0P3gyKUVUSTYodXtKdGB8VFYhZjBGY3RXOWpsKWd5 aCgxfXxHKXI3VH5vO3NQSGJpO05XDQo+IHpzczZVJmMqfCUmV1MzNH0jc2JJOWRmd29wVmxnZVBq SkdzR3ZXeWkydGpVRjRiO2chaHE7O0UwbiteRTNCMW0NCj4gayQNCj4genpRdjZPekpLMkNtUXpm NnViQHFWQksqY0hNRjN3QnJzaU5NbT82QDstWFR6JHpNfDIpKUpIN0gtTC0NCj4gVldhPyMxMw0K PiB6SCElZCsjMTxeNzAjKEhsOEQjYXZZTC1xfCNzVW1jU3c5LXhgRVdgYUAtDQo+IGpVKm9pa3pU a313U0JrWktDZ3JJe0BVDQo+IHpsVE1SXyFIM2x7VW5KRUkpX2IkUkNJYUhhV1dpVFczYSZTRz03 NCFxNHxDR28haUhnVDhzLQ0KPiAhJXt0YUUpPlhqflANCj4gelQhOEphY25OdD8tDQo+ICljPHRB I2psTE1PQjJyYGJ8VEsyPTRkITNySFlkV2MqIXdKenxPI3d5ej49bTYmU1JoaU0qbA0KPiB6TCt9 S1ZVbylLSWZlRT9hKDx+OUZ5VmBrPFI3WFBPbSlCdk1qVFhaIWNSVyNKej99V3BkVGhgOWtlX2Yl YFcNCj4gRWNVDQo+IHpPSlRjUWdBQl5QSEQ9enRQTS0NCj4gKFQwYUJSaFBlKCpYY3xoWmBwOEhM PElQU3daZEBCYSRyOFp0PVglMnd9NEFtWTENCj4geilfWnY9RnBjI1UrP1ZZRykzKjV2cCR2eylp O1FXNldZZDljMTY7djRBdHU4eiRUK1pIJkZiWD89NCgzOD09RA0KPiA5fg0KPiB6dXpCVUNlSXxt PEMxYkdob0F3elcqZWZeZno2aHx0VTNTPX1VRi11cGVBQnVYKklSUy0NCj4gYzl9aVYlMCglSDlx V2VoDQo+IHpoO2poU258e3pxcmNnaUY9WEY8Yjw/e1djPjlCfUEpbj1oX3VyTiZUc0ozVyQ5MnVY MzQtDQo+IGJxV01VeCFtK0NqIXkNCj4gemh3LQ0KPiA4bWY2YzdMdmhsdypfSEJgWW5UakFGbnco RnRBKDFma3tHeWhkPW1zcVlJN0tWJmVKVVY4RClEc354QVJ+NQ0KPiB6KnZmfCM0MkUmTl9YZkw8 akU2JXopa0Utb1JaTkhZczstDQo+IGsmZ3Yla1c+c3ExO1lJJT99T3xQOSFFV2xqZGJsKyVGDQo+ IHpUUVEpazFLX1NrQDN2el5WZklWPVRHI2RvYF8qJjcyMz5FYyFUWndqZEkjNGgrYX4oP2FhPn5t cytlOS0NCj4gZHJqbz4NCj4geno+X3A2SnhUaUpaMz00aWRNV0ReTjtVbWRlJnRRMnFMUlRkKTlR MWlyKXllSnJrNGV4Yn07I3ZnLVhheTRoIWd9DQo+IHpnZHhUK3FLRGlASEBRKXI5M1c1Sm5GUk5V Z01+YUE0SVN5Rk8zPUx4UTE/JXopU1dORj03bHp6SkY2YiQNCj4gZ3Z1VnMNCj4gejljYntiYXU9 MT9kLQ0KPiB2YHJRdTtYUU9vTD5xc2BxWDxwbWJDY0QxNis/eEoreGhCRT8oYih5NEV4dl84K28q YnZ+aw0KPiB6WiZVe1ZEP2VzVXNyVE9Pcz15U19ZOHZ0VVohZTcoJipJbVRFb2hWMWlGfmIkbj8p QmxmLQ0KPiAyfXhGflhNVWxhKl4xDQo+IHpufFB5LU41SDJOUDFZQCs/KT9VZ0g0N0ZxZCkkY2Vt aW8+NlY3cmdmN3I3eDR7d2pSU0gtDQo+IChncjluQmI0ZX16Um0NCj4geiN6e2sjK2hfV1hCMjA7 Skh3Vygzb3dEMSp4d2ZifnlYNlluJjAxR0paKj9GdkJTZ3NpNzY/YEh1QGQjMw0KPiA4MVdOeQ0K PiB6JXxLSjRiPn0rUnEwI0dNQWxYdUdsMCVFP28/aURVVWE+MWJAQnltdXZCWiVtKmJZb3AwTHtw cGV6Ug0KPiBMX2BrYHM8DQo+IHo3YE8jJnNLclpiY3p2UzE/eDZOdVRKVElCVWJPbjY8bzJlNj42 ZyFMejVvT2p3IX40KTVNMTw0S3ItDQo+IHVxViNDVHMNCj4gekhpK0lEVkR7bmY4Tm1qPTF5WD5V UHl8PGRrZnB0V0pFcylmRWYxPiQjTWMjI2ZKNH1KRjJlcGokOFlQMjRyMVlJDQo+IHp6P0hTRTBL M1o3QDh0NkhnSyspUDQkQzwkMyZIWmRRbV94dnhnbk5PRHl8UDhAN1Y0LXc7VUktDQo+ICFXKzNT OVNyQk4NCj4gellDcCtBPWprfUBed2RfY0VgWFVUMkVLfCk3ZGdzbDNJcUw1LUYwRXpZcmFodkNp cDBecX09b29wUH1rcG96RDJODQo+IHpoJGF4XnpjUmdaUURaN2o4Qj08b0Q9YXdFT21LezV0Umk9 PWdQSmhRWF5mZkg5czFGYllXcyp+X3N3dEtwDQo+IEdSei0NCj4genhYTjc/OEYpNXNKTz18M3Yq I3xgNy0NCj4gXm9CVU8xUDgoZEpXZ1F9eGkwbzJDclIpeWduUkVFe1k9b0RfTDs+TEhLYA0KPiB6 aj5ubEUofG5AMCMzNkI5Pk9PMVQwcFBsR2F3N153R0BRR35BX0pra1h5Kj14S0s4X2t7bHZffXww VX5EDQo+ICkzM35oDQo+IHooQzYyQHdpRilPVnsofCU8K3BTNmNCcFdwUFMzZyVkV3hHd1M0P2JK VkFHRTJVLQ0KPiBCUypZIzlWUGtZNzMoR2tgfkwNCj4gejEpPHtYQj55WjZzRyY/cG9uSlMmeHwr bnMpSytsIXh7dms2ZEo5SGVRfC03MVpsfmw8NWxgen1IQDthTnNPT21eDQo+IHpvUEU3YEtqWiU/ ZWZMdWJvcVN4WF45Yn5uZXUhRCo3M24pVnQoKSQ9WUcrKVZlKDxOZEF+I2glamtCcmlZNSUNCj4g MnINCj4genpmcnNwU1AwNEE1TiNHUlF4IyhEbnp7PTZXUHxydE0rI3tLP0FIV1lfZlI4M2MwMipD ZXp6WnlvN04xMw0KPiBNKD1TNA0KPiB6VllLSX1vcnhJbGJzalV5YUlWNCU/Kz4mVyE2eEhIWVEk Jn5vWHk7SDFBdE9QTkBLb3BlN0gmSXJUVWN5VQ0KPiBWZlM/DQo+IHpPemtUemRrYm1sZ0BWQXot DQo+IFNrMmdXOW12VFI5PmAlXmc/QmJ3YW49JVNEd0UydklqZz5STGRGeGE/e2sqdFRrb2gNCj4g elVMSDNveUNlQX4oS3grT3BRRnZ3ZVMoRSFPeSZJOXtiLQ0KPiB1eHtxZyQqRUs/UG5AM2hleXdg SykmcDY5MHR6a3FWNQ0KPiB6YGV7T1NxdzF+cUQqUG48XjRecGEzJDt7dWsxfCN2LQ0KPiBBMkFy KSZIYXhzRzxoJUE1NXhuWTxIOVQrIXFIZU18Kz5KDQo+IHp7RHRQIUgkPzBuMiojMCZEcFYtDQo+ ICRtITE0MmlBbTtINkFzN0ApKF4lcUZxSUgjQEh+Z1pYYipLQz9Pb3R0YVI8M18NCj4gemRiJE15 PCE1d1M1QUJ6KCYwZ1lnKk9FQUQjXn5ZV3k5ODN8dzRmSFh0LS0NCj4gcjlzSExtaXE/an1vcFZy NVJMe15WPA0KPiB6bTBKKCstDQo+IHV1QDI7PzlwNyhlUnRqd35YOFdJbnc8TkM3ZyppJW5JVlk4 YGplJCtTMDlwVDE8MFh5bUchYmdNREwkDQo+IHo/XzRKeSp7cENaTldOXlZCJT5TRnJSZl5jJSU1 RkxSdFhUbXBJK0NeMU1VWmpyKDFRJDNxakMkWXNYZTMNCj4gTShzcSkNCj4gemdFV3kxbG1EV3g1 bE1rISFZWUhDZnRLN3IoZSRsMWFBemVZSClgdl5yTHBoVT0rIT9UNmshQkxUcz9YbnNLYWZ+DQo+ IHpKTjxePE9IZUNnLQ0KPiBnU3hoUXlOPkdGVj8yNmZtT3peJjJ6K0BoX0tET1pIa3whb0A/QUZ3 eUYzMjRTIWMhQWh1fmYNCj4gelReX0Y3RFItDQo+IDYwaEphZkxPXjExNDcjKkpLMitfKj9zNyVX YyRGUCpJP3ohUktFQUdPKFcyXisxSmhTXnAxM0AtPA0KPiB6V3U8cDt5VlpPK2YjdnZQKWowayoo KjBVPTNtYkJ9Wll0VUtYPn0qTlI9M1dLSFMzVShIaXVAYGQhUFNgcA0KPiA9KXBFDQo+IHo2eU1D anwxYXw5b1pfMnY+Yih5ey1ZaDctU3kxbzJCbDJjeEB5JH43PWc2QzcjVyYwOXoybjAtDQo+IHQr eUtZaFVtUSkNCj4genxIY09tSjxjPDIkT2lsWTZSSVZnaDA1WWQjQWFTSU43ZWRAPnVgPiQ3MD5u NV4pLQ0KPiAwXj90czlKUVAhSTN0I3UldQ0KPiB6Zj8/a2hMTntnP2FjKiFZcHYpdGFFdy0NCj4g TVl4byVPZ09SPXQySFR+dnNmd3grfVRuU00kJG9KNHMwejlMWVJkfCZfDQo+IHpXZzxRUDAxbF5k Skh1e2JibUdBSCt0LVRCUHAjI1IhSVVQTTRgO3NhTlYtDQo+IHlqNWNeezFQej02cyg5cSlLeXc7 VkUNCj4gek5Zd2lCPUBfeX5DUDZeVzA+TkE+NnlQQH04dlI4M3l8MCp3LQ0KPiA+P3xBblQ2VVp6 M0coSE50K3F8djZiXnYyfGJpfg0KPiB6JnRJJXMxQlhYbkE0RncmNFBENT5FTHhYZUFObSZ7YVU+ cXt7c0dxdng2PEk9X1koTF4xTmdUXjtqQFkjDQo+IFUyfD9MDQo+IHpwRnFFM2p6Q1BvT0MlU3x3 TSVlbVVHckdIVk1aPEh1Uio9c0Y4SDtCZypPLQ0KPiA4cHI2MGVQaDMheUh+SDktTHpXUmcNCj4g ejxzcS0NCj4gYkdKNWh6OWBmNHQheW19QktScX4wJTU9V1leRkUzMGZMVVI1JjA5SE1WPnEwcDxo dnFwWDxHOEppWH02Mg0KPiB6YjYxflVVU09kNjJEVmVGZXFZSiZkYigpRyVaYitnZzI4P1pvOWt8 WSZLYVlgal5WYFZOXmpAMVRwakQ4DQo+IFVxNDtADQo+IHo4PHRrWCRoY1ZIKiE0fGBfTk0tKVlr I2RJYXFgTHVmKk15WD9DTXJFPSt8R3NHZ29QKlc/SypzSHxFKC0NCj4gYn4lNX0NCj4genlMI2BP cFpvVWE3OTZ3cDBtZzdzYCpaK3BUSm97RjVvPCFQen07LWc3UyZTcFNnM3Qte0lrSzgkU3Y+e0x8 OzZrDQo+IHp3eFVvfkk4TCohXk5SNlVQUXd7dklLYiN4ZDZfP0xNQio/dykmRz4jcUU4IXRlSkZL fTxGREg9NFRTdDwNCj4gJVkoRE0NCj4gei0objtQZTl+NkJvVCstVVRWZTB+MStFMDRPWFZRfXNW JEhyVklNMTZVeXl9YEo2cSohUTwzZ2wpTkpkfVp6YEw3DQo+IHpWayoqezYqeWpVZDA5bnpjUXg2 dm1zQlZRWUVDKSlXSH0+fD8wJllzUHtGR2ZCMCU5aF5kKCM0I3VibFM9DQo+IFU1YlcNCj4genc5 PkxvWExVKTlHVjk+X2xWWEZCaUhINHRpcHErajdgMUg0NVRoMTxHRnY+fjhYcypyK3NlY2JfSHdJ TkFNDQo+IHJ5Zw0KPiB6RExoNVRtZExIeiY5bnBuKDk/PjxISzI5Pm9qa1lQIVRXa3xeaiVnX2RV JXhFK0V3I14yTUxGby0NCj4gdnBkUz8td3AxDQo+IHpIPy0NCj4gcHJpeW4mWEBwSlRAeH0pIT9p U2Q4JDxqemBiJD9gSGVGeUhpITFCJmtGcyVkQE1EbSN2bkJKUz4zd2FEIWcNCj4genJ9ZFdVRjw3 PCo3ZEEpUDFVams5XyhCWXVPYmZkUjFrUm1xVlBCT1ZDeWJueDdBYlBGJkFJVm0/dlcNCj4gJjVr SS13RA0KPiB6YzA8Sm8hfDs+KlJtYVZqTkFqbSheZDQkQyNydyVXaD1jVWNgKTdNKEhgZ2RSM3pU SXpUcUV3VERjP2YjU0MNCj4gNG5LDQo+IHpzb1Ryb3cjJmR5TnFITkxWVmhEOUkpOzVfYVM2bHIj YWhueXR9OWtJSkZFXlY+SSRYcTZZbU8reEF5I3ljZlYNCj4gKlgNCj4gemhjcWFjUFc4ZzZKNjw+ e1NDdnRKQikyYn05T3NDUElPQVkxKD84Yn0tUzRvdEVXbCFFREhpKkxNYz19KChPPERnDQo+IHpI NXgyakElfShGNU57e01WbWVxbmYlMDwpYn1hdlB4bjhQazI0aE5JOSNyPWVNcjM0XjsjX3BUX3B4 R2laPw0KPiAodFENCj4genk2UmpaU0RvTl4/WnhXO2xgSi1XRXpNaEtuTHhkaVI2SFVibT9NMi05 KGA4dC0NCj4gS3dzWDgmSDRZTGhuaDBMMDMhLQ0KPiB6XjxKPD9veypnVlFzfWZobHU5X2x7WnI3 QURiYmRjPW8xI2IlbG4yeTN8RWBPYGgxeXVZZXYzZGYwUFpCblRZa0kNCj4gekAhYjJ1YG5Ad2t0 VGNLTDl1eDgkJEozXzxKYS0NCj4gP1lIfXxnbGdtYlJ4SzA9a0gqRkxGaG9nQn1sK0RIJVp6VnlQ OQ0KPiB6OXc2SFNAQW94ZmhpfGIqKld0eC0NCj4gc2w+a3BvSHl+anUrS2pUS0plVSptJiltaV4h YChLPl5+fE8mcFhhclVLdUJ2DQo+IHpweGw9YXt3IU8hNjxpJFdyN3tzKnk1UjgkSCo2SXk/PVJ2 cUR+ZH40JmYjTUdja14zQVQlTW9HI1huSDs0DQo+ICY4MnUNCj4geiVRU3x0RW1aM0dGUXMqM0sh Qz41TzFHJWV8R3BxM3okNW5QU2c9Xm1SY2MmVlI7PV9vRClyKzxucDt3DQo+IH0mQnttTw0KPiB6 emNUWlpjPylJYz9iYkYhdlNVWktaZ1lDPVg3eUJgNEhTMTlvaThCJW1CQTM5NCVyclh3TTlmSE0t DQo+IGtsK0d8KFhgDQo+IHpYeF9XZTRYTHdAb3N6QGp3dG5nNG5MVHx5IXxrPCZePnV+enhfajVI eT5+KSRsRnpiYVROMkoxWHFTQSFfXw0KPiB1JDsNCj4geiFKcXMwb0lNUH1QZGJEajRrfHspOC1g bVcydE89QD8/cTdnMGAlU1g9dTxXPD1NV1kmQDFiKS0NCj4gZ2Uhel9VRkRBbA0KPiB6KGw1bSZT MnIqYiMwcVNOUnNOWGtFO2koOUgpTHhvUT0zKSE3OXFsZHRGcG5uZTclK2s0NWh0X2tCPDJNNEhD DQo+IG1TDQo+IHpkM3NaPF81PnZ+bHBkYil8Q3N3NF8kWjVPQDY4dmlrZyExJGpmZlohNmIpaCZL ZnM3YVVATnF3Q01tSkReDQo+IEBGdykNCj4geipOOWdOeUw/emFsNVYhbUB+fHp2V217fSUzbTFD Sj9RMl9sRkk4LQ0KPiBiMjIyU2UpPDlGbW1Sa2VUSV90KW8pPnMyWg0KPiB6XjhXdjQ9NlV3bmtr SXpfelE1bSM9R2w0WElXdSRTJSRZTVlYVT80QWdiMCNKT09Ze0pGS24xTzxQSA0KPiBEdnZifSND DQo+IHpWJndgbU1gdjkoRipAKE1OZU9uTmV3NWdlcTZHSnZaNjVtKklNK3BxOWkrck0hMzk5QCQw UntSMmA4DQo+IFA0NjVwTlQNCj4gelAkQ25VcUheS21YUUNCUTU1cVpuSkkrWio+MjJeRkojVihK O1R6SSFtX0F+X19KKERnd3NQYVRjaDFZbTMNCj4gNztQMw0KPiB6WWdoc3BaVFNgO15ubFY2anQk cSU5aFREdzs9YFhJJmV0RW5SWnVqXkBFOzt4eXJfdDM+akJFeUtQd3w9Nyp5Wk0NCj4geiRQcih8 Jl9ONX1GZn0zRTE5VjtvYVdweiZ2cEhZfDtjOz1AeSE7N2B4ST0mITUocHM8TnE7fVl3eFA+JiUl dQ0KPiBoeg0KPiB6MktKKkVweU4tDQo+IDVkb25eVzFzSUhjU0E8VXUzd315RWJqYHBPMTB+a1kl REFFdFQqdnpuYThuYSskfDd3Skw2WFpJDQo+IHpTKHQ8a2w+aCEmYEJ4MDkjVCopXnYxRkk8ME0r T05OS2gqYDl9Ml5jTj9GXkRmVlkwbkRsfFlSTSVRS2MrZw0KPiBjN1QNCj4gej1Xe31yRC0NCj4g UkArOE1gSlJoeWAmSk57NFBwIUBrNU9hQ353UzAzUWpCRm9wcSUyRjRaMStWZnxeWHdjNFI9dnNW MQ0KPiB6PnReeCUyVT5SXiNDKj57d0FVWjZMc1IpMFpVSDxTSUQ4dD9xNyF8VGh6OSpVJHA0SE5X RE1jZC05VmgtDQo+IGR1Q29uDQo+IHpjSzlHQmFPbipOeUFSQTs4c35ZbGxUKik4ZUU5aEx7cXJw bCZUZ0VXaTlCaUY0RkJHO3VaQkNXNCNDLQ0KPiB+RkZYd3MNCj4gekhZaT5NdVRqMVRAJGE4VXMo MFl0cD5wOGY0P0ZqKWlVKTFkJClrbHU8RSlYeyQ8Z3B7ajxUPj5nfUpNX25nUT5eDQo+IHp1MDNM cWtvWjJrTGp9LQ0KPiAqckQrfl5Pbyh5TXh7OzBHVUFYY0VUa35DYnQwJUZOdXc8PXY/Q3x0V3RM UnlKQ3Y9bkMNCj4gem5NMUQkVkx1c3dJM2szdGhvayM1RzNfLQ0KPiBPMDFiTHQ/XiYxRzJxKWBE QntSTVlxeEt7Jm1rdyE9R0hXfXtuT09oVA0KPiB6eW58aUZedFJFcHgzWSZwSkR+WThiZUB8Tkp0 MXRIY1hHS2BhZGR3TVRuKDl1Q3dAKis1MTUmbXB3MTQNCj4gPyMjWXVsDQo+IHo8ZD4yQz5vQlFi WlVia3UmaV92MXRZSkNIWUN4QSZ3MS0NCj4gQjREY155Rkx3XjNGYCNyOyk+TCpKZl80e2dKVD9m XzINCj4gek1BLQ0KPiBNcmFNMjdgJFBmKGdmU2ZRVT9UN3lFND4mKE5UMCp3TU8qYStFQEcwRXRi e2Y+ZjlabCMxKyN6Q1JEUzZROQ0KPiB6TjVOc2JkdkxMNSk4SC11d2Zib3I0XmtaVUomOUd6KlFS MWNqRDZRfTtubXgtDQo+ICpUU090WHFtciMzOF5QQzYpbS0wDQo+IHpUNTVhcCNrM15SbmwwaGdU UmZxUWxvdXo9VFJtNEpQckx2QTVNOXZuWnZnfDlgTTBCZC0NCj4gYmt8QHpNflRfe1ZqSUsNCj4g emZXYU53ZnlzO1YqTGdAX2htT0VHYkpmSXdJfW1FVT8pPTdpOEJvTztQNlR2VFhren5rcW88MDxh QH4yMg0KPiBiTXhXRg0KPiB6KTlFUTdfSUM3dTxZKmVpWkdaM1I8SkZYc3U9ayhmWUIwYzs7STxt fWl7OFR1MEojdlVocnFWJkZ2SmJlciU3TDcNCj4gejViX2hQIyliLUFxTTVaKT9WWmZRKXNjRDJW ND9zZE4tDQo+IEVsPzlHUWtZbEglQjVPWHF3b203Pz4hck1Qe0Y3cEAjaQ0KPiB6KyhFa3JFJGlU XzxTQ2VnUWBZczkyPTJLc2VVcWUxIWohfjx0bXt7elRoZXNBLSNfMSFxPUJDbENfWlVIO2N0VloN Cj4gejZ4XykpNEwycil6ZVFQQig8WFI5KV9zdTtkayktDQo+ID1RYFlzdiZNZ1pNTGIqSzxNTU9A STtjMXpnd3VNJmFMVHM3dg0KPiB6eWUzMnVXNWxPUlRMSz01SnFiRWNoOEo/KlF5M0tUZnx0fG5s cGpnRjN1eitRQSZgcy1IKW88RWlJPkA8Yyo5alkNCj4gendvSzFWXlMzU2kycmhUPEp5biYtDQo+ IEV7JmM3S3AwNyYjdkwlRThIVEV3RU5+UylVM1ZlcGtxZkMmPjV2UT1CVXJVMQ0KPiB6UiFMdHFz SEoyYz9CUXhOVl5HLStPYS0NCj4gZVQxR147V2w2ZT1SdGM1czMyZWJfVjUra0xrXmRAJWBeI3Bw e0hfPFNADQo+IHpyPVQoaF9yTW9ZfEp0bUNHQWA9aHRVbi0NCj4gY3lQRXg1ISRAWlRYMWtNYTdG b1l9a2xOSTJ3ITNGfnF2fnVoT1MpbmgNCj4gej58WHNINUojY1dRMUcza1Y4JChFS3JhKS0NCj4g d3lCIURVUFMyYD42IW1NKjN+b05OJDRiNjNnK1d5UVJVK2xyWnBYUQ0KPiB6JEF3cShUdiRYX3Z7 JEwkdD5AZXc9VmBtb2dmUD5BcFlaaWI3Jn5gSXtwJjZOYGpqSGFyNFIzZkladUpNKHxRDQo+ID14 DQo+IHpifTAkNWwqVjUwbjd+RlhUUVNNTUlrMVg+T20lbEArUG9ZdnJFMT9LTj5RVjgoMiMpdW0l QmA/M01ODQo+IFZsYW5xV30NCj4gektgQW1YZ21Odm50ZnMmaDdCPi0NCj4gTWBZJld5Q1o8OFR4 THVkV05tNz54anxvKDJPczNuSTlKKTNRNkllNGBxbyVxcw0KPiB6KFUyTXdDUlhkTk9rdDgtMTk0 WVlRRER8JS0NCj4gS2dxI1VCR1IyMFN+N2FmSFMoK3M4Pm9AKXA2aUQ1SmZ9azArPzdgDQo+IHpX ZVZXOzxmWW0lRSQtDQo+ICV7SDhTbmxwZlMxZkNBTHYrZjc9cUh1Wk1uWl9nVlYyIVRqK1ZUfU1i VExWK0gyaXYrMjgNCj4gei0NCj4gfiNQd0FAeTFNd1dFakBUP2ZxeyhjM1Z8PnF5dEglP1J1dkJ7 RWc1aDxXRTZvOU5ldXE+Nmp0WUoxV1ENCj4gVElmVzkNCj4gekN5LUw+KkRqVWdVJVk9JlV1KUcq ey0NCj4gdyQxZiVJIUxaN2ZkV1pVV2F6QEU4P2RieTc0ZHAhe3d1YlJ2eX49cl9KTw0KPiB6S18+ PGx8SDB+VigoPHYjez5LV2g3MEFPO2MpZjZ5VTRQWGpMRTx4aiF0MH1VTy0NCj4gOHdFR0p3TUM9 TmhwPTZrZWs1DQo+IHokYHZsa1NTQl5sOH0pc204JiRjM2lmR3luWC0tfmI3clloU0IxSjticU1v JENQRD9FcWZQO1B5cjFNRGA+RGxsNQ0KPiB6TGN7SDhzYThqYFZofTZYWCV3VCNlYlRocVh4ZTFp SVktDQo+IDQwYHBlSk1oKXU8RmBWT3d0WiMzMDk9ITw0PVZuTHdzDQo+IHpLWk8tDQo+IHYxS1Qr QDBNNlJ0dVVkVD5kSH4yZ1NmcH1HbkE7OXQxZ0BkK1lCSHBiVWVUZDsrPGBieWo5RVQ+ayZ6K3EN Cj4geiM5KjMpKD1ZamV0JS00fTQ/UzErWWR+PiM7JFNme2o4K1BHNXhgOX11NiYtMjRgeEhhaj81 MllOYlFqfipAcXd8DQo+IHpQJmMzZT58UHxYJU9NZm08ek5JY18kN0x3OWdSSXFNd3syO1ojJUUx Nms5V2tRYE5sd21gRzJNdCZwDQo+IDQ0KGNlUnkNCj4gekcjNXx2X1hQOVEzLQ0KPiBWSHE3ZGxY WlFSYHozIVh+czZMOSVMOWk7OTMpeH1mXndVZnwkc0k3TD5WQG1yNUl0WW8lIw0KPiB6PD1COWlC PS1jaTtEYiY2YFJIVVJeNlJTUm0rLQ0KPiBFKVVkY2BHN3wwIW1zQWBkSEZRODgxK2hHbDgoXzUq RDEwbVF8DQo+IHpzWGhhUmpQIz1KPG1jZ3EwZTZWdmNfdyVYa2R9M1BtKTMtDQo+IDQ2PT55QU97 Y2gza1ViRj8lSG8jZ0BiVGl7JkFmQzANCj4gens3VzB6RHliTj5Sd3U8MD9Cd09KU01LVEtJO3d3 TENoeVhTdG4rJnRHbX5STFQ4Y3lOKnUpP2oxaU99RA0KPiBIZz5SIQ0KPiB6RXZ4OSY3ZCluTzVj RnQleT4qeWtWJlVKWmFRMjY4TiVkcmJSITxzNVQ0MiR+TlkmY0swcT1oYU45VW8tDQo+IEl3VGNr DQo+IHoraG55OCgjamJ+SER1cjxUMDtgNjdtOVRYdXVtbmhtU0dlcGwrajxILWFDWTloKiY9KTc0 amQjPjwtDQo+IHNzdm9DRnQNCj4gel9OLWxNbTs3fS0NCj4gQVhBNXZmciZqfUNhYj5qdTk3dlJF fTRse1JqVEJkUUIze25lQ21tcGsqbDxRJnN1dTRMa0d5JA0KPiB6U0FNcTYkZWxzNUdBaEA7YDdA VXtLOD1SM0RGVTV3USF3bTFgaz9mdHZKcFpEd2N4ZmBhd1g+LQ0KPiB0TF8jeT1Vd1JsDQo+IHo2 SkcqN15kKyFyOUpCUTkmK3RxK1YoKFolbXhkQHoqTmBNU0VDfnRLTHc5T0ZleEptRyNSamhjQDYl DQo+IFUmekAtU0INCj4gejdVdTgycW1MWlYzfDl9dXA/Mjd0KDA1Pn1DR2BZSis3czx1QVd+QUJG ak0qbD5ZbCZEcWVkVmQ/MWhjMyQhZg0KPiBHZg0KPiB6NTRBO0BhSXU/OGNTO3Y7Iz1nZSM3b3FD Kmo2aj5xPV5YYzlWbUVNKCpveEJ+RyVaS0x1TldONmF5ZkozZQ0KPiA1dSpDDQo+IHo+Pkx+TD8y Pk1yS3R0RnF8Rnt7R1AwTTQtDQo+IGJlK248S2BOVykwdUZIQ0IpQyt2UTFpdyhZPEUpRjQhI1A2 P1V0ZF4NCj4gem8jZUtaKkF2YEszY3NIaURXS0hkTE8lQmRjdnttZ3xLanhXMGR9Mj1qQn1PbTBQ RklaZz0pWGxEU3JWPGdLDQo+IGEtfQ0KPiB6cn5ve2E0Pz1TQUA+VTF0YCh9QzY3ZUVPWTBjKzQk YGBKeCRgK3s/NSROLWlObWc2O0o4UD1KKGtXdGd9eXNOUzQNCj4geklOVTFhRkdMNXE3fXF+U2Nj Z0c1VFU5eyhWMVk7WFdubGtTUDk8VCErPFBWem4kaz57RkM+Umx7dj57WipoJD0NCj4gVw0KPiB6 MTQraXBGVmRDb2MyJDB+blRpPFYxOGxOdCF+cy0kSXZIPyliPiozYmRTJGQtYERDczFqODk4X0s0 c1NqV1otY2cNCj4gei1zKnRVVWNKJXthIVU/UmxOdjFAd3BBK1Q/P14oQztlNkVWLQ0KPiBBWXxN Pj1AVTB1fUk5UVJQWDt4PUJEPEA0RXtRcw0KPiB6YFBHKyVPQUJDWkJLJFlXQEVfUXBHJDAjTj90 dSskSFpXe1JwSE1hJW9EWDUrNWBEcjNZYW43QUgNCj4gZ3RkayNiOUYxDQo+IHpoQSY9WFF6QjYp cylLeFp6dmNkTUN7THNaanFpSWdQJXxwVXBVUTNgTWY2fThqNGZge00yMF52YVVyJTZlWmgNCj4g cW8NCj4gem4mPis5aHMjYHVJbHZrKjttO2RWaF4+LXwwK3RvfHpBcnQ2XjMpQ193cn5SfTxpVGln dEhaZnlHUTRgTEd+QDAmDQo+IHojYlMqdElUS25WTz88RTIjMj0kbGVxUlJzQ29SUikxSigoVWlN Yl5RYFpNb0l2fmxYSWFVOERPKnFAS0dhSQ0KPiBPP3cNCj4gemU5PG14VzkwKjQ7aT08NyEmREFZ Z3Bke1VqOS04bCRAJUtmPTwpLWdaS1JjU3doPDFfO0dlOVQtDQo+IDJGNTlLemo1SQ0KPiB6REM2 P2BMWmo3PkNebj5vWk9xTHM7UyhyPGpPPmczTWpGSnNBOUlvY3lRdVdVWCpzNWdOPnt+RjF6b2Z6 UzJUcQ0KPiBrDQo+IHpTUjMwK08hOzQ+WmpyTjZiezc/fE9mKUgkRS0NCj4gSHBNRnR+eGFsSVUy U0U7X15BeyZGN05TQDNrU2l+YSVQJExYUkQNCj4genV4QHxwcUJtVHVuRmgxcndIUVd7a0RiK2dK bXFKYWtEWWJFPH56I2ZiR30wMTI8MlMwWCtCdUVuQzgzDQo+IFpLYylGZA0KPiB6S25eK1dlZlk7 VUtDSkojcjxGRUBOJmhYOSE3RntaUThUb2w+fU4xMHtkdTdBdH5xMC0NCj4gTX54QWF4QnNRX1BJ NWYtDQo+IHpSfk9leWI/ZyFKOU9HU25iVHd3Mi0NCj4gcDgkO0RXXitMaHVgcT1DKDsrWDY+fF5r YVFNVnBqNlk9dWdYZm5WdGcyTD4NCj4gek1COEh5MEM9MW9oI1UjfXY7NnJiYCMzI293cEw/bSgq NGQ0QGh2Jnx6MVBDNiRoZUVxSTMoRGA9cX1KNDkNCj4gV1UhWg0KPiB6TmdGUUIjYCRoZzhnb3xX MXE/VjQzJSM8NTQtDQo+IEA2P08kPVM9ZCVHRVNaUUlBQVQrZkR1ek97JjFkdUtpJCNlOV9WDQo+ IHpRTy12dEFNXlFHOURCQTcmfnJqPGNEX2JFIX45IXduJkR1UnxKMDloRzAtLQ0KPiA/SWNLN3pl WjkweXhqZCVAQUxRIysNCj4gemc2TXxEY2p5ejJ7LQ0KPiBnU1kyQHEjeXlaT3lnNEYxI2xncWVY I1BETGArRDJmRXpmS2hZfik2fG52aEUod2pQSH50Zw0KPiB6PnFMUWElNzN4ZmQ5bCMkWDgkdk4h WW10JGpiPVYhIyRuTVhsJX13Rjd1e0pgOGQmSD04VmtgVSs/bTN7KEk7Zg0KPiBwDQo+IHp7X3A0 JHpUbExzd24mZ3Y4OTwrS210QipDV155MWshOWFXbEpnUG4xWGFreUJqbzlHJmchO31jdW83XzJn WUcNCj4gZDANCj4gemVvPnxfeHxjczlUXzd8dS0NCj4gZzFtcFNSVDJvRkZLNndYcVVgM1lhZ3w3 bzl4RVR3RHJMdmhxYjtjTDhDSSVpMnxHMA0KPiB6KjMzczh6cmJuaGxfKENLWlVDRjRsLQ0KPiA8 U3EqaSg4eGRANTU7aU08fl9vZV9kUilfaH5PMSVhI1d3elJvTD9RJEUjDQo+IHpePTkwNV5URVV2 aEh2NUlyIyZHdGk4T3t7WG1OV0EhJmxIamBzK0U7KVlRZWlDUXNJPylCd0lLd3xhM3p1MlFjDQo+ IEMNCj4geiU+cTVSOzJiJkJwUXVBSzFuKkZ6NCZ6azU3V0FfaEt8e0l7UT5+NXI7SD1Tam0+K1oj eWh+SSZ5ekxZVnsNCj4gd0Ezew0KPiB6O1VvaTJDZjItOSEtRF5WbjcrYkowY3ZVV0E3SERTNih4 QHZhR0wtWkwoOC0NCj4gI3sxeytPeTJ3QHhvIXBhbiN0VVJsDQo+IHo0SEh+OzQlfUdxPDJuXih7 fEdxYDQ4Vjt7U2lAaDVvbSF8VXB0MllubUBoMDk7RHZCQG47a1Z7dCtkJnxCDQo+IHdJSHgNCj4g ejxBJW5YVUJIVmM5ZSp9MzVMXm1PV2k3RjFRTF9zY3lVbXFxXisrbTVhO1oxU05vPlNLRjJOWmJj VEp2DQo+IHckR05Zcg0KPiB6Rm5EUkY1eS11U0swTllFNHF6e0gqX0F2Myg1Q2FiKFZmcCtuR2o7 ezFRcmYkJCZVPC0NCj4gNDNmJXIhVkxwY3JnaGVeDQo+IHpzaHF7PT0+Wm07aU5FNGljSj9hVHB0 ZmtQUihze3ZJRDxQQ3l0MlVxekhkdzNwIS1JSy04VjlFelJQU0o7bGtDWQ0KPiB6WU1MPStoYUpt QyUtREIyeUY3TFMpMT9JJnc+QnJ7LXo3JVAmQWlDQ3JVbU40I2xrTEpUfCtKO0sxLQ0KPiBCN2gw U21PDQo+IHpwLQ0KPiBQeF4wSWdrRW5oZXghXzRjPHlZTTkoWjx3TVRPc159RXxvUUtNNDR5P3tl VColQnVJNGExKjVXTGdLRTRUDQo+ID5FDQo+IHppTGh0Q2VePWY9VC0NCj4gSTFAaD9QfF58MGhY SklBQEBfM0QhOEFiJUN0ejU7cD1PdT9+OzNzSkNKdlpiWXFBWjtPLW4NCj4gell+TkR7TlctIyZ5 dUgtDQo+IFUkRTdeSU9WRk5XJnxjVztaX2V7OSNOREA1PmNANWwqcD40KW0kZ3dAI1RBOyshSnc5 Tw0KPiB6PCY9fEhqIypwYzwhbTxZS3koI0xmQytXUHhuVXVvakh3RE01UDlBZ0RGQHdKQmlyQkNY VnpPSVRURj0NCj4gZFA7b30lDQo+IHpZRjBlSylpRDNfZ3tmYlIjZGFWajhZOEZgPVE5PnpPaTVl KVhfXiU7ZWF3blU4VzlhazdnPkBJWSRZUCFWKyMNCj4gNGsNCj4gejhjRCRTT3F7WFlldVN3O3I7 eGw4Y1AxbF9yVmYlbDgkPCRAcHRtbEA2dEoyfnxDcGQjQSt8bkZtUGA2clQoQw0KPiBNPQ0KPiB6 ck9eWmJySkkkUVUyLXU4R0pJREleSlpLdExpTUUtcks/KTljYmRPekg0WCEoNlEwTDQ2QztoPnFu JUVLKjVzNm8NCj4gejUmRThNampZRUxib1c+PnpUMStMaWBaQ3YxN2YwYUxSYlA5aSFyOFRAQU4p cTctDQo+IG9BfWFZQEdndT43UzxFWGg9TQ0KPiB6YzRMaTlDU1NTMUQqQGtBNXlvPUE2WHhFWHZN YndaTmRlZWcjMV5OTiFkK1ZsU1RQcDgoMjZ0QiFzeTY7cA0KPiBBISNpDQo+IHpUR0NtRjxQblBx ZFhReTtDJCVkQm41RjZNVCEpdGFVZmxrSDk7Nkc/YnVLd0x0enJPTHpEaW5aPHV9TVQ4Yw0KPiBQ ODkNCj4gei0NCj4gQCNNSjJWRyV8UUM2Sks1K1I1JHs3dkU5MUBDQn1TWSNyO01KMTZIVzcxZmhG KG43PFBnTWhRPjJnYzUpcg0KPiBgRksNCj4gekF4bTxVP2QqNmw7UGg5YTQtNEA8Nj1OKi1YR2cp SzR9eWtAMzw/d2p4KiQtDQo+IEl1dExTTyZ4eGYlTUpUKWU1OUVDOw0KPiB6NzY3aFFARUhWUGdX U0h5T1pGWV5zbnAxME5vSV5JTTIxRktIVFZsLQ0KPiAxdyQ5NHF+NztIbFNDWDN4TzN0K3tHKUxa DQo+IHpUWip0SGFtSDR8ZUctDQo+IDBSPnZNRldmNGpOQjAhK2FjbFlwRG87WXlFTG0mRkxOX0dg TUpHQVU/SENSRDM3V2pQM2ENCj4gejk0KHBydSkpWjw+LWFsKnAzbGY3PTxVKF9sOCpmbylKMEdW TD5mPl8qPVpgcEdZMXdyMypvZkdTbXMjPlYkbH0kDQo+IHo7dUpjYXd2PDdvJE5nQHN4JGpRU0ol PzF9PUBVMyYhK1p5KFZ4dk1zO0YpP3RAKTkqJXZMMX5SUmpDOT9WDQo+ICY+K1INCj4gekMzVDZ2 KTJpNDU/LQ0KPiBVb25zYjw+QitSK2JWZWJzWjtgbD98TnxIeyRORGFfR1hNJEVxajdHT09YMD9u ajdJY1lhbw0KPiB6KllsaE9rak5AOTZhU2ZTbVA4fmo2cD0xZHs2SGdNMTh0bGdXITlHQ3VEOXlY UVklbXBeKjRsOUgrVyFzaQ0KPiB5ZVlMDQo+IHpMY0NaTjRiZVFCMUdkV1BpZWU8QWBsS1BldVJM MVF1JDVuT0pnYDVVPTVKVnZue3lpVy0NCj4gO3NAUnY3dDRTI2FzU3sNCj4gentwQzVaYClhXyZO PVY1cz50Pjd9VXglMitKSTAmMHdhKGxBODUzWVFoY3M4e0clfiplKWN6U2FjI2BXZCRRXw0KPiB8 YA0KPiB6bF4pY1NuO3BKfUtPcUZPMXEmQXdaR2hAUj5gflRSNzM7R3FIYmc3eD5RYD9kV34qXzJY aFNyPDB7R0NrMw0KPiA0YS1GDQo+IHpOaHM+eShDWGh6IWw3MGJ3Izd5dmpyei1LSGZabD1mbzZQ bSk5US1QcXxxdkdFNVZVZDt3ITlUMXVRLQ0KPiBxcUkleSsNCj4genpGPjIwOHpFUmlMd0lqX3c0 JVlQKj0lS3R0KXhSZDNfMVRPQHk8IUV1UDNsITNrS2pjI0ZNPGxAXjYmIWF3DQo+IEV0aQ0KPiB6 US0NCj4gdCthTzxqMGpjQ0BBcnBVVjhHPmxWU2pFPENOelNmSyZubU5VTUZGeXNCfVh8czdlQmU9 cTxLQGdZVGQkDQo+IH5oYw0KPiB6MlVwNXtnfHFaYj5efGZxaT4hX00wOEFHQSh+dlQoWi1lRXBn QnkxazhYPmVFKTlNZHIyZSRaLQ0KPiBGPEErSVU2eT1+DQo+IHpsVmRvfihYMjtINV4jYndUa3B5 PUxfaDNKT21vIS0NCj4gTl9KRDlAYW0wT3pTdHo7Z3BEfExsT14xJCVNOVByTjNaWT0NCj4gejtp K2VRay10ZHdOYUsyPiFSZ1N9TkR3KGZ6fHZjMyV8PDgkd1EycGsoS3RVP0ApQDBNdyMtDQo+IHIr IT5iIVhuNkR1aA0KPiB6Z3VyfVhtaSF1RkFJJDFVe2hQdzhIK2gwVnNiQ31ic1chcE04PSs1UyFm Um5vMTF2PSRYVWNgeXZ0Yzd1dnFeDQo+IDcxDQo+IHpnLT5VSmw3NCowcnNWVGI3JlNQdzBwYHV7 VFhaK31FSHJKemAzVEdfOCpvPytHYWFPZ1IoZ3stDQo+IFA9bk19RnkkPnINCj4gek9lMWJ8TDVJ dVdOfWZKUnF+Tj9kITR8elBKSGVCRm1hc1VRdHtiPlJYRW5HI1djWFYhQV94M3kmcmN5fQ0KPiAl VTdARA0KPiB6WjFZeXhVLQ0KPiBia1ojQjlqMEc/Wmd4YihxNn4pcTdJJGhTaHNgQG1HKUJMSWQr dSp1bXhralJ2NVJkO3Y9ISVtNmdrDQo+IHpSSD81OSp2JndZLWQ1ZExQejZ0ZHtud0dDJmA7SE9q ei0lJWBpQ0F7SzFPJjRNPktMMCYoP14tDQo+IGxje2tCa09eNWENCj4gemV5SXhOQWFQJHxGSSFO KTtvZDAzWENycGEoJUtzVyRGempaeiNUdGAyRllRc2RjV0BkbDZBTz0rMFlDJCFePQ0KPiBTaQ0K PiB6c3R7S3BsczdDSXgkI2FSTEl5OWpCcThSVmt8VDdePyYxeWhIdDx6ZW9jWiQ+d3M2bGFwKDJl bj94M1JvYUBtTHYNCj4genQ4JVY4aE83RmFjS1A4WnNqaSZiKUA3KyM0e0IwXnk1amI7VlclRkJ3 MF5KWEJtTW5icFRrfSNWLQ0KPiBAZGF4Tk9hMQ0KPiB6PlVKcCtlSGFZSHR0PjdZTU5mVmR6bVM4 bDNPZEg0PyR8IXx7KjMjMHdUfWRQZ3F+e05GYj16cGt7bUU0cygNCj4gQT0yDQo+IHpmTzkhMSRp UFd9T0phM0Mxezl7aSg3TEYwc0poQElHSHg0ayFEXlUoZkV4V0JgfkFtbiszIURySVpnLVk+Wnlf eQ0KPiB6QkRkTHlRdTBGRV87Z21iTmlIWUxrUEM/SHhIdVQ5LQ0KPiB1PHdBOXpeTTdEXzhMZ2By KkUlPTw0b2hzMyY/fnVYU0lwDQo+IHpfMXhwdTBuOCgmOTR0OClLSk1kQnh9dz1TSnA3Zj1oYj9z WlV4a21hamFJMCNLTDstO2BTYVokdDVufHdqeiZMUg0KPiB6cTJUUmp4cGcxVW5xPlhEPFMtDQo+ IFZRU3d+QT1qbyNOfmcqdlUoVUQjVERYRkd+WGV5ckBKKDJlaUM4czN9Rj9IVStxDQo+IHpQPzNC Ui0NCj4gKkN8c1p+Vmx+aGJOKVBEIzN4YD5NQXVDKXpsPjxONz15OGRHQWVSIWI/MngmNX0kbClG amtudD9xWEUNCj4gem5PJFk2dU5WNGkpWW5ONXQjeHVwP0F4VTlMZkBsOUBiXipac35eMV5gc3pw VHJAb3BoPzdJLQ0KPiBQX1R6fEpgdjlVSQ0KPiB6VTA5Q0N6ZnxJfVkoNUBxN1VSUSVoK0YkODs/ XiFsK31nRV5WXjd2MFBnfVhZTz5qIUxfI3I7I2VEaF5jRCE4fA0KPiBFDQo+IHpDJkkyPE8rdEVi Tz4kSlNERSV7Yl93KTYpdj5nb2doclluMzU0cjlTb296JSo+aSRyVzltbVZ0KXdOJTYNCj4gRSlF cXQNCj4gejNKX2s3Mjk0d25DSiZaREE5Nl5IcDJxfXM+a2U+I1VeQGV1PlNPM1R0YDJhPjZQbCUt DQo+IGd8QmYoVGN7eGU4diFuZg0KPiB6KWt3SVhNMmMyXzMtDQo+IElRbzReNyFlRyNZYDE8IT96 MCF8WUM2K1pFIU8kekVEOGVocFpFN3ZaX1J6S2l8U3NAYTlKDQo+IHpMIXhua2dfT3FYMFVONihi VV96Wig4fG5HU0dscCRrUXlye1Ikbit7dXhlJjBGMEI2WTdfbitqMVo1NWhUUA0KPiB3S3gNCj4g ellhPExNP081TFgtQHVSfl5OPXBxcCZRVjJocitPOCVLWSVwcDgjO2lub0FrPTgkP3lzZFZOcCYt DQo+ID42aFkmQkRYYg0KPiB6SDY8QCRUKlZ0V01CbER7TipNSyNYWUclb0hObSp2dWU5VV9ENWw7 QnBUMzNgJXRnNFZDRjtqOylQKngNCj4gMkhFJj9ZDQo+IHpNJj9MZU50fDQkY3E0cU9nZU17VFdr M0AxOSp1JHdVUXo9UlBkMUhUZ0Z6aGpEWHNvSnRmcT87Wj4lSUsNCj4gXzlQeXsNCj4geiFZKzlt KH0kKyZ7N1dlfDMhdDYkQnc9e3AjYzVUfjNZPlN4ckk9aTErKFY8QjBgZSlGdVlmYVhKR0s5ZmE4 RnVsDQo+IHpsWjJecDQ9MGNQNDRnVllHKSl0ckcqb0lzR0xiMyQ5dik7ZDRSZHpZNUE7bnJAP0hw dzFYWXt1ZCRRKEBZNyUNCj4gfWINCj4genN0MTRKTyt0N3lCOT0oTlBMKlBwRys3bShDcSQ9PkAm eG47NHJyLQ0KPiBIPDxxTVFCfjh5YFltcGQpUFpVUWhvPTZWbQ0KPiB6KkojWlhtajgqY3h8IUsh Q1pZSzFndklUV094ejFwUS0NCj4gb19ucWN1ZylNVjkmMWwweFZLJVBMZjhHe3kpKWI2UVIzDQo+ IHphJEUlMz1LRCFhS15Dbl8rR3lFPkhpeE5Taz9jaWVDU2g2SXVrOTFxenJfLTxPT0FoWnY1KnRx NVZ9LQ0KPiA4RSt0fEUNCj4geih7SDZQR0kxI2lBSX1iNUVrR0Z8U1pmIUJKRnRVTDR8Xnomciox amNpdlltMjFCZ0pUWW5SPWlldXJMY1l5X0R6DQo+IHpSSTExZy19LW9tZktJS211VmElLQ0KPiBE d2t+T2c3UVR9TERzYktOTiplSjdwPlh0OzxsQmAkISl1XyRYIyZ1d1pOMmINCj4gelg9ME1yOEVP Y1hZQXY9c2g5Z2ZneT55dyFoJigtDQo+IFpTfENOOXJoU0d5WlB3cTtsQmEyS1FyPFRsJHAxSTtg KyFAMQ0KPiB6RlNgNVZnR2xmO14rQFAlT0tgfllXPT4lbzM0VCZiQFVMWUVEUXBXa3o8Z0FGMDU5 TSEyfk5tQkowDQo+IEREfT9tQV47DQo+IHpyQVh2Znw4Nml6Tj1+JD9YTXY2Ny0NCj4gKH1WOFBU Vj8oRVpAUTs8Y3V2Xm1UJDJTblkoMVUhU0J6V0gybjR1engmK3kNCj4gekpyR0ZZQyRqdH1KcUFC WVVMZHdwfENvV01PPGdBVkp6PkBDT2wpPlpidSU2dkFoWnp+dVJBZyVSPygmDQo+IHxMT0x6bg0K PiB6K3RoSTg7VEc7fnN3WmQqX3R6XmArMFRoSmRmOD9wKytULQ0KPiBxWiZVNHJRVUNJXntWfXxI dm5PWl5fZiU7aisrUUQxDQo+IHp4V0FxKisrVE1LX2YhVjljJiRNdVkyd3ckKUhGI3NrWj4wOVQ3 bGR0VUkmdXNxWn5ZcDxWaGloekpWaUZKDQo+IFF0QEgNCj4gensyd14pNkg4UEkrNnFtQ216SShV NUE3QnJYaDkxKy0NCj4gej4lNEZnZWMlVEwwXnFuelg2eTAoelNSM1BEU3hNOXtLcw0KPiB6QjUz YHVoZ0M3d3RyV0JzdVNZOTNWTSFXKF5KWnEzbGktZFNibklwUmYrYWJMOWVqWi0NCj4gZG1pXyY3 MigpelMmZHBVDQo+IHpjUjdxQVRGVSQ8bSZ+diNURk5SO2hWSXYyQU99TzhRXjNoaVpOQm04M3tO eilBLQ0KPiBafkYpWmQ1YEM4QlV4emtLbyUNCj4gek5VO3JONl4rWnNZaGF8dWhFRUlwLQ0KPiAo JjN0S3xrZk1TJGkqZElxR2tUKSpPSzdybzR4fkF8PDswVUVIMn45ZHdwJA0KPiB6bjYzbTRNeGZq LXZBKTk7OE4kfmF5M0J9ZnA0bz16YzVgZE9sMWY3Q1g3a3Q+ejxEQj5heWNfTnZMMmdLNnlqci0N Cj4gelYzPT81RVhSI3JsK1U0MDtzYl5HbEIodFcoNj8tDQo+IGs4Z2trWj5YSno/QUxVU31XNnk+ XjlOWjtTI3ZAYm9FeSs4SA0KPiB6diVvSTZ3TU5wQClUKWQzK2VzUStxfCktPFE2NnpWPzE5N3dG P2h9eUIqRkNtSy0NCj4gOW0oNSZkbXkmRjNqVndwJXFqDQo+IHpUKztzbV9vMURFPF5UU0g8I0Mk ZTR2NzVVdFJWLUt8OC02LV9HJkBhTT81XjM4YihDXi0NCj4gfGF2R0FLZHAwVlkwMzkNCj4gelgo KT5GOHUlPSU8TVl5MGVCUVclJio/IXQ3cF5iZEIwcVQ+PD4lN0hAe19ZamVrS0l1PWI4b2grNUYN Cj4gWDxQNTgwPQ0KPiB6b145KnBIKyRPI3tLb3Y9WkpZVFg+M35kWSV7ZENjTkUhSFZEP2VecWtH SXlHSXl9JElfQjZOVkd7eyUqZQ0KPiBPQHNRDQo+IHpKN1koWSN3cn1vYVFxbCRWJlQwfDhmPEY9 N35DRilLZzM+e08oJiVIQVVlPGtmIXxqKzU1ZSRzZzF+PGNwemgNCj4gTzkNCj4gejBoWjhMU2Mk SnRGVWBlfHowaEwmb0MkMD1ZZHpqSmgoNVUwLSQ4eklFalcoaVdfSiEoIUQ/QT9QWW8xNURHUURo DQo+IHo7OEVBcTl4IypETjhmVnxSfmo8bDBrfFlxVG1HVWBLb0piTCZhanB5ZCYrNjVlJio9WT5A d0QqbShrOEwNCj4gLXUkYnANCj4gejM9T0h2cGU/KClIQzR0Nzd9MjAjSCU1byokV0teMGopeGxp NWdmczUhPDxLKUs5JjAtYG92Y297M3B3akNFR1luDQo+IHpZTzdMRCtZI2I0c2pYVj0mPUpPSTV8 VnQ9SyVfZk9JPjJHfGZPZVg2VXxyU3R3aTlpcWViNE5KTGhAbWhUDQo+IGN0ajINCj4gej1TJU5R KnItDQo+ID5QYl81SVpCajROSTF1QEN3MFNqdGpLYGx+SE8kKVQpJV5qWlI5KkUhcmJXeDFtVHti OHxuKU1LbQ0KPiB6UV89UCFhJmZKKz1eWndgTjlZTktKcTV1Y0AqNEhueURvWmJOS0oxaFIpLQ0K PiAqMVdmOXB5eGc7aHZRXmlUJXdnVFpfDQo+IHpTaCt5I0tuVDtlcDYyUnNPailEdD5wUzI9MmEo NWNwUHR3K1E3ZjN6bm4wNj4zJTdwc1ZgKCgjTyokYUw/RF4NCj4gKmQNCj4gel9rWVU4LQ0KPiA+ Sk57PDF1WnhwN2pDQz1NKiZVQU5zPnRATTFkcFl4S2FzNko4N2p4MTlxJWIlWTY0Ozl7NWB2WjFC Pw0KPiB6d0NfQFMmRVZncXY+UlJEKFZ1c28pdD84dXBWY1U7QVMkayhEaCo9ekFOP0Zja347YH5v VGkxUDBxRU9ObQ0KPiBSSjAxDQo+IHp4Ujs4MzY8PV9nYjhHJXthTUY2fjIyWEdtSzNhdSp3WClh QWZ1PUEoYVBnR152VGA/NnNxNHo1dD1Nc31wDQo+IEwwQDENCj4geigzOVlaZj5xUG1lMGg/KnBn ejI+KnI7Y3pvSzN+IUtCe1ZGZkp1T2ZZfFhBbURXMWU5eiolWCRGJngjfGNDDQo+ICVGSA0KPiB6 Wil3eSg/e01jTl8rd0pjJTUzd3dxI0Y9Q04kSitgdWhKN0wxMUZ5bj42USZDPEMxUUduWERFPXdt Ng0KPiBlPDRIOyt5DQo+IHp4RmxCbC1xSS1gLTZ9QkloTjI5c1pgKHl6MmE0RnZvSVNOd2JgZXxB djBPIVR1IXVaJjVnSmsjIU5scjtSMXQ1WQ0KPiB6XjtgbmZSKk4/M0dPRnp8cmwqJHl3ZGlFXkFB ZmRMTHFxQl5te2AzSkJ7SCE+SE5KIzAmfW1UJkU8eHZeUzk+DQo+IFR9DQo+IHpxKVlqalVDSnhu WCpIM2RWNVlraTRYSTBFVm55WSpEV3pES1Z2VGY+c356TjtyMzt5NzdxVFMxNUUlPTg1OSNCDQo+ IHkNCj4gemg9JGFLRnRJOTQ3NGkjPUgpPHkqZiUleFVzZWhNcjxjUipsS3okcEthe1ErVSZJYkVA NWkrYDNNa3pObkcNCj4gcWtleQ0KPiB6VDh0PUY+SShSVio4Mys5cUQ0T15EQyZabklYR1UzfDJg TWtEZFN7ZDJZKTs8Yz5oLQ0KPiA0cW9jMnVxRHBuKUJkbVRnDQo+IHpoSnFfO3t1VWV5Rk5QWXRI WTMyVDAjKSFLQSZgQXlBdCYqM2olSSFaKXgxcDFGJn4zNGckS1cxeWhUKjd6UUoNCj4gKU4NCj4g ej57VitndTwlWCg0NmJFPlNyfTdzVGV7IzA9NylXcFprWEtuaUdAKzhEMFNgKW1ERUQ+MGcoQ3xp SmY8dnpjWQ0KPiBBWQ0KPiB6VkE3LQ0KPiBEWWhvZzJEX18ybnBLX0RzbV92JnE+RHU2cHVvc3sk bEJAMVBqYFptWHpvUWRZc2BkdzFKYGBpUClTKiRYDQo+IHolKndXKTMmQjMhV0JNKHR0TnNralRZ M3tSPGAkelg8RWg5UG52elA1NVZQPnhgTDVGV1Z0dyZBOHx1WUINCj4ga3M8Z20NCj4gemJzQzMr IVU1WlRoKWd3WFhyYkIpU1R0KHplJD0xMFlFLT1+alhLVFc5bFVfO2pBQ3djcUN6KVdxMy0NCj4g Ymg0NTV8bQ0KPiB6K0traVIlRFMpdHFkI0hMP3VJT19SNzBJbG5MdW5WMX5xa3E2b3lIZ3gqOCN3 aipDVVgycFp7dV99dnd4azV7DQo+IDtYDQo+IHpha3YwT2I/NypwOVpTdSlNVj9LeSlrWV4tKTNm WWU7bCU0e0A/Nzg7ejZOJE1vUWVBKlMlOS0NCj4gYTAlPiFkYFgxem8NCj4gei1GO0hQZnNJSFpT KlNsQC1eWDsqYHpYYG8zSktmIStjOCl9RjRoSGNAPztsdWtiTmFwNUpiKig+THp6VjR6TW5XDQo+ IHpTdHhGNW5TIzEwKmBPbWEyZ2tJYDg1X2AmRSUxOStOJVBaN2c0bnJFOVlVWFhzXmtGY2wwPzI7 a303RShCfk1MDQo+IDANCj4gejNjQ2dKNFozd2I0YUZmMDVqfXl8VHhFNT9vbU1NSXBYPTBvY1Vj YXdFPSMxYFB1XzU5SEFhX1pXdW52QjENCj4gWilFVg0KPiB6d1VpNVZ4UWRGVjd1Q2sxLQ0KPiBj N295PHBBclZNQXBxcDZ+IXhaJDxrZXc+Y2BoZm14Z2Q0THc4bEZAN05KQW8kaUVYDQo+IHpPRlBR ZEhaRUwwKjF9eH40ekE5fGA4bntTRW05KWRKe0gtJUJ6SD8/aG51c280LQ0KPiB0NVdJND08SCFq aTF3UD9kViUNCj4gejR5aTlSbnNTOytPZzwoTTgmQllgMVNUdExvYndzLTstDQo+IE91O0FuI3g2 PEZ9UlNobzUzNSpqKSp7bSE0KyNaaCpfIw0KPiB6SShtYWFsSmQoJURwamlHSXRna2htUz9AbTBA ZipyMXVxPEheKTc+IXdHKSp3aGFxY21WSy0NCj4gYyVlIWJMP01vRkskDQo+IHo5JEhNK3tne1k8 U2BFTyEhSmYxN21NYSlaJnhkJUA1K3JkR0JfaiNDTXxePlVCc248TDhKS3xSNmlKfGJQOw0KPiA8 KS0NCj4gek5rbHdyUS10I1loM1pXdGFFY14jdFJCcT1WVz12U2VKfEFiNVcxQ1coPGctDQo+IEBR cz1xNHlldUJCUVI/PnokUCViZg0KPiB6UEdWdk0xYHxWP1phSWVwJWNYOVFaKyNzaVFQZWYqTUhO ZD8tDQo+IFBqamp1QDB7N2FSOUFeTjJVKnk+X2gzUU81SklmDQo+IHpKVnV2SCtGKz5SYGF6RitT RT5hcDhEfFNZV0JiJTJae0M1TnJUPXxSQ0NJKTxGbTtuWF8pMnlEOU0lRX5uDQo+IHkje24NCj4g eitAUSFrKDdTaUdqPlUwVklZJW47NGZoUUBgKDJ1cSN1JC0NCj4gP2xnZFYoZUhOWTFDMSE5Y1pu QW1fZWNTSCoxflBEeg0KPiB6b0pNKTUjJHd+ISRlNnZyKEtVT0wmVlZWMG5MVH5wRX41ezwmUSU2 WlVYYGVhLQ0KPiBEUE08VTR9QFBycX1IPGxKbSl7DQo+IHpGYFJJWlZRe2V6KlEhWX1UdGZgUXBx cEZJYTdNPFBZJmJeZylyKSEpcnZydDR5JnhQMXA7enhAbz9aP1ZJND1LIQ0KPiB6ZXhxNH5JcXlA JnA7MFhORkI4KFU8S2k9P3A3dHMhd0ZEQ1MhcVcjMkIpU2dmTGZpWHU0akh3VGZrX054czt1DQo+ IDw3DQo+IHpfanAyTz5VJDZ9ZFVSQ19CeHNJRz10T31jcT9DTnJsZHcoJjtrMClaWnItDQo+IERJ O1M7QUVOMFc0SCh1cD5hPjk4c0ENCj4gelUqQWs0Yn5wQzQpWnxvd0BCR28jd3BEX3FFfEI+c3pw S0R4RXM0PXJuMm8pOUV5TWFrTWZOYFpXP18NCj4gUEN3SD9gNg0KPiB6cDUqT2Q/Q14+RkFUQVk1 XjQ0fTcmaj88SGhRbFVIYUlFQD9sJGl0a1JaeFBvQn5UQ1BxfWo+TDBVVn0pekY0Mg0KPiBODQo+ IHpvd1l0MiV6d1lEQnw2TlptM0d8ezl9UDY/bVJPMGQ9SGZ6KCt9RWYte0p9Kkg0SD8pO0AtDQo+ IHdsemBNOUxPeGZtVj8NCj4gejNpUGRJMUU2Yk9ybCttYjhJZmB3SllTYzBtdEVkQD5FJlNuemdt VWQ8IU1NPTl1dXE5NHBVejhSIztMekYNCj4gRnBodQ0KPiB6TUdGaFEzMjAjVTI/Y2ImYj0qKyhJ fUpWOUkhXmYyeUVQamNGQ0hTRi1pREs4YHBEMF8lIytzempTRWxEcjl2IXQNCj4genZISmFBR0hB Zmg2RzFRSXZ5fl81VT5nS0RVanV1K0BPXl9FcTk5QClZJDRgQTNfWWQ/OXt6bXxvMCQkcQ0KPiBN bGd1IQ0KPiB6Jj56ZUV6MDFDVSZsWTR8dWtWQGNrPlFAe0FARz0lY2stDQo+IGMxJXxnaSMpKStT YDRaVjlUYmw9fENKVEVNS3sje1E5DQo+IHpoNDQkcDI2fXx6ZiR5T3hvOUcrQz19c2R7YFFYT2J0 anZzTEs1ZCkhWDJiOSlhU3g8dktjM1Y0KV4hJVk0UilVaA0KPiB6K1VLZj9aYmQrOWxyIT9qaz42 Kngpd01lMVV+TlN5QmtqZDBSbDBsYDh3bClTY2g/Z2chYE5IVWsoQGU5USUrSQ0KPiAyDQo+IHo1 VExkUVBYUHlKQSs9PG9LMUZ7YndyREJGaHk+MVYjaH1mbSNYYUtDcHl6dipWfE8pSXsxIyU1NiZr UUVlDQo+IHg/UlkNCj4gelpoZ1d5WUE+dEMyNnBeSCZeaUdDeUQ4Mn5NKzxeemlWOHUjSUF9Uyo4 WkJtX1RLP09HUkBBYDthdH12fA0KPiBObj5Acg0KPiB6RDVTYDBvU2NMeGFUZHItDQo+IFdhVzM2 NmpLTnxpfHxHPlNwb1VfQXh0X2ZGT0Y/NThAaFdPRTVJY2U1NUVZYXk2cEtWDQo+IHpuYDUpQjVt KU8kM1lqIX5SK0s0NHtuJi0NCj4gPTFFQzhBdno8WiYhd0AzZVFVcW4wPUJOQyp7cTQ4VCFCNE0+ M2p3RlUNCj4genI9S2F1ekApdCkkbypYP1Y7fnZ1aXE3RiZkfVdWZFhZclJ6YlRFLQ0KPiBGWHAp QSEyT01FSFdWc3BlJX4/OFckUntBRw0KPiB6b1E4Q08xNnx9Vld9KTh5b3ZSX1FLYTBRVWkkTT44 VHl9QWR2Tno+bHAtDQo+IHVEbntWcDgjbTxmVHcwbj9OellOOHRsDQo+IHoyVXozNEVZeHkwNG5J Y1F1KDh5aVdzP0k4QjtyaHRKXm19ZEBrKkstSGBfYyFRQzJlPTQ1Mi1HcHJKVytge2oqTg0KPiB6 RC00WGh8SHo5NFBwQ2pgZDV5SDdmdVZ7Y2h+ZHg9NHFJWWx1TXllXmchQ0xtPGVpbVNzVWB9eVV9 RDtMN2pyRj0NCj4gemopI2RJNEImZ0N1dkshO0k7NmNPUVdefkV7KHdwaS1ITW9uSlJfNVdeOC0N Cj4gaU9vU0FDMTlAbE0hR0A3dGZCX0lMcA0KPiB6Q2FsJHZmbzZiOVZwYUJBU05yaiNvM3Y4bzdv PTNwS1h8VkhCLQ0KPiBFcWtUdDdfU1BOdHZoe3x0NlMoYkhWaE5QRFdmDQo+IHpObSNNPTA9cDhz Xj5BIWcwejZRdiM9OSRfQSQyOH5TU0A/aVJmI1c/M0RJekxpaChVaGN4YH5xVyZTJHgNCj4gRFUw IWwNCj4genFtdC1hRkAoXyUwfn1+V0AxTXN9Z0ZjKmxmfDx6fFcmRGYwXmdwM05NflZnPSg5RVhP O1FsMi0NCj4gZ1AkKTMobTJZVg0KPiB6cl9EQ3x4aV41QFZqS3lnMyl3TSY4I0hPZypyZlJteGBK eTYwTChTJkpjdkA7dz9WQ2opVENpel57SnpwRyRJaQ0KPiBuDQo+IHoxPyUrJUFHRG9QKz5nIyNn Nl5TUms1S2ZLYU8/IWZwWTQ2KkRFNUVUekgyWTljS3coVntHeHIzRVhPdHxuDQo+ID52bE4NCj4g endNNWVMdmgqeEAqKWl6O24mQG1gK2xzTHFUNVlPbU1CUVBnPDg4KTBRbntYIzFwLQ0KPiBeeEJR ak1HOW4/anJIWkZITQ0KPiB6QVNSclNwZGtZcjBqfXJaKlQxNHVLI3wqd0dHYUIqZTl8MypvTX53 MUElYGs+QFdDS1k5UlJJSF8oTg0KPiBNQlRvaEFvDQo+IHpPS3FPdmpkNj9TcT5MLTB1fV9kVGdU dExnJDJgRmdiTEpZSDNnLX1WRWJIaTVVZGlFaWAzJF9xaVlmbjViQyg1PA0KPiB6KTU0VVd6RDhs I1RjdGgqZ0x7bUUmcS1FM201c1YjY09qYjNNTiReaFYlPDJ2X0t6OF9EJGs8LQ0KPiBWRTJFeF9C Vl80DQo+IHowIVhYUSN8RmtmRCszN1VlPlR6a15xXzhjVCtEPjBzRH5rNllAIURvO0Q4c1lCQDZa US0NCj4gKUlLcSs5PmdMODk8OGsNCj4gejtUNn1jJGt1QTxXKTlGISpEaUVqZFpFeTJPO0xZXkph N3RpZk9WbkZMaXljPWp6T1d9KXVUUFpOM2w0c0tkfjEyDQo+IHpNYHp7TGotaGc9Mi0NCj4gKDBe U0R9VUpnfEBUTWRVdjQ/dXI4RVlzSjM9ak99V3hBT3IjeFoqPWhrantCdH5fM0FMaEMNCj4gelpA Mn1GbHM+KExVdnt3Mkpoe3hTOTZOP3FyWjd2OUhQWEktDQo+ICFkIWhLN2ZgXjdvcUBwYmBEcVl2 SVNodEV4QHpVUQ0KPiB6K0daKTdFNjJjSClDdm5HK0g7JjdncWlnR3daM3pZKVRJU2FSN3Z7bGUq ZkREJH4rUUFiUjA1R3pyb2FRTExGDQo+IFglDQo+IHpkRmF5ayNWTyN2e04hK0J5Tih4aERlYl9E OVhYSkA3bXQoOEFBJmh+T08/Ny0NCj4gNzdlJXY9dDxGblEwTWd+dkpnKHQNCj4genBvPVlsYXdC d0JqWkU0cm04QyZodUJRJTVBP1dvQT5XX1FNaGhsKCpkMUdKd0xCeDYqWWo5bSVKKi0NCj4gVWRC S0RKZw0KPiB6YSRjais1Mlp+M3RnQHBPOC1ubVl6YWItDQo+IDdmTTtnIyNebWtWU3lFa01GT3F8 QVY1QTZwRDM7PHUpfGY+MUFpa05DDQo+IHpYYT5wPy0NCj4gQD87RyR8KXVGTWFVYUhHbEtBRmcp Sk1fRCZwO0NlRml8OGE2TnRAVSlEJGNkKDFzMVBrPDdyRz0xdlkNCj4gej5+SER1K3dPQ0YkY2dY MD58JWNoU1d9MnVzMUZAK2FwRURZKCFuM21ubnVndDd7O3deYyY9Xy15IS0NCj4gKkhxUzUhew0K PiB6KkQ3Q3w7cHJQNnBOYiMqRCl+MDRpK0UqOXUrPFJ7YXB5X3cpP3NTYTU7UzN9JDEpTllKVCMm ZVV7KkBANioNCj4gVUZ3DQo+IHoxV2lEb2w5KGg0MSFNPUZ5RCZuNTJLazc/VHM2REh0OU9lX0U9 Xz9PVG9qMXYhUVo5O3peMTVvKFozeDUtDQo+IH5lazENCj4gekVGdU1GOWQ9UlJBUSk3JCNaWHYl QCFWUCtrNENTKCojdj9nVkV8UUpKSVZ4dF9rfEc/b1dmVjI2MSp3Nw0KPiBmSS13ZQ0KPiB6Y3Z0 Y2gzXz1TTW9XdWF1M2MrZ2BLO0ZTbyR5PyEqSz91YVFNO1BVSjV9YSl6JXhXaW9xUWxncEIofnxX NWNpDQo+IHUxDQo+IHpzfHUrWExUSXNFVFNeOVRrWktqRUNzZjBNN2xzOFMjdDwlbTM5c0hvKzhP Uy0NCj4gK2VOenlKdio+ejJlMnZYWF4xSUANCj4gemJgRyRNZCVTSGYrSTxDalhiY2l7TTJYeF9Z SyplLUktDQo+IGFgSV5XTmRoREBHZTFATSFyQzt3TD8mSmFgNEJNcE89QQ0KPiB6Y0hWKVI3cH1y V0xRSzlPJm9WPXBMQEZeZlE8N3NvYSlnKEw0Z2V0c2FqSzJwUipXZnwmSTlfcGp3QkE9cQ0KPiBv M3ZqDQo+IHp1JUBIX0FhY2cmLQ0KPiBKdkdxV0Q8SDg9a1UyV2lVeElMdTJjQCtRI197KntGKVVt TFkhKHMoREVkbmhDJnhwJGtxJl4NCj4gek9sQHVsNzZeeEUqaGwzciFxaD9YVmhYUzUlczM9cz4k M3BSJl5nd2hLJSE9eHVFKjBDKkBfPWoxQng8VjENCj4gSjQxbw0KPiB6dyNVJmRJQyM/WWNqaXBI ekZaXlZhfGFkaDFfRj8wM3dUP2JfYlh8K1oxcG53S2xSe1VpOV9lMXJ+Uit4fDENCj4gVCMwDQo+ IHpXbHNLIWtVd3dPdStRa3Ahbz9UKTUtDQo+IDRIcFRoYUZ8ZWJnVHt1eENQWXJjS3xEIUlfWU96 Xl45XzBeYXFyYj1+T3INCj4genFHbzVjPlVAZDNuR0dMZEZ6bEw3Pm80OWJHK2RvVGY3ZlQ1KVQ7 PlUlRD8zMHp+N3gyZzZUbWA5fWUkdjd8DQo+IDJJVg0KPiB6UilgbSpebzArMldkdH16WjhLTUxV amFXc3dHMztgelZQIUlqVE0tMzRjMEwwRCo5dy0NCj4gOVVOZTh7YGs3JWJ4c1pnDQo+IHpIUWFi OT5HKjc0PFAtDQo+ID1kITxEI15AaWlvRHchKCFZKyN0anVWaG1OX2oleE16ND48SDtocjFidSh8 d185UlNfeSYNCj4gektRIzt9WWB2MH0qYmtPPE03RFluNEpLUnNpUlUxbTU/PT8qZSpYKStCaG1p Pyo4fE0mNkJ7S3pzT29NOQ0KPiBRQzxsNQ0KPiB6aktiIXd6Z2FGTDVQKnAlTTMrWSR5YEJGYldj cj0wOSZ6JmpFYl54JiNVUmxBP2BjUzBZNiQhemxrUF5RNjl6DQo+IDNvDQo+IHpJKE5seWc8dXIx ZkR0QCZCQEFFblY5clk+M2VmUyhBdDdvQz0hVUlqMHRmbHdlakp2ZGE0PXdGMTZfTEZOe2Mjcw0K PiB6NDgwUyotDQo+IGRRWnpuTWRWI2EoJllaayoxbFJ3YiFTQCFHfXkzI1JiZGxfelh8KjdDUm97 JDtrQClFej1YYypAbldFDQo+IHpoMWMyZjJ2MH59JDtuYUBqIWw0TDI4TT9FUSskVDk1dUtTRkNR cFZUISFTQUo/ODRWQEdlKFY4fDh9JCVlczwNCj4gYGUNCj4gekUmTEkjP0lgeX12QHN0PDRJLVBQ RiY/TF9ae2lkMDwtdSM1YTl5eV8yey0jMVVjfjNiUzBUcSp3U2p2Z0VIZHAtDQo+IHpHKXtqVlIp a0wpX3YlMHNVJGNFKjdQVSVARk1aPTxFdG58U1VWV3cwSmltfFprc3BsJkBJNHd8Z3JebF9jDQo+ IHpCSEENCj4gekFVcjd1VzlUbVNaNXcqTktyYXd6aEEpcFg5Nm0pUikxWS1TM0N+dkVVKWp1WjI2 VypoVitYTUlCc2p2LQ0KPiBnTVIjOA0KPiB6VylrNjNhRjsrNnBUUGEhMm8mUUJhNmo0fl9kRlkk ZEg1Y1VRPXgzZDcjPCNESVFhMjIrK1cqa1lSWGY3KA0KPiBSaWdtDQo+IHpHa2tmQlZLP3FBJDMj eDR4aTh3ZCZ5WTZWTGQ9fmlJMDQ+dDsla1dGVntLTmZXOztlOD5CaTQmSyg2ZlNQbFEpDQo+IEwN Cj4gejthUEtpYz1lOHEoNDs5eEZ4V1MxSHM5YEleWjZwM2pZKSZ5OD5gfXBYbHlvLVl2UXZuYyMj ZmQyQismbFImWlM2DQo+IHpSVXhEX1gwRXx8O35eVndTX1Jhdi0NCj4gdjBKNG9gbmx6QEBXRTAz YzdFeztjOVNPe3BtQSE7PUhCQ18+aWRUdklXSSoNCj4gempwQSs+aWNLUUU0VHxibzZyeUokU1dD JElAS098SlJjei0NCj4gNyU4dD9wXj17fWt2O3A/fDFpa1A0bjwwcG5lZUBNZg0KPiB6NXE3c09S c0hAMlYyekVEdTAlVHVtOTh+YWN1I3twJl9BYHR4eVlwNiFxbHtmTl8rI1VMMkVTMGs1SmNFfDAN Cj4gWD1+DQo+IHohe3NmMHEraFB7enVnI18xJlk9K0B0RzA0TDxjZ1ZVeExUIz9MLXxaa1AqQmo7 aHBydUpMLQ0KPiBvRFpaNTBYdzVHPG0NCj4gejR1R3FJbEEyOXVAPWRZMUlvc2BfPT1Hbk5ucl81 ZGRpRHVqZys7TykkWDRBND9WNyZIOSRjfDB0NzBQIzckDQo+IG1uag0KPiB6O3w8fXtSKVhzKS1t V3tvN01GXlJ1UkJwVT82NVEjb3NvZUVYTnxoIWpXRWphYUhhZy0NCj4gWndDamlKQ1ZfUlYoN1lB DQo+IHo4Uk4mVjlreCVmcXx5VldwSiFqdnNqc1pVMSQ8aDElP3swJCQoKXlGekptPn5he1pRRUlj cCNRZEdAP1ZDDQo+IFI/Q3INCj4gekdwPFhQKl9jPUBiRnFmbSprT3t8bkoyakNXb0M7MF9mRjNx d3g/SCp3KDd+cC0NCj4gQHV3YTw8RV9eRnp1ZilwVHR4fg0KPiB6VUc9PGElSCs2WXV8cSh6VypQ ek03Qnc1RSk0SGZtLQ0KPiBWaSVIIX1CPSl6S180Mzs7I3ZSenImdj1DO2VZV2BmRTtSDQo+IHp6 eFMrdUBCaXApYzVJSTRoVHFQUnpiOVh2O28lP09KLV5kYE9BektDLQ0KPiA+RCVLe1dzM29fTSZt bkE5XlUwVmpSUH0NCj4genBvNVRZSnlea1lTdTxlSDBSdDZMRndsRVY1NHVIYVM0Wnx9JlZQIz8x cDZtNDw+WlJJbGJPKmdPYj9EUyFwDQo+IDRQIQ0KPiB6cUNPSVBKR15Qd0AkMVdwUG45fFhhSnxR KUhKQUQrX30hNE1wRmU1Sz8yfCtxPlhISFVeS0RSTUtyDQo+IFEqLT0kNmgqDQo+IHpnQy18WFpP O01NKnl9Q209THMzdSF2fmY3PmY4R3lnKkZaTjIqa3JicGBTbWVaaEdJUlNrTzgzXlFJQy0NCj4g PjZILXUNCj4gemU4WVpNQmAkRFBMaUY9NSF7WV8ydHQ7YFJPYlZvd2V4QXpxV3deMTN4X01+ZzN0 YW03OXl2KFZsZihpRzhgMlQhDQo+IHp1QCY/akZNOTBSd2pUUi0NCj4geWs7eiRoRiUzKm9fPTFs a0lAcWJ7ZTs2ODB2OTYyOCF4WUR1VDtQS3F9Mks4SSpeOzINCj4gejA5cGFsJnk1MV8wPGlWKnJF RXF8Wkx3NGs/VXskWj4xdDJ0PDRlYGJVJUUpNEEkNUIpdjNqQXxNVCMjX0hxKD8NCj4gUw0KPiB6 VSpDfWo1XnhoLWolOCFfZip6eEJqVSNzR3ZEUClUTk5yRjJpcD0mOFFsbVhaamR0OENsfT9UM1Bp U2gkP3UweykNCj4gekhrLVN0XiNPT2MhSHxrM1Y1IX1TdDhIclppVHJiSENJTkdlZGJvd3U3PkFe d259KmNYa2xsJTxYRWluV0otDQo+IEp2fg0KPiB6SERJXnUxOEMwQHh1JWI5bXVhPTVfYlNrd1hG Slk1I0ZORXQwTmhTU1RSR0YqYH5xNU9fdHs3OWskTWlhDQo+IEp3Zj9YDQo+IHpXdXk7fEFgWVY/ WV9EZ3ZUKTx7cXgwIXdhPnd6K2FQO3dOOGlHRWlCRDklOzV2NTVjME4tDQo+IEhIbk0xR1Z+dnUq cW4NCj4geip0QV5yb04oNXtLcnNXRT5jN3lUVCR9fTNtYTVDMWI4KGkyNENEZWx6e0trRiZ1Q2k4 TUNuaUhXSylqRkNEZ3ANCj4gfg0KPiB6YFhwTFE/VU5FN3ZgZVQ7Rjk5YXxySyQ8aSMqc3hEUWtU SFElSTdZREpMaE8yWX1aMn5pRjV2WmgqeHBXcEhKDQo+IHVmDQo+IHoqaiFUP3tYS3RefElGPkEr KkAmV2tIR08mc3tHQCtVMng4Y2RreT0qe1owalZBWWhaT3ooYU5nSGxVLQ0KPiBxTll1ZCENCj4g el5nX30mPzR9YGcxKDtaVXZgTGVRPzNVbVgzMm1JWTFvdDJtajktDQo+IG9jcTkzZENWN0sxdzch ejJhJWRXTXtFPVZzTQ0KPiB6VE9GbVVQUmJfdiFSaWBQbSg5ZkwkUjFibys9YTVXSFc8dTxCVWlu d2E8Q1koVjFNUXtVPm4oJnFebFMNCj4gYTE+OU1DDQo+IHpAMyt3ITlRREFzaG9LOXVUSW1JI3Jy UWFee21TYUBeT29UPmVScHs4JEJfQE4rX2JaeWF0eUpoPjlKMWMNCj4gPG5VJEsNCj4gejczfjRC bXUhUWVmJHp2QWkrfnA3dGQ3O1RQZS0NCj4gdzttP35ybGQ8QXYxREtRS2srfD4lJGU8QFlWQW1y PjtOQzloTg0KPiB6RmJubXxVISlvJD42ZENsd0RnTCZONDB5Z1RVK3hFQjQ5dFNIKlAhRVJsTEtp Y1lEUUo2RnRqeksxcHVgeS0NCj4gTjtCDQo+IHpYV20hZlZnSHFtaSQrRHFNV2dvR0A9Sy0NCj4g XiRQPmVSS1VlQXhfRmBHNUoxV3ZzTjcxalplK1U1aldSJVhvWGp0ZVgNCj4gel9UYVQ2I1RTb1Vj fFRBJm9LazNVZiUhNXRoS2Y0Ukc/NV9rVUBBTiNMfi0NCj4gdlRxeW42KChYdmBnZ3xYN0hxNDIq QQ0KPiB6YitHQ0VFaj1OeVJramNlUWA4V01RTT1vd2ZDQyNIKi0tDQo+IE95N3hQV1JFUH1HM099 RmJ3dzV5ZzQwbExKciVlZytpDQo+IHo5RWdXMD5ibnBDUEJ7KitFPU1IOVRUaT5uWCVQdzBFKXQ/ bUJ0KUFuQT0qU2p2PClDMzRwQm4xTmg9P3MNCj4gJlElTlcNCj4gemlndTlAVj9NXzBXc1UtYCR3 b3EkWUlMOSlUMCNXd2E4PWBCSkB2NTMxdEJwLQ0KPiB5I2dgZHUlYHA4dDA4alkzUjRZew0KPiB6 NkNXVHFoJllpR2A2NEZ7QVZ3REgyaz90TmE9P31vVn52fiQleTQwbCY/Q04kZiRXT2IybkplSXE8 fVJCDQo+IEF9ek0+DQo+IHpiYGdAKDFWPnU1aT9rXjQxV1RtYjM/P2x3OGl3MEVrb35aYyFkaWol Kj5zQldla0h0QDg1NShteGNlNCFSZg0KPiB5Xi0NCj4geiZzU0MydGZ+VHdJQ3thY05BNW8lUSp1 MiNvJFd9THdrMk5fJDxqdjIociF4QCh7d0okdmR+NGlvcUJSJDZIDQo+IFgrew0KPiB6WGg+MH49 XlM4OUlGVCQ1S2N4eEJydSQhJUVjdm9KKGRWZmxBODBJT0hmblhwelFJVGNeeWp8OVQ8aSolZ090 KzANCj4gekMpJGsldiFxeXNRcD5NRDFJSXkxdCh9NkU5ZW1FTV5tXmIyKTs0SDx7eEA5cmFhViZk QzR9KkpCISs9N0cNCj4gQCt2MQ0KPiB6MTVCdndiOW07OHdYIzY3bztJd35MJHBtWl54RWw0cTRW M2x3cEskMWMyRzFodkFYMytBKCUwKFYzRTZsOSMNCj4gKWVIDQo+IHo/bEB0OUBqYzE4SXpQT2A1 MCZ0VGZWdWpVYjJCZjZAMEIxZGc2UmxQMX1CMUk4YSlQI3glVUpIRTR+anVKZ3B7fA0KPiB6VFJM OXAoPitOclJTIz9wQHMpMXNhSFMxZ2xLMHtyZGBlcCNyZzVeUSYqUjQrR3ImNXkyYlU7fTdUa19I RzhGDQo+IFdzDQo+IHp5Znl+aVUlfVFyPGImJUZFNUR4IUVJIU5MO3FOJkFkNF9iIWM5eDxZcGF1 Xk4zfj5KUTg0fThNez9wZysxSQ0KPiBBUGcNCj4gemEwYi0NCj4gWnorR0olbkNDI2J4dWt4IWdv V2AkRlBhKGs+MlF2SlREVGBKakpSTl9KSFBNPm1AQ01ZdnhWbEFEZVQ9Yw0KPiB6MVl3KnFrVnlt VzEoNDM4Py1JRTl0UmohLUJBLQ0KPiBqKFI9QmZ8aXZ+WkMlJF9edj1EJUxBcXM9VUR7anw/NmVX VzlGDQo+IHo3biU7Y0k0a25BTGJFWDZ3bm8tDQo+IEpSIzJTdF5eMWQ3WXA5aDRXQkUyKCEwSn5O ak49PTRLdHA9VUFJfUtvc3Zabj8NCj4genlHYUxIak5pOH0raktwZE01OD9lVGkoV3d3NEN5SHVG LQ0KPiBITip3V3ZNT24pO0pzR20qOzB3NFdqYDdlVChpNkAhfg0KPiB6QEhwNnEtRms1PkBaUkJR OS1ScyN6SlVeWHstQ2RMRGpmb2w8Kz9GKG5qJHkkPX10WGBfcG87TjZ9QUR1NGl9KWENCj4gej5v Q3RPXzcmI2k5UzdUe2g/JDxHaGc8YVNgcWtZO2ZMcjArY09paUwxWiVwZiZoUDZCPHBPK2ZOQihm aDk0VnJMDQo+IHo3cnd1REJyNSg2OUJ2bys8S2t8NHVWM3ZJKzd+JDg7M0N1bis+e2lQYCFzTl5V bng/KmNAenEybXRvfWhMMmxJOA0KPiB6bnRkPCQ1cTkydTdhND8hWHxHJk8qTkhyWntkP2dPKUhZ Q347VykwUiEwXzBhMUs7UUg2RkNFMFk5OEhzPTYNCj4gPGAqDQo+IHo0MUoxK0whdU5oLQ0KPiAm fXdRUzU3bkxiRzVyTit2fCZQWng+ZzFTK0hCTD4wJm9DcDFgYTsjJTFOQDt6PylKN2VmOD4NCj4g ekBEWSVWJGhPV0pEZGk+R0ZqMks7RVdwR0c4UC0NCj4gcTN7SW9kKSZyYFZBWlVIK19xN2VeRntw elB+OzE+KnNKKntedg0KPiB6czdHWS1eVDR8UG1hcGsoLQ0KPiBVKyMmZnpoOW9lNlN5O3VVJGt3 NWt9OUhPayVEfnpSMmlGbEYzKEhuUSgoTTM1UXJmDQo+IHoyRD5COEEtRyo3R1YyZzZzNHU5aF80 ZEpnSi0NCj4gdXJ9PlokMEExej9HYVVkSyZ1dVFlbVBRWHBXU2c5U2kkdn0hKFYNCj4genlJaWJi X1huPHd4IThvZzxIKWlhRktAQkxgYXo9ZDNQODFvcE5ESnkrLVZpUE9FWihkd0YpS2IyKXEqSlBP SXIlDQo+IHolMmZpNXJvRDJjQmEzZm9EXn1AR2BRaG91X1QzM3BkeVpQfnI/OCt8aGk3Wn5sUlJY Z0lZaUVgZVU1RWQwVlQjcg0KPiB6NyZsSHJVVUZofkkqKyUqJVA3Vk8rRzE5IS0NCj4gSFZOJmcw KzdKVnRiUFpZZVJ3MzdPczExdjJ7eT4jN1o/fDdAP3J+DQo+IHpWPChLdCQlT0U5bz0tDQo+IDVv ayVAeTxDXiptc0hGN3JvJU1BaVgyKCFSRGIlQzt8PmUyez9QZnp6WGtPNkFmKmQ7Pl4NCj4gemgo bUhPb0Z+UHlPemdPSSlBSU1TK0R0aTZRS3tCa3o+blY2OUtpI3JYPkdSejZMZDAxVV5IcUZAYmJ9 KSgNCj4gR30mTw0KPiB6Rll6Y2BIK05od1o8bkV8UWt9az5jQCF+a0l7KW9YJXoqcXczOUx6Xzhm fS1yU047UGN0c3BCVmZIXiROIUp1MWwNCj4gekE/Oyk5T0g8QUNobmV1bXBSO1FaQHttS29mdHxt QW1sUjBOXl5qY2hxOUEqeVVkQ1kleEdDQGlGVw0KPiBTbXF0JUFjew0KPiB6ZFZIWkRCNWJDMEdP Wmo1PzU1KiNpYiZacjtUZDNWZjFyX0k9en5oIXo3I1hRdUQmSTVQOzBxeFpDNU9OVTc1DQo+IGRZ DQo+IHpzWUVSWmFPP30qRGg9Jj91MmVnK05EPGZfWDt1PjBzZGlFOUV0cXsyKVBzOyp5NVdHPVI5 el5VPmRsTzNWRw0KPiBtNEENCj4gekBOSFchZSUrKzhgdipwelozVztQNXJtcHZWJXZzWEstDQo+ IH5ndTxOPkolTSZ6MX4qVypHITxueVJydH42MXVHa3d6eA0KPiB6SnVZK150KGMqYTxoP0VBWD9q Nj0yUW9tSXlmP1dWYEozQTtpPXhBKnUlJjVPS0kpK3R2JlFVTHpzb3ZUdWxNDQo+IDAtDQo+IHo+ WVhaZUB2bFZoNTNTI3xWeiE1R1ApPGlQT2d7OC0NCj4gJE8waXpqRDhVQnNxfm5DNj5EdjIxKTJt dDBeYlJyaE9HP2QNCj4geloxMDQ3Jmh0ZyExX0g0YT8/aiUqWjVRQChJKkhyJmZhRmpoeHhjKEd3 Ym4zUWNgUW5odTNTdCVnJFRrKzsoMQ0KPiA3Sg0KPiB6WWJ1a2s9fiRRdTxSbzRLaXlBcyZsTHVD YHEtVTVIKXF8PTkqbUkpUzxibyhYRj9FeGYhQyQlfFNYVEotDQo+IHklPEw5DQo+IHo+UnxDTkdu dmxoYWw2IVUqYzxZOVBDND4pQ0tBMig9ZzUmekRKdlZxWG9+ZG8oTDJ0Syo5RW8laT9ydElKZ2xm aQ0KPiB6O2QtYzNDWihNcStJWFJXan0tOVNpe19WLV5WMXEyZEMwRDJhSXtRZmFxKUA5bnNoTkZJ dTlpSEs5SGt3LWA5WVYNCj4gejB3SXRWcUpWVVJlPkdUbnExJk4jYWMmT3pfcFp4cU1FZzRCSWt4 Rjg0ak89V2wxUjw2dEpSeShXOWJZcA0KPiBiV3g2bQ0KPiB6cGRAcnI2bHxDRlZ6a1NOUmglbW1I SD8kX1NmaXM1O2k3Yy0jQ3RyMyEpfGR0WDZqbEpJc0YzZFh4T3t9ZSNLP24NCj4gej1ye2pUWX1A ZWstNHNOaighUnArVmxNP1ZGU0o+MVlZeVlkMWokMFpnJEMhRnA8ejBqNFhoSnBfIyEreUVmazBV DQo+IHpVe0BBJHJoXysyS3VHOXUhdUolMTkmOUdTdT5jJjRhX0VwS0VJe24yQnV0fmJPRGNLfXBW R2BsU3RqelZyVg0KPiB9RUQNCj4geipVbk4tDQo+ID5XZ3RpQU8qK05lbVhHUTJyWm4xSzZUfjtF dn5lWlcrZGJncmhVYm4xfnc8bzEyJlNJMnJHcVZAMUg5DQo+ID0NCj4gek5nKz9GRCVpODs+RVQy aE1XKnQ+ZF9aaV9iXlNBZ2Q0X18lJFBPVXtiVXEtDQo+ICZYclpNPmYpZzwrPHY1ZCZ0dW5CTg0K PiB6Q1dKa1c2OEVJJkZSN1VvM0RIJGpwQGE7KlN+aTwlQCg5Zk5iflVAP2E1XmslNmlsaiRxPypZ STs2QnVpcmYNCj4gP1dEDQo+IHpGUkVsYyg3aEUqO3N9QSowWik0I0kmfTlscjg2T31fZktEZHBR UXlHdFJkKExuU0V7SHtuXzxyN2BOb0RgYHM+eA0KPiB6P3RXJkdoVGsjKEptZFBvZ2EyeD8pRFRS K0lKV2c8MVRWdHRkbDtVamktDQo+IGF4QFB2NXh+SlFvQGo7Tm5QS05fd19yDQo+IHoyV1M+IXsx SW9UT18qKGRtWmctO0dQSjEwd0RfVz43a347RklMWm9NRVckaTFsbk04IXp2bDtFeEMtDQo+IG94 Y3t4KUINCj4gek9BJW9ITEhJODVqdE5xalREaVgqalRFP3NOJmRARnsmemAxdnZVSEJ7VGdHdDB5 akFvbX1naHVCZWh0RVh2DQo+IGc/Xg0KPiB6Z1khbTZvVzlfLQ0KPiBiZSs8fXZDPUw+JjNUWXtY RzZhT3xNMChJeGlYQ1E3NHF0ciMxRnUqMjIpP2R4OXxkaXszXk83DQo+IHo3YE9oLQ0KPiBXKDBO QEt3WmNTN2NzVFFOflIwNW9ldEN7dT5NOE5CIVlZI0lFMlJ6Sl9zNk1CNlkoSFgxWCl7NXwpblgN Cj4gelBVcnFGKHFEPH5DOFpNYE87MVBBQSNPbVgrJnB6PFRGVSY2ZXdYdG8tDQo+IEhYKW1nQ0Ao fXFqWipKeStzUzlhJWh4cg0KPiB6JiNsWW0wbVVrSGtCLUNTM2tPMWZpVDs0eCNaRWtoXjZuUWYq fnwqdThmTzBKMVEtDQo+IGZiJHpqZFM3ZEtMJTtzOUJ0DQo+IHpFKGZYS08yPSZ+UVV7KitQRmpV dWhlLQ0KPiA8aEsmMll4cjIxMk9zdHBIYVFmTCp0JFRwflU1JGd3YitUVUwrSDRFZXkNCj4gelhX O2xJOzU5THk2MnRzbE4/N290eSs3NVQ4KHsrQz0wK0AkKEI4c2xTT2BNN0VDTzJpZDk8VXtrY204 JUYzO2VlDQo+IHpoZnxCP2V6RS0NCj4gVT5CUypqY1EyN0p5fkY5JHZWKnU9RU84fjYrSlJqZkVD bE9nJT1MelFLRX5ia1pxIXprcUI1KlENCj4geiN6Sll0KVp4PWhnWGhEdEJqM1F1bzt+TjRgZnc+ NkV6O340aSVkKSZGKURCfnBzYzFSRyNNcHs9ZDY2SkBVIw0KPiBhSQ0KPiB6dXtuYGZ1e3B0Z1Rg MERiSlNFZHFtWEZDbnE3RT8qbmhTITw5NWYjYUB9eFdOWTRDPG1LTmBIPmZlOGh4OWgNCj4gZW90 DQo+IHo0Pj5VUjFhSHhKRjk9PS1MKEtmfXNmVTZTYihKMHNVWnl7VmYqMHlmRD1eMkIrVFA9Zns4 PXkmYGhgeXxWM2lEXg0KPiB6OXR1dSNhKF5Aayl2YlhFS2BQaVZEP25IcSVYPiZ6OEFEa152N3hz eXkyLQ0KPiB9cThYRl47JnckOUc7M1lPakFVbytWDQo+IHp4cmw4N2F9akY9MnktfE5se0Z2d2oy Qk0qc0ViSGheWTlvMC1yeTQ5eWAjOSs+QHAxbHQ4M2ZiMkx7Yz5fR2lmaw0KPiB6Mms0OzAwanQx fCpUJlNyRllzR15YRUFLVj9mVzRqX25oa015U3BgVkUzVUYpaXtVeW1NQ2l+YUMkIWlKWkUhKj4N Cj4gem9YYCN2IWp6Pmw3TXFWWkhVM2lRSTNwViFrVUEkYytiUVM/QyQwZUB7JWVoRmFZOCR0Jj8r YWklTCVQVmgpDQo+IEFZWA0KPiB6dSg3R2dJTlpjMWpxNkxyLUQ2O0FIbCowai0NCj4gXmRuaipB RGgoZHBxMWYmUVlLRWVvN3NpZik4diZCRlJQVipkcG0jDQo+IHpCVkp5T2ZgNnV0I2kqa3RrJXto YGd+eXxqOCZKRnpsVj1yTk13SSZeQmdwO3xVI1RZbE9pTT8mbjQ3RGlzPztidQ0KPiB6P2hIPCMj aEoyTjRiZ0doTCEoTGltdDh0LQ0KPiBudj0lSmZfR3M7Z0VJI0Y2JVVGcmhUUHM3ZVVVb1EkdTh7 KWxaIytyDQo+IHpPNTA/fDVkJXxOZ08xWX1OUFZpKjtzRygzWiFxQW1VPVV9aHBCcVA8aGAxTkFZ JXlaWEZ5KHw1WERBdmsNCj4gbThScDkNCj4gek97Y3YmKGtIMFhiVHxHV3Q/NHg2OVFFQzh1QkxP fmI8PkdeJEc1Jn5ubDN4Tj17fD4xKDI2aUpHM19TSk0NCj4gY25gMg0KPiB6ODt3bThSUU16K152 UXx3Q2Y5fF41QzEoNDYlOUVAVUVvSD1mIUM7clhWMV5yc0NkIypgN09wTEU1Z1hjaw0KPiBLd19y DQo+IHpIOFBLN2xRPlcjTmVebWAqbktBSHZ0a1QkaWxfcmtlOWlSNT94eW9JZEMzVGsyc2cyI0tz fVZXVTI8JFJvdQ0KPiB4SFcNCj4gelp0fStVZFFSTkVQQUp0NCYraHFGb1Noa2FQPTlZOTFeUVNP JEw+T2p4VGNVbHZoS3dCLQ0KPiBkdFhmYHBrN2lTbkJGcQ0KPiB6fDVMcDlvKU9zYXNwM0A9T29I Jn42PkJme0pyantVb14wSVJodk5nc2ViTHhHVT5kUiFlfXooVWhHNXshTEx6KQ0KPiBWDQo+IHor PGN4RFZgWTYkWnVBflN5MWwyZnFqNSVyb0F8XlU8fGleTjtpTGZ1KzZsZ2ZFcUsqKj5rSGptSjFp RWIjS0hzdw0KPiB6R2woNlZXaHhQQVVOZzsjRiZkTmtAYWdmUDU+MFNTe3NaTWh4WGckfW4oLUM+ KHszVipmS3FHKkA7US0NCj4gfUNQNyNpDQo+IHowdEJ3WTdaZkJwVih0IUNhPH1WKHhhJSYwKDJC NCRuYyhKe3ZoPU1AO2lmSjQ7OH1IZjhhezxPZGNrVXhKUCFvMQ0KPiB6T0otDQo+IFFlQihjJVJM P0h2OFdOe0NMcWJFP35WKTBoK3ZQKTJFJFRfTU1hP3N3bE8yS091WEQoeyh3QHEqQk1UDQo+IHNz IQ0KPiB6YFFBbGphWWlPeWZTQ0BpbyZAJH5ha0FUKjV0ZFhuOG1ZdSorKDgjKFkmNkM8RTZ5aXdY aGUpMCFfc1hCPEANCj4gQ1J5DQo+IHpJeWtHMWRkPnhlVH5DSWtvLQ0KPiB1fV52R0d6KkszVUoq P05aTkF5WHlKY3pvcGV2TChXbU56dnJyXzFGITRKVCt9emUNCj4gelckTXwzYSROUUZOaih7dmNw ViZWTnEzN3pXK01YNGh2IWg9bS1rTV9oWnRYQS0NCj4gIyklPHJzPWlOPV5NcmZwNUx6QA0KPiB6 XlhnbStzYWhsVUlCVWtBd2hRNkAtDQo+IDFuc1B0IW5pYk9jMDw4PCRaOFpmKGtLX0JVbzhAdEpX RWE0V0s9amd7aDd5DQo+IHpuZ2VLaihGPiVMOEYhek5WJGNqRVl5WX5DJXlOPEppTEdmUUJjTFpW TS0NCj4gQFcySWpySHBZbXpZK3djdjM+dlRvS0sNCj4genw0YmNANl9QYT1uYj10aHRtQmpqPXl1 LQ0KPiA5YnNgUmApTmQmJFQ1PVBPKk5fQjNAUGYyKW9GUUNkaGJKenNWPm0qZw0KPiB6V3lTYzYj eUN4SlBofmlQO2xDNlM2RWBENkJXUi1XUy1gLUdASlNjJkk/JSt8e049ZHFrXnZtT3ljZi0NCj4g ZHFuRVNyDQo+IHpnTnQyfUJYNz0tDQo+IEt5bnN0V0BXX2x5cU9nTmN3PnI3IzZlcyFEaVB5IWxE cztnWnhUVjg+cUs2aUQ2eEgjZ0hyaFANCj4geil4T0MwRn5oZm9gOSgwaCNybzw5PjQ7S1UmQlQ1 OW8tUlVxelg+Rjg7VzktDQo+IENYSFd4KmtvVkRKIWNGe3FFKWkwVw0KPiB6TzUwdEZWSWd+akE+ MSpGUnRoKXEkKnh0YnlIPk17UGE0cE5UcH5uNiZRV2hjTE82V2x6LQ0KPiB2QlhGNiEyQThiMFls DQo+IHpJczlrJVdFYkBDUiltcD5NKXNnTXV9X0gqekN8T3E7JlYhYkBYZDx6c1lRcS0NCj4gMWxp az45b35+ZUlxZURndHIhI1QNCj4gekopWWcja2pFJWlTNypLVk1Ee3hBNXsoVW8ya155IylYZl4q bjBFLQ0KPiBWaTYxaDdhRGRJUHV3RUEya1VefVdrZU5hcw0KPiB6XkF8UXN6VExadUtzSGNxKTMy cD57bkFDWGtMbyNzdUAtDQo+IDB8QWJaelNrVCh3MTlDJUdOPUF3cHQhJShkZ3dSS1QjDQo+IHom SDFEbkJOTnImX1FiNUtGJjMzTDJ3RHc9RWtIMERETF9INzdAdCpZbjRDJjY5MlJhT3BMdGVhWUk4 DQo+IEcyUUw/TmgNCj4genswRDBtYE5oPikoKE45ODk+P0BWKnUtDQo+IFh5WSVASUNiYHxeV1Zy R01YaU1ARHJoSSs5MHpveE1gb2Jqb3NKfkRfaQ0KPiB6Ty1OKDJ4UXY5NVctdFc1SUckcDBFKTZV aHN6dWVHOFlNTjBeRHxqb1FwLQ0KPiBwYDl5aXk+OzM9Y3pSOFlvZGFmWFNaDQo+IHo2PXhfSyZq JlRhTz89OElzVD1FRVM3VUE2b1d8bEJhKmk0WE4jYF97MUZzdikhXlpsPU0kPWRkPCt2S19hNlQN Cj4gSzANCj4gemsle2tAMEZNfjRGTyVeUXFoeT9LKGZBR2MzPko/eEBHWmhPJTxTPXUzWT4tDQo+ IGw+eEs2Uz55Z0RIT2JEKVRaNGo7KA0KPiB6N01IQlNfSWhNISs/WGRVWmJORlI2a1ZUX1ZzVUJv WVRZQW5XeDIpOzhOQGI5em99TD95cSg3NHhnWi0NCj4gQGVETSlzDQo+IHpAelhBPEoqPypsSGo1 TEdFWiZaTz9ALQ0KPiBOdypIbUxKPmhpQX1zK35rX1R+enpGazVwcjE7ISR2Uzs/cXxPaWB6QXsN Cj4gekhzJVM3JEdzPmg3VThvfVU1UF9wQjFGa3k7VT9rRCl0STYmejw9YXRoV3Ftfjt9UlllVT5H PFdEYGYtDQo+IDNgMyUxfg0KPiB6MmtSSUhuKXNhVGA/NzRYTkJINzx2YXZ5aWpAVilqOXBZSSMr X09qeTM1bThoUzlkUiptKDBpRHB2TWNKSjtkTw0KPiBvDQo+IHo5PWx4UEZKdy0wLXxrSko1KTkr ZTVAbSE+LTJpbX1jZzhYP2orLSZZUSlpRGNpQX1DbFEkaUQrUk0rRld1az0oQw0KPiB6YHFxLQ0K PiBDU1hUMExjMG1oKkglayZza3tga3J2TyliKD10bTREUGBLQ3RhdSpEYyFmdzwoKmZ4QH0mNzM2 SFcxPXMkDQo+IHowNyo8bk9DLW5IVnhgenI4bis+e3s1Oy1BWXBUNWdzdDw/V2xSIS0NCj4gPyZT Jl98SkVBKCEjTWhnQlU7ZktEJTN7OE4NCj4gei1kJnBCeUdVPUxYWj92JTxjYUljYFdJbUVKV2ZU SHVpPGAocXQtfF54ZjF7RXY5fkJqIUJtUiNXPy0NCj4gOXptPiVHSg0KPiB6MD9zYzB6XlNaZm0w UEd4MU9+UUhWVkRfTjVyKDE+NC0kcihfPl4lfGNhSTxDcSF6ayFId2x+RC0NCj4gOXRtcFE5cHlz DQo+IHphSnEqQlpebGhfa0woU21kdnVeMnt4anB8cyQ2eXRNa1hyM3hYdm5xYHl6VEMtDQo+IGNN U3ZKfUdHZFlDc1Q0KyojN1gNCj4geks+a2Y+az9DYU1OUSlzIWtSZGY3X0cwbDFYfGR0M05RPEFr JFQzfHsyVylaPmtrYURjQXEqVUhJUGpWciV0DQo+IGdIbQ0KPiB6JVFIK3JTfGk4TyQ/P2M9bDdv P25KRmJBVmMlflRBVnY+V1BCUTFKUlAlT2V7cko1I1pPNitEfGh9al5UdQ0KPiBQUStRDQo+IHo2 UzRSYDJ2XjQ8VHd6ekx3YX5lODw2UVZCKyQzQlNnamB2SHVqR2l0Ulk7VEtEVlJPMCU/RTZyPlBC SU1eMy0NCj4gQD4NCj4geloxV1Z1JFBDVExQJkQzIWd5QU1XVHxEKW9pLTxrKEdAakNzYkpWQiop a1E9SC0NCj4gbztacFZ9XilGUUkzbkpDYytaTA0KPiB6aVpDK0tKSDlfcCp+fTgmQk8/UHhBWClC IyYwNigqaTFwQm1LSmJ+STx1fFUra3JCdi0NCj4gKVNXY2lQPyNFbE0xdDUkDQo+IHo4SF8tKFlE NU9PcWBldkJ0eTJHfihzLSY5XlotDQo+IHdKSEJUTE9rdDNuVVV6P3swTlM+PHhudXtDYHllMD44 UUNycz0NCj4gemE8ciREPDY+Qi1TUEAxaC0NCj4gbnR4KFRzdWExJTB8I3lwQ2Nuc09yZkF5b0tN KHUkeXBFYjZxfGpXSlIyaXFyZEh1NA0KPiB6KGtLPz1kbztFTylrX3AyUT00LQ0KPiB4NV4zfXFv ZHF1Uk1HZ3NnTWpjUVg2JDM0c2FUcGZIaTcqdDZiUmMyNGlCQXtmDQo+IHpedGRTWHRSOGMxTkA+ VkJZOWVIZilCN0JGN3ZuNnE0NWl2b2oqRF5MOSFnM3ZHViRFRnspfVV7eT9nNENFe3czDQo+IDUN Cj4gel4tbHw8RVRed0shZjUzbSgtDQo+IGBMJT1tRXk1WVpHREE+bXRXYWJRc3J+aEphKzhpQClr M2hYYiQ0IUNYe2VvZ3Y0ZQ0KPiB6YmFIZUlBdnFZQypma2M2YktQaD9idXJAQjVrXk4qUCVPZUgp Xy0NCj4gIWsxRzk2c0lfX0V+NHNmeShsaD44bXZ8QkZSDQo+IHpRVigwOUlOOFJFQEw4IXx7eEM1 PkQjfEdnP3N7bEcmUVRVZEVwYUE+ZDBTTVZielooX0dhZko1Y2VxQzwoDQo+IFdfP1INCj4genFs dXslXmRKZEdNJm0zZEB0STU1JnBEaD1rZkhae1hHWHhtVH5OPy1GSVpmKk1uLQ0KPiBHZXRpfEx1 JlVzY2UmS09KTA0KPiB6cW1lZUx0KkZwSzdzVih6S2xffWlsNX4mMyp1TXlRKnpDYCt1eiNHUFgj OVpXJCl9NmBaLUZBdS0NCj4gWTttQFcyKCptDQo+IHo4Z2g9aDNTIVk9ZStTO2h7d28/eWRtbGhL RjgxJXJXX3ZSLQ0KPiAoUTtYVF9XIz4qUWBwfkBEKnI+ZG5SVHxAZUMraSENCj4gel9IT3xfUXRX QDVpeVNgJXBTIyRmZk1vd3M1UWAydTlDI1B8S2xFaW9qK1MoQzlNMiotDQo+IDdAN0RQcSs4PHBp LXJCfA0KPiB6OGFpXmI4M28xU2R7KFBSPG4pTm1zaFlWc2FTTl5wSDwxeD1pTV5HI28lfUNpR3NV LS0NCj4gXm9NQnQ1VkM7Pzt4aV5wDQo+IHpnQGRSUGZaNCtzT0ZzTGElRVplXkRASXM0PGQ7RDVk SHVDU0dDRikoR2tOa015V0hWaHJRNFk8THxtDQo+IGU9YmB9JHQNCj4geiFaWmd7RTVsYlkxKERD JUUoRWh1IWN4O0swVGQ9Kk9RYVVqbkRuUmZpfjBgJTU2RFJ0UVVpJHg5UmRuS1ZZPzQNCj4gNw0K PiB6dGNMKUdxTEpNIXdUVnd4QUJlZ2RlVUZ8NCpuTDFsJlFUS30od3Moajs5WSRuNyVgM0JqQjtG a3BjNiolUiltDQo+IHA+DQo+IHpXe0E2Z2JVeW4zWGI0IT1rPTYleGZnWShvNU9hfl5NfHV1bWxZ QFpsMH5iYko8WiQzIWVjKkVxaDglbSsNCj4gJD9ATUYNCj4gemw3bz9ucEYmKEZDZ1RWYTZnMExs YUU1QExDQDI9OzZaYyZ7IUBOd1p0NiNrRzBxenBATVNnJjBvJEA/WQ0KPiA7YHp3VQ0KPiB6WmZ9 T1Eld3M0VGUqIXMjb0FfalZILQ0KPiAyNWx4Tm9eQ2N0e1czYl9GJSQ5Q2FmXm4kekE2eXNqV35R NEx7SiFRQ2p3DQo+IHopIXd+KkFFMUphT3RnKGMxdUZfVWhJM0V8QTF7VXRUYiEpQiY9T18hIWV9 UFdwVHJucmk1QHNRKGx2TCEwNGNUcA0KPiB6bXo2VUw+dV9eJXFwMGFqcDNqJXQwfUlDcllfaFpm KmtRNyM8Yn1nKWBpZDxWPS0NCj4gQ3V3U1d9RmxYbmNvSWo4OWgmDQo+IHpYPzlXVVRZN1oyRFcp T2tzNFBmNWhoaCVBdEF8djcoTkpzYCU1aFFiQW5kJVgycVAyVWcrejNDVmVrbg0KPiB4PGxqRiUN Cj4genE0dTZWRm5zI0koPmxkPWtOYFo+Xl4pKyszb1ooNTB7NlFIMV9IOEVXUEhnKjBTOGBGZlZy czNkUDlNbz1ADQo+IGRCZA0KPiB6MFYlLQ0KPiA5I0FlOTYjS2prSUozfVZKQjNgazclcUVuejZz SE92Wmc/Pk9vSUpeIWpZMjA+PGZzYFI8T0c4TigjUkxxDQo+IHpZbUU9bXVRNXM9PUF+bnxBJldK aTQ3fHFiP098MGpePm4wdS0NCj4gK2Y0MnQ9N00ralNYZjBHfjZWK3NLSGBPVWhWbDQNCj4gek9S Qz5YXy1Lcm5hYCVzTSUtZiNCPDlKeT9jcHEkPlZQMEVjJkYtLQ0KPiAoZCF3O1VwajxTKjhQQ0s7 TklqNXAhMyhOTA0KPiB6RXMhVX0kUCNWT1AmQmR1M0J5ZiV4PiRBOChBMCRIWjlOaih0ZzBkQnND eXVzOTlESlVVOTk/cHdXZ3QtDQo+IEtzaGN9DQo+IHp5e3dsRiNtS312NUx7OzhEbVhVS3BxWFR9 dEwmeGp2Sz9rfjJLa01eOGU3Yikwak1HWUQ8WTkrKFoqO3RqPWMNCj4gWHQNCj4gelUhXjQqTFh9 IXdTN25zWCkkbENeYXdDPyphOCljJHg+aiReam5TYjAzcGJPaXZ0aS1iR1ROUjgqTVckXllpKyl7 DQo+IHohVzhnJURMe3QlPmE5aFJfX2tESFNQR2ZfPklYd04rQTFieTZ1USEremZMMWE5NGY4NjAl VEM3S0RmeSMtDQo+IEsoYzANCj4genFBdDU4R31mNk0zKUBnWT5oSUtScl9KU3UtDQo+IE9rMjxf P0puKzJSPXVoK09uQFR2S3kmfjBUdUJkPVh6fkdvTXVJZQ0KPiB6M35scCtDWCglRytXJVpCdX1s cCRxQHk+aExwV0h4S2U4RnxySXJ7OWdgMkF5QmozUyRZaChrUz1zbGp+KXcmDQo+ID1ODQo+IHpN ck01PkRJdyFvOHxYRnhYNzMpenMoQE5iVSZBOz0rcjhwYW5jREFvJUc5dDk/U3tQQEpRTUU/KGpU KEgNCj4gZTBHMGUNCj4gejc/PVFZaE5BSHg1ezhAamJvR1ojRX1uYyVrSUhzYCgyJl53ZzxOdl9n OUdwQzU4czVYd3JIMWpwZDQzIQ0KPiBAU1MzUg0KPiB6VX1XTlQkU2h+djVvTWJfclZsUjF2eCZQ c3tydytLQFV4dV45TDMxdnVhTWBRLQ0KPiBLV0slMmpxQ3F1U0FZLWM5RWteDQo+IHprS3J+czJ1 THxUdDxGVWIyVlJxZHh2MGkzNzs8YitDeEBxcDxYfmk/e2R7bV5SVVgqbkl0TXxnPz1NMEB1DQo+ IHtmWEENCj4gej5JclQ2NnBnc3J7dUZyR0VGYEhQQUJiZl8xMCktYVdqc0wwVypMU3glUDxzOzJZ XkpsaUJBe0g+fmhpUTJ8YTR0DQo+IHpHfTRnUnxBdkhnU2pLXk92Q00rVTQyYHkrOTJkKFJgenZZ MCRpJlcofDJXRylKTW1BbU9wZW5jNCRDYg0KPiAzTyZaSEENCj4gejA2b0FtXkVKIXRjOUcqZGRJ LTE0S3xyJDFrVG91SElQalZyJXRoNiNIMDBRdlBMM0RmQns+K0cqb3ZsM2pEZS0lDQo+IHpLckF5 SzE7eWZnUjshaSYjaz9SOFRgYVI3Vm8wK0w+Pl87KXBHRFdRWFB4RH5oTzFwN1hSSWpHM1V3YTdY UA0KPiBYflMNCj4geiVTVWVgbztfcGk/TjBGISFAQCVtaE42KnNmbU9KUFBadGxwP0lLekw5bStM ZCh2V2wxVk1yQitoYTdrcA0KPiA0OzhPNA0KPiB6TUI5ezN2YHlWNDhZMl5uZUVvVW9aPiFiVjdv MXNVemEyck5mWVk9KV9sfV5eU34rVTlhbGNPRXA/ZzNOQFENCj4gfjVSDQo+IHp6VCthdEMtbSZY PHs8KS0NCj4gaHhTM0xJT0s1UEg5MTVkSjk0PXAkSHNKV01CZ0RmN0A0P2wxYkZEVDtEekxrUDdS JGsNCj4geilqU2pnRDtZZDFScEMjQ2h0NnZNMzJCQHt5O0V8aGhKNVBwPGRoeTRyIWNJZzRNVlYz TClxYWJLMyR5UjEtaUJkDQo+IHo+TmZOdjdwR3sqSXFDLQ0KPiB4Q0p0I0ZjbyhQcUhEcE0kQSlQ ZTtAKXdlWmslPGApI3tjTDVDN2trNDRwME1WP3Q5PmQNCj4geiM1Ris4MXdCJW5sSXRTSndYNCZ9 S3xwZktDSX1PVTkxZ3NUUXtEJn5hOyM0JCN7KypSSVQpRmtrXyU0UmlDSTUNCj4gNQ0KPiB6I2pj PzxLK1ElJHV7ZlhBRCowcFBtRj9AX3tfYGtlTD9JUTF6dEBLR0YyKSVudnpxX1ozRGYwRTRAZiVE DQo+IEd7NCkkDQo+IHpINEpPNlZGOyM1eiQ0dG1yO0JTUXhYOSR5KC0NCj4gWFR4WH47UzFeQUh+ bm5IK2MqKkVCQ1JXTkooJik2XzFLaUlJdDENCj4geiRtOVB7eE10dDQoenZEXl5oan5kUlc1Unoo bkdJSjRnISpFSl9HVUxraSZzQGFtYFBjNzstZUVsakV3bE5lKUlQDQo+IHpKfiQ2dF5CN3RfZEh2 YTNiMU1wcCNyY0ZraTY/fD4oaT94UWkkXlhLPiNuYjh1cW5AKktgN1JNKVFNQXJGaQ0KPiBEcS0N Cj4gek5mXzJsIWNhNm02JHhQc2tFZUBDWmdXeFBidioqeFJNQylnKVpBcSpzeU9nMkNpKFd+NE9R eVdzZEItDQo+IGVORUpwVg0KPiB6LWFzK2BwREBYSDR5N140NFdMSmdOJDRCRm1iQzQ5WV8tDQo+ IFdqS3IrZDYydlViaDlDI08jdFkyKSV1X35QJCo+OH4/DQo+IHpqNyVLR1NlS3xsVGYtDQo+ICpz RVlWVm1mP3t6I3RKUWBkM1hgT196T2oldlE2OVdBKyhkVHB0aTVkJlkoK1dRQGhuQS0NCj4gejQ3 XyZ+Y0Mre21BSTh4ZklMYnlhOGU0XkB2LQ0KPiBTY0Q4NTRebG9rVDxGV05FTWBKYXQmYVBJT0pV YWd9VjBTO0QlQQ0KPiB6V3RAT29MclQhRSMoYylEVlZQaEghdVBaZCRHezJ+byN9QUY2UUBqTkJ9 bz5KI1hwWXFxUF4mKTt6VGQrPQ0KPiBgJkt5DQo+IHphdzUlWnY4V15wIXZ6SWohI1g1YG1KeSl6 Zip2ODdTcDVeQ04/clkxYUFSfDZHX29HQURJaUcrTyN5KV9Sbg0KPiBGejANCj4gemtFV1pjNmBg bEMhSlpXWlN1cms7cVl+RTNAXnpBM0JXeFNFejhCT09OUEdseWR0SEdOdipXO0p5NTVIcV4NCj4g Kio2Jg0KPiB6eSNyVW8hUH4tDQo+IDMxbzZQX2lsaCpRS3h5I0dlbVUhcGAhbGZ1QyVFSiMwa1FR THF5TzIha3cqV3RWRkA/VT0pbUtQDQo+IHpUIVI7OT5LcHUmdCpMO3FGYj1gJU1nMjlKX0s1TXxL MzZrX1chUFUhVHdqZ0dndHY+MSlNPC0NCj4gVFUjPDhpNmo+c2gNCj4gemU8Z0ExMXo/fmZHIzdQ bU17YTB6RUpwS1E3YHVCeGQ0OCpgRW1uX1gpV3pfaF9LbTQ9bCF6KmFEeiNlISoNCj4gZ2U0dQ0K PiB6Kzg4OVcyaDZmbWVNcU1XSHw7PE1TVE1lVnN1P28tDQo+IHpIJCZSdCZzd2hqc1IlRzdLejN0 NT52ckY4WHFyTSVRTUVPDQo+IHpHJW9gKnU4dU5Nb1p0KHNPbDt1KTNHeDwzQV5mU1Q5VEpOZDtS YEg2aXQkc2E5eXVhKWdNfXF0RWgkOEhsJGJvKw0KPiB6QnNrRlVvNTB3KihxfSlvSSFzPlN2Vl51 YHswPT5xV1VjLUtpJDJnUkBrenBzYj1pNHFeZyZ0SHM4WkV5SUNJRWkNCj4gejYmT218MFkwS2Vy KUFEfHM2c284d0JmWjxeQWY1KThMVTxwd05kSG1PJnVDWlQqa3B5UEV2Uyt1emV+DQo+ID1zfUFN Zg0KPiB6Z0VHU3FSaHxyIXIobn5GUCZBUytiPkA+cGwxREVsaGhQTT9XcEpnUWY3bWl1TChXbDhL a0FhZjQhb0FaJQ0KPiB0ZCkwDQo+IHpIWnBpY3godSMrZ0VFK3JpRndpYCUkfFVyKUp0I2lNVCtw SFJtM3Y2MFM5YmshNmFIWXU0dUh4RSkjbzgtDQo+ICZkMlUNCj4gems5IzR9T3hCNT9NRDx7VGhe THJjT1E0QlFuRU13PjNja1NIZjh3cFFNdzVsbzNIVmhoZlBxVTNhKipsDQo+IGEqU0N4Qw0KPiB6 KkFEJiVmJSVEbmQ0UVA/MGBuMEFRKzV1Ukl9SHEjJSFCMX54cTt6UHxHezhoK29vfVQ9XlFYdDdQ JUYNCj4geF5UbFdmDQo+IHo9O1lXTS12Y35jYCt7Rk9Lb31xKThjMm9fMWl2czhqcFBjeUBKVzh6 ZnxKY1NyZ0VFJFV5QWlxI080PGJgNV9nMw0KPiB6I0trV1R5eWgzP3FLKmEoemJzMVVtJiFrb1Vs XklaR0ohUjlVKmFuYDsldjV9O3NMfVAmRistDQo+IH4kY1ghYCpnYV4kDQo+IHpES0R5LUlFPXYp ejN7SkhlY252JEVYPyUwZ3VsLVdwWHNAMiM3dkpMZT92eWpeZWo3bnJzcnpKbUVyR1Z7Q1Y7Qg0K PiB6UVQqTTlLbGxSQUYjZnpWYkt2Tmt6UGleVSYwUjx7NlRrRUVgKzU5JXZke1QxMTc5OyE1THB9 NjZ3bWJoN3QmDQo+IG9qDQo+IHpZTnFGZjJ7UyNiRX1INHRndCNNIStsY3FJbShLS0RhPlkhflVX N2ppbkUlQUBFQk8xYGpWTm5HI3QwQW9PDQo+IGEwNGENCj4gekZsJDclaj4jREBXR0hZUkZfZj5+ Xk07S1dGPz5Zc2ghSl5yT3E9UVg5Ujh5Q2B3eypRPExfUGsmQUEyDQo+IGojLUhzVg0KPiB6ak9W OWVLWj12WjtwNjImOTgxcClLTCtvNl4hczY0Uz4jOERCXkxgd0hzbWs+cTh+PXokcWxjX19OPS0N Cj4gQlI7YnA8DQo+IHpiJClNU0NlR007YVNafFoyamBwdDErUW9IKH1LSCg7QkZPJXQ4Zl9DVGRD ZkhiMDBgRD9iQGJ+dTFXSXNSYg0KPiBSPEcNCj4gemMtPTUqXjVKUjdjRGUtDQo+IG9TaG4kNGpy KTw7NmwzUUcyVVBNYSpXcVo1eCltTHBYS0p2VWdacXI9YWlGY2d6WEhAUg0KPiB6S1VLZWN5TUEh aDBYSS0NCj4gY2kyNk95dU1FMHZnQzcjUD9GXiUzZSlUIygxYlVuSHJpVVh2VmwpaFlJOHRiX2Bl clF7DQo+IHpkZ3w0NSl1Sjd4KjUwbnJISGpEeSUxbXhgc3paTmNJOXg7MCh5SmY1Z3omfD5xWChC TStXdlVwcEtudXR8OXENCj4gWF4NCj4gekxHRlZMUGhhMUJDKzNVKCs5N0kjVWc0VTw/RG0pUSlv d0ooUilWMkx3KCVEYnpeK2V3IVcpajEtDQo+IF9SK2FKTnNUYw0KPiB6OzB0X3F8SzBjP3YtOHI+ UGA5QTt2a0lJclhuezZrbnFPVzEoZjtNUHY9MmZMVHZkU2JQflpYbSkyNHNTOWhFMmINCj4geitj RXkmQ2hHQCZCPVhZYE9sYHJRTERZVz9RdG03Rzk+eyhMMmF3Z3ZjPGZuPlRsRDtHbUZmKDFxN2JI KSUNCj4gS3NgeQ0KPiB6V0x+KVUpcFhGfSYrfjQrX0EyI2pwOCp9XmZObj8hP1A5TEhue1QzPj4p U15xU018IUpeaDRVd24keTZ4I2wNCj4gT35eDQo+IHpWe25teENoT2JFel92QyMwdztsKjhYWUVe IUlAQT83YE9HJmJ6cUJfd0Q9O0VBPWtzeDg8fDZKNiNRdjFSDQo+IEgrV04NCj4gej5ad0dJZD59 JGNwR0Q0djZSVTh4diF+RDNrZCkkQkZ2a1Rla0RuaVl7Pz0ka29BMFRARl5Hb2slIXNYJTUNCj4g T30heA0KPiB6KSt+QkkkQWBRbns2TUVjKTlWb08xVFZxJGhMWE9KPzxJdS0NCj4gZjg8dSY3c3xe JCteeFlJTGdEbnxiXz8kNE1eQE1ODQo+IHoxJipPV3kwR2trY05LYl9wKUY4JkhKcUo3U084QElq TjNnKV98aU9QKGVIaCU8fHYoUy0NCj4gT2wmZio7UG5oaXQ+O2cNCj4gelA5Jlk9PVN5OyZ5Q2Nt MEpDR2dAKnA5KkFab2U9SkBsNVEpIT1+MmRSdnhLP2peOSRQSn5mRnY7KVBRVnhWDQo+IDtpYg0K PiB6eDhmTWxoUnRePHlKV3ZtSG96SDI7MjdHNVBIa3tXPDhRfGFsY0RkeXp5NEUlJD19QjhPJUMr Z3AjQTYwDQo+IDA1QEkyDQo+IHojM3t6eGZOWTJiWmZ+a29VclN8VjVMQ2Jha19lZWZeKXVOUGh4 bCUqUnVeLQ0KPiB3I1ZmenNBI2FmJSF4Ym0xOzE1JjYNCj4gentyY2lpXnwpVTQ7XnghP1NnKzlr MkB0c145ZyN9YkN5U2B5WmRjTzJOQGRQNlpiN0VtV3coVSlXa3FYUmZVDQo+IEYkIw0KPiB6eGg4 WnpKa0hDeHBoSmtgaXBrJDFCelo3Yk5iKm9+S0o+JDJBbWw1bnRgZU1PNWRJQ0hFP3RGVjRMWUFg WXZFKUkNCj4gemRFPWE5T1MwWEx5K3ZQfD02dzBUI0p2ckNsKlAzX3pJbEBjN0IqPG1TVyUpenQw REBiNzdiezRTdyZeck8NCj4gPn0qIQ0KPiB6XyloNT5kbi0NCj4geTcoU219VHQ9VE1Gc2doZjR0 KDl0VFpFSVVAckhDekhmKW9OeCtkeWVlRXYqNW0mYnEwX253Q2YtDQo+IHpgRisxPFd9YmFFMn5f WHh7cn5mVVhQPWp1SVd1UkBvSD12T25LTzdGUVhfVDI0clR0VShxNEI7aSUhV2NYDQo+ICR1X0gN Cj4gemZqQ1h6fEZXM2FsMiVWR2hfYTJiPD1iPn1vUi0NCj4gViopd01XS0N2c35wSGo2YmpRRGRI enlDKyN5U2dsXmJiYF85RA0KPiB6TldIeVZtO2pAaDIpIzFzSUM+U0xmWVlsd28rV3k5O0V9ZkFt K0NvUzZfWnJMaXk3cjNKY0dhWTRCKVNhSitKKg0KPiBKDQo+IHpiPj8kfDhwQWNZUmE5WE1LUCVW JlAqelNZNip+M2QwO2kmV3V9Jk1HNnFxXigjSCRCRDNFOGkoUXZ7KD4NCj4gYitBREsNCj4gejBe JCs9Uj9zOFN1TmRXTk5QI3BxU3lmVW9ucnNuNyQzUTcxNihoKGd7ZEk0VT5aYn1MXzE5Z0YyZTdn RTc9DQo+IDglLQ0KPiB6XmNudylNR3hYTzFPflI0MTBKNnF6Ozg5KUZYSDxlQnB5Kn56QVE5ZiRt Kn5XNGx6UFhzJSFGVUA+RHtgDQo+ICt1NTFSDQo+IHp8NWI0KWpEPCopQlk8Sy03fT1+V1UqKU12 VEBYSHYhNiNGfXZqYDQzJnRPaGBJLQ0KPiBSKXlzaHNibmZAUzgqRGRyMkENCj4genc1eCgxI1cq UmtFeExrN0VEbTU7aF4tKENhI2hmeXpOSElGYkl3RCY4ZWtxai0NCj4gS2FIdzZnMVFMaz89RStZ Kz9fVA0KPiB6K19lTzhiLQ0KPiBKTE9XZ19IY0JKPzU/KFFHUF9vKjNhJHhQM1FqKyhwR2lhKFcz aXhCKG1JWDwjfFk1WTAjaiswc2JNDQo+IHp0TVJEZUkkM2hgWmdoOVc9bmg8JFRxUmY/USEjPz83 VUx2NWxzY3hPaH5GTTAmSE5WTnIzYzRVTlZXJA0KPiB7WjNmOWMNCj4gek9vSHZFZX40Nj4laU5o ITYjTCFnR1U/KGhqb2s9PDBzP0dMMTA/dCpnX0R9Tm9lVEwyQDdndG0zQjNoN0IhDQo+IHlRcQ0K PiB6ej1EPUx3PTNZMWE8aS1XPXFDYGNzR19LeU8mRkBmfERLZCNWV2s7eCQ9LQ0KPiA/KWAmcWpB QjlVej1XJE4qQz9SOTIhDQo+IHpCMnBja0BQZmIqZ3k3UXZXYTw0eXZ0bGoxbTYqPmM8M0k3elQt DQo+IDUlKzJPemRuQG1UYlFBcyl7WUZSZWcmekdFbzcNCj4gemw0TjF5e0k0KnVYJX1SNDFTfjhg UDJuUkI5V28obDVzJEpzbWNIIUg/Zi0jbjEmR1ptQ3RXLQ0KPiBkK2dESnFuZWp7Vg0KPiB6JjVN QD5STnB2Y0VHYDt7dmBAUyZmY2dwJG11bGtzUHJMLSEwTHhQeCFyY3wmRiVLUHw0MiY3YW4wMkxD Yy0NCj4gKnlwDQo+IHoyK0EmS0wzQVc4RDhgS0FWR3BIdUg0UH5VXmJ7Wig3aCkhcjdEZVp4RjNh fW5jM3UoTi0NCj4gYThGcDlZMTxJWW8obz8NCj4gend3O3lJUFJRI3gwaXlGazlHbFk8T0FqSVor cCMyQXdvZ08zR1BhfDRJPyhzZ3A9Zkw+M3FAbTdOdSlaVXYNCj4gWm8rZQ0KPiB6Q0p+XiNkQ35J YDB4dXlIbmhjYzdxO2BmfSYlVSNYMVhCPjBAQz9aVlpCQzNKP0BNbldES1pifkBVVg0KPiBHRUlB RkRaDQo+IHpLXkpJTmRwPXBNaEAqJk5yPUFjITZqPCU4elpPPUQwOTFHRzVfcUdUR2E9WGUlVTFL RCRUUjJrcUcNCj4geCFBQldgaH0NCj4genJjUTEkPENhYjNZa3BybUhZc19RejBEX2BmMz43OyU2 bXA/JF85e0stDQo+ICpSKHlyS0FAQ0xlRlBoPnFII0kob3RuJg0KPiB6NG1ufXA2fnUwRWljZHYw cGVaO2xDVm5nREM+dl5NaUpheH4ta2h2biFsYUJtRD42UFpzfk9pejR0KnJrdVlsY30NCj4gemEq Mlk2MGdMbXNWV2BBbmoofk5UbnFVWGQ4XjsrZU85e198RERub2RGQmRTPE9pK3Y1Zk9TZEBuMz5n JQ0KPiA+cyl9Wg0KPiB6MGJzNjA1bUNBZWs+eFFLNyZyNXc2TTN2Z211SkNmYislS011SVpgQmZG d2c2RHBAPnE4R19CO1VITA0KPiBkcVpmUXJ+DQo+IHpOKSlobXtHdnBOQzN8b3ZGS2F3ZypaNUxm PEltb2JnRFJ3JXB0aiFWTFh9UmJZc30yNSlMcjltZ1orYjttDQo+IFFMQ1cNCj4gei05Ul57M2sw RzJKa2BIVm0rNGMqVihQTGRPb0hsPUA+TX1pZzl2amloKENHNFgwKHopRFJGcC0NCj4gJH08ZTNy VEdJZQ0KPiB6NDAqOWg3eyghez9iSGxvbFE0YCFzaE41Mk58e3g4OStiSTBHX1h1VCtZKkRlQz9H Q3RIZFQhNjA7bGJndnRrSEUNCj4gek0/TXtkWExQIUZCTnEwWntkaSooUVRAQT9aQzs4aEZxQ0Ur SWlkdkVHKUw1QURqNnx3QWR+bzQja3lsZE9ODQo+IDdCJA0KPiB6Q0J6PVZTb0NAXktvSkVuRj5N U2NMKEZWMFJRJktXZ1B7VXA8VWtYPjxZJGF7KT1OSFRCZ0tLT25XKA0KPiBhO0ZHSik3DQo+IHpS a0NEN01iKCVrYEktSD9CTHFiWHBBJUp4d2FaRXxiWWtWMGFmSjwxNEpjODN3dkd0V29nN3hCSzhJ LQ0KPiBeRj5XblMNCj4gekN2eXZOd00+RFpGXmRAcFQyJiZFNmFaQlMrVG1xOG07aGIrbXJvQ0Qy WnFAY0N2VHo2VFBTJTghNQ0KPiA1IyUoaVByTw0KPiB6d1c3OUZtWFpEXkg5MzRtXz0jOGoxI152 IXVncDJNaktpRVVKWFB8YVR2Q0N9PSVCM3A9I0IhOHs4Yz1jaA0KPiBSMDRjDQo+IHoqJUMwUStK ejAyTTwoemxVbG4xUHk3JipHYEhmZmlmV3VmQENZVEZUTW9NXkxYNyRSfFN2RyhAU1lodyMNCj4g UEI2cC0NCj4gekJMMyZGI0tYWF5DczxGLWNuZCN7MG8pKHtkbDxHM2U0UjQjMTtTQCRIRGR0JHU4 I3A8WTR7Z2ZfKGctanpzQyg8DQo+IHpyO019YEp+T0xWc3s2Tko5Ul99XnZxUz4kZitaR3Y/aTxa fSMhNXV3VUohV35gPHEwcnFiVVkzQ005U3M3fmhJDQo+IE4NCj4gejIjemtiYi0NCj4gZUFme2Mk dXd7cHdtNWomI2FNRSVIZmJIUCUoZl5jMWpJVEBSMnk7c3Z7P0xQIVM/WEs5RXRFeVE8aw0KPiB6 JGJwRHNLUElSZi00SnozNFV3N0U1NVg/Y2tEQXhoYUU3eS0NCj4gNVRPez9KaG9Pc01ZRlg9P0N2 eFoyNEVMISpafldCDQo+IHpLYHZ+WnZeWlk5OShKYD5yX2B7U1N4dDFvJlF4ajlaXyNvcjNEbDZJ Uyp0PShAT2x9RDgkR34qYXlHQDxkPm9neA0KPiB6YUxEPm8qYmZLQE9AVUV6TEYmVEBMO1IzNDdt Q3RDbFFybWhKcWdfXlpUVT5YYjNjPDErfE1rfEsze2sNCj4gMylzeTs/DQo+IHpHc3tiY0ghVWYt DQo+IEpiNnR5e0E+QHI3SGp0O0BHZ056ZD5kb0dtMWUoPCFNRD1rUDBgWmk/REE2UCN8ZEtaQ0VJ YVYNCj4gempOamo4cnMxQW50fD4zIXlQY1Z4Zjd0bzwmaTNKZGpDU0xEKk1ZZ15XMEVjU1FoTU9j Zn1RdHt0VSRXXnkhUQ0KPiBeTg0KPiB6Sy0NCj4gel9RcFBzWlV4JUQmQUFxUVNOJj5ubHViS31q b1lfe2orVHojRVh4N2IkNm0jdERVc15udmxfO3c1ZFhGcg0KPiB3Vg0KPiB6Nkl1dklmWjRofVFy bnMzS0diRk5xK09yNnxJP1lQck5Ta3wwTHQrN3Q4ZmJ7VD40ZDlOPSQ4d1FRTUtJdCM2DQo+IEBz DQo+IHo5OW4rQHV6X0Q2ZXYzYkl6cGVOIUgjK3NVWUZZRzh0UHxfSDkqIzNHUDBTNTBhWkNxYSM/ ZzlLOUdtcjt1DQo+ICl9fFYNCj4geiRZV1Y/NERwJkxzTjJEQzlDcX1uMnZiSFRAV1JZJEVoWWZ1 KDFkPzNXZWtAJV9EUilXOUo5eSY3OykNCj4gQGtER3EjaQ0KPiB6TmlKWksxSmZBQTRxJTs5MH5U P3QhVlAjRyM8JnMzTD1hbXRUSyZNdXQ/VHg8QjxYKFFyS014UEpPcnkzTQ0KPiA0SndHDQo+IHot DQo+IE1OY1RrUDg/bTd6PiFMUjd2VkdBUGgxQjRuQ25FdmlMXjNlQ29vU3drKndlYGRBZUNJdShW OCN0VnozPyh5DQo+IDw1DQo+IHp6JXhAa0BxS3hWYVZgZHFlbm9QQz5We0JfY05xNm44MWJZQyV2 PkA8Y098TUl3eTxLNTlTKGZKPjNjDQo+IGVrIXN4XzANCj4gel8wSGBebyoxYE43ez1pOGZwQWNr bmhseEZjXkBWQzhZKlVLYDJlLVZrcG8tDQo+IHtCN1NeVlZwZyNUNW9sNnh2VTwkOA0KPiB6bDRX P0cyK0AzIyUoRTVBNWV4N1lZajBHTl5TLUdoXmt9SDBfcztEaUVRR3RJbDlGZiZQLQ0KPiBxZkN5 QF5ESCZgYmpkDQo+IHo8OH41R0ZgQig/U3tjJVM3dSFpdz0rJiRLSmBAJkJHWlhtTFRNIXR4ZEVq d35ncWgxQl51IWo7Xmg4Z0t0aV8NCj4gd2kNCj4gejkzazE3YSZfe3pObzZSdEghKkR7U3t7Mn5y YnB1MUN1aHklRHNaXl5tUXhOO0A5P3UmciZxPEhzPC0NCj4gZlI8JV4lPQ0KPiB6VjV9cF43Z3R9 YUllOylHVkxjOUc7JFNDWllEdnhrNlJfaHZ6NE1SNG42YHM0eSlUVFpSMldsPCE8YWJLJChWZQ0K PiBHDQo+IHpHMlFHUSl4WnglQGlReCs+VmZoaEY9OGNlVjMtDQo+ID1jaVp9VDNCemBUazFydERl PW5HNE91c19VeVZWWTt8WU45KDcNCj4gekpBeXNOREVyMGNmfDtWUTdJVT8pMEIkbjNWTl5xcSVJ RHokLXFFJGs7KEJhdEZ8SjN8OyoxRWQteWdwZ1YrJCZ0DQo+IHpeXmVQUjxFUyl7MSFaX2dOMmtX N0s4QDttNUhDOX5HR1B2YSE7TDw+aWdwWn5uelhIbXBIUDQmZ1Zedw0KPiAxNyFzMFENCj4gej5M aUhBaTN2RWBpfD5WZHdJK2tEdjI7RjhNfS1jeiNRKF84XyN4Y3RVLQ0KPiB4a0RqU015eVNOS1Zl QWJ6VVUlbFlnKA0KPiB6c3lXZEZ4WnUjUHNqa2VFbXg5OH5nUjY8YWtaU0Nva2BySDxOeSNMY1lt JFFFWUV7IWVETU1jVjltWEMNCj4gJmRXT0EjDQo+IHpxWVh4fDdwbH55e2dWPkA0d0lCZ2ZGaWVI JiFhWHpDYThtTWV+K2lPREUkc3ZtKT9zRChDNExEI2FtY0E5DQo+IE18RmENCj4gejIyVUF9YHFm ZFMramNSUzZzMkQjRzZMPCg3Ul8xRjBMfChaazxTOGVreWFUWElGSmp8YStVaCRRK2t3eStZezYw DQo+IHpBYVFLYjk4Y3x1PTQqdWNsSHZCYF5mQDd3cngoJCVoYSY4QmQkTVd7YiZEYk9TeTRBJkJJ JUdOYiQoDQo+IF94NUI5M1UNCj4geik7eHtuM3daazF0VT9eZzZGbSFOOWtBb1hiVDUqYG5zSDhP aGpWQHBLb15BT1RvbXJPbWxvR3c7KyhHWg0KPiBHcHMlag0KPiB6UiZLJE9ndTxzPFZCO3ZoNTAt DQo+IEAlZ2VWJEFmKzxneDtEXlc3RVlnUF5iSGwwI2tYIUpKKV5DQUFLZW5XZUUpZEp2DQo+IHph OEtrSkI0THByTDdmTj07RntRdz4+UVB0b3Q8QkBpNmFyQGtSbnczPHZKNjk3VnJxODBjdzJzOVlr LQ0KPiBLO257KXoNCj4gemY1LQ0KPiBvKUAmQmFIJkplIT9JdjI+Rl9Bbl5PTCl2UldxQnI2e3M2 RWdBO20kKU56YUZvWDJhTU93IWBNJFQrXiQmDQo+IEINCj4gelpAOGlENyY1e2x3Q1UlP0sxbV8h e3RrPntQaThDPFh4NmJPaTk8ZDkpMTNoT2hDeSVwSnNqS25eSjw1dzIpDQo+IEBHWA0KPiB6aztv ZkJ0fEsqUWtTa190QD1ad2glcCZHSSg4SEVPUUdeYl9Tb1RhYi1RTWQ1dzcyYXI/Uy0NCj4gbUB7 ayQjRSE1Pzc+DQo+IHp2ezRDNXBoKj1oO1QzKj5nPSpjeUNBU0pvPSlHa0lHUEclKSpfSXB5Titz Y1E+VE9TdDBOKExZa1ArPHZrKg0KPiBnRFkNCj4gejZ5N0BFQmVsfV8kWj96O0BSMT0hKXd1OzZv cUMrZTBhTCNSRmN+ZG9FUjdeZi0NCj4gR1p+Y0ZgVXxMQSEmTmRmeE1meg0KPiB6VnJXN1JBQDMm cUI1eEIkMk12RSZAfXtjWmxKX09TOVAmbzhpUiR9VHhYOVp7OUJGc1JgLQ0KPiA3UjV5d2V4NWV1 NGNWDQo+IHo3MXpoLQ0KPiAzRnE5T0MrQyFXMF5nKmNodjBtTlVvO35Sakombk9LITdiMF5UM2Bv RDY5JkhCIVdxaT5sYTRQbUtOV04NCj4gekdlKkd+d3BISEJoQT5lUyQ0YEs5JXVSJTBacDRTViVr NzZMYHBgNVNETkQ9bVpWe3xAdWE8TXZpc1QNCj4gJSV6OzJ3UQ0KPiB6N1RrQEshTl81ejt+WHth Pkh3bTRXYD9Qa3oqQitDZSZpfVBYe3FpRnkxRjEqKUIkcT4zWVooPlg9YjJUWikNCj4gTy1jDQo+ IHpQP2cqbEdDezRvQzl2MG1wWTJJWnpnNi09NzFNI2FDczgjUV4yLTNHa25GMyFYQDtqNHwyTzBS Pi0NCj4gaGcye0o7MlMNCj4gempDOzUoPDxvVHV8TENgYnpydVZZdXd5Klh6WCE0aVd3TlRtZXt+ Pyo5fl8yaTRuI1llSXc4JHxBPCp7Zkd4Vg0KPiAlPA0KPiB6Q0ghU0kkdkxGSHtaQztFRT9JJDkw REx1Pl5JcD9qYE5IUWo8b1E8bjlQNkJFNCU8fHBNajRQXyYxbFNaNm9CPQ0KPiBKDQo+IHpVMUZ0 eHNtfXJgP0E1KF43dW8mQyVQe3Yoen0jPVNITylMMVVeR05wQENrLWxJMT87fTN9RHJ1e0NxNHZn QUctDQo+IHcNCj4gemBWWFkkJiM9VkVkWnZmTFJpX1dCeVVmU3VgMD80QyFiMGxQPUh2N0QyPSZZ TGt4Qz9wbD0zbl5OazxTSVlPfg0KPiBgTg0KPiB6REx0ZXtpU2ZTX1hUfDRaRCglSTEkLStVc0tu TmxBVlVNb0xTYC0NCj4gK1kkfTErKiRiT35gdyY1QHR3anJjbUhMMkYlDQo+IHpkdll8ZEkzYzM7 MyMqeUZCRzZOTmR2WEx7UjtpSChyTU5fKEg5NDlldDV2VkFhVXlfRzUxYUw1antWeTZgYXBGDQo+ IFENCj4gellRVXQmaWJJQWsxeWRXTWU4RH1YRldkcWIzPCV9anU/fnp9PEpjamw/Yig8Tz54dXR0 dmtSWVF2IU8/T00NCj4gaCptcg0KPiB6NzJ5LT5DP0tIT3lAbUl9Nmp6TG0kZXVFK2dvLQ0KPiBt YkJkUXA/cGJGNnwjaER3RUJaJVVQVT1RTkpqT0p+JWBpIWtDDQo+IHpJa0JocXNKPHt9Vl98PV9Y Ump2QysxT0soQlkwYi0NCj4gUFBWQz1Wb1JGOU4lVyl2QzApbUFfSDBPYlk9UkIzQl4hN34NCj4g elI8SWF+Tk9LLQ0KPiBfdW1odVhMeDF1bntvMzxJPFFWTiFGajc1QiNzRD9fJiV7MHRoYD16KmU0 KytAKSRjJVVZfGlJNQ0KPiB6NGtoY0BtS35xNSZJIX5WKFhmRVorOWZvUHVtPyUkUXwrO21lWmRG fmtadG9JdEk4NjNFSTYmUmxHUTBBb2cNCj4gX1lIDQo+IHpSYCo9VyZOb1lGUFhTIyVvI1cmOExx bnZgeFVTS3MrNTx2V0UoQlJDWj1CKFJwaV5vSGE9TndPNGRFDQo+ICNjcj83OXsNCj4gekhxSnB5 aXUtRD5UODMrMS0NCj4gJFMrMkB0Qyk4aVolbVlST0gzc3E2PnpEQ0Y5cXk8WUpNfGNFZT81WE5O dUUrNlBCJQ0KPiB6YDFnclJsJD54fjNJdUhpP3sqcnxma3g7UHU1MHdrX0dyWk4lY1JsOUN6VXB1 Mzk0czA4KnZLeTAwYEE3YnRCfCMNCj4gej5ua3RPWHlXKHVBN29OMGsrWkUhPFpTQ1V5cGFqQjRa aj8qX0g2NXUlLQ0KPiBQb0ZXUDg5YSZWPzxPbCpJeUB7U1ZrUg0KPiB6YStiSjtFdkgpbGRhQTM3 N19oPUJSXlReQCF7bkJmZE8rVWNVZl5eKm0+NXBBIXg+Jis8aV5CK2I9clp+PA0KPiBlPWVSDQo+ IHpGfH5OSFJFKEMwV3k5UEN5cygxfFQ/azZZZEgyX2BCJngrdElYc1JOdVA1fC0/RyNUK1VrS0hG NC0NCj4ga0l1WU8jVkENCj4gei19XjxaPD4mRihHeVB0bG5DPzJTYFlVTHVKdSUlQSRtdDY/dWxm dHF2VkVjNT84LQ0KPiBvXjhZT2FHXzBPa2R5Q1cwUw0KPiB6alIhUFRUSXQ2MyZQJEcoQ25eVkVx RWpBVm1CM0F+WWFZKWk/Mld5Uk5VUnVab3IxMVRCKktCcF9paCFQen4NCj4gJk9pDQo+IHpeSG1R KGomQioqKDVZZnooQGJKSm9IR2puaFh4R2klZHYoeDB+ekAtLQ0KPiB1dkB7KH4mPz1ndTQ5RlZi UzlfIVhGdyUNCj4gemk8SDsxOzRwQVh2LX04I19oN0xDZC1VWTY0M3JuXm9TWG18MjYyUUR4di0N Cj4gMENvR2IkJE9jQDZUSkg3QSNoT2xkaQ0KPiB6MD4meyh5QGBRcThBbXA4cX1TbWM3Z1Y/aV5B Zns1JTwxSSZBdURSJDV4TFhfPWpkRUdVPn1wemdLanVaVg0KPiBodSspDQo+IHokZ2VKVCFURyYj a2xsdVp2PFV+bik+Tz93K0p1OSYhRDgyK2dTMWtwWVpERnYhTEsjVEwzUnJWSVZjVzghYSsoDQo+ IEwNCj4gejRxfT9wZnU/ODw1Xjt7YiQzVlV1Z1Z1I0lGcCl7PjErV1JyTTYhdT5RLQ0KPiBxSj9v MkNkSzhJR29hPmpAdHo3Q3hlVg0KPiB6ezRqbHJWPTVNO21YRGxsXyg9QkhkKF98OzckJlk3ZlIj KkE2UXVeNG0xR21eOFZFTzhkWFdwNjMzUUZhDQo+IE8/Q0A2DQo+IHpmI3FQbDkjRHRuQ0orXjIl N2htaVI2dW1RPyMwUSpuNm9EfWd7ckIkMmdqKmFIJDJQOTN8OENYTiF6UEpiXg0KPiA9dz8NCj4g enxIe1ApbWhGJm17fSgqUj1lYlhZaH5ZZUtfYndJQSg/LQ0KPiBxJShtPDwoXk96MkZhaGBjRFRL c1psNCpHPWl7MClyNw0KPiB6PXxDczNNeFN0PVhfR2JqKm4kNUNvSlUmIzQ4SkdeUV88KzhoWWJk THgjMVd4elIjelhDd2RHeU1IRA0KPiBCSSFuIzZ2DQo+IHptQiV7cDcwb3xCJnFBPH17YjtoeFA1 YmMrRjA+IXJMYz0lYiNYVFpFbHQjfHJPfT90dFE/O0VKayFGSkd6I3o5PQ0KPiB6cGhsO1I2ZUdF MFJfQUBuTU5OS3pqcXl7cjlndHtqXlQkT3k2IXgwbz5YWUg+diV9UlYhPEZZQ15kR0pyOUlpDQo+ IGVZDQo+IHp0e3FzWFdycigjO3hYWjBDM35HQHhCXkhjNHdUakJFdXUqcXJBYTUpQ2F1O0p3ezIx dm4+NTFSQiVSVlUzNw0KPiBPUmANCj4gejdyTDQ+MXpiKEVMJXBhRGo7KkNmO1g8NjArM1NETjNz K3xON34kd3FKKEtpXnBGbUckNTdZU0x6YXo0UFhnSlcNCj4gMQ0KPiB6dUlRYDFhdjg0VlFgN0w2 eDNFSURAMW9Ibj0/cSZmZj0qeCQrSEpObT8xQjY3JlZBTDk1MmU/elQhK2YhPmZlDQo+IFk+DQo+ IHo8RTVwfGFDelFkSjM/IXQySnokUSNOcCFYO1IjM3huY19Afmo+b2h0VmJPcyE2VnhHYTFnRDJ9 Tnt0Uj9SLQ0KPiBwQEENCj4gej0tDQo+IEBzQGtYPksmVmwqNk1kdFRCQFZGOVBLejZke045Rmh0 aERLTGQyYzdjOyh0TyFRWCsoNz97bz83VkooI3l+DQo+IG0NCj4gemJ4OU0wO25pWVdOQ15iX2Ry eWtZKkxgLQ0KPiBydD5qPHo+fjFTcjsjcWhKRnBkRlc9VyR9K2c/U3ZvaWRueEgyKkxVcw0KPiB6 P3BIOCteemg4eDV9fWB4Mz96QXM2ZjkwNEJNRCkkZjJkYFZyYTxuWUM0SnR1bk83ZGRBP3pXJVBZ Mkx4UTFoDQo+IDdODQo+IHpnSGYkPyhuVFZrTFFJdVRnZkIwODU0QDQ+LTM+O3hiOG5VSUokTzI5 JmFZT0R6bW5jdCYtDQo+IE1+R2h5O2w3SWYoM04NCj4geiNyeUwkVnJFJnk/QTg7bU1HUik/QHYw SUckI1NlM29sXkg2R3BvbFl4IUJkY0xXZWIkNHNTIWwkQkNGJjUlDQo+IGV2JQ0KPiB6OHVVMCRQ OD4lUSMlPUNEQVhfc35URFRLJXhmcEVDSGomP2V2ZWZKbCNeKD1PcktRJXdCSysjP0xIWDQNCj4g bDQ2c34mDQo+IHpNTXFUT1NGKTApUV4tDQo+IEptPEB1QkZ0MVdzcXdmR1F6SDMxeVNxMnwmRVEk eykrZSlhSHFFXjVBMlYxcVBubUhycG4NCj4gejk7fm1XT1p5e2FmMGpjKnZBNGZKaHgqPHg0Rj1L Jl4oX0I/I3RTYnNrWkBZXztKazNHQU9ZO1hRQlZDQVUNCj4gQlYwVg0KPiB6ITBqQSM+NjhYdEIl aUEleTNqUWQ0YXd6JlU8NWRMOzNKSnBjIWs9TDJ9WTF2cTkkKUpUcChQNigreyY7VjRTVigNCj4g elRZOUZ8d1dWR3ZqUFp9WHl4MT4+QGpuVzE/TWVzN0shZmlUIXhhXn1HQ0FISGlWa3B8NSpkamw7 NTwhKzB8ZA0KPiBiVg0KPiB6Z2RkWHd5cW8wISpvbnJgSn5RTlMwUElgJV9wfFNuK2NvPFoySmxo WHdfeU82U2UqUDtQcSglUSFNP3w8Tw0KPiBWNCpQDQo+IHowRygzenBmR14xb19peilVYEk1MTAx Tj0qVVd+KSEzb1FlQTgmS3t9ZlZCbkdxfWRzWS0NCj4gI3tMellvPndLZVpSJWMNCj4gejBJYTw3 QHgrcCZCVzt8JF4zfFg4akJIeWkhfjY7YEhpdkY/JUUlV3UpK3k3ZFo9Qjx6K1okej18S0FCQ25g Rg0KPiAxdA0KPiB6NXJtT3JZKHErTjh6S1g2REw5aFQ1U2BMQWdhZEhiY3ZuTXMzUXo2O3tRcCVM KighVVBkPj5tRkRZTkooKHgNCj4gUWQhDQo+IHpSfW5fOzBtcElCcDtLeWZoJW9Zcz82V2Yzc3Ur anB8M25QWTB2YikzQTc0UEA2bUpCeVQ9TGZmK0UwRWwqYStgDQo+IDgNCj4geiNkQU1nemJYREtp PDleQ2dsJXltUX5YVTZUcTloaylIc241e15OMX5yVi0NCj4gOTV6VFhJTWd7OSN6QmZNcGNkeFJU Qg0KPiB6ckNWUWwjPmJ1M2tCK3AxPFQyaj1zd1ppUzB+emwoZlI4ekpwO0piZEleK0VaWFNzJlNf NWElbV9nX3J5emtXcngNCj4gentJQz01Rn01TSl4ZWJ4PXo1PVl0WF4yaX44cDgzdT9AVSlpOUBU U0BofTJ3c3tFd3p1UDMqRm48PT8meCtwDQo+IDx8Tw0KPiB6QGlVcHZjMHImTz4hSjhmKEJEd0pJ Y1VSJF5SUWx5bkVDN15pPVlCNlUpWXxPYFJzMTZKViY2X0RLJnpHK00NCj4gQ2FDDQo+IHpRVHNo MihCNWVVK0ZLcCt0cUF4UVAjMi1hVE1EaV9gel5IRUxGX3ItDQo+IDZMM0hYdn1lVVE9N21fOG50 M0pHVTRMeE8NCj4gekEkRzNNNEBETFl1cGY2RSMod1BiYHJKKXo5MlJEXil2Xz5+OUM7Mno0NFZI eSYoanRZTk9PKyo5SnJsQkRtDQo+IHJDaw0KPiB6QzI1fFMpcis0TE91I29Ge2Q9Jm9OZ3pqQjJl MX5fdF9VWlliOCV9ZnZNP0hSVllHUm88NVpwLQ0KPiBoRUF6ciRaQHo9DQo+IHpKMXtjUTYhdT5Q X1g4eWYrOU53Yz5kcE5gaW5ZTVBFTG8rRnhyJWl2Z28mRipBP2lHUiZ8JT1pU3kjJSZNDQo+IE92 YDENCj4gej1AeTYlc210TDMwbyFNZWNeXl9ENX0lMDM0SlpZPjBydzJGYUZXRlV8NVhVWkMySDxv PSRuZEJBXn4NCj4gQjs9X259Mw0KPiB6PjVyOVRMSFZEaEZFLV8pOE9IdmotazM4Oz18YDszLQ0K PiBvYkx7YFYzUDMzeGxQV0A8REhfMkdIQXshX2I+Q2prP0dWDQo+IHpOKHJiMzlrUlBIXjVtYXw+ PmskZ2coVytySVkrJCU5XnthblA4bkhfPGVLYSVQamtwbExaZEF5RTx8dHtJI3gNCj4gc0QNCj4g elI5cT01VDlCaSpoSmIrcWQ5YTRHaT9oJjRreTMoJWlAdEBRcDk+IzR4TzNETy0NCj4gU0JsdjRX RjQrUUBJMHdISHNJPQ0KPiB6Jjs9RyhNd2RYeSYlZ0tSV3piSlImQjZeWHQlT2ZiQi0NCj4ge1A1 VCFxWVAjJE93VW91e1ZLUl4peXlTeSk4S2AxPWNaDQo+IHpqZWBpQ1FkZmtUKXUqeCpESjclRWEt LQ0KPiB1PTAmJjlXT29WWlFKXk5lcz04Tz5mSVA4PXFEfFkyI3Vrezc4OT5kOyoNCj4genttSlJS KTg1fDxkcUhyMlZqOHAmI2okO2JJSzNeZnBDS3U+R2V6UGBFSyZCeW5uM2l9VnFTdE4mWGMqRkJS Kw0KPiBhJQ0KPiB6Jjd3JD9GY0YjeylRYkJGNlNNXmxFNTRRe007RVN4bkhVP1I8cCFoeT9EUz0+ KVAqbkc/dUY3JG0hRStacA0KPiA4IzxoDQo+IHo5UVRlYG0/JCtkM2t4ZihhPHgreCtVODNAUk1A fGJkbyNxP3A3a2ZnMnU5MHApRDZjNz9pZyRZZ1pgSXdQSg0KPiBtYyQNCj4geiYka2JCOEhAZXVy RXVHWjJebF5VIV8tDQo+IGZ8Qj5ydGA8TGkhfUI7RnNacnRYcFYkcXx4eFpAI35kWThAUWZmb0wh fA0KPiB6MlpZeH50VXZrXi0tTHxQbS1zMzRPP2A9dFNhMF50VGl5dC1WRW0tXiRqPip8JVRJaSp7 Q3NEUHtRVTVGezU8KCsNCj4genlhUFltOyRedFBXZVdKZnNoWTRlX040LQ0KPiBkbExPWD1oKEx1 MSRkUEVvUl93a1M/Nk9WOCtufUVmc1VROEVKJUc0NQ0KPiB6ZTF1PDlXaW5XcE5iU0t4cyokZj9k cWQ8WVdQKDwjMXxBOTUhKDUtDQo+IGpjOSpgPCpXZUMqRWBOR1RfTyYyaCZFd0diDQo+IHo8KzN1 N3UqZzNJUV5LS3EyWD55eTwrMW5GdXk2UXxna1hpRExZNChHSnI9bHtwU2pvMFNUZzVsR0R0aXc7 TjN8DQo+IEANCj4gem96OF54dkNkLQ0KPiBDQzZaQXojKjNsQz5DUyhVPUU4IzdWPjJmdU42WjNn aUZvMm9qT0ttans/K21kN1ZmKlhjMSF5UQ0KPiB6VitjfjsxfCh1bmxfKmljaX1xXz9GZzRQfm58 JD5USis8MipoPlp7OSlhfkZsJkpmZm9CV3NYY0dPTSpebUtXDQo+IHF+DQo+IHp6djI5VlQwZ1Zx QT4pO2I9aGU9R288RWojJlRgWFZAM3EkZkByNCl9bjBRY3crVC0NCj4geH1jWnRxWWgrVkxzazQ8 SSUNCj4genl5KHM5UiF+bHxhYHRJSGpRUXdzVT9HS1lNIUVfd1ZAO0pJUmVne3A2dVhAVUI2VDJY Yio0PkdEWW9ob1INCj4gY2M/bg0KPiB6RVVUY3hedlQldjQ2RUdSS3ZVJCZQQmR7akZKLSlWY15R Sy1wR3VKZXRKTHJTIU4zSnstDQo+ICU4Uk5IJSYxbGhiIU5qDQo+IHo0N0A9YHVqTmgqb2lvbXlB JDg5amxrKyh6Q3dzPH5HbFpPeE4/ek8kRlM3YU8+d0hffDlCMEBYM04pa3xUDQo+IFJfJkINCj4g ej8peWVCMkwlSVBsVG80VysreTNfTXYzaUQ7Wm5wYmFiXmpyPWAmNHJqQFFNZVFoYmo/Y35IMTFS JjlFbloNCj4gTnheQg0KPiB6O2p4fTYzLQ0KPiA3WDd6cEcjNDM/OFB2Q2hzPzlCemh2Xj9VT31l MiN7K0VSekRBMUFsX2lNPFooT0p2bnUxNyZEJHpmDQo+IHp7I3tIYzQ2bCVVK0BoN1NpZEBMP3Bz YntmXyp9R3A7enJZc0RrbXAraENBblRZMitOUzI5PkROaCF0ajF0dlYNCj4gMVANCj4gelBQKzBx Q25zeT1mKkNeMiRWXl9PTHJoMExYWTstT25BOD4wWT9YVGEmandYcXB2d1F7YkEtNDFHLQ0KPiA0 Mz5BRS1TYQ0KPiB6P1YrJXdCMDRGSyFAJTJaQGdgZ1dtYSl9Unl5dztkeGp7JW5KZFNKUk9Ce2Ql VD5DZnFpZW4kbHNsXmUrZw0KPiBNVGA9DQo+IHp3bTIjMkQ8cnshe0xCdiEoaD5QNT9ScDc9Jkkx P3FNbX47ZkxsaXZ6M2lPSUxlfmlUNkZLTEIqXm5kdmBfeW5xPQ0KPiB6TCFiKmM/VFk9dSFlVmIx PXQ/NUE5JX51T0E+WCZKN1Fyb357YDslOFhDO2JDbVAoZWdxfHFkaitAN3R4IVMNCj4gdjY0DQo+ IHpQUj1wOGJ0cSNfcHtzKEZHKU01MytzZzs5SD5GSX1yS0c8flVDdXtCJTlzQntxKTNATik0RVQ5 aHd8Snlke2oNCj4gS18NCj4genQyVEp9LVVeRnsoe2Y4WDkzQ2R5N1RvUlJKVXV0KE41UkEydH19 UXpRPHN2YTFzY3M2cElnKihadm14KVYrWntfDQo+IHpYYipkQiVZTzV5WjVlfGJ4b0c4WkV4WHkp c25OLQ0KPiBLWmY/I3ErfHxMaFdsJThZJTgrSVIxK0d6JE9GQntQc1MkUUUNCj4geiNWTDN+Wm95 S2U1aFNgP2F7MS0NCj4gODIySkArJldYNz5wTUVvIT1xJEUyJHBISUR2ZGd9QlM/WVVXVHZ6TyF7 QmdnfA0KPiB6MXZBJXpgTm1mU1hQSGwtRD9YSkFYY2hzMVZkTTtfYVc+PWFJd1BgT2wkJVoxLQ0K PiBEdEFBVCU1Y1lIWjQyRCR0aXYpDQo+IHoqQDQqZzdqUWJvaStsY2ckPiFAeSszcG9yayEtDQo+ ICQ3V1RfZEpHSGYqPTBrc05XVmoxSUZzX2c0fl8zS24ha3hZbDINCj4genJgMDdnIW9sPyRvdVZz cTgqe2tId0FAemVNa2krPUgpcUZ3dn00VVRgISVOWDhpUnlXYnZ8M1ctDQo+IDY5KGxxVnVAdA0K PiB6VlhKO2hFazl9dk5OKDgmWT5OTk80NjZja2hqWmNGeChfbT5ZNUdAbXpNPmI5KHpZTWNWUXhT QztuUmpUDQo+IHBJJmI5DQo+IHokJkVEcWhzeitlZDlKUGVKZV5hQj03IXc3I2kkUDNra2ZfI3ha MVJPeWFWI2ErLQ0KPiAhJSNeOUd5cXtpTG56Wk1pdSsNCj4gekkpTEsmeXRzKmAmZ1QyTWxrZksy ZTVKQFRuMyF+PiZBSDZVYFQ1K08qU2AqNnJNJFF5OSZQaG9xNFB6S0YzDQo+IGE7bw0KPiB6QjBJ OVpRfSFmZjN8fUk/Z19HN3NVSkloNXUmVmp8Wi18fmslS3dpK3RkJWM/KFNwYFl2QSE9dDtLQ3gr e0l8WTcNCj4gejFpJVJQVnMjTE9CMm9sKWs9TiV0aT5XPEVheUxTXj13YWFAUW1qMmhvYCtFMmF3 V0NPQkh2I3plQ1NIDQo+IHI0UGdffg0KPiB6YztyTWFUTl90V0QydldmeU5gRUM8MnElZW05aS0N Cj4gX3RKNm5ZWCpAaihGbiRKTWBYTzx7bHVadzxrb2VjSVhiK3I4DQo+IHo0VUVFRTdfRWRjLXdp e2opRyhNP1o3eStPPjw2Y1ZqbFZoLQ0KPiA+YCpzeUhpNmZSendSOG88KG5IWSZuNyp3TWVzKDYN Cj4gekthUE9fajh6MVM3dEZgbjZ9fTJuRGJfdUJpWWdGYlhXOz1aU0V3KTZiUkZzKTZvJDx8PUA8 Yjc1JnNjdUQ8MQ0KPiArcQ0KPiB6R0VrKX5vX3UwPl5kWClMVzklZT9UYk9JVDxsMiVCTzEwbj5m KnBeJm5SPXxQNWBpV3JfP2plV059cjdjPg0KPiA0eiFJDQo+IHo8Szw4SShpP2x9Y35rKjBjJUgp I0o4SSFFUjtpX21rc045PV8mMX53YC1yK0lZUCVTUks+SDxRLUhDRSlTZElyUw0KPiB6XypnfFU5 dityQEBUSzxEUEdVcm1DPiotDQo+IEgxI3JeWEcjIW8/UTVaMEsjWXFDfj5QPl88RiNrYyFHcyhi KV5yTlZrDQo+IHpgcztEKld7czhnN0F4KE5WdHg4UWtSdHNHI3pHMX5KV3c1fWg4SHBVSTcjVHJ7 RTB+ISVFKDA1dnl+WXVsfGpIDQo+IEINCj4genhNeypnVmw0cUxsVmFEM3BTXnFAdUpfQF5kTEYx Zk1jdmA1JHJAWGVQZk0wSFgkSX1tLQ0KPiBSaDR+QnVnUCZncyM5Rw0KPiB6cnRsPXxpUGZyOWNz RHxEV292aW9mWkVDOG1pdEQhOzdQMEFKdlE2PT1Qa19GRmsyLTkmIV9KTzk2Qz9ZTCRrWVINCj4g ejtWRyl3bUhJaUdgZ3V3SFQkPThKWGwrNURvNz4kcnV7X0lHQ25kcU5YKXApdGUrVFcwY3djQmV6 WUd9fClfDQo+IFc+fg0KPiB6LQ0KPiBBZlNSaHVzSFBudWdnJHlYKWFecWs5dTRwYylFJW51VDV7 Zys4N0JDMGQ+TjMyMFdsYUQzQEBFTXRXWHANCj4gSmJ8SA0KPiB6TiVkczxKNGxzWWckck1mPDRi U3N7dTFhMmtyRGReLQ0KPiB4WCQqMigwNGdKKCNBRmZtTkI+T3BXZSEzfU8jQDk3XygzDQo+IHpA Qyp8YUNsU3twbTs1d04kRXQ2REhDVCNUWHxlUVdEUm18RTIhPFk0NVl+S295Q1VQfCF5U0FHP2c2 aA0KPiAkWXtIJEANCj4gelhiOFc5S013e1hVNWlCSDI0YzNSfEl1aXpfUm9TN2tuenZUYmtHbjJj WWdDSjNqWUEzXj1RaFlfUTI8cUY4DQo+IGJDMQ0KPiB6LW55JnclSEhscnA+QTc7RCZXK3I5Jm1r P3tJU2sqIS1jN2FCWEpFM0wodktCaStXTkFYMjktDQo+IGI8TFBwOFdXSTNZDQo+IHokb1pmVCVQ ZTJUU2E1bEpjR0tIKTJIMnJoazdOQF51MGRgb0xPdGV9T25NamtGJk1nMW49dHdxITY7Q3R6Uw0K PiA9OVMNCj4gejFBWmtRXkE9dF94QzZlVHd+S2JiUzgmTzN4IT5uaXNnMktaUikpUzJfSSlKdCh6 JjA2VXJNVVNFPTx9REdEag0KPiB1RA0KPiB6ckxxVFozfFFCR0RENEBhN3dnYlVMfW5JIUNEbFRH KFJvdEFZZH41RSskan5EV2g7MjhSUFo4UWtBQ0pIYA0KPiBVXjZeDQo+IHo3K2srUFhranAzYjBt PEVJI0poOGpYbmw/SEJYd0Y4K3hOfmIzQX47WGlgVTRCaFV8S0VCfXtpN2x1PGtxTVpJDQo+ICoN Cj4gelRIKUt1PWZOLQ0KPiB+MFE+dCUoMVRCNm82KipSallHeCo0MStQUlQwUTw8ITR3aSk2ekRs JkpDMTx9Y0VQKiY0Qmd1eg0KPiB6KTB3RjtaNjtHUXtlcD40UH5vSDUrb3p5YlJzZHZULQ0KPiBQ PGZlSnYmMThIamB3fDAySjlLKWt+SylBUVh8JndvZENxDQo+IHpUaEw4I3BUcWQrTmcjQG5UVHYr NU1RdnxqfERtVik/Tks9ZUR7SlZSd0E7RSNaUm1YcF81PVlRMTNsMQ0KPiAleTRtWDUNCj4gelBk MFhfJGl0e2NyMGdBJEV7NWVjNTk7PWJZVCttc0YqfUpQeShESV9NKllJKU8jVXlSNTc4O2MmNlZM JU1hM18NCj4gPQ0KPiB6ZXRiZ1p1fiRpcEhpJTA4Nk4oKj94Qz8lUmt0NEZ3JXwhSyZWaSRaVHY0 K25nUjNIbX41QHsmaHZ1KE8+eA0KPiA8Q1VEDQo+IHpAK0Q+Z3QxIX5+NjhWfkJGSUA9ZD0kPnVV czgpT2s4PTFuekpORlVrQSpsYnlVPDh6NjFUWWtJND5sRWZXZQ0KPiBpfV8NCj4gemhSejs2KTBe SWpheWY8am1xUkg8U20zVHkmPDEtRihfaiRqaTlMWU8rTllwNjMyezRWKlJwKy0NCj4gWCVnV1Vj P0lHfA0KPiB6OFUoRnxwMXVkdXZVPWh6O3RwYSYzcFI4MCluMUVvRmhScFgocElQXmhKKSEqQU9Q aXE7d05wbGFre3QyRC0weHANCj4geiZaOFMoNTJqZiklTkVGT1NBRGZic0JAK2FCbkwjbWshbChv c2dSSkJUcnktDQo+IG0lPiNORHYqekhJZTxPJmE1Z18jYg0KPiB6c3p9cTtuSTgyY089Q3VDO0JK Y15QOHJ9SjZ0O2sxNkdnIXhLazlvQ1BobHtFKWd7aDNZPjU8cjI5X3gwbTRTWn4NCj4gekVAZnBw KT93Un4pP0RMUWd0YkNZK3tKNE5gWFk9PzdrN3M4ZFpQTnlORWJtbGk2Z0JUMCNielA5X2tTRStk fA0KPiBOOA0KPiB6MlB2NXBCeTExKjcwQiRBQz4mdD5JMS0NCj4gd0okUCpkcWc4dmMqanwpRE1P O280MztYOD5uZD17Wjx2KyEkMyZfUWwzDQo+IHooUSh0IWprdzM2dkZ3bE5rYHVVQSotfm58PE9U PyFBSjtkUUdsKTErIXVKTDd5dDBtPytCZiFvaUtCcnpyMXd4WA0KPiB6c3tJSzFJaitNcmhLTUU8 WFRlY2s1Q3FXZlc7PFgjTXowRzJOT3ExWTJTMFFlcmp1QUJmSkxZVVVmVGhnRg0KPiBMMUNlDQo+ IHp6NUBmV3VsNlNFUUUmflk4a0EzV2YtNU1jYTh3UVNDRnNDYCp4OFRUSmYzd1ZwaytwVDVqM3Rn K2BtN3wxLQ0KPiArM0kNCj4gejxQSFk0UF5oKjl5akpNKFkodE1gelhyKllkPV9MV0ArK2BuJFdr O2hoUj1SbSY7UW5AQjRvayUkQnhrDQo+IDhCI3Z9Qw0KPiB6V08+c05pPFJeengldlM0NTc9aWdR YS1ycHdWJlRFZn55JillMX41My1YNzkhejhhY2FGPzgyTjYtDQo+IDc4QHIoI1pHDQo+IHpUYHs1 OEVrYCpPYCR8NlApclUybXxIflVPS0diQW5QOFEyKHJpOV44Rzk+X2QyNTNVQTdIUHV9QCojaEcN Cj4gRFk4bkoNCj4gei0NCj4gKXlAYXZKdT9adjQ3Q0YwNSgjJW1VRyFSJj5hI1glM1dXeiE4aHdF MXVrZURBeTxEKGBkbUZSM3t7X2UNCj4gTl8zY2QNCj4gejZuQTgkdk54YUpzRl4jfG0tdWRBPCtW P1B1SzZsM0t8S1VQZi0NCj4gP1RaVFU3PU9fTH47Pk1hUVZ+OVV5MTlmbCVpbQ0KPiB6USVROypJ VXZWPl5LT2lkNjVUX09UQHhUPDQ/djEmdDleajVlSH1hUD1tWEA4VUE/KFI2R058PVNqfXYNCj4g VldEYHtjDQo+IHp5dlo1NlBHVV9BR0luMXFiY2tVWWRsNyokNzd5cjN1RVJ9TmF2JUBkbUY/X0c9 VzdCe041YnZkdUVaaw0KPiBEYm1pfkENCj4gekRQMmlTYSNHckRDTTdRTHhoYnsoYGtfP0RiM2dn JUprM1o0bGI8a3VePUFRKkhDPHI3UHlOSTh5YW9OZ20NCj4gPUM0SQ0KPiB6KkByRmh1PTY0OHI1 SklKaW1CPF5SMj00N242UUB7RXpgQypJPGZDJl50PHNzTmQ9I1ZZR2hrckJ8Njc1NUJuDQo+IFZP DQo+IHpDRWc5NSNePGNKUWUhOUMrKHVyN0k8Nk1aejdnZF8lSDk9TEBuPSVDNkJvPitvVHg0Ym12 WHA7bFJufUANCj4gQ01fPWgNCj4gelhUQyFxemt3TSg4LQ0KPiBYbEVBQXMwS1VJfXU3eE1EP2BU cDtodDEqdWFgUkoqfXs5RlJfVzRVKG0oUT9uckYwMz9Rfg0KPiB6YmA/bWI9ckVBMV4yUFI1YHMx OTZhVEYyV2doWVFKQ2c7QXwqKmFCfmBYT2AqXjZwVVc8WVhoJFJqVmlUSkINCj4gQ1dlDQo+IHpR TlRLSCtAJExtK3VVKGZMRSVyRW5xaUY+eURVJDNZREs9dWpJMUxiNWUtDQo+ICU0WlRzMnxgWnNP SEBtVFN0PW1IRHYNCj4gelFWV2VXRnduLT9jZFVWZGNBVUVnKHctXytGbFleMDBHVCE1dWhjLQ0K PiBpRiZkX3FIKzZXTGRXUUhud1AzM2J7M0V2RA0KPiB6SkJmajVjQE1PfW44JitCQmJfZnw4K20w SCY5NCF2KnpEP303Qmg4Z28/JWk+UjE9Rl9VRjQrS1VCcHQ8DQo+IFFqYkZ3DQo+IHpGQzdEVCZ8 anJleT9+PlJVSG9DKyo3enF1I1U3a2QmdEtVay0NCj4gN09qaHBNVHdgXyU0NmwhSzBCVWZHN0J4 alljPTENCj4genBSa3FaTzJpa0YlfF9WcE5ZJEpkVEJxKTYpZVJiZSgyYVFYYGkyNCFINU9QRl8h PnNsaHJpYHQ3eC0zNHtwdC08DQo+IHpQVn4+Mk10bE9PKnVtNU1Aa2VtaF50Tn54YWUlK0FmeWVQ UWhTZWpVPFNyNDEyTHo1UjwyNGFud0sNCj4gZWRlcnk9fWQNCj4gemVmVXNBOzgxPHdvcmQ1JF59 I25BIWYpMXhVKjgoWE4ld3N5PHQ7P2lrI0lJUlowQWk5MUdrfDlzO3IwTWRqIzs8DQo+IHpQMVdq TzdpX0lrS2hjZ25YeVBaNmpmNnRJcnJiYXVsbmt5KUY/dzRvSHZNMyRAdjhJJjU7bWVsRyZUV0xH UnwNCj4gdkUNCj4gem90NGx4OH5HVVlLa15rT083WCRKP3lEcylHRlZQeV9xckxMXm4+YCY1UDBr Q3kheWFmNEpwPWtYKiNjN1pxbDU+DQo+IHpxLXhYaVZtJWspOTBwPmtEbkVBY3tPQVAxRHlqXnV3 bzQ9MHg1WGgwM1l1XylvVmlQbk1HQCUrcUstDQo+IHt1SWdfR2UNCj4gem9Ofl5LVnQ9PyU/NTYz dWZjVmA0QlFKSnZaWV5RPipVaWR7ZVE7LQ0KPiBPeHMoNUg+XkhHIzdTJj0+SGZnU3Bve28pcQ0K PiB6Q3B6Sk4yQ2RFdHo8YFUpaUl7QU4pOXwyYCZkZGN1M1c8PSs5UyoyM0FqRE9ja2REeWclKDxE TjRkSih6WnFCDQo+IE9ADQo+IHp6dHRmOWtGdy05UXYldnArTUhKKGUxfmI/bHIoUnEpOWpUXmZw PyUtYH4+fko1YXQpVj1yJEs3dT5UYUVaTF9mYw0KPiB6VEZFN2VAYnM7TEgjdHopUUJafG5EOSFp QUtEZTQmP3xfTj9Ta0h7O0RBU1JFQnBzUllIJU54MVp8QnZeag0KPiBtZnBXDQo+IHpPYjF1e1Zs QXtodCN7Tyhnekp+TW95U3w5M1VyNm1fYzgzYWUzYzE9NWtuRF4wUDM0PUNRdXtmQmZQUld5Qw0K PiBDQmkNCj4gelllJlg1XjFjck48Z1Z9fD1TR3EpcUo2fWN0Yig9Jk1gZWtFQWllPTxhSV8kRXJT Q31TOH1Tbj5eKl4jMHlYeA0KPiBXSw0KPiB6Zk56TkR2fFB3RUp7TGN4RUk4SzVzQUR6Y0NLK0JP e2tZMSVOaWQ4PHNEP0hLVWwkeXxwOGgoQiYleEQkLQ0KPiBpRTtJDQo+IHo/QTYhUDU2Z1EmTz8q MnRna1A3UWMtDQo+IF9eKDI9Yyg0Mjc9ST1hY343KDd9QG1RODBmQGVfYHtrcUVGNV5TJHB3dUAN Cj4gekt4ekZfYlMlO2RBR3MtDQo+IDcwP3UoMDFRY09DKnE2OXY+JEtyencjMXVvX3l4eFYkXiUx cyV0P21mfDUpc1VAekc9YQ0KPiB6PiV4ITJPJD1kSlAjKEpYcnMkLQ0KPiBHQE1IRGkkSEJXRVp8 KjZPZ25OaGwzPVElOGNBdVBUUWtYWTxHaFJSNWB+ZVN4DQo+IHpzVl5Mc2NAVmk5eSFGQXlvV00l ViY4IXY4T1QxRnZ5QlN8WTtQTHZ2eUE4cHw+VnVDcmdkYXpCR1FpWWgjDQo+IE1FTzwNCj4gemk+ a2FedkUhbGYkb3RxNEF3UU9kezQme1FkTChFO0h2cG1qaV8jYU1aJUpUTEM/JDdlRk0yWXQ1e2VO TDYlfg0KPiBqPQ0KPiB6UjdvS3cjTiNPeiFtfF92QDZKezFYfndmJDcyb2MhYHZUZ3tzNWZObS0N Cj4gRExkZ0FyYyZYcGZ4cFdJYHIzX2pDNFpUDQo+IHpIe2lNO2RWKGc8cCokcChsc2UpO2I1ajxi JSRuKV9zbVZydVlkIzN8Ryl9b0dEYU8kSmE4Zz9gQzNMPWIkYT13DQo+IGYNCj4geiRFamBweTNO Mm80cCh+elJmXypXPyEmS2h4Pyl0WDJCfUdYZTI+dHdXVWYqIy0NCj4gNzIqTlY/VGomN2RlcDNV OClJIw0KPiB6MUokcE97fFUoe3dxNUVtXlcjeGlrY1EwdCE2Py02LXNEJGxWWDAwQChWLQ0KPiBO QTUyO1pIbT5tJjVTSSRFfnJGbD49DQo+IHoyM059VnlwPXFWVldwe3llaFhaJHErWXAyel8tODww N1RMPEIjNnxGdVUzeXJnfWotDQo+IGZebkRuX0Z3OWoxUkBQM2ANCj4gempnNVlpTit3bndzdXs0 MlFlZnpIdjxkT0ZSPzFGNHMtMEl0KXM1VmhJQ35gQmpndHdYRTFaakpZczhPX2c2c35GDQo+IHoj MTNWS1hKK1ZePEZMT3V4SnJtJlJrWHpSe2N3aipmJnR9cGBFdEB6WmtKRSskOWJNPEVeZzwjKUE9 eyllKjYNCj4gR2ENCj4gejJVdnNqPkF+eHhHam9mYz0rMHRtYS01Skx3cGd6TUwoOVZlM2NTZXt5 b3JgQTA/XkVAJHJSLQ0KPiBUO1oxVjBxOyptNA0KPiB6WCpNQChpLQ0KPiB2JXM/d29mc0NwS2pk RzY7TjkyXj1sVE49eyg5SWd9JFQyMWhnbTQrKTxtM2E0OFhMUSF3UTlBaU5iDQo+IHp2by1DeyFt c3FYRl5DdiV7eUt7RVJ6ISpHKFgpdGxsLUJ2dD4tDQo+IF81czhTbTJtOU8mezNsUVFXaTgjJj9z Y2NKUWUNCj4gejBMUD1ydEF4QzI1RFp0VnIkR2l6VXk7OVApVE5WWG1RKER7d0Y/RGB5JkN9VWok V1Z9SEY/UiZJWno3SldCDQo+IHM3Rw0KPiB6Q1IzZ15QQkZ5UEN8fUooKzUmbFhqSUx5IXkxSVhN ciNfKFhIXkhtRW1+NH58cX0wVjUmNlorbiFWfGlyV1F4DQo+IHJfDQo+IHpXYH05MUpYdklxJlVW MElAeEUpQTh5ak49OWVeVlJXOFU9TGZQQFk/MWd3bHJycjVMdGY2JEc/WCRnb2lCKEYNCj4gNUcN Cj4geik3WFhLYlJHe20xcn19UjFzcDdvY0NkVlV2WE5xTF5GSGBrXkczNllrYXsxKEhRUU8zUHV+ PGVkb3kjSmYxDQo+IFQ7aQ0KPiB6OyNhS0BLMnkzMVdLSnJieWt0flRNQ2F5P2Zgcl9sWW48JUlY P1F3QyVDfTxZLQ0KPiBiOUxVVUVRWmk0X21gP2hteig+DQo+IHpDZ2JlbEhsNlJ8cCF9QWNIVnV5 UVolNyglYGxUJCZNPCU2KUZkNH0mK0lrdCE8MGVzbmE+MzJ5dUN+ZypEZnwNCj4gd14NCj4gekYk NjMmYWhAZSZCNWNucWxhMV4lYzx6ZiMzQGJ3QjZqMGUpajNXVWlzaGdDQD1aUTFtLQ0KPiBPPiY3 NX5JTDRocm9qQA0KPiB6e2QwSjlmSTJpUDRmRDs8SmQ9SX5AMiNKU0FidmJkKCY2Tz07alhSdTxE SUNgOzB4bXxVbnFCMlljNnhWLTBTTFYNCj4gemdIVDQyVFNZeUtMbytBOyZVQ2xHWlcpPmw2MzBT QkNYSDIpUXRzKkJUVCt3a3ErPXB0cihod31gVV5+MiVkDQo+IDFrMg0KPiB6UjkjZmRzVS0NCj4g S0h1fjBUWjA0Xz84RUNQVFdOJU5UQHR+I2Jha0JYKEB5YFk8ckkjWWoxZE1RUzZuQmMkZ3NFVEhQ DQo+IHpkPGFIQlpjWTdsQDNaemZnPHN8X0pRLQ0KPiBNQzVhPzxNX1NNNnZXVEplaHU8SSg3cVNe KF4laklZUnRCdXVXU0MjcjENCj4genMlb28hOWxGRkI5YDh3REJkayNrekdUJj1YRXUhRWQtDQo+ IH01JTRPSkBzKEV2fCMwc2I+fCFudTlBSyhKfEtBO0ZpUw0KPiB6US0NCj4gOXNGPE8pSkRwUXww QVp2eV9mRURybUxTbTJRJEopJmMpMldNcGM+cHVKOzVNWXNVQ0ZfKWY9R1VkaElyNz0NCj4gfg0K PiB6PXJqdnB7Nl8mVytYV3p2KWljUVpRY0s8IT0xUGItDQo+IGtQYEdzPjJPdjVJcXpDYE1mfmZH eiopSH5tJXd3N2Zldz1xDQo+IHomalJIcDhDK2Z2Pzl5e3ZKIzJqQDNPanIhSy1IdWFFVDVLeFho PG9yPWlvZSo2OyN8QzArKGF3YjBpdFckaS1LOA0KPiB6aHB8SGA/UHxAMm5SZnB2JC0NCj4gSXs3 JXI7REN5MkVzSXk8b3lPXjVUeFdBVWxGRFYzNGcwaz9WajJ0Q0ZMT1E7Z3U0DQo+IHpgbVg0XmBy MDVrZzVQYCV7aGolPVVLbXlnen1peT50d21KVkIyRGN1N25XNG4kaWs5MDc9bTJKIWYyPXghNG0N Cj4gVGsNCj4gekRgODJNSWVFflR1R3x6VD1ZaVdMY0RpSDBOUFNYcFh0MU8hWVVUeC0NCj4gc2JV QVZadykzJkhBX30rYFg/eVZWUU9jRw0KPiB6MT93MSlfdk1iQ05mcj1oTzFqJSVNVkEhK2Y4NUl8 Jnt4cWBpJiM4NFVCdDlpPlVzXlItDQo+ICMxUTtoP2w2cFdoT1haDQo+IHpIVEN2STtoWTVeU212 RDspdjYlc054cTBwTFBoREdQQTt3eS0NCj4gRSQ8KkVMfm91eztQX1YzTDs+a2ViTE01VT11eWcN Cj4genNMbjcyTEJxRzZVK19vVVVyJDBGbFBTSjVKM09ARlpPTlRqT28tDQo+IEVkPUZIMyhOYzQl dUhsIzc2YkJsY0NpX0NFSQ0KPiB6WUJwWk0yZUp1JUxIQiVKYHZ0OGl8RjBSSXBGVFVvXkx6YU48 IyVSeWV1bSVRO2tOfHUmJjdZd2tpLQ0KPiBBdzRIPVJADQo+IHpXSnRqZnsydTE3NWJ1ayEtO1BU NSZIMyZPJip6Xz87a2tQYTslQCg3aFVZcmAtDQo+IGh0PTsjUVczbXszSEJzU3FyIyUNCj4gemBU Ni0NCj4gbjN4P3ZhRnQyRm4oNCZVdDRJTWdVPXVtSWdkQGNKfmZwe3oqRTQmTCZqIWRUQitZP3lf NjB0aCkqV00/dA0KPiB6JX41NEdzWHpXYmt8dk1EdF9ZTXc9UzFrUjV9Nj1jYk1fSFYtDQo+IEw2 Jj5FfForfSFoIUwhSUNpbSluU0NGdTw9Wj9NDQo+IHpJTioqPHIjJXNobmQzcChoKGRLJSh6fG1u YlVBUCVtPVhDIVBUQmtoZWdlb0xieUFRSnRaYFQoYXZ1K0gNCj4gYlM/eCgNCj4geiRgJkhhUnFM O2N3eUt8ZzkpMElZRjVRNWxiMVdqVGNVRURNNTU/KHV6aGM9YHU/X3stDQo+IHp7YmtuJW1eP1da KjFTfA0KPiB6dkEyZ3YxanFpeVJOJDVRcEBAWSRCLQ0KPiBqajhMPHReNz92PXlIcCU/S2NOOHVw Wig8bkI8cGVAZj5MTHh6OzdgdEQlDQo+IHpneH5OKFZNelFzbjB0KWFXMCFkUXUrMFM/T3BAZDRh MTZ2KUZzLQ0KPiBvZ2M/M0FZQmIrOFlvI3RVNmtoaDkhQ1hYUT4NCj4gejEqSGFwO1FyZFNHNVNq YjQqOGRMKjFHTDJZaFo2RjF5QFZON28heCU8VS1qKW5fTlZybittUS0NCj4gMWxNajApUytvSw0K PiB6eG9uflM3KW9sYjNibW47I1p6V21wb3hqaENWaUpWaEZYSHlNcWN9eVZfTEwxPH0+ZlBOWVNS OHNNaTFXIQ0KPiA+bnlZDQo+IHolclEoS1M7TEVYPytrJSprdEJAJD5iRClBVn4hIWlpZiFienpk NlEkK3ltTCVwPztma3E2KVl7aWE5MD1RcF88DQo+IGMNCj4gelZZbzNNLQ0KPiB6bFhLMFJgZjJm WUd+a2E/TFMoNHxAQk1JantweiVyU2dkckIxVCUjMm13UylvUGYyWFVzNz0/PzJFUg0KPiB6JSRz WURTJlFeRWFQVWB+VnxYezFJZmtXRnNXcWspc2UjXlVyaz1GIyMybXdQQXl1IzY9XkR1SHFiZw0K PiBOOVhic2pODQo+IHpKIWA7VVpJMHBIS3klRlZjdVNnS1RIWHREWHlsI2QkRllyVk93ckZBVzRo Pn5jWFBUKHI8fHoxb3BEaXhtfTkNCj4gYkMNCj4gekI8N2crLWdMVT9EeDZyWCVgdSZUcWFMfVA8 YF82VmlhQ2JBZ1AzRUtTbEt2YlJqRHVVNWQ0RXo5TDV+O0lncCowDQo+IHpXMldkRWo3cEtydFUy YVVAU0kwTz5KblF7S1hYajlndXwoV0lLYmM1S256Y210TjRfWkpHfjBtWXZWKyktDQo+IFVLNygN Cj4geklka0R3R3ZMSFQ2WmpEN0NNWnB5ZVF5WkFReTw+ZjVaRzVBY3koKFcqckpLJTRWWStQRjY5 ekJ4UXtBNQ0KPiBBNUFvTA0KPiB6PSFHRHI/Rj9Ycjg9dyF9UF82dGh2dVBJak52JmBZO1pRVVch VE15bEtFKHQwSFh0ayR3JkI7T0lXcG5zb3JwDQo+IGdODQo+IHpQe3xhcHZHaUY5ZU0zaTFucksh cVE2bkZxYCN5aVNvTSV2aXBZJWljJj03b3NjQTROQzRVTWQ+MndjMztIWA0KPiAzVUsNCj4genBe WmxERUhER21NbmljOExBb0dSdmBIKTR3IzdYTGNpWkJ5PE8+I0VIWDIoRlo4V3dWK0d1UCEpPHpA DQo+IFdBZndQbQ0KPiB6VntJfEMoYilYNyhielAhKGJ6UCEoS055TzVeTkpXWVZoaWFqWWNkdlo5 KnU2cnBrUGQ3QDtaVTRXOVc1VEINCj4gT1dHDQo+IHpCYU1+T2pAYWhSSWFFVHVMSCpxdTRKcEFX alV+THY5MFRlUWQlIXpQdnlXLQ0KPiBecjRfcUhSSzJqI2diflJaOH1telcNCj4gelVYcHwhREIr SXVhMjsobEc2YCVBPjtuLUFUfHBTV0skO0taQjVnRUEoNCZuO2NPLQ0KPiA+bDBYd29tR1FiY2d6 YjRhOw0KPiB6R1ZCI1ZPbXMyUFkhRE84MkFYSXZPPl82VThpSnMrVnhyLQ0KPiBNZ1NBZU1SPUd3 RHBwY21QUTNgPkhoVzlrbG9KI3g2DQo+IHpNcENTcFh6SFEtDQo+IGRrdCFMKTUhYWd7MF5Sb3V3 ZW4hZTtkOU97WEFuNmgoKVNqdnc7WGlzRTZTeSk/NWdvQUp8RHcNCj4gemhqI30zJkJWTjxAKW5H UGU5QV9+Y1JoJCV4bFgqOz12aTJZd1RrS25HdHgmc3I1fWF1SDV1TkpYbllvbGxXDQo+IHxeUw0K PiB6PlcrbEkqfm14T2g8KilLZT1AfWZtQD1RMmFuZXxhQUpaN3ZoKHo3ejkqe3o5XzFRfEdVdGVY dnpNNmcNCj4gI1YrJVMxDQo+IHpzaHBVQ1VYYHdZSE8pOXpQOU1eIV5yfSRYdERyVDlBJkJfYD1o ZEtaWChOSntDenFUcDRaI20odFpFeGtjeHwNCj4gO0INCj4gel4oQXIoVnZ7eF45JnNaITlvVUZz SCN3VTRXTUoqcU80eHtreDx1SEJfTElrPEpsSnBeYzlNWnpKezs+MjgmDQo+IE5PQA0KPiB6SDRe TjgkYmJQKTgmVUEjYGR8emtEaEJmZjxlWjBOaj1kcm9Ubmw1eXNOcnFNQUE9blMmLQ0KPiBFcEZu VEw9WXlLRGp2DQo+IHoxRlQ+UFdyYX5mO05nbGtzSkt9a1pBOVQlZWZac216e0ItDQo+IHtTVkom fD5RSEMqdSVQTjtDSStsYEUxR0V9M097XkENCj4geiY8fCVwWnozfktqe3I2NTdLcnZJTUxRMUIx bk91SiZRK0hQdWtXe1IrPmdHbVItDQo+IE17OWlQVSQlMFVvaXZYdjkjSw0KPiB6cSt2NTZBQ15e Z0ojOXc5VVVRYitTNktAdCVRRk1SVSZwPEtRWUxJaDhebVZCJnRmeTtqbzZITUJRDQo+IH5RQXVv O3lnDQo+IHpnTGRIJW4tDQo+IFM2TSpvPnJQcnc/Y3xkUShwQFZsKDs7PyZaN3kxUSgkczx3PEFj WXhxQEtrc2laK2dBQ256YVZ4PlgNCj4gem1CbSU1MSh6WTRpMEEjcmB2VncwXylzNSpZKWRRQjdG djtIVDVxfmh0Vm5YZDdXY2BsNnshX3ohQXJKT3NiOWl2DQo+IHpPc3EoQ3VwKF57RF5pYHpBOWF7 YTEoN05QYCs4bDIpUHRJO0l2RU9lNClVPyQ0NllZNFNgV0tZP2dDbFl7Wm1wIQ0KPiB6K0xmKmI9 aXpBKFVeezUyZFN7PkkwJDZGRntrM3pHZiVWNFN3WTlKSW5xXkJgS2A5VF9VSWlVJi0NCj4gb2sq SzRWR3VODQo+IHowZ049RVU+bCFDVFd+XmFwcH49YD1Ua0RwWXU0e3x5fktvRmNBdCNMJSp9d1lt MztzUilmVTFQMCU2QUI1DQo+IFQ0OXwNCj4genpeNyEyU0coZj88enZVZSQtDQo+IDRhWCVQX0Qy TGA5Jl5VdzQ1cDZtMmEwQnVPU35MKSZuTnptOE17P2E4YXU4UFh+Tw0KPiB6PTRoZzNxSGJUWmIt TmNoOX5XTX5eQn0tDQo+IGZnaipOZmpfdyMyU2RTPG9iaEIlOUpTSDhDdFlVcH1zI2IyUU0yaGN8 DQo+IHpqbDU9Xj9zT1hUcHBHVXYyYk09THQ7YGJTd24pMGlSd1JQQGpnITh2Mih+V3h0Z2FSKzE+ OEdmWSk2YGRCdkwNCj4gQ2ANCj4gejJ9fSZFeD1vWGFeS0RZVFM+KjlNKDNQNTlqUXVUdGcwWWp9 aV8tDQo+IFZRNnB8aGZvNXtBb2hQZ25FOTspTWBCTzFibw0KPiB6Z2FzS1JBfU5lVSM2WjJVZl9m U2VfNTMheEEtDQo+IEdUMl9yQ3M5PG1LQSVZTmtrOzlBUU5LZ0xIdH4raE1GYjlwKGlZDQo+IHoq Z2F4SWwraDZUO1FEQUZjbFBiSE1ucCsjWTY5UHRkTzUrV0tETU1qWndhe1FLNTQ9fXZgd3N0d2By a1ANCj4gVy1yUlENCj4gelVfeSYoUHF6JnJSfSgjUWVLYVNsRihjKyRhdFhJdXtsYzBOYERvM0Va QGBTbT1LK1JUejcje08xPj9lQHR0eFANCj4gcw0KPiB6ISQlOHA4ajF0aXtCPHUySEhZX3NrSHNJ c3l8alhJI1FmOz5QYFZOZDsoY3NuNF56em1HYX17RVdGdXUjbT1YVQ0KPiBRDQo+IHolajwtDQo+ IF5PMntrQ2FqTWh9KT9tcDNJMFlIeHJJKHxfb05eYXp1O3MjenhJeWZRT2ZQbXM3bmxOZFdqYD05 UiNgZk0NCj4gejlucUNHVSE4PXMxQGhfYFVDVFQqZHwtDQo+IEI0QSZsZ0duOXNoTDZkZj0qcVRG YiZLNWE7cChvPHxPNFQqZTgkZG0xQQ0KPiB6NyF1OXc2QD8qRGk9cTlNKiRGV2M4VVlWVnlnfmI0 KHM8TVYwU0tzO0YoZVdtNFQqJHI0MmU8JmQwYEUNCj4gU1hvNWVrDQo+IHo0VCZIXi1GLQ0KPiBB OTV9UUAzXzIoQU5GZUd3O0NXYmBiPXZmUT9MKU9rfHkzMFc+NFQqZUx0K3hIbDc2TDtlYFUtfGIN Cj4gei0NCj4gQihiI058YGh5XjJYZ2FGZUxKb1BHSm0qQ1FaSyVmRlYlXms8JFNKKT9eZXpCSitK NWxwbVlacm9tQk9Fb3UNCj4gNTINCj4gejUoJFpoTTFpPHVnQlRMK047YkFwP2dsal53c3t5fnkp TX0oOVIkM3YmI1dRdzRRKXVRKEBqYzxBcmFISjs3DQo+IDEhMA0KPiB6RH48eTllN0JHajVlJGgw WmJXPDw1P3tyOCRCOzxHa0IyaDRrPW18N1pIWWBWRSglK3M7U1JZQkAxTkZ8JA0KPiBZY2htDQo+ IHp2P2JQfklOQjJWeD1RX1N6M0ZqKC0NCj4gNkxlUDtkK04qVzdmWktLIT0maTcpYn5VUj51Xzg0 cjNoRWJEPm08aUN9eF8NCj4gejFxM0tueUYlKHhHMyNsSTt6Y218PFhXU3UrJS0rI2hSbXJyV2gw IzVeKXstDQo+ICRyNytpYCRjb2RWYyNLVGo/KXYpYw0KPiB6eFA7Q3Z5eFVxN25KcD0qISRGTFM/ V2k+P2s2Tj94WGJMTUk2MShFVj1yVS0NCj4gfkw/QipfOSYkI0A2TEw8TypjQW5MDQo+IHpmcUpK YSNFYzsoUm1gdm54eWl6STFVQVF9Y19pPSFGN099MVhwITU/cXV0RkQrIV5CYSpSM09gbSs+cHNN WWNjUw0KPiB6azNVVlVeJUtVSV5QTlJhdTdVQUx5P1VuQD89KWlXVjlqIURqOS0jXit2VHBBLQ0K PiAhNkI3YWhuO0IxU2ExRnJxezdGDQo+IHp2Tl99NmFoY047U3ttelIqO243NklkQDdhcmFJMiNe IXVPWWw3Q0tWQWIoTTVJa1NJS0N8aXQ7MWZPR1VZek9JKA0KPiB6ZjxRVz9Ba1kmajI9KVFrOHlP P2VRcWFYelc5M1pQKSRXPX03WS0NCj4gX2BDblh0N09gMTFWOCsrcmR0aTkzSlBFM3huDQo+IHp4 Vll7IUcmeVJMaFRLVDI7flE/UDw4akZ4dEsoQ2tnR15YIU1KanwhWXRJX0FFYDhEPCM0VkxRRXte ZSQzUUV6DQo+IDENCj4gekBnezQwI0hLWUVBTFMkVUU0JiRDZD9ZQHIpcHZFZD4zP04+OTRxTmVY WF5VdUg2UU0hYCtiOEw5fDxDDQo+IClXKlFKYg0KPiB6NWdFbUIhNT5kJTJUfUl2WE05YC0NCj4g dmNgdm1gMDtCY1B9MUpaJTQjczxWKyVXOHtaWD1GUyhhbSVXRj5HdXZpX0UxDQo+IHplQl9yUzhY dCN8ODdedGhMIV57Xk9eSD9OXmIxSjhBUFN2Mz0tDQo+IDN+TFdObSszIUUqNnU/Mm1qKnJnJWpo RW5MbCMNCj4gel51eVYtS2tgTC04IShmODRqMDVyTUxkcURhMGdkelNUZEw2RD0wKmk8R2paJCph cShxJHB1JSRYeUlFWiN+MEJ8DQo+IHo7KXo1LXZKcztrQUpmajc4dGFgKzhCbnhFSU5NMl9eeDk7 P1FxPUM+Tkl0UU1MWHghZzROODZhQkomQnl1ND52Yw0KPiB6UU5DZWZxayhoezQ1WG5ZK0NhTWY8 ciR2cUhfaC0NCj4gb2ZkNjtue3dDaHpjUmx7XiN7WWt9ZVJPRnZZQGpWRHpqY1BeDQo+IHpfSDgo eTd7QX1nXkdrU3RDIVRsVl91YCNeYEBnZX44VnZ2Sl9idj0kQWl5WUI7VF95UWRQV3lfNio+ME47 eGpkDQo+IGwNCj4gektlflBOWDF5OUVsPllXbnIpOy0NCj4gPF53N0Q0QEc8UzkqOGFKTWRIK0FS ZjNFbzBfRF9rdl9DS19MK0JVbEZwTTlnaA0KPiB6NVczNy1nPCVoa2IoUyEyIUQwaiVfNy1zYVVC QUdoZmlBbH1gO15IMV9jI0o7WTlyVjRDU1FGTTxJRGBkQkswKWINCj4gemZwQ2cqUk1GMXRfJW8+ Xj1PYz8wcHNzN3h4blFxKzkpbiVCN0xLQ01iemN2STlDd2xmUHxxJj12fmlIMi0NCj4gR19UaA0K PiB6PGEkej1yeztiT3wzbytaR0olaGN4WkBOOSo0cHVKUWZ2NHVLKXcxKTNxTnglZnp1KHduPUVZ SGZTNzdqZXQNCj4gREM9DQo+IHpJUFoxKlJad0Y+ZTtkU1BFJTx9WipOczBPJH1JS2dXKjNwaiZH ej13NEVgY3llenBtcDYqbl5CVWA2VUMNCj4gQEstX00NCj4gejFocDkpJH5HYUpBPTJidmFnPVZ3 ZFN2TyNhQ2h9VittMDV0TChLSFBJUGNMOGVDfn53KWNuMH5eZWw4ZkUkDQo+IDQtZQ0KPiB6bEkp WkNAPXR1fUhlY1dnUD8oWjBhOXphNE53JUdqU15JZ18+Z1R1e1BWRD1NNXhqVGQxXkFIOSo2OUd4 aA0KPiBfQWlBDQo+IHplfCtzdUBBXjsoM2M7eis2dzEhV2kzbzQ7M3NAS3Nifn1eYGJqXksrc017 OWJeU1lpN3cjOWNOaDhOIyRqa20NCj4gcHcNCj4genlHUzImJGNUXj0tLQ0KPiAjIzBtJUQ+Sz5m MEpgWEVPVVNeIz9wdnNZVXdaSlhqY3x4WDdXZ2xEQmFtOSZ3KFkmRC17NA0KPiB6U0tqemVKY1pP MHtaVHA/WWghUTBWJWMxTDdVV3xtMiNxKTI5flkwM159dGkjPXgyZG90Znt9a0NTYk5ZOUBIDQo+ IFJ4DQo+IHo5cX1IKDA5Z01JUTFHeWIyVWVJPWljTnRtUzZyPTFoTjBzYkFOOChGKnBreDczWiZ+ QmVTWHp0OTNDRHFEaw0KPiBiN2kNCj4genFFNTZTXkxIcntLck0rbzFnMnVUJFJaflRxOUxQWCNF NnBqeXtsfGQ+Y2Y5QkF9TylUend9ZkooPlVlU1UkO1poDQo+IHotSE90UFdFRnNOSVNLN2QzdHAo bmM7TV8hUUN0VnRoLTgzJC0NCj4gRyhAXjdFPTN2T3VrbHZKKDc1Z1pJcHRSb1EzOH4NCj4gel8o XmdMLVRZX29LPVYmUU90dj9gMUt7WVFldDhBa1RjJj0/PVNJUnlBUyM+QSZzZXQtKS0NCj4ganZF PExfaTVQdlJtTg0KPiB6R3w7ZDhFMXw7P1djKmFZOXklJk5kYWF6XzNJU3NrM1Q7SWBWdmhIV2BI UGFOdDk1bHU4QiEhdXs5ZEtZKTtMckwNCj4geko1QVg7ciUyaHpEUkNVTGIhekhIM180dkNjZllE ejV1SFM4Xik7UFNZNlYtDQo+IDJXaTxATyVfZElDdDtpeDI3biNxQw0KPiB6aSU4VGx3eS1PbVlE fj98Y0x1WXR1WEMjWk4xUnpObHtuZn5mPkMrcyh9SkMkWGVfJWBUPzx5aT9yeT5oYnA7LUQNCj4g emNlQEFfajM1KiNCP0p5VVEhQEBXPzAzMURjb19wPjRZP3RMdX42eXluWXMwSXg/YUh4QVBKZ3B5 SWdtREoNCj4gRCpkOA0KPiB6b3EpKXheQWooWj1qTU4heWBKcypNbmJQdkgpYyV0b0wzPjtsZXJp PHVnY0JZXnVCYl4lT0tSOG52Yj00fDhjUw0KPiA4DQo+IHotDQo+IDRAQCMkX3NBUm80WG5XT0JQ NXZyPzMjTCFrRG0xZWRRWVpDVn1kaThnTjZvYTM9c1JpNSsyZEB4NUJURQ0KPiApSFg1DQo+IHp2 NWl1PV5nU2tiSHhXa3VoQmhqVzdFUnR7U1JwbSE+IXVHc3Q/UC0NCj4gOSsyRmM3bnt3KiZ5eiRx YWllbGh+VihKVysNCj4gejc7eyhTUnxnVFAxOUE/eTcxRFNSQ3o7R1UjaVZlX1lVRDQlLQ0KPiB5 fGUmWUA/Sj1JfTJWYXJocnQ2Y1VYaTk0cnF+MQ0KPiB6Tj92JlFeejh5JlZRb3tZblh7QkdgNFls bEdXblVPVjtoQlNMcSQ0KjYtfWdBRk17US0NCj4gZmFPaFdxZzBuKnBUaV5aDQo+IHpwR3hyI1Yy Sj1JZGs5d1k5MG57P1hUY2lJdGd0NEExMkolTHB+a14wcmF0flNOaSNOO2JDOyp+KHJ4aSk5azlH fQ0KPiB6eDMrSUk2WH1LPz51UDk8MkAhZjgpcEg3Y20teCpZLQ0KPiBJcVhFaiFsdjJ3NkFzfHJt TSFNa3F2OGtWaVdxU0krOSU+DQo+IHokY2ZMRzIqPz5ZKiZeMVA7eHJBMXh7PyRuaz1WWmMrN1R3 Mz1JWldtZ3wrdllYO0FfPFQ/OSh9SFg3KCtadGgNCj4gdH0NCj4gekNlUlN3Znooc045NUN6cnta bGRrRm1KR2EjJClsb0E1UGU9WE9kSFFLJEBgcmNzZC04I3heaWJAazMrIVhrbD19DQo+IHpCWUdO cTRoP3VFRFdtez4qVzNpYDJPaUgyeDc+VXFWdzdSPWJqKkFWZEsrfnY+IyhXaWdeb2V3ZyppKg0K PiBYczc3Ry0NCj4geiN1NFIoY2tUR0tAJmFha3doN29VdnduT1I5eipJNTcpYTVyXylPZXFLY2A7 OVcwamh6S1d+azl5bzt8XnBsDQo+IElCUw0KPiB6cil1PntDdlYlTT8hNTZgY25tNDh7dFJxTEZo ZVVkb0NBSTJOMGI+VGYkUUZEPkx0XnxCYFkpaFNWI3JAdnR1DQo+IGRRDQo+IHowKCRSTDdmU0Ml JTg7JmFeeUZOYlZkWDx3WDVlcXtLUkwobzRsKUROTUxPfEQtDQo+IDxyTlI/fkN1WEA3NERBTVBA K0QNCj4gemBJbndII0w1ZyE9dW1ZNmpeej9iMFptc1VAdnNlVjQ8amlFYn1ydClUMm9UTUJXOE1C Xj5sRipoTzRYNSYNCj4gVUVxOA0KPiB6N0M/WmN1ekRJPlMqRV9uPWYpUH42Rz1oeGJHaklzbj9I bj5NTXtARHRkdzA5UVgzRT5RS3JLSlFFYDshTg0KPiAodzY7DQo+IHo+Z3ppTGA2d3l5ez8/QDtE VThmNWRDQF4paz40Rmo7bTBKNFRXIzZqSnp4MypidD14eVMmRSNINmomMjg1c0ANCj4gfmwNCj4g eilQKlpkdF5QeWpKZTtJM0k9OHIlNTc0P1R5Y2tKQTNRTURTWD0wZ0VqcEs2akVuKmgtdStGQ2t6 NH52UFBmZTJRDQo+IHpRfEAjbTEkPCstczxVNnctDQo+IFE5IzJZQWhhZmNTQlA2dV5+JjU2bUdT WkdCcCRhcmhaSik1bE1sZEhmfnt8QX1OZmANCj4genQpSjhObj5HVSlERStASylte0gxS0JvdjxC bjhST3VJRiglRjRDRkxVZTkqRGtyYkxBR2tFZHBfS0JvJA0KPiBUNWU3Kw0KPiB6PllYZGY+Nip1 Ri1xIU8zSDtAenY5RGpnNUYxTCpOSiRsdzNBVVY4P1pieHt4NH1RI2dsIVIyOWkyN3dYQ2plIXwN Cj4gekhjRSppNm1hdjF0MnR9OVpmSmtSYzJ8bGxzWT4weCZqPnlqPV8oeWdDfEhaYVN5NX5tRm41 PmB8QUpUXkV9Pnd3DQo+IHoybkNIeWlyRzJOVXdDKzl5MmNHPVhYZk1WeW9OWFVPRXZOaSgtDQo+ ID49bG5GUmpva3s0Jn5hSG9qfjFyUVVFMX5WaioNCj4geldhcklYcDx1S0sxJnlwMSFTWXdZQCYt WkB0XilSWC0NCj4gVXdMVSsxWFFybHtgNk1uUHhEczFCOE47SDRkXnUhUkxXPw0KPiB6bXIoR1cx RDFGMCo1KEtXQGE4MU0jQHZRRkxjITR9R148Z0Y/YWxNb0YqRztrYHEmaGk+ayRuVEN3UTQNCj4g T29jekk+DQo+IHpYSllQNSNGdkFeIzVWR3BrOEw3WFFoYXo7Kk12a0ZRY0l0fV9ycih9bTlod31F bFIldyNNIXZOTjgkTztjKg0KPiBYKH0NCj4gemclWUtwLVVvQXU/RjxrYldtWnRIbVAhbmRjcDVv PzE3LQ0KPiB9VjN4N3orQW1JX1Jyfm5EQyF1IX1wVU9seSE9JGxhTw0KPiB6MSptZTBSa2prOWBX M2J1cVJJJjJXYHIzbiM8MUJ+dHkxUjZSS18rKz9HfU99Y3EzanV5bTFPa0h1NGRiVg0KPiBWeXtS DQo+IHo1UnpPYXhVbyZDTmVfUUx1ZXJZISo1MjwzMmFlcUlXRyooYEdxMDc2RnlZUi0NCj4gcFV1 RnsjJmQpbmZjPiRSQ2NAdT0NCj4gel83aj5rTHAtDQo+ICReSkZ8MkVNKWZ5TFRRY3RucTVOeVA+ MEp6bExGQUBDJkkxZH4lMXU/Tisyd2BmVDI1Iz4mfnxEfA0KPiB6YT81RitFPzY7Sj9qNHFGekZ7 UyU8LStuOyMmZDNuZG9wUGV2UDU1bmMlcitaUSlBZEJvQD57ZmZVN1AlSS0NCj4gcF9hDQo+IHpi Xl80RVFqa1dabl5IJTxgV2R3TXNKRCVDaGghN2c+MlRfQmJXPXteTkMkLQ0KPiAjKl52K3hgPipV c3ohRko8cTljU2oNCj4gekJrSHhuQHJzYW9CTFhTemYpdlZ5Z2slJWRoN0IlQVBHU3YtDQo+IE1Y MkZmTk49TzhSMlo/fHUoemFwVGN3VTREbHNQIw0KPiB6Um5UTkheZyk3I2xXbyhubWhPODlTfVRi byMlUFIpRDZ8aEFZVW9xWmIkVFVJWHBhUE9XPTZCeXJDVw0KPiBCcGJqeGxSDQo+IHo/bTxoQUxp fmVDTz1pQ2ZxZyo2TWlSKTgwX1BnS14jT15BdmB2KUU7dDdVamxmVSVLQXlDdT9Td35hS34tDQo+ IDduSlUNCj4gejc2UjI8VClLNm4oUWVLaD1ofncxLQ0KPiA5K2p7ZV53cHR5dU1qbm9GNEpLSzE0 VGhwWVY0SmZed3MpVUYwU0VlTnE4eA0KPiB6KnB0eyQhfVBnOUVZOzZ7IzV8PW9QaX1xc21IK1pq e3pkciVPOD9hbGBzTDgmazFfU2gyNzEqSStxcUN3WFMhPm8NCj4geik3JHpGRDFVdGE4dEw+dHIr bWJ+YDV5RVQ9cz99VkxCNE12XyNJUnZfO0xuK1QrK0EkVlZmbjdFXmsyayN2YFANCj4gVQ0KPiB6 Yjs5YChebn0yO0pxVmg9PnxwUy0NCj4gU2o4NGpZUlhpUUVQXzErdiErTz5tRntJMWhYVXFQODdM fiZXYmghbGhHU2V4DQo+IHp1QT1QakYleGY/PHp1aSZJbFUkKkNpYX45VXpgcnR2fGJ6dGc+Y2l8 SmshcVhnQkpfXjgzTDF1anpSP0gxKmRXfQ0KPiB6Z25ib056SSktQmgjPj9XZHcwUT0taXcwMTEm Qzxkb2hpKGBZITkpfEY4QGV4Jj0tDQo+IDNAZUt9Uz1GSEd+eVU1enBBDQo+IHozQnxVd0FMY3k5 I09LdHV6PCEoclhPfnQ8OXRIUyZzP2xsTmk1YG4rZi0NCj4gSiU7UjF2OHJ7V1V6SWI+a1RJYldi dzgNCj4genImX1hMQzlIPk8yWDxtMkQ1dSNiO15iPiUpVClrVFJyI2BnJGlNVyFZYldmWTQrZUxp JFB5U25rKG8rIXBUDQo+IFdgWA0KPiB6byQkVUxyQjZQY3cwJnhrJEo2OXIqXz4+Q0NDTGk2PFcj QUp3aG1vTEYyZV8jKlo0U04wNnhAVkBCIU8NCj4gNzhpSCtYDQo+IHo5UnlKYFQ+YW82Kio4JWtp dDdPOEhAeUFKS2prZ0o+WTR6OVA/ZjtKOHN7THchRnFwZSReSkB6aVcoIVYpfWdeKg0KPiB6ezV2 Y0xjJVR1RkQ9Y2kzZk92cytgVGA/TlI7N2U/d0N7Xk5TbXxDQVghcG5kZj5NI2R6WHxiPl9yZDdm I14qDQo+IHFMDQo+IHpZIU1qajlYTipZV35Va2BtPz5sVDxJOUF8KTZnK1deZSk4OXVoR3VMWGFH ekA5WlV5VjV2UVFlKClfVksNCj4gYVV+b0UNCj4genEjMEo8R2ZaOGslWTgrPGF2VUt4YEpodU5n P3kyJVBBdiU3ZD5EZmQ+R01iZD8wYX5Tdn5RaE9pMmE0Xw0KPiArd3pHYA0KPiB6cHJ5SF4yJDta fGFWM0lgPTdVRVNZKF5ZJWMmOzg0bzZRfnNZTEBjPigjQCExV0NidDI0Pl5PQFJNd1ENCj4gS0xa Nj1mDQo+IHowWn5HKmU0WHYoaEtsd0MjQVJSP04yTzVGdzdEIUhIfHpea3U5RH15MDxIJFNZX25p Qys+WCV8WHh8RnwNCj4gNTlIc0wNCj4gekNzaG8kWj1HSSplSFpROUR1STA8PjFFXz0tZG0oO3kh ang7KyNiRHVGNm9vcitkNENrUDI1d2hSKUlQLQ0KPiBpR1U3Ow0KPiB6ZTkkVXZNRmJWT3ZeJkU9 SHQmMk9XUGAmZV93PHVadFZCWTdNI1lESmA2XzlseDF4eWNeMlpXPDQwQA0KPiBZQ0Q1QmBRDQo+ IHpaKjIzdnFtcVMhJUdpfHJ6VVk3MFYqc2FmbVpyVDVNe0pENUhMdnpxVD1RI0JMZXpETFFaQGhS OCRBVnozDQo+ICEzTH4NCj4gekM8ZzNWXjJGVW9Sa1VJODI+XyhNLWtrTyNjY1IxI0VfcCljYz1m cnA2ZjItDQo+IGlAfjgmNiNobk5IQysjJW1hSE1RfA0KPiB6VVN0Q1RQSjVvPzxEbCpGWjw8fFBE MXY/KygrcGFmKmM5dz5qbzNEMEtOcFZ2Yis7SzdTK3d+Um5Od2l3dg0KPiBASmRzDQo+IHpfcU0m bWFCb3sxQEhZMj1JSzhwR1cxSUlMbTR4Rkk1V2NOJjZ2QElnY2l7XzhiSDU/Q3NNdyYqbUgNCj4g b0chdn1ZY1ENCj4gem99fSh9KHlIXkY2MWRDc0pQYnFqQD95bFVHWjxOYihiPj1OOFNGTTQzMnsl WTVPTUVmV1E8SWZWV0RuWQ0KPiBDcXUjdA0KPiB6bWM1P242IXFheFNXKjZ8JjJxfndmPFdyemk8 QmE+bCVfQEBubUdraSlhVG5zZ187YjQybWh2LQ0KPiAhPzE1T2syM2p6DQo+IHpjMSlWNiVhZ2g7 Xm0oOylgSkZneUlZS1VXK2gzJmEkPTJtVWNVXyEoeC0NCj4gS2tEI2VabilrfngweDkjMG1FMWZs dFANCj4gelhhR05fO1dNayliZVRaKVFRd0ZPZyREWCE5cDJodUBWMHNAdyFOJUFfIWRZU3ZyIzRI YWZHPUZ5ZnQNCj4gRGUoMTN1Mw0KPiB6N3pAa3hAfTZuS1peZD5MQlM8MDgwfWR6KSVZZEhaaj8+ RytrZWM7bDhQIURPSjxfb3FgQjQtDQo+IHxEM3lTTVE8OWMrDQo+IHo2aHV1flVYLVFnQT1XY0U2 SWZYdiRmV2VZKj1lTiFzSFZ5LQ0KPiA/bnFyfXV9V3koT3o+YjxATHolajY0STJlN141ZUcNCj4g eldsNnVhPWc9PkxHdUVUJGtWUUJ+ZGspOEZtfGF9SGJuakFkVjtTZXxXfUtHQFUjcCo7VXcpVn1Y QVViDQo+IGJmMmU8dg0KPiB6SzRDKWpHZV9aNjUlRHxBO2Q8REtmfEh2a19Ybmp9c0RJTm5kNj9K Xl4jX085N0RLVDk4WllaI3I2dj1wSUNQDQo+IHN1DQo+IHpAcHk+I00waHUre04yTDE1I0QmZnRu YVdOQk07M1ZLcmRafnBfaEs2cGc+UDlJSnlIOzV+PX1xKURlM0MNCj4gYkw/JUgNCj4gemVMTFFs ZW1Bb3g0aXVKb2A1Wm1fMjBMUVNJUUZzPTB9JFBYKiV1V1NERkchVXIrWG5MS3BhWDs8Sl9DSTAx DQo+IFFXfA0KPiB6SjlNZE4/UzJtO2JxdmI+QVZUYEUtDQo+IGsxNTlsVkZae3opbUhDMWROd3tP KT9CRkhGRnJKYms1dz8qTUolSF8qeVhsDQo+IHpVeCQ7SWd3cXxQIXImIShKfE54eE9oJi0NCj4g fl9TUX1XdmcycXk8PHR3Ymlva0dFPFQ8aTVQdERucG03MkgzRiVEZGQNCj4gelcoWERNc1ExN2xH ej0kWXE+a0stbmJuTiVTcV9wV2dCaVRoe2tocDVvY3VMZ2dDMWB8NTZjQkQ9Wi0NCj4gSVFnVnJm RQ0KPiB6WGw3T3wqcDYlJVglaWQ5ekBLJVB7ejA9Mlo1KVpXKT5kSGxzWnp9bjBHe1UqUmJtbmIj aENNXkFXamwNCj4gI0xPZGkyDQo+IHpnbEQpIW03cXI0WWcoKmNkKX1mMlk0bl9oUihYWC0NCj4g KjkyXjwmS0ZONiE9UTYkaiYzVHxZUFlVMEIkRmVPbGIrdloNCj4gekJmZE8jISohPyFQeU1oajhA eEtXTStXO3preXtUKlooYkNjJjZ8QW5xQSpCamJedURKcyNCJWYqcUY8SA0KPiAqQ2B8Qw0KPiB6 QmVgVCZROHxzS00zMz1AMjxtLQ0KPiArO19CbkcxekhfSyNTN0ZTQWBZVXhWPkhOJUV5JFU8QWxu SVklQDJxdjE1JjVkDQo+IHpBZW1YXlRhYXgpcUpVZn5BbHVTIUxGUSlfcDV9OT9QeyNrK2VETnE9 Z2REQChHI3BwfTx0PGIrezVDQH14DQo+IDJDXzMNCj4geiUpc3pHPl5ffCpZZmcmWTI/VENPbiRQ RzB1e1g1R3ppeEteaUx0JGZ7PF5pQWdwaSZqZkRNWDBAY2FCR0BzIQ0KPiA2cg0KPiB6Q29zPH05 UGVGTlU2VChfcEFnKnp6NFJXQWN1WU5lUExYOy0NCj4gbj1HQV8jJCFrb09lR15LJEhKT0lBcXZL QilVSjZyDQo+IHp2P05uT1N4S1UpYn5XJHdxQjhGbEFVYkJhQ3YlRT1AY1J+SGBWY3huJWJoRzlo dFJjZ207dG1qQ29fDQo+IHxrZHIoOTYNCj4genp2d2lteE9OT2JlOXJ4MGRII3ZXbmgzN1g0RHI4 K2tVSFZAKmg7eHhXNTxWampSSkpVYlRUZiglemlxdg0KPiAmbm0+bQ0KPiB6Kj4zOzNuV0lqT2J5 ITQ2OzMwVV81PmFwJGIwTyspQ25IWn5BK2w4Z1E5T1Z4cEpuMjNSMG1QTlZHYG9mQ3INCj4gOS0p DQo+IHo7VzRDTXN+Q1cmMDEkOzB3fVlyKVNNeSNWRCpSci0NCj4gNHEmaHdoemYpSVh3dCVsUWNG TFRFSXpPJHtheUJgWkhgNyUNCj4gelNWS25oWkcjTT1ybm89VWpTQHIhKSlHO2EyR2BDQGhTdzUx Zj8+Uj5YcyRoI0lLKHM1a3ZPT0xUZ3xFMkxsSg0KPiBQaA0KPiB6aUQtTWRqMV8zZ29YSTNXNjI9 bikrNlhafUJpfVk7TXheMD4oI088YTwocih6IV57Vil5alVzSkFyVUAmdF9jSjQNCj4gek1YVkZN bDVoXmtrViNHSFM0aXpSRUZjd0I+Yjl7VHFGa2whV1Z6NClhJXFhN3M1flJrNiEtDQo+IGRQJFQl QCNfQXVRag0KPiB6c25NU0ZMbnduJFUjUmZoajJIc0teQmtzZk5vMGopRHp7QGF5UVQ+NiNpe0Rv N3trczgqQ2B7NTlIdnRDak80KWwNCj4genFrQmxIciUqKSpBODdgJGFBfFl4dFluelZyNTVENzch RUZ3bjNibGc4e0hzdk4pMXcmJGA4TTdLdkd1MD11dg0KPiA4JQ0KPiB6ZlpVeWFMTUV3VnhEbSkh I2JSITBVQkd0XnVWRE5pJVBXKlJtSDkjIzB5cmhrQFFUe1NnNy0NCj4gPzBLR3lGbntMbzJ+DQo+ IHoybmZkSmRIPWQ9aE1nR09TNGZ4OEUkbnUjaVRNRiVBQXBYcWNSQWRYVVc1MFRFQWJXfkomfnxV NX1wDQo+IDhwPT47PjsNCj4gelV4eDJZZ3F1KD0oYnNxfVIrfSYhUCYrJFRkcispKT9gSXR6VT4j KHZmfm8xVFNfPW53NUN7KFVBVCFIYz5ORll4DQo+IHp4YU08IUVSPmw2PFh7ZyptO04jd3lXMk1h a29NX0VyOGx0QkFhPHo5Wn4mbnVlJSRrSEZCa0UqdV55WA0KPiBHV1okLUINCj4gekNiMkQ9Xyo+ YUhlKX0pXil8eHBrZUxzWFJxZmc/OGx6ZUUoNGc8PFZLIz1QXnk8c3ZfN0g4dXIwWkdyU1pATw0K PiBISQ0KPiB6UUNmYWxHZUNZaS0NCj4gMTxjSFp5bGBIWUwqZEZDKV47R01YZntmX35UcHlWfUBL NThQa1chdjRnfXNLTTVsJSFzd31VDQo+IHpQbSMxQ3dRd31hNDkwbEdLbSNpR1BiaSR9JHhNbH5B JDh5QT1PTjttaUwmPE8kYThvSDVnTzl0VnRLRUoNCj4gN3YmNGQNCj4geldOI25gZ3cobSROJV8o YEU2SkZ7bS0tLWsxYkNWJmgxYmohTV87IWFiMlJqSWg/a1NxKkRZSkpvNmt7aWprai1mDQo+IHpK RF81cnohc2FfaGdYSlp7c2E3UzxwcjVZNnM8UkhfSWdCNGcjO2Y0Vyp7LQ0KPiAzd1M3XnFgYjFe RT1PI01IZlFjbngNCj4geik7VGIoNWRON3VTTTdQcG5kSi0NCj4gPEtkRDh2JjtHRDRvUXhERkx1 WFZjTCo7TkRNSmZwQ0h6QTJQY307bjdCN1olaw0KPiB6NDlfY29mTEYhZzVMQnVXMEdabyYwYllB I29qR1lzQ15mVVpQJj9XcClmdmdfeX4rOCQqckM0S2koYHcrJisNCj4gZS18DQo+IHpzLQ0KPiBt fDE/MWtlfj1QeWs5VVAjTz9fYSRjZVZ2QW9XTD9wVU05IUw3ajdyZzJVbHFXYTA7M280VHQzNmt7 YGsrNzINCj4gem1SQlk8JX10OHkmJDlhcVNxQjd+c3EhVk9lSFRARXFnd08pJUdGZ3I/fD1hP0d1 KyZ1NU1TYWRaKD4NCj4gR2E7eDFwZg0KPiB6RHM9cX5Ie0VhfSFZQjUlbmUmPndCREVpX3o2SXsy QzJGdjRqPXc+NDU8Ukc/Mjw7ZlRzNDdrZSgjaj5zVHZ7aGwNCj4gekdkP21DcXpOJnY/Sz9UXzVl a1gzKUQjQjx4PU4+dm9LSCQtDQo+IFg3IWJDTilCalFycDJhcXAkJmFGZz1wdyZBTkQ9Tg0KPiB6 Mm1RKVp0RH1pQzJLTiE5PXRAMGlHNSlGeXNnbTlDPj5NcmYzfGxaM3hfMmw3eUo7JmAqSVhse2ph UDhqPUJ2eXUNCj4gekRNMDQ0TzR7fEpXNX4xP0xWRzQ+TStVckZ1TDRaJSNCNT5TMkVBSCsqelpL KVBHSUwqQkU/ZzRXbl9pDQo+IE0mUUc0cg0KPiB6ITQ2SW1ueEladj9WN0syJUUlJk9obmR5PENu YmtJQSMpQ0FSLQ0KPiBEVStxanVHaFFxSFZoJTZ+anFvSDxHTzBEMT5aDQo+IHp2MUhpP0cpekFA TCVnMkI1enF1Mi0NCj4gJiV9d0BpXl9PPWYhUXVyPUVTOWtrM0w9XiNwRXttPXhNczxaPXx2OFMk Xl4NCj4gemJ9OGIlTnhTNXZXR2E2WW5zdlF5KT1qb3FmN0Z3eilqfSFHaUkrPl5yPVZ+a0smUkJy VnJLUWtIPjZwUj9VDQo+IHtsPQ0KPiB6an14R34ofkQmT0wpN3o8YGd8OUhOckE/a3p8YHNFZ3Q0 Yi1eLXQ0PipRfHxGO3ItR3wmOHMwVCFfKT93SCombmkNCj4gejk2M2kyY1d+WHdMbF5jI0VCYDlX PWQrR2FaO2t5QV9+VEU/Mlk4UFUjTiVBPzRmNWZiM3tJTT9BPWhZNF8oDQo+IGQtQA0KPiB6Q0Jr K29xPnFFRWBJMUd+Xkk5T1Y9KXpMeVZwYU1yX0p1KjBQTn5yKWhlXzNaLUpxLQ0KPiAwcUR2aTEx aGkmbXQzTjtHDQo+IHpeeHwpRSVVKjBAZ1NTZUdtZHNnI01ORm9jJHZZREhNaDsrI1hDPWlKb0BM dm16UXpZRmBOQDJURFYNCj4gflF2eEA+fWYNCj4gej5FJmAzMmZvU3BEOG1RPytlYW4xNEQzfCpW Znh8a0xudFJTa0UmIW8tDQo+IE5SQ2dsTWkhP2lpblM/YUJzRXhoQXhSZw0KPiB6WHFKRmpQJShy LQ0KPiA+TEJ0dXEofkA1ZzhQfDBVdXdBRClRaD9he3QwfFVmKVYmTjlARz4+e1pfUmIhYktLQmtM KDF8DQo+IHo1VntHV1RVV1o8Umk9fiZFaTlLeFVGdF9BZFNJPFhnT1pmK3l+JDs/SFRocmtnX2lD MEVhakBEbEw8ZV4xaA0KPiA3JXsNCj4gejduZW5VTFYrcnp6NzFmVVI5P3spSCY/KFR1dCkoJjJB SU9LfEheWUAqX2YzbCVyfTx0WFpod1ghe28yWSkwcyEpDQo+IHpXWStsTUgpZFd2QWhaNVhfJS09 RHxGNXZVMDF8ayVrfD58d25FJHBUPHVCQ3ZRLQ0KPiBrSGxIfDlWMjI+SGNCIW44bDkNCj4gejIq NVlycjJYPTN1PVlhP0NHdGsoV0gjLQ0KPiBtaHwyYTQkbjB1PXYxJEw9Z1J+I3RyMlIrODl+dDhH VXFlbjJ0aVMlbw0KPiB6QjJGNG1nejNNP2J4IV4oMmp0aF5yMlg9M2tvSEg4Yk1nLXhrWTlnZXst DQo+ICtMP3pveUt6Zjd+R0wkMlYjSmZYb195DQo+IHo1VnlUa0YlJiRzMnhLVi1BTjYtDQo+IH1i I0BgPlA3TVJ2akg0bG5kdChRMEE8eWhaMG0zdTJUUnFrakdNMGQhRGk7RigNCj4gekJ6ZFZtTVA0 azJKfiZkfDlRZkcqbU9lfGBfJVl6P3l1YHN4OX5iYEI2Zj1pNkEtDQo+ID53fEA/elprQ2hhPSM5 KTcqSg0KPiB6WmwxSSY2SDJ4dT1pdGpWPHZ6YU1uY24ld29wMH1LQUhGQD5lYz02TSVZbkomQzEx cyp4TTFoS0JQKT5UDQo+IEp9LVdlDQo+IHphR2BlYEIrKFBEREtFalY3cih2KHVOYFFRejI+PWJi MX1xVz1NVlQ+KV9GRmhTMXFKc09XNjhyd0BIdkU7DQo+IEBkYE4NCj4gendlZVBJUHF4I2lRT2st DQo+IE4xKFRTdF85cGVEQTJVcCNnWHl4MEpfK1VvSCM0ays9ISNAY3NUKSFWZChmS1NpNzVDQg0K PiB6SjskNEEmWk45ZG93SkpibURhI1RvYi0NCj4gfE5KI2JmJHUmN0hPKk9PaG05QSl6XzY+TCZI czYkZlRxO0VaJVJZUjspDQo+IHo2eDReXk0hZT02VUJAPmViKENtaVpMQ3pqdDVTYXh7VHwqKXRX Pl9NUik1eS0NCj4gT3NySSRjWlclcjghTlJDPkZMJFgNCj4gelVtWXV6Y1owPUIpeklvSkcmI0NY THp7MmtOdnU+MlpIfkpKKHctDQo+IF9jWXRSfmFPYnomfVcyTiRMVjY0PCRPbj5ZeQ0KPiB6KXxV NVI2b3xhV3lGfXdrPGNNd0xtSGxScHR7ZHY9dy0NCj4gSCp7dT5HYn1VWnhpUXI+b3piXnQjXzlS X1pVbFlXbDRWDQo+IHpXIXJ3TTlMYXY7b0FoKFZaVXV8JWJCfUZZVmRgTz09NnRTdCNHakR6WSZ+ PyElaFdyS3U2ajc+YnY/dnlaDQo+IG1PLXYNCj4gejcqez5razY9Q2NDUzhWbD16ekNHa3pJJHpw SmgkdE1UaD8zVnUlN1dxNigmPE5rLQ0KPiBJIU0qaVQ5UiYrNCpUcnIkMQ0KPiB6O01+aXN7XmJS REshYCpwaWhXU0ZfJXhGdGM1dS17JDBISiFsKERYVUo+PWltVVZrRmhnWUlBbEBtRH1LQC0NCj4g RVFgDQo+IHpFal9Ccj5zP0psWlQhWlMtZ2V8YEs4Tz1ZU2thaW9jPVk8Py0kRzdBM2RJaCtaZShV WnZxO2Bja3R5Q0tRcCtVXg0KPiB6dWs3Pm55U1haZmU5bmRJPDNXaiM/SlRaISVGRVFsPXpNM2FJ X1dqOFMmR3tFc09qQGtseF9RYnd2Vnt4b0ENCj4gZz5sDQo+IHoxSm1JdGFXbl8yNjVHaEA1ZFJ+ KXUlMW4oX3xSOUxUNkBZJl5hRTc0VG5hUilEYWFvfUM+SjhFVEhQJENmDQo+IHI5PH0NCj4gej50 MHwyMn57a3pXUD9mWjEkTSN+STl4ZWgxPGpFdHMkaFc/dj5WSEh5ZEVWMjBsT2E7MVNETXVERShS djArDQo+IGBTZg0KPiB6eS0NCj4gWTB3RkxEc3pxfUs+d0RYUSUmMV8zMz1WRyhmRWEzWCtqKGw0 TiRzWVZoQVJHIXtZZ0hRK2RgJD8yRVU7MzkNCj4gbQ0KPiB6UXM4ZHNFMXZiJGomK3hmMilmX2wp VS14YDB9RiFFdEJ9UHxSLSY7SjJ1I0wjalZYOCMlZ3NoIWl8QE5DbmNAdlgNCj4gemV8N0BCSUte LWBlc31+IU9KTzM9bHtwKDAhYE9DTUEtDQo+IFdMbzE0bnI1ejxFdHc0MW1gcUNVN1EhVWxOakZK PCpqdQ0KPiB6SDQ4TCRAVH0rPWFGLQ0KPiAwSkApb3VvckhMNTcxa1JkQlVXbnZ+ZmB8aW0hVjAx NjBfdl9OU2lQbSRzY1hDbEB+aEluDQo+IHpOMSFkVW1QX3h6ejNIU18mc291dlFvJDFKWFdlRUI3 TUkjM2tsRjxVakV2V0kqRGUkJW90bTFSazdGSQ0KPiAlKHZMX0gNCj4gekxKTnNUQj8jZClybWpm RDx6XiRWPWxDQlBmI0ghJUBxdEc+bys/UTM7MEpgYC0NCj4gdnFoaDNwXlhmMzBtNFVmPTw2Iw0K PiB6SlFOY1QrflB+TTxSKmo+eSliJEBtTzFkdCFXb1JgQmlKcVpmPEVXNVl1Uj9zUW16eGEoI3U+ S0NQbQ0KPiBAVVhFS31ADQo+IHpKdVdCMS1vQSUwUHwrRHordjRaZWVvOWchWDZsYF9YV0tnN08+ P2tAQTchKkYrIzxtdTlXYS0NCj4gVHhFYGlLS1gmN2gNCj4gemZib31wN1JeUHN2V0YyTnc9MDcl SlpLcipvNnhmSz58cVlhTn5IRTlCfF4yfThoZCtNTGY+clU8RVErTw0KPiBvUU1wRg0KPiB6JCVZ NjJ5ODVNcHkzfGFmRjVJPGotdm9TUWNwcy0rNVc9IygjZHVwQS0NCj4gV0lQakhRYGNSe1hnUX4y Ul9ROys4XkV8DQo+IHo4KDNncjdmbUZVMnRsQnRLXnVpQzd9MD1QTU44XnRDSFZodTUlO2Nvckxl MjAxUUl2VkViRiR8bnBTJmxGVnNJDQo+IDUNCj4gekR7Wk5AZik7Mz9sc31mKlh0QD9Pd1NrK3F2 dTx1cCtxNmNGPG9FcmFuZGpNT2xXNlZ4e0AlfTxlMEtNRg0KPiBYM29yPA0KPiB6bkteVWolJFlO MSZmRl9LeUclUUhVWH5POyZ0QH01WmVHQ0VGfGVrKF9iKSZLY0VwbDZ6QypIemYoLQ0KPiBRVEBu P25sDQo+IHpwMmomVFAjPn50S25kJG97QkRzdmoxNUFuYnNLX1U2T19KVEJuQlpWYzc7dkBIfSF+ I0A4Q0Q9S0gjeTF1DQo+IGxHUEoNCj4gemNWZT01TG45N1ooKV90VXNFJlRZNU1sPn1IZGN4YTds anUkQ1A/RFFDcSEwQj9FNntYVzk3U0Y/R3ReZEhzUA0KPiA2VQ0KPiB6Tm0wVzkhPkYrJWVFXkN7 R30/NCZKe1Z0LQ0KPiBZTEdwTTBFWG83cit9bU9YbTkraiNZbjdjJEVDQSloNUlzbUN6XylgDQo+ IHpLKnF7ez9sQ0MjT0o3SzwtLQ0KPiA2dmRFVVB5QCQqS2ZrZUpVN0gmeWB3RSM5TnM8RFM2MXIw S1VTZCpyY1JIIT9HMUcNCj4gemFHeXE0bEMoVHo0KFFuT24qTFljaGUySEM4WXlJeXYld1AwdEMo PzB2WD9eVzN7QFdCZVFpPXdxQX1GKUcNCj4gQ3RXIw0KPiB6U2FOQjNLPXUrX1BFfGxoYHVpfWFs al5ub1R2eEM4YzBqQStlJUMpaFM5PyFfdmJFIXo0enp8Zj4relgxant9cF4NCj4gek1xdzdQZ1dz ST5TflMhRDdGeWtzUF5XNTEhSjczbjxWRVZDbCFOS3BAUzVvfTd4aCpQa3QpSylzbVBtdQ0KPiBv VkF0fA0KPiB6bEliJWZ5JVk0N2VoMEcpaHV6VUs3KWM4SCVXKGJ7KGFSRFpUPFA3KTNnTVUjek53 VEUlMSp6NEc/KSVwDQo+IEF4bl9oDQo+IHpSaT5wNjhOcFE7ITZ+Xz9NN25pNWNZQXMyZkY0S01z cHJtPSVPUWtmRUF7KWdheFp8cHc2Mlc1NXMqbCpoDQo+IFd3TmQNCj4gemN6KiZCWVppb20mcW1x KVlsYGlsdzhxYG5Bd2Z1V3B8dj4qd1hJVlclKUZCWFUoPz5XaXZaWWBwK1pJU2ZLDQo+IGhtUw0K PiB6SHwqfkswfGszdUc2Kyg7a3lVRzVpZj1hMHQhXy0NCj4gfSpjaVkjWVI0XkxkZ19MJmNmOXhH WGJYV3U4QCh4UmYwUn48DQo+IHpVWTV0OE5AZGhGMDg2O2A8bmY5ITx+MzNCZitsSFdpNnFFZVU/ K2Y0bG83eWdqbT94MSFOanBDT3g5SChERCgNCj4gJUQNCj4gelZ+ZGNrUntod0tqPCh0ND5aaXd3 Xi0NCj4gej09VmsrWXU/R2BfSD9QN31gcXttPT0xd2ZkMFZaZFRmMyFLIUl4emw+VQ0KPiB6RT59 Q29HVVV0K3MySXBXIzQ8amchcTdrO3JXVmFTOH1KYUZ1czZfTWtyZGM/VFd3Mz1mMSVEcTJlfnFu MA0KPiBMcHhfDQo+IHolPldiZHAybkJpZVZfJWg1NigydmxWcV5geFhsY2ZBUFAjZkYyO0JJTUAm c0YmRGppYVdQezBKOzFhciZfPnINCj4gPGANCj4gekhFSGM9UmRrWDdwUmEqXktXbHB8KFZXZFZn RlNzciluejdqPiE4P3FDWGIxZCN8SitYI0J3dEBROE1fDQo+IHdqKyp0Rg0KPiB6R2pyNHstZFBw SkYoJWYqd2V9b2RNOVEqVkRgekhDZTR0QkMjdT1CSzMtDQo+IE9wfVU0KEMkaFMreHlVfm1icEFl Pl5mDQo+IHpoUFEjRi0NCj4gOGg0anREfFhSNk8qazEqMzRZdW92d3R1Q2lKVHsjKm5jSylge3Il QmshVCMyYWhQNyNUWUB2SHVnI2QNCj4gencoNFBucChXMHQrblchcDloWW9vWD01YiY9elRaX0BL YDlBT3RFWW4xWX1mNUomKXJ7QHdTUlleUjsrMjUNCj4gQ1JXQw0KPiB6TGUjM1MlfFcjI0JWRGlm NHVafkliNm0yTzQrWX1xSVUmIU8mKEBfRk5PI296Zj05bztBfSs5MUdoR1pzDQo+ICo8O2xjDQo+ IHoyYE1ha3MraWtoWVJBfXNZKkU0NjNRU3NyP1I4Wm9WZWRvUjUyKDZ2RFE1RSN3MiRmZDN4cWNE OXZ1dGZKezwlDQo+IHQNCj4gelo4dDtPRT44bD50dzNEKTM0K1V5anNhd3UzNTRXVzlfVDAhYlMw WHJmd2QmXyMhNE5zYlRZKz0rRE1yaTxLDQo+IF9hdQ0KPiB6P35KU0lmK1ckNmAtT0NyNVI/Wk9G UjxzXyEpODtWX0Z6YU9ufE9VTUhVd1RsUHFYJkV1azY5b3pVRy0NCj4gSTNsRkdYDQo+IHpmMTxV RDd6SHtLJkZBcVVDRXU8NW1pZGtrYmZoanJzK3E5TWxBZExXKVNILTw7Qmt+Y3B+IzMtDQo+IGF8 TDM4c25pXyYNCj4geilUIyMrUWQ4dCVLfWpoQTk9TFQ7QGZ9aW40MTw4Y0YzSlgrSVFXPE90WWJ4 I1ktDQo+IE4xTldVY2k1VD5rWGNncXhVPg0KPiB6KiNgJTtKWG5mITI7V3VYT19sVyRiflA+IU1A UDZ9dWFqTTZDMHA2ZEF2RSlvQVBIJW9QRkoqO21OY0N+DQo+IFJyTj5DDQo+IHo1d0t3RldhRmZO Z2A7ek5aMys8bUZwYFZZTHVQOGA7KmAmJTF6ZEIzciRsTjd2WEFmSkg+WVhXRTMhNWxGKUINCj4g TXYNCj4genVUSUV4WWZhTXtAPFIyOFgyJiNiIXxRMzl4djFIVmtgQzlQQWFETTA2OFBhcXtnYCRj MGBxcjB7V2cyPiM8DQo+IDtJYg0KPiB6OU4qeGJaV3xtZEphLTE+Ym5ZWSU2YzwmeWU4dHRTMV44 Xm0kOStQeiVhNzBIXzxVdFR3ZC1Nb0omdy0NCj4gPF99cXVqDQo+IHpHeCQ3KmtFXmdTdVRjTng3 Wnd5Mng+Snw5ZXVnd0ZrIUMlOSpXZnBTa0lWZ3VlfGQ8XyZxNVRlcEVSLQ0KPiBCXi1IODENCj4g el5CTF4mbXRzcX1xfXVnKWdkSVdIMGxjNGJWenExTE4hNnx7SldtMTRUbGpxc3BGQCpUKjB7V0p4 TVh9Pl9BDQo+IGo1MA0KPiB6MT5AWDBxO1RBYmt3QUllTldPWVRqVUcyeyVzQjczYWJxbjdCbFdY YmtLaX5gezc5OHRVP1MjbEk4b3ZeMmsNCj4gIWhoDQo+IHphSk83UStefXJIZjwrR2ZkRjlYXzdm czNXPmpJdlplQXF7TzhqbztUVk03XkUkJFQtDQo+IDFeKE9NVClicWxSQ2lTb04NCj4geipLbF5u VlhifmhvQzg+QiljRXk9RUE5ZzI2PD9CdSpOMGdmRjxRVGxWI0tOaioxSyFVdFYzKC0NCj4geE02 U31OUCtxUw0KPiB6JFNtamJxTzFIJmR5V2NRKlV6Nz1wV211cVFQTll1T0phJnB6WitPVE07VnU0 VkRXK291Jk4+DQo+IHFHSmp9WTA5d2QpDQo+IHo5JkFCYm1LbCNKdmBuMjYyWFczaEVrPW42VzZA dDV4ajtSa2ZxX3RkV317c2w/azc+S0xSc0NfT09pMDVDezUNCj4gdkoNCj4gem8lbztnX0hvUilt V2NhJXhFfDlNcWNGamBVVDhKfDtSKmJARW0jWGZrTW0lMShjQmpPQUd8TVhKaCQNCj4gZlIqYy1f Tw0KPiB6PWI+ZEBFNzt2UWhiUD0oYCtadiVqPTF+Xi1ffSh7c3BecD48JHMrdUZ6Yz02MTl6Mzsr KXZWOWBQVVZybEU9ekYNCj4genM5ZkheVnMhbEhkR1dSeG0yYSYwUXtAfWM+K3NldnVNTEpQa2p+ PXN3IyZtcE1SeTYhWkJPdHVkaFhzDQo+IHIjXitAVQ0KPiB6SH1YQXZ0eE1kcShELUU1S1B2WXxB cW4pPDBAKT0/UW17JXt2U2RqdVd4cTBMPnFwJmlqYTQwfTZ+LQ0KPiBzPzZTMXk9DQo+IHpfSVc+ Zj5QKCEzYFdqfiYyQGFLfTB4QjUzNjhTQ31jI1chfXlDaEJ9Xk85OSUkU3tTfHNhSVMrKDlXbkBp Ug0KPiB3K24NCj4gemBqS0hNb1dlcUg7SSRAMVY2T2BLXjtmPjRlRX1oRCg0JXd2NVkzRGo9SHx0 QWEkUjNZP3F+JWs8cz1oPFINCj4gUno9aw0KPiB6MFpgbmJzUWVgaUd5Pmd+YHxpZk50K1Fadlcj NVk5YiF3ZW8/RF9RZm18PnVnPT0+MG1eRldjNGVlb3lwUw0KPiBrVDZRDQo+IHpvSyVJMjhuaDNy VU1sZEQ+fW1kb3VjP1d0ZkNrWF5FPWRMWTBMQXxseEgpU095YHNGbnlZbD1NQWc4YDxzRWUNCj4g eXwNCj4genw2TS0NCj4gdG82N1V7dHs5MD9Rbl9uSVo/YndYQj4xOTtZZFZUX1ZiSmlyWjhFZjY9 WXdyP1l6JVVDa28rTHMlZEVZYA0KPiB6ZnoxcUpCVGVCU2MjV3lpTj56TWZUTDxVeHNmU045QEQl OH07VG9ZdWkqeDgtDQo+ICZ+c3lWMkB0Z1JDO0g+X19KQTs0DQo+IHpROXE2fCo3U3EoJk4pP2Mt aT45RClSIWJiLQ0KPiBAdnhtUzRiJDxZflhiKzE4PkEqU2ZTR2dVU3xXdmR8PXk1ezJgX1kNCj4g ejR1USopQ3l+YSZobE1WRik3JUNQOEhRTlE1M0JfNkgzTjc+YyNqNTJfQkc+N1FGeG5xSktYJE1e eSoNCj4gWnEyWj9HVQ0KPiB6ZEMtfSpBUi0NCj4gTFBaV3c0flBOMn0pJnw9fiMpIUt7aVAlemMz QFFhUUtGOSZHdDBJc1FzVlhlIV5gMGxaZEFHbT8/DQo+IHppVzhSJTZmZVNQKXg8NUJFSHMjO25o NkBqYjt0TmdyVFh4VillLQ0KPiBYcW5NdDAoZiMyI1BZbTxFZ3pjRCNBNTUlNUoNCj4genJrSGZn d1I0KXJ7c1J4dVE3dWhsLQ0KPiBAYCpANiMxWTtDT147U29Zal9rWGVASjFKdmp8Kz1+YERiMHlv QCVLO25JNA0KPiB6KjhEWnElcVkrdW9CUmZOOGJYVSt1UXJ7Y28wTDY+e3NTajZpZ1JgU1M7dWdX ck8hd0pNd3RvMVZiMTE/RnwNCj4gKlNiDQo+IHpwU1FtYW8kUERvekYrdnRKVWFTZ0EmRyRLYE5W a2leSnZgZ0IxRk0jND4pTjFHO0smaCt0TCNkNFZrbDZKeg0KPiA2MTQNCj4geno5KlB0Yy0NCj4g dmRGWEtPZTFZKGFJT2k5RT4yQ21Dc0g3RjVAcCRhWH02PmFQc1hMMjJQNGVyY21SUmpjMEEyUl5a WA0KPiB6e2IhMGRGI1M7WnV9aXt6RjVxUkMxM2QqdGlXK00mSmQ2ekVeWjFRKlI9RGQ7aisxc2Nx Rl4waHBZUz0yQEZCen0NCj4geml9X3R5KkI4QmdCakdDcGViSmtmVjtQQTF7TFUwV24yO3huODV2 U3VEYFk+PHtZVTQtPi0NCj4gVzImWEFSVUhHek5tdg0KPiB6JCpJOE1WOGpjSDJ+YTZjMWNWMGFf Smk1Tz5ZKjNNd3p2PXhsfHNEIWtTbkBLczJHaSR0K3NtdVozJUpKPEIkDQo+IDdnDQo+IHpuSEUm MXtqYUhaems5X3Yldzw/YHkyYE5OXml6SDRoZjNSeFBWO0IzTnNlVWBTSncxRnhsXyE/a2goIylN azI1DQo+ICQNCj4gelVjYmlgOVdoWTEkNUo1Nyt7aVgoV2x2Nnk8enVabih9SGZ9NEw4eHo7Rm16 WTRKa0lWWE1AVWIwY14qdTJVc1gNCj4gTw0KPiB6RW1DbEpyZ29yaUo1RTk4PWJWQkRlYlVsdGtv bjMqPEcyTTNeQSlrckkyTFhuVnhRVWpHM1NCUXYrcUlEJSQNCj4gfnRnDQo+IHp1bnRGN1padG5h Rjw2WjZ0YFh7TTBReyVOQy0NCj4gbkYhKj80JDJFQkhCMDdkI2QpXzdGbTkpayMoZWxuKl4xNjcp Y3oNCj4genI8fmArdjJwMk0kemhOV0U8JjZDekZLdHdebm9IQjtpUHleSWpfb2ImeExKeG9hX0Va dFlufSlTVj07Rm1ZDQo+ICYpZw0KPiB6I1E/REYwXlR7K292aUR3dG18RGRKPjE5PHhmRWw3VnRx RiFrWHJTVlNENz1lRVRofjc4enIxUWtNRCtPMm4NCj4gWndIDQo+IHpsPnckfGFpanc2ITRZJnd0 PDZvdkJsVEJre0NEKk08TmoxcHFiTSQqPUhvZWcrJUd5KTQtDQo+IDdVMypDdUwqNCF9SHUNCj4g ej0/VXdSLQ0KPiBFT1Z2MiZ5THhEQkI2VURWQnNKQCh+MlpZM0tAY2l7OSprViQlfXA1TUxXXiYq QjwhVj09UyEqSC1QWQ0KPiB6bEV3S3dDbCtJZ09HM0lzc3k9ZEMyfnZhaD4tDQo+IHpWQjBkZEY4 RCU8ZUdhTCphbEU+JlBNPT5YfGtnPT5CWjxJJGNeDQo+IHpPPmVMVlJ7T3pLbFUxdiU1a0EkQkE1 M2x5JHp9WDkjcHw+MW5oMnxGV3UwdG5ONXhIP1pCTD1AbUpDOyQtDQo+IGkjSXUNCj4geiliKjxg ZnBuYn1WUCl7Z0BwQ05memw8RXc9fEFBKCNzfjEtDQo+ICRTTWNiJkFJe3BDOUt+QHVjNURwVjZB YTZfQEs5Kw0KPiB6PShKaURfe0Y9WUUhb0lgcCEjI1U7Z3xoYzxBZlMqX0JBUSYlQC16TDlxdHBf UiVoUGxUdVNtcj1uRDFpeVIrLQ0KPiBhDQo+IHpoPXZSK1A2dGVeLQ0KPiBkIU9udjtwUWZHNDZv TUtHRmNSMU8xckdaYkZjakxDanAlOWp9TDdYSDs3U2J8T3xSVHNvTm8NCj4geit6dEMqVilIZ0Ir KEx8OGspVmF6SH0xX3I0UiYhQUQmTDhraFNhRHJ2MENnelAzRnwpMnVALQ0KPiBvU2AoKj9Ud2dR Qw0KPiB6RGIoZkExazIkfUBfYFApMlB6RWxRe2FNOHJAPzI1aDBsbXdlN2FuKllVezlUR0FpPiN2 UGEhPypHQmAxM1INCj4gRldVDQo+IHpiMER8JSVUZ1VIJCgxQHU9MVBwQWthYG4kelk3RUhSZytK bl98TzltNiU0YU8yYTFEYGo0QV4/bTwqJg0KPiBRNnFGKXYNCj4gemF0NHFycV5UbSs5Yjw9S043 QUteOzQkZVV8OThsbHBwVkF4JjR7KzslVStuVlYhYG1WYllCVExQYiMkPg0KPiB3MnhLaQ0KPiB6 elVITUFnej5rcElnRjxVSlluKV48dWxZSSY9czUyOUN2UzMkaj4+WEIrLQ0KPiAwM3FUQFVHNEg5 Pz9YPjV5OGNyY2lWDQo+IHpWa2wxfEE3fG9YRD4zdU56NjJCRmRkZEd+aVB3ZlpOdlpqbXpFZ34t DQo+IFJURitgQGg0JEhoM1FgYVBHZGAmYGdrMEYNCj4gejsyVmt+aWd8I0VaZ210eDxaKyt4JVRm JHxfPUVISiNwbSM3O2RRYDA2NWJEdCFraFJ0MlZjcFEpRVFeWSpuYDsNCj4gNg0KPiB6S3l1QyN5 cHNFO3UpVHowRDUoQzU5WVRzckpFVCNneW8jTzdic2BpIW40PlVweSRkWHl2Nk1QS2BpO2MkJj91 UjcNCj4gemRPdTw0Ukg9QzxwN3UyX01vRGZ3IVNXZlpPdVY0KDUqUTQzZm5hamxfPXMwMzQ+QSE/ OVN1eURWdyR+cQ0KPiAkbXZFcg0KPiB6QWNXMkBUS08heVB4NyNYLQ0KPiB8cVRGTnI3NEM0S1V9 SClITWkmQXAoQ3dEb2BzXzU1YTBtdllCfjhDd2tpZj5fJHNgDQo+IHpzKE82OEV+K0lqIXYqfX5u RTQ3JkROTUZsbDd2Zmg8WSk0O1pXSk4yMW1+eUF2R0JxfDh8LQ0KPiA7JEArOUp6RUhLOWsNCj4g ekZ3YjQqUDJTTzt7OElsd0Moa3Y9KkByQjVKYjNXUnN+JlZ1OHxidXl7QEpfbVBZO0JockFheDxm UiErfDgNCj4gTlVEZA0KPiB6WUVsKX5mMCZrS0NqSiRpSGQ0IWhnSWg7Rihwc0ZRTnRfYEJjR3ZZ TUR3aWUlUSs/WFBmdDgmPD1YZiZedXZwRA0KPiBADQo+IHpsc1dwPEJAJFR+PmRZKUc+cCEhO0Fi JFRPe2dlTU0oPVl3X155cmBETGkqfFVCcDF4VVk3WTlGV05rQA0KPiBFZUhuSUANCj4genAhRGwt bEVROW9Femd6T1lufD9AYkUtDQo+IEEjIUQqc2R5VTUoMjBPTSYhP1FqVSF6ZH5jKXVpZiVNRVE5 TDhiVHYlLQ0KPiB6JHp+fHlzJkIkIzV6SEJDYUVsSVhHaWNIYV9OVVA9bz4/X3NIVEp9aEkzKG15 anlKaTBWeX5DUzhRR2EpMmNOOQ0KPiB2DQo+IHpje3tNTG05VCgtDQo+IFVJaCpBWGw+S3BiMXJZ Sl90NG91dFozViFJb1IyK2ZmYE9rM358T3tUTHlNQ0FXfDQ+c14mMGoNCj4geipVNTNvVFlmPmoz ZUw/JXRTcDFiWDc7fjlUQkh+d3okOSt6UDJBQ0UpJWBGUUYxbVUrZT9fKD9aRkNSfjBLDQo+ICpR bw0KPiB6PVR5aSo+bCtZXiF+VXRqS354Tz5mR2BhbDV7KXpZZ2lPTkczSEYjdFVVeFdBVkNhJShL VFBnOHN3eVhmYmYzDQo+IHcxDQo+IHpiMlErPTV7eWxERiNIZktpeW5gZj81bW5hWV4zXmB5RTBM Kld3dDUxMmR6JV45dlRgSilNekMha1dWZ1BMcW8NCj4gTVYNCj4gelVpZVFMO15YJkRnTDclIW8k dndCKG9lbyt7bkg5USUqSXY/QkQwcFZLUVBMX1JHUGY0WUBrIWglXzI7RQ0KPiAkcTxvUQ0KPiB6 YS1zazdCeypWcTFyP15wbDVla2AybUtEdDhec0ZNTVgtDQo+IH0lSGFKWjk9ZSQoVzN2KEIoY2M8 THo+a0JJdmRlIyZZDQo+IHojdUxCOG8wdDRCYDhHNEZLZnZzRzN2byQmWihpY2UjSlFFTHlten1S LQ0KPiBAQl8mZWZXMlpXY0BkISslSF84YXlNbyUNCj4genZEKipyS3V1Jn5ncW49MEpsWE9uSkwh dlZINkN3P0VxcUp2ejF8WG1meHFmSTF6LQ0KPiAofjBSSjNed3dtan5QWmZQQw0KPiB6e2F2Ymk5 Wm9yITFifDxuX0F4PXNRekBDbiM7ZEotDQo+IHxEcm5+TUltZVR3NEVjPiUyNk08Uk9NZ3J2eH4y PnpnJk1eDQo+IHpkTiEtDQo+IEUjR01HYlpCKFFKJFJHRTB1eHBAcVI2OCtlQzJNQSZQcDZASyVn flM3S2ZpTVVOd313Unt2b0shUA0KPiB5O3phDQo+IHpFa14pdU1pXkVAZ0pmdlF8MiYqcjApeGo8 ODBxeDlhNXJhQ0R6QihheUFuYlQ4cDZBO2tVKnJoT3RCP0d0Y3MxDQo+ICsNCj4geiFDWSQ0fE5h X1N8QzloUFlgMzBTJGx8RkIkMUdlflM1bld0SWNSUFlmZjhPNS0NCj4gSmhyXyhkRUt2cWR+eWVP elVjVQ0KPiB6Nm19ejF5b3F7LWJPMyFpbXxRLQ0KPiBuOGtZI2k+cGA/dTA0JXclOXxaNEYqTTYz NDFJdHwpcnR9UG1ucjBqKFdVVDVjDQo+IHoxSmlzPilsdyYodk1FNiQoelJVPWtleWJtbmp7Xj9F amZoMmgzbzZ3SFJvfH1YZHVhLQ0KPiBiaFc1MDJTcXtPdmwjN1MNCj4gei0NCj4gQmRFKGFNYmoj Znc1UiMle21ZfWdTJkhVWDVoUT8/dnVtNmB5STJ4dkp9aDQ1aiFZR3hVcFgjZHM9OXRnQXtaDQo+ IFINCj4genZjNVBlbEwlPFJlMm1GOHZwUkR4cmU8LQ0KPiAraGtlM0ZVN1h5IzZoa1I/QHwyYTYw Q0YqZEFnITJmV3t5UUwpR3pDVw0KPiB6XkU5T0czOEB5aWBKJHZ+I0FgZG4yKXp7TjhpQ2luY2h7 O3Zxbm0qQHQ/PGZfTT04cDsrRUtWU2duOFg2U1VCDQo+IHstDQo+IHpwQSUjJXVDdz12O059cXpB K1h2anRxZ1FZOTV6MUh2cE5vUU5CUzEjRXxkdVFjTGBwTT14XzckUEY3P3sNCj4gemYxMyENCj4g ekhzRz5xMkZfdmNOX2xAcE58bGleUCNoSl8tDQo+IDYxTktnZHsjaDlBRE8pSip6RXQqMHhSdk5V KGQ0OWc2cW11YjhUUA0KPiB6c14oQj9AaEVpRkg5c3w3XiV+UU5VcV5QOEZtJGtMJWNCRGM8fCNs VllZdzV6ISlQMiRGNFM+TmdSK2twZg0KPiBQYWltDQo+IHpVaj9BX1Z0aT8kSSlvLVhqMSg0OGFq LSNJQ3lwc2JyKldkZWx8RHRYXiowYFlDZChEUUJ3ayt6bSNjOChSYXNaSQ0KPiB6V157VEtMOHom PHg7SSZPMiZFckp6V098ckhHb2t6REExS1klJipfejNrcEdfJXx0VUNhNU9gXnFaI1ZqDQo+IFFg Tl58DQo+IHpJJHIjZVhAKn1TcjhMN0hIcDNwZ3EwVzBPJm5Sdm9SajNgZztoSnA9aSNSa1ppTWNh TkdLKlB7U2grQTk0bGsNCj4gMzINCj4geik2X0pPKFFAZkEtNDU9fERWZ2Irc2speW54QCQrSGIm QXxENFAoJjs/LQ0KPiBXdyl0V181Wm8+Kz89NHlrakBHdSpjZw0KPiB6cWtvZSNYWDltdEB6UCU/ JlcqITUyem5APFYqITVAfDdPdThjI2tXTFJDLUZKckAjS2pgaEplLQ0KPiA3KnQrcHBlT2M4DQo+ IHoxNyolWUBJZWdaPXliSHtseUk8c0U5ZFlDYldwZWxUb3VQb3Vld2NFbnxoMFE1SWZmTDhPbngk MCtrYyZTOzANCj4gSlUNCj4gelVjSGFEWmBneCpFZWVZdDcmeUBDJjFSP2xuWVdPRFN+ciM1U1Ry SkU/KTxVbFpPJEpZX0V0MEk0cXdoNGs+DQo+IDdMZg0KPiB6bT9saklAa3syOCZtd0gtDQo+ICtg JUZ3fDdyMWd5KXU4eTtSYVBpJm1XUHpmI010T3NlfCFvZ1RZZT1nSnRURjN9aG1aDQo+IHpvUDVw TzBCan0jcCVpU1RxUyt4YkNJViZnYGNrcmY5Uk9hQiZCTC08YnlKeVB7YThXd1lTdGc7eFR4IWB0 U2dQNA0KPiB6TWU/RDZqfio5ZmZ1JXV9a35CR058MXpmR3YwP3ZVIz54PmtQPCpZN1Apc2p8IUJI PngkNnY3WChRUTN4RVMNCj4gJGxfDQo+IHpxYEpRNUppTTZ1dHFqaDN7PSMlc3M+enZDa1V2UGFI NyVFSWxeVWpEYWIrQD89Z31yKVNZKUpZVztXSiQhR2RBIQ0KPiB6LTQ/XkAoaFRjK0ZQTT1FJm0y U3crJDJ8dChrVldTc08tDQo+IEVJRSgzOWtJITlrO05YYEYlMntFbTdwXlo5MEJOe2kjDQo+IHps Y2dBdW51bSU7Qzw+b3ZvTzZAYHE7RHM3SEs7YGxFaWU/MmxOJUg+Kzw0bksxTiVBLQ0KPiBjYE0l U1FPJVFOVitNcXQNCj4gelR6STw+ZVNjK2ZTcHhnOW1AZzJ2ZUNwV3FTfXVtMnMyVCVUazZOVGkt Y0tleFhhSTQlYS0NCj4gXjtUbGV7eGg3NH57TA0KPiB6PUNEWnloTVRBVVVBVU83Q0xYUVY0OV90 ZU5XYE08Y0B7NWRIQ1pgUkFNaV88OD1AfU1Vfn5RZA0KPiBiTG5VO1l9WF5mDQo+IHp6V2RvSj13 XkwzdE84WC0NCj4gQHJ+T0tBJXJpe09HJX49XlI7bXxMRDV2YURGYnNzMXB0I1JqRVRSPDd9d2ZL O3IoT0MNCj4gekV9JkBKIWlSaXlgbUlpMExFaDcha1IrQj9TQzROKVc4ZWJWNysoTm1GVVVmMCV2 ejB4QjZyZ1loSWIqNGFpdnQNCj4gIw0KPiB6WXNRdFpJPUpPSWxUcn05XzRMLQ0KPiBOK3k5cWNT MlR1fnV0RFdjVUtvbTs8cEI3PzVDRSorVztwOyg4dj1tQytfTjEzDQo+IHpxbE4oQi0xRnhoMElH WDE0a2UrOyokI2t4ZzgpSmlJQUZEX0BYVmxDX31DMFpQSUNhWDM7fiFIaWorRzVaWEUoSg0KPiB6 Qk5UeVBZWnIwUjVQK0dYJG10RyU9fGNjMkxYazVaMFBaMEd2cU8+M0lSTzRBR3FAMi0NCj4gTGxL YVNqbD1GQzBDUGYtDQo+IHpZNnJsXkFwcXh2QV5gX0whd2BVflB+Oyo5enpzdEhzelpeQjlSVE1L MGF6R3tFT1k+ekd6NEgjQ359RGRwa0oNCj4gPEwNCj4gemNHNm9nNnVIeV5AWVdFMyNpN1UtOH5g czMwa3w/MFM+eW5DWXpWLSRwLQ0KPiA3RGJWQVQrUzgkKiNWSXNtUjEwPGJnYA0KPiB6eHklN0Bf N0gkQEM8MX1vP3lUWT0wSm4hQ2F+JU1ePkF+SC0NCj4gSlFPK0MwcX5uNDBNU3FjNHhzSEtvKk0k TkRpa0AtDQo+IHowcjJuO2ZZcVZNSk97dz9LPiZAcjheRCE5a0BGb2VpLQ0KPiB5MjczQ3NsIW0+ RU4wU19HIWIwcGxKNV5OXyZJY2ZmUzINCj4geislez80eTxUN3pJQUZGOWZxNnQ9RV9BPj1Jc31H bWAlcSt0MTEzNUk9NWN7SilkM1M2MDwlRzJDU3pTfEB6MHENCj4gPA0KPiB6VjRmNzFHNiMlajIr U3RKZ2JRSFc+aXwzUXJAX19WQjRERXxGc3gkMXYwb1lsaDh6OyYhKGRvfWpxP1IoZ3U/DQo+IFdQ DQo+IHpraGBlIWhNdlk8dEVTMHspV1pjRSlRRkkwa0dCSWJlP2RkMV42ZGE3ZiE2T1kraHJ+Xk5u b25vWCRMUn5HPzINCj4gZngNCj4gejFDUnQ3cj1RdkhFVGstDQo+IGBlcWFZTTF3N2spK1lWcU1H aXVkQ2JedyNpZ3VSM3Z6JDZ2JDdpfFlIJD9SSG5sXnd0Jg0KPiB6NWJfcTwwWmNMbj5qNjd9TnpU TGwkOTRkZFIwVVBCOWwje2pBPzNDTW19RnRDYGtTbF50cDswIV5FWSs/bExTTlINCj4gelJYYyE1 N1QybWFKQWtFSjhCeztDMURORjZrb3R9dHokNz07cysxa1RCdWomOHdIPzREO2dHdGA0cSVlb1l0 X3x1DQo+IHowRnh7YXMhUXd1Q1coZ0I5Nk53WFJASklnPjtOV045YUphUzBaOCgyMUliUzEraEl1 NiFjaC0NCj4gPmZYR3YoNSRAK0cNCj4gemhkKCt5akE+PDV0RyN2QCh7ZEVvc157ITU2blp+TEV6 YllqVk41SGRSSVJoYW4za2ltUl40VFhHM15GUGQkUw0KPiAkSg0KPiB6dkArX3s3d3Nebjx0VkZG PWp5UG17eDA1S3k1dElAQzl4elVzPXFDekZhKV54Snk+d2lAbnJtN1VZXitvY2ANCj4gdEhIDQo+ IHpJNHJWZHF5bUN2QGZNQisyJHRHQ2xAVG15ZVo+S2BXamppSyhUbEhTZWI/V2ZpaFM4aD5RKnpL V2tRQD0NCj4gKEhmcjsNCj4geiU5K3JMdzchXj9HdDwyNzItDQo+IFhqSkowSlBRU0NzO1pLNGNm RSYqcFVXZG5QQlghVFBNcD0/Z2sxaiM4K088fmoyew0KPiB6Zk5EVXgpO3ErZ3JFaEVQYEVxKXNE O1I7PTZXMmUkQ2teeU5TTkBNLU0yY0UtDQo+IFJJJHcralFBVj89TGBZeDFTNVYyDQo+IHp6ekkl KEQ1TXhUPihjclo1dik8K0MkfnczNFZ2SDNaYEB8MWF2U2oyS2Q0b2NAbDVzOHNhN31EYiMzZntr ZDV1DQo+IFkNCj4gem55ekdWRkNTfk0/QzQ2ND9jPyk4dG1lXmROQ2o7Vm1UUk09d3RVU0xuPUZq djM/KEJvVnBuVGZKVVg5QA0KPiBQPXRHfA0KPiB6YEhhTDROQVh0dC0NCj4gQlpGZCs1ST8qZ3pV bTRMSkRmbEhNIXo/ZD5kSnxEfCNMaENMYjJ8WkQlJEVidFAzWTYhcVV+DQo+IHoqQmB8KSYhQWVi ITxaSW8kY01RYFYyWWFWZ2RgJEBJQzNEc3YpWFJabzYyVldxWXRqIzFgcyhZUX5fJndeZQ0KPiA+ TkoNCj4geiZSelElV1dwbTc9P1gtKno9YkBXYCREZ2dJb0U9eiM5MCVMMDRWNkd5SXI+K3VMWC0N Cj4gaGBAe3RnQTdUQStsIXRDRA0KPiB6Y2JaQUY0enVRJGQ+QzgtUzVNX3d3cmtZU2opbSRyc0Qz S1RRJkZQU3grfHM2cVAmUzd6P19GM0hfLQ0KPiBySTA4aXVXDQo+IHpNdXxvbilJdTlxdWNOS2lx dFFSZWAwWWFUdXpqR0N3YTl9NXg1T0hfOTVaKTctDQo+IDVSKyh5ZUIod3VpZWFjJEgwfF4NCj4g elpPamJaVm1JS2Z2ZiRrNmYmVmdOaSZ8eWF1TT1NdFJQWCpvSSEmKTRrNUZCVjw1ZVV0M3xHU3t6 UWJBZQ0KPiBtVFhTdg0KPiB6U3ZoRyYhQk5WYnAzKnR0NGM1aSNvNmRYXyUodCR+OXtwSjEmQXwl VVRKcGgwVj5lYnsjU1h6Pyk5LQ0KPiBUeDJMTkNODQo+IHpoQ0t2Wk5PXkR3MDlJZ0ZYeGprR2g1 JXAlaEN7JE1Ld3Q7fVJ3cEc2Zk40VmolMGlLIzFFNjNDMDJYMGINCj4geTR5dEANCj4gemVTMl4l dW41RCtXZExad1hWKHliUSRyQ0R3KyptaTIqN0VmJFlLWTsrOTNldHAtDQo+IDd6cjtRQW98U20h fCNYY3NZVw0KPiB6MipCeH4yeURufmZZS29WWE1gZTlvITleJHslJndKS05wSCVodXNFdigrTG8q IWcrUDxBQXFXflFpOC0NCj4gMns7fGI3DQo+IHpOSVh+RFohb1NAaX1hZiYoZXB1QEFVRXo3c3wp Yz1VaDAjMVh7VF8lZGlBJWJJODI0NSZgUjIkNVdRIyVgDQo+IDRJfEUNCj4geiZVWXNreFhGKG1t Sm5vaHNZa2VNa0h1eC0NCj4gMH59bm9Zb0F0JGZYbTlUdzdtbDtvNkF4bzwxJD45Jng1KEYjRG1N Vw0KPiB6WGZDQDRBbU9PeXZMI0ZZYnVMU01ZdHtNQlN1TXB7bEptbFRSRU0hdkBEY2VpJU94e3tN UEhXN3N6Rg0KPiBAVkN8OS1xDQo+IHpsbHJGci19IUF9YFZFOGxMVH1+UmV2NTZBamwkdkJNTCZ7 eXZ5UWQ/JTN7fTczfEElN2coUUU5aTYoU1dXdWU9Tw0KPiB6Q084aGxkclVOO09EZX5EdFowSWwx WFdzT0FJO0hBRH5yOFdHe0hlPUZQbXNXbXNKK310IVFSbTdFO2ZlDQo+IFhoS2hgDQo+IHo5OXZ7 WDZNUn13SioxOztoQTtaQUQlKTVKR0ZtKDg0SjlqNz8pPSVXZjc8ajxGTW5pQ0lBa2BGSUFoJlln c0k+DQo+IGUNCj4genV6MkNwKm5veFoyWG1sMTc8VCYrRDFzMndIUDk5eDNhVj9+bDxeNkRVfTN0 OSk1NylQdmEhXzdNY25HbmpjaQ0KPiBzMw0KPiB6Wnwjd3J0PGR+JTE0Zm98S2d9cjJEK2VQPnQq QVU1bTQzPVo/VDspUTYhblN+KWZOZTdxb19xektlblF2LQ0KPiBFSjJUDQo+IHplPXg3YzRaT1lC QERMK3crKmFTbGI9YGUzNTRCdEtQJWs3cEdhdTUoMEc3R2pOTjl2T2drMC0rKT8tDQo+IH49VWtp cjANCj4gemFYcCFORCtRWiVhKUFZTz9ZPj4+RGh0IW9rUyV0bDNoeWRSZStHe0BKSkpFYXlzKD9q VFhUNzs/a0d4T19RKA0KPiBXbw0KPiB6QmA3IWVVZj49RGJSYytJbjFAc0pyJGRyfV5JUX44eHVI KUNPWnBeaUteYHVVU19eJFhFUGVhLQ0KPiA9OU9oU0dlNlBWDQo+IHphWH0oa2JGZ3QydjR6S1Fk XyRpZjtgcyhPTUhhcWdrVklmSCMlV2ZARXJmX0w0WDJXSWB4fCNSO3Z1QThjXnd2DQo+IEENCj4g elgpXn4rKlR+e0sqIWpaX3hueXpTRmo9JD5uKnspflN6UDFEZj9GQmJ6Rm9HajtUUT1JUTJZMUpV a2c7KV9BYkNyDQo+IHpWRV44UjF8OG5Fd141Iz97alVEX19KZGwqWVFOZTRyMlVTZ2ZtPEM0WkBR Rn5iVHdxJiRvd0VvTTENCj4gV0V1UUc+U3INCj4gelY2QSRtaHZlc3R0ZCRsYkQ1aihSa2pMJXRu bHt0a0tzPTtnKCV+RTsrdUQjRCM/RjUqUSM5aGtlNzY8YXpVRFkNCj4geQ0KPiB6dXxGfTFvZnJO RVVjdyQzRHJ5O3lIZSlwQ0VpVlc7cHN4R0woTjhDT0xHQG9FZ21EP2tPZ1dNcC0NCj4gKVg+aU5U dXU7DQo+IHpAUGAlLQ0KPiBefk4rfllTbF9SaE1CYj9FVTBlS1ZLfmFMazdJYDg4PmNBfTVeR1p0 MHUkQFZDZkY+fUpsSk15QnNTNkANCj4gejRIRHg/dFMxXnRIaWQqUjVzT0ROYUojYypHb0QheVRx S3k1Ql4pZ1Z8RT5kWmZJfVY5ZnZnaFJlNlJnaHc/Qw0KPiB3fA0KPiB6Kj44Y2lwISVOdU1zM2RI YGMyUSpQYShoYjI3Q2VNXylCZWc7RWMoWjs0fTdRPn4pRDlqflRPRiZ6T0d6aH0NCj4gSGdvDQo+ IHp7R3l9JShhOEg2bkYwVGheRkhZY3pISG0lbU5pZzlvSmhWQEYtDQo+IGtUd2JXXjt6V2k7TCMm OUpZNVpOTyZjSWpBMWsNCj4gejRPYUFHbShWKWNYckBUdipCPHFoYF91MDRscG8zTkAzNFNEOEZH Q2kzYXJzOzt7ZEU7MU80eiVmZmZQWDVMJQ0KPiBZNg0KPiB6I3g8V3tWOUtCVnNtcCkxKD1II1Am WTs+QF9JflFXM3FFYXF1NXNqTnA5MDh7QTd1YVFRfEM5djxWUkwNCj4gSntRWktxDQo+IHpaNHlo N2BwO05tMVRlR3w/MSh6bVUyWGsxTTIhMG5jQT59NmJjZHdydGFYIVBwMWB0czxqUHNYUyRkUTFi PGoNCj4gVi0NCj4gemF8cCE3V1JENH1VSXp1K3R2YXdFKDM0dEprJm9AQyUrQU8/O2g+TXhxQDBT IzMja2pnVyMmcTQ9aVM1cw0KPiAzZyg5MA0KPiB6JD9XVzglP2QybDduazh5KlJlTXJZVlohM3dt UUk4OGh+bmU0emRvSEBvVT5TUVk7dnNwYShqe3lhTDtaDQo+IF4xQStWDQo+IHotDQo+IGVLUFhg Uj9DbnpZUVRNUGpudzhhd097fkBYQ1F8NndtfnMxTXFfaUF0UTRYYSVIdjwpXzFzNF9KbUMtDQo+ IHt+QFhpDQo+IHpVQ0wkN1FxbWBaVVpwNzErdGRnMXIxJnhKUkN8OEw5cm5XeCVXekYyPXMoTztY Q0xEezwlU2VBZTFBVEANCj4gUX1eYyYNCj4gem45RCF1UHcmZHZjSGhranMlUFA3QikzRHVMRz13 Qz07K1dMO1NGcSkrJjtiWShjQ196cnNXZyopYSM0Q2ljDQo+IEUkIQ0KPiB6X2tZPlZKO1JTYVo5 flU4UCNtdGc+dXhwOEp5VWNmeTE2Xl5LZTFESmojWVE2bHlhbDlsPD1eZmB0Q0FRJTNlYEINCj4g ej11Ky0NCj4gPW1YYT8wcSl2U29EKVR7fEkmNlE9OTZVWj5ocWpzSF5LRUFFUHg+PT1lMEptdz9v TiEpZUxCJDVvamJGRw0KPiB6aj5vWHpHPV5HM2tfT0ZBZFh0TUFwKGJCJT1WYitrTCtaWTRVZXlA dUBMYU5rMzU+RyN4QD9rT09JDQo+IGRxS0hwT0QzDQo+IHpzT3kxUVMrWnBWZFpTaklaczZmNnM1 JjJsRGNCMH5kSj1JVkhRdlA0XngqbV5WNXJrK0NHT3dGMVA8MGMqPg0KPiBwWFANCj4genlTUjEo X1gqUDxNd1YxemY3WTV5ci12WkczWXtMdDBKTV5JaD4tDQo+IHdpYlZMUSEmO0tOMVFuc0NQbmJX VU9nam5Wdg0KPiB6aTtqZU1KdmJCSGElPWlwZF8xVlE/Pk5xdnUtDQo+IClsUmRlPWpzQ1FyZzxR dSVJPlQxVHo9YGNndyVrPl49WjI+P1FCDQo+IHpsQnJmcmhwdXZtYmpNLQ0KPiBEQl5FY3JWa0c9 I1pXKV9jaFNmUXhLcGFqO0Fial9mP2BNR19iJXM/KXAoJXQ2QHg9aWENCj4gemgtDQo+IEpLME5W Kkl9b1VOI31NaiUxPjt4dVRLIUZVK0NDI3UpWTBUI2N7I2JQMGAmXiNGTnRYP193aENTdTQ1fkhC DQo+IG4NCj4gel5kKGMod1c1c0IhKVRWbHFPTD50ZTIyNDtGYlgtDQo+IEVUUyg3JU08RT1wZzle Rk9EJiN+KkErSD9NUmthSUFQdlVzMw0KPiB6a3Jvd19NTH5iZUVvY0peQjg1SlJAUyorbyozRzZl Jnh6aFpfdURkNGpAX2dmXn1zTTgrWjhBeG9tKWgNCj4gWk1QU0NkDQo+IHp8OGF5NXQ7I0JeaHw1 ZTdxP2R4aFJrM1FaMGVQVF4/JVgyIXoofSo+WXpYeGdUU2F1cytGc1hVISQqUyUhPlINCj4gP3gN Cj4gekJafWFHN3pjckdVPWdlWnFsZWJ3eHRtTndCfUBebCNYTTdsLQ0KPiA2MipqSUlLfmBVdnJD Q1h3XmJTe2c3SCpXKTw7Uw0KPiB6c319dlZ6NmF4c1ZIU28xdU9aVlo9VEZTMTR9OVI1UGlkLTJ2 cVM5KGdTTmVwa1phV25wbmBFfVlhU2YpRjt8K0YNCj4gekEoXkBEeT9SKF5rLXJGP1lkYjlZQTIp MFluY3VJcC0wXylIN15Ven0tDQo+ID5HKEM1Xn4lI2JlTHw4VX0zbnROVlh3dg0KPiB6JEp7SE8x Rk5DOzdIfEA8SmZzcT1OYDJ7cT84KDhmNElJN19zVS17Yitfe3AtekZla0xSYlh6IyhsR3JVdXVF RX4NCj4gem5ZLWgpOFNSd3RZK2RqamopSz9aNzdUMEtEKXI5IWopSEFxVGA7cHliRkc1K3BoY2tD P05uUClRKGk8aFVIRyhUDQo+IHp1UCl3QzFHKChnXjxHezRhITJ0NF5LPEdBN2k/QVBIZlFsUnVy OGlpc0YmdU5kYmU0eyZ5bktXKG9iV31PcQ0KPiA9I3QNCj4gekZfOCl9KVRJciE1O2REKSFwXmZL bzBFYWY2ZGBGPkM3VDFqMmZqYHpzTG9JU0R3YFZXSEBUdT9ASTVeYEk/WlYqDQo+IHo5WWJ1cXpR YDRXQXVxbkNnbkticmZidCk5KVotanlKPThQdnRPaiZraHhHYHkyO2grfW9sbGlSb25OTUt6ZDUl OA0KPiB6aSRkPTJ5Z3hPQDVhZ1NNO000fWoxYjxVS3AlZk1haFUoWWwlZCs1M1dRekhMODE1O0JR VXZPeTlAaw0KPiB3a15BKD9yDQo+IHo+NmUlamolQEhxa1V2ZUtqcVAkUzY5RU5tM2M+JlFle3h7 YWRUdHJnPUd9RTg7T1RWfl9aZHx7R2NZQ0dwDQo+IGxpJFoNCj4genR3cFZ1UjVeT2hsJEVLP092 aHBxSEd4TkNvVjE0PjhZQlJ8JVI8MFVuR2xYNVlHQ08wRFMqPEw4KnRUDQo+IGdGRGBoSQ0KPiB6 OHNWc2JYUmpPPUQtDQo+IFpPKjwyYjh2QSFiUDI+THh6dSgmVDhFa01fYyNsJk93cXM9TFJrJD8l cT9GVFRpcCo9UVc7DQo+IHo8JCF9d1NMK1hzWU9UUDRhfH1YJiV+Tmt6VDN2fUF3fUgoZEw+Qjd3 YXx8KFp2cm40JFN4amUxK15CeyNUVSkNCj4gSEsNCj4gelolV3R9VVdVPUIqNzN6JnItRllwYzV+ KWgwKjZFfUJIbzs9KiZJKjktZ0ktDQo+IGtlKUM8djJpSzF5SEVqMDFhRFUlQA0KPiB6YlNtNVlE MU8rZiplRn1naSZ4X0ptVylgN0JMSkk3SCM4aDI+amVrZldGMip3NT8pbXo2bmhwKCYrNVp3ajUN Cj4gMEBNDQo+IHooUGtDdUZCc1JoS1ZsbT1kQFdLLQ0KPiA3T0x1T05kKDJvNDhoN2kjc0szSFNt I25+UXIoRWI+TWFjflAoc0RuZStRWiUNCj4gemdIOztNQ29NR0RXdkl4TFcqRE1SNDRSYj1HfmRR aGEtDQo+IGZOPXliNSl4NkhPYn5mI3plTXg2b2BIJWEqV3RkMiNfbg0KPiB6bk5yQmdyNkU7cUBW clZ1ZlMjWHR2UihhUypxaj9JSlUwbFFic09OREtuYEV5c15rZ01vWVgmQiYzU2UlbzsNCj4gYWdq DQo+IHpwfXE/fldqQ2h7dG5wK1A+TXllYEptMnVMRFF3ZWo9PWhVJHJBZitXPlQlJTVfV1k1NjVJ dzhnSEoqPQ0KPiBLY3YzViQNCj4geldnb1k4TXJ9TzU7SzFgTTchWiMzbHlsJTh6XiQ4JnJ3IzFE XkFhMStHbEBqQF5hfVBTKnpKcWZoaWc/WXFLDQo+IE19eA0KPiB6ez8/YTQ+RFdTaT5MfSNlOVJO S3JINSUkfVk1V3AhRUx1c3cxc31fKGVTRUd5PnY1MjthUTJ6TSpIeStkVw0KPiBhR2d+DQo+IHpG bnVTJExyVT1TNHFpKDVsNiNWaGlWSUlqb3NeU3ZCZUZfVUgkZEJRTSsxeGEwRm1LY1g8UTRCJWNi Q3dfXw0KPiAtUjcNCj4gellRRGxYbUlvU2MhM1VmU198UmBlMl5AcExiaWJ5QUZOMTJ4byQ7Viom Ql4oRklQZ3JyaSFVS0NaPU07ci0NCj4gcFFvMg0KPiB6TjM5K3Q3ZUktDQo+IFJUMUZ9MFFrdjQl SWVQRypvX3ZrSklAcHppKCZtNSgqKiQwaj5tRm5sPmNPKXRPMXFPdCRZQkVBDQo+IHpEUXFec1km cGVJVTY0azRwQGstDQo+IHsqVlgqUkdsNko2VnhqcW5NKU1KeiZKQEcrRGREfm9XSSVrfmYjJnBG RyZfbXINCj4geiEoYm1hbmxgWFRsVWI8RkdjN2R0ISRhUk5YcmZefGZGOUFATkMqenNMMT9iRyZ8 SSg0VCN3MEs0KEhmdHspWXEyDQo+IHpIQ21SaVRDOztfejYxN1FxaUYqPig0MT9kSVlyUCFgKnxM ZFVEQH5FKlh3Yys1U0N7YzJ9M0g7N2c4c2g4dk5kDQo+IGENCj4gelhmbm85Kko+T1JAaSpSNk5A PEkye2c3M09ob2xtOTU1YWw2a3NjZCNUVHw0cm45cXdDej5ZeDs+OUltaGNVDQo+IEhtJQ0KPiB6 KXxGcnVEaGRhWU5RQntjRSVDczQzfk9MVjNWPStxd2lMcklyMHpmcysxekpZJFBRd1lFZiVJNj9X az1GPGFzDQo+ICVADQo+IHpXd1cwakl4ekwrVnRSO30tVXNldEhANkx9RiU+clheNS0NCj4gbH1w QnAme1F6K3whRFRTJCFgWitLcHJZIV93diRgI1kNCj4gej95aDg7SGQmWjlYLXUwRUBSJi1remYt fjwtS05fZG5CSm8yYiZEX25SLXM7PDwtDQo+IHBWaSl8ZkkyUmMyJUE4NkghMg0KPiB6TlI9OGlr QmwmQTNqR1FwJVA/IU8mfWA2WEhZRGx9OGt4bG12bzs1c0pOMWxncCRWQyNMWT9NQigqfTBYPz4l DQo+IHJsDQo+IHpza3tDckF8WWp1U3pCdUxLY2A1ZTloIWA0ZlRfY29yT21AaiVfM004PSh1IT0k eiFmLUhPfjlgPEw2ZWNnLV8xYQ0KPiB6U2hoPHw7RkZXalFXPCRsMW9tX0w2VjFOOVNsR3JkOXJn TE1wMVE2MjBJV2g/NGQhSk5oeitkayF6fFBAcg0KPiAoNS1UDQo+IHp4RGZSaiFyZFV8SmBFJkU5 SmRqRzZeMncmWXphPzVjYTtOT0s1S09PV1BEOSEjZ28/QD13NlZFP2pFQjFFDQo+IFZ6Uz4NCj4g enRfYGZ3ckclcUNmV0tBVXs3Mm5IN3dpTSluZmxXPXB9b0BBOyVoaHJxWWVjNXRQJGk+Qkc0dXEk K3JDVGgNCj4gNkJPeA0KPiB6PSY5UmtQd1kyV3NMQFVZWkQwcTJTSj8+ODdYKjNxJSorOzs/dWMk cyl1QUVUcGVHVnltPEZXPjZzIU8NCj4gRnRubjRVDQo+IHpEMXEodHd2fXpyUDZ4aCEySklxUzN0 eGJ0fEd9eTMyRE8xNV8mIXJeSFIhYCFlfkwpI3FIRlNnXnR2bksxdmh7bA0KPiB6Z2UqVXg8JH1O cmg2e1BzLT8mT01UPWY2IzRzYGh9PSEjUGsrIygmWC0kcnh8PWwhRHQtDQo+IDN4Tmoxc003dE91 JENoDQo+IHoyRy0NCj4gfmI9bCRSYDMqRHAwTnt9bjl0bSZ0bF4qKXhIIU54bHB4JTlDWUZ+Vkch UWxLeCkzODx7PVVrJkd2TWgmY3cNCj4gemshc2x5dnc1SHxzQ2M8M0pFdERgJWp3aGRBPF9+JDY0 S0pVPXNsPVJqMncxM3olIT9Rakh0OUgyWHFFTikwMnEpDQo+IHpAWiElbWEtDQo+IGNzVFclcD54 aEMrbnE5TikmcCVnQEtfcEomNWZ0TkZsMFV+TnJsZjdEWn5NRiMrQFAkOTRfeUoybCQNCj4gei1M VDk7Wkc+QSNKK0tuR3RtT1FuJDZqMmo4eGV9I0w1dS0NCj4gWUBtSllFWGViYDw2QG47d3E7RnNW I0tHQ1A9IXdhZw0KPiB6alhAaz8yWFhNM291ci1rQjxpLQ0KPiByPiRrOERvbSNtO3FZSkFKQytG NHlVPWB7c1V7IVY8WSt6am5XfSR1dVNCPCgzDQo+IHp6aEVodC1tLU5fP3ZMKn17PFpeNGcmSys7 K2JLMFdSYDQ/SlNrRUI+N31TQ1lldkNSSHJfNm9vejsxWHFGc2xwSQ0KPiB6QG1zJDUqJG9pVlRY IWVqPngxZVhmJVJyQzZNMWBZeyZiT2hXb0hpRlhmZ1dYZE4pbkU3cGBmYEdwQ0FUOw0KPiA4OSlV DQo+IHpgSG1WX1hxaUl5OGpkVUs+dGpXeXhCZ308VGhHVm1wKnlOdzlzZ2VLM1ZnWlIpczBWS3dB dk1tUmw4Mg0KPiBVM3gxMzUNCj4genU2RXNkUHFsMEF6MTZQYzBRLQ0KPiBtQXQ2ajRKK2pNOE8+ cFJQPFR8WmIrP1lkQFZ3UURvZHsyY0lwejx3S19yR1J4IQ0KPiB6Rm57KWc2PH5oejJFOTk5Xjkk dDdVNUs5JUA7R3ZXWFRxcV9XNHN6Xz5eUHJhcDJrbUBhTkw5bSRMcjkNCj4gZDt1RX5vDQo+IHpQ bDlzYis5K0JIRXVsVz5kblI7fSphWkBveTt2b3tCZTUpRHlqLTt5YCY7JipVUEhqU2FBcnFWWF5I JS0NCj4gYCg+JWgNCj4gejsmRG4jYkJPYF82JVlqezxhJX5jamtuVVhHRDNHQ3hDbz1wJVV4aHpL YzdKMUBWMmxrNF82V2dBZWNoag0KPiAxUSZfIw0KPiB6dHt8JnteMkd+KG9RPzx7a2hibjJ6fTY2 OTNiLQ0KPiAycEhfSmk9dk5iQFQjS152QUFNeWZPK1MmYFZVa3coRTNkPUUyDQo+IHoybXBDXjtt fSVjIVRsfCR4XjBpX3NKYTZYaHxvfUE0YldqR2NtTEY2M2czZ3N6bj9iYXtUMzdOcj9UIXQxVkVw DQo+IFMNCj4gek09XkckZFAme2BBR1FGdFNKWWxlak1LI1pELQ0KPiBLI1hZa2UpVUhnWlQ1aDM/ T2JgWkp7Pl9pUkEqOzcqNFVQaWVCew0KPiB6TnhzJGVWaFhgPntRZ2FSISR3MCpZNVlhMWNKaDJw N2pXUnpkKk5MXlNzZG5wK1BlMFBYWDg+aVRIRFVpVFUNCj4gKnEpDQo+IHpgKiFlZ1RxfU52Wk0l QCN4TWhpJipIT3UzU2E7IX5eRVV5djQ5M3lgIVMpZHo3dmtRVG56c2NZQU11XklADQo+IDhLd3cN Cj4gej9iTGJxTEtBcE1QU0ZGcyV8SFQ5RCU7SjEoYnEoKmpOZ2hiOXQyZml5ak9Nemc2YkQtcVVW RW84LQ0KPiArPDwoKnVCbg0KPiB6KihWbW8yTzs/UExickhHN1IzPCNtQEU5P0ZqclhJaDtkayN3 N1hiOXViQiVyZkY8JT5BYWJtWUt7fnFxDQo+IGJKcHAwDQo+IHpQZGdVTW5RYnQzZzEtK3ojSTVh Ukl3KzA+ZGNfI2kqS35reWxEViZHMmNHdV4tDQo+IGkzam4weV9BU3NTJlU9QWFSPGINCj4gekF1 JE85MUo1Un4lNjdPSj5tWDVjVHdvODYxO0YrVlNKS0RkSVZGTWJgYUwxdmdFelpiXyNXSWopWWVT UlRJDQo+IHZ6fQ0KPiB6Jn5QN2ooTDwpPEslISgtYVE3NWc2KFBGbDBiVjRnKEJzN0hqPzhGJC08 KXlkZHFNZ0g9RWJEanEycmFMNm1sZiMNCj4gemJ8anNhbFhSJmh5LQ0KPiBBWUpQcm41UURvSDc0 PGRZbj94dVlIZHhrb14qTl4/RjNQZnI5bVc5QVgkYFRYZHA0ODRzUQ0KPiB6WSVXUFpMS3ZRYz1a cXZVVEwhQF9PZlI+SnFIYS0NCj4gT0hWPVpTTmlWWD4rN3okZkJydXg+IUNhbzYwaG47bFhSdzxA DQo+IHozI2hBS0FXd257bmEqOXtFflN2QmdfRllGakVCYiliKj4kY2UjNTlOeiVXSWxFbChkMmBH Tms9JEtjOGVqeQ0KPiBHeVINCj4genBicz9UalQkWlMzKTJWcEI2PlFjbEYwWUtpLQ0KPiBANTdn NTZwNEVkMkdoU1c0YEY3eThNJlluZXBSajQ/S0kpQHp1Yg0KPiB6IUB2ZUFUcEUjRF5ZaV4kVChE LVZea3ZlNXBrdClmTl5JeiR2Tnw5NTNlfGhzaj4qc3JmdTNRODBQUnt0LVImM3gNCj4geitLV2RX a2o4TmdVKCtYNT1AJD12K0E2KjFzTH5JJF5rNyRNSEN2Yn13RXlwX2JVRmtnM15ua35ealpDDQo+ IFEjQWI5Uw0KPiB6N35efkZCQyF0ent7JmY+RCEobmsodSs7Nk5pUS1jLWdnUnxhIyRRWW8kWCFA VC07fih6JVhyckNgYjQ5WGJ0ITQNCj4gemo8JEZMUE5nQ0wqbG9lQkItDQo+IDBrWCEqbmtRN3Yw O05Ca1AjJUg4Vl5PaHFHckZYWklHTkV4P0BXZEpEKTNkZWMpcg0KPiB6cSN3Vil5VnphOVE1XitG bzJ4NWE3a0MjODcmVXhQRU12S1lMdylGOFgmN2x6eG5NYE9lTmJPR0w7T0xyDQo+IClmQmVADQo+ IHopQSpkY3lTe3tXR2FFS3FFO0NJKnVaOSstDQo+IEtsPDY2cnBTYXZvciMzJiMkI1M0OHdhcj5q NTl2MVplXjBvKFh8USoNCj4gemVjRVBBcE5pZERWZXApRTtYYGF+eXhKOVJ0YWtNYFJKJCZ+PVUj amM8NVB5UFlKN2YoJnJrNWF6Tnk7Zjh2U3Y5DQo+IHpjeyhEV0tMeGA4QT5OSlBMUG17e18+bXN8 ajlQeV5eMWNQMSt3bDFeSzlBd0UwaVVQdypeSDBnRFlvfkVZDQo+IDJXd00NCj4gelRlSz5LVD5W ZXxUYTw0VGBAQFo4VWplXiEydTNEVGt2Qz9fKSoqSkthRkJQYklMNEJHMkUkPWMpV0BLXg0KPiB1 PktRdg0KPiB6Jk9JRU5ebDxYUytRWFI/dUctDQo+IDB+T0NsdjwqWTl8Zm1mQURUKFdrUU1SaVBA VFdMRm1rR1RhQm9DeUNZbEBEaG11DQo+IHpwYEZjTURyRmJCViVMSV4/Iy10VkdaNExgNSNSN29n MWVGNigpMkV2QGxsP2ZUajs2Myp0SyNAYXg4eXdjeylqNA0KPiB6JWJYQXB4YE5ANFdLZmZhWVNz NiN4ZDtJalJJSXFScz5kRjFeR303SXxIVj18diEhJj5NQGRkODduQFJFbEwNCj4gQV8/DQo+IHpt WHhocklHVE5RaGN3ZTx0Q193JUhLJjwreENrM249NGQ3anNoZiQzKWlvMHglYHthUXNGck51WDBa P2JJMQ0KPiBxI0QNCj4gejMpdC1WXzJBKjxNWWpBNUBsOWBjIWhDKSNXQDhiWGBsOSluVXVFdTUz dmp7IW9aeno8WHE5IXw2X2RpdEhMbTNyDQo+IHp1NzVlJWZ2ZD4yKz5AcWtPWDxlNF9lYVN4d2ZK R0o0Pk9RSDVwdyFhVCVicTxrMEtQZVRqLQ0KPiA1Rytoait5NTFvKWsNCj4gekNrWGFYKHM+SCV5 bjdjNnhWOGxtbjVHTzFGJnRjSGNwe0slTmFqbENnOXdVKzI8a2V9SiFaOW16NFZTKy0NCj4gOTU3 SA0KPiB6OCZhRlpxUXw/OTYtMTU0WUludGxEWFdtVTU5MWZ9X2hEO0NaQmxyKVppKH0pbWlRQTAr Mi1Bez52cD1qZD1oKUANCj4geldGKkJmKDIlOzxtez5qYThRcDcpJm4lYVVnZV97bTBuNEZzdT9E TkdAdmEwSF9MaHRDMVFqVVhKKCMpPQ0KPiBXeWE/TQ0KPiB6Qm0jJSU3dDIoVE56cXVUTVNjKV9v MCQ4NipkNX5APDkqNGp3eEliI1JeV2ZAQDwrRXRNYDQyVEo/b3kNCj4gOWAzcFBgDQo+IHojdCNo OHg4a242YnQ1RWRaPVVaN19xM0lOaEooUjlXIUU0MGQ2cHg2eThNeUBsOTNuUTdBMiM8cSVKfU9H DQo+IEFIM2INCj4gekZle0xnSFJfZXVLTj18MWF1c005K3o1MDlUPik9N2dAc3dWTUNNM25OPDRD b0VaJFp7ayNhdUZfV0kpDQo+IFkhVmx0OQ0KPiB6O2ZIUiQlRWlpKlpzVVdJNlQpUnZwdEBNVjBu Z2lMYHU1Ri1sQUIlSmhsUFQjPjEldWpCaHs7OFUoQH5pVHw2c0oNCj4gejFVUChTaWctWlJqcXVJ SDRKO3ItQXJMQj4pdUx2bU4rWjRzXytDczl4Q3R0bWoxdD57RT1tTjY7Ymc0RmFIMTFLDQo+IHoy JGlWWnhwc2NjZVd1UFleR1BYWSRmZ0d8VjJYKEIqWFQ5PzJJU21kV1duVXpedWJ4IWZjbnNgNX5T VU8NCj4gTUBTaWMNCj4gekFUcGY4ekVNKjBUclMtI04ya0VrbTskcW1tZiNgSDJPcUF3I3wxSVBa VGlwLQ0KPiB2O0dAMHBhJjxrTihvTUNFWFB2UA0KPiB6aHleP14yRXloUXA8TG5qVmEtDQo+IF53 M0BRY2RyRjI7JDI+cVhUOEhXOWAxbDtQOWA4SXVyMitfR3Z7PTZkZU5eQ1p5DQo+IHo7SW57IXhP NkhlaFZHTmA8PkZVMngtDQo+IGYkNyNfNihXRHZjcG5MejJ3QUJ2WGI2SUpedHpgRV5Hd0VXdUhS K2NqbyUNCj4gek9TTTRhPEdaVXU7ZH4yKDk7aDUzbE92LQ0KPiBlKndwcUw3Ylcwa0xBN2ZNJWg5 Z3A/R1lzTz5OUXArX09oPzlHVD5jJQ0KPiB6dm1CbmY3TSlyVUBSfVBAIUhCV3VfYXhtZkx6NDIt DQo+IFV2JWE3TkVBRihFVkNqUkN1RlNEOyQ1STJmNU0rUmstPjBuDQo+IHpYX05fNm47NyorVSo7 UkwrOEZENUJzLSNrUGMxcmAtDQo+IFowTDVUXjc/Jm8lSSM/OUAmbDFNOWAxQ0xCQW5ZV0Zpa3AN Cj4gejxTcWBPT04jKXF1Y2B6KzBHaHh0SGIyZjxMTXNoPWJkayUqQCM8P2ViOyZaRDZHQGBoM3g5 MD51Vk9gDQo+IDc5N1BrZQ0KPiB6PzFpfDxpVSY4eT97VUopR3U/JE9wbUpjKnA3X3lgRmBmekVT RVVFdEFRMSVrSCtIdzZNRWVMe3p1TnpyI1INCj4gWChYDQo+IHoyOHJQPlB9NGthUyVtfTtTKFUx M3NLcmdSNnomJWtAelI2b2g0NVdnJG5GZyRRLXNPKD8qdDlGWi0NCj4gRjQ3U043a0INCj4gemUz MSQ/MDlOdX4zdz9LIWJQVnMtDQo+IFMlSiErM2Blfkd5KkRTbSlfNjFAZyo1SWFveHV3QE9UcGtV UjVVP25XcTZBJg0KPiB6PHpram4qOG9eNDEke0tuRGc7K2I4MXl9My0NCj4gMmxfNjZaMVZMU2FN RytDXlpQU3ZhbSNMTnQjQiVDY0F+Nl8+cHxHDQo+IHpAfDMqZF9oUiUjdHluS3FHMHZoX3l3M1c4 OF4hRkZnUC0NCj4gdkhlXk18Z19LbntOVTFgOXxgUTh7amgpYUQ4andQOVoNCj4geiFJSGg1N2R5 dV5qb08wITRSQXtFemlDOzNtLTk0JmlKLQ0KPiA+Pm4hMSUqaD9BUG9COH42ISt0PjgyP3U9fCo3 VyZfTg0KPiB6VzgjNnZCaG5lVypjcXIwK1h3dX0/aEkqaEx2eStfVVAzKyZ2Y2F5fm1aJDk9QUJ7 KkdNfTVXVUFUKA0KPiB1b29SalN8DQo+IHo2MSt9ZmNOJEVjVHhjQksqK1BWZ2coZHBCdDhEKz1a c0lgPDRYXjJqbUJgOGstDQo+IFdhWXZWI0M3c2tEKn5qSihIZTcNCj4geiZpZERqJmlwP31sV3Jo XjhGYy0NCj4gKSVSIT9RVWpAPCU9UWlKJHBFQXVDeUclQyg5c2xXJFA9eiskdnJLKSNCbzBXTQ0K PiB6TiMyUHxKeXlvaldfbFB9UkJuPH5kRSVYTnFsc3VhYyk4VWlvSiM+Sy0NCj4ga3RTOD8mTj4z NCR1RkZYS1pvNyZeP0g7DQo+IHp3U1BVQXZHS3g4bmhQNHtWTlYwTDA1bHhgXjFMI1hlPzVackYy PSVle0wzJT1pX34wNVYqWFY4JVMmUjsNCj4gQCtYWWENCj4genw5UWdkalReMCZNZlZ5MCFLO3g+ JilrTVZyNzZubDhBR1kxZ0dSTUk5TzVzI2ImZVJhbm1uWXAqc0xIQQ0KPiBMbj1aWg0KPiB6SVM3 U3BnZjcjYHNsZTUmUyNqVWRMUDlkb0VNcTlZR240PlVjZmhUU3ZNRER5bHNwRkRRWWU9Xl4hXjg/ RDcNCj4gWFJ7DQo+IHpGU3AqZmJMUGgpT2xFRFpjQXVMV2kreWctDQo+IFNsUFZ+Y0tVR3JVMjw/ fWY5dn1+aHdibHdIZVZJI2lhT2AzJXR9WFINCj4gemJGJXZUTXl0MGt2YmdPNmtjOCY4dnJOflM7 YmJ2Wml6QXRTVUk2YXo5Pmw+Z2NAR3xQJiUoV3RxZkpxTkd2DQo+IHl5fQ0KPiB6bExKellAQysy TXE5fWxLdWslWU8wI0dJPk88WT1Ib2lGb2RDd0NEYENqJGNPUW1qSVkhP1BqaEF4JWc8Q2wNCj4g VSh2DQo+IHp2QDtAfTZ0Nl9scnwwMiZwMXc7UiFyQ0lsKCFiMXthMExAbkxsdl9WUGVvIyQ9cElB QzZhRTVuUVhZcFc/VFI8DQo+IDMNCj4genpBR29hYUJQSyk8cmdeMUN4YVhIZ01KMTJTP3FXNFZ6 Kyo8TGw8TilZais1ZV41flZIQG9uV1l0S1laUA0KPiA4I29OWA0KPiB6d0RRIyQ8Ozs8cCEhcCU0 eHJFUzU2WXxKNSE0Z1EtDQo+IHA2TFVlK192cnFRdl8lNVpHQU4lPDNMTHQ8b30hcWEqPCFhDQo+ IHpgQ05TZ2Q3KyE8MjBUJXlaTTMrSkp1JiNkKGgpZEckLQ0KPiBUUnZJe0JjbSFeJDRQJkQhZ2Yr V3daTzhNR2ojPnVjKFgNCj4gelQwYHwlXlB6OE4tDQo+IEdfSjxVNGFNZF8hP1lSYGVGUzJuXnht KV58fXdeQTFxdHpoMkhTUHhIPCo5VCR4ZkdKQWRgQA0KPiB6SWAqUXF4RUYtNkJsUkJHdHxNNEsp cVRpSUxjbmJeLQ0KPiA9ZjU4T00lMGQ0fCkpRkN4YF8zXnZ6I0FOKjhoVW4mV2c0DQo+IHpIPzV3 b3F3YS1Xa2t2SXYxJF9qIS0NCj4gT01JdHJZKXheO25ecnBwWkE1ej5UOUJsSVVgJlJEdVQqdHtC ZSN8ZVI4YigNCj4gejF6YyRkQ0FtQnhaKV9WeCZKRThJKmY0TCtSJjYpMWcmfGAxUXZgc05lbE0w PlNtRXthX1M2RitFbm12NUxDDQo+IFY7Rw0KPiB6aFhwem8xR1FmQVF8dVE4dX1IIzM2IWFiYTxZ QHYlKFZJWm42PFhrZEBoMDV6KDhkTFVSKVliNSspcV87OA0KPiBKMHZqDQo+IHpfZnZJISU+OFkr bmg9RDkoXnlebiFSUnt7bzElVUBtYndjNSFHNCNJNVV5UXRqdW4zeSpVKnJTVkNAS04NCj4gc1E/ QCUNCj4gekotLQ0KPiBYT0hMTUJfQXl+OHtKbFlFITU2UWpQRmk0eWZSX21vNXpaa3c8eDhuaTdx YURTekBqUGApdyMzdXk1fV8jMw0KPiB6aU5hU1JyUjFZbGR2cyFyNDR1alZqYV98KD85P05aY080 bSNFTlg1OFBRSVBocXVvJkQ+a0g0fEg2NGdOdGBXDQo+IEorDQo+IHpMWm03ZWs7QVVvZDh6fXFB RGdPZ2x0KSRfaTBES2I1JDI9Kkhxd2NSOTkxQmYrSSVmRi0wdGp2YDJeZ2VXbC1wMg0KPiB6c2pZ cG4zIWg0JUgxWTchaUVCZUw3cGFxTTlNbDNFdiluJHp7P01lYk1fMjc/dDdeQ1M5Qm05X2Eyfjsy IzANCj4gUnx8DQo+IHptX2d4bmYrcF9jPngzNT9vTmljfWZXQCFObUF4M3ZOSDgrfnhKYWlxbk9C Yyt4ZilXUnpmI2ljUnE4O2pRYg0KPiBvc0QNCj4gemJSeU9qOGxQfGlTejBLKUhxTD5QQSpLZXpM IVhINFRPSmRrK015UyR5ZW1sOCZRUzM1NGFCREVuOyZFIXQ7Wg0KPiBEdw0KPiB6KGUodD9kcU08 bW9rYHw9KU0oZkhnPTdqeEMrfDhzQkkhPFAzUnZXSyVpVFBsVF58JlpVM0VfMClkfjcmV28NCj4g KmwkDQo+IHpkQDV4KWxCfVUpanNKTGUkPnBhMWpOWnd0PDFjXnclSCkzQjNSTENfZSo1dk8lVV9M N3VLbzZgSHM1I0EzDQo+IFdANiENCj4geilQZE1BNjkkaFU0Qjl+N0g1aiRpUUFLeXV1YTN0clJ5 cmRFZlJ9UlZuP3YrPzRHdE52LQ0KPiA1KWJ2YWk1Jis8NEVTNw0KPiB6V3hnNF41Vz9ZU2BaK1Y3 bztieTRkfW17UUMqO18rPXk3O0JpNFBkNjlSUVZ+K1FDRlBGeyRzIz50ZTlVMCgNCj4gJFh9DQo+ IHpwJFh1dDR1aEpXKnQ0NkxyUkVBaFRLKW41U3c1c2JBOXBgcXEoSHFgTCZDNno0NSF3aDNJRz5g VlVEJSNeckoNCj4gbz0NCj4geio5LSN3ZlFKNyRBVV9VRUwlYlJ2Ky1HNz51RCRWajcxLSEtDQo+ IE1aWE42PjNCR1glVkZqb0t3MHZKMyQmTXc5VC1VZQ0KPiB6ZkpJJEtoZGw2IzF3WWtyKW09PHom fUoyQWxPbC0NCj4gRENxRmhKZG91fHhFUm5wS2NtKHN3ezJRKXhtb1BUOERMRG8pDQo+IHo3eXBH UlRxVVhWPUE5PUVrZEw0JShBTnN8OEVtNEhmZFZmU2dCcDxjbSljMEkqMTlXUWg/Xn5qJWBpd1EN Cj4gbFllQi0NCj4geitnMXhgYGRVQXZLaCgkMm1td31IbDAyfWxZUmo2Uk0/Ky1lVmZ0YlRLY1lH THotDQo+IFpAP3RfUWIyUHlHa0BxRzZ5bg0KPiB6JUhzKTA7N2t7OEF+Uj1oPlc2Wil5JEl0dGVM dFh0dnkzQEh0czIle28jXldDZThFVz9XTDdudXZNSkd0cA0KPiA+I0lqDQo+IHptbkNVcEArTmVL WmBMWTVQaElWQ2A/amBvdzlfJD1yeDlDdSY+RGozV3EhbGVWPXZgIUwoPGJkeHslQFRDDQo+IEtk aVMNCj4gek8jfkA4Smk+fkdOPXt6cTBoVEJ0WU9HajlSP095fVclUVljWHBTcHZYUTBufClhclZr dG5YMXhZdFNgdD0xDQo+IEErNQ0KPiB6eXklJD5gWjl6M0BzfThzQUR0OSNXMjNxdjdsJHxMKjQ7 U0QoWWoxZnJTcExPQTx2Ykdgbkp4eTNfZ3kpMEdCMjUNCj4gejtHdkluTSN3KitSNHs+YjJteVFf ZnN7ZTJRRDE9SWNQZmtrI296JVpEXjdSfHlFUCN1YDM8dUc8TSZzSg0KPiBiS2xrVA0KPiB6Pj5E SihyRSN9NksoLUpCQ2x0a3cyZjJxTHFac157NCN0d296Sl9FMCE9V3tIPUN9ZTFLczJHOClqTF91 aEQob3ENCj4genVHNEBJYmBMM3ZGdlZvMXoocC0NCj4gZGdYUlR9MDxuPXRrcDkmSz5CYClleGR7 dDVxMW9MU0Z6XlFvPkJ3OEZGJmUyJA0KPiB6NzYoKTJWd0F+aEg9SmN5QzVqQmg/N2xEQWJAS0Ze YTdUdGNDU2Vec3tubiElOylgUig7UF5zaz5rQ0pPZk01UQ0KPiBJDQo+IHomRmVSdTUlREJPUmhF NV5jaDNnI2ZJN089XzRvQTs7QSUxSUokJihST0QoKDlSVlZgRntXJHtFdXNGTThODQo+ICpRITYN Cj4gemZgYUNfKDMpSyY1ek5nOEdiaHFgbWZsdm5SMCQhfWI4U3xmKz5BVnZGfj85SVdgPjhgUTUy d2tGTD5jU3JJUnR3DQo+IHpHYllmUCM/NU4zJW43SW50aHBIZXhQKjc0an11RGpRcnIzTmlmPEQt DQo+IFVRPG53WEFwJGg4Kj94O2JGP21ufERqdDkNCj4gemlReldtSSF3UXcjLW9nQXNxMCU4QFUj VHAteThTPHtvRUBveTtSTUNfWWQ2QD51UnZQPS0NCj4gVjUzcFJwKHJUTH49VA0KPiB6VmlwUlVW cjxxRkBHQHFLM0IyTXhPaHF5UUsxJT4tDQo+IGxPYWpxdCVMfXZ2cyNKNkcpc3w9dElNRU5LZ3tf M3Vxd2sqDQo+IHpeVVFvRyVreUY8XytGcV82ZGRGM1FhX05HTHp6PURDOzQ4ZWBeZmh+cG5xNFZY R31abjt1IXJeaUgzPEJVDQo+ICsoOU4NCj4gemdBejJ5TVNzYEU9UGxmWklWSnxTO2tqd2Bjem9Y cloofjlRVDtPMHxRKzh6Vz0rQkc7Xi0hU2Q1fj47TXUhczR2DQo+IHpyK0JgJFFtJnVVRTElM2VR WGxMTV89Tz8qVn04fD4kOTZtISVfZXRBQjQxOytAPUZBdlEwI2xmS2RBSUkNCj4gWlJlfVcNCj4g el5XXjlTN2BiQFVIWUh4a28kcT5hbSg1PCZMX2NuX3crbVReZEBeQDlVfDlsfGdZZWp8NWs0Nz9Y Z15pDQo+IHYjfHkjcg0KPiB6dDI2QShHWm1SMT5USTl8eiFyeURAVEVAeVlwfTgoKyNYKSswWWw7 ezR8cGlgUHNPWV9xPGc1SmlGYTNVeit5JksNCj4gelp7TGswP2xAYEFzY3UpSU13I25wd0Aodkpk flNGWEFNKGAlQHZDRS0NCj4gXighOCZqbDArbWRVQ19Na0M1Ujxfe0dIUA0KPiB6emR6KkN1Z0pg JUViOClBQilZQ05nKkx2ZzxhP0R7Yl9KKUJSUzZsU3c0TVU5QTdMZy1ub2hhKGxOOzd7citDMmkN Cj4geiRIVStmOGlxaFdjKlNaJFBhKlV8SHdZSWwrXldaKTFXaXIhYSYpX0Z3e3cwMV9sTXtMcShs Tl9sQVdrTzFpDQo+ICh4TA0KPiB6PylDYjI5V2cqLV9ScD5IIyFnXlQ4bF9eKWJnTUBNQF5HZHFH WH4weXs8KEV0NyUzS31YLQ0KPiBgZlo8XzVlbWAxUylgDQo+IHpWO3BzPldkZU9EYkRWTFAkZ3El dndHWmtPXmF1SDtAcXV1PyUtfiohUkVoWTs/I0l6KU1oNCMtDQo+IDc7dm8lNDczRH0NCj4genQq YmZLUXU5PzNQQWlXKj1vQEY8Y2J+NFdVJlRxfCgoaE5wKCgkVyNYe2htQz41Y2Y+OCN0RGlyalpf VSQNCj4geEQ5fg0KPiB6NTMyaUVLZX5+Qip5YUNaV0JGRGR8QV9ENEg8entrPXxVdCshdV5eXnt0 RFg3WnUlUnJHdEBPd2ZUMHImDQo+IDk5RTxnDQo+IHpyZFF2OFUrOURxJjslJWFXUUZ3elIpbCYo YEFvZClBcURuZk9meGJXM0ZOZWkzO2hDcUlifnswRGwpJV9SDQo+IDh3VCENCj4gejApRnh9V3tp ITxFIUMqb01sUkQ2ZmhIPWRueHM+aztgTDNnPXFicyVDS3pESWBsdCEhN2lOaiVsX2lwST1pKXAh DQo+IHo0JHxqbVVNQkdCUUh9TFlYVSVmQ1J2ZlAkXz12Nk1NYjU8aEkmazQrcHl7QEBMaFBxUTk2 SmcoO1RfDQo+IFRfa3Z0SUENCj4geihPUnxhYTtjX3VHVzIqQSRqUDlUOFN0OVNDaEBFdC0tDQo+ IFl3ejRMfVghMShwaSNNMlpLNl82MGNTeEg0MDRvTHNvbg0KPiB6PTQ3Qmp4S3UrQDBHTGMzMDht LQ0KPiBpUkRVeUVDQ0tWfnYoXmswVX5ofWZBYkwpJT8pTDNtMDQwR3hoSnw+ODRxM09yDQo+IHo0 VS1qfWpwIz57YDdtKEQkPzY3fXE5amBkayRoaz9rZEVPQ04rd0x6KzhvKjcyaFpUYzxOcWxUTT43 ey1ZcXpjYA0KPiB6KGFLQUx2M2lnam1fWm41LQ0KPiBfNGNzUVYreFYhTUozZSFWKTNBQU07ekVu JUhqPGJnSmdAVEc5Zj83ajV1aWNtT3crDQo+IHpvTnBlMWd2MSpLQUhxNSFBek1uO0R0a1NvMj5P Rj56Sj92PGlTTUFBayFCV2s+cUR3Umg/VUZrJXBLcw0KPiBGYExSKEUNCj4gem0mJmFDWGR0NmlX LQ0KPiB9dlRDWFhaRTdVWXwlWCNxPW45ODBEcXlkP3VJaU5LPnRWMSUyU3UhUEQ/TWgwJU00MXIo Pg0KPiB6NGlaY0VqKnY2cDBOcjNmYWlXKyExTko3REp5WSR2NHhjTntYQm1FbHBEKHU4Y2IwUnZq bXU5ViFNNypKTSlePg0KPiA0DQo+IHpYaiFzJjZgc0h8NHt4e140PXNUPV9YWE5tcVBeNXRkPW5u RkFFR28hKHZgdloqYmYyLVkpe3J+dVQ/IVN1dSkpMQ0KPiB6KFhDd3diO0lBTF4hMHYjIUJobTZP VFVLSDRUJUZEeFI7XzN4d0QlMDclbUc2e2JPSyp6fiM2Xz49ZnYNCj4gSnc5aXlFDQo+IHo9TDJn cnNxNXNDOF9edENFM2tHKWtLR1h0QkQzJiR7TXo8ZVdQMVlzPz1VNSNhRkhFWHNfXlcxVitvZnwN Cj4gQnwtSnUNCj4genlJNVFxQ0kmRW9LSj8lfmBlbXBJUSNJfGlzJDVxPmAlVUdeeUNfYWMhfG1x ckk9bGR5Tjd7UXBhYTt1PSE2fTENCj4gbQ0KPiB6VGgjMzVKI15kUHdJWm14I0R2V2E9a1ZIZDZy fGshODJ4fX1xcyoxSWZTdzghZndzYGdPWTc+MnZgZ19jdVB1eg0KPiB2DQo+IHp0QWhIfTZgUVBu ZGcteCZDLQ0KPiBgQ28qKGdyeyVJM3p1JSoyZlpERzJOZHMpJHdjOSRvU3REQHlNZTlHQCV9KDdI V2gNCj4gem5MN2BpQF5pVGBAU3FpT1ApRWQ7Qip6TTU0RlpJbjIyNChQVXppXyV8Sj5NWU4wSjJ2 QHhGUG5sWDJpYzJkMUUNCj4gMw0KPiB6NDY1SVdwRFElT0tfQ09tQHE/TWlhT2p7c3UlfCNAWGEo US0NCj4gXmNlISV5WnhOTmJEUVc0X01RNWMmTFd0QzgmOSt5DQo+IHpaOXVOcmZma2FqY3IwQUNR RHVIK21rMX13cSs5eF5KNHtibXhud3BfVzV9JENXTEFWekorVnAtDQo+IFhmWjUjP2d+Y0kNCj4g emR4PT98P3xSUUJ5RmJiISQ8Q3NlP1BTU0pEQXlOKnZ6VUlSMiNUe0F1cj08PUVRPVV0UiQyMUE2 NkE/JFYhDQo+IHdnQQ0KPiB6NDF1bjRsLV5zdUE4JWJEPHJuJmRYVCgzPE4+b1kmRmo0Yi0NCj4g dmhNa2lgbm5rMXAoU3l4OUtFayRIcHAkUWxfKUw0DQo+IHpEaTExK0JOUG4+Pnp1QX5TaitUXiEh eGszP0BsbWdLPSt1Xl5pYlpDdGwzaGxydDh1UWFHd0VgTkVwNGwtUkw0OQ0KPiB6RVltNENJT0x3 TE9mJk1OcGBuRE1JYmNRJSM3TkorQ044YVlSfGhSUitNfSFheyRzMmlXTjF3WFFVYw0KPiB4ZVNY X2U2DQo+IHojdE08elFJUzUjMCM+c0AjVk82RW92TllQLQ0KPiBaO1RqV1htI1Z2dSh5U2h3fl82 ISM3O0JXITk1bWU5aDBHJX4wYWwNCj4geishRDg7TURoYkRLcnRFTWRXQEE7RFZPUn1rT1d0TkpD Uig0QjtuM1kre29oKzQ0RDE/YmM1TG1JKnFXDQo+IENTeDdsUA0KPiB6SHt+M3VVS0BKSkJ6KVJS X2A2JDdtQVp0ZShZQTJ0S0FBMEQqSHQrbCN1RHJpNmxpKmN7Z0xtPW9Yb1laWS07XigNCj4gekcx RWhDXjtgRTltQHs2Nm81KT1iR1IkayRrMkxKUUxYTFg9M0ElRDtFY29Cb08tQHZFY1ItDQo+IGkr bntQdWo5KE1nOw0KPiB6b298Q3drVHEoeHJFSl9oPnxNelBseDljeW5LdUVJJX1Dfn1eUiN4VFRV fnp9KDVGXnVmPHFgal4+emA7KDwzbmkNCj4gemhncUU1Y3VjbGE9N2tAWDhBamNVdjc0MVUoZEFn MntQQXhiK0Q3UXFrbTEjd0tBMmR8Y34/QHZrYCooPFQNCj4gRlR9eA0KPiB6MDF2RSkoe3okUyln TGA/TEc+cnkwYTNTOTdrUiFfPGpDQTI7bHlLfVRJbm9PTCtUPSNTcERNOXJwUUI5a3J6c2wNCj4g emh0Zzl9PFZ5XiF0bipLNzZNMyFeTVEtVnFUMyVva2BOJShWWVQzeW1VQ3Rza3ElTSspUm1kdWAt DQo+IDcyeUAhZGtZQQ0KPiB6ZFk4NUM7ZHtge1pNb1BDRWhGaEdZfChxcnA5bUI3TCReWk1NPG5n Uk9wR3NFYExmVlchI1U2KSRlT0QrDQo+ID8mNWZZDQo+IHpWcXsyfHVVangpPXA/I1Q2SkJ4TyZ7 aV9gR01Rb2ZhaHA3eHBJT013a149VDtGI1AtDQo+IEQzTnB0WUNPYigmX3ZGd0kNCj4gejx2RldS WGIhJE5TbDwteTxgaFotLQ0KPiB7XiVOMCk9N1JAIShOWTheUzA3JTBHfDJmT0dRTVFhbyN1TCt0 d3hxYHloZg0KPiB6ZEVxVFdXN01WTHF8fUNzcjRSSmgzfHpsYzVNMDZaKVc9WHM0ZnpsSUwqcFRq U2IxVy1je35Sej57IXBMV29sLQ0KPiBnDQo+IHohTHtFaG54XzdLQ3p9SVhgdD1qQisyZXs5MUMm T3lCUT5iMGdeViZ0N1g5aGpYc2pHLQ0KPiBXJG98b1NhezEye2RWV2ENCj4gej0oaXp1OSpZJkx6 cilHNm8oOHYjTFFUezMhJGRXfUtpfTJ0NnNJd2gha2EhNDAtWTA5ZEttcjwjT040P0FrYSRuDQo+ IHpSbDV8bVNSUHB4OGI+RHpBTDU4KUtJLVg9Qi1YaDY1Ri1NbF5hJmU+KX4wMyQyRmZDaCQ2TzFL K2o4LQ0KPiBNUFFGciYNCj4geiU7SXFuVl8peSowdVAtDQo+ID88SDNCP0JxdHVIMDFxOyEpI0tN Zl8zZEA3ZkgxPHtVKWVqTjFgKylaJkRkZV8+QHEzNQ0KPiB6byRjVSlEI1NGJShaQSsyMnpGTzEp Znk/Q04hNWsmWHpOZHlORiYwMFJPPnNzS15VSkY4KHs4UVVVbVVoDQo+IGRlJS02DQo+IHptaXs+ I2R5WjhyJW5XZzd0YUZxXmsmJFJoeUUzIXNHVHohVFUwfFUqJVphWGYzZH08ezZJM3x0d1ZZaTgt DQo+IHBtekoNCj4genlFSGIjPztBTXdVKmc+aDtjcig0cWBsVFNoJUJNcDxVa1EtKHxWTE8xR0It DQo+IFlmKTRub29MYlduZX01bzQ2KU9tVw0KPiB6dSglWiMyLV5HKip4MXktcCpTezN6M1RuezF2 aGV+V2Y5R2owYDFeTTZZSD02Jm4tDQo+ICF3S0pZIW5HWkplQGkjK2hhDQo+IHpFSWY7U0xJaWQ+ diQ2OFJmfl44Uz0wSV81eTRyKmNfMzlvQD1lV28+TExzb24wMzFrbkJQaUBANUdzV3s0bHh+DQo+ IHINCj4gelNaMGZFNDR9MnA2RFptPGtZNHRQVkZOVXROKmBkd3VgKiZiMiYmQ01AeFZ8VVBPRX5P P2lYJlYjdlUNCj4gP0NZX2dfLQ0KPiB6KmJIP1phRXMzPWoyKS0pMXh4TikxNTVydV9Jbkp4aU5g bGo8MS0NCj4gMl5oZSsyd2FXfFZuVXdHI0c+Sl9OTFlUWG5NDQo+IHplZ1YmMT9uP1c5N3Qzc2w1 YHEyVGlGVjcoSytCfD9rVVA7e3lKal47Zl54MEEzdz5nKUpEMld6OVVCUEplSm1YDQo+IC0NCj4g ej9XdGg2PSlUSiY8NTY+a1lTR049dUBjcn03ckdYTUR8cThuYUQ0UlM2IXAxb0hvVClzZFJkPEFR MzFweA0KPiBEelo3Qg0KPiB6TFphd0U4eSZ7JWdPTzJaQStVe1NjPFopSnQ9a158VT80VjFiem5w JVVFRlZXLQ0KPiBxKz1RRUVFKlBjWmckQkVjMDs4DQo+IHp4U3l6SFhCdTBkanM0dkFQdDlMKFh2 SX45e25nWD8oMTM/JmU4MmByYmZQQHE2YkFPOTV0MSopPFlGenRsTHVseQ0KPiB6MHVRUnRkPlJI alZ9fGdQYkhhVzs8ZzJnZ2BDSzF9NnFxeUFGfFl8KyZlNCRKZXNVNWZSPjQxTjR1dDlLYEANCj4g K2s+DQo+IHpgajF5SE9CIy0NCj4gOCZVMkpfNENBbCFSMkV6MkVROSE1MEczR3xWeWFAQnYmXjtk YGhYTl45bj0oPEd0QEc+NEJAaEANCj4gemZ5UnJyRmx5VCRZYGx0NUpjIzVJXyF0ZSMtK0wybTdD ZyVzdSQqZlp5KjlVS3UtRyRIQ1QoI3BWYUN+XyNjRXw8DQo+IHp3Ji11NjElITZxKllzKDQoPGZ0 dD4pPFYyP0Z6UF9qUWgtDQo+IE42fCtscW54aDBQTHwrSF8rSEdYXlZoMz9sUXRfU1YNCj4geiUx SFNuanc8cHEjcHtvbzk7YnVvens/PVQ0YCZwelpqcGFsYDtxcWRlTEcqfU5UcV9Ldy1IQXNLJWk/ dXNxKX0hDQo+IHpxQU1mNVJEcGkpLX47bEVQRH1zSDFjUD5jUDRsYzVIKHEhfEZ1ZWdHITxYdlky YHkmaGsrb3p1Z0V+OEZqZ3IyUg0KPiB6PXw4Pz1WfVpud3tKbW84KG8jSmhUQitmdlh4LQ0KPiB3 eFgkP21rMjRAU0tkKW1NKF9Eb0JeR2ZiYHkxRGVKSVF0WTcyDQo+IHp2c2UkI1N6Qk1Oc34kYVZU N3dzMlZ7UndkPXVYU1RoRFRWRyZXJGZpcEBaN09NakVUIystDQo+IHg8ej9Bd01UNEdqbkENCj4g ek4tDQo+IDx8ZCsyfkhBbT5DPG5qVUFkUDs7RStDc0JQP0sqayVAUEJOWXQ4fDZ1UlFKejdBS2hr MWs7ens4KnwwYXcNCj4gRXUNCj4gekNvPztGU1JYbk5KcVNrIWEkcExfX1JDSHM0K31xbmFCQz8x NStsVlAzVzdtfUl0UHIoVnE7bjB1bWBDbjMtDQo+ICFQZQ0KPiB6TmhEYHE8PipaKT5fRzwoNmJD Vio8VmVJQUFHSHFTNEdXUiY4aiVlU0w+M0gjJFBkNkNZKCM5fUBSTA0KPiBNQFMqVlhYDQo+IHo5 Zjt0Qm5gYX5PTk1MI340VHRpdE5ZPitXOFhPVik+a3B0dWRHQyQqeUxzeVotDQo+IGpERk1GS15E c0NAbz8wbGwlSF8NCj4gemtZaj4/cngqaz5sNFg/UT43d2xKeHQ4eHVKZTE5RTR+b19DMSY7TDhU TWJUYzsqcC1XQlJYU3NkZE9JSWBLdCMoDQo+IHo1SSstLV53JHJISFRaPWA+WT1OdkZ4THFyXnxS eFYjWUFWVW1BPTU0eyhaZElOYjItZkprcjFBajVZTlNQaklIIQ0KPiB6eyo7WFkwQER9UkBrc3c0 IT09QiVuZkBMcGdpZGU4Qm1GaGJTZ1pZQD5ORVghVVQhcV5UaFY/SmtIbkooDQo+ICNwPzhLDQo+ IHpOQmVWbylVR140NVQtDQo+IFpyTktnTEAmUjhBcWFpcmZxMiFpUU5Ka29PfEYoZl9ne1d6KTd5 NXA2cnc2KUliU0EpI3ENCj4gemZpWElWcTVKV008JG1LbT9rNkU1Iy0NCj4gPkZgUCFQJFAlR2de JmFfPVZTOVJ2K0BiS19JQzZCdUB0Z2VnNWhoPnVYNA0KPiB6eCp4THY9MTwzN0NuWVklNH18K0p5 MiFQM0JhbjNrYWEqdzItDQo+IEdHTDtjaiolaFdOWHN8VktVRykoPjlENHBrbmtnDQo+IHpeZk4z azI8dHxlYHoqPm9YPStWVHRkaUB2PXcheHpoJX5VSnhQTCRNZmRTNmVxSj5rakVyQW8hOzkjO2JF SFYNCj4gdUUNCj4geitGPSZPKDhLNjhsekFBa25PT29icXgrYz1Fd1h4LThyeENVNWNvSENjZSRa XkQ4cCZ7Uy0NCj4gKmd7PndWMXw7N0VkKg0KPiB6bkZGUyNaUzFTYHheJGVCWERsd2NjMXpXP3Nk LW5qaE1mZStzPWB1X0JmdDAjZSQjaFpnKkhxWmk5Kjkke3VgX0UNCj4gemU2XzYwJHolPVdNZTVo IVVOKEVQO2xtd2RaX0d0YT5YM0IlbnlabUZ8QUBuNXojJUNpPkhtYSMtDQo+IG1IR0NgQkF9eA0K PiB6LQ0KPiBeQW5nJWMmNnZkbVZWWntYYVEpWHZtQXkjWkVrSWMjUXtoUVF2c1c7OEVxa1c0eiRP a257eEx2OUl9ZzdLDQo+IH1nQg0KPiB6Wn5LfmB2OyNWSUk3YjZXNj0hTjtDZkI/ZihZfiFJe3Zh JkE4K1c2NG4tDQo+IEJQIWV1eCFFZTIzKWJkKzU3KEBvZzJADQo+IHpjd1pVcD15aWhsYD5XUkNT Vk9EaXZHYWJ7KkRyRiNKQUh9Zip+cENobD5DKiNRaFo5Snd5PTteYDQrVCVKMEUNCj4gSDwNCj4g ekwhdz5wVzBSSjZDUl9RUFhzeTZeZDxWWnJgV2BHcDttS3ljVkU7YiZJdm9+PzhCaSlrPnx+dmBF R2Y3X3BNDQo+ICpCUg0KPiB6aWF5PHEjUlMkNVFhSGBkNTZqVmYxLQ0KPiBtZ1VOb3xVdzUpaE9H MFN9VElvIXkjeEJ+bWt5YkYhNytAcHNBK2BlNnJPDQo+IHp7ZFhAKUh1Q3s0bVJmKWQ5M2RebzQ9 PFF7OE1fNU5hQzh7eGlTTEtJayk5MHBnP2khIzxTTUVPME1HJnFWDQo+IFgkOFYNCj4gejdfNSRh KGlkaCtqbFh8ZFkoQCUoJiNNMTtFXndqVTY1RXF7WSt3SyF1UlUxM3pWYCtldTIyWnBzb1AhflpU Yw0KPiBqJg0KPiB6RDhDKHs+M0B1MnR3anJ5ZWgxSHtZdkxjQTdNcW05Y0NVS0UlREEwZ1YoVCVD cjNzSy0NCj4gUDVXJkprZXpnO0s2S0haDQo+IHp7eDhXd05GJE0mQXVZbzFfJmIqKlRJRkV9enQ4 WUokWmRwVkdoZmd1VFhkXkRGMEh+ZCtWUV5JVi0NCj4gdnR0Oz05bGsNCj4gejVEKEIwVC1zK0Yw KGBQM2VFQHdSdE93PnVYVUV7STRAdFM8SGFxcWlwLQ0KPiBWSV9CPmJNU3RfQ0BucDJtKzJLTVB4 TQ0KPiB6N1dgU1RRNlV7MF9+YD57PX14cEsxRVV3QGh8SEhwJms8blFQV0BZU0NTVjF7SkVLITlm RWZNTEFydF9zDQo+IGEzSStMDQo+IHpUblVwMFV2QE81P31tbW9nS0Q5TiVaeiZgUnR5M2xEd2Up fHZeYClGJkN9MkAkclFpaT5HPXUkdSFGRFgNCj4gXyNPLSoNCj4gekw5JiVFQFA9UmRUTXxAckMh NE9Pcn0wUHlCNGU7fjAmU0hjU0J2aTFsVyZYezYyU284I04yXyNrK1NGJg0KPiA9cz48Mg0KPiB6 IUBBWi0NCj4gQFZ2TFY3Mmk7O3d5OSQ1VyhXaUk7PSM3ak9iSipoKXd+VUdLfj90T0t5IX5EPlF7 QCZYVH5pe3JrTCVyDQo+IHpNMmF3fVIoQGxwMVF4P2RBcE91dFkkRnE/WUs+SCljfDhFKUpOUylA TDZhJFl5fnBpfW90UH0lJjxOM3h0MQ0KPiBLTHINCj4gemZCdWB+WGR2djQ0NVREZm45VD1RMElm YHJUITRzdm8hSXhZSmFhWjRkLSpjPkduMzdAOVMjXjlhdmtZXmo2bGw8DQo+IHpkWndGM3Zeb2xl NUI9RF88fXd0NHpxSl5RUCp9RnxIN1M5SzxgejdzYTBvKzE8dCZKeGZqJjR8cnJrVjxlRDJ2DQo+ IE8NCj4gejYlalJoQkp+aGI3PjNMSUklRkBqMTRkTXBsM0QkdHE9MEMlb2VTNihpNGc1MG8wLQ0K PiB0fTAjPj10b1gyS3wpKkpSYQ0KPiB6dHFmJXJAfVBtWjJPYGohNFZrNVNqZ2xQdUItQGc9YTcm WHdiKVJUJExlaXVabm9PfUN3Q2otDQo+IHY8VUE9VShWJXl7DQo+IHpqOENRciVSd20qbkZCaHV5 c3JQJTU3PlMkenxLSD1fMjE+IzJ1Pnc3MEE5N3RwZHFUU2BBUEo9d3ZILQ0KPiBBRnpKOUMNCj4g enBVLQ0KPiAjJU4lSU5FKTk/KkA1ciQkaVl5cSN3V2NWJWdqNVI2MHN3WT5ZeiVoXilzZEx8T092 Kk9BbyghM2JOKnANCj4gcWkNCj4gejtkI2lMZXs1N1l3Z3s1VjNgdmckT3tWe2JTPVM3VzxDM2pK OX1AKjlqYih7Xit9TjA2TlYxZ3lpU2I2Rk4mZ0lLDQo+IHpqT05MakAhSERGSmp1S2NSQUlDYGhR TX4zbitpOWpDTEE/JFd5LQ0KPiB8YGNkP2JjP15jP2NZdnF4QDVxdVgzKXt5bmANCj4gejBxPk9G KjMxdzhvfl5SfCpBIUwyalQ/N2VoYz5OTTUxLQ0KPiAwPGY8dVoxRURHRDBQOG1KemdeWSgwM1N9 fEwwe2YlIQ0KPiB6VTloI28pS0hYTSgzaVpsS2hlQ0xSWkIoakUjcDUobnVEdUZEMmp1PW94PDJM ZVF3OGxlPXdDSWFCWl5LaSkpKQ0KPiBoDQo+IHo+T2ZOWCVSb0NXVmN7cmgwRnUjRHErKE47Kk1a Qko3cUBQVU9DLQ0KPiBVZyojc1UoJkM2dzZHaioodD1ebURKKms5Z1ENCj4gemdrKFc9bE9xfGoh dzg5Z2FDIXs7VUV1VW1MQ2tyIT1mKGJ6WVcldnpHU2JENnk4IyM5VWpfYi0NCj4gZypJNU9pJnZ1 UA0KPiB6aGNLRTIreW9OUTJHazRHQW9SKVNReTNjUCF4V15zWXklI21DJkQzUmNMbkh7NWJAbyR1 bkdEemJXDQo+IC1SY1NMUCVADQo+IHpHYl82dGEwc3NsWER8XmRoOCNWT01fdEd5ZFhmeTY4Km42 eE9zKUF3PE9HezdlOUxfPChoIXtaMExNeEdvDQo+IE1HUysNCj4genh8RGNsUyt0dE9jQkNwZ05y MnhPQmJvWXMqN2xlKTw0bWEoZEM8Z2U5VFlweTxTfGs1Y3Y/ZntXXmtmcGtrbkQNCj4gTA0KPiB6 NHclZVMjRzNRWShXPmJEX3p1M2cqM01aeUQhemwyYTs9MHRCX0d+OW9EQGpoczBndjdgQVAmT1Fy Rl5KDQo+IFB4OTxQDQo+IHpOSU5BT1NqWCFHU3R3fmFQV0xfMioqMzk+JHJRNm13bGJVZVE1ZmIp dUtKWlNpIz9SRW1EM2FOZD1HczsNCj4gY3VlVW0NCj4geiN0MF83dzRlKkU+UG9lNCNmK2BUNCN0 PCpKR004cyFBV0IpT0JmPzFNREsmOWhIQ0k7NzlaM1opdjlZTmZsDQo+IEZJTw0KPiB6cVdOfSY4 VkdAaGxNV19eS2J8SUIjaXw9WHFxPjhqYkpyWX5PITEqME1ZMmxCR3VaU3gkJXFiSmpxfSZeDQo+ IHQ+aj5XDQo+IHpBXjB6TWQkTDlab0VBWjgoTm5udXFkYkJeMC0zNDtqI0k0VTItfS1xZiQydGUl QXUxIT9EOTNnZzYyMjxlLQ0KPiBab1INCj4gekQ5Mk9PTT47PHBeZT4wUUdCYyRTXktAe3o5Z00z Ukt6I1lwdjRrJE9mKzJJM145STRMTUMpUXlOME5HDQo+IERyNEJoZg0KPiB6KzAyTXdxKWQmJS1+ YGB0Iz0pUWp5VnRlcTM+X3VwPCQ7JEVjQjZhUFklMGBsKUV3RH0xRG9kTyhUIXtiLQ0KPiAmZWxK DQo+IHphUkxNVlJGSFYhViMzeCVkfXg7TTZ1KUtPPDNuQFhudEMjeGt9bndIJEE8XjVidkdqcV5l fVUlT14NCj4gTWhQUWQxOGkNCj4gekNBZSsjTFQwZ3AtDQo+IHtMS3NRdzBBcVhRZ0VSME8jfTZF PSF0SkpKN0pTP1ArRlMxKEclKSYqPSEkT3c0Sjc0Jmo+Vw0KPiB6Ujh1aiUhZGc4fFRFaVZKYj55 RnZSdH0qdHdAVSROZy0NCj4gKlI0NCVjejI/QFRnNms2OHomWFp7dVNtanpLR0gzdyswDQo+IHol NzRGdig7P3JJSFFRamxRajgtDQo+IElUI20yejlqSkRsam5CV35eTHU8fHpGaDVeZ1VAflZ5enQ5 dipFV1J4OUd+eXcNCj4gel5JZCNpI3BnfFlUIW4+c2g1OWVRdSVOS2U0ZnspbEd+WiR4ezYyLQ0K PiA+QUt+TTJmOHQqclYpTF5RMT8hanB5NHYrTw0KPiB6cT9gTXpZUygkTVI9YmAhU25YOy0NCj4g Kmh1YElpMSZNNXNkaEVzX3cpRUgwP2JWT0Yydl9eaGZ2bHkreyVSaT58Wl9+DQo+IHozJnkjMU5h NDU8QloyYWBrJG0teDhhLQ0KPiB+QG1+cX41PEhxV3BFZDM0cjFTRWJRenlgeUdLTyhQS2Y2JE5g JDg2fEQNCj4gejVgTHBJdmpHeXNuS0I0IytuLQ0KPiB7R1cxNEY+TjZCYzN6MFZ+U2Z9XnhCa2Mw R3dwaFE7UiN7OStVOUZ7O0pOIVRrRg0KPiB6VmNQWVo0RFVseVFjenR7e00tUjdHKztDOFF+PzEk b2NEbUVXZVkrMm0hO1BqeTE2WGludUAtDQo+IHhaeXI9ZTI8aisoDQo+IHo2eiYqZzE1RVYoNUth WGkzbzR2S2wrdCgjMDgyNiROPWRQMFlSfDdoUSolel5ec0RgSU09bnNFK1dIPFM8IQ0KPiA4UT0N Cj4geikjcWFXdU90VyEkKWBGYHA0RTs3RVctZU9hMWUkOEM4eDxvLQ0KPiBodE9oJmh9e3YqfHF2 Uyg2S1ojMX5TfUJ3VHpxLQ0KPiB6ZURHelIwe2VDQzd8Sn44I21vOE5IfVF+TSktDQo+IHVXSFVM dXVOOE1vdz9hbVc9YlNGZ1V9Q19fVylHRFBKdiloOzcqDQo+IHpDJU87amVgNGFje1hySU9uO2co bUUta3htU1Nuem4tDQo+IG9FbitMJWo+V3RVWCRRVl5aK3dwZ1FTWUNkYmd0SiVKN0wNCj4geiNK fWxgPHBsUH1BSFN3UChDUSUmRD44K05RUU97WG15Iz55XzdwajMkTEo0LQ0KPiB6P1ohUl8qdjRx cDkrM1U1OHcrdg0KPiB6MHAzcW5FI31DSSNeJTRwMm5vM2h6QiV6eWBjRlBTVVBeMHEjOFc/TmBI Vk5XVTdyMGtNPEowJXsqQiMNCj4gej8qQ2kqDQo+IHojb3R7Qm5oMTEpc1F4QVc7KXIlOTNFVFJg SX1jX2xFUyVMWlIpRnJjZXNTa01Odz1ATDNZP21NPGxTP3QkLQ0KPiA1Ym4NCj4gej8oX1g/YG8l UkkjcjlDekBoSXxlI1YlNVJgbFNQcHRiUzRPNU1uPnUhaDtKYTN5Jlk2RXpGVz9JcT4rdXIoZQ0K PiA5RA0KPiB6bm1TOXJTYz9+WChlTj8pI1RWfTFIZW1GTkdrX3Bob0JVLQ0KPiBqQn1GXnMpR3l4 bCtOaCpmRn4wQ257JFpyRVJnQ2MrDQo+IHpQYT43YSpaaU9DLXEoMSVYQnEtOSFeIzRJJnl1QnRD WW0zP2R3ZDdLeHEjaHZORVdjU2ZZaHU3dFJEPS0NCj4gKGJeakYNCj4gekJLM2RSZG1IZDVpPnEm WjY5TyZ9KnF9azlNaEY2bTFgITFuajlAQGtLfWsoZ3FGQWtCTU87JXFEREUNCj4gbStLSGFRaw0K PiB6Uz1NNH1USDBFUlJhPjw3RGZZMzVFenAyUygxK0hEXnBSR3EwYUg3LQ0KPiBuPzZsI1N7SUR1 fE5FVnB4JWJ7QTtLJHFsDQo+IHpfNGF6LQ0KPiBTMSZnQUpAPVdKR2lUMTZJZGtVQm5SXzhRdG4z UThARkFmI09IbiZ0R1FIMEUqOzR6R3NkbVA4YXpQUw0KPiBuDQo+IHo0bE5OUmAwSldPYDJ0Z3N6 eEFsKihBV1AoPUZubylya0NfJDQmYGZmR2s/ViMkX0UoISU3RnthcGAtQUorUlZTcw0KPiB6OVFx ZldtaXF0MjlRdj49X3x1ejFpLQ0KPiBhUWw2PzNST1owNF9QNCZAN3w2NEYkZUJ+O1AyI3tiTEJw QGskfWxEfWRPDQo+IHptNTBzemI8THJDZmpNLUtrUz99e3IyODBpPXFvdGoxUXQyRUlkbkNPLQ0K PiA0U35UemhWeVViRm88d2ReOCFPJktfQSQNCj4geml0KH05bm5NUlEwTHs7NjRuMHBKclJ7ZG4m OHR7MyY3cGpWX0Z4V3VAX3hoVFVDcDcpVjlsWD9LQl9zaUpNYg0KPiBxbA0KPiB6aFpkayV7QWJP ZmRgLW1vODt7bERTSW5VfCVsWHckVT1DZUA5N2l5UnZNYCFNM0Ywd18tDQo+IFp6UW5CKFluSEly T19ZDQo+IHooKDlULTJgbERNSzQ+NUBod31BZiUlUkk5MlAtDQo+IHdeUE1TbWNzP0RNTj8zelJR QklaeSYmPllJWVNkTW93aHUmflYNCj4gel9mbCpUS0M1U3M+dUxfb04zeHd3XyQ7JFlKKWgkQjMt S0c+JS0NCj4gPHVKTCR+UVUqcVRFJTxmVz1+eUp0NFptX3ViWQ0KPiB6NXAoRSR6YX48SmRkck8r RGVKIzcmTC1uZ29BWD9FYjEyY3pIaXQ2aC1gcEh9ZTw5b1h1UTctDQo+IEEwZUw+RElyTnV6DQo+ IHpBS2VgSyVMYGVTI35kMlpXSF8yUl5uU15nRl41KXJ2WjEoLQ0KPiBISFIpKFZueFFrdDJ3ayVq KWk9QElkb0pIYTdRJFUNCj4geno5fFBrQHtWOCotRTYpZC01bU9ENGJfdTViZG1uX3xJREYxbj9v eTNnQV9aZUlrZmM3fDdRLQ0KPiBSRk9Ye3ZlZnI0ZQ0KPiB6JntzYyZJckp0Q2AhNnR1X0M0UHlL UiFHaCRzQWh2SlVhU1FuP3RvZitAfnsjelZkMHpwJHNobXc2ZV5oUEI4DQo+IF9jDQo+IHpZWXR1 ZkglXyFxYUgwKGwpKF4qVXNwbl5rUz9ja2I2TGxpVnIrOUsyZXhzWkQlZ05kSVRVcU0kPjY9O1Zq Y2t4Zg0KPiB6KT10aEVAKUdzbkNlUCZUIXQxM1RPSHBxPEZabWpeNH52PGNYT0hMUEpRbFUjVU4k aSokSGxMTjZaYnsoWjgNCj4gV31WDQo+IHohfGlvOTB+VXRjQSVEYWpnWlFAKXxOYU82JUhFI2x5 QTF6VTtAP1puU1AzRitIfnd3SHppMDhVOFVHeQ0KPiBvPiZiNVcNCj4gejByRVY+Sm94KEB7eDt5 PnI/dU5JWkpGbEYtNDkjcmZvWi1nLWtzK0FJaUEwYndCenlqNDd7JitYUFdRcF8mV3slDQo+IHp0 XzRnUHskN29MbE81RmN6aEppJmQoeCt7KlhGUE9LaHNgWV8pOVI+QyRyYldXNihHU1ZsemB6UVhF RW85d0N3DQo+IHMNCj4geiZKWHVSQFJvdztxNTFJQShUUks/KkhIRWY/aEo2YHdpcFkwN2hMQGpH VWo8aXs3cndKWnFETDUjVnUmPGZsJA0KPiAjNw0KPiB6Y0xaSjlVRXlPOTFFIz5od2FLNlpUJF94 emlaPE51RFA5YVhJKWdLUVE/UD9vUitFbjRoel9DdiFeJk80WHoNCj4gZ05wDQo+IHpGTkVJKGsy XyFpUTElS3Aoan1mNXQ4Q1RIWG15c01Pb01zITtOMC0NCj4gdEV7ZUI/WWhrWXNKZFk2Ymh3Y250 QDRgZ0YNCj4gencya1gjRURUQGohcHNnfHNCeFlmSl9qKk0zZ3tzO047bGB1QEtGNTstYS0xKSF0 ZW43WD83cz9IO05IVXFgQmRzDQo+IHpUbCVmeGlFaW40aFQkOEFUMW9UPis+SjZBVjd0dj1JaCNh UG1STkdpLShxeVcjcG89SChGbHZ0JHJkQSFvSU5SfQ0KPiB6d0FmTilyd15XUVd4KkVsdnp+Pzg1 SyRIemc0aHclQ3JNeWk5VnVAKD9ETjUxKyUtNTwheC0NCj4gOXNmYUEpQSpwJH1DDQo+IHpsKipj PDd7Jn11Mzw4X0xMQ1NOdGd0MGQtWmB9aldIdFgqaG58JS1+IXFgUnMoOSMhZlJDcChUamo9V0Uo fHFANw0KPiB6d2ZuVHRlT2hPcHhNYEExJmNUfkhad3YlKT58cXlWbmZvLQ0KPiB8dD5fc3l0cXhF OHVROWdQZU9tODZFcG5mcGJEdmg+DQo+IHppQVp7IU9lZGg9PXd8K01qX0FTM0c+MWJuVnw+KytH Z1IjYyZtNTY0MD8lfWZ6JU0qJj03e21fOGNvDQo+IHkyYkk/WXQNCj4gejtnSU0majQoVHlvc2Am a0w1MDZXcjNYTEx5STtzY01NS1V8WnpFS09ZbmphMGZkdihAMUNPeiZqTGs7bk1geXsNCj4gNQ0K PiB6TU82OSVtQiFkQyl7WHpMMk5BRGxII0VqOTtad05MZlh9aXtteHM7IyU/JWA8SihxVDB6VGB2 KCFUP01mTXx3DQo+IE5vDQo+IHpNUkg/b2dgcWZYO2lsfXluQypxZSptZHNMT2tafHFwRzE8VlY0 TGxlYn5Nbn11Q095dkNwPHY7aGtKbW9Eew0KPiBSQD4NCj4gekx8SXhKU1R6UE9GalcpQ3kyOHF7 YWZPdktKZmBZTHs7b35jezQyQ2RAKENOKXRmWmQ1VnliM3kxNzFAIzZRWX4+DQo+IHppK2R2RkBV UVZoOTJ1eHYzd2Z0MCpCUUM0d3FHKHkjPmY2JWV6blQyPVM7XlAjKSpqLQ0KPiBsZntqM001SSlj KyFyfU0NCj4gelIxUUJROUpRYCp6fUlUXitIXjdyWHZMMThZXkdnWkl0OTxWNStIQn16TXZ2MDV6 RX5DRClwVSpyNlMoV0NGMg0KPiBSIQ0KPiB6NSlgMG1YNmcjVy0NCj4gal8xZzspOEZ8QEdOfHds UURWalYkezNfMWhGO3FTOyRuK0NwWkVOOFRjelk4NkNOT3BfO3NtDQo+IHpQV0JLNm1TPzxhJFFr TzsmcGt9OyFpUiooZUpEbEVfenlHUU1yU2ttKS0NCj4gJWNFT21zJCFyRVcreCVhVVpjQzIkcXQN Cj4gejgrYVlLO1VjOU5RP1cmV0ghdk9YNiolVy0NCj4gKHJvcX13aSRraTdybzd9OFc2VWZlM297 YF95bztRK1IwekcoYCstYA0KPiB6PXhPSXU2NXoofWs4YWtHR3R7eChjRG5Hb293Q2h2PDQ7WEhN YGdHM193WHgmJVAha181alorZ1BqdW1NDQo+IDJ5OUBmDQo+IHojNG1PbENYZEY0Nys8aXt1enFD Rmo5YSoqOHBhNDgraHJ0b1ZrRztLdDEoNyMmQmk4Xjk1LQ0KPiBOMktRXkNiKUtzZEUNCj4geklH KjY3e2xgKjVoNTskME5iKDdSeGJUYXhUWVJxUD11WEhLMGlSTWxkblhQfjd5TTd4I1MpdygzTiE7 NFBMSUdsDQo+IHpRT3tyNXZ5Z3wpezRLYnI3RGh4b3omZndjRChxUF87U1YtDQo+IGpQJElXMjxO XjI3JFNnJSlaaDMkTUt2RSMhKEpjP0QNCj4gejtXfkApPig7cC1fWEcmdS1TWGZaSmshTXE0Jkgm LQ0KPiBJeGIjfSpnSFl8dklmZURSOUh5WlQ0eFR2WEFpWTg0YHFmTA0KPiB6QyMpV2ErRj1rb3h8 eUdrSHFgM1NZUmlJcjdQe0ItDQo+IDJfRF9UZzhVXjVtZ3Q/WDFgaTlLX01jZnBPKyhJNVU7bWtC DQo+IHpzSlpaKDF6QyN2PEl7IShNYFd8JFJpfjIkbmRyUGdQRD5LfCV1d1Q3eW5ZI1ElTTNOWCFF S1pIJTIyfiQwDQo+IHpocCYNCj4gemtRZCFGeFBmaVFVMX44JllSK3F7PiYreEtSfkw7ZDE+bXdu MFg7QU5AUE04OD1FQ1pwamohc3gzI3JhZQ0KPiBtX0BxTg0KPiB6PHlpIX41Y0UoK141RnEyd181 IU9tfTQxZzt4NUVTcGtOU2cmRmRuZ1VoKXZgRk0yfD8+cVl8bEF+ViFnNUpCIQ0KPiBsDQo+IHo/ ODBscHVAdj4+US0qTFEqQFFkZ0chbC0NCj4gOSZONlZrXlF9PTMrb2Rqb2lIOFNsMlpIY3ZNbiVh T2U9RjVmYV9HYmANCj4gelMjJmQ1JkEwZHolaDVjM2ZzfSp7STI8Z056Zyg5Uj8jbTUwNyRDRF5h K1YqaSghIT52cVJ6KEhkPWBXTW9hDQo+IDZCNw0KPiB6JldobWpgWWJNfEZaQyNrMFB8UWJtcWBR dTNwZ0Awe2xOXkVReURgeTw1ITs8YTM+VmE8QGApOG0penBMDQo+IEtMUD1sDQo+IHpHWlZAcEBR M0FjSmArUlNqVWlsOTN+RkhPUW5+PChlQkR8OUBOYCFCYFliTmprVGNYJSZ2LQ0KPiBoXmcqT3Vs SjFoTlQNCj4geihePHZZb2klPzFKQnh8Vj50X0l1N19sI3RzUkkqQWw1ZGNDenp0a3BVJnB0NHpU dHV2O3d4fCgzYWw2MUImPGcrDQo+IHp1VitSdWVxKV81ekhxcXx5fG8hIUYxPEFtezQ4ODxWWU8o QSpBMzJheHBYQHsqKkdrISFSNUEkPFNIM0cNCj4geERTJCsNCj4gemxuaj5fMFM7VX5mNDZZP0Fy SWs+ZmdKRzYhfmBVbCY7TjtzYTR4KGk5N3xFWnsqZlZFUTh3VyY3KjRgNShmS2E4DQo+IHolVU8+ VjNiQD1ObXtgP1l4STleaWlqd3ZHdHlWOX1ObU90LQ0KPiBuRzhgbUAjfFgqZ0B6Q09rMVdtU3R9 TStvPVNveXkNCj4gemNzTCNsdmsjS3xqWEU+bkxkfVFHe0tmdzZHKkJCK0FNdGBzJTdXODRnVHkq R2dQMFIwdz8kMz9PR198ND8NCj4gRGxiQg0KPiB6IUNBTmYmYWlzZ2ZQKzhOcU9UT19uYTFIRjhX fWBZSjNwZTJxKWRnMj1YaSNvI0lZRiF6NjVWYklqe0pacCZXVQ0KPiBaDQo+IHpuNTh6YHhYMm1N fEZFSih3c1RRXm11dj8qbXkpcXFMfjU/aCEtDQo+IEZ0SnNwTFR6Z0ZGd3k3K2lQfCNzS2dqaX4q UjkNCj4gejBGNSVXO2FGQTxCMUtBfUkybDYpZitObDhgfmJCS3gxeSFRdj5GY2hyVWlidDEjYj1h UDwlZTxuTW0/aXd1DQo+IFIraw0KPiB6R2s+dXlKWXlJcyZLRlI4ayowViN7dXRgJmdFQjUlYWJT eThXdDAjKi0NCj4geGk2cF5QXyh4ISpRPjg4Yz1ycmYhQEBADQo+IHohPyh5UU1RJWZGOTlDM19g T0xQI24tDQo+IEA+PFdDMWNwSH1oQktOPEEzdj56ej9jNH10NEZnRiE+aVAmY2pmMzxlazgNCj4g eiUjfERyS1khY3xoUWpRQGFBcFl5MH40Smoqd2h0Pnl3V1FuM09MNG5iZCF1KGlVKDAhQXUkXjNM fUlXVlQNCj4gNnUtWQ0KPiB6Rm5aV0wybSVvZzdGS3I8cnBBblRranttVnFSMTF1NHtSKzZpIXpk MD57UDE5e3NLeTUjNnZ6djBgY0h+T35rDQo+IF96DQo+IHo0QEgjTDBfLQ0KPiBHNksjR1NkaClz N0FibTI4Y1NjK1F2THFtfipZPkVeT0J9SkklZTAybzQ/ekV4a3M/bHlFNkxve1ANCj4gejFKIXVV a0JYOD57I0wwY19JWjJXNDhzRUA7VHRnUSRxT1VkJHR6LWNjLQ0KPiAjQHxqYkVzKmI1TSRVYXxv XkZgdVNCbg0KPiB6QmRxdkMmajEhfjB0Q2pWKzR4aFgtdVohMDFCYSk7R3oqYmE3enBSNT5SSjR9 Y3M7P0FHNSpHNW9BNnlQYz9zcCoNCj4gekpjUnUhT1J2Wll2ZnV1WEh3RTJ6JW07WGY3UGctRkgw MHFeS0JGeDNISntAMzlVeEQxR2stDQo+IG1ObilkV2N3Tl4xfg0KPiB6dVZ9fl8+UV8mQ2RjfXFK QE0qdXRPdDBpO19zYWRKdXZlSnF7T1EhTGR9PGxaSkI9QkJHU2U4ZWg3M0QqbzVsDQo+ID82DQo+ IHokNF9JcT92UVkmdjRpaHJAbzU/dWY9YHo8Mzc+WCZDe202Zz5LVkJOQiVlT0Bnb2gkN3lydXxD UVJ5RVQNCj4gaXVraUINCj4gekc5TWNnaTVMQHwqTjM1LQ0KPiBtbFclMU9kOFhpPVQya29mSm9O ITd3MTI1YGlUeHQoKCUjRj8wITBxPXZTT1RqfEApPw0KPiB6a21GfWJAPSY2bHp0dzhxOUZ1RFdV TG9kWEBRIyF0YiFSNyVFQ2pMWDtzVUlUM2pFcnFQdH1SdEJfbDNWcWMNCj4gVXIlDQo+IHpCVl9i cmVUNzxfXihUfHJNNmUlX2dMZHh2ciRvO1RkSj5pc2NYUHAjXy1gb2BvZ15wUmMjPGlKZGo3YGlU aGEwaQ0KPiB6YHx+djZLbGhzVXV6NSNofDJmRGxxWU5YQyYlKnZtS0U7elFRWUw+cj8wK0g4Uyh6 aUBwVnp2RldxJURoTA0KPiB2NGMwDQo+IHphZk9sIz9fdk1ga0RBV1RMKXJZIyRjRUBpPn0pMUY/ P043WlN9YHJgRkUpbiVCezd9ck48bWpsQU5xM15gIUByXw0KPiB6NEVzO15QLUZeNXpLOHRATmNN ams8SzNsKjMtDQo+IDRrN2dPMz1CX184VlRsQG0hM0NPVWZ7O0dDcj0zajVuZXg/Kn1DDQo+IHpB ZCpTYFI7aUV2K3RjeGBsbiZHfUk4ayZueHhwOWR1Z19uSzVLWUsxaCRxe1NKN1l0SDM5X0Mlc3km REJmSkh4aw0KPiB6JVZPbFQja2hUeDtNeFVnc19ETT1CNkBNZTxPMl83N1dOfDUlJU0hQ04/Q2wr S3d7bkdZd0Y/RA0KPiAtND9UYWIxcVltDQo+IHokX3kkIU81Xm9QYXViSXtRaDEmb05xbz5BTiZN YDNCPUpRJmxLNFE2Qj5wWHg1ZSVtIVhgTTVzaCh4aXwNCj4gMkZKfm8NCj4gei14PjFsMUBzWmUm Ml5xfSEpSEJpXyFMaj5WWkVGQT5scnQzNTB7KiopZjc4IUd+XjZiMk5+I2NpM3slO0g/TSEhDQo+ IHphN2hSMUByO2AqUDlUPnMoZkpSXiRBNiEzdmtmLQ0KPiB7ZEROUkdrUiZzMWt7KmltKW9PflIy bXZ7NjdDPXpBNm1qN18NCj4gejw3VnIzM2BOcX02cSRIRERaKWhPNXkpOFFHNlgldT5aallkKkBj UmROJlolO210T2FEeWdLMThBSWRADQo+IDlBRVJmcg0KPiB6MGRoNzx2IWFzRSgmYUhlI2JZfkJM VWMySysydVZQKUUlV35lQV8/YElZVH00ZU5PezNvQHJ1ZTcwPE5oDQo+IEhLdXs+DQo+IHpzSz9Y Z3ZqPysqT211I0E1KmojZnUkQFY7PjRmbShGPilfZDBHYmN5I3ItDQo+ICgwVGhBMUBSM0lVcW5e Q1d2KGE1UkkNCj4gemgtDQo+IHtvT1JZYlNxKDVeUCslayZnfHJDaEhIXmpMdlNue24xJU0mbXV0 SnQ8ZVNmUylCOXBFYiQmNnB3OGVsSlZDDQo+IHcNCj4gek4qWCpvQGVpI01TZHdZVDhSfms3Tnx6 XkdjK1YqTD45LQ0KPiBCWitFOTsmV0Z6N0gyRWxfd1g5ZEtsJU00IVFtcipOPg0KPiB6QHIlYl4t TCpoQjxDaiVJV0xiSk48SlUyNjhMc2lgc3JefDRxWEFSXi0NCj4gP1k2ZGBxWTFVaHxzMnxOPXBP K2Ekc0VaDQo+IHpKcjVDRmN1ZlNCcVNrJU81VFB9ajJxa2QxT3ZJU3pMP1FafEZ9T29kdEtWQFdh ailZOUFAKE9+ODlyXz9AQg0KPiB1amENCj4gelFXcUdiSyVAd3Y1QF8+Pzk9ZTZtMDA8IWNlRWYy NEg5LQ0KPiBDKSMmRSMwYm40P01WI3pnR0MkJU1+b1ctdEdlQGNCdw0KPiB6VkY3PCVsbTt0MFlz WW50TmpfLWd1IWhDK0BAO1o8eVBrLTBiOyZkcVpOPk8tDQo+ID96VDF7SlA1KmE2ZWc8RGk3N2JQ DQo+IHp6WSZEUG5nUEVLMTNVR150ZCReJldtWjA7TmMyOVJhNU1yTFZJTE9pIUA4P2l0UzVtI3RT VTRlMUtCaDINCj4gWXNlWXUNCj4gelM7IX1zU3pVTSF2LTt7eUtQbEFYVmIrQyUqaVRHIS0NCj4g aH1NWkJQfU85RUw1aj9xfVdzVUYwRExoOSZ2Zml3UFFYOQ0KPiB6dGw9V1Y3SndAOWZUTkJ+Pl8h X2lrKFopIW9iQlg+MDxMKXtlWDlkb156SzY8TndPb0FkSWE2UFE0V0gmDQo+IF5WRUJsDQo+IHpk VlF3SCZDe3MwJVJ0NU9TaiN1M247S3AmNUxKUE5BVUJWfFNFPjM7WmZ4aGY+XjB0Szt3JmcpXlQj RT5hDQo+IDRlM3sNCj4gel5ES098c2AyRGNoLQ0KPiBNPTxKZT9JOFc+b0F+VX5uPGtBTl5ldjVh T1UhcGVwc0hTP21xMDk3SD1tN0Rnd2RLVXdrRA0KPiB6N34yU045K2h7bmc5b3xrelEqTDB3MVI7 S0FHbGRoYDlUaWxeWFY9KU8yc09UTzg+fVpjbmxBcCpCRTtRWiNYYA0KPiBtDQo+IHpCeEgwZWo/ WDZfTU18VVcrRUFAY291UjhAKj49R29uRnJ+VDI1Xis9QzQpOFUoOXsqRTg7TnV+RiFhSQ0KPiBz ISNHZVMNCj4gelpDczE0Z0hYcT5iTGE+fFZrWT57NGhjU15jQShCRD9Bc3dEamByWiFCZnI7cCp6 IUVCdHlzfmVBIW4jWkEoYEFFDQo+IHo7bGdgeyM5dG1WTCF0JXNjIXRFeTEzNHNePTxJfmxhd2lg IztARnd9JGlsb0Fha3AjZSZvMGIreG47UCplQllhKA0KPiB6TTg9NC04WUY9KlBpcWdqTT80ZjZ1 QyowUTVkdTx9dVl3RzREZE5Jd2ltKCoqPTR3TmM9NF5fNWVnRy0NCj4gTEx9JGFYDQo+IHpWOTZV e1ElcyVYQklydGhSajRRIzw4UCh2I0wyM3otDQo+IFFUeEFOaDhiOXtqe3w5IzVScFI8VTExRU9i MTRtWlRQSSYNCj4gemhFRXQteiNfVnR6YUYtc2Y0IUJZaHhQUHJpS0hRQ3M5UFRQNVhwdTJ1KzRf QTh6U3ZQSnMhM2hsVFJXcyhScGFsDQo+IHpyKUx8Tz0+SFhMZ0luSzRVK2A+ekpeQX1Bd3k2VjJ6 JjNMPCtpZGh1cSpjJTVtTGRjcyt0aHMxTGxHQlZRLQ0KPiByMGMNCj4gekNtdTh1Kl8leX47e0sh djZQPX4jWlJicE1lQHw/KTM+Q3A/MGwkQE09ZyNoSXZtNFVMKnMxcDt4WC0NCj4gTzFtMGZPQA0K PiB6MmtPcjlOUzxNMElpOVBfJn5FMSo+NyUhJE5TPHNIQC0kIyoqQCh9PU1vQikhbFoke0FCSTVg dCt6SSl3OS0NCj4gPSszDQo+IHpDc3M9fDRMTClWZThXUkQ3djk1MGNQMChkX01qZFE4fndSMmlO LQ0KPiB8ZEA8M05NYHJtMG56VyQ5WUhkK1hoZlFeZ14NCj4gemBSXld6SmMkd0hRQmVwO0hXfjxW PnE7TE5VUTxMJiRYe0cjREFKVG9rPkJ9QTVoZ2tsYThTfkQya2VrSw0KPiAmc0Qyaw0KPiB6K2U4 PUBDNm9ORVFhQTFwSHROTyNxcTNNcTs9MzN+SWZke0VuNTcoZVNaM2p+bU58VUZiezZWfTF8a2kx bg0KPiBaKnh1DQo+IHp0O3xgOHEyd1dyaE1ifVA0dzIlTCMpYkRWJWhaRyslYFZqQVZVfU1XTCgo d09JUiFITChAc0B2aGJ1DQo+IDJXYCY1TloNCj4gel9wVVBNb1puP0olV1dWQGhGUzdHNmpfTEk7 LUxydSR0P1JKUWUyOS0NCj4gQEUmRnZ5VjZpKFhFc0lGXiZ2JT09PTlHQQ0KPiB6dnV3YjYwP2M5 JmJmPkJpRG9WIXFUZEJ0NSpjUFUkS3Z4I3swdEptc1NKQ3x0R15jeGJNfkQwUUBJfWRwdm4NCj4g ZHxODQo+IHo7UlZBenNyP3JMQyhBZnwpe01pYWN4KjI0Sz5Rd1F5dnNOdkohR29WeHs4JUQ4Z2hw RUM0YDdlQ0t1a3JJRE8tDQo+IFcNCj4gek94c2I5aGpFdG9DWWhNJXZfUS0NCj4gSl9oRnAkP2t2 V2MxQ25HST1MYD07RjRucT1yM2VBWklPYHhwVCNDNXg5PikzTA0KPiB6WWxiMlgqJVl9bWp9JjJ8 dm0xdkFvVzx6OylWYlhtPVE+b0JqUGJXcGVZbXhVe3ZZOUNsY0JPZnZgMiVEDQo+ICtudlFIDQo+ IHo5WV40azJ8JlR9Mzc8OGVAQ2xLTlA7R1FHZT8zYWdXRGl4Jig4YElXaWlWdF96NSk1K1FwSlYk QFg3dU0zDQo+IHteSXYNCj4gejl1Sj5mKH5ER0xxTyVGcntRS31wNkN6QElibTNWYk5ycTNSZE1J KiZSISVITTJ1TUN6MktuSnEjRCh8DQo+IHAkKlZDIw0KPiB6ayZXM0R4aCQ2eVZXUlVpQ094TUgt SktmT29saCFKUThMRWdPNzs0JGctDQo+ID5gO08kMF5xMl8oQkpPIXpYS2Q/OHYoDQo+IHpDb147 eEEkKWdAIWA+Sms3YGx0IU96NXNQYyNKMD4hTE0xSWQ2dD9DOzNjS1UyJko9UyE1Ozd9IV4oRCkt RWV8Tg0KPiB6I3hQejJUK2JwVWpGOzQpVXlXYWUqWCVNPFhKJE12U3k9WExoMCVyZjdkI19hbWFl QThoNXdURVNIdEpQDQo+IFpmJFcxDQo+IHp0OU9fcjJvenJ0PUxgTV5NNGBXKzVVNSo7WUBqeTJO d19iZjM0O000cz9fYSYjU0xhVy0NCj4gfVZlJUdlRDlQWFN4VWsNCj4gemYyOWRMO151Nz9wKFd4 TUE5fjQzSUcmVXUjTVpEPGliSyNaU0BhOFBUKTh7RVokdmpoVGxUZUd6dVdyVw0KPiBFTjtMUQ0K PiB6O21LSGpBZzM9M248JEdnQHhWXitRbkxRWXoraHF4Jl98e0xaWS0NCj4gZW16TWhXTkk9ISFG aUQ9PTVIM0VtcGk0UXdGDQo+IHpnPlNVMGI9bkBuZ1V3UE81eVhXMEIyT21VJmRZSlhCYX5SP2B3 JTxWPCVXK2xgQWE8Q3dieG14DQo+IFktZzAjdnJpR3UNCj4gek9ETkFhTjFHK1k3X0drSU1UKnJz PjVyJmIkNzJTQE5jREpfQ1p0YTYjP3U7NnJPd2o7YzBCbFR2I2xfZjJ7Kw0KPiBjUQ0KPiB6JGcl MjBZeV9qbz07bjJyNnBpMiNMK3JxVnphK35APWYjdUxpSnhFYHViKEVrJTVSZHQoelNkKm45SypH V0tabw0KPiBsDQo+IHpAVTZvaXg9c1d1QCQ1TnUkS3RBejt2YFY1OSRrdHVYaHRrJlZWbjZZTENB PE58Nj5wYEszQyFaMjNAITRUDQo+IDJRVWwNCj4gelZPbjdic1RqLQ0KPiBaQzN6OVg0QTBJUzx7 NmVuQ2JBRk1veT0zRTJISGxtUH5XMXtFeGpaZm5PaE5EIzg0UWNrdiVGaw0KPiB6ZmtAaUdjezFX dmlwOF4xJkhXUCVwI0ZAe3pPJENuUk5VQyo5M0ZqeTxRKDMzaCZmUDNqN3hrYkEwPzd9aQ0KPiBZ RzVaDQo+IHpKPC0NCj4ga2w8eV9SbUlsUyskNUQ5N311WkVuVmBhck97a35lYj5QeTJqeElhI3lK TlojakE1QzFiQV5QM0tJTXZSSGgNCj4gelNhKilhNG5kQiokUVRMND16aF5DJU90QFlgYGxEYlds LUAhJVczVnM4dSZXKjdRRXwtDQo+IDIwK0FQVl5LcFEkek5kKw0KPiB6ZER6VX5LN3BedjM4SCR3 YmRJUWhqOz45MU5kX0EqWjFkWXVmX011enphUyN0eHEoJDIwY01rZERMVj94DQo+IE1ndD9hDQo+ IHoxUlNCOWhZaWYlKippeW9zV2RSSjl0RWFEPylaZE5hdmo8aXVZVSU9JkpPQFRqKDU/PE0mbEtU M05QPihrSw0KPiBoRzkNCj4gekEoV2wpMClOUjFZa3dvIzN6SSEoRzlTfFZoMjtlZWQ4cztkemxS ckdjcyZjVjZnNlhzO2V7dHE1QzFjfnU9Tm0NCj4gbQ0KPiB6ZnIrV3A5aVpMbWpRYjVJMGdlTXF2 UGRfOFlYcCE5aCFUbTtMNDNWbWx3dDtGZTd6T19vYVRFSXwzLQ0KPiBnK2JDdmtfDQo+IHo/TCpV aUtmPUcta0VaJGQ5aUhhPDhxKElfLQ0KPiBgKTZrR3lYaztmNHs9TnAzWjUkZ0ZNZTYmeVZyPENI I0VAfDMyK0cNCj4geiV+U2dhZUo2SEteRjVqdV54YWh1XmZAXn0tDQo+IHoyMStrRjw7TVVnOGg+ VWMlcDdAJFhsRmAyemtmI2xPIyQxVjhnUg0KPiB6Jkd6OXpVKHR4NT87YHgwZ01XNFN3LQ0KPiBe N2A7b3Fre3pkNz9OJH5NXjR7fH0zfEg7ViU0NlAoeyVjQ2hAZSFPSVNvDQo+IHorfD8pVzxoSXdG VXJhUU9ZZ28yXz08NWV3OU0+Pnp4NVBnfkppWkN0O188Wnw7bDlKbkRLaHRCRXEjPSZjNQ0KPiBH OyYNCj4gemo+azdLRCZ4YjlEK0hjSXRoXl9lVyhKams0MjllaVkjLQ0KPiBkR2JLb2srWD51MG5U TjlYJmlJU0h1NlBDSWQheUJDYA0KPiB6YXJtPFc7UEwjQGAjUjZqRV89Y09MK31zbz1lUD1mcyZj MU84bUFlZjJnKERudzx0TXl0ej88M1JgUEl4OFoNCj4gTkJuDQo+IHpySUtnYmd1fiZwPHU9SV5i d1orVD4qM3kjI2N2PipoaSt9fCg8fD42YXd8T0kjYERiVGdxNjY3eDF3IWopcmg3DQo+IDgNCj4g ek9AeyhvdyY0Y0xGSDU8KldmNVIxO3dfYjFaMn5KSUQoaUtFdTg2NG96KDhiSSlHOC0NCj4gaHJK fGJGbH5ZR0ZIMldJVA0KPiB6I3t7PFFqSkAzYk5HSmxhJUFJLWJLSFVFYHptYEk9X08jRz8tDQo+ IEUmS3FYWjBMbGFSMWswUHRSJHsmP0AjRUdwa0FXDQo+IHorTWFXJDxpWEp3cis5SnlTdG8rQ0Iy eFIqe0FoQ3lfTW1XIUNyXnpvMUNpa2tqTDdGYXNHQSM+bj9aTXkNCj4gQC0tYjINCj4gem1KKHQ1 NSEtI3w5aGx+REZGSkNlakdWSG17PlR1I0Z6JTdnZnxGe0BsRX1wemlWdHl3KzA9RUZodEZaSUxE QmFSDQo+IHpMJGYxWkFUUTh5MTZ3Tm1XbXxiT3hoRTVFNCplWUJASnBKPzZxTEtOIW9MRU1FbTM1 aXNiRVQ7dD5MZQ0KPiAlWndrVUANCj4gek5gKlRtN2haI1lhUkFrSztfMWtzYGQ5ZF4od3Z7PiNj PCZQYXpYRGc7fkpiKipwYHVgZmxSc15SfFdkI1FFbFgNCj4gKg0KPiB6UVFueGw2JkV3YGRPLUJs Kyl9eGBFKlA1MGhnfGhMakhpcj1pWkVsO2x0ckdOKHZZRE0wR0dfX29BPGFxUmZ1e3cNCj4gelYl fU8+N0ElbVgoZztxOEk/TlRobSlTYkxsM2ZSRzxzR0JtYGxfYzY0WE52cER7e315KVVoNTQ1V19D PSgNCj4gJUdIdw0KPiB6TCReY0kxOWY+d1d5KzRmVzIqRT0/PUFGMllDJWR8KXFCQHY3P1FaTmNe K2FvO2wkVXhjdDhDdnc7dUNlMg0KPiA4MUA9DQo+IHohPnJkYllqQlRxckJ1KkNFc0J4IU8rMz1u dmpXKmYkYTRnOyQ+QkRqNkMtDQo+ICFaMSlseVlUcV9IS1FRTWI1N1pKI1oNCj4geitqeSF2Mlp3 UHRxcSVEZnd8IztvLV4wRCh5OW82elQ3ZGh2b2o7JXllVFFOK2VQOCVZXjstDQo+IHo4TWp3dThw PXtsRQ0KPiB6YFVjKWtXX25nSz9SMG9RSnREaXRFQjJ3PGN1aDAhQE1zcGlue2hRWEw7a2EjZUhn N0Ajc3s8P1BkQm9Gd0kNCj4gfjJsDQo+IHpoTER0N3NiMVgyeVJxcHxSLVVMcDVedER+ajgtDQo+ ICN5eitrJjVCYER4KiFDPD5IOTJsVjFpZXxab3l4Q2E8MEYreHcNCj4gemJvTkBSO0Y9UlRQRSh1 MXg8QGM4JlUpdW5YVkUyY3J1cVloZUFoTjMoaXlaSFdaVjJWNX57Jk9FJEBnDQo+IHxZK353PA0K PiB6QzNUYllKcksmbFZJQVJ0WkE/VG9USlhSU15tVjEkZTt6cCRGflQtNyZzfnlkVzIhYmFoZ1gq SkQmWUpvLQ0KPiBEZksjDQo+IHpDcV5mKCExVk1QRjEoIVY7P0B7XiZmO3sybD1OSnhCeX5JbkZa SmgmXntpbyNxXzBvO2BJNSZNZWN1cS1IdFJNew0KPiB6T2V7YzUyanR+PW8tYGZUQXAwVnhnaHNg QSZBUjlBPFNuUVprZzF+N0ByKmpeYFNPSlIobHh4UW97ITMxYEg9NjYNCj4gekFnbHJJUnZKdFo1 U0hoQTdgR2ZtXkhJKnJUPnVFZVohZ214N1RQSklBdykmbmpAOylsTjxHcDZCWF50e3pBIVUNCj4g Iw0KPiB6R3IqeUI2YzgqekV4MWNFJCg/WXticj5eKCE4UEY3ZEF0aTlTYXBXNFNkTCFeal9fMng9 Rz1WfG51dWUoNk1PcQ0KPiB7DQo+IHpIYDg3SDY5ZjErVWFeWjhTcnE4ZWdIaUtaYjdrbHdWMjJL Yk08VU11VnA5XiFPXzYqNl54Sz0oaSR6I2A/fDsNCj4gd3sNCj4gejYtOHdnMXJVaDVOTlEpUVBh O0BeK2hvfkkkLWk8KVJQNGxobzxXZW9IUSRwUE0tDQo+IGtTR3FPdm94UF9Va2p5NUA8Tw0KPiB6 N099cUVWbShFJEY0TT9POTR1SihkclhpSFpzITBnNWJvSFhzTS0NCj4gRzdmb2hHa29XYGtDRSFa fiUoclZ3YFB9RmYlDQo+IHohYWlkMkRzY18mYkg7RmwqQ0BKcDsrTHwhdTdlRmA7RG15fTFNbEVE eTExd19QYDY4eTtadmc0a1Vefj5RUGE+DQo+IEINCj4gendIWD5VVDx8bG9xQ2xjdUsqKFVwdnJz ZH1pOXBVVyMtDQo+IG5Ec1BVbDImY0ZDUW1sVDwmbnNMXipTRnZJejE3ZyNkfQ0KPiB6aSV7Mm1N SG1DT1RvOCF1ZWdwbzJ4VzZsZjAyTDV4M2Z4PUNoU2xKYkIjP2J0PHpYfGdgNUVUezNJfWM+PldC DQo+IHdMDQo+IHpkX04qdF9uMnRWYGhHR0hzdEJFYDw0bSh0WGBONjlXWWlVUDg4SUBTUER0fGR1 KFc1TSlOen5MU08paDRvDQo+IGx0blINCj4gek9xRVpBQGpaaUtrMXVrTEl6SGtWM0AmaEpIZ1pU ZjFhPFIjb2UyQDVEP3ZZTXlfbW12aHJQdTYxYSYoDQo+ID92WWBCJA0KPiB6cj42NGtud25WQ0do dDZuRjBpaE5NV18kJmJaZEg3aD9zN2lubT82S2FfNEEjSXcrWE4+PUgtDQo+IEZ8OChQJkpQdHEy DQo+IHp7OHFYXmJeUHlkaH1AQ00zKD51eU5welNxVVRJOGlVfX1eUnpaX1MlckZqZThBfUQwKCNH b0N5WHFUdWh4Ug0KPiBZS3wNCj4genpgeXtCN3ZNQHJzR0dSbz92NSt5KUM3Zmw3bTxLRUxeVVpM ciNoNjUtaU1OS2N+VXl6LQ0KPiA7bzExUUdJZ3wjO1lWcg0KPiB6MEcyZERpPSojeGstDQo+IEpY fnc/Kk41aHVpJSs5PD97VnZwUHV2TVZzKkZgZzwzN29SOzl1OEZ9MH5gczRXRktSRV5yDQo+IHpL WVNQYnAzTShxUjNGR2IqWiQpSWhnUH0jUDstYXZyUEwqOFAtDQo+IEQ2NzJsan5XdFF2RzFFZDBg SylaeUB1I241UnQNCj4gem4wSDZfX1VCOWRZayFyRmVTTDtec3NPKXg9TWZFWU9hPy0NCj4gfXla SSZkd2N7bVYqWmN5fW4xUnNhaUIlKmtscDVsRQ0KPiB6KnFJNGdRcWRBIWpKYWItDQo+ID07M0Um b2lJTU1PQW8yNUY/PjhFMWs1RCRCQlg+UlZYY00/SnhCVTZ2bEBLNjxVbkxrDQo+IHpALU02VUNh UitCSmxQQntEIWRxOCVfNWJDZ2VyQkY9aC1TLQ0KPiBGcGZNYFZvXkNzUmVHemBraCk0e1J6Sk1X UkpxcXkNCj4gelN0Mz5MYj1JTUdoKGJCdndGYmdWel9pJCpqdl8xJWFpIUU+NnRVY3NUOEkkJjIp ZVQmN2VqJlJ5XiQ2MHlRKS0NCj4gNQ0KPiB6OHlLakJCM2U2VjBFfEF8bCEhUzNHblBfc3E2OD4k SkYmakFrUW1ONTt0OVBLYjZeTFNHfCk9UUQkP09jcD4NCj4gbWREDQo+IHpvWXB7bFJxOElPeGhY U0pKbklTNjA5O1VtRVJjZUpER1kmJXJZczdlIzRqd3hPb29lWk81ezZHMG4pZz5JRXwNCj4gVEgN Cj4gekBYTD1MNnU+a0FBclRyJUBJNEVZd1A0WHc8azkqTj95RUhfazZ0RXdnclU5OylANl97KzFA JXw+a2AlDQo+IGtmTk9FYg0KPiB6c3Zrbm94ZVRIcUwoTUxPd0FWXiskK0U8V3FZb0lBcEZEd317 NkclMz83QlIwbGRZdmBLXjlLezx9N3VRDQo+IHcteWJsDQo+IHpZWjBEISZ7SXE1Ry17T1N2fSpO Wjg0dnpjVmRffF9aSDUhfSVMSjY0LQ0KPiAyKWdlU2JxS0omI1hDNSRCJlA7Nzl5SUcNCj4gemUt DQo+IGgxKTV2JjQmbkVPK1U1TGR+K3syJipfaSplNShGMTgmN042bzxWYElVSWRBTzZaYmJXWkFP Sj8+aTdrNmBgZw0KPiB6I1FHb2FnNTk4WDdncUNhRSNHOHFsMD13Sz07YTkzdWVJfEJAVEYzJTZe MUg/TVdLKGJtNl4pJDNGc2h7DQo+IFJ6PzJzDQo+IHp0PVkoSGAkdHM8VGklXn1oWCskIUptcTRW MlRXTitzPV9MflYtDQo+IHRnflRMRXY9JDdiUmVAfWRMQkkrTEpaWkh7UWQNCj4genMtUD1Bd0xh ViRrIzg9bCpleWl2TFFjd2U1NnR4PCp0fmFgO2B7UX1JYEQmdVo1M1VOXn09elNqVSFre0x0Vy1W DQo+IHpgY20lSmFCVTZ0Ji0NCj4gZEw4ZVIoekxGOGNDbns2JnxwJmZLP056RDAhREBLQ3s3cTkz ZEBRQHpvTl9Le2NyM0VBUUQNCj4genMpaGA7bFVKRXBPJUd7YUpzdzNudVckPjVOTD5lMyFqdVhP ST5SJD9CfFc4MXhFIXhKY1ZFWj4tDQo+ICg2MiRNTGp1Ug0KPiB6XnlGMkU7M30mbl5XS211Ynlw NTYkdyV1I1FVZmxpaTJhSWZgTHdtSCRrZWhUNW5QZDclSyVlTDxfMyh0eQ0KPiBhRVY9DQo+IHpa T3Z2TykwdmhgSHlKJn1rTz9xail2STZqa1YhKm9HQkw5bmM4aUJoa0xQaGxFVUZAbFpha3A1ejJQ MTNjVihWZg0KPiB6ZW9ES294Xn5Zbkk/WGY4R25jVHpYUGolTDk0LQ0KPiAyPWRjX1A/KmNxOT9E WWM/dDwpOVV+N2BPd0hrJkFiVlYkOEojDQo+IHpBeyt+X3JiZzdVN1Nab3AhbnZ2Nkk4XiYmeV4x Q0VZMCMoO2pCRWkrViFHTVdZX280TzZUZFZZVmlqd0xtDQo+IEFOWnUNCj4gel82Y21EU31VY3Fh Iz5teiNDRyElbT1Ae043U3NyRGUxdGcpN05XKiYhWCpMWmd1M0orJFFkPmVXODYNCj4gIWkzZTE2 TA0KPiB6S0xCRDJYJDl+elM0cDdIRilPZSg3UGNxQlllfUp6P0pCRWpUNXZrNGIybGhqaUtQfF9z OFI8WEFtTH4hej5RRDQNCj4gel5mRH48OGZMTjU7NFlac093Zl5GYk5DRzZHTnNkfWopN1J6T1p2 dihJJEFTVz1LSzNlQHBYO14rKF9qPj5+DQo+ICh5aA0KPiB6SnUyS157cTl6cWdBNSpjO00tbDAt DQo+IDQyZTI3TjRBemI2N09PbyQrOHBxTjFVIVYhS0I4QkB+V1h1fFo1NSg+KH1SDQo+IHpHKU5h VTBPNlhRcjhOIUYxMzVhKjlNJntwK0BzXn43MGxtSmUlS2VDI0FUY0I/dFo4UipWdiNMQTJrTQ0K PiBfOzQqfWANCj4genBEKHlTO217OGcjT3FhKXpoaTFBc0pZZXgzPkpYM1BRRFB7ems/MHlZMjBH VD5mfXQ2YnVIR252U04oYSlMfSUpDQo+IHpmUXw/MjUqMmstZFo4JEBmM15ENk44SEhGLQ0KPiAk K0o2N1l4OGZobWMzaHRVT3U8NDF2PEpjK0lCaDshV0l7OFpSNmQNCj4geitKSlArYlJTP2BkNlhU MW04K1d8YmxoY3szI15BNWklPnRtTmlzRENBMn02OGtxVHAqKkBLVGJyPXhPb2J0DQo+ICNOdw0K PiB6MlhoelFEY3RtJmExJTZ4amZmS3BnR2khZ2VPYitPeF5xUyRBR20zfmFNTXJmSmx3UWl4TUBB UFg9Nw0KPiA8e2VISigyDQo+IHpMUWA8bFZLbEJxI3ZibTxsXn0jZCohZmw8LQ0KPiBVNzslMjNz Jn0lN1hjS1U0dHBPNnIrK0NDRlBnQ1d8cmd3XnBaVGINCj4gejJxS2pDJVgmZEBGQzxiQyReKll2 bDxfK25tN0xadTJsampIJGNsOVZkXiVLfTFzUDtIZHlWRG5xUEl6eEgNCj4gTX5AdA0KPiB6Mk57 R2BkNk0+VVB4Qj9fY2ttdE55RWIrQkUjI355aFNwRjc+cUJOKSFmKV5ZayNqUFJBVlBoRnh1VFY2 fA0KPiBBOTFJDQo+IHotfFo8P156RE1ecT5jdH5aKUJYOXdzMFNQPWlyQntna1NPLWQtDQo+IElk OSVWMkEyVG5MWDlOZH51cV45MkJZR0Y/ezkNCj4gengodyR5PGtje15ndzBlR2g8JThodTljfTZo aFE7bzVgKGEkaXdCRXwxU0ErKmxARHYqWjlxZzZMZy0NCj4gVlJUd2kzSg0KPiB6UHs1WClIP0FS YSZjPGRDZSUkVTRCNTVkaDNyLUVhZ15kJkZtYmdCJE8we2h1PkdMWXBFZ3ktDQo+IGtsNlU4RjQr STUoDQo+IHpFODZWNzFDQEBpYTgtel96RU5qXipsfjJkUC1YSGA8KkNXQW1jUzluK1dwIVlLQkFe TFZ+ST41TlEkLQ0KPiA/KDNJUUcNCj4gejs0e0pFajRfYnFzJFBOdm1iQExReWoxU0UyR2EqWmY0 NHUhPl5wTFFve0dOaStNajxVZTJATDwral8rUTwNCj4gZms2YA0KPiB6bGdZWTI8dGZ9WkkhUERP TCZ2Z0RPdmclVGZtanwme0FCJH0jYDUralpCV3ZtPWM3TipfNGE0KGc1a0Q1bGU3OQ0KPiBsDQo+ IHpGQ097fSkxbHdgdXpRQ0YrdjM0P2hMZXU0TCtfPTxmUEYhZ21XczlJWG1zZkcpVFBwKUwjMEV0 Rl8qb0REVVoNCj4gRTINCj4gelV6Xj1pISEjZjJFM25ZOSFGRXt8N28jV3ghdCZMYmY9am9LSEpk S2R6a2M8UFZpK3pxUW84I2h1dX1TJFBxXnU+DQo+IHorbmMjTjxYPUFWR0BveDdyfklOcz9uclIr JmBHRUV7XnA0YjVKfE50UUJ7SG9DKXtyJWBeKFdiSlZjZXZpfA0KPiAoST8NCj4geiQpfjE+SGpp KnxiVEowZEB4OylZdCs0KDBCM0F6fXtweV9DbjArSUQwMXttWUVwLUc3OXxSSyNzI3xfJjgwcmgk DQo+IHp6czd6cWhQXlBzN2F+VklCZU5tU3FXMlpfVDV1KENVc3k7NEA0a2RYd3lIUVc3NHtmZWNw PWo0aEtkb08NCj4gZElfanINCj4gejQ2MXU/NTdTR1ZQQUVkI3h4VH1BT1AhcT5sP2F2cXVERUp0 JT9SWU49PDZZZjs7Uig9bGhLUzRYJEZVayZ+dw0KPiBfMw0KPiB6O0ReMikhOSM0JEBgWldKMEpE XkdJWkBAO1J2K3daQDs9JFZJdF9ETUJEaEgtKnxgWDY3Z1ZCLQ0KPiB2Wn1ucnh2QWMmDQo+IHpL ZzwodWhYaThSZzNfb3NkVCY5bUs8c21Uc3FydHJ1ZG9DUzRqMWRqbFVtXmQ2NmFuYUw/Q3ZXaEt0 P0AlDQo+IEVmNTENCj4gelJKfjdUZV5YX21QdWQmVTs4TzNPXmlnTUc4SSQ1Y3ppUSN6aWRCNThD X3I7XkN7bj1VKlVlO21zVm90PkpDDQo+IHB+eA0KPiB6TlNRJF9hO151ZEFgZW5qYVNUJENmem9B UWpOV1AjTj5PKkEhc3Rlc1UmOG1Rbip8eFpWYkd8bkB6JUkNCj4gWno5QmA2DQo+IHpMRXk2YjFp PlkrcCtWMz1lP3lNXzdmen18czBLRFBMQU5aV3IxTXYqO3t5VTJUOCQrUHFrakpyajJAYldPDQo+ ID88cG0NCj4gekRSbCtiS0UyaTctYkdfVCU/cnM9ZiFPVlVMRlZXfVFoRSt3MWJJVmdwfUx7OCVX e0YoMWM1N3gtDQo+IGl4TDkxODBLTA0KPiB6JChxKmNXVXZpUGchX0FpQHJvKXtWO2pYb0EjQ3Vl VnxvNE9SJjI0Zmk5eCYmMjY1Y2RTciUqIUx7cmpNbF45Zg0KPiAzDQo+IHopM0ZyMHp6U3VRUDB3 NEJvQkEpQmo7RiRnLXdZISpjOGEwYnFhYkpyUkNpbHMtd0psLVgzPj0mcjF1WSttNiUlMA0KPiB6 VTFVYk0rVXZlMWN3WV4oP3Z0JGg1KjIkajFuPlNfYXVjPz01PlI9ZEt5eDVyMFBJMEtueWJ7RyE3 dERtRiMNCj4gRmBEDQo+IHpVSWRAI3RnUUpFVXF8MzszMGtSSyRnY0NnYmpBIz5LRFVvZl4tDQo+ IFVkPGlhOXxIYXB3YzlidWwpSnEwSjk4akNSdWkNCj4gej45Vzl2OzMzfERFJmN9R1dkYW1ZRWkp KCtVSiF5b0M9cGZrYGgxKkwyZEBTO1V9cnhOcW9HTy0NCj4gQzwwcnI3QUNMUg0KPiB6cjgtWF8l THxoU283Q1U8Ul5nQVk7QWl5Py0NCj4gPnsjdW54Q1ZLTjV+ekplelh0flMrN25WP28xNTs2e1hR P0kkcFdvDQo+IHpYMmw3MVNeZ3Z4RCZTQkNIdEkpJE51R0t6dEJQZ2JEcEtWfV9UN0RmclVXOCVp X29DfUJKWDV0UH0wRCtpUTQNCj4gdU8NCj4gekBhfW1uNyghIUZvKjY+dW5CSi1oaTVedS1CdEdP KjYtDQo+ICs1S2ppNlhIMzlPSTVqWDYoWFdNSitHX19qUXNuSCVgVw0KPiB6en5mVitQaGdQQVV4 N0BKYj44bnRlaG9kejBuP209MDZJV2ZSYkVOLQ0KPiBJUCt3UmI8NU5CRmE4QWVNX2NwWmV9WDlx DQo+IHpHK2hSMUhKYnUjK1ZPMWJHNyFLUW9+aDJxVGNTPGZpQSZAc0tFVEJBMWRpNTs2PDEhO2o4 TmIlOWM+VFV0cA0KPiBFcy0NCj4gekAxZ1Q+QGlydCNad0xEQG53emtkTkNKTlNveD9DUXdPMXdL WmxZJWx2VWdGbj5obCpmZklCI05VPXFaDQo+ICpnVUp2Xg0KPiB6IzZtRzVycHMjRDFKUiNKYWFp bVltLQ0KPiAhZEwrPTEwfmFvTjxvckIjNVdBSSpDP2gmQEI8T2ZRSG84aWJqMDJ3fnNADQo+IHpx SCsqb09uP2QhKHtsM3lUYyVeMzgjJD9tdVgoeEE9NWs8dTRgYDJwPElaaiFxNiVjeSh5SjJGbWRt M2EzY0wNCj4gV0INCj4gemg0SlcmTG1BeTFHVDJ9MlJCVkk1MmJ5dks9dUN6RGtDO2grSVU5LQ0K PiBlbio3OStKaFRwdUVTJWBfcVQ0dCtMPlp2Mg0KPiB6OCU5KCRKI1NGXnhzdT5PSnZZcXRERXY8 al9AUWdhOWtCYk1QRWJES1lmYyFeXj8xWVUwbTdqeUtiPkgoSV4NCj4gP2tuDQo+IHp1fnQjekZs O05fWCNBRHZVJjJqQ0c1NkEleUxAcTRTWWFxME02dDxEbTgrYVcmTUlRP0xNaUhmVCkoUg0KPiBS YXZhJTgNCj4geih3M2EwLW97JlJ6Ri1vPDxZTjN9K1QpMVdaJmhUXzJtV0J8eTdffig5S2p6ZmVs ejVJZmshQy0NCj4gTVpIU0ZKfUwhRg0KPiB6bGJmbWNMN2J+PUdGYT98ZkNkKWFjRz8+K0YjMFVh Ry1WWnFmalQtDQo+IDBLOyhCV2ZuPFZScnY7ck04cE8rSjgwbEUkDQo+IHpNYDl2PjgpZ1BXTGMm ZGpJbFUjaVhlYXUyQjxVVihqISpUNmRWI3tnMUtlJlA2MD4mWiFDeDlEaGZTPzsxUFpvDQo+IFIN Cj4genMjUmo4JXpINiRHcSpLPzBrU3AyS2dPOHtaYkF3XmNQY08jUE5sMlckOWpvLQ0KPiBLaSYq K19hdGllcHVAUll3a013Ug0KPiB6QjM4c0BISDlMPTFgdjAyVzw/NyhfSWtMZDc0KE9fOWdBZDlw R3RoWnMrKXQ5USRQbnE5OVhaZiVzMDVoVw0KPiBIZT5DDQo+IHoyeUlCe1p+alNTeFVfTH13V2BB X1gwUWFDWSRZdjMqZVRNeTAhUj1ue1Y+ZUkrd20jPjVaNVAobm8kJUENCj4gbXtkJmANCj4gejRr LSQxMm8tM3w3KmZTJTg5fT1pWlJHR3NgKU9CXnRvZiZAOH4tDQo+ICNNamVvRlFaWmVtPyR6WCU4 UHFVMFEqYjhnKw0KPiB6UkkzbDVQK19vPGQ1UTtkaXFsJSVQQm9Ca015dVBVZTArbmNPeSkhTks3 PVJPQnJjeSNVJjFTZExrKH5JKF8NCj4gTHw8DQo+IHpLTEgzUXgocU9xeyYpVU5QfkpZaTkrQEVq JHM2aW5sLXteWjc4cGBlcHtWNT52RlckYC1uP1o8VDYhRjEhY15AUw0KPiB6MjRfNmpTaX0lM2FP KUVsPil7JiV0RH5xcjRVTkk9JFJhKkUrZUxlVjNqITlZK3NtZnIhIWZGMmA8R3VYZ3N9YHQNCj4g emI9a0NqY312RTFOJTFjb21QckFDaTBANGFtY0tFUF9YOyloK3wtDQo+IGtKTWBzcXd2SjM0elBJ Zm1pPTkqWnVPQ01veQ0KPiB6a2NvKjNoRyhEaTlzSUNZWU1TRiFrb2RUO2M7fXg8cUNCLQ0KPiBh S25tfFAzZGEzPnRKJFIkNERfQn1hPXxSRndmbzVEDQo+IHooS1N9SEthdnVDSHViYSF1QiZmQ1hi OFkzcmI0P3NMc3kzeHRzcWhIb015PHVGYXZgbDtPeURkKDxzVkpfKHRBYQ0KPiB6PjhYfEIkbWNN YXMwY0BiVX55PmhxNkJsNTB0N19+aFEjZUs+I2hpaDMqU1IlX0NATl5md3RHbEtlOTsNCj4gNXZN eStVDQo+IHpoUXB6Qkh+djQ4S1B9e0VXM1VCPExGXmFFdFRiRj9vMCpreFgkbmxzX2hQcEw+e05q RERnYyo+Uz5+XzZmUkkNCj4gPkoNCj4gekc3WTxrbG9gel8mYDY4TXtOJjY2Y3c7dTN1OWZXM1dg QjQjPVQlNSNPIzMmJHA7a3t+NlM9VSEpJHE1d0QNCj4gV15tMw0KPiB6PV5sVzRXa24ka0pZYXpZ SmtlJXxFKHF6PjlNNkdMYXA5WVhKRHFaMzFEMklwWmVnWnxrMCNxMXR9IStBY1cNCj4gVkcrDQo+ IHpCU2EwfGNyZEZ7bFdERzJYTyhoVjFAI01+M2smbGlyPXBWUkx8KylITFpQMDNuPDNHWl8jPHR7 OU5pcUpUQw0KPiA/I0YNCj4genorajd6NVpQY2tgYSVZUU1KQHU5NEZXNk9sK2k4JWpHMHF1c2RC NjY0fHBkKjl5d0RHTE1fIyhDM1M3NA0KPiA8V3Q+cA0KPiB6cmtJayl4KyFOJSQpTkJnTnktDQo+ IEU3VmxqJncqUTVMTUlOYFUqMzxCR2pUKEUrfHxNQzA3YzZMYig3UVBaR0diV1NGDQo+IHp4dnVC PWc3PkxjVlEodHlLSn15VW85SEZXX1p6T0U0YDIocGhJaG5NPnd5JiZkPDVnSW5mJHRWPC0NCj4g bzNqNCZxVmANCj4gejh9JkpHJDZYQWlyITw5MmFaQ3FFVSNnTWQyWEdjbHtFJT1vR3ZKMnUqWnYz c28majJBZ0J9N1JUfHFZaDZjfSkNCj4gXw0KPiB6Xl4jLQ0KPiBnVU5eWlhTe1ZKRXtfSWBwKGRz fCl7M0FQdVNkU1dzMXg+anxXTDdhV2FUeCl7R0FfJHFsMz8oXzNYfHREDQo+IHpqQyN2T0R8SGVV Yz0+dlpNU0FlSUh7NVNNcU85Yzs0R0YhPnJXUzJYSTd4OzVsaig0P0BoOUAyUXFzfV9EDQo+IGJ5 PDsNCj4geiVVfiNobHVvXjl4YGpPVV98bG02dDkwTHc9KjZNY0tEWklEKz9zS3M2OCZQNz80USFP YCYqNyV0ejJUNDkNCj4gbUBuTA0KPiB6NiF9XnE0I2JpaVFXYV5sPjtROFZMPVRpbD8heUFYJG80 Qn1gR3dec0c4TyhuOUAoQ1Q9cm0jISp8cFVNUE0NCj4gLTdgDQo+IHpmKjJqRnRfRmhFVDA8PFIw fUN9M2lBSTBnaFhwKnczVT53ZSNmQEcqTE5HTm8yViU1eG83d31oSzc3ZXcNCj4gZlQ4QU0NCj4g ejBDOHdCMiptISMxe299ZHRKblA1U1p1PnJ3RiF3PHpyWUZ6MHUpO2RASXIoPih1QF9uWjwhYj1h QktoXjA0RQ0KPiBPZw0KPiB6MFdAanpEdzdOclB7d2xAb3p0ISU9dj1YNnU0dnJ4bmxAbVVtfGhI ZCo5Sj1wTTlpJT8ycWV+ckBXDQo+IHBCcHN5OVQpDQo+IHope1ZKJk5Me2NFOGN7UHVDaWZub2Vf XndVIV9tJH1iKmBQOyZWYlYyaDFMaSFZOSooJHR6Zm94bXtYKE1eMkVQDQo+IF8NCj4geiZlPjBx SSM/UF8hMU1SeyUkMURiK2grUUU4dFJ3K2g2YG56ckB6fWd7b1E4ITg7PHBEKCUlRXNFeXJZdCtK DQo+IC1WWA0KPiB6YEc5alApc1ZOMVYlTVFBQXE7VFIjKjlIfm9WPSRLVnl9bn5RcDRyRk8pREVE YShpUGchfj5NdmJmYj9DDQo+IERoQ2pUDQo+IHpjQ0ZDWSU8ODUhVVpEUW0kNXFyOTJoe0tKbVJU blc+Rm55P3RoWFQ1RnluR3pjYmdkO1R6TUpZMFp0b1FjbA0KPiBne1YNCj4geiY+aGFTeTJDS19C fil3Qk9NP2s5Ulp7JjwkOCZWJm5KbyhHRkd5cUJjKU5FTEljZnNATkd9dWFoZHdfDQo+IEVmKWM3 Mg0KPiB6aGkpSy0lUmI7dypjKV5kQXt1O2B6KzFfWlV2IT9eKWYtDQo+IEZAdnlqeiZNJmJPYm82 cVAjaDNhUStNeW1eKnFyVF9uDQo+IHo2JX1GP1dGSFd+MWIyTEdqI31ib3M4a0VZRzFzcVotMy0N Cj4gUktlWT83dk5yRUdkKz56X2xyRVdle0IrQSQqYiM1bCMNCj4genk7XzxTc3YmTWhhMzc4MGty SSh3QyNnSnFHMVNFWFlsSE5sKF8+cV9wTCNEM20ydDZhKSYrbCVjbGJYVlAxUA0KPiA4Rg0KPiB6 JXp5Iz9IeF9gN1IkfTVFXlUzVF9Hb1FIZ00xRSV0Wms1IXRtfGs2dVkyJEZVdDRtSUFKeCZVQ0Ba enRvDQo+IGY4bDRUDQo+IHpBOFJ4cWZhKT9oYTI1MFBVcTF+Rnk4Ym52ejVlWFYmLXpyQXlZMWlq bmQ7QnAtcEp8PDY1X0d7YDI+Vk9gPzNFaw0KPiB6T2gjMytxNnpGeXgxLStiOD9QU2orITZkY21R Sm5VN3B+b2N0K01paEBXRT1Td1FTSmgrYktQITd0PU4tDQo+IGFAS3ZODQo+IHo2YEgwdE5NYXNH Zk9KVilOc082ZEpaQV9rcGxSbFlxfnxfcXN+RmV2ZHNWYDJhbFZBa2hydjRCMlBvdVZkR30NCj4g bXUNCj4geip+O01HR2poemI1Y3t0KVJDM3YrelBYUFAmQmBqUDIjdEhHRzh0XjJgIzRrTUhAQiY2 SVRWdHpESXVuY0ZRDQo+IEkqZw0KPiB6bURPb0BQS3s3TTAwP0c8X3pGVUN3QHhoe0N1PktfLTtN WG8zSG58ezQhKUBIWil2MXlwQnZ8LQ0KPiA+QVU4Sj4jeDxnDQo+IHowaVA7VURrPGpyJnBeQkEw TDR4WkpAPXAoWnBCfi0NCj4gTUpxMmNHZEVBMkhYZWM1V0xxUn1lR1hQIUpJPkE4JnhJfC0NCj4g elNVNyptWU4weGpkZmJ+N3YqI0tuKjBkWFdoX2lMPUFfdzlCKktYdz4pXygxdHdPX2xIY2tKX1Bi Vz1RDQo+IDJKYHtzPw0KPiB6e25+eFhodyY2amYlc0R7OEI1aWBPcmhMRzxRbDVOdU1+KEBzbV8m UzVWU2xWVzJmKHAtDQo+IEtLQWp8N2RJOD1WN3lpDQo+IHp3bjN2MWMmTWZgUW92US0NCj4gP0gl ZVhrMDAqNT5ndnY+OD9IfmheK2x4QkJ2UlZ4RncmYzVQKCtyejUpZmEhPUd2RkgNCj4gejwlPTB5 JH02eSFEK2JkJGc4JWZAX1RpM0JDPVlURT13WjgrK3Moaj5tUHZNSUR2KlMocVZ+N1NabWBpaEU3 DQo+IENaJg0KPiB6ZTMlQ3l2SU1BPEtoYFpEaWB6NkFLbyZuPmJhVSt8XmpoQmlTb2FhO0YqQU9X dktobkxIKEBeKm9JTnRTYw0KPiB1ITdiDQo+IHpDPUVicEpvYnJBSV42entqPHU4QTghRFpRTnVa LQ0KPiBze0FqVzdNQlNqRVQ3NlNJK3E1bURPfTQyPSReTm9mKEYoKykNCj4geiEwJm4jMEg5NUtK S088YHhHJkN4QzhMKXdaaUI+TGRYTD1+WmAxcVkkOSY3fGkhYSR7XnBfPyVvMTxJVzFtfQ0KPiA8 Rg0KPiB6OyNPVlc1U2dqbFVmVTBNZFc+UCU9WVArPChCUnVKdTM/TFlYRDhOUEBheHAxPVhvYVY1 N29WZnZiYnANCj4gO0szbExCDQo+IHpgeWJfNTh6cTZVO3BseUYzSVcpYGFWeDZ4aC0NCj4gQVch ezc3Y2Y4UVZ+TnQ2MHl1QyRCZnNyTWNtK2d5Xip1ZFBkd0oNCj4genNmfVUrQU1qbWJobittfXhl YjMjJGBEbDNxT2N5SnRqR3o3PGlJbm0tDQo+ICshRj5HMyFhTXIqTj1RSSk+cUIrdX41Rw0KPiB6 VDZxfSgkdUpqSTE1OGJuYlFLRG1eYzxMcm9GeDJIJkxkRVB4PyRqOFlQeGlYdUtWVERKayFmVT9i P31oXlFHYg0KPiBoDQo+IHpXZ1U7akd5Uk45PW1TSiZPfChXc2hWfXRtZCF+UE52Z0UrJjdJMzxG clhOSUF1dHomajJyRSN1XnlIYS0NCj4gayopSWINCj4gej4/KWgtDQo+IG5aOUFGciVEWn1zfXdJ fXpwWmtRdD9+aD5hKnVOa3N7QURyYVUkfk0yQU5JdiE1NEVROHxTTj9XVUc3dw0KPiB6PEk+fEYy OXd6JmImMG8xNFhMWVNXPnI3UXY9VHV6YlNzYU9EeDFWXkxJUktEeUxOXkBnQTlwRDNfVDlwDQo+ IEA4IyFsDQo+IHplR2J0aGpfPjxrQWFRbSVVanNRKW9aa1pVTCpMRjR7KVNJakBOY2hIWj01Ym1k TSZNXzY8RUUoNWducWkNCj4gZnNsOz8NCj4gejhFbUxqS2Vkb3gxOG5BRUUoQ2slcWhrZU9hdTQw KGdCQGtUYm9pVD9FbFomPFlxJERZZzJ6c35aREZUN0VpZA0KPiB6Mw0KPiB6ZkF3b2pBRFk4RStG eU5gSW5XVGdwWnNxKUNwcztRclg0JnBfdCl9RkgpZW9DYEN9fmVPdWs0bVh8SHdlRj8NCj4gOTE8 DQo+IHpBNylONmdyYzZoUFJPbmNqI2xHVClMV01ldG1faTQqPEkkVGl6RHwxVkhFZXNTMzcoT0hL VDs7SmF6cDktDQo+IDAkSFANCj4gejIjMnhpMWFEbX51Jnp0a1d1Qis1KUVMWXdWMTt9TDVeT0Az VmUkZXltP010ZkZIXktkeCFaZ3w4QipKZXwNCj4gM2JqNA0KPiB6QXlma0whTHRvPiU7Um1DPzUo RCl5QWIwKThAQGE9RGcpbyU2TVM/TWxSSSVfUVhVUzZeQi0NCj4gZFpXe2YheXJxTX5QDQo+IHpx JShaSGVtSVFIaXZkaTVGeSFhIytSZ2Z9ezM7M3tGfCF1clduXz5LeyV2R218TU02Rm45Z2FJSilN JmM9DQo+IE8+RDkNCj4gendNNDlBNyVNbSlzTUxERV5ON25YNyk7MytXSWBOZ3Ulfkx+OTJPN2pp JGx9TGgkRElxTXpFKStNMFZXDQo+IHtRUV51aQ0KPiB6NEgrNT5ARE1ZclVyJkBBOUAjWlhzQCZe YiF6d2UhJGVZY25ucXBtTHh2bGErXnFIcWhrekkhJUQlDQo+ID5oSHFeXj5nDQo+IHopbDZIWkU0 eUJTbE5iK1Z6Ym4kWjBMJnNmWjJAUG8yQnpVT0h7NSpaUTV4YD1IcFZ6ayskeXo9YDZ9VnFMWFlq DQo+IDQNCj4genh1P0sxOG1Nfl85RClwaGh5S3hEcEs1VFBLX2JvfmJacCVaRXNAeylAOHQwYngz c3xYa3Eod1AtDQo+IDwwX0wpUGwwTQ0KPiB6TWQjWSZZblZKOHAla2wqRXFqMEkkJU1SPU4jI2hJ ai0NCj4gd2tqOWxjKGcyVmUyaldqNHBAPyZzc257PGRoV08paFpEDQo+IHpGRGgkV2RMaiRAPXM4 PlZOaiFBWFlhNSVIbiNOQkQ/NTcmRVpgejwhcVJqPjJWdCNucGA9TV5vREcoY1INCj4gOTZ2cFYN Cj4gek9AdF8mMk42bml6KklhOGtDd3QqVXszQlpgJH1kOT9pKHU3ZmVvfCNyJGk0fXkyLUk0WV47 LVJuMTJvM1lTTFF8DQo+IHphQn4xPF49Q1VYckotDQo+IEdFbU4+emJgMjYkJkc/I1JmPFk3IWsy UiVSYVNUdEFZSHFmRzgjVW4zaVg+TUJSQ09RODQNCj4genBPelpPbSVUNF5sak9aajdIU3Vqe1l9 JkRCXz5KUHBqJDx7N2R0ZXE+R3JoITZoIS0NCj4ga0ZBVXV0QF90eUFEfEQtOQ0KPiB6QWwtT3Fz c1lESDhiSkx0JDtoTyNTSGk+MUw3NFFvLQ0KPiBETyg/S2lITz5iIT98T1VSQjcjZj0jSiQxT2N6 WE03OWZUDQo+IHoxX3ZzbyhtJl83VTh4aEMoSFBHLQ0KPiAoUWlNekVneUR6b2VEJT1XekNuRU09 Xz42PU5DUXghJnt6MyQqeG1GY2I3Zi0NCj4gejNfcCFaRCVBK29EVn1AY00/Nm18X1dCWHEyfllI Oz44YCVMQ3BzeGxKVyhnJVApPSh1PGNqJE44UWVNDQo+IGU1eipAcg0KPiB6SUhAOyp6PDBoPnd2 UkVCRj1SI2FUciRgPzImeH1MMnR1b2kyYThoQnpLYzIrKGBiNyk2Qm4yRzBCME4hKWx2JnINCj4g ekxid3RRX2M8bUNSXnBFPT1tbGJmUGBsOSpqZDQ8eil6JlE7OFltOU9qbVl2LQ0KPiA5em01dm01 SF5Ld3J9Y3xCQk5VJg0KPiB6PzZgY2E4NCtIPCRzXzRISGQ0MTkwZUB1NGdJIzlQWTktR2A8UHE0 Yy0NCj4gU3JXK2U4QjI4IUM8NDxaZUpzY0Uhdz89DQo+IHp3YyhWaylAZHQ+WlJALUdxSTM+a0Jj OFdkaG88MilZUlh4cCVmVEQ4WUlUUXghLQ0KPiB+ezc5bVElZztwfDVkVWEmYnQNCj4genpVeEs+ U3J5PW5OQ18tDQo+IHt3VikjRUV2cVBqYHdCYkdYfnIrVTx0I0J+XkNvI087eWNScEloNHJCbmcq ZVpUfll9Xw0KPiB6ZXlqbHt7eTw0aV8kKllEISZuNHhMQk80em9TfVQ3X2ZTRztqLQ0KPiBJVlB1 VD0hQVgmM3BIKyNYJXJrYjlTQFhTVVJ7DQo+IHoxTXd4ZSUtDQo+IDxfRlRKRDluMmI0aGdHMip9 dW9+R3goS012a1pnJUlpYlFgeHBmQFA1V1MxVSYkej05S01SWThyTTcNCj4gejNRWVklSCR1WU1s SiN0cldNJGAxXylTKnFmSWxFTitWeyRaOyhNaGNvfm9IKE8ybCZNRU87O2g1QjtnXkhCDQo+ID8h SA0KPiB6Y2ExXy1QVDRrRjwtDQo+IDtmdFJaOEoyQEpvS05XMTwjU2pCd1lGaXBPR3ZqQl4wVG1u R1RXKWhlM0tjdm1hRWlybzQmDQo+IHp2Sn45cUMmMGlVISlwXilrKDx5S1IwSUZuV3xfNCkqN343 VHRkcFJIKGV8KEhUSEh2cDcoanNhYkdWVzN7MTwNCj4gKlMNCj4genA0IW5qOF8je1J6dXdQemxB dnF4Qll1KERzUDZOa3g9KjhleWhTem44LXdhYnFQaF8hME0oNmwhSkMpNUdGNT8/DQo+IHpDY3Z7 NWNwNDB7QEMqLQ0KPiB3TWcoUHZEX3tDbUhzamZ6SmZMYEB6YkV+MHJiJEo0KiNFNms2VT1rNCNj Wn0kPzdAb2gNCj4gemV4OXchdk9RMkhpYWdZTjthRX4mWCtxbD9oTzc5NHJvbnBIUTExd0FBcm9U RCZ6UFQ1WihARWQ2YC0NCj4geXFOX2lMUQ0KPiB6UmNOYV57MWJFO1JsXmdFeTkkcmx5ITtIT2kr eFRaSU1qMV5USnl3Xig2cUI8QHBmQCZHI18lK05lQ3o2KFllDQo+IDRrDQo+IHpsaGd5X0p2eF8k Mz41JWVHT045M1hSQ1J3Pk1FJm51ayNyQSFWezZwWUw9fXNUeC0NCj4gajFsfFF+OXQ0aCU8a01t WmsNCj4gekEkNjZedFp1ZWQ4YTF5fnlAUkd4JjEwO0tFPSR6ciVvMjVxdCNXKkptNy0NCj4gYSQ5 cGBES2hTWEtjbiZiVTNyaj0laQ0KPiB6K0tUJnNTIUkqTVZ+LQ0KPiBeQ1lRQUhNM2lfWUxfaG9w bSUkaj8qaDxPPmkoXiN3R3tGQ0owbTBIND0mK2BSYFkzYXNiDQo+IHpIRmgkZHpkRG95ITxQI1dr T0RjU2NxJlUqN298Q3ltKzB4bjdhNk1GSmw4ZnRoeCZvWjBQJjJUQ1o7PWENCj4gU2MhWG8NCj4g engkem4tDQo+IGgrRVpxTiFefnNRc2dIU0tMJD1Qb0BNcVdhI154blM5IW5PdEdDP3NOPTVpXyM4 cWFfR2AySShpRUtUPg0KPiB6aGxGO0c2fFREYHcyPT9GPkluKDFRKXRDQ09hXjBBZiFoPkYzPUo3 dDN2a0otekkydm04aWNAQGcoKTFBcVNhYX4NCj4gelRqOE8jbGYpekghRTtGK0M8WT5gdXZDWkg4 P2lAQFFAPVJKUVZDSkVvST5VZ0hrU3JsQ3ZgNk1gNCRaYy0NCj4gS05wfA0KPiB6dlBHfUE3cmhY SEFuTT4zU2dxYz9OVUQmR0lHPFVoR3V+ITE/Z0FVVHFZMlU/dSUkezQ0Qyo2amtMNGohDQo+IFBn IXEyDQo+IHplanxtNjBlcWBjQ3NIQlZwNyVLNEZ5ckRFR3dGKlczfUhuK0dkZH1zTiNTQTJjZD1a cGNieGszU1pgfUMjDQo+IFlGMFMNCj4gelF7WT0qJlZxT3omeT9qJShaeGszZ25vanprWTh3RG8y VUJSUGY9Z3N0dWk5UCZrakxtQm5BQCk5UjxmITk9DQo+IFJhJg0KPiB6XlE7MTFUQ05LcVk4Rk5j cHEyTUFyWnhmfFdsMDtNT1VzZUB2JlFYKVFKX0h0UD4yQVFZVHY/MGJnOU4NCj4gM1QwbEgxDQo+ IHpub0M3NCEjbyRreUw3QnIoRjNkVy1mLUk4ODsxVkV7b2B+WlopSyVnX2pNdSU+bUpCKUU5UEY5 LW5xKS17eFQpKw0KPiB6TVhNM2MkYmUoRkpkI2RLZG10fkt3PSh0TCVOTXU5aEg+Iy09WjQtDQo+ IFRhK1h8eHQ8cHJQUj1aWlFZXiVEXzc/YygmDQo+IHpyclopK1E0fU9TcXkzOzRwMmQleDZOb1gw MFBWaHUhSWtafW40WlhCS1ImbEMqdUxtTyE3K0NeZl5WWXcoVg0KPiA8U2oNCj4gem4oNkB6Jjdy ekJQazUoTlU2Ri09P3pMJkMlUWk/P1BnKm9pVE01cD5tIVJLdDJDUC0NCj4gbUFFX2JLe3leM3g0 K15EUg0KPiB6Mj1FUktyRDl7T2B6P19laWxRd2NVPXFlUSlocThZNC0NCj4gRENHeX1GfjAmcGM+ QjlWMVozR1hUKWJoQXxUZHgqb25FDQo+IHpiaHdeQEZfOSlSKntNT09IJFI3TXA2emV8e1EwOW9T Jlh5Tm4kfShuM3kzOVcyTSE+fXd6Si0NCj4gcVlMVDxJeU44UkINCj4gelRFVXtTUiNwKFN6UVpu I2Z3e1A/R3R5cipMUjlFZW1nRWFtQH54el9RI2U5USEpV3tjST9aaTY2a3pXeyR9DQo+IERJZw0K PiB6LQ0KPiA+UVcyVHR8Ykk7SHJRVjleOEo5VWchJjdwKUQ8bEBDVmZhIztEMDw2Yj9NTjBnbyVC YSskaiZLUjBAQzUNCj4gX3w+Rw0KPiB6OSQ8cm5MTygqSzRNZ0tnZHZtMDFQM05XeFFjcmxfNXpe ZGY1K1l4KjgwLQ0KPiBMTCpeX2R7NFIjKUNWZjBqRHgxJD40DQo+IHoqZGJhM2FVezc/P31VRWs9 ey0yX0BET15uZE8tDQo+ICQxSSpsOUNiYDg/Nnd5JkQ9QnU2MjE5S0Z9cWp1cjskJGhJaC0NCj4g elpmO0VvMFV8dlFafldIS2MyQygqc1gpOz14P3F+dHh6fGtzVD54JSkkPm9OYj1ZUz5KeiEkbmUl QGYhZ3VUcw0KPiBDMA0KPiB6YEArQmwmcGN3ZEspWnJxaklfeEhSLQ0KPiA1eD5eZT45bTt8angw UXdhM0llKSFtRzZyQU82KUBydkUmcH0pIT9rdStIDQo+IHpva2ZwIVZ5QzhYd1RVTFA1YT9sUT5a XjRQJih0KHBNY0BiTThsbEZBMnBKMFRoblpGNVgoR1BuNFp6LQ0KPiAxMSZreEcNCj4genNmbENp NEp8QDIrazA/MmdFMGpyWT4wRDhHZ3Q/akBoIylSNExAZU12JWE4bnkkQXpCR2FCNCYlaEUyajwq DQo+IClGXg0KPiB6MWI0bU4jej4rUCY5WGNZdEhMeHVKRXs4TUxnYG8/TGxtfF9eeyExfFhpdShV ZjJSfDRYaXNMQFpYbUtsZCR2DQo+ICVeDQo+IHpaanNRUSFJcVdOTT5PcWtJdkNqVVRKJXRFPFl1 V2pGWH0rRDxWJFIpZTJNTEpGM0x7fkxSLSs+VC0NCj4gWllWJVc+VkoNCj4geiZqPFU7MFJZbkxn bzdmVTFCZTY4Mk4zZyFpVSROPjJFbG14P0l9Vmk9V1Yxcl9zZzZCV0pnKS04NHtKcW8/c0lzDQo+ IHpRWXFUayRKLXBYPzttMCYlIV82PlhDSXJoUGUmQDxoZSlNTyV9cl56TW4/fX4kPWktDQo+IFRM TkYwK19AWkB7e3V8emcNCj4gempoMlJDKVVOY2V6PTtZcDErZ0t+SU9MTmZWQTN7LQ0KPiBPdGVp bTM3fitlUWN3OVBAaTNEMkJENihrcSVZYVY7bSlIVA0KPiB6cHI1aEVKJVdQeEBOfSMzMCRieEE+ e1okdDZSNDM/Iyp0R0hjUU18YTU8dm40LQ0KPiA2M2xONkFQOU1eOSEzYDhSaUx7DQo+IHprWVNp XzhpO0hQPndRU2dGaWtqVGxlY3tURzd1PEdfWTNeV1Y1c2UjM0BVNz87YmBIcUkyVXM7KVBeLXA5 S2hJfQ0KPiB6SjFsU0VsN0o4elRzJmRRVHpuaEprN0Y/SiFCSUZyVUowcHsmdyM5cCN0MHAtKFk8 b2swTEF6bCpuRyRPJTA+ZyoNCj4gekI/JUNhPzk2Xys0Pzt9az15Z0M+dEFVKnlEQ25BOShaI3p1 NXlwbGlgc1AmQnJCaUEpXk9HQzh1c01mTyZ1cw0KPiBwUg0KPiB6PUBeJklVcjhPODhpWWl7PEx7 aiRKYnBjZkkjIVZ2SDk+UnR0UmdZS2lRK3M2PHRofnJRPVReKjRjQ3s7VE9TY1oNCj4gekRnMHZV TShDSFdAbzFoc2g5M30qPTIqX2BjT3l7d0FfIUEtd2dmOFlHcWRVLQ0KPiAySGdWRmwhVnI0eCVq cztNOU8qTw0KPiB6OyNsPVhOSXE5Q1lSSiRrJTAmckdeUnI9K0x4KnIyRWwzb2lAMk9iR2olc1c+ dElZKEVza1R1V1cmcUN8OTUNCj4gOXhzDQo+IHo3QUJuSUtvaWF9eGUpbGA7Jm1PVnJrLXohNz1M Wn0xcyQqRU1jNiR0Nj8yfmhkJC0pQDtCZk9xa3tORT5ieiprQQ0KPiB6MDVldl9NdGEoJUEkN1lY bEZTPSYqczQmc1laaXtiKEFMSGspKllDPWAxa0picVpmfUROb01jSz5+WDlMQTBnDQo+IH5YDQo+ IHpnaGY9MGQ/YG07MnlgVHc3VD97N0w8KHk/P0x+emk+MGwwYHJaOXNzVDF5K0xTaXpgd0FYe2cr JTJJSzxQO3NpSg0KPiB6UkZfeTVWTkZEZENsWEtjRW02OzM4KWNGKXllaWNhPn1yQ0RGRCU7JUZN eVpCMV5WKmtgR0IqYCEpSF92PUhWDQo+IDAwDQo+IHp2Tz5hOyRZWVRNdEdJR1k8bVhQJFZqalJ1 UVk5bGlNQW5kKyRqcSEzNDMhKj4hOFAwfUMjQmxITUBwQDY0DQo+IHNpTCMNCj4gekdmZXErRXdL QDRzMlN+fGRQZWBIcmJKRFg0KWFuTCtAKWlQdj4tDQo+IDFgSjNDPSN0NSZ5XiVOaD1YMX4hK1NW djU7YA0KPiB6NyRPeC0NCj4gcjQ+NylgKlN8e3ttQ3pYQE92Q3Ayb0VMRTg0Y0d9TUh3M2VLRGNm eTVzQ0swJmpvcktLeVA4Nzh4NCRHDQo+IHokQ096VlhgSWBvQ0xRaFAwa2xjSWBWe1pBIz9rK1oh bV41JU90aGFiVEI8RzRpaUk2PWcrN0tqI1lXU3xnJSgwIQ0KPiB6KiVxTmgzdUVwU04pcmxHVFNQ Ym5QPVomaCk7eDQ4QylYTjh7Sn08LWpyZztpe1lxdTkhSUVKKyZIJi1+NHZ5fVcNCj4gelJXeFlB Q2NhQzspQCh3fk47VUF9M31HdWEyP209T0ljSXcqIXBuRmc9VV97fVZARWtje1M9PXs5JCtMQzEN Cj4gVjZDPg0KPiB6UUkwe0dpUXZQfEtfSnlGKVgjZW1EbW4rKkozR2A1ayRzTnhIdDVHYGxmJl9m ald9YD91VVVgYUY9YXMkUDM4DQo+IH5aDQo+IHo1bCVvZjhGMGNFQ3Vhfnd7MX4zXlc7Ql9Lamlu WHF2cDhXcSNGVHtYQHJMPmQ+Z1ljVl58UUx0RnpGUjI5YFUNCj4gYEwNCj4gek51c1RvU1VfbXBE aHFJPzBJWUl+aDJuMEF1MV9aV1pvP3FVJFVlUiRWKkpnUGVUfj17I0lYSVAjUWZRZlYNCj4gSm53 WQ0KPiB6Z2FCdVVFdVZwfkZPbFJeeXlCVlk7JTdYO2VgeGN5SmF9ayQqMm8xfHh0YSQ3PW0hNkJm JVZ7KDs2Sn1PKiRtemwNCj4genJ5OUQ5IWAxQEFlS3xhZGZ1WD0/SjlpM21KdDUybThgVX5RY1p2 dHNDTXdwSlJYbX1ZWVlafWh4ei0NCj4gQUVKKnpEKg0KPiB6R0hOVDwzVWpSYGJGQ3xfUykwWE5A TkVUaUFAWXd6XjZgI1ZOWE1eTz1APGZebHVCJE0zWCg1aXR8XnJgDQo+IEskeXImDQo+IHpjYlg3 TzE1SnBmYG5qTUl0WjcqPUBnITNkXjM5NChtVnM2dyZKLQ0KPiAzfTw9Q0E+SCpqZjsmX0N4d28+ QCs+dnomZykNCj4gendASDtjaFc9UndMVyE4YER7MEh6Xl5MWDlBelg+cUxaQFRnalljTXt6Kjhy c2luMmUkODRfa2hlIz4keDsNCj4gQ2lWdQ0KPiB6RyhGPmc4RXF7JHRBfnZIQ0QqZGFpYXFLRl4m ZVc3T1V8UDdYdX5vI0tSKEVfaWxVfU9meHF6PUJKZ2h2alcNCj4gfTBVDQo+IHpRN2BKYi0tDQo+ IDw1NE9qQm5NQXFrQTxsWkZmeDAkZWh5PHRHfVJwO213cSgqZiNZSHI9RHJLbSZydXhlbl9ZSWRf MHkNCj4geilQPWM9dW8rWjFWaE5sQSNxMk5rZjNtbFhfP14ra0pCZH1mI19DSEp0RnlBUDA/YWhe b2xgdG1YLQ0KPiBKSX5HcGtnUQ0KPiB6IUskR1BSJG1nVjhYVXlmMUU9OSZNdz5haWheNm5tMXBO IVozNVkkQmkhVz5pO1ZXelhQPG1UJUtsWG4NCj4gWkxqZiNODQo+IHpMNGFkJSNEZzdldlBzbUlk S0MoMU9FaTVKPy0NCj4gP2tIektrTUBkTUd0ampENipuPSVHPl4jX0xgUERIU1Fsdkk8TWUNCj4g eksxSmpOZGN9aVdoNWdWSE13QEk0SlU9TFVYZHgjLQ0KPiBKUiVzXllgUnokbDVJJU1MTyZpKk48 cmlqamRYKj0xM0BWVw0KPiB6S3dAJCphfTZAKk0kQHcrI2NxM2hLbyhYI2hIMFgkTlNDJWltIT9n KW9wNmwzTjtpN1NxUHwhcnduUHRwDQo+IFZhYygmDQo+IHplSyMoZXM2WEFlNnV1QXFibUptTWhE Nml2VGJlSlE2ZkVNO2lPV0taJW1CfHQtDQo+IEA3MVEoK1dyQTVWbWoxZmB0b20NCj4gelFfISRN T1V3fFVXbTgjPUxXR0BRUSZ+XyZpWTt5dllnK0ZLS24pMXx0ZkhgMk1KcDV1RChYZWlTOHkNCj4g biROY0xIQg0KPiB6eG5rKG5VKFQ1bjFoNztuU2Z0eG4mMz1DYk9vfTFYaHZUS2p2UEtIc1FOJW1E YTFIfU5JZ3pWYUpkV1NADQo+IFU1K0VCDQo+IHpJTCZocFkmaWhQalo4dVUzU0R+bGN5O2gzRHtP VHBfOTRHQDB2RDU4YktXeGNuJmRMMDY9JiRePTRoWmB0OA0KPiBEc1UNCj4gekZPRHsmZypmYyU4 RFFXMzFfdjBYYj1OPUlVNGw/dldRaVNhSnQ9dGdLKGJNPztDbl9zVkpWaWBMRDJGRSk9RQ0KPiBO KA0KPiB6ZTlIT15gODN9eEMxY1dIZU9ZaSktDQo+ID0hYGp6QyRgaTglbTUrV0Jzazt4a080PHc1 YjFDe2JBPkZFT2EwVDAjVGtCDQo+IHpWeHNlcVhqeTBUYDdKIS0NCj4gRVhFNlQ7bUtKN19tPnYr M1g8c1ZPMmY+K0gjcGVvVGJNZURYaXlCY3NDOSU7UX4lcTMNCj4genFyP2wzPTlkU2h4V3Ekcilj fHkwTHEzTFRHcnZzWm10ZUVRNyZUbn1HdXtCeE1AI3hYPVVBbGtlSjA8MShUDQo+IHk0Kg0KPiB6 SU8/PmhpQWFLfj5mZF9NbT1taGhSYlEyRFBLQDdFUVBrRSRDWmZUTG4pSiRgZT97O2hWPEV1LQ0K PiA4SXM3Q0Rwb3JvDQo+IHp2aCs7RG4/b3cjUSs8JE1ESTZLRHdNRCVGRzk/Z3JBZ3s4djdzSUIp IypDdzE9fUl8d1BrOz5zZlZWczINCj4gek19bmoNCj4genQ1bjtiQ0pyT1MwTkt2LXpmYCZSXjgw SztCbTZxVCp8K0NKanRefDAtdz90VHgyVmJUV2whcSMpRzJgdEg2UEtwDQo+IHpZSFBFPEthfSQo ZWpYfkhufFJ8dmkjbkRzb3xVaVczR3tFM1d2fiVnISVrVD0yKXwhb3lkSDdedCtNYm8NCj4gbVFA b1QNCj4gejNzTThZdD9iRGIqYClHIUReVTBhNkZHYWZPPktld0l9Xl8hYCtTRFAlZm43V3JHb0g7 XmhDNClAcU1YOQ0KPiA4ZjF6bw0KPiB6UztgdilEWEU9SD5kXigqNC0NCj4gdUNhTTFAQ341Yk8y PV9kZUkjaDJQbTVVQSRlRyVyNFhnPFJHRzZtdkFEdzQxS2VrDQo+IHpSM2FXTVFYNzBVa2sjekp4 d349M0J2My0NCj4gWDc0RFpNclh6a3ppTnApRDM5eDMxJVpPUzQkJD5lNzJNN15IQ0Q8TkANCj4g ejs/bXdwVSsjOCphMVdwVlY+Sk8mdytAaD1pRy0NCj4gJU5jVzlIUWp7PGdpI3o7Z3ImP1ZoYGp8 c3wkb2ZqTnhSQGRHXw0KPiB6cjNoWEl5TUpvNz96SSZUP1p6fl41NXZkeEdUPD54bjA+XiU5T259 TWhWNHJYUFFnTmd5Vi0NCj4gTXhAU1g9ODxNR2oqDQo+IHpUem42Pml7Ym5vS2slSkwqZXR7WWdt MUBeYkY+akBgSnB5UVJfakNgT2ViZ2hgYzxpSV45KjdXRW48NXFQeGxJDQo+IDkNCj4gekhHOGR9 V0l5cTBjailqK1hBfV5ZJDVrO0A7eCMzWlJuUiUtDQo+IEhSZXNoYmlqWktjKmdBbWMhQkFjRXJD UzkkZmhINg0KPiB6MzkhOVJ7MGt0QG1ARHg3dFNOXz08QlNAJWBpYHxwZztQdWxNMUNzfmZoWStV O3NPZ0BBUCNofFk4OWYkRQ0KPiBXaD57DQo+IHpRV1Rhal8kV01Wb2BiRX4wUmNGa0FvPENDdjxQ d01xPU4tDQo+ID5TO0Bpb0ZaZHA5RXhHRkk3cE9kSm5FPlQzeHchZjcNCj4gelBsflhoUGNgLT51 eCNeJTJYVTIjKUF7fXxGbGhJY2UrUG56cjsyenlwYXNvcWhDZ2Z3eUBgVikyJHwkfUxuYVlGDQo+ IHo/IVJDRlcwX3MwdH4oQTUhTz9wZ1NJUGF9KGRmR2x3Rn1WYzImK1FFcG4+KiNQd3x2fHUpcSpa Tk1YVj5TDQo+ICRKRkQNCj4genpRSVNUNUFtPUgtRD16ayZDTChqaj1uJHsjO0x3bFlSNnZvbnhF JmdYfGM3KUJVakp4LV4jJHQpe3NIJmkxNzA/DQo+IHp7SjduNGRpfXcrI0l7VGctdHhPa017b1V4 ZXFMZl4pdStxTWwtS0IrdExjcVBBJXZyOUl2VlgyMWVydE83OVJCMQ0KPiB6JDA8RFZ0ZD0yUDVB O1g7OFR5Pl5UJj1GYiZremlraSRIX19faXRzYGlkUjFAQlZkVnhVeT5BenhBO19hcmQlDQo+IDxC DQo+IHpgOyZOajd8Z3w+SDg+eFFMdSlzbEQ/NSlWZ2cpWDAzVzc1KVExRWtiQVQye1F3PlB1dFc3 O2MtDQo+IEBEMihiQ3o/WEcNCj4gekgta3lJN1ZZaFpmMHtXRUhFe35vUSNoezx5WD1pZmlRYjEw S3tGeyRhUVR5KGB4fGV3dS0NCj4gfmFwSE89emdjWSMwQA0KPiB6OFhqd0N3MmhaKlJIXnRtd3Ez amdMZlFxQjBTfnREezJFUT1wMDtgTUR9eDQ4Y1IlcmBpfEB5eHhPRz1vNg0KPiBxbndwDQo+IHpE Z1V1M3pCfjRscUc8VnJAekQmdWc8XjtjZktYblRNIXRIZHVHNDReOEYmZWpmTEh8YGg/fDgtDQo+ IGMpZDU/TSl2SGcNCj4gelU+SkJDdVBxNitmJkd8TU44bTJKUGQyZFNnTVhgfXIjPH1KMExKTm9l PzlVX3twRkxFJi0NCj4gTXhxczNeQERCKWZlVQ0KPiB6LT95K3g3Sk9ISzI3QylYOV5YazgtO1hQ d196RGQwbyElV15CZF5zWUV8Zl4kTT9NMy0NCj4gYjNwS3FxMzxVeXBaRSQ2DQo+IHp6O148WCVG cX00JHFURHRsKnJtb1phPjApdlBgMUE8I0w8YUpvVmN1dGBUXl44S3tEUHs4MjdVVkZ6ZXxnMX42 Mg0KPiB6WHV6U29ARCQ4KGgkb1o3RDA8IzZ4d3pJQHpWciRZMzV+a1dZKWR9QFFlaihxTDRnPHx2 X1M8JWd2MzxGVA0KPiApP2ktDQo+IHozJTc5dSpwdUJsNys4Tkd2c0AkZEJHIU8meUI+UldCXnZu bz5aPzh2eUg1WD8heGYyJEtlMElmYDY+VlRnDQo+ICQqVWkNCj4gejhOUVhMXj1ueXFPISlNRTRk TE9AOVhaailvRDJXRnB3RVR4Kz5ATDg/dUN0YmRKI2BNRV5MblVoY1BiDQo+IGwrUElmNQ0KPiB6 WSEzSjNEV0p7O3hnWSNLdkd2O1BaK097K2pxfXpBe2VVVX10dXg8e0NlOTV0PXE3JFc7QjZ3NjE7 YDxzOz03PCYNCj4geiRTTktTa2E3OVRfZnR3bVBFJnZFJnlgTUooaSQ2czIhT0coMWhOYkZBI05u OG90dk4lcl9NSD81WFd6DQo+IFhgbCkwJQ0KPiB6bF5Iay08VlJtQWZpI1IpbmhmVjZnWlk1NHlP LQ0KPiBsclc/fkBwMGw1QilCdD4zN3U1K1pzI20kazJJb0RqQ3BFfVZiDQo+IHp5ai0NCj4gRmFH IX0xUm5BczI1SDYqMFhfKmVKVSlNR2heRTJ3c1NNNEx3REJZKSg0Yl5rVldiM0A1UTk2Y01MQkoN Cj4geHM+DQo+IHo3YXFOQnQ1UEZFcVdlTWwjbSpRPVJ0VUVPODdyRHpvWU1renh4Xz92UCFzKTFy fkJfNjdWYGdgSnJHKDhnNGoNCj4gO3oNCj4gekhfK1Amb0hvKmxmPkgqfGdWdSU4cHV0RWhJQmc8 TWxJKD0/R0FBQzZUTFM4czM2e3xiO1pkSWRTQylucWIkalkNCj4gQQ0KPiB6ZGdwfFA7ckRQRE9Q alc+MllXLWBpeWohZF4rMkNxZ348bDJlaHs2Tkk9OWpyIyk9IXAoZnVYaWlNNj9VP1NXSWoNCj4g ekFBWlAmVmVfbjZ5ZXlpQihAQHJsOHlTMSgmKHpIckFsbHpSWGJDSHVLVUU0RXFucHZzOENRZj4m WXd5NmAzDQo+IGZ5KA0KPiB6fEJ1QlAzdTZSXzRNWFhjaj9VYFc2em5OX15XNGV+R2U1dXtBLTE9 IXlSaEBBLQ0KPiBmJFB6eSVuU2R7VU41ZDdXQFR8DQo+IHp3QWpUcGhRPH5kOGJ6VHxgfHl5ZiFn NHk+Xl9Sb35lNWA4cmRrbUt2R0JqZUctDQo+IEYhVmFQeD9gQlFubmtAWGB0PlUNCj4geilJe15w WFN9X21uWkU0JGoqdz1xWDNSfWBkZThNclktDQo+IE9VZUokdFZEKDFMcT0kSH0laVBodVJ4RU0l PzJJUDUlRA0KPiB6NGV+WmVMK2ErcHA2Z0EkSmsxJE4mbGJKdnIrSDE1cEwoeCFPVl88cDw3diZr KGxpPiliSWl6VF9lIVZSLUdHWl8NCj4genVYTGhyVGJIWiZCeFdRcFVYVXZAX2dQIU4tDQo+IFhn dEw5RzJXSShnRH5hI2JSeCo/T0RCaTxuP2ZeYXQ3UG84OWw/Mg0KPiB6Oz1CRV9OWVA0Q15mfGBV dmw+IzlMVXUtDQo+IEg9WHl3UzVfcDtCaHNiJTxoJSghZFRhTEk1WCgkNFY+dSp3dilmSTRxDQo+ IHpnSSE3UUw4ZGMla21EX1doeCVzVypMQEZpM2stfXNUeU1lPURLdHhXLS1HTX1GQFpmdS0NCj4g NmVHTWtRUUpXWjE+QUgNCj4gemE8fE54RWJffFRCS3Vedyp6QyEwPXBJSD8mZj9JWVZyTE4/WUlu djRVfXVjaFJOR3MkIUdiK3Q5I3dMSlZ1DQo+IC1tNw0KPiB6cWp0S2JNa3w9cSE/PW9mSms5UlMt DQo+IHJ9U0pEV3hIR1pePjVKKD5+bz57R1BmS1l9T2dSI2Q2KkN2WktXS3claVljDQo+IHpedk4k M1RMc3dBeT93JTcyKVBUaz0mYkwhM2xedXNaMk9vS08xcip2Vmg4cFpJU180QjNVflVZe3RBUCtL DQo+IGJqdTkNCj4gelNwMFNTVkk8S2pEfCt6NCNXYlp1VjtTckcxM1UlJHhffGtoMCEqV1U8YlRP S3U5VFhDNnwmQl5UYXE5YA0KPiA1N3NobQ0KPiB6QWhWdnUma29RMT0qKD57XmJAdiNMbTZPeGJy Tm5kXkR2OStxVkk3Rm45bnBfRyhTNkV3OGd5WjAkPVYNCj4gSCgzU3pfDQo+IHpYUihyTEptejc7 TGxAMEdTN0pKOEs5Znd6Y3l4Tlgja31oUkdvcW5zTkN1anBvIWBrOTZmPntDRXFSK0hrc2tBeg0K PiB6V3tTcTZ2KDdETVVjUUI8bH16S29CbTt+YD1je2ZwQDRDUlp4Q09ManAhd09VdSpKK25SMUA5 ODMqNz9kDQo+IEd0Q3JADQo+IHpNeyh9YiY4Wnd7cHtaSTM5JCNSUjJJZn5Xb3IkeUYhNnB+QFo3 e0dkOzEzeVNlcyh5Z05ISGFkMUYhTCp5U08NCj4gZ2sNCj4gek9zNDZnYEJfd0RUfShONG5seUJz RSNQdHtePURhVUB2RlRJdFFtVm5pK2Z8NkNpTyp+Xip0dE5JRFNpQUQlQg0KPiBVag0KPiB6UW1l dHYqTDkhNzFQI1Ytc2k3PGFDcF5qOEN4Tng/SCQwfCM7aFdmcHAjUUp3cnZEISllcXJyRV4/VTQ4 Vy0NCj4gSSomDQo+IHo8e1lSP3FEX2ViaDE2PjNGVmI5cUMpbGJIQlR9RVo0I1FPd0QrN09gMDlP JHBfJXhrOHVeNytgYm5NeXYNCj4gYTFPX0MNCj4gejlgc2lQPWRFYWwjIW18WXdCfH1vQGVuayNM bGdMcnRGRi0NCj4gI3lgRD1ga0ZyUmJIQD45dkxyS1ojbVJPalhYdTx0fg0KPiB6XyNCUCtRNU9p MTdvZisrWnVCXmtlPVhOTVk8X0c4U1MjY2tnYGJqLXJhLXk7JU1AQ1Z3Znpmd0tQXjstDQo+ID10 cjs1DQo+IHoyKz8lUjFHS1VeOHJtYytobChkZVhfaUB9SW81RERGMlFjO2g1TShzVjdzd3xTSGBz VHMlWFlrb19ZaFZzDQo+IGdAdUgNCj4gej8lR1FtUjA2Ul8mPChZP1o9dXFaRFBGJlV4KV4mMCQz KkRHekVnaCNhJm5XWHchflp1d2ZJcDAzNigNCj4gPkk8RHBoOQ0KPiB6MWlqSGA1WXhFMEl2MilE bWBHck9JSSU+RzhJYEl7T2M2ekxpOGVwTTN0SH5qPHxFQlIoOUhNNnRNWGAhKkB5ajwNCj4gej5q Zmg7cUR1OWRXbXpiQGhxZyR0MWpPZihzKE08Oz5IZ1c8dCQmV2Z1WiV5XjFIWjJSSURXa2JaOWZY WA0KPiBQV2ArVA0KPiB6bn1XbHltdFBUWkxpamFBQG5Lb15NPiZLdz5SOy0NCj4gNm1Tc0R1ckhH QGo+YHhebzBTSSFXSExhZkMzYjc5MjlmWEN4DQo+IHpRUzt6alJoOGt2JXdhMzZvTnN7QzJOUVo3 QnM0d0stDQo+IFJTd1R7Qz1fSmNRMlJVZiQ9N2JsXihlS3t1ZSRBbSl8eGUNCj4genRNal5XYFNx R1MjKW1WVCVjdHNaLU1NQG1Ge2RtRWxePSE2JERMeGh5eDtBX2A7JjZ7WGw7WkxFLQ0KPiAhSmRC aVVUTw0KPiB6N3ZWcF5rVm9QMkVkMiVZc09hLQ0KPiB1P0s0Tj1fbGRmQXlSO1VBc1RSckwkWlV+ M2t9TihRVFZmUXFqNGdiN3JSR1F1DQo+IHooaWA9Mj5RJDdLLTJsY2ZrcF5fPE8zaENieTVQSGZJ fmBWIVhpfGRYMV9rMlJmTD84SGIldW9KcTF5IWBLdF87cQ0KPiB6JWYocXRVPUhCRVA9cHlxZUhv Y0IhND1Ee1MhT3ByRFVNIWhHeTIqKlIpaEg9ZXMhKTBhJj43fFomanxWSw0KPiB+UVVxDQo+IHpg eTwkcCZeflM3Z3plbz1SfEJqO0BAYVJjRiZyfkVNWT9BbnBzXmYhMykwKkBvbEpoUSpJc35wRVE4 a1pkXw0KPiA0MV8NCj4gejd3JmxAZ3xDVCVJSFQ8Mk1oRVZwKEUhfXAjNXdZMWNMfWNQSl5NNCFk aiY4OWJ6aEptSStvc2RCanRsaE4yDQo+IFdLLQ0KPiB6NSFtWjFmd2hDLQ0KPiA2RWNCbTQzJWYx TyFLJU9rMW9NXlV2b0V0enBDcHc4b0AyU1Y3QU96MXd6dSpeZGp9bzFaVDdTDQo+IHokMWVnMEJu SSN8SzQxY1Yjb1BlejFCcVpYY3BBUzN7ZzBSOVo+cTRkSH47ZCMjQF90R3w4I05qMGI+YlMoLQ0K PiA5diQNCj4gem5oKExFJEVXamVNUFlvdk9nIXg5VTVRXyQlZV5Dbz8ldGVofENrUVAlVmI0YmI+ MnhRaGNAKkF7emYNCj4gTWVFJEJ0Tg0KPiB6UU97JDEjJGt4KSFIWGw4Qj9qeGFzWDVWZklxdUhY bjhSO005dkVJJHtTJDE5ZXkkOXlEWl8/aGFCcm13dnEmDQo+IDVwDQo+IHpWPkpzT3olWDgtK1lN TCQ9JUlAdipQMHJwPVJeO1ZoKlRnM0xycWgpYHReeS0NCj4gI0k2NmR4Jilje3hBZHo+ISk9PFUN Cj4gek9PRDQkSDcxV29hPFhEKW03KyRAcytreUlNU35meEsrV3xlcj1kKm5iTXQqSHMjbH5oI19t dmpQaEgNCj4gSF5TMHB0ag0KPiB6SlhsclU9SHVANERVWSFkdj5xUFNnTExFSlgzP2gzS3syVShg ZUU/eGFsQXoqTmYkLQ0KPiBWV3kxVDVra0Y5eElReXpMDQo+IHpDJmE7Pzd7SGUqXipqbSZHM2Mz RnZuZjg5bk1+RnwtDQo+IDlzY2QhNzM5Ml95SzxFWlImeD09c3RtaWxONmo4O0ZOezQNCj4gemVW YG88a1lTcH42U300KEc4UU1hI0ROKHdZS059YFhYKFdLU3NeezZndGJhcVl3RXBKRzREK1p3cldw aw0KPiBCe30mbg0KPiB6ZHZtUis/O3xAaF4xOU47aD40NkAhX1QjcXExajlWVGZje1Baaj18QTxu Y1kpOGQ0KTYpP2xUV3t1bWk/V2FyDQo+IHpSDQo+IHpveCttblM0SktGOzFhZ3FwQlQpcSVVfCk4 VjQlcX1pM3ohK3smQCU0KSRlUzgleVhXX2s3aEU+RVArQA0KPiBVRGJndlYNCj4gekZGVktrSWRY O1JGWT9tR2t4OWFrSF9PREhtKSg9aCR3bSs2TCtUdntRKWNEJm4jdzFsN0tDI19gflc8DQo+IEZy NU1gZg0KPiB6dGF+WEYrV0VLfWQ7JHdNQTVUfilqOGQzbk5DSzJfZmhwa3dGamMwP0t3VDR1dGtm cEdRNjh3PGZ8TyolDQo+IC1ZVF5uDQo+IHo+b1RjaHVqKHRNMSE2ek14ND8kTTlKfWJ8SklwQk5Y aThRemZpMDhAZkd6TiUpTT9TfGcyUigjRVpuSUoxO30zMg0KPiB6M24wV1Y4UWZTSVRGWVVIdEdA VypLSjtIPXIrTns4cV52Kk81NEp1LQ0KPiBnUlpsbj5qbV5tNFo2bUh7dFRjekF7Ji1+DQo+IHpP alc9ZSMkeG1LSXcoY2QlSSo9YDxuI0ckWDw3SjBPUSpvP3MyYmg7RHE4QiR7VlBLKFQoMDlHUjN6 OzdGaQ0KPiAwXiMNCj4genotLV5FciRXTU83WlFgbWMtDQo+IENfUD5jK3F3bThAOCtPMkxVfSpC YTtwTHI3eDN0XjZBcGdzNDFLMHx8aT5QM1g1Tw0KPiB6SENjbCZkMiVXTWsxfS1UTnRrUHlhOHww K01HMzR1TlBxMUo+I3U+LTBHP2ctDQo+IHRDVVcjNkNCMmFaNHxsamEkNXcyDQo+IHo9Wk1IKURX cHBNd3xGQVpLJUpWSDhsaG9hJko8SFJ7MkExMDtYfHhPezUrOWx2aTFrcklGXkY/bjMwVVhJZw0K PiBnZCMNCj4gemFAJW4pVmZKej5jZ0RnRVY8Q3Z0KFJiPGlFO1YzZ2ZWQU54cUREaHgkfCQlQ2JW SCRIWD5rc05rPlQmNXsNCj4gJipgQQ0KPiB6TWEmenllRkxOQT81dEZTYnB0QD9jSi1aUTktDQo+ IHlxUWlYSkt0a0o5PE1Nd0VncUwyfFdvTVhuVGE2JlRCemctVUNXDQo+IHozdkJ8Zz5PNThJZFE3 MVpvYW95a18pTihjO2dhYUs8SUVfWVAmKio+NDAxQGxtRmxkbDRFJGlLLQ0KPiAjUzI3JitVc2cN Cj4gemtXZUBgUGA0OUxXRHIjdFVgPWBJd3QyIV9fdFh8SnokbHNQNUV2VCUhQnVKeW9aVUlvYlBu YnVpem0yaCVGUQ0KPiBGVg0KPiB6JUM4QUNNN3MocyNaYkMxdmAkN195WWteUl5hTmlwMjJxcl8m bTxZZkBHN3R7K0ojfSppWGtFLQ0KPiBfKWtufHAxaithDQo+IHoqdGB8JTVXKmREMkQ+JU1pdUcw TUJzY0dSb0EofihFeTdfUTNOe1hjZX1kUGcpUT9hTUpwMXg3aWlWZ1R6DQo+IFpgLUENCj4gejFQ dmdWdVZzUjdRJiFOdTJtSmhIYn4kd0xpV1ohOWB5OV9nV05wY1YtDQo+IDxHIz53fkFCZXVXI1lz SHVYSUk4VjR4TA0KPiB6ZkFNNTdMfnZLV2khbWBDRTI0RFglLQ0KPiA8VVZVcHdefVJHOCNUVjhj VSY0TUFWJGkyQyVlZ0dTJmhFJTViTlRseThqDQo+IHomQUEqfD0jcUZiPlYtDQo+IEZCS0NaV2BU UHs3aHUzQ0xUSmRXVHhjfkxVQjdVJFd+cDt7NFhRQ0M4UUd2QUxmI057MDYNCj4gejxWZTVUNX5q UWFRcjFGPHd5MG0+JCRBREM/OHdjcjRNTG5XJG9tJE5fbWBteUk5OWd4PjJZNGRAYA0KPiBNVl9u cmR9RA0KPiB6dypSZHt2dyhBWXUtVm1NaiRJKUFhSGJ0IVJoYGo4PVJ7OENsdnMtaEImJV9yYCh9 JGVeZDAwVGRpeXtFXmo8enUNCj4gelZIWWYtDQo+ICpmcTIwZFhSJT9sPiNtMjU1NGhYaEhoMTdC Q21lK01DY2dJYXgyOFNeREJIdG0hVHVHcH40cEc1PD1CYA0KPiB6M0s8bHlGR01HMDRlJiZnTiUz Uj5leHNaRGl3LQ0KPiBTa3JoMnt2SHImNVhJeTRyPkEyU2xJQWtiYTw0RD58ZWQ9RTMzDQo+IHo4 RE1IPkIwcEFncTNBK3NeLUQwZl5DOFNwLTlNOUclUVV8Xz1jNTI7UG1mQG5eJEcjVHpvWU5NLQ0K PiA8ck1Cam15OXENCj4genRlYl45LUB5O213c2pMWVQkP0pAYTFhckVnUS0NCj4gX2RLdT5XQldf MkA3cDJuXjw8cT07KEpaK2ZjJHNRcnQwU2F0TA0KPiB6QSlsO1NRTFRPPUVKOClPTzxnSFV0PTds VSR3UWNTdlVHVShTVXZxTEhrIXRDNnQxdDtea2IkQHRBRlRPJFENCj4gZ0B0DQo+IHo9ZU5EXl5E PSgyQz8qST58RCReUUJeUSpnTHprbkZIZFgyVTVSY2BmMmQodDkhbj5Ze0BwP1okI3JUV3VoYA0K PiA0XigNCj4geiUtDQo+IDZpWSpVRz9DaTZtZUNLbGFgUXUmVjBIQTNsS3FtbHpCeFJqYTYxMVBw P0pmQ3hVMktyVFd7QVBJXjFZelJwcA0KPiB6IUh+cXtVTEY8e2RYcXtGdz16Pnt2OSVwTHdYT2Ut DQo+IHw3dkYoJEVzMVZqMFZTQWJaa3BJT3ZUNGNjZjdQeE8+MWduDQo+IHpgRl84KCZjNWZ8TStp UFRvJHZiXklReVFuJikjZFZ6NGxzYnVmNnU7OTMyfUE+PExMbHlHcVU1dnF7aUUwJkMySQ0KPiB6 JDg9dlBNUXtyKz1yVWhHPnZWTFBeSTRsTjZMYyRlSj9xMk1RaEJVMl4oU2pGNyUkZ00oeEY+UFkt DQo+IGJhU0Q+WH1vDQo+IHp2eTUheUVkKFRfK2lrOTJDK1hVKkw0eDh+WXoyTnclPWtwUShLZys1 T31CRikwbWEmaW5jVnktDQo+IFZCeihFMkwjPjsNCj4gek9nQUFHbj8qb3EhPTJjeGg/Ml8kVmdN eVNYSCZpa0V3Y3MtTW1WMD9aVDw8LQ0KPiBXVlNEJFE7KkxFeCNeITI1dVZMVA0KPiB6O3w7Q2Nf JkYrSE5vc0dLU314dG9rZjhnd0IoR250Knsodjd6ayVsSmUjIVM1NjNiejFpb2BPaUo7cU85TF5+ TmUNCj4gejtTPTtgWVdUYyh1YCZpWEIjSlBxa1BkU1pBbi1MIz9hT1lMV3t2X09rJiNFdUQ5Q1pG PXV3ZT97M0AtDQo+IGBIPD9eKQ0KPiB6cyVLb3w7JV5Zc0oldVAqVzNSbzl6TTM+UFZgVGVJU3k8 Sl5GbHF8Z15gP2BMIX1EKDZONmkpRTFHPGZ8VV44Pw0KPiBaDQo+IHpxdyhZRj54RC0NCj4gPE0j WEFEOGo8dTxZWk4xJUJBQXV7eXtoP0xiPmY4I2RTfUxWUDZjZ0ImMWdNNzVDbmU2ajBEVE0NCj4g enhzaGx0S0JuZ3lCWCZxfWRhTnhVeHIpdjJlK1FJaFEyTFBoMSk4Xlp6bkJDTW5HdHdrRkhTe353 Tmo5Wi0NCj4gKTFlKA0KPiB6ZClIYDBnTj9ZO2prd1c5LTBEVXdtWG9uX0M8cChCd3UkMy0NCj4g dDZzQVFNMjZObG10WDZ3cjU9eTkxcUI7WkE8Wk9BDQo+IHphdjFFMyNEYyg8Ti0NCj4gMipXe0Vq O3c0TFNiQCpOPVY+YV5Bc3A3fXY+PGdgOGRKaUpoU3o+QE8+OGtvKUs2OD1PNzMNCj4genBGYnVU YXlgbn5nekt4Z3Ayb0dlR3ZyS3FKbWtFT2B6ODQ4IXUyQ3UtDQo+ICRNTkFDcXZIZCMzfWNLe2Js TGpwaDFIcg0KPiB6VXZ9PTBBdyE0d3spUHBINDtoa15nSl5rdyFtPWtxJmV3M1FXfHs3XzJXN3Y4 aStAPypCbk9AcXZBPw0KPiBuQk5JZjBqDQo+IHpXMFA4WUlaNXRkM1MrLU9LZCZtUmRqR29IY2lh UW1ES2YkQzA/VFUtDQo+IEwlfkNmO3Q2OUleR2toN3pAP2V6PDUwUlUNCj4gemtfV3YldjJTNntv U2prRCZyfXJScW0kNkxFSz53bGcwQXZ4TGFfKDswJHA8OGdFdTxQR29nM296Tkw9Ymh6fQ0KPiBQ LQ0KPiB6TXxnJGl3ZitkdDNGKEpKRFg7WiQjTjw2UExkTCFPIXNsUUpUcH5rWSpqdWgpXlJ2JUxz b2k3SDV3TSh9MFlgOXANCj4gemgqO15ebVY1VEhQYFgtcnk9RGtSNn13czkjbFk8eHJkbzQtdG8k SShRQFgpUkApfF51JFhldHVUKzNfWXokYi0NCj4gZg0KPiB6X0ktUGRuIVpFeWVlfSgtP1J3TTYk Wj5oTS0NCj4gXzQ5fGU4X3ViK3JmWE9JKk43UyQ1eGYmemx1bnVaSzt3JF5uI1Y5DQo+IHooS3VI QUpSSE1wLQ0KPiBJcD1gPiFCOW1EQilCTG9KRCp1V001JnFoJitgJUhqZDlfV248K0psJigySDdK MysyX0xpN3kNCj4gel59OGotDQo+IFlnV1h7cEN+b0FUclZeTClGOVAqN3VGfWIhMXRxemwwJUNX RXc+TCtpMSo7TXw1KWZnKndiP0U5NlAkTA0KPiB6SHMzRGhkbTIyRDc9YXUlO1Q1Vzl3NmlGYDMt DQo+IGdeP3UyZj9jSjN9M1NKYFJQMXcjMEEqdEdoSFJmRHU8YmxFVk1nDQo+IHpZTyVJV1JBXzUl ajF7JXdpd3Y+eT9PMVBpZ2hWMWZDRzJGbiUkeFg7TGI2WkA4YU9MezByQEJ2PDM0Tw0KPiB5M1Va MnENCj4gelgpUHJjWGVtNXEpNHZFeUQ/VWxuLW9VZ2RLe3BTWkZDX311WmN+Mn5za2B4SVRKMnVw UWoxLVZKWDw7JHFEJDRBDQo+IHp4Izh2VTxzaElMMmVUMnBuN2R7V3BIYHo0PENrZlQzWCRJUnky S1Zzc2VAdiVHVGZOSUw3eFF0b308cTFHTg0KPiA7JnINCj4gekZDZHpeQGY+YXk+b3Y0cjxuem8k MHJMPGo+PFpfT0EkdnA0Nn1YQ2o3O141dz9Adz8hUz1zJmw0YSZDZjI3Nw0KPiBaaw0KPiB6MzRk fEckXmYqK05vb0BHWGRmUmghPjlhZ1Vtb3FmR0JRMS0qe0hVIy0NCj4gMEA7PzJNMG9IRShDKDtB Rm9qIWJVaHBKDQo+IHpFNWFGYmxCUCpnRlZ3R0Y0e3lPNjlBVmdwQURfNkVMezNIQVZmM3YxTkch MUJWUGNAbjBAb3JEM3U7TlMNCj4gMkFaMDsNCj4gentUfjY+Q3NuaWE/enxUPEAtPjAwK15SY0tH dik1fiZ8VTUyeUhhWXtmcUA8bExqY1FSS2l2eE85LQ0KPiBPMlFMMT4jTQ0KPiB6dHp+Oz9NfD8m eW1+SExsK3Rhe28yYmdVRF5SanN0U3tBdUZpZ3ZXKXlKUzJZNj9KJiZUNH4reEpFM1gxPz84fikN Cj4gek1iLQ0KPiBta2VSUDNKeSNvPTZXYFQ1I1FaaWgqUWI4PDY/KVkrRmpTRHRpVncqVm5odk01 VmZVXk5oRTVEeUBlcTgNCj4gflQNCj4geipWWFpNMHZIVWp5OWFsakAtDQo+IHtZMnc/fSY3P3kl JilEOzRsTjc3Xj5MPiF1PyVRSU0yalUocT9fWDgoP3h7YjZMKw0KPiB6QHFHOWlxNWdSOGR7b2F6 bXBOJWdnMUIoLXBSIXo3czIhWDB2REZjLQ0KPiAzfFExS0t1dWd8KlY8OXVpY081elFIdko9DQo+ IHpeQ2gkZF8kcSNOeXYmOGBaZjElVkp6KDA9eUE7elU3QXZ+MSM1e2hyM3dJMFBDUTg0QFIzVE0r WGlHPVk3DQo+IFR2JXMNCj4gelo4QXNVYHAlXmpkJSFPKkpuISo4UF9PUXZCSmp4QUo5VSNnbE9t cUEqfCVNZ1huXmkxVHZ3Z2thYnRtDQo+IE5fZkE2TA0KPiB6RHU2VWVuMlNqUER9LXE2cF9xb2VE U2s8VT85dWxNSGpQYnlOQmlQYWR3dXZpbCNQbSY8dmZNZSEqTi0NCj4gX0djQm8rDQo+IHo7JEtO WE5zNEZWTiVGeHUlYW05fkY3aXItDQo+IHc3fV5GYnEhXkZDejQpSit2P3Z9VGNaMTA7Nl5RbG9B SVN7PnlVfTkNCj4gel9NS0dPLQ0KPiA9THE4UXpzKjRAVFJDUTdNbiElYDFlaUZkfig+M2A3Jj1Z Iz00V2dKTlpeOyMmbXI3TyM7QntiXiNFSg0KPiB6SDhGUX5Ja1AtJGBwVkVyd0RJZ1pmOCQoPCl0 WjZgciV2UTF3diVidDNBVDtKT3xnMEJ1eW9HRkYxKSotcDV0ZlgNCj4gendmTWNUS2o9O0FtaDle WVViYHZKU1JxfShGIWs/ZTx2aypoYXBLXzN1e0xeQmlwPyZOa0R+ezh1d3VFMCFHDQo+IDUlNQ0K PiB6IWp1LTs/UXJ6QyY8O1lSXlBiIXZlUSE9PTFqZi0/eHAhO083dGU3WS1veWh4R0slZ2VGUXJs KUxTUT9LXz1GRyYNCj4geitSRylCajtTZD0lUnd3eEVlbjUjNmFNQXs7NiplYU5aRGgpNDx3JSVM ZmVnZDF4KylXbWopbyRealQpMA0KPiBxbUpMZQ0KPiB6UEg/TGpmYlJpPGgkV1ZLaWpHSTtoVjkh dVcoclZHQEwlLQ0KPiBKc28xRSRWSmZCXmhQJT5ZUlM5S1oqfjhwYGFWUH0yDQo+IHokNWYlbT9m eG9ST0Mkc0hYaklUNmZUS2wqPVA4XzxCNEBTMSVnSE8pOX1lQGlkbn5laHNtRWdPKTBIeWk7fA0K PiBWRmANCj4gejYhWXFPUnpgKz9aPHlOJTxkdE0kJFpMQ3Vea1Y7VFohZFd5K3c/OUtqPHsoSmU5 bTEhey0NCj4gRjdNQn10MGUmOUJLaA0KPiB6dTFQLQ0KPiBVejB1OGs5WlordCEjUENzdEZWUlJs VStDUzFJJTRnbzZBYStLVWB7bFF6Q3JSKFBkaH1Dd1RkV2lUbCZ2DQo+IHo8ND1FSXNkK015elJh ZTdvYXkwLQ0KPiB5MzQkWG1wRnJEZCRHQT4wPks2Wjk/TXJjOzRvTzYleSVwTiVvSjRmOHE3bTYN Cj4gej9DM1ByczN8YUdWXzJaWV9XMj5Lbzk+cmtLUGsoUWdKZSh8aGhhdXVEPj94R145IUhMPXpy JE1zMDBmZFgoDQo+IDFTMw0KPiB6TVhCIVF5ZUM2JkhqRGN9eWF1SXR4OEgqaU0yR2JuPzAha1My S1YzeEJeSH5KP0BEeyV6SSFYdmBSIzFncE8NCj4gKWNqDQo+IHpeRmQpc01rbXc8KUFLMERgMUR3 ZSk/QTdDNj9QSmwyazdDY3lAbiVrRzQwSHFPeDxNYHFJSD5SR3ooJA0KPiBEfER4I2ANCj4gejdl RXxJVldQaG03JT84KXghJTE4KzN0YWokMWtQYUU8JChNWT90VG9YVitCNkxSKkVmcEF4eD94THhi dz4kDQo+IEkkZw0KPiB6QWEhPlhaUVdNMUNHV31kRXokUWJqTzUtQ2ByTmtBKUBNU1duO2clNkNi VkBqal8/d24pUzgtDQo+IEQrWUJscUB5ZHg9DQo+IHpZa21UYDBwYEQ8JUktM151VFlAWjExTC0N Cj4gWUZ8bDVFJjZCR1Q3bjQpcEZyVGsoNU9aM1FGIShZc2N3NFBOUj14ZHENCj4gej11PSR9cDgy TytRKWdHJnMqeUM+JDxQVSg9QVBxMnFBdyZlcHcmVUowb3lwKlROdEBtQm1pJD07Y3ENCj4gfldR V2IoVw0KPiB6Yl9PXzRiQlVGTU97QFgoLWl5NVA+MW1tME88RTJBe1kwaiMrKU90aVF9LQ0KPiAk YXV4ZXY2TEA9QSlVXjR8YEo0ZHJuDQo+IHpeUD9WWndLbCNMKThvdXlFcyRRWEhKXjEmYDxhbVZK QnA1T2l9az5Od1dYOGMhY0VpbD0yTiMwaXMjM34qTg0KPiAqUl8NCj4gejlUSXBAezR5bD9MTTRF fT1fd0RpaG1eJlNBYiZAVVZZR1dleVdWdjJGPzs9bmotOS0NCj4gTGI4T1ZWaGZwPjRDJmd5Rw0K PiB6cUdgY2k7c15UfURqU1BzQlZDRjRsbDZYU2lGeThYZjZIX2A+OEw5O0tUU15lRGAyKX1Hc3RX VWNtelhwSmokR14NCj4gel9OJlJXME47aSYkTSstDQo+IERVSER+diNDaW5pZmFreSVeZno9SXQl UlZ5YCRFViQ7bTBBVDY8MjZ+JFo1andqVzMzcg0KPiB6QHdqZm9kbmZTMHs7fiFRUFJvIXpNRXE3 N3BGTTJIUHs5MnE7N2BWe3l8PCR6djNLfjw0Qz1IODd2cz5sSCRODQo+IGZrDQo+IHoxaEFhY3lh bj9SQ3R6JkZ6Tih8eEJRe0VGX1hBaiVXV256dFZTRkI1eylzUUtHYl5gUE01KTlLMH5gK2drDQo+ ICpKLUMNCj4geiZPKU8xMXArbzZofmZGS2tTTS0NCj4gaGdWKFQrJDJuV1QzJDBVNnoqRXRZdCpg UENKS154cjw9MzNrZEMwPW5fblpKeQ0KPiB6K19rJkNFZ0xPe1YrdGYwK0tHcWgoYU1RMktIQUFw Y0s8VkxIcWhWY0ZnO0V+TWo8MmQre1J9KGozd1Fpdw0KPiA5P0xXDQo+IHpPRzhwQXRxJlNMcDdV JVFlO3hjcUpMTjh+dHVeTzNhUDRMODQ3ZjVyK1F+MigqQisrIzttWVN8Q3FwTl5zDQo+IGI1QEEN Cj4gemEmWk5YMXl9d211NXk+eGMzXmwwVHkwSEhjNUAkZ2JNc2VvJVV4ZEVSfSM3QnFFKDhfejZH S1VyPG1ZDQo+IFhheCo/dw0KPiB6ajs/cTlTIXtDe2VaZzRobz9gUnpCNEdqMT0oOFlwU2hQQGRT Qld7eE8re3tkd0V8ZDQ2Sz9AckVLby0NCj4gYXY5YjRFDQo+IHpwPjRnVkohWGcjKXxhc3tTRD53 YmFwcF4wWDBWZy0NCj4gKE4yYUE0ISZrYUhneXtoV3JeY31DMnxua0l3cSZJYlRSflkNCj4gelU2 fEV4Y189cFRFfGhuTzBNT2R9UlR7YCRVaDhsMTZmMThuSEdLdElQM3l8fVleLQ0KPiBRSWB1JHc8 TWZNK0VXKWtgPA0KPiB6c3F7RERzKns9ZDMrNzE8Z1BvQUhDb1phO2JwPl5GSnJ4LQ0KPiB6KXU5 aHZwVSVBdGc9VD5BQj4pcEJIdiZyUzN9eWhxDQo+IHpjQSY0NkZSMV5FUXFmIXFlRjN3JClJNmQk aSVnTGdHTThPJlkkdyVoREg9cXpjP15lTTtLNmtYTy0NCj4gfmZ8YjRXU0wNCj4gellfP14jcWd9 ZjE5WSZSS3p9JG1tOUF3QGx6eCZPMGBRMj89PCtzYWghbWt4ek5VVl5hanJiQmklTmloNnANCj4g S2psSQ0KPiB6a1d9UzRXYUZkfV4temxUSGJ6R344QnohJkN0RVJnZlhUN3tve2kyeyt7dVYmQ3F1 TzI3YDdyb2sha3VWa1ktdGkNCj4gejB2UjNjV2F4eWkqOCkqWEFVWUtLPnI9NnZpJUJsPy0NCj4g aiF8KHF4UUc1Z0tzTmpRPD5LaUBlaTApKCglKChoViR3Wg0KPiB6QCV6bVojSyYoTWZUe05yeTlg WHRfLQ0KPiBIM1hoeEBjcU1QUFNAR1glKDs5KmZQOCFmeH54Xzl7OWg5VzlvY1AkR1Z9DQo+IHoq QHlVbkREKnNXTk4qQkdNPmBwVShtdyN0RTB2Vmc4TVNkMjBjRnJ8akV7Q1Fib2VQRXdrNHNjbCVy DQo+IG1oYWBaWVANCj4gemIkYlp8UXBhRGtFXzV2S29YQlA3UG1tb2pfIStVQ1cySjNneFdjd2dt dzY0TTV5eS0NCj4gYjRWUGxgdTx5K18kY1pebQ0KPiB6dm8xQVgoSGpvUEFRSDQ2O0Q7UzBuSHRY IWFBNXVqYFpOKV4/RiFZa0FDX25XY3syQEFRSiFsdCU8I1FBOWQNCj4gRD10DQo+IHo5MUppWjtS VGV7bz9eTTVVPj12XkJTR21OZ0U2c35PM1hoT3ZTZCFXXnE3czFLUkkoIyo1STR+MWZDNSYzDQo+ IF5HOU8NCj4gejl5T3lPKilxMW9yKWd0dGh0WEB7eXI/c29JWiN8WG01TCR1MXxteiQ0fUIyTjJT aFZaPnkxU3BhNnVJWE9lcw0KPiBfWQ0KPiB6eVdEcTJwdHpONTk5aU1IQ1NaUG5iVT54Tz9UfmJn NDR2PlA5V21hUnVLe1glK2l0Z2tfKUVrKEJuQnRxDQo+IGJyZH1lDQo+IHpualN6KGVENlJnIWE+ IWVXJnRUT2ZSSHt4cHlAMmc9eDhVeVdVY1RobGwhIy0NCj4gQmNoIVEhSz1+WiY8WU98TFZBSVcN Cj4gemomP0V4b0RTQWJSRlM2e1psUSswcExPS0lpZGdJKys9fHdJUk8ydmNqcVNFXlReZV93eEhj JF92ITVAX2Axdw0KPiBMKA0KPiB6Rmp+RDFNMjZAez5ORVFFdUtwQ2BNPnR8TnhLWH5pa301ZFZ0 aUpCP0E9VzVeQ1NpUUVsYzV1eW0jaiZxKQ0KPiBCTjU9DQo+IHpxX3w/YWM5aXIqX3V7JE9ZKmpg OGxGd29jRH5TQkU5SzE1M0hzRSRaZDNlPEJFNEQqR3otUHRydUI4MSh5dWB3Uw0KPiB6b2c0NTU2 MUdpWHR7dSZhIXojIysja01ldWQwYVlCUDZ9MXBvRXdtSGZTTndnUGZaeWc/UFEzPzZSK19BVA0K PiB6NVlLDQo+IHpyODVEZXFuISskRmd9KSZWdURnJShGN2dqbm85USgyb3g1N1JibGJZIUt4PHNK U2Z1Tk0pUjdqYkZBYGVCMXowDQo+IHwNCj4geiZyKGAyS15xY0tkRXJ6QVEydUFXSH4pc1ZIe1hV ZmdXZndreTdeJXpkXiQzfiNDWF5vIUxUQSR7LQ0KPiB+JmxIKm53bQ0KPiB6KW9oQkhZTFYmV0Qy c1Jtcl9AdkJaYko5PTk9NkZqaytXcEU5SCVNWG5AdSNoMEpIbHJFVzdUREZrKA0KPiArb0tRYysh DQo+IHoxXktSVW5qeztgPTdEJGZ5PT8hP1oxTj1ebSlIP31payYyNWFlclZSQTZZQyRpPndmN3lH SDh4YFlnQmh2MTBODQo+IDgNCj4gemhMU3Mxa1N3SWVhd3RuTSMxWnx1bj9KeWdpKCRJSTIlMXw+ Zj9EfkNMMUN6c2MofnokbX5tTzZSO014X2h4DQo+IFEzXw0KPiB6XmYjMmFtK2hGTF5KMDlvbFZQ JVhlaDxfOCV5VHxSSX5ucTFCfTtyOzhubT08JX1BR1BifT1gJmhRSExKKE4NCj4gNEp3DQo+IHpw SXJOZklQRWIwTEkpej5JN0A+PyFTQGU+P2pvIVZtQF9gdyR1SnI3OVpjYFRvWF5vdGhSNEYoNGxL NGFIISRhfg0KPiB6VmxIPlV7Mj4/Zi0NCj4gPVdSQWV9IzdnViFuO0FHR05hNVhlWXlEJXYraD5o ZEgwNG9lWjd1cU97VTEmRiFGTzN2Jlo9DQo+IHp7d241ajd0WDhROyRuVW9GcHAxNzBFJiRCT1U/ JUg3LQ0KPiBzUH5JfTxQYFU4I0tlMitZTXFkZlY4azRZWXtgWFEoRlENCj4genFuIStzdEdSKmNl YndaMXczOHRlK218eUQpPmhSdlFrVzE+UnNMI0s8dH4hMCZUTExncSRXMmZlPkpEdg0KPiBoMG1r bg0KPiB6UTZwcExMZHZUNyU7bDZhUlg4aXJUZzY5e0lJLUFWaW5JeGVofD5iLUZAQH5YUXBgVG0k ayUoLXYpQnkxN3ZyT3kNCj4gejN7aUZMXj54ZzA9cEglXnh1d2kxZ1peeSlUMCVgJUBRalhqR0VD VjFUVnd6c0lIb0gyWTYxWipgS3Q8XmNsYg0KPiB0ew0KPiB6UC1GdkhYWGgtDQo+IFQkbH1YOWlX SCttT1E0N0VieHxkJTgzN28xdHR8KSNBanR9cm59SDtaazlJT2w4dD5rfjxvQHc0DQo+IHpCY2gh UVE2OWJqMUMpMFMwYzBxVEB6RzkoR3pJLWJrLVhMaUdCSU4rYDxFJFRBO0FpdGxaTnJwUEtGOGdD eHpiUQ0KPiB6NUctN3RBWU1QP3g/KTAyWihCeDNJfmg5UlhAMFZVY2V0RmFyP2pAN1AxWklRTzsm OH5tWXooUl8tDQo+IGx9VV5YTj12DQo+IHpGUFlnJSkjOWwmVFRDMT4yc1khUm9lWjZEeSs/S3x0 dldKcEglTnZyV24hQHFvZVQ+SjtTNWNaM1ozdHdvDQo+IGVaN3UNCj4gemN3eDJgIWZnNCVZX0g3 bm5DKjRBVjdzcWw2QXhoVjZ0Y0s8cUFAeiEkPFBUbXJLJlNRODIheF9BVERtTw0KPiB4ZGR7Qw0K PiB6Q0xfKXEtDQo+IGI9clI7WFU2KUl+ZnZaPSE0b2E7djVUI1FrZHcmYz94bTxIZWg9NiQ+e2RF b1RYKThPVTZlIzg5TCNXDQo+IHppRiN3SkZlSHNBQ3d6Z2tkO294TSFmKFgqWGVVRjtHRXJTOXNH Y3NVWm4/eEdaITRWVjE3SkRCU0k3IXFBJmlmDQo+IDkNCj4gekdFNVRJc1o4entSel5mUzhSOUY5 PThINFBnZjY+WUY2PXJ8KiE0fHRyYDVUP3ExI2tBNnpCVioyNHdCMmt+U2J8DQo+IHpwWSl9RDhm blF2PzdGVC0NCj4gQmZ6QmNtYzNjYHVkZV53a1R4Uzw1eTRwcWVjMCtZN3ZzUDNLQUVEamxTalVK ckdtV2UNCj4gelhGKEA+YkJ4I0otSStXO2lnbTl6K2JWZjNTfE0peyRYRk48SihQdiV6QG9tYmA8 eCkrQEx7PUpyZy0NCj4gaD5FMF9ueg0KPiB6JHY+TldQdFN7ZVVwVCFfLTlCSyVKey0NCj4gSUN0 RHtHZTJWTiVSS0BKfTdoMnpjcCN2VDFUV1c/ckM5JiZ+cWZ4WGUhDQo+IHpQUkUlVFZJMXVJTWok KkY7bUdqS2EhZCNsSkhVaFBDamgoPlBKIXNZeCFDPj9LVXB6ZzNDfkZoPCVoOE1mdX0NCj4gKD8N Cj4gek9IIz9qUHYmZldqayZmeTJQaCFhIThwODtLbWhxaGkwPitOUHxoNmdpKGUqYkJeJG9mKGw/ SHxhSik2RFlPNWsNCj4gMg0KPiB6Xn07ZDBlZXBhcjJiY21hKjRJNTg+UVFKa1JLSTtRSDFCcWAy NDJQankqR1l+bkxpO0ZXQDNSVF5kMGhkdyoNCj4gZVBIDQo+IHoxRjw4KEREPmdTVFQ8fnBzKEh8 U1NaRChMRUdfeVlGMyQmSS1UdXhhPygtZXgmKzk0YG1UKiFNOz5GUEQtDQo+IDN3X2QNCj4gemRE RDwlXlYmaWZaNnNETHJnMm56SVh8cGBkQ29zZFBtaXpaWXxEUkopKj9GaShXK0tVUmQ7QXJVejJw ZVlCajYNCj4gNg0KPiB6T1JDeH1PRWlWN091TnRkOCQ9aU4kPnZOeWhgJmAzZWBpNU4yP0M9RSlU UjNsTSFKWlhXSlRYQVBGYmohJUYlDQo+IFo5DQo+IHpOXyVLO042fXUrVmo8a1Rfa19JTHpzdHJi LTsxcHorb2RMTG5ePT0lZmlVYVAtcloteikwWi0NCj4geD8rTW5fT0AoJnkNCj4gejkqMnw2ekhP JCg/aiVXcnVoRzF5M3E4eVFmUTJmc3JxNXg/OTY1ckZ2PlZMOSYxMXFAQHphdGQrV2EycC0NCj4g KjxsPA0KPiB6RFowN0I5Zj4lbCk3P2d5T1U5Sno1antNeGNMRUVvSzxSeUNZP1ZVUyhUOUd8JF5p d2BtQiFzeHUqZ0okUzlADQo+IHI4DQo+IHotDQo+IFhsZnR4KndvfCY/e0doWnp1XldPflM/P2p6 QnFyJmwrJmAwQmFaMlI1JjZWV3hlOV5CQHp0OT1MYWI2UFlqDQo+IH5DDQo+IHpLYW19Nz8hSEBe MHBkemJJY0swRTgxMChkOShvajVTdCt5JTx4JTt9MmdMPntCQGEjeWI5S2JsZVNtQExLNQ0KPiBU MkYNCj4gelk2QVVYZC09bTFwQClHZDxjWDt6cWFaNzQwJCZQPkUzKExlRjlDSEZKdyRjcW0tDQo+ IGtPWEs5VjlocGBPQU8tTTxCUQ0KPiB6YGRBfXhgYDVePm1JdEd+di0wbGIhQitfdSFRenBtX1NW fG8xe3xuMzU0Vj47Jj1Hb29KN0V4UmVqdCF7YDwyWEgNCj4gel5aLT1NRS1RQ1ptNkxfaShqR3xC OT1ibns/O19pSiFsYT9yUiR7UXgtM0dxVGw5IUZ7WVU9d3NMaVp0aU43NE9CDQo+IHpUJDlgYF91 N21FPV8+a3JAd0ZaUj8qMmRJJkUlI0wqNGFsVk8/JU5qZXViTnY3a0FtI15ZUC1Zai1wLQ0KPiAy Kyk7ankNCj4gekJIdiVqLSh+YXFUSytDOXFEMEdnPU1sMzZRTThabj4pSVgxcD0tDQo+IENOPilQ IWQ8PWZsS2NpX2BjRG9oIWVZbnp8Qg0KPiB6d3NqUDMxOHV2PnNAZ0U5Q3VDLQ0KPiA+RyklbCtU MmZUcjNidGZsezVzX2RyYj18ZzNwNkteQXQmNU9sKndzYyZMKyhuDQo+IHopU09KVSYpSS0NCj4g RGNIdiRoN0dEXmo/Xzx1e2s8KExAM1gqYm1JRFM/bDY/fFZAT1R8dTViUWFZU2lsek0kVGpYcXQN Cj4gemhuIW4rbyNGbGwrfjQyNjhGQzdMOWRiVD5JT0o1fV9hTmZtIThIQGwwYkorY0RufFM+emt5 U0lfYHJXeno5aE8NCj4gSw0KPiB6IzF9Q2J2K1RvcyYlKjtkejc2PEs7bVN1RFNLQEw4SkE8PHp6 RkFwPTJiSH5ySnQ/PzhlPGI5NTBeUm15eA0KPiBGK0NRDQo+IHppbU03JjFYcDZjR0NzOXItDQo+ IG5vRWdwUG1iRytDYHFjTHNRbCM9ITg9clEpbnNUJSk8cXpoRUdIfEVxb2ZuaV5LV3gNCj4gemlg fUpSeT1LdnNwZWhWP29TcTZKSCZNdmpqQ1N7c3t9Z3M0PzhTSUtSPGc7OEAwdFI1ZWxIZ3thSVht PENEdnw+DQo+IHpXIVpQM3EpYj9ydmM3SUVTOVkoUTFiO0JyK0BxTSZvYHp4Tm97S1NZekdPRDF6 JEFzZXlDazhjdT1rX0RRKQ0KPiArWD0NCj4gekdofUBeUDdpUSp7fndaViNPQmo0NUVkN3stDQo+ IHdiQzJlamRYUVRuQGVGI2QjaTt4VjxURF5UPGpJOXlIOT08PiNFPQ0KPiB6aDx9UT89Zm42MStx bzs7K1phRGhHMXpTfT1xZSNHX00xbTltViRxYXArQ3lNKVJ0ZEBeNmdVZ3wzYysNCj4gNjhyKHZr DQo+IHprc2N5PnQ9eCV8WGkpQUcxRF97JXh8c2pUJkFZdHxaQUgmWSZPezdaTCs5JnxePEczbU14 KEYmMzJPX24NCj4gdkptTkYNCj4gempLYiVXOUArTkI/e3BnbmUlNTR9enQ2WEEtDQo+IERBZTFJ cGVFd3dwK3s+Y0BpVj5BI2soNzd1aCEja3lvcjRZXnI+Yg0KPiB6emhZIVE0ejV8XmkrcVdacj5x JWpYOFImTDVvc3ImVUlnTX5zLQ0KPiBXZXZDSmNFUGt2Tk4+TEw8bWJydmQzbnhDKEd4DQo+IHpq cTRee1RYMjA1bW9xZUw9JUFzNGhofXMwUmJuS2dIPXdVMkVfcTsjUVp7aW0wbG5vTTVQZUpBQztr YTZsOQ0KPiB1bWYNCj4genp7M3FrOGlYTm5HQz19Zl5zdWFMQShKI1BuPjVaSEN2N1cjVzZOZkkw c2JVfVNCN3MhY3VufTY/bVltKUVnMA0KPiBAZg0KPiB6bkQ+UGl2SiZQb3loKmBeQXBjRnFlY3t0 WUpjLQ0KPiAlYERwQjI+JjRgfnRTaGFIQGN6OUp9ZXdoRmxaJUJjSz5BfDhTDQo+IHo9R1JEMmo5 Y1g1KzUkNztSTXUmZiRqQTM3dyVFKTdsRVl0fnNCQztKJj02VWszWUVrNUkzPHpsIzYmNzk7S0lL Kw0KPiB6c0dgPz00bjxpfjxLV3VwPTdhT3tadlNVOGJOTkE3eVZaWG5eUipTQGhaRmBxSUUoT1dA R1M8akQ1ZCoNCj4gck5Mc3RsDQo+IHpSVmgwJFNIZGFPJmdyNVJXTEpCeWM/K0h6byE+Wk96Qm1F KiQjVEk4PWJ8RlQzNEc1RUNjdyt0dTk4MFENCj4gTm19cUANCj4geiE8Vl8oRjJ0dT11dmBmJWsk QEN3YWdCISpQWEA0PzAkem1IQzg5a2JmLQ0KPiBPMCp6TUk/OWE0M3A/V087dHg/ZjtqRg0KPiB6 aVZrMmU9TXolI28laUVNM1FQPWdFVDFoSlZmanB+KHhnT09WYTIxVEsmcDlnKDwtDQo+IFVyaz5v VUpYPTRUaFh8eXp4DQo+IHolWlZ9UGpiZF5mKzBHaXglKGd8dVhaeHQlSTZlViNqSVFQU147REBO dzsrZ01sJGJ4RiElYF89bGtkM2UtDQo+IEg8YikNCj4gekh7YHNDLQ0KPiB8eWo/Zz0jdGQ/Wlda Sit3Q35NRERRVUE7MmtGZVA3SEFXNSFYKn5PKmxAdDkqXylvU1BVb3A4NURZUA0KPiB6TiR1ZStu LQ0KPiA1PFRFPHxgOCZMZHV0QX5VQXBKVz18dkhPJUdGMSE4Tk1TXysjVXV3dVNXcmJ9U35jUl90 WlVUPDtKDQo+IHo+PDAmczV6V3RXZ0MyQDlHOHJ0eUhSUnR5UjAxYmU4eih8eCVuaCRWY3dQOV5f JlEtDQo+ID5OZEUoOUI5ezAkbzVRaz8NCj4gemQzdWIrXzBTNVNOVzE3em5KNVBLak0hTD9AOy0N Cj4geH1OJVVLZGZ7RCpiO3Y2Z0pTR2pNNCRePlN6RzY0cWc3TDlTNQ0KPiB6IWItaVRXUUQkQ1ZW Z2x2cSZ4Y1RTcEEoM1BHVklsRW1Fa1FAaWFIRF4+c3VqLQ0KPiBRXklXPispSihMYD1yQEA8LVhS DQo+IHp4LQ0KPiB5SFNxVmloNTxPandSVlVCRT1CSjFaVHFfaVlESm5YKlhYPTNKI3h6cV5nRDk9 VFk5eHFwVCpvVlkqPWBXeg0KPiBZDQo+IHpwKUlpNGEpeH5JTypndHMjMVRAeHZoWjV+YmohUmdj SiVTMU4oeXRQczd7XygoUE4mMlo0PyhYcH5vek41ZmROTQ0KPiB6JXwpYmttTTlLLQ0KPiBwYUN1 QVI5eyt4ITA9ZUByJHl2XnQ2MXpkNEsoNWVCRlVjTVVJaThaT25tQl4ye007VFc5a2dMDQo+IHo0 UGhBOGhEQ1FtJCM7UD5zNDJTNGlCTyo/SlUlSVlmIyFoMExKTFpoOXheWW1TLQ0KPiBaP3RQQDRF VEclWDJMWD1LNTcNCj4gemdOSldrPm0yQTMjVGg0U2gyQmo7N0BOM2A7KlpSQ0d0al9VRSQ/IVJT IWg/KCV4XzF5ZERyTj8raipgT00NCj4gcGpVYw0KPiB6MmVURyVxeChibnNVMUJCVVNqMEM4JHwz cmJyNT1rUUV0cmJqTEJ4cU5ILQ0KPiA/Sm43NyR1MWwqVl4jdkVkZDxIblJRDQo+IHo8XnsmfDNU MWxEbTU4WjU7eSNxMyglbGNASFRUczw0LUpPdkxSTHwwaDFqM0pnKlJfdWs2Y08+SkliK1pqc3Zm Iw0KPiB6OEgtKFEoYWskOSZieGdtMEFZVXtzKzIhU3M/PiluZmYoUn5xdXN2Oyt0d1BsK3tlSSUt RVQxRmtRO005Vl9zcysNCj4gejBYT0RMak0+ZVl7Y2NQdlc0XzBqRTtwdWBHNTBYJDJ7JmQxVmB3 SlNLSjNPVUt9YEkhRClXaSR1Z3ttNUZBDQo+IFd4eg0KPiB6QnhiO09rJW5ZMWcpSVl2N3dkeXk1 YGYjTHE0fXRKc3o3JmF6TEk0SCpuSnhwYl8qMk9LN2NaJFc0Ym58PzFyP0wNCj4genUjTjY+M3hB UDxmdW02QWp8VGp3YDhZMkhtblRYTFBYeENFbzNtWTlvYEdyVCRLfjdTRGxSXypsX0JwKF4NCj4g Vys9aw0KPiB6WWBGSCZfS3U/TShlQy0NCj4gfTJzZHZCYkExVH16fU9mak4wWVFmK1kwO3Vmcykh P00yeT09ekheUlhFWTwlOXFFI2JpDQo+IHopZWJAWWZmOTRPP3xsY35ocnF7Z3dVPStoaFFfRH53 SWtmVEV3Q09aQzJ2RTZANnJhfSFENDhnTmlwMWRIYA0KPiBmUUkNCj4gejVNWEd+OUVNR1dWYX1P aVpVa2olPjxgWk51LQ0KPiBPYXxCKDd8TD99TSZ2Zlkocj0/cT84aXlVUz82V0x8Mm85WV9GYg0K PiB6ezMpYDRQbE0yWUYmeSt1SDVEcz04VC1kaTZTJi1mSWFKeTxHTk5gMUgqWC0NCj4gSzkzMnQm V1Y0KF9UMjZkM0Btbm5UDQo+IHo7ZnBjJmxxPyk7Vns1a3dRUWswdnNmK3BmNDE1RXljOVI9PEJF Wk84NTxWZXs9IUlfZCZtZFlyMzIwIWU0REZBDQo+IHINCj4gelBaZDxDaWNVaiVwWnpCKlUxPE1O TDFIWmItDQo+IFM8UHo2UyFXJGJxTHFueEs4PzAkalFjYTk8SHJOTChWayg/IVlocA0KPiB6Y3I/ U3shOHNnejwxWXQpMFJ9bGEhdlNqeyh0SChafDFZa21hSmA3QGJ6SlNaSHNrc291NTZAZkNNP2E/ Wj5SLWoNCj4gelhYQlUhREZ6N3ghLXNicUo+T1k/SW8kPSRSaypnfTtze149ckpvUW4yc2t5XmJY am80QH1KazBkaXIqamBCeUJTDQo+IHpnOC1hdHcjeUJfbGJpQzxmWTUjbjRFZEclOUZSfm82bjAr WGpERDR7LQ0KPiBSe0FITWJFZTY4fXBtSHVGYnBzTEN+d0MNCj4gejk2dDJWMSslSDUrOHE0Mnkz S0IxczlnIT1OdjMjTW5XRm5xV1U5U0pIMG9oPDZ4PG9Wc2tZZENKaV5CdA0KPiBZOFNlWA0KPiB6 dWt4e3xfSHlefUJ8Z3JubyNhMExrZElUJDtaS1Q+TmN2cFZVTD9QRUVZdDllPkp2dWBwTVp4Q28w SExadjQ2ZA0KPiBRDQo+IHphcm85dDdefHJjJVdBNCNmRCNWPkowUGQzcXNQcGpMWE9zejhTNjxC V3ZTcmMxeF9LWld3PSkyeClheVV4DQo+IFZHU1cNCj4gejV8PX4xYEkhRztjN2g/YlZiT256MW9Z XmsxLVNSMHtfTEsmZiR6ZmhpaGJ8elhKMlA/U3N5TVBKSl5tIWxaVzUrDQo+IHo3YEE+UDk2UlZa QTBDMl5iQm1DOypRfXM0JloqdHRLOT14dE84bW13Q08yWChCaEY2cmg4T1lDYkAyUw0KPiBvSDcj em4NCj4gejc7dlVjM2lsMF80Ykoxa0ljbX1GaSpUR1ZycDw7ejFEM3g1ZW1WIyZ6KXZzWiRFUnA8 eTJsKEAxSW5wJilET2lgDQo+IHpLYSN0Q2ltP254O2Y/ZW9UMFdJUCRJO2lwbSVRRn51UG5lRmpP JTNnWVFwYXFhQWxHcCgwbDcpbiU9ZXw3fjgNCj4gPVMNCj4gem9mejl+MHteKUsmY1FUZnRhVFpF Wnt7WEZkcVY4Zyp8IUUwdzh1ZGdjOGYzVk1kMDF0Zys5eTZgc1BnZEw2Z0p8DQo+IHp7NW0wV2VJ ZjsxUy0NCj4gSzZHdSlEOUlpI3dVTk5UMUVgaX13dz9SaXxXUmJ7JD09Pm8kMWleYVIjTENfMFck e3EjQUsNCj4gelZRP1k/cUs/e0thXnFiKmdHZnZuYGZ1ZGRVZ0hnTzlvaHVHUSl1a0cpP3R1OV84 MEQ8Qk0weihQYzRiUGgNCj4gfWkqPQ0KPiB6XjJpdnpTazdwWjxFcitUbjE2cHYlfShxZkRETnNZ Sj0pb0ghMmdCdWs3T0BGX0JoVWVkanF4TFFBJm9wSVkNCj4gNGBQDQo+IHpJUmheZjZvI2d8Q195 WnEwK04/Uk8qO1REYn1iVHFnOUR4cjtPJS01elQqfi0NCj4gbVlJeHE9NFljc2QhN354SnlkTUkN Cj4gem85OEtzQ28hXyYmWGZCfiVvbHlwdExiOCkqRE8xeyUpRURzV1dIRThjSjRxWWM1a1ZQJG82 TzUmOVYjTQ0KPiBIJjRgZA0KPiB6RiYhKTxSK1M1U1RadmlkQ1Q0VWxLJTRJPE5FfUx2QSVtVX43 UStjKT00am1kRXs5ayFxWGBEOSVESmgjKWNqDQo+IEh0DQo+IHpOQzhqTipNdUpXeVB5SXJoezsl NitxTUYhX183NCtYP0pvYlZ5VV53P1BfdHAwNmhaNHAkajt5TnYhWEY1DQo+IDV6JCQNCj4genc5 NihDRURsMDBTPk1lWSh9fj5lWkJ1Y308eGMjQ0NeO1ErJEx9THglWlRqWXtNS1AmOXZ9e2ROS352 X18pMQ0KPiBJKw0KPiB6KTt+MmVAekwhUXxNM1pCVTdXOG4tDQo+IG88QVpJSylnPm4mNnxnV0pN fT5FWE4xM3BYSk18XihFSCVVaz5Qez05I3dADQo+IHpFRThPWjFZOWMxNEdfaVYwcEZXQFZLd3Em elRwIXw2NXdpSDBMYEd7MjI8eXA5N0lLXmI2NWRKbCVOcTJWDQo+IE1rXk8NCj4gemVIfWV+eTJ0 Zi10dj98RnRSOVpgJmZJak9rNXk7aT5RZnBPayVsfCl4bmU1MmFpQWpgPndPZjgjdXwmMHkzS0Yo DQo+IHo5eTl6U08mYmhhI0taN1c8PUJTeVhaKC0NCj4gNkdAd1NXUyZNaXYkWjE2ZGImTl57XmJi SFBlITA0UFNTQ01fJXJuQGANCj4gekI9QTRuS0crbUhZV25XemRsejd9aj1UXnt7YillajAjc05W emxsPDUlcFlOVy0NCj4gaHBxZF5acmg+NVY1ezBmZCFtTg0KPiB6aTJvSGhpUCVsaV8lVGQjcDVC WFImWHt1TUVGWCF3OH1rRkNjMkFAPXplZWpQKE9BWmxRKDNpQUBMYGdlRF8NCj4gSkA0DQo+IHor UGBKPHsoPisoQkt6bHNYQ2EmKXpCPTlALQ0KPiAjRWs2VTlLcTZAJGRmcGpEMV5Qb3hOb2I3SEg7 ZiVTblJOZUpiPUMNCj4gejVQbHtyaS0NCj4gJXpMbnhCR2FRZERtRCthTXZKSj4haGlmKWh0MGJS WGNHTTJubExkayRzV0NOSWZ+Nl4/fUUpbm9JeA0KPiB6NG5UZzFlQkJoUnJBSnxQRVVkZ3xgdEQr bzxGSSlUYFdEb01RSTI8S3BgWEo4JmNCNDY0Y3hHOG89Plp3dQ0KPiBPPDJ7DQo+IHpMfGYrTE4j YmQ5N05AUUdqMmA2TFljOF54Mz0yJGtnPH0yI0VvMjlDSDZTKmJBS3gkdW07KSF2Z0R9NEltc30N Cj4gWjANCj4gekdAaW5YIzl8RFBuYTNOUEZjZ1VzI0s0KXF2LQ0KPiBwK3BTb3lveXtYbXw+TDkk JG9oT2JVPVRybVJOMWlyPX5AQDB7Kw0KPiB6VXFnX3x1YiV9SlRkeEUoZTdDSylBbiVeMWFYTWYw d1RhUUVQbzROMiVub2N6R2MkbipYKlVfYSZ4Vw0KPiBgIThjPlhYDQo+IHpPRzxZNSV4TEUhNmco dW5VVF5SJSomaVpaX2kwRk5FPFRaWGdxTkdlZGI1TzNuX3cwS3hoWlJnblF0WXUNCj4gfEhJcV4N Cj4gemhqWE51O0ZXVnhQTTY3dGhERlR8bkw4blVuOEZ4bCkrTGYzR1ZnKUN5TUtVXiV6aWotUTN6 bGtIbHItOztieElkDQo+IHpqTl8jTXlYWFA1ezl6TVMqdzVuIXVuKEsqM1ZYT1khek1ATSo4d31l IW1MaktLNGN6O2A3MX5WJW57VA0KPiBAJXZ+SG0NCj4gejE7RSU9TmhCeyZ6JTJeK2tvZzUrb1Uk ZmhfU29ifCNRN241Mm9DfnA9KldaSUtBT3hpaUJ7cGMmTTlwUw0KPiBqeyFiKg0KPiB6cWl5YFdu Vj1ZPGpofmtgOTxKPXZ7YmtydyRKeGZqQWdeciNubERMaUYqU0trLXRDYCooUSpnQVk9RmJRJXp1 c34NCj4gejU5NEdBOU1lRCF7bS0NCj4gQ35aP0VaciFlUTwyZmg3c0BPdSMqTTkmS1c4TERJQSRe PEk7USlNKEg5WktrSXIoX3luKA0KPiB6R2VLSlNCMiZHYXNWJlNOZz5DYVE0emp5VWxnKVFLXjZA UENTNFpaeDQjXj9gUHNjfm8pbWkjRDNgJW5OLQ0KPiBNfGBKDQo+IHpjTy0NCj4gMVJUVmtRVF82 UkpqSUtvUWtuYk84b14/U3t3MVpEKmE/QmlsbE1sOVQmblAlUGhyTjA5WGhrPVNAODtvb2ANCj4g endfLQ0KPiAwUjlvQGU1TDF8JEhgfSNQJVBuP1BhJDBDZGZjRm08YGYmdnBMbzF1U2Y4XkpPYng4 K3sqV29Rejdfc0pyYQ0KPiB6IVdtZW5ZQWdFIT9NUEppMHJXRUYjVDtTKD52MEh3XnREYFU+IWNk IVdTOSV6YGFEMDh6VTFjUGspUn13eQ0KPiBNNTdpDQo+IHpAMjk8THROVDltaGFmdE4pajFEQkEz YztDP2FrJG0kNE5yVXhJSUF0cTxqIX5PWC04U2RKe0M/IUk0Z0V0UiNGSQ0KPiB6TFpzSF9VaEBw OUVlVyZTZ3hlKEhYaTBkdEZYN2pha2NqOEN6MkcxVmBuayl7elZ1Xz88diN6TEpmcjY+OGZESXIN Cj4gemR1fFpRSFEkN3FNezhubjUxbGk2JWAhbFdwVXdVcXszeW8/bXpXPnRkTUpHbiVvVSQyc3Ba SH1OdFI4DQo+IDdJPyRnWg0KPiB6azkpTWlTMlloPHBANV4+RjdwZmcyI0hEdjtSNTNFV3NueV9h NW5CYE09I0dgITF1O3xySHc7Y1YpYmpKcX12DQo+IFJiDQo+IHo7PmBRS1ctWUtMUHFBQWwwNWBG NWV+Zy0NCj4gMWxsd251I358KTsjQzFQe2ZXKFB4VjE+dE1xNG02Zk1ESyt0SWRZRT0NCj4genBu SFJeVlF3QUowWSE4SWlzbElHJGkwZGY1ZHYqNkhGcTxYbnFRbkNMXyRyQXA9anthJV56Z0ZHKEpt OEFJQj0NCj4gKw0KPiB6MmpkTUAjdXNvJCorSjRiKz5BKD9tX2FeRUAlTDt6dXxKYVJKRmRAPjFG fjtTMnRjJj1uI2pAPURQVDNIDQo+IE5USSZEDQo+IHoqKUtxQE51RU9fKjslWnkmZHQoVm8wbVhH Q1Y+XjQ5RkJFdVdMJVFrMThBTSVRLQ0KPiA2a1IjcmdzdWw2aiE/TzNacGcNCj4gemBNPz02eCNw bCE3aE0oKE1TWHg9JXNHSWNMS0t6UGQoQUo8NXMpbyVPX1FkRCh0ent4OTtXNVZAWmFeTnsNCj4g VHxaVg0KPiB6RzVJXys2M0x3R3BqKWh8QGpfYFJfUUV8dCZlSX0hdHozMylVaXYzbGFMMUE5Vyk1 UEoyNlhMbkI2RCFRQTxPfQ0KPiBeDQo+IHpGa0MhMXhEcXp9UHx5WX5gKHdIUng9YnhDQnllRGZg MnlCWT4xMVF+LQ0KPiB2ZWVoZnBHamY5JDJ0T2JGPX1oQUc2MkENCj4geiRRIWIqRU5aZ2c1UUZ4 O244enRUIUp+fVBLYmg/aDJ9RzYpMSEwUFlUanFLUHZKMntCe1JIR0d7eTNvKiEmbjdSDQo+IHpl VE1maGdLOzF2WFVlYnlLNFpxTVApbn1JdFBkaX5DRzxBTWl0WmBGQVA1SEBoQEBqODlQVlN8biVP eA0KPiAyOEhKI04NCj4gej1pN3tQa2RlekRjc1FpbEJicDNpYy0NCj4gU21KWTR7Wn1lMmpHa1Br alMqN3ltd3N7JTY+NEt5NFo3PTV9KFJXQH5abg0KPiB6cWlqezRJNnpeYGtLeCFwdm5FbWMzTjVg M3Iyfm1VdGd1aXl8R3pEajw1eXhXMlNCb3lWZ3U8WjFmVyVuZVc5DQo+IHJVDQo+IHp3VTlHazBx Zy0NCj4gZ0RTJSk3bWomUG5tZ35uOWA1TExtTH57dU94T2UhMlpXRkFLNkpNVmpXfUFUZ25QOUJz e0Jqb0wNCj4gelJNZG92N21BTFVhbEEjXlYpSlBeZzlwUCNXa3s1XzJGTHEoQUQlTG8lN30wejY0 MkFlX2I5fm97KjFLdQ0KPiA8Q0VVTQ0KPiB6Q2tLTjFeSmh1SF5TKTsqP2YybGhAUFhLdjBwMVZs Pz4jdzMrTkI5Q3VINWdIMFFlOyRZTWowOStkQEMrDQo+IDFjVXxYDQo+IHpWVytDVE47djNocDh6 dlprQHFTRyNZYzx4JGI5bDdBK3RTPENQeUZMbUlNNmc7a21BK0Y+XnA+bnBzMCgoDQo+IHhLQzkN Cj4gelQ/cnZmQ0B4T0dtTFAlKGdYUnxXd3x0S1VgZXotDQo+IFlWVlF6Zz94RGklRzhhUW9za19X I05FZCR9TXlaNSZxOH1uJA0KPiB6SiRiRktwd19pciFwRlUpNkQrfnhaRW9AfTtpWF5HZD4rcH1I OWFASDBTQ2khbFAhK0dIKkBjMjMmSHVZTFENCj4gY0d8DQo+IHo5QVgpNTc/MldkJlpiMG9GMkJe e1c/QXdIUVpoYW0/bntRTGpsQ3t7cWsmLQ0KPiBlYnIyNHdlRmZHamx0aj9PNVpfO3INCj4gel4+ SERIJSRtKGlhflVZJSN+Nm5QQ0w3KnlSR2A8fnJKJkJGVVo8d1NNPlNyfDdXQFZBQTwlUDNDSg0K PiBOJjJwQDhWcQ0KPiB6JEhKWV41N0dofHttVWFvNjNybjFibWkkTXlwQGM5Nm42S15RfWkmSFV3 UiVoOEFUPTk9M0xaN2Q8Kw0KPiBNXnQjbF5kDQo+IHombSZTUlRGUkVVQ00wYWV3MklvWD0rRHRF ZSpCfHtDd2JuZjgoPDtRSX5DJlVINzdnKl5IMyVxJFlRDQo+IHF4JDFnOVYNCj4gem4jbFl6Tjhv ZkFhZVlQSUZJPlNTJklnMW80PylBNFYpRl9OM1Q0WTdwYnl5Yz4tZDRKXl9ZSn5gJmZEfE8ySjNJ DQo+IHpgMj9Tb2UkWFkkbFNRZzEkY3VneCVFN3xvM0BQbVU9JU1Ua1pAdjd7THhCT19qfnc5cjNo cDNWaysqWQ0KPiBDI352U3cNCj4gencpfUJoSyZUODU2N008cmE/Sk49aC0NCj4gMUQ3IT1oWGRV TkdmKFpwdCRkSXdtfnFSPn1PezxmQUhMVDcmN2MrZksoSg0KPiB6XyUhZ0s9e21Bd2U4TlhuNkJN eGNVPXZYV1hoTUowX0pJPXA1K04pUioyRGZHS2xzMUJzMFNQeC0NCj4gOTBSTnNKOShBDQo+IHpv QUZoXikyWEIzKlhiQX0tDQo+IHZJMDtEfmhlbWtLVX5aWnc4PHxwP2BaaU49OUIqOT58TntnfnpS VTJTVG1tPU19JCsNCj4gelhaSiZEd2JfVT9POzk3az4rKEgkQF9NaD9qem5PN143O3xuZzRkNzB0 ZjN2bklvVGZoSnxUOShePm9QaDNIDQo+IGJwOw0KPiB6VkF8SXtGUENmTWR0ZUgrbSV5bkE7cGw1 JDc8aTBqUHNGIWVMcHwtDQo+IHFCamZ5PjxHSXsmTWlkaiNAK2YmMGo+T2x6DQo+IHp2KFlnOzlZ ezx8Zip2S0R1TCQpJE9MVHlidGglPTMoKjBzNmZFe2UwPFBJNzlecVRTMUA/QjwxUWRjOCtndWFS DQo+IE4NCj4gekdXPGNVKlJqWHlHRG1AS0xOak8pbmJWJk5qZXp0JiZYXyhLVSpLTW45ZXdReHNa YDkqTTlTa14kDQo+ICZhcmpLUilHdQ0KPiB6LTFeI1dYczZfdXFmamc8RjwySW41KDk1LU4ofDBw YllsYCFeeXJLNGZKUkAlRn54b0RwVU9ybWQzLQ0KPiBEUkBzO0dxDQo+IHpyfkhwd1VsbFpNY0RK PnB5NFp5QTUlSkE/dldRO35KUTBoZUY+bkpCT3s+XiRAPEdQejFoYiZZNjc+bg0KPiA3MCgpS14N Cj4genoyXl8zcXAjd2E3SmZUM2RnI2FyZCZyc2lJSSg8U2MjbENgN1hIKTJZRnAtbntnIUl7dUpv UWFoZVRoNGRvWEx5DQo+IHpZZU90bVVPQ304VFhRTDtkbmxHRjtReVhpQHdzYSk9Jjk2I0FqdytM RmZCLQ0KPiAxKWhpNDhVSUhEMV95dUp4SERGNXgNCj4genVkKiQkeSUwMV5FcUomc2MoQGlrP2tM ekd3ZGZwTWJkRHxoQ3xKV1FTXz9lRTdSVWBqU3xIZlBFNl5waSQNCj4gVWBtOw0KPiB6UkYrUnw7 YDMjQ1khQ2VMR0M2PmJRPFZrdzxePj48ZWRjLQ0KPiA/VkNYSFdQPGxqd2FUYXJWUGRuY0NiXzhV RD81cG9iDQo+IHpfWTlVcz5oJjZfN21YQUA5aClVSjNhVXczdEBsfVUzbCEyYCViJmYldUtFYzZe Z25fPnkrX05Se3VwNykNCj4gcSVAPm8NCj4gemF4VCY7QzVCPkAkT1VjWFhUU3Zpc1FgS008UUl0 T1lreSgrbSZXQGZIS3V0Uz9MKHMjezNuN25RRCNnDQo+IE1mfkQ8IQ0KPiB6d1JBezVMVVVCOU1g KjUoUCFheWVTQ1N1fUA7fS1wYU1OM2dwZnx8MkRneWxrQistDQo+IG8jbTZqQUVEbEk4U1JHUCpG DQo+IHpxTythNlJ5eWxObWZaUCtOQWRoQHM4X2Z+TD0wUHRyMCtmbjB+YXU5YCQmcjFObXZXWTts V18kY0F1ZWlhDQo+IHhkR0gNCj4geipaTE0yaiMpWUpeTXtKTylfK05nN0BPRG4/V0JteV5JQ1Ql TWE7PS0NCj4gWkIyQH1GdWRMYVNoO0QwX2kpUnRIK2x+Ug0KPiB6e3h7ZCVJXlRPVSkmRk1wdHoz KT1eZDFScHtsZ1gldn12VUd7M2tyJEleNnNoZXFoMyEwS1ZtVHQtDQo+IExwVzhoZEZgDQo+IHpg TyRxQCtEaEkzaCphSTIpUFFfWmN3ejRNbUBfenE7I01Del98dEdRcXFoIXAxb0VCflo4YVBkUn4/ Wg0KPiArYC16dTUNCj4gejlma2BFbUhgIVF2PHM3LUp0RElgRHpvVkxaSFpiT3lwc1VXR2xTcStJ NjNoJHgoYGU5JHMoe1FZPStFbkY0ez1ODQo+IHoxTE1fYjBLWiFNSUxveVVxbGQ/UyEreV5aSkZw TDh7M3VoJjJXYGlFUD8reEV2dUp4KF5gTys/RXBDKSVOMT4NCj4gMGUNCj4gekJ0SmdvZTtnLTBw RCsxMVE3bE9qPG1JRll2VHstY0lvWFhrXnZvY3J4SV5NbkkpdS1jS3lrWXN5NFppP3RLXz88DQo+ IHpNcWRKIzlAPl5BP19sIyMqX3haRHlwSyhzZnAjPWNRUShCNCt7aENoPCVoNn1WQi0NCj4gRUNW QSRiSWQ9QSMqQTt8YmENCj4gemJDdVhkKmIzZjxeSSN2I20tQXA8bkBpKzktJXFhdHZDdHB6ZnB1 JnF1PUZ9MF5nM1lhYi0NCj4gPmM9ZlkzYEhVcU8xYA0KPiB6PDVUYGVtdE5qYG10T3R8cF9lfkc9 O2U8UGRUR1EjKENlQWQ+dX5xd0k9N3Z9YnR3VS0NCj4gPHV0QGx6fjRPcD5QMjZ+DQo+IHpWR0pa cjUlJSZRI0RwTEEjdFpTUj9fPFYpQj93ITdhTkQ0eWNjKUtJNVZreVVMT0JRdjd4d0VBQ3ohR2EN Cj4gYDYxNHQNCj4gemc4PSU+QWJnQUNBaVJxY19kRXQyPlAqfl5XO3FCa0kkKFkjWmQlfCRkVmxL dEc8dzZ7WE1kVSUmTzxuDQo+IHVUTWViRg0KPiB6ajFRJUxxQX1mKnNlODEyP0AwMzxJV0V9T19x d3xMRWV3ZzFqcm1AVFhLQSErdytiSGJsfTZHPnczK2BBDQo+IFpSUzA/DQo+IHpaUlUkbTlge0Vg b0IxUTgmSE5HNFdeUDNFUWlvRW5KQD05NXpRR3kkUk4rVDc4JjZMI2pVWCQ/aj8rJg0KPiAxT2Nt fjwNCj4genlATjxCUVNMTV9kTVV2S2lEZ3t3MipKd18hKF41ZCNeVFJEXkJvd31mSE9jPUo2Pj9A YEhzMlNkayYNCj4gND4oPnZNKw0KPiB6LQ0KPiBEaHRtX3hBfHxQYD1GJVd4RWZXKzFsNWQjUD1U WCNVNCRDQTNiZEFLU2w3NEt5fGFVSj41Z05NMyVLK3kNCj4gQGRleQ0KPiB6Tyh1WWFrNlFtMGlY RUMzWUZLZEg3aiR0KztLflluXmdAb09HKUpPNStQVE1CcDR5UTZ3aCRrIWE+bn03RQ0KPiBLYVNq DQo+IHpyNUVXRElMM1B6I3J4PCpJMlFjajFMY1B+ZDkzYGpvJV9SMiVJODR2ODEqfTBwIV51S3J7 PDN5aEpEQFImUzA+DQo+IE0NCj4gejxvUGdZeEdDJW8hM3c9eE1TPUI8bUBkT3ZDT0Q0NzMxZTR4 WndIUXpAOWh8UV5yZ1dWWH5NfCkNCj4gNTRMa3MrYX10Vg0KPiB6e3NrWlcxRElPfXtPUVQ/VSZG TWRnKWZHPGclOFByVm5RRjw3eXA/ITF+QnNQPm98JFF5ekhhPHd9c3h9YA0KPiBTPFQmDQo+IHpS bkkmOWxzfiQ/PW5YOTdHITteQ1VmVnUhMzNZWV4oPylOWUtZOzc3JWN3bis+dU5aOTFJLQ0KPiBV KjBWe056IUF5OTINCj4gejVxdSY2U2JIKHl1aVNRZUE+SSg7eipOQyVOVEpHRmUkbzJZKWw+KkRA PDU9WVNVR2RWe2pqZE1faSl+SiYNCj4gJX5sNQ0KPiB6OCE+THshRz19WXdMYFBWUW5OVTReZCY1 UG05R1FSOGt0Q00yJVFeKXArPjJiZGQ9Z1F3Z1E+ckYqRw0KPiBCKHA/RUc0DQo+IHpCWV5fWHBs UVdUPlRfcVBlNmY4Mk8rMmZnaFgwZH0ldzxyUHB6TWl2YTA0Qmx6WGA4a0psOHJqQkgoajdRVDlw DQo+IFgNCj4gek5CfGFqXn4yLSR5T0A4bDN5LUQpcE1OT3V0aSQ2Y0s2dnwocWtuays7S0tXLV9Z Xi0NCj4gMT87WE9NaCRuTm16VHc3SQ0KPiB6XkNSMyN3ZX03c2BuSV83NUhwTVpiXmhZZz4yYUFg LQ0KPiB1I3NFejZlKmEyZThIbWFKVX59OGE/N35ETHZsI0xvKXU7DQo+IHpoeHlAczBfYSk8ZX1F aW1eeXROeDBSa0skdzJ8WjNKfSRnRj0jfDZzSkZHQntUSkcpMEcwKTAkVkp9QVdGdDt6DQo+IG8N Cj4gem5Xd2deJk5ZM3FxU0VXQz97SjY3Vn0qX1UhKF5Vd05ucWNGaG1mWjUwM0RfRFI8OGNHPDh5 Wik1YHc4DQo+IE5ZcEhIYA0KPiB6YXNMJWclcGs4cFIkdmVJbihxK3p3SmFpRlBEc0pNKEJlTVEl dVVBcTZpI2dFQXBpSGtGP289MHV8RXVPJA0KPiBCKF8mDQo+IHpwQjc7fmZNTjswM1laQSlJVStJ alV8ZWpYIWAmRUwyXldXenRPU29hPUBAUG5hTi0NCj4gYlo4VClDYSpOMjl9NyFVU1gNCj4gekE4 TDU1cUopSXZuMlNFZ1ohWGNLNkA4Z0Juc0AwKmVYMDg5Q3FsczxeRFM2MXByR3NKPXJPLQ0KPiBU O2oma08kYWRNNg0KPiB6eFBKb29Gak1sez9tJGpVJTNTbGk/aitZTWwmNW1oZ35BM3RfaU9uUChQ blZKO3N8YzJleyZPaTQyLQ0KPiBOZV8jdG9NDQo+IHpqN0VIWDl7T2FzKkA5WmY7UiRqRlR1Mlgj MlI0P0Jye1JLPm5zVGcrKD4jRk14aj5DTTRQMHF4JHNRPXtsKihJDQo+IHMNCj4gemZjMG0+Mmwz cSRiUUR4XlN6JWgpZ1J3d1IkbHFnTENrM3xvRG1sYE8/NUMyfjN8UHN9THBWYGpyYj5QbF4qXg0K PiBwaw0KPiB6WDBCMF5lUkJASzFKZ1M9akJ7S0E9NUh+dmleXmVmWH19RHszIVczayFAeXdWeVBU NDZuZlZ3NkBUfFNVIQ0KPiBTc2lCDQo+IHpuOEtpZ2p9Snx2PF5XSHNQfSV3bDI8eCV0cFF9N0px aj9ad0VXUk0mI3kpZFNRcWlKZVoyMXR0UzlARjshMg0KPiBNNWYNCj4gekZLb2ApUjRVS15TMjxz Zyo4QHI9MClMVU9gNGp5WTIzRWMxI342bytSPjF1YUlWUGp2YkxvO1FrTTlVPUp8NQ0KPiA0ZA0K PiB6RmJhS3tvPSo5T3Rjdml1N09SfHA0cS0NCj4gfUcmSXUyIXN+PnVPbnl7RHBBJXshV2RrdSFJ WGlOXkw1e2cwTyRMKExODQo+IHo0dyF+QyZtdCpodyUwdHpeJGlmSig7IUhoaE9PUFotDQo+IEd0 dmpMUUFja2tfcHVNQ1NSaThxWjg/KTROcGxTOE5nWiENCj4gempXb0J0MG58OVRZa2shMklRaUxC M1pjJT5KeyVfeEcpZmhFb2JLdyFBOUY2ZEghSDdvQjhNZVZtYF9UPztKbg0KPiByfA0KPiB6NyRO I05FWllIayVzO2AobTU7RDFafk99TnJ1IW5WXipAQz9BaEZJcyFfWW1GNzUtDQo+ICRyNXFlI3k7 PD90a0Ezez1GDQo+IHp5SWt7KSpPT3w4dVBwfWQ3JGx3TXZ5ZnckdV5iXkRNaSEjUmI5dGI8YHxU bUZ2MmFKNE1IYTQoSER2cHcNCj4gd0gpM1QNCj4geiRjQilPSyZFd1VXTG5VclQqQXFTQHFMPEMm d0I4el9zO0E4THclVERvOzRmP2x5PmEjazBNPENMO21jDQo+IEc/d01xcw0KPiB6el81U3xWZXY0 LUpjdEtLPWQldlIkLU1Ecl54SD9hS2Y2PU0pMnBjUnt+Y0J6KWM8dzEtDQo+IHFAY1pVbDlZaFh1 YUtADQo+IHo0KlNDKVhHdlphODRKaXIyJlpecGVpbmxsK2ooKE5DYk9idFRWWT5oPXdqWGFrT3s8 WkhUPjJiQVJnVTQzMT1OKQ0KPiB6VEBiOTdxaFhvMURHeXdCbEtYQig5R3xQRGwxMFo8MilJNytx JnstDQo+IHtxaTNDJFdqIypjdmpySFdsS3VMamh3Wj1TDQo+IHo1fFpfc3hhM20oSFZYVzA+NV4r XiVXQnojNndTQTkwX0doMUNQNlhvaHdMPyVwIWdKdSFEajk9U0Vsaw0KPiBNYntWRmkNCj4gejtN RTY+TTg0dTY2YUhtbjd0ZlZHTFIwdTM7bUdubyFqYWBZeHtmU2dnZ1ViUDUjcUA1TX5FWktBMGYm YA0KPiBCSykwIQ0KPiB6d1U7PFpYTiFnfXJ2LQ0KPiBye3FyKHszUXB4aFh2ZipycWgxbmNGVndg I2xVSmk7TVcqcTliRnFAX2c/MmJWREpuJjFCDQo+IHo9RzdMbF5aQGx2ZihBanBYUHF+K28kbnxR WSU3dUpMTFdvOD17WERIa2hWNXxzUEIlc0RPLQ0KPiA9RTBRYkZNazZuSVANCj4gemNZeHpUJCFU fCMxaCRRJm9XdVNpR2Nodjt3biM3akRlMz1pQmpNTj1eWitBZmooa0RAIUd5dzA2VGomUD5qDQo+ IEw5Pw0KPiB6Zm08eEVLSUwpYE1+ZGNeVXM/XnV4fSh0K2ltTmh8aX1lS3tWMDByJGlmXnJ8emdz OThDXmVTfip4ZExpbU9OTG4NCj4gekU5IWw9MDdmUzk2ZEduKVB0WStwSDxqNlo/WipgZChHOTNS OWZsb1QofHw/YCspPFd1YlgpbCE+RUhNeHsyUEJ2DQo+IHoyVm0oVHt6fmVYKmBlSDk7amlnNHBU aCZ7RV50d2dlNXc4ekE7b0E4cyllO19AX3wmVkZ1Y3szODdXPnB6Ym4NCj4gREUNCj4gem0qKmRw eGtfP0dfTFpiUk47d2JVJXEpKUVkYjdCfEJWWj1WIShpXntSPT8+YCNEWlUwSmUpZjdRVyhncTUN Cj4gOXRBag0KPiB6QlQwYCUwa2lEYVZqYCNETkIobTBObDcwP2BmWl4hKHhzJnpEfHE4ZTZUMExA PVJLN0E9QmJRakNlWn0mTTQNCj4geTQrDQo+IHp6bDg/QDhKfjRWZmZ+ZGJvKnxKQl5laF8hZ1Jw VzV6V2VCX25Cc3Y7UnZPcVJIITV4WnstDQo+IHxHbWFyTExkKyZ3OTQNCj4geiUjaWF+cGVpITJl ISVFS0tSXjd2cEMxTkEjIUowfVFnMGwybn5RQGgybjgwM3hkeDJmQTIrYlJ0fUJuNDEjNQ0KPiA9 ag0KPiB6SURAPW0kZDQwaUZ5VikwVXtxaUhINC0NCj4gc0p5SzRRWVpqaihpKDFAR1JOVTI8ekI/ TTdNJHxUZkNTKWZrOEo2Xz9+DQo+IHo2P1Y4PHpAWWQoKWRnPEghVE4zPD18czVKPWMrX0A4RFZM THV9QlZnMW1JeEdefEckV0RCdm9rR0Q9STANCj4gS2clP2ENCj4genB2YGpnOXl3e14pQmFBMF81 SEAtLUImcnE9R0R7dHhWcHwtDQo+IGJBeWtUX3BTTSlJcEdIcXk5UlMocmVZMnpiQG0zIw0KPiB6 WDstezJwRkM5Z3cpQXFyZD9mKH1uM1J9X3IlQz5Bdld5SEFMLQ0KPiB9c0xtNntMODlVYlFzVip+ b1FZellHcj0xTXFIDQo+IHohY2h7UUY1emVpZ0EkSUZGa2l3KzU+QXpIaEo+PnV5ajtTJDUqQTlo UHtQRiQ3RTQkcjtXWk44QW1JdUx0MGs8Sg0KPiB6dXdLRkAzQndYQGtaX1pQVE9AM2lhR1FrTkNF T3c1VEB2bitARSFeOG1HQ3xaQDBhaWEyX0tVMQ0KPiBWRkAzVkBDZ1piDQo+IHpPU282VUUoeEVQ YUtENXZPTCMhU2dBeUsrQENeeCNnb2g8T0I0TGsmeSVQM0c9IyZXa0JAOVRJRTgkDQo+IDI5TUBl fFANCj4gemdyZy0NCj4gNE47cD0rZDxpRT5JOTArSzYzJndGYXRZXjNTU2FCXzJeVUxQRU1ifDEq R1BEU2dleFNobWF0YUJkSV81KA0KPiB6M2BAOHshYzd1eGsrNDw1WjR6I21hRUY5PE53YGJHZG5D TFVwPXV+Qmd6b1A4YEZscUAlRWtzXz1we2RPVg0KPiAweEdODQo+IHpSbjh4ZUp7biRobURCeVR4 ODZUJFJoaiVebFZ0WlVmQkpgIXskSDU+QD1xaUUrVnU0TXlLRFhGdzt9IVFPaw0KPiBkME4NCj4g elNFUSRacWtFUD17VU19WiZoJE0/ayR5eUtgVUt2R2shfWpwMXhrX2J6a2NLNU8/PUcoVTtVbXl4 P3hPTCMNCj4gJm4lWA0KPiB6JEExMj1lfUFSR1VuJWZjM2pDRDxmMkZgKkRlellje0k4KXZWZmlx cDN8QlItRnNeTzU/IW9se3VEIVNwOyg4TlQNCj4gekFGamFGITxeR2BqbTAkK1MyMzx0eFlwcm4j ZFIwMWAqQSZpPmoxOWI8SH1pJUpoO1o8bnUpNnIqTEFwPmFCYWYlDQo+IHoxemNhcF4kNHpLYTI+ PztDYXp2d0wkNFg7aktWYioqWDZqJWFNantraGllUDI/WU1UfmBZeF9WYXFZJFI1LXgtNQ0KPiB6 WkNyens5cDs+aFlZZVUjeGFRKDIjPGRieDd9d2A8ZUkzXiR4U3ElTDN0VUhWPHk8JCtJUm49V1Qj SXE3IW5GDQo+IG4wDQo+IHpTOCk5IXVCVU13ITFXdGtmNUxWMF5+MFJXeGFRem1qQjYjWFc/WX1j YnItDQo+IEkwPDlaYT1iR1EhVEkqZT0zNFdKOUkNCj4gemR8WSNJbUVsXjBZWkk+UnhXMTAtQXpW LQ0KPiA2Tzh3aGtRUSFuOyZ2U05mcFhXNDlFX0Nrd2RaOUQmJFVIQXUhOH5Xfg0KPiB6Wnt8Nk5Z Q30lMnZjUVhYQDB6Y0FlK2g1bCNOajcrb3UoXyU5PUtMSFJaaExyPShJUkJlNFg/PjhTblUpa0cN Cj4gRWxgDQo+IHo4N1Y1QXdOQjdFN2F6VjFJIWx+I1hFRlh3a1RleFpJVio2Y1UhJWFTYSZBaDNr dHVoK2F7PUhzSUBLdF96Tw0KPiBRaH4NCj4gelExMUU4NGJEYEE2UXE+PHZ7ZE9odjthO007NTRB clJmJjc4TmpfcmdmUiRIRGEoKnY7MSF+TkNIeXR4YTZLRw0KPiBQMA0KPiB6bEVPJkVLbVc1d0oz PyYrPTlOZmlZbk5RXntRQTBAaE9weC0NCj4gVEhWbXRqQW9jJFRJTVdpWStoU2c/Pkd5WllxVmhp DQo+IHpLTU5QejU2KHIwPygrd2hFcFlDYGJ1WEA2eE9VKFFIOChkbFVtOUZudiRuQiRXM2FObXpP a3dAVC0NCj4gVnJlWD5lc18NCj4gendUKWhoKnFlZ2tqWkhPXnZGXlpHKVVkOXl6T0xHcklAblRv T1U8UmhhZj4zc2xeZXF+RXQxUmAyY2pzaCFQPg0KPiBeZw0KPiB6b0JaaWxSbzJ4PG5pYnB0WEBa c0U7SHRYJW4mN3pGbVNCQmQxOCVBbmV6bWpHUyZnJTUkIUFURFFuMTNBDQo+IDU5KTt4DQo+IHpH TT9PMmdrTiQ/diRHS2BNREQ5VmQ/bmhJZHxaVm1nflJyJWEyN2Z0ckAkJTNUQGlrLQ0KPiBhWjIl QWZfOWpLc3t1UzUNCj4gejBqdnFRcENkZm87NERMbi0NCj4gaHZZTlJ7PDsqO0pJMSZlX24jMGdH ZnNXWG1YWSF1RztiNVhyOUh1aDcjayZBMWVwPg0KPiB6dntkU0JZWUBhMm1ObyU/SnxyI3UtDQo+ IEZSb2JsKVZJYikqbnxIRHh1YGhSRDNUKXkmRTlJPFlHI04pQHU8Pz9wJVZqDQo+IHpxKlZwcEYy V1BFM2QrQHpHZU4xQklAfUM7KT0xcW0hJjIlQ2FmUUN4d3VfTUNZSDdoYlA7O1RzcTZ1DQo+IHgq PXRAQCYNCj4gelQ3YUB4aiYhXilNQXxTZVRkJVUobiYzUVBYfFVHUjRkYUBFPm5tRjxjaCojY2g0 RTBneCZnUCVqZ2MNCj4gQHx1NFBnJQ0KPiB6KG96JHdhSEFgbFllWjc9NzIqZSRwYDQ7NWFZSCNr MW5pd1p1NmhEa2AqYEdRMDEhenMpbShGLUMpaHp4XiEmMSENCj4gekYtDQo+IDw/QlJ7QCQqd215 c3VSaVR3NHE2MGxDWUR0b3o4aHF9aTM5dVdgd3dgUkp3YFF0dEpSYlF8VWE1OXZeO21NfQ0KPiB6 cktCOSNDKl4tblBMO3pmPz42fFBPVyFFeHJzbl5rXjVaWjQhXnE5VFAoZzhVez9nTFleNVV7Wk9Q MiUtTHVIfSkNCj4geld1ZH1MZ08jaG9ITy08fVJtSkNAMk0lUGJRenxDc3Brb1BFKk13YFQhZUcm R0Uja3V2b3l3LQ0KPiBCYGExMDtnNm8/Yg0KPiB6ISFeTmhxd09nYVVgPDFIdXlJd2V3eCtUdnhI N1Y4UlpYKWY/RWUqYjM/dypjdml8WDBTK2Zjfj8jRD9tNw0KPiBoKzRlDQo+IHp2TkBjSVg1XnMl SFRWb2J5OSk2Q1YpTyZeb2xpcUAlYmFWV2xpNEZJTE44ZVhqYT92cEwhc3pxS1RvSTJqcHxqDQo+ IHUNCj4gemVwJl4pIzszWU91cypzVENzYkE5NzNrTms5YGR3fjxBfjhnbkBFK2teY0huM29+MEE0 Wil7a3Q9RSg3OzllDQo+IHwzKg0KPiB6WVZYRGQkWFhObWdtenZ+aDQjYVVZbyVXfVJrWWEka3sr JmNieGdrZEFIcmgqTik7OXE2PGlmNmJTa0s1DQo+IHMlbWMlDQo+IHp7JThyVnVNNWAoQk1tbi0N Cj4gR19HJDVIcklxQiU/JntxdGRXez9WWjNIYVRSe1B2UzVSMTdSd154ZHRUZHF8ZyMpSHANCj4g enZhflM3TTh8P05GTGMkU0J9aW9MKW4oe1chPzA5bihKcHxNU2N6WnokOG1fWS1zK0k1TWVIdS0N Cj4gRVFPUjZMaDd5cA0KPiB6OU5KMzdWdWg5QVgjciVkMFAqWil0I3owVmhjO1JlQmM9X3dSPU5L KT9wQ3BlbFNgb2RzKGpOcjQma2FtPT8NCj4ga1FVDQo+IHpwd3peVlBhI3FlaGllNUpWbjx5dGFL OENzZ1IyZjxpT1U1QkhBdyR1YFNVMnckNGIyem09dVZQXjUtDQo+IExUUWozP2ANCj4gendOcVYt KFk4P2BZP2xTTm52dDhmX2szSitYZzd9Tm1aSWc+aCppWSlxME8pZ0B0Skl0KXpaPXhmWWFpdiEj IT0pDQo+IHpAeENZM2VZVld3djMxRU9eRDB3RFlwV1V+PSFGeHk7ZHMmdkFhMnNhOTkhdiMke1Ml ZDBlYzxTSTtheVoNCj4gP0ooKzwNCj4gelVVIVplKX10QHpLWk9IRzkzZFMkamlyc15RSFprMXlR QyFCcTYocW9FTTIoPFc9cFUtDQo+IHZiSEgkKXdzNSk5JWMrPg0KPiB6dkleYTdsRz5hVVk+Qk1v Jl45PTMhPSFZKmp1QUctDQo+ICl1fnckMUtvdUJ1YVlyJllQd15CYzBOMDx6SXQ7fGBXUmFODQo+ IHohQW8mfS0NCj4gVTFHRldraGtGalZ3ZVo+S2F4RDg+TFB5ITMqYylJS2pmb2FPSWBKJWc0M00z NjUqWTBTe2UoXzh8P0wNCj4gekw0IXMtc31GPUBRdE5lNGRVQDhYOVQkLXwjIWE0ZjRUXlVQdC0N Cj4gMHJWMW5PJWxaKSQ8IUVOY3ZkNEJqeEpnYDw1QQ0KPiB6bUU2KCg7PnphTEg3KCZfTHVCbnJu M05iVFJpfnN0ODgkPCh1MGU5TWJDclJaSXQpX1ZtMUZJdTFUV01IWmBHDQo+IGxGDQo+IHpEUE43 ITx7YVBBT0plMks+Ym01Jm1tYEprK21SSj87PmV7QThrUVclUUhEUH5FckNvVTh+OG9NaisNCj4g dXReKVUoVSsNCj4genk5OUxoVXtQYGhmfntVTEo5NzZkamwjO2NtODtSQ3RBVk01KCVRUEorNXZ+ QTtBekBITmp4bz84WENqNHk8bw0KPiBkdw0KPiB6T2x3RTREVDcqWEVQRmgtWENDI0Rzdml7KHpi KXBgUk5FKUJaTUdKenctDQo+ICRPPXtXdiNlJl5ZdiFEODw+ejxRd25WDQo+IHpgdU41R0xQV1RV KGh+JGZIUjJ5UiNgM2AhWEErKW1aJExsTTgxTW8kTyhRfmI3UFglQzEzfT9lRXQ5Xl9gDQo+IEFE UFYNCj4gei1OfEBqJm1LWVFUSExQYC1kJkg3SWZEc2s5OWMmSXVURlowVTtfVWpJRWBjQ0FhcDF0 bms2YmBFWnZzSzVpMCMjDQo+IHo/MzFqUSUzfElDeFd3c2wkUDJ3aSVUU0IhKytMWiFGNzxOTjA3 dWVRPiQ0MGMoWjhqPD9OS2s7Vns4NE4kJn0NCj4gM0cNCj4gel9hJmQ/PEtLR20mI0FWeV4xQlNV OzdoWj5wTGI9XzZJPEttKnktDQo+IG14PCo8TUp3JDhFQmhha0N5dTcpSH1QPjxBeg0KPiB6PWg/ ZnJ7R3Jya3xGIyt3JTJjTm9wTl4keEh+Q3JOdG4jJVFZMmJnPjZiPyFfcDd5YnQlLQ0KPiBSV2xO WGYwRDwmYU9QDQo+IHpaJjs/aSpBblQydz10PFg9e3Y4NFR9V09hY2gxM09gS1NWdnB4JihwcFJF YERTcjZLSXg9aTJkSjZrc15Hd1cNCj4gUF4NCj4gek5qQCRWS0JmJnNLRE4tDQo+IHdBTExHUUtg TExiMHpSfmkpa2Z2V2F3JEBrcTN4M2BVQ3F6QloyJH5BUzNvWVVNNGY4ew0KPiB6eTdsZEFaPCQ7 Z2AlY1QxNn5LaCQoNXR4c3pafWBwQC00dEtDNVMyMih8SW1wU3l+MCF1Pm8+SntsR2JqNF8yPUIN Cj4geitwQUp8RCo0JU1LZjEqeVMyPE57dDAmaU5mWmt8YXlTQjJTZE5Pe1VEVlUxNktybVA8RXZj R0F4aUB2TA0KPiBnblRsOA0KPiB6WTA8TGMoMHIkNVZAdFNaRXI4O1dFZ0F0SDxiWldqMyl7eERT VCRCOXA4QW5leSQmXnxQZDEzTUNyRkYoJQ0KPiBAfUNHDQo+IHpySiZnfEBkd096d2JuR3pzJDxZ NTgqI0MlKWB8fmJiPXQrd01Td3RBXjQ9MEJ8RmgqU21DITAreD4yeQ0KPiA/ezFlTTwNCj4gemYj JXxgK1R4c3hRa20mNUpAY3V5cWRoPjV5I2ZFbU5ERUh7b1FzQGt4S0Q/dXQ9PEdHdjVYNFFaMXEN Cj4gQzdXfUB0Yg0KPiB6KkVZRT1nP3BzJVd7ST4wOSk2YlJHP2omP0dgNHdkRVBGR2BOKChUe3E/ SmYzJTgjRWVxKURud1MmUzVKall+DQo+IFBFDQo+IHpRclZ8OCtCNztGUl5qJVRJI3lFM2tTaEpC QX1eKUJ0d29EX1JIREQwYjBfYEh3b09KfFpHQVl0cGlEODN3eg0KPiBJWXgNCj4gekA1Z3xMKmti Jm45TSZVa0JpY3BOPVpqPnJtOTZhO0w8O3VldEM3ZCp3STw8VlRGYGBlYjVhPlc9UihCZ0INCj4g VWJPNA0KPiB6KypIJHJIeXJTYmhve0dubmVlb3s8KUFjYjMpYWNEZm8qWkFNeHglU0BIb09HJEpJ Y3hsbVpzSkNLbyN8aA0KPiAyPmstDQo+IHppMmN6PS0pY1heeD5OUzRMM3k3bDlyaGpkQTd7c3NX eWlqfjkkTWY9JmA4VS0NCj4gUkMxJlRYQEhkMzhmYmcxMH5CdygNCj4genZJLVBvem0qem08LQ0K PiBTN1JraVlFK2hkR2tAJUM7JV91VEUlbmk/bGNVZmJuVEBtTShVVFVNO2o9aUpZOUZWfipzUQ0K PiB6XnpAYWBLe35kbTEkNTFrOUgpNldVVGFFfVoqNEw9PiZRTio0MUVpfEJ7UThGQD9gVXxSY3V7 U0M3JSpXDQo+IHpFX0t3DQo+IHpSPHVwMlAqaTg9VFliWkxPSFdFVlZXLQ0KPiBkOEU4SDloZ0FN I0tvR2t6MzVtPlVYWVgpNjhuQCpifDJ5Wld+O3QxJGcNCj4gemtFaSswTUVuYilwSF5FflRPdFZX UDkxYmZHZzVKTyo4YihBcFApVjRmYDgwSVRaOFlaVlE4N05QbzsjPTRoDQo+IFR6bw0KPiB6KD44 OXhLVEA2fTZ4Tk1XdEA3fEdQX2hqN1ltdFhLTH5aWE5wcGc0R2UmOHJXPX1SMmUxNGZHck5BKDYN Cj4gPFUqezZUDQo+IHp1SV5LYm08akc/VWwoKnt5QnhrNCtVR0JZenR3dm0xXjtUSGhrOXlBUDJP cWlWe0hMdyRgS017U0lJcVhNDQo+IDMyQD0NCj4gekBtam9EazVuNys4PEYmcyZxbE5zK25LekA3 U2EoPHJMK2kzJj1eMFJ3RlByZlFZQXt7eFFSU0x4fnNNQg0KPiB3Uzh0QA0KPiB6dDQ1Z3xOIWdL MUk7UV44Qz5iQXhaZnk2ejFidUQqQ0M3aiFFZFBJc1F2TEg4K3dwaU1nKl4qNyEqWjlVZT95DQo+ IFl3DQo+IHplSGUoRFdZaE1IK1EhemhOeW5ERzg4eXsoX2pla2tkenlRbis1YFVvdDw5JlBaVDxG ZjhUOSU+akR0QXgNCj4gbyZkWSgNCj4genFHUW5NRlIycmNqa2tgc0xNfUlJdWNOeD5RcStmaz4z WlJWYTMjNTxLakBUUHVpdlF2Yj1rd01NLQ0KPiBOVkdnU00kXg0KPiB6VjIpQUEpIz8xSSsmVkI8 X2IoSTJtLQ0KPiBpeSs9QGVKPytVeXJUS0tsM31kTmxjSGJvYSpoWTlvNzt7JUNOVXByMn5kDQo+ IHo3U3N9fE4zM3EpRUpPb3JWZEBUITY3MkkjX25EKGQ0LQ0KPiAzbXpBNzA8fWhsITNoUWNJX0ZZ V3IjWktXZSQ7Q0Btd28NCj4gend6bF5DXl9RbzFuZFIoc1BSXylrak8pTGE5fWolbTNHYClvVktV czBuQCpOSzlIU3xIPzZ+KmlsUDVwS2s0DQo+IHY2MQ0KPiB6K2tfdW9LaWMrSFQ2cGtDY1c9YU5g OVFnMzhiKEY1eXcmJFdzblN1b2d+Y2FwYj1uYzhqekluR3RvTVpJQA0KPiAjXko/DQo+IHplQVpn RWBHYz99OHtwQHBFPyRwdDRwRWdxdDUxQCNSaCFyNVcrfTs3R2xxU2AyUHNpNEZPSDVwZClqaTEp aDhjVA0KPiB6JldLQW9XUkg3M0QqWE9PNzZtPz0oVD59IUV6NlBGeHlQWE1AI18pUlp7VShfZUtg JT1QYFMxeVNYSjQNCj4gO25ZNUtQDQo+IHohUm9xfXJ1eGNfbWB1YSttKnNVMHZwMllTUy0NCj4g K0lteyp+dyopdyklRk8mPSQ2dzRtTkQlT1E0TE1FPiV8c01TYkMNCj4genA5dVpsOHYmS1JSVUt6 N210SkBfJUNZdmkjbCFRRChjN0l8TzhAeGlofkMwdClzKE1rayNMcisja0VUTV93DQo+IHljcQ0K PiB6WF8+THw+fXpeISlTXmBEJXlCeytud28xYFRDZyZHOzE7b1RfK2FnayR3dkY9WjhDWkNXS2Q1 MXU+TikjbQ0KPiBfSSZfDQo+IHpfODYjPzxvQ3ktDQo+IGUrOVV+RktndEZSaj5lVzA3cTZNVG5C QVVQVH41RTdDaDQqTTJ7eEREfTJ1fWRwJllnZkx+YHANCj4gemQpcEx6TG0lfUdOemYtRk0qVioz RTh0OE9jV0JWSnMtDQo+IDc4b0FUJCt5O1BlVFEjK20oTGVEQUcwX0dVJEd8R1BATw0KPiB6ay1C Y2p5U0xFJkBNLXNeJmpKI1RVM3JqTm1iV3JOYCF+KSQoTVFIVmQjfGZEdl4+VWY0Rl4zZntQWDtt LQ0KPiByNWV2DQo+IHp2K3ZSd1lQPDhuZnRKdSFAbXkxJU57TTd4biVmVUNsVik2aUhjez10NzFO TUdBNzt6KGp3Py0NCj4gK0JCO3h5SCZqPk8NCj4genUmeWZIKmpWM2sxNko4b3RnTnJUcHsxc05S bUZ4YEdafUcxT0xOcj8paGt5d0gtDQo+ICZZMjNHRnJwZW1WTVVnOXlueA0KPiB6SHtvdVRedDBx OStaUnYrYWAlUG1NVjlGS2VtRnY2K24pPHFiYERZSlE8ZWJrZFc9c2srfmhlRHJIQWUNCj4gKFNj YTVnDQo+IHpAaVRISTZaektXVDg9Klo8S31icmdZPD5iKTJlTjU9T152IzU3KXRQQl59ckY3Mnxn eVgzdigmeWcyNnxJcDMpDQo+ICgNCj4gekBoczBCZX0xbVFEKn4qbUBlQUlYLQ0KPiB5QU1ueHde RWJzaillSFg+ZUolblg4UEBnMGlZOSp3YEdqSX14Z0NFMU41Xg0KPiB6M2NSXzZPTHNJT1dse0It cilOM2lSX1hlfClIbGZmVyhJN3YqXnFoT2szcEBKPlYtDQo+IGxGZFVxfD1YfmBAVG17IWhJDQo+ IHpxais7UD9FNUk/aUAqY15uUGlVMCRkOHFmYkl2NGsyYWZ0RmxPYnlGbWJxVj4+aVFOM3NzWmIk bzw2VUo+PVVoDQo+IFQNCj4gekIpI3dJazR7Q1g0UUUoNmljRmB8cFFrP30tDQo+IHcjfj5WYDBZ bnJAc0dpXnx1eiN8NVYqPUo5eiFEPHlYfm0+M0FnZg0KPiB6ITJ7RSt6WnhtZWMlPlloVVleZFVq I3R9e2RqYHEtDQo+IFlyJCNiYWhEI2l7WShHU3dIIzhmZjUkJnhRd1l3cUdjRU1kDQo+IHpCK3Uz S1UpQmVhPGZWe1FmNnJxMSg/OXdue2d5JmZiblBpXjBJbVdfbW0xcG1lLQ0KPiA1bHZafV9QKDRt Z35QblhzRzsNCj4gelY8eGApQVF6IzBlRXcxOGdQYkg4KWlHakRWJDVObXtlQ3g+SXEqWSN7dHxO O3w4c0xhVHVvczR0TzAjU2F1Mg0KPiBwbA0KPiB6dFAkRCljMDlaVXtLazFDWTZ2QHVTQzBjWnY7 WHchbXRZIWReQlZOdDNnXzZxMjxyKF5lVXBrXkc5KFdwLQ0KPiBoRFdLDQo+IHowJXgxbVVNfldV b148STVsZVhlfHRhaGF4dG1fe0FKK0I/Zj44dmJtYkkhJW53eFBDfjQ0a1lecShfRQ0KPiAmaX5T QD0NCj4gejEpUl9JX0w2ZzR5SGVzUmFtUF9GZVQoZUxJWk1tJkZsVCFDUkVmOHF0O2NtQGdsaDVO OSowYDckR05rQz4kUw0KPiBLQw0KPiB6WF5EOCtTV0NgKmIxY0Y/P0A4QDImRmRjQD0oP2AtDQo+ IFJVO0ZtNndjYW5UP0c5P3RkKDY7IWomV3FWdiVzdzY/PUU5DQo+IHpuPU97S1dvY0wxdjNYLStF Vz9vd1lwSHRJOHs9ci0NCj4gI29EaCRuZCFEe1JhTUlzdFckWn1mKHZLNHpaY0QxT2YlMFoNCj4g elUkU1VFd3hqQDR8R3MlMG5XVX0tDQo+IEJjYE9OdUtLYlY0JUdIR0o/R2VVJjcwUmspPW9editO TW9ePEh4fntpITgwSQ0KPiB6SCRSO1FFbiUhPndya2Z+Uil3K2tQKH5XYElkZkhsdUJ4JXs+YEZw IWdyO2p2eSl9bVY8fDJ8MXdCeEU2dUF8aA0KPiBwDQo+IHoleHtSKSpTbXM+dVIwOW5YOFYhTztH eGRZS19qejZxMGtXaVR8NT1zJElRVzUjbiVpQUlHMFNGeTFXPT9IDQo+IDNXbGwNCj4geiNBamVk P0YjJWsmVzVIOV96Tkl+Z0ErOVA0YiVZc0B6S0hsPEVEcl5WNTBuOzQ/TkJYMlV1JT53aFQNCj4g d1ZZX0JTag0KPiB6OHR6RDtqald5e1orKE5WdEZ4O3ReTzJnZjcpciVWVCVje2hLRFNBRlVSe2dC SWVpPFdsO2sqX3pFO31vdntGKTYNCj4gejtIMTlTVDs9Wm10a090QnhESVolYEwjN3dIfGY1STlE S0NKU3IpRnV2cHRwbytwd3tqMXE7fURKYnxva3VXRD4NCj4gPQ0KPiB6ang9RmM5I1IpenlpISRK azQ7fDliKEpmemVTJXhyeEM2bTFyPl9mM1I5ITx8eERII21aO0BPbldpWEUpQ356byUNCj4genN8 aX5ndSlEUH4qbihYa18xTUBAamNwZmw1PDsrKzg3aWZpTis4aEUhZmtuY0p2a1UkdjxpRmJ1dVlJ YT5sKHMxDQo+IHp0cFNkISVLQXljamc2NkRPS29HTTk9bWxhVFgzY1ZtaFFKU013K1c/bjQzPmhx LQ0KPiA8ZzE2WllDUkgjVlZLKmsheDINCj4gekYzZGF0eldfdENuaGxsUSlwQlZ0bUB7SEgkN2pL KzsxJDlBeTVNK2gtDQo+IGQoVUAhZXUhbD1HUnM+dGQ9MWk7V2sjKw0KPiB6YVBhMmh3R3JGbz5n JDhETm5xNn5aazF0aUglQ0M4QEo1UlpKWl9QQz8wO1YhWS0NCj4gfmErayNHV012TlZ6R0pDS2Nh DQo+IHpPZG5jU0VZJjRNOyN8e1F6Y0pXU3hlaSQ+dEN+cmslSFhPPExscjUzTzRpcS0NCj4gOSVa QnZ7enFDK0V8T1BieUI8cDwNCj4gekpTSmh1ekZnSGNSclF0NDA0VV5YIzdQaH5RQmBCWkl3aThj XkpRdmtXQ05oI2t9X0Fxbn5RMlVCVTEoLQ0KPiBadkM+cg0KPiB6MU5gSCF8NUR6cFJIaGBeNXsh NGdiR3tIRSFBTjNnbHFEeFk4cXw0WjRRblV0IXxGaUotNiRXSUF+KXBZIVpKQGwNCj4gejdVO1Bk TEcwNUdVV2tvOWorTFhMI185Ky1lK2dYSGk4JC0NCj4gU21QI1BkKW1JbjdlXys+TmQzKDZuU05o bDQxZkJDPg0KPiB6IT9JVlZva01IWj1CSG5Wd2gmaSEoUmFmJEh2QVUrV0xTP1E1S3w2KVY2X2k+ Pz8lS1dkJFlOPWkpI3BpDQo+IHV2UHRiDQo+IHoyWl5STVBTNyNmUHktSVBuPnNETS0NCj4gSE9A dnNIcUlQamJiJjB0M1NZMUhPPUhpPzFCO2dQY1J9SEIyazdjWlg0STQNCj4gent8SV9jUH1qT2lP Y1RRVFk2UTRHLQ0KPiBnMkZzZzZlOVpoJUhyOVdsQUF1blZoREFfezRFNmMzJX0pI1J7PmwxaDxW ag0KPiB6SXFyVGlxUEQmVDhseGUrc3NRKDN1OyVJMENSZipFQSFVS2JzSz9FS21iT1U+STYqU1VT KThuU2xlRGY/d3tvQg0KPiBpDQo+IHphOFghcG80N0ViNFY/THxtYkUlb2NIPmRDUWJQUWlIMzdw NHdHUm0xWlU0I3dYOWNjPnhKS2paeUwqOUMNCj4gSD1XK2MNCj4geitNOC14bnEwND0/bzt+enJy eDMtDQo+IFJkKSV8PlpKWTYoTClueCFgMTJSQDIkMGlDfSVDdEttazw+VEVIWnRtI0pRQQ0KPiB6 I012dTU1UnFuaVdwZXxYIVNPcTg/RmhTbnpiVTxANHh+TlIpOUUtDQo+IHhiP2dpcFNBfk9EKkhQ O1M9VERwJUVVWn0+DQo+IHpTc2gkbHgzYW1pOE91UEEhIU5tMU8kOHxpeCsjKyVAXzc2T2VAPEAh X2ZvUTI8RklgKXI/fE9zYiN2dWZZDQo+ID45T0INCj4gek9YX2I8UEpTX1VLKE1xWGpEd2g5YjV1 KWkqOWZvJlppdk8xcXNtXzhvPVA1ZklnND5qNFMlNzx5dHkoLQ0KPiBmO2J1cw0KPiB6YnF6U1hW eSh5YENvcFJwKlY3dGxXQGs7KiY8KE8qaDUhZH5RKXlXdSQyfjN2K2hsUnowSX43NFRYa2JxVw0K PiBHJVlUDQo+IHoxVz9WXnFRaCVnZjt3OzUwNnNfXiNyOGpEX0N+YUpSe3pnNiM9aEtFVF8kP24m SVF4QG5mZDhoPEwoYkxpJQ0KPiA8SnsNCj4gejtCaHh+SVFSQVgmJXt7PzhNazl0e35LJE1Ifkck P3VAPTVQTDV2Y1U+SEhvKU9kVnowSipvPVReR1U4DQo+IDNPUHt7KQ0KPiB6SFIjaUlfaitvYTR2 YmhvU19vWDUlYHVxbkVUbzZ0TnlLeTF6KlRQK2NTe2tRa05DRUxmOSRoTyRNfTVZUT0NCj4gYjVM DQo+IHpSTy0NCj4gJWd5T0xme0A4VHtrQDYzV2lKYU8pWGQlYmskQmpAZE9qODl5KDk2IXokeUck azdJPGo3ej45bzFpYVUhbiMNCj4gek9NbW1odXE2em9CZ15BQm4wfU8tDQo+IFAlPjkjSTxnfGh6 dGBFO1AyYmFFKTE5Qj9zUW5VOSF0T1J1eE9VRyZJJFo5LQ0KPiB6dyk7eWBOOFIlcW4/b0R3IXE5 SjMmfGNfTVRGQHVnKVFHe01vfCNudEg2Y3U4a3RwQW1uYVE2YHt8dFJfDQo+IFFfK3ViDQo+IHps JCoraiUla1RnQipSaSh2flJwSlFoQyYwekoxNWBDUXRMLQ0KPiBkVHtNKCgzcmxnXnFKKzxHV31g d29qKWRCM08mNjENCj4gej18STFnUmRVVz02QFY8QlVzMU5HMiZaVnd1VUp4RTZlP1hiVSpkfEVF KHcodGx3UW1EYEROREBpO3MNCj4gdSpPQlhMTA0KPiB6RDhtISgzbD1ZU29RSi0tZlQlZFRtKE8k ViF+TldDUzIrKVRycUoydC0NCj4gdFNtbT14bGZJPz0yfkd3eiY2KWlWQj8jDQo+IHpIdlJsVUN1 YDgpPj4pI2sxJX5JR2tVUWVVeXBib0plOUVYI29PO15ucEZIRXQoUHkxflBWbjNAPVp6Z1Z7YA0K PiB+dzINCj4gejdmaFVWO3A4YihGUGIpZSM+RiEpbktrPjslUHpsUyZYc2N1PUZLaypFeDJtb3FF Q0gjYW5Ye2MjVS0NCj4gVzclRjNAXg0KPiB6ZSRCUGxVNE8la3BRJV87eHc1TGRYNFVIMngtfmJ8 dVdley0NCj4geTFCVX05OWclMSFeVEBheUpfPlN4MXBVV1Zjd249DQo+IHpzez1UVCFxKDlAYnJg QTQhOTdwKCg9fHt2WGd7eypNKDZzcG0+YT1RPndQZk9YVXNqX0BLSDtsS0lPVFlecXINCj4gX0wN Cj4gekdnKnFiIz5MTCVlJXk2WmQoVWVCS1dDaiVPUzFacl8yeX5+YGJWdD5xen42P1B4WiFUX0Em QSNJOS0NCj4gV0g5I0dHZw0KPiB6YG80bkYmSTd+dEpkckltVlIwMDNBZHQjYSM5PVlVcVNUNGhq I2dLdV5PRHU3bmNrPj13USN0bm9ffWdqRz0NCj4gS3hWDQo+IHpjP1I7Uz9zP1ZLeTU5Vjs/bWhM dFhSQSVZVyVZUF5pc1c1KHk4Qmh2Q2JKYzZwVyZ4Pz5WRUlia25SY3cNCj4gXylFOGMNCj4gej83 Qio+d0BrKUR5PyMyTWZ0fD9jaHdZcSlmMlYqeVJkVVQoVVN8QWt6cEFxQSRJRnwpUmxJMDFZVDNM Uzw2DQo+IE1UVA0KPiB6fDlhYSNoZGF9X3lBYnUzRmpLdyMtY0dge2J6Y09JcnVUIXFzbmpOeHRV WHV2Jl9sfWRHcXQ7eWp4PHJzWkJFQTYNCj4gem8+b2dFRVV1MnluSjI8ZVVGQVNibVB3aEsmUll8 VUo+NEhleXx7UFZ0X2UpR0w7YypPMXpFb0YrREI9ag0KPiBAdX5FaQ0KPiB6MmZhKVFRMktHKilD Skp6d3ZNezFqPVJXcHR+PiU7Tjh6eEJkVldPXj9gKF54TyEjd0NZV245Xzx4PWkzDQo+IHIjdUg4 DQo+IHpvX0NjRGk+PCtTXnJ1dSF0dXVkcnNuVF50QnhPY055YDs4IXElPGEzJihIQClaKFdQQGp2 UHROMmUpdHNXaWo1DQo+IF4NCj4geklyUC1KNTFjRXJQOHY5MHZabkkkNWMkSz9TPiZrV3VhRVl0 P0NBO1JfLWY8amA1PC1pYXZndDdqO3xoeihIPmt+DQo+IHokVVU+aS0hN0BTajwrdFVgSHJfWDZf WTFAZk9oJWMhZWBAP3RjfmxqUXwoNktsIzgkYGpyLVFEdC0/N2orSzx7fA0KPiB6XmpZKG5lLQ0K PiAjT1NPenk/RyRDTiNaWUd8dUxzRmhSb1RlNUNTbXoyfk5OeVNPfk9eJGpmX3h1WXJhOGpwT0Nw aHJADQo+IHo9fV9zQyZ8LUxkM3UqbWhrTWBRUzRPbjt5S1U4d01hOXdxbl5KS0p4N1N5LSFDYHRZ PHN8akR0Vi0NCj4gazZQbUc1ND4NCj4geigxZ2Q4bWI2K24hajdxTiQ3N2poenAySCZlI2x4PCkw flN6WlRAa05vM3B3MGwhTjRGd2VBVCtaRHFCb2wxDQo+IEhxVA0KPiB6SGctTEwxQiZSJTA2Ujlv T2ZVe1lwLQ0KPiB0JlFxTWxjY1pAcilqQ20rfX1waWI8ITZ7cG5rVDU1VHopKVJHPStCP1pEDQo+ IHpaYFRyZHdtPDh5RTFweCF6fU9GVVNjYGdGRTBKa2E8ODF4KDlEO05oPFh+RChkWVh+cmQkTSU+ cGxkaWhgPGU2DQo+IDQNCj4genE/QjZwdFRCMWZ1RnYyWklyQmhhd2s8dDkjRV5NfGwxa2ZXdEBK YFhsVE9GZj5gOWZNYiFDSHxVUylrem1VPw0KPiAjMQ0KPiB6bnRhMEFgUkRPVEJlcE90NGRvWkZa TWB2LQ0KPiBtTzxScFM4djw0PHRZPjdnOHBaK0tpPjgzbk5QSktqcHZ+KmNKKyhTDQo+IHpvTj99 fnxNU1I+UlhhT2M+N1BHJnRgbFc0Nig0RnJvJTJzI1ltaHY0Q0gqeVREKCE0O3pWfVduVnx3cE4N Cj4gZDZJbFkNCj4gejRhIWo9Kjhxe0h4VVBwIUpjKz9pNTQqbUh0PiVaRER2fGxla21OZE8lc097 WE1SanhDSXgwZXI9NHckUVQNCj4gYzVybw0KPiB6eyZgUlIlWl8pM205OSE9a0g7TjNifWMmTGFK YGR5WWB5c3hrMmp+R1pCQHRsKTJVYXxBRVJsZUx4LX5OK1VEJGANCj4gemN0KTUxeGp4fWJXc0NJ WnlZbEQxSVZ1MG1pVHFuMHl+O1UmWWFPYHBTYU9tMlVhNGhxKCh4TykkK2lofmcwNzwNCj4gRA0K PiB6byVSS0s3Ni1NUiVBP3twUCtzcVpDUkQqR0UrfHtiLQ0KPiA8R0R6XiRxTHJ1P3A/RmdfQXk+ YkY3TlJnU15ueVl1KlZ+DQo+IHpeaXB0N0FYbWFAJiMwUEB5UWJCO3hCI09ZakA/IXhqbiYkenQ4 UiNVZE1mTD9hbmthOFo8c0hZantUUnkNCj4gd24pYTkNCj4gelpJdjhqK2ZXVkAxNzMyIzc9S3Eq KHRZbnQjLQ0KPiBVXlU8KTNYVStpJkhJNEN0dnJSYDF4azk3K2RRRUsmMkB2eShLPQ0KPiB6VDN4 RThUaX47K2xhcXJvIUIwTz1pUCtQLQ0KPiBXYkc8WE0qS1hLbnVgM0Y4Yj5efEZYdmw3eXZhUD1E UHcoOFZHSW5IDQo+IHo9VHZ6b0t2fHd1bWMxWlI+aFpScj5NTVU2VEttbDZaejFgNGhQQF53andA NUVhS3tGdnl+R2l0anVDWmkNCj4gb1I4NWwNCj4gendHUEo/VWhoaSVPVjAocDZJfDZ2eHsqaHs3 fFRRU3BLOXgqVnhoODVUXn5rMV9QO3M7JXQhZ3VVQWhCXilVDQo+IDxPSQ0KPiB6NnwkUTFZUWNx YjlxSTlVd3ZeZj4+KTJjfW56R0x4UFd9PXk8Q1R1cDE7Q08wNm4hbzlia1Y8ezdeYHA3VEQNCj4g PjB4DQo+IHo8NHBYbTdMS2xlQmBuTDR2QFc/fiNfeEdqPV80aHJlJHstDQo+IGJiO0BLM18raW83 KGxae3R6UjhiPVpGfGM+MUgoKF4NCj4gejc0XkdPJiljJkU9YEhoNGZhNG00UXBBS3x7Y3ZhNXZH PW0yPmx+aF48K2x8NGJrbHFHZ2BeWUxGUzcqb2pISg0KPiA/dQ0KPiB6ZTRUI29WTEduPHZlSUdY JVViTkBHXy0NCj4gUnYrakV3ZFlVdihkRXxwYjFDekplMGBKe3hWK2g/aD9xRD01XyEzV3NDDQo+ IHokckQpQEJTIV4lK0xgeG5zc3d3Wm0mdVNgJUNxOWheVm8/O0NMQz87c2UzcCNuYHREYWBJSk02 eVNHTX1YRg0KPiA9O34NCj4geldseSVMYW5mfnxMZyM2byt5Xz94akw3TktBPEorciFXI0VkZ2te WVZZM2IpK21nIypoRU9uSkRPWFNNKQ0KPiBSUWkrTw0KPiB6Y3Y2QWRiN0w/QEIyQnBWeSZOU2k1 YnAhZTJqTT0oRiNiYFM9KmVWVUUycFBvYW9sUUMmJShYKDVsPmcrKw0KPiA4KWt1DQo+IHpRTSst DQo+IGlvfUMlN3FoWEd+bEZPJENWUVNfN2RnS1k9VWlYX2FFJnIlfXk7YWFHb3NgcClQZVcrYEdR PXB8N2BJI34NCj4gem1Lc3xReUp1IVVaKVBScCQqJiZJYXZWWkdhUVg8OV5aUyVwd0dDTCRkT1dY MiVBa3hlTm56V1VXDQo+IFhmK2pyMm19Vw0KPiB6ZUMoPE89V3dUJF9vVlJJQy0NCj4gfUw1XlRx MUwpYkd8UXtrUldmOEIlJX1ZbiQwVXRhZEZxd0VeMj10PDtRdEItQGQtDQo+IHpRaHJmPUBabGtP ZUc2ZjA1Qj13b2RzfjdoX3NLbkBlYFB7eUtqdlVPVWBJaW0/SVo3Uk5LbkJhPEJmdD9IDQo+ICYw V2YNCj4gel9oZzxJU2EpUjclUj8pTD1hfHE3YTN3QzUlRHFyKHFhUGNkdTM0YjxZUj9tOFRsNFNa XiRYWSVSR1kwN1UNCj4gcUdyPg0KPiB6IUlsOT8qTmhaZz8wUEc7UE1UM3lvIWA8YFNUPEpTcnVH VGs4PWAkUGAlMFpucXJ+YSMzQHZybGU+d31SQk9UVg0KPiBBDQo+IHphNSgxRzcjRFc5eCg0R2Y4 R2Z+ZHRNTyVrYiNoLQ0KPiA+Zm9SK3t5S0RZeWAwY0A8PEJZKFh3WCglYW1ue29RMz9IM2sNCj4g emk8VnNGZHZwcXk3OE5YNzsqWV80PGU1e2EmbHIoWWZhUGt3UGZ+R1J7QE98YGNDU1F5Nz41fSok ckFxaCM+Iw0KPiA0MA0KPiB6emN4UTslZGdpM2hxN2R4PiN1ZGVYKGUodSlVQ3FEMz99RTsxP203 NVg9c1R3YWljV1hwSTZFWEpwdClrNGhPDQo+IGV1DQo+IHolakRwLVNtTkorJioqUnMtDQo+IGBZ a2pHdkJEfD9FRTw1KXloYTZIVVk+PWM3S1Vuc2ZTTjdhO2JofHh0X1E3Wmo3JXENCj4gelRgcE55 Z041fWkhRFpNMGZGaFVHUm83ZyZhXnI+azRSVHJNK0xpYiZNYXZsQShvfFFhJWx+Vio7OyVad2sN Cj4gN018aw0KPiB6P0BibzZ2cV49big/e2Y3NyVjRn0kOH57NCVOOHh4ZUZVcVQ4YHRWZVlPZVQw QXNnfGY0Y1JeM2ZWRl9ANjENCj4geHJEDQo+IHp7VDh4NSY/Uk89SE5QRTN0VS0NCj4gZCtMYGhh NWBsdkhHeEcybU9AQHBIaGBKJXE9clchISEhYjI+Tk94K3ZNQVVJdmYNCj4gejR9NVVwWUF9Q0ZS ZWtkV1o9WnFTU3M2P3EpcXBLUnM1eGtpfE1JZjF6UF9sa3UwZCl+ZXd4TzVhfVBzSkx0fHUNCj4g aA0KPiB6WjRrWiQ/OUQoXj1wS2AjY0NpIz16S2NAbTwqbmpacm8pJWlxKj9KNXdGV0d8dGlzMWds KH4rQjl4Ujd0T2wyQQ0KPiBUDQo+IHpDTDhoZDNhRUQ5UG4qVH1rJW1mY2ZkUGtrRGRifk1pWT8k d3lXfCprVHdtd1FERENGdW83cnpaTmNsMQ0KPiBIVUNldzwNCj4gel99cGkzVTByalNpKz02V2I9 aTklMXJSVURhekNgTXotDQo+IEFBdUdNZlUlIUIwP1RGQXtpTkdASlJuZFNtWWlSPGJyVw0KPiB6 dl4wVmEpaXZ3dHstNUB+MjJRVDN5ISslc2lNLQ0KPiBmR283YX5qd3dGakdOO2IqbmklbDlKdiRI ZHNtSGlsWVhBPW0pDQo+IHotUHhKRCpANC1hYVh2Tik0UiU1Qk1IYFY4VVg0bUUydnVzYShpIzts WkJ3Ti0NCj4gYHFHeFNeMWVuJll1YUs8ZVd7ST4NCj4gekR6PjJnfEljJkorO2l7VCsxLQ0KPiAz V0tRakEhX1N9MShiRG5kfmIzWDMqYytUQD1UfGNiSEJYPl8odGxEV0NiXmZxSg0KPiB6S0RUVEIp UkNlV1d8RWcrWTc7ekNVQE4lWjkpJWRiSERBMCl5Y0w4anlqclQ8WVU9dERRTj98RzlpdDZMNA0K PiA3NzR7DQo+IHpBcW98VVliJXBednxUaGgpOzk7VmRRc24lO1J2K3k+PWNaJXBqKUQtDQo+IHhH ViooQWh0I09xQUQhZz1uKUhxR0x5T3UNCj4gemhlc0NhXmVEcT4mQk1yY2sxOyE2REhTUV9pIXZ+ Kj0zISk1NEUwKGR4VCtiPnUpMDV1VzJEc0FoX3V7KEJVDQo+ID5jRg0KPiB6RzFTIzl4UEAlRTtZ VUx7eW0/TjtgNnx6RFhlREhxbyk3eHBldnUyWEB0a2lxT1ZpalBmQGgmSnlYRzkzZA0KPiByfnxo DQo+IHo7I3szS0pOSUNKWTk7KC00bzg+WVprWj0/OTV2cnFHYyE4OWBRJTxgUUc9MSFrbzFmQW4p XkYqelFoYzdiZzR6bQ0KPiB6dGJfZjFGU0EhP3E8Jjx0RSpNJVFlej1ScEtpVGJFPnlfUDwrZkZx WW57JGxUPUBXWSo2NGo9dT0oYEtIJg0KPiBeOz55DQo+IHp6dmdffHdhISNlV3hIOTUpdWZ6Qm5m cEB5TzYhNn5VOFRIUTsyZHtTJnFhO3dRYT5jb2hPfWlqZV9pVSEjNw0KPiBiTTINCj4gemA0LVFO c01BNjJSPzhXZStfbVBLKCR9SjY+JiokQz0/R19KYnRRRXZELQ0KPiBZcUROWnxOWnlKU15OSnY2 antNN3pJfg0KPiB6d3gocm9mOUhyNFdqJGx8alU+RlczZHQzPWBFaD5rLXprP15KUntgJWxVeHli Yj9XWEd0P2cxYW87dmE1byFYQXINCj4gekZYZEY0QHB3aXE9bGl0MSFQT2FnVm4zMHhqMT02Klc2 aGZ0VyVWVj83cjk7MnZ2fV5LJlh5bD9nWXwyOyQoIXgNCj4gTQ0KPiB6Y2g8c3ktDQo+IFhCUW18 RmxqT0woM1ZgPzQ2QHRDaXxLKD0kKzJgcGdzWGdiOCZTem15JmJjYVhSeE9YSm04OSQ/NDY5DQo+ IHp3MTx+SkE5OXoxVSRlUjdnXmk1a0wlOUZaSzAzemB2eTsmclZsKEpkY1hZUU5KKzRBbkdhe1N7 S0opNyRIeyFZRw0KPiB6NTA0M1I9ZH4kYzZnXnUkITdyeipxaUp0VVFaK3I2SHNnNWpnbXhWVUZt Q2J8b3piNHsjfTR6NnlDVTQ3ak47VQ0KPiAoDQo+IHo7MWgyPzxXUEdQanJ7cn09VWxuT2Bmc041 YSZ3MzYoem55YmA1VzU8Jm1QMHl6T2UzdUBFMCh1ZVpTbkw8DQo+IE5pMTINCj4genloYit6WiY9 QjAmI0ImenZlVThtailMPmI4WUR+Mk93eU9IO35ve2l1NCZrcnFib0IrblFoRHpwRWhGew0KPiBl eH5eTA0KPiB6dGRfZ01xLQ0KPiB4VFU2bERLI3glVEJxI004Uj1NdCk/cHNvajhFMG9hcEQ/fncx ejRXUHE0dUNQMV8lT0BEJjBkPSk9DQo+IHp6bVYkeXJXT3ZMI3E1TVRWPXxrT2VRbDh4bD43NSR4 Nj9ucllffEFmP2BjYWM+V21KYUAwYyokem4oO2pHUw0KPiA/KkUNCj4geldWYmkkRTRqITFURHtt O0R5SGwxYn5sJXZzMyRBPXAkcmY5LTxsflYtDQo+IExidypDMDRIVlclajxjVVZMbDQ1VWNNUg0K PiB6YT8xblJUN1BLQCFoez9Ye3J6JjUoWUFUUmR2MX5vbl9vT1o9bjkxbG14VlFBKDxOVng/SCM1 V01UNGN4DQo+IGZZKz52DQo+IHpVM2pMKFFMKXcmTWN0LQ0KPiB2YSV0PVYzSGBLfWNqRnNIZz1h O3FjYj1TXihWWnN7cUNYfUlEPmBKVCZ5ajZ3RjZXeSoNCj4gekFNQm4qRT1XRnVYTjJLNFZlVHxX cFFTfmVed01eX0VwO1l5e1AwPEN0SjY4MzMjSmJKd24mPiMmMjcNCj4gPU4hKEVlOQ0KPiB6fER2 fnRiJF5vZXNFbE5DRTA0V3c3dUp7fSV3eHVNZjQkJVk7dSNIKkpYSkJMU3t6QnRkUy0NCj4gWE5T azNRfV50aWZVDQo+IHpGUSlWYTFZVyY2akxfX3lFQTU3XjBeVyRIfDFmVUhpI2cjUWVAfllCdXYq PlU/Wm51O017Q1N0WkpwfXoNCj4gU1orbWYNCj4gelBvSnE2ejk2NXlQQEBvb2V3OFZSMWVmYiZU XyQ7I0JCPyZ5KDFlbE0mZUVSa1NTaiNDY012MTs4cW55JQ0KPiA+YUFEag0KPiB6UlpidG8wdEck JWF8WWl9XnBYYChCVzducU0/RWQpJCN5RkskJiNlVUBBOFNBRHtsd3lEdGhEJnBEWClpDQo+IEdy SmUzDQo+IHo9ZSYmTkdBWT5RR0NKUkUmS2ZAeG9+NVZOUHRIa1lqJU1AOzJtTVVqeiF6QEg9KXop TF4zNllRRw0KPiBwQW5tVDsyR1kNCj4genVUKXQyVEUzbkJvWmo/Kmood2NsY0Ffb1Z5OCZpYTh3 ezc2VzRLLX45UD0qVWxxc30raiNsQSFES1NTSWBHKShXDQo+IHowTUV1bXJieitFdkJBN2NvVHph bkR6LWcwb1JoYHxyX0ZoNTQ+dGVuSUx2PyZjX0B7fl9JeXE9UC0NCj4gWkU5RlFWaVgNCj4geipa NTQ9TlRQRz5UOD89VHpjMDModjZ0VjxuN15OOStVb0otDQo+IHBSJkNMZF99M0ZTQHUmWV9hTjx4 WEpGUngqWGg8KQ0KPiB6MGdtJmV7elU1YHNtQnUwSGYqbWYlKVQzVXBHM2Qpc2s0ZV50YlY9cEhv djN+aFdRbWBuVyRDRTwqYg0KPiBQI20jSi1qDQo+IHpNe1BZSmVycX1ycyFeJCR7Y05kY3ZucHVy WWk1bkc3SjFgWlZKNiNPRlIhKD9tJHUkbHBAKWQxZ2BCMlAqMjMmdQ0KPiB6JXcrZkw8c0dBRCZi N2JXNmc3Pz1Qc15MI3h8Z3gqV3Z0TU92PV8lZCReKV4qSG4mQS0NCj4gZndRO1IqNm4/NmFSWVh9 DQo+IHpNMUBlcWNvPnojc0ZkbHE2ZjtUQU8yal9jUXV4VEllekpVU21UeH5iYmo+TjNGVXhEajMk Ym9CY1k5dV5Wag0KPiBPRmcNCj4gem83cnI3YWE9eGk+OVpjQ151bWlVQ3BiYkg/d0BTRXdsMSty cXh0KU1KbmZPXjRiaz8hUDlNTD5BMn5ITw0KPiBXJEBIPQ0KPiB6djZAYzBlPGpoc18hWG4lK050 WWIoUX5uciYjJFJwenI2KGNaZE5zdntGSmFWdktUJHZ2VE1oMEdkVzUqVA0KPiBhbXFRDQo+IHpl SmI1dDxEfUBmUzx7fF5ETDA9YDJYaTF9K3dvaUwhbzRKO3s3dSpYJD04MWh2IXxmX0ZTYHwtRWRB Q3FhfClEKw0KPiB6bzxKJnZiOHtEaiU0NzRoYEhMcEM4bnUjJXArfWZpa0NgPEc/U0p7QDxDJkJu U19SKEJkWUFMPHM5VkYjRjcNCj4gRktUDQo+IHpyVXw3dVchQX1rXlJQNngoR0JtMUdQS0tIe1A0 YVlYYDVMUmNMKTkzLQ0KPiA/SDFyKCs1ZnAlUkRNTkFLYm08JmV3OHANCj4gelBkU3sxSVZDYndx U0JFd0hgJDV3PXx1MTV3VzRFN3owMkxzO0oha2JUYz1rM21HQEJYXmJGQHN5WE0NCj4gQFlgNCg+ IQ0KPiB6Wn5SPnp2KlNzPWh2YCNld2MpKE03WHZ4NEx2U3U8P3V3ZmU3dkQkbm5sRm1WP2ptK1VE MUU+YyVAQ2wxVA0KPiB7cEojDQo+IHpvTms/QjBscW9SNUtiQ290Yz09fFY0Y2dFanwxeDUjUyR3 dCs/T3pXb1dWVCRXam5SPzZmUU9QcX4+TQ0KPiA9JUNIQUINCj4gemo2UmZyYHtAM0BrWFN6SUxq VVBUejNgcH0mclFWfDUtDQo+IGteWCFOPV5oXkRlTVkhRHc7ZXhobGdPOFliMlZffD0yQw0KPiB6 c2w8MGN5O1Y0LQ0KPiAoVFRlMSkreDt0YXkkMEF5MEZ0THlOSVVXYTRjeDhCaH08TXMyfG5ud2Ax SFFAPXZMUnY/dFR6DQo+IHpwRWE2Ui1XKTxzaUtScm1CUjdiQElDN1ZzRil3QiYhQnFWYGNWVGE0 N3ZqSF5tWUpBLQ0KPiBjJVBIZlNrWlEwPG1SbnkNCj4gelNMKVBSZXhXMmc8JSlQTlBEeXlWZEJT XipCSWozeUZXYkszXj1VcnlDVz00NWtAb0MoLQ0KPiB4cSNFcSt9ZHRjJjl8Wg0KPiB6MV5nYil5 P21gZyUyKEJ3VGNiPXMmfmw7fkh+c3pRKV9mJjNvMnlMS3RtZ1hBOXtBLUk/S0NYeXZnLQ0KPiAw PnhpPnBoDQo+IHpZUmw+YUYxIzwpSSh8NE1rek4hb1F2V31IQ3JodjUpeW0xeFZGX2ZedTMpU1Fi MEM7Y2ZCck1+YXg8aG9qPzINCj4gQjINCj4geiopNWZ0eHhjdGBuTCRiVzRBMEBIQT12T0luRSZX Zkhga2pQPX12Q2M3KG1OUXBsNnNmSkxZeDtSNjt8Xnp1RyoNCj4gRw0KPiB6KihPQXZ1UD5IJTdv bmViMj5OVmI0dWErbEFlLS0NCj4gKE5WSGRQYT02dyl1YG1YVUokMUExUWYjemttU1hPOCM2MSRg DQo+IHpYOVJhcjxII1gyPk5KZ3pHMm9rTG1RbnBaZ1JkQVJILQ0KPiBmRHgldmF7RlJYQ3BDbjdQ fUBfNG5wK15pKmxZS0FCTjgNCj4gem52WDI/NnZrMittI0c8IXdQST5BaWRXNjBJfmxIO2BhS1Fm Q345LUx3emp9a0VfP0pjYDF0QWhKS31TMXYtfT4pDQo+IHpEU2BCUmo7WkdSZGdBb1ZoemVwU05z bEZvOSRfVEVIdlFuWjYjWUdsPk9hbG5EIURTLVNaUi0NCj4gfWF8dXQmcW10KmoNCj4gelA7T25X WGx7aGRiP1c5aFE2bnpLVChteUpWRiNKcmo1KVVLSG5wfllLN3tZMD0hRHtvTndnQ2I7bHBgUTZp PA0KPiB3JA0KPiB6NXczKkRaOEhtSGRpPEdqVE88eD5kQ0JDK15tZys7XkI2anBhYS1nI2YtDQo+ IDZvclNHTCFuejgkVm9iKH18JlQ3Ymx0DQo+IHooVkBnU1otDQo+IDR1PzdnIUdRPEB9SzZnMGVR RyNEZWtYOXY7XikhZTZkfkQxRlgzSzZ6cVdFK2JEd1RMKjZuUSU9aSUNCj4gekdiYGpVdD4kJEBs KHgyRGBySjk7RSpvenlARWJGbU98ejwmQm5aa012RnY3I0ZPUXMzaHFoVE8lYnR0em0NCj4gN0de MA0KPiB6bF41Ull1eFdfPjBIMkN8VDFhMTB7dkttKyNFbjtRXkR2dCFWNVVHUm8+KHpBUkwmUlVG ayhYOVVHRytrDQo+IFpveWJaDQo+IHpWUDQ1eWUlRV9ZWVZ3eX5kQWljRldBTSU0eGVQeiplV2dT c1cldjFgND97OU9VNlU4S1ZhfUMjcnluDQo+IExRMCZnYWENCj4gemBHenlxQFAzaSM8bD1+Sl9N clMtDQo+IDNmcCUhVENNaU1uRDx2c1BycXlXcmZDPjFUa3gqd2NpbFhfPFExPWc8KzU5RQ0KPiB6 ejRhQik4TClhZkhHTGJia1MpS2NCZWlgUmNGQUQ4RVMwKHEoVlhTZXdAbzlLZzg4ekVpSFN2diZl fkhoPz1GYA0KPiBFDQo+IHpjRlYlQHNiJnxWWnokRSgqfEEheUQ1TXJjeWJhKks5dXlEZWFaQW8h ND0/QzdZfWAyTyUyIVpAQzBZZit5DQo+IGwpX3gNCj4gei1YMHJGPn0oaGoqKHZ2N2hpWX0pS2l0 YHxhYGpGcUZ8M3omWnF0X14ySGpuOG4yJkw8YVE3LWFVcy1vNmQkb3FjDQo+IHojR1YtRyFIO1BK RWdyRzFaTHc2M3VScFBzPj16XlpaNi0NCj4gSmRpUl9tcUAza3FtUiRvJWZtJSltdTtpMUghTmxo KnwNCj4gemlkQD56VWZjJHBPblN6JFI8OU1VaVFFQGxpZEg2TDN8ai0NCj4gJnE1TjtPM1EhSkdZ JmlMTG1xaHgyXjQkX1B0Y35CNg0KPiB6WFImRk1LbFp6NlhXV3lLOUJ9YDE4PW1DYFBFYE11Ynd2 PztAVzBeSHB1PCVuQEF5LQ0KPiB7bnlqY2V1Q3JKOUpFWmpDDQo+IHpQUVM/Y18/bUVucTJ4QCEq NTRed1deQkUoPzRjWmd7bDAyK3h0S0VYcVU/bFFYYyExT3dSJXl3S2orKWgNCj4gbV9SO1ENCj4g emp+cXB+K014fikoZll2aGEmfkw8Yk1RUl9acG5fSj0jNnBFP3U+b040NSpNeFg0ajgzX0Z3endm RSZSLQ0KPiB0e0xQbg0KPiB6PXBYJkk2JjQoNGBueUZue3tfUn1yMk1+bVlIb2l2Z2AxV0NIKCQt fCYlfTVCWWdmSzVlUkk3fHl3b2pWLQ0KPiBjNjBhDQo+IHpkMntAazhsLQ0KPiAja0pwWFYweXQp MEVffDJ0MVVaMkB8MDg/Nm1LYShRZ3tPODRManNeQ0RnflFMU3cwQHw/JTcyIXANCj4gemRHcHV8 cmY8Nldvd3daanVLIyk0eVdqSlJgYD4lfWB8a0xxVSV2Q018TW1WNDlRZmRlSzc5QURlQkANCj4g V314JVo+QA0KPiB6LVQhTUpgfWhPRHspeWpzQFJQcyFzZlR7K3c/QlJHR29TdDMhPUx9Yz8+ekZt enhWcnh7QHt5V2RoYCMhezZ+a3MNCj4gel40MChTKmRQRE5wRmFNN3tfSlp7e05NbGdeJntWU14z Unw4aUAqSGwoWkJsWnpqXnZ3ZkJTZE97UWJCOHxGaQ0KPiAkXw0KPiB6b3FzJmAtDQo+IFM3Uj1i Tn5HUEEzWG9WZkJEeEpVaXtJSSl5VyE2WD5BWj9QNmt0Nj8oKUNmPjdPK0pYRVJ2UzhtfHIzDQo+ IHp5eGlxQ1laN3pBI21zWCFfb0tkWStmdDRSIXhhJGtyQm9uZ2FUKSVIRSFHJiNZbiZeWTh5aEFh WU98WDNSeg0KPiBBJlgNCj4gemEwV19eZS0NCj4gY1hXYXRFIzkqdENtdkcybT15USVidXlEe1Rv aTh8fSRiUUJTYWdkRV5SOT92QSUzbSNzX2cmbVQ8Ow0KPiB6ISZtWnpSK350Qz4oKShebGJkSj4z K0g/SXQjSkRBYk5IfHFLaEBXX0R3a1ZAMm1EZmZ1Km5JKWxgODFhYQ0KPiBrV3grDQo+IHorXn1q cTxIQSptLQ0KPiBuZV4oXj8oR3hSVit4NzxET1ElcGxSVE9tUkEwVz5zb29yNCZkZmltVUIjODs7 UGlPSEFRYD0NCj4gek9GIzFKN1UoT2BCfjFsZHF5czEtLQ0KPiBkK1Y3akwqMmQyY35jJXRYfDBo TDMkT2UmK3ZyMVZ3SX1yaHBTXm4qTCVURA0KPiB6R1d+PjBXZzNoN1cjVlJQakxVY207VDZJdWd5 SD0mWnpXKV80dlp9ams8bTNiX0kla051NjlLM018Tw0KPiBUV2NWPkl0DQo+IHpqa05AQ3A8UlF2 YTs+KTs3ayNlNThTYEBWMUlrXz1LWWREe2pOenttTk5FSG8jZ3kpbEplWlpQTnVRUi0NCj4gPHZ5 SGcNCj4gekZIa30+WnUkXjs4K0hEMlYpPk1Ren0yNDNpUEokcGlXN3pwZWxDMW8ldjRUTzh6U0c7 eHtrUllYbjBBemRgOHoNCj4gdw0KPiB6dE1WTldVRnhnblpWa3NoTC18ekR0KTZuYSlRQ2F0bVU3 Rk1KSV5QVlBvRXhkLQ0KPiBKVSE+enhNNG1jPUdreyh+VzktDQo+IHpDcmBoNTNeX1R6OGhYKldI R1FScWFmbWcqZUdzIXBuIzhWb0ZaTFN+RUVJbEdheks2OUZeblRqbCFTcjxUQ1INCj4gRksNCj4g enpSRGNzV0ZKMGlGRzAlWms1OUc/az9DaW05ZlNNM3FXX1JtbiVxcT5hITI4UEEwekx8YU5QT1dn Uz8yDQo+ICRuK2ZVYg0KPiB6PmZ+KXc/Z2paZEYhRkNLMFdxOGZNOUYlfGN9dWplJnx2UFVOc2B9 bWV6UWZoS1Y9REotDQo+IF45KnF1KU9ASFBAbUtZDQo+IHp6QTIqYiszY20kVEZnZjlMUH14ZWFo UXxZRGFjLQ0KPiBJMmpYdFRwUUp2d240KFI/JmhKZHxTbz5NZl9oWmNecEMqPiUNCj4gemE9bipC bGN1eW9lbWgmMlJKNTJMWkBNUGRpS25+UWB8PSlkJTY+ZGFvMzw2IT53NTkpV35UQl5wZFdDDQo+ IH5lN3ghVQ0KPiB6QGcmX2ZvQH16PUhQZjZhVTIxQ1FZKThgTipAPkpRaUtnQ30+Y18tMDx1ITVy e3hveUN2WVVLLQ0KPiA/TWxYTkJheiMjDQo+IHomdzd8Jk5pJTN1JmgjTlk+fWVqJWxwaXl+OXh3 bT5jKXx6alUtDQo+IG9sIUk+dVgkVj80KCg8QztJPio8PGRoODBSX3ENCj4gekBwT3RPdX1xYkJq ZUh3YkpkZj56TH1nemlDbztuTnh5WT0tDQo+IG10dH5OY0BrQTFWPSV1VVg4JkhQSUBVVUZ1QzBw ZQ0KPiB6QGglclItdXZ+aTV1WW18UVZtKV91fk51NlotDQo+IE5UU3ZDSjsreUh9eElZTkc5V1hm PyV0d3RtaXhTOHpQWFRHc0U1DQo+IHpnPngpaXApezMmVElEaGhaZmQxQU0xZGFYTj9VZFVOKVp7 aVR5WXhETUhvT1h5MVV6TWE1SUhXRntkVTwNCj4gI2EmMWUNCj4gem1nYHxfeD5WNDl5TzA0fiFv fUdqRz05UzBFJC02KComQUhGVy0NCj4gYFB+aHxIdmB2c3RmWlIyX3dfQlFNcTZkQSshKw0KPiB6 P3Nqd2U+Tz5uKGdFYkI0MmAlenskfVBHIylaR0Z6WCNEQ0dFWlZTbUdWZjl6TjArREo9VF8+Nzsp bHNwR0MNCj4gRVNnDQo+IHo0fkVKPyp1Kko8aGRQdU0xeyFCXnk2SzBSZ3UrWiVjNWxRMVUhYldx cXR+Wn40JHtIOzVgNDRoeENOKTBETg0KPiBKUUANCj4gekNGbmkkJUkwUzRmcD02bUR3fXJXRHtp P0NPfHd9NG55Xl9ZWl9UaVhSKGBYa0xUUGQ9JnQmez82QTskMi0NCj4gcDVMWA0KPiB6ezFrIzFJ P3lOeSNna0l1KVY+USZ4PmV9N3R6PlM8N3hFfD1lI0tIe3g0UjIzWk48SEt1MktgWD8+QVB1OSUN Cj4gVCFKDQo+IHohd2NFfnFxbXYqJXZWQEBZIVBzUS12ITs5N1RVWlE+VSojZkZWIW4tUzYmI0Rk IXB0LQ0KPiB3WEJPKTxAc2Y+TlV0el4NCj4gejt9eTQ8b29GT3UtDQo+IFVEPkpGa29hUlhUPSRG M29Na2hRfDZCQyg5MHA3RXFAZilfJjUzPUg1N2FPJil9cjVgVGZpSQ0KPiB6dit0UGE+KEloalkz M2QwdVo/SDR3KjEoYnRDPz1fWStMM1Q4UDRCOyR+NW1fZzh3WGlOIU00ZFVJUi0NCj4gUyNaJkJl DQo+IHp0a2haczw+ekBscz59RlFGfGNHJUBvWGMkLSg8T3ZBSjFidXEyYjU9P3NhJExNOzk9bThq Si1FbGQ3JkQtDQo+IDJgeGwNCj4geiNMSnNpe1M4MElELTVER3tQQGhAcU16K25pVCt7cit8UCk2 KU5gTkVaY0lHfXg0KllqOW4kWXteJDZTQFRlcXIqDQo+IHp3Y0RjfWYqYXBEcjAofG9afVotMzkp NDg2ciZTNnI+MT45fV5qMiMoclgyMHxzd0xXdUUyWjV8XzFxZzZ1MTd0cw0KPiB6LU02WUUrVEVj Slg/SUI3dWlkbWRweHRoQFUlU0k8K0g9Y3JsWV5hVlJKKEUydEtEOTtTLQ0KPiBWNE8xPkNNZ09y NUxVDQo+IHp4TFQ7KVVpSUFoXmRDfUIhKTV3VSEwa3k3c2wjeWwyTHt6YSYlSDt4e3B2UWpzZFQ1 UiFBJVNlc2hvQkBSYSgyZg0KPiB6WUt3TFUpQyVwISluZV4tRFclPHtkaU0yPG1yekh2K3BRa2U/ cEFlQnlNNXxAP2U/b1h3QS0NCj4gVm13SHMzZj9lMClKDQo+IHp3TDdTYFlJaig1WCFtTSRwPzBe YUMyKXRmQ0RsMV9TKn1JJkA5JE8ld0w3ZW89UlNYNEhfcX43PktOU2EmDQo+IE8hQUkNCj4gei0N Cj4gMXlkaGIoSFE3PGo/YXo/NzReRl9WOyRGZ0spUUEoWEFmZmA7SzA5enZtdSslbFB7fWNOJVZM dXQpOElKR0FXeg0KPiB6SDM0QD1FVTkrRnkjanBnXzE/RjU/PD9TQCgqcnVjJStMOUZyK1dAdT05 QnJTZChKdU1vcGFYVzRHWWcNCj4gJSlWNlRKDQo+IHohZ0NmY1VpNX1We2YpNy0NCj4gemNINHxK aXdtP2FSMDNBTnZGeVJqX1cwbk97OHFWJXI7RXQ4a2FNJlJSRlZvbClMQTENCj4gempVQ2tDeUh4 ZEs3RjVBTEEkOStZVTV6JlE/TH1fc1VzY3o4UWhiIV81RSs2SXlASG1UMEY7clV2Pk1sXnsNCj4g JW5lNA0KPiB6ZlB7VSE9UHheYTE5NTJKMWRReCpZZXcmaXAoXnFXNXt9Zms+WX1hMnl3LQ0KPiBL NW50VVdBPHhSK2NOPVdRUjlMIztaDQo+IHpYV21hUlZKSzswWld8YXM9RiNNTzFhWm9HP1pBRG1t RU52cHVUYFFuPUc/cUphRzYmZyZKSD1GcXoNCj4gfGNeUXZ5bk4NCj4gemFjeXR6P1FrN292fGtC X1BHNEdVU1J+e2BxYCs4eVc5aCo1RzNCM1dBQXhqb0NDb0gtDQo+ICVlZXNVeyFsaUxkbkw1eQ0K PiB6cnR0d0VwfmB0V0liK2B3O1ZPcGBlNn4hNj17TFQtRSRmaWA4cioqbm4rY3xNYCMjYl8/MHZZ byMkU3FFOFk3RiENCj4genlxb21SPzQ1UXBYSFREWVoxKDhZKjw5a1laT0xBYD9CMUZiV1NgI0hs JVRHYz5wXyNIZDwqemlvJiRaK2kNCj4gOH52OA0KPiB6Ml5DRjAlOG5Dbng5Jm5LZjBNXzU7V3FP e0lneDFqYTtZaWQzcXkpcmBCSEZHRnA+d2g0WEomfm9vPmA2bHp3DQo+IFo2DQo+IHpWIWJyU2dD RXFhVzNIPnVyJHFqMXV2RWYxazc/KFdmdXooVnQ8Q1ZoRGtycWstaEdUfF5TZik5V3thcn1sKnpP KA0KPiB6U3RUMkpBQDx+bjI5REJYJSRNKERYYzVEKzRiIzR2fERjWnYkI3dKY01tUkd2MW5tWktP Z0RFXjRhDQo+IEghe1BSTDtQDQo+IHpXMGc5bnRfQkJaMys+dztubXNKT0AzOypvX0tXNWMrT31V TCtDbUkzRDEmOGtQa3l8LQ0KPiA8dT5+JD1CcExYVE4kZjsNCj4gemJJVVIpcl59ZVU0PXBsdk13 NiZzRHhvS1lISD9MQ3tuQ3pGRnBPeWwlezJZSj9QaT1XOF9helJEVFYwenYpDQo+IF9IJQ0KPiB6 d3JeUExDVGp5e201P2dtaVAxUVJ8NUlxeXszZiNCUlBpb3l6U0kpUTZRNy0NCj4gV213amZ0WDA2 aytefHFPUVlRRGN4DQo+IHo7JTEmbnBZPW5UYWBEdEZTVVkwVitMd3FsSjd9Z3Ffa2RnZTRRR30r RGkxI0EqLXJpMj4kQmVvX2kzOVJOPVpZJQ0KPiB6TkJYcGFgOElwYShmUTtrPGN+cDdjZDw/VDMo RGpoS0ZSJjxFTHlGdHtqUW5NPzVsRXU1Ul5YO2BVPSU+U2V1dDMNCj4gemR2M208R1ZZJCpfR0x6 S2VtVkR8NHklfSVhZHNobTd7Z1h0clUwdVdxSztBPittPXhEYk42SCs2Kw0KPiBqSkBOPERnYw0K PiB6d18xSGdMWDkzc0RCTyZqcz9AU3Q3SiorMndxRUt5bVl2Ul45elE5a2FELQ0KPiBDcUhtQWJB S0w1aVFyUSFxcUpeZEdJDQo+IHpjVklZdVZXUzt9WF99SW5sbmhQWSZ5JSNwTjMyaXphYHhAbz5M XmNLTTZZUVd6ZWVOekljT0whQHJqPSl6TQ0KPiBPQ1ENCj4gelpHbUdFd0lse3hjUWVvSUZTNDAp TnkmKlpXZW4wflVZaDkmWFo/MS0NCj4gbj1mKVUkWFNQQVd3dTMyQkFtJkl3aFo9NA0KPiB6KE8x VEJLQDlVTl4yV1JxJiR+VTs5S3NzbDRBazdXYlRBaDNCIWxnYT1XWChabXdBaTdIdy08Si0NCj4g bUhSRElvXmI9DQo+IHp3I3VtXipHeHZYZjtzWWE5NEdLP1oqOUFrRztJbztRUUQ9RXlENEY2JW0+ Pks/e0M9b0h1RHJJZ3tjUzFTDQo+IG9AcmQNCj4genNzJlNyYzBKR3tGRXRla3Q/KFJMLWlOQHc4 eFZwZWVoWDZKX3IocWAtKVoocT5GMHZ1PV9GNThfQGs5PVM+ZWd8DQo+IHomd2UtZ0gpRmh2T0ot DQo+ICRvZGREU2BpYWpwKmNRblFSeGN+MEFgRH1JYT1zYUNBYExfVSReTktyditJViRzPX5tTnMN Cj4gekNEZVluPmlzZik0YStVeCExIzYjQFB7ekFhZVI5ZyYqY3h3YjRMc3M4YV5iP0dPczdjQzRF fVBHYH59O19reSENCj4gTw0KPiB6JkwhLQ0KPiBYeWxGRTx2X3IhIW9QfVVLRkV7IXlZZnk0ayox SGtSRTcjUipTPTc0USshbioqZnVtPWRvVFlRYyFCK05XDQo+IHo/UEtLRU1ER1hKPnc9PzNhaz0q KVlrSWFGdThFayNqQmNrZ25xMkl5WHQrTUtYX3BiN3ZMP2dHVi0NCj4gOShpdX1JbysNCj4gemJE RW5sPiFManYzQj8lfVohZDcpY0o1KU4xZnBrd1cxb0Jqb2pCfmY2KV5aWHFLNFYmPD4jPGV4ZF5u S2NtWA0KPiBFcA0KPiB6b1VNN2NMZG16aVBNMkhGUmBPKkp0KDtEcCRkVypATitxKXdrIShMZElF KTI0SUJpVnRFeFJFaXF4fTVoSmNLDQo+IEh0DQo+IHp2b04hejRUMGclcT57VHhqcENGNUkrYihJ bClrM35WX2ZDRStXNDM7Rz43QXxpa0kwQEZVLQ0KPiBeIV5FNlhQK153MW0NCj4genoxJl9MMnE4 OzJ6TSl5UDlJU3xXPUl2OyhqX2dzUkNKY29YXlZzbWQhRyt+SiFIJjhVQ2ZsPVMkcUdBVCM+NCEN Cj4gdQ0KPiB6QD8+IVdgRCledVo9MjUhSTlle2kwM1ZIeXA/R1dxKkllc2xhajZUfDxmTUZJeW9E VnRPJjBVbyMyaSQ5dikmDQo+IEJfDQo+IHp3aV9INFVVTXotDQo+IEEkMj03dTVIUSVZT2F3P0Zi d0teRnJEcnBaeGRWOVhneWNNQGZRUm9pI1Z3T3U4QkpoR1JvcWkNCj4gejtkZi1BdCNGYS0NCj4g dit5KT9YWEBOJDhgX1UmWTdlS0JLOHEkWlckP2tZdChoYG0hYkUwKFdwQXw0PW5SWmooUGM2Zg0K PiB6VkwzUXNIQlBUeHk1a3Z8YkZAcH52I0xRflM2TmhpJC0NCj4gSkxFbVd5WEB0T1Z2UyZ9WTVR TmBKYGR4fXxYbUdsZWBCDQo+IHpQLWp6UHk3dVdnPmFfJHV6d0pfYF81dDFtKnU0MnRiPWhUP3Ml M2F5MSF4MFk0MHNEKi0NCj4gIyZ6UzZJe2p0eWFUV3QNCj4geiF7aUZNaD1NVTVAIUBXVXk5fUBq KDAxOGRGZEdGOEpgP2NvViFYVVg8OFhKbEVXLQ0KPiB2fjcyRHxyaDxfPkkwPSNicQ0KPiB6cTAy empZdE9uWkd1KzRzajM1XkJ5TldtJTh5U0pRT3QxckB6SVpPekRqUSVDVmclTVBTITVrezlPfmxi DQo+IFduYG9fDQo+IHprIU83WUYpeypNaipUJG80ODRWUkhzQHhzXkVBVDJFNFEzfT1XTjFSMjts alItDQo+IFJmRHVRTlI7YCErPUE4Z01iR0INCj4gelU7UGx5WVN3a0Qje3JLMz9nbVQpP2c4IXE7 T0dOTWJyOytfMFEmKkEwZDRfSTE4UlVXcGE3VHY8TiV8OQ0KPiBvcSgkVg0KPiB6WCtSM2wzKWwr aTAmRD9uMjZPPHswYWdRNjBHMHpUMVVQezYwcHxqaTAyVHd6MFcxUDYxU3I0QDlWaSN6Uy0NCj4g P0BpDQo+IHo1eGBAQmdNYkdCY0w4ZEVHKy1USTNFO1UpUCk1Syh6I1ZgeFVAS3ErO0MjVGpmVy0N Cj4gZz5jeG5UOTF2bV9ONztyYVcNCj4gekEwUTFfMGF5cSl2TDVeYjkwMWUrVExJPy02bzVSOVo9 PzFXcjhhRitpdFRrMmZZV2pjRXdyKGp2dDd+dFoye2toDQo+IHp3bFlLb0NOWHxpK1NFa3xKZW56 JWloQ3paXih3NVJQUCo2eCYqfWtuNnk2ZktJVlEtDQo+IFZ8MT1SKVE+OHBrVndMSjINCj4gej8o TD1QP207cHxYSzgkP3FwcW48S3lrfnAkUlh1OEM/Zzx3aDdIO3B6TDsoZnVNbDBJTEtaY2AzfGtF RWVRXkMNCj4gVw0KPiB6JV9sZXFkeiNMcTdLeWpVNjw5ZWZweDI7M24+PEVeeDVwYjMwY2khdDN4 OE4/NU1gSzU/bUM/N21udUp4PVA5DQo+IEB4DQo+IHpUa1U2ZTU4bHUoMFhLcmpIKG1zfUJEfDE0 XnFWVDdDUGRzcHQ9UX1xM2kpejFVJWdETlNoO2N+KDh9XnNvTXgxDQo+IEUNCj4gelY/SlU8KHBn NzFlOWgzc3BedCY0RWNCQzchfkl3RTR7VjIzc2dkMHEpO1pBaWslZEx6NSFqXn0kcm8kd1lkVDBA DQo+IHpLa0lQLWVyc1dzTCpxN3hpeDZYX2xKNHVkNS1KSzR3KnQ9OEt9dT0hb3BBWE1NPEtTVlBD eXN+JnJGN1hFLQ0KPiByMzMNCj4gemRAbGooUj5vO0g3cTU4Rj5Jc15EX01ZVTYjciRMYzAtOzdk KWpwMSF0PTdSZVA9R0pXJHUjaTlIMFl0cmp8YW1ODQo+IHo/TmBXZStKdzlQOU81ez5YOEU0c0x+ cFp0XkVGRVN7NVdgaUJXTk07JnZWe2BGdD1nZGtjdVo4QEhwUDVGDQo+IEg1UkINCj4gejAxcEFx Pz9uSC05TTZEYmZDOz1HK0phfCo2SEJVdGUyMDQhcGdRNHFgUTs9Rm8hQlMtDQo+IGI4aFUkMjE+ WDNaeSslXg0KPiB6KUhSZzhFQXs9UypNQihuLQ0KPiBuSVA/Sm8xNEpeP0M0Klpgd0p5RzQ4Xmtj RGUhdW9QREorR15VWUtXIUZ3bGE/X34yDQo+IHo+ZHd4NWFWTn11dFg7RlNiOUBwdVEmKk9BVzhx dkt5ZDdmO19LZUpMSnwzUklgKlZRQlQjTW55RmlleGINCj4gQUxCPU4NCj4gejN4TSZTME03aHUr ekt4KWFnNGhlP31uWlVQeGw0SHpiWGBWMGBGemRrOWhPNT5EeklMWEZsdlM+MzhuP0YjYw0KPiBN IQ0KPiB6UysrOzx7eTR6b2c8K3p+WDImQ35icUpAPkhxNEstDQo+IDdVVFZWZlQ2YE9RTUJ4TWpH c29oVVcqcGohYU1PXjIrP0NXDQo+IHpybyozSWJ+YFJ7dzs8Zno3Q3ErU0xBKVJJe0Q/T3tufm9p YV9gNERBWF5SZmlldmE+RzxBeFQpTTN2RXdNX0xDDQo+IEYNCj4gelpaK2JXQThCcERkI149e1ZX TWMrQGZpT3hneGVSUXdJQTtYRUxzY2BNYXp5eVRGKVRkO1NqQU9jekBjDQo+IFcjVn1Few0KPiB6 N19hPjRkRnJ0KiZyPWYlN3BnNm5FTDc3UzMpTXZPbUZmV0NGeU1LQilCUUBkNn5OIShBOHQ4ciY9 SykoDQo+IDMqc0l4DQo+IHpuN0JWZU1mM1NfJm8lRz1jeDtPZlYlYHNoQE1rPzIjMipnZmZCNFRx e0clY0stDQo+IEBPPmJLTX0kfHteS0Elb1dJe1YNCj4gekUyajd9YDh5SmRVc0BFektOaUJMZT0+ KjxyPU1GSyNEfmtqPmMwb15WZndlY0V7RzUzfEgxejtHcnNANEFVOw0KPiBoMA0KPiB6RTlWRkNW ZnIwIW9FZCp7ZGtgUDR6dDQ5QkBuUVAheUtIOXNtR0t9eCUtDQo+IEBDR0d2bmA+MV49ZTRHc3Bq ODI+KVFIDQo+IHp7X2xCUEZuK2p3VWJgIVo1Nys7KD53QEApRWMmbWsjTUFgPHlNNWtjO3B6V3tk eFE5SmBuVWZeNUZmNmU4DQo+ICRLN3INCj4gemh4ejswcEFYezA/ZFB7MjVqXnY5RTFwZTEzZkpA TnpafDMhJlBVPiNMSHJ8RElYYCtkcmFsSlgmKE9FPVB5OV94DQo+IHo5UmIrKmFRZTRBOF5uanBk Q3h4dEBuSnN4I1BAPnVGZHZAIUtAY0NWPWtiM0Q7PX1wLQ0KPiBeb3YxIUlEZW58UTRrLUYNCj4g enxJaXlkWER0NldSfE41NHtfa0FYc2xmNmRrMHo2OURmWT9kZm0pJSp8REl+JS1hcTBASiVzYnxy cHRycmd2WmxMDQo+IHpZLVc2PkdsJm48fEpfNm9BRmlrVnQlN0coSCtCMlp1bE17LQ0KPiB6UWc9 fE8oc1k7VCklfkVYUVJ5RHUlNSV8S1hRR0wNCj4gelBNRlcxZTg8ZkE3akY7WmI1PWsyPGNCKWRy dmR6I2EpandXY2R5anI5YWNUQWdQZHA3a00rbnBLVipkK29nDQo+IHBrfg0KPiB6bX48YnFAPHNv KmReKHR+YUo/bHo2VTJ4NGB4OVJaOz19ZHhnLQ0KPiAyKGB6eEkhVV87Q013e0lNV0RUeUg9OXIk S3g7DQo+IHp8TWg8cUpqPmRIWFR5aFpgeVJTMSZMQSFFa0IwQ0VMd3JuaTJJR2hNQFM5eWhkXnJB ITlZSzdVJndzdSUNCj4gaCE1QX0NCj4gemRxI3J6RmR4NkxGTm45dFZVfk59d0JWb2klNX5lUFdM e3xhXkBoSV5KaX50YW57ajJyP2ZacGJ4WiFYNjtTVD4NCj4gQA0KPiB6eXVyX2hFcSt+ZUVVc2J6 e3RXJGFmQjR0JGBFPjY0dTFfYWl8S0kmVmtXUlMlZkEpdCNkXm52dXwyMnJXPjMNCj4gQEFlDQo+ IHptLTtUaSZTJHRAenA8aDx6SSM9ZD5JMVpqe35+WTtSdE5FUmBpd1ZyY014eTRpXk5CfFIyfFRZ S0stM3Y0ZFRQKQ0KPiB6RlcoISlodWg3XkswaD01YFFQaShXNj8yZEVQOGdKXnwpb35KNno3RXpZ JEMpVCN3JmNwM3ZvNzQ0RD1GYXcNCj4gJUUhDQo+IHptZmBMUEBXPWZKez9PRiluJnVvbGs5eShG eykzRz5oViRjQWBNRzk1KHp6SUoyZiYyOCQ3O3QrRD4qM1B5MDEqDQo+IEENCj4gekd7QShqXk03 elNwfXFqJUZBRCE5JG1lX29WQl91YT5Gd0pTWTlGOCN7QHZGbSljWE9nQFVNUGJMWSlVDQo+IF9n P3xybA0KPiB6QUQ5OUV4ey11PkJWZGNCQXBkJHQ2QWVCYW8qRmQyUGxQOX4/QUNMVmBGTVVCJi0N Cj4gOGxedUtsQVFlfSpyMWA9PFpUDQo+IHorJGlhNj5HdFAweUBOcC00OTZkNzg5TCM5SWBRRlBg UikyKSs7QExHaCE1eEU7JElLcSF8XndOQjhVJmlmNmFxSQ0KPiB6ZF5yQX1oNDVFfStTI3Z2Rzhq TE1La3Jpc2JAJEwmRVE8YTt3Rys9Tio7X0R2I19id0RPUWl1aEtuLQ0KPiB2aztCTFQhDQo+IHpm SlhzTzBscDEqMGtDTT5TP1hOQ2dANnIhNmtyQE0xLUohcDd2S1RGQlktMS0NCj4gPypxPT5qeVFr fDBVSDJhZkV8RGANCj4gelU/MVJpeigpWHwxJC1JczZ5ViF7PUstKDA+TVhTY2EzTnFiQVB0eFJP YVowPWB2Q180cDh6fXpjb2d0d2ZNKT5UDQo+IHoxSSlrckVjSDZUUW91VUU3QztJeDJCLW52MV41 V3l2dys2e1BYZGtzJmZhbUJJdUVjOCY8aHZgT2FuZHlfLSgpIQ0KPiB6MFk/RGUwc0lLPytIMX5J RCo9fVFkSTRqQTNnQmtJVTRWfVA5dE0wQkBEJCkjejxrdW54cSMoPiVLJk0+Yg0KPiAlMT88DQo+ IHp7ZVhgRTlzK3ozekBJYUp0RDdrc0hLJDZnbyE/WEslO1d+JE9mRlQhNCpKe1ljQH5AI2w/dHcw c3ctDQo+IDVTd15pTVMNCj4gejBATjd4I1RoMTlGQkRSbCtDKUUyWlF3VVZ6YitpMHhEO0g3c1JQ aVNpdjlQSDAkaW84b1pzdGFyb3hKR20zaw0KPiArJQ0KPiB6NUFqJT9JYGQ7e0Z7d2U/MCpDV0M+ ZlZwMypYZXZHRTNUezUteElzZHR5SG1YUG1RVUlINy0NCj4gVyFNMEZvPW8me318DQo+IHpSSD83 aE0/fjR2RiEzRiRHNl9EWmNNI0s4JUdDPXhTKFhIOW5EMU0jOVhFNWBJOEwtDQo+IG4xJGN9emwj WVhmc24yVV8NCj4gendjSitaakFzKlhUYWQ7TFAyM0J1eG44USt2U2dUZXlARCYzQ00mQUFWN0xm NzBmPmBKNz9EWDMxJmcyO1gNCj4gI3Vwdw0KPiB6d25UNDQ0UnlJPV48QjhxblpqV3poezg1VG9D OztWT25pTypWNjhBKmdofXo3YHVQMDhPdXAoaSh4QnlSOWxJME4NCj4gemkySXAkRSFkdlZ4aURF IU50Z08/P3cjLQ0KPiA0VFhSKT9lJmFiXkc2Qj9NM2tvPFFEWSErez8+I0lOT0JsPUxrT18kQw0K PiB6NTY8cmBXbCVlfjAkYlVPNUkxPT43X1JhfER2NHZWTGFiYSlLc1kzKFpYfjUzKkFlP1hVNUE2 TilaIUJUKjINCj4gUjxLDQo+IHoocThwaXtVK0BZRW9IJHI1aD43KDtVQERZNSFIKE1KIzJTcTNm SF4ybz9eRDVXajFnUVp1Pig0bUdTPXRLDQo+IFIzY24NCj4gejxtS348SVdeViFCNWtrcDhrTT99 VkZ3YUBkfHRAc2MjNCtUKSNhIW0tDQo+IEp7flRecWhoZWomY3tJM3NuVHJUN0ZmUQ0KPiB6Wihq YiFgSGJvb09qMSprbVhnLQ0KPiA7SlV1emdMbHtQdlphR145P1d1ZGNHMF94V3NuNSkzPVZiJU1N TD5xPFZAaSZ7DQo+IHpsKTdKOXZxbXF+djg3JEozflF9LVIwIWY8JG9ScXNQZjdMWDctDQo+IHAh SiFId3JLM21hMmd0VVRERyFyNkBMd1IrcUMNCj4gelo0QSUhVj5RU0RqTVpecEEzUHJOI3ViZkZh Zl96TWNRRTM8YEMzKFMzZGVYUS0NCj4gaCQ0ZVEkbGsjeTM5OGpLQXEyQQ0KPiB6QDgkQ1EoQ3l7 QW1jSGc4RXJFZkFoOGVPTXA/PVVKIyYpJG1JdEU2RHptYC1kLQ0KPiA1dD05T2xCWmNCS3JLRGA3 RkR+DQo+IHpTIyVqO0E/JDN+ZUZQTlZKQWFeRmdIYk5zQlBFYUUjcUdfJDJ6dj9uSXBtS3QtJS0N Cj4gZ3p5KmZkTGI9SnFuRzVqZ0ANCj4gek16bUBwUDhJSFZ4MCMtDQo+IHluVyl0QnkyTV84UmQy VFkxNGZJOU9jQ3cyWWtxSU1GSD4maEVNZFBSUGhUSmgxU2BZNQ0KPiB6YHJWKXAhVz1iUk5eMVV+ ZUJKY3YhVSk7JHNuTXNHKHJsV0syb3AxWE5QTnwmQGNwUHklQ0llN1kmQ3p3DQo+IGMqQyYlDQo+ IHoqQ2tScno0MERRQGpuPEN2MTRqSUx3VTYhe0FPJDRMMEApay0NCj4gQWdmJj1+MypDMT19PEU4 WnRIbmlKZ0tnZl87I3oNCj4gemwrbmcoaSU1QWZZYT56MjRVRnJxcjBUJkVweG0xaiNSREBIeDUy JWkzO0gwO1BZSVFWVEpkZVQkKTNSKGNUOFENCj4gOA0KPiB6ODA9NTxgbnVyRnl5fWQ1aDY4NmZB UktAczBlYmNMTntFblI1c293N20xfGNNdmwhMUpXI0QrVExZZXxROD8NCj4gd29lDQo+IHpYVHcq bTRaJG04U1hYYWJoT2V2ZEYwMVpMTHk4RXZpIzY9fCo4Y3NNelVUYWI1M1laQT1HSEhAZWVJej8N Cj4gZSpGdlcNCj4gekgtDQo+IDRoJCZnPD9VZWY2KEF7PzBfUVhKalo1UHhsUDtrSGlRMVFpRCh5 Zk07ZDxjTXRiO2pkYTFNS2NQMXRZK05iPA0KPiB6VkhmLQ0KPiBZZW0oS1BkcFolc2NVX2VMeG00 bitQYHF1NCFLU3BTJEE2QCFLYjtzJSNeTkQ1JXheNSspN2pKOGxmSnJyDQo+IHpMbTxzJCZ0VHRu KmZTV31IcWJsVm1sKX5raSorTTxGdzleZ2tzS0s4OHlPbnpPa2JUIWpJZn1nRm9VdH1makZyfA0K PiB6UGh7U1FgdVpDRkFmYlFMc0tXeio2WnN1UHl1Kk1hZk0tWX0xMzVVcllDdGNiNDdkeHgtDQo+ IH5EaE8wazk1fCtlVlQtDQo+IHp5JE18JGxYdSQ+YCFLcjlqMjh9JWJ9JjIkUi16JjMtSV8zLVcl cDFgYWFwSVdhRVI5em0wczZpNTMwTzVBRT8oKA0KPiB6d3pVeVA5NUpEcSFeS2ptLWt2eUdmWSlC X2EtdSQoQDtGblF1O1Z0OypPaHR8bkB0bGZxRCo7LT87VjVlQnchIWwNCj4gelpvdEVVQ2ppZF43 R0B6ITFLMH1LM0FoRkQwMDVQeCNoU3U+YytpRDVuTXhLeWR3dVJDPn5sY094X0Era0UNCj4gNGsq ag0KPiB6OGV+eGF5QGx5Xml9NlpVI3NWYDJFdnQoMCFxJT9TbVVHJWwmZUNQb3JUUVEzOSYjPiVt IVlMK2xkbkZsbw0KPiAmRUw2DQo+IHpXeDJMeHQyP2czempjaiZZcHo8aGRKVyY/QT8mdkd4Pkln SjUwYmt2Q1BMO31uXmc0Wj9xbktUdFgkezg8a3g5KQ0KPiB6NXNGISgmbyFDR0VkTj51eG5qUTxP dkVySV82KV4zZChsd2l2Nk9TRWxPN3lTMW5gT2VENn03Y0M+PWA9NF9Qc1YNCj4gel9JN2thakY2 R1VuWVE0Z2lUbjZ3Oz43aDEjSUZjdFNMYTlqSCVITzlwPiQ5RGltTjRBSkZ9JE1tKl5XOXkNCj4g bjNWJA0KPiB6ZUtGQnhBJkU7MiMpYzlqc2UjQFlNLT9GMyRzTFAtDQo+IDV0KDU7JkQkMGtCM3ti aDk2NXcqRCRRSklDJTFMMzhIeDR3DQo+IHpib2NpcWBxTHhyUipeST5MaWpiYTtNZEs5QDBiUE96 UUdFPntEO3pDWWlBJD00fCZ5S3k5fnZMXnJ7fnFCTDE1Nw0KPiB6UnQ2JlE+KVdqaU1Cdi0NCj4g NkBYMUg9Wng7TnpTQDBkUjtNK0c/MFY0OVpjRm9OQTRSIWAxOyk4enswazNVYGNubHVTDQo+IHo4 VX1vdkhCNVdvRVdEZnJ6aXQrTSQxTTJ2NE9WfiVVYVZhK0drJH1lZnIkOXZyQTQ0NkZKfXp7VWR8 ZSh5DQo+ID9ZajMNCj4geitXMmNxYFpqbyNnRm99I0RQdlI1ailWZyR0TUBHMTxCeDBvIStuQXUz Z1dJQSQ3aFdjYmlweDA4fGpickINCj4gQGk4LQ0KPiB6ODRpanF5cz1NTGdyUE8zdCpYQ0FTXm4y Z0BAMnc0TDt6b0xRaUI2PVBUfjh6Rl5wYjArJXQkI3hvc0R0X317DQo+IFpZDQo+IHo5TiMtZyVr b2JaVHdiY0htZmRXQTlKPW8mQFFuS2Y2Zm95aTJ4bTktNEM9ZEpqel91JWRGaG85LQ0KPiB8bFBC WjFaQzENCj4gekoyVmM0SEgmXm53aj1BVnpvZXRCQmVPUXd3cjsjVitxUUF6K1Z5UTY4I2xDZnRq REF4bXM8LQ0KPiBLa3lkaWJZMEtNag0KPiB6b0JXKSV3JldESXl9UnFVOEs2SnRVWUt6bVB4Q0BQ P0RRWVVTSDdrWkxlQGVudUQ0bzsqPCs+JHZ4DQo+IEprSEF9eFFPDQo+IHohTn5eYUhmSUJ0UmFZ WEhtQzBQYjs7YjVTUiRWRjZBKFdTUiZSNnUqI0N5bHxYQWhAOGplbCRRVjgrOFljPw0KPiBpNFkN Cj4gejhgcF91OStreUA0KmZWNk5AM31qIykxY0t8M0g2MlchOW4jdUZqd2VJQDtafmI/c3Z0K0JV OXRKS0VhVVRyDQo+ICQyYw0KPiB6eVJsPjRDNntiOyhtaz5NMFZmVVJpNiFuMCQtWCgzQ25waXRi PVNHO0oyck4tdD0tdFp1NUkwI14mOHRaPH5GISgNCj4gengkR3JseGwxOyNUZkhfcj8pMntIaSNm ZUZPbEpJNFBjK19td3RYeXs4KFpDV05wNVg+K3EjWEpPeHduXzghfk4NCj4gfg0KPiB6YnNKVyUm VFkpKVIoR3MqOyk4S35UdjdjcHR2ISlBLVVjYEJUdEpzZz9QNyZ9SkV0XmA4O3ZyKFUlX2lPb1pl PnwNCj4gekl3K2lSKyZ5cX03c3o7JD9DVlJqdTh3IWcla2Q8KzRSPWUldDd2bWxNXzRrYlVGWj5Y O2ZMT2NkbUgjaTs5DQo+IGtLSg0KPiB6Q1dLI05hMWRKV2Q+M25JRDReKDgjX2RYVTRzK0ZNVHJA P18kPUFwfmhma1h0e305ZD9Ga2lsYGokMzxkaHENCj4gI2J+DQo+IHo0NjxZVGV0dm9rND1VXkdS JFBXUGJYWWN5Zk9QcjRqIVFySitGcElwJUU3VkR1RyltWS0NCj4gfHB0Qmo9bjh9VFlDLV4NCj4g eiNiSXlSc2NIP0hYc2N6WXhEPSV5anc/cmszT2t8MExXKk9AQDtCP0AzPlNmUiErZjI/JVU2el9R WngtDQo+IHNZdGA8SQ0KPiB6ek9MJXY8YHdTUjYhTWR9SnhxLQ0KPiB2dUk3QypJcHB3REFjVmEh JTN0Nyg8MWhkPGdnWmFYbXhIWldEKFE1Uitub0dsDQo+IHoyQWtSSClXK3ZwaTx7b141bztfbnk8 RSZLNDx8Kz01MHpYbk9YLQ0KPiA7TXUqP209Wk1ZZWhmdiNRRCplO3d4O3khVyYNCj4gekU8NTM3 dWRtaTghNG5NUE8rMjtmOEo+R297Z31yUSpOUVktZGdKKiRYZ1F7MnJZdEBJaj5pZEl6cXBDWXRJ aGg4DQo+IHpubEl1SU1WRXVUNUlvS3xiMkgmaGBgezx9TUI9eG16ZEpJSVAldiN9UXU0VClfRiVt LTFvMHtNMDU8Vi0NCj4gTmx0ZXsNCj4gei0NCj4gNnxzOzNrP0I9WXcrdncrQzx8ekNIIyl9ZCZo QyVSSFFvXzRieFdicGB9SXN4aT5OQT9GI2JZYysxUTx0OG4NCj4gb2QNCj4gelNNdDtmTT00QSNH K1lhcFc5TEcrRFFKQTRFPjJoNTtxYDRVUWA0MWJNKEtvcGx5VXF+YklufUI4X1V3dg0KPiB2dGdj bA0KPiB6cHdsOXdzQXI3NyswISlmTkZ4RT04c2pHckZSciFnJjwrSylGJlQ7fVBAfjJqKFJVJklJ bGxaRE84PFYjKVQlcn4NCj4gejs2KVpDN1kjPUVVY1R5VmJ0KFZoMmwwVXRnZ0NNX2hud0FjWUko SztCX1FHX2huZGRPSj5JWDRacz8hRUVwNw0KPiBCeQ0KPiB6U3NwbyFldGFWQl9vY3tKRH1NUVh6 fHtGJStIU0RGdT5aYUJ4WX5Ue0d7V2BBZFpRJnw+UDQoVD9+VGMmKA0KPiBPY3hfDQo+IHpLUHB0 Uz93aERraEVeMFZ4YCY/e3hed0JoJV8rXnlrNSotDQo+IG41dkd9MVJRVEVXVlFBNF9oWjkqbChP akZZRX5EfjcNCj4gek5efDRXQCNpS2dKeVo1cGQ3WFFITF5FRGc4bCspSHtDUC0tDQo+IHZhIVp9 QGdNJTtrQ2BAcXtlUWRWY1lmPXFmNHxINQ0KPiB6bEFMd1hveVVPWXg3YS1SP3RERGpMNDFybjVs PVl0Skh2dEY8dl9TeSNXMUpodGNuYCk8YTxqU1VTY1ZwVEZvfnANCj4gejJZUEE1X1RvNH5QJURg NFFfeW8xQHlSS0VwcUVzVllCNjlEZklwYDlJKUdgajMlcUJ9PkNPZWIwYE9gOEM3NQ0KPiAzWQ0K PiB6STE0fnx7emFaa0tmYVNUYW55bGVhSFB3KWJia2BTR314VyFfWnEtIUopcip1MFEjPjdASUJf ZV5IdkRvUXZrLQ0KPiB7DQo+IHotDQo+IFR9aTZjYGdLbUgydGdMR1ZPeHJLTUJfWGE1TChCME95 PntFNmMoQk9hcXdibj5fYnN4V3ZCYEs+UkhMcnQ/ZA0KPiBIDQo+IHpIdj5ONnoyNkkkYE1EcCFe Z2EkP3hYJUhZemRyI0d8OClUST1ZbEVaa0t4JnBjWSpoU3IqQlFfeD4jfiZRWQ0KPiB7M2ANCj4g ekx6cG19YH5JWVF7O3M0dDA9TmZJMUVjfXckTUYwYVNLaj5oKzVCN0tUaFRHJFhMQypibSh6WFch JTZpVjszIzENCj4gOA0KPiB6SkhmeTJMKl5NN3kydDUhMzlffWc8eGRpS1RLLQ0KPiA7dyUpSkNq dl5JaCppTUtZd3sxUm1EQn0kQFk2SlJzTXVWb1coDQo+IHpIMk9jd3p5SUooO29OcyhKfik1anFX a2UtDQo+IDlLQ3QoJUA9c31eMDlCcSFAYSpJP29HZFheYVZhYGRCP1BOQTMqcCYNCj4genhiTW1Q OTY+a3p6dilOZndaKEhrR3NvflRGWl5jX3shYyZwXmhlS0EtDQo+IH0+az9BTFkoV0BZa1VLaihj XkNFQWIofQ0KPiB6XjJ4Vjc+OE96PnVYfVAkRmZpVjNgcjQ3ZEpvLQ0KPiBiVytUUzVEQUFEdUV6 UVl5d0xZZ3RaRGRJX2JZYEx2Rks7ZE5IDQo+IHpuYV4tdWtHPERWPEFIXmNhZUd5X2RneUdwQFpY QmA4SjtmZG4oR0FxMC01PmBfJWQmbi1+NztUZiVoey0NCj4gQkBkP2MNCj4gemoqanM7SzZsQih1 KVBGVzJ6Y1Joe2A+fmJARFMla3tKakNzb00tYSllKFUrWWM7KzBFenVUP25fZ1QrKFNrSVdGDQo+ IHpITnlZMF4/YXhHalA5YzZyK2VWQ1NlJkRFZD0reXN4YVl2LS0wJGREa3tZKWFFKGh1SjtjYHkq P0JTJUlzfigyPw0KPiB6UStVNHtGNllLTXhLeE98OFNaJi03czdvIyt7Z1kxZGRUNDM1QkYhXy0N Cj4gVTliJDtXfV5+eFgqayFzVjt6Zj48QDk1DQo+IHo2N0dSVmxlbHEmYUIlbSt0LQ0KPiAqeV5I PGczUyFESkxKOClTO0UpaSYrdD45VnhAVzhhbXduO096YmR4JipuemZ7LUINCj4geiNlZT02cH5H PiVec1FKR3ctDQo+IDVBano4cFhEdFpqdnlzUExoSCVXQlREK31WMWJfUUhYcmRobDFJb1U5fFo0 KzZfLQ0KPiB6ZXMrbSRveihQYW5BRkF1XmgoWVM0Qng5RER+VTFUNkJ6SUtPYUJEKSVLPkA7VExF MndFcjg4e2IkfUlzM2p5DQo+IFo+DQo+IHomSCplMEpwWEZ3VWpyTmlKUFVYUkBIRjVrOzM+Y256 IVFNUzBnbkw9MH1jVFcwdi0NCj4gaDE0YEJHYTBlMW9SMUV2OWMNCj4gejAwcUQoVT88PXpLcmYm SnVtYlFaRnZnNV50S1p1VmVmNE9vYUd5VWtKTiR6OEpCSU0yIU1KcUViQXRKaXBLDQo+IFFaRg0K PiB6MmlPNSVKTipGUUdrXy0NCj4gbXt7KG1xQkNaRFgxMTEzYDRpIWdvVUE3eTV7O2R1SXo2U1Vu VUBeazIwYHZoMjBRMXx8DQo+IHpoTyh9YXg+JEw2WX07NVNIXlMzUkVnYGM3YGMxY04zRTt5eC1h OTZRPX0/ZGFEaWc7YGgjJHI9alZ2eVZkRV44MQ0KPiB6aURUUysmUzBWWSZDMWAlMiRYSilSQkU7 U05OTWFrPzBmc2NiZGtib2JAQk1POX5afCQ8KUVISyZwU1pCDQo+IFkkNUQpDQo+IHolUWhqVFdh QmduX3M/cWVzdiY5RWQmV0ooZmlvTzkhK3xwI0lLelE2OTV9OylHYU5YPmZpb085ISt8cCNJS3oN Cj4gUTYNCj4gSzlRYVNqZnF3JXc1SX1ZUw0KPiANCj4gbGl0ZXJhbCAwDQo+IEhjbVY/ZDAwMDAx DQo+IA0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQmlv c0lkRC5lbnYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9CaW9zSWRELmVu dg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44NTMxM2RmYmQ3 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvQmlvc0lkRC5lbnYNCj4gQEAgLTAsMCArMSwyNSBAQA0KPiArIy8qKiBAZmlsZQ0KPiArIyAg VGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBCSU9TIElEIHBhcmFtZXRlcnMgb2YgdGhl IGJ1aWxkLg0KPiArIyAgVGhpcyBmaWxlIGlzIHByb2Nlc3NlZCBieSBHZW5CaW9zSWQuDQo+ICsj ICBUaGUgQklPUyBJRCBmb3JtYXQgY29uZm9ybXMgdG8gIkJJT1MgUmV2aXNpb24gSWRlbnRpZmlj YXRpb24NCj4gU3BlY2lmaWNhdGlvbiIsIFJldi4gMC43LCA2LzI3LzIwMDEuDQo+ICsjDQo+ICsj ICBCSU9TIElEIHN0cmluZyBmb3JtYXQ6DQo+ICsjDQo+ICQoQk9BUkRfSUQpJChCT0FSRF9SRVYp LiQoT0VNX0lEKS4kKFZFUlNJT05fTUFKT1IpLiQoQlVJTERfVFlQRQ0KPiApJChWRVJTSU9OX01J Tk9SKS5ZWU1NRERISE1NDQo+ICsjICBBbGwgZmllbGRzIG11c3QgaGF2ZSBhIGZpeGVkIGxlbmd0 aC4NCj4gKyMgICAgRXhhbXBsZTogIlRSRlRDUkIxLjg2Qy4wMDA4LkQwMy4wNTA2MDgxNTI5Ig0K PiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDA4ICAtIDIwMTUsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gDQo+ICsjIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyMNCj4gDQo+ICsjDQo+ICsj KiovDQo+ICsNCj4gK0JPQVJEX1JFViAgICAgPSAxDQo+ICtPRU1fSUQgICAgICAgID0gSTMyDQo+ ICtCVUlMRF9UWVBFICAgID0gRA0KPiArDQo+ICtCT0FSRF9JRCA9IEJMQUtDUkINCj4gK1ZFUlNJ T05fTUFKT1IgPSAwMDg0DQo+ICtWRVJTSU9OX01JTk9SID0gMDENCj4gZGlmZiAtLWdpdCBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jpb3NJZFIuZW52DQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQmlvc0lkUi5lbnYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNGFmMjQ5ZGMxOQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jpb3NJZFIuZW52DQo+IEBAIC0w LDAgKzEsMjUgQEANCj4gKyMvKiogQGZpbGUNCj4gKyMgIFRoaXMgZmlsZSBpcyB1c2VkIHRvIGRl ZmluZSB0aGUgQklPUyBJRCBwYXJhbWV0ZXJzIG9mIHRoZSBidWlsZC4NCj4gKyMgIFRoaXMgZmls ZSBpcyBwcm9jZXNzZWQgYnkgR2VuQmlvc0lkLg0KPiArIyAgVGhlIEJJT1MgSUQgZm9ybWF0IGNv bmZvcm1zIHRvICJCSU9TIFJldmlzaW9uIElkZW50aWZpY2F0aW9uDQo+IFNwZWNpZmljYXRpb24i LCBSZXYuIDAuNywgNi8yNy8yMDAxLg0KPiArIw0KPiArIyAgQklPUyBJRCBzdHJpbmcgZm9ybWF0 Og0KPiArIw0KPiAkKEJPQVJEX0lEKSQoQk9BUkRfUkVWKS4kKE9FTV9JRCkuJChWRVJTSU9OX01B Sk9SKS4kKEJVSUxEX1RZUEUNCj4gKSQoVkVSU0lPTl9NSU5PUikuWVlNTURESEhNTQ0KPiArIyAg QWxsIGZpZWxkcyBtdXN0IGhhdmUgYSBmaXhlZCBsZW5ndGguDQo+ICsjICAgIEV4YW1wbGU6ICJU UkZUQ1JCMS44NkMuMDAwOC5EMDMuMDUwNjA4MTUyOSINCj4gKyMNCj4gKyMgIENvcHlyaWdodCAo YykgMjAwOCAgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsjDQo+IA0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsjDQo+IA0KPiArIw0KPiArIyoqLw0KPiArDQo+ICtCT0FSRF9SRVYg ICAgID0gMQ0KPiArT0VNX0lEICAgICAgICA9IEkzMg0KPiArQlVJTERfVFlQRSAgICA9IFINCj4g Kw0KPiArQk9BUkRfSUQgPSBCTEFLQ1JCDQo+ICtWRVJTSU9OX01BSk9SID0gMDA4NA0KPiArVkVS U0lPTl9NSU5PUiA9IDAxDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9CaW9zSWR4NjRELmVudg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0Jpb3NJZHg2NEQuZW52DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLmEyMTczYjdlNDQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9CaW9zSWR4NjRELmVudg0KPiBAQCAtMCwwICsxLDI1IEBADQo+ ICsjLyoqIEBmaWxlDQo+ICsjICBUaGlzIGZpbGUgaXMgdXNlZCB0byBkZWZpbmUgdGhlIEJJT1Mg SUQgcGFyYW1ldGVycyBvZiB0aGUgYnVpbGQuDQo+ICsjICBUaGlzIGZpbGUgaXMgcHJvY2Vzc2Vk IGJ5IEdlbkJpb3NJZC4NCj4gKyMgIFRoZSBCSU9TIElEIGZvcm1hdCBjb25mb3JtcyB0byAiQklP UyBSZXZpc2lvbiBJZGVudGlmaWNhdGlvbg0KPiBTcGVjaWZpY2F0aW9uIiwgUmV2LiAwLjcsIDYv MjcvMjAwMS4NCj4gKyMNCj4gKyMgIEJJT1MgSUQgc3RyaW5nIGZvcm1hdDoNCj4gKyMNCj4gJChC T0FSRF9JRCkkKEJPQVJEX1JFVikuJChPRU1fSUQpLiQoVkVSU0lPTl9NQUpPUikuJChCVUlMRF9U WVBFDQo+ICkkKFZFUlNJT05fTUlOT1IpLllZTU1EREhITU0NCj4gKyMgIEFsbCBmaWVsZHMgbXVz dCBoYXZlIGEgZml4ZWQgbGVuZ3RoLg0KPiArIyAgICBFeGFtcGxlOiAiVFJGVENSQjEuODZDLjAw MDguRDAzLjA1MDYwODE1MjkiDQo+ICsjDQo+ICsjICBDb3B5cmlnaHQgKGMpIDIwMDggIC0gMjAx NSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiAN Cj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArIw0KPiANCj4gKyMNCj4gKyMqKi8NCj4gKw0KPiArQk9BUkRfUkVWICAgICA9IDENCj4gK09F TV9JRCAgICAgICAgPSBYNjQNCj4gK0JVSUxEX1RZUEUgICAgPSBEDQo+ICsNCj4gK1ZFUlNJT05f TUFKT1IgPSAwMDg0DQo+ICtWRVJTSU9OX01JTk9SID0gMDENCj4gK0JPQVJEX0lEID0gQkJBWUNS Qg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQmlvc0lk eDY0Ui5lbnYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9CaW9zSWR4NjRS LmVudg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jMjM1MTc3 ZTFiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvQmlvc0lkeDY0Ui5lbnYNCj4gQEAgLTAsMCArMSwyNSBAQA0KPiArIy8qKiBAZmlsZQ0K PiArIyAgVGhpcyBmaWxlIGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBCSU9TIElEIHBhcmFtZXRlcnMg b2YgdGhlIGJ1aWxkLg0KPiArIyAgVGhpcyBmaWxlIGlzIHByb2Nlc3NlZCBieSBHZW5CaW9zSWQu DQo+ICsjICBUaGUgQklPUyBJRCBmb3JtYXQgY29uZm9ybXMgdG8gIkJJT1MgUmV2aXNpb24gSWRl bnRpZmljYXRpb24NCj4gU3BlY2lmaWNhdGlvbiIsIFJldi4gMC43LCA2LzI3LzIwMDEuDQo+ICsj DQo+ICsjICBCSU9TIElEIHN0cmluZyBmb3JtYXQ6DQo+ICsjDQo+ICQoQk9BUkRfSUQpJChCT0FS RF9SRVYpLiQoT0VNX0lEKS4kKFZFUlNJT05fTUFKT1IpLiQoQlVJTERfVFlQRQ0KPiApJChWRVJT SU9OX01JTk9SKS5ZWU1NRERISE1NDQo+ICsjICBBbGwgZmllbGRzIG11c3QgaGF2ZSBhIGZpeGVk IGxlbmd0aC4NCj4gKyMgICAgRXhhbXBsZTogIlRSRlRDUkIxLjg2Qy4wMDA4LkQwMy4wNTA2MDgx NTI5Ig0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDA4ICAtIDIwMTUsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gDQo+ICsjIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyMNCj4gDQo+ICsj DQo+ICsjKiovDQo+ICsNCj4gK0JPQVJEX1JFViAgICAgPSAxDQo+ICtPRU1fSUQgICAgICAgID0g WDY0DQo+ICtCVUlMRF9UWVBFICAgID0gUg0KPiArDQo+ICtWRVJTSU9OX01BSk9SID0gMDA4NA0K PiArVkVSU0lPTl9NSU5PUiA9IDAxDQo+ICtCT0FSRF9JRCA9IEJCQVlDUkINCj4gZGlmZiAtLWdp dA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jvb3RTY3JpcHRTYXZlRHhl L0Jvb3RTY3JpcHRTYXZlRHhlLmkNCj4gbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9Cb290U2NyaXB0U2F2ZUR4ZS9Cb290U2NyaXB0U2F2ZUR4ZS5pDQo+IG5mDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmQyZmE2MjEwOTYNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9C b290U2NyaXB0U2F2ZUR4ZS9Cb290U2NyaXB0U2F2ZUR4ZS5pDQo+IG5mDQo+IEBAIC0wLDAgKzEs NjAgQEANCj4gKyMNCj4gKyMNCj4gKyMjIEBmaWxlDQo+ICsjIENvbXBvbmVudCBkZXNjcmlwdGlv biBmaWxlIGZvciBTY3JpcHRTYXZlIExpdGUgbW9kdWxlLg0KPiArIw0KPiArIyBUaGlzIGlzIGFu IGltcGxlbWVudGF0aW9uIG9mIHRoZSBCb290IFNjcmlwdCBTYXZlIHByb3RvY29sLg0KPiArIyBD b3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsjDQo+IA0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+IA0KPiArIw0KPiArIw0KPiArIw0KPiArIyMN Cj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9 IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gQm9vdFNj cmlwdFNhdmVEeGUNCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gNDJCQjY3 M0QtMDlGMy00ZTJlLTlGRUUtRDA4MTEzMURFRDVCDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAg ICAgICAgICAgICA9IERYRV9EUklWRVINCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAg ICAgID0gMS4wDQo+ICsNCj4gKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAgICAgID0gSW5p dGlhbGl6ZVNjcmlwdFNhdmUNCj4gKw0KPiArIw0KPiArIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0 aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZQ0KPiBidWls ZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEz MiBYNjQgRUJDDQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBTY3JpcHRTYXZlLmMNCj4g KyAgSW50ZXJuYWxCb290U2NyaXB0U2F2ZS5oDQo+ICsNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiAr ICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBJbnRlbEZyYW1ld29ya1BrZy9JbnRlbEZyYW1ld29y a1BrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKw0KPiArDQo+ ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIFBjZExpYg0KPiArICBVZWZpUnVudGltZVNlcnZpY2Vz VGFibGVMaWINCj4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIE1lbW9yeUFsbG9j YXRpb25MaWINCj4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gKyAgQmFzZU1lbW9yeUxpYg0K PiArICBEZWJ1Z0xpYg0KPiArICBCYXNlTGliDQo+ICsgIFMzQm9vdFNjcmlwdExpYg0KPiArDQo+ ICtbUHJvdG9jb2xzXQ0KPiArICBnRWZpQm9vdFNjcmlwdFNhdmVQcm90b2NvbEd1aWQgICAgICAg ICAgICAgICAgIyBQUk9UT0NPTCBBTFdBWVNfUFJPRFVDRUQNCj4gKw0KPiArDQo+ICtbRGVwZXhd DQo+ICsgIFRSVUUNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvQm9vdFNjcmlwdFNhdmVEeGUvSW50ZXJuYWxCb290U2NyaXB0Uw0KPiBhdmUu aA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jvb3RTY3JpcHRTYXZlRHhl L0ludGVybmFsQm9vdFNjcmlwdFMNCj4gYXZlLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uZjIzMjI4MWUyYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jvb3RTY3JpcHRTYXZlRHhlL0ludGVy bmFsQm9vdFNjcmlwdFMNCj4gYXZlLmgNCj4gQEAgLTAsMCArMSwxMDIgQEANCj4gKy8qKiBAZmls ZQ0KPiArLy8NCj4gKy8vDQo+ICsgIEludGVybmFsIGhlYWRlciBmaWxlIGZvciBTMyBCb290IFNj cmlwdCBTYXZlciBkcml2ZXIuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA2ICAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4g KyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiAr DQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfSU5URVJOQUxfQk9PVF9TQ1JJUFRf U0FWRV9IXw0KPiArI2RlZmluZSBfSU5URVJOQUxfQk9PVF9TQ1JJUFRfU0FWRV9IXw0KPiArI2lu Y2x1ZGUgPEZyYW1ld29ya0R4ZS5oPg0KPiArDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQm9vdFNj cmlwdFNhdmUuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9GaXJtd2FyZVZvbHVtZS5oPg0KPiAr DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9E ZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaURyaXZlckVudHJ5UG9pbnQuaD4N Cj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9TM0Jvb3RTY3JpcHRMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExp Yi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvU21idXNMaWIuaD4NCj4gKyNpbmNsdWRlIDxJbmR1 c3RyeVN0YW5kYXJkL1NtQnVzLmg+DQo+ICsNCj4gKy8qKg0KPiArICBBZGRzIGEgcmVjb3JkIGlu dG8gYSBzcGVjaWZpZWQgRnJhbWV3b3JrIGJvb3Qgc2NyaXB0IHRhYmxlLg0KPiArDQo+ICsgIFRo aXMgZnVuY3Rpb24gaXMgdXNlZCB0byBzdG9yZSBhIGJvb3Qgc2NyaXB0IHJlY29yZCBpbnRvIGEg Z2l2ZW4gYm9vdA0KPiArICBzY3JpcHQgdGFibGUuIElmIHRoZSB0YWJsZSBzcGVjaWZpZWQgYnkg VGFibGVOYW1lIGlzIG5vbmV4aXN0ZW50IGluIHRoZQ0KPiArICBzeXN0ZW0sIGEgbmV3IHRhYmxl IHdpbGwgYXV0b21hdGljYWxseSBiZSBjcmVhdGVkIGFuZCB0aGVuIHRoZSBzY3JpcHQNCj4gcmVj b3JkDQo+ICsgIHdpbGwgYmUgYWRkZWQgaW50byB0aGUgbmV3IHRhYmxlLiBBIGJvb3Qgc2NyaXB0 IHRhYmxlIGNhbiBhZGQgbmV3IHNjcmlwdA0KPiByZWNvcmRzDQo+ICsgIHVudGlsIEVGSV9CT09U X1NDUklQVF9TQVZFX1BST1RPQ09MLkNsb3NlVGFibGUoKSBpcyBjYWxsZWQuIEN1cnJlbnRseSwN Cj4gdGhlIG9ubHkNCj4gKyAgbWVhbmluZ2Z1bCB0YWJsZSBuYW1lIGlzIEVGSV9BQ1BJX1MzX1JF U1VNRV9TQ1JJUFRfVEFCTEUuIFRoaXMNCj4gZnVuY3Rpb24gaXMNCj4gKyAgcmVzcG9uc2libGUg Zm9yIGFsbG9jYXRpbmcgbmVjZXNzYXJ5IG1lbW9yeSBmb3IgdGhlIHNjcmlwdC4NCj4gKw0KPiAr ICBUaGlzIGZ1bmN0aW9uIGhhcyBhIHZhcmlhYmxlIHBhcmFtZXRlciBsaXN0LiBUaGUgZXhhY3Qg cGFyYW1ldGVyIGxpc3QNCj4gZGVwZW5kcyBvbg0KPiArICB0aGUgT3BDb2RlIHRoYXQgaXMgcGFz c2VkIGludG8gdGhlIGZ1bmN0aW9uLiBJZiBhbiB1bnN1cHBvcnRlZCBPcENvZGUgb3INCj4gaWxs ZWdhbA0KPiArICBwYXJhbWV0ZXIgbGlzdCBpcyBwYXNzZWQgaW4sIHRoaXMgZnVuY3Rpb24gcmV0 dXJucyBFRklfSU5WQUxJRF9QQVJBTUVURVIuDQo+ICsgIElmIHRoZXJlIGFyZSBub3QgZW5vdWdo IHJlc291cmNlcyBhdmFpbGFibGUgZm9yIHN0b3JpbmcgbW9yZSBzY3JpcHRzLCB0aGlzDQo+IGZ1 bmN0aW9uIHJldHVybnMNCj4gKyAgRUZJX09VVF9PRl9SRVNPVVJDRVMuDQo+ICsNCj4gKyAgQHBh cmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZQ0KPiBFRklfQk9P VF9TQ1JJUFRfU0FWRV9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gKyAgQHBhcmFtW2luXSAgVGFibGVO YW1lICAgICAgICAgICAgTmFtZSBvZiB0aGUgc2NyaXB0IHRhYmxlLiBDdXJyZW50bHksIHRoZSBv bmx5DQo+IG1lYW5pbmdmdWwgdmFsdWUgaXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRUZJX0FDUElfUzNfUkVTVU1FX1NDUklQVF9UQUJMRS4NCj4gKyAgQHBhcmFtW2lu XSAgT3BDb2RlICAgICAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBjb2RlIChvcGNvZGUpIG51bWJl ci4NCj4gKyAgQHBhcmFtW2luXSAgLi4uICAgICAgICAgICAgICAgICAgQXJndW1lbnQgbGlzdCB0 aGF0IGlzIHNwZWNpZmljIHRvIGVhY2ggb3Bjb2RlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gc3VjY2VlZGVkLiBBIHJlY29yZCB3YXMg YWRkZWQNCj4gaW50byB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3BlY2lmaWVkIHNjcmlwdCB0YWJsZS4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVU RVIgICAgVGhlIHBhcmFtZXRlciBpcyBpbGxlZ2FsIG9yIHRoZSBnaXZlbg0KPiBib290IHNjcmlw dCBpcyBub3Qgc3VwcG9ydGVkLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJZiB0aGUgb3Bjb2RlIGlzIHVua25vdyBvciBub3Qgc3VwcG9ydGVkIGJlY2F1c2Ugb2YgdGhl DQo+IFBDRA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZWF0dXJlIEZs YWdzLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgICBUaGVyZSBpcyBpbnN1 ZmZpY2llbnQgbWVtb3J5IHRvIHN0b3JlDQo+IHRoZSBib290IHNjcmlwdC4NCj4gKw0KPiArKiov DQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jvb3RTY3JpcHRXcml0ZSAoDQo+ICsgIElO IEVGSV9CT09UX1NDUklQVF9TQVZFX1BST1RPQ09MICAgICpUaGlzLA0KPiArICBJTiBVSU5UMTYg ICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZU5hbWUsDQo+ICsgIElOIFVJTlQxNiAgICAg ICAgICAgICAgICAgICAgICAgICAgIE9wQ29kZSwNCj4gKyAgLi4uDQo+ICsgICk7DQo+ICsNCj4g Ky8qKg0KPiArICBDbG9zZXMgdGhlIHNwZWNpZmllZCBzY3JpcHQgdGFibGUuDQo+ICsNCj4gKyAg VGhpcyBmdW5jdGlvbiBjbG9zZXMgdGhlIHNwZWNpZmllZCBib290IHNjcmlwdCB0YWJsZSBhbmQg cmV0dXJucyB0aGUgYmFzZQ0KPiBhZGRyZXNzDQo+ICsgIG9mIHRoZSB0YWJsZS4gSXQgYWxsb2Nh dGVzIGEgbmV3IHBvb2wgdG8gZHVwbGljYXRlIGFsbCB0aGUgYm9vdCBzY3JpcHRzIGluIHRoZQ0K PiBzcGVjaWZpZWQNCj4gKyAgdGFibGUuIE9uY2UgdGhpcyBmdW5jdGlvbiBpcyBjYWxsZWQsIHRo ZSBzcGVjaWZpZWQgdGFibGUgd2lsbCBiZSBkZXN0cm95ZWQNCj4gYWZ0ZXIgaXQgaXMNCj4gKyAg Y29waWVkIGludG8gdGhlIGFsbG9jYXRlZCBwb29sLiBBcyBhIHJlc3VsdCwgYW55IGF0dGVtcHRz IHRvIGFkZCBhIHNjcmlwdA0KPiByZWNvcmQgaW50byBhDQo+ICsgIGNsb3NlZCB0YWJsZSB3aWxs IGNhdXNlIGEgbmV3IHRhYmxlIHRvIGJlIGNyZWF0ZWQuIFRoZSBiYXNlIGFkZHJlc3Mgb2YgdGhl DQo+IGFsbG9jYXRlZCBwb29sDQo+ICsgIHdpbGwgYmUgcmV0dXJuZWQgaW4gQWRkcmVzcy4gQWZ0 ZXIgdXNpbmcgdGhlIGJvb3Qgc2NyaXB0IHRhYmxlLCB0aGUgY2FsbGVyIGlzDQo+IHJlc3BvbnNp YmxlDQo+ICsgIGZvciBmcmVlaW5nIHRoZSBwb29sIHRoYXQgaXMgYWxsb2NhdGVkIGJ5IHRoaXMg ZnVuY3Rpb24uIElmIHRoZSBib290IHNjcmlwdCB0YWJsZSwNCj4gKyAgc3VjaCBhcyBFRklfQUNQ SV9TM19SRVNVTUVfU0NSSVBUX1RBQkxFLCBpcyByZXF1aXJlZCB0byBiZSBzdG9yZWQgaW4gYQ0K PiBub25wZXJ0dXJiZWQNCj4gKyAgbWVtb3J5IHJlZ2lvbiwgdGhlIGNhbGxlciBzaG91bGQgY29w eSB0aGUgdGFibGUgaW50byB0aGUgbm9ucGVydHVyYmVkDQo+IG1lbW9yeSByZWdpb24gYnkgaXRz ZWxmLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAgIEEgcG9pbnRlciB0 byB0aGUNCj4gRUZJX0JPT1RfU0NSSVBUX1NBVkVfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ICsgIEBw YXJhbVtpbl0gIFRhYmxlTmFtZSAgICAgICAgIE5hbWUgb2YgdGhlIHNjcmlwdCB0YWJsZS4gQ3Vy cmVudGx5LCB0aGUgb25seQ0KPiBtZWFuaW5nZnVsIHZhbHVlIGlzDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEVGSV9BQ1BJX1MzX1JFU1VNRV9TQ1JJUFRfVEFCTEUuDQo+ICsg IEBwYXJhbVtpbl0gIEFkZHJlc3MgICAgICAgICAgIEEgcG9pbnRlciB0byB0aGUgcGh5c2ljYWwg YWRkcmVzcyB3aGVyZSB0aGUNCj4gdGFibGUgYmVnaW5zLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgIFRoZSB0YWJsZSB3YXMgc3VjY2Vzc2Z1bGx5IHJldHVybmVkLg0K PiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICBUaGUgc3BlY2lmaWVkIHRhYmxlIHdh cyBub3QgY3JlYXRlZA0KPiBwcmV2aW91c2x5Lg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVT T1VSQ0UgICBNZW1vcnkgaXMgaW5zdWZmaWNpZW50IHRvIGhvbGQgdGhlDQo+IHJlb3JnYW5pemVk IGJvb3Qgc2NyaXB0IHRhYmxlLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBU aGUgdGFibGUgdHlwZSBpcyBub3QNCj4gRUZJX0FDUElfUzNfUkVTVU1FX1NDUklQVF9UQUJMRS4N Cj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jvb3RTY3JpcHRDbG9z ZVRhYmxlICgNCj4gKyAgSU4gRUZJX0JPT1RfU0NSSVBUX1NBVkVfUFJPVE9DT0wgICAgKlRoaXMs DQo+ICsgIElOIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgIFRhYmxlTmFtZSwNCj4g KyAgT1VUIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgKkFkZHJlc3MNCj4gKyAgKTsN Cj4gKyNlbmRpZiAvL19JTlRFUk5BTF9CT09UX1NDUklQVF9TQVZFX0hfDQo+IGRpZmYgLS1naXQN Cj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Cb290U2NyaXB0U2F2ZUR4ZS9T Y3JpcHRTYXZlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Cb290U2Ny aXB0U2F2ZUR4ZS9TY3JpcHRTYXZlLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uODM3YThjOTVjZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Jvb3RTY3JpcHRTYXZlRHhlL1NjcmlwdFNhdmUuYw0K PiBAQCAtMCwwICsxLDYyNiBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIEltcGxlbWVudGF0aW9uIGZv ciBTMyBCb290IFNjcmlwdCBTYXZlciBkcml2ZXIuDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAw NiAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g Kw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgIkludGVybmFsQm9v dFNjcmlwdFNhdmUuaCINCj4gKw0KPiArRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgbUhh bmRsZSA9IE5VTEw7DQo+ICtFRklfQk9PVF9TQ1JJUFRfU0FWRV9QUk9UT0NPTCBtUzNTY3JpcHRT YXZlID0gew0KPiArICBCb290U2NyaXB0V3JpdGUsDQo+ICsgIEJvb3RTY3JpcHRDbG9zZVRhYmxl DQo+ICsgIH07DQo+ICsNCj4gKy8qKg0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byBhZGQgSU8g d3JpdGUgb3Bjb2RlIHRvIHRoZSB0YWJsZS4NCj4gKw0KPiArICBAcGFyYW0gIE1hcmtlciAgICAg ICAgICAgICAgICBUaGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdCB0byBnZXQgdGhlIG9wY29kZQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgYXNzb2NpYXRlZCBhdHRyaWJ1 dGVzLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgIE5vdCBlbm91Z2gg cmVzb3VyY2UgdG8gZG8gb3BlcmF0aW9uLg0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICBPcGNvZGUgaXMgYWRkZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQm9v dFNjcmlwdElvV3JpdGUgKA0KPiArICBJTiBWQV9MSVNUICAgICAgICAgICAgICAgICAgICAgICBN YXJrZXINCj4gKyAgKQ0KPiArew0KPiArICBTM19CT09UX1NDUklQVF9MSUJfV0lEVEggV2lkdGg7 DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICBBZGRyZXNzOw0KPiArICBVSU5UTiAgICAgICAg ICAgICAgICAgQ291bnQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAqQnVmZmVyOw0KPiAr DQo+ICsgIFdpZHRoICAgICAgID0gVkFfQVJHIChNYXJrZXIsIFMzX0JPT1RfU0NSSVBUX0xJQl9X SURUSCk7DQo+ICsgIEFkZHJlc3MgICAgID0gVkFfQVJHIChNYXJrZXIsIFVJTlQ2NCk7DQo+ICsg IENvdW50ICAgICAgID0gVkFfQVJHIChNYXJrZXIsIFVJTlROKTsNCj4gKyAgQnVmZmVyICAgICAg PSBWQV9BUkcgKE1hcmtlciwgVUlOVDggKik7DQo+ICsNCj4gKyAgcmV0dXJuIFMzQm9vdFNjcmlw dFNhdmVJb1dyaXRlIChXaWR0aCwgQWRkcmVzcywgQ291bnQsIEJ1ZmZlcik7DQo+ICt9DQo+ICsN Cj4gKy8qKg0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byBhZGQgSU8gcmVhZC93cml0ZSBvcGNv ZGUgdG8gdGhlIHRhYmxlLg0KPiArDQo+ICsgIEBwYXJhbSAgTWFya2VyICAgICAgICAgICAgICAg IFRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0IHRvIGdldCB0aGUgb3Bjb2RlDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhc3NvY2lhdGVkIGF0dHJpYnV0ZXMuDQo+ICsN Cj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgTm90IGVub3VnaCByZXNvdXJjZSB0 byBkbyBvcGVyYXRpb24uDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIE9wY29k ZSBpcyBhZGRlZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCb290U2NyaXB0SW9S ZWFkV3JpdGUgKA0KPiArICBJTiBWQV9MSVNUICAgICAgICAgICAgICAgICAgICAgICBNYXJrZXIN Cj4gKyAgKQ0KPiArew0KPiArICBTM19CT09UX1NDUklQVF9MSUJfV0lEVEggV2lkdGg7DQo+ICsg IFVJTlQ2NCAgICAgICAgICAgICAgICBBZGRyZXNzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAg ICAgKkRhdGE7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAqRGF0YU1hc2s7DQo+ICsNCj4g KyAgV2lkdGggICAgICAgPSBWQV9BUkcgKE1hcmtlciwgUzNfQk9PVF9TQ1JJUFRfTElCX1dJRFRI KTsNCj4gKyAgQWRkcmVzcyAgICAgPSBWQV9BUkcgKE1hcmtlciwgVUlOVDY0KTsNCj4gKyAgRGF0 YSAgICAgICAgPSBWQV9BUkcgKE1hcmtlciwgVUlOVDggKik7DQo+ICsgIERhdGFNYXNrICAgID0g VkFfQVJHIChNYXJrZXIsIFVJTlQ4ICopOw0KPiArDQo+ICsgIHJldHVybiBTM0Jvb3RTY3JpcHRT YXZlSW9SZWFkV3JpdGUgKFdpZHRoLCBBZGRyZXNzLCBEYXRhLCBEYXRhTWFzayk7DQo+ICt9DQo+ ICsNCj4gKy8qKg0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byBhZGQgbWVtb3J5IHdyaXRlIG9w Y29kZSB0byB0aGUgdGFibGUuDQo+ICsNCj4gKyAgQHBhcmFtICBNYXJrZXIgICAgICAgICAgICAg ICAgVGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QgdG8gZ2V0IHRoZSBvcGNvZGUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFzc29jaWF0ZWQgYXR0cmlidXRlcy4NCj4g Kw0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBOb3QgZW5vdWdoIHJlc291cmNl IHRvIGRvIG9wZXJhdGlvbi4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgT3Bj b2RlIGlzIGFkZGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0Jvb3RTY3JpcHRN ZW1Xcml0ZSAoDQo+ICsgIElOIFZBX0xJU1QgICAgICAgICAgICAgICAgICAgICAgIE1hcmtlcg0K PiArICApDQo+ICt7DQo+ICsgIFMzX0JPT1RfU0NSSVBUX0xJQl9XSURUSCBXaWR0aDsNCj4gKyAg VUlOVDY0ICAgICAgICAgICAgICAgIEFkZHJlc3M7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICBDb3VudDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICpCdWZmZXI7DQo+ICsNCj4gKyAg V2lkdGggICAgICAgPSBWQV9BUkcgKE1hcmtlciwgUzNfQk9PVF9TQ1JJUFRfTElCX1dJRFRIKTsN Cj4gKyAgQWRkcmVzcyAgICAgPSBWQV9BUkcgKE1hcmtlciwgVUlOVDY0KTsNCj4gKyAgQ291bnQg ICAgICAgPSBWQV9BUkcgKE1hcmtlciwgVUlOVE4pOw0KPiArICBCdWZmZXIgICAgICA9IFZBX0FS RyAoTWFya2VyLCBVSU5UOCAqKTsNCj4gKw0KPiArICByZXR1cm4gUzNCb290U2NyaXB0U2F2ZU1l bVdyaXRlIChXaWR0aCwgQWRkcmVzcywgQ291bnQsIEJ1ZmZlcik7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byBhZGQgbWVtb3J5IHJlYWQvd3JpdGUgb3Bjb2Rl IHRvIHRoZSB0YWJsZS4NCj4gKw0KPiArICBAcGFyYW0gIE1hcmtlciAgICAgICAgICAgICAgICBU aGUgdmFyaWFibGUgYXJndW1lbnQgbGlzdCB0byBnZXQgdGhlIG9wY29kZQ0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBhbmQgYXNzb2NpYXRlZCBhdHRyaWJ1dGVzLg0KPiArDQo+ ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgIE5vdCBlbm91Z2ggcmVzb3VyY2UgdG8g ZG8gb3BlcmF0aW9uLg0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBPcGNvZGUg aXMgYWRkZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQm9vdFNjcmlwdE1lbVJl YWRXcml0ZSAoDQo+ICsgIElOIFZBX0xJU1QgICAgICAgICAgICAgICAgICAgICAgIE1hcmtlcg0K PiArICApDQo+ICt7DQo+ICsgIFMzX0JPT1RfU0NSSVBUX0xJQl9XSURUSCBXaWR0aDsNCj4gKyAg VUlOVDY0ICAgICAgICAgICAgICAgIEFkZHJlc3M7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAg ICAqRGF0YTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICpEYXRhTWFzazsNCj4gKw0KPiAr ICBXaWR0aCAgICAgICA9IFZBX0FSRyAoTWFya2VyLCBTM19CT09UX1NDUklQVF9MSUJfV0lEVEgp Ow0KPiArICBBZGRyZXNzICAgICA9IFZBX0FSRyAoTWFya2VyLCBVSU5UNjQpOw0KPiArICBEYXRh ICAgICAgICA9IFZBX0FSRyAoTWFya2VyLCBVSU5UOCAqKTsNCj4gKyAgRGF0YU1hc2sgICAgPSBW QV9BUkcgKE1hcmtlciwgVUlOVDggKik7DQo+ICsNCj4gKyAgcmV0dXJuIFMzQm9vdFNjcmlwdFNh dmVNZW1SZWFkV3JpdGUgKFdpZHRoLCBBZGRyZXNzLCBEYXRhLCBEYXRhTWFzayk7DQo+ICt9DQo+ ICsNCj4gKy8qKg0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byBhZGQgUGNpQ2ZnIHdyaXRlIG9w Y29kZSB0byB0aGUgdGFibGUuDQo+ICsNCj4gKyAgQHBhcmFtICBNYXJrZXIgICAgICAgICAgICAg ICAgVGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QgdG8gZ2V0IHRoZSBvcGNvZGUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFzc29jaWF0ZWQgYXR0cmlidXRlcy4NCj4g Kw0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBOb3QgZW5vdWdoIHJlc291cmNl IHRvIGRvIG9wZXJhdGlvbi4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgT3Bj b2RlIGlzIGFkZGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0Jvb3RTY3JpcHRQ Y2lDZmdXcml0ZSAoDQo+ICsgIElOIFZBX0xJU1QgICAgICAgICAgICAgICAgICAgICAgIE1hcmtl cg0KPiArICApDQo+ICt7DQo+ICsgIFMzX0JPT1RfU0NSSVBUX0xJQl9XSURUSCBXaWR0aDsNCj4g KyAgVUlOVDY0ICAgICAgICAgICAgICAgIEFkZHJlc3M7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICBDb3VudDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICpCdWZmZXI7DQo+ICsNCj4g KyAgV2lkdGggICAgICAgPSBWQV9BUkcgKE1hcmtlciwgUzNfQk9PVF9TQ1JJUFRfTElCX1dJRFRI KTsNCj4gKyAgQWRkcmVzcyAgICAgPSBWQV9BUkcgKE1hcmtlciwgVUlOVDY0KTsNCj4gKyAgQ291 bnQgICAgICAgPSBWQV9BUkcgKE1hcmtlciwgVUlOVE4pOw0KPiArICBCdWZmZXIgICAgICA9IFZB X0FSRyAoTWFya2VyLCBVSU5UOCAqKTsNCj4gKw0KPiArICByZXR1cm4gUzNCb290U2NyaXB0U2F2 ZVBjaUNmZ1dyaXRlIChXaWR0aCwgQWRkcmVzcywgQ291bnQsIEJ1ZmZlcik7DQo+ICt9DQo+ICsN Cj4gKy8qKg0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byBQY2lDZmcgcmVhZC93cml0ZSBvcGNv ZGUgdG8gdGhlIHRhYmxlLg0KPiArDQo+ICsgIEBwYXJhbSAgTWFya2VyICAgICAgICAgICAgICAg IFRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0IHRvIGdldCB0aGUgb3Bjb2RlDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhc3NvY2lhdGVkIGF0dHJpYnV0ZXMuDQo+ICsN Cj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgTm90IGVub3VnaCByZXNvdXJjZSB0 byBkbyBvcGVyYXRpb24uDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIE9wY29k ZSBpcyBhZGRlZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCb290U2NyaXB0UGNp Q2ZnUmVhZFdyaXRlICgNCj4gKyAgSU4gVkFfTElTVCAgICAgICAgICAgICAgICAgICAgICAgTWFy a2VyDQo+ICsgICkNCj4gK3sNCj4gKyAgUzNfQk9PVF9TQ1JJUFRfTElCX1dJRFRIIFdpZHRoOw0K PiArICBVSU5UNjQgICAgICAgICAgICAgICAgQWRkcmVzczsNCj4gKyAgVUlOVDggICAgICAgICAg ICAgICAgICpEYXRhOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgKkRhdGFNYXNrOw0KPiAr DQo+ICsgIFdpZHRoICAgICAgID0gVkFfQVJHIChNYXJrZXIsIFMzX0JPT1RfU0NSSVBUX0xJQl9X SURUSCk7DQo+ICsgIEFkZHJlc3MgICAgID0gVkFfQVJHIChNYXJrZXIsIFVJTlQ2NCk7DQo+ICsg IERhdGEgICAgICAgID0gVkFfQVJHIChNYXJrZXIsIFVJTlQ4ICopOw0KPiArICBEYXRhTWFzayAg ICA9IFZBX0FSRyAoTWFya2VyLCBVSU5UOCAqKTsNCj4gKw0KPiArICByZXR1cm4gUzNCb290U2Ny aXB0U2F2ZVBjaUNmZ1JlYWRXcml0ZSAoV2lkdGgsIEFkZHJlc3MsIERhdGEsDQo+IERhdGFNYXNr KTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEludGVybmFsIGZ1bmN0aW9uIHRvIGFkZCBQY2lD ZmcyIHdyaXRlIG9wY29kZSB0byB0aGUgdGFibGUuDQo+ICsNCj4gKyAgQHBhcmFtICBNYXJrZXIg ICAgICAgICAgICAgICAgVGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QgdG8gZ2V0IHRoZSBvcGNv ZGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFzc29jaWF0ZWQgYXR0 cmlidXRlcy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBOb3QgZW5v dWdoIHJlc291cmNlIHRvIGRvIG9wZXJhdGlvbi4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICAgT3Bjb2RlIGlzIGFkZGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0Jvb3RTY3JpcHRQY2lDZmcyV3JpdGUgKA0KPiArICBJTiBWQV9MSVNUICAgICAgICAgICAgICAg ICAgICAgICBNYXJrZXINCj4gKyAgKQ0KPiArew0KPiArICBTM19CT09UX1NDUklQVF9MSUJfV0lE VEggV2lkdGg7DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICBBZGRyZXNzOw0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgQ291bnQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAqQnVm ZmVyOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgU2VnbWVudDsNCj4gKw0KPiArICBXaWR0 aCAgICAgICA9IFZBX0FSRyAoTWFya2VyLCBTM19CT09UX1NDUklQVF9MSUJfV0lEVEgpOw0KPiAr ICBBZGRyZXNzICAgICA9IFZBX0FSRyAoTWFya2VyLCBVSU5UNjQpOw0KPiArICBDb3VudCAgICAg ICA9IFZBX0FSRyAoTWFya2VyLCBVSU5UTik7DQo+ICsgIEJ1ZmZlciAgICAgID0gVkFfQVJHIChN YXJrZXIsIFVJTlQ4ICopOw0KPiArICBTZWdtZW50ICAgICA9IFZBX0FSRyAoTWFya2VyLCBVSU5U MTYpOw0KPiArDQo+ICsgIHJldHVybiBTM0Jvb3RTY3JpcHRTYXZlUGNpQ2ZnMldyaXRlIChXaWR0 aCwgU2VnbWVudCwgQWRkcmVzcywgQ291bnQsDQo+IEJ1ZmZlcik7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byBQY2lDZmcyIHJlYWQvd3JpdGUgb3Bjb2RlIHRv IHRoZSB0YWJsZS4NCj4gKw0KPiArICBAcGFyYW0gIE1hcmtlciAgICAgICAgICAgICAgICBUaGUg dmFyaWFibGUgYXJndW1lbnQgbGlzdCB0byBnZXQgdGhlIG9wY29kZQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhbmQgYXNzb2NpYXRlZCBhdHRyaWJ1dGVzLg0KPiArDQo+ICsg IEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgIE5vdCBlbm91Z2ggcmVzb3VyY2UgdG8gZG8g b3BlcmF0aW9uLg0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBPcGNvZGUgaXMg YWRkZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQm9vdFNjcmlwdFBjaUNmZzJS ZWFkV3JpdGUgKA0KPiArICBJTiBWQV9MSVNUICAgICAgICAgICAgICAgICAgICAgICBNYXJrZXIN Cj4gKyAgKQ0KPiArew0KPiArICBTM19CT09UX1NDUklQVF9MSUJfV0lEVEggV2lkdGg7DQo+ICsg IFVJTlQxNiAgICAgICAgICAgICAgICBTZWdtZW50Ow0KPiArICBVSU5UNjQgICAgICAgICAgICAg ICAgQWRkcmVzczsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICpEYXRhOw0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgKkRhdGFNYXNrOw0KPiArDQo+ICsgIFdpZHRoICAgICAgID0gVkFf QVJHIChNYXJrZXIsIFMzX0JPT1RfU0NSSVBUX0xJQl9XSURUSCk7DQo+ICsgIEFkZHJlc3MgICAg ID0gVkFfQVJHIChNYXJrZXIsIFVJTlQ2NCk7DQo+ICsgIFNlZ21lbnQgICAgID0gVkFfQVJHIChN YXJrZXIsIFVJTlQxNik7DQo+ICsgIERhdGEgICAgICAgID0gVkFfQVJHIChNYXJrZXIsIFVJTlQ4 ICopOw0KPiArICBEYXRhTWFzayAgICA9IFZBX0FSRyAoTWFya2VyLCBVSU5UOCAqKTsNCj4gKw0K PiArICByZXR1cm4gUzNCb290U2NyaXB0U2F2ZVBjaUNmZzJSZWFkV3JpdGUgKFdpZHRoLCBTZWdt ZW50LCBBZGRyZXNzLCBEYXRhLA0KPiBEYXRhTWFzayk7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiAr ICBJbnRlcm5hbCBmdW5jdGlvbiB0byBhZGQgc21idXMgZXhlY3V0ZSBvcGNvZGUgdG8gdGhlIHRh YmxlLg0KPiArDQo+ICsgIEBwYXJhbSAgTWFya2VyICAgICAgICAgICAgICAgIFRoZSB2YXJpYWJs ZSBhcmd1bWVudCBsaXN0IHRvIGdldCB0aGUgb3Bjb2RlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGFuZCBhc3NvY2lhdGVkIGF0dHJpYnV0ZXMuDQo+ICsNCj4gKyAgQHJldHZh bCBFRklfT1VUX09GX1JFU09VUkNFUyAgTm90IGVub3VnaCByZXNvdXJjZSB0byBkbyBvcGVyYXRp b24uDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIE9wY29kZSBpcyBhZGRlZC4N Cj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCb290U2NyaXB0U21idXNFeGVjdXRlICgN Cj4gKyAgSU4gVkFfTElTVCAgICAgICAgICAgICAgICAgICAgICAgTWFya2VyDQo+ICsgICkNCj4g K3sNCj4gKyAgRUZJX1NNQlVTX0RFVklDRV9BRERSRVNTICBTbGF2ZUFkZHJlc3M7DQo+ICsgIEVG SV9TTUJVU19ERVZJQ0VfQ09NTUFORCAgQ29tbWFuZDsNCj4gKyAgRUZJX1NNQlVTX09QRVJBVElP TiAgICAgICBPcGVyYXRpb247DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgUGVjQ2hl Y2s7DQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyOw0KPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgKkRhdGFTaXplOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgIFNtQnVzQWRkcmVzczsNCj4gKw0KPiArICBTbGF2ZUFkZHJlc3MuU21idXNEZXZpY2VBZGRy ZXNzID0gVkFfQVJHIChNYXJrZXIsIFVJTlROKTsNCj4gKyAgQ29tbWFuZCAgICAgICAgICAgICAg ICAgICAgICAgICA9IFZBX0FSRyAoTWFya2VyLA0KPiBFRklfU01CVVNfREVWSUNFX0NPTU1BTkQp Ow0KPiArICBPcGVyYXRpb24gICAgICAgICAgICAgICAgICAgICAgID0gVkFfQVJHIChNYXJrZXIs IEVGSV9TTUJVU19PUEVSQVRJT04pOw0KPiArICBQZWNDaGVjayAgICAgICAgICAgICAgICAgICAg ICAgID0gVkFfQVJHIChNYXJrZXIsIEJPT0xFQU4pOw0KPiArICBTbUJ1c0FkZHJlc3MgICAgICAg ICAgICAgICAgICAgID0gU01CVVNfTElCX0FERFJFU1MNCj4gKFNsYXZlQWRkcmVzcy5TbWJ1c0Rl dmljZUFkZHJlc3MsQ29tbWFuZCwwLFBlY0NoZWNrKTsNCj4gKyAgRGF0YVNpemUgICAgICAgICAg ICAgICAgICAgICAgICA9IFZBX0FSRyAoTWFya2VyLCBVSU5UTiAqKTsNCj4gKyAgQnVmZmVyICAg ICAgICAgICAgICAgICAgICAgICAgICA9IFZBX0FSRyAoTWFya2VyLCBWT0lEICopOw0KPiArDQo+ ICsgIHJldHVybiBTM0Jvb3RTY3JpcHRTYXZlU21idXNFeGVjdXRlIChTbUJ1c0FkZHJlc3MsIE9w ZXJhdGlvbiwNCj4gRGF0YVNpemUsIEJ1ZmZlcik7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBJ bnRlcm5hbCBmdW5jdGlvbiB0byBhZGQgc3RhbGwgb3Bjb2RlIHRvIHRoZSB0YWJsZS4NCj4gKw0K PiArICBAcGFyYW0gIE1hcmtlciAgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUgYXJndW1lbnQg bGlzdCB0byBnZXQgdGhlIG9wY29kZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBhbmQgYXNzb2NpYXRlZCBhdHRyaWJ1dGVzLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX09VVF9P Rl9SRVNPVVJDRVMgIE5vdCBlbm91Z2ggcmVzb3VyY2UgdG8gZG8gb3BlcmF0aW9uLg0KPiArICBA cmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBPcGNvZGUgaXMgYWRkZWQuDQo+ICsNCj4gKyoq Lw0KPiArRUZJX1NUQVRVUw0KPiArQm9vdFNjcmlwdFN0YWxsICgNCj4gKyAgSU4gVkFfTElTVCAg ICAgICAgICAgICAgICAgICAgICAgTWFya2VyDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICAg ICAgICAgICAgICAgIER1cmF0aW9uOw0KPiArDQo+ICsgIER1cmF0aW9uICAgID0gVkFfQVJHIChN YXJrZXIsIFVJTlQzMik7DQo+ICsNCj4gKyAgcmV0dXJuIFMzQm9vdFNjcmlwdFNhdmVTdGFsbCAo RHVyYXRpb24pOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgSW50ZXJuYWwgZnVuY3Rpb24gdG8g YWRkIFNhdmUgam1wIGFkZHJlc3MgYWNjb3JkaW5nIHRvIERJU1BBVENIX09QQ09ERS4NCj4gKyAg V2UgaWdub3JlICJDb250ZXh0IiBwYXJhbWV0ZXIuDQo+ICsNCj4gKyAgQHBhcmFtICBNYXJrZXIg ICAgICAgICAgICAgICAgVGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QgdG8gZ2V0IHRoZSBvcGNv ZGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFzc29jaWF0ZWQgYXR0 cmlidXRlcy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBOb3QgZW5v dWdoIHJlc291cmNlIHRvIGRvIG9wZXJhdGlvbi4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICAgT3Bjb2RlIGlzIGFkZGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0Jvb3RTY3JpcHREaXNwYXRjaCAoDQo+ICsgIElOIFZBX0xJU1QgICAgICAgICAgICAgICAgICAg ICAgIE1hcmtlcg0KPiArICApDQo+ICt7DQo+ICsgIFZPSUQgICAgICAgICpFbnRyeVBvaW50Ow0K PiArDQo+ICsgIEVudHJ5UG9pbnQgPSAoVk9JRCopKFVJTlROKVZBX0FSRyAoTWFya2VyLCBFRklf UEhZU0lDQUxfQUREUkVTUyk7DQo+ICsgIHJldHVybiBTM0Jvb3RTY3JpcHRTYXZlRGlzcGF0Y2gg KEVudHJ5UG9pbnQpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgSW50ZXJuYWwgZnVuY3Rpb24g dG8gYWRkIG1lbW9yeSBwb29sIG9wZXJhdGlvbiB0byB0aGUgdGFibGUuDQo+ICsNCj4gKyAgQHBh cmFtICBNYXJrZXIgICAgICAgICAgICAgICAgVGhlIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QgdG8g Z2V0IHRoZSBvcGNvZGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYW5kIGFz c29jaWF0ZWQgYXR0cmlidXRlcy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VS Q0VTICBOb3QgZW5vdWdoIHJlc291cmNlIHRvIGRvIG9wZXJhdGlvbi4NCj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgICAgICAgT3Bjb2RlIGlzIGFkZGVkLg0KPiArDQo+ICsqKi8NCj4gK0VG SV9TVEFUVVMNCj4gK0Jvb3RTY3JpcHRNZW1Qb2xsICgNCj4gKyAgSU4gVkFfTElTVCAgICAgICAg ICAgICAgICAgICAgICAgTWFya2VyDQo+ICsgICkNCj4gK3sNCj4gKyAgUzNfQk9PVF9TQ1JJUFRf TElCX1dJRFRIIFdpZHRoOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgQWRkcmVzczsNCj4g KyAgVUlOVDggICAgICAgICAgICAgICAgICpCaXRNYXNrOw0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgKkJpdFZhbHVlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICBEdXJhdGlvbjsNCj4g KyAgVUlOVDY0ICAgICAgICAgICAgICAgTG9vcFRpbWVzOw0KPiArDQo+ICsgIFdpZHRoICAgICAg ID0gVkFfQVJHIChNYXJrZXIsIFMzX0JPT1RfU0NSSVBUX0xJQl9XSURUSCk7DQo+ICsgIEFkZHJl c3MgICAgID0gVkFfQVJHIChNYXJrZXIsIFVJTlQ2NCk7DQo+ICsgIEJpdE1hc2sgICAgID0gVkFf QVJHIChNYXJrZXIsIFVJTlQ4ICopOw0KPiArICBCaXRWYWx1ZSAgICA9IFZBX0FSRyAoTWFya2Vy LCBVSU5UOCAqKTsNCj4gKyAgRHVyYXRpb24gICAgPSAoVUlOVE4pVkFfQVJHIChNYXJrZXIsIFVJ TlQ2NCk7DQo+ICsgIExvb3BUaW1lcyAgID0gVkFfQVJHIChNYXJrZXIsIFVJTlQ2NCk7DQo+ICsN Cj4gKyAgcmV0dXJuIFMzQm9vdFNjcmlwdFNhdmVNZW1Qb2xsIChXaWR0aCwgQWRkcmVzcywgQml0 TWFzaywgQml0VmFsdWUsDQo+IER1cmF0aW9uLCBMb29wVGltZXMpOw0KPiArfQ0KPiArDQo+ICsv KioNCj4gKyAgSW50ZXJuYWwgZnVuY3Rpb24gdG8gYWRkIFNhdmUgam1wIGFkZHJlc3MgYWNjb3Jk aW5nIHRvDQo+IERJU1BBVENIX09QQ09ERTIuDQo+ICsgIFRoZSAiQ29udGV4dCIgcGFyYW1ldGVy IGlzIG5vdCBpZ25vcmVkLg0KPiArDQo+ICsgIEBwYXJhbSAgTWFya2VyICAgICAgICAgICAgICAg IFRoZSB2YXJpYWJsZSBhcmd1bWVudCBsaXN0IHRvIGdldCB0aGUgb3Bjb2RlDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBhc3NvY2lhdGVkIGF0dHJpYnV0ZXMuDQo+ICsN Cj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgTm90IGVub3VnaCByZXNvdXJjZSB0 byBkbyBvcGVyYXRpb24uDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIE9wY29k ZSBpcyBhZGRlZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCb290U2NyaXB0RGlz cGF0Y2gyICgNCj4gKyAgSU4gVkFfTElTVCAgICAgICAgICAgICAgICAgICAgICAgTWFya2VyDQo+ ICsgICkNCj4gK3sNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAgICpFbnRyeVBvaW50Ow0KPiAr ICBWT0lEICAgICAgICAgICAgICAgICAgKkNvbnRleHQ7DQo+ICsNCj4gKyAgRW50cnlQb2ludCA9 IChWT0lEKikoVUlOVE4pVkFfQVJHIChNYXJrZXIsIEVGSV9QSFlTSUNBTF9BRERSRVNTKTsNCj4g KyAgQ29udGV4dCAgICA9IChWT0lEKikoVUlOVE4pVkFfQVJHIChNYXJrZXIsIEVGSV9QSFlTSUNB TF9BRERSRVNTKTsNCj4gKw0KPiArICByZXR1cm4gUzNCb290U2NyaXB0U2F2ZURpc3BhdGNoMiAo RW50cnlQb2ludCwgQ29udGV4dCk7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBJbnRlcm5hbCBm dW5jdGlvbiB0byBhZGQgdGhlIG9wY29kZSBsaW5rIG5vZGUgdG8gdGhlIGxpbmsgbGlzdC4NCj4g Kw0KPiArICBAcGFyYW0gIE1hcmtlciAgICAgICAgICAgICAgICBUaGUgdmFyaWFibGUgYXJndW1l bnQgbGlzdCB0byBnZXQgdGhlIG9wY29kZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBhbmQgYXNzb2NpYXRlZCBhdHRyaWJ1dGVzLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX09V VF9PRl9SRVNPVVJDRVMgIE5vdCBlbm91Z2h0IHJlc291cmNlIHRvIGNvbXBsZXRlIHRoZQ0KPiBv cGVyYXRpb25zLg0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgb3Bjb2Rl IGVudHJ5IGlzIGFkZGVkIHRvIHRoZSBsaW5rIGxpc3QNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgc3VjY2Vzc2Z1bGx5Lg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCb290 U2NyaXB0SW5mb3JtYXRpb24gKA0KPiArICBJTiBWQV9MSVNUICAgICAgICAgICAgICAgICAgICAg ICBNYXJrZXINCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgSW5mb3Jt YXRpb25MZW5ndGg7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICBJbmZvcm1hdGlvbjsNCj4g Kw0KPiArICBJbmZvcm1hdGlvbkxlbmd0aCA9IFZBX0FSRyAoTWFya2VyLCBVSU5UMzIpOw0KPiAr ICBJbmZvcm1hdGlvbiA9IFZBX0FSRyAoTWFya2VyLCBFRklfUEhZU0lDQUxfQUREUkVTUyk7DQo+ ICsgIHJldHVybiBTM0Jvb3RTY3JpcHRTYXZlSW5mb3JtYXRpb24gKEluZm9ybWF0aW9uTGVuZ3Ro LA0KPiAoVk9JRCopKFVJTlROKUluZm9ybWF0aW9uKTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsg IEFkZHMgYSByZWNvcmQgaW50byBhIHNwZWNpZmllZCBGcmFtZXdvcmsgYm9vdCBzY3JpcHQgdGFi bGUuDQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiBpcyB1c2VkIHRvIHN0b3JlIGEgYm9vdCBzY3Jp cHQgcmVjb3JkIGludG8gYSBnaXZlbiBib290DQo+ICsgIHNjcmlwdCB0YWJsZS4gSWYgdGhlIHRh YmxlIHNwZWNpZmllZCBieSBUYWJsZU5hbWUgaXMgbm9uZXhpc3RlbnQgaW4gdGhlDQo+ICsgIHN5 c3RlbSwgYSBuZXcgdGFibGUgd2lsbCBhdXRvbWF0aWNhbGx5IGJlIGNyZWF0ZWQgYW5kIHRoZW4g dGhlIHNjcmlwdA0KPiByZWNvcmQNCj4gKyAgd2lsbCBiZSBhZGRlZCBpbnRvIHRoZSBuZXcgdGFi bGUuIEEgYm9vdCBzY3JpcHQgdGFibGUgY2FuIGFkZCBuZXcgc2NyaXB0DQo+IHJlY29yZHMNCj4g KyAgdW50aWwgRUZJX0JPT1RfU0NSSVBUX1NBVkVfUFJPVE9DT0wuQ2xvc2VUYWJsZSgpIGlzIGNh bGxlZC4gQ3VycmVudGx5LA0KPiB0aGUgb25seQ0KPiArICBtZWFuaW5nZnVsIHRhYmxlIG5hbWUg aXMgRUZJX0FDUElfUzNfUkVTVU1FX1NDUklQVF9UQUJMRS4gVGhpcw0KPiBmdW5jdGlvbiBpcw0K PiArICByZXNwb25zaWJsZSBmb3IgYWxsb2NhdGluZyBuZWNlc3NhcnkgbWVtb3J5IGZvciB0aGUg c2NyaXB0Lg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gaGFzIGEgdmFyaWFibGUgcGFyYW1ldGVy IGxpc3QuIFRoZSBleGFjdCBwYXJhbWV0ZXIgbGlzdA0KPiBkZXBlbmRzIG9uDQo+ICsgIHRoZSBP cENvZGUgdGhhdCBpcyBwYXNzZWQgaW50byB0aGUgZnVuY3Rpb24uIElmIGFuIHVuc3VwcG9ydGVk IE9wQ29kZSBvcg0KPiBpbGxlZ2FsDQo+ICsgIHBhcmFtZXRlciBsaXN0IGlzIHBhc3NlZCBpbiwg dGhpcyBmdW5jdGlvbiByZXR1cm5zIEVGSV9JTlZBTElEX1BBUkFNRVRFUi4NCj4gKyAgSWYgdGhl cmUgYXJlIG5vdCBlbm91Z2ggcmVzb3VyY2VzIGF2YWlsYWJsZSBmb3Igc3RvcmluZyBtb3JlIHNj cmlwdHMsIHRoaXMNCj4gZnVuY3Rpb24gcmV0dXJucw0KPiArICBFRklfT1VUX09GX1JFU09VUkNF Uy4NCj4gKw0KPiArICBAcGFyYW0gIFRoaXMgICAgICAgICAgICAgICAgICBBIHBvaW50ZXIgdG8g dGhlDQo+IEVGSV9CT09UX1NDUklQVF9TQVZFX1BST1RPQ09MIGluc3RhbmNlLg0KPiArICBAcGFy YW0gIFRhYmxlTmFtZSAgICAgICAgICAgICBOYW1lIG9mIHRoZSBzY3JpcHQgdGFibGUuIEN1cnJl bnRseSwgdGhlIG9ubHkNCj4gbWVhbmluZ2Z1bCB2YWx1ZSBpcw0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFRklfQUNQSV9TM19SRVNVTUVfU0NSSVBUX1RBQkxFLg0KPiArICBA cGFyYW0gIE9wQ29kZSAgICAgICAgICAgICAgICBUaGUgb3BlcmF0aW9uIGNvZGUgKG9wY29kZSkg bnVtYmVyLg0KPiArICBAcGFyYW0gIC4uLiAgICAgICAgICAgICAgICAgICBBcmd1bWVudCBsaXN0 IHRoYXQgaXMgc3BlY2lmaWMgdG8gZWFjaCBvcGNvZGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBzdWNjZWVkZWQuIEEgcmVjb3JkIHdhcyBh ZGRlZA0KPiBpbnRvIHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVj aWZpZWQgc2NyaXB0IHRhYmxlLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBU aGUgcGFyYW1ldGVyIGlzIGlsbGVnYWwgb3IgdGhlIGdpdmVuDQo+IGJvb3Qgc2NyaXB0IGlzIG5v dCBzdXBwb3J0ZWQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBv cGNvZGUgaXMgdW5rbm93IG9yIG5vdCBzdXBwb3J0ZWQgYmVjYXVzZSBvZiB0aGUNCj4gUENEDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZlYXR1cmUgRmxhZ3MuDQo+ICsgIEBy ZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgIFRoZXJlIGlzIGluc3VmZmljaWVudCBtZW1vcnkg dG8gc3RvcmUNCj4gdGhlIGJvb3Qgc2NyaXB0Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMN Cj4gK0VGSUFQSQ0KPiArQm9vdFNjcmlwdFdyaXRlICgNCj4gKyAgSU4gRUZJX0JPT1RfU0NSSVBU X1NBVkVfUFJPVE9DT0wgICAgKlRoaXMsDQo+ICsgIElOIFVJTlQxNiAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRhYmxlTmFtZSwNCj4gKyAgSU4gVUlOVDE2ICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3BDb2RlLA0KPiArICAuLi4NCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAg ICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVkFfTElTVCAgICAgICAgICAgICAgICAgICBNYXJr ZXI7DQo+ICsNCj4gKyAgaWYgKFRhYmxlTmFtZSAhPSBGUkFNRVdPUktfRUZJX0FDUElfUzNfUkVT VU1FX1NDUklQVF9UQUJMRSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gT25seSBTMyBib290IHNj cmlwdCBpcyBzdXBwb3J0ZWQgZm9yIG5vdy4NCj4gKyAgICAvLw0KPiArICAgIHJldHVybiBFRklf T1VUX09GX1JFU09VUkNFUzsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJ1aWxkIHNj cmlwdCBhY2NvcmRpbmcgdG8gb3Bjb2RlLg0KPiArICAvLw0KPiArICBzd2l0Y2ggKE9wQ29kZSkg ew0KPiArDQo+ICsgIGNhc2UgRUZJX0JPT1RfU0NSSVBUX0lPX1dSSVRFX09QQ09ERToNCj4gKyAg ICBWQV9TVEFSVCAoTWFya2VyLCBPcENvZGUpOw0KPiArICAgIFN0YXR1cyA9IEJvb3RTY3JpcHRJ b1dyaXRlIChNYXJrZXIpOw0KPiArICAgIFZBX0VORCAoTWFya2VyKTsNCj4gKyAgICBicmVhazsN Cj4gKw0KPiArICBjYXNlIEVGSV9CT09UX1NDUklQVF9JT19SRUFEX1dSSVRFX09QQ09ERToNCj4g KyAgICBWQV9TVEFSVCAoTWFya2VyLCBPcENvZGUpOw0KPiArICAgIFN0YXR1cyA9IEJvb3RTY3Jp cHRJb1JlYWRXcml0ZSAoTWFya2VyKTsNCj4gKyAgICBWQV9FTkQgKE1hcmtlcik7DQo+ICsgICAg YnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBFRklfQk9PVF9TQ1JJUFRfTUVNX1dSSVRFX09QQ09ERToN Cj4gKyAgICBWQV9TVEFSVCAoTWFya2VyLCBPcENvZGUpOw0KPiArICAgIFN0YXR1cyA9IEJvb3RT Y3JpcHRNZW1Xcml0ZSAoTWFya2VyKTsNCj4gKyAgICBWQV9FTkQgKE1hcmtlcik7DQo+ICsgICAg YnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBFRklfQk9PVF9TQ1JJUFRfTUVNX1JFQURfV1JJVEVfT1BD T0RFOg0KPiArICAgIFZBX1NUQVJUIChNYXJrZXIsIE9wQ29kZSk7DQo+ICsgICAgU3RhdHVzID0g Qm9vdFNjcmlwdE1lbVJlYWRXcml0ZSAoTWFya2VyKTsNCj4gKyAgICBWQV9FTkQgKE1hcmtlcik7 DQo+ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBFRklfQk9PVF9TQ1JJUFRfUENJX0NPTkZJ R19XUklURV9PUENPREU6DQo+ICsgICAgVkFfU1RBUlQgKE1hcmtlciwgT3BDb2RlKTsNCj4gKyAg ICBTdGF0dXMgPSBCb290U2NyaXB0UGNpQ2ZnV3JpdGUgKE1hcmtlcik7DQo+ICsgICAgVkFfRU5E IChNYXJrZXIpOw0KPiArICAgIGJyZWFrOw0KPiArDQo+ICsgIGNhc2UgRUZJX0JPT1RfU0NSSVBU X1BDSV9DT05GSUdfUkVBRF9XUklURV9PUENPREU6DQo+ICsgICAgVkFfU1RBUlQgKE1hcmtlciwg T3BDb2RlKTsNCj4gKyAgICBTdGF0dXMgPSBCb290U2NyaXB0UGNpQ2ZnUmVhZFdyaXRlIChNYXJr ZXIpOw0KPiArICAgIFZBX0VORCAoTWFya2VyKTsNCj4gKyAgICBicmVhazsNCj4gKw0KPiArICBj YXNlIEVGSV9CT09UX1NDUklQVF9TTUJVU19FWEVDVVRFX09QQ09ERToNCj4gKyAgICBWQV9TVEFS VCAoTWFya2VyLCBPcENvZGUpOw0KPiArICAgIFN0YXR1cyA9IEJvb3RTY3JpcHRTbWJ1c0V4ZWN1 dGUgKE1hcmtlcik7DQo+ICsgICAgVkFfRU5EIChNYXJrZXIpOw0KPiArICAgIGJyZWFrOw0KPiAr DQo+ICsgIGNhc2UgRUZJX0JPT1RfU0NSSVBUX1NUQUxMX09QQ09ERToNCj4gKyAgICBWQV9TVEFS VCAoTWFya2VyLCBPcENvZGUpOw0KPiArICAgIFN0YXR1cyA9IEJvb3RTY3JpcHRTdGFsbCAoTWFy a2VyKTsNCj4gKyAgICBWQV9FTkQgKE1hcmtlcik7DQo+ICsNCj4gKyAgICBicmVhazsNCj4gKw0K PiArICBjYXNlIEVGSV9CT09UX1NDUklQVF9ESVNQQVRDSF9PUENPREU6DQo+ICsgICAgVkFfU1RB UlQgKE1hcmtlciwgT3BDb2RlKTsNCj4gKyAgICBTdGF0dXMgPSBCb290U2NyaXB0RGlzcGF0Y2gg KE1hcmtlcik7DQo+ICsgICAgVkFfRU5EIChNYXJrZXIpOw0KPiArICAgIGJyZWFrOw0KPiArDQo+ ICsgIGNhc2UgRUZJX0JPT1RfU0NSSVBUX0RJU1BBVENIXzJfT1BDT0RFOg0KPiArICAgIFZBX1NU QVJUIChNYXJrZXIsIE9wQ29kZSk7DQo+ICsgICAgU3RhdHVzID0gQm9vdFNjcmlwdERpc3BhdGNo MiAoTWFya2VyKTsNCj4gKyAgICBWQV9FTkQgKE1hcmtlcik7DQo+ICsgICAgYnJlYWs7DQo+ICsN Cj4gKyAgY2FzZSBFRklfQk9PVF9TQ1JJUFRfSU5GT1JNQVRJT05fT1BDT0RFOg0KPiArICAgIFZB X1NUQVJUIChNYXJrZXIsIE9wQ29kZSk7DQo+ICsgICAgU3RhdHVzID0gQm9vdFNjcmlwdEluZm9y bWF0aW9uIChNYXJrZXIpOw0KPiArICAgIFZBX0VORCAoTWFya2VyKTsNCj4gKyAgICBicmVhazsN Cj4gKw0KPiArICBjYXNlIEVGSV9CT09UX1NDUklQVF9NRU1fUE9MTF9PUENPREU6DQo+ICsgICAg VkFfU1RBUlQgKE1hcmtlciwgT3BDb2RlKTsNCj4gKyAgICBTdGF0dXMgPSBCb290U2NyaXB0TWVt UG9sbCAoTWFya2VyKTsNCj4gKyAgICBWQV9FTkQgKE1hcmtlcik7DQo+ICsgICAgYnJlYWs7DQo+ ICsNCj4gKyAgY2FzZSBFRklfQk9PVF9TQ1JJUFRfUENJX0NPTkZJRzJfV1JJVEVfT1BDT0RFOg0K PiArICAgIFZBX1NUQVJUIChNYXJrZXIsIE9wQ29kZSk7DQo+ICsgICAgU3RhdHVzID0gQm9vdFNj cmlwdFBjaUNmZzJXcml0ZSAoTWFya2VyKTsNCj4gKyAgICBWQV9FTkQgKE1hcmtlcik7DQo+ICsg ICAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBFRklfQk9PVF9TQ1JJUFRfUENJX0NPTkZJRzJfUkVB RF9XUklURV9PUENPREU6DQo+ICsgICAgVkFfU1RBUlQgKE1hcmtlciwgT3BDb2RlKTsNCj4gKyAg ICBTdGF0dXMgPSBCb290U2NyaXB0UGNpQ2ZnMlJlYWRXcml0ZSAoTWFya2VyKTsNCj4gKyAgICBW QV9FTkQgKE1hcmtlcik7DQo+ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgZGVmYXVsdDoNCj4gKyAg ICBTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgYnJlYWs7DQo+ICsgIH0N Cj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQ2xvc2Vz IHRoZSBzcGVjaWZpZWQgc2NyaXB0IHRhYmxlLg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gY2xv c2VzIHRoZSBzcGVjaWZpZWQgYm9vdCBzY3JpcHQgdGFibGUgYW5kIHJldHVybnMgdGhlIGJhc2UN Cj4gYWRkcmVzcw0KPiArICBvZiB0aGUgdGFibGUuIEl0IGFsbG9jYXRlcyBhIG5ldyBwb29sIHRv IGR1cGxpY2F0ZSBhbGwgdGhlIGJvb3Qgc2NyaXB0cyBpbiB0aGUNCj4gc3BlY2lmaWVkDQo+ICsg IHRhYmxlLiBPbmNlIHRoaXMgZnVuY3Rpb24gaXMgY2FsbGVkLCB0aGUgc3BlY2lmaWVkIHRhYmxl IHdpbGwgYmUgZGVzdHJveWVkDQo+IGFmdGVyIGl0IGlzDQo+ICsgIGNvcGllZCBpbnRvIHRoZSBh bGxvY2F0ZWQgcG9vbC4gQXMgYSByZXN1bHQsIGFueSBhdHRlbXB0cyB0byBhZGQgYSBzY3JpcHQN Cj4gcmVjb3JkIGludG8gYQ0KPiArICBjbG9zZWQgdGFibGUgd2lsbCBjYXVzZSBhIG5ldyB0YWJs ZSB0byBiZSBjcmVhdGVkLiBUaGUgYmFzZSBhZGRyZXNzIG9mIHRoZQ0KPiBhbGxvY2F0ZWQgcG9v bA0KPiArICB3aWxsIGJlIHJldHVybmVkIGluIEFkZHJlc3MuIEFmdGVyIHVzaW5nIHRoZSBib290 IHNjcmlwdCB0YWJsZSwgdGhlIGNhbGxlciBpcw0KPiByZXNwb25zaWJsZQ0KPiArICBmb3IgZnJl ZWluZyB0aGUgcG9vbCB0aGF0IGlzIGFsbG9jYXRlZCBieSB0aGlzIGZ1bmN0aW9uLiBJZiB0aGUg Ym9vdCBzY3JpcHQgdGFibGUsDQo+ICsgIHN1Y2ggYXMgRUZJX0FDUElfUzNfUkVTVU1FX1NDUklQ VF9UQUJMRSwgaXMgcmVxdWlyZWQgdG8gYmUgc3RvcmVkIGluIGENCj4gbm9ucGVydHVyYmVkDQo+ ICsgIG1lbW9yeSByZWdpb24sIHRoZSBjYWxsZXIgc2hvdWxkIGNvcHkgdGhlIHRhYmxlIGludG8g dGhlIG5vbnBlcnR1cmJlZA0KPiBtZW1vcnkgcmVnaW9uIGJ5IGl0c2VsZi4NCj4gKw0KPiArICBA cGFyYW0gIFRoaXMgICAgICAgICAgICAgICAgICBBIHBvaW50ZXIgdG8gdGhlDQo+IEVGSV9CT09U X1NDUklQVF9TQVZFX1BST1RPQ09MIGluc3RhbmNlLg0KPiArICBAcGFyYW0gIFRhYmxlTmFtZSAg ICAgICAgICAgICBOYW1lIG9mIHRoZSBzY3JpcHQgdGFibGUuIEN1cnJlbnRseSwgdGhlIG9ubHkN Cj4gbWVhbmluZ2Z1bCB2YWx1ZSBpcw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRUZJX0FDUElfUzNfUkVTVU1FX1NDUklQVF9UQUJMRS4NCj4gKyAgQHBhcmFtICBBZGRyZXNz ICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBwaHlzaWNhbCBhZGRyZXNzIHdoZXJlIHRo ZSB0YWJsZQ0KPiBiZWdpbnMuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAg ICAgVGhlIHRhYmxlIHdhcyBzdWNjZXNzZnVsbHkgcmV0dXJuZWQuDQo+ICsgIEByZXR2YWwgRUZJ X05PVF9GT1VORCAgICAgICAgIFRoZSBzcGVjaWZpZWQgdGFibGUgd2FzIG5vdCBjcmVhdGVkDQo+ IHByZXZpb3VzbHkuDQo+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRSAgIE1lbW9yeSBp cyBpbnN1ZmZpY2llbnQgdG8gaG9sZCB0aGUNCj4gcmVvcmdhbml6ZWQgYm9vdCBzY3JpcHQgdGFi bGUuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoZSB0YWJsZSB0eXBlIGlz IG5vdA0KPiBFRklfQUNQSV9TM19SRVNVTUVfU0NSSVBUX1RBQkxFLg0KPiArDQo+ICsqKi8NCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArQm9vdFNjcmlwdENsb3NlVGFibGUgKA0KPiArICBJ TiBFRklfQk9PVF9TQ1JJUFRfU0FWRV9QUk9UT0NPTCAgICAqVGhpcywNCj4gKyAgSU4gVUlOVDE2 ICAgICAgICAgICAgICAgICAgICAgICAgICAgVGFibGVOYW1lLA0KPiArICBPVVQgRUZJX1BIWVNJ Q0FMX0FERFJFU1MgICAgICAgICAgICAqQWRkcmVzcw0KPiArICApDQo+ICt7DQo+ICsgIGlmIChU YWJsZU5hbWUgIT0gRlJBTUVXT1JLX0VGSV9BQ1BJX1MzX1JFU1VNRV9TQ1JJUFRfVEFCTEUpIHsN Cj4gKyAgICAvLw0KPiArICAgIC8vIE9ubHkgUzMgYm9vdCBzY3JpcHQgaXMgc3VwcG9ydGVkIGZv ciBub3cuDQo+ICsgICAgLy8NCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0K PiArICAqQWRkcmVzcyA9IChFRklfUEhZU0lDQUxfQUREUkVTUykoVUlOVE4pUzNCb290U2NyaXB0 Q2xvc2VUYWJsZSAoKTsNCj4gKw0KPiArICBpZiAoKkFkZHJlc3MgPT0gMCkgew0KPiArICAgIHJl dHVybiAgRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIHJvdXRpbmUgaXMgZW50cnkgcG9pbnQgb2YgU2Ny aXB0U2F2ZSBkcml2ZXIuDQo+ICsNCj4gKyAgQHBhcmFtICBJbWFnZUhhbmRsZSAgICAgICAgICAg SGFuZGxlIGZvciB0aGlzIGRyaXZlcnMgbG9hZGVkIGltYWdlIHByb3RvY29sLg0KPiArICBAcGFy YW0gIFN5c3RlbVRhYmxlICAgICAgICAgICBFRkkgc3lzdGVtIHRhYmxlLg0KPiArDQo+ICsgIEBy ZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgIE5vIGVub3VnaCByZXNvdXJjZS4NCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgU3VjY2VzZnVsbHkgaW5zdGFsbGVkIHRoZSBTY3Jp cHRTYXZlIGRyaXZlci4NCj4gKyAgQHJldHZhbCBvdGhlciAgICAgICAgICAgICAgICAgRXJyb3Jz IG9jY3VyZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtJbml0 aWFsaXplU2NyaXB0U2F2ZSAoDQo+ICsgIElOIEVGSV9IQU5ETEUgICAgICAgICAgIEltYWdlSGFu ZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAgICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0K PiArew0KPiArICByZXR1cm4gIGdCUy0+SW5zdGFsbFByb3RvY29sSW50ZXJmYWNlICgNCj4gKyAg ICAgICAgICAgICAgICAgICZtSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlCb290 U2NyaXB0U2F2ZVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIEVGSV9OQVRJVkVf SU5URVJGQUNFLA0KPiArICAgICAgICAgICAgICAgICAgJm1TM1NjcmlwdFNhdmUNCj4gKyAgICAg ICAgICAgICAgICAgICk7DQo+ICsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQnVpbGRfSUZXSS5iYXQNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9CdWlsZF9JRldJLmJhdA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44ODcyMDY3MDNhDQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQnVpbGRfSUZXSS5iYXQNCj4gQEAg LTAsMCArMSwyMDAgQEANCj4gK0BSRU0gQGZpbGUNCj4gK0BSRU0gICBXaW5kb3dzIGJhdGNoIGZp bGUgdG8gYnVpbGQgQklPUyBST00NCj4gK0BSRU0NCj4gK0BSRU0gQ29weXJpZ2h0IChjKSAyMDA2 IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAr QFJFTSBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArQFJF TQ0KPiArDQo+ICtAZWNobyBvZmYNCj4gKw0KPiArU2V0TG9jYWwgRW5hYmxlRGVsYXllZEV4cGFu c2lvbiBFbmFibGVFeHRlbnNpb25zDQo+ICsNCj4gK0BSRU0gR28gdG8gd29yayBzcGFjZSBkaXJl Y3RvcnkuDQo+ICtjZCAuLg0KPiArY2QgLi4NCj4gKw0KPiArOjogQXNzaWduIGluaXRpYWwgdmFs dWVzDQo+ICtzZXQgZXhpdENvZGU9MA0KPiArc2V0ICJCdWlsZF9GbGFncz0gIg0KPiArc2V0ICJT dGl0Y2hfRmxhZ3M9ICINCj4gK3NldCBBcmNoPVg2NA0KPiArc2V0IFBMQVRGT1JNX1BBQ0tBR0U9 Vmx2MlRibHREZXZpY2VQa2cNCj4gKw0KPiArc2V0IFBMQVRGT1JNX1BBVEg9JVdPUktTUEFDRSUN Cj4gK2lmIG5vdCBleGlzdCAlUExBVEZPUk1fUEFUSCVcJVBMQVRGT1JNX1BBQ0tBR0UlICgNCj4g KyAgaWYgZGVmaW5lZCBQQUNLQUdFU19QQVRIICgNCj4gKyAgICBmb3IgJSVpIElOICglUEFDS0FH RVNfUEFUSCUpIERPICgNCj4gKyAgICAgIGlmIGV4aXN0ICUlfmZpXCVQTEFURk9STV9QQUNLQUdF JSAoDQo+ICsgICAgICAgIHNldCBQTEFURk9STV9QQVRIPSUlfmZpDQo+ICsgICAgICAgIGdvdG8g UGxhdGZvcm1QYWNrYWdlRm91bmQNCj4gKyAgICAgICkNCj4gKyAgICApDQo+ICsgICkgZWxzZSAo DQo+ICsgICAgZWNoby4NCj4gKyAgICBlY2hvICEhISBFUlJPUiAhISEgQ2Fubm90IGZpbmQgJVBM QVRGT1JNX1BBQ0tBR0UlICEhIQ0KPiArICAgIGVjaG8uDQo+ICsgICAgZ290byBFeGl0DQo+ICsg ICkNCj4gKykNCj4gKzpQbGF0Zm9ybVBhY2thZ2VGb3VuZA0KPiArDQo+ICs6OiBQYXJzZSBPcHRp b25hbCBhcmd1bWVudHMNCj4gKzpPcHRMb29wDQo+ICtpZiAvaSAiJX4xIj09Ii8/IiBnb3RvIFVz YWdlDQo+ICsNCj4gK2lmIC9pICIlfjEiPT0iL3EiICgNCj4gKyAgICBzZXQgQnVpbGRfRmxhZ3M9 JUJ1aWxkX0ZsYWdzJSAvcQ0KPiArICAgIHNoaWZ0DQo+ICsgICAgZ290byBPcHRMb29wDQo+ICsp DQo+ICtpZiAvaSAiJX4xIj09Ii9sIiAoDQo+ICsgICAgc2V0IEJ1aWxkX0ZsYWdzPSVCdWlsZF9G bGFncyUgL2wNCj4gKyAgICBzaGlmdA0KPiArICAgIGdvdG8gT3B0TG9vcA0KPiArKQ0KPiAraWYg L2kgIiV+MSI9PSIveSIgKA0KPiArICAgIHNldCBCdWlsZF9GbGFncz0lQnVpbGRfRmxhZ3MlIC95 DQo+ICsgICAgc2hpZnQNCj4gKyAgICBnb3RvIE9wdExvb3ANCj4gKykNCj4gK2lmIC9pICIlfjEi PT0iL20iICgNCj4gKyAgICBzZXQgQnVpbGRfRmxhZ3M9JUJ1aWxkX0ZsYWdzJSAvbQ0KPiArICAg IHNoaWZ0DQo+ICsgICAgZ290byBPcHRMb29wDQo+ICspDQo+ICtpZiAvaSAiJX4xIiA9PSAiL2Mi ICgNCj4gKyAgICBzZXQgQnVpbGRfRmxhZ3M9JUJ1aWxkX0ZsYWdzJSAvYw0KPiArICAgIHNoaWZ0 DQo+ICsgICAgZ290byBPcHRMb29wDQo+ICspDQo+ICtpZiAvaSAiJX4xIiA9PSAiL0VDUCIgKA0K PiArICAgIHNldCBCdWlsZF9GbGFncz0lQnVpbGRfRmxhZ3MlIC9lY3ANCj4gKyAgICBzaGlmdA0K PiArICAgIGdvdG8gT3B0TG9vcA0KPiArKQ0KPiArDQo+ICtpZiAvaSAiJX4xIj09Ii9zIiAoDQo+ ICsgICAgc2V0IEJ1aWxkX0ZsYWdzPSVCdWlsZF9GbGFncyUgL3MNCj4gKyAgICBzaGlmdA0KPiAr ICAgIGdvdG8gT3B0TG9vcA0KPiArKQ0KPiArDQo+ICtpZiAvaSAiJX4xIj09Ii94NjQiICgNCj4g KyAgICBzZXQgQXJjaD1YNjQNCj4gKyAgICBzZXQgQnVpbGRfRmxhZ3M9JUJ1aWxkX0ZsYWdzJSAv eDY0DQo+ICsgICAgc2hpZnQNCj4gKyAgICBnb3RvIE9wdExvb3ANCj4gKykNCj4gKw0KPiAraWYg L2kgIiV+MSI9PSIvSUEzMiIgKA0KPiArICAgIHNldCBBcmNoPUlBMzINCj4gKyAgICBzZXQgQnVp bGRfRmxhZ3M9JUJ1aWxkX0ZsYWdzJSAvSUEzMg0KPiArICAgIHNoaWZ0DQo+ICsgICAgZ290byBP cHRMb29wDQo+ICspDQo+ICsNCj4gK2lmIC9pICIlfjEiPT0iL25HIiAoDQo+ICsgICAgc2V0IFN0 aXRjaF9GbGFncz0lU3RpdGNoX0ZsYWdzJSAvbkcNCj4gKyAgICBzaGlmdA0KPiArICAgIGdvdG8g T3B0TG9vcA0KPiArKQ0KPiAraWYgL2kgIiV+MSI9PSIvbk0iICgNCj4gKyAgICBzZXQgU3RpdGNo X0ZsYWdzPSVTdGl0Y2hfRmxhZ3MlIC9uTQ0KPiArICAgIHNoaWZ0DQo+ICsgICAgZ290byBPcHRM b29wDQo+ICspDQo+ICtpZiAvaSAiJX4xIj09Ii9uQiIgKA0KPiArICAgIHNldCBTdGl0Y2hfRmxh Z3M9JVN0aXRjaF9GbGFncyUgL25CDQo+ICsgICAgc2hpZnQNCj4gKyAgICBnb3RvIE9wdExvb3AN Cj4gKykNCj4gK2lmIC9pICIlfjEiPT0iL3lMIiAoDQo+ICsgICAgc2V0IFN0aXRjaF9GbGFncz0l U3RpdGNoX0ZsYWdzJSAveUwNCj4gKyAgICBzaGlmdA0KPiArICAgIGdvdG8gT3B0TG9vcA0KPiAr KQ0KPiArDQo+ICsNCj4gKzo6IFJlcXVpcmUgMiBpbnB1dCBwYXJhbWV0ZXJzDQo+ICtpZiAiJX4y Ij09IiIgZ290byBVc2FnZQ0KPiArDQo+ICs6OiBBc3NpZ24gcmVxdWlyZWQgYXJndW1lbnRzDQo+ ICtzZXQgUGxhdGZvcm1fVHlwZT0lfjENCj4gK3NldCBCdWlsZF9UYXJnZXQ9JX4yDQo+ICsNCj4g K2lmICIlfjMiPT0iIiAoDQo+ICsgICAgc2V0ICJJRldJX1N1ZmZpeD0gIg0KPiArKSBlbHNlIHNl dCAiSUZXSV9TdWZmaXg9L1MgJX4zIg0KPiArDQo+ICs6OiBCdWlsZCBCSU9TDQo+ICtlY2hvDQo+ ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT0NCj4gPT09PT09PT09PT09DQo+ICtlY2hvIEJ1aWxkX0lGV0k6ICBDYWxsaW5nIEJJT1MgYnVp bGQgU2NyaXB0Li4uDQo+ICsNCj4gK2NhbGwgJVBMQVRGT1JNX1BBVEglXCVQTEFURk9STV9QQUNL QUdFJVxibGRfdmx2LmJhdCAlQnVpbGRfRmxhDQo+IGdzJSAgJVBsYXRmb3JtX1R5cGUlICVCdWls ZF9UYXJnZXQlDQo+ICsNCj4gK2lmICVFUlJPUkxFVkVMJSBORVEgMCAoDQo+ICsgICAgZWNobyBl Y2hvICAtLSBFcnJvciBCdWlsZGluZyBCSU9TICAmIGVjaG8uDQo+ICsgICAgc2V0IGV4aXRDb2Rl PTENCj4gKyAgICBnb3RvIGV4aXQNCj4gKykNCj4gK2VjaG8uDQo+ICtlY2hvIEZpbmlzaGVkIEJ1 aWxkaW5nIEJJT1MuDQo+ICtAUkVNIFNldCBCSU9TX0lEIGVudmlyb25tZW50IHZhcmlhYmxlIGhl cmUuDQo+ICtjYWxsICVXT1JLU1BBQ0UlXENvbmZcQmlvc0lkLmJhdA0KPiArZWNobyBCSU9TX0lE PSVCSU9TX0lEJQ0KPiArDQo+ICs6OiBTZXQgdGhlIEJvYXJkX0lkLCBCdWlsZF9UeXBlLCBWZXJz aW9uX01ham9yLCBhbmQgVmVyc2lvbl9NaW5vcg0KPiBlbnZpcm9ubWVudCB2YXJpYWJsZXMNCj4g K2ZpbmQgL3YgIiMiICVXT1JLU1BBQ0UlXENvbmZcQmlvc0lkLmVudiA+IHZlcl9zdHJpbmdzDQo+ ICtmb3IgL2YgInRva2Vucz0xLDMiICUlaSBpbiAodmVyX3N0cmluZ3MpIGRvIHNldCAlJWk9JSVq DQo+ICtkZWwgL2YvcSB2ZXJfc3RyaW5ncyA+bnVsDQo+ICtzZXQNCj4gQklPU19OYW1lPSVCT0FS RF9JRCVfJUFyY2glXyVCVUlMRF9UWVBFJV8lVkVSU0lPTl9NQUpPUiUNCj4gXyVWRVJTSU9OX01J Tk9SJS5ST00NCj4gKw0KPiArOjogU3RhcnQgSW50ZWdyYXRpb24gcHJvY2Vzcw0KPiArZWNobw0K PiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09DQo+ID09PT09PT09PT09PQ0KPiArZWNobyBCdWlsZF9JRldJOiAgQ2FsbGluZyBJRldJIFN0 aXRjaGluZyBTY3JpcHQuLi4NCj4gK3B1c2hkICVQTEFURk9STV9QQVRIJVwlUExBVEZPUk1fUEFD S0FHRSVcU3RpdGNoDQo+ICsNCj4gKyAgOjogSUZXSVN0aXRjaC5iYXQgWy9uR10gWy9uTV0gWy9u Ql0gWy9CIEJJT1Mucm9tXSBbL0MgU3RpdGNoQ29uZmlnXSBbL1MNCj4gSUZXSVN1ZmZpeF0NCj4g KyAgY2FsbCBJRldJU3RpdGNoLmJhdCAlU3RpdGNoX0ZsYWdzJSAvQiAlQklPU19OYW1lJSAlSUZX SV9TdWZmaXglDQo+ICsNCj4gKyBAZWNobyBvZmYNCj4gK3BvcGQNCj4gK2lmICVFUlJPUkxFVkVM JSBORVEgMCAoDQo+ICsgICAgZWNobyBlY2hvICAtLSBFcnJvciBTdGl0Y2hpbmcgJUJJT1NfTmFt JSAmIGVjaG8uDQo+ICsgICAgc2V0IGV4aXRDb2RlPTENCj4gKykNCj4gK2VjaG8uDQo+ICtlY2hv IEJ1aWxkX0lGV0kgaXMgZmluaXNoZWQuDQo+ICtlY2hvIFRoZSBmaW5hbCBJRldJIGZpbGUgaXMg bG9jYXRlZA0KPiBpbiAlUk9PVF9ESVIlXFZsdjJUYmx0RGV2aWNlUGtnXFN0aXRjaFwNCj4gK2Vj aG8NCj4gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PQ0KPiA9PT09PT09PT09PT0NCj4gK2dvdG8gRXhpdA0KPiArDQo+ICs6VXNhZ2UNCj4g K2VjaG8gU2NyaXB0IHRvIGJ1aWxkIEJJT1MgZmlybXdhcmUgYW5kIHN0aXRjaCB0aGUgZW50aXJl IElGV0kuDQo+ICtlY2hvLg0KPiArZWNobyBVc2FnZTogQnVpbGRfSUZXSS5iYXQgW29wdGlvbnNd ICBQbGF0Zm9ybVR5cGUgIEJ1aWxkVGFyZ2V0ICBbSUZXSQ0KPiBTdWZmaXhdDQo+ICtlY2hvLg0K PiArZWNobyAgICAgICAgL2MgICAgIENsZWFuQWxsIGJlZm9yZSBidWlsZGluZw0KPiArZWNobyAg ICAgICAgL3g2NCAgIFNldCBBcmNoIHRvIFg2NCAgKGRlZmF1bHQ6IFg2NCkNCj4gK2VjaG8gICAg ICAgIC9JQTMyICBTZXQgQXJjaCB0byBJQTMyIChkZWZhdWx0OiBYNjQpDQo+ICtlY2hvICAgICAg ICAveUwgICAgRW5hYmxlIFNQSSBsb2NrDQo+ICtlY2hvLg0KPiArZWNobyAgICAgICAgUGxhdGZv cm0gVHlwZXM6ICAgTU5XMg0KPiArZWNobyAgICAgICAgQnVpbGQgVGFyZ2V0czogICAgUmVsZWFz ZSwgRGVidWcNCj4gK2VjaG8gICAgICAgIElGV0kgU3VmZml4OiAgICAgIFN1ZmZpeCB0byBhcHBl bmQgdG8gZW5kIG9mIElGV0kgZmlsZW5hbWUgKGRlZmF1bHQ6DQo+IE1NX0REX1lZWVkpDQo+ICtl Y2hvLg0KPiArZWNobyAgICAgICAgU2VlICBTdGl0Y2gvU3RpdGNoX0NvbmZpZy50eHQgIGZvciBh ZGRpdGlvbmFsIHN0aXRjaGluZyBzZXR0aW5ncy4NCj4gK2VjaG8uDQo+ICtlY2hvICAgICAgICBJ ZiBjYXBzdWxlIHVwZGF0ZSBpcyBuZWVkZWQsIHBsZWFzZSB1cGRhdGUgQ0FQU1VMRV9FTkFCTEUg PQ0KPiBUUlVFIGluIENvbmZpZy5kc2MuDQo+ICtlY2hvICAgICAgICBJZiByZWNvdmVyeSBpcyBu ZWVkZWQsIHBsZWFzZSB1cGRhdGUgUkVDT1ZFUllfRU5BQkxFID0gVFJVRSBpbg0KPiBDb25maWcu ZHNjLg0KPiArZWNobyAgICAgICAgSWYgZWl0aGVyIG9mIGFib3ZlIGlzIFRSVUUsIHBsZWFzZSBz ZXQgT1BFTlNTTF9QQVRIIGluIHdpbmRvd3MNCj4gZXZpcm9ubWVudA0KPiArZWNobyAgICAgICAg YW5kIHB1dCBvcGVuc3NsLmV4ZSB0aGVyZSwgdG8gZ2VuZXJhdGUgZmluYWwgY2Fwc3VsZSBpbWFn ZS4NCj4gK2VjaG8uDQo+ICtzZXQgZXhpdENvZGU9MQ0KPiArDQo+ICs6RXhpdA0KPiArQFJFTSAg Q0QgdG8gcGxhdGZvcm0gcGFja2FnZS4NCj4gK2NkICVQTEFURk9STV9QQVRIJQ0KPiArZXhpdCAv YiAlZXhpdENvZGUlDQo+ICsNCj4gK0VuZExvY2FsDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9CdWlsZF9JRldJLnNoDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvQnVpbGRfSUZXSS5zaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi40YTExYTFjYmE5DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvQnVpbGRfSUZXSS5zaA0KPiBAQCAtMCww ICsxLDEwNCBAQA0KPiArIyEvdXNyL2Jpbi9lbnYgYmFzaA0KPiArIyMqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioq Kg0KPiArIyMgRnVuY3Rpb24gZGVmaW5lDQo+ICsjIyoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqDQo+ICtmdW5j dGlvbiBVc2FnZSAoICkgew0KPiArICBlY2hvDQo+ICsgIGVjaG8gIlNjcmlwdCB0byBidWlsZCBC SU9TIGZpcm13YXJlIGFuZCBzdGl0Y2ggdGhlIGVudGlyZSBJRldJLiINCj4gKyAgZWNobw0KPiAr ICBlY2hvICJVc2FnZTogQnVpbGRfSUZXSS5iYXQgW29wdGlvbnNdICBQbGF0Zm9ybVR5cGUgIEJ1 aWxkVGFyZ2V0ICAiDQo+ICsgIGVjaG8NCj4gKyAgZWNobw0KPiArICBlY2hvICIgICAgICAgL3lM IFtvcHRpb25dICA6ICAgRW5hYmxlIFNQSSBsb2NrIg0KPiArICBlY2hvICIgICAgICAgUGxhdGZv cm0gVHlwZXM6ICAgTU5XMiINCj4gKyAgZWNobyAiICAgICAgIEJ1aWxkIFRhcmdldHM6ICAgIFJl bGVhc2UsIERlYnVnIg0KPiArICBlY2hvDQo+ICsgIGVjaG8gIiAgICAgICBTZWUgIFN0aXRjaC9T dGl0Y2hfQ29uZmlnLnR4dCAgZm9yIGFkZGl0aW9uYWwgc3RpdGNoaW5nIHNldHRpbmdzLiINCj4g KyAgZWNobw0KPiArICBlY2hvDQo+ICsgIGV4aXQgMA0KPiArfQ0KPiArDQo+ICsjIyBBc3NpZ24g aW5pdGlhbCB2YWx1ZXMNCj4gK2V4aXRDb2RlPTANCj4gK0J1aWxkX0ZsYWdzPQ0KPiArU3RpdGNo X0ZsYWdzPQ0KPiArQXJjaD1YNjQNCj4gK1BMQVRGT1JNX1BBQ0tBR0U9Vmx2MlRibHREZXZpY2VQ a2cNCj4gKw0KPiArIyMgUGFyc2UgT3B0aW9uYWwgYXJndW1lbnRzDQo+ICtpZiBbICIkMSIgPT0g Ii8/IiBdOyB0aGVuDQo+ICsgIFVzYWdlDQo+ICtmaQ0KPiArDQo+ICtmb3IgKCggaT0xOyBpPD0k IzsgKSkNCj4gKyAgZG8NCj4gKyAgICBpZiBbICIkKGVjaG8gJDEgfCB0ciAnYS16JyAnQS1aJyki ID09ICIvUSIgXTsgdGhlbg0KPiArICAgICAgQnVpbGRfRmxhZ3M9IiRCdWlsZF9GbGFncyAvcSIN Cj4gKyAgICAgIHNoaWZ0DQo+ICsgICAgZWxpZiBbICIkKGVjaG8gJDEgfCB0ciAnYS16JyAnQS1a JykiID09ICIvTCIgXTsgdGhlbg0KPiArICAgICAgQnVpbGRfRmxhZ3M9IiRCdWlsZF9GbGFncyAv bCINCj4gKyAgICAgIHNoaWZ0DQo+ICsgICAgZWxpZiBbICIkKGVjaG8gJDEgfCB0ciAnYS16JyAn QS1aJykiID09ICIvQyIgXTsgdGhlbg0KPiArICAgICAgQnVpbGRfRmxhZ3M9IiRCdWlsZF9GbGFn cyAvYyINCj4gKyAgICAgIHNoaWZ0DQo+ICsgICAgZWxpZiBbICIkKGVjaG8gJDEgfCB0ciAnYS16 JyAnQS1aJykiID09ICIvRUNQIiBdOyB0aGVuDQo+ICsgICAgICBCdWlsZF9GbGFncz0iJEJ1aWxk X0ZsYWdzIC9lY3AiDQo+ICsgICAgICBzaGlmdA0KPiArICAgIGVsaWYgWyAiJChlY2hvICQxIHwg dHIgJ2EteicgJ0EtWicpIiA9PSAiL1g2NCIgXTsgdGhlbg0KPiArICAgICAgQXJjaD1YNjQNCj4g KyAgICAgIEJ1aWxkX0ZsYWdzPSIkQnVpbGRfRmxhZ3MgL3g2NCINCj4gKyAgICAgIHNoaWZ0DQo+ ICsgICAgZWxpZiBbICIkMSIgPT0gIi9uRyIgXTsgdGhlbg0KPiArICAgICAgU3RpdGNoX0ZsYWdz PSIkU3RpdGNoX0ZsYWdzIC9uRyINCj4gKyAgICAgIHNoaWZ0DQo+ICsgICAgZWxpZiBbICIkMSIg PT0gIi9uTSIgXTsgdGhlbg0KPiArICAgICAgU3RpdGNoX0ZsYWdzPSIkU3RpdGNoX0ZsYWdzIC9u TSINCj4gKyAgICAgIHNoaWZ0DQo+ICsgICAgZWxpZiBbICIkMSIgPT0gIi9uQiIgXTsgdGhlbg0K PiArICAgICAgU3RpdGNoX0ZsYWdzPSIkU3RpdGNoX0ZsYWdzIC9uQiINCj4gKyAgICAgIHNoaWZ0 DQo+ICsgICAgZWxpZiBbICIkMSIgPT0gIi9uViIgXTsgdGhlbg0KPiArICAgICAgU3RpdGNoX0Zs YWdzPSIkU3RpdGNoX0ZsYWdzIC9uViINCj4gKyAgICAgIHNoaWZ0DQo+ICsgICAgZWxpZiBbICIk MSIgPT0gIi95TCIgXTsgdGhlbg0KPiArICAgICAgQnVpbGRfRmxhZ3M9IiRCdWlsZF9GbGFncyAv eUwiDQo+ICsgICAgICBzaGlmdA0KPiArICAgIGVsc2UNCj4gKyAgICAgIGJyZWFrDQo+ICsgICAg ZmkNCj4gKyAgZG9uZQ0KPiArDQo+ICsjIyBSZXF1aXJlIDIgaW5wdXQgcGFyYW1ldGVycw0KPiAr aWYgWyAiJDIiID09ICIiIF07IHRoZW4NCj4gKyAgVXNhZ2UNCj4gK2ZpDQo+ICsNCj4gKyMjIEFz c2lnbiByZXF1aXJlZCBhcmd1bWVudHMNCj4gK1BsYXRmb3JtX1R5cGU9JDENCj4gK0J1aWxkX1Rh cmdldD0kMg0KPiAraWYgWyAiJDMiID09ICIiIF07IHRoZW4NCj4gKyAgSUZXSV9TdWZmaXg9DQo+ ICtlbHNlDQo+ICsgIElGV0lfU3VmZml4PSIvUyAkMyINCj4gK2ZpDQo+ICsNCj4gKyMjIEdvIHRv IHJvb3QgZGlyZWN0b3J5DQo+ICtjZCAuLg0KPiArDQo+ICsjIyBCdWlsZCBCSU9TDQo+ICtlY2hv DQo+ICI9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09DQo+ID09PT09PT09PT09PSINCj4gK2VjaG8gIkJ1aWxkX0lGV0k6ICBDYWxsaW5nIEJJ T1MgYnVpbGQgU2NyaXB0Li4uIg0KPiArLi8kUExBVEZPUk1fUEFDS0FHRS9ibGRfdmx2LnNoICRC dWlsZF9GbGFncyAkUGxhdGZvcm1fVHlwZQ0KPiAkQnVpbGRfVGFyZ2V0DQo+ICsNCj4gK2VjaG8N Cj4gK2VjaG8gRmluaXNoZWQgQnVpbGRpbmcgQklPUy4NCj4gKw0KPiArIyMgU3RhcnQgSW50ZWdy YXRpb24gcHJvY2Vzcw0KPiArZWNobw0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID09PT09PT09PT09PQ0KPiArZWNobyBTa2lw ICJCdWlsZF9JRldJOiAgQ2FsbGluZyBJRldJIFN0aXRjaGluZyBTY3JpcHQuLi4iDQo+ICsNCj4g K2VjaG8NCj4gK2VjaG8gQnVpbGRfSUZXSSBpcyBmaW5pc2hlZC4NCj4gK2VjaG8gVGhlIGZpbmFs IElGV0kgZmlsZSBpcyBsb2NhdGVkIGluIFN0aXRjaA0KPiArZWNobw0KPiA9PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09DQo+ID09PT09PT09 PT09PQ0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRkNF LmV4ZQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZDRS5leGUNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgNCj4gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMC4uMTgzMDAxMTVkMDgzMjBjNDA4NDNhOGM2ZmYNCj4gNjllMzdkYjgzZDZh NWUNCj4gR0lUIGJpbmFyeSBwYXRjaA0KPiBsaXRlcmFsIDYzMjgzMg0KPiB6Y21lRmEzdyVgN3dM ZDtkQ05TWE8xUHZOQitFaF9kc1lTOEFmO0JgJjE3KztZJG9RelhmPGluWEI4M0A1Tw0KPiBCOSR5 DQo+IHpHZFdDITdKN1pxaVdPVmlWJnpzMCE2RlM1MzBpRVVWdlc2TjgqUXtfb1pLMlUlMUJmQmY0 XigqYjdscXRLSg0KPiBOWTgNCj4gemB9X1lzS1UqXkF0bz5TaD9YfWx5S1RoQnElVXdrLQ0KPiBt Jj1XUmB9Vm45RSVAYnNScjJASGU+I3dTXyFwaSYrX2hvSQ0KPiB6M3R3ejBuRWIqUXJ4LUttU0lu SnY+ckx+Zi0NCj4gQk5NbXZeakhiamFKKytxaGVsY1BRfWJRNiUpUkdNYTM8KlBNPmsrDQo+IHp1 d2c/LT5aJmgkPkc1PllsZlB9VHxCWn5idzdCR2JUZ3gyJFp0MEs2YHwrPHwpLQ0KPiBvUk4kRz83 TSVTck5FKXpUYHoNCj4gejtnJi0NCj4gRGhHKlZydW5yc0pweEA9MVR1fGh5YEA9VVBIbXU4NFJC JXxxNVNNRylWMytJbmckZ19pemFAQz0wKnQtDQo+IHANCj4gekdlRWBvO2VZbjhZeUQ2fkIpfndn I2dkVkVTd01jQjl8QiN5VW00O1dCflBGNT1aKFJ4QDxVYDxjO1hPDQo+IFptSGlLUg0KPiB6d2lJ TXZfa1RKd0klOG9Keiloe181QWtBT0lrLQ0KPiA5aFJrJlBKJnp2YFhUNkNKcndjJmJIIz1jTCo/ KyglK2AoRzZaDQo+IHphO0QxV3M9byM0UmlORWNxQFJNe29kMnBedUdYQl98TSZSK0JNTDshbz19 Xj1lOzVBcVo3aU19bkI7MGBqDQo+IGgqYjwNCj4gejgxT1ZhN2ReaCNqQ2c3akJpOHNReG9SSX5W cnsmJnAhTnx5ckxST1difkhXMjREYHBoNzk7fXd6S3RXOGINCj4gVX56bA0KPiB6ez9WbyV1VTxj a2BaaCo5bUN3ZnQoPGh+TzE2KnFjUF5uNilIS2p5dGR8THQ5VlBXJmxafm02cD0+TEZVeQ0KPiB2 S3tTDQo+IHpgVXEoQVhWaX0lWjJDUkVqaD1YX3VvaTcyMmVCRlpRZihyVkt9eCl9RnlaJSVlR1h9 dmJVODVWVHVEcyluZElhDQo+IFcNCj4gejdSWj45S0QzJk1eYnY+LV9nOE1Nc3xLbmwrLUM7N1gz U0ctDQo+IG1MNjRgbUA/aUElQ0t9MHhscWlMb0dgUjdYYUBTcw0KPiB6aCZOZ1BKU1Jga0k7WGU1 NzJvYm57e1psS3NzS3Jlcml4UXRGMlR8REVoSlU7U2EtYyZGbVYzez9CM1ljK0p3SSENCj4geiM3 ZUwhQVheQXpLPjx5NGUrRlpiQE1ubD9CdlpNOXQ9O3hES157bllZdDZ9JXl0TjZCUV99OCkkdiF4 VTFLDQo+IHA1eQ0KPiB6K2RHMjFDUT96UDQtS1YlZ3NSVClXMjZLSmE2KjQ9Vm1ONWt1bG4tDQo+ IGpkazZHfExuR3JnYGxAOHo/b0VkUShINnFxDQo+IHp8QXAjYDl3T2FeSGgmTCQoJnEwfktiYDhR aSRBa21NaSZUPHpRP3pnZ3NodTN4PTM3S2I5PSl9djdzI15BDQo+IGIoUiYNCj4gekxMTTB8YH5p aTdNI3VManh2Y2c3a1p6RC0NCj4gISNZP1QleGhOUFEyUGk2NF5Vcm8kUSQxfip3O1dVa3dlYE1H dHkhRA0KPiB6Skl0bXZmRklWbDdKcCtVWlQ/UEY0KW5WNCpPZVpEJUZMeH1AUjt5LW5vWjE7Mnlf Vz54ZDhqanJqLUtCcT5sajINCj4geml6MXotS1hhdE4zIzYxbSFZSi1HQmpFb2A8PGl5MmMteSky NG1TenZ0NlhzKC1zaGh9K0cwMm8tZSh0Yjl6LSZVDQo+IHoocXxYcHNnYHF3XkEwMUNVaERMdSp3 P184WlBNbHY2TTI/dy0NCj4gSEY3SWI9QFZUaTk2eDklIW1+UnQlP1o7emZLPz0NCj4gekItej5V VDxtS3xpQCl0b003azlZLQ0KPiBEYW8ralNDdFJPTSNGPTB+e2RwR30zU1NFbGRFWGt5RTcrNDtv M3xqflVkeg0KPiB6V1VtRHN4b0VKQVIycjteNG17RV9kbEhibktFOGM0VzxtX3BNUHxEMml6azB4 WVg7JUtUQzF4eXt2Yl8lDQo+IDI9b3FIDQo+IHp4Mng4QyY4LWtzd15JMHwrP2RiTiRzbjA7PEkp TTMyZjxrdz9+SiprMkczIXU8ejItDQo+IFd7dFFHOT0wcHVBak9pfikNCj4gekVhbHVhMUVxPGta YXpkWlpBJj9lXyNhU2E0QDFgMTFPZkR8S1h1MnhlZnZOJnB4PXhNcVhkPGJQWG9eMQ0KPiArLXwl dw0KPiB6eyh4QCROPndifkBITFBub1VUWW1zdiZqKS0NCj4gcFp9OSo/MHZQYWJgQ1g7bVNacz59 djNoeHMrSH1gYiVTenFfYWRGDQo+IHo7e3kmJEVFbXkzM2RuPFd5c1MxY0lWZTRzUEtwPlBQcHNU M0c+QkItDQo+IE5yKyhnYHdHRVdgYU16bE8jIXdBR2J+Pn4NCj4gek9hSVR1ZUJaaDBhQ0FZPmNk WihubkolSyluZHpFVUV6LUhvLT5yVlNfI0AyUisyLQ0KPiBHXlU+KWtHVUgkQ2g1NWAxZg0KPiB6 dz5OQXBzZDh2NE5QOSFwdy0NCj4gbk0hUD5qYkkjeDFoR3VYJmh6NipTdigoSzJ3bHVYKlh8QnZz fj03KnRvZ3NJR1IxDQo+IHpIX1ElaSg3SU0/V3h2eXAyP0hGUFpBUzhkRGZnJjZHSUBMcj9HIT9o ZXdqY1BXPTVAOTExMVl9cUE2MjINCj4gRWFCZzYNCj4gejNXcF5FOWNfTnFqWXVZSndPKl97el9B NmxXa1N7dT9WMkkhZDxfP2hjPFlsK2JlalJwJkpkV3ctDQo+ICZ4dTJZWiUwfA0KPiB6S3pBYXIo flJzPz9Oc2BBYHheY3NNQX5WdDVheCg8XyE9bCEoWTF1WCo5YFFBdFZ3cE9KIVlmX2VlTWxmcmBv TVQNCj4gejgyQjMyRkBLfi1gcU8zbHlXJVpYQWVTcTg3bitOMlFxU3x2TlNDPmsmJW5GZVQqMFRY Xi0NCj4gdSpuPGlXSk8wX0JSdw0KPiB6PTtTM15gNHFDMi0NCj4gKWtxSVZeWStwc2NKJXVzKT1n KXlVaipVKl50JHNMXiowMlZuJWp9cDVBNXBkKGFxcShER0hPDQo+IHpDKmtpJlQ+I2ReUjZzV31M MkhjLQ0KPiA/QFJzU1c1NUh1RGcqN1lheCtvXzNEakFlRDh5OFUydT0pI3V1cUo0dVA7YSsNCj4g ej5qOyhVY0c+PmEyJFZnV2c2ZSM1e0h9QzkjfipVT19rJkVkaHJvQUsmRDdtczQ2VHxjMHR8cH1x Wmt4XloNCj4gKUpQeg0KPiB6OTVmRysyN2Bxdm9AUGhKUjE+bD9RVzg3TGZ2Qk1AamsoV21PfW89 OykpIT53cHhgcjdyWDNWaDB7WF9eNA0KPiBVUHdHDQo+IHpGeTBBMmJxXjQ2R19Pb0gydigjKzZl YT9xNnxEMHYodUBlZlBPKWMmdFdyZX1uTXVCZT1pT3U+SEpnQkMNCj4gcFJhal4NCj4gek9yZ0R9 TTJgZlB6VURAR3tiOzFHO1R+bDVISUk8X19MOHN1QipudG45NUhCOFBCa2xOXl5WaXkqcV4+OXVU bF8NCj4gMw0KPiB6RGpmeDB6QCRBemd4d1VwI0pkViZXb3BjPHUoalNQcFBCJFpASFA5KDgoTzAk cWJnVntDQUVvPVMxNEdUDQo+IDVWMmBTDQo+IHokYFo+LSQ8KTBWckZkT01hcUwzVlV4eDBNaE09 QGNmS3ktDQo+IDREI3pmKngwbEcmanZuaXY+ZCFYeThnaXQrJmhwV1QNCj4geiM5R2JDNSk5e3dj JEluSVkwdDtmNzw3RTZKcn5PJGVyKT5vUm9aPHxISWkzaC0jc2w7JWVIVD5mZDx0UWI1PzxJDQo+ IHpIOUJ1QyZnZTN8QHcjNEQ+fWFGPnMpO1ZeYDQ0MzlsdlEqUk49YXNSTWtkUkhaISp+e3tqRCR+ eV9nQ2hPDQo+IHw9KF4NCj4geld+NE4rTGQzdG5FVWBxU2YxcjJBbEdEJUAxVkM/XyV4fCp2dFU/ bTlrQCFKPWx1TFd5QFN5ZE5KJVMNCj4gTjNDblBoWg0KPiB6aUl4Xz8/dEVmNUl2MllKSU0kJCU3 OGw1RCpMbkFHYzBGeE5ERkNFVlhmalpAa0BgR2opI3RSdDlNWTB4TU4zDQo+IG9JDQo+IHooelpV cU9WUXl0KXNrPUgzS3Ira1lSTGpyTz0lKSVFJEw8ZjVATn5MJDxvTXxGT1Z1UTcpIVBoNjFJK3Ey DQo+IHAwMVINCj4gel9DZnsoP1gkRD9OZG9MQTUhODFIbXVIbHEpK1hidWY+fndPM20+dlByZHdD TXU4VHU5bSM3fHtpfFNtSQ0KPiBvZHVAdQ0KPiB6aElQe3d3JGd1N1NveW8hcz1UQkY8WVV8VDVf eVZyd047bDJaNz85K1AlfE5HXlJhQFVqSyk7ZTdePWJlYQ0KPiA/RnFnDQo+IHoqN047MlN1Vj1T UWxoaHpoTzdsU1MmcSVnUWNDZl4oQ2RtRzBXOUxUbSQ7JTMkNmZJfE80KmZWPzg7PWdHDQo+ICQ0 P28NCj4gemBsQ2N3QXg4YUI0UnlOaTckRT9hTTJKKFlPSGxmT2hETiYwPlFhIWslTTZ1PHQ7SElP SGUyMX5VWXBxR28NCj4gdiRpXg0KPiB6KCFAdj5iNytGcnVNYGpoRTtXQGlEOXtfPD5JTXlhIXEj QSYtDQo+ID0xdnUqamY4aSROaDhQek9rK0c/SVIpRWRvZVkjDQo+IHpsOVpsYF9Gb1JMTkIwLQ0K PiAoekt6NCQ7Yzs5TD0lMFRQeTwxRmNJPWZIOSNJMVpXSFZSQHhvS1g1Xm1FTEVVTTw9O3INCj4g ek09RzFNKCo0Unh6QTkxdiVVbl5PWk5DY2tSTz0+PWRBPmQ2WWMzWUsrVWwhKzAxUGg5WjlERGpO Vn4NCj4gU28raEhFeQ0KPiB6LQ0KPiAhT1g4bTBOd3VJbXx8dmMkYipyeVI7dHhVcTY2PEJXUk9Y S0pRQ2JCTzZRQm4lWFVnamZIO2dHVHBEeDMNCj4gODNsVg0KPiB6ZVQ3WntecHZrVDslUnMoZElD bTVCbjxNd21mMD9INkR9SHpAQFFmRGA8TjtpaXszRDUlPjw0NnNeT2p1Pw0KPiAtUzdxDQo+IHp1 RkZsRTEhdkZ0QmI/ZyFfQStSeWN3TjclUFA9JjUxMW18c1khOCFabFMlUmo8MXc8e2l7ZiYtDQo+ IExIcEVLaDx+JWgNCj4gekVXV0pGZm5JVWVMKnxIZXRySWJpVzVAdXBacjdrMl8hdl8hPkYpPzhx NDVNcXF3RTE3SV9kK2gxMkRJdnF4DQo+IDFSKw0KPiB6SXw3flZwdShgaUQpLQ0KPiAqXm5ZJXBv NXIlNzQ7VmVxNkVNMFBINFFDfFpla2duZ0NfcigrWDdiZzslWE9LPGg7U21YDQo+IHpKemxybjZ8 RSQzUDUqWVkjX2lpITAyTmJWMkRZMGFTUFpTRXpaRVFCPjRePDlgTztUZT9NOCVVREFSezBCSFAN Cj4gb3kNCj4gelk0aCh5LQ0KPiBDfmFINm13KUooO189N0wqRHM4UlZVdFJPP0w+NnJLUmRNe1gw JFhIa2hnQWx4PVZhO2xrIzBIQHs7LQ0KPiB6c2dLezJLQlpUdTl7U2g1ZVgwNVVeSFc2ITg5NW9m azNKa3xhRi0mUlAtDQo+IGord3dHcDhMSE5II2dgWX0/QVZfdFg9DQo+IHpibmBLfD4xITJ6cTk/ TzlJQ2VzemtvOTkha1RheSgqKnVkJnBmY3ZyeypORSMoTyV+KjlOUVc7VWtEfmdSRw0KPiBkYGgN Cj4genZXfEc4ejsqUkVWRD9vKEdgI1k8NSlJM05qY1hLPlZQTnEyYXkpbjcqQE5kUUpZTiE8N28w c1VUNl5vZlQNCj4gUDlCRA0KPiB6K2tfZGwoXyp1dWMoTGQ2bEFndUxkP25gZTshUEVKYV5eSWNV YntTOVpHUDx5WF90cEtKSmk0U2U2JX5YUXZ0PCsNCj4gelghRXpLdy0NCj4gKXVZTEgoPihLUSFT e2Uyd345JWIjU1JIRG8rQzBxaX0qcmdscmJ1RXBpNl9vNlMzI1RHcj1edGJxJA0KPiB6WWlpO2pv cX5EJW9FZ0RlYnEkPio9cU5tZ0NTcDx5TG5nQ2the1RvSUBaNigye09ga0YwOD8mPSpLS2VgPVZG DQo+IFpmDQo+IHo4PFlyZGtAKEZ8cCYwRD1QNHFIfDFTczdOVyhZaHo2I25oR1dATGp8am9FI2w4 TXFJSVRqbFdCTmhWKVANCj4gRHtJX24NCj4gekhMP0wxakRqbUwzPUl7YTxjeyY5M2MlP29nJUlD e2JRNU8mYC1veGByXit4ZUxgTDs8K1MjSS02OD8yJldMO1JuDQo+IHpFKmRNRU04eXVTRmF6cihj Q2JEUDV0ZnZnIyhGYX03ZlBuWngzT2t3MnB4JkVnc3JrQ0d6MEk3Klg/cEc4Yg0KPiBtYkcNCj4g enUrRzs3UmkmZShBI2A5fWRYPmg3ZVR2XlAoaVFVPSVjfiUoUFZOejAob209eSUka3VRISE7Z0lw RmxsSWRFUFMhDQo+IHp2bWV5blNiYW1uenRSaz5MPk11RnpqWjRJLQ0KPiB7djxYRUJCM0R3UlV0 Qk5EQnduYiQ8ZGJPciRlQzhwYiojZ1orOXUNCj4gemVhXnpNJm9NUjduTGI9ekBuVEx3Z2FpJkw9 djsyWGZvP2EwbkJLZEElI056bEt2SXE/TFN1dGA0WD1QejsmDQo+IHI9Uw0KPiB6dyspS2R3WSVv UVpxJn5PMys3N3ApNzEhXjx9I0tTeiRQdDY3IWRqJlJWUylQM3JJJWF0UWo0JHM9QW5sa2klDQo+ IHxKDQo+IHp2Xns5ZE1XMUVoTX5BSmJJQ3YkQihsPGE9RmdPTCRSRGBWNXBRS25pZlVzTztxJilg aCs2bVYtDQo+IGRKKnk1N2BnISYNCj4gejhHUWwrUmZNaDBEcyMzVGJgaHk/VklJfj1rcXRZbFBY cGJeKjUzRj5pMm5AJTx7KSg8dmZUNzlNLQ0KPiBaO0VhVjVHdg0KPiB6QEJHXzlGbzQ9Q21vRGV+ Q15WUHxFSGZqXk8jZn5id2V1fXFqMT1TfXhMcmw9MX0wM0ExZjIjWiUmQzlQQw0KPiAoTDZ4DQo+ IHpndF8pVm5LbUZ7K0YkeiZnbjJ8fDkqOGlGSSV6K2BBZlFPO1YtDQo+IEZXUEFGXko2SHxOYVV4 ZFNvNGFhcyF4IX5ocm4NCj4gekNCTDZ0SXNLZTN5Z3koK3QmWSNvJnRJI3wxTkMhX1BUSEBaQzsx dm07VT52IWZJZSskVEc1MVZIdiQjI1VwWg0KPiBKMg0KPiB6UX5waXFIX1VzT0dycyEybFByYHdW MThBWlYqVzJrK313PyUjQ1Y3S0ltdCFgdHhOdV9gYzZJX29ydnItDQo+IE5+XipCDQo+IHp7KyZW VmM3em41P1RtMiVTZTxZNCNhLW16bmVndXZnUlY7cXgtDQo+IE08ZGJ3T0hvWH53VklSeVNJYHFS dygoXk10fkoNCj4genBmUjEqMjZsJDU2UXg/cnd3Pns5TVFBWCskKFVfN0lZPjNCPiZjbHdoXiZP SWd8NzsjRFZqcVBmZkUhMEt3DQo+ICZGXw0KPiB6Jkg8bmg9K2NzaktoM2ApejMkKWhhcGd7NWw4 XmF7TW48Q1EyRGE2bFAmcSQ+RkB8MUh4Snxtal9yekFJckFlDQo+IG4xDQo+IHpWS3lmdFlyQHZN ZS10I2JKeG9MejZhSVA9e3xfe3BrdXtaNXd0OFlkYCprZnx5PkxmRmd0Xmtpc1l3dzI3enMkUw0K PiB6KC09RURpKnNEJGMmPkNvazN2P1hZRG55Mj44Yy1IbUg0e1QpI2p6ZGp2ZjRzajZFPFBlP3VQ SDNJQWQ8dk4tLQ0KPiBXDQo+IHpSKik5UT5sUDJiWklTNjt5bC1UfmNGSmZESUBYOzBzPWs9akct YUVvdkdualhYQXBQe1ItR0V4Nz1uZTlVKnV9bw0KPiB6clJnYjNKZEBaPUgpRURMVlclaEl7ejNZ fTFMYHZ1WlN5Mz97VF4xREghPGIrP2xqXkdgXzxjb1k4JDxTUWVQbA0KPiBkDQo+IHp6Pjw9bG4x bz1NWGMmPUBzekdyYlczTU97X35SYkJONklRMWhuYHNkbV94OU56T2BpZ1ZpS2dzOyhWamlsJA0K PiA8RWINCj4geiRgZzxZaFY0R2c3dU4kVXByMWBWeDlhQ1FKZz5ucz48bXtGJiM7b05vSGpjKSF4 ZjZubT4tDQo+ID5hPnp1RjhuPzdUbg0KPiB6T0pMKXRQb01ZbytBRjg9Yj44SGVeUD9fdi0NCj4g QGwpWHk2fj9EfE5md1ZgT0pUUiFOMTVFUmp5bXt1TVBpOXttVzxtDQo+IHpkbGRofjVZdkFvVVJJ eyNXITM+PEdJOHtydXlxZCoyNnktDQo+IEpDJWJlcTxhQypgRnl3WGdhTEcxV1c/YCNLNXxxJTAN Cj4gek8rfSh3bjg7dH5mfXVuZWp7KFRnSGNIWjgtU2VfZzl8NnV2emM8RSsxWWBWazVpd3AybWY1 UXxUVFd2fVNRYEU1DQo+IHpgMSU0aE9yMmk+KWd6ZH5TQVBSODZoYFA2SmFkR29wSXpOWj9he1JG I2pfJU9tTGl+c3o1YWA0bml8UldqZShEYA0KPiB6TGZCTjs9dG9RfjBRTnpiXm44ZGlZRmM9OXRL JjhjSnhlcV9hfDRiVW4ocSU9S2NNJFdMUDJ3bkRXWUgNCj4gOE0rPEYtDQo+IHp8MjxGP0B3UjJx eXBWczV7YGN0PlN9KVk9KloxSU56N0k8aVd8bFZ5RVUqJnVxUkJMTEs5ZkVoc3Fme2R6VypJDQo+ IDMNCj4gejYrdkVhbWArMmBgciZMRml1ZXVHRCMpYEp0blEkJSkrO3xuezR9MzJgYW1Ve0ZgVkpH NnRHK1VibnlveTRPKnwNCj4gQQ0KPiB6c2AtDQo+IFZIUT5ZZyNWS3RBRWFueCUrPVRjTzAqX2d7 JTJvdUQmRWVjelkqcmo/QCsjQjRvQ31oPnkxdHNrQ3JabXcNCj4gYg0KPiB6VlcoYVJmUnUtDQo+ IDxTJDRzMDFsaHFtejQ2eGFwZiRsUkM/V244RUV3cl9tTW9OSVIyJkAlSX1GQ1FIPVlAY1NTM3RM DQo+IHpXZm4jZU5YMFgpcjt9bkFmeDBHcWMqeWZFM0N3ckZoOTlEck9WZmsjekBFcUpJdkYqQnJI Pl9DU3E+a0hJP18NCj4gUmUNCj4gemhycyM+KWQxN3BRIzNic3IkUyYrd0gkI30/THxUQjYrNVhY XilDdFRYdT5eWCF+MFRDMEIlUWVQVDZnYnNxDQo+IGlEYg0KPiB6JEFQeUMxbkNfbnh6TXMhKmBN XlVtK2FtNUY7O3dzdn5hJHAlaEU/ZGFBeisxN0BNSTBxdEF6IXlXPQ0KPiBXT0pgMXokDQo+IHpA MGhRZ1pDbiFqMSlqQSRXY2V2YnIjeGkyc2QmRDA9RGhqUURZeEJQZVMzN3FkYEtkfT8tDQo+IFRo PXZ+V2h1ZnU4Jm8NCj4genZLe2B2N1IyajN1R3J3UXQqSDt0MiFnfHVLR3V6SlV1QVo1JExxUW9w MVdgOzlQR3RjUGpuZn1AVyhuKnQqRg0KPiBAUg0KPiB6Ki0NCj4gKUhfdlNFPjtZZWApZkVBWWkx PGxwQU5VbERPZjVYQlJRQTY9Tl95Mj9VamwwcXxPO3ZaRSt8RTdyTXMoPl9xDQo+IHo3NUtSNSlw JnhFb3VyKjtYOXArbXQleDJiPFlhRjZpV2tQfnlhbG50WUpGUCo4SkhHNVgmKT13eTRNNTlIDQo+ IHBDJSUNCj4gekk2T1U9Qjs3Pn1oV19SRT8zNmU0YitVKVF5VTU/UWdPZHR1T31EK3tZPmRVVkZS OEkkSzxeODkpPy0NCj4gMlhjT2wmIw0KPiB6aV44IT00aWNVTGU5RFlsPTNaaDxufEhxUmJrQDA0 NmYhO28kTiNpaUtvM0JEQCE4VDx2YVV3KSMtDQo+IEt8a1VZQnZqDQo+IHp6fkB9Jk5xRXV+ZTgo Z30haUJDVjsySFd9bktUdyU1WStKYHoqSmQ1bCt7blJKbDJiLQ0KPiA5QnA0Y1R1QDNBUj1fMnIN Cj4gel8jTmYwQ35QNFFFbXJIaTQ5TnN2MU1tdFA0b35VfUlxKShZVUtYK2o9ZktASSsjUnlza3Mh T08kNzkxR2QNCj4gMCkrZQ0KPiB6a0dBMShAUDZhSyFgNzRmKzI0PENIPnR9b1Y0UiQ4ajdwOzJv fTR5KTJodFo+ej1+d2VZNnh1TyEyKWd1JUY/DQo+ICVTDQo+IHpjbzc0USpNNjUwVEAoaGw/UmJq RmF6RDZKMTh1YzJmQCh2U1otMkwzWWs+YXI3X0J3M2k2PDteNSlxJkVRcXU7bA0KPiB6aVFsJD83 KWhsd2NLcEhhZzdDKkUjQnc/fFZTZEBNOTl6I2htVjxPZFJAa3UwMF5MX1ZyaWdeOy0NCj4gckBm bmJsKTJnDQo+IHpfdVdfek89XyhGTW9EZUdTZl5qI3ohRlcrYHRjV0tQJGYySlZNZGdNdC0NCj4g RFQ/SWorQDRpWXlWWkx+Wm15YyVsYFUNCj4gejR6TW1sLQ0KPiBwWHloaEY9TkNecEYqP0ZvPSpJ IStGQGBCM2xTI01hPFUjVDAjI2Z4R1hYQEBeOT04KjREZ34zcWM2Rw0KPiB6JXIqbChZRWBISjFw RkorP2xFPktQQD9UMEVoRkFvVShUZUBodF89cTBwTWZvNUhFRj9IQSpAcjhJSTBOeGENCj4gJF9Y DQo+IHpCLQ0KPiBKMGNrb0JvUjBKe0lPVDEhVXZRfmkraTVLTW9BVkIlej1QNzdLbWVWPTdMPkM9 KCZNcWJNOGFnfGNTNj8NCj4gTWotDQo+IHp0KUk+cDJxcXhIZCF4WFRBSEkrYHA1QHdwOERRbFU5 MDRYMSNKcytaaCZOSHMke2JZdDE8VXxlU2s4TjEjRg0KPiBXfjUNCj4gekNWfT5oYnx9RTFST3pL Pk0weldxcE1OIUtFOD9PUyp0eGtCYVNkO2d6Z05BdkooY2F6YkZueyNWaTV3dVQNCj4gTkZXeA0K PiB6S2h4d2JZeih8VHQwKll9a2BpIUgoQXhRJkcpRHQtWVl9aXNlOzE2Wk01MSpiTH1DcWtOQSo7 V29fY2pwc2hmSjQNCj4gemg9fmQzKlZUe2Iye1VGI3IlbThDJl4mdChgfFNxUXBJUk9uI3h5I3o3 QHslemdkS0g2SjYzQVVNdjhUeg0KPiBMPkpzcA0KPiB6UHckfX1pUCZRMmpgaGYxZ3x5eWhmakJ2 Qnkyb1hDNU9IfUJzWHVJZV9rQ3RVTkl3SFpJOWg2fldgKEheMGl3Yw0KPiAoDQo+IHokKnYle09v czZKKHo+ekJNKDFKcHVnVzspRG5WP3goYXpHcHV1Rz9GOWJBc2khLQ0KPiBiSmJqbX4lOVZpZ0o8 Wit4NWsNCj4gemY9REpoKztIODFkVHc7OyFPOH4pO2NxKGQjYWBTSzdZd283ail8ZW5mfGI4aDk0 N01PWVJIU25IWFF9Km8hSVkNCj4gZw0KPiB6eXVnQ3wleDB3K1M4YVlCQ2Y9QFVYKWx3P1RLVHJh e35PZStxcnowfEVAS1N2SHs5Uj10aDlfJVZ9fCZJTw0KPiB8OGVVDQo+IHpzI01JfkZ8R0V9XlM3 V1ImMCRfRmcoTHprYTJWczt1c0hYflFyJDtINE89a2UqaSRufF9TRT81NW5POzdWdmcNCj4gdkIN Cj4genVeK2JuQjshdnJVRFY7eE1oKGR+QD5NQ1dMWUBDWTBmeVE5eUoyPGtJblpBZVhiKUt6K2lt UFphMUIoKA0KPiBSIXh9MQ0KPiB6SiV+aD4jalg/eVM2SVoyNE9wIyF2PlQyQUdYMTtHKnYxYHNm bkFWO1U8fmVQZnl3Z2Q0bUptSV8hd2NCeEoNCj4gOXkoDQo+IHowYWJBdikral87P00lXjl3XkxD b2NHJDMxP0ElTG1LVllUXj5uO2p7N1A9dEdBUERSaGtRVEo2Pl8kMlANCj4gWDhmYCUNCj4gelhw TDV8SG90YDZ4aUB5NTIpMT5xQT5ldCZQR0QrbzlzQU5JJmNpK0xVZl5GaHt9TSF+WitAdT1tSkw/ bXUNCj4gc28wVw0KPiB6ZmVtUUZjR2JxZmxRNUl1I0NRM2N6MVcpJmQ5dzJQPXJEK2Y0S1R4LQ0K PiBCMlBBITdHVUc0fDFvSTE0eG99TGlmaipDDQo+IHpYWlBEMzx6aTFEbGJsazNtQG1CdihWOUlY WDBXeFVERT54JlFLVVVWaWVzVXVEQmpoTi0NCj4gWDs5b1FgZDspeTxJamcNCj4gelZoMCpfayto U2EpWDI/MGxAbDFWN0c9Wk0kKns5ej8oTT5lKnA7Kj17TyMhJSNSJFNrZmNFI1FjJHdAMXkNCj4g Yyl2aw0KPiB6UjsqQyVYOH5jcHcwTVdaby0NCj4gSn0wYT9Sd0t6SktpN3g5SmtNR2okJVdgcUBP KyprezNrYHxsXnlRJVg7YjN7aXl+DQo+IHpRJE0qKm5mNmVlKXM8YjZyQ35GQSVjbVU7UHg3Zykh VHBXYCppKXlWcEZISkJHYE5zfWVPJDlTdD05TkJ0Jg0KPiAkQzENCj4geno9R0UwTi0NCj4gYFVa YSVTQX58Q0N9dT5xVV98RDhCKnFXNDtYSWQ8amBVbXVRcVRVeWQ9QmFsWjZQTldjd1RONUdGeA0K PiB6e1JJVGJQTztuVUI3TzA/SzNENypWP0IjKCVgZnJgNnY1UCVOIWw3YTNpRE5GYEUjKlNFY09p TSlPeyZCTTBLDQo+IF94DQo+IHplV29KPnE5LQ0KPiBBekJ4QVE2YSFVRF5WI0FFeFl+ITElNEg1 cVokSDxpQ0BgQTcoNDN4aEokZkZJRTNkKWZ7aFpyY2sNCj4gejVtdDZnM1NSP1UxbE8jZyR6JXFq OCF9Z3MpTTJhU3lNc0F0KE5GKWJwdFZneFFmey0NCj4gP09wQFJzPikjY2lzNWlOYQ0KPiB6I2xx R2ExeFFYOWdzbXR5JThTUUx2YVVwWmteYGJEaiZFTVk3dCthZkJsPlZaeWFYczJvM3dGRSEoOzwl NEMNCj4gPEQhDQo+IHo8MUIyLUBTRHFJVV87aWtRaFNNKGFhYGhua2VTLQ0KPiBYaW9ue2BOSGp9 ITJkeiQ3SkJGPFRIPn00TXtoRl5pTnBeeVANCj4gelFsO0dTSzFlWGtRKDdrMigoTWpnY09je0BJ O1RzdmgjWF4jQiQ5bkU8e3xrUGt9P2teUlU1RkZCdlRKOXMkRF8NCj4gSA0KPiB6NyprayZMd0At bXB9Wmg7Y14wOGQ2blZeZ0FyRWxzQjJHbU5OUFE/Y3AtDQo+IHdBYVhPVkZBdGFFQzlvcyk8WUg8 fFQ3DQo+IHpPbGtAc3FJM0ZJTUhMd2MlMDc5KFNgRypWcXY0LQ0KPiBORiZYVU1rJE0pUVNmY3xU O0goSlM2RGZsNUVsQkd5WlMpdlMNCj4geio5fH0tZSRmVzNrR3JDWEdxbXI8ZC0NCj4gYFpSV2NF dWFuP0JMeStjSUwhQzFpNEpJSyQjb0dSWWtaQSMwcXREVn10dA0KPiB6IVBNamBMY2BXNjNUbGkp IURJdHJMRiteWCF3JTdxb3oxNX1EaEdze01rYU99R2ctDQo+IHMrK35fcWJGdVNabV47Kjx4DQo+ IHp4Rz5NSF9aOE9fXzNFQmxaenpEYC0NCj4gZEFLc3lBdlhYcT0xPHVLfClkJnY+X09oMHhEPSNP MH1oXzFWb2lJYCsleSkNCj4geilYa2M5SkYzfTVfTigzTyV7SmcrNSklN2UpcThVQ0FWa0o1JnFj IT0hNW0/UWpSPnV2IVVtbCtSfXFgQV58Kw0KPiBLUw0KPiB6dnl1QypoKThzITEqdjl8ZDllUXxD OUdeQ3V2Z0B2Sk5ednc/MjlwQUw9bCZqd2ByZl5iY1FEcyVQVXNlRQ0KPiBPWGswDQo+IHp6PzhA Zm57VFpQUlE+N2FDPTN5KlZqU15nMT1HNVJlJmRsRTN4Qjd3bHQqM3lXQjd6XnczTSZeNzdVUUYN Cj4gRkliQ1YNCj4gem1uXyolP0V+SFBHVDJ6aDV+IXl+QlJsem1YNERLa1E9KEF6VXhSMUw0aFVP VTVZSDNtT3JOcHZpcyhHDQo+IG82KkYjUg0KPiB6WCM0Vk14NkUpfDhrO0ApdmU/WSZRKk9PPUh1 ZVkxb0hMVjJWcyhGVnl1c1BANkZ1N0sxJUZ6diFLOD0NCj4gJFFsYGBoDQo+IHo7RkZ5dEJhT0s7 a1lsNkRWZUk2fiZ2VWNDMXZJc2ozZmx5TTM3JnZLRmRgRWwqUmJmbU50anF3a1dLTSUkc1gNCj4g e20NCj4gekQ+QGNnTyFxM2pQLWRCPk5vR1IpNjRoaSlaRnwyQ1N1KmB8P0JfVnxLUGJ9UnhVMm0t DQo+IEkjX2JjIWAje3V2e0cyOw0KPiB6TXlsRmtzbmJIVG1qP0ZmeHxCOH5gbXEmYzI+MWVTI1c7 NTNaQGFSK1BNPkorNlZiKHd1PW59PUMmbWgNCj4gT2l7czlYDQo+IHpgb21pSHZvTTYtPDZ3Xygt LQ0KPiBPWSM/ZVFKe2V9WEpNME58JWZ7YilOdlNxSntAMVJBU0JaUjwyT3VAbkFYQD1qI3sNCj4g emIjO1hqZCYkNXFoKFotZjA0NHI+QihhNz0oR2pvZjBDVTF9N2smT2RZSik4KFRYbUJEZV97c2BC YEF3KzJjaDlvDQo+IHp4UX1ETyhnTy0NCj4gVWplPCNwIyNEU2BJfD9EM3tCTSVeeipaMW5mSXNs NkVBNDZXenY/YiVedUcjYzhVR154dGJEJDENCj4gektGfkhqJn4tJmtEfXs7dHVmaiZIXmUmd1Rm dGl+RXYkTjdPfDByVkBIKGd4XnpYay0+e2gtDQo+IHx0Y29qJT1uTEg4SQ0KPiB6NlM3OTVEbHhD NiEqeiVZT05YJk9jUk9hZ3MzMHMrTGRDPm9VI2dvcmtLdHZRJmZpdUxMM2xgMDtNSylqM21PDQo+ IEk2DQo+IHpTQWg+VTVae05ZRF9eVnwzSCU5KEZJdFkrNl54a3hAWk0ha1htU1V3R2dUR290JSE3 fVkySlMrcnVsaFcNCj4gV1NZbWYNCj4gemp7ezVXZU1ZZl9EUmI2K1MoT1cwMF50PjVjPTYxJjYz Km8tDQo+IEAhWH1LQypYT1BlbSkxIXtAUig8dkQoQGheSi0+SA0KPiB6PEhBKkImZGxuV2JFPkQh cFRYNnU4VDA0NnVCQEg2QUxSMWJFalBAVmNXWjU2K0t0QXtJWDleY2MwQmtIDQo+IEByT19FDQo+ IHpBfG11czBAZzgwbXphZ0pBXjthSFB5K3JpLQ0KPiBBeGlqVjxlZWZMK3EmJT5vTWA0QGoyMns2 ek5XMio5WmdycDc9K0gNCj4geiRMPlQjY15RKGQ7V0ZjKHNnK0AmcmBrZVFnby0NCj4gfntpZFlE XkhXNGJyZ2diKXtSQnZLRG5uY0tEPCFZSVRhRVUzRQ0KPiB6PnZaOHQ2aHJleEg2O21iMiN4Zzgw OClFc3JXe1ZiXjVFPjAtDQo+IClnRVVTcDUyM3pVQ0pOd2VIbHtLemp4ZzhQNkVFDQo+IHpJZSRY U2RAan1UOCNyKz1OMVEkSGA3U14mYGg/am45eWo3SkZrNmhed2N6TGBJM2VJQHZaaytvQ35YPXpl YSlmDQo+IE0NCj4genhybUlJSWM3SXJZZXdOQExfTX1gaHtNPWllSHlqfXNEbUgmKn5lVUElQmYo Nk11dl5pWX5WQyQwNmdCcXkNCj4gfDJiPA0KPiB6IWJTKVRhYzEjUEQybnhBTUNKPGdSbzBadSQ2 bFR1dmxePX5oIT5VQ2ZKYGorWEU4WkY9fDNQfWR8XyEzXzd8LXUNCj4gens4QHAhKC0NCj4gRXtC enJDfiZASyhZZipLalBfXnZKZWRwUnRTWlJUX1M+czsyPD9jTjFReDtscXFCelJwcHZNaHs9Ng0K PiB6c1RiOGtRUzlQQGsqfSVuSDRuY2EocyRlTyglfW05JS0NCj4gOEg1OXlIdzdwXm9GRjRvYFgp azZ3VUE2PXBTZGBWSXtsDQo+IHpVWihDLSZhK1g8bS1wbGEhRHUzJCpCcDM/RDtIUSFMay0NCj4g dm1RRnd1JCZCK0BBRnp9SEpMcTw5NF9AJmdMbmo8eUsNCj4genY1XylsbVZ9THdPa0oqPDhfayF2 WlZ2UUV4VVZQRyEjRmAqZjU4Ri0NCj4gaFdvP0Q4ME5XTlNCQz42e1h0X1BMNmEyLQ0KPiB6cThp TmsoNThJbXdCeXxlO20tDQo+IGtyS2Y7KjNKTiltIVRKSHJ2ZXhEb3s9KypwS2YxQl9sVUtLd1lj dHVfO3VRfVl+DQo+IHpvSUslU3huOHErV1lFfTVKbDglO0V7QWN7JVlFMko0YElzJSM+RWEhNEtR SyROR1lhdXJaUGsoI0R1TFchPCUNCj4gb1QNCj4gekl9fGlCRU8pZ2syUFZXcS0NCj4gdEVHS3U1 U1dmQzIlcSFYNyhNemdlOFFKKChzRT04Skwhdjs+cm14KFF1c0RVX0U1UQ0KPiB6ayVWV3ElWnlB OUdzZl5XckN3RX4hVXpONXN+STZmTW5FNlMoSFhARTw1PFV8UWlvOylraX10eTJ+NTM1DQo+IFFa WWs7DQo+IHo5QGFOUnRjNkMwam1iPSRySFlhZVYyc3w+amojZnRnNUg3cWReJShzODNZVTIjdVZv THMlfmFEalprQUhMMSENCj4gcFgNCj4gemxtOHZYQmo0R1ckME4lQSF9O2I2VzNVaVVgYlA7WD44 TFRHbUh9NitPZ3RneTF8WWhgdUpZQmRLYHdhOTQ2DQo+IG0tIw0KPiB6P0F2UzlBaCo/XlVnMiVQ c0lZRVJaXzNyVVA7c21zcEZeTkZ7WXxWP2ZMKn1tbGNnem1tQWZUWjM1KipDWmgNCj4gckVmDQo+ IHpOYXVLRlUkaHY2T14tDQo+IElGQVMyQVI7fms4XkI0Tyo3dmdyeGRmZ3FsYFFVb14rS2hxUmor TUwmTV83bmYxfDRWd1YNCj4gejF8S3VsXkI3M0c9fUw0O2hlPmx8SnlOMysmciFtPmNuJFdJXkZQ T1MlVWdwbEU8cCVXbDhZUFI/RDBSV3oNCj4gWkE0Sg0KPiB6Pl9SJk43ZTdUa3dRODZoP0t4NjVX YFdrLWh7Xj94dDRTQ3grV2NDVylAdkFGWFcrLQ0KPiArYEY4Nm5qNDM5VUZfb2wkDQo+IHp6RnhR JiNIbzsyRDxsfSElTzY8XytaWEN0SGcmQDRWc3RxWEBqZ3MmRnEhTj8+bWxuUU9VUnNEI2FFbQ0K PiBVNnhNK14NCj4gek1OY3NQNEY5XktIS3V5QzsyYVU2ezZ5Y0RtQlV5bHpXMko9TlI/d3BlSzg+ fVVBZyRYKTx2cD9iWWMxbFYNCj4gPistKw0KPiB6dTQyRSNOZyt3bGBoNyteTGdsczxXUHYzeG5f VzZqQXAjZTNFPy1CZlM5ckdjcHstDQo+ICtfKkM8bm0+ZXJgT2I4XysrDQo+IHp4UnFfY20zfUY9 UCZ0MEMqcTFAUWcoelM9RUZtPHxZeHlFKEQ+WVlmZThTZVd8S09gVHpIP3R7NUxeYVI7Vg0KPiA1 a3kNCj4genQ2NlhqeytQKVlXRFojKXJCJGN3JCpTemI8eTljQm9vQmczTD1re25rMFJ6Tzc3U2Jl e0Y3P3M4M0o5PTNydEIzDQo+IHo4dGQ0WElkQzdxeT1JYiRBP3hlNk9Xc0c7YjFZWDg3UGZ3XiVC UFB1eD4jYklseUYtVSZVM2pXcEUzRi0NCj4gcHhWajwNCj4gejVVcD5pK1UldnQ1KVctOHUkVjsz O1lERUB4S2hVISF4RFdPRXpDTHw2Z3I9IVl3Klc8PDJOaV9ZQ1Y4LQ0KPiA2ZndwKg0KPiB6Xjsr KnJ5O3lmTWpGa0BiZHY2TlZIczZqbT9xZTtocjUza3A+SXM7RzVVY1Ijek0hbyZnJFchMHRnc2NS b15pDQo+ID1DDQo+IHpeKkg9MCRrbVk1XkJRWX5eUUtTdSNtPE9kIzkzR3I5aWtyR2ghKFo3ckwk RV9rT2s3TW5eXjs5bEopJVl4KA0KPiA0aC0NCj4gemYjdUpZJnpyX2ReVlVCNitTRUFTYTJjcWoy Y3xwUEJOQkVeVSE7JEJrJDlfVXRBZT85czliZ3E/IUtfVGhkYA0KPiA1RQ0KPiB6KiljfHgqJmZR eilgNHV3YGFIS3RUOUZlMilAbDAxVmljIWJ6c1BZMXBMJShpOVpvYz8hfXl5P3teZ2ByNTZ8JG0N Cj4geiptbj4yUWtiandmXkZPOVR2ZGczaGA8Ujcwam4wPVZkSTdYaCleZyElVj1kRGBYfWhJd1hK ZjFKZUx9cyU9MQ0KPiBUYA0KPiB6PVNMVWs9UnQ+RD1AWDMlXlpaS1pkNFRheSYwPTwyNSpIfj55 XjRgPiFWQTlvPVRUWT5WcXg/UF9PS3ENCj4gTWhjIUEoDQo+IHpKeiRVY2tDQmY5QjBqcj5oZzhJ PzNYNjs0YHpiQ2VQU0lTXl5+QzFKRlkxeipnM2xicmhtZkBkJjctM1IhezkxZA0KPiB6Yi1qNFlv PTJGanZ2WCVyaEF3bHVMPjslZXdwQDZ7PyRJJHUqLVVpeVMtDQo+IDF0TCVWcSVWPVJ3RDg3Q2wx WVAjOFR+DQo+IHpjT2VSKyhLJCY0TjV3fGMqS2pYaGpMRTFgQSQwajB0UUlyVzR6dmZeKnd5KXN0 dzAmSXcxfmpkPTBDRnAqdCMkDQo+IEwNCj4gekZnd1BUTWN2PTY5Wlo2ay1vc1N1JDEydGFFNGl8 bUlpcDd6aSZee0xVKn5vdWVYZm9DYWhqNCotNXN8Kjt8OWYhDQo+IHpQPW9Mb2l+bX1SQkxwdyY8 IVhLbjl3UmlmTjhzPj5OI0xPNlFXKFQ5JUIrTlQjQ0RRbGQ8YT5WaW1TJg0KPiBqPmVLS00NCj4g emQ8YXxaM0p3cD1pNTh1WDRHMjBhbHZxWGUlfHNnS21ZTCpoJGErdX1OPFhKJitBZ0AzOUNTR21f UmMtDQo+IChNUH1MPw0KPiB6YGJCMmlFOSU3Iz4lNyVUJmY+YlReNkk7O2dqWVo5bSR8e2EtDQo+ IHkqKVpXYyRfTklNXkNUQSZKMnxRYFdqSTxmYlpnDQo+IHpCZTVLRmFUbEw0WGgtDQo+IDZpTntZ ezNKcDFQP21eQD5TRD55OSo3UW9LYWdNe3N0OCZfMWhtZ1czZ2tMVFVePWghb3gNCj4geiYkTVNl c0MqTilyaEUhfXJVSHM7KV53flNgUmp3JDszdEhNPFVMc2k4NHxNayY/RTJfNzw+JEo8XntKaXVw aGkNCj4gPQ0KPiB6RFAmI1cjWjF9WUhsYmxfcUprT3xQIVJFVHo9RD12IUQhcWlTRSsxZ0UwRF44 PV9ROFdNVCp0MjJ0emdUVw0KPiAlWmApDQo+IHokUC0NCj4gKElQc0k9R2g0c2g8NVFQNjlsc3Fh NWR6VUNZd140KFpyR2soREFfIXMlKEFgRjhaISVJVzU4Tmg8dF5fcEcNCj4gemJDTTEwRihQOTFB IUQlPU02QFhPRnwoOWx2SU1QfUQqaCh3PXk2ZVU/Jks8IyE0YVBOcHdZLQ0KPiB+cU9kaHdGZXgh dw0KPiB6U148ZEUhPTYkbTlUdksyXmNKXjNrMVNVRkgwQiFjKTlgaDx7NTFkWDxSXnxLXy0NCj4g ViY0YXsxfGU8Z1ExMSg9b0RsDQo+IHo7aEFtb2N8TSo9T1krJXVjcz5hS2dsODw2SWlJMjcqZXgj bW5Hc3sjOSoqfU14VzZjOChOaGZKOXNXSEshDQo+IDVgdloNCj4gekFPM3hTZWAtDQo+IChkNCok RVo5bVFPfWc5Q3xPZzJTIWpqKnk1aUd7ZlQ1dT9WT0ZUb0FqJW1+YUojZ3U2M0MqMzh5SA0KPiB6 PFFrWHtlcSVEaHZ7IT54KmE0cXVPZCVOZTM9SSFrbEA5bzU8R080bUJXLVooMVk8aEQpPnlITC0N Cj4gUFZKe3YrWH1YDQo+IHpnTk5KTT8hSXlgPG17U2tWe2lVTzxLUyFmRWh5UDBtT2FRZ2ZYUiNz M2dAMy0NCj4gSmpPPFQ1MSNeQFcxWEFSJFhDI2ENCj4geihVcnhsJCp3d2Y3UTdrczRHezxIUDF1 fHtyZE0lbDl9cDdyeWZERV84KF5OfUpSNDN3Yz91VnRWTm09VEpADQo+IH1MNA0KPiB6NEkhdEEq QG5maiVubmZeKnBIY1UpZkp+VXFsIzE9RVk7TDRHJVVKX2Z9K2BBMlpjJGhYVmxhMT07QVFxdjR0 PC0NCj4geiNtVklhez8+VTBwPVo3OVM+SUV0WFY7WnYkIypScTtGP094JUxiflpJQWlzYkV0LTVX LTJpT0ZmbDIyXjEycmdVDQo+IHplUDF7NVBmITk8TWZoVmNrLXdHPWZad3JpbG5wMnpAIUpqSChq Zz5xcnkpOzFhMGA+ZjdRSkF8TGc8YDUyJE95SA0KPiB6SU9JVEkzVmU0RFhFaUljY3oqbmhqcHFi PG1SXzZ6M3xyUzZ6VGE1UHI/cFMmVjdyeH40amdaOVEpSktMdytrOTANCj4gemR6JDxvR000PmVg ZDtIY1I7XzZLaCpOYjk3bSZTLQ0KPiBeaklHYytwcD59UiEhdF9tekZ7diVINykoKnQwbD1WRHB9 KQ0KPiB6Tlo7YVpYcm5KUjI2TEt5bV5heTJvaDhGcD9NOStzRzFnP2ViKmNqZlVqbDVNeUZyY0tr SSolbnhJZV8wcTxEDQo+IEZSDQo+IHpCMilBUHFhPWM/aHZ9XkliRiQ3dSkrOE1GQiVTXnteMVgh TylEKXlESGJRNHlzbCVZWWozfXpvZ21fQEhQMg0KPiAtRVgNCj4gekdAJUliZnA8U2JfKXk2fWch b1hSP2pOUWlAUmZ7KHRXYDthMnwyWVE7LQ0KPiBFKEVxNVcmITFZOENoSWgoNWM1TmJDVA0KPiB6 dX54LWF8TTwweT5zTXpMKj5pS157PFlyN1RJbzlIJkNNcU4yVntjfVFhQCo8aT9hbHstDQo+ID5M TTxyMG5gcCRjRkZhDQo+IHptXmp8bihNQ09yU2omRTtNeWR+dXJ1S0BETFcoN1phcWFVITA7TWl1 VzNBYzdNbXZxMmRmPGReaW83Zg0KPiBBXnNXLWcNCj4gejEqdl58UUY/biR8RFUkfGZCSnpfc3d3 Y2s0OTVGdnV6e05ed1NeVjV2alIwTmsyQDhkYzNeTyEkXlJaSF4NCj4gcXdqWQ0KPiB6QkR6dnt2 VjNQMnthZnR2U1h9SlI7JnI3Qmg2NEUkanRrcDd7MklpQkdEQlVFXkEtd05VO0I0T3okYklFe2Zn TnINCj4gejBHN19BMEkwYXEhU2BSQWJjY1FRbW9zVDNsaGchJEJiempxTnUheWgqclk5K1JLfSFw dks2ayZDakFRP0d7JDgNCj4gcw0KPiB6VCMtDQo+ICRCZ0dtI3o2KXdtb3dKflhPdyEmKyhOJFoj dCV2TTtITzxLWEVEY0s1N3d2KGNGNyp9VTJKS089XlhrDQo+IDNAQQ0KPiB6WGl0bCNMVWdoKkhD c3VTMU9BRkpKNnArZjQpX0ZQQTs0Q0xuMV5ud1lHYCgzRShUcHZZY2U4VEs4JH08YU16YSoNCj4g enF3SV9DRXd+SG9XJlJLMW5TIzVIZ1chM1dOazxeKmVJXlktDQo+ICh0QWp7Xjh7bFpFNTF1dHtD QygxX0s/NFlvfmpgKQ0KPiB6aEBGRVBgY1EpfSQqVCViJUxrfiVtO0FaQl99QG9PelReKyhDR2Vo UFRrYUd0ai0NCj4gaCEkc1AwYSolRGk8a1JMNlhFDQo+IHp2c0Q5d0JvRkpYYC1ZdC1XYXBfLQ0K PiBjP3g0VF9LUiVuPiVPRnVxOEYpJHFVYnM1ITV1d0FfcWgoeTNDP0kmXmNiVT8NCj4gelUwb15t d0E8PjNiayR2VHlvPlgxZ2YmPzdXM2RMKyZWWDkrPmJQQHdeVFd5IzFpNCpSJE9wJHtBNQ0KPiBe cSFHTStEOA0KPiB6en0wPiheZWJDVmB2YWVfcEI3PlIlZG9KbHM0VkheOzllI2tuOEJIVzEmM2gq RUlHZUB1KjxkSlhrJD98DQo+IEBhfXdFDQo+IHpyVz88dEVLZEMlNGFAOUZQQjtQPCtqNkIhdXBm eVBsJU42fTFHeWJKamc9XkJ0WUxZdFpKeHVKbFR5XmZDMmFuQw0KPiB6PSYqUGd2TWo7WDBCMD0k VVN4bWVAY0J+fXM8ezVveSZgRGN6X0h+YktXPldAaHlTKUFPWH5VPFM2eA0KPiB0d2NvKjZsDQo+ IHpsWT9zLUw0TmNTbTcwXjZMTmt3NHJHY2kybGwtX14oajdgQ3h5WiplSENMXjFMZDZtdkE5PHgt OzUrQ0FTM0NVSg0KPiB6dkZGYz81a3ZtQ1Z1dkFrNz1NMFc+TGlmWCpCcGEpM1dZalRhZH5DMEZG cmAlPldKR0dfdDFEfCVwej0NCj4gbSVYej14DQo+IHp0fE4yYnR1ZzNzZFVgRz5HaXw+andmaHlo aWJjLQ0KPiBLRD44bzM3eFVnUHk9IT54eUxGeThSV1F4QkNAI2chKj59Yl4NCj4genVAPHEyK1k4 ZFV7KDF9VU1mTG8tDQo+IGQ/ZiFDU0c7a1YzKHdaITV+bllEdD9xNFg0dDt4PTNyWTxFP0FMRFR7 JWMrNQ0KPiB6WXF6fE9nWT4+OXtNZG5wSkhhd2RmcWtOMF9OQ3J7UTNCPjRgd31BY0pWdyo7Qlp2 SXpKV1IhdlNMcCVoTA0KPiBVbk5ODQo+IHo7bFNsRHdkTzhtUTRnTilvYDFCX0tfKWxAclgtDQo+ IHleVmJ+QHBGQHc4NnRkKTJZP2gpMWpwUk9nSmo9T30+UFctV14NCj4gemklKkRLaklmRUtRVFBa fWNfdlpxcDUqfiNmcmJQIWlTZE5UeDBTKkIjTD0tNUVXUDRacWBNezMzbG0rZktFdS0NCj4gTQ0K PiB6T0MzKC0NCj4gal9vWWZCP3dSbUdvRkRSdWJ4QitIQDFZfVRFWkRoUEZhQjxnT0BQTzR8cVhf TDFnYWZXRkw2MW9lIUQNCj4gWQ0KPiB6IytQeWdRZ2BFenM5YHUhIyQ0dlItcFBqPGxXRDZpMSQo KkQpMSshbEY9SFYhVTZfLX1wSn1UcU1hTnl+YVpaYyUNCj4geiVycWg9bGU5P2Zqfk1mUE96aWtz NG9TfkxhbzclQV5KbExfYmx8MWNtTHVwZWM5Rjt1ekhpd302ZnQkWmc/QW8/DQo+IHp6ZVVsVFFg b2ZQbiZxKnNUclZ9RWJCWGNncHMqcW9qdCRtPDYpLQ0KPiAxfVdvJUJDM01XZk4oRTVoVFYmaVgz NjU2QnINCj4gemo1KUQ5UUlINl5RYGUjdW5eTTs0RG1fe0hFSlFFJmk+djlWK1NhK1NaN15nTnNF a3s/aWc9d1RNLQ0KPiBCK317Nz97Yg0KPiB6VEkrOzgyMGx1OXJNOGZAT3hIJFVzanZ4ZUhMRn0w YDFuZ01UX0dZSXlsdnReVF9ObyRkYyZzNSVKd0ZlSHheDQo+ICg7DQo+IHpQNmlQeF4hPjZ+c141 KERrSHZIV3dAXytjcj9Nd3ZSLQ0KPiB6N2IwQHVBX3kkSHY2eUtmc2E1NTl8NDhSKXRWX3QoaloN Cj4geiQkcW82Rj5JWiM4eFo9U3ZWe0JII0ZUZzR4TnB9KyFERk1+Rl44Vjk2TjgoOyopaVEtNC0N Cj4gN2M7U05mbEhGVTJvTQ0KPiB6e05UZ3lwJkJWUVRvYkBJWWtyI0w4PWgjcTlgbjVkXldBek5a QCV3JHslcUQ1PnBVZmZedHopUUotDQo+IGkyRkgpeytYDQo+IHo0NGozeVlQQkFlZWt8fGZLaFVi SmRiQilZbnw0KjFKbUhHd0ByZDIoKUN6ZkdEKHpDfUFmJUVYU2F3SkNEDQo+IEF0UnMNCj4gek5l SVdTMyN2ajBHYkJUVDB+b1RkKmh4WlFYNSl3IVBubiZSKCtQPkJzNldzamB9SWY4P15STWdNMnxK NWcNCj4gRCM+Sg0KPiB6cnJWb2NXTjleYTlIdnNwRmk1cG9LVmokZUJgcj9eMXYkY2F5eSV5c2pn YCFEblBreUJeMkZ3O15BXlI5bGBOJQ0KPiAzDQo+IHozJHUqTyQmI0tjSTFJPFFnO25KSUMjclIr ODlFWGQ4b0xtb3dlRUdtZyl1QkMxRVdANjtJcSZIN1hpI2xXDQo+IE8tP3QNCj4gejRlcG02UlQh NnhSZnhfJGkwOFVMSkkqJFZLcCRmaDFoT25QYnBsaFBpfEVFNFd2NUd4XlpqXnZqOVI0P1F7REgN Cj4gRA0KPiB6a2l1OUA9PVdec05CPmFKYzB3MX4oNyRRdVhoTGdrPW5FUVo1Z04zaTgjUSN5ckdR PiZMbSRAQSNlfA0KPiBOdXB7OW1EDQo+IHpNeVRqSlZpd2NUNG5pfHI0PHF6PzRJT25FcGx7Z0Zp NWdsJT1xPypOUnpvS2YrSDZDUSpVK204VTFMS0JZdj4NCj4gdzYNCj4gem57NFIyfEVjS0VNUUdI OXspZEsrc3NaI3tIdVBCeVR8e1YmNFNobUdUTD9ZZGhUZD0yRmNIdmw4eWVUcCMNCj4gZUAjQg0K PiB6cHxAeWcyY2Y7YW5oc1pLPSRKYD57PmdAcCpVJVAxeDcqTSZHfVFleUshMGdOTWAmbWpxNChM KWVMYnFqDQo+ICVMIWQtDQo+IHpMc0pec01kKWxCYG0lPE9uR0VRYUh1TTx7VH0pX3w0Z0lOeHdp OX1+NFBCdzNXZFQ0LQ0KPiBaUm1HMmJTan1BbFItSzENCj4gekdjPmVebChjTjwqRU11S15TKSQ1 RlZONmxMTzB2Y2xRZVZAc3ErJlhJIXI/PUUoZGhFNGMoSmdiaHcoKEo4YkMNCj4gZA0KPiB6OHJu fGliUX02UjRJVEEkS3JncVVQaWcydkxlSUNNNHs3TDVMUWt9ejJATmReMF93RyleRUsyVV5nfVd6 PkZgDQo+IFlyDQo+IHpUfDtQPjRaVGM1ZGtLQnNoTXVMTllsLWckOCt4M0VNdjIzWlktcThEUilx ajx3NHZ7KTBKfjhgPXNYK3hudWV8Pg0KPiB6XmcweypUTWdZdz0lcUlGYVNnMnExM0pjcnsrb3Uq Q0c9UHV4PG9AOzMzYzFobj5EblFRUGg4c1pBcGlTaA0KPiBFQF5VDQo+IHpWTTh4Z1AtdUBndkMm R3RKMFNrWEs8QVRYNXo7PkEza2BJVGB6JHR4I0lDalB2LXNDfHtjMGFmN1VeeSsybnJaaA0KPiB6 Y3pQNXB8TSMjR0Vgcj44eXZqLTc+RiVLQUo8QTVyekxnNnNFJiM2MXNWVSZ3KHpDP3B2Uj9qdWZ2 aD18LQ0KPiByMml2DQo+IHoofDVYeDIzbTdrTWgpOExVI1dobXNOfXclaDd2Zmp5bGYhcDxwWnZa VDs8XmR6Q1kwNXd2K0k2bjAtDQo+IDRNX1E2JWENCj4gejM4fDBPNTNnbyRKeCFJNUFfbEh8WDtJ RyYpQThLYVB6RkBraEVhdj4xejZmancpflo9Ukh2PXZaMUxMQVJkYk8NCj4gVQ0KPiB6YHx+eGxv dEc4dGZSXyFtNHRwKFZTTzZwJjNeYjRaRGNAQl5VRHFKZiEjU0RDMDd4ZFFrU1MjU09sS095T3AN Cj4gOV9kDQo+IHopaTlHPERZRUtTQ1E7RXRtMj5oZUJIPT53bVNARHFPOEEkQD56M25GMEJVZzt3 JjdvOE85TzBzPzc2DQo+IDs/MCUqSU4NCj4gelRWPE0xa1A5KyRZbEd6K0ZXYiQmeEIwb2dqR3dq cW5OPE5ZMWxFVkZsUUQqJWZ6KkUjPiU7OHsxeGYjJg0KPiBwbW8/Zg0KPiB6cmooPmRRe1QmLQ0K PiAzT0hKNWVlZXJgQjdaPilvNEt0PHxETjx2b0UpfmNlJmoqaStQNVhMQyUkKFd1Un5mWCVkYWJP DQo+IHohTlEoSWxGVlNQO0B8ayZMbGYlWjhOT2NUeUpycHAmU25FJmU5ZXVlXjtORVlCYT8zWTJ1 Pz5RQmJ7TW1EDQo+IGhNVk4NCj4gemBCMnV1ejNLNjBVXiRsaChFVzNTTXU/Xl5Wfm98OSZZWGN8 QSMxV0kzVXE5bDNzKngmbVc4YmMpSXcwMw0KPiBVJH5GPQ0KPiB6ZzJaWmR6cm88ckA0JWpyYilA UGNgbUx5ZXQwJTBXXns9MWpfQiZ2cXVrM2ZrIWolek4zaC0NCj4gXzU/fT14SU0mWWt2DQo+IHpj LQ0KPiBzSEwlb3ZqQkwjY05XYE52SjhreHNlYz5lN2RwMCZJOGxLRCplbGFEPGJTVUR6ZFJrVmhL RGVEJFFCS15aeQ0KPiAyDQo+IHp7Z3xCTGVvVVg/ZWhoU2V0VE5DIXxKI0UwMzI2UT9vYl5oMmdD UyFiYCVRWjZld3s2Tig+MXRKNGhBWilJYnkNCj4gUkkNCj4genNHdn04ZiVRQFZXS3NJWENYe359 X1A/dmVFS01sKys1bFN+YHd8K2ZPX2JLP2ZkVHMlOHwtDQo+IEdrc2hiX3xIMmRKTQ0KPiB6P1Bp bWFePGlUKGJGJWcpTVBsM1NhaXxMTitCM0V6Q3lROXV0aEhtYjRjdVU9e1BrfFI8ckxBTHdXZmI5 b0sNCj4gfHdQDQo+IHo4Q1ZNZkMrSXRgI1Z2WT9ubGY/RFVsV2ZDWnUjMG9ISiEtPHQ0JWAhWVpL IXVkPmRDJEpmS1Y+Mj47JTxHMDlpbA0KPiB6PWIyTHNVY1BVbU5SZ25gbHZDSXYhcFZoY288NUAx WX5YXyRCeloodGd5O3J2I05rOSNCNi0NCj4gWVomcjxkdmd8OUBuDQo+IHolOGc2Nmc2WEdxXklL bXAzTUd7IVZybVY+P31qRUJRSzMzNjAkKXFfKTdWOUZhJilgQHM+WFcpWlZXYHwNCj4gMGgwUX0N Cj4genIpfFFNRX1gPFV2RD5Fb2Q3QGA+WTJUbmliQG9eJXVeTUFeKzVeej47e2dXWE0hOU09SXs9 SXQ5QXA1bA0KPiBSe1dlWg0KPiB6MEdEZFdBcVVgI0ltTDFaVWBTNWt8SCVQKHk+V202dTxRWjJA aHwlaXp7NCYzND92R1MwTGAtDQo+IFBGP1JzbVBxSHtSDQo+IHo0MmVgcWRFdGNgejRpY0hfMyFg I0BKMjdJJmtnYHAtOVpONlJyc1J4T3x2dUxTcShZbDBJYk89bU9COEFJZmVmeA0KPiB6MlZtK3cw fU1kTTkpTEdHX2FBX1lqciRMUD5sPDQ3ZDxEQkhNQmo7OHAhQTlWSjBaPmhtPDwxVWtYPU8NCj4g M0EwS2lDDQo+IHpVOyt+KVdIPTJRKj5WU2ZBK1pBbzs5JW5BNTsodjFuQilAbzM9UVlWezcofE09 eCQ5QlNReVpAdDh0c08NCj4gNURTdXwNCj4gekBqb09mTjg5ZHIlQkYxNnpkQzQ/R2JmNG9tcDY0 S2o8eX1XbylEWD92aylJeU8pSldwYTNBNF9OVEhoJA0KPiAlNFRHPg0KPiB6RDg/YDRmR2Q9Y1lZ TUR4QjxxXmg3NHJEQnZnc2xORCNne2xkbWhGeEM9Q2E+aUgmdW8he2Q5dWpEVChoa2hIDQo+ICRF DQo+IHpPMythVCo3UU5KV29jMTs1eio8I0lDUD0lcTxiNm8mUCN0RlJsb1p1PX0jSVRCK15vSyo5 Tj1pKVApTWVxDQo+IDwzZT8NCj4genhTQ35YVTtMP0MlNG15JnMmM1IxKHheU1JGTk1mWXA5dXZP dkpTVVgjNVRqRng/JHJ3cUl0SSVwRX0wIzQ0DQo+IDF+Sw0KPiB6KE4tDQo+IHBFTWhkPzk3VFFj JURCMGdheUZ4KmN7fTJgJEVmd21EUXtFQmAjWnRLcCY4NGRHTT5uTyt6Smc/QVB1VGljDQo+IHp0 WERSck9yPThKUkJsLWNzKyk+ZkZvYjluYEtfJVA0LQ0KPiA3KmJzaXY5RVBxYCNHSG4wdCQyV2pL YHdrI3tBQSZvb2cNCj4gek9LWihsMWdVRkE8dU5AKEVQbHpqQGhTYyFsZ3kzI1pHSXI9UmAkbHU2 JFEqUiR4QW9Fc0gqbWZiemNFZjY1bVQNCj4gdw0KPiB6UWRfd1MxJHVgfXMtQjI2dU0pZ29pciVq NndwYylXNnd0en4zUl5ySFJ9TiE2JHAtDQo+IDR7VV4xeUhaNjxsUDxEU2UwDQo+IHpkS299blk0 YylVIVZsOShGNVhYe2JVLWFJNW0+REA1JT50JigwM3RpbVMkLX53fS0NCj4gVDshbXArY0w3Rnl2 KVU9VXwNCj4gejg9dkJqP1FJO1ZJMl5TM3ZlMVRVMmN5bEdsfFdWZ1EkZ3dfTUhFMkBwR3hfeUFT NEVAdWleVzYoU0Z0ZS0NCj4gQVhwbA0KPiB6V3BhcGZLWGpLTzRoPD5YPlFBYmVrfCpKUWcmIVg8 bFRvQjN5ej1QKmR+IzM3aFdUSGNrVmtMXyQqTjdFDQo+ICVCfFE3DQo+IHpafn1zQCMmUyN6Vj5S YztBSHt6NWxFZ3ckWT94X1dSP00tDQo+ICVTU1MqK0hoSl9sSF8kSm5XMjh0N19oalFMYGpOZ1oN Cj4gel4mX31mdTV1XllGRy0NCj4gTlBWcGJrT1Z0U3NFYXBQMGAoS2BYSDdJQnVgTFNsTlVPcTBC OSo9RH42VmlVQT5ISGI5Vw0KPiB6QXZoR0lXPGh2aSVtcERGO053Qz57MzduO2F4RXhNMV43bUpS M0A5ZGoxQ2JnRnk7c1VRN1REU0o2NSVTDQo+IHkpQX1SDQo+IHopPXRSXj4yc2F6bnpTdG9OfXIj TCVpPjdqTFVTMH5sTkY4TWUyP3tkOV5ybTZ5fUxHY3lnNVI0bVQ/OHc9cHcNCj4gTnsNCj4geng+ c19nZWdfdGlEKiMzRU0mT1ErI3Uyejl7PkxoZFMhbilrZjxEQTRNNUFvZE99WnhxamdkSTVDcjBZ VXVjDQo+ICZAeA0KPiB6I2NBQ1djMGN3akdmSylwckleYUYmMml2ZlFfREBaSVE9JD1QODd5SXI8 I052VTlIRnNRS1FeMzlIND9RQQ0KPiAxfVRNDQo+IHpKPj5jP1Zucmk4TyQpZU9afSlnSD8pUjZh Z0I0VEB4UHk0UndrLQ0KPiBYVmpEWWdgWnNfSVlRK3FueWFqZkVCdkB+fjUNCj4gej1SP25NUGJi NEEyPkhDWE0xQGh6ZWJ+OTtAKisxYnoxUm5xYUFqQiQmIypqUHxCMl5MSlkkWnotDQo+IG8hS2JV fCQ4RQ0KPiB6eVlSZVAhKFlPKWYjKHdkZS1fVkdgZ3RScyQ/dF4hMD8hbSQ0MjMrNVhVPD9ne3tZ WUFUbmY/VWNwZzcqLW44M1kNCj4geklpRDJCZW93IyNNIXIyV0NqKW5tSShoZ0tuNn5oZVRqeFps JjczbzEtDQo+IGg5YFQrdm09M3B+TXc0QDBnSyQpdURhPQ0KPiB6cCh7RGpiJDRCciVmIURVcUUp V2hPUk1tSythbW5gNmFGanNnIUgxS0xUQ1RPN0BXNm4tDQo+IHZwNnpVe0ZlOENoRGZrDQo+IHpL RjtYfjRuTXZNZHhIQ3FKLQ0KPiAjaWExQFhOQGVmMzx9bXo9bWZfRXB5YEx9WmVJUFErc3tnbWsr MzFyKiU0Q2VzNTQNCj4gejY/NGl+O0xnYzYjR0J2bU1tRSZWXzVPPEo2aWZ0TUtCbko/TWtud2Nf NilBX0AtDQo+ICVycGpndj1vcVZfJnJKS0habg0KPiB6M3dgbFMkKD1fVmNWWSpRdT83SnVWOyNk KlBsJSFKTyl0bFN7aWBAMWMoSEBhbG1aO2g4WDckbGZMXlRHQn09I0INCj4geno5b0Ukc2FOU0gw XjM4elBLTFM9YyhEZDQrZDk8O0xDUmM7cXVVJDZtcDkqKXZvR2NNRndXeEokQUZ0aDANCj4gP2VS Yg0KPiB6MFZ2Z2hlQnt7QEphXjt5NjVNbUNfe3pUREB7czJaQl89amxPdCRwKFNwUklqbzw9O0Rs ZzNFUWo1cVJkZFlgRD8NCj4gemwyWm9aM2hAeWwrMjk9RUUoeF9qaFlgVmpaWXMpIyZ9R24/aHV8 UEFRPl5vMWVnMDgtOV4welYyRy0NCj4gdGJoY3BxLQ0KPiB6VCslWlZ6Mk5AJlBJUH0wSHRpaDlI ZjtARU5KRU9WPiFaUTQwUyg+RzZEd2RRVitAPUhvVGxRcjJrVTENCj4gYjZ9U2Y1DQo+IHpNUnVj U3pBZVJhUGZSUUJpSUxzI3koa201TzJze0t3JGU4YzhuaXdaPilLO2pENDB3VjdQOXMjODJnKmwr NVcNCj4gQ1QNCj4gekR1PXEkSCpDR1BPIWRFNEUmMlVUeXtmKFJlX1NxVTNGKEJzV0NiP190endf VFIhdmU2SFlGQU5rNXhifCgNCj4gWkpydA0KPiB6Zy04WHNFM1hHUVM8ZlYtDQo+IEJESXpOSXtQ ZitXdlZqP3BeVFglZUx7dzNEdSM2eHBUcEskZntiXkVUbTxKYmM7fVBCDQo+IHorb0RWPDBla2d0 RyU+c2hwfUh4NTYtDQo+ICMyYko+dXokYSlzPUw4MFJKMUlmUCkjQiRDTE09JTMzcTdudztqSChu T3UNCj4gemA1Xm5fP1dJWmk2QEQwcChJWT0+Pyp+OHAwV30/UEsyJHpGeG4obENsemU2PGE9cmlQ VDRNKD9MUXBnbTszUE4NCj4gVg0KPiB6VXYpeW5PXkVUaXd6TnZkSFlCfE5YZjNrdFI5VFpCMUFf YkViRitAZEM0JExrYl56YDdBMnEwd1FSUys9TA0KPiBiYShYDQo+IHpwTDFoS0NzTShXOXFMRDFq Mi0NCj4gQCQ8QFN4MnhlQGJhZyEqNU9lXmxnNHtzVVBjQlZMflE2NF42WktZfTwxdCVxUXINCj4g emg9PCQ3WWNZS0Y+eVVfUm5jXjF8YDVNK1JxcT0zejxrc2YrNzBpb308fVVkdCQlMHdzKV5hcj9i KEF4RD44dQ0KPiBofQ0KPiB6VjBYfTNiKHsyX3c+RjFoO0prSD5He200Qz9gdSQ+PlV1RTtoJTI7 cndeaHIreStteGBOQUFXb2QpTzdtaQ0KPiAkcihKDQo+IHpqU20zZT1DN2BoYj5CQ293KTljUFJO bENGYCk8NSkoV1JATWFGNHBkKn1pdlliclUkfEN3SnM+ajBiX3BDRQ0KPiBHZDMNCj4gejtGeFFY TTI+LThxVylkVz57XnoraC1WViZVcjUtDQo+IEQ9aXN+PGErfVZLPkQrVFNMJDIzeDwhYF9IbD1t JmBZYXdgPA0KPiB6djlwVmVJdyR7N0puek1eRlVpNTRxajdSQzRsbGBwKWJscCpre3Jhd2QwITRR MSs1akV3NV9GWCFPYEVHZEkhdigNCj4gens8JTV+Xjx7S0sjeWM7XjMmPz5oZWVAU2drMlUwVSlQ fjFkODNlM2tVNCNSWGY4fWtnZjVyVilJM3tYNmB+Qg0KPiBReA0KPiB6YCRDPyQpYTBDV2AjTjY1 cHpJVGs+RjZ9LXZ6JXsrb3gqSVFpYlppY0RoaTRiU0NUczQ0QkpiRjxibHFRb3w5Z0gNCj4genhw e1NUQl9qSGEybFYzR1ZmPG9QNU1LYENIXmxoS0VWU1p8QFdlRCRicyR9bUpXcE1qQjxBSmxTbyhy YlMNCj4gQ2p8RA0KPiB6cV5RZCZEeFU+QUQjXjI/NTJeKD9rJHxiQ0hqYyVaeGdlanFiRXI2VkdC fUY0KWlCaG9XZ0AxTThpcGdLDQo+IFM2QWZKDQo+IHpsZkZwV3Q1VHJVLQ0KPiAhYzFCenM0VU53 SW5qQ21jc202Xm89TEQoQHxmfFRBdV9iS2FQM0d0NjkwdD8lUX5GV2FCY1YNCj4gemJefEw5RnVv N1ptKFJIRWlzLUhMcnJrN3lONn5vRSUlUlEpWTVzTS0NCj4gQkdydnJ6e3coem9USEJOUTd0QjxE bG8jTA0KPiB6IUBzSkFqQHUzOEJkUTJaOVFWOHNMbnN4eTZKV1V7VWFwOTBqYmM2MEVgZSlHPGtH a0p3a1lJQEstDQo+IElsfXY5cGpPDQo+IHpjbURDdjcld0ZiVDBkQUs/M3I4U3toZ1pWSj9XPS1h N14mfGl3KjJjLQ0KPiA3R19kJWVvalp4cEVFNVZ9I15CeEBaTTkNCj4gelIpd3E7QG0hdT9nZEpN bEZhZmF2RThRa25wZFYkcFhxNWRORSZ6cmVCJDh2S3J5e0xqMGFrITtzSzFLb09fDQo+IEdqVg0K PiB6RmpQOEAkbzcqKyZiVz1jN3Z1SXBPYXp2P0otN3Vnd3lpWSpzaHZRVHt5YEFXYEpjNFZfNy0N Cj4gZjcwcSYjTTRSUGkwDQo+IHp6ZmI2dCttWFVOa3kzPkx3fXNCciZ+YUh3VnZDOXNrbUNUTWJN ZW58dnJfMm5meloqJVlOSUQma008DQo+IHNmdSNVQlUNCj4gemlvKjhuKFBFQlVsaGVtej9kT2Jw YkwrNjFkeDh8IUE5OHo1N0VVbFhgTUV0Xns5ZEZ4ajJqKVJqe2VIZER0aShpDQo+IHp1ZU52Pjt0 KmxnYlBWSGY3dDFnISVqYiZwI1ptOzRAIUI3PGVOT0p8Zzw+MDY7Q3MwUjR0azszWUtkdU1RPg0K PiBneXoNCj4gentwUl48Pn1AMEVBb35SbHhsc1ZPanAyaytVKG1XJkUkLQ0KPiBXITE9X3pUTEpC N35BbGRveDMkPEJiMm84JjV6IzlHaw0KPiB6Kzs2a00pS2lAVndPUWNhcWlzTnd8RFM1SmZPakIj NUJCe05hanwrU14jaFJsXjY/KWBVezJ5PGBKaU9HRkxADQo+IE0oDQo+IHpUNzgjNWJWIWYoaSpU bmJAMEFAVUFDJHkqQypTN3lwKEgqcEM8MzN+dTgwMlVGLQ0KPiB1Pk40QCR6bGE9IyFTbCUlc0oN Cj4gem10cGMjayNJNzt2eTlffm47Jl5TS3c8aHBieUUxKnVTdzZhOVQtDQo+IDdoYjx6fm9eQGxg e3M0VlpAJjROJVFBfHZiQA0KPiB6cio2KjZabDVRdlVDejhYaWsrQURWKHZEa3VmcDN+ZklhUio7 VzFeIWVCVTNpZFQoa0VtQkhgdWhyOF9mYElRSTANCj4gem95I0dAQUR7WXVGWGlKM2VTMVgoVzRw Sk88clhNdiVaYT9KZE9vOTdAPXJVR2xfd3lreiFJP3EjUWgoVQ0KPiBJSlQpXw0KPiB6JilCbihC UCRAanE9PDZEcWpfMTZIY0QkVHYoNlgwU1p7fmlEfXUlTzlgdUZlQThhaGFvX01rdVkhRzJIUw0K PiBPJkJYDQo+IHo5NXlATFc7NVlOQFI0JXYhSEsqdS0NCj4gQz9zZzZyMTZEJmttYmAzdnZJQyYx VCZXbl8xS3V5bHNNPDhuakJBaTI0MygNCj4gemNJSDthWDJvUFAtc3MjTkItDQo+IGc2ajJeRWB9 Xig7dHhNVGB6RHVTJFdoTmBHKmhSSDM5PGFxNDJ8MkFxaXBPTGRjXw0KPiB6ZGN5aD0jQlEtDQo+ ICZ6PTMoeXluejB3WUlmSTFIN1EyU1EhbiQrTHI1ZTQreUFwM2p4KT50QTVDcXR0QU9taXt5eVRX DQo+IHpXZ29eYnxHU3p1cyt3I3U5TH5vYCtiPl84UlpPZGx8STMqU2NaPSRFaEBrVTJ3PWhCc1FE VFlFPGZVISoNCj4gJXlGaUsNCj4geiUhZzA+eyl0d05qI30oUmc8eVZ9MTI3MTF7NktBYUpyaW1k NEhhfCRFNiU/dHpRWWooPHprb1VSOT9yNV89QkM9DQo+IHpCXlRnekV4O2xkWm9jYkc1NW56KGEp bWcpbDMqRl95dEhXbm9Ea0hqP3R+aTsje3s+SztrITY7PilYa0VsYEc7Iw0KPiB6O2ZsRVdxeGcj Yl59T0B8ZmV+RUVrSXh3MzZDSlNuYztPcDleO3JIYilIcVVWXmVWSihMbTNCY1YqPUNObDANCj4g TSp0DQo+IHphTWxfQVpycEctLSlCcl8mT2hCUXhUWEpXMW9gP3FeJEx2U1Z5YEtMWjR9c203a2wr VTlfb3Z8ZkwtDQo+ID10dWM8NnwNCj4gem1uejRMeT9CY3BaPGpMJnpleldWaUBrVW04Kmk2ZU5W dldhQ3lrNH1jcER1cl9OcGlSSmU/bkJlcG5BTA0KPiBfRjZ7eA0KPiB6N2NfakJhVVdreClOOVRT WndMQlo9I3skUk8pbUUwOHc5a3YqbFI4OCp0TCs8N35xRHRieGklR3E8UiVRNg0KPiBrckNCDQo+ IHo+Y1M0ajJCdj5rbURibHZRTEgqdyVVTmR4eC0NCj4gSk5pPllKSCF5NXd8Jj5hQmNAczhedEZS K2p7Zz9TemZERTM8cFMNCj4gekZNTlIrNU1BczYodntWYFBMMEVhK1klOUJeajMkQWM5dDhXJTdO PG9zeW08MkxITjdrdi0NCj4gM0pOcClSUno1Jm9Lbg0KPiB6VSE8ckBzYG5BVFJsYHFLXl5vZlFn I1MjI2haIUQqaCNwWHtzP3htYylOPTh5dUpBUWBFKG5uNz4/MTYwYEQ4YA0KPiBkDQo+IHpDfWth Mk4qIypvPG5qdDA8VGtOY3ViaXBwT0RlOF89OzhnUUoqbFZRdipXeDshR2E2YUtyQj9eS0BXdU4N Cj4gVTd3KnINCj4gekdMYlF6ZzJwSjtecDZEYC0NCj4gSURacXNeRzszNzk1PmQ1SH1QVjN0OHxm Ulp1eHYqbiVZWHgpWUIrbV8wNTdyPHA7LQ0KPiB6NDFfYUlrQDI+T2lRTXdKV2pLczdUJHpYYFQk T29VWSFEX0JLND9aYyRMV3ZIe14kYDt6bGV4KDVqNUpDIWclSQ0KPiA3DQo+IHplaURkJHJNQEZZ JiV3NEh3U1JDeGR8ViYkUXRebGBia1A9bSZaWUdvMVApfG47YDBufXhNdXVYYyVBDQo+IFdCdjk3 I2YNCj4genQ5bW0qJTE4NHheazZhJlU0QzxuJlJfaUw4ZCNHcVVZMVMhI35aVDNRVXpwZkNqRCM0 UHtqPVZBWH1mPSQNCj4gWSpANw0KPiB6VllSZV5iNVctDQo+IG0/cFl4RlNLJTM5aVhyPXdaRFd1 blk+aDR2aH1yO2YyT0FZJTR7UHlmdDJKRSZrem5vT2l7aWZlDQo+IHpNJHw5WTxrcGQxRWVmSVd5 eDxPfCFITmt8LQ0KPiB5KzMlMDQwXyVMa3tYazh+O1d2ZD0zeVhDS0g8cSM2T19wNXdaJGQNCj4g ekc7bnwhS2pjNnxWPH5HeEtqcTRFYjE3PklUNjNwTXshfE85Sz9DTHJfN2VOeTkrYVpWMmA9MTYm QEtwS0E3DQo+IG8jQQ0KPiB6bE9QIVYzYT5WfGBjT3ZLJnRPVTs+eGEzfnJ8WHREUyY2UnlZVWFn dHpgbG1kKl4pemlVO1M3NCZLb1FuTjE7Mw0KPiBuDQo+IHo7OFVjRURSX3hANzRRcXBHP2cpIVBp PG16OUd1aX5GYj5xV2kpfHshd15jeS0NCj4gQW5NMX1FUVczRTw2ako0IVZKUjQNCj4gemZTJiQm Z2VgVHtAfkIoS2pgNCpUcVpkMT5pfUc2XjR4a0otDQo+IDVsQnBPXlB8ZmhaUGprNUZCWm17TVdP fjspVFNxRA0KPiB6TntzaTtMT3tfVGVxYGRBSm5OXyVeKztJcHRyaGEmMzAhRklARFdXZD4tYCY0 N1FhPkdaLS0NCj4gJT9HdzcwJiM3NXRkDQo+IHpeRXM2PlUxfWBqQ19nYHMxPkckfVZCZSZWYkor TCRFZT9lfmc4WUZAUTR3cUpMdlpJJHNuemEwbXJoYk1sejUNCj4gT0INCj4gemJ0I2p6S1ZOfW8j OV91U21eTzN2dj5SczI/WWBOUXk9bzRfcDBVcHROdSoqQ2QwMzJSMzIxeXR5fkBYKg0KPiBYY1hX cA0KPiB6OGUkZGsjTH5CUXlJRW0/Qyk5Xn1hS1VIY2w4K2MwanZmYXw2MkhUe2p+fjxYIzIwJEBW VXNXSkxiJTwlUHYNCj4gakNyDQo+IHprakpke0kzaClyTkJDN2sjTkhaY0tmOVB6Mk9nV245c08t KzdNLUJ2MTlPekxmciRgdCROWDhHai0NCj4gc2AmQ0coVmgNCj4gemwqSndeIVE2YnNneyt5JUt3 dERFNXNTU1gzVHY2MnNMcHhmK3U4ZkAwbTx8JEBHeSU0VWdUYWR4Q01lPg0KPiBhcnppWQ0KPiB6 ZnFqVCg+UXsoTkd+UyE9KDU+UVU4IXk0KyRycWhNSEBtLUl6LQ0KPiBMUj9XJVo3V2M3YlZmIWNj ekEjR3dyZkFVJHVxDQo+IHpDTSowQHhRbHsqakNBcDJPZSNIJGo2WXFmYV9NMFZed1l3bCZ9YTM/ MkszZn4hLQ0KPiAqZDAmNyk8OWF9K212bVZDc0MNCj4gejdVaWNyMylkRl82TlRTcjliZDIwMmlE KG47Q0xRNWtYblRaR0RxO2Q4RUBKNCMjPTsrJU1yZEdwO04tN3lhLQ0KPiBWYA0KPiB6JVhRR093 YUk+a1YjOVpzYGwyKUN5MHt5dUU7eEc7KjdJdWRqdG54dG5+T09JY3xhRTEpX0VDfSpJZGVtRiNi UA0KPiB+DQo+IHpYXjR+flAjKlcjN1JMOHA5OCt3N0BDRzwhbWZjKD9lSl42aipxYkFhamxpaXM/ PVRWYi0NCj4gNUdpNXwzVTg0Nl95QEkNCj4gekN2ciohdDxWT3xyJj1lWHQ3a3FYKnktPDt7OUZp ZlBAUloxJiN5YHFodCFFQHRkZHNIO1p1d2FsdXhJX2AybHNhDQo+IHpMZVZONHE5bTN+c1M2Pzlw b25AeCkpJDJrczlYLQ0KPiB+TWg3RSR4fSY9QVVuRyhZKF5lY2wpSDEmazV7ZVVwbWt5c2sNCj4g ekVyJmRzemspXnw/fUdhUlJAJjZDNDhtdHlAZkZMblRUJFNuc3JzeW9vKTdWIVB3JFdRZkpDckdg cVdSQ2BzDQo+IHF8Wg0KPiB6OyteU3UxIWF8REg1ZCN5X14oeXo7VlcoOG9OUlFISUt5c0gjSzlN Q1gpZ3E9ez1vdmskRyt4TGREV0c7DQo+IFZsY2g8DQo+IHpwJkA5IUtnYHp0WSRzUzVVdno/fUg+ KlV0RHAjfHZ6bTg+YkpmbkxAYj9HPFl5emkoUUBpOWA9UzZnSkN4KSoNCj4gYTINCj4gemF0RjdN Q3Nueyh0NzxTZG4heGhHRTsoTmRtNUItDQo+IE52Rik2enVwMHxRbjRBSSYwRT1hfkB4WDZ3NSlC JSRZSSEpPA0KPiB6K0VFMSE4bkFaMlNIdjhgaGkqaUZ3PDNiYWtHWGx3ckpfTntRLWNQcXcoJn1Y XjQ5Z1BMXlU+TExSNSUtDQo+IGdQT1EwDQo+IHo5K0o8cVdHZXxtalRoZm1nN1hFa0c+OW4tDQo+ IEwkWDNkWjVQcnx1fW17NE9NRCtrWFc9KG9hMU5PcDdfeD40YSNEa1cNCj4gemxhVFdzcj9OOX11 OXpQclpsYitYdntrOWRGK1lKMEVWQDNzUXFsRzsjYlF7S3FjUylqPjN2IzlQUWRlX2JmbkQNCj4g Sg0KPiB6KGIpZzdkKCZZa3N1eWtAfDJ+KFdjS0g4fTxKTWhkQ1pIfmhpfS0NCj4gZGQ/OTwpK2Jg VT98ZyV3OXhjQ2UwOHI9WCNNDQo+IHpvWU9Xa2BRZlhDdCZ8PFY+Y2djSTQ2fU9kKyl6K2BTcE5q anRubnRONDZQN0NWTCh4OTd3JW01I1liWEo+Tg0KPiBvPX4NCj4genpyN2tudjQjcVowdzBNTFZx PElSJjB5UnFARn5DJllNRl5FbH43LQ0KPiBRaGolYnQxJCR1TVI/bD5wNj1UNnNNJSYpeA0KPiB6 Z3B2dzsjdVJvYXk2WkF7d0Zmdk56U1NFdFR3U1FRPU5qUSpJVUkkdFUkVShXSWRIKFk2PjA0JUUm VVpLDQo+IENpJjQ/DQo+IHp5Y1BFVFEjcipYR2ImeE9tMVhoJDZfdGtDcX5xPkg2UFohSClgQWVW Ml5vRloqQDk9I0R3fENsZlV1UQ0KPiBWTGlRcEwNCj4gektDU2V8KFomYnB0MSQqN0ZsdERMJkMx c2tCT1RvZlRtTngkd2xGelAzaUUtDQo+IE5rP2RqTmRLTztJIWd1TXk7Q0ZvZg0KPiB6djRxVFNg d2lWTmt+eDwtUkdqXnw7RzlPU1dsdUBvXmVBKVAke089fVoxTDROUEctDQo+IHdDPitqY0RGK0c9 QDRuJHk2DQo+IHpUUlVXZUJHX3ZjUFg7SnhvJTZVJWFUeURLTS0NCj4gRHlORGo7JTtNMFdacjB+ emNsRG8jQ3kxcilMUW1tZihTI0hhOWcNCj4gelRfNHsqOHAzcm9yazEwdWwpVnd9YEYjNTdWVEJV U0VIVjNgdWtRUk12OXhfU0lBfnk9MU4ycSZNNCs0X2UNCj4gSH0rOw0KPiB6YEZFdntQKSp2KWdH UVVKSSpDVG9fbWokTW9iJFpBWW4pO1g3aHc+Zk9UWGUyT0k7NjFLJmN7Z0AwO0BCQ2ANCj4gWDYh DQo+IHpZdkVYRygrYlIkRXAkMnhvIXpQdyp2eE9fa1BQeDckMzdFamptektvJHktDQo+IFBPX0Al ckxwKzdPSCNITyp4bTtaa00NCj4gemBRJnYlRHU/ITloZUN6RHdpVWlBUU5ST2VaJk1jal5BUz03 Tk81cmdkRVlYN0t1JEF5STNZZlVPT1M2DQo+IFheZyFaTA0KPiB6JlMycyFQVkteOWo0Z3lYPGpZ YysmMC0NCj4gRkdDaldWeSFUS25TMkpvTm5nTEY1X1hKZEwheiNwcCVZZSRAOF5xK1k+DQo+IHpp e15GNS0NCj4gdmJfMExiaWA8amZxSjlsPV9IPCEqPDgwVWdyQUdHZFNWM3w5bE9kJXhaVk10MFo9 fEc8Q3RpT2AkJUQNCj4gejUlNkRFKDBYPT9HPSY+Yz5XUyROQHZKcUtldTdAND9pVEJUSn5ubkJW VjJtPGBSWEN1QWU3KV4rZEINCj4gRmJxPyMrbA0KPiB6JDl7dTh3eS0NCj4gTShGYSYjMDIlSmdu IUlXMmZYPjh2PHpJN2JCekJfRTRBPXFZcD8ya2whU3h7ZnZMViVBQTMheV88DQo+IHoyeW5HJkE7 NXxEQWZLelArUkducVh0WjdCIT9kJnhiaE00SFV9N0d3dXFRZiU7eUx5TkdIUURRJlUNCj4gJDtJ ZEw7VmUNCj4geipiXk96OzMoUD9lVTNmUjUjS2dDWX1IPygjK0xlSG9WZVRWWUFDZm1WVEcofEkh blpvJnFHcHNXYkZ4aSYNCj4gPj04IQ0KPiB6SzB4SiFONH1ZKGFsVXhfano9eXMxM0llVVhBVjdv bihMOVRgNmJNYWx+Pzk/PFg3UV42SXxPSGsxPk9gSCNYcTsNCj4gejZZUHh+YDRPfX1nRnBUeyp3 Kz4tDQo+IEc+enB5JFFSbUNgfV5hZ1k9MztAZmQyVCVUej9KYUwxUFVPZDNCKXc8Xj1ycQ0KPiB6 enNCblNTYnpMVSUpa1N2VyY3WHAqOGdwUHlpfXR7ZFZkYW97MWU3XlJQT2x4dWxuUVQ0KW4pSVc1 NEV5R1N2DQo+IHB+DQo+IHokTlRUTFEkRHZwekEybkReMXshYiYlVzhabVooUz0kK21CUF5yJkY+ c3J+VV5OKT9DSHVANSMjRTg+DQo+IHJMUSN3NVcNCj4gelhDYDBBSGJRM0dJeVV8M3txZUokIyM2 Y2VfeWVJRkA7THJAQylOQUNAU0NBZ2ZKPzRGSmApQTxgUlJZbUFIDQo+IFRFUw0KPiB6Q2VGITU9 YEZ5cFBIcDljJGtQNyFZXjtmWkh0QCVQQnBObChBSFZwVWoqRkF5a0YlQGRrNT5lZ2pgPnt2SU0N Cj4gd1VIDQo+IHp7UERLOUFvWGVlYWNkeEwzJSFUSF5iYkxNRj4mQ09ZaTtgKHk/MUNebjVKM3BV OUBlVV9ZUTQpKU1Ud34NCj4gO2tgcksNCj4geiFWZipiZHc+NkhucG1JY3krNWFPYHVoZy0tDQo+ IGd9O2N3KUE3S3JAaFpgMiVhZ2FDQkVIPFJOSHJWSDZMMStRVVN7Ug0KPiB6eyVgbCstDQo+ID9D bHdmJkJNUGNCMVhTY1Feb0FZTjMlWk05aTh8QFpaT004dmxLZ3VyeT9aP1l+YlRxcHlWMSE4dCNJ DQo+IHpjSitZJWBfZ00xPUI4Z3Z0STc8R2c4eDQ1QXBVIyUtDQo+ICU7PUFOaXZONGB8b1NzTDBY QVF2O0JBR3hCZDRJQ1Q1RW4NCj4geiUkKCFEem95ZFkoWCErRmB8cVJqe3I4YlU+dVFPRTltSWJo MWpvZ2czS0FITnEobEVyKHk7ZDVNfUA4OWF0YV4NCj4gZA0KPiB6ems2N0NJfTcpKUBOYVpzPC0N Cj4gZD17akNLNj9rczRgWUpkJjFXZUF+RU98SzA2JEQkanJDKnVzRDM8YWhreypKPWJzDQo+IHpQ fjtIKWRsZEsxUW1Ra1NxVyQqKjFpMHp5OU1wZXJGSmlee3soQzFUU0ZUeX1VKGohX0UwaTFgNjhg JVpnXzcyOQ0KPiB6cFZmYkZ6Zjx+ez1mQUkkTW5uVDElendZJURWRnUkVkB8UHJ8TlRwY141M2hu Zz53RChwTWs5JWw3VWANCj4gMV9WQHBxDQo+IHp8MnsqbE9ncHJQfDZaLQ0KPiBJKlIoKFY2YUR3 RlJCPWUjO15JMWNLdSRCcCZCMjhERGpYTWJwfGIjTGplYnxNREYyOyoNCj4geiFIJnYqPU95cHJV VmJNM2VVU3ZTNCZ1TjYwNG15OzRNZERKI0hLPjZIO1lyZmEkdSlBJndyb21teC0NCj4gNDhQPGhP RA0KPiB6KEVifHVRMFVhQl9UTnQleFQhcTx5O3dFSHVWeFhgS0B2STh7eVVENnhsJmx2KW9iSmtT bWdRZEFWOXVQZA0KPiBAJW9nDQo+IHojUkhuYTFOLQ0KPiBrM1NNY0FEK3N9VzBsUCkpSnhjdjxO SkFDKUhzdUMwPXFRMiU4cVkkVDEranBAPnU0NDt7QWNPelINCj4genNHTjJCQCRIRkZEZm1IcSlk JmtEQ1k4WmlfeENCfDNqLQ0KPiBKNVN7fH1HRT5ReElPOTcraFRkblAyQT1GRD5va0E3eQ0KPiB6 VSE1Z2o2PTZ9SFlZd1FALQ0KPiBzRiZfSmFVPlVDdyVwP1RTNTZ7OzxgSiZ5MWw8M2E9JH5uVSs0 UGpsZWZVUXVyQUg8DQo+IHopcWpCKCZpPHJZODxAZmorRTxeNz1SXjdHK1A9dDw3b1cqcktURWVQ ZSFCZSFAQEY3X3owQ0k0TzklQVYNCj4gT0xPZ1MNCj4gekB6K1FILQ0KPiB7ITl1VmE3UjkrTlJl M0lzVz9lMj97O3grdDE7emY1UH5kPCZOK0ZzPXEkXkshM2VGWGYxZTRyclFBaQ0KPiB6YHNDWn1s K1ckMjU1YklnTSpoRUcma1I+OSttMjMhSkBYRiUrM09MWHluZzwldHA2VFRyPjB9PEZwbCRNew0K PiBrKTEyDQo+IHo+VFBWMiVHYXFLRGFvUj9xPG5nUmVUbWF9cDE9T35fI0U7JHtgelJEck40SUQj THhCREg9I2cyS21DdlMNCj4gPiVXaU0NCj4geiM1dmlST1g5cEJFO2U+cit5NDR5dGlwcEBAWWtD fWdYYTBgX1hacjdDZFhmQVNIKWtTZHkmPk5wSilBPz5oeA0KPiBnIw0KPiB6YHEydlEmKmBzMiE4 ekkkdGRecilFJUBGbGE8OD4zR0hVRyM0Y0h+eDcwJFZBIylDdGx3V310VHhDK3AmY1p9DQo+IDEk DQo+IHpoS21DMmllPlhJWGpnbTcwP2pxK0R4RD9KUn18PXl7Z1NCRil+PzhAKkNta2lPRkYwVyY3 SF9WKEtmWlItDQo+IHVOdUUNCj4gejxJZ1Y2YHNUT2JuUjhRb15Xe2pqZWU+MEw5IVBofXtRWW5E I3xQT2Y8T0JLUnVRfjN3VVFmP0IwUCVADQo+IHchZUE+bw0KPiB6e1BFR0Ijdmd4TFNRYXdDX1El KGRrPSt2MUlGdnZCLQ0KPiBiOUNhPjV0PSU1JX1YfUBXKTNWIzI+Rlg2Tm1qKlVucnh5DQo+IHp6 ZHpufUlNTm9ZR318OSVlJWx8UGt5RmZJPHtXPX5xRG5pTUtWRnZha0N6Nm1vZjc+eWgoQXQjSDh6 NjtNbA0KPiBiMHcNCj4gelRQOz49ZjRuU2duS158SUBXO2lPQTNZYV5ye2EoR1duRWJMPEs9WHM/ ZStBUDdicV8wUD9hS3ElJTFDeQ0KPiBNfEZDew0KPiB6JTVwYTclZHYkJkYwUUAzbzwzMSRKKX1T MG9mSjhnPnlMazEpe3poNGs1fjBjOFNjP18qMyYwckxPSUZ7WDNLdjsNCj4gemV9JlhLY0NQKzk2 WHkpIWdNQ2hheXl7bExIX3NuMFNEaSM3MlZHQWU7dU9wSjw4S1BOczJLRDhAeFk8e0ANCj4gJTdu NA0KPiB6eCZIVnVse3E4Pnk+amc5UHZ3dT5gRWs2bjFqanAxcGZKUlN6SmtpYSp4fndseXR9ZzZF eFFfVHc7fHJqWU9nP1UNCj4geih3bHBEU0FjVUcyQlk0TzREKU40b218elFeajJla0dxITJzZ002 NkZ7bUlmQT9FZDZOJHkxPXN6QCU4YA0KPiA9UXJvRQ0KPiB6PUZiQVdhSmg2Kzx1Ky0NCj4gO29u RWBYS3lpaWUhI1VWcnZgY1B3SU4pTGt5fEN0ZEFSSHtsJVgoa01FfXdSQip0akB7DQo+IHo1RC0N Cj4gR0w9JXVGITJOcm1QajJEQjdTeWI5cShFRjgxSUl4eV9nN0piI05nXldHRWtxQjtyMyhlbzxN NmpJSXgybUUNCj4genYyczNjaU5IbTtSd3RJMSFCSUd8YTM0WHVyUkYmZThmbU57aTEpaVJZdFYz R3R6R2FEMXRNeWNZe1Ije1VBRSoNCj4gNg0KPiB6P2Z7UE9iXjk3bFdiXipNTmBHZDReI1JHVEZS U21JVkdxcmpBP3JfU2hkZXJmVTYhdkZxPnNSNEh3JF48LQ0KPiBCclg7DQo+IHpTWU5zcytibXpA Nj0reCpMOG08T0RSU3NOc1hsc09fMHg9WHohS140KS0mLXZJPWxZcDctDQo+IEshKitgRUh6Wipi c2MNCj4gek1ob0dURj12TFlOajY7TGIwako8SnhnOH1ncz1ARSgzaD9eQmMpLW0rcDljbj1jUk9s WCE3OEV0b1lgb3ZnXkx4DQo+IHp3UC1OTDtaJVNXam52KlNvP1dQbldhZHdoVERQWGtQJSgtMmt2 biNsdXtqNWctDQo+ICE3MVdhbVg/TjhYRkZSaFVZKnUNCj4geioxKSo+KU0mS2twZlQ/QXFrK3Fn eio+M0tJT2VtVXVgPnNhcnt0aTl0VjlXdWQ8SlVwLQ0KPiBpUTZyXyNReD9uaXspdQ0KPiB6Jl5Z dCtxY0p9cDRRfTByYmkjeE0rfF9iOCF1cmJPXjg1aU4qU1k2UCF+Iy1lPjxpWllJR2BLZmVoeE5r ejRIfCUNCj4gekRSdTBrMVgoLTVtUDFpUElpNHBebnskKSVWT0glamlAWjYrZDBzbE5GPzx9diVr NkllMzFrZDZgZkY2K2tGYDd+DQo+IHpJQHNDI20/NXN0WDQpUGl1Sjt+ZDhrQXJrdzchXnBzOVV4 ZG1MakFDSW0qNE1sJnk7WWQ4aCE9dzVTPn5qQw0KPiAmKH0NCj4geiV7Wmd2dEE5ITQxPlVmRXN2 Q3hSe0I0TT9aZGBwWiMmXiNUQzlOQldPa0JJPSo2LQ0KPiBHcnQxdyU4NUx3ZEZrX1h8Tw0KPiB6 Nk9EKXtePHYrNDBhYENpe35aYT8+QiVWdCphX1F7cyNWUnZtZGxuNV52YkM+Pj1NVm01dE9WaGdj NHklDQo+IGhVU1lCDQo+IHpmdTBtRVZeWnpHLQ0KPiAxMlIjITVPKGV5RjhfcGR8RExwTlRVJDE+ dktocVhQNVZ7eGslTlZ7dkRGZzlRWFQhM2FOST8NCj4gelNDQiUmVjVxK3UkOThoK2hxJUokKzk2 Xml5PmVYeWMzWSRWIXRgNUMqV0IheSR4OFR7RTdUQXUhQVpFLQ0KPiBHJkYkew0KPiB6eFIyPjMm SHhGQjs9WVdfSUgqezdEQzM4Q1JFQVM/R0dKIzxwcDBKJUl2ZE87SX51WF9TTzU9MGZYUH1gZysN Cj4gbVVoDQo+IHpsaEt8e2drMThvVzQ/X09DS1g2dS0/RG87aTlNQWFgODs4bWBaSE1SOzZySEZw KytLRzJZRHYtDQo+IFY7MFMhNzduc34NCj4gekJER0cpO31FLWdINV9sSHBVKj13MSRRfkdmbG82 VzEyQDEre3hERUU0TS0NCj4gMlZGbWFxNyNKM2YzXzt3S3shdzBeQA0KPiB6dztCcUhjdktHdVJ6 UTdXbDMoTiYwKyR2UCR5ZD5ZT1l4bzJvPlVWdiRnQ2lqVmdwYlNQZnFvdVZfRCF2Mg0KPiBSUExN DQo+IHpxSnA5dFIqO19qJHBkb09ldUZ2OzFDb1paISlZOGc3RXglViNWUGxzRGlEU2h2NCtGdjVN QWUtDQo+IHI5X3ZmeX48VU0NCj4gemUrJSlpMU9KWUh2QzgjM3syVE9BbUZwKF8rbGhhamAxZGRU SXwxezJFZEpIdC0qeCE2Njh+SFVnKz1iLUw0JHF6DQo+IHpLaEtiJV9NYGtCPHtnJnpldDAlP0N7 SDJ9NHxibGlBMCZpZypuXlFNWntzdERzV2ZFbVRxXlUyaFBkbnZnDQo+IE55V04NCj4gelQ7X29z IXxecXxEQlBUcG5gYkU5Pn5KX2wtDQo+IHVXU0c7PihoazdtUG03RHEkeCFGWGhKR2M7KnllISR4 VFpBUlE8MA0KPiB6SDlTZlAlKUVzTHVHRzN1Q0M0fChlcjkjJWtSc0lITS0NCj4gU2BOMndRKT1R OHk5MEllUURxeGltdFhTRmp+aTJhYyUwDQo+IHpVOW4jQEJpSiQ2WiNMMzUhJCFZSUlvPVk1eWVU QyQ2eH5SbD9wJkc+YEAkamV7emMqQz85emkjYzdFOVUpPU4lVA0KPiB6UldKSld6RnVFRkI1JEIz NHVZeylKZHQlXkZHQGEzRkYqb3pwQF8kPk0zaU1hbEFmPyVGQWtOck9sPyohDQo+ICNyR19pDQo+ IHoyPWVyNE5eIUpCLTQ9dU1VRFZDfHsxfThHODJSUWliRyNNcC0NCj4geUwqK29han1tYGNzcUdy OHheWEcxXkIlYHNEaXINCj4genhLQlkyJih0dndQWUB7XiExWEZAZlYwc013P3l6VCpAc19Kamha fG0+R0J7c3F0YDQtDQo+IEBxRmQ5ZEhQMDhlJE8taQ0KPiB6I0dtanhQdTckQnB+PzlwciZNVTEh ZEp6dUMmbCZ1QThZM1dDdntjenxKaUBBemBgdUoycjROaURoZF87REsNCj4gWDYwDQo+IHptOWZv T29tcEFhR1hEYU5oKVRGQ3JsNTwlPF9fWn5uKUZjbEJxYlJaQl8jPE0qZ358UlFsVks3QmBPKnsN Cj4gZWFHMnkNCj4gekdramNpaXtKWm0/KX1jckVAPUlwKlJ3RCktfHppPD96IWlsZCtzXnMtcGdx T1RsVFd2dVBDV2JHRngtdnU3Y2JkDQo+IHo3V09FYlpsfnNXdSpuJWBBKzV6KmJgWCpYelVNPDRk S1BiZWoqJDliZyUyVXE5P051UktfKm1gV04NCj4gT04xK0ZwRl8NCj4gemcpX0pnZzNaWH5PTlkw e2FpTTMwMUpDV3xJdCgtS2FGMVFRSzFpS3AoLQ0KPiBERSUhJlNfTCNBMjtKNW5TdVNJcCpoMQ0K PiB6VX1uPGlYcWxlTyZ9Rj0mVGYzLQ0KPiA/bUBnSF5HK1RfTTdoPTkjN31JSm9UNSY7fUQ7TShD ZEl3X3t2WlgyKz1fXnhQDQo+IHokRlJURlZBbCRmblVLIThXTVRuRDdgX2tiVXhzSFNLeD8mdEI2 Xm5Yb3N3dnpRI292VitjaD9VN3E7RDENCj4gTzdrem0NCj4genw4O3l9XjlRKSpVeU1JfEszdW0t DQo+IG1hYDZGbzhKfWpWMV4zXmJhPlglbiEmQnJHeGE+T14mSWUkSUd0cUNefGNveA0KPiB6diNB fGYzNFhTK29maS0NCj4gTztFY3EhI0ZVcGo+cz48RXhra0h2aHhJMShBYTx+NGxIKk5VQ3lLPnJg Q0RAX1hDO3JaDQo+IHo+OWktYWNwU2t+WUVFdyZWby0NCj4gRlk2UE09VEp1KVk9TTRuZTR0aEFh P0JKOXVJQyVBOUVSNl4rYU5SUD1+NTwmeWINCj4gekNxdUJCTmVxR0spbSh9VVhwRUM5ZU9uTmI5 bjdQSjQ1ckwwPlZ4WjxibSRiYCk3NDNgcTs1JjckYSlueXY1DQo+IF9LYw0KPiB6YDNnMlRWPW1g fWoxS21nYXRJaE88OCYoUnI8SGJ2KHltcTd5SWZrUCNfaCVEVXYlTE47TE93fUs/fnB7PEgNCj4g NSUrDQo+IHo2VkU3UktnTy0NCj4gYkpUJEZXMTEhZiptXys+PG1EWmAhJTl8K2Q/MG42WSFCd3Rp JVRafUwoMHp8ZVVhQX4lNSt7PyYNCj4gelFCamElUWI3Klg0TGFJRklXQUw8d2FUJFdJc1NsVSUz UT1jSl5nPzt6aUgkRjUyUHFwVGsjJVg+PVlgaTswDQo+IEA0aw0KPiB6czgwYnVsWSZpP1JUfXRs Z2dQcEBLKCZwJmlQfFJkNzBlQjU8MHsyLQ0KPiBWOzlHVF5zVkZUZ1pwa1YjSGQ/c3p2PTB8DQo+ IHpzeV5rcjROSTV3dWl8YzFGO2k3NlIyNzI/dEdJQitDI1lpYVJfJWdlS1YpdyQ/V0s/YnZtdGJ+ ITl2e3QpbjM7UA0KPiB6akRAaDdIYS0NCj4gdkwqVCFfbCRBZFAqa1VNdVQrVllzTzA7VjxeXm1B N2doKXxtWDFVWVNVNXNISl9nfDRsUHoqe0NvDQo+IHojREtWfWI1YklSPEgjbWFUakI5QUplfis5 N2xoQTxHQGZyOVpBTHQoRVUzSWB2YSlUUmZqJU92bT0ocjt0R0o1DQo+ICsNCj4gelcpPVYxV25n OCV7WDkkdlJGP2EzYmBucHRDbSFyX21NQXhjSmJHZDs1O09fO0tmfWpDXjg7KGJ2aDNmfmRZDQo+ IEd9Xw0KPiB6N2x9UERHJV5HP2Neajh2SDQ4YEI/WDZmbio5UkJwVj9FdVM7aE55M0J8TGY9eGFE Q1YmaVNIWT9AKSsrJkUNCj4gKyEkDQo+IHp2TFY8Wm1Zb2k3bm84YXd3bFdOXzxiMzZWQFR4RXow ZDlMZnlndkE7ZChLYEtWKEVKPlYwK0FWSTU/TDZyNA0KPiB2R0ENCj4gejlTVDF9JUgmOStiYzJj RHZrclZhS2RJQCVoVzhhVz1VYz9ncCVXYDRJSEkreDU4bWZuZ2Z0Sz13bUcNCj4gMFF4MW1xZg0K PiB6TC1KS3k1NHxoQlJgPzB8Y35fWloldWBfM2k/X0NlO1FDLQ0KPiBoRkJKVT1fQ0ZsVjA5N0Er ZjRVS0E/Z3k7WSVRVH5ODQo+IHpwVTEmUER4eUM0bkhoSD57cm5nfTRUKDA1RiklR0dhekZpRlNm b1MoX0ZvLQ0KPiBicT5+bHE5I213V3k4cV8jNzxJPnQNCj4genY2bmgxb2x4PEwlVVJmUE1icm1K eW5CKH5FR1k3SSZVbns9djQtDQo+IHo2RERPVkZOSloySzlYSThCKVo7UF88KTtkWQ0KPiB6ZTR3 QzZpU0pPWHJuK1EoNU9kfXRhR2N0KGdkJU9nUkFsYmFiQTUyNGkqKkJhQFZKb25MOyUrUmhoREYh dXkNCj4gKW9XDQo+IHp6andlbk04R3lHUWReTmA0Pzc2dEppbDd1bnJZcWRAOGB8XipoPDUrcEQ4 VHVFR3JGfT1OQz09NXM+ZnNeVA0KPiBOYCsNCj4gejY3KVJ3OXg7az9LYXtXJk9nQTZXUVlTbHE9 KHhoQnkqR1djeyVJNiVsLQ0KPiB7VEA1JHR5V3hNNE9+QlQlUCVleXxzOw0KPiB6e3YrKkMqQTk0 VkpsT3Q4Tjg+LQ0KPiBIdzhkTTVeRjs3cVZTeU9zJWdZb1Y1MXd6I3g2fklZbTh9aWxFNWFpOEJN Jio3DQo+IHpCR2pXYiZCOTB7RzclSFNMaWx4OWE2N3ROdUVfQGVnXjZIRVo/VmpmdVhAPURSZW40 ZTxjcUQtDQo+IEs/TFJYITY0JWMNCj4gekxMamE1Uk9GVTwyV3M3ZnFWVHkhVTQrbEE1Qns3RjJZ JmJMWHo3ViNgeT4yY14wU05zdzIrX2V4VW9NPF4NCj4gOEJwTQ0KPiB6SFAqMHZPMzJSfjUzTTw8 WmNvb0Z0amJmfUJOaCVxdDxTTVVxaSp8KjQlQTcjZVg+Rm5IU3hBdTd4Zns5DQo+IERDJn5pDQo+ IHpLSHtQLQ0KPiBZeTV6Vjhyd0x8TUlHQ0NsIzY8UTt8TGN1elJ+QnBxSWNVdVU7bD9nJUk5OTBX cnpMcypwWV5gNStSflgNCj4gejJWcUBBS1ZzSEZMMS0NCj4gNUR7WXpfJG5xUiY+YHEocSpaYih2 TV9zaGN6cjNWUmdoWFMwJXRhT2RUVytOdX1Rdjx2MA0KPiB6NDlYc1ZJQUJsaTBSfG4+Sitzcjth dzw3RXprN0ROKm9rSlBWX25iRFV5RDElKkVtam05T1o2MmdKKjl3PkwNCj4gfUExDQo+IHoxJTxg a2U3Py0NCj4gKiZQWWRAUnpXPHJAdSsxRktVKEExOEhPempEV0lkfVI9JkJiPHJlcXpNZzkwdzVW cHRHUTk1c0gNCj4gei0NCj4gQX05Z1h8fHUxY31tRyZONlFWQyRMX2R2UThSdGlfTGZXaWxNdlZ6 PWNTfE42TVM8JCgwJW83djZZaDE2MlMNCj4gdGENCj4gemxuUnt+WTBGRDNqQUpXVmcyc2RDdGFf bXpsOT5lMFE4R3lJZ1lCQEtZfT5LY2p0QjNlTEFJOEBAN2dDWE8kDQo+IDB+eQ0KPiB6RVpqUkBH dU90PCs8Y2JMa2NHMGdTSV5WUW1eTVRrPndgQylNYm8mKiFndnQpKkl3ckVJfk5rWHhHVw0KPiBN MGo8fmwjDQo+IHo+I1k/Zl9ySEVjTEEmKkFHX281U2lLY1I2dHVtdk4tUTFWSj8jMlEtDQo+IGNA QWV2SX0hak4lVXcle3c+R0B3O0BoKFcNCj4gem5fbighdCRQdUFldiRSLVB7e2VFYzxeXj5INm0o TGVfP3ZPanJmO1JaeSY5QFhzanB3SDlfanM5NG4pYG1yYCQ/DQo+IHopTzJCNiFfKVBfTVppYTlG U1JlU0hRb2g0TjZ9Qkd4e3ElOTBDKHBvQU0zd0xQYXZLeWJXaD1PTWFADQo+IFI1JkdqflYNCj4g eiUhOzVMUjNHY3txfElyayhJc3lWa3A1dCNgczNQWEY5bj8/QHdwNiQqX29qVmF6dDtCRUxPR2Ak MWM3Z2oqND8+DQo+IHotQWs+dHduVy1tbk9AJUxpJXokayNaI3RELT5LfH53MHFkQipZbCV5ez1G MjtGNHFnSHYlVGZqLQ0KPiAyS19vJSNUekENCj4genlIWjw8VlZzPk5yR0V8IWxOTFdNRHpfdDI8 UCklWHgwKn5IZXheJjR7VShKPG92X1FQNklkPmRQWHVGSg0KPiBCO2dJYQ0KPiB6I1BrNjspcVpr M0REfDFIYWhkd29gc2RNQnQxbkNvNWVsMV8yIThGdHQqOE1pRCFSVVE7eGpLTmYmdGc1ZTtEKw0K PiBnDQo+IHo+NiVIfGshcWNePEdZcTdpZCpBRHYheDJ+TyZJOCNLcFQ2VGFGWilJYCtQfkNvWUN4 NGVGS0pOSHhqXkVjM0wNCj4gT0MNCj4gelBIIWRHWGohI0clYz51PGZPaExkQiZedyludX0ocXRI KT40cX1UcjJVYVg/bDh8YlQ+dEg9O3paOHAzVSFLPA0KPiBVSg0KPiB6OVBVaWdhRjtSWHlCWmQ8 aU8pLQ0KPiAmaUwlZElaQjMxXiRRb1lDeTshOHB4YSt6IWZ9fjxkVHlJRW1hP0ZMOTx3fk5ODQo+ IHphPUV4bXJiWFgqVUJmUCFOemdUNUxoSDt9Zl4/IWJjWFk8eHlLQnN2aDJYfj5ucTYoVlckTWVE WXNESy0NCj4gd0tRa1gNCj4gemVqaXx4eTx5a1ZuZ09sVmgjSUp8NlgmT3dQZ2NkN148QS0NCj4g R2RadEFXKEElVXopa0B3YGVMKyFmRG1+WHhiM3QrTA0KPiB6NDllYDdkT0BrfllnMUc/RT1Md01F UWRaKVFOd2JGeHV8SCkqVns0MXV2a0R9KThvT2EhJFQ0aD5aTlJnDQo+IHByX1hkDQo+IHpjZSF2 NmRMdFhySWdwWCooSlBSUDhqdEgyYXpZYl96NDxpYlMma3V1T2ZyMG9fNT9VUjVxdSkyUVM4VzFM byMpOQ0KPiB6SmRjJn1LJGxJU1RqYH1jS2VtYi0NCj4gREIwT1dheEhEP3tFeV5tZmZgZD1QVW44 Vms9Nj1ndExEb3l5cjdNZjwzWVFODQo+IHolXnB0eVQ9NH1+SkJtc2pSZD5gQjY9akRpKz4/RSZQ az1FZGAtDQo+IGJTcmhgKnlhT2ZaJTdGRFRyWDZERnUze1Z4Pm0NCj4geiVQRGFRd3BTT2E3cT9m Sj1fbVcoITZrO0h1UEFIbCh8ISEzJio8eH12UjNBPDJyRFVgZ0ZWZlNuQkZuXnQNCj4gV1dqUA0K PiB6RmpXY0g3I0BecmpaYWstDQo+IHJXJUIpJUQxVj1qKWxMUmQrMFJid21mP3ErOXlRTU9hN3xm Z1NxY1paTjhLVWpxTWMhDQo+IHo4UWJMeDd+NW17M1Z3STBLYDJBMmMkbSR+QG5HZE9ldF59ejI7 KDI8TDt6UkdzTl4/USFjM0xXdFA8fD9DNQ0KPiBaaXINCj4genEzdHY3Y3YpRDJXfV4ydWVaflg4 ST4lUz5rRU47dFkoTmgpKHJwNFN2c35aeCE1djgjcjdJWXxuem07emJ9VmdFDQo+IHpgPGt+RHdj MTFXOH10czFtVmhGNWF1PV4mVCowX3U4ciR+OTgpWEc7eC0NCj4gT0oxKzlZSCFYIWIkbVFaT1E5 alFGPGQNCj4geiRlJm5qYktzfHJmSEUyfENEJkFAeD1UNXstNTl9IzNGWG8/NiMtDQo+IHNgQ1Uq enskRld2WE9CKGhxdHJefkdMWCF0Sw0KPiB6SkUmWHBQfkEpRXckc1V5Uyp+eHtmWmZBcHk8UWMp Yk42VWJwPGQ4aD90Xik3VS0NCj4gZTlXNyZJQ2RCWT4xZTQ0YT1IDQo+IHo5JH1zMyRENXFwU1Yt DQo+IFdBYSpxJE0ldWk3KUMyIz0hcTY9cWA5ZSZkKGx0cFV9UHdnJEMoWEd7ISRqdGtzRXFtMnoN Cj4gemttTSo9LQ0KPiAwQUVtYUBvRW00S05ubjJsWHEpOzhuc0UqJUpYNm8hfElpMlA7dDYxQTE5 UUB+R3JyTUh7MVVoQmhZZw0KPiB6NzJHX0BRNVJQNXFJMXUhdWUwP0xPVXsrRWVHbFYhISVGZlZf cXZmJDRidTB8UE09cDx6JVdvN3VzcjwxDQo+IEBVWlA2DQo+IHp0MDM8JT90Z0xOVkVJbCZBRmZK M2BQSXgoNWQ9V0hqaHlVJXd+cWdER2M7Jktpclo/e20xbk9RTVJnKjhkDQo+IHlMQzUNCj4gelBU RGdLP0gkSDIkOVZ1b2ZTbVRsVGNvJDxlcz5ScFZeX3VXT1N8N3A5TCstDQo+IH5SSHxwJTdqTTxj UT1GZSE9Plg/UQ0KPiB6b182b0NuK1diVW50YHZqcl9ESEo5ZH4jLQ0KPiB3cCM5eXN9c1Frajs3 PlNUcHdLSjZXNnRlcnh2eU1vPzcoMmF4azcwDQo+IHojKyF4bDBVeHMzK15XUEQ1JmY8WVRka3xk NUZVPn5rWT01fmRiWngoYjkqSyYrYWNGWlJfOGhaJT9LY1VoDQo+IG1gWG0NCj4gekxGOGV4P19v ISheWFQrVnNZUlAyanFgfWhaeGkwK1RSN3p6dTNCc3RLeEhnWDcjKGdxPktofX4hSkVMdT8yT3Ew DQo+IHpARjthQTBmbDgrUmFKVmFSb0t3M0UoO0YteXItMFF7SWdzKVdtbF5kXzFve1dwMTx8Pm84 LQ0KPiA3cVBSc1koN294NVUNCj4gemRaKEdOLSMrYlBYbzlFaWRzS1AkVC0NCj4gNn1PPXpgdUY+ ZX5HI089PUpjeTZ6WUI9d3RJMHNRV2MxKUJXejQqZilsYA0KPiB6eTc2UjNlNWBXaHElJShOWExD YEhHbiVONHF2TXhOQml5RSFxVUtqX2szUDBGKWplOTFHJk82Mj1JKXhwDQo+IFdiTkRTDQo+IHpv TEl1YVk1Ujd3XlhsY2FjNT0qNEZJSGpNLQ0KPiA/fl9URHdJYyM+PndhVjJ7PUYyMUlRPyRBRCE9 YUBTNjErdmspWEYNCj4gelJqc3g3TlVtc3ZLNFlzbmY3U0o+VHtSelVeQCZCeUF8UWJEcyRrfXVE QDMwWXpYKkwhPDEzaHIyQEZ9JXQNCj4gXmx3Xw0KPiB6RS0NCj4gUDdoNDlEaTxvRzklbF5qU0k+ PUs8KWBVWkt4WXU3SzVaZCopdDhwUVl6UHBVfSV0dnIhcTw1R3l2QnNoeVZ5DQo+IHo8fTxFKTJ7 Z0xvZTtme2M8MSUjK3NxSmM/dk5nS29ZbD5yRktHeW5pVk05MjA/MmZafTZwRkJrZX5kP3NhfXUx QA0KPiB6bl94PEJmeypxbElJfW13PFNAYmRkcDs1LQ0KPiBTbEBjT1Btc0M4anMmQ3p6dGIoKkVa cUVJakJzPGg4IUF0WTVNWX1+DQo+IHpHZHB2U3Mwe00zcDwtDQo+IGJmcXRvOzxRTEU0YD9OSUom SCZoc14hM0ZHOFc3SzZBUTN7OzhHQzJBZW1DY350a1hwMXMNCj4gemF6SUE/R1dIaHdXaW5zRXVU SGpwJDszOG5rRE5SMCt6WCtVa2QheTF3ekEzZTB+TUJfVjBkanZaNWZzYg0KPiBNIU43IQ0KPiB6 MUllQHFhX1k5cnVlMmA2eyRuYHMqJTRZWUlQUExUJDIqZSNfdHRGU3hMPEowNkNBQ0E8NklBaTQy RzxVMmVkOWwNCj4gejBFcVluPz85KT1EOVMjaFYqVF9EWChHUyhGWlIxQ2M4N31IdDcyY25zNkA1 Q1JSaWVmdTlRcUJwQmBmMipADQo+IHBmRg0KPiB6eyZqQ1pJRGNzUHg+ZmslRUJOTlkxdW92WThj XiRsNT9eTGZ8MXQtXih5ej8qRClWTlF4bENvQT1nUCFwKEB7TmwNCj4gemFDUz4yanIwenFiVmVl MHMoJk5mbTRCRD0yZypPIz1hK2xnK19jSDFwQDNMezM9b312OHxAZUM4ajdJVEN7DQo+IGQpbg0K PiB6MXBEdGBMamVoZiY7T2k5UF8lRmZkMElaZnZHZFE7Q1FrVStAVkZ+RXdXU1JDRFdCbERgQTdM R2o/R3N3DQo+IEc5TFZHDQo+IHprWDVucWEydHFTJTxvcmF7fX1EcGdgTkV8ekZWeXV6bVYyVjx0 dnpvWk8mR3FVOUAzbyZDdTR4cTZ7LQ0KPiB8JX10dmUNCj4gek9zNnQ8Nl5mOVBaanA1PndPUVhL KEwyby0NCj4gdFc3VG5TRzl2I3BxViV7Pn13UXxVWDFjNGxEXzlZMTVaKj8pQ0k0dw0KPiB6O1FS QnpsYGVSdDErVWAhYWckaU0+b09nYERueFo4JVdeckMtDQo+IEcpSytVMWNoc0BtWCNTQEY+PXFm TCk4WHMqM3R4DQo+IHpTM1hMfW1DVnQjYyp7em42MlZWZylaQHNYa2JJdy0NCj4gaXAmPmA2QH5o PXUlXlluSUplZHFRQ1FSTGUzV1dCeXMpTkUNCj4gemBJPUJFXnNsS25IJW05R19wOWJlVXpTXn05 OX4kPmZxfH5BJGtKNEViWVY2N1QtDQo+IDQrQVp2U2Rab1pfbWlzUkE5Kw0KPiB6aSViR1laKHJ0 KTQkd2oyLQ0KPiBmR1p6dFhOQj4xWDRgNnBvR0dhMSUzZGhHc2FAKD1TNnJWRn5TaWJlKFVWK2BF PFlDDQo+IHpyJEpicnk/UTlzN21sdkVGWkxVcXFYdDJMJjcheypxUTVtUE1uISplNkdpPHB0YVh7 dXBNTT9OeHtMKmw4cQ0KPiBfZyQNCj4gekVeWjg2K1pRazRVNE5jPWc+NWxfPHR+OCZmQXZfYDdC X0pMdktWTVFjcDEqb3IhQyUhSklKPnNPZ0c1NDx2DQo+ICVLQA0KPiB6eHNjMVFlNCRAa0tDSEl2 UiRJRSVtYzFzb3FnciFaY0J0ZEJlVz0tDQo+IChQJHteIyVLUz5IYHhwbldsTFRHMigyUF8xDQo+ IHoheiZLTmpDOUg4bHBIR2JfS0hqWD15M21NNG92T0N6UHRBSGdaRiZGSjgyUXsqNzZsaF42PUkl SUlEKnFkDQo+IGQmS3YNCj4gelRzVVVDR0khfHBuWX09TyZnIWJMeTswWCpVT1FeJDR3T2lQWiVY WXxRViN9aW4zNCkmP0BIZ0g5P1g4VQ0KPiBLZHxUWQ0KPiB6MmxqRlMrYlVwSjNmUHAxPil+ODgp Q34pPGZjaFhQNE94Sk9NYnIlb2Z0VXo+PjdvU1VLfG1pMjxwdXFyeWwtDQo+ICRuDQo+IHpsPlg9 UXtaTSo/cHhpNGN5OU1QNz98MC0NCj4gWnxLZExFbCh+bmEqTHlrWHFeNG1UalV9TV9nSz92emln aihEZE1RQTINCj4gelReMCRBbn4mXll7bjdvYVUjI2pVLSR3T3V6SmtsJXF4IVBgKXVUKWw5bG0/ QFUhYCF3b1FjNjFyZz1pbFMoalMwDQo+IHpQR1poQ1JQOGNWeUlSJSQ4Qj4hQEJJfnZuQzhuSl9C aCM/WDxjIWtSXk0/N0VPTEZ9Pko5X3FgQzY8Xyh2Rg0KPiB4VWENCj4gem9KXlVAbWVIOW8hN2BV NThWXlJmQiQ+SyhDSmRFLQ0KPiAqJTVyaEl3dVR1bTkrelVKY3dWY2FNcyhsQ1Bra2pUU2AmKA0K PiB6QzN2OEwtRThfVXorUmhMdntxbm01Wkw8IWM4fGNHPGlVPXUtDQo+IDV5Qz81VEI4JFRXaF5t K0ZGZlgoPjw1OVIhOUJaDQo+IHpBfSNrP2xpQyYoeVl8TU9POWdUVFZ8NjBvaHNldE07NEArNVRH Mytnc1d0OzFBbHV3WmRUbDF3bnl3ajcxIw0KPiBWNWwNCj4gemJoVSUjKUNZP3taTyFyODskSz9O LW1hZUlEX0NOeWZlTUJrST97Xk4rczgjKUdVYDhnZi1gNzAtDQo+IFFFIzxna3xucA0KPiB6Oy1s JjE2RzI2NHYlWDZmOUc3WCkxM0pgOzJVbGE4ZFpaezwkIy0NCj4gI1hGeUV5KVNtK342SFdZbDFt QFNqVUJoZzI4DQo+IHorMkJyRyNXMj09WlolaU1nSHVkWnJqJSpwIWJEX1pZblJxQz9wdyoxe3Jv YEQpQmdIa3ZRZW9OV01FDQo+IEUxUXI/MG4NCj4genUjanMlUiVEb1NHZzQqS2B8WiV9M2N3fj4z cHxqcSRCQHhAa3Mle0QpfT8/RV9vakh4UXE7UT9SRGV8bg0KPiBKQ0MjRA0KPiB6VT1xfSYwQTlE MnttbFMzZlArPGsoN15SRHNsKEtwWHk9QzIyTTxTbFp8PGB4c0kpYkhxTnxpMDFpaDgrdnIxb1IN Cj4gekZ0RmFjKCN5aDFLYXtWT2t+KnBATj0lPH5xKlpLRXl8O1BhPX1PSVVedHJEUCU/YipnOChj VSZAQDF5DQo+ICYzYXBDNA0KPiB6Ukp5SjtjTmBlSjgtMnJZWEs7a3E/dDQlIW0rSTB4VTd9YGF4 dW9IX3I4UHpFIU43NmMhLSZiSzdjcX5RYE9lRHgNCj4geksxN1ViRyVKKW9GeXYtDQo+IGZpPTgj bz5YOEV7bUAyN3paZlQ7WntuZGZadVRjMF9eeFMhQGV+IVcjZnM9eE5uZ1dMcg0KPiB6c0k0UiNm ZnZFaWxGTE5adDN9bTZlNGombyEjPjxsPC1NamUqZWpVWTBBVzEjbitzSnAqSmBvaDtfeTd5JmB7 eFoNCj4gemFpTjF0XyF1aDNRRDtVZ0BAQk82WjJKPjFVTCh9SWNsVHwzUy0tDQo+IFp3WDckNWhq SSs9TWgjPjJMQmJed1pKSVJtSg0KPiB6N1BZOFRFaD14T01TRTx1c2QxYHdfaVRiey1rVnJYNWlu OUs3eHd+ViNLTHMza0V9fjtpKEFoZCtPUDIhSWwkaCMNCj4gejd5YihkRlptQHt7YV5XSj5TKD0r ZnVQeEdsfkRyWG8+bEhqXjlAPn4yRyFEKjxQfmJyNVpAcTRXYyQqcy0NCj4gRD1RIw0KPiB6NSFS S2VSYjFmSS1kZTMhVkh8eDM+KXZgSkVNTXpaKXcpdShaY3dldWs4Kl9KKGIpNFooZkJIb2R8VHtr ezRiaH0NCj4gelg1aENeQ3FuLQ0KPiBlMkZ1Z3c8Pk8oMm5IR0pnZn0qczAqc1J3fTdvM3I0KCpx cHZXO289NWFtJG5aPGooZiQqQjFwXw0KPiB6d192TVczflg7NVh8VXl2JCsyKENFUEptUyU3e3h8 cCMtDQo+IH5LZzZ1YFdsdWhWc3kxcVc0dU51RDBNMH1jcUdjKndvDQo+IHo0ZHlxQjVQRUZLQXx3 OWtianZzYStAXjJzS3luWX1nbilNWVI4fldvPCUobCpSekFjbXZiekNWMHpCc2UNCj4gQmBVTUsN Cj4gek4jUXEoJHdNSyMhYHwwfCR3K24rJikkMD55TyF0ZF94Yld7aEZ6ZC0NCj4gaz0jZlNjKCox akA2bilIOyFiQ25Ae1NFeg0KPiB6X0d5T1I0U3YqUlhEU0YraCVCZD9WPjIre2hVXjdBd3xPSlBL anZIUyZ9d2QxV3YkeFdHYFFEaSFSfQ0KPiBIMSN1dmdBDQo+IHpjMyZkeXdNZEd8bHx0P1lBQF4y aTIra1gyWlhjRHJUcSQtDQo+IGRNVkNAczshPTM0TW1EcitYcCQ4bilDYilyWUM4WHINCj4gej1u YFJzSnJgIXp6XjQ5blVlKWk+NzczVDBaQyNAcHNfdmtNTnFoeHdJKHV3cns0ZnMtDQo+IE8+cztx ZW1PTlZ0eWJpWA0KPiB6QTd5bEdqOythOUpgJEJ8Jn18Jig0a0l9bSk/I0xsY0ZaMCh0TFRaZz5L NnhHbmkkQD9UKXFkNClfQWIoSVVCPjwNCj4gei1Td1c/MFdheDc1NFQlaz9aOWZ9Z01VUVd0I0o5 YFpKSXZ1eHQrJGxkflRWT0JPNkctDQo+IG4jUyVOelA3d05ALSl4JQ0KPiB6TiN0XiN4aFZNbkJw SXBXYDlBO3JRSiFUcGw2KlJ6WFc1bU48X01renRAMmp6ZTlqSG0tDQo+IGBJSE5eXk5Ed3o0RyZz DQo+IHo4TUNnTiQzfT03eHJCUHdDdWNfTHVBQ1JVZEVXZTRIe04qNzRjRl5SPmQ1JmAqSWhNaHtz cHNwZ1khVw0KPiBiSGVUNXsNCj4gej4kK0xqSCUyYkpgaTZQNEV8Xz1ENEtycyYmU3shSXBSamBU PzdKS21PcFJRP1g5PUh1b2xfJT12cns3QF97XzsNCj4gbw0KPiB6amh4NSg9bFFocGQ2ZHIlIXVJ bW5QMS0NCj4gRDxKOSh9b3lxbitne1FqUUw+RXUwKiZyQ2psO2hwX1dxWW5Objg4eGMzDQo+IHpe eCl2SzBpeT04MGN1RmFzRysweUtXeDtmWHl4emBobTlJbEhQUihNZUEjV1VRWkp1bmU3P3A8QDg5 UzFaDQo+IDlXUiQNCj4gei0NCj4gMCFvRl9zZF9LOGNEd2E/MG9Kb3QmVGtTPUc0ZSpaP25JJlhL TGlUe3s7NDs+UFhBfk9wVG52WFh7XzVNdDtIWA0KPiB6Rl9HIz5MckhhSEN2bVRuP2hGNXo4aFBO SXNnYVk0dDBUdmVfa155Z2tyKTNxSDhTPH1zZ1lAQSlzYVU/ZHANCj4gdT9EDQo+IHpBaWomVmdR KTlLJUo+cXI7YFZyejRqNVF8ajJic3w9clEmO09wUUN7Rmc7Z3xKYmN0SyRCZ0ZiaCRBaVQtfV5k aA0KPiB6JT07cGleNXx2OWJifHslMGlPJXJxOCRoNUZGd0VHXkJrWVEwOXlyYz1KKn1QWj19VGk3 M3J0Z3p4KkhsTTQrbw0KPiA1DQo+IHpRcFp6Iy0NCj4gYW51XkAmdiFuXkk2SH5jWUkwK2l9RT54 JmppS3VpNCtZUFFhb2hIa2RqaXElN3pSV3o+b2UwPlpfZDMNCj4gekFqU1N+e3NzPztTaGZNWnsr YUxRZX5NdG0pPU4hfVpsWnRTUT1XSXFLYWtaRlFwTGpRM1BPYUQhJSlqa3JOaw0KPiA4KQ0KPiB6 dU1YUD05QiExV0BjWVB1X3VYJkZ3TzZqeSgpTV9wU21RJFRvdDM0KWo4aUBOKThzMGBEPmp+KT08 X3hxDQo+ICQ1bCotDQo+IHpeP1lya0U8fTByRWQoYlJVM2QtbnZHNzhfanxBXmw/QDU2eDM3YzRa YSs3aXNiR1EpPkUjKFNVaUtffTUhPipPRQ0KPiB6SWUkNk4+ZCtwc0JqN35ncm0lfDtPQTV8K2Mj citvPjttZFZucysoJG8yWDR6eTN7SVFvelJRSUdZelhEM1MNCj4gV1d+DQo+IHo3TjhLUnJZOTR4 bXx+V0xYdkBRampkNSNHP1pzQDl6JjBZfCFqdjZNQ1deb3J4dUl2TlN3ZFRAWXJ8SQ0KPiA9cDwx Z3kNCj4gej4wWk58ZjJNMHNqb1VuIWRZZiZFXkleS3U2NmcwZVJAbU9nengtDQo+IFlKUF9aRD14 dGx+PW1Lcl91X3pNJTdqdTR0ew0KPiB6MV4yKlVOaUl3LQ0KPiBKKSErNj9CMXIyPlBrU0ZObEQ2 MTl5OXVrTXRgek4oQHVWeW9aSzw5dUspQGF2ZGgmUXJuTExWDQo+IHpPaDJyPXhUQX1tV08hOTN0 X20lMGN4P0F4P0cofllhTjVhJlQ8M091QkRydXJHdkJHVT0qT1R9aypPDQo+IFYlTk4hTnINCj4g eihINGU4IXpRUzRAISUwXkNRcV9tYW02bVp2K0pCTW5DZEZEeVJpdW1wbTJYP0BYTTFkaHFJYHlH DQo+ID0oe2UtSExRZw0KPiB6UWdGSSFEWHNKKj5zdzIhejExdVRCaVI9bjdXMTdqRjUyPW1MNUp2 czxtPGlARCRIOV83ay0NCj4gOWdxUiFXRTdVIXxQDQo+IHplKHNhOS1CRm92NlJHbzJ8SXY2QUJS YDJsO2o2QHoxaXEjdndee3A1JnlkR2d4NUVCdiVqLVA4WlU8aUJFMjUyRA0KPiB6JnN2LV84Uncy PXpheTgreHtLNjx8TS1OfXRXaC0NCj4gcEBBMU9aNUdzKV4jPWp4aSF0RXBPK3orQ1dFNUp+c1Fq dU94DQo+IHo3e2hhSF9CQldWKlhaaVF7NjxMcFhUJHdXJmE+QzlAeH0kJHVKTUwmTGBkYl9aV345 fkVZQUpXT3FlDQo+IH1OIzZDITgNCj4geiFYJU51KDUzVnxTamtaWnVrcXc2b24hUS0NCj4gdD5E WFpQdGpPcHBJUSYyX2pnV3BfUztfcmlUUnh0KlBtKyQodU44eQ0KPiB6aGxkYkNUfTtlaiM5V0Eq JkxKfH5NazBlLUM5KW5ua0RgZy0NCj4ge0RzUHwhKFdpX3heWCRQWW47UTxyJntTUz43THc1DQo+ IHphVmwrQVQqSDczX2Q8RjJMajJmSzVUbFk/aDlHUDFrZ1R+XjAlNjcoa2BjJGJnLWx4YmtfRUw/ IXkwQUpAYW85WQ0KPiB6N2B3bEBweyVtQ0QwaitpJkxhVWowP2dUZnQ7WVR9VTl9aG1WKn42MWMy JCtHKnJoR0kofDU1ZUs8R05jZ1M2DQo+IH4hDQo+IHozY1IxczhhfEtuJD5WUFo9akUpfklGY14h ZTs9MiRCMXJ0KFE0Q2JWXmUlI0Q0PnQxMmUkb15TbTYmfWhRciFhDQo+IEANCj4gekB6M0t+bnlX SjFIXmcmb01lNDJOdzU8MU8ySTNBeDcwdVp3SWR1P0Q4enhCT0wtDQo+IFhodk8wVCZoRX41cWVq TWlAdg0KPiB6U0lYYUh0fDYyQ3kpRWkxUShOVCRKNypMcmIhfmdkQUx9WD9aKXBlQTFlYXI1bXoj Zm12O35HcCFiLTFEeW5MRGANCj4gejJXezAqclF1JGxrNjAkQTBRTTlfVFlnSkhxSlohJlR0SV9z KT5UY301XmVkQzsmNjwpV3FoUlorX3U8dU5KDQo+IFluaA0KPiB6KH50QHR2OGNSYkIkSG5tODBf eEBfQm9ALQ0KPiBtWj0kXjsrVDJkeDNLXkgpbzNkPihxZnpgaVdhQHw3WWkwVCpDKCFgDQo+IHpU cFl4N0pPcX1eeSlGc3t3JG0tYmRqWWNAdTgmISQxY1JgXy0NCj4gI2taIUw4MEIqITNeWnlLOG0p ZVhPKGFWend6Sj0NCj4gek9VUlBSIzBaNWthO3M4cjdlKCo+WGBoNStUdGR5Q0FxdGg2YCZ3Tzk5 KSpTYGszIVVvNFYrY2RCcUk9SEYpYTANCj4gUg0KPiB6V3okR3NKWXoybTlOVHo/Rnd2RlQ4ZGE7 WWV8RWtyQ1Z1Q2x6e0ZOSlUwYSk3UUAmU3xafVRPRVo2NDR4MloNCj4geD1pDQo+IHpSQ20kc1NF QEg1PCl7Ji0NCj4gd3wjUWVrQWhRZz5DUFYhdHEoOE8xKmBhOzc4VHtWZilUZT1IVilXZXhDI293 aUx7OGkNCj4gekcwfnJzMmtBcUFndyE/K1NfazF2NkJWcnVvMD1ER0R2S156MmN+ISQqY2ojZXhh ZzhvSDRwdk1OVkpvcngNCj4gRVo5Uw0KPiB6ZjcqYTVKIyR7IWwtDQo+IEIhNUttVktzIV41RFdE WG0oeCZZd2laej5zY09ufnRxOVA0PTJoYj1qMFY1YmglTD5xc3g8DQo+IHpIYkYmRyVxVml4TWAt e30lR3t5Yz5GVDEpeSgmNEtmVD9Mel9pZX42SVlUP1JvaHxTIzdrSlBzYERyTC0NCj4gd3h3QHQN Cj4gemFFZDI+MGhxJkc+V0p+MGl0PSgqTkxZSTsrekQ0clEkeFkzaT1MTFhPU1QrXyFhIUgwdXI0 YDxGczJWYCM2X1g9DQo+IHopZXhIOWZTaTRYdVp+ISpmTzBjYV5BLTBjJGc5R2RaQWBCcVY+cVQh LUYwUFphNElebEdKKGIqQypuYjNaNiU0Qw0KPiB6bksyN2lKZ0J5WSFoZ0hpYVpzUEJ1OGhOXlM+ K3BURDZ0IXJONGpLNzgqPEhDaSZgNlVzOUFEMCZgakd0VyRWSQ0KPiBYDQo+IHp7SEU7PXNYVmQ8 OHE3ODx3Y1pYRmBZVDI7LStxSFomTyQlNlozZTlTR0Z+KkJXRGI7Mi0NCj4gJTg/OVpQPmN+ZDdn THENCj4gej1WeTR7Jk5EcH4qflc5OWJ2clk1UDFFZXp2KnptPDE2ISF1eCtEQ3V7WXFudj9RX2xe aWQrdTNWWTQ9I0MNCj4gV3o3Vw0KPiB6Q1g8X0FmcHtzcGphNWUqbXBtbzQ7ZSpXeWxrWW4oUWE9 YSUldlUlO0B0OzNFbX5ucHZzNWteKzU5IUZMeQ0KPiBaZUlyDQo+IHpVfVY8MXdOTG9TLQ0KPiA2 VG5FeV5qNE9MMUM9VXxFdD87aHhGYENFIXNQOSFEUDx6V1BVdkJpMGE2PGxuMnshQj0+PkwNCj4g elA8eVZQVGEtSUNWYFg2Z0VZNkojbGF6NFdjOV42ak0wcSk3MW1oWEhsN0dnNkBsSHJsNy0NCj4g dE1lRHY4fGhhZVMmMA0KPiB6YHNlWEhBQkAoX2ZrI0YmdWt2fDtQbHh+MnZwJiFBJDxNY2srI2kp JUdeUytYOzA8KGliSmhnbU1QbmstDQo+IG1NeUArDQo+IHorK3ElJkQ/akUqVTMmdztCTzRMZkko VzwzM0p2RzN5T2RyPjhuRyp1Ril3d00lbHM5fjQ5JjVKJH1oaXwNCj4gdj5XOEwNCj4gemo8KT5g IzZwYFdvRkJsKldKTDx1PG59a01MUVRJWUArbyZUd1FANHNkSn5idjZEa319Yys4Rl4ldW0+NQ0K PiArMFROaQ0KPiB6Pl96JXwxJVBOO1FQY0hJazExYHtgfjZ3SThHWkBvKylFI0lASHNPXm8+NWUy b3xvZllSZX44cTlMUF96Pg0KPiB1aWU/DQo+IHpqOVN5M0U4JDAwdTB+YnZxMV5TPFM9XkxsMS0N Cj4gTj5lJW8keldVKUhiUXU2U15FVlduKkRidH5zYCp8ck5SNiR+KUcNCj4gellHMCtYblhkWXZ5 MF5YYGhMYFhEMEo8Jnx8Sj9yNGZCIXQtRjBqU3EhRSlFT1ZsZiFPOHBvUX0yTT9sNmd+N0pRDQo+ IHpJQzJZYVJnMUtebXZOQUtSYWVrNUVSSyFkYE51KGBtQSRhQyRPK35TOVVQQmg8MXRPWChJcHY1 WXtRRX1ZZQ0KPiAwej4NCj4gemFwOD8pU34tDQo+IHZLaHdBJmgjNDsrR1ZDcVVQVCFNc3BBNzRT JTdHbjU5YitJUXF4dTVlNztvYk5Ian1idVNOYklMMg0KPiB6SHp7MyRXZHNsPWNqeyVEZG9qZCEx RDdJcERQbj8pJGJOKUNWQj9PfD0jc2xiKnl5T2Z1empGRVklPk1oYX08DQo+ID45DQo+IHpSQjNl JUhVcF5JVkY7KGwwN2xMSC0NCj4gdVBpP0NjditNRUVGNVdsVHxJYF8mJHBWeiY1fT5aaW1FXz03 dUs2RHIlV1UNCj4gem1EKSo5WjgmZzwzXllIK0EjfEwwTjVfTTJ7LQ0KPiA3VktaVzFfPyRlZ1RJ Mn5YSVhqcGFKekBuZlFCd0Y0KHMxKWN6Pg0KPiB6RUAqakQ7Sl5jdV5PUiRaMlMqclBgP15YT0kx M2UzPGlKclQ9QTg2LVZ9SiYqKTN4SngtQ2k+bXE9Nyt8OTleUGANCj4gekokYVhNSiM4OFRiTzRv dG4pX0dGdC1aPG42IX05SmQxeU09dlppMC0NCj4ge3pId3NwTTElNiVLV2t8RmVTeXNnWDY4Iw0K PiB6KCZRZFJULQ0KPiA+azlhJSp7Y19RSFYlO0dZR2NidXB1bXYxR0crb0g2WVBgQEhfdWVveGl6 UmtodEplVTdoSUwtP3x4DQo+IHoxdm5MNTMjWU41ckNtN0hxJWAoUjxrKF5CYnltc3IhbGkhO2FY THteS2Q+bUAjZkthWEttQzNgRU5sYHVYT1QNCj4gSE0NCj4gekxuUzxLWWYqPVZVc25gPmIwfl5p czJwY3thTVhaYmM3QD15RChZd2xqXzg1VE9+PVIzWkdmSERva29AMHI7DQo+IGdQdQ0KPiB6PFk/ SSRFfE0jaEVCS3BMM25DciY/SD1IfGMkRmZiYzlDdHVITVZfOFJLMik8QHE3SW13P35hekwlIXJU DQo+IFcmWTtADQo+IHpsX2N2WF9aM15Jck84ZjNHYFVpZlUzeTlTbShufFZgSylgJSZTcThqdWdD TX1gVUNKNjBaPklqJCUhZyRrcTFDRA0KPiB6X0p0dzswPXFNbTw5UyRTSUclNUtFeVY1PmlmWHMw X1pyVz9kYmw0eDRoV29pMDtnM2F7UG12PkFFS21KMXsNCj4gWipIDQo+IHpzUFZqM0lpYERYKVBU S2lCTjV8eWxjRyo+O0pvWDJtaVFLcT1hY0ZBPFdBKiE9UVhQfktjMHR4WFdFPEd0O2lRDQo+ICQN Cj4gejxlfHMmLSZYZikrfGUrfDxYLQ0KPiBZNnlPbnZrWj02N0ZWMSs2Y0orX3NJKV9qIyhmfkZo eFdNWD97UXNzTm1vYEtPag0KPiB6bkB0d2pnRz1aKjx7NC0jYkh7emE5P3ZYWSMhbihTUEtCSWZn fUA0bHoyQykzMjJVZz5FQjUkOyppfGxlck52SEgNCj4gej5fOFdyOWpBJjhEKmcmMys0b2xnZTJD JjM3MjhufCtvJCtlI2piWC0NCj4gWlhlcjAjb3c8YUVkPlNpZnF0IUdLVkp+cg0KPiB6cn0lQSh7 aUtWe1UyYHojeUFeKkBMR0NfZmNQVnlBTDJSRzAlaFNhRSNpOy0NCj4gXlc5anVwZG85Z29MRGF0 PGUwdn0yDQo+IHpNLQ0KPiBiRGE1SmE0VWwxWV5vPjJXdn1MRnxXaj1Wen0mdjlASyhxNGh+UF8r RUdXT2FTZUVNVjtlOGxkfTVJbFdDDQo+ICRxDQo+IHpJRn0yWUgzRGF3TzhDTSV6S2E9cnZrSmpF KVpwdD5qJGhqdjlGKz9WeEg9Q2B4MSFjclJPITE4S0NRMzkhNiM4aw0KPiB6Zns2MiVzIXhfTHJH T2o1dlpjTzMmK35JflhkSTRGPFZDTFpMJH52cUBBTn1edilWYjFlOTV6dklzSkJUSkFYO2wNCj4g ejhpejkjNXBrdDU2fVQkYkl6STJMIXJQR1RnNm0mJEUwPU1zVHUkWkx0cmYqY2JgczU4Vns2NlRK aE5VWUppfjY7DQo+IHpHZT1jTnR7YTJ4X3ZxQCMkSHVhNUlTeEF7PV58eGlvQiZ6Jj90aTczMUU7 PmZJJnUlNikjVH4memsxZVpJLQ0KPiBoV0QNCj4gej5ETjFiXnE8QUtrTmZxY2p0dTIySFEwKWp2 JmJyKD9rKVpBRn0tDQo+IGljR2FFJFckKDdPcHxKQFY7Y14mWEgpYzB6dw0KPiB6dHpaQThlQkJY eTRYSnRgcjZCYHJ7Vkckdz9hSy1jQjlpZWRJQigxWnkhPTlEUkMwfiNVU01fbS0NCj4gQj1BYE8z c1hlDQo+IHoxdW5tSD5vKE19RVVvOyQ7Yy0NCj4gblBsRnVwWVN1VSR6S2JpNVJQcCVJWTx+cEhp RU5lSUQmTVpDOEhqWVNeZX1PVygNCj4gelN5VnQyKzF+PmBQKWNLP1R5RUZWbHBWS3kkWXJ2Vit1 bHxnVEkwMV44QllTb1N0P19sRkpybU5hUH1oamQ4VGZVDQo+IHp0KmVjKEZTc0dvMDg/TVNZZGxP bmhBVj4oPHRCTHxJWnF8YnctVTs4N3ZaYkstUm00NnVELQ0KPiBjaFFKP2x2USpka0cNCj4gelh4 bjc3MCY5SFczNiNZeGdeNWdNZVg+OyVDc3stVmpBRUh5a0YtfH5YbW9VYUtlWSM2LQ0KPiBQMjNn cFcpZmp3V09new0KPiB6TTJCbmc0eFU1NWhmTz5tWUUzP25AWjxRKjwjVj9HKXc0YnFeNyVpZXBN UktxUSRSb01ZVF9CRCYNCj4gK3pvKTZsJElsDQo+IHp1I2RLaUx6WDwjaGJqKURyOWoxV3tuXnBN UUp3LQ0KPiBGZXxxPGZDKCF3MFdId3N3R2lvaWFwXnpLMndDKitTMmQ7YUsNCj4gelM+clgpbG1s YlJHdHN1cUI9UXNAR0poO0JfYGRlJFRPeVorSj0leE1IKiZ5JkZDckc7YjJAczA3TVhSZw0KPiBp N1h4fg0KPiB6OVVNPV9ScG02UnZPSVRQN3slYUBDb2ZqaU5qezFiLQ0KPiBZcitBYlpJPCFnPF8m VVdeeCFhP0oyZ3xSeT50UkNLY1dGDQo+IHotDQo+IF5NNiZNPndGVnVBKHhMWSpmXjVFdmheI2hw Q1d+X01IcVJQNShuTEJ+fGgpTilqRCk1KmdDYkZqXjRPDQo+IFE3Ty1kDQo+IHpxTjkoSEtFZFpa ZUNHT0pKP3J4Jkp8V0xEZFV9YGhANmU4LU94c14tDQo+IHozX0xLTk8/eHIzJX58NTwkWEA3em0o eXYNCj4gekwrb2M5OTk1bTFqQWpNe2shQGxBciptalc3bUhXZC0tDQo+IH5qYFMlJCoxXmtwano1 QnUrdHJFMW1FKnh5PDBHaHIwTA0KPiB6UGxTI1RibyZNVktLeG4tDQo+IHI9SWswU0B2WW5KRSVD UHw5QjYzZVEyOCgzQ2R6ckNXe2Z6dk1MPUhUOHlTVGYpOTFnDQo+IHpEXjlqP3BveWM4SiNPOXZn KiNueXc1NDJgezg+PW94U1I1JDlEYV8rN2IyfFdSUnxWdEh8QiVsYzhaMFRfRA0KPiBKaU0NCj4g eld9Y3YhKz5QamlTVXB3N2xZeFRnYGB9QWFCV0RzWXY7N0xhKVE2cis4RnJJT29TMkFJNkV6bDdr KC16PXowJmpfDQo+IHpLRXVkLQ0KPiA+MD1hSjwkfVh5bjxfUjxtKzV7Xns3KX1JdXU0UjxTPFVg PDI/XnRzQCVjWCpHV3l2IXpqS25jMFRnOS0NCj4genFxZjQ5QDM/RkMyTilCUnxJM1hEb2czWnJK NFhae0Qtcjx9cTBDVWhHdmxDLSU8I3JVZTBDX3tJNmkwY3hzY0U4DQo+IHp7eGdTUEtpP25mS0RF M0sqKSZfO1pQQn1EQWEtJUROT1p8az50Jn1Te0s8SDBSbGJYemhWTzNJRHNRRS0NCj4gaVAoMkEN Cj4gej52NTslVG9gOFRxYShkMiV4SmNOQkNFKmhOVHF7eClLPUN3b31QNiElej0kNFRTT0MzPE4j ZXQ7P3YtanwxZnkhDQo+IHopdTdJRlFNRFgzLQ0KPiBGUUA/Uig3MWhBJDRvXk10RzdkdHYyPTYy fkRUQ0VUMlR3SWwpTTJkZ18mO3JsVmx2Tk9eZEQNCj4gemEwMD1mUHhRVUZLbD40N3coNn5wNkNI QFBza2deYlVxUDAyeTsofWd2YkhGRHQ8aXQ0MHtHdEU2ZmNWOyVwbQ0KPiBUTA0KPiB6UjlnXjZe PD4rSyU2P0U7SndoaX45SVVHa0xkI3Q5eXRSKm9COzQkT2lPYDRzSiVzK3xnZ2ozRXt9S0F0LXB2 MGwNCj4gekxhKi00O3QrfklNUyhoZlQ1dDN8UDxDcCY8RWNPUmpUPXNSb0AoPCE5USpwKGphNCtY emtVND4heSRoKU8rZmxrDQo+IHpZVFhffjNld3Z5X3BgKE9ZOyE7RGBzcy0NCj4gTWpMJip9Xn49 bj1pVj55eEtBRkB+O3dMTilVPk9pdEJEbXl1S2VsI2MNCj4gejhnYGhnKnEtDQo+IGUlRD8lYlV5 UF5AdittUV59KWpqMiZ2Ml8wZUNgfCM7XilzcH5rblU5QU9lP1RGX3A0OzlVSz9FYg0KPiB6fERx ZmBYUlA0K3coSnstDQo+ICV7YTRVJVUqc0ZAS3dZSkUyMUt8RXhCNStCXzg2VG9taEFoJCEhWEk0 V1ZEbCY1YD5GDQo+IHpzfUd1QUZnfEY/YDZjNmdxZGJ8U2BNbEVGODUlfUB6XnE/THF0Skp7Vyop bTMyPF8mNCYzOUI1NlZFUGBpbysNCj4gUEwNCj4geipxX00oJlQ9RSZ4VGVHbHRQJX1zRV8yY2Aq JkteOEImQGhnU35HXks5YTh1d20ocWBxQmRxUSZYT3hpDQo+ICF2PWZWMg0KPiB6QFFnRjBTe2p9 MkR0aWhDaENjMlZtTzlHMDN5eSN6M08xQTk5JW43YkVTRm5oUiVaLQ0KPiA5X2dFTXNsV2hlMU5R dSFEDQo+IHotDQo+IGY/WU1HWXlIaEVVfVRpJnlLYWxsej9LfnhvRGozP2w2Rzg0VFNBK3FsOTxr S21xQn45MCVMOGRrI29iOUJtDQo+IG0oDQo+IHpMODdvO0tmZnV4KFR5THtFazxwYSE5YCN5Wm9Q TnIyc3BwJDBidz5UNjYwdDd2bSFeUTRMYCN4MEFJbyZ3RTxOKA0KPiB6ZXV2WkE+ZWVmSjxfXjg5 TmUoNjd7ajZGYVN8fUYyazFVeTFDODBUN1pfLQ0KPiBHJiNuIWA1MyhCdGg4VFMxK1d1K2NSDQo+ IHo/UGdgaSk+QzRUeGt2OVBQQ0kjezwzSDhFWSpudSRhUjFAaDVHY0UwSiN8PncpYmxmaHQ7MXpS MzRwRFdhLWZ0Xg0KPiB6fEUocmdJdUNKTjBfZEReQEFuPEhGTUY5eXpgY0RyRDIoZExLOGV9UWFU Vi0NCj4gS2U+PkpeKmBKK0VjcXFvTWA3bCM8DQo+IHolZGEoTVUhS3wpWFU/d1dNVW9iVDU/TSFW WGNLO289Zz1ubkMhV19jNXp1WHMtDQo+IDh7ZEdQNTQ2R3h2JV91IUl9MiYNCj4gekJFTmMqUlBy cHpKanYkO1hzSjdMQTFNfHNxMyhgeil9JmtVR1BrflIyayh6Y0p+UnwyR0BYM09uYWNjKXRUSG8N Cj4gUw0KPiB6Z1NWSFF6QllONlYoKFklUCU5ZWk0OHR9dEw1MCF7Q3hkQnpZZmhyYTZmU1FZZ2Bl b2RQdz9UI2B8eG9WelB7JQ0KPiBEDQo+IHo3UVF8KSkmWW1wO1ZSWWZGdzIwe3duQHB8ZGIhX1Qq c1MlLWMtDQo+IHpSKVhNcE0+ZjkwZWppTzRVYWp9Zk5ieSNRbTANCj4gek0pV2VCJTAhO34kdyM2 NWR9I1R7SURLLQ0KPiBXTTdIcysmSmNmRTNUaHZeIXszeXpedXlvTCFAJUVVQCtJVFN7OF5Aag0K PiB6NVB1SWkxI3xMZE1MZGYqUHBgT14+e1V6UktwKTw0UH59QDlkSSQ+SXZIeEEjNWwmelE+ajV2 cio+JHtmSDlQSQ0KPiB1DQo+IHpqcXRVfG59NV5qVjN+bVp3QXxjfFg7MypNWFJLNSNJKUQ+Kkg3 PiRIKVdCNCE1VzlZJEJLSkZPZ3RmU1dnDQo+ICtvRG8NCj4gejx9YXMkUHhkdSliKHVgUCsrNl5I Xmo7OzBHSj4mUm9PfFVeM2xQZDk2WChDdFo9JV8wa3opRkZ6fE0lanZlbQ0KPiBecQ0KPiB6ZlUm RFYlV1JPTjBtRytrWk5qQFFVbWIhT20kKzJxby0NCj4gSXI+VlFhdERsYnQ2XzNxXlF8VjNNbm85 QnJqRkAhJmBCDQo+IHowbkp7RG4mcVA0QzhMcnJnVCFQaEtJK05RZDxEMXN4OT8hTjZNcFhMNUsh TUN6PFVVUE07ZHJvTDVWdShFDQo+IGc0c2QNCj4gekdnYWJ2VW4xN31wd29ibVRrZmJOb2AtDQo+ IERLUT9nWWBSXipkZV5Xbl5SMmJKZnA9Z1ZPU29sfUxhUis8ME0qYiN+Xg0KPiB6RnpifFpaYXEy TFZURXB9QkYwZEtgSGlXTjlgNlFjbUpXdFlrditNaSFvKkdMK0BhUSQ7ST0kPlUrNl5uYEsNCj4g Uih5DQo+IHpRfl5FWT41cnF6NTZARX09WCpLQXIlNVhCRVY+VXpPNGFkJT07QnhhO3hycyF0KGN2 ekIrXyp4QHBqdSZkDQo+IEc1RDUNCj4gemBHK2ArejVYb3k7S19YVD98blhXZDUxaDE8dz1OdGtp VUsrSVFkQlJBQ25jPlYmJmtnMGdYJklPWWElfg0KPiAkfG9ZTg0KPiB6akdsQGl2QzV7TzZZOXE2 dk1HJCRtREg+OHMldWJZZEtmZmJSfWROVW9tRCo3JiR7bClZcCRQKE9PSEZoDQo+IFQzM3ZYDQo+ IHpPMTd5dF9vejMhKVNJWDZiN1Z5OHh2SEA8SUUoX0pSPyZ9M3t+ZV90XkpVVWM7d3ZjMHI/PSQk a1Q2QnUyampvNQ0KPiB6LQ0KPiBnWmh8PClSUEokfCgmTUh6TUFaRlJpTztFbCh7UFVEU3dlcmZT UXBqUThAXklNWEZndGZTUypUWk1eVXRwbg0KPiB2Ug0KPiB6P3JmKSNvV0RDMjY1Y3E4WEQ9bXhZ d0UrRmpHWG9oa3oxX3Rfe2RtaEB1PVBTR1NIdnNvOyVzUyR8RGprDQo+ID1eSihlDQo+IHpUcSR7 fThhN1cySk5iX2U1IV4yRiVHQWF8aF5YUlBJbSYxa2E8e2lrciY9Q3QjVW0+aD0xKj0oVl97ZWtl DQo+IFdhbmkNCj4gekxgLWVKMFlMSmBHd2pCcWhmRz5AcW9gV2QtTExBX3M9QS0NCj4gUFYlMlNy WkJqTWNWO2ZYPj9qej05YkFaSipPYjd7Xg0KPiB6e2AjY3k/TmAzP3lVQ1p6PVFGNnRDeSpNZHBr aDtsUSpaUSVNQTRSNCU3PCh7NG81K149ez5zU2FIZHlLSXQNCj4gODY/DQo+IHpZT3RSMSQkTlJ+ dkFGbHVSYz8+MVI+UVcoUjtrUjZtVFQ0MGorU2ZPJm04QDFrMlBCb0pOe0VvWTsjWDl1DQo+IE8l d0ENCj4gelM+Sj1CT0Ztcj0pYj10b3h9LQ0KPiBTJmEoclcxX0V6M0hUQ15UUlQoViNKJnZzQjc7 Rmk+Rk80bjdyWEF7XzhvXkZ8RA0KPiB6bUZhdEtedj5JcXdAb2pvITYjMyomNipZYiY7ZGd1KVJ2 QV9YME5wSkRecEskKW1kZnNMY1Aoc1ByKyp7dm8NCj4gWEVKDQo+IHpEcE5hPGl6fkJkZ2VtRkol SXJ5RE48MWVrdiErRUFUflRUaTkrSClkcE4hQllCKmIrbjBgcVNlJjJhPjJVRg0KPiBTNDkNCj4g elFgP2lTVGRrYHokNTxISmZpWFU4Oz04MD9iJUBsZnZKVi1DRDtLfEZ3WCltLQ0KPiAoeT43NXlN YzJJQ2UzR0M+ZUA0TA0KPiB6YTtzfjtfRFNaPXdRYlhlP0BHcy0NCj4gfDI+VDZIYkgzPFZ3PSko OUVURkQ5QDxqNV8kZ34wRVF5MnVWeWtsbENfaTFkDQo+IHpEdT5IJClyNXZrPjRxeEVMPEhkYXZu Vl5rIzgmITghIXB5Uj9eSmVoK0NBNzx5Kl8mOTk8MCVzPCUrfWZ2Qg0KPiAkY3INCj4geld3cDhz RVdaM0N4SUZEeSstS0VGNyRWJTRQOCY8OCFQODctDQo+IFZ2KXF8dCEoOzs7Yyt4Uld9Rm18PH5C U0tVKEBybw0KPiB6Ym5PMGchJUI5fSRIdVV3SVN0ekQjJD5BVjtnYztGSk1RVCMjO05QOD9zVlAj blJ0KSM1a05qPkVYJFlSJQ0KPiBENE47DQo+IHpvc08rRTBOSlBNMV9oIUQrQFV5cG9uU0RQPnM0 YiM5I2V+NzdQdzZwWipSR1JraWs1JkxzZ0xvS2R1UQ0KPiBjU3ZUNTkNCj4gek9EJFIleHFaVUkw aldqek17ZVcqU3o2NW1TTHkxNFRpKlpYQTJQOShzYT1zYkltWV5hcHZqJTslQmBlYUsNCj4gUnlr Pg0KPiB6JUJDWiV0aXlhK0wmJHF0eVVVWWw2Q30oJUUxNyVsJEVMTXx7UihlTSNIZWcqKmZDK05O RzVqd2tsNHptcA0KPiB7WWZ5DQo+IHp4QzY9NDgyI1FoVzlXYF8hd00oPzhCVksrSH47Mk4wWndo Nk50dXp4O2FZQDdDYil4dD9WSTZrdHp+fmtZDQo+IEVnNWYNCj4gemFVX31YM0NRTyE1bWh4dXBJ OXkpMTVPYXRub1d9Yy0NCj4gTEEzPUFYaG1lcT18SFRNfms/UntIcyFYJDJKO0BVWH5JSg0KPiB6 SSg8Y1NZQitVNjZHQn1McD1NS248Y2NWQEJLKXxFalcpVXY7YmFvQGAzZ3lpMSstI2VzWU5SeU9A dm4tDQo+IGUqbiZIDQo+IHo5a3Q+dHhVT31xNEgyK28pU24kZ0gzZFl+JUspVFI3a2dOeT9QYDc0 S3Q4NmVWVlIqN1J3V289Syk8M2I5DQo+ID8tc28NCj4gem9zUDh2WHgkaGlfQSRDOXRfSEdmTylZ QVRHX2Y2VSNkTSZ7dUI4KCliKitpdVQmTTkod19GVT9HN1lVVA0KPiBxNTdjNg0KPiB6MTxwPmwl dXB6cStYcng3bWJxZiRjR2VQQ1hrOUF7Q09PcGVUUlJNRDtrUlplQH5PaCp5e1lnYUs3Nm4NCj4g YkFMUFQhDQo+IHpha3tpcXIqWmtUTzUmTHxMNkFzWjQwdi0NCj4gUWI1NE5MSUZFbDJqb2Z4dFRX bSk8d2olcEhUPXJkPnl5T3J+VVhvaDANCj4gekIrfHNSeXk3bSglKytNLW1IP1R+aXM0c2chLQ0K PiBnZnU8TiY3TjUrN1dRYCo5JXpVKThMJVpKZFlUa2BSSlh7a1RjbQ0KPiB6UFNLU0ByIVU/dW07 c2NvVGo1WEtVR3lQJHRTKG5CQTJASihkaWgqX1phTn5oUy0NCj4gK3pmUkF5VEFrZn5Ae2REa1op DQo+IHppNH5rbVo1IVpTTFlKKHhBbFdqUEVZcSs4NVUxP28zTkpnbEg8NFVkKm9zeyEhPz5Md2Ah I2lZdGc2SXdhcHdLdQ0KPiB6PyZAYShxZmdXcFpGI3dUJFRQPF5ZezM3WXNiYTdwWjxDUDZHX3M8 ZGhkZktxVmFyKnVPKEZrd2FZSjwpWQ0KPiA/WWY0DQo+IHphd0ZROXBrcGdFT3JBODdXKUB1YD1v K31ITDM0JmQ8bjY9K014VXJEOytsYVdKQzNWa0Q/PX1JSjN7RG8zDQo+IFlOTzYNCj4gejJfX29r O3l8fnshVFdDKEMrUENvaHFvY0NoPmhqUG47WHhKeX5lfTArWnB+RXZmRXAzcm40QWBrekFEejw9 S1QNCj4gbw0KPiB6RGFLU0BpTktkJkkraGYhWWA/anlKPENNb3QhcCtXKXxfYypwMzw7dHskVE1F VjttblJEKjh5OXMtDQo+IFN5eT80fXBqDQo+IHpgaC1wJllgd1BTSUReV2FHVDJte0U2elFYWDs/ TC0NCj4gcTR+eEVIWjhCUjF7NEE3Ozx2O0dvNmhCRSZqfTV5T2J9ZnoNCj4gekt7YWpQUntMMXVQ cTF+K1NrQWpsJW8qI19HRFE1alZeY0EzK1JlPTYldkl2SV4waWc+TVZ+Tkhra3dJanJjSQ0KPiBA bQ0KPiB6YUFLKUZJMG1lZVBxZFBjTVBuT31LRzd6d1p2S1JfQyRRVDUpOEU2UVZlYj0hZng3aypF MWBjbUEldjdPDQo+IFhPY19JDQo+IHpuRCloZEdoYTtoVWlITlBNX0lJNDc1QTFecEQpWTlpd2Ff RCM/ViM1OExOSHE3UGJ6JmA4bXRIZUxkbV4NCj4gPThNe0gNCj4gejEwQiU3U3ZhK0U3YEh+aFc7 ZSRNK1ZuYUZCJjVuciFoe00hblZyV19XLQ0KPiBzWFpqSUI5SlYobj5yYTh4VSNoc2VeZw0KPiB6 dGFqRjx4b2k3bEA0akh9IVFBKUZucmNPZlFLLWhJKWhePCtoaEN7PGZqaVJRenxeZW49SnR9TiVl VksrYGhEfGUNCj4gempMbkd9ckBTa0sjfk44TVFNY0Y2bko1UW9rRnd7PyZzTS0/ckQ4QlRHQ0Y9 Ky0NCj4gJVgkM3tNIWpKPXM0RDFWcl9ucA0KPiB6bVA1I3Y3QHFIMno5Myl0enNiazRkJTt6bm1O bCtMPCk9T1NXPmI2aStqT1IxRGVBSWA8YTAyZldXWk10YA0KPiBLfGFiDQo+IHolUmRHYT1ObXoj NVJSa3dIP1dIYGw8Mjl7JVRwVXFHKTRXbHstDQo+IFE5cTIlTjh5cytMakdjKW8oaXA3U0xzY0Bx a0QNCj4gel4hbWp0ITFJZWd5WENLND4zMXZybXdmdElgR2k9dmYkN3UmOCROfHZBaWRGYXp2eEwk YCg+ZDB4cj97OCgrMVlgDQo+IHpBMTZqQFkxYUZhKlY7K0ZnTGE8NF5GTWlCJVFKOUF7PnQrKnxH YmFxYkNPcml6dyt1dl5hdG5PRiNvek04DQo+ICsrZGANCj4genheaXlRRVdjZVNiS3YhbFM0WHk7 VF47IT1wVTN6LQ0KPiAlViN5ODZAMEVIWlVMWFlKUXEpYGp6azgoX2dfJnkrVV4kfg0KPiB6Smdf fGMlU1lyTjJJWmQpe1Y8NjM/dXUxTVRLUm1scmFKT0Q+aS0NCj4gX1VXIz8yIT1KUnxaem58Y0Qk Rnlvcjwqa20pDQo+IHo8fmUjVUZqaUMpUnMzSzQ2fDBidnUleXo4dkg9d3AxSDskeWliMkpMY15N TXdnRn1DY3d3UjB7dk52ZmZhPA0KPiA5ZSsNCj4gej9Gcnxkbjx7clMxVlg9bGUhYzVnTjxjcFgh JWdpaTskLWxyTVB4Sllmb057I0RAWikraCloY3RNZWtKZjRuXi0oDQo+IHpecjxkZF47SjxIWlY2 TXhvbmpUdzFkSj9ua2MoWkYpYzU5TmNgYWpzek5hbjVhN05RN1hiWDFVWGQrPmE7VUwNCj4ge2kN Cj4geiZIYDt0QUFKIzNrPjR+bHFtc3c1UCl0c2A3dlFHeDYpYjxvVkU1eTJvRmVCY3ZSUlFneVUy WElrNX18Y01YeQ0KPiB1eg0KPiB6QnxoNGV3YWo1YC0NCj4gPEMzUkAhSnZGd3tUUSlxTE96aGRG ZlkzZXpIJClJPkR2SXQqcXZIYjtuTDhvcUg3QkFHJG1zDQo+IHpjRnA/bHBNPWZ3X34keDhqdHM8 S3IjfD10bVJNNGU3QnBmYHtkKDVlME8jPSFQeX45PEBeckNhcERlQjF4ZA0KPiBMViENCj4gemEz bSlTbkUle20/RlEjNXMmTStha1VyU1N6fngrJTdEalBXPD0oQ3taXngoU0sjPmsrST4we2cwfWpv PTxJDQo+IC1LWg0KPiB6YUQrPkQlazZfS0JwOTEzI1JzUm51UyhqZGp8WDN8Wll3cTQyYD16YlVC UlQ+VlFmOHNgdFphUkR+cW1nUFgNCj4gJVdIDQo+IHorPCZoTjM4SGA9bCF4O1UzKDlGYVM9bSE+ Uzk2YjswZXxqbytDdk5RUzFMcU52dXslP0lPYXVkcCVvNmxVIQ0KPiB3ZWMNCj4gemQkNTtXPFRv SThWT24qWTRyeGR7Xzt9RkVWUDZ5P1g5fCV3M3owTGhmcihjZTV2MDF1PmdZQzZMRig7Nis9b2wh DQo+IHoldUpBYkRHWiVkODJZTD1YTCpnWE9IJmByYkdtVjd2fFc7aGJJdXVUYVlkbCZZcEV2Pk94 VXIzKSptPQ0KPiAoWWRqSFgNCj4geklTSyZVRDJhTm91NGhXIXtgdG8pa2spJWpMKVQ1Q2w1WXMh UmYyYmU7OVo0UGlSM0MhPEI5cDt7alB3X2o/Qy02DQo+IHo2O3g4UDxGTUQhSipKeWJkSE9iRktT en5sKEQ3eHVqQiFXcilJSih3JipeX1Y1OXgwZjQ8ZGk9TWMpU0AmZzcNCj4gKX4NCj4gejBCMElz IUFKK3J7fU8jNiFmd0QhPkIqLQ0KPiAxVmphMHA0PCFEWGRWM1B3PTtOd3pvK0AwVDNSaHUmdmJp OyVXWUI1dA0KPiB6ciMraXg7JHp0UHJYSVJtelVYVlEmR30zSVF7OTNpZ0YyaTBLMyZ7dFBvfHph Rmt6U0xvaEA8diNTdUUqdDlSbQ0KPiBwDQo+IHpabXBvKEE/T0E7PXYxIW5vcWd+VUQqJTt8YFR7 I2dCNnlfNytJIWx3Q0VFVnBiSiRhJlJwVHA7azdQZlk/PCYNCj4gXyoNCj4gei0NCj4gfjNUO1Bk TmlsIVQ3QlQkTTJBRXswPXlIMW4xTE5GWkFnQGJHdTk1Sn5uc2ded0BfazArWHJfMEBzZ2N2Iw0K PiBvME0NCj4gejcwWVJLQlZXT0FqOUBnO0d3OEc7P15FUHpNZWZKJnIyY0JhZXBqcX0ySik1QCMm dEs9QXZBSkEzUFNkUA0KPiBRYD5Xfg0KPiB6VDxPfVAre2V1Wj1yWSk7OSpMaj1qMk1ZQERQTWlp PEh5K2dfOTxQQnJSM0RPYnExcnt6MGtMZVVQPCZHO2lODQo+ICtRDQo+IHpTP3J3bFdDQn5oLQ0K PiApI0M7dmBFNUY0WEs+fV9vN08xK1RXPUdKSmYoWllRU2x9MGE4S01DbWdxPzN3dkRWR1JxOFYN Cj4gekQ0Ki12cl9MWGg+ezktMjwqKWNFYFR2ZCROKGV5Tz01KDY2JUhVTFBCJSNgOzl8PjhiRms2 cysyJj96eElJPD11DQo+IHpFQn5ZWV5OKD0oR2wkQUFfJE1mVFQ9ezF6fEJXdHhZN3JPaDl6cCRt VEpoaHMwdWUmPE9rZG8qJm8lRmENCj4gZD9tQ20NCj4gem9MPnM8WFEoREk4a3NybjZpTStnK2Yk IVZnSnM7KSFGLQ0KPiBNQVBQQThCSVBaeEV2JVlXR2tVUzd0JCtySG14MGVoUg0KPiB6ejQkUEQp RDNEK3YpWGY/K1ZofV56cHx9cGcyV3NyTHVrNXxjfm84QUx9NH5AUyR+dkE4VWZIUWAyTERZKmBR DQo+IEsoDQo+IHpzZyUhIXJISiFxaVpSO2glJSQ+bExpMkcoVTFnN3lVQlI3P1JgaWkhKFNgOGsl aXBOLSROVUg3UHZSXjEjfTMhKQ0KPiB6dTJkTmYxI3FHPzlrJlZxbWxfPUs2P3h6e3tHZ1g0SnBB PE05K2tYTUJgO0lTNH44WHxufCpERyYocHVYDQo+IHw0XjxxDQo+IHolR0l1MSpNKyQlRVo2eDNI OTRJMyZ3cTN8YEFiKWplPjdqZzJZVH5ZT1JebD16a3B0TiZyOzR5bTI7a1F7KFoNCj4gYTANCj4g ejFWWWFnWDQoN04kXk5TfnkpOFgtDQo+IHthMn0hYCY3em1tR1huSWwhX15FWSU2MUZwRTlVRnEp KEEjekYlNVlQTiZMPQ0KPiB6ZTJzRXU8OyNJNDVtO0pgdClTUHlwXzRQSXRkQjUzJF89X2VXT0Jt QjVtWHFtNkU5RDUtDQo+ID1PRDlJYEQrcT5OfjEjDQo+IHo4WnsqXlIoMWM9O1RqSy1pZC1gX3JS aSRUSVolUUt4N18/MEdWJnpZI0swKCZ4TTxKZiZTdkpRaX0za3QtWistMA0KPiB6eXc0dj9IeVB1 KSspdDxiM0VhOzxfcD9fJjlrR3s0dyRwYGRiM2c2d1hNXzhKZCNOTkVya35hQlhPO1V8cw0KPiBV SUFiDQo+IHp2QDt0R0d4bCFtdF8rZ08pVF5WPnluOE83KD8wWH1rbHk4VE47U2t9VCV8VHdhPFBM ZzdrWnwhMlJjPVFHKCUNCj4gWT4NCj4gem9HaXc5SD5odWQ2NClqOU1nQm50dShZPE13ZUZxOGkm IVA9eC0/di0tZFgmJTQ0OUktDQo+IGRRM3N6bFkxMWV7JiYpSw0KPiB6UWxaJXtmQFRafU1AOEA0 IUxsV1Q+RU4tDQo+IH0kfTRRd2RpVWtua0w+TyNnQyN2Ml5YXyZNKkBjcEpPNmhYRkUjcGd2DQo+ IHpBIXFOQCtafXhROVhAUUpPfSNvT3R1M3x0R3F1PX5fRU9yP24pMjR6T0YtfXZaVWBVN0ZLa01+ LQ0KPiBvfDQld18qcVYNCj4geiYxIz4yIVB4bX5RazZUVU5JTjFhQWt7dHkyZkooJVRxclpBISRl ejc9VmcyQnh5clhXYnxiY1g5ek87eVJkDQo+ICMwZg0KPiB6eDVhajFpYGY4fjsmUDNYKkAxQFZC biN7aD90TkckZiVlcCpfUSlidEpucmpNVHcpYn1fWGBDVD8/RW9pKU5QDQo+IG5qDQo+IHo9aXN9 dkgoN0lHdlkja2YhX05CUGR6KlltWS04XyNKb3JaVnh7cElNWWBnVjc/JGBkRihsRkk7dmt9SG8m SGdOPQ0KPiB6OCZuRmA/VllTO3dnS35BVjNzZVRiOGI3KHVwN0BrVkUtDQo+IEs/Q2EyS1l3c2BP ZGxle14heGpvVzJmcCo7MDMqYnhoDQo+IHp0UjM9JDNtJGRKOTVUelBDVSt1YUBsdChxQ0Z6ckVk Tlh+YEdMM2MjP2Vza2txIThAKj1nVXA8ZG5SO1lKflkNCj4gJWQNCj4gem89bFpIZHZua0FScTcx WXNqZjstDQo+IDJEeVJJJkUxaiVJaHdsaFI5MyttNyZwV25lUWZheGt2N0wyUHJuMChVWD58Xg0K PiB6XyFOV3wmMGJzV0UmRCstDQo+IENwU1BKQCpDQTk+QFNfQ19BIylVRV9EbGRIZXVEdXhIe24o QE1iUzFFQ35WbjRSYTYoDQo+IHpmbkliaEs9MTFYZGlAUUNDKWVhb0RtR2FFJFYydlZMRk8pQWBf fGdfUGpXUVZrKFFXd1M/Y3NpYmpqeVBLDQo+IEBHcEANCj4gelFXPlQzO04mbWExMUE5eXg7WUgz M1BWPzgqc0EhMytPUjRTK3tTWDlPcW5qcyVCKitYVEx+azBPKzJfTg0KPiB8RTg8ZA0KPiB6WDFL U3U4M1QmeWdISnJ9dDV+VSZ4QHR9TkdxRmBYdVNeNlJFRz5BVCV1VDteSDheWkE2Ym4lIWI+NW8j DQo+IFZFbEJZDQo+IHpWZD5Oa280T009I3AzV3p4YH4xRGVoQFZsWHk8VDtNc2dZdExGUmZUX0pn dXIzYCRqZ2MoMUVRI2NoMWFTNA0KPiBrczINCj4gej1Cb0ZzdjkwYmRQOG5NUHFec2s+dz83JXlZ SW50QGU2RUpvK2BrJjtHRU5HUyg1fTBIYiVwNWZXT0xLYQ0KPiBjalh1Vw0KPiB6c30rUTk9eXFQ JDN0bnk8JSZ0VHk9ayZPaEx+dH5IPHolWXRrMTU3RistZGUmVlJGR0UtDQo+ICFhWUpXc0EycCg9 Y1h9DQo+IHo+an1fUWxgKn5ER1NjalhxciE8SXVreChyamg8aU9kNCsjfGhVZEhkYjM0eTdabiRD WTF4PTBmbml7OWl5OGlReA0KPiB6JCR8aXsqUENgQDxBdkFVR0stDQo+IF5sPVU+QCliPCY8UTJS NDFDSSNUKCQ+ZDJrXnsqY2N+SzQoKjJxXlFxVShCZCpTDQo+IHpobjhBVU5yQHpZZzg0ZnlVbjJn PTZOQDlCRyp4UFMpTUl1dTQ4SVp8XkspXih7M01yciQmOGdQSTxCc1Y2DQo+IH1AJmoNCj4genZF OGdFX2k4P3k8ZHgxdHBPQDxFJm8zZnZ4KCRWakRoJUw7e0BrNEtZIV8qQGxDMnV2NWBYMVFZc1Fs OSlTfg0KPiBWUA0KPiB6MlJNKDZNNEVGUyEtNSFuWjF8WkNKdlVEQkdoPEp0XmQ1LQ0KPiA8Ulhf Jmt0U0hnVzI9Tng/Iz9xeXxGI2pTdnkhMn1pDQo+IHp4PXVCTCQ+MlphYDlCQDhjYkhCWHpuV1kr Xj5aLQ0KPiBuKlM1dnBmaX1IOVokJHxFeiEzSD5KRVg8SyZZNyVyQDh+JFENCj4gelZ+blhlTnYz byNyI3NuOS1mNXhmQD8yR05vKDleemp8Yygme0soP2FgKmBBMihDSSowQWpoO1NOYzhEJXlWanRD DQo+IHpnfTVXOTZBIU81S2pXITlhfC0NCj4ga1l2K0ooQkkoZzBZcFRBKUM+PkZuXz1De1c2dyFo emJqZF92ZW9xVXM3KE4hZl4NCj4gejIme0p5LX03S3k/WiYyI0hlbjtlPmFoS3Y3UDdXVVRXTCFk LQ0KPiArciNOdVh+M15Nanp1UTwzJVU5eDVeQmNkNmt6YA0KPiB6VmZLIV8hP0ckZmh7Rj8/SG9S a0pjZkZJXzhNK3x1YDw4M3d5WjR2JTRwVkFnWCFUUG4ke0E0PHpfP3c8byh4DQo+IEFiDQo+IHpe Rm1EY016eHZzdENEX3t1Uk94KzRnO1MoUD50NytnJHJYemR5eV50Oz9RZEpGJjVjUENubEdIP3FL c2Uhdj8NCj4gS04NCj4gejdoNEdHVUNuOFU7RShpK0UhZkZgMyMkPzJ7JmRBMXhXKzZrRUBob0du ajw3TkVEejcjTmBFbUl6czQld3ENCj4gYmxGcw0KPiB6cWk1M0hxaUs4Qy1Gc0YjSmdCZTc1KmhC OW9YR1J9dnU8d2UtXlRefnp5UU5QQEo0UG96KSlOe3AqWW9EeGotDQo+IE8lDQo+IHolSFkkJEY1 Q2xObmFXbjRTPVYjcDFhKit4KmNUN3hvfSpASSUwLXElWjtSX3RSZUpDU2ZzLQ0KPiByRVpCY2g9 VUdyZk4NCj4genJtZT8ycnkrWjkrQmxwdlVpUCtMOFdIdnd7LVoxfUF1LQ0KPiA9JFUjR09OI3xw O2FGN2lXPXkmY0VjdGBCYTcqcj5CNA0KPiB6aFAlYy0qaXQ7VyMpVXZrNll3Q3xwJjJ8UE9SRy0N Cj4geik1I29kb1paTXk4PFZWcGlJKiFvdiZra0tzPSU9K3ZaeVJPDQo+IHpLcEAhTkZEMHFCa0JH TVhqV1hFKGsmJFR+ayROJEhKcVh0THBLKSo8R1dSeHw3dDJXXlNCOT5QeWFSDQo+IHwlSHotJlcN Cj4gejFhakp4U289Kz1SPD0jM1lmcnNaZDFGfnQ5Pi0qdERZUE4qK2xrc0BkIVJ6NHU+ci1saWcr LV42ZmAybmQybDMwDQo+IHpqR3JATntJdWhSUD5tPFhOazJBSigzJEM/a1FnT1IjZTw3aER1JVVs RmhQIT1kbXV0bEM2T2FVbENqWkMNCj4gJWhgVFINCj4gelh6TzYzJCltRGcwS0R1TD5lamZWeEJD PDN5NGV1cz9jY1FkR1BQfFFVMCViQm49OWRka3hqJkZeYFlqISMNCj4gJmZ0UQ0KPiB6VmpzYERl RTQzVEtRLSUlZz4tDQo+IHgydGc5UDJ6YG1EOSo/MW9oe3B7WDJuNCYhV15tP0tlakNUKkJKZnR6 eCZLY2M/DQo+IHolbzwkRTNYVDM8K1ZGYTchfUdNfGBCZUE3cmIrfXoqTzV7bTQ5PWJEQV9nNTRH MWYmQzl+OTlhOVhtZXtJDQo+IF85QVoNCj4geno0JFlpR2NHVTt7JHtyLTl1SHpwQjNPdEshLQ0K PiB6YWIhbzlTQUd8emleSzZtend3WD8ydHpRY2IwSkBrSHM5eF5aeQ0KPiB6Yi1TTyFyRTc4PmVB KHZBa0RJXzlzKkxPbSh3fnl2RiplNF4mdi0NCj4gSE0kSVZPSmZ5SG9ue08xYVU0UEBfalg9UE9U DQo+IHpsYmR7YFhPdGV0KS03bFlodGJFalp0MEdJNjZJYlA9RlpLfih1dVl3ZntVSDFPdkJVWGhQ MjROJWo4blY4cStqYw0KPiB6dDZmJjBMJV5PZ1RyT3RwS15jLQ0KPiBTdSFNSn53KkIpcjkwb3hV Xmd4K3RBTlpTN3RQMF9eZkEoNF5HNEpPPTZ3UlUzDQo+IHpHPChUTnB1aTVGMERCVHZweCh9LWNR VFkrcGZFNmNJfTNXLXdsUFctZDBsfT16c0l8WTFBYmw4NXFxOX5HM0x8fQ0KPiB6YCpxUnduNUdY cSkqP0JVUWBMaSRaMjsjeCNxK29+bCYwPV4jTm1BKU5rKTRSY1NFPDd2bW1Hd0glKl4NCj4gI0Nr Y0N0DQo+IHpYVkR2Yns+PDJ9WHpFX1ZJZmElKjhUPDg5IVBzPGNOMllHYTt4Q1RCe00/SWJuPmch YzJiO2JvbUJlPCRnQj0NCj4gJX0NCj4geiZiS3dUb2ZLRkVDWTh1YnRRaDR1aC0hXj5XTVlLWVBB WllkOy0NCj4gelEkJnxmZWtaSEtwVD5gSlR5MkVhMHs/aWM4MA0KPiB6cUd9fGlyJCtgfjxeQ2hL PTVnVF5VZlIyfFMzPWUjYFpjcW8kMXJDZ19vUFNlQl5eekNhMzg7KzdfKXk0PDdNag0KPiBDDQo+ IHpKXk1JfGVra0VacXJ9X0pkcUB6QFpCd3I4SnI3X0smKEJrbCM/bn14Myp7VTN8TSlZcHQ3cCF7 bV9FfkZYJWwNCj4gbnUNCj4gelUtYStkUEYpWCFLNHxrZ3RROHgtTFAtYSltRitFUz1yJl5UT0lu P09UOXRvVm5TWilKfEl8KXRFe0RvPlBhRT0yDQo+IHpKTiVPaylHeDhIMHJ6JjtaQE5XPVgkS3BX ZTRVSFBiUns9UCp0KlFVeD5ldD9fRU1mVWZLKkpUT2B2DQo+IGd+NUghTkQNCj4gelBQVTU9RUxU ezRRMGxAYyl7MmhAZkJkY2BOP1hIRmk/ciMpIylNQ1BVfVg4O1BlZjJHO0ZwUEZLX2Q1bz0jbg0K PiAqew0KPiB6JCFCTEF3Rng3TVU8bXlMM3JPeXV2Yk49V3QrSWp0V28wdSpqWldAVmMjRmQwIUUz K3M7WjBAUEBmNm4NCj4gOXJmP0lvDQo+IHpsRGpQM0YwY3wwMjNwSDFsZS1ueHJtJSQ5eDZAaTd1 NUchSGl3fS1vOz0hTkl0KEdgLU5OVGZuJWM3JCpaSGkzPA0KPiB6U3lQO3NabnMhPEx3MWQzYjV9 JCMjNUN1bj1AeFpPWU97M15gKD1FfEtQYiRMajslVFNCa34jX0B1bERUM3V9DQo+IEw3DQo+IHp4 aGV4OTBWYzFZSGtGaEpJKTl8LSU1O2xweiRYZW0/TWxzOTsxdFchMilIaUNrJWQpaWsmYHsheipU STBhdHxtOA0KPiB6LQ0KPiBhSXFKQlU+I2lJd0hfWVdkfDBBPHd9enRTQEhHcnhOZUFzV35APjFX VCFIMSYxYl5ieH11fHFMMGoyVDMNCj4gX1UyKg0KPiB6Z089dyReMD5DQzYkIVdhdk8/PkZiTil3 K3BzRnY5a01jREh2cEFJbTBgQTJ6R05mPE0kdnt0KCtxd0oNCj4gVU9wNkFIDQo+IHppJVZDdUVM O0lFU1orYXZoSUh4alBPKm5KMSkwOzcjcURvZkY3a3ZrY0U9QmxFT29UYEBeYSszX0dyc0J6PjFF SA0KPiB6ZUxlPzlNcUU/fVE4e2lsNSt3K1E7VjV7KkRjPj9pXnhTNjx6QUJ3eF91bHtgVDJKPGlL WGR0SVpzdERYOE0qWGANCj4gek41R2NtNSskfSYwOy1tZ1IkeHR+Zy0NCj4gYEo7TEtXSUteREcy UCk+KzUleCEyNXtXdm9YSkkrPyRFe2BAWnpkaV9pVg0KPiB6T3VNcjIlMEJXPHNCaWJuRjZQRzZT JSM9YzxIUnxMRGwrQDkkWHpibkYrY3U/KDV2SH5XdnozJndiKg0KPiB5amxpUit3DQo+IHoyKCR6 OE0hSG9YOF96Ui0NCj4gSHZAcGg/PSpycEhVUTs4e0h+K3JRUX1aTnd6WHtGZiQ2OW0/MFRrPHEo SHx2UWRZelANCj4gel53YFVsRWNIc0llRGFtR2gjcWxSJlVlWndXTHMqSDQlUGVUZiRIZjVfTS0N Cj4gWlN6WlIrbTkmaV9WeEpeIyNBK2YzdQ0KPiB6dUZKbnI5cl5VXm5UOWwqcERWRFo/cE8ycm5w Tn0xU2FlVWlVbEl9MCNRUHBKVnVZV0AyP35hfVMyUyM1d3YNCj4gcWdzDQo+IHpjSCtKTVpBO29W Wjlvekpsbj5kOW93REZvZ349Oz9uZXVgUThaMFgrSFo8Pk5JJkdEN0J+MFlPY31fV0oNCj4gRF9A cksNCj4genMmQE1XUis+e2B1KHJkbHN5JF91T2c7SUlALXZqUlooUWhxdkZGey0NCj4gZlprNnhB e2NvNk1CdmBgeH1WT3dzNU1sKA0KPiB6dlpVa29JYzhgUyhFRV52UWZEbmlZeHo3Vz9Ocy03elU0 OUdWcy0NCj4gZFdATWptK0hobG93Qj0pMmgxcmNtST4/alhADQo+IHpnKzJALTwzdn5PME5HbiY+ eTtvOG9iYVo/ayNQYmdsZnooOEJJV21zdzItIUg8OUtrZEQtDQo+IF5xTkMqI2AxZkFoO2UNCj4g elVWdkhFYkhoe3l0QWE5M0t9cGtJRTgrcWRTPC1iO0Z3XkkzKmp2KURoWkE+UWk1KmtfYFRuZC0r XmxwOz5oXlkyDQo+IHpZYWRpWXJTP0JLcnVZfHtaNEt6a1JYV30oTTdSKSQ9fDExYiFKayVJRDBI KDw5ciEhPEQhUVN5Sk13UWpod30wDQo+IEsNCj4gem4rX35uPEs5NEJRNmhMP2xgbmgwXmRzKjRm RlAwRnJDSmIoamEtSVVvN2dTXlJsUjB7R3c0TXsyVnE0dkkzVG5QDQo+IHorYHJ6UUp5bXJJczR1 WHQwUDtlcjhWNk45ek8wYXtwcj9OUE1KcHktOHImMHNgeVVePz9NNEJXJk4tDQo+IGZHVVh1QlYN Cj4gejIkeXU1RGxeVUQ5RU9ZRXchcDcjVGoxQldFaHlhbDBRfE5FZz1eYl8hbkpMSS0NCj4gJiEj K2Q9cUwwU29yI2NVQiRfdw0KPiB6Qkg2PHtXc0NSJGhQQmhoYGl6REImKXMxZ1kmYFZTUG9jWVQz am5IRnlrK2B7OUVsY0cqeyQ+cmJ5e3xtbW5sMw0KPiBSDQo+IHpiWHF1MlV7YEZhciFxVFdnSDtX dTE4SEQwQFk2cm5PZWQ4RjhkNyY/NVNxeH4tDQo+IHJyaj0+SmlBZk4xJXN3P000UysNCj4geila VVozKkRsfVMxO2toOWYlYW9yS1prLQ0KPiB9akpgPDJQcGdxZXgqakQ4Ul9GPUVVKXdsfUs2JiNr USlXbV9kK29FTQ0KPiB6PlZyIWhWeyY0ZFJ4Zzg/O1chUCtXJmc7Kip7XkxNI1ZFclo1NzM7YmFB d0FPKH1lYHp8QXxxSnQtQVZETi0NCj4gbnc0DQo+IHp1cHBNVjk2MiVBOHc0ZGY2MDAmQDhMSHdn VmQmLQ0KPiBBUnNucWhrWUs1dEdKTzh+JHcxe15wVnFDWkxpUG55MlFEJSUNCj4gemh2UmhQZmJ7 d21UNWYpSXNSTDFLJkQwalF6X0JWMVJZfFk1NjskV2ZmMD1VMypJKihsT2RMbkBPbVFsfUxxYw0K PiBtbA0KPiB6PCtpMypDVzVuRnh1P2xpeyV5KUp8Q0RjNGVkTjV6Z0pidyZqPG8qeW0qKkFzPktp KVhkWjZkREMpMlQpKHsrRA0KPiBwDQo+IHohJE94Rk87SmdlbXNINj8pfCFpbHJqOVYhd300NlMo XlAlJlhQazhMUXpRbnEjc0pXOC0hUGwrSSFQekpmQyErUQ0KPiB6PVRKJjhffSlZUkEoZkhVb2Yp ZGk2VCROI3ZneWhmZlJzSmZGPDZhWW5SaGQ9SmJqbDx6eiYhWDhaYzUpRUZvQigNCj4gejNTQ0JT Q1l8JihmQEtOTUF1T0pyemNyU005dnNpdHt9S01pUUIrZHBCfl4wcEZycE05dzFhdXY3bEM8eyFS DQo+ICRjMw0KPiB6bTcod09fWThDYGtQVXdtTmYrWDhHUzRCKnt9JXBLY1Y/KDZQWHludis5QjQx QHdabTZXVCtKWiNzVA0KPiB4ITRnbitsDQo+IHpQNG1EQWU7WV5fOyV7MzRFRnUyN0lrTnIxMih8 dDFAUTNwJHcpMjt6LQ0KPiBiKGdSUjhtREhSY0xVJXYmfWx4VTJ6TkcNCj4gej9xTExrcSZMLXw3 M3BjYjMzY3VxalUpKn0rJUB0WDt4NW0+e3VUV1JmWHEtDQo+IHFrTykzJkFVT1AkRk85dj4zT0Rp ZQ0KPiB6KkNse0hXZE0ybnttPlJ1IWU2T31OY2lnfVU1TE5aVE12UTxxSytyYSkjZUkpbUdUdWRJ cn1hSntXUlRRcA0KPiBKVkJqDQo+IHpHJjhpND9geGtOUldla1dARV4yWDYyKTQ9VG19NT5UU15W bmBqK3hlQ3t2YkBLfGlQe1dgI1QoNnNxaXh7DQo+IE0yWGgNCj4gekNWP0NNOVc7TzhVJTQ8SVQh QTlQTD1XJU8mQ3Z1ND53fU5kYlM0eiVPN21ncEVXOFRLJlk7NmJ2DQo+IDB9Oz1jbHtPSA0KPiB6 WTtDSHUhcF5iNnEtTShmRENFP1N2PSp8PzVXYSlYdEg5bVMpKVAjMVMyTkFvdXw/YmRrY1RhLQ0K PiBXRE11K3lHcTxfDQo+IHppcX1UKFk+RVF1QjBMSCFyYVRxRz1IXlQqPzdMUTJVKVQ7aTcmWlpU RDB+NSpuQHhoVjtZdjMxSS0NCj4gPypuTmpFMkENCj4gej11OEk/SEBwfCp1eD9JaiVESzkySW0o NE0lc35OQzB3Oz50ZiY1Sld1TnVQeXhQbWZ8XmZQYCtYRlgrfA0KPiBBUng+Pg0KPiB6NmtAakZQ TEo2YCEzelB7bUQkYWYoUFI+SFYrRzdBP3lDPDBsQi0NCj4gbThwWjt9K0p+ZFNfYDY1MElNZXxt ez0wdDFkDQo+IHprdENFRFdrcjB0N296V2s1ZDlubmdNLQ0KPiBQQCY2ZnlZYXR1OTx7T3NMS2J6 ak1tUDNFd2hkaSQyIU0qdUdJaShoXlQNCj4gem9mUm9gSTg1ak9vY3A7RXV+Q2x1cVA+ZWRTKllv SmhgSUV9I15jNUM2IS1WPF9zKWA8bTRkfl8zMjQze2Jga0Q+DQo+IHotUHUycDhYZSlEYlglamth PGpmVXtfJHI3WE9gPVE2Q2cpNzxIdXYkc2lzP013a0A+R3YoKS0NCj4gN1N1ajQrclUjQlkNCj4g enBSQU96VUZIQURVZHRuUnNNR0A8Umw3IyhWVzhkSmw1NUh8eW9eQmowPHMybnBYRTFgdiVXM1g5 MXAocg0KPiBELWx5dw0KPiB6b0EldjVtcGdhUEM+QCQ1ITZnYFlobHdNTWhzZ2xAMDtzRVM4XyZr N1Q9V2NUYDl6LQ0KPiBHNHl8OzxiNzVzUHZhJXpCDQo+IHpyO0I2MyFSPklvT0lpd01qN3t4WUBk fC0NCj4gKG9oVUt0R2p5SjQ4ek5uIzQqNmJgclpyUUdQKkJjdXs+fnNhMW5LX04NCj4gekgqYyUl Xkp5bVUhflFkZS0oJnNmV1BWVE02THo3fD5tPkJzeUVheChecjNyaGBgZG8tDQo+IDd4V3graHhK X1F0QDd8eg0KPiB6b0pSQHI3NzEyYWRzMSU/PGJYNTZBUms/MTB5fXUySzZ0dnA1ODNCWmk9TEQ4 SSFyUiN0KG4rIUAhKWNzWWZGPXANCj4gemgwNDA7NjJUOFFfezYoWGkrMEs5d2Mpdz87OT19VnV0 YGFHKWtSI0FnXl45Y159cF5MWT1PVzBvX2Vre0gtDQo+IGdAQA0KPiB6I1ZIIz8mVE97Y0xAZXdt bVFCSFJQNGk7OT04MDU2KkJsRUthdDs7IXZWZFVVRlBlezlOZ0RSY2VMVU4pDQo+IEVSUnZjDQo+ IHo9UngrKC0NCj4galJeXjgjRHN9X0NVJURrK3dheU8+Wil+Wm5HOG9IWE9vPVpAZ1RXQGRmOStX ejdwbVBneGVAbykpDQo+IHUwDQo+IHpHdnBaU0UmLTJPbVZrWkhlZCFGdEFYZGNtdzY+akBoSGFe WiVYaXYtDQo+ID9ydVo7NFlfO2VUXjJNeD04TkJDU0p9O1MNCj4genVXV0lTMlUlMkpIWjhUdzFx amRDJWN2P2psfEQqZCUyI2xXdHZtNj0tDQo+IG89bj1QWHlRZSM4cnYmbnw3eExYKTgtRQ0KPiB6 emEyI2JRO1QqK2JvOSo1YHJ3cEB0ejdGXyVOLQ0KPiBtT2hUeXUhK0pVbCR4eyFQP2paNHU+cVp5 OFFrP1lwWURyRmtJDQo+IHpednEoe09TPFljR0xlS35BQU80Rm9zNkF3IWwmX2tWZEgkZkFOcTcj STJfITNiQ0E4fi1UVGttLQ0KPiB3eFN2bXNyT3cNCj4gemJzUFN9and7WXg3V052Tz5hRXZ1KUJC OCZod0k8RiVafSFWTDF9IyUwV3deSiQ/cUVKMyZYOXxTY0xOIXtgDQo+IEdoSg0KPiB6VnxjUiok Plh6ZTNIYVI2VCE3Q0JyVzJJflctLQ0KPiBCe2RjKV5KNXtDSHYyRzFjckA4a0pqOyZWRnVXIT1X Wks+dERmDQo+IHpNUk9XZ3tAdnk7KjFEUFRXbXViRz5nSythI2I9M2h4R00/TSpBZklUSDtlbUQk YHx7MEtRek9KUXINCj4gI3hvNz4rckENCj4gelF9SzxyaUtQZUtaK0tkRj81ciMrb2V6TlEhNH0q KmwqSGhlNj9NUWIwPj15U1YwZ20hJU8qRkpIbzJqc3YNCj4gOFNQPQ0KPiB6VldMdmg5TkM5QVdv RVJ8SHlOfHhtSEphPW5HOHk3ZlVXem4hRWsxNStrRComeTFrfGQwekkoM3JjNkolDQo+IElgOHF4 DQo+IHo2PzwpKiVOOyFRczgjS0tFU3MzcCk+KDMkVVBTVUo8N2A0fipFOEs1JEZlVFh7ZTtwV3RW PGBASUl0bUlVRklwDQo+IEcNCj4gelpmN0Zje0dDRkkmO0A/cWNPaUwtDQo+IFgjRWx0QHpgd3o2 bWYocEZzRE5pSHhPSmZLUEA5Xk5FNDZuOU1aJlVwNUtpbw0KPiB6ajZZNzZeWXhDNlZDYFVuRmoz KjZ7ZTYxS00xPXY/YD19cV4lSj1APylrT18ycSNKZnh1Q2EmNkMyRWo+UUlIDQo+IEZVDQo+IHo7 ZDFTPVQoODxAXjFoVVlQMFEhZnQqRkxYNSU0NHBXb2t5cGtyaUpeMWpRSGxLSXQ9JlUyVnU3Wmo7 Wmh3WjQNCj4geWMNCj4geiYxYjBabjgrRi1fZChic1EoSWVBYi0NCj4gSDBrcmZGQTYoQHZaRVI9 S29PeF5BcXt2M21zV240UHZBajQofHJ0PUs2Sw0KPiB6XkJweSptNXYmXiRVNGVmRHNDX1o7YmVP MTdZa2lhKjs7cnFEWl9yNiNgOGgqKXE5TGpMKHo4SSsxP2pMYnE5Q0gNCj4gek0+UURMOXIoSFE5 Z09RaHAzUTZQWStoVEpUQ31lQyM7YV9nVSkjNnJ2Z3xKbl94PEtJOHJGQVNUVCpBKCYoDQo+IHk3 Ug0KPiB6Z0s9SEkhS20pYS1PVnMhJXJNfjZ1bVBOX1p+Qi0NCj4gdiMlRENFVTEkaEwlb2teez9L RGdgTT9ZZGNtVEIwO2lHVzBMDQo+IHowRUM9JD48KSUpeHk/JGMoPnlqIVFkYl9FRktie30pYHJ4 ZzRVdEIpTEVII3hheC1pP29ib2pNJmk7MSk7V3lFUg0KPiB6PGFAUHJEWlA1ZXRwJnNIPipnaCk7 biNKRz5yfkJlNntITE1iT08pZSpjLQ0KPiA/NXlOeHxmYXlJX3tSZSUzaW0hVG4/DQo+IHp2VFhR JF91JjR2NEc4TSpfV3UxSEdHQ0FAT01fIyt1REBeWFRYdEZZTEBUJm9lfiVDOzZeZjFiDQo+IHY5 RmJ0OSZHaXsNCj4geiU9Y3lBLQ0KPiBARD8kQzNaKGg+NngraWBGWGkkRTcyVGszcXg7ckplOWoj R2olKURiPSZBRUpEQFZVZ2F3bFp7ZHlGYA0KPiB6eDYjTUVMQ3U/eCNyKkJxN3JMYjQ+PHRQI1pf MVgxKzt5KChWYzdLWmlsPVAzOVQkbSkzUzFARj82U1RuSHpwUw0KPiBpDQo+IHpYOVg3a01LTEV+ TiFnVHBmUnIzdytsMGlvIUZJJU0kaipoSyFAb088NUtUOFlycH5MQWJQSn5Ue1NPcFVrfQ0KPiBr TT8NCj4geiNmOVc0RFNqN31ecH4zcENASWJgT2w9Yi0NCj4gSncmaD1kQiU9aXh0TnE4RWlLP1Zx QHtVMF9vcFNKQUpCUzhiNmRBPw0KPiB6bU4jM1h2Y1M3fGVgP1lHMFNvM356K2ZwaXdULQ0KPiA8 UHZIP3NqVnllPkMmRF9QZEB+cUNrKkJYOzhsMHNFYEgqPUc8DQo+IHpOUFZtKEEzeHM2cVI2Pnhv JVhDWTw1SjI5N24qLQ0KPiBCKXxfWmM+c3N2R0o/Vkl2cFNRTnNyZjIhUSFlPjB0eXZ9YmkNCj4g enpvWXImJEh5VzRlK19RN1BNMHNqQHRJU0hTdlBDdCEoZVJBby0NCj4gMTtkamY0SG8rI1phME0l eXtOSW9oKDxzRThPbA0KPiB6dyk4UU1Fb0RObkpmNmYrbG9ZWGB2QCtNJTZybHN+QHZrZVZSXl4o OyhORU1DYWdlOT5PI0klOHRrZ3s4DQo+IDxMaVNhDQo+IHomSF4rPWg8UzJfTUxlUkU5UDdzN09D VkRgYEBfU08/NXBnSUcjekdsJHZ0RXVlNW5ESlRqKHJ1VHg0K2pfaw0KPiA1YCsNCj4genFffWFl KmAtbysoQ0Q5MGZ8JkcqLQ0KPiBhY001MFpeeHc5YVVZMT1RWjdUXllHajhwV0drMDM2fExkaDli RzY8LTJ8Ug0KPiB6YUdqUjZLWFJqak9AODVVdU82YS02Pz4xSW08UWElMy1vRkhpcVhUcWB3QC0N Cj4gWTErMTs+aGModFJZU19BNyklYkIyDQo+IHpITUxRJCM2KHAkZSF4V344cHBZKWlAQzFlcU9O RWg7aTR3Nnghd3cjKnJiaUlyTWNwQE1GbU8/cXdsZA0KPiBNcm9Pd2ENCj4geilkUn54eHBQVT5o Ti1VMmJgIUQ4byMhI18/bi1DMW5jPUwmZzUkTiMqdWluRT5KOG5idGNeVC0NCj4gQHVJSH16V29K Xw0KPiB6Jkkpa2c3Tm4paTd7NEVBKClleygtDQo+IH5PJTlBO3NrSjNTdHA9JSpXdF5PNml9K0By PlY3VU9td05OQDNjIXhLcmE0DQo+IHplTjghZUhsRUclS35pfjhtY3g7eFdkO2UlNXFESmIqYTU4 aG1UQXFtTXIqeiVZK0dpP3Q/YTAtDQo+ICM0ZzBXQDhqISgNCj4gejJSaFZOPE9DZjA8aWJ7JitB PTs3ZTM4NDRPQFYxQW8qei0NCj4gQWUlXjBkdz1QKlohXzQ8dVcrdnFReDs+dEF4YlYtUQ0KPiB6 XzAoZVQrVnR7MyFGeGslZVE+dlhaO1EzMlROVk9xcmNLYCtNV3RRfmZrUF87ND51JmE7aEpHR1Nt UlUtDQo+IF97NEoxDQo+IHpMPDR+fVhwPCZjVVZXI3NCaHFkNXV2eT5KcWolUEBZe0BMdzNud1R4 S0JPSVJFIzJSTmpaeHpJIWkoa1cNCj4gTDc3PiMNCj4geitgITUmM3o5MHBZfjFEWDs2SlQ7Nz9X KEVUJjFwYUozMWt3YyN2fHNYTHF2STs+fVZeaUIwSVJ4bytiWlY9MEd5DQo+IHpeY0U5fC1uUypR VCNhbyN1UEZQIzIlIXtrWVI4TkVEM1kzZntfM0hAYE1uWXc+P2V+QDVAdlpLXy0NCj4gZEZxRnlu cTYNCj4gel9CQmN6IXV+UlkpdXYkNFk8WWR+akRNSHNTelZDWUdNOFd1U0QjeFN0VCVsVGgqY3tO KXNgOFFpPXJ9WU9TDQo+IHxoaA0KPiB6N08mYWczfEViYHJEaTsoZFZ9R2NjN3o4dWducDxVWTdP c25aSygwITcrUTEtDQo+IHl4b2VrRlVKUD94X3pAKjFrVURtDQo+IHo4Rld4TWckcT5eciMhUVdi QW1kbD17ZntAOTFnbE5eXkBHUi0NCj4gYztkYE9EUlEmZktPeVVDYTg/V0BRLXo7SGlXYGENCj4g elNAdXB2OHMqYHlteWdVMkkjZiRPQEdkUG1NflVzb2R3U3okQkx6bTR1JGl7QFdQZShULQ0KPiBg Wm4qSVdSZ1JnRkxaVQ0KPiB6PE0jejYtDQo+IEJPRGEkMkFhJnl3WW9IbSlAaD4jIyl6OHF5dzVh PiRAbnI8VG5nO19jRT89bjBxKihAIWFmKiVIX3NTDQo+IHpVRHdqWWA4eGlYZmwrJmJOSGtNWj4h QFhWJCtCOUMjS1RRd2hnY1U2eTVgI08lKVZ+M0FHZmY+bkQ0TQ0KPiBfJkR0QiENCj4gemNIbUxN KHdnJmlyaTtlazF5RyF6Qk5WaHhGSWxWLQ0KPiBhYSooIXhsdW0mcllrVz0kN3BDP0srbWUhJXBM c2BIdTxVLQ0KPiB6c0FAfWxLOHlHMDUqO25yWDZqJUVlQjc1JUFOPjMhS09TdCtBSEN+Q3EpY3N8 TV9aKVFgak9iJVVhX3x4dg0KPiBBNTl2DQo+IHo+YEcjUGpxPjZuNyQ+PDBFel9uSyRtKkh3bHI3 T2FfSlVoU0cmRkgoP2ZJPlAtDQo+IEozUUBFa0IpPGF8WGxJVEJoPDgNCj4gejVCX1ZPQT9+eSVN VW89VzFfKlIzMWdlfGNWKjkzOEo8LQ0KPiAlJWx4ZGBDWEZOYExDU3oqdipfcjlfZjZqTDJ5dGRp Vg0KPiB6dUdxX2VZNT15ak9yZC0NCj4gZyFHVDBnTjl5NWc2U2g5bm9vTiNVT1A0RlF3Vz10ME83 eVdkSiNUcnJ2XlJ9RyRxaXd9DQo+IHpDSTY0TWNZJStweTd1QGRGQmw7KEw0IW1eaUhlbVBSMX5a clU/Qy1ubWVobS0NCj4gSzhqVlppZXFaNiNSKXp4Q14kcUQNCj4geiM8YUFSKjR0WEUpIXU1S3dw emhmRWtPIUZYJCM3MihWfnNXKWlYfE4pMCNAOERnM3tgd2E9TTNsTFh0fHxOag0KPiByNA0KPiB6 JSR6eFU/YnE2Q3VlSjh0WXA+bmo9VmZ6Z1ZmckcjR3ZXKWo3YH0oNGR3THVucUxqNj5DcEIkfUhR a3JSMFBXDQo+IGYxDQo+IHo1YXlmdU9WVT5nKStpPz8jaTsxXjZDSFk1KXtMWHpSRmdpRkg8dl9p aWx0aWh5eTZ6QEEoNjxFRUdJZm4xPXYpOA0KPiB6YXRkOytWYn1rdnJ2OXdxdWZ4PGh1fnNKPEdL V2N1MWstDQo+IGZFPU4jbztFaHI8T209KTx3eDBAbW1MZHo5Sil0RTA4DQo+IHpGSGIqWWZRa3ZW SlhpTilKKnBlYD83KXQrJXFrX1dEKm0zTD4yISUrXyhFeExtT0tgdld7KzZaMF5AJE8NCj4gKVQm MWUNCj4gel9fTz9mXnVuXiVkMmA/QmdUcGJ8IWhBaDVEO2xnQ3defEN9JGgofkZGKTQraS0NCj4g NGZSJmxQQjkkbSoyTGMpRWRuTQ0KPiB6OzxZP3JtOWxefVQoP3ZndzQ3aCE9JnNJTnt1Tj1aSURL azFYVEE0Pnp8U1ZZITdXTzMxMEB4PypiSGhgO2JxDQo+IHh1DQo+IHp1en5faztNfXZgKWkxdlBo b00yWHgheSY2JVJFNmoyYyh7e3ZediRLJnd6VUwrPmQocFdKfU1kcDhFflF7aSl7DQo+ICgNCj4g eiFIMXxQSnh3b3M5ey1mTmAoJipsQ0Z3aEpyS2AmI1pVYiM7dHlKXlk9cmVoJTVxRmNHU0tRbyh4 TkVZZG8zWTE/DQo+IHpPcyl1Tnw4dT5zTyZlZSEzb30mP0N5PGxMSGl2YVdPem0wM3hWY1RTZGhk bFZ4azA7aU5EamUhSjhZRDVndTcNCj4gOVINCj4geklScD43ejFBUTlIS1d5b0NpYHIpJiRAITRe KEJjekhaPmhaTjxqdjlQZClnI1NHRFIjR2l4clJmSzckUD5Gcg0KPiBfKg0KPiB6eHVSSlR2OH0/ Uz4ofE1qIWpUUzZ0O2JtbE1XbDchV0gmUzc8TCttaCRZOz96ekc9QnhLODBvWE44XihPVi0NCj4g dFk7DQo+IHorZTB2cEBEWk13cWtJSmBtO3pzND9HWDBaQSFAaipAbE47N2pTMmM/ZE9WNWc2OXIp JWJ0PjBtI2BVeXdvDQo+IEd3KzgNCj4gelBjSlFoPzFTd0UqP2hLJjRCNEVnRGFGfkdlVm5vRXRN fFRrKTxJQlh5bEpvJT1qUUxMcms1OXw/YEUmVmx+Qw0KPiBzJA0KPiB6KHpwS0tEYlg1ZGpBWVBs U3dgfTdIazw2ITI5bH5UKiF5Qj9YMzVAZD9sKUZ0T3Y+cGhMQXQoc2tHJDVXZ04tDQo+IENeDQo+ IHpzJWh1Z18hZGNzPGpxbn13Q0hmK2UzZjBvK1Qydm1YZkEoN3BDfjhtTnA/Uj5Jbm1uPkM4bmkr PXlFeWIhDQo+IE5eRmUNCj4gemhwIWZ4QFI/SnpPND5vYWNnMG80KVR5KX1lVFRBe19Dbn1AYVVg P0VwNSNtSmtpeXxXcUAxais0LQ0KPiBfMmxoK0h7TA0KPiB6dXxPNUZ6R3xWeTg+dWl+UWw7RzJh Yj5wQk9qJX1sUERGbHdGcSNNdm0jeGp8VWk2RHJFbiR8dis2UHpYMG0NCj4gc1ZwDQo+IHprPnRN Nkk4MVZ4PiU3eyY7NzF5R1o5RGhnPCVYPzxtJSlzflkkV0JhdzU3RVM2c0ZlYkd4XyF6RSQtDQo+ IG5Oe1g4VWcNCj4geipKU0JVUDVReGRXK1NWYlJQQzBjK0RCOUtlfF5+ZUEzRE5tbk8lVXtCdDJZ XndPZ3R6QHUpdERmM2UNCj4gWWQ2a1k0cg0KPiB6O0FLbWxfYjEhP0VBPmdtd3JBNUBaN2QhSTtN V1k/bVVfPHswTy0yX3dPUy0NCj4gfDsyczY7KkElKkN1RDhAUzQrIylADQo+IHo2LX5fLQ0KPiBP UE04OWQzPz5JeiNkPXdMKVUqTnVyZG90OEVQcCpgPW5Jb200MUshbVNpZVpeRndXWXg8NXF2KURx Z04NCj4genhDQjRgTCFaSDFOKCRENk5BbCN9SDNIWEpzXnh2YllZbSlCLXU4dlc8WVpwQFcwLQ0K PiB0QFdGeHhUezRGPnZrRCVOfg0KPiB6UzwxcUJXMXp3fnVPOXJGeWxSYnBHfWprb1A2Y29hZTJA JmFrN0NPdCEqSWNnUnFNZyQmOHpIM2I5RiliDQo+IEA/eEpoDQo+IHpKSW9VJEItDQo+IG5tUGls ZmNxK2VXJjZJYzg8QHtFTD40ZW0mQVJVbjQxNkJETkNPIUZ2QVJva0crSEVDQGVsSWkmTGcNCj4g ejZzNDdeUigmU1pyPyQ4VUdnZyR1P3BoO2FUQjlffmlKY0pjZlhtM3Q9Tz99eHRTO0FWYVAtVkFD eihyZjMrUWo9DQo+IHo3U05mRzxxRy0NCj4gTWRQbHFIQiRASEtMaGNWMEdCUWBsZVlyeD9OMXok fEVaNWY1S1ElU01xYGBqaDYmNGh+fEQoYGgNCj4gek5wRnpVc3UxIzUyRl5pJkF+a3tYakxPZElu e3YyUFdGSS0NCj4gVFolUXd2RzM7PU01SkEwVkZPNyhYVz0kb1RMdHNaTw0KPiB6I15LWUtnX3xl bEZec3YjMClLfC0NCj4gVlE1RF4+MWhIblI+c3RmNjVrXnk+VyZUUCNfO2V4KTV4dUpnT3VjP3B5 UiM2DQo+IHpVR0FHfm0yM3NTcCNfX2NBNn5oJCZzPl9JJW59fitMUTNtVmRSZzAqWUAxaV9vJVYj d1ZiUzRUZTANCj4gTVNEPG9iRGENCj4gelVXclh4JSZ4ZTMkQ15HTjklY2RIPD9YI2pZWi0NCj4g R2tjRVIkcUNYKWBNKHZVdj9MKnNwellBbFBhSEhQK2BaVnw3dQ0KPiB6TV8mKip4PiloX0Z1N3Nn VDw+eyp1aHVvb0tJeWU8XjdZbmFueCRJfHZyXlpyI3w5ez9uN2N6akYoajszeTV0KmENCj4gelg3 KzhLdkY0eUBaVXZFOWwqK0doVDMlfW0yVSNSX3hISzFYR34xZVdIcDNRenFiJVRGK3BLMEdwfA0K PiB8TlQ7VUwkaQ0KPiB6JnREQm4haU96IW0+Y3A8MSY4PUQzMHNXcHpSTDxUbS0jZzApJS0NCj4g NFJ2PG92ZT1gR21MNnl4NyU5bG1OJitaWFFXDQo+IHpwb0VEb1dxSiY/QSVPd2VqQVdfU2Q5PCtK eVZFN0EpfTxBQWZDb3hpOEF+KHQkQXU9ZHZwWGVBRzNSOw0KPiBEVF44Q1kNCj4gemBPcjd5bF9p WUBXQXJWZyRRWnBFODZIXilZJiYoeDd5MihlS2pKQFVjeTlLZXxDaT8qYyFzQSVVZ0tHIU9WDQo+ IDJ4YQ0KPiB6cDIwSiFZLQ0KPiBCNlheUkU4djRlWVBqeDcoQkRSfjt8cGE2OGRIUHEpdzBCQ0Fg eiMyJj8kSXJxdzZeU0FpQmNWXmBLDQo+IHotDQo+IDxUUU1AJEgkQj9PITkjQGBFIVkxQHtuWj0w NDZ3SnVveCFpKkxAMVJQajhRdj4keml7VDwqfTEzJiVpR2I4DQo+IF49DQo+IHpve1JZVkR0fHZF e1hoU1VhPilQMXVkKit+P159V1kzMjlJOVp0Y1N9aTdgYEhSOClNN3xGNUtFa1ViNFBDVkkkDQo+ IF8NCj4gelZ+IWJXfDRLYFRgU0YjOSRJMXJWelkpaEFkUlkwJCEkKHlkcGBTK3s2JnROPU44X3RE alB7PyVVeXtGPns5VmM0DQo+IHpNZmNCKUgxaFhsez9fdWhpQHk9bkthUmZ6e0MkK2FtSGQ1e3pw UyVQdSVGckFwQkNwI2BHP3NwUTVNWE0NCj4gIXooQDkNCj4gem59VChIbFFAVlVWTDA9TytoeGQ9 X3lQTXtte21pP21icUp9eE1QS1RNNntqMzJ+TEk1PkZFPX5tYG0wDQo+IE9NQU1WYA0KPiB6YiNe fV5KRTI3amh5aDZLQEpqPEhXJE1wNkR7LQ0KPiBCeyRSK3UmUF8ydW5kNjQpemBSKEtJU3g7KDZt M0g5UjBNbjIyDQo+IHppPnFjQTUzVEpFeUBeKU1qXkA4OXQoc2x4enJsKWNUUUU3fjkwY0RNYjN5 UyY+JTM8XlZ+WiFhMDkhbCtpMWhjZQ0KPiB6K0YrI2Q4Q3JALWNzem9KZ0JfdkhgeGZsZTxZMkVJ RW4tDQo+IDdHSXlYS0dGa1NvRjViO2hPdDhfb00pSDJHajZhRzRwDQo+IHpSSSpBYmNxdTFOUip+ X21sIT0mQldaSE1VV3Mpem5fcyQpOWMxTlBwKTVPaHt4JjNLLQ0KPiA+ejJPPDhlSXUxUmYzQmQN Cj4gendKdWJgNTVndHZXOCM5eklgNFBhVEx+Z0RiYGVVR1hHSWltbTc8c1Y7NEkwT3IoWGN2aj8/ TmF8MGkzTk1KPTkNCj4gYg0KPiB6LUYhSUw7QE4oRURxeHhgZlJjMyVYMU08PWg7WlB9Yn1lemZ6 ZGQjKGZ9JH5hY2lLaD5QQ3NROWEjWTcqZGk7N2UNCj4gej1JWkc8UEU5RGNoVkVEcV5nIzlleEJu fUA5d0tWZkBiOV5fel8waS1tcEU/ZFEtDQo+ICNmIUtKemFgND9uIXRzXzlEKQ0KPiB6QH4/XlNw PUN4N19vQn1qSiQmKFFKIXFDMEo/UGZMeHA3WSZhUCU8N2ItLWNhViljVlBDY0V+Y2JncC0NCj4g M1FrZjthDQo+IHo4NnR1ckNRZFRTaDw9T2cxY3JiekkqdF90aGN1eSM5bX1td1J9P2BES3oqQmc2 P0Y4RGl9Tn5+PnUrfWNSPy0NCj4gV2ENCj4gemkhQCZzRGQwTSQ0YjBMeDxPKiNrNChQd2BCMSFk PCtrOWVyJXxgLSRNVTNqdzhgLWclfDk5cFJYVEQtDQo+IGpNdkp5TA0KPiB6JjtOVm81MzdpVTxt UklCMlZXcnc+UihJIUd7RVpMZGVKfHgtDQo+ICE/e2l7NUBDUW8jSnl0NVRrMVg1NkFyNSElTUtR DQo+IHo/VTE1MmclezRlakE1eSNLU1IqPz5qMj8jQG9ed0pldnYrT1BtVXF7YkZAKE53fipQOHh0 ZE8pVGdJZVkNCj4gcVVXMGANCj4geiRnK01JVDg3QCtSdUF1b049NC1UNWRaeGxLRDspV3Y+ODZn LQ0KPiBta1RyaGpnU1plalFiTWphUjlyMzNqayslWWA4bg0KPiB6MW5vTl57KHY8dHVZSkVBbFdT akVjWjBDbWRCVGsrI1A8bFE7KD41aTlgLQ0KPiA/RFVDWXoyRm1mITEkfDM3KFUyQW9ODQo+IHps WHteV29ZWHRyO0d8eXNwTn5TMHIqPGkoLQ0KPiBycENnamd2Q2h7UXJjJCVUKkJAWlFocSVNVFd2 VjdYJkRAYDh7QyMNCj4gemEkfSFTM19CKz15cWlpWTJ8N1N6U3NfaTJVZWZyVD9SMHdJeTteLUoj eFppcW5ablByU1Y8USlqdShvIWVrSGtZDQo+IHpWUGo/ZHpISDkoe0cyKjtmTitpYWFjRSQzbWom ZSVFZ295LVIyTCtCJlQ2YzExcjxfSUxKe2A0Z1ErbjJ7OzcjZQ0KPiB6b0lHJkZgQWo4SXF2YExP Knd3Nk47b1U/SUhZRkEmeEl4fUU/b2BlUEtiJm4peUFMT0J4T0F5PzF3Zy0NCj4gJEA0R300DQo+ IHpQPDVMKlZyOEEkSTAjaT5RejM+M3oyTW9ZMGhwb2lkZ3l9R1NkYTYtDQo+IEgkPk1KWTF8WmxC d09GakNaRHV8R05weXYNCj4gei1GcjY4Q31mbmxZckxyNXdTQUpTSHZXVGJ1SWxfO3FwZn41Mio7 djJtKzhQPSo1UztTXyshfkBMLVZzOz59b0xgDQo+IHpwfnAwKm8peWNpWWZGJUR1NSlMfVRaS20o I2hwNXdAK15LWTNtY0Q2THQmYjE+YnZeQj0rfiE8bDx2LQ0KPiA5MnJkbiQNCj4gekpafDFXXy0N Cj4gbkZySz53Um9iMUNxNWd1Z1JmSnopaURsRU5KIW9vd2YpcigjUW8pK354MSZiI0I/UmdRYUtJ cUY0cw0KPiB6TTs4LVM4XilaamUqTlFDTXNQTUdAZUBgNyZ3U0dQVGdWQXoxPHp1NXQySjZuTiR2 TGFfLQ0KPiAzOUp4bmJWdD02KkkkDQo+IHo4NGRLS053fkxlZVR3YXh6X1dzI3IoaE1BO2RROXhQ K3hFUVNaWmorODVjXmReUyV5PyRxN0xubGolKU0NCj4geWxrJVYNCj4gekxAbGw2R1EjVG8lU15r emE2MTl1PGE/Y2AyKXU+YGhhVzVDN2JOPEQjaHl9XlNRKVF1UWkrQGBtenlXRXMNCj4gTlREZQ0K PiB6I2ZmWClpZTxlWmQzakBUPUV9P3skPlVgczZmQFVyVjRoUG4mQnxRbysmb3wmfDckUGRjdnsj TlhURnM9JHQNCj4gOEw5DQo+IHotWDswe2FmT19hRTlBdVZfMkFXPTlgSFIyUFA5fjlWZCUtDQo+ IDwmJEhAK1E1eVg/cWNtISt0PF8rUTRBVSQxWmtTdzUNCj4geiZhdEVpPDgrOzF7Vn1fbT1VeDh1 cjk1eCpwWGMjPiZKc1RzcnZfQzQkaDBzIVhOa29qKTJyfHA4JFY+TkpiP2NqDQo+IHpxaTU+X3hX dG9EQU58dDNIJnZIMEQ3fjl6ajlfWj91QnNufU5WbmdrXnQ7fk07KCQ0I2piMVlQYU9IJDtfQg0K PiBQSyUNCj4genBGOzx6Sn1sV1dMLUJDfHoyQVoyT2pqanBMMX5lcHBWMl5Ec1BqNVQ9Skpsbjs1 QUl1QmZiYU5zQGxJZCZtSllrDQo+IHpNaGw1WT5wfk5je3NpIz1UPklzXytSTl9iPkV3JE0xIXtY NWt3KE1iI2MjKG9ZKkVZMSheWGI2V25DSUJPDQo+IERmVnENCj4gejxiXkU7MjBLT0kweW1RKHdq Ynd7dT16JXY9SWhmZSlkLSZQPmJjZkVVKHQ1QWxLSHhFO2NPKzkyODEhYFhBSmlLDQo+IHozKjdW LWY3IXNacm1zOEdJKnNJakVAdHo1cWU4Myg/ZnN8Y3o1TnpUUnNLNnVyfC0wVCVjaCtMUXwmTiF1 RXtPKQ0KPiB6Y2NwNH01IzVeSnc5WG9XTjlRaUNqcnUlbiRzLQ0KPiB+TGdkT3tGSEdfdGlUJkcy e199ZSt3UGw5cU44WnloS0whQFcwDQo+IHpuUyZCd3krK0dkeWspUHs1Vz5gO3d0RFkxbXlIdylk Q3tyQz51OU8yWSZvQSR3O2pwI2xVcnk2O3ImSndEDQo+IGNiZmYNCj4gei1MRm1QPWN0YDxxLWg8 Zz5oWDM8LQ0KPiByaylAdHZ9JWF3WlF+QnQ2K3xsU2ZyMj4mc1lVazlwUlh4MGtSKT41QGRocg0K PiB6NkFzeTlMSDJ4fXYlSztWUVVoRSshU2U7ejxzeHF4ZUdKSW85cl5oKHVAISRxJHlrcFNma1VA JTdEZEVscmErDQo+IHBoDQo+IHorMmRFKDwrKiFiSzU3ZmpwbiNEOWltamYydjh9Mi1fK2ItY1ol clBsVCl2anB6Zl95IV5rM3N5dDthU1kjdXo4UA0KPiB6JWpYWFhvJiNGUihzIVRyUElscmErYV4x YyEpNkdaQjlYbH03ZV5ZSSV7fEV9NXVMWngrSnVGOD84bTRDcjl+WDkNCj4geilITWpUcjdOWllL NGJDVmJ3aXtuT0xXX0h4am5pcSpiaC0+RGE0OVZKSmteWHBXKENMYE1tJl92UzEtDQo+IEdifjtA OA0KPiB6XzZBJVFsZ20wSGt9TXRSMSQ1WTwoP21XQj1SVVVANlF3IzE7R15+RGFHRlRmdyZkPT9N YkVkP2MNCj4gNGJEYXZsa2QjDQo+IHpJfGZAJjx0YDlrUk8/TngtDQo+IDVJOzxfclF7YFhnO15e KEMyUVdHVG9EKmdSRzxXelF8PzF1I2tPKV95NzxwUEdLQEYNCj4gekFeJGEmPn1ARGFjbU5ZREBY RFpCPF56VFhRcXhzYig+YitmPWFNMFl3WGBWM1RGXj1CKHc4eFEqPzkNCj4gQU5ycTFfbg0KPiB6 SlFkVXopJEVCcTNGPj9NNWs4V09xc28tDQo+ICgkSHZLUVZYOTI2XiVmVHIob1U5TGo1dUJDTG56 Zk1fRWZQU2RFOz1yDQo+IHotDQo+ICQxWmJlTXwkTmBCKXlVWkc4JF95OVEwO3FEd0F3aFkzJk9N fipNO0FSV3VNKiN8cCNVYkd9WE5TDQo+ICUjdUtZRWt0DQo+IHo5RiVFVDcwej8tS2deSlheZyhF Z2IyTlRiQi1kN3NKVTEzd2pCc0h4I3JfX15uTElhc1RjSzdYYG8tSVJvR3BpOw0KPiB6aHNpT3Ft bS0NCj4gUzhCeG1pSmZxdHw4c1dLNG1keVgydF58KE4pKWJzbl55bjBPZzc7SjxfSUYpfCR3ej5B dCFrKUxuDQo+IHpJNGRsJkUxJEJhKU59PHQoO0tNTEtQOT1qcmhefitsRmtFLWNpQEEmKFA+YVN0 c3A2Znd5Xm5kUTBgOWFIT0Y7Mg0KPiB6Qjh8a24pJWtlPkJLOXlKSTNaRmM7PkZffWlBQE5ob20x dl8tDQo+IHtfQW94MWY1ZTFGaylfcnQ4TWhEMzZkaVRqd2tSDQo+IHp8SUIlOHtRMj5JQjw3WnYq PH18T2JPa3hsbjdoRU9iWEl0MnttZVlkKnoqZjBxWmFNUEN9UmU9RjVgIUE0Vw0KPiAmbXENCj4g ek55U1VVPTtFbFNiTldnLQ0KPiAmbH47c1dqc3E9QG84cXg2Km5nT3N3PE1tNDkrU30yOCFkZnow RnVlKiRKYWpaRTV0Mg0KPiB6WCFING57ckhMMl45bG9lSmd9XjM0QDxzWWtSWjFfSHE1UXc0em9r JUZsT2xoN2JBJFhXciNrNHtFJHtRfEsNCj4gTjNfDQo+IHokJmV7b1NIVntuK1ZsbTNuby0NCj4g IStRS29lcXUwZF9QcWVVQytjfF81TTVVZzA5KE8qQ1BuaiNvJlJ1fmt7ZFchYkANCj4gemhEWXNO d0ljSjN7QVpZM0R2LXVQI1EhP2V3eFEmQlkkKy0NCj4gaDI4SWJAJH4ye3kjZTw2PXsqKkRnWCEz UGJzKEAofA0KPiB6Si14UW52QlZMdU1EaTRvTXxhT3lAUntgJFEoLW05YiZ3dSEjUioza0JaTlZH LQ0KPiBBUHx2JSVQfld4fStBeTJzSilnDQo+IHpKITxjXldKZSp9aSM7JkxIYlFPYlh0TzJjenM1 d2czcTU8cmZRKz9Mako0N2o+Jl81azRabnU1P3U0PHIkVCUjDQo+IHINCj4geilvP0Q5aHBmYHdB UHtQR3Qwdm1UbEpDamNxeE5vM3o4KzthXm5MRCMqYFZYP1RyWH0zYExDR31KNnNUaGZqWSliDQo+ IHpOQ2NSK2opfigzOVNnc3ZWX0hDOXFRdENPZ3p1KlV8RD9ZUiN4a0VDdShPYVVvOUVXcXQpYjNf VSg/eUdiDQo+IFhHcTENCj4gemFKM0BOVlUoSENIZFRuIXZZdGNnZU5hKEpqZG4ySXgjRis+Qn4k Zz1DPW9WUXdkbEItDQo+IEFEWEpSSG9UVylfQ3N5MQ0KPiB6S0ZvOE5oYTBfKV9Sa2FTTDh3QX54 fDElck1+e18rWGpYKG1GdkNReG1Va2B5SVpNSHFAI0ZrZT91MDwNCj4gdmMlUHJIDQo+IHo4T1Ym JHJXP1Z0JVEkJlA9VV9wKWt8aUBaXlN3fFA9Qj1qLQ0KPiBmMUtyWHAzKEgrQSllSShiUk9uTldG aEgrJmJDYWoNCj4gemV0IX0/RH5gQV43QlFQWkBkKWM1fDlieXdeNz9uRyQlKntfamJwcitGZG96 NCg1ZFo+MU5HfnRwPy0NCj4gflRxcGdFTw0KPiB6e2R4aCQ2emJPYCh1MDFAN3AmaX1JWG47NEZC YEEmQWxfY3lQI0tldipvOCtPbiVxfj1oI3R5KDklNGNqV3U3DQo+IEc0DQo+IHo0blNGWChtMExv QGVxWFBlcE53aldpNipNRyM5b0tENlQ9MTN3Xjs+PmlJWjA2RnNLaGAjaSY5T0ZOcWUNCj4gZ3c1 ZVoNCj4gejR5U0pQailEY2ozUC07djd7Zm5uR0RvZDVIcWchUFk3STRrMSFjKXQlTVR3WHFPO2lt MXA0aGZwMkk9NSF+QTs7DQo+IHpKK0FYRWFqbDtZO3VOa3l5YnZ9e3RGPD9KREpBRHxYen5aXiQq ZGU7RWtaZW14XmtTN1Z1ZkxPKXtSWV4tIWdTVw0KPiB6dlNnVXcoa3p3UGN2U2ZGcnw7eHByX0Ft eT5Pdy0NCj4gUktgWEdOVkZfUGMyQk1Rflk8KCN+NEtAdnErbSRlU2NTLTxaDQo+IHooKChjMkZF QVF5aVViS0xET0Z3Xlo1KmBIUXJte2A3aH1iczRtKnk7PjBgMHxrTzRfJTZ4RV99Yl9hRWpqO243 DQo+IGINCj4gekBSeXJeRmsqKF9xK1ElYm1TSnZvcGB4Jl56MW1Oej9jT3hBMj0xP1FBaFBPOXYj OXFAYlkoWEhBMD4NCj4gZz5NckxjPA0KPiB6SDFuYCpeVCg/XytgJjtrKkREWHxMZyhwZW5PKHRx R2FhPFUrJVk4X21mQDdTQWBHKEdQK3NTflgpeV84DQo+IFchTjxIDQo+IHpQfnlJS3g+fjtGT2Z7 Qit4JiFtVXJXdkU0WlM5K2d2Rk9JM1BWY0gyai0rZ1Ngc3RALQ0KPiBQaVopKzVTY352UDN4UjgN Cj4genQjaXMhQmEkMTYqPChPO21UZjZSd1R4QT9oQG9QOzBWfjVaI18+U0NtVjNxTVEzaSQ9VVlY PVU0O3Ymdw0KPiBSeWVrSA0KPiB6dmVAclp2MytDR3twekV4Y31gI1c9a1lVKkxUOSowNE1rRVdT ZUNRQ2UmOzxZdlVWUjJZSGcpVXVqKj1QDQo+IF5uQVh9DQo+IHpzQk5hRmslKF9tT1V6T1BJQTw9 PHFNKCFlWGllVTtGRDJ6JS1EdztJM3BoNDJHXmN8KmQ0fj5aQC0NCj4gRmp1aGAqST8NCj4gelZs dG1kWilgR2FzckAhNXdsdGFEKzBBbSYxTzdJZD1SanYxJiRJWWpGdC0NCj4gRU5aUjdQWDskd3BB ZUZ6X357Vmp9LQ0KPiB6R002NjRNPEI8fWF8KmRrN2FuQllTP3w0TUJQJXJJYFZGc19RMF9wKkRC XkhxITBZRjgwSHZkYTF0SyErDQo+IE08SEJQDQo+IHpZejd4YyhmdXFnVVBBPXRhOFhIbWZRd2w/ MmVfRWJeRlgpfGxRRGN1P2ktRSh3eX5UKyVeSW8oITdscTZlSTVmcQ0KPiB6MjJtck81fH4zQDBK R2szaGhsQkp6ZzhoaWRhQW1UNWJQfkFUVSFabEJUfSo0Q21MR1c4KHZETkMmSiNgTA0KPiBAeXdf DQo+IHpxTTk4KldfQXpgcG8lKmJ4eElgdmQyTUl3eW4rTXZnUSlPKDhec2UtDQo+IGl1Szt2R01r bGhYWTl4R0oqKSZjKCRyVkINCj4geiUreGw/VHlLPGw0eHRufDBkYVhkY3prSl5AV2A0fTtSMyRP NH5JdnNKPnNNWGM+RWdBMFVwMT9eQTJCci0NCj4gcCNYZw0KPiB6ZzdYciMxaig5czQ0P25SS0kr VVEhM0BJSWFqT3xnbkRkMGNvQ3lEZFJpJFFQQnRiKk5MWjtCcCM/NShlMXxEbw0KPiBXDQo+IHpR KStyKDFaRVRZeFFyeS0NCj4gTElyMjh4ZmlIVmpPOFA2TXJ+Xz9rc2lDQDNjZmVGJlU8SH5oRGw2 WUdwJkFGa2RZVEgNCj4gekdiZjk7JHcxbVgpblVWQDU2Nzl8MjlAQU8zUmlmKWJzP319MFhQc3B7 UXIycndPQE99YF9FZz9gc2VOV2YNCj4gNFRxcw0KPiB6ZiVgTHs9QDNJUUprLQ0KPiByfXR0MyZ0 U3BaKmRfPUNBYXUqa3NlMkZGR00obnNNYXlQdDxGcl91aTRaa3FfdHFEdHYzDQo+IHp5KDkpUzhH VGA5cjF0OTFlczF3Q3tnJTUyU3MjWXVfdzFsRiVtJi0NCj4gXjwrSDJVJHwhWGgkTnp6QTZqVWRs OV4leCQNCj4gejFETGhgcnpqNGw3NUo3Jnw3enJKdylnT3xFIyFgSl8zYGNfZD8tN0o5YjVUNVdr PD1GVG9ofSVwSiZDcUtudmlPDQo+IHptXiR4PDVrXmw9KmhROHVYJkNKLQ0KPiBvOHhFU1lHP2g9 WCgpM1V3JEFuTEk3M09XT1dlPUZAPUpLMk5pQHloK0VUM3ANCj4gemRrU0NjSnNXejdQfSNiOWhP YH00IzY7UmN7dTF3QzJtQWY9dzwjYDBiJW5qeUNZezc8ST83NSpYQW9BekJrYA0KPiA5Iw0KPiB6 VE4jaz1QY31abTRCLS0hO1IlNmgwZHk2d2dSIXw2SVBJOy0NCj4gQW9NV0w9UWR2SmZeJDNtOHQ4 K3R4PEk4OE9gSygoDQo+IHoyWll4X3xDMn5hb2FoTGZaSGBncUQ2SSYqRVReJjZwfFJ8LQ0KPiBl VVcwJFlkXjFQRHFacFFHaEd1ak98JD0pZT9maCoNCj4gelhHPEUwKTR9NFhJeXJxTVBtI24/c2JM OG9paVh8SD1oUl8oeG4hXys1aGs8RHJPRHxfNFE2QyZxK3E2dykNCj4gSzV+Kw0KPiB6UXRDJF4p SHt+UzU5enpMY0NAZHNnenFXfj00RV82bzIlYUFAUylfIShZfXwzWXdAWjVUbHt9JT88MShSbmcN Cj4gMkxnDQo+IHpkc2l1U1ItDQo+IGc4a1hXTHRiSUNoKDs1OGdtbT5RY2s1PEV1WDJ1MTQ9U0Zf eiF4VFIjIzteWiV2MkolZTMpbXMzJU0NCj4genYpQ2dJYHk9JWV7SnhecFNyNikrQFQ+MXVaWSoq TkEmVEVZK1BoOGR7bG96NmVWJXpEJTUpP1ZZSHhELQ0KPiApOHZVUA0KPiB6RjF6V0Y8bihucyMr SDxyKSVhZn5sdkNBSTJ4WmBvajhOKUZgKmg/MzMxejRIdXUyb081MXxhb185NGBNVCRaUA0KPiBu DQo+IHpzMCVtNjdHclpQbj50TEx4VW4hWnA+PSt4VFNTNFkoWGZ7YT9uVFR9Vn1+al5WU3F7PW9E QGNzS1pCQG1NDQo+IGR4XzUNCj4gemNqNSE9VX1nSyVQKkJgMktFUzQ/OUBNJFdybHV9SFVAelIq aDNPcEVlVUlNP2heVEw+aktuPV5IXiV6DQo+IHpWcyg9Xw0KPiB6OWN5fXBnd3sxWDBieEgyZ0Bl aF8rTjdXQ190fnQkMzM/QWRRPzIkblZzNlUpbCtWdV5kc1U0JGtWfStADQo+IGppMVZyDQo+IHp1 T0pJaFVVRDc3UTVXeDBANHdiY0NGPzhleSF8Ynp0dXB6SHdKJmkmcyNPcDVAdjtZWGQ1UVdvKklS YA0KPiBGMFh9UT8NCj4gejZyd2VpKXh8NTYrTiFTQmB9ZHVkd3l4Mzd4dmhvPTsmVXhob35Sdmwy QDFhe19VeTM5NUhxJT9xdkNwcVM1bA0KPiA1UQ0KPiB6Ry0NCj4gJTZXWVlWNTwpUCVZNWFqTHtH Wmc1QGBhQispfFNFe1NpT1M0OSVmdnR4OHk0RkBUeVdUdEFINmIlTF9VdVQNCj4gag0KPiB6X1Fr e3p1RyZlVmw3SHkoI3dZWDZoR2lqRTF7Oz5mITs7ZXsoYU9TUUxwR1AjZ0dmZlZuPEtvLU87MyVf UClSLQ0KPiBfDQo+IHp1QyRXTUc4Tko9PDghUEk7aVMkeCZ1XmF0NEE3ZHErQTh3OTdAdFE1Pz84 JW84a2FAUU4oQVE+a3B6KQ0KPiBWRTkmREgNCj4gekRnQlFAYForRT1lITFSbTNFb2J5eDYkT1go R2VaKXMtDQo+ICUmbCFHe35Ea0ExXzZecE9fN047JHQ2PGIzWmdPTFNzeA0KPiB6PX1VO1lqaS1n Zys9LXUrYD9xRVJWJit5LWE9UChLZlF8TUdCYXhyO3RqYzZTZHhCPz9GdzhnZDIrdHBEVClnPHwN Cj4gej5sNT4/e3B7NnxJb0RvKV8zOEUqayR6JC0NCj4gfEpWb0IwKlNGQkRMPiM9Zmp6dj1vMFUh OUg9JSN9TCptJm9Id19hSA0KPiB6JipnVU84U0xNUWc7dldjR3B2P20mKl9VTiQ4UGB5QHJVX3ZL Qj8jc3pjciZsZEJiVG9oTjJwOGpANA0KPiBWYnNwTUxJDQo+IHpNS1VMNmJlVmRjNXQ4QFZsYDFX b3NmZSNyUUohQkVvfFNqSGc2UGVoeXcrTks5dXplTlpGSyNBTlN3PnMNCj4gRk1ieEoNCj4gemkz TnJEVUJJdTA8QGp9Qj1JQjx+ajVjO0dgWXJ3dnFTQjJSQWJOVDVHMWA3PWo8RmQoRGBrTS0NCj4g WFdkTWNyOz5wNg0KPiB6PDdZQmVLfDtRZFBDJkFlfDVBeGVHen5iOGhWPDgpcWdnQUdlWjB2TTlT Tj1mQTRxNWcpbjBVb0FJVy0NCj4gOGdHZmpmDQo+IHpnT29HPDJLb0VUP0xZQEt3MWEyU01fXmF8 cCNHT0g4S0QyQFVIJHJoTj8hajFlVylLayN8PT40UjxsDQo+IDsqPE1aYkgNCj4gekAqcyRacSNO MXpOZmdUWkk4d1VRQ1I0Yj07ZENeZmh9WH1NaCZGZllzJHFLS1lRYmlFTlNUaE15O1hhN1ANCj4g PSFlYw0KPiB6dXRINWMpNHJOTEchVTV+TXtrRmw8KVBmcXw4YHp9RkU0LUUmKEEzUTxtQil+JUVg TmYtQilXcUU5REstDQo+IDsrMCVZDQo+IHo5R31kR2NpVV9tYlR9dmJgSGtmYik4bG5ZaSExRnZ7 NTBHYXdkcjVwYUNaRDJDSF9FKEhHVSMtDQo+IGkqOTlpcz1WUSYNCj4gekB2VGJTcXJgRjlRa2pS VG5iRTEkI2Z1Zl9YKHkhR0ZvZW9kXiheQjUlSlBBY19FIXNOIylAd2hQMU99dyluDQo+IGdteg0K PiB6Jld5N2NKeVR+RkZHZyRES0EoQn4+aXxGb2dFfXZJcztiRyhhKztldzMjUWF8RkpVUmJ0QEd9 bFQqZDNMaVpseg0KPiBuDQo+IHprc3RPdSU5WmwwYU93e3ZfWUxEQEhNPzlqLQ0KPiBKNTFgbT1O Mm9rflMmJjJwZlltcjVuMmhrKmNDQ2I8dWRgTCV2aCMNCj4gejU1TTkhK050PEJNZlBzT2xhVVFL VFdLRk5LMVpvO0t5MURpeVpQRnlgTVA0RGBBUmpxeE5sVmE1bU11MA0KPiBzVnpRQA0KPiB6NThv ZH55KX5Qe3NROUJ3azFLdC0oeDNJK1NzMUB0Nz19XnQ/PHhIT3JMUi0NCj4gXntWdkBgZXBMTVhP NipvKj5CQShoDQo+IHokWXhmVDN0TUl5eyZ9PCF5S3pSbXk4eWtXd1VgLQ0KPiAlNCN0USpLPk8q WjViRDQ3eldIVGBrMCRqa2BIVmd6aVE+biYNCj4gemA4RCY/KHx6K3k9X0Bka05tVV9jQC0NCj4g PH1waWpCZXdXYz5DP2ZqcHdSTklBZiZRRlR9SGVCU2szRSR2NXReNy1rQw0KPiB6Jk43RzNGNXo8 fW5mbWNSaHRJPzs1JXcqYGs7R0tQQVV5R08pOXVDXk99dVY0PXdqQVdxZkklJj98fn5kDQo+IFVk WD1YDQo+IHojNzlNVDw4P1khWmZjVGEwJD1heFlqY3o4cio8ZXR6N3BFc2E/SGteKHAmakRVMnIm RHFhSGJzZz5IKW89MjdhDQo+ICgNCj4gekRNLXVJK0F1eDk9cFJoWmIyZCNKSFRqSjMpZFZOY15a PT5GTT5CTS0NCj4gTyk5WD84KnxNNypnd1MyKUh1UXcrMHY+fQ0KPiB6TmdxbHJzV29+dU43cWti M1llaSszS01VeXU/TlNrSUh8T0kpR2hSTD50bjJHbFlXfEZDSSk1JlgzS0oyNW8NCj4gUVh+DQo+ IHpfWmdoNDFRKilNI1BGMCtoV1FYNSFXXzRuIzMxYjxeTzgkdXMjZXJ7JDFiJCRyUzV3KkVYUHFO biR8Qw0KPiB3dHRGezwNCj4gemhXbzc+VlZ9aVpzR2B8IUI0S3BqZ2hPPDRnQG1HUCFscWRUT3o9 bG9xVz5xYHtjQUw4KSZmMW1wMHFLZzR9DQo+IEBINg0KPiB6KXdwOCYoMXBOXlhYXllZJTsoMFZ2 cHI0cmUyUTNqdDsjcEd3bWYjezd6UUVzPFFtSCpPQzlLM28qOSliDQo+IEdQdSpiDQo+IHpCeTk0 MW1BTm8oVHhjJCZQKG9JMDZoJCleVU9OI3luPVBFT0I5I0NLYjc0SHNlZG1IZEFDakdRKm4xeQ0K PiApcys9dFQNCj4gek9mZFBNY1ZjTlgxP0Vtalh4anU9YmtxKVpBJG9DbCo4UmE+QnxuQ1g2Sm83 KnlRaXBqVlM5JXEmfGBaSylkDQo+IDhzOQ0KPiB6UUN0Yl5qJmpKc3tOek1vPUJtdTRWMmtVTWpq QVJyPCYyR0FXT0NuPithYHlndU9LWjR4IyV8aFBPXg0KPiB8UW0kQ3RHDQo+IHpNP19UYUlreWle VXlMNHJtdnU/SFA3MS1ZLW15I1ooWi1wKmRNeHd4IShfIUpvMCQ7NVA5Sz5mfEE1QUMtDQo+IFRg PUgNCj4gemdgSSppZHpRU0FUWnNwKlFgXz5WWChmUG5Zd2dvS3VqQmElb19GIT1AIVZZKFVyQVhp KiZCPmZnO35nMWNaTQ0KPiBjRA0KPiB6TTlwKks+cl8rbWNmIT9PN09FfjJocDhZbmJnS3sla1pM QEZtTUVxPiFIeys+WU47UFk+WjtsJm5yQUN7DQo+IFJuNUJRDQo+IHpZRHRfYF5QZ182bSlHMj8r ViN6fDYqRjtGJkJvP3gkfDAkfXhxZ0A+WkVjPG4+UFh0d1RwYklILQ0KPiB0K3psQ0I0UXYNCj4g el9AWVpOZGU9Y2I1QXM5QXZsPX09dlhKRCF6SWVZdEw4SVFeJWQ+MS1kajJ4Y1B3LQ0KPiBzSF5X OGtfbkM3R2I0cn1fVg0KPiB6Zz8lQjx4VzZ+cFB3dXp4QDRLdlFzP2pSaS0NCj4gQmZQKFVQSW8/ RXZePFc2KiFNRmttYTB7c0I5ZHZzXiZtKEwzN1E0DQo+IHolJHd8ITZOYCRKO3Z2Yk4zNV5yN3po QDJNUksoMis3fmxpZ2k7RWhFWj5sTFImYFd9a0hyRnh9NntJd19hekRNDQo+IHYNCj4gemE1SVo1 SD1DKD0yeitoalolRmlDdHR1WVVUPVE9MSsxaHVMP15uVk5BNkw/fF5XVUI4Snpee3Y9N1pNX0Yz DQo+IDhLJQ0KPiB6UTx5dn5HQjhXWndHM0RMSHo1JFlKbUIqfGped0B4T09LNWBUa34kUlhVZ3Bg Qz8zMkN8QWw2T3E1clYNCj4gdzF5fGRYDQo+IHpuZD4wMDJwfF4pa1FlcmE5T29jc0UqO35fSm0+ YnFVNzJWMGZsUUJMQEtBWk1LNU5ec3J7I1BDckt0Q1p0ZQ0KPiBTdG8NCj4gekV8Pj0/am8zZENQ Mkh5KExuUipiV2RydVZGbXRaIWU4dl9EPmIhcis/TUxaM0I8bENQXk53ODQya2hze3swDQo+IDct Jg0KPiB6Zk8yMGhJXkkhZG4zI0FEdU1nenNHJTlgI3Y9U2UhY3tZZzs/K0BrYDB0QDJ3PCowYUVp TDtlPnhlfWpzaThlb18NCj4gekYpJkB+eXFDWUZ1Q25gTlBHMjkzLXdZJVpzXjA0fDNxQGVHUDU4 PU5lNXVsdmFhLQ0KPiBTWHd2KjhaclFCJkBKTSp7IQ0KPiB6ZGhvQzVjamhgVUQqbThhemcoQHFT Rk1sYWI/d19xe0RCZlREKUVoSikoY3pQTzhJKUAwPjQpWS0NCj4gSFM7O2JxNGphDQo+IHo8dTw3 RmJaU15uKCsjPDMqNkxIQlJzNX00a1oyVz4mR354VCZqTE58aThvKnFjT00mKU9AQnJyWFo1c2QN Cj4gUWdYOEMNCj4gelhAQ1JTKVh3dWp2UG5aNzhlZVBqYiohZ0JDKnBfdWZpVCRkPj5KVSE5fjw2 bHlYSz9qUyE9VWk2cV9ydm09Qg0KPiBkXw0KPiB6TmNIe1Z3bk8lbVBmX3tqfEJ5O2AtDQo+IG81 dSlKcVY3JSV4K2ZOK152P1Z3MkVHMUE/dnFCWlZBVHhQa0s9QU81LX5pDQo+IHoxcmU2X2xvP2st DQo+IFdNZ05wODsmPlZAeEI3PUhpclY1dmFWfFZPeVJjTz5eRjxtbzdzVWBxKWVTM1U5Mjs8OVBZ eH0NCj4gel58IUMobilvfW5zMGcrTm8qJEYjeXUpWCpeOEBeb3RtZUNuMDY7OVpCPDdVWFVjVkI4 Qi0NCj4gPTc5ZXVHd1pkdz00IQ0KPiB6X09HLVppQCV9TkswQ3Y/JE1sMGVoT0Ypem0objdgPFJg TXQjOSRrb0lwMGt4b0Rqc2I8MC0NCj4gWW1lMlN6flU+bW4xDQo+IHpSYHVTPEFSYCt+Sks0aldJ PWAxRTlCSkdFdDZxZEt0XzRoNys2TGplYShkayoxOFZqRSlMNSZ0ZHV3JVhMYVFDDQo+IGUNCj4g emgqcSZSR2RVbVRTPTAjPWgrSVM+SkgjZ0F1SHlORSNzckg5WE9SZmU0fGJsajBTezNpSj9QeW02 aEtTPE8NCj4gXnRLPg0KPiB6YXopR2ZOQilEWXVSKHB2Y2xfWUdKYHdtSURhbmVyRWpBZUhBPF9f VUY9cTZKRWQmQE53PXJrI0VaI2VfRQ0KPiBRNW9xDQo+IHpyeEJAVyt2fG16NiFAOTJmQi1NLXYm fXdJUGAyeGZ7fFJmPDlfUWM1NSpwTlp4NkUxMUhrejt+c2xmS3J5e148Pw0KPiB6Sk5UQlBMaio7 Q1h0eCVoeyFYKlZJJVNMVCgkKTNlcjdvK0E7fDQtfVo9eCopY0F8MDtnfi1uM14wJF5ZTWRAcTMN Cj4geipYcEo+MTlGJUgkZDxvRW5xaj9uSHskfElHSD1ffCtXI0BARldgR2RYVWpWbmUkZyNwa3Bw WTdVfSktDQo+IHk4JjUkfA0KPiB6QnMjTzxzbkY8PGVlcX4mKSsmKHBFKD1nOU1vaEE8RkJIQjAo JT19VG9vPUVBTGptVHgoP34oKWl8aGdNbw0KPiB5R3sqDQo+IHozdGVxMklJdHkmLWc5Y1NZcnRH PHo9LSVSV3puQVNyN2xhbkxvY0tgJXlCT083cjhKfTNAJH5WO2x1My1HTENnRw0KPiB6R1QoQE1M RG1zfFJ3JX1kNEw+PDVHPihvc2B9MTJ9aTUjTUU/IzFlQGs5U2d9Y1BPaDZPKlhrSEV2WXUtDQo+ IDBMVn5XDQo+IHo5ND9wZjMrISNJMlJCRDFYX0d9eEFRKFZPcWN9NyVCK0UwV1F3cmBgVjMpN0A2 NXJ1aiZ4NmBfbSZ5NUEmDQo+IHg2fWANCj4gelNMaGprKSRGK3MlS3QhcT1BV01kU3Z0VCQqNGpO UW1XQF5gWnVEOUk1ekp4TWpDaGIoaX5QNG1kZHNtUw0KPiBvc04rMg0KPiB6V2tGajx3NVopWiVR WldBRV42empDfkRVITdyRFVLdndQM2k/MkArRUlqWmlTMmVyTGs3Q2FBYmQlZEQpeQ0KPiBTJTlG DQo+IHpNOVVPVG07M2MkN294dU1zV3NoIVp+cUZUQVV4P29tWH0rNFgpMHIobEprYEhmXzxoPTk2 KHJNWFdxYytnDQo+ICU7di0NCj4gejRNKm05bDFeSk9KOXtfKVdodmIpXjwjRFNhM3x8dzNmSkp0 NlVqZGhBWVUxeDM/dD1xNUxkJlplUl5ZI2NPDQo+IDYwRg0KPiB6KyFpQUVDSWwtczk0dXwrRllP ank+Jm9wN3NgdUxKdlo/S3tGQ1o9enImVlNyeXtoOG9qI31iLStseTNuI1ktSSENCj4genp8Zmlh JnFaNlIqX0ZwV1NRJU9KYWJCa0NFMEp0Z0NNfUxgbz5AVWo1fjMqPjV2ZkZ4RlA0O1ZuVzxmdFI1 DQo+IGJ5fA0KPiB6aml0PFZwNjZzLSlLWFcqKXl2dHU9OF44ZFB0VFhTJWkzWFdlSGxta09SS2k9 Z1FiPGMzUyg9fU0tDQo+IDhTPTYpKE5iDQo+IHpfc317VmtEQEwwPHpaOE5oPF5gIXp4RnpyYXxq TClJTm5vNHo0dmkyJC1May1nRCFqcyF6RjM0YzJMczI7ezZEZQ0KPiB6d3JxO14ybHwpRWFhQz0x YkUjVURzQDlRandGS0s1S1dVKEIzUyQ/U3EkVFJ5NExmVmBQSmpDIXszS2olSHcoDQo+IHZaDQo+ IHp3Wk4pZyV9Y1E/YS0NCj4gSldwWVBWWkVkUlJ+UEUmfEl5X3JgdSUofkZaO3k7VGU4NjBoQXBY R0J3dEoqJiEzQ3BOQ1YNCj4gejxqTy0NCj4gX0B1RHJ+WEdKVUlaWWAzalohQmttNGtNXkUjaWtX X3ZwNGhJR3l5I2lfX3VoVUtQcFErU0B9MEd7O2FPDQo+IEANCj4gend6TEwhUUVLSitsVVFAOEd2 S0s9YFRtJjJ2dSQ7Xyt6NnQme1A+IWwjN0hJaSgzTUNLTDEhM1R8SytVblBqYmwNCj4gVQ0KPiB6 KmA4Kks2NzBHK3hvXnlremh2fTxwKyZKTD88cHVoUjBGWlc+MkFrSnlPbD9pRz9IJEM9YE4tDQo+ IGR0cFZ3UlhCbng7DQo+IHpPSzx3V1Y3d0BJaCNnSSZCNzdqYiFNKSQtDQo+IDEkYnc7MkB+UmZx UGVGa2Z2PHYoRnQrNntkOUhLKjhTViM3cUp2XnoNCj4gemJyX0s/QncpP357dHpLT2RJd2p+N2tH PVVvanFFU3lfUW92PnJBIW00d0lDISQjT3QtR0ApRWQ4Yy0NCj4gNVE1WDBsaA0KPiB6eGwwKHd0 Njx1cj0xR0FncTI4TVhIbFpEeWNaSHNqVTJ5IWw0YkIxalduZDFMfDYhTVpRTDI4bGg+VnNvQlcw DQo+IDtjDQo+IHopdDkldXQ7eFA5YiQ4dClhNHRkLQ0KPiBvPiVPWGxmfX5XWkVVMFBLIX52WGMq MzxYd2tHNzEhSHE0SCNufTJVPWhRS18NCj4gejh0MHp2WikrWFJTV1E8KyVicDJfS2xiRnhBJX5a I2A4eGViJDdpcX4keWhOKntLSCY3RSlSeERYdGFNTw0KPiBQWDtgWA0KPiB6TmUlTTcwNXt7QGBw QSp5ezljUihPP1N9bTlLaGYjSytuViVIN3ltPm51KkN8Q0tHZyhvJWlZX2JWSGsNCj4gSmRsdDJU DQo+IHo4QXZ8ISghbndUJW10IyRNbzwmQmYje317TSFre0Q/LQ0KPiBARFdLamlXJFJYODlGY2s1 ZGs0PG9pVj9gWX08UGRFPzANCj4gektlK0trQ200OygpTn56UlUyYjsqWHFwaUZRXkg5TXE5QFpx VkxlMD1VcStPTSZMUnJTNDZ6Y0BNSj0NCj4gQG1mKj0oQg0KPiB6b0EzTWNNI3NnbG8lQSVYOUhO T3V4OUdLbm54eyFOcXNsb1VjMHEmcWRBO3tYTkFZU0dZXmxkKk9GZ2kNCj4gcTlAeEB7DQo+IHpn KHImSjxqU0ozOTEwQ3pqQHxUUmVyeDl0e3FuZ0hibEs0I2tUZGdwcyRTNzFNQXRXbmhwcEo0bWct DQo+IEozS2EzMioNCj4gejQqRCo0TStOUkMlQD0oRWVYUXZHMFQ1aS1efl5rYCppLQ0KPiAwKmYh UT9ZUndyOTdCO0lyIzVTYz80ckNSbWlGa3ozZQ0KPiB6d1FLWXl4dnp9ZGFuPjRgcU15JkgqXnps c3FpQ3RoWGkxSzY+QGx8MSZ1XjQ0LXBgOS0NCj4gNk1NM31Ve1B3O3syYz1KDQo+IHpwKWpTeW8t DQo+IDdAKnNBVSNAWmpXMkp3XjhmQShZUDZZMStsZ0YpR1FAeV9VRWpjOWV5UnhHUX1jUWVAWHIz ckgtTykNCj4gemUpXik4ZHVtaXU9RyU8S3tkanh+RzEtDQo+IGAyNGhiPCU8P0FmWjFgdT5QUH07 eCVTPUtUMioqZm42en1zV0MoJU4hdg0KPiB6NkZUMz05VEgtDQo+IGBuZ251SCRmQjEjemQ/JnlS QFM8PFZxfHhDdTZvfTN7MVc4c01nb2pIbDM1Y1BnKXt0MD49YjhKDQo+IHpgX0kqK212KDJuR3Ey ezZ7KTNvN2taX35NK0xpT3dTQmgzVVVTYn1ITX5jcVIxX3xZVWk0NSV4MXt9Y1gqDQo+IFZIIWQN Cj4gelhLXmkrdDgmR25tZzQmVVh2alJ6M0BEfWFnO29HWCMpU0ZwKjB0MzBGTGpWNGlXREtXRCNv N1NRViV7Wg0KPiBeKz1FMA0KPiB6bSMjXlV3Zj4ySVFuT3krK0ppdFdFaERweloxN2ZKVCpnJEdT d31BUz9yeHQ3RUdAUW4qOEUzYCtSMVF7DQo+IFckXlJPDQo+IHpGUTVBUz9IQm8zO05GKHlVbTBG MldAXzhBUTlkciVoWEx1PDBqXz9fezM8PXh3Tl8yWmo9cWNMUDdhNA0KPiB3SHdPRjINCj4geitG RHhZWnFmQzchVVFqYCtVOEYhcEFIb0E8Q2hATy1LfWYpVU54UmVubEw9Xk1VITZoV31sUyo7LTEt DQo+IChNayV8WA0KPiB6bXE4TmZxTHZZVW9Kb0pDeClIS2ErfDtmP0lzU1FeRXQ/V04jbnlgSnc1 fml+I2tBTmZHKiZBdndwSSkwUnoNCj4gI2E/DQo+IHpJbU40Mmk/OzlmJHRLR1dKbEx+UVEyS05M dlc7PUxMTyQ0VmZqa1dpYT5hJXF7U01rcSo4SU8wMUlRblRuWA0KPiAlNWwNCj4gekVwTyZ8akA3 TGVwST1EJjRsKkNkYjFUbn1ffEpGcHlwLQ0KPiBwJHlrRX1xQ2xnbUpQREMhZWByMiNhaU85ITMq TGJ+ZQ0KPiB6Qy1LRnB2dj41NW0oOy1HN1gjI0w9Q14+MztGTFZ9Jlgkb1BTLW1sdihxciE4Q1BN UnRpUElkeShvb1Z+KCh2RmkNCj4gejdsMzhgV0cqWnxeSFRhSjVMYlR6SSl9RzMyeUx5K3QzWXhy TzVIUWw+N31NfkFSNy1gaWVCMFVIbCNTPUpiWmpUDQo+IHp2USVRemhqekxQdkpeKHx6bm5Key0N Cj4gOT5RI3kwKVZOQjUpOz40X28kMiphPEpDbSk+M0ded1JCYSpZezRsNmM5eUMNCj4gemZRN0x5 dUJNKj9XX0F3c3hqQXRsJlVXYnFqaVZaKl53MEhmd3tzTSVBJk1rb0dzbWFfb1RZNlgzNg0KPiBk cCRGQUxKaw0KPiB6fEc1WUArI1h5NlhPMn5TbDVaRE1oamYkWGRrVH5UdjVvPkAlMHplaVZibWZl SjNURVZyMkNiUGpuOU5NDQo+IEJVOWc/DQo+IHpiPnhaLQ0KPiBmfChuYWhHJiRNPSNqPk9raztQ N1RTRlk+TFVpYkZFVGhyVypwPzJxKW89Y0BVPExScmZjWjxoZiM3Rm4NCj4gejtsRDV0eXEpITFe cEk1SXpgZTl6bH4tRjRJdkRveHszNTd0VD93UTJQeDdDVCV8RW5YeyQlSUQmaXxwS1E4V211DQo+ IHp6fVRVaWl4TU9HRUopMVp2b04tQG9pelZ5SGcrP1AhQHk+JUxsK31hWEg2aCp3LQ0KPiAmTVVX JWJeZUs+e2dOV1Vmd2ANCj4gejlAQXhALQ0KPiA8YCU0aXY0djwzJlJSfUYkM0VUWUx9eT8pcDs5 UDcqUlNDVFBOaityU1EwV1ZiJlgyeGV9K3orMipWVw0KPiB6bzNYJmx0ZlR7TWcmSH0pd2ZBNW9k YmJyJGU+IXVtU1ZjZWp3UE5CeHR2SWBIRF5DOHV3Yz8hcXQrM2BlRH4NCj4gVyR6DQo+IHo8S2JU SWY1Nm1iUWBYU2VObHk0UzxzWHBQNGN7IUw/ZHkyezxkdXVCTkwoNHU0e2owQUZQdzJETWx8cThE TUsNCj4gaEYNCj4gek4zJXcrcSEqdFdxYHk3NVV3WTAqK2BGJlloTENiTDdAWHhWdHohPlE2OWdY ZERGKVdyMTBUI1EkWTxhDQo+IE5BMWR6JA0KPiB6U0A2Wi0NCj4gQEAlWWJhTSRCMGNuJiUhUmJK NClNOU5FY1IrXmd1YVZDaUcxRW4mITtVbk8hOUZmeDxhQE1eMnRqenI1DQo+IHp6IXgtPmRSTGha OH5XPDdARDt2a3swdDd0JCR8fFo/dHJYWCVueXFycT4ySmBLQmYoOS0NCj4gV3w1VnR8JWUkdUt+ cUANCj4gek03KE4wIX1uX19LRGJ9Kk9GVjElUnhgP3g+cXJnOD8rYiRUJDhzZ2wpd2QrQnpII289 K196eDZTYXVCVHZzDQo+IFlYYg0KPiB6IzhiLQ0KPiBJS04re3tUJjNYNDdPJVooJFlkUHhYaD1o OGRARDYrRHROeUZiMjhFRXZgNFdTJk4rfDtRXihkaSM2YnQhDQo+IHpJfmxsMVhufHQqOWRQfD5Z KllJK1JBdHEod3Z4JWh4djd8Zy0NCj4gRmo4O3phJSY9UDMlSVQmREhqOHc7aSYxdyNBeW8NCj4g enRreDlQWCV0dDIxTVpQdTlXUSNUPFg0Q008THZPJG5ERDREVT1CTHlnMlJWUy0NCj4gZGMldkIy Kkdnb3N9Vno0ZXs5cg0KPiB6bEpDcDhaaGp9SFNUfExoYkRicSY8Nzk5I2tZVXFvb2x9Tk1zQHFJ YnBwfFdRPmxaeDhQSSYoaF5VU2FVSg0KPiBfN3Z2DQo+IHpvMlkqUUd+TlVBaitnJjhYNiM+I2Fn XyVIcVMmPmc7KHJzK0VZam5iMytTcj5QX09TTl9ueS0NCj4gNFF+RWxrRlkoakMNCj4gemkrbWtO I3JHO2JgZCFrO141SEc7KGBDRXAjU0wrNF51fCV+OT5MNUwlbmdEJEp6RUE4a2dBS2FBMkJOYXpG OzsNCj4gQQ0KPiB6cmI5NXB2K1dSTm40akh9UVNwNU9zKFZCUUAhX1N9YXNyKVRvaGk1I1dpQ1Y+ VGJFQzcjO0cqWUlFSWEzM25KDQo+IFRxDQo+IHptI1NWQmNuPm5UYj4yYEw7dEt6YCRYMC1TRm1I dldsbXt0fUw0ZTsyN28tDQo+ID8xKmZ0U0YrRVV3I0hjajJYQnMjU3gNCj4gemNFYGh2dEZ2enw5 K1JBJl8kS3V4NCE+fGdAfnYzJSZEaGxhcFQ0WHlgc3ZGcU87NGZSeV89PFVIalpwZDdiYg0KPiBU WA0KPiB6NW0jZ0pOJC0NCj4gQSM4eDZWKHQwU3Zabn00cDxXVigyOVh8a2lKc0dVMUhxOWh5YCtn ZTtpSV5XSEx0S2VmNmV7dWVmDQo+IHotDQo+IEBhOzReV2F0STZmfmIodTxEI2IlNTZUa0Z1QUVI eCFGcUpua15rNDxTZVd+Nihsem1DTn5vPkdySVZ7dnJ3DQo+IHhZDQo+IHpPbWI2IVREWkFEc208 OWAlRShhWFBYNHk+KlVzTzF7P19zTDc9TXJPbXp3cDNKdVMxb3hRQjAjWj8zYG8NCj4gTE1QdnkN Cj4gemUwVEJQI2RrTn4tRil9KC1OU2I7LQ0KPiBAVUVIdCNtejcpSyUydXFsMzc5Ymg/emszalc2 UCRJU2xwV219JEd0c2FNOw0KPiB6VUdNIWp2QHM3T3BkKX43T2BPKS0NCj4geF56bWZLTH0lVWdE fnRMP3whRzNkUkdAeSVZblR3Z1h0TU9RZFRlfkA0R1JuDQo+IHood04qc1RZd1BvPlc2dTU9ZFgq dVJwJTVQenJGZH5xVTFZPHkrMGZGZWl8eFRaUyFHcldBI3A5XjNPSTMNCj4gJV59RnUNCj4gekF2 ayhLNUIpS0ZyenJWbmpjbnxXMSNzcTI0JDdXSWdYWnV6a0gzWmRVQiV5WnszWkNpaSQ4RVo4ZUVV JnlNcA0KPiBmdQ0KPiB6elJVUzg9ZXZ5V0dRTGFzRjZCR1FIeWVVcURDV0MzZXszOSU5LQ0KPiB6 RU9fKj0pe1IrU3gkJXtmSjJBVCQ+Q284RUBUDQo+IHpmeFpGYi0NCj4gc08jKkZOXmluU24hOyZf KDxLe1BjRkRIUmE0eCtvVzA5dFg3c1g4ZjlqSHAham0yTilCJGxvS3FucVoNCj4gentkTE9Pc2gz LXBfMTsjVUk7U3tRST1OYGBpbHMtRzEtV3JKZSR6JFVTND14bmJyNWZjXmZ7QX1xUSYpZHkoI3p2 DQo+IHpYfEpmSmNTZHFePkN7MVJ8RTE0VG0oXnRERkcmNVI+QWwzVVl9ZzxEJDwoRk1yYXZVZ0ZN TW9rWUpja2FjZg0KPiBYZV4NCj4gellCe0k0V2tHNG4jTEdWUT19UntoMmFmJSFoPTFBa3JUJDZf VSFKLQ0KPiAqQHlSSj90QnJHN3phaGQ4VEthUFZQbm1aXw0KPiB6Wnt2e0VqTitvVURkaVAtDQo+ IGFESmpWSDdgY1hpcyNtT1VydCN3NEtTfipQaUlRcCVmPXtHOzVEMEFLb1JIU18wcSVoDQo+IHpg Qk0mV2o3P2NrLVoqNStme01uSERHTnEoVk1BXjRnJHdHdjhQQFNxbS0NCj4gKEYxRGYxQHVYNEEl bykwUHhwKERZdjgNCj4gemxNV35PVH07Z3pUYmkwUHdpdyk4Sjh9SzBTITFJcypFYiUlVnhNKz43 N3FgJlZvNXNqMSYoQi0tDQo+IFkwbV47P3dyTg0KPiB6T3FfXkJZMVFgVCFEMlAoZzJ3ayE/Yj81 QSheblpeJiUtDQo+IDFre0tUTWx6Zlp3SzlOZ1EycWtfd3g8Rm5Yaih9diQ8DQo+IHo9UXdtOTZV azJQQVh2Wjc7fSp5NnhgdVlKNCVNd2tRSzsyb3NHKCN1bk1nKjhufEE/bWJXbztIIUVYYw0KPiBy YjF0ZngNCj4gemJ8TDNfcEJAT3olYmE2aXpUWkxOVDxePyohMWlQbXshUzVtdCtiLQ0KPiBLbz5t dFM4Y0hFeT1nPHE7UXBMKVFUOUUhOQ0KPiB6UTk9LQ0KPiBEQitVOzQzKStVbFNLQzNRWDB9R04o NWB4JndfelojVH5zUXRMSTtOT0JgVU1oYmBjbm9hP2xfJSpKa1RsDQo+IHo3Tm15aitVWGFmeVJU ZWIzaihtNnNoWFZgMDw5fCk5Y1ZuO3owWHZqX0xSR2BufD9+ZFFjNSs0Uih9YEZ1aTxZMg0KPiB6 ZXtUPTJqKG1iWWstUHIrPEhyRG0kQio0YEVhKEtAOEJ3Kk4mTFgtDQo+IDxzblpVdmdPfUBNODUk enJ2MlUkIW9mU0VODQo+IHpGQXZOfFE4Sjh1YTY+fmBXJGNjKlVfODZqKGhYZ1AzM29PRF99PXNk KHQhIStaezh5cTVeI2gjZSpteT8wOz8NCj4gQCQNCj4genViT15HbE4ocjk5NnRiOWZ4dkt3VFde Y0lXRS0NCj4gbmNUP0UjKihwUkw/cyF+T1BwO0UzV2BKVnk2OXY3R0A8IVRzSg0KPiB6VDBZbk4o RXdtfjNydjtUXzI5YGlKakwlQzBQTzBaKCRUS2MoZkY0UTBDdSlqJTckb1ZpPnk1fmxCMUBtdTRQ SA0KPiBEDQo+IHpsOFowUSMoe1FTQnVAalM3allLSSh3VGpQYTJYVDNZb0FvcFRCTGRGeCk/SyNC SG5nWWRRfHgqaXRtZSM3YzRfDQo+ICoNCj4gekdGQFQpZD5pLQ0KPiBuTyNeXkVFSExgJVg9eHIh cnB2aD5kSH1GeDAjbF85eGdOOzljPnU1bEw4WjNIUHJnayYhdWtRZw0KPiB6UDdOeEp4PUp4Qm9p cVNnR15rV2dOS3RPfSFNfWIwdS0NCj4gOCVaKnZmaUVJeDdSNEtIN0VvPSgoUXNgTSE5MFR3djwo DQo+IHo1dzdrZD5iKU5nMEN1OykpWnZrPz92Y3BMMGw9O2ZEam5lfSNian4kMEFPYmFtMENwbVdP YFY9SClRfkBRDQo+IDktNEwNCj4genhKbk5wLXFRZUphPGowV21iZ2t3PTZkbylAN3ZRWTAjaT41 VHUtDQo+ID9JUU9BQShPYURrbz5mSkd9cUdSZzNNK1llMw0KPiB6dUFyaExUfTROLQ0KPiBLUmZg fjx2flM8eU5WOTRfZFljTSpwIzVzTHRVa1opX0ljIzA2UjNPKU5UUHR6Q0M9ZEgqNWZ+DQo+IHpq QUtHY1otDQo+IH1kTzI+I0xKPzJDa3IwI2lAeiMpRzZjc0x1UTQwQVN3fm4yMU4+Q3lHSUd1Mjxv fShzdStFamQyeD8NCj4genNyUXgqUHtPQnppakghPEpGM29HRmFYJTNwclRRKHFFVTBiUXdJUFc3 RjJxZXRNb0E5NEcjZUpDaTF7flhFDQo+ICFHIw0KPiB6eTt4d01LcGNrbkBoPTZZLQ0KPiBWSnE/ NHhRXzFXMnJCJD9pSDhfWDBXU3RhSn4xSGRAemYzbnk/eStUc01wQXlmMzxLDQo+IHorKzItDQo+ ID5mI0l8cWtgPVR8V0hOT1RuZWw8WngrRHw8bFRaVzwwWCNEUj5yJUtjN1ZiNk84OSFpZT5jSUEp KXNieyoNCj4gemIhNm81PmQ0dmYhU0NeVjFIYSFQO0BPZT5QVilPM3tOQnYoY1kjXlI/KnpYZTtQ K08zcFRYfjFlJjUzSEANCj4gOT12Iw0KPiB6emR5dzl4JXxHMy0NCj4gKXt8SkV5QkFoZXFZRyVf NTl3Kz9feiNXO0oxXm1TQH5LNHduRis1byhVI2oqTiZMRkFAT2xiDQo+IHpxWjg7KCppOEowV21s UjNuJGE8PHJ5Pm0hXn5ANno2ZFZeTWJlazQzRWRjWkkxYEUwJFJHeVJYbH4jd0dRcw0KPiBoZGUN Cj4gelU0WSl5a2czdHclSWBTM0t3a3JgQColUTcoMEtnNFZacGFUXn47Rm5Oa2lqbUhFQyR3cmxD RE81WkU0UlhuDQo+IDwqbw0KPiB6MExCenFHWjB0QHklQ3IrR3tEZiV0YEVSRVFmOW85bWxAV3pQ fHItaVh4SlpyLX5gTU80P00rVT5wXi0NCj4gRHNZYEQzDQo+IHpTY0tSSGBEcnloNk10M0xUR01z YUxyVWAxbHJgJkhZSVlgPD9Uaj1ZNk10bSl4akhaTGtAIyNxNm1zOVZOVw0KPiAyX2gNCj4gem9X X0UhMjZLdmM8RnwwLWpObEBaZ04jb0crJWtMTGBNUyV8ZSF4eU52PVpIRHt2UGpKYjlsPlA8JVIt DQo+IHA8dEo+YA0KPiB6XzxuVT5sYl89NE82b29LcyRKLQ0KPiB5YnEhMjVNQXxoJD5XYFh+aW1B SzlgPXRNbDwyaUdeTEd+V0VvTCZzWTJSIUM/DQo+IHpCdmJCOSRXYHw8U0tWYDw0VX1IaEdFNjxj STlOcFdySEFAZjs9ez51RX5CYEFIdF5qP1JrYk9NQSNpe0ZHDQo+IHl3Yj8NCj4gejl9RXcqVGx3 QCpSXlhvdjM+fmJgMX1PaWJmcGdnUylCWmw/SHgzTSlvcXRpSWpBVlBrIzRTQHc/IzNLdFZODQo+ IHFkeA0KPiB6RDYrIy1CV0ZCJVVMXlV2LTViVlVnYlpofXgxTlV0c0ZAPGcqWipocjReVVhEJkIz XyM9flA0bS0NCj4gYnd4QCElYVVIDQo+IHpacCgjfHtMKk0yWXF6fl5OVWNhPj81WUIwKjI/dlhQ cS0NCj4gSjJlQDJDMkMqdDk7cHw0Y0kma3lZMWVfUFNFV1k+WC0NCj4gejg8SzZzazQ2ZCNSd1RV QyV3QlN5ekgoMXVFVTRnKz50VEZGNHNmRjIqUjMtDQo+IFRzRnRkPj1VUWooJnAhUGxgXyRfew0K PiB6U3I0dUskPEUyR2lpT3JxMVg8M3QjTVRmU2NVeUFWdyRSK1VIZVRfRCY3QnZSQyF4Nm0lcWla UF9sNCQ7Zw0KPiBOenBnDQo+IHo/JmkrNT00KVNgV2JTQns4ayhRWHl7KVJGIV9DakBnRjNGc3VM R0Q8eXE4IzVXI159WmJhZzFSU0NYclB3eQ0KPiA+TG4NCj4gem1KSVR7SF9zPyQwXk4/OGNrQGlS eG52QDgxM3l2dHQ5Kmd2K3VDYz5RaEYoRGFQJUdpajZ9UVVyfitjR00NCj4gfjdRNQ0KPiB6RSpH PEsyRV4/Qy0NCj4gNz9FQUp5dkNtKmk9WkRFVnpHKiFvPXxnTW9Fc0FHR2FUaD9TTmJWZ3xEaG1j eHlZd2d7ZG55DQo+IHpBQjxSUmVnPmZgd1YlcDU1Y1V3eDV6TDFHVWheJUs8TEtRc0k9TEpISlVk P2d7OHl9eiY8MEhBXn1ITj87DQo+IFo9VTANCj4gejkyZjZWanRXO3QwOGZsaHp4KWN5QDNVY2dW bEdEamYzV3NAZDlCSWU9aXUjc0Q9JFktZSF3cWA4e0tyRlY0YGFBDQo+IHpmYXpjQnBXY3NPZSRy dDZiJClyfTJmO2dqQCE7cSk2KEM5eXAlSit9QWpoIXdCTENMK2xZZDxZayQ/V0Y4OVBHRw0KPiB6 OFFGNG8tDQo+IGJNJEs/RUx0REdRJHQoQVdVZ3BlN2AxeXN7aWpsTiY3RCkweVJnPlZgflVPP1k2 Oz1pRmF3JU07YUV6DQo+IHpTRyghSW0xITg3e3pRNXwkKHhMTm40T3ZxR1FMI1BVenhvSTNzRiN4 I2UlTX5TbClNek4rfFh2ckF9QShxbg0KPiA5KCkNCj4gelNuPHoyY0BsNyM8LQ0KPiBnPXklYTc+ V0dsMXdiZD9oPlFuMDVtfERTSitSUTFLKCF0YV4kcUxwfE08VCgmRkhjeD9SZw0KPiB6fDVaPXBh LQ0KPiAwdTNgJHUydWArNVJrNlRGWHFFIVd1YGFDYD4ydHFBWWRGSShlVGNoKnBtaDE/a2Q/XjZL OXZNRHRqDQo+IHopNWY9aCpFUkBqZEFtVzclc2pUITRaP2FpMndEQipTYnFAV0dBI3Y3bzBaPSop U0w8NFZfeXc1RWVxXw0KPiBMVzwmQUUNCj4gekY5bDhlbykoWE9xbyZyQkFOMytVaUA0KlVBPno7 PUUqakxlXlM+LQ0KPiB4cGVfO1haaHwpfVR2cnlAKXVrZjU4PyR3dA0KPiB6Tzxpb34jRDEpKFc3 O0clKT83aEF5JW4jUUFgbDJ8SE5QVE4lPyQ2K0NVe1EtDQo+ICZrU3RgIyNSPHMmSSVtJFNMX3lL DQo+IHpZLUo7I3hGZC1EIyNZQWxxcWFnMzZfJVl4OEghMTw/QVpBMUp2TlgoMy0jZGVhMVkycmlP Sl9IPD0wUyR0KTt1Rg0KPiB6cnFfbGl7U15lV2t+eklvVXdvcjFSeExGZmIlS3VeIzhLWHVzQGRy NWgqTlFFeV8xMHMxYEA1eDRXenR+RQ0KPiBfJk15DQo+IHpxfUBmZm88YGJUV2I2NWNuWFllez8/ bWdkQHA5TUQ0WklJZnthTDBgWG5HLQ0KPiBDQ3dNUjRxaFVQYEQ5QUdsPmA8KkQNCj4genl5JEFu MWpXNW5zUC0hYFppVHIlYm4oUWNIazxiZmZDQ0E9Um9XZWdRTDheeXkwWm9odXpPcUstDQo+IChY WHJnSWp5cA0KPiB6O08xQmgzbEFXNERAVVZCdD84WjBYNmhaYyg7ZDR0P0tCUklOVkcwRmU0VzA4 em4tVmBSS0BLajktDQo+ICl7V1BQT3U9DQo+IHorTXQhaEYrbTFnZjFlZyRXKUtRI09ZUElDYEFA Zn5EWjJlMzUyPDt4cXNVemZKJl95UUhga2J0bDg5eFVBKw0KPiA+ZzANCj4gek9SZHUtDQo+IHZQ a1U/QSs+QGo4JHY0VCF+fTA4XkVge3hFTn0+Xms3R2I1NkcqK3lYd0hMcz43RTB1V2oqWlghb2k1 SQ0KPiB6VlI4Km9WezVqP1Y/aWZXbyFvKktiVmJZZ2Q2Y0NpK25Fel5YZ1NiYCpTaUMmPjw/eTlG KkhuX0hjU2khdDNXcA0KPiB0DQo+IHpvZj9YXz1AIXxFVS0NCj4gaTFSIVRCcDNYYXdDa0QqaVA8 eTdWc0FeaEpCPiZ1WDRAN2xiPXhLMCh1ckxaOUZwQF9CLVkNCj4genkyKWtqOyl5PG1Sc2EhRD1u SEVNRjk5PEU+fTJtdVc8bk8zUz5PO2Q3cVJKUiRqblRGWkxnfkImfXx1ZWpPDQo+IFNwUg0KPiB6 P2AzJiEtUihsZkc5TGstDQo+IDlpO3o7UlNNfmxRKWtAekJyR3IqMEFTQVRhUTw2NCNYWVJRNCtM KzxnI1BEb09uJDhCDQo+IHpkfUslQGxKbVleYUE4QXt4MW93X3coWEx8IzI5YCk/dFVzYk53MlV4 ejNjbmpaV0w/IUdkfiktDQo+IDR+KHFuSTJVaXMNCj4gemJ1ejB4cXQ2NDBUaXJ0PkAlZ1g8N1Zw cVRgKUg8RVl0d3EqPmJ4bUtneyVyWilAUD8kbTlfckIkWnxAUHINCj4geVgmMw0KPiB6VGh+MHp5 U1Z9TS0lcWs7KXdRLU5jWVNKJmE/Q3cydld5JSQ4UlJ1Xjk/U2ROYlZoY0BvRDstDQo+IEZhcCR3 VWU3ejF7DQo+IHpDZkNvWF5LU1ooJTMkaX1vWlBIZz9tVzk3e2BZdTZselRyNnZkcFRxWVNVK2ZE QT58ZF5nNiEwOHlSPz1KfGc8DQo+IHENCj4gemA3UiZVdkRXM1JeWHQ2e009SzhwK2ZPN0RKdFdg SF5ZYmt5T0tSan5SJWRnNGxxaEdOSDs2TVBtaCgNCj4gQEMxVVk1Nw0KPiB6M2V7TXQlQSRSMXsw K290YEZgZnxuYWxiTzZkNWxENXZAJmU5MlV8MzR+IzR8WSZBfSVOemRnTWVEN1o9Xw0KPiAkcXly DQo+IHpDYCtyZClPJU50XzZ1STwzVHxEYV91TFVyKj96SSE2KEMqJnZ3bW9AWFdFa01nUkpNZipX OCZkKmpkJg0KPiAwdz4wVUENCj4gem5xU0RUKzR+RH10U0J7WDBfYjJ8YjQ2RWUrcklCOXdXaktN fDJfQlo5O1Y3THpRMkhibSY1SUVAezdCZDsNCj4gPCgoTQ0KPiB6c19PRGE8JEkoMnU2IXcqXlNB anFYREh7JE4mUUNVaDlLdksqXz1EX2I5IUNpWktwb01iVEIhe0heJHxZDQo+IE9+Uld2DQo+IHom Y3t8MVl7bCs4U0U4Uil6Y3FNcyg/d3UrNUBuOyVWZWZSSElJaTx7YkpPS35me2NpUT5GOE4oI1U0 QHlQLQ0KPiBPdEENCj4gelJgb28jd3RTeztGfDlnUyh5NSZLSH42V1JtKkFoQFBnJiY/VXdsZjdf UHV7ZXR4O1B6PmxaM34+YjYpP1phDQo+IHtyTg0KPiB6ciY+dnxKQVgkSyE8KihTTTZveDM3RlNz RT9WPjdjQFo1cE09WEAtX0huTS0NCj4gUT9JWDxeTnI2eUY2KUlfQCRSdk4oDQo+IHpZI1pzMT9B bVAzT24lT0ZlPG8rRShDRWB3QCVmeTc7T0YrJnRKLQ0KPiBgclMpKGE5KkdtUzRITXFqazRAb1Fk bXZEMEANCj4gelZ2PWdDKztvZTUofXtRVW9BUiVzVj02NG4oNkwrRXdKe01CLSNPLVVGbSR3KWB7 OzFAcVlJRztALQ0KPiBRTyo0Umo9ZQ0KPiB6IWFuN2lrLWk1S3Eoc1NyKDlwfmxmKEokdHFkd3F4 VW96RDFVX3JLbnxIdj0mVT4pbyo5c3F5YyU7YSZYKEYhbHINCj4gem9OZSFmbiFgOWsmJGJEKSN6 P15DOHBqO21HfV51IV9MOWVpKkFNWXFjMV5iWTFOcjQhJU4pYVVJZXA/ZUN1cg0KPiBIcA0KPiB6 Kl88KjNnPDNZLVQ0djMjbmM3LTlHci0la0h1MnUkUDhKYEx6cUZSYHQ/RnU+X21TU2Rqcjs+RGwo R0JgV0NJREENCj4gekdafmRaYElVQTMye2NIJUdfS15nQCFMVmg3TUdFMWlkcjZPcXhqJjFWdVNl JV54N2F9VHtmZE9YK2p6QXINCj4gTWBIeA0KPiB6S0VmNUE3VVprUTx7T0AkdWNIJFFGcj5BfjNC ZUkyZ052VjE4Q0M3fHQkd0ByOWo2VyN4Mn4pKUZiUSQqDQo+IHQ2PGtBDQo+IHokdXF6QE57SG5i ZUsxTFQtdn1SbCQhdHoySj1+ZF9YO2dmbktFZ2N4c3Z6SVRVQX59bzN0ajZOSlpXajRAWXtPIw0K PiB6cHZOR2I3NE5IcipxemMrIU0wQjBncGsmZUp7TWliRmB2VS0NCj4gekxMaio0RWl0MmolJExD cEpOIz0+dlRIPnhsVyZ1DQo+IHpVKnk1YV5TZ004N3xuZGE8dXNaPiRiXzQtDQo+IG4memt2ZEEr X3EkVCZZK0NGKW8+K3JqV1dEYWQoTEhzXiU9b1JAb2ANCj4gemM9PW0+QFo4SGRUMnRRdTZ8UiR+ PD53bm1tVnREcjRNRU9GdnBHTUtwRUxkQG0zY0JgZ2h6SCZrDQo+IG5pJkBVO0kjMQ0KPiB6enhj Zz8xKX4jJT5Ddldecm1HfTxwVjRQZzxBe2RDeV5tczloY3daYXxBeWRrRGFET05UUWc8dXhyRFAN Cj4gfENFa2B9DQo+IHozTD07SlhOSEUyTHtmeXo/PllZeUt1MFY3RnBFYElWTDZrZWNrMnBPNUBf PGl7VV9SNWF9VyNUcjxeOD51XzNUDQo+IFANCj4gejwoWHVpeS1mIz0+JTE4Y3MkYHM4ZzNTUUZV SGJsYiRHPkJiTDtMNVRsKFJUdCo2QT04XlE+KnspT1opX0dUVHgmDQo+IHpHK1IlQ3I0X2NkRHNS YHlvSzJefUxCPjB6VTdKQj9fO1F6e3tYcGhJPTBtQylmN1RmWm9NKHgzUHw5I2NHU2tmDQo+IGYN Cj4gemRnbnlKV28+VGkre2JKKipfaTVRVzVYVyFvYFhNI2pWKilAZXwkUSprJVI/VVVOMm83blBj S057N3ZTDQo+IFZoRChCOA0KPiB6dURVQyltc3xwSWl1WWJKKUpxMiR1T3B2al9RdV5GXmZHLTF0 KUBxMkxFP15ERUopO3hCKDU7O3NLLW51KDxLPWwNCj4gej5ieTMkTE5vdk9ubH12cmI+M0V7SEpF NXh1TV4xRDxqaCQ0aWBgMCQ+IVViRWpCI1o0PXo2Y2xifDZAIV9ITTINCj4gbw0KPiB6TyR8KV8t cHctDQo+ICVyVEhmT2ZGMj9yPmJwT0FGI0RgX1NRTmFGSUNLaHheYUJiUFpJb2s7PmB4b0RAZHQj eUxUfSFrDQo+IHpjfn4+TT53Mih9d1l4Z1ZffSMqcShaKmt3U3F8KjNiMk1NUEo1RG5jV1UwUTdq byM0JVg3N0lWZmFBfQ0KPiBiRjdMbGkNCj4gejU3WVllXjVMU3FVT0ptPWJfUlN0PTtpZklkQS0N Cj4gRW9kYjBObF5FPXkxMk58RkFVZUw/WnBxSl5Ic3Y+OUI0ZmNNVw0KPiB6UytgK3ZQe3EqdkRs blgkP0E7V3UhYT0kIWwtDQo+IFlaOXNnS0M/WW0jbHdZRmF3QXJ0R0xLP0I4K2EyUm0zMThVJkh3 DQo+IHo3fVc5fHJZJWU8bjk3KDtQeGVOSFlqS2RTN0c/SDZtYVhNeFlKdmFBWklMaTFLYkdmTEN4 O2h8PUY5Vn1yc1oNCj4gWmUNCj4gej9VRXNeRGB6ITVMLXshKkM5NWVTNWt1K29NIUBDSFlXaj9S KVJxVFUpQUQ/KURlWSNULQ0KPiBPKmVKYjFUfmtTRTUtPg0KPiB6JWd0KXFTPi0NCj4gSHpyRD9f VFJDM3NBeD1tSjcrSk16YDgrWHE7dEVwS2RXelRgZDlKYkFqcSt+S0hCYiM7ZnQrK35PDQo+IHpZ c3pocDRKYlFsUXtLWEhrdiZCK1Q8JUhGdiNOLWcpKWwpJHN+fmAzZE1CdXhnaXghNlJLSVY2bD9s I0R0fHIkOw0KPiB6eFczdU01e0VMQVd2b09ZRn5qNm0td2U0YEhAJW57KGxfKW1XbiNPOTAxU1BE akI4LQ0KPiAlbGgyKTVASDd5fkV0Uz8tDQo+IHo0MUt3WldZS157T3MoO2p1KlpsWXdWZXYpX3Ex Pn5sYGZ7ajtpOSluNHlIdCEmPXVnZzVqYmV3ZCNmPVUyKmE1Ow0KPiB6Kktea0hpOU8zRHJ5YjZp KWx1Jml3NWZHMG1rKTU7Wm10Q3hmKCFSSXR1ZnZlaz13QWVKRFMtam52bistMUdmPkENCj4gelRl XisyeXFLbChXVXUmcXp+M3RTQHdiMSR8RHVuZXlESHdKWDtTRmp3SVcxVkNKYXlVLQ0KPiBlbj9a ckA0Y1NkKWFBeg0KPiB6IVl3V2JkJnN8eyhZQisqUztWcX1NMnljdSpAU29VLQ0KPiBwclVndHl9 WVYyM3RHRiM0bUVRXlhqMWYhVEkmV1d+I2chDQo+IHohfVU4elNIQ2lRLT89JWNLUXI1USVxRVQz aT55UXFANC0kezE1dDxpYVordmErfkBLZ2wjPzMxPnV2Z0xLaC0NCj4gOE4NCj4geig9Z0lfbjcx N2M7VmA3Rl5kSXBPNSo4VzAmaSY1NCpxZW9xTSMyeXlgXzRHc25wWSZoMzFsLQ0KPiBuRGpJMUhn NTdQXw0KPiB6MWZCZlN5ampsYzFpUkYjQyVJZVIzUVg8SCQtIz8pI0JvNnRRUWM7MWNfSip+YUdJ fn1SWDhRRm5yej1Hez8qczQNCj4gelVoTERTbzFVOFY0KFJ5YS0NCj4ga21IbmprV0BNbiRlRypJ ekQobWI4fTR4alNZSmIxVldeJiQ5VjVZOyphZSQ+aVYjKw0KPiB6RjY0SVlQV0lPUFhNajdudzFi UjQwQy0NCj4gJVB6MEZKMVlUNWRBVUF1JmNvRkxkNjQxfnlYbF5rZ31HcEooSVpJJlRtDQo+IHo/ PFBifTRfRHpKVEB9amdVNnJqdWJgTFQzWEdpUlA8KXwwO3pNXmU2Tll2RlpJakdeUHsyRU12WWBa bm8yP3l6Rg0KPiB6UC1kPyVUZj4qQSFUWlk4ZihScy1UKCYzRDgxdlJ4KShTJmxDSzJjV2loRH5+ TTdENG52cWskaWNReCRDcHtnen0NCj4gek07WSZ0PXtBPElAeXJ5cjJAPikrX3s+QmxxQm5GPFlS KzRVYEBoK0VgcTc3dDlIOTEmMHJxTmh7QUVWZ2IhDQo+IEx9RQ0KPiB6T2UpUmwrLQ0KPiBeUkVs Oz5WTURSXnZyaEsranNlITNMa1k9WUFUZj5HKCFLRkB0SGopMU0/ZmE0UiRaQUV4NUJ5MT94DQo+ IHo5Wm9AK2xqRjx6M01rc1V6JV87bXVOI2V7SSRmKi1obDlPeUNeY21abD96aSMkM2A+UGAlWEo0 XlNyc3hja25xWg0KPiB6YVBYTlBJUVdxTWYmTShsPElpJj4+b2ZkJGhISUpUe0NSRlVrUXZyYCVs PUhYXl9HOFJpZHRgeDE1Y0A2JEkrDQo+IGBzDQo+IHokY2dDMSNHPlg9OVBhUWRkT0s2biFwfnkh OVpEN1ctYX5rJTFwWSY+bFZqNCNfWXg9Vy0NCj4gQyhzSHMmQWBxYklUfXENCj4gej13cCQ0Km1R MVQ8Zyh9ZEFEMkRYPzU3NTZmTTdtZi0NCj4gZnVwNEE3bmxeNEU4U2tzNDN3QThUeEtoSUxadSVw QTVoew0KPiB6aG16Kz9tKj0zMih7RTdGcDVefmVkcDRoKS15VjdQPmt2U1cleFQtDQo+IFZWR1Mm fWA/N1ZsJkNtYk8rTG9odHsyQms5DQo+IHpfTU88TGVJZlVxVEAyZW5GbXteRF59KCRRQFV7Tm1Z MHVZO0EhTFEkMElQQ2FiPjNpWTh4VWhfVG5RaUMNCj4gd2o5MzENCj4gemR8OHUrYGQja0kmaG0q b2RRNWhYd1otPHpkeDVnMGUyb3puVEE+VEE8XjhOdFkjflBTTUJBbkJVfm8tDQo+ICY9LT9YJA0K PiB6KDE5d2JmQ3FBamN3ZkJWUz8/YlooPCReZWBgVW1uVkV+KXBPfCVsX2haelFyRkJQTHY1I0Ux KjRrdSlPS3hMDQo+IFZ6DQo+IHp3fCFheDlHWn4wdE9zd0I9VW98eFl3KX50SlI2NDskS2w/aSRo Y3FlQy0NCj4gTihYd05MUFY0Zzw/X3hHYj0lU1ZlZzANCj4geiZqbDYzc3pDPzU4WkVTeFBAKy0t V2pzZnAhWT5qNSYjOUxnJjBIWjteTitKTykkQmgtDQo+IFZiZTN3TypPcWR7VWFpUQ0KPiB6QWdp aFQ8WFRaTzR2ZWhTOTtkKGdlZldXcXF4bzZxOWwyUTUhNih4anR6PiNQNHJrYDZ3Y1ZXT3R0bUNk I1ZmDQo+IEghDQo+IHo5fHIpTktqdU1+eztHYnxiaDU2eDRhSiNsP19FLXlAI0VXLQ0KPiBzQGNV K21+ZDxpaChUdH5tfEdNKHdMSD56cjF6czYNCj4gemdeTjszQD9OcT5Ia2VRdUdTaFYtDQo+IElD P2hpRlJPM21Cdm9HOWJzU0NnRTxHJmghdmJ0dylgdl9IeHh6fVomNml7Kw0KPiB6cVpVPCZTfGdo P0F1O3cqbn45cH41VnVmPlllbjVVRm1rTStOWHJJV15nfVV7QVNJU2o8eXZ7dF9kd0ANCj4gM3cr VDdhDQo+IHp3U3BhU2paWkg8VjA7TDBBdzh8JGAtUEVGRilIOHktDQo+IHJ2NXlaWTJNMCVyVyQj JmtYVX5VJiMlO0QlZFpkPjItUiUNCj4gemNeeztEdnAoKD4kc2YtRCk4bGJIN1JFMlBOdVdweS0N Cj4gckkpPUhARn5SQCNVZT9vdkpmQG9ONTYoMkImdlphXl5VPg0KPiB6NGlaSDlkal9XRXRmY3JK SmFJOHxecm9LJDJFcG5Ta1luUEx0YiZIfnRRQWJMdEMmdk53SXxFbDM4WUk3PEgrZyENCj4gemJ5 WmQzKTg1bUpSMDw7TEBQNWtFWDd6fikqaCktDQo+IE4jVWgxbXpjOW5zUG95eztOUiljM2whRk9n bU8weklQMilWZA0KPiB6a2hja1k4aXhQdUk0Pj47MSRIMXokdkQ/PjNyeUZeUjxaWWVeZVdTTGRL R2xldE1gc0gtDQo+IHYmcz97RHZLVkhKdzt+DQo+IHpNeUotDQo+IDRDaCVIfFBPVTlWOzdTX0pq N2lOTzNuNW4weTN0R3w9bGtaWnowTnVkSyVkZHR4Xj9PPnNiR3pUPz4/NzQNCj4gel9NQyNxKjd7 YnRfT18hXlojJXZ7d2ViWDlHKFdYe0BzTCM4I3JMRWxFeVpKPko2Vj4xcmJzNGpFSFIpai0NCj4g IXU3Vw0KPiB6Jnx7dmMoKUZkOGhpTjtAWjs1eXUoenVMeFFCai0hRT1KZjs3YXltR0xhJlYobUtg RHljO2kmPlFtRTRuZl9JIWYNCj4gek8wQ0xmaWtGa3ElSkpyWCN4azRRV2Z3OCZ1KmRIQXI0cE40 TkgtDQo+IE9GJj8wJjNnOV97TkU1dmQqKzNTUzRgNCNAZQ0KPiB6OXttYmtDUmRAI0AhbnwyUmhW Z0RPcWlWR1pFX2w2RyokJDJ8Qn14TnUtDQo+IE4rI2ljNHxmQitIKVU/bE0jU0NXNXFODQo+IHpN fWhBOVZBV05hSU0ofkQpbWNJKHowPlZjMD5DQGJXaTF8SGhXaGh3UXI1V3lJfE9VQVpnMWlvTnJT DQo+ICpCRSRmTE4NCj4geiZtNkw/VHNETU9ZPz9LNFRPeylxbzw2WkIlaTh3QW5Sd3N8YypsaV5N ZmM+S2s9dXMwIT01P0srMTY5a0pmDQo+IH56RQ0KPiB6NCMqdHAxZF91ZSlQazxoOUUzUkd1Knt7 Y1JLd1gyeCEhSCV2UldXMUh1ZmEtDQo+ICpzbnQ8K1lkOCR7MDZ5PDA+TkZwDQo+IHpeNEhzSGdT MGlYTUt8My0qRUR5bDhOKn5vcD9iX09YWitJPVkxaF9HbnJlUGw/cElsN1hJMCRneHkraWFjOSht Sg0KPiB6eEcqajU7KWRLI29YKX5EJVh3JnltWEQzQClwbFFgYWF5WUl0YiljPGhPQUZ+PSZVT1c4 YyFJcUN2a0x9Uw0KPiA5YUZTDQo+IHohcDArYklwVkE8aVc8NGN2WH0jP0wtc1ZqbjhHYW8tDQo+ IDBHdiZafD92PCYrWGtIY0FsdE1SWT5uQjx9Rz9lcmRAa0MNCj4genBnbHdxND0qQy0NCj4gX3ko MiM4e1RlR2BNO3c0WEVedGdZMGxGPkBZbjY9ciUhYnJMPn5eI3Y8YG5gQWxfPyl8QX1+MQ0KPiB6 NH41PV4jYENrKk0yeD5EZChYaSQwPHF1VkFtY3JuVWRydEs/SFokWWdzXyRvQGRHVDBPKHB2d1JM MTxEDQo+IHRgfU9DDQo+IHpiMXNGNl9LMkk9N1g8YWExXnRGKkh1ak58eWliUGZiQzlrK1claW5h YFpDa2RoaXxlcVZPQnFzLQ0KPiBENDhYVXsoI0oNCj4gekotDQo+IDBhTWZwdE5EekM8NktmVW1S IXtxKU5mX3JweCplXlomX0pJNXViUGJOOCVJS3NQKkR7Q1A+Uz1ONj9HVHQtDQo+IEYNCj4geiRH TEZlVmtfRyQyYWRsaCpENnNCYF47fWxPdj9YXihrR0wycE9RRT0jZmk7TnhXdVY3eS0NCj4gV1U2 aWh3byp4RGFNVQ0KPiB6dlMpZkRKVmVLN3FTN201KDBzOTBzTVIkZWJ3MGooNmxTYCZiellRez9V TyM5TDtUYG48RXczaTxMb2w5JWpeYg0KPiB1DQo+IHpAJTE2M1RtNWpHKT4oeEdfKV9YemRvakk4 VXUxaE1wJFRDNGYhLQ0KPiBufl9UN0tAZmM0ayEqKW43PnZnQHh0VExGYFcNCj4gekJgeFhxMEZo aExZbyt0NSVRXjVeaDIlJFlTWF41Z1BKVzxCPy15MGFKM0BXRiYzSjg9dW89cFUtDQo+IHJMdmEy cztOSA0KPiB6LX1NaEBUU2EoQlR5MlBRcUp6Q2lqcEpzYFA+NytfLSYobHw8NnZvfChZOUcrOVBD b0UqfnZBPDJ+WXF0djx0e0YNCj4gekJ2M0hUbEZrd2cjYW03dTJaalUkJXwhMiQ7YnZ1bFU5KGgj Y2dJenNYMD1lN1ltTCl5V3dpQXNtXnB6dDtBfA0KPiBMRA0KPiB6MWd8b2s/eVZQJDJIYDw7cktN MFMwYUZ2dDUhO2pVdXc/TU08SjVzT1h6MmMrcHwwKjhzMFhUcTNmPTAreVRxDQo+IG5BDQo+IHpV TGI5fFJWdHdaTGdlRHhiMHQ+KWpyQTF0UnImQUcqRztHOShedm1wVGJwX19ncnRGMilRenIkZ1ZS fGF6dlQNCj4gdn4NCj4gejVFbCZ3XzZMc01FQEgla2ZnU0Ymaj1YYHI3MWs5bihzJmopLWMwVmVp dHJ4JmtJPXdrKjZjJVhoYWtZNjJJODtiDQo+IHpiYjUrMjJWR2hgIyQ2amU5Y3NmV3ItJWU/MEJv WjctbDkrJnZjUnFsRCNBTTwreS0NCj4gYSojbjxuVGArVk56cmtJJFgNCj4gemU5fmJUb1hfMTco M0R1KWUxIXlYVyhAe2pwKEl7JU9HKVZnekhPX3ErYEhifFFBISEhbHt9KlUpSWYySWdWd3QNCj4g Uw0KPiB6amkqOElKWEJjWWV+TEt2PTZTflo+YiUreHFkNm1lQno3clB3VHVXO1Y4RXx0XnJOUmUy YSU3UFlqKTVjUncNCj4gXj1lDQo+IHpAVT0lQC0NCj4gYlI9SmBmZzFKOyZFTnppclk5Nj8qUSNh MHF+RmtyMm9NJEs+bH1wbT9DWTBsfk0zJjQqWEhAYTU3fHUNCj4gel5aTjwrYCVyJFQ9SWBLJjhN cnozZ3N7fG4wdiEqUW5LX3lyNml+VH4tDQo+IHRWYVFfN0JvcWNzPiNNS2RHOU9aTFlWTA0KPiB6 JFpra2tHTExiKUhNPFpMeSNIK29UOzQ5My0NCj4gJTEmYUg5YlhyRTAkU242MzUwJUJlVFZqOV9E NUlrcHJkeEVRbEtrDQo+IHpJLTJvaiZ5PWRUKCs7ajsrfjE/fHZmSmZTd0w2b3lqRV4qKTVQd3Bj Wj9NYl8hQGJSPktqNCtWdiEhfUc1ay08Vw0KPiB6a0I9bSMwaUNLSi0NCj4gIWVaK1dvbSZ7N094 e3lKaTxxK1c9Q0N2eUNofXNZPTN5S2Y2YXpCMTRwJTVHZ285VDZFYnhyDQo+IHo5c0xgIyo9VVlj JipHNmxoLUxYcXVxTHtSP29PbnAtDQo+IHsja31SbTIxOzxwVD0wQll3KWNlcUR2R3UwQTVEKDdW S3ENCj4gel9II1A1cGFYbmJRP2hgMns3TW8yb3xiNTRpMSVHUllsJTFUOEtIbzhneWRCOyM2SlJn SFFTQkRwTW5ODQo+IE1NISNXRg0KPiB6Z2NLdj4pZGNTPkQkRFlaRU8yfWh4I0tGcnlZfHpUJHl1 MD5sSiE5V2hpe2omZnhqd3kzI0ZEfiNpd240RDhkfUkNCj4genZXKUZAeCYtVzZIJS0pZyYtanBU dX1LR2xgRStAfGBFPkM4bDwtDQo+IDZmXipjRDBRZChnMmNPKFFGKEJKUXokUElZYg0KPiB6SHUw PSNTVz5wJVM+U2w1YG1HfG8mdElEQmNZMDh2aFF5Y0NWNnhiRFI1OGRrbVU9eGBrUVBiNXAkU3l6 DQo+IG8jcChhDQo+IHplSDN1SEBkSGRzIUV3c142aVRzSz1yRExfVHhzNlRzUSRxJHlxclMzdWkt DQo+IDhoeFk7bTRjMiQ1JjNzZWVHbEZvaEYNCj4genMqd2ZJNHNSKD5qKGYrS2xPIV5YUzJ4amZt RTJtaGxsVXxYTVVkenlCTnw4TlJhPW0pd3ZkJn1kaGF4ZkxWO2A/DQo+IHo7Kz80Q1lqP0NAQ0U5 c190TmRQfCZpSD4mZEB2O29UKkxxVG9Ycj5IS0s/anZhVnhUfDk/Z0Q5XjUpU0JoKg0KPiAtT2AN Cj4gei0NCj4gbUFjVWt6U2ApUVZjV2JJdSNfdztCYkFwNVUkcGBHUVd7NGxkQDlQMWM4fTclYiF2 fGUjTkZRd3ZFaippeg0KPiAhVCMNCj4geiNBIX1jeE9zKypXb1hRIXI9MV5KdjFQZVN3cXE8RUde MXM8aXx5YWhRa1hYLQ0KPiBrOVBCcUdWOHJ4IyV5PlAjR2pwTA0KPiB6T0AyO2k+az5ufSEhSzd8 eUVHd3A5Yl9aT3BPa3NALQ0KPiAhTVpuel5nRjVEWF80RlhLejZOdmJFSENUe2IhTFo3NWJBDQo+ IHpgaGptWDAqPXQyNjMmVT9kPT99c18kKjh1bXBPJF9JY2Q7aSglPXw9MyNzSWpHPn4tDQo+IFli PCk5cEdZczk/VlRjd28NCj4gejB5YG8zX3pwZktlTkRue3VsQ1ZDYERLVDheZ2RnS1lmKX1qSn0p R09IO1pfU1A8Ymo+eHo2dzJSSmJzXlNWdU0NCj4gIw0KPiB6aHl1OXVETTZBbWl7UndXNGJjKDhH SVpOfHlQSzlBIW1NeHZWSioyX15TNj41UlhQSVFMcXNRbD4lSEENCj4gcTdocyplDQo+IHo/K1Be di0NCj4gUWw1fikrbitNJDxJRFA5VH41VjFPYypjelMhQGA9VWtxQ2BYbzBkVyRoVX40WDQ7KEpP YFFqbVpyZHgNCj4gejBha1ImOUQlRGk7MXIhd1FAVFdRMVQ+bXZaZ08yNXlmKDFCbWxZVyFzdFZj JVVEYU04M2Q9NFN1KUtlDQo+IFc5JUxjbg0KPiB6eSY0TVReV01HNEw5JGk7Nj40YXhMXmd8PEtI Z3hSdjYxTEJ5TDgjJjU/TkRrcHJGJSZzJDQ8S0RVRk8NCj4gI1hGY1ljDQo+IHpxZmYoTDQwfjdx S0VVNFRgQn0hMXJQWDM7O01YRjF4MWtAcT9RPTdIQiViODVEbG1UITI5MlhRXiUrOF8oZA0KPiAm Y1cNCj4gemtCTHZQelRoRSE9YkhvcmUhc2pRenUkM0N7bUMjWk16MzlNN0d4ZHl7KWR5fEh5Nnst DQo+IExhKnp4Sm1nfCNJS15BSQ0KPiB6RnZzTl45QXJFV3hicmRsIWk4QlJ8QjcrYyZOLVZIeGxe Xi0mPkxxMmI9O2pfMmQwSG55cS0NCj4gXm0+VHI7KjQjbjs4DQo+IHpQUmk4Kj9KflZNMHJLUCEp dGc8d0RqTFU1XmNyKTltPVNCYm1qT3JGVmZ+Sms4TXYwMzltIT1vNGtWN3tiSA0KPiBDPT8NCj4g emo8JWk+NzxCVVdGPlM5OERrXlFkezV9fjh3cllYNndGe2hNIzlDRTdjM2EwYiFwRjd+TVNmO3Bf VzMqNw0KPiBfRj5LNA0KPiB6az9hYEwpLWtCNGMjVVBSWDs9MWslVTt7UXMoJFNILUk0WUMyRklT PWZPLQ0KPiBnX1o9X0wxPW8+fXg9NjImRz9sSk1XDQo+IHo1cWlVdjA3PSg0alVnbSVQeGZCQUIh bmFmPjUheiVVZGFMKjImTk9OMUB7eFBHbFV+Wnt5eWRid3MtDQo+IG9rPk0+NykNCj4geiY9UUJ4 ZXtzRFBpWUZxQypKKkM/WkpSejhAZkk0ZCZZanFFezU8RTQ4e1NsUElabiNVNXhgQDhrcEJ4N3tB fkcNCj4gaw0KPiB6OWhCZGpRPFkyKjFuX35rWihqTTk8TjNUQyQ/MHtCSENDUng3ekZsbFZuMTRs MGRkeVk7dURzU2lBMUxCcWNRZw0KPiBLDQo+IHp3NlRqKSNiWHlHSjhvWjs/NzYtDQo+IDVzPEZ8 PU9WVkhlUEM7YX5wRmVUPnptdkJsVHw/ZXZYWmchcFVMOEk1KXA9dEgNCj4gemA4bEBLOD5Te35F UHQrKm4ydWliWEkkO3RVaVNednk8KnpmK1kzM214QUJSQiRjb25eayo/YlRpNHl2anJgWERHDQo+ IHpsRmZVV3F9YStZQFE4cz1ae09vXyl0c0BoPCp6U35IRUF2S0A/WDVxMGtyKTZnMnV2XkpDZjdl ayFHd2wtDQo+IHNmSEcNCj4genUjNERLX187TyUodnpxK280Nn1LKGZpSGcxKDhlQ3pOaS0NCj4g YD5BaEtGNTA1cSQmQ0U9RXQ8N3pIe2Zid15xbTVucw0KPiB6OSF6UE9wSDFBN0llZy0NCj4gbDZG NiFXODlIbGhTKTxFYk1QX3c1d2UxQThiX0pHK21+Tlp4eTFqQUdQKWN1SCQwWWtqDQo+IHp2Tk1z fFQ5Mj82a2B8N1FlJmZ+OE40PT9QLQ0KPiBeUXx3VSVldndZQyY+aUxib1FMTDIqYHB4KkJSJSE5 aik1U2txb0MNCj4gelI8R3tsV2pRWW8rXiR3NnJoNiN2a3lZMT9qampMRjtKdmZQaiN8I28jTm1I OWRCUzdvTU9PWWcwZk5AUyQwDQo+IE87Iw0KPiB6bEtKSSNSe2xEK2F5d21yeGctNU5VJDU/Yiot DQo+IE4rU2NiaiglUCVuM148WjcoQHRlI2hRe144YCs2eWxvbXhVI1EqDQo+IHp4cChLd0taJChm an4ofG5qQG1WPjRwaUBOKTcjZnh3cyhkNStuIyVNWEU+Z3dfWXEzPGokSzwyZDF4ITYNCj4gV0VU MW8NCj4gelpeZUBaa3c1SXRYYTcjJDU0fChgLQ0KPiAoMGV1Q09yMXhTJl97cDgrcUR4c0dpeitU M3hRRXR2cSMmKDk8QGFCS0I/dg0KPiB6UGNGdyFySCloVEV9a1k+WUtQdWdEU0xQLQ0KPiA8SEBo biY5P19kT2cyTktFeU1KVFhtdnUmKHk8cGsmYCY8S0E1PWNzDQo+IHpkTCo8RTV3bGlVN35nYUol eV5ISlBqd2dEZDxvYmhGc0ZEPSZrd09oMk5+WlpgSn5MPUo5UkR4TjxiRz0NCj4gQklNWj4NCj4g enV3RmtqKWEwTyFQRzQ+Q3hBc30tb1o/Kit1RVJtUEkhciNUJUdHZjxiK3A9QGtYbzZfUmtOZWM4 LQ0KPiBrYENsMnhARw0KPiB6MnBaJUk/c3hkPWA/OUtiWXJYZXZPd3VOKytCdGt9dlpgSU9ZSlIm M29BeTQhWDEjPlhkTTlrd0JXJCtxLQ0KPiBuUCN+DQo+IHpqYnYzUWR1QEIkYHl+e1QrJiFqa19u QE5rUitDbHBwSH12I0VxbCQ9dDdlWn58OVdLb2BeYyo4Z252YT10JQ0KPiBEdi0NCj4gelJ2QjVS WVNzfTNBLQ0KPiBRYSQyRX5fRSlkOWtPO2ZyUzxWWmZhMW9qNU52Qz1TdmcldypOWTd1Y1klRV8x Ujk5YmhzRw0KPiB6ay02U3VsWUk7eiVVIUgySVVBNjAqSTd6SEI8dkRLWkI0WGlpZUJZTSRpbjln O0luTDVSKldiY1hzUGkqXjE/Z3QNCj4gejh7OykwYjxFOC08bFI4PjwlOGgrJVAoKHh8SSs+UyVm WlYzWlR9b1dgdilsaCFUISpHYFJuNUZBVUE8c3teYSFLDQo+IHpLU1VaZG1Ub1N3Mlk2clJGISE+ MiolMEAjOTFAN0w2NlVhMWlQWGJ9O3Mqcz09bCQxSkhodkUrV2d7anpVNw0KPiB3TjANCj4gemtC MEl6aHg0UntETzBfNyljfjE+dFVENldeaVRMO2I7WU55ZGJVV3dfYDArMFMtDQo+IHdvcHRaZn03 QzJCdn5LeCg5Rg0KPiB6WWJqb3AqX3E0V3VkMC0NCj4geFhjX21vXiV9dm1YRGZuRjYmdH1Qcnho TVpPZz9EWns+MTJtcmJVUllLJCkrWFkraUEqDQo+IHpJNXsrJU4jIWg+aEVNT2stDQo+IEg2c19P Sj1qekJ3THtPeUkmVzh2RDdkJXg4Q2NxP0Y2P2pIVFZfRnFVekQmTmokVUANCj4gekhzR2N6bVB7 dz42PyY8fnIjKylXbHReUl9FOz1rLQ0KPiBAcUE9QzhZND9yb085KClrWmh9RF9qJkBtKkM5I1oq MlB2bg0KPiB6MDtHSnxAbm8+RihzdGFNdlB3ZmBtSEs1Nz9sIU5pZ1NYRjQ5dnJ3R2M/KWtsQUR7 Ujk3Qyt9fDNBSnoxS1ckDQo+ICVXDQo+IHpzTFdEVnJuVUh7VHY+a212U25IT0sweURKRWZrJDlK QjF4U0l3IWdLV35TQGpAPjh3ZFNRS3kkel4jZQ0KPiAhXmJPPkoNCj4gekFCeWJzX3liMXQtbWJZ O1VMYlEhOT9YVjsxKHEqZFdkMHg0LQ0KPiBVbCRRcyFJSHlCJElZJWxnPDxwQ3tRNUswKUAwIw0K PiB6QzxyQlZFdW4jO2pVKns0REY1bk8lUU44MCh3UzEraFBGOzRvZXJhUW0kMHg0Ti0NCj4gWmNW WUlQQVJRY1ApV1E+ZENrDQo+IHopdTJfPDhzUUVUd013LXFNKUxjZGJLaVVPQ1YkWX5AMmAtDQo+ IFZIfUMjQ191TztPSXJyUmkmeX0zY2VlJDg5JFVlbjwNCj4gemtSPldJTjM1YGNPI3ZfNW5KYVQ8 ZDJPc0hZPWloRCl1IzdAZmlgU1QrbEk9VjxOWT5yJkRhQXRuU0B3cGg3DQo+IGV0Kw0KPiB6RUc3 M0BoPVcldTt6ZUErNDFhaTZ0d3VzKWhVcG11ejA1WmxkZypZSnc/NSRYUk5tI3UhfW0hMSYrNzAw DQo+ICNneGNuDQo+IHorey1fbEtSSyQ2LShIYVctDQo+IFQ5dl9hY015YlRZb0BWdXpQOSNRS0lR aVk+WH51ciEqRH0rPEAkMWYzN30mUkdaVFkNCj4gems9LXQ0eDZSaVE/OD9Efj57K0B8Jk88Ymct DQo+IHVfaXlgPHE7fno/RjtJZWwqeT0mRlJHYl9BZWphZXc5emhwNEFKeg0KPiB6bVRTN0YjXztw TjJ7Pl5LenIjbGt5YnVkNUphUWx7VDVzZ1lsQnBGWF9VUzskRD5zbmptNmgqPmled3grZGBEcw0K PiB1DQo+IHo8KytoeVlLKzQkZjdGcz9lN307ckpsJmJUayg2dHZhITxrM3ZjMXs4enVmIWctdE9f YzZOaXR5bHxEcjZsZ0tlfA0KPiB6WVE+UylPWk1KNXBAd3tTTWVaRDFMKkNeQEFMTnB8b2lfKkRU enohenZkWXkqdENvJDRLS3taaEo9QGINCj4gPXZwUUJFDQo+IHpJUEh+IytoPXZtZFVeWXZLPjli alVVX3FTYGh7NjlPUypCPjdmTXF1eEMpU2hFOFlCfldYJn13eEdADQo+IGNqJilYczMNCj4gemJf eX4rJmomWVZFMzlSfUlzc1RDJU9sbkZ7cDQkPlJgNEMreVg/cD5JSG1CNVAhTT9WclN5aEErYzhY XjlxDQo+IG9LeQ0KPiB6ZkhzQzBURiFTaVNsWWFvJChfdHd1YHNrJG80MShLSzJ4emRvd1l0fm9P enxrUkMwNDYmTDtEZSM7QEAkQVklDQo+IFQhDQo+IHpUdjtEe3QjSTMzMVYqRW9ZUFNtaT9nQyU/ JVoqQVNedWtyZ1p9eGh6NFFlanojZCY1JXVvcElgYjRZcmo+aTh7bg0KPiB6VU41cEFNJihjP1Mt NEd1ZEhoTDkwZGBEc3tkelBGa0VlY2s3SmJyLVckQDUhRm48YDdUKTBjQWkpP0V8YzxlLX0NCj4g ejJ5WUdWdzN+IU47O053RFlPYkUlbVZGRDJUd1JMIyk4cTY0QX4rLQ0KPiB0UHBJQXtAZWc3QlEo ZDkyS3YjJTl6YVNQfg0KPiB6YjZfPE0kMWx7fW4yWk8rIV53NVgoKXRFIWlrRVJPSU5sJT1sVyZo PjkocGNUeHU1NHdfdSFFX0lKaCRqPTReKg0KPiBuDQo+IHowRzFzSkhQOHJ+Jk5jfnYwNCZGTmls Uz9BaXh6bTNwOStnfFd9UzFoWT9XdnBkS3MoTStsb3BXSTlHUyoNCj4gQDRfRWwNCj4geitZMUQh WnEkaDw9SF89NGVLbUV4MzJ5cUpPJUIpKk5TUENOcGshRGx2REYmNyRXNG1STjBMWFNpeURjVA0K PiBjNXw7PA0KPiB6aCVycjZmdXVtZjNSKiZTN3VRUXVZZ14tDQo+IF90KHNTRlV4VSR8dkFYTEZa SF5JO0JTcjRPPjZzJGQ5aHlUIzZ1P2M9DQo+IHpOS2sjY2BzdVQpcExDZzsrTT5eMlRORituNEFV flVkQC0NCj4gcW1pciNBSmlgP3szZmBJZG5rWHcxZHsjaF9TPiNmKyoNCj4genBqPXROZGgxcT9N ezBpYUdwdzByQkRmbl96ayhuMTRDNG8qb3JnPCglKCMya1cpJWE4YElVe1ZfUHdnI3Y4DQo+IF4/ KA0KPiB6V3dMdnBNYzkxdEc7djx5Um1AQiFELShqTyZ0aj9LJHNGdHxeMy0NCj4gSldJX0ghPz82 e1ZiJjBwPXo4TFllbmIhKmNLDQo+IHo2aSlMWDN4UTRoU2UyVzFjRHdsXjxgdFhJZTR4e1BiJlRu LQ0KPiB1Vn58ZXVXSzliI05xJXNnSj9GfFdZPmtOezZkc2wNCj4genFSakJ3dn5lMXI0ZTljIWRe TVZAZkFjcEswQX1UV3dKU3BvTEBANTlNc3BmOXBzMV9QezYxemR7IV5TXw0KPiBXT1hPcg0KPiB6 eG9tOEc0bTJsc003RjB0MWBYUXRkaGtMPGIkXjR8RSl+NFBoZy0NCj4gcU8lUT8lUmxYTGRkVGR8 bHUwJCROZjglKGM3DQo+IHp1bWlea25YaTBIeUM7TGBAOzZ5SGhDKnxoaCZXYkg1RiZwRGAmdkQ4 cF5semN2a2MqN04kcTkwRkZ+WWhXDQo+IDtlalANCj4gekgwZUNabWtaNyglXkEtDQo+IEs9Xk5H I3UmbnJteVRxWX5PJmwmNU8rSVVBU0ZHKU1PMCpQKSlRdyFYYU1BalNvRXdVOQ0KPiB6MjxNYVF8 Rnd2N0lMK3hKQjlHVVA8d21HV1V4PVNUWX5TK3JXOSpNey0NCj4gMDw/JiV7U2JGdEQ9M2lHbSp7 UUdyMGFFDQo+IHojaGV6SkNhO1B3LUh+e0h7cEJUO256VmxEQVAkTF8/dWZzWmB9KFg3aW1pVmtk JilUTTU/MmxLVnwjaitlMHRSRw0KPiB6O3sqS3xVJT51QXs5biVxPDBgOW5JTWM/ZVVpSCNkZj1o bn5Ndlg4UiYrYH1AKTZDe3slRTwxPHw5emg9MA0KPiBxPkpWDQo+IHpVTz0pOFFNd2FlOEBDcD1w LQ0KPiBUNUZSfE1MeUljKnlAeyVeaHdZeTIxNEE/ODA9M0VGV2o/Rno0OTwpWnUoa3RvO3ANCj4g ejwpY1YyWUU3bzxUbWUpeFNGeWxKP0I0OzJ7Uj1PJHY0OHZaVHlubmBgeGcodlZDLUshWG5EZ2Y5 VktrKy0rdTh3DQo+IHp6b0FWa2d9ZCQ8IyVwOTBscGUpKjMobCEkRTBGRHVZUD5QIUp1YmFZQTd5 K19jVm5BN3BNeDRiXmk2WT4xeX1YDQo+IGQNCj4gekEtVyRGYzxNenl2dlokNk80fjhWJURBITxj Ny0NCj4gQyU0Vj5LWDJUbGcxNXVze0htMlV0SjkrSypCXmNFMDd1SWwhJA0KPiB6TyMyc1ViZ0NZ IyNYcCpuMG56P15ebkJNdXYjfmkheSZPWiEkRjcoY0dIPkomPG0xbzdvfSlRXz07ZChuSA0KPiAq P1ctDQo+IHo/MlFQfXUyNk9EMmt5M1RmRj9iaT9RakhnNTRGQGU4fDB6YnlhSjV9PXBIXmIpNGNF VUpXfTE5JmgyRChxX0YNCj4gd2QNCj4geiVkfntgUX5YUkFLfEVGMms/TDwzSnxITWlIK3kkaTQo XkYxPntNc0laRnMpZEBQYFc8Q2VLVz5iOGV0dm8NCj4gNnxOZA0KPiB6Zy0NCj4gdzQ9cHk2XkZt UXxye2tPfUZvSSZDR01TPjRJbXA9RmgoKXZ3NWNgNU1NRSZBbV9kd15vRzV0fl9KYWMNCj4geWBM eA0KPiB6JXBVeVktMllmIVglLQ0KPiBBQUBKJE1zWFVkQk9TNHw0QzEqOEglPFc1eW5iNlBRWTt8 JT07JnF8TXB5NEE4VWtncGQ0DQo+IHopSl57WEBiWm9HXklhUnJ3XntPdVV0Ny0NCj4gMGNhVWhL KVRodlBhVysrPjh7R0ZMaElteXBVRWo1NF9VZ2tXMVErQHwNCj4gekZRQ3xtcHBXJFYpclpvVGhm alZYbGB2P1U4NFotbWU3cFc2MGcpLQ0KPiBIWU5lYjg+ZHBTRjcjeX05NCNscmdhbmczMg0KPiB6 XzUkTSRhJV9PZ09tIXo+akgpPXxBRT5IKWdzUmUxTUoyb0RSeHc5SSotDQo+IHl6Jlo+czw1I05r Y2Y7NTlBaGltKUkxDQo+IHpPYGk/aE4qNnVFaXN3KUNzMDI3VDI9WFVeQWtoYT0/Vyl4VmErNF5R NHRkIUVjfGlTVHE2aVhkd1paKTZea1RzDQo+IDkNCj4gem8mUT8jUkt3UmF4czRuVmlNVXtyPH0m b1M8Zn57YkxAfCZDKHpXNC0NCj4gMjt9cygpfXUxcUZka0xLKyRNUDMrayheOQ0KPiB6ekpleEp5 R19WTnFZK1ZRVFRob3A7SEl7Zl9sSE1tQ05qTDR3TF9hPjtONn5fPXJzZEpyPHNWPzQ0b2twd2tp DQo+IGdjDQo+IHotYkBQaTF+fkgtT3J2aDtXVjQyR1R7JitSWm8/K0RvYklFUihDYk1oK2FDSmZT ak8oaVFRJUtDUD9JRS0NCj4geWtDcjkNCj4genNyaEJ6JiZtMzhhI2tkZTk4WmRWUFdJPGtqKzVH PSR4cmh2MUs3eTs4MnF9JnsrJjdfJC0NCj4gQiEhdEw3Pk0rJXxRWg0KPiB6NEEkalhhKlgwfGFf MFZ0cE1haGVBVCRzSHs9fipoM2olUDNvVkooajZ7MyR3ZnN6S3ZsV0xxaXRBa0tXeklODQo+ID0o DQo+IHp8QTwqUU1VWV52RFdiPyFRM0A+JCZ4UDtsKHZqKCpqJlo4O2w9IW1EPColXn10R0wwKyVn e2taVUNNQA0KPiA1fEk8Jj0NCj4genExT0UzKldaNEdgI3pvMzQ/R3haWUJjdzc0WWdkJmkjSlFf O2p0QEVUeStlcTBfODBEKkttQEZhRV42eQ0KPiBEPXNfTw0KPiB6ZFFrKF5mPnpKQzkrb2kwc1FF PGk0KilPbjZEIURkWk0mbXV8RERiK1Q5fCR7OW1oMVc2UnMyejRKJEY4WQ0KPiB3ZTxLDQo+IHok bHlAIVl9S0I7Sk1pTXdYaU0rMElUT0U0emU+S3VOMFByT2k2NThHTXZqWTx4dVY0SEZoYXlgeGNR ZHRfRA0KPiAwTTINCj4gekBtP2lTSno/dEpiTlF5TkJ5Sk5hX0xtIU9yWGNzez1+LS1JK3M0MFc0 YGgkPTRyQ3ZuLQ0KPiAwNUVFdXBlRDtJKlE8Xw0KPiB6YXVBIzItKH5WMDhjZ2crb3NnUihgPXpX TFBSTEUqaVB0PVpYVDdZb0JEdHMrSWc7WFRLVCVUPmYxd2w2dyExKjANCj4gejJYJFdDK3B7TkFK OXh1KD99fntmUV87cmM0Izk9I1p0ZXJiaH5sMjNpQzM7NEN1ZCtAaXZNS28/cyVobnhGJEUNCj4g Zw0KPiB6YD9+YkBaTkdedjhzRDhCX1hEfD9mKHUlWSV6Q05oUHw0QmM5fHpAJWlsNUJkblM2b2V2 KW9kVm4wJSYNCj4gUVJgSDVfDQo+IHo2KHU1VFVJK0hvaTUpbEphcyM/LQ0KPiB4XzAydz9lWGA1 PDNDKmJvQX14MnZUdypxbyRje1RVaFVgQTcrJnFtSiNoMGENCj4gejdVbyhtY20/I0B6dUIoPWBT UihQSWFTNmImeGchUG52bjBjJW5pOHAxQGdRPz0xQzteSnlzKjNxSSp1MFMwDQo+IENlNQ0KPiB6 Z0hzfDJWb2Y+ejN9TTQ4Vk5DODZgeGZHdGU2aypJRmp2ODBZJSlfRlVNTU1WUUpFfWgzZHp5eGJC eistDQo+IGgwfnd9DQo+IHpqMW9lUXd0Ym4qcnR4XnpDUGNpeDlDe3tfMkJnaWt5dG5ITzZmREsl LVFgWkk3Q1pld2RTWHJHaVktP1lreEokbg0KPiB6WF5uU0dzbDVMZyZIO2B5dy1NZSlZN3NBUDc7 O1ZOZ0hNeEAqLQ0KPiBaPSZydjRwTU47VHRuXkNrS3U4VEZjSFg+UkA8DQo+IHpvTE5ndWJ7cHJ7 P3FkNiNudHVsd2NWMXA1TUBgQCMjYzRQKmpAIWttQDU7dlIzO3MybUleVyY/TVczDQo+IEV1IyZO TDkNCj4gemUyb1lHbWFvd3dDWVdEdlclPFJOc2g0OVlOPnV1fEh1dE1va0t8JngzOEQjT3V7dUxs eEklQmY7bw0KPiB+aiR4eXh8ZQ0KPiB6NTR8KHE/fiYocUxpXyVCUG5LNStVVTV5MjQpIV4pZHZ+ eDs7Kn5xbjNuaG9TTng9fDgkZEJ8ZlFrXiVfMUANCj4gSXFoDQo+IHppPF9VSHMhfWB2ZF4yVEdE Wkt2bmBTZENBRWQtDQo+ICFtO1AmOXs9Nk1MYnFRNXE8Z0N4WHh3K35iOUJ5ayRIbCh8V0ENCj4g em1+VXZ5aDQ2a3pzdjhBZkVwRT5LJEtqcHMhaDBjPWRoa3dAMWA2PzhEYlRjdG9OcHFZVWpWO3da NDIqUFINCj4gTWNTcA0KPiB6Yzhac2wkTTA4Mzg0WEA3WnRsYGpMRTt6e3pibzxmNSZXKkRRaCl3 UzEzdFdWe3RHbkRZTUh9MnxNTVc5DQo+IFYmOGk2DQo+IHpVLUZyJk11N1MpOHVGcGViSnptPHNQ eVlIUFozZlBmKFZkXnhVTUxQPE9fPkR2LWZIR156dE9weXJuLQ0KPiArKFZVMD4NCj4gekMhfWU9 S1Q2OzJ5bFFCSGlHY3NCZVEyUTxiUlVjVldzPHxSRGowP0lhKms5dDNjWUE/Ykw4WnF6PmtYbTBo OQ0KPiAlUw0KPiB6SCV6NC15IzRmSDIpd2BMUllRdyNuPG4jKzQtQGRKQyRDaG5VMj5Rb1kwSEsx LQ0KPiBZd09RMDxVIWh6VW0pYGNZekQ8DQo+IHp3TiZjUyVZMTNUJEZJYE1NRk5kOCl7X15uYChQ bjJec1M1S2E+LXstDQo+IEBSUmRZek1ZMUFzUGpXVWdrSFM1JXYhc1UNCj4gel8rUWhATzc7Ym17 JU93WiZrQVh9dXM8SztSZkJWIypQcjhrZmEjQ0VfMl4mbm5YNDMtDQo+ICFjbG1PaFc+dGt5dD5S Jg0KPiB6Y0FAalg/JDQ5TlhqSjtBSWo9dVlOWWpQPVkzRWdnIT92LVYmc1h7WSg7dDI3X1U5OWwm KWxXSjYhdkZ8Uk8oVUgNCj4genNOPl8rV3FLektvZjd9cGVCTXRtWlJ0LQ0KPiBoe3FwOFZIXyFT MD16UlZtdU51VU9UbGx7WkUlUVV3YTthZEc8U15lKg0KPiB6RmJhRn1BKnMmbU5kYkt3WW0xdyto WEckV3BLKGhOKStoJnJoWj99T0s2bmJRayRMK1JAaGpZdUVUDQo+IDh5YEdCdTNZDQo+IHojQVM9 ekJFQ2RvXkhYMTwwWShSdiQjb1FTUUxPYzh7MG5tYylMPCQyJElENjtVVUBJUjBjOzFSYGo2TFAl Uw0KPiBXR3YNCj4gektGbDNqU083UlNgWlFoXk5CPmR5KiQpVSE4KyFpc3hsI1B4SyVPYDx1Xk93 IylgWG9BT21TPSNPZy0NCj4gbWU+TiYtZg0KPiB6VCNNcGFWTE9nZFl0K1RnVnRGVndici0wSyQ4 JEAtDQo+ICM1Y295YEBEY3IkbVZwZUNBJVlxJjJQQHA1KiFpaXpgbyFiDQo+IHpkTFFBYXFHeUQ/ Jl5CPzIqVGxpfDMhMTxQSkh2YzEqbzRoI25+PWgwd2NvQHwobk49SzJKZ1cxPkU4MkpWDQo+IFZq dWsNCj4gekhMPEYmMl49NDBuQjBzJkZLa1pSZ2NMVFhfKVdZR2pzJFVmNjh2e01AZCpSY3QyLQ0K PiBDfXhuQypDcjlDfVUoMXtPUg0KPiB6eTE/Ykd2KGRhfmdMSUt5TXsjYWJtJUFQNmE8QFlfb3B1 YXl4IVdRPmI2YyMtLQ0KPiBJayMpY1kpJmRKOUpsWiN9SnBoDQo+IHpyPTw4KCo1JlQwO1Z5VFp5 fXtwWHJeKTcyOVNIMFF4WkhpZkwpLWtCMXRVWUE4Um5fITBrcWtpN0gjVHNfeGptZA0KPiB6IWl9 TFArY2VSJnwxR21vWiY+OSo+RkM8ZT07WkE2WX44KThgfWVBPzhgREU/ZExwTUctDQo+IENPUlMp WmMzOT8jMHJMDQo+IHp3WExfJntMaU9jVHQxbUBlJHF6SDglIUw+dTEhcntCbXJedlgjZFgxdXtw WWJlUktDWj5jZTViZSFyZSMqYA0KPiBNcW0NCj4gekMkWFRqd340T1p5ZFMkZGdOSUooLWhEfVlP RSNueXw1QXNRSj94JVE0LQ0KPiBzKTJgRWByWjMyWlg0SDFVU0VyVDNRWA0KPiB6dGEpZDdxPXZo VDlzeyNEUVMqN3tYfntXcGFhQFpaZjhDPHc4YDAkSihIZlNRaU85e2orPnx8diNuZkhXUzdIDQo+ IEBODQo+IHo5eE8+N2pvZitlVGFPUDtaTktvfCtSJXBkdTRsISpraiNlZmwjUyQpUEh3eE97fjdM d290bHtePjNuemNiSG52DQo+IH4NCj4genRtVz9zey0NCj4gKjMqS1c1JDdeO1pfSHlRKm1ZbUJy TSU/eUJQQyZYVkxWdCRtTVFkKjxxVlVkPmcreyFWZ052QjI8DQo+IFUNCj4gektpMzlaOX4ocGg7 alNWe1VGV0EjTT5UKjw7eEVRdWd1Zjdme2xJYUVLZl87by1lLUdMXkZHKGh4OGQ5SC1OJHp5DQo+ IHotLQ0KPiBxfTwjUD95bzVBKXM2Y1IkfClkPUYmODg1dX1je008T009dHZKcnJ4KTtkSiU2fEoy WnlgKW1maFBvTlJOWmgNCj4gencpZ0hFVUBYODA9PHhEcDteei0NCj4gIVI/WiU5MlZyVns1WCU0 ZCo1ZD1UK3FJNVgyOUxaN3JkUlZ3VUVZYCt3UFI4KA0KPiB6VzNtcmUkUlV8R156dDB4VkozZzt1 UG05ZWNpbU1iJD1Ac1h7LQ0KPiBEX1ZQTX5VbSZDUWJedEtTelZ8RGRDPUV8N0NXDQo+IHpBUmol VGh3aG1EejlqaHY4UUpLazdlVTI9NjRicEc4MUNjbWUqUFpqPz1rK0s8bkpsfGNKVCtVQ3hoJEJk DQo+IHs1JGcNCj4gejY1a2JrPEVgYEE3fmk8VGU3MjE1R1FKfnhiQ30/PlZaT3RLVmBGakRMdyR6 N2UqVmYqZnc4JT0xUGxibUxWDQo+IHdmUw0KPiB6eiZPeDFeNE5DO1cwek50X0YhV3dUWmtnbEIq dnB6emcmTUtqeC0NCj4gdklDNFJoYGtTPSZCZWtheipfeXcqRj19aihjDQo+IHp6d19BWih0cTlk bkBHdVBAKWF3MkVxQyVRJCZQUypmPiZaTEJAJXpTVll9cjBaRj0wU20oPHB6SGx8cg0KPiBXQHkk IXwNCj4genA3aT8lc0RIYEB4JWkzT3ZOMGFaY3I0QyFgVzdRPUZ3KU5mSDVjdktRVlI3Qi0NCj4g VHdwKSReUChOJEUzcTtUZ0pfMg0KPiB6KHw9Wm5yfXRRV04wZm9eVUJ8JkxhVlFOdmQzN2pOcDxn I2BYVFF3THMjeCp6WnxxQDVJI24qOHlHbmNjbA0KPiB6LSYoDQo+IHopOCQ+TlR0MFZ8Ti1qNUQl TFUtdUNeLQ0KPiBWWjZHaHUkYW1sXz1MbGdSaTZDMDB3QUowY2l0K05Odip+YEU1M2VpbTYNCj4g ejRPKHNse195b2Q4PG49ZENHPXlAcTJLO0teaS0NCj4gfHU+WSRaUlBQSENSQ0hobDA0V3dAPk9L K0YwZ3UyTUE3cHFAUA0KPiB6OSpEfTxMK1NvbVomJHchPENMJVQtDQo+IHRqK0F5ZyFaTyY1eDRA UjxSdlheVCtzYylxaDtIdSklelJVU1ZwWEd6JWUyDQo+IHpNUiVvZFYkRH1wQD1Fbnl0bkRTOyl2 dTsqSStTTWpxN0BHZ15WVlp6JXFeXz5OI2RkLQ0KPiB1T196PF9xdGEmSWMmVlgNCj4gem0kWjde UmVHaGdOY21WYjUmP195MCRvSyozJVFmTCUoMylkWDVtfHByLQ0KPiA4UmJEXjFnck0xUSg8c1Al Wnk5Xz89PQ0KPiB6KWpCfGJ7cW96Z1Z7PkNOQXxPTGNxbntrWi0NCj4gdj91U0VVTXo7PTl4PlF0 SCR6bzRYOypSJEUjSmhAYW1JRz1rb0N7DQo+IHo0U1h6TCUqUT08a1o+I1NSKCtDcHRNMjA2cyNT TW5vP2NDem5JRmpLKXJuMEMoK0spLQ0KPiB2VHhFdGV9blFjZDY5PHcNCj4gel4wbn5jPihpWVZn K2YpS2hEUlIkYVB7OCFYXm9HfT5XRkBjWGVPemZXQ0hgQThGa3NgNiRaU3p7dXxKQCYhDQo+IGt7 RA0KPiB6OXk2ISYlfWpOSileVChDNE1EPGk9ZHt1VGBmU3hPZVJqMD9NZTUodUU2fStoRk81I3kj JTMjRykpVjQ1Nnx4DQo+ID50DQo+IHo9Wn5IPnR2eVZeamAqPVdafiNlPCNfZ0JWcTh7eStMZyk8 UTUjc09Ic3Zkdj5GcnYmP2MrRX4hZy0NCj4gcyZSXkFwJFkNCj4geiZ0VDxUXzlXPWAyfkllTTVx Ml5TPXByTE5NaUlxUzU2bXVpSndnQkg0KCkmNilLVDwjYGFpMjxVRUxjVDlXDQo+IDBeKw0KPiB6 UnFWU20mMk9OKnYhOWFUWGgrTUsyNH4lSXBPYHlYSVMqS0okSm1Db2lgcTk8QTgoQTxJcl5hZVZ8 Z1h+WA0KPiA9PUt4DQo+IHpPXykhKnFIViozYEp2PnwhRmFUKDBuJUA1YU57ZW5yVCVPbStATUw+ b0ZzaXVGaU5fM15TZktfRUB0ZVANCj4gKjF4OWoNCj4genZJKVdhP2lRd1JpWSZTPS0NCj4gQ0Q2 UXdST2lJPCZMZFJLQip5T1pwWGtPRHN4KkdaKUJPWiZ8S31rbDElQX44dDViMg0KPiB6WWVYISNq Klh3fS1gS19ZKl87cHlmQE5ubFdaTCRUcnktDQo+IGNjJmBpaT08YUh7dWh0SiUmVTJYRWNCP0BP Tm1MZERODQo+IHptPlhNVGNHUypId0BZZHx5IThvQyg2cTRPSXojTGM+NiptJDZ0QWZaSSYjSUVp O2BPdjxuKHQxJlAxZmBGVw0KPiBlP2QNCj4gekIzbGErSmQmXz9fMVQtP0dKU05TRzFEJSZvOXdI JCEoI2hPWnZYMi0NCj4gYjZ1XmwpSmJpQmlPKXpZa1pKOUg8OHtzbw0KPiB6cHY8Jk87VStqIUxu YjRJOGsrYHhtUTkxTF5xZDdRR01zVH1qUChBYCtJdSZmaT1PVzxyam8mKmdOUU1pTQ0KPiA8ajx9 DQo+IHombFlJIVZKK1goR01IKFRDaCh6OWRfS1AqVSpObHZCYnx7XjteP0NiN3UoQkMmVTcqQFlG T0FmKmU7a3o/dw0KPiBCbCMNCj4geiNXOTFHXjhwRVN8MUNHcWBxMiZNayNBOGh4UHtAKHxIYzBv YGpfRmReYmF6aWYwWGM0ZVllZzk3UUVkNCsNCj4gOU5aZg0KPiB6Y344Xi1lTVkkUzhiTD8qa0RM IUE9Un13bTcoRjdYSFo/Wlp2N3FULTA5SWNUVERUfj5fNW00LQ0KPiAmZGszU3IzY3FmDQo+IHp5 bk9BO2lLRXAmUEh2bVFUN1lXcWBuU3ZAMTdMVTdacTlqeilfPVlPeD58UkN4eEE5QnpmWDZxa0lZ QFcNCj4gSjh8XjcNCj4geiV2TzA+e2xZY3R1UE01VUh+cn5PPFZeWmNOU2FQMCY2ZlI/TUJIPylr SWpgZi0NCj4gMGEpWmU9SUVFV2BGQ2tUWExufQ0KPiB6cEJrR1YrOT1TY0dYblgtDQo+IG1nMHMr YkVfSTZWbUlId0lCYFYwe35QJjFhe0U2SVRGJj0+VmZ2STlSbWklQlNzT2BoDQo+IHplVTIlVXtP ZSRKP0h9bTViTmZXLQ0KPiB0TVckMVRARnZhQihFMHBpdjhOX2RBR0ArVmFXWFc0aGZSc1lsMUQ3 UG05VyYNCj4gellzcDM9TUx2Xm5QUV44Y2hzLQ0KPiBAeXMyd353b3EqMSpsUWlYUT1DTl9HaXox VG14PWhfdT80SUVxQXA3NlI5aFcjeQ0KPiB6TzRqRDVudyUlKDBydnl2VlpTZ1pTKmBfKSU+QVdP Nl9IczVvXihkS3ojVyUtDQo+IHZhaGhQKEpUWnokc047QlhlPzVHDQo+IHpeUTErSig/Q3QreFh6 cmZJYnVGLVoqeX1EPVhhZGxnezkmT3BUSEV1UEY/Sn1TJWNMKCNucTF9RDszRzNMPElPQQ0KPiB6 cSNVWF95Nm1qPWxWYEgwNkBCYHBNclFAUmNIdjluOUVjQUZ5M00qJXVleT5qaDxLT09NS1RxND8r bA0KPiBMKD9GXnM1DQo+IHpnK15Bb3k1a2lkTGEke215KytyezhJZ3NIMW4oT0o/P1I7azhva3R8 KFlyaHZVSHx6Knw3WkZQITRkd3FedHFabw0KPiB6WnhtPTN3di1AR0BaKShBTG4tDQo+IFhtODsy WGRvK25OKXRAPjA5ZUZ9NkdzKT1vYkx9IUdvXzloUm0hVTNTPiNyVXpADQo+IHotUFUwNnhyOWIh cWstTGhqdnY7UXB4a2p8Rm05Q1RSLTcqbnp4NmZKYV8xZCtFeEMofDU2TnBaIWI5Pkp0JnZpKA0K PiB6bEZzVWByV1JhTEBBMCs0RyFPYDFRK1VEeGp9JDZIdnMpVmRMa0ZTTUFEYz9NcCQoe0lxUmQ/ dGxhREktDQo+IG0/PEJrDQo+IHp4THFaUitmfH50VTNHYDJ2VVBkJmRQSnE7PiV7ezspbWQ7WCMy OUxNcEpUdXFjRGhHNkZZR0poJHtHaXRyWTdeDQo+IDwNCj4gelIoVElMQUQlMHNNUW59fHl7bmpN WkxhUEYhNXZrej5qdVBicUl6SE02ZjtaVCZoXzRzNXNpcj1LakMzeDdnSSohDQo+IHpNYVZid3Vn PnNnV1lJVz8tDQo+IHluejM+U2IreEIhPzBvWm4/cEVPMkttXlJJS154U3BwMDVyYXUrVk5FVnpT bGI1eUkNCj4geiVyajZSbE59WFE+aDQ/WGhCT1hCYXgpVFVXVH4yKWs7M3duZHlsa0BHa0k3R085 QTtVZCk7aFQrWTJLXkxQDQo+ICppRA0KPiB6RyVkenA/cl8+JmpIQCtvSVJVMXNRQldXJGVqQyp0 PFpNMlJoPnh7SWFxTmc0IWI5X1coSWYrQz1GKWR7Ow0KPiBmIUNVDQo+IHp0KFRvQ2ptMGtvZ2hy RXd5QDdCeVZldDEqdWs7UGE4dEQqcVlLUD1vRnVDaDs+KzxNfU5Pd05WbTM9PA0KPiB7LUxrOWcN Cj4gelFOK0YhYVUlYC0NCj4gKFVyVUclVT03e1pORjViN29XI1dlVFJBSkhGMHxCa3JYaz87dz9i QHhYaT1VbSl0NiE1PUJuIw0KPiB6YjMqblAhJGgzVTxDTClHcH4oNkBfSHRneWVnSDZwajtGRjxl ckdkPD4+O1E5JDcjNztaUFRiKntzfDBjNlNYDQo+IGFeDQo+IHpaP1pkZFNkZ08rbEFnfSFyYCEh UEhgKnFHQmR6Wm4lJTVGclUpJWkoc0MqOF9YQyR9RSEjblkqPjVNI3g4TUkNCj4gdzkNCj4gejZk WFFva0M3JjdvX3dvNFJHJT0zYnsqKENzJU1aQmkpPld8YiF1QUB4SS0NCj4gJjFqTk9xYmJMKjZF dCtRUjgyOyRNdg0KPiB6NllBKmFXSFZ0cjskXiRxQkRAdGBPWilPSF5DO2FlUHBTM3xkP3ZUYnIt DQo+IHRzK3BkNX5IWlYlfXtJakkyWUhzX1YqDQo+IHprYG4/Kl93IXEldE5IY1RWX2w/QXJFZDhy TmRMflMxP2xvOGRyajIwJGpqajByKk8hcHorb00qb3Z7SHB0fTJBWA0KPiB6PURnQnVYNTlWM193 IXBnXnd7OFElcmw1KVM2ZnY4aiZsX2JkNlY3NkRxdlVKUV8/WDErKjFwPys4Kjs/XncNCj4ge15o DQo+IHpRR288cUE2YnxBN0t6ZDQrdlE3XkRSTFU0dG5LQ0srSyo2SWE7dyVBejMqQ25NNCM4WiQp aTsoJnZYa1UtDQo+IChJb20NCj4geiNPVSpGd3ZLZmhuQWxodFFrZ0s3JHBGYz53M3UjfXImUmw5 WHsxZCpHWGhsZmBUTXRScnFIJnghPk0rOGt5DQo+IGNuIQ0KPiB6WjZUaE1UamdfWF54bGB0c1Vh Z2pGYX55aTYmc3M5UzBqVVApMzRBa3FFOVJNUDM4fnAoQGl9USMhdH5+TXA0bA0KPiBLDQo+IHor aXZ1O0pTV2B9aS16Qk1SOXl8dCNFbVo2NXFzWkZzJTskJkdKTjtSZDx7OWB8TGMqX0l3b21nP249 ZmA7ITUqSg0KPiB6KUBjNmxgVDZiZU5pQyp8eHY5ZjlTXkMwMT5BYEw2Yik/KG1PKlRTREd3cChN NFckPS0NCj4gU2BwNUQkcms0OT9sS3dGDQo+IHplVHE+UXJ8Sj54ZEFlfEI/MnNnSXtmcEc+OVgp ITBCSk48Tis5bWMleD1rYW5uNXZZMCplWDlgY1lQcThrJQ0KPiAjRWgNCj4genBPMVlfaklRbmQ7 OHstUmJoNWowQ15zRT5vIXJlYFhAe2A/YkJ5VDRWbVVeeztpNXozdDclbFNhSzRIeFk+Rk1xDQo+ IHpvfU88c2BTIVZxWGBIQHFGI25eU3BmLQ0KPiAmVClrPDZ9dkooXmM1RHQhVmlIXnc7U0lYU2hH MHZxayF0UXFRSG9GaDYNCj4gek5jVD5nWSR3bXxDPykmUE9gTXZNMyZURl9SamVDZnR5bSF4MTYw QENiPSU4U3I9eXgjUH42MntTKy0NCj4gNTlQPGx6Vg0KPiB6X2JXbz1HaWsxNz1eK25XPEAzRGd6 MiRIZ2JiNVkobHVJbTlydCRebD16KiUrNlVZME1CWHwlSW1CJDANCj4gP3JiRjJtDQo+IHpLQEVB PmN1RHJaSCpwcn4zdF97R2w1YnlfSTd6MmtGO2ZqUnRsMXBgaUJlIXFwdW51ZTZ1LWEpaTR6SjY5 Mml7MQ0KPiB6YllkX1RkZXR3OVUjeih+JT1ZcDRiUHZXKSN1K1chZWo/NmtIeSs4YmYmayFkQyQ0 QUhDWW9tdSopUCMNCj4gdWhFK3ptDQo+IHpOPUJIQl5iOFM3JiQ5MHk9UUR2Kzx9ZithP2Vkdj9e WVdCXiplWDlTal4yQVIxPTROdUJsYDVaI31zdUxNDQo+IF5NKiUNCj4gelh3QVd5QnFvQ08zSS0N Cj4gMHVjcEdvdCl3V2pWNjh8IUM8NiNHTWdzNU1kWUl9bSQoUCM5bCE0WD9UQ2JOWkNUbWB7Vg0K PiB6cks2WTF0ZEZJJWFCezB3NXIrKUFNSzxLbFF0Rz9OdVdCe3IpQFM1JW96fiRSdHVwT1dBeDV8 Q08/VjF4DQo+IG5JYzw7DQo+IHpFNmhuclprMTJgST1QNWtlJXtSaXptdzlINj0+RmF1XipBaTRs THVuPl8rYkFSSTdBSzVKek9xYn01anFDMUpvDQo+IDgNCj4gemp7Y3pOcTNSZCpfTEd4JnMhKlFo UFN9dyRiTDQ3JmNHbm5pVDZnRzdNVzBKR1IxWG0oVGV9ODFZdUZ+eV4NCj4gWjIoKQ0KPiB6UENz fDArVH58alUjOG1QMEhBWl9KZzhxbU02RntpNnpkPDhHZ09KbCMhMW9AYlVfUHxDez52fDFuX24j bw0KPiB6Xi1xDQo+IHo+KVhtdV5Hezd7YWBZSzRweUZ6YUhwIWRwQ3tGMUUzbzE+bXR7PlFZUkJp JmZLXnIrSGhfRj1LM2FMMXcpbw0KPiBVWmsNCj4gekhAV3ktZWpANW1PPX5oIWpVTi0NCj4gIT9V R202dl80UzFyZEQmYFM+NjhaKkQqK0hfcFg2THJGKDYrbGlMKkNESGc3MQ0KPiB6K2hkVHl0ZH5X M2tsXiEqWmUpYEAzI0Z5P0RiP21rMTYkPSZnIVd2Xl8xblJeJE15ZitEZ299NnlfQHENCj4gJl5I PG85DQo+IHomLU1OTW1nYEZgPTNFNXxwKkBNWjwpM2k8I0xvbiRAK055TV5wLQ0KPiBWPDdueWJr dEdNNyQhQyN1ckpWbytTMC17YngNCj4gendAWmk4RCRYUSlxZiZQRURhcyVZcShoITstZDFHPXkz WExhJS0NCj4gfkdoN0UwPXtKfTJgQVZoUEYzc2E8cHxsJmhBWA0KPiB6aUF0flooT1lHfiFaQWdY VnJ4akV6JipsRzwkPlJ1TlZ1b2dgR3B7Kk9ifj5CVzduRCZabFhZd25XOCFrDQo+IGhwJjJNDQo+ IHpkcFpzPz8tN0ZNQWpkWXprZ0NeXkhDaEo7d357WHFVeHokZyFgUHAwZlljVFhuQyhtVzYhZClO ci0NCj4gPTE1MGM8SlgNCj4gej0qbGwtDQo+IDsmYzJTenspMz9uPkk/XnFYelIqdWE1YSg3Wngm fGIqcTZnZXdPeUVPNnN+KT50Zk5pUTk+YSNuRSVRYg0KPiB6O1B3KCVyQDF2VFUxeCs4UE1qe3FO LQ0KPiBQS2k0ZTQ/VHJxcFF1SVolJHBoSH57ODYwdWtxeGJfZkhIbFY3NkkxZXxODQo+IHp5YFN7 PkxHfkR5OClRdUdwMzgofk8kYlNaYS1afWJtViNwREdPRjk3YlBSRyg/TiotDQo+IDhtYloyTmgh KUV7U012fSoNCj4gelZQez82JShVaUJifkxXNWB5R35jMX1LeXg9NEhSc2xTYyFxcUMtDQo+IFI8 QXIpRT5fN1Mzbl8kZk1CWUgzSShPOUt0MQ0KPiB6K09PcF5gejxMZ29Jd3t7cnpqZ2RYQHE/RCtF JFZXc15ZYW1ZWHw0WEN1YDsoS15zKjE7NnRnbGU2PX1UcTdjO0kNCj4gendyU0M0SXRvK2d4SFgp dEhLYzg+IVluNmcxJFdwYUptJitJKTJuMzktDQo+IDF5dyZSX1FAIyl4fDUxTnA2KzRMKDhWOA0K PiB6R3hCaWMpd0szNWBFbSRGQlF1e0BzckNoWVFuWHgwNCl0WXsmMTtpd2VtfDM5UDJ7KW1iakJp YWE9S2s9TnctDQo+IE5ZDQo+IHokKH5TM2YyUW5EWi0oaEtJI0VYYnohNjQkPXpPd09qOHtNc090 TX4zaXJqZ3xQOHVlYmFLcS0NCj4gVncld35IcX0heW0NCj4gekBtaFdTLQ0KPiAhS0l7I0k4WGAr SFNQOUdAMTcyMGk8SlFzX2pPQiVqVkdoV1IkfGh1aVEkdndJYldFPFd8VyNgPGBSZA0KPiB6P2Vi OTRGNyVldFhRKzM1TXFhTU5JNVZKZDN9a049JlE8cX1Xd31nNF80fX01TUNkRGlqKXNhd3UtDQo+ IG8oSUd2bDFrDQo+IHphbShePFhKfV5MU0VSSyY2bTJeSWUleWg3cEhlMmo8Sz5YezN+LQ0KPiBe aW8ySXhjKHdFaVZPWklSZng4bkdDYSNwITcNCj4geihIcERsX09xZHdZTVRldFRDNk5GSWlPMFhH bV9CUVFlfCNyQ1phM14pOWAtDQo+IEQkbnA5JEhjMUk4IVd2amNFPDlwMg0KPiB6R2ZrejxEPHtt TllrJG5oTiQ7YmQtDQo+IE5Ebll3Jn1EYnFYYDAxP1E7YnBGMkhLTE9kY30mKilFP2Q/Y19tRHpv YUM0DQo+IHpvOCg9Wmp4MEBPLQ0KPiBiNllAcEp8c2JqUDA0V25XUXZpR01EaGhkVnJYdnNfO2xk WD5FYWZPPjklaXQ9ZjhtTmckYWUNCj4gejNXMTZaNWpeTlpgNHYmUlVEQkp9cz9BISlrVUZ5O21W NzU/UlEzP09PSyEpSVNtX3ZFe0BMYm0qTXV2bA0KPiA+T2gyPA0KPiB6X3JXPl4lfXQ+QiZ4fDB8 c1ZKeHZyfXYlKV5YKTB9ais1SXhmfUhHMSs0OWhLUWtlPmgzRGRwI0Mla0t1VSsNCj4gTVpTDQo+ IHpTazltNGwlLQ0KPiBnYyh1Mk1LVF5zNm94SGZkJEJla0oqe1FaPV8xTj0/PkxUJWBsRlY9P3Nu ZGVYTmNPOEVWYDE9JXANCj4gek4mWjVtckE0TG9Vdlgoa1g9eGIkalNaQlVOMTJjQ2VHVDZxPH1W YX0qTUNLJTdVeSU2WjF9Xk1AY3ANCj4gM057enEjPQ0KPiB6JnBsUWZ4e35pUG5gJVNmO29YMW55 TUpTQz14PTt+bSVsJWVfOVdrKHtCOE9RWkF+YmU1YVBmNXpoWmVUbg0KPiBHbSpiDQo+IHpOKypt TjMmPDEzJUZvQyM8MGVjUEtjUV5HZ21TVDJUNi0NCj4gRyR5R0VSdEUzPlJqJmRlbzxEOyZjS2Jz SnxTVnlTVnQNCj4gekoyWHB9MTRVI3xVJDhSdTEoUWBzZGdBKUokaHpYX15ZeEs2MlpVMWZIc2Rt RyRLZTdDO3RtemIrTnJEdzINCj4gUVFvfA0KPiB6Wjx3IzYyM3RhZjgkQCVqa0xAWl9ZOWRAKSVx PGhjSzQ/dkIzWkp5aTRORi0NCj4gVGpLdFF6aGVlMXpzViFjYWpiPThiDQo+IHpXZUpXSmFPb2Zt a21CND1ALQ0KPiA3JSZ8Nj0rNiNrfklNam5ZeiV7dypIVE1nejNFeklhYG9ZeWQjRnVfaVdVQHZy XlMNCj4gekpHTCF9eGRrLXZHaXxpVyV0TDJQVVVGX2liUCh0fSo0WGtzXlFnQFhLKmhPNzM7VXgt RTlIMkU5SWZPPmB0a3RfDQo+IHp2KWYteXJ9bGgwNWx0alpGZztMeXNhSnVRelVlVEFUUTdnKE0p ez9aZlFncz1ySHBfcUEyaXkqV2JmS0JmbSs1MQ0KPiB6ZkVvdGp3TDI8dVhKTjhffDE5QVM5N0NF IVlWZD9TdUVeLUJxfilWKXglOU5BPy0NCj4gS1ojWngyMWhlekJfXnc9Q2M/DQo+IHp3emZVfEIw a05CNnFsS2RCeXlRZXJvRD1aJUllMm15WDthY2hSa2h0bW45eyRNP1R2LTxAMXBwXjctDQo+IDhr YFB9KigNCj4genBHKXMrSH5OKj91VjBVZHFQcH14V2hQN1Nkd2pHMGBvQCFkSl5aPTA5PUAjQXN8 YlAzSGIkemduXiYzDQo+IG9hNE9SKQ0KPiB6NTZ4a1lxb3Z5UlgrREFQZ205PlhqY0FAa21aVC0N Cj4gKUs3UUR9Vzg1dVQqaXBNKHd5ZypwRmoocEVsdjQxTVRQSVRvDQo+IHpMRjB0QTZVbjM0eW5W am4ofiVrbkUwPlV5amttPm9Bc3s2Rl5TQGdiPCEmZmdgZ0pgaTNXbzhGVXdGZVBZfQ0KPiBISjgN Cj4geiklX191Q3AhOXckKU0lalJ5Y1puRk1BYjt3JkBwaT44VVZzdXZveSVtKl5LYHBQeT5sITA3 bzhqLQ0KPiBHIyF2M0p5Sw0KPiB6NUMtDQo+IH4he1p2V3JrUCUxVClYYmFualRGRXlrenM1TWJz XjskJVQ3VkNmUSpgb0E2MnBWIzhycm5nbnV9ZD1pSjNQDQo+IHpUJkUrKS0NCj4gNj9NOVF8fiV2 MyNLdXlCK09PZStBaH0xSjg/Z1d5dlBHZHFWbmQoYXduc2gmMyF9XmpFREtAdVlrKT0NCj4genB1 e20tU2xBTzBLMzhWQVZVPU58OC0NCj4gNzRRM3ZWRXZmS0VEQWdwWEZKOWRJaX1vd0BRe1kqdlNM SGhFNm10Zko0dg0KPiB6UXQwUCFyamJwe25YQDIwYUJyYFc7NjR1bGwhSlBxNmthQHE1Wm1fNm5J cHNkeWNHT2ohVGFYYHlqYGxhX0BPXnMNCj4gemM+TnFzaFkjO14tSFA/JHozVDc2bzdmLQ0KPiAz QDQ5YT1mKVRGJmwrbGg5YmtPYWVUbjNYTGtOYmw4JVpCSTJwSigrQA0KPiB6ZX0pflMtOFVuOUZt a0lyZHJob24pbWtkOU54RHZFTnJ9UDA0Yi0NCj4gc3NjcDFAX2syb1FEQ15wfE5FKk1TJUhKb1Fv DQo+IHpmbnw4QmRwRD1rVUNGUllWUkg/cVlaejlFM01KWjZBUkotDQo+IDBVaFo8THZ6ZmZLQHl9 aXheQFZNOE9CPiVxP0QlY2kNCj4gem9WRT1xWTt3OT90OEtna3dZRWdmdDNUQSk9Sko/eWA2VXxz eWpTYyN5PXJFJVZHeld2bn5sVnA8fSNKQjJMJlYNCj4gMQ0KPiB6d3khWGg2MV4oIWgpMzReaCQ7 djtpXkdORnI9RHIoMl9AIUptej88TF9EZ3c+PG15Y3ElTytxaWFWTk1NDQo+IFEre2d3DQo+IHpW R2VmWm43RVFEckojc2FmVUNvfHBEMGo5YXU/MyhBU2xONTc3d2RESmstDQo+ICRAIUpMTFRLX2U3 fSFVKWZ8aHt6dUMNCj4genpgUnFNc3dFSm53NT9tMUApSWlxS1dudFRjcypIMGhCZUklZyRtZ0Zy MzFVYko9MkZiN0c/Q1JRZ0Z3Yw0KPiBseXRefA0KPiB6cEloWlRMXmZ4ZEt3UjdzR3coa31LKmd9 M1hpWmRqJj14RFMlMVJjRFNVWj42TnZMd0h0cCZ9bkJ9d081Kg0KPiA3d01sDQo+IHpiZEwpcFlm K2U3MDJvJlkhZ1pWPCZ2Pjgxc3NlI052Zkk0UUMtDQo+ICQjMWIoMzl2Vkk9anlSTUhlNFEwJlRr V1BgSlcNCj4gelhsejxPSj16Vj5LWmVnIUVZSHF1e3c+I14hTV5rUD5BfUgoJlJgRDt4dz01SWJy UkIzY1owTHlZKEp8NUUzU0QNCj4gQg0KPiB6U0NjVGsmU1pMaUNDZjJuYTJiTT4mR1NvT29SXldK XnhAMXNuSGtvNzUrNihjIzVFfmVxK048TW5KM3ANCj4gdE40T25yDQo+IHpRJHB0NnEpZU48N3VP RjdGN25OR01PQ3RZPygpU042Nmd7OGcyYz9WbSM8RFdfdFRFaFVaOT0rNkIrMA0KPiArOCNsbSUN Cj4gelB6MkZ4cXs4WUtfYTVDTT9OKUV3K2FzQHVoanoybiZDTUk8KnBgIzY2YH1hcXFHRmtnXlVi bSshZSstDQo+ID1VYjdXNg0KPiB6YHgjVXV2a3o3UXppO2NOYTxodmNBX0ooZkhCdX1+dzAqcGUw Zl85SCQjYUJmRyZwTnJXbD1vfG01U0dyRVoNCj4gK3NtDQo+IHokOWszUUE/M3pDSlFUPyMmemhA X08ybWRyQmJ+ZmtgJiprWCZ5dWRVS1hEO3dFWS0NCj4gZSlTNWoySXtVbk5ZQFZrR0sNCj4gemct DQo+IHhEcThiX1hodDFRKl9vTGZ4M3tVbk5RO2tSKiUkK0p4KFRvKzNTNDFQflpGPGImYkJGJEhA SVZka15VYw0KPiBNelMNCj4gejgtK1pqKzlhYll6U1F8NyZsfXR4JGd7MUpEb0FeUi19fko1PFhQ Kjsycnt2ZjItMkY7aVdNdigoc15EPU18bWxJDQo+IHo7LSRkUE85N1JhKGtkXmQ1bmY3dD0tDQo+ IEteSExMXjwwbkdBMWVhO0RMa0xtWWdGMzhQU14/R1dWTVZFI0hzcnAhRnwNCj4gemUhfHZzQS1L aGIxUSgtUiVOWkBsbit8ZFBMby1gPHVhSSg7Kih8QD9nK2Z4UWV6d1oyXy0NCj4gSjlfNihgVldt MyN5bg0KPiB6ZVcxO3E2Jlk7YSVuSWsmc3Y+MyhHQWZmMXUhdFl8RlBiQ093eDg7Z1RqakdQRiVj a2NYcHd8KU9OcDUlMWcNCj4gPEd6DQo+IHo/YENYS1BnS2pqMm9Vcjk7X3ZnRCQ1bndDam8mMnVY Nn4kZTRIbEBJQTVjLSFTZUQqSCRRSztZaTM2VWxqbTt7Ug0KPiB6dENQOT0xSmBudkdUY3dMM1M3 OVpNZypaYnVyJTZzM1U2ZjloMH1gTWk7bGd5MmFQX303P3Z8ZV5ZS3tobVBeUg0KPiB7DQo+IHo/ MEtlbHFIQS0NCj4gXklXOEt4dHBrMyRGTFB+P2Qqbj1uU0FDYzhWKW8+U0JHWkxjPWxoYkM7NEFm QT0waU5RMHx2fVINCj4gemFgak5fTTM+OERBMTA0cCooYX1+cE1eSXVZYT9yQmV7fFU9ZEpeWCg9 UjZVOzhVYXd7JGhUP3lDdFhQM0NtDQo+IEpSMA0KPiB6MEJlQjNOX2o2Rzt3MGc9aCZoOTFFWmpC cS04ZWk7X2twMHZDS0YtTG9hRS0NCj4gPGRpRDlOKE1pSGFaWEJBR1NfSWhNDQo+IHped2ttNUBo bzZUMihCRld5N2VTS1JxOzt6Nms4anZkJHpWYFJtUXdYTShHc2BeVmlASiRhU35NTzFIe2oNCj4g RDh+R0gNCj4gekxIK0x7JHhHZ2VwRDdhcERPOzg8VzZRSCZsLQ0KPiBqem9sR15ZclZ5RyFrSGgq MFU8JmE2QHclSl53QEB1WkxTK2FrXw0KPiB6bTxeYnBOLQ0KPiBrZD5xMz1DOU95MyhWS0JJWntP SGchMjYjYG4rYn5oVEFyK35UUD89RSFLQXlaS0RfQXRrTSNZMl59DQo+IHpZSURoLUotcWB9JkV8 OSo1a2N5NyhMITdzdEt7V0E0dSFEYXhKaDIqTCRgOVc/ZGV6YjZ9cUtvZXhRUzN5NFIxWA0KPiB6 KSswczVtUyoxa2gyKWgwaEl1aGhqOH40fSYzI08zOENsUT0qRThhS2duQC0NCj4gZztsKjFrakYo b0I5KCRYSlltZF93DQo+IHohcG5fa1FKNXxmKzFpR3I3c2grTClsMUYkdndRTDJ3RHptc0MwJU1p ZHFfSXhoNFdYfFprKCphQ31vTkk5O0wNCj4gZDENCj4genhTcHo/RmY3NkZwUihYJUx7dXlCXmRE RVBreCpuS1QwU24rR1F5RGIjXkRvSHE4dy0NCj4gRHlkYF50QHAweHQ5ei1yZA0KPiB6bmZjKF47 OVRubS0NCj4gcE5DJTE9QGYwcTFEUFgrfjYhZChtSHxySShIUnxZUkMkUkpMQVFVdyFQN3Z7UnN3 cEAtRXEyDQo+IHpNa35WN3Z9dUkoakB3Xn5KKlI2bjRZaWtfZjZSfUxWZUAwT15ebSlAZldBcUtj LQ0KPiBvcVd6OTtETz1yPWlNNjhIfS0NCj4gelp7OF4xP0N7UG00ZV5rOHVQSV8jazd7PGhHdyYz cFBST31pQnZIPn5va25kOzhHam4+KGheY1RYR3RyaXdDcw0KPiBaRQ0KPiB6IV5WZUV0S19jQkln aiElJG82QENjVEtyR0N5TXFZPWlFPF9vS1FUR3deTWNkN0ErYV4hQWktDQo+ICUjdldpYXNIT3RI DQo+IHp2RjFKSjI/NTBZJnkxTk0kVzsmZHFDTDRQWER4fSY+Ul5zdUxmaiEzP1NkbkYyfT1QP1hF cldWXjZsZEkjRXQNCj4gZ0ANCj4gejZMLQ0KPiBWd1J0eX4jJkZzMTVHdkhpfSZoYDA8aXArbHBE PyV+YjZfU3o2ekFsMk96Nl5VUjIyfkU1I1Y+XnRpWDtHVw0KPiB6cGNRcnslU3NSalEtXj84V2E8 aVA2PkheR1pafWsrX2paRjRqPDs/bCpzMGcxLTBQWXk3WXZKVyg+fT0zP3JLaXANCj4gemRXKVU/ XzskKzN1PjBjcUxYdWNwX1QwMWstDQo+ICs+KmBLZk1AYFJ+MWtpXmh5RXNxUmIqMUxkbzVPKSNk JXpCNVVkKw0KPiB6JU98RVE8KkB7RHN9Q3FeclNid2ZHcV5GdnNGel5LbEo5aTZlQWJrUWBDTUw+ dTlSUD9POEpHT0tjQjJCDQo+IEhfQTZLDQo+IHo1eW9FRHRAfjR6MUpvbntsfW4wKjM8RCQheGot MzlOcmF7U0BDe3VtP1Q3UUY4ZWBnbEc4S2crYVhCaUgtDQo+IFMoJW4NCj4gemhMJipqPkJgNElq V0ZHMCRLKGR7PjNLcjNXcyo9WDNCby0NCj4gfCVQZmRoSEpYcHZMfTk0V3IlUyY9R1ZgNlklX1Aw dw0KPiB6T1dMMSZwXjhnazNLO2l6PTJIcTZAVn5vMEU4dEktDQo+IGdzcTV4a3hhQUpwYHBCS0Jm aFE1bjtzTT1TTjQrVlp2ayUtDQo+IHpoVCFvKCRUaFY1d2tAKWRDYz02bSFYMihCY2M/ZEN6Y3to azg5WDFkX2gjXlJKeWhad2dTWk5IaEl0UFNTJA0KPiBieD0NCj4gemA8V2V3KHByVk5JamhxaXpW IWhKSk5obHJ5amM3WFZVRmQoKFJDdTV0IWcyRz9PTk9RdkNgKWoxfEdCYXA5cnwyDQo+IHpvX0ts Vld1UUw9XyFffkk5ajJxcT1iPD9KI1AzfDNFI1lCd2UobmpCeWNqa0FxbnBiRHNhUFRIV2ArazN7 SSsNCj4gS3ANCj4genphOH57X09RQTVEV3dSdjQ9OChxbzdeJjlzRXR+Z1VuQVh+P1V6UnA9dGNj cmtgbSkqPXRKSS0NCj4gMVF+WSFwRjk0Tw0KPiB6KiFxYEQ7OCpUTjE+MDsxb2w8QkR6LXwyPSlx WX54QDV9Qi0NCj4gPnR0TDNNMEFPRm5QMzdeRUp3RFlvWnklS3BrIzRuDQo+IHohPWlNaDNXcW1+ Vy0NCj4gQ2BtSVB8alEyP35jNzFFbDI7QzIoWm5QX0R2M24zWClGRF4pcilvNGo8V0djfjB7cXtI MkwNCj4gemNgbk1VPzBMdi0NCj4gPUBHKGYxPzVBTkUrdnI8bVJPdzRSUlFfJWBxKURHYTM2XzxA P25TT2FPREh0ZUBKWSp0cG0/Mw0KPiB6VSMjXz5sU2shMXFjY0JXY2FkNElDOUFBdDVuPDFyelhj Tkc8SDQlVU9LKkJ9ajg8bDhFM3FRMWFtX0pMOGkNCj4gbkhADQo+IHpXPDBxMzM8JnkqPE1sJjIp XzxEY3VfOUFHcStgUCtPS3dhK0BafW5uRkZ0UGhCMCpwVklIS0tQI0JaDQo+IDNYMih2an4NCj4g ejE+T19FQ2NZTXx6PzNRWVZyZDhiSTNoIXBvMk9ZWHp5ZyZaN0hlVD1CNTVBNHhzSilgNjloYXFg Nmk2P0Z5WnIpDQo+IHpEPUpEdjtgVXBLK2FIb2tlaCNtPlRnOChedFVzTG0pVDl0KzJEKG1fUENG K0REbEhDSG5wO0EtDQo+IGJZcTJ3ISghUmsNCj4gel5LaHNfSnFDZm9jbihgM1I/YD87Y0R7aF9K Z2haYWhHM3BBNElzLUAhUkBSKWxEQDheeWlTPWpwfSp0e1F6NX5fDQo+IHo0ZCE8WHF5VVQ4TCRV KFlHYSRFK0ZeQklhOXVpWmJSWUtfWVVwKmBuRXtoO0FGKSZQZyEtDQo+IHJRVT1jcmcrSGsmUT4N Cj4gempxK0dzOGB+dGAwZFlLIzdzbXNgI2NgVUdIN2JPdz1mX2d8VjVNKmdRYmZoRSVJbGdeUzMr eCFsKigoXylmWHw+DQo+IHpDc291QilYYX05cFVPTF44WClrckUqSUhJd3xMVzYhVyZhUE43O0Ij dG9HNE5sUjRIVnNKY3hZTH41JjBBeA0KPiBfQ2oNCj4gekQjUT01K0R1Nl9SY1F6PE02akU5a0E1 UVM1N2pndVg1Y1RlMURefkd7NHUjOEhQcylnc1hyVmk7dyF8MUpueg0KPiBmQw0KPiB6Q2dWJm1F KV9kOWJ4VTFveWV9Xmc9UHBUP2k8JSg/UElwNEs9S0JMUmUrJU55KDx4PWVybWN6el5AJWx7DQo+ IE8/RylIDQo+IHpIRFYzVlUyTEAjVGkrZmxXNHs9dkAwT3dVTVhZay1zWC0NCj4gSWNtOHU2M1FN RmR8cCEhMzhiRStWVFNeQUtGKSReZzANCj4gem4+IWVeKCZoaSRrMzJ4WEZ7ITgrQFU1X0FMOFlM cXJZYDB4MSYyQHkhbCZ6O3gqUShsUDFKOCVgUj9zI0xENGhKDQo+IHpOdzBlaGl3V3B3YzhzdTRz bHJeMSZJe0kxM1R9bXFwJWlkKlIwV1dyaXpVcDdXMGc0fHMjKjl6SV5MfkMxMw0KPiBhXk4NCj4g el8rTkhLP2kkU0VSVlg8JWJweSojPHAhIzt5UF8+TEExO3liPyVPVV5OQEwjVCNrMEZVXlc/YzNN YXUNCj4gMys3T1cjWg0KPiB6ZnZOYUhvYD1wRTh0Pl5KejdPVmY9U0dYVUY5JEZlSHYhVm9kbFk3 dm8/ZWZDZkhePDJHbXB8KmdeOGxCUzwNCj4gSFF1DQo+IHptQkRrJXF2amkwIzliU0h1cUFCenpP S21nUjApdmJwKWJ+JGFYMF9YNXNrY3M/b3hQamozfXBXYEI3Qn5pd30NCj4gKlcNCj4gelgqTkpX RnRkUVEtDQo+IF88WHtTSmhCX14raVRHUGZ3IzQ3WGE8K3hpZkEzXmFYbz56cmhoVV5LSkkrQms0 S3tVISRqcA0KPiB6M30yKyloezYpb0xyUEZ2SlprUU5he2NOMkV7anhFbVApZz90MXZEck4/YXEl dFc8PCMxTDgxd1YxUChMPzRLKA0KPiBjDQo+IHppOyNTZSg1LQ0KPiBYRm5FXlQ2aE1SJUV5Zmtr ZF5hZWhRKjhwbWlVRlhpVD5zN0piMnZ0WCNUMXRXJSUkWklEUlRpb3gNCj4gekdsS1BJVXhjQClu cyVpTT47aWR2V314RzV7NUheVz0zdnJiOVVFWG0xdGVyUkpgYmpqMDR8RXg2czhvJSYkVA0KPiBI Zg0KPiB6IVg+cXJQSWFMNlI2Kl5QeF5PLWlqPCRVUUErREh7KWZKZFMwOFZaK3gyYXdZK007ZCQm aUlTKXsxaDlzXikhS3QNCj4gejQ9Z35BN3V3dWFfTHVsQjxSUnJTVnZPWjdJQFF6d3pBTT1hPHV0 TFliWH0kKnhlQWQ/b3VkQ3lyYCNTKGINCj4gN2dIKA0KPiB6eTN5Jko1LTkhaXplI0NWV2goJFZF c00kbHlDKGQkWHV6VHN7bDd3OTY+UiRrWlRvKSNgR2FRIUFVYER0eGpSYVUNCj4gemtBYmclJklF IzBYUFRyMW9oNTt4YHwpcHJnZHRkdGk3RXJOZjd1LQ0KPiB+JmVMMlpkMnE4cmhKVylhKE9rbVdN ekomfg0KPiB6d0c9MUgjanFodFRiYjNVV1RAQz1oRX0+UVRmOCZTOzd2bXRSUENkPkczS2Z2KjZL b3BaYGxxTGxDaXRYMUcNCj4gMmtKDQo+IHojayN4di0NCj4gaTwxPj5qcjR6TiEhR2xLb2Y1Pis1 QjBxTG0lRnhHTW1+c3JHWEY8YXRLUig2Tno/cWt4RXUxNDdJSmMNCj4gendXUn5LSnZwP3Q7IVcw NkYoUihjeUQqUWRQaFk5SCUxcn1OeVhJRVZBTCRTbjR4JT9IN0tRIzx3cDhCVQ0KPiBaVFQtdA0K PiB6RHpINT18RDhMT3xMenpxbz1kPVkjZDxwVV42SGc5S1grSzY/TVpyXjluTHAxZjk8Zz88ZHZW PGN9fT5KaA0KPiAmKiRQDQo+IHpuel97JTtTd21xPEh7b300fVM9NDFsalZkZnU+ITMhOFRwTW1K NjRNMiRKN0ZDSyZOZG04dmQkSykyJXlTbA0KPiA9NmcNCj4geiVLTk5Id1VyQ14mUXtebXBjX2gt Qk1edXNldWVDVCt6c2N1dj4tdGtwQyR3dC18cXItDQo+IFp6IW17dF9TOGhkXis/bg0KPiB6Oz4w bD1DZ2VWOXlFM1hFYmA9eVc/PjVSQlNYbmsycWRZQFhSX1hFZG0mTD5BO2ElKHpVKWZaRU1wNFNi DQo+IHkzaHhXDQo+IHpha3opWVFtXmNQeHFRPmJRbT09bEshUmRQNSZ+R2Q2ZWpPVS0NCj4gSW12 YV5IRDRxVnhiI2BrQSlWZDVyd3t8dG51eVENCj4gekxqPFVZNHx5KWMkM31UJilmU3RkKT9gSj01 KWd4ZGBrfV8/WDt0KVR1fnRRKlBxUj1FbXklUm5nZklyTUdTIWBQDQo+IHpVNEVeMzA2Y3VKOSl8 Q3BRUz18KmxJKiVhezBeWkZETnAlUWExNntecUl9dTJHRFB8NG01SlpsIX5QXmJmXmQNCj4geDwN Cj4gei0NCj4gSGh4P3pBKG1LWSs0ZSU3bCM3Nig/d0xnMlkqbzthJD9obFk2Pk1zMHZiczZHaH0h QSZLe2NTKk1BOVEkfU0NCj4gcF4NCj4gemh2aiYjQVY7bjkqc3ZWYFJnan5+U3VyZmZpZUxgKzZt bkohTURBSFR5U0F6OCY5VSlHVWBsMy0NCj4gY3FCI0ZlbnFxQg0KPiB6O1U9K3MmOUJIPykyQmUy PnwrK2lJWE18akRWRSNvQiZDRTRGI3s9Vih1Pj9EaEs+NHUtDQo+IDJzZTJJcDM/UWk4IWdNDQo+ IHpmS1BsJUQ/dSVwcW1fdFNCNXA8fkJJRmRjZ2tQZVQ+fC0rXnVaRCFvWFlxNS0NCj4gdDBCWiU9 dyV+UE5ed2dGK1FgMCENCj4genB4eSFoKWE8VV8hNyhsZE54fHxBKSUxKWwqeHQ7JWFhRyo2Nk16 bWQ/cEVqbzVaemQwS2F+Y0NINVg3ZExnbw0KPiA8TA0KPiB6PnB8IzEpQy0NCj4gfnsoVHBmYmA8 azQ5WlZAdXVHPHpYKmZgR2QjTGVWeE1DYEUlQjBZcUM2dFZuJChyUkhuJnF7ST98DQo+IHpYYSNe P3BlUFg2V1pIXiZJaTBTdmR7cmk3bnU1KmMmVHZ1ZiVuIy0NCj4ge1B4SDd8SVR2Qk5ZNU9VIXI4 JmJ8TkBKQzkNCj4gekU3THhQZikpT1gzbmhhbmsmJWshNXl8LQ0KPiBPJWQ3UHZeRyhnfXFYZWYj d3RCOCZWMX1gP3dPYFFiNFNRI3xWeU1ZQg0KPiB6YjlMeU5wVngrRkBIZHtuKk1DOyktfDZie21x JjszbShrP0FAKXp8K2l3dyNRak4tDQo+ICNEcm9zY0E7X3MqKz0wbVp1DQo+IHp2d3tPYUQ7fEJQ SkotDQo+IFdBNWJQXmgkOVROQGN+X3ZqSDtze1ByYTcwUmlKbSlSS0NeUzdhMiU8XmR9eXlTYyFl WGsNCj4gejRBd1VQa3N4YkpteTEkST5fMylPZ0IobDcre2FhcSsqQj9tV1p9d09RYylNIyleRHdJ bzgpYT8zN3xWRUUNCj4gazZ2dw0KPiB6USoweXVrbz1WVyhQOC0NCj4gZlUjIyFUJlEobChCWT4m PHk4fXs5NW42M1JLTWkyWSYrSyVjMUUhPTNeQnp2M3FuaFRIDQo+IHpyUUtDaDV3NGdeIVB4Tisy UWZBPktqWntiZlQ2TGFuMyFuMntkTG1vVTJUIXZrQjh5dXVtOX41O3hIO3lwe0QNCj4gZmENCj4g enRCOV5ZZld+SzA8N0paWlZVPTFYXjNsTUFleCV6aEdQbVZVQXR5TyEwV09VdGlMMCY3Jn1lPmx4 aGxQZw0KPiBYNTlsbg0KPiB6S31QI2NVNUdXOV5KXnQ3bERtTXpiKmZePnM8LQ0KPiBtT0liMStG U2F9RDJmNE5CI0xPPmZMckNkQDdDTTc5KDFDS1g5DQo+IHpkajg/QGJUXykpWkV4SyojX2M+TjNr KXpMeyQ/MjNEc35BYUB7XlNrNUBnYVlNMmBxcUdeMDF3U3dSI2AzDQo+IEN8K30NCj4gem5GMElR ZSszODNjNHhSPTJAfHQ9PCV2VnxOP01lSmxFaUp8YEQyZjRuMTl1VnolOTImcU18bSYjOHZuRw0K PiA+SHN2VQ0KPiB6TXQ1XnBVRk4meisxRHhWcUgtUFBeYWFPRnY8ckM5QV56fXFEb2MlWDU1KS0N Cj4gJjVXTkRTSkgqYGJEKm1sQHpZXlZTDQo+IHpENjNMQDxMPnw+NHlYVlVNQ2IqdV8hQzxfYWxv I3gxTnZ5PSN4aUVIcj1ROFF1U3Njcm5qRnkyI1F0e2ZRMg0KPiBYMHgNCj4gentMVXY8WndIKUpw cS16OExXbEpAKzJNVCFeSFpJLQ0KPiA3c0lIMFBVZEhKKT1ecmtGclY5X2d8Z09pVk9CcF9GdiFn ag0KPiB6KjlodyhRVmdgSDB+e2p+ZVdrU1pSRlF8PTNwYTFXQipDKT9BfSg+OHc+flZ0YTw5MHZ4 PHxCfTk/XjE/NA0KPiBAY0tfDQo+IHpOblo2JXZ5Nk0/KGdJPkJaQyN8KTtCSUJtS3poTjN1JTdG fURiQlRPdTx5RnkpOFN3KEdAWUtlb3s4MnwNCj4gYXlkRSMNCj4genA+PHZEaUcmbWhJY15NUSFH ZGZpJFA+Z1NHemgoalowPjF0PHx7KDJkQ0dqUlBoX01rXndgajw/YGQ/VjF+DQo+IFdYVQ0KPiB6 ODlaTiNRKCtNVHJFVlhqPTEtP1YtDQo+IEx5IzYmS3lSMUh+KihnZGMpfD4pM312aGw2QDc2Q0BY ampqSzE3Q0NVVlJqDQo+IHp7VGRkNi1zdTEzPCR9PkMrZjRKJW9GKCl9LQ0KPiBfUHZDcz1kK3d7 RUokTU4mWFBiQW1GQGpfaXwybWBZZjRVN0hCOV8NCj4geipib050bmRhel4wfWM2Xlo5YElwbmRV YiVReUw7bFI3fDVwYVhUTmslK2FHeCt0OGRxTHNKVklCSEspfUE9cj8NCj4gZw0KPiB6Kil9OXFt Pj14K2RMLVA9LTN4JGhhZTkpKWo8YE9Sd3l3Z1A4OVRsQjVeJjtYIVRMJG4zcUNWUnFKOXk1YWxy O0MNCj4genMzMHs9RCpHTDdEcG5ObkBrXzI7azkjKnExTnd6MHRYellZV3ZYdCNvWFRmJFZ4b1E/ Pmp9TT51Q1JwUA0KPiBYN05zaQ0KPiB6UiQ/cCgoKyQoQjg+ZFR+NGJ4ZXAhNCVWJSYjYlBVTnJr RClYVlFrcGtwfkt7eVl1YFZXSVpZNTBpUzhlKWMNCj4gMlY+DQo+IHo/dklsMWBnVT5LbTdRJGpX UXB7Vm1sMGxpNjIrNHpSbTFxdFghPTNrYWNjNFhMSF4pYHJiOV51UERaUDtHSVFMQw0KPiB6QXkj RX1xe0tneHhqKFh1a0ZLNEQ7NmN2VSliJkt5YSp2TDNrXkRBaE4mSzlrNjJOXzh2SDxXNThPNE5i Ug0KPiAlSSE5DQo+IHpBZUpjMiVFQyE+YXh0Jm8jYXpheXF9c1FNPW5qaHJuJlUrTD0qbmlXR09u S1lhP1YrZmk4TUtWT2JwOGINCj4geGJebkMNCj4gekNlVn1JSWNeQGVMWj5IfmItaVlGZVhsZ2Zx KC1NWm44T0tIN1ZIbTdPfChyXjRoMmZwYzhyUEotZ2RYYkoteXN7DQo+IHpFTGh0flRBUnpCbDU8 NGJneVBlK1czbjlhSStpJDVUTX5CeFU4Wm88ZlNqVV9LPkJqVWQwQ0BEWkkoQSNiYQ0KPiAjdW4N Cj4gemlsUmhLVktIWkF1PGI5ckEhemFYaXFFRDliRjstKGxWalQrZyFgLTNWJD51LV9VUWR1NVVq Z2E+dnNEXkwzKzxJDQo+IHpoWnxpR2NhRjVeaCs8SX1OJHktb01UTWt6Nz42e1U2by0NCj4gcD5r S0tDbkRlZlFTa2VTWXVkZXI9QjE4bUs7ajNEe14NCj4gejFPRlUxaj5USFZfbip+anN7VmRhSDB+ R0VDMkIhVV5abjd4N0BAPHVHVlY4QktmaHtTe1RIUk8/fHhxDQo+IFdhJVJjJQ0KPiB6Uzl3bXls RnZSI25XQjQkKGViRXhmTEhjOUJhWkVVdkI2eVY5ZjYpfWFXPj5tKSUlUWFRMnRgMDxoKSZTDQo+ IG4mc2QyDQo+IHoodnoobChCTHJhZEA8RjBwTVl7LQ0KPiBtNEhJcV80bG4/UGBjVU4wOGRPfmsk Y2NJQD9eQ0BaQThPPyh5IVpnbXBzY28NCj4gekNaWCFSVjBfQFZqKmByUihqQ01ySnhfUWtXK1Fk c3xFUn5Cb3ZBWUdlSFo/fTUhRXByWWNmQilQSTZiNy0NCj4gXnVVIw0KPiB6MlVDJmtpKWVSWFdh cXJmJjRoSz4wWktQRkl1I1c1PVVDJSExSD5lS1RNV2l3dXBCRGdOcCU3SkQlDQo+IHI+Vi1nX0Yl DQo+IHo1Qj8mcGdtdzlHTGI4PXhWPCEzeGZTV0Zmc31NaW1TdWwoKDhSOUFVdzd9JXZxRTE9aUV5 OXY+O15PYW5KTA0KPiBVYiENCj4gejAmPkBTJT0mVi1WcTlNQy0NCj4gdCY/UTlNNmkzXlRLKU4m MFBVOz14MjYxMXVQTlc9RVV0PEQycXhoJHw7fTMpQ05eSA0KPiB6YlBEVDsoJDs/eHtuNmRKNXBC fmRMQ2lNeTVmMVoyNVMzJUpobn52dkthempgXmhSZkdGd2VvPzFoQWt2VztReA0KPiBZDQo+IHpm O2w9MGEjKkJUZDcqPFFeSER8MUJvTjI0RjdKUXJ4aWh5ZzJWQ1g7RnVuNWZfPit4P2c4R0NyU1RB bX4xSyENCj4gVVYNCj4gejcze3JBeHF8JDhyKWltX1ctDQo+ICsjRHhLVGtGJkZ9ZX0yfFF4bWFO JUEmTEt8Kj0+JWt9YWhueUg2SyR7Sj07bHFPJQ0KPiB6JnFJJi0qWF55UUM7T15zNmtwO2diIThH eFBxbUxlNmRoLQ0KPiBWRjA1eWQmeSFHJSltYzBlUWJwJTBLTWF0TnBWXnM3DQo+IHpYfDJOaXRW MmwlKW9yU2IxXk5eKnFNQkppTWVmN35xUlNwI3t8SlN7bC0NCj4gOzBuMEJ+NXgrcXBDVnpfU3ZW KWpOdXENCj4gelkmRHszb2ZRUFkmdWpzWkRvbkV2MEFfM2VDPGB5ZyZqaVBaOSU7OG5tSD90fTZF Q1otWX1XMi1qTC0NCj4gKjQybTw1bg0KPiB6LQ0KPiBYcEUqNTAjKUFHPyEpT089S3Y0dENqKnp1 dmpIbTdUZmhXRTB4cmpsfU0/VzxicWE/PzQ3YyRTYE5DUGg0b2sNCj4gQw0KPiB6bD0zREhtOz1H PllTPVY7KWVvRX5lVWQlQUcmYyhuZSM3QDA0VUZGcVlPMipTOTc9KEt7M0R6eHxGdSQ3DQo+IGtP Sk5EDQo+IHpwUlJsQXJ3Py10NnstOEd0fTgzRHwwI3YjMX1Jez47MEdlTmo9PGEpKHxic096fH1o cSpENTNaXklkazZaLSUrPQ0KPiB6UmxPfWxxcD9uMHE0UnZjVDRhdkM3TVNTZjJEcHR+MV8tckt2 KCM0VWRjY2B2Mmt2ajNaeiM0ez0oNTxzLStQQnINCj4genNxKk99Xll2aEQ1V1B9JCUlfCQhSlhP Q01BZ1loO0VGaHwwQSojSkVjI3ZSKV5Ee2c1YEJXV3hVSkMpfA0KPiBOfkxPNg0KPiB6YGNTb090 X29HfVhNOHk0PyVMMz9HckZPK0A+S25jMDA2eUVhRGJ9U3ZleXM8enxVKn1QXnc8RilkUyRLTA0K PiBjcDlTDQo+IHpEa2k/T1pzRFQmOC19VFJxSih5YU5NbDBxTFckaTFRbndPM20ob2tma0p6bDJz fG1BbHV0ZEdjVCtWe3RpQ1ktDQo+IEUNCj4gekZFSnU5cU1qZWR2WlNZS15Od0AoWU1YfmpucXd2 NmVwVnFGQV5qc1NQa0ZJZ2czcUl3XmpDOF9PVXtaWg0KPiAmNm1xNA0KPiB6aWNtPHQwOE09OWMm VSpWYUNBN05jVFImaTBUTU4wQUUmX1Q1NCNAcSFhRVZPaml6Q3VtSnJvWmRtOCgNCj4gZHtIQkNJ DQo+IHpUWVAhPXxLTUxXNj5sRElvJStFWSh0X2BGdF5RVGQhYipJbllkXkN5QUNrOElSb1UtDQo+ IHJBeX5wUCY9S15uIWYpNGANCj4gemx1ViNDRHdnT2loPn1mKzVxenl+UiNRRVdMZHNefCNuLQ0K PiBDMlFjKGw8MnIzN2pKV31hSEk2UnJKMT03ZEdtJGZJQg0KPiB6Vyo/OWQlfS0NCj4gPUlYckF4 QVBVTCQwb3BjSyg0ekl1KWI2cyNFJipWQjBVdko0UjJ1QHQkM05VZV9VZz9vMD93QGBjDQo+IHpE OXNvezd0cjFHVXJLfWRtO31uTjhhRjtEQ1RwUF8lK0s7SHhtNXZoKDxAeTJtaUptanY7TmNjamdv ODtwfSgNCj4gUT4NCj4genlsZ35XcThEV0BvLWBmIz10cjNEQmlVUTNgIVFUYWRrQzY3I05aQGBm X19EaF5IellRezw9LQ0KPiA2ITtfejZKSX53LQ0KPiB6QmtAZmllckJnak5KXj9PNH04eFM+S3g0 NzwqbFR9UEVXdXQ1aHlPTTdWQSFLU2YhMDlVZXozcUc8aihUNFpXDQo+IE0jDQo+IHpsU097PlZm TH5qKXBkcWJsfXgkbmRROzhPTUk+Nj9BKHlVUGRgd25CO0t5SEk7eW41dUlDYC07Q0Q9UF4pSDg8 bw0KPiB6MCR4PDUjRTBMbCV2TkhNQU5WdkZPSDRKbCFAX29qKEFIc0p7cF4oYEpGOTR6X31+KHgw ZEpPMlppYnNjKDZ9P3ENCj4gejlMO2ApV1FWXkhERXF9S0RvaXpLYl90S316Q0t0S3BIRzUrbWAz ditqQiMlXyV9ZEZNSilKU1hFUDNEXjhYDQo+IHkjVQ0KPiB6akBjPW9DM2pjWjdYclojbldOcm87 dmA1dV92ZTg+XyY/b055big/djdQbj5YJjZ5R3U5YEYwdEtoRjNgaTI0Mw0KPiBfDQo+IHp4cGBI ODVMdnotZHFEam07KTVMJiRgYHtlQkxLMXthZz5BS3d4S2wjQkdlSUdkKD1le0Zwakk5QUchTjxy JUYmeA0KPiB6eiFETlhebmMrODBwZ1BLYlR3OEBYTjUtDQo+IFNvUSpmdEZGfSNgSEEjYT4mP2k8 WDFFRzdzJjQ0Z2t5SCRDcCFLX31RDQo+IHpHWGRfQ2AmWm5oXn1Aek9hJCNmckEtIT50ejszNSlK MjxBS0JEMHVYMkJlM0dtT2d2cVZxZiVtSXIzVy0NCj4gem5HdjUNCj4gemZRYnVrbE5yPmp2SmdW T0w8JmFGbj9pOG17eXwqN2htQj9LOFZpVTl6TEckUik7fmFeTnVxbHxqdCVERU0/TA0KPiA1ZQ0K PiB6NipjdChncz5iJkxEK0taQjZeRlcjfS0NCj4gfXN5KEdpJkJkJEVhdyNSTk1MQlEreD5INiRj SH5lP1k5blEzfE8zQCMlDQo+IHpMZilJTnRsYGN4JnBleC11V245ZiFBdkhyOXplfjAqUEU9XzI0 VjR7P0dvUHYjUjt1bzUyS304ITUpJHp0diN1Xw0KPiB6RXslUDhzdVE2R1BfQGkhZDlSaTNVZHZ0 NUB8PEFISG03WV8zWSQ7blRtQmlmdVc1fjh6Z3h3VHVJQnotDQo+IHdQQVR5DQo+IHo8MEFHdSZU Ozk+dlJaYCNMYyE/Kz41VjhWNkVFaFZFYjh8VSNqPEhjRlpBSCMtDQo+IDlqPWU3YihpYT12V0xG OV4zcEINCj4genp3NER9MnpeQyU3R2I1dSE9RU5uK3kqTUkpR2lNRjx0Rmx6bFNTcjlKJFIwVygz eCFROUVAdy0NCj4gZ2MoQU9qX3RnQg0KPiB6UD8mO0wqZ0FGIyVrI2xwMzNKakwkcEFtc15VVzF7 UCQ/ZmAlYyoqaHRONismaGZIIWV5ZDt6PSN4LQ0KPiBnfXpoSWgqDQo+IHppWldWI299fHQlJFpV PHp7JXkxeGFuPV9FN1N4IVJBQmJ8IWRVYVQxYXRGakc3RmM5Tj16TntWUytMfWR7TGlmDQo+IGgN Cj4gejtmKn1tJk5vK1YkPHYoVVhMZnBwPzQkfkY9bH1SKiRMYm9nIT5wKWV4MTNKMTE3T0tjI2gw RzJTQ3hZSEE2Mg0KPiBxKg0KPiB6LQ0KPiBWQyZWVTE5cn09ZyY5V3A5IT9AWFNWSDI3M05SaEAh TVpRWXU+QDBwbG8mWV56cSVFUWxvcDJ0PDZsKQ0KPiBvZFIjIQ0KPiB6VkVwUGVkX3R5IzJnUFl8 SVg2ZzFSSnokSjsrR01aTWE0ZCQkMSMhMWF1eDk9dT9DIVhmTCtZb0ZCQ1BJNF5SDQo+IFEoDQo+ IHo4fWZXN2soa3ZYZCtkU15vcFpmPjE2VkgtDQo+IE9ePChePyVaS0pGWT88JXspZEBqZyp4QVBY Nk10PWNAYUE+VHRCbnoNCj4genlpe1RTe0I1dUV4ZlkhbkFKUDhZO1BwcExSampIeDwrdG9BWW54 KiFTLXAzKl9Hc0JTU0QpITJiZyZ4a0c/QiRBDQo+IHpZdGpiV0ozSkdjQk05ZkIySmBYcCtDeUxF YVckTDNkPVVFdkVIQEJ1JmN1fiFoZWl8Z18ydWJzU2ZOak00Pw0KPiBAVVANCj4gel8jJE5MayU+ I0RtRWg5RClKI19eYWxIfGdPZGZePmBLcFljKntPbTtFdCRUdyp+MyY7Z0wxK2g2VVhXNQ0KPiBR eWYrOA0KPiB6ayg+YnBjX0lCYEwkKlVgXy0NCj4gM3BQQHAwV0RibXtseDBBVDtnVHF6dkZeRyEo KkZoOD5lT3pIUTZKWVh3VGt0bk9GDQo+IHprM35RODRERmVuUGhzRH5EOVArREk2S0xaQX45S2xE cSVsKlJHTXtwJXt6JkVsbXU/e05QeVZ5SVBWcyoNCj4gJFhTTUoNCj4gejV+Qz44VUVNajl4Tzxf MmRANmdGVnBfSHxBUjkzZWY/ej05QTNIe0F6e34pITxSeGIkIytmTXNCMXx8VQ0KPiBZUm1VUQ0K PiB6TXNCZipqdHNVbkZJa3hUYmd3flJoUTModj9XYFJIXn57fCFVe3ImTiQ+dD90RTg0O35wOE9V Kkw8PlViKGFjDQo+IFlFDQo+IHpLcTVRUVN3QF9+SSNYd3QlRzZ+Rj5yYGVaVU16QFFVUFp7PEFk IW9GQWloZE9KTGdXfW0oQCtpOC0NCj4gSENAPnRmcDUNCj4gempCfUBPWkUqYVZ1N1VDSTZVa1d1 XiFebX5HdSFka0RTV3s8WjZTMipScDJvOXNiUnc+N0VnRWhXSE8NCj4gSTllQkNtOQ0KPiB6ZWsk PXkybXw1YHBEYjdHQE9ebyMqRiVsJnktDQo+ICVpfGhGX0VERGcyKXxAVCZaZld1d2dKQT9KfGlU MUh5MXFJMmE5DQo+IHpkZTJaNjtLVUBmIStASGt8OV9IKVRJMUo3dD9eeXRWUWhyYFZrOzIrSE8w ckIyOWI9I1gxQ0NJZWk1IWw+eDx5DQo+IEcNCj4gejktDQo+IEM+Z0lpMHp9VzhefDhiMU9ISU5l TzFjS0Y5KmZiezkjcUBSMHAwMzFOaGpJayFwQWpxOE5AaEdZfShaPzRgYw0KPiB6IyFITG87STBH KVEyQ3t6d0ImR0tWfU92P19VRD1kc15rK3gwdGZ0P0U+cVFBRUBFSmBzWlpBI2BCTSZKJA0KPiA+ MSNZDQo+IHpTJFpvRkU4O29TRG49ME10M34xR2Q8VDI4eF9maFhjcmJDRUxLIy0NCj4gJFJTejc0 YDlDbVR1VEdLIWQzcH5Ob2UycWUNCj4gekJHK3ZQKSpTcGEmeHV1fUg8K3kmMVY0PEg5aU9XJEtr Mj1BTX49aytAcWdQRj18a0p6NSNfN0Z0YW8kdA0KPiBvVktsSg0KPiB6T2lCMj1zQHQ7IUsoe312 eF8kaiZ1RWh4M1g0YnJ8alU3dSNTPUg/aFJTQ0xYPGc4Z1NOa1VEXyNUWFd8NXlJDQo+IGN2DQo+ IHpqMFp3a3BjM3dfUnVVT1ctLQ0KPiBtVFVMVE4hb25yUUQ2Sj8pV1lCUUkyWTlGV3peQSNheWk9 XmcpK3h4QEJ7TX5rbjQNCj4gelYwa0JUcytzYUZwJjxFWjNeVSlaSz9SZXQhejtwUEJffm9OSEtv X0d2e3tBe0EldnQjIzZCczVZYmlgakgrRQ0KPiAzbQ0KPiB6WFF8QGU+XnlPUzY2Xz5iNlV1dygl e0VWSTgmY0hWP0tnK0Vad29tT1EmUV9PVTtuQzR5SSlYfSF9WQ0KPiBFZCMkb1NZDQo+IHo7d24t DQo+IFprTGRJQiMpWE1+O29mfnl4MVclR2NTeiUqbVBIO0V8TCY/SkUpO20hJXJAdWNwP0s+WFVa PyMrNzdENHkNCj4gem9TQkQwYzI3YD0yM09USWQjNGUqWD5OZ1M/bURsekRUVTItT0xJVGFIbmhg Z14tDQo+IDwwdCkwezEybzBFRlgoQColRg0KPiB6e3dpNlJ1dWJObWJ5ZjNMKSM4RlVEandwKlpP PzF8PH1UYEJSPFh7XnowWnZFSjhJdEohLUc7TkphXlZeZGFefj4NCj4gempLcTkmaHducUtCQXwk KWQwQlpGaCQ1ODNnOTYrQykjQGlGQCU9e2ckNGQ2YTtjdGhmQWhLTjc5IWhpSGYtDQo+IGt1PQ0K PiB6N3VRRnpka0Q9UExzVC0NCj4gQz1JU0ZnPHNRdkY9K1BYR1BKKSNPUV9hc01UYzQ5dmdRWW9W RSQ9PEpIJHU/P0sxc0lBDQo+IHolJCQ2UyNlUiRFdXpvcUc3dmk7KWNtN3hXTEFhYXFZUzVnbkAt DQo+IFp7WER4WnRFRSMpblV2OTIjVl42SlVFa0d6X3kNCj4gei0NCj4gdlRVX0B8P0IrRVJ9X0BZ IU8oI3tkSz9oJWtAIXU0PWpFOzN5YWQ8PDZyaCtgNW47fChDNDUoUFEmaG8xKkcNCj4gYnENCj4g enFFU25LanlsZX0xTlNKQDlZRFpTKCYlT1JNdkxeKGwzPjFeWkIoZ25YMT51Q0gwbXphYl5UdCYk ZDY4YyNkDQo+IGAxRw0KPiB6SmojZWNLX1hnVlB9clBvLQ0KPiA3Ripab05APGVMalhIUnB1KyY1 V1ZfNyMkSmMhOVQoNkhWcG5mP0VzTUtjZWVjWj4rDQo+IHpQY1NXeDRCUHM3PEVEMT9ib0g7UiVk TX1edCpnSShiP2Z+X0BoRzNnKFh+LQ0KPiAxRTR4bmszcmd3MXE5ZWFKYEROWUMNCj4gemVHLTVs djthUkQwUWt5NmZTKGtBNTVnaWBWKlpMZ3gmWnMtDQo+IEVXbEVtYFBwTVd6XjRrcF58OEhLb0pv WVFaYUAkYQ0KPiB6ZD1Aek56THsjP2tnblUxcyo1P0JyRXkwOSE1OSYxR3pxbkFGcUs/MGprIT5w cSVRb01eJTM3Zm9sNEtNcw0KPiBuU3ghDQo+IHplNzBPPHplZCo8I2FXMHM1bE95JitQMnJucXwy PHlZVG8oTlFyRGg4SnVBfjsycXZEJFc4eWdoIy0NCj4gKnsjbV8+bzENCj4gemRxT2JMNGZrPn1A clhYVW5ERU81RnRLTm9rQkpIKHJFP2V7KkBIbkZtSjU2KC0NCj4gZmljKiZiO3x0dWRDeDArNGVS OQ0KPiB6bl9WfU4pOUpFeUozRnJ9RG93c1VGMWw3PzRYTFNOdHN9V2RxfjNJMD1sVFdYTzZBc3dQ OTElMEc8IzVOUQ0KPiArMGE7DQo+IHpGNU1lfjZfMyEpJlVyPHArfDw+YWxiaCRwakBwMlRzV1gl UGZiJHl9OWRWO3VgPkxSTk1Bbms3P183VXYNCj4gPzk2cVQNCj4gemhCXzRyNVYxJCtgeUxxXlN1 NGF3PyNORD4waTMjPVNXTnpIPGwzWHBGTm1GJEpVVEFVKWtZWlBubiYmIQ0KPiBtez5vcg0KPiB6 PSZXXjZVOGdxUG5RcT5yeFk7QUNHQkcpTHY/VFdUMEF0KWFGTHVeQWcwSSoydkJNPWNxZlMpNGt2 SiVrXw0KPiB3YnJ0DQo+IHpWWkZIfmgpM1p7MkF+aD15OFB6QiVFYFI5ajxjblNEZHZONEImKFUy V2pzbz5CbSZWTGg4cXJNelhyd1UNCj4gKnRneVANCj4gemlOcGpxZW45cENje2hvYE9ISE9rcnlO SnxaMD9uJEZ1RW1tZUxBYCQwVldzPHVRey0NCj4gcTBnQTMmS3o8b3VmXjl8RA0KPiB6X0F5NVYo MENtTHM8KXwpT0s9byNCKzdfQmV7RTRYYDYzRWpBLUBjKC0NCj4gbT5vNmgodlc1NWlpPCZeMXhx Kik/MTtKDQo+IHp5PjNBPGJ1djQ7aUFiaXEzajBjJF9zbmtZazB4ZyRvM1hrblRxaX1fMXBjOVE8 WXp9WGQybFlVNH1tVklSZHE3PA0KPiB6aDNLKSZWJUB4bjtvTX1GYkZ7QHBqT2VjMk4qTUI2JCti V0dFb01VWWFoVlNGZld5Xm88KzRvJQ0KPiAjUXAwaHU3aF5GDQo+IHpISnwpZStVbjByaCZCan1q JlghfWFDVXReKSotc3xkfkZmNGhXcEFTVzNsJE9kdUs2ZnVVaTNOJGlsTHAzbHZ5fA0KPiB6YzU3 d3dUakEtP1BMV3pZcHhsalVPUE1XMm5kWX5rJkJDIzx5LQ0KPiAkYjc1aCZsJVcjWDcxQzU5NCY+ dEdSJG94WGMjDQo+IHo1IVhuIzlvTFghQlVrMXNzUHA2Vnh3WWFncmt4eXlEQ2A0bnF5QEUmVCsj WnZ4N04pWVNER1dKV19MfmZ6DQo+IFFqb28NCj4gejx5JncjPlp8TUM4NS13ektRfE11S2lHbH43 ck51P0doYFd0eGFkZVY/fD9EOTF2KXVjVC0NCj4gYWIlWlpNI2hZOVhzVg0KPiB6ej9uLVBDRjF0 bVVAeklhaGRGUmFOMmdtazUyTUAtDQo+IGgxdXptVjZvQG47MkpYUnMoWHgyYU5mO1AjcHZeJmUq Iy1hDQo+IHorc2s0P2NgVXEmWkkka3R4X3gmRl9MUWVHUWpoNktKKGx9WEw2S0RScXNpN3MzR1pZ VWVNI3AxeHp5PistDQo+IHsrV3UNCj4gej5BRldEcHFqZUpYdXJPQHIyYTk/M3dqXiV5T0tLczw4 dW4haD1YMyZ5Kj94ZV9WRWJKI1ZlPGNUcUNfDQo+ICtmOSQkeg0KPiB6aV9RZFdPVW1SZk5sWTYk VlhVZjFtRnRnTDJpTnRITVh+Qy0NCj4gJEhXST12VFgxXmNCRVR3TWlUR2VpPjN6I2pRckpkDQo+ IHpVbmNXblY2UCNBXyswSVFaMS1VV2FrNzY0NXI/YCNgUSNvTXNLbSpaU2xNNnhxNmstPz1kSHMt DQo+IDF0NjtIX3N4MkYNCj4gemNLeDFjYHdLJjkleU9tRndVTD5LbiFOezdeP1J9bERkaDZIPTYl czt4QyZCdS0NCj4gNEtvdClQO0FtPnJ1IUZeQmZDYQ0KPiB6SHt4NyNyXmpFMSl8PS0NCj4gdjlF RyF7RzRfWDhZP2pwVG5PKXglTytHMlN1RE1JJGc0Y2FvMktIVEdKMFFHbjJ5e1ZTDQo+IHpfIyY9 R2c9NyluKTJHVjhnWFhUSz5FZmpsTnVIM211cClVUW1scmo2V3ZoVENkJVFBVjBFIzQhbWQ4Mg0K PiB2Kn42KDwNCj4genklUHhyKmBxbi0NCj4gam9kVT8qT2U3QkV8e2lzbjZsclFVRHZoamdUKDhO S0dScSVRfkVUYCRvX1RMX2hie0VAPUlsew0KPiB6LQ0KPiA9bD9sYShAcFZZb1QkUURyOUBiOFRI UkM/Q0wrdF9EPWpCaXYzViV2WnJXUTNJIz13RURrWDVJMDZAbks3DQo+ICY2cQ0KPiB6b2paUHVf TmtzZVZMb3kobFV0YilaP31nPllHTEdZUDFpckhsZDNlYHtJRHtTaGxoQCErcFc1WGJ6K302YXk2 PjANCj4gejxaZmhDZ3tod1E/bSU5b29SI3BDRVBuNjlKZCk/RSZ2M0tgbTgjLWQjWlZvNml9ezMt DQo+IHRyUGF6K35aQjxlUWJWNg0KPiB6Smtmb1BYNnopTHI8QE9ZQ3hQeT5NX2hycWVCeUFiPyFJ KjBlViVEMkAyfUFxQE5VJmpCVWJKOWpfI0lvDQo+IG9ZO2tHDQo+IHpibExRMWZucSlvTj5yUVpC Zj5fbEh0eXpoTFMobUJiNkBfVHI7NWAhJDhsPDcwbFRaV3NwOHNHKi14c2xkbFI9WQ0KPiB6P2p3 TFJ7VVM5WVQ8bW1PYTRMcEBHdDtib0h+QH4jPXt6T2lOTVpBeHw1Un1GJlhIXj50KkQtZ1hePC0N Cj4gK0R4JTM+DQo+IHoyQFQ+SUR0MkhQPThgfFkxRkl7T1Ehc0trPHB1VThiVSpQXz1WMVhMKUgy NnxXVzYjKS0taWtGPT93Rml7fC0NCj4gUTYNCj4gemI2UUJHdSRkTnNCekYoJngyQz9yVF59QTZM ejhYYnBTJVhuRFF0amtwYyRySjgjbmApMG1iSUQ0TTxfTD5qDQo+IEIkVQ0KPiB6Tnphe1BaJn41 R1RoRmA9blNDczB5STBgckVNd3g/eDdueU5hQjl+JkJzJnBfbmRtJWRGc3FSYWZ9Kzk3bGANCj4g MTNIDQo+IHoqeXZ5TGZAQjZxWWcrcGt2dzY4KHU4ZXc3WT5JaEh5QiU/QHBaRz1IO3JXPH1QaiUk bVQ7KH12JG5fZHItDQo+IGMlYFgNCj4gejVqNXQ1I31UJUR7e2lraT0tfFdyTD4rdl4tDQo+IEF3 P3BvN3E9Nm5gXk1VU0xodlpWZHB1P3loU29nKmNDalJsNV81Tw0KPiB6PG96XnRpWC0NCj4gMTxL bGtqWkZHIyEkJTs3cjAwWlpRZFBUJHR2RFhVd1ZqZEheWFIxbnchQFhgXmxyMmwlOWJYXn50DQo+ IHpqJHhAVGV3cHYmRnByTHctZT97X1E/N05RZyszbXtTRWMtDQo+IGtae3BpJGVzX2xlMVBkUTxX WlBlX3hlNW83WjFLREMNCj4gejY2PkdFRXxCYlpoQlgydjcmezV1dT5edVVtU3cqZmVEVkwlZz99 WFhiS1g9K3NVfnh4ZVlMQXBlIyphDQo+ICVHeWw9cg0KPiB6ZXl2KnhaZiNQayQtDQo+IEhEPT9K QVhAQH5AP008OCZVbXxJVmgrYVFRU3xHQDN7SzduS2ZVZjxNYkF3WUxyQ0doUVc5DQo+IHpRdlU1 S2xfSyliSldIbGNsN0hpYVBoVHh9UUxUZTRAJTFALSVeWjFnJDlKdnsjWlEoLQ0KPiA8WDVBcUB2 OEM/KzRVeFkNCj4gemIyNGoldXQlZzw/Qjkhcip9d09YNjdSeUNnVUkmZyY3MjBuRVErcVpnYHdW Nng8R3lhXlpMNWptKihAVg0KPiB3eVpZYw0KPiB6TWRAPHMwcjVze2tNJWdhZ247LQ0KPiB0eHpt K1A2ZFFsa0QrP0k9WmRkcktDcFdoTnV3THRWUl9ZYU4hUSpfKDZ9OUBjDQo+IHpONGBYdkcqWFA1 SFRBdUJQQjhhVTZINEloVnZiKVFBaTFXbGNVZmBuVXIwfCtCen1SeyZWRjtWV1RnSjBMMQ0KPiBH UU4NCj4gemdWTiQ5Y1dvNTc4cTl+aDdnI20rKXpvKjEkbXl3Ui0NCj4gWG9oNFUzeSZzd3RUaSg1 a295Xzh2djYxQVBhMmd1dVJuKw0KPiB6bld9UjVuNXBVdiRlVnQ3XklpS1VJcDxtIz1FUmhpTDM4 ajIhcWwrSlNIJnhLbUNBZVJ2S2Z5UUdfVV4lZQ0KPiBqQnRUDQo+IHpCVHEwd2wkeHolKns7dlV4 cyFMNT5TI3pRIUlKWCU4K25sVkhRRTc4b2xwM2BJTSpVV2UzcXh8PVFMKj9AMA0KPiBkcj4NCj4g ei0NCj4gMVcpfFJZYihjRHRCWnJUV0Nxaz5yN19UTGcyVG9eRkh6YFNGIXZnVmsmTUBJMEJwfHol TkBPPUU4U05aIw0KPiAzViUNCj4gelUyYkgrMzVeWT11V0ZENjhlJGBDdDkkdks+X2x6Y1U7JlVr P2NTdyQ8b1Z1dHFIPl5SbFAzZjElQ3FFSVEoDQo+IDsrOw0KPiB6KU5fJDhfYCopWjMwSCo3aXJY flBDU2dmS0N5ZHUkQHgpKyM5Z3pUNVZAM0tHNTI5elkhdnJzaTxiTGg8UX1aew0KPiB2DQo+IHoo Ki0NCj4gPDl4aFgxY0BLVnkhPSgkPjJ5NjBFJFEoPDJ8ZWlAJShEdWFKUiooKnBVWFMxamUjcGMm bUBfTFJ4QkdrPA0KPiBMDQo+IHpANlhGPiRJdDkrcG9HMXc/QyNINVgpMWI3P3J0PUtJckRAbDE0 X1peJmgxaXYkb1lBb3R2ZF9iTE5BelVlKg0KPiBHVlQNCj4gencqMVZ0RXZkcWsyaXFicmVrNUhm amlufWYwIXMxcXVLb1JFMEVYWE5NV0NSKzl9ZEZjWExjQHB1aC0NCj4gd3lYTlVIOA0KPiB6P3km dz1rZW1NZ0luZFVwMyl8QkV7e0coc3txLQ0KPiB+M3d4a01rTzBYXjRVdWtTZWYxISZfKllnXkRx ez9yVTJYPnEqDQo+IHo3c35ARk9aWUNOQzswWDFWZj1kRURFISpKNlYydFJ1O2oyclBjMTlxMW5F YSlIZ0Y/UmRAYFN2QCNGYkNKfDUNCj4gJDkNCj4gek9xQDZhayFaQVM1aitTPHpVVl9iQlJzQXpN V2BjRW5WNkhEO3thWUxhYlppNV5YTTVAeihPYEtePF9ZYQ0KPiAwM3Uxaw0KPiB6I0IjXm02P1hj Tj5IOXBsLUVkR0dTOHc2bT1zSXhLSjteTGZMc15WaE1ES2w4NX1ObCFwWkBnaVFzMzBKPi0NCj4g a0VUDQo+IHozd3wyU2p+b1I9PHdxR3x7THlaa095e2szekRremRKc1NtcSshci04cnlORTNmfTJ5 YTxnUUlDaWtyLWVwO19mMQ0KPiB6PH14PntpfjxLQCVWaVdBUDVzY1UoKkFybXQ3SXdRKCZJdGg0 YzlBaEZ6Tmo7P0NrSTlVR0BNVXBmM3tWPA0KPiBhOHQpDQo+IHpBSjZBXyhxODdaSXIkVTk+QUUl UU89PFFBZntlUUVIN2puTXhuWGBOYWtjWWRAYUJYcm1mNDt6S2NwOXhLDQo+IGc2PHQNCj4gekJe M2ZNUmVQZmQheGNCODQhV3QxbHBgciFkdC0NCj4geVNyYm80NmJrYFA8Z15mM2dEWCttP0AyUTxW eCo9VmhUT2NjVQ0KPiB6QCVxSU45Vn1talIzaSM1Y0xGNU5NZjhiX1hLaDUrWTR+VU5xJD57dCMl KFdgKFI0fH1qa0JBMz9pQjYjQzgNCj4gVCREDQo+IHpsWWtGVipMVFZtZm1xPGhPKjN7RVZMJj5n UHBgWEEyUk81cUZMcDY9RGB1JiQmSkhDUit5ITx9biU/aFYNCj4gTDlaXloNCj4genIjbF5YVDVi e35FU0JlRGxWYmA3SGROSGheKlhxV3d7Q08lJSszTnpYY2d1Jj51bigjUmhRNlYoczlFWg0KPiBy KEZAYw0KPiB6dG09eDt0XjZJIS12PDhWJlMxRzFTcFY3RWZsRz1xU0JFLUp6YXNQX3stDQo+IEVf RD87bFNnM0hvRUBBTlNofm8zRXFBDQo+IHp6a3BgbVhqWW9aUGREfWZuS0heRWgmT348YEBAZkU0 KDApOyZ6UXhiKy0NCj4gWVI2dFlnMk47KDA4WGZvUj4oVFc/Nl8NCj4gemM1ZX40cERaTytIVW8t DQo+ID1rP1dKVFh+Pm42MSMmRXsoaVVPZG4rQm5XOXJoVU1GbiF7TXVubHFLXnx4YktmNGZISQ0K PiB6UHUoKWs/eS0NCj4gQWkyfExwREpDcjV0TlZle1BDMlNgPmpVbzJ3UHA+Xm9TO0ZtbnAjKWw8 KmAqPUhneiNuU3NYSlFeDQo+IHo9MUVqIWFMSlJ6OF9PcGkoeCRxVXcrPjV1I1V7ITsjO2kxPzxr S1hZKXtvMlZ3RFV3QWV8fDx8SSRQWWlCdGJHDQo+IHwNCj4gelJuYEcjTG17eDBXSykhZHl3I2h1 Z0EoY3AoIW49bkpENDN6M2ZieSkkKHRacEs2I2deUXNifF8kIyVZM2FiSg0KPiBNRQ0KPiB6e21q bHh4UG0zYHVpV2RBY2xOeWtBTHJsQWV8KiVWNyNVRUZiI29HRkk/aUxjNFhvcihsI3Zzfjt+PkRM M3BJMHwNCj4gejAzJmZVUE1ETiV7Y3ZLc19JUG5oRjZpamxIRnZSZWdvRnF1YC0NCj4gRXtVUVBW MzRPWVpYJEU9IWppeENDelU7PCZkQA0KPiB6RWw+TTQlQnp5bkswYXNIP1EzTlB6d2ZyKTclWWY7 YV50UmZrJSZ+QStuWENfcDgwMSVSTSF4NGc/WU4qDQo+IDklKWk9DQo+IHpBekVOU0NRIWtXaEwo dVpZYjF3X3BWaHE1dTRFfGEzNDJ9ZXY7Qz5zI2Fmby0NCj4gV1JFRUZqWjRyK2hCMVk9cig2O0cN Cj4gem0jSjVURjY2SX56WjNYLQ0KPiBsRGBtRmp1Kj9kPE5QbW9qYEpeRVl9SCNre35MdjZpaDcz fFE8eWBtYSpQQllLWWRyTw0KPiB6KztjWSQ+dChhKzJVdz1PPk44Wl9EUTduaUVJVT9vTENiIX1A fFgoOyZ2NUh9K2JIRFJVXmFoNShjdFJ9MCluDQo+IFFTDQo+IHomeG5OVFNWRF5aeTxDNFVfSUBZ KEYya1drJn18a18yY1lgTG1ERkRufDhHZjUmYmdnLUxlYUojXlRULQ0KPiAqYXdEOXYNCj4gekUp MS09bEs0clQoM0VwT05sWkNeLUMmUDFOJUJgbyMofSFnUjRpNmxIJVgxb1RGSC19cWdgaC0NCj4g bT9POD8jNSpNTQ0KPiB6ailLWT4lckQlO3hGbFhIaVNed1dZd1FYfHk8Tj5TWmtDbH5OelJjXnY1 I0NmcUB2SGV4bUoqI0V8KlVeDQo+IDEjKX0zDQo+IHpRVlBeRzU1enlSUUM9YitFdiZOQ0UwP3JK YkVXcU4hTCpNezNgOUp8RkJydDtGMU58QyhSb0AxZSVWciUNCj4gO2g+M30NCj4gentxMk1QeDtW WWMlQ1I0SjM1bGt3M1htIVYqbzAhKEtkWm9kRU8kZT9UelZ+I29TTHFiJDBwTmwwWXoxaz9UDQo+ IFl4QQ0KPiB6S2A0fXlGQzFOdFB2MG5Ma20kQiZxfDQ+OChSfEl6dHowRn1eMXtIbUoxTWJJa2xr UVhVSXlXPUFxZ3AkY1lQDQo+IDlmDQo+IHpfYCY4S2NeWHJDQHp5VUdGfmBaU1IzeX1AOCEkc282 d2liI3BxPD1GRXNUazBqQzBTVFNKKlVmUz53KFEtDQo+IHlTenANCj4geik7STF8WnJVXktnYWVt fDQmSmlWY35sO1hJVWBhYT41VktuSl5gb21CKXl4e3hzVTh4Km5JS1JURWR6e09HK0BqDQo+IHp6 Tn03WU40Z1E1d0JYbmxadU1JRHFOXjZURV5tNUBjWUxxfm83MSkraDBVQmAzbWY3NnZ0RE1kVzUj DQo+IEFwSntiUmkNCj4gemR4OW9qJWc+X2Ftc3ppZnAmcn05NT8kV19qMi0qLQ0KPiA5YEZ0JWwo R0hNV1M7JHtZcyE/IVUlMXJrNzlPNVY7eXUrdg0KPiB6Q25uaVdlQkE1QUZIIXwpPkpjPHVgNThn ZThIQG80d0s7N2txX0ExQiMtDQo+IGQ1bXZxRzFRYk1nUGorYEdVPlN6UF8mDQo+IHpuX0NHRys8 LQ0KPiB3KTVrYktscGgyKCYwUyVXYHlsazY5UjxUdjxoMmwxKWltOzFWNEoyJX5YMHZSaU81UFhX KzdAMUkNCj4gellrJD8yVDIhPXYwZyhqNkhYeUNvcUp+SXkpPWYyNFN8Y0wpZjRec0RvXyNoNmN4 aXZYJm1UVjdvcWU4fUlXdVINCj4gQA0KPiB6SVd1JDRuS1FoSnk5aFVOVjx5RURuWHA5WkIwNyhL PTFTIVFVQDZwQ1ZQVzVwMzQwJTU/fSltRk5heA0KPiBoQlN5JnllDQo+IHphdCthcWZNaVkoaCg4 T3xwb3JIdGF7VS1JMEshdSZBOD98RV4kNDFQNHc+I2RBbCEpd2EyOElfdnw7KGM+eVYxJQ0KPiB6 eClHQ3ZrNHhwai1pelJyZG9hPilPX3pGNzFMYmpYbSZaPV5CejdEc19JSlJVZjU5NUNGOT5NQ1pK WnIyJH1xKDYNCj4gel9zSTw7c0opb0wqOSQmXktSfG1lTzBLQlE3Pj5PfSQ8c0NJO1llckpTWVp8 RnQpPU1eTiU9YHI9c1pqI2gpaj0tDQo+IHo1O1czPiNqMXdXa28/aFJPPjlVNitVTGUjK1F2T0VG cW1QK1glbmtrbj5kSVpVYShFSio7fFU3YUZrfA0KPiAjNjJgYFcNCj4gemdSd0UtYSNvSzF4YCl2 WjJ5Jms0PiV6YEY/VUJ8YGZadHNnezl6MUEpZCp6Wk01Tl5oIzw1UXI1bGpqXk9aKHIkDQo+IHpI SDVndF81X0U0Tl85dkxvUC1DekNeJEt9bGB2OVlxLQ0KPiBfRVdoKihUZVlWMDlYNzxxXngmezg5 SzVsRzFuS0ArSW8NCj4gendNQnM3N15sV1oob350dzk0d2s+V3lkV2BUIWNCKiRjfDxgKURpP2gq ZS0NCj4gYW4zKGskMWEzRFUkc2h0b0lSelJnUQ0KPiB6WWQ5aTdLQ1gxWmREVGRlSnQ5R3hNUz9V I3VlT3ZEcSopfExhfU5pYWMyYV5naSsyJXMoYGdCVWclJXtwOyNWDQo+IDlBDQo+IHpCOFBIQmY7 M3dSR1RjYXo7OGEmdj5jTy0NCj4gd2x0R0EkUSg0aiNFa3gzcGJ5cX09NnF+TXk5S2o4SmtSeWQ2 TSsheGINCj4gemFBX2NOcSlDJCVyWCgjI2g2bEFBM0NnaHdCa2htUll5bXtjSUpGZGwlMFpAK1Mr X3U+JCo9RW1BIyp3DQo+IDRJbm81eQ0KPiB6YTdZdEdTU2JFPFgjeHQyP0RsOzQ3ZjJQaz9oS2Nm d3QqREs/Sm5tKzQkT2NKU2tWUSVnJk4wbjMmJUItDQo+ICFud3FSDQo+IHpiQDdrcVY7MXxqV0tN elNQVD4rR2Q3MmtnaUtKPVBrX1hoR0M2NklUbSprbzI4cEI7NmFufjQlPGUzNi0NCj4gWWJTIUIN Cj4gemxVWlg+Qit0Q05IM202YHt9JmByVk9zTCZDNGxmVjxwKztUWTl0IVFBMFFJTUBjVmQ8VUFK PnlhWDdWNW41DQo+IDU0cw0KPiB6Yn4mbT88RzRQNkhaPDZEcTBDaS1nUl9+KVIhYGB1K3YqTnNi fVV2eUEkS2ktUnBefC0NCj4gOE9TYiRScTZMISlhNGJ9DQo+IHo7SFI0SEtvd1ErLXNwMmtRQ1F+ LWB7Rnp6NzYxajdlUV9RVTN4Si0NCj4gXkJsMGtsSWdpK2E0TT5gT2FVdjF5YF4/SkANCj4gemBf ZmJrUz1UTnsqTTxnJT1xe2FYeVl6O2gkWmVPfSpgK0hXJERBKGRvVnJVYXRTYXd2YiFqckI5NXMp ZVU5DQo+IG1TMg0KPiB6WlR9KjhPJnIkT2xIKXVCSFo2S3U9QDN0KGp1YVRVMTBEYks3d2g9R2Jq U0JXOW5yUHA0WkVlfD5zdWd7dg0KPiAzVHdgDQo+IHpaYWFeMT9YX1k9KUNTYWcxIVQ+UXJPKm13 I0IkX3BpO3E5KiNmOE5PVCtvV3VCblQtDQo+IDdBM0NTVDJNZXEzRV9VR3ENCj4geksxQ1NWcUU3 bm5WNDV3byg9NzRmIWJQRD52NHpweXU8bH1jUGMydFIybncpZEhMIyp5KyRmUkkmY0Y7ZyQ9OSkN Cj4gOQ0KPiB6WG1Ffmg8YXBjMmIyMXhRPFhMblA9Njk/SnRyclp5IUtEeXBQQ2ZQRzVGaSNuakJn SnVUODlZejQmSmR8QnR1ZQ0KPiBeDQo+IHorOTBmZ3dHV3lvYmpTZ3MrQyNjQlh4dyYpSHpDbjBP T0xFQyNxO0QwVjNkelJ3b3Y9X003Qk1pIUlRMQ0KPiBMSzcmV2MNCj4gejw2WHtDUSY+VD0lVClG KjhORnhPVSpiazxLZXtYP3Y4bmdsXzVOOEpGKjdZPGBzK29JOVgoOWpWXmslP2xhKg0KPiBmOw0K PiB6STtTMno3Rk5HbTxQdSY4SWVATncrajhLSXB5XlN2WHJ1ey0NCj4gNV9ePW1RMzR5PyZlODZ+ QCQhdUtxUmBseD9qZyRwDQo+IHpVeF51KUwpQ1UtdipBeEpoPld9JS0NCj4gSmB0UDJMe1dPUzlF QlNJWkAjb1FjKDNFdVpreSR5dm8pSzV7bkx6U0dQZVQNCj4gekltQTNUJGVoNjt7R2hOP3RIVW0w ekVOTzlofkRAR0ItDQo+IERYNHFhTUtheSheOypgbEc9PkB7cGVPTDI7WVZBMTskWQ0KPiB6Ukpj U1BCWFBNTWlLK09Sd1ArRyZTemEoSDJScVh6bjR5QjlqMSo2P21SK3MoPj8xVTRLPXJUeHBhRz5y DQo+IHMmKX5EDQo+IHpyd1JAci1TX0J+Zlc/LUchVihCTzJVfEwpIytIYn0xdEF4PDtCQTQ/ZkRS OCFYYSpxPi0NCj4gYSV+aCYlfkc1JnxBS1ENCj4gejcpVnZCTWpVaG96biVkbW8jWmJfJVlhZH53 UCgwbjMlPG9fVntXYFptOzYzKEtsZTZ2Kk1uMWhraWRuDQo+IHd5blFnZQ0KPiB6ZHg8RS0xaV9S a2E7RkcjckBgPClhTCpsKzdTSnlLPUxTYFZXITYtDQo+IH58MzMybj1ieUdkTVM1cXlCeEFLK2Ay VnY9DQo+IHpaXlFvPVMpfXlXT0EkTVNrbHhfYEo2LQ0KPiAmKmJMdF9+e0orNCh7fGtpYkRsRkNB PFp2e0dVP0MxdTdtTn56WE5yWF8NCj4gelU1Xio8ZmRJKEpwdzBZZ3hAVGR+Tjgtdi1OVj5zMFQ+ YCstDQo+IFlgRTRwaTA3RWVfTWc1PzgzNEIqVmYoJiUoUDZQNQ0KPiB6WT0wLQ0KPiBAb0l9VnVY WWU3MT9TRlpQaTslQXF3KlNBa0kyclB5PkFTM2VkUlV3c1ojeXpnRkV3bU9nZD18cTNGVU0NCj4g fA0KPiB6PWhQaCRqJT1DbD5jfDcrJHAwVExQRUpSX1BxPEVmPyMwUDRpO3dnNVFwNGd5N0FIU300 MDc8SGI4MzlaOy0NCj4gdlhADQo+IHo3ZHwzaitBcCokKEVAP0MjP0xSRklwckppJSopRVZpZjhZ MyFPMWhpXjRsQHhpI0BOKWx1d19URT5yJEY3QUhmJg0KPiB6LW1XYytPITsqU1RgYUcyWU1jbm1a QDVrNDxUVWdyKXM1dlg1QSlSaFJuN3V7bEF2NE0xa1UrKGcmLQ0KPiBNVmtjS0hCDQo+IHotDQo+ IDlAZSpBVTZ9VXJlYU0jdmdzJStafDQ4QUdXcT99cn0rV0Y7PnA3QUMranRnQkA1eUFkbSt+eHZk fXEkDQo+IGdPT2NODQo+IHpeVXIrT01IYUsyM0hTP2NNbX1ZI0FLbXo9e0JBbEB1MiZ6bkJme15T QWV4K3g5NH1xZzlUOSRTcFhjaHgNCj4gZVdZJn0NCj4genp5Q2p7Yj8oWkp1QHBJZFRUaXF1VDc5 YXsjQlNuPkdjaCExcm5qTVhwd0hMcTRUflJ7LQ0KPiBoS2ohPVBZa15QS19VLQ0KPiB6XzIlI1Zo aUg5b2NVczR4bEQkV3ZeQCVVSVhrRzh1YVgpJURgfGk+MUJPQG4tDQo+IDtmJCkqVV9AYSpQTCpL ZGduITBSDQo+IHpiX1FvSHczM2xKbEBqblU5KkkjcTxKMl5kPFEjdmg8blFeXmJiOFgme0FXUilu KnF8KWtDbThRYTRgenANCj4gakRRVyoNCj4genRzY0JVUjVHXmVyQ2tDQWBiKzRxJj13dyRyQDc2 c3NUdXcqdTxobT1AZ00/LQ0KPiBOI3V0ZG9PVFB9MUJKM2dzTEtjTg0KPiB6Jn4xb2AjfE1uTENo TiEhJnl1ZlduXi0NCj4gUW5jcFU+U2pLMFB+e3B1aU0wUWRIR0BHeWd9clYzYyRyR15KMy1veiky DQo+IHpZZE4oNTdwZHE2NDBwIXxYYiUoKEBSdHs4ZkNhbkhLP0xuV1ZKdXxSZSMoME12Sn53eD0l M1JzaSRPY1NvDQo+ID43LVUNCj4gemZCTVdjJnp2PV5xQkxeVWB2O0JYKDIjc1ptT0E/YXNvRyUz KiE4KUF6KEVXYz12JCFUbkFFVDhhWVB8VkYNCj4gY2NDag0KPiB6dXhzdnRxaCkwQjNNZjs9UDJD VHQ1PFpJTykoSXZmJG1YcnQ7PnNLXlNPTF92bCZjTHhJQUEhYEQ5VTZ5c2BRaFINCj4gek1iJHZw TkVRcnozbHh8WSN6QlUzdCkqKHVDbzwzc1l5bWJtKkw8V2Q2azs4M24qPUIocTZkIVFyRTR4JXwN Cj4gSypleA0KPiB6UXl3dkl4fm1XUjxKS30pY0tqJCt6dGF0VUtGTVNLJGMjX3RPNTd9VSFGYShM RSFlT1EhZUYxdU9YV2EoYlQNCj4gPmxWDQo+IHpmaW1CQXl3MikyVVByc0gmZ0RzSDRucWckfE1P RG5PKHExXz5OKTdZXitMbW5yYWNuPjJFeTQ5LQ0KPiA4eUcqNzNVeHANCj4gelJ1fGsjYlZ8ZSZ0 cWEyOThAZWhTRH1hVHgqI3E0U0wpIXR5TDw/aEZDSmZ7bXJHNSRsPWZLYzhINEtUMXdgO0QNCj4g Mg0KPiB6a3FSZGVme3M0N1AqJH1GZFN7Jl48N3F8I1ZfbH5EbSZ6a3BXKjdwQUkhNVlsQGdmSyg0 TE82ZGswZUF4d2UNCj4gcG9RDQo+IHpGVWNyOUVeeWFGPHsjO2JBJE5LbDQ4ZWF7IWRFMClNUDZ+ OGpgeWElY0IlayFgO2RPb3s1WHE8VUV5SzVOWjVvDQo+IE4NCj4gekFLdHhvWWl+SjlkcnN8TSFu VVZ9YHV7UHNUa0IyekBJUmN7am95eXRGS3peWWl8bi00OXx1NysqP2w9VV8jIz5RDQo+IHo0QVRv NE9Ma0VDcFIxT0MrZUgjT1hEfURwSFE4O05WQFY9OFRyWWZiTHZVRXEwVFQ7THM0Zih2QzErJD1o DQo+IFRgO0QNCj4gejNgWn5GSTZgJmQ2b0I8cU90JGI+Pi1DMylrMzhxOTB5bGh9UV5STHJieHw2 PSV4OzdYI2VIRSh4RHZiWT47KGc9DQo+IHpwKzFFOWhHdFg9KnZOKXhyKjszJWJqLSteeCo7WERB JWlqLUJLI0sjeCk3bXI+Vn5rZWRoIStyNXNiRzJXbi0NCj4ga30NCj4gek5YIVFkOGZHMnM2bWs5 X1ZGJH0wXmEob2VCWTdrYThQZnx6MCliVTFJNnY1ZXhkZWdrNyVUX0A5JiZqTzgNCj4gRnlWRQ0K PiB6eEdEVW80QG00SFR1VE9gJEhZP3YleklLZGxqRm1lUzFiK3x1e1kzSTdMfTxaU2kxfFMhNW82 T2dYMDY2ellJDQo+IHlnDQo+IHpCYFlRZ2tPb0MoPlQrRnFfNGEoc1NHeFl4MFE9MDdYUEB5MjB6 PVApKCspaGt2PWJ1d1J6UVIyZnBpZW4zPQ0KPiBXMj8NCj4geiQqVSh3RlR1Zj5kVjBNN3M9QlFo K2hwZlRqQ087Z0hJS21vOThxJU02NGdnZHwzTDdnO2A/YWZmaGBIZ1A1DQo+IE0tdg0KPiB6cCEm WTVhb0E1WEA1Z0VQTXhZfVc8ejx0eCM3PShKSH1VaHdUbHg4OTEzeCF6en58aU1eLQ0KPiA4YEhg e2U3I0pXbzcjDQo+IHpkMzJxOHtjTnAjSl5tUUo5PWIydWcwSUh0Rm5xJHY1SUQrPikkaGZSZ2ZC TjFKLQ0KPiB+IU5IKHF1KVI/bTVAMCpBYTMNCj4geihQa19OTzRVOFRtJklHN3tEZEUxTiEqX3NP WUZuRExfS3JCUEBhJSNxM2BFbXA/VUQ8TiUjLQ0KPiBLcChjbkZ7SzhUJQ0KPiB6a2BtZitOeVlH ZzlfYlExNkxYTjNBQSV7WkVKTWg4RCREYXY0OzF2PjVmaUwqVFlyPlUpbW54bzlaS1R0UjANCj4g XjMjDQo+IHpgU04jQmYjJVl1K0laWWpQJUp3NEsqZjQ2ZGtKbShJaVZBOXhVPTZya2RfJDdeSjQ+ PFBUalJlOT5GOCFjNU9PDQo+IG4NCj4gejJXeUQ3bUZoNGN1fDBrMkUlIyFQMXJ2ai0NCj4gd0pj ZipjNjA0U0oyKlhnelU1KjtvaWxoM1dmMlJqXkthQjg9dT97Ug0KPiB6dkVUPS1lel5UdGElSFhq VVNvYih7SzVhfkREaDs2bnxVKzEzPUl6NiRWTyhYNGx+JnJIeC1EN3YxJCReaykxbHoNCj4gem5T JkVoTFB3US0NCj4gO0c0RjIkPT9BRFIhRCo/RFZ2QjdreGomcUUyPUM0MT9kUXZRNVhFaG5lWmBu azV2YUNmRUBUdg0KPiB6Vyh7OXIlTzBQR0thTFdMQSFVMXg5Oz07WkU9SmZ7ZUBFbGdUbkxEemg9 KyN3RjBJaDMjITdNVTw1PHlVNQ0KPiB4TVNnDQo+IHphdS1AbDQpcmVvMV5XWUMtDQo+IEwhdXYk bjIjKkJrcikkWjt+TGh4VWRhRGomcUBMd0dIYXYmRXRxIzNxYVkzTUxLUmYNCj4genU2aElEbjE4 RTAhbnprbFZwLUhHYzM+cjx7YEg4ZGtTPHN6WVY5enBWO0lMfVpmd1RvSTRzLTJTWj5feyo5IWdn DQo+IHo5SXRrRHhleEpoIVQoTVNOJTd8QjAwT15ZeWpyUjg+cW83VDl5aWN9ZXpBRDled1BCaWVJ Xih5bGk5fHEyWDFsXg0KPiB6bCNAQUZQeSZMTWMocSV1KH1mV0o+SyEzeXc7bEt4QG9KbGQofVR5 aztRenUqPEEkTjJhflozU2NmKXJ3WXh0fX0NCj4gek8tc1lDQVZLQC14e2BVRE8wZSkmNDlTVFF2 I3VlVHtyU355M3xNUGE1ZW57bj4zekRraW1aQjRXSVBDLQ0KPiBBIzI0Kg0KPiB6K0N7O1BEY2d5 NllUe2pUblBCbiUzJHVES3tmRGFOVHk7RmVuTj52dW95QHhiNjdPPV9IIVN7Qi0NCj4gekJmekdl O0VlDQo+IHpIJn0lYEYxaDMjUXE7Q3pFKFEjNk9BbzRjIzttMXpMJS0NCj4gR0EhP2QwcV83PGFM fEpeJDJXTG1RNzRVbXpxVTR2RXINCj4geiRLdXNhYmZLeTA8X3Qwd0dISldQTVcjO1g7QW4/VFB5 Vl9eUX1QVT5pfF4qZyZgKH50Pjk+byomPmdTVg0KPiAoNjJaaQ0KPiB6bkYtLS0NCj4gKDVqMW5G bihqelJxbHA0blJVYTJld1NWQUc+b1U+S3d1S0RtTTAzOzJgR0gqYyhvKyM1P01aKVNmRUZBDQo+ IHo8ZWFXRjtLWiFPOFZ8TkIkaVdfVHVSWD1BTyVyKmNxam1rdzZHOCooJmc7PjFpN0VTQ3EkcGEm N2EjRyQNCj4gSippdk4NCj4gendTM2srKnNoSVElYShzMUxRJTZNP091KktPZ0lTc3RyRUMpZkNE Ni0NCj4gNihWK2pBdyV1bTFSeWZDQj5vQ2FlU1RqNA0KPiB6NnQme2MtPT13YXZGN0QySXo/WGJ0 UXtWbEBZQ1lSVmAkOzhXfVk+PzQ3Szd8YnR5IVohXj0pKU8kKS15aT5gNUsNCj4genAmR3M3VlZy eHFqXnQ8SldgP2hJYjJIRTZfUWNKOVRXaDxTNXh8eCszVmpMRUo3JlkqSjt0dnMpYEIlZGhqb24N Cj4gaw0KPiB6YXFUQEFgUWB0ekJoTnduSHstY1dqVGF1WiMtcS0NCj4gVSpncHJtP1ZyX0EmY3tG eyNDVzU+Z0I7PGAwXkdTK2xEK2puDQo+IHpDNFZqaSopODVeN2RJST5NNGNJTF50fEFXa1d5R3JL MXhiWTJncnI5LQ0KPiAkWFNkNFgoRVg0eDQzTkQwbjYxOClIYlMNCj4gek5kYnAraE0qO28qR0c/ WSppKmRHViV2KC0NCj4gR0Z5UyZ8M3RNM0dSa3kxQjF2YHt0PFomWkQ8dDBJbGUzJnd7MT51ZA0K PiB6fDUyez98NlJgYUl2ZF8mSDRHO1NzZSM1eFopISFNZmxpSEF7VCt4bCtVSVU0NE5TRHAzdklL JVcwbkVKWihhM0ENCj4genNQWUB7Ti1NRFkjT0FmQD8kaHB7dF9JcGwpZTU7elJEJGhaRk4oa2NA cVJpZy0NCj4gdyRpcEZkUTV4IXQ/QyNTIT92Ow0KPiB6bktLWWNHanRNa3ReciolLWozbkNPczZO YyE/bUF5bjVjaV9HeyExeT43ZjBfZj90JkdESk0hN3JgYnw5NDZfYjsNCj4gejRAfnFCeER5ZHlh eiplRlJYOCNJcmlePG9NRnNUWlBSdGR9ZjBhPUE0LQ0KPiBKbChEdG9IcFYxdVQhNjA+M3VRfmA9 OA0KPiB6LQ0KPiAkZ314MT5qUz11cz1VazBAVlF5THtDRnw9OE5fSyZldUJVaGFXPT5MKkhJWGRD ZXBCR1J9P0Q8ZVUmKg0KPiA3ITUjJQ0KPiB6SU1EbDNATFRRWTwrdGUmaUg3dkBDMjlIWG5KPnoz R2xIeztrWmQmcDRBcXQyX0ZWME5kcio+dyhzaU5XNA0KPiAzeU9UDQo+IHpfTSZKaU1ibW9UN3ZW UmJaTihFSFomeGRYLQ0KPiBAY2t8I3FzVnw9dDg7YCFmI3ElRHl7Z1g5KjEmdTJiU1I9cFU9aWAN Cj4gem5FYGhoZyV4JVdeNC0NCj4gUGlLflI8blREVkQpOUJJcGZ1N0pDeHdrSyt+dDAhR3BrYVdG UUh8JUlFWGYpfXJfMmx7JA0KPiB6bE9ibE85eXJxSj0hNztuQyEhQU09NGk4KGtHe2QmT1VyP31m QXJ6cmtFJCstO00hdjNaTlc2KmdaWnwtDQo+IDZXcn5VDQo+IHpKUUxMKDJyeHIjNEAmWGBmUHRq YmdAV3hJZjdZWDN7Rik9X21IYH4tDQo+IHo2V2BtakB8ayg7P2pLX2A2d0hBcmZ2IysNCj4gejk2 Nkt+ek1Ucyg5cntgOUZedjdKTCQqUzlYRElaKSV6RDVxQjdgPjFQcSo7SHRKcWw2TFMwQz1QPWQ5 ZG9vLTxaDQo+IHpzMkpTYkxqK0pBPWRwRGRMJCNvcj5fQDQoOXIwIyhsOXs0LQ0KPiA5QVg9U25q byZgOUhXTm4pKypwQkcqdnhQJShGK2INCj4gemM5PU8yRiUwZzRYWU5Ydjl9WW1WMDxDe2Y1PXty dmQ7fkpsSTMjIyQ4ZX0xa2dSJXcwN1E+REY4YyNZMHU5aSQNCj4gJg0KPiB6OC0zIXNaZEpIK2w1 TkpoIzhHPGI5SH5USlEhWXclRm5zYjZAKCsjcXNFQFF8Wk8/LQ0KPiBoeHU/JHJuNzFCQk18I2V7 DQo+IHpYbThfN1JhdkZNMm9JVzJsNlpub3BvfEB9Ung9VDY+RG5YRz50PHoqdU1NbjJ5QVhpVnw3 NmQyWkpkIWMNCj4gMG82aUsNCj4gekI/OVpwNlRYSTBeXjBxMTJgSiFRT0w9bVFXQWJTPjdMbklC QSlkLQ0KPiBKX24zQmhZZEI0el9FQjY/N21qS3xKajZ3Mw0KPiB6UWwyO0tkY050ZD1XRFgqWHFN b1UmOGFKVFpWWmFuRj1GOE9vLQ0KPiB4eG5xdDY2UjFsU2J7RWd3I1BncjU9fShCRikhDQo+IHpv KkskazNMWChvK2ledTQrYjRPT1F7eSNuV0xlKEc0eGZnWDsmJHRBS3VFSSYqZW5uV2NPXldvKlBe ckgNCj4gZlF2MioNCj4gelZNS1huMzw8WClGWDNCPEx3KlQ9Z0JXTUY7dVBiUkxNfkptS2B0YkA7 Nyl4NURwXzNWaT9GYjApO2J1Uw0KPiBkU1k4MA0KPiB6TGh+VSNPWEhkPlFkU054UD1pOHM9Y0dW V1duU19gUig3MD91NlohbzheME1TSXk0VyZpTF9eJVooWUMNCj4gNzRRbl9+DQo+IHpqWkVeaHsl NDN5PkBUM0E9Vj5aflJ5Vn18TXZpMHhBS2tFYnhBJHBNT1lmX1FAbSVsSU9+bTEoOWJzDQo+IE4o cGRINmsNCj4gemVWdng0JUI5KHRucjJHYHlTWHVxY2lnWEJadEIxfF8hfWx8TShqfThSKX13VW5+ WXpaeVJ5N3cyJUNaQUtIM2oNCj4gQA0KPiB6V2NHflV3QkpFQzZZfHkkQ3dJdD0oWl5EcSlZfkVU czdjWXpBZGxrLQ0KPiB6Tzx+fjd1Z2ZfWXc7dmomI1pBTmtWeD4hDQo+IHpzTGZNNGFYLVZ0QDVT cS0ybWBQY0V9UiNhWVFUN2pVJEI2QEJicGBRLQ0KPiA0eHxoMjgrYTQ7THNOUUlAe3Q+Xnx0Sk8N Cj4genhfMChqentDPi1TeSNeemg7fVRgb1JgVHZwemRSfCo3aD04SmB0NWhmZCE+P1AqVXxJa0s7 dklBWTRPdyEhVGV1DQo+IHp6SUgwfjEoZmRUczJ2bWk/VW1XNzBoeCRAXjlUPz5OSk85Uzw0OHhn SCMhfjIhOUc4aFNvc1IoaVJlVDRCdg0KPiBSd2ANCj4gens1P3cwO2Y7YHg2VmNVcDV8YlM5MW9J ezhgREUwTj5XX3s5aDJCVm48KVR1fjJlKmpBaDJnbD1EJkRkNnRCX1p9DQo+IHpDMyM2VUA2IW9C V3lEeS0NCj4gNEZ3JjtTSDVqTWpATm9MMDNNeUdDblVhK0x8bmtualozKz94SldlZmJyUU5VO3U5 eCUNCj4gekduLWhaVFl0PlMjbGRJYmExTn52aGMmUTdMVkNHKnFPUypoeyl6YkhAfEtwWmBhTC0N Cj4gUSlmbkF9UGVDRTZrJm9nRA0KPiB6ZXArZ0w1VjskcHEzM21gTTEyZTEjcCtvb0U9M2F3Sl5A YG1gWHg9NVFyTXdPe3R+SHwqdmxkVVFfI1oNCj4gfi1sd0J7DQo+IHpPM0ZNJWhuYlgkOENnXjY3 UihFJTFWODctPnpTUjA1SG52SnkyUFh2ei0NCj4gU35BaV96TEwoPiFWTHM0V2tVK09uJm8NCj4g ekchYlFFKH4oKzVtYGRqJjg+TmZrO35nUUF7Myk9S3RqOS0NCj4gVmJpVjFuckc0ZmRSbk1wOGFl MHxvb35NQytJcz41Yg0KPiB6RUp6LVpncXp9eml6aXQxcXklIzt7YjlVYmVoSHVAKzBnTElfK1NQ RV9hcC0NCj4gdCVoY3RqTVFQN345PTJDe0Y9RlYmDQo+IHpZbE0/bnMxQiNNWCl0YGpyVi1eVjMk cXVfdmYob2k7ZUt6dW9hLQ0KPiBeSHdWPlpYa3smXyVET2hnZFN+UGhrI3R1PSUNCj4genV1WiFm YWIwP3hjMSQkYzY3S0E8QElsPF5sZnF2QD0jUD05bFUwRktKJW0re2xfWE40QUlmTE1PXz1LMTt7 Rg0KPiBYVg0KPiB6NCg3aDlqZjFsUCEremAwJiU1N3hgNy11X3xJe2k7dk84M2BKcDx5I3VEOSFi RHhhPzNtPT5KQ2c/Rn1VeHteMz4NCj4gelZyWW5kVkA/e30qJHowJj1ESll1RVJAdnl0IzhjR2gw JjVQd0JNUjtUUU0hTzZ8JHkmOWl3QTl7amVuDQo+IDJYfHpIWQ0KPiB6KHlmc0YpfU4rM3RAdElm SyElc0F0ay0xU14+NlJEJlVQVEh1Ujg3TlZaWmZOK21wcHR4YldHLWVrLQ0KPiBVT19TeUdhDQo+ IHprdjUpNERwbUprUChpSHY9dmltQDBgLQ0KPiBHU0VuJit8RTM1UUlZTXlQI2QhV2VseishfXxp NXB6VGl+V1FnQ2hXa1INCj4gel9OWGt6WHQzYEx5T3RrdCNHdjw/VytYVGU5NHU5WksyfDVaR1Uq dHJoeyptPXkzVjJMaHxTPU13REt9LS0NCj4gPGBFKQ0KPiB6JFlmWmplUWwxbm9FLVF1N1hYdkl1 P3Rodld1R2BCU2okQVZEJE04fTlWbXRkPWpsOD9vMkwhTG4/P1otTmpldWANCj4gelUxSVl6eCR7 XlNBSTQ9X2Z2bHRvUXQja3RVSHtzXil+ZD5fSC0jcVBiM3JIe3BMZDFecjRTbEs1RWFLcHcrYTR4 DQo+IHpaT0soWTh5O3ExJmdXV1hKSTx4R0J7QF4kQT1qZ3ZjWHgyIVAyRitTa1Q9IWBzOTUqc1g0 fT53P3pUI2xmaWJFDQo+IFUNCj4gejxLaz5MYjxXQHJsbmIpM2RiVUlgZlohc316KjdWK0MxP1NO ejtzUF9tcGkkeVY4Nmw1d3ptZWN7K0khS3Z6VUsNCj4gRg0KPiB6OTlRREpHZlpFTUdzfUIjSj1e Y3dmWiRaUTNtOXJCKFJ7fnJQeDQ+VnRBbzdUMyhCKD0wUHYqRjFrRlU2YTINCj4gU1d+DQo+IHpw Sz1LWVA2TX05QDJKOHtTdiRBa0xWS2MlMHR7S0lfaj8rIVJkdmMhSzNESlhBVWt8OGt9QyE3IUk1 M19weGt5KA0KPiB6Mn5FaWRsazxePkBwe3NBOTFuOEJMdC0NCj4gM05GPFlRNWQwRHE/MThnPjUr c014NnVyQCVlUE0ySD1BPnVSJEp7RHFqDQo+IHpWdDJMPUJTNVk+QitOK25KYntDZTlrOCgrT3d0 TWhPcE4zdVQ8Tjs3fDZ7fVBqUD1ORjVoWXFuKG1DSnszaQ0KPiBPbyMNCj4gemVMXyE/elkyOVJ8 R29HSVlwYGIpK2pyYC0xbmM+WGp0Y0FYNFk9IVZzST1paTN8TClrJDgkP2VmNG40dklwaFRODQo+ IHpCdUcrQU96RiVuZGFBZ3soJGx2PTtLP1VHIU96TmVrV0crZTY5Q3lEcmFRUkA3RmpPUyE5NWlA Y3dRZA0KPiBkTDtjSm8NCj4geip8YCl6WippdzR7Jmx2PT4haXY0Yj1MMzhYKT05WVpJZyMmSFd8 SmgjajE5aXRJMUFnU0NnTmZWdz9PRitlcTVhDQo+IHpmb3MtTFN6WUclRFlrKVlaM0VacDJDamBe dVM9JipyLQ0KPiBBUmQ4aEV6fE5vTylld3FvYDZSOTZGPyUmckVXOzUyWmMNCj4gelo2R0FjUTVz bTA3dSpYPnFWPFJlPzNkajshcmgoLQ0KPiA2aTJxPyQkfFdYU1Y4N09ualRFPExDWSVnZ0RwMXkj eEQ4dw0KPiB6MGU8R3NtaSYofWYzSU1oJjdXfWMhPVcxV19qMm1iVipiPmYrNjRFUU1iVHF8cVFH TX41R3EjKEk0SA0KPiBfTzRtKmFrDQo+IHomNjJAciZ2cF87VE9wKyF2VTQpS1Excm5oSkJJSEEj PDdPWnhvb0trQlhrZncwbzhMcVlRZXYxKShRcVpiDQo+IFAhe2QNCj4geiZrZiRtdGlpSmk2fCYk e2ktSnxDNEVoYEY2YzE4U1FKU0U+fEFQeDUzJF8tNHR7RH1zdGN4Y2Y5MWJ5Uyg9UjVfDQo+IHo3 QXdQUz96JWVOc19ObkpWXnNCYyRyVUFsQXBoWjU4SUMhTTZBNURKZVFWeHlQWCsjN3txQShuRlko dWV6DQo+IG5remsNCj4gejElRlple1F+ZFdAaXokUm8lbH1UK2YoNUQlZ1QwPW5UWl9kWEQoOENV K1UlalcrSzBMYGV6P1dfQkMyeg0KPiB5UGo/OA0KPiB6d3dgVDJpb01RQUVFcnttVllofCNnanR9 T25WKmpFYUdlREMheWFfTkk+Sk1SMkhBNEo8cH0/cjtPOVVPag0KPiBfXkAjDQo+IHpkVGVJeHFL LTJSUm9FXl4+M0RAMUI3NGJEZD1eekFLcnVpU21hMG9+cjZwamF5a3ZoRi0NCj4gRV9zK3pge3V+ Xm1pSSQNCj4gemFuZStgIUIpI3o5ZjdGT1JfaiZ8aWgkP24tKm9uNUYqZTYyQDNiPUpZZWBhIUIh NztOaWZlLWZHcXtxZW40a3tJDQo+IHp5azYrIWpsczN3KSo2e3k/RmxVa3VKJmVoRTMkYlFfI1la T0c+aFNgc1lpNGdTRWpCS15NJXZrI0ByUXY9dCtJDQo+IHENCj4gemZxPXNVayVuUWdkS0ZePD16 ZlllIW4zPF5ZSm44VU9VfWI0alNHWCZHYE5HKWBJV2R0NHNte01YfCFpMzUNCj4gWUpBTg0KPiB6 RlVrVWlZJTUtQkklWDhTTFpHNiVXQit2O15IPlc1WG18NzlQN3FPaSlgLQ0KPiBJUmoxZmlnREBQ MHRsJFZ5MzF4diV6DQo+IHpKIyN2N2pLVnNsWmpIP3Rrdn1Ja1Fvem1fUTU+SjBrS0Npam9md35B NUlKJXJHem9RI2p+cUdAJUFOSDdxSGANCj4gMUQNCj4gejdiVUx5VTE3WCQzP3tYXmIzTmdtS313 d1hebkE3WiU0YHFVQmw2PF9leCVtVXhldj1HbEU+aDAtDQo+IHRkaipRRWwjcg0KPiB6USolTU45 K18pSDxJcHROPUpMbGlzYk0obDhIZmk1Y2dgPjlvTHxeRXplcilLMWwxSD1GTH1fN1NvVjYlblYj bloNCj4genMzdCN0Y0lPPktJYDBfVmRCPDY1cHZreDsqQXV3PG55Y2RQakI2UDgqS3hiWXtjQnVq PWROI2peOUNIOGU8JQ0KPiBLcg0KPiB6Xy0xZztkMSNmcS1IIUwyb29AeD1qRmRATFl3JHpoMSVD YTNUbzBPaEopcTFSa3paY2M4NSZXZjsyazZfKl4tDQo+IHxiDQo+IHpWWnswYUk4NH5WJlhOZ0R7 M3NsVTk4cX40QnZFQVlPWTdrOG4tDQo+ICVzJENWZ2wzO09aP14yJHpPQHY3IzUmRzdfe24NCj4g ekt0TEMzMig9QGdgekpteFJXbzA7TF49VFZIMEhqPCROVUZEKigrNXFjKGpgVyg7bEFKVkdjSUw9 dmM4cThCekgpDQo+IHpMWWJeOXo+VFpXY34xVjV2PGw7Wm9rZkFQMW19cThON3ktDQo+IFZFaHJt b2ZvbHVZNDRDVzR6eThCNl9eSk8qZ1IkeVUNCj4gejBtSTU3bGNoM0dYb1FCVEl9ZWxiVmJkfGF2 Vnx1dyFLNjBuOSQweShLOTQqayE5fUt3cEtgZyFnQnppTGAyc300DQo+IHpRMXcyKEFSUSZuemsy ZHZIWG1gaF5QT2goNXhod1IrfjZTODVTKi0NCj4gSyR6YilVRUoxSyRMQnx5d3BsK1NXJCg4KCEN Cj4gelQ+eWhgIUMoN2YhZ1BjJHdzUkooO1krTmZET1cjdSNnNSEqIzNLYVRWUjBsdHltRl5YeThA TnkmMlhlRWxGPg0KPiA7Vw0KPiB6WDl+UWkzam9vZUs8N2tIQTlhZ3tlXmtiSSZvOGNTXlVeTEB6 dl9qWVZmX21Dc3B6ajdmMTxHaXlTU2tfRSFBDQo+IE1eDQo+IHptaG5KJkxtQypaQGZmWU40Y3h4 Um1iaTFeST1zXk9fV2lIYVh5UjI9eDZ5VU92Mn1KQnMhMnJLKEcyKlA8DQo+IEZoZlUNCj4gekBR RlNfKTdFQkVAZFYkTDFzVU1LYktyVlo5K1Aqfjg8YF4pUG5Sc0w3JDJPYyN8P1R7SzhESj5UenlJ Slk8DQo+IDFPPA0KPiB6ampWPihSe2l1VmJ7eHx7UWhoWE4pYUhwdSNTQ3NOWkd1OHBZUSZ4Mlp0 JGt7SHVLcj5kZS0NCj4gbEtpa0c1WWglKlMlDQo+IHpZVlQ5OVQpbENiU1EjUDsrbU9TbHpVb3Y1 ZXFeSWBIYEVgYXRZTjl2YS14angjYjkhMXlhd09ec080JWluMENKcA0KPiB6e2E2MHp1SUp+RDtv cC1iRzB7JDFAOyZ2Xm14JSNQZ3JIPlptRy1qUi0NCj4gMCRxZ0gkKUp3TGE7bU1MWjRfMHo4aFJD DQo+IHpfKkpjLVNlR1VNYGxWNm90NU99Yy0NCj4gO2tkPVhZZTZwNTM7YlQ4bW1oe0gjbzFObSU0 Kkg5ZnhDWj5sd1VET0tOPkINCj4geitrRT5rK34jWUFOdWRSSi1oZzRvQWBvcG16JFYkeS0NCj4g bGRBZFQ4Ylk0QTlTNHZkI1M1Kj9WcUw7R1YqYVc/IVBxfQ0KPiB6NT5ZPHpecEZWO3NoUXI8bVhy cVBVbjwmPykoSUs/TkEkSUcpbUpZZEkqcC0NCj4gUD1MfXdsPzRvSz5SYW1fY1ZeQUZWDQo+IHpG LV9+ZW94S3ZkMSZXa24qNmdWJHZtbG1jZmBCNk5UJExLezAtDQo+IDx3aTVHPEB0TnJRTD9HbyRP ZTlYcElnOGItTj0NCj4gemFkSVhNNENBQCNVTjtQI1FeUjBrXn5geHJIQCopVFNoKWt0TTdTV3B7 QjRncWJ6Q0FueHluTCQ1fHIqRA0KPiA3Q0d1UA0KPiB6K3ptek4pS0ZNaFU2cUQxT2hid0gkNXo7 KVlZKSlYdGJ4cTNLdVItI1VAdj5GKzVqcVhNbnZiLUt2LQ0KPiBENGQjPS0hDQo+IHotKCNid2V0 X0lgPCFvMHFRalFlWUUhNXpIJFNIQDY3X2gzLQ0KPiA4O3V+N25uaH15a1I4Nk87eWw/JWp1Mk1v TGhARk8NCj4gej0oblZhOGdNKUw9bWgtI1ImV0U4Kn0tDQo+ICtmU3FhMlZSZ1gpUWhydXs2eHwh P2FWTylyY01yMWdgWHpKXztkezByUQ0KPiB6JmV0MWIlJG41QVcxLQ0KPiBDfU9DK010O2IwRHZJ OH1xbTc0fndVPn1lciNNNGV4QXp2UlFFPT1zc0BGcm83b0hUVE9mDQo+IHoyWElSQ0E1Nl4zIVp7 c1NXODA3P14zaXFTUTVEeG83VmxLe0piJDlFRXAkUn5QWnNFIUVmSE8yWGJmSyE7SU9xSA0KPiB6 ckomTTNGTFZKYFA8Nm5LdE02NmxYX3RiTmJpcTx9eyRxclhDXkhBaylXMjVod3pOfnZwX0tsVyhf VmRxQA0KPiBEX2Q8DQo+IHo2fGM7IWNtXnRsOS0+cT9oKmk4ZlN7ajcteX15IXJRK2RlO0laKGZY NVlqNX13RCZ2XzFxRjhsLWxxcFBKWGJCSA0KPiB6ej96VTl4JmkmQyF1RCZJNXxpbHYhTy0NCj4g eT5YTW1hUEpQTG1+OXpHYl5tTDw1N1MhYkFqMmdrVG0lJllVTGdsZm50DQo+IHpSZTg+PFkmN2dq JW9sMmEwSytCb0Rqejg8LQ0KPiByOzBTcVlFY35qP1pxPD1pP2M0WHRFZWtyRH5JWWg4M0IwaCVA cVINCj4gejArNH5ZWkFOSHpeQVE+ekVWIUh1OHIoLQ0KPiBUSzYpOStRMXU1dHhfQWBRV357MSZK aEFNUCZLejhjNT5rYkZZP1EtNg0KPiB6KkhmbTZuJHVwa3kkPWU1YEs7VSU2Zzgzb15lQX5IWjZB VGk4TE51aWZTay0NCj4gNDVVV3RyKHxgX0F2T3okYj15WTE8DQo+IHozPWU5XzdKU3srckhlOGxM RnxsR3t8QURfPjVgTEtMbFhKKz5OIXJBPkxfXl9hdUp0Mk5oR3tJalFAI1ZZNTVqPg0KPiB6IXYk O2lgNUM9Snd6MjlXSCFMVCFoOXkkJnlKPVdNSExRM3huOWRAdzhLQVYzMyUwbUctDQo+IElAc3NJ PGN8cFdyI0FUDQo+IHpUVFcmVE5AUUpqOHIxSX4hQVIyV3JFMm1OVlFCfmw1X0VmKzhmNzFkJiRs OzlqaEQhY1hjSk51eFNwfVNUdw0KPiBPOWwNCj4gejd7UThePTtMQEwpbEs9S0ZzfHFXY0xzNVU1 ekE8eUU9SHheUyo5d3JeNHh8TDZnVD5qWT5nLQ0KPiBRRko+bCU9cipnRg0KPiB6TlZWVnR0fC0N Cj4gc31wczgjNjg7O0lAUjUlKUNLRmxuJGc0eDlvVn5WX2ZtTVFZNVVxfSkzUD1+Y2shTGJ6d0R6 VGwlDQo+IHpNYUc5MCFMLTxoJkxEYXgqQWYtDQo+IHlWdXc8dWhFRiFBUU5uWlEhXnAkRkFLSmpH REFeSWghQTdLUjdzWnZqMHBkd1oNCj4gejVGSDRnMnQ4K29LfWpDWWF8SzV0TTtheDhyZ0J3cnZD eGdkQzJzdTJAP1pkUnA/aGFCYX5kVkgqKipGTnpeDQo+IE8raA0KPiB6YCtkLU5MK0Y7T2ZCanJ7 azcjPUtLN3A0KlMzI3ZWakR7QFhuT3hYUEt3I1ZlTE5VJm1maWk3KW1zakItDQo+IEsjaj0rDQo+ IHopcSNsfnZNT0U+WlQ8fnpgTkFRZlFIKHtfRy0NCj4gP1o9dDE+bXZMY1R7c0NUPWoqeWVfOWRN U1leQzVpKllTMD59MjANCj4gejV8Njd4JlExVkdqVX51Rm9XYnRvKSY+X093WnI8eDZ8Y1Y/aGpf SHkxSFMpYW9AJGt5ayM5dz0xKTJADQo+IFhyYlFZJg0KPiB6Nz4kXmpZRX0/TkZXSnVKen5oaTJt UDxefDs4X3JiVEEwMFloUXMtDQo+IHIoTUgkbU5nc2UxWUdoMnM5VHZ1R1cmdlNmDQo+IHo7UGte TmIodEg2JlolTERiaCtEc2stDQo+IEN3em4hd0lGZnlzc0Vtd0F8OW9nPnBWNnk5KXRxWnU4U0tY PjNRPU99WCENCj4gelV6TCNpYyFDfj88MFNPN0REbT8tDQo+IFFGTjU2VStRMW5JQ1E7eiZHPiY7 eDE5eEFjKHtFY09vYVd+XyZIR1ZeT09WcA0KPiB6eXI2fWpRfSpGPT8oJXs4N3hKcyRWZmw1K1Vp ciR+QlZRdyU8IWo3TmRfNHJNNHN5blFvYCg8T1hXVzxqYTBrDQo+IDg8DQo+IHpJRWs5ZT1nfTdV T0V1PHw7Mjk0VHVpP3Z3NF5GQFpIaEJ1NHk+bVNjamReV0lmZXQ8S2VrSCVlPHFlNncNCj4gRDEh QHwNCj4gem42QnAkOz85OTMqYk97OTBjRH1NKipzZ1V4QXFpcWE1QmJHQTB2KVRWSFFsSyRuXyhn REBYe1AxTHZTVFJDDQo+IEc3dQ0KPiB6JWNXbXtKPWtwRykqSngyQlNWQVViKHxITSh0LQ0KPiB6 X3A7UDFpbjFDOVo4SzRTYmhSJFhhdl4wRTlhMjl+OHVMKXRwDQo+IHpvLURpLQ0KPiA4VzVhO3Io OE1NPmpEbkxPOUlOMkE5a1JaNStJbXx4fmNOVSNlKWRyJVlBajFBcnBHJWBETjVgNGAzUUcNCj4g enEzPiEkVyFTcXZtPnxgZlRNSCNXUEpFNjR3KHV+JEY/YTkofDVOP19yVXNKa0BCRXxtX3dlV0la fEFfDQo+IFI9PDQtUQ0KPiB6LVp9Yikocyh+Jjl2ZWM5ZDNrQn56aVQpKXh+bSNyP3FSZm9efFd9 dUxmRkwxKUpOMGAkZW9YclN2RzRFQW9qcEENCj4gelFYZn5BTTBJPiU1byN6YFB3Tl53bzNIUHh7 P3FOMWB8VV4mN2RmQ2YtDQo+IEdtRGlqKStpYXY9M2p3SiVUS0krdWckag0KPiB6czU7b2hYUEE2 NiE5Ml9jMlJIQjtUNTZ1TDNCaCVsV2U0TH5XRDA5UVY0PXRxN1E+fktrdHhnekRge2ozR2sNCj4g QyhJDQo+IHo4fXBkdyN1eldTQXw3TGNsSzRQJkp8Pi0NCj4gOCh+Ulc5JSZySUZWUFpXcGdgYkBX MGpXe3dafkBDPEJJSGRRR3ttYi0NCj4gekQ+XiZaNUNxfmFmblJ9VD42WFIoZWRaYjRYS3tKQWRC JiEkQT4yfEdHPmBhOHtwdWFZdklPZXJka2k+aEBEDQo+ICooTg0KPiB6MGVlNnxtfHlpcXpxOSNh UWh7T0VhQnNDdEB+MSs8SXdIRlkyKlh5M3VfR1c5ey0NCj4gdCt7aEpDQF5rZWZuOEFUdV9rDQo+ IHpPenFLYT0pXjQ9c08hdFJ1Q3BwSTVSa0M2N2h8STg5Sm13eDJTWkRFWSQpISo0eFFAKCVAc2dp PSpMUXQ7VDgNCj4gc2ENCj4gelI7SzEjNz4jKSVXeW5uaSh9TnJvYjM3WEoxcGohaU1ndHZncnE9 dl5CelJVZ3ttOz9qVmApK0syb0FSaDZDa24NCj4gJA0KPiB6UE9geyNVbSk/dXNZUHRSU3BBRSZf KENpak8/aH03dEVTYCUzWSV2PkN4PkhsWj02UF8wV2Viandrb2F7cj0hDQo+IHJlDQo+IHo+TVFW VXkxV2hZYHB9QWdEeDREVk0oUkBUJT95SSpkMVdZYGZvbU1pVzxNM3ZkN3JOK1AhfkRIMQ0KPiBQ YiglKnljPXwNCj4gejJPeUVWPTZQVHY1OUZefHlkS2txSmQybWpEXzREbyR9R3tQKSZlIW8pUVop e29FU0Ekb0A9NHg/PCMmQmUNCj4genE9dg0KPiB6aHhISnVtQjMkR3t4OEp9M1RBfF5XY0hsd3NC bURGbmdVUGdUOTY4NDIqPGo3NGF1eGplZk47eWZuKmpNM0YNCj4gPC15DQo+IHpiKyFsJU9JPGh6 Tnt1QFg4diRUdlk5T2I0V1pIVFczbkdBISpjWV5UKmg2Wn1KUll5eGtOWU4zKShYTnQ2DQo+IEB9 Xz0NCj4gendGMC1oel9hdkorS3J4JGM3R1RLJmppLUAqM2ZRXnp9a18hTXREUyhpM14qaWpWTSl2 Yll0YnM9PTdWPnJSb3pnDQo+IHopTUxxcUdVTDs0YVFmZykqUEZAZEg8TEAlY0dzSmRecVoxV14m OGlsOFI8N09hNmhOKCZDSytobldnDQo+IEcoPVN9cnANCj4geiFVYXlsYWU+X3BgWHZaPHRJOGwp fEdzIXg1VjRAZGp5RHA8SGNaZDhLdEg2I3B6NnZOeGc/akhiYm17a0kjRX4NCj4gQg0KPiB6ZyMh RGotfDh3ISpLP2lQSEMrUjNeTmhKNkcjLW0rK0BCNE5JcnRTTyR3Pm9BO2h8SGlELQ0KPiBXIUc4 aV52PDVoND5YDQo+IHp4ayRkcmdMQHxUODVTN1VpMktTX2JoNDA3SHskMSVvQUVEMGV3QiZpKng3 YzxHPmZEWWtHM3wtdWtjdWJyLQ0KPiBrYSQNCj4gejQrVisxeHM9PDBBQVcqZ00mMkVWdGR3eTtC aj1RfmdjSkIkKDhAI2VkI313VHp3TGNONEJ9Jn5UTkRaDQo+IE9tY2oxaA0KPiB6RnIjdE87WkhQ UGkyM3B0N3VvQ253TjIoJEY1eiFlKlMmP142VkYhLQ0KPiBHNkNsSkBYV1dOZGlVKjFfNXpEam15 IT08DQo+IHp6fioheUBzKEZsI2VvfmxpPHlBYD1WfFB3PEZjWVc7VkVrVHNqaUtPJktXRjFfODwk WnhoRntwc05LUCpPOQ0KPiBecnYNCj4geitKUSk2Oy0NCj4gfUA+PnNWIzxWTlBlZnNvYTFKV1Aq ZTtkV3phUylDRSVLKUY0P3tlUT1AeXh5T1E+RGpAZUhobDIqNg0KPiB6PHdMbkBNcUNHfG9ObXp8 RlNhMENoaUNLPj5ZXiM/dDhTMXdydn1Od3M+Kl9Gd2psclRIfTxrUWBEPShADQo+IF9XRTdeDQo+ IHpGM3BYNjVCYFp+ckZZazYtDQo+IF9zJm0ya2QpeEdWbEZUYnwrKUF3VyVsaFY8dGlwPHpnZFZo e1lQT2MzQDwqe0wpfCsNCj4gel9OdlZETHp9MGRvSWpXMFhRPil9NSUqSFZ0WlhkOEBldGQldT56 bmUxcVJkQytpWWRBbGpaNEZKNWRQekt5DQo+IFcpaQ0KPiB6TEQtTHl1KHVZYj1+ZFItQkI8Pn07 eHZJbVduUjtPaiQ8NzRlO29RaGpKcCoxJWJ3fHhqZkI8LQ0KPiBARWk8aT5AbEcrDQo+IHpzI0NE Pko2Q1VVP0tWWEFpd2p0dThial9JRTNnR1dqN3pBfmJ3V1pONTVZdG1aazRHMXNjPVk1cTBjeWBt DQo+IDQyNnENCj4gelZrZz5BZDlxQWRvTmw8ezNGeGVMeCo/Wmdue3ptYzM5Yl97M0RUUHUhJXRf Q056JkozaEBUKExOKCE5LQ0KPiB2WHM/WQ0KPiB6NC1JeShLYntJRjkmUDs4NDY9ZXx5STZnQXZX dD5VSmxZbUE0LTJjYTJUMktpPmxTQlcoRntnXlBlXzZNWlJpbGcNCj4geiFDeitNZ3B9WkMpKnxl eDNsUT9EWWFuaCRxbT8tDQo+IEVJTFN4Klk+PnlVdkBGNFc+aHF+dERSOEw7dG09V2BXWUd5Nw0K PiB6VkhPZiM4fkRIXzBpYiMpUl9EN3JWUGVyckNuT2Zfb0QqRH54TDJsOFhsKUxvRiV0NnpIbyhI Vns8UlhIZUcNCj4gX0d4DQo+IHo5R0hTZWhBfVI1ZTBKRTJaRzg2WilKcSZhWn1nOH0xUDY+NVZR fHBHbkpvaGM1OFc7fT15SjtmX2NMTlBxJn0NCj4gR3wNCj4gejBDPyF+VU9JQDR1Mz4wQGJ4SDxt a1l8aDwxbzNDJU1PMnREdzFPSDVMd2d5VkllXlVkcnhDe09HDQo+IE1LbTghTXAqKA0KPiB6STco YkFjKl9GJGVpWDI8OFEwWnh6aCF8QFhmeGkhVCpZOUZyaGhDNmRQJlVhMU81RHl4OU9wRmxlV3hA bg0KPiAlfEVFDQo+IHo3azY3OTlXRE4pKFpPcms0bStpd2gkNVl7TlExcD1jNClCblYrbUxwNDk+ biVXfDN0Pkc3dHFOQDQ0Iw0KPiBUITdmSjcNCj4geklmR1hzeUEpUSNpZ1hEbTVGM0UyTDsja29K JjB+MHl0KVRoeSlqfjIwR2RHUmJoKnl2N2lISWgodXh1LUdWYEh9DQo+IHorS1kqQlV6dXRwQ3Y2 PTlAMT1+RDMpVFNwSmZYe0Y7V0doMmVDNGR8LWJsLS0NCj4gbl9JcFZGUjBnbjAlbTM5TXBfWTUN Cj4gellPa0NYLQ0KPiBXJUN9PmdONGxpc3dmOHdzdXhOajcpcFcpTmRiYHIzendAd20/KjwwcTdm Q29Gd1dBQmJwKFVNLQ0KPiBNQT0NCj4geml+bSpLQFBGWGd7JkI/a1YyeUVZM0xQRkM/SStnOzl8 OUlFKCkpbylVNXBGVSM1aT5xPGNybEFyWldjJVFDZ30NCj4gew0KPiB6an1GaVRPMXAzSjByR0JP YUFQKGtCU2ZQISUrXll3aGRLQlk3dG1GRF9JSmdCOUgoO0tLJUxBUUQ2M0g4Kyg1DQo+IEMlDQo+ IHpAa0E8emN0Vz5CKjs/SlleaGpyPzxGJmE1SGlZI2dETmteWDMrVTtZS3crKkpyfHlGZ2EoZTF5 KTw5Vz4rUw0KPiBLM0cNCj4gelF5dlU0TTVJSGNTdjlZQFJ0Wi11KFMpeVBiYHdHWjwrLStZLQ0K PiA7aTtpQzBvckJVQFY/MyM0PFNFS2hrPlk9MmxCQw0KPiB6YSp6YDQ/b0pObTlGVVF0X1IyeUs2 dn55VzgtOFU7aWVCcnU8ZitsYVZFfjJxTks5NkxSTmJ+LQ0KPiBgb2JNNjR6I3w5DQo+IHpablpO QlBOOT5KXkBpe2pqalkxWVAoUT1PK2tCbWNzbE5DRD80d3ZHUU9wVFdoJCZkfkhQQT1mUzclfg0K PiBrWjdOZVUNCj4gek47JEZTbVp+ZDZKd0k1KyQlRT5gdW44ODhecHh9aDU4I0FyWFozYkded2oh MFF6dW04SlRIRVBgciopTXIqYA0KPiB6Tw0KPiB6NFdLaUt3RiE2WW03KEp6bGBGR0NNZmw3UGVL fVI0QytEaTw3TDxvSm5aWWVeaVdUSkdAdHxAelA7ZG5UND42DQo+IHI2DQo+IHpOJlhMaG51cEBW cSM3VlVqQTt+Y0hVKUZxOWVEKmkkYnV7STRlRE1JM3hLZDJYYjQrfTR4LQ0KPiB5JDxnaCVuVUMr bXMNCj4gem9STXZ1eDxJUGRqdUdrMThiXz1gJkdFVkA+cStkI0ZgX2E1QF8xbCo8UTw1eTwmbnpl Xlk4cC0NCj4gK194TWpCX3t0JA0KPiB6UEQrZnhtc3dGSG8yNChaJXQmdDRYXjFhUlFqZT5tPHM8 blJLQl9TLQ0KPiBkT1RIKEw3MkhGKEhQaXR5bn0mMmZue04kDQo+IHp1R1Y2cDdSQXhGVEFidkZS QmoqIUxLKnwteUQtcUdDdiVHZFdFLWMoTiExMWVQRyplKFItDQo+IHRZXyZWXztCZiRvR1oNCj4g emRPPWFfdEVzTjZmZGpmez1+cW1HN2skO2gjb1YqPkIkRWdzZj1pN2pHPiQqZjY0MWpPQ2VpV0cq SFlJcTM5cmwNCj4gMA0KPiB6WGVRdW04OUkqJSlFenBCPVdVdD1LYnoxcXF5WXp+NU9rV283U34h bHJgTSpUblAkTik5cEJWKWgjXkINCj4gV3soe0NWDQo+IHo1cWZlOUx6VHI/NnwkaShSV2FaQ05h Y0RMJkNHSVB0WHxMWTdHdWJVYH5SZUJnRTEkd2kpTT1aeGlENlppeUpaDQo+IDMNCj4gejV9R0RA VnF4JV9WZXFOXnU9I1l+a2RiYEQ9LQ0KPiBDSUBGeVc3cSZAayskYWdZVnh7aiVRYzBOdjNLQUNC YjtrIVB7UA0KPiB6KF5YKnVmZzcpVTJsXjRVO3oka2Q4V3V3NkRQMDt+e3xDNUQwQW0pMHhEVXJz NnB4MXlxdCU4VkdrUihQYnYNCj4gT2wpDQo+IHozN3MkeGVIfThpMyZ6dzVAQHl+KXNsR19ZRiN2 dG9rTm4xTHdwUCM0SUcrenwoSF5ZcDYmNTxzQnc+VG9JDQo+IGRDNiMNCj4geiFrRDhXT3lQPGB5 Q0loTEJUPVJTYzNlK2BIQFhJMiglVVI9NEcqcWpJYllxMVZPb2xIPCE3dW4ldkR4Z2gNCj4gcU5l Jg0KPiB6WFdPfHhrdlozITlMUnxud3Q2KW5JU0BARFM4TEJvKWxpfUZUeTtodkkhUW05V01na2dt ajc3Jm59aX5BKWl5DQo+IHtJDQo+IHpVSGA0OVUjbit8MVd+ZX5APHpXOE9mPnF8O1M8T3lpMShM TzQwPlF6RCpBayNJajRIVyQkXn1gR2ppMDw9DQo+IHd0ZDgNCj4gel5SMF5gRWB5cV5UUl9FK2oo LSVYVG5FTFo4amx0PWRaPWVxWEZIQUNrPFYlU1YwSVhYZTAtZmFvcklIVHNYeyEtDQo+IHozSFJZ IzVaUjhmOEMoPSQlK2FfcUhTe04oLQ0KPiA9TjN7YlZoYiQkeipWfWZ2RjMwNjd4cU5JUnhoelFQ bz1JV2F3JCYNCj4gek1oSytWbmNnVkhDTDF9amlpdyZlSzgzMGZmQX0/fDtkNzY2ZjtkWG18Nzte eSF1dzxeVn52Sy0NCj4gUXtUcCpTNUpyXw0KPiB6N3lNdnw+fmdpfU4jQEJGZFdlSTMrbXB7aDck cU0tDQo+IG9eOEhBTFBNWU18Qj8xaSo3dFBASGkhZEc7ZnNOaktTbit9DQo+IHozNyQ1LQ0KPiB0 cSshJG5oYll8SWFII0IqIW9XfV5eK2NTe29oM1d2TjZeVF9+IzI1alhjSFJfd3t3VVVFZ09wcTBj aT4NCj4geiZlaVdwa2I+d3AmZW1iVjR4YnFoRyt9eVc1X2ZQRl80QVphSlFTdDh1K1p4KWVHeHl9 WilSYTtnWGY0fGINCj4gZEg3eQ0KPiB6d0ctd2xhRCVoeGJaVTwhP2c1KXRaeyNQQjZEPlZJb3lJ a0RgWilsR082PkQyUHZ9RFg5Ty1qWWUpfXVpNloocUgNCj4gem1GbyRPd2E8fHJuTDNqenA0NHk9 YnYkRVBlVGJqb1RzK1FCXl5zNGU1aWs/JDZpZ2M0bmhQKlRIMk5PSlh5Sg0KPiA+fg0KPiB6RCF2 fSFta3ttIzVed1pIM0w7N3hKWnk7N0ZQNUowNlRlR0JXMiFmcmJYOTFlbFd5P1Z5b0E/RC0NCj4g byUzWEBhYWopDQo+IHp0d1gtJVNUdXlQSTAlblYtYSkxbDh+SFFXZCsrX29pRFU4aihLKGBpRW1q M0sjRTxZeS1HN20xM1MtDQo+IGZFY3BzfnUNCj4gemtJIzVMKHxzaSE1YDdDTHEyI3tLPUFJK0Rn T1ohKyk5YWF6OU8/e1BWKV5ZOG5wbSN3WWwtDQo+IEMkQFdOJTE5TiRWKA0KPiB6JFYwZ21pezhq ZTY4eDA1T0pYQkcoZjBxOXcofCR0ek9gJUh8QTZENigpUVZTQUZJQyhwWWVMOGAkez9fI311NWwN Cj4genVlUH5NQ0hFfUomR2hOQE91TzZ1JilAMnt8RzFCQmAkYU9RZl8wfTBQOWpxSTIhQD8laUhl K3I/QHtpDQo+IHYkO1F1Sg0KPiB6JnN4Q2hZWitUKiRAITdXJEZqbnMkMkVZPW4+M204aWdIV2x6 WktERilTYHhOOyhAaVhgWVlNRWpye0JrNGJxDQo+IEExDQo+IHomPWo0PjM3d1hGTUd6XiZHc1Uj flpAcTIxPjRJOGFgUklHVWUtDQo+IDRxUU52NnBiJF5QZ182NUVzYF95fUthK1N8RVMNCj4gemRN eW97c1Q9c0R0QVR+PzJDOEtNcCpLVT00YW5CK1dQcGtYOV85MiZGNm80QkQwfnJ3M2c+bzg9aGQ0 DQo+IEhJPCh8Rg0KPiB6I21KfGFoTntOMCV+MHlKQ3dCdj1AWU10bk5tfGFgK19rakVAZkRgQDJs KiYxcUgtDQo+IGxsMUpmOWckSTtWOUFOUX5MDQo+IHpUQ0tsP0U5P0M0KWgxPkZwSCY8QW5INCUm QyRnZGE5dHpINyhAX0V5QS1FNUk2TU9pTHstDQo+IEp9YkNqfWxfNUBfX1QNCj4gelZ1Zit2PlFU T2pGeUlkKlg3emoyJk87fjJGa3MrVU1KaVgzQlhrI2pgV3dOb3h8RDV8b15we0w0P0w2O1NRDQo+ IFFJQQ0KPiB6bHpQfmlZP3difGx+NU9XdWN+IXYtDQo+IEhmYWVCZFlwcklwJk56TEpPaVNrTTsj VmRmcExQNEsyT3V1SXd8U1lYOHpjDQo+IHpQMH5oZ0YjKV5WMWAtDQo+IG47cnJaNTkhIXNjVUJk ckp2Yz1WPn5QK35pVklYUVpvSWJvP1coeSNndSgxP1c/ciU3Mk4NCj4gelZqOyRPO3BydVVkcjQq JTxEWWU5XzhxJmorNndhXj9MKHdRM0hRK3ohNnBEMmxya3BBUUNjbD8/KU9Dcz1CDQo+IGchTQ0K PiB6RzZSYDlFajckUkFQRjtMMmhQSzUxPmt+cUR1VXlrX3gqVWY9U1RTYTFeI31BenZ1QXg4dlo8 YW5nNm1mZjk3DQo+IFIoDQo+IHpgSkwwe192aWhZaX1SaFF8OXJhcXtwQEdjSl5iVkVfc3JpLV9+ c3ZmVGNlbEpVJjlVeytBLXtwRFZGNFpsWG1EMw0KPiB6QkFjLQ0KPiAqZkxDJlJkPlJ+Zjs0bW45 MDxBbyE1ak1qUFEyS1h7M0N6RTs9O1N1Q2pnPkt3TmU3T14he15ZWUk1IVFADQo+IHpgWXBgMGBR VytDMjthKTE+cXtIUXRwNEtqLTFxM3srcyVFQ0N4Y2c9I2ZOeTM3cHI/Z09qWnZCJXsrNGskNVdq bA0KPiB6YHUxbCFzVChjUWB0fmF6R3lWO0lgIVJMUiNuKm5TelRJQDw+UnVWMDVQa2NXOTlKaklV NjBaVShZR0h3O19BZnINCj4gekFxYik1Y2w3TzRwNXIyRis9V1VYZDFfR3tlWT80NiltfXVjODk5 RiZyZkNgKFc/SEBVI2JSV2IyJHE0Yg0KPiBXdFRmPQ0KPiB6ZDVAYHl1RCp9UFNnbjhOPUAlJVRD KG84WEtPPVdnSjY5VSs8ems0bEBtX3BHaXRHalg4MiE0cmdXOT4NCj4gfkBkfmk0DQo+IHpZZG9Q fUZJRz1POFI/OXR4I20kJkE9Zi02S1hJWXJaVn1pdEVGZnxpPyhfbCpWOHYhJmItQGxVZ05FeTlB LW9rYg0KPiB6RX1iPnpoQ2hme2ArVjV3YT5aak5IcU8wOVc4KHs3QEhpemUwfjt7S2ojMG1hbWNw PyVvYTNUeXV7UWhfRA0KPiBvUnJLDQo+IHpYfmcoXjhQJVgyKW8pQHZONjlVJkclM1I/Jik2Tz9v UypyRU44M1JiMTxtMkMxPHQya2E8JWpgITsrPjINCj4gZzIpNEYNCj4gei0NCj4gXkx3M2VacShy cDZ7c34wdD13eWVRZk5iI2JgMndRdEJrazk+JHYjT0B0aTUrTjRPb2I2TEohXisoIUBUe2QNCj4g UU0NCj4gemNaVEtXQEMyJiVEJl9gUEdtKStTMGZ1cj43STBhdHVKXmJvT1htI0VxQC0NCj4gWUJi PkdKPiU2Yjx9SGczMXJsc15SaA0KPiB6OXNxPShoSCRIZWE5PF9fU2gwKU0kQjtHLQ0KPiA/ZHFI dzB0PjQjWlYxY0MjKHshdXdEPVdAI2pnPEpjND8+dEtnSHIjDQo+IHoqbmBEU1pXUypTazcoTFQ5 QlU5THpEKWdrbUw4WWcrSUZ4NyliRGhGSHUxcl8xSytrQ195Wld0Z2B5VUE7Ng0KPiBtdkQNCj4g eiRxQzVSSWR1bkVTantfPkNidU1hTz4mUXU3b1FffGlCcSM+ZEA0QjZ4I24yRjleXlhrNiZhb2kz JWZpTQ0KPiBIY1NgQQ0KPiB6WTc/WktnRkt5NiEpOVVDNG9ec3V4LTQkTDIxcl5QNEMyOFIpSHAw TypoMi0NCj4gYDtjZU10WGFUMzRrdyswbDZ3cCVrDQo+IHo7YV81T3pge0k7c1NJSTlLTVdWYXRL M09LcGo5NjF6MzJvT3N3MTFQS3xLJkJ3aStuUV9fUjNsc1olKkFkPWENCj4gZGkNCj4gejlZRlIx RUUrb3lpRWpiQ3liMiZeXzB5OVpOSkQkRShPNTVOMnZRa29GKTxTaT9pdk4wYFkyWkdBbWw5NXIh I0ENCj4gMA0KPiB6dW5QNU5NfHZQcUtJdHxERWUhdjwrbE9JJjRTYXdISU56aVZ2MkF0ITR7RmlL ISRMY2RtfkRjaEhle0lPS2ZHWQ0KPiA0DQo+IHpGIVBvb1hKejV5SGB2Zz8kUVdjV0c2dEV4YjBY YmskcElLKFM/dnQmdXk1Y243R2t1cj4tDQo+IDdOX2xFfW82OEhWQEENCj4gekJMZiEoVDMlcjZg aCo4VGN6S3JnbSRST3BnLTN6SUM1RW03M3QhWnpwaGs3TUZJeFklM0FrN2ZhYnplWl9HbHhUDQo+ IHptSi0NCj4gOF9sbjdwZ0szTSFXPT4+dlM9MFpANlF7eTM0RWhWTmkyV0xDNzsrNzl4IzVmd08z ZClMUko8Yk8oJlJTTGsNCj4gejx6QCpaa1ojT2AxOTM0PD9TdyNaOzVlQno5Rlo2d3xIfW51dDRO R0pBfkJqcFZsLVFjKEpUXzl4ZCh9e2xsSmp1DQo+IHo4VEZtR3kyd2g1SnQ4c2dEUHtISUJZPXAm XjslKz5ablU1cVQ0RHNKeTNxQllVVyE8QkwxPklxZEQwQ24NCj4gR300KU0NCj4gekgkLQ0KPiBs WEh7RD5DPFJfPk5HQT9Ab05VQmllTXcyQ31DY0ZwRkcrRFZaSmdEVkhhR0krSGdFQ3RuUiE+QkNO Rg0KPiAmbjgNCj4genRYbStgPEI1Tnw1WG9oT0JSJSRyXmVGTyNNaFAxb08/clUxQmhBPnZMNWZJ aHAyR301JUVNTnI8elJLDQo+IHRDMHVEdg0KPiB6YFNsVV9Fa2RYaWpAdz5WWURyYUh7V3U+cCp2 YEtwVit1VFg7X2ZfMChsanF2Q1glTF5sNGcmVUctbHtybDRoPDgNCj4gemFqKXllZiptQE1HP3pv RkkrRGk4dFB2LQ0KPiBZPUJ8U3BhVThuO3ByazFqTiNuP2UhSF5IZTVVVXljZTMyMEh6SD93cA0K PiB6aFd9aC0lODA0LQ0KPiA0P21VTFBVfTZEVW1tUTJxb0Z6biY0ZV5mb3M9NCFgNUxEVGo/P2Q0 SX0jMVFHZyRrX09QI0ErDQo+IHoraCZAaHstDQo+IHJxUkdVczhHMFRfbikqYHhseDNDUGwwRXMh bmBXWFk5T3ZIcV8wJFdEb1RHJkRHJlIzXkx8Zl9vdH0NCj4genVwWVRkJjsxdHBKM1prVT5Mb31L JWw7S1FYSypXSjM9NkJ5X1hZRWZ6TzhIbjtCcV8wVz9iP2R7bWB+MTMhDQo+IG5zcA0KPiB6WjEo VXskRChYWCZZfUBaQVVWWlEhMWNFVCpOTyskI1I1JGRaNWZ3SnZONHtEWmB4TTlzMyZ5V3N3VEcN Cj4gVEVBQ2U1DQo+IHpvVnJ5a3RpRWtxKXpHQz9Za3sxJnVPWWJ6KG9wN1BvYVojX2ZjQ29WVEhv OFVBO3JTSG9xYyEkeHY/JVVYOFANCj4gd1cNCj4gelNyfmJpeTRrRUhyfHs3T2N2TT1FP3xzVm1I c2JUViE3LSljRV9FYFdgUUkqTXA0KnY2LQ0KPiBTeFZDREdgJjgkOEkraA0KPiB6VDUxSyUwJmhu U2pSX0JkaUN0cFM7bjszRlhVTW1xMWR3VTRKI2BYUERzTStWOFdyeH10cGNMPjk8WGp2Nw0KPiBI X1d2DQo+IHppcUFFSkFBb31zWS0NCj4gTnFVNFA4KzJ2eURXPmhVOWwzdXV+VlllMFlNY3puSl4j QjNSMmpERm9uY211UDg9VlhnQmMNCj4gemlEU3NLWTNlTzE8WkJGSDVlek9leiUxPjFKSk9MKys3 d31GQTQ9b3NiSSt2PCF4Sj9FaW8/WT1Da3ErcXZsJg0KPiB3Wg0KPiB6bmdSfD94Mn5AeiQ/M0l7 UGdVZjRwOTtKVVpeUys3OzBCYHAkVVo/bWhMSU1idzxEPztpPnArYm9hYzUlWH1lDQo+IF43DQo+ IHoqfndiMDgqfGU9MTloTGl3LQ0KPiBra2Vgc0E+ZnxGS2pyektzUFFpfkFtbnNJUmNQPzleT1lx WkJSM1BUXmVsO0smWEwNCj4gelFpTmA1cDUjKnQyRXhpWCQqO21nOzF3diVvRVRgazZTcU0oZHcm eHMlMGFOTEtyYEheSU9ANEVlOX1gazg8DQo+ICNfTw0KPiB6OXNUNVJiZHkrc3ZZdUVONDRxbjct DQo+IDtAZ04yTUV1U0dUU21adk9oT2BqJTNPVDw3JCRAa3J1PX50VlQjVW5Da0NADQo+IHooLXR5 aGhvfDVIRHFYczB5bjZjc0RgSXNha150WHpycUImdFQ2MFBqMlZGfEpxKVIqUkAwNDdTSHE5VHRp dHV4Pw0KPiB6dXdMJkgycDlhR150SytXUkNfcVVzQT9TZm5paTg+aT5YfGsyWXs0eE5rWjNwRkQr bE9YLQ0KPiBnTj5AXiF9e0RKaytiDQo+IHo8MkJeI3VrfH11dHJ+dHRLN243O0V2RmxQK2dXeVUy S2E8dXNxaXlMSSRmVTMpfikhOzBWMiNNMklvYE9XfihFNQ0KPiB6ajw+PjArPT9xOHR7ZjRvYXxV TjJkeXN8SUxsVVM5PmEhTE05JGE2UGRJejlqZmxhPD5lKW9BNnple28+aX1POTwNCj4geik5b0Nr YT52bT5oOT9QRjx8ISQmRkctKFFPY21henNHSCU3bS13Ty0NCj4gWXk7aVFRJihvNjA/RytwakZw MEBDM3Q9Zw0KPiB6UylzOFJpaU9BS1JgYXs+dThEenlGeEc3T3ZTI1pATEdwQlgha3xOZD4lYXc0 eWlWYVRlcSRaTmB2cUJ0UXoNCj4gYiRxDQo+IHpNODhLYHJwaihGbntia31aRXNoNEYjR0p+YUpf PExidyo1Jjd3KWdgPUM1fTJjeTAlWEktDQo+IEY3fWd8TDg1KlVYT3cNCj4genJDNUJ6K1J4MmMz KUhTUW8qUjhQVT8rQ1BiTmRDS18qPE12WH1JcERkVmQ1RHkqMH5TblZwTngtDQo+IH4xYCgjJCNT PQ0KPiB6VWhKK2Z2S2ExV0wpfWtHbTNKUU5mSFJpNC1gdW9aLQ0KPiAlKlokaW5ASWMkaW1lRV43 JGxBcmdzaENsQk1ve1Q2K0tkDQo+IHpGYFR6Ujt1Z1I4VzRnd19zWDI7MlZDLQ0KPiBBVXZANzlU anE/VHlPQ2RiS3hPSnZSJWp2RD48SCE9ZDJNX3FxeW88fCYNCj4gejxPeU9YbGlhfnQ7NCEjSUlI alZiVndoVTNfbnErOXApWmQxK0l+eXM/d1hpZnRranF7M2w1T09QPmZyTW4jaCl0DQo+IHpTZkVE a1I/NzJXV300YCRTJElSLQ0KPiBVJGJwJEUoV3RrYHlhKTlIUVAkXmBydlduUkwpKn1RI1REKDU8 SUQkST5QKX4NCj4gej5pcFVeWjZ4O0REMDdBYEdyXlNFSGZfOG9SZmlpQmMxS31vPHVOWVYlR0ti eURBMzhDYz5oPm5oNG1GKDlgYA0KPiBUTA0KPiB6QHZuJmF0RXd3a3V3fDgpKypXOGFGNUBGRDIz cSh5RX4lSnIxJm1PcmhRMERYQm9wNjVAcXo1PnFgKA0KPiBTcWZeJkpXDQo+IHpmZ2RoaGdgaFpz eXRLSUx3fSNuS2xsV253N1c2QXRCPnA0djI5Zm4xVyk0RUFpRUoqM2BEPFdTaXN5PklzZT9RDQo+ ICQNCj4gemN8Un1tail8QFpsQjB6SFItDQo+ICpCcTZwczZeNnZrVCNeaGh0Xm8+bXB2MF5neDN5 cWVAZ1Vzb2V6KytQKSQqeSpqZw0KPiB6azc7RE1AUUFtRGo3UjQrRUdscT0pPyZEfGFpUCtaQTEq fDBte0wwaihtZSg5e2BJSXl7Mio2cU4wWGNhYWhqDQo+IEY+DQo+IHoqMShHalc7Sk1La3k7TUA/ QiUmOHY9flNVYVoteG87dkU3ezI/LQ0KPiArYjlnZUs4MkM/K2VTbU57WXszSyNGZnVNRE4NCj4g ekFWXkdxOzZhJDxPXmc7d1NQNCh2OUhDWVhHamRAa1QkKGBBNkw5MEE0aSFvcVNFQ0hoOU5gdUsp Yzd5X3JMYXoNCj4gMQ0KPiB6Mj80QTlQWDhHYmR3Zzc4Z1VKU3FeRyQ3fXZLRU4+QSZgTC0NCj4g RXl7d2ZURFp6Kz87TSZGSil3fHZ1b2dhM3sjRSo3DQo+IHpUVTttPDkpUEZiUDE2dUF5RmBkUjdr NGxSUj4yc3srNzlJYWxSbXRrbkcyXkc8YUJVQG1OeV9tTEo+fVpMYw0KPiA5U3QNCj4gemEhM0xA JSRqJV5yd3g+Zm1GQX4jS05MI2lsSERDOGN2OHotZWBefUVMP35GbXtpPnczO0pWeC0NCj4gcVZ3 UW5Jdz14RQ0KPiB6Y0wxRyh3eD1nfFd2ZjQtDQo+IFR0I1dwdWhvSSFMfnUjdlVEVH5sN0NRSFla cEV4K05TWUg5TkZCO0hrVUVyWV9QSFZUDQo+IHpqKWhvbzt9VCQ7dkZIYmQ3KVJmUCYzbHA3WGF3 I1Bzd3E9SDdIYV50UkU/VGYqb1krZypGQXEjeEFFQTc2T1gNCj4gTVMNCj4gejVqX2syaX17dllL aUZzaWUlfUU0YU9VO1p4TkYhRCh6eEFvdV98bmc5PmxSMVItZkx3TWNhNTFXK09sOGB0b1FpDQo+ IHpKPX14NTRtdm92T2NvZUYqMkBMNnolVigtc3hRNWhVU3AqNTJYaiRLLQ0KPiAhNlJ0UFReMysy VXF1UHhNaUcyR1UhZ2YNCj4gekJfPnkjQmJ1NTQrNVY9MGU5OHMjb0peMjlDK2AxRXg8RVNsSEF2 UT93amlwVDBlS1piKHE1RntQM1E+cyM/Tg0KPiBVNQ0KPiB6a3JxMD4wMEReamg5X21Ke1IpfUVW c2U+IVdGeE9zPytsSTZpNmFQdVNrRVcpSmt1RyhYKVo/KFEhTHRxY2EqaksNCj4gelpwWD5FYyFI X0F2SnVVIyY0O3wzd3Qka2E/eERfdiljSH1LdTNUR2JiRj82aClvKFIqQD59WVJHRjNOb0w8DQo+ IDNAbA0KPiB6ZX10WEZGNUhPQG9eSFRYandJblQ0ZVVZSUdabDtTPyliPD9lc1Z+SUliMUxYSWM/ ZUAtSTNDRyhqaFRTJmFyQTcNCj4gejBeSGVVVj4tWGFGS2JhWjw2OytzLXckdlgzJXdmP2lOaz1T bnhGKlE3Q2pScjJuUXFpcmItDQo+IEJ4UExNTVN5aWE5dw0KPiB6TWpPdkV4SzRzYF9PQUlJdElD QnF5X15BO3NLUH5sb1pwOF5pTG99K20hYX44RyQ+WDViT0hyTXBkJl9sMHIkDQo+IEU7DQo+IHoj YiljTFd5KSpvM0JSN0kqUHRSREJqSG50TkhoWWdFR3Ukb0JtXjNNSCU4bHU2YTNyZWRqUCtOdShe VWFyDQo+IGVlYHkNCj4gel8+M3BgOFN9NSY9S0k3YDd4PCgkYUhQKDZxfUtPdG8mVmlofDY2cnx3 YHYxI1k+UiUoaW5qVVEmTkI4c1owcGBhDQo+IHo3byZaX3IwJGxZPVFzPDhyWHNNO2Z3aXtGWFU2 TFpnKTNyNyNDQHdFTS0NCj4geFRXJntaYWBFUUswKFJkTkh5M3ZxUX4NCj4gel4mMD54OV80MzVv ZkZmRWpyezVOLXVuWSlPN01zR3NVSSRYalh1fSleWUUyaWYpe25adz99NnwxeVBxXllwYXIzDQo+ IHp3VVM4UUVIel5vODIjfGU7bUkwSipeeHV6eG1RTUBhNVQ5OSQzRnohZG1FI0xYZSFhdjclZWlY PGYqNzQNCj4gU3gzfXkNCj4gemE5UGhkQz5sN2xXdkooVDNWS3NkQCpyfWhaZ3olWlBLWXFQUHRE QVZlRHJORm1AUiloQXtSKGA0QSl9TFcNCj4gK3U8PA0KPiB6QEVIajY0dTd0X0dPemRDb0UzbHBI K2NCQz8zRzxja0dXRUZmUkoxd0J6MjFlWTkyUFZZJTBqXypqLQ0KPiBNWW0rRDs/DQo+IHpjKU14 flRzcSZibGtyRGdAfGBMSVpCJVd9c2BiQ2lKYTAqIXd+fFNZJHxtMnRrT0VMUDZscVVvUyY5XjRJ fmINCj4gbnsNCj4gelVGdTVpZVB5UUs9NmVmX1FfcTJsP3h5bzN4KTBeWFJhOTlaaVNZOCUhfk0t DQo+IGIwK0l9NSUzQ0p8c0B9PH1tNHFxOQ0KPiB6Sz5idzYtDQo+IDQ9cTBkKj59NzFiKkltSF8m VDJZdV5DanRlRElPU1RmUGYwfk5xUVc+NlEpJVV1MFpEbWdCKWs8JGs2DQo+IHpkMFhnMyQmRG1r IzY7bWJ6KzJNP2BiQUp9RVY+P2Y7dDc2NmxERVdrVmszVkpfVEt3X0lNdjRNYE5SOXZ2DQo+IGZT NTYNCj4genJxTypNUSZTZk1hMCktDQo+IDU4SXIpRkxCPz92V1FtfXBWTSpeZ3t+TG5pSDxKR1k7 Jlg3ZEIpYHUwMjFvVWM8VDgwSw0KPiB6c0VLWXpmeHNJdzVedU4kNylHLV9AeFVIST1uWXR8Xy0N Cj4gUFRxR2NZPV84MkZATzche35uT1Z1P0skZ0ozZz96fXNFDQo+IHpEKUs+U01HanBiRWBzRjFg VlolfEtyd3NieztrYGxfOG4keHl4dj4kQ1YydyZMQzwhLQ0KPiBsTVU+RGY4P1Z2O3AzcjcNCj4g emRIfmBaeCt+TyY7a2BhUXR9YndZWlF1Y0htTEomTWtzfSVSX2hPVmwmJiNjLS0NCj4gTWM5X3RN MyooZXFpJVF4S0xuZw0KPiB6WkVsfmA1fHFabSh0a2d8M1lKaXA0PmtEanBSfkMkVStRfT1SWiE9 OXB3ezxabyZXdz97e3dZXzJoZn1wRm0NCj4gKnBNDQo+IHpid0JmPkRlcTAldjIrWnwtDQo+IGhX S1Vfb3BGME4zb2ZOdDEhME8+X0J1b1h5VGd+VGZxYEc9WCllbnt6P1NWQjJpSlYNCj4gekJ0I1Yj Ti1JXjxxMnEle3ctDQo+IGkoYW5hN2M0cV5uaG9iOWcpWXQpdVVtJHcyKjwxY3h7PFFofWpFWl9O bmcxSVN4Sw0KPiB6Kld6PHdfKzxUfV9kVUlKcVRkcGU3IzV6dW1VKktMYXUlO0E2Pm1QMmdXPmdW RGs9blBlbG81KHA1Vw0KPiA4U3skOEBIDQo+IHplN1dXSFdeY180JFBNaz55Vk5XRVRHRHx4Y3Z9 ZWY8YU5ATCtVUT1QV2hxPnlVaEs8LQ0KPiBFOWJKNDhNJXdAN3FxZEsNCj4genNgdFNoY3VeYUQ3 MV5KOzgwQiVEVTkqYG9lfSlpZ3I2JkMjKCglSWhHQWVgZGpKNHcmTDM2bnBfNzx5I0k5Ji1QDQo+ IHpUcjttQyF3UX1rbjYyYnRoTHZeRjAtDQo+IDhBUzZrdTAhQCFCTkIqQFUlc1BsSz5ZK0xWdjVV TG8pP3lyM3VmU0JBenkNCj4gejFOa2xsND15bHFWcWdRbWdNbyVPcHNWU19FNzRjWmpUT1EjJUQp bko3bkhzZ1I+PFZYYU5XbiVtdmhpDQo+IDtqciVkLQ0KPiB6ZXN6SCghZ29oZmVOKXIqKEB8bFo8 eXxGe3szX2c2WSRRbkVJeyNiMyhyLVpzVyNIe3UocDJXSzdraV94MCFwVF4NCj4genk1RjQtdk8+ blAxSmozaGxPOSlTaGhabW40fmRYI3hAcy1VRiFpajhCeW5kQUgjYj84WCg1aWpFZTYhb08+dFEp DQo+IHo1VjFOQHhwUSZvNEJIVkJ2UVlifmE3Tk1GU0Bldnw8Jjk3dzs7VHVeXll4MG5uRTleYllR aUVCPzI5DQo+IDs+d1oxTW0NCj4gemJpbFo5WHkrVTVlR2tnVyVRe0xlRHNiYmxheFl8Y2c5eW1M VE9qNXJQZkxNMDdFYDt3YkFJPyo/XkF8SmtBDQo+IE1fNA0KPiB6RkBHZzRRLQ0KPiA4ZGspQmJP QilqPFJmakxEO3pKbn14fSg3eXxtZGtRNFNJMkhkKjtgQDxIYTZvd0g/Y29iX1hEM3QrDQo+IHom dyFKb21VbkBKOFhaRDhLTz05cHgpRkpFcSlvQGBXQGFnV191Pnt1ZFgqTndFdVA/bGtEXn1eVDBU DQo+IExPfERkaWENCj4gem8/d3JVLShmbHt6d0I1S2JSPEB8UG8ze0E0aWQ+WFYtDQo+IEVjb3JW ZlhFUSF2MXwqU0NmTXo1QDF2RVI+ckQoNXhkcw0KPiB6JWM9MU1tcyVnYnN4Y25mP1NjRC0NCj4g Smt0MTFhKEFiQDtFaGhzOUtURFAhTU1tbEdnZ15nP3swMypqWSt+OGlJWCRoDQo+IHo9ZmR0eS1s cl5te0BoWiozPm1ERWNDY2Bub21BU0E2Tyk4e2EwWTNCSSFCXmwjamdGYTFUKHV4IWk+TztUfU1F YA0KPiB6bnUxcHJIdFRZcTJqfS1mNWA3eFpwTy0NCj4geE8kQFJkcCE4dmEzVismem5rWjwoJGt9 ITV1YzRyWFRENSs0SGsmbDxVDQo+IHo8bHxtWDJ1NzhhQHA9diM/PX5kUyNIUXdeUE5RaURRV00r JG1BWHJAPj1jZ3ZMeGpzWDszN29HJm8NCj4gZ254RlpwfEANCj4gekRuVDlebTNxI0J0PilxNiE9 bDEkMm0zZzM2Xz9SMCRBeXZOPjB8QThlTikoflFzfDhlazhvc0FybzZpeUl6Ug0KPiBfNg0KPiB6 MkJBRCt3K2dkM1IlMz5QRk1HcmN4M3tKbUZoUyN2eXZCT3ZqO15DNkVpcUZlRyhnNlhtY1N0PnQo SmlPVnQNCj4gSEFqDQo+IHpvKkRfYithbG0pNDR1V3NrKmJ+S3hwYGcxXz1gQmU8RnFrKEQ7ayFG OSE5VGx6cDtLMyYqeUBRVn0/SXpAfSQNCj4gaykNCj4gelhmTG9wVz1wKl9HU2c9Ozw4QUtCcF85 Vn1qJj1Te1BNUGc4V3dze31LT3ZEZzN2ST1leUJzfVd2ckV5ZA0KPiBHUE41YA0KPiB6d2F2YTBM KmxUPGk0U011T1pJUGkzSUhTRDV3OTJkIXRFVXMyQzZqdHZqTSk9MV41V24oOzBLdmp8N2AkUlY0 VF8NCj4gemJuMzApO1NmeXstd081OTM3PERBK3IlITV0P3Y8Z2Z7dHlUWisoX0FkO3RpcyRmeXZO eHFJS3glaVNnb2N1YVZ6DQo+IHoxdSo4YjBHUShmJj5IfS1lekAzQEh8fXQ4dU44U3ctDQo+IDcx O3ZSJl5EPU85WFdXSWdaRSt1RWB2KmpNXnxAbmJXKUkNCj4geio0eWh1REIoNjtZY0o8ZmA5d1Zf MXVCWj1BUjFCJUchfT99YFk3NktrJVJsQXgtNFZnaylGOCtpfn1rV1ViIy0NCj4geA0KPiB6aV9r SzR4LQ0KPiA9Y0BWPVoqOUcodTtaQlhvNFR1PkxhMyMrIWVGQl8ha21tfjNTIXI0QzNDKGFaTCZN ZjVXRDxsfnMpDQo+IHphT1IqSD5xcDMmciFuNUN1aighMEJxN0RuPXs+Z00kSXtzUjxvOChzVFRD aS0NCj4gV1EpbEpTZGJmOUVDVXF8JjYkX2oNCj4gejZINmB9UTByLWB5VjZ2NmZsIT47WSR0aDZT R004VVNCKHIwbCFqMyRGcF8zS1QpVHpVRVZLYWI3MG59cFZ9bkojDQo+IHpFIUxRR0A9d3x2PmJW S3FyRChwS25SYU5SMnUlUWp6XzUyXyZmaytQcGdqO204ZV9OdFNFcSZPM01UDQo+IENjVUQjIUgN Cj4geiZHKTcxTWgmUlRKQm4hQiRELWUqaWstDQo+IEtieDt5MH1HdWV9bDNffVpue1hVZ2V4OFdk QVVVQyE4QmpEaDBSI0BWUg0KPiB6RkUzVE13VWQlVEImQFZFZTVue3AyU0ZAeWMoNWFiWmczc247 MiQ7djJ1KVlkcEsqQkBpIzgpfGkwN1hfIWsNCj4gJEFPDQo+IHpxfFV9NzF0QWc+SkpXQXBrKyoh MT5UMyNZPHMqTHM/enVTVTdOcTFIJCUzOEpKdmxFPF9sJl5iaUFkKztgKmVLDQo+IFkNCj4gempL NTAhZDNxaUZVc2tWUCp9WnpAXnVxVTF7XmpDJVVpI2dhOytfQkpyUmtwRT8/ekM4S1RyNEV6SDdT WUh+NC0NCj4gVQ0KPiB6ellwTn5CSyRzIz87KEUkK15wPkU/QXwlT0BoPitrdVhwYitfMEg8dXlJ MWV0YFBMcHUmdjU3KUMqPzFLKA0KPiB3bUJJDQo+IHpQdytSR2BLKlRZKExXUSo8eytIUz5XJShW Q2RhfmZfOVMwWF9gMlhhbVJLeG1hX0lFK1ZYJXZ8KzhhKA0KPiAlM15gZEMNCj4genhlJilSYXB9 KlVATW1adyY2RFYxTyl9bzBKZmdTckd7VTBGRTF0aD1LWnJUakNwQTR0YjgpKEV6SnNJejxXDQo+ IGcxOA0KPiB6I3s3ZmY+TUlkVFN2eVE0ZylrdHtZYSg1VlkteD1STDM8and7MC0xfGJeOEJjNyhN WVNUS15udHhiO3RrVmdOaFgNCj4gejspZSl9SmtsSFRnKG0oS0x0VyVZVEhsRGdnUFpaLQ0KPiBR YDs/c3ZEa1pvVWomVElnK1BLQERSd3pkSj5eRmg9WCZtZQ0KPiB6RSt0PVhpNU4rcHFQUSNMSGBw Qit1KW9CeSs8ZTNmOVZWaVNaQFg3LQ0KPiA+QH03N29ndTBqRjtrO04/ZVhIOUFpWVMjDQo+IHoq SCQlfTxCKDdCaCR4cENnMTFocnYtDQo+ICgzM2YqfDVNWjZDdWdfNUBERHQ4UUVEdyFmQFJMPGZX NFZxJFQyT2ZYIXUNCj4gelhjTFNhMCFoJDV5Uk9rIWdQeXx2MFRheUQjd2hJJHtPdyQzdlF6KFIm fGgjRiR9ckZETC0NCj4gdz5UelgkV29rKFhWUg0KPiB6WUlCWk53Pkc8VWBIbmQhSUlQXjdYWntO fWNhZyRqbysmPnUhI3FSbkx1NGFBWCtHJHxKUUwzWnNkSjgxMm1qDQo+IH4tDQo+IHpuS3NWfE5I TmN4byhCMkdVQGAqQ0drWEJXMi0NCj4gZ2hyNDQ7PiZ2aCgkamlJfEZQcjFUUT0zPT85V1ZNNUZe T3o2eyENCj4gemooS0orOT8/OSlaKjg3b3M7aGExMXZCYlFAQ25jNylpY3E+Sm82WUh1fSokI145 KW5uJWA9YlVETXlsZG5ISSoNCj4gRQ0KPiB6UjRodU44cmpJdHFuS3cjP2FtbGRvcFk+T2AzRHol OWRuS3pRWmRnd3p1Zyhxckd0UTlHMChJQ2p5ZjlgaGlyPQ0KPiB1DQo+IHowPnhxakRjP1BxWE5K SmdxRyNsQ3dmO2Q/TVpRMFpkRkJfTzg4T2MrKEZxaDNSak1gNSt5fnllNUFrenRKemQNCj4gTioN Cj4genVfNlBAbX1sPDc/PyRuKTVvX0NnNSZZdW5pb2ZFTCh3bEw7TVVNR3ZaSmZHKiFvOGJ+ejZO RiNsYTIyYXM3Pg0KPiBucA0KPiB6TjElPGIzJXB3IVhzej9MKjd7IUE3RUtaMStrOWByV1lmJnRr WX13X0BmQzJubVJAbUNAczd3YigyczUNCj4gP1M3Wk8lDQo+IHpxVHgpZmNufVFgSCsrYU02QSNv VGFBbCE/THRAcmM5UXZxRFpqPVNpaEZKNndmUWwjaDhBK1pLKH18N3ozNmwqMg0KPiB6Xn5DRz4x R0AwX2hlUXs/M1NZXmtjdjB0bmxYZT5hbnwxWVV0fU1IbCZeOC0NCj4gdTZRUnZVPj9TWV4mfUt1 X0x3TjwlDQo+IHpIX04mU2hGKmBzVTFLIVlxK0IpfFRNdW5Fd2pTRFNZKDNVeVZ7SjNFKzFPUEha OG8rJVo4a08hWjhrTyFaDQo+IDhpLUkNCj4gekIrKUQrKFF8V0ZVPGtCanImLW9pSj8yViVpeHtE NDx4U1gtDQo+IEVHIXlyKCZUb0dLQnZ5NSgpJiMrWTJLXyQydTVpPA0KPiB6VklwLXJzNitJVz89 bnYtXlJ5LXZoZWNHc3UtT0R+Ul58WmFYXkc3UzliYntlV34tDQo+IHNpTWtHMmZ6eWRlMUhZfHhS DQo+IHprblVxS09QaEBgLV9UfkcyYS0NCj4gITwwZWY3WDZvNnEpekQ9UFchfU0qX1Z6U3ZGQ1l1 ZDMqQHoxXmY9RXUoSGModVMNCj4geiMtP31DbU9jYmlIfEk1WmlISndIQT9ubWRXfjltSFFyZEdp bDQ4WVZMeXdOdjN4KVdoLXd4a30/Ni0NCj4gdHE8PUMqMA0KPiB6aW9nd2JodkRGR0FPPiZyWnIj UWM2SU9Aa1ltMGFraDM5TFA+O3p6TFFkdFd9ITczeHoqdUE2PW9oQHFTDQo+ICM8SEw+DQo+IHo0 JUZjQWhXYXl2bGZJQklgOChRWGVjK1NUWGs8TFdQcTcoRVZrMTljR3VqUStmNHJWUXokZThZMyFt aVUlWEUNCj4gZXwNCj4gekJsYiNeYyoybEBTfFI+Z1hHbXg+ZFBSdW02PkJweHQ7Mng3IVUyRTkr S2xBNipvPEJnbnNAfnhzOHsrSnANCj4gcVJmMg0KPiB6ciEmJHZxYjh5MXJZPCVrMWVRNXtENVY5 bERLO1kldXtOVSFZKF8+Y0FOUX0qSFh+aTVWPjQ9XmlVWT9ST2cNCj4gNHptDQo+IHpXITdkQyhL YUkjdXJ7TSp3U2ZwMFhjMjk+U3FBJXNWPjRSaypvLTEjeG1qbXlNb3FMQ0VrajJIT1FfMy0NCj4g OHZNKCYNCj4geiU/UzAwJV90JV5xaCs9Sk5MP1U7PTghZCg1bVU+VSpKVSRXYzErMDIodlY+QGlk ZFR3SjBMY3JDdXI2bw0KPiBtT3ZhJA0KPiB6dmReblE9cVlEZ0xfO0w1KnUmNzVzI0Q9SiEwaXN7 Nnk3I1VscXx8cEd7fj92P3lEOGNMTT80SDY1MjBBfEZncw0KPiB6DQo+IHpHK0NlRjN2Yk8jMndT TldDWnI4d0xnSCZOQXUlQilCcXFkIXY7aWgwVU5APVJncX52elZNNUJuVw0KPiA+YCF9UWdlbjAN Cj4gekRYSGZkRihLX25uenokblhYYX1fRXVRNE5AOzJ9YThfYWw1YjwpPmJAZ3Nwc2pANlpeTWdM Jk9JUmtmTF9zDQo+IDc5Sw0KPiB6Y3VeYk9qKHBFdGpQZnVsWkF+TyhxQSZlezc/bVZGMThKOTBp TX1iJmFCVkdERlg5bFI3P287WlJONSo9QzN2DQo+IFU3DQo+IHpzMDUhaUNBZF42TmJqMERhaHN0 NjFQKXJUY2gpJWc9Z3hBeTVZbD4+bktDIzFZPHtgQVJhIXxpUXpeTD1rPzZjTg0KPiB6ZT9lUS1B Nn5GPjBPKSVLLUozSVJKMVV6U2dGJCZgWEp9UzZLNnhWYTNqRUFrPGIhUClFaXk0K2tCaiRQXipD PUcNCj4gemM/ZDlZUFh9KD9oN3pUb3p2NUFUP3M3dCp1RSYmRXJoYSZtYTNyRXYxPWg8NkdDKE18 NUgxcjQofGQtDQo+IG5EZ3kkNA0KPiB6I2lSVlJONkFuPjR4ZihJXihYaGsqYThyZjtRbSVhSEhU SntjJXheTVlWM0pUKHduITIhVFlnO2xFSUd5QXkhYUkNCj4gekA5KHk0VEw3cyFEekpYbkFzfjVE VkNUWXtGJFNaMj52eiNRaGcrSlFxcysmfTJNUnsmU0YqaCliaj1rQEANCj4gT2ZPYA0KPiB6P3JP RT9uc3JUYXw5VUszdmRoKUg2RSVgNVFGPEZgNi1jX25IWTVsLTgwQllnQzs0fFN7SkwleThVP0o0 K1J9QWMNCj4gelI8SUdeTmpCWilpQURKfHA1U01oSzFWT187a3V1PXZKZzFASjJwfn5ueEs+KShX SDFEajF4RnFHNiQmOSsNCj4gfWhvdw0KPiB6TkQzMl5xRzVjUjYhaT1UbFZZbiN7TU4zTTxlbDBT WWJIc1Y5KHl6P2UkQVpeUTtHMWxGKTIjQXlHZTB+eU4NCj4gR1FHDQo+IHpPcDNLKVFsdndybT1z JU9XQCR5PXRWeGp6VHIhcmRaJFRZbVFxJiM2YXMkTy0NCj4gSyhEMXFGPHJEcmxjTUloZV9FM3cN Cj4gemUtDQo+IDtDTUclM0NibE9saFEzM285bUAqIzJQZk58bF8hVUdPNzZtYTlMeHNgPEBJUSF3 NDZrRjNLTWY4RnozMmoNCj4gbmoNCj4geiMhfmdHPHM0eShHTUUmKEdMNkBCUlNKe2hubE1kQGQ9 ISZNamBYWHcpPVNudmA7a0ZHKHdHIT0jck1aOw0KPiAjVnsjdQ0KPiB6NVIpUWJoKUt9fUNyM0B9 MCo2KkJPREhmWXk3RmVMZSNvMDZrQi0NCj4gO1AldTxKN0R0OTsyKWdXK3NEXmBDbkRhdlRsDQo+ IHpxe3hKeER6ciZhWUVRN29HJH40RjwoRE5EbT10Uzg4QyorfnFGI3gxKW9RTzdiRD4kfGJ1JWZs KTgqPTVrDQo+IDB3UkoNCj4genFlK3FRalkoME9BUD1sYjVuWnEqTVE4a0lRZT8kdERwaENFNDNs Q0Q5KkllajNGdVB3TmJJI0hNZ0RZUw0KPiBtbktFcw0KPiB6eXVaYjRFaWZyIXV3WVc7aXdUdTVv a151TURLZzxNNHdFN3U9XlZ6U1ghMk4rRmUzbnlWJih7RnBISGF+DQo+IGYoOWw8DQo+IHptaXMo N3BPTWswdTRZYF9zVmQzUyl1YyNCRyR7KGkkXy0NCj4gKnRXYUdlOzVOZVhAKFdLWmNDZEhhfnle SWo+IWE9aHANCj4geiNXJUd7dX0wJVVuLW5wRDN4MmRvQGYpemdCO1NMITljLQ0KPiAmblk0JFFT RFpZWnxNcDAhJiFpbipFb31sUV9zPnRxJQ0KPiB6Um5kcntPYmdXNio0b04hMkIpK3QpfWxJRTc1 VFZLZVE+V0NhcE9ndnV+dmk5ejNZSVAjK2M9aCtweEc3VzsNCj4geUVIDQo+IHpOKXItczRfMjdO ZkIrPmJZPlVeNmZsdTJPWCpjNkNsMV5SWGRaZDxHYHpNPX15YX4tDQo+IHFofDY9U2BYe2RHZm1G KTANCj4gekVpeEJ2aV5wQH4mUzxaPGhRcFV4YER5T1RfMzR1eSUhPiV0b25ZaDlZVzVJYVZkRzIx IW5qKEBYMWVoWQ0KPiBWVDJyUg0KPiB6ZEhWYUF4YnhMSXE4ZjdhJmJTeT94ZE18IThuJlE1IV5u Nm5AV1dsO1BhKXhDKmNxbz0pMlZ8eUwlaU1eDQo+IHNgb1MqDQo+IHppSmclZFV9c3p7JU47NjR2 Xj05eipLJDQrSDdRViZYPSomeXNOVTxjZkpSX0Ekd2Q0d3JRTFNSWWk3N2hVDQo+IDB+Yj4NCj4g eiQ3NnZSPF5uU1dWNkBHVi0NCj4gNUNXaE93c1khdUYmUktFOT5DZXVHMEE9Y1hKJD5jKDVqTzJz M0tLNWI5fikmaWA/dA0KPiB6Pj5RbFpiWE1LUSUlNENjX0MhND8yJjYqXzB6SHZ9VT1NKWhAZGda PXdMRV5rbzhfQGVgZXpVJjxsbg0KPiB7UyRGNyNDDQo+IHpYQ3hicE4/SkNSOF9WTyZ3Ql55WlBL PU1UejQlKS1qZ09rN3YydnZTQGxDaD1AcSEtDQo+IDtlXzh3RUNlVDREcGZ3fHQNCj4gemdpMXA9 UG51eGApb21IMCtoU3NOSjchMktGR1V+NWdrRTNNNDAlQXprbilsYDdBQ3J4QXo1I15gamEza0ts JCYNCj4gUA0KPiB6QTsoQlAyQm81dCVHUmR8a1MwUzAzVkpYQD5MISQlQ09pUjI7KmQkPU8lNVBl TV90VTJUUzFSXzV0OT1EDQo+IDhnWCRzDQo+IHpBSylrX2RONHo3TVBFeCpRaXxzSHhUQWhhenNv UX52VSRmZUw7Zzk1IUt+Ynk3NDhwMW1uSzRXSytGSWo4ZQ0KPiBRNyYNCj4gelNSeSRIKzdoeyhf MlFxZ01Ea31tJTFgYWJaWkBzb1MmRUlTSUpRZWImZzckPENNKS0NCj4gNGQ4MG87M1hhe2RZMVgw Ow0KPiB6Q2BjNlFPZHw+UDVMMj1HMjdFPn5AezxhNnJMQjNsZlErbSk/PUx2ZD5SOXReUE1AMG92 YGVBeDxrdCN5KX0NCj4gal9YDQo+IHpBPzN0MngqcFk9X1dwaGUrc2cralhiRnZsKXg3KHV5anpF TmFzT0pGTjtgZVgzc1dpTCtAMU4+Yms5PTxyaEUNCj4gM3sNCj4gekAxPylOaj4kQj5QciZvQEAl TnYkbUE/TT1ia0F8YFA0fUdpIUYxMS16ZmJwTTxHVC0NCj4gajRfNERYK3dyPj8tdyVCVg0KPiB6 eFd9LQ0KPiBTKHFkQHNYfihqY0YyOyNsMmc5SUcqbWZyNmU8cGtCYVpMdXRwVj9tZVAjI05zYzY7 ZVEqaUhVemR1ZkByDQo+IHpoWWthJllHKGFeWCU5VX5mXk59cipeX30lI3NgUDEtDQo+IDFnQUx8 RHVXfnt8bmhlSGBxUU4lTzJYOFNCakgke0hGP1YNCj4gelVCYmlzSExmOEk1MnxhJXt5YVN8Xmtk djIlZVFPeiEzPT9UVGNvV3BhLQ0KPiBqWHk/WEx8UEAhRUFHXjV5akxfVUdxJQ0KPiB6MmgxM2Vp X2E7fGJ1JkhxOUByd152cFV9UTdQaWR3RV5Ibj4qWlY+UC0NCj4gZHVlTWlKZHVPTCZsVW1AKDR1 M2BgJjlPDQo+IHpNQHdNZU04Vk9MJFo0NENKIV5jbF55LTxPWFd2YHVAcj5GUE5mITNxUVQtDQo+ IDhHVUZEN1o2fD8wdD83XzIzO2JTJHwNCj4gemQpdG49LWo2cEVPI1RQbndAYExLenE4XnFRRSVa SmM9KmEwME5JRmF2cXJMWVR8cDB0LQ0KPiBncEReVU9RUzYxVS05dg0KPiB6YnBGazMmZWJFP2tO M1ReK2ZqTmE+VSRhV3k/aVJfZG1lOEc8WV8zXj9NSGVfRig4aGxxPzJ3elI3O2dyNg0KPiA7Z0xt DQo+IHpsbktgUyFpb2g8JXpFS3s/e3h8X0E0MDhyayMjZnZVYyVvI0phNU1MLXwmMUooen1yN0wp M3JlaHlzQSFvUCRSJQ0KPiB6PDhLPXRva0grPF8tOCljZ1p5dEhaekl5RV5TYnh2ZFckK293Z1kp bl9+REhWZj5eQz9XcU01ZSNVNC0NCj4gMm1TPE8mDQo+IHowSkZfdz0xPXhgYFpofT5ScDltalI+ bWxmczs9N3U3JFlAfFMrQW5XZTcwcS1fbk9fJC0NCj4gaVZUT3k8MnchYUFDP2MNCj4gemBYSnUy MUFvRWF5Qk5OS3RDdmFGX3JMRVFeRXtzWTFKQy0NCj4gY20xbmN0PTZkSjleKTZjYj96Mm1RdlFm PT5vJV4lVQ0KPiB6aCV4KyU5UClVN3VwaDA+WF5PTmdqcUk8Zy1kdSVEJGxVXlBzQX4ycDRIJVdW LQ0KPiBmTGUwTlNwM05gdVVzJntVNHhLDQo+IHpIMkBVOEZZcE1HdUtncEJ6WUFiQDBQTUF8cGNr RmJSc2p2RDROdGNvTFFpSChlfV9yLQ0KPiArcU5VdXRQdXRIWXtaY04NCj4gelYrPX1lcE1tUDg2 eWlQZHo2MD5EO2A7QGx4ZEd7UjxaUXQ9KHpCMT84LSN4PyprYjtOMWN4Zi1yPG5LdmV7WnJCDQo+ IHoqYSUtMy1gUUw3aG02T0FlX3EyTXc3Y1hjOFNNZTV2YGFzaUdAOypVPCpYT2Nsd0hILQ0KPiBk WTViYEMkdW0xTXlRelcNCj4genlFJWdFc0FgNkFpMn5GbUA8NCtoey0NCj4gdF5nODN6U0U3IU52 cmBJISR1az5DYEo8SEI3PGJHP1U5KkwjMVI+d09wQg0KPiB6QUU1MzxwekskKyNDUER4Rk4jJGso bHFsaHN1RiZnKGd7R2BEMSFoeHRwaj9WSXExfG50RGtQeyFkLXlKKzZTQ2MNCj4gekR5VTQ/RTtU KXEpdFE1bHQ9XkEmQTwqOCExdmh8K2A/QShrK19FRWkjXktJUkppSkg1JHtjPCFmI19LSCR9bDg0 DQo+IHo7IU94Wi1NSkxFRmFRYjV7cypuey0NCj4gdXBVUDVCPE9RUGU+JWNrN3B0eEZ3emF7K291 Yj9Ic3FrajM9eEkjKm9xMlUNCj4gelFTJTx3Kz0zY0g8dl9JJlQoan5fdVVyREdze2xFTT57XlB6 LQ0KPiBedUZgeShIZU8/fWI0MTtXaEREQk1QZnFmelQ+Sw0KPiB6OEBxWGJ6dGNCQSVkWWZvI3Q0 REs3UGd9OzFOdnpoSSQral8tDQo+IDFvZ1Y/MEVLTWx0P35eZW58bjJkR3J4SGRpN2xyDQo+IHpq NnZRdCt0SyFZNyl9aHBFOEYkPz8mXj45O0I3PV5OUTwzMHo8bXtQXiUwMEJmb0pJZjR1MTxaWTB+ P1khNm9UDQo+ICoNCj4gejhDVzVhKENNfVloXm1uUzI2d2FlZE0lSCVAY2U2ZUd4Xm0rN0hgZF43 JllBJEU5cT07Wl9PekU0eA0KPiBEbFRvVXJ4VA0KPiB6Y1JfVSQkc1JRVUl+WEAwWnNCZVk7Qkps UXpGVERRZyl5cUlzNzF6cDZORFRHPGp1ITcjKG4jPEwodXNvP01aDQo+IGttDQo+IHo2byQkbVdI V0kyN2xYXnFYKUpsOHwwfGRUdV5gZTNmTklpZHIzN3VpU1lPe0Q+RjJeWnVkMSR0KD9mO2YwRVQ1 dA0KPiB6aiY2bll4KjhePV9VSFFVMCkyUkU5dDFRJTNWfn4xKnFVUVJgbyRqNGY8YzA+akFzalRA YShtYDV+M09DKw0KPiA2e0RWDQo+IHo1cDw8KUEkNnpRaVpKVilPWEUjX0wyVSFfTk5DVFZXV1pk PWpMKThlVXVobkBiTDRfTig5NH1lQS0NCj4gQjU4c3l0NUoNCj4gemczTChVNVA0ZXwxMHYmbEIz cWIxOUR1PzIlOGs1fUExZk42SV5ONmpLK3FOOSh5SGd0dDBpWkZpRX1ZTU8kSzMNCj4gSw0KPiB6 OWRDeGp1aW9yfGheVCgyaVZiUzV5NT4xZlNFKTBtYyhNPDdkVmxaX2pGLSk0YSNVfXIhWlA1Uj1h OFNHeHkzejgNCj4geiNOViVlbSRMXiVAKXdeaVAke1MzSjsycFNHZTdKPWAldndOZkJGQklkbUgk O3MlcjBsKGordnJOaGQlZTANCj4gU1pKWQ0KPiB6VDVaOGZMNG5kc1RON3hwITZZX1Y8c0VBczNU aUorMEokd35vUX04Q1ZZRnpZcGVSJk9RQms8Y2dgeVBGN25fDQo+ICFnDQo+IHo0K1gyWCZgT0hj ZHhuVmByUHxPTiRwOENXYDx5ZHAoaVhoO0tMNXw+WCtKciQmcCFLUT9YfWxsZCtvTE5VVGcNCj4g aDwNCj4gems/Zz1fSFk5dU5PUUZKIzQ2VzYpIWp2Kz1sKUBCSiF9SV84NmF0JWdqbFNIXndEanJj cC0NCj4gQEtzdDR7K1ZMZDlHcA0KPiB6Z0V7fWZGTVJESWY5S20/elAtDQo+ICVrJFpTPXVSJjMk PkdyK2dNXmVTUSV2d14+aiR2MHc0RlMkfnteN2t3OzU9ZlpVDQo+IHpSTmx8SzlvaFlxdnRQYkF2 MFM/eUtSdTNqOClHQVFKQlQoWSV9UDs7WiZLMWBtUnlDQnZeWURjQm9TJUNoTw0KPiBiU2ANCj4g ei1MemQoQH09dTdVdjlaZDVOeXpCZCN3YEJiens4ellKUEt7O0lrdDIwd34/TklUbz5TUFhrbyho cip+anEoSm4hDQo+IHpLVnlJYzhqVVR4dV4jdGZNb09RU3RsNUExcH07Z2deN0hNYlBTV2FwTVlL eHw+cXtxWjI+RHMrYk92N3pgDQo+IHZwVlUNCj4gemBeUW1vJT5QLQ0KPiBuSWtrfDtIJTklajxB WGM1PykqIT4lOHhrbmsyXyFhP04pRCEqcjR+QF4/eSVFODtXelhvbkNWNA0KPiB6R3ctYE5SPz1T ZityUSs/eTxZJmAtDQo+ICMxTF83X3N5OVFHYVk3djltWSNWQDgjQ0FeQXBreDdWRWMkSyhKYDNq WTJwDQo+IHozZzQ1ekMtKHAhYk4+VnstDQo+IE13Uz9qdSVnIyNObCZTO2ZSZXB8NDVwPlUqQno+ R2B7WENvWmoqTCZjQUgqUXoqbEUNCj4geldZez1yWXNaSC0NCj4gPyFAcSF2aGVhRigmUjJ0d2E/ TnJsfXpOQW9xdilRaVgkOVVLXmQrfWVmVDNFYXl4dFR6dSZ6aA0KPiB6UzRDY2ExbC0NCj4gKT1B ZTN+KDE0eFVDRCREKGJIViR0X3NlcFNaJGdwdXxfcyVecG9fK35IfDkwb19tVVohUXV1JDh8DQo+ IHpFQDYxKikqWEFveFNlfTtfTiQxJjlYcjROUXR2bEFqXkVrNnRMajxgUXlje24qSXMxQGNRPnc4 cFhMWUYodD1xDQo+IDINCj4gekZQQTMhK0I1cmpSPExHciYjJiprc2xzfisjSXh8O0otPWYyNXk/ Jk1TRTVFTCZ1eWRgRVZUVDglV2ZUMC1mYDZZDQo+IHolcmBDdm5xfCs5U29XVzl7TiNkcys1RGVm YUxvTWxIPzk8aktoKlBRNCtAVW9yX0orPC0NCj4gISNgeHY5R1Zwc3d2eXsNCj4gelk8cTNuYGp6 WCkjZVdsanZiJUZuU3M2OzA3Zk4+fEgmemR3YGhUSUNvbSpXIUpBZHoyUHM5KGM7QEB3M2VjDQo+ IFI3aA0KPiB6eyt4PGVfQ30hQ3dzK2chUUMjTzg0dlYpUXFfTW8qdkMoQD49PS0NCj4gfW1SZGJx dHlwMW9leU8hM3hfKE1KYXAxT3xiDQo+IHp3RHQ8dSlSOF99bUZ6ME5VeGN9SD4hQWBLPV9rJlFi YipySnUwTGQ8XzVYTndNfFB7SWJKO3FMLQ0KPiBgTFdpPmBffngNCj4geksjZkRjT1NPTDkpR09t K2pUezIrJm90cnliWUszK0ZuYWVEMUdxS0FpaysrdTtLI1NBRldYcWItDQo+IEllQitSJlB+Xw0K PiB6JlBpQTlaWEI1M3h1anowaTF5TipwUV9rZXBjUnBmTk85TDVNc0R4VWVsZCFqdWtZVHU1b3ht d1g7YWtwXg0KPiB3Um12DQo+IHojN0ZHQlZjWmNMSVNgTTVuPExoO1F4TXlAdDklKX0oTlMrXk0l aWYrTSZXdD1PV1I5I2tKdn58dlRxYg0KPiB5JG9Nc0QNCj4gejc8VUEobk5qaWt3flN1RFhFZzYr PkJAMDBQOF5ycUcpaWFlVnw/QTFYJjZAI0RXays5SHFQJW5mMUpUDQo+IFJhb29vPw0KPiB6JmQt DQo+ICNNbj9JRztsamJ2WHclME8jRUtzP1lePUhoKFVkKyhQSHR0a1A0Vmp2ODZ2XjdpbTcxP1BJ SWV4RmdaSFlpDQo+IHo7Q0hMTWo8Kkt8KklCe0kxMUdrUl53QGwrYm5qRHpOX0xrJjJtLSh5N3oy eFljQWE9UD87Nng9ODdaK3ZKLQ0KPiBlISYNCj4gekFSXzxOPygrTUdDMHJkTzFqRGhMelBZUkY1 aGVWSmBvcm1XYFg+N0ppRlc+SipBKjJuXzVPWCteb34peA0KPiA4IUxBOQ0KPiB6PyFJRGd7cz08 Kz9yeis+YC0NCj4gPVdmWTtTX35qJWpCNUB3fWJodH1GVkxxNU1gbjBAVXA7cFkrcE52RTZtfnZF aGc1DQo+IHorX2BEMCt4ZSY2JEteKzJ1NXFXZ2B9b3t4QEROd2ZQelBzbUZlMkYpcloyeWhZdnhL e20hQSt1UFJHR2sNCj4gUSY5U0cNCj4gel88MypSPHM0T1lKZGpnYkVjWUFfNER8PVZWT3tWJXdX ail6enklKTsxPkIwVHByTVlYdk1hPCVNbW8NCj4gNSQ4c19MTg0KPiB6PHxDYnE5bkRETEA0eSNC TmteNHl5bHtxIzJPa3F4Pj1JVFFjaFE+M1ZVRm4/Xl9GOGFpdz9Fbml0WUp3OA0KPiBocGllDQo+ IHp3WHR6fjFYQm04PG95MXNGbz92aXl7R1g/RlM2NV8qTEwwNHhWLQ0KPiBTfmoxbCZZS30jM3p4 PyhgTVh0PyFVeV9+JVINCj4gejhjPDQjODBqWXFxRj4wbGdoI3NoVlJZVkVGdnlTS0pkdW8kTkIk VysqdU9uRnZHOF9JfDJPRS0NCj4gT1VWZ3pCWUtvQA0KPiB6YE5pOUJBYVlDTTU8QWpWN2IoSlQm KUQ3Tnk8YD1qPHZUM1V6cV8lMlNJNUF2cmgjM2I+ZmUyWkNzT2NTVXQ7Wg0KPiBaDQo+IHp1ZXd9 XlcldSRNJWkhUERoYnpFT3FBV1dURlkwfH1jV2drcjJrbUlARFZiZC0NCj4gPzIqbTJjKVIxJGVr QVZKK1huTF4NCj4gemt4bzdoWnd5THVqcjd+NiE/R1NuVFpRUWVeeF5wN09sdV88UX5TS0peSElx KztoflNhSGB8VUJfUkVxM3BKLQ0KPiA9Ow0KPiB6enJ3Y24qZnl5ITglMnxeXk9lMEZhOHVIQSYq YWA5e1ZtUX5yQjJQc2hOVFd5NHlve0dSWENPJG89fV4pDQo+IFdMbU1aDQo+IHpXQ2M2ZnhgfnFK PF9xdUdGMlk/UWhCfTU7OUEmMTNkfDwtDQo+IHJ2QlU1aTYqV2dpKikxenJ5VWRjak1mKSh6Pkta dVoNCj4gejZGfnp4SUVzQjZLJWItbkMjJTRVJXBDXlgyLS0NCj4gOHtGUzBLcTZLa3wwfEJSJitq NG5kRXhBJDd0c3FMSVRjc3JsVw0KPiB6YzwoMjReTysjV1ROYCFTKn5lU3tTSHlCZk5HMGZVcVoj Kjxqb3dNQG9kJDlGUnwpYHFPTW4mdzxqQA0KPiAtQTQqUEA0DQo+IHpPKDJlPVo+cDZNWENEUz4t aVNPRktse0EjbHlzI303RGYtY2Y1YyN9NkZFLQ0KPiA1Nj4+QlZCeXQ/Mk5nJVV1Wk9OeGMNCj4g eiZoMFhsanFAKk5hWistaSlobnM2PkMhZWQyNHM5PUZ4XzBIPDJUTjxmM3xJM3QyY0YyQTxhSjAz PiRxdXtpKio3DQo+IHpXQFNBY2x0NCptYm40Z041RV4kdyVrUWtMSzlnP2g/UD1VMWZFVDxpK3FS YyRyX1hTMVV7fEs0dFRscnRucg0KPiB8V0gNCj4gekJLKmxwWSRjfUUpXmlSTmhtUDY9YkI7azBR ZXFgJEdSIWEoYHp4fl4+UilOSVdSdHo9VHp2e0hldWFxPmxnUSFSDQo+IHpnRG17MmhKZiNYcUor e1djak1eY2dzbjJrK2Y2O3lEbSN8PWIpPXE4NzF6QChUbHFWPUl2Q2F5Q1UqNngyKEsNCj4gYnEN Cj4gemtFdHFmNTdHZXZSaV8pRGtSXzh8PzhsdlpkVktXO3E5JHhtaT9ROComLQ0KPiB3fUxgUj1A TGEhJFZsPFVHTiljclcodA0KPiB6JkxlU21YPTchV3Z+KyM1eDg4Oz9XdHdTbDV4LQ0KPiBvS2FP Z1RlOXgpMHhnSCVOUkkhPX1wb0h1dzxuVkVPJkV1X3BlDQo+IHo0WUk4X3tAcmVEaVVheG1IX2JQ Xm11YWtyJkZ1QzV7aEF7Q3owTX57KmZYO3U3QE5YMS0NCj4gZjs2d3pTfSNkZEVmbjcNCj4gejFZ PT8xTUJmKkpwN31MYmRkUzNPN1ZaWWJSTj1VNWZ2SXNAP3lzeUUpSj5KSG5gOVQ/QDF+fG1ySktK fFI0SQ0KPiAxeA0KPiB6citIXmFELQ0KPiA5RjdPMEFvJjJgWVVpc1ByTFAkeXcwYzYwMX5sTGow VEVvWSswSnV7em0oV0MoO2pvWmtaTSZgTWhiDQo+IHppMFE+WjtOZzZsX2R+Nz5nfnN7QSMxMDQq O3E2LU93fHZWZmUjX3ImS3kxa2tQJjd2YSM8Qj17Qy0NCj4gWmJiR05yTl8NCj4gekpTZHhvS3pD MCFNOGQ3Vk44SkhzXz4kZFh0Vl5EQWRJekA7MlJFMFQmTS1GKSRsT3lNeUdfMGtoK28tDQo+IEt2 ViF9RA0KPiB6S0lhaj5fZyk/NFVQQEF9dihrZzVqVGplZDhvUGh6MzB2WCVyQkVtWlJmP0xxK1Ml NVBIUkh5PzNFWW05TQ0KPiA8UFpNDQo+IHpEOGNaaDg+WCg2LQ0KPiA1UCN0ZDFUdFVwflMmdlp4 K1dzNVpqeCpobVRnPEliNGRuQyQ5WTl3RzIhNm9UQTRBM2BlQ3kNCj4gejQ9e0NeN0hyXmZKIW4j VmBGQjdQJGJlQFVReSV5JV4kKkIzJWZMYWM5aGtUSFUzfFJqQHA8SWd8NjJVWFoNCj4gSWxWYA0K PiB6Rk1YT0M8UXBkWkJyRDdYRURlbkVeS2x5UGFRV1ApWGcrI01BaSZUfFJTKCMkVDBaXmFuNT9o WGIyN3hpDQo+IC0lLTFPDQo+IHo8TXVreSNraHBxekk0NDF6KXx7NVJBcHA7YGM8TzlPJEVNZDw1 QiFwe3VQRWZYPDIxOXhURGdJS1lseT0/eHM5DQo+IHINCj4genkhI2thczE3K1R3X1NDRjdkODl6 X1A5PmdhXlFaSz97VUROUHdhTipLdUBEQitJPmRnT0ZxNyhlRFJsVA0KPiBRQDhpYw0KPiB6RGAp X3t3dUdxJkY8c3t5TGhmeG9JdCQkVTlnTH1mZG1xY3RqUFF0dUhCeXBhaVNVUnBhYm5JRjEwTH5Y T3lMLWgNCj4genhaZSVlWlpDR0ZrYWQ2VklaaUFeU293bm05YFZqZHJRZnBLZCpQSnZwZWh7YHR1 IyNSRG01TjRIS19GN3ANCj4gd2JMWQ0KPiB6Jk5TWWV5UFFneU47aXVoWW0pMG5QaWQrPztkIXx6 ZFZ1TzxLK1JCaVBvKC0NCj4gJmk+clM/KXFmRVY2bW98IXY4IUgxDQo+IHpjdSVoSytrQ2c8NCY3 ZCpSZXlKR0g9Qld3UWxeQlZATlp7JWprRGV1SSZEWnQrK09BJEAoTFctDQo+IGNWaGFNX2p1fj4N Cj4gemJQTHw+Mzh+TkYweWNQWUhvVG1KRUhFfD8zeUk0JFMlfHVwR2VsK1Y1TW8wPlRxP3oqajN6 KDlBPWVsfXI5Wg0KPiA8dw0KPiB6Zmc/X0p8SSo4YWkjdjE4MWBMQiMxezF9M2djblkmNj5kPig5 eD0lWj1IZG0lRGVDc2BKYnZyNEoteTQ7LSRJY1oNCj4geml+YT9yMXNMekJaMUZ9P28tDQo+IEtP ZEhHPkchT2soP0FJUjUhJUZaVjludStXVnpAcitVdiYpXm54MVIkKnpOUFUrSA0KPiB6cX05MX50 V2lWIVQ7UUVINkdabHcycz9KKk08JGYqd0FiamlXJHBpU2MleDBaMjZMdiNTSSRlZnRxdG92JWxx TCkNCj4gemskeTRiI0xsWDxiMDBqfjkySXc1WDg0KkUhUG1hYmh8SS1oPntTaUwwciY+d3Q4YFgr bCZCLSZqJXRScyMrKk8yDQo+IHpTKT98fmVVUihgP3R9PDF5dCRuIz08MmZmaDZ0dChaZ0NVbzR0 SlNqM2p+dSNBbWpYVCFyIWlzZnhsM1M8IStGaA0KPiB6MmxmJXlqTHlVVyVJZmxZK1dac1dqOW5K SiNwMGh8MjtZYWphMnR2clY9d1dpa25YcnQqVmdCeUV8ZGN1Rld1DQo+IEdgDQo+IHpmMndnODJl ZlpiOFpwK3laZCgkZCVhd2o9cWojIU9IU097aWw0KEF5Sl5xK1g0b345QklZRGY/NFYtKTE9PWZ0 eg0KPiB6MUVvI2V2QHg1a0Q7byMyRmJVfCo+Zn1XSmRtXj5zJEx5NmRpVTZWLQ0KPiB5QjFXRmAp MkBHTVhVe08qQ3tyNUdJKCRHDQo+IHpuOzhNKktOfHg7UkNgN0kzKEorLQ0KPiB5cTBPPWtic1l2 dEh+dyMrSSRJT0A/d31BeERaeiludTh+V2lTaiMxSGxee0ENCj4gel9WPjhDQjY7QjQ0d2lEdCQm SChBISVfNiE7RUVEdlJhYj1XJExSZ291bXJ5djhRNWtMKCtLdWtxcHJNLQ0KPiBgdFZzcw0KPiB6 ZVNaSnVkK0EkU0A5MV9LVVN2M0VSSlZWfUAhaktrJU5DTkJNTSNofD1tblVgS3RxOU9DcDJ6NTBh Sg0KPiAqTHk8OHU/DQo+IHo8KyFFWGhVa3NtYyQ4N3FncGpLOHImenRuOGxrT3wtdSpqZG1qQWdK IVpuI3U7WW5WMiM3SiNZYT4/Rzw7LTtteg0KPiB6LQ0KPiAwMWF+bntKIXx1VCsyPkBTeHNTPztW UklgKmJJfUg3RnVMMkkoNjIha35LYm1xJDdXOF51cClkISVFRzcyUk5QDQo+IHomYiNxXjZiMThH dGg+YXwtDQo+IEthdmpWSmxYfDFSYW96QzFPMzIhRkd+JmQ3KHRQWCglcG5sJEQ0KmJVKlBARTBI VWQNCj4geiFnIVI4I1RILTstKjN5UHV0YTE4SlNoeG9sOHQ+dmpNT1FKME52aVpLT3pwY0QhVHE3 NE5aVXtVeEkoV1Z2V0Y/DQo+IHokcGApVyNsODxBQTArJCEya1d5RF89SU9OaHxLV0EpQE55WUZx cS1ieyEtDQo+IEJsJm9YWVp3fXZaeDtrcWVJb0pmUS0NCj4gens1SEUoO2pobkwwVWVQXkorZU1x OEw4KE5aaGo2TmhTPlYtKy0NCj4gTjt2VnBvcSU+V09HUXBROWRzUWdyTEhWfWBISw0KPiB6dj8j TmM2b2FYemJWZUNuRj8/T3RqSzRYJWhGRG1QSXA9e2EjeE0oOSpENDlGbXk4N28mZU0hO0M7MThz dg0KPiAzdGhTDQo+IHpefkZuV2U/NHs8UlhZbkwjXy0xQyFeaVhMPWRkVmFBc3xjUy1QfnN1P0gy XkRCTysrfWoqfXctDQo+IEc/OHFZY1hUJD0NCj4gejlid3xjOzs9aVd1a2VNQjladlN+eWYwRUEj KjVBVGxIQkUwSShLPSExJVlkMXF8KX5tU0s2eWV6ajFxeyhsRHsNCj4gQg0KPiB6KWNXUWJ5Sm8+ a2FDPWJjQG1BXmZvUDVHQGwpRForJEB7P3ViYSlQeztgT0R6bVBXb0NKTEUmUlJHdw0KPiAzSXA7 JDBSDQo+IHp4WFVJd25FbyE0KVNPMUFoNlN+eGx0R2hITFQ5cnokeT5gfU9IWT1rUTxmPiRCMChf TDNMSVJEcjltIWcoaTJVQw0KPiB6cjhCdVdaZm1PZTdyc0pJa19tVXJvO3kjPzI4SEsrPkJBcl5t UlZzNkRsTWZ9aj96X3ooNmV1aU92byZgZzRJDQo+ID0+DQo+IHp5OX5ufV5mRTFGc3hoO3ZgfXQt MlVwVGp8ZEl7NHJZeTQ7T3hSYFIwKm9hX31OOz5UMXolSHJ2RnxhT0JRT1ljcw0KPiB6MWFLfGhD JUNPK0QrYGtsMWtOdjgpcHkmNWsoWFFWaSNpSmAwQGUtOS0NCj4gdTVeM0ZWeG9APlVVVHRia2x4 SEsrVXNoDQo+IHpiS19HbUY7Oz4qcX5wUGFVZ0grMWVpTXhgOW5Ye2hyQk0+KUEjME9NKTwlZi0N Cj4gY008eWUzanw4eWZNYGlKKn1IPDwNCj4gelRPa2gjNkRMLQ0KPiBNTTA8UDZHQzNjaypGaUU3 OWBaPG1QV01MWU5mKzFpaTBiKHBFRiFFWU96aTQwSXZwM1NONGd9Jg0KPiB6TUtDfmpWWSlrX3c2 UF8jTiFeJUhZSTwwWEU1Z3JvcTFNZTA2VUY/YUs2dSE1PkU4VzVLVmZgIyRKJHh1Kw0KPiBFTjRX DQo+IHpZXiNPcnJYOFJaIVE8U3ZVR2NsU1MyUjhxI3lIMXxnTnZidFReTSMrM0B3ZHE1cH1BOTt6 Z3R2fEMxKCZ2DQo+IEg2RGwNCj4gejQ5TV4pJFBmYDx2SXtoMUleSUUpNDxxdDxBfigtP2dDP1I/ TEwlNyNoJjdidlJEaitgamEyRzVTZEsxZipSalBjDQo+IHo/OUp3PGhpIVJyaTF7aHZmQXx5VHY4 fVA9Ry0NCj4gO3lMNnNPUk5YZGhTUlpJJVBlYEZ9d09uJjB0dW1zRmxjdEFXeT0NCj4gekkhajtr KkR7MG9JVjhLciVBSFFSWlNeRD9PV0RJUntKMXxYN3UjfSZOJVRqSzxRV3J9e0hMKU13bF5yVGZH DQo+IEQmeA0KPiB6dD0/RTxQRWExfF5je2FrPEIwKH5qa19DTyhaRFRwPk9iPSFQPlIxKUA4NFAw RnJOTUwxTj16Kl5WSzlRbHQNCj4gd0smDQo+IHpuU1JVRVdWX2pTWlN9ciVnPSlnRCRZOHE2cVZt clZBTit5N1peMFhoQHUkemlwWCVjP0xNTXV3bztpIw0KPiBeQlZRcSkNCj4gemlBUT1gQ1l+SyFy aWtJNGM7Vm1Wezk/ZzVpN2dDQWwoZHVWcyUxRVVOcHBzR192WkAoJVRKbE9VIXp4PHo1bH5DDQo+ IHo5MVZId0lLODU9aTw9RiFUKTVmNUl5akRDc2x5cUtUNXhWcSQxYHAmNTEwZ0wmaFhCTyo1T2pS SStXUjRQXmpiDQo+IGMNCj4gejhuK1ZUa3h1dXZkaWBncV9RM3hZYXdDZjw/N3BDV08xP1pUcDFS WXgrX3ErS2c9Z3R0JTY3Zns/TDZQV3V0DQo+IEMhXg0KPiB6R1BKfXN7K0NaKXxNQyVtNk82Vl4o JGpBO2AkfjxRRnNgSD5mQWY2TkZ9KX56PDFeLQ0KPiBtPWIyJUNjKUZGbitwQFFIDQo+IHo8QXx4 ZEhgWUNYPng/YW9SKDFrM3lWJUNtNlNSZEQlb0ZMKlE+NjJpdjAhP0RzeEB2dDReWHY1elI5YSNW DQo+ICojSkANCj4gelEjdz9jNFc8aD9DckVlRDw0YFMlOTtXYmZCLWVVaHh6NUpgdFMraXctDQo+ IHJHOUYqMnBJMnQ2bkV8P2ByWCRVWkF2Yw0KPiB6Tlc8UnBrZSFhbGZVTkxjQDk+U3N0elBhQSZQ JWhNOSpjZVNzdyojeCg1YTEmO2o+ZXN7Pn5YT1pAU1k/DQo+IGdoUjxUDQo+IHomPD5yeGBhbmE+ Skw8b1l7c1d9blZgRj1taSNALQ0KPiA1Q1IkTXJFQyNvdzJGKl9ubUQ8PEcqfkRCKFpfcChGOHxl a2oNCj4gemh1PFZVPDlGc2s8TSp4b3k8TDU9YVJeYFFNPXZ1ZW4jVWtrREpXe19sK2ZTWDdtY2Bq THd8NFdpfWByNHUNCj4gZWJKNw0KPiB6U2lWXnpJYkhMdmRmaFJ6ZmcjTUR3Q3khZjNATnBAWDdO PEBkRFVYQlEpRnM3bE47KU5jUzNSfFJFVGYmDQo+IEYwc3U3DQo+IHpyWlBYV3I+cypubEtVdT5S NzZtdGFiTmVgRU5jJHJ3RCsqJjxtNFNWWktrNjArPmJCJVJCeStKPSklbQ0KPiAxPFNvXnUNCj4g ejlTeTlwR0RtZ1pUMm8qQzw+UEZ4a3lNfHBkQXJgMjcpalE3T1UpXkkhLQ0KPiB0PHM4Smwpak5r XnNrX3YxPzNRNHd1Zg0KPiB6VSRMUkE7RHA9Z0NESHR6MX4hTHBGdXpUUXB4MHp5byRvS3Y/fkJm PCk0biQ9Y0Y3OzZ7akJ8RGxlOVFHZj8+Qg0KPiB+DQo+IHpHRjZKLXw2SUROZiF+fTJQaV5mRCl0 Km4kWHRiUm53OF5taXJoVSVvP3FxSUhIeGhuRWJeR0NjVkwwMzdrLQ0KPiA2VjgNCj4gekAwKk4l I3tBcSZadDVkez1hUEtfSz5rZWtlVGFhUjVjQGhgNzliZSpZfX5pTHd8Y1l7aH5eK3xhUGZXcl4N Cj4gWFhjRg0KPiB6N0xIKFJmMjdJdyZTQFJQSipwM1hjRTsrSEItDQo+IG5oSkF1ekp6WnxUOTBf cSlye0lpWUAkRTUodE15S348Yj8/JmY3DQo+IHpeS3UpNnAzZGJ7ZihjdUxGK3B1UUQ0UWEyTnlm bjtqekdBcTN6VCQ4VXBjQjV7OFlgVDVKfWxWcElvIzFRcW99Iw0KPiB6Jjl2Z01EeXt8eys+SGE7 Xm8qK3w4LTJFbmAoVF9raC0NCj4gR1IkQ2Zqc2R6dn1VP3hNciNwUzZiRF9eVzNLWEJeYk56DQo+ IHp6eTVocENTWkZTajxXamwrZj85O2NfX3N3dT1DdDYjQTRrbk4ha1dfWDNSP2hQaV9TZFg3fG8+ UHotZC1sSWxSdQ0KPiB6Xm0mfmA9S21SfUpJfWtyTUs9IWdPcShabFJRX1hEJlgtLQ0KPiBabTZL OTVDU2ZScUwreFE5VEpoIzVTfEpRO01PemBDDQo+IHpTMlhUZTBwPzRKTSRJOCRSdVhOWCZ1ZHZ3 RzFTSXNFZno3TCFie0pYMlQzI3loSGU0fVMtDQo+ICYofTNXTkBKUlE5RD8NCj4genU0WDA9TnVq YD4rMFZ1JHQyVXhDTUA/eX4mfWp3NDc+bGFmMmlDNk5UM09tdWQyWjktDQo+IHE3bkhRR1BNQDxk P2tYPQ0KPiB6eG92fXMmPXdEN0R5QjQ1Knh7Mj55K3hNSEtEfF5ZcmBgWl9pRks1RjdrNVlASVky WEZZcW9QVEdAdWFjOyENCj4gbWcjDQo+IHpaUUYpcjx3VkxkOW98JjJEXiFqd18tDQo+IEg5PiFD JXtRaWU/UkY9YWtxb0BhWTh8aTgqJmoldm4kZGRMKnhUKW8jSi0NCj4gejIycnxkKCktDQo+ICF9 blgwR25uXjc9aVk3R1YhbDlKdUhNZWd2eHo3YllPbVZlaWZPQChnI0NOV1RsO3RhcyNmdkxgKg0K PiB6YEdWVm1ucHZufkd2Rj8rdFQ5ViM3JFdCSGxhYmJ3N21RZT1pbXxWMStZU3t5PHB1fUUoPEF2 QyhXOGsNCj4gdDY4KT0/DQo+IHp5bXNtRjAxeFY2RWNHSn1xd2EwLQ0KPiApPzYpcSUwNkFpZXo5 QFA8S2NVdjQwajs4OEwoZSFQKW5NPEA4OVg+X2owfUoNCj4gekFBdDBMUjxLQHZIR1FDOTtUKF9P S2dia3piZk01cV9ue2ArVHQwQ3NXaEJiVGxOZipnI1ltR3d3RjdWYA0KPiBkK35aSA0KPiB6TndW P09UaHo3ZiRGOStAWCpiY2kqNkljUXZjI282PDtedHEoR3l1cnBObUJ6bWxBXzN0eyskLQ0KPiBI SndXYVh2NzdKDQo+IHpQLQ0KPiB5bEthZ3JhYmFBTyYmP1oqdF9sKmF4PTdCdyV5eFFyIU1TVnhE U280cTRVbHRScTA0R1FQdEAwXzQyalRRKQ0KPiB7DQo+IHpyVn5VQ3ZhWjE3LVRQZG5BfVcte3dk M2QtelRHI1QtdlZrMTxBZUY+ekctDQo+IH1lWndCfmM/YmJzZiFmczhFKXw8JEINCj4geitVJTdP LWl+JHcyMnJndTlWbFN3QkROSGI7SGt0MmBqbjI3Qn07UVpXO0w/M1hqKjR7VVdFcjNrcT8/aC0N Cj4gO0I9bg0KPiB6QWtXRW82fFR7YkwyOThMU2FQYy0NCj4gV1ImUT94NGxYTTdKKmFUcmRNME1v XztNPiVVQ1NGaHkyV0AocCVUMU9aOy1NDQo+IHpebEtIdVFMMyN6eSUrSyQka3JRZHNWMkd2eUtK dX01N2Y2O2FZeXlsPGlMXmYpY1k7QT1+WnJGT1NTSVE/ZkVKeg0KPiB6ZD9jVzRvO0ROPWE1cXZJ JUIlcmglaiptM18jPz80dFpWWnhRNCRNWEd2ZmEmPT1BWEB5T1kmc2REcw0KPiBqa2c0Ryh8DQo+ IHpwbD9sQHtnITx+eWcjJEp4ez9Qakh4MGdQUEtIQFZYUVRTXmR0Q1grZm0xcVdMV3pAfmV8IVg0 X3kyfFNQDQo+IF5pQi0NCj4gejlWVjROP2o9aTxBX0NWalI2O15xYFZfalc/PlZPQ0sxeWRWI29G SG8oIzlERVAtDQo+IDloWmokS2FvVGd9eCk5bCRYdA0KPiB6em5TZjBaUlRXXkxhaUtpNT8qezE5 ZkBWZFomUEoqJHYqJTNsTkFncjVRZXlha0lQb3F5WUhlRlYlXzFUdSkNCj4gYXtFDQo+IHpSYWM7 KEwob3AxK15XMFB5RTd+aDgoJSZsS3JjUmA+KFk9fShUbEgoJFNyMDg7a1VXMStJSWF5dlclcTkh TDNOZg0KPiB6dSlybCZyUTx+NXhSQ1BCayREWTxsIU50cFJRfmRXZWJ9fWJRT0JnQStLTjNGRj1l PERlVS0NCj4gM0w7emIxYytNKEw5DQo+IHphSGl6SUUlP341WG16bTUkWXVYbV4mKG0yWkFDP3g9 PC16eGZKd017Qkt7YmhBSUhXclBRXn5fS0tPLQ0KPiAyYWRzPy0NCj4geiVDbldTWiRpXytiRlZx IzUtDQo+ICY0Oyo0NzckOERKP1FKfjxtYGUxX0QxKHQ+TGVQeHdwPVpRd19lViRyWkcmdXNTew0K PiB6MXNfN31FMkN1eVFieilmbTFmTSFxdVltPCR7P3dnTnBQPmxUVzVORzdJVEtDTE9JOS0NCj4g eCRkejJCWEhOP0ZjP29nDQo+IHpWMkpQeDVpIUgxMTQxJktuNSFmU08+ekJAaENAVWtNKV5AZmdk WmhEXmlSTlVxUT0tDQo+IEA7JiFxSiY2RkIrO3BoQmoNCj4gel9RVFg7OXE3ekZqJFJJZTdmenwz MktDVzQ0fiNLcXAyaUl1PH5Gcy1yNkJmRCQ0JWtDbXApbGA4VXBSK3NrOFo2DQo+IHpiV0crNT5C S011dmJuN0Q0TXBBZiQxOThFKWt+azg8ST4tDQo+IEthQyRgelB0U1NDSyVaa21YakdjPCpOO3Jz djEta3QNCj4genJ0NHFiT3s9T3c8JFkmQ2pMRTViST1rISo5JlFxYj93aWZzXnlFfU1PRkplZTIz WGEzLQ0KPiAkcmg/RzJDJU5yYi0hVA0KPiB6YnxwcGhsdnsyUDM1dj9DeyluKDE9IVpEQTg8aDgl SFQ5SXNmYmJgOSNGJjdtIVdwTDJqXipvO3ZsRnBwQX1ZOzwNCj4gekdiXmQ4ajtiSiolblZ5TTJM Uk4jKnlJTG0oKz1ieHZ5ISMwRjhXPzgwSE19bVhoUzVxYE8oTTArWUB1DQo+IFhXQ3QoQw0KPiB6 TChfP1Y4dngkLVojTURCc1hmLUh2fWctMHxBSkRsOVp6dFFFZTE7M2tMQzNmP2lJPkVIOTU4YTJl Vj0mOW1nam0NCj4genZIMGliJGBWNio4Ti04SWtwbGhzbilSSD9Iend0fHhkOUVgdjU9M1FENGtP Q2lgYyktaWVhe1dNRTx3PjVLcCRpDQo+IHpLM0VxaVNOa0xhRCE9YG1ib2ZhJm5Qbjx9VVBnYDxI fVlCU3t0bnFhKVEkdTNQcFhPPGFLQyR7MGRzLQ0KPiB8ZH5nQmwNCj4geks8NX5scWdNTjM/UHYy R1lKYmxIVFNMTiRnRjN3YntGU1pTbzlXUl4qe0BWQHYmNUw4K1BmSmB4JGxCcEENCj4gSlhgOA0K PiB6YDdkTmJZeXF0Pmo/UCFrQStXWHZsQUV4Pm1OdSo7YHl0PDZUOWVyRmJwKmBeXkAhPXdgIXlh KW5vdVYxJXUNCj4gQ2UoDQo+IHojTGNefiRZYkpXLQ0KPiApNzlVRHg7b0VxUkBzRDJXaXo9NnVQ JiMoMWdscz1BbHQ3RjZPPHw8YDtSUFUhO2NxREF6YlQNCj4gekJ7XntaTz4+eDNUZkR6LQ0KPiB3 KzJpNFlaJm8hX3p8VlFRZTY2dXlQJk1uIzVSNzYyezlGVzZQfFAyPGh5eE8pO0R7PA0KPiB6I3I3 X3NsbHphd3h0cXpCbjV7PmwhVC1qJjRyfWxPVlhpK0Y9WCY1eTZVczkremZkMnZNKUd6OWQyZXVl NlY+JTQNCj4genZCV2FjSjdvVU42R1dCYUZmckx1NTJNZTMtd2RadD80JUFOUnRENmAhalMkcXg/ XkYhZVZDLQ0KPiBgaXVDRHl0V1dRdQ0KPiB6K3t3e3F7RDhsPFBfN25gYFZLN1lJMk5mXmskUHVT PTRub309NSp4Qms1MGF9czIkXmhlNGJIfTlRZCR3bjxmWg0KPiBKDQo+IHpvO1JAejNXVnZxKGlY S0omMVFQRnBST09RbkdPXiZsPTdQVCooMjQjcCQ+JDVCclRsZzROaHFyPXJ9YGFwUA0KPiA3fU4N Cj4gemQjV3B0IzVtQjFDQmUzdSZYP2A9MXMmZCteMGVzPFJFak1sUjQjT3ZUVzBqPEgpJnFgTyhC QHF3SiQmDQo+IHUjSlEpNg0KPiB6PGJsdCRVbH0lfnFyRWp1YjQmWSRWVmIkXj1RKzZOJHg5KDM4 KlhGQXlDIXw2e2JjdjRxeTI1fSg9RXVyaFAlMQ0KPiAoDQo+IHo2cWxiMWg/PUorYEd+ciV7b0p0 aCYkTSZBKH0lSntyPjZXZ3d9OTlIJURGPFVQMk9yRFJIOTgpVlJCeWtgDQo+IHZRbmcNCj4gejQ8 SCZCS3kqUj81b2xMJFN9N1dTaDl8b20hREt0N2FqJmgoOEItDQo+IE1+Jjd+e1Niem9yQHhlRkIq Wjx0WnB6aGxaYQ0KPiB6eGdrfVc8amVKOGZARSlmQFkjeXQxYGJMI05DaXtydEFtUm1Nc0o7Y15f WWhZd2pmaDsrMWx3em96SDBwTERaQQ0KPiBGDQo+IHpwTFo5IUdZbDtaTCN4OGpFbig7WktaTXhZ b1h1WCVvM3wwPWJXZHRebX1GVFBuaSpFflU+TFdZa3BBX2c/aA0KPiBRaV4NCj4gemhvUXdgPSNl bVZKMFN0N15BeV5eVSFUc05xd15aO153Zl4xQDJnQCZuSzxWJHd4Uk9VIXBLdz5xDQo+IEAzbD08 a25XOA0KPiB6Izd+Nmo2WmBJaTg8Pysobi1pOT1Dc28xNFVIJFhoXyFNby1TWSZTOWA7RVpUc2s1 ailsZU1TNkA5YGYlblgmazANCj4gekZOPDNZQ2NKY05sRUpFe2BJfUhjSn1qfmRuNzt7MlBfekAk SFNjZDJuWmsjSmV4MUp3Z15JUkJhNH4qUm5PMndmDQo+IHpNeSZBUz9VQyUmZXdxNVVHUEBLU3dv aWh8dDs+bE94PmRpeiN3b2ZLTl9TMVB3JipGbXlLUiQldQ0KPiA3ZGA2fEt3K2kNCj4gekBhfEkx XjBzayZIXmg2Ry1yP1EkUGxvM0VjclBvKWAkZHo1Y1NZdEpRNEpLMSlNVXBTRDAmSk0tDQo+ICRU bUMycT9RZw0KPiB6VD9DM3RJbT5IfGYpYns4cHhDWmdkakx3VDc/ZFpANmV4PCF7cSRATm87aipw SiZ1YWIkaUY4UTVJbTt8dmtGDQo+IFc2DQo+IHpjN2IoejlUQ3I3T1YqXmw7TSp5PVBFP05TRSUh a3lhZk1JbUoqakRhKiomUiVgc3N9RFloZXI+SlohUTBPZ2INCj4gcXgNCj4gens9b3FUX14zRnRB RUhKS2BSailtNlR+V3xYblhwLQ0KPiAwQCZJYnprTUFxXz8lTHI8WkpiZFB4Q1kyeUw7KHpTV1VK dg0KPiB6OSRoaFdFQkR2LQ0KPiAjTTlaaTVSSiU0emxOelVoMDxOa3N3QWM3XzEjQml2VEFKbihi V3xSQH51Q0IrZSQ/dypYaGFuDQo+IHpARkFPMEk1TnY1aUFWUSlkM0FVaj5iUUt0c0JEK200WjtR RCg5PDBKV0dZV30tDQo+ICojPiR0N3NOViRwaG0kQ09DdyUNCj4genV1NG9qTGVoM04peT55dEA0 Nj0/Z3ZmT2t1Y0M3U1loNk92UlJSRi0NCj4gO3RMZzdpQVlRQUY8O3s8KCYwISRhd2V0UA0KPiB6 OU0xZkA7O0Z3ezhUYXhidylvVHtjeHNkRDZnX1ZWSE9+UGRMQ3AjcW5rK1YqOGZSJEdRelUqaE9i VChTDQo+IElZUSNFDQo+IHoqe1MkbytqeU56SW1eMmlDS2lzaUZ1ZnlqbUV6cmpCUU5iJXJVdDF8 fDltZEReRjFQUU1kcDVVQ1dQSDNGDQo+IHNGMmgNCj4geistDQo+IEA2X3Y4Slh8JjN4dTtQZ2Ik JXRsbHpSZFpzTzE/amRXb2BWUGhhd3xLIVAyPEBDcmlsQ2hlVFJYRH47cnJYIw0KPiB6c2kpZG09 aH1JQnFANzA8eDZgR1o8PXkocE5JUyN5dUFNNXlgeU4rZ3RlcGVZNktVc1AmUUxvUW5mbyZvbw0K PiB3NERUDQo+IHpQUiU1Tz8mQ1EhezskNntnQVpBfjQye2Q0enFyOTR3ZHxNcGd3Y05WdXlIS0U4 KCQ/Q3U3NXl7OHQ5fC0NCj4gJDVodmgNCj4gemlCfURlUjxHZD5YbHFqaUN3ckljbDZ1em8yJjt3 KVl8WiZlP2cwNmNOZWQmPilIMH5rODNzMVctDQo+IDFMdUVWdX1RMw0KPiB6d2A8bW1CfGFhKSo+ MmwtNHJ4T1BWOyFAKzMqbH1kWkdgQ14mUXl4bSFLRTYqKiotDQo+IE8kZXx7c0BvaTNheUdXV0Fk DQo+IHpmWlpqUXpfX2NSV3lUTyV5Y2ZoT0hkV0BuYmg/bng/andOJStAaDImJHE8PjhwNlFnPlJ3 az13SQ0KPiB4OHQ3RHYzemANCj4geig3eXMyYkpIbyVYRW9gcjIwK045Xmh8cDdYJXw/aCpYbzxF JVZaVVpLWUIreTlYMiRzPnZEY0ZDZ21pekYNCj4gY3NmVg0KPiB6KGZJfmteemZWOTNUdzhBJEB0 fF8jTTJ8djdUfURvckwwOztfeFBGTT1QbmJ6c30jdW5Ya3JMYl4xIT59c3FZfQ0KPiA0DQo+IHoy a2lYVkVhI0tGQyVCK3UwKVUjQ3lPUXQ0T2t9S0VtPjNoMDBDWSR1cVUoI3ZiXjgyZk9rXjYzNGhF T1ANCj4geiU4T0MNCj4gemx1cCZyUDA0azdZSCUoNG1KeH5eJjwwY1hCYUVWT2Nec3NpPCgpViRM TVVOK008Xj1BbntEbGJpUyQjQ3tgDQo+IHJLbQ0KPiB6ZFYmWj1rLQ0KPiAwQnY0MFE/bTB1I3wm SSgwc3UzcnN8Qm5KenNZNlVuNU1ZSkcyNkBgPl9wd0g8ZmZTJlEwSiowYTF5DQo+IHpRRUlMJDht cl9oWkFgM0tVYn1AYVZNXkRuPkQ1KXc1UyFDKGhVP2RtVV4kXj56KT9iV2Q5NnhxX0FkDQo+IFBe PS1OfnINCj4gempJU0UtMkhGUEo3fX5sY1hqfGdNMXBrYzRJd2pRamBVNU57OUE5QzJoYz1icylw OFpiIyNiTkJqaUJ1Y1RgZiMwDQo+IHpHSXRyfG9AO3RIKTZzK3d6fDhYNk8jcH5IRUdvKW9ePSRE enMhSyhaRi0NCj4gMm1AYiRaNUBvRVZUWjZSQWlRMk5wYXoNCj4gekVAezcqRjEyeFl7bms8Ymh+ Z34kSHVvKkpeSWFPYTNzbnNOYSE+T2ImaTJzd215MmtlZ0tnZHB1Qyo4ZCRgDQo+IGpESQ0KPiB6 T0A9VHV1QlYpWGtxdFA0KFlRcVdqTHBgenZyIXBObCNhJnJTdX0zQlpMJU5ONXVHVHswVyQlT0Q9 WXt6VA0KPiA/JTBmDQo+IHo4KkVfMip0JnA7KHNmcFVxX2VnYCVuPSVRRFE5YC0hdDI3JDNlJnNK UVlsYC0rNlJxJClEIThmaHNVZTQ2cSk8Yw0KPiB6MW1NVURgWUFSZ0dFc0t2RSF9ayVwUH0qOGE9 b1NXIyVoNlErUzBqSGtZNGYkQlIkYzBOKk4qaHA1O2QNCj4gTk0mbmxXDQo+IHpgYU5ZVVpFamV4 eTJAeGdOYUAmOGB1NmV5amEjUjtWck4qPmpaUHMzQzFoOUkkWjdSJXtCc2VGU0M5QEctDQo+ICom SWoNCj4gel99P09FeVVXUTUwZ1dyNlhuWGBXQVZhaTs9XmZmc2l1WWJTZzlxQzcoJWNCektLbzln T184fnFBQEFJRT8NCj4gPSVfQA0KPiB6MEwtDQo+IGtlRzgqcUhxb1FtfCZ0fFdLWWM/VD9DRCQy b0U8c0ZGSz50TTAzSilofXFzUiY+QEZfVCpvdW5TPChsaHoNCj4gVw0KPiB6dGg1V1ApOVZAV2Yz KlYpRFpSdVdVMihUZjlAIU98SlQmOFNMRkktDQo+IEhHKE4kbDhOK2JyKF41NDFHZSRnXldVQWVL DQo+IHprKDJPODFgfE52KlA7NiNEMEZhaGRsdClpP0wxO1gwTHN3dHRjb29RV3xeRndvQVl4YD9p ZTVESUAzSjFNUlQxdA0KPiB6dntYYzswYGpeRVcpO29UYWNfYk0lR2E/KT99UHBzXmMjS3g2ZWRB fVRlUkNwVEd9PzNaOEA5Tkk9NCNrO0xuDQo+IFFqDQo+IHohWGhPMVpoQ0BRKGJ9RUZYXypEYEk0 Vz1yS3VQMmBgJVk5QkEtKlJYelYlR0xHTSUtDQo+IGYwXypnQWZCYXQkb0ZaPGwNCj4gejd3fSFO TTNaJik4UjZVRV9UQD5HJCheOSM3NUgkUFVNangpRCk+PVBEa2lHclVvaVhEV3lQNnBuYD5rDQo+ IDw5fDN7eQ0KPiB6eG1PdVdQVT87PWomaGFwS29EPmhnO2hge3JCRklHJFdreDRQRVZVVC0NCj4g U0J2enlmQWEjJH5jSHs2Xztgcj1XaW16DQo+IHpCVFZubG9FamNTOCpCYFpVaDJfNWY5Q3d5STFM WCk9SF4xVUElaCRSZ2lhUDgjeDVrRDd1V15aZkQ+OFZMRg0KPiB+ZCQNCj4gemBQUz9McXZuMUlB LW5qMTlVQmcoIX5xWmp5WGUyaSp1e2VwZEBPSmhMQktBUVEwKEhEYUQkTHRneXxoVlJFanIoDQo+ IHpkcHRISj9rZEt8I2l0NCVpcDxTPzJraGVLXnt8VkhBJUcjZipoZlgjbCVDRHI9UCEtDQo+ICtk O0dEaXkxeW1DalR9VlENCj4genhyQUdAREpgPismejZIP3cpJXtLbEl4NiYrRj5sV0BLcSN7ZHBD SXNNOCQ7XkZWX3xuLQ0KPiBjTXpSQzh9e2k5MXhZbA0KPiB6Nmh7OWtsPHcqeVZ7KUNJNXUofT5M RT5wbkpfd05MUXFKPGUwMj5VRTdeYVU5KWpFUj5xU2A/ezV1eiRUTU16DQo+IFgrDQo+IHo0eDVf OGgkYHNvPFAkYkVYYiFTOUE5VTheQnFGdUx0XjZSZ2xfdXp+eFZfeHdwZGg2aXJSbjloZypuTEJO d30NCj4gVjINCj4gejR6amYpQzFoezZuWFNlOWxMc0NPYStVYHxBZ1k4VHMlSWtqczVLY1VUKm9N KGkwWmJGTShgMSljbGJ+Iy1WZiphDQo+IHpNNzZ5YkFBaFNDSmB8YUleO0NMITtZbWhSMGYzcD8l V1YkST94bXRebSE3VE9VJH4mYzkwVzVfenB1M0NpDQo+IGo9NGMNCj4gejMtDQo+IHZ5XldWM290 WFBAOWJjTEllNXE7c3RDcWFWMjxAWHRhQ3h4YSRlTCRSWkp6elFmd1ZXWFVzTGd+fmxHVURpDQo+ ICQNCj4gelhNfVFJamJKTThYNUR+dFQqX0pBOUpvekxJYnIkOzxzPU8+Q30kaD5MQDRKIVA4T3lW bmNJNUdhTE5mZktQdFQNCj4geA0KPiB6dm0+XnZ7YGMmdEcjdT9BSjlee35NVT1BeGdnYG1ILQ0K PiAheWkjS1oxYEpPPnpoK00rcnFhNFJEKGZBN09majUwJkNBDQo+IHo7e0sxWnFpMmZvQHcxYko0 QEtyNGU+O0Aoek9oYnZAJWQlUWo8IT0jSGw9NT9fZ0lUampfZGExSSgyPndtIw0KPiBKOT0NCj4g ekkyIyUzSTVrc1NeQzBJVXlGQHA1TCpVdSQtDQo+IFNOMD52WmFsPG5CVSMoeWEkX1dHMHFLakRL alNzYWkqWD1SI3lDfQ0KPiB6bERqNXNjeTdSRGFaNl8tcjE2RGlea0Zne21GXk1ePVJTJE82RX5E a3YpVDlQUCQ8eStaWGhgRWkka3FGc2omXz4NCj4gek9BJkNwQng8Rio2cUIpZGQ+eU5Lekg7LQ0K PiB9dFhTdWRudGVwcl8mNk4+KkhLMTV7fFghWmNQVyhhK0dKKHc4S004UA0KPiB6KGRQdlYqfVIp cDFOd0k8cD8/QC0NCj4gKnh6Q0xERSU4fihFaz9kaVBIYUFefHZCKFRUZFFOfDhMRFhqczYzK0A7 fkxBDQo+IHpyM1o3KU19QWpDfEpAKkBLPnoxUEBiUkxYUnMoen1xMHY4I0Z+bW9oSzElLQ0KPiB8 XjY3dDVGK1A1Rmc3QmZwK35lQEsNCj4gei0xeykjJF9oMVRWI3FuNHByVU0tDQo+IHA0XyopQit+ NlpiIWl1fHtnJmk5UTNDRVVHZ1dtTzBMQ35BZ3F5SmVrP3pfOw0KPiB6RiRfOUF2cW57VCRGbCV1 T0hSdHo9bEVrQlBVQj0+UiV2QSkjUkI9UT8mfTBBPSh6KXElSmJJK15eUlUrPEkNCj4gVyNMDQo+ IHpmK2R+WnJmUnlaR0RwSHZAYW9sJCt0X0NXWkM7UX1sfngqRzNzOU1Ub25XbTxYS2deZXQjMEB2 QFZ6DQo+IEQ8OCo5bVkNCj4geipoISFVMzxyWmlWSylnVmx1a1hPVEcjMHI4M2ZCQ28mRTxXMV9Z aCVRcUotDQo+IHwxV3lZKUp4bWBOMWgqTXo0MSNYeg0KPiB6aTQyMHgkRW5qNW5jRD12YHxyeDZ8 OT8jYTR7Xl5YQjBmOX1MSkVVbU1GYnplYzQ5eik0PCp6ZnhCJEshO3YtQlMNCj4gejgzZG82P0dK KHtpdCtKaW8kI1ReKyNAaXwrPFZgND10PHh+RCQxdHhaMSNUcSFBUTR6Xk0zTD1qLSV0TEA2eFol DQo+IHokeFN0LQ0KPiAxcyQlaTw5WjZFeUI/cn48VF5kbztuU1Irdz0yQFh6cSMydlhyTjB1JWV4 WSQ3Qig8VT87NUM1eXNRQzUNCj4gemhwKGxjTlFlTEdTVCNfUXhuRSt7SkooI1JYPFE0djxlcXZD M1UtDQo+IE5oPVZ3ZjdKcyk+O1Y9YElBV0sxOE5KfU0kVg0KPiB6em0xJHU0WG5vYml0QSl8e1It DQo+IDFlXytAVUw3RUNSKzJOT15Jb1d2b08+NnExXzxmS1ojM294ZHohPGEmPk8kfXB1DQo+IHpN dXkxR0F7Zzd+PUp4PCZGNkF0NUI1V19qU2VRT0NMQHZBN0N5N1U+Q3hXczItDQo+IFhAR0dHUGVl bjcpbVVNN3BoQF4NCj4genw5aGRqQklMWkdQPF98I3FFVEAjSURseEhvb0tXPGZgVj1uT0c0Mnwy e2tJLTEtDQo+IEF9UzVUPHUxUCR9TnJTdzBGTA0KPiB6RT1Jdzx3TCphK2JLaXZQPHhWKDg4eWhB TjgtDQo+IHcqWEZLdDAzWCg2VnFGOW09cG1WZHZtKjZGQVZ3VCsqWWpHK1k5DQo+IHolV3Z5K2RM USFOPUJzfFJwbVZZSlFOKFFAT1QzYHdSY2ReVWExdSU5aEFZVjI+TWR1YlZDeXtYcQ0KPiAkYnp0 OE48PykNCj4gelpMOV8mbHhwZit1a2A4YzwlRzJsczVxNCEkVDNgUHR4MGErQnNxNit1ck0lP1gm eXt4Pyp3eXJCSWNRc3RMUV8NCj4gfg0KPiB6WTZWIWFSIzJ3RzZpTWVSZ3BYVkBDZkRnMXExRD12 MSkxaHBDen1NYz5RY19+bWNnQ0VqdGJMOVghVzZzDQo+IHtFbTglDQo+IHpkTHAjQ3t9Xj9ZQjZF TChiR2Q8NWYmdEROTTxtQmE+aSlXdTE2PHU5djR6dzhZTV5HYlN1RnI3N1JhUDUNCj4gQCp2IyEN Cj4gemBpPHtYZDJffSNoTUp3eXVFcDB1PE0mJT1Dc3FAMk9TVmdSWkMkZzI4IXBZPj9Aa2RfbSZ2 MnQqZ3pDDQo+IHMxYF54Zg0KPiB6NlZTfiZ7MGU0UzF2Y1RndUd3cHV6ZjtKfTg2U1Y9YGpaYEoy Wnw7WSliVU9+fEIoKHIhTyl6az5aSmhlMTRJZ04NCj4gekxXd0VPUFVySHA2VSg9dkd4T3pSX2co N2tCNXs3aDQ8cTd5NG5zdSZMaypaOE9xZVExMFpOV3JOaWZhdQ0KPiA2JjsxSQ0KPiB6a3ImVCFN fGJFVitvO3d0b19CYEhRQVVRXnZ0QCthPm89JEZycW9GcEpNV1kxWmRzQX4ySmJ6b1JYaUN6DQo+ IHZIWkpUDQo+IHpNYUdUJUM1R2pNJCYyNWs7VXJuR2lKJXhXTExYbSNEJCY4SElNSm0wZShkMHds NkQjVyN2VHEmdiYNCj4gd2c8QGxYY3cNCj4gejE+LQ0KPiA/c0FPVWNOKHB+TU1yZ2VIbyM+NEZx bmpHb0dsd2RyI2woVzJyQFRHNyhneXwjVztUezghKzNvQEFpSHcNCj4gSzsNCj4genRrIXI/V2JY SXl0Wj9Fbm1EXmooXyteNFU1UDwpdUdKYVdETGRlTHN7WUU0b3NAeFdXNUUlSzJaYGN9bFJSDQo+ IGthVg0KPiB6LTdGczlMa1kjbXVidnNmTjB7RT5MIzIzTXtEOTlOP2t+cDJae29zLQ0KPiBCNkdo dzhnZ3V7Zj09RVcwdkhiZDg+bEdUDQo+IHpyRHY9Nj5XcVVze3tZMTdpfkNaT0FCdHc0STdHSUEh fD4xOzAwbElvdSVqNztGcz1tPCQjcl4wWHkpNHk5UjFTDQo+IEcNCj4geitYMFNUJTMwcHx1Kmle UiF0QGNFeCF3U1RYNn5oKTIrak90akJ1cEwrYGs/NS09YFRnNiNzamdERyQzT3E/eDthDQo+IHpS WVd1TUtuT0lgZjQ5LQ0KPiBoX2FnWSU9cUIrMUE0KHtpblJzQ1lBN09majUwJkN3SHI9UDB5Tm1J MFV6UEJvJGxNekcNCj4gekkoSEgkNGk3fiRTNXJ+OE9WM3ZDc2M4cSgld2B5b3FaIVVPIytQNWk7 MGdyS1k0UFBjMDI/ciFsVEQ+fG5KZVNZDQo+IHp5Vjl1JCtjfEk7NSpwbEJBUiZjfmdpO0VuUTxu byVhLQ0KPiBFKEw2NiVlaFkhJX12cVVtPWpYTCt4fFJZRFI5KD8+e1gNCj4genluelNfLQ0KPiBD MnlYZ19Tfj9CNkZYUDQ9MTZ3UjtfNiRna3Q4ZmpscTlkKTZkND5hODNWNWVfMkZBYjNxNnM8U1Mr Tw0KPiB6TSkweEJpNUNHMERXT094MlVpTDQ1dkYoZUZye3FXMXdJTF9GMj17enFsRkplPUJed0Ez QjNwQDxSXnkhaA0KPiBOYHRXDQo+IHpSSyRUOXA0Y0R6Q25LUkAtDQo+IFQjZ1ZuWWBXUnJuNmtT XysjRDBneU9jSGdAV1FPcEA5Z1lEQ35IUkxMNk05PUh4bSgNCj4gekJaVHI9MVRtanY1SmQ+WnJS NGwwdFJ6SENtXzktDQo+ICVMc05ha3RTVXkjTVdjaW1NZGxofCNzQSY7JHE0MHRKM2sjbA0KPiB6 ZHEzJjlCMGB4QkxKRVpQZElUUkkhNSZ9KUE0KGBmPjR1ZXJfejJUUzI8NllgYH1ueE03JDVJSFF1 dDcwPyg5a2sNCj4gejw7T188YExqYzI3fHVeS3NWTGl9WFI5fmEkfF5nRTA0XjFTdV5xLV9GQVYw aTI8NG4pbHloSztmRzheX283V0QqDQo+IHpVLW1gRk1xeCliM1VPbyFJRmpyMWpGOFJTcHolTztJ bXdBOSFGWH5oWEwpelFLMC0NCj4gOHc9XzYjYiNVTztndFNDbFANCj4gemIlb0hSJGxNc1hAJjdB aV5WPElAQkFhTy1xKEM7dU5BT1lhI0ZHRllOK19+UCEjK1pNZ3l8ej52LQ0KPiBVaW5ZP2M/fQ0K PiB6QlF7ZF9QLQ0KPiBPMG5CTyNsQXEzaVEhOSF4Z3BRJkZ9eyZzSn5uKyhZI0tERz8kJCpeWVZy JHxhazspdGBtMyVnTFFQDQo+IHorJF9gfHAlUjUxbF8tDQo+ID8lSSl7dUxScCVMQGxKYFdnR1Jn QGcwYWplZlM+N1RUVCFAdTBlU31LQldndFEmJVpqbmANCj4gek8xWkcyJGVjJHR8RjJOVkZQfHgq bEN3WmFmbDRNdkBOdk0rdF5xIWpQKm4xOWN4aX1fRm54cWR6STJYSEM1DQo+IHd5aw0KPiB6QGp7 dktwfiYxMGN2IUJEJlNuLTBfLQ0KPiBEdm1DUSh0Z09WM3ZDKlk3dGZEZWl2JXF7UGU5K0FtNzM2 RnRQMXs/bFU0DQo+IHpqWT4/M0V1dXNQRiNCbj07dypvclpYcWgyVUNjOUZlWmd0YHFaVn44T1dJ UG9ZKDs1Ymp4QSN1SjNiPERiOSoNCj4gdFgNCj4gekF+fE5uUWBVVSNIU0ojZ1Y+RDQ2JVZffkMt DQo+IDAja0U5OXJlIzNMUn41YSt9eElsQV9eaypHSEkwZ0pySyZDdkpnew0KPiB6WEwjKUtAfHg7 aSVDYkByalchVkMlVTY7T01JK3p0WURGc2BGakBhQU1UXih7WEk5TUpsaFVjJWNgWVFlbw0KPiBh aFJhDQo+IHpzTSpXXj4yK2lgZ0BhWnBefGBtUGFpdV9NUnR3fmBoMjZxQHI0QCh5VGhsVGFYajx3 IVhLS359d15gdH0zZg0KPiB5TCMNCj4genNyWiNEJl4lfk8tMlA5PWJ5RCVtK01LUVFPKGlmMT4r ezdXeU58TnlZJiZeWW1odzN7KS0NCj4gQ3woVDdXSjk9ek01JA0KPiB6b3o1UF87O0dZbDJ9UiVi JUt9fTY2YjxkaXhNbHQ2NCk+YmleWENPIVJ9eUBrNWMlcnNPcDwjPnY+KWEyKSkmNUoNCj4genk2 JlhQM0FPX2BwLQ0KPiBZK3A0KGZvc3B2MjBLdkR2SW5gZn44UzA/Z31NXk1aUXNpX0UoJFA+YTRQ SCtPPWhiWVE+Rg0KPiB6Qj92fUIxLQ0KPiBTOTIrT2s2eUltdFdVPHZgZ0AwandCKkwoX2FUJEdg QTJGRm1PbVk5fDEwKUZiS2FjdEw4Z3JAT2AoDQo+IHopYmBCa1kyQi0NCj4gVTRxQiZgc1l9VntY R1hBJXwwZnRPWEc4U1V2ZnprcFJ+PXRDNypmd3F2dj1STSowIWAmbSQ2RTANCj4gelM0cjhFPmtJ fVIwI3s8VHVpUU5sRWY0ZVdoI1pRfVdjM3xRbUtFKlkhPlNLXzx2eWwjWjt6YiRjSG8wcXdXDQo+ ICEmPA0KPiB6KmBAT0BUcjdzNW9hVmkoZVFaKFQ+VzNFayFQKTw9NCVDX19OY2t4WkM7bXhuPEQ7 VCpmaDJjflc/I0VpZnUNCj4gQlBjDQo+IHo3XiRRQW88OSNzPjhZQDJpbz1iQklCalplKT5DdVJE en0qWVRaOU1TPFJwLQ0KPiBRMmZMS0J5cTkyJEFyQjdJSjA3ZjMNCj4genlmS3F+OSgrcU41NTlF aGIlOy1xeGo4bEB7QX5kem8hTXhLcnxTNV52UnJoK0tRN3pZbEY5VUxpZ1gtDQo+ICVpWEZVKw0K PiB6ZX59eGZnfmJ2cGlFZEopeVl8dk5qdzE1MyE+SlpucnpjMU1ZYn1SZklGJll5ISlmODY3Jk8w fWJKO2AqQ0xyIzcNCj4genVRQzV6UVc9Nn0rcHNpJF5WM31RQ1RaXlEpNXU1VDttWFBTWHsyVThU JD0wckclfjRoeEhQQnZYYFgkUA0KPiBHQFlmUQ0KPiB6UnRee31xI3d9QXNXPEsre3A5Q0dGVEVm SkFXUjNURmhTQD1wPihSIT10V1BfJU9wb0hyejNJJmxKMTMwNw0KPiA3NklaDQo+IHpyTSVGND08 RW8rZ3l8aTxzMSl6RmxZRHgpcF9wRllmI0l9Rk58RV9APUpzTEZCS050YyNUM018Jjx6cHE+dg0K PiBtcnMNCj4gelI2PDIkdlVCTWBFTzM1bzZII1dfO184YlZWcWZAUkwrbUJ+WmsqaV55WFpwPXV9 a0BAWWkpP0ZfOzVxKQ0KPiBKbU5tYw0KPiB6LUBFdiQ8TF5yVEtFKz9HeXU3NWB7VG9xVVQzJWsz b2ZXJS0NCj4gSmxCdz9qbyV5alA0WDhqZCgoZDxkPnY2cFFNIyhADQo+IHpudWdmViQ9N2dNTCtw Mys4KUI+R0hwQ3R4WlpCflVeNEBpMkx1flJWOCk3Pk5mMUVUPV5aUkgxZXNCfFlqDQo+IFZUIXUN Cj4gejxBMzRiMm45PldsKTBHbEYtDQo+IE1GOTxTYEBsVDU7czRGPUl4THNUP3o9PmF0cktWb1Vr RWtHfiVOXjhDZ0JoNFQ1RQ0KPiB6JSU4Z3QmR31KbzF9RkRTWXNibl9XJTU+aHUqdDU5WnpgbFpK dTFKQGw5YSlKTnN6dTZuQF5ScC16KVF+bF5JLQ0KPiBMDQo+IHpSamp9VlJhMXA/RlU+dD1RdSVn cEQkXngtNDJATmBhK3d3YnBEJVcoJVk4ZCNMbylxUi0NCj4gQlYoVzdOZHlPZXg3UDkNCj4geklY UjxOMkF9SFlvR3d5RmxrUzBXdik1U18jcmg2Km4kOUorPyR4bDdiS2ExZDZuTTVea1JXSlpiKWtM TExIag0KPiBVOw0KPiB6ZnwpSnkoWX52UCl4cTY9XlhAZi0xc3JDe1lLfnF2IXBWT2o2RCtjdUF0 TmcwMUkjTHxfY24ybEZuUHxxV2Vka3kNCj4gejU/KmtEY2R0dX5qZWA7U2R5Q3RIe2tgT1Ilb1NC JmcrPDJyR1NkZSNFclduPEBNNnl9RzJFVkVVJlVlDQo+IFVrdFV+Pg0KPiB6T31gajl2Mm5vPi1X T2dvKSlnOTthJGs9MkhaeiNsPW1sWnJLSyt1U1YyeUcjSWFqLQ0KPiAhOEBXOWA/fnNObHtUdVdG DQo+IHpkQEtIOF8kWWs7S29sKFI5SDJQfWZNZm5LMER9NC0NCj4gNysoTFQ/VDVpblB2Yk08V3hu Z0pWeEpNQVNDP0gldlM2Z3cNCj4gelIxRTFDKmdlM1FIa1l1eiExdShZWioheCNUOTFjRSZXdlJu djR6QClaV059PGUlQU4zOVZGOFNVbzF7cQ0KPiBRJGY8RQ0KPiB6P0plSD14U3c9d21+PlRmKCFE QkdtTzxZWmwkdiEoejA+fWtCaXhPPko+YFNiPXhoRzxseUFaJGcydjRuMUANCj4gMnFSDQo+IHpC VCkleCN7YjBUOF9oaHVPZn0rRG1FJGUoKUVWJmk8a1htYHJUdXY5bW5xY2p5PChkVVNWKiVFMDty aWZ1PG4NCj4gQygNCj4gemxIfFpwZTBrb2dRXmxHZUdGQUZ+e25xby0NCj4gUDIxdispcWFIK2o/ Um8oYkg4R3smbzlPQU1rNjFwVWVOfmBYX2A3Zg0KPiB6REFzLWdDZTFCPnQ9PWNwVEtlYkQkRWB3 c096NTB2RkJPMi05YXk/cGFEalpJOW80I0VDXjNmJkdOI2d0LQ0KPiA0fEs7DQo+IHooWVlXcXhl TjBrJD50ZHMjUFR4dG9UPURjMHsoVyQqeDNib3BJTyNJXzZKO2N0WnwzZ2tHQVl3I1ojS2kpNSh2 KQ0KPiB6eUlxe1ZXMXY3TmYtDQo+IHw+KU19VnpVR2daUDRqOV5vJWNpZWpRRyp8cik2YUJQYmlL TUwjRn11cFBDQEs8P0pRQk9eDQo+IHp3QHZKKE8pY0p2SjhiOFd2Qi0NCj4gSTQoYHs3V3J7ZXdF V1BgeSMkamRMcDNDZGdgeWoydDxDfiVWMD58SWJPJE9xOHQNCj4gekpJV1lUdi1qWiNqMjwmPitn aVElT1hrODlhXnJUXlNDcHIpJS1Dd2VDcD5Ie2pgYVRaWiNHXnhDWU5rcy0NCj4gNkRHQA0KPiB6 MENJWFVBa0F0fHNYJHBVJjJXIURNTiVSVEgrI1NOdTN6YDI8Yzg5OCthYGR1YHdPUmM7N0lmdE5w diNkeg0KPiBEWC01DQo+IHpkXzQmelo5Z3lAVGkxMTBxYlFjeTtXbHpgaSghSkM2Ti1NNTJQUTQl bnU5Q24rQClNfHBscig3bDswbDJvKT1Hag0KPiB6b18rfHc1Wn4rI2UlfWZYRGY2dkxkbnFpZjxO Vl4xZShYd2UxcGIhQVZBP3A9NHBEQkNNZitfb3hvXmR9DQo+IHtUIzQpDQo+IHpidWwpcDlYNWQm WSZ4SFNVZHdsVWJndVowcDtPak1qOXlEPEJmV1ohaHxjZC0NCj4gNCZ9SUI5blFVdFV3VTV3dElT I0gNCj4gelZxY259SnJ3V3JafUkpNkh+LQ0KPiBGandkRWp3eXplbWxuRUJ2OHt+RGJTYmxjUUIl UVhObTQjVE1OMj02dFFgcHxaNQ0KPiB6dCRoWGlXbmxJVWh9e2pDUnBRamZlbFpmfSVAfTFVWVdC fGt3eFFGa2xnU0V+KyVVLQ0KPiAwTW9aMDxUQ3FgeFJFQVAmDQo+IHpyY3tadSMrVXomdTFaY2Qj djVPTDVpaFZrNTF4VzR5QVE9NUVCYHllVypGVytlcH5xVFNBSldHP15wWg0KPiArNT9BJjQNCj4g elU7Z0JPNW9fY29vb1p9ZFA9WU9edWlFJlduN2A8KWlsWjxVVnBmby0NCj4gTihJM1ExZ3hTO0pV TGxVWmtvdWEpcUxeKw0KPiB6e0ZiVUM9ZV4zd3IqQTQzSFFsWHYxTXA3JiVoJnViVihKazlXOFU5 fGY9diM8SCFZNThSN2UxejNXQDsNCj4gOGBGJlNWDQo+IHpQSUZ7V1Y/VVZaWENGfVc8RHR7JHI7 ajhNY3QhSG9uKExRZlM0VEphbHR8R2VxOEY3JmA+aXh0fDN+TzQrbV5eDQo+IEsNCj4gelFmT3Bt KU5ueCNZKW9eTjYoeiZra3UhcWtrWEN9WFR4PUpzYWhjakQ9PFhAQ1RYLQ0KPiAoe3BrYTBGbHEk dDcjdkt1Kg0KPiB6ai0NCj4gNjdqWj99bk5lbzZKI2dKWSp5dyVoODA0Mz5TQVNyV19ya1d+MiNx blJtNntUfTQ8KTFfM0p4eyhVNDNmUUVwDQo+IHpQfU1KeWxWUHJkaysxQ2Y9ZyhJe2JLKnllM2Ri LQ0KPiBAd19MWVh7KH5mVU1+ZCRfOXNAPkclRGRIc0JNcVliTnFINGsNCj4gem14cnFrUE57bEVy VGJzWl42KzhvQns5QSh7UnJhe0ZsOHRiPmpfUVpqME03SlJKIWM1PHVqOTgyQiRGfVlSd1MlDQo+ IHo4LQ0KPiAofnk8K2MwPGJncCtqektabndVcWV2OSNCV1dldFpNfnNtQHpZakEjQEIoKUAwfUN3 WEdpYGJUJWhvSw0KPiBlUmZUDQo+IHp5WVJaTHBDVmYrUiFLMz88Q1daJWU3VXJBTCNCV0k4KDdK PGheT1dPKEVnemJXVU1acUstDQo+ICM7V3ZXa1hFdjE5ZSMNCj4gelNNUGU5eH5VZUV0PU1qeihs JlBLYWQ8a0lBUkJ7cUVHRGtzSStDKFdhWCZHajE8S2U3Qnh8Z0B6SSFBZFINCj4gNyRibA0KPiB6 ZyQ8PjtAe1cxSCh6KGFBYjU/VGU7Qj9HenteUll1LQ0KPiBQK2p+dn4jWXR2ayR2KVF5VGtqISp0 dzBHQjtCN1UmfDdzDQo+IHpeSlExZCNtVDEhWE1uemN5Y1VOfEZRfjt+KD0qRzBwYnxlfV49MSpP cU5MKzJ0azkqNlZsJDI3WSpITD0mDQo+IHh6TXsNCj4gemktDQo+IDFaU0MqM0Q8cTBRK2tAeHQ1 X1Y5QGYyRSlTYldnYXFzVEp6ZH5mQDU1cmZDZUFpdGZBSiNJZTwzNzRkNTxwYA0KPiB6M3x7eFYp bU4qV1g/dVJRZXZNd3JXMCR8OXs2Mio7SFdzdyV2cHt9QT1UdEBPYHtJKWBtWiRSLQ0KPiB5fUE1 cjFma1k5DQo+IHoyQntoI19JKnwwTkkxSEZOJXF4V1RDbWlHb3drQXpCN0FucWlfbDRsZVRlT0Zq YHReRy0NCj4gO3Y8dmVWb2d8Zyp7S0QNCj4gem5kQ2g/dUF0eFdRenJKUjw7dmBwKUxSYmNpbHFi V0UqTks0XkJCTyotbG9xQTZYd3Y/X3g5VXN7c200LQ0KPiBiVztFbw0KPiB6UFlFaTE8KCkrcF9w MEpjcVpQWjl1M31+T1ImZDEhUCtpND9GanVXQHU+anRXM3A+Vnd0bGxsSFV5UyMkeyVJYz4NCj4g ejhkX0JBalNQIShkQTRYOFMrWn5COyhHWmc+d29xZyk0ek9FdCskN1pkcnRmM1Foa2U1Ym8jUSVk JDdhb3hVDQo+IGNzcQ0KPiB6c2U4TEdsKEUqdnpOQn5JVTREWXJYN0JsNXFuRSphPHJXZzN1bU5h Zj57RSQ/ZnhUdEBZWWMzUWMrdio7OCVvDQo+ID5mDQo+IHoyS0pMU3U7MGl3bD5GSnNZJD1JUj01 Mj40NlRvOWptbkBjSDxKaDdPWVYySFpBa3kmWDtnSjJ9MjNDdStEMF8NCj4gJnANCj4gei01MjN1 SEctZytodjgrWnQtb2BfR0MtZ3kkISszWFgxSHt+Yk9IblVYfGU9KEBMK3pjVnh1OzxGXmItDQo+ IG9vPj9SOA0KPiB6c1QhUTYhVyl+dEYkXlRFYD16SWtXZkVnWGlsQVo8WDhuZXYqVVoxTW5pdiR7 ay0NCj4gZjcpQGdza1ZNVnQoKl4jWlI8DQo+IHotOEZmY25wSU87I3g1Qz0teTE9WiRMRGtsSGo0 JDZPZD9KakpFM2YpZnIwWCpHSnNLeiFBNy1zKkUzeVhKMj5GSQ0KPiB6Vm5XU1k2LSUmfTVrKG87 X0FWcm02QFV0YWMydVl4TjxmJFgwOEBtKytyZS0NCj4gK0tnPkhTJFhqTjQlaXYjazYqM1NmDQo+ IHptNVNGaHRzYyZXblZMaDd7fGZJXz03encyd2RUWm40TkdSbDdIX0JkXkZjJTlqTmE7RiFPRlZI bj1RVTINCj4gUWFPS2QNCj4gejdPK29CalFnJCkraXs2KiQxZiVgclh1X1RZa2E0Ql9yTVZYe1c7 NylESEhlV3EwSFdNK3s2aW5FZj11YkQNCj4gJU5hPQ0KPiB6ZnUtQE41U2YrX1RZdGpVZXxrez1Q WitKaz5wd1lLemV8fnpPfT5PT2RvMmdtenZJN0F7fXh5T2AtDQo+IDF1PkFFTiR5DQo+IHpVYCUy QVVDUDlScyRaR0M9Wit1Vnsld2I7S2lPQWYyOTZveSl2PXB2Nl8lfC0NCj4gakNNb3B7cHhvU3lS KEw5N1VzPHcNCj4gekFgV15VdXMqc1ZmYm9sYDQ5QyRWQDR2Vlk3e2NnTUNnemFPR0pCXi0NCj4g VjljRypibSFuOzcre1klTEtRfGolcCY3bQ0KPiB6alNXR0tDbD1SO2VkSX1BSSRFUGs+MXRHRj9g T3ZxdSMkVjRycGVKfGR6QCM5VEg2PTIpKSQtDQo+IG05RH47ayo2KF94DQo+IHpGe3BkWitseU1l Ji1+dis+dmt6IS0NCj4gT0I3OzVVRCVnO3pZSHBlPU8lcEtWUFFsT1pORUBJQSFSWjk/KEZVRDhZ M0UNCj4gelVnZDhaeCVMJEcwfHZKeDs4YHhERyk1UShMQHErJUQ9bGhaZXxvSjUtDQo+IFJXJE56 U29OSXFWRlB2PSh+ekA/O3BBSg0KPiB6ITtePEg0ZFpHP2NRMntBQ15LZ3EkN31iJGtsWWJWNlBN PGRaKTFhUnhjJl5qanBiWTI9PGJmWCU8T1M+JTANCj4gS3p9DQo+IHp7ZVF7cUFYTHJvRlowdDA+ JnUqUkhIdiNLfEo9XiFVVV9jRT1vZFRvQHg2Y2x5bTRiUVRsaUE5e3x9fGwtDQo+IDhnMG4NCj4g ej4yOXZMYXBWLXotDQo+IGMpa1E8bVdTK0toIWFEe3xvemZCd3ZWS2NJOHpZcyhxSXpBTzQ3ZVRP RUtAU3BjYVRrU2JMcQ0KPiB6LTtQbm1nLQ0KPiA+O1NxSj9iIyZ2eChfdjw+NGJmbn4kdz1SZnE+ T1kkRSFmTk8qUyVCVU8kQEQ+MkJ5TXNySzR7YkhqDQo+IHpqc2U9cm48XiZJYFYrdGd6bUB6fWY5 U0lUOzgkSDEhdElNc2ZqeGZLV2RvdS1tP3FPYE0wfDNfdHN+O29gMHR0Yw0KPiB6R3x0SCt7dG5S Kz58c3l4Uj41JD5xNHhmU1FZTmJQRiE1O3Y3alRrKzZtekN6amZuVl5TfnkmTTNnazlsZF4qDQo+ IHBIDQo+IHpMdkgmNDZpeldnI1V7NU04P0QlLQ0KPiBiUVBRVUclSCYxPEJWfSVlM0N+UDJ+MTBC eTxmdXk5T088RWBtJnxrY2h9Pn4NCj4gelBYN0V6NzkxRyNadEs3OWRBJVZiJFBfU1pqe2E7LV9D aiFteElqc2dOZnpWeklKRVk/dVFSN089WHU3eVBOZmkyDQo+IHphPFJWSWNlO0lTNmNEbDAlTyM2 KEo8QE9UMjM3NHQ0a25KRkZDQ0diYVdIdz1XWmo9YEw0cHhyaCFPaT0oQA0KPiBaYEMNCj4gelp6 RnZ5SEx1KDFpeHZ9fUdvRkVeKmg3ZDQjemErVzJxKlI3PzUhX1R4cEstDQo+IChDbl5BP1RtUzxs Q2k/citHcGtMVw0KPiB6PSRBM3cqMEI/NkkqQ3M9WVg+SiY1JiUqcEFARyZ1R2VBbE5AUFJ+aTI5 T29rWjhmPX1aSno7WWlPdlUNCj4gd2VqK3JRDQo+IHpCcX5FMDRHdHplcitUVnNjRioqQighaD0q Xlg0JTYjZSUhaHVYajdEJlJgT2Nkdjk8THVxVmI1TF45e20wUw0KPiBxUUANCj4gelheM140bVV4 N2kjMHNQMjE+P01tKD9uOSNHPzw+PTA1KzJCc2hLOzAlKitOWT1IajAyNk5jcD1KUGRADQo+IDhg MSt+fQ0KPiB6WnhPMmRweUZjcjwxWGBiXj05JTFxbURrRkR0LUotQ25kJnktDQo+ICk2T1E1XkxS MWQpJj9Bal5lZlBNc29CIzk7ZSNUDQo+IHpiS3BaU3o9ZUsmYyU7Ni0NCj4gcWtYXmsleEApciR0 RihjWXNLWF4xbSVBO1QwV2VBWHp8JmRKU2x6WUw9fHpAT0I4fFENCj4geiZuPzdJZWYrVnFtUSZA enZyaXZxPnRrYkl7PU5Caz5oKTg0I29lfmojdmh5VWg5JmckPHkxQFA8PyR1ag0KPiBANFpiZw0K PiB6d2p0PWxKNj5+JSs8Sn0kVUpTPyVFcTxTR0drb2RraW1yezZPVmk/eVJuOW43al8hSyhhZntt NipxZUtqTzctDQo+IHNYDQo+IHotcHNfY3t5K3NqeFFUNF9JO0lPKD09ZiFQeWtoLTgjYzdJUChZ U1lJNk9LY0V6cSM9Ymh8dlF1ckM5IWBtMkRMKA0KPiB6K1YqYTR7Sm87KzUpXlNOXi1IUUhDZUB0 WW1nfXVyOSloeVNtfnRHRFpRUDVSTzVZTnktDQo+ICNoYmVzZTl7RHF1P0NJDQo+IHpfTWBNbz9M K09HdWZeZl9wZnpFS3FSVENNTUBVdi0NCj4gbXBjNFI5WEZqbDdpfnNYV1UzTnQoUEJQVUh2UURi JTZ2YCENCj4gelhtbipoTz9WSHY0YXo3KlNicEBtLWEtMUAhfShNNWooay1eczg+JFBXLQ0KPiBk SW5ZVn44WVYoc2taXzlrej1mIXpaZw0KPiB6KHBnYUQ/YzFkPlF9OFdGK0p5NXZJSG1UXk42OWZ1 PitXe2tUPCZGO1hOQiRaYlI2NWNXYlo8emB0fnVMZlkNCj4gRkE8DQo+IHpLaU0kezc3ZXs/bHFv JFVrKlR0UF5JJGtzeVBTK0hiRTEyalJvK0B4X2VRWlh6Z31EOWtLKEEhPzArJTFzMjB7DQo+IFcN Cj4gekA4RiUhMDNRYCs0RUdQfDlZKCsxKTNgKDFhXjdHNkJEQyFDejdIXl94VG4zblArNi0NCj4g dDZTQEh4WCp2Z1pua3VIdQ0KPiB6RVE+RiVBVGw4JV89I3FYPU1qbHwhcm5KYmhyci0NCj4gNT9M ZDVhdU89RkhzJX1nP3o1PkslbWhgXipaM15paiV2KTJoDQo+IHpecTtOWGV5YWN1dlAxaF5Aem0j KE9NMz9pWX1vc19KJnxITVolcjZfans/MiF2JHlMIyFVcWBNTVh8IUsNCj4gSFh7PTMNCj4gem9D JmoqWGQhM0xJTHhMWll0YDR1bShkNUYjNEVpIz1FWn0weGghMigyUWt1UnRuPTwwc35+Ny1zWjdf XzZaU1Y/DQo+IHopaVpsLQ0KPiArUmAqJHpOQyljIyRnXkglK0poZXVBWk4rWHtzYzNlJkBtSUFy WkwpVDJlIT9ySXVedV5zeV5HeDlTbUENCj4genllfH16cXUwQGZ7YSV1YnR1NFgqT21DQGIqdD5H JmlBMWJlYXAlOTI8Mk08ak0ld0c2WD44fEk1dHkNCj4gTSNKOX5PKg0KPiB6XzghSWRyP0F4Mm4+ UEJSRmRzeis1I04qLQ0KPiAzPyY9JDxMUWZgaiNLZFk5K0k+aXUzenRwQHsmZ2ZCOEFwMkpGR3Uo DQo+IHpzZTRHRzNgZWBxenVEd21gfEwlYj4oYWgpekc/OTBZfiNMcF9vKm08U3RLUHd3eUQ/cSE7 YVZHS2hWQ0UNCj4gU0FiZGwNCj4gemdOP3E/QHZhX3cyUDEzJms3RWxNNSs8YzZTe2J1RDlYbmMq fDJXQkNGSFQtDQo+ID4kIytET1V1bnNBPFMpc2VNZUBPcA0KPiB6R1lYfXZ3OW58WClZfE5mTVJK WHxULSk9U2wtDQo+IE45cmQ+TGIzd3hKNk1oVSN6Kj09ZmpYI0sxVXVXOGJCZWY8ST90DQo+IHpi c0JSMzY2P1NaMT8hTXxQfDdoNyhkWWpjQmdQakFwdkEhVjhUeW0qYyhNXj5Gb2o9Xz1sVGAqKCoz d3ppPklWDQo+ICoNCj4gejQlVjd2QFp+Zz1XZ15CIW01N1leSHJxVUhZJUtwV0BDJl9eOCtaeX5J YTs+cFUjUkIjPU8tDQo+IGEjV04rV191KCg7MQ0KPiB6IzVYd14hO1R5fXModFpDRTcoRTVnc0F3 VkdmSjM/SzB3M2NqfjwxbnIyIUw0V1c9QEwzQXo3Zjx8LQ0KPiBUbnRoayVQDQo+IHo7UEl0eHtw MzR3Xm1eSl8rU0k+ZGBpYzNjXllgUiNxQVUzLSt8RFRENmFNU2UrbHBkI0A8dG8pKDEtDQo+IE1O X099RGoNCj4gejE1YTZpZSM5Y1leJXkkYkZgdGdYYEkrU2xAMkFyRj40dUF8XlM/Q1FvKkxyejkq V09CQXBDPipfT34tDQo+IG5kI2BnSw0KPiB6cHBIT0pmcTQ4ZW5BVEEzTTk3RVAmLQ0KPiB+SXxQ YWQ1RWZJR3NuI0BtPHBAXmd2KDJheWc4dSk9ZjtCNFRDRkcpWipPDQo+IHpfbH1iST1PeE56bnxf O2ErQWReb0gpTDtUWFdTdGgje3peNSsyPmBOMnApdU47dkJNfVBXNXM4KFV+VkV4MXgNCj4gJkAN Cj4genpFQG0pVipaITsyWWxUX3E+fl5GMkBzMjVaMFpaakk1R0omPnxaNlVYZylGallyJV8/YVBN e2pzX2w4OXBGKD8NCj4gUA0KPiB6U251U35ZMC0NCj4gYGZ6SmhfRVF6RzxxI0cqS2hQQVR5IT1j bmdQdWc8P3I9MnFfO1Y5WTJ5S1E9a2wyNntWK0pnalFwDQo+IHpAOUwzbTMqVD43QX5rYiM/Jk5Q VTleSlhDZldfRSYhZTFjK2srS0luYk5BRCk+QHpfSk44ZnhwIWYqVw0KPiAxJncyT0INCj4geihx QyNqS1dtUmRKQ3tGcFo1ZmN9dEpmWl93PEZoPD5CclkmV29OfTZCSF5SX3Q+YlNLZkIoVXMmZUd8 P1QNCj4gPTtLOQ0KPiB6c2UkMD9GRWx5dW0oe3NzKEFkNj9Wd0UtDQo+IHhabDExQE12d1EqcGV+ S3EzTGpnMUAwbzc+VW5uRj4ldUN7fDZHWEByDQo+IHpqKFFgKmIkREcmRnsrRDN1bChIWWgkU25n a0pTYDJ5ZiorWG18YGtRd05ASGp4Z3pAJGxHe1lYNmNmZDt3WGQNCj4gXnANCj4gekpjYHxyV2Vz TGlJfVVKZW5DZTZtMV5VK3NAfTUqNS0NCj4gXyVBPCRYWnpRclVnM0oqKGJWdVFFZXV4QFg5VmRG KSFOQg0KPiB6UGshNnhseiF7OHNvKE9HUFZHYXtEVno1Q3dYQEkpV1YtDQo+IFo+S1B1fXg3KiUj SlNkJnNnMmh8dlNYR0I8bm8yd20yDQo+IHpvMHBlY1A1RWNAX2J5PDxyeWFIbyhUU1hGKjhtNFBU TkE9aikmU0NPRSZneHJGIXxSe1VLUyk2VkQ0I2xpTCkNCj4gdmINCj4genRBQXZxeUR+RT53V2BV bV9EKmdaY1RoR09GKVNPJURgY0RGdkszKnxQJG5fSzB0SVp3bE1qaWN0Y0NIJQ0KPiBtYlZIMQ0K PiB6V04lNDM5SE9Hcyh6QH0/JGZfdXtvP3U5YS0oMD94JVdLdD02YGN8YEA+alUtDQo+IGk5ZmN3 JHFJWFUxY2UyZTlZPzdMDQo+IHopPjdBZjdvUWtAXlNnQyopZDF+VnZDMFo3UkooYlpCNFc4U1Zl ej9iZyNOK2llVmU0MUY5Zl5PWkBqPC0NCj4gSzZkbF8NCj4gekxJNTwyQik3Mk1eO15xSzt1QDlR UCM7MygxMmZsVXphfVc+Uj59JFRJVj9yOGZGKzBYVCVAJmJscE5mc15FRw0KPiBjWg0KPiB6NFpA fnd4d0Y4Z3tQe2xjenIkY2QhMEdlS3g0bitNKCZ0cUBONzkqUCQ8SCRMKUdLMDs0e1U9bSl2QGlU aA0KPiBAVUI8DQo+IHooUEwrdlchR0wxIVIqbEllY05MOVlXM09ZLQ0KPiBLaUlVKDdPNzM9YytY ZVVpViZuUmwzWndvXnR0SDc0fnN9OTlkeW8NCj4gemBaVyFCMSNffFh6SUpCdXlaQ0V6P0d2Z3p6 SS09TlB9Y2RsLWRGcmdDczNzSnI4a200ZVY3MzZLaC07e2haVEJIDQo+IHpve05QNGZNUyRsRXJE NDNTQHU8N3pJTUM9QHQqUFdJbFZWfjJUVT1LPzg+clJSa1Y2QHpvI0xAT2JIDQo+IE8wOStoOFQN Cj4gejZfeih1PHlVUWJafUVRVz1VMGkhLXxSaHI/X3UoNWpZY2xQKWF0RXZzcjtOdSpXeFY7YjAm WTxPLSF1KUdnaHZgDQo+IHpnN1g/NSZQfXxae3N4YWB1UEgxPk1MJERhPVBTIzJhe257QEJHNSRh PStBaHpjKmxpYjFZJFJGJjBlYCp3ZQ0KPiBZJX4NCj4gem1AVnZzd1Z6e0goV35GPzRvKSp1amJk ODhZaSZLUVI7ZEVUd1JsZ09gWDElY0FnXnw0KDBCZ0diWFhxJA0KPiBCR0xAfg0KPiB6R0tmVj8l SVJFT0dWQE5ZaDBrTmMhMVNpanlTVGJKaEdYcmZLfTxpWkBgaDIoJCNZXklid1hWdnVHd3BJNg0K PiBAe19NDQo+IHojaU00Jkc8RXhoQ2x7QkBpRkhobW1PTU13ITRVT0pBXmpYPXQ7RTAmcSNIX3pm RCk/fDlecmtCJWVKOQ0KPiBIR0A1fTUNCj4gelVfI0xmMDV0JFRHck18QGBiZU5nPDY2QSQrcU9i UXR7KH17STxWRklzKkJRP0Y/dHQkdiNQZnhCcXlnSUghYEwNCj4gKg0KPiB6Pkt9IXAteTh3RVok X3xAZTI8VjtTV3JITnF4cmZjLQ0KPiB4VCkwNn1sPVNFUmA/KVJNPzJsI25yQngjems+S0g9I1c3 DQo+IHphZ211KigoRXRxIVo8bnJlMm9pPnA9JmBuNTw7T0g9bENHeG14b2w8eGp8cURXcj9MWXs3 NXA2RlNpPmloQUF5DQo+IFINCj4geiQjaDZlaDJJVz1zcW90JkZjcDNpYl48SWE0NENAJWUtVHF3 UmUtJko1TDMhP0NgYEdzRHZKMG9gbDtyRl5mOENrDQo+IHpQaEhvMHV6bXtCLX1GLQ0KPiAqNEdT djB4bGMjNjdIZSluVXh3X31uX1BjR2krNEUpVnhAb1p4eGBCRThrY1FqZXpiUTQNCj4gelJiLWxQ OzRwS2pTYjg7S2dgIX0xKD1+azF8Q088SmJ9KDYpTio4PiZTV2JvQXFRRy0NCj4gb1cmMTM+dm0h dChnR35RRA0KPiB6PE90WDtFSnNGMTwoflU3Ml8kfXVlQXNFQSkqXj05RUIzPUcwXmd2a3hnMjlX ZXdhQEB0RHBUOz8qbEloTzkNCj4gUnFYDQo+IHomeTxRczQmbyNmbnJMandlU2Z7bHhyKS04UyY4 O0BqY1ZAMEdOejdTJVoxNDt1Jnt5al5vNjt2ZmlYWD5fak54YA0KPiB6PVc9dE1KYktFZEdHWm5s JTZEK0BORT9gJUdvfHdBO31gQkpyYDA7YiE5fUFqS1EhajB2KE4kYStGY2Y1VVk2DQo+IF8oDQo+ IHpaJnBkNUlmMnVLaTQlOHwrbHVnUjtnWE96OXpMI3Zqcj4qNUtFKFlSez1VV0VxeD09RWNjOENA IXxDZz1fYilvDQo+IDkNCj4gemllTD1ZKDs9cU9UY1g2MlA8JW9PSm9HejJRRXtKTTc7QyVAZDVF TzN7QWhDM3g/RkYwe1VXPnt2ZyNqKCYNCj4gKyhRJg0KPiB6UVdGWmdQeFZCaCkwRCZ8cDd0fXVw bHFkfihaKDhGMCV6d2ZXdWJEPWVmRkwqJkErQzxERCtqe01fajJKUg0KPiBvKiRWDQo+IHpfSyh3 YHZhbGxjdWdiXnFhVTd4NWh8clJxWU94WTlJRj90QGQ1KXBiJlBTNFR1ZGJYT2JUcXh2PilVSiVQ Kg0KPiBwdiMNCj4genN7U0FUbHRPeEBtbnF+PUtGMiNDND5SaEYtDQo+IHBQI3BNKGRCTD9eNGwj ODs/Rk82elVkTkArQEQ8O0FEJGlNP1c3SA0KPiB6SW8/M2VDQzJ8cTZEb19CM2F8RGtxc3c0Sj1W PFNkSF8pKjhKNHZ9RSVKUj9BRVF1WHAjZGBAbVJTK2c0DQo+IG1pdGFEDQo+IHpOPGw/RXQ8YUYz VitSYz95Yz9xQm9VTCtoRS0NCj4gSl5nIzl1OXhHYWIydDRYSEJyU0ZJI0R2YWZKdTJ8c1h4MUdj R08NCj4gejBYOz9fZD1ZU3JSO2dUQmUjTl9+ZiEqI0E1VVQmS1Z3SzdjNShGfllQZEMrUEQ9YyZJ bD5Idj07bjhWU3E7bw0KPiBXUA0KPiB6eFFjPiM8clpwfWhSTW5AUmEwfUhqUi0NCj4gOT9Fc0g1 WUVfMXAzQF58QjxVS0hjWGYwbztiaDRTQjlUc305flJETz5NDQo+IHo7aXt5aXRZP0d+QTU5OUUr fTZMQmUjRE0jO0UwQE0hTW1ZYERVRnJ3cihgLQ0KPiBSQUlCUlZPNyNrcT5YNE4oT1I4QDUNCj4g ei1wOVF8RCElSDxzQXlsJVBlYExlMklOQ3kjTC1qc1J2LUxpP2VPdXM+MlVMdnpZNmh3eXdqJHcj THVHcjRYSiR9DQo+IHpMc2J3QkdtXzBVTXwtbmlaeX45RDhJWmwtZkhtKC1FTmF7QWdTUHohX0Mr LQ0KPiBqNWxwMDslTlU+WUhyaER5SjRZVkANCj4genwzaWx2YlRfLWk4KHw8NSErZUhYSDBYNWNW ZkowN2BQcj1NTHY1fUU8SVZkdVY9PU5tMCQ7cmM7Y00/PF9naXxeDQo+IHpQZD9nZyRafFN7QTxO YHFIO3kjOVkqIU1yZUV5YVFsZ21PNFVUKEZaJkklQCVXc0hiV0dQV0IrbGYxcQ0KPiBJTE19IVgN Cj4geml4TVg7QyR8O2hvJHo8ZDFZQGAjakNnfjthbDFhY3NjS2g+bT5DaHZjUUdeaXhLNW0tRGcp bCg3e1JaeDk5OEprDQo+IHpgMHtmb2ljV2ZKZWI3a2ArMXlhTjBZWU9WPn0qRzlldnlURjxRRmFu SCtTfFRRMGBRdHttbmtoX0QjeFIwRWcNCj4gUjINCj4gejUrUTlVb1NlezcjbCh5QVpkWmV9XkAo NDE/SVdzZ2ZIXlkrMjcmfmFkeDJ6XiR3PXFlPXMtDQo+IEIoPUdzS1owPllpNQ0KPiB6ajtZfTtR T0I3VWRxYXp4NEBiQ00zK2docG5pNyo2RHE5b2RzbUBFITUmKUluS1UyKj80ZWFZU2x4KT1Jen17 DQo+IHdXDQo+IHpvI1AxQnhQUi0NCj4gbkt9d2R3PzhJNkRxJUJQTHtATHtiXkc1R3NXKEZKMWp7 bG5vaH1zfXNINFQ2cWVBPk5nJnw4KEQNCj4geiZEXjBDY2UtDQo+IHtsVlZCeGdpMFBfakVaRkBG d21RQ1Z0cz93OVRQI21FWWZuR1ZnTm1xbmYrUFdCRkBEazZDOzJfcA0KPiB6MlhkR1VAJGR0N3ot P0BCaHwyaVZsY3I/SFFSTiYtDQo+IFJMOClGK31le0IlZ2w2X0F+RVU5bFgpcShuNiZzRjx4TCZo DQo+IHpsUyZYR0s+dEBtRGoodTJyQHJJNVgqRH5aYSptMDRtM3h+SCM4YiE4PU53VlRJV2Q+QXU4 T0JkPllYDQo+ICN6KntkbGYNCj4genZHNUAtckZBTFQ+WWNEaiU3NjtZdWtuaWNIUHIlZHdidXpM ckFlcGVeNWtNLQ0KPiBSdilkI0RLQGsycnFHQGc0JUZPNQ0KPiB6Ymt2JilufGpqJT4rfiNOZEk/ digzQUZlJXg+VlA5UzkwUWpvbTFCVDh3NyE3RFYqQ1Yla3xHIVc8SUJIDQo+ICYwZntWDQo+IHpM fGJMJjhWR2gqXy1oVWZRfkw+PyMwfU9NMUBTa3QtZnhVNU9zPi0NCj4gdCQ9V3I+Wm5SQmxtcTsp VXo+X3w3aSh4OT8NCj4geihGb1VhSjI4e081P2Yjdm5KIzY8QjdfUVZQOSNCbUhqQmVhakF+ckJQ P2QwUD8lc3QwdUZmVWh5dTRQUVcNCj4gNyg4YA0KPiB6bmxvOW8jQkp8TiM8ZDE9bzVIJSRQXkE4 Slo3RFZVeFZ+e247d35OSThDOT9GWiV0Sm9ALQ0KPiAzZGl2OyE/UHFSPXZ5DQo+IHorMjlWSDwo OXBHWDQxLQ0KPiB4Z25tVWFjIW5nRFpXfWJ+eFNJU3BwY3sqfU5mKU5RPUA8eTBJbGZGM1U7WVlO VUg3VUcNCj4gej41e0Vpck08UjVmSXhASVNvXjE0bj9xSH0lO29ATlU7V3BCTU5QP2UyfGVJZE1a bDRPYCtKbmAmfnNGIw0KPiBPQVhRKQ0KPiB6RGhzRik4VVI4NF9FR2dLa2FJeFRjVEI7bnElV0do Z1FqcFdLZEZFbDI/UVBmbSgqLQ0KPiA+cyN5SzEqbz1qZ0JXXnteDQo+IHo0dlVhUCg9PnFrXjZf THJvI147WVhXdVRtRyN1fVBfKlY2YyF3IWliXjFrJlBHZlMkMFNOdFVNRVo7XlJoDQo+IGROeDsN Cj4gekRuaXc+dChvbmIjIz9MRkFTb2c+Pno0MHhAUkBGNWMhK2RZdnQzZmVIcG5OOGF2dFVMSzlh YykqSGxeUGgxDQo+IEBrew0KPiB6MkA8V2wpVyViP3lXSGBoTTJ3SUE8ZCg/X2NGdDF8REdlQHBx SnYwdipReEhkTn5hcWAhODgqVyhCdg0KPiBRcmt0e1FODQo+IHpSYkBKUktKTj5UQW07ayNrMDNI VHlMdWUkISlnU0JeT19IK1R1VGU5SGY5MTlqdXJxbV9CQFRmVFg9KnRCDQo+IDZ5TT4NCj4gekJC JXxKPG9kRH0/K0hXPzNUZ0lFe2dnYGMyVlppN182OzJgT35YcyRrOURib2lLQTF+YjI9KyFVUGR2 a0x8eHgNCj4gfg0KPiB6MWhMc1VDRjVHWFUoN0k9VkEhMEk3JHFpMk9TMDtaXnZ0cU1tJTdRM1lH KEdmZnl8dDM3QEhuWFY9Jkxkdg0KPiAmWXpEDQo+IHpLJTYjSU1Wdk5OWlJBZUxzKF5TXz5RcEpn ezcqTmkpWWheb0hTMFNyUE9layhTb19xWGsyVUt2NGVRST9jDQo+IHVGNlkNCj4geld8M2dyKzZU cGZQYE5GVzYlXl4mK3NnNys8UyM4cyFwQXc9SyhhPU04JXNzeWNVZEUtDQo+ICNvQ2RjTHRRcXwo a1hxJg0KPiB6V0hyOWhSKGtHSzBjKjhTRj83VUomKFJ2MzM0dGlpTn51eyRsLQ0KPiBjWSNXTmNa bUcqSzxCclNeeDh6RkJPTl5ISzVUDQo+IHolZ05EYDsoJmNIbERpYlBWUXp0U2RNO2Z3RUBOcnBQ dTw/QSh5JmR6aHswdE87clojPytaMzFJbCNyciUlX14NCj4gankNCj4genBpPUxGMyN9NndBPXNj MWEoaVoha3UlMnFEcX1NfSkxV2JYSEt4cStRP0QrbUhLVTl4MjxqZnw3LQ0KPiAofilnYXY0Iw0K PiB6cShodDFgMHh9dVc9STgzZG0oTTZyKV5BNnZWfm0rcFQ0THQtDQo+IGNsTTY+NHM0PVNzPU10 JnBYZCNNWDc+fXdscVQwDQo+IHpqMT88YmxNQjIwajRoRSE9UWB5ITlyVjh4aWJVdF5ZeTQ+NyQw dSo/SUxXeTh5a09qKkJFST1tQTszUX5PVT0NCj4gUGgNCj4gekZoIXtNSUElU1c7ZnYkdncwZGg/ ZTMtDQo+IGhZMFRybmw/JmVKdFE4b3QjaT9UcGV1fUI3NGJDQHlIUCVASlI5SVd5Uw0KPiB6dz8k WkdWWkNNZGVMWiFGZWBkbyE2dT5QfVJweyVJXy0NCj4gV0hieWhKVD9AOzIoRldeZE1pc2RiI0dh KFg2bHFMbjdqDQo+IHo/MUxrNGV2e0x5JHlZZCUodkwxfEd5VTRNdVNaK1dsMH1VUSY+aXwoZV5g MSEtDQo+IGZCJUc5JWkwejk0dj87eCp5KlUNCj4geml7U1MwSzdmRnxYckV4b157fWF4MGxFe0Ak ZCN6cDt8NTZ7Yzg3SkspJSRZSlhHfCotMHZCPDJrWkM/clUyKX1KDQo+IHoob1c8e1ktaFJTMkBT YzIwNXsxfD52LQ0KPiB4SHloMUk+VGhNRGFLejVsSERZU2lNJiphSjdKYEg/MTAxNnNkXnB8MjkN Cj4geig3MF5JVVYtZiVoOyk7bU1kOTZHPDVpbU91Jnt1aj91LQ0KPiA9bmokd3NxdGp9cmpLSTBk clpUbVJfODVuen04UE4jSA0KPiB6d3RlWHFzRGpEeyhsY2oqI0B4JGxtUSpKWUE5dGQ+R3lEU0h4 QHFAQ3B0LQ0KPiBhRWtXSmZEVlJaY3VIMF47JVZJTGU7DQo+IHpuQlRQM2VxbzFoVEY+LW1ZcCVZ fHY9R14qQ0d6RkRkcyl+T3Y9elFTczxXP35NNF4xSiVscGRLSC0NCj4gXmdaQ0pycUMNCj4gej4h NCkhY3E5JU1MQ04qPz44M3N3ViN5NT9JWVJeP05ZRXJqeHB1SFFtZDwhbE9peURrUGx5QUJ2Kj0k MzN2DQo+IDd7TA0KPiB6d2BlVHRjcEROfSpKblpTZnNVSyMxfXo0LXszYDFHV3FeUmhzKCp1VVhY LQ0KPiBKSGhYZjNVYWtLWXtYTU81QDxgWUp9DQo+IHpjNF83SyR5PlNvSjNsPjJDb2NHJUswLQ0K PiAlVTJzRVMydUgqUFFfaX14dU9KaW0zRX5wcGtZVnwmUGlIYmw5PiplZzYNCj4genBrRml6WHBy XiNUZkZRTmVTXy1iJVMtDQo+ICtBOUd0P3hYZCZMcm1sKEBjbFkyfmRRaXkmPWwrYzhWeStANHtU a3tHVg0KPiB6Qy1hc3lrJX4oQyFiRntxMT92aFdJLW52TmB7SXU9dWVTfVJNfS0NCj4gKiU7T1Nn KE9UdjFiYml6VmBWX1lXJno7bzNZDQo+IHojfG9NUGJpJmZXa3BRV1AoVzZaI1FIbXR6TD5SK3Z4 N2JRbkF8SH1Gc34pOFUlTzFlKFl3OyRgXkgmDQo+IGVvJk1SUjANCj4gelh2c2B7QipKNiRkRkxx fUVoWlF+ZE8/e35iRDZmZlJfXyFTUGo2TmgqU0ZCdlNVPCZBbGFkWEdKRiQ5WEdTYg0KPiBrOw0K PiB6dHFQOHd2Nl9aR3xNYH5UP0FnaClrdTdqciZuRWpTdSZONClgc3x2NlFRVW1pY30kcT96PzhQ P0NEVjwpTnoNCj4gdytNDQo+IHpgVmdNNktZXzN3N0dYKUJIKXluX2UpQnJeYFhKcmxLKzZCZipB enNAandUR2h7PnNFRWBpbnklKClgWitDJkxJKw0KPiB6QkdrPUFZanZtQVI4WCFoPmR4cXhPU0BV P21jVUokMEJDWHUoODVPbj0rMXdxbi0NCj4gSzRITzFAPSp3ajtSPk83WDRVDQo+IHpIP1E/Tzw1 JD1FbjV4KmtPdHVhPDZfRVBgUnJwV30wZlVCcyFOaDd4R2MrSWQ2Sj0ociR6MnxeYjh6bzxVfg0K PiB3YVQNCj4gekNGam9mWXROXkhsaE9tejdKVlQ4V1pWQWFmaXYzQTFIa0ZVMEIoN05CQUltbnYx UCREOCRATFJXSyRldQ0KPiB4Z1AtKA0KPiB6I2chQ19ZdXVrNHhYT3hhQ0B3Q2g7K2pPKW0xZ1hQ JUxtaVlwSV9zKkhGdTQqSEdkVndqcCYjSWJrJlANCj4gNCE1RytuDQo+IHpzUXlSPzw7MEd1SyZm bHNqOzstamxqeihLJHx4NCsxfEAmZEZTJVM+SH1Bcko3IVhjbSlqcm1oUDYkSEBZKnwmWg0KPiB6 RWBYUlNiS2dPdkU1N3ome1pITGpnbXNyYU1pO0s0QUIhfDhrSng0Jm9hK1F2Q20tDQo+IFE9KGBX Kj5lWEVsanJuTSQrDQo+IHpDeXhtfDsxdj0pI1orKk5XKWdtRzhRNnFhQFgxQHZiekAjeTUpKEAt DQo+IHh2emZuVUw5b29abUozTkpXa3U+KDxsMVENCj4genk3dnF9VXckfSFyengkYTtrNWdJcnIw ek1Dekx7eSZ+V1piRjQ/OH5lXjxYdisrQEt1aUlAVC0NCj4geWZyIVhRK059Sw0KPiB6Ry1yNUtl PC1Mb3tnakRqQXhOM00zLS03aVRaVkdpRzk2NVFVVU5qZVllVHh0NHdoNUwhP2prJndMdStJaXxn Mi0NCj4gekk9PVYmTkY2U3Z0MyNRKzdrazR4LWs9RSE7QDtLPUhNWWE2MCMpYThTY2EzXkk8Nl5n diM8Q0BvNTUtDQo+IENtUCs8Vg0KPiB6T15AQGtGeWoxZ04lYDVIVkFrVVRrcn1NcG80JU57bVVg c356Rm83UXNYM0JlNS0NCj4gdXR6OXV+ZWdHbEVTUnJxRlkzDQo+IHpaPTY+dnpsX089JWVhOyha SjxjPksrKlk9bjRxbDRwQyMhakcxdVc/WEBHfmJ5JEcoRVpESDklLQ0KPiBvMU1STUNBNjwNCj4g elNxQTJmKStrLSlwfU8+UkROKWZoR1N+NHMjcC0NCj4gS3NCSlIreld7JmEheUkya0FwXkhRVWRv dkRZdzVuRlBCUE9sSg0KPiB6SVBtako2TCptO0Y8dWFsU1d4WXFYOTVpM3UtaX1JNnFKTVp1Zkck dG04OHdqSzRqXzFzVlpHSnBOZ3ZTJmw2TE8NCj4gelE2JWtZdFcze2Y7cF91WXFATnY0ZTtAWSk+ K2VJV1coKUpqU1FCeUY8UHtqJTZHdCtaPyg4My0NCj4gWVo/Z1Ywc3FkRw0KPiB6PDtVcz1XM348 az1JalFGRkIoXztMWDlUcnkyemxrXmxPe0JFOUpmWSNAQn5Kbkc0QmpRMFZvUzdAQUV4ZUNzDQo+ IFgkDQo+IHomUD1+SylyYjRfU1ZIVD5ZfDhyKzNYfXlMcGRXRENzV1NMPEszfE1GNT9kYkVffGx7 S1lka0RWUiN7clNHaQ0KPiAtTWcNCj4gekY0VDNvPSUrNSpyVERhWDlCWVc/TW4jcS0yZDNTMGg0 YF58ZnMyMyNXKmJJdTdreit3YlhxLQ0KPiA5JiVra1hiN2BoKA0KPiB6MSZWNmdKbTckdnU8ZGJH Sks8P1hWSVIhd2BKO2g2JHlJQzgrQjsycCp3cWwkaU9tPlhlKlRBeDBGfjZha3Z7DQo+IFJaDQo+ IHohWC1HWmtuSUlqPytJU3FaNH0xaTJwUTdkclJjUlkmOUpEIzVeQGtnb0p0WjRaZ3VKRzR4JUxr PjlePUpjR19HYQ0KPiB6K3hmRUhGR09LVylrR29rK2VqdGJoP3srdnQzK1hhSCt9aE43JitiXmlC YmpuNExefT4zLQ0KPiA4YlAjVllLK3tlU0dlDQo+IHo0U1pjeW1HXiZ9N1lKP0luP2VmfURnO2Bm KGlSSXZwb0JeKHoxUlpMQnNSUnJpJllWPmc/YTQyNE9ESFI8PnFRSA0KPiB6d14hQFA5ZFUrSDVM OU1sTSNmPWkpZHRkMW4tDQo+IDs1dlFaO0k0Q2FyWmltKCgjTTYjXz1gfE5ob0s9aUdEQ3cxQUtR DQo+IHomd29EdT1TZT8zY2J8Uk1lcGBGKHoxQ2lQP1heKzFRIWxoblRsezRENExefnJsbEx1dEdL SmtZJXJTNkZIaSl9eQ0KPiB6QnxGYGFOYndXMG5HSzRkYz5Nfk4laz5DeElWTWxCYmhZM0shcmd1 ZzZuMSVYKVNHWFFeUzszXlBocmMNCj4gV0FZYEtXDQo+IHo2dz1VVzJgZFBQWUNNckBEM05MdGsq WXREc3ckQnhsfUhzcnIxRTJNaGBaT3xtfWRjI2VeWVZeZyhZPlINCj4gUlp7by0NCj4gejxuI1J5 Y2VBKDUkWmRoWWE5KCleKVY4RlkrVWgxalpLb19mKjg1a1R6ZTVNU0BfJmhaPmI8WSYtDQo+IDYk bD4wZ01CJg0KPiB6bF5QTmZoJDV1QU8/PkE4Sio/MXozU35kUkhXMypUX2dySGBCNilRRURBYW1A VkxTeyhsWHVpcjU9N1ZwKisNCj4gKX4tDQo+IHo5ZVAlX2ppKFkjJXtIK3R0QE1yJWYhbWo9d2ot DQo+IFM8QiQ9WihfOU1pZUteMDM8cWQjQjMpQCMlSTdoSVdaIV59V2ANCj4gek9ERT9POD1HY3Rm QTV2N1V4cF4wQDZJWTlJaHVjb1RxNiFTU2ZZMH14M0NuaHdOYW4/UmojJTNKQj1UUiNjDQo+IHJC Mg0KPiB6eTZ2YUFgNHs1NF52OUsoU0QpWE07QjRPYVN2ZWY+eztUNWFtb3QhI29IWUcrdnhqRT9H UENgVDxKMFY5KUhWRj4NCj4gend4ZT5kUGsqZ3ArMkN6OG0kMUhUYDF4KGNoTSVYZHk9MndnRD11 YyVaTDNldVUxKSlZb3tvK150UVJEWg0KPiAzJHxBNA0KPiB6YD40TF5oWkt7SGVWNl9tbnNfeDtu KkRPYSozfEtOWChVPUZVM3ExYHY4VmFVRTNhJmspKE5keitmZzY5SGYNCj4gJjlRDQo+IHpaZDkl PStxUTNMPWlHbiYrRjd0d1lfa3lvNitMZnF6U1YwPDRsO2pUSW49RiVTRFN0RlVgOCRWV1hQR0xy bQ0KPiBObVINCj4genZ7UnAmPzkrajQrbmBiPV5WbEJAYitffXVqKnNEaj5QUFlSUXZAPn1yc3Mw QWIoUEV3YXhKdz5JUmk0bEEqTg0KPiBwYg0KPiB6YjM3STA0VV82bHJRYilGI01pVE57fHJXdGlU dz4tY09wXnVSJkh0LQ0KPiB4UShNZE82fkclZCFuZkEwSCNrPk0+NmtSDQo+IHpJUHBwR151cS02 d2NxQ3tYSnRiWiYhSSFYKD0yeyt7aDYySj9mM0EtPDx3RzNuKzl4O0xseFRIcSQ7RlpyPzFASw0K PiB6QGIyNSolZ2B9YFlTP3ppU2s1KnlUKTZlTj5VajtEWmhKWW1VQEo+PFQpM1B7aTgwOSoyaF54 I2gtDQo+IEJuYWhoaFZ4DQo+IHpmZ20/QEh2N09zPzgtPThDYTVtN2d7fk9kc25ueCNQNGc3OzZn cG9hYng2fVJMV3pBSnl3KnxUUC0NCj4gfH1nPml2XyoNCj4gekVhWTgtDQo+ID5BNmtOMCY8TlZi JTVzMnl+V1l8THUrOVJTTFdWejlwdXJ9UlZec2hWKDZ6fUUzPSRuYXhMXlReaSFkdg0KPiB6RXpU KHNEZGs+Vz5KcTt7X2padzBhcz9uKTRuNUJxMWYqe1dzZzlaJFY3Q3U9UldqKjdhc3dJc2lCNDkm KlpEDQo+IEMkDQo+IHpuUDB9K2J1U3h9NDlUME4+UF5uelYtbGlYSEJAa1UjeHVSQDRnPCotDQo+ IDRnbEVGMVNqS3taYj9vNnlte3puc2BHYVENCj4gem1Kel5yIVRSMFB5Vkl8WWpvK2lyUElyIS1F MW5sbTdrSkFYT2o5blNMaTcwbnAzTntAZXNDVVk4OCF8NSUkMylpDQo+IHo4eUleMiVBdHVEWVJD X0BlVFh2O2ZJV1dRYFIhdzBDWGhPNlA1YW5hMj1wRGZDfktjYD8tDQo+IEV2TGNqbmlRUmxmSTUN Cj4geklBWUMmUVM7SVJXOX5ZVCZuTn51NlQ7UEZoTm5rQTxgQyleXjE8MWkqVj4wMHl3Q2J5ZzRJ SH1wNEJPfioNCj4gVn5Udg0KPiB6OGg7Xm4lU018UG45fShZQTZ0UnhZRTQ3K1Z4K1UlRkBoTU4p bjtLZ3olTFh2O0V3TlRpQkwxISNQXnhXDQo+ICQzWT1XDQo+IHpndURKdGI4TlVvVjZsMElfYWJO UlRvRipOZ0dAZjQ0cEwlb0dIIT1SZnpqZns+QUNBQF9mWHF0QDM8JWINCj4gSVB8YnkNCj4gelR2 Uk9PJiQqbCU8MUJUeEc7RGlMK08rNDArPVI+JERqOSFqIVJSVig+KE1PaSVYezsqKHJCQTM3SmtS RVk3QA0KPiAjSw0KPiB6UyR5ZV9tT2NrQF9fNENucHtyZWdxZT9pVFFAZiN3e2pfZSlfcEVpN0M4 c0crO1hTeSF0YWJhYmtAOU0tDQo+IGI8VnpIDQo+IHpzZT8/YDBkOSVDY2pKdFIpO1Q4KypITmY2 Q3B3Vit3WGYpV0xCSUVwPTw5Tl5eenNSQGN0JGNrcj9lLQ0KPiBtZXBUQk4NCj4gemNkPWlPQWM0 bDBDYV9HY2dSbkhAeT1QfUMmc3kpVmRXNj9BMFFFallRMStmMj9lNiFeUD9tfEY7JjEzUyUNCj4g aV8tMg0KPiB6SkZRKnZCPGoodXkxWF4oYGstMGNlXzdUblR4LW5yLWVzQWVMZ3NYdWdMS1ZPVig7 ZVhFZF4jVmY+NUZWTl8kdjUNCj4gejdCJUshZWZLNk50ZmAwflNRTy0NCj4gWVA4UmZNNDckNWA4 UyV4ckpiZEZEYDdUeH5uY1NwIzdeTXJ7bkN3V0FRMz8qag0KPiB6Uzg8dzhFX3s2cGwrPFZ+ZzhX K3tSYCFDI1omREp6aFhGfHNkQGBQcWpgSStCeWt+fnRrO3w1JEBsTXJIJWl2DQo+IENhDQo+IHpY K2RZVUhDUDVPbmBQK3dSRGlDKFZhUDtpb01yRkAtVnJ9alUtDQo+IDs7OWtQY2wrPzQ3XlVON3Ml M1U3IUI0KDZ5dVENCj4gejNVM0Q8JG95WDFMe1BvQk8lMS0NCj4gJEFoenxMVk9WNVkjeyNyQlRo VyErcTYhTFB6Q21ucDRpNFU+bShVKHVQQzAheQ0KPiB6O143TUNTQktGYjtMbmNiaUFJNU51T2xu Zm9hRUUqU258ZDlyKj8mVDh6TDRiMW96MTcjRlE5ZiRYP2R2M35fMA0KPiAqDQo+IHpwcEErUyht Z19eRWQ9NEt0aUZ8ZW9zelM+NDJ8Z2BgWmQzTnQyc3BlYClmdTtOO298eiFQamhBMj90Y2QwYXho Kg0KPiB6VlY/ZkBYOWxhS0FecU5rNTRlSDBLeE5tJnA5R0pxV2shUVhobztxZ1Z5bjw8SD0xTEtt akZaKDJzODQNCj4gaE92fSZMDQo+IHpgI25mdUVaSE5nSiUydGBWTSp6YSE0I1VFXkQqJmNnY19X c19yRlBaeFdtNGNeMDRucHpqVHlLezBEWWpnMg0KPiBWeFMNCj4gel5pN0ZCSCFOfVItDQo+IE9e WE1eeHFwUEo+UWk2ZVRQZldSY05hR3IkJFE4SD5IbXNDVmRpQTJKTWV6O285JU1TXk1xVg0KPiB6 TmJTZVRoUlhsTEthSjNTekZHVCtCYCN9IW8hfGJFKCh9I1FmMCo+aUJnNmglOT84UGgtK2ZhU3da cE9xYCFDNVYNCj4gekI1NDBYPkRAUEx6a001X3ttSjlQXmFLQWBMVit2YWVOKzBpaGYyUystZnc+ LWFleUN2di0NCj4gU141OURMVzt4JDJgNg0KPiB6SSQhQjJCWDZodz1LS3U9VVA5MVN0Xyk8Z3Fq bU49e25gZ0xobmp2dmdWTUcrOEtXOVlSe3Yle3Q/S1h0Tw0KPiBVc1VuDQo+IHooISQ3SkojPD5D N2NJWHV6PCYwYUE/UGlYQDZ4TEwlbTBNKEhfJGNGXkxKZzxeUTVeN0JVTXJWJilQZFFhDQo+IFVs JC0NCj4gekgyJSVzOUNEU2t1OVlpNlJsaFA2c2BgfSlgeXFrU3sqK3tXaHEwU2ZhPkdVd0k7Sn1q TGYmfCl5KVNEOVQ4WT1VDQo+IHpHcmNjI2kqZmpaaGw1VnVNLQ0KPiB0MXhgfkQ5Y2xTMT5WJHI9 X29naVI3XyghQiRBWGhPeFJlQ1BHOGJaRnZ+PE9WMTcNCj4gemQ/RzBTbn52QUpAPXZ0I0liMVFf SjBARGJnTGRVQjExfU1sLQ0KPiB9Zz14P2hGXkkzSilPRV8zM20jdH5SNXZKMDFkZw0KPiB6VyEq UVFZNjVKQUB+VnZKQmx0NkMmTmx6NkE/KC0lXyZlM2RVLUhZdTJUa3hDfDgtDQo+IDVjNzZJQiZJ TG1BTGFTNFRgDQo+IHoxaiVMZWZXelk1JmwobXRrWXE+PkR7NWEwK1ZRQmBwPGAqWkx0enQlWVh7 cFZFZEJrXiM3VDVNNDRXbnk3DQo+IEBDfmcNCj4gektrKCYle3s7KTZzPVIleyVNSUw4WlApOFRa NUl+WV88ODZZPSp7JChIUUJLV2hwX2hES0QlKmlAOVlQaEsNCj4gWVR4Ng0KPiB6ZjZheV9IalRh OV59YmZ9dGktX1ZAMXdRRkVTalpwendoVEd2LQ0KPiA+fXNSWkxmQSpOPElqWW9fflk9X2FNbUte bl9FDQo+IHokNkokayRyUnpIYzU5fGJWOE9AeSZ2fFMxUElEaDtANFA4bj1xMURDPm5GTGlkd0ZU e2p0dFV2ZT1DfnlJb18NCj4gSlINCj4gejd1Z3NnVzl4N29Ye3VhZEo2VUk3Y0lNQTlMfURIRnE8 WiolQGFDKz9TLXBLJD5va15NWikwPj4tDQo+IHpVMl8pMEx9dQ0KPiB6RUZKQURoMTMqT3pVVjRq YzFYS0o7QThKbWZzPkx+MTI7NXI5P0xYM0VLdVArSyVKeXwpOSpxNmFzYERqZWheJQ0KPiA4DQo+ IHpVWUkwck5NZERYQHNISTdTJFRiJlN3Vj9PeVkqTGBFMkJ1MXp3U15qOGJ4eFcpLQ0KPiBtc3k5 VEhIb2BFNWphUHg5Z3gNCj4gekVCS1lCeHw1b2NlSTskMHUtNUYmd15KRXQyYkQjLQ0KPiAhIWsw UitSWENpaGRRK25zUlZSdEAzPmEmdEBvUHNac25tPA0KPiB6XlYzVk1IbWZ9U3FucDVDTTZJVU1U ZjhtIWV4akZ9eXk8NF8jNC0NCj4gZyU+eUBAaWpLY0FMVkFoZE5te1dLS1ZSRStmDQo+IHpDent0 PiQ4PmpzUHk2MkY+an45NiYwYUZkYF5UbSpvSjdqPSVJbWFAbD0qX3kjSERvRF9yNHRKemc8ZUop IW5RDQo+IFkNCj4gemFVclNjMjQ2I1ZkeDl5YE9CSTwkY0ZCNEBPbXBhRykqTktFRnN6MndEaU8t DQo+ICtkNzMyWj4kMio8RWw1YHZSRHc7Zg0KPiB6YzNHV3RXd3c5fT4rVzRsRXZVIX1va1Z6RHl0 d1o2JHRjKTVQaXw4UUJ9SitZd2tHZk5TP2E7YlM8NWNuVg0KPiBWUFJqDQo+IHpGRFMySCohNEg1 Rz0hQCZPJFM9PFU4IzJ+SklnSWBGMUA8YEo+fV8jWDtsNXZ4QnNLeF58TVRzS2REYlUkZA0KPiB7 TD0NCj4gelR0PmF+ZEZ4SnhufVZpXjdCMyY5SiNkSyl4fnxNZEEwdWVEe217fU97OHM9UzVRUWNY bHEmKmtAbTNpN20NCj4gUUl7aw0KPiB6JTU1cXl4QSFSczRGeGl7TC1NYEpufHJtPGRiLQ0KPiAw aHg0diZGUGNleFUkQD98c0o1e3huPUN4a3d4QTYqQlBrKm5mDQo+IHpaRVNrKGBDfFFDVH45Vj4p K3Q1KGlUPlJXdV8zaV5vZjJ5VTUqViFjWjNENihQI0c9alM3IXRBM1p5JE1odCRIDQo+IFoNCj4g eiV3djhBYEdQXyVKYFN7MW9VXnBLYEwkQkRWd2F3cDxSKWohSnVtMk5VSzMwbypGPmN8WX0jKTdV JTgyQA0KPiBYdHRudw0KPiB6c2FYQTV1P2xlMkIrcjxOZU4rTWRAJiR6YFJ0VGBnOVYmaWU0cHBx Nk9VMyMjYjh3SSg/ek1sO2FQVypADQo+IHBMajszDQo+IHpuVnVgJjYtITt6bTNic0FSLQ0KPiB0 SFgoV0xfOThoVUpgcCM9ZUUzdTxWWD4ySFBLUD8kKlg4SV5pQkVIITxoQHpiSHkNCj4gelN6PWNZ bEJfQTg3ZXpJRGpjMTQrdW4lP2dTWXFKbDYmYFNHbkB0UnhEdGFxWVdCcGBxUnV7N2x6RSEyfV54 Mn5BDQo+IHo2M3V9VXplKW9tYjM+SHR4UGMlWWo8QF4hIVY2c0lyRmt8MDgxU2x9dyNOQVckfWRq WD44NX13LQ0KPiA3Vm9SPEQ8VyMNCj4geiQoLQ0KPiAwU0UmYD97anlPIWF7akQpUjg8WXYlR2RZ N293Uj5hNDhDfk4oXnNjTDA4VDhTJGNQTCpWRkR3fkJVYnQ9Kg0KPiB6ZUNiK0puSWB5OV4xXlJ9 NWZJMT12cGN5PFE+X1pQZXRzdH0mRUVKRSlaJHRiM2UrM0g9Z2NwN1k0VXp8eW5XdTkNCj4gej5I UkdeaDYyU04tDQo+IFopUl9LM2R4RCZxZFBpPE9QM2Y/bGFTVU9wZTxGbmM+V3VIIVUrckI2cSNG WjV3bUphdnApcQ0KPiB6a1hLdk9KMXlRZ3lPNXBVZClHelFkJnowUTROWTg3a3tPV1pHV1hyPldD czBLMGclZnAxY2VETWQ3DQo+IHZ2dTsmVSlSDQo+IHplKGtUezw3ZWZxJDByQ2YxMTtCSUBuUz9E Q29ePEhAN3xaVCgyclF8Wj0+bm5UMyZvZnA+Wjttb1lXR0w2Zg0KPiAjMHANCj4gemxoPjBKJX1H Kz02Ozk3SFg2KWpLaW4yekI/QllDPzBKfDchUTdofWMpQWUzWmQxNG5YejFZUTM8Pnt9Y1d5JCpF DQo+IHpmfm5MbWVZRVlPQXR7Vnt4OGJaQFFkb0VRKDlrVD5ObTVYXz1jVl5aUVcjZ0JeUXhgRnFQ e28jPl9tDQo+IE9pO3s4KlQNCj4gelQxTVZxbmA/UUt2YVVSM0p0LQ0KPiBNY1I2U3JQKXwrMVk2 QEpRRlR1TlYzaHp4TmpETkhRU3VLV0E2WmlnT0BUZSFeNQ0KPiB6M288KH50Y0RJZU1kKWRqbEJr RXZzeX1xT1V5MSpgJl9fKX5RY3kzY3laPlJjPitWaD55dWFoY21sUjU1WHsrOw0KPiBPDQo+IHpQ JHxEPVpvWFM3KGxKU2EpTnAhYllGJlIpZEh1cSF6ZmgkPz1+ZDBIPnUyYWF1ZCpkMXk3Y1AkbGdy YURTRmV9NA0KPiB6LXNrcjVfeGJIUiFuTXlOZztVRUApPV9WTjUtDQo+IGg5dl5ZOFczS0hGZnBL fmhsVmBKP3BkPCN7YU07PCFHTmdEY3RQDQo+IHpXSFNqSEpsQFpvKDlxPGEqPGBLQ1QzK2M2JWg3 fWE4TCZwV1lyYGAlQyM4b2s2I1EwYFExPkgjbUNrY2pJKw0KPiBSZkcNCj4gemdrTW9hbnhNKlla fXU3YDl4ZkNKKVZNUmhqeW5eOEoxZD5JXld6SGVtb0YkSj8pK09RKiREKiNpZ00+JQ0KPiBVTkc9 dg0KPiB6S3VVYWJNND4/U1FuQzhBVmlpRDA7JVVWYHJocFp6UD9TNjgzWUkxIWl7JGN4OEw4TlZn bzJOTSMmQSMpM1QNCj4gXzdODQo+IHo1dXhER3V2bXFudHR9R0Bhc189eDYhPmtscGBsUTRHP3x0 TzFAWlE0bmNYOVRMQStmJTRgc31NMD0kIXAjaA0KPiBHRWENCj4gekhKTjhjcy1ve1EjRH5Ib3R8 bGdzZE4qOFM0RzY+dUNsUDR2JmNkJmI5RldiYml+an1VZi0NCj4gUSg2Yz5qMGFTd05EaA0KPiB6 UHp2P2xSWmVYRVRBdzFiTGNMQihhWVI+bWtRQ3JSMzdmbkwtDQo+IDt+TT1iS0Z9UmVHPE4oXztp UCFHMkp8X0t2VXtuDQo+IHpSNWBDSUJRVUdWRSM1Yjt3a2tpejk9TWFMLUQqZ2NXKSYtDQo+ICRy KkJAbSEpa1gyNnJxNktlWEt5MzhMTTdpc2ZfOSoNCj4gekA/JCp9JHN2a3VObG1WMyRKZTZZcyMy ZUQ5UTwxcHFVI25VSCQ2fn1qVlJ8MFdUVSFmPz4/PnFIbzU3MA0KPiA9aDxgcw0KPiB6P15NVjVo Rm8kczs8KUopT3A7Sm1ZSl8tDQo+IDhIVklVNih7Q1leSDxwYCM4Y0EraWJPbHBqQVVCelFDQjZU YHlldVVUDQo+IHokWkA/YThhSHY3V3FNX3xvUV4hWSpCSUM7eDtoISNQUn58JiR4Zj8+YkVzYCNY TC0NCj4gOWVZOWpafmdAP2ROUHJgPz8NCj4gekBHM1hCTH0+NjlMIyZhekEkSTYpS3VZUiRDMW9O ZHo1YUFyTnIwV0BFc2Q1RzA9dHJ3aDQmQGd6a251DQo+IGVXUSNBNw0KPiB6U0g4ODVxbllUYGFD PHFRY1VjYXw2REZGZjFFNXQtDQo+IFdEYW5rWF44RHt2YHxkMVBFT0BDI2pOWWFZX0o0bW59Jmt7 DQo+IHpCcDR7KHVOKzgtNTQ5cGJEaF5+WkhSUnc3VVBEJTM/MjFLJC0NCj4gRnNvKXY5cFA3N1E7 QyNLKGNqeDlIS21jYWZScG8NCj4gelE1RDNmYVReKXI9MnQ8VmU5PFgxb1NrQlh4I0FSK3B2eWFG P3twNWg/YW9NfEZwKlo3cXNhPVo2MC0NCj4gV2NBZ2U3QA0KPiB6dUI0eEsqNXohUG8wdTA4KDlg REZ0Uzs+UVAjOyU8cn1fU3cxdFluKStYT004bCl+eG5AKENTZFJzTW4+VzwNCj4gOzFwDQo+IHpD OCt+Q01xJlpIdGxhfjZjUDdIfSZ3byZgaHNwbi0NCj4gKztjWW0heFRhT2hxWj0kPHBXYGowe0Vj KjJqJX5WOF9IQEYNCj4genp+ZHZwPkpSQyhjdmwlNyU/SHpuLQ0KPiB8c3k1SjU9UFNfYm9KTThf WTI4THhGeDJkemooeW1tQ0hAeTxjYkZwaV8oKQ0KPiB6O19KdCtlb2E8WkRTMXc2NUxxLTFSNChM dFRGQ3l1PkktQ1NXdU5McngxQnk3RVklcHNyRzJXbDRGYzt4WW9FKVgNCj4gejR6cWxNUXchTWs7 aTZ2TlN+JS0NCj4gRE50WjFnTz0pSXJLJCNwS25gVUpTPSFpTHFmIXB6S0xsdFRwbnJtPDQ9MkNf Yg0KPiB6WFk+d0tVUkU9d3ZHKD9BQktvVE9vLQ0KPiBRfDU1OXBLaSs/d0kqeGgqfTFAUENwMHNB dD5uXjgpb01UZVA5U1c0MmgxDQo+IHo0UjY9QWd7T0E7emk4NyEmMiZ0MWFxciFfbmB4TE5xbkh3 R25EJn45XmZCUjgkJHErU1ptRGE7Z1VIbT9kDQo+IHI3fWENCj4gelloNHw9WX5BNWMmRHMjMz1a RXt3KF9TbzJlPXJydG18Xnp6eHooeylYWipmUnhsUGFIUkFLR21zPWBfZT1Ndg0KPiBrcg0KPiB6 N3ZSRj4zKlRWYyk+N0MwdGJiUFRLY19OYy0/WDdDZ1V5Ni0NCj4gPWtPcSk9a283JUtRYjRpSDBr ajh1fHRBeHJAWWhxDQo+IHo8d18+PE02YlMtdH0pMyFLej92bDw7cU9tfDEwQU82OzwkclpPMGYt U3A0MVNPemxIbj5VQ2lHNjAoSTVLRGgtKA0KPiB6ViEzJHh8SmwtWVdoUnJpe18+NVQtZyRTeXAp OThPX009VSgkITZ+N2RvRkwhWDEwQ2kjV08ja2lsfCRPJERnNzMNCj4genpUc15DZVl+YlNeYytn ZmJiOzQjT1A1IzdyZE8rVDFxMFo3KHgkeWZSQntjRXNnd3JVakBOb2t6eTA1MDxIQQ0KPiBEcw0K PiB6RX1ZdUVyfkIzVFFfcGNFPUVAUUJ3NmJLclcwXlkocDJ9TFk7S31DWSsqRW4kKllZZVZibnBE Qm94UVFuZg0KPiBnfEhqDQo+IHpaUjAyZm4ma3Q7M2ZGPkZtPzROeFVaSEdab3dZP3pBdzV8TXFB YHotDQo+IEFwSmpscDJ9WEBzMiVBSjJZSVF0QEx3WkgNCj4gejU4KWxzbTVYPWg8Mzc/UzJ+WWU5 PjY9I3c+NTNebmlqaXdjNnYoZiZkZ3ZKdTIjJD1APEVydntJTEolQSZMPC0NCj4gRQ0KPiB6Mjtw NWxPZVhtNHhCUGxjaH03Yyh0QX1FV18wJDdScXpkTkd6WGJ3YVROdSZuOyRgUnNTRll0dVBAWExE cDs2DQo+IEVlDQo+IHpGKlkwM2FAbHUjOXMzT3xNM2drWHd2dzBsUXdFIVV3U0w4XmV1RElDJWtP PyR7SGN1UEAjTEM/UC0NCj4gJUtrSmUlKlENCj4gekpKZG4/d1cxME5XZWNEWWw8OWQoPVRXKTU+ SkArVHpNM1RJSG9hRHJFaHItMHAoaF5GemUzOHtvJEItDQo+IGJCdndCdw0KPiB6T05BfVZ5aDdS aDhjVSs1YTZSY14+Kz5aTVQ9eX1lQjtFTFo/alNHcTdYTTJHKkNEKmF3UX0qJnxLI0oNCj4ga2o9 WTBEDQo+IHp8SXNKYT1aWXlsRjsxZ05iPEppeHMqPil8XlRfeVRjOD12a1VOMVBmc34/KlBDSmZR Y1E+MVQtDQo+IEtXVyUqQHRYZFANCj4geldiV3xjNlNPSUJKIWhoODI9Vyl8MV5GbGxgJTBVKm5s KDlKV19XKzROMU9LOU9nbDlKMThYKEMjRkMkbVYNCj4gNHcoag0KPiB6TT0mNzNTbGd2dSVlTnlL MjttKERsIzkzZUFBSm5la3xNeXNqIXleIWlZYjFaaFVOPlI1YSQwSG5xfkNTPw0KPiAwcEIhDQo+ IHpRMEwteSZWQkAqbFVqR1ZpNXcjIy0NCj4gUF9sPUZQdnoqbTlzeW03WE8rZ0s1YjxTYCNAblhx aTVReSQyd2JxNG42RGMNCj4genlnWmp6QXBZZCV1TGkrR1F3I0k+VkgtDQo+IFdZdCVeZ2NlS1Fj Xyk3dkBHKSElbkFoYmh5fjt0Oz18SjhLakRWXkBKXw0KPiB6Zm5lP24yLWE1cCNnantncmU4YXda NXFOST4jZkpzY3ljcU5yaj59SWZPRVJMS2lCSExAezRTJSRDYS0NCj4gTUAwUU5kDQo+IHp7Ozxk fHVJVlBXeFFrMU9lYTJWWk0lZUdBXnVRVHlDKzJuajtkfGZvR3F3ZjhPOEF5eEtzVSZDLQ0KPiA/ RWVKdFhLMF8NCj4gelJDS2VaQ311MVJxWmY4a1g+dTszWFdDbm9iJTc0T28qRG5sU095M05AKHdB aDk4enZJcV97SlF4MyhQe1ENCj4gallLLQ0KPiB6eSsjUVNiOzg1NXBhdk1iSH5uMD52TClDJkQq ZjZ5WlFLTFEldXRiKWAtDQo+ID1ZNitoWlY2MzA2bEUlO3ZWPEFpPiNmDQo+IHokQ1Z9NkdqdW5q Z3dBKz5rb31GUl45LQ0KPiA3XiE1PlNfME5Cbj1ld18xZmUpKDs+eDFDcjNtZ3tPSDJYSGtmd2NA NHUNCj4genRvVCkkT1NoX3I+KCM+bShsVjYzdzUpajk9eTErTElSUnZAcGxBQlVpX3NoPyg0cHNm QHowejwwPGBBNSNHaFENCj4gVg0KPiB6LSV5dS1UJlV4b3QtWjdPKmNRIUs3fSElc1ledD5AdnIx ISRLTiVgfEM7eC0NCj4gPkVYd2FraUhAKGdBR0Q2Rlp9V0woDQo+IHplQWVXTU81TyowQ3xtQUts c01nQ1M/Sjd0azQ8cj44VEl9My0NCj4gdj9QU3hld2kmKks+e0shSzV5QGRfZnQ/aDBnVjgNCj4g el8kPHdiVTdCb1d4I2c+O29Pa0IhXiVGU3NKM2NwWSFlZnshWG1OKiEhMT8yU0xmcVpRb0l8Njh4 WVRMNmYpY1INCj4gRw0KPiB6bDBhPlY8ND0kSigpNypHNGNKV3smaHB9PEtuTk5FNz9FdnZ2NVJl UEleJEdCcEhEU3A0LQ0KPiB2NWIjVHRhT0leZGhYDQo+IHp5TEJ3REo2cTV6WEhqQCZidkdMdm1h KzBWNU5VJURwWldCS1ZmfnxhaFBDRlFOb3RCdDFZMzt8czxaaQ0KPiA5UnE9dlMNCj4gej1QVkQ/ VzlYR0xKfTJWNWdiO0UmRlhNNW8hSFk9UjApNS12KlhmT2UmJUtJQitqcCVNYSNSI3kqLQ0KPiBU MHE9UGkzSA0KPiB6TTM8SVh6eiV1WlhMblM0ZTZBb15QMTY9MmQ7MjxGaExPOUEtDQo+ICRhelA8 fnt4bSpTdCY7WHojPUVLVnRuSiZwYmwrDQo+IHo7QFQ3eD9FKUp7NiExTlRNUUokO1dpdk9iZkRT I3lfdlgxLQ0KPiB6V34rKTByTXI4YSU5JGJrZTdQYkZ8VU9KVyhlPFENCj4gemVkWGZpdFdwIVlH QnhDX0trPT1mLQ0KPiBtWTArRn55RDBUaFc4UFh4UXpvUGFUYTVEZEtPKzw7NGtaJUdVSWEhKXA+ ag0KPiB6d2o2b05XWXM5VV95bFFTMlduNnROXkdpa0Bgc0ohZDVxd0VXYG9rR1RRX1JsTkxlQyNz Y3NxOz56aSk2bFppDQo+IHA8DQo+IHpTOHMwOUMmTihQWTlMOCltKiFJaWMkWVFFVUd0Tl81Sz9N fEFQISEzdWlrdDszMGt+JVErbHYhdzhlXj9IVFQNCj4gKkkNCj4genZVfkw9MGMwQ0RZRHI7dnU7 Zml8dUV9IW1jdyQwcztYdGtsUW9DQiEpRkNAViZrTUtkMDxncGAjISt7KCYlZlkNCj4gXw0KPiB6 OCtqaUA1aHZpNWhrNzFnZ2FmZXxfaGA5WHJKZFojSHRKU1UlaFlNc3ZVO0tWWiFJdEVZOUhFWDNJ NEQ7T24/VWsNCj4gelVqKTBrWkhBMnFDMmwpZSQhPkkyNztNVW8/SW01YV9lPjw2Ui0NCj4gUkFj Y3hAKVckN30rKDdRKUkoZW57fXdHJll6SQ0KPiB6aWJ0X0oweC1STzlzYHlHMEwtTVp6SztpaW80 XlpXOEEoJkNDZGsxQUdsZnJBWSs/WWA7d0h+azFYOU9zUDMpaFENCj4gekd1VSl6XlAwcU9TWiZm bHZBej1sUlgheSZ1KXl0S3tqOW5WVEZ+PyVQTHExTzRWSCU9QGR3TDczZCRDKTs5DQo+IDJ+Wg0K PiB6UWZwPXFIdj4rTGAlQCNwZWE0bE4tDQo+IGN6NU5GSXc5PkZVNF56Zlh7VG1fa1NzeURQYEw/ KiRPPGBlVCVRfUVkT2VeDQo+IHpEdzR3cW1jI3lzdHk8K0UkNkUlXnhsZ2xxTWwre1hvSyM0bWEj YWdyY2J+VzdzQzArUWpAPj5abXNqQUcNCj4gcFhhUH4NCj4geislfUQlaylLQ1l3eT1PRk55cUFW am85YGkya1NtTl96PWpqQ2pQQkM5bUhfIVhGPDgoX0tSbl83b3p+bikNCj4gViY1SA0KPiB6akVy TV9aJlI9RGQ0Km1kS0F2MF9XMl89PWpFc0dOISp8eFpMQnFoWkQ7JkVzK3dVSFNlPEkybVc3KA0K PiAlWmdeSkAjDQo+IHpFdTAhdSo7cTJAUTtZWXFPcHJRZjtxIX1FQUh2YFA2aHlOKDZeTns1PGwy Pyk1YV50e2o/TlZuczRQNmw2Qm1VJQ0KPiB6O2IhO2Q2PEM5NmE/dDhBU2lEJj9TN049SmF2NnJz UyVNPUw9cXZSTzlkZWdzIU58WX1ieWpMcG4zbE0kdjAzSg0KPiB2DQo+IHo1KXFQUDBKO0tnNUJU dig9T1V2Xy1jd15DP1V+QGhhNXYzeEhfOVRYMmEoNUVudV5wSUFuV318PGlfY1YtDQo+IFAxVyQN Cj4gem93LW9lN3Nfa2ZDUHpmK1R3V2lWbSkzaEB0MFlVO01aZSpgR21tYyQ/YC0NCj4gJFUyJiNy OXlSeFlvRmBIVDVSdDdaTA0KPiB6PTtVTyl7WVVoaVN8OSlIN0REKkpxQWN8JDIqPylCU0IoPDh2 emM9ZyRsSjRecipTKDRHVFk8clMlR0grZHNCe2sNCj4gelp9TDBnUFdVKn1QWWJUaUdTbTNkbCtW eE4ybWdkV0NiYXx9Nl9tM1FiWmUzZWJYZShhMzwzZWlCcEV6Rw0KPiBLITFJdw0KPiB6TU9IKyln MSkhLVMkcHF0NEp2Kj5hM3whQV9uXkQyVmI8TWt2I3hpSC0NCj4gKDxJaFRgfD08cUthYH1UNG0p NUxVUmpmDQo+IHp7eUhSS2AwMChNQ2R4LQ0KPiBjWjxCWWw/SD1IKXg+dnw0ezsqI1JfWXFZeEhQ SG8qNnFEWkpHaUVKTDYmNVl6QChOfTENCj4gel4rMmFQXmMwZ2Bfa2I8VWUkU2oyRnpOUmBzQFdy NG9JMSEkeSE4fGxHVSpXQkY9XiVFe1Vec15OWXxDQUINCj4gNShiUA0KPiB6MSlQT1VsZTN0PDw5 KzZ2aVNiP0VDZllaPjxyKzYmMyhfX2xTZD9TeSh5dVJ3LTk1QSpfSEYqMzkhdGJoezluY1kNCj4g elhaWmo2czA4eShmOzBTeSp2b3dIPE53PFRwVGhyR2JAaXhmX2c3SX1TelRTbCp+TkRQfDExOC1g MlMhMGVedWV8DQo+IHpMWiVTfHkwV1JGXnJkcCRYUjh5amhLZlkmUTxhST53TVFtbXpiNT1POytw eEwhfX1NajYwcnlQVUNqVF8NCj4gMTlMZ1ENCj4gekh9aWt+WHYhS2xZRnZ6ZXJOMFVWRTV9djJu Q2Z2eTk3JmJPOWpWdXZxZWhQI0gpZFN6eE4mMHgtDQo+IEpwSipld3FhYg0KPiB6PmVscTBkNzJo IykxUEVGQmFYdCktJXpNeUx0JllMUk4xQ1J0IS0tDQo+IDUrTk9xPE99WCorQ1RpQUg7QUVyKnBL O0tHDQo+IHpTdmw5e0QkdVUqSVhnOz16MWtOMWt6a0tMPUdXPjxsK2xDOG9JQC0NCj4gJTh0ZEdG R2B6Kk4qNzw0YklSNUVXbk5+bFENCj4gempyVytNZTNvITFte3BWOFFpd21QWkxjfWRnTERSbkVm KS0jWjtLejdaMkUpdClzQDs7N3FvOWVqX2F3RWpgbDRYDQo+IHpSej8kcD4pd2hyM0Z5WnhtMElG WUNlUzB8Kn5pTWxrWURiMm4xSFImZGhmdFBIMCU1YGJjTl55MjRyM0godT0NCj4gJFkNCj4gejlX WG82N147PUdyez58czd1eXYjdTZ8M2F5dm1RNi0xQ3MpSVM7aGwtaStKTyNGeXsxUzQjeCFhU29Q PSt0MFBzDQo+IHpxbjRreHFmI2QoN2UxPjJ4YiYpSXVpS2FGV3wpUGVrSWtWfmhQWk4lP3Z+IUsj ND1aajU7OC0NCj4gMkBkNGYhKjN3U3ANCj4geiVOS3B+NUcrWXZgUnJuYiRWUCEqTWF2KDN7aTZy ej5ra300VSs/bz9SNHh0R1FfO3VYSVJefjw8WXEkJU5eDQo+IG5oOQ0KPiB6d3BGeShke2VOREwp VCllQHhWQiolNnF7PDwxdTMmWSRJd1lIblA2RiswUGR8X0h1UUQkVG1lV1pmUnkNCj4gc3Q+Qj5B DQo+IHore3ghJWhPe3goOCg/PHdKJTJiKXU9dW5GKEwjY3t7JUowQypSQngkcGNVKEY1NWRgaG5Q NGxnRzJSbmxXTz0NCj4gVzsNCj4gentAaD1LKXhjYnBIcmV+K2JUK0NfXnElMnwrPiNuXi1seHM0 VFVDMVE2KERGLQ0KPiArWUJRQl85TTBEQmV7T1NXQCglag0KPiB6dXBLdjE4TDxfdnF1WUg9ZU4k WWJOK35eUD1YSWA8Wmd8RjA/N0l3VjltMGVfSFo/OUFYZ3s5Yih7SlFvIS0NCj4gMih6DQo+IHps dyl1aGQ+QlQ5e0AhKl9lOz97VCp2UVZXK2dMZDwrMmFVI05waVVZNzJjNndqUyNZSnpSZEopPWoy fCVMelgNCj4gKG8NCj4gejxhS35zVigpOFR2SkBQSnlefVZ1aVFSazAoY1V+dWY7TFA/V0l3MlEh KFhNX0kpS1ZQez9SZmpRenM2aHBmVw0KPiBuSg0KPiB6PEMzWGFBJDhYSilPakteUm1ocFd6Y15t dHZTRjNhUV99K3Vxc199KjhQQXYjcUdvTmMzKThpUlh7a1FyPg0KPiBBbjRFDQo+IHpLYmZBR1Il K3h2RTlrJjA9KWt9VyVfTGBsIUZqMl9SWVIrQ3tvYVRGNHZCSkJ2N1AzekJvKSZ2JnojPGQ4cGYN Cj4gKmMNCj4gekZ4NlhWbmV9TCU3OUNKYkBGaU56MSo7SmI9ZnpAb3o3ND5KKX1BfVpka3k0SV5C bDQ1PmtCSlY4Q0steTUyenhDDQo+IHo3PCljXz4qaD9XO0BxcDV8NiorbyQre29OWTtjOWxSR2Zw YSlaM0UtDQo+IF5lNTZZcV41KVBQMlBYcD1CQ0IjTllob1YNCj4gemx0UDwjfEx3MDImOGIjbz5L eHwzRCV+SSo2OD1NcVp9UlF+MjBZMSFMVypOYklPMVkkP1VYJkItDQo+IHswe245a1VFNA0KPiB6 Km5wbkJnWHA+VTVjM3kzWFJCXzg1TCM3a1FUPnY7KXVTbENfU1BpYCV9fn5TNlg0e0ZeZHlBPlFv SjVmJV9sDQo+IE9FDQo+IHpaVHZJJCg/KTNYYDQ1LVRycEU0KXFrUCl6RiZWITdjcHhkVVZYVVVq Xy0NCj4gRjB+SCRuZ0FhQXg2azl+VGZPZTJmTUUNCj4genpQX2EqR3cqJj0hZlBmcW1ySmVDOW5S IXpwfEtsemxnbDQmdWFTRnJ0Xn0yPFZKQFJ9eCZWMSsjbmFRUEZBag0KPiBvUQ0KPiB6P0tzMFA1 Jm1xcl5vViRLdHZ4Tj9DI3t3byRsbiloYF93UiFNQyUkKV94NzlPbD5eYmBsVH1ja09VWEk2YUx+ DQo+IGo3DQo+IHo/WilFS2l1eGVLQyVVTipAPHdBZj5vWCVgb0cybFdgfUh3dHh1P2x7KSNeMC0N Cj4gUitjSm4ofXhWQmo2fmRVJWBVSCoNCj4gemVBbEAtNHwlfktCQmpDTzUwTzR4cFcqKVI9TDJx QC1AfXt9LVpQPXwwQG1jQzA+MDU7JGdSLQ0KPiBxTl9vY3oxTmFBRA0KPiB6MzxtSCtxfGVVY3d4 cypSajJKe2tgQnRAVmBiJD8xVDt9WlpFWV5mcyt6QDJaOGZGMX5KcTtsZ2s7STNKfDRKeEENCj4g elR6NV96LWZFbDROOzc9VyY9WlcxYGBzLWMtDQo+IG9YOChoVzRTYXErYFFZcDZhKFVvRVE1M0kl d1l9bEcoaF9jYjRKcA0KPiB6QSh0S1BuSChWRnNTeC0rMUJQSyU3Y1hhYEkzeWJuIyVJbH07cmAq PztRa1FmYW47MmlmUlMrUTwjPUpKQ0N2eSQNCj4genJpe0ZVZCs3VDIpam5NdGl7Z3FrcXdkfW8/ KlgpTGhfP3JjQVVDPV5BZzxuNitjYEdIbWdxO0dPQWVhSkh4fg0KPiBqIw0KPiB6LQ0KPiBBe2kp Mih2WCFsPUA9Q01FTmskTT1hNEhAZjF2RzBsdWFrZ3M7UU1XNUBfWWYhSl5YMnpybSUhfl9XUG0N Cj4gYyNUaQ0KPiB6byFhV3JyV0tvQSEmdShjNCpWSkI9MV9LNiMpTUFLcEFpQG1FXm5MVWI8X0pA dkV8XzBEX0MkRUw1VlkNCj4gIz9aXnpwDQo+IHorVCkhQHY2MXRFZiQoJTxhYDlpOE5QSk9wN1ZI SHtxSndifWlvXmshM31jUUMrSVFxYm5tdShKdVZyWllXQTcNCj4gNWMNCj4gemhGUlZtV1Z2KnRF YWZ1dTNRWWxTVDVyNEtJfEVHZSs+R3RwZ2JkPVJWJWBwYCtwLXt8bGdsIWFDKERfaGBadHR2DQo+ IHo5QXQ2PT1gNkFMXmczJHxXJVlfczVqYnE+LSQyMUU9eUAyQ2ApPTRlXnpIPTRjOztiVnhMO2I4 NV5za2NKIX5vaA0KPiB6eHpgP3ZHNVMxTnQ5JjZjbVhzcnpweUVsIVk2Kz0yekJ8Kn5iemlDQ0Mx Nil+VyNMckBiPy1ZfSV4SSNwLQ0KPiBjPkRtDQo+IHptTzkwKDM0TFFkbk5xbStgPDZncWU7fWdY cTRVTj1jYUJfTkVqT2k9Yytqd0gqVEA5Ki1DKi0NCj4gJnBwXzhWRU5eTzkNCj4gejVSSD1eaX4l UnhnPT1OdXo1akY4Tk9OYDRoc3pQNEFrNXBOYks3dlRQaUBKYzJneEQwRTZVM1BIP3pEQVUNCj4g a0RtUw0KPiB6U3N9MTFPOWJuXkBZelVOdGVFTjcwaEhiYzhBQW9AR3lLTyFyMEFnSzFGcSUya0pR R151ak1VMkJVKw0KPiBtZklKc0xiDQo+IHpSfkZ0aShiezAoZFlHMks5NFZ7Qz1KSyNDWXh6QHU2 PWBgMD84PnMxfDBXLTRgQisrPm8yWnMmI3xMZTx7IWgrPg0KPiB6IWJAfEJSeUdnVUxwa1pXZGIm RlQma3UoflpsWXFkNlF9WClzJE96MjVkM3ZqUFpxMyZXKVBCNi0NCj4gPjl4XmBSbnYwDQo+IHpq UUB1T2VNeyRyJTQqQXVtSDFjLQ0KPiBfI1MhKFokQX01bF9JQXZMPkBWPzhidV5JJThZRzVkWDlu ZzxfVU55PzBZX0YNCj4gek1sYzxSYEFmIVd0aExrd3o7QWpuJk9ZVl8+YStedz8oLQ0KPiBmd1By MH1UTypkS1hqa2pAPSZBX1FUSGFYJjhqVmNOSg0KPiB6QHA3VGJQOzcobVZ6NDFpT3JJfHk2PzMm cyNraElJLXY2PGtSbT1iZ2NLTmsrST9JTik5a3tlUGRpVClpcThnR3ENCj4gelc9cFBoaXc+RHE3 cTVYTTU/YDZ2O19NNyUlQzx2KjNrTztEPFhVJEM3U0J1fkMreXhmNGFsZSEjWGdySw0KPiBVVVVh RA0KPiB6ZGpDWjw0TVJsUWxlQFU4Vkx0WFNUWiFSd3twfXo0dTR7SnheRG4tDQo+ICNRKVk2RnlR VkImeX0qVUlUdyghdCZ+dW1rDQo+IHp6NE5QUHBsO2c1YkA2THREeXVrcjVeRUtIWTxVaGZRXmM+ YzxOSSFzNjFpQSFVbjd+e3dfMXV+S1kjel9qZnl9DQo+IGINCj4gejhrU1lmNnN9RkNtfWN0Mmpn TkhhMDlVTng5I3c9UDUyfWlrMmgrd2FtNW48YkR6T1NPRj8oQmo8dT0zMUhwDQo+IDJebw0KPiB6 Y3JWQ242IUlFOUdlZzh1YSRmKX4lTDs/O2NGPGNZKFh9VkdrbnlIaHJMbmBzUEktUTwtM19oVjtf WSg0QnR1S2cNCj4gekV9Tjx2biEkT087az4qNF9HXjdvPndleVFyNW1ULXBtV05DZGwkRytSLQ0K PiB3ZU0lMCYwUTMjKFNpJW8kdkZ1YVR2Kg0KPiB6QkpsJVVoMlFmND5EPjtxUUtXYWoxKkNWRWBu NWFnU0JrS0gxP2pgR2lYdDc7WF4/diRLKVAoUUYoP2c/ZWp0bHENCj4gekkyXl85KWc9PiY/dUc7 aWskeGxCeFElNT56VW89RnVIYHlUX2hEN1pfUyhXYDdPcj8qUHR4a34kLQ0KPiAqQFhMK2g3Uw0K PiB6SDdvPjtvcmNEM158eFBUc00pNks4Zjkqfng0Q0srPUg4O3haRUtvRW4taEg2LQ0KPiAxaHY3 akw5Kk1HTlc7I19jM01rDQo+IHotDQo+IHVJQz0mWCUzNlo2eiEjPWEzcjlLVW5yN1FhbWwlQjFn RGhyNDkzSkdqPGRgSHRzPFhIK0NkP3hWJG8rU3B3DQo+IDQxDQo+IHpiOFEtcHg2YztfJElmREkr X1dkMm8yYn56JWF7UU5sVHNUYlFNRSZIZ0RsYERGLQ0KPiBOO3I4dWFyb0p8eCZOTypPZigNCj4g ejNKQX1aSXlXQ3BnITFjWlUhemZ9endwYnczb2pBKjElUFc3VWdBPmNuKDs5YHt9TiQwaF5Se01l Y2cpQzBKSXsNCj4gdw0KPiB6PDlyQjVqcFMkNShxZEMzPWpQWT8pZURsITZJcjAqRzlRQ3VaU0xQ YnEwKiombXk4Sj1AMzItdngpVGtzNzE4WD8NCj4gelRxNkVlbzEzVTQ4cmx9MUl+dDdmKzx7cFo2 WF51MChqcmBtPys7c0Q4dXc/ZEB1ZUJ1cFRFeilheVNGaFMldmgNCj4gYg0KPiB6PDRpOUgxI2Il YDJjNGQlVSNaZyR4eUJ2T2RsLQ0KPiAxSm9zRD1yKUhsKDtfa3dzUkNIP0hzXkRreXd5QmB1O1dI R3xoDQo+IHp4dU5tRT9XWnRDcHpKQjstDQo+IE1PYFVOXntraSVeVmVDQlhKKz8xZ2BJPTRsPHQ2 b3RTPHJseEFOO3dYen15UDU8NSQNCj4gemp3RnoyX21xV0lXMWgxZGJuNjBLYTlgaV5BI2duTipV SDJkamlEMk1vWTc+TDZ9USlZWk0kclFxT2hVDQo+IGJYSUl4Tg0KPiB6TVZTNDZneFItRV5tWmRu MjFfam88KHFqWVJrTm9uOGwqVSo+WCZLemYjM09jPkdPeG8reC1JJERtenYhYS0NCj4gWDt2DQo+ IHo1aGFTYS0NCj4gMlV7K3tYPns/aThIfD95XnVOZTxsNEhZSlltZGEldW1+OWBgNF4rKFNYS0xx Y2BQPmJxbzkjIUwxV3sNCj4gemtOSl55TUUyWH0hdX4jKGJJNkIjTE8jNV5FM3BHbT5KaUNeQT1Z KzBBTD02P3h+SHRRT3dDISNVfkMwP3INCj4gb3JkLQ0KPiB6bm15REdHa28zQV9YM0AtDQo+IERR Pn5Ec0MkckMyNkUlNHd7Q005b2laalpMbGQ3I19jdGB8VjZLI09WMitrXns7Y08xDQo+IHpIcENW JT4+VkxiP0o0MkpHMz1obykqYiVELQ0KPiBVSWl1aUN1QlM3YEM2b0p+OFpsaiR3O2QlTmNnaGwq c2hlbE1OWDUNCj4gejh4I1RXNz8jeU9XN3p4TmtZVDQrP3FYTmpAZHw4OGJ7bnRnSFF9Vzw9a3Ay I25PQEAraVpAO1h3fQ0KPiAlSDFoRjhjdg0KPiB6YiUzPV9JIXQyRE5fWWlUSGp4RTdMVyY3Xmd+ SHskMCFhdig3T3d5KUtDaUdpUUREZGBkVzM1Nmlae3lFdFJPDQo+IDxIDQo+IHpEcmZOdUxxdEBs YVJmZVExWWA+JW09dmo5eVRtYUREa1dGJEdMQTcmc2dxLQ0KPiBuKTsycXdHJDYqWSV7QiZzK0xw Wi0NCj4gelFAN3BuOWx0dl9VSShGMkR+QE8wdTRqLQ0KPiBuKm5FciQ1Ql9TYSNSQSY2VXtsa2d7 JW9sMiZvWmZTcU5LYFB4dGFgWg0KPiB6XkpCQTNqdCRrNDxDIVNOPk5tWnE/dzBMcjw9SGVGbmJE bX0lZEw/I0EmODAqdjl0YyVaYj4pU1doV3sNCj4geWU5aiRBDQo+IHpabj5DKzJSekh5cU1KS2gl bkQjeT5+QWl3YjQhbXFtUjJRV18yTShFMHB6ZkAzRmZDVkU9SE5pPC0NCj4gQDRfKj9id3kNCj4g ekVvOWZRcjFCSzJLQGw7QkZBfmVGUj45Ui0NCj4gdCVGX28+KmRkQzFVNFRRZTw0ZGFVc3JgYkNf aW4qYDIxbzlFUVMxVw0KPiB6PVAhOSo0KWJeVSQyLShfJW5YZ1lwNCglcWZnWkVBP3FPeX5ebjkk LQ0KPiApJlB5WWBUSXVNOFVVeUg/JXJ7JTchJigjDQo+IHo0JDxzKShhTCgwNEVOYmt1eFhAcXp7 cD09JGlNRzdzQnFJPl9MT1RYbkB8YFo1SnAmR0llfnl2WndARFB5DQo+ICFrJFENCj4genI9JG9E Qlc7Yz9XNDUtDQo+ICNjYF5kM01hRXZlTiREYHkhTT5yUGJAMHlYdT9PanpYU20+TipYbHRRTERx aUVvO0ZqRw0KPiB6aEZWdndwSUI8KjU8e285Zmp1eCZTKmUxJE1xcHN8PUtWbG4lIXctDQo+IDVy UmUoe3FoUiU+MGN2Qnk7c0o3bTdmT09hDQo+IHo3KHx3TDE2amYjOERMeEh6OU13O3dJPWN2dUVN RkYtbVY0ZjdQeVh0UDRzclAtDQo+ID5Wcyklbl54dDV0PVV7XjR8SEUNCj4gelJLYV9DKkM0JVkq Qig1KlIpdU18UjNldkVgOWdWKjZVd3kkUjZKNUh7S1ZnUF5aVDNhbWIhSDNhaSZYJD4NCj4gIVFF cw0KPiB6a1J2VWxaZjtTRE04RHFfbD9QWT4xcFR9Xz9CYHpBZ3h2ZkcqMTsreDZVbjh1OCZvNlMr bnpLWXFzX3A1VWp5DQo+ID5+DQo+IHpYTFkyTjBmfDJueEwwZDtXb3lyeilfciRyR0BXSXUhayZQ WU5ISm43bD54V2pXQUcxX3VsRUtAPiU5VFRKDQo+IGBpa24NCj4gekpOQldGVjt7UktUTCptaHZB ZVF5en1TYzRoT3JNbmh2P0V7cHF6Yko9RTAwK2AzTE9kNFRedyQ0OWhDSV54DQo+ICRHYA0KPiB6 RnMmPUtaTjEwUGg2RUk4PiVII0UjLThjU3VWNzVKUi1iKmhrJFpuLT5wcjlQTHQ7eHojWVVLP3ls d1NpM2xvS0gNCj4genY/PD0wNE1qbnRnaGlLezNkJEJIOzIzNVQ7MHZVSiFocVFyST9FTyZBUThH TFV6a3smKEIrcy0NCj4gJkBvfipaPEg7fQ0KPiB6Q1cxS1NUdzBpdmVYIzZEPj44fkAjQVhKO0JP fVkkNEFMbWZxdSZIS0Blel5nekhITkFAZ0l5ZmshOEUNCj4gJWA3Zkt5DQo+IHpnNG42PVQ9OSp4 cn58V3hgT0M9Rih1bX17dCRWYk02b31FZ20/dz5MY2V5b29rRkNoPHh9bkNOVjN8RlB5DQo+IHZ0 RFUNCj4genFAKHsrJGxMOX45U1Y4N1AmRE55WX51VX5JUVFwTHNLQ05Udng/NyhnIT5zbjdHXmtV JGAyLQ0KPiBzUEcoSmRNMShCeg0KPiB6LQ0KPiBObmZiO0MzVHhORl9uMVQ2aGhMaEBJZ0lkKUVr clk7bEpxV1VeSHlSNnR+Vz5+Z3t3Z3VKVVhuVW9XOSpADQo+IHJfRA0KPiB6YXpCYSg1cHNXSnFp Nzk2SGpRSTJtckl+PUA9VW5DbVNmYjFZPGItDQo+IHFjV2NiYmlfelJnbSlFKjh6P1JwSlRlIyk1 DQo+IHo9WVlxK0YtDQo+IClxMFkxbXA3bklKZE9FdzRXPlpsdTU5IUBiUnl0YUA9JkBWMko7bDM7 PCU7KERSaik1SVg2RCY3MEsNCj4gekQ/c3krNn5NeDZzT2BoLQ0KPiBidDBGSHk2YylDbSpFMFZ4 a1RtaU5OPGBqZU4mVTQmRV5SJG1iU147K3ZKd2d3KSZQPA0KPiB6JUt7T0omXlZ5c1l4VndIIUJl MzlISVpVXzYlQkskK0hHQiNgYEUhIVF9R0ZzUzZKJlUzdm05RSo5S2RxDQo+ICRNYihoDQo+IHpC QldJbG9IbkZhWnFPQXIrV1JWZ04qYExjPClrJSpmSCRuKDxXIV5eRXQxUTtAdG5mR21vM3d9NXw2 Nw0KPiBXZjE2YlkNCj4genV7NyhUNko9KyNLQXpZNE9XKXdZLShkN2JFSWJMNGlDQGN0IWpqQmZw aEtfb1J2eUZnUnUkQnFje0JrMTM4dEN+DQo+IHokSmJ1WG53NW94PmExUDNWd2JJOWB7NnFOeD9k K3pKZF5na15oJlFMbzxCYHwyKDM7aHR3UDdPZC0NCj4gVyNDTypXS3cNCj4genIkMzNZOSlkPFVP WEFlJTRWVyt0NzI3T0YxYjFea3VxQigzIUNOa0dXXmNHQVY7XlVXMkBZRlV1aQ0KPiBPJSZuUmt1 ZQ0KPiB6QFM0KWlSa31jWT83T0k+cl81VWB0I0tGS2c/KmBCWk13QnE9aF9RdXJZM3A9JShtejRl ZFUoQTcyezEwOWQNCj4gQTJ8DQo+IHpxRXU7JGRSMGEzKVFxcFdVPC0NCj4gUWEyQ0V2aVhYQVhS eFphb24+fXJkWGA2UzhRR218ZzA5QnZWU3R1d0c1V0txZVQNCj4genR2JHNxSDhRYT1TSlRrQUEw UmZaaGw7bHQoOGc/UUN5cjB9PylSRjdCXytFK2hkI31WPWJyLTRVNVVwOGx4eXNDDQo+IHpONktO P1pVTnJWKmNvc0N0dihlNW89Wkh8O015SDsqVllpK3YhU3Y3d3NGamJSQjJUI0htN3lxdyRVNDJS DQo+IHhOJlENCj4gentXb3hHNEFiM2c7KXpgMjZYe0xwLW4wfjN6MWgwNXdVLXJJTCF2aXpKZDs7 TDt7ZigpYiRyRkB2aUVnY3J8cyhkDQo+IHpjbCopeyklOyQwK0M/VkZ4ZlErJFhNS1lBNns9Uj1N YjskXmREUilMJFdNOChSck1rNXtGO1d1Wlgpc1dIDQo+IEJ7N0ENCj4gempidl5lcTxfcSlAM0c8 X2lQOT97aT4wcFQzXzBRWW1EQWtoVyFYTE5qZ2lDSzE4JCt+cUZ4LQ0KPiAreGBYYCVQQ25XQA0K PiB6XlJPaWxDfSltMSRmYXlidi02bk4kRnJARUxrSXxCQWViQXZoYXMyUntaNiZ9c19QVFBfbDh6 Z2BNKHZKUzdkXkYNCj4gejU/RDVNN0VkRSojJkU4NjFDbnpDcyZMKSs/T3EyUG9KYE9DNFJwYSFB SXdQJDdKQTdSRUVgdkUpX04tMnh7LQ0KPiBzbA0KPiB6PG5rUVhTP2FlfldIXzFMY31LJXw5bHFP XllrYSg2VkhNZm5xR2Q+M3c5UW15K2xxfXFtaEJuWWUxfD4NCj4gZCFoYG5qDQo+IHo0fE58TjJI c0BLPzZnbG0/M2xqWmNDej07SkdCdn5La3AwK1Z4JHY4WE5YcD9zMXJ4cEkzOUxRaE1qRUVadX4N Cj4gQUsNCj4gemdLRiZUME1gU0EqSlFqbUlxaXFHJVlHSGRmRm0yaXorQzlQYlZwZD8xYERjMEVD TzdqPE9FVz44Izcrfg0KPiBPUEFQSA0KPiB6PGBTZHYhYHpCNyUwRDJTPSVGSVomYkJTfV9YUVJD KEk/NigoeFp3akVtaD41KFRjYzR0fEgzRWAlcWEkTTIpUA0KPiB6DQo+IHpURCpIbGdQemokZHh5 S1JWXnBkPkZlakQ7NTlfaktQY3xreEV4PnMhUkgydTgtKXN8SmdiYzZTZmBwaFlxSjFgZA0KPiB6 Q3IjVU1tTm80SUxET0RaOSUpKmMkJVZFfW80c0dUWVRCKUY9ciN7ITJKNWRNPiFfZDJOMm0tDQo+ IH5VZUxfU0JkblMzDQo+IHpHT01BczJDcEtsQ14hMEA/QUlybXJNNXdwbVBEKU02Vm9jYlY+STI4 WEJVOEowUTtmP2glMWtWV2AwDQo+IDkkUT1BRDENCj4gemo4KXVBQylONiF5YlE7XksoZm9FQDc9 VVcmS2h1aVhgVUsjUnB6Tjd7P3J3OVJwfnV7QiExSXRZXy0NCj4gOztkciNXYg0KPiB6JWRJSmVC fWdHX3VCYnBuV0RRa2pIMHtlKkdIXlhIZEJ4RiYoPShIdWomOHJnUHpkUVpIQDVwK3NnViMNCj4g bzZyZDFSDQo+IHpZZkNSa3R+RlJ3WEx1KkJRaTNgeXl8Z3cqd31ibG4xVERhQHVIVVloPn00bmsy RHwxPjU8QlRUNi0NCj4gZSU2T2d+R18NCj4gejJENDJsSTVAYjJBYExLanQtelFzNytaOUt0c1l0 ODM8ZiROeDhNKVBmQVhPNWU8PUd9UFNtPmItDQo+ICVIbDlyRE1Efg0KPiB6YklrNTdQYClINmxH eGlYaH1zdkhxITtQXip9MFlVMHhPZnBSfHp5MVNfaHlPSnlqOVZTQyEhJENBa0VpcDdmQDkNCj4g end0cFBOU0xeS1VvSjNETntjQ0dxa0t9alRBbncqWEdSU2Z8PFJlUSpkOzRBR0FaUmtDczI9SX0r aCEjbmcNCj4gdnFuXg0KPiB6TCs4QHNePyp3QUQ8QilyVWNuKlBwJVVSWE9EKnF1SyZDSFIxdCNJ Nnk8SUx9WE9BYEFOaiktDQo+IFFoN2MqbHVNVVNqDQo+IHpPJnNGR0llYUxkWjQpTDJUcit7JGRh KlAkSiVQR3ktDQo+ID08eko+VlhnUk9tfWBtSG9iTzQ8ekBzYUVZQEJWR2dgVE8NCj4gemg7NEcm bWxaZWh1blRzUlEtN29oYV9Lekk8VyNnOXY0Snd2M2JnLQ0KPiA/K004Z2NfR0YjWWtsZShAa2Ey byplYnhkfQ0KPiB6ITZCPjd2eUYmLUk0QmQ1Qk5HVS10dnpfdE4lVS07U0ViZ3ReQSolPT4tDQo+ ID1oTStvM05iP154ZnspT1hYS1lBMWwkDQo+IHpofXJGcm18RSstdHFWcX1pSmFtN0klKnQtDQo+ IEEwKXpqWnskTyh7dT5MenZXYUY0V1Y3T1lYR0FHcEpKSzllOGdLRW4NCj4gel9nZjQ3bzBzQmdP JnVjLT9EVH5kTHY0U05wNDxQO01PZTRiMmd1KmpOUjdqKVhIPCRDanxNQUpDLQ0KPiB6Tn45cFRj Sw0KPiB6aGJBc1ljZ21xND0yLQ0KPiBjc3c+UVFYN056KjQqVzIoSiFuSyN3KiRHKEFecXRXNkhn QyRaYTJ7VDBMN19+JFh1aEomDQo+IHp4N2RpYlhNSzVsOXpBNHh7RTJFKnl1RHA4IT1AYCZuZT5H PEwjYnJZPF9xMClCTzR+YSV7bit4a3ZoS2I2DQo+IG5KTFANCj4gejskc08xP0h4QHhYemhxUnNq RihkPF5qTEM9WF5ZRD9sbCZxVmsweSsmP25jTCs7RX5kR2xjYmkkR3cxI2FlPH0NCj4gYw0KPiB6 KiRsJUdnb2FAailfNjV6IyZkPlE/cnlFKjF0ZCVed18pTChXVjMhfkdLNjgpaDJIbjk3fWReTzZf JHdJUg0KPiBHMlAjDQo+IHpISG4/KkBHWShiKUJIXytPdDJkZjVCX2FocTEtDQo+IFM0R2pubzd2 TFJCSkZaa1R3YEJqbG8rWl53bXJNZXZXaT1nJD8NCj4gekJ+MGgpViQjRXV1cjhjQjlrSXVBUnB2 M3dDIykhYUE+WFkjWG5zR21lNzlUSipfd0VQPjd6RT9UYSZgY00NCj4gJms/Vg0KPiB6P2UlTEtV eDM2cEp2PExYQXZ7YlpVS3FPeSRUYk9lMGMlKDlRQ1A2OEZRbEtYVGhxITBLbilZMElmYF9yI0AN Cj4gbWh5DQo+IHo+fmRkVEQjVkglN3lyXmF4fGdkPFRgQlZAckhfLQ0KPiBCeV9JYyNVTnorOUVv TTM5cm5hSEI2VFBoKiYrQ2QhcUNsX0QNCj4gemZgbWtFTWV7T1Z2YUBDS1lXQjk5eSohNyhSazJa NEY7dHtYd2tWdDx4MSF5ZmN3cjZxcTdpTVBLfklAemFQDQo+IEpqJA0KPiB6USY7VS0jVDtuITlO TjJiJHpVcWU7eilUZTcoSTNCLU5VbzJ3VylUXmc3SCYqPy0NCj4gWFVUO05eQ2I8TlY9OHhsdFd8 DQo+IHpZVmp6VUFgQ0NDJUdeUyZTek0jfkgrJHlfc2F2WS0NCj4gUHpYbVdVfTNHaE93YHRoV2VH UnApTV53SCRPRGZiTEAkVDMNCj4gemYyTnpHY2d6SklzdjNMWWBCYTFIc2FJbDUrbFMhQkg9Rz82 M2ZRKFZLN0ZSKyMqTXUhSD1EaTdrWDs9JmhGOSFVDQo+IHokQzNrVUt2VTU2QXtVaW1ZWWUkQWJo Ki0NCj4gNj94OCs7PGlVWHB4bXExczVgUHZgSmslKkpZeVlxJmBQYiY8N21TdV4NCj4gemhkNm8z cloyIShfZCluTmw+TV9lWEJXZzxxRVQ7LQ0KPiBYamlVdCpje1ZKKjdzRkBnZnxQb0gjJjE+PClg O2dkTU5wSw0KPiB6SStwVXNkNF56Iy0NCj4gZVllaHJyR05ZVng8MFRWNmlfQWZxMSZAZFpxYGVa cjNKRDE+TTlVVVppUjdoeGNrPXZROWshDQo+IHpebU4lN1I/VFRXNUtzUnpiKDllemo5K0laU1di SlFDcj1VQk5MOSo1ayt5XnlTYFhaSVlIfkh1JD14O3dxDQo+IG8qLUINCj4gei1GeFgleklmdjE+ a0FPdik5ajFOMjRSMGdMYUVrN1FaPz5KdmdmQWNqYENFcHRpSDxDZjc1XzhgMXVLfCZHaTlgDQo+ IHpjNU18bGQka3VDMHY7QVJwb0E5aDVBVWBKZFIpNEZIdWN6Y0x2UEJPVjJ9SXF1PCU1V0pIe09K ZjBLOExnc3YNCj4gQEINCj4gelphSWp4cTNkKHwtDQo+IGtnK30+OT1yYzZ+YjQ+dHglO3BrZ3Uz ZWAmbkJwI19FfjE/bDR3JDxPV1Mjdk0/RiFsNllRYg0KPiB6aGlteUtBNiU0KGNeMyF1VzZMQHVJ USEwZy0NCj4gdjZmUTRTJDgrUFp6dkNsJCpFUUgoV19nQHlUeVVgPntySGVSWlplDQo+IHpjREAx fjV1UDAqJXxZWUR3Y3BFRmhBVXtWaTQ+S2IrVm5vOHh1c21YQCU3S3R4OStVcj1QMz5+S0IoDQo+ IF9RSGAzJUwNCj4gelo8YSZBVGRNVkxkaE9zXm13Mk1wcFdjMnI+OUFfPT5IU2wkZGBKO1otDQo+ IGJWOVMmdE0jIWpqITY4bkU5Jkp6S3FzKQ0KPiB6e1hlJCMtR2J5ZzF1REYhZVYkejY+OWY0KUg7 RllsTjN9fkdXTzViWW1ley0NCj4gZ0xwQlFCMSgjb0IrKSkqJEh4VkE9DQo+IHpuR1hAPT90cnhg T1N4Qio/ZVNQISVINnU/KStVVSpVWGN5Y0IwQ19jVVJBWXZTR0FefllFI1JyMkZ4c1ANCj4gLUE1 eDsNCj4gemJDOWxUTzYrWW1RIzFlV09gVExwKSlMTFdKZSV0fUY2Wn1rSmZtQG4heVZSMj0yfVZm ZkpxRjk/MCMzMz5UXw0KPiBqSw0KPiB6cFprKjVAVzdgcE18PjZwIW9iQDtxRTkrPF99ZCRHUHpB eCRDNXUkPFI5Q3FtJCR4Jj5sSnM1ODc7NW4qDQo+IEhUYVg+DQo+IHowcUBAa05+TW5YK04zJl5z dzF2OUI+R2RNVH15UFU+ezIjVVlnITsjKSp9PFZQZzFCbVg2MWRIVjkNCj4gdzVKZ2Ejby0NCj4g ekFGS0NFKiY1I09kd14zO25BM2pVeCheNFoxTnI8aVhkaDl1RHt+X09VfnY8WEIoI2RxUVolcyZi RCZIDQo+IHIzd0lpdg0KPiB6WnMpdytWKT58Xmdpaj90ciN0azcxaW5UWipHX0thV1d7I14jZWZw ITZIUG9OTlVYZm05ZVQjdnMqQXItDQo+IGlQdDQzDQo+IHpKWkl9ZEd+TjJwP0VNO0wzekRxZ2hy b1J3STlGUztLVEk3cnpXP0FsbEtqKDNiYVNLX1JsZUR+JU40YGEmOSlSZw0KPiB6PUtMNU07X0lw VigmWGRhakRkQX0pYnFmOWwmVzFFI1dYKzJ0Pn02YXBVOTFHQHdQKXZDXyRSTSp1VXUNCj4gQDsz VjhPDQo+IHpAcylMcDk4RUJ9e3lwQTE7WlpPeXNreChISWo4QzYrKmIqTW54dT17MVM2LQ0KPiBA bldxU0tXZnFmSDYoTyNFeiMkUFkNCj4gejtNRjNWbERBJEFCWiVWb2VjWExSMXA+eytEa2FNKyZE SyVtdl8hU3k0YG8zP1ZjVEFASyE9YEhFM2UySQ0KPiAlKVBZPA0KPiB6PC0NCj4gOF87RXdPa2kp SzgwZCVuVCE4JmN+ZGIlUDNGJHNAJD8yaz1NVEc3bVYrQU1YZWNTPWw+c29eSHRJKW0NCj4gQFYh bw0KPiB6e3VCUkA8XjFhNTZoI0V+SS0NCj4gMXs+TjhYdSNYQns7RTkhajF3fEYjPGM2OTRIRmpe dDBnaiF7I1JQd0BIKytwZl52DQo+IHp0RyFHQHZwWk02I3p8MVQmMzF9XnRYfG94eDMtDQo+ICQ0 SEE1NDNGPiZ9KG9YPT92RH05eXRNYmttYEooTkRtUis3aGYNCj4genxIMkdXVDBWWGtzdmNxYSpk dD1zZ3c8cDFMcDZmWHhlfHA4Ykd0QE5aMFVeVEl2WUNQdVdWS2QqTih1DQo+IFA+QWYjMw0KPiB6 QlpOJEAwXkFhTnRGTl4mQ2QkKFNqIXVabSNwUVB8aHBXWmk2dXI8REp1QGdlU3phe2k/bFprejl9 SnBEKEcNCj4gSm9UDQo+IHp0O0Y2RHJKXzY0YVQwdmFXKUZwRilvMW1HdVQ4MiF7cEB7XlQ/ZGpO PFN3RFpBXlMwSUJCSllzRyF3PXBXDQo+IEhZR1cNCj4gej9jR0w9KDl+dD95enw0bDBSdHRZNlFF VlRmO2tiaT5hVDNoXzdVbjZnVlUkIVRFNzxXOSNgS3Q1UDFGaGNwcFBKDQo+IHpvUjgmP21eR2Zk Rzwxe2N4aT9KI0I/N2N3X2N1IWVmNWV4YzNTdTJZRXBoeigxNm5oNz0mM1ZiQmxzaVU7dXZ9DQo+ IDANCj4gekNlPVkrPmRtfUMtDQo+IFE+N2B2VnV5UT1iR2U9SjRHYVRIVEpIJSMpemFWdncqenlD dlAqfnBibUpPQkJ1QmFvUHB9Pg0KPiB6bUF2RzQ7KzVGeXB7TUhNYF5wYnAtNkRjcVNZOGhZZDh6 bGM+bSY2RDtheHE8SFNWc2Z7ZCZ4YylaLQ0KPiArcGhobUIrDQo+IHpRNGRAVHNiSXNQYWQ9IXdo N3I5a2V4cldTM2Z6PmR6Pih1KWUyJVpyPnhWZGJFbyFabXxEKkx8SEJubmBADQo+IHdOWkoNCj4g ejMqSF9EbHBjX0NUJGRwSXMre0FsRklYTj0tDQo+IExub3xkYiY0YFY8cTZeRUooanJTWTlFbjFM TWd9VXdUQCM7IW15Wg0KPiB6ZXc7KVkoYDU2aVhSZUBVd2xJcSk/dmktb1pGVS0NCj4gaz1RNFUz bndxKXIheyUqUGxMOVcwaD1VdXx3REAmSHtzYWRZDQo+IHotDQo+IHhtK21paVMkdFJBd3x9MlIz WEA+e3FSUHFqO2FWaWtuRXt3PTB7VUxDKDI/cDZNNnN2bzZxfipTYjRsNWVuYykNCj4gekdldW8r Zk97UTNUQmJhIVdsRztuN0FvbSZJX1Q3UTNRfSEpZGolVlRlYThXP2BxQD5LRGozd2J6XzRXDQo+ IE5GSjR8TQ0KPiB6SFR8a1F2JnpscEMkQlV7IS0NCj4gYEYhQkEhX1ZqKTI+YjttaipQJDF0JnY0 RmdaRVI5JkFxU0VecHxeKWMyZUhMbXpPDQo+IHohaFlBdDw/RCYmJUkpTUpXMVN6ME1Mbn1OYzhp bV90YHNOWldQUn5sbVc3YzxIYjJjVXFHJFRXTWNJDQo+IE17SWBqLVkNCj4genZ1NS1IUnZ2SXpT en1uS2pqeldrLT5yQnspcDJASWYlJldhLQ0KPiBfPURDIUFAOXphWFhhOzI9QTVZKlVvTEBDPl9D dA0KPiB6NzNvKmNYX01tI1RMWkY8Zl91MUNCbjYoSTVQbyhXKkNZN3dYWnYxWT0/dVoySSZgPFJQ OyQpYlhELQ0KPiBMQTA+JmtwDQo+IHo5SkF0JFJhS05AUnYkbylTJHpPR1g3dkZBJEUtDQo+IEF4 bDRDe29pSDdKX14+RHA8KmwkPmtITFJGbz4mQD5Sb1B2PWkNCj4gem0pQTMweWcySXU5ZVR3eFla RDFfMS0tPGR5cjw/UEJCO3lgcC0NCj4gISZ0WDdSQk5sTVViYkUwayg8RlNtWUlFakFMNw0KPiB6 Q3N5VDdIVEtrfXVBJjM9PlRaWndRQERAdCk9WXRDT21vKGhsa3dyRyEwYG1RWUpRREc8bVNBQXdj DQo+IHdXJHhGK3cqDQo+IHpIKXNVYXh4P0khYEhzVyRyTHg1Zm5xWTl1JTlFV2llPkc4RGQhK0I1 YkBUZmotDQo+IERjSlNmYigmbD1BWUdHTkFTPTMNCj4geikkZDdLZ3NfTUVYSF4wLWs2PkcwO2x1 aThKczI0NGwtDQo+IDxSYip9VzcyXyglKm8zY0AkJXRvM0JlVSpNY291ZXBxIw0KPiB6Kn59V0E9 SEJwa0UmZSFVR2Z0akI8TCZvPUcxQ2F0Slk8ZSRRNjh9SW10Ulc/ZUBQYDFvODR5UXUkJEZZDQo+ IGdKcChUDQo+IHpYJl5aSiNXbXxpPlZod3hCIThNMkM1JTRfQTN5eWJGZVhSWURNVkFubnJOemsx MlU1bXo0a3JXY2MNCj4gYXpkc043Z3sNCj4gejVYJXpBY012UCpjSX1vekV5KDVkbCt+MDQkb2Em YWVUTHE3OEsyN3dSKWYrNGN5UDZeKD5YQm1uKCs0fDgkaXoNCj4gZw0KPiB6VzMlNkB0QU97dXtH R3YpNF9FVjdLYmRGfih3T2xUKjZfI2A2dmBHPkBKeDU7RFB9bD01NyYyb0skITxKbi0NCj4gNila DQo+IHpjUnYkViRkcFN5VCNZSDQ1NyNjTTZ6PF9KQnlhcipzWWpuRXJtVUZhKGE+Yl5DQWhnaUcl KXtBXj40eSFvUA0KPiBNJHUNCj4gel87QWZEaEFTWD5YMiVDVVQlUlVRO0tTQURjJUFoPXBTMDE9 d3F9MjEycHE8VllycnR5ajEkKzMlYmQ3Mg0KPiBgYVc4bA0KPiB6eXtBb0JrZ2I0KC0NCj4gVzJD fiY+KjAoPmFJMil1OER7YipUeEN5UDAwN0toNiVhKDk1eHhtJjlJdTVQd30renw4fihfDQo+IHo+ bkBoSC0NCj4gQXk9SmVUO2I2PVNFeFJ2TExxQ2lFYHJGO0B2I003VTw1MkUyQyU/b3RvbUJYSSVp S3luWiVXZDlpeFMNCj4gek9fVVNZN1ZxM3IwPE48Nk1UTUsmcnJTaU8pTlM9al9aM1NnLQ0KPiA+ PnJGK1Q7eVE1NmkqYzZIaz4pfDE7JU1FcCFBKg0KPiB6dFFwVH5MJWhaTmAxKVlWQ3s4cStHQl9q cXBgaT1jdyFucSF0dEEoKHY8cXIqRT9menBQQj9Ka3MjI1cqT1RHDQo+IFFPDQo+IHp2LXI3NSUx eDZAQCNBX15IdH1DYiRJfHpgTU10aWBjJnxUVm1RWS0NCj4gX2EzandWOWwzc2MxaH4mb29LTGdt aiRBK0wNCj4gemZhUz13bCYkWmBiJj5uIzlKeGxtbU9GQnQ7LQ0KPiBKYmlhRUBHUyskVEE1RWhW UUQoJDB+cVRIcmYhKW57fCRzKD44MQ0KPiB6PllNTSNePWc4dygwTkFzdU1iREFtUzxqezllZkJo a3xTM0clUDV6MEZPRk8tDQo+IFF9X0MmOWwwdmE3Xl9JaGsheGw+DQo+IHo5MjsjNHJyc0ZkeTVr TWJtI2FacjJfO3t5RGpyfDFgcWJpYGFSbUotVSNfP0VpanFYJFVKVnshdTdZVXh1QzdLNg0KPiB6 bVFtTz40Yj4xfl5Xfn1sekZoNS0NCj4gT09HI0MxckdBJVlCaWowOTwoRHdGVzxrPVZDdD45Yk53 bEV2YXpqc3NyUyt5DQo+IHpyfFFeQT5nZXl4RyV8MTg0YHRoPWVZVX1qTiolcG54X3dFNlVuVXRE UjsyMl9UVz89bGdEPCZ+Y2h8K1YNCj4gIUAhKCgNCj4gelNLZ1JSWUN3eFYkaCskaFJZI25feUtE RkBAYXtVNUBoaSgyUUNZY24qQVVkdDI3ZWhZOH1zZyhkNGxSVg0KPiBAMj53cQ0KPiB6aC1vMlBY ZDtQfW5WQm1UJGxKNF5yfjI2Zm5lQkoyKUM2P21Cd3EtDQo+IGNORldxfmErVSlea21RXnU/QE8m I0hNfC10DQo+IHppdy0/d2NndEBwMHNaeHpVQjM4bXNzMDZvPmZ+PTt3Vy0NCj4gVzJSbzI0QXJB bClgODRgQXo4cUwhc2xfMEBpWTJtfEYNCj4geipwTHNgKCY3ZVA3ZGJWNyV4X3goK0cld0BUcE4z dno0elh0eHJRQ0tVVF9nQlBRfDl0WEs5Nz1OdjA8DQo+IE07YUlVbg0KPiB6eSpiYVEqWiNYeE1k OG8lelpXTkJsVW5nSCVLdUlMQTlyT1VjMEIqRD1sfWd6QzFRVT0rfUhVM0lzVWl2DQo+IHw2bG1P DQo+IHprXmR3NE10em52RTBsKWMmK3oqTns9WmU8czRkcWZWbX4zPjNEK2NJQ3RqYjNXdikpZG1K KE1hWnR5eiVyRw0KPiA2azANCj4gemB6WjBwQCY4TzwjX0BYd3xIbSgodFV1OD1zPXZTUk0oJEFZ OzhmY2JVb1dOMDFzNi0NCj4gbjIlR0MoamRlNHU0RmtAKQ0KPiB6dTkjNTxyZ3dHalRxNzVEKW9C d2IlenMzR3JrM0YrTkdpKHQtDQo+IHx9YnJWSmZJKW1iXmQ2WEtEKjhWX1Z9VlVKcTJIDQo+IHpA JTQkPEB5Rl95cnFrbXIkPUdjNkooYH08MnJVaXNYIWBIQXImZW5rJWBjayopN3BjNmFAaiVwekMr bjNsKFoNCj4gd3gNCj4geihne2A1dmZ0fnpDfldCLSstZHRWcjw8dk5BUDM0bCtMXylMdHwkcUNL NGZ3UTtGajM/eyhENkRYNllmNzVsKDVpDQo+IHpacWE9ND0tDQo+IGBnQGdISEZkdj5fPHRuZkpM QXtAeEVUKTRne18lVyNtYzN7JHkkQ0BpRHo8RGt+T24mOXM0I24oJi0NCj4gejNINVpgNEVCdiMl M0RqQlQ7bjgkYzVuZ1NLRD92V0Z1PiglMXk2YSpRQkJAMiZrfTY7clp7QjdpUylEblU+DQo+IFRk bQ0KPiB6PTBXPi0NCj4gIUgkP3VQdE5CbyVUdD9pbE1sQUF8QTsjfjtVd0k4RVpHTUhLNTlld3h8 QE1OPiY/U0l6NUA3QmhrPnNQDQo+IHo/QDZwX2FrWTZLaEk+JEwhdHFjQlo/KGFoe0Z7WmgrVDRC Xl98XkxkNWFqPG5gbz4/QEw1RlVCZUpsRkwjVHJlZQ0KPiB6ck9nQSh6cSp2RFZeTjghQmxeYXc9 TDNEP3tzb3E8RD5JSzJgcUxiSy0NCj4gZ3dSN2lZWkVZUVd7Wmp0WiY9X2lBVTtqDQo+IHp6aDk0 Y01lOS0wSChFVzZfLV9wQWFiY3QkLQ0KPiB2U3JANV5GajNuMTRRZjw0d31zMV5VS29jbktFfmh0 TX1aZDU+TWoNCj4gekM0SipHRGt5IVVlI0hmSXJtYyRWOCprWnBsJl5BcGEmM2lPI3VjYT5JWHB3 RTh2aW1ieU9kLQ0KPiBxNWhmZHZyTldrXw0KPiB6Z302K1BjUEBUWUVEUEVaRjV8bDRALWwyWSRW PEkwV3xEQTB5OUNtN1Q0dXd4VUI+bkRlODFQbHItDQo+IE5SPEkzOTVCDQo+IHo7JUhEM3M3TEZx NV8qUX1RTjVyI3MjPDxuXzI/Y1VgT2x5cG9sSSROaUVydnJ5ezA/I0gxKChnQzt+NX1FfnJQUg0K PiB6QD8kRWpLYnZ+PStLWXVNPUdzNUVkYkE/UV9ecW8pQ21CWmNIMSgoaklgajxIcWp+YD1IIyky fDhDSU9gQCYNCj4gOW8zDQo+IHo9bWVvSXVjeFU7RXpxSDdzMjxlfD5kfGdQVUZKVGE/aFZ3Vj1V LSRiYShNT1ZJPG5vR2A4LQ0KPiBja2s1PCtDRH16NmINCj4gelZicW4+cVhKYFB1entaQEA5c3E9 dW00SHYoVENzZD0rP0E7K2ArQWFiJHlpcj1ASGJVPjh9VTZqJHprVkQNCj4gTTZxZg0KPiB6UnJz KiMoU3cyQ2pDITw9WjIxZStxazgzNUslUUt+JEo1bEsmKEhQODtUeCQoKk8xfjY+UVFBVF57N0Ix PmUNCj4gMXorDQo+IHpyQ3VgU3Npe1k2e3NJJlE+UVRYKGRRPEBpV2E/NDl6SllwbG04RFJqeldQ KEBRTjIzI3M2TDE0UU41VVlRDQo+IH57fCsNCj4gel4/Ul4tDQo+IF5vUUtBcTFoPDJnM3NSRmp8 XjlqKSlGMFg2TlFiTjZjb3g5bWgoKF49eT9lQlhrOXs/MlYkYGdkOHpqYQ0KPiB6Q2FSRXxsKz5m Zk8tdyFkczh0SH09c0QhQUtna2Q7KXJneFkjJDluJHR7enFPJWhqV2JgNSYkeGViOGleS2FZQn0N Cj4gejNpUH5MXzJ8T21MYmNeJkRPWG19dDVObW5oOWl8JUxfSzwzRFokfj9xcEtga05qPShvWSpA fmxRamEhcVUNCj4gIVlydA0KPiB6ezB+LS1lczdMSFZ3T04paGYkQXlWRmI4Q3N6KXoleiQyPGgm djQofktze1JKcGhpLVU3U0ZkRHw2bGN9dWwmcWsNCj4gek42JkBvKEp9dUcoSCZNakl0U3lZfEVu SC0wO0podXlgJnl9LTA0OGVHPXUpLQ0KPiBTM2h8Uj5kfXVtKmd1MU1iZzA0Pw0KPiB6Zj9nJk4z UEhvdnFvMTUtDQo+IExlTmBPa0tTbWkmYk91Pj9TM29qKFUxN1JRVDZDTSZFZz9ja0c2NVQrcFlO QTY8NzMjDQo+IHpVMiM9SUsjVzxkTlFLMylhfE1PQ25+aTY+THIqZDM1dzV0cCNwSXhuTmp1MChJ Qnl0WCh4b2V8ajdpJVNTQyMNCj4gS0YNCj4gej1IQklPVFlNKHstDQo+IGNlJUd2blkrelleRFR1 KStsMSZYV08/S2R+PUgyenVNKiR4dylhYnJIUjtpezlucmRVakVPIw0KPiB6Z31iRXF6az5oa1ol eEYkTCk7ZXJ7fWNabz1Lb0lxfEMwWUI+Mlpzc2BDRnlvX3ZgJEFvQndaQmtOY08pNjBybE0NCj4g enlXb0UlVnNtZHgjMikjSkxAWX5PNFprUHd7PmhJZ1YodDglJWx9NFRYN2FtO3xGaGN1YlVwNGN7 biVVMw0KPiA9UHNUOA0KPiB6fDQpNXglWHR2a283M2x9X2ZQaUtuUVY8fUIoUk54MFMtbm8lVGg8 aCpTRlRDVXQ2WC0NCj4gazFiTn52cFhBfSNlQjNsDQo+IHpnK1VqPi1rekY+KG1CNEtxZHg9aEhe PGI8TmB7REx4cT5BdTdTfUdmK2Z6clFqanI/SWBVQUxyOCtufWt6LTUjVQ0KPiB6Ml83TGt7P3he NkBeQkVRP0Y+cT9UZk9SRWBTfVVrP1dwZXI+QHJeWWg1NktQY3ZoIUBfbldYeWteN1k9DQo+IE1e JWNlDQo+IHpoellCQlc5cDh1aVhUZlkjZlVQI3pQVHAtDQo+ICtRKEJqZ2ZNTD4+Q1JtPG1adlRh VlhqVkg7T2N5MT5NVjh3PlNSR1ENCj4geiV7QXhhc2d2OSV0Y1RwRTwqQmptKTdBMEplX0t0K1Ez JDs7bD9aZUhTWllwfmBeUXQqamA9V2NtP00+SHo/DQo+IEcpTg0KPiB6dENtKl9zYihsQ3E8VSY8 UEB7OCQ4cUV4OUcmUUt2Mnw8bE94cTh4YSooZGF2aml7a0s7V1pAb3JGMj9uRnsNCj4gTj1yDQo+ IHpvb3o/OTQyOVpQZXU0SipSQ318VipjLQ0KPiBhclBJNTNsP2hQUV9Ua2o2dUc7fmB3QDxFV3BY KitrZEtxcnc/Q1pAayQNCj4genk/KzskWi1JVWBiMlZvTHZFeykzaC0hdD1CSlZEQWU7OFU4aFNy Nmw8emVWaUtWKEx0YDZheDBRXyFhNF8kTEhlDQo+IHo2XjBndTF3OXRWd0crfWBTTFZTbV5tckly NXImPSFMdSgxQ2tgYmx3YERDMiMme01vKDFTOGFvRyRjejRJdFJKDQo+IFANCj4gemR2dGIkU0Nv dVU+cURqUiYoOEZEI1gwaGAhZThGQ0BnJjtGbnZUZmcxR0NIWSFzbDMzXmkpO2NVUHY8M15KMGgN Cj4gaw0KPiB6I0pPY3ZhZ2Q5PXdAMGZJIVk4ZE5yV2R7PHNMSEpKc0AldH0yJUprKjhCYk5QK2dJ OEF2RkRJMnMyalI2MHBjDQo+IDtoDQo+IHp4M0kwLTcwRChtJngmfmRKNy1HfHRkfikzPDRfMC0N Cj4gJERDZ0hEJCFrO0g5cDRDanIpMGJXckFNbCUzSyRJRSVvS1cNCj4gejxiKFNzO01nTDJ2bUgo S292R3s8bCE9OT9ldXlpWCUza3RMUm9Qa19Vd2JZdXNJQ1BSbjk1cSVIPGgoS0JDDQo+IDZ7TA0K PiB6QFFAPitMJSlXcnloM2FudEJgYDhybioqaDw1QVZNQkdNZ3RhOylXQm4mNW1wI1olKyQ1QXkw VEhgSQ0KPiAzQigkVj82DQo+IHoyJWtNRXszZmhCVTdTdzRnTDg1ak1WbFN1KVZBcGs8Kn5NN2xr PjJmVE49dzNJe0RoLVVHIS0NCj4gIUQ3RSM/dDBvRm4NCj4geik7ZmktRH0pTlhnRChfaElrTjJL TmEqUlZBaTRhdkByM3EtMz4/bjx2ZmBRRlNzb0FhQSt9O2xTJCgqRVJNOXVDDQo+IHpxfiFaU05L bXJFaE5nbC0NCj4gN3ohSTJeYzBhVmN+fVBtbDEraG45VX1pUilFcFVhNHN3eHFLSEdKbjB3c2la TTZPKUMNCj4gem8yVUVaWkFMa2ZmOW4reXhndmAqdW8la2FSbjNPSDI8fFIhMT1rejJQVGVwRiVf eD5GMUt1RHkpenskNjZ2Kg0KPiBgKg0KPiB6K1lWbylJcW9qPmJ3Qzh8Uk1eXj9RN0RfNFZlUW1Z P2V3PUR1OFh3dWd8b31yPV56KCpQNEE0ZkdsWH4NCj4gVHZ+N3BHDQo+IHomK3l3aHQtDQo+IFBJ R0ZSUHUzRUd+ZWV4eig3bXZ4VCtQMkYpYztieztPQiFIMH1xKm0+Q2EmazI5cj5NQUgzdy19V1MN Cj4gejhfN2VBPFRfR3lXaSh4QHZIODVsNGE4fGkrIWBKMVBsSChQUXY0P3REUDVUcWtjTnU5TGZP Mmd7OUhqI0pma1VgDQo+IHooS0RNN1E7MEdTdT96alZ2WG4heUshKk1SI3dlMHs9TCZrLTkpPC0N Cj4gdl5zS3ZjRE4wMkdYekxIcUQpdW1UXlRYeH4NCj4gekltKmkwMCh9V0tsb1d4ancqfnNuJD5s OHFpKkYwYE8+cyRseUtrM0BkQyNTaSQyZ0p+TjBzVj8wZUMjfnMxYEIpDQo+IHp3MEUzWWdXb3ok VTQoKkI/Sk8/Z2QtK2g/JE8oR1RXa1hGMllzOGBVST49NlU9PTAlKlQwNS0NCj4ge05LaiRKZHFF KkENCj4genpVaUJFaG5eekFSYlJFQ19QcSFSLWVfQ2s7V0VmVUY3a2RqQlNMfjl5ZHkjNzt0aWhl bGk8e0g1P3BYVkImZipaDQo+IHpDUSh7bXdKIX1keT00b2xzOVJ+TT0/JHxeKXpeal5oWWYoKnc2 YGp+YWJsPDEtdTlrYyMtZSh3eTR0SDFyUktWPA0KPiB6SHw/cHFpRj9Mcjs3IV40IyV8K1YyPHYo X3lTOTE8dkJoc0hpRkt6QTl2SUNvPD1DRih5UWVDRC0NCj4gJnAwXzt5cHNtDQo+IHorND1YS1Ep US0tDQo+IEZeQyZAJFBte1ZMRUxsKFg9SUtQVjYxSkNjT08kd0k3Zng+NHNwdUdkKihEQmFyTmJo OH1wSjcNCj4genJedzxPc0heenBYLXdQRyF3VGxeOEBxKUhXKClOY2wrV25kPFEte3dgOXl9Wkh2 blFRLQ0KPiB5VHIzaiVOXil2ak5BSQ0KPiB6P2U/b0htPDR4QkNrRj9ORTlNdjFiaH5mR0dicG53 dnJPNldTM0g1JmtTanZ2ZyklRFYwSDYxMTR6ZGANCj4gUERAe1A8DQo+IHojeHppd2E2e293PnF9 SEZWVF45KD5DT357NDg+OG9LOHdtTndPUkwxWkhxRkw3MF5kTzxxRTVZeHg3TnoNCj4ge0E5NGYN Cj4gelI7RzBVNDg/VTtmMjZiU25weElhNHN3ekEhYUV8SjZ+Zy0NCj4gck1WKW81d0dXTl88bnFx QzBwKGZGQjgkSSMybGRGUA0KPiB6XzZeMjVVP19STEczUVk/c0p6Z3d3fVJlczg5bXZJQTt2Kkx6 VWhyZGRaT316NTw+VzA/TUM9VTwoQm9QDQo+IFVafnU5DQo+IHo+bjc7Z3M2MnBtUSZZQm1WdXtN RituWUk3QVMhUXglN1otDQo+IGVZaTt5MmRyd0tEUWxqIW56KE04UjQ7cSNLSzd6T2UNCj4gel5G Vn5rMXQ9PjJDdVg7aCUwcWFFSU9YRX4rWjNQNUN6VGBhUjJgX3lENjtyZnNIP2J2NiQoQHlSNH0p OytOZUENCj4gfg0KPiB6ZnI5YntKektuIUVpYjVDTTMoTF9APzQyUHFrI1RJKGgzaEpYfmgrPHE1 eitVdnplNm9BZ15iLQ0KPiB4Q2okIzF2Pk8oDQo+IHp6Z0xieWF8T015WCp2MVpjQlozLTl8Uipp LQ0KPiBnMFooK2FjKzZYTjR9a0d6X29hWllOP0srdSM2ejF7KXEoOUglTEENCj4gemtyZUEhY1Z5 KzxIZ3t4WUs0KF9XIURxZ1gpbH0oTmppdXBhJV88SXtTaCNxOUItDQo+ICFrP2NiSV52V01APFN1 dzs5Tw0KPiB6P2lPTEcqdUVRc3FJNktrN2I8bTcjOz8yJSVKX0JCS15ZJUYyVzVQS3RHU3hXU1Iy US0NCj4gTSNYJkk3JXhmZSNVY0Q+DQo+IHohVypyekl5fmNBamUpKzNydilgKDN3fUslZzdJYkdH bmQhWHd1dnAhcChvcUszcmBsdF4jYUQlSUUtSCpqNjNZUQ0KPiB6Z0VTI3RJbmJxfE48djckWnp0 SiNocnhRQWlQJD97ME1RaEdQajVQREdgMW8tDQo+IGlgK19TOGRlZ0I2KCZlfDNUNStrDQo+IHpC dXNiY1h9cj02aFBHPG8+STFSI2U1US0NCj4gWVV+ckkmeW9aPTEhb2QqMmBAQit2cTEpPWxFSGFe ZEZpaVQ1MjdAQXQNCj4gejE7e2o8NU5rej5DViheVSg7SUVmWUktb1NsXkxVfS1EVjg2IXdJaVU4 RWdWTkNmR2pGcmlURjVicjd0dkcoQXs5DQo+IHpWLSN1Z05pKS1mM0JjciRjaGdSal9tJHMoaVBI Mj8zcmQoQ2wzJWd1O1MmKnpvTXV1XkNfTTtKKTVHVmNNbGNlPg0KPiB6SkIlbjc/PG8kX2ZYU3sq VHslWE0qZXtHSXZZNExBXmw8NyliayZUb2cxUHBJVGNDayNyaU95QGN8RHVHM2QNCj4gXmc/DQo+ IHo/fEZZMT95WE9La1lPKWNJOH5qekNSMFVsWW8/a2Y7X0RKfUB3V0YzYTxhO1dJfCUxJGEtDQo+ IFYrO1NqK3xsJSVgalENCj4gelk0JEU9aDZmdjE0P3J9X05vZlNjYEtwNGx6WEBZXmUpMVZUdnpk KVhxaWNNcTsqQlMmVXYyNXRjQVZ8TXpufGsNCj4gUw0KPiB6I3hpNVQ3b31rdmlCNkxkSSNybHoo Ym8hUDN4bDkxLUp4Zk1QRzVAaiR+cUB2MVpRUik8UmI2WVF6RT8qIWJqK0kNCj4gem5wS1Ruc1Yo bzdXbjlkZ3YmaUNhUDhtKzgwaWl8TipuPjJgI0t3PnNPNX1WSDh9bmhgbjJsQTBMbjM1anVlPw0K PiB9Qg0KPiB6cnZwP1FJXz4/ayhkakRAak5Jaztjel9XQmljVmlSSWY5VzgtZUUrIWMqaz0xI158 KUI5M3dYcmclTCMtZXxhKT0NCj4genhebDgoVzdlNDdzKnNIeDAzdSh8diZIKVdoaUpsJVBqeyZN V2tgfXlBaWNhUSk7MStLKXtkdjtNTUpyUW8tDQo+IE4pdg0KPiB6P1FVPF92P3hzVEhoNTNmYmVu by1GMFp0QHl1ZzU2UmBJN31VeikhOHhkQmVaa3dJeT8/My0zdlF5bjU8NGVLaz8NCj4gejZ1KShY aHxNUFV5Pjx7VVQ+c1FOJmZ1N15veWZacGxIfjdoMWY5R1haWkB3TjR2Wk03P3gqRD9eNEFmDQo+ IF8jVjdiIQ0KPiB6UTFjRSt7ITIpMHFsXikhdSN0YVdwPV5HaTwqOD9je05JS0MhO0pIb3JhJGp3 a0QjKzE8UmI0aT04MTVjNCZmdUANCj4gent8PjdmPFg9VkpgdCM/OHprRVRSdDtwaGtGKDE5dlkx K3M/bX0zOSpYfVRodTE7YzUyO0Rze3NAMT0kJUB9Q3BJDQo+IHokbForbTI7Jmw8JGxxaFVoWnFV ckJqa1ZGQGptJi0NCj4gJH0jZjZ7fWVfUFM9YE04U0c/PE9NKmN3fiEpYmFxNWMjfkcNCj4geiZF QjxkaSokVEFPVUsqKWhRM1hBaCNJaVNjanEmMDYzeTgjJG1hVj1VRDZAUzJaKDZZU3JRUm8oYSpD WEINCj4gVDhITw0KPiB6ek1PJE9sY2YyNl93RF5QKHxqKFllOVM4OHd1UW8pZWByJiZtWGB0ISRo NGIhP1lwbjxqLQ0KPiBZMD57PCUlN1JCMkdUDQo+IHpRSk83eW1SZmJsPCZFWkxwYD9KYlB9MWtu TFA7LVhwYD9IO2w9TTVATWxmZU10IyFxamxaMkZqWkRgeX49SFFGWA0KPiB6OXo4JUdhQDxATzg4 LV5NYWlkVCt6ZjB3ST1vdUx8P0dZLQ0KPiB1IykmRHh4TihxK3l2QHY4QShlI2lrI1kwaSRONXc7 DQo+IHpOSTgqbEdpUlR1TTNLY09uSUhlPmpHSW9KWEdGeENaY3RKaEgpfHBvZDU7clEwKm5ZeTxL fVREaVYhMHFkfVE0DQo+IEcNCj4gejJXTk1UWjQ4dVM8biYoJkJaQDNPIVc+KD82YkJacGVod05w SjE4aWgqUiRFMVZ0S0xwUU9BMmZTP00NCj4gZyp6Q3E3QQ0KPiB6MT8xSl83RUZ+MlRiRX1QJTRX OGFCO0JFPnhfcEYjeWYtDQo+IDxIQTJpVEdGN2tmTnhET2p4dlEpRigxaFo2b2VXS3NNDQo+IHox QyRmI0A9TiFzZnI+MFhiMzZfRj0pezFOdTwzLQ0KPiBDVVRYdipmWWdVS1dvdE9qVFRydCZFSlp9 TnE5azR3cjwybUQNCj4gejUhRTxmU1dSIUBQX0krdjgrJUdXSkl9Mk8rKm09VS0NCj4gMzQ/PVh5 JTs4Uk1PPihmV18xPUskKmYwV2VSMDhUTVQ3LQ0KPiB6TW49aV5Bflo0RWkzOT00OU9OU0owajlT UVdnJmNJbD5BX1ZrRnRLc2lKPEo1SndsbHhpfGQkMUx0PTwzemtJUjYNCj4gelNBSEV5ZVojZkRM Q1VXezFoR1piO2dueFRoSXhkX3VXIyVyOHlLQm4wbEh+Jl4zPkp7NjMjU1BDWTFYSHMNCj4gRGJm Qw0KPiB6Q2FEayFBLQ0KPiBxRl5hYENudjwwRH56SVRGVjgzSkhvVj05djE1R21udnkqKDdSeiM9 VEFxIXRfcylHR2Z8ZFA9R3FjDQo+IHpgcCl4fTAmU0Nnb2sjayRvNztRPD4qciV2SkZObGZiek96 IUstazRUT2NyLXRRK0FUdUFuZEdtbGxQS0k2TG5lSg0KPiB6dk88ZmwoczIpO1MwTCspWVJZaStX O0AkbVAoYCk2UkdoTDdyZzhpe1BlfCkjZihlfUskfkFMK0dBQUg2Zkg+OSsNCj4gekpkMyg5V343 eHM2RyNiJlJiakhFX1o4eCgxUFJkKDh9YHhleCl0azA9cHp0P0tKNkhJSyYlZE9rQHM4WGwoMyYN Cj4gZA0KPiB6X3oxQ3tjKG1WNzlfMiljXihHeGMlcVgoPkU5TmRZKG5oNkRQRUskJWEkS2JCKGIy TClTX30xPFBmJTtsXntXDQo+IE03DQo+IHojUjZFKUREb2lPXz5CQio2d1Y9NFo3NSpIQ2o3Ujxw S19YOVR6SSl5JHFfUjlDWkRGPFNlPVMqX0xfZ0EjDQo+ICNGZ2UNCj4gekB4RUJRM017NSgxJDEr fFUmNEFFcCY9P0w2SEBEbGU2eDI8REsqPnFyY3g3bW8jUlg1JUJVPyFmMlhCDQo+IDRxVHE8Vg0K PiB6JmRSclYmK2lYUXVXPyE5ZkdxdiQlKGp6IzUmS3liRjI0NTFlSyFGX2IjTmszdm9+dmJXRFFV cCZxKlINCj4gKmVoUXwpDQo+IHp1Rk05JkBtPi0NCj4gdWV2d0R5YiZiNldTRjlOTHB2YCpDQUVI byZQWT1QI2x+dE9BeyE+PkdPcjc9fUhncV4hcE1POSMNCj4gekRGYF5kbmQ5fF5GWjE0STgjal97 YGArUDdRfSlzMU1+NkJ4cGFNbS1UVCkyZGcjJnV4Z1IkeztRe2kwMHhmdjYyDQo+IHo5O0VrfSpM ZkNTSkgpOEMwdWxeSGd+RjgxczhFUmVmaz88e0FEKXBaVDwlVlNRTClTa0VXeE83a2MrJlpHZFkN Cj4gRSQNCj4gekI3fjJPaVc7alIzeHNgPzZCIWp2enRwSHVXYnViZ1RwfEI/bFh7Iz0pamZ+X3tg M1Z4V3Rjfn1LPXwxJiE5Kz1xDQo+IHp2a3NJbnBSZjVsVE9ZNUJWQmBpVHVtbChwcHl1LX5yaHlQ NkEtdXpnYWA5ZHM+KDNMdDxyc1BRRk42X0E3UWM1aQ0KPiB6UkN6c1cjbEV3YDNXZmBXd0dAPWs+ KUdzbSExNi0NCj4gU2lGQU1VN0BAYHw4el4pbnZOPmdoYmNaNkZoMTRoQDgtKlImDQo+IHpEOCRt MlRCSk1sakY4Uk9CMW9GIWdxe0ZONHN3ekFSU3gtDQo+IHVOREFSMldiPDZEa0VHcHs2Q3M8b3th aT49V2J2PVoNCj4genpqZC1mT2FKRX1vMnN4XkxiN0BBPVZmSG00b1Y9S3tzKVh+e3l1X3spMTZF Y1VfXmktDQo+IG57XyZSODh+TVA7VD1ZbA0KPiB6aX15NVZieGMwKURhWGk+SjtJMTBpfHpEd0Bp ZS0NCj4gQkIoaG1XS15SRXpMX1c1PiVFeyhPJXRuelY9MGAhNW8xNV5BDQo+IHo1cFJELVdhY0Be YmFHRX5hRHx5aVg2TzsoKEBocDVhcFZRbUZDWmQ/amZlXmc7V34jcDtYMjA8NXB2fC0NCj4gMis5 c1ANCj4geiZLalcxS2AhI0hYS0QjaTdRI259WHN1T3x4bn4jVU0yS2tEUGxZbD83TXRWNGlSZ2BX YjgxSlpTTnFkLQ0KPiBiOElwQg0KPiB6YSVaVFV5WV4+Z002P2B+S3QjUntkMHp4MGRsXjN3PCU5 cjVNMzt8P1U/aFpoNyU/NjRDeSgtDQo+IHBzSmsyXm58fnNWDQo+IHpENik3RkNudC0NCj4gMEFj bnIjVkZnM29UI0FENzF3Qzg1cilvd2JmTjJweklvVmokVXBxSz1DTHV5OVpWT1c9Q3xfeUoNCj4g enFaUj9GREQzN05nfGhpJmwjQnBrJT8oTkEpZCpzP0dtSWpMYWdkOT12emhOZ1FWSFFCcjFCeEZC JjQhfmENCj4gdzRTaQ0KPiB6X3EmN2BNSFd3RUs3T2xnJTFHc1pwR31SaC03eERYV3UkVHxDQEdR M0EwcnI5Py0NCj4gKzB9Y215YT9zYl8pPkYlclRADQo+IHpOYWNNVCg2Ull1VFJCRilfYEVRcCRs YD1yTmFhYkU2TWdSckMmWjlWQmBHTU0qUiRGQ2c1MWglc1hCLQ0KPiBSS0E9ZykNCj4genR4RVNZ JCgkYWM5cH1kSDExQDN0OVA8YVRJP14wLQ0KPiBBJDFBfU1gMUBlM1pZPTc5KGQhbSMpcEorRUww eElIfHJRVw0KPiB6NXlFa2g9Pk01UUxOdFomNXlGe2ZISDJgc1ApPnchbWhCWHA2an1VQFpsXkxz emdScjtDZ3EjfF9YeXtlb24/DQo+IGZ4DQo+IHoxZUJCcj1sQlJsP3M5VFVLc1cqdjtrPntVNUBJ QlRqfVhxVylqcntMbVNnMEc9WSRiTzdKcXBaZ3RMOyk/PnFabw0KPiB6IW51eHVAXzlYeFo+byVO JUtMdzZnaUtCeyE9YyNAWjEjNGE3diYhemJANVFWPXpPWFcoMjJzMTdiKFENCj4gSDZiYUtFDQo+ IHpkUFc0QWNTZisxYmI/OE02JGlQPGR5ZUBkIzdZUHNwXzc8WjVqeHBPSVQxUXAqZSRGbXZpTjw5 RFd7WUYNCj4gRkx9fEENCj4genlVWFpnRihAZ34kP09QNXU1Xk0pZkRyK1RQTSY3fDJyJn1FTjln M2dJQ288YyUhWUR8b2NtKjhNM0tkDQo+IFJWSUN7Qw0KPiB6KCVtRVJxOXpLOzd4Y3VSdTtvPSVQ NXxNfGw2bnMoVk58V1YtDQo+IEBPOGhKQEtIfT9jIzAoVWc9QGMjYyVxIzchRjQ+DQo+IHpfWS0N Cj4gOUsjP3UjfUJQJmgoZHBTfFpwakAmdCp1QWs7RU5yTHdPRjlga3c0SzBwb3xjKWlPeiZrP1hD KU51KWk9d0MNCj4gellGJG5aV1VnMS11Rj1SITc/PGY3dDdqWGwoc2cyQHtOKVEqVlI4YGNZLXQ3 U0hraXllcUZ5dGRjVm04X0R2WXJ6DQo+IHojTXwjQjhRQThWYFRBMTUmPSZ9eipfLQ0KPiBAYnxH MypAeXExNzBDNFNLYilhMVBmSDtGI3B7OGtCQzQjRHlZUk9ZbmANCj4geiZSVz1Ne19vOHdlb2Nq MnNhd153YTQlbFlzQmpIJWloWlpuS1dLU3gzITZSV0REMiVWSnhHYzdiKGUNCj4gR2VEVTNkNQ0K PiB6YVd8YEo2VCtPYCRFXzghK2BmbDlLfXxZZTBWP0NgaDE1flQqVm8oQnFXeDs3PktWTWE2P3VC a0pQdUY8WWJ4Zg0KPiBCDQo+IHopVDlrRkteKiglVElzdEV1cWtDaGtZSDQ1KHN3YVExRWVxdjFl ZlkrTCVPI2piP2tUUTRhRD5YckNnbCMqPnYNCj4gMDENCj4gem18anJsO0BKekYxcXRQWHRZbDQh NWQrYGtIRVN9Z241QXBrSD5HQSpVVWd7cDhYUTB7RmxzPVJVemUmOHZ6K0INCj4gXg0KPiB6WEc1 NFEoO2JoSjBYWFRSekNQQ0RwWnpXYCFJc2xQKXo1MG9JV251T0pAYX42UGJpUy0NCj4gakRJI3dC NDJnMTtzKyZUDQo+IHpmQE9xcmItODxGT2FLOFl5WEwkWjMkJUMjRyU/fj9DXkp1KWI/OWtNJUFe My0NCj4gQTVPfGw4USNQfTQ0SDdyI0d1OWQNCj4gekMtDQo+IEA4MnFMfCtVVXVrSk0kNDlzKjVC UG0ybSFVfj9NNm57b1deWTIhWGNaNyFhZTlDK2NgR1h3Z2Fzdjt3Uw0KPiBmMFcNCj4genRSI0Ar NnJDcTw3bDNJI280bWlWeUBIeU8/U0Fvb097LQ0KPiA/a1pzK3BtUUclVnpKQlJzPnJraiNVVkd7 dUkzVDUqYg0KPiB6UWNrKTxQY2Z3dCZnREp0U1oqKXtKSUY9ZWgwS2NLNmtJeCZYSW0wPkY3Szg8 Tj1YSiZkVitIRj1YY0QlWX1YDQo+IFg1DQo+IHokbHxQISp8SmtHJTNmQCsjNHxGKD0mfmhAKXRt aXAkP2BWMzZtWiYwWFQ9KS1vYzApXnRpQlY3WS0NCj4gU2NFPG5ucU4NCj4gemlDQ2FSJm0tDQo+ IGNXdjZEbXZ5JG5xKWJqcmpqU1QzT3BNbn1KZTlFfHkmSjd9N3w7cztnNEF6K1U3VmEpZ2FBejtT Jg0KPiB6Rmo2V1hEeFZqZitwNk1BSDJGfDRVLQ0KPiB3fnRkPkVMREFLN1ZsZD5ZZmZZfmVBVSNq Z05BeUU2cWhuODdRUl88eldJDQo+IHoxTmJQNVlqMWR5WSshfGpUe0tBNGgoVGdTMFVKZHQ3Kkwy VHFPIVZLUztTa2dUQiUpRVpLLVMhRXJHLWglQ2U/Sw0KPiB6RlcjJUl3fW1VLQ0KPiArTHBIMVNg MTF0ITR2e1U4QCpAfjJ7dkhiJmJwfmE4K0Z4NHpXQEtzXkV+QCgwK3J0UHtsNCUwDQo+IHplSU5Y dSZHWEVobkteVDI9RkZLaEd2YFFPOzUlTTEmaUVGdW48eztRenc4VThURTgkRUB7fXBhPyNhcyUN Cj4gV0hzYSoNCj4gelJxQyt5MXEpdEokSUx+MlAwJlZQKm88PWMmKiUkMyp+N2xUenxgNXZMWVQh JFBKRWZITk9xc3JZKCUmTHhKbSMNCj4gUw0KPiB6MDklbzA5SnFvd0BJOW8zKkIjajNUWCZ6JmFT K2RXRmByYD5wMnpPQElpQTlFTjhJT2xZYVEtDQo+IFBCSjJsdlJeYSgyDQo+IHpvP3FobTlpRjR6 K3gjPXFZKHR1IztfbnsoWk84TV4tckZxc2NpaGlSXyM3TThgeTc+emB5OG57cFdgeHdPLQ0KPiAw ekgNCj4gel8mIyVrJiNAMUdaXiFkSHolMFZ3OGEmci1MMFNKcGArRy0NCj4gemc/elhBOUNQcVFA TyUlP1ZMWlJhISNrYXB7WDk1Uw0KPiB6I2YoI2tHbCR9eDM9VGlOM0dNSUc4eXwrX19tK0xXQTdH VUhmNitlUWVQbTM+Y2JebVhgUEw3eiZ2ensNCj4gVU9fNGx4DQo+IHpjYXRuQmo2MHlYSTAkRHFt dCVsb2VGezZjcnEzelVuUUVTVEsqUFV5PmxaaSZHMjFXSlUwYDFKXll6QU5KWDMhDQo+IHENCj4g eiNEIShDOFQrNVYoczg2UlV0T09AU0BNT21LPW1CbCQqbW1nRmUqcEMhSTdMZ09rIz1BMWN5JkpG TQ0KPiBPMjEqVHAkSA0KPiB6cWc+TlZWSnk3QG58MWs7SVRIXytqOFlNN1FBaS0NCj4gVWhmI0tB MSp7SmBCS2RXMmNCVjZyej1jb3YmPW41Mih3SFp7DQo+IHpsaE91MChLQ1BwVUVjVzhmalc5UUdx RzMjWGtjTktmXihDJm9HUUx2SzMlNT14VzE4VytEcUl6czZDDQo+IEc1OXxnOHENCj4gemZ2RmdJ cWRUaHhTUVFpeGdZWiUqVylzNmRMfko7SyVZaXRmXnRVNTJUTiQlbG0zWjJZZ0tKU0hmd1JTSDxr ZkkNCj4gKg0KPiB6VldrVUM9Z21VcXJtQXEkaGY5MztLJmUzai1vI05pSlItDQo+IGRUTWhucTM3 VldaazRSYD1kenlrfTdPbT9ubWgrWUpFDQo+IHpaRGpJSWgjNVNMIW1GeUdILQ0KPiBqbylZejAh Z0ZAdyM/dEdWSzcxZVBTOU0+aipQO1dja0slOXlJbF95U0tOSGhSTVUNCj4gejdkPnU3YVg7QVdz SDk2Zz5PWGlnZDhjZDVVTDV5X0JlMUF6JTQ9d29UalJLX29UVEZgbiEmOHxfbyFpd2VmDQo+IHw3 PA0KPiB6O3g0cTRIfSlLKnRETlpoNEMrVHohViMteTVkNiFBejVBKUVqJDlHbXM7UndOJUxiYS0N Cj4gT3o7WDVjd19lI0k0YU1UDQo+IHpMUHIzSlRYOCZ5Z296SWA/anNYMk49UkhzaEtDe3R6Yz03 SksjYXh5ZGtKUUg5d3FZQj9uVGlTeW91ZWFBY0psZQ0KPiB6PnxrTkVPbDxlQm9JJElYPj58NitK Ni02Vko/Y198bjgjMWE1K2YldF8tcXxxO2wkXyg9K1JUb2E4R3VRY1p0NykNCj4gem8jaT5gKkpy OHxLVmRnSTd4Pl89dX1wcVFAcndwbExuUlhpbmxKTylDPW1ZNG5kdiRLPX1PKDZ4fHhPd3I0Tg0K PiBlfg0KPiB6aVc5PGcqRER4M0xMZihDdGBwOVI0MjtmRDhgR0gqSkl4WnlCKWlUT1ptNWc8R08z UypiKTtQVUlGJW9rOCNfSlQNCj4geiY9PFRZKD1BdWFSSWB8aDZtelZtS2lqenJYY00hfXVoZUhk RiNfMCkjdSFHYjdgWGNkUjxrM3kxWDMpJnxIQQ0KPiBMTg0KPiB6UFZxJjNifFR+aiEzfXJyaSN7 VG9nenhrPSFoS0tEd0l3R1pveiomXmkjWHZLOHtUbFdecnk/aGpATT1NZXANCj4gJDtHDQo+IHo9 SURpXm8qQytneE1PR3ZzMVhlcj9tfEQ1I09tYl9XVzImZ0o/T0tWTVY9LV8/b1YjVl84OyNlKC0N Cj4gQlEkIyFYVisNCj4gelJaYD9rdiZiRHt6MF5FJDBiPn5gYSlQfWA0WEtNe1YpWlgoayZ4MUxr eHprU3VwKnpGZ0NhUSU8MVJjbzAhfXUNCj4gMg0KPiB6WUtzfCQmaE9hPHwxenw8JXtkeHVmdjlk fHhgNU5PJkRaRElIWlMrfCpkZUU8XzU9KEZxNXNTJnVmWU8pOXwNCj4gNytzDQo+IHo7N3F0aSNx YiNBKio0cElJP1c9M2hjdXd1SXB8QFc1JUV3MXhOWlpBTmhmZE14KWpXMzgrPEhPNHhocg0KPiBu ejlmZSsNCj4gekYyRENSOV4hWmVNI0d6TGckVikrQyhwQiRRaz1gYz4pQ1F8UzxsSn4lOzVLYkN5 a0R+X2F+TnB1PStHMl8NCj4gNztPPw0KPiB6ZzAwT2gwSDVwMmR6QmNjdH1zKSlVYDN4P19Xc0lK R3gjWTZxdSRTITduYiNgSzd8PVFWJiMxKnJyVy0NCj4gfVR8X3VGDQo+IHpuXkVfZ1E2VyVpXzkj QHtpIX5NXlpuajYlanlmSExpXy0tDQo+IEZzfkdxMXhFMDN5aUheYTZQfTRNcHJDbUFqZ35IQCMN Cj4gekdDNlNIPTErVUomM0J6MUl9R1h7MWNgK0Rucjcqd1MyKDU3cHVGSSo0Z01sUChZPyZpcGxC JUZjbzxHYSQtDQo+IDlQPQ0KPiB6MC0xNzk8MjF8S3chQF44N2xhXjFDSFRoLQ0KPiA3REFpfExJ XzE0V1lBcERyVURmOHJHKmVfcHtTJnwofjNVMT47c3t3DQo+IHoxVFYxaUZEIWRzUX1sOHhaJjF7 cSZTTylqSEFOP3dROWpnTWBrZ15oazNIaFNUJW9BSG8pbT5jeWloJVFTDQo+IDNQP2QNCj4gejND eTZmZWJNbzNFI15QdndYI09mazlYRDBLTX5HUVQzRnxZcEdRcjZFdllGNDBuR35iXz9wPlc4TWoN Cj4gPkducDB6dg0KPiB6RXEmMDlfP3BhISNTK25FeGk4ZkcyYD12SntBKF8zekZANXtoSkEmPCNr eXgoR3ZBQnNgMzVpaEdMJXkrP3FjUw0KPiA4DQo+IHpSQ2FZYm9hemE/PkxBPm8wOGNpejhoSVI+ VTBvV2sqNmdhPDVFY3YqJUVHUj8hNXU3aXI2SSNoMEl1MjkqbW4oDQo+IGYNCj4geiluQFhKSkVY fEFxPzwoXmxVLQ0KPiBlQTdDOW9qTk1UcF4qbylNVng9M01IS2dWU2x1SFEycEApS3l8OzZwazI3 YHlmVw0KPiB6Y0QwT1EkNiMwUUdoSF5qaW1ue1VzIyp3aUcqJUB8b01CWj49dUF6KnN3bWw3dGpn a1B1K3Joe1l3VQ0KPiB5IU5oVVVZDQo+IHpTS1FadE51OFBsJFM/XiU3I2JLQ1khUFVfM2c1Wjdg VVNvIUJZVW9lc00pYHJRTkpKeDhIblJFYnM2Zi0NCj4gRTVmV2oNCj4gelN0cG56Til9JldEVkNn O2t7UUYyY1ZLS3ckdU5CWXpKaFQ/Vz1Ba3Nfck02eXFkeyFJe0o1Y1J3Z1prOFQNCj4gR15lfQ0K PiB6Kk9TbiM5MEM0NSRZRSVON1BGJkFDOVZZezsyc0Vud3hSSj1pRCkpd0BUMU0mKmhqR1hlPDt5 Py0NCj4gR2J7d2w7Nlh5DQo+IHpNJT1FZWJTY05NVCp1PEMtDQo+IFN9MUprKGdLRntDSmo9PWxS NCNadUVsMD8yPn1TK2BjS3o+WmE5d3toPnRJbitRd0ANCj4gekNJVGZ2UlJBYytVNWYkWU8zV3x1 IyZoZDJlS31yNDI/KzlyMCg2OW5MWURNaiNDcXM4T2pEcTRjOFBQejZBDQo+IFNePQ0KPiB6Z3Yz SHVWeVFjSnEoNkV8WS1QISR7XipkaFh2dzdJbGp8O0FvXmJ5cktDaT9iJEold31aKlZoWE9nTS0N Cj4gQVpUND9tDQo+IHozTShNfUAtDQo+IEA3cW8rYTgjO0BDfGtMV1FXeWkmR2t3Qjs+cDE5dyV8 QV51akRsQkl1cjA7aX1CbiZWUjN+YylsSj4NCj4genNubEBlMSh+P3hTRyhldUpMOSp6TGx1RkFI IVF5NHRHaz96eyNGPkdIfnRCSSp8U3Uhb3VBMTF4ejY5RXhfe2YoDQo+IHpVanZ+SGN6UjwwMGR5 R24qS0lzNDlRYHVpNTh4ZE9AOWlRc3Vmb0xDcko0fkdmUCM7VWhuMFYlNzY8WkJPWA0KPiBeaG0N Cj4genxEO15uclQmVyRZVT4ralQmJHxhNXVMPUMyUE0xMkwjLQ0KPiAkWig0Szg+RUZ3QT9RX2RK KVhZeVIybEVQZz43eUpAMg0KPiB6ezlGbXxOUz1zcmVxWTZKTHVrKWdnKDxYNFU1cEAjb1E8RWpZ N1M5VlJIMiMqNEd9d2ZDYkRZJClNZEVJMw0KPiBaPldpDQo+IHpUeCkldz9EbDtNSWt5KkYkJm81 akN4ZFRrKj58MWF3YnF+Qj9mWm5XREFCPzdWd1pYeVdQKW44KyE9YEUpDQo+IHpRKnANCj4genM1 ZS1MQzFSTExjbWd+XzA5ZXV+ZmFzMzs7fHU7I20kUCtDO0g7YXIrSGgwU2hodjs9ajkpLSNVdDRN eEI2MkVFDQo+IHojdkZ8cWVMcktTT1UoWSUqe1JiIytkYGpIY0VWVTQtDQo+IFdtXkskYVNnSENB eVc4YUZfRCghOyp3Oz4hcGc9akZNU2INCj4gelZIdCpIbGs0Vntxd3N0MFlQYzw2RlFEOHAxaGdX NSFLKmhsNjA7OW1eMDE2TCFfQnRZZWYwY1AhSXQ5YiEha0hPDQo+IHpmUTVVPzdfUVZpUVhoeXto VilTQlJqPVM0LVg2ITlBZTtEcDF1WFU+Qz8+dnlBaEo0b3szLQ0KPiBMKWtgdE1FbypCSWkNCj4g emoxRkp4VHgqOX01KThnSUd0NllLYCRWNipFbUhgMFpjPXlKVXw5bVpaZTVZZGVFUldhNHFyPj9h REI+Y1d1Nw0KPiBXYw0KPiB6e1lxIUVXXldYSnpLbSlvJiZKZWRXPFFWfj8la3xjLSRiOF9oNSpL IVBSbEs3OHYzblJjUFNAKT1vaSEtDQo+IHp3WWJMDQo+IHptPXlBeD94R2pJQSE3VWA7azJITEto elZleHBJS0o9byN1fSsmIzNXVmh0Slk7I0FEVT5SKWwhTSZgdlgmPEkNCj4gXyQNCj4gelRPQzRD UH5hcntqUElQXjtDclNzdyErMGJXYWk+MnY2Ym8yUTg2Z0gpaHtHWFhPZlopSnNEYiFMV3pHQSNa Tg0KPiA4JA0KPiB6THt9Mn1TQT5SZXg2S2t8b2wmXnJHbk5HRzRJKjcpcDZEPTxua05OeHEjflJ7 WT1aa1Z6WjxeJmtkIU04ag0KPiBHMW5BDQo+IHpyYS1vKFd+UFI3ZFlUcTshXzhAYWxLenY0ISEo fjhCYUhuVDxFVUhwS0YhTVJQbmAoUVAtDQo+IGE9MzY0c2hFV1VUcWUNCj4gelQ7R1d6ISktWkxr b2NQSiRCfkMmRHtaJjAtDQo+ID83ZnV6dChxVG8mVSZNfE0lSCg5dWFUSjt2dzMzX2hqdVo4RD4m ZQ0KPiB6elR8VzRfSSpEbWBDbXckKz1RUnF6OVR0dVJ+eHpIQileWGt3R1ZkIXdmWTg1I0coMFNn filoIylSeW1mDQo+ICNrSys4DQo+IHo7KlR1RkZWNmxqNmZRNEh7d1NTZkxBWmd2QzBEaGc/XjN5 PTx1d0VCSlQqLVUmYEtlQT9qfj99M3hBa2ktSHpLZg0KPiB6T2F6VjQ3X1F+fi1uZjRRbWJAfT5x dnp2VzQ9SCoqa3JDLWxyNmpOLTJMcHwyKzEtdn00cE5GSS0NCj4gcWkwU3YjQ0phDQo+IHo4ZE0r NVY4LXF9ek9BIVNnSDdgdnpZNUVqVDFyVEAoeHxudXMjPSlRT0B3T1V3eHt2YXtEaUwtDQo+IEIx XjNFaks8QygNCj4gejNIS3Y2MHA3RTdldlQ4ZU9LeGYoZm1mYlRRJm9FYnRXRGlAbDNKb2pIOCps NT1HP1BIYHI4fXdWK35ZYzkqJA0KPiBJbg0KPiB6UnxydWVJcHxvMkReI3NzMlNkOWxZeDklVF9e Yj95bV9ldXVkQjhFWXplfSMhUnw3U1NtJTRkZ1NqMzJlPTZpDQo+IGdjDQo+IHoxUldfQFl1aDNg YTcpNWhFaXxkZEBwM2l8WnMqR2owTG50T1JkQ1g+TVNLaXppNSl0bEB6OVZ3X1puNlVDTA0KPiBS Q2ANCj4genZvYHFrPkAwVTsjbUNHMilqREtkeHBPVEhqNChlUGtqUmJhcSl0UlV5anNLMzBLKWc9 Oy0NCj4gXjFaaTY3NVNBR1p7MQ0KPiB6PyswUUFlI2daQkkxbVMhXlF5cShZaGtHdXh3OC0NCj4g UUZRcHtackEkN21hMSZ1NUV+ekshUE1scyYpOU1wJjleSWtxDQo+IHp7RXRfI0ZLflRCNDw+MmM4 bUE8ZTJ5R0NKTzhAOTZ3NWwrc2pVcjQ+I19KKFAmXnlYNCp0aTI5IWw2alNJVndqDQo+IGINCj4g ekxoRk8tTShNMGhHPG9WeU9sckI2Q3F4YC0NCj4gK1B1JkVReCgpYVJaZmF2Jl81MlA/byNBaT1V PEM/YGY9I00/IVpeVg0KPiB6dz5JdjNHeSNuSU0/VlVrU24zUjxhRHJ0QjFWaUB0OStsPURmLQ0K PiBENGRxWEMqZ0khdj9jcFdmcWh5bnlGOTw3dmlVDQo+IHo7U2FJeWBJZiVCIShiRGVaaENWckko JXpsIzFnKnZfdXJacjltWDRZWDR9UkhVZUB+Rkchel8kOV5TQ15DcC0NCj4gKlUNCj4gemNjVik+ UVd6aTI9bTN6PntXfmh1amRNQXNvTihgNUgjLQ0KPiA7TmVSc20mRVBiXlpWNmpVYShjSUpAcG1s YEE1JjFAVg0KPiB6NSg8Z3JMSkoycXd5SzVCMmc0aSNvMVdqal4hJER7R15FXjwxUD9rSGNPQ1U7 UWYyYXItDQo+IERWa0JjVlFiQ0VwfShQDQo+IHp4Zzg4K0R9UCRza25QRiVmMlVER1U4b2Y7VDwy PkRzQmYpZ0RUTSpgJFRHZVpMeD08ZU5WOXA5YDwkR0hTDQo+IH1XOUoNCj4gelM0YnRxQnR+RFhz c1dENTV9fTVtcz9wKGpeb2ZSVz16Q3trVkd7UypYeUk+OEtuK3huYiRVUHJIOF5UbEgkDQo+IE1q Zw0KPiB6TnE1NTZqTHtFeDVAbmp1IWZAb20lcW1DMVB0UDlHKVJCQT13VDhhYEQtDQo+IEBCPVAk JTRScjJoJGltX1ppR1Z9UD07DQo+IHpjdSQ/U2k2RDh0cmhzYWpCTmEmYW57PiVkV3xYTC07a0kk S2ZRRmpuRnZiaXQlOFApRmAmLVAyNzlDTiFBVGRIOQ0KPiB6e1JqfHQ+TjllfUh7SWMwZzZrcWlV STsxQWk9fTc0YEtfNXgtUnhuYGZWJGQ1clVsNjRMcFBDbjN8Zmhhek5TMygNCj4gejE5WHNYeFVo cl82YzA2WDA/I0pWZDJCbzcocGQhUjszKlFjT048SnRpfmRUezZ7aDMzWldQT3QoQndETEtgfnMN Cj4gXg0KPiB6YG5zaSF5MklTdyZGKkhXZUBOMk1EPCEqRzBsUWZsMlE8ODchNS0NCj4gWmFNbmFQ V19nVmE+ZXZFNT5Nej9Fe1M5VXdJDQo+IHp6dzk3T1c8dXl3QSRWQnJOKWZiNipsJDxyKWAlbmc3 b0BSdSYheTt8c0FkOGlORmxoSj56YXR0ZG5ZI0kzJTsNCj4gRCoNCj4gemBhUEtuMz1IYGU1dFR2 I2pRZ0tTZ3F7aGk5R31zd1VBa0ZPWUJzZiZwfHNSZE81K0Z4O2srbmZCSFRDa1BUWQ0KPiBrcg0K PiB6dSZ8fE9YQEM1eEU9Pj5SdHFLMkRvQ2xwUHJSRGokRmVoPko/dDtzZFcqe3VuRFB8eHtyKExO diRhOG1qS1cNCj4gYzw8DQo+IHprZlQ3ekF6SSZCWll9N2gjLQ0KPiAkX09rRDdFZnVSb3U4TCNF ZEtLdVZ4UEUwYXJ2UUlVTTR3dm8raUJPNHJZM2ZYIzANCj4genZpKEglfDNKMnBNbnk+OXhQSj8j eHVEdjJgTFcyQlRGKHlTU0BUb1MzPytgcEYwbUVUMmwpWjR5PCMleDNhDQo+IEQ5VA0KPiB6RE5w XjJrUEFzaFcreiNYQjtvS0BHX1drZSg0YldaajBUUEJHe1IxJUFteW0rbG1Wb0s/aWxVRHcNCj4g SHAlN0hXUVpWDQo+IHpndXA7THdUSzdOR2YzJUJTSnxqYTJzb1BaTXZKZ0xhdmlCTnh6QCNvYmNL NVVHYT9JeHZzV2AwXm1eVTk0DQo+IFE+KTANCj4gejF5RV84M2lXKnJ5QzxLbSNlYWhDTkMxJWtl YUZiajJXP0xXUDdaQVA3RFUocSVSNiZGMTVLb05mRn1KDQo+IEhmY3p6Pg0KPiB6UjU3U25nYkxh bmxEVENFdG5lcFhqaEBOIW55filzPH1TKjlyVVFGOE0qZWZIYER9a3wjITZYQiZXUGxNPQ0KPiBO JG09DQo+IHpIfnllV2AkdztvVH5SUmtkOyk+eWo/YCM5bFhINihKRnlIVih+VlVYSSMhS05fekht YDQxb0RDdWdFSCtGZnsNCj4gXkUNCj4gentaLXU1VE1sKmB0MTJkKFE1JHUtMzBGK0dWaHdpPDtS TEpQPW0tTm4mbDxNNEc1N0JBXmBKPVAxLQ0KPiAxYFVNWCplcA0KPiB6Q0ArQmhyQzMhLUNJQi0N Cj4gPDMwRlBwdyFfMilwT3wjfGBlbDJ1bzAyZkM1U0sqbnFRRnZUO0h+Pj0zRmJGUlF3Vld+DQo+ IHpDV3xFdlJZP050Rkdnej1wKjh3WSpBZz4tITFsemRkS3tJYisxJS0NCj4gJXk2K1J8SUg+bjNt Z1k7IzcwO2Z5enNSaXANCj4genpfI29reUBLS3IpZD9fQFR4OF5QaU92VUt6TWc9WnFgJHowbDRt MVpPJnVJdEQjVkFlKD4jYUBZQDZzDQo+IFhRckAjQg0KPiB6MHhGezFHSmtSOUYjNiRpQnM9a294 U1VuUEw8Xk1eRUEzVDx7Nj9PUldDUDtzKDA+IVk1KHIpc3EoY1puZWoqNw0KPiBBDQo+IHojakpD MlBJTk1nJClTbm9WaDFqTXdvKjg4Z3heNjk7aVYjfHM4TzlIaGBEQFdlfVJuR2toe3olWFE3bXsN Cj4gOHsha14NCj4genV7SUdPKzdrWFlRRXhfWlcoOTleYkZmeVFqTSliWk8md0xYWWJCMWo7MlI/ cDBPZEpsJjh2LXk0TW0yai0NCj4gfDktcA0KPiB6ZDN0c3x2cSpPMzxlJXxkPWlpTTVEMmZjVmk5 eXBnREcxeG5De3BKTEEhbDtKVWojZ0tSTjFSMkdLNm85TFBidg0KPiA1DQo+IHpGMDtyRCRQaChK PTQ8Z1EhbSFifEF9Rkg3KnN3TGNUP3JYKTB2ITQxczteOUdzSngoXzg+TGZUYD95bFkoeiRueQ0K PiB6NDxFI2lQUXRKMT1BUXIrJlNtQUtBY1RUQk92NlJJYyNQaEd4fWJ5WUYjSmtPdUVQTDxibSp5 X1hnTko5eA0KPiBuWE4hDQo+IHpmU0c/LQ0KPiBrfUt5VlJXfTtYVilXO3RpZmxZUDxnQ0s1PGRY IzVoIyE2cksoKWg7WUtLTzMhej0/O28+Q0IwdUBBR3kNCj4gelNDMjJDU2BSSzJ0TGs9Q0kjYnVD ezl1UWB2bTFDQzctWm98Nko7STEzfS1iJDNOVzJgX3V9MFJUOVEzK2RkMGE5DQo+IHpePnJ4LQ0K PiBufmE/bVlKdV9ZPnE8Rk94bDxZdnt7M0xNck1DQGN4TFVyKSs1JGUqZEUmenpNQE5EeDIrQVN8 R0E+SWANCj4gelY1KWNvVUtTJSFZJms+V2hETTswcFl3S0tPO3NQOzMhKjRiKz8rcE9OUlQ9WSE3 Vkt+QSM+SzB5KlNVDQo+IGRsfDByRg0KPiB6PTAwZ1MhMXJBQmFmZllXV1YzOHp7bFY9eUZlNnp6 VkJhOWspZm5+dlh7Xnk8UEBKeHxAckVeZ3BSOEI9UVUNCj4ge1A9DQo+IHpxNXZIPXp2KjFDUUlG RXtWLQ0KPiAlZ2VVRVp6IWVJcUIyaiR7RXcmezMzRUVnaEBASG5ZUWdmJkRXKGBYV1FsUEBDSCoN Cj4gemBXWj9JNEg9I1hAR3VqckgqbW9RdE4/RD4oYzdgQC0NCj4gS3xRYiRoUERya1J7Xn0oT0F1 bzROdVRUJk5QZXN7USg9cg0KPiB6V1dfJjJvb19FdkwrVD0jU2x3YjR4ISl9RVg7aHYyTmF2eCo9 Tk1RUEB9QVpwXnlgSDcjaUAmJldmbQ0KPiBGQ0U+Z0N4DQo+IHpjSyo+O09BVj11V01iOXhubyZ6 KnJAZFFVRG4rJj9wR1dePnQjOU52JllSJTQhZW9BNWdLd043DQo+IHY3TDJ6QFZffkgNCj4gejsx ZGFabEhLYWFrQkQraFk4NX1tRilffHVoJE1gR0tAQXJOMjBWNz1jeTt+KTQtDQo+IGhacGdsXlM/ KUh0dDs8TVNkWA0KPiB6YTYwN3I9I3d8aE4/O3F1QitkcFlzV31CUHNXMHxVWmFtYik5OUJ0YWxk VmhYeyVOU0FBI2RBSUFONHY+DQo+IGNjJShkDQo+IHpDbEE7Rnkqc2wzV2MyVG4xOyg2aVNvKmg0 bndZMWgjKWNjLQ0KPiBsM3NVMV8kSSNPcyRLMF9UPndYPSZRc0BFUllDdk0NCj4gemttMCFpbSZF RU8rfEo8eTFjbE9raCF+KDBTS2gqaWE0Yyt3dGZOfn12YWV2VShrUGZnY1VoPmpAKzlAJnViDQo+ IFdoMg0KPiB6YFUwbCtieCFuayYqKSQ2YUk3Mn5GM3stDQo+IFJabFg4ZGokVzhSVjh2TTAxbDNQ fUUxQ35VY28qdCpRMGpHdW5lWktTDQo+IHpWezRpT0h7O1VMQFFId3goeCVkanVYMj4tDQo+IFV4 P3F6ZzJWYFpSVmMxd0YpdXY5dWg8TyFWeTF0UUpkbXNHYjdNMjYNCj4gekdBS0d1ejRHa20tMXM/ MzwhOUF+MlMxWWtEKTMjZkpxRDVHTFdhflpMfXlueUhULQ0KPiBqWWgxVjA9Kz14XjQlNEZgZg0K PiB6N2defmRXaitQWk5RQD45VDMkOF51ZT48Pz4jUGlaVmBNPG9PYz0+dkoyS2VCUCVVUWJJJTNh SzFoTDYNCj4gZVVJUG9BDQo+IHpEPGxnT3pAKndVNz5PM3Voe3MqVCF7MGVrPThmKjRUODN8I2ho KCRIXkJAOzM8ZjJtQG8/N21VTEI4XyQNCj4gbEN3SjMNCj4gejE9UX5NbjQ2MT9DMytpR24hVTFL THdxbU9Pa2E8Sz9GUDg3SCZLflIlKVp8bGNka3BsUUImMjY1cD56SQ0KPiAzLXEkcA0KPiB6Qm98 O1NHKk48VG1+M2Q5cTl1Qm1GRCtDfFN2aHRpRHt5K1B5R2NGYDxjTnI4TzxkbDM5YVpSK3kpZktN Vw0KPiBPXllkDQo+IHptSEIjQ1VMclc9KjVGVndpa31wd1RHP25WMDdKM35NeDRAajB4QitRV0Re MTFZR1VQNypCQCNINw0KPiBFZkMybll8N0ANCj4gemkqI31zanAwd25yTyYwdFFhU30kQUQ0e19Q TCYhMGVGdWo+clE+O09VbSs0X2FIMkJecD48VSZFK1RjRXoNCj4gJnhOQA0KPiB6dzBoYlFoJjs2 djdjZWBIVjxIWjhKJCFxPlBQSyU5aUdFcnBJVkJ2R2w8fGJzWWhXSnAjZ1hGOWlKfFZpa2RuDQo+ IGhRDQo+IHplWF8zWmxsSF5SKihFK09VSz1scVFVIXN3KzdNe0xlP1U2U2crMlkxIV99WGBEKWZk U2B2blNsTXB7a3hoJXINCj4gWHANCj4gekh8ajh9P2h3IzMyUntzZkxDWHQ1ZEc1QGlEKitZUWNt Km5iUk9ucjtgRjA9bENuN1lzcE9GUEcjSXI5MDZibDwNCj4gMw0KPiB6Zl48VnlHJFJXQUx0Z15l QWZVaG50dlJIT3pLUXU5WF5yVnpaMWlvbWY4KS0NCj4gVkVkMzFyaW1BMl9seDBpR2BVMUxDDQo+ IHp1RTspUjVTcDQ9NGJpUmppV0VUe3BgUGVWeSZabnUpX1R4T182WXxZMUFBMiVZKl9LMiVIfHFy U21YcnQ/cA0KPiBLSUMNCj4geldINHdDSTlPMGFQYzZHR141PGZEKWZBKVVzb00tDQo+IFUrNDY/ U2h1KlhrU3xWZiZob0VyO15wSFJvcWN7QkM+SjhLWA0KPiB6Z2Y3dkVleFduZWVXSGgxenheOVNR KmhOKU1sVjNHaHNwKEdxKGBkT2xlYGA2aT4mcHkhbXVOU2dnIVZIJg0KPiBecVdtDQo+IHpaem9P LSRTVjFLVXdYPiNwKi11K1g5Uz5ESzJrWWF7VCl+TWJlRkZgMFRvUF5rLXRFV1QqOystDQo+IFN3 NlF6bU87MCsNCj4gekFFPTlDbWlfbihUSk8mczw/REc+ODJ7QXBUMnUtDQo+IFgrV1Q1dUYhdWw8 VjNlc2tzfXZRS1NDKW1qTyh6TzNCe2BVbg0KPiB6c0AqNCkpM31IVzM3PD4wQ1J9PUpCMmdlKTZQ fSQ9RCNraTwzX0lxJjRoVEFQSDZHSlVKWntVejB+MmVSJUYNCj4gcDFqDQo+IHo/LWY/dXooWGd9 Y3JZSztoaWYleEw1O2BSczYyKHNtN2BXO1VGZGUpMSVrQWkxZChtS0w8bD9JWjg1cnQ5filqcw0K PiB6ST8jPjBMNkE7a3pCYk0kMGo1bD9sK3NCe0hBYEwlNW1QNzloJWdfdSVzXzxrJHNnZWRvdzdw eCRKYVQlSkkmDQo+IEYrDQo+IHpsTE9lOGF0Kz48aVhHMDBve31aYis9VjxLJlMxSGJ4KTNZMXZF bG1qMT5KSEotU2gzfXN3WkFIJCVKSiZzZy0NCj4gcTENCj4gemRJWkhaPCsoKyRgOX13KGpxeTdk QCk3d2ViSjJnV3BnPlIxK2J2dmU8U2tAZzVFUj5SdF4jWjBAJjFuMw0KPiBDO2lkIQ0KPiB6bjV7 dW5EWCNOKzB8WWVSa0FwcXFlZndpK29YfVN2d0B7S3k3UnI/QXA2RzlkdyhHUEl4KysqYHdgYzhU WA0KPiB0TEdODQo+IHpBMyljNHt9akIzZEY/YWU+S31hfWNxZHFCc2pSfTlWXnooTCVDcHFaa2VP RWM7PCU3b1A/aWs+VWBfXmA+XyQtNw0KPiB6UUI5cnp3Q0BubjF4eUt3eG8hLQ0KPiBlKXp8fTYl JTZSd2k3ITBPcHlLfGZNNXFhKWA2eTVnMjkhX25rZD9teUI1PD4yDQo+IHpydjF4PkMrR3Rqe2dv NWNyTkF2VkhOV3lpPHJGTT1BT34zVDQ7YWQwVX1jeXlRZ0JTd2B4cHdIKm89a2NYDQo+IH1kQFUN Cj4gekVoVCFzNCt7M0wpVERUVG1wUTJpN1RSdXh6eXlmX0RySD05dXFhYWkkfFAlJUpKRFhmWTkm VTJheDdicF9Bcg0KPiAqUA0KPiB6TFc4KnJqQ050XipoTCE7eyk/dSZSeC1ZTmtAT0xleGZZcX1h Zl92JmZoKU0hYyZ6ISppc1JKenhMJngmVlhLbD4NCj4geilGcGI8Nl5NektXXno4ODlpanM/WVF2 SE5xaGUzVUslaFB6K0t+dj1qfVBzTGVjRTRuZl9lKkZDRT8lLQ0KPiArTUwrKg0KPiB6ZTE9KHhT ODNVUiZ3dDlhNyMyS2tMaUI4bDFJJlJZZjkqTUx7I3BZQEYlIzEyV1dINDZyR3ppZ0p3e0tINw0K PiBib19VDQo+IHo8UiNhXkJnRGQyc2FnPERpfWpxVDFzTkwtY2dnXzBJUEJte3UzQz5GblVOOEJS e0F7UVNKcGFKTHh2VChEaWY+bw0KPiB6ZXk+d05wOFNSSUdPKyVXUjVNdE09NzFENXNxLS0NCj4g eWY1PXJmK0dQOSNfPylqYnZ5eVI1NXhsMEVjJXw3WkdtMEA7DQo+IHokdDx6VCEwXj9POFpSYlJ8 SkcjVEg1JGRFcXg9SXRyb0RjRiY0T253eStEZS0NCj4gIzROZmh5SiljM15IZFUhMnJVTSQNCj4g ekEkOEdBdFdMYG17UjBqZ19NYTtqT0NMUXh0X21md2FUYTRLMkxgb1I7SFlZdVJWcVkkaUBFd3RN RTljJFQNCj4gUW1Zaw0KPiB6QmBYPWdRSGphI0ckek85czBLZ2ZkOEFgYWs3dUZOTDkwWSVPWERa YHBsJDUlOEk2YUJCJUYySisrUjEoVGhlDQo+IC17DQo+IHpeJUt2fFM0Ri0NCj4gPSYrbW9RJmtu ajhKeWwqandLdDx4XyVSZHhfZkViYiZ1Ql5WMXRTPExiNUhGSV5UVVlgWTZPeFMNCj4gejVwd2lX SnYodHFxMnx6UHZZWXtwVF84cygqM1FkeUNhRnNOMk5mRnVCbklYMG1SaFp5SnFwc0AoUiRJa2A4 Zw0KPiAlaw0KPiB6aHBQdT4+bEFUZj9SLX5Ca34tZGhnIU51MmMwbEdDdE93Py0NCj4gMShrS1Bo bjE5NnlSbCUlWlVoVjZsMnFsPDV0YyhHDQo+IHorRCpeRXRTekp8cCZwfWNzfUVJSUA1UzBDbi0m KGpDMy0pZ28oLQ0KPiBCUjVEbSUrXj0jKFUme1JJT24+Zk9ld2RHPjsNCj4gekh5NilmMCpYQSRD N2w2MDQ3O0o9WVQjaXF2eStGVihTVD97WSF6dGI0NGpyNjsoIWZySyk1KitfRnwtMUxxUllvDQo+ IHpSVHFJI25RU1pyOUc7OFJsNyg4KkFjXldKNHk4dCtkY3A5UFN5eTRFVDhMUSUzUWBrayZFSVk2 N1paXl9qbVNuDQo+IEQNCj4gekF+VFBJJFFHfiUzbFIlQSsoa3J+Zyp4enA0R31qRyorZXx6Uk1I WCRVSCowODV3UWtORG9ZWmxxZU1wDQo+IHsmcDRuOQ0KPiB6VyRSKmg7P0JPckVxKG8rSlIhV3hD SEcyQXtwYFhVOSZuY1FjYmNDcVUtDQo+IFdJWjR9fD9DMnt7IVV1azFyWntQPUlVDQo+IHp6bHg/ SHQ0aXhCezxlYz9Uc1psX0xIdDlYYkkxS0U9YVIkPiFFU00xeWxoRWFGeEJVbEV2I185SW85biQ/ bHw8Mg0KPiB6clg8RXApNXg+e25jRDZoTWZaXnhWKXczKDhES0lzOHN2RD5VLS0NCj4gWTZ6SVg0 QCVOUDEhOTN8ISFrcVV8TzM2TzZ2DQo+IHpkSit8ZEwzTV4hUEE8bG9XUnVfcUojbzhCa3VwJXtt QT5jR0MjYFgkZGBjdE5qNkFHPldmPlNoY3gtDQo+IGBRWUEpR0MNCj4gemFIcys1ZTlDQypQQHpi MTZxVkZCYTApO2F7Ym5TVHt6NCgkVW0keStVMGhUQVpncTc8VXEzUEFUYF9sfW9YDQo+IDMqZg0K PiB6SUI2fHNsdGVrMXMzNiVQeCNVPD93JGE8YmY5aURAb15adGxDMHFUYUo+dTtwb30+NDU4bF9y b0w+SzJBbW0qUw0KPiBEDQo+IHppRk4pcSl+KylWRHdHMmE9KTROc0RSRi0NCj4ge3cpXjZ0OXZu QjtOJGdeTHsyUlVUSkpWKn0rdjxGNnk2I1pLWUVBJGUNCj4gendTV0x8ZjIoQDxOQU0tDQo+IFF6 OGFaOGRhdmBmUDtgVVZwZyopOWJFdDZ1cFdHbGkjdV90OyNjbENDcWhIRlZubUxHPw0KPiB6PCFu OU1PdztjPTh2JXl9QW9IPC1vdzM4Vzs7QFUpeT1QXyN2NjFTaG1aemRUYXMtDQo+IDtQY3xkaGBX RHB2NjZHMyZeDQo+IHptYFJrQSgzcCpYajBHfH1IUjVDVVZyTGVZRFAzJDFfPW16JEtvMTd+QDsr e3UjOCN7MWJZPkNUMUVjKHdxDQo+IFF2ZFINCj4gentoZDstaUxsMChpJUlFfS1zPXxOdT5TU2Jy eU5QVndRfWx1b1pINio8UkxkO3A1JCNjPz1eSj0rb3NLMUAycXBLDQo+IHp1Z1dpKj5zcG1oaEB0 KGN6LU5pS21gX3k7YkstDQo+IGVgIWE0RXQ8Q20xSmFOcTRMYCo/WjJZUVR+VE58PitKSWsoK2QN Cj4gej1kOTg5NXBkJUdDejBGPjV8eXNfNWNUPXZYcTJeJnZRZSZhc2B1fn0tDQo+IF4jRFY/aT07 aWs+SVB8QVhxZ2NwblYrKQ0KPiB6K0R2b2QmckIhT0pSZUgrN1VPPF5Cb08hbz5QYVQzYmReYkZt N34tDQo+IG57SnpFK20hZ29oczxtPllqfGlPOG9hLSFtDQo+IHpBQWNJZld5SmU4RT43a1dgdnVO O3otDQo+IGdjJkxsb0Z3cFF2KHkhU0MoPTtGbFBDQUdnUWUlVVMxaGV+enlgSWE3eTwNCj4genlW dTtycDEhWmA8dCtvamh1MD05eFk3fmN4Vl93PUo4S307KU4+NXxoOzg/I0dlI2tNdGw+SH1RV2BF akVRMHYNCj4gWg0KPiB6VTBFfDJVPyE/JUoyTWw5MFUwZz14Rmw5alpyM1NyRm1OYHk2Wn5KPyRw QzkxWjtGJjskNkJOdUFSSUV5TXhFeA0KPiBeDQo+IHohbDdBVF8pa1U/M3d1Z35jZj0wUV5zSkZx MT9OYHhZTDd6M3FCMSVUTkJvYU9QbEZhczFkM2lRRWFueDZTY1Q7Pw0KPiB6cn1nZmhVdE5qKitQ IVlCRExPKVokR1pYalImcm1qaEAtDQo+IHZQMlRBPmskKDFBenNkZVFnNFZ7akxeaWE+dlg2I1F4 DQo+IHphT2dzSE1aNDRgPj58XyFNazl3MXU9dlJuTiZpZFh0KHhabHNzI1gzeU0lKVo9YyljM0hr eGI1QE9zam1pDQo+IFBpYkkNCj4geiR3TjU8WWFHWmFXVF9adFNuMmRmT1E/d35jU0RaXllzRENQ XmU8Y3VPa0BMNlRzcjRRTVZIQDxLcQ0KPiA/TElnfXhDWQ0KPiB6Y1Y5cnduPTRCTnJhflMkVyN6 OFF2R3xESGdIOXwtDQo+IDk/P2s+eCE4ejkxb2VRcnRlSEhsNDI+dkc2QzxhJVMzWXBpDQo+IHom YT4wK0RyQDghTHVnME1MX2opcU89XnF8UTw7byVkSCkwSWI3VHFxdnhMdXI7SHloYGtMQXNST2Rf QW5JK2kNCj4gTzENCj4gemFUUjJuWkBBb31aRyE0cSpqQjs2NnBrUVpMaChLPCtSckJudXVSYUFZ P2JVU1dFb0dmP3doUmhIK3tRdA0KPiBTYm4kZg0KPiB6QWZDN0l7MFVEZG88biNKX3c0cSl5P1Fx bUpHKl48I2A3MEVmNW9IbEI9TmxTLQ0KPiBmbXhOXj1AQWBWRT1+YVR8RHBNDQo+IHo+QX58cG8p N1QrOW5WdkVldjBSM2N6JXYmMyFZISNgNmNySTc0cXJEXkM2eShATytGWGpwcXxRcENiUnlAVg0K PiA2RFANCj4genVpfCtQJnd1MERrTFB0Zlp7WWMzYiE+KV5BJHJtIyk7cGorZU1xUGZfaWJrMS0N Cj4gUTQ+NjlDViR7SUFnJj5nUTFOeg0KPiB6UlR+dl9DOTV3cVVTT1dmaUI5NiU3KnA3Y1dBdFZh JkdXI1lBUlE8QzgkSF98bihta2J4MUVwbF48eA0KPiBfTFpKZUEkDQo+IHpZNT5ObkhWKmVadXc2 c0p0N2pMV2EyN29taVRDKVA+M1crUjJDanAtMk4mMDRDPzlralQtDQo+IDw9ITs5JDxkI216amkN Cj4geit6K0s9NldRLUBeKGsxM3pTOURBLQ0KPiAkN3NWIU5UTSUkUTYwOV5+fThkRX5jI3E/X3Io fDFWeF9CYnZXdjAlaj1odA0KPiB6KkVwbnVhTDJxKE9eKHJkOEYrT05GUTFFUD5vSzYxWDlHY3pY TEZyellydk0qKkU0dGxhcFpNTUB9OzQ2eQ0KPiBkPHlWDQo+IHp0Sy1RVHl2I2JUKV9ILQ0KPiBM dFlhSlRJPSh2WTE2d2ZZVyE3PHUmSXwybTxASlNpV05TI0pKe25ATClQODk9WkBVOE4NCj4gekkm X1NJcVFyYip3JGh8JFhIWWF0UytEYWxQfUhTLVFUTVI9ISp4MmIoVDAtdl8tT1RgWDl2LTA9LQ0K PiB9IWVVIXtWUQ0KPiB6bS1IPk9RcVNZYFQmQUJNckJkaSk9KGltc25pQ3VqLWgtemVYVyNuXkY1 SztMV1ItDQo+IFBvUiNgMl9LZlpwRCQ7PDN9DQo+IHpkMEJaaTllPn11Q1g8KWhfbnQrUWYoQXc+ Kn09U3lrRGpAYipPP3J2Q092UTBkRCtLMyRDcDdyVXwpRWdWfQ0KPiAkbnUNCj4gejRmPmdRZGIw QWlfPClmJkZnV0VuYFBFZ0t5aUkhazJEUSloMThYZSpeWD5sYkdaeCteT3xIKyVgeCYje3w5UA0K PiA0YA0KPiB6b1hPankkIThjKjhOOWNjWlRIWDk8U1V1SE9gN35URUFQIV9BTiVLTl41JDtfKGQ2 PjF5cEo7T2p5MmJPRk8NCj4gISN2DQo+IHo9Zn4pNjg1JXRQS2dhV2VPeHxZT3tWKiRVOEUzfmdV O0c3a0ByP2QhOygyWFdVTlppVmp8Y3VCbGI2fTxkMA0KPiBCWnENCj4gellQQ0RvJUt5WWJuM2Mp Y01Ea31jMURPLQ0KPiB8MjgpPG5nZGFjbVElX3M5SHo9OCFwSn00PyV2SU98YXooKyUlTSV7WA0K PiB6PFo5M1g7d0RaZHskTTg3K3Q2aHNgZSVGJDgqekFFJDFeVk5iS0hxJUowOTtSS0YxPEZBTDBF bXtRV2JZDQo+IF5GUUBEDQo+IHpsNmR8RCZxYmc0OU5telA5NjI4UiVneTdqR29RY3dIKU4+bWdr aSg9YF9YXmg5P3l1USROY1hQOVNKKm0NCj4gMlo4VWoNCj4gektBKzxlSm4hVDJlLTFsJGNzfDVh YVJoYjNsZitZd0l6NVU8N091dzZmamRnUGMkfmNBcFYjMXQtDQo+IEgjVGgrSFR9ZQ0KPiB6YDRp MjE+eXNCN1JaKD8pRHtZY2hAKU1CbXZ2fmUwYGJ7fTw2fV9vX1dsMGYyaSQrYHEtZ1p8MS15dSlW RS03eG0NCj4genFvZiQyZyN3RlpRZ2xxKWgpKDN2elNzTjxoJDNYekhsb1cyKV87dilxOyhEbFJA c0dDZXNDUDZNTXI3TyNJYHwNCj4gUg0KPiB6IT9KVHpGNjM1XypLaypIYGAmfFg/RzBAczZwQjJz dmMkPnl4OXxOUyVTQClCRWlucEBieCg/UVVXT35GDQo+ID1XVn56DQo+IHooYmZ9ZG4pRClgbXhy e2FHcGBjKm1JVWJGdzxIOSl5NHhFTE9mU0pwdjNlWU5xNzBPNENEYylGUmltVGF3eTUNCj4gXksN Cj4geip7Tj9kUVp1Y1k+Pyh4R0hfQWJueTJReEY5YCs/ME8jOXZwSFh7Kl5HS2tNVUozaEt4XiZa WDxPMD9TDQo+ICstTSZ3Nw0KPiB6dmdKYTFROTJnYEZDK09AMnstWFRBaDNnNCNtRil7eWZ6emxV azFrcldBK0otDQo+IEZKPDg8YyZNdypYbUApaXk4UmA9DQo+IHooVXdiejMwNz80c0ZUQUtIKiZY ZCorKDRIKDRJKyY/KEFAIXNJJFlxbCktDQo+IFR+Vl9wJipUZTVIekpRVkphPXhCRikNCj4gekNj Mz52YUoxIThaR3VAaT5mflZ3d3tVcmhJTzZRSGshNSFIXmxhRmM0MzF8cXJiVGRrSVNXVUBMKjwj Iz8pDQo+IEZTew0KPiB6YF4kbyhFdGR9MSozcjMweHprSEBIQl4mP1RlITNrJEVfeDhoSz5eY1hn MksyODV+eko9NEhZMGxgST91NTctd3ENCj4genFUVEo4PT1ONnhNX1ZwYU8pIWcmSShlfiNUUjZU PDlOaXt0MjFnMCsja1JYOWd5akI4MkZFdVVeTlFnM2hiDQo+ICRaZw0KPiB6NTgxRG1YbUApaXk4 UkNXYko8fCFCS1V4Z0l7OFdvd3tVIWdJRUdFdzQyfXtXdXdjUVMwTFVeXzgzRnwNCj4gQDFRe0cq DQo+IHpmKU53fCh7cjhXYTgkMmA4bjFlRmJqcUpQJnZIeCE7fnZxRDI9eSNCS05uKUYwc048JW9D SlhkPk9UPjlVew0KPiBWUXINCj4gemxBRG9qKEduTmBHQX1wcz5TMTB6X1BoPTxGQ0dQM2gpbyha RjlhNFM5SyoyWDwjS2RMVU1AJCMhc0FhJmB7DQo+IGU8Ng0KPiB6QWgxQjRudzF2aVRXSm4zJjFZ YV9jSDl3SXAjRE5tWHY2JnI+YzRNNTkjYTNgNCM9Wno8I0UtDQo+IFlpdU9WRXpienstDQo+IHop TC0NCj4gJSVSUjhoO2N1NCZ4WFFkcmZlPV9ueF81VEZDRXZ4PnZaYz4wVkwrQjw4VWtvdE49cVBr SHVMR35FSz5NDQo+IEQyDQo+IHprcHFme3BZcTRFQ0kqP1pRNE5vRWRhQ1FZSXIpMlBtbS0NCj4g S0A9bSExbDJLfW8md1RwRHZjQHBOU18yYmlzRGMzUVINCj4gekFYVGpTaWhqb28+eyZ5NUhPUiR+ M21QczxFR2o5amQ3QT5vI0owT3t3OGFkdyQ5VUYkMEQlT2ZafmBHUkYNCj4gXlFLWg0KPiB6dyNE OGE4aGduKEB1ZnN0JkQpTUBoaHo5bHVxc3B0U1RFI3xMZDxfQFJDdk97dyR5KXF5YkNLME4yUUIN Cj4gIzJyRnR8DQo+IHpTI2x4cnlIRiQtMDhocEFLaDs3WlF3cXp0RWNRfXk/OFRoS09XNnBWQl8r MVM3d0huKTQtDQo+IHY9cUx2NjNKIT1rRXsNCj4genhvd0JxX2paZ1pmKl5zPms8Nio9ViFqJDl6 IW57dFQqOWRJIThTPkdONkNlezdTV09Jb3ZDNGhEUldHSnlvDQo+ICtuew0KPiB6PXpAYlFPUXdJ azNwcVFZWElTXzw1Tkcxd0Z+WkZaa3I2UFJQSnhIVHdDX0YzYVhGT3YtDQo+IDlfeWVtZWVkTWFy V2J5DQo+IHooK1FCVitEbDRlTytgMCtiPldMYSpqV0t5aDJSQ1M0TFpBSTJ4UCRpKXpNKzxBVWFt OHNxfGw3TURJZGdnDQo+ICRaWkwNCj4gemFITmRocWJHamQ9bDEwU24tDQo+IFV9fEZ7d0VMSUl5 e2pNRmdDJjZIUjx+VlFlNHRDciUqOWw4bT9NQzg9VTd1fjhMQw0KPiB6ZTZZPWVLd2cqeU8rP3h1 Yl4pS2p8Nmxxb3Q9UnBhKj42QW1mYDBxcXxEKmwoSWdwOW0jcD0zbW5teStLPw0KPiBYRnY0DQo+ IHpCNFR1MV4qc24rRlJHY0M9VSMwOGAtfC0NCj4gI1hkN2dTe183R1FJTj1jTSFlWVcxTzVFO0Bi OUw1VCk0ZFRqJWp8TF8NCj4gekY4NncjI2l7VWc5WmZPekNONmpMaEI/anheazY/bj9eK0dMZG5W M21WK31MWU9JM2IxNno3aUFnP05EekpoKA0KPiAlfg0KPiB6M3RSQGBZQnBZPU9MTEA3ITMpbFpJ I1MtbSkkVG54PFMrPXF1YmozdCZZaHp1K30qeiMqN2JPQThiezFpeFJkfXsNCj4gejBlYSMpNXw/ OXBvZmV0QShVSkgpODU+WWw+VTVaTUQ4PiFgKmp9N34tPGsrKmpVN0d8K2xMRUtUWT5Zem5jam5v DQo+IHpIfVZ3ISo0VXZWaksyO1JJazZGYklnWURmWn5KUUEjb3xUQS0NCj4gYXVVKSZHPU5QKTE8 c1kqIU13MDNwUSRAOUdpZzANCj4gejFYPmokelFoa1ohbCVWJTZ6fH0mXithU0ZSRUB0VXJ0bn53 RitSa3JnYGB9QytXKUZWWThBcnVySl9QZXkjMw0KPiBWfA0KPiB6VTdrNlBAcHdreklUYTdURlU0 fmFvPUpGJntVXysmVD9aSEFfYFd5KTJ3QVpoITVtcTAkV3UpJGB4Kn4NCj4gQmh3cD0tDQo+IHp6 PmZ+JXhRMX5PTUs4YzVKc2VRQE14TkNKe0A5cU5JaTVieDM7dz5FQnkqeCZMKGRERF5ENj54Mmx1 P3QNCj4gM3wmbEoNCj4gej9Xa1B6Q3JzYHhWcDNHMWExPEltSjdidjFTbm5KNzNlO2xRRWt3RDNx dTwraiRUXz9iZyYjU25QeDlPRmxqRQ0KPiBVMQ0KPiB6dDFFRyhvRUlKUiFHKG83d0JISVBpJU9N Q21UNlJGMjdkc0lOfSN2RnN1ME0qcHFmdXUoTXMka3gqSEZWensNCj4gVntPDQo+IHpAIzREWigw YntGSUpjQ3chRHJ4RyojMihFViVNS0tLV2R0TkAyS3s3TDJCYzBXSE4+OUVxWnY/ezFUdG8NCj4g Mng+ZyENCj4gemhKaSZLRVFXZElUQXIlfXhVNnswWS1WSyliI08tKjVOSWJrbygrPUZ6ITB2QnhM LVg0M3pFPUgpZmA1MkhIQDAhDQo+IHo2amR7PlREWU9NVypqI0BXd2BhRm5neGdWYHFeVTAwTFBQ fkJjO3hKREljSH1WS3kkKUlKPD16eEtXTU4NCj4gZEdfI00NCj4gelRIIUYrSEx+V2diY3MpJG8p Pm1hSG82clFkTUdxTCVJcndDX0g2R3Z4SHo1RmN4WGExbzsxVFBTQTltdg0KPiA0WGJ+Kw0KPiB6 cE5TMWJVOTtpKSg4fnM8dzYjQUZLWUR1aSRGRkBzNHBLZ2Jne14xYV5PfHJCK2okTk9DMlVnfSla eG9jIXANCj4gVzZkDQo+IHoqaC0xPEVOaSNieEhDdSUmemM5Jjc4eXp8NXtlbW8kRmJeaWFHY3kj PFU0dU0oXjN+e0U8dC0NCj4gZjd3WV5sSUZpNFcNCj4gencoZj9zVn5teF5TP2FmcUVZNiNKakIm WEE0N2lTYj8oel8qc0tmPnVhakF2NzJ3YXI8d3lqZzEhYHFHcl5HbHpEDQo+IHo8a2RNaWt5REt+ NT8jWDZJYVlxRTI+Mmh3LQ0KPiBZSXdVPHB5JXMwYmlGJTNie2RmdVB7OElEeEFZOyYoZVlQbnk7 YVINCj4gekBmZl5CPW9MS356M305a0whX01eZDdkPjVzSEU7K0c5RXZiQCNzYjhadE5UWkswWk40 YEkkUE1aTnklVnsNCj4gJGg8LQ0KPiB6dU9tOHoyTXxhb21gQlBgJCh1IzRGTShYPU5YPCk8Xksp NWpoN0I8NT0hcm4mPGVJfTg1JmwtDQo+IDUjY1lLQDFGfSp9DQo+IHpmcTFOYEZnWTk8dkUwUjgl QDlzOG56XnErYENsZG8rZnxHYSpjenc9N3QlUFRXZkpEIWl4VkdtaD5SUVNlDQo+IDV0bkoNCj4g el5ZMHl6MGh8PiojZnEzIUlYTSVOZXtWNmtnUHc1WmZENWl1ZkkodDk+bEtyMnl7VU90IW1KJGd6 aVpGJj5gYWNjDQo+IHpEbzxzT0cjSDc9Z2xEMDNab0VGJDNzUVpnY3x6cktPb0AlMW9PUXVIZG1Q YlFhaHRlOGh9SntxemdzaV87DQo+IDRodCsNCj4geks1S1M0dXQlITxUcWs0YTshLQ0KPiAxZTlE MTJXWU5rM0clX0FxT2gpfSZHJCU3PHY5dmMmWkY0VXR4YHp2cGdHY3ZjLQ0KPiB6IVJ8bD9oako1 I1JAe3hLY18pS0lEeypMJl8yfXs4RmJla04qe21oMGY9by1fQHstDQo+IFpnKiVQWGFrOEdBdj43 M0dsDQo+IHp2JjN3Qzw5P2ROdiRNJCVmI3EwRTckWSFZNmlXTkNQbEVae2BsSz1DNFY7ezh7Qj1O KXZ4Tj5hNWtEdDJDRjgNCj4gfFcNCj4gej1OdzgjPkQ7SVh6ajt3X1lJSHJWeWA7WFlDJT5wejVK fXlzQylpdXtWQiEyaEE7Nmp0YTdLdGopbzZUZVgrZHNeDQo+IHojNSZqSzFLNSQ4V2M5aylfcmY1 TDUhbzRRbjJEcHhgdHZMb1dgS00tDQo+IGhjczlvMHJGdGtYVGo0UU9jIz9uPE5lOzYNCj4gekwh RXMrZVYqRjJEMWNPZ29nTiVEUjdEfjtWSXArIyRndiMwQ1pSY14oKWYkSEk0ITR+YTVIe3Z4VmxU dVBATg0KPiB4aw0KPiB6QGctTVhgQF5ocllrLS1vcDh0MWw3OCRxREctDQo+IE95fGklMWZ5emRi QXxecyh6TjNtIylReTh5PXV3WjJ1bGd4fkBwDQo+IHopKHBOITJrUWdUIyhkPDhINTZ5ZzJnYlRE MVdDbWJ1bHZUTSohTGEhd1R5az0majJ2TXpPTzxNe0defg0KPiA8K31+WW8NCj4geitWRiphVW1V RWBfSS1CfkxiWENtZ21IJT5zMlRnZFRPXzswTG9LOUxtVk11Xkd2K0F2ZVhvLQ0KPiA2akQ2bi16 cTlUOA0KPiB6VVhMSjwjQlNmV3RBUzwxZ35vQiZfeDtNaHVAVE0lUFJGcUNgezd+fmRRfChxWG5v cSstDQo+IEFAM156VkJ7KTF5dTFeDQo+IHo4TzhkZlV6VUJ9PCVCK31lY3dlQWI0PmZiR2JHeHU/ XzBgYHRsbihNS1V3eURYTmk1XmY2P31SODtVVnd7DQo+ID9xbi0NCj4gelc4RXtZbF42dDM+Rjk8 JCUzZkZKLQ0KPiA+O2chTj5sVXVSbSZwdzRVODIyWERfVzJPVU4rYVJzSSZLZiU0TzZERm5tRg0K PiB6KSpzJUc0aClvVnJhamh+UzItMDJrWVZvX3c+JjlER3J4SnJrMmJfM3NaJFlgRD5sUl9JNVZ6 UDsjelB9NTRZRlQNCj4genV8cWpncS0tDQo+IHswUG42aFpuQ1VJVFJySns1KyRiKEZIPHxoTjAk KjVRcn5USWtXR0RHYE4+fkd+XytuZjJeNmBVLQ0KPiB6WXd8elQlc2VwSzBtWTwhKjxye2xVcjRW RkZlfUQ3SmRRRj1kZn52SmpiMH1uOTdMfmNKSEMpIU1OKV5PKTV7DQo+IEBvDQo+IHokRC1GXlYx KDwzJERtaH0jQWVmTHRBclchSXRsd1AxM1RtWU10VXV8TERUQ0ZseGZse3lNRy0NCj4gJUZvPDZM Wis7PVkNCj4genh7PmQoYGQ2I085Z0FNU21lXnlfWWxGbVEpMm12LTQwXnA/e0olbWtvRy0NCj4g PTxpdiNLZkk2TW9CezxhR0BWeEl6Jg0KPiB6UHYyQ1RkQGM/entJZzZ4dVdpVmhkfCtfQVI5KlV6 WlN2OE87bkBJfSNBQGstDQo+IG5hTCtma0hUPHI1cHRpX0BOcFklDQo+IHpWVzAkV29zPS0NCj4g dUVNYU1PMns8QkxzeWYhJk8zO3dIMVNWRF4/SWxwaGkjWX02Xkg+fE4hfUZzQ3RQc1lGUz5aQ0QN Cj4gemA/UzRxS0lgdkJ4b3Z0e29uZS1ue0AxTFUhN05tJVN8YTcxaUlFTFBxIzw+PU9zeEpicD0t DQo+IHdZPFcocV9CXkVmdQ0KPiB6eUF+QlhvVkBGR0RWTGgxSmUqdyRVYG99SUA3cnBwQSQyS0N0 VillaUlKcWFnQFBtfnNVOTRpfExxODVVMw0KPiArOzhSDQo+IHpuZyFPU3R1TnU/S2k7NiM+TFMw UU5Tdmx2KE4pVG56UEAkLUU7KUhERjxfWDYxQmNYaD14fHs5U01KR1Fpai1uSQ0KPiB6XnJEcWg1 RytERDRAeWhlRyNKU3hYZWsxV1JYaStUQSYmTzk1ZURuKGg4ZyRzWC0NCj4gPkRtSm1PcHNwWEUk XzJgd1lHDQo+IHo4JE5zZ0djWV9KZWh2VSF7X3Z7Q1l9fV47QUdGO0IlVVZ4UXZnVkp6SSp9M2ZT RXo/akZIRiZPdXJQKTs4aWhAew0KPiB6TD16MWhLKTduZHRwb1UpPShzZ0wqUUp1c1IkdihmdHh2 b2hfUz0xanAlYU1iY3dQdX5mKFFVYTtgNzMjZT9oDQo+IE07DQo+IHo7IWd3bUZKQCNZKHM7cTdB ZlFnVCVkcVVRKUl9VXwtVWNkI2Y7aFk8UH1idVNuKEkldSMtDQo+IGhRJGFzUDwzVCh4KSgNCj4g ej5IJU1kTHoqRiRlZ1phbihFdGRXSkVaMGk8eUdpQWE2JDtUU2V5X2RKeTNgQkFfK307RGFnc1Z4 dXZafW8/S0oNCj4gYQ0KPiB6KXNNfDRYYjF6X3hkRFZeSiprXztgMlJXNT4mQW8xZCYpVjNROD9Q ZXpoSDdNeGJvP35IRDJMTHtzUTBCDQo+IGpeKmJ9DQo+IHo3c1pQPzhLO1VNSjQxcztMKEUhKDI0 aUJvYFkrPWI3Z2t0MTRJaj5sUzJaUl80e3Q7JUBwMzJwYnxEenFeTmMpaA0KPiB6Vzt3Ql48KjJT S0xrS1NLeW19WklCO1lUQmZnaVZYXmJMTyVLX0VCKk1vRTAhaSZwQm43NXotDQo+IEFRViplPmBp cXw3DQo+IHp0OzhBXzUxSjdTYG5vcE4mWjUwPGE0O0J7SUt1cXA5IzxMelp7fVp4dCgrVGZNUlAp R0pfU1FMbWJ1PVg9NTNFDQo+IFANCj4gelU+dWd6dFJjZ2orNEBZWm9fIz00cG1WM18pISslMWcl MlZsPHhBbDxlR0NlVGUhd0tvRUx8TFh1KXh6eTBgDQo+IGhAfg0KPiB6Mzh8WH5pbDkwJUFoWTdK S0lxN2JIUGgkVyhtJDY0cTA8fWpOZElfTnRlR0EqN185UXwmNFNTQmpkLQ0KPiBNQWxvZX5IDQo+ IHoman1BRGIyWTFRYVIkaTEtLQ0KPiA8XlRyKHxMPz4zUVZOTzN5UWcxX3tqY1c8MWlqWEpYQ3Rk MTNKd1luSzBQMkV3U24NCj4gejZfNTF2JVZRRFBqSzNhJVJ7M3tsQU9eLUd7U0JFfHY7NW8kbVBi YldVMUU8bStTaUNqOy0NCj4gYWlyR2QqfldtSHR4PA0KPiB6Mm4jKFV5JUNTfWtrRCtnV19wKGBK LTJLSXJaP2h8e18oNj5CWW10Sm1lSUlnPnJzbVdsIUpRSTU/b1cxbl9FLSkNCj4gendFJG5aITNF YmF2P0ViajVAQ25KQHtGbSh3RzBZYFlMVEZ5QXA+YXFERU52Tm18PWdGRmxDSm9qamdIe20NCj4g M3A9Zg0KPiB6THJ3NGd1PT5MbCk+Vz9WQjc/aWIkVzU8I01ObHNVZXtuNndzV3YkUkNubVQ2PG1P YE9Db0IocWdmN0cNCj4gMmVgfnpJDQo+IHpwdDZrZlNNJl9WI3UqRFkqVWNiPmFOZEhzPEg3cXc5 aD9uR1UoOXV8YVI2bWo4JFRHQGhFX3VoS2AhWQ0KPiA7WCtScV4NCj4gemc4dmgjUnd1TW1PU0NK VTh3Umw+UShydll4Q15CZ2VHT09lZTdNMFkjNCpZPHd9b2JgMXRXbjw3UD8NCj4gMUFfISk0VA0K PiB6ez9VdEk3Iz1vTCF+elgxQkp0ajNfJGZydUkwa008T1NHX21GX2BwSU0ycWRga3trNzFBTGJh WXlfaVFyK2hDQg0KPiBBDQo+IHpAQnVae2g8dVFkT0JyY3A3RXRkaikreUlCQDxFcDVaLVhJdnFh LQ0KPiBuMnl2RzF9NmQ8dH57Qj1aNjReSlBFKEl4fEcNCj4gejFMNn1TXyo+QGhpezZuSyU+LXFr elVhLQ0KPiBINyNMN3RqWldPUktRViVGdSNhaG13OHBDVEpFQjsmd0t9Mn47M316TQ0KPiB6PW1a VlBTPXxrek1ecUYqU0p4a0UjYWJMd0o2MipqbTI1fmg4NT1UK1luQChMOVZyR0t5e1dHek16R2UN Cj4geldOY3pJDQo+IHpVeFB8JUxgXi15a3A1N00tZ2txfnBpTHgwblhlRGF7MUpTdVB8dW1yJWBf K3poMDdSKT5wSU95djVDWUVzSy0NCj4gb3oNCj4genJkVS1JdURlMVdmVXd9a1U/R1E0SygpIVJg ZjFKPUpSSiR+dTx8NVBtdGp7M2M3eGcyeURge0FDajw0QytwISF5DQo+IHpRa3owWV5gIWU/aEJY KWVXNWEzZj82RUxoU3wtejRjfDI9YzZNNmlYWWkhZStoNzMyTGk2eWI+IX5yQD9nclc+ZQ0KPiB6 VUx8RCVzWU12KmtlUHUmZkFtVzFRSzlwJWo/VG5xJmhrcXohWFFGViVZWEQyUzJ+c3JOOSpBKSY0 DQo+ICRDMnRYbzd0DQo+IHoyIUxJSUBEWXc0YWw9eGZ6V09IUkpLRkgwZV94VHEqVS00Y0tWMz5e cmokLQ0KPiB2VUNrPXghKipRP0plRVN4ZWBIdFkNCj4gei0NCj4gZUopdEdXKHhsbElnVXlTITl3 JCNSSWlBR0hGT25DTUgoZlNLRyltOStnMVZwcCEkREF5SzBwYHp0U15GeVF5DQo+IEQNCj4gejg/ X2VHMHRIfTcjMXl6aXRmcC00I3I/PDtSNFVORE9kMH4pJWMqO203ZSo0JGk2SUlYVT55WTBpJVhe bnRga2pNDQo+IHp6cGRwQ2VNYl9hQn1DU0J4cDNBWV9Fa31tN1crfU0kVTB1d05gcTlKbVdEYGs3 IT01a05DQXI1Q0gpDQo+IFBTaT9uRTsNCj4gejJHZEUoY21lamZZMyN9aXhvUCZqSzdoYV4/SkpA ND9xK2l4dHJOZ0VUcnl7eEcoSX1QWHoydnRybjA/OUJke0diDQo+IHpwc1NuNTViX3RhTiVQZFJm fmZIYmMlQzc8PCZZSjJpQCMpOHhTcTxMS2dldG9HJGslSURlKD41KDYtDQo+IDVKZlNJZ2INCj4g enlecFBTQ1h6eTgqTzBvXm17e2VsKHloayQpS2FOUCp6Qzw7ISEkNHZqblNBPj02NWdTVjRXeHtC eXtoSXk5Vn4NCj4gfA0KPiB6e1dNUXUyTyFfXz8+OCZSNyFWNnlUWEhKWXhCaDUhYzU3bkxeVj18 RTIzIUBGckdyZj5sejJ8NzV5RWlnditqDQo+IEZADQo+IHokJnZAak56fGBwXzhjZnRUSW5WMkY5 cFV2ISlCTCUmMCh9QCl+Mj9WLVlXa0dlPGUmLQ0KPiBgMitOSSY8QXJ2bT9+SE4NCj4gejtrMWZC NGY+RGwyTFdGWSQoVD5jMj0yakp4YzI4KmhvR3kpP3NZPXExXy1SKzE7UzNSajMrRklPMncoaWUo PSpHDQo+IHpzPXh9K1B4Nnl6QjJERFJhOCF9U01WeDl4OWF8TiRNe0RIa1dAdjc+OFhaWlVzTXBp cj5YOVg4UkYwMU4NCj4gU1psckUNCj4geihqanV8ZlQje0xzdiMyMk1EZyYzWUJaeXUwbHs9c0Ng I3VPeHc/d0ZXaCVmZlBKXlF8S1VvRlZuZWV5blYNCj4gUnVGaQ0KPiB6ZG9rX31yNiRLalQxSUtR MX4kfElQejllK2VkfEskd2NKUzE8MlFBSDgkWH43bVEweDk0VTZYYSR1OXs8PyMNCj4gTiVCDQo+ IHpwRjluKFNkbiRXPj1APmxvS0BHPWckfDw+V3sqczhQWmpKMy1kdCZPY2A3LQ0KPiBPV3RiZVZo KW59Zng7dUNlU01NLU8NCj4gektGeWJnMkdgJTQyal9EKyNpYEVKWiF3NzJKVlhMNktXWjlAWkFG O0JzOFd6aTdVanVqKkNAdVdTJD1YWTcNCj4gQF9vUA0KPiB6JGNZdFYtVjxpZFlJZkN0MVZRfnQ2 T0s2bm9kY0pFMSEhUWsyPHVoc0xgZkZEcWghJT0pR1BwcVplKE99aVk8Iz0NCj4geiM2VTtqWkBE I0lCZVBEWmQzWDcwYUljMmxHeDVqWXl0fTRhd0BTbkFge1lnTng0NiFDNyhecGtVfEpGJDBZI30N Cj4gbg0KPiB6WEpPSERwYD5fNnhtWlphTHFZJSkxXzZkfGthd0N0eT9YUj5UJnRzbnJUaClFTlVQ S3ZzaD1DSHVMVD4ySw0KPiBvND8yDQo+IHpPRiYpdGlnMVI9WVQjdGhtUyo4cGtyblExJFkleTFl blctSSpURWJ2Jm8hX0QrN2M7N089MnktDQo+IEEpdXs9WGFgU0INCj4gellodzdNaTdLe1Y3KU52 KlZYdXI5YiQqU0ZYVlBwYXtBZjJKelVDY0wzalFBK1c0c0c3JSQxfExDUnZUJjMNCj4gVSQyfA0K PiB6Z1peK0loeD1xazFrfE5nMVQkK3VTV3VtLQ0KPiAhPVV1c0w7UihvVWAwYDRRRlc7bCU4dThG ezJjO1NxQGxuZikpTzB7DQo+IHpNPlN1ZEx8Q1Z7YVRAWF5mUWVXKmQhP0BfZSV9X252bVUoXz5i SCp5P3ZOQHopUGVMWHZyen1LTFpKDQo+IEE9KXxiQi0NCj4genspbnRFeTFyTyRlY0AhMzNoT1Z+ SEIzSDx7RXsyLUwleX1XMFdYZnxFTWptVS0hVlFsLTc4XiYtDQo+IDtCUnxUekVmKA0KPiB6RHY8 eHIwNVFxYFliYGJ5bFEqPDQpeSNuWmthQUJBPiZ9MUFKKForOTRyLTctK2VfYzI9eCRKPWUoUVNf JDFgTnUNCj4gekJRemtEKzNDNWgmXi0pYDh7M3xaQE4/YHhzPXFKZiFVTnFrb3RTJXY/JS0NCj4g dmtTS3VJV15rZk5KSSkyMjRYUnBNVw0KPiB6Tk9qSk5CVjN8QEYoZjI9ZHY8eX5xbiV3MVEkTlBe IWVLKnVeNE9ldWh6JWtfaiU2T21UPnJTI3ZnMA0KPiBvUXIqfldCDQo+IHpMeTJVb2k9ezdOZWEw Vm1lbUJfaTg+QkZAPT0weSNBMXs0UUYhQ2QtDQo+IGJzcXlpPXZ1aXo/Tk0mezhUY2FxQ34zZTkN Cj4gel5wRWxrKDtlR0NOPWE8UzxGbH5ycys/TWYoO2NRdWwkYCQyNTVpbSl4RTcyKkZyR2JRZkl9 MXBnOX5CWkNVMTBMDQo+IHpBfnx7MSlGYWZHcnwyWlo/enlCbVIjbFY8YUs/UV8zM3dTJXpwNWho I3dZZyN3QzU1WWJJMUhwN0FsSGZLDQo+IG5fJFYNCj4gempAUCZWPklMSH4zYUE1OyM8SzNyV2Ul QHlWbV5aVksyeFdmU3V6IUtnclFGMnkjIXVJPSZTfD91VCshbA0KPiAxJU1DcQ0KPiB6aHpvSUQz SFRZfE9sPlp3SE8/NVN4dE5wUypGP2B+MTtFMV9weGJ+RnRQQzNLKyVKPCNLKE5TaWV2dyZFS1oN Cj4gN1dgDQo+IHp5YFh7WFJnPDchZyVSZX1jYmpmNjtIWmdpRlhzTTx5Y30qWHVLZmB1NzA1YW5S UllgO0t4clUkV19XRGtuXj5IDQo+IGANCj4gemRaPmFrWWlDZWhgPzU+fFRxRDYwSThlfklhWWI3 TWp2a1EzejNkbWopfmwkU2w+dGNTNV5RUiRocT9BcWBCRX04DQo+IHo5XklMeHI2fGFheyUhVGdt NngoVlBDIXtEcGhHZFRxdW5nNiR1X0NaZSFKdXtfUXxwQUREKXNKcy0NCj4gMHFsNGVYT2YNCj4g ens/bFZLSGNFZS1LX1ZPZFFLb3VZOHtKQGFOJj1ERzEzRCN4ckJsLQ0KPiBEJHxUYnRpMkFYVSNl PCQ/TXJFTndjbV8wdA0KPiB6cShiZzchKUktd0U/NH5VMm0rb3BlYk5Kcko+K2hiaDVwZFJLYWx5 XmhqbzdfZlUzeEZMfVBVam4yb2ApKTtJNHANCj4gekl5RWlUPXVTTm5jJVl9MWBBUiZzdl92aSkr ajRaJjEwdXJCUFZSU15FfntnfEt8enFgaTNfQ2JTeCRWa1VBNncNCj4gdg0KPiB6PiFrKHRoVDE0 Jk9gb0p3dipiU2Z6I0dTVGxyQzR7MDlrTTYtDQo+IERoZkZEPlJtbEtEUXFpJCl3TDZfQFU5flRE V3AqDQo+IHpWTVFfQjhHNGUrO1lPfmhtOHA5PFFMXkxWa250UClqRT5nfS0NCj4gMDhSXnk4fm9u TXpzVThPK2wyQDlmb2BFPW09NzgNCj4gem9SQUt4QXdvME1VNV58cTF6WntTaVlmKWlIKnZAbD1M USFFeTNXK05WPj1uclI2KH5saEM3YFZ5fW4tDQo+IE5jUUpVNg0KPiB6YEtxWVEqUUhxais/O0xL YVpyWE56a3lEcWRqd2QpMChAOHNIY3twNkBwWkJ5Z1c2cU0kRGpjaiEtDQo+IFE8Y1ZFVXhODQo+ IHo4aXdqOVFPIyhGSl5LZmBudHtSTWo4fmxmbm13Rnp6LQ0KPiBYJHs5fmUjNSUlK2xjNTtueGAr UHg+eXh3d3wzdmQkYUANCj4gejswRD1WYWoxVnomTnNSdDQ5Y1B6K0t8SFJSMioha0UhU2JtTmQh Snl2Yy1gajJSZEB9Tl55YU50LQ0KPiBPeDFRMVBsXg0KPiB6TnFUeG9JdGdPJmdaKEktd3MqRFMk e2ZKKCRiJk5qandFVEIjMklsVTBDUihpdTlhbGlZalkwTlk5aisyTjYkVkgNCj4gej4odyh3QGRH WS0NCj4gJlNNNHtubjtFdzxieWlISil5eFJySz5gR0JWV3RWTExXKThGbWF8OXF+XjtrSElhPns4 Jklifg0KPiB6N3NxaHlBM2FhRlhOVHg9byR6T1VSJSpOa0dhWiQrZkBzX3QpUStQcEBKe0tmb2ZZ Y29Nfk5xX0ZTUH4NCj4gTGxnMndaDQo+IHp5TFEtUGlZMkR9ZkYtKj1jX058fSNWcGFhe0xsUX5Z LSstPlNLSXkoPCgoPGw5PE98SStxVyRGTiRhPnhUcksmag0KPiB6MEA2dXJNWEA5TD9hMGpWcVc4 SSQ0cy1VODxmeDlBRUUyJFMjZDQ/TmJMLQ0KPiBkQU0hWT1HMm1jYFcwOVNeVGZyRTF9DQo+IHpu WURLYXpuej96YWJrMyR0akp5WiRYeWlAPzc1R1ZEN3UlWmNLVnU4SDU2WXt6YUpzfGgrWU1XSHRg VFlZanoNCj4gUDcNCj4gelE9MWBFbXJ8fT0lYjNgOSN5RDF3NEhwdCFNPGZ2NStDI2s2U0VHV2tD MDI3PGtSLQ0KPiBQQVh8WmtgJjVAfTkmRSREQA0KPiB6Wm48X3o+M096JXdwMHtuT3ZTZD5kLQ0K PiA/MiYqaFQweTxSREJJdjBjdCE8YX1ee05MaDdVWTdCITA2ellpSytQeChLDQo+IHpUKjFmJUho fD50ZmRIYFhoe0xeQjQkWHJBeXVrPWcldmtfRzgzY2Z9R0wodUkhMk4+JjNXSmZhKlp7c1UwM2EN Cj4gQl8NCj4gejs/K3VpI2VtcUB1SHMrPlI+ZHVWRkFWfUgyfVlvIXU+a1QxMFphJStGbVlQfFVC ZDx2Vk54KE0qI198DQo+IDlBT0krUQ0KPiB6JmEobWg9T0JPIWdPTS0NCj4gVzBCUXlTNmFeI2JH OFBVdTRGWkBOakxmekhUczg8YGROQVUlMGdOMzRGZiRtTFYqfmo3DQo+IHpnbmB3WjlnTSpIeU07 cj9BYmAyUyRYcHgxXk1lNTkxdFZBNTBEZHFDQVB8Z1BXZHBjcDVXeElrPFoydGgNCj4gIWEpRUYN Cj4gemdPUGJRZlF0dEtFREE+YUhoX317MG8pWGZUdz8/SDVYV0QkMmdRPEw8WFJpUnt5X2xZVTwz ayVNWDI4bDANCj4gPU9kPg0KPiB6blB2bGNjbzR3U1U8NWw1UnUxMTgxUH4ySSU0YDZFSz4jYSlr P0Emb0ZBb0EoOEhDQFpPYzVnbzBNeldODQo+IDIzSEQzDQo+IHpGMTVrREdjPW5OSE0/cEI8fXdA MT9tO2tYMSFrclY9MDY5KUpTWkA7WSVyP14hS0BkVWF2UkxRNDEoRA0KPiBwRnFoazQNCj4genpB Xn5yUUd1Q1lnRT9eITRFS19RayNsUz8/K3pKUV9sKktgMX02JUdmOUBMdXZzcXdAWjd9fmUyPDlv bWcNCj4gIThCIQ0KPiB6JlNiVEU1WkcxJEpIWjZRS148YEhnIypCbGdIfDM1VCtFb35GPVFKcUtT fWRYUjM1PiZ1KEx1MVd5XnU7RikNCj4gU0YkDQo+IHpBPClkUzA7cjBfJUF3UT5VPW1tYktFbiFO NSohczhYJDNGfEVFSW9eNExNOGEyNCgtDQo+ID50WiR8JDR5WDwqZkdKOVgNCj4gej5MbnxIZy0N Cj4gcFBIcSFxdjxsTEczZVJzZlRmMkd5ZmgwRnp1O3AmcWFUbTt7VVI8eUhXYk9ieDFVU09IOGp5 K1h+bQ0KPiB6MCs/aUdLd1dNSEZ2O3dveTEpdXhsRFFSWG9FNSslXkkoNnszU2cyelExeFM8Jjhx I31gNCNHMkR9WUhCMg0KPiBHbF8tDQo+IHpmSnFod1JmYHFDUWZgOShUUHVKYG1JVHojdE48bm4y aTBSJTBGJkhOcTFJWGZPdExoZj96UkckQnBPdD1TXi0NCj4gUzUNCj4genFDJG5OMDQ3LShQX3dO N0J6ZFRzLQ0KPiBBPEtTVk13KT5xck81RlN6JDxjQTRocFd4dlZnemx+SnZGTWVaX3t1Tj1oew0K PiB6cz8hUSVUOD4peXFxNCU3Unp8Nit4NThMMU1gZVpEWT10ckhNb0dLZzNTKExzYiF3IyojPFV6 fDYpTFI1TDsNCj4geUE5DQo+IHorb0E+Njg+Pks1R1VBcXdYKjhPdSZ3SFJDcVN1KCV5QGdPdEgk ZEtsMzs1Q3hENUZKNkF5fiVsRiQ3DQo+IEQhTF5LNDsNCj4gekZvcVpoKnchNT1kQWwxd2lLPyFA S048T3NuYmZKeVVCLQ0KPiBrd1VMdCNlZ19KWH4+VSRCcGVkcyR7TmpyfCZndTFteQ0KPiB6SHs9 JnZRM05FPyRTeldxJCpKPSRCUFo8QTsqezV5akdYUyNJZE5jUFg/KGpxLQ0KPiBAVVJiTzdCNU5E OFRRK3ckIURmDQo+IHo7T3EpU1U/I2IqMHo4ZkQtO1ooKHpOZkktDQo+IGcqdH5AU3JMeTc7UHBX T3RebSNxV3BhNE40aUpTRGdBP3RZREJUZE8NCj4gelFRX0FfZUp9aDZYZzI5RDhvI0NTWXJ4YWRx TUVGZXF8UHkkMl9FXkBLOTVhIzUpSjFhXyp3eHFRNVF9Iw0KPiBATz5ffQ0KPiB6cmE/Qk8hbTFl U1pTR0hMd1M4KXxrJWJ7U0x5NXdTKndrN1VIPy0NCj4gaUMlTGkofk1PS0Z2eWpOdVBGeHhoflVY fmVaDQo+IHozeWtxdDhARnQhZGFgVXNiaDwxOGduZTcke3slRCVkbkgzcmU+dDZDQFpiQkdYRiU9 TFZONDQoJVI/LQ0KPiBlRGQyTm4NCj4gejV8TEJHenF0VFVZNTFEeUJTc1dzIypnJUd1N3xLb2sz SVJAa3dneCZtYVomZWQrIV8tDQo+IGAqaGxCSTlnKFNFUXpENw0KPiB6RTsrXzNKOVJHSjMoem9T bTB0bzM2Oy0NCj4gbHp3NX5peXcmaTZYVWlPbDlWbFMha0ZnS1daOFd2WXdRd2RRVz4rIWB+DQo+ IHpabi0NCj4gI3swXkQ2P0JTYDB7bTtEaXslWWJUXmpSU0d3VEghMntIV2E3YzBPcXsob0RtSith eWEmNHZyMDUqUVVPS0wNCj4gejR8VE07I2NVdFhUXzZ8ZjFedW5yVHt3Xm4mNEo3QGJTRzM7az9Y Pil6Z3ErT3hrX240PEFlO25HXyYoME0NCj4gPl8jYA0KPiB6ZzkrelUoUWd9TGphb0VFQn1jN0sx PUkrUWpaU2xqPk1fZ1RuYU1oUyM5OCtublZpbHdiSkMyMXFuMF9uREVzOw0KPiBCDQo+IHo0Km5r T3xMOEJCWihQKUZUXjJYTWlmPH5HPD5uR0ZxKyt8VUI3Pmg3T0Q2ZnM1I0h2cClecV5DaVZRa2Ez DQo+IHQ7cGgNCj4gejBJYk5NaF9WMkJLT2RMX1IlRXpKV2RaIzZBT05nWjNUKih0OXQyUHZqMDlg fDQtDQo+IEVwcXE2fVR2RHFgcyUwNCZPMg0KPiB6UVdYR041VzAye3omWEpQST0yT0ktDQo+IFhN VDtnT1R8KmZEd1pMQ0kleFI4JGZzOEtzc1JFeDQ7SlEoamI3eiFOflBDDQo+IHpmUyhObEk0PkIx SHBvSVVKX3o4OyEzYUVaU084JT1LeSlTI1hlbFJwbUZBYEZKb20zOz89KEJsM2hSclBoOWRlKQ0K PiB6Y2Nueyh3PD55PFBfcW8pPlhDVkJyKk9rNl80ZyteT29oZVphOTY/YEFIYDk7bWkhMz9DdVRX JDV9TmFeZ2sNCj4gV35LDQo+IHokfFlSNCRLPCtRIWdhZWNUdnZ2cjwhKUE0VCRkVWViTUtNdzFH JW9tZ1hefCUoc2hLSjAxXiglMWd5U3QNCj4gJVJrUmANCj4gemk3KWlFLQ0KPiAhJj00VDlPazcp TGIzTFRFVXxHTG9BbmRoRXYyMCpIeT5oeThxfCEreCVwXmYlc2ZeKkB6NyQrYXcheA0KPiB6MmhA XiNyUVdQI2d8fT88cWg+VWpFK2wpTzVsIWZWdmkhJSpYbzQzNil0OEtETEtse2UqbDAhKnliJEx2 Wko4STkNCj4gempveGZWNkM1MilpS3FuUDA9bD4/fDB5JD9uSExBdVVMJV4mQzFvU0ZuOSYzO2Ym OG5aNFRkbER3JUxGJWAyUA0KPiBnYw0KPiB6cERgS15gOz90KE5lUiNXY0IodGghWDZLTD53ZUcl YzJKQ1kwclFyNVpVdGgoJn1GIyVmckJIeDsqMGpHMjJwUA0KPiAoDQo+IHpkV144eT4jKDQ+TkMp UW1kZ3x0dDt5Z3U5WUc+ciRAUmtvYmlfb1NEe1J+JiFNaU43PzZJRys5bVJvbGkjDQo+IG40QDYN Cj4gek47T1padXZBYTFsP0BpXipxd2BJZX1fIUw5cTh5YTJvMjlnKjVPa0FIMX4zaysoWncoNjd3 dypPJF94LQ0KPiAreWAjaQ0KPiB6NWx7PGYlQmliPmRmXlNDanRkKGQ2KU5fRVIzbmNuP1QqMlAp TWdoRiZKQEQ+OTw3dVFFO0NCRyFCKSFZX0VNDQo+IDZrDQo+IHpXQiopPUxjTlhwS3pAS0pkYlkl YCQ4KSE+WkdnfXM/VDIkUzdzfGNCZnYzTiReVzF+bHhBc2lrejdJMGpGS0EhKQ0KPiB6dkowKVlv RWxLSz9IdCZeO2VlWDIxOG9pYnlZTUVgRDclZ0N7QVA5PVFffW5nWlMzfk1hUjIhelpPbnk8WnNW DQo+IHN1DQo+IHpMTDFNLQ0KPiBqfTY3NmskPjV4MktuRklwSzBWRHtxNyQmXjNTdE49fHAkM04o bXBla3c9KU5MflclXndVPzVfPjl1MXcNCj4gel4yXzR9SDFjdF9AMSVqX2NRZGEwdkRhKjJoRntS VysyZVFKailCZEtAbXJ8X1pPeXdnR2JxaVlQWipUIQ0KPiBEbT9HaA0KPiB6bzB3ayV3Wld4VVVT PVRILXspbFZuaGpweT5xLTVOMzU+PC0NCj4gQEp5MGtiTWdBfF5GfWxFKVhoZjx4blkhOHlBaUVa DQo+IHpwJF9PY0ZwO3wxeGowLQ0KPiAzd3U4SmpCUUJfM0Z5ajEzbSFuTlNBV3l4aGVQVkZCb3w7 Q15VRW9lKFpufGM9WmN6UHANCj4gek5wYD44UG16K21zU058dk94N1dyQ2ktTVVVcUlkYjZ0USte PSM8VThVUGNqRXJDPjtkLQ0KPiBeQVZQIU1XTzRzJktDVA0KPiB6cFAqTi0NCj4gej5oJW1DZndf PipGdjVKPD1WdHU9ejhFI282M3dIP1J0I2A7Yj9DTV5kWm1iKjdKQWhEdEFiOHY+YDQmDQo+IHp6 WG01QiFubjArRkpsN0JGZExAYFZwWWRQRT9SbWZIbllIPm5yO15JI0grZHhHUiR1ZEVGQFdzUE14 Vw0KPiAhWkVuQl8NCj4gekNNeyp5dj8ySFM+fiZMdE1RMWheJjF1YG5uIyRAOzxoclM2OztZMGNw dGZDTlJQfVROMyljVjhjM3NzX2hpPg0KPiBAfQ0KPiB6ZG0mKklAXipHMU9ZTWJsX3pvemYhWXJo fFJhY2RUdFE9VEtheEJMJHlAUGJick9UcUF6aClPeSV6fCh3DQo+IFBuO2hPDQo+IHpabnh3I3Fj UT1iOU1aWUtEOTZAcihsMTFQZ0NnRl5FfjUyZ2M4JVZ8ZVVCcjJhOD5SJWl9PjNnR0Y1ckhlDQo+ IGh8SE0NCj4gekVqQSgjNiFFdzBCMzdebilgSFE0WWNidnxWeDNWMFlqS1RII0dxUG1KZmV1Nj4+ YFRJU309TldFZ0dnOGdnDQo+IFY8Kw0KPiB6aWAyOG5zMER7TGloeS0mZDtmMGMlKW5hNnM3SXFe a0Q8azg1bHdRUzVAVj4zLXBhckBGRTFofC1hbFp2KSN1a1INCj4gei1gMHh0bTFFNGUrXlhsY144 bFpET014MjNzayF0UGpmMjc4eCQ4e1ZaK2U1QkxZT0spM2JjOEAzKCRwdDkrMUVIDQo+IHpDQEJw Mlpqb1YkMlJYfk9iV3NLQ3hjYnotDQo+IHt3Y1Q7MFY3XyM2NDU1TmlwR1cwcFVRJmFQUnp+MWpq KmVsZT85cU0NCj4gemYhPFhXdSRrJlIqSlctDQo+ICtnZX5CM0NzSW9tWVU0R00ka0B8b2YkeVJ+ OU13JGoxXmVXfDNPNWZ7I1Fwamgja2xZZQ0KPiB6VUdUU1Qxd1hoVHQ2LWVBbjVvaTFUZnI4dkV8 XilVdigxN1ZLb0tsO0o1ezk9Kz5pX2kteyNjPzdTRjM3Q3wqdTENCj4gelJFYFU4KDhZaHBSe1Yo VTsjKm4jSkAoPSlVfGxAM1AqM0BkZFVNR24jZVp9UD4lQWxTRHAjRjIoXk5Uew0KPiBOT181cg0K PiB6THZMdXV7WkhXdDZNZ1lMbUdDYDlrKDJ3KnFBYzs7em1ybXUtDQo+IDBrcGZ1Q0NoYmh6YGZe Uzx6dzFQbXNUT1ZQJFEyDQo+IHpwQiVNbTtXPjJGQ2FQPW11JnAraWd8ZGhWdSRrKVR4WE5lVll6 PHEkeDtEJjB5KmJhUWpqU2gkX1hNDQo+IGQ7ZUtIVFYNCj4geiFQeit4eXVHRzw0IT44RldhQkZ0 ZzBlRlptPz5wVztVJXApKys7QTB3fFRhfkl0T3lpTVhtdzAxNCYNCj4gQH0zKDdIXg0KPiB6cjA7 UG8kQkI/JD05MSghTSRrYTYmM0tiUCE1MCZ+VCE9KSMwb3UzPGI8PWxFOCFXZFhaTy0NCj4gelcw UG9wWm9gY0x2DQo+IHphVTVrXypyNz9uPiE0PUdvOzJTXjV+SGtDTUc4aTt1eilwZz9De29rVClz dEJoZnw0JDV5O35MTj1+SXtqJm9hOw0KPiB6PVNxIUFrUDdgenU5KT0xe20tDQo+IHgoWjtXQzhj cWFLWVlmNUhfWDx6UEdBciZyeF4qSFZ4cD5sRCVQK3c8QmVhQVIwDQo+IHpCcCVHaWc/bGlFZ1ko ZytucHYkNyMtP3EmSGFqWTNzN0J0NkclV3ZRZk9TaFYzKU9SIyhiOExpZnNwcjchRTAtKA0KPiB6 WGIrcmw4RFp5MipwYCV3aEBafW5MRlkrb3gqckFiMF5GVSlBKCQtDQo+ICp8Q1UlMT1Qa0Z5czx0 Zm1KZ3xOd3RHQzZvDQo+IHo/WT4zZHBgKXhkZU17K2ElUyVQJE5fYSl7I19sWn52S21MbW8/XlQ2 TkR4XiF4KURaJkp7cElIPzNXcyFqfQ0KPiBCPG8NCj4gel8hZip4VGE3YHVRdVBQJDBqdElxYUpj SVRJMjV4YE4zTjdhSUNEQmR1KEZRNVZLV1k9JHwhY0pQWjB3I0V9MF9gDQo+IHojRXhqOStwb31R WlpeP215UCtiUmpiWTNGcnFSNV9oVU8wNXFzPWY8eG40SEdqLX59e0wtDQo+IFRxSSY2KkxVZ3ZJ KzQNCj4gejwlS3d+MzBiPStzRGNLYkh3WHlPXkFiPGUpak9ReistDQo+IFR5dFFTYzBIRztkUmwz b2l2aCgxRlRyY290O2lpMz9Tdw0KPiB6c3YzT0ZCQnVxY0BuamIyUzk0OHJ3cXhyaVZWI0tkTFB2 dTB2PGIrNSZfQDcyKChgRW5BJG4lQllkand9QA0KPiB1WDtqDQo+IHolMDZ5dG1NdUs1dmYrNkxN dW0tDQo+IEBWa00mdTlMdkpmMD1ENWYpV1krOEI5U0BtMjtCfndlY3QqbyZUa3JjbyZYU0ANCj4g ekVZcWdCY3I0aH4wSiEmcDtUJXdGZyFxTnZHKDVuM1Y3U3lpSGNnKW1ZfmQmRFRqY0lgNndgdnJD QD9XaF9qQw0KPiB6Wg0KPiB6WCFyKiM8VldfJlRQakFOdWItDQo+IEhlYX1CYWUjKUt9XkdTRWg+ YVloKkExYEdVTGtUJnRTUDZ7ckpVODM9ciV9LXhKDQo+IHohbkhmNlNudlR+MTNvbXpQellDcWJV UnFjanshQzByYnxGUWsoS2kmISteKG9fPm02ZyZNXmtBYHdhSDlODQo+IDZpKV8NCj4gejdlSS0N Cj4gUm4mJl92VDZgYCZFcEJWVXBYdGZrNmZMXmcoQHd0SClgQXdXWmI0P0Rkfj9qNl9IN34mO3Uk X1lEbzhkTQ0KPiB6JlZ0SkJBeWdNI0JSU1ZaKGA5eHYqQkdMPyE5O1V8TXN0SUNGbmU2TVRCR0B9 NGI4bDRHJl9tcng0fCYyag0KPiAlRVJDDQo+IHpHP3w2Xms8VWM0YEdsalEzQnRZdV5vWnNyTFU2 YmFLeSRyYD02YTNoZGg7LStoMntAelhmRCNTaGU9SmBUUTYxMw0KPiB6VT5fRW03TylNP2s3dGBg anVTTE5LaTZaVCkmQlNzeHg8UnhRU2prM00jM09rci1OI09RRy0NCj4gOVo1S1lFZDxYQVp4DQo+ IHpSaklrQmgrLWpXe2goUWkyYzs2QjJRJCo5T1ZqI0VUUDZOb2l5VVNwK0V8R15kbkdKalQ/dUJQ RjBkLQ0KPiBHaDxNO1cNCj4gemY7cTR3Y3xheW5RNnlUJUAxbGt6X1hRQGgxSzh3UjZWdFVDKTNz TyskU0dmb3tydTh+PkVGOyVaUmBpKVh7DQo+IG92YQ0KPiB6K3tHZmQxKnxhQEhvNWs0bGlhQF5J c2pBYlVJOX18SVlJUipGZUlqSDJ9SDZ3T0B7NilCVFp7Zk9sdmkhd2VnVEMNCj4geiQqJTh7VmZM JkkpNjI2bGcoTz81ZXN6VG5Rd3Z5USR9SDRkPHRDPUNxaHNwQ3tWb0h8THFpTlNyVDxEdG1TSQ0K PiArSA0KPiB6cUZKcmN0ZDU2RjUhRCFHRldBdDBUKzFNNCg/ZGlwUlczVzQ3TzxgVlVUbVJ4R20o KDhocCNSJituLQ0KPiBhVXA8U0FjDQo+IHpZR0NxN1ZIZUR0TTJuMD92PkspM2w3JlZkKDtPPnRf MVBQe3EtDQo+ID9jJiZ6aEIzX0RmQk0+MzZBJmd5UHokQSYzPWYNCj4genZoVENpciR0WlFXXz0p dG04eio9VVJEUk9mT1VQQ2g1Rl8hbGs1LQ0KPiBpMW5NQn1oRTNwU2ZGd0p8P1ElcF8zczBqPg0K PiB6O1IpIWp1JVhMJGpWfEJmejkhbHMkY1FJZ2wkY1Z+PkRsTjR0Vy1mRXBGITZHKjY0fjlSWEB7 Ml9wcD1iZl8+b1YNCj4gemVfISV1Jj9+dEpLaGghKW85cVppWjN5eVJCZ25WN3VSJCkoVEpscXk0 WilScT5OZT8jYD9hTT9WZFB1JXcxOQ0KPiAwMA0KPiB6ajxGRCZCPyNKUDNydSVKSD11My0NCj4g QXhZM3YzQmV2VDBBRV4xSGB8fUA4ZWhKfWVMR0BSSjhUNX5sTVVZJV5qI1orDQo+IHowMnRjZWo7 e3I1IX1wdCluRk1gXj5zMWtuI1E7ZWtUSFRSeWdCeEhVJCtXZndrcldJVUB+WEZIZz1WO0RmNykN Cj4gTy0NCj4geihkRTBLVGdTSiF6ZGx3flBqbjU9YCkzPXZyKVElSkZ0azZ8bHxeMClTZmVZUHc7 cCRoUCk3KHBobW47YVJ8SkNeDQo+IHpScDMhK21ZYlJeTEBzKTRKNFRvVFF3c0VycWBET1Y7fnkq U0gpeEEzKEZVX1FlT1FhKDNwN3BAQHxXOA0KPiBSNjktOTQNCj4gelhoPXYpcFFIN2xWbG17Zj5q MGpAZEJtZk5PMFEqc1A1QHxmRVlVeEBfX0h8K2Bjdzk3bm1hfk1mZFlscw0KPiAqWiVfdw0KPiB6 bHhKZDkmeWNXUHA5JVh0Nl4mO090Ul5pOW5FZSlEckslS2MlT2IxPXRPPzYzKVlvUjFncEtSNjYw LQ0KPiBeKCtyQzUtDQo+IHo1dnQ8Pml+Jj5lZX4+XlI2dDlDd2hiWSpQPyhhd0U7QX52KiMySns0 KEsqN2wmY1N5IVFzTlE1IUVIZFNZQWYNCj4gcHkNCj4geileIStmdEFpdUU0Z2YxdmNZc3d7YitD WVM5aGltcztkSFlPemheMCEtDQo+IFpGSmFHeytpR3hfJDJ3PT93KnM/VWI0dw0KPiB6JCVEMFlz S3NyYTAwKSVOMl52dSspR2hVMGJ2TkFlbjhMNEdIPVpCVDM9cTtFKl9DanY0PUE2Jng+TUpSDQo+ IHl1Q1hZDQo+IHo+dl9uJXZoIUNFaHV5aENkP1lGTiMpcVhRcnEwMll6SCNBVlVFYFV5OGpzWDZn PkUmPSVDWURLO1ROejgzDQo+ICloVyENCj4gei0NCj4gdSpnITdBJT9MX3twdHY5TV5udmpebXJS JjJqdU9HUklNU2B5OXZYY2clNlRgbUgmUkFBV218Qk1SNm4NCj4gMFEreVoNCj4geiV5SWskQEQ5 THghKmQrSiEhcmBfWDk0eXUhMW0rVzRPcXQqPERkMG4xe2k7SDI3S0U7Yk14Zk9uVTZuMTxhDQo+ IE92Ng0KPiB6KkJFJEtiWmUqKUJSeVZ1OCNRTGtpRFNsYHEoY2l2cFh8MERodG0yXl5yWUJTTjBn U0BweGw4R2YlOT4xMD1yDQo+IDVmDQo+IHptb18mNyh7cis8YWRRPThvTSZSMj5OTiQ3PWNSc1VE bV9JWFN6IyFQczAhbkNWXml+cTBaalJqNkxifEQNCj4gJTxuRjkNCj4gekVzTms1b3xyNmdiSnY7 bld5Qz1NSlk/aVZGVG0yfHZGIzgpIUJ0fHJPMzhYfiFwcHQzZlU3YnlmfnAoUy0NCj4gVV95dw0K PiB6MiRMdGFRckhwRERgY3d5eUBKXm4+X0p9V3JqfDs+KDRUX2tpVVNhQU48YmpVUyZtQnFSe20w Ty0NCj4gJiN+MXdnUGFKDQo+IHppIWhuMCtXPihHYiotDQo+IHlfNGx9dj9jX1koYSlSM0Q9NWRK Ykk2aFQ/dlg5JDNuVWxaQWk+UnNwaVklTzRXcjhGZVENCj4gej9iXlAoU35TaUV6Nis3SEEoemxn Tk9LTnNWSGIlVXY9UDxBTW17Qj1xUXUoR3tQT289TzJQOHt6TmgjDQo+IEZXeDJtNw0KPiB6d3cq ZWw5OFdFNnkrQlchOC0qZDQkOWE9MTFZXkxQOStmKn50c0tvMjF2Ul93MEFHalV6eHx9YFRwRjgh Yi0NCj4gcClIDQo+IHokeT4xd2dTJjx8MGUzNDdwOCo4aFFGeHNUQ21qQl8xUnhqam9tMk1XYD4/ KV4pZj1xQzYqZyttQSsmNykNCj4gNS1fSUoNCj4gellBaGY8d1p1eF9kKnE9P3RlIWZha25Nbmdk aSgxPGF0WkNXMiQhRFBgdkoqPXBAfm9uKWBzd0pmQF5maG0NCj4gRE9hZg0KPiB6QExiTVpWVk9a MXRWPiVibDU0JVZXS2Y5aXpXalhROWNZKyFKbWJncGR1RnxDbmVWWVBsNnRXI3V1YyQNCj4gaD5o blNlDQo+IHpNTGdAM1FSQXVJJDFsbTtRQGEhSXlNNkVCTXhwe2JfIzt5I1N7My0NCj4gOUN6Xll6 S3dhQWwhWU0/bjduZTJTYlJiQm4NCj4gekpzTSFVanM/VStPO0R9SilZKTNWM3dqPi1JXzUwZ3E9 UVRQKChqNShkTUV5WGx8c09SNWVYMz1DfjQqMEp1VlN5DQo+IHpmWERoO0w8MWVQSTVFMzNINE1M QlBkVntobzs7YShHM2t6a2V9XlFjJj84QkFBbkFzenEpUX59JjYwRmhAJg0KPiBJS1INCj4gekNa Kmh3JWtFaDNqSmdFbTlzIylfTmhjPVF5QE5Jc0dpVk0kcDI+fSNrbTdBczFEaCs4OHdrVjh2eih5 DQo+ID5YNnBjJA0KPiB6eHlod3dRUGVkRyUkNU4je15VSGZ0ZnlqQ1BZS0xaMTdOTzhQNT99Smcj KlcxYWtFdnFvKistDQo+IGMxdmxJbHJxUG1vDQo+IHoyKUMpUjtWOSNJcEZzVm04SU58dWI9Kjgw Mj9vKVlDSiN9YjtMNlE0ZF5MXi04PjxsUFVzSHNgPSVhPjl3MXNKMA0KPiB6UG5HRjBMfWlXVntf VGhXPEE0fntnTyZ9ZGA8SXhTP1Fjb3skeXJXMm40WDw5THNCX09YMElOdFlrVWdyVw0KPiBYYz0/ DQo+IHpFazJtRG0pYHRmS1N0VmhWdjh6a1BWNW1pY2gzTiY2eDNETmIzViF0O0dyR2FpbmsyYDt9 JDN8IXtKI14/TFZzMA0KPiB6WipEbz5EJCNib1MqMHAxTzt9WjtLcXkxPXxHcHxzaEZDPUk/Q1ZX bCg4c01gVEtATGJlI3xCY18yeX4hUA0KPiAlPXRjDQo+IHo8K21oUVRDbzs+U2tRX2J6cCtvd2g5 QE5VNFVudWluUTJ9UStAU2kmKk47TEFNQUAybWc+SyYwDQo+IFpNNjdLbk1oVV4NCj4gekV3fmtC KDR6TSElfVotDQo+IEwhclpmVGo/JW9uTWA+T0kqRE8mZlNwWnNhbihXUXZjPHhQKGdTU3U1UFhC djJEUDZ7Ng0KPiB6bD48ZD4mbz0qaTtKfSNJeVolYnslellnKFdHOXBubnNVcDdzIUxEQEVIMHBh YyhYfjErdEN3YSh7aCZJQjJsDQo+IHU5DQo+IHpiQj03fDdfPk5JcXMyRWEkKVpJbkVIZ1YyPmJX eVo9VzVOSFN4UWVDN1JPN3NCd2NfQ2h2JSZPeykjensNCj4gSDwhPEcNCj4gemQ8KU9obTIoezNj JkBfeCErNXNnOEYlKl8kSnpMc2RvTl9WVmFOS0hxYSQrcEMre2RnaDw3NDVwSFZ8Mw0KPiBleUVG bw0KPiB6UEZVWkheOFNlREFmQzdKM2BiY2Y7d2kqNDdMUSReR3ZvdTxlPnc0Wj8rPjRJZiFyVjdS Rjh2JjhOdFpORz8NCj4gZUlHDQo+IHpGcl5gMntEVTleeHAtYWZGbkZwIVUtDQo+ICRnblMoMTdg UVIjfjk/TUZCU2dMT2tCWUlsejMzMWBXJmNOMns7N2pAJWENCj4gej9WMyQ7OTNVVGh3ZFZSZGt3 VXlxJndVQEV5UlprcykoWSY1VkN3VD9aKXFCZ1RnNXVxayRDO3E4T087LQ0KPiAyI04ldA0KPiB6 Q249MWhLRkYqbWZ9d2hMJlZAa2IjLQ0KPiA/Q2pTI3VPUk58JEhiRUQ3MG1Sb30hJGFkdzN+NWRT JUBHaF9GSmk5YmhYDQo+IHpOY2VmI3Q0TSohWlJNWHNHV0JlJF88WjZuYjB7UEoybkdTUnViQjc8 PDlBalpEY2drPEQwU09SM0U1VjANCj4gMVN1WW4NCj4genpFNCM4R2J6QVVuNCV2azFrWV9WQzFo Smd8SE5JWGctDQo+IEtqN21UYHcjViteQyNlUHc+e0dGO2g1SFopMkYqJU5QSQ0KPiB6KVgybUlK aDl0P1FvLWtlPHx5Tzw4UWE+I3F+SHU9N3BiVDlnPWwtDQo+IHshMjl2RlhRRSNrKGo3QXpeOExD dzd+TzExDQo+IHpRKGpqOD5peFZ3VW5WJTUyNz1USjZXPzZLSnQjX2ZYUj9zWWlsO0pOYXpIeFBG cThCREVablk3KCpSc19KZkk7Yg0KPiB6cUVjdSZwYnNsKXhJJU1zYz5UflQ5cUl+TTwpVXJWZHVC b1YkYVlWMi0NCj4gbUhDQ1hxISV1Nzs5ZWgpWlZBUiNjPUl1DQo+IHpFVXA0TWwzPHZQVktuQ1ps OD0rcEZWQGFBa1lhaGlBNyFsb3pFPTw9R0JkbjNBMEB1ZDRvRU0yUUMjYFoNCj4gN0BsVXcNCj4g ejVFaFM2eHkhOGxuRVV4VXp0bGZVRjxHP0gjREZRZG1xODN6MHglJF95aGVJSCtgKyhIcWJ0N31e I1J9SXJmNHItDQo+IHpOa0tCc3BzSkxWa2JkUnRZOzteclJpRkFDcl41XkpsSGBrcmhRVjx7ZD1l eWdnOS1EYjN7QV5gRHV1WFh6eG5eNw0KPiB6P1FQKWVzO2QwJm4+VjwkREt+YF8xQyV6PFIqfCsr RUdWVF4oIXp5TzJxdXZyJGNzZ3hXYFpJRUhAdy0NCj4gR2d4Z0AjDQo+IHpPUG81d2h5eXF7O3ln SGlNJHV1UUkwZSNEK2slfWpnXm1fekYpYjFJPHpeJm12O2ppJWUxQmA3Yk04JmtCDQo+IEttKXgN Cj4gemRfR0NlKj1ONzN6NHFFYHVmNnUjWXZzU2w1TCg2PXhTckd1OGJvLW5URWdCZ2UzYGhVcVls TVBJWVAofkY0SWZSDQo+IHpsNDlrejFyVT8jaVE7KmNqN3JPPzk0VmR4XylUakxKM3JRUmg1cDxT KkFzdTU4RSh2YFUjJCEqZTNKamk/MzhsVg0KPiB6ZTg2KT5RJjl6VmkyfHpkLTArfT5PI1g1Zioh VDI/bnVlejBGcEZIezZsOXI8ciRYcXpCRGprU3QzWkVydmY4UEwNCj4geklDaEBzTHdYSTR7ekVa NUlZPFA2NmAjfHdlZC1EVERNXi1wWXg7KDVFUDklSlA7STk0ZDhEKDc0NkZDd2RgcUpTDQo+IHo/ KX5YQmJXV2FsPWYmJEdySFlPVTFyaXlFO2lATHMrLQ0KPiBWeWRZKTEha3xEWnFzMUZeKjJUPilx SHtFeDkjKDhTQHQNCj4geng2S1Yycm9vY0wtNVdebHNNQSEzajJxbVo7TnhAbGFsS35KQkNlPiFI YGkxIzVSZTh9Y1dgbHg1XmV+eGpMQSEtDQo+IHpUXzBOUWlPaFBValdMZXRAeX1DbjJSbm9iNH0p cDd5LQ0KPiA8R0c4OU1uMyNmcUZEKkhwbjRQKSowdmRrJEAzPVMpTD4NCj4gej9uUWZMVmIkUG8+ c3YqT2NeQ1pkUFF0PV9XPyZqfjNmSCtpSm40NnNzPUUycyZmMz1jJXN0WXdYQkpmTS0NCj4gRW5O IQ0KPiB6dkAoMXZtMSZnZ0dNIVJmPVpFPE5LSTcmRTI3dXBie1Rte0NYUj8qTlIpO1h1e1lASmZJ bDtTOyZkXjR8X2wNCj4gbXRRDQo+IHpBNF9uKFZqNX1OQWFaTlM3JG5TKmZTNWt1c3xyfCpaezw5 LSglNEV+WWxTaG9FXk1VYmoxY196eEtndEQoakR7VA0KPiB6TDkqNH12MCEyVjs2MHtgdWRtQWZR aUo4SVRabkpeOyRTQ1dzN1QrPUJ1c14wNnxBTU8+QlRlREtnRnF2Rm8pWg0KPiBVDQo+IHo7eT1A ezxqcG5TaFIjcW1jWWIrR1ZrQ0BKeG51eVBNIVRyeDt7al5pdEIwdD9Rck9fc2UxXytYSmIpY19A cw0KPiBXTC0NCj4gejd5PlM4MHdabTI+Mkc0P258PzZ6ZU9YdWBoeH4yM1o3fGtyRnpBcioxNnpz KSElITVeb0Y5eXpQKWBCYkFVdw0KPiBXRw0KPiB6NUg7SldDRUNhRUZAbXd9Y0Bna19WQX1OZmN6 KTFDQFYtDQo+IFBlWGZwTnlJZXY3RTJzOyo1VyZjJHBtTEghbDJIem91DQo+IHppfmkwZCk7YFcl UH5LQUt6ajQ8K3BrYkZ8LXx0dEZrTilMTj1sK1ReKzEzSlprKjVOM081WH07SEh9MnlLWERUNw0K PiB6SEBjdG5oPipzXzR9X1o/ITk2P1pGSEdWJiE8cUhBVl5RM3ZWOzNXd2BEcXdaY35HUCNwNik1 dDxUZyE7TA0KPiBTYkJwDQo+IHpES1ZeWEx1bndUal51eHgyaitoVldeNncpMikkSThYS2RZZmok fn08LQ0KPiBLQjZaZ31wY2NfY3xFPStIfms+e3NxWEkNCj4gejNrVHZ+Nn5AMHImMUU5eV9yPEA7 TWErNXIjNEh7RWpjX3k7aG5RdmYweysyRzw4V2xZI2lhNVM2Xj18bXNUMg0KPiAyYA0KPiB6KXpO ZkZLVlJ4PVdYZ0stDQo+IHUrYjcpQSYpI3xIO258Uzc0YSUwNTFTSEYofE9rSERocShIM092Z2cm Rj16QWZZbSkkDQo+IHo+WUl1dkNvYEhuV0Axb1dORkpkK25rOTs+dUR7QlJyakpTJXYjd1JxbTxL REMjeW5jRkxTNkwxKlE7TlkNCj4galVNazgNCj4genlsezcqQCYwcWBSaSpEfTtkKygzc1F8Wkh0 Zm1tMiN2fUxLa2xXcT5OcUJCTWQqcE5xOEVlUnFmXmw4fF9iDQo+ID5IMQ0KPiB6Qk0hI216NWtT Wj5HMS0NCj4gYitJJE9ee08zeD0wVlBNb2hiS0hEUTJeSlheQ3dDS2tXNFZLVzY/PDQ8cF9VLSgj YkZPDQo+IHo2ODJNKkRQYztXKVAkeFhCdFBuQ2FJSSRKRTxJWVpJWm8oPyg3U1V2d2kkVSZGRVFf TG5nJUpQRWJmQSs1SXxKfQ0KPiB6UlBJOFljPDkzUD19aU0rJV4hPzFQNFA4MUJkZChBXzZUWTtM cnokQWBYTVBLeFFaeip3Q08oI0NHMH5EQQ0KPiBOYmM9DQo+IHpMSStTeTQrYlh7JFpWbEBBM3M9 UVphU0xDR25gUW9ITF5VcDVQNWQpSGo5RkpYbH09VEdHLQ0KPiB0VHQlTHtYUUZJQnkNCj4gemN6 bHxJPU9tdWswdXpPa0IlYXZUVmVgZ0lET3hXaVZkUH5WbFlYYFMya3x2Wj1PcDgpOEtJUVVuTVM+ UGx0DQo+ICRGMA0KPiB6ZXh6U3I2el5KUChfP09iTDQ/ayRlMjQkJXY3cDBZZX1qSX5Zamk9aT88 QWdYZTF+Vi1acFBWeCl1UUVqQztpc2QNCj4gek9ERV97YHQybnYqbDh4O0xFRnFKMTxgPSk+LT9v aGBtZzclN357Vmw+ZCFDO2VYUzNqPVpyX15LOXVgTU55dmZKDQo+IHpjIyFzPzd0QHROTTZAekVm OVlZcWlPKCFRIVomZ0Mock56Rj9idnlRTHFuPEgqZClBRS0NCj4gJk4zKiRUYnxfTnt6cmcNCj4g em9xVj4kP2V0K053flFmO3g0bz91WlBfdlVvRWF5I1lsJForPWtyIVJyQ1UqJGEtDQo+IFlffGc8 IURtP0Ekd0N1PENPYw0KPiB6Xm5wblp2bng0YT15VVYqWDdhaUIhencjeGBNSyRIUX18Tm5ZUUxy LQ0KPiBre2F4ZyopT088ZWNDfSlHeXlSWTMzUHBrDQo+IHo4M1doRHRONyZzdj83RCskcndrTjV+ TEZad2ZUb2pKVypRYllzbDU2PVNgaXpoYCFDck9uM3xAejc1fWJoYCMNCj4ge24NCj4gejlhT316 VDVNez8pdnRUSEdZP0p8PFVaNmFIeyN7QXJ9XjQjY00zPGt3NiphUEtHWVU4Y0xoV1crbHA5ZkZy DQo+IEY3aQ0KPiB6Q3ckdHZZSlhfRVM/U2V7S008dzBCNmYzSlVXJUQhTVlARWJ5OHhWX3lDNTll VTFRaUsjK3M4JkMrZQ0KPiBadHI5VzdwDQo+IHo7aj1zK2FjXj5vRis2K0BheUdAdC1sVzNyXyh7 RzVFLQ0KPiBAYUpedjg3eFZTOUMhU3BrbnF0a2ZORnJMMX5HTHp1cTMNCj4gekdTPD16ejA2SGsr e0VVO29JfURUczg1VSR1PE8jaHNURXBLTjlnOTRpWE53OyRzTzVHU185R2ZBSD5Ud3cNCj4gUnJB Rg0KPiB6bVhyRz1lZU1yNSVZQm1VRzsoSSEjYzF1YTJWKzRwPyk/dV9yaFVwfTxQJjsoXzR8Mzwk K3ZeZ1pzbUh8cw0KPiBfTT9aDQo+IHpPZkFDYENnUnNISiRRVFNCLQ0KPiBlQWkmflh4NlZEQHVO ZyhWJGhafik1cTdAZ2leZ3w9cVJyNmx7KFdEaXttVnNyR2ANCj4gelQ8Z1dkQjVyNXhhSGpfbUFL dz9mRDNOJSZUQ0lNTDNmU19KZ2x6SzEzcW1iejRJVllUS2x6cCE/eTVXbEZMDQo+ID1DUg0KPiB6 c1VBWWBKMH1jbSR4Wj1tQHpZKllNRD1FRUMpTDxIVUdYdz5LMWRAezJrJTZpM3w/JlZ5c28wN0B6 UQ0KPiBkVj4qSm5kDQo+IHooQzAyc09JJFl6VFU9bytaWnh4Yz9RfFF2KVJEaWopVU5EKEFTJW16 RyNYZmAjOH49UFhrWmVFVlNQdiZeDQo+IFc/eHcNCj4geldscG0pPmooP0ZTalV1JThMbmFkbUBU ckJsMUUwMlM8Q1VSRWBuYHlhJX43eD9sOzIxK0ZVaEN4Z2FoY1J7OzkNCj4gbA0KPiB6aTxiVkYl PEI4eENjUE1rd0UyV0c4PkFINjRJK0gzXmNsPUxLaWA3c2V3QHV9a0hUX0wkUSlpcnlYNEdPPA0K PiAmSHZGDQo+IHozcXRuVm13KXpPcU0yTDNaXzw3RmBDQUBTRy0NCj4gP3pINkt0KXE9VVklSll5 QCM7b3hoUmNxfj91ej4pRVFZbnp+S0QNCj4gekJSIW5HS1ZfeUNtX2haI1Q0dVhiQ2cqMndLNkJI TUNhfGgtaUA2XnxBcz5JbjAtDQo+IFpAR2I9aG80aSh9O3FwYytuSA0KPiB6KDhrfGtCRzRAMHdk bSRFS0AkWUxmQUVubXNmPkw5TCNVKCtrSVI3JXsmRlUyZ1p0JTg4dFpjN09rfDcjOw0KPiBwdnU/ DQo+IHpiQz47XiFEeV9TK2dOY2tmKUYham90ekM8Yj0wb1FHX0ohdVJ6dGdEWmdNYVBEWXB8LQ0K PiBsNVgqPVNkKHRCaFp1TzQNCj4genNab0ZkNDBDSlQkI0FIVWY4e2ZLNDUkaXM2P2JBTnZebHc1 RiZ6Y1dCTFc2Q0A/VFZ+X3BROGgwY0heVA0KPiAmfX1maA0KPiB6akBAb0koKlJUY1FIRVA/d1BD d2RvRURATjhQWFBvTlNrais8TElWPl5ZMXdwc3BZMEktDQo+ID80eCNrU0tGaCRpIWVRDQo+IHop M3xvcW8oN0xJWTFSPWd6SSZ0TCV3NEJnaFF2VUNHZFh2LQ0KPiBMRCF1PDhSKzAxb347O2JVeF5Z REQoUXV9Q2hxTHoNCj4gejhRWUtII0xFQlROejRrKyN2RkomWlBAbVl4JCtwVzhPKyNSYWNeY0A2 enZEKWM1JUhzKVdaZUBhfg0KPiBkbWJ2a0FMcQ0KPiB6U1JWQWxhJXtueyV3VWNkNDlnQihsKTBD eWVfYE81cllOJT83RkZSa2JMKyoxVyRPdlN1dVNPSHV4IW9FMGoNCj4gIVMzDQo+IHpVUkorNF4k ZXU8VEliR0x3OWx4XkI8YjItI2hpcDRaNHU2MWVvYU5VMWsxazdYVSl7bUprYDdMNi0NCj4gI3VC WlB0JkoNCj4geiFHcmJvaTstfU52eEZnPDx7LWFjfEUkJmcwPXk3V1F6fU8td3ExZCpVYyV7fFQ1 Z04mbEJSQT0tDQo+IEN9blhRP21kbw0KPiB6LQ0KPiBMYU9CeEkyIWA2S2t7Mis0TH5rdCswRlND fGBvYnd3RmJvYkkxbX1BRzlaMlkoR00oUWpTJTNqbk85QisyRjwNCj4geQ0KPiB6LWdLNjYxODk9 d1NoaUAoUGpDfmdGKWR9JDY0djckcjgxRDVPezstDQo+IGdaXlRwWDVCTW17TE1fVlYlIWYxYXFv fXJ7DQo+IHo3WDA/TytwV309WV57TTY3O2ZaTip+K3w4ODd7TDc4PyFVV2tpRWxYZip6TXJCQ2Y0 dUU1aE9ZIX5CQ2pWPmMNCj4gaGsNCj4gejBOY1hranZ6YWQ1MyFyQGs4WStWYGsqcz0mIzJ7TnJe bjR1SnUkeUpjJGRPe01XM3goVD9DMHhYZUdwbzFxDQo+IDZDKA0KPiB6dXwwPDc4d3pIPlNvT0dk eVZkOGV0ZDEoJkZ6bW9EY0FKeDg+fl9RZEExJWthPzNXfjFKUyg7IXxDQXN8DQo+IFVffDFEDQo+ IHowck9BRjhaNHVReilVdF5BfFlkfjA2KktSVTdKME1ZVkdzYnlyXi00WWJrKV91QEk2OUVBbStP SE8rbi0NCj4gKTxrLXUNCj4gejBLejRqJEhwWSg7S3Jre2laWE0lVTd1bCpIfFVCK0wxemx9Nmla SGpFT21rX0Ryb2MzdSs5NT5ncjcmVlUjMTt0DQo+IHood0NCWnB6UClvKz42YHszfn17SG5FUUlt e1laQWNBV1JPR0JuUkx9SCt5MXZTaVA+YjM9ZTBrJHEtDQo+IHR2YTtPKUMNCj4geiRDVlRvOUth M0V0c1BpKXN2a2JzQDlHUTd3IyFKIWswdnJ4SyFGZGIoIXBOfCMpcTskcXUwM35MK0I8UW1TPQ0K PiBZJA0KPiB6VW1GPWRzOVl+dHRfT1g5NSM1fG87e1BmVU1aU3E4O19oZXVTbn5gZSpadW5aWjdY d3NFfHFLY3FhRncrMnINCj4gd1J9DQo+IHp8RTNKPVA4MncoYUt0QE1DJWI9eGxaOUJpSF5oP1M3 alNEUWhhbHZRJmhBIVFBR09yR3trXnx3ZGEyI1gNCj4gKTthU3ANCj4gekptcnI3MCk3T2FWPXs3 OUlta3BjZikyeHUkPDA+YzNIZXNUXioqeF5JZTk0OGdYOylJI3RTfi1JNTBVaEpzSURvDQo+IHoq aHNrJj5XVyZoYGJXdF9mQVZXeUM9Y3g/PkZrS1VNKkZgUihmJE85IXBrJSEtDQo+IHZxSl9Ae1FJ Z2xXJSQ8MSs4MmINCj4gemFlX0h9ZUFCKGdFdF9XWkEhTH1wXzZ4UFEjanhveit0dEdvcXQhamkr X2FSXlIpdVJGWiM+aD5IfDtqaGZUakANCj4gdw0KPiB6dkFkczBIXmtUVChvS3ltKVZSNWs1VlFZ a1hwISU8Zl9FckhhcDc3PiRneXt0M3VQUGhwMHVPPlJFaEYrJA0KPiBGLXcmDQo+IHpYSz9jdjtk Pl98XzlTJCRWczdvPXVgayZBLQ0KPiBJdGVWV0RGU2dfeiVwbGYrZDByZzB0T2NDbHZISiVJdGU9 XjMyeU4NCj4gejNWUXF2WVFyY0JFO1JfX2whU31lSj54QnRTTiZueWFMWDQ9ZGlsI3l2TGkxYj8y emt2RlMtIW9WTGQydWY4I30kDQo+IHpNPU4jekl5K1d5Z3RqP2VTb3d7aU5YI0t8PVFmX2J1d3F3 YFlzKXVUQGF5NSEhZjxmVHZjYntQS1Uje35vfA0KPiBtR3cNCj4gelhKQn1GOExGdHhlYnhpUUFr Myo5SVFFNlRGU0dweCtqWEE0Nm9OTHljRHQ4MkxpJXp0ejVkO2khdUFQKGhvfjg0DQo+IHpfU2pZ eHR+JWtkdHRgMHtaSyFlSldSZUxxUj87fTJrYlZWWCRwQihXVU5jaiRBMl42U142MF9rNXlIXnlm UnENCj4gayENCj4geiROJTl5PUx6MEJmVD9ObVM9aC1KeU4zaFdWWCZ5QjI8eSU1djZmUkByRkJr SFooLQ0KPiApOXNwRlZEcz19UnB4VGlrXg0KPiB6anllen1wKzteREJCQUVeclhKc3Q+QEM4VUp+ NlQtPGVGMzV6YUNMUXZ7N2M/bEIjZW9qZit9KG93XntgJT9ydkcNCj4gej0qZT84YE9IS1k3Pz1H bjFfYEJfSzlZYSh5RGZ8aFF2YT9FR2czTHJLUyVwUWJYSDdXYiNRPCNUbEIkPg0KPiBNYygqOw0K PiB6ZHRTJXVTYm5eUHJrXkh9Mih3bThWTWJEZEx1RXAlVzFTRmx7e0ZobVVJb08wUW9GQGpVYFZt XzFodg0KPiA0OFBoeDx6DQo+IHo/WGp2RndeJE5XTDJadHFEeio8KXdjR0JEUXgpR3c+Z1V1R05m ZzFKdmRaKkFKXzZ1RGAwPXxWX29zYWB7DQo+IHYxOTANCj4genlORXJZaGtLY3ExKmA+bl89cWNv UzRQWTwlR157RihabFRXYUZsWCp2TDQpQTxIdGNHO3M7Ql49OHReaihve2N3DQo+IHolTT1ST2c5 S3VZYHltP0xmNXxBNCFKOGd6TmFBMERBQDx2RXp5SHBVYmlCZG1DPH04MF89KEN0eHxIKDIkDQo+ IHM7aU0NCj4gej8hI0Z+VVRkLShLTWl4KGNqNlVEdlEhK050dkM8IU9mJE54WnJlVjY+bXNeam9q Wm59YVJueGIoWCo3YUxidWpJDQo+IHpkbjAhaiF4Sjd3djJMMXh7b0F8Wko9JmB+S3pyb31ZQUBZ YWspSFNQZH0kPFNufWtCSks7SV9IQnw9bF82WFU7cw0KPiB6NmQpeFJ0MmI1X0JpKm5QT21GdEBm UjJmP01eY0g7Z1VHSktqQSlnZ0k1Snc1ZmJhc2Mwdzx+U0ZlfUwqcmxzN2YNCj4gekhoQ2U0Mzg5 fFdfQXIqU1UpYjkrU1A7YWRjRkBPaXh3MXR8MnwtDQo+IE0qSWFNVVY8bXMxamolfmQjbis8SjNx X3c/Rw0KPiB6R2dpaHJBKz59VVhlckd0JSQ7ailLXyhrXjA4Uj5+MGdGWDRGKXo5MGpgd2k7VGk/ PGY0ajVVPTA0NU9iJW9yJGMNCj4genUpc0AoXzZ0ckQ+YzUtIUhDXzVxODBtdmdFe0s5Xlp8d1dq Qzctcms8U0ZwJnBBdVRULS0NCj4gcCZOKmU+cTA7Mzw9dQ0KPiB6WnVwfmtjPU1ARXc9KEA7O0pA KzlkYm0yRituREotDQo+IDE9a0VHWT4+MDVOd1phalUzPVZTRTI8TWx5X1ZJOE8qMWw5DQo+IHpv aCRlNXprLTMyMGwoS3BwSlA8NUJiZ3EpRip9QThFO3lEJFFsISspelNPZ3YrVm8ldmRgJUYzYD9G VkY5dG48cQ0KPiB6SVNjandHb3Q8U3okRnFkN25ZfVkqQ2c2NnIlciVyYTdsQUFUYmRwbSMkUENF Tk94K091ckdEODJgVz4zTA0KPiBaKk5IDQo+IHp6QWBJdk0zQUZyXjdAYGJOPXBBQEAlQFhTRGtw TXF7WGdVZ0VhX0crb1o3ditgPm4qJit0UDBycl9lDQo+IFExQGhqSTANCj4gejZHMk9vZlN3TiUp UkpJJShrSitxUk9JMHgkSDxtPylsI3B1Uk5LM3tlcm9yZz96YTw5Wl91RHozJmh3QXINCj4gUWVY eg0KPiB6UnRKSTU1cmw0SW1IODwzWE5zfW4wPFpZOD1KO2NlMjg0NW9Kd2doSERCTCtIPy0mREdf aGk0eGUzQnR5c1FFOXgNCj4gelMkcm0qVHxzKkcxcFhNWDxzdE1UO0A8Z0UoN3pDSVp9QH5mOyQ4 fUpqTz5tTm5kVDk8Nkp5RUp3JXg0XmMNCj4gdyolZg0KPiB6YG02SmE9Q1YjPVBJYnl+WlZCIVdW YVJaa0YtQjZeSF4+eXdrUi0NCj4gd0F4KDNTcSFEVXx4KFpPMDtoPm5qS0lAdDhBDQo+IHp6SWE/ OF9qIVpASDImZVRpNkNoPlZjNyZIeGhrUTglISNNVC0NCj4gUWQxIWNoK0c1SjgrTGdtQHJTOypY SGlmKzA4VmcNCj4gel5HajhNN0pJfDA3VztDJClHZE9falExeXcjZGZ4eytZZl4tKEooLQ0KPiAw SE9TRlhNMj10TmorN3grZDRwPUxiSVZnVQ0KPiB6MXt+QFF1b2E3YVlzNk59Q19kbyM7aD8+WCFG SihzJX1EKCo+P2RTU3dpTVlKayg0bTMjPF5wMVJVPHptRw0KPiBUQHMrDQo+IHotDQo+IHdKZmQp P1Z7KVEmc25RNW9fdEkzMSVCaVd4ejhQem5wRCVAOGExalYkdnY/d0lMQ0QjfXt4TkxfKTVDUGlp ezcNCj4gelBQWnpYdVdvWGw+LQ0KPiA9cjc7cztfUWRDcWFXOzQyWj1AajA3emkwaTFaT096VmQz NiQ1ZzNtWlgpdmZXKlJDcFAofA0KPiB6eD1LMTc5NFNmSlUwRXokTGdtIXVZekVpVFB1bVJvKTd7 M2s9PGUqIUhAeHRaMkchPzZzOXFVc1pHXm1WaT1hDQo+IEJNDQo+IHo1R3RTM0wjNHYqd3ZxczxG MTFuc1JUcyNTP3FgZCpsRFVLMG9hfE59OTF0eUctDQo+IHJEXm8rP21Sc3MoUFhQYjxMV3sNCj4g enkkJFpqKkVHX3lTWV5qZWNCWiY9az0pdX4kSzlYJUlSdzwzOS1PSnVqO2khP1JEcjRBczlISk1y THkkZihfNC1fDQo+IHpLcWJPZE9OfWIzYks4dilXZj15I0QjcmsxP3ReZSopTjwqIVopS35XPGRK SS0NCj4gbSR2QTBnKzlacldGeyhuU0cxaCUNCj4gemYmTi1wT1VwO1k1LQ0KPiBRd0M7b3xoKnI1 TH0rZVhJST0wQVFKTWV4YV59P2ZVdlk7cF85VTApfmxtdTlKN1Z0QEdxMw0KPiB6SURtUmY9Z0hR P3RDIUM0cEtmMDwlWVZ7WXd8JTt1dnU+NGcpZzgmbGEpO19HN25MJkhfST1+eV98VkF9PiQNCj4g WEFQDQo+IHorK15qQSNXYGpvKmhKJDJIb05DR3gqSWAkX3VRbXduVFRoODJAI2NaOHZBWWA1PHF3 MmhxYVhASUhzQA0KPiBkKWBZSVkNCj4gekImVVBGSXcmbWBZWiowUypefXJVPjFpakluUUNUdHlh aDY0KCU/NlleXkBRV01qU2NWTD1gcTRFaGt4fnENCj4gTHhjaw0KPiB6e1R7QHBIVWhLN1Z5KDl6 QFJPbXFXZ1pEc3k1aTxqLQ0KPiBTXjVnWiUqS3xGUWllX3dfI3VqTzhlP3RIRXZlUW5yMHRVDQo+ IHohSSgmJlpFZikweV9jT3xIJENLbHE9MTxKdXZOc280byglVyZiQm1yZWxkZFdORWhJK1BrPysy SVpNSFENCj4gRyg2cygNCj4gempHMDhpayhOS3h6VEtCSmVsX0FWe09ZUHZ3ZmdvKTxnQGxxOWhJ fTdlVGlZc0NIaWR3Vl9pKVA0P2lEeWJ8KGsxDQo+IHotfGdtLQ0KPiBMOypZV3tCPm1obng/dlp7 X098S3BQcn1XVllyWXo+YFJxQE0rciFSX3YpfkJvKkVmVzlweFlQVkghUzgNCj4gekRNKjMoVC1i Vn5AMmImZ0MwMUhvNEE4NHtoZFlTKnNRdE5pJkZrUn15ODgmMW9wR0ErdiQ7KC0NCj4gMDNAPkEq aDVGfg0KPiB6R3hFJUh4NF5MP0Y2KG5QVH1wTjw/N3FLR0dCSmwlSjQ5UytZQTtSY2w+OHkyZ2FY RmlWX3tHeUhRaiV6SEY7DQo+ICooDQo+IHo8aF9UQ1hwK09pZDlKanVOdVNkPHNseDdLVlV5ZCND UmJYTStwe3UyfEFgVmd6Nih4KmNHQW56b3p+Pk11DQo+ICpxcDcNCj4gem4/IT0wPWV9TkMmYFkx d0g+dHd6UyhafWtyQS0NCj4gRilhPWJPIW9xWmFiKEVCTlJfaHRuakUra1g4PDNfRVQrfFMqcg0K PiB6WSVmMTI8WlFLakEtT05IRmVWO3tle2VHNCs/I3g9JVFTQXB8Nz4leHklLQ0KPiB7Y3g1e0Jm OzMoZUN3NE04QDx4RjxmDQo+IHp4bEVXNyYxLQ0KPiBQZ0JSbmRyTk1VdntxKHhSbjR1aCQwQWlZ ZjJ0eEckSFlBYHNxPGNkZSEzJGdpdWVPRUIkNjc3bU0NCj4gelMpZ3BPKCtxVDBvQH41WUMhbX5k ZXpncighWGFyMD1OMDh+biRPJntKdENlajRqRWQtDQo+ICVVNUplKUs9YSEjUDg2Sw0KPiB6NTlw O1M0VzdnQ3lMTXotDQo+IFl+KklVWkx4eTNxUmhUNnFuY1BAVGJPYWowP2xWZHAhcG8yVSFHOCFS dTs3Tm1TMztLDQo+IHplaG8rJGNXcSU/UUQpemtrO35vaDxvbEtUTlZ4WnU4MDRQMiFOPyZ2cUF4 dD0jfDtRSFIjQ1d6M0M1JTUNCj4gNT9kO0MNCj4gekwhX2I8clg5QGJBOGU5UWw1Png1aE5oNC1a JHM3ZXE0Mn4/YFVeTTE2YnNQYVBVWDh3YEkwLQ0KPiBjVGFrTiY9KWUoWg0KPiB6JFA0Yml6LQ0K PiBHeD1PfGdYV2Y/O0xeRyN+Y2RjKUBrVU5OfEJ5IURnU2MkIVIhTSpnZiN9ez02VXVofmZwOHNt Wih4DQo+IHooMnk0bEV3VXpTIVkxejsqYClEO0wxdWZAcXxmUF9SQUZ+Zyprcl5EWm5ZLTJYSjN+ YnJTOzA2WU9gSFB0bjlLSw0KPiB6VW1RYXAkeH1uJSRnRVEwIXA7cFVTNjc7Tm9NVlp7RkR5T3wp OFdMKlhRMmR5Vj42NnQ4UzhEd3ZPMw0KPiBRflNRdUtyDQo+IHpocTxLKkphKElteVUxck1iVlJa aUVXTW5ZcSNBMlY2SGhGeG5FU2g+OX1TWmE0SHxsNCE0WSUmUn4pT0gNCj4gMTN4N3YNCj4gel9u KTRxbSNOeE4kcCU0fUoxO0VwS2hmdS0NCj4gPUtnKnU1e3N8QFgoZTB6UmRhdjA7JUhVJGYwUlRn bz4raVVUa1RORQ0KPiB6N1VhTzgrJlRLUkNqMW9qdU9jOzNBOHNsOWE5OG5oT2hZKTVMPzR8P1pi WlA/PSNmPH0xMVdrc3NJODJTZCYqDQo+IFYoDQo+IHpiUUs1byN+VEx8a0RvTENJRTBZXlpecDdY bypnP3wpQEZrTi1mOVFlPz8hLQ0KPiB0b2ZWSDJjek1vNnpYbnl+Pmw/I1ANCj4gelJMdCEreWpr K2ttMjV+bFYoI3hmLXF0Q31GYVh7ZjJUTD4jZ044Uk5AaiYkWEM8WmB5dipiSVlgbH1jSyFgbj8h DQo+IHotNypGb3Y7aTNPYylLK0c2IWtCXytnWEpsUipwQmtDQSY7eWd2KWo8O2hNZGAoU1J9KmdM QnVYclU8Mn5mQSh7OA0KPiB6eUElSmt6VnBKdmFNMDdPSzV1eElvK1BfLQ0KPiB2eX15JHY3a3la V2xQSnkqdGV+QDRgZ1NjWCRgIUFzISpxVypwbH5KDQo+IHpkO3N+JVZOKSUoUW1GNSVpMVo8WW8w NU51SDZObm0jSExhTmIjYWE4NzZ3d0c/VWB+MzN2K2VXWkt7DQo+IGFGTkxENEwNCj4geiZMRGZ4 ckteRURlO2dSPFRWX1N8eVhjQSltKEwtDQo+IF5ARnJWaGRAZEJRQD9CXngyK1NpdDVXZSpqUVA4 b29uOHcqYQ0KPiB6UU9qaFY4KkFAOUpSd05PeW4lRyZRdTdxNlF7WXJKMypFNEdsVU09dD1RelF3 WG1DSGVRb058dD0NCj4gKEp6Q1QyN1E7DQo+IHoySXc/WEElbDk5M1pWQGI4OTNfYGYwY3RfQU0o QjVMY2FJK3ZvdTheLQ0KPiB8O04za25mRkdUaXRjOzNPdTJrOTxiWDQNCj4geldlcGdFN3pRZy0N Cj4gZVVxcFVrdldMXmpeXk85UHBUeykwczRWTSFNQkdATUY+MkdkUFJLfnJ3WSFZVnlUbDI+Y353 fA0KPiB6S1BDRTFSVmI4NTQreUhmZnpuYEI3Y2l9PihAWHxjY1I3cV95QXRVMEwmYyRXSH0kdG9T X1BZfkY+YkduJXwNCj4gJE5RDQo+IHomaiRMQClJfWE7MCMofH5nVnhwWjBYYnNpO0ExKnhmKj5T M09xVD9yZnN1Qz93aGFwNU1rSF9yVDVGaFcjSDYNCj4gIXsNCj4gelNfZFY0YmsjXm9Edi0NCj4g WXx7XyF1VWNXcFdCSkp4YjBPdDxheSYpQFc9OXo0QHY4YXdCTVk7KEIwRDdUaVZVV087bg0KPiB6 SkU4MHdOMyQxV1RVS0FxalY5RFlqNnpIfEJOLWxEQ1A/cElsSHhlTyR9WFF5T2ZOJVdlM1VlLQ0K PiBwYElCJSstYFFPDQo+IHpPZERUUCVScTRYd0BPIU9UQmZSVT41NkVzP2R7YGZGTDRKSzFGND94 aWt4K3FVSWQpcllgSWl4IXxmRiVIeGQqDQo+IHoNCj4gei0NCj4gZ2F4SDBLRUJaekdEbEkmQXkh ekEqITlpNGY/NnpTc3UkcWRhKipmQk9RVzh4d1ZtPERKKnl9SCVzMkdzdWBQIQ0KPiB6Xj5FKio2 YmopRlBkTnwpanNfNWw+fVJPJShIcVghYjJjVTQhM29JUTA+QUNuKHBITUJrVXQpLQ0KPiB8OU4j N25uZkFIDQo+IHpWWH5zTWo+ZEtEP0w1JUtPVURUbmpZRChtT1AzWXIlR2AoNztHaWlTQWF0eG98 R0ohNWw0I2ZVUihqRVBkdTINCj4gNVUNCj4gek5LTiN9NWNjZCZHZGA8P21fKypyZVpEbEYmSnlp TV5XdFcyKlo4amp1dmtsM2JfZGRndDBwUGFzdzltMy0NCj4gNFN8UQ0KPiB6QzlIU1VSP3dYeUtm JkdlVXJfaENnQDhKcyUtIXtPMTtEaykhO3RfKHtnNE5XLU1CYGBmWntmNkpPRH0jOVQtDQo+IDln DQo+IHpyT2NnNkUkJXhuM1psQ09RUis3TDRjOz1YZGdCbmx3ZXo7dy0NCj4gdDx7c0xve35vPT9A cXppTzBKUDlMNjdhQjV6ZUcNCj4gems+I0ArIX41eWw7dnl0WU88MnlSTjBeKFB3T3d1aSFmJCNJ QnxiMHA/b1JxZFhBKW5kR1hRPnVORyNFUQ0KPiB5fiNUUw0KPiB6S05Pfn4pezZsalZBP3R1VV4q aGZNRWV9ZVNDemdFNlJ8c3xnWHZCdHImYUBhWCtWZm9iI0JeZW55Z1peeisNCj4gNWUpDQo+IHpq X0c3dmRQNX49KnMhdj4kLVlGbyYtJl56PDhlXjUwdihXfWo9Mmo8bWx4LQ0KPiBMcmRVYERJMWNT bWtnUiZDfEVXa3kNCj4gejdLRGdpU3N8fi0NCj4gRmFlPmtIPHRMP2dRYGFOUCR4PUh6YUNmOEpF R1NOSkR7Ql55Mz5tOEJyPTF+cGAoaUIqQVQyZA0KPiB6Z1Q3P0RwSUZRWEVoIzxxPyReK1pYfilw RUpQVnh7RjxzdV9eSGVefGFqMEJiX15qeypvQEpkLVYxSWp3LQ0KPiBHaUt3DQo+IHpKMWxvLVpl e2l5PTZ2PX4yLVp5Mmk1UnZWOSNHbTE8QVR2bXpPNmZgeTledG5uOFlSfWhmTHpoQVAqTn1ZfWct fA0KPiB6NUxCQFI9T1hSMFNheFNAZ1JzXlpse2FwNkd4WE1LUkcjZDFsa3xxYyVfQEMlNj8oJVNh ZzlFd21yZA0KPiAyUkpaTVJyDQo+IHohIyNFfngqZiZtdmApTTRAZH4/KDkxMyZGQE93ajFoNEQ8 Pk9UVEU0bClDQHlFXk9sOF5jRlVldEZlQlINCj4gJDhQPygNCj4geiN7Pz1VVj95RmNCQXg/YVFl R1FpTWk2ZzloQjxVNF4jeVo/a3R1V2tPSmJvbztyVVpOYXptJX1XWFFkDQo+IDxNMDdwMA0KPiB6 eHV9Ym9BdSopakc5Zig4PFI5aGQpOD80dnNVMzJeWHJmVHd6U19RJXtCczVwNDVmUkRTZClPKk99 YjlkPV9EDQo+IDx6DQo+IHp3eEIqP2E+JmhQPml4TykqKnxtMiMxYUtjVGo1cmhpaDxxdWI5Sj9x ez5NQG14QCZtTF50OztVaEtBP2QNCj4gc2w/UmoNCj4gem55cXRjS1k0YWYzTnUwUmEtcT9te2Yk czN5djVrcm9zdntwYnt7MiFLYHszQVo+I3NRQXNvUWdQQnUxTExBK2FCDQo+IHpjZy1vbTFSbTFs ayk0JjY1TTg5SDZ0V3J6PWkta2d7WD9xYChRZX0wX3xoeGo+Q2BjSUxGdE5tYXghWiVjVWl5Mw0K PiB6dSFHbUhyUT5uaUZpQ2s5JFZ1RCE5KiZ2RlJGT0hTbkE8LQ0KPiBLdkd7NV48XlckeWlfPCtk S3o8OWptJmc7WWM4Y0QmDQo+IHpVbj9iYnRZUWJrZk5ZeDU4KXN4XlElN0Yod0gze2VtailJMHhw TW07XkdFRDA7czBUJSR+Slk5YmRGbCltKA0KPiBufSMNCj4gekh2OGtVNFZvTSM5SVIqQSs7RTQp R180eXQmSGJkWjFBMXw0akxNRXI/fV5KUjlgfl5ENG4hTDRpbXllZjxLUA0KPiA/bQ0KPiB6cyhq Uj8zKkw0bTl8fHhQeFlfREBgWjZ5bDF+MnF0blFiSjcjSn5wSW1KSiN5T3k8RF5vI0d0ITxOdXtx V2VyDQo+IHY3DQo+IHokNXBJaTF8M1VVZGFiMWBLZ055WXR4UFgwTE0kJFV4QUIzRjNjNF4tDQo+ IChObm5vYjNReWM+VV9CT0FtX3MhKlRVfnsNCj4gekp6Q21JR1pHVE9hR3tXfVEkbTgkPn47cVJY MShyfnRyMWleNmlVWj81OFRtXzQ8Z1kheDMpNXxRa09HaSNKKEkNCj4geA0KPiB6I2NeQ09nSlRs S0ZUVjtga25jSTwkbGdyKDIzODYtQ1BKejVFa053PU8pdVRUY3UmKGZCenJtKiNHOWxgMHVIIVAN Cj4gemtSeDtQN09xe2NKMGdFamkyWSQtb3g5eU1CJkUtDQo+IDB1NFN2QGhvYG0me2IrVXgpSjAx RT9EQG0pMlJ8IUJfSmgweQ0KPiB6JGQ7YGExUiQ1eytkR1AkI1MocFBXMkpHbFYrQXt1eiMjJkxM IS17QmdZZ0d5YlRsWn1zXng+aENhcVFrP05sSmUNCj4gekx2OHV0MD5saWxibVFTTD9BOyRXbVRy QlYoY29VLQ0KPiBsPzlFOWZxQkxZT0ZQIU8kMDZJKSVtVkYmcG1pPmJIcCVgWA0KPiB6KHxEcW8x ZEQ3P0x7PSV7K2VqKT9INTN+c2hUOHkrLQ0KPiBGNWlNKGQjPVcob0JCQ1hZZk5tKXc1OW5qaiU4 MWROMkNIDQo+IHpUJX4oK2F3bTsyTkp4flo4RzNCKVJoZ052SX1JO2Z3eW8tDQo+IFFYRkx6NTQ1 WWoqWmllMGhEUX5OcnEmRl9HK1ZiY3MNCj4gel5vRF8+ZUdiTlFiTWk2S05rbElEMyliSzwzKnQ8 KzBVe2chPn45Ukx6SXlpcSVDYTdhSHIkVjQpdGcmdzFFDQo+IFNDUA0KPiB6Umc+N2g3TmVySitl JXdXVDdqKjJJZi0NCj4gViNtM1ZxZk5BMDZKaSZqIWNeM2hEfnFqck9ZVnUoUnE7ZXtJSiUwfDti DQo+IHpaQiZpUGpXYGp8V3dlZGdKeShoTDAzbXpzSWIld2Y2S2A9dU5fQHJmYDRsbzNKNzAmVkp9 eiRIc1lIQGBhcWYNCj4gRygNCj4gekduZlJiV3I/N2w8R3BxPEk1dnYjViswUEc9dDBiSnI5UElt WjQ5SCoqd2F6WjNjelhLQXYxKWNRdWwpYCF0ajxyDQo+IHotDQo+IGdyPU5qYSQ5RSFSWXhkUzw0 bUJ0Tz9iaFZyVzgxfDZvRygkITIybTtXUzU4c1ZVXm9FSWBgKSFnT202KT8xTw0KPiBPDQo+IHpl YXNXJmsqR2JQaC0NCj4gY1lka0RmJlZHbUY7JDAmZVBzPENjcTxPY0lQK2w4YHRPeSRRd0l3RSRv cz1faU1SZU9VfDANCj4gejlrUEp0UmNfdHBhTVZSY3d1YyZGV0UwWj0hY3B8IWV7bEtfdGNfdSN3 bnxNZy0NCj4gV0lHPEA9fDMlMFhUeHl3Y2Nxbw0KPiB6K2lIcjVII0tGb3kwcTw0bmx7eiZqR2kx Z0B+cEFFXlRHPFFfPXpgPyFGVkhVUWFwOTMpPiR9bVJmQnUjR2wNCj4gb1NsDQo+IHpKNFlMaDlf JiR+bG4pXihgdzx7MEx+VWk3TUd6OXUjYlM5dTByen56d1FIR01jKm5sc1k+bDlpYjN2X294OF8N Cj4gXjgNCj4gekpnVj1xcG9RQ182YlFSZ0Bsa2BCUFZFaXVJdCFNX2BkNyhpeXdhOHZ2PV44WU9D ZFRgcmZvcykoTipXNCtLU0oNCj4gYg0KPiB6LVAwajRhWj8pKj0tDQo+IGtETTtlWDtZYz5yRiVF YlFWWjBzc2MxbG89NUttR1VNVVYmeDBJY0o1VnlrZUFLMnNHTD83DQo+IHooQE82MGU5ZiY8SkBi UV96YTZEdSg/UXEzQFBBczg0I3dIcyVIUUpkUVY5VVBHK19kT25VXzt9MzYNCj4gKFFZVDN2RHoN Cj4gempJTkIhb1lAKkJZcHB4KmRJNyZ9YGIrNHw8UD8wZWMmZ0ZpYVc3T089ZEZeMEk/b3ZjOXFB NGU4SzV4VEQ9DQo+IFNiUg0KPiB6OU9HPn1wKWApfiV6cXxBKERZbkdHKGJwOVJyUEtQXlo8PTtk PEJQLQ0KPiA3SmB1VmxjJihSNH0rXzRFUGQ4Tm4lT15WDQo+IHpET25HSWorcmErPW9wMHkmSDha dXQ9YjxTZWVyfE9LT0tDP01qX3g+TlkwSk12bkM+JCtZRmQhXlJneUYNCj4gMzZscGMNCj4gek89 KDBoQTNHcnI/Sj1BZWwqPDlnLVdAaUF3PWFKJGtQWTU/Vy0NCj4gYmt1TkZUfW9OQyZtX0xyUG0l c14mYChGe05kSg0KPiB6M3pkfCFFbWpgYlNJTDQ8Xk98M05lZ0VCMiZsMT99eGorbyRjejU7c0BL bzVeT1pTfjxSPilGRXs8cjM+QnZiVg0KPiA2DQo+IHpXXjlpQCFRRmxkJGNjOFloZUg1XiE4UWNx czdVWHJYfU8mWkwlYGNGO0gmWlcxI0I0I2M+Nz8xIWVsVTFuNg0KPiBOcCgNCj4genVeOUBKMzll Oz4xU2pvTXleP2h5UGBKZTsySitLUkh1U1BUZ0goMlExakBScDI1SGM4cUZ1KEdMRjxZM0wtDQo+ IGRrfA0KPiB6ZlQ8UWkwNlBwSk5WTERJNGgydzVhY3swNDNCP0EheHxjfXw8cUxMMXgrNmAke25a TEtecyFiYFRIckpkM2dGTyMNCj4gekYrajJvVVFNSVRoNjxnV1pleUBtOyZvRncoMFdRNkFxbWBr cmVnRnhrIWpWQlcoNX1XPXw1PEZsZGFCDQo+IEs/c0EkQg0KPiB6a1Q2bTxtYkh5ISFHMHY3OSQy UFM1fFkyWEdDeTMyUipwRW1qbjRsJEptPzJARSZTNWZZb0V0fTU3QE5fDQo+IDN7TXomDQo+IHpq e2E3RC0NCj4gKlV1cGV3PGtPZlMkRnBGP2pvZkBqaSQ0Wk0/Wk4rRnZsPHtSUUxRQUNDNzIkWWJN dXhOR21xQmVrRDgNCj4geiMyT3tleCt8RkglemMxelMxUylOZEVMZiVTOHdsdzhCPD8kakNiP3hv dUp8KDh6RmdNYjF+YyFBczJnWUotDQo+IEVyXw0KPiB6MnlvWWpEbX5ja15tU0NZR1FJQFVWT2hm TWVXcX5WV1QqPjgqa0ZGM25DOXFJOEAoQCVtS193DQo+IEctZWlaMS1pUGRmDQo+IHo2XkByM2oo NHB6OC0NCj4gTzxtNXdjV0R7MnVIbUBgSEVxe1RUTXNLeWtvPDZOUjE1TWNWVWhIWHo/JDJQO0F9 dndKTTwNCj4gel8+X3NjISlWcWNISVJMbHlGV2MwNHV8I1FPWVlaN0Z2TnprKDF+dUYocmhxN25X KWt8NiVgQytxZl59WHFxNFQNCj4gKA0KPiB6e3A5I2lTVVphMmdTKDt2YiNBZlUhLX42R3FYTDA0 ezdkZHlDMFNjaWlubS1ySm4wWlo4WnpQUkx8Mm45Y2JnWnwNCj4gekQmMzV6QVY1bDIrKWB+Xj49 PF9oVWpsNlJxbVlEfj0jb1ckI34zJkc2bXtFRl4hbyY3QDclV3RCLQ0KPiBhOVY+aU94fg0KPiB6 M2g/TVRYdD0mU3tGa2dSKFlqSTI2QHplOV5Tak0qUExxTmlNZXQkdDhsUlZEXlh1RHx6b3ZhMW4o MjsxWCYNCj4gd2QrDQo+IHpvWlBCNi0jLWp0fEpgNVR7PmFBMXtzb059dG5jd3RfdUY1LSpaTk0y Mz9SJko8WX54PSE0TSk9e1B6N0xBe2RsXw0KPiB6VXNNez1OZmUhWDMjUTIydWpXKnNfMnp4VW8w NU5Fdm5mVG14dmxOOW9mKnRZWEledjFWflEqVig/c2RnPA0KPiBoUGJYDQo+IHpvWndZVEFGMVlH OT5JLQ0KPiBaP3gxPjMlfVIxQUpXcCM0M3x3aylSc3RPO15xRGZReXJkNGpNKE97bURfVCt4MGZa djkNCj4gemV+O3hfUzExMXZeMHw8dntDRXlHKSNVQVU+cTl9d1pVRj1heUIqaFp6dkwla3FJU1N4 cypGMU43b2dUdkANCj4gfD5JTQ0KPiB6OXZ9Oz1NI24xVShvdnp5VEA9fjB1QVFefSt9Tnt9RmxQ T143QWJLZVlydyEoLXsxLQ0KPiAzTCRGPGooKmAkZ2t2QGpODQo+IHoqb1ReU1YoVWhfREhzdk5O OzROMG0lNHtPaTNOcm9xbSh7YyNFeHYhTjQtDQo+IGJRVjBfUyhhSjVxN2JEeD87dj1hOTANCj4g enM5MUAyRHpSfU87RXlNWnNjTFZDMT94Yl81N2A/SWduU1VgWWFyeCpEdD9+dE5gWGojOzR0N3tN fmVoPFdvdnANCj4gQQ0KPiB6MjZDMX1oaFR9LURXdnZUd1E7d0UtcWc5ZT5qUkE9KjV0N0Y3fk5Y Qy0NCj4gfHtZaHozSU52UGYzREljaUd5V2o1aUxxDQo+IHpSQT4rUXI2RzQmLQ0KPiBAZjVYSzBW ejEqe2Q/VXR8WUI3bGs8KilURlJjKDR5NHxGb0UlcVBjS0xHfiVGUDN4O2NJcVINCj4gekNAeTti bSE0Tz4/dENQKlMmfSs5ZUJHNVMtISpZNjQ9P0BKfE12KyUmTUNTKC0NCj4gKDM3byVeamJjPn1w PztzbX00Vg0KPiB6TTA2UjZVWD1+KkZuPXNVOENuVShNXil9alJfP2xURmwtDQo+IEJEPk98a3hW QXdgd19ATEg8IyYlK0FvWmpkZz52PyY8DQo+IHojeUdhUHp1Zml+eU89TTV6Vy1DMW9qeylNP1N+ SUdYMDl2a19+TyprT2taMXt3NHstDQo+IGghY2dZeT5ibE1nKDYpYUgNCj4gejw8fVB1UlY3VE83 TEhmRChtbmY3Knl2O0RyYFEqcmpVdyFWSU0zQXhiRkooYk8qdlBrRzxVdEIwdn59KEFeDQo+IEVV cA0KPiB6cEdaSFkqSTRTYjN9dUFRdiNXZzFCNk9aenAmcUpjPyore0woVlY0RCV9dlYldH53anM5 b0Yrd2s1YH58Sw0KPiBlRVBEDQo+IHo4KGYwfV54cmt2MGVhQE8lU1pVdmUhdS0NCj4gY2teWGE3 VkV3bClzc0Q0O3wxQ3Y5MWN9fGQmMnFkOzlrfXZRIUAkfC0NCj4gejNAPD1gTlVfZWRzUkZPQVpp X2kpdGdAPUVAS0JHJCRYT3ZxSzktDQo+IEAzVldjYDM+a3VgJkpXNXBjSjtFT1Rae3ZSQw0KPiB6 ZyVaUFdvJV56UERlRjtrIUhNPG0rdHdOPXNyRCMmXiRZdT5CJW5YM3FxczUlMn10TS0NCj4gVCl4 Nnd4Iz8rWFhsOG1VDQo+IHpRYiluTnt0a20qdmdrVV5eRSNUZj5vZ1RvPiszNVhFeEw+K20meV5W K349YF9XN0FZKlVsR1Q7aktpMThgSg0KPiBvKWANCj4gemFkPCtfclM9dFZjVF9YRm9UJW93ZVQ2 KXVud2owY1c7PW8/M0xJKnBjbk50VFVSJlFCK2lpOFFZZ0JsaUoqRA0KPiB6QA0KPiB6aSF+YXN0 bHpfeGRlI3xxNXFybHpaKldMPUI7NzxAaiMkfXRhZnE+Z0h3R042RSp5dXdHal9lVEREOGswSm0l DQo+IGpMDQo+IHp6RCRlVGRKR3ZmYDBqb1VSXzdaR1RpWH01PTY9Zkg+QTtEVEN2KnRkIS0NCj4g TFRCXnokYT4qMEMyUiN6SEJ7WVFIP2ENCj4gemcrOTw8bWRyc052Ki18MDJmK2FmVmE4TmFrKnxi SFBUPGEwUWt9MHZJeG5rKUU9LUZ0dFpkOEx1bVM+LQ0KPiBUYUYxSA0KPiB6UXF5Zm87TSlCXzN9 USVxQiFfPlkwY0I/R3MxY09vKTZXWmUrYHlIa2k0WiVLZSVATkYkVzZ8dDctDQo+IGR2JnojOFBT DQo+IHpBfnE1ej4oSExEc1k7I0poS1VoT0k3UkZJTn44X0FvKmZkc3Jjb0pfSjBXfXhJeSoqYzhs UW4lMjleaHdKWig0Ow0KPiB6aT4+Ynx2JlAhP09wZmd2X0c3YFNSfjxgVHRhUXY/MCY9WW1VaWEp NFA8OGcmU29Lb3pPUDUqUTNtMiFLTHINCj4gI1ZeDQo+IHo3cG9+PWNrai0+KT1xcT49JXF7UmEr aXtuU3hebHRwdGc/cil4bTRlP3ZVJilDMFZzQXcoQiNaKT1kNTR1Pkhscw0KPiB6Pno+Xks7XzU3 PWFwSkR4VTY8OWxwVFRRJXclZzFkUTY/PzZYWGp3aldjQTBfeUhiJTBTVCZOfnJgQGN0DQo+IEot K15wDQo+IHo2M3NINU9OZnImZmw/TFRObVJaKlRkWHJWJlhBMEZfZmleI3JqaG5HUzZKVmgxQCNx SF9OJUJlWUEpJWgNCj4gP1pheFINCj4gejxkKUFOYTFyQHQkRjZnY01yZ0VjX2J9VWR5ZzVRR1Jz ZXotDQo+IGtxKTh4XmI8Iz5MdWZ1N3s3M2NWbj42cWI/V2xGSw0KPiB6LQ0KPiBnWlQpTiZHRV9H VERLUGxHVyVxUUlCPHR6fnUkMDVTTEd0UEFBQX4yfVR6bjFVKlVvckpBfnpqPitMS2IwDQo+IFJw fA0KPiB6d1YtYS0NCj4gKE9Nfk0+REZvZDk+O0dQemEhO0VkVkZBT0I9P0J6QGd8T3hBRVheVU5k QmI8JUFmOCMyZiklamxXb2YNCj4gQA0KPiB6d3Y/KDQqa34wMyN2bUFEQHNAMVp2eklLe1omXnBs Un5xQ2lPO3Q2UXk2JUV9PzxuOGpoV1V1IUFgZFRDWA0KPiBGUmQ4DQo+IHpsSVB+UWRvYXZqNSU3 bmV3cS1yV0FDM3ppUWxIazlnO2NkKCQoKntgZTdmazNMSEZTWXlpcihmYEFmZ3VkR3hQKA0KPiB6 ezxOe3xfT1pMbFg1bVAzKk9mYlIhUSlGa3lmN3JZa34/LQ0KPiBDbFU9MW5DI2VFZWB4V1JgZmZ+ eEhLc09ffEU3YHM0DQo+IHo9LWcqME83M0gjK3smYCskfU5TfVo9dUZyJHR9QzhheCpBNTB2TW1X dEZaMWExRXk7aUxCWVQmOz59UTI1JWlkOw0KPiB6YSE5XiVQS2N8RCNMQWdHTTwkJCVRQUc7RiVS diVGWUdGSSlCcj9BeXJQRlJabXVvP2Z2N1dvWEdveQ0KPiBwQFR+fDVADQo+IHoqNFk/UzlrVV8w LSshYVRUMnszeT4yezltJk1jJWF2SnpGRFM/d2RKXi0NCj4gOERDJmUhZCtieE4wVTx2Uld8Z3pM fj0NCj4gelY/cTFkYldafUM7QEBJZWBgaCQkNl9ecUtSO08pMmxwQC0NCj4gfFlKWWVjOSNzNjRf bXttUiRsYk9xR21JSW5jYHIrKQ0KPiB6SytefUhlZnJkd2RyWT1TRGRiZUEhNX1OPmItDQo+IFJ1 Y0FPQCo8dW89QF87WFZWQWgxQl9PTldjfVRWfnlDVlElNSNlDQo+IHp5Tj8lU2Q2Tyk8UGNjKncx UiRKansxND1sWUtGN1V7aFNVe0hPaEdkaFJiSGBWdFQwOVlfNzF6PmNjJDM0NiENCj4gQj4NCj4g elcoYjIzRXdReXooSElCUF9sWFRJMU51PDduY2d1bVZFYkw8SSN4QD4pc3VidzIrTyQ+YUBGfVZh eE92ew0KPiA9NDcyaQ0KPiB6JFBeNV9sR1A/cTgrYDBPcUBBSkBNUnZ1Y1hnTnhscF8xaV5UJFFe KEgjfV96a1E/aGhWSnwwVyt5VygNCj4gd0ZDWGs4DQo+IHozLSlgSUtXLVZ1NkdOSEd8Mm1QKSRL MXZeSyUlLQ0KPiBWe3BrIXwqJFFwbmU9QjVJaXtNSDNSR1hvTlBCMyQqc2Z+LXMNCj4gemUlWis5 NDBzKGZrPnl9OEVKYFRFVHgxQ18oLQ0KPiBgO09qUUF+cXNlVjlYamN8UEdAN3VMKEREak0wMl5H bE4wPzVPfA0KPiB6PVU0VXxGb1MoKGc1M0FnR1BLMzxETVdDMiN1V1R9VXpxYXoqIThsS2Y5WHF1 YEp6RjdQK3tQWGQxWXFCUQ0KPiB8SEhDDQo+IHp4cExzWHBvPG12e2k/PyZ2WUVQJTd3Yyg3aWt1 VjRzWUVNRi0NCj4gKFVMZU9ZWVUqP2JfanNSO0xibURRQk5ZPkEmakoNCj4gel5ITDhpZzVNcElf YCNKIUJLYmd7NjFmUjYrKC1UOEpnUmtue21qUHFJUjZaKVBwb1ZRKEZSPmo+VzF7WjZNOzlEDQo+ IHpgYTtsSjtzPCUlOEpsRlp5Vjg7THdrXypyaHpadWkhKlAwR2pDLWlZMkNQU2UlXypKXlZtNm1x ZU0tDQo+ID5DSzckTUMNCj4geiFZV3d9cEA/VmorTiN1cEQmaFFpaFdJRUtLR04zP2J5M0ZTViZ3 TkQtDQo+IDh2NVIjMDExdyYqRVchPGMtVzw8P2gtcQ0KPiB6enNzPU0qfXFWUD9UQTBiTHhAZ3lp XjNYMk96YEJyK29zZUdqYUBIUiEwR20kNnxLWD1WLQ0KPiA+VmEhZ3JtIWtsYWs/DQo+IHpnU096 fGJBUk59JiQ8RUNvaSRlT1oqXz1KQDVjRyE7Y1NsSm5RRnxWPjh2QnNLT2IhZWhBOz9TZF5taHN8 Qg0KPiA2Xl8NCj4genA4aDEtDQo+ID9gSlR5STMoaio5ZSYzUlMzMyZXWHx8Z2VeMCM8N2l1aiEr c2JoMVdAWjNsejlAdCRkQUVtUEFGbjhHJQ0KPiB6R2B6d3RpaDR7WjtjSUk/K0lgMH5pJmZkbCUw eXJKdShOQ24lWnR4P3BmVSZudWI0dTFZQm1lJFh5SikjO1dfOF8NCj4genF4MD5icEtwSTduTDRy OCZ2KVZ4Png3bSNVQz4lfns5M3gkSXozcjJDdSNBSjJsTlY/PDBNYT53KzM+UD8NCj4gUS1KdQ0K PiB6Iyk+KE9MJUx9V007PX5iZTZVMldNczBffUNVIVlUPCU5THNqMD9LeWckblI/bl57TXdfWHE2 S2NvekANCj4gNGJRSTdBDQo+IHpKRGNTZk51QmtFUiR2ZGpZSVQyaXFBJn5hSjtJbEApXnFTYGVg TlRibnRnXm9RRWtiZVNZSk9URnIjKCtKckkzXw0KPiB6eUQ9ITw4V2gqXmUxVnxhdXBkLSE7Y247 c0xVbntZKT5vVEQ+PjA9LQ0KPiAlc20hVztzO1YhNkklVXcjNGUxR0JiRkQ7DQo+IHpNOyE8c1du NWlobGljZ0Q3X0k1N3d8RyFSbFFfbkc5QEhUTztQZmRmOH1VRXZfYjRsSlhOTFcmRlV5UHg9amEN Cj4gNXUNCj4gemhPRmBHLQ0KPiBQZ1JyZihhIXJjY1p5IUZyVnIjdT5+WTd1TTBeNFJVWko9QEFt UkVjMmgycTg+Y0g/PT1BKVR7WSlXXg0KPiB6WWdxcn1rNEcyQnVoT2RIRTQhRlVWeGszciNpdkw7 VUNzKkJJNTN1QSU+OEUxSiY/ajZxYCUoWCZoa2prVX1kNQ0KPiBQDQo+IHpgWUNLNDUhT0k8SGY0 NlhnQT5hU2hmczRHU1QwTUNJKE1zcTJhbTE5ZDt9Uy0oKSorezlwXn1GMktgNik7VHAkWQ0KPiB6 eHR+VCMwY1FYWnhFdjRxUTw/OXtZTipfTChtJGRue3B2e3s3SmhTK3twdHpvZXQ4OHlQKX5GaVo4 aHxUdXJIQUsNCj4geldzUkAxSnAjOzNYUXh2cClLb3xwLQ0KPiA4WkY3NHxCVnZvOUcqeDk1Q3NU QGp6cjY3QE8/Tm0xJWhVKVZCY01jLXlsMA0KPiB6PGsoQGNtUU8lViEhNCY5OGxPb0hQTWJGdz9s PSM/VEJlNExBRlZ8T2o/dVFlMy0NCj4gaksjd159Rmh3S3o4eW8mTHZoDQo+IHpqOzh3Kk8qPzQ1 WHw0ViY2aHd7WHhgP3VPKnprPUt7IVROV0x4UzlPbVE+MUJjYFMkVXhYJSshR0p7VEo9DQo+ICN8 JnANCj4geiRFVXFKP0N5fSM2UntMOEd6Y1c5Kl44JmV1QFlwNVd2fVRDJGUzQ35CREktDQo+IDx2 NismJGE2JHoybXhxZnVaYzl3ZQ0KPiB6cTd0TlpCdlhqVE9KWjZnd0A4ZUhoUHwrK1Z8Mk1pNVEk USVBfDx8UThwb2clNX11VnA5fnFQPylANw0KPiBuMCF1X3lxDQo+IHoza244JUlhJHpaRlNpMTFp Iz8+S24jZ3tYVWJVQi0NCj4ga34+Mz4oKUNRc3NtfW5IPE1PTyhWPzN4V0NsOUlQej02PUQNCj4g emtabldrX0wmVnFGRzlgRUs8WHJNUzwwbDIpQmAhdD80WmlncyE3fnNEQEhBPEtaTGU4ND1yYm5X Xz9jR3ooDQo+IHBucw0KPiB6anZCOVd5RmR3NWZUQGJxU1h+aUJ6aFpZemd7cnVjZ2V3SkYjJDNj T09wPjlQbmQ9SkApWSV0Z3c8S0V5OA0KPiA9MFZCDQo+IHpieD1eWVdpcFFPV3kzcU4qYlo2MDRY SmNnM2JhQSVAZHh1cjF5ODlEPGAoRlNQJXU2QmFWfGctDQo+IEZBaFlgUkNWSnQNCj4gejkwRGRj Tng7JXloQyQ4ZDRpe0xVb3Z7Y1luLS0lRUNTOXNoNyE/XkZZWSlYWmhSdk5BNnNIdntVS0pEdkZs JFowDQo+IHpKWlJUP0V2cUxQZihLYlp3ejRSTCRGYjNDYz5kKCs/eVFzclQjeWRRVG5SblRifUp4 QmdsSHA0d3FYSEQjc2lYDQo+IE0NCj4gemxOT01xJFgyNXhOMms2KmsqeCt0b18+TFkhQktjXkF3 Kk9RQnExPHhZIThvWEtgIXVMPllRIykhPTRKXjkNCj4gVStFbA0KPiB6WjgpdGtQbDMxPz9rQTtj bmxgeTRVYyF+I2ZXNj5mKzg4VTQ+c1dDTDhZQXFPeH5JVXd4QDd9VyttRmxKbU4NCj4gR2I2DQo+ IHpaYVZ3dzJHXztfOD1MZiFXVT0yJlFYNnx0IzU0QDZeSSUzRz84Z3J2eEBvT3MzXjN4Mm8zSWA/ VEpuPXkNCj4gRUNEKWENCj4gejs1MTc7RjJ4ajdSMV8yeCNWTCNrb3VabVJkQXtJX2lXYkFVV31M eEZGVjsqcDhtPFh4bjFAMmZQfGEoPTd8DQo+IDhycg0KPiB6RmFgc3VyZDlreSRCaWAjJXtVT19K QHI4el5hMCswdChPS3JDTyNIMWg/c2c1Rl5ISWdOKjVBRmZZSChUNnI9Ug0KPiBLDQo+IHppT1Ar Q2h7RTZxKShDVUw8NVNBQTAzK2JsPDVTbGUwPTVRWEp3Z004Mj1JWnxYZWgpSmczX1FpOTFWeXJ6 fj1+DQo+IF8NCj4gelB7MyQ0NGdvJk5KUXwtDQo+IGhSJDBKa3RGNkoxKEp0bUs5QWRadV8lc2Q+ RCsraSp0WFI9NUMxOTdOaj4lMGBadz5GRA0KPiB6XmFEMkNZNnxlI1lWOH5ocFcqeUJtVXZkRyQ9 R2IrPzYoaHZsaXlmdTtvSns2YkFJWXVrP01lMHlecnRyb2MNCj4gTSp+DQo+IHpEfGxLRjQxbC1K e2lDLVMzNj15S3xFM3gybHBfKHYlU1Nwfjx0THp6KGBpMk8jS0pLc3NvOG44V3J4b2FIWnsrMg0K PiB6M0B+UHoyLTM3aURDIVJoUDRBJlVFWkBqYnl1T0Y2aHklR3JVQmRffiFDSDx9PXo2eWs7KC0N Cj4gWlpYVGF0fmhNY2s3DQo+IHprK00mN1k1IyNsWGQjeVUzP25he1EpbGhnZGlNZVEjYChwN2tO QU8tLQ0KPiBpK0daeDU8VFFyYHE1JWNKaHhyJTRMTkwNCj4genVJNVolNVRCREFTVEA8KG9mPWtl bnV4RiFqbE1HRCpQQn5QKlFxZkI9M2s1KkI4X3FWIzQ0O1dvdnl+DQo+IFdXUmhDfA0KPiB6aUdF eGhmfjRDYUs1NHVNTSlrP2l1Z0lyUF9aYjVtMVAka3cyZHgkX1Uwfkk8Mm1INk9OM3NZdWdTeVV1 DQo+IGVYVCtgDQo+IHpmfUdid2MoXllfJCZ5OTdiVlhnWDd8VlVzPG1aOHNoNWphMWtLSEw9djBu YGpgNUd1ZzV5b0QxYjhoI09ZVGwNCj4gLUENCj4gekduK2xRWDgoJmxWfEIleyYmT0JmVGRPbnk9 JGBSUVEmQShZVWQ7QyRnbTZWPCNKKDZ+PmhhKGszJX18WA0KPiAwMyZHIQ0KPiB6OD1VYSR5bnZv Mj1Jc2dYLQ0KPiBYKDRNOzVRRTQ+OV44KkNZTmtqS1VnTWBZSUhpMGluWlFXd2taOTQmd3tsKSRF SSZVDQo+IHphaWkjc3NBNzZ3KyslV05BMlRMWCoqMndkNWF+U1d5dEk4aVMmU1pKe0h8Ozk+Pmwz bVg+IU4/Sk8oNmBtdQ0KPiBTdFYNCj4genJMeFVHYm50KjgqRnZwcENtcWxjK196KklDeWdUZCY4 NGZVQzY9UlRlX3BtSz0lM2NVZl5NK0Z2MFBkJg0KPiA3TilvSw0KPiB6KUk0ZHUqZGh9VyE3JVhS cDFtJl42SitXMHklQDR2VmpTbE1TTD9MckFHQ2BkQD91bDY0RCZAUWppPTkNCj4gQzZTSkkkDQo+ IHo9Ni0NCj4gZVh7ZzJ1SXkpU3RCMUZaSDd0N3cxKVBpSkt0bT5VNDJYbj9STFVSfiFkRiZ1aFIm X09kVzhxYEtDQFg7PDINCj4gelpZZnRWa29+OVJ0SSMxJSg3Z3U3V2wjbzI3MzcjaHF2Y2FzeGUz RWBrPGh1KUo+bC02SGh2PlMjbSZPPG57MGchDQo+IHo0MTFXfmc5LQ0KPiB2fHdTPzsjMj18SyhJ MVkmMUwjU2MoRDRheTZBVW4pd0d+dkNTdCZ0JVlnb2tvMzdScEJmR0BeI1UNCj4gem89RXk+UUc7 WkxKVCg7VlR0cDNfe0JAQT5HUzh4WGBwbmVfOW1KcU5ScWBAZ0t2NGJyNWZ0cHpEOUwkQnFSDQo+ IFN5KQ0KPiB6NkJZJGBLdTFQQXdiNClfb2YrUV9Nd1pMZUZMR3B8d35vQCkoUmh1Tz0lQkc8WUNL c0BoMTJiPExvDQo+IF9tIWRubnsjDQo+IHopYDskMzMlIytXSTROU3RgakBoQUFEb1ctPUxhOVFR MjdzM0JnZDwlYWRUOyNMSEtOLQ0KPiBaMUMmUklmZClkWlJYTl8NCj4gejxhJCZVRnxMQVREY0V2 RUQtdDMqbyQqVWpBQyMwPyRkYzRnLQ0KPiBAK3ducHQqKTxOJWFuXjRydjVnSGplYlJjQ0VKNA0K PiB6ZkNXZ24qSXJ8dW1PWiUkRiYyd2Y2YntrQm8+dUcrTyRBYzhRI092eDYodlhhM0x8P1ZFVWVv NDk7VEMjDQo+IGFuUSFqDQo+IHo8aWlBREZ5Qjg5OyhTR25qMVdELQ0KPiBMdHlIK0lsMEVhYl5D dWt7QCsmciZzY1dBSyFaemZvMEU2em58dkAkamFlTUQNCj4geio3VU1nMXNqTVJmJE9ETTZRTVVf T31DQ1dIJXp4JHc4T3teNldNMERVTHFLVks5VGE3bj1ZazwNCj4gUnBFfk9rI18hLQ0KPiB6U299 WVFZekxEIVZRUSRPQHU3bFEwWC0rNCMkI2kzPlVkQGYwVVhuQjlZKndaYVFITy0NCj4gN3NudCYx e3Vib2ZXVWR2DQo+IHotRDQ2Zlo7flBgSWkjP0dfaTNZfTJAMUwwP0VfX3xwU2wlfD1HZXFuJnI+ IUZTVUVoa2I3a3B5RzItDQo+IH4kbXd4K3sNCj4genJJVSFgY1ZCdk4mV1peamZtSUZJMC0NCj4g TUxJTks0dTU4ZV50eW9qJjRgd1A8ZCk0ZyY4K2pURmwqVVJgX05zP0hSUg0KPiB6dl83VDMoXkpS IWhuY0E8eyRVbXBfRE4qZEZ5JjYrSz5+P0ktDQo+ICtNNTNMaCFtYSl+Y09nXjEmUTtRMTJjP2hD Q0ZWDQo+IHp3OE9abmAxXm80NkokRkcldCNOaFRyPEg4QDlYSGkwZE88LQ0KPiA9eF9Scz1eZyZ6 RFpRUj8lanViUkp0UTdxd0dtVy0NCj4genZCJnJxX0Yqfj9VXjlrSjBlc3M8MTUkSl9teG1yY3I+ USlZe1cmZUZ4JTZBN0VJcm80S1dEYGU8VHE0QA0KPiAqPlY+cw0KPiB6azFtQjRYVndePWl4Vz4q JXpad089YVdfXj9fMVVXTVN5QzNOYEhrXzRUNTJIOTFrOTg0PyRNaCUNCj4gVnsmZm40RFY8DQo+ IHp0dTlgYjxkNyl7a0xRN3l3ZSpafDs3YEdTJihTd2tiNSsoQiRuQlFsamFpeEd7VyMmUnoyNmU9 N3h4YmliOTBaDQo+IFYNCj4gekJuTyl1MGopTSokMHdkMUdrM2lLWVk0dHRSZG4yZ3MmX2NrdURA d0Z5fjk1fHJQbmlWSVhUbSpoczVKd0ZFDQo+IDB+PA0KPiB6P31fbmBVSWNnekBqfVcteWhnTm4z LQ0KPiB9QkEkWlF1REVPTm56NCZMRHdjM2A7Z1dLe1pkdVNtYHNUME1UMWgmeCE0DQo+IHp7M3kq QGRVYGxZKz1UPSROSkhDQTUoWH59VnxHQGlAcVIraEI9NUp4YHs3QDxmY05LcTs1JlZkYnl8T3wp DQo+IEFzT2ANCj4gensjdks/SyZMUEVvbkg3Q2MzUlBxZzVHKXtYTmppI15jNzdCYE8oRDVNTzR4 RjVHKX5ecV84P0cyY3sxbGtSLQ0KPiBLcA0KPiB6dV5naEBUJSpuRyNRQHk7bD5TYW4mR1pqNVE8 ZVRmR15pTzJMJk0hSDUyITRHWndyfStiQ34xVmB+Rn0NCj4gJiV+KX5nDQo+IHopI3o0SSQ0SktJ ZG92NjYqODRzezlMKzJpUT9FeWpPfTlMMXRaeU9wPFc1QE1jO0JqZnVDVHU4WiNiSypDbFRJfg0K PiB6NGB+TEUlTEJhRzM/MW9ZPl48bSpjX3EjfFhUPlNyRjdtb0FxT3NRQSpMaVdnK2xRRUtHeUJ1 Sk57Kkd2DQo+IGVVMEB6DQo+IHpxZlVNI2h6aWE1fEd+Kn5ZKj5BOT9pRW1NKD58T294b2dhX05j VW9sQz9CJEpVVFdSYy0NCj4gfDRBaVRjNlV5T2gpZUwNCj4gektSYU83fDIkNiV2Nm9GRlFQfVFl c0gwZE9xYFpaU09taDxMM095JT4oVFZuSF9PIWp+PUlNMCpuZTx5DQo+IF9PQWxNIQ0KPiB6XylQ MURxRShJMHV2fU14TWE/MmpOU2o2TCpfSFFlNjhvNGhPZiUhSDt5bjNtX3A/NkE4Sml9aE5eYU51 dnkNCj4gIT0mDQo+IHpJdlpDYVhtNGtxXzs5XkBAazFzZCVTLQ0KPiBlIU54Y2cwQjFLdEF2Zm1e dVZ2bEdgUCRHajMxZzxyRG03cGM5SXgxNWUNCj4gejlyJFl4b3Jzd2RfMGIjJFdUYjRoNnU2X20w SCNMV0F4dGdBYW56VkFTO1RyWHdSaFUpZXN4RlY0JHs2Ug0KPiBLYE04Jg0KPiB6JHQlNktASlpO bCs2U2B0bE5vIzsjfGAkTypZd0pLdTY1PlJYTlQ8fmJgbjxfa0M4Yz9QV0hyN0NxNX0qM1NrDQo+ IFcrDQo+IHpvZ0Z+ZThufCV0NzA0Nk03SDBVKTlDci0NCj4gMnFNa2l5dnN+PiVYS2ZrKUdfPHc3 X0BHQyZMek00V0FrJGV+X2pKQEINCj4gekIweiFXS2BjLWUoUjJaZlp6b3NYRj5nTk5PeiQ1b0dr bkkteHZ9NXlgQE1KMWpVQiEzK31PTVB7KGt0fSp2WVo7DQo+IHpWd0ZZYiNVQUpYN3g8cWxKfSp8 bT97ZX5laz4zYDYqWUp5S3h1bTQxV2J7dlFAI3dVfGw7WXd3em80IUU7DQo+IEA5enUNCj4geih6 NXR+S1NmMGNPcFgkWmlxYHhMY3NLQzdpe0psP2RQMDVBIzdJfmpULSQ+JW9fMzMyQ0hgSllfTWFG dUp1VypeDQo+IHo8XmVCdClSekNHPHs5JDV1XjJYT2VucTNleW1yYG1xbHRBRm5eOyQjP201KU5e NzhkPlZHM0RwayQ4KTl6aA0KPiBzfCgNCj4gei0NCj4gMyFETkxaSXdMayZ0Km8wZzc4PXY4N3ol QDBGb09VdUZeZXZpP2oxZW44bG17Pz15Q1p4UD4zJWhjPWxfTUINCj4ge0sNCj4genpmV3tOYjAm RTU4S1lkbDFeY05CcXlCa3s/VGg0WlE2JjYqcn5sV1plLVA3Pk8jSy0NCj4gNDAlI3xnQm54QE8w a0BhPQ0KPiB6eUp2VCFHajZxV2ZJaVdeU0NOVWwkLXleST8yWTYlTzYpRj9RQko9fng0b0B6JVJh IURacmZsaSElO1opWTtWMiQNCj4gejQ2R0lKb3tmRjdmdT8jVTNDRyY0IXo8WHVia3hQUVo8Pz5R NUBsNW9rU2pZRGQ0aGBpPVJJPjRoZzRqOUE3Tz4NCj4gPQ0KPiB6R2whOCR2IyZEVzF1SCZ2PUNJ WjJVKmZrcVl8Pj0jTilJcTFYcWltcXg9TzVnI2ska2thPTBSR0dLbShBDQo+ICR2JDhlDQo+IHpC KWMqRnh7JGQ/MT8kLT5YPjtYMFI7V0JxQ00tDQo+IDtaeWZ+R28meG1tc1VxPHA7cUorez5Kdmc1 XzE2Rlhye2M+NU4NCj4gel5HODs2WHhuYWg5LUteN3tYfG15YmM9PjVNIVV1NlZ2RUAzQD5eLQ0K PiA4TUU7MzQwemU2bENGQjVPcCEzMnFuQVRkew0KPiB6QkNgITdtQDYqazZGKT91XmNZY2YoUShL PCM5QkVpQGIoMzA1IVIpYnQmNjI5UVBWOFJUcyZeNGE3OHNzSXhhNA0KPiBRDQo+IHpsYzFBZlFe fCZURTczN0o4bjxSflkwM1F7KUN0aCtLPXdARFkpckhKNyMza0RAbDBjWGB3UHBfRlpYYUxnKTQN Cj4gPyoNCj4gekkle3stDQo+IHlLQSlBYTRLJHRAckwlRHtraVIhWlN9V3p0Kkd9SCZLaWImYERI VTA+bTkqS1hkdzE+SHR1TH1jWkshZg0KPiB6MFVpTlFxP1JLOSFnZjE/IT8pUlVzJD5WR3dTIVJR dHh5VWwmTzEwOUZOKTJKd0hDISVLQVQ/bEBeRE10DQo+ID1IJHgmDQo+IHokMUghPF50SFA3RVB+ bjcjPiZZP195YSEpRDFIeWlMJXQjQU0odih9NiF1OHFlJHtxIXVXRGRrSGdXVDFQdg0KPiBEfmEN Cj4genI2PlBJMWZINy1eLSV4SUEpRFZCdlUkOVVofE0jbFlXd25SelAxLTB8QjtYRiZqNW4/Jm9Z NC0NCj4geWJra1h0PHI2Wg0KPiB6aSVBdjNyRjxJfGZCKVh9UDhqS0xMKGhsRktJRnRYX08/QV4/ ZU5HaFpqY2FIZl4+MTNuND1VeGgzKUNXTHtWTw0KPiBvDQo+IHpZR2s3cDhBaTJkNFp+JXZuZlNJ aGYrfkhaWi1pfmdoeTtqdSo5akl0amNoViN1UFdraUt2c24tDQo+IEVPV2JBO0VLV1kNCj4gejkt bFFebXVtNTJlRG8rOWlvNCZnRnpVPDw0T2Z2dzN9K3xpYTZUITkhMEY0bHckQz5qdzBDUk4tDQo+ IHE2fkxUSDZYZw0KPiB6XmQkZDleNlAlYGtNX2BiX3ZZbGkxNG8+RjxmZGZUKT1rT3Z7QkdkKVMk O1MyYCVgezVAdz1KZEUmTSptQA0KPiBBTDAkDQo+IHpPOClGRHhVcG13TlI1TUw+MXclQ3pYT09u OHJMeEhlUmxmNWhzUSghNSUrfWBIJEh7fkxgWk1xcmtkaUp4DQo+IGtJcn4NCj4gei0hIzl0VDJ6 TXdSIWYrYlNqJX1QSW5BSGwjWWR0V3N8OzM2dCtBTTBLSDJrIV5halhvOztLM3IxJSpwNmA9N1hK DQo+IHpLYEZ1JGIoVlNlRSFqME5TOE10JGsjKFp8VDdkT3gpRmdGUXc5JF57SWwofkMpeHUkUjd9 P2RkQnBIKlhPfThHDQo+IDINCj4gemhHbnQtUk93R1NmMTEmbE95c3NeZ1dMQzJaY0p7KD8mOGA+ LQ0KPiB0SSF9bUsraStQdVZ8RkYpY3JhJiVqVW5YMVpEfg0KPiB6dkt9byY8I1B2TDMjIzlPQkIq SmR2X1Zuent9ZmgjTk1aRzVWZkF3NjhiV2A4UlNVPlh0NDNDUHRFIz1oDQo+IFM2ZSN+DQo+IHot LS0NCj4gMlpWT1pAQ2tNbUZxWChlSGB4d0VONnAxQkhPSjVpTlhgJTAxJVFOYEF8bENZQklwYntI XnNPd2Q+KztMDQo+IF5+DQo+IHpaNUVgKTJhT0trT3d6JkoxJlleYXREd0JLak9SbzhsPXZhYlp8 eW9CQTU4cGtPVVg3fj8mZjgheS0NCj4gYVZzeDEkalcNCj4gent7SG9FJD9UaVI4STY2XmBDfWJr QiE3XnBVREh3ZnVPXiM1Kyp+QSV5bXlDfSg2P2MqI15CSiNrNkZwamZ9PjMNCj4gPQ0KPiB6PGM0 eXIrMWREVGdYYEY8ZH5oNS1RK3A4V3E5fDNUJTFWLSRVMDJGQyEtXlUkdVRhYndBYlZgNDVnfVk1 LQ0KPiBTZFpaDQo+IHoqRyRONylxTCgjMzZaUW1QeXN8SmpEJG91bWNeND1DTS0NCj4gdXNTdDsk aGYlUyR+OW1FIXMlNzJYNDcoUGZGakRJdWoNCj4gekliO1NOVXZ7YGJgSTtIQ21GOFpQTTdDQE8o fHNATjBAKnV+dDVqbEBaT0Ilb20jdkJ8X2ElLQ0KPiB1dHRsbWQkRiUzQA0KPiB6Yk1mKit5I3dP PzFHZjlvcD49SGUpZnM2I3dgT1Z8TDIkfTZLSEFaXjlVVyskeVdUZnk4PWxWdiZ5OEUNCj4gKk0w eyhvDQo+IHpsPytHZlk9K01ELQ0KPiAqQj98QDk3UTl6Q2tIPWc1IWApJCR5WEsqMEFAbl9Pd09Q aitfZm5LPnxEUypWMlFoRXhsYTUNCj4gejJvNVghe0Y+N15jcTFvUmdRbG1QZ0oheU1hOHZRRCsp S1ZjYkNRRU05VVpsemtzKUxiaTxzdlc8WHY0eyVGDQo+IEUhWQ0KPiB6cVRGQHJaYDhoIUxFIyZA Vzw9RiFMIX1NKVJsZEBCe308eS0NCj4gUCNqfG9Lc3xrZjJXSGokNjRMT3ZRWCt5bHI+Sy0mDQo+ IHpEVDBZXmFHcmN9QSo7QHhNfGw1JHVwK0tPTnBPfSZyMWF9WCY3U2VjUWZQX3JKenJgOG1YUWdX KXQ/SjluMGkNCj4gMEINCj4gejdwR1ZmRUolMk8zLQ0KPiBVYE5QSHhePCp5YE5PdSNuTH5hS316 Zz9XNHVidH1MNj4yc35PJjh7RldwNEhSMnN7UTVGKQ0KPiB6PmlrOEI5c2VLM211a3gyUzVOblNG XkY3T2N3cnA/bmRhVEB6SDNwOGBfbU0mY3xgY0dLJTUqQVZYNzs9DQo+IHRnOWZ4DQo+IHopS3lL Zk4+ajhhe0BIWnFWWX56S1Q7I3M7P1l5R0IrMj9IUDd3NU1LUX55UT9GMHx9e2A/TWYlNndNPD4N Cj4gOylrPV8NCj4gentWJmlFdXBTWExkblVfe2BFPVBZKjNeU0ckNio1eFlTR0x6SzhTTj1Odzdw TTMxVXJzSGlZbFgtDQo+IHgmY1BjYGtDVg0KPiB6Sld2M2kmKnxaX1NYMUxkXyNSTyFvMEVfRmUt DQo+IFY3TzJIenUwQCRDSUBYamBpTHFqKl9jbHA2X0dgck93ZCNmU1FwDQo+IHpxI1ZhRHYtDQo+ IENWaWJ5VEUocTklJSNBRSVAYmxCQ0V+azApUU5iMSR7T0U1M2A/QzNtZFNZRzEyWW8/XyozPDxa Q1YNCj4genZpbVdoOGBXQkY0Zj8wbyhyP2NzNyErUH1yRH5gRzZzYn5TV2M/PGtfVURkNDw/fnds dD80Yk9wWjViLQ0KPiBJQiRgVA0KPiB6bH1jdkdZTjFqcEVHOHhyczE3YFdmS3hpfkk5UmwqSWxs SDtUITwkJG0yIz5PZGpvTmNPTDIxPSFaOFhrdl5MKnINCj4genNCNmE4dUtRPSl6TjQjd3lFbyhP SVk3ZEBwQkVBaVUxPUJzcD9HMmYmTnBUJCZlWC0NCj4gYCFfc2dsZTcjXjxjYyNPdg0KPiB6dnBp ND1UVjtKeSplYkQzZ3tgYG03ejd9c3F4UmxSPEduJUhzPFB+VlhmJUR+czxRMEVkZFVaYCtNP2k5 N3Y5DQo+IDNFDQo+IHp3e2RRPV9yP1kyVDt8c0h3cF44SSlFOG4od2UtDQo+IHp+bEIzP05SQnV8 PWJTJTRAXmBAaW9FKUlhXkNoeGxDQmJAbHcNCj4genU5O2lBPkp+T2slMW43VSoyWCZiYEhQXkUr UD5MO0RwYE56RkZLTU5GfipTVWR9SlVqY0NQKXdZN3ByRHYNCj4gcD9zPw0KPiB6ZiQoZDNiT0I1 bEVhS049JjN1VGF3WmRSK3EkfCsyUUVPSmBGKE1RS1Z4M3t4aSgwOy1YMFcqJS0NCj4gXk1Oeihl OVN4DQo+IHpaJCFBOzdgcH1nUEJJcF5lMTtFOSpjQ1V7LT1ZdTBIPXBsVHstDQo+IGRWVjM5M3dP N050PUFacSUjfSl5Kig9dDVvVWENCj4gejNmZ2JZOVg9eDhpaHVgVXVjMzN0cGJVJUgjPVIpeHd4 cVlrKnZXdjUrQVp2RkloKUhRd3sjPlFFP14qITUNCj4gTklIaQ0KPiB6ZD8/ZlNGI0ZrU3FCeGg0 S3lVbjM0aiNGT0E5I3FEcnFGRyk3NUp9LXI/dUxiSllZTzZ6eTI1Mj5mMnt8KnN1TF8NCj4gei0N Cj4gbjBGXyheV3RMRWMhbkNVUXd4dElPO2liJWwjdWJVJDVkZD9ZXzV3XlpBQGppXj1ZelFYUDRC ej9wWXlXWXkNCj4gSHcNCj4gemktcFJhKjw8MGUyYWlnMVRHKFhxJFI+TiM8bkBKM2BrY049aSFi IXhILWFYMmdpWmRJLQ0KPiBZTkt2Q1l3TXdUcDspbQ0KPiB6UTdCZ2U2WjNFSjVxVDVjdmE8WkE3 MV5HPEhPR1p4Z2BFaylNIWlUbkx5UkBtd18reHJZVWltbkFCYCVyDQo+IG1TOEZ2DQo+IHpyQ01P OD9ee21obyU/Y182RGRtO08mRVdnbD9RV2xoPUF7QFo9PmomdURlMHFZSShsMysjUWl0cTVNRw0K PiAkM1VsTW4NCj4gemthQFBzO18we05GSEtQNlhJM0RwYW9TZ0gtDQo+IHhiJXpUWXlOOUI+MmtI WiZ9N2NXdDMkREVERVV2ZHleMjcyUldGVA0KPiB6OS1oSGwhQC18bXpzaHxsNkRobmBeLQ0KPiA9 TXRxQStIazNyRnU5PH1WOSN4UmVqKyU+Mj1SQz9GVzB2dVM1VUZuaGprDQo+IHpDRHYtfXZLQEBj czdPPiU8Zyg5KXQtDQo+IFJgJipSVTFCUHxiOVUzUzAzeGVKZSZJT0FBXzIjNiV5fCFRRXJgc15Z b0kNCj4geishMzEwMGNHR0xUcXxlY2h5P2lISlZONDV6a0IyZ0NAUyg3SmtzQmh6VGJiUDc4dTE8 SCpkYXVPMXFSYW5ODQo+IENSKQ0KPiB6O3A8eWdJbE41SCYpfmwhc35EYmU3cU04UCt1ZjBVVllS ODJDcEJHb2dvU1VxcnM9X3hjXz89TyNSUTRhWg0KPiBxZnYqDQo+IHpIWkZfJmRhdSRzUjZ1MmtG VEM9JC1QLQ0KPiBOOGU5JXEyTWBMMSNXaGlDantHbDIjOUtRe1cxNz9KdVhQYm1eelc7PloNCj4g ekBUbzR4eWJjKk5VaWZlI1FCOVRqZkE5cjlOJnphKzJYNksqOz93M0QxaDBHfHA/ZF5edlBjX2Eo ND0/b3FsDQo+IHUxMQ0KPiB6PHVYSlNjPEpZPWVTKXVhN2FTd316QHw8KSEtDQo+IDgpe3VSJU0z PzgkdHZCTl9FK1N+PXhnS0lZY1UyTUp4KD5AYHkzDQo+IHpULXNpMGN4bG52UTE1PkhxKml0O0Rf YnlEMGM5SHxFNT5jOVo+Vml8b0hgT0tpdkB8RERgbXpeVWxfbWJfQC0NCj4gKGgNCj4gejlAb29z RiZ1PTIteiojaS1gUkBrYT4kSmVpdGhQMXpsNElmdzw/UUl0Nj1uK2s7fW8zeWlOLX1FWnFIZD94 WnRLDQo+IHpyLTYxZmNUOyo8fDhWTWZ7X2YqYGI4WXxudytNeVlrTS0NCj4gYUJKJV5OM2MzSzRG I3R7KmE3MDVUZXlCY3FeI2lyNGMNCj4gejlyXmNoTmxqYzgrJCE0SExDK01mSHhDWUB3ZjRne1Zt eCEjdmROSHMram5+YiU3Yl9nZHgjOzFuUTt6MnAjDQo+IHtNMw0KPiB6YUw2PWJoUmQ2fCsrcmRw Iyh4NkBxcmolKzBPUDliSXpDaXlldW1rNlVfJjJJNTYpVF5DeH5adWpBPF5vYz0NCj4gNlU1DQo+ IHooKWFWbCZDMzNmX1N2ej0rdXA3S3ZfJDk2Pl4mS3V3LQ0KPiB8IzBVK3g3PDA+cm5QbUJ0TihX UEdNUlhWKnJCYD1pX3MNCj4gemclIU09JiNiVDZPak9NaFd7SSEqbVoqWG9sOyozfT1qQGVYSExw alI3ZXk4SD1RSGJiYzItDQo+IG8pNT0zSE9efkE3KA0KPiB6ODxaNSgld3g3QnNeO301dnBmPWVF Y0VBZD52USZoPjxqbzxmO29rK2Q0blloQTIlcDFzRzcmQCElO08keA0KPiBCPXBHDQo+IHolZyNn P258RmhmZzNMVC16WTxtUmRYKUpLUTNkX14tDQo+IDE/bFk0WGFzI3l9aHNiakhtKnw+ajxtbkY8 VHV+UStJZm4NCj4gelRUfEVJXz43Vn45UXZDNTB8YmEjaXRjbnJuU1coenFLY1JFeCVEfndRfk5A OXMmVT1vO3JNWT4hQVZODQo+IDxScUojMQ0KPiB6LQ0KPiBsJj15WjE4PlZtMDw7b2wlKHI5QHRP TFh5V1J1UUx1OHB7V3pjS3hOPFNpUkQ4YzhgeDdAa2JpO0FpKytzQXlsDQo+IHpXMGNedD4wNTVI c15HJCpJJmxvNzllKDM2U0hpYn5yTkNCYnRtUXNeJCowKDNrOXtzeG4/V2JEdG8oYGp8TmZjDQo+ IEINCj4genQyQHQrdF5WTWMtDQo+IHFuWXVKflhCKUg2XntORDgwR3BqTmphTiRRaUhRUWU2RHs4 SmxAfW1ad2M7XnQ2bWNTSmtwQA0KPiB6X0gkP1Nxei0kTV4+X0hqOz1NMHIpP2E/clhQP3tlZGM5 dy0NCj4gV0ZPREN1JHsoZkNwK2dNbz8qfWhXfnE/flZlfFJfDQo+IHpAQkhiJD5QdFRUV0U+ISM/ bmo+SlQtDQo+IE5pNEA0O0czMnR4T2JZTXZ7a1k8QTJhTzxXRSUyNFhlZURwSF5oXyRPPygNCj4g ejdtbksjeFcyKTQ4ekR7TmZkPnszenZMPHdkPWB+QF9jQnZnPlBhOD5xfkpVOFBBVnNHRkY9e1Qy UVhTWg0KPiBNamtlUg0KPiB6bTMpMztuTEdva3NhTUJSKmhOeG81Kil8WTlIRFlVREtPO29od1Uk N1VMQ21vSWA9QWJlYEs9LQ0KPiA8JWlOO2h0VU9BDQo+IHpwVGpzbW8yKWV8OT1OZyFUTn1+ZGky U0dLXlJzaXgkOXk/aHtpUXp0Pj0kcnJ7NylNKTheUihaXk4mNk5EKlBWDQo+IGMNCj4geik5QXtP RiM+LWhsSn0hRzgheUlWcTkyZHc9eVlpRjAjUWk7dD4pV2ZKV2h0a2p1Py14QS1XdTNKaCo0QSF6 bFR8DQo+IHpeKTFCWkdKVFBoY3BRWDJgUDtXOElHQmplO1N8SUF8TlAha0Imc1pzS3c7amsoVW8j QTFAUSZUSjt4VmtlYzYNCj4gYEgNCj4gem9DSmZzKnUqdFlPKlhCZGRBeEBtJmNtO0dKMylVOTVW PUMqbEVlSWg0bngoSmUtDQo+ICEpKGlSZDNxRXM0c1BENWp+YQ0KPiB6d1lSeVFufGx8NjVZdVB3 YFFPNUJ2RCYtdC0NCj4gfSFEeVVnU2Fwek5YMktHUkU+dDl1VVk8Zz97MXN1d1JYWG4tYGNrDQo+ IHokU29zMitGNnxyMkJXQD5nbHtncG98U2l+XlB2MEJnTHV7YDVORXokNUkyNzVlUztYSC0NCj4g dUBwRHxBcyspS29PYjsNCj4gem8kbVJpQ1ZNa0BGdz9eUE1oNXNBQUw2bk5mdnc4Y1A4R1MxV0Vv TlpGI2doNEBhfnstDQo+IEVqbSt+TUBAbiNLWTgzSQ0KPiB6amNmfHxpKWBAQEsraXMybGtxcUEl S05RZl5reSo3a2ItZ1QqU2A+NlZ6aFg4N3ljRlM5eyVVeW9nVHZiPWpzPXsNCj4gem1JcnZ4OVN0 dkpFQkB+MGlZRSlkN3lsTFRVSW9KYzQxVjh0e2VzdEUwSH1gJXM2NzRQP2A2eFdDfFg5dWRsP0Fi DQo+IHokZXUhVSkxVEg2TGhoUkgwKitzIyVTQDxnRV9GKlU1fW5ILQ0KPiB2QSY3Zk5uZVF0VFE3 a2pibn1TPFo8blUjdm5DUGANCj4genFEV0QoM2NuUVZ2WEgpJXEkVn1ScnJHQjYpVFlJdGlwXiZv dX1KZnFQdDFATyRZaFNRbDVkKGBVdzJmJWA+DQo+ID16ew0KPiB6IyZUbDs9NDIxZHYrTm8yczxx MlUlbUFiM2JZRXEzVU91Pz9xOGRCNGd0Yjt8N0dxPlhSdU9PJnZ8NTMNCj4gfGo5bUdhDQo+IHor WXViUXhqOylKRzJyR0RkRV9JdWswOENld3BEfGVwZXQoaVp2M3liK2xQQDZ5Ul4oZD54a2RKe24z dEMmPiErDQo+IEcNCj4gemA+TXxlWitjbzRNSz1vdTFkUEo+Tng5fVdfIyM7dSR5MH5MaEYoQWdA UHpmUWYpcU9odmV6RUhYMiEzN3ENCj4gaGptXg0KPiB6YHllMVB4KDI4Pm93OCRnWmtOViR7fl8+ WWF1alEyUGZMXnowSl91eiM5YHt0Njc7a2o9Pz4tNFpkUHpHJVFmdEoNCj4geklFP0hOOFk8QmBq QVNsd0Z2Qm5PPFZNbGMhVGJqYEFNUVNXO3I+SylZYmwlS1BMMEw1JDJmWjhzMSNHbU18DQo+IHNN ag0KPiB6Q0R1TlpsaGF1MDVAPCZ9emsqUGUoJVNiSmFoMkt2JnxCeEtoaXlIUEdreys2dig+OD1n PiNzaXFvQSk/XlENCj4gQkUmDQo+IHpKZlojT3N8QUZYYD9nPDM4ZUdwbHphQi0NCj4gZE1mVzRQ IWA7JnQ3fnQ8Z2EzTWI4cnxteiNgVktPYEc+NnB2X1ZYZGUNCj4genJyMyU0Yjk2RytSNUx5YSg3 K35uMyFlfjJsIS1TR2MqJF5LNW9Idng3PDBWX2NqeE57SWFfaT1OezxuNFBrWXpSDQo+IHpOQXRP KXZCJUNsc3hmRzw/SmNTOCo7RXdFe2dQcExia1RAbUBDJnkwXjN4bzVBQUtYSmJFbis8Z3ViNDcN Cj4gRnRrRCsNCj4gejwtWS0odD14WDR6Wl5Canc7NGppYSNRSUNLdEwwU1hVdiFiMWMpcH5Tb1d1 cy0NCj4gJn5AR0Z8Kmg9cSZCS0R3TEFTTQ0KPiB6ezU8THJvMz5JREtiVSh2eCVRKlFlcktKbGRE b0FSTFgoe09oR3w8eWpuRzhqcilQYkFxWnZhdUp8flZFcFpCDQo+IDJHDQo+IHp1aWA+ekItMWxg VUd3TVlefEpTLSpCaTNkMlFIOX5weDVJQWRUcjhuRyRoJG0rWTNvbjk+NmUtDQo+IFlIJX1zNzBe JiMNCj4gemVPMVVLNHxpaWQ+PDElUiF2fFotDQo+IE83dkVUSnRedSM4S1kzI2w/ezBeNmhEZW9v dlVITGo5SVhlNERxPmU2aDAzWQ0KPiB6ZT1lZjt0RCM8fkBUNyQha1BFJXZyckJeKEkyKUopViEo JEgyRnFPcEZFckpZcDk5PF8qYmFfaiZIRjY7YjxPdw0KPiBCDQo+IHprR1dVUUhybTNqSjl+KHho bHU0MTcrV3hZbmpYNT4raGQxT0o/JD9ySiMwY0c+PCpSZ2QtDQo+IFJxaGRwNURVe0VgVlUNCj4g enpRPXxLKGBZe2Q/eEgxY0t+MWVqJitmT3MzYk8yd2J5TW5VWDI3WH1UWVJTSlVkQDE2e0x2SXV0 SVFsc1ckDQo+IE45JQ0KPiB6cEFYMT9fJF5RVk9iY3ZaNWJmWEpKVUlPfil+YT1GaEpQTTQ0PVQ/ eXRSOGU4Z2hGVUllb2Rwcz8+KitqRSQNCj4gNUNIDQo+IHpHODVRNiVocVUmVkE8MCYxcn1tUzRD PThmdTUoe2BKckRlc3tkNFo7cXJoK1VFZ1h6JEwrSkRDJiNGPUktDQo+ICtLXiMNCj4gell2Oyp8 cXwrd0tEUlpBVyQydFQzT04wSnBRdHN2YXppXyZIbUhMeHdTJnJObkRhN29VWGhHVFh2IWIoDQo+ IGhtMFFvcQ0KPiB6PjtHajs1Vio5QHptKXZAXnsmal87djBDQCp1ejBabXI/cnp2MEZxNFIwLQ0K PiB1cUVOc3J1QVpaQ0cqcTNndVZTaTU9DQo+IHpUUnJJQFk8ej13czx2UEZJS3J2ekVNVlBJOFlw bVo+STYmQ1lvQHwoUXgyZy0NCj4gaGgxdn1HVGFSPWE/YkB6ZUBISjYNCj4genxLPDRCSmBDKT52 N2l2Jkg7ezZvOXw2IzBrT3hOPzkpRlZmXjVMfWVBJF43REk8bzcoPDl+JGt2OU8zeTJ0VU4NCj4g UA0KPiB6QElEWnAjfXtKckN6PGo+KGZTJGc5NmN0PnpxPUQ2JGMpcTlqJlZFcUQ7MVdrOXg2SH1e eSpWR3tAb3RfPVBFYQ0KPiBzDQo+IHo+QSF3OW0rNmFzZHxlJm14fElfWD5JcXgqa2dXUXkofF9E K2pxQnJLUSZ+VE1OakRgPFcjcX4/UFk+eg0KPiA3ZyY1bSkNCj4geikoKk17WldJZG8tOTd3SSZs NmF6KVgmcUBjbDIhYjVvZmlXbXptKC03OElvaVlnJGd2Yypyck53Zz5aWVAtDQo+IDxNZw0KPiB6 dzYzWHQ1KD0+N2p5aVhRcyRgSz9HZEYqZ1g/P1Rydz12N0pUMFJ4RHUmXmxvKT5QUzZifmJpNXhH eD19TE9SKw0KPiBTDQo+IHpibl97c3w1QGZoZGEkQDx2WCVJKnUrfnwtclFVcz1gMnVOSy0NCj4g VShgOExUNilGZ1MpKlRkRWNHQmlocj54Tj9Iek0NCj4geitEXyhzP2tyV2ojI2Z4MDs1SjwhaSFw KFpgO0lFNypCRUd5X25tR0tjN0VBVGtAOE53eVhvIXdSR09ZPXF0bw0KPiAoSA0KPiB6QnxOO0dn cyE2UllNN2RmbmwjVGQ8TWRNUnVLY29LbHVeMUkqR15FT3BsRCpIZzd0aHkrM0dVbV5afjENCj4g d2V6JVVnDQo+IHpHTHtiJDVEd3w9P25OSXMhISNDZ2ZGfStqcyU0MWNKc3l6OVpIaVVQPntwaDJq YFh+KylATnlieGlAa1h4dnhRDQo+IEsNCj4gelklMiY9PitEY2dAMWBUXyVSTkFHM1MjQ3teY19K YEFmYHczKys1YypzODVofTYpPil+bXI+JXA9TklYfEMNCj4gaWpnbQ0KPiB6MzhrcnAtd3x6Mjgp aVJhUkxWSFpTPHRra0BEazVWJnt0ZSRSNUp0WlN4QU9ZeHJoRSU2ZGNiITRxYXRgIzItDQo+ICZ8 DQo+IHpvX0dATkROPH4oZ20oPkU7cGRoTWZeaWdXb3oqaFcyPXchfF5wfW50VlUtDQo+IGp6Q2c+ c2VuakRzPkBlYykhRD5nYk8NCj4gejxNci1pSlYwdFhDSTh2JlZpcDU+eWFEPipMe3BEe3l2KyF4 dlF2QDdzb35jKmM8fWNeWjIyWT1FNHd2fHR1LQ0KPiA1Xg0KPiB6biM5VmROd0ZJUnBGe087WlJ+ S3J3QXZFd3xJRHw8O31iTlU4VUV7b2lMS2QlS0BqQlArXiVIPTQkKHM7Mg0KPiBMeSFgDQo+IHpy I0BrR1dTcDsqRUladXEoekZEOG8hcHlmOHFfcUUjVmEyIXJJTzRSX3d9JUBFbzk3biprXnE+JT0p TmgNCj4gbyQwZUsNCj4gejM5fip4UiYkfGAtS1RTSjB5bD8pOVA4YHRaQComTGJCQjR7bHErbysq bj12TDQpT0Y5XkZ6YkBiOSRQNmZJb1I7DQo+IHo1eGx0b1E3eCV4Z2g5blAlTkNCa0pNPW9NXiRi RE1hO248LUE4VilPI0xuNlctDQo+IElHdXYyKU1XMntjNGc+OTFrMD4NCj4gekByfnlpO1Qpants NjVge0Z5JWd4T0VoQ2c5KFJLYDg8NHF+SUttMStxNyZvJipPIUJAaVFHNmBXe358a3BXcg0KPiA4 dg0KPiB6JjdaSlNxUSpzRzY9SjRTVFA5ZVVkWThmbVNRQ1BGPWk8IUJudSNkMElvMiNKKXcleVJJ JUdFISZyUWYzTg0KPiB3T05tDQo+IHp6WWQ2bCVhRllQQGt9JXlCbUc1aDFXYX1vWVUqMjA8Sjkt DQo+IEM2KHtmNHFTcCEmb1d8QX5fYzIlPXdQKXdqZXBadSMNCj4genFZSE82dlB7PytPeWJVSmBK NSY8alFMQDFtd0Z+WDtGaCkoV0N8Q0txRzBWQ3RWdy0NCj4gMVhxYTI9KjU/cDlmNWAqPg0KPiB6 MT0kVV9mNFBIcEpENXcmTT5iVlhNazJQbjRRQEhCRGprUCliTmpiblVqbzg3KHdJVlNQVj1+P1Fz dQ0KPiBYV3NAYDFgDQo+IHo8O05qS3prTFpYSnVjdEBvWHp4dU8oV3lQJH1LI0pHfkQ8NkphVzY1 ak04cHR1SVF9WVpabUshKVpOKip5fQ0KPiBfT0UNCj4gemRwb2JNOD1qeT1uMyt0N1YrKDcwSTNh N0h6WDcqcTFAcjJScldnUn13VDspTkEpQU01dXs/KXlhTk1wcj4NCj4gMy1TbA0KPiB6JDgoRSZp clRHZzNTTHVDSFdgKTBWJS0NCj4gejM7c2llMDtPPmpjd3VOTytTSntnJkImPmpIS044S09eeEhL cCl0VnNwDQo+IHpRcDZoaElrZzR8Xmp0TXApbSttZy1wS1RFXig+Tj4/UDBRRSFDMX5KSVZtOEpC eiVCVE5TRnRCUGN0YCktDQo+IEl5RGkNCj4genhjZGJZNiM4TXVmZzxTcTtzUW1HJjV5UHw5a1U4 Mjt7YilMRjBQRktvMEFnRUI+bjFOTkVqV1JSZERrQw0KPiAkK2NhSA0KPiB6OXFwQjNAPXhqU1hB QHVqQH1WQF5zVFZINS0NCj4gKyEqJWBmdWYqQDFnVE9eaSVlem4rKDN9SHp8VFlDd0olSGdnczJH DQo+IHpnbiR7fmhaQH0xYWMoU21xeHNDdjxvJEstDQo+IDF4VWZtSCRDbmJ1cDU+OFo+Qnp4cFZN IUJxR2UyVHdObWI0NVNybnwNCj4geko/OyprTGM3SV5PfnBsRmhxJStudk8kRExTalB8T3cmcXle STdTU0ZBR0Q2em9uaSVAamR3Uz1EYyZ+NzINCj4gSUs9UQ0KPiB6JFk/a00oUCtTWmxrUEFZQ3h0 XkBLYUFzem1TWiY8JkM1RyRAMlluYkJII3p5T0U3WipjKHBIOEU/X2gNCj4ga01lMDtBDQo+IHpm RDsxMVphIyNHSUVfRX5zeHpoY3hRWFhgJUo+MTRtT1heZWoyJEM3R1N9OEgqREJAZUteK3hWR1FR KVUNCj4gM1dqTjkNCj4gemsye3NyKE9KJmxeaSVyRmtZLWZxOT0jK1V6aGw7VThxKVM1aFNYT2l0 KDhyNUtkQUdBUmVYYUEqKSslS2VtR08hDQo+IHplKFExUE9WfUU0IT5teCphfVc0Z3F0UDA0eHtW eSEkcF8yXjdqVCE2UDU7fGN7RCV7JD0mIS0NCj4gQTIyeiEwZHBVN0oNCj4gekV7eEl0Jmc1NDc7 ZXNHMjJYQUdyNlAoTHluYWNicUM/aUdQMnphaiR5dnAkPVdUeyZGc2M+YC0NCj4gXj1Ld05AKzdq ZA0KPiB6ITk1c31OU188OSNra0tjMXUybG1CdSVtI2trSGA+TkJES0BoKEtpZDI5PGxnYktIPTBk eTgtDQo+IE1FMkwrUyl9UDlRDQo+IHpIdmE9aUNJcVpsVC0NCj4gaCZCZzYhWGVZRUNVRVQjUDlW JUhtcnd4KmFPSkZAUiVyQVFGc0tNbUNne28laHAhRDYtRmUNCj4gemxJcHswKTZwNCs0MThuSkxZ WmstVm49KGFLNlVDWnt4ZHJLISY3PUtPPz5xZTVONzVjejJGNjg0SyYxcmw3YUh5DQo+IHpwUF5B ZmFfTih2NXZEcCYqSip4Yz5ZMiR0MjMyUzZNd2VzNkdGI2o9M154QyspSVViI3N1SiowQ01KZil6 TA0KPiBVNz8NCj4gej5UKFNxbmBkPDFhfTc7M2JlYj1mSShOQXAtPE1NTUpKaDdTP3EwWUNgOHFF cVV3eC0NCj4gfWlEKz1NcWtPbDhgRUt5fQ0KPiB6K1JxXiR1d0FJXlpmdW1WS0ZxZ0pgOTlvdiYj N3ZjLQ0KPiBuRX5wMGA2K2Q4Sz5uQmcqaGlGQyhlO0koKDdDVyQ/REE0DQo+IHpTPlNWWHtYdjRa Vmd2NXg7RU4yOGE+cE5WdyFNZ3lyTlZNN28mQ0xWVHNZOzdnakxnQnhBT1ZMZzNyWXI/DQo+IE8z U30NCj4gejJYKFRDdV5GN1hNfk5OeFgjMVhpTmBKVyE+bU8jTmo/WjE+UztZdCotDQo+IFZnd3cl RigwRXV2UFo0ZE1Fb1due0FKfA0KPiB6JCZoJHc8Nnx+TSYlVn5mYDtmQW1tXlZKQztPfE12JmYt cz0pQ1EkUjJxYzktDQo+IFB8MzZfdjc+IUpwRX50N290QHZ8DQo+IHpBRCtfZFZUckgpT2Yydm95 fSsmPkAkQmokeylLJDZlaS0NCj4gSzIxJEVvNVdCZHtpKEdmSH5JITk7aUJrb1BYWjFAUV8NCj4g eihXaUJgJiM8dj18Ml4mN1VpY0Fyekd5T150RU9lN3c0QUh6PzNfdj17SjtKJlUjT0JvTyh6PTg5 JnVrX3gNCj4gSH1zaw0KPiB6RiszZjZqWHstTDVsWHt2X19hS0RlVkZpNGtaQCZ+dXE4O3FxcmJ5 LXhgekZLei0/fShwNTglZmdma3FrYFBITikNCj4genB8ZitNTDleIy04ei0NCj4gWjtiOGlzPDB8 dmw5ZSU9NihJRV91d3YhNklHd3VqJCUmM1VucEBjU1d0WXgka1REaUF5NQ0KPiB6Rlo7PjZYJFo9 ZGxvb24+RDEyNml2VldrUkM7MHNaendoI1V7eUYlV24xNWRFYmJkU2RFbTs2dXtHTFI1QQ0KPiBI VS1TDQo+IHpRfjYpXlF7O2N9TH1CR2glZ2YzUkRKJUZuRz01bEYqX2JnVCt4TXxBKHE4cjE9ZiZQ QV8pUjgoaShtWnxLfQ0KPiBAaiUNCj4gejZfQ2tXPkFvdTI3KXU5b3pweHQ7JVpMUzc7XkRDZWB9 RW14KSE2d3JIYWdrK1h+ayFqJmNQfl9wd2kjcS0NCj4gaGh3OA0KPiB6U0gpISFxPDh3YXM5clg2 bGZycUhleWNgbW15dyhEe3xVYiRDcnRgSWhNTlZ5JlJeejEkVzBzcHpTSW1fR2MNCj4gU2olDQo+ IHo7N2clT0JhaztZMDxPQ016LQ0KPiBNRXpQMDc5WCt7UVl0QW4zMmIhU2FuSlI9JnU0JGpzUjF1 eERSU081Kld4d2w5QSENCj4gekhKTDU/QDgpWlpqdnlEUEZNaHEpcXZiQEhrSl56dTMpTHFEbUVV e28qekxgJExYc2JKcEpEPGNxVkh1dm9+DQo+ICZIVw0KPiB6bXY9VnFZO2EjSiRURXY4MHlZR1c/ UFF8OElEK29+VyQjfUF0MTdOR1YwWl4yMWBILQ0KPiBCRCVSVChMNHlKIXBtR3J0DQo+IHpBbU8z fTZDaT8kNFNAc18zYHRCKjBJZ3V+Z2h+anAqbiZsP1JxTGhOViFjfiFqUmIyb1NYKXU0cVNBXjsr Wnw4DQo+IFoNCj4geihsKnNkcWtQWV4qMzgtYW9Gc3JYelZHfTAtDQo+IHhyd0tYVjBGP25sKT4h UytuTEE9Pl9mZ256fVNfUl8jWG1wXnBkRA0KPiB6PSNQNTc0b3RmRkV7ZDdlZThIKD4hRC1aYD5n TTVMdElGfGRaZV5acnNxQWl7e2kmNVIrVHBra2AjKGtGeihGfGYNCj4geiY9eUxSTTA3RmZWMGE8 MFo/V3NKMVYpO1FrdyQ1KEVRUVZEdis2UlFMWHd4Vi0NCj4gSmk+NHckUVphKSNXQHQhITVqOA0K PiB6KDFjdHxJT0o/fXxBTDJQZWt3OT1gVH1qS1Y0NDB2YkcoeWEjbm9scHBYR2tLJnd9LQ0KPiBj T31RN2tQWk95aUdRZmQ4DQo+IHoxWDdVKGxEPm1WX0gtPi0NCj4gJTZiQVIleEdzZXg9cGxabEJo e0srTm5sUmN2JWJ3KUx8V1dvIShXc2AwQmRNWUR+aWQNCj4genFNVVV6Kz0yKjFLY0tLfGJvKk1z RT00aEQ8aGJ6SlZzRVN+TWd1YDkyO3dvckojYGlfTEZIakRrX2xLUkENCj4gJTF3TQ0KPiB6Iyt9 USFRaWtkcj9pWEBrME5kaiE4JFMjTXUmRmx8dHE5NnM1VWl0aVAqcVBLZVhSYVMzKGdNRDF9ZmFs TVhZSA0KPiBzDQo+IHo1biR1KEdAelNgMGMjfm5oPzI1dUI4VmF5akp1NyFSSE5IWEQ+bHteVCNr YW5pUSEoMHlEX1VCMEdrPCtNVg0KPiB8JGgNCj4gejRVNFkte3cwJjBIe2tZNmctDQo+IHBNNnZV M2ZiNkJwbXZBR1krR1B1PDE1WlM1VGltSW9qO2BseSV+dHtyfU9SKE9VYg0KPiB6YWp7eUFoLQ0K PiBveTZFaUF0dTBvdEd1Vj0+Uk0kYTQyeXNXYkA3JWR6MTtGdnJtRDA7MiVxX3s1OHJ6cEEra1Vv TVhzDQo+IHp4clJRPXJrU0VHb2QkXyREZCZVczFja09iVXZTYmk2WVNrSUo7TEsrSDVgXy0/Z2B9 WTxFcWd+LT87fU52WlpGUw0KPiB6JHFaKXpvcUt4PyZTbEttNmpNWCYzNTJhLTFJVEJ1SX5PeiQ/ Vn1BVzJ4Oz84dHp9S2RgdFpvO1ktRXEwdXlJN2INCj4geipNZzkxR3U5eFI5cXdfKzJCfkU4Sihs OFEyQDJZRV9mPVlsPz9CUXRAdFRoNGxgNks8NWNeNWhZZ3IrcUY+Pg0KPiBWNA0KPiB6U0pBTFNK TzhGPk5GQVEtdE1UfDdGNyhvOC1GUC0NCj4gXkNzXndMYylhYDU8NiZLQnRvPiZzdnllT2ZfVT9f eHt1M3QhDQo+IHopS3M9JGV+bD02MTVDI01MYjtOV0g2fUl7ZkRzfUVNU1god3ZmYlhGPTQ7aVNM VUxtWW5JcVc4d21fJllWDQo+ICNzTjkNCj4gelEtS3dPVHVlO0ZUX0dlP2xUalZVMjApKEEzekpS ZXYrandBZ31+YUpZSFktDQo+ICF0JSRoMEExd2o4M1NTPGNXJTR6UA0KPiB6Z3tjU3I3YDt7Jk8+ fWpjX2gtOGcmb1RLe0E+VDtwY2U8Kyh0MHRxV0huWFpHNkZaUHE/VllDaU15YHI2YGhjSGINCj4g emFNd2lCYD4wcGIreHxBZWV1eHspJSNTRmFxaTtNcihnMDI4YXllPT1Obj1UNig/O2c5OSRxXzZO Vyl9P3VlRQ0KPiB6JQ0KPiB6PUpjQklnJVB4S1c3Jlg2X01jX2xoKGxASGFORF5KcystDQo+IGtv M3dFPUZXeEBPS3M3NENrNXk+U2dvUSleWnlYKFo1DQo+IHpTeT1BVjJXO2xGKGs1QngjN2IqaHtx T1UlKW8laGRZQUhOVE5WdVhfPUhqcHNfRmhpVEAkN2AmSk5QNUINCj4gdCood0ANCj4geipgM0kt MmRycGc8KzxHKiFLYU0lYlEtDQo+IFROVzdCPDEzZD8/dEIoMkxfP3x5TVA2VFJlcWc2R1Ffd0h9 QWkrPExBQg0KPiB6IVJUOWNJa25qU1UkPmdXJFNuODFYNmZAbEJKMTV4QSVudnc8QXptO1hkTn5G c21jM0Z7aGhKJEshPWReTg0KPiA5cl5+DQo+IHo5MWRAJmctDQo+IFRPcU03e2Y2dzQqVjlOdGNv QlpxRV9JbE9sR1lxaEtibGZ2PUtZKmRFJCVFTVYqMXdIVmdXMD1DfCoNCj4geiFZYDtlRnhPKDB1 MmwpelNAVVolKlZYaXZpQXxnVWJzU05HMkRee1FMPns4anQoaCYmQVMjYHEtDQo+IHkwKEs/VlhA Qw0KPiB6RyFHKVR4TFd8PSVTVFcqPDYzKzc5eUF7bkpZRW9IOCstTShyMFMkLQ0KPiBAZHwxNUlk VHhUISorNDhLQkMoaSVxOzRvDQo+IHpNcXUyaHk+SXpRT25MT1lhY0M1XjMyI0dwUTdVamh2OEt+ VWZQJHR3a2h7ZGo7Vyg3UntRemJKQUtYeFcNCj4gVDJ4K3oNCj4geiVWaykkKlVmXlcrY1hlfmVV UyVMU34ofmFzUyRnK296JFhFPD80Tm9vR0lQd2hNQ0UzQWpwPnEpWDJ3DQo+IChHQUAkKA0KPiB6 V2gqSG8tDQo+IHUraiRQe1RFZ2xXRWhoJWlRSWo0dytaU1pLYjIkWilmUiNpVGtOQlYqXjc5M3dh UXh0bmc0eytgZUQ+DQo+IHptY280MkI0Y3h3YGBKdCg4PmsyJEFWLU9SSWU/MTktezZsQUwraUZr ezZ9czRHWmBOP3RhYWAjZF8pJTIrM3VifQ0KPiB6JSREfHd5PjFWRFJ9TVowXlE4T1pSPkRxQTNV Y3ApbngmYz43THtxeHN8WjNHdkRoNHE9NTJaZCU4Xm4NCj4gSHM7Z3RyDQo+IHo8Sm0mQVUrO3dk eCtjOGVUZ1loU00+M21+PnhWfUM4WiktDQo+IGllQjgkI1ljIytIZVY3YnJJMCk2I3BPSkwpNTQk N2wNCj4gekk9O1k0SkBOeyVRWVlnZlRFfGQxaVUhTm02UGlNZFhQSmgydzh9QEBaNTM4Z3QzYiFg OHdJcyNDZ08pailZDQo+IFZaPg0KPiB6JVhTTn12WDt6QyVVMG9JR1V9IXZhUE1PNU0pJFRuc2JB Qm5FUUlSTGA1Sz1FKHwhV2QmdngmWF5LO145DQo+IDdqaWU2DQo+IHotDQo+IChaUlRiQV92X1p6 Y3U3TmNYWTQyZnd2QXpiPDFIVEJGNXYoR2RhWnJzd15NKEYmZGIqUjlRNXdJO0kpPU5EDQo+IEEq DQo+IHpmUVE3ajg4QHhUU29Mem9PKyYtDQo+ICtGSzRWOFlIZXxnMytoKFduMSRTYHZnPF9weEYx MGsySU88KyQ+YUJZMDlmdlMNCj4gekxsKy0NCj4gTU9wR0BMTyt7R1UjXnAjcSF+S0pySmx4fGg2 WThEYD5YdWBJditDcmlZSWh0IXQmQHwydikkflN2MUduRg0KPiB6QURNKllhOXQ7T0xhaSM8RWI0 THNnV35AUEdHSDVyVEdLMWY3eEtxZlh6eDxFYSkyP3x2fTlRKGNuP0p+P1QNCj4gP1QpDQo+IHpK ZmRBOVlLd0tOWHxUejF3P3E7PlU9bDRzcU5ZTjRHNmEqSkNmaU5lJWY/UXUranozbnhrKDBQQHBZ QCY0DQo+IH5jUnkNCj4gemQ0PzlydnJgdjslYyQpJCEwPkFgNTNDVXJSK1g1cnJyYTw+ZV9YUCVU UjVkfFZfKFZkI05BM3VDZiQyXiRpIUdMDQo+IHotTWkyWk82Mj1NKFkxQi1McnMldl5oWjVrPENp VjMtDQo+IE4rdj56cGVxSCpSNChAVDwhen42RD1fZD97M0pTP0lkSmQNCj4gekN1WkRpX1ohamlJ S0diKmU9NmdOKFF0PFFQaDZCdWt+akh7Vjd3SlR2PD5Ld2t1X2RyUiN6Mzw9Oz8hUVB9bGcNCj4g cQ0KPiB6dzw/VlBmfGk5PnRkeEtWYDFXNV4xa0BoKntoWX44UU87eSUxPjdmYUtmZkdmN2QrcFhK PXhnPV9iK15SNjINCj4gOUREDQo+IHpUKHxEKzYydT1OSFl5RXxLWFUhYCRhZTxaa0twV1lqKTA2 aitEQDhoZT5FSyFhYE5eRD8hMy0NCj4gU2JiQ1luZ1Q7TG4NCj4gel9WRklUYHQ4MTJ3LWRCKE8r UTBLbzt7MSEhQUktX1BRPG5CcStzX3I8aW1rST0oTDhCYTYkSUkmbXsrfXdpUlhuDQo+IHpVKklU eVVYMEpzZjh+KDNyMFFXdTtTRVAqJTVyaCt5dzJIJig9cSQ7YH5ANm1tO2hTWSY7VjthaHloI0FC DQo+IF5ueCMNCj4gelFAPFEhKUc8NiVQaFdQPUYpNkdeSDUrbD97ZWR3MDhXZlVAX3RrdDQpemYh XjdxPV96QnZUcnFOQDtCDQo+IG5AOE1wcg0KPiB6dG1mMGZBRlJzIW05KUNMKkl+ZmclRzRkZSU1 Y2JaPUVSK1Q1bTtMby12PXctTC0NCj4gcThYOzA+TF4rUSt+TzkxRTtgDQo+IHpEeTtHPVk0eSZZ OWwmYTlkVz1ja1kqTz43c3BWSkY+Tl9ILQ0KPiAoe0wkTXJ1Klk1QWBRPVZ6dEE2TiU2I1dQUEdP dEYNCj4gejNLTmp8Jk9NaDMzNVowMDVYXil7NlBYKmItDQo+IFFTcDRxXyl5cktxWW1yTGNUbH1Y UGA5cHdzRzNsVFdqaUUhaHszdQ0KPiB6aEBnNHEqZ29oZzh5T3l8cnwkJWxCX1clN148R0JEd0g+ NCZ3c2pvP0xpT3w9eV8+dn5APDN4cjgmRA0KPiBxQjswZ3gkDQo+IHpSMjt+IXIwUmQqUDBtdCZi KXJfJjhmdzE5Mn56Uyg5RVZEYz8pNypgclQ+QUJqbm5qUXRFTzwqMyRgbEhEX2tGLQ0KPiB6ajRx fWEhe1U9e2gkQ2FLYFBuNmNHdnZ8JlgoR0EmNnVBX3hWKigpVDN2XkxqYmNGSykxcWs7UE5ESFhQ R3UjDQo+IGRPDQo+IHpXMiQ/TzdMdGJPPXR3OVVYUGBrO21TZmdkQ2EyZ2YmMlhYTDIjKz9wbFBT NnktDQo+IDNEOWNyKVphXmR5Yj8/Knk7V1INCj4geihLdnx3a3Z6QSVjZ1ZCQntqTk00LUwtZ0gx X3M5cD5kQ1FoOygqQC0NCj4gVillekVqa30xfDwwS1h2azttVFFiZGw4eg0KPiB6NCVPMnE2RyUk N1YlPChnJDlePDZJJExvZzE0OHhtKFRlQCE0cWYwNT1GcS1DMjhaaERKSGV+OEstDQo+IDNhfF9K STdsDQo+IHpxOzRhMW9FZEs4Yys8a0RlS1Z4SzlubX0lM0UlQVFWN005QVk+ST8kY2JgWGlfP2t8 TE93YSkkK2ZMe0BBDQo+IFptdCgNCj4gej5naFkmdyorbmdibU4+TzAzMFNeTWdxOE9fWihrZ21s MjRLZzlZZWdCakZBMWckT0BYbGV8VjQrR0J7DQo+IHBwP2Ruag0KPiB6Xm1Dd2ojWm5kY3ZsRDZE JGMjRldhMTBPQyh8NTJkRH44S2F1TXl5S15nNjxJRkVKMHVTVSUlV1hzRGoNCj4gUW9YV0I4DQo+ IHp1NT07clpgNXQxTmB2IW5RKkdOY3g+PkxUVnM+Z1opZlN4Uj4tDQo+ICV5JV97NUZWcT9mdE5e Iz0hSlU8cW11dXQpWmwNCj4gek01ak9vTFN9KlplfXk1bEZkWCQkJlV3V25MYmx1WDRPP0R8K1de a1M3byN1aUBxS3ZeVW5sfm1MczVkfQ0KPiBJLWF+Yg0KPiB6TDRPWiZaPHBkTDFKWFNQPk9eMTRj N0hYQThGTnlsI2VEXytEUjEmaWx5d3g+MFJWR0E5TCtzdlBldyRaDQo+IGVLUUBGDQo+IHojP3tU fXdYKW9vMT8rXlohWmoyT2IkYnoqP1lgbTV1QFg3RDBqKVB5aXxEQU4zWmo4cz94KCNgOTJRXjYl RzENCj4gUk8NCj4genU4Vmo4ckRwWVI9QHt2QWpkMn0reElhYSVITER2OzFNIUxXYWNVKW1oYnJT aDwrX2N+ZTk8PDszey0NCj4gXnJEWVU/JA0KPiB6TmJxQFArTVdhJTlJQkB1RWZ0PCtiaVkoIUsm WU5SWGYqYDdJYUdtOUZeQmRBR0J7TEVBTmthPmJ8UQ0KPiAqQSQjNlgtDQo+IHpeaDJ5OzloWVgr SiUqbm13ViYwbiU/TjktDQo+IFZUfkhMR3BsZzlHfHFOQGE3U2hjanpNVmVWRlpmRE9kWEhCcmYo VmcNCj4gel9KV1IxVGltQlhqWk5QcENeM3ZmJD9FR0tBN2hPPWtSJUtiKXpmIV42UVUpXzJ4YEJa Mm96VVA3Wnl1amJQDQo+IHdMTQ0KPiB6LQ0KPiAwdnRNMEpgJW5BY0Z4JnhPZD9eKCpkbz5MMm80 OFNLV0hhQkQyQXJZVTRWSCVYSXxIQGRYXlZNKUV3eg0KPiBZNlU1RQ0KPiB6YnlaQl9aajxoaWxN SnRlTVQ3eGZNeik4aj5FPSNxJUo1SjxlS2cpJFYkM0wkbyVLWnpGe0FjR3p+RTNsZUo2OzYNCj4g ejs5XnV6JH02ZyVCQ3chPi1wQD1SdT1yR2cjYX5WKDdVfElWKGMtDQo+IHFDTEVZUm1FNDwyeDY4 SDV9TmQmYTN3NzcyfQ0KPiB6MCk8emhWQ2lZIW1uKG9xdztJdzY5czgtDQo+IEY2O0M8QWVuPGNu PDA8IT5WQyVZXlhHS2lSITApQ1gjSXdSR01PS2w5DQo+IHpFWn4oeDZgd2J0ZCl0cDRlb29+blde R29zK2M9aEJhMmxlaThKYjx3ZEVJXjN1Tio4ME03bldLbkl2UGBGYQ0KPiB4LUsNCj4genlrdCle Kj91NnlCRD9aeEV0JG9BPUZDSTdYYC0NCj4gfnElOXohMnE+aGh8Rn0xSkRBe301THhwNXhSTFR2 bXgzd2JyVg0KPiB6N2hfQ2AkRVNQKWJra1lQX3gjMSsobE5HLQ0KPiA3NlR1KDUoX3A9NVhYIyop YXJQcXlOYzs3SXkmcFQ/cU5IMigwTVVEDQo+IHpSOEshekotP0lqZWQ7O2lMLQ0KPiBxN3xAPDQy OWtjVUR3Jnx6ZEt2NUJjY0hHRzBuKGFwKVA7NHlfNDhVOHYyOU1OPHkNCj4gek1Pa2NLV1BKWjFY YW49PTBDSStoPmdoKkF6TWs9WWtuPXJNUHliKyQra3dTOHJVdkFFRCYrRERrUzcNCj4gPyg3b2gy eQ0KPiB6eyheNlpnblNNMj5IdTx2aHdBQV5MdGY0SktGSWtWcztCUCtyP3hCMjtgfHRjXkQzcVc8 YXtkUkArKzhCeEtxDQo+IHJlDQo+IHpFJCtqaHcoemg+TXdKOG9vVTxHPmhGTjtmejloSio8Q1FM LWZ3fnhwLQ0KPiB4K0Qkej1BdWRDY3tKWl5yTmV9b2JpM3QNCj4gejxVNExoVzR4czU/e3xiKVRV RmFnTEZSeX1Afktzb1VwJl9gTXg1RHs3RDs2JEM3K3M3ZWcpNTw7ODcpRzt9cg0KPiA2JA0KPiB6 VFlORk9PYTt6JTI+JFROeTZgUUhFYlY/VlQ2ajxkKyFPZUUyJF4yWVZtcykpNyNeeXBrRSZ6cXRL KihPbQ0KPiBmfHB9DQo+IHpkV0tJSmJTQl5ublFNQ2kmKWByIXtmTz5nPCFRQ0MwelJMYTBHRThL ZmFmbktjKURPQEo0dDhiRDhhfjtCNmsNCj4gIWMNCj4gekZNeGZtTkRMbVFYamU0P2RFaEVNR1dO a2NebSMwfDFDJWc0UjhLIUB5Z1FmQ3tvYEUqZ3pEKnx5YTkNCj4gKFVad0BvKQ0KPiB6cGdlfCQ+ Z2lKel5iYlhuc3lCQjtqSXJgKm1TIXhKSF92Q0pWUikjWGV1VnNxcTVUfCExIz0/RT50ckNBI2Eh RkINCj4gekVyVWIjXnF0XnZLaVdZJVNVUUYtDQo+IHFWT2ZMaXc7QVJXd30yRkhDWkEpM1ViVDZa SXFIJTteRmllKCtFUWNqTHE7Kw0KPiB6SiQpeHc+QF9vJVBWRjFtMEY7ZmAjPkdIMUdFODkoSTE3 UX0rZ1FCdVRkMUJzdF5nTmVkc2Ngb01UcVVNDQo+ICh1WFJzDQo+IHpXa1lUP1VDQWFzZ3ZPSzM7 QFRzUCFKJkhrUE92T2lMPHFwPlo+aiplXmomR3A8UXAxfEZtcmU+e1RoYiUNCj4gezEmUkcNCj4g elBuZnctWiE9LTgzeTRxez9TdUkpU3BBd0ZNNGxkZ0l5QyFTI0xfdy1PTk5LKT17diNzayRQaThL TGl7PmpAU1o2DQo+IHpgNyF7d2FAXzslTWhwK3QoPGQoeilPIVRmZWdmKChCRUo7OXxBWXppNUt4 WnY2KkE5UDIqWDQ1XnJNKHs3XkN9ew0KPiB6bD53bzhgY0Nqe191MzBjZ29hITwyKVFOO3h3ZThq RXhGRG1SS2lxRjlCVisqVUwkYzZCPF5kenhXZj5hNnZWDQo+IEVwDQo+IHo4alMjeiR9VmZ1I1Ze K1c4KXt6T1pwSjtnNUAkS0lWWEl2bCMoejAmUThTRmJkOFA0NT5yTWdGJFk8R1djeEINCj4gUmUN Cj4gemdwMkhLSihnNE9UcjsocCtvZ1YqYkN1K2JpR0xtX2J+Rn4xdGxIKVQ1TjVCbi0NCj4gKmV5 dHRlRUFNUT8zMVFIO188eg0KPiB6bjs0Mj1EQDUhTTVCJWw4MGk9T2hnJEhReWp2eUNqTH0jPU9K YTlKPlZtflZuKXg9SzQqM2gxUUlNWEI4Mg0KPiBkOD1ADQo+IHoxaz5PcjJkfFlBVypGSDQ5NWc+ NiEmSHA8TCkrNEBkbVFKbnAhUiNEZ2pifm0qfiFuTk8zRWR3cjBPDQo+IGU/bX09RmwNCj4geiRP VlluNl4xbnUwMDZTeVYhUHM1e2t2R0R1QFlDMztjbmN2ZmxQJWYqN1cqJXNZKHJSSj13ezEzUTFA VjUNCj4gQ3ZNUw0KPiB6dD8zJHdONU40S29jTjJJZXRJT2B0bEdkMUVXbXFxSWNFTEBQKXgoM3Ve e2h8ekcqZEo1aWsoaTgtemp8ZXorblENCj4gej9nTj96JjQrfn5mWTBLaEd2dlAzOT1XZ0tWa0JM SyFWPnlLMHNhSWVkZWN2K0R0WGg4MUNteiU3Xjk4SXMNCj4gemZeLQ0KPiB6OEhze3B6SHpxYDx+ Z3RDcGRfT2FZWXAyX01edHIzcV5kQXFxTj9rKXNfN0NCNys9SnlaaiExdG95JE8+NVhSbA0KPiAr DQo+IHorPV5oX0pJWUglNmtEM2JjUXVQUm4/O0NPVXtyeStHJlFwO0ZvMCpyaDR5RX5FSlcwQS0N Cj4gcl49cD8+TDxzYktCV1QNCj4gekg+PmdOQ0N0KzFVbmpHKVMkSVVUayRXUT14az5oQCNJVDNX akVpVXtTfTFVS3tPQjljeDE2VGEpcGhCOy0NCj4gakhvUA0KPiB6P2ctDQo+ID1zeExOQ01TT0xm U2w2cj1+Y29ebzloYUBNZ24zMD8jRD9pPU9hbVBuZlBzQmtDUFUwfWhlaGB0NXs9I15iDQo+IHpp QW9iaXQ2LUsrSHZKbUojcFE+Y3BAVEl6K0U7X35TNFAoOVVeXkk+T1IoNG9nZSlJdD1zMCNjanFk b15yP21veQ0KPiB6RFc5WDsjUDErX1I/Qkc9MGZ5ZmpFYkhEYSFVSig/RzgmU2UkQH49TURaZClK Mlc2N2lsd1hCV2ZDdEhDDQo+IDl9alJwDQo+IHpudnxrRGpTJmxIYiljKmQ0Mn1fQDJRRUlNS3pZ NiExPExkQiFTYmZ0JCNyQiNmbGwlemxaUDc5WUJIWVgwWiVhXg0KPiB6PnNlZyRLbk48QngxXy0o V0pVX0QrSitqVXg9LQ0KPiAyS1B9SUZENSt3JlduTFB6SyFMZmBqMj9mfGFFVWhOekYje304DQo+ IHopTVB3WG9CMEB9azYpc2syenJrU05GVzE1USUySzJxTkY7TzVie2JtdVVUNDBDNEdsUyV8QENR K3N+DQo+IHRqVFdmbkcNCj4gelY0IUdqdUYyVjRvM1VCOz9gI2dPKnFvNGJiMUdBM1psKHxlVnxh S3dNbGRieWZmelg1SzBNQj1DelBmYnNaDQo+IDEpeg0KPiB6ZVgkbjNjYmZ2eTd1PTY/QFI3Vlde UHdvSmlFZnZCWShuREtiUzN4NXI1YkhiNUJxeEBaNWtuK1o4UVZiDQo+IFdadmwpDQo+IHo9XmZN SkNmai1oaXc5YHspSj9VU25+KWdTaGlYVj9FeCpDMF58a3k0LWtTeztOZ2B5QyMqZDxFZnxqJVhG ckBqcQ0KPiB6X1JAU0VtU2BlelpOXz9LclZmWn1qaTAjSTtNeVNJd3V6Knc0VEV9dU80QTVLVGV3 KFNRaVNSfXdxI3JRTn4NCj4gSD9NDQo+IHppZ2ZqcEckbz1UQkA5KGVJb3dOR3JZUXJPbENpY3El TW5IOyFJTShxRGRDQWU7djhNc0ZHZTZDRCg5Y1dyDQo+ICRsMUcNCj4geng8PklNYSorYmtoKEVK JDxac3RiY0p7JW9HdGNZSWF7LT5lc2hJNTRtcnImczN7R35ZPDU+WHI1WnZgfXg1RGtrDQo+IHpf ZDY7bEo1SjktDQo+IHxIYipEPXpYOFFmYk4qWktocFEhR2h6S2gkVTZ6e090fG1Ce1QkQmVZXzs+ MzNYajltWGVeSiQNCj4gelJpeUZWWVkoST5vJE5IZ1VBYihzKComMTwtdUg3biYlcENTeFQkY0Ze I2otDQo+ICt2ZTxGNjJVQVVAYitnczJKa1FlIQ0KPiB6QSROLS1TbSp0MkZgWFRTZ052O3shLTdZ e0EwOWpie2B0WF9GeiFwQlZ2RjM0T2h3Q0tWMWQpY3ItOVVMQT9xMXoNCj4gel9TeyFyMm9sOFZp eGpOOWxlT3BmZmR+c1hoO2dkYmVIbTVAV0Yoc0tfMilgVnFZMGIhZk4zbklWRj5La3ZJaFZLDQo+ IHp7aV58eitaOyNvbWtFO0d7U0s2Q1h6MEA7TEp4fSgkSi04PnlIUTVVVDZkaGNWOXJhfTRJNFdx ZlBlbTU9RVlnMg0KPiB6USFZWmBqcWNAbTIlaFNZdm84WiZNLQ0KPiB3ZkUhfUlNfFVAPWpiIXFh e3B6SnZnT2ZKJWRtJjEoQ3s4OXJQZ1hzezQ4DQo+IHpXKW1JVC0NCj4gRnlyI1ExRCRDYFFxXzU5 I1ZkOSozMnhjJmx+RFRqMlImcXszTHJ8QnZvXmRQXjNYY3ppKjNhUV9OUS0NCj4gekNmKGVLdyEt DQo+ICtzRWQqaD42KThIeno2WEtlX3xUcCZ1b2U8NEFyWV5STEFZSiNuS2NQM01BZDcpMGxPXllU PDJgdA0KPiB6KS0NCj4gNyZ6OFk7STRoYzw9PmQ0Wikyb1V1NkdlY0ttIUI/SEdUPyhTfiYxIWdj WDEhdzxrXzV9YE87SVdIKXhabjIkDQo+IHpvYGdVPFZSamheZjx6VXRSQ2VuNThXMV9WcHw9Sypt fShEPDJINFojN1FpaXN0QXFPeSt8ekpRa0dMTSlkDQo+IFVXcCoNCj4geiZ5OFZgKFUpMCZXMDRD SSFYPktGNmhQfWYyWE94YTUoeHs9YWZscF5tZ0VvQEd+YEZsYVdMJkFZakg+LQ0KPiAmb2h9WQ0K PiB6Kyo7ZyN3Nnwmbmp5M0U5S1Eod1F7NWlxWG56a1luWlUtDQo+ID9kY2Rpbm8lZ1VXITs3YmZO JSg0aHwyR3lNKT5gQm5wDQo+IHpENExvJGB4NT5KXkQ1aX4jPjF5PF9vN0k0O2dYb1ZGckFzWCYl RzI4YURTejJOYTR7YnwyZHZAPk1QVikzSQ0KPiAtU0kNCj4gejxQeVctDQo+IGs7O1kjMDFWO2Zw UGkjZklXYGgyRiVuQXwrfjVOVGQkaFd7KGFhWHIqY3kqaCkrUXZ+ezR8TDxYQlJlSA0KPiB6dUJq c050cSRUcjM8RHBXXnwofU1MLQ0KPiA0XkpQPSlzeGtAN0U/e1cjQCYpa3UqRXZWRmhSe1ZmYSNJ dj15bz9MKitBDQo+IHpXZ1JRTDd6d2Y+QExxSH10MUg+ZE1xYFBlXmE0ajUxQT0xPnZ7VH0rRWR8 cj5pRiNkSW1pcjh0JCl3XzAlWA0KPiBYOCgNCj4gempsZEN6cHthIXBYRylIJkh8STd2WXpNKVI2 S0JVd091RzNJTSM1RkcmKW05T0QhJWJHSmZ5KExwdj5Nag0KPiBeN0chNw0KPiB6JlAyekppYlMk VylDcj1ybFB5JT8lSUcqflkyMnArcHdaSGRFK18ydElnWmhCPFNKVj9LaShEKjlfXz5hWl9rDQo+ IFFrDQo+IHoqPGFWNXtReH0rYDJhPnFiTCt7Vk5LKF54S2VLWU9iTUIyO09OWnhueEdQYnkhfDVh Syl9UmklJjJIVi0NCj4gazM+Rj8NCj4gekJIdFp3dCNGcWZYMSpRZlg5S1ojJm5GSi0NCj4gZXgh aWxrNHU3XnQ1ITc2Mzh1cnBHVDFGVkZOVE5RPUxaTmdMWCZafg0KPiB6LSMkZUtRZj5wOFBZPFla bj9iJkBCb1VgdTVGLTVCWHlSLQ0KPiBLTVVYSnZjWjcqPmQ9ZDcwMF5NOCN7e1ZzX0ZzVD9oDQo+ IHo4VWlGT0kxbTFuIVE7YkFnYF49M3pKWD9EaTh0OTRtWW0kPTImfXVHMSZBRTw/Y09ZY2c4ayRe T2EhKk5aUg0KPiA4RkwNCj4gem1BQkNIWjBDIWtEOUpNWik4PWJIaVE/UFpyLXh5SHV3WjtvVzAt DQo+IEN9Zj9ee04yMURUazw0RV9rWko8Nk1BRXM2MQ0KPiB6QTxqfiQqdDYyR3gqcmkwQDNOaWgl QjFRckxPTlhVfDZCRzRoS0Yka1M1b3ozNzdOVWJDK09eM0swPzwyDQo+IDR+YzA+DQo+IHpiYnlk fnlLc1VJX2NGTEcmeyopXjt7RnNKSHg/OTByK19nUUgmNjhneiZJfSVDKHo8clMxMSs8VEgtDQo+ IG1HJjdzZF4NCj4gej5BS3t3MkxjTXAzSmArUkFUYHFAc3pGR3tkfW1UMjVKPDtuSHNrYVc/NlBa ZE9RMDhvTVYpQUk9Uj4mJg0KPiBBSk1jMg0KPiB6Vzx9Y3tyaypLbjs+VzMjdU5HbFlReF5HZ1Jl Nj5iTTI3MHYkZ0BFUigjVV45UDF3bGEzPWRtOE5hbCoNCj4gRTxGIUk1DQo+IHpyO2I8bm4jZnZv M1pJO3pWeFpCelEkPHtPYVFKTFowcmlJWm1QWHl9d2hfY2V3e25DJE47SXwpVTwyPVI1OGtCZQ0K PiB6RDxENz1XP28kUVgkLQ0KPiAoR1haIylKNVVoWFk0VU1odDQqJnxieF9ydVFhdjdVSz9uSTJ9 TE10fCVvT0pXaS1IPVZADQo+IHpDSjU5aUhEZDVOOElRdT8+OGl2MjNnflBhZismVD5DZ2dGM29X emhxNkxMMzBkTk8zNTM4YFpVNCtTZm5WPw0KPiB3XmcNCj4gemtVdWRiJVkrbW1xO1FJUCpAY1FY eV5QUD84eXdvKjlxVnxUZXZWaEk2bUB7VjxJQ1QlJm84RSR3DQo+IEs+QE53O3MwdQ0KPiB6VXkq ZTRuTXt6ZTl0em5lc1l6V1M5PjQpZTtYdT56RUlaODxfZzdGK1EjP2FQblVNRHhAPXM4RztWPWBq ag0KPiBVbEBrDQo+IHpsNDMlQiZYQ19SQncjYHdWOTRfZj4xI3MxJEI+XmVCKy0NCj4gUGRWaDlY O1J3dUUkeTUpP045bzxQR0lgfGpgZ3NgYV4NCj4genAhK35rPjElflg2YEdFY1goY2Q+T2BUa0Ij ZStPPnElRH4hdDF1bn5pUENjTz45Kkh0a19rdUUkWlVCIXpMDQo+IDwheQ0KPiB6MDJhb3kzNW1B NGQlXmhPPzh1MWFfazVrOHFBUms/YDF4I2loITR6TFE2R1lOcTZPM0Y7cVVmV0Z5OEANCj4gTUF1 MHxlDQo+IHp0PUAtOXZwd2JSPDhgNT9pOFl6KUxNenNSPTU4WjhhQElrNmlDLSgpT0FBX3heKTF7 LQ0KPiB6XzV3V3tZNX0zQk1RfjINCj4gekNeQjNpOGsjR0JaX2FrX0BPfVMrVX11MjV8NllAYDI3 NUlfWlUoTXYjR1N3aSVXJWxgOGokdjJEUTRwVQ0KPiBKUn08Xw0KPiB6aFB3KTlgbSpec3I2Nj5w UkFAakRLX2BqazV8Q0JGdWJ0Kld2bUplbFpKV0o3SW9vQ3JEJUE4Y0pae1Q1N2tUDQo+IFFjDQo+ IHp4THhrQSpkfHpNVU85PC0NCj4gaXZ8S2ArPHFoKmFkP3s2anVSd2JpcE4yTSYmdTl+SkdwTksw Z1Z2c2I9WXBzWnNpNm8NCj4gekMlbDYyLTN7Rm4xVHIySUR6eHx3REJMWWIrM095VVVJPXFQeWFj aiQ7U0xrSDNmYWdzOG1AcHV1cXVMay0NCj4gSCpYPg0KPiB6Nng8P2JzbWNzZVAkPF88S3p2Vj9i aFBnSEshSD95eiojLW5JUjxWMyt5IXRgOzE8RE0zM25hYi0NCj4gQFpOQlMlY14yDQo+IHpjO2Im a15YfWJ5KEkkWXVVaWVGKCpRLQ0KPiB9Z29PQUlLO0Brbn1CTDA1M01FcEojWlchRiNjeitkYzAp RWVlYHZBXjQNCj4gej5kPTMyaGxvT087XlQ0UE0ye21BT3dedmVkZXQ3LWFQd3AqMj1eNCtYSytz VUlQPWVjTTI3ekUySDQtDQo+IFhAIzB7Jg0KPiB6PUQkZDlaTl44VD0yN21HQ3JNaSE8NmFeXkR4 dlhnMlpNK2Z2N1A5X1BGUj9qeFRDMWA2dWo5XnhGK1d7Vw0KPiB5MXpADQo+IHpATUdwe3hjM2xx NDNLaz1HRmNBaDc7YnYxUj04JmE5ITQoTyVeaWkkc1o/LQ0KPiAoNmtyKCVQMHUxeDtiUzZgbiUl I0cNCj4gemd1fllxSzRmMTEkayh9cl9uNm4kYEk9ZHshTXJ4YF8yUjs2XlpHYm4mdm9EWGhGR3ty S0pGTERUWUExNTc+Qz5JDQo+IHorRWt8b3AqT3FwKDNgUUI/dVl0YF9KUCVBJjlkNVQ2MkZpUT9s S3VMK08tDQo+IChaK20kUDtQWmkqbT93JGJpejc2KiQNCj4genhFOHE2UVMwdC0kR35PNUlpIztI eykzdGUhWnF5KUcta09ze1l7TWB6UUhUbi1TcDJWUSFveGctVG5SYU4ycHZ4DQo+IHp4MWI+ajNK K0RQPUZwMWZCYlFCcWxeSSl2KChCT2E/aTNXYXkzQChCN1orfGZ1Yz5ASkgkMEBVKEY2PS0NCj4g el5SZCoNCj4gel5mYk8yZ1ZHNDJueWo9Q2EzKFEhWHp0PHxVPnM1eFlCfj9jUURhKU0yZ0dFflVl SHI5cHVrdSU5fWt+MiMNCj4gXzEtNQ0KPiB6TEF9PGp2PndHI2gqQj0/TU9gVHxCOT9fR3AoN2Jk UU1xb2lMc3hDd193ZHtaY2ZXRG5QKVkhPEpAKikNCj4gVnU0Pio2DQo+IHopWSp6KUVEMUF1V0d1 TkReaz5HQi1LaHYhI3RINGU7MDhUPUwtZ1IkRCszWVM8RGRfXyNXXypJWS0NCj4gJld1PHxZMDMN Cj4gejAkNmRRKmJla01zUGR7djM+ZU9JOEA4eSQ8N2w5ZCN4M0g8LQ0KPiBAdFJlal52SF5Qell1 OWZ3I2Z2c1NfaG1YUUpydg0KPiB6djFBQkkmXj9qPks/bSRFIXUmRz9vbE9CbUNVZmpTZGhKXkZ4 YGsqSDdAUSYybGQ2d3xPa3Q7RDRxZSVhDQo+IF5NU1BfDQo+IHpifld4RiFCUVI/Z1hmY0o+b09Z Zlo5Q1JxPDA+KlRGU2M4NypYeTJzM1NweUwkYm0xRC0NCj4gO0x5OTlJTGslI3VoQSsNCj4geiZV WEslYXBkRG9fIXotM2RacUlzJGx+dEpxJHE2SzBzayNWUnA2YXt1KUZ8blczfHw1M1d2TkppZmBg NTwzeEklDQo+IHpQP3p5b21PQ1l4a20pa2lNMXE4IUlTKnlLPWxPenZQdW01cGJuKEhOP3o0UipA JWNKKlNkWDZXbyo4Yw0KPiBVazBaNnMNCj4geipwJWhBbWApRy0NCj4gVShQYk1lSD47WFgxeWxj ZU90RFZ2JjZtYl5+bDtTJkA2RmlFRCpTUUlhKExyczxQZD51bkw3bg0KPiB6Y1pBSm1GfCl5e2Ah WW5yYFpKOW5JU25JXz0qRCpmM3M1dExWKHN6amQ3MmR2ZiZHVnRsSGBnQVh0QHwxTlhwfXANCj4g ej1WRVhESkNGa29zRjYpRlNVaVBQdmlfWXYrQEIoSyZGVyRKJD5tXnRmfFo8RmBOYWVOdjg2X0t4 UT1LaDwNCj4gT3pmIQ0KPiB6OWcodGg4ekpePFZCe2NGMGVHaDIhd2glWkBzPT1ObXdfQmBALQ0K PiBpc0l7bH5GX1c/YT11UVZjQDRXNGkpQUtGcDdPDQo+IHo2PUIjMWFnayhGOVhZXmp1ZSR+anhS alYxTTYlcSl6QXMxOWBuRjs+YzNQNyowSVBkNGxwfjBeP3Z5IU0wYVMhQw0KPiB6TX4tZW9Lclgx cCRRO2BSOCtxSyVxeHopa2NaZExDUn5aanE1SC0NCj4gTyZkWmtaajxXYG5LbmR+YmdgfkU7QVRr QzlTDQo+IHpVfSZ1WXhiVmUyUmV2WSlfZjdWPEVONTxZcDh4P2NkX1NOPmU4dkdmVEhRTWs5eDxQ dFZnfHNWXkc1JmANCj4gPzdsMWANCj4gelRNRmVaNS1fO29kfDdZKzN7QldKKyFyP2k/PmAmc25k RjFtX2lCNDtZWEE9PTtiUVdvPnN8OyY0Zi0NCj4gflhrZ21JKg0KPiB6OVJjN2prSDcpQDZ+ZDEo QExqM2x7VFhNdnt1WDFQPm96YllGMSVzdnkmeWV2WHQzSn4wPGRUe18jTVdZckcNCj4gWEJrDQo+ IHoqanl6NTJXe0p7UiV7PG4hfG5ENyFMamZzVipTZHVRRE0xVTBDU0pIJHtwcn5HZTNSejh7NFdy OTleeylZZ2lODQo+IDQNCj4gel5vcSglUEU9dWhFNHM1KUN1bXYka3E2fHk5MmR1OTdoMnVYQWcz NTwrJSVuV0c3P3tRMX1hUkVicWBJdg0KPiBlPERIKg0KPiB6NUw9UFN7X0hyTTI0U3tWfEN0Jlkr SzVOaGA5YilkM0V6KlpTUERhenpWKlgrbzheU0t4QG1GU2N7USUtDQo+IEFHK3ptDQo+IHp5RXdX elp0MXokJF5kfVp1cTg1RE1yX01RZ0VoTylwK2tkIzZAbXJkbmpzcXkrVWxNR0JOeXI/Vn1ADQo+ IDJZI3w5X1QNCj4gel9UX2JYMTdaZDMzNSZtcEElcWEjPXtDKkkyIWNUV3NCKWhlb1kqTy0NCj4g ME5XZnomakQzZnZzNEBTbV5fRThhVDQ2aQ0KPiB6ITEwejQ0OHNYTXRaTEBVTyhxP0o3P0gmP1hr IzhmQHJAb3g8KzB4WTlJJjYrND9eZnViVmEyMjlvZz1LRw0KPiBOZXVCDQo+IHo7T0NiPkcxdiMy Zk9nRGFuY3E/WG4ke3YwaX1GWnJ4V2MtDQo+IDFlQTFtU2hDWXI5P0t2bSg7Xz5JYTNiaEJAMkhw RlENCj4gekF3YlJVb3BgPkl1P3llPGFAVzZRQ19aPm5zRDN3MDFWO3B5PT9+bjZfYmJGfUlzdmlX aWxhcmsmMzQhN2tMDQo+IGs/eQ0KPiB6UjBaemIjWWVpd010WXk4eEpNQ1pWS0JsWUt3V0w0YCk1 Mip2KSU2MVhsaEteOU8+QEcrPXVwSXlXSytJDQo+IHgjPkJTDQo+IHo8UV5UI3lWLXBhOFdrI2o/ JjY7QSZ1d0hKP3VFUUZIPXtrOS1FN1QhdD4pZUEjJWJPPy0NCj4gOEQ4a0F8KWQ0QEkzZUYNCj4g ei0NCj4gVTdWPFUxVCMoYUtDOXw7X3hxSWpBTVFZV0dsbzZmSWlPeHtTZm13YzUjQXh1OG9kSlBl TTQqMD1mJXVnQ30NCj4gLXoNCj4gemQjfSk4Z3RhMkEhZ0lmNCs4RWNtemJLKilaVHk9MTRpcCR8 PEpZOCh6bUc7RHlGQ2JmP2w5WH11QUVzdDIrZH5gDQo+IHp6PjtUOXdUVWJqIW89KXBOakxMazJ9 bm5oK0RxPVZLQlNBNkt6ezNsLQ0KPiApPXpOPHBiK1NXUTxrVjI2NVlKVUVLfW4NCj4genFOSTdO NSZJP2djTjlVYGVgKnUwbHRqJkw0XjE/Zl9MKHw4KGhUVTtPfG9wZCtjYUkwTyplXj5IcDMwPVBF TQ0KPiAqbQ0KPiB6TFMjKDhoP3JZVU8lS1Nwb25YSV5uVCZjfVV6aFhKNEF0PURoPXdlOHFxR2Jj ZSFrPj5Nd1FsejFTcU5vDQo+IDNUfnl2DQo+IHpSeVFnSXhTI3d7dEViY2c2aU4wWGxIclVJSyNX ZXI5R2kyckZXVnBTYEBsJH1MVD5jNHIpXyorYkNZYllmfFQoXg0KPiB6c3VYTU5PWVYtLQ0KPiBr JE9sM0VOTFdiU20ja2k9Q0YoditKaVQzP2dubWZqdU44OU1wcmxWVlBafClGMD9NVCtybSU4DQo+ IHpSS2tRMUJITUhzQ0xRbGRBYWQ7YThEQHY7QHBeOzxuKDl0KXRpYnUhODM1PUVVSmtKKkZ8PERz OCZ1Nm42KDQNCj4gX34NCj4gejNKKzB2MyFzK0x5SyQqMWFQRCY4V2xwQyE5bjdqanBfa20lJFcw PX5uVFdlMzs+a2NaPzc/NkA4KndmbzYNCj4gN1p6ZQ0KPiB6elhSV30md1VTfGJCMURyY15geEpS KCt3YmArfEpxZXkmOUs3PDNFTEtYTHZFdXBQcStvR0pzTWZaWXh7KUsNCj4gfTdRDQo+IHo1TFkt DQo+IDJEYmVVeTlIUUgoO3xVT01QTFhaWWk5IW5kNjlxY3AjXkQmUShZKzIyTEQ0PnRNKSsqUmJ9 dFkoYTJfUmUNCj4gejNKfGl7MEB8UHtDR0phek9RQHpIQ2U2I0JJfio8aWxEaUFGQXglK3FIdm5P ejxrd01DSXw1anp4PHUxMjUhDQo+IFVuIQ0KPiB6SlIreFpJVi0jczNLdE1qJS07aFEwNFB5Py0N Cj4gRz9QU2hgWHBGbGJwT3FUZ1FPbU8zYzVSbktpTjt4MGNRanV0QyheDQo+IHplNDZjIWojTX1h WT5FbzY7UkFpem5EOGhtZUlRR2pzSEl+T2FiRylZPjNGMz9oUGtnbj1Sdyt0Z314KHdsZEcNCj4g Tk4NCj4gekI9b0J6ajFnKmBRK1pqZXloSl5KM3Z7NTd5fTlYVGdSfFlsKihxI29vdHZmdzt2VnBh KT48YVBCZ19AcmU/e2ZNDQo+IHpDPU1nNEx8ZVJ6N31sK0d4OE5yK2c+RC02Q3U1Tm8hdlZyMk5e fEpLVDR4bC0NCj4gX29wMlBhfmRQSEVYSDs+MShZcmwNCj4gei05S3RtO0FBM0xZK0ZlM1RyUUh9 aSg4RGkpPCFeakEpY2VIaWErVVBZb1hSMStfMWY+YEF6YG0zM0E8ZTstKT5wDQo+IHo2QGdlei1S Nyp8cGMtKzIqRVhsfVZ3XlMhXiNGMVU+SmJoUyNoQGJ5N3xec3N6JStRQTJgVkhCWDFtWS0NCj4g U3R8LU0NCj4genszVipEPXtSXkNQd1FiQWlTQX0/MEJkfTBhVzRnTkZoWH03ZnhfKDBXcEh2TVN7 c09iTEltcjBJVWpJakprDQo+IFFrdA0KPiB6SU81Iz5ATWxzSzBmT2pvemlTbHJNdDJpMTNgRGxM LSRDQnQ5fSglbG0qRys2SH5EKnpmKntBJipJfDF5IX5TSEcNCj4gem9KXzkxa1B9KyR0dWIxST9P SjMmaWt2a3lCdlF4LXEoSUYjK2tfdHBnSk1MKzxCVDJAOE9PN34tNTtQez1KPDI+DQo+IHpHJElY e3hmaDdsNksreFQ3ekolNj5TbnE+OU8rcC1xY0ItV1Y7I142SGNYSy0NCj4gYFg1Y3VyZmhXbzRa PVhfS1R7eG4NCj4gemo1blBvQTd9M00xUW4hV3UhQWhJa3tMWn1UOzBaRU4rYU0oJkxEVDZMUGUw bDYzdCo/QiFqbFN3KjhkbDQ4SkFnDQo+IHpSQnh+WkYlTjI5Xm9ZVXlKVU5sS1VqKGRFMzZfc3JC bGZ5djR4QyF1bTUzPnM+fmt5bGxYPCM+PFAwU1lZZHRRDQo+IHYNCj4genFmMyoxRl4qJk8/bHlE UntEWnxPQkxTYENwbDF4fntOREBQZUxwa21gOz5PeTt7PWZQbntDfUElVnBIdyRvDQo+IHY2bA0K PiB6KiYpN1hiQHRyfk90KnZfNn0yRW87TGpGVDxaT09oNj9nSXZmPEdRekBHekJVNSZmI0xGS0J8 MntzUW5jSztqDQo+IHZFDQo+IHplRWwoV1c0QFpCZypOR3tHQHhtfUckVj1KSkFybiMjMEtiUCsl UHZFe09NentyMFEla0VSMnJPJXwNCj4gc0QlITNkQn4NCj4geks/Rm1lMkZaK31MfmVBUyM2elVq JEhLc14/Z1d6fnJeaDJYTGlJP2h7czZUdTQzTH5yQEtxb1lLOTRvZ1peSw0KPiA4dw0KPiB6Qj5G YnFlUFRRPHhFdSVoYT9eQVVZO0N0WiRRRlZMWjV9dDt5TFRVOWBRWlVEa3c5fU5EYk9sc0c+azxi NQ0KPiA2cUhwDQo+IHoyWVMjNGN4Tz5sS2s4azB2SHxjSDVEIWdQZj57YE1pTiswaDVNbkFeTk89 SmBYWW1UZ2BIVHFoIyNedyhEDQo+IEY2e2cNCj4gekomWCNweThUVkRsPjN5VjRPd29JIVlfY3wy VDYpKHZUVyhvOT5+JG8wKWY3VGBrPUUqM3ZfND9QWnJLfVBlcTE/DQo+IHp6bURaa053YGhPe2Iy a1JZNmRlJlB2emMjcTlia2ZDfWtIZEIqI0NYY3hPR3YwNiR1Qj1USF41Z1c5dQ0KPiBWPkp3QG4N Cj4gej57LXxKeyFVekojP15qS3VzMF4jK3stYUEhRVAzZ2V8RGhTSyprUWEpdEtUSD5yWEN4KkR4 dyEtDQo+IFlIfj9EQEolNg0KPiB6Xy0NCj4gfjxzRDRCa2JXMUwxZTVkJm4xJj16K2g2KHhoOz8q bGh9e0t9blR1Jko0WVhGVHBWQDw7QytiRmkkdFRAMndiDQo+IHpsUm0hUFNBWTdAP3Uwe3BQZD4h PWRFNm01RktPZX0rTn1gfno0OFpFMGE1TDhAT184KnxLUSlEK2FFTU4NCj4gMnNsISUNCj4gem1D KmtEMUJkdlljOEtxJnooTEUkP3hse3V5Snc+NnFQdjQ+OyNaZzkxX1Z4JktzNDZJKllPUWtvZl5u SmMoSkwNCj4gaA0KPiB6VTJka213NntwZSkrLTs7UStvQjVeeHpqLW9OIVRjITt6dWd0dV4/OHRH S2I+MVI0LQ0KPiBkJSZxTXZjVF9mIWJWVjhHDQo+IHpySHNvISVMeCNea2whdH0qfncjYjV8VG4y QFZXfSRmWV96SDByV24rbit5TDY7fVBoVktueV94I1JmVS0NCj4gYVRESFgNCj4gemI9TSppbjEj SHQ0P2pXM2A7NX1ZaVJ1PSlLTkNBNlRXVGpqbntWUjxvcSk4aFc8bngmR1BGUndzPiNOMyENCj4g V01wOw0KPiB6bEpFPGJlR2N6P1pLPXNoNClleSopNUYrO05EdzJ6QCt4VmpCeDZIU0pVVyZhZDZ5 XnUxUnZSKXBXKiVQDQo+IDNKPnB6DQo+IHpHe0BvRWA4cEs5NG1eUkRTRHM/aT5XKk1IKGRaVXEx Wi1IKiVQLQ0KPiBVJWlCSHsmKE8qKTFXbjRgM2NLT0AqZVk7RWMNCj4genlzeXJtZU1qJkRfVXcz VSReb3Y0czRRSDJ0MDR5PE9relN7SDtWfkBsX2Ukd1hLY29WO01EWShrUHE2DQo+IDBZLXR5QQ0K PiB6VjxiZHctDQo+IGMqZUdAcmA/SXU+KnIocWZzeHhzaCtxYzYoSXQ0Yk9eelk0azZnbEFxM2xv bjNsQTdfPUBudXM9XnlFDQo+IHprNENTRDZ8PXl1ZG5XbzJmKHReNV9zYH0+KC1abChQZmM+fClj QmV5UW9IdWlaVGx6VXotWVBwR35lcjMmVEJLdw0KPiB6Qk9AQUVWV0dwWkBUdXImKFZMS2dUNytQ NiledHV3NFpnUzVDZGRaaTQ/aG9XP0c4a2V5Sy0NCj4gN189aj1kWWBLWWI5DQo+IHpjcGxlKWI3 eXVXUD1nVGczWnk0MSkjX2A1UiVzT3pCNWU+QUI1ZT5BQjVlPkFMZSVGKGc/IUwxV0p8a3s4fg0K PiBxX3MNCj4gelNVV2lWI0kqYlc1JkQ7Z2cqZ0psJWQyNUtwI3NSa0hydyhLVmo9ZXRsOUE3ZW15 M1hJQHYlc1lHPV8jS2kNCj4gJHNNOw0KPiB6XkYpUDZeRilQNl5PejhlRG85RVFqfDBMWWtmOUpC Q1dQJW9zcF5IV291V2g3UDlgS0ZHI1YhfHlpS1ZIDQo+IGFvbys9DQo+IHpAKmw8ZkQ7Y2RxU2A2 a1VEZTJleFV7QztwMjZ2RTJXUyR8WngoOEY2Y1E5U3oqc1YjYHt9ZHdEOTdDVndDUg0KPiBQN0QN Cj4gekRxdWlUXkBDOVg3YlI3MWowKDZvc2slQlVVYFRNODF1XnRsLQ0KPiBWTUZJbStNenY/WSlm bWY0T3F5TUROUW18Q2lBIw0KPiB6eHYmIXpla05oblhIX1daaEdnJmszJXN4Rj5IWS0NCj4gfGJu aSFqNkYzJmlYJDE/UzJlYVpZdzU9TiVfPiVhaCY0fTNhDQo+IHoyTyhRN25gbmJKLQ0KPiBRcXJu ayVsY0NWKDIyd15LbV9XWjk+dXU5Nmk8Y2dyWihzbk5WfXwqY1hHYTBITmJsZWgpUWINCj4gejdQ SktuazEqeCNAYWZGJlZKTjR0bzhpQyZLTTI/aktvR2I5PkBiMjJ6PStGfV5DUHtmVXRiKV5eJXt8 Vw0KPiBSNjBsNw0KPiB6LS1lbjhMPUswPjQpJEZidWdPJk5FPy1Cc09ESiNHRDxCRDBlLQ0KPiB+ PmRXUktuRXRkYShoPloxWmteaWN0JWBLU089DQo+IHpkUTw9akp0fX43OXUrX2BIdnpqfT9nay1n Wm9KMjRzJE1qMnBtaz1ySCQ5RVo9TnBFRi0NCj4gVUpFblVLMXpaKERfcXANCj4genlVI3FlQUN7 P3Y4Wj15SCFjbSF0bUN4N2E/OGI2fmJHQVIlN3U3ckdSYjteJTR8bG4qTnIjVTtePSZ2LQ0KPiBf dVRieg0KPiB6dGdhOGV3IWNYNjw4Tm5PIyVERiRocmlRQHpueX09b2ZkeVBKXmJ3eXtBcXlUJm1T UTheOUtuMmB+aVlMZQ0KPiB9TGY2DQo+IHpBMFlWaTJNR1EmVT5FVEJhPmhybiVPeUhEcDJoXyYy fk5jYzIlJDlpYlNKUEdkSVA2aTVMdWF0WGwyYVE7DQo+IG1gcD0NCj4genJtQDwoQ2p5eFUoSykt O2JjXzB5YEQ2c3FJU0VKUTBNVkdxYDNTclJvcDJaTEwoSlRUT2tlSlhPSDZqYjQwejdnDQo+IHpV dGtSQW9VPEx4djxuUWspMTQ7dlJLUCp9S1lCfU5feT1ePDc9MytabG07V2hJNFZTaGFhNCMxPEVS a25FMg0KPiBCYikNCj4gelRDM0EmUztURjAyJDNyeEt4TWFKNjghR21fJGV8cys9RFV9ZVJeaUFS Uj8kbGVNQjgtDQo+IDZIO2hYPjQyMVJJOTg0SA0KPiB6YFpCc0Q0bnZgMUxvVCQxI3lBdWdUM3hD VnA+NXFnQz1TKj9afmRefSozYkgzUmw7WCtOazQ0eD5ENXY0ITA2dT8NCj4gejkqKTljRUVwYm81 dV5KMXdEXyZOYCl6SVE9WTVYU2hsIXpXOTN9Yzt2eD5ZYUZnOENvMHBxQ0h7R2grSGViRw0KPiBO KA0KPiB6am1rbitvfWlXQStTSFRsWG8rMmxDMkM7V3dFQEZzJGwmRlYpVGUzY1YrYHRLVSR1ZUZq eGJEclpfRTJEVw0KPiBXVD8+DQo+IHpVV1o/dkhqaXhhX0xicW1nWVVxZmRzR01ZSFRha0JpM2o7 RV97RChoVkVPa3hSUWtaZCg7dDFQXmwxbEFwTEQ0DQo+IDcNCj4gelJoXl9xZHpGSDNBdUJrRmxz M2NJdiNxdlVaSipqazR2RDNTSiR4ZDVzKTt8bWYhbnAoWUpLcjEjQV5jNnpSPlM2DQo+IHpWI1Im RmxBPn1CI1VBZFhNYVp8dlBCPCgkQmhoSTd2fUMjRyVjPzM0b1Q7RV5WdGsoOTFPcGZ4Zjw1YnxC Xw0KPiBFSjMNCj4gemhzZyhuNHh2PGBecGA9OWk0dn58SSs+VF8lKCY2dGREIzl9KzhnbG1kPUF3 MjJ4SjtRKEhlUVImTElEdXdhSw0KPiAqOw0KPiB6NX5MYmxDalI+MWJSaUNIZCpXYnVvSWstPyQ1 d1lVN3tpKilfRjwoS3ZJZ0RgbnRtSWpuZEcxUWwwViktYUArcTINCj4geksyNztHelZ5OEJ6IXJi KVZXeXd6T0pDPHBmOEpySEA5OWg1OF5kOzZ7eSQqMWpJRio4ZWpWQFMrVk5ocEo2Ow0KPiB3SA0K PiB6cXM/YF4yYnNoMVVUYlkxODdYeyhqd3ghP043ODdhZDhFfmRYQzA/UyM0YHQ3KWFFKH1Xe2Ez e3RKantTRzxWIzcNCj4genBAe2pvdm1nUEtmJTZQbi0NCj4gNzdSSzMyaEFYNUNVMyhxO1JTUTlR JE1DZGIkWVUkR31GU3Fubz43Xm9XTDs9TTEqRw0KPiB6cFE/dUkxSCpPKWUqN0B6QmNCTzhsfHQ5 MHo9KGAxZig4N3hSbG5oQTVTR15KanRCMDttcytxQS0NCj4gRzRNa2poYF8mDQo+IHpqaDx+NiY/ b35pc1l7IUNYRG88M1pXRWMhPklCM257IWRafUNXR0pINSY5ZE9tbE5Fe18pWWEpKjFMeU9fXlkN Cj4gbzQNCj4gelJ2Tlg8NEg4KEszNUNJckgxQSNyMjhzfWBXZlViYj9RPDgtDQo+IDRkSnhNRW5z YCUjRWZrS0BSUlpkJWhReDwrPShuOw0KPiB6RmA7PSp6aWA7KUs3IXcmKjB7PHZpPjN0a1JhdFF3 WH12eShoRXtIS19qSDFwRkBPfERZYXB8RSRWfVEzYX41SmINCj4gemh5Xn1ZLWgyUl4yVUluWSo+ QE1IRGstDQo+IHRMMSpyeWh1UWFmP3h2dm9SUSZfKnNacm92bGZ3UnNwVzhqUlcmcThjPA0KPiB6 Z2V6anE7TEctPl4oWm1hK0M0Wno7RmFSQlYtSysza0tkSDg4TGIxd09renckVmtnOy0lJjkkaCY+ V2gtDQo+ID9KdztCDQo+IHomaCY+NzMhPSZGfEJDJnN6NVF3LTVacXopeyhySzVMTGw4YFFHc1Yh MnwtDQo+IEE4UChfYl8oWW9abSE/KH0qTVFPeVENCj4geld6OHQ5WURRNzFBd3c/e0I3RUtJNTgr UyUxNn4/ZE9kUVorT2JDWXAoUSFVIzdxWD5ZJGM7OUh0UGBCJA0KPiBAJVchKg0KPiB6YDleeWx7 e2o8OVEzNHU8TEQrTTswV3ozI0Rza3ttIzg0PktnalMzZiFYMVZaSVVUVG5kd1N7dT4jbU4zelQj DQo+ICpKDQo+IHphPFdzLQ0KPiAybTBiRmhZNDlka0V1VjdnZlBQRDI2RG14MXRURyF1bjRgJWB9 NUc0O2hxUktxaXZ0eUYhSEZNbik4cjYNCj4gekQydmx1Kz5ieWlhP1RPa0R5Zj1OQXNpRFlSc1dn N0chcUpyJkw9fGsrWlB1K0RPfWwrV3Y3WThGdDM+cCRtDQo+IClxbQ0KPiB6R296c3JsQWhAJUdQ NXQoMGI3YlZXTkFoa25aPzF1RyV5O3NtXiFLMVB0KnQyaUklX2NSV3xRTF9kYzdxDQo+IFBVWG5I DQo+IHpLaWwpcG1kc3NkP24+c0lvXmZVQiNeQCR+bE07ckc5YSk7Sk5lTlZCQ3VnaVlfbCp5Rzkl T3ZAM1Z9QzBnQg0KPiB8dTYNCj4gentMNmU3KU1ZSUVLbzM7OGtYXnRrPXg2d1NyTEFMdnlHMGd7 MERvRlhWe3ZiRiZ2TXlXX0A9Q0liIU1oJg0KPiBYKmpoNA0KPiB6XkpQJXJzZl5LdmhWZz5WUXE1 WTA5Ozc5ZkRJKVRSalpPMU1WJFlSKmJpMmE2IXRARUB2MFJ9Qk47P3BRYWo2DQo+IFlEDQo+IHp8 SlhpPWZAfkFxbF9wOSpvRUA2TT45SmFyMHtzRSFVeExGeShrI3gwejNCT2ZTRFh+Q3pZeXctDQo+ ICFqQnlmeXNxZWINCj4geiNUaEI8R31fa1lCJl5BZj9ndTBBS2ckcz9pbkFIOV5UbDd9SkJuR0cj O0xhRzIpXiRMVj4xI2ZhT0BhSU89DQo+IH5CXw0KPiB6dWMweE1ZWXFfTFJZYzs7Y3dGPztBcCY5 UkReNDA5Qm5wRkJCSV88T2ptVTk/K2JXbH1rcXMhbklDbShiSFkNCj4gYyRyDQo+IHo4KEZ1OGFO O3M8RD5IVUczYSU7Zio9fjE7TFFHWVBiYkRuMk9yLQ0KPiAyU1QzPD15bHFZYH4lPStOUmMpSTxI OX1pd3gNCj4gejJEVGg+U21neXVydX01P3RYPkQhPG90KkN4JjZta29BSUFtMVYhYVBoMTBQIypu b3dObEBVd2kwQXtqKg0KPiAjXk17cQ0KPiB6YTFJU1U9K2dSKiYxX3JRZ1lxZnxPRDFzbzIpMzFv ZVg+OTVxXmtrRFhZYEV9PnhVUHIpbylifGVaYHEzX3l6DQo+IFE1DQo+IHpraCsjflh3ciZaIUYo eF9tK3N1NVlLPV5wKDY9eE5nKHxsYSorT0FEIXRtITBxOSpFLU53LXR1LQ0KPiBCbFJsZzRIXioN Cj4genE5YHB6PSppZSlWJHhyV15sTEk9UH14Q3d7VmVqZDE+RGF9eGZ+YEY+YDI+MiVDcjJpTUhT NmdvSEAhNXorO1cNCj4gXw0KPiB6ITwyWCE2THFld0V3b2otaGZBYnxXQmI2VV9VdyNhakM9IWo7 KnZIdDQzNnU2IzNCfCotDQo+IHRuakJfc1NDJiN+MD1jDQo+IHpJRUV0anFzYyVLVmFWK0U/NjJ0 O0ExTTZjX1FfOEV5YDwkVlY+LQ0KPiBxTzghaD93RzM0SW02RTFPSkhtU180P0pZbUkNCj4geiNu czNVdnhhaTleVn00fmFKbChtYW9sc1dfPElMYGNZQUlnZT5kYFhfdmVjRmArNTh9YHgoaVlIKD1q bExpYEZHDQo+IHoyJUIoQ0wqZno0Q1ZhJVJqMHF7M1V4VmV5aiZudFg3XkNDfHM0LVBrQ0N0a2ck S29JVDt9cHRgUzAqR3ZBe2QhWg0KPiB6JCoxX2o/M3VEKHFPJF41RHNWYm44Xjg3I3ZFPU5ORmxF VUU0ZVFSWm5ybVRtMkUhJGB5QVJrOTNKWmx3MWlpDQo+IDdnDQo+IHo1cXg9SWA8amRjUF9HWVEm bmVhe1ArNmk8SCNNSDc2YUJoMiFAQ15RKjNaWkBXNitMRzJhfTYlYUAqTA0KPiA8I0VSM24NCj4g ekFPTnN+a0QpQTVlQU5QbVc1aDVNSzd4JWRXNSRUZypaUH09Z0hGT1Y5eHlJcDx0flFLSUkjdGpQ KyUNCj4gaGx3VDFVKw0KPiB6O3dTOyNGMT84aTxjIVRzdUU0M20zRWohKGlRT1VKNlZ+KCF8SDBw U2NLbyM+KntQJXpaOERaayRXcXdrQWV6DQo+IEJJDQo+IHpGYVNWZDc+fGwhK0hZKGx3OUpVeSZx PFd8dkJkQnpqUG5manBybUt8b2IjZ0JpNzAmYzJGRzlHV1Z4d1p7DQo+ID0/TiQNCj4genMwKXwq MkQ9fX5YPEt9dmR0JEpTcH01fUhhc1JOMkYlc08zUmsjSik8MHBlM2xUR1VqSFhBXmE/UzU3LQ0K PiB1bEtReA0KPiB6YntMWktPfVlrNjJqQzcyYmFyRHledVQhVzZVMHZ4S1V3Xn47YGJCKFdicCZ5 NC1oe157SzRXNjZNdi0NCj4gbXFyfF5SDQo+IHp7NTB7PyNoKVZuSDFWXjxwQyRlckAjbCZeUHlC ckczJmslTXpmQW1+X3srdD1MSHNLNXRIb2E8e3lPcDNpDQo+IEAhbnENCj4gelAyJTR2e3lwTn5G YUFUflp4O1ZDQHQrZF5TQEVBMnpkYCgkI0JVVjtIU3hFTHplRF87O19uaUZ4QT1SLQ0KPiBjZzFm Tw0KPiB6ZjFtZyo7PHQrNUNjZzhiOzl2WCVAZXs+UTdRZTZme2xxXzZ7REFsYSM3X31fdT12Qm9B MVZHUUBoPWlUUDUNCj4gZ0I2DQo+IHpyLShtSXs0RFdqaTliakR4I0dfZ0tWU1NwQHIlVlQ2Rihe YWFgQTV2emVAYVNAejtwSVBXPClhWnhEWnpfOy0NCj4gcWINCj4gemtORWVDfEIoMmIjZVdQd2Ah VnxgXm9xPnx5KCYrbEpZSTFlUl4wbTY4ZT1eSV9pbG1FZUc4UDJMP0JxNFQmTA0KPiArfQ0KPiB6 ZVdrRCZ3cFQpUllJYHx1Mm4zfXREfShfaT9uSzAzRV9XWl5NIWZsSFdpbj5EQlJ7I210aE1KLQ0K PiBPMzJXUXYleW5xDQo+IHpyfmA8dSpDcTtBPSozfnRwQGVuV1F6JH5GVGdgSE1xflR1Q1BzeDst DQo+IGB8dU8xS0tISDd7QiNYXzArfWNURWMtO2INCj4gekw3NEFAQjJAa3duRXU2TkE0WEp1MnRx aGo9QiQ3Z0JQVjUxNFVydUskUXtDI058VHdxe1J+fGl3UVcNCj4gJmxDNENJSw0KPiB6YzRgQz5R YTFtLQ0KPiB5KCkzZUMrMFombV5zYyklRiN8N25AQ1draUA5R21na1BjPntOczNjN1k5TXFXOzlE SEJzOzxXDQo+IHo5a2x9Rld6X1UzbHQ0NnklYmxaPD5iIVJ3ciUwaHF5Q2RHNWsmVEw+d3ZjK3FO LQ0KPiAoRld6a0ZMSUk/SFlebSNOJWsNCj4gend7fXNSQ0htTHI1I0lgP0xEWmlHPEheN3t3dHpO bWRLbEJSdmoheThWYTREalBtUkYrTkBlPkdKcDI2TXMNCj4gWlBfOQ0KPiB6UUA9UTFTd1dzeTdU IzNva0d+Vn5VdCM+Z0xsSiptYH1sakNNKX45S00qUXpIez5iNW8tDQo+IEBBU005WmQ9VF98R0gk DQo+IHpCRjRYZ0AmOW0yM19LQ0luLQ0KPiBNUlNAI2MmfnlyKnFFb1Y/S1Y+X2ZpI3R3RnBLODFI X0B0RiFUSkM1PGxrI2VHIWQNCj4gemVpZ35SNFhIalhNWEp9JU4yPUxLMXljTH17PVBafXdxTXhP KiMqfU9fWFMrdlE5WWRqYUtxc3l6fERZTDIpDQo+IDdpag0KPiB6OHR4OWJDKldSJStYZVJ0VCg4 a1JvczszdGhEKEZIOUJ3e2I1VXZfLQ0KPiA2V25JRk16fXgyZUZFMkdPaSQrK3hISTh+DQo+IHoh Y0J0dkNSe09HSFFXWmNBSG4/JD9naEIqYUNfa1gyRz9WM1B2Pn5KcD5VSm5YMkgjYUR9ayRxeTlN cnQNCj4gYThKTkINCj4genpgWUlVIXRJQVVgbDZtcjNmdzVUPjJRVGBSZDlFfUpxN243KzsrSEth MzkwUGszJC1gWkBgQGlId3JFdD9zQis9DQo+IHphNiExV2FRREQlaFdpRUZ0OG5rWj9TdCFnYVpo SjMrKG1GUjswb2JaIW1XcTw1IV9SN3prflpEKyY7SyZzbA0KPiBXP2QNCj4gemY0R3J3bGk9cFM2 fmU4QStXOzUpeEJIdERvWDJvZEB4MEZgSV9uPXdjTEd5MG9ROEFMQmhpTDZPbXhafk8NCj4gTHd2 IQ0KPiB6bmRBKGNIejUqa2YyP0BAJHtoWk43MGdNNll2PlFXQ0hUdTNtTng5WDtVaCsjZjVDO0xN dnRFYEYrRjJhDQo+IG5OI2kqDQo+IHpJVkRjZVM7KGFEJDJmREhlRWdnMUVPaXpqeWNHWTZvZUkx IUstezJ7PiYoWUh6Z0lXfl9fWXVyJWJpaXExKDZ2MQ0KPiB6UWpYWWphan43M2Alcns5UDczMGVC Nk53OWhyOXlMPkEzemI7N29VTm9ONCRzTk1OOHhzfUFkZDI/QWNXZnANCj4gaXMhDQo+IHp1ZW1N aUJ3YTtSY31ScjZ1Qn1nVzMwZm5UUTRVUHgwVmxiRFF2YlRQVCgxT01yb3spI1VENjNZUWs/IzF0 DQo+IDRoR1ANCj4gejViJXtGbWJQWDlQIWoqZV99QVlWalBQTColcm5oWSg4Ql8+UVZIU30zRW01 WUxJVGNBWCMtcDRNOHY2LQ0KPiBGR0c+WA0KPiB6Qjs7MCEqb0Y4I0FMUnZ8VyQ+OVk1WHIzb3pi ZiZpMigocHphRXJHOXBlWF9WMCFZSSk0JnRqcXJtZTBlNHNrOTkNCj4gemg4R3hFRSo4cU1rZTQ3 fDteODYqTyMhNCtvaHpMVCNMc2xiSjlGXm1Uc1lFZTBwZStXV30+OSlAdGFoYThgDQo+IFgqPg0K PiB6TGk0MzQ+bClMaERLVkpyaDtEbTEqaU1FJmBhfFdQZ1ZLd1RPRjhuWmZMbi0NCj4gfjEjbz5R djA1b0Q1TzV8cz1pcHohDQo+IHpuU2xgVVZVZlRXMDU9cSYleVBza2NkbkNzPjdfVlhjclFUdTNR MHBlXlNpY2YwNX5pVk5YYThYdjwwITgyZmkNCj4gcG4NCj4geiU/U3kpdF9ZQkBSZmZQXzB6QSNh YXx1Yyh1Qz91bXNTP0Jgcnh6ZWtrMXYtDQo+IFlqfCE2eXNYWWE7Mm4qPmVYbUNWfA0KPiB6TmBY OFdoVWVMRXFtaUNyKTZrfj5UayFXY2JAKGRxPUw8ZWNQfWdPR1A1dWcpZD94ez88U0Ahb3psNXs2 UioNCj4gVi1TDQo+IHopLXVHcDQkbiU3UFlHRy0NCj4gRVB9Nm0lb2I5UCQmKGgqX0c1QDImemZz NWwkM2BPJCM8aik7K1FTTEdgOChLcm5QKk8NCj4gek5sdnQhO0hMX08pTCRCOStFPjlGK3g+cTdL WFpZfXs9Znl4fERWRUM9WDRnYGYtMDlnPENGc1FzSDYtX1ReOWU4DQo+IHolV055PHkjRlQwaiFJ TlhrWWRgSDlBREJRVWs/STJsdkU/a2IyendyeGNTWmdOVG4mSVQjRGZRfDRuVXZaYw0KPiBQMVcN Cj4gekw5UzBoJm9jd15WR3R6a2M/WkdNfEU1ZWxJTlhIWUtgKk0qc0opS0xvLQ0KPiB3RW98SnV1 aUZHSDImJSs3S3I9WCg4NA0KPiB6RX50eXolZCFhVnZwPUgqVz94T0pfRGR8fkV+UXE1QEwqS2tJ WnFzMytWaUJSUSZgeis2Uk5KbWszVUINCj4gYkN0blRrDQo+IHozanc4S2d1Ulp9aSskRGhFUTVU YXt6b2FIYENIalM5a2N7RzctYXxiNCpQekFjXns2cF9QNGp6QDR1SUtvazNEMg0KPiB6dj1Vbzd4 bGBNKFlzd2A+WCZLU0F3WUJIZFUqM04hKWpPfGMqV156PEFxZjQ/XlB9X3FzX2hldEN5U3I1MiEN Cj4gMTlSDQo+IHpPNkB2K141QHU5e000fmRffEBnM1pDXzZnZGh9VGFFejtAJThjKmZlYUhEeVgy aFM2KEJFT3xUcEhTWg0KPiA5bzdGbjANCj4gejxDRmhZS2xpdEB7JGBGSXR6SHlLWFNHJEVKXik+ XjFZOyUyOyRgcUptY0dHWHw3ZDdjPWU0Tz5OO0szQVZjK20NCj4gJg0KPiB6Tj50NUBxYSNuQndw ODt+PHItbVdwUi0NCj4gM2pVcDQ+RU07N0N1U0o9XiY5Wk9oVW1McyMlNFc/fj47S3lfTzkjSld6 DQo+IHo8QnsyK09TMUxOTUh+Q2BDSjA/P0A5Xmg3Nm0tDQo+IGt7N29iUHNEN3J2dStfbU5UYkp5 fXs1QWFJTjcwUEQkdjxVRmUNCj4geitGdkBkVUBaaUd0UUE4ZCF8UTV6eSVINE8hP1MtDQo+IF85 Yk0lSz4qKGR2eksmVz9qdGdpPHBzYzUrRml0RWlHb2lPLQ0KPiB6SUZ+e0tAeipTb0dkSkspUzR4 X0wkRGFzV0FHUDhEVmpvV1kzfEklIzVub3xtQz1eZyZUQX1PbHNeak50DQo+IFY3KCNMDQo+IHp2 N09JYGdlKD1paWYhdiQpSGxVQjMtLS1uQEQ7TEBjQ24mdW4jNDZOS3hLbC11N30mXj83P2t5SlBV TytKaFZ8TA0KPiB6RU5aaTR8OFRHcnRZMDMrMGFtTks4MH18bVpASTh2Jjw+UmtvR3BXJmkmKFVx UUt+SHhFT3ZFJHdMQzMNCj4gTllpI1k3DQo+IHpPOTNURTJEQnhuM200TVROTCEqcHlJQEtGKDFQ VSEmYmVzYnZqSn1APmN5ST1eLS0NCj4gO1F2Rip6JE91UV59Vz4mXlQNCj4gelhXXksrYFQyOH5F KG4mRTdGV3omUCMoO2tVenxVO3FNJiRUPygkST1Ga28mKWBHVUM+KkhyYHltSkQ0Vw0KPiBTZzE2 Wg0KPiB6VVcmSmgyd3FhMEdsZHFHTXA/fkxVPlBrbkBTaEZaQkdpPUh7VnxAcjRBI1YlPSFZYCFU ZGt3UiV7DQo+IFBAVSleNlk0DQo+IHphXkshfC07d3ArIytvYShlWU1+LS1nUilhJFN4N0MoMn56 TGAxRjR6cDFNfWZgRSQ0Sk9wQncoayFKIW9EYjdtaA0KPiB6Sm1mPHdvd1RpVTVweDBsPjl8JHR5 bGRnfT1XcFJGTCNlZEJiPEI0dVgjWEghc3NQMj1GKTJDR1Q0bVlSKQ0KPiBAR2ZIDQo+IHptWXhv NEczI3x2aHZBT2xKV0EpS00xTDNLVS0NCj4gP1hQeEFwVHcraUBLVU5CZGZ5alhLa2dQcjhhOEJR NyVkUWpQVj8NCj4gelY4OVd8V1I5TlI8RGM8aFViZkhVdE9sKHpnI3RyYGFFe0l7dXhCfkFlTG56 UkM4YyRpUnskRVglMHNWTF5UVA0KPiAyMw0KPiB6KCNxZ049Y20xX3JESzBQczA/OWBUcjZePm9h bn17ODMrbEFDQWI3TUxuJkJea2t9U3RUJj1ZcVhKO2UqMWpPZg0KPiA8DQo+IHptNm0pei10OyRU OEhndiEqSyVPZSs2fClUTEQ9czMkVlluP0VBUUlGPk15SDNnemUkOHQjIVJYIy0NCj4gMihjUEBT T1QNCj4gekklJTMleUpVYUp3ei0NCj4gZz08U0NeJFN7XykoPXYreV5PQXd+ejxjYkY1JE08M08x SG1PXzN5WD5pJj1IdXd1OVpJdQ0KPiB6cXdUa3FMckR1M0tiRyNJPiFPdEQjTURxe0V7VSgkNzlw MH53K1hwe1JOPGVTdishOEBATXk9JUk/aFoNCj4gR3VORyNgDQo+IHpDWD89SFNGa09AUkdyNkMq JUY7Y0c9KSlAblBsdCs5bzEjMXVSZmtOVGBmYkYhd0V4d15tbz50cDk/NjkwDQo+IGFZbXwNCj4g enBCJEtpZTtvNU57dnRkJTdOZ0NKdm5QdkM3cG9KTU5uZjV+WHpiYzMmYSQ/I1ltcmglPHd9Vm9G ZDhQIw0KPiA9bGJDRQ0KPiB6PFhjQkBUQUZySFNfdkZ5Mnk3ZUopPCRMciQ8STx1MFc9Sj88Nkch eGkmMlo2JkMmNztYRE5hTERjZDkjS2wpDQo+IFkyDQo+IHpDQ1huSyFyIXI2TnFNMXA9eyY3JTEp V1E8VSQyN0JhVyU/fCMqKzRkb09RR0N2N1VybFhOYkxVRHwNCj4gTmpQdWRiQmUNCj4gejkjcksx TDNsNGkmQXIlY2xONT1eUUJOJUdGR1RDLQ0KPiBxM3V+cDBRaV4rZVFoUnNvRWdxITxtTDRYMG0r ZV4keWs7VA0KPiB6WGdRJjc7TGxnPFgtDQo+IGxMQU1qVG4paGc2dHteYVYmcTcrSHEpOG84JFFz bjh4SzBTZkF+bmVmTnNvJTc8MXNyfWpNDQo+IHoyeFgzSko8PCpKVmFfMTgmem8zaHtnPExGbyZQ MXF5SVNBeT1kSUdMPzgqdHdKO3A2V2R3QTxmUTI1dFN6UHwNCj4gKTMNCj4gelBZK1lwPVVQZD5H PWQ/dlpeX3BIQ3Y4R0hRQHFmT1I3blRxN1c+ej17ZnkwPng8UHFsWV49SGg/UU4NCj4gPXFhQ0hO PA0KPiB6bEgjd1NVMk0qX09eOF89N0hoZjQxKGlteCladkkhfEdFfTB2RT9YcVQwWnFGazZMM2oy LQ0KPiBgbzl8OCZMMl59citoDQo+IHo1c25MRSFebkEqdjhvNEIkNzBfKkExUEBtVn5YZ0lfVk0j RGlzUUk9NWoyXmdOZjh+VVgoKC0NCj4gVUdAfG9EKGZYWlENCj4genxBfGRuIWwrfGZOSDFfa2lx dWRuY2VQeTVeMFh8THE8RlRsRSY8RlAhTzhFY3FqZGhBNT5NQ04qIzNnNlJ1DQo+IG1UdA0KPiB6 NFpmKXZidUhhXklhXy02VX1YPjlldWJPck43aURkRTI9RXFjQzI5R28qQiRyYTdgZXV5dEp8O0th aVZPVHdKOyENCj4gekZSLQ0KPiBBcnl1N2szU2RpfkgpOV92I1NlalF9bHNDVilBVyZJUmtSTzt8 dSZ9aGVBVyYzTjZmRFhzRjFrSzFTWDReTQ0KPiB6ckZrdFdTVztTa295fiheQ2d4UUgxSHNaaiNT LQ0KPiBMU1AjeT9nUzVePk1rWEtuelJJKF5nVHZ8flBDfHd4SCZrTj43DQo+IHpAK2QxVURoVlF7 MFl0TlI/KDgraURUQTg+SHlBRHY/bDl6U1MkVjx5JHw2YF5tSzBTaW18SFowcmtCRU4zDQo+IE0k STENCj4genJhaH4kMDV2U0dFRmNeaUdxVkVBQCt0eClyTkthMWQxK1plZEdVM0Rpb0IoJGNpd18+ MC0NCj4gRzBEU1hyYHdidyh3TQ0KPiB6aS0hZ1J2a0hxVTB7Q0I5UUhnLS01VG1ASHFPdiYxezF9 RHhecmd4I1NXdWktanRyTC0NCj4gMXElYkVCfTlmc1QyTlpEDQo+IHp3NGcrP21UJGc5N0E0ViVe OCkhcjNsfG9ZQlQpeUwzPUtGckNEKVhjRS0NCj4gTU1sczZANikzSVk9ZzMoKCNmPD5qVTINCj4g enl8fE10cz9CMV5mTXwlMjAlREl4Vj98S3xCU2NYfFAqNHtrakRyMDNXeUVGKjd7JnYxckk1U2Bq Z1RDYVB6bg0KPiBoSg0KPiB6aD1tT2hNSispNSlQO2N7YW5EUmlGQG4waDs9eklJTi0NCj4gRn51 Z3s3Nm5gR0Y7UTcxdG5FTDc8fHZ2VjRLR0cyZiZ9DQo+IHpLe0RVKyVHbE4qQD9iJD1lbz5IVmtv fjA2QDw3NHp5ZGBERDEhRHElVWNHeFJEOWkmPDJGMythaVVNDQo+IFpfaEFwMm8NCj4gelkwJWhT eShicHRsYExXI09UTU1+V0ROX35iIWc8YFZ4Z3V5R31IbngwKmJwOWJXIysmamBZRC0NCj4gcjU1 SDtUODM2Qw0KPiB6eCptMDFmUDk3dWBrWXlhXjhjVW9zcjdyVF9ZYE0rQjZ1NWE2a0gtKV5IRWJ8 VGAkTihvXmlmc2wqfVVqQkk0O1INCj4gej1QYVJ4Mi0NCj4gUn08WDdGYnUqald6WmZNbih1NVpe KnBxPU00UXBiN0YoRkgoYlZoUnBJOVhIczVLYVYyRW04M1hlSg0KPiB6TGpuVVVCSyh6RW5xTFh8 STZaR2tLX3FNdk0pTV5NRm5fdmdhfGtxU3lLYSpmQ2EhYjYyS35xK15wVzINCj4gQnludTZ0DQo+ IHpHZj44Zjk4VjJJLQ0KPiB2bjRwQDYlRTA0QUhpelRAQSZXKCV3anVnVEJHOCVIJFppNmsrKSZm IVlwN0E2eTRJTCMkaUANCj4gelgjOHNUPGR+IVlJYXMrNiFERkRMMEYrOzhnbyh3c3NoNGUhZzFw I3sjUGtLQT99Qm5sKER+T1hVcWwyYjhYezdMDQo+IHpFUWxSZ3E1cWltI1F8TChEPE5nQGl9VF5a YiMxdiR1a3JjJDBJXn5XSUdTMWFuaDZkWjZGfDZoaGEhJGtEdw0KPiBvVmgNCj4gemhlVDRiJXh4 PXltYElaamZpKSZANXp7WkxmRnZtaUUqeXtGQWg3WmchLXdWPEwjWjQlYm9pVkEhcDNfOWQpUzB7 DQo+IHo4MnVkUTVeXmdSMklwNVUpU2oodF4kP0VwczdJQGYhMEk5JD5yQip2PjxISj5JOC1Cdntj O3tLIW0lPCh7flFrKA0KPiB6LQ0KPiBMajt6eExBS1dKc2tYeGI4dXtXX2EwNzxacHJaKDg1dXxM QEJDcXk7Yjd2eHNIezBoQ084KWs4I1glJjh2ejMNCj4gVw0KPiB6SVJQUElVZzEzYUluTUkzPEBp Zkw0Q2hFRUFwd3NCe053QjQ9bnVweiM2d3dTJj9wUj9LUk9IV28mXnINCj4gIys/Y21SDQo+IHpm eEpiMkU8JChfZXNOVyVAfEArd2U1OXBTTCM/JX13XzNQNm89czgmPGNpKUlNQlpFdnw4PFF8c04z Mg0KPiB5P0FYTVANCj4gekEjXk45eTk1OGFtYWUjWk1FNGshOEN8e1g1SEBONSpoWGpoSW5xPzxJ JERgdkJgZlcye1BTZGA8SUlMNldMDQo+IG5qdg0KPiB6OVZoWClEVUppVHRNNmd5bVpYalJgSFJa U05FQFYhU3Q4S2BAVk9VO2EoJHNsWlNJYi0NCj4gWWNlUTwwfEdEQyg2ZU85DQo+IHpYWjhmTjNo Rk0zKH1obHlPNExSPjlwOUg+b3Y2KD5kS0FOWTx6bUt5RTkrKz5XKVFOeTAyRComM2BTRFQNCj4g aFBBTmsNCj4geittQUUxPHRRcz8rUnN7QEpSOCRRPjFsR3xYOH1WflV9dzVhKSZ0UCRNNyE1YHRs KmkzK04qPih7UFopPm1ZSw0KPiAtdw0KPiB6YXktQXh7KXUkcGhIe0shQyQ1PXstDQo+IGFCRk9u Mnp2OFFGIURVcF8hPHNqQDZtaz92azxBKzw7Jl9BUXJ0cTZzMzlWDQo+IHplbXdoWjFAQEYmQ1ZV cyYxNS1rYmdwMyVDeGt+PSNueGR9KkR6I1gxLQ0KPiA5aiFmViE0UEdYaTZTR21aKlc4NCRZIWgN Cj4gejJXeS03P2FNZ2soc2s+WVJZdnYjOW5jPWhLRSRyNT9HPkA/PilOaGYoJD0oX2N4JH4tT3t2 eFkjYF5SQnhqaC0NCj4gOA0KPiB6MkUlc0NkM3BhXzlfZXFVJFNPKCt5Sn5HWldGcTV8QH1qTmx7 Kn4md1VuZUU5OGpwR150Pk9wRVFEK0ENCj4gakNqPDhCDQo+IHowJnVAd1E+Z1o5VH1rTm80K24t M01yVVpodUMwQVoldW0tDQo+IDNURTY9Nz5qcjV2KlpxeXJUc3ZFMklpWCpNZXVlaCQNCj4gemdJ Vj51U2BKNS1YNyNnKSNZR3F1Skk+VGFDOXY2R1pPVipVJmgqbDlTWWpNIVFoOS1sTyVoSDxwOWp9 PShpRW8hDQo+IHp0e0Z9JjFZLWg1ZnJvaGxCWSFId1YqPk5ARnM0PTsmd1BZcFl6PWVIUCU3X0pP RTV8OyFaMUEmSjVWOC0NCj4gXnVWYz0NCj4gelEybTFpNiV4JiUwPFVsZDNRSjMyZWUmV2opYlcr Wko5d054VU5Bcl9kU0dCLQ0KPiBNRjF1aXtLKGdJVTlGJDY3aHZ6cQ0KPiB6eT5TKz1SdkxSRklN TT1wRjdCfFMxWjk3JGMyQmlQK0JIdHhveG1BTXdLOClhMmlRZ3JuMXhAdXxCJF59DQo+IEh0NihS DQo+IHp4RHhPUF9nLS14TSgzelh6X0J7KGg5WnpnPVAlMl9jfHB2fVlneURnUlBRY0J8SDIpKC0N Cj4gV04/WDRZZkpeNmZCQUsNCj4gek59V1JZZzNfaklgfEF8KzRERytedFdnPUByezNhfi0jS0sm blc0S2Y3fXw8eGE0YW15RTMtDQo+IHBIVEhNZytGdmBlaQ0KPiB6YmxDRU5XZGN8R0kmJH1DTmty UCk1fnBIelo5NEVse05+fi13VH0kYyFhXkYwRGR0aXZiLQ0KPiBvc0R6ITVVX0hOfFVtDQo+IHpV Zk47OzNfTUY0UTt8WWZTOCRFbDZ2MTU/K0w+IyV4TzxhNUY2UnclNVJicHBmIWlSUV9Hb0lpbT4/ e01UQw0KPiA9dWQNCj4geitjNGFzcWlPS2xxN3dYc3tXYl58czJFSSgySk5eS29MZ1FYdX5SaDFG VWB9dkdMX0gwQV5gfjRFb0VULQ0KPiBBaDZvdQ0KPiB6QGNTWE1oPmA+NDF3JVIlMSU1ZnVWVnE3 eEtgd0MwKFU/Y0VtSXBjUkl5bTJYd3RrUUVZK3VOQnJvUA0KPiAwVFBQIVY8DQo+IHolZVFATiM/ QmBrNCRtc0JhSWB9SEp7WWZoRiolUUktDQo+IDwxQTZvPkwwNXZ8SGxpTSpZR1h3TkZwWW5BKHl9 N2Z0aSsNCj4gemBOdj1TZjVTSVpHUjl7R0NTRXBVTW8ha09zaDNSO3EtDQo+IFZeXm1eZHBWZU19 JjRBIWg/OT0oV3A5ZiZGYXxUYioxbg0KPiB6dj09KEhLej4wRyk+V2BWdW5eKDIzY3t2YVQlXjVM VXxEJTdFVzRQNHVwT0ZZU2IjWVhtfCNXNXotDQo+IGpfSnheeTdfDQo+IHpDKlV7fjxEazdkaHR0 Zl5iUm9oX2p1cFlZYSslaE0jVG5gNnt8cjJieitFb3JlO1dGTWk4MlBBPHktLQ0KPiBvJXBQR1gN Cj4gemRlJlM+WT5xfiFMSzsmeGApUnM4LQ0KPiA+NiptJWNxNlZzUkJgMk9qcFFwPUJoJEc3cktD ekwhUSl1WklNYjRidUA1Kg0KPiB6P0paempqQSZsP1NoN2dmcXI7N1Iyck0zfnowcHd6T1V1WXgp Ry1heXt4fEhKPVZ3bDNaTy0pJkE0Yl9iREJiLQ0KPiBKDQo+IHohRXAjb3JIe2BYS1JGfWEkdEJa Wj5RVSRlbFVBSmx2bktXT2Y/I0VOaUI5dko0clJLZHhWZERvM0ZGaFZYM2QNCj4gYjYNCj4gekpY b0JKPkZJfXpHeVNzazNgUk93SmAqd35QbzBpUFI7TitobDNHUzRLfEE3JWYmSnMhQkNHOWpVMEg/ Yk49KA0KPiBVbA0KPiB6aElEWTxXYUw5I0RORDRsUyRMWlNVSzx+Pz5aeUdgeD12fnNkZlpfc0w7 cT5tTzZrZD9PSGdZUGBJe093RWsNCj4gd0J9DQo+IHplVWoqXzBzTX1Sb3NKbFU7Uj1DPCZgfWx+ SXZ3fEhiOUZ1VXdYbnE1a19SUDc9VmtmUlNlc2JxdjhOJmJADQo+IHNodGsNCj4gejlwaDZjcHxp R2lsfCMwVCh4RzloSiEzcHRzMkRLUHM+cWV1TEV3RXA0JlNDJCNQKHNJJnM5aDViKDlIdEZ7OFlO DQo+IHp2Typ4aiEpKV9JI1dANjkwOD90TylSQmBubEFfZzhIRG1gY1FYezZXKyNXe2lDZDxTZypJ NWgpSWRTd2VeQn0NCj4gb1UNCj4geiRNVkNHajxXNkFYMWtOZ2FXMCNgbjNLMnBsfWs3cjtmISFs MkVFd0M1aVE7WjJQIUooJUw8MnElTGxpWXpaaXZNDQo+IHo+PlpuPXlfakFnPE0hQmkyaEd+fjdB REE2MWYoeVpoOTJPPSlFUyhGKWNPODFZK3lQbkEoUEVncjs1T2tpK2VjJQ0KPiB6R2stTyg7JGxv fGxIV2JzZ3w/NVVQMTxuXlgmfkxJVH1IN2dGMzd2NDBzP0dTWCVOLQ0KPiApKU9rIzw0Vj1tZUt3 fH0lDQo+IHptUkcqMDBGKFleVVhBbXhGKT5nTm59R0FfZHxAWGkxMHBwZiNJX3M5JHpfcVlSeSNW XkRVIX4pLQ0KPiBjOSN8ZDFFLVANCj4gei1jZ0hsXmpHZW11emY3KyRoeyV0QWlIKiNeRCRtLQ0K PiA/MiRWZlZaYV9EYG93VWdyQFdodT1YNkxiRkU0V0txNEwlPg0KPiB6KTh0fX54VjtgZkojUl9n QkpgfWY2aHtZI2crJlZyND4/NEh5eXRvWCl1WE1aeiZAMT1VYzctDQo+IEdXQF95eUdHPWg7DQo+ IHpqVlRXWV9LcnRpI09oYXQhPjwjMElPUUJxWEZBZG4kY3JWQWYxWnRge1R2RzY7eWUhSjU2Nkoq JiRaJU8tDQo+IDNnISYNCj4gem8jQ1Qmc2dTdUUob0YwK1UoU2hlNHZAQ2RfRncwTjdDNz5ebUt7 NE0qdFBhNnU3MmQxWXwtDQo+IDwhVDJGNzM+K2VlfQ0KPiB6U0owYTRwWC0NCj4gUm1taEUlNnVD Y0A/RXFLT1RBIV9DQWZGTTM2ej1DMz5zeUEhV0AhNFZyRTdlK1NFUHFaIyolTSVLDQo+IHpWLQ0K PiBMWXVIUWlmN3pLVUlNJEB5IVlKQl47UmpqazIocUdAQzZXSzs5SXVFYlcxY0N7VGhJKEtWdCli YFR6KjhLWXgNCj4gejYleGBBKko1Kn1GWHlJNmNlKW1ZPnFfK2U0ekFWWVkkLQ0KPiA4RTlebT45 WmBVJCtCK1FxdkpqcEElNTJWY0c0NWRtVg0KPiB6b3hAZ1k8QGAxRTNWV0l3WkVEbygpUkwoKkxS JCs8d3k7dmFELQ0KPiBge090S1lmbW9hMytRVilzJjs0YlI4eFlQPyQ1DQo+IHpKJlk8Rzlgeys9 WVFJfSFrVSo/RT5wSj8lUm1JI1ojK3sqQGY2e3MlPTkmISUpTz1aNHo8bllYbzVZTnMkUA0KPiBs Z0wNCj4genJIRXdHbD5rYkF2M2lsXk9JelJBNzAofDFRb0dAZGUlSHp5K3NlI2Fhb3N0dWEka2Nk Z0dsM2c4ZjB2cDlMUg0KPiAwVA0KPiB6WmcxfDJhbDAxbypiKT9XVGBTIWxvezZSOThPd2A7Uz4+ ZSp1eVRtLWtAdmBSSlgzOWAmO2Mje0pwWjUhbmdjWngNCj4gej9GJX1SSCtHI3hiWD9ZdmVfZE5v b3cqdFkyJnB3JlpsSnoqRmV0cT43eWZ1YEZWJjBLMUtZb0BnP0VgeXkNCj4gcTJUVA0KPiB6dk9s NVJfc2M7KTlDaSp+WFNDVFMoUTlyRmxQe01RbH5mY2gwJSE2QjZLYSMzRVNwP2wra0FGV05xKkB2 dGJPDQo+IENPDQo+IHo3e2hiMClKdW02USVrVHdkV240Q0pSclZKIXZmZHdTVG5xfEFnaT5qNjRN cTQofDY2ciRwalZVRWg/QiR4Xw0KPiBxe2kNCj4gejFIQ1o9PDdEcGI4ajheKipHQk05X3I9KkF1 em9GLQ0KPiAqem9VSGImJTNaV0oxcTFOWHJxVEdhZGRBSnAqJEQpKXtEOQ0KPiB6QHtHJmErX1lE MXp2R0VHcD4heiM8cGdrd0VONH4mR1BoMzJiKlRKP3V9WGw3SihacitCPzBpZG1WVUheSg0KPiBW V1VuDQo+IHolU14oLQ0KPiB5I21wJj0qZWBebmhXZFB2SG9KUXROcjVQclAzTn1JV3Q4KjZhazth cmp8biklRCZhRWpicThBPkx0UHgNCj4geklfaE9fOTl7TipwQSZVb3teUTs8P3YmUEBUPHhXd1VD VUJ9SUR+P19SYWR2MC1UQ2c3RmpRKm8kciooLQ0KPiA5YzZPfA0KPiB6OV89Qn52ZWpiNik8fGJm TiFfeldRZDcyVEk7JURNPnQkRXplMH13QENIVSlRKkQhY2t7ZCZzcDImPVlpMw0KPiApazFmDQo+ IHprSl8kWVB3diY4QyhMK09ocCVzY1Q2OEplcnlPUlZQKkQoRThkK2FVeTdKXyMpcEFJT0RyWV4z WD1RUCZjDQo+IDVMPEkNCj4gekFUKTJUOUpRa2AtDQo+IDRRdytCT0E1Iyp9WGcrJEQ0R1JAdXIh MFkqK1NYTEcrKzE1NEVNY1JfO2NaO09ROX1acjdXIQ0KPiB6Y2prQ3FfbVh9Y2FIdGt3T1IjV3Nx KGdaNmYoTWFiYklAXk5IMSkpZWJ5PFYxI1VzYkR7eFdTMSpvS3t0DQo+ICZNZ2dFDQo+IHpzKklM O3ZFeVdhe3Y1eWkkR1NTYz88QHdfeFhfLQ0KPiBXK1JAazFlcVIyej0zUj9sajw7MjdTNjxMazZ0 YFVNdlpQKFYNCj4geiFkZzxWPVNaOVZ2SGp+PnhWLQ0KPiAjcnl7UXZXMmMkbTd1e3o2VVUoR2pL SXNIMF45YjszJV8rZ0Q1NGNmQ3pWKjVAXw0KPiB6TjRwV25Ha1Q2JCpWZk89K3QjbG1wMHVPTWpf bilkUFN2Ki0NCj4gRVdsb3pTKEFwMExWZnU+P31CTD1ZP3F3clF6djRZDQo+IHozd1pMTSY4MWBO KnQ0Nm8maTFTO1RlOHslJHZeKF9oVypPMTF8Pko9UF5ec2NweUllTmBhQ2R1c3RhTjNUNw0KPiAx JlINCj4genFMNWc4U3tVdEYyZUVBfEZkWEk/Ulk2IU9jdCtKPl9MRUR2WT43c1YhO0dJX2otZTZi UT1TeHBxUkNyNGpqUVlODQo+IHo8bUdNZylEaGl6PVllcjhIfDt1SEA4aCtzJF9HITJ2VjBXMXpC SU40dzcpO1J3Qkc0NiM2aX5oU3ktDQo+IGZiKiFaansNCj4geiVVZjJtNnplajlRanJqYD1qPjJz RUNOQFlEWVI/IzA3NmYjcm43VSF2TT9YWF81MGNAez9EOCEjeCsodkN6Ug0KPiBgMw0KPiB6WDwx b2RPNk4oK0k/ZztCeXY8ITRpeDlgc2NyMCVkY2tOPyYrISZrUWBAKGR3P2J2eEs+XnF8Jj9ySmBk JjBuDQo+IGNfDQo+IHpDPytMWU0+KCpMJi1yOyteQH1HQ3ZFITN9bWhQOzZwQ1U5Smo5VFl5UGpi PW9MLWVmLXFhOyM+aE92ZzgtY2pMUA0KPiB6MXkxRWpEOz8kRXtgP3R4OytkNjZ7JmFUQyEqd19P VTVIbHFSLShzLTVlXjtFNWpHbz5gMz5iXklRVk57LWBHNXUNCj4gekdCendhVSFMcFpvdFgwX2BP bG8/YmFuKX4hPTs8QUwrPChNTSlgPDF2VXN6UWBSU2hhT2o8PmBRaHh6e2smeA0KPiBVYA0KPiB6 bSpCcHFPUHFgblpjeHRCZWZrSyRSNGk2cFBkbHhoLQ0KPiA3Mzh4SV9fY2kzQmpXTFU+Pz4waXd2 N29UKjBNODR4VGQkDQo+IHpmfHFsKks3WWZFN1dxQSUlZ0Q3KDlnbnk4dHdLZ0AoUktvY1F7JGhI dU87eUhZI1l3RytXRGZjeXlxeWsNCj4gOU9kNSUNCj4geklyWUNpVCEpRlBXeC1QSFBjMnoweFFl QkYpe2xTeHl9aVZuVlQta3djdj9xUyVlaCE+TSZVMj5YO2hwZTtkemN+DQo+IHp1aX1gUXQ5UW8z ViMqb0owOXRQKisqRFk1WDI3Mz9aYFBnX0oqUHNCeDI0Njc9T35MZlROVFM2bHJ2bUVwZDxiDQo+ IE0NCj4gem44Vl4zamhzYDxLfW5NXjw5aSt+aW5eYUsydzZ0R1Uybj52RW1yU3NBXmJNPkRFd0JO QTgtDQo+IDVOOVh1UXZRXlYpWA0KPiB6b1glSyFjT1lAYklsNnI2Q342eGRNOzlZYTJHWishSkIt DQo+IFZ9NnkpamN6RSRreTAmQDExOE15YW83RSZxUjcmZzFaDQo+IHomPlgyKE5BWXVUdWFeekM+ eXduOFkzYiNlQl5fRHFeQFBQREt1QGN1Z15tX1klNFk5O201JFRmUl9pDQo+ID5hSCpje3ANCj4g ekxPSWxXeWY/TmFgSmR+ZFk8e3QkQihFPkFlSDdESiVRRVJsLT5uVDwmd1owWGMke3l3R3lSdEd5 ZzdFeWc1LQ0KPiB+PA0KPiB6Ym1iNTZFY0lUV05xYVRWKzEwPFU5WiNxZlZGfF4/Y0ZxfmAmZ1ph SHVGLQ0KPiAxRGQxN3l1YSN6Y1I9eUkkTWYwJU56DQo+IHoycHZgdF92JiZONChzRkpRUWZ1cF5Z Wl8pRnFXOUQ8fFU5THc1XmNsVyh3d1l3U0dRTWNwVjNoO3pedw0KPiBDPElLZUYNCj4gekk7SDgz I3g7fV5UNUhhe1FecyloUWMhZWk5WjhjSEpsSUx3ezxnRjw/S3R+KlpKPC10QE9PRFNIfGV0flU3 cm17DQo+IHpuKCl7RENnME87SFA2fWxiV1lXMCE9TGBEYFRSX3U0YT59UHltPTwtDQo+IEdpXyhI I0F+P1VKZz9QZlJqTkxucXhHNWcNCj4gemhwQHUpaCg0PVVuQ0VuVHJVbElWS1I/IVRmMn5qRmNK b31LJnhZfmxkQXZUV253enh6N3hoX255RlEoM1A1Mg0KPiBiXg0KPiB6ZSE2LTgldkN0dihyM2VG Xk0xMkZ0TWJoQUFgey12SlhgKUU+QygyRj1PZ0MxUi1YLXYlcm5EOzU3NEw2LTh9ZEYNCj4gelM/ amVgcEsxNCtfZmA2ST1JZ1V6Zl9XY2N6OHw1X3c3PmpHKHtJekt2c3NARngwdl5HZVd2QUBfdEVC Z2lWMlQNCj4gMQ0KPiB6P3w8R2FgODIkMG97I0Q/WktGUCZaPCs5VT02JGswdEE/Mk96VUtMI2p9 I3chXmpXcGR5ZyNsXz1YVWVIJQ0KPiA2dTt9DQo+IHo7V055MHRhJVBGJikpajFgZWN2aHlJWV5t dExGS1gzSUN4IThgaFpqM2lKRz9jfV9MWWtAez5uJkFjQ19Qdl9HDQo+IFENCj4gekM0Yzg1Xkwk O09YfXtFRyE7ajdUMko/TkRkNnQ7eFJwJEU/ZUt3cUwtcD9AS2A8VWx9LUNFOUheX2xqKktDOEJ3 DQo+IHpATXEyWWdYYTUyXlE8PHszaUYoPSYjRypGSV4pZ3pGIU1jTiFqc0xAdX1ARFRjKSNBdll4 KEAhc2hAdUcNCj4gP3hlT0sNCj4gelVOcHtldTBMPCFwS25Xanp3aFB3TjJnfXN7a3p8dnxCWlc3 LQ0KPiBAYWhTSjlFRkFpVEJnKWlUbVkpc2Ila3Y0dTExPw0KPiB6I0lLc1c7S31LbVErdk1zWVc7 VXRVNHIpIVJrYV5LbWluaVkmZlcwKzZRKDJuIX1JcSZ7QTZuU21CJFZKZCENCj4gSiE9DQo+IHpa QHNMcjtGOzclUXk7R1RYRW9vaTlgWEUlJiF5aEBNZmJubkc7aEUtDQo+IEMjflV+PVUpRDA+WU90 UkNiJk9HYEJsMzwNCj4gekVIOGZ7Yj8lUXdvYm04Yjxsa2BnUDRCRjBOYlMrPnNYbzcrY3N8fW9q UVAmNHQqTygzT01iZlUzZEIhKV4NCj4gc01YOA0KPiB6YEJtIVV7Uj0rN19vcWk5fEtQT0NtJWZ4 Kl9NSU9MeGNnVXRmOFA1MURHazMpRXhhSWk8Jkl5YztDPWJ1Pz8zDQo+IFhEDQo+IHopWWQ8cmE+ ZDhyejZ8QzRZWDIzfThkSH5EQF82PUpiMDtHSSY1THR4Kl9OOTh4Njl2SGJNblk+JmhCJSU0DQo+ IH0xTzkNCj4geilQaF5Me0JndkVMeWBWeCN9NG9QVEl5Zi0pSVI/RmFoS3gjP1lCUmhgckZoJkwr KldYX1MzQjJraFItRnpmMWpSDQo+IHp6dXNeQmB8TmIyendNKis9VS0NCj4gMn5hTXI/PCZ6X3Um X1h+Uk5TaVV7QStaRCRvZURhU2A8REIoUjRFKV9PWj4wWHwNCj4gejdhMig+dUxnZWllWUVWVCYy T2FNdz0oe3k8bk8xQmF+Xndoe1IwITxPdWMkWGxVdy0NCj4gJWU5IXZjQmVVT3NHeGcjWg0KPiB6 KlBpazNrKVBwQW4rLTNfeCVSRXBLZWxgeztmPj5ndWc3eEp0OSRIN1VERWNTT1lpLWBxO2J5bmUp c09VVkBLKSgNCj4genVYVUBxQFZDVFFwRkxMJWBGLWw4N3EzYW00fjs/blooOCl4bWZ4cGR4I0h0 LQ0KPiBiMVNGZnk8KUA0PzYqXjJTflJBQQ0KPiB6JTM4RSVeNTRJRSl9RlVoTjNVT2JebmxDR0w7 Yz5rYXAkJH5xYHFKQilfSVN2OVhRU0A4KzEqcnZvbSQreVINCj4gV1ckDQo+IHpfSzQkd2p8YitB eG4qYlMyaUZkcmVjPH42eiszZGdIJUB2dGI8eFk4PzdqR3hYcGlJPGV0T2tJQDIwLQ0KPiB9THwo NXUNCj4geio2e3J8eG8/aG1GWkohWiFTN2JpTDNfO0djRlZhaHlxNmshWk97N2ltWjg0ZUZGdmJh JUtOR0ZQV3hmY09QKXMNCj4gaw0KPiB6bDl3Tzdhe0skS2YhQk1We05tYShAbX0oYWN+fFU4e2JK UWBabVdMXj9La1khK1QlYW1tQWREfHRCPCgNCj4gdmsjcTY9DQo+IHpqS0otDQo+IFN7Klc0OT5F NCQwKk00WjwxSEpiJnt+YDQhWXlVZDljbnsrNUpPN2RKd1NQP2dhTntremRtYk1Me0dgQTINCj4g ejxSXmJqLVFWfjRBeSsrX2hXWjc2SVAmQHJRVWtaWHlRLXsmXnRrU2EjaC0NCj4gdFdkUk5pNmho ezk9ZjA0OEF4fEkqNw0KPiB6P29SeiU/UFkmQz05XzFzPnpgRUB0bEZMV2V5YHN4QUc+WldAYiFB dUBtcUpOSn17JENjKlk1NmtFK00NCj4gZE9vO24xDQo+IHpiPFVlZHVIQU1ZQGF0YWtodTZ8Uk94 Xm5DJGBqdnZefFchJGw7RjRwUlVmOH56a2NfVEMqPEBXPVdNDQo+ICNBV1d0c1kNCj4gelEqJn5V Q19iP0chZzA8JFBoUzFeJnAlQVBjNHlxYEtUWklCQj9sU3tGV1FyT3tSNHc7NEpNLQ0KPiBlc3c/ an48TjdfUg0KPiB6NUI3YXgqdkY0ZUx3KExhYEw2SDB3YEp6MCVQI3dPe0dAdjR2NSRWJTxHQTs+ UklQakJ7cUckfXVYbHokdXkNCj4gKmVxDQo+IHo/ezR8YD1pezdyTnsrNX4wdzJzQ2VmcW13WmNJ ST9WUjY1VUBqWlRSfEElKk8zR0orVkpARVkwZFohX0tPDQo+IFViYUUNCj4gelRXJmpJTzM5Z3g4 VEhRazg7PTxDPl5vYUJFPTw0cykwWHE9b3FPNllkfnAwYlRZQzR+Y1ghTGN3MGJBKUN4DQo+IDV5 OQ0KPiB6SCphcV8reGhZRHVSTGRieXxhQyRgfG53QVp+MVpnQ0ZgNzVQPTRCNXc7dVQ1X2dnbXBW Kk9qd1hRZCopDQo+IFdnfjlDDQo+IHo9SiM5NXxNSDlUOGNyRXE/Pk0yV0BCVT1SbVB0Um1ednh5 ejhpbil8UG9FZHN2RXt0JGhUbjA7b3g3aVIodA0KPiA1OWINCj4gekVfdWg2dipYPkFpeHdZO18m eFQ5P3N7dj48PyZsNTkpQmI5Rk1HUTZ4V1I5MklxJG90P0F9dy0NCj4geVdaSiVZckBJRA0KPiB6 Y3lyNn0yZ2VtM3gkIzJPQDE5NWdJcllzZ20pLVhDN2RAQXNqcjhrXyk4MmghJWtZTERVO05HXyli RnYmLQ0KPiBhNWJODQo+IHpqVjw/QSpOdUVSYCpmNl9JO1E3O3dyX2MwQkpQKm9kPUIjZWY1Pnxl dSY5cGlhZF8tcVFMKUNkVmxOO2REKGNFeg0KPiB6SXoqWmp5SFhjZWckMCpnMW5YTDM1MD07cThj ajRZTXR6TWZEO0c9RFNoMUpieU5PWDBkKmVIMlctDQo+IGVQbUwqOV96DQo+IHpgI3NOcEBwJGdj blI0YiN4enB9Qm11Qnt4bklvPmNtS05DSXBnWThXSHEpa1lqXzcpKV85MloqNClQZDJfUA0KPiBn KkMNCj4gejstDQo+IDI3TldUfHl9ZzhYX2A4YXc1PG5FZnQ0QDArQTlRMnhYWktedTtWbTFKTjNK U2hnISk0U1lYYm8heys/YTx1WQ0KPiB6JERXdGxPfEIxWUptfXBLKGZLRjA+S1QoLQ0KPiBnTH5y SiV2TUxsP1coMl43N3pSISgqSnFEcE1pKFByVSM8Kj5WPzNzDQo+IHotczdne218dy14JEhMO0c4 LQ0KPiBlXlllSmNJMXsqVnxwO0F6YVJYQDA8OyVeS08rZ0pSRk02Pn5nPkxWM3V6Sj1AQTINCj4g ejZkI0BJbGM/X3deYHFGZkVUWW9edkMqRWZeOyRtWjFvVUN+S1NjaWA/ejVSK3A9KDhkWGRuMyMp XyUyTGU2fUwNCj4gRg0KPiB6X1BwS0RKfkc/Mys7KDd9STduUERWYmR1JDtQMkdYd0FYdlo9M1JY RFBWTD1lSDtLQGUmYT5Tc184YzZ2Xw0KPiBtKz02DQo+IHpAWWZAQlg1PTM2PFkoS3lLRFB0LQ0K PiBDOVBLOVMmJUtoaF9yM0s9eFEmWl9aZGBXbkpEJiZURHlJczZYZDZPRzxTWioNCj4gekVPRS1Y dit0JmJMM3YyT0pHO15oOz0oOyZseGZAPCtNRDlWbjs4I3hpNX1IfHxOY21BbCZ7S24lYUVPLQ0K PiBfeFooSg0KPiB6LQ0KPiBuNTRMKW5+ZlNKRntJM2B8aFJUKXVSQjJLa3F3dnomNyEpT09yQ0V6 SDxRakAyOSpFWSEkWiQ0eXc3fHtTUm5RDQo+IHp0TEx8T2A7Uz12UiRPPUEmITlZdDBWaX5aJkVt cHxEezV+VTFOYFZPemdwTFFsaGBLbyN8TzxFcHVPcThkXg0KPiBUSkMNCj4gemdKPjk+K0ZSWmgr OSEhV3BPeTVUKnk4LT8tDQo+IChua0tlTk5jKEtKOG80RzMzWG0pNE10V0o8UF4jKyMyeSU7eEZe Tw0KPiB6K0BRVmJ5Ujd3e3V1QUx8YXhKe3RYVjZ9Vz5gfns+bVclI1J4N3UhUml0VEJuIXgqPVA7 PUR+fGRPYWNEOw0KPiBJXnVFDQo+IHpEdGVBNit6TzF7Y15+PlMkQE9kNjtSYFk0UEt8eX16S3xi RE9XYT4rZ3hLUTJ1fEIoXlFOQmd9KiFuPGAmDQo+ICg7Qm8NCj4gejQ7O1ZlXyNNWUBJZXg/T1lt USVXe0YzN3I5NiNzeThPTTFYS2pydWQkR0lGbz1KKmxFZXslZWc8M0JrNQ0KPiBvI09gXw0KPiB6 LQ0KPiB7PCVxJDlGbHQhfGBwN1oqaEUrO35OfWI9bEJ9T1MyQDFJQG53I0c8TTxOQzdkZ0piQHAr RVZhZVM4SkdhDQo+IFIzMA0KPiB6U2J2SitsTnslOGUxaFpTOTNTS09EOTEtDQo+IFFLRnNtMjkz U0hOQWpiemR7KU9aSDlQaV9KRlVOWnJDUlZLZXZ1cDVtDQo+IHpCRjc0ajNDRyNoSWh8dCMkQXNo VFlNam9vZkA4dlFjMiFSMlNpdiNqSUoqamBiRkFRKWFHWUo0KD5ZZGZPZ1BUMg0KPiB6I09XTD5J M15ydFNMQWUjNiZ3P2V2bnl+cSN8bi0NCj4gSyRKeW1Nb25yO1pneVphVG9YKVg9VzVSS0VTeClD eiE3PEBEDQo+IHp5OX1wdXRsKmUlb0whcEpJYVk4P0lMPERgPV5RSUtDTEN1PWB2NHAoSUZ8TVlp VyhWVSpJO3pwcGtfaT9yMlVJWg0KPiB6bTc0WDBGeFQ2NmF1T09wYkckeVljT2BJVk4zNl5lZ3N3 ZlJfQkgkcF5DMSVQYj1TMz8hanZDZE4wT0U+DQo+IHBDWnt1DQo+IHp7RDxgdCZiMz0lWGNgNmNI KTNEKypGYH0+eU5XK19jc0xUfnYmMVQ8XnltO0Z0Sm5JXyo0SlNFMz1fKVdASUoNCj4geXINCj4g ej4hXmooYSQkWiVsODVZYT5ufV97Xlg5YGQmc05+aHVHWCM5QVl0NklZaE40Kj0hVyNgJDE4O2sq TTlKZmF2YmENCj4gbQ0KPiB6P3BKXjhlaTAhd3M8cilXWTsjfDVVd15ZUUsxdjk1JSY2eFIoRnhw eyVWJUFSN0w8Kyl3P30/KDBDKD0wRFMNCj4ga0A5DQo+IHpGPjhXWUl2RDFrV1lNWV9TK1JvYWkl dHpeZ35OUTlEOVNGZ2p+NTBTQ09XRT1mI0Jac2UqMD5iYUo3K3gNCj4gQ2JKeSENCj4gem4+cVdN XilPK1F7XzlEe3pxU1E7X1YhdnxCblhEdnVhOGIwMj1qVDhsaXZHdnFUc1QqJD5fZSQkbHVobk9O DQo+IFMqMQ0KPiB6ZHRHVmB6cEA0OWQqc1pXU0wkUzhxXndscHNBYHpNYzRPTiUhdig5djQkbmhB ejxkdFd0VkctDQo+IHhGM2chZk0lbENzDQo+IHolSW5QZldsSjxkPTlzYkZWPXNEd0pMdDtRa1E2 fllkRl5iZypfZUxMd059LQ0KPiAlTFdmcWxPRDBeI3s1TmdaOT8lTVINCj4gemxxYV9hJXZOQ2Rr VkU1aSFqTlBrJCFSWEdQYiZWPnRYcnpec0FreyQ+am1VVFVTYSZ4Ukg2TnA8ezk0b2tzDQo+IHFJ aQ0KPiB6Y2ZUSlk0Nm9wPnBTQk88UHlHPDJPY1UmRFJjWkN4VCRyRGRlcH5sNk5mJi04e25MSkRR VX4xRGFfMC0NCj4gX0xiR35wDQo+IHpNKWZAQTE4JiladCNke1N5SjkrY0h7SWd+P2xYSjReY3Az Y1RLQEVSJnF8cDd7Sm1MYU0rK21lSSEkJUJoDQo+IHdXP1kNCj4gelNBSlFlMUBZQW90QTRndnxC S3w7TX5vNWQ4KWQ5JEhXfXJneGpvJXN0VDVWVXxCcjhiVnwheypwfWAreGc8DQo+IFd+Vw0KPiB6 cm9+bzN7d0I1MFN+RV5xUiZRNi0NCj4gIzR2MXM4RlFVRj5WPFoqZFc5ZDZ3KiQ5KSR2TGZGSTl2 WWN0aDZmRktCX3h6DQo+IHpLQipUKl5ncSQzckU3YXx6dVArN1pvSDd6dzAlbX55KG5Naj0xRFdn M3d4Qk9BMXt3WmNrYnhtYHtSWA0KPiBQPHg7TmgNCj4gem4xPTRxejBSSCFnaz9SZ3RhcllGXig0 djJZcW9sVkYjVVBraVZMcktnWnJGU181MkEhYkZiPGJ6Tm0pbnJCQjI2DQo+IHoxMUFkT1pZKF9H VWkkXkMqU2NGaC0NCj4gWjQ9YV9QV3BHWEReWVRaQks5Mm5JeWI8VEpQMV97d1RqIWR3JGJRNjBD PWQNCj4gel9uY2JlYG9WN094ZjdGd1Jldjw7bkdwaT5lPUBjOG5HVGJNdURmMlg+ekNPYSspaTAl cmNEO3k0X19Za2ENCj4gNCp1TQ0KPiB6KyVEWG1FYk09fSFMeEJQJUVOOHpScmVgRT4rYz1ZOFZ1 X1I/JFh4eEdwN2hnY2t+VGcrN1IyMTwkVTRqDQo+IG9Xbm4pDQo+IHppb0xjVTc/YDtWPTEqanFf bGUlQXFPISR8Z2cya3plQj03O1FfcG9gUFdwOzdVJXZBSl9zcUM2aSpANFluTDcNCj4gQEMNCj4g ei0NCj4gTz9BX15HfX1Yc1N+cmQyeFpFOV4jWFY5KGJHNHlWbzIrPyF6KHFEVmZnK2hDdV94OGUk SnlhWWhuREQ1eSNxDQo+IFUNCj4geiNxWEE7RV5TQGA9Y2ZzKzRqb0dvJENwfn5HSlBWPmhaZT18 OEo7ND5qZVU4cj4qT316elItMU5vZkw4QWYtDQo+IGRGMA0KPiB6KV9IPXYmNXxFP1lEOFZDVTZV SzA5bCkpZndQdnRKeXo0aChVK1Zaa2Eyc2thRHkwIz5LRDZYfm1FP3h0elRhDQo+IHk0DQo+IHor VG8lKm5RWVZmRXRjb20oVUhFeCNpVjx1dWlVR007bT8jQWBlKDlPYzNxOVA+ejwtDQo+IH1ecFU9 RXorTFVvI19XemINCj4gemY0dHRAcWpSenRuRShCV2otDQo+IEFrKitoRTkrQisrXzhSb3w/USZB PVR8JkVidCZFTml7bVczeE4qU0o5QEZuXzhUdg0KPiB6WWZ5UGVHaiErbEp3N2NfeXopQkIqN2d8 OGhzbU9paSV1cXBsTEVIPkBpWkNkZHFKJXQ4WUdCd1UrUWJfVA0KPiBAM1NrDQo+IHphekNwQDxT PXBsZjJNdkx1JkV9dm96dzJGOCFCIVlTaU5qRFRiUzw+PWlzJXVEbHZXZiM8QVp1TEhRbz9pKg0K PiAjMHINCj4gejFIWmh1VldieiUyWG8+WT5mXjs+XjFSYXVYUkhzT3VYN0hAaURTQT55ZnBWPU9L P31ycEk5U0tPcEg2DQo+IEAoQ1R9Zg0KPiB6P35fcVplUGhLQiVlVlF+ZXZrOW5gdEAkRVA+TiVB MkNtdCkmSzJDd3IpUz1jNSVhPGE4RD51SzJZMWsNCj4gcVBJZlYzDQo+IHotRl5SQSpSVHVMbSpW QDJ4QGQ5bil2Xy0NCj4gZ0E3RmNVYnpzISlERGw9JHA/bXg4aFdSdiFERShRdkREa0A4ZGA7ZSUN Cj4genk1UjBOYylNU3VjJnY7NkZEbz4jVUxyWj9nWFR3d1BtYzlDdShtcUpQcmh9MGQkX25od2Zn VUp5KUR3aQ0KPiBVVSZAPQ0KPiB6JnB6OV9VYDk5MGVeZEdUPUxVKHBYTyNROz14U08mJnBSbXhp Y18hcntPdkZvU1dnbUpeVXQ2NDdwK0ANCj4gV0VPKiUhDQo+IHpgM3Nzb1V9OFRwQHh1a0QkLQ0K PiBjT3JQO156Kz5NSiVuOVFaelNid15DRUB6N09hOz9rfFlpeGJ7c2RLcz1OYCVyT3cNCj4gei0N Cj4ge0RvaCg7K3tadEUwcVZAbX01MGlUQXNzSmhLJmowKHkoV1h6I3NRRjw3NHdVOG44fTZySHlv Y2U7Pj1eYFZkTA0KPiB6Y2ZuNndKI3l2K3gyeztmbmJqTT1ARC1EdFkrQkJFanFOfDg8R0lAMjtf Mj9zRUFRKXo9fD4hej0tDQo+ID9yQysqeipuDQo+IHp0WSUxOFR4PVFXRCg+OXJgbX4hMygpSWgm RjNMcSt5V2hMbSNOLQ0KPiAmank/M15DU0Z1YzVNZXAwIVhuQjV8NzNkJnQNCj4gelNyKnZsTD1S WT41cS1AK3RYcXFkb3JBQWpuMitUbEpzUS0NCj4gaEN3XiEqISpUSEdkZyErTkRaSn52I0NeK2JQ bGdwOQ0KPiB6Mz0/O1Reeyg4bDtCRlUmNitJY3c/IW4jTnghYWp4ZU9IRF83dyZmQT9vUW44el83 eGU7Y1BxWncmbXtqNEN+DQo+IHU1DQo+IHpPeGtqSFl3bTh2YUNRclo3MHRRMzhGJE9MeTl2WWsj dGY1Mit9KTc3OCEoKCprNn1lIT96Wk9jK1QyfX1WWjlaQA0KPiB6cXl+M2E8TDtecVhJRXhlUUhp QE5hQ2Rvek5qWmt+V3deVUVjTjZaO3dgVFM2bz8qcDE/dGE3RnVOZnc8Nw0KPiB9bWV3DQo+IHo/ JnNXeyRGU2xsIWBacHF7Z31KfDxuRChJbFJwXk5Lajd+Qis8bGl9I1R8eVRaKmxpYz8hTH5qe3U7 eU5EdEJNeg0KPiB6PyUlbGtCRXlPYzN9Pkk/P3o3eHxucW1EWmhSSTNwS0VkNmA4T31iK3U7S2BK fEh8RW14Y2RPWmBkPTYoYD8tDQo+IDVCDQo+IHpja2Z8MVRWejt+I29ZJCh7K1ZJMmkoJmxePyV2 TWJLWExhfmhPQFVZdGt9JW1LWFVnKmhSRntNPiVac2oNCj4gQDM/eSUNCj4geiEte1ZpJlIpeWlZ cSl6Z2NkdWZZV0hQS0AhUUlRYmRudjw7QkBBYVQ7X2lqcXtUMExkYDMjZUorJnpjOEdyMFJ9DQo+ IHoqNnktYkdweWlQemwhXjNAXjtDd1ZrTDl5UzgpMXJQVWwjJGpRY087e3YwY29GdD5nJnIhVjRr anVpX3plRjY5OQ0KPiB6U24oRDJwVS0NCj4gZ2lKV2w2V0ZfK1dsYUMhIShiRkJaOGBfSmI3OTRs cnF3fCp3NCYpe145NzFLRj04dSNafEZfcnMmDQo+IHohRXA4elBVbCFMbmJSazZgYjE5V1NVLVhM a0xVZ3pFQS01KkFJSXJxSWh8dzA4MTZyc2AqVy1xI29ZUmxvU3gzPA0KPiB6OTRwY3xlRlVlY0dP WFpPdWpCcSZoNiVAdDZ6MH16SURJJiRiRjRfX3t6PUBRVn0rV3peQCpJRyEwOCstDQo+IGhIPzUo DQo+IHo/JDVEOCNyQCtNJldfYEJqdW8rLXVIXkk+UFVsITMmSGJhZUtnV3RsPUdJNFdkTmArWnRR Zi0NCj4gU2dTa0opaWIzM2UNCj4gekFqOD1NSUd0bGZlQF5lbT4zdW4hVnxeZClBSUFNVFIpakxR SzdgWVFJaHx1Z1p8KXome1coP3lHUGdjfSlCDQo+IFFQfQ0KPiB6Vn0mMjVfdX0tPThDR3p0X3ZR WFIzPUB1fV9ySy01S3lxZ2p2Y3NrU2dRWDxiMkc9X3p2bEtieFZ0MDk0TGZeWiUNCj4gekswXjBO bSFaR1NTUllqWipFNThhQT9JQmQ5fnxRQSpBVWskV0smc2sjcFVaYFpCJno1O3JmVGZtKGt5RmkN Cj4gTXhBYw0KPiB6V2woRHhLZTtUcT9RLQ0KPiBkRXlTNjlhZExhRW1JZGFkWCU9PWJiOG9rRSNE b0x3QWVzezYhdjQ4b0BnfURBQks5JEl5DQo+IHpGMV56cXtIKXVFPndTYDJTXndDaitfTENaSklD OWlkdURtWDZQTXNnUzV+ZCpqX1YoP3FlQXZtbXI4R3wpWA0KPiBXOz8NCj4gems4VjspQHl1bjQp d1UlXi0NCj4gcns8Ukx7IWR4P2g9KnBeNGsyeXhQQiN6cypzbTF0MURfXzlfKm0+N1M7NXhUK1kw fA0KPiB6KGUzeiFLJV5oN1BUc2g8OERzJUZtUWVha0VCI3hTeStmQ15uKXNnUFhJKDQlb3kreUlg ZVN4cTxONmc9JSENCj4gJl4jDQo+IHo8c3VVMVh8X2BOUmppd3hANnY0YzxORkNJeElhT3h0N2Ex NmA9aWMjUFNoKXA/aGpRSnJHKThMdlU0PlBZNTd9Sw0KPiB6QyM4ajFKSG9VUmRiZEQmelolKTRn Jj52Tj5gX0Ijeyk/PmlXZCFma15JY3lyYTc2bTtudUBaKkBRbiNLDQo+IFVMPnxoDQo+IHpjaj87 SyVMPmliKmJWTGF4K0Eoe3RUVzNBcj55KkJ5SnlxKlhYLQ0KPiA/aDd5ZHxtY2tfSEQ4YX05PXRi KSl2dXhVKW8NCj4geiNnI0RwZzhKRE5nai0NCj4gV0p4ekZESTNGfSRYcmxHIX4oQylCTFR4MkhB QDQjbkBPMllUPHlPdVJNTzZ5bkNte2I7aQ0KPiB6ZCE5MT5eZEdKbXpnXlNwJUVIYCstDQo+IGwz YD1zZTgzN3FLWXVCKlVHYXEqM3RVYip2UDYxY1JpQX5MPTNOdTtyJmAlDQo+IHp1UFZISUlgLQ0K PiBFVz1jJkEkVDRoIWZ3cDlFMU0hQ0Iqe0YmQkA+Y1dYWCZlV1Q8b1ZLNGNaQWxIR2J4Pn0oYWZo RUgNCj4gemVePVhRKkFRWiNKTUc7WlAwUlBUdUVJKGYtbll6Ml4oYjZsbFdYLQ0KPiBkdGMxc0w/ eT9tcysmPntOPmdRU3NePXRPSw0KPiB6KmxSOUwtDQo+IEAwSz9Pfkpkej1JWnhAWklJc2V2clJS SE95fWR7SklWZGY5b2ZqTG1RWmNJI19RRDdVZyNkdUlISCNEDQo+IHpJSntpZ3VUNSF2JjJOJWpP VzUwRVQ8RyowVTY3dkJSOTBJIXYhdiNNciQtDQo+IChqZT5JIXdZWVcye149O1JAM35pNCMNCj4g ekhhV0cwUllQfUhvLQ0KPiBsfklsYmhSSDMhe0N6NHJ1O0AqNE1yazhQPnYob3VBIX1eIU9hcFl1 cVo9VEZCayYoeEo1ag0KPiB6PD0zc1hxSzs1fGVEQFhZMThEcEd3b1BVb0xHTGl+aGd9TDl6SUhv T1NEM01BXk9GeC0NCj4gWG4mZDlLQkJITFZxVGImDQo+IHpGcyY0KF9wVT5CVUJUbj1lYD9oRkst K2ZASkY5dl5pPDQxJUNYaVo0JiszPzVQbCMqVlg1aT80RjZqMWckZitsNg0KPiB6YUVhXmxgYy0z ZXBMZXZjRlZxZ2E+VVFpRWpvOzJtVXRmcHtucDQqRylrR31zRlAqUX43c2dsckxIWD9ASUE0Yj0N Cj4gelhrOFR6Z3dYPj5PJkhzYiVDbWE2JW0lYFR3R0hsRyspMytHK2RhMnw7NjM9PCZHKngye2s0 X3tINTgNCj4gN0hPOGk7Wg0KPiB6akxRMikmcko7bGVkV3xhQyRlZEpzfDJnaGd0WlMmLQ0KPiBA VCtST1ZmOHZ7IURsYHNfVCE8JlFnQnZ4QENWUnkjTVVgDQo+IHp5RE9ocE1mIUZSU3RIQDZwMVB5 NVczKyNNPjd7UVo5OTZZaXxJYC11d0A4QXxeK3YrXj1TZi0NCj4gYlhWVXUyX3FBXjwNCj4gel89 ZExWeH4oXkxLakBYd1NqYnNePkRadmp4VzdnJl9+JGtqPzZvLQ0KPiB5T0lAYnp8OURfZjZRVDBX KjFMYWdPIT9SSw0KPiB6JlRKeUFgUVglMnY1fTVuc1VmN1AoQyZ4SSEkLVdLP1IjdWtMe3ApY3Rv RHRxeUpgUU0oS294UDtCX2lVLQ0KPiBENEtFDQo+IHoybU9mLQ0KPiBSeDt0aTs4bz97b3lQTChm MyRVJDNCTWtnP1luOW9ySGdqKUc5bVpkJmFWQFgoRTJecWFnans4YlY5YmMNCj4gejt0a3JLPyVO LQ0KPiBkMl4lKGxRKXw7PyVISnU2VCR6d3p2dW8jIytTTDhYUVB4Wl97SGFmMCtYQnc+aU4yfjY+ PDh6Qw0KPiB6KlEjYHszQVFpMlUxeG5XVmVwSit4O3ZoQFUjaHExdmFYcXNGdWkkYEUyVFB2bnwk OCZMTmxTbWNpJUtJJQ0KPiAlU35UDQo+IHo9VW1aNyp6fmVsZGhfUERwI0pyJXlFKXFrJnpoIz9x O0pPa0tLPCRMQGlzen5kK2tmaHZ1WFExKDw4JTEoMw0KPiBRSD0NCj4gel8qTzh8TnRLQDJIaUZ+ eWJDKllxIVNPKXY7Z1Z9M2xzPjl4XlJeMyhLVkZiRTdvTjNWdyghT31uJV8pP1Bqaw0KPiBWaw0K PiB6UXs3Mm9IRldFYnlRVmM0Yk9CQDltN1JfNFV2S1RjdURRQFFPVmhRIzJLVVNLZ0ZQLQ0KPiBa N2FFdERZMWdZSz9jVyt0DQo+IHoobjJXeiF9N3gjSis9Pmh3d0hZaXA7SiRYTS12Q29Ad3R7eUw8 PUUpXm8peDhkKCElZl5VWWA+LTF6PFNgaFl4Pw0KPiB6Mk42SGRaWHJ4fFFmNX0hT1opcnZVaVZ1 RmBMeysqbDdFQnkqWlE5Ul47LQ0KPiAoTXslZUNxOUxEI2Zlbm8mIU9YMjc3DQo+IHp3UWJ3fGhV MVVFYldtRExWUGJrI1E/STlYPShnPmgqLQ0KPiB7d1B0P0s/QmJ2bDVYRURYK1JETEMlIUhzRDxo WjlpcDANCj4gek5oQEomfDZaZTtSO3omRlFeTT85MzRRbmZ5ISR+TFRIYllpYG4zfUJnNy1lMD0x Y2kpKHIrcno4KXcoM1JHWVRuDQo+IHpoNWRLNTYzUkA5SkpoLXNAPChiOXl4JlR3WDZeQ1JXKGFO blI7T3l6NkNXKmNZYGYtDQo+IGdpYF9zIWUoRzlYdkZxaWkNCj4geiQlIzkwem1FOHk3VkM7VCNO fHRHKU5YX0JOQHU+VEVCP31gUkxHaD1jLQ0KPiB+MyZvZThmaThZO1EkWitNUHxBQVBvQw0KPiB6 VTIpZ0NzO2BnN18jQHJ2VHooeGZadHYjVz1Oc1VENlohcXppOGBYPXJwQ2lCRXB0SGtpdHtWJGh7 R2NyOXQ+TFYNCj4gempfJSRVbEluOyUkPy0NCj4gPW1kdnJzMD41RD1ndkRVcnQ4VFF7KGBpUDU3 PnhmUXFFeFgpWE9ZPmBXPjlNdXdLWCtNPQ0KPiB6Vk4oP3R7YDRpJFQ2RiUtDQo+IEE+VmI5OEBr OCtfTkJHeHV3UGYjP1Q5dEgrZz1YMDdIOXB1dX1jNTl1TUZUbWRBWHl0DQo+IHptXld8cypCelI2 TXwjP297TXpENHlSI0ZBPzZwT0E8RXRsWGkrU1RTQTgkTDBgJVByfSlnTm4lNn53MSENCj4gbVM2 QmkNCj4geng5em9Zd1oqTnF5QVNSZWkyRV8qX19lXj1WKUdIPExvYT93XkgqUFFUM2NNM0Z7TXA9 UFpgcHktDQo+IGdzT353RWV4JA0KPiB6KndOdlEoWUB9NVNXRW4pdkQ9dmE7alpYKnp4aWI/dX4p T3A+dF48K3s5THtuVVE0dkQoZlJ6N1RIWis0LQ0KPiBzKUlPDQo+IHp5eTU8NF83XlFeZWl2QGxz M3FwVVp2SDYkMk9wIy0tbzkyLVR3d2RLXjdaamx7LQ0KPiB5NXhTWDEyR1hZdTFKWUFUPDMNCj4g emNnRUVlZHh1I0tkNy04R3dZVkV0UT48QmdkLTs4bm99eFVxKy0NCj4gK0pAKz9WeXxIUHVsWFV2 Y2xUbUR1WSQ9U1FQXg0KPiB6SUFaIW8/fT04VFZvI2cqV25ITn1gYHJLMU84bn1aYjZwek5xd1Fo eXtVal4jU296O0tXUU5sRT5oP2dlNT8NCj4ga3IrDQo+IHp6UytGbDQmI2R0WUZMUzcjKEtSPT19 eUI+SVYwOCg0X0J9QlhTcmBiTkJZZE87V2ZuQlNOKkNUXlFIMzVJRzANCj4gfnQNCj4gej83M1Nw KFlgS2llO01halJ1e2klRn4jbl5fZ216NTxeYGQ7SUElKHg7S05faXttbSZDdVQ+TTlqa2FeTEtK Zw0KPiBtcQ0KPiB6P0psalhDU0tuKlkwUU1GbC0NCj4gfWV3cF89R3pHYz5XWDMqMjlUMUIxKWdz KXwkRVVFOHk5Wlhta2ZUXj82ZXc2Nyp4DQo+IHotRitvPi0NCj4gQG5xZHM8PzlMNTAxVTIoZU9E fSNWVFUmaTJiSzdsJXhEX3kldF9ZdG47bnhPcUJzMTc9T1hfe0t7Z0QNCj4gel8xQytVbm9yd3J5 QmxJPEAjaVQmS0sqOHM3dCtoJDQ2aUkhNERFRHlefE1+K3pKND5ta35xKWJadTdhLQ0KPiB2Xzd9 cA0KPiB6VDNKYXt5eEpjQXtzNjc3Pjk+VlNWcUolMmdXfCpQVjBycjh4bUhvIWNXP0V6PGFlfXdU SFBJMlFKajQ2XkJvDQo+IEoqDQo+IHpYISZ5UUhteFkwS2VnZE4hKjNnNWByR2I3WWZaYn14TU9f UHVJUDVZS2R5cjR4Qk91MDtRRjVFZXNqTlIxIw0KPiB4a28NCj4gek1PVWkrT3lsbyhBZUkrUHts fjMqYn1IcHheTHUhQ0BtfTwqPVhXPkx7TSFBSVVydD1teG1Dc2JkdWFjPQ0KPiB7PlJGNA0KPiB6 O18jRVRVU0ImJjxJakM0bG9QdSpvRDtscEVnZXIzZV9rc3FVWUA8T01VOFR9cEdfWUFJaipjJnox UTM7ckINCj4gQWotDQo+IHpfbj0yWVMjZjtNY2NaP0ZxVUE2Ql8qeGs7Xkp4cHVBNXYtaWBSNEpz R05TSzs1emNkaFg/VTtQcmUjRiRTSyZqcQ0KPiB6YlpDcTVae35gbiNmfE5VSzZKWjg8djtwS2N4 a2FwI0lTTz0kSjYjKj51Ryl8djFNemB3XmlMSnp1IUR2U3hUJg0KPiBBDQo+IHoyJVcjUEF1V0lU eXpvK0Qlfn1XRWw9aTBleSZ4fjJoX3srSVFIZSpKV0JSZ1pEflpAK2BxZCM5dyR1DQo+IEsjP3dM VHUNCj4gekVeUSh7ZT82YkoqRm5GRmBCfmUxKzslc3EoOzM0QHtFYDE1RTheLU95WCtrM18lYFVG QEZBPUJ4LQ0KPiBBdX1pPEgwNg0KPiB6S2dZZSN4KzNyNmFzNGZvaHNQdUZVNiVpZUV5S0VwKGYp bj1rPz0wZHkzVUZZdF5aUlIoPndIZCt9b0BqQG4NCj4gNC1rDQo+IHo3RG42OHg/SiYxUkBtYXoy TSNUd3tiU09Ue01UOTlqNCNTND8kaUFISnIhUE8pekFDdHRJUUwkZVlWSU9fYg0KPiBPfTMNCj4g el49Wi0NCj4gUEBAVj1HXlRkfX4+RE53SD4kciVAY2YrJiU3Zyt9QFhzZXRMclMlKkNUekhaN3Bu Kz9YQlc8YUN1DQo+IDBJIV8NCj4gelhOfG5HRGYrfl4wT1YpPml+TUk8cW8ldypZNU43OXctRVZE O2FRZ1ZsOyhQJkNndHo/JVctKkctDQo+IDtBKnhhcSQ2bA0KPiB6PnRCZ2F2I081UkpaYUJSVDdV SWw9UmU4bmVMRjNgTFgmekpmOEFeME4hRStxUWA9Y3AjYDZLPF5rIVVjKjFGcA0KPiBkDQo+IHpX Pms5OTBvfT5aJDM0eShkcFJxdHpsX1NPeyk9JnN2ZC0pfmQxVDNVU3t8I0hgNDYpdU9rU0Z3eW8w dnlTMS1yPw0KPiB6ayhHR0crM0t3V08pdXdGeyk0UjZ0RVljK0g8OXc2YEZoO190aV5ZNEZVITN8 K2U3QER7SlVBYjl6NSFBcA0KPiBIMFUlDQo+IHorMXFoPHZXfjdDekNZKnBya01Zc3hCMGlTZW5A QGI3T1NORiFUdyRUJjgoSVV3ayZyJU5YdktWLQ0KPiBNQVpCJEpmXkwNCj4gentDKSp9emglRDN6 bXwxQVZyfGRyKlhhOHFeS0pnK3RScnUwZGlFUyQ4UG42aCVmRmJWeUg/d09zPWZsYzc0UA0KPiAl VQ0KPiB6V2k4Jj0/ZV5FJXdFZ0c0JnAofTI+aUM8VnlZMTtoISsqJW4kckBIcVVpb2VzdHE8fWN8 NDchO2lTRU5nZ1gNCj4gd3NyDQo+IHp8QiF6JD4qclREQypPI25Ae3J9e0A1JWI2bWlMQTFJOWZo TWUqWDVYQGM1aStFejQxVV4hZlNVVz51e3xKDQo+IDAjPk0NCj4gekk9JW80IyRWa1h8QXsmP1pv bHhUWl9JKmtfTkJXLVo9S1EzSkxvNXxmfig1US0NCj4gUl8qb0xiN2BhX31zYkUreDAhYA0KPiB6 PF9nPTc/TzQoX2E7WkYwS2YrfjZoZ0BOQiNlcEZjR2xtLQ0KPiBgazVre1Q8RE0oMWU7dmBGKGJw TFU/Y19TQUh9JWdJDQo+IHpsdntPY1psPXRWVXd2Xzw/WGN1cnBfUDJ8JjEtWEo4VilWaCklV30m U0lEMlZyQn5MSk5jcUlQMUJZRSE8Ty0NCj4gYzUNCj4gejlxT21+JSNxaWFfQnheOFBxeytuJGpo SkdlWH5nWihwJUdoPyRLT2ZjO0w7dG16IWtCU0QhclhgMCFTKTVJcEwNCj4gYQ0KPiB6KjdkcTg8 ZSMxWEBNRy1UVHcmRGlmYzx8aTljSmh+dXZTaX4rRTBYVE9GZzwtDQo+IHtqJEp0KUZCfnpjZV5M VCFMPHFoDQo+IHp2SHEjSTtreGJtalo1NX4ycklmZ1N0NTN2WFhyaDk/ViZ7am8oUHFgZjMkT2BW dUV+Qj89a1dubmtSeThgdVV4JQ0KPiB6OFJIR1YmemtBe2Rpb1AjU2RFMXpuX0pCPj0jQ2ApRzRT Z3IhdEhxOVFHTnF3JWcrb2RKTCZxKlBsTzZEPg0KPiBeZV5nDQo+IHpTIzA9alhTfkF+WFB5WjFu QUpwR1lLNlM8I2RrSkFlP0FkclkjJnY2KFh9fi0NCj4gYjJGbytfOSp7VW1fTzxCQHckVnYNCj4g ejxPP3AzbmQ5NV5zcXA5OGBTWnVGcENFVVIoeTIhfUtOVTNQNHNJS31YfFlgUlc9cjdsLWNOLQ0K PiAhJnpAejQ/VV5wVw0KPiB6R1d3PntiSiRiaTtzZUZ2UFAtDQo+ID9fJDQ1V0VhYyRDNVZONWsp V19RME9oOHRJI0szfjQjc1NzQXtoYWQwUG5qKzcqDQo+IHpjcXdQeGo7RiVjNFZ9K2p1SXleNFFz KHdJbFRTU3ImYmE7LT5SbWNSLWx3Qz5gWDMpWTYoJS02PnNqT1FhQ3gyVw0KPiB6NHdYTlkmbDdH PmE1eSNlKiVaME0xOzJPNiZHTGxOVyRWd3J3YHtzUnppIU55aXQ7PlJaVH5LbG56ZiFNZjMNCj4g azlKDQo+IHpfJUQ2KGdmP0NRZ0J9ZjxWS31uQmQpSUc9PWZRbTFQNWl6NDB6PlNEYSl9I2Y8X1Uo Zml7LQ0KPiBQdlQ0OHYoQHtaR1ENCj4gei17dUs3cEdUaFNhJDlHKHYjJDAmK2tKViR6UDV3QXpS Rik9dXlMeThfcyFLajtwWXsoSDdpfTNFXm5tWVB9Y0tKDQo+IHpvezt5dCYrRnpuM2t+aDtVTik7 LV9uREEzKlM/VnxaLWA7eHh9Yn5DOWk5bmAoISswRUlYSz42SjFzSnpWISQpdQ0KPiB6ZyNLfmFr eFBCI2VNI2QjVTU3cHNRbTRuOT5AfE94SlYoQ2dyYDEhUTNBc0BqK3JIa0RCRU5lMmR+VW4NCj4g MXA5eWBrDQo+IHpQVWJ9JlN1QWhldUZLZz07eHBsPCtydTloeHtyfXB5WWhiVm1kbnFDUEg5Njh6 ZGMrZXxGKjtPKUdlPXszQQ0KPiBnKDgNCj4gektVTHtKXjlecFhDc3Rwb2AmQFc1Wj98ZjQ+WChL SWZ5P2B9Y1h9PnRrWiozQkhCeFY9Rj9hQ2NITkJxO09ZWg0KPiAjbg0KPiB6Y3Y8YGAhPT1fZ2JA NUlEYG48LQ0KPiBhSXtkcz97e0c7P0dxcSt0N3ckRClHVnNQJTZYYjB9ZVhkbWE5X1pkKTxAXzhN DQo+IHokaFVqLXBXZj0lPWZkaEtzX34hb2xGTk9Ye1pKP0EtDQo+IGc5Ql9VQV9KNVo8Zmp7VH42 SjNxdWRMQGApWiUxWmEzIXsNCj4gekNXbSQzR2A3VkhWWm0wIypnWF5IOEQjczhJKGZPajVGRHAx KlU1Y204ZH08Zk8+bUJTQSNgZmd8QkZpNw0KPiBtS3N2bA0KPiB6YDwpM0p8M1pqeWRGaXB5SVlO R3skR0YlUG5KPEt9bUBUIVB0fUhjKG0jWE0kV3hvKXJSPl9hK0dmaVhZKmliDQo+IDNvDQo+IHph X3hvaS0NCj4gQmZ2ZV9wRCl0TiVNUVo5K1VxPGN1ez55JU5we2oyNXREbWA/e3R0Z35jUE1QVnJX Y0gpek1OXjtzZ2sNCj4gejZuZE9oQ1J8KlhWZlohOXQ8TjlmRk5NPkk0dEBLIyRTPz9sdUxpMzBG TkY/dU9JT3x6eUdaXjtzWHRQelNHXg0KPiBRRQ0KPiB6RS13M01NNGQ/biQzNkM/e0BuOVlJT3x7 Y3EraEwtDQo+IEB+RDZsVUdpP2U2dm4zNCo7UlVRdmI8SjltKGJRX1VrVTlODQo+IHpDUHF5ZUo9 YWtDeFptUHdFbmYtDQo+IGU5cVhLRj82PShUIUA9Zlc0WlU5cFo7IWN0Sj9ZJDMhPUgwS21SXmox Q0cyYH0NCj4gelg2ZFR+RC0NCj4gRFpkcihabGN7Z3UlRHJfcChQPVAjRTNtZjZuaiZXMlkpdDZv JDNKYkFEe0tHV2w7eHtmRGEzRSRtJQ0KPiB6OzVnKUx2WjJkfUkqVF94Y19reil5dFRVYShhR2B5 YEUjbGF3MDxvI1pgc2Mte29IY0hvbk1ZXj5lfV9TQGJsUTgNCj4geiN2Y3JpR3Q+d15iaWB4OFlv U34yKzZBTH5yNWJfKXVDQU9nPUN6UEJgTG9kaj5ufUkjcyZGe0BOIzwrOEAkVA0KPiBfQw0KPiB6 eUhuO0VHSUdEM0ZsWWEzQT94WXpPPHRvJSVWRXZrQW9+N21MRzU9cD9Rbn1VeCRANTdRTCRDdTIj I2sNCj4gUDRmZ0ZuDQo+IHomKE8qQ15NXzBBLXc1QSN4amJmJntRfiptbU0mWSRndU19TnhYJGBi LUVxMDAtDQo+ICslMER1U2tDKjlFa3FxQFlvfHUNCj4gejw+TEdGdXdnNlMyb0NSR1J7IS0NCj4g KWhKMGsrWD5yKVRIJHFPcnl+OXAoemNsPUNkY2ZrOV91bU5Qan1DU153clpnfg0KPiB6Y0g2QUI2 e14xI1RITXpBSi0NCj4gQG90QFV+OWlqQDZ5czNLaDt6dkxCKzRHSVp+TVhPXmJfVGo1c1h1QWk/ QlV1TihnDQo+IHpeN2QpIXhWSiswNFdWTkxge0BqeW10U1NTWTMqQ1Z1NUQ9Yik5K1JvUFZNUUgo ZDZoYFZiVGlRa3ZUbWwkDQo+IFNYQkQNCj4gektYQzhVd31OS2JGeVpqfjZeM1FPbGRtam9ASl9o bTZFc2F9SEN7ZTRDcU1qcSNYRigkZnI7MDxkTT1nc0kNCj4gQCNDbQ0KPiB6TiEmWj1VcTFRJVF8 SFFteD50VUY7K085UGszbzdMIS1uQjxSbVM3WHZoREFMLQ0KPiArVWpPSldAc3tmM3Q2SlNlMHc8 DQo+IHoxa0xnWkF3NGU0R0tgKjk7ZDkjeD99Y1J9KTdgcm9tS21OLXQ1KSVnal8tdkxsYX4pNDwr SSVJI2hTTzU+LVQjdg0KPiB6bDx6dzVlQ2E8WSRRTW9nd2VCdGJkKlN9SUtXRlN8R1JIOTRAd1lO fSpTe0FXZUBheDU9RjgqfVRUQQ0KPiA2TkpOO2hSDQo+IHpUUiU2Z0AxP28mQFRIP1ZFcXdRMDd9 JT9SO0lYeEgzfmc2RXhBdG9GTDBEaXRhKHdHOzNrQCVYOFRhZ2gNCj4gSl91aFANCj4gelU5WD9F VnhvTWEtDQo+IEAmKU5NfTgxKSUmTDBXPUltVmdySG5QSmVfWm9IbkFjYG16Mj9oUzdAb3c8dylI dmpMNzRlTg0KPiB6Jjg+TyFtS2o8UGg8eDxmbi05WEtaRUwxSEpHZmxGYU0hU3w/T1d5eD96NXxq WWdmJmFEP0hUJFEtDQo+IGt0Xz44bWMtDQo+IHotWjtIalprQEk0aHhlb01nLVZedj1oWFVueCMy Pl9pdCY1QyVAPi0NCj4gP1RibWMrXk0oQSRAR3NsJUopSk15T0lJJD8NCj4gent0K2MtP3wpfV4z RnAmYTRJKkxZRlU9MyZKPGZqUEI8djcze29jMz5WUzw9aF9JJC0qOC0NCj4geCk3eU9PQCZHRXRj UQ0KPiB6JVleKmg7JklffHc+S1okP0NBRyF1UF9kemh2eVl5RFZsS1pJRyg8UWsmWnQtDQo+IHto d1V0PygzWHgja3xRWURJOW1fDQo+IHozZ2IkNS0NCj4gVyVVK15gI29XeTFASmhlfiZIVkVYcm5x N2J6SClAQDZqWEN6IWg2UyVFcnFQOyl0Y3RCWVVuIz07ayQNCj4gel8jRyNIfE5rLUZGM2gldUo9 TGojfEtsSX4wdmx+Xjs5bjw+KjtrXk45JV8oN3kqUlAoMXU1RnlNQy0NCj4gdypOZWteQw0KPiB6 cWl6bzUwZT5hYFRgaGo7byZiNnx1dz41cz50dmMkX1NqTkV1SjhvJk9LKEAtDQo+IDZ0MTIoTiNt dUExcDZ3PUFoYmt8DQo+IHo8YDc5USYpQCkwemZOY2xtK35zPEp2Q31ORng4TztkWEohVk5zejFR eDNERXNFKyNZN0olKU9eVzF2KjVfRQ0KPiBQQ24NCj4gekQmI0FES2Rmd1RaOyMqN1RrM1p9OVIq bGRNdHlfJG05Sj9AKmpNTDlJKTNmbW1nKj5BZFJydztEd2dyaw0KPiBQVV4+Sw0KPiB6JS0NCj4g Jn0qZ3VvfUpJfVA8S0FTWDU7c3JKMFJGZE1VZkMxKj9DK0NZMWdLXmo7cHJoTz9Jb3wmRmIjPFM1 RXh4YGs8DQo+IHohZ3VERj0/MjJTQWtgZ09WISZfWktVTn00eSlZalJKVXU2bGpyayZYVUhHQHcj KGVQR2ZBJlNiKEdQWCUNCj4gNzUwPCgNCj4gekZAfXBQMiR4RlJIblRJVmc9YjU+NmUhUDxYQDUt DQo+IFBfOGAhbWd1VGdfcXR4bU1ERl5xb3MkaG9qWVlmazIqJnx0Qw0KPiB6QDtuUWtEe313WUNl TDQqSlpHM1omb096UFl3fHFMPGhnSj1ad0t1UEg5PXQ7aS10ZEBKdEJwPVFBLQ0KPiBoaXlVeFpY DQo+IHo3QX4xYFJJK2tIdTVpPzI4bVN+SDY7dUJ9aVold2N2P05uQ0V5ZE4xMjY0YngzUkNTOysm R2Nwa30/Pk9LKg0KPiBeUkwNCj4gelo5QVlQUk1aaUdgVld9fHVubldXNXtaZ30qWFl6KlJpYVgr KU0mdEZDbjQzKV9LMDYjTkNAKm1Da2cNCj4gUWxASFROMA0KPiB6azNmR3stDQo+IHZDbnxMVn47 NGNYRnkkKiVocFJud2EjOTJiKDJ7a3VoTkI1M1Bifm01SXE8X0FkJFNvSkZEeUsmOHhHDQo+IHpD Z3E9P2lxYkBDKHk3NU11IypXVUdTVGA/QiphIyRWITtURlVGRmJ0dSQyYj9BU3M8WE1WRmtNcShN DQo+IFYhQk89b2ENCj4gemxJKXtPKFNiITlfeDl+JjkpNWwpY0MhOVNJPFB8dXEwcCplUWo5NyNV NiE3dCkwcHVIcSRyJiMwYThMK1UjMjtGDQo+IHpma1lDKUF9XlM+RGJOKVRyaH52KDh1RCZxbEE5 bXBVWm4pP1FlK3xWa3M4UHtMPX5nN2pZX3ZnRU9TanNRNg0KPiBAJSMNCj4genlgVTV1dzdSQj5N c3Fvc08wcCY/TXUkZD1sQT84cUBZPHNhJD9kNHZ2M2pVbko1e1N9RHwwbzk1NnlAQQ0KPiBoeHF6 fA0KPiB6a3QwWXRSK0Ukbk51Z3Z8Q2gxQFNOclRjO0x0PzIpNzdBNXJzS0RndE5TWGxgcmFBXn5G Q3kwPGY7ZVEhUWFXfXINCj4gelVvOHFmRiR3R2RDOCZsZTZGfU8pSG9UKkMzRG40N0d9eG58Umkm bXAqYG5ia0ZsUTdhWXR1MTBMRE48aXQ1DQo+IGJ0Yw0KPiB6YnVqV3FgSFZDJnJCMmFtcHlWSzlf KHpFejI/X3BARG01KVZ3a0pte0g9NFhycypga2FAaUlgRDdZKmZ3Ow0KPiBBbGs7DQo+IHpPZVVH c2l6RzNPPVVeZVBnMGkhVUxyYXZqVEVQbVhUOSV9YTF8dzBkYVRQLQ0KPiB6bT1FUyprOWxCOSRl JUhUNyoyT3wNCj4gek0hSFVveTBOaEY4QURLR2Q1bHt+JEZiYHQkflohMDV8UCVNRjx6SUMjKUZ+ ZzZZKUFAeWt3WVckeD5Bcw0KPiBFJXVneg0KPiB6M2N7TUM4NmFRS21wPng9QEZjWW90U1dTYmg2 Nn1PKXFmVDY8PEplfDhPeG9OdFctay0NCj4gUkhyMD85QWNFSXMlV0ojDQo+IHpFU0hmb0V0eSNi clM+WjZLeDdPPDwpZWNmZDYtMEtjRjw0Sjl0WEM5Vld5KUhAYV56JXgkc0Nhaz1qVHx6OGI0Pw0K PiB6JWZVKmM5SWtgVzIxZzhOPC0NCj4gdlMjZ2JEPVByaW0pKFB8KWJHelMkX0dxcihsMUt6NWFi el5FMjxPREwpfjYxcD9TDQo+IHpIYzdqNjNSb1BZQk5pa1NuTW04UDw7Y1ExSihSKG8lQ058RzQ9 KVVyQ1B8RzAxKFg1OVFXK0sqN1QhbTYNCj4gTGBrOC0NCj4geiNJVXFLI2xxa1ZXe0JmdCQqMzJ1 Zkd0YntoaC0NCj4gJmchRWwoWGlxPDVoQipraUZDY35VMDQ+c0pUPE08QEt8MFNKRQ0KPiB6c0p7 eUpeYE5iZElFeHVDWVBLP2A8OXJZO1hpS3hiIVhYQzJ0UHdSQXZOPGMkd3VMJmdQXlkwNVgwJk1Z M3VrDQo+ICsyDQo+IHo1WHozZS1JI2BHRSFGKFFibkh9eUtLcDttQytZPU5ROz1yWGM2TjNzRjN5 SjwtbyE9P2tJOGhGZyEzaHcrYS0NCj4gYkENCj4gekIjblBLUSkyb1AqJGZfNjVqZGtfRjNacjt5 eHRCWlZNbnpFJHpYPWdXRlV0Wk9gSGFybztuaVZfU35ZU2leUHYNCj4gUA0KPiB6SHw5S2lubEhB SmtRWj5TZnE0Z05XMHAhRmdWdngxLQ0KPiBOYX1tMFgybFcwQUkrRilSZF5iPnQ+WkohenZLakx2 d2lhDQo+IHpDKUpseE84O2lOdkh8VUwkZnAqaGpvSzdWSE0yRDxzTExRO0pGSllqcUc0cjBue29j MntSdTUrOHVpJCphK0tgNg0KPiB6UE89TmJkWTNlPiNoZyUmbHN8Q0tZKTNJb1pPb1B3Jml+anRB R096XjRyRGUxbHRGSmE+WHlQalh3KD9XYmoNCj4gTTElDQo+IHpyZGF5OD5ONDdTV1VKSz4mP2Jr YU18PHNQUDBBMUkpfkdlQFc4byFoelN5ZyFBRmcoZHh8P3d7IUY0Pzl7DQo+IGJiVCsNCj4gekht N3ZKMU0xVW0xciplMGpAc1QpbE85QHIkTUp3Xj0qTV9TOVpiZ2B3alk0fDlCa3ojSnV6KnZZP1Rz RUwNCj4gclIrTQ0KPiB6KEJnI2pgKi09bWBwe0NWQ1RPUCp3Y356QEFDdn54dVZqRyR0I1VFQlY9 Vit5SiV2SF5mMyMtDQo+IGszTjEyM0RoQU8xDQo+IHpQNUgpdnltZlJtTXJyP2JOcEtETFp9UCkq OzEhM0hmMHF3ZHp5RXRhUXNBQXpiWDY5STdpPWBSM3UpUChUbk0NCj4gUHUNCj4genAqPnUob25h WTU0KXk4XlpQSl5MMkted2MpUlJnPSZpS0JRYn1rRnxAIzQhYERxbTZRO3I8bWBKVG9zUit0DQo+ IFdhKw0KPiB6bTI2fkBkTFleaTRXVzhWKGMpd1AoOXNHb04mdl5mazRYdE4tDQo+IF54QkJzZ2pU clRIfWc9K0tWc1gqRWtYdVM0dnBfDQo+IHpoMTI8OE9OWUpaZHx9ak5jSENIZEs8aTdFPz1zWHdq KGdtdzYmej1UbVQkRDgrVn1zdWJmfjhuPWd5TUcNCj4gT0ZSKmYNCj4gel5vRnZ4di0hTUgzdEEr bGREY01DYE8wYjteXyR7YkIkTiFHbjlUdEhJekc7YEcyVy0qbzZaeF90fmpQRDwtDQo+ID5BZA0K PiB6X1JyYy0NCj4gVXVuMTNwQDFKWThXZUxNUENGN1RgUVI+Rz1tN1M8N3p6MnxjfThLKXVPKz5J aExVQUBOcG1kSnd+MkYNCj4gYw0KPiB6VHgoIVNFcVJFQm5GI0pWdlk4OUVRPURodlkhWXxoJjI+ aGpVMnkhTi0NCj4gckdiVE8zN3lkT2lPSl5tJlk8NlI7bSE0DQo+IHorQ05EaHMjRXE9IylRVn15 Zm10aU5JWkE+Sld9bllqUGo0dnhGJjEtDQo+IEJoeD9Fc1h4fnh4YSM2VWwqeGg3K0pLfX4NCj4g elAhPXhuJip9cnFvbGUoY2FXTHYmOFlNZ0xtRkRIPGIlSHZqSnVHc3pscj43KXM5JWBYOWNtQjl3 dWBAXyghDQo+IGY8JA0KPiB6Qi0NCj4gQUk/YntzczEhXzA9b0NAT1crXmQmdz1MUWg3VWRvMkE+ Kzc2Vl5ya0hQMHNofCNRYzR+bigwTkx5c0g3DQo+IGhmIw0KPiB6UWJrYzZERjVOYHVFOUZjITVG NnxlU21LXjhAOXs/MH5fVUZJJiNvdHMyb2dmKF4kcnItDQo+IGUjejsraTBXQl4hJHBRDQo+IHpg PFR4RSFfQlBTTlRyZ3IqWip+amtgJHltSDEtDQo+IHY9eGA/JEAoKFROJnBSaGhzJSZ7c2k1cUhz SHVxeFNoazdHX1cNCj4geilHa31zTk1saF4pQHspJEVqd0ZkN0hPRiNZRGR4OyN1Zlkodm1BKzAo Ynt4d2w3I3JWaGxsJDVnUzd6bkBQSUkNCj4gWA0KPiB6JnRQQTdnM3RiZTBpTDAqIVRzXnNKK3l6 MkMjSHxqZnFzNmpxMlBqTlMzZmBXMSs1JDNRSWpaUyg/SmlpMzche2kNCj4gel9hJlBgeXZRMjxP emdlTEJMMUIxPz9xPHY9VWlWZUdELTNteWh5M2lXeStRLQ0KPiBVIWh7OSUybGRYdDZzeVpYMDYp Ug0KPiB6Yj9WbHUtPU5gVmpUJCM7RHI7dWJ5aFkxYXQ9cUoxKlM+P1RUfU9LZCQ0KlkyeUw1SCMq MWQ8a3I7REkpYiN3UmQNCj4gel56ISFje2spZi1lP1ZZUkA4RlFvdXMoaEpeJmM+QihCTDhBNXNe e1JHME5EdWMtDQo+IDdFaDM1bntZPGwma1d0dUEjJA0KPiB6VEtkUlFxc05STFNIa3RtI3haOCY5 REElKHZwOFBoOXVNbEdNX2NrTElKYjN5WFZpdHc/QVZ8a1BuXmw4IQ0KPiArT2AhDQo+IHoyWTB8 bUBSKm4/P3FpdDBjfSE9ZXwxMX1yZEJwKztJQWcmell+aD90TX1tP3E2QmAkI2FwZDFEbFZ3aVFk eisNCj4gcDkNCj4gejxKXioyZFBRbFYjVj0heDtARlNCcVYjKGtjUXRWMiNAVlMxV1FueVpxeEZu JGlCRzRFdnN0en5RX094MQ0KPiBHYndzeg0KPiB6TEp1YDlUT2FjMzJQK3F9MiMoZWRhZWFib3B1 JW09SUEmWTZKdD5acWp3eyRJeitYfUdQSGZMdVprIXc4ak1JMw0KPiBZDQo+IHomLQ0KPiBROyE9 fiVta2NaZnx4bkN9cD9iN25SUlckJXJgckx+OzleI0RHNTsoemRDe0Y9XmxyNSN0aU5nKGFVR0Nw eUINCj4gemZPajw1b3tlIXxfVCE7VWBJZyNKUVQjREtOJmNwTThUWitaeVQ8STQ5bDVYfUpxcT9E aSVNNnJWVTQyJFRVcQ0KPiBwXg0KPiB6cjdvKTZyZlUmUVRQaFhLUWB9KmVocjJ2WCtTbkdiXmgh RCFwaFRxZilabE8yIThMfE0kdVglKEcwe2h3UytMDQo+IHdODQo+IHpmMyNHZjxSTXYoN0BxWis2 Z3AhSHA/UmAhI2BobjU5OTA3NHZWbH5qe2Q9XjluRmVLJT84b0VpJSpJJWprPEANCj4gT0MNCj4g el5+Mj1IezRNMllvSHJvXyo5el82ZjBROWc2PHI4eiE0TFplP3lSd051IVB0JUZAfE5ZRl4hR0E9 SHU7Xm8NCj4gZ1QxeA0KPiB6MCRMYkI+bnV8M256d0F6a2hxczRva0lNdGElY05WSVA9NTNZQm1Q M2N8N3dtWipTN3RJRUI3TlEoKnE+DQo+IDR5Xl82DQo+IHpnIz58fHVgZSpgbzB0OHNWLS0NCj4g Q257ZEdMXms7P1I0ZnFXUnBFTm9INUZBc2JGOyo2bTlyN18wJko3cUQoRHQ8fGQNCj4gelJ9TWVn dWl+Smt8REFmVmo4KXZTU2pIPUVYfk9MfntFZDN+fDRUYi0NCj4gV2l+NEA/aH5ReUJlWn1keUB6 bkczRm4hdA0KPiB6IytYZVJ5MzdZWnNYZHlHPTljWU8+UDdmfHVwSG1hJEVMelAjai0NCj4geyRk MUNLUEprIUJgazNZT25xb01hb3lkdj9zDQo+IHozSHM1cU04SklgSEVLQkZDaTNrKiMwZndLZklH OHpkSz8xMVVRNUBeeFJaLQ0KPiBNSzdmPHBncHl0fUUmQU5zTHk2YTgNCj4gejNRb1BsLThFV3xz SkxKeVVQMDxFMyg/WnNIcmdiLQ0KPiAqYVFkYmE2aVIyUHt4Xkk5R2w3dyREdSVJPX58ZD1EV09F VA0KPiB6KkMzNVdQQjUkTTJLOW5IKmB8UEo0O2NVQiV5YERMI31HKD8tMl9DZE9qdXRAYlFFRmRU V0lxWC0NCj4gejJ5JVpGLXQxDQo+IHp6MFgqWVRCZXZEeXx6cCNgbWJ7M0hoM3ZGTUhafm8hV0F2 SjRHfXtIVnNYaVZSJDY2JHhYK1pKcjAyTW15DQo+IGBXfmANCj4genNqe0Mram8zM1M4SXlzX0sk TUpDTWstDQo+IGd2VFVJNilkRWkyaEVJdyVqeU5NKG5UMVE5MUVze3ZRX1hIMWsmNTJmaA0KPiB6 PHlmZUN4WE5PQGxWeCZPIVIkZzZDZCM2dnV3IWBNa31UYFI2VztNa207b0N0OGFoSTR1dl53UEZl e2MkKw0KPiA+M2s0DQo+IHpqZTlRQXR2bUREP2g5KU4tDQo+IDAjNnRhYVdMb2VAS3ZybzNwKGcr Kl5aczFNUCQhWmg+JWoxYE93XjtLcXV3R3M/PS0NCj4gemM+QlhjckdZeSROZzg/d0JQN3IodzZB Tmg9YihhMTgtDQo+IHRpMkxiTikjM3BBKmtvJjZ2JSRmcnZsKUYlWWYzMEI2cg0KPiB6Q25UalBk bndjTHh3bFRLTnY5VjJKa3lYQl51eFM/JXNnQkBgblUlOWM1PFo1MGlFckk7IUZwM0NmS2ohX2RU VA0KPiBhDQo+IHorMWVRR0JqZH51dHNPPUkyYT82M2xGaXBONTAtRHlxbmZuWkZ9RD91bDhBKn5F bTskMHQ0QURwZj8rQDAxNGMhPg0KPiB6QSVPUHBAWjFSZmFLI2t9Nmk/YCpsS3B0bzZyfGFpV2cx ZWZhSWc+TTN1YHdQQTZJUFZjXlNpRDkmVF9wPmBpDQo+IG19DQo+IHpSTEgqMnt5cEZ4MURvJGpk dkk4YGtCXn5Kbk0tOzxqIzxGZkspPUpiIyVjc1BMN1NNdClIanN4alR6NXdxJX5eYw0KPiB6NWJW XkFOaGxvVDVlJEZzUH0pI1BAOGYwamZ9VjxWR3huM2h7ailMSSspbE9oYn5JaHZOT3ZfJU18dERg VFBXDQo+IEBjDQo+IHo4ZHBeeGQhSTFOem91XiN6WT0/PXtDRTZJPztiMSU/b0h1SmhGT1prZSQ3 Z1RKc2E8TDtFc3g5Xnx0OHVXI1JJDQo+IEQNCj4gek9jSEVmWStVMnU4N3VwOyFneE9ZLQ0KPiBA bTZaUzNmJE1EPXBzV18oRSklKHh6b2hUVW1FbU9WZjE8VGUrflplbXArJQ0KPiB6WkNaY3FSdkQ5 R0g1NE5KQikqTzcmY0J4KW97Uz0mfDBFc0VreSpYZDZkP2kxVzxtUHE/WTN5U1MoWTJxX2sNCj4g dEU4DQo+IHoqfS0NCj4gR3FtZXwwMTZLN0FqZX0/QlNJUGJ4SXZgRjR4VitneVVDRkEoN0xOX1p8 PmxeMm1JS2ZjSEc9bX5vYGJqZXcNCj4gek5wOXhsRHEwJHI8QHpeZ2NwWUg2cyNkfiNEaSVzJGFe RWltP0VJPUBXYlNiRjhTWVhXT1R9aTwtDQo+IERObXNsUjxnJA0KPiB6OWduP3xTO0ByamQhKUw7 UVdVPzlwI15Za1UqVHt6I2IpNHpNXjBDdXYpKFZnLQ0KPiB8XzhVKUhvMGNaX0JAKUlVeyE7DQo+ IHozJihhOyphPz45SThjbXZ5KmQ+cVdVXj91O3QkdCtsXlhhV0xDcUhjUHpkLUgtNSFlS3J0dFZ4 UXRqY05qTHQ+Wg0KPiB6MTReeEVkLQ0KPiBFVFliPlklfEVGYHc0UHReKk9Zd19RRW1jOHViWkl6 REN3NEpxdG5LPHFxO0UyJUBlNUNnSC07TEF3DQo+IHpwMmhwVygpJGpfWUtpfjxXfUlmfU5oN3Ru SnBQO1hQJEVULQ0KPiBQJCZgZV52JWFMWCQmeDUlTT5OPyFzOWlUOzsrVkYNCj4geigtRkhrO1o0 U0RzSXxYKDdodVZ4ZE40MG4oYkJMaTdqamZHXlNgM2s8ZH5sJVZIeGwkcj44KmQ5MXIqMk9tOShS DQo+IHpTQDRKWjhTRkYpWkJWPEA5YzBgRSNyYWlIKClPfT1LVDVNKDhCTlZOP3ZMT2pAVmAwa19r fSFob0Y3NWcpdw0KPiBtd1UNCj4genVQRThDV1k9fDtjXkZwYDxATmUwYHRmPSZNXmsyc2UjISpC Yi0NCj4gOGskb31RQkBQYzg9Kll3WXp3YGwrTk1ZMTcmew0KPiB6c0lRKD5BWUpZNGdNeXw0aHE1 O01zZHxWLUJIfDxCPEtydDx0ZE4kUkpSJil7Qjc5JDI1JmtPUmNiMW0tDQo+IHh1aThLDQo+IHpr ZjU5O1h8RXA3NFJBTEIrbHEjK2xoOFVqez9QaHhKaFRQI2IpNHkwMkh0TG9xPHNnJm1uPmhWYDdv SSQhenpeUg0KPiB6OTFhN24ldWxCPWU7O0xKR1RvNXlIR1hyNHs9O2E9QEo+d3ZlQUQwdld5STEt eDhxOGg/LQ0KPiBZPVVecHp5ejgqanMrDQo+IHomMX5HVSFASVFqNn1ZcXVmSCZYIUwyY3Z4Y1Ih ZVU7N09fbnhJeksmektrIzIjNiFGRygjak9+Z2pmI2ppKCZqeQ0KPiB6bGk3MnxJYWc2UnYyaHQ9 O2l8fE95RCgyRUVCcUN2ezVAX2w0UCQ8fEFCTnhCMzxDfnU/Z1Z7PG1MNnc8KClUSXMNCj4gend5 VisyJlhCe1BedGkmdG9ldD90Km13YEFhSnRETEZEWFVLKWAyX0pDOz10I3BATXhtQypZJUcrcEFe eg0KPiB0blEwPg0KPiB6I3ZVSDApSkV4SWBGRiE1K1BAYDx1YGw/ZyhXe3R6QzhmbVR7d217M04o c2xONnApX2okYm9mVXZocmtrO0sre20NCj4gejh+IWZlXmdCYWZKMHU7eCRWPkYlQUNsVTQhVyZJ XnVMNV5yYW4hP2hpdSl6X0tZbkx+d144dV45JE5gVSh3Mg0KPiArdw0KPiB6TCQqVDFwMjVOPEx3 bXljNllfPkBPVmN+VHJmSFlGVHVmN0VRbygmZVJ2TyZse1BhQ088Y0Y7QClNaChEDQo+ID9ZSi1B DQo+IHpNMlg+SjYrNTklcU5ec1Vae2o9eVp4Njg2NmJ0PUhMcil5Y0xtQUowRitVdSQqekV6K2Iw NFdAT1M7YCl4Ow0KPiBQZiUNCj4gejdAUHBTRzhxLUt6Mm1wR0B5WjFEMFlCZEZsdipMYTlvcy0N Cj4ge3Y7OTBncFRqU0dhOCNEVHt6NCReJTZoX0JDNV5RPg0KPiB6dDRmNEY8ZkVqXlhQUCFFbjxa YWBfY00jU149RG9kOU59Pi1nPnl4JFl5NkgtMmAhOzUkTio7biN5TnNpI3R+M1ANCj4geig7TWdQ ZVRySHAlOyNpPEhDdlNJSUFOS2kpRiYrWUd0UXYhSml3Zkg8ODY2N2FiYjdwTX1RcEl1Vm5kXlFw Yw0KPiBUSg0KPiB6LQ0KPiBabzJneXZNaCN2P25VYmc3diNfc0lPJEdReWpPSGtoZUdkdVozQk1A amdsQHY7ZkBRI0N3RDY0an4oVCgNCj4gVEFPIw0KPiB6TF8tPUhYY0xLJGl0KUJGPlFJcXg4fkB2 UnY5bmc+MEJeUmE7ZVFwPjhRdXF6eklaNnZgbSlTTmxCdjwoSm9sM0INCj4gekAwUihQPVp+IWo+ alFoPXpmbz9NS0ZnRTZIKmtFI1EpOX4rN1ViVzNQKXk5QVI1KThxTj1PK0x0PGk9QA0KPiBDQnpJ JA0KPiB6UTZ8S09yI1d7KWszbEojPXNfX19wcDBSSlRBRVlmSWM1c2ZVTF5GJmU/eTs/ZEhTcCpZ en19V1ZjJnFfSCYxDQo+IHc7DQo+IHp6KXMmeC17bSswTmMoY2V7U3E3X0BCfCYtDQo+IGhEPWs4 PkhDclNORSh5PWV0YThQYVlfMz5ydWlIOTlnMzVHR1BIKkANCj4gemBiTHVZfDVTV3pMQ0Nqc09I MGF1eGgxX2tZI3peVUV3JSZNQl5NKW9fQ0BEa3JPIWVZb3FqbWY0dnQoDQo+ICp0fmdedQ0KPiB6 QUgzSXFyIytfOSNgXmc5ZWpeTFg8Ym9tREtCRW9xSC0NCj4gaktlKVhzJlBsR3RmNnVHQ1ZmNUJx aStTRyFEdSpDNm82DQo+IHoqIyt1dE4mXmpMVH0obkAzWDt3eCliKykzVyN6LQ0KPiB4JDY2UWVa RmkmNiF9KmJVRDZEaCptMjdgRCZxTH01I3E2YHUNCj4genBnalZWTGE7dXw9RzRKU05qU01GYVgj X1hmUV9nVWtMLT5yLQ0KPiBvSW5GJFE8YTcxZzt8NHkzdnlFTmFAQ1JrfG13Ug0KPiB6TkJYRFlx YjRAP0U3XkwkSHopMnM7UVE0TU1zR0cyVmQrcGUxLQ0KPiA1ZzFKTDduU3d+VE8lVnN9PjJqZTlO RkB7byR9DQo+IHpjcDFubDdHbU1MSHF2WWpnMG47PkVvdHB1KUxQbmZNMGJTTDNYa2Q3K2k7fUFJ Vz93PG9jfXhUUzw4R18/TQ0KPiB3TnkNCj4gencrX30+VklCKlFaXytJPj9CJEhnTW1OK1RnN1Jm MmVtSC0NCj4gfW8zM21lRnNFUzY8MnNSQF9+WUl4PmVmSVI7RTBiaw0KPiB6I3FMUHEkWWlgcCNy OVpPa048RCgqKXllSGMoI05tXj1nbmNycXVAaTl9ZjlveU9IaUdXNjdqXzV4a0VPMFANCj4gOCsx DQo+IHo1NCkhej9KNjtVRVFASWhzTCMpfHY+JUlReW5rZGB1OTY7P093KHB7al91eDlPTkRFXmFE Qkd9REpmejhBZFQ/DQo+IG0NCj4gej9gSE97bWlDNUZhX3R9bzlMWV8/dnZtISZhclR+TUchP0NC SFpMKlcweCsoeUZjeXdpQGxhcFYkPjZgVVpaDQo+IE9UbQ0KPiB6KmYoJG5GVT8hOXA3Qj8qO314 cVBER3pCKCMoZU5pRUJRO2kjSGRSbTlRTiF5Vk9LTWh3bip1MlFxZHZaDQo+ID1wRytfDQo+IHpf MT9jMnE1Si1nbCo4Yj9Uem8jbDs1S1UpbGtsdXdTPW4pbm1BTD1rbXM/dFl2bUtTZnlkfWVLc2RT NlhlNX1Obg0KPiB6XyljSWsrNUtFQlBzejN5KDtURkJZVSplQzE8ayppemo8REUmX2kpZEhVQ0xF Y1hQU15VUC0NCj4gVTclc2QkQW9QfmQmDQo+IHp6Z0d8OHZIQHJGQEktKDNzcWIpckNsUEx8c3t6 ZEZwWjk4U1F9eDxYOUZOeVZzITRQYnl0ITNzMC02TnJGJV91Tg0KPiB6TzJXSUUoTWxDJTJzRGUp Sz9hblNJcEVBQTUrZmtTTmJwTmVnMyZEdmJ7JilBQz48fnpjV19ANE0+YHoNCj4gUFBgQFg+DQo+ IHpGUXMzfSlHTzA7ZnZYdXdlPVgqUmAkM1c+VFhlSkJTJCFBdi0NCj4gNU5Acz9SPzFpbmhXKnJu Nkk+T1d7ejVoM3k9NyQNCj4gek1BOFdCM3V6ZnxpUWB5fHZ3biVuWmY0LQ0KPiB2NmF5VU5KNmo3 aDc3RksjMClST01QbVk8KzR4OX4wZFN5fFhJTEJnZA0KPiB6OHwwdjU8U0RIVXU7LQ0KPiBmUVU+ c1FzenUoeHw1ITFvVXNRNEIkX2hvTSVeaGEmWSRUe3YhckAkTiZYUG9NU3dGWitoDQo+IHoreTcj RkRKNF5gIXREZyNyTVNZemM3blZoUzVoZ2xvd0Q7Tjx9Y34za29NRFl0dTZnWmhDZk59cnVtdVhD VQ0KPiBKKUUNCj4gekhQaVZBd2pGa3Q3VDtAcT5IRXpDLWRmJU9jczdNXkk9cXRgS3hiaj5vbzc1 VF47VC0NCj4gYjtMM1NtKUtJdXtaRWBOQA0KPiB6M1dmOEIzKzw2e08xR3BtUn12UUQ4NyRxQlc7 THRec1l4cSM9Pk8wJipwM3xUI29fdnRlYj87KDlBRzt6fA0KPiBES2s4DQo+IHpQeWdAODR8Xzg5 RFR4T3J3Xz5nJWFlcDFaNUAhb1ppTlhJenU/JCs0YDUlczI/OWJmNFhxT01NYHNDanYNCj4gUXV4 bjINCj4geiMmfX08REBCVTtYUFV3VVYqRCNqaXVXaFFtO0ZDbD4hIXNuVCg5eH0qRGF2Yl89M011 I3IjUCVoPEhMDQo+IE48NnI0Zw0KPiB6I3J1PXU3Y1R3Wl80JXRGZkhfJmlwT2hvSWpMJWwybTw4 cytFVztQQ3c4bF9ZI1E0bWZOfG5PYXBkVVlCOw0KPiAtdHdfDQo+IHp6TCt7fmBpejtnV2BDSjZY WVJjRFVvQlg7WHpgTXolYSpUTG5Zbjg5Kks1eyheWDxDei0rak5+aG1Bak8rUHZqSQ0KPiB6VFl1 V05lYUZzU0tPMSZ1aVA/TWg/JVYmJWZyRSNCSiQmVG92RXdJbFBNJGhfPUlwdWk3Y080PD9lZGtZ DQo+ICpSSjJWDQo+IHpkRiVGX3laNyF0YDJDTkVlP0VHZ2B7WmZmdiojfmZ6SXklVT9ZczlNXjhj fWRqRV5oOEQzKmVafDhARVEqWksNCj4gY3INCj4gemBUdiFJbDhANz1mfENEcmBBYz93QyhUYkpl TS0NCj4gaThvJXRNIWVYJU5xIWFXP14kPHhyJiZ5VVpqez5ENnFZeE9EVg0KPiB6YiVSdHNIU244 UUZyT301SGE3Umg2KT1ZVClHWUNEbHU0fmlHKX4/QW9xRUhhN0lpVm8jbG4/UHhlfUIzZDhDZw0K PiB8DQo+IHpfciUyUkRSZERYMUhUUzNmQjREcEFzdjNpLQ0KPiBAanVfT2g8VHRVeXdoMStXYFA3 JXxKb0Y1fHtHP0dAS1BZZ1Rre1UNCj4gel5ha0IkYTBpSjYwOTl6WjZqPDdUUnkzTGhDYGhCOWhr PzJAeClBYEgpMXZXQTBGPGF7YllSb34pQkhTQU8mPw0KPiBLcA0KPiB6OGwrRGtUfStjZVQ5Xilp bnQta34wJS0NCj4gdSZVfGZ0dEtxSCRANjlXV0hQWHBoQSFWfkNmKTErYGVQfkUwaGF0Q05+DQo+ IHpxZmVtSmpaIzZzOF5lKVdqRW5JSWdlTVM9S298bWF6QWBxaFFnOTg5Pig0ZkBSPjlwPFh8RWRo ckl8R3VUdQ0KPiBiMi0NCj4gem8qUUNGVD5zKkZXKDJJclE0OEVhaD1tJXYqe3w/QV9AQWJhOGNk XyRQaCp4LQ0KPiBJS0soT2NyZX0qRGNTYlROYHRtKQ0KPiB6bjRhanJ3UWQ0PzJlQWQ/TnkqOERe Jnp8fldoKGk5Qm1KVHpGVWo0PWc7RG17MHpTcnYpVmx0dlAyb0xzTiFxDQo+IHhCDQo+IHolZTJk c091QmVfITB5bylRIVdYOVElWEV0eWVGRnN6X2Q0RC0NCj4gfSt+SzhxO0lpXzVXI2wjQGFWK2dh NXEjanAtS0UNCj4gel9XcFZMZ356T2FDUlp1RnFQZG0maVdXdmx0TzJ9I0Q0b040KGM5eDh1Plp0 PE1lVj0oITtZeXQrPmJgUA0KPiBOPSNGYg0KPiB6QHJ6KkBxe1lxJGFueHF0ZS0NCj4gdzRyJSp0 bVIhSGclSWN4UmxBWVY1NDdARDQ2JjlXdmMqdmtXMldITnxsM1prZT43DQo+IHpEfX1fcFRqfWcw MW9HMkJkUXpAVDUqVX45aDt5WEVjYSlefjd8c1RFQDYyIWltfikzYSM1ZkRZVGBtPnVWZDcNCj4g cjMNCj4gempKfnNzZHwpfmYyZHYhcUYyblA8YUNuI0RpOUJsMlVePH51VFNfPEJXb0VJWm4rTF45 ZiEmNjhyWit+cUw1ZTdhDQo+IHo7PkJjSXdAdTZhc2QoNTVxQitPSz1Ubk5zeGE8dDIjUWRaQHV8 O0JAcFVNflMkPk1DbSRaY2B0QmdPag0KPiBmXkcpWm8NCj4gemo9ITY7RiZAamk2UHo1UFJYVkJF ZV5wLW0xX2Fqe2U+WSFhSmVJRWB3VkB+RlN7eW1FODRrLQ0KPiBBP14wa35Oej9lcA0KPiB6K2oz JW9vVFR6ZmFhbiktdE1hbXVgMHRpaGlwQkREZmN8NVlGckstDQo+IGFlamc8RExUVVdfYmJGSVYr UH0rQEYmXldvDQo+IHppeTIyS3xIN2xuS08xK2tVJEE+VnBCajVoQjN+VCtAUlN5QjdPfiNRJktz RFhJe1k1Y0E1SjteZm9lTCE4czcNCj4ga3MNCj4gejlwUjBVKmZCV35zejMqdXtLXj5INmZqN3Aj RHhAaDQrRmhRRi0NCj4gWl5yYnNvV0xCdTNUPl5aYFhoI3c5X1I2Zm9RdA0KPiB6WiN4VnVyb2tP MmBXelhuMFNqWVRxdHE9a3B+Kn5XMn0hQXUhe0JAYjZ3enB0WSN8RHEtDQo+IERxczE8SDZ0KCMh YzQxDQo+IHoyaU4+cjRJZHc9bF9QOU5Ea0JwailpRVI8RyVpN3dwelZwa2F7fjI/MHx2Q1JEMist DQo+IEIqMktWSHNnOSVtKEliXn4NCj4gelRfejxhZyNlMjxsdWNhPG9WcjBfYi0NCj4gK3U/Mm8r c0dyaUBVPXM4WnI+O1MoQn4yMyZocHFkUWZwUip1dnU2T2NqNA0KPiB6UHA1JX1BdVB9JkghRntm bVohaV5zbkowY1Y7SzA1b0pLUDkxMHl8PHVvT29QR05ocVEhb1Y0e1FVaXNQIVgkDQo+IHoqDQo+ IHpGM14leDswQyNYNn1VKmMyQTBBPUtDcCVieHRYTStPcHY4U0NadEJqeik3fGdQOHFFO2IzPXRn V3VwIXpqVw0KPiBTc1cNCj4gelJfeCV+ZmZOPnd4VjRkM0w9JTNhbE08Mj1xZzByVUY8ZCstN0JG IX5CXypnKkEmOFU/VHVjT2BSOy0NCj4gZHl0cmtjVQ0KPiB6JSlyYCRRTldSXjFRazExUzBgeWtE QzU5a3Q0QGRLNnNSVSpeb3ZSdzI0JXhNMztmXzIrNWtxa21GaVFhDQo+ICFQPihYDQo+IHowVH0z VVZBc29wRVYmYk9YfFVQe1EtUnA3Y28tDQo+IDtteWpCVGo+eSole3hGNmBHZn1RfkUjY0d1NT09 ZyRjQikzXlENCj4gekpQWmdqR1I3b01scmpNZSNvOCV5aHdZR2EyK3Q8fFArLVp3cCNQeWhGNWRx bjh0Wkd1e3c0V2ktDQo+IDt0aCZMSlB4Ng0KPiB6bGlaK0JzXkEkfm48Xj93TnJmKWF2Mjk3dXpf NG0wUkhvenhBc0MtDQo+IG9VIXdPTlZzdSYlTmtRPWxfQipVcHRwPmBFDQo+IHp5NCM/LUJ0SkN3 N3pxYFJaTiV1OG40Ri0NCj4gQlJpU25fJHEpTkdAOXZUeFZ0e3kzQVhyRjQlOVUwU1ozMXUpZ1kj eG0NCj4gentSTXQ5VUtvZzQ7RF50biVsUSh8ZkdgcnphVlc8PTZ1U315LQ0KPiB+Y34yO3pacjwj MilZZkEwTl96VnFlayV1KTl3UA0KPiB6dkV1JmskfTt6VHp5b31JJHI8Vm5DSG56bUktDQo+IDNB dmVycVVwQ0cjb3ZCVTM0TUN0OFojTkliPjlxI3duZjZGLVV2DQo+IHo1R1JVNU5QVVYhTm1ZdXkz ODZUUUpTKVN9ellXK2Mqb35aXypxdmxrPl87fEg5Nn5ZeWR3OUIlbkgwTg0KPiB8Rz5aTDUNCj4g ekpqRWZUQTdJWV9VKlpHVUgjQ0lFMFM1I0lsUXRZJVF5ZjZ2bUcmaDtwPkVfcFY5JF5jYSlEd3Vh KUBGLQ0KPiB2WCRhTQ0KPiB6bDFaXlVuTUFQJShOZ1MxQX05dE88UD5gb1hOckFEODtibyZlVG9B fVMmRHRodnI/RmtFNGZiYjBGcHktDQo+IEZmbVhaDQo+IHpNbUE4fnBEZCFkNTE5JSRxPm1UVDFO UUk/QSowYmh6Py0NCj4gQnw5N2VQcENqYnRFYllsUX15OUpYJGZaY3VJJVR+ayMNCj4gemZJc2Rw PWh6OHdmUyg2eDFLNmpSSCkofEswZSstRCQ1akRpZThUWkZTanoramA7diElTDtDYjBtak1yT14m JlpkDQo+IHpkeDJjRHhxQjtqWDk1bGw0VyNAY0tOO1hndE90eUlCTDlmMVImN3xkZj5vRVlSViYo LUVtTzl0bH51Klk2JDEqIQ0KPiB6KFNVKytsKzZmQ19XfCp7eUZpI3ZwdzJ7R3NvfWJhPkMoV1BE NCo4VlM9X2lkY2tLdXV0ckkydiYmQTh4VHlMaQ0KPiBoDQo+IHozNHI7SmhUYjU+OCQteVlFJT5E YU0qa0d9WU02YklWZj5hY3l4PmwqV0dNIX1DTi0NCj4gVGs7VFY5d2xIRXNTeEEldGcNCj4gem9U U3JASz0mWTZBSHNlI1ZDbVpeb0g7VWA3MEIxV3tUJnxyUFJXPWo7fHpDdiYySiVzLQ0KPiBDJnJ6 PEREJCZUV3ZPKg0KPiB6bWZXfjU/QE9oUTdCfSFgYG1KZSpNSih0VV5jSWZ2Zz9MZUFtdiV9fWxS VDQkYlghJUAxMjMoRGlzbkhJJkYNCj4gK1h2DQo+IHpfZ1JmO25WMFhjKHZvYWw7Mk1UO2dFQ3sl YEBnNnMlUkVePGVYS01uZV5hU2ctDQo+IG4lb2UlYzlGPGxzfmhmViVaeyENCj4gemw5KiphPUNZ VTRWZlU7KVJnMCRTTlZsP1opciF7dEVIISh1VF9sTVg0WWgtSitTblNiQz0yYSllLUZudmxxbWo2 DQo+IHp3eDY0KCZnI2ZtYjd8MEBPRkJQZT5YSjxmX3JMKChmRUooK0p1bzBKRVZLcDRqRShme1RN KitIbW5CPG4lUg0KPiBFQHcNCj4gejMrSWpYQnorcmN7c21+c0A/KTY/PEVOTnNybDJxX1JpbGsm X3VabWskcVJPcCFUdk4oVTx0YE0+X3lOfG5IDQo+IENLdg0KPiB6Z3clX1c9RHM5NSVacF5VMjdS QlAjNlRNdjMjITdQdFo/QnMzaEYjT1RAMylZez9oR25vZDdxMnAmaGANCj4gMjRpRXtDDQo+IHpQ Znh+Z3ZjalZ5cWoyTypofmFlUkJxX3IrXmluMD5ITzhCdGZOJlh1Y2F0Zkdje0lnTSVUej5ma1Qx S3ppRW5WDQo+IHoNCj4gemBeRF5yVEcyWWEqbW9HWFlsP1MqQHIpMDViTWdJJnkmVXokK3J0LQ0K PiBneERSUiVfd3lPWHpSbUsoeStxVmVRYUUzdg0KPiB6bXJUN0R6TmQ9M3ZpcjtgKmltQyZeUCVO OHtCdEg8MyhsZ00/aUNEO21PSSFOQm82VFBrVGg9bVRtMGImNg0KPiBiO2hVDQo+IHohUzBOYmVx QzZZMmgrUmw7Ynp9LQ0KPiBUYUxEYkk1aDdhOzBue24hdCp4VjEhNVpTKl9+bW1LUyRWa1lZJXxX SGhgT3gNCj4gei10ZitLMSgzY2BiIWhHejswNSpiLT0+R31hNCgpM3JzYVdeNFpuWXFvPH43P0Er KVVqQil0JWVeMHQ2XkdKZH5sDQo+IHpaYTRNY1lvRXFAKU0rJGR3cFZBb09VPmtqRWl3KH1xJFMw TmJZSSQtDQo+IGBmJVA4cV9ObjEpY3Rxem1HV1N0RXs7aXoNCj4gekFJVHI8SDk5NW5kTVNNMXpj UFNqPD5vYnorPEZ7U258cVQoZlAtDQo+IDNrKTNHJjdKeHJaNkxUeHRvVUl4MFg0V3FZZA0KPiB6 O1kpSih2bGdFOVpKOXImU3UqYHhrfXZ5YDhHQU4rP0BIUllOLUNlaTxEQyp0MDArU2NoQndIaSg/ cGM3bHlmcSkNCj4gemNsSEdsdUc/QCNQbE0yZiN9VWleaU0jSVJtUG5XdDY2dmx3KF5HfTVtc3Uj bWB9OW5vNCUwYi0NCj4gP3tvYUo4Xyg0dg0KPiB6PjNHOVZgckdwX0clZUZraFdJIU8yP0hLdWZN PDN0JUhBYn5eWHZ7PEhxaFFRM3VVVWd0ZitFR1hADQo+IF5vTm5kXjFgDQo+IHpaQERUeVBmU3dt eUktDQo+IHMhX1JXJmFKcWIzb2x2PF5YZU5HX3IhPkw0KXJadSpBX1hKUTxGWXszO0hGJCQ0VUZN LW8NCj4gemlQb3IrSWhufVpCMCZRXzMqQFROTTVhUnxRJEomSDhTSDw8aUIyZShhPGZQemZ8YE1u O2w5MnFUQmVQTXQNCj4gQDBRZA0KPiB6WXolOCtUOVhMYTM1OVBOVnF+ZFF4NGJNbURMRWJmZ0I/ JGU0d2NRejs3Q0JqblRfQ0tRbHBUa1BsV14+DQo+IGRCc1VEDQo+IHpDTEsxdGZoRXxZUEUlPlkh YXpaO3Y1KyYwaGVTd1dAQ3lWTFowZTB2WUdqLQ0KPiBtcF5UVDx7ITVsaiFoVnUqT0w+Xl4NCj4g eldGaVVSdEJ+QV42ZDgjflBLYm5DWDBYbzwjbHRvKmFJaD5JNiFDKXoxNkRwdXgoUEtSRE4oSGc4 d2QjckRYDQo+IEtXRQ0KPiB6Y1BSeUlIKmc+X2E0Xyh9Pk5ZaTI4eU4qIWRgKVl2QVJGXkFRMEt2 K3B9cl92UGFoSllpX3lYc0tVX0ZOXkJGKQ0KPiBaDQo+IHpCJU9qfWg9fmooY142cXxsVzt8ZiZ4 Q0h1dWVwM3ZSZDY1Pm5JTUNjN144PzFCYT1aNlFycjN6Nkg9SFc4DQo+IE5qal4NCj4genc5Z2Bv S3E2OD0/dldaTWEqJktrPEsqcDk4NV5sZiY9eEltV0JSbnBpaSojZUg/b0syIWdCP3oxbXdADQo+ IEcmK15XUw0KPiB6eyVFUShEVkJ2diNrSyk7bUtzSENBM1k7QE9UZ3pMVkNaVyFLcX47YnllRHlT PX1CNmBiNExKTWZjNjBHMA0KPiA3ajM3DQo+IHpGcyVTJTlEdU9eWkQyVT0wMnJkY3k5RDlgbUlI MUgmPUo3YXI1JnNiQVBzeSpmZEFUcXFhQ0ZZbDliR2I0DQo+IFI4YHsNCj4genJfQ1VLUGs/Nk5t UDB9PWtTSzRAdkBLKH1ATmdYKjUyKWhRdT15Vno0clc2QDlCXmU0b3xDbmpFPjNgDQo+ID42RXMr NA0KPiB6OGE2Z0VNYXZ4RjtvNWk9KSl4QE0hJjlefDEhMG1TKFZMfFd3alFIbEghVTBvdWI0TEk3 dGAzNjM8M3hPQEINCj4gblpJDQo+IHo9bH4hQ3MxSHlUZkI7bWY7eks7QGA7cztRKSZTNHlgSH45 JnVOd0sxVCE4cFpLSTk/YmB2QThBdF4tXkt4Qnpleg0KPiB6OzFJeG1mTlRIKnp6JT98MEdqfGQw SVVPODFDUi0NCj4gQDN9NnchZTFIc3FuRStEKENJUlJITWd5YilYYVNNfDUmK0A+DQo+IHpWZ01v bDFfQVR+Mm43Zk5AQm5aSXVtQC0NCj4gWFAhKWd4SnAyckoxSzBwQzZDZVM9NTE8VnxSZTx7cWZw MzZKZkpwI2ENCj4gemZNa0dwZlBNZkAwMzg1aTA5RjljOG87Pip6eV5SeDBEfVBSMGp2UlhMMXNx Kkc2QSN6e1F5dj0/dFBkPl8zDQo+IHFzWA0KPiB6cD19ckgxV3A5O1ZBZDkhSWtxYn15b0J6clJv VylRYWNDbHBwQmhgejhValp8cyp9e3xpQWxOPzhONVQzYUhKU2INCj4gejJoPDRnV3wwZlcjNSN7 QyFhRnJkTWMzZzBWYSRSbHRscl9BUmM3T0VCTz9RfkBqQ1VlIU40SiZScFU3KjsNCj4gfkF7Zg0K PiB6WHlKe2lpfiVRSDBacylMRE0xPnhGZyQ8Wjh1T0gxIUM+N2JRa0Y9czdNcU1LR0VgdXZnanFv V2s0MSR5OQ0KPiBXa1d7DQo+IHprZUImKlZIe1FwNjImbClGKzxfKEdEJE5Fbz5Ld2kqbFBOJE9h bUE2T01vI1Q8MXd3XzxfMClXS0lvDQo+IFU0MVUxMnENCj4gemJWJiFmRzlme2dvVDVyYEFzeWBP PzBgJjZ5YS0NCj4gTStsMTlMTSMzVH1COW0ydWU0NyNgcz9pV1o7Z29GazMzSkJ+UQ0KPiB6MFIz fUI3Ymg5JFkoe25LO2pwST11Mk8zcTlHeCtKYGJAX0dAYXFLWWNTYEhSRm9jSyN7WiR3KUNKOERF NGklDQo+IHxvDQo+IHpDVUM8eStpKUEyeHNlWEJObEg4JUlLd2skZ01MYzVBdW1JQjU+Uzx6U1pH ZUAxYX54QHB3VmFrI0FZZQ0KPiBUS2tXVEwNCj4genMwZTV3WSo3LU9xNjRgPjNnOFJuIzV+eyRe RlIrO2V0M3tYTGo0anstDQo+IE1jNU4pSHVaOV8hXkR3TlN4QCZOIXgqaA0KPiB6akVWKUJrQWJ1 eEBGPC0NCj4gM0skenJUeSRjfEJ1USMjVT1TfVBaYXNqT05keV5tbCopUUhDMHc0b0djRUZuYDAz clpuDQo+IHpmYENib2pEejBmSSlNRWxaP0p+LS1+U1pyVlo4PEd0ZzRWaWFFTTM5dDZTPXNyREpt WlIpIyN4JTFofDl4ZzdZeg0KPiB6b3x9SnFDey0NCj4gP292c3dQNlFWOzVAUWc/RDM8bUsqWm1t R3RlV0cyN01LZn5Bbz5wSk9JOFhqN0orYUFEPWAodjA9DQo+IHpKVX5BREBLRkpQQCFrUFZga0Io PWQwZURuKyUlSylyMHxHaWNFY0VLNXExckBIKmkwc09GekB9UDIoVVBgDQo+IDdxNUINCj4gentx enR3KkNjSCQ4JGxUWU5NKnc/TVV+QW85ITZVUjtwN2xjYGU5bXI7Tz1MVjdLU00qRXpAYHktDQo+ IHZIc0pueHV2Ng0KPiB6QGtRV1hYT1NMO3FkV3VNd0N0dkZGfT0qNHJBZCZrNDYpaSVqQFVtZ04w TXtQaypPeXRrUjFUYDBxDQo+IFc7ZUFQUnRaDQo+IHpmRTU3dnZvR2FWQjB2Kl57fntwMGteb0hh MTgtDQo+IHg4SUZ7VD9ZcWA8dkJ6S01sZVIrZFYoQFdXWW5xSVNgSW8mZTwNCj4gemZsbFcxWT5X SlR5UERJX1NrTT1BYCF3Q0xgPXt4THsoPklVISN3XmBpfk4mNCZGUGw+SFMrIzZlVWgmXmVaDQo+ IE5LZQ0KPiB6RUIoI3NtaHk0elpCRX42NSZ2bCliTlZfOWB0SEh6YmokaWI5Y3haRXQtDQo+IGtA byt+RHErSWVuUSRgVUB3VShAb3txDQo+IHpjYXxJWjA+SEY9OGNnRUgleXVJfjBYe31nbyNSR0Ux RE1oKzwoSVM3b05tZkwjQGxXJXIoNEVQLQ0KPiBmSz5gdGx6ISsNCj4geiZGUGwldDlIenNlIS0t Q25FeiVBeH5ZN1N6VGt7YGU5UWQ1SWNyWTBZIytLeT01KSpTJjs0ZGp4OChvQjx4a1VQDQo+IHoq VWFnYj1gWCF1UFBhX3xfcSpuRk9aamdzPnlCYjU3ezUmMDJsfkhpWGltM218MGB0WGJXOHNIbzE0 PSZTPQ0KPiA3KEYNCj4gem1nYU96YFFMVW1yKDM0Sy0tRlNTKk07eWJqa0F7WjFUelQ/UWI0eVhY T3F2KD42WXp5Uy0oJXluLQ0KPiAyT2t7WSNaTw0KPiB6LUxqc1JZZD1rMmtZLQ0KPiBNfDxuTm5O PTUkTHJDZUpkOz03N253cjk2RXlqTnlKVmRBNXtpPkJaKnhTKz1XUU9XZ0BuDQo+IHpiLQ0KPiB3 PERIP2VfemR6QG96P08+ZFgoOH1RZEF4KXxgT1MjMURWZmtSdDlgRyFNaSFvX08qVERZezQ9MiQj bjl3bw0KPiBxDQo+IHpgM34jXk59XmxsKTI1PzItRXRnSmp7N3dJdF85dClwSipuVSRHNUI+R1Iy JjMkKUQ+b2JHbHt5WFJZdnteND9AMw0KPiB6Py0NCj4gcTd7VSozeTBuJilGRmh1ZlB6TzwlcClx bzl0ZVo4MUp1bVNANkdNJXFyM1hVbGVeKnVuQ3tJXyQ5Ql8qew0KPiArcQ0KPiB6T1o5MFBAQUAk b19CTCteUS01U0AwNGU7bi0NCj4gO0hWTTkoV0tiK357JVU7cCNtemhNV0d4JG55QDlfTzxpMTJS UkxaDQo+IHpLUGkzN2BtSSZkKH5ORmVlO2FGPyg9R2QoYjNKcHFyOThpQ1V7MUhwZV5vPHN4fjA2 Vjw+cXV0ez5DVTY5U2gNCj4gTT8NCj4gekBHS34mV2pZZiomQ3t7dWJGLUhALUlDODQtDQo+IFhF dkdfVnB6QjBRZjZQJk9kKGNOcXp6X3JKTHM4RCMoKXYwSCQ9eQ0KPiB6YV9XTjM+NllhP3Bmc21q QH5fIXlQUGFeZCZvKjxxV2opYCZePVckZDJqK0NzQD9wOTk9N0VnaGNpbShoDQo+ID0tfkwqDQo+ IHo8QUNMUlZFaF57bnZQWURhczFZUEF8MT4tDQo+IDZZalgrWnhlKG80Y0d3cTAqezAxYXJffX5o O2RJS214cV91PEVBdTQNCj4gekR7bC0NCj4gfFB8dWUyQFAwNEw+bG9sbTA4KUYlPG1wVDlgQGdW bzVCN1ZKN1hYc0tzb2VWZj5PfT90bkM1M25TSGhqMQ0KPiB6VkYwRmQoe1p1KDVpaW1OO0E4WTJD JXVSZHp7bHQhKDJqbkJFPFhpVWVFfmlle305bTUwd2B6Kl9Gd2ZndHAzbT8NCj4geiR5RmxiYHhj PnZsUGBUWVZfaUFIR3h+VnxIdk9SPXspJj5AaH0mTXxUTDRUeSFsYSFudnEqIWIhMTkjUnZGdGE4 DQo+IHorbkx3NXNyKWcxNF9rQShXcVpBMVhIS19ffEVReG0tDQo+IExnSTFhV0pQXyMkViVUUEVX SUZYQT9Tb254NXo2UDM0cWYNCj4gekJCJVlHJjFHI1dyfXx3Z05seDtPME1GTWU2dTM8dmE9S09g bWpOQ0VkO3FYXnUwJmJASTBDbzwxTw0KPiB2blpxeWtJPQ0KPiB6U09UeUc7NHJ7dGZFTklqeUh6 NU0wTk1kNDBRdncjMGNaZ3gwVzFSODBCe0s0RjJEPGJeNCUrdVNeJXY4DQo+ID47U3Z+DQo+IHpo NSNmME9haG4+dW9fP15LbyZwX3opZ1RoME9mbUJCNlJgbTBLNVB+MFVgakAwRndZXzFGUWhwMCsw PQ0KPiBHNCZYaygNCj4gejgtDQo+IFZLYU5+OF5kR2U3YDlKYilmeDNCWG8+eSNQND9talFrVURC QmFfMDVrKz4xPmcrZTBuaTVeN0M7THk5VXYyNg0KPiB6MUhka1QhdkwyNmFzbGVRUjNhUyE8Tigw e0BjPzUxRzV9VHNZeX4oRGExfGdJcGZ1RH5FZFV6O0NqYyppZWdOP1INCj4gelYqJXleO0lCYWBG T0BvbW5xNFAkXmY+Xkk3U1AoTkRgYHlLVU1mdXJfYU0ocGZ6Q255cSE/WC0NCj4gNWB6VDVzUmtJ IQ0KPiB6bl8wRm1lQUF8TWhaRmd2MW5AWUlwXiVRfXtHPi18YURgfU5lQmlTPC0NCj4gMHtBUFI2 alR2XlZEY2lQM2RKQ1Q5PVJ6DQo+IHo2c2U4SjZrUTN+Zz89N3pXST5afkNFMV97MXJNZWZVJXlK fXlLM1J8RWxMTXAweiNhTlYyMilkI29kN3dfPA0KPiAkJEANCj4gejQ5Yz09a0I+fEhESS0mcmg1 VkIrNn1hXlBodllHNmxoJjA0UWNrSCtyJSlCfWt3Vko9UHZtNTItDQo+IHhMcEpscjljRg0KPiB6 dUxePWdLUjdCVTFJaCRQcyMyN20jdFc4UGZsQ1BFMjZxP1dpPlElaGA+SkE7P3kjPk9uJmMwc3Vx d0I3dA0KPiAmJWg+DQo+IHpRfTcmYEJuMlFwbH0mJlJgdmojTCR7fEI4ZjszNmR0fSF1PzY8b0df UXJhJm01X3A3PCZOUyV8IW5TTkVkPnMNCj4gYmcNCj4genEtbThIailxeEpPUVh9az1VeX4yZGIq U2lRLQ0KPiBlS1NrYXxvM21yeGBTNStRWlVoSmcwU2tDRTR4TXRnVUM7R2gkWg0KPiB6ZnVQUmR0 QyRxR3xGNkFrZnNkKj5eQjBNZlgwQFdWd0xhRWYmQDctDQo+ICNOSjhXZCR1T0JBcWpgfUAwQ3tZ aldGfTtFDQo+IHpHN35iSEJ2NGZGd1lFTjU2X3N8PzNQb15QWXBiaVo0XzIqSnROVE54KW17Qmp3 WHxaXyo0QVFtVGRqfW18DQo+IDk+OSQNCj4gekZgM0RXTkZQNWhkXnZhU0o/QV4kYE9iSUZgT2JI fmI4YXxONTJ1V31FfklXNyVVaU8/RnkzWChRWUteLQ0KPiBMbjA+VA0KPiB6aDJsfTFCSj1QT0xE bVZAaTckdm9me0IoKztibmprKzQmcXQmKjxsUVdCaFFrKDFxR0w3Qm5pVUBfe2BQZQ0KPiBXJnJa DQo+IHpsT00+PFg5KVJLMChPbSpNblQtDQo+IEF2V3xzWmBzeGhoTSNwY0U0QztUKkpRJWw1RX4q JkRePChTMTsqRShPR3o7VEYNCj4gekMzbCZeXkFCU0pTUlJYZUozMl9PKlZ5VWNlZyhGeShKT15E XnwmYTN0UUZfOyghN1J2M1R5KzFhcHB9NGV8aA0KPiBQPQ0KPiB6WVp6em85d2Y7KC0qbihANUkh LSVoKylpTm9JcXpaWVckWT85Y301WmUofHctDQo+IFZFNz1BeTZ4PDgjODcrJiVHWmNUDQo+IHpe M1J0e0wlNUFPdmVreSs7THlSTk1aTHghbmJLTCRDfHw9XkBsQ2AhRUpoYHtVJEYoOTBGcHolVEE5 OGYpXmRUDQo+IHUNCj4gel9xTHN5KyphLQ0KPiBVPkBoNWNLWTxtPVdQJVBUQT5tenM9S0spal9r VXJXbE94NDQ8QT5RKEt0NjY0KHA8cntgczZ5fQ0KPiB6PipBTj5pRDdJTnpYVVVsV3FDYGJMeD1j emZoPDlMYlZWYHxiKTJxPkg2LQ0KPiBUNSVgbkVOOEs+ND8mSEkmbj5aQForDQo+IHo8N2EzdXFW QFA3V09lWGVHSHc8NSRWeHRxc1RBfHMmSjFJZiZSTVYldDBTVjZzPktefiRKVkMxST9gUg0KPiBE Y2FhPGQNCj4gekA4fFZAaW44dHlgR213aSRuRTAzSn1QcjwoME0zSGQhS2RnPSRIU34qKFQ5bncx cEYoYCtodnRQRThyRHo/Kw0KPiBESw0KPiB6dXFyNGsqZ0daPVBwOF5nd35OeFB0QHJ9OVZPLSlH N3JlJC0NCj4gMSY4RClBeGxLUUp0cGM2JX1EU3tfaCpzM1cjTCM/DQo+IHpBbFZzJHdARXhJb3pq ZldOfHFKI3o9ZTgpaiUocjBzS3U4P19ZPzRCRkg3bz5yS1ErTU4+MyFPQHN4Wk1zDQo+IGNqWUEN Cj4gemd8VUQmQlFiSTgweyhMTTZKWXpyNW1tbkdhRUYhT0U2KDN8LV5MVWlLUnxxWTdAZFEwSCVu Ti0NCj4gQ2E5bWgjd1MocQ0KPiB6dSF7QEhMWSRZaCNLQDx7SX5kSzw/ZWMzVkApNV9sY0gtDQo+ IHVselpLSDZyXiorXmJwSlBRWUBwI0JlfD9SPTNUT1VDDQo+IHpnZD5WbVE5SCFAI3B6Z3RpPSFZ d2MpS04wfEIyUUAreWlsVyg1UjFnJDVMMndGNmA+JSh6VVV1d0g7enk4DQo+IDEwUmsNCj4gem9e RXJZU3BkME1oMzZQVjQ1MHVObmpBezc2ZCMzKW1yUUg2TFc7fn10MEB6a0BAd35uYE5VVXs1LTYt DQo+IHQ7Yj1oZQ0KPiB6d2IrQD5BKWxXPEMlUDZud3dyTiZhNlhjWnJWXjk4O0hga1l5azxCMVU5 KStlPT8/XihtVWA8JDRZbD9EDQo+IHJlTDduDQo+IHojT2loQ3ZuRCl7bmNGbUglVE1HfTVGejJ4 SiNzV01iKEFtTiFOQ3xfa2ItDQo+ICNSOztaIWcmUkpCdSskYCFYPXJ2PmYNCj4gejx+IWNTQXwh VThiVHk2RHtgI09WVGU1OEZZSFIjV3dFPmxGbWFNWCshSXMrIWY0I3E9c1ZXJDFQKVVhenUNCj4g YmAtOw0KPiB6Kjk1UUtDOT12Q1IzRSE8VCV4S2FWRE1aYT5CVzVwJkxUPn5pJn1tP3ZjRiVrOyE4 Z3E0dH0qSHArJlgNCj4gT1lmazhmDQo+IHpXYjk8RHxDXkhrWWZWcWdvRjdaSE1pIWMkcSZYa3dO JF8/KXNLSDxLLQ0KPiAlPHdJZWMoMytmcG0xP1dHT3lRSXZlM2wNCj4gekFHM1UrYF9uMHpaV3lZ cnVxUmo2SFB+Vn1kQ1Q5dDRoUXsqRDw3K0dtfXwwfkRRMWdLS3tzUmc7LQ0KPiA8UkgkcHh2Jg0K PiB6VEdteHVqNFB9VGBkaEskPXFARmdGWmlTNCRreTNFNS1Rb3FyQHxWYVFhe3ppeXI7YmYwfURL KDZSb2l8SUo4MV4NCj4gekVgQSZsa25BaXByJnRqU1FkNztQODFVSGo2aHNRfkE2LTtvZSFofDQk UnBWMm4oVmxJQExCR1J0IWFiKmJJVmstDQo+IHpxXlAqYWdGbUl5T28wWUBibUVXIWt3Yy0wMFU5 UylBWmBqPkIwQnItDQo+IEQ0TWtCe2RtUz02YkNDTDwyVjw5THMtZ08NCj4gem1yVWFVLQ0KPiBE NWpyKGU5YFRlY3pPMHdePG5zTFdySGpQcipRIz93RCF7PVBxPVVgRyFAPjNVdDJrQ25BP1l5a1gq TQ0KPiB6WkhiREcrZ3UzK0dRdWFlPSRrOSYqVEwoRFlGe3Y3UXV0UyFEPD8wVVl8ZEJRVUE8YkEr bEB5eUFyfkcNCj4gYCUxWXZGDQo+IHpQYiluaE9iVCR8PHB6JWp1MnxAX1J8XmdocE05PEx0VEU+ WXh+V1phVXxOVndTOS0jWCR2OElzLQ0KPiBTRjNJVTYoNmcNCj4gelF0RlExem98UUU4P2RkKlZy U3I2TmlWcTc8XzF0I0NLPCFSKVFYTEhza3l2b3sraTNZN25pPm1NXmQwQzslTA0KPiBVbw0KPiB6 NnhHKCtuUVJ3TjlQT2V8QFM1JEQ9YEAhRzQqcUVyQlpuSWVXUUomVXxIWFBJN0RtX0g7PVE7YS0N Cj4gRERyKng1JndpDQo+IHpOcnkqUHpGV1l1KFhtIXphblVnXzl1Q2RBYHtsNElgJWZFQDw0I3Zx RzcoPkFycVVmZXEkTVIxcWRCJWl7aw0KPiBHR3gNCj4gejUqI1RfdnFKYzclWXVvUT0rPWRiTWc+ T2wwdXR9T2c2KyUhJT8jVW4mPER8TkkjM31zN0ZpKloyVFlfWSQNCj4gV0c3Mw0KPiB6RHwjamot ZUVfMi0NCj4gUDVReCpvPil0PVFAY3FtVm59S3YoKnJJR2dfWUxDRDg9ZztkTXNXclpFQUhQemg/ TSl4bCVjDQo+IHo2cXpCcmlWa1ZRMDFjdXxYfVBmcFJkPGVqRWFsMSl6b3BRWUx+bWlIO2pDPXBS M0d2fShMT05WU1VkVmY2U0lFUg0KPiB6O1JVLQ0KPiB1RUJmPDk2Mn5KJkJ8Y1B5c31ffVBMV09p K14qOUdmNEErIVM0OH52PTNtSH5BU1c1QVppTHxVKzI7QjlODQo+IHoqJWRtZ0tfWWhJKHUwVWI9 RWtNRi0NCj4gS2ElfDspdExfPW42VV5MTjdkRWRyaiMzSUw4K29NXz51Uz19djN8a1RUKEMNCj4g ek51QVA7cVJYVn5FbVB8LQ0KPiBZb1lLV2c7UChNVz1mND44aXF1bntZfDUpdEY7UFN6eXk2I1lx MUlSbm1oJnZJPU1+NQ0KPiB6RyY5eUpKQ0Y+TzJRc0t+NSskfmdJUFM4T1B9fDhgJWdsJSE0QTBB PVp+PnpPaSsjKGdtd1paTDsrdkMkVTINCj4gV0tZDQo+IHoxUzh2O3R+U0xgKn5WPXw+UTJAfllR UW8mXmptVXxEVi0NCj4geWN6e0R8MEBSQlZQUnM9S0U1cEJXMktgb3tudiNgTWwNCj4gelVkenpn KTJmJXNRTkFGMEd9JG9gUUxubEAzXlZAZGNlMnd7O3tudUVfYSUpVnFXWjghaHk3TyVLMjB3DQo+ IEJjUU5meA0KPiB6bmVBY3BvVF4rSHFUUUczMUVyOCM2MyolfDd8flBhanlgWmRFMFcxe1lSST16 MlVgVyNBZ0p3fXdMenA9KTINCj4gVjB8DQo+IHp5V0pGaXBneVVnJHVXUSU7OFJJT3Z4UCg3V2Ek aWJgRShSMzZnQGtxUSliT2x2KSlAaDRjI2hyNW9YXkdrfQ0KPiAlUl8NCj4gej9fTXBvOF5vbkc3 WXB3USVjSj5mO242cGVQNndHJVF5TDFITDs+Wj1lVDlVMCVKREY7KVJmJmNJI1c0DQo+IG1DaHMl Mg0KPiB6NypRTEhhPG41PVEtdmw5aj1naGAtDQo+IEZCUV9ocXt8NERsI1dCQn1aPUpAVCheViVA X2tqRUNIPlVRe2grdylHZ0FhDQo+IHpsS1Z7SzNHPVZ4dmRhWSRnIVlWTkVwNXBwd2c/SnwhVTFo QGJpSmJZWHBWT0VNNThidl55SE1LTlFADQo+IFJQbUA1VG0NCj4geklGYHhRPUAxIXx4b2F7VEoh R1hqOUUqenE4VDhUV09vZmxzIUUlTU87VD80NSo3czxkUH4jQzVlNUspbXJ6aSsNCj4gWg0KPiB6 S29Kbyo5b1hiOGoyOXE0OG9jYW9VY3t8LT5qJFJMQlhwSURVSXt4dEktLWRQJU9TRkhDPEcpIVMp bmlpNWMlaCUNCj4gejBiNHk8dXV2bmw1fFY0XzR1IX41Kk5MY0lwJWxuayR6M01yJFpVekhDZnc+ QyZeYWB4JCQxYGImS2U/PntySg0KPiBOTg0KPiB6YzcxQVBESkFBbilSPUc9aUUhfE5oPTNoKEwh RmdKWlc9QW80OWwpUjVDfkJ8blNncGVjX25MNmhpZVV+Y2RODQo+IFBsDQo+IHpUKzw5Q0xBU04x Q31wLQ0KPiBgODRLYk0qfkkyZEQxfitMc05DYyM+PW0rZEhTUXRVMUheUjBuJGI7YD17Pk9IWH1V PGANCj4gejViIThydkBuXzNyKnhCcmtoc2RvK05ZZl55Uyt0Q0wkYyFLdnxySj0pKiNJdTlQfXhH YzFUPTlyaDcjODk5IU5HDQo+IHpNP09+aFVfMTQhdkUpUEJ1cEFPWEF4RSNDNmNiQzFRTGFmOHNy R35jWU1kcFheY2NsXlBKelU7R0srdDtqIw0KPiAtdE0NCj4genBINyN4SnpaOWdgbjZWMHY7PTtu KXAmR1dZbmp3P0J9M0YzPnhefkJhKi0NCj4gflNFZjtOcSZ2UmlkTEI5bEAkeCZ1JA0KPiB6M2Qm WWlsP0RkcDIpe1VpP3QwSzw2ZX1xXlhuIzwxST1NJTVATUthUnMtWXhjLQ0KPiBpRDRzOW1DX1dU cCNYdDBnTzU1DQo+IHpaI21BUG0qXkN8eDk7NGVnJjUhTXU7S2BVcVpwPktuVjk/aiMzVDxFZSRH TUlVbmc1eihkRHVLTFc3MA0KPiBFTVdyaXwNCj4genZAR3IlX2dkb1ZofjJeNFN5MmohQjJYZHIt YFZMNEF8cHhmdzRzSkBtUDAzMmY5MDk7Vio0Rz1kYS0NCj4gVDZKbmZCVg0KPiB6VS0NCj4gYVVQ Mk5PR2s3dkx8eSNMS0g3OXY2TV5iUTR5O2JOdUk7NzU7Iz92OHRnZFNSd1hOPTZ0VEEqSHc4TjA9 NA0KPiB6aw0KPiB6UntXdHAkSn56QE93V3czb3xeQHwyMGBeSmpsIysmQ2JVd2pxT3tyPG05Rm5h KXhoc1QzflFZRnJeTGMzDQo+IFI4Qk1DDQo+IHo0T1RWUWAlemFLU0hYOzh2QHJnYkhgPXlyZihn Q2l4ZVdEZVB7eCZYWCF+PCFUPDZAPDhERyhEK09tWjwNCj4gcl8/TnwNCj4gelFlO2RfQXlrQDlv cHp1YEV+bmlveHV7YlJhbipNUD5iZXl0VEY3c2lWIXR1JD4tDQo+IDt7RUs0WSZBWEk9Mzg1MXRh eg0KPiB6aVJYMzxuXiZYQl94JHtvQT9RNkZtfj9VcHN2eHBqVGpGWXhGY1M7QVV3KGQ4allLXn1i djg9ZFRAfiUhXz8NCj4gaGNzDQo+IHo5VntfVGg9eTE/RzR6ZUlvPW44aWI8Qkd5MmN9K1E7M0tg cVJvdiZWKVZWSmVPSEtoOzlfUWtYVVowYChGcncNCj4gTHoNCj4gejxsfXpOdjhDUn4yTlVYfURR S0ZoKXBObEROMU0wUjg5NStDVjdfYWlIJWx2PWZ5NH19RCt3bkhzaDh4JDFGDQo+IGF8fQ0KPiB6 bTcrbmhXVF84UC0NCj4gNTZEKnshUjxOVHtXWjUmckg3TVY9KXNmMCpAUmxzJTtVYihGbDFKckg1 MlhvN1VLaSR9Klo1DQo+IHptJmhvayZrdmtfO04qa0tVeGhXLQ0KPiA4Ql8kYkBLPmtDJTdTRjlE RE8oSDB6Kzs5K19pMngxYX55I3dqWkFsYkFCd0YNCj4gelRWN3FHb31PKT4xfGhnfHZkTlYhRzM1 fDk5NVJMSTB9R01pJTd6YVVDa1RtK1pZYkN+K2hIeT5yLQ0KPiAjaHhPVXl8SA0KPiB6c1klNGBU JShWUXI+MG49U0FDKDZHb1E/Kl89NDFgMXtgfX1nbEF5bWRyPiZ6RFY8IyReXl9KaiYtDQo+IEJi V0Q+fmEjDQo+IHpUciNWKnZ9TWxoKHBqX1NtPD5VMU98OTkwIV5EJUFeVjBlKD5pPHlFTXgmK0N2 dTRraz9VXnlCeFlTY3hhDQo+IEBIS3INCj4gem9YRV9tQyg8JmpJV2xXYlkwLT85Ujxta0Z3YiFn Iy0NCj4geVhKZTljakFPbWc0ND9OT09eQVIlQXg4cip1dkA/M3B1VA0KPiB6WDRuJWhvbW9eQW5H PVo9JjdOV1U+VX1keCUqRH0hdWRAWXZ8M3tLV0BFbXAwKHxvNFowcW1qRkYNCj4gKil1R19lZlBP DQo+IHpDSCkrIW8ybU07PE0rQGxRKXBrPXE4cHZmUzwqbl5sP3EkZEI+blJjdnEqTUwrMmFjLQ0K PiA1cjMzSlcrNGJoYDRwYEsNCj4genNtMVd8a2cyaG5EaVc7PFZkV0xwbU9eTndsLQ0KPiByQDs3 KXFTe1ducG8ka2VyVEFAYE5ZWjhiNkl6KHlBdWhEdSREJQ0KPiB6VEBSZCh3Ykw/OUtHQiMpbGFY Qzx7cCF0OCY7NFV0PCtrdzs2NXJYcko3eFEzKTZkJWVHdjlNTSQ9PSREQg0KPiBRXisqDQo+IHol PWExeHtlRHpnbUZXVTJNXkl7JWFnfXBkd2JvMDhSfUZQIW5ZTGU5eXlIOTxZYWBsbHQ9fGojVE1X a1huDQo+IHI8eUINCj4gej5fMWhXdkoqeXFWJilSMk8tYElmQn5FNEdCISR4KmpZdGl3dUMmbHg7 TGZQWWw0bDFBWnpDZHZCflVJc01zdXlhDQo+IHpwQDl5S2orJDsmPVlqfjhXfnM4XlNzYnVVKUhI dVdydytqRkstDQo+IGtoeUt5ZzVnQEQpUDJHT1ZtPk56fHJnKVhHJk8NCj4gejRhSm1nJX0zY3F4 bzhDKz03RiEyMSs7SVcyPUtRYVBjU1ZxPmJ3byZ4RFFTa2BIbGJgNT97UyZmajVRZkdWDQo+IG9D YQ0KPiB6eE8yZjZ0ZnQjSWtCUlhNUXVELQ0KPiByKyMzMClhZyVFPlAqQ0E5MGMpamxTKSpCbWIw QHUkJk91a31RYlNFNk9wNn15DQo+IHpTSzk+amxBbGBCZ3k3WEFMdiooWVU/eSZgVCtaTDQ+MVNn MyVNX1p2YUR1e1ViPmVjbUItDQo+IFV2O0xSZjlWWUlIUT8NCj4gelRDRU58YnVQaThhQiNlVVpR UVlydUg7NWYoYlVxbiNPPVZaPW01ajlEdzl8enljZVZxTDBGfWY2TTsmTmcNCj4gKkZeTA0KPiB6 Q2BfNGNROFkwJmRGdjFzeVdKPzklMnZUaFBUUkoqbyhwVXM4SE5Vd0coWGVALQ0KPiAoYFdTcDNX PVU/KFRUckN9JnBzDQo+IHpqVnNNaz5HNj5Eb2wzVnZiTyQ8eTspfnJVK2JjJFBZWStsZ3ZsSl56 Zj88UD1Ab0Z7TyNwOGJZSVFvNz42aVlTDQo+IH4NCj4gejwkTkRMTkNKblZiWD4/SXJWMTJualdI c2YzeHUrMSY3YVVIIzBpa0BjXkR9RD85NjlnTnwhe3VUZlh6KjxzDQo+IEJEKQ0KPiB6YyVoPCF0 SVNxSWNSNV5QP0lVRl9aVlpCKylMaGU4aWRsQ2p5eHNWSFJHeDFzSkBwTG57UlltJiEjTUxlRCEk ew0KPiA4DQo+IHomM0JMSWUpY35QKzk3TWBjZH5UblNoPlN0VCFQUVRyRlhkVHoxbFI+RSk5VUsh bWNLPTkhQSt+enoyU05RVHENCj4gYnMNCj4gekY4ND5wJikjV28/ZlN5enVsY3JhRUlodkVNP0tk TW1rJGw3VzBxaE1PMlg1JkJSTlY+eVdPYk55RQ0KPiBXPU1ebzIwSw0KPiB6XkBXdT1ZeXB6S3ZV MjUlRV5UYEp7aX5MamtASWxxQC0NCj4geTswaFN4cj8qd001a0AkRVlRYjtyIzxeVVpOemN5R0Eh DQo+IHpSMUdRTkgmUTRxXjFBP29OIUJSI0RTd0J1SDlHdHB4fTEkcGUjNFd3MCElSnBMdDFXUGZX UjEtDQo+IGp6XzJfaWI8Kz0NCj4geklrZChzRV9HMDZFVyV8QHBLaktRUlNwd0pzJCFjVFIwcXMz RVdNak1ZR3s4fCo3ZGBkMkRZcl85UDN5bg0KPiA4T35OPQ0KPiB6QHl2TDl4a1UlSTYyZ09McDs8 aFdHZ2tNNiM2azk3OVp5KDNRPFlES3YoO309SzBjeWRTdip0eTJOZkJzNHoNCj4gKVhfDQo+IHo8 KTRWczMjVl9QZ0slWDtzMzVUQU5+eGR7SlVsI2RWYUF6MGghdW9ScVlrNFN6dXNpKUdvKkVqITR0 ens7JXk3UQ0KPiB6T2hMXj9rTGRiYUdXQCFmez9kO1JELUBrV04oMC14LQ0KPiBtWW8jPFdYfmgq dWE0VHJQdHolNSghVVoyPkhYaSYyaTcpDQo+IHomZ2JzbU9xWilIOUhacW8kVF8wKE9RQWZrLQ0K PiA5MiphYV49IWdhXldWUXZnNk94WT0rKn48alBCOUFaQzgkZn5UI14NCj4gel5YQ1ZuLXBJKXQo d2BlSWBKfl5ESlAoYmJLaSRNe0tPSFFHO3EhJn57bXxXRnNQalk1JEIpJWxgSVVlYStEYzR9DQo+ IHo8UmhoZGMreGo7e21GTDZGSEJMa2AlQnxVWHs/NXZiJTF+VU9JP04xcjt5aVJuMUA0bXd0TlEx UHgpUXV0Ow0KPiBZd0wNCj4gejdSelpOe05RTnxnTz9zWT5PPD4xP09MPzQxP2JfQUJWc1goM1I0 UlZDcGUwbm8pbVVPSW5UKUBYS3A/DQo+IFJRMiQoYw0KPiB6OWh9Qm9ffW5ydXl0Yy0NCj4gMj4l SmUoZWVMMkwxMV9QJUo0QVpHVnp7VF8mPm1rPndyNmFMVForVlJMekBYX3g2fE5YDQo+IHopK0hu OE1IcHl9UCF6OyRCWD5PPk4qTlVXKWcpNEFENzFSYFRWdlRNcj42JDJRJkBYZSNpUHh7RT1FQn0N Cj4gdFQ+NXoNCj4gemRPXnxiVUp1dmFecSYlVjhJPHNzeXZZbmokK0h6WVNHfkV7PH4wWkd2Mm5P I2grRDNSJnBsY1ZDU2tlZ3sNCj4gMWA3Kw0KPiB6WEx6T3BeXighPUEzdyhYRkBLI3BeV2wqUGNr ZVNnZU0ycUFgS30+cUdgWXV1ISZDbHw9P1NefCRkQ0k2ZCgNCj4gUCpzDQo+IHp6ZUNxPS0NCj4g MXRVc1QkX2xRPUBkKVBPK3lwcUVPYjZWZWp6YmVUfXlwNzFoMntAPFVNTXpCfms5JWtXemthSG4o aXwNCj4gem15P21uQUBMazhlYnA7UXkpZUdhSENRaVU+NX0lRTU1QUhHVWplYmBxI2E7YChyck1A KGV2fFJXRCtWDQo+IGgpJjtSSA0KPiB6bDhmZ1BGQEx+R2QtDQo+ICRUNUFMcENZOD9edl98NGQ3 UnRVZFZlUWFjQUtwXk8zXyhRYHB7eFhLKilPUz1lQCk2fXhTDQo+IHpSUUU4V1NAJHJAU29oTDIh PUVDSmVCLQ0KPiBfK0szIWFwY0YxS1Z6Qyt+fiRgP3ZFY2c0RW1AO2ZOX0V5e2hVYz1OUyENCj4g ek5SQGRkUnYySjRUOCZ+S0dSKl93KjhaRWNUX1VTUCZ1Y1Zye0RwWW9ebEtlV2V0QCtfNWQ2a08z encNCj4gIyY1IUZ0TA0KPiB6QHl3XjZ7SEBCNV42ZUl+R3MtLXhoTm5lNHpFLQ0KPiBuOV85KiU2 QyN1N317aG8hb3FHQyhGRTFufVFkWjIhM14pcUskDQo+IHp7bWh2IWRhUW5GXilxSyR7bWh3R19I ZH18NDcjMXFvajkhTGRNI243X1Z+WTUqPlUtDQo+IG1zfEE8UWxwIzQqX1RRUmUNCj4gejdMPHk4 OCtATytnQFJpKjI2YF9vYFNrVHkzcTxKZUxla35qUCVlT0k9PCtqM2l7dEEkK1ZFYUttKi0NCj4g RTRaNExNPQ0KPiB6cVd4VClkfSUrbjs+JHpPPXkrcz94VnNkbjQ0JmQ+M0loKU1ZUEZINlBKYzJD Pzs4YEE2UGJiMjdFT2hOTw0KPiBIVzJODQo+IHpkXlBhJnA+eFlScSpYXnBERDBxNXhQSWNDSDJE UUVxWlhEYmMhX0JARCZhcjVHI085QnJpSFUtDQo+IElAMjlFdHhOcTUNCj4geiEyS1MrTl5yRF8j S05SbyteOW9rJGI5QS1wd1NIWFVnNUQxLQ0KPiA+TzZtOSQwK0dKVVU8fGdyeXhld3J+Zkloe0xg dg0KPiB6OSo5UXc2R1JjfFZNWEspVWMoI2IrOGo+cSg3JjU7eCgxI0hlYnNmRVJ9RnklPnoqWV93 IW9XOW0yfmZ5YQ0KPiBKRG54DQo+IHpBWWxBZV98X1g+S0E7az8zZVgxVjF6WmktMD1OX0tVQkRp fGktDQo+IDZZdlp2Km5LI3k4PnNDU1YkMUhsUEFmMlJJTVYNCj4gejJJdkI4MW8pcn14OG9tSXJK Y1Nrb3pUIT8jKEhTVClZaG1lcl5Ffn5BIzc5OV9EIXZPcVMlUjRMezx6RDdkMWINCj4gNg0KPiB6 Jj9LOyk8aTs+R1QwKT9PdDVxJH4rbFBtMUlJRk1PWCElUjBtISk7cSVNfGR1NjVrbEY3a2swdipN ZCN4K3QNCj4gTTtrDQo+IHpFMjVqaiszU2NrJWRnT0x7ZVpRZG5mXj5YRXpZUnhgM2Jadk5JRE5u NSNPczZ6ais0NCFWJjUwNSs4UnJHa3I7DQo+IDkNCj4genk4MlRaO1lPZzYkWHh6YGpBMT8/KXtL d0ZjeT1eP2lfbWZaUVBka31vOCRfMlQmK1BuRiEzYyQmTlhgaF9QPGcNCj4gdw0KPiB6YF8laWhJ MT9yQl8xZnJBPiNrT2BqV3djdWFGeCN+YkkhVilueG5ucHY3bVA3XnkoSnVyZ3deSD9AcDswajR+ LQ0KPiBEDQo+IHpMIW5YZnZrXkxlNFpjaVdCbHg2ZWdxQEpaVEM3UkMlVDI1eyZ4PUtoMXk7fEt0 PEcmZVdhaV9QWmc+QU5hNA0KPiB5LX4NCj4gelBXR05yX2x0VSFKYlQmQCs5QHM1K353SW5NZk5v MG94NFBDRVY7UnE5cDQkfkwhREdlREByZmdKMCZ8Ow0KPiA4ZU04bA0KPiB6SEwxJCgqTzt3dGBu THNsSiFxYENAfjs9OGs9ei0NCj4gbl9yZ303I2RMIStHbVRRVCVOYiZxdFh0MGJoQmJWVllOc0NE DQo+IHpQcj4oZG9xM3peM14wdTxkPnlxMnp9VjlPPFZDTGJjQm99SjEycHVmeiR4TEhuKFRFIUlu VHpBZFNLLQ0KPiBAPDZGXzUNCj4gekJ2KThrcn1TancyWGA0ZXpvdVJaUFVGbUZ3SlcmK2xGfSU4 clk8Izd4VmZrS01MelMmVUg1WUkqWSN8LQ0KPiBsSSZeZA0KPiB6b3ppOHwpanc2WGU1NT5abTZ+ SXJQTG8/dEEmI150eXxnNWZKR3NnKm9WZGZLTCQ5b3BeST49e1h2em9VNW93KA0KPiBRDQo+IHok KDhIIXhsK3A+aih4LQ0KPiB3KnlDOCZvZXR9dSZMZndzZjdKTGpeK1BTUU87MlZEWEVgJXtXU3Bo VUVeaStkVVJ9T2kNCj4gendVYk5VSn1QPVhEIWRhaHZacExyXmthNUdEPzY+d1BOfGM5MWp+SGlo VFZHP3BXaFZSYj9uK3Qxb247Rg0KPiB3KlJxRA0KPiB6ZkFObnF1QmlVa0gre2VWO2BgJVR1UX5K MHpNSHpRc2B8SWZDb2xmUSVHJGJiS1h2bF4jVFZgaC1mO2YqXk56bEMNCj4gekAxO0RzUGtSY3xA dDxCRihUTWJEcHFxZ0dPck15PnFnUkR2QXI3QH1rJXh0KTZhQXUqd2tXcVBWLQ0KPiB1MSVycHYt NA0KPiB6X0RXJSt3Y0t7MjZZe0NyMzE+SztOZ1VZRDtVdlp4OFRzSTI+NTZpNyY8MzZmJm9+XkJL IXJEKnpgPW1ZSDNgDQo+IGgwDQo+IHphVkR5WU4qcylZX3RIPEZ6VEAoWTAhQGVmaDFzJiYmazB1 I2V9JCZmJkkpXnRPYj5SP0I8PH5SJXYwPHQxDQo+IDVRJU0NCj4gejZFV3l0VkpBbm5WbFItDQo+ IEROQV9xfEVAR05uaHtJXiViMFE4dzZIWHQrdXY1ZXFmaml2cUFgVFghUXpTUW5iKmkmRQ0KPiB6 U2h2Q3Q2OFVrVD1jK1JiJnRUcDxxfjl5UWheX1p2Rjs0ZkMxMUVqaTJ6JjIrO0ZQMDNeVnNpdy0N Cj4gWSthUHdyJTw0DQo+IHpJcnB4UTd5VVJ8VW9ldCYxI0VeNU1PJTB6NVYkM0Y5Y3EzcEJ6Kj1D K1liNEM0WislKXJoNHpQez1YP3ArDQo+IH1ESmUNCj4gemxmcT9mdWkkYUMrYHg/SWZtWU4tDQo+ IDd4UTRIYUxifnU3cmJYNGZ1Jjc+VjNvaCYrJlhfI3B4KkUyKiZUUV9ASD08ag0KPiB6JSlgcE4w UF9xbnc/ZnpwSnA0X1dZcnlEMEZHRjRkajdEKl5ZV153YFo7PkJqWFpwanJaM3VGbHVNXntwP3gN Cj4gUzwtDQo+IHppVVotDQo+IHhfSEhuWSswd1lfOHlhTnwoNkFhJlRGRDE1ZGJXYEdXJGlmQGQo P1FZNzh8JVk8eTdvUlZ0Z1U8IWVASg0KPiArDQo+IHpfaVJBfXl7QkRpV2JiP1F6R3hTWFlWUTt+ UEshb3Z1LTE5Ri1gOFExLQ0KPiBeSU8kNE19T2JuPTtqR2ZlPnB+dGd2WEUNCj4gekBNR28mS3lZ YiRBVzgqNEd4M1IqVmNQXlNyOGg8Ky0NCj4gQCRPaWw8bCV2ZUNSPVZ5eWM+UUlzTTczS1BBZ3lr PkQ/Ug0KPiB6bE5waV5CazV5U3R0d2xedjx3Py0NCj4gZH00M3UrKlBaTFJmUG9uIUY0P1U7UFRo aypWYTJpd1hVcSFteUhWbHFRPUV8DQo+IHp1UzFYQEE7SSNHWkMyNT82YFd9elleaFRVKHFlR05V aUN0SE1EblRxJSs4bmJmdSVIIUphayZkKSVVRA0KPiBKU1pgN2MNCj4gemA4VkFhaV5zYXdOeWtI VmM0LQ0KPiB1ITlFIyNsSzFmKSFHbEFgeSZXYj1mKmooZT58SFBxQWpIN3NsVyNVR09zc3szdg0K PiB6QSZlWC1PbE1CbmFSXit+ZCpvKCRvSSEmOGFrNVEyUDljO08oRXgwRiNkQldOWVN+Qm1zez1o X20mLQ0KPiB+cWw9dVBZDQo+IHo9ZGBvWSpIaG1JcCYhWHpnREJiJV4zPl8xWip2bEs0TF9hUkdl Y3ZuIXlKZWB3d3dXU3k9YmBmWGlSXi0NCj4gV3kpMmoNCj4genY/e2x0PGtHU1l4JjM1NWBUPjJN cFlTVz9oPnNKRnhXdkZ1RCRydmcrK3xNRSRKQXo9VU1xZztjYXk5Pk0NCj4gSUMybg0KPiB6Xl8z JihCTXR7JHglZ3p1ek9MKGAkY1dSTEMqfHQyVmFhOyNKVG1LekdQQEdFcjxzTzllVHUtDQo+IGRv N2dZcUE+PnQhDQo+IHp5NUA9cD1mMWlXU30oQjZtbzFqb0lQQEhIVXxpV1NXTi0NCj4gUFNnTGYj Y3hfP2UxRH14e1dZdDNTdiRXfl59K2lkVWINCj4gelVXYDZpSms+NSZFTH5JWHo5bjFpIVNXaiNw TjNEKEsoeXFOSkM9V0ZedkU7K3ZnS2ooUD44cW4jfHdSKDhhcisNCj4gMw0KPiB6ZGJiTUNsI15w biNKfnpPYnA0ZERha2k/Yl9MRGZDQiNAZDxCRXEtDQo+IG1FM1ltI3RfRUJOOzhwWGhAKm11RDt6 SmN5DQo+IHpoVD4qX1N4MihSTk4rS1c2b0EqcFRoRiRfRj1ORTd7ND5GRXVXcFkoPSF9dlhnWU85 K1VtdFR8eEUjb28NCj4gRUI/LWUNCj4gej9aO0libipxR3w/eX4/YmI3UiMjJEMxd2dqcyRRR2F2 YjIzZktMR1U0ZChHRzxUTClKez55aiYwTVBHPG0NCj4gdVZSdQ0KPiB6MTdJRig0dCNiajs1WT8q SmB1cEBYOTQpenRBNntgPz5kQWAhP14oQ2c7YT0tcndSUCRCNHBsbCt+RTZtZkM9YVQNCj4gem9D NHNQRTJOZD5BVXp1YXE8TkRIRkcweG5tamR8eUc2MztoMmJjPURQNXNgQWtvMFdfRnUkRHUjKE14 DQo+IGpga25eeA0KPiB6e3FxMzZ7flZZP3slREBEZTtJP3t7UHdYOUtsdDVDUHZPenVeZmhMWD54 aGhOdGgjaWU+clVfcXpWSjhzIWJeDQo+IHdwDQo+IHptO0hPTj1lZ2VKIWxVQzQ3VjdrVyQ/JiZ9 RH4kdHk3WGktDQo+ICFDYFlfVkpBd0JiRGNGYTBaUzE+UEE9dWQwX3V8Z3kNCj4genpqdH0tK0l4 O0ptKFRrOGp4UFZ4T3k1eWtQVzxESUFLPzZHVWktDQo+IF8mVnZDYD8kS05yPjheP2FLIXVaRmRE dlV7aA0KPiB6Q0hXUUJEez1GMVUqQjFldmB5VCRAMGNoMTZvIUxrPE1ZT2tDbTRCME5rRykxZzIw ZX57VEJQNVVJMl4NCj4gRmV1ZnZADQo+IHpWJT9UWChJPWdia1p0XihuPTNffV5BSXYjRE1HZzBK Y1I2JV9UTi0jZD5ZfD4yLQ0KPiB5ZDJLekpnOzI4MVVlSk8keSYNCj4gejJvS3k/RGYqVigydjVj RFRNJkw4O2NTRV5MSWRHTTFtaWJYM0xYOTEqSDtTcVpiMypOdSZXV1NONE5wDQo+IHVgdmBqeA0K PiB6XzkxTHpoenF5a2FeN3pRazZGKEwtPDBwYExKY2FgJGIhMHhMcmNIXm99Z2pnOHlzMlkhJWo2 Sj1Pc35ASWo+PTcNCj4gel47ZWw3ajU5NXh0IXZ0MT1VKShTUGI1M207IzElMD93O090NmVDPlRN THdMMXl8Xi0NCj4gWF9CbUQ2SE1NbjFAVEpWZw0KPiB6ck9URnx5RiRNSWQtJDdFMVhQcEhERld1 LQ0KPiBMK1B6RHtFZHIzMmx8WExOOTJ2KWoqazFoT1YoWSZldjtSWXBVWklUDQo+IHo5V3ZiWF81 SkpganEtfiZpdHRYdnxLVF9HZVohUW1gfkJWWXA/cC1YIXV5OTktPmMkKDJsMWNUYzN8NXsjO2U8 Mg0KPiB6K2VSeWtgP0J5fnZ7al43MHRJPT16SkswbDhjcUFvLQ0KPiAmZip9ajk7NmNlY3xRKD87 MXcmTUthfUd1VThyJHFDQHdvDQo+IHpuQyMweGlmaFhRP21xY1lmME5Fa1RDZTxwb3lWUU90fjgz P3M1SEwpYCUyQDk/KzE8Qmt3ND16V0xAdw0KPiA1WU5jYFQNCj4gemR2YVZXLQ0KPiAoTWxkSDsm REQzT0w1O2lfZ3M/WntVej9VMz99a0FWbkdzXiUmKTtjcER2TWhIKWhUK3BxZSk8TkcpRw0KPiB6 NCViMSZAYExsI1p9b2g/M2o2diN5dHZ8c2ZOP2dVN1NJUy0NCj4gMFhQclAzV3goYjBvTVg8MFE/ KV5ab3EjNV81dDFpDQo+IHpkPFp5b1lgezFUdW1HP0smPHlBWFRucEYrY20oaWN6JUt5NTAqdVFH NyQqVHIwMEJUTi0NCj4gfnp6cWZHK2BkMFVpWVcNCj4gejU4eVh8ezM4UiNGQFVMbkxPPjBtOEwl RjNFI1BqemUqbTVXezFvczl6X0BYczNzM142MlBefXUxI3w7JDANCj4gXyp9ag0KPiB6MD9ebU5p ezslcnMhRCNaZXJ2N0RmTDdTb2NQYiowbkgqZkdjaWp4UUFNaE9ERXhAcztrMEwrfnBkRnlvJSoN Cj4gREhODQo+IHowWD19NTBRVWkmMV5mWHAwcjkyLQ0KPiBzc1Y4VDwhVHEmT3l1b0s8Mj1BQno7 WndYcGJrKDRyfnUzZGxtZXl6UDV+U2INCj4gejchU3c7Nz1aV1JzeDttS3liVS0NCj4gQV8kfVp5 enlaTDF6Pjl6djBEQSRDMChKeEwxMkZ6d2ZiRD09MEFCJUkzRF5NVw0KPiB6MEtAQHBmS2BBPno8 al9iQSlweyNUeDwobXlUMSU9V3hNejZMRSZPYHYyNzZ0KGBzQnEkaTlRSDwoUXl4ew0KPiBBWG5R DQo+IHpEPWhPYVo0Tzc4eFQrKCpCdllSMWlqPGVULQ0KPiBlPGxlRT8lNGVOcnVOR2M7U153O354 PHxod3ZuWDJOMGYmQEl7MjUNCj4gek0+dTt6UTBUPSkycSl0QTZvajhieENpZ3E2ZHkmJWRII0l9 REpkcjIofCsoZGdwYCNuY3V4SSNHZVEmTFJ9Z1kNCj4gdQ0KPiB6ZD4yQl9tQTUxTzQ4alNCJnBH PW9fe35tV0picUlASHhOPUVlK09tZjlRYDF8NkEtDQo+ID9KYTF6MTsydjArfUFLfmM7DQo+IHpV cW8xZEBIdkRtPGBXM2p3USlqKSNuKzhrPzNYLQ0KPiBkeX1nZl8yX2xpNmF6RyEoZ04rQ2BmIz1N ZHdoYUBZOGliS3ENCj4gejR8RyomOyU3PDB8SUJ4K3FuMj4wT0k0NG5lKXhgUVYtDQo+IGZ1cFlv THokWkU4dis2SFQzUChQPklIcE8zV31JfnU2TA0KPiB6Yl44KEpfJCNqYGp4NSk9Iy0NCj4gR1Bx X3ZOPTdXIT1+UD1vc3QlXnRYQEdfWng1OEA+elh2P3RidEBkN3Q7dGxQNnpXDQo+IHolS05ScSt3 PTZ2azMzc2JaWFVldHsqRSo2e05gaH4jPik0dXstDQo+IEVJMWxkaTJqQCUybH4qV1VFfWpsTkdF ZENrO3MNCj4gei1CJGtZTCRfRF9acXNwSi1nTD9MJHsoOGwtI2ViXjN4Mi0NCj4gJGshUT0za01G PHcqQmhUKXtRVnA1XnpPZD1nMnVebg0KPiB6dUs4MlB7dGIoRXpqVz0oQDgwXn0+bGZgPjtAa1NH P3BPQndWZTBoREh2TG5AbG5FIzdkZ3R5NXVSUWtYcA0KPiBEU005DQo+IHpgUF5IN2RpQHQ/dWZP cGJle3wxfXVsdi1GeUtnYDdtMlUpJmotR0gtDQo+IGRlYXJAP2s2aiZtb0daN15NKk98JmlkfVgN Cj4genpZQTZHZTBCQUwkNXpqfj5iQzF3XnNVfTthSTUpbiF5US04M2pnR1R0NSNnfkxjIWBVeldj S155S2EydnQ7cjg8DQo+IHpkdCZ1Vjh4dkple19ELQ0KPiA9bXlXMUVANm0hWiU0PEJlPWN6c05k YXJFbGc4YipkKFpONk9sJnklJmArNG0oSHokc30NCj4gel4jOTYhXno1fGdpTjlRYSFVSTJmdnV5 NyVyKEwlQTxpJlNBdykyZyRAKlVyYSNsTG1yZjZsdCVefEJjWWJ9dzUNCj4gMA0KPiB6PlZJIzM9 enNwVj8yISpYY3NoTDl1fDBlS3tYcDZEcytHVH1lKVBmM0h+Izkkdmc7b1clfVpCMmJeTD4wYCZR DQo+IFlADQo+IHpZcmVtRWp7bHBkLQ0KPiB0KX1udmVRcHt7Rmw0R0tkKDReKSV2bjw8R0RZKT0k X0RxPDleVW9fV1Q+dXVObjg/Xl9QRjwNCj4genleNkJhJWtLRX5vSTU3fT1IZmZnRDcpfmt0cHwy VEhVIyMqKVZRJGEzKit7aiozZmZsLQ0KPiAqdVo3VD0oYT5DJDRXUA0KPiB6QEQpRk4qWmhmSntL QFB+N1ReM2A8QWRrdHk/RXZGQGg5SyYrQUNNPTcoNElyJWx3TnpAdHY9eFhaQF4NCj4gaj91QG1r DQo+IHp7UGVWK21BbiFCJThFSFZ7Xmh9a20raWFia3sjUmJGWnBITHl+cG1YfDladV80QHtVPTVJ bz9TU3l+JnENCj4gYHtAZWANCj4genpJPC0NCj4gcF9KPzE3PGlodH1kO0hZZntgYmxpJWRWVU1Q fkR9SUszOCoyd0UyVGV6eD1Jbm49ZEB9ZmFtM31LbUY0dQ0KPiBTQD9QNVVMTyRFYSRKYTs4ZiZU fE80XkJgMw0KPiANCj4gbGl0ZXJhbCAwDQo+IEhjbVY/ZDAwMDAxDQo+IA0KPiBkaWZmIC0tZ2l0 DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dl bmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fwc3VsZUFsbC5iYXQNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dlDQo+IG5D YXBzdWxlQWxsLmJhdA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li44ZjU4OTU2NWZhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBu Q2Fwc3VsZUFsbC5iYXQNCj4gQEAgLTAsMCArMSwzNSBAQA0KPiArQFJFTSBAZmlsZQ0KPiArQFJF TSAgIFdpbmRvd3MgYmF0Y2ggZmlsZSB0byBnZW5lcmF0ZSBVRUZJIGNhcHN1bGVzIGZvciBzeXN0 ZW0gZmlybXdhcmUNCj4gYW5kDQo+ICtAUkVNICAgZmlybXdhcmUgZm9yIHNhbXBsZSBkZXZpY2Vz DQo+ICtAUkVNDQo+ICtAUkVNIENvcHlyaWdodCAoYykgMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArQFJFTSBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArQFJFTQ0KPiArDQo+ICtAZWNobyBvZmYNCj4gK3Nl dGxvY2FsDQo+ICtjZCAvZCAlfmRwMA0KPiArDQo+ICtybWRpciAvcyAvcSAlV09SS1NQQUNFJVxC dWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxlcw0KPiArbWtkaXIgJVdPUktTUEFDRSVcQnVp bGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fwc3VsZXMNCj4gK21rZGlyICVXT1JLU1BBQ0UlXEJ1aWxk XFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1bGVzXFNhbXBsZURldmVsb3ANCj4gbWVudA0KPiArbWtk aXIgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fwc3VsZXNcTmV3Q2VydA0K PiArbWtkaXIgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fwc3VsZXNcVGVz dENlcnQNCj4gK2NvcHkgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcREVCVUdf VlMyMDE1eDg2XFg2NFxDYQ0KPiBwc3VsZUFwcC5lZmkgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRi bHREZXZpY2VQa2dcQ2Fwc3VsZXNcU2FtcGxlRGV2DQo+IGVsb3BtZW50XENhcHN1bGVBcHAuZWZp DQo+ICtjb3B5ICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXFJFTEVBU0VfVlMy MDE1eDg2XFg2NFxDDQo+IGFwc3VsZUFwcC5lZmkgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHRE ZXZpY2VQa2dcQ2Fwc3VsZXNcU2FtcGxlRGUNCj4gdmVsb3BtZW50XENhcHN1bGVBcHBSZWxlYXNl LmVmaQ0KPiArY29weSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xERUJVR19W UzIwMTV4ODZcWDY0XENhDQo+IHBzdWxlQXBwLmVmaSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJs dERldmljZVBrZ1xDYXBzdWxlc1xOZXdDZXJ0XEMNCj4gYXBzdWxlQXBwLmVmaQ0KPiArY29weSAl V09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xSRUxFQVNFX1ZTMjAxNXg4NlxYNjRc Qw0KPiBhcHN1bGVBcHAuZWZpICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENh cHN1bGVzXE5ld0NlcnRcDQo+IENhcHN1bGVBcHBSZWxlYXNlLmVmaQ0KPiArY29weSAlV09SS1NQ QUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xERUJVR19WUzIwMTV4ODZcWDY0XENhDQo+IHBz dWxlQXBwLmVmaSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxlc1xU ZXN0Q2VydFxDDQo+IGFwc3VsZUFwcC5lZmkNCj4gK2NvcHkgJVdPUktTUEFDRSVcQnVpbGRcVmx2 MlRibHREZXZpY2VQa2dcUkVMRUFTRV9WUzIwMTV4ODZcWDY0XEMNCj4gYXBzdWxlQXBwLmVmaSAl V09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxlc1xUZXN0Q2VydFwNCj4g Q2Fwc3VsZUFwcFJlbGVhc2UuZWZpDQo+ICsNCj4gK2NhbGwgR2VuQ2Fwc3VsZU1pbm5vd01heC5i YXQNCj4gK2NhbGwgR2VuQ2Fwc3VsZU1pbm5vd01heFJlbGVhc2UuYmF0DQo+ICtjYWxsIEdlbkNh cHN1bGVTYW1wbGVDb2xvci5iYXQgQmx1ZSAgMTQ5ZGE4NTQtN2QxOS00ZmFhLWE5MWUtDQo+IDg2 MmVhMTMyNGJlNg0KPiArY2FsbCBHZW5DYXBzdWxlU2FtcGxlQ29sb3IuYmF0IEdyZWVuIDc5MTc5 YmZkLTcwNGQtNGM5MC05ZTAyLQ0KPiAwYWI4ZDk2OGMxOGENCj4gK2NhbGwgR2VuQ2Fwc3VsZVNh bXBsZUNvbG9yLmJhdCBSZWQgICA3MmUyOTQ1YS0wMGRhLTQ0OGUtOWFhNy0NCj4gMDc1YWQ4NDBm OWQ0DQo+ICsNCj4gK2NhbGwgTHZmc0dlbkNhcHN1bGVNaW5ub3dNYXguYmF0DQo+ICtjYWxsIEx2 ZnNHZW5DYXBzdWxlTWlubm93TWF4UmVsZWFzZS5iYXQNCj4gK2NhbGwgTHZmc0dlbkNhcHN1bGVT YW1wbGVDb2xvci5iYXQgQmx1ZSAgMTQ5ZGE4NTQtN2QxOS00ZmFhLWE5MWUtDQo+IDg2MmVhMTMy NGJlNg0KPiArY2FsbCBMdmZzR2VuQ2Fwc3VsZVNhbXBsZUNvbG9yLmJhdCBHcmVlbiA3OTE3OWJm ZC03MDRkLTRjOTAtOWUwMi0NCj4gMGFiOGQ5NjhjMThhDQo+ICtjYWxsIEx2ZnNHZW5DYXBzdWxl U2FtcGxlQ29sb3IuYmF0IFJlZCAgIDcyZTI5NDVhLTAwZGEtNDQ4ZS05YWE3LQ0KPiAwNzVhZDg0 MGY5ZDQNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvR2UNCj4gbkNhcHN1bGVBbGwuc2gNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJh dGVDYXBzdWxlL0dlDQo+IG5DYXBzdWxlQWxsLnNoDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLjA0MDAyNDU1M2ENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJh dGVDYXBzdWxlL0dlDQo+IG5DYXBzdWxlQWxsLnNoDQo+IEBAIC0wLDAgKzEsMjggQEANCj4gKyMg QGZpbGUNCj4gKyMgICBMaW51eCBzY3JpcHQgZmlsZSB0byBnZW5lcmF0ZSBVRUZJIGNhcHN1bGVz IGZvciBzeXN0ZW0gZmlybXdhcmUgYW5kDQo+ICsjICAgZmlybXdhcmUgZm9yIHNhbXBsZSBkZXZp Y2VzDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArDQo+ICtjZCAkKGRpcm5hbWUgJDApDQo+ ICsNCj4gK3JtIC1SICRXT1JLU1BBQ0UvQnVpbGQvVmx2MlRibHREZXZpY2VQa2cvQ2Fwc3VsZXMN Cj4gK21rZGlyICRXT1JLU1BBQ0UvQnVpbGQvVmx2MlRibHREZXZpY2VQa2cvQ2Fwc3VsZXMNCj4g K21rZGlyDQo+ICRXT1JLU1BBQ0UvQnVpbGQvVmx2MlRibHREZXZpY2VQa2cvQ2Fwc3VsZXMvU2Ft cGxlRGV2ZWxvcG1lbnQNCj4gK21rZGlyICRXT1JLU1BBQ0UvQnVpbGQvVmx2MlRibHREZXZpY2VQ a2cvQ2Fwc3VsZXMvTmV3Q2VydA0KPiArbWtkaXIgJFdPUktTUEFDRS9CdWlsZC9WbHYyVGJsdERl dmljZVBrZy9DYXBzdWxlcy9UZXN0Q2VydA0KPiArY3ANCj4gJFdPUktTUEFDRS9CdWlsZC9WbHYy VGJsdERldmljZVBrZy9ERUJVR19HQ0M0OS9YNjQvQ2Fwc3VsZUFwcC5lZmkNCj4gJFdPUktTUEFD RS9CdWlsZC9WbHYyVGJsdERldmljZVBrZy9DYXBzdWxlcy9TYW1wbGVEZXZlbG9wbWVudC9DYXBz DQo+IHVsZUFwcC5lZmkNCj4gK2NwDQo+ICRXT1JLU1BBQ0UvQnVpbGQvVmx2MlRibHREZXZpY2VQ a2cvUkVMRUFTRV9HQ0M0OS9YNjQvQ2Fwc3VsZUFwcC5lZg0KPiBpDQo+ICRXT1JLU1BBQ0UvQnVp bGQvVmx2MlRibHREZXZpY2VQa2cvQ2Fwc3VsZXMvU2FtcGxlRGV2ZWxvcG1lbnQvQ2Fwcw0KPiB1 bGVBcHBSZWxlYXNlLmVmaQ0KPiArY3ANCj4gJFdPUktTUEFDRS9CdWlsZC9WbHYyVGJsdERldmlj ZVBrZy9ERUJVR19HQ0M0OS9YNjQvQ2Fwc3VsZUFwcC5lZmkNCj4gJFdPUktTUEFDRS9CdWlsZC9W bHYyVGJsdERldmljZVBrZy9DYXBzdWxlcy9OZXdDZXJ0L0NhcHN1bGVBcHAuZWZpDQo+ICtjcA0K PiAkV09SS1NQQUNFL0J1aWxkL1ZsdjJUYmx0RGV2aWNlUGtnL1JFTEVBU0VfR0NDNDkvWDY0L0Nh cHN1bGVBcHAuZWYNCj4gaQ0KPiAkV09SS1NQQUNFL0J1aWxkL1ZsdjJUYmx0RGV2aWNlUGtnL0Nh cHN1bGVzL05ld0NlcnQvQ2Fwc3VsZUFwcFJlbGUNCj4gYXNlLmVmaQ0KPiArY3ANCj4gJFdPUktT UEFDRS9CdWlsZC9WbHYyVGJsdERldmljZVBrZy9ERUJVR19HQ0M0OS9YNjQvQ2Fwc3VsZUFwcC5l ZmkNCj4gJFdPUktTUEFDRS9CdWlsZC9WbHYyVGJsdERldmljZVBrZy9DYXBzdWxlcy9UZXN0Q2Vy dC9DYXBzdWxlQXBwLmVmaQ0KPiArY3ANCj4gJFdPUktTUEFDRS9CdWlsZC9WbHYyVGJsdERldmlj ZVBrZy9SRUxFQVNFX0dDQzQ5L1g2NC9DYXBzdWxlQXBwLmVmDQo+IGkNCj4gJFdPUktTUEFDRS9C dWlsZC9WbHYyVGJsdERldmljZVBrZy9DYXBzdWxlcy9UZXN0Q2VydC9DYXBzdWxlQXBwUmVsZWEN Cj4gc2UuZWZpDQo+ICsNCj4gKy4gR2VuQ2Fwc3VsZU1pbm5vd01heC5zaA0KPiArLiBHZW5DYXBz dWxlTWlubm93TWF4UmVsZWFzZS5zaA0KPiArLiBHZW5DYXBzdWxlU2FtcGxlQ29sb3Iuc2ggQmx1 ZSAgMTQ5REE4NTQtN0QxOS00RkFBLUE5MUUtDQo+IDg2MkVBMTMyNEJFNg0KPiArLiBHZW5DYXBz dWxlU2FtcGxlQ29sb3Iuc2ggR3JlZW4gNzkxNzlCRkQtNzA0RC00QzkwLTlFMDItDQo+IDBBQjhE OTY4QzE4QQ0KPiArLiBHZW5DYXBzdWxlU2FtcGxlQ29sb3Iuc2ggUmVkICAgNzJFMjk0NUEtMDBE QS00NDhFLTlBQTctDQo+IDA3NUFEODQwRjlENA0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9H ZQ0KPiBuQ2Fwc3VsZU1pbm5vd01heC5iYXQNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dlDQo+IG5DYXBzdWxlTWlu bm93TWF4LmJhdA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi42 ZTRhZmQyMDFlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fw c3VsZU1pbm5vd01heC5iYXQNCj4gQEAgLTAsMCArMSwxMzEgQEANCj4gK0BSRU0gQGZpbGUNCj4g K0BSRU0gICBXaW5kb3dzIGJhdGNoIGZpbGUgdG8gZ2VuZXJhdGUgVUVGSSBjYXBzdWxlcyBmb3Ig c3lzdGVtIGZpcm13YXJlDQo+ICtAUkVNDQo+ICtAUkVNIENvcHlyaWdodCAoYykgMjAxOCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArQFJFTSBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArQFJFTQ0KPiArDQo+ICtA ZWNobyBvZmYNCj4gK3NldGxvY2FsDQo+ICsNCj4gK3NldCBGTVBfQ0FQU1VMRV9WRU5ET1I9SW50 ZWwNCj4gK3NldCBGTVBfQ0FQU1VMRV9HVUlEPTQwOTYyNjdCLURBMEEtNDJFQi1CNUVCLUZFRjMx RDIwN0NCNA0KPiArc2V0IEZNUF9DQVBTVUxFX0ZJTEU9TWlubm93TWF4LmNhcA0KPiArc2V0IEZN UF9DQVBTVUxFX1ZFUlNJT049MHgwMDAwMDAwQw0KPiArc2V0IEZNUF9DQVBTVUxFX1NUUklORz0w LjAuMC4xMg0KPiArc2V0IEZNUF9DQVBTVUxFX05BTUU9IkludGVsIE1pbm5vd01heCBERUJVRw0K PiBVRUZJICVGTVBfQ0FQU1VMRV9TVFJJTkclIg0KPiArc2V0IEZNUF9DQVBTVUxFX0xTVj0weDAw MDAwMDAwDQo+ICtzZXQgRk1QX0NBUFNVTEVfS0VZPVNBTVBMRV9ERVZFTE9QTUVOVC5wZngNCj4g K3NldA0KPiBGTVBfQ0FQU1VMRV9QQVlMT0FEPSVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2 aWNlUGtnXERFQlVHDQo+IF9WUzIwMTV4ODZcRlZcVmx2LlJPTQ0KPiArc2V0IFdJTkRPV1NfQ0FQ U1VMRV9LRVk9U0FNUExFX0RFVkVMT1BNRU5ULnBmeA0KPiArDQo+ICtpZiBub3QgZXhpc3QgIiVG TVBfQ0FQU1VMRV9QQVlMT0FEJSIgZXhpdCAvYg0KPiArDQo+ICtpZiBleGlzdCAiJUZNUF9DQVBT VUxFX0tFWSUiICgNCj4gKyAgUkVNDQo+ICsgIFJFTSBTaWduIGNhcHN1bGUgdXNpbmcgc2lnbnRv b2wNCj4gKyAgUkVNDQo+ICsgIGNhbGwgR2VuZXJhdGVDYXBzdWxlIF4NCj4gKyAgICAtLWVuY29k ZSBeDQo+ICsgICAgLXYgXg0KPiArICAgIC0tZ3VpZCAlRk1QX0NBUFNVTEVfR1VJRCUgXg0KPiAr ICAgIC0tZnctdmVyc2lvbiAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiArICAgIC0tbHN2ICVG TVBfQ0FQU1VMRV9MU1YlIF4NCj4gKyAgICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jlc2V0IF4N Cj4gKyAgICAtLWNhcGZsYWcgSW5pdGlhdGVSZXNldCBeDQo+ICsgICAgLS1zaWduaW5nLXRvb2wt cGF0aD0iYzpcUHJvZ3JhbSBGaWxlcyAoeDg2KVxXaW5kb3dzIEtpdHNcOC4xXGJpblx4ODYiIF4N Cj4gKyAgICAtLXBmeC1maWxlICVGTVBfQ0FQU1VMRV9LRVklIF4NCj4gKyAgICAtbyAlRk1QX0NB UFNVTEVfRklMRSUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9QQVlMT0FEJQ0KPiArDQo+ICsNCj4g Y29weSAlRk1QX0NBUFNVTEVfRklMRSUgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQ a2dcQ2Fwcw0KPiB1bGVzXFNhbXBsZURldmVsb3BtZW50DQo+ICsNCj4gKyAgaWYgZXhpc3QgIiVX SU5ET1dTX0NBUFNVTEVfS0VZJSIgKA0KPiArICAgIENyZWF0ZVdpbmRvd3NDYXBzdWxlLnB5IF4N Cj4gKyAgICAgIFVFRkkgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX1NUUklORyUgXg0KPiArICAg ICAgJUZNUF9DQVBTVUxFX0dVSUQlIF4NCj4gKyAgICAgICVGTVBfQ0FQU1VMRV9GSUxFJSBeDQo+ ICsgICAgICAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX1ZF TkRPUiUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX1ZFTkRPUiUgXg0KPiArICAgICAgJUZNUF9D QVBTVUxFX05BTUUlICVXSU5ET1dTX0NBUFNVTEVfS0VZJQ0KPiArDQo+ICsgICAgeGNvcHkgL3Mv ZS92L2kveQ0KPiBXaW5kb3dzQ2Fwc3VsZSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmlj ZVBrZ1xDYXBzdWxlc1xTYW1wbA0KPiBlRGV2ZWxvcG1lbnRcTWlubm93TWF4V2luZG93c0NhcHN1 bGUNCj4gKyAgICBybWRpciAvcyAvcSBXaW5kb3dzQ2Fwc3VsZQ0KPiArICApDQo+ICsgIGVyYXNl ICVGTVBfQ0FQU1VMRV9GSUxFJQ0KPiArKQ0KPiArDQo+ICtpZiBleGlzdCAiTmV3Q2VydC5wZW0i ICgNCj4gKyAgUkVNDQo+ICsgIFJFTSBTaWduIGNhcHN1bGUgdXNpbmcgT3BlblNTTCB3aXRoIGEg bmV3IGNlcnRpZmljYXRlDQo+ICsgIFJFTQ0KPiArICBjYWxsIEdlbmVyYXRlQ2Fwc3VsZSBeDQo+ ICsgICAgLS1lbmNvZGUgXg0KPiArICAgIC12IF4NCj4gKyAgICAtLWd1aWQgJUZNUF9DQVBTVUxF X0dVSUQlIF4NCj4gKyAgICAtLWZ3LXZlcnNpb24gJUZNUF9DQVBTVUxFX1ZFUlNJT04lIF4NCj4g KyAgICAtLWxzdiAlRk1QX0NBUFNVTEVfTFNWJSBeDQo+ICsgICAgLS1jYXBmbGFnIFBlcnNpc3RB Y3Jvc3NSZXNldCBeDQo+ICsgICAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXg0KPiArICAgIC0t c2lnbmVyLXByaXZhdGUtY2VydD1OZXdDZXJ0LnBlbSBeDQo+ICsgICAgLS1vdGhlci1wdWJsaWMt Y2VydD1OZXdTdWIucHViLnBlbSBeDQo+ICsgICAgLS10cnVzdGVkLXB1YmxpYy1jZXJ0PU5ld1Jv b3QucHViLnBlbSBeDQo+ICsgICAgLW8gJUZNUF9DQVBTVUxFX0ZJTEUlIF4NCj4gKyAgICAlRk1Q X0NBUFNVTEVfUEFZTE9BRCUNCj4gKw0KPiArDQo+IGNvcHkgJUZNUF9DQVBTVUxFX0ZJTEUlICVX T1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhcHMNCj4gdWxlc1xOZXdDZXJ0DQo+ ICsNCj4gKyAgaWYgZXhpc3QgIiVXSU5ET1dTX0NBUFNVTEVfS0VZJSIgKA0KPiArICAgIENyZWF0 ZVdpbmRvd3NDYXBzdWxlLnB5IF4NCj4gKyAgICAgIFVFRkkgXg0KPiArICAgICAgJUZNUF9DQVBT VUxFX1NUUklORyUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX0dVSUQlIF4NCj4gKyAgICAgICVG TVBfQ0FQU1VMRV9GSUxFJSBeDQo+ICsgICAgICAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiAr ICAgICAgJUZNUF9DQVBTVUxFX1ZFTkRPUiUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX1ZFTkRP UiUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX05BTUUlICVXSU5ET1dTX0NBUFNVTEVfS0VZJQ0K PiArDQo+ICsgICAgeGNvcHkgL3MvZS92L2kveQ0KPiBXaW5kb3dzQ2Fwc3VsZSAlV09SS1NQQUNF JVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxlc1xOZXdDDQo+IGVydFxNaW5ub3dNYXhX aW5kb3dzQ2Fwc3VsZQ0KPiArICAgIHJtZGlyIC9zIC9xIFdpbmRvd3NDYXBzdWxlDQo+ICsgICkN Cj4gKyAgZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+ICspDQo+ICsNCj4gK1JFTQ0KPiArUkVN IFNpZ24gY2Fwc3VsZSB1c2luZyBPcGVuU1NMIHdpdGggRURLIElJIFRlc3QgQ2VydGlmaWNhdGUN Cj4gK1JFTQ0KPiArY2FsbCBHZW5lcmF0ZUNhcHN1bGUgXg0KPiArICAtLWVuY29kZSBeDQo+ICsg IC12IF4NCj4gKyAgLS1ndWlkICVGTVBfQ0FQU1VMRV9HVUlEJSBeDQo+ICsgIC0tZnctdmVyc2lv biAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiArICAtLWxzdiAlRk1QX0NBUFNVTEVfTFNWJSBe DQo+ICsgIC0tY2FwZmxhZyBQZXJzaXN0QWNyb3NzUmVzZXQgXg0KPiArICAtLWNhcGZsYWcgSW5p dGlhdGVSZXNldCBeDQo+ICsgIC0tc2lnbmVyLXByaXZhdGUtDQo+IGNlcnQ9JVdPUktTUEFDRSVc ZWRrMlxCYXNlVG9vbHNcU291cmNlXFB5dGhvblxQa2NzN1NpZ25cVGVzdENlcnQucA0KPiBlbSBe DQo+ICsgIC0tb3RoZXItcHVibGljLQ0KPiBjZXJ0PSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRvb2xz XFNvdXJjZVxQeXRob25cUGtjczdTaWduXFRlc3RTdWIucA0KPiB1Yi5wZW0gXg0KPiArICAtLXRy dXN0ZWQtcHVibGljLQ0KPiBjZXJ0PSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRvb2xzXFNvdXJjZVxQ eXRob25cUGtjczdTaWduXFRlc3RSb290Lg0KPiBwdWIucGVtIF4NCj4gKyAgLW8gJUZNUF9DQVBT VUxFX0ZJTEUlIF4NCj4gKyAgJUZNUF9DQVBTVUxFX1BBWUxPQUQlDQo+ICsNCj4gK2NvcHkgJUZN UF9DQVBTVUxFX0ZJTEUlICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhDQo+ IHBzdWxlc1xUZXN0Q2VydA0KPiArDQo+ICtpZiBleGlzdCAiJVdJTkRPV1NfQ0FQU1VMRV9LRVkl IiAoDQo+ICsgIENyZWF0ZVdpbmRvd3NDYXBzdWxlLnB5IF4NCj4gKyAgICBVRUZJIF4NCj4gKyAg ICAlRk1QX0NBUFNVTEVfU1RSSU5HJSBeDQo+ICsgICAgJUZNUF9DQVBTVUxFX0dVSUQlIF4NCj4g KyAgICAlRk1QX0NBUFNVTEVfRklMRSUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9WRVJTSU9OJSBe DQo+ICsgICAgJUZNUF9DQVBTVUxFX1ZFTkRPUiUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9WRU5E T1IlIF4NCj4gKyAgICAlRk1QX0NBUFNVTEVfTkFNRSUgJVdJTkRPV1NfQ0FQU1VMRV9LRVklDQo+ ICsNCj4gKyAgeGNvcHkgL3MvZS92L2kveQ0KPiBXaW5kb3dzQ2Fwc3VsZSAlV09SS1NQQUNFJVxC dWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxlc1xUZXN0Q2UNCj4gcnRcTWlubm93TWF4V2lu ZG93c0NhcHN1bGUNCj4gKyAgcm1kaXIgL3MgL3EgV2luZG93c0NhcHN1bGUNCj4gKykNCj4gKw0K PiArZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dl DQo+IG5DYXBzdWxlTWlubm93TWF4LnNoDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fwc3VsZU1pbm5v d01heC5zaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40ZmI5 NjNjOTNjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fwc3Vs ZU1pbm5vd01heC5zaA0KPiBAQCAtMCwwICsxLDY1IEBADQo+ICsjIEBmaWxlDQo+ICsjICAgTGlu dXggc2NyaXB0IGZpbGUgdG8gZ2VuZXJhdGUgVUVGSSBjYXBzdWxlcyBmb3Igc3lzdGVtIGZpcm13 YXJlDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArDQo+ICtGTVBfQ0FQU1VMRV9WRU5ET1I9 SW50ZWwNCj4gK0ZNUF9DQVBTVUxFX0dVSUQ9NDA5NjI2N0ItREEwQS00MkVCLUI1RUItRkVGMzFE MjA3Q0I0DQo+ICtGTVBfQ0FQU1VMRV9GSUxFPU1pbm5vd01heC5jYXANCj4gK0ZNUF9DQVBTVUxF X1ZFUlNJT049MHgwMDAwMDAwQw0KPiArRk1QX0NBUFNVTEVfU1RSSU5HPTAuMC4wLjEyDQo+ICtG TVBfQ0FQU1VMRV9OQU1FPSJJbnRlbCBNaW5ub3dNYXggREVCVUcgVUVGSQ0KPiAkRk1QX0NBUFNV TEVfU1RSSU5HIg0KPiArRk1QX0NBUFNVTEVfTFNWPTB4MDAwMDAwMDANCj4gK0ZNUF9DQVBTVUxF X1BBWUxPQUQ9JFdPUktTUEFDRS9CdWlsZC9WbHYyVGJsdERldmljZVBrZy9ERUJVR18NCj4gR0ND NDkvRlYvVmx2LlJPTQ0KPiArDQo+ICtpZiBbICEgLWUgIiRGTVBfQ0FQU1VMRV9QQVlMT0FEIiBd IDsgdGhlbg0KPiArICByZXR1cm4NCj4gK2ZpDQo+ICsNCj4gK2lmIFsgLWUgTmV3Q2VydC5wZW0g XTsgdGhlbg0KPiArICAjDQo+ICsgICMgU2lnbiBjYXBzdWxlIHVzaW5nIE9wZW5TU0wgd2l0aCBh IG5ldyBjZXJ0aWZpY2F0ZQ0KPiArICAjDQo+ICsgIEdlbmVyYXRlQ2Fwc3VsZSBcDQo+ICsgICAg LS1lbmNvZGUgXA0KPiArICAgIC12IFwNCj4gKyAgICAtLWd1aWQgJEZNUF9DQVBTVUxFX0dVSUQg XA0KPiArICAgIC0tZnctdmVyc2lvbiAkRk1QX0NBUFNVTEVfVkVSU0lPTiBcDQo+ICsgICAgLS1s c3YgJEZNUF9DQVBTVUxFX0xTViBcDQo+ICsgICAgLS1jYXBmbGFnIFBlcnNpc3RBY3Jvc3NSZXNl dCBcDQo+ICsgICAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXA0KPiArICAgIC0tc2lnbmVyLXBy aXZhdGUtY2VydD1OZXdDZXJ0LnBlbSBcDQo+ICsgICAgLS1vdGhlci1wdWJsaWMtY2VydD1OZXdT dWIucHViLnBlbSBcDQo+ICsgICAgLS10cnVzdGVkLXB1YmxpYy1jZXJ0PU5ld1Jvb3QucHViLnBl bSBcDQo+ICsgICAgLW8gJEZNUF9DQVBTVUxFX0ZJTEUgXA0KPiArICAgICRGTVBfQ0FQU1VMRV9Q QVlMT0FEDQo+ICsNCj4gKyAgY3AgJEZNUF9DQVBTVUxFX0ZJTEUNCj4gJFdPUktTUEFDRS9CdWls ZC9WbHYyVGJsdERldmljZVBrZy9DYXBzdWxlcy9OZXdDZXJ0DQo+ICsNCj4gKyAgcm0gJEZNUF9D QVBTVUxFX0ZJTEUNCj4gK2ZpDQo+ICsNCj4gKyMNCj4gKyMgU2lnbiBjYXBzdWxlIHVzaW5nIE9w ZW5TU0wgd2l0aCBFREsgSUkgVGVzdCBDZXJ0aWZpY2F0ZQ0KPiArIw0KPiArR2VuZXJhdGVDYXBz dWxlIFwNCj4gKyAgLS1lbmNvZGUgXA0KPiArICAtdiBcDQo+ICsgIC0tZ3VpZCAkRk1QX0NBUFNV TEVfR1VJRCBcDQo+ICsgIC0tZnctdmVyc2lvbiAkRk1QX0NBUFNVTEVfVkVSU0lPTiBcDQo+ICsg IC0tbHN2ICRGTVBfQ0FQU1VMRV9MU1YgXA0KPiArICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jl c2V0IFwNCj4gKyAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXA0KPiArICAtLXNpZ25lci1wcml2 YXRlLQ0KPiBjZXJ0PSRXT1JLU1BBQ0UvZWRrMi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Qa2Nz N1NpZ24vVGVzdENlcnQucGUNCj4gbSBcDQo+ICsgIC0tb3RoZXItcHVibGljLQ0KPiBjZXJ0PSRX T1JLU1BBQ0UvZWRrMi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Qa2NzN1NpZ24vVGVzdFN1Yi5w dWIuDQo+IHBlbSBcDQo+ICsgIC0tdHJ1c3RlZC1wdWJsaWMtDQo+IGNlcnQ9JFdPUktTUEFDRS9l ZGsyL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1BrY3M3U2lnbi9UZXN0Um9vdC5wdQ0KPiBiLnBl bSBcDQo+ICsgIC1vICRGTVBfQ0FQU1VMRV9GSUxFIFwNCj4gKyAgJEZNUF9DQVBTVUxFX1BBWUxP QUQNCj4gKw0KPiArY3AgJEZNUF9DQVBTVUxFX0ZJTEUNCj4gJFdPUktTUEFDRS9CdWlsZC9WbHYy VGJsdERldmljZVBrZy9DYXBzdWxlcy9UZXN0Q2VydA0KPiArDQo+ICtybSAkRk1QX0NBUFNVTEVf RklMRQ0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dlDQo+IG5DYXBzdWxlTWlubm93 TWF4UmVsZWFzZS5iYXQNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0 dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dlDQo+IG5DYXBzdWxlTWlubm93TWF4UmVsZWFz ZS5iYXQNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNDNjNjA5 ZTRiMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvR2UNCj4gbkNhcHN1bGVN aW5ub3dNYXhSZWxlYXNlLmJhdA0KPiBAQCAtMCwwICsxLDEzMSBAQA0KPiArQFJFTSBAZmlsZQ0K PiArQFJFTSAgIFdpbmRvd3MgYmF0Y2ggZmlsZSB0byBnZW5lcmF0ZSBVRUZJIGNhcHN1bGVzIGZv ciBzeXN0ZW0gZmlybXdhcmUNCj4gK0BSRU0NCj4gK0BSRU0gQ29weXJpZ2h0IChjKSAyMDE4LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtAUkVNIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICtAUkVNDQo+ICsNCj4g K0BlY2hvIG9mZg0KPiArc2V0bG9jYWwNCj4gKw0KPiArc2V0IEZNUF9DQVBTVUxFX1ZFTkRPUj1J bnRlbA0KPiArc2V0IEZNUF9DQVBTVUxFX0dVSUQ9NDA5NjI2N0ItREEwQS00MkVCLUI1RUItRkVG MzFEMjA3Q0I0DQo+ICtzZXQgRk1QX0NBUFNVTEVfRklMRT1NaW5ub3dNYXhSZWxlYXNlLmNhcA0K PiArc2V0IEZNUF9DQVBTVUxFX1ZFUlNJT049MHgwMDAwMDAwQw0KPiArc2V0IEZNUF9DQVBTVUxF X1NUUklORz0wLjAuMC4xMg0KPiArc2V0IEZNUF9DQVBTVUxFX05BTUU9IkludGVsIE1pbm5vd01h eCBSRUxFQVNFDQo+IFVFRkkgJUZNUF9DQVBTVUxFX1NUUklORyUiDQo+ICtzZXQgRk1QX0NBUFNV TEVfTFNWPTB4MDAwMDAwMDANCj4gK3NldCBGTVBfQ0FQU1VMRV9LRVk9U0FNUExFX0RFVkVMT1BN RU5ULnBmeA0KPiArc2V0DQo+IEZNUF9DQVBTVUxFX1BBWUxPQUQ9JVdPUktTUEFDRSVcQnVpbGRc Vmx2MlRibHREZXZpY2VQa2dcUkVMRUFTDQo+IEVfVlMyMDE1eDg2XEZWXFZsdi5ST00NCj4gK3Nl dCBXSU5ET1dTX0NBUFNVTEVfS0VZPVNBTVBMRV9ERVZFTE9QTUVOVC5wZngNCj4gKw0KPiAraWYg bm90IGV4aXN0ICIlRk1QX0NBUFNVTEVfUEFZTE9BRCUiIGV4aXQgL2INCj4gKw0KPiAraWYgZXhp c3QgIiVGTVBfQ0FQU1VMRV9LRVklIiAoDQo+ICsgIFJFTQ0KPiArICBSRU0gU2lnbiBjYXBzdWxl IHVzaW5nIHNpZ250b29sDQo+ICsgIFJFTQ0KPiArICBjYWxsIEdlbmVyYXRlQ2Fwc3VsZSBeDQo+ ICsgICAgLS1lbmNvZGUgXg0KPiArICAgIC12IF4NCj4gKyAgICAtLWd1aWQgJUZNUF9DQVBTVUxF X0dVSUQlIF4NCj4gKyAgICAtLWZ3LXZlcnNpb24gJUZNUF9DQVBTVUxFX1ZFUlNJT04lIF4NCj4g KyAgICAtLWxzdiAlRk1QX0NBUFNVTEVfTFNWJSBeDQo+ICsgICAgLS1jYXBmbGFnIFBlcnNpc3RB Y3Jvc3NSZXNldCBeDQo+ICsgICAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXg0KPiArICAgIC0t c2lnbmluZy10b29sLXBhdGg9ImM6XFByb2dyYW0gRmlsZXMgKHg4NilcV2luZG93cyBLaXRzXDgu MVxiaW5ceDg2IiBeDQo+ICsgICAgLS1wZngtZmlsZSAlRk1QX0NBUFNVTEVfS0VZJSBeDQo+ICsg ICAgLW8gJUZNUF9DQVBTVUxFX0ZJTEUlIF4NCj4gKyAgICAlRk1QX0NBUFNVTEVfUEFZTE9BRCUN Cj4gKw0KPiArDQo+IGNvcHkgJUZNUF9DQVBTVUxFX0ZJTEUlICVXT1JLU1BBQ0UlXEJ1aWxkXFZs djJUYmx0RGV2aWNlUGtnXENhcHMNCj4gdWxlc1xTYW1wbGVEZXZlbG9wbWVudA0KPiArDQo+ICsg IGlmIGV4aXN0ICIlV0lORE9XU19DQVBTVUxFX0tFWSUiICgNCj4gKyAgICBDcmVhdGVXaW5kb3dz Q2Fwc3VsZS5weSBeDQo+ICsgICAgICBVRUZJIF4NCj4gKyAgICAgICVGTVBfQ0FQU1VMRV9TVFJJ TkclIF4NCj4gKyAgICAgICVGTVBfQ0FQU1VMRV9HVUlEJSBeDQo+ICsgICAgICAlRk1QX0NBUFNV TEVfRklMRSUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX1ZFUlNJT04lIF4NCj4gKyAgICAgICVG TVBfQ0FQU1VMRV9WRU5ET1IlIF4NCj4gKyAgICAgICVGTVBfQ0FQU1VMRV9WRU5ET1IlIF4NCj4g KyAgICAgICVGTVBfQ0FQU1VMRV9OQU1FJSAlV0lORE9XU19DQVBTVUxFX0tFWSUNCj4gKw0KPiAr ICAgIHhjb3B5IC9zL2Uvdi9pL3kNCj4gV2luZG93c0NhcHN1bGUgJVdPUktTUEFDRSVcQnVpbGRc Vmx2MlRibHREZXZpY2VQa2dcQ2Fwc3VsZXNcU2FtcGwNCj4gZURldmVsb3BtZW50XE1pbm5vd01h eFJlbGVhc2VXaW5kb3dzQ2Fwc3VsZQ0KPiArICAgIHJtZGlyIC9zIC9xIFdpbmRvd3NDYXBzdWxl DQo+ICsgICkNCj4gKyAgZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+ICspDQo+ICsNCj4gK2lm IGV4aXN0ICJOZXdDZXJ0LnBlbSIgKA0KPiArICBSRU0NCj4gKyAgUkVNIFNpZ24gY2Fwc3VsZSB1 c2luZyBPcGVuU1NMIHdpdGggYSBuZXcgY2VydGlmaWNhdGUNCj4gKyAgUkVNDQo+ICsgIGNhbGwg R2VuZXJhdGVDYXBzdWxlIF4NCj4gKyAgICAtLWVuY29kZSBeDQo+ICsgICAgLXYgXg0KPiArICAg IC0tZ3VpZCAlRk1QX0NBUFNVTEVfR1VJRCUgXg0KPiArICAgIC0tZnctdmVyc2lvbiAlRk1QX0NB UFNVTEVfVkVSU0lPTiUgXg0KPiArICAgIC0tbHN2ICVGTVBfQ0FQU1VMRV9MU1YlIF4NCj4gKyAg ICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jlc2V0IF4NCj4gKyAgICAtLWNhcGZsYWcgSW5pdGlh dGVSZXNldCBeDQo+ICsgICAgLS1zaWduZXItcHJpdmF0ZS1jZXJ0PU5ld0NlcnQucGVtIF4NCj4g KyAgICAtLW90aGVyLXB1YmxpYy1jZXJ0PU5ld1N1Yi5wdWIucGVtIF4NCj4gKyAgICAtLXRydXN0 ZWQtcHVibGljLWNlcnQ9TmV3Um9vdC5wdWIucGVtIF4NCj4gKyAgICAtbyAlRk1QX0NBUFNVTEVf RklMRSUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9QQVlMT0FEJQ0KPiArDQo+ICsNCj4gY29weSAl Rk1QX0NBUFNVTEVfRklMRSUgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fw cw0KPiB1bGVzXE5ld0NlcnQNCj4gKw0KPiArICBpZiBleGlzdCAiJVdJTkRPV1NfQ0FQU1VMRV9L RVklIiAoDQo+ICsgICAgQ3JlYXRlV2luZG93c0NhcHN1bGUucHkgXg0KPiArICAgICAgVUVGSSBe DQo+ICsgICAgICAlRk1QX0NBUFNVTEVfU1RSSU5HJSBeDQo+ICsgICAgICAlRk1QX0NBUFNVTEVf R1VJRCUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX0ZJTEUlIF4NCj4gKyAgICAgICVGTVBfQ0FQ U1VMRV9WRVJTSU9OJSBeDQo+ICsgICAgICAlRk1QX0NBUFNVTEVfVkVORE9SJSBeDQo+ICsgICAg ICAlRk1QX0NBUFNVTEVfVkVORE9SJSBeDQo+ICsgICAgICAlRk1QX0NBUFNVTEVfTkFNRSUgJVdJ TkRPV1NfQ0FQU1VMRV9LRVklDQo+ICsNCj4gKyAgICB4Y29weSAvcy9lL3YvaS95DQo+IFdpbmRv d3NDYXBzdWxlICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1bGVzXE5l d0MNCj4gZXJ0XE1pbm5vd01heFJlbGVhc2VXaW5kb3dzQ2Fwc3VsZQ0KPiArICAgIHJtZGlyIC9z IC9xIFdpbmRvd3NDYXBzdWxlDQo+ICsgICkNCj4gKyAgZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUl DQo+ICspDQo+ICsNCj4gK1JFTQ0KPiArUkVNIFNpZ24gY2Fwc3VsZSB1c2luZyBPcGVuU1NMIHdp dGggRURLIElJIFRlc3QgQ2VydGlmaWNhdGUNCj4gK1JFTQ0KPiArY2FsbCBHZW5lcmF0ZUNhcHN1 bGUgXg0KPiArICAtLWVuY29kZSBeDQo+ICsgIC12IF4NCj4gKyAgLS1ndWlkICVGTVBfQ0FQU1VM RV9HVUlEJSBeDQo+ICsgIC0tZnctdmVyc2lvbiAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiAr ICAtLWxzdiAlRk1QX0NBUFNVTEVfTFNWJSBeDQo+ICsgIC0tY2FwZmxhZyBQZXJzaXN0QWNyb3Nz UmVzZXQgXg0KPiArICAtLWNhcGZsYWcgSW5pdGlhdGVSZXNldCBeDQo+ICsgIC0tc2lnbmVyLXBy aXZhdGUtDQo+IGNlcnQ9JVdPUktTUEFDRSVcZWRrMlxCYXNlVG9vbHNcU291cmNlXFB5dGhvblxQ a2NzN1NpZ25cVGVzdENlcnQucA0KPiBlbSBeDQo+ICsgIC0tb3RoZXItcHVibGljLQ0KPiBjZXJ0 PSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRvb2xzXFNvdXJjZVxQeXRob25cUGtjczdTaWduXFRlc3RT dWIucA0KPiB1Yi5wZW0gXg0KPiArICAtLXRydXN0ZWQtcHVibGljLQ0KPiBjZXJ0PSVXT1JLU1BB Q0UlXGVkazJcQmFzZVRvb2xzXFNvdXJjZVxQeXRob25cUGtjczdTaWduXFRlc3RSb290Lg0KPiBw dWIucGVtIF4NCj4gKyAgLW8gJUZNUF9DQVBTVUxFX0ZJTEUlIF4NCj4gKyAgJUZNUF9DQVBTVUxF X1BBWUxPQUQlDQo+ICsNCj4gK2NvcHkgJUZNUF9DQVBTVUxFX0ZJTEUlICVXT1JLU1BBQ0UlXEJ1 aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhDQo+IHBzdWxlc1xUZXN0Q2VydA0KPiArDQo+ICtpZiBl eGlzdCAiJVdJTkRPV1NfQ0FQU1VMRV9LRVklIiAoDQo+ICsgIENyZWF0ZVdpbmRvd3NDYXBzdWxl LnB5IF4NCj4gKyAgICBVRUZJIF4NCj4gKyAgICAlRk1QX0NBUFNVTEVfU1RSSU5HJSBeDQo+ICsg ICAgJUZNUF9DQVBTVUxFX0dVSUQlIF4NCj4gKyAgICAlRk1QX0NBUFNVTEVfRklMRSUgXg0KPiAr ICAgICVGTVBfQ0FQU1VMRV9WRVJTSU9OJSBeDQo+ICsgICAgJUZNUF9DQVBTVUxFX1ZFTkRPUiUg Xg0KPiArICAgICVGTVBfQ0FQU1VMRV9WRU5ET1IlIF4NCj4gKyAgICAlRk1QX0NBUFNVTEVfTkFN RSUgJVdJTkRPV1NfQ0FQU1VMRV9LRVklDQo+ICsNCj4gKyAgeGNvcHkgL3MvZS92L2kveQ0KPiBX aW5kb3dzQ2Fwc3VsZSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxl c1xUZXN0Q2UNCj4gcnRcTWlubm93TWF4UmVsZWFzZVdpbmRvd3NDYXBzdWxlDQo+ICsgIHJtZGly IC9zIC9xIFdpbmRvd3NDYXBzdWxlDQo+ICspDQo+ICsNCj4gK2VyYXNlICVGTVBfQ0FQU1VMRV9G SUxFJQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv RmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fwc3VsZU1pbm5vd01heFJl bGVhc2Uuc2gNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0Nh cHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dlDQo+IG5DYXBzdWxlTWlubm93TWF4UmVsZWFzZS5zaA0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yOWQ0NmRhZDFlDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fwc3VsZU1pbm5vd01h eFJlbGVhc2Uuc2gNCj4gQEAgLTAsMCArMSw2NSBAQA0KPiArIyBAZmlsZQ0KPiArIyAgIExpbnV4 IHNjcmlwdCBmaWxlIHRvIGdlbmVyYXRlIFVFRkkgY2Fwc3VsZXMgZm9yIHN5c3RlbSBmaXJtd2Fy ZQ0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKw0KPiArRk1QX0NBUFNVTEVfVkVORE9SPUlu dGVsDQo+ICtGTVBfQ0FQU1VMRV9HVUlEPTQwOTYyNjdCLURBMEEtNDJFQi1CNUVCLUZFRjMxRDIw N0NCNA0KPiArRk1QX0NBUFNVTEVfRklMRT1NaW5ub3dNYXhSZWxlYXNlLmNhcA0KPiArRk1QX0NB UFNVTEVfVkVSU0lPTj0weDAwMDAwMDBDDQo+ICtGTVBfQ0FQU1VMRV9TVFJJTkc9MC4wLjAuMTIN Cj4gK0ZNUF9DQVBTVUxFX05BTUU9IkludGVsIE1pbm5vd01heCBSRUxFQVNFIFVFRkkNCj4gJEZN UF9DQVBTVUxFX1NUUklORyINCj4gK0ZNUF9DQVBTVUxFX0xTVj0weDAwMDAwMDAwDQo+ICtGTVBf Q0FQU1VMRV9QQVlMT0FEPSRXT1JLU1BBQ0UvQnVpbGQvVmx2MlRibHREZXZpY2VQa2cvUkVMRUFT RQ0KPiBfR0NDNDkvRlYvVmx2LlJPTQ0KPiArDQo+ICtpZiBbICEgLWUgIiRGTVBfQ0FQU1VMRV9Q QVlMT0FEIiBdIDsgdGhlbg0KPiArICByZXR1cm4NCj4gK2ZpDQo+ICsNCj4gK2lmIFsgLWUgTmV3 Q2VydC5wZW0gXTsgdGhlbg0KPiArICAjDQo+ICsgICMgU2lnbiBjYXBzdWxlIHVzaW5nIE9wZW5T U0wgd2l0aCBhIG5ldyBjZXJ0aWZpY2F0ZQ0KPiArICAjDQo+ICsgIEdlbmVyYXRlQ2Fwc3VsZSBc DQo+ICsgICAgLS1lbmNvZGUgXA0KPiArICAgIC12IFwNCj4gKyAgICAtLWd1aWQgJEZNUF9DQVBT VUxFX0dVSUQgXA0KPiArICAgIC0tZnctdmVyc2lvbiAkRk1QX0NBUFNVTEVfVkVSU0lPTiBcDQo+ ICsgICAgLS1sc3YgJEZNUF9DQVBTVUxFX0xTViBcDQo+ICsgICAgLS1jYXBmbGFnIFBlcnNpc3RB Y3Jvc3NSZXNldCBcDQo+ICsgICAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXA0KPiArICAgIC0t c2lnbmVyLXByaXZhdGUtY2VydD1OZXdDZXJ0LnBlbSBcDQo+ICsgICAgLS1vdGhlci1wdWJsaWMt Y2VydD1OZXdTdWIucHViLnBlbSBcDQo+ICsgICAgLS10cnVzdGVkLXB1YmxpYy1jZXJ0PU5ld1Jv b3QucHViLnBlbSBcDQo+ICsgICAgLW8gJEZNUF9DQVBTVUxFX0ZJTEUgXA0KPiArICAgICRGTVBf Q0FQU1VMRV9QQVlMT0FEDQo+ICsNCj4gKyAgY3AgJEZNUF9DQVBTVUxFX0ZJTEUNCj4gJFdPUktT UEFDRS9CdWlsZC9WbHYyVGJsdERldmljZVBrZy9DYXBzdWxlcy9OZXdDZXJ0DQo+ICsNCj4gKyAg cm0gJEZNUF9DQVBTVUxFX0ZJTEUNCj4gK2ZpDQo+ICsNCj4gKyMNCj4gKyMgU2lnbiBjYXBzdWxl IHVzaW5nIE9wZW5TU0wgd2l0aCBFREsgSUkgVGVzdCBDZXJ0aWZpY2F0ZQ0KPiArIw0KPiArR2Vu ZXJhdGVDYXBzdWxlIFwNCj4gKyAgLS1lbmNvZGUgXA0KPiArICAtdiBcDQo+ICsgIC0tZ3VpZCAk Rk1QX0NBUFNVTEVfR1VJRCBcDQo+ICsgIC0tZnctdmVyc2lvbiAkRk1QX0NBUFNVTEVfVkVSU0lP TiBcDQo+ICsgIC0tbHN2ICRGTVBfQ0FQU1VMRV9MU1YgXA0KPiArICAtLWNhcGZsYWcgUGVyc2lz dEFjcm9zc1Jlc2V0IFwNCj4gKyAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXA0KPiArICAtLXNp Z25lci1wcml2YXRlLQ0KPiBjZXJ0PSRXT1JLU1BBQ0UvZWRrMi9CYXNlVG9vbHMvU291cmNlL1B5 dGhvbi9Qa2NzN1NpZ24vVGVzdENlcnQucGUNCj4gbSBcDQo+ICsgIC0tb3RoZXItcHVibGljLQ0K PiBjZXJ0PSRXT1JLU1BBQ0UvZWRrMi9CYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Qa2NzN1NpZ24v VGVzdFN1Yi5wdWIuDQo+IHBlbSBcDQo+ICsgIC0tdHJ1c3RlZC1wdWJsaWMtDQo+IGNlcnQ9JFdP UktTUEFDRS9lZGsyL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1BrY3M3U2lnbi9UZXN0Um9vdC5w dQ0KPiBiLnBlbSBcDQo+ICsgIC1vICRGTVBfQ0FQU1VMRV9GSUxFIFwNCj4gKyAgJEZNUF9DQVBT VUxFX1BBWUxPQUQNCj4gKw0KPiArY3AgJEZNUF9DQVBTVUxFX0ZJTEUNCj4gJFdPUktTUEFDRS9C dWlsZC9WbHYyVGJsdERldmljZVBrZy9DYXBzdWxlcy9UZXN0Q2VydA0KPiArDQo+ICtybSAkRk1Q X0NBUFNVTEVfRklMRQ0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dlDQo+IG5DYXBz dWxlU2FtcGxlQ29sb3IuYmF0DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv RmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fwc3VsZVNhbXBsZUNvbG9y LmJhdA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zZTlmOTRj NTMwDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fwc3VsZVNh bXBsZUNvbG9yLmJhdA0KPiBAQCAtMCwwICsxLDEzNyBAQA0KPiArQFJFTSBAZmlsZQ0KPiArQFJF TSAgIFdpbmRvd3MgYmF0Y2ggZmlsZSB0byBnZW5lcmF0ZSBVRUZJIGNhcHN1bGVzIGZvciBhIHNh bXBsZSBkZXZpY2UNCj4gK0BSRU0NCj4gK0BSRU0gQ29weXJpZ2h0IChjKSAyMDE4LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtAUkVNIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICtAUkVNDQo+ICsNCj4gK0BlY2hv IG9mZg0KPiArc2V0bG9jYWwNCj4gKw0KPiArc2V0IENPTE9SPSUxDQo+ICsNCj4gK3NldCBGTVBf Q0FQU1VMRV9WRU5ET1I9SW50ZWwNCj4gK3NldCBGTVBfQ0FQU1VMRV9HVUlEPSUyDQo+ICtzZXQg Rk1QX0NBUFNVTEVfRklMRT0lQ09MT1IlLmNhcA0KPiArc2V0IEZNUF9DQVBTVUxFX1ZFUlNJT049 MHgwMDAwMDAxMA0KPiArc2V0IEZNUF9DQVBTVUxFX1NUUklORz0wLjAuMC4xNg0KPiArc2V0IEZN UF9DQVBTVUxFX05BTUU9IiVDT0xPUiUgUHJvZ3Jlc3MNCj4gQmFyICVGTVBfQ0FQU1VMRV9TVFJJ TkclIg0KPiArc2V0IEZNUF9DQVBTVUxFX0xTVj0weDAwMDAwMDAwDQo+ICtzZXQgRk1QX0NBUFNV TEVfS0VZPVNBTVBMRV9ERVZFTE9QTUVOVC5wZngNCj4gK3NldCBGTVBfQ0FQU1VMRV9QQVlMT0FE PVBheWxvYWQuYmluDQo+ICtzZXQgV0lORE9XU19DQVBTVUxFX0tFWT1TQU1QTEVfREVWRUxPUE1F TlQucGZ4DQo+ICsNCj4gK2VjaG8gIiVDT0xPUiUgUHJvZ3Jlc3MgQmFyIiA+ICVGTVBfQ0FQU1VM RV9QQVlMT0FEJQ0KPiArDQo+ICtpZiBub3QgZXhpc3QgIiVGTVBfQ0FQU1VMRV9QQVlMT0FEJSIg ZXhpdA0KPiArDQo+ICtpZiBleGlzdCAiJUZNUF9DQVBTVUxFX0tFWSUiICgNCj4gKyAgUkVNDQo+ ICsgIFJFTSBTaWduIGNhcHN1bGUgdXNpbmcgc2lnbnRvb2wNCj4gKyAgUkVNDQo+ICsgIGNhbGwg R2VuZXJhdGVDYXBzdWxlIF4NCj4gKyAgICAtLWVuY29kZSBeDQo+ICsgICAgLXYgXg0KPiArICAg IC0tZ3VpZCAlRk1QX0NBUFNVTEVfR1VJRCUgXg0KPiArICAgIC0tZnctdmVyc2lvbiAlRk1QX0NB UFNVTEVfVkVSU0lPTiUgXg0KPiArICAgIC0tbHN2ICVGTVBfQ0FQU1VMRV9MU1YlIF4NCj4gKyAg ICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jlc2V0IF4NCj4gKyAgICAtLWNhcGZsYWcgSW5pdGlh dGVSZXNldCBeDQo+ICsgICAgLS1zaWduaW5nLXRvb2wtcGF0aD0iYzpcUHJvZ3JhbSBGaWxlcyAo eDg2KVxXaW5kb3dzIEtpdHNcOC4xXGJpblx4ODYiIF4NCj4gKyAgICAtLXBmeC1maWxlICVGTVBf Q0FQU1VMRV9LRVklIF4NCj4gKyAgICAtbyAlRk1QX0NBUFNVTEVfRklMRSUgXg0KPiArICAgICVG TVBfQ0FQU1VMRV9QQVlMT0FEJQ0KPiArDQo+ICsNCj4gY29weSAlRk1QX0NBUFNVTEVfRklMRSUg JVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fwcw0KPiB1bGVzXFNhbXBsZURl dmVsb3BtZW50DQo+ICsNCj4gKyAgaWYgZXhpc3QgIiVXSU5ET1dTX0NBUFNVTEVfS0VZJSIgKA0K PiArICAgIENyZWF0ZVdpbmRvd3NDYXBzdWxlLnB5IF4NCj4gKyAgICAgIFVFRkkgXg0KPiArICAg ICAgJUZNUF9DQVBTVUxFX1NUUklORyUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX0dVSUQlIF4N Cj4gKyAgICAgICVGTVBfQ0FQU1VMRV9GSUxFJSBeDQo+ICsgICAgICAlRk1QX0NBUFNVTEVfVkVS U0lPTiUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX1ZFTkRPUiUgXg0KPiArICAgICAgJUZNUF9D QVBTVUxFX1ZFTkRPUiUgXg0KPiArICAgICAgJUZNUF9DQVBTVUxFX05BTUUlICVXSU5ET1dTX0NB UFNVTEVfS0VZJQ0KPiArDQo+ICsgICAgeGNvcHkgL3MvZS92L2kveQ0KPiBXaW5kb3dzQ2Fwc3Vs ZSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxlc1xTYW1wbA0KPiBl RGV2ZWxvcG1lbnRcJUNPTE9SJVdpbmRvd3NDYXBzdWxlDQo+ICsgICAgcm1kaXIgL3MgL3EgV2lu ZG93c0NhcHN1bGUNCj4gKyAgKQ0KPiArICBlcmFzZSAlRk1QX0NBUFNVTEVfRklMRSUNCj4gKykN Cj4gKw0KPiAraWYgZXhpc3QgIk5ld0NlcnQucGVtIiAoDQo+ICsgIFJFTQ0KPiArICBSRU0gU2ln biBjYXBzdWxlIHVzaW5nIE9wZW5TU0wgd2l0aCBhIG5ldyBjZXJ0aWZpY2F0ZQ0KPiArICBSRU0N Cj4gKyAgY2FsbCBHZW5lcmF0ZUNhcHN1bGUgXg0KPiArICAgIC0tZW5jb2RlIF4NCj4gKyAgICAt diBeDQo+ICsgICAgLS1ndWlkICVGTVBfQ0FQU1VMRV9HVUlEJSBeDQo+ICsgICAgLS1mdy12ZXJz aW9uICVGTVBfQ0FQU1VMRV9WRVJTSU9OJSBeDQo+ICsgICAgLS1sc3YgJUZNUF9DQVBTVUxFX0xT ViUgXg0KPiArICAgIC0tY2FwZmxhZyBQZXJzaXN0QWNyb3NzUmVzZXQgXg0KPiArICAgIC0tY2Fw ZmxhZyBJbml0aWF0ZVJlc2V0IF4NCj4gKyAgICAtLXNpZ25lci1wcml2YXRlLWNlcnQ9TmV3Q2Vy dC5wZW0gXg0KPiArICAgIC0tb3RoZXItcHVibGljLWNlcnQ9TmV3U3ViLnB1Yi5wZW0gXg0KPiAr ICAgIC0tdHJ1c3RlZC1wdWJsaWMtY2VydD1OZXdSb290LnB1Yi5wZW0gXg0KPiArICAgIC1vICVG TVBfQ0FQU1VMRV9GSUxFJSBeDQo+ICsgICAgJUZNUF9DQVBTVUxFX1BBWUxPQUQlDQo+ICsNCj4g Kw0KPiBjb3B5ICVGTVBfQ0FQU1VMRV9GSUxFJSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERl dmljZVBrZ1xDYXBzDQo+IHVsZXNcTmV3Q2VydA0KPiArDQo+ICsgIGlmIGV4aXN0ICIlV0lORE9X U19DQVBTVUxFX0tFWSUiICgNCj4gKyAgICBDcmVhdGVXaW5kb3dzQ2Fwc3VsZS5weSBeDQo+ICsg ICAgICBVRUZJIF4NCj4gKyAgICAgICVGTVBfQ0FQU1VMRV9TVFJJTkclIF4NCj4gKyAgICAgICVG TVBfQ0FQU1VMRV9HVUlEJSBeDQo+ICsgICAgICAlRk1QX0NBUFNVTEVfRklMRSUgXg0KPiArICAg ICAgJUZNUF9DQVBTVUxFX1ZFUlNJT04lIF4NCj4gKyAgICAgICVGTVBfQ0FQU1VMRV9WRU5ET1Il IF4NCj4gKyAgICAgICVGTVBfQ0FQU1VMRV9WRU5ET1IlIF4NCj4gKyAgICAgICVGTVBfQ0FQU1VM RV9OQU1FJSAlV0lORE9XU19DQVBTVUxFX0tFWSUNCj4gKw0KPiArICAgIHhjb3B5IC9zL2Uvdi9p L3kNCj4gV2luZG93c0NhcHN1bGUgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dc Q2Fwc3VsZXNcTmV3Qw0KPiBlcnRcJUNPTE9SJVdpbmRvd3NDYXBzdWxlDQo+ICsgICAgcm1kaXIg L3MgL3EgV2luZG93c0NhcHN1bGUNCj4gKyAgKQ0KPiArICBlcmFzZSAlRk1QX0NBUFNVTEVfRklM RSUNCj4gKykNCj4gKw0KPiArUkVNDQo+ICtSRU0gU2lnbiBjYXBzdWxlIHVzaW5nIE9wZW5TU0wg d2l0aCBFREsgSUkgVGVzdCBDZXJ0aWZpY2F0ZQ0KPiArUkVNDQo+ICtjYWxsIEdlbmVyYXRlQ2Fw c3VsZSBeDQo+ICsgIC0tZW5jb2RlIF4NCj4gKyAgLXYgXg0KPiArICAtLWd1aWQgJUZNUF9DQVBT VUxFX0dVSUQlIF4NCj4gKyAgLS1mdy12ZXJzaW9uICVGTVBfQ0FQU1VMRV9WRVJTSU9OJSBeDQo+ ICsgIC0tbHN2ICVGTVBfQ0FQU1VMRV9MU1YlIF4NCj4gKyAgLS1jYXBmbGFnIFBlcnNpc3RBY3Jv c3NSZXNldCBeDQo+ICsgIC0tY2FwZmxhZyBJbml0aWF0ZVJlc2V0IF4NCj4gKyAgLS1zaWduZXIt cHJpdmF0ZS0NCj4gY2VydD0lV09SS1NQQUNFJVxlZGsyXEJhc2VUb29sc1xTb3VyY2VcUHl0aG9u XFBrY3M3U2lnblxUZXN0Q2VydC5wDQo+IGVtIF4NCj4gKyAgLS1vdGhlci1wdWJsaWMtDQo+IGNl cnQ9JVdPUktTUEFDRSVcZWRrMlxCYXNlVG9vbHNcU291cmNlXFB5dGhvblxQa2NzN1NpZ25cVGVz dFN1Yi5wDQo+IHViLnBlbSBeDQo+ICsgIC0tdHJ1c3RlZC1wdWJsaWMtDQo+IGNlcnQ9JVdPUktT UEFDRSVcZWRrMlxCYXNlVG9vbHNcU291cmNlXFB5dGhvblxQa2NzN1NpZ25cVGVzdFJvb3QuDQo+ IHB1Yi5wZW0gXg0KPiArICAtbyAlRk1QX0NBUFNVTEVfRklMRSUgXg0KPiArICAlRk1QX0NBUFNV TEVfUEFZTE9BRCUNCj4gKw0KPiArY29weSAlRk1QX0NBUFNVTEVfRklMRSUgJVdPUktTUEFDRSVc QnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2ENCj4gcHN1bGVzXFRlc3RDZXJ0DQo+ICsNCj4gK2lm IGV4aXN0ICIlV0lORE9XU19DQVBTVUxFX0tFWSUiICgNCj4gKyAgQ3JlYXRlV2luZG93c0NhcHN1 bGUucHkgXg0KPiArICAgIFVFRkkgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9TVFJJTkclIF4NCj4g KyAgICAlRk1QX0NBUFNVTEVfR1VJRCUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9GSUxFJSBeDQo+ ICsgICAgJUZNUF9DQVBTVUxFX1ZFUlNJT04lIF4NCj4gKyAgICAlRk1QX0NBUFNVTEVfVkVORE9S JSBeDQo+ICsgICAgJUZNUF9DQVBTVUxFX1ZFTkRPUiUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9O QU1FJSAlV0lORE9XU19DQVBTVUxFX0tFWSUNCj4gKw0KPiArICB4Y29weSAvcy9lL3YvaS95DQo+ IFdpbmRvd3NDYXBzdWxlICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1 bGVzXFRlc3RDZQ0KPiBydFwlQ09MT1IlV2luZG93c0NhcHN1bGUNCj4gKyAgcm1kaXIgL3MgL3Eg V2luZG93c0NhcHN1bGUNCj4gKykNCj4gKw0KPiArZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+ ICsNCj4gK2VyYXNlICVGTVBfQ0FQU1VMRV9QQVlMT0FEJQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fw c3VsZS9HZQ0KPiBuQ2Fwc3VsZVNhbXBsZUNvbG9yLnNoDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZQ0KPiBuQ2Fw c3VsZVNhbXBsZUNvbG9yLnNoDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLmExYzZmMjhjZGUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0dl DQo+IG5DYXBzdWxlU2FtcGxlQ29sb3Iuc2gNCj4gQEAgLTAsMCArMSw3MCBAQA0KPiArIyBAZmls ZQ0KPiArIyAgIExpbnV4IHNjcmlwdCBmaWxlIHRvIGdlbmVyYXRlIFVFRkkgY2Fwc3VsZXMgZm9y IGEgc2FtcGxlIGRldmljZQ0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMTgsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gKyMgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKw0KPiArQ09MT1I9 JDENCj4gKw0KPiArRk1QX0NBUFNVTEVfVkVORE9SPUludGVsDQo+ICtGTVBfQ0FQU1VMRV9HVUlE PSQyDQo+ICtGTVBfQ0FQU1VMRV9GSUxFPSRDT0xPUi5jYXANCj4gK0ZNUF9DQVBTVUxFX1ZFUlNJ T049MHgwMDAwMDAxMA0KPiArRk1QX0NBUFNVTEVfU1RSSU5HPTAuMC4wLjE2DQo+ICtGTVBfQ0FQ U1VMRV9OQU1FPSIkQ09MT1IgUHJvZ3Jlc3MgQmFyICRGTVBfQ0FQU1VMRV9TVFJJTkciDQo+ICtG TVBfQ0FQU1VMRV9MU1Y9MHgwMDAwMDAwMA0KPiArRk1QX0NBUFNVTEVfUEFZTE9BRD1QYXlsb2Fk LmJpbg0KPiArDQo+ICtlY2hvICIkQ09MT1IgUHJvZ3Jlc3MgQmFyIiA+ICRGTVBfQ0FQU1VMRV9Q QVlMT0FEDQo+ICsNCj4gK2lmIFsgISAtZSAiJEZNUF9DQVBTVUxFX1BBWUxPQUQiIF0gOyB0aGVu DQo+ICsgIHJldHVybg0KPiArZmkNCj4gKw0KPiAraWYgWyAtZSBOZXdDZXJ0LnBlbSBdOyB0aGVu DQo+ICsgICMNCj4gKyAgIyBTaWduIGNhcHN1bGUgdXNpbmcgT3BlblNTTCB3aXRoIGEgbmV3IGNl cnRpZmljYXRlDQo+ICsgICMNCj4gKyAgR2VuZXJhdGVDYXBzdWxlIFwNCj4gKyAgICAtLWVuY29k ZSBcDQo+ICsgICAgLXYgXA0KPiArICAgIC0tZ3VpZCAkRk1QX0NBUFNVTEVfR1VJRCBcDQo+ICsg ICAgLS1mdy12ZXJzaW9uICRGTVBfQ0FQU1VMRV9WRVJTSU9OIFwNCj4gKyAgICAtLWxzdiAkRk1Q X0NBUFNVTEVfTFNWIFwNCj4gKyAgICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jlc2V0IFwNCj4g KyAgICAtLWNhcGZsYWcgSW5pdGlhdGVSZXNldCBcDQo+ICsgICAgLS1zaWduZXItcHJpdmF0ZS1j ZXJ0PU5ld0NlcnQucGVtIFwNCj4gKyAgICAtLW90aGVyLXB1YmxpYy1jZXJ0PU5ld1N1Yi5wdWIu cGVtIFwNCj4gKyAgICAtLXRydXN0ZWQtcHVibGljLWNlcnQ9TmV3Um9vdC5wdWIucGVtIFwNCj4g KyAgICAtbyAkRk1QX0NBUFNVTEVfRklMRSBcDQo+ICsgICAgJEZNUF9DQVBTVUxFX1BBWUxPQUQN Cj4gKw0KPiArICBjcCAkRk1QX0NBUFNVTEVfRklMRQ0KPiAkV09SS1NQQUNFL0J1aWxkL1ZsdjJU Ymx0RGV2aWNlUGtnL0NhcHN1bGVzL05ld0NlcnQNCj4gKw0KPiArICBybSAkRk1QX0NBUFNVTEVf RklMRQ0KPiArZmkNCj4gKw0KPiArIw0KPiArIyBTaWduIGNhcHN1bGUgdXNpbmcgT3BlblNTTCB3 aXRoIEVESyBJSSBUZXN0IENlcnRpZmljYXRlDQo+ICsjDQo+ICtHZW5lcmF0ZUNhcHN1bGUgXA0K PiArICAtLWVuY29kZSBcDQo+ICsgIC12IFwNCj4gKyAgLS1ndWlkICRGTVBfQ0FQU1VMRV9HVUlE IFwNCj4gKyAgLS1mdy12ZXJzaW9uICRGTVBfQ0FQU1VMRV9WRVJTSU9OIFwNCj4gKyAgLS1sc3Yg JEZNUF9DQVBTVUxFX0xTViBcDQo+ICsgIC0tY2FwZmxhZyBQZXJzaXN0QWNyb3NzUmVzZXQgXA0K PiArICAtLWNhcGZsYWcgSW5pdGlhdGVSZXNldCBcDQo+ICsgIC0tc2lnbmVyLXByaXZhdGUtDQo+ IGNlcnQ9JFdPUktTUEFDRS9lZGsyL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1BrY3M3U2lnbi9U ZXN0Q2VydC5wZQ0KPiBtIFwNCj4gKyAgLS1vdGhlci1wdWJsaWMtDQo+IGNlcnQ9JFdPUktTUEFD RS9lZGsyL0Jhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1BrY3M3U2lnbi9UZXN0U3ViLnB1Yi4NCj4g cGVtIFwNCj4gKyAgLS10cnVzdGVkLXB1YmxpYy0NCj4gY2VydD0kV09SS1NQQUNFL2VkazIvQmFz ZVRvb2xzL1NvdXJjZS9QeXRob24vUGtjczdTaWduL1Rlc3RSb290LnB1DQo+IGIucGVtIFwNCj4g KyAgLW8gJEZNUF9DQVBTVUxFX0ZJTEUgXA0KPiArICAkRk1QX0NBUFNVTEVfUEFZTE9BRA0KPiAr DQo+ICtjcCAkRk1QX0NBUFNVTEVfRklMRQ0KPiAkV09SS1NQQUNFL0J1aWxkL1ZsdjJUYmx0RGV2 aWNlUGtnL0NhcHN1bGVzL1Rlc3RDZXJ0DQo+ICsNCj4gK3JtICRGTVBfQ0FQU1VMRV9GSUxFDQo+ ICsNCj4gK3JtICRGTVBfQ0FQU1VMRV9QQVlMT0FEDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxl L0x2ZnMNCj4gLmRkZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1 cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvTHZmcw0KPiAuZGRmDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmYyYzkyNWE2ZGQNCj4gLS0tIC9kZXYvbnVsbA0K PiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1 bGUvR2VuZXJhdGVDYXBzdWxlL0x2ZnMNCj4gLmRkZg0KPiBAQCAtMCwwICsxLDE0IEBADQo+ICsu T1BUSU9OIEVYUExJQ0lUIDsgR2VuZXJhdGUgZXJyb3JzIG9uIHZhcmlhYmxlIHR5cG9zDQo+ICsN Cj4gKy5TZXQgQ2FiaW5ldE5hbWVUZW1wbGF0ZT1maXJtd2FyZS5jYWIgOyBUaGUgbmFtZSBvZiB0 aGUgZmlsZQ0KPiArLnNldCBEaXNrRGlyZWN0b3J5VGVtcGxhdGU9Q0RST00gOyBBbGwgY2FiaW5l dHMgZ28gaW4gYSBzaW5nbGUgZGlyZWN0b3J5DQo+ICsuU2V0IENhYmluZXQ9b24gOw0KPiArLlNl dCBDb21wcmVzcz1vbiA7DQo+ICsuU2V0IERpc2tEaXJlY3RvcnkxPS4NCj4gKy5TZXQgTWF4RGlz a1NpemU9OTk5OTk3NDQgICAgICAgICAgICAgICA7IG11bHRpcGxlIG9mIDUxMg0KPiArDQo+ICs7 KioqIEZpbGVzIHRvIHppcCA7DQo+ICs7DQo+ICtmaXJtd2FyZS5iaW4NCj4gK2Zpcm13YXJlLm1l dGFpbmZvLnhtbA0KPiArOyoqKg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9MdmZzDQo+IEdl bkNhcHN1bGVNaW5ub3dNYXguYmF0DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9MdmZzDQo+IEdlbkNhcHN1bGVNaW5u b3dNYXguYmF0DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmRk ODI3NGExY2MNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0x2ZnMNCj4gR2Vu Q2Fwc3VsZU1pbm5vd01heC5iYXQNCj4gQEAgLTAsMCArMSwxMzkgQEANCj4gK0BSRU0gQGZpbGUN Cj4gK0BSRU0gICBXaW5kb3dzIGJhdGNoIGZpbGUgdG8gZ2VuZXJhdGUgVUVGSSBjYXBzdWxlcyBm b3Igc3lzdGVtIGZpcm13YXJlDQo+ICtAUkVNDQo+ICtAUkVNIENvcHlyaWdodCAoYykgMjAxOCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArQFJFTQ0KPiAr QFJFTSBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArQFJF TQ0KPiArDQo+ICtAZWNobyBvZmYNCj4gK3NldGxvY2FsDQo+ICsNCj4gK3NldCBGTVBfQ0FQU1VM RV9WRU5ET1I9SW50ZWwNCj4gK3NldCBGTVBfQ0FQU1VMRV9HVUlEPTQwOTYyNjdiLWRhMGEtNDJl Yi1iNWViLWZlZjMxZDIwN2NiNA0KPiArc2V0IEZNUF9DQVBTVUxFX0JBU0VfTkFNRT1NaW5ub3dN YXgNCj4gK3NldCBGTVBfQ0FQU1VMRV9GSUxFPSVGTVBfQ0FQU1VMRV9CQVNFX05BTUUlLmNhcA0K PiArc2V0IEZNUF9DQVBTVUxFX1ZFUlNJT049MHgwMDAwMDAwQw0KPiArc2V0IEZNUF9DQVBTVUxF X1ZFUlNJT05fREVDSU1BTD0xMg0KPiArc2V0IEZNUF9DQVBTVUxFX1NUUklORz0wLjAuMC4xMg0K PiArc2V0IEZNUF9DQVBTVUxFX05BTUU9IkludGVsICVGTVBfQ0FQU1VMRV9CQVNFX05BTUUlIERF QlVHDQo+IFVFRkkgJUZNUF9DQVBTVUxFX1NUUklORyUiDQo+ICtzZXQgRk1QX0NBUFNVTEVfTFNW PTB4MDAwMDAwMDANCj4gK3NldCBGTVBfQ0FQU1VMRV9LRVk9U0FNUExFX0RFVkVMT1BNRU5ULnBm eA0KPiArc2V0DQo+IEZNUF9DQVBTVUxFX1BBWUxPQUQ9JVdPUktTUEFDRSVcQnVpbGRcVmx2MlRi bHREZXZpY2VQa2dcREVCVUcNCj4gX1ZTMjAxNXg4NlxGVlxWbHYuUk9NDQo+ICtzZXQgV0lORE9X U19DQVBTVUxFX0tFWT1TQU1QTEVfREVWRUxPUE1FTlQucGZ4DQo+ICsNCj4gK2lmIG5vdCBleGlz dCAiJUZNUF9DQVBTVUxFX1BBWUxPQUQlIiBleGl0IC9iDQo+ICsNCj4gK2lmIGV4aXN0ICIlRk1Q X0NBUFNVTEVfS0VZJSIgKA0KPiArICBSRU0NCj4gKyAgUkVNIFNpZ24gY2Fwc3VsZSB1c2luZyBz aWdudG9vbA0KPiArICBSRU0NCj4gKyAgY2FsbCBHZW5lcmF0ZUNhcHN1bGUgXg0KPiArICAgIC0t ZW5jb2RlIF4NCj4gKyAgICAtdiBeDQo+ICsgICAgLS1ndWlkICVGTVBfQ0FQU1VMRV9HVUlEJSBe DQo+ICsgICAgLS1mdy12ZXJzaW9uICVGTVBfQ0FQU1VMRV9WRVJTSU9OJSBeDQo+ICsgICAgLS1s c3YgJUZNUF9DQVBTVUxFX0xTViUgXg0KPiArICAgIC0tY2FwZmxhZyBQZXJzaXN0QWNyb3NzUmVz ZXQgXg0KPiArICAgIC0tY2FwZmxhZyBJbml0aWF0ZVJlc2V0IF4NCj4gKyAgICAtLXNpZ25pbmct dG9vbC1wYXRoPSJjOlxQcm9ncmFtIEZpbGVzICh4ODYpXFdpbmRvd3MgS2l0c1w4LjFcYmluXHg4 NiIgXg0KPiArICAgIC0tcGZ4LWZpbGUgJUZNUF9DQVBTVUxFX0tFWSUgXg0KPiArICAgIC1vICVG TVBfQ0FQU1VMRV9GSUxFJSBeDQo+ICsgICAgJUZNUF9DQVBTVUxFX1BBWUxPQUQlDQo+ICsNCj4g Kw0KPiBjb3B5ICVGTVBfQ0FQU1VMRV9GSUxFJSAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERl dmljZVBrZ1xDYXBzDQo+IHVsZXNcU2FtcGxlRGV2ZWxvcG1lbnQNCj4gKw0KPiArICBjb3B5ICVG TVBfQ0FQU1VMRV9GSUxFJSBmaXJtd2FyZS5iaW4NCj4gKyAgY29weSB0ZW1wbGF0ZS5tZXRhaW5m by54bWwgZmlybXdhcmUubWV0YWluZm8ueG1sDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihn YyBmaXJtd2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9HVUlEJywg JyVGTVBfQ0FQU1VMRV9HVUlEJScgfCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5mby54bWwg LWVuY29kaW5nIEFTQ0lJIg0KPiArICBwb3dlcnNoZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUu bWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NBUFNVTEVfQkFTRV9OQU1FJywgJyVGTVBf Q0FQU1VMRV9CQVNFX05BTUUlJyB8IE91dC1GaWxlDQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAt ZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2FyZS5t ZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9WRVJTSU9OX0RFQ0lNQUwnLA0K PiAnJUZNUF9DQVBTVUxFX1ZFUlNJT05fREVDSU1BTCUnIHwgT3V0LUZpbGUgZmlybXdhcmUubWV0 YWluZm8ueG1sIC0NCj4gZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQg IihnYyBmaXJtd2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9TVFJJ TkcnLCAnJUZNUF9DQVBTVUxFX1NUUklORyUnIHwgT3V0LUZpbGUNCj4gZmlybXdhcmUubWV0YWlu Zm8ueG1sIC1lbmNvZGluZyBBU0NJSSINCj4gKyAgcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZp cm13YXJlLm1ldGFpbmZvLnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0RBVEUnLCAnJWRh dGUlJyB8IE91dC1GaWxlIGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5nIEFTQ0lJ Ig0KPiArICBtYWtlY2FiIC9mIEx2ZnMuZGRmDQo+ICsgIGNvcHkNCj4gZmlybXdhcmUuY2FiICVX T1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1bGVzXFRlc3RDZXJ0XA0KPiAl Rk1QX0NBUFNVTEVfQkFTRV9OQU1FJS0lRk1QX0NBUFNVTEVfU1RSSU5HJS5jYWINCj4gKw0KPiAr ICBlcmFzZSBmaXJtd2FyZS5jYWINCj4gKyAgZXJhc2Ugc2V0dXAuaW5mDQo+ICsgIGVyYXNlIHNl dHVwLnJwdA0KPiArDQo+ICsgIGVyYXNlIGZpcm13YXJlLm1ldGFpbmZvLnhtbA0KPiArICBlcmFz ZSBmaXJtd2FyZS5iaW4NCj4gKyAgZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+ICspDQo+ICsN Cj4gK2lmIGV4aXN0ICJOZXdDZXJ0LnBlbSIgKA0KPiArICBSRU0NCj4gKyAgUkVNIFNpZ24gY2Fw c3VsZSB1c2luZyBPcGVuU1NMIHdpdGggYSBuZXcgY2VydGlmaWNhdGUNCj4gKyAgUkVNDQo+ICsg IGNhbGwgR2VuZXJhdGVDYXBzdWxlIF4NCj4gKyAgICAtLWVuY29kZSBeDQo+ICsgICAgLXYgXg0K PiArICAgIC0tZ3VpZCAlRk1QX0NBUFNVTEVfR1VJRCUgXg0KPiArICAgIC0tZnctdmVyc2lvbiAl Rk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiArICAgIC0tbHN2ICVGTVBfQ0FQU1VMRV9MU1YlIF4N Cj4gKyAgICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jlc2V0IF4NCj4gKyAgICAtLWNhcGZsYWcg SW5pdGlhdGVSZXNldCBeDQo+ICsgICAgLS1zaWduZXItcHJpdmF0ZS1jZXJ0PU5ld0NlcnQucGVt IF4NCj4gKyAgICAtLW90aGVyLXB1YmxpYy1jZXJ0PU5ld1N1Yi5wdWIucGVtIF4NCj4gKyAgICAt LXRydXN0ZWQtcHVibGljLWNlcnQ9TmV3Um9vdC5wdWIucGVtIF4NCj4gKyAgICAtbyAlRk1QX0NB UFNVTEVfRklMRSUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9QQVlMT0FEJQ0KPiArDQo+ICsNCj4g Y29weSAlRk1QX0NBUFNVTEVfRklMRSUgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQ a2dcQ2Fwcw0KPiB1bGVzXE5ld0NlcnQNCj4gKw0KPiArICBjb3B5ICVGTVBfQ0FQU1VMRV9GSUxF JSBmaXJtd2FyZS5iaW4NCj4gKyAgY29weSB0ZW1wbGF0ZS5tZXRhaW5mby54bWwgZmlybXdhcmUu bWV0YWluZm8ueG1sDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2FyZS5tZXRh aW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9HVUlEJywgJyVGTVBfQ0FQU1VMRV9H VUlEJScgfCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5mby54bWwgLWVuY29kaW5nIEFTQ0lJ Ig0KPiArICBwb3dlcnNoZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAt cmVwbGFjZQ0KPiAnRk1QX0NBUFNVTEVfQkFTRV9OQU1FJywgJyVGTVBfQ0FQU1VMRV9CQVNFX05B TUUlJyB8IE91dC1GaWxlDQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2RpbmcgQVNDSUki DQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2FyZS5tZXRhaW5mby54bWwpIC1y ZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9WRVJTSU9OX0RFQ0lNQUwnLA0KPiAnJUZNUF9DQVBTVUxF X1ZFUlNJT05fREVDSU1BTCUnIHwgT3V0LUZpbGUgZmlybXdhcmUubWV0YWluZm8ueG1sIC0NCj4g ZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2FyZS5t ZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9TVFJJTkcnLCAnJUZNUF9DQVBT VUxFX1NUUklORyUnIHwgT3V0LUZpbGUNCj4gZmlybXdhcmUubWV0YWluZm8ueG1sIC1lbmNvZGlu ZyBBU0NJSSINCj4gKyAgcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZv LnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0RBVEUnLCAnJWRhdGUlJyB8IE91dC1GaWxl IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5nIEFTQ0lJIg0KPiArICBtYWtlY2Fi IC9mIEx2ZnMuZGRmDQo+ICsgIGNvcHkNCj4gZmlybXdhcmUuY2FiICVXT1JLU1BBQ0UlXEJ1aWxk XFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1bGVzXFRlc3RDZXJ0XA0KPiAlRk1QX0NBUFNVTEVfQkFT RV9OQU1FJS0lRk1QX0NBUFNVTEVfU1RSSU5HJS5jYWINCj4gKw0KPiArICBlcmFzZSBmaXJtd2Fy ZS5jYWINCj4gKyAgZXJhc2Ugc2V0dXAuaW5mDQo+ICsgIGVyYXNlIHNldHVwLnJwdA0KPiArDQo+ ICsgIGVyYXNlIGZpcm13YXJlLm1ldGFpbmZvLnhtbA0KPiArICBlcmFzZSBmaXJtd2FyZS5iaW4N Cj4gKyAgZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+ICspDQo+ICsNCj4gK1JFTQ0KPiArUkVN IFNpZ24gY2Fwc3VsZSB1c2luZyBPcGVuU1NMIHdpdGggRURLIElJIFRlc3QgQ2VydGlmaWNhdGUN Cj4gK1JFTQ0KPiArY2FsbCBHZW5lcmF0ZUNhcHN1bGUgXg0KPiArICAtLWVuY29kZSBeDQo+ICsg IC12IF4NCj4gKyAgLS1ndWlkICVGTVBfQ0FQU1VMRV9HVUlEJSBeDQo+ICsgIC0tZnctdmVyc2lv biAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiArICAtLWxzdiAlRk1QX0NBUFNVTEVfTFNWJSBe DQo+ICsgIC0tY2FwZmxhZyBQZXJzaXN0QWNyb3NzUmVzZXQgXg0KPiArICAtLWNhcGZsYWcgSW5p dGlhdGVSZXNldCBeDQo+ICsgIC0tc2lnbmVyLXByaXZhdGUtDQo+IGNlcnQ9JVdPUktTUEFDRSVc ZWRrMlxCYXNlVG9vbHNcU291cmNlXFB5dGhvblxQa2NzN1NpZ25cVGVzdENlcnQucA0KPiBlbSBe DQo+ICsgIC0tb3RoZXItcHVibGljLQ0KPiBjZXJ0PSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRvb2xz XFNvdXJjZVxQeXRob25cUGtjczdTaWduXFRlc3RTdWIucA0KPiB1Yi5wZW0gXg0KPiArICAtLXRy dXN0ZWQtcHVibGljLQ0KPiBjZXJ0PSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRvb2xzXFNvdXJjZVxQ eXRob25cUGtjczdTaWduXFRlc3RSb290Lg0KPiBwdWIucGVtIF4NCj4gKyAgLW8gJUZNUF9DQVBT VUxFX0ZJTEUlIF4NCj4gKyAgJUZNUF9DQVBTVUxFX1BBWUxPQUQlDQo+ICsNCj4gK2NvcHkgJUZN UF9DQVBTVUxFX0ZJTEUlICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhDQo+ IHBzdWxlc1xUZXN0Q2VydA0KPiArDQo+ICtjb3B5ICVGTVBfQ0FQU1VMRV9GSUxFJSBmaXJtd2Fy ZS5iaW4NCj4gK2NvcHkgdGVtcGxhdGUubWV0YWluZm8ueG1sIGZpcm13YXJlLm1ldGFpbmZvLnht bA0KPiArcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZvLnhtbCkgLXJl cGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0dVSUQnLCAnJUZNUF9DQVBTVUxFX0dVSUQlJyB8IE91dC1G aWxlDQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2RpbmcgQVNDSUkiDQo+ICtwb3dlcnNo ZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1Q X0NBUFNVTEVfQkFTRV9OQU1FJywgJyVGTVBfQ0FQU1VMRV9CQVNFX05BTUUlJyB8IE91dC1GaWxl DQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2RpbmcgQVNDSUkiDQo+ICtwb3dlcnNoZWxs IC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NB UFNVTEVfVkVSU0lPTl9ERUNJTUFMJywNCj4gJyVGTVBfQ0FQU1VMRV9WRVJTSU9OX0RFQ0lNQUwl JyB8IE91dC1GaWxlIGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5nIEFTQ0lJIg0K PiArcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZvLnhtbCkgLXJlcGxh Y2UNCj4gJ0ZNUF9DQVBTVUxFX1NUUklORycsICclRk1QX0NBUFNVTEVfU1RSSU5HJScgfCBPdXQt RmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5mby54bWwgLWVuY29kaW5nIEFTQ0lJIg0KPiArcG93ZXJz aGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZvLnhtbCkgLXJlcGxhY2UNCj4gJ0ZN UF9DQVBTVUxFX0RBVEUnLCAnJWRhdGUlJyB8IE91dC1GaWxlIGZpcm13YXJlLm1ldGFpbmZvLnht bCAtDQo+IGVuY29kaW5nIEFTQ0lJIg0KPiArbWFrZWNhYiAvZiBMdmZzLmRkZg0KPiArY29weQ0K PiBmaXJtd2FyZS5jYWIgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fwc3Vs ZXNcVGVzdENlcnRcDQo+ICVGTVBfQ0FQU1VMRV9CQVNFX05BTUUlLSVGTVBfQ0FQU1VMRV9TVFJJ TkclLmNhYg0KPiArDQo+ICtlcmFzZSBmaXJtd2FyZS5jYWINCj4gK2VyYXNlIHNldHVwLmluZg0K PiArZXJhc2Ugc2V0dXAucnB0DQo+ICsNCj4gK2VyYXNlIGZpcm13YXJlLm1ldGFpbmZvLnhtbA0K PiArZXJhc2UgZmlybXdhcmUuYmluDQo+ICtlcmFzZSAlRk1QX0NBUFNVTEVfRklMRSUNCj4gZGlm ZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fw c3VsZS9HZW5lcmF0ZUNhcHN1bGUvTHZmcw0KPiBHZW5DYXBzdWxlTWlubm93TWF4UmVsZWFzZS5i YXQNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUv R2VuZXJhdGVDYXBzdWxlL0x2ZnMNCj4gR2VuQ2Fwc3VsZU1pbm5vd01heFJlbGVhc2UuYmF0DQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjJiNjhhOThmOTgNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL0x2ZnMNCj4gR2VuQ2Fwc3VsZU1pbm5v d01heFJlbGVhc2UuYmF0DQo+IEBAIC0wLDAgKzEsMTM5IEBADQo+ICtAUkVNIEBmaWxlDQo+ICtA UkVNICAgV2luZG93cyBiYXRjaCBmaWxlIHRvIGdlbmVyYXRlIFVFRkkgY2Fwc3VsZXMgZm9yIHN5 c3RlbSBmaXJtd2FyZQ0KPiArQFJFTQ0KPiArQFJFTSBDb3B5cmlnaHQgKGMpIDIwMTgsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK0BSRU0NCj4gK0BSRU0g U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gK0BSRU0NCj4g Kw0KPiArQGVjaG8gb2ZmDQo+ICtzZXRsb2NhbA0KPiArDQo+ICtzZXQgRk1QX0NBUFNVTEVfVkVO RE9SPUludGVsDQo+ICtzZXQgRk1QX0NBUFNVTEVfR1VJRD00MDk2MjY3Yi1kYTBhLTQyZWItYjVl Yi1mZWYzMWQyMDdjYjQNCj4gK3NldCBGTVBfQ0FQU1VMRV9CQVNFX05BTUU9TWlubm93TWF4UmVs ZWFzZQ0KPiArc2V0IEZNUF9DQVBTVUxFX0ZJTEU9JUZNUF9DQVBTVUxFX0JBU0VfTkFNRSUuY2Fw DQo+ICtzZXQgRk1QX0NBUFNVTEVfVkVSU0lPTj0weDAwMDAwMDBDDQo+ICtzZXQgRk1QX0NBUFNV TEVfVkVSU0lPTl9ERUNJTUFMPTEyDQo+ICtzZXQgRk1QX0NBUFNVTEVfU1RSSU5HPTAuMC4wLjEy DQo+ICtzZXQgRk1QX0NBUFNVTEVfTkFNRT0iSW50ZWwgJUZNUF9DQVBTVUxFX0JBU0VfTkFNRSUg UkVMRUFTRQ0KPiBVRUZJICVGTVBfQ0FQU1VMRV9TVFJJTkclIg0KPiArc2V0IEZNUF9DQVBTVUxF X0xTVj0weDAwMDAwMDAwDQo+ICtzZXQgRk1QX0NBUFNVTEVfS0VZPVNBTVBMRV9ERVZFTE9QTUVO VC5wZngNCj4gK3NldA0KPiBGTVBfQ0FQU1VMRV9QQVlMT0FEPSVXT1JLU1BBQ0UlXEJ1aWxkXFZs djJUYmx0RGV2aWNlUGtnXFJFTEVBUw0KPiBFX1ZTMjAxNXg4NlxGVlxWbHYuUk9NDQo+ICtzZXQg V0lORE9XU19DQVBTVUxFX0tFWT1TQU1QTEVfREVWRUxPUE1FTlQucGZ4DQo+ICsNCj4gK2lmIG5v dCBleGlzdCAiJUZNUF9DQVBTVUxFX1BBWUxPQUQlIiBleGl0IC9iDQo+ICsNCj4gK2lmIGV4aXN0 ICIlRk1QX0NBUFNVTEVfS0VZJSIgKA0KPiArICBSRU0NCj4gKyAgUkVNIFNpZ24gY2Fwc3VsZSB1 c2luZyBzaWdudG9vbA0KPiArICBSRU0NCj4gKyAgY2FsbCBHZW5lcmF0ZUNhcHN1bGUgXg0KPiAr ICAgIC0tZW5jb2RlIF4NCj4gKyAgICAtdiBeDQo+ICsgICAgLS1ndWlkICVGTVBfQ0FQU1VMRV9H VUlEJSBeDQo+ICsgICAgLS1mdy12ZXJzaW9uICVGTVBfQ0FQU1VMRV9WRVJTSU9OJSBeDQo+ICsg ICAgLS1sc3YgJUZNUF9DQVBTVUxFX0xTViUgXg0KPiArICAgIC0tY2FwZmxhZyBQZXJzaXN0QWNy b3NzUmVzZXQgXg0KPiArICAgIC0tY2FwZmxhZyBJbml0aWF0ZVJlc2V0IF4NCj4gKyAgICAtLXNp Z25pbmctdG9vbC1wYXRoPSJjOlxQcm9ncmFtIEZpbGVzICh4ODYpXFdpbmRvd3MgS2l0c1w4LjFc YmluXHg4NiIgXg0KPiArICAgIC0tcGZ4LWZpbGUgJUZNUF9DQVBTVUxFX0tFWSUgXg0KPiArICAg IC1vICVGTVBfQ0FQU1VMRV9GSUxFJSBeDQo+ICsgICAgJUZNUF9DQVBTVUxFX1BBWUxPQUQlDQo+ ICsNCj4gKw0KPiBjb3B5ICVGTVBfQ0FQU1VMRV9GSUxFJSAlV09SS1NQQUNFJVxCdWlsZFxWbHYy VGJsdERldmljZVBrZ1xDYXBzDQo+IHVsZXNcU2FtcGxlRGV2ZWxvcG1lbnQNCj4gKw0KPiArICBj b3B5ICVGTVBfQ0FQU1VMRV9GSUxFJSBmaXJtd2FyZS5iaW4NCj4gKyAgY29weSB0ZW1wbGF0ZS5t ZXRhaW5mby54bWwgZmlybXdhcmUubWV0YWluZm8ueG1sDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1h bmQgIihnYyBmaXJtd2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9H VUlEJywgJyVGTVBfQ0FQU1VMRV9HVUlEJScgfCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5m by54bWwgLWVuY29kaW5nIEFTQ0lJIg0KPiArICBwb3dlcnNoZWxsIC1Db21tYW5kICIoZ2MgZmly bXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NBUFNVTEVfQkFTRV9OQU1FJywg JyVGTVBfQ0FQU1VMRV9CQVNFX05BTUUlJyB8IE91dC1GaWxlDQo+IGZpcm13YXJlLm1ldGFpbmZv LnhtbCAtZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJt d2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9WRVJTSU9OX0RFQ0lN QUwnLA0KPiAnJUZNUF9DQVBTVUxFX1ZFUlNJT05fREVDSU1BTCUnIHwgT3V0LUZpbGUgZmlybXdh cmUubWV0YWluZm8ueG1sIC0NCj4gZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNv bW1hbmQgIihnYyBmaXJtd2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VM RV9TVFJJTkcnLCAnJUZNUF9DQVBTVUxFX1NUUklORyUnIHwgT3V0LUZpbGUNCj4gZmlybXdhcmUu bWV0YWluZm8ueG1sIC1lbmNvZGluZyBBU0NJSSINCj4gKyAgcG93ZXJzaGVsbCAtQ29tbWFuZCAi KGdjIGZpcm13YXJlLm1ldGFpbmZvLnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0RBVEUn LCAnJWRhdGUlJyB8IE91dC1GaWxlIGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5n IEFTQ0lJIg0KPiArICBtYWtlY2FiIC9mIEx2ZnMuZGRmDQo+ICsgIGNvcHkNCj4gZmlybXdhcmUu Y2FiICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1bGVzXFRlc3RDZXJ0 XA0KPiAlRk1QX0NBUFNVTEVfQkFTRV9OQU1FJS0lRk1QX0NBUFNVTEVfU1RSSU5HJS5jYWINCj4g Kw0KPiArICBlcmFzZSBmaXJtd2FyZS5jYWINCj4gKyAgZXJhc2Ugc2V0dXAuaW5mDQo+ICsgIGVy YXNlIHNldHVwLnJwdA0KPiArDQo+ICsgIGVyYXNlIGZpcm13YXJlLm1ldGFpbmZvLnhtbA0KPiAr ICBlcmFzZSBmaXJtd2FyZS5iaW4NCj4gKyAgZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+ICsp DQo+ICsNCj4gK2lmIGV4aXN0ICJOZXdDZXJ0LnBlbSIgKA0KPiArICBSRU0NCj4gKyAgUkVNIFNp Z24gY2Fwc3VsZSB1c2luZyBPcGVuU1NMIHdpdGggYSBuZXcgY2VydGlmaWNhdGUNCj4gKyAgUkVN DQo+ICsgIGNhbGwgR2VuZXJhdGVDYXBzdWxlIF4NCj4gKyAgICAtLWVuY29kZSBeDQo+ICsgICAg LXYgXg0KPiArICAgIC0tZ3VpZCAlRk1QX0NBUFNVTEVfR1VJRCUgXg0KPiArICAgIC0tZnctdmVy c2lvbiAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiArICAgIC0tbHN2ICVGTVBfQ0FQU1VMRV9M U1YlIF4NCj4gKyAgICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jlc2V0IF4NCj4gKyAgICAtLWNh cGZsYWcgSW5pdGlhdGVSZXNldCBeDQo+ICsgICAgLS1zaWduZXItcHJpdmF0ZS1jZXJ0PU5ld0Nl cnQucGVtIF4NCj4gKyAgICAtLW90aGVyLXB1YmxpYy1jZXJ0PU5ld1N1Yi5wdWIucGVtIF4NCj4g KyAgICAtLXRydXN0ZWQtcHVibGljLWNlcnQ9TmV3Um9vdC5wdWIucGVtIF4NCj4gKyAgICAtbyAl Rk1QX0NBUFNVTEVfRklMRSUgXg0KPiArICAgICVGTVBfQ0FQU1VMRV9QQVlMT0FEJQ0KPiArDQo+ ICsNCj4gY29weSAlRk1QX0NBUFNVTEVfRklMRSUgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHRE ZXZpY2VQa2dcQ2Fwcw0KPiB1bGVzXE5ld0NlcnQNCj4gKw0KPiArICBjb3B5ICVGTVBfQ0FQU1VM RV9GSUxFJSBmaXJtd2FyZS5iaW4NCj4gKyAgY29weSB0ZW1wbGF0ZS5tZXRhaW5mby54bWwgZmly bXdhcmUubWV0YWluZm8ueG1sDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2Fy ZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9HVUlEJywgJyVGTVBfQ0FQ U1VMRV9HVUlEJScgfCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5mby54bWwgLWVuY29kaW5n IEFTQ0lJIg0KPiArICBwb3dlcnNoZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8u eG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NBUFNVTEVfQkFTRV9OQU1FJywgJyVGTVBfQ0FQU1VMRV9C QVNFX05BTUUlJyB8IE91dC1GaWxlDQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2Rpbmcg QVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2FyZS5tZXRhaW5mby54 bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9WRVJTSU9OX0RFQ0lNQUwnLA0KPiAnJUZNUF9D QVBTVUxFX1ZFUlNJT05fREVDSU1BTCUnIHwgT3V0LUZpbGUgZmlybXdhcmUubWV0YWluZm8ueG1s IC0NCj4gZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJt d2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9TVFJJTkcnLCAnJUZN UF9DQVBTVUxFX1NUUklORyUnIHwgT3V0LUZpbGUNCj4gZmlybXdhcmUubWV0YWluZm8ueG1sIC1l bmNvZGluZyBBU0NJSSINCj4gKyAgcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1l dGFpbmZvLnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0RBVEUnLCAnJWRhdGUlJyB8IE91 dC1GaWxlIGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5nIEFTQ0lJIg0KPiArICBt YWtlY2FiIC9mIEx2ZnMuZGRmDQo+ICsgIGNvcHkNCj4gZmlybXdhcmUuY2FiICVXT1JLU1BBQ0Ul XEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1bGVzXFRlc3RDZXJ0XA0KPiAlRk1QX0NBUFNV TEVfQkFTRV9OQU1FJS0lRk1QX0NBUFNVTEVfU1RSSU5HJS5jYWINCj4gKw0KPiArICBlcmFzZSBm aXJtd2FyZS5jYWINCj4gKyAgZXJhc2Ugc2V0dXAuaW5mDQo+ICsgIGVyYXNlIHNldHVwLnJwdA0K PiArDQo+ICsgIGVyYXNlIGZpcm13YXJlLm1ldGFpbmZvLnhtbA0KPiArICBlcmFzZSBmaXJtd2Fy ZS5iaW4NCj4gKyAgZXJhc2UgJUZNUF9DQVBTVUxFX0ZJTEUlDQo+ICspDQo+ICsNCj4gK1JFTQ0K PiArUkVNIFNpZ24gY2Fwc3VsZSB1c2luZyBPcGVuU1NMIHdpdGggRURLIElJIFRlc3QgQ2VydGlm aWNhdGUNCj4gK1JFTQ0KPiArY2FsbCBHZW5lcmF0ZUNhcHN1bGUgXg0KPiArICAtLWVuY29kZSBe DQo+ICsgIC12IF4NCj4gKyAgLS1ndWlkICVGTVBfQ0FQU1VMRV9HVUlEJSBeDQo+ICsgIC0tZnct dmVyc2lvbiAlRk1QX0NBUFNVTEVfVkVSU0lPTiUgXg0KPiArICAtLWxzdiAlRk1QX0NBUFNVTEVf TFNWJSBeDQo+ICsgIC0tY2FwZmxhZyBQZXJzaXN0QWNyb3NzUmVzZXQgXg0KPiArICAtLWNhcGZs YWcgSW5pdGlhdGVSZXNldCBeDQo+ICsgIC0tc2lnbmVyLXByaXZhdGUtDQo+IGNlcnQ9JVdPUktT UEFDRSVcZWRrMlxCYXNlVG9vbHNcU291cmNlXFB5dGhvblxQa2NzN1NpZ25cVGVzdENlcnQucA0K PiBlbSBeDQo+ICsgIC0tb3RoZXItcHVibGljLQ0KPiBjZXJ0PSVXT1JLU1BBQ0UlXGVkazJcQmFz ZVRvb2xzXFNvdXJjZVxQeXRob25cUGtjczdTaWduXFRlc3RTdWIucA0KPiB1Yi5wZW0gXg0KPiAr ICAtLXRydXN0ZWQtcHVibGljLQ0KPiBjZXJ0PSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRvb2xzXFNv dXJjZVxQeXRob25cUGtjczdTaWduXFRlc3RSb290Lg0KPiBwdWIucGVtIF4NCj4gKyAgLW8gJUZN UF9DQVBTVUxFX0ZJTEUlIF4NCj4gKyAgJUZNUF9DQVBTVUxFX1BBWUxPQUQlDQo+ICsNCj4gK2Nv cHkgJUZNUF9DQVBTVUxFX0ZJTEUlICVXT1JLU1BBQ0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtn XENhDQo+IHBzdWxlc1xUZXN0Q2VydA0KPiArDQo+ICtjb3B5ICVGTVBfQ0FQU1VMRV9GSUxFJSBm aXJtd2FyZS5iaW4NCj4gK2NvcHkgdGVtcGxhdGUubWV0YWluZm8ueG1sIGZpcm13YXJlLm1ldGFp bmZvLnhtbA0KPiArcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZvLnht bCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0dVSUQnLCAnJUZNUF9DQVBTVUxFX0dVSUQlJyB8 IE91dC1GaWxlDQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2RpbmcgQVNDSUkiDQo+ICtw b3dlcnNoZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0K PiAnRk1QX0NBUFNVTEVfQkFTRV9OQU1FJywgJyVGTVBfQ0FQU1VMRV9CQVNFX05BTUUlJyB8IE91 dC1GaWxlDQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2RpbmcgQVNDSUkiDQo+ICtwb3dl cnNoZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAn Rk1QX0NBUFNVTEVfVkVSU0lPTl9ERUNJTUFMJywNCj4gJyVGTVBfQ0FQU1VMRV9WRVJTSU9OX0RF Q0lNQUwlJyB8IE91dC1GaWxlIGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5nIEFT Q0lJIg0KPiArcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZvLnhtbCkg LXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX1NUUklORycsICclRk1QX0NBUFNVTEVfU1RSSU5HJScg fCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5mby54bWwgLWVuY29kaW5nIEFTQ0lJIg0KPiAr cG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZvLnhtbCkgLXJlcGxhY2UN Cj4gJ0ZNUF9DQVBTVUxFX0RBVEUnLCAnJWRhdGUlJyB8IE91dC1GaWxlIGZpcm13YXJlLm1ldGFp bmZvLnhtbCAtDQo+IGVuY29kaW5nIEFTQ0lJIg0KPiArbWFrZWNhYiAvZiBMdmZzLmRkZg0KPiAr Y29weQ0KPiBmaXJtd2FyZS5jYWIgJVdPUktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dc Q2Fwc3VsZXNcVGVzdENlcnRcDQo+ICVGTVBfQ0FQU1VMRV9CQVNFX05BTUUlLSVGTVBfQ0FQU1VM RV9TVFJJTkclLmNhYg0KPiArDQo+ICtlcmFzZSBmaXJtd2FyZS5jYWINCj4gK2VyYXNlIHNldHVw LmluZg0KPiArZXJhc2Ugc2V0dXAucnB0DQo+ICsNCj4gK2VyYXNlIGZpcm13YXJlLm1ldGFpbmZv LnhtbA0KPiArZXJhc2UgZmlybXdhcmUuYmluDQo+ICtlcmFzZSAlRk1QX0NBUFNVTEVfRklMRSUN Cj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1 cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvTHZmcw0KPiBHZW5DYXBzdWxlU2FtcGxlQ29sb3Iu YmF0DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxl L0dlbmVyYXRlQ2Fwc3VsZS9MdmZzDQo+IEdlbkNhcHN1bGVTYW1wbGVDb2xvci5iYXQNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMWRiYmU3MzQxZA0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Zl YXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvTHZmcw0KPiBHZW5DYXBzdWxlU2FtcGxlQ29s b3IuYmF0DQo+IEBAIC0wLDAgKzEsMTQ1IEBADQo+ICtAUkVNIEBmaWxlDQo+ICtAUkVNICAgV2lu ZG93cyBiYXRjaCBmaWxlIHRvIGdlbmVyYXRlIFVFRkkgY2Fwc3VsZXMgZm9yIGEgc2FtcGxlIGRl dmljZQ0KPiArQFJFTQ0KPiArQFJFTSBDb3B5cmlnaHQgKGMpIDIwMTgsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK0BSRU0NCj4gK0BSRU0gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gK0BSRU0NCj4gKw0KPiArQGVj aG8gb2ZmDQo+ICtzZXRsb2NhbA0KPiArDQo+ICtzZXQgQ09MT1I9JTENCj4gKw0KPiArc2V0IEZN UF9DQVBTVUxFX1ZFTkRPUj1JbnRlbA0KPiArc2V0IEZNUF9DQVBTVUxFX0dVSUQ9JTINCj4gK3Nl dCBGTVBfQ0FQU1VMRV9CQVNFX05BTUU9JUNPTE9SJQ0KPiArc2V0IEZNUF9DQVBTVUxFX0ZJTEU9 JUZNUF9DQVBTVUxFX0JBU0VfTkFNRSUuY2FwDQo+ICtzZXQgRk1QX0NBUFNVTEVfVkVSU0lPTj0w eDAwMDAwMDEwDQo+ICtzZXQgRk1QX0NBUFNVTEVfVkVSU0lPTl9ERUNJTUFMPTE2DQo+ICtzZXQg Rk1QX0NBUFNVTEVfU1RSSU5HPTAuMC4wLjE2DQo+ICtzZXQgRk1QX0NBUFNVTEVfTkFNRT0iJUZN UF9DQVBTVUxFX0JBU0VfTkFNRSUgUHJvZ3Jlc3MNCj4gQmFyICVGTVBfQ0FQU1VMRV9TVFJJTkcl Ig0KPiArc2V0IEZNUF9DQVBTVUxFX0xTVj0weDAwMDAwMDAwDQo+ICtzZXQgRk1QX0NBUFNVTEVf S0VZPVNBTVBMRV9ERVZFTE9QTUVOVC5wZngNCj4gK3NldCBGTVBfQ0FQU1VMRV9QQVlMT0FEPVBh eWxvYWQuYmluDQo+ICtzZXQgV0lORE9XU19DQVBTVUxFX0tFWT1TQU1QTEVfREVWRUxPUE1FTlQu cGZ4DQo+ICsNCj4gK2VjaG8gIiVDT0xPUiUgUHJvZ3Jlc3MgQmFyIiA+ICVGTVBfQ0FQU1VMRV9Q QVlMT0FEJQ0KPiArDQo+ICtpZiBub3QgZXhpc3QgIiVGTVBfQ0FQU1VMRV9QQVlMT0FEJSIgZXhp dA0KPiArDQo+ICtpZiBleGlzdCAiJUZNUF9DQVBTVUxFX0tFWSUiICgNCj4gKyAgUkVNDQo+ICsg IFJFTSBTaWduIGNhcHN1bGUgdXNpbmcgc2lnbnRvb2wNCj4gKyAgUkVNDQo+ICsgIGNhbGwgR2Vu ZXJhdGVDYXBzdWxlIF4NCj4gKyAgICAtLWVuY29kZSBeDQo+ICsgICAgLXYgXg0KPiArICAgIC0t Z3VpZCAlRk1QX0NBUFNVTEVfR1VJRCUgXg0KPiArICAgIC0tZnctdmVyc2lvbiAlRk1QX0NBUFNV TEVfVkVSU0lPTiUgXg0KPiArICAgIC0tbHN2ICVGTVBfQ0FQU1VMRV9MU1YlIF4NCj4gKyAgICAt LWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jlc2V0IF4NCj4gKyAgICAtLWNhcGZsYWcgSW5pdGlhdGVS ZXNldCBeDQo+ICsgICAgLS1zaWduaW5nLXRvb2wtcGF0aD0iYzpcUHJvZ3JhbSBGaWxlcyAoeDg2 KVxXaW5kb3dzIEtpdHNcOC4xXGJpblx4ODYiIF4NCj4gKyAgICAtLXBmeC1maWxlICVGTVBfQ0FQ U1VMRV9LRVklIF4NCj4gKyAgICAtbyAlRk1QX0NBUFNVTEVfRklMRSUgXg0KPiArICAgICVGTVBf Q0FQU1VMRV9QQVlMT0FEJQ0KPiArDQo+ICsNCj4gY29weSAlRk1QX0NBUFNVTEVfRklMRSUgJVdP UktTUEFDRSVcQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fwcw0KPiB1bGVzXFNhbXBsZURldmVs b3BtZW50DQo+ICsNCj4gKyAgY29weSAlRk1QX0NBUFNVTEVfRklMRSUgZmlybXdhcmUuYmluDQo+ ICsgIGNvcHkgdGVtcGxhdGUubWV0YWluZm8ueG1sIGZpcm13YXJlLm1ldGFpbmZvLnhtbA0KPiAr ICBwb3dlcnNoZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFj ZQ0KPiAnRk1QX0NBUFNVTEVfR1VJRCcsICclRk1QX0NBUFNVTEVfR1VJRCUnIHwgT3V0LUZpbGUN Cj4gZmlybXdhcmUubWV0YWluZm8ueG1sIC1lbmNvZGluZyBBU0NJSSINCj4gKyAgcG93ZXJzaGVs bCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZvLnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9D QVBTVUxFX0JBU0VfTkFNRScsICclRk1QX0NBUFNVTEVfQkFTRV9OQU1FJScgfCBPdXQtRmlsZQ0K PiBmaXJtd2FyZS5tZXRhaW5mby54bWwgLWVuY29kaW5nIEFTQ0lJIg0KPiArICBwb3dlcnNoZWxs IC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NB UFNVTEVfVkVSU0lPTl9ERUNJTUFMJywNCj4gJyVGTVBfQ0FQU1VMRV9WRVJTSU9OX0RFQ0lNQUwl JyB8IE91dC1GaWxlIGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5nIEFTQ0lJIg0K PiArICBwb3dlcnNoZWxsIC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVw bGFjZQ0KPiAnRk1QX0NBUFNVTEVfU1RSSU5HJywgJyVGTVBfQ0FQU1VMRV9TVFJJTkclJyB8IE91 dC1GaWxlDQo+IGZpcm13YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBv d2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ ICdGTVBfQ0FQU1VMRV9EQVRFJywgJyVkYXRlJScgfCBPdXQtRmlsZSBmaXJtd2FyZS5tZXRhaW5m by54bWwgLQ0KPiBlbmNvZGluZyBBU0NJSSINCj4gKyAgbWFrZWNhYiAvZiBMdmZzLmRkZg0KPiAr ICBjb3B5DQo+IGZpcm13YXJlLmNhYiAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBr Z1xDYXBzdWxlc1xUZXN0Q2VydFwNCj4gJUZNUF9DQVBTVUxFX0JBU0VfTkFNRSUtJUZNUF9DQVBT VUxFX1NUUklORyUuY2FiDQo+ICsNCj4gKyAgZXJhc2UgZmlybXdhcmUuY2FiDQo+ICsgIGVyYXNl IHNldHVwLmluZg0KPiArICBlcmFzZSBzZXR1cC5ycHQNCj4gKw0KPiArICBlcmFzZSBmaXJtd2Fy ZS5tZXRhaW5mby54bWwNCj4gKyAgZXJhc2UgZmlybXdhcmUuYmluDQo+ICsgIGVyYXNlICVGTVBf Q0FQU1VMRV9GSUxFJQ0KPiArKQ0KPiArDQo+ICtpZiBleGlzdCAiTmV3Q2VydC5wZW0iICgNCj4g KyAgUkVNDQo+ICsgIFJFTSBTaWduIGNhcHN1bGUgdXNpbmcgT3BlblNTTCB3aXRoIGEgbmV3IGNl cnRpZmljYXRlDQo+ICsgIFJFTQ0KPiArICBjYWxsIEdlbmVyYXRlQ2Fwc3VsZSBeDQo+ICsgICAg LS1lbmNvZGUgXg0KPiArICAgIC12IF4NCj4gKyAgICAtLWd1aWQgJUZNUF9DQVBTVUxFX0dVSUQl IF4NCj4gKyAgICAtLWZ3LXZlcnNpb24gJUZNUF9DQVBTVUxFX1ZFUlNJT04lIF4NCj4gKyAgICAt LWxzdiAlRk1QX0NBUFNVTEVfTFNWJSBeDQo+ICsgICAgLS1jYXBmbGFnIFBlcnNpc3RBY3Jvc3NS ZXNldCBeDQo+ICsgICAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXg0KPiArICAgIC0tc2lnbmVy LXByaXZhdGUtY2VydD1OZXdDZXJ0LnBlbSBeDQo+ICsgICAgLS1vdGhlci1wdWJsaWMtY2VydD1O ZXdTdWIucHViLnBlbSBeDQo+ICsgICAgLS10cnVzdGVkLXB1YmxpYy1jZXJ0PU5ld1Jvb3QucHVi LnBlbSBeDQo+ICsgICAgLW8gJUZNUF9DQVBTVUxFX0ZJTEUlIF4NCj4gKyAgICAlRk1QX0NBUFNV TEVfUEFZTE9BRCUNCj4gKw0KPiArDQo+IGNvcHkgJUZNUF9DQVBTVUxFX0ZJTEUlICVXT1JLU1BB Q0UlXEJ1aWxkXFZsdjJUYmx0RGV2aWNlUGtnXENhcHMNCj4gdWxlc1xOZXdDZXJ0DQo+ICsNCj4g KyAgY29weSAlRk1QX0NBUFNVTEVfRklMRSUgZmlybXdhcmUuYmluDQo+ICsgIGNvcHkgdGVtcGxh dGUubWV0YWluZm8ueG1sIGZpcm13YXJlLm1ldGFpbmZvLnhtbA0KPiArICBwb3dlcnNoZWxsIC1D b21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NBUFNV TEVfR1VJRCcsICclRk1QX0NBUFNVTEVfR1VJRCUnIHwgT3V0LUZpbGUNCj4gZmlybXdhcmUubWV0 YWluZm8ueG1sIC1lbmNvZGluZyBBU0NJSSINCj4gKyAgcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdj IGZpcm13YXJlLm1ldGFpbmZvLnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0JBU0VfTkFN RScsICclRk1QX0NBUFNVTEVfQkFTRV9OQU1FJScgfCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRh aW5mby54bWwgLWVuY29kaW5nIEFTQ0lJIg0KPiArICBwb3dlcnNoZWxsIC1Db21tYW5kICIoZ2Mg ZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NBUFNVTEVfVkVSU0lPTl9E RUNJTUFMJywNCj4gJyVGTVBfQ0FQU1VMRV9WRVJTSU9OX0RFQ0lNQUwlJyB8IE91dC1GaWxlIGZp cm13YXJlLm1ldGFpbmZvLnhtbCAtDQo+IGVuY29kaW5nIEFTQ0lJIg0KPiArICBwb3dlcnNoZWxs IC1Db21tYW5kICIoZ2MgZmlybXdhcmUubWV0YWluZm8ueG1sKSAtcmVwbGFjZQ0KPiAnRk1QX0NB UFNVTEVfU1RSSU5HJywgJyVGTVBfQ0FQU1VMRV9TVFJJTkclJyB8IE91dC1GaWxlDQo+IGZpcm13 YXJlLm1ldGFpbmZvLnhtbCAtZW5jb2RpbmcgQVNDSUkiDQo+ICsgIHBvd2Vyc2hlbGwgLUNvbW1h bmQgIihnYyBmaXJtd2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9E QVRFJywgJyVkYXRlJScgfCBPdXQtRmlsZSBmaXJtd2FyZS5tZXRhaW5mby54bWwgLQ0KPiBlbmNv ZGluZyBBU0NJSSINCj4gKyAgbWFrZWNhYiAvZiBMdmZzLmRkZg0KPiArICBjb3B5DQo+IGZpcm13 YXJlLmNhYiAlV09SS1NQQUNFJVxCdWlsZFxWbHYyVGJsdERldmljZVBrZ1xDYXBzdWxlc1xUZXN0 Q2VydFwNCj4gJUZNUF9DQVBTVUxFX0JBU0VfTkFNRSUtJUZNUF9DQVBTVUxFX1NUUklORyUuY2Fi DQo+ICsNCj4gKyAgZXJhc2UgZmlybXdhcmUuY2FiDQo+ICsgIGVyYXNlIHNldHVwLmluZg0KPiAr ICBlcmFzZSBzZXR1cC5ycHQNCj4gKw0KPiArICBlcmFzZSBmaXJtd2FyZS5tZXRhaW5mby54bWwN Cj4gKyAgZXJhc2UgZmlybXdhcmUuYmluDQo+ICsgIGVyYXNlICVGTVBfQ0FQU1VMRV9GSUxFJQ0K PiArKQ0KPiArDQo+ICtSRU0NCj4gK1JFTSBTaWduIGNhcHN1bGUgdXNpbmcgT3BlblNTTCB3aXRo IEVESyBJSSBUZXN0IENlcnRpZmljYXRlDQo+ICtSRU0NCj4gK2NhbGwgR2VuZXJhdGVDYXBzdWxl IF4NCj4gKyAgLS1lbmNvZGUgXg0KPiArICAtdiBeDQo+ICsgIC0tZ3VpZCAlRk1QX0NBUFNVTEVf R1VJRCUgXg0KPiArICAtLWZ3LXZlcnNpb24gJUZNUF9DQVBTVUxFX1ZFUlNJT04lIF4NCj4gKyAg LS1sc3YgJUZNUF9DQVBTVUxFX0xTViUgXg0KPiArICAtLWNhcGZsYWcgUGVyc2lzdEFjcm9zc1Jl c2V0IF4NCj4gKyAgLS1jYXBmbGFnIEluaXRpYXRlUmVzZXQgXg0KPiArICAtLXNpZ25lci1wcml2 YXRlLQ0KPiBjZXJ0PSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRvb2xzXFNvdXJjZVxQeXRob25cUGtj czdTaWduXFRlc3RDZXJ0LnANCj4gZW0gXg0KPiArICAtLW90aGVyLXB1YmxpYy0NCj4gY2VydD0l V09SS1NQQUNFJVxlZGsyXEJhc2VUb29sc1xTb3VyY2VcUHl0aG9uXFBrY3M3U2lnblxUZXN0U3Vi LnANCj4gdWIucGVtIF4NCj4gKyAgLS10cnVzdGVkLXB1YmxpYy0NCj4gY2VydD0lV09SS1NQQUNF JVxlZGsyXEJhc2VUb29sc1xTb3VyY2VcUHl0aG9uXFBrY3M3U2lnblxUZXN0Um9vdC4NCj4gcHVi LnBlbSBeDQo+ICsgIC1vICVGTVBfQ0FQU1VMRV9GSUxFJSBeDQo+ICsgICVGTVBfQ0FQU1VMRV9Q QVlMT0FEJQ0KPiArDQo+ICtjb3B5ICVGTVBfQ0FQU1VMRV9GSUxFJSAlV09SS1NQQUNFJVxCdWls ZFxWbHYyVGJsdERldmljZVBrZ1xDYQ0KPiBwc3VsZXNcVGVzdENlcnQNCj4gKw0KPiArY29weSAl Rk1QX0NBUFNVTEVfRklMRSUgZmlybXdhcmUuYmluDQo+ICtjb3B5IHRlbXBsYXRlLm1ldGFpbmZv LnhtbCBmaXJtd2FyZS5tZXRhaW5mby54bWwNCj4gK3Bvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBm aXJtd2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9HVUlEJywgJyVG TVBfQ0FQU1VMRV9HVUlEJScgfCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5mby54bWwgLWVu Y29kaW5nIEFTQ0lJIg0KPiArcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFp bmZvLnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX0JBU0VfTkFNRScsICclRk1QX0NBUFNV TEVfQkFTRV9OQU1FJScgfCBPdXQtRmlsZQ0KPiBmaXJtd2FyZS5tZXRhaW5mby54bWwgLWVuY29k aW5nIEFTQ0lJIg0KPiArcG93ZXJzaGVsbCAtQ29tbWFuZCAiKGdjIGZpcm13YXJlLm1ldGFpbmZv LnhtbCkgLXJlcGxhY2UNCj4gJ0ZNUF9DQVBTVUxFX1ZFUlNJT05fREVDSU1BTCcsDQo+ICclRk1Q X0NBUFNVTEVfVkVSU0lPTl9ERUNJTUFMJScgfCBPdXQtRmlsZSBmaXJtd2FyZS5tZXRhaW5mby54 bWwgLQ0KPiBlbmNvZGluZyBBU0NJSSINCj4gK3Bvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJt d2FyZS5tZXRhaW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9TVFJJTkcnLCAnJUZN UF9DQVBTVUxFX1NUUklORyUnIHwgT3V0LUZpbGUNCj4gZmlybXdhcmUubWV0YWluZm8ueG1sIC1l bmNvZGluZyBBU0NJSSINCj4gK3Bvd2Vyc2hlbGwgLUNvbW1hbmQgIihnYyBmaXJtd2FyZS5tZXRh aW5mby54bWwpIC1yZXBsYWNlDQo+ICdGTVBfQ0FQU1VMRV9EQVRFJywgJyVkYXRlJScgfCBPdXQt RmlsZSBmaXJtd2FyZS5tZXRhaW5mby54bWwgLQ0KPiBlbmNvZGluZyBBU0NJSSINCj4gK21ha2Vj YWIgL2YgTHZmcy5kZGYNCj4gK2NvcHkNCj4gZmlybXdhcmUuY2FiICVXT1JLU1BBQ0UlXEJ1aWxk XFZsdjJUYmx0RGV2aWNlUGtnXENhcHN1bGVzXFRlc3RDZXJ0XA0KPiAlRk1QX0NBUFNVTEVfQkFT RV9OQU1FJS0lRk1QX0NBUFNVTEVfU1RSSU5HJS5jYWINCj4gKw0KPiArZXJhc2UgZmlybXdhcmUu Y2FiDQo+ICtlcmFzZSBzZXR1cC5pbmYNCj4gK2VyYXNlIHNldHVwLnJwdA0KPiArDQo+ICtlcmFz ZSBmaXJtd2FyZS5tZXRhaW5mby54bWwNCj4gK2VyYXNlIGZpcm13YXJlLmJpbg0KPiArZXJhc2Ug JUZNUF9DQVBTVUxFX0ZJTEUlDQo+ICsNCj4gK2VyYXNlICVGTVBfQ0FQU1VMRV9QQVlMT0FEJQ0K PiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVy ZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9OZQ0KPiB3Um9vdC5jZXIuZ0ZtcERldmljZVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVBrY3M3Q2VydEJ1ZmZlclgNCj4gZHIuaW5jDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRl Q2Fwc3VsZS9OZQ0KPiB3Um9vdC5jZXIuZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZt cERldmljZVBrY3M3Q2VydEJ1ZmZlclgNCj4gZHIuaW5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLmQzZjVhMTJmYWENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2Vu ZXJhdGVDYXBzdWxlL05lDQo+IHdSb290LmNlci5nRm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQu UGNkRm1wRGV2aWNlUGtjczdDZXJ0QnVmZmVyWA0KPiBkci5pbmMNCj4gQEAgLTAsMCArMSBAQA0K PiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G ZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL1NBDQo+IE1QTEVfREVWRUxPUE1FTlQuY2Vy LmdGbXBEZXZpY2VQa2dUb2tlblNwYWNlR3VpZC5QY2RGbXBEZXZpY2VQDQo+IGtjczdDZXJ0QnVm ZmVyWGRyLmluYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUv Q2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvU0ENCj4gTVBMRV9ERVZFTE9QTUVOVC5jZXIuZ0ZtcERl dmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVANCj4ga2NzN0NlcnRCdWZmZXJYZHIu aW5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmQzZjVhMTJm YWENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL1NBDQo+IE1QTEVfREVWRUxP UE1FTlQuY2VyLmdGbXBEZXZpY2VQa2dUb2tlblNwYWNlR3VpZC5QY2RGbXBEZXZpY2VQDQo+IGtj czdDZXJ0QnVmZmVyWGRyLmluYw0KPiBAQCAtMCwwICsxIEBADQo+ICsNCj4gZGlmZiAtLWdpdA0K PiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5l cmF0ZUNhcHN1bGUvU0ENCj4gTVBMRV9ERVZFTE9QTUVOVF9TQU1QTEVfUFJPRFVDVElPTi5jZXIu Z0ZtcERldmljZVBrZ1Rva2VuU3BhDQo+IGNlR3VpZC5QY2RGbXBEZXZpY2VQa2NzN0NlcnRCdWZm ZXJYZHIuaW5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9D YXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9TQQ0KPiBNUExFX0RFVkVMT1BNRU5UX1NBTVBMRV9QUk9E VUNUSU9OLmNlci5nRm1wRGV2aWNlUGtnVG9rZW5TcGENCj4gY2VHdWlkLlBjZEZtcERldmljZVBr Y3M3Q2VydEJ1ZmZlclhkci5pbmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uZDNmNWExMmZhYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUv U0ENCj4gTVBMRV9ERVZFTE9QTUVOVF9TQU1QTEVfUFJPRFVDVElPTi5jZXIuZ0ZtcERldmljZVBr Z1Rva2VuU3BhDQo+IGNlR3VpZC5QY2RGbXBEZXZpY2VQa2NzN0NlcnRCdWZmZXJYZHIuaW5jDQo+ IEBAIC0wLDAgKzEgQEANCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS90ZW0NCj4gcGxh dGUubWV0YWluZm8ueG1sDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVh dHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS90ZQ0KPiBtcGxhdGUubWV0YWluZm8ueG1sDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjVkNTUwYzFmNDgNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9GZWF0dXJlL0NhcHN1bGUvR2VuZXJhdGVDYXBzdWxlL3RlDQo+IG1wbGF0ZS5tZXRhaW5mby54 bWwNCj4gQEAgLTAsMCArMSwyNyBAQA0KPiArPD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0i VVRGLTgiPz4NCj4gKzxjb21wb25lbnQgdHlwZT0iZmlybXdhcmUiPg0KPiArICA8aWQ+Y29tLmlu dGVsLkZNUF9DQVBTVUxFX0JBU0VfTkFNRS5maXJtd2FyZTwvaWQ+DQo+ICsgIDxuYW1lPkZNUF9D QVBTVUxFX0JBU0VfTkFNRTwvbmFtZT4NCj4gKyAgPHN1bW1hcnk+U3lzdGVtIGZpcm13YXJlIGZv ciB0aGUNCj4gRk1QX0NBUFNVTEVfQkFTRV9OQU1FPC9zdW1tYXJ5Pg0KPiArICA8ZGVzY3JpcHRp b24+DQo+ICsgICAgRGVzY3JpcHRpb24gb2YgU3lzdGVtIGZpcm13YXJlIGZvciB0aGUgRk1QX0NB UFNVTEVfQkFTRV9OQU1FDQo+ICsgIDwvZGVzY3JpcHRpb24+DQo+ICsgIDxwcm92aWRlcz4NCj4g KyAgICA8ZmlybXdhcmUgdHlwZT0iZmxhc2hlZCI+Rk1QX0NBUFNVTEVfR1VJRDwvZmlybXdhcmU+ DQo+ICsgIDwvcHJvdmlkZXM+DQo+ICsgIDx1cmwgdHlwZT0iaG9tZXBhZ2UiPmh0dHA6Ly93d3cu dGlhbm9jb3JlLm9yZzwvdXJsPg0KPiArICA8bWV0YWRhdGFfbGljZW5zZT5DQzAtMS4wPC9tZXRh ZGF0YV9saWNlbnNlPg0KPiArICA8cHJvamVjdF9saWNlbnNlPkJTRDwvcHJvamVjdF9saWNlbnNl Pg0KPiArICA8ZGV2ZWxvcGVyX25hbWU+VGlhbm9jb3JlPC9kZXZlbG9wZXJfbmFtZT4NCj4gKyAg PHJlbGVhc2VzPg0KPiArICAgIDxyZWxlYXNlIHZlcnNpb249IkZNUF9DQVBTVUxFX1ZFUlNJT05f REVDSU1BTCINCj4gZGF0ZT0iRk1QX0NBUFNVTEVfREFURSI+DQo+ICsgICAgICA8ZGVzY3JpcHRp b24+DQo+ICsgICAgICAgIEJ1aWxkIEZNUF9DQVBTVUxFX1NUUklORw0KPiArICAgICAgPC9kZXNj cmlwdGlvbj4NCj4gKyAgICA8L3JlbGVhc2U+DQo+ICsgIDwvcmVsZWFzZXM+DQo+ICsgIDwhLS0g bW9zdCBPRU1zIGRvIG5vdCBuZWVkIHRvIGRvIHRoaXMuLi4gLS0+DQo+ICsgIDxjdXN0b20+DQo+ ICsgICAgPHZhbHVlIGtleT0iTFZGUzo6SW5oaWJpdERvd25sb2FkIi8+DQo+ICsgIDwvY3VzdG9t Pg0KPiArPC9jb21wb25lbnQ+DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvTGlicmFyeS9GbXBEZXZpY2VMaWIvDQo+IEZt cERldmljZUxpYi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVy ZS9DYXBzdWxlL0xpYnJhcnkvRm1wRGV2aWNlTGliDQo+IC9GbXBEZXZpY2VMaWIuYw0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5hODYzZDY5MzgxDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVh dHVyZS9DYXBzdWxlL0xpYnJhcnkvRm1wRGV2aWNlTGliDQo+IC9GbXBEZXZpY2VMaWIuYw0KPiBA QCAtMCwwICsxLDU4OSBAQA0KPiArLyoqDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxNiwgTWlj cm9zb2Z0IENvcnBvcmF0aW9uLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4NCj4gK0NvcHlyaWdodCAo YykgMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArDQo+ ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsq Ki8NCj4gKw0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0ZtcERldmljZUxpYi5oPg0KPiArDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0K PiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFz ZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2NhdGlvbkxpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsN Cj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BsYXRmb3JtRmxhc2hBY2Nlc3NMaWIuaD4NCj4gKw0KPiAr Ly8jaW5jbHVkZSA8UHJvdG9jb2wvRmlybXdhcmVNYW5hZ2VtZW50Lmg+DQo+ICsNCj4gKy8vI2lu Y2x1ZGUgPEd1aWQvU3lzdGVtUmVzb3VyY2VUYWJsZS5oPg0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIFBMQVRGT1JNX0ZJUk1XQVJFX1RZUEUgICAgICAgICAgRmlybXdhcmVUeXBlOw0K PiArICBGTEFTSF9BRERSRVNTX1RZUEUgICAgICAgICAgICAgIEFkZHJlc3NUeXBlOw0KPiArICBF RklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICAgIEJhc2VBZGRyZXNzOw0KPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgICBJbWFnZU9mZnNldDsNCj4gK30gVVBEQVRFX0NPTkZJR19EQVRBOw0KPiAr DQo+ICtVUERBVEVfQ09ORklHX0RBVEEgbVVwZGF0ZUNvbmZpZ0RhdGFbXSA9IHsNCj4gKyAgeyBQ bGF0Zm9ybUZpcm13YXJlVHlwZVN5c3RlbUZpcm13YXJlLA0KPiBGbGFzaEFkZHJlc3NUeXBlUmVs YXRpdmVBZGRyZXNzLCAweDAwMDAwMDAwLCAweDAwMDQwMDAwLCAweDAwMDAwMDAwIH0sDQo+ICsg IHsgUGxhdGZvcm1GaXJtd2FyZVR5cGVTeXN0ZW1GaXJtd2FyZSwNCj4gRmxhc2hBZGRyZXNzVHlw ZVJlbGF0aXZlQWRkcmVzcywgMHgwMDBDMDAwMCwgMHgwMDA1MDAwMCwgMHgwMDBDMDAwMCB9LA0K PiArICB7IFBsYXRmb3JtRmlybXdhcmVUeXBlU3lzdGVtRmlybXdhcmUsDQo+IEZsYXNoQWRkcmVz c1R5cGVSZWxhdGl2ZUFkZHJlc3MsIDB4MDAxMTAwMDAsIDB4MDAyMTAwMDAsIDB4MDAxMTAwMDAg fSwNCj4gKyAgeyBQbGF0Zm9ybUZpcm13YXJlVHlwZVN5c3RlbUZpcm13YXJlLA0KPiBGbGFzaEFk ZHJlc3NUeXBlUmVsYXRpdmVBZGRyZXNzLCAweDAwMzIwMDAwLCAweDAwMDcwMDAwLCAweDAwMzIw MDAwIH0sDQo+ICsgIHsgUGxhdGZvcm1GaXJtd2FyZVR5cGVTeXN0ZW1GaXJtd2FyZSwNCj4gRmxh c2hBZGRyZXNzVHlwZVJlbGF0aXZlQWRkcmVzcywgMHgwMDM5MDAwMCwgMHgwMDA3MDAwMCwgMHgw MDM5MDAwMCB9DQo+ICt9Ow0KPiArDQo+ICsvKioNCj4gKyAgVXNlZCB0byBwYXNzIHRoZSBGTVAg aW5zdGFsbCBmdW5jdGlvbiB0byB0aGlzIGxpYi4gIFRoaXMgYWxsb3dzIHRoZSBsaWJyYXJ5IHRv DQo+ICsgIGhhdmUgY29udHJvbCBvZiB0aGUgaGFuZGxlIHRoYXQgdGhlIEZNUCBpbnN0YW5jZSBp cyBpbnN0YWxsZWQgb24uICBUaGlzDQo+IGFsbG93cw0KPiArICB0aGUgbGlicmFyeSB0byB1c2Ug RHJpdmVyQmluZGluZyBwcm90b2NvbCBtb2RlbCB0byBsb2NhdGUgaXRzIGRldmljZShzKSBpbiB0 aGUNCj4gKyAgc3lzdGVtLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gRnVuYyAgRnVuY3Rpb24gcG9p bnRlciB0byBGTVAgaW5zdGFsbCBmdW5jdGlvbi4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgIExpYnJhcnkgaGFzIHNhdmVkIGZ1bmN0aW9uIHBvaW50ZXIgYW5kIHdpbGwgY2Fs bA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1bmN0aW9uIHBvaW50ZXIgb24gZWFj aCBEcml2ZXJCaW5kaW5nIFN0YXJ0Lg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgIExp YnJhcnkgZG9lc24ndCB1c2UgZHJpdmVyIGJpbmRpbmcgYW5kIG9ubHkNCj4gc3VwcG9ydHMNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBhIHNpbmdsZSBpbnN0YW5jZS4NCj4gKyAgQHJl dHZhbCBvdGhlciBlcnJvciAgICAgICBFcnJvciBvY2N1cnJlZC4gIERvbid0IGluc3RhbGwgRk1Q DQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtSZWdpc3RlckZtcElu c3RhbGxlciAoDQo+ICsgIElOIEZNUF9ERVZJQ0VfTElCX1JFR0lTVEVSX0ZNUF9JTlNUQUxMRVIg RnVuYw0KPiArICApDQo+ICt7DQo+ICsgIC8vDQo+ICsgIC8vIFRoaXMgaXMgYSBzeXN0ZW0gZmly bXdhcmUgdXBkYXRlIHRoYXQgZG9lcyBub3QgdXNlIERyaXZlciBCaW5kaW5nDQo+IFByb3RvY29s DQo+ICsgIC8vDQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoqDQo+ICsgIFJldHVybnMgdGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgZmlybXdhcmUg aW1hZ2UgY3VycmVudGx5IHN0b3JlZCBpbiB0aGUNCj4gKyAgZmlybXdhcmUgZGV2aWNlLiAgVGhp cyBmdW5jdGlvbiBpcyB1c2VkIHRvIGJ5IHRoZSBHZXRJbWFnZSgpIGFuZA0KPiArICBHZXRJbWFn ZUluZm8oKSBzZXJ2aWNlcyBvZiB0aGUgRmlybXdhcmUgTWFuYWdlbWVudCBQcm90b2NvbC4gIElm IHRoZQ0KPiBpbWFnZQ0KPiArICBzaXplIGNhbiBub3QgYmUgZGV0ZXJtaW5lZCBmcm9tIHRoZSBm aXJtd2FyZSBkZXZpY2UsIHRoZW4gMCBtdXN0IGJlDQo+IHJldHVybmVkLg0KPiArDQo+ICsgIEBw YXJhbVtvdXRdIFNpemUgIFBvaW50ZXIgdG8gdGhlIHNpemUsIGluIGJ5dGVzLCBvZiB0aGUgZmly bXdhcmUgaW1hZ2UNCj4gKyAgICAgICAgICAgICAgICAgICAgY3VycmVudGx5IHN0b3JlZCBpbiB0 aGUgZmlybXdhcmUgZGV2aWNlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICBUaGUgc2l6ZSBvZiB0aGUgZmlybXdhcmUgaW1hZ2UgY3VycmVudGx5DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBzdG9yZWQgaW4gdGhlIGZpcm13YXJlIGRldmljZSB3 YXMgcmV0dXJuZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBTaXplIGlz IE5VTEwuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICBUaGUgZmlybXdhcmUg ZGV2aWNlIGRvZXMgbm90IHN1cHBvcnQNCj4gcmVwb3J0aW5nDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICB0aGUgc2l6ZSBvZiB0aGUgY3VycmVudGx5IHN0b3JlZCBmaXJtd2Fy ZSBpbWFnZS4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgIEFuIGVycm9yIG9j Y3VyZWQgYXR0ZW1wdGluZyB0byBkZXRlcm1pbmUNCj4gdGhlDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplIG9mIHRoZSBmaXJtd2FyZSBpbWFnZSBjdXJyZW50bHkgc3Rv cmVkIGluDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiB0aGUgZmlybXdh cmUgZGV2aWNlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRm1w RGV2aWNlR2V0U2l6ZSAoDQo+ICsgIElOIFVJTlROICAqU2l6ZQ0KPiArICApDQo+ICt7DQo+ICsg IGlmIChTaXplID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVS Ow0KPiArICB9DQo+ICsgICpTaXplID0gUGNkR2V0MzIgKFBjZEJpb3NSb21CYXNlKTsNCj4gKyAg cmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVXNlZCB0byByZXR1 cm4gYSBsaWJyYXJ5IHN1cHBsaWVkIGd1aWQgdGhhdCB3aWxsIGJlIHRoZSBJbWFnZVR5cGVJZCBn dWlkIG9mDQo+ICsgIHRoZSBGTVAgZGVzY3JpcHRvci4gIFRoaXMgaXMgb3B0aW9uYWwgYnV0IGNh biBiZSB1c2VkIGlmIGF0IHJ1bnRpbWUgdGhlIGd1aWQNCj4gKyAgbmVlZHMgdG8gYmUgZGV0ZXJt aW5lZC4NCj4gKw0KPiArICBAcGFyYW1bb3V0XSBHdWlkICBEb3VibGUgR3VpZCBQdHIgdGhhdCB3 aWxsIGJlIHVwZGF0ZWQgdG8gcG9pbnQgdG8gZ3VpZC4NCj4gKyAgICAgICAgICAgICAgICAgICAg VGhpcyBzaG91bGQgYmUgZnJvbSBzdGF0aWMgbWVtb3J5IGFuZCB3aWxsIG5vdCBiZSBmcmVlZC4N Cj4gKw0KPiArICBAcmV0dXJuIEVGSV9VTlNVUFBPUlRFRCAgTGlicmFyeSBpbnN0YW5jZSBkb2Vz bid0IG5lZWQgZHluYW1pYyBndWlkLg0KPiArICBAcmV0dXJuIEVycm9yICAgICAgICAgICAgQW55 IGVycm9yIHdpbGwgY2F1c2UgdGhlIHdyYXBwZXIgdG8gdXNlIHRoZSBHVUlEDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICBkZWZpbmVkIGJ5IFBDRC4NCj4gKyAgQHJldHVybiBFRklfU1VD Q0VTUyAgICAgIEd1aWQgcHRyIHNob3VsZCBiZSB1cGRhdGVkIHRvIHBvaW50IHRvIHN0YXRpYw0K PiBtZW1lb3J5DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBjb250YWlucyBh IHZhbGlkIGd1aWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtG bXBEZXZpY2VHZXRJbWFnZVR5cGVJZEd1aWRQdHIgKA0KPiArICBPVVQgRUZJX0dVSUQgICoqR3Vp ZA0KPiArICApDQo+ICt7DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsN Cj4gKy8qKg0KPiArICBSZXR1cm5zIHZhbHVlcyB1c2VkIHRvIGZpbGwgaW4gdGhlIEF0dHJpYnV0 ZXNTdXBwb3J0ZWQgYW5kDQo+IEF0dHJpYnV0ZXNTZXR0aW5ncw0KPiArICBmaWVsZHMgb2YgdGhl IEVGSV9GSVJNV0FSRV9JTUFHRV9ERVNDUklQVE9SIHN0cnVjdHVyZSB0aGF0IGlzDQo+IHJldHVy bmVkIGJ5IHRoZQ0KPiArICBHZXRJbWFnZUluZm8oKSBzZXJ2aWNlIG9mIHRoZSBGaXJtd2FyZSBN YW5hZ2VtZW50IFByb3RvY29sLiAgVGhlDQo+IGZvbGxvd2luZw0KPiArICBiaXQgdmFsdWVzIGZy b20gdGhlIEZpcm13YXJlIE1hbmFnZW1lbnQgUHJvdG9jb2wgbWF5IGJlIGNvbWJpbmVkOg0KPiAr ICAgIElNQUdFX0FUVFJJQlVURV9JTUFHRV9VUERBVEFCTEUNCj4gKyAgICBJTUFHRV9BVFRSSUJV VEVfUkVTRVRfUkVRVUlSRUQNCj4gKyAgICBJTUFHRV9BVFRSSUJVVEVfQVVUSEVOVElDQVRJT05f UkVRVUlSRUQNCj4gKyAgICBJTUFHRV9BVFRSSUJVVEVfSU5fVVNFDQo+ICsgICAgSU1BR0VfQVRU UklCVVRFX1VFRklfSU1BR0UNCj4gKw0KPiArICBAcGFyYW1bb3V0XSBTdXBwb3J0ZWQgIEF0dHJp YnV0ZXMgc3VwcG9ydGVkIGJ5IHRoaXMgZmlybXdhcmUgZGV2aWNlLg0KPiArICBAcGFyYW1bb3V0 XSBTZXR0aW5nICAgIEF0dHJpYnV0ZXMgc2V0dGluZ3MgZm9yIHRoaXMgZmlybXdhcmUgZGV2aWNl Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgYXR0cmlidXRl cyBzdXBwb3J0ZWQgYnkgdGhlIGZpcm13YXJlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBkZXZpY2Ugd2VyZSByZXR1cm5lZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9Q QVJBTUVURVIgIFN1cHBvcnRlZCBpcyBOVUxMLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BB UkFNRVRFUiAgU2V0dGluZyBpcyBOVUxMLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArRm1wRGV2aWNlR2V0QXR0cmlidXRlcyAoDQo+ICsgIElOIE9VVCBVSU5UNjQg ICpTdXBwb3J0ZWQsDQo+ICsgIElOIE9VVCBVSU5UNjQgICpTZXR0aW5nDQo+ICsgICkNCj4gK3sN Cj4gKyAgaWYgKFN1cHBvcnRlZCA9PSBOVUxMIHx8IFNldHRpbmcgPT0gTlVMTCkgew0KPiArICAg IHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKyAgKlN1cHBvcnRlZCA9 IChJTUFHRV9BVFRSSUJVVEVfSU1BR0VfVVBEQVRBQkxFICAgICAgICAgfA0KPiArICAgICAgICAg ICAgICAgIElNQUdFX0FUVFJJQlVURV9SRVNFVF9SRVFVSVJFRCAgICAgICAgICB8DQo+ICsgICAg ICAgICAgICAgICAgSU1BR0VfQVRUUklCVVRFX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEIHwNCj4g KyAgICAgICAgICAgICAgICBJTUFHRV9BVFRSSUJVVEVfSU5fVVNFDQo+ICsgICAgICAgICAgICAg ICAgKTsNCj4gKyAgKlNldHRpbmcgICA9IChJTUFHRV9BVFRSSUJVVEVfSU1BR0VfVVBEQVRBQkxF ICAgICAgICAgfA0KPiArICAgICAgICAgICAgICAgIElNQUdFX0FUVFJJQlVURV9SRVNFVF9SRVFV SVJFRCAgICAgICAgICB8DQo+ICsgICAgICAgICAgICAgICAgSU1BR0VfQVRUUklCVVRFX0FVVEhF TlRJQ0FUSU9OX1JFUVVJUkVEIHwNCj4gKyAgICAgICAgICAgICAgICBJTUFHRV9BVFRSSUJVVEVf SU5fVVNFDQo+ICsgICAgICAgICAgICAgICAgKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKyAgR2V0cyB0aGUgY3VycmVudCBMb3dlc3QgU3VwcG9ydGVk IFZlcnNpb24uDQo+ICsNCj4gKyAgVGhpcyBpcyBhIHByb3RlY3Rpb24gbWVjaGFuaXNtIHNvIHRo YXQgYSBwcmV2aW91cyB2ZXJzaW9uIHdpdGgga25vd24gaXNzdWUNCj4gaXMNCj4gKyAgbm90IGFw cGxpZWQuICBPTkxZIGltcGxlbWVudCB0aGlzIGlmIHlvdXIgcnVubmluZyBmaXJtd2FyZSBoYXMg YSBtZXRob2QNCj4gdG8NCj4gKyAgcmV0dXJuIHRoaXMgYXQgcnVudGltZS4gIElmIEVGSV9VTlNV UFBPUlRFRCBpcyByZXR1cm5lZCwgdGhlbiB0aGUgTG93ZXN0DQo+ICsgIFN1cHBvcnRlZCBWZXJz aW9uIGlzIHN0b3JlZCBpbiBhIFVFRkkgVmFyaWFibGUuDQo+ICsNCj4gKyAgQHBhcmFtW291dF0g VmVyc2lvbiAgT24gcmV0dXJuIHRoaXMgdmFsdWUgcmVwcmVzZW50cyB0aGUgY3VycmVudCBMb3dl c3QNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgU3VwcG9ydGVkIFZlcnNpb24gKGluIHNhbWUg Zm9ybWF0IGFzIEdldFZlcnNpb24pLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAg ICAgVGhlIExvd2VzdCBTdXBwb3J0ZWQgVmVyc2lvbiB3YXMgY29ycmVjdGx5DQo+IHJldHJpZXZl ZA0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgIERldmljZSBmaXJtd2FyZSBkb2Vzbid0 IHN1cHBvcnQgcmVwb3J0aW5nDQo+IExTVg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1Ig IEVycm9yIG9jY3VycmVkIHdoZW4gdHJ5aW5nIHRvIGdldCB0aGUgTFNWDQo+ICsqKi8NCj4gK0VG SV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRm1wRGV2aWNlR2V0TG93ZXN0U3VwcG9ydGVkVmVyc2lv biAoDQo+ICsgIElOIE9VVCBVSU5UMzIgICpMb3dlc3RTdXBwb3J0ZWRWZXJzaW9uDQo+ICsgICkN Cj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gUmV0cmlldmUgdGhlIGxvd2VzdCBzdXBwb3J0IHZlcnNp b24gZnJvbSBhIFBDRA0KPiArICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBvZiB1c2luZyBhIFBDRCBj YW4gb25seSBiZSB1c2VkIGZvciB0aGUgc3lzdGVtDQo+IGZpcm13YXJlDQo+ICsgIC8vICAgICAg IEZNUCBpbnN0YW5jZSB0aGF0IGlzIHVwZGF0ZWQgZXZlcnkgdGltZSB0aGUgc3lzdGVtIGZpcm13 YXJlIGlzDQo+ICsgIC8vICAgICAgIHVwZGF0ZWQuICBJZiBzeXN0ZW0gZmlybXdhcmUgdXBkYXRl cyBzdXBwb3J0IHBhcnRpYWwgdXBkYXRlcyB0aGF0DQo+ICsgIC8vICAgICAgIHdvdWxkIG5vdCBp bmNsdWRlIHRoZSBzeXN0ZW0gZmlybXdhcmUgRk1QIGluc3RhbmNlLCB0aGVuIGEgUENEIGNhbg0K PiArICAvLyAgICAgICBub3QgYmUgdXNlZCBhbmQgdGhlIHZhbHVlIG11c3QgY29tZSBmcm9tIHRo ZSBjdXJyZW50bHkgcnVubmluZw0KPiBzeXN0ZW0NCj4gKyAgLy8gICAgICAgZmlybXdhcmUgaW1h Z2UuDQo+ICsgIC8vDQo+ICsgICpMb3dlc3RTdXBwb3J0ZWRWZXJzaW9uID0gUGNkR2V0MzINCj4g KFBjZFN5c3RlbUZpcm13YXJlRm1wTG93ZXN0U3VwcG9ydGVkVmVyc2lvbik7DQo+ICsgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmV0dXJucyB0aGUg TnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nIHRoYXQgaXMgdXNlZCB0byBmaWxsIGluIHRo ZQ0KPiArICBWZXJzaW9uTmFtZSBmaWVsZCBvZiB0aGUgRUZJX0ZJUk1XQVJFX0lNQUdFX0RFU0NS SVBUT1Igc3RydWN0dXJlDQo+IHRoYXQgaXMNCj4gKyAgcmV0dXJuZWQgYnkgdGhlIEdldEltYWdl SW5mbygpIHNlcnZpY2Ugb2YgdGhlIEZpcm13YXJlIE1hbmFnZW1lbnQNCj4gUHJvdG9jb2wuDQo+ ICsgIFRoZSByZXR1cm5lZCBzdHJpbmcgbXVzdCBiZSBhbGxvY2F0ZWQgdXNpbmcNCj4gRUZJX0JP T1RfU0VSVklDRVMuQWxsb2NhdGVQb29sKCkuDQo+ICsNCj4gKyAgQG5vdGUgSXQgaXMgcmVjb21t ZW5kZWQgdGhhdCBhbGwgZmlybXdhcmUgZGV2aWNlcyBzdXBwb3J0IGEgbWV0aG9kIHRvDQo+IHJl cG9ydA0KPiArICAgICAgICB0aGUgVmVyc2lvbk5hbWUgc3RyaW5nIGZyb20gdGhlIGN1cnJlbnRs eSBzdG9yZWQgZmlybXdhcmUgaW1hZ2UuDQo+ICsNCj4gKyAgQHBhcmFtW291dF0gVmVyc2lvblN0 cmluZyAgVGhlIHZlcnNpb24gc3RyaW5nIHJldHJpZXZlZCBmcm9tIHRoZQ0KPiBjdXJyZW50bHkN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVkIGZpcm13YXJlIGltYWdlLg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgdmVyc2lvbiBzdHJp bmcgb2YgY3VycmVudGx5IHN0b3JlZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgZmlybXdhcmUgaW1hZ2Ugd2FzIHJldHVybmVkIGluIFZlcnNpb24uDQo+ICsgIEByZXR2YWwg RUZJX0lOVkFMSURfUEFSQU1FVEVSICBWZXJzaW9uU3RyaW5nIGlzIE5VTEwuDQo+ICsgIEByZXR2 YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICBUaGUgZmlybXdhcmUgZGV2aWNlIGRvZXMgbm90IHN1 cHBvcnQgYQ0KPiBtZXRob2QNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRv IHJlcG9ydCB0aGUgdmVyc2lvbiBzdHJpbmcgb2YgdGhlIGN1cnJlbnRseQ0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3RvcmVkIGZpcm13YXJlIGltYWdlLg0KPiArICBAcmV0 dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgQW4gZXJyb3Igb2NjdXJyZWQgYXR0ZW1wdGluZyB0 byByZXRyaWV2ZQ0KPiB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZl cnNpb24gc3RyaW5nIG9mIHRoZSBjdXJyZW50bHkgc3RvcmVkDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBmaXJtd2FyZSBpbWFnZS4NCj4gKyAgQHJldHZhbCBFRklfT1VUX09G X1JFU09VUkNFUyAgIFRoZXJlIGFyZSBub3QgZW5vdWdoIHJlc291cmNlcyB0bw0KPiBhbGxvY2F0 ZSB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ1ZmZlciBmb3IgdGhl IHZlcnNpb24gc3RyaW5nIG9mIHRoZSBjdXJyZW50bHkNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHN0b3JlZCBmaXJtd2FyZSBpbWFnZS4NCj4gKw0KPiArKiovDQo+ICtFRklf U1RBVFVTDQo+ICtFRklBUEkNCj4gK0ZtcERldmljZUdldFZlcnNpb25TdHJpbmcgKA0KPiArICBP VVQgQ0hBUjE2ICAqKlZlcnNpb25TdHJpbmcNCj4gKyAgKQ0KPiArew0KPiArICBpZiAoVmVyc2lv blN0cmluZyA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsN Cj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJldHJpZXZlIHRoZSB2ZXJzaW9uIHN0cmlu ZyBmcm9tIGEgUENEDQo+ICsgIC8vIE5PVEU6IFRoaXMgbWV0aG9kIG9mIHVzaW5nIGEgUENEIGNh biBvbmx5IGJlIHVzZWQgZm9yIHRoZSBzeXN0ZW0NCj4gZmlybXdhcmUNCj4gKyAgLy8gICAgICAg Rk1QIGluc3RhbmNlIHRoYXQgaXMgdXBkYXRlZCBldmVyeSB0aW1lIHRoZSBzeXN0ZW0gZmlybXdh cmUgaXMNCj4gKyAgLy8gICAgICAgdXBkYXRlZC4gIElmIHN5c3RlbSBmaXJtd2FyZSB1cGRhdGVz IHN1cHBvcnQgcGFydGlhbCB1cGRhdGVzIHRoYXQNCj4gKyAgLy8gICAgICAgd291bGQgbm90IGlu Y2x1ZGUgdGhlIHN5c3RlbSBmaXJtd2FyZSBGTVAgaW5zdGFuY2UsIHRoZW4gYSBQQ0QgY2FuDQo+ ICsgIC8vICAgICAgIG5vdCBiZSB1c2VkIGFuZCB0aGUgdmFsdWUgbXVzdCBjb21lIGZyb20gdGhl IGN1cnJlbnRseSBydW5uaW5nDQo+IHN5c3RlbQ0KPiArICAvLyAgICAgICBmaXJtd2FyZSBpbWFn ZS4NCj4gKyAgLy8NCj4gKyAgKlZlcnNpb25TdHJpbmcgPSAoQ0hBUjE2ICopQWxsb2NhdGVDb3B5 UG9vbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNkR2V0U2l6ZSAoUGNk U3lzdGVtRmlybXdhcmVGbXBWZXJzaW9uU3RyaW5nKSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQY2RHZXRQdHIgKFBjZFN5c3RlbUZpcm13YXJlRm1wVmVyc2lvblN0cmluZykN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoKlZlcnNpb25T dHJpbmcgPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4g KyAgfQ0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBH ZXRzIHRoZSBjdXJyZW50IHJ1bm5pbmcgdmVyc2lvbi4NCj4gKw0KPiArICBPTkxZIGltcGxlbWVu dCB0aGlzIGlmIHlvdXIgcnVubmluZyBmaXJtd2FyZSBoYXMgYSBtZXRob2QgdG8gcmV0dXJuIHRo aXMNCj4gYXQNCj4gKyAgcnVudGltZS4NCj4gKw0KPiArICBAcGFyYW1bb3V0XSBWZXJzaW9uICBP biByZXR1cm4gdGhpcyB2YWx1ZSByZXByZXNlbnRzIHRoZSBjdXJyZW50IHJ1bm5pbmcNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbi4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgIFRoZSB2ZXJzaW9uIHdhcyBjb3JyZWN0bHkgcmV0cmlldmVkLg0KPiArICBAcmV0 dmFsIEVGSV9VTlNVUFBPUlRFRCAgIERldmljZSBmaXJtd2FyZSBkb2Vzbid0IHN1cHBvcnQgcmVw b3J0aW5nDQo+IGN1cnJlbnQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9u Lg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgIEVycm9yIG9jY3VycmVkIHdoZW4gdHJ5 aW5nIHRvIGdldCB0aGUgdmVyc2lvbi4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJ DQo+ICtGbXBEZXZpY2VHZXRWZXJzaW9uICgNCj4gKyAgSU4gT1VUIFVJTlQzMiAgKlZlcnNpb24N Cj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBSZXRyaWV2ZSB0aGUgdmVyc2lvbiBzdHJp bmcgZnJvbSBhIFBDRA0KPiArICAvLyBOT1RFOiBUaGlzIG1ldGhvZCBvZiB1c2luZyBhIFBDRCBj YW4gb25seSBiZSB1c2VkIGZvciB0aGUgc3lzdGVtDQo+IGZpcm13YXJlDQo+ICsgIC8vICAgICAg IEZNUCBpbnN0YW5jZSB0aGF0IGlzIHVwZGF0ZWQgZXZlcnkgdGltZSB0aGUgc3lzdGVtIGZpcm13 YXJlIGlzDQo+ICsgIC8vICAgICAgIHVwZGF0ZWQuICBJZiBzeXN0ZW0gZmlybXdhcmUgdXBkYXRl cyBzdXBwb3J0IHBhcnRpYWwgdXBkYXRlcyB0aGF0DQo+ICsgIC8vICAgICAgIHdvdWxkIG5vdCBp bmNsdWRlIHRoZSBzeXN0ZW0gZmlybXdhcmUgRk1QIGluc3RhbmNlLCB0aGVuIGEgUENEIGNhbg0K PiArICAvLyAgICAgICBub3QgYmUgdXNlZCBhbmQgdGhlIHZhbHVlIG11c3QgY29tZSBmcm9tIHRo ZSBjdXJyZW50bHkgcnVubmluZw0KPiBzeXN0ZW0NCj4gKyAgLy8gICAgICAgZmlybXdhcmUgaW1h Z2UuDQo+ICsgIC8vDQo+ICsgICpWZXJzaW9uID0gUGNkR2V0MzIgKFBjZFN5c3RlbUZpcm13YXJl Rm1wVmVyc2lvbik7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ ICsvKioNCj4gKyAgUmV0cmlldmVzIGEgY29weSBvZiB0aGUgY3VycmVudCBmaXJtd2FyZSBpbWFn ZSBvZiB0aGUgZGV2aWNlLg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gYWxsb3dzIGEgY29weSBv ZiB0aGUgY3VycmVudCBmaXJtd2FyZSBpbWFnZSB0byBiZSBjcmVhdGVkDQo+IGFuZA0KPiArICBz YXZlZC4gIFRoZSBzYXZlZCBjb3B5IGNvdWxkIGxhdGVyIGJlZW4gdXNlZCwgZm9yIGV4YW1wbGUs IGluIGZpcm13YXJlDQo+IGltYWdlDQo+ICsgIHJlY292ZXJ5IG9yIHJvbGxiYWNrLg0KPiArDQo+ ICsgIEBwYXJhbVtvdXRdIEltYWdlICAgICAgUG9pbnRzIHRvIHRoZSBidWZmZXIgd2hlcmUgdGhl IGN1cnJlbnQgaW1hZ2UgaXMNCj4gY29waWVkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg dG8uDQo+ICsgIEBwYXJhbVtvdXRdIEltYWdlU2l6ZSAgT24gZW50cnksIHBvaW50cyB0byB0aGUg c2l6ZSBvZiB0aGUgYnVmZmVyIHBvaW50ZWQNCj4gdG8NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICBieSBJbWFnZSwgaW4gYnl0ZXMuICBPbiByZXR1cm4sIHBvaW50cyB0byB0aGUgbGVuZ3Ro IG9mDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGltYWdlLCBpbiBieXRlcy4NCj4g Kw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGltYWdlIHdhcyBzdWNj ZXNzZnVsbHkgcmVhZCBmcm9tIHRoZQ0KPiBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX0JVRkZF Ul9UT09fU01BTEwgICBUaGUgYnVmZmVyIHNwZWNpZmllZCBieSBJbWFnZVNpemUgaXMNCj4gdG9v IHNtYWxsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBob2xkIHRoZSBp bWFnZS4gVGhlIGN1cnJlbnQgYnVmZmVyIHNpemUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG5lZWRlZCB0byBob2xkIHRoZSBpbWFnZSBpcyByZXR1cm5lZCBpbg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VTaXplLg0KPiArICBAcmV0dmFsIEVG SV9JTlZBTElEX1BBUkFNRVRFUiAgVGhlIEltYWdlIHdhcyBOVUxMLg0KPiArICBAcmV0dmFsIEVG SV9OT1RfRk9VTkQgICAgICAgICAgVGhlIGN1cnJlbnQgaW1hZ2UgaXMgbm90IGNvcGllZCB0byB0 aGUNCj4gYnVmZmVyLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgVGhlIG9w ZXJhdGlvbiBpcyBub3Qgc3VwcG9ydGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArRm1wRGV2aWNlR2V0SW1hZ2UgKA0KPiArICBJTiBPVVQgVk9JRCAgICpJbWFn ZSwNCj4gKyAgSU4gT1VUIFVJTlROICAqSW1hZ2VTaXplDQo+ICsgICkNCj4gK3sNCj4gKyAgLy8N Cj4gKyAgLy8gQ2hlY2sgZm9yIGludmFsaWQgcDthcmFtZXRlcnMNCj4gKyAgLy8NCj4gKyAgaWYg KEltYWdlID09IE5VTEwgfHwgSW1hZ2VTaXplID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJ X0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWFrZSBz dXJlIHRoZSBidWZmZXIgaXMgYmlnIGVub3VnaCB0byBob2xkIHRoZSBkZXZpY2UgaW1hZ2UNCj4g KyAgLy8NCj4gKyAgaWYgKCpJbWFnZVNpemUgPCBQY2RHZXQzMiAoUGNkQmlvc1JvbVNpemUpKSB7 DQo+ICsgICAgKkltYWdlU2l6ZSA9IFBjZEdldDMyIChQY2RCaW9zUm9tU2l6ZSk7DQo+ICsgICAg cmV0dXJuIEVGSV9CVUZGRVJfVE9PX1NNQUxMOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQ29weSB0aGUgZGV2aWNlIGltYWdlIHRvIHRoZSBidWZmZXINCj4gKyAgLy8NCj4gKyAgKklt YWdlU2l6ZSA9IFBjZEdldDMyIChQY2RCaW9zUm9tU2l6ZSk7DQo+ICsgIENvcHlNZW0gKA0KPiAr ICAgIEltYWdlLA0KPiArICAgIChWT0lEICopKFVJTlROKVBjZEdldDMyIChQY2RCaW9zUm9tQmFz ZSksDQo+ICsgICAgKkltYWdlU2l6ZQ0KPiArICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9T VUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVXBkYXRlcyB0aGUgZmlybXdhcmUgaW1h Z2Ugb2YgdGhlIGRldmljZS4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHVwZGF0ZXMgdGhlIGhh cmR3YXJlIHdpdGggdGhlIG5ldyBmaXJtd2FyZSBpbWFnZS4gIFRoaXMNCj4gZnVuY3Rpb24NCj4g KyAgcmV0dXJucyBFRklfVU5TVVBQT1JURUQgaWYgdGhlIGZpcm13YXJlIGltYWdlIGlzIG5vdCB1 cGRhdGFibGUuICBJZiB0aGUNCj4gKyAgZmlybXdhcmUgaW1hZ2UgaXMgdXBkYXRhYmxlLCB0aGUg ZnVuY3Rpb24gc2hvdWxkIHBlcmZvcm0gdGhlIGZvbGxvd2luZw0KPiBtaW5pbWFsDQo+ICsgIHZh bGlkYXRpb25zIGJlZm9yZSBwcm9jZWVkaW5nIHRvIGRvIHRoZSBmaXJtd2FyZSBpbWFnZSB1cGRh dGUuDQo+ICsgICAgLSBWYWxpZGF0ZSB0aGUgaW1hZ2UgaXMgYSBzdXBwb3J0ZWQgaW1hZ2UgZm9y IHRoaXMgZGV2aWNlLiAgVGhlIGZ1bmN0aW9uDQo+ICsgICAgICByZXR1cm5zIEVGSV9BQk9SVEVE IGlmIHRoZSBpbWFnZSBpcyB1bnN1cHBvcnRlZC4gIFRoZSBmdW5jdGlvbiBjYW4NCj4gKyAgICAg IG9wdGlvbmFsbHkgcHJvdmlkZSBtb3JlIGRldGFpbGVkIGluZm9ybWF0aW9uIG9uIHdoeSB0aGUg aW1hZ2UgaXMgbm90IGENCj4gKyAgICAgIHN1cHBvcnRlZCBpbWFnZS4NCj4gKyAgICAtIFZhbGlk YXRlIHRoZSBkYXRhIGZyb20gVmVuZG9yQ29kZSBpZiBub3QgbnVsbC4gIEltYWdlIHZhbGlkYXRp b24gbXVzdCBiZQ0KPiArICAgICAgcGVyZm9ybWVkIGJlZm9yZSBWZW5kb3JDb2RlIGRhdGEgdmFs aWRhdGlvbi4gIFZlbmRvckNvZGUgZGF0YSBpcw0KPiBpZ25vcmVkDQo+ICsgICAgICBvciBjb25z aWRlcmVkIGludmFsaWQgaWYgaW1hZ2UgdmFsaWRhdGlvbiBmYWlsZWQuICBUaGUgZnVuY3Rpb24g cmV0dXJucw0KPiArICAgICAgRUZJX0FCT1JURUQgaWYgdGhlIGRhdGEgaXMgaW52YWxpZC4NCj4g Kw0KPiArICBWZW5kb3JDb2RlIGVuYWJsZXMgdmVuZG9yIHRvIGltcGxlbWVudCB2ZW5kb3Itc3Bl Y2lmaWMgZmlybXdhcmUNCj4gaW1hZ2UgdXBkYXRlDQo+ICsgIHBvbGljeS4gIE51bGwgaWYgdGhl IGNhbGxlciBkaWQgbm90IHNwZWNpZnkgdGhlIHBvbGljeSBvciB1c2UgdGhlIGRlZmF1bHQNCj4g KyAgcG9saWN5LiAgQXMgYW4gZXhhbXBsZSwgdmVuZG9yIGNhbiBpbXBsZW1lbnQgYSBwb2xpY3kg dG8gYWxsb3cgYW4gb3B0aW9uIHRvDQo+ICsgIGZvcmNlIGEgZmlybXdhcmUgaW1hZ2UgdXBkYXRl IHdoZW4gdGhlIGFib3J0IHJlYXNvbiBpcyBkdWUgdG8gdGhlIG5ldw0KPiBmaXJtd2FyZQ0KPiAr ICBpbWFnZSB2ZXJzaW9uIGlzIG9sZGVyIHRoYW4gdGhlIGN1cnJlbnQgZmlybXdhcmUgaW1hZ2Ug dmVyc2lvbiBvciBiYWQNCj4gaW1hZ2UNCj4gKyAgY2hlY2tzdW0uICBTZW5zaXRpdmUgb3BlcmF0 aW9ucyBzdWNoIGFzIHRob3NlIHdpcGluZyB0aGUgZW50aXJlIGZpcm13YXJlDQo+IGltYWdlDQo+ ICsgIGFuZCByZW5kZXIgdGhlIGRldmljZSB0byBiZSBub24tZnVuY3Rpb25hbCBzaG91bGQgYmUg ZW5jb2RlZCBpbiB0aGUNCj4gaW1hZ2UNCj4gKyAgaXRzZWxmIHJhdGhlciB0aGFuIHBhc3NlZCB3 aXRoIHRoZSBWZW5kb3JDb2RlLiAgQWJvcnRSZWFzb24gZW5hYmxlcw0KPiB2ZW5kb3IgdG8NCj4g KyAgaGF2ZSB0aGUgb3B0aW9uIHRvIHByb3ZpZGUgYSBtb3JlIGRldGFpbGVkIGRlc2NyaXB0aW9u IG9mIHRoZSBhYm9ydCByZWFzb24NCj4gdG8NCj4gKyAgdGhlIGNhbGxlci4NCj4gKw0KPiArICBA cGFyYW1baW5dICBJbWFnZSAgICAgICAgICAgICBQb2ludHMgdG8gdGhlIG5ldyBpbWFnZS4NCj4g KyAgQHBhcmFtW2luXSAgSW1hZ2VTaXplICAgICAgICAgU2l6ZSBvZiB0aGUgbmV3IGltYWdlIGlu IGJ5dGVzLg0KPiArICBAcGFyYW1baW5dICBWZW5kb3JDb2RlICAgICAgICBUaGlzIGVuYWJsZXMg dmVuZG9yIHRvIGltcGxlbWVudCB2ZW5kb3ItDQo+IHNwZWNpZmljDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGZpcm13YXJlIGltYWdlIHVwZGF0ZSBwb2xpY3kuIE51bGwgaW5k aWNhdGVzIHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjYWxsZXIgZGlk IG5vdCBzcGVjaWZ5IHRoZSBwb2xpY3kgb3IgdXNlIHRoZQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkZWZhdWx0IHBvbGljeS4NCj4gKyAgQHBhcmFtW2luXSAgUHJvZ3Jlc3Mg ICAgICAgICAgQSBmdW5jdGlvbiB1c2VkIGJ5IHRoZSBkcml2ZXIgdG8gcmVwb3J0IHRoZQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9ncmVzcyBvZiB0aGUgZmlybXdhcmUg dXBkYXRlLg0KPiArICBAcGFyYW1baW5dICBDYXBzdWxlRndWZXJzaW9uICBGTVAgUGF5bG9hZCBI ZWFkZXIgdmVyc2lvbiBvZiB0aGUgaW1hZ2UuDQo+ICsgIEBwYXJhbVtvdXRdIEFib3J0UmVhc29u ICAgICAgIEEgcG9pbnRlciB0byBhIHBvaW50ZXIgdG8gYSBudWxsLXRlcm1pbmF0ZWQNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RyaW5nIHByb3ZpZGluZyBtb3JlIGRldGFp bHMgZm9yIHRoZSBhYm9ydGVkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9w ZXJhdGlvbi4gVGhlIGJ1ZmZlciBpcyBhbGxvY2F0ZWQgYnkgdGhpcw0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB3aXRoIEFsbG9jYXRlUG9vbCgpLCBhbmQgaXQg aXMgdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhbGxlcidzIHJlc3Bv bnNpYmlsaXR5IHRvIGZyZWUgaXQgd2l0aCBhIGNhbGwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgdG8gRnJlZVBvb2woKS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgVGhlIGRldmljZSB3YXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQgd2l0aCB0aGUN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5ldyBpbWFnZS4NCj4gKyAgQHJl dHZhbCBFRklfQUJPUlRFRCAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gaXMgYWJvcnRlZC4NCj4g KyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFRoZSBJbWFnZSB3YXMgTlVMTC4NCj4g KyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgIFRoZSBvcGVyYXRpb24gaXMgbm90IHN1 cHBvcnRlZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0ZtcERl dmljZVNldEltYWdlICgNCj4gKyAgSU4gIENPTlNUIFZPSUQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKkltYWdlLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJbWFnZVNpemUsDQo+ICsgIElOICBDT05TVCBWT0lEICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpWZW5kb3JDb2RlLA0KPiArICBJTiAg RUZJX0ZJUk1XQVJFX01BTkFHRU1FTlRfVVBEQVRFX0lNQUdFX1BST0dSRVNTDQo+IFByb2dyZXNz LA0KPiArICBJTiAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBDYXBzdWxlRndWZXJzaW9uLA0KPiArICBPVVQgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAqKkFib3J0UmVhc29uDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJ X1NUQVRVUyAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgVXBkYXRl YWJsZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICBQZXJjZW50YWdlOw0KPiArICBVSU5UTiAg ICAgICAgICAgICAgIEluZGV4Ow0KPiArICBVUERBVEVfQ09ORklHX0RBVEEgICpDb25maWdEYXRh Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgIFRvdGFsU2l6ZTsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICBCeXRlc1dyaXR0ZW47DQo+ICsNCj4gKyAgVXBkYXRlYWJsZSA9IDA7DQo+ICsgIFN0 YXR1cyA9IEZtcERldmljZUNoZWNrSW1hZ2UgKEltYWdlLCBJbWFnZVNpemUsICZVcGRhdGVhYmxl KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVHKChERUJVR19F UlJPUiwgIkZtcERldmljZVNldEltYWdlIC0gQ2hlY2sgSW1hZ2UgZmFpbGVkDQo+IHdpdGggJXIu XG4iLCBTdGF0dXMpKTsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAg aWYgKFVwZGF0ZWFibGUgIT0gSU1BR0VfVVBEQVRBQkxFX1ZBTElEKSB7DQo+ICsgICAgREVCVUco KERFQlVHX0VSUk9SLCAiRm1wRGV2aWNlU2V0SW1hZ2UgLSBDaGVjayBJbWFnZSByZXR1cm5lZA0K PiB0aGF0IHRoZSBJbWFnZSB3YXMgbm90IHZhbGlkIGZvciB1cGRhdGUuICBVcGRhdGFibGUgdmFs dWUgPSAweCVYLlxuIiwNCj4gVXBkYXRlYWJsZSkpOw0KPiArICAgIHJldHVybiBFRklfQUJPUlRF RDsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChQcm9ncmVzcyA9PSBOVUxMKSB7DQo+ICsgICAgREVC VUcoKERFQlVHX0VSUk9SLCAiRm1wRGV2aWNlU2V0SW1hZ2UgLSBJbnZhbGlkIHByb2dyZXNzDQo+ IGNhbGxiYWNrXG4iKSk7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4g KyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IFByb2dyZXNzICgxNSk7DQo+ICsgIGlmIChFRklfRVJS T1IgKFN0YXR1cykpIHsNCj4gKyAgICBERUJVRygoREVCVUdfRVJST1IsICJGbXBEZXZpY2VTZXRJ bWFnZSAtIFByb2dyZXNzIENhbGxiYWNrIGZhaWxlZA0KPiB3aXRoIFN0YXR1cyAlci5cbiIsIFN0 YXR1cykpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gV3JpdGUgdGhlIGltYWdlIHRv IHRoZSBmaXJtd2FyZSBkZXZpY2UNCj4gKyAgLy8NCj4gKyAgUHJvZ3Jlc3MgKDIwKTsNCj4gKyAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVHKChERUJVR19FUlJPUiwgIkZt cERldmljZVNldEltYWdlIC0gUHJvZ3Jlc3MgQ2FsbGJhY2sgZmFpbGVkDQo+IHdpdGggU3RhdHVz ICVyLlxuIiwgU3RhdHVzKSk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBTaW11bGF0 ZSB1cGRhdGUgd2l0aCBkZWxheXMgYmV0d2VlbiBwcm9ncmVzcyB1cGRhdGVzDQo+ICsgIC8vDQo+ ICsgIGZvciAoUGVyY2VudGFnZSA9IDIwOyBQZXJjZW50YWdlIDw9IDEwMDsgUGVyY2VudGFnZSsr KSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBXYWl0IDAuMDUgc2Vjb25kcw0KPiArICAgIC8vDQo+ ICsvLyAgICBnQlMtPlN0YWxsICg1MDAwMCk7DQo+ICsNCj4gKy8vICAgIFByb2dyZXNzIChQZXJj ZW50YWdlKTsNCj4gKy8vICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKy8vICAgICAg REVCVUcoKERFQlVHX0VSUk9SLCAiRm1wRGV2aWNlU2V0SW1hZ2UgLSBQcm9ncmVzcyBDYWxsYmFj aw0KPiBmYWlsZWQgd2l0aCBTdGF0dXMgJXIuXG4iLCBTdGF0dXMpKTsNCj4gKy8vICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIkZtcERldmljZVNldEltYWdlIC0g JWQgSW1hZ2VzIC4uLlxuIiwNCj4gQVJSQVlfU0laRSAobVVwZGF0ZUNvbmZpZ0RhdGEpKSk7DQo+ ICsNCj4gKyAgaWYgKEFSUkFZX1NJWkUgKG1VcGRhdGVDb25maWdEYXRhKSA9PSAwKSB7DQo+ICsg ICAgREVCVUcoKERFQlVHX0lORk8sICJQbGF0Zm9ybVVwZGF0ZTogQmFzZUFkZHJlc3MgLSAweCVs eA0KPiBJbWFnZU9mZnNldCAtIDB4JXggTGVuZ3RoIC0gMHgleFxuIiwgMCwgMCwgSW1hZ2VTaXpl KSk7DQo+ICsgICAgU3RhdHVzID0gUGVyZm9ybUZsYXNoV3JpdGVXaXRoUHJvZ3Jlc3MgKA0KPiAr ICAgICAgICAgICAgICAgUGxhdGZvcm1GaXJtd2FyZVR5cGVTeXN0ZW1GaXJtd2FyZSwgIC8vIEZp cm13YXJlVHlwZQ0KPiArICAgICAgICAgICAgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIEZsYXNoQWRkcmVzcw0KPiArICAgICAgICAgICAgICAgRmxhc2hBZGRyZXNz VHlwZVJlbGF0aXZlQWRkcmVzcywgICAgIC8vIEZsYXNoQWRkcmVzc1R5cGUNCj4gKyAgICAgICAg ICAgICAgIChWT0lEICopKFVJTlROKUltYWdlLCAgICAgICAgICAgICAgICAvLyBCdWZmZXINCj4g KyAgICAgICAgICAgICAgIEltYWdlU2l6ZSwgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBC dWZmZXJMZW5ndGgNCj4gKyAgICAgICAgICAgICAgIFByb2dyZXNzLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBQcm9ncmVzcw0KPiArICAgICAgICAgICAgICAgMjAsICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFN0YXJ0UGVyY2VudGFnZQ0KPiArICAgICAgICAgICAg ICAgMTAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuZFBlcmNlbnRhZ2UN Cj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IENvbXB1dGUgdG90YWwgc2l6ZSBvZiB1cGRhdGUNCj4gKyAgLy8NCj4gKyAgZm9yIChJbmRleCA9 IDAsIFRvdGFsU2l6ZSA9IDA7IEluZGV4IDwgQVJSQVlfU0laRSAobVVwZGF0ZUNvbmZpZ0RhdGEp Ow0KPiBJbmRleCsrKSB7DQo+ICsgICAgVG90YWxTaXplICs9IG1VcGRhdGVDb25maWdEYXRhW0lu ZGV4XS5MZW5ndGg7DQo+ICsgIH0NCj4gKw0KPiArICBCeXRlc1dyaXR0ZW4gPSAwOw0KPiArICBm b3IgKEluZGV4ID0gMCwgQ29uZmlnRGF0YSA9IG1VcGRhdGVDb25maWdEYXRhOyBJbmRleCA8IEFS UkFZX1NJWkUNCj4gKG1VcGRhdGVDb25maWdEYXRhKTsgSW5kZXgrKywgQ29uZmlnRGF0YSsrKSB7 DQo+ICsgICAgREVCVUcoKERFQlVHX0lORk8sICJQbGF0Zm9ybVVwZGF0ZSglZCk6IEJhc2VBZGRy ZXNzIC0gMHglbHgNCj4gSW1hZ2VPZmZzZXQgLSAweCV4IExlbmd0aCAtIDB4JXhcbiIsDQo+ICsg ICAgICBJbmRleCwNCj4gKyAgICAgIENvbmZpZ0RhdGEtPkJhc2VBZGRyZXNzLA0KPiArICAgICAg Q29uZmlnRGF0YS0+SW1hZ2VPZmZzZXQsDQo+ICsgICAgICBDb25maWdEYXRhLT5MZW5ndGgNCj4g KyAgICAgICkpOw0KPiArICAgIFN0YXR1cyA9IFBlcmZvcm1GbGFzaFdyaXRlV2l0aFByb2dyZXNz ICgNCj4gKyAgICAgICAgICAgICAgIENvbmZpZ0RhdGEtPkZpcm13YXJlVHlwZSwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gRmlybXdhcmVUeXBlDQo+ICsgICAgICAgICAg ICAgICBDb25maWdEYXRhLT5CYXNlQWRkcmVzcywgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIEZsYXNoQWRkcmVzcw0KPiArICAgICAgICAgICAgICAgQ29uZmlnRGF0YS0+ QWRkcmVzc1R5cGUsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBGbGFz aEFkZHJlc3NUeXBlDQo+ICsgICAgICAgICAgICAgICAoVk9JRCAqKSgoVUlOVE4pSW1hZ2UgKyAo VUlOVE4pQ29uZmlnRGF0YS0+SW1hZ2VPZmZzZXQpLCAgICAgIC8vDQo+IEJ1ZmZlcg0KPiArICAg ICAgICAgICAgICAgQ29uZmlnRGF0YS0+TGVuZ3RoLCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBCdWZmZXJMZW5ndGgNCj4gKyAgICAgICAgICAgICAgIFByb2dy ZXNzLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gUHJvZ3Jlc3MNCj4gKyAgICAgICAgICAgICAgIDIwICsgKEJ5dGVzV3JpdHRlbiAqIDgwKSAv IFRvdGFsU2l6ZSwgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU3RhcnRQZXJjZW50YWdlDQo+ ICsgICAgICAgICAgICAgICAyMCArICgoQnl0ZXNXcml0dGVuICsgQ29uZmlnRGF0YS0+TGVuZ3Ro KSAqIDgwKSAvIFRvdGFsU2l6ZSAgIC8vDQo+IEVuZFBlcmNlbnRhZ2UNCj4gKyAgICAgICAgICAg ICAgICk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgICBicmVhazsN Cj4gKyAgICB9DQo+ICsgICAgQnl0ZXNXcml0dGVuICs9IENvbmZpZ0RhdGEtPkxlbmd0aDsNCj4g KyAgfQ0KPiArDQo+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIkZtcERldmljZVNldEltYWdlIC0g JXJcbiIsIFN0YXR1cykpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4g Ky8qKg0KPiArQ2hlY2tzIGlmIHRoZSBmaXJtd2FyZSBpbWFnZSBpcyB2YWxpZCBmb3IgdGhlIGRl dmljZS4NCj4gKw0KPiArVGhpcyBmdW5jdGlvbiBhbGxvd3MgZmlybXdhcmUgdXBkYXRlIGFwcGxp Y2F0aW9uIHRvIHZhbGlkYXRlIHRoZSBmaXJtd2FyZQ0KPiBpbWFnZSB3aXRob3V0DQo+ICtpbnZv a2luZyB0aGUgU2V0SW1hZ2UoKSBmaXJzdC4NCj4gKw0KPiArQHBhcmFtW2luXSAgSW1hZ2UgICAg ICAgICAgICAgIFBvaW50cyB0byB0aGUgbmV3IGltYWdlLg0KPiArQHBhcmFtW2luXSAgSW1hZ2VT aXplICAgICAgICAgIFNpemUgb2YgdGhlIG5ldyBpbWFnZSBpbiBieXRlcy4NCj4gK0BwYXJhbVtv dXRdIEltYWdlVXBkYXRhYmxlICAgICBJbmRpY2F0ZXMgaWYgdGhlIG5ldyBpbWFnZSBpcyB2YWxp ZCBmb3INCj4gdXBkYXRlLiBJdCBhbHNvIHByb3ZpZGVzLA0KPiAraWYgYXZhaWxhYmxlLCBhZGRp dGlvbmFsIGluZm9ybWF0aW9uIGlmIHRoZSBpbWFnZSBpcyBpbnZhbGlkLg0KPiArDQo+ICtAcmV0 dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGltYWdlIHdhcyBzdWNjZXNzZnVsbHkgY2hl Y2tlZC4NCj4gK0ByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBUaGUgSW1hZ2Ugd2FzIE5V TEwuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGbXBEZXZpY2VD aGVja0ltYWdlICgNCj4gKyAgSU4gIENPTlNUIFZPSUQgICpJbWFnZSwNCj4gKyAgSU4gIFVJTlRO ICAgICAgIEltYWdlU2l6ZSwNCj4gKyAgT1VUIFVJTlQzMiAgICAgICpJbWFnZVVwZGF0ZWFibGUN Cj4gKyAgKQ0KPiArew0KPiArICBpZiAoSW1hZ2VVcGRhdGVhYmxlID09IE5VTEwpIHsNCj4gKyAg ICBERUJVRygoREVCVUdfRVJST1IsICJDaGVja0ltYWdlIC0gSW1hZ2VVcGRhdGVhYmxlIFBvaW50 ZXINCj4gUGFyYW1ldGVyIGlzIE5VTEwuXG4iKSk7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElE X1BBUkFNRVRFUjsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vU2V0IHRvIHZhbGlkIGFu ZCB0aGVuIGlmIGFueSB0ZXN0cyBmYWlsIGl0IHdpbGwgdXBkYXRlIHRoaXMgZmxhZy4NCj4gKyAg Ly8NCj4gKyAgKkltYWdlVXBkYXRlYWJsZSA9IElNQUdFX1VQREFUQUJMRV9WQUxJRDsNCj4gKw0K PiArICBpZiAoSW1hZ2UgPT0gTlVMTCkgew0KPiArICAgIERFQlVHKChERUJVR19FUlJPUiwgIkNo ZWNrSW1hZ2UgLSBJbWFnZSBQb2ludGVyIFBhcmFtZXRlciBpcw0KPiBOVUxMLlxuIikpOw0KPiAr ICAgIC8vDQo+ICsgICAgLy8gTm90IHN1cmUgaWYgdGhpcyBpcyBuZWVkZWQNCj4gKyAgICAvLw0K PiArICAgICpJbWFnZVVwZGF0ZWFibGUgPSBJTUFHRV9VUERBVEFCTEVfSU5WQUxJRDsNCj4gKyAg ICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gTWFrZSBzdXJlIHRoZSBpbWFnZSBzaXplIGlzIGNvcnJlY3QNCj4gKyAgLy8NCj4gKyAg aWYgKEltYWdlU2l6ZSAhPSBQY2RHZXQzMiAoUGNkQmlvc1JvbVNpemUpKSB7DQo+ICsgICAgKklt YWdlVXBkYXRlYWJsZSA9IElNQUdFX1VQREFUQUJMRV9JTlZBTElEOw0KPiArICAgIHJldHVybiBF RklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NF U1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBEZXZpY2UgZmlybXdhcmUgc2hvdWxkIHRyaWdn ZXIgbG9jayBtZWNoYW5pc20gc28gdGhhdCBkZXZpY2UgZncgY2FuIG5vdA0KPiBiZQ0KPiArICB1 cGRhdGVkIG9yIHRhbXBlcmVkIHdpdGguIFRoaXMgbG9jayBtZWNoYW5pc20gaXMgZ2VuZXJhbGx5 IG9ubHkgY2xlYXJlZA0KPiBieSBhDQo+ICsgIGZ1bGwgc3lzdGVtIHJlc2V0IChub3QganVzdCBz bGVlcCBzdGF0ZS9sb3cgcG93ZXIgbW9kZSkNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICBUaGUgZGV2aWNlIHdhcyBzdWNjZXNzZnVsbHkgbG9ja2VkLg0KPiArICBAcmV0 dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGUgaGFyZHdhcmUgZGV2aWNlL2Zpcm13YXJlIGRv ZXNuJ3QNCj4gc3VwcG9ydCBsb2NraW5nDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtGbXBEZXZpY2VMb2NrICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsg IERFQlVHICgoREVCVUdfSU5GTywgIlZMVjI6IEZtcERldmljZUxvY2soKSBmb3Igc3lzdGVtIEZM QVNIXG4iKSk7DQo+ICsgIC8vIFRPRE86IEFkZCBsb2NrIGxvZ2ljDQo+ICsgIHJldHVybiBFRklf VU5TVVBQT1JURUQ7DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvTGlicmFyeS9GbXBEZXZpY2VMaWIvDQo+IEZt cERldmljZUxpYi5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0 dXJlL0NhcHN1bGUvTGlicmFyeS9GbXBEZXZpY2VMaWINCj4gL0ZtcERldmljZUxpYi5pbmYNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNmZkNjE4OTc0Zg0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0ZlYXR1cmUvQ2Fwc3VsZS9MaWJyYXJ5L0ZtcERldmljZUxpYg0KPiAvRm1wRGV2aWNlTGliLmlu Zg0KPiBAQCAtMCwwICsxLDQ2IEBADQo+ICsjIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMTYsIE1p Y3Jvc29mdCBDb3Jwb3JhdGlvbg0KPiArDQo+ICsjIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICsj IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjIw0KPiAr DQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAg PSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9IFZsdjJG bXBEZXZpY2VMaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gODM3MjNG NTEtMzlCNS00RDk5LUE5NzQtOTAxMzJBQjU1RjgzDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAg ICAgICAgICAgICA9IERYRV9EUklWRVINCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAg ICAgID0gMS4wDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IEZtcERldmlj ZUxpYnxEWEVfRFJJVkVSDQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlv biBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQg dG9vbHMuDQo+ICsjDQo+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIg WDY0DQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBGbXBEZXZpY2VMaWIuYw0KPiArDQo+ ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIEZtcERldmljZVBrZy9G bXBEZXZpY2VQa2cuZGVjDQo+ICsgIFNpZ25lZENhcHN1bGVQa2cvU2lnbmVkQ2Fwc3VsZVBrZy5k ZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsNCj4gK1tMaWJy YXJ5Q2xhc3Nlc10NCj4gKyAgRGVidWdMaWINCj4gKyAgQmFzZUxpYg0KPiArICBCYXNlTWVtb3J5 TGliDQo+ICsgIE1lbW9yeUFsbG9jYXRpb25MaWINCj4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxl TGliDQo+ICsgIFBsYXRmb3JtRmxhc2hBY2Nlc3NMaWINCj4gKw0KPiArW1BjZF0NCj4gKyAgZ1Bs YXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkQmlvc1JvbUJhc2UNCj4gKyAgZ1BsYXRmb3Jt TW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkQmlvc1JvbVNpemUNCj4gKw0KPiBnUGxhdGZvcm1Nb2R1 bGVUb2tlblNwYWNlR3VpZC5QY2RTeXN0ZW1GaXJtd2FyZUZtcExvd2VzdFN1cHBvcnRlDQo+IGRW ZXJzaW9uDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFN5c3RlbUZpcm13 YXJlRm1wVmVyc2lvbg0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RTeXN0 ZW1GaXJtd2FyZUZtcFZlcnNpb25TdHJpbmcNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvRm1wRGV2 aWNlTGliDQo+IFNhbXBsZS9GbXBEZXZpY2VMaWIuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9MaWJyYXJ5L0ZtcERldmljZUxpYg0KPiBTYW1w bGUvRm1wRGV2aWNlTGliLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uODBjZTgzYTE0Yg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9MaWJyYXJ5L0ZtcERldmljZUxp Yg0KPiBTYW1wbGUvRm1wRGV2aWNlTGliLmMNCj4gQEAgLTAsMCArMSw0MTIgQEANCj4gKy8qKg0K PiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTYsIE1pY3Jvc29mdCBDb3Jwb3JhdGlvbg0KPiArDQo+ ICtBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgPFBpRHhl Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPFByb3Rv Y29sL0Zpcm13YXJlTWFuYWdlbWVudC5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2NhdGlvbkxpYi5oPg0KPiArI2luY2x1 ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRm1wRGV2 aWNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIu aD4NCj4gKw0KPiArLyoqDQo+ICsgIFVzZWQgdG8gcGFzcyB0aGUgRk1QIGluc3RhbGwgZnVuY3Rp b24gdG8gdGhpcyBsaWIuDQo+ICsgIFRoaXMgYWxsb3dzIHRoZSBsaWJyYXJ5IHRvIGhhdmUgY29u dHJvbCBvZiB0aGUgaGFuZGxlDQo+ICsgIHRoYXQgdGhlIEZNUCBpbnN0YW5jZSBpcyBpbnN0YWxs ZWQgb24uICBUaGlzIGFsbG93cyB0aGUgbGlicmFyeQ0KPiArICB0byB1c2UgRHJpdmVyQmluZGlu ZyBwcm90b2NvbCBtb2RlbCB0byBsb2NhdGUgaXRzIGRldmljZShzKSBpbiB0aGUNCj4gKyAgc3lz dGVtLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIEZ1bmN0aW9uIHBvaW50ZXIgdG8gRk1QIGluc3Rh bGwgZnVuY3Rpb24uDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgIExpYnJhcnkg aGFzIHNhdmVkIGZ1bmN0aW9uIHBvaW50ZXIgYW5kIHdpbGwgY2FsbA0KPiBmdW5jdGlvbiBwb2lu dGVyIG9uIGVhY2ggRHJpdmVyQmluZGluZyBTdGFydC4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQ T1JURUQgIExpYnJhcnkgZG9lc24ndCB1c2UgZHJpdmVyIGJpbmRpbmcgYW5kIG9ubHkNCj4gc3Vw cG9ydHMgYSBzaW5nbGUgaW5zdGFuY2UuDQo+ICsgIEByZXR2YWwgb3RoZXIgZXJyb3IgICAgICBF cnJvciBvY2N1cnJlZC4gIERvbid0IGluc3RhbGwgRk1QDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtSZWdpc3RlckZtcEluc3RhbGxlcigNCj4gK0lOIEZNUF9ERVZJ Q0VfTElCX1JFR0lTVEVSX0ZNUF9JTlNUQUxMRVIgRnVuYw0KPiArKQ0KPiArew0KPiArICAvLyBC ZWNhdXNlIHRoaXMgaXMgYSBzYW1wbGUgbGliIHdpdGggdmVyeSBzaW1wbGUgZmFrZSBkZXZpY2Ug d2UgZG9uJ3QgdXNlDQo+ICsgIC8vIHRoZSBkcml2ZXJiaW5kaW5nIHByb3RvY29sIHRvIGxvY2F0 ZSBvdXIgZGV2aWNlLg0KPiArICAvLw0KPiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArVXNlZCB0byBnZXQgdGhlIHNpemUgb2YgdGhlIGltYWdl IGluIGJ5dGVzLg0KPiArTk9URSAtIERvIG5vdCByZXR1cm4gemVybyBhcyB0aGF0IHdpbGwgaWRl bnRpZnkgdGhlIGRldmljZSBhcw0KPiArbm90IHVwZGF0YWJsZS4NCj4gKw0KPiArQHJldHZhbCBV SU5UTiB0aGF0IHJlcHJlc2VudHMgdGhlIHNpemUgb2YgdGhlIGZpcm13YXJlLg0KPiArDQo+ICsq Ki8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRm1wRGV2aWNlR2V0U2l6ZSAoDQo+ICsg IElOIFVJTlROICAqU2l6ZQ0KPiArICApDQo+ICt7DQo+ICsgIGlmIChTaXplID09IE5VTEwpIHsN Cj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsgICpTaXpl ID0gMHgxMDAwOw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0K PiArVXNlZCB0byByZXR1cm4gYSBsaWJyYXJ5IHN1cHBsaWVkIGd1aWQgdGhhdCB3aWxsIGJlIHRo ZSBJbWFnZVR5cGVJZCBndWlkIG9mDQo+IHRoZSBGTVAgZGVzY3JpcHRvci4NCj4gK1RoaXMgaXMg b3B0aW9uYWwgYnV0IGNhbiBiZSB1c2VkIGlmIGF0IHJ1bnRpbWUgdGhlIGd1aWQgbmVlZHMgdG8g YmUNCj4gZGV0ZXJtaW5lZC4NCj4gKw0KPiArQHBhcmFtICBHdWlkOiAgRG91YmxlIEd1aWQgUHRy IHRoYXQgd2lsbCBiZSB1cGRhdGVkIHRvIHBvaW50IHRvIGd1aWQuICBUaGlzDQo+IHNob3VsZCBi ZSBmcm9tIHN0YXRpYyBtZW1vcnkNCj4gK2FuZCB3aWxsIG5vdCBiZSBmcmVlZC4NCj4gK0ByZXR1 cm4gRUZJX1VOU1VQUE9SVEVEOiBpZiB5b3UgbGlicmFyeSBpbnN0YW5jZSBkb2Vzbid0IG5lZWQg ZHluYW1pYw0KPiBndWlkIHJldHVybiB0aGlzLg0KPiArQHJldHVybiBFcnJvcjogQW55IGVycm9y IHdpbGwgY2F1c2UgdGhlIHdyYXBwZXIgdG8gdXNlIHRoZSBHVUlEIGRlZmluZWQgYnkNCj4gUENE DQo+ICtAcmV0dXJuIEVGSV9TVUNDRVNTOiAgR3VpZCBwdHIgc2hvdWxkIGJlIHVwZGF0ZWQgdG8g cG9pbnQgdG8gc3RhdGljDQo+IG1lbWVvcnkgd2hpY2ggY29udGFpbnMgYSB2YWxpZCBndWlkDQo+ ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRm1wRGV2aWNlR2V0SW1hZ2VUeXBl SWRHdWlkUHRyKA0KPiArICBPVVQgRUZJX0dVSUQqKiBHdWlkKQ0KPiArew0KPiArICAvL3RoaXMg aW5zdGFuY2UgZG9lc24ndCBuZWVkIGR5bmFtaWMgZ3VpZCBkZXRlY3Rpb24uDQo+ICsgIHJldHVy biBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBSZXR1cm5zIHZhbHVl cyB1c2VkIHRvIGZpbGwgaW4gdGhlIEF0dHJpYnV0ZXNTdXBwb3J0ZWQgYW5kDQo+IEF0dHJpYnV0 ZXNTZXR0aW5ncw0KPiArICBmaWVsZHMgb2YgdGhlIEVGSV9GSVJNV0FSRV9JTUFHRV9ERVNDUklQ VE9SIHN0cnVjdHVyZSB0aGF0IGlzDQo+IHJldHVybmVkIGJ5IHRoZQ0KPiArICBHZXRJbWFnZUlu Zm8oKSBzZXJ2aWNlIG9mIHRoZSBGaXJtd2FyZSBNYW5hZ2VtZW50IFByb3RvY29sLiAgVGhlDQo+ IGZvbGxvd2luZw0KPiArICBiaXQgdmFsdWVzIGZyb20gdGhlIEZpcm13YXJlIE1hbmFnZW1lbnQg UHJvdG9jb2wgbWF5IGJlIGNvbWJpbmVkOg0KPiArICAgIElNQUdFX0FUVFJJQlVURV9JTUFHRV9V UERBVEFCTEUNCj4gKyAgICBJTUFHRV9BVFRSSUJVVEVfUkVTRVRfUkVRVUlSRUQNCj4gKyAgICBJ TUFHRV9BVFRSSUJVVEVfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQNCj4gKyAgICBJTUFHRV9BVFRS SUJVVEVfSU5fVVNFDQo+ICsgICAgSU1BR0VfQVRUUklCVVRFX1VFRklfSU1BR0UNCj4gKw0KPiAr ICBAcGFyYW1bb3V0XSBTdXBwb3J0ZWQgIEF0dHJpYnV0ZXMgc3VwcG9ydGVkIGJ5IHRoaXMgZmly bXdhcmUgZGV2aWNlLg0KPiArICBAcGFyYW1bb3V0XSBTZXR0aW5nICAgIEF0dHJpYnV0ZXMgc2V0 dGluZ3MgZm9yIHRoaXMgZmlybXdhcmUgZGV2aWNlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgICAgICBUaGUgYXR0cmlidXRlcyBzdXBwb3J0ZWQgYnkgdGhlIGZpcm13YXJl DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2Ugd2VyZSByZXR1cm5l ZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFN1cHBvcnRlZCBpcyBOVUxM Lg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgU2V0dGluZyBpcyBOVUxMLg0K PiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRm1wRGV2aWNlR2V0QXR0 cmlidXRlcyAoDQo+ICsgIElOIE9VVCBVSU5UNjQgICpTdXBwb3J0ZWQsDQo+ICsgIElOIE9VVCBV SU5UNjQgICpTZXR0aW5nDQo+ICsgICkNCj4gK3sNCj4gKyAgaWYgKFN1cHBvcnRlZCA9PSBOVUxM IHx8IFNldHRpbmcgPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVU RVI7DQo+ICsgIH0NCj4gKyAgKlN1cHBvcnRlZCA9IChJTUFHRV9BVFRSSUJVVEVfSU1BR0VfVVBE QVRBQkxFIHwNCj4gSU1BR0VfQVRUUklCVVRFX0lOX1VTRSk7DQo+ICsgICpTZXR0aW5nICAgPSAo SU1BR0VfQVRUUklCVVRFX0lNQUdFX1VQREFUQUJMRSB8DQo+IElNQUdFX0FUVFJJQlVURV9JTl9V U0UpOw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArR2V0 cyB0aGUgY3VycmVudCBMb3dlc3QgU3VwcG9ydGVkIFZlcnNpb24uDQo+ICtUaGlzIGlzIGEgcHJv dGVjdGlvbiBtZWNoYW5pc20gc28gdGhhdCBhIHByZXZpb3VzIHZlcnNpb24gd2l0aCBrbm93biBp c3N1ZQ0KPiBpcyBub3QNCj4gK2FwcGxpZWQuDQo+ICsNCj4gK09OTFkgaW1wbGVtZW50IHRoaXMg aWYgeW91ciBydW5uaW5nIGZpcm13YXJlIGhhcyBhIG1ldGhvZCB0byByZXR1cm4gdGhpcw0KPiBh dCBydW50aW1lLg0KPiArDQo+ICtAcGFyYW1bb3V0XSBWZXJzaW9uICAgICAgICAgICBPbiByZXR1 cm4gdGhpcyB2YWx1ZSByZXByZXNlbnRzIHRoZQ0KPiArY3VycmVudCBMb3dlc3QgU3VwcG9ydGVk IFZlcnNpb24gKGluIHNhbWUgZm9ybWF0IGFzIEdldFZlcnNpb24pLg0KPiArDQo+ICtAcmV0dmFs IEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgTG93ZXN0IFN1cHBvcnRlZCBWZXJzaW9uIHdhcyBj b3JyZWN0bHkNCj4gcmV0cmlldmVkDQo+ICtAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBE ZXZpY2UgZmlybXdhcmUgZG9lc24ndCBzdXBwb3J0IHJlcG9ydGluZw0KPiBMU1YNCj4gK0ByZXR2 YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIEVycm9yIG9jY3VycmVkIHdoZW4gdHJ5aW5nIHRvIGdl dCB0aGUgTFNWDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRm1wRGV2aWNl R2V0TG93ZXN0U3VwcG9ydGVkVmVyc2lvbiAoDQo+ICsgIElOIE9VVCBVSU5UMzIqIExvd2VzdFN1 cHBvcnRlZFZlcnNpb24NCj4gKyAgKQ0KPiArew0KPiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBSZXR1cm5zIHRoZSBOdWxsLXRlcm1pbmF0 ZWQgVW5pY29kZSBzdHJpbmcgdGhhdCBpcyB1c2VkIHRvIGZpbGwgaW4gdGhlDQo+ICsgIFZlcnNp b25OYW1lIGZpZWxkIG9mIHRoZSBFRklfRklSTVdBUkVfSU1BR0VfREVTQ1JJUFRPUiBzdHJ1Y3R1 cmUNCj4gdGhhdCBpcw0KPiArICByZXR1cm5lZCBieSB0aGUgR2V0SW1hZ2VJbmZvKCkgc2Vydmlj ZSBvZiB0aGUgRmlybXdhcmUgTWFuYWdlbWVudA0KPiBQcm90b2NvbC4NCj4gKyAgVGhlIHJldHVy bmVkIHN0cmluZyBtdXN0IGJlIGFsbG9jYXRlZCB1c2luZw0KPiBFRklfQk9PVF9TRVJWSUNFUy5B bGxvY2F0ZVBvb2woKS4NCj4gKw0KPiArICBAbm90ZSBJdCBpcyByZWNvbW1lbmRlZCB0aGF0IGFs bCBmaXJtd2FyZSBkZXZpY2VzIHN1cHBvcnQgYSBtZXRob2QgdG8NCj4gcmVwb3J0DQo+ICsgICAg ICAgIHRoZSBWZXJzaW9uTmFtZSBzdHJpbmcgZnJvbSB0aGUgY3VycmVudGx5IHN0b3JlZCBmaXJt d2FyZSBpbWFnZS4NCj4gKw0KPiArICBAcGFyYW1bb3V0XSBWZXJzaW9uU3RyaW5nICBUaGUgdmVy c2lvbiBzdHJpbmcgcmV0cmlldmVkIGZyb20gdGhlDQo+IGN1cnJlbnRseQ0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdG9yZWQgZmlybXdhcmUgaW1hZ2UuDQo+ICsNCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRoZSB2ZXJzaW9uIHN0cmluZyBvZiBjdXJyZW50 bHkgc3RvcmVkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaXJtd2FyZSBp bWFnZSB3YXMgcmV0dXJuZWQgaW4gVmVyc2lvbi4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9Q QVJBTUVURVIgIFZlcnNpb25TdHJpbmcgaXMgTlVMTC4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQ T1JURUQgICAgICAgIFRoZSBmaXJtd2FyZSBkZXZpY2UgZG9lcyBub3Qgc3VwcG9ydCBhDQo+IG1l dGhvZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8gcmVwb3J0IHRoZSB2 ZXJzaW9uIHN0cmluZyBvZiB0aGUgY3VycmVudGx5DQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdG9yZWQgZmlybXdhcmUgaW1hZ2UuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklD RV9FUlJPUiAgICAgICBBbiBlcnJvciBvY2N1cnJlZCBhdHRlbXB0aW5nIHRvIHJldHJpZXZlDQo+ IHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbiBzdHJpbmcg b2YgdGhlIGN1cnJlbnRseSBzdG9yZWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGZpcm13YXJlIGltYWdlLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAg VGhlcmUgYXJlIG5vdCBlbm91Z2ggcmVzb3VyY2VzIHRvDQo+IGFsbG9jYXRlIHRoZQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnVmZmVyIGZvciB0aGUgdmVyc2lvbiBzdHJp bmcgb2YgdGhlIGN1cnJlbnRseQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3RvcmVkIGZpcm13YXJlIGltYWdlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArRm1wRGV2aWNlR2V0VmVyc2lvblN0cmluZyAoDQo+ICsgIE9VVCBDSEFSMTYgICoq VmVyc2lvblN0cmluZw0KPiArICApDQo+ICt7DQo+ICsgIGlmIChWZXJzaW9uU3RyaW5nID09IE5V TEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsg ICpWZXJzaW9uU3RyaW5nID0gTlVMTDsNCj4gKyAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4g K30NCj4gKw0KPiArLyoqDQo+ICtHZXRzIHRoZSBjdXJyZW50IHJ1bm5pbmcgdmVyc2lvbi4NCj4g K09OTFkgaW1wbGVtZW50IHRoaXMgaWYgeW91ciBydW5uaW5nIGZpcm13YXJlIGhhcyBhIG1ldGhv ZCB0byByZXR1cm4gdGhpcw0KPiBhdCBydW50aW1lLg0KPiArDQo+ICtAcGFyYW1bb3V0XSBWZXJz aW9uICAgICAgICAgICBPbiByZXR1cm4gdGhpcyB2YWx1ZSByZXByZXNlbnRzIHRoZSBjdXJyZW50 DQo+IHJ1bm5pbmcgdmVyc2lvbg0KPiArDQo+ICtAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAg ICBUaGUgdmVyc2lvbiB3YXMgY29ycmVjdGx5IHJldHJpZXZlZA0KPiArQHJldHZhbCBFRklfVU5T VVBQT1JURUQgICAgICAgRGV2aWNlIGZpcm13YXJlIGRvZXNuJ3Qgc3VwcG9ydCByZXBvcnRpbmcN Cj4gY3VycmVudCB2ZXJzaW9uDQo+ICtAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICBFcnJv ciBvY2N1cnJlZCB3aGVuIHRyeWluZyB0byBnZXQgdGhlIHZlcnNpb24NCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGbXBEZXZpY2VHZXRWZXJzaW9uKA0KPiArSU4gT1VUIFVJ TlQzMiogVmVyc2lvbg0KPiArKQ0KPiArew0KPiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArUmV0cmlldmVzIGEgY29weSBvZiB0aGUgY3VycmVu dCBmaXJtd2FyZSBpbWFnZSBvZiB0aGUgZGV2aWNlLg0KPiArDQo+ICtUaGlzIGZ1bmN0aW9uIGFs bG93cyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgZmlybXdhcmUgaW1hZ2UgdG8gYmUgY3JlYXRlZCBh bmQNCj4gc2F2ZWQuDQo+ICtUaGUgc2F2ZWQgY29weSBjb3VsZCBsYXRlciBiZWVuIHVzZWQsIGZv ciBleGFtcGxlLCBpbiBmaXJtd2FyZSBpbWFnZQ0KPiByZWNvdmVyeSBvciByb2xsYmFjay4NCj4g Kw0KPiArQHBhcmFtW291dF0gSW1hZ2UgICAgICAgICAgICAgIFBvaW50cyB0byB0aGUgYnVmZmVy IHdoZXJlIHRoZSBjdXJyZW50IGltYWdlIGlzDQo+IGNvcGllZCB0by4NCj4gK0BwYXJhbVtvdXRd IEltYWdlU2l6ZSAgICAgICAgICBPbiBlbnRyeSwgcG9pbnRzIHRvIHRoZSBzaXplIG9mIHRoZSBi dWZmZXINCj4gcG9pbnRlZCB0byBieSBJbWFnZSwgaW4gYnl0ZXMuDQo+ICtPbiByZXR1cm4sIHBv aW50cyB0byB0aGUgbGVuZ3RoIG9mIHRoZSBpbWFnZSwgaW4gYnl0ZXMuDQo+ICsNCj4gK0ByZXR2 YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgZGV2aWNlIHdhcyBzdWNjZXNzZnVsbHkgdXBk YXRlZCB3aXRoIHRoZQ0KPiBuZXcgaW1hZ2UuDQo+ICtAcmV0dmFsIEVGSV9CVUZGRVJfVE9PX1NN QUxMICAgVGhlIGJ1ZmZlciBzcGVjaWZpZWQgYnkgSW1hZ2VTaXplIGlzIHRvbw0KPiBzbWFsbCB0 byBob2xkIHRoZQ0KPiAraW1hZ2UuIFRoZSBjdXJyZW50IGJ1ZmZlciBzaXplIG5lZWRlZCB0byBo b2xkIHRoZSBpbWFnZSBpcyByZXR1cm5lZA0KPiAraW4gSW1hZ2VTaXplLg0KPiArQHJldHZhbCBF RklfSU5WQUxJRF9QQVJBTUVURVIgIFRoZSBJbWFnZSB3YXMgTlVMTC4NCj4gK0ByZXR2YWwgRUZJ X05PVF9GT1VORCAgICAgICAgICBUaGUgY3VycmVudCBpbWFnZSBpcyBub3QgY29waWVkIHRvIHRo ZSBidWZmZXIuDQo+ICtAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgVGhlIG9wZXJhdGlv biBpcyBub3Qgc3VwcG9ydGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArRm1wRGV2aWNlR2V0SW1hZ2UoDQo+ICtJTiAgT1VUICBWT0lEICAgICAgICAgICAgICAg ICAgICAgICAgICpJbWFnZSwNCj4gK0lOICBPVVQgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgKkltYWdlU2l6ZQ0KPiArKQ0KPiArLyorKw0KPiArDQo+ICtSb3V0aW5lIERlc2NyaXB0aW9u Og0KPiArDQo+ICsgICAgVGhpcyBpcyBhIGZ1bmN0aW9uIHVzZWQgdG8gcmVhZCB0aGUgY3VycmVu dCBmaXJtd2FyZSBmcm9tIHRoZSBkZXZpY2UgaW50bw0KPiBtZW1vcnkuDQo+ICsgICAgVGhpcyBp cyBhbiBvcHRpb25hbCBmdW5jdGlvbiBhbmQgY2FuIHJldHVybiBFRklfVU5TVVBQT1JURUQuICBU aGlzIGlzDQo+IHVzZWZ1bCBmb3INCj4gKyAgICB0ZXN0IGFuZCBkaWFnbm9zdGljcy4NCj4gKw0K PiArQXJndW1lbnRzOg0KPiArICAgIEltYWdlICAgICAgICAgICAgICAgLS0gQnVmZmVyIHRvIHBs YWNlIHRoZSBpbWFnZSBpbnRvLg0KPiArICAgIEltYWdlU2l6ZSAgICAgICAgICAgLS0gU2l6ZSBv ZiB0aGUgSW1hZ2UgYnVmZmVyLg0KPiArDQo+ICtSZXR1cm4gVmFsdWU6DQo+ICsNCj4gKyAgICBF RklfU1RBVFVTIGNvZGUuDQo+ICsgICAgSWYgbm90IHBvc3NpYmxlIG9yIG5vdCBwcmFjdGljYWwg cmV0dXJuIEVGSV9VTlNVUFBPUlRFRC4NCj4gKw0KPiArLS0qLw0KPiArew0KPiArICByZXR1cm4g RUZJX1VOU1VQUE9SVEVEOw0KPiArfS8vR2V0SW1hZ2UoKQ0KPiArDQo+ICsNCj4gKy8qKg0KPiAr VXBkYXRlcyB0aGUgZmlybXdhcmUgaW1hZ2Ugb2YgdGhlIGRldmljZS4NCj4gKw0KPiArVGhpcyBm dW5jdGlvbiB1cGRhdGVzIHRoZSBoYXJkd2FyZSB3aXRoIHRoZSBuZXcgZmlybXdhcmUgaW1hZ2Uu DQo+ICtUaGlzIGZ1bmN0aW9uIHJldHVybnMgRUZJX1VOU1VQUE9SVEVEIGlmIHRoZSBmaXJtd2Fy ZSBpbWFnZSBpcyBub3QNCj4gdXBkYXRhYmxlLg0KPiArSWYgdGhlIGZpcm13YXJlIGltYWdlIGlz IHVwZGF0YWJsZSwgdGhlIGZ1bmN0aW9uIHNob3VsZCBwZXJmb3JtIHRoZQ0KPiBmb2xsb3dpbmcg bWluaW1hbCB2YWxpZGF0aW9ucw0KPiArYmVmb3JlIHByb2NlZWRpbmcgdG8gZG8gdGhlIGZpcm13 YXJlIGltYWdlIHVwZGF0ZS4NCj4gKy0gVmFsaWRhdGUgdGhlIGltYWdlIGlzIGEgc3VwcG9ydGVk IGltYWdlIGZvciB0aGlzIGRldmljZS4gIFRoZSBmdW5jdGlvbg0KPiByZXR1cm5zIEVGSV9BQk9S VEVEIGlmDQo+ICt0aGUgaW1hZ2UgaXMgdW5zdXBwb3J0ZWQuICBUaGUgZnVuY3Rpb24gY2FuIG9w dGlvbmFsbHkgcHJvdmlkZSBtb3JlDQo+IGRldGFpbGVkIGluZm9ybWF0aW9uIG9uDQo+ICt3aHkg dGhlIGltYWdlIGlzIG5vdCBhIHN1cHBvcnRlZCBpbWFnZS4NCj4gKy0gVmFsaWRhdGUgdGhlIGRh dGEgZnJvbSBWZW5kb3JDb2RlIGlmIG5vdCBudWxsLiAgSW1hZ2UgdmFsaWRhdGlvbiBtdXN0IGJl DQo+IHBlcmZvcm1lZCBiZWZvcmUNCj4gK1ZlbmRvckNvZGUgZGF0YSB2YWxpZGF0aW9uLiAgVmVu ZG9yQ29kZSBkYXRhIGlzIGlnbm9yZWQgb3IgY29uc2lkZXJlZA0KPiBpbnZhbGlkIGlmIGltYWdl DQo+ICt2YWxpZGF0aW9uIGZhaWxlZC4gIFRoZSBmdW5jdGlvbiByZXR1cm5zIEVGSV9BQk9SVEVE IGlmIHRoZSBkYXRhIGlzIGludmFsaWQuDQo+ICsNCj4gK1ZlbmRvckNvZGUgZW5hYmxlcyB2ZW5k b3IgdG8gaW1wbGVtZW50IHZlbmRvci1zcGVjaWZpYyBmaXJtd2FyZSBpbWFnZQ0KPiB1cGRhdGUg cG9saWN5LiAgTnVsbCBpZg0KPiArdGhlIGNhbGxlciBkaWQgbm90IHNwZWNpZnkgdGhlIHBvbGlj eSBvciB1c2UgdGhlIGRlZmF1bHQgcG9saWN5LiAgQXMgYW4gZXhhbXBsZSwNCj4gdmVuZG9yIGNh biBpbXBsZW1lbnQNCj4gK2EgcG9saWN5IHRvIGFsbG93IGFuIG9wdGlvbiB0byBmb3JjZSBhIGZp cm13YXJlIGltYWdlIHVwZGF0ZSB3aGVuIHRoZSBhYm9ydA0KPiByZWFzb24gaXMgZHVlIHRvIHRo ZSBuZXcNCj4gK2Zpcm13YXJlIGltYWdlIHZlcnNpb24gaXMgb2xkZXIgdGhhbiB0aGUgY3VycmVu dCBmaXJtd2FyZSBpbWFnZSB2ZXJzaW9uIG9yDQo+IGJhZCBpbWFnZSBjaGVja3N1bS4NCj4gK1Nl bnNpdGl2ZSBvcGVyYXRpb25zIHN1Y2ggYXMgdGhvc2Ugd2lwaW5nIHRoZSBlbnRpcmUgZmlybXdh cmUgaW1hZ2UgYW5kDQo+IHJlbmRlciB0aGUgZGV2aWNlIHRvIGJlDQo+ICtub24tZnVuY3Rpb25h bCBzaG91bGQgYmUgZW5jb2RlZCBpbiB0aGUgaW1hZ2UgaXRzZWxmIHJhdGhlciB0aGFuIHBhc3Nl ZA0KPiB3aXRoIHRoZSBWZW5kb3JDb2RlLg0KPiArQWJvcnRSZWFzb24gZW5hYmxlcyB2ZW5kb3Ig dG8gaGF2ZSB0aGUgb3B0aW9uIHRvIHByb3ZpZGUgYSBtb3JlIGRldGFpbGVkDQo+IGRlc2NyaXB0 aW9uIG9mIHRoZSBhYm9ydA0KPiArcmVhc29uIHRvIHRoZSBjYWxsZXIuDQo+ICsNCj4gK0BwYXJh bVtpbl0gIEltYWdlICAgICAgICAgICAgICBQb2ludHMgdG8gdGhlIG5ldyBpbWFnZS4NCj4gK0Bw YXJhbVtpbl0gIEltYWdlU2l6ZSAgICAgICAgICBTaXplIG9mIHRoZSBuZXcgaW1hZ2UgaW4gYnl0 ZXMuDQo+ICtAcGFyYW1baW5dICBWZW5kb3JDb2RlICAgICAgICAgVGhpcyBlbmFibGVzIHZlbmRv ciB0byBpbXBsZW1lbnQgdmVuZG9yLQ0KPiBzcGVjaWZpYyBmaXJtd2FyZSBpbWFnZSB1cGRhdGUg cG9saWN5Lg0KPiArTnVsbCBpbmRpY2F0ZXMgdGhlIGNhbGxlciBkaWQgbm90IHNwZWNpZnkgdGhl IHBvbGljeSBvciB1c2UgdGhlIGRlZmF1bHQgcG9saWN5Lg0KPiArQHBhcmFtW2luXSAgUHJvZ3Jl c3MgICAgICAgICAgIEEgZnVuY3Rpb24gdXNlZCBieSB0aGUgZHJpdmVyIHRvIHJlcG9ydCB0aGUN Cj4gcHJvZ3Jlc3Mgb2YgdGhlIGZpcm13YXJlIHVwZGF0ZS4NCj4gK0BwYXJhbVtpbl0gIENhcHN1 bGVGd1ZlcnNpb24gICBGTVAgUGF5bG9hZCBIZWFkZXIgdmVyc2lvbiBvZiB0aGUgaW1hZ2UNCj4g K0BwYXJhbVtvdXRdIEFib3J0UmVhc29uICAgICAgICBBIHBvaW50ZXIgdG8gYSBwb2ludGVyIHRv IGEgbnVsbC10ZXJtaW5hdGVkDQo+IHN0cmluZyBwcm92aWRpbmcgbW9yZQ0KPiArZGV0YWlscyBm b3IgdGhlIGFib3J0ZWQgb3BlcmF0aW9uLiBUaGUgYnVmZmVyIGlzIGFsbG9jYXRlZCBieSB0aGlz IGZ1bmN0aW9uDQo+ICt3aXRoIEFsbG9jYXRlUG9vbCgpLCBhbmQgaXQgaXMgdGhlIGNhbGxlcidz IHJlc3BvbnNpYmlsaXR5IHRvIGZyZWUgaXQgd2l0aCBhDQo+ICtjYWxsIHRvIEZyZWVQb29sKCku DQo+ICsNCj4gK0ByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgZGV2aWNlIHdhcyBz dWNjZXNzZnVsbHkgdXBkYXRlZCB3aXRoIHRoZQ0KPiBuZXcgaW1hZ2UuDQo+ICtAcmV0dmFsIEVG SV9BQk9SVEVEICAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBpcyBhYm9ydGVkLg0KPiArQHJldHZh bCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFRoZSBJbWFnZSB3YXMgTlVMTC4NCj4gK0ByZXR2YWwg RUZJX1VOU1VQUE9SVEVEICAgICAgICBUaGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBwb3J0ZWQuDQo+ ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGbXBEZXZpY2VTZXRJbWFn ZSAoDQo+ICtJTiAgQ09OU1QgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICpJbWFnZSwNCj4gK0lOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSW1hZ2VTaXplLA0KPiArSU4gIENPTlNUIFZPSUQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAqVmVuZG9yQ29kZSwNCj4gK0lOICBFRklfRklSTVdBUkVf TUFOQUdFTUVOVF9VUERBVEVfSU1BR0VfUFJPR1JFU1MNCj4gUHJvZ3Jlc3MsDQo+ICtJTiAgVUlO VDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENhcHN1bGVGd1Zl cnNpb24sDQo+ICtPVVQgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICoqQWJvcnRSZWFzb24NCj4gKykNCj4gK3sNCj4gKyAgICBFRklfU1RBVFVTIFN0YXR1 cyAgICAgICAgICAgICAgICAgICAgICAgICA9IEVGSV9TVUNDRVNTOw0KPiArICAgIFVJTlQzMiBV cGRhdGVhYmxlICAgICAgICAgICAgICAgICAgICAgICAgID0gMDsNCj4gKw0KPiArICAgIFN0YXR1 cyA9IEZtcERldmljZUNoZWNrSW1hZ2UoSW1hZ2UsIEltYWdlU2l6ZSwgJlVwZGF0ZWFibGUpOw0K PiArICAgIGlmIChFRklfRVJST1IoU3RhdHVzKSkNCj4gKyAgICB7DQo+ICsgICAgICAgIERFQlVH KChERUJVR19FUlJPUiwgIlNldEltYWdlIC0gQ2hlY2sgSW1hZ2UgZmFpbGVkIHdpdGggJXIuXG4i LA0KPiBTdGF0dXMpKTsNCj4gKyAgICAgICAgZ290byBjbGVhbnVwOw0KPiArICAgIH0NCj4gKw0K PiArICAgIGlmIChVcGRhdGVhYmxlICE9IElNQUdFX1VQREFUQUJMRV9WQUxJRCkNCj4gKyAgICB7 DQo+ICsgICAgICAgIERFQlVHKChERUJVR19FUlJPUiwgIlNldEltYWdlIC0gQ2hlY2sgSW1hZ2Ug cmV0dXJuZWQgdGhhdCB0aGUNCj4gSW1hZ2Ugd2FzIG5vdCB2YWxpZCBmb3IgdXBkYXRlLiAgVXBk YXRhYmxlIHZhbHVlID0gMHglWC5cbiIsIFVwZGF0ZWFibGUpKTsNCj4gKyAgICAgICAgU3RhdHVz ID0gRUZJX0FCT1JURUQ7DQo+ICsgICAgICAgIGdvdG8gY2xlYW51cDsNCj4gKyAgICB9DQo+ICsN Cj4gKyAgICBpZiAoUHJvZ3Jlc3MgPT0gTlVMTCkNCj4gKyAgICB7DQo+ICsgICAgICAgIERFQlVH KChERUJVR19FUlJPUiwgIlNldEltYWdlIC0gSW52YWxpZCBwcm9ncmVzcyBjYWxsYmFja1xuIikp Ow0KPiArICAgICAgICBTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgICAg IGdvdG8gY2xlYW51cDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBTdGF0dXMgPSBQcm9ncmVzcygx NSk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKQ0KPiArICAgIHsNCj4gKyAgICAgICAg REVCVUcoKERFQlVHX0VSUk9SLCAiU2V0SW1hZ2UgLSBQcm9ncmVzcyBDYWxsYmFjayBmYWlsZWQg d2l0aA0KPiBTdGF0dXMgJXIuXG4iLCBTdGF0dXMpKTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICB7 DQo+ICsgICAgICBVSU5UTiAgcDsNCj4gKw0KPiArICAgICAgZm9yIChwID0gMjA7IHAgPCAxMDA7 IHArKykgew0KPiArICAgICAgICBnQlMtPlN0YWxsICgxMDAwMDApOyAgLy91cyAgPSAwLjEgc2Vj b25kcw0KPiArICAgICAgICBQcm9ncmVzcyAocCk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiAr DQo+ICsgICAgLy9UT0RPOiBhZGQgc3VwcG9ydCBmb3IgVmVuZG9yQ29kZSwgYW5kIEFib3J0UmVh c29uDQo+ICtjbGVhbnVwOg0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICt9Ly8gU2V0SW1hZ2Uo KQ0KPiArDQo+ICsNCj4gKw0KPiArLyoqDQo+ICtDaGVja3MgaWYgdGhlIGZpcm13YXJlIGltYWdl IGlzIHZhbGlkIGZvciB0aGUgZGV2aWNlLg0KPiArDQo+ICtUaGlzIGZ1bmN0aW9uIGFsbG93cyBm aXJtd2FyZSB1cGRhdGUgYXBwbGljYXRpb24gdG8gdmFsaWRhdGUgdGhlIGZpcm13YXJlDQo+IGlt YWdlIHdpdGhvdXQNCj4gK2ludm9raW5nIHRoZSBTZXRJbWFnZSgpIGZpcnN0Lg0KPiArDQo+ICtA cGFyYW1baW5dICBJbWFnZSAgICAgICAgICAgICAgUG9pbnRzIHRvIHRoZSBuZXcgaW1hZ2UuDQo+ ICtAcGFyYW1baW5dICBJbWFnZVNpemUgICAgICAgICAgU2l6ZSBvZiB0aGUgbmV3IGltYWdlIGlu IGJ5dGVzLg0KPiArQHBhcmFtW291dF0gSW1hZ2VVcGRhdGFibGUgICAgIEluZGljYXRlcyBpZiB0 aGUgbmV3IGltYWdlIGlzIHZhbGlkIGZvcg0KPiB1cGRhdGUuIEl0IGFsc28gcHJvdmlkZXMsDQo+ ICtpZiBhdmFpbGFibGUsIGFkZGl0aW9uYWwgaW5mb3JtYXRpb24gaWYgdGhlIGltYWdlIGlzIGlu dmFsaWQuDQo+ICsNCj4gK0ByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgaW1hZ2Ug d2FzIHN1Y2Nlc3NmdWxseSBjaGVja2VkLg0KPiArQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVU RVIgIFRoZSBJbWFnZSB3YXMgTlVMTC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK0ZtcERldmljZUNoZWNrSW1hZ2UoDQo+ICtJTiAgQ09OU1QgVk9JRCAgICAgICAg ICAgICAgICAgICAgICAgICpJbWFnZSwNCj4gK0lOICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSW1hZ2VTaXplLA0KPiArT1VUIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAqSW1hZ2VVcGRhdGVhYmxlDQo+ICspDQo+ICt7DQo+ICsgICAgRUZJX1NUQVRVUyBzdGF0 dXMgPSBFRklfU1VDQ0VTUzsNCj4gKw0KPiArICAgIGlmIChJbWFnZVVwZGF0ZWFibGUgPT0gTlVM TCkNCj4gKyAgICB7DQo+ICsgICAgICAgIERFQlVHKChERUJVR19FUlJPUiwgIkNoZWNrSW1hZ2Ug LSBJbWFnZVVwZGF0ZWFibGUgUG9pbnRlcg0KPiBQYXJhbWV0ZXIgaXMgTlVMTC5cbiIpKTsNCj4g KyAgICAgICAgc3RhdHVzID0gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgICAgICBnb3Rv IGNsZWFudXA7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvL1NldCB0byB2YWxp ZCBhbmQgdGhlbiBpZiBhbnkgdGVzdHMgZmFpbCBpdCB3aWxsIHVwZGF0ZSB0aGlzIGZsYWcuDQo+ ICsgICAgLy8NCj4gKyAgICAqSW1hZ2VVcGRhdGVhYmxlID0gSU1BR0VfVVBEQVRBQkxFX1ZBTElE Ow0KPiArDQo+ICsgICAgaWYgKEltYWdlID09IE5VTEwpDQo+ICsgICAgew0KPiArICAgICAgICBE RUJVRygoREVCVUdfRVJST1IsICJDaGVja0ltYWdlIC0gSW1hZ2UgUG9pbnRlciBQYXJhbWV0ZXIg aXMNCj4gTlVMTC5cbiIpKTsNCj4gKyAgICAgICAgKkltYWdlVXBkYXRlYWJsZSA9IElNQUdFX1VQ REFUQUJMRV9JTlZBTElEOyAvL25vdCBzdXJlIGlmIHRoaXMgaXMNCj4gbmVlZGVkDQo+ICsgICAg ICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgfQ0KPiArDQo+ICtjbGVh bnVwOg0KPiArICAgIHJldHVybiBzdGF0dXM7DQo+ICt9Ly8gQ2hlY2tJbWFnZSgpDQo+ICsNCj4g Ky8qKg0KPiArRGV2aWNlIGZpcm13YXJlIHNob3VsZCB0cmlnZ2VyIGxvY2sgbWVjaGFuaXNtIHNv IHRoYXQgZGV2aWNlIGZ3IGNhbiBub3QgYmUNCj4gdXBkYXRlZCBvciB0YW1wZXJlZCB3aXRoLg0K PiArVGhpcyBsb2NrIG1lY2hhbmlzbSBpcyBnZW5lcmFsbHkgb25seSBjbGVhcmVkIGJ5IGEgZnVs bCBzeXN0ZW0gcmVzZXQgKG5vdCBqdXN0DQo+IHNsZWVwIHN0YXRlL2xvdyBwb3dlciBtb2RlKQ0K PiArDQo+ICtAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgZGV2aWNlIHdhcyBzdWNj ZXNzZnVsbHkgbG9ja2VkLg0KPiArQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgVGhlIGhh cmR3YXJlIGRldmljZS9maXJtd2FyZSBkb2Vzbid0DQo+IHN1cHBvcnQgbG9ja2luZw0KPiArDQo+ ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRm1wRGV2aWNlTG9jaygNCj4gKykN Cj4gK3sNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkv Rm1wRGV2aWNlTGliDQo+IFNhbXBsZS9GbXBEZXZpY2VMaWIuaW5mDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvRm1wRGV2aWNlTGli DQo+IFNhbXBsZS9GbXBEZXZpY2VMaWIuaW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAuLmFmMzFmYmNmZmINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvTGlicmFyeS9G bXBEZXZpY2VMaWINCj4gU2FtcGxlL0ZtcERldmljZUxpYi5pbmYNCj4gQEAgLTAsMCArMSwzNCBA QA0KPiArIyMNCj4gKyMgQ29weXJpZ2h0IChjKSAyMDE2LCBNaWNyb3NvZnQgQ29ycG9yYXRpb24N Cj4gKw0KPiArIyBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIyMNCj4gKw0KPiArDQo+ICtbRGVmaW5lc10N Cj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBC QVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBWbHYyRm1wRGV2aWNlTGliU2FtcGxlDQo+ ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDU4MkRGOUFCLUU2MjYtNDJBOC1B MTFDLTNGRUEwOThGRjNGQQ0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBE WEVfRFJJVkVSDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiAr ICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBGbXBEZXZpY2VMaWJ8RFhFX0RSSVZF Ug0KPiArDQo+ICsjDQo+ICsjIFRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVy ZW5jZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQgYnkgdGhlDQo+IGJ1aWxkIHRvb2xzLg0KPiArIw0K PiArIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJQTMyIFg2NA0KPiArIw0KPiAr DQo+ICtbU291cmNlc10NCj4gKyAgRm1wRGV2aWNlTGliLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0K PiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBGbXBEZXZpY2VQa2cvRm1wRGV2aWNlUGtnLmRl Yw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIERlYnVnTGliDQo+ICsgIEJhc2VMaWIN Cj4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliICAgI2ZvciBzdGFsbC4uLnJlbW92ZSBsYXRl ciBhcyBzdGFsbCBpcyBvbmx5IG5lZWRlZA0KPiB0byBzaG93IHByb2dyZXNzDQo+ICsNCj4gZGlm ZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fw c3VsZS9MaWJyYXJ5L1BsYXRmb3JtRmxhc2gNCj4gQWNjZXNzTGliL1BsYXRmb3JtRmxhc2hBY2Nl c3NMaWIuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fw c3VsZS9MaWJyYXJ5L1BsYXRmb3JtRmxhc2gNCj4gQWNjZXNzTGliL1BsYXRmb3JtRmxhc2hBY2Nl c3NMaWIuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wNzlj M2VmMmQ2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvUGxhdGZvcm1GbGFzaA0KPiBBY2Nl c3NMaWIvUGxhdGZvcm1GbGFzaEFjY2Vzc0xpYi5jDQo+IEBAIC0wLDAgKzEsNjg1IEBADQo+ICsv KiogQGZpbGUNCj4gKyAgUGxhdGZvcm0gRmxhc2ggQWNjZXNzIGxpYnJhcnkuDQo+ICsNCj4gKyAg Q29weXJpZ2h0IChjKSAyMDE2IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKyNpbmNsdWRlIDxVZWZpLmg+DQo+ICsNCj4gKyNpbmNs dWRlIDxQaUR4ZS5oPg0KPiArDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9E ZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9QbGF0Zm9ybUZsYXNoQWNjZXNzTGliLmg+DQo+ICsvLyNpbmNsdWRlIDxMaWJyYXJ5 L0ZsYXNoRGV2aWNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9u TGliLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvU3BpLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFy eS9DYWNoZU1haW50ZW5hbmNlTGliLmg+DQo+ICsjaW5jbHVkZSAiUGNoQWNjZXNzLmgiDQo+ICsj aW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUxpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9QcmludExpYi5oPg0KPiArDQo+ICsvLyNkZWZpbmUgU0VDVE9SX1NJ WkVfNjRLQiAgMHgxMDAwMCAgICAgIC8vIENvbW1vbiA2NGtCeXRlcyBzZWN0b3Igc2l6ZQ0KPiAr Ly8jZGVmaW5lIEFMSU5HRURfU0laRSAgU0VDVE9SX1NJWkVfNjRLQg0KPiArDQo+ICsjZGVmaW5l IEJMT0NLX1NJWkUgMHgxMDAwDQo+ICsjZGVmaW5lIEFMSU5HRURfU0laRSBCTE9DS19TSVpFDQo+ ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBDX0JJT1NfQ05UTCAgICAgICAgICAgICAgICAgICAgICAg MHhEQw0KPiArI2RlZmluZSBCX1BDSF9MUENfQklPU19DTlRMX1NNTV9CV1AgICAgICAgICAgICAg ICAweDIwICAgICAgICAgICAgLy8vPCBTTU0NCj4gQklPUyB3cml0ZSBwcm90ZWN0IGRpc2FibGUN Cj4gKw0KPiArLy8NCj4gKy8vIFByZWZpeCBPcGNvZGUgSW5kZXggb24gdGhlIGhvc3QgU1BJIGNv bnRyb2xsZXINCj4gKy8vDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBTUElfV1JFTiwgICAgICAg ICAgICAgLy8gUHJlZml4IE9wY29kZSAwOiBXcml0ZSBFbmFibGUNCj4gKyAgU1BJX0VXU1IsICAg ICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogRW5hYmxlIFdyaXRlIFN0YXR1cyBSZWdpc3Rl cg0KPiArfSBQUkVGSVhfT1BDT0RFX0lOREVYOw0KPiArLy8NCj4gKy8vIE9wY29kZSBNZW51IElu ZGV4IG9uIHRoZSBob3N0IFNQSSBjb250cm9sbGVyDQo+ICsvLw0KPiArdHlwZWRlZiBlbnVtIHsN Cj4gKyAgU1BJX1JFQURfSUQsICAgICAgICAvLyBPcGNvZGUgMDogUkVBRCBJRCwgUmVhZCBjeWNs ZSB3aXRoIGFkZHJlc3MNCj4gKyAgU1BJX1JFQUQsICAgICAgICAgICAvLyBPcGNvZGUgMTogUkVB RCwgUmVhZCBjeWNsZSB3aXRoIGFkZHJlc3MNCj4gKyAgU1BJX1JEU1IsICAgICAgICAgICAvLyBP cGNvZGUgMjogUmVhZCBTdGF0dXMgUmVnaXN0ZXIsIE5vIGFkZHJlc3MNCj4gKyAgU1BJX1dSRElf U0ZEUCwgICAgICAvLyBPcGNvZGUgMzogV3JpdGUgRGlzYWJsZSBvciBEaXNjb3ZlcnkgUGFyYW1l dGVycywNCj4gTm8gYWRkcmVzcw0KPiArICBTUElfU0VSQVNFLCAgICAgICAgIC8vIE9wY29kZSA0 OiBTZWN0b3IgRXJhc2UgKDRLQiksIFdyaXRlIGN5Y2xlIHdpdGggYWRkcmVzcw0KPiArICBTUElf QkVSQVNFLCAgICAgICAgIC8vIE9wY29kZSA1OiBCbG9jayBFcmFzZSAoMzJLQiksIFdyaXRlIGN5 Y2xlIHdpdGggYWRkcmVzcw0KPiArICBTUElfUFJPRywgICAgICAgICAgIC8vIE9wY29kZSA2OiBC eXRlIFByb2dyYW0sIFdyaXRlIGN5Y2xlIHdpdGggYWRkcmVzcw0KPiArICBTUElfV1JTUiwgICAg ICAgICAgIC8vIE9wY29kZSA3OiBXcml0ZSBTdGF0dXMgUmVnaXN0ZXIsIE5vIGFkZHJlc3MNCj4g K30gU1BJX09QQ09ERV9JTkRFWDsNCj4gKw0KPiArU1RBVElDIEVGSV9QSFlTSUNBTF9BRERSRVNT ICAgICBtSW50ZXJuYWxGZEFkZHJlc3M7DQo+ICsNCj4gK0VGSV9TUElfUFJPVE9DT0wgICptU3Bp UHJvdG9jb2w7DQo+ICsNCj4gKy8qKg0KPiArICBSZWFkIE51bUJ5dGVzIGJ5dGVzIG9mIGRhdGEg ZnJvbSB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgYnkNCj4gKyAgUEFkZHJlc3MgaW50byBCdWZmZXIu DQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgIEFkZHJlc3MgICAgICAgVGhlIHN0YXJ0aW5nIHBo eXNpY2FsIGFkZHJlc3Mgb2YgdGhlIHJlYWQuDQo+ICsgIEBwYXJhbVtpbixvdXRdICBOdW1CeXRl cyAgICAgIE9uIGlucHV0LCB0aGUgbnVtYmVyIG9mIGJ5dGVzIHRvIHJlYWQuIE9uDQo+IG91dHB1 dCwgdGhlIG51bWJlcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBieXRl cyBhY3R1YWxseSByZWFkLg0KPiArICBAcGFyYW1bb3V0XSAgICAgQnVmZmVyICAgICAgICBUaGUg ZGVzdGluYXRpb24gZGF0YSBidWZmZXIgZm9yIHRoZSByZWFkLg0KPiArDQo+ICsgIEByZXR2YWwg ICAgICAgICBFRklfU1VDQ0VTUyAgICAgICBPcGVydGlvbiBpcyBzdWNjZXNzZnVsLg0KPiArICBA cmV0dmFsICAgICAgICAgRUZJX0RFVklDRV9FUlJPUiAgSWYgdGhlcmUgaXMgYW55IGRldmljZSBl cnJvcnMuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTcGlGbGFz aFJlYWQgKA0KPiArICBJTiAgICAgVUlOVE4gICAgIEFkZHJlc3MsDQo+ICsgIElOIE9VVCBVSU5U MzIgICAgKk51bUJ5dGVzLA0KPiArICAgICBPVVQgVUlOVDggICAgICpCdWZmZXINCj4gKyAgKQ0K PiArew0KPiArICBFRklfU1RBVFVTICAgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiArICBVSU5U TiAgICAgICAgIE9mZnNldCA9IDA7DQo+ICsNCj4gKyAgQVNTRVJUICgoTnVtQnl0ZXMgIT0gTlVM TCkgJiYgKEJ1ZmZlciAhPSBOVUxMKSk7DQo+ICsNCj4gKw0KPiArICAvL2lmIChBZGRyZXNzID49 IChVSU5UTilQY2RHZXQzMiAoUGNkR2JlUm9tQmFzZSkgJiYgQWRkcmVzcyA8DQo+IChVSU5UTilQ Y2RHZXQzMiAoUGNkUERSUm9tQmFzZSkpIHsNCj4gKyAgICBPZmZzZXQgPSBBZGRyZXNzIC0gKFVJ TlROKVBjZEdldDMyIChQY2RGbGFzaENoaXBCYXNlKTsNCj4gKw0KPiArICAgIFN0YXR1cyA9IG1T cGlQcm90b2NvbC0+RXhlY3V0ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg bVNwaVByb3RvY29sLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsIC8vU1BJ X1JFQUQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwgLy9TUElfV1JFTiwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUUlVFLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRkFMU0UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0LA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJMT0NLX1NJWkUsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVudW1TcGlSZWdpb25BbGwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICApOw0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBXcml0 ZSBOdW1CeXRlcyBieXRlcyBvZiBkYXRhIGZyb20gQnVmZmVyIHRvIHRoZSBhZGRyZXNzIHNwZWNp ZmllZCBieQ0KPiArICBQQWRkcmVzc3MuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgIEFkZHJl c3MgICAgICAgICBUaGUgc3RhcnRpbmcgcGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgd3JpdGUuDQo+ ICsgIEBwYXJhbVtpbixvdXRdICBOdW1CeXRlcyAgICAgICAgT24gaW5wdXQsIHRoZSBudW1iZXIg b2YgYnl0ZXMgdG8gd3JpdGUuIE9uDQo+IG91dHB1dCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGUgYWN0dWFsIG51bWJlciBvZiBieXRlcyB3cml0dGVuLg0KPiArICBA cGFyYW1baW5dICAgICAgQnVmZmVyICAgICAgICAgIFRoZSBzb3VyY2UgZGF0YSBidWZmZXIgZm9y IHRoZSB3cml0ZS4NCj4gKw0KPiArICBAcmV0dmFsICAgICAgICAgRUZJX1NVQ0NFU1MgICAgICAg T3BlcnRpb24gaXMgc3VjY2Vzc2Z1bC4NCj4gKyAgQHJldHZhbCAgICAgICAgIEVGSV9ERVZJQ0Vf RVJST1IgIElmIHRoZXJlIGlzIGFueSBkZXZpY2UgZXJyb3JzLg0KPiArDQo+ICsqKi8NCj4gK0VG SV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArU3BpRmxhc2hXcml0ZSAoDQo+ICsgIElOICAgICBVSU5U TiAgICAgQWRkcmVzcywNCj4gKyAgSU4gT1VUIFVJTlQzMiAgICAqTnVtQnl0ZXMsDQo+ICsgIElO ICAgICBVSU5UOCAgICAgKkJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAg ICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIE9mZnNl dDsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBMZW5ndGg7DQo+ICsgIFVJTlQzMiAg ICAgICAgICAgICAgICAgICAgUmVtYWluaW5nQnl0ZXM7DQo+ICsNCj4gKyAgQVNTRVJUICgoTnVt Qnl0ZXMgIT0gTlVMTCkgJiYgKEJ1ZmZlciAhPSBOVUxMKSk7DQo+ICsgIEFTU0VSVCAoQWRkcmVz cyA+PSAoVUlOVE4pUGNkR2V0MzIgKFBjZEZsYXNoQ2hpcEJhc2UpKTsNCj4gKw0KPiArICBPZmZz ZXQgICAgPSBBZGRyZXNzIC0gKFVJTlROKVBjZEdldDMyIChQY2RGbGFzaENoaXBCYXNlKTsNCj4g Kw0KPiArICBBU1NFUlQgKCgqTnVtQnl0ZXMgKyBPZmZzZXQpIDw9IChVSU5UTilQY2RHZXQzMiAo UGNkRmxhc2hDaGlwU2l6ZSkpOw0KPiArDQo+ICsgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiAr ICBSZW1haW5pbmdCeXRlcyA9ICpOdW1CeXRlczsNCj4gKw0KPiArICB3aGlsZSAoUmVtYWluaW5n Qnl0ZXMgPiAwKSB7DQo+ICsgICAgaWYgKFJlbWFpbmluZ0J5dGVzID4gU0laRV80S0IpIHsNCj4g KyAgICAgIExlbmd0aCA9IFNJWkVfNEtCOw0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBMZW5n dGggPSBSZW1haW5pbmdCeXRlczsNCj4gKyAgICB9DQo+ICsgICAgU3RhdHVzID0gbVNwaVByb3Rv Y29sLT5FeGVjdXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVNwaVByb3Rv Y29sLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfUFJPRywNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgU1BJX1dSRU4sDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChVSU5UMzIpIE9mZnNldCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTGVuZ3RoLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudW1TcGlSZWdpb25BbGwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsgICAgUmVtYWluaW5nQnl0ZXMgLT0g TGVuZ3RoOw0KPiArICAgIE9mZnNldCArPSBMZW5ndGg7DQo+ICsgICAgQnVmZmVyICs9IExlbmd0 aDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEFjdHVhbCBudW1iZXIgb2YgYnl0ZXMg d3JpdHRlbg0KPiArICAvLw0KPiArICAqTnVtQnl0ZXMgLT0gUmVtYWluaW5nQnl0ZXM7DQo+ICsN Cj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtJ bnRlcm5hbFJlYWRCbG9jayAoDQo+ICsgIElOICBFRklfUEhZU0lDQUxfQUREUkVTUyAgQmFzZUFk ZHJlc3MsDQo+ICsgIE9VVCBWT0lEICAgICAgICAgICAgICAgICAgKlJlYWRCdWZmZXINCj4gKyAg KQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgIFN0YXR1czsNCj4gKyAgVUlOVDMyICAgICAgICBC bG9ja1NpemU7DQo+ICsNCj4gKyAgQmxvY2tTaXplID0gQkxPQ0tfU0laRTsNCj4gKw0KPiArICBT dGF0dXMgPSBTcGlGbGFzaFJlYWQgKChVSU5UTikgQmFzZUFkZHJlc3MsICZCbG9ja1NpemUsIFJl YWRCdWZmZXIpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0K PiArICBFcmFzZSB0aGUgYmxvY2sgc3RhcnRpbmcgYXQgQWRkcmVzcy4NCj4gKw0KPiArICBAcGFy YW1baW5dICBBZGRyZXNzICAgICAgICAgVGhlIHN0YXJ0aW5nIHBoeXNpY2FsIGFkZHJlc3Mgb2Yg dGhlIGJsb2NrIHRvIGJlDQo+IGVyYXNlZC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRoaXMgbGlicmFyeSBhc3N1bWUgdGhhdCBjYWxsZXIgZ2FyYW50ZWUgdGhhdCB0aGUgUEFk ZHJlc3MNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzIGF0IHRoZSBzdGFydGlu ZyBhZGRyZXNzIG9mIHRoaXMgYmxvY2suDQo+ICsgIEBwYXJhbVtpbl0gIE51bUJ5dGVzICAgICAg ICBPbiBpbnB1dCwgdGhlIG51bWJlciBvZiBieXRlcyBvZiB0aGUgbG9naWNhbA0KPiBibG9jayB0 byBiZSBlcmFzZWQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiBvdXRwdXQs IHRoZSBhY3R1YWwgbnVtYmVyIG9mIGJ5dGVzIGVyYXNlZC4NCj4gKw0KPiArICBAcmV0dmFsICAg ICBFRklfU1VDQ0VTUy4gICAgICBPcGVydGlvbiBpcyBzdWNjZXNzZnVsLg0KPiArICBAcmV0dmFs ICAgICBFRklfREVWSUNFX0VSUk9SICBJZiB0aGVyZSBpcyBhbnkgZGV2aWNlIGVycm9ycy4NCj4g Kw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NwaUZsYXNoQmxvY2tFcmFz ZSAoDQo+ICsgIElOIFVJTlROICAgIEFkZHJlc3MsDQo+ICsgIElOIFVJTlROICAgICpOdW1CeXRl cw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgU3RhdHVzOw0KPiArICBV SU5UTiAgICAgICAgICAgICAgIE9mZnNldDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICBSZW1h aW5pbmdCeXRlczsNCj4gKw0KPiArICBBU1NFUlQgKE51bUJ5dGVzICE9IE5VTEwpOw0KPiArICBB U1NFUlQgKEFkZHJlc3MgPj0gKFVJTlROKVBjZEdldDMyIChQY2RGbGFzaENoaXBCYXNlKSk7DQo+ ICsNCj4gKyAgT2Zmc2V0ICAgID0gQWRkcmVzcyAtIChVSU5UTilQY2RHZXQzMiAoUGNkRmxhc2hD aGlwQmFzZSk7DQo+ICsNCj4gKyAgQVNTRVJUICgoKk51bUJ5dGVzICUgU0laRV80S0IpID09IDAp Ow0KPiArICBBU1NFUlQgKCgqTnVtQnl0ZXMgKyBPZmZzZXQpIDw9IChVSU5UTilQY2RHZXQzMiAo UGNkRmxhc2hDaGlwU2l6ZSkpOw0KPiArDQo+ICsgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiAr ICBSZW1haW5pbmdCeXRlcyA9ICpOdW1CeXRlczsNCj4gKw0KPiArICAvLw0KPiArICAvLyBUbyBh ZGp1c3QgdGhlIE9mZnNldCB3aXRoIEJpb3MvR2JlDQo+ICsgIC8vDQo+ICsvLyAgaWYgKEFkZHJl c3MgPj0gKFVJTlROKVBjZEdldDMyIChQY2RGbGFzaENoaXBCYXNlKSkgew0KPiArLy8gICAgT2Zm c2V0ID0gQWRkcmVzcyAtIChVSU5UTilQY2RHZXQzMiAoUGNkRmxhc2hDaGlwQmFzZSk7DQo+ICsN Cj4gKyAgICB3aGlsZSAoUmVtYWluaW5nQnl0ZXMgPiAwKSB7DQo+ICsgICAgICBTdGF0dXMgPSBt U3BpUHJvdG9jb2wtPkV4ZWN1dGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1TcGlQcm90b2NvbCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfU0VS QVNFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9XUkVOLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFM U0UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVJTlQzMikgT2Zmc2V0LA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBF bnVtU3BpUmVnaW9uQWxsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsg ICAgICB9DQo+ICsgICAgICBSZW1haW5pbmdCeXRlcyAtPSBTSVpFXzRLQjsNCj4gKyAgICAgIE9m ZnNldCAgICAgICAgICs9IFNJWkVfNEtCOw0KPiArICAgIH0NCj4gKy8vICB9DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gQWN0dWFsIG51bWJlciBvZiBieXRlcyBlcmFzZWQNCj4gKyAgLy8NCj4gKyAg Kk51bUJ5dGVzIC09IFJlbWFpbmluZ0J5dGVzOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ ICt9DQo+ICsNCj4gKy8qKg0KPiArDQo+ICtSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArDQo+ICsg IEVyYXNlIHRoZSB3aG9sZSBibG9jay4NCj4gKw0KPiArQXJndW1lbnRzOg0KPiArDQo+ICsgIEJh c2VBZGRyZXNzICAtIEJhc2UgYWRkcmVzcyBvZiB0aGUgYmxvY2sgdG8gYmUgZXJhc2VkLg0KPiAr DQo+ICtSZXR1cm5zOg0KPiArDQo+ICsgIEVGSV9TVUNDRVNTIC0gVGhlIGNvbW1hbmQgY29tcGxl dGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgT3RoZXIgICAgICAgLSBEZXZpY2UgZXJyb3Igb3Igd2ly dGUtbG9ja2VkLCBvcGVyYXRpb24gZmFpbGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMN Cj4gK0ludGVybmFsRXJhc2VCbG9jayAoDQo+ICsgIElOICBFRklfUEhZU0lDQUxfQUREUkVTUyBC YXNlQWRkcmVzcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBOdW1CeXRlczsNCj4gKw0KPiArICBOdW1CeXRlcyA9IEJMT0NLX1NJWkU7DQo+ ICsNCj4gKyAgU3RhdHVzID0gU3BpRmxhc2hCbG9ja0VyYXNlICgoVUlOVE4pIEJhc2VBZGRyZXNz LCAmTnVtQnl0ZXMpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gK0VG SV9TVEFUVVMNCj4gK0ludGVybmFsQ29tcGFyZUJsb2NrICgNCj4gKyAgSU4gIEVGSV9QSFlTSUNB TF9BRERSRVNTICAgICAgICBCYXNlQWRkcmVzcywNCj4gKyAgSU4gIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgICAqQnVmZmVyDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICpDb21wYXJlQnVmZmVyOw0KPiArICBVSU5UMzIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTnVtQnl0ZXM7DQo+ICsgIElOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBDb21wYXJlUmVzdWx0Ow0KPiArDQo+ICsgIE51bUJ5dGVz ID0gQkxPQ0tfU0laRTsNCj4gKyAgQ29tcGFyZUJ1ZmZlciA9IEFsbG9jYXRlUG9vbCAoTnVtQnl0 ZXMpOw0KPiArICBpZiAoQ29tcGFyZUJ1ZmZlciA9PSBOVUxMKSB7DQo+ICsgICAgU3RhdHVzID0g RUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ICsgICAgZ290byBEb25lOw0KPiArICB9DQo+ICsNCj4g KyAgU3RhdHVzID0gU3BpRmxhc2hSZWFkICgoVUlOVE4pIEJhc2VBZGRyZXNzLCAmTnVtQnl0ZXMs DQo+IENvbXBhcmVCdWZmZXIpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsg ICAgZ290byBEb25lOw0KPiArICB9DQo+ICsgIENvbXBhcmVSZXN1bHQgPSBDb21wYXJlTWVtIChD b21wYXJlQnVmZmVyLCBCdWZmZXIsIEJMT0NLX1NJWkUpOw0KPiArICBpZiAoQ29tcGFyZVJlc3Vs dCAhPSAwKSB7DQo+ICsgICAgU3RhdHVzID0gRUZJX1ZPTFVNRV9DT1JSVVBURUQ7DQo+ICsgIH0N Cj4gKw0KPiArRG9uZToNCj4gKyAgaWYgKENvbXBhcmVCdWZmZXIgIT0gTlVMTCkgew0KPiArICAg IEZyZWVQb29sIChDb21wYXJlQnVmZmVyKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBTdGF0 dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArDQo+ICtSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiAr DQo+ICsgIFdyaXRlIGEgYmxvY2sgb2YgZGF0YS4NCj4gKw0KPiArQXJndW1lbnRzOg0KPiArDQo+ ICsgIEJhc2VBZGRyZXNzICAtIEJhc2UgYWRkcmVzcyBvZiB0aGUgYmxvY2suDQo+ICsgIEJ1ZmZl ciAgICAgICAtIERhdGEgYnVmZmVyLg0KPiArICBCdWZmZXJTaXplICAgLSBTaXplIG9mIHRoZSBi dWZmZXIuDQo+ICsNCj4gK1JldHVybnM6DQo+ICsNCj4gKyAgRUZJX1NVQ0NFU1MgICAgICAgICAg IC0gVGhlIGNvbW1hbmQgY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgRUZJX0lOVkFMSURf UEFSQU1FVEVSIC0gSW52YWxpZCBwYXJhbWV0ZXIsIGNhbiBub3QgcHJvY2VlZC4NCj4gKyAgT3Ro ZXIgICAgICAgICAgICAgICAgIC0gRGV2aWNlIGVycm9yIG9yIHdpcnRlLWxvY2tlZCwgb3BlcmF0 aW9uIGZhaWxlZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtJbnRlcm5hbFdyaXRl QmxvY2sgKA0KPiArICBJTiAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIEJhc2VBZGRyZXNz LA0KPiArICBJTiAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXIsDQo+ICsgIElO ICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyU2l6ZQ0KPiArICApDQo+ICt7DQo+ ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsN Cj4gKyAgU3RhdHVzID0gU3BpRmxhc2hXcml0ZSAoKFVJTlROKSBCYXNlQWRkcmVzcywgJkJ1ZmZl clNpemUsIEJ1ZmZlcik7DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiAr ICAgIERFQlVHKChERUJVR19FUlJPUiwgIlxuRmxhc2ggd3JpdGUgZXJyb3IuIikpOw0KPiArICAg IHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBXcml0ZUJhY2tJbnZhbGlkYXRlRGF0 YUNhY2hlUmFuZ2UgKChWT0lEICopIChVSU5UTikgQmFzZUFkZHJlc3MsDQo+IEJMT0NLX1NJWkUp Ow0KPiArDQo+ICsgIFN0YXR1cyA9IEludGVybmFsQ29tcGFyZUJsb2NrIChCYXNlQWRkcmVzcywg QnVmZmVyKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIERFQlVHKChE RUJVR19FUlJPUiwgIlxuRXJyb3Igd2hlbiB3cml0aW5nIHRvIEJhc2VBZGRyZXNzICV4IHdpdGgN Cj4gZGlmZmVyZW50IGF0IG9mZnNldCAleC4iLCBCYXNlQWRkcmVzcywgU3RhdHVzKSk7DQo+ICsg IH0gZWxzZSB7DQo+ICsgICAgREVCVUcoKERFQlVHX0lORk8sICJcblZlcmlmaWVkIGRhdGEgd3Jp dHRlbiB0byBCbG9jayBhdCAleCBpcyBjb3JyZWN0LiIsDQo+IEJhc2VBZGRyZXNzKSk7DQo+ICsg IH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArDQo+ICt9DQo+ICsNCj4gKy8qKg0KPiAr ICBQZXJmb3JtIGZsYXNoIHdyaXRlIG9wZXJhdGlvbiB3aXRoIHByb2dyZXNzIGluZGljYXRvci4g IFRoZSBzdGFydCBhbmQgZW5kDQo+ICsgIGNvbXBsZXRpb24gcGVyY2VudGFnZSB2YWx1ZXMgYXJl IHBhc3NlZCBpbnRvIHRoaXMgZnVuY3Rpb24uICBJZiB0aGUNCj4gcmVxdWVzdGVkDQo+ICsgIGZs YXNoIHdyaXRlIG9wZXJhdGlvbiBpcyBicm9rZW4gdXAsIHRoZW4gY29tcGxldGlvbiBwZXJjZW50 YWdlIGJldHdlZW4NCj4gdGhlDQo+ICsgIHN0YXJ0IGFuZCBlbmQgdmFsdWVzIG1heSBiZSBwYXNz ZWQgdG8gdGhlIHByb3ZpZGVkIFByb2dyZXNzIGZ1bmN0aW9uLg0KPiBUaGUNCj4gKyAgY2FsbGVy IG9mIHRoaXMgZnVuY3Rpb24gaXMgcmVxdWlyZWQgdG8gY2FsbCB0aGUgUHJvZ3Jlc3MgZnVuY3Rp b24gZm9yIHRoZQ0KPiArICBzdGFydCBhbmQgZW5kIGNvbXBsZXRpb24gcGVyY2VudGFnZSB2YWx1 ZXMuICBUaGlzIGFsbG93cyB0aGUgUHJvZ3Jlc3MsDQo+ICsgIFN0YXJ0UGVyY2VudGFnZSwgYW5k IEVuZFBlcmNlbnRhZ2UgcGFyYW1ldGVycyB0byBiZSBpZ25vcmVkIGlmIHRoZQ0KPiByZXF1ZXN0 ZWQNCj4gKyAgZmxhc2ggd3JpdGUgb3BlcmF0aW9uIGNhbiBub3QgYmUgYnJva2VuIHVwDQo+ICsN Cj4gKyAgQHBhcmFtW2luXSBGaXJtd2FyZVR5cGUgICAgICBUaGUgdHlwZSBvZiBmaXJtd2FyZS4N Cj4gKyAgQHBhcmFtW2luXSBGbGFzaEFkZHJlc3MgICAgICBUaGUgYWRkcmVzcyBvZiBmbGFzaCBk ZXZpY2UgdG8gYmUgYWNjZXNzZWQuDQo+ICsgIEBwYXJhbVtpbl0gRmxhc2hBZGRyZXNzVHlwZSAg VGhlIHR5cGUgb2YgZmxhc2ggZGV2aWNlIGFkZHJlc3MuDQo+ICsgIEBwYXJhbVtpbl0gQnVmZmVy ICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gdGhlIGRhdGEgYnVmZmVyLg0KPiArICBAcGFyYW1b aW5dIExlbmd0aCAgICAgICAgICAgIFRoZSBsZW5ndGggb2YgZGF0YSBidWZmZXIgaW4gYnl0ZXMu DQo+ICsgIEBwYXJhbVtpbl0gUHJvZ3Jlc3MgICAgICAgICAgQSBmdW5jdGlvbiB1c2VkIHJlcG9y dCB0aGUgcHJvZ3Jlc3Mgb2YgdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ZmlybXdhcmUgdXBkYXRlLiAgVGhpcyBpcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXINCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aGF0IG1heSBiZSBOVUxMLg0KPiArICBAcGFyYW1b aW5dIFN0YXJ0UGVyY2VudGFnZSAgIFRoZSBzdGFydCBjb21wbGV0aW9uIHBlcmNlbnRhZ2UgdmFs dWUgdGhhdA0KPiBtYXkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZSB1c2Vk IHRvIHJlcG9ydCBwcm9ncmVzcyBkdXJpbmcgdGhlIGZsYXNoDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgd3JpdGUgb3BlcmF0aW9uLg0KPiArICBAcGFyYW1baW5dIEVuZFBlcmNl bnRhZ2UgICAgIFRoZSBlbmQgY29tcGxldGlvbiBwZXJjZW50YWdlIHZhbHVlIHRoYXQNCj4gbWF5 DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgdXNlZCB0byByZXBvcnQgcHJv Z3Jlc3MgZHVyaW5nIHRoZSBmbGFzaA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHdyaXRlIG9wZXJhdGlvbi4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAg ICBUaGUgb3BlcmF0aW9uIHJldHVybnMgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVGSV9X UklURV9QUk9URUNURUQgICBUaGUgZmxhc2ggZGV2aWNlIGlzIHJlYWQgb25seS4NCj4gKyAgQHJl dHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgVGhlIGZsYXNoIGRldmljZSBhY2Nlc3MgaXMgdW5z dXBwb3J0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFRoZSBpbnB1dCBw YXJhbWV0ZXIgaXMgbm90IHZhbGlkLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK1BlcmZvcm1GbGFzaFdyaXRlV2l0aFByb2dyZXNzICgNCj4gKyAgSU4gUExBVEZPUk1fRklS TVdBUkVfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgICBGaXJtd2FyZVR5cGUsDQo+ICsgIElO IEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgICAgICAgICAgICAgICAgRmxhc2hBZGRy ZXNzLA0KPiArICBJTiBGTEFTSF9BRERSRVNTX1RZUEUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZsYXNoQWRkcmVzc1R5cGUsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlciwNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMZW5ndGgsDQo+ICsgIElOIEVGSV9GSVJNV0FS RV9NQU5BR0VNRU5UX1VQREFURV9JTUFHRV9QUk9HUkVTUyAgUHJvZ3Jlc3MsDQo+IE9QVElPTkFM DQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U3RhcnRQZXJjZW50YWdlLA0KPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEVuZFBlcmNlbnRhZ2UNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RB VFVTICAgICAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgSW5kZXg7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICBBZGRyZXNzOw0KPiArICBV SU5UTiAgICAgICAgICAgICAgICAgQ291bnRPZkJsb2NrczsNCj4gKyAgRUZJX1RQTCAgICAgICAg ICAgICAgIE9sZFRwbDsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgIEZsYXNoRXJyb3I7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAqQnVmOw0KPiArICBVSU5UTiAgICAgICAgICAgICAg ICAgTHBjQmFzZUFkZHJlc3M7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBEYXRhOE9yOw0K PiArICBVSU5UOCAgICAgICAgICAgICAgICAgRGF0YThBbmQ7DQo+ICsgIFVJTlQ4ICAgICAgICAg ICAgICAgICBCaW9zQ250bDsNCj4gKw0KPiArICBJbmRleCAgICAgICAgICAgICA9IDA7DQo+ICsg IEFkZHJlc3MgICAgICAgICAgID0gMDsNCj4gKyAgQ291bnRPZkJsb2NrcyAgICAgPSAwOw0KPiAr ICBGbGFzaEVycm9yICAgICAgICA9IEZBTFNFOw0KPiArICBCdWYgICAgICAgICAgICAgICA9IEJ1 ZmZlcjsNCj4gKw0KPiArICBERUJVRygoREVCVUdfSU5GTyB8IERFQlVHX0VSUk9SLCAiUGVyZm9y bUZsYXNoV3JpdGUgLSAweCV4KCV4KSAtDQo+IDB4JXhcbiIsIChVSU5UTilGbGFzaEFkZHJlc3Ms IChVSU5UTilGbGFzaEFkZHJlc3NUeXBlLCBMZW5ndGgpKTsNCj4gKyAgaWYgKEZsYXNoQWRkcmVz c1R5cGUgPT0gRmxhc2hBZGRyZXNzVHlwZVJlbGF0aXZlQWRkcmVzcykgew0KPiArICAgIEZsYXNo QWRkcmVzcyA9IEZsYXNoQWRkcmVzcyArIG1JbnRlcm5hbEZkQWRkcmVzczsNCj4gKyAgfQ0KPiAr DQo+ICsgIENvdW50T2ZCbG9ja3MgPSAoVUlOVE4pIChMZW5ndGggLyBCTE9DS19TSVpFKTsNCj4g KyAgQWRkcmVzcyA9IEZsYXNoQWRkcmVzczsNCj4gKw0KPiArICBMcGNCYXNlQWRkcmVzcyA9IE1t UGNpQWRkcmVzcyAoMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgREVGQVVMVF9QQ0lfQlVTX05V TUJFUl9QQ0gsDQo+ICsgICAgICAgICAgICAgICAgICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9M UEMsDQo+ICsgICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQywN Cj4gKyAgICAgICAgICAgICAgICAgICAgMA0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiAr ICBCaW9zQ250bCA9IE1taW9SZWFkOCAoTHBjQmFzZUFkZHJlc3MgKyBSX1BDSF9MUENfQklPU19D TlRMKTsNCj4gKyAgaWYgKChCaW9zQ250bCAmIEJfUENIX0xQQ19CSU9TX0NOVExfU01NX0JXUCkg PT0NCj4gQl9QQ0hfTFBDX0JJT1NfQ05UTF9TTU1fQldQKSB7DQo+ICsgICAgLy8vDQo+ICsgICAg Ly8vIENsZWFyIFNNTV9CV1AgYml0IChEMzE6RjA6UmVnRENoWzVdKQ0KPiArICAgIC8vLw0KPiAr ICAgIERhdGE4QW5kICA9IChVSU5UOCkgfkJfUENIX0xQQ19CSU9TX0NOVExfU01NX0JXUDsNCj4g KyAgICBEYXRhOE9yICAgPSAweDAwOw0KPiArDQo+ICsgICAgTW1pb0FuZFRoZW5PcjggKA0KPiAr ICAgICAgTHBjQmFzZUFkZHJlc3MgKyBSX1BDSF9MUENfQklPU19DTlRMLA0KPiArICAgICAgRGF0 YThBbmQsDQo+ICsgICAgICBEYXRhOE9yDQo+ICsgICAgICApOw0KPiArICAgIERFQlVHKChERUJV R19JTkZPLCAiUGVyZm9ybUZsYXNoV3JpdGUgQ2xlYXIgU01NX0JXUCBiaXRcbiIpKTsNCj4gKyAg fQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBSYWlzZSBUUEwgdG8gVFBMX05PVElGWSB0byBi bG9jayBhbnkgZXZlbnQgaGFuZGxlciwNCj4gKyAgICAvLyB3aGlsZSBzdGlsbCBhbGxvd2luZyBS YWlzZVRQTChUUExfTk9USUZZKSB3aXRoaW4NCj4gKyAgICAvLyBvdXRwdXQgZHJpdmVyIGR1cmlu ZyBQcmludCgpDQo+ICsgICAgLy8NCj4gKyAgICBPbGRUcGwgPSBnQlMtPlJhaXNlVFBMIChUUExf Tk9USUZZKTsNCj4gKyAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBDb3VudE9mQmxvY2tzOyBJ bmRleCsrKSB7DQo+ICsgICAgICBpZiAoUHJvZ3Jlc3MgIT0gTlVMTCkgew0KPiArICAgICAgICBQ cm9ncmVzcyAoU3RhcnRQZXJjZW50YWdlICsgKChJbmRleCAqIChFbmRQZXJjZW50YWdlIC0NCj4g U3RhcnRQZXJjZW50YWdlKSkgLyBDb3VudE9mQmxvY2tzKSk7DQo+ICsgICAgICB9DQo+ICsgICAg ICAvLw0KPiArICAgICAgLy8gSGFuZGxlIGJsb2NrIGJhc2VkIG9uIGFkZHJlc3MgYW5kIGNvbnRl bnRzLg0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICghRUZJX0VSUk9SIChJbnRlcm5hbENvbXBh cmVCbG9jayAoQWRkcmVzcywgQnVmKSkpIHsNCj4gKyAgICAgICAgREVCVUcoKERFQlVHX0lORk8s ICJTa2lwcGluZyBibG9jayBhdCAweCVseCAoYWxyZWFkeQ0KPiBwcm9ncmFtbWVkKVxuIiwgQWRk cmVzcykpOw0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8g TWFrZSB1cGRhdGluZyBwcm9jZXNzIHVuaW50ZXJydXB0YWJsZSwNCj4gKyAgICAgICAgLy8gc28g dGhhdCB0aGUgZmxhc2ggbWVtb3J5IGFyZWEgaXMgbm90IGFjY2Vzc2VkIGJ5IG90aGVyIGVudGl0 aWVzDQo+ICsgICAgICAgIC8vIHdoaWNoIG1heSBpbnRlcmZlcmUgd2l0aCB0aGUgdXBkYXRpbmcg cHJvY2Vzcw0KPiArICAgICAgICAvLw0KPiArICAgICAgICBTdGF0dXMgID0gSW50ZXJuYWxFcmFz ZUJsb2NrIChBZGRyZXNzKTsNCj4gKyAgICAgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ ICsgICAgICAgICAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KPiArICAgICAgICAgIEZsYXNo RXJyb3IgPSBUUlVFOw0KPiArICAgICAgICAgIGdvdG8gRG9uZTsNCj4gKyAgICAgICAgfQ0KPiAr ICAgICAgICBTdGF0dXMgPSBJbnRlcm5hbFdyaXRlQmxvY2sgKA0KPiArICAgICAgICAgICAgICAg ICAgQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAgIEJ1ZiwNCj4gKyAgICAgICAgICAgICAg ICAgIChVSU5UMzIpKExlbmd0aCA+IEJMT0NLX1NJWkUgPyBCTE9DS19TSVpFIDogTGVuZ3RoKQ0K PiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMp KSB7DQo+ICsgICAgICAgICAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KPiArICAgICAgICAg IEZsYXNoRXJyb3IgPSBUUlVFOw0KPiArICAgICAgICAgIGdvdG8gRG9uZTsNCj4gKyAgICAgICAg fQ0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gTW92ZSB0byBuZXh0 IGJsb2NrIHRvIHVwZGF0ZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBBZGRyZXNzICs9IEJMT0NL X1NJWkU7DQo+ICsgICAgICBCdWYgKz0gQkxPQ0tfU0laRTsNCj4gKyAgICAgIGlmIChMZW5ndGgg PiBCTE9DS19TSVpFKSB7DQo+ICsgICAgICAgIExlbmd0aCAtPSBCTE9DS19TSVpFOw0KPiArICAg ICAgfSBlbHNlIHsNCj4gKyAgICAgICAgTGVuZ3RoID0gMDsNCj4gKyAgICAgIH0NCj4gKyAgICB9 DQo+ICsgICAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KPiArDQo+ICtEb25lOg0KPiArICBp ZiAoKEJpb3NDbnRsICYgQl9QQ0hfTFBDX0JJT1NfQ05UTF9TTU1fQldQKSA9PQ0KPiBCX1BDSF9M UENfQklPU19DTlRMX1NNTV9CV1ApIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFJlc3RvcmUgb3Jp Z2luYWwgY29udHJvbCBzZXR0aW5nDQo+ICsgICAgLy8NCj4gKyAgICBNbWlvV3JpdGU4IChMcGNC YXNlQWRkcmVzcyArIFJfUENIX0xQQ19CSU9TX0NOVEwsIEJpb3NDbnRsKTsNCj4gKyAgfQ0KPiAr DQo+ICsgIGlmIChQcm9ncmVzcyAhPSBOVUxMKSB7DQo+ICsgICAgUHJvZ3Jlc3MgKEVuZFBlcmNl bnRhZ2UpOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEZsYXNoRXJyb3IpIHsNCj4gKyAgICByZXR1 cm4gRUZJX1dSSVRFX1BST1RFQ1RFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VD Q0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFBlcmZvcm0gZmxhc2ggd3JpdGUgb3BlcmF0 aW9uLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gRmlybXdhcmVUeXBlICAgICAgVGhlIHR5cGUgb2Yg ZmlybXdhcmUuDQo+ICsgIEBwYXJhbVtpbl0gRmxhc2hBZGRyZXNzICAgICAgVGhlIGFkZHJlc3Mg b2YgZmxhc2ggZGV2aWNlIHRvIGJlIGFjY2Vzc2VkLg0KPiArICBAcGFyYW1baW5dIEZsYXNoQWRk cmVzc1R5cGUgIFRoZSB0eXBlIG9mIGZsYXNoIGRldmljZSBhZGRyZXNzLg0KPiArICBAcGFyYW1b aW5dIEJ1ZmZlciAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIHRoZSBkYXRhIGJ1ZmZlci4NCj4g KyAgQHBhcmFtW2luXSBMZW5ndGggICAgICAgICAgICBUaGUgbGVuZ3RoIG9mIGRhdGEgYnVmZmVy IGluIGJ5dGVzLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBv cGVyYXRpb24gcmV0dXJucyBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgRUZJX1dSSVRFX1BS T1RFQ1RFRCAgIFRoZSBmbGFzaCBkZXZpY2UgaXMgcmVhZCBvbmx5Lg0KPiArICBAcmV0dmFsIEVG SV9VTlNVUFBPUlRFRCAgICAgICBUaGUgZmxhc2ggZGV2aWNlIGFjY2VzcyBpcyB1bnN1cHBvcnRl ZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgVGhlIGlucHV0IHBhcmFtZXRl ciBpcyBub3QgdmFsaWQuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUGVy Zm9ybUZsYXNoV3JpdGUgKA0KPiArICBJTiBQTEFURk9STV9GSVJNV0FSRV9UWVBFICAgICAgIEZp cm13YXJlVHlwZSwNCj4gKyAgSU4gRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICBGbGFzaEFk ZHJlc3MsDQo+ICsgIElOIEZMQVNIX0FERFJFU1NfVFlQRSAgICAgICAgICAgRmxhc2hBZGRyZXNz VHlwZSwNCj4gKyAgSU4gVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyLA0KPiAr ICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aA0KPiArICApDQo+ICt7DQo+ ICsgIHJldHVybiBQZXJmb3JtRmxhc2hXcml0ZVdpdGhQcm9ncmVzcyAoDQo+ICsgICAgICAgICAg IEZpcm13YXJlVHlwZSwNCj4gKyAgICAgICAgICAgRmxhc2hBZGRyZXNzLA0KPiArICAgICAgICAg ICBGbGFzaEFkZHJlc3NUeXBlLA0KPiArICAgICAgICAgICBCdWZmZXIsDQo+ICsgICAgICAgICAg IExlbmd0aCwNCj4gKyAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgMCwNCj4gKyAgICAg ICAgICAgMA0KPiArICAgICAgICAgICApOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUGVyZm9y bSBtaWNyb2NvZGUgd3JpdGUgb3BlcmF0aW9uLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gRmxhc2hB ZGRyZXNzICAgICAgVGhlIGFkZHJlc3Mgb2YgZmxhc2ggZGV2aWNlIHRvIGJlIGFjY2Vzc2VkLg0K PiArICBAcGFyYW1baW5dIEJ1ZmZlciAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIHRoZSBkYXRh IGJ1ZmZlci4NCj4gKyAgQHBhcmFtW2luXSBMZW5ndGggICAgICAgICAgICBUaGUgbGVuZ3RoIG9m IGRhdGEgYnVmZmVyIGluIGJ5dGVzLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAg ICAgICAgIFRoZSBvcGVyYXRpb24gcmV0dXJucyBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwg RUZJX1dSSVRFX1BST1RFQ1RFRCAgIFRoZSBmbGFzaCBkZXZpY2UgaXMgcmVhZCBvbmx5Lg0KPiAr ICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGUgZmxhc2ggZGV2aWNlIGFjY2VzcyBp cyB1bnN1cHBvcnRlZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgVGhlIGlu cHV0IHBhcmFtZXRlciBpcyBub3QgdmFsaWQuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArTWljcm9jb2RlRmxhc2hXcml0ZSAoDQo+ICsgIElOIEVGSV9QSFlTSUNBTF9BRERS RVNTICAgICAgICAgRmxhc2hBZGRyZXNzLA0KPiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAg ICAgICAgICpCdWZmZXIsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgTGVu Z3RoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICBBbGln bmVkRmxhc2hBZGRyZXNzOw0KPiArICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICpBbGln bmVkQnVmZmVyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgIEFsaWduZWRMZW5n dGg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0SGVhZDsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXRUYWlsOw0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiArICBERUJVRygoREVCVUdfSU5GTywg Ik1pY3JvY29kZUZsYXNoV3JpdGUgLSAweCV4IC0gMHgleFxuIiwNCj4gKFVJTlROKUZsYXNoQWRk cmVzcywgTGVuZ3RoKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTmVlZCBtYWtlIGJ1ZmZlciA2 NEsgYWxpZ25lZCB0byBzdXBwb3J0IEVSQVNFDQo+ICsgIC8vDQo+ICsgIC8vIFtBbGlnbmVkXSAg ICBGbGFzaEFkZHJlc3MgICAgW0FsaWduZWRdDQo+ICsgIC8vIHwgICAgICAgICAgICAgIHwgICAg ICAgICAgICAgICAgICAgICB8DQo+ICsgIC8vIFYgICAgICAgICAgICAgIFYgICAgICAgICAgICAg ICAgICAgICBWDQo+ICsgIC8vICstLS0tLS0tLS0tLS0tLSs9PT09PT09PSstLS0tLS0tLS0tLS0r DQo+ICsgIC8vIHwgT2Zmc2V0SGVhZGVyIHwgTGVuZ3RoIHwgT2Zmc2V0VGFpbCB8DQo+ICsgIC8v ICstLS0tLS0tLS0tLS0tLSs9PT09PT09PSstLS0tLS0tLS0tLS0rDQo+ICsgIC8vIF4NCj4gKyAg Ly8gfDwtLS0tLS0tLS0tLUFsaWduZWRMZW5ndGgtLS0tLS0tLS0tLT4NCj4gKyAgLy8gfA0KPiAr ICAvLyBBbGlnbmVkRmxhc2hBZGRyZXNzDQo+ICsgIC8vDQo+ICsgIE9mZnNldEhlYWQgPSBGbGFz aEFkZHJlc3MgJiAoQUxJTkdFRF9TSVpFIC0gMSk7DQo+ICsgIE9mZnNldFRhaWwgPSAoRmxhc2hB ZGRyZXNzICsgTGVuZ3RoKSAmIChBTElOR0VEX1NJWkUgLSAxKTsNCj4gKyAgaWYgKE9mZnNldFRh aWwgIT0gMCkgew0KPiArICAgIE9mZnNldFRhaWwgPSBBTElOR0VEX1NJWkUgLSBPZmZzZXRUYWls Ow0KPiArICB9DQo+ICsNCj4gKyAgaWYgKChPZmZzZXRIZWFkICE9IDApIHx8IChPZmZzZXRUYWls ICE9IDApKSB7DQo+ICsgICAgQWxpZ25lZEZsYXNoQWRkcmVzcyA9IEZsYXNoQWRkcmVzcyAtIE9m ZnNldEhlYWQ7DQo+ICsgICAgQWxpZ25lZExlbmd0aCA9IExlbmd0aCArIE9mZnNldEhlYWQgKyBP ZmZzZXRUYWlsOw0KPiArDQo+ICsgICAgQWxpZ25lZEJ1ZmZlciA9IEFsbG9jYXRlUG9vbChBbGln bmVkTGVuZ3RoKTsNCj4gKyAgICBpZiAoQWxpZ25lZEJ1ZmZlciA9PSBOVUxMKSB7DQo+ICsgICAg ICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ICsgICAgfQ0KPiArICAgIC8vDQo+ICsg ICAgLy8gU2F2ZSBvcmlnaW5hbCBidWZmZXINCj4gKyAgICAvLw0KPiArICAgIGlmIChPZmZzZXRI ZWFkICE9IDApIHsNCj4gKyAgICAgIENvcHlNZW0oKFVJTlQ4ICopQWxpZ25lZEJ1ZmZlciwgKFZP SUQNCj4gKikoVUlOVE4pQWxpZ25lZEZsYXNoQWRkcmVzcywgT2Zmc2V0SGVhZCk7DQo+ICsgICAg fQ0KPiArICAgIGlmIChPZmZzZXRUYWlsICE9IDApIHsNCj4gKyAgICAgIENvcHlNZW0oKFVJTlQ4 ICopQWxpZ25lZEJ1ZmZlciArIE9mZnNldEhlYWQgKyBMZW5ndGgsIChWT0lEDQo+ICopKFVJTlRO KShBbGlnbmVkRmxhc2hBZGRyZXNzICsgT2Zmc2V0SGVhZCArIExlbmd0aCksIE9mZnNldFRhaWwp Ow0KPiArICAgIH0NCj4gKyAgICAvLw0KPiArICAgIC8vIE92ZXJyaWRlIG5ldyBidWZmZXINCj4g KyAgICAvLw0KPiArICAgIENvcHlNZW0oKFVJTlQ4ICopQWxpZ25lZEJ1ZmZlciArIE9mZnNldEhl YWQsIEJ1ZmZlciwgTGVuZ3RoKTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBBbGlnbmVkRmxhc2hB ZGRyZXNzID0gRmxhc2hBZGRyZXNzOw0KPiArICAgIEFsaWduZWRCdWZmZXIgPSBCdWZmZXI7DQo+ ICsgICAgQWxpZ25lZExlbmd0aCA9IExlbmd0aDsNCj4gKyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9 IFBlcmZvcm1GbGFzaFdyaXRlKA0KPiArICAgICAgICAgICAgIFBsYXRmb3JtRmlybXdhcmVUeXBl U3lzdGVtRmlybXdhcmUsDQo+ICsgICAgICAgICAgICAgQWxpZ25lZEZsYXNoQWRkcmVzcywNCj4g KyAgICAgICAgICAgICBGbGFzaEFkZHJlc3NUeXBlQWJzb2x1dGVBZGRyZXNzLA0KPiArICAgICAg ICAgICAgIEFsaWduZWRCdWZmZXIsDQo+ICsgICAgICAgICAgICAgQWxpZ25lZExlbmd0aA0KPiAr ICAgICAgICAgICAgICk7DQo+ICsgIGlmICgoT2Zmc2V0SGVhZCAhPSAwKSB8fCAoT2Zmc2V0VGFp bCAhPSAwKSkgew0KPiArICAgIEZyZWVQb29sIChBbGlnbmVkQnVmZmVyKTsNCj4gKyAgfQ0KPiAr ICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUGxhdGZvcm0gRmxhc2gg QWNjZXNzIExpYiBDb25zdHJ1Y3Rvci4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJ DQo+ICtQZXJmb3JtRmxhc2hBY2Nlc3NMaWJDb25zdHJ1Y3RvciAoDQo+ICsgIFZPSUQNCj4gKyAg KQ0KPiArew0KPiArICBFRklfU1RBVFVTIFN0YXR1czsNCj4gKyAgbUludGVybmFsRmRBZGRyZXNz ID0NCj4gKEVGSV9QSFlTSUNBTF9BRERSRVNTKShVSU5UTilQY2RHZXQzMihQY2RGbGFzaEFyZWFC YXNlQWRkcmVzcyk7DQo+ICsgIERFQlVHKChERUJVR19JTkZPLCAiUGNkRmxhc2hBcmVhQmFzZUFk ZHJlc3MgLSAweCV4XG4iLA0KPiBtSW50ZXJuYWxGZEFkZHJlc3MpKTsNCj4gKw0KPiArICBTdGF0 dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpU3Bp UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAg ICAgICAgIChWT0lEICoqKSAmbVNwaVByb3RvY29sDQo+ICsgICAgICAgICAgICAgICAgICApOw0K PiArICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUND RVNTOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvUGxhdGZvcm1GbGFzaA0KPiBBY2Nlc3NMaWIv UGxhdGZvcm1GbGFzaEFjY2Vzc0xpYi5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvTGlicmFyeS9QbGF0Zm9ybUZsYXNoDQo+IEFjY2Vzc0xp Yi9QbGF0Zm9ybUZsYXNoQWNjZXNzTGliLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi45YjI5YjA1YmFjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkv UGxhdGZvcm1GbGFzaA0KPiBBY2Nlc3NMaWIvUGxhdGZvcm1GbGFzaEFjY2Vzc0xpYi5pbmYNCj4g QEAgLTAsMCArMSw1NCBAQA0KPiArIyMgQGZpbGUNCj4gKyMgIFBsYXRmb3JtIEZsYXNoIEFjY2Vz cyBsaWJyYXJ5Lg0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDE3IC0gMjAxOCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMjDQo+ICsNCj4gK1tE ZWZpbmVzXQ0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1 DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9IFBsYXRmb3JtRmxhc2hBY2Nl c3NMaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gMzFDRjlDRUMtREE0 RS00NTA1LUFBMjAtMzMzNjRBMjkxQTk1DQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAg ICAgICA9IEJBU0UNCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IFBsYXRmb3JtRmxhc2hBY2Nlc3NM aWINCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gTWljcm9jb2RlRmxhc2hB Y2Nlc3NMaWINCj4gKyAgQ09OU1RSVUNUT1IgICAgICAgICAgICAgICAgICAgID0gUGVyZm9ybUZs YXNoQWNjZXNzTGliQ29uc3RydWN0b3INCj4gKw0KPiArIw0KPiArIyBUaGUgZm9sbG93aW5nIGlu Zm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZQ0K PiBidWlsZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAg ID0gSUEzMiBYNjQgRUJDDQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBQbGF0Zm9ybUZs YXNoQWNjZXNzTGliLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRl Yw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBTaWduZWRDYXBzdWxl UGtnL1NpZ25lZENhcHN1bGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt UGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5k ZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBCYXNlTWVtb3J5TGliDQo+ICsgIElv TGliDQo+ICsgIFBjZExpYg0KPiArICBEZWJ1Z0xpYg0KPiArICBNZW1vcnlBbGxvY2F0aW9uTGli DQo+ICsgIENhY2hlTWFpbnRlbmFuY2VMaWINCj4gKw0KPiArW0d1aWRzXQ0KPiArICBnRWRraWlT eXN0ZW1GbXBDYXBzdWxlQ29uZmlnRmlsZUd1aWQgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNV TUVTDQo+ICMjIEdVSUQNCj4gKw0KPiArW1Byb3RvY29sc10NCj4gKyAgZ0VmaVNwaVByb3RvY29s R3VpZCAgICAgICAgICAgICAgICAgICAgICAgICAgIyMgQ09OU1VNRVMNCj4gKw0KPiArW1BjZF0N Cj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hBcmVhQmFzZUFkZHJl c3MgICMjDQo+IFNPTUVUSU1FU19DT05TVU1FUw0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNw YWNlR3VpZC5QY2RGbGFzaENoaXBCYXNlICAgICAgICAgIyMNCj4gU09NRVRJTUVTX0NPTlNVTUVT DQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoQ2hpcFNpemUgICAg ICAgICAjIw0KPiBTT01FVElNRVNfQ09OU1VNRVMNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFBjaUV4cHJlc3NCYXNlQWRkcmVzcyAgICAgICMjDQo+IFNPTUVUSU1FU19DT05TVU1F Uw0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9GZWF0dXJlL0NhcHN1bGUvU3lzdGVtRmlybXdhcmVEZXNjcg0KPiBpcHRvci9TeXN0ZW1GaXJt d2FyZURlc2NyaXB0b3IuYXNsYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0ZlYXR1cmUvQ2Fwc3VsZS9TeXN0ZW1GaXJtd2FyZURlc2NyDQo+IGlwdG9yL1N5c3RlbUZpcm13 YXJlRGVzY3JpcHRvci5hc2xjDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjg4NGRhMzZiOTcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvU3lzdGVtRmlybXdhcmVEZXNj cg0KPiBpcHRvci9TeXN0ZW1GaXJtd2FyZURlc2NyaXB0b3IuYXNsYw0KPiBAQCAtMCwwICsxLDgz IEBADQo+ICsvKiogQGZpbGUNCj4gKyAgU3lzdGVtIEZpcm13YXJlIGRlc2NyaXB0b3IuDQo+ICsN Cj4gKyAgQ29weXJpZ2h0IChjKSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8UGlQZWkuaD4NCj4gKyNpbmNs dWRlIDxQcm90b2NvbC9GaXJtd2FyZU1hbmFnZW1lbnQuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0Vk a2lpU3lzdGVtRm1wQ2Fwc3VsZS5oPg0KPiArDQo+ICsjZGVmaW5lIFBBQ0tBR0VfVkVSU0lPTiAg ICAgICAgICAgICAgICAgICAgIDB4RkZGRkZGRkYNCj4gKyNkZWZpbmUgUEFDS0FHRV9WRVJTSU9O X1NUUklORyAgICAgICAgICAgICAgTCJVbmtub3duIg0KPiArDQo+ICsjZGVmaW5lIENVUlJFTlRf RklSTVdBUkVfVkVSU0lPTiAgICAgICAgICAgIDB4MDAwMDAwMDINCj4gKyNkZWZpbmUgQ1VSUkVO VF9GSVJNV0FSRV9WRVJTSU9OX1NUUklORyAgICAgTCIweDAwMDAwMDAyIg0KPiArI2RlZmluZSBM T1dFU1RfU1VQUE9SVEVEX0ZJUk1XQVJFX1ZFUlNJT04gICAweDAwMDAwMDAxDQo+ICsNCj4gKyNk ZWZpbmUgSU1BR0VfSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgU0lHTkFUVVJFXzY0KCdW JywgJ0wnLCAnVicsICcyJywgJ18nLCAnXycsICdGJywgJ2QnKQ0KPiArI2RlZmluZSBJTUFHRV9J RF9TVFJJTkcgICAgICAgICAgICAgICAgICAgICBMIlZsdjJGZCINCj4gKw0KPiArLy8gUGNkU3lz dGVtRm1wQ2Fwc3VsZUltYWdlVHlwZUlkR3VpZA0KPiArI2RlZmluZSBJTUFHRV9UWVBFX0lEX0dV SUQgICAgICAgICAgICAgICAgICB7IDB4NDA5NjI2N2IsIDB4ZGEwYSwgMHg0MmViLA0KPiB7IDB4 YjUsIDB4ZWIsIDB4ZmUsIDB4ZjMsIDB4MWQsIDB4MjAsIDB4N2MsIDB4YjQgfSB9DQo+ICsNCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRURLSUlfU1lTVEVNX0ZJUk1XQVJFX0lNQUdFX0RFU0NS SVBUT1IgIERlc2NyaXB0b3I7DQo+ICsgIC8vIHJlYWwgc3RyaW5nIGRhdGENCj4gKyAgQ0hBUjE2 DQo+IEltYWdlSWROYW1lU3RyW3NpemVvZihJTUFHRV9JRF9TVFJJTkcpL3NpemVvZihDSEFSMTYp XTsNCj4gKyAgQ0hBUjE2DQo+IFZlcnNpb25OYW1lU3RyW3NpemVvZihDVVJSRU5UX0ZJUk1XQVJF X1ZFUlNJT05fU1RSSU5HKS9zaXplb2YoQ0gNCj4gQVIxNildOw0KPiArICBDSEFSMTYNCj4gUGFj a2FnZVZlcnNpb25OYW1lU3RyW3NpemVvZihQQUNLQUdFX1ZFUlNJT05fU1RSSU5HKS9zaXplb2Yo Q0hBUjENCj4gNildOw0KPiArfSBJTUFHRV9ERVNDUklQVE9SOw0KPiArDQo+ICtJTUFHRV9ERVND UklQVE9SIG1JbWFnZURlc2NyaXB0b3IgPQ0KPiArew0KPiArICB7DQo+ICsgICAgRURLSUlfU1lT VEVNX0ZJUk1XQVJFX0lNQUdFX0RFU0NSSVBUT1JfU0lHTkFUVVJFLA0KPiArICAgIHNpemVvZihF REtJSV9TWVNURU1fRklSTVdBUkVfSU1BR0VfREVTQ1JJUFRPUiksDQo+ICsgICAgc2l6ZW9mKElN QUdFX0RFU0NSSVBUT1IpLA0KPiArICAgIFBBQ0tBR0VfVkVSU0lPTiwgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWNrYWdlVmVyc2lvbg0KPiArICAgIE9GRlNFVF9P RiAoSU1BR0VfREVTQ1JJUFRPUiwgUGFja2FnZVZlcnNpb25OYW1lU3RyKSwgICAvLw0KPiBQYWNr YWdlVmVyc2lvbk5hbWUNCj4gKyAgICAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2VJbmRleDsNCj4gKyAgICB7MHgwfSwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQNCj4g KyAgICBJTUFHRV9UWVBFX0lEX0dVSUQsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gSW1hZ2VUeXBlSWQ7DQo+ICsgICAgSU1BR0VfSUQsICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlSWQ7DQo+ICsgICAgT0ZGU0VUX09GIChJ TUFHRV9ERVNDUklQVE9SLCBJbWFnZUlkTmFtZVN0ciksICAgICAgICAgIC8vDQo+IEltYWdlSWRO YW1lOw0KPiArICAgIENVUlJFTlRfRklSTVdBUkVfVkVSU0lPTiwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBWZXJzaW9uOw0KPiArICAgIE9GRlNFVF9PRiAoSU1BR0VfREVTQ1JJUFRP UiwgVmVyc2lvbk5hbWVTdHIpLCAgICAgICAgICAvLw0KPiBWZXJzaW9uTmFtZTsNCj4gKyAgICB7 MHgwfSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g UmVzZXJ2ZWQyDQo+ICsgICAgRml4ZWRQY2RHZXQzMihQY2RGbGFzaEFyZWFTaXplKSwgICAgICAg ICAgICAgICAgICAgICAgIC8vIFNpemU7DQo+ICsgICAgSU1BR0VfQVRUUklCVVRFX0lNQUdFX1VQ REFUQUJMRSB8DQo+ICsgICAgICBJTUFHRV9BVFRSSUJVVEVfUkVTRVRfUkVRVUlSRUQgfA0KPiAr ICAgICAgSU1BR0VfQVRUUklCVVRFX0FVVEhFTlRJQ0FUSU9OX1JFUVVJUkVEIHwNCj4gKyAgICAg IElNQUdFX0FUVFJJQlVURV9JTl9VU0UsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g QXR0cmlidXRlc1N1cHBvcnRlZDsNCj4gKyAgICBJTUFHRV9BVFRSSUJVVEVfSU1BR0VfVVBEQVRB QkxFIHwNCj4gKyAgICAgIElNQUdFX0FUVFJJQlVURV9SRVNFVF9SRVFVSVJFRCB8DQo+ICsgICAg ICBJTUFHRV9BVFRSSUJVVEVfQVVUSEVOVElDQVRJT05fUkVRVUlSRUQgfA0KPiArICAgICAgSU1B R0VfQVRUUklCVVRFX0lOX1VTRSwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBBdHRy aWJ1dGVzU2V0dGluZzsNCj4gKyAgICAweDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gQ29tcGF0aWJpbGl0aWVzOw0KPiArICAgIExPV0VTVF9T VVBQT1JURURfRklSTVdBUkVfVkVSU0lPTiwgICAgICAgICAgICAgICAgICAgICAvLw0KPiBMb3dl c3RTdXBwb3J0ZWRJbWFnZVZlcnNpb247DQo+ICsgICAgMHgwMDAwMDAwMCwgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIExhc3RBdHRlbXB0VmVyc2lvbjsNCj4g KyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gTGFzdEF0dGVtcHRTdGF0dXM7DQo+ICsgICAgezB4MH0sICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkMw0KPiArICAgIDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBIYXJk d2FyZUluc3RhbmNlOw0KPiArICB9LA0KPiArICAvLyByZWFsIHN0cmluZyBkYXRhDQo+ICsgIHtJ TUFHRV9JRF9TVFJJTkd9LA0KPiArICB7Q1VSUkVOVF9GSVJNV0FSRV9WRVJTSU9OX1NUUklOR30s DQo+ICsgIHtQQUNLQUdFX1ZFUlNJT05fU1RSSU5HfSwNCj4gK307DQo+ICsNCj4gKw0KPiArVk9J RCoNCj4gK1JlZmVyZW5jZUFjcGlUYWJsZSAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiAr ICAvLw0KPiArICAvLyBSZWZlcmVuY2UgdGhlIHRhYmxlIGJlaW5nIGdlbmVyYXRlZCB0byBwcmV2 ZW50IHRoZSBvcHRpbWl6ZXIgZnJvbQ0KPiArICAvLyByZW1vdmluZyB0aGUgZGF0YSBzdHJ1Y3R1 cmUgZnJvbSB0aGUgZXhlY3V0YWJsZQ0KPiArICAvLw0KPiArICByZXR1cm4gKFZPSUQqKSZtSW1h Z2VEZXNjcmlwdG9yOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL1N5c3RlbUZpcm13YXJlRGVzY3INCj4gaXB0 b3IvU3lzdGVtRmlybXdhcmVEZXNjcmlwdG9yLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9TeXN0ZW1GaXJtd2FyZURlc2NyDQo+IGlwdG9y L1N5c3RlbUZpcm13YXJlRGVzY3JpcHRvci5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uZGQ4NWM4NmQ5NQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9TeXN0ZW1G aXJtd2FyZURlc2NyDQo+IGlwdG9yL1N5c3RlbUZpcm13YXJlRGVzY3JpcHRvci5pbmYNCj4gQEAg LTAsMCArMSw0MCBAQA0KPiArIyMgQGZpbGUNCj4gKyMgIFN5c3RlbSBGaXJtd2FyZSBkZXNjcmlw dG9yLg0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIyMNCj4gKw0KPiArW0RlZmluZXNdDQo+ICsg IElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9O QU1FICAgICAgICAgICAgICAgICAgICAgID0gU3lzdGVtRmlybXdhcmVEZXNjcmlwdG9yDQo+ICsg IEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDkwQjJCODQ2LUNBNkQtNEQ2RS1BOEQz LUMxNDBBOEUxMTBBQw0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBQRUlN DQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBFTlRSWV9Q T0lOVCAgICAgICAgICAgICAgICAgICAgPSBTeXN0ZW1GaXJtd2FyZURlc2NyaXB0b3JQZWltRW50 cnkNCj4gKw0KPiArW1NvdXJjZXNdDQo+ICsgIFN5c3RlbUZpcm13YXJlRGVzY3JpcHRvclBlaS5j DQo+ICsgIFN5c3RlbUZpcm13YXJlRGVzY3JpcHRvci5hc2xjDQo+ICsNCj4gK1tQYWNrYWdlc10N Cj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5k ZWMNCj4gKyAgU2lnbmVkQ2Fwc3VsZVBrZy9TaWduZWRDYXBzdWxlUGtnLmRlYw0KPiArICBWbHYy VGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0K PiArICBQY2RMaWINCj4gKyAgUGVpU2VydmljZXNMaWINCj4gKyAgRGVidWdMaWINCj4gKyAgUGVp bUVudHJ5UG9pbnQNCj4gKw0KPiArW0ZpeGVkUGNkXQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tl blNwYWNlR3VpZC5QY2RGbGFzaEFyZWFTaXplDQo+ICsNCj4gK1tQY2RdDQo+ICsNCj4gZ0VmaVNp Z25lZENhcHN1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFZGtpaVN5c3RlbUZpcm13YXJlSW1hZ2VE ZXNjcmkNCj4gcHRvcg0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIFRSVUUNCj4gZGlmZiAtLWdpdA0K PiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9TeXN0 ZW1GaXJtd2FyZURlc2NyDQo+IGlwdG9yL1N5c3RlbUZpcm13YXJlRGVzY3JpcHRvclBlaS5jDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL1N5c3Rl bUZpcm13YXJlRGVzY3INCj4gaXB0b3IvU3lzdGVtRmlybXdhcmVEZXNjcmlwdG9yUGVpLmMNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZDIxZWU1MjE4NA0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0ZlYXR1cmUvQ2Fwc3VsZS9TeXN0ZW1GaXJtd2FyZURlc2NyDQo+IGlwdG9yL1N5c3RlbUZpcm13 YXJlRGVzY3JpcHRvclBlaS5jDQo+IEBAIC0wLDAgKzEsNjAgQEANCj4gKy8qKiBAZmlsZQ0KPiAr ICBTeXN0ZW0gRmlybXdhcmUgZGVzY3JpcHRvciBwcm9kdWNlci4NCj4gKw0KPiArICBDb3B5cmln aHQgKGMpIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArKiovDQo+ICsNCj4gKyNpbmNsdWRlIDxQaVBlaS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkv UGNkTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QZWlTZXJ2aWNlc0xpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9GaXJtd2Fy ZU1hbmFnZW1lbnQuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0Vka2lpU3lzdGVtRm1wQ2Fwc3VsZS5o Pg0KPiArDQo+ICsvKioNCj4gKyAgRW50cnlwb2ludCBmb3IgU3lzdGVtRmlybXdhcmVEZXNjcmlw dG9yIFBFSU0uDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgRmlsZUhhbmRsZSAgSGFuZGxlIG9mIHRo ZSBmaWxlIGJlaW5nIGludm9rZWQuDQo+ICsgIEBwYXJhbVtpbl0gIFBlaVNlcnZpY2VzIERlc2Ny aWJlcyB0aGUgbGlzdCBvZiBwb3NzaWJsZSBQRUkgU2VydmljZXMuDQo+ICsNCj4gKyAgQHJldHZh bCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFBQSSBzdWNjZXNzZnVsbHkgaW5zdGFsbGVkLg0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1N5c3RlbUZpcm13YXJlRGVzY3JpcHRv clBlaW1FbnRyeSAoDQo+ICsgIElOIEVGSV9QRUlfRklMRV9IQU5ETEUgICAgIEZpbGVIYW5kbGUs DQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0K PiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVz Ow0KPiArICBFREtJSV9TWVNURU1fRklSTVdBUkVfSU1BR0VfREVTQ1JJUFRPUiAgKkRlc2NyaXB0 b3I7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaXplOw0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsg IFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBdXRoZW50aWNhdGlvblN0 YXR1czsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZWFyY2ggUkFXIHNlY3Rpb24uDQo+ICsgIC8v DQo+ICsgIEluZGV4ID0gMDsNCj4gKyAgd2hpbGUgKFRSVUUpIHsNCj4gKyAgICBTdGF0dXMgPSBQ ZWlTZXJ2aWNlc0Zmc0ZpbmRTZWN0aW9uRGF0YTMoRUZJX1NFQ1RJT05fUkFXLCBJbmRleCwNCj4g RmlsZUhhbmRsZSwgKFZPSUQgKiopJkRlc2NyaXB0b3IsICZBdXRoZW50aWNhdGlvblN0YXR1cyk7 DQo+ICsgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgICAvLyBTaG91bGQgbm90 IGhhcHBlbiwgbXVzdCBzb21ldGhpbmcgd3JvbmcgaW4gRkRGLg0KPiArICAgICAgQVNTRVJUKEZB TFNFKTsNCj4gKyAgICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICAgIH0NCj4gKyAgICBp ZiAoRGVzY3JpcHRvci0+U2lnbmF0dXJlID09DQo+IEVES0lJX1NZU1RFTV9GSVJNV0FSRV9JTUFH RV9ERVNDUklQVE9SX1NJR05BVFVSRSkgew0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiAr ICAgIEluZGV4Kys7DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRygoREVCVUdfSU5GTywgIkVES0lJ X1NZU1RFTV9GSVJNV0FSRV9JTUFHRV9ERVNDUklQVE9SDQo+IHNpemUgLSAweCV4XG4iLCBEZXNj cmlwdG9yLT5MZW5ndGgpKTsNCj4gKw0KPiArICBTaXplID0gRGVzY3JpcHRvci0+TGVuZ3RoOw0K PiArICBQY2RTZXRQdHJTIChQY2RFZGtpaVN5c3RlbUZpcm13YXJlSW1hZ2VEZXNjcmlwdG9yLCAm U2l6ZSwgRGVzY3JpcHRvcik7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0K PiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVy ZS9DYXBzdWxlL1N5c3RlbUZpcm13YXJlVXBkYQ0KPiB0ZUNvbmZpZy9TeXN0ZW1GaXJtd2FyZVVw ZGF0ZUNvbmZpZy5pbmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0 dXJlL0NhcHN1bGUvU3lzdGVtRmlybXdhcmVVcGRhDQo+IHRlQ29uZmlnL1N5c3RlbUZpcm13YXJl VXBkYXRlQ29uZmlnLmluaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi4xMjZjZDEyM2IxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL1N5c3RlbUZpcm13YXJlVXBkYQ0K PiB0ZUNvbmZpZy9TeXN0ZW1GaXJtd2FyZVVwZGF0ZUNvbmZpZy5pbmkNCj4gQEAgLTAsMCArMSw2 NiBAQA0KPiArIyMgQGZpbGUNCj4gKyMNCj4gKyMgIENvcHlyaWdodCAoYykgMjAxNiwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMjDQo+ICsNCj4gK1tI ZWFkXQ0KPiArTnVtT2ZVcGRhdGUgPSA2DQo+ICtOdW1PZlJlY292ZXJ5ID0gMQ0KPiArVXBkYXRl MCA9IFZsdjJGdk1pY3JvY29kZQ0KPiArVXBkYXRlMSA9IFZsdjJGdkJpbmFyeQ0KPiArVXBkYXRl MiA9IFZsdjJGdk1haW4NCj4gK1VwZGF0ZTMgPSBWbHYyRnZSZWNvdmVyeTINCj4gK1VwZGF0ZTQg PSBWbHYyRnZSZWNvdmVyeQ0KPiArVXBkYXRlNSA9IFZsdjJGdk52UmFtDQo+ICtSZWNvdmVyeTAg PSBWbHYyRnZNYWluDQo+ICsNCj4gK1tWbHYyRnZNaWNyb2NvZGVdDQo+ICtGaXJtd2FyZVR5cGUg PSAwICAgICAgICAgICAgIyBTeXN0ZW1GaXJtd2FyZQ0KPiArQWRkcmVzc1R5cGUgPSAwICAgICAg ICAgICAgICMgMCAtIHJlbGF0aXZlIGFkZHJlc3MsIDEgLSBhYnNvbHV0ZSBhZGRyZXNzLg0KPiAr QmFzZUFkZHJlc3MgPSAweDAwMDAwMDAwICAgICMgQmFzZSBhZGRyZXNzIG9mZnNldCBvbiBmbGFz aA0KPiArTGVuZ3RoICAgICAgPSAweDAwMDQwMDAwICAgICMgTGVuZ3RoDQo+ICtJbWFnZU9mZnNl dCA9IDB4MDAwMDAwMDAgICAgIyBJbWFnZSBvZmZzZXQgb2YgdGhpcyBTeXN0ZW1GaXJtd2FyZSBp bWFnZQ0KPiArRmlsZUd1aWQgICAgPSBBRjlDOUVCMi0xMkFELTREM0UtQTRENC05NkY2Qzk5NjYy MTUgICMNCj4gUGNkRWRraWlTeXN0ZW1GaXJtd2FyZUZpbGVHdWlkDQo+ICsNCj4gK1tWbHYyRnZO dlJhbV0NCj4gK0Zpcm13YXJlVHlwZSA9IDEgICAgICAgICAgICAjIE52UmFtDQo+ICtBZGRyZXNz VHlwZSA9IDAgICAgICAgICAgICAgIyAwIC0gcmVsYXRpdmUgYWRkcmVzcywgMSAtIGFic29sdXRl IGFkZHJlc3MuDQo+ICtCYXNlQWRkcmVzcyA9IDB4MDAwNDAwMDAgICAgIyBCYXNlIGFkZHJlc3Mg b2Zmc2V0IG9uIGZsYXNoDQo+ICtMZW5ndGggICAgICA9IDB4MDAwODAwMDAgICAgIyBMZW5ndGgN Cj4gK0ltYWdlT2Zmc2V0ID0gMHgwMDA0MDAwMCAgICAjIEltYWdlIG9mZnNldCBvZiB0aGlzIFN5 c3RlbUZpcm13YXJlIGltYWdlDQo+ICtGaWxlR3VpZCAgICA9IEFGOUM5RUIyLTEyQUQtNEQzRS1B NEQ0LTk2RjZDOTk2NjIxNSAgIw0KPiBQY2RFZGtpaVN5c3RlbUZpcm13YXJlRmlsZUd1aWQNCj4g Kw0KPiArW1ZsdjJGdkJpbmFyeV0NCj4gK0Zpcm13YXJlVHlwZSA9IDAgICAgICAgICAgICAjIFN5 c3RlbUZpcm13YXJlDQo+ICtBZGRyZXNzVHlwZSA9IDAgICAgICAgICAgICAgIyAwIC0gcmVsYXRp dmUgYWRkcmVzcywgMSAtIGFic29sdXRlIGFkZHJlc3MuDQo+ICtCYXNlQWRkcmVzcyA9IDB4MDAw QzAwMDAgICAgIyBCYXNlIGFkZHJlc3Mgb2Zmc2V0IG9uIGZsYXNoDQo+ICtMZW5ndGggICAgICA9 IDB4MDAwNTAwMDAgICAgIyBMZW5ndGgNCj4gK0ltYWdlT2Zmc2V0ID0gMHgwMDBDMDAwMCAgICAj IEltYWdlIG9mZnNldCBvZiB0aGlzIFN5c3RlbUZpcm13YXJlIGltYWdlDQo+ICtGaWxlR3VpZCAg ICA9IEFGOUM5RUIyLTEyQUQtNEQzRS1BNEQ0LTk2RjZDOTk2NjIxNSAgIw0KPiBQY2RFZGtpaVN5 c3RlbUZpcm13YXJlRmlsZUd1aWQNCj4gKw0KPiArW1ZsdjJGdk1haW5dDQo+ICtGaXJtd2FyZVR5 cGUgPSAwICAgICAgICAgICAgIyBTeXN0ZW1GaXJtd2FyZQ0KPiArQWRkcmVzc1R5cGUgPSAwICAg ICAgICAgICAgICMgMCAtIHJlbGF0aXZlIGFkZHJlc3MsIDEgLSBhYnNvbHV0ZSBhZGRyZXNzLg0K PiArQmFzZUFkZHJlc3MgPSAweDAwMTEwMDAwICAgICMgQmFzZSBhZGRyZXNzIG9mZnNldCBvbiBm bGFzaA0KPiArTGVuZ3RoICAgICAgPSAweDAwMjEwMDAwICAgICMgTGVuZ3RoDQo+ICtJbWFnZU9m ZnNldCA9IDB4MDAxMTAwMDAgICAgIyBJbWFnZSBvZmZzZXQgb2YgdGhpcyBTeXN0ZW1GaXJtd2Fy ZSBpbWFnZQ0KPiArRmlsZUd1aWQgICAgPSBBRjlDOUVCMi0xMkFELTREM0UtQTRENC05NkY2Qzk5 NjYyMTUgICMNCj4gUGNkRWRraWlTeXN0ZW1GaXJtd2FyZUZpbGVHdWlkDQo+ICsNCj4gK1tWbHYy RnZSZWNvdmVyeTJdDQo+ICtGaXJtd2FyZVR5cGUgPSAwICAgICAgICAgICAgIyBTeXN0ZW1GaXJt d2FyZQ0KPiArQWRkcmVzc1R5cGUgPSAwICAgICAgICAgICAgICMgMCAtIHJlbGF0aXZlIGFkZHJl c3MsIDEgLSBhYnNvbHV0ZSBhZGRyZXNzLg0KPiArQmFzZUFkZHJlc3MgPSAweDAwMzIwMDAwICAg ICMgQmFzZSBhZGRyZXNzIG9mZnNldCBvbiBmbGFzaA0KPiArTGVuZ3RoICAgICAgPSAweDAwMDcw MDAwICAgICMgTGVuZ3RoDQo+ICtJbWFnZU9mZnNldCA9IDB4MDAzMjAwMDAgICAgIyBJbWFnZSBv ZmZzZXQgb2YgdGhpcyBTeXN0ZW1GaXJtd2FyZSBpbWFnZQ0KPiArRmlsZUd1aWQgICAgPSBBRjlD OUVCMi0xMkFELTREM0UtQTRENC05NkY2Qzk5NjYyMTUgICMNCj4gUGNkRWRraWlTeXN0ZW1GaXJt d2FyZUZpbGVHdWlkDQo+ICsNCj4gK1tWbHYyRnZSZWNvdmVyeV0NCj4gK0Zpcm13YXJlVHlwZSA9 IDAgICAgICAgICAgICAjIFN5c3RlbUZpcm13YXJlDQo+ICtBZGRyZXNzVHlwZSA9IDAgICAgICAg ICAgICAgIyAwIC0gcmVsYXRpdmUgYWRkcmVzcywgMSAtIGFic29sdXRlIGFkZHJlc3MuDQo+ICtC YXNlQWRkcmVzcyA9IDB4MDAzOTAwMDAgICAgIyBCYXNlIGFkZHJlc3Mgb2Zmc2V0IG9uIGZsYXNo DQo+ICtMZW5ndGggICAgICA9IDB4MDAwNzAwMDAgICAgIyBMZW5ndGgNCj4gK0ltYWdlT2Zmc2V0 ID0gMHgwMDM5MDAwMCAgICAjIEltYWdlIG9mZnNldCBvZiB0aGlzIFN5c3RlbUZpcm13YXJlIGlt YWdlDQo+ICtGaWxlR3VpZCAgICA9IEFGOUM5RUIyLTEyQUQtNEQzRS1BNEQ0LTk2RjZDOTk2NjIx NSAgIw0KPiBQY2RFZGtpaVN5c3RlbUZpcm13YXJlRmlsZUd1aWQNCj4gKw0KPiBkaWZmIC0tZ2l0 DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL1N5 c3RlbUZpcm13YXJlVXBkYQ0KPiB0ZUNvbmZpZy9TeXN0ZW1GaXJtd2FyZVVwZGF0ZUNvbmZpZ0dj Yy5pbmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1 bGUvU3lzdGVtRmlybXdhcmVVcGRhDQo+IHRlQ29uZmlnL1N5c3RlbUZpcm13YXJlVXBkYXRlQ29u ZmlnR2NjLmluaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5l MjJmMTM2ZjhlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL1N5c3RlbUZpcm13YXJlVXBkYQ0KPiB0ZUNv bmZpZy9TeXN0ZW1GaXJtd2FyZVVwZGF0ZUNvbmZpZ0djYy5pbmkNCj4gQEAgLTAsMCArMSw2NiBA QA0KPiArIyMgQGZpbGUNCj4gKyMNCj4gKyMgIENvcHlyaWdodCAoYykgMjAxNiwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIyAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMjDQo+ICsNCj4gK1tIZWFk XQ0KPiArTnVtT2ZVcGRhdGUgPSA2DQo+ICtOdW1PZlJlY292ZXJ5ID0gMQ0KPiArVXBkYXRlMCA9 IFZsdjJGdk1pY3JvY29kZQ0KPiArVXBkYXRlMSA9IFZsdjJGdkJpbmFyeQ0KPiArVXBkYXRlMiA9 IFZsdjJGdk1haW4NCj4gK1VwZGF0ZTMgPSBWbHYyRnZSZWNvdmVyeTINCj4gK1VwZGF0ZTQgPSBW bHYyRnZSZWNvdmVyeQ0KPiArVXBkYXRlNSA9IFZsdjJGdk52UmFtDQo+ICtSZWNvdmVyeTAgPSBW bHYyRnZNYWluDQo+ICsNCj4gK1tWbHYyRnZNaWNyb2NvZGVdDQo+ICtGaXJtd2FyZVR5cGUgPSAw ICAgICAgICAgICAgIyBTeXN0ZW1GaXJtd2FyZQ0KPiArQWRkcmVzc1R5cGUgPSAwICAgICAgICAg ICAgICMgMCAtIHJlbGF0aXZlIGFkZHJlc3MsIDEgLSBhYnNvbHV0ZSBhZGRyZXNzLg0KPiArQmFz ZUFkZHJlc3MgPSAweDAwMDAwMDAwICAgICMgQmFzZSBhZGRyZXNzIG9mZnNldCBvbiBmbGFzaA0K PiArTGVuZ3RoICAgICAgPSAweDAwMDQwMDAwICAgICMgTGVuZ3RoDQo+ICtJbWFnZU9mZnNldCA9 IDB4MDAwMDAwMDAgICAgIyBJbWFnZSBvZmZzZXQgb2YgdGhpcyBTeXN0ZW1GaXJtd2FyZSBpbWFn ZQ0KPiArRmlsZUd1aWQgICAgPSBBRjlDOUVCMi0xMkFELTREM0UtQTRENC05NkY2Qzk5NjYyMTUg ICMNCj4gUGNkRWRraWlTeXN0ZW1GaXJtd2FyZUZpbGVHdWlkDQo+ICsNCj4gK1tWbHYyRnZOdlJh bV0NCj4gK0Zpcm13YXJlVHlwZSA9IDEgICAgICAgICAgICAjIE52UmFtDQo+ICtBZGRyZXNzVHlw ZSA9IDAgICAgICAgICAgICAgIyAwIC0gcmVsYXRpdmUgYWRkcmVzcywgMSAtIGFic29sdXRlIGFk ZHJlc3MuDQo+ICtCYXNlQWRkcmVzcyA9IDB4MDAwNDAwMDAgICAgIyBCYXNlIGFkZHJlc3Mgb2Zm c2V0IG9uIGZsYXNoDQo+ICtMZW5ndGggICAgICA9IDB4MDAwODAwMDAgICAgIyBMZW5ndGgNCj4g K0ltYWdlT2Zmc2V0ID0gMHgwMDA0MDAwMCAgICAjIEltYWdlIG9mZnNldCBvZiB0aGlzIFN5c3Rl bUZpcm13YXJlIGltYWdlDQo+ICtGaWxlR3VpZCAgICA9IEFGOUM5RUIyLTEyQUQtNEQzRS1BNEQ0 LTk2RjZDOTk2NjIxNSAgIw0KPiBQY2RFZGtpaVN5c3RlbUZpcm13YXJlRmlsZUd1aWQNCj4gKw0K PiArW1ZsdjJGdkJpbmFyeV0NCj4gK0Zpcm13YXJlVHlwZSA9IDAgICAgICAgICAgICAjIFN5c3Rl bUZpcm13YXJlDQo+ICtBZGRyZXNzVHlwZSA9IDAgICAgICAgICAgICAgIyAwIC0gcmVsYXRpdmUg YWRkcmVzcywgMSAtIGFic29sdXRlIGFkZHJlc3MuDQo+ICtCYXNlQWRkcmVzcyA9IDB4MDAwQzAw MDAgICAgIyBCYXNlIGFkZHJlc3Mgb2Zmc2V0IG9uIGZsYXNoDQo+ICtMZW5ndGggICAgICA9IDB4 MDAwNTAwMDAgICAgIyBMZW5ndGgNCj4gK0ltYWdlT2Zmc2V0ID0gMHgwMDBDMDAwMCAgICAjIElt YWdlIG9mZnNldCBvZiB0aGlzIFN5c3RlbUZpcm13YXJlIGltYWdlDQo+ICtGaWxlR3VpZCAgICA9 IEFGOUM5RUIyLTEyQUQtNEQzRS1BNEQ0LTk2RjZDOTk2NjIxNSAgIw0KPiBQY2RFZGtpaVN5c3Rl bUZpcm13YXJlRmlsZUd1aWQNCj4gKw0KPiArW1ZsdjJGdk1haW5dDQo+ICtGaXJtd2FyZVR5cGUg PSAwICAgICAgICAgICAgIyBTeXN0ZW1GaXJtd2FyZQ0KPiArQWRkcmVzc1R5cGUgPSAwICAgICAg ICAgICAgICMgMCAtIHJlbGF0aXZlIGFkZHJlc3MsIDEgLSBhYnNvbHV0ZSBhZGRyZXNzLg0KPiAr QmFzZUFkZHJlc3MgPSAweDAwMTEwMDAwICAgICMgQmFzZSBhZGRyZXNzIG9mZnNldCBvbiBmbGFz aA0KPiArTGVuZ3RoICAgICAgPSAweDAwMjE1MDAwICAgICMgTGVuZ3RoDQo+ICtJbWFnZU9mZnNl dCA9IDB4MDAxMTAwMDAgICAgIyBJbWFnZSBvZmZzZXQgb2YgdGhpcyBTeXN0ZW1GaXJtd2FyZSBp bWFnZQ0KPiArRmlsZUd1aWQgICAgPSBBRjlDOUVCMi0xMkFELTREM0UtQTRENC05NkY2Qzk5NjYy MTUgICMNCj4gUGNkRWRraWlTeXN0ZW1GaXJtd2FyZUZpbGVHdWlkDQo+ICsNCj4gK1tWbHYyRnZS ZWNvdmVyeTJdDQo+ICtGaXJtd2FyZVR5cGUgPSAwICAgICAgICAgICAgIyBTeXN0ZW1GaXJtd2Fy ZQ0KPiArQWRkcmVzc1R5cGUgPSAwICAgICAgICAgICAgICMgMCAtIHJlbGF0aXZlIGFkZHJlc3Ms IDEgLSBhYnNvbHV0ZSBhZGRyZXNzLg0KPiArQmFzZUFkZHJlc3MgPSAweDAwMzI1MDAwICAgICMg QmFzZSBhZGRyZXNzIG9mZnNldCBvbiBmbGFzaA0KPiArTGVuZ3RoICAgICAgPSAweDAwMDZCMDAw ICAgICMgTGVuZ3RoDQo+ICtJbWFnZU9mZnNldCA9IDB4MDAzMjUwMDAgICAgIyBJbWFnZSBvZmZz ZXQgb2YgdGhpcyBTeXN0ZW1GaXJtd2FyZSBpbWFnZQ0KPiArRmlsZUd1aWQgICAgPSBBRjlDOUVC Mi0xMkFELTREM0UtQTRENC05NkY2Qzk5NjYyMTUgICMNCj4gUGNkRWRraWlTeXN0ZW1GaXJtd2Fy ZUZpbGVHdWlkDQo+ICsNCj4gK1tWbHYyRnZSZWNvdmVyeV0NCj4gK0Zpcm13YXJlVHlwZSA9IDAg ICAgICAgICAgICAjIFN5c3RlbUZpcm13YXJlDQo+ICtBZGRyZXNzVHlwZSA9IDAgICAgICAgICAg ICAgIyAwIC0gcmVsYXRpdmUgYWRkcmVzcywgMSAtIGFic29sdXRlIGFkZHJlc3MuDQo+ICtCYXNl QWRkcmVzcyA9IDB4MDAzOTAwMDAgICAgIyBCYXNlIGFkZHJlc3Mgb2Zmc2V0IG9uIGZsYXNoDQo+ ICtMZW5ndGggICAgICA9IDB4MDAwNzAwMDAgICAgIyBMZW5ndGgNCj4gK0ltYWdlT2Zmc2V0ID0g MHgwMDM5MDAwMCAgICAjIEltYWdlIG9mZnNldCBvZiB0aGlzIFN5c3RlbUZpcm13YXJlIGltYWdl DQo+ICtGaWxlR3VpZCAgICA9IEFGOUM5RUIyLTEyQUQtNEQzRS1BNEQ0LTk2RjZDOTk2NjIxNSAg Iw0KPiBQY2RFZGtpaVN5c3RlbUZpcm13YXJlRmlsZUd1aWQNCj4gKw0KPiBkaWZmIC0tZ2l0IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRm1wQmx1ZVNhbXBsZURldmljZS5kc2MN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GbXBCbHVlU2FtcGxlRGV2aWNl LmRzYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zYmQ5ZjE1 MGIzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvRm1wQmx1ZVNhbXBsZURldmljZS5kc2MNCj4gQEAgLTAsMCArMSw1NSBAQA0KPiArIy8q KiBAZmlsZQ0KPiArIyBGbXBEeGUgZHJpdmVyIGZvciBCbHVlIFNhbXBsZSBkZXZpY2UgZmlybXdh cmUgdXBkYXRlLg0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMTgsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKyMqKi8NCj4gKw0K PiArICBGbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5pbmYgew0KPiArICAgIDxEZWZpbmVzPg0K PiArICAgICAgIw0KPiArICAgICAgIyBFU1JUIGFuZCBGTVAgR1VJRCBmb3Igc2FtcGxlIGRldmlj ZSBjYXBzdWxlIHVwZGF0ZQ0KPiArICAgICAgIw0KPiArICAgICAgRklMRV9HVUlEID0gJChGTVBf QkxVRV9TQU1QTEVfREVWSUNFKQ0KPiArICAgIDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiArICAgICAg Iw0KPiArICAgICAgIyBVbmljb2RlIG5hbWUgc3RyaW5nIHRoYXQgaXMgdXNlZCB0byBwb3B1bGF0 ZSBGTVAgSW1hZ2UgRGVzY3JpcHRvciBmb3INCj4gdGhpcyBjYXBzdWxlIHVwZGF0ZSBtb2R1bGUN Cj4gKyAgICAgICMNCj4gKw0KPiBnRm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2 aWNlSW1hZ2VJZE5hbWV8TCJTYW1wbGUNCj4gRmlybXdhcmUgRGV2aWNlIg0KPiArDQo+ICsgICAg ICAjDQo+ICsgICAgICAjIEVTUlQgYW5kIEZNUCBMb3dlc3QgU3VwcG9ydCBWZXJzaW9uIGZvciB0 aGlzIGNhcHN1bGUgdXBkYXRlIG1vZHVsZQ0KPiArICAgICAgIyAwMDAuMDAwLjAwMC4wMDANCj4g KyAgICAgICMNCj4gKw0KPiBnRm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNl QnVpbGRUaW1lTG93ZXN0U3VwcG9ydGVkDQo+IFZlcnNpb258MHgwMDAwMDAwMA0KPiArDQo+ICsN Cj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVByb2dyZXNzV2F0Y2hk b2dUaW1lSW5TZQ0KPiBjb25kc3wyDQo+ICsNCj4gKyAgICAgICMNCj4gKyAgICAgICMgQ2Fwc3Vs ZSBVcGRhdGUgUHJvZ3Jlc3MgQmFyIENvbG9yLiAgU2V0IHRvIEJsdWUgKFJHQikgKDAsIDAsIDI1 NSkNCj4gKyAgICAgICMNCj4gKw0KPiBnRm1wRGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1w RGV2aWNlUHJvZ3Jlc3NDb2xvcnwweDAwMDAwMEZGDQo+ICsNCj4gKyAgICAgICMNCj4gKyAgICAg ICMgQ2VydGlmaWNhdGVzIHVzZWQgdG8gYXV0aGVudGljYXRlIGNhcHN1bGUgdXBkYXRlIGltYWdl DQo+ICsgICAgICAjDQo+ICsgICAgICAhaW5jbHVkZSBWbHYyVGJsdERldmljZVBrZy9GbXBDZXJ0 aWZpY2F0ZS5kc2MNCj4gKw0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAgICMNCj4g KyAgICAgICMgR2VuZXJpYyBsaWJyYXJpZXMgdGhhdCBhcmUgdXNlZCAiYXMgaXMiIGJ5IGFsbCBG TVAgbW9kdWxlcw0KPiArICAgICAgIw0KPiArDQo+IEZtcFBheWxvYWRIZWFkZXJMaWJ8Rm1wRGV2 aWNlUGtnL0xpYnJhcnkvRm1wUGF5bG9hZEhlYWRlckxpYlYxL0ZtDQo+IHBQYXlsb2FkSGVhZGVy TGliVjEuaW5mDQo+ICsNCj4gRm1wQXV0aGVudGljYXRpb25MaWJ8U2VjdXJpdHlQa2cvTGlicmFy eS9GbXBBdXRoZW50aWNhdGlvbkxpYlBrY3M3L0ZtcA0KPiBBdXRoZW50aWNhdGlvbkxpYlBrY3M3 LmluZg0KPiArICAgICAgIw0KPiArICAgICAgIyBQbGF0Zm9ybSBzcGVjaWZpYyBjYXBzdWxlIHBv bGljeSBsaWJyYXJ5DQo+ICsgICAgICAjDQo+ICsNCj4gQ2Fwc3VsZVVwZGF0ZVBvbGljeUxpYnxG bXBEZXZpY2VQa2cvTGlicmFyeS9DYXBzdWxlVXBkYXRlUG9saWN5TGliTnVsbA0KPiAvQ2Fwc3Vs ZVVwZGF0ZVBvbGljeUxpYk51bGwuaW5mDQo+ICsgICAgICAjDQo+ICsgICAgICAjIERldmljZSBz cGVjaWZpYyBsaWJyYXJ5IHRoYXQgcHJvY2Vzc2VzIGEgY2Fwc3VsZSBhbmQgdXBkYXRlcyB0aGUg RlcNCj4gc3RvcmFnZSBkZXZpY2UNCj4gKyAgICAgICMNCj4gKw0KPiBGbXBEZXZpY2VMaWJ8Vmx2 MlRibHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvRm1wRGV2aWNlTGliU2ENCj4g bXBsZS9GbXBEZXZpY2VMaWIuaW5mDQo+ICsgIH0NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZtcENlcnRpZmljYXRlLmRzYw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZtcENlcnRpZmljYXRlLmRzYw0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yMzdlYzg3YWM4DQo+IC0tLSAvZGV2L251bGwN Cj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRm1wQ2VydGlmaWNhdGUu ZHNjDQo+IEBAIC0wLDAgKzEsMjIgQEANCj4gKyMvKiogQGZpbGUNCj4gKyMgRk1QIENlcnRpZmlj YXRlcyBzaGFyZWQgYnkgbXVsdGlwbGUgRm1wRHhlIGRyaXZlcnMgZm9yIGZpcm13YXJlIHVwZGF0 ZS4NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjDQo+ICsjKiovDQo+ICsNCj4gKyFpZiAk KENBUFNVTEVfUEtDUzdfQ0VSVCkgPT0NCj4gU0FNUExFX0RFVkVMT1BNRU5UX1NBTVBMRV9QUk9E VUNUSU9ODQo+ICsgICFpbmNsdWRlDQo+IFZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3Vs ZS9HZW5lcmF0ZUNhcHN1bGUvU0FNUExFX0RFVkVMT1BNDQo+IEVOVF9TQU1QTEVfUFJPRFVDVElP Ti5jZXIuZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcEQNCj4gZXZpY2VQa2NzN0Nl cnRCdWZmZXJYZHIuaW5jDQo+ICshZW5kaWYNCj4gKyFpZiAkKENBUFNVTEVfUEtDUzdfQ0VSVCkg PT0gU0FNUExFX0RFVkVMT1BNRU5UDQo+ICsgICFpbmNsdWRlDQo+IFZsdjJUYmx0RGV2aWNlUGtn L0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvU0FNUExFX0RFVkVMT1BNDQo+IEVOVC5j ZXIuZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVBrY3M3Q2VydEJ1ZmZl clhkci4NCj4gaW5jDQo+ICshZW5kaWYNCj4gKyFpZiAkKENBUFNVTEVfUEtDUzdfQ0VSVCkgPT0g RURLSUlfVEVTVA0KPiArICAhaW5jbHVkZQ0KPiBCYXNlVG9vbHMvU291cmNlL1B5dGhvbi9Qa2Nz N1NpZ24vVGVzdFJvb3QuY2VyLmdGbXBEZXZpY2VQa2dUb2tlblNwYQ0KPiBjZUd1aWQuUGNkRm1w RGV2aWNlUGtjczdDZXJ0QnVmZmVyWGRyLmluYw0KPiArIWVuZGlmDQo+ICshaWYgJChDQVBTVUxF X1BLQ1M3X0NFUlQpID09IE5FV19ST09UDQo+ICsgICFpbmNsdWRlDQo+IFZsdjJUYmx0RGV2aWNl UGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvTmV3Um9vdC5jZXIuZ0ZtcEQNCj4g ZXZpY2VQa2dUb2tlblNwYWNlR3VpZC5QY2RGbXBEZXZpY2VQa2NzN0NlcnRCdWZmZXJYZHIuaW5j DQo+ICshZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0ZtcEdyZWVuU2FtcGxlRGV2aWNlLmRzYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0ZtcEdyZWVuU2FtcGxlRGV2aWNlLmRzYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi42MWJkZDM2YTk2DQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRm1wR3JlZW5TYW1wbGVEZXZpY2Uu ZHNjDQo+IEBAIC0wLDAgKzEsNTUgQEANCj4gKyMvKiogQGZpbGUNCj4gKyMgRm1wRHhlIGRyaXZl ciBmb3IgR3JlZW4gU2FtcGxlIGRldmljZSBmaXJtd2FyZSB1cGRhdGUuDQo+ICsjDQo+ICsjIENv cHlyaWdodCAoYykgMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArIw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiArIw0KPiArIw0KPiArIyoqLw0KPiArDQo+ICsgIEZtcERldmljZVBrZy9GbXBEeGUv Rm1wRHhlLmluZiB7DQo+ICsgICAgPERlZmluZXM+DQo+ICsgICAgICAjDQo+ICsgICAgICAjIEVT UlQgYW5kIEZNUCBHVUlEIGZvciBzYW1wbGUgZGV2aWNlIGNhcHN1bGUgdXBkYXRlDQo+ICsgICAg ICAjDQo+ICsgICAgICBGSUxFX0dVSUQgPSAkKEZNUF9HUkVFTl9TQU1QTEVfREVWSUNFKQ0KPiAr ICAgIDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiArICAgICAgIw0KPiArICAgICAgIyBVbmljb2RlIG5h bWUgc3RyaW5nIHRoYXQgaXMgdXNlZCB0byBwb3B1bGF0ZSBGTVAgSW1hZ2UgRGVzY3JpcHRvciBm b3INCj4gdGhpcyBjYXBzdWxlIHVwZGF0ZSBtb2R1bGUNCj4gKyAgICAgICMNCj4gKw0KPiBnRm1w RGV2aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlSW1hZ2VJZE5hbWV8TCJTYW1wbGUN Cj4gRmlybXdhcmUgRGV2aWNlIg0KPiArDQo+ICsgICAgICAjDQo+ICsgICAgICAjIEVTUlQgYW5k IEZNUCBMb3dlc3QgU3VwcG9ydCBWZXJzaW9uIGZvciB0aGlzIGNhcHN1bGUgdXBkYXRlIG1vZHVs ZQ0KPiArICAgICAgIyAwMDAuMDAwLjAwMC4wMDANCj4gKyAgICAgICMNCj4gKw0KPiBnRm1wRGV2 aWNlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlQnVpbGRUaW1lTG93ZXN0U3VwcG9ydGVk DQo+IFZlcnNpb258MHgwMDAwMDAwMA0KPiArDQo+ICsNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZEZtcERldmljZVByb2dyZXNzV2F0Y2hkb2dUaW1lSW5TZQ0KPiBjb25kc3wyDQo+ ICsNCj4gKyAgICAgICMNCj4gKyAgICAgICMgQ2Fwc3VsZSBVcGRhdGUgUHJvZ3Jlc3MgQmFyIENv bG9yLiAgU2V0IHRvIEdyZWVuIChSR0IpICgwLCAyNTUsIDApDQo+ICsgICAgICAjDQo+ICsNCj4g Z0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVByb2dyZXNzQ29sb3J8MHgw MDAwRkYwMA0KPiArDQo+ICsgICAgICAjDQo+ICsgICAgICAjIENlcnRpZmljYXRlcyB1c2VkIHRv IGF1dGhlbnRpY2F0ZSBjYXBzdWxlIHVwZGF0ZSBpbWFnZQ0KPiArICAgICAgIw0KPiArICAgICAg IWluY2x1ZGUgVmx2MlRibHREZXZpY2VQa2cvRm1wQ2VydGlmaWNhdGUuZHNjDQo+ICsNCj4gKyAg ICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICAjDQo+ICsgICAgICAjIEdlbmVyaWMgbGlicmFy aWVzIHRoYXQgYXJlIHVzZWQgImFzIGlzIiBieSBhbGwgRk1QIG1vZHVsZXMNCj4gKyAgICAgICMN Cj4gKw0KPiBGbXBQYXlsb2FkSGVhZGVyTGlifEZtcERldmljZVBrZy9MaWJyYXJ5L0ZtcFBheWxv YWRIZWFkZXJMaWJWMS9GbQ0KPiBwUGF5bG9hZEhlYWRlckxpYlYxLmluZg0KPiArDQo+IEZtcEF1 dGhlbnRpY2F0aW9uTGlifFNlY3VyaXR5UGtnL0xpYnJhcnkvRm1wQXV0aGVudGljYXRpb25MaWJQ a2NzNy9GbXANCj4gQXV0aGVudGljYXRpb25MaWJQa2NzNy5pbmYNCj4gKyAgICAgICMNCj4gKyAg ICAgICMgUGxhdGZvcm0gc3BlY2lmaWMgY2Fwc3VsZSBwb2xpY3kgbGlicmFyeQ0KPiArICAgICAg Iw0KPiArDQo+IENhcHN1bGVVcGRhdGVQb2xpY3lMaWJ8Rm1wRGV2aWNlUGtnL0xpYnJhcnkvQ2Fw c3VsZVVwZGF0ZVBvbGljeUxpYk51bGwNCj4gL0NhcHN1bGVVcGRhdGVQb2xpY3lMaWJOdWxsLmlu Zg0KPiArICAgICAgIw0KPiArICAgICAgIyBEZXZpY2Ugc3BlY2lmaWMgbGlicmFyeSB0aGF0IHBy b2Nlc3NlcyBhIGNhcHN1bGUgYW5kIHVwZGF0ZXMgdGhlIEZXDQo+IHN0b3JhZ2UgZGV2aWNlDQo+ ICsgICAgICAjDQo+ICsNCj4gRm1wRGV2aWNlTGlifFZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUv Q2Fwc3VsZS9MaWJyYXJ5L0ZtcERldmljZUxpYlNhDQo+IG1wbGUvRm1wRGV2aWNlTGliLmluZg0K PiArICB9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G bXBNaW5ub3dNYXhTeXN0ZW0uZHNjDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvRm1wTWlubm93TWF4U3lzdGVtLmRzYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwLi4zMDQ1MTliMjk0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRm1wTWlubm93TWF4U3lzdGVtLmRzYw0KPiBAQCAt MCwwICsxLDU5IEBADQo+ICsjLyoqIEBmaWxlDQo+ICsjIEZtcER4ZSBkcml2ZXIgZm9yIE1pbm5v dyBNYXggc3lzdGVtIGZpcm13YXJlIHVwZGF0ZS4NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAy MDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ ICsjDQo+ICsjKiovDQo+ICsNCj4gKyAgRm1wRGV2aWNlUGtnL0ZtcER4ZS9GbXBEeGUuaW5mIHsN Cj4gKyAgICA8RGVmaW5lcz4NCj4gKyAgICAgICMNCj4gKyAgICAgICMgRVNSVCBhbmQgRk1QIEdV SUQgZm9yIHN5c3RlbSBmaXJtd2FyZSBjYXBzdWxlIHVwZGF0ZQ0KPiArICAgICAgIw0KPiArICAg ICAgRklMRV9HVUlEID0gJChGTVBfTUlOTk9XX01BWF9TWVNURU0pDQo+ICsgICAgPFBjZHNGaXhl ZEF0QnVpbGQ+DQo+ICsgICAgICAjDQo+ICsgICAgICAjIFVuaWNvZGUgbmFtZSBzdHJpbmcgdGhh dCBpcyB1c2VkIHRvIHBvcHVsYXRlIEZNUCBJbWFnZSBEZXNjcmlwdG9yIGZvcg0KPiB0aGlzIGNh cHN1bGUgdXBkYXRlIG1vZHVsZQ0KPiArICAgICAgIw0KPiArDQo+IGdGbXBEZXZpY2VQa2dUb2tl blNwYWNlR3VpZC5QY2RGbXBEZXZpY2VJbWFnZUlkTmFtZXxMIk1pbm5vdw0KPiBNYXggU3lzdGVt IEZpcm13YXJlIERldmljZSINCj4gKw0KPiArICAgICAgIw0KPiArICAgICAgIyBFU1JUIGFuZCBG TVAgTG93ZXN0IFN1cHBvcnQgVmVyc2lvbiBmb3IgdGhpcyBjYXBzdWxlIHVwZGF0ZSBtb2R1bGUN Cj4gKyAgICAgICMgMDAwLjAwMC4wMDAuMDAwDQo+ICsgICAgICAjDQo+ICsNCj4gZ0ZtcERldmlj ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZUJ1aWxkVGltZUxvd2VzdFN1cHBvcnRlZA0K PiBWZXJzaW9ufDB4MDAwMDAwMDANCj4gKw0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3Bh Y2VHdWlkLlBjZFN5c3RlbUZpcm13YXJlRm1wTG93ZXN0U3VwcG9ydGUNCj4gZFZlcnNpb258MHgw MDAwMDAwMA0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFN5c3RlbUZp cm13YXJlRm1wVmVyc2lvbnwweDAwMDAwDQo+IDAwMA0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRv a2VuU3BhY2VHdWlkLlBjZFN5c3RlbUZpcm13YXJlRm1wVmVyc2lvblN0cmluZ3wiMA0KPiAwMC4w MDAuMDAwLjAwMCINCj4gKw0KPiArDQo+IGdGbXBEZXZpY2VQa2dUb2tlblNwYWNlR3VpZC5QY2RG bXBEZXZpY2VQcm9ncmVzc1dhdGNoZG9nVGltZUluU2UNCj4gY29uZHN8NA0KPiArDQo+ICsgICAg ICAjDQo+ICsgICAgICAjIENhcHN1bGUgVXBkYXRlIFByb2dyZXNzIEJhciBDb2xvci4gIFNldCB0 byBQdXJwbGUgKFJHQikgKDI1NSwgMCwgMjU1KQ0KPiArICAgICAgIw0KPiArDQo+IGdGbXBEZXZp Y2VQa2dUb2tlblNwYWNlR3VpZC5QY2RGbXBEZXZpY2VQcm9ncmVzc0NvbG9yfDB4MDBGRjAwRkYN Cj4gKw0KPiArICAgICAgIw0KPiArICAgICAgIyBDZXJ0aWZpY2F0ZXMgdXNlZCB0byBhdXRoZW50 aWNhdGUgY2Fwc3VsZSB1cGRhdGUgaW1hZ2UNCj4gKyAgICAgICMNCj4gKyAgICAgICFpbmNsdWRl IFZsdjJUYmx0RGV2aWNlUGtnL0ZtcENlcnRpZmljYXRlLmRzYw0KPiArDQo+ICsgICAgPExpYnJh cnlDbGFzc2VzPg0KPiArICAgICAgIw0KPiArICAgICAgIyBHZW5lcmljIGxpYnJhcmllcyB0aGF0 IGFyZSB1c2VkICJhcyBpcyIgYnkgYWxsIEZNUCBtb2R1bGVzDQo+ICsgICAgICAjDQo+ICsNCj4g Rm1wUGF5bG9hZEhlYWRlckxpYnxGbXBEZXZpY2VQa2cvTGlicmFyeS9GbXBQYXlsb2FkSGVhZGVy TGliVjEvRm0NCj4gcFBheWxvYWRIZWFkZXJMaWJWMS5pbmYNCj4gKw0KPiBGbXBBdXRoZW50aWNh dGlvbkxpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L0ZtcEF1dGhlbnRpY2F0aW9uTGliUGtjczcvRm1w DQo+IEF1dGhlbnRpY2F0aW9uTGliUGtjczcuaW5mDQo+ICsgICAgICAjDQo+ICsgICAgICAjIFBs YXRmb3JtIHNwZWNpZmljIGNhcHN1bGUgcG9saWN5IGxpYnJhcnkNCj4gKyAgICAgICMNCj4gKw0K PiBDYXBzdWxlVXBkYXRlUG9saWN5TGlifEZtcERldmljZVBrZy9MaWJyYXJ5L0NhcHN1bGVVcGRh dGVQb2xpY3lMaWJOdWxsDQo+IC9DYXBzdWxlVXBkYXRlUG9saWN5TGliTnVsbC5pbmYNCj4gKyAg ICAgICMNCj4gKyAgICAgICMgRGV2aWNlIHNwZWNpZmljIGxpYnJhcnkgdGhhdCBwcm9jZXNzZXMg YSBjYXBzdWxlIGFuZCB1cGRhdGVzIHRoZSBGVw0KPiBzdG9yYWdlIGRldmljZQ0KPiArICAgICAg Iw0KPiArDQo+IEZtcERldmljZUxpYnxWbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUv TGlicmFyeS9GbXBEZXZpY2VMaWIvRg0KPiBtcERldmljZUxpYi5pbmYNCj4gKyAgfQ0KPiBkaWZm IC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRm1wUmVkU2FtcGxlRGV2 aWNlLmRzYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZtcFJlZFNhbXBs ZURldmljZS5kc2MNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u NTk4NTFmMmI0MQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0ZtcFJlZFNhbXBsZURldmljZS5kc2MNCj4gQEAgLTAsMCArMSw1NSBAQA0K PiArIy8qKiBAZmlsZQ0KPiArIyBGbXBEeGUgZHJpdmVyIGZvciBSZWQgU2FtcGxlIGRldmljZSBm aXJtd2FyZSB1cGRhdGUuDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAxOCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiArIyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIw0KPiArIyoqLw0K PiArDQo+ICsgIEZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmluZiB7DQo+ICsgICAgPERlZmlu ZXM+DQo+ICsgICAgICAjDQo+ICsgICAgICAjIEVTUlQgYW5kIEZNUCBHVUlEIGZvciBzYW1wbGUg ZGV2aWNlIGNhcHN1bGUgdXBkYXRlDQo+ICsgICAgICAjDQo+ICsgICAgICBGSUxFX0dVSUQgPSAk KEZNUF9SRURfU0FNUExFX0RFVklDRSkNCj4gKyAgICA8UGNkc0ZpeGVkQXRCdWlsZD4NCj4gKyAg ICAgICMNCj4gKyAgICAgICMgVW5pY29kZSBuYW1lIHN0cmluZyB0aGF0IGlzIHVzZWQgdG8gcG9w dWxhdGUgRk1QIEltYWdlIERlc2NyaXB0b3IgZm9yDQo+IHRoaXMgY2Fwc3VsZSB1cGRhdGUgbW9k dWxlDQo+ICsgICAgICAjDQo+ICsNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZt cERldmljZUltYWdlSWROYW1lfEwiU2FtcGxlDQo+IEZpcm13YXJlIERldmljZSINCj4gKw0KPiAr ICAgICAgIw0KPiArICAgICAgIyBFU1JUIGFuZCBGTVAgTG93ZXN0IFN1cHBvcnQgVmVyc2lvbiBm b3IgdGhpcyBjYXBzdWxlIHVwZGF0ZSBtb2R1bGUNCj4gKyAgICAgICMgMDAwLjAwMC4wMDAuMDAw DQo+ICsgICAgICAjDQo+ICsNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERl dmljZUJ1aWxkVGltZUxvd2VzdFN1cHBvcnRlZA0KPiBWZXJzaW9ufDB4MDAwMDAwMDANCj4gKw0K PiArDQo+IGdGbXBEZXZpY2VQa2dUb2tlblNwYWNlR3VpZC5QY2RGbXBEZXZpY2VQcm9ncmVzc1dh dGNoZG9nVGltZUluU2UNCj4gY29uZHN8Mg0KPiArDQo+ICsgICAgICAjDQo+ICsgICAgICAjIENh cHN1bGUgVXBkYXRlIFByb2dyZXNzIEJhciBDb2xvci4gIFNldCB0byBCbHVlIChSR0IpICgyNTUs IDAsIDApDQo+ICsgICAgICAjDQo+ICsNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZEZtcERldmljZVByb2dyZXNzQ29sb3J8MHgwMEZGMDAwMA0KPiArDQo+ICsgICAgICAjDQo+ICsg ICAgICAjIENlcnRpZmljYXRlcyB1c2VkIHRvIGF1dGhlbnRpY2F0ZSBjYXBzdWxlIHVwZGF0ZSBp bWFnZQ0KPiArICAgICAgIw0KPiArICAgICAgIWluY2x1ZGUgVmx2MlRibHREZXZpY2VQa2cvRm1w Q2VydGlmaWNhdGUuZHNjDQo+ICsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICAj DQo+ICsgICAgICAjIEdlbmVyaWMgbGlicmFyaWVzIHRoYXQgYXJlIHVzZWQgImFzIGlzIiBieSBh bGwgRk1QIG1vZHVsZXMNCj4gKyAgICAgICMNCj4gKw0KPiBGbXBQYXlsb2FkSGVhZGVyTGlifEZt cERldmljZVBrZy9MaWJyYXJ5L0ZtcFBheWxvYWRIZWFkZXJMaWJWMS9GbQ0KPiBwUGF5bG9hZEhl YWRlckxpYlYxLmluZg0KPiArDQo+IEZtcEF1dGhlbnRpY2F0aW9uTGlifFNlY3VyaXR5UGtnL0xp YnJhcnkvRm1wQXV0aGVudGljYXRpb25MaWJQa2NzNy9GbXANCj4gQXV0aGVudGljYXRpb25MaWJQ a2NzNy5pbmYNCj4gKyAgICAgICMNCj4gKyAgICAgICMgUGxhdGZvcm0gc3BlY2lmaWMgY2Fwc3Vs ZSBwb2xpY3kgbGlicmFyeQ0KPiArICAgICAgIw0KPiArDQo+IENhcHN1bGVVcGRhdGVQb2xpY3lM aWJ8Rm1wRGV2aWNlUGtnL0xpYnJhcnkvQ2Fwc3VsZVVwZGF0ZVBvbGljeUxpYk51bGwNCj4gL0Nh cHN1bGVVcGRhdGVQb2xpY3lMaWJOdWxsLmluZg0KPiArICAgICAgIw0KPiArICAgICAgIyBEZXZp Y2Ugc3BlY2lmaWMgbGlicmFyeSB0aGF0IHByb2Nlc3NlcyBhIGNhcHN1bGUgYW5kIHVwZGF0ZXMg dGhlIEZXDQo+IHN0b3JhZ2UgZGV2aWNlDQo+ICsgICAgICAjDQo+ICsNCj4gRm1wRGV2aWNlTGli fFZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9MaWJyYXJ5L0ZtcERldmljZUxpYlNh DQo+IG1wbGUvRm1wRGV2aWNlTGliLmluZg0KPiArICB9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BBemFsaWFDb25maWdEYXRhL0F6YWxpYUNv bmZpZy5iaW4NCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BBemFsaWFD b25maWdEYXRhL0F6YWxpYUNvbmZpZy5iaW4NCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k ZXgNCj4gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZGEyNGMwMmI1 ZDI1Y2U4ODhjNjMwYzY2NDANCj4gOTU5MDJiNGJiMDM1ZTcNCj4gR0lUIGJpbmFyeSBwYXRjaA0K PiBsaXRlcmFsIDM3MDgNCj4gemNtZF4+UGwjSlo5TE1LM2ApWFJkdCRGPzk+KCtUUU5xYX5Vd1l6 Ukw2K3t4ZEgzfTcxUEBoIX5pd0tLP1ENCj4gWXNqYQ0KPiB6eVh8KDxxUVZ4emJqNT5mcTREYSlU czsoWEAhJnpwRiRXSTs1bEx3dyRMRDh1KDs3bGNMRVQ7cTRELUdfbGVhVjkNCj4gemBPTlF8WlI2 dCRvJTloWXpmbkgxdT1TNnVRbU5kcHdFQ0k5RjEreUtGe1BBakwqSDJKcSlRWE9naH5iTA0KPiBk ZihZag0KPiB6eHtRez17SEs+WD4xcGwxdVZnM2w9Z3hKfmNMJjxQWil2JWNvKiVxX0pObnlOQ3B8 WiRlPiZldWZCaCl0e2kkDQo+IHFhDQo+IHp5bXo2S287a0Y8Zll4S1liazhUOV56SFRjclEqTVRe aSMkTWRLfkBNWFB0RFd7S31OTHVGVGwzPG0wWD0NCj4gKC1tPWoNCj4genhvWjM5ekdPYHdUQGtT ckRhOTRaOEo9QiZQU0E8dTRiTl5LSnVmVHF5Y3txKnlER1hXbFd8b0o4bEdLNDcNCj4gSHREZg0K PiB6R1l4YzIpQCtVV0hKTElzUyM+UiR3a14zOXg4IyYqcTEkclp3JFdgX0ZtMkpVRFM2eEV8MjFY U0d8X2QNCj4gd1UrNFJFDQo+IHpuS059XnRERX00cWlOUXhXXjdJNjxDOz5Zcm9gM05SYS0NCj4g fmJSbzJ3ZU8obkxlU2ZrMXJvP1JFK01SISUrQFFrTnwNCj4genJ6PzFSVkJPUDw3TXN6TmFZaTNC SmlDQCF2QEpDbShAY3hgWk1BMEdZOSglfmw0K3x8N3ZXS2FDbE1ZKw0KPiBjK2dqUQ0KPiB6K3Zv aiNIRWE0eHk5fU9XY3oqXkBHTW56bnNOcn5ZcXtPO1B0U2A/eEhTNWlxZj1GREQkUUVTOTZ7S2cx PSUNCj4gVmJsDQo+IHpNUzBtM1ZXR2wkRTNDVzFlOXU8R2NwP3AoRmg3eVVKV0RWJjRPXj0pKS0N Cj4gelJmUmokfm95eX5qeDhvR3dBcD07PWQNCj4gemdmTW07KS1KK2E0Xn4yJElTeEJ6ODB4ezZ6 fVYtb2Jgc2BCX3BzUi1rRGtifiN4aVRudnFzR3RDdDBLQzhne3JCDQo+IHpQM31YQmQlYCtkQlRV SFNyajE4IUd8amJUK0hnblh1N3RLTDZSd01BZVlwcnpZcD98cVFpM0pWKUZOeiYlamoNCj4gN1gN Cj4gelheQTYhKE1JfkRpfWFpK3BiTDcrN1c5TkdYd0MjKClaZmA2PDMpNEBVRDROVWg0QmhIKGIr aUIkOEV5PDVgDQo+IDdPbQ0KPiB6ZFF6KGBgczs1M1lTPFFpP0Q+RS1NNFRmSHVGN3pnZ1I1PERi czRUITJWOH00Nn5heyt1Q2oyJjlea0NQYyFoSU0NCj4gel8meUQ7JTVjPyNzfVFiMnhHRTMwM2dJ ZSp0MT9fb253bmdTSCk+U2lKWGR3KihgPXBiSShtYiVrVFdjRWhCDQo+IHJBMg0KPiB6SVlaQ2Nx bnoyN29MUih+bHttOD1YQkgwNXRqdzc/JlYrbFN4aEZje08jRDhfTipudzJ7b09vPHF2R1U8MmMN Cj4gdnMtDQo+IHo/MExPRHYqK004ZG9LT1VKI0p4LQ0KPiBYVn5OSiE1KHZpSnN5WTRmSVdfJFNx aGdhVHE/TCFhUU9neENLcSo8eyZ5R1gNCj4gemtwOUNSZnNXfXp7PVBvR19JSDBiUGUjWV89OyZ7 YE5SOChzXzJ6KntXZT9LZSFlXk1raDBuQkljbSYmTQ0KPiA4WGtwaw0KPiB6RiRXaHUlTEZkPW41 eUw5TGZ9SCtBfiluMmNfNEAzO3chalZnQTRNMkVhWDFOOChIVHdqfnRLX2FnKTM1Rw0KPiB3YmpB DQo+IHo8NzwhNHlEPmNjOXVGVjkxMUNNeGhafnloISZVITN1VUJ+VlIzNDhNOXhkYjEhb1pgTUEm LQ0KPiAxYnAyNEYkOV9pYjcNCj4gejxaSlRxLQ0KPiBJKlFvTmFOOGlKaiZ2YzNfTDJ+KFVCcEtV YyNlR2MoakhgelcoX2Q5bVh7TERic3AqQnpTWmRrNTBOYQ0KPiB6Y1hRKHxkQ3RVbiZOa2huWExG YE80bVpmLTIwN2JNaihxbnkmJCooVE58RCEhLQ0KPiAwcVJ6QzJ+QVZVYkFLdWB1cnh4DQo+IHpg QXgtbW0rPnkrSmRAWG8tDQo+IDB1MU9DZFpXX3VqN3BMWT0oTmx2eCgzVkl6c2N6OSt7Nyh6SXpW MU9VJjJJKlVaO0gNCj4geldMUXQ4dCl+OHIpVUYlUj12Q05zNE0pZWdUUjliMWE8QUQrWmw5fjw7 MEIkYjZMZ1pCSDFwX3JebkM3aCQNCj4gTWdUfQ0KPiB6Z0dWIT9ITCp0eDRgWjR3YUs4KWR4aXdz JD92YDdsXihmQz55VG8xZF5+bkU1SzBIIzc7Q0I3RDJIZjdOTjRNDQo+IEA4DQo+IHpIQSVRQEtn TW1AIShGPndacnl7c2NLajZlPT00eE1RWWt6U3dWU3pqMTx6SW5wODJlZ3NPYy0NCj4gel53RTBj Sj16eTwNCj4geldjZThOPSR+Wnk1fXhlNmdDez1Bdng2KWpCZ14wU3hwcERZQUpneXNCR0M4SU9G cXlPXnZWN31AQXU8bQ0KPiBlM0FhKQ0KPiBvZytUQXtgY1I7RWB1PkFKS1NhTWg4fFppRmlgX3Vh KF9lbHIoQ15WZGIyIWp7MFUyOVkzOytOQw0KPiANCj4gbGl0ZXJhbCAwDQo+IEhjbVY/ZDAwMDAx DQo+IA0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv RnNwU3VwcG9ydC9Cb290TW9kZVBlaS9Cb290TW9kZVANCj4gZWkuYw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQDQo+ IGVpLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYmY2Yzdl ZmJhNQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0ZzcFN1cHBvcnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQDQo+IGVpLmMNCj4gQEAg LTAsMCArMSw0MiBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIFRoaXMgUEVJTSB3aWxsIHBhcnNlIHRo ZSBob2JsaXN0IGZyb20gZnNwIGFuZCByZXBvcnQgdGhlbSBpbnRvIHBlaSBjb3JlLg0KPiArICBU aGlzIGZpbGUgY29udGFpbnMgdGhlIG1haW4gZW50cnlwb2ludCBvZiB0aGUgUEVJTS4NCj4gKw0K PiArICBDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsj aW5jbHVkZSA8UHBpL01hc3RlckJvb3RNb2RlLmg+DQo+ICsNCj4gK3N0YXRpYyBFRklfUEVJX1BQ SV9ERVNDUklQVE9SICAgICAgIG1QcGlMaXN0W10gPSB7DQo+ICsgIHsNCj4gKyAgICBFRklfUEVJ X1BQSV9ERVNDUklQVE9SX1BQSSB8DQo+IEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfVEVSTUlOQVRF X0xJU1QsDQo+ICsgICAgJmdFZmlQZWlNYXN0ZXJCb290TW9kZVBwaUd1aWQsDQo+ICsgICAgTlVM TA0KPiArICB9LA0KPiArfTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgaXMgdGhlIGVudHJ5cG9p bnQgb2YgUEVJTQ0KPiArDQo+ICsgIEBwYXJhbSAgRmlsZUhhbmRsZSAgSGFuZGxlIG9mIHRoZSBm aWxlIGJlaW5nIGludm9rZWQuDQo+ICsgIEBwYXJhbSAgUGVpU2VydmljZXMgRGVzY3JpYmVzIHRo ZSBsaXN0IG9mIHBvc3NpYmxlIFBFSSBTZXJ2aWNlcy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTIGlmIGl0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+ICsqKi8NCj4gK0VGSV9TVEFU VVMNCj4gK0VGSUFQSQ0KPiArQm9vdE1vZGVQZWlFbnRyeVBvaW50ICgNCj4gKyAgSU4gICAgICAg RUZJX1BFSV9GSUxFX0hBTkRMRSAgRmlsZUhhbmRsZSwNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9T RVJWSUNFUyAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ICt7DQo+ICsgICgqUGVpU2Vydmlj ZXMpLT5TZXRCb290TW9kZShQZWlTZXJ2aWNlcywNCj4gQk9PVF9XSVRIX0ZVTExfQ09ORklHVVJB VElPTik7DQo+ICsNCj4gKyAgKCpQZWlTZXJ2aWNlcyktPkluc3RhbGxQcGkgKFBlaVNlcnZpY2Vz LCAmbVBwaUxpc3RbMF0pOw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4g ZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBv cnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQDQo+IGVpLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQDQo+IGVpLmlu Zg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yNzIwMGJjYTE1 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvRnNwU3VwcG9ydC9Cb290TW9kZVBlaS9Cb290TW9kZVANCj4gZWkuaW5mDQo+IEBAIC0w LDAgKzEsNDAgQEANCj4gKyMjIEBmaWxlDQo+ICsjIEZTUCBQRUkgTW9kdWxlDQo+ICsjDQo+ICsj IFBhcnNlcyB0aGUgaG9ibGlzdCBmcm9tIGZzcCBhbmQgcmVwb3J0IHRoZW0gaW50byBwZWkgY29y ZS4gSXQgd2lsbCBpbnN0YWxsDQo+ICsjIHRoZSBtZW1vcnkgYXMgcmVxdWlyZWQuDQo+ICsjDQo+ ICsjICBDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKyMNCj4gKyMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjIw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZF UlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAg ICAgICAgICAgICAgICAgICAgPSBCb290TW9kZVBlaW0NCj4gKyAgRklMRV9HVUlEICAgICAgICAg ICAgICAgICAgICAgID0gMkIxRDA4MzItMjE4NC00QzhGLUE5MEQtOEU0QUY5REU1QkNEDQo+ICsg IE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IFBFSU0NCj4gKyAgVkVSU0lPTl9TVFJJ TkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIEVOVFJZX1BPSU5UICAgICAgICAgICAgICAg ICAgICA9IEJvb3RNb2RlUGVpRW50cnlQb2ludA0KPiArDQo+ICsjDQo+ICsjIFRoZSBmb2xsb3dp bmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQgYnkg dGhlDQo+IGJ1aWxkIHRvb2xzLg0KPiArIw0KPiArIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAg ICAgICAgPSBJQTMyDQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBCb290TW9kZVBlaS5j DQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKw0KPiArW0xp YnJhcnlDbGFzc2VzXQ0KPiArICBQZWltRW50cnlQb2ludA0KPiArDQo+ICtbUHBpc10NCj4gKyAg Z0VmaVBlaU1hc3RlckJvb3RNb2RlUHBpR3VpZA0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIFRSVUUN Cj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1 cHBvcnQvTGlicmFyeS9QZWlGc3BIb2JQcm9jZXNzTGkNCj4gYlZsdjIvRnNwSG9iUHJvY2Vzc0xp YlZsdjIuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQv TGlicmFyeS9QZWlGc3BIb2JQcm9jZXNzTGkNCj4gYlZsdjIvRnNwSG9iUHJvY2Vzc0xpYlZsdjIu Yw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44YTk3ZTI1YmQ0 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1BlaUZzcEhvYlByb2Nlc3NMaQ0KPiBiVmx2Mi9Gc3BI b2JQcm9jZXNzTGliVmx2Mi5jDQo+IEBAIC0wLDAgKzEsNDIxIEBADQo+ICsvKiogQGZpbGUNCj4g KyAgTnVsbCBpbnN0YW5jZSBvZiBQbGF0Zm9ybSBTZWMgTGliLg0KPiArDQo+ICsgIENvcHlyaWdo dCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJy YXJ5L1BlaVNlcnZpY2VzTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QZWlTZXJ2aWNlc1Rh YmxlUG9pbnRlckxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1v cnlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0hvYkxpYi5oPg0KPiArI2luY2x1ZGUgPExp YnJhcnkvUGNkTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Gc3BQbGF0Zm9ybUluZm9MaWIu aD4NCj4gKw0KPiArI2luY2x1ZGUgPEd1aWQvR3VpZEhvYkZzcC5oPg0KPiArI2luY2x1ZGUgPEd1 aWQvTWVtb3J5VHlwZUluZm9ybWF0aW9uLmg+DQo+ICsjaW5jbHVkZSA8UHBpL0NhcHN1bGUuaD4N Cj4gKw0KPiArI2luY2x1ZGUgPFBsYXRmb3JtRnNwTGliLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9T bXJhbU1lbW9yeVJlc2VydmUuaD4NCj4gK0VGSV9HVUlEIGdGc3BSZXNlcnZlZE1lbW9yeVJlc291 cmNlSG9iVHNlZ0d1aWQgPSB7MHhkMDM4NzQ3YywNCj4gMHhkMDBjLCAweDQ5ODAsIHsweGIzLCAw eDE5LCAweDQ5LCAweDAxLCAweDk5LCAweGE0LCAweDdkLCAweDU1fX07DQo+ICsNCj4gKy8vDQo+ ICsvLyBBZGRpdGlvbmFsIHBhZ2VzIGFyZSB1c2VkIGJ5IERYRSBtZW1vcnkgbWFuYWdlci4NCj4g Ky8vIEl0IHNob3VsZCBiZSBjb25zaXN0ZW50IGJldHdlZW4gUmV0cmlldmVSZXF1aXJlZE1lbW9y eVNpemUoKSBhbmQNCj4gR2V0UGVpTWVtU2l6ZSgpDQo+ICsvLw0KPiArI2RlZmluZSBQRUlfQURE SVRJT05BTF9NRU1PUllfU0laRSAgICAoMTYgKiBFRklfUEFHRV9TSVpFKQ0KPiArDQo+ICsvKioN Cj4gKyAgR2V0IHRoZSBtZW0gc2l6ZSBpbiBtZW1vcnkgdHlwZSBpbmZyb21hdGlvbiB0YWJsZS4N Cj4gKw0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgIFBFSSBTZXJ2aWNlcyB0YWJsZS4NCj4gKw0K PiArICBAcmV0dXJuIHRoZSBtZW0gc2l6ZSBpbiBtZW1vcnkgdHlwZSBpbmZyb21hdGlvbiB0YWJs ZS4NCj4gKyoqLw0KPiArVUlOVDY0DQo+ICtHZXRNZW1vcnlTaXplSW5NZW1vcnlUeXBlSW5mb3Jt YXRpb24gKA0KPiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICoqUGVpU2VydmljZXMNCj4gKyAgKQ0K PiArew0KPiArICBFRklfUEVJX0hPQl9QT0lOVEVSUyAgICAgICAgSG9iOw0KPiArICBFRklfTUVN T1JZX1RZUEVfSU5GT1JNQVRJT04gKk1lbW9yeURhdGE7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgICBJbmRleDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIFRlbXBQ YWdlTnVtOw0KPiArDQo+ICsgIE1lbW9yeURhdGEgPSBOVUxMOw0KPiArICAoKlBlaVNlcnZpY2Vz KS0+R2V0SG9iTGlzdCAoKENPTlNUIEVGSV9QRUlfU0VSVklDRVMgKiopUGVpU2VydmljZXMsDQo+ IChWT0lEICoqKSAmSG9iLlJhdyk7DQo+ICsgIHdoaWxlICghRU5EX09GX0hPQl9MSVNUIChIb2Ip KSB7DQo+ICsgICAgaWYgKEhvYi5IZWFkZXItPkhvYlR5cGUgPT0gRUZJX0hPQl9UWVBFX0dVSURf RVhURU5TSU9OICYmDQo+ICsgICAgICBDb21wYXJlR3VpZCAoJkhvYi5HdWlkLT5OYW1lLCAmZ0Vm aU1lbW9yeVR5cGVJbmZvcm1hdGlvbkd1aWQpKQ0KPiB7DQo+ICsgICAgICBNZW1vcnlEYXRhID0g KEVGSV9NRU1PUllfVFlQRV9JTkZPUk1BVElPTiAqKSAoSG9iLlJhdyArDQo+IHNpemVvZiAoRUZJ X0hPQl9HRU5FUklDX0hFQURFUikgKyBzaXplb2YgKEVGSV9HVUlEKSk7DQo+ICsgICAgICBicmVh azsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpOw0K PiArICB9DQo+ICsNCj4gKyAgaWYgKE1lbW9yeURhdGEgPT0gTlVMTCkgew0KPiArICAgIHJldHVy biAwOw0KPiArICB9DQo+ICsNCj4gKyAgVGVtcFBhZ2VOdW0gPSAwOw0KPiArICBmb3IgKEluZGV4 ID0gMDsgTWVtb3J5RGF0YVtJbmRleF0uVHlwZSAhPSBFZmlNYXhNZW1vcnlUeXBlOyBJbmRleCsr KQ0KPiB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBBY2N1bXVsYXRlIGRlZmF1bHQgbWVtb3J5IHNp emUgcmVxdWlyZW1lbnRzDQo+ICsgICAgLy8NCj4gKyAgICBUZW1wUGFnZU51bSArPSBNZW1vcnlE YXRhW0luZGV4XS5OdW1iZXJPZlBhZ2VzOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFRlbXBQ YWdlTnVtICogRUZJX1BBR0VfU0laRTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEdldCB0aGUg bWVtIHNpemUgbmVlZCB0byBiZSByZXNlcnZlZCBpbiBQRUkgcGhhc2UuDQo+ICsNCj4gKyAgQHBh cmFtIFBlaVNlcnZpY2VzICBQRUkgU2VydmljZXMgdGFibGUuDQo+ICsNCj4gKyAgQHJldHVybiB0 aGUgbWVtIHNpemUgbmVlZCB0byBiZSByZXNlcnZlZCBpbiBQRUkgcGhhc2UuDQo+ICsqKi8NCj4g K1VJTlQ2NA0KPiArUmV0cmlldmVSZXF1aXJlZE1lbW9yeVNpemUgKA0KPiArICBJTiBFRklfUEVJ X1NFUlZJQ0VTICoqUGVpU2VydmljZXMNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UNjQgICAgICAg ICAgICAgICAgICAgICAgU2l6ZTsNCj4gKw0KPiArICBTaXplID0gR2V0TWVtb3J5U2l6ZUluTWVt b3J5VHlwZUluZm9ybWF0aW9uIChQZWlTZXJ2aWNlcyk7DQo+ICsgIHJldHVybiBTaXplICsgUEVJ X0FERElUSU9OQUxfTUVNT1JZX1NJWkU7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBHZXQgdGhl IG1lbSBzaXplIG5lZWQgdG8gYmUgY29uc3VtZWQgYW5kIHJlc2VydmVkIGluIFBFSSBwaGFzZS4N Cj4gKw0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgIFBFSSBTZXJ2aWNlcyB0YWJsZS4NCj4gKyAg QHBhcmFtIEJvb3RNb2RlICAgICBDdXJyZW50IGJvb3QgbW9kZS4NCj4gKw0KPiArICBAcmV0dXJu IHRoZSBtZW0gc2l6ZSBuZWVkIHRvIGJlIGNvbnN1bWVkIGFuZCByZXNlcnZlZCBpbiBQRUkgcGhh c2UuDQo+ICsqKi8NCj4gK1VJTlQ2NA0KPiArR2V0UGVpTWVtU2l6ZSAoDQo+ICsgIElOIEVGSV9Q RUlfU0VSVklDRVMgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gVUlOVDMyICAgICAgICAgICBCb290 TW9kZQ0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICBTaXpl Ow0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgTWluU2l6ZTsNCj4gKw0KPiArICBp ZiAoQm9vdE1vZGUgPT0gQk9PVF9JTl9SRUNPVkVSWV9NT0RFKSB7DQo+ICsgICAgcmV0dXJuIFBj ZEdldDMyIChQY2RQZWlSZWNvdmVyeU1pbk1lbVNpemUpOw0KPiArICB9DQo+ICsNCj4gKyAgU2l6 ZSA9IEdldE1lbW9yeVNpemVJbk1lbW9yeVR5cGVJbmZvcm1hdGlvbiAoUGVpU2VydmljZXMpOw0K PiArDQo+ICsgIGlmIChCb290TW9kZSA9PSBCT09UX09OX0ZMQVNIX1VQREFURSkgew0KPiArICAg IC8vDQo+ICsgICAgLy8gTWF5YmUgbW9yZSBzaXplIHdoZW4gaW4gQ2Fwc3VsZVVwZGF0ZSBwaGFz ZSA/DQo+ICsgICAgLy8NCj4gKyAgICBNaW5TaXplID0gUGNkR2V0MzIgKFBjZFBlaU1pbk1lbVNp emUpOw0KPiArICB9IGVsc2Ugew0KPiArICAgIE1pblNpemUgPSBQY2RHZXQzMiAoUGNkUGVpTWlu TWVtU2l6ZSk7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gTWluU2l6ZSArIFNpemUgKyBQRUlf QURESVRJT05BTF9NRU1PUllfU0laRTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEJJT1MgcHJv Y2VzcyBGc3BCb2JMaXN0Lg0KPiArDQo+ICsgIEBwYXJhbSBGc3BIb2JMaXN0ICBQb2ludGVyIHRv IHRoZSBIT0IgZGF0YSBzdHJ1Y3R1cmUgcHJvZHVjZWQgYnkgRlNQLg0KPiArDQo+ICsgIEByZXR1 cm4gSWYgcGxhdGZvcm0gcHJvY2VzcyB0aGUgRlNQIGhvYiBsaXN0IHN1Y2Nlc3NmdWxseS4NCj4g KyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGc3BIb2JQcm9jZXNzRm9yTWVtb3J5 UmVzb3VyY2UgKA0KPiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAqRnNwSG9iTGlzdA0KPiAr ICApDQo+ICt7DQo+ICsgIEVGSV9QRUlfSE9CX1BPSU5URVJTIEhvYjsNCj4gKyAgVUlOVDY0ICAg ICAgICAgICAgICAgTG93TWVtb3J5U2l6ZTsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgRnNw TWVtb3J5U2l6ZTsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgRnNwTWVtb3J5QmFzZTsNCj4g KyAgVUlOVDY0ICAgICAgICAgICAgICAgUGVpTWVtU2l6ZTsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FE RFJFU1MgUGVpTWVtQmFzZTsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgUzNQZWlNZW1TaXpl Ow0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyBTM1BlaU1lbUJhc2U7DQo+ICsgIEJPT0xFQU4g ICAgICAgICAgICAgIEZvdW5kRnNwTWVtSG9iOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICBT dGF0dXM7DQo+ICsgIEVGSV9CT09UX01PREUgICAgICAgIEJvb3RNb2RlOw0KPiArICBQRUlfQ0FQ U1VMRV9QUEkgICAgICAqQ2Fwc3VsZTsNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAgKkNhcHN1 bGVCdWZmZXI7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgIENhcHN1bGVCdWZmZXJMZW5ndGg7 DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgIFJlcXVpcmVkTWVtU2l6ZTsNCj4gKyAgRUZJX1BF SV9TRVJWSUNFUyAgICAgKipQZWlTZXJ2aWNlczsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAg VHNlZ1NpemU7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTIFRzZWdCYXNlOw0KPiArICBCT09M RUFOICAgICAgICAgICAgICBGb3VuZFRzZWdIb2I7DQo+ICsNCj4gKyAgUGVpU2VydmljZXMgPSAo RUZJX1BFSV9TRVJWSUNFUyAqKilHZXRQZWlTZXJ2aWNlc1RhYmxlUG9pbnRlciAoKTsNCj4gKw0K PiArICBQZWlTZXJ2aWNlc0dldEJvb3RNb2RlICgmQm9vdE1vZGUpOw0KPiArDQo+ICsgIFBlaU1l bUJhc2UgPSAwOw0KPiArICBMb3dNZW1vcnlTaXplID0gMDsNCj4gKyAgRnNwTWVtb3J5U2l6ZSA9 IDA7DQo+ICsgIEZzcE1lbW9yeUJhc2UgPSAwOw0KPiArICBGb3VuZEZzcE1lbUhvYiA9IEZBTFNF Ow0KPiArICBUc2VnU2l6ZSAgICAgID0gMDsNCj4gKyAgVHNlZ0Jhc2UgICAgICA9IDA7DQo+ICsg IEZvdW5kVHNlZ0hvYiAgID0gRkFMU0U7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUGFyc2UgdGhl IGhvYiBsaXN0IGZyb20gZnNwDQo+ICsgIC8vIFJlcG9ydCBhbGwgdGhlIHJlc291cmNlIGhvYiBl eGNlcHQgdGhlIG1lbW9yeSBiZXR3ZWVuIDFNIGFuZCA0Rw0KPiArICAvLw0KPiArICBIb2IuUmF3 ID0gKFVJTlQ4ICopKFVJTlROKUZzcEhvYkxpc3Q7DQo+ICsgIERFQlVHKChERUJVR19JTkZPLCAi RnNwSG9iTGlzdCAtIDB4JXhcbiIsIEZzcEhvYkxpc3QpKTsNCj4gKw0KPiArICB3aGlsZSAoKEhv Yi5SYXcgPSBHZXROZXh0SG9iIChFRklfSE9CX1RZUEVfUkVTT1VSQ0VfREVTQ1JJUFRPUiwNCj4g SG9iLlJhdykpICE9IE5VTEwpIHsNCj4gKyAgICBERUJVRygoREVCVUdfSU5GTywgIlxuUmVzb3Vy Y2VUeXBlOiAweCV4XG4iLA0KPiBIb2IuUmVzb3VyY2VEZXNjcmlwdG9yLT5SZXNvdXJjZVR5cGUp KTsNCj4gKyAgICBpZiAoKEhvYi5SZXNvdXJjZURlc2NyaXB0b3ItPlJlc291cmNlVHlwZSA9PQ0K PiBFRklfUkVTT1VSQ0VfU1lTVEVNX01FTU9SWSkgfHwNCj4gKyAgICAgICAgKEhvYi5SZXNvdXJj ZURlc2NyaXB0b3ItPlJlc291cmNlVHlwZSA9PQ0KPiBFRklfUkVTT1VSQ0VfTUVNT1JZX1JFU0VS VkVEKSkgew0KPiArICAgICAgREVCVUcoKERFQlVHX0lORk8sICJSZXNvdXJjZUF0dHJpYnV0ZTog MHgleFxuIiwNCj4gSG9iLlJlc291cmNlRGVzY3JpcHRvci0+UmVzb3VyY2VBdHRyaWJ1dGUpKTsN Cj4gKyAgICAgIERFQlVHKChERUJVR19JTkZPLCAiUGh5c2ljYWxTdGFydDogMHgleFxuIiwNCj4g SG9iLlJlc291cmNlRGVzY3JpcHRvci0+UGh5c2ljYWxTdGFydCkpOw0KPiArICAgICAgREVCVUco KERFQlVHX0lORk8sICJSZXNvdXJjZUxlbmd0aDogMHgleFxuIiwNCj4gSG9iLlJlc291cmNlRGVz Y3JpcHRvci0+UmVzb3VyY2VMZW5ndGgpKTsNCj4gKyAgICAgIERFQlVHKChERUJVR19JTkZPLCAi T3duZXI6ICVnXG5cbiIsICZIb2IuUmVzb3VyY2VEZXNjcmlwdG9yLQ0KPiA+T3duZXIpKTsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICBpZiAoKEhvYi5SZXNvdXJjZURlc2NyaXB0b3ItPlJlc291cmNl VHlwZSA9PQ0KPiBFRklfUkVTT1VSQ0VfU1lTVEVNX01FTU9SWSkgIC8vIEZvdW5kIHRoZSBsb3cg bWVtb3J5IGxlbmd0aCBiZWxvdw0KPiA0Rw0KPiArICAgICAgICAmJiAoSG9iLlJlc291cmNlRGVz Y3JpcHRvci0+UGh5c2ljYWxTdGFydCA+PSBCQVNFXzFNQikNCj4gKyAgICAgICAgJiYgKEhvYi5S ZXNvdXJjZURlc2NyaXB0b3ItPlBoeXNpY2FsU3RhcnQgKyBIb2IuUmVzb3VyY2VEZXNjcmlwdG9y LQ0KPiA+UmVzb3VyY2VMZW5ndGggPD0gQkFTRV80R0IpKSB7DQo+ICsgICAgICAgIExvd01lbW9y eVNpemUgKz0gSG9iLlJlc291cmNlRGVzY3JpcHRvci0+UmVzb3VyY2VMZW5ndGg7DQo+ICsgICAg ICBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpOw0KPiArICAgICAgY29udGludWU7DQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgaWYgKChIb2IuUmVzb3VyY2VEZXNjcmlwdG9yLT5SZXNvdXJjZVR5 cGUgPT0NCj4gRUZJX1JFU09VUkNFX01FTU9SWV9SRVNFUlZFRCkgIC8vIEZvdW5kIHRoZSBsb3cg bWVtb3J5IGxlbmd0aA0KPiBiZWxvdyA0Rw0KPiArICAgICAgICAmJiAoSG9iLlJlc291cmNlRGVz Y3JpcHRvci0+UGh5c2ljYWxTdGFydCA+PSBCQVNFXzFNQikNCj4gKyAgICAgICAgJiYgKEhvYi5S ZXNvdXJjZURlc2NyaXB0b3ItPlBoeXNpY2FsU3RhcnQgKyBIb2IuUmVzb3VyY2VEZXNjcmlwdG9y LQ0KPiA+UmVzb3VyY2VMZW5ndGggPD0gQkFTRV80R0IpDQo+ICsgICAgICAgICYmIChDb21wYXJl R3VpZCAoJkhvYi5SZXNvdXJjZURlc2NyaXB0b3ItPk93bmVyLA0KPiAmZ0ZzcFJlc2VydmVkTWVt b3J5UmVzb3VyY2VIb2JHdWlkKSkpIHsNCj4gKyAgICAgIEZvdW5kRnNwTWVtSG9iID0gVFJVRTsN Cj4gKyAgICAgIEZzcE1lbW9yeUJhc2UgPSBIb2IuUmVzb3VyY2VEZXNjcmlwdG9yLT5QaHlzaWNh bFN0YXJ0Ow0KPiArICAgICAgRnNwTWVtb3J5U2l6ZSA9IEhvYi5SZXNvdXJjZURlc2NyaXB0b3It PlJlc291cmNlTGVuZ3RoOw0KPiArICAgICAgREVCVUcoKERFQlVHX0lORk8sICJGaW5kIGZzcCBt ZW0gaG9iLCBiYXNlIDB4JXgsIGxlbiAweCV4XG4iLA0KPiBGc3BNZW1vcnlCYXNlLCBGc3BNZW1v cnlTaXplKSk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKChIb2IuUmVzb3VyY2VEZXNjcmlw dG9yLT5SZXNvdXJjZVR5cGUgPT0NCj4gRUZJX1JFU09VUkNFX01FTU9SWV9SRVNFUlZFRCkgIC8v IEZvdW5kIHRoZSBsb3cgbWVtb3J5IGxlbmd0aA0KPiBiZWxvdyA0Rw0KPiArICAgICAgJiYgKEhv Yi5SZXNvdXJjZURlc2NyaXB0b3ItPlBoeXNpY2FsU3RhcnQgPj0gMHgxMDAwMDApDQo+ICsgICAg ICAmJiAoSG9iLlJlc291cmNlRGVzY3JpcHRvci0+UGh5c2ljYWxTdGFydCArIEhvYi5SZXNvdXJj ZURlc2NyaXB0b3ItDQo+ID5SZXNvdXJjZUxlbmd0aCA8PSAweDEwMDAwMDAwMCkNCj4gKyAgICAg ICYmIChDb21wYXJlR3VpZCAoJkhvYi5SZXNvdXJjZURlc2NyaXB0b3ItPk93bmVyLA0KPiAmZ0Zz cFJlc2VydmVkTWVtb3J5UmVzb3VyY2VIb2JUc2VnR3VpZCkpKSB7DQo+ICsgICAgICAgIEZvdW5k VHNlZ0hvYiA9IFRSVUU7DQo+ICsgICAgICAgIFRzZWdCYXNlID0gSG9iLlJlc291cmNlRGVzY3Jp cHRvci0+UGh5c2ljYWxTdGFydDsNCj4gKw0KPiArDQo+ICsgICAgICAgIGlmICgoSG9iLlJlc291 cmNlRGVzY3JpcHRvci0+UmVzb3VyY2VMZW5ndGggPT0gMCAgKSB8fA0KPiAoSG9iLlJlc291cmNl RGVzY3JpcHRvci0+UmVzb3VyY2VMZW5ndGggPiAweDgwMDAwMCkpew0KPiArICAgICAgICAgIEhv Yi5SZXNvdXJjZURlc2NyaXB0b3ItPlJlc291cmNlTGVuZ3RoID0gMHg4MDAwMDA7DQo+ICsgICAg ICAgIH0NCj4gKw0KPiArDQo+ICsgICAgICAgIFRzZWdTaXplID0gSG9iLlJlc291cmNlRGVzY3Jp cHRvci0+UmVzb3VyY2VMZW5ndGg7DQo+ICsgICAgICAgIERFQlVHKChFRklfRF9FUlJPUiwgIkZp bmQgVHNlZyBtZW0gaG9iLCBiYXNlIDB4JWx4LCBsZW4gMHglbHhcbiIsDQo+IFRzZWdCYXNlLCBU c2VnU2l6ZSkpOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZXBvcnQg dGhlIHJlc291cmNlIGhvYg0KPiArICAgIC8vDQo+ICsgICAgQnVpbGRSZXNvdXJjZURlc2NyaXB0 b3JIb2IgKA0KPiArICAgICAgSG9iLlJlc291cmNlRGVzY3JpcHRvci0+UmVzb3VyY2VUeXBlLA0K PiArICAgICAgSG9iLlJlc291cmNlRGVzY3JpcHRvci0+UmVzb3VyY2VBdHRyaWJ1dGUsDQo+ICsg ICAgICBIb2IuUmVzb3VyY2VEZXNjcmlwdG9yLT5QaHlzaWNhbFN0YXJ0LA0KPiArICAgICAgSG9i LlJlc291cmNlRGVzY3JpcHRvci0+UmVzb3VyY2VMZW5ndGgNCj4gKyAgICAgICk7DQo+ICsNCj4g KyAgICBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpOw0KPiArICB9DQo+ICsNCj4gKyAgaWYg KCFGb3VuZEZzcE1lbUhvYikgew0KPiArICAgIERFQlVHKChERUJVR19JTkZPLCAiRGlkbid0IGZp bmQgdGhlIGZzcCB1c2VkIG1lbW9yeQ0KPiBpbmZvcm1hdGlvbi5cbiIpKTsNCj4gKyAgICAvL0FT U0VSVChGQUxTRSk7DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRygoREVCVUdfSU5GTywgIkxvd01l bW9yeVNpemU6IDB4JXguXG4iLCBMb3dNZW1vcnlTaXplKSk7DQo+ICsgIERFQlVHKChERUJVR19J TkZPLCAiRnNwTWVtb3J5QmFzZTogMHgleC5cbiIsIEZzcE1lbW9yeUJhc2UpKTsNCj4gKyAgREVC VUcoKERFQlVHX0lORk8sICJGc3BNZW1vcnlTaXplOiAweCV4LlxuIiwgRnNwTWVtb3J5U2l6ZSkp Ow0KPiArDQo+ICsgIGlmIChCb290TW9kZSA9PSBCT09UX09OX1MzX1JFU1VNRSkgew0KPiArICAg IEJ1aWxkUmVzb3VyY2VEZXNjcmlwdG9ySG9iICgNCj4gKyAgICAgIEVGSV9SRVNPVVJDRV9TWVNU RU1fTUVNT1JZLA0KPiArICAgICAgKA0KPiArICAgICAgICAgRUZJX1JFU09VUkNFX0FUVFJJQlVU RV9QUkVTRU5UIHwNCj4gKyAgICAgICAgIEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfSU5JVElBTEla RUQgfA0KPiArICAgICAgICAgLy8gRUZJX1JFU09VUkNFX0FUVFJJQlVURV9URVNURUQgfA0KPiAr ICAgICAgICAgRUZJX1JFU09VUkNFX0FUVFJJQlVURV9VTkNBQ0hFQUJMRSB8DQo+ICsgICAgICAg ICBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1dSSVRFX0NPTUJJTkVBQkxFIHwNCj4gKyAgICAgICAg IEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfV1JJVEVfVEhST1VHSF9DQUNIRUFCTEUgfA0KPiArICAg ICAgICAgRUZJX1JFU09VUkNFX0FUVFJJQlVURV9XUklURV9CQUNLX0NBQ0hFQUJMRQ0KPiArICAg ICAgKSwNCj4gKyAgICAgIEJBU0VfMU1CLA0KPiArICAgICAgTG93TWVtb3J5U2l6ZQ0KPiArICAg ICAgKTsNCj4gKw0KPiArICAgIFN0YXR1cyA9IEdldFMzTWVtb3J5SW5mbyAoJlMzUGVpTWVtQmFz ZSwgJlMzUGVpTWVtU2l6ZSk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4g KyAgICBERUJVRygoREVCVUdfSU5GTywgIlMzIG1lbW9yeSAlWGggLSAlWGggYnl0ZXNcbiIsIFMz UGVpTWVtQmFzZSwNCj4gUzNQZWlNZW1TaXplKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8v IE1ha2Ugc3VyZSBTdGFjayBhbmQgUGVpTWVtb3J5IGFyZSBub3Qgb3ZlcmxhcCAtIEpZQU8xDQo+ ICsgICAgLy8NCj4gKw0KPiArICAgIFN0YXR1cyA9IFBlaVNlcnZpY2VzSW5zdGFsbFBlaU1lbW9y eSAoDQo+ICsgICAgICAgICAgICAgICBTM1BlaU1lbUJhc2UsDQo+ICsgICAgICAgICAgICAgICBT M1BlaU1lbVNpemUNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJP UiAoU3RhdHVzKTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBQZWlNZW1TaXplID0gR2V0UGVpTWVt U2l6ZSAoUGVpU2VydmljZXMsIEJvb3RNb2RlKTsNCj4gKyAgICBERUJVRygoREVCVUdfSU5GTywg IlBFSSBtZW1vcnkgc2l6ZSA9ICVYaCBieXRlc1xuIiwgUGVpTWVtU2l6ZSkpOw0KPiArDQo+ICsg ICAgLy8NCj4gKyAgICAvLyBDYXBzdWxlIG1vZGUNCj4gKyAgICAvLw0KPiArICAgIENhcHN1bGUg PSBOVUxMOw0KPiArICAgIENhcHN1bGVCdWZmZXIgPSBOVUxMOw0KPiArICAgIENhcHN1bGVCdWZm ZXJMZW5ndGggPSAwOw0KPiArICAgIGlmIChCb290TW9kZSA9PSBCT09UX09OX0ZMQVNIX1VQREFU RSkgew0KPiArICAgICAgU3RhdHVzID0gUGVpU2VydmljZXNMb2NhdGVQcGkgKA0KPiArICAgICAg ICAgICAgICAgICAmZ1BlaUNhcHN1bGVQcGlHdWlkLA0KPiArICAgICAgICAgICAgICAgICAwLA0K PiArICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAoVk9JRCAqKikg JkNhcHN1bGUNCj4gKyAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIEFTU0VSVF9FRklfRVJS T1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgICAgIGlmIChTdGF0dXMgPT0gRUZJX1NVQ0NFU1MpIHsN Cj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gTWFrZSBzdXJlIFN0YWNrIGFuZCBDYXBzdWxl QnVmZmVyIGFyZSBub3Qgb3ZlcmxhcCAtIEpZQU8xDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAg IENhcHN1bGVCdWZmZXIgPSAoVk9JRCAqKShVSU5UTilCQVNFXzFNQjsNCj4gKyAgICAgICAgQ2Fw c3VsZUJ1ZmZlckxlbmd0aCA9IChVSU5UTikoTG93TWVtb3J5U2l6ZSAtIFBlaU1lbVNpemUpOw0K PiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBDYWxsIHRoZSBDYXBzdWxlIFBQSSBDb2FsZXNj ZSBmdW5jdGlvbiB0byBjb2FsZXNjZSB0aGUgY2Fwc3VsZSBkYXRhLg0KPiArICAgICAgICAvLw0K PiArICAgICAgICBTdGF0dXMgPSBDYXBzdWxlLT5Db2FsZXNjZSAoUGVpU2VydmljZXMsICZDYXBz dWxlQnVmZmVyLA0KPiAmQ2Fwc3VsZUJ1ZmZlckxlbmd0aCk7DQo+ICsgICAgICB9DQo+ICsgICAg fQ0KPiArDQo+ICsgICAgUmVxdWlyZWRNZW1TaXplID0gUmV0cmlldmVSZXF1aXJlZE1lbW9yeVNp emUgKFBlaVNlcnZpY2VzKTsNCj4gKyAgICBERUJVRygoREVCVUdfSU5GTywgIlJlcXVpcmVkIG1l bW9yeSBzaXplID0gJVhoIGJ5dGVzXG4iLA0KPiBSZXF1aXJlZE1lbVNpemUpKTsNCj4gKw0KPiAr ICAgIC8vDQo+ICsgICAgLy8gUmVwb3J0IHRoZSBtYWluIG1lbW9yeQ0KPiArICAgIC8vDQo+ICsg ICAgQnVpbGRSZXNvdXJjZURlc2NyaXB0b3JIb2IgKA0KPiArICAgICAgRUZJX1JFU09VUkNFX1NZ U1RFTV9NRU1PUlksDQo+ICsgICAgICAoDQo+ICsgICAgICAgICBFRklfUkVTT1VSQ0VfQVRUUklC VVRFX1BSRVNFTlQgfA0KPiArICAgICAgICAgRUZJX1JFU09VUkNFX0FUVFJJQlVURV9JTklUSUFM SVpFRCB8DQo+ICsgICAgICAgICBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1RFU1RFRCB8DQo+ICsg ICAgICAgICBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1VOQ0FDSEVBQkxFIHwNCj4gKyAgICAgICAg IEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfV1JJVEVfQ09NQklORUFCTEUgfA0KPiArICAgICAgICAg RUZJX1JFU09VUkNFX0FUVFJJQlVURV9XUklURV9USFJPVUdIX0NBQ0hFQUJMRSB8DQo+ICsgICAg ICAgICBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1dSSVRFX0JBQ0tfQ0FDSEVBQkxFDQo+ICsgICAg ICApLA0KPiArICAgICAgQkFTRV8xTUIsDQo+ICsgICAgICBMb3dNZW1vcnlTaXplDQo+ICsgICAg ICApOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBNYWtlIHN1cmUgU3RhY2sgYW5kIENhcHN1 bGVCdWZmZXIgYXJlIG5vdCBvdmVybGFwIC0gSllBTzENCj4gKyAgICAvLw0KPiArDQo+ICsgICAg Ly8NCj4gKyAgICAvLyBJbnN0YWxsIGVmaSBtZW1vcnkNCj4gKyAgICAvLw0KPiArICAgIFBlaU1l bUJhc2UgPSBCQVNFXzFNQiArIExvd01lbW9yeVNpemUgLSBQZWlNZW1TaXplOw0KPiArICAgIFN0 YXR1cyA9IFBlaVNlcnZpY2VzSW5zdGFsbFBlaU1lbW9yeSAoDQo+ICsgICAgICAgICAgICAgICBQ ZWlNZW1CYXNlLA0KPiArICAgICAgICAgICAgICAgUGVpTWVtU2l6ZSAtIFJlcXVpcmVkTWVtU2l6 ZQ0KPiArICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMp Ow0KPiArDQo+ICsgICAgaWYgKENhcHN1bGUgIT0gTlVMTCkgew0KPiArICAgICAgU3RhdHVzID0g Q2Fwc3VsZS0+Q3JlYXRlU3RhdGUgKFBlaVNlcnZpY2VzLCBDYXBzdWxlQnVmZmVyLA0KPiBDYXBz dWxlQnVmZmVyTGVuZ3RoKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBSZXBvcnQgR1VJRGVkIEhPQiBmb3IgcmVzZXJ2aW5nIFNNUkFNIHJlZ2lvbnMNCj4gKyAgLy8N Cj4gKyAgaWYgKEZvdW5kVHNlZ0hvYikgew0KPiArICAgIEVGSV9TTVJBTV9IT0JfREVTQ1JJUFRP Ul9CTE9DSyAgKlNtcmFtSG9iRGVzY3JpcHRvckJsb2NrOw0KPiArDQo+ICsgICAgU21yYW1Ib2JE ZXNjcmlwdG9yQmxvY2sgPSBCdWlsZEd1aWRIb2IgKA0KPiArICAgICAgICAgICAgICZnRWZpU21t UGVpU21yYW1NZW1vcnlSZXNlcnZlR3VpZCwNCj4gKyAgICAgICAgICAgICBzaXplb2YgKEVGSV9T TVJBTV9IT0JfREVTQ1JJUFRPUl9CTE9DSykNCj4gKyAgICAgICAgICAgICApOw0KPiArICAgIEFT U0VSVCAoU21yYW1Ib2JEZXNjcmlwdG9yQmxvY2sgIT0gTlVMTCk7DQo+ICsNCj4gKyAgICBTbXJh bUhvYkRlc2NyaXB0b3JCbG9jay0+TnVtYmVyT2ZTbW1SZXNlcnZlZFJlZ2lvbnMgPSAxOw0KPiAr DQo+ICsgICAgU21yYW1Ib2JEZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbMF0uUGh5c2ljYWxT dGFydCA9IFRzZWdCYXNlOw0KPiArICAgIFNtcmFtSG9iRGVzY3JpcHRvckJsb2NrLT5EZXNjcmlw dG9yWzBdLkNwdVN0YXJ0ICAgICAgPSBUc2VnQmFzZTsNCj4gKyAgICBTbXJhbUhvYkRlc2NyaXB0 b3JCbG9jay0+RGVzY3JpcHRvclswXS5QaHlzaWNhbFNpemUgID0gVHNlZ1NpemU7DQo+ICsgICAg U21yYW1Ib2JEZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbMF0uUmVnaW9uU3RhdGUgICA9DQo+ IEVGSV9TTVJBTV9DTE9TRUQ7DQo+ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiAr fQ0KPiArDQo+ICsvKioNCj4gKyAgQklPUyBwcm9jZXNzIEZzcEJvYkxpc3QgZm9yIG90aGVyIGRh dGEgKG5vdCBNZW1vcnkgUmVzb3VyY2UgRGVzY3JpcHRvcikuDQo+ICsNCj4gKyAgQHBhcmFtW2lu XSBGc3BIb2JMaXN0ICBQb2ludGVyIHRvIHRoZSBIT0IgZGF0YSBzdHJ1Y3R1cmUgcHJvZHVjZWQg YnkNCj4gRlNQLg0KPiArDQo+ICsgIEByZXR1cm4gSWYgcGxhdGZvcm0gcHJvY2VzcyB0aGUgRlNQ IGhvYiBsaXN0IHN1Y2Nlc3NmdWxseS4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJ DQo+ICtGc3BIb2JQcm9jZXNzRm9yT3RoZXJEYXRhICgNCj4gKyAgSU4gVk9JRCAgICAgICAgICAg ICAgICAgKkZzcEhvYkxpc3QNCj4gKyAgKQ0KPiArew0KPiArICBFRklfUEVJX1NFUlZJQ0VTICAg ICAqKlBlaVNlcnZpY2VzOw0KPiArDQo+ICsgIFBlaVNlcnZpY2VzID0gKEVGSV9QRUlfU0VSVklD RVMgKiopR2V0UGVpU2VydmljZXNUYWJsZVBvaW50ZXIgKCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gT3RoZXIgaG9iIGZvciBwbGF0Zm9ybQ0KPiArICAvLw0KPiArICBQbGF0Zm9ybUhvYkNyZWF0 ZUZyb21Gc3AgKChDT05TVCBFRklfUEVJX1NFUlZJQ0VTICoqKSBQZWlTZXJ2aWNlcywNCj4gRnNw SG9iTGlzdCk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsv KioNCj4gKyAgQklPUyBwcm9jZXNzIEZzcEJvYkxpc3QuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBG c3BIb2JMaXN0ICBQb2ludGVyIHRvIHRoZSBIT0IgZGF0YSBzdHJ1Y3R1cmUgcHJvZHVjZWQgYnkN Cj4gRlNQLg0KPiArDQo+ICsgIEByZXR1cm4gSWYgcGxhdGZvcm0gcHJvY2VzcyB0aGUgRlNQIGhv YiBsaXN0IHN1Y2Nlc3NmdWxseS4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtGc3BIb2JQcm9jZXNzICgNCj4gKyAgSU4gVk9JRCAgICAgICAgICAgICAgICAgKkZzcEhvYkxp c3QNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ICsNCj4gKyAgU3Rh dHVzID0gRnNwSG9iUHJvY2Vzc0Zvck1lbW9yeVJlc291cmNlIChGc3BIb2JMaXN0KTsNCj4gKyAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0N Cj4gKyAgU3RhdHVzID0gRnNwSG9iUHJvY2Vzc0Zvck90aGVyRGF0YSAoRnNwSG9iTGlzdCk7DQo+ ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9QZWlGc3BIb2JQcm9j ZXNzTGkNCj4gYlZsdjIvRnNwSG9iUHJvY2Vzc0xpYlZsdjIuaW5mDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1BlaUZzcEhvYlByb2Nlc3NM aQ0KPiBiVmx2Mi9Gc3BIb2JQcm9jZXNzTGliVmx2Mi5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYjc4OWIyN2Y0Yw0KPiAtLS0gL2Rldi9udWxsDQo+ICsr Kw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFy eS9QZWlGc3BIb2JQcm9jZXNzTGkNCj4gYlZsdjIvRnNwSG9iUHJvY2Vzc0xpYlZsdjIuaW5mDQo+ IEBAIC0wLDAgKzEsNzQgQEANCj4gKyMjIEBmaWxlDQo+ICsjDQo+ICsjICBDb3B5cmlnaHQgKGMp IDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMN Cj4gKyMgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsj DQo+ICsjIw0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gKyMNCj4gKyMg RGVmaW5lcyBTZWN0aW9uIC0gc3RhdGVtZW50cyB0aGF0IHdpbGwgYmUgcHJvY2Vzc2VkIHRvIGNy ZWF0ZSBhIE1ha2VmaWxlLg0KPiArIw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAx MDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBQZWlGc3BIb2JQcm9j ZXNzTGliVmx2Mg0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSBDN0I3MDcw Qi1FNUE4LTRiODYtOTExMC1CRENBMTA5NUY0OTYNCj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAg ICAgICAgICAgID0gU0VDDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEu MA0KPiArICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBGc3BIb2JQcm9jZXNzTGli DQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJl bmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0DQo+ICsjDQo+ICsN Cj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBTb3VyY2VzIFNlY3Rp b24gLSBsaXN0IG9mIGZpbGVzIHRoYXQgYXJlIHJlcXVpcmVkIGZvciB0aGUgYnVpbGQgdG8gc3Vj Y2VlZC4NCj4gKyMNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArDQo+ICtbU291 cmNlc10NCj4gKyAgRnNwSG9iUHJvY2Vzc0xpYlZsdjIuYw0KPiArDQo+ICsNCj4gKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBQYWNrYWdlIERlcGVuZGVuY3kgU2VjdGlv biAtIGxpc3Qgb2YgUGFja2FnZSBmaWxlcyB0aGF0IGFyZSByZXF1aXJlZCBmb3INCj4gKyMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzIG1vZHVsZS4NCj4gKyMNCj4gKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQ a2cuZGVjDQo+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ICsgIEludGVsRnJh bWV3b3JrUGtnL0ludGVsRnJhbWV3b3JrUGtnLmRlYw0KPiArICBJbnRlbEZyYW1ld29ya01vZHVs ZVBrZy9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy5kZWMNCj4gKyAgSW50ZWxGc3BQa2cvSW50ZWxG c3BQa2cuZGVjDQo+ICsgIEludGVsRnNwV3JhcHBlclBrZy9JbnRlbEZzcFdyYXBwZXJQa2cuZGVj DQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiArDQo+ICtbTGlicmFy eUNsYXNzZXNdDQo+ICsgIEJhc2VMaWINCj4gKyAgQmFzZU1lbW9yeUxpYg0KPiArICBIb2JMaWIN Cj4gKyAgRGVidWdMaWINCj4gKyAgRnNwUGxhdGZvcm1JbmZvTGliDQo+ICsgIFBlaVNlcnZpY2Vz TGliDQo+ICsgIFBlaVNlcnZpY2VzVGFibGVQb2ludGVyTGliDQo+ICsgIFBsYXRmb3JtRnNwTGli DQo+ICsNCj4gK1tQY2RdDQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkUGVpTWlu TWVtU2l6ZQ0KPiArICBnRnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZFBlaVJlY292ZXJ5TWlu TWVtU2l6ZQ0KPiArDQo+ICtbR3VpZHNdDQo+ICsgIGdGc3BSZXNlcnZlZE1lbW9yeVJlc291cmNl SG9iR3VpZA0KPiArICBnRWZpTWVtb3J5VHlwZUluZm9ybWF0aW9uR3VpZA0KPiArICBnRWZpU21t UGVpU21yYW1NZW1vcnlSZXNlcnZlR3VpZA0KPiArDQo+ICtbUHBpc10NCj4gKyAgZ1BlaUNhcHN1 bGVQcGlHdWlkDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9Gc3BQ bGF0Zm9ybVNlY0xpYlZsdjIuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL0ZzcFBsYXRm b3JtU2VjTGliVmx2Mi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLjJiMDNjZmFlYzkNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNM DQo+IGliVmx2Mi9Gc3BQbGF0Zm9ybVNlY0xpYlZsdjIuYw0KPiBAQCAtMCwwICsxLDE0NCBAQA0K PiArLyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8 UGlQZWkuaD4NCj4gKw0KPiArI2luY2x1ZGUgPFBwaS9TZWNQbGF0Zm9ybUluZm9ybWF0aW9uLmg+ DQo+ICsjaW5jbHVkZSA8UHBpL1NlY1BlcmZvcm1hbmNlLmg+DQo+ICsjaW5jbHVkZSA8UHBpL1Rl bXBvcmFyeVJhbVN1cHBvcnQuaD4NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvTG9jYWxBcGlj TGliLmg+DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGludGVyZmFjZSBjb252ZXlzIHN0YXRlIGlu Zm9ybWF0aW9uIG91dCBvZiB0aGUgU2VjdXJpdHkgKFNFQykgcGhhc2UNCj4gaW50byBQRUkuDQo+ ICsNCj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhl IFBFSSBTZXJ2aWNlcyBUYWJsZS4NCj4gKyAgQHBhcmFtICBTdHJ1Y3R1cmVTaXplICAgICAgICAg ICAgIFBvaW50ZXIgdG8gdGhlIHZhcmlhYmxlIGRlc2NyaWJpbmcgc2l6ZSBvZiB0aGUNCj4gaW5w dXQgYnVmZmVyLg0KPiArICBAcGFyYW0gIFBsYXRmb3JtSW5mb3JtYXRpb25SZWNvcmQgUG9pbnRl ciB0byB0aGUNCj4gRUZJX1NFQ19QTEFURk9STV9JTkZPUk1BVElPTl9SRUNPUkQuDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgIFRoZSBkYXRhIHdhcyBzdWNjZXNz ZnVsbHkgcmV0dXJuZWQuDQo+ICsgIEByZXR2YWwgRUZJX0JVRkZFUl9UT09fU01BTEwgICAgICBU aGUgYnVmZmVyIHdhcyB0b28gc21hbGwuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtTZWNQbGF0Zm9ybUluZm9ybWF0aW9uICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BF SV9TRVJWSUNFUyAgICAgICAgICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIE9V VCAgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqU3RydWN0dXJlU2l6ZSwN Cj4gKyAgICAgT1VUICAgRUZJX1NFQ19QTEFURk9STV9JTkZPUk1BVElPTl9SRUNPUkQNCj4gKlBs YXRmb3JtSW5mb3JtYXRpb25SZWNvcmQNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMg aW50ZXJmYWNlIGNvbnZleXMgcGVyZm9ybWFuY2UgaW5mb3JtYXRpb24gb3V0IG9mIHRoZSBTZWN1 cml0eSAoU0VDKQ0KPiBwaGFzZSBpbnRvIFBFSS4NCj4gKw0KPiArICBUaGlzIHNlcnZpY2UgaXMg cHVibGlzaGVkIGJ5IHRoZSBTRUMgcGhhc2UuIFRoZSBTRUMgcGhhc2UgaGFuZG9mZiBoYXMgYW4N Cj4gb3B0aW9uYWwNCj4gKyAgRUZJX1BFSV9QUElfREVTQ1JJUFRPUiBsaXN0IGFzIGl0cyBmaW5h bCBhcmd1bWVudCB3aGVuIGNvbnRyb2wgaXMgcGFzc2VkDQo+IGZyb20gU0VDIGludG8gdGhlDQo+ ICsgIFBFSSBGb3VuZGF0aW9uLiBBcyBzdWNoLCBpZiB0aGUgcGxhdGZvcm0gc3VwcG9ydHMgY29s bGVjdGluZyBwZXJmb3JtYW5jZQ0KPiBkYXRhIGluIFNFQywNCj4gKyAgdGhpcyBpbmZvcm1hdGlv biBpcyBlbmNhcHN1bGF0ZWQgaW50byB0aGUgZGF0YSBzdHJ1Y3R1cmUgYWJzdHJhY3RlZCBieSB0 aGlzDQo+IHNlcnZpY2UuDQo+ICsgIFRoaXMgaW5mb3JtYXRpb24gaXMgY29sbGVjdGVkIGZvciB0 aGUgYm9vdC1zdHJhcCBwcm9jZXNzb3IgKEJTUCkgb24gSUEtMzIuDQo+ICsNCj4gKyAgQHBhcmFt W2luXSAgUGVpU2VydmljZXMgIFRoZSBwb2ludGVyIHRvIHRoZSBQRUkgU2VydmljZXMgVGFibGUu DQo+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICBUaGUgcG9pbnRlciB0byB0aGlzIGluc3Rh bmNlIG9mIHRoZQ0KPiBQRUlfU0VDX1BFUkZPUk1BTkNFX1BQSS4NCj4gKyAgQHBhcmFtW291dF0g UGVyZm9ybWFuY2UgIFRoZSBwb2ludGVyIHRvIHBlcmZvcm1hbmNlIGRhdGEgY29sbGVjdGVkIGlu DQo+IFNFQyBwaGFzZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgVGhlIGRh dGEgd2FzIHN1Y2Nlc3NmdWxseSByZXR1cm5lZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVT DQo+ICtFRklBUEkNCj4gK1NlY0dldFBlcmZvcm1hbmNlICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BF SV9TRVJWSUNFUyAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiAgICAgICBQRUlfU0VD X1BFUkZPUk1BTkNFX1BQSSAgICpUaGlzLA0KPiArICBPVVQgICAgICBGSVJNV0FSRV9TRUNfUEVS Rk9STUFOQ0UgICpQZXJmb3JtYW5jZQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBz ZXJ2aWNlIG9mIHRoZSBURU1QT1JBUllfUkFNX1NVUFBPUlRfUFBJIHRoYXQgbWlncmF0ZXMNCj4g dGVtcG9yYXJ5IFJBTSBpbnRvDQo+ICsgIHBlcm1hbmVudCBtZW1vcnkuDQo+ICsNCj4gKyAgQHBh cmFtIFBlaVNlcnZpY2VzICAgICAgICAgICAgUG9pbnRlciB0byB0aGUgUEVJIFNlcnZpY2VzIFRh YmxlLg0KPiArICBAcGFyYW0gVGVtcG9yYXJ5TWVtb3J5QmFzZSAgICBTb3VyY2UgQWRkcmVzcyBp biB0ZW1wb3JhcnkgbWVtb3J5DQo+IGZyb20gd2hpY2ggdGhlIFNFQyBvciBQRUlNIHdpbGwgY29w eSB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcG9yYXJ5IFJBTSBj b250ZW50cy4NCj4gKyAgQHBhcmFtIFBlcm1hbmVudE1lbW9yeUJhc2UgICAgRGVzdGluYXRpb24g QWRkcmVzcyBpbiBwZXJtYW5lbnQNCj4gbWVtb3J5IGludG8gd2hpY2ggdGhlIFNFQyBvciBQRUlN IHdpbGwgY29weSB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcG9y YXJ5IFJBTSBjb250ZW50cy4NCj4gKyAgQHBhcmFtIENvcHlTaXplICAgICAgICAgICAgICAgQW1v dW50IG9mIG1lbW9yeSB0byBtaWdyYXRlIGZyb20gdGVtcG9yYXJ5DQo+IHRvIHBlcm1hbmVudCBt ZW1vcnkuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGRhdGEg d2FzIHN1Y2Nlc3NmdWxseSByZXR1cm5lZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJB TUVURVIgUGVybWFuZW50TWVtb3J5QmFzZSArIENvcHlTaXplID4NCj4gVGVtcG9yYXJ5TWVtb3J5 QmFzZSB3aGVuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBvcmFyeU1l bW9yeUJhc2UgPiBQZXJtYW5lbnRNZW1vcnlCYXNlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFU VVMNCj4gK0VGSUFQSQ0KPiArU2VjVGVtcG9yYXJ5UmFtU3VwcG9ydCAoDQo+ICsgIElOIENPTlNU IEVGSV9QRUlfU0VSVklDRVMgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUEhZU0lDQUxf QUREUkVTUyAgICAgVGVtcG9yYXJ5TWVtb3J5QmFzZSwNCj4gKyAgSU4gRUZJX1BIWVNJQ0FMX0FE RFJFU1MgICAgIFBlcm1hbmVudE1lbW9yeUJhc2UsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAg ICAgICAgICBDb3B5U2l6ZQ0KPiArICApOw0KPiArDQo+ICtFRklfU0VDX1BMQVRGT1JNX0lORk9S TUFUSU9OX1BQSSAgbVNlY1BsYXRmb3JtSW5mb3JtYXRpb25QcGkgPSB7DQo+ICsgIFNlY1BsYXRm b3JtSW5mb3JtYXRpb24NCj4gK307DQo+ICsNCj4gK1BFSV9TRUNfUEVSRk9STUFOQ0VfUFBJICBt U2VjUGVyZm9ybWFuY2VQcGkgPSB7DQo+ICsgIFNlY0dldFBlcmZvcm1hbmNlDQo+ICt9Ow0KPiAr DQo+ICtFRklfUEVJX1RFTVBPUkFSWV9SQU1fU1VQUE9SVF9QUEkgZ1NlY1RlbXBvcmFyeVJhbVN1 cHBvcnRQcGkNCj4gPSB7DQo+ICsgIFNlY1RlbXBvcmFyeVJhbVN1cHBvcnQNCj4gK307DQo+ICsN Cj4gK0VGSV9QRUlfUFBJX0RFU0NSSVBUT1IgIG1QZWlTZWNQbGF0Zm9ybVBwaVtdID0gew0KPiAr ICB7DQo+ICsgICAgRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9QUEksDQo+ICsgICAgJmdFZmlTZWNQ bGF0Zm9ybUluZm9ybWF0aW9uUHBpR3VpZCwNCj4gKyAgICAmbVNlY1BsYXRmb3JtSW5mb3JtYXRp b25QcGkNCj4gKyAgfSwNCj4gKyAgew0KPiArICAgIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJ LA0KPiArICAgICZnUGVpU2VjUGVyZm9ybWFuY2VQcGlHdWlkLA0KPiArICAgICZtU2VjUGVyZm9y bWFuY2VQcGkNCj4gKyAgfSwNCj4gKyAgew0KPiArICAgIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1Jf UFBJIHwNCj4gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCwNCj4gKyAgICAm Z0VmaVRlbXBvcmFyeVJhbVN1cHBvcnRQcGlHdWlkLA0KPiArICAgICZnU2VjVGVtcG9yYXJ5UmFt U3VwcG9ydFBwaQ0KPiArICB9LA0KPiArfTsNCj4gKw0KPiArLyoqDQo+ICsgIEEgZGV2ZWxvcGVy IHN1cHBsaWVkIGZ1bmN0aW9uIHRvIHBlcmZvcm0gcGxhdGZvcm0gc3BlY2lmaWMgb3BlcmF0aW9u cy4NCj4gKw0KPiArICBJdCdzIGEgZGV2ZWxvcGVyIHN1cHBsaWVkIGZ1bmN0aW9uIHRvIHBlcmZv cm0gYW55IG9wZXJhdGlvbnMgYXBwcm9wcmlhdGUNCj4gdG8gYQ0KPiArICBnaXZlbiBwbGF0Zm9y bS4gSXQncyBpbnZva2VkIGp1c3QgYmVmb3JlIHBhc3NpbmcgY29udHJvbCB0byBQRUkgY29yZSBi eSBTRUMNCj4gKyAgY29yZS4gUGxhdGZvcm0gZGV2ZWxvcGVyIG1heSBtb2RpZnkgdGhlIFNlY0Nv cmVEYXRhIHBhc3NlZCB0byBQRUkgQ29yZS4NCj4gKyAgSXQgcmV0dXJucyBhIHBsYXRmb3JtIHNw ZWNpZmljIFBQSSBsaXN0IHRoYXQgcGxhdGZvcm0gd2lzaGVzIHRvIHBhc3MgdG8gUEVJDQo+IGNv cmUuDQo+ICsgIFRoZSBHZW5lcmljIFNFQyBjb3JlIG1vZHVsZSB3aWxsIG1lcmdlIHRoaXMgbGlz dCB0byBqb2luIHRoZSBmaW5hbCBsaXN0IHBhc3NlZA0KPiB0bw0KPiArICBQRUkgY29yZS4NCj4g Kw0KPiArICBAcGFyYW0gIFNlY0NvcmVEYXRhICAgICAgICAgICBUaGUgc2FtZSBwYXJhbWV0ZXIg YXMgcGFzc2luZyB0byBQRUkgY29yZS4gSXQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgY291bGQgYmUgb3ZlcnJpZGRlbiBieSB0aGlzIGZ1bmN0aW9uLg0KPiArDQo+ICsgIEBy ZXR1cm4gVGhlIHBsYXRmb3JtIHNwZWNpZmljIFBQSSBsaXN0IHRvIGJlIHBhc3NlZCB0byBQRUkg Y29yZSBvcg0KPiArICAgICAgICAgIE5VTEwgaWYgdGhlcmUgaXMgbm8gbmVlZCBvZiBzdWNoIHBs YXRmb3JtIHNwZWNpZmljIFBQSSBsaXN0Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9QRUlfUFBJX0RF U0NSSVBUT1IgKg0KPiArRUZJQVBJDQo+ICtTZWNQbGF0Zm9ybU1haW4gKA0KPiArICBJTiBPVVQg ICBFRklfU0VDX1BFSV9IQU5EX09GRiAgICAgICAgKlNlY0NvcmVEYXRhDQo+ICsgICkNCj4gK3sN Cj4gKyAgRUZJX1BFSV9QUElfREVTQ1JJUFRPUiAgICAgICpQcGlMaXN0Ow0KPiArDQo+ICsgIElu aXRpYWxpemVBcGljVGltZXIgKDAsIChVSU5UMzIpIC0xLCBUUlVFLCA1KTsNCj4gKw0KPiArICBQ cGlMaXN0ID0gJm1QZWlTZWNQbGF0Zm9ybVBwaVswXTsNCj4gKw0KPiArICByZXR1cm4gUHBpTGlz dDsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL0ZzcFBs YXRmb3JtU2VjTGliVmx2Mi5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9Gc3BQbGF0 Zm9ybVNlY0xpYlZsdjIuaW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjU3ODA2NmQ5OGYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1T ZWNMDQo+IGliVmx2Mi9Gc3BQbGF0Zm9ybVNlY0xpYlZsdjIuaW5mDQo+IEBAIC0wLDAgKzEsODIg QEANCj4gKyMjIEBmaWxlDQo+ICsjDQo+ICsjICBDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gKyMgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjIw0KPiArDQo+ ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gKyMNCj4gKyMgRGVmaW5lcyBTZWN0aW9u IC0gc3RhdGVtZW50cyB0aGF0IHdpbGwgYmUgcHJvY2Vzc2VkIHRvIGNyZWF0ZSBhIE1ha2VmaWxl Lg0KPiArIw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICtbRGVmaW5lc10NCj4g KyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNF X05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBTZWNQZWlGc3BQbGF0Zm9ybVNlY0xpYlZsdjIN Cj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gNjY1Mzg3NkMtRjZBMS00NUJC LUEwMjctMjA0NTUwOTNCQzZEDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9 IFNFQw0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgTElC UkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gRnNwUGxhdGZvcm1TZWNMaWINCj4gKw0KPiAr Iw0KPiArIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBh bmQgbm90IHJlcXVpcmVkIGJ5IHRoZQ0KPiBidWlsZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElE X0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEzMiBYNjQNCj4gKyMNCj4gKw0KPiArIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICsjDQo+ICsjIFNvdXJjZXMgU2VjdGlvbiAtIGxpc3Qg b2YgZmlsZXMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yIHRoZSBidWlsZCB0byBzdWNjZWVkLg0KPiAr Iw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiAr ICBGc3BQbGF0Zm9ybVNlY0xpYlZsdjIuYw0KPiArICBTZWNSYW1Jbml0RGF0YS5jDQo+ICsgIFNh dmVTZWNDb250ZXh0LmMNCj4gKyAgU2VjUGxhdGZvcm1JbmZvcm1hdGlvbi5jDQo+ICsgIFNlY0dl dFBlcmZvcm1hbmNlLmMNCj4gKyAgU2VjVGVtcFJhbVN1cHBvcnQuYw0KPiArICBQbGF0Zm9ybUlu aXQuYw0KPiArICBVYXJ0SW5pdC5jDQo+ICsNCj4gK1tTb3VyY2VzLklBMzJdDQo+ICsgIElhMzIv U2VjRW50cnkuYXNtDQo+ICsgIElhMzIvUGVpQ29yZUVudHJ5LmFzbQ0KPiArICBJYTMyL0FzbVNh dmVTZWNDb250ZXh0LmFzbQ0KPiArICBJYTMyL1N0YWNrLmFzbQ0KPiArDQo+ICsjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gKyMNCj4gKyMgUGFja2FnZSBEZXBlbmRlbmN5IFNlY3Rpb24g LSBsaXN0IG9mIFBhY2thZ2UgZmlsZXMgdGhhdCBhcmUgcmVxdWlyZWQgZm9yDQo+ICsjICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdGhpcyBtb2R1bGUuDQo+ICsjDQo+ICsjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtn LmRlYw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBVZWZpQ3B1UGtn L1VlZmlDcHVQa2cuZGVjDQo+ICsgIEludGVsRnNwV3JhcHBlclBrZy9JbnRlbEZzcFdyYXBwZXJQ a2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgTG9jYWxBcGljTGliDQo+ICsg IFNlcmlhbFBvcnRMaWINCj4gKw0KPiArW1BwaXNdDQo+ICsgIGdFZmlTZWNQbGF0Zm9ybUluZm9y bWF0aW9uUHBpR3VpZA0KPiArICBnUGVpU2VjUGVyZm9ybWFuY2VQcGlHdWlkDQo+ICsgIGdFZmlU ZW1wb3JhcnlSYW1TdXBwb3J0UHBpR3VpZA0KPiArDQo+ICtbUGNkXQ0KPiArICBnRnNwV3JhcHBl clRva2VuU3BhY2VHdWlkLlBjZFBlaVRlbXBvcmFyeVJhbVN0YWNrU2l6ZQ0KPiArICBnRnNwV3Jh cHBlclRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZGc3BCYXNlDQo+ICsgIGdGc3BXcmFwcGVyVG9r ZW5TcGFjZUd1aWQuUGNkRmxhc2hGdkZzcFNpemUNCj4gKw0KPiArW0ZpeGVkUGNkXQ0KPiArICBn RnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZENwdU1pY3JvY29kZVBhdGNoQWRkcmVzcw0KPiAr ICBnRnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZENwdU1pY3JvY29kZVBhdGNoUmVnaW9uU2l6 ZQ0KPiArICBnRnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZEZsYXNoTWljcm9Db2RlT2Zmc2V0 DQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hDb2RlQ2FjaGVBZGRyZXNz DQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hDb2RlQ2FjaGVTaXplDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBw b3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9JYTMyL0FzbVNhdmVTZWND b250ZXh0LmFzbQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBv cnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL0lhMzIvQXNtU2F2ZVNlY0Nv bnRleHQuYXNtDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjI1 NDZhMDlhMWENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGli Vmx2Mi9JYTMyL0FzbVNhdmVTZWNDb250ZXh0LmFzbQ0KPiBAQCAtMCwwICsxLDQ1IEBADQo+ICs7 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7DQo+ICs7IENvcHlyaWdodCAoYykgMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArOyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArOw0KPiArOyBNb2R1bGUgTmFt ZToNCj4gKzsNCj4gKzsgIFNlY0VudHJ5LmFzbQ0KPiArOw0KPiArOyBBYnN0cmFjdDoNCj4gKzsN Cj4gKzsgIFRoaXMgaXMgdGhlIGNvZGUgdGhhdCBnb2VzIGZyb20gcmVhbC1tb2RlIHRvIHByb3Rl Y3RlZCBtb2RlLg0KPiArOyAgSXQgY29uc3VtZXMgdGhlIHJlc2V0IHZlY3RvciwgY2FsbHMgdHdv IGJhc2ljIEFQSXMgZnJvbSBGU1AgYmluYXJ5Lg0KPiArOw0KPiArOy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQ0KPiArDQo+ICsuNjg2cA0KPiArLnhtbQ0KPiArLm1vZGVsIGZsYXQsYw0KPiArLmNvZGUN Cj4gKw0KPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKzsgIE1NWCBVc2FnZToNCj4gKzsgICAg ICAgICAgICAgIE1NMCA9IEJJU1QgU3RhdGUNCj4gKzsgICAgICAgICAgICAgIE1NNSA9IFNhdmUg dGltZS1zdGFtcCBjb3VudGVyIHZhbHVlIGhpZ2gzMmJpdA0KPiArOyAgICAgICAgICAgICAgTU02 ID0gU2F2ZSB0aW1lLXN0YW1wIGNvdW50ZXIgdmFsdWUgbG93MzJiaXQuDQo+ICs7DQo+ICs7ICBJ dCBzaG91bGQgYmUgc2FtZSBhcyBTZWNFbnRyeS5hc20gYW5kIFBlaUNvcmVFbnRyeS5hc20uDQo+ ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICtBc21TYXZlQmlzdFZhbHVlICAgUFJPQyBQ VUJMSUMNCj4gKyAgbW92ICAgICBlYXgsIFtlc3ArNF0NCj4gKyAgbW92ZCAgICBtbTAsIGVheA0K PiArICByZXQNCj4gK0FzbVNhdmVCaXN0VmFsdWUgICBFTkRQDQo+ICsNCj4gK0FzbVNhdmVUaWNr ZXJWYWx1ZSAgIFBST0MgUFVCTElDDQo+ICsgIG1vdiAgICAgZWF4LCBbZXNwKzRdDQo+ICsgIG1v dmQgICAgbW02LCBlYXgNCj4gKyAgbW92ICAgICBlYXgsIFtlc3ArOF0NCj4gKyAgbW92ZCAgICBt bTUsIGVheA0KPiArICByZXQNCj4gK0FzbVNhdmVUaWNrZXJWYWx1ZSAgIEVORFANCj4gKw0KPiAr RU5EDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G c3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9JYTMyL0ZzcC5p bmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJh cnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9JYTMyL0ZzcC5pbmMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMjMyOTU1ODdiNA0KPiAtLS0gL2Rldi9u dWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBv cnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL0lhMzIvRnNwLmluYw0KPiBA QCAtMCwwICsxLDQ1IEBADQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7DQo+ICs7IENv cHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiArOw0KPiArOyBNb2R1bGUgTmFtZToNCj4gKzsNCj4gKzsgICBGc3AuaW5jDQo+ICs7DQo+ICs7 IEFic3RyYWN0Og0KPiArOw0KPiArOyAgIEZzcCByZWxhdGVkIGRlZmluaXRpb25zDQo+ICs7DQo+ ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKw0KPiArOw0KPiArOyBGdiBIZWFkZXIN Cj4gKzsNCj4gK0ZWSF9TSUdJTkFUVVJFX09GRlNFVCAgICAgICBFUVUgIDAyOGgNCj4gK0ZWSF9T SUdJTkFUVVJFX1ZBTElEX1ZBTFVFICBFUVUgIDA0ODU2NDY1RmggICAgOyB2YWxpZCBzaWduYXR1 cmU6X0ZWSA0KPiArRlZIX0hFQURFUl9MRU5HVEhfT0ZGU0VUICAgIEVRVSAgMDMwaA0KPiArRlZI X0VYVEhFQURFUl9PRkZTRVRfT0ZGU0VUIEVRVSAgMDM0aA0KPiArRlZIX0VYVEhFQURFUl9TSVpF X09GRlNFVCAgIEVRVSAgMDEwaA0KPiArDQo+ICs7DQo+ICs7IEZmcyBIZWFkZXINCj4gKzsNCj4g K0ZTUF9IRUFERVJfR1VJRF9EV09SRDEgICAgICBFUVUgIDA5MTI3NDBCRWgNCj4gK0ZTUF9IRUFE RVJfR1VJRF9EV09SRDIgICAgICBFUVUgIDA0NzM0MjI4NGgNCj4gK0ZTUF9IRUFERVJfR1VJRF9E V09SRDMgICAgICBFUVUgIDBCMDg0NzFCOWgNCj4gK0ZTUF9IRUFERVJfR1VJRF9EV09SRDQgICAg ICBFUVUgIDAwQzNGMzUyN2gNCj4gK0ZGU19IRUFERVJfU0laRV9WQUxVRSAgICAgICBFUVUgIDAx OGgNCj4gKw0KPiArOw0KPiArOyBTZWN0aW9uIEhlYWRlcg0KPiArOw0KPiArU0VDVElPTl9IRUFE RVJfVFlQRV9PRkZTRVQgIEVRVSAgMDNoDQo+ICtSQVdfU0VDVElPTl9IRUFERVJfU0laRV9WQUxV RSAgRVFVICAwNGgNCj4gKw0KPiArOw0KPiArOyBGc3AgSGVhZGVyDQo+ICs7DQo+ICtGU1BfSEVB REVSX0lNQUdFQkFTRV9PRkZTRVQgICBFUVUgIDAxQ2gNCj4gK0ZTUF9IRUFERVJfVEVNUFJBTUlO SVRfT0ZGU0VUIEVRVSAgMDMwaA0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTA0KPiBp YlZsdjIvSWEzMi9QZWlDb3JlRW50cnkuYXNtDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTA0KPiBpYlZsdjIv SWEzMi9QZWlDb3JlRW50cnkuYXNtDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjNkMzRjNjJlYTQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZv cm1TZWNMDQo+IGliVmx2Mi9JYTMyL1BlaUNvcmVFbnRyeS5hc20NCj4gQEAgLTAsMCArMSwxMzUg QEANCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKzsNCj4gKzsgQ29weXJpZ2h0IChjKSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICs7IFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICs7DQo+ICs7IE1v ZHVsZSBOYW1lOg0KPiArOw0KPiArOyAgU2VjRW50cnkuYXNtDQo+ICs7DQo+ICs7IEFic3RyYWN0 Og0KPiArOw0KPiArOyAgVGhpcyBpcyB0aGUgY29kZSB0aGF0IGdvZXMgZnJvbSByZWFsLW1vZGUg dG8gcHJvdGVjdGVkIG1vZGUuDQo+ICs7ICBJdCBjb25zdW1lcyB0aGUgcmVzZXQgdmVjdG9yLCBj YWxscyB0d28gYmFzaWMgQVBJcyBmcm9tIEZTUCBiaW5hcnkuDQo+ICs7DQo+ICs7LS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ICsNCj4gKy42ODZwDQo+ICsueG1tDQo+ICsubW9kZWwgZmxhdCwgYw0K PiArLmNvZGUNCj4gKw0KPiArRVhUUk4gICBTZWNTdGFydHVwOk5FQVINCj4gK0VYVFJOICAgUGxh dGZvcm1Jbml0Ok5FQVINCj4gKw0KPiArQ2FsbFBlaUNvcmVFbnRyeVBvaW50ICAgUFJPQyBQVUJM SUMNCj4gKyAgOw0KPiArICA7IE9idGFpbiB0aGUgaG9iIGxpc3QgcG9pbnRlcg0KPiArICA7DQo+ ICsgIG1vdiAgICAgZWF4LCBbZXNwKzRdDQo+ICsgIDsNCj4gKyAgOyBPYnRhaW4gdGhlIHN0YWNr IGluZm9ybWF0aW9uDQo+ICsgIDsgICBFQ1g6IHN0YXJ0IG9mIHJhbmdlDQo+ICsgIDsgICBFRFg6 IGVuZCBvZiByYW5nZQ0KPiArICA7DQo+ICsgIG1vdiAgICAgZWN4LCBbZXNwKzhdDQo+ICsgIG1v diAgICAgZWR4LCBbZXNwKzBDaF0NCj4gKw0KPiArICA7DQo+ICsgIDsgUGxhdGZvcm0gaW5pdA0K PiArICA7DQo+ICsgIHB1c2hhZA0KPiArICBwdXNoIGVkeA0KPiArICBwdXNoIGVjeA0KPiArICBw dXNoIGVheA0KPiArICBjYWxsIFBsYXRmb3JtSW5pdA0KPiArICBwb3AgIGVheA0KPiArICBwb3Ag IGVheA0KPiArICBwb3AgIGVheA0KPiArICBwb3BhZA0KPiArDQo+ICsgIDsNCj4gKyAgOyBTZXQg c3RhY2sgdG9wIHBvaW50ZXINCj4gKyAgOw0KPiArICBtb3YgICAgIGVzcCwgZWR4DQo+ICsNCj4g KyAgOw0KPiArICA7IFB1c2ggdGhlIGhvYiBsaXN0IHBvaW50ZXINCj4gKyAgOw0KPiArICBwdXNo ICAgIGVheA0KPiArDQo+ICsgIDsNCj4gKyAgOyBTYXZlIHRoZSB2YWx1ZQ0KPiArICA7ICAgRUNY OiBzdGFydCBvZiByYW5nZQ0KPiArICA7ICAgRURYOiBlbmQgb2YgcmFuZ2UNCj4gKyAgOw0KPiAr ICBtb3YgICAgIGVicCwgZXNwDQo+ICsgIHB1c2ggICAgZWN4DQo+ICsgIHB1c2ggICAgZWR4DQo+ ICsNCj4gKyAgOw0KPiArICA7IFB1c2ggcHJvY2Vzc29yIGNvdW50IHRvIHN0YWNrIGZpcnN0LCB0 aGVuIEJJU1Qgc3RhdHVzIChBUCB0aGVuIEJTUCkNCj4gKyAgOw0KPiArICBtb3YgICAgIGVheCwg MQ0KPiArICBjcHVpZA0KPiArICBzaHIgICAgIGVieCwgMTYNCj4gKyAgYW5kICAgICBlYngsIDAw MDAwMDBGRmgNCj4gKyAgY21wICAgICBibCwgMQ0KPiArICBqYWUgICAgIFB1c2hQcm9jZXNzb3JD b3VudA0KPiArDQo+ICsgIDsNCj4gKyAgOyBTb21lIHByb2Nlc3NvcnMgcmVwb3J0IDAgbG9naWNh bCBwcm9jZXNzb3JzLiAgRWZmZWN0aXZlbHkgMCA9IDEuDQo+ICsgIDsgU28gd2UgZml4IHVwIHRo ZSBwcm9jZXNzb3IgY291bnQNCj4gKyAgOw0KPiArICBpbmMgICAgIGVieA0KPiArDQo+ICtQdXNo UHJvY2Vzc29yQ291bnQ6DQo+ICsgIHB1c2ggICAgZWJ4DQo+ICsNCj4gKyAgOw0KPiArICA7IFdl IG5lZWQgdG8gaW1wbGVtZW50IGEgbG9uZy10ZXJtIHNvbHV0aW9uIGZvciBCSVNUIGNhcHR1cmUu ICBGb3Igbm93LA0KPiB3ZSBqdXN0IGNvcHkgQlNQIEJJU1QNCj4gKyAgOyBmb3IgYWxsIHByb2Nl c3NvciB0aHJlYWRzDQo+ICsgIDsNCj4gKyAgeG9yICAgICBlY3gsIGVjeA0KPiArICBtb3YgICAg IGNsLCBibA0KPiArUHVzaEJpc3Q6DQo+ICsgIG1vdmQgICAgZWF4LCBtbTANCj4gKyAgcHVzaCAg ICBlYXgNCj4gKyAgbG9vcCAgICBQdXNoQmlzdA0KPiArDQo+ICsgIDsgU2F2ZSBUaW1lLVN0YW1w IENvdW50ZXINCj4gKyAgbW92ZCBlYXgsIG1tNQ0KPiArICBwdXNoIGVheA0KPiArDQo+ICsgIG1v dmQgZWF4LCBtbTYNCj4gKyAgcHVzaCBlYXgNCj4gKw0KPiArICA7DQo+ICsgIDsgUGFzcyBlbnRy eSBwb2ludCBvZiB0aGUgUEVJIGNvcmUNCj4gKyAgOw0KPiArICBtb3YgICAgIGVkaSwgMEZGRkZG RkUwaA0KPiArICBwdXNoICAgIERXT1JEIFBUUiBkczpbZWRpXQ0KPiArDQo+ICsgIDsNCj4gKyAg OyBQYXNzIEJGViBpbnRvIHRoZSBQRUkgQ29yZQ0KPiArICA7DQo+ICsgIG1vdiAgICAgZWRpLCAw RkZGRkZGRkNoDQo+ICsgIHB1c2ggICAgRFdPUkQgUFRSIGRzOltlZGldDQo+ICsNCj4gKyAgOw0K PiArICA7IFBhc3Mgc3RhY2sgc2l6ZSBpbnRvIHRoZSBQRUkgQ29yZQ0KPiArICA7DQo+ICsgIG1v diAgICAgZWN4LCBbZWJwIC0gNF0NCj4gKyAgbW92ICAgICBlZHgsIFtlYnAgLSA4XQ0KPiArICBw dXNoICAgIGVjeCAgICAgICA7IFJhbUJhc2UNCj4gKw0KPiArICBzdWIgICAgIGVkeCwgZWN4DQo+ ICsgIHB1c2ggICAgZWR4ICAgICAgIDsgUmFtU2l6ZQ0KPiArDQo+ICsgIDsNCj4gKyAgOyBQYXNz IENvbnRyb2wgaW50byB0aGUgUEVJIENvcmUNCj4gKyAgOw0KPiArICBjYWxsIFNlY1N0YXJ0dXAN Cj4gK0NhbGxQZWlDb3JlRW50cnlQb2ludCAgIEVORFANCj4gKw0KPiArRU5EDQo+IGRpZmYgLS1n aXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJh cnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9JYTMyL1NlY0VudHJ5LmFzbQ0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQ bGF0Zm9ybVNlY0wNCj4gaWJWbHYyL0lhMzIvU2VjRW50cnkuYXNtDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmI3MDI2YzQzM2YNCj4gLS0tIC9kZXYvbnVsbA0K PiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xp YnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9JYTMyL1NlY0VudHJ5LmFzbQ0KPiBA QCAtMCwwICsxLDMzOCBAQA0KPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArOw0KPiArOyBD b3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gKzsgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKzsNCj4gKzsgTW9kdWxlIE5hbWU6DQo+ICs7DQo+ICs7ICBTZWNFbnRyeS5hc20NCj4gKzsN Cj4gKzsgQWJzdHJhY3Q6DQo+ICs7DQo+ICs7ICBUaGlzIGlzIHRoZSBjb2RlIHRoYXQgZ29lcyBm cm9tIHJlYWwtbW9kZSB0byBwcm90ZWN0ZWQgbW9kZS4NCj4gKzsgIEl0IGNvbnN1bWVzIHRoZSBy ZXNldCB2ZWN0b3IsIGNhbGxzIHR3byBiYXNpYyBBUElzIGZyb20gRlNQIGJpbmFyeS4NCj4gKzsN Cj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKyAgSU5DTFVERSBGc3AuaW5jDQo+ICsNCj4g Ky42ODZwDQo+ICsueG1tDQo+ICsubW9kZWwgc21hbGwsIGMNCj4gKw0KPiArRVhUUk4gICBDYWxs UGVpQ29yZUVudHJ5UG9pbnQ6TkVBUg0KPiArRVhUUk4gICBUZW1wUmFtSW5pdFBhcmFtczpGQVIN Cj4gKw0KPiArOyBQY2RzDQo+ICtFWFRSTiAgIFBjZEdldDMyIChQY2RGbGFzaEZ2RnNwQmFzZSk6 RFdPUkQNCj4gK0VYVFJOICAgUGNkR2V0MzIgKFBjZEZsYXNoRnZGc3BTaXplKTpEV09SRA0KPiAr DQo+ICtfVEVYVF9SRUFMTU9ERSAgICAgIFNFR01FTlQgUEFSQSBQVUJMSUMgVVNFMTYgJ0NPREUn DQo+ICsgICAgICAgICAgICAgICAgICAgIEFTU1VNRSAgQ1M6X1RFWFRfUkVBTE1PREUsIERTOl9U RVhUX1JFQUxNT0RFDQo+ICsNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7DQo+ICs7IFBy b2NlZHVyZTogICAgX01vZHVsZUVudHJ5UG9pbnQNCj4gKzsNCj4gKzsgSW5wdXQ6ICAgICAgICBO b25lDQo+ICs7DQo+ICs7IE91dHB1dDogICAgICAgTm9uZQ0KPiArOw0KPiArOyBEZXN0cm95czog ICAgIEFzc3VtZSBhbGwgcmVnaXN0ZXJzDQo+ICs7DQo+ICs7IERlc2NyaXB0aW9uOg0KPiArOw0K PiArOyAgIFRyYW5zaXRpb24gdG8gbm9uLXBhZ2VkIGZsYXQtbW9kZWwgcHJvdGVjdGVkIG1vZGUg ZnJvbSBhDQo+ICs7ICAgaGFyZC1jb2RlZCBHRFQgdGhhdCBwcm92aWRlcyBleGFjdGx5IHR3byBk ZXNjcmlwdG9ycy4NCj4gKzsgICBUaGlzIGlzIGEgYmFyZSBib25lcyB0cmFuc2l0aW9uIHRvIHBy b3RlY3RlZCBtb2RlIG9ubHkNCj4gKzsgICB1c2VkIGZvciBhIHdoaWxlIGluIFBFSSBhbmQgcG9z c2libHkgRFhFLg0KPiArOw0KPiArOyAgIEFmdGVyIGVuYWJsaW5nIHByb3RlY3RlZCBtb2RlLCBh IGZhciBqdW1wIGlzIGV4ZWN1dGVkIHRvDQo+ICs7ICAgdHJhbnNmZXIgdG8gUEVJIHVzaW5nIHRo ZSBuZXdseSBsb2FkZWQgR0RULg0KPiArOw0KPiArOyBSZXR1cm46ICAgICAgIE5vbmUNCj4gKzsN Cj4gKzsgIE1NWCBVc2FnZToNCj4gKzsgICAgICAgICAgICAgIE1NMCA9IEJJU1QgU3RhdGUNCj4g KzsgICAgICAgICAgICAgIE1NNSA9IFNhdmUgdGltZS1zdGFtcCBjb3VudGVyIHZhbHVlIGhpZ2gz MmJpdA0KPiArOyAgICAgICAgICAgICAgTU02ID0gU2F2ZSB0aW1lLXN0YW1wIGNvdW50ZXIgdmFs dWUgbG93MzJiaXQuDQo+ICs7DQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICthbGln biA0DQo+ICtfTW9kdWxlRW50cnlQb2ludCBQUk9DIE5FQVIgQyBQVUJMSUMNCj4gKyAgZm5pbml0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IGNsZWFyIGFueSBwZW5kaW5nIEZsb2F0 aW5nIHBvaW50IGV4Y2VwdGlvbnMNCj4gKyAgOw0KPiArICA7IFN0b3JlIHRoZSBCSVNUIHZhbHVl IGluIG1tMA0KPiArICA7DQo+ICsgIG1vdmQgICAgbW0wLCBlYXgNCj4gKw0KPiArICA7DQo+ICsg IDsgU2F2ZSB0aW1lLXN0YW1wIGNvdW50ZXIgdmFsdWUNCj4gKyAgOyByZHRzYyBsb2FkIDY0Yml0 IHRpbWUtc3RhbXAgY291bnRlciB0byBFRFg6RUFYDQo+ICsgIDsNCj4gKyAgcmR0c2MNCj4gKyAg bW92ZCAgICBtbTUsIGVkeA0KPiArICBtb3ZkICAgIG1tNiwgZWF4DQo+ICsNCj4gKyAgOw0KPiAr ICA7IExvYWQgdGhlIEdEVCB0YWJsZSBpbiBHZHREZXNjDQo+ICsgIDsNCj4gKyAgbW92ICAgICBl c2ksICBPRkZTRVQgR2R0RGVzYw0KPiArICBEQiAgICAgIDY2aA0KPiArICBsZ2R0ICAgIGZ3b3Jk IHB0ciBjczpbc2ldDQo+ICsNCj4gKyAgOw0KPiArICA7IFRyYW5zaXRpb24gdG8gMTYgYml0IHBy b3RlY3RlZCBtb2RlDQo+ICsgIDsNCj4gKyAgbW92ICAgICBlYXgsIGNyMCAgICAgICAgICAgICAg ICAgICA7IEdldCBjb250cm9sIHJlZ2lzdGVyIDANCj4gKyAgb3IgICAgICBlYXgsIDAwMDAwMDAz aCAgICAgICAgICAgICA7IFNldCBQRSBiaXQgKGJpdCAjMCkgJiBNUCBiaXQgKGJpdCAjMSkNCj4g KyAgbW92ICAgICBjcjAsIGVheCAgICAgICAgICAgICAgICAgICA7IEFjdGl2YXRlIHByb3RlY3Rl ZCBtb2RlDQo+ICsNCj4gKyAgbW92ICAgICBlYXgsIGNyNCAgICAgICAgICAgICAgICAgICA7IEdl dCBjb250cm9sIHJlZ2lzdGVyIDQNCj4gKyAgb3IgICAgICBlYXgsIDAwMDAwNjAwaCAgICAgICAg ICAgICA7IFNldCBPU0ZYU1IgYml0IChiaXQgIzkpICYgT1NYTU1FWENQVCBiaXQgKGJpdA0KPiAj MTApDQo+ICsgIG1vdiAgICAgY3I0LCBlYXgNCj4gKw0KPiArICA7DQo+ICsgIDsgTm93IHdlJ3Jl IGluIDE2IGJpdCBwcm90ZWN0ZWQgbW9kZQ0KPiArICA7IFNldCB1cCB0aGUgc2VsZWN0b3JzIGZv ciAzMiBiaXQgcHJvdGVjdGVkIG1vZGUgZW50cnkNCj4gKyAgOw0KPiArICBtb3YgICAgIGF4LCBT WVNfREFUQV9TRUwNCj4gKyAgbW92ICAgICBkcywgYXgNCj4gKyAgbW92ICAgICBlcywgYXgNCj4g KyAgbW92ICAgICBmcywgYXgNCj4gKyAgbW92ICAgICBncywgYXgNCj4gKyAgbW92ICAgICBzcywg YXgNCj4gKw0KPiArICA7DQo+ICsgIDsgVHJhbnNpdGlvbiB0byBGbGF0IDMyIGJpdCBwcm90ZWN0 ZWQgbW9kZQ0KPiArICA7IFRoZSBqdW1wIHRvIGEgZmFyIHBvaW50ZXIgY2F1c2VzIHRoZSB0cmFu c2l0aW9uIHRvIDMyIGJpdCBtb2RlDQo+ICsgIDsNCj4gKyAgbW92IGVzaSwgb2Zmc2V0IFByb3Rl Y3RlZE1vZGVFbnRyeUxpbmVhckFkZHJlc3MNCj4gKyAgam1wICAgICBmd29yZCBwdHIgY3M6W3Np XQ0KPiArDQo+ICtfTW9kdWxlRW50cnlQb2ludCAgIEVORFANCj4gK19URVhUX1JFQUxNT0RFICAg ICAgRU5EUw0KPiArDQo+ICtfVEVYVF9QUk9URUNURURfTU9ERSAgICAgIFNFR01FTlQgUEFSQSBQ VUJMSUMgVVNFMzIgJ0NPREUnDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEFTU1VNRSAg Q1M6X1RFWFRfUFJPVEVDVEVEX01PREUsDQo+IERTOl9URVhUX1BST1RFQ1RFRF9NT0RFDQo+ICsN Cj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7DQo+ICs7IFByb2NlZHVyZTogICAgUHJvdGVj dGVkTW9kZUVudHJ5UG9pbnQNCj4gKzsNCj4gKzsgSW5wdXQ6ICAgICAgICBOb25lDQo+ICs7DQo+ ICs7IE91dHB1dDogICAgICAgTm9uZQ0KPiArOw0KPiArOyBEZXN0cm95czogICAgIEFzc3VtZSBh bGwgcmVnaXN0ZXJzDQo+ICs7DQo+ICs7IERlc2NyaXB0aW9uOg0KPiArOw0KPiArOyBUaGlzIGZ1 bmN0aW9uIGhhbmRsZXM6DQo+ICs7ICAgQ2FsbCB0d28gYmFzaWMgQVBJcyBmcm9tIEZTUCBiaW5h cnkNCj4gKzsgICBJbml0aWFsaXplcyBzdGFjayB3aXRoIHNvbWUgZWFybHkgZGF0YSAoQklTVCwg UEVJIGVudHJ5LCBldGMpDQo+ICs7DQo+ICs7IFJldHVybjogICAgICAgTm9uZQ0KPiArOw0KPiAr Oy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArYWxpZ24gNA0KPiArUHJvdGVjdGVkTW9kZUVu dHJ5UG9pbnQgUFJPQyBORUFSIFBVQkxJQw0KPiArDQo+ICsgIDsgRmluZCB0aGUgZnNwIGluZm8g aGVhZGVyDQo+ICsgIG1vdiAgZWRpLCBQY2RHZXQzMiAoUGNkRmxhc2hGdkZzcEJhc2UpDQo+ICsg IG1vdiAgZWN4LCBQY2RHZXQzMiAoUGNkRmxhc2hGdkZzcFNpemUpDQo+ICsNCj4gKyAgbW92ICBl YXgsIGR3b3JkIHB0ciBbZWRpICsgRlZIX1NJR0lOQVRVUkVfT0ZGU0VUXQ0KPiArICBjbXAgIGVh eCwgRlZIX1NJR0lOQVRVUkVfVkFMSURfVkFMVUUNCj4gKyAgam56ICBGc3BIZWFkZXJOb3RGb3Vu ZA0KPiArDQo+ICsgIHhvciAgZWF4LCBlYXgNCj4gKyAgbW92ICBheCwgd29yZCBwdHIgW2VkaSAr IEZWSF9FWFRIRUFERVJfT0ZGU0VUX09GRlNFVF0NCj4gKyAgY21wICBheCwgMA0KPiArICBqbnog IEZzcEZ2RXh0SGVhZGVyRXhpc3QNCj4gKw0KPiArICB4b3IgIGVheCwgZWF4DQo+ICsgIG1vdiAg YXgsIHdvcmQgcHRyIFtlZGkgKyBGVkhfSEVBREVSX0xFTkdUSF9PRkZTRVRdICAgOyBCeXBhc3Mg RnYNCj4gSGVhZGVyDQo+ICsgIGFkZCAgZWRpLCBlYXgNCj4gKyAgam1wICBGc3BDaGVja0Zmc0hl YWRlcg0KPiArDQo+ICtGc3BGdkV4dEhlYWRlckV4aXN0Og0KPiArICBhZGQgIGVkaSwgZWF4DQo+ ICsgIG1vdiAgZWF4LCBkd29yZCBwdHIgW2VkaSArIEZWSF9FWFRIRUFERVJfU0laRV9PRkZTRVRd ICA7IEJ5cGFzcyBFeHQgRnYNCj4gSGVhZGVyDQo+ICsgIGFkZCAgZWRpLCBlYXgNCj4gKw0KPiAr ICA7IFJvdW5kIHVwIHRvIDggYnl0ZSBhbGlnbm1lbnQNCj4gKyAgbW92ICBlYXgsIGVkaQ0KPiAr ICBhbmQgIGFsLCAgMDdoDQo+ICsgIGp6IEZzcENoZWNrRmZzSGVhZGVyDQo+ICsNCj4gKyAgYW5k ICBlZGksIDBGRkZGRkZGOGgNCj4gKyAgYWRkICBlZGksIDA4aA0KPiArDQo+ICtGc3BDaGVja0Zm c0hlYWRlcjoNCj4gKyAgOyBDaGVjayB0aGUgZmZzIGd1aWQNCj4gKyAgbW92ICBlYXgsIGR3b3Jk IHB0ciBbZWRpXQ0KPiArICBjbXAgIGVheCwgRlNQX0hFQURFUl9HVUlEX0RXT1JEMQ0KPiArICBq bnogRnNwSGVhZGVyTm90Rm91bmQNCj4gKw0KPiArICBtb3YgIGVheCwgZHdvcmQgcHRyIFtlZGkg KyA0XQ0KPiArICBjbXAgIGVheCwgRlNQX0hFQURFUl9HVUlEX0RXT1JEMg0KPiArICBqbnogRnNw SGVhZGVyTm90Rm91bmQNCj4gKw0KPiArICBtb3YgIGVheCwgZHdvcmQgcHRyIFtlZGkgKyA4XQ0K PiArICBjbXAgIGVheCwgRlNQX0hFQURFUl9HVUlEX0RXT1JEMw0KPiArICBqbnogRnNwSGVhZGVy Tm90Rm91bmQNCj4gKw0KPiArICBtb3YgIGVheCwgZHdvcmQgcHRyIFtlZGkgKyAwQ2hdDQo+ICsg IGNtcCAgZWF4LCBGU1BfSEVBREVSX0dVSURfRFdPUkQ0DQo+ICsgIGpueiBGc3BIZWFkZXJOb3RG b3VuZA0KPiArDQo+ICsgIGFkZCAgZWRpLCBGRlNfSEVBREVSX1NJWkVfVkFMVUUgICAgICAgOyBC eXBhc3MgdGhlIGZmcyBoZWFkZXINCj4gKw0KPiArICA7IENoZWNrIHRoZSBzZWN0aW9uIHR5cGUg YXMgcmF3IHNlY3Rpb24NCj4gKyAgbW92ICBhbCwgYnl0ZSBwdHIgW2VkaSArIFNFQ1RJT05fSEVB REVSX1RZUEVfT0ZGU0VUXQ0KPiArICBjbXAgIGFsLCAwMTloDQo+ICsgIGpueiBGc3BIZWFkZXJO b3RGb3VuZA0KPiArDQo+ICsgIGFkZCAgZWRpLCBSQVdfU0VDVElPTl9IRUFERVJfU0laRV9WQUxV RSA7IEJ5cGFzcyB0aGUgc2VjdGlvbiBoZWFkZXINCj4gKyAgam1wIEZzcEhlYWRlckZvdW5kDQo+ ICsNCj4gK0ZzcEhlYWRlck5vdEZvdW5kOg0KPiArICBqbXAgICQNCj4gKw0KPiArRnNwSGVhZGVy Rm91bmQ6DQo+ICsgIDsgR2V0IHRoZSBmc3AgVGVtcFJhbUluaXQgQXBpIGFkZHJlc3MNCj4gKyAg bW92IGVheCwgZHdvcmQgcHRyIFtlZGkgKyBGU1BfSEVBREVSX0lNQUdFQkFTRV9PRkZTRVRdDQo+ ICsgIGFkZCBlYXgsIGR3b3JkIHB0ciBbZWRpICsgRlNQX0hFQURFUl9URU1QUkFNSU5JVF9PRkZT RVRdDQo+ICsNCj4gKyAgOyBTZXR1cCB0aGUgaGFyZGNvZGUgc3RhY2sNCj4gKyAgbW92IGVzcCwg T0ZGU0VUIFRlbXBSYW1Jbml0U3RhY2sNCj4gKw0KPiArICA7IENhbGwgdGhlIGZzcCBUZW1wUmFt SW5pdCBBcGkNCj4gKyAgam1wIGVheA0KPiArDQo+ICtUZW1wUmFtSW5pdERvbmU6DQo+ICsgIGNt cCBlYXgsIDANCj4gKyAgam56IEZzcEFwaUZhaWxlZA0KPiArDQo+ICsgIDsgICBFQ1g6IHN0YXJ0 IG9mIHJhbmdlDQo+ICsgIDsgICBFRFg6IGVuZCBvZiByYW5nZQ0KPiArICBtb3YgICAgIGVzcCwg ZWR4DQo+ICsgIHB1c2ggICAgZWR4DQo+ICsgIHB1c2ggICAgZWN4DQo+ICsgIHB1c2ggICAgZWF4 IDsgemVybyAtIG5vIGhvYiBsaXN0IHlldA0KPiArICBjYWxsIENhbGxQZWlDb3JlRW50cnlQb2lu dA0KPiArDQo+ICtGc3BBcGlGYWlsZWQ6DQo+ICsgIGptcCAkDQo+ICsNCj4gK2FsaWduIDEwaA0K PiArVGVtcFJhbUluaXRTdGFjazoNCj4gKyAgICBERCAgT0ZGU0VUIFRlbXBSYW1Jbml0RG9uZQ0K PiArICAgIEREICBPRkZTRVQgVGVtcFJhbUluaXRQYXJhbXMNCj4gKw0KPiArUHJvdGVjdGVkTW9k ZUVudHJ5UG9pbnQgRU5EUA0KPiArDQo+ICs7DQo+ICs7IFJPTS1iYXNlZCBHbG9iYWwtRGVzY3Jp cHRvciBUYWJsZSBmb3IgdGhlIFRpYW5vIFBFSSBQaGFzZQ0KPiArOw0KPiArYWxpZ24gMTYNCj4g K1BVQkxJQyAgQm9vdEdkdFRhYmxlDQo+ICsNCj4gKzsNCj4gKzsgR0RUWzBdOiAweDAwOiBOdWxs IGVudHJ5LCBuZXZlciB1c2VkLg0KPiArOw0KPiArTlVMTF9TRUwgICAgICAgICAgICBFUVUgJCAt IEdEVF9CQVNFICAgIDsgU2VsZWN0b3IgWzBdDQo+ICtHRFRfQkFTRToNCj4gK0Jvb3RHZHRUYWJs ZSAgICAgICAgREQgIDANCj4gKyAgICAgICAgICAgICAgICAgICAgREQgIDANCj4gKzsNCj4gKzsg TGluZWFyIGRhdGEgc2VnbWVudCBkZXNjcmlwdG9yDQo+ICs7DQo+ICtMSU5FQVJfU0VMICAgICAg ICAgIEVRVSAkIC0gR0RUX0JBU0UgICAgOyBTZWxlY3RvciBbMHg4XQ0KPiArICAgIERXICAwRkZG RmggICAgICAgICAgICAgICAgICAgICAgICAgIDsgbGltaXQgMHhGRkZGRg0KPiArICAgIERXICAw ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgYmFzZSAwDQo+ICsgICAgREIgIDANCj4g KyAgICBEQiAgMDkyaCAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IHByZXNlbnQsIHJpbmcg MCwgZGF0YSwgZXhwYW5kLXVwLCB3cml0YWJsZQ0KPiArICAgIERCICAwQ0ZoICAgICAgICAgICAg ICAgICAgICAgICAgICAgIDsgcGFnZS1ncmFudWxhciwgMzItYml0DQo+ICsgICAgREIgIDANCj4g KzsNCj4gKzsgTGluZWFyIGNvZGUgc2VnbWVudCBkZXNjcmlwdG9yDQo+ICs7DQo+ICtMSU5FQVJf Q09ERV9TRUwgICAgIEVRVSAkIC0gR0RUX0JBU0UgICAgOyBTZWxlY3RvciBbMHgxMF0NCj4gKyAg ICBEVyAgMEZGRkZoICAgICAgICAgICAgICAgICAgICAgICAgICA7IGxpbWl0IDB4RkZGRkYNCj4g KyAgICBEVyAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IGJhc2UgMA0KPiArICAg IERCICAwDQo+ICsgICAgREIgIDA5QmggICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBwcmVz ZW50LCByaW5nIDAsIGRhdGEsIGV4cGFuZC11cCwgbm90LXdyaXRhYmxlDQo+ICsgICAgREIgIDBD RmggICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBwYWdlLWdyYW51bGFyLCAzMi1iaXQNCj4g KyAgICBEQiAgMA0KPiArOw0KPiArOyBTeXN0ZW0gZGF0YSBzZWdtZW50IGRlc2NyaXB0b3INCj4g KzsNCj4gK1NZU19EQVRBX1NFTCAgICAgICAgRVFVICQgLSBHRFRfQkFTRSAgICA7IFNlbGVjdG9y IFsweDE4XQ0KPiArICAgIERXICAwRkZGRmggICAgICAgICAgICAgICAgICAgICAgICAgIDsgbGlt aXQgMHhGRkZGRg0KPiArICAgIERXICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsg YmFzZSAwDQo+ICsgICAgREIgIDANCj4gKyAgICBEQiAgMDkzaCAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7IHByZXNlbnQsIHJpbmcgMCwgZGF0YSwgZXhwYW5kLXVwLCBub3Qtd3JpdGFibGUN Cj4gKyAgICBEQiAgMENGaCAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IHBhZ2UtZ3JhbnVs YXIsIDMyLWJpdA0KPiArICAgIERCICAwDQo+ICsNCj4gKzsNCj4gKzsgU3lzdGVtIGNvZGUgc2Vn bWVudCBkZXNjcmlwdG9yDQo+ICs7DQo+ICtTWVNfQ09ERV9TRUwgICAgICAgIEVRVSAkIC0gR0RU X0JBU0UgICAgOyBTZWxlY3RvciBbMHgyMF0NCj4gKyAgICBEVyAgMEZGRkZoICAgICAgICAgICAg ICAgICAgICAgICAgICA7IGxpbWl0IDB4RkZGRkYNCj4gKyAgICBEVyAgMCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7IGJhc2UgMA0KPiArICAgIERCICAwDQo+ICsgICAgREIgIDA5QWgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBwcmVzZW50LCByaW5nIDAsIGRhdGEsIGV4cGFu ZC11cCwgd3JpdGFibGUNCj4gKyAgICBEQiAgMENGaCAgICAgICAgICAgICAgICAgICAgICAgICAg ICA7IHBhZ2UtZ3JhbnVsYXIsIDMyLWJpdA0KPiArICAgIERCICAwDQo+ICs7DQo+ICs7IFNwYXJl IHNlZ21lbnQgZGVzY3JpcHRvcg0KPiArOw0KPiArU1lTMTZfQ09ERV9TRUwgICAgICBFUVUgJCAt IEdEVF9CQVNFICAgIDsgU2VsZWN0b3IgWzB4MjhdDQo+ICsgICAgRFcgIDBGRkZGaCAgICAgICAg ICAgICAgICAgICAgICAgICAgOyBsaW1pdCAweEZGRkZGDQo+ICsgICAgRFcgIDAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgOyBiYXNlIDANCj4gKyAgICBEQiAgMEVoICAgICAgICAgICAg ICAgICAgICAgICAgICAgICA7IENoYW5nZWQgZnJvbSBGMDAwIHRvIEUwMDAuDQo+ICsgICAgREIg IDA5QmggICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBwcmVzZW50LCByaW5nIDAsIGNvZGUs IGV4cGFuZC11cCwgd3JpdGFibGUNCj4gKyAgICBEQiAgMDBoICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA7IGJ5dGUtZ3JhbnVsYXIsIDE2LWJpdA0KPiArICAgIERCICAwDQo+ICs7DQo+ICs7 IFNwYXJlIHNlZ21lbnQgZGVzY3JpcHRvcg0KPiArOw0KPiArU1lTMTZfREFUQV9TRUwgICAgICBF UVUgJCAtIEdEVF9CQVNFICAgIDsgU2VsZWN0b3IgWzB4MzBdDQo+ICsgICAgRFcgIDBGRkZGaCAg ICAgICAgICAgICAgICAgICAgICAgICAgOyBsaW1pdCAweEZGRkYNCj4gKyAgICBEVyAgMCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA7IGJhc2UgMA0KPiArICAgIERCICAwDQo+ICsgICAg REIgIDA5M2ggICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBwcmVzZW50LCByaW5nIDAsIGRh dGEsIGV4cGFuZC11cCwgbm90LXdyaXRhYmxlDQo+ICsgICAgREIgIDAwaCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgOyBieXRlLWdyYW51bGFyLCAxNi1iaXQNCj4gKyAgICBEQiAgMA0KPiAr DQo+ICs7DQo+ICs7IFNwYXJlIHNlZ21lbnQgZGVzY3JpcHRvcg0KPiArOw0KPiArU1BBUkU1X1NF TCAgICAgICAgICBFUVUgJCAtIEdEVF9CQVNFICAgIDsgU2VsZWN0b3IgWzB4MzhdDQo+ICsgICAg RFcgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBsaW1pdCAwDQo+ICsgICAgRFcg IDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOyBiYXNlIDANCj4gKyAgICBEQiAgMA0K PiArICAgIERCICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDsgcHJlc2VudCwgcmlu ZyAwLCBkYXRhLCBleHBhbmQtdXAsIHdyaXRhYmxlDQo+ICsgICAgREIgIDAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgOyBwYWdlLWdyYW51bGFyLCAzMi1iaXQNCj4gKyAgICBEQiAgMA0K PiArR0RUX1NJWkUgICAgICAgICAgICBFUVUgJCAtIEJvb3RHZHRUYWJsZSAgICA7IFNpemUsIGlu IGJ5dGVzDQo+ICsNCj4gKzsNCj4gKzsgR0RUIERlc2NyaXB0b3INCj4gKzsNCj4gK0dkdERlc2M6 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA7IEdEVCBkZXNjcmlwdG9yDQo+ICsgICAg RFcgIEdEVF9TSVpFIC0gMSAgICAgICAgICAgICAgICAgICAgOyBHRFQgbGltaXQNCj4gKyAgICBE RCAgT0ZGU0VUIEJvb3RHZHRUYWJsZSAgICAgICAgICAgICA7IEdEVCBiYXNlIGFkZHJlc3MNCj4g Kw0KPiArDQo+ICtQcm90ZWN0ZWRNb2RlRW50cnlMaW5lYXJBZGRyZXNzICAgTEFCRUwgICBGV09S RA0KPiArUHJvdGVjdGVkTW9kZUVudHJ5TGluZWFyT2Zmc2V0ICAgIExBQkVMICAgRFdPUkQNCj4g KyAgREQgICAgICBPRkZTRVQgUHJvdGVjdGVkTW9kZUVudHJ5UG9pbnQgIDsgT2Zmc2V0IG9mIG91 ciAzMiBiaXQgY29kZQ0KPiArICBEVyAgICAgIExJTkVBUl9DT0RFX1NFTA0KPiArDQo+ICtfVEVY VF9QUk9URUNURURfTU9ERSAgICBFTkRTDQo+ICtFTkQNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0 Zm9ybVNlY0wNCj4gaWJWbHYyL0lhMzIvU3RhY2suUw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJW bHYyL0lhMzIvU3RhY2suUw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi45YmQyOWNlMGY0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2Vj TA0KPiBpYlZsdjIvSWEzMi9TdGFjay5TDQo+IEBAIC0wLDAgKzEsNzEgQEANCj4gKyMtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjIEFic3RyYWN0Og0KPiArIw0K PiArIyAgIFN3aXRjaCB0aGUgc3RhY2sgZnJvbSB0ZW1wb3JhcnkgbWVtb3J5IHRvIHBlcm1lbmVu dCBtZW1vcnkuDQo+ICsjDQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKw0KPiAr Iy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArIyBWT0lEDQo+ICsjIEVGSUFQSQ0KPiArIyBTZWNT d2l0Y2hTdGFjayAoDQo+ICsjICAgVUlOVDMyICAgVGVtcG9yYXJ5TWVtb3J5QmFzZSwNCj4gKyMg ICBVSU5UMzIgICBQZXJtZW5lbnRNZW1vcnlCYXNlDQo+ICsjICAgKSMNCj4gKyMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gK0FTTV9HTE9CQUwgQVNNX1BGWCAoU2VjU3dpdGNoU3RhY2spDQo+ICtB U01fUEZYKFNlY1N3aXRjaFN0YWNrKToNCj4gKyAgICAjDQo+ICsgICAgIyBTYXZlIHN0YW5kYXJk IHJlZ2lzdGVycyBzbyB0aGV5IGNhbiBiZSB1c2VkIHRvIGNoYW5nZSBzdGFjaw0KPiArICAgICMN Cj4gKyAgICBwdXNobCAlZWF4DQo+ICsgICAgcHVzaGwgJWVieA0KPiArICAgIHB1c2hsICVlY3gN Cj4gKyAgICBwdXNobCAlZWR4DQo+ICsNCj4gKyAgICAjDQo+ICsgICAgIyAhIUNBVVRJT04hISB0 aGlzIGZ1bmN0aW9uIGFkZHJlc3MncyBpcyBwdXNoZWQgaW50byBzdGFjayBhZnRlcg0KPiArICAg ICMgbWlncmF0aW9uIG9mIHdob2xlIHRlbXBvcmFyeSBtZW1vcnksIHNvIG5lZWQgc2F2ZSBpdCB0 byBwZXJtZW5lbnQNCj4gKyAgICAjIG1lbW9yeSBhdCBmaXJzdCENCj4gKyAgICAjDQo+ICsgICAg bW92bCAgMjAoJWVzcCksICVlYnggICAgICAgICAjIFNhdmUgdGhlIGZpcnN0IHBhcmFtZXRlcg0K PiArICAgIG1vdmwgIDI0KCVlc3ApLCAlZWN4ICAgICAgICAgIyBTYXZlIHRoZSBzZWNvbmQgcGFy YW1ldGVyDQo+ICsNCj4gKyAgICAjDQo+ICsgICAgIyBTYXZlIHRoaXMgZnVuY3Rpb24ncyByZXR1 cm4gYWRkcmVzcyBpbnRvIHBlcm1lbmVudCBtZW1vcnkgYXQgZmlyc3QuDQo+ICsgICAgIyBUaGVu LCBGaXh1cCB0aGUgZXNwIHBvaW50IHRvIHBlcm1lbmVudCBtZW1vcnkNCj4gKyAgICAjDQo+ICsg ICAgbW92bCAgJWVzcCwgJWVheA0KPiArICAgIHN1YmwgICVlYngsICVlYXgNCj4gKyAgICBhZGRs ICAlZWN4LCAlZWF4DQo+ICsgICAgbW92bCAgMCglZXNwKSwgJWVkeCAgICAgICAgICAjIGNvcHkg cHVzaGVkIHJlZ2lzdGVyJ3MgdmFsdWUgdG8gcGVybWVuZW50DQo+IG1lbW9yeQ0KPiArICAgIG1v dmwgICVlZHgsIDAoJWVheCkNCj4gKyAgICBtb3ZsICA0KCVlc3ApLCAlZWR4DQo+ICsgICAgbW92 bCAgJWVkeCwgNCglZWF4KQ0KPiArICAgIG1vdmwgIDgoJWVzcCksICVlZHgNCj4gKyAgICBtb3Zs ICAlZWR4LCA4KCVlYXgpDQo+ICsgICAgbW92bCAgMTIoJWVzcCksICVlZHgNCj4gKyAgICBtb3Zs ICAlZWR4LCAxMiglZWF4KQ0KPiArICAgIG1vdmwgIDE2KCVlc3ApLCAlZWR4ICAgICAgICAjIFVw ZGF0ZSB0aGlzIGZ1bmN0aW9uJ3MgcmV0dXJuIGFkZHJlc3MgaW50bw0KPiBwZXJtZW5lbnQgbWVt b3J5DQo+ICsgICAgbW92bCAgJWVkeCwgMTYoJWVheCkNCj4gKyAgICBtb3ZsICAlZWF4LCAlZXNw ICAgICAgICAgICAgIyBGcm9tIG5vdywgZXNwIGlzIHBvaW50ZWQgdG8gcGVybWVuZW50DQo+IG1l bW9yeQ0KPiArDQo+ICsgICAgIw0KPiArICAgICMgRml4dXAgdGhlIGVicCBwb2ludCB0byBwZXJt ZW5lbnQgbWVtb3J5DQo+ICsgICAgIw0KPiArICAgIG1vdmwgICVlYnAsICVlYXgNCj4gKyAgICBz dWJsICAlZWJ4LCAlZWF4DQo+ICsgICAgYWRkbCAgJWVjeCwgJWVheA0KPiArICAgIG1vdmwgICVl YXgsICVlYnAgICAgICAgICAgICAjIEZyb20gbm93LCBlYnAgaXMgcG9pbnRlZCB0byBwZXJtZW5l bnQNCj4gbWVtb3J5DQo+ICsNCj4gKyAgICBwb3BsICAlZWR4DQo+ICsgICAgcG9wbCAgJWVjeA0K PiArICAgIHBvcGwgICVlYngNCj4gKyAgICBwb3BsICAlZWF4DQo+ICsgICAgcmV0DQo+ICsNCj4g ZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBv cnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL0lhMzIvU3RhY2suYXNtDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1Nl Y0ZzcFBsYXRmb3JtU2VjTA0KPiBpYlZsdjIvSWEzMi9TdGFjay5hc20NCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTVlNTZjZWM5Yg0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQv TGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL0lhMzIvU3RhY2suYXNtDQo+IEBA IC0wLDAgKzEsNzYgQEANCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKzsNCj4gKzsgQ29w eXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICs7IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICs7DQo+ICs7IEFic3RyYWN0Og0KPiArOw0KPiArOyAgIFN3aXRjaCB0aGUgc3RhY2sgZnJvbSB0 ZW1wb3JhcnkgbWVtb3J5IHRvIHBlcm1lbmVudCBtZW1vcnkuDQo+ICs7DQo+ICs7LS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ICsNCj4gKyAgICAuNTg2cA0KPiArICAgIC5tb2RlbCAgZmxhdCxDDQo+ ICsgICAgLmNvZGUNCj4gKw0KPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArOyBWT0lEDQo+ ICs7IEVGSUFQSQ0KPiArOyBTZWNTd2l0Y2hTdGFjayAoDQo+ICs7ICAgVUlOVDMyICAgVGVtcG9y YXJ5TWVtb3J5QmFzZSwNCj4gKzsgICBVSU5UMzIgICBQZXJtZW5lbnRNZW1vcnlCYXNlDQo+ICs7 ICAgKTsNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gK1NlY1N3aXRjaFN0YWNrICAgUFJP Qw0KPiArICAgIDsNCj4gKyAgICA7IFNhdmUgdGhyZWUgcmVnaXN0ZXI6IGVheCwgZWJ4LCBlY3gN Cj4gKyAgICA7DQo+ICsgICAgcHVzaCAgZWF4DQo+ICsgICAgcHVzaCAgZWJ4DQo+ICsgICAgcHVz aCAgZWN4DQo+ICsgICAgcHVzaCAgZWR4DQo+ICsNCj4gKyAgICA7DQo+ICsgICAgOyAhIUNBVVRJ T04hISB0aGlzIGZ1bmN0aW9uIGFkZHJlc3MncyBpcyBwdXNoZWQgaW50byBzdGFjayBhZnRlcg0K PiArICAgIDsgbWlncmF0aW9uIG9mIHdob2xlIHRlbXBvcmFyeSBtZW1vcnksIHNvIG5lZWQgc2F2 ZSBpdCB0byBwZXJtZW5lbnQNCj4gKyAgICA7IG1lbW9yeSBhdCBmaXJzdCENCj4gKyAgICA7DQo+ ICsNCj4gKyAgICBtb3YgICBlYngsIFtlc3AgKyAyMF0gICAgICAgICAgOyBTYXZlIHRoZSBmaXJz dCBwYXJhbWV0ZXINCj4gKyAgICBtb3YgICBlY3gsIFtlc3AgKyAyNF0gICAgICAgICAgOyBTYXZl IHRoZSBzZWNvbmQgcGFyYW1ldGVyDQo+ICsNCj4gKyAgICA7DQo+ICsgICAgOyBTYXZlIHRoaXMg ZnVuY3Rpb24ncyByZXR1cm4gYWRkcmVzcyBpbnRvIHBlcm1lbmVudCBtZW1vcnkgYXQgZmlyc3Qu DQo+ICsgICAgOyBUaGVuLCBGaXh1cCB0aGUgZXNwIHBvaW50IHRvIHBlcm1lbmVudCBtZW1vcnkN Cj4gKyAgICA7DQo+ICsgICAgbW92ICAgZWF4LCBlc3ANCj4gKyAgICBzdWIgICBlYXgsIGVieA0K PiArICAgIGFkZCAgIGVheCwgZWN4DQo+ICsgICAgbW92ICAgZWR4LCBkd29yZCBwdHIgW2VzcF0g ICAgICAgICA7IGNvcHkgcHVzaGVkIHJlZ2lzdGVyJ3MgdmFsdWUgdG8NCj4gcGVybWVuZW50IG1l bW9yeQ0KPiArICAgIG1vdiAgIGR3b3JkIHB0ciBbZWF4XSwgZWR4DQo+ICsgICAgbW92ICAgZWR4 LCBkd29yZCBwdHIgW2VzcCArIDRdDQo+ICsgICAgbW92ICAgZHdvcmQgcHRyIFtlYXggKyA0XSwg ZWR4DQo+ICsgICAgbW92ICAgZWR4LCBkd29yZCBwdHIgW2VzcCArIDhdDQo+ICsgICAgbW92ICAg ZHdvcmQgcHRyIFtlYXggKyA4XSwgZWR4DQo+ICsgICAgbW92ICAgZWR4LCBkd29yZCBwdHIgW2Vz cCArIDEyXQ0KPiArICAgIG1vdiAgIGR3b3JkIHB0ciBbZWF4ICsgMTJdLCBlZHgNCj4gKyAgICBt b3YgICBlZHgsIGR3b3JkIHB0ciBbZXNwICsgMTZdICAgIDsgVXBkYXRlIHRoaXMgZnVuY3Rpb24n cyByZXR1cm4gYWRkcmVzcw0KPiBpbnRvIHBlcm1lbmVudCBtZW1vcnkNCj4gKyAgICBtb3YgICBk d29yZCBwdHIgW2VheCArIDE2XSwgZWR4DQo+ICsgICAgbW92ICAgZXNwLCBlYXggICAgICAgICAg ICAgICAgICAgICA7IEZyb20gbm93LCBlc3AgaXMgcG9pbnRlZCB0byBwZXJtZW5lbnQNCj4gbWVt b3J5DQo+ICsNCj4gKyAgICA7DQo+ICsgICAgOyBGaXh1cCB0aGUgZWJwIHBvaW50IHRvIHBlcm1l bmVudCBtZW1vcnkNCj4gKyAgICA7DQo+ICsgICAgbW92ICAgZWF4LCBlYnANCj4gKyAgICBzdWIg ICBlYXgsIGVieA0KPiArICAgIGFkZCAgIGVheCwgZWN4DQo+ICsgICAgbW92ICAgZWJwLCBlYXgg ICAgICAgICAgICAgICAgOyBGcm9tIG5vdywgZWJwIGlzIHBvaW50ZWQgdG8gcGVybWVuZW50IG1l bW9yeQ0KPiArDQo+ICsgICAgcG9wICAgZWR4DQo+ICsgICAgcG9wICAgZWN4DQo+ICsgICAgcG9w ICAgZWJ4DQo+ICsgICAgcG9wICAgZWF4DQo+ICsgICAgcmV0DQo+ICtTZWNTd2l0Y2hTdGFjayAg IEVORFANCj4gKw0KPiArICAgIEVORA0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTA0K PiBpYlZsdjIvUGxhdGZvcm1Jbml0LmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9QbGF0 Zm9ybUluaXQuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5k NGUxYzJhNDI1DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTA0KPiBp YlZsdjIvUGxhdGZvcm1Jbml0LmMNCj4gQEAgLTAsMCArMSwzNiBAQA0KPiArLyoqIEBmaWxlDQo+ ICsgIFRoaXMgUEVJTSB3aWxsIHBhcnNlIHRoZSBob2JsaXN0IGZyb20gZnNwIGFuZCByZXBvcnQg dGhlbSBpbnRvIHBlaSBjb3JlLg0KPiArICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIG1haW4gZW50 cnlwb2ludCBvZiB0aGUgUEVJTS4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKw0K PiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0K PiArI2luY2x1ZGUgPExpYnJhcnkvU2VyaWFsUG9ydExpYi5oPg0KPiArDQo+ICtWT0lEIEVuYWJs ZUludGVybmFsVWFydCAoKTsNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtQbGF0Zm9ybUlu aXQgKA0KPiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAqRnNwSG9iTGlzdCwNCj4gKyAgSU4g Vk9JRCAgICAgICAgICAgICAgICAgKlN0YXJ0T2ZSYW5nZSwNCj4gKyAgSU4gVk9JRCAgICAgICAg ICAgICAgICAgKkVuZE9mUmFuZ2UNCj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBQbGF0 Zm9ybSBpbml0aWFsaXphdGlvbg0KPiArICAvLyBFbmFibGUgU2VyaWFsIHBvcnQgaGVyZQ0KPiAr ICAvLw0KPiArICBFbmFibGVJbnRlcm5hbFVhcnQgKCk7DQo+ICsgIFNlcmlhbFBvcnRJbml0aWFs aXplICgpOw0KPiArDQo+ICsgIERFQlVHICgoREVCVUdfSU5GTywgIlBsYXRmb3JtSW5pdFxuIikp Ow0KPiArICBERUJVRyAoKERFQlVHX0lORk8sICJGc3BIb2JMaXN0IC0gMHgleFxuIiwgRnNwSG9i TGlzdCkpOw0KPiArICBERUJVRyAoKERFQlVHX0lORk8sICJTdGFydE9mUmFuZ2UgLSAweCV4XG4i LCBTdGFydE9mUmFuZ2UpKTsNCj4gKyAgREVCVUcgKChERUJVR19JTkZPLCAiRW5kT2ZSYW5nZSAt IDB4JXhcbiIsIEVuZE9mUmFuZ2UpKTsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9y bVNlY0wNCj4gaWJWbHYyL1NhdmVTZWNDb250ZXh0LmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGli Vmx2Mi9TYXZlU2VjQ29udGV4dC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjM4MmU2MTdiMjcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZv cm1TZWNMDQo+IGliVmx2Mi9TYXZlU2VjQ29udGV4dC5jDQo+IEBAIC0wLDAgKzEsMTA4IEBADQo+ ICsvKiogQGZpbGUNCj4gKyAgVGhpcyBQRUlNIHdpbGwgcGFyc2UgdGhlIGhvYmxpc3QgZnJvbSBm c3AgYW5kIHJlcG9ydCB0aGVtIGludG8gcGVpIGNvcmUuDQo+ICsgIFRoaXMgZmlsZSBjb250YWlu cyB0aGUgbWFpbiBlbnRyeXBvaW50IG9mIHRoZSBQRUlNLg0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAr ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsq Ki8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSA8UGlQZWkuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0RlYnVnTGliLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxQcGkvVG9wT2ZUZW1wb3JhcnlSYW0uaD4N Cj4gKyNpbmNsdWRlIDxQcGkvU2VjUGxhdGZvcm1JbmZvcm1hdGlvbi5oPg0KPiArDQo+ICsvKioN Cj4gKyAgU2F2ZSBCSVNUIHZhbHVlIGJlZm9yZSBjYWxsIEZzcEluaXQuDQo+ICsNCj4gKyAgQHBh cmFtIEJpc3QgICBCSVNUIHZhbHVlLg0KPiArKiovDQo+ICtWT0lEDQo+ICtBc21TYXZlQmlzdFZh bHVlICgNCj4gKyAgSU4gVUlOVDMyICBCaXN0DQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBT YXZlIFRpY2tlciB2YWx1ZSBiZWZvcmUgY2FsbCBGc3BJbml0Lg0KPiArDQo+ICsgIEBwYXJhbSBU aWNrZXIgICBUaWNrZXIgdmFsdWUuDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0FzbVNhdmVUaWNrZXJW YWx1ZSAoDQo+ICsgIElOIFVJTlQ2NCAgVGlja2VyDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiAr ICBTYXZlIFNFQyBjb250ZXh0IGJlZm9yZSBjYWxsIEZzcEluaXQuDQo+ICsNCj4gKyAgQHBhcmFt IFBlaVNlcnZpY2VzICBQb2ludGVyIHRvIFBFSSBTZXJ2aWNlcyBUYWJsZS4NCj4gKyoqLw0KPiAr Vk9JRA0KPiArRUZJQVBJDQo+ICtTYXZlU2VjQ29udGV4dCAoDQo+ICsgIElOIENPTlNUIEVGSV9Q RUlfU0VSVklDRVMgICAgICAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzDQo+ICsgICkNCj4g K3sNCj4gKyAgVUlOVDMyICAgICAgKkJpc3Q7DQo+ICsgIFVJTlQ2NCAgICAgICpUaWNrZXI7DQo+ ICsgIFVJTlQzMiAgICAgIFNpemU7DQo+ICsgIFVJTlQzMiAgICAgIENvdW50Ow0KPiArICBVSU5U MzIgICAgICBUb3BPZlRlbXBvcmFyeVJhbTsNCj4gKyAgVk9JRCAgICAgICAgKlRvcE9mVGVtcG9y YXJ5UmFtUHBpOw0KPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ICsNCj4gKyAgREVCVUcgKChE RUJVR19JTkZPLCAiU2F2ZVNlY0NvbnRleHQgLSAweCV4XG4iLCBQZWlTZXJ2aWNlcykpOw0KPiAr DQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5Mb2NhdGVQcGkgKA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmdUb3BPZlRlbXBvcmFyeVJhbVBwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmVG9wT2ZUZW1wb3JhcnlS YW1QcGkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9F UlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiA7DQo+ICsgIH0NCj4gKw0KPiArICBERUJV RyAoKERFQlVHX0lORk8sICJUb3BPZlRlbXBvcmFyeVJhbVBwaSAtIDB4JXhcbiIsDQo+IFRvcE9m VGVtcG9yYXJ5UmFtUHBpKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIGVudHJpZXMgb2Yg QklTVCBpbmZvcm1hdGlvbiwgdG9nZXRoZXIgd2l0aCB0aGUgbnVtYmVyIG9mIHRoZW0sDQo+ICsg IC8vIHJlc2lkZSBpbiB0aGUgYm90dG9tIG9mIHN0YWNrLCBsZWZ0IHVudG91Y2hlZCBieSBub3Jt YWwgc3RhY2sgb3BlcmF0aW9uLg0KPiArICAvLyBUaGlzIHJvdXRpbmUgY29waWVzIHRoZSBCSVNU IGluZm9ybWF0aW9uIHRvIHRoZSBidWZmZXIgcG9pbnRlZCBieQ0KPiArICAvLyBQbGF0Zm9ybUlu Zm9ybWF0aW9uUmVjb3JkIGZvciBvdXRwdXQuDQo+ICsgIC8vDQo+ICsgIC8vIHwtLS0tLS0tLS0t LS0tLXwgPC0gVG9wT2ZUZW1wb3JhcnlSYW0NCj4gKyAgLy8gfE51bWJlciBvZiBCU1BzfA0KPiAr ICAvLyB8LS0tLS0tLS0tLS0tLS18DQo+ICsgIC8vIHwgICAgIEJJU1QgICAgIHwNCj4gKyAgLy8g fC0tLS0tLS0tLS0tLS0tfA0KPiArICAvLyB8ICAgICAuLi4uICAgICB8DQo+ICsgIC8vIHwtLS0t LS0tLS0tLS0tLXwNCj4gKyAgLy8gfCAgVFNDWzYzOjMyXSAgfA0KPiArICAvLyB8LS0tLS0tLS0t LS0tLS18DQo+ICsgIC8vIHwgIFRTQ1szMTowMF0gIHwNCj4gKyAgLy8gfC0tLS0tLS0tLS0tLS0t fA0KPiArICAvLw0KPiArDQo+ICsgIFRvcE9mVGVtcG9yYXJ5UmFtID0gKFVJTlQzMikoVUlOVE4p VG9wT2ZUZW1wb3JhcnlSYW1QcGkgLQ0KPiBzaXplb2YoVUlOVDMyKTsNCj4gKyAgVG9wT2ZUZW1w b3JhcnlSYW0gLT0gc2l6ZW9mKFVJTlQzMikgKiAyOw0KPiArICBERUJVRyAoKERFQlVHX0lORk8s ICJUb3BPZlRlbXBvcmFyeVJhbSAtIDB4JXhcbiIsDQo+IFRvcE9mVGVtcG9yYXJ5UmFtKSk7DQo+ ICsgIENvdW50ICAgICAgICAgICAgID0gKihVSU5UMzIgKikoVUlOVE4pKFRvcE9mVGVtcG9yYXJ5 UmFtIC0gc2l6ZW9mKFVJTlQzMikpOw0KPiArICBERUJVRyAoKERFQlVHX0lORk8sICJDb3VudCAt IDB4JXhcbiIsIENvdW50KSk7DQo+ICsgIFNpemUgICAgICAgICAgICAgID0gQ291bnQgKiBzaXpl b2YgKElBMzJfSEFORE9GRl9TVEFUVVMpOw0KPiArICBERUJVRyAoKERFQlVHX0lORk8sICJTaXpl IC0gMHgleFxuIiwgU2l6ZSkpOw0KPiArDQo+ICsgIEJpc3QgICA9IChVSU5UMzIgKikoVUlOVE4p KFRvcE9mVGVtcG9yYXJ5UmFtIC0gc2l6ZW9mKFVJTlQzMikgLSBTaXplKTsNCj4gKyAgREVCVUcg KChERUJVR19JTkZPLCAiQmlzdCAtIDB4JXhcbiIsICpCaXN0KSk7DQo+ICsgIFRpY2tlciA9IChV SU5UNjQgKikoVUlOVE4pKFRvcE9mVGVtcG9yYXJ5UmFtIC0gc2l6ZW9mKFVJTlQzMikgLSBTaXpl IC0NCj4gc2l6ZW9mKFVJTlQ2NCkpOw0KPiArICBERUJVRyAoKERFQlVHX0lORk8sICJUaWNrZXIg LSAweCVseFxuIiwgKlRpY2tlcikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEp1c3QgbmVlZCBy ZWNvcmQgQlNQDQo+ICsgIC8vDQo+ICsgIEFzbVNhdmVCaXN0VmFsdWUgKCpCaXN0KTsNCj4gKyAg QXNtU2F2ZVRpY2tlclZhbHVlICgqVGlja2VyKTsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQ bGF0Zm9ybVNlY0wNCj4gaWJWbHYyL1NlY0dldFBlcmZvcm1hbmNlLmMNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1T ZWNMDQo+IGliVmx2Mi9TZWNHZXRQZXJmb3JtYW5jZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLmM1YzIyYTI5YzINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkv U2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9TZWNHZXRQZXJmb3JtYW5jZS5jDQo+IEBAIC0w LDAgKzEsODMgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0K PiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxQcGkvU2VjUGVyZm9ybWFu Y2UuaD4NCj4gKyNpbmNsdWRlIDxQcGkvVG9wT2ZUZW1wb3JhcnlSYW0uaD4NCj4gKw0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVGlt ZXJMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsNCj4gKy8qKg0K PiArICBUaGlzIGludGVyZmFjZSBjb252ZXlzIHBlcmZvcm1hbmNlIGluZm9ybWF0aW9uIG91dCBv ZiB0aGUgU2VjdXJpdHkgKFNFQykNCj4gcGhhc2UgaW50byBQRUkuDQo+ICsNCj4gKyAgVGhpcyBz ZXJ2aWNlIGlzIHB1Ymxpc2hlZCBieSB0aGUgU0VDIHBoYXNlLiBUaGUgU0VDIHBoYXNlIGhhbmRv ZmYgaGFzIGFuDQo+IG9wdGlvbmFsDQo+ICsgIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1IgbGlzdCBh cyBpdHMgZmluYWwgYXJndW1lbnQgd2hlbiBjb250cm9sIGlzIHBhc3NlZA0KPiBmcm9tIFNFQyBp bnRvIHRoZQ0KPiArICBQRUkgRm91bmRhdGlvbi4gQXMgc3VjaCwgaWYgdGhlIHBsYXRmb3JtIHN1 cHBvcnRzIGNvbGxlY3RpbmcgcGVyZm9ybWFuY2UNCj4gZGF0YSBpbiBTRUMsDQo+ICsgIHRoaXMg aW5mb3JtYXRpb24gaXMgZW5jYXBzdWxhdGVkIGludG8gdGhlIGRhdGEgc3RydWN0dXJlIGFic3Ry YWN0ZWQgYnkgdGhpcw0KPiBzZXJ2aWNlLg0KPiArICBUaGlzIGluZm9ybWF0aW9uIGlzIGNvbGxl Y3RlZCBmb3IgdGhlIGJvb3Qtc3RyYXAgcHJvY2Vzc29yIChCU1ApIG9uIElBLTMyLg0KPiArDQo+ ICsgIEBwYXJhbVtpbl0gIFBlaVNlcnZpY2VzICBUaGUgcG9pbnRlciB0byB0aGUgUEVJIFNlcnZp Y2VzIFRhYmxlLg0KPiArICBAcGFyYW1baW5dICBUaGlzICAgICAgICAgVGhlIHBvaW50ZXIgdG8g dGhpcyBpbnN0YW5jZSBvZiB0aGUNCj4gUEVJX1NFQ19QRVJGT1JNQU5DRV9QUEkuDQo+ICsgIEBw YXJhbVtvdXRdIFBlcmZvcm1hbmNlICBUaGUgcG9pbnRlciB0byBwZXJmb3JtYW5jZSBkYXRhIGNv bGxlY3RlZCBpbg0KPiBTRUMgcGhhc2UuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg VGhlIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSByZXR1cm5lZC4NCj4gKw0KPiArKiovDQo+ICtFRklf U1RBVFVTDQo+ICtFRklBUEkNCj4gK1NlY0dldFBlcmZvcm1hbmNlICgNCj4gKyAgSU4gQ09OU1Qg RUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiAgICAgICBQ RUlfU0VDX1BFUkZPUk1BTkNFX1BQSSAgICpUaGlzLA0KPiArICBPVVQgICAgICBGSVJNV0FSRV9T RUNfUEVSRk9STUFOQ0UgICpQZXJmb3JtYW5jZQ0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQzMiAg ICAgIFNpemU7DQo+ICsgIFVJTlQzMiAgICAgIENvdW50Ow0KPiArICBVSU5UMzIgICAgICBUb3BP ZlRlbXBvcmFyeVJhbTsNCj4gKyAgVUlOVDY0ICAgICAgVGlja2VyOw0KPiArICBWT0lEICAgICAg ICAqVG9wT2ZUZW1wb3JhcnlSYW1QcGk7DQo+ICsgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gKw0K PiArICBERUJVRyAoKERFQlVHX0lORk8sICJTZWNHZXRQZXJmb3JtYW5jZVxuIikpOw0KPiArDQo+ ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5Mb2NhdGVQcGkgKA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJmdUb3BPZlRlbXBvcmFyeVJhbVBwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmVG9wT2ZUZW1wb3JhcnlSYW1Q cGkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gfC0tLS0tLS0tLS0tLS0tfCA8LSBUb3BPZlRlbXBvcmFyeVJhbQ0K PiArICAvLyB8TnVtYmVyIG9mIEJTUHN8DQo+ICsgIC8vIHwtLS0tLS0tLS0tLS0tLXwNCj4gKyAg Ly8gfCAgICAgQklTVCAgICAgfA0KPiArICAvLyB8LS0tLS0tLS0tLS0tLS18DQo+ICsgIC8vIHwg ICAgIC4uLi4gICAgIHwNCj4gKyAgLy8gfC0tLS0tLS0tLS0tLS0tfA0KPiArICAvLyB8ICBUU0Nb NjM6MzJdICB8DQo+ICsgIC8vIHwtLS0tLS0tLS0tLS0tLXwNCj4gKyAgLy8gfCAgVFNDWzMxOjAw XSAgfA0KPiArICAvLyB8LS0tLS0tLS0tLS0tLS18DQo+ICsgIC8vDQo+ICsgIFRvcE9mVGVtcG9y YXJ5UmFtID0gKFVJTlQzMikoVUlOVE4pVG9wT2ZUZW1wb3JhcnlSYW1QcGkgLQ0KPiBzaXplb2Yo VUlOVDMyKTsNCj4gKyAgVG9wT2ZUZW1wb3JhcnlSYW0gLT0gc2l6ZW9mKFVJTlQzMikgKiAyOw0K PiArICBDb3VudCAgICAgICAgICAgICA9ICooVUlOVDMyICopIChVSU5UTikgKFRvcE9mVGVtcG9y YXJ5UmFtIC0gc2l6ZW9mDQo+IChVSU5UMzIpKTsNCj4gKyAgU2l6ZSAgICAgICAgICAgICAgPSBD b3VudCAqIHNpemVvZiAoVUlOVDY0KTsNCj4gKw0KPiArICBUaWNrZXIgPSAqKFVJTlQ2NCAqKSAo VUlOVE4pIChUb3BPZlRlbXBvcmFyeVJhbSAtIHNpemVvZiAoVUlOVDMyKSAtDQo+IFNpemUgLSBz aXplb2YgKFVJTlQzMikgKiAyKTsNCj4gKyAgUGVyZm9ybWFuY2UtPlJlc2V0RW5kID0gR2V0VGlt ZUluTmFub1NlY29uZCAoVGlja2VyKTsNCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G c3BTdXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9TZWNQbGF0Zm9y bUluZm9ybWF0aW9uLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BT dXBwb3J0L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9TZWNQbGF0Zm9ybUlu Zm9ybWF0aW9uLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u YTFiYTM1ZDQ3ZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4g aWJWbHYyL1NlY1BsYXRmb3JtSW5mb3JtYXRpb24uYw0KPiBAQCAtMCwwICsxLDc3IEBADQo+ICsv KiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpbmNsdWRlIDxQaVBl aS5oPg0KPiArDQo+ICsjaW5jbHVkZSA8UHBpL1NlY1BsYXRmb3JtSW5mb3JtYXRpb24uaD4NCj4g KyNpbmNsdWRlIDxQcGkvVG9wT2ZUZW1wb3JhcnlSYW0uaD4NCj4gKw0KPiArI2luY2x1ZGUgPExp YnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4N Cj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgaW50ZXJmYWNlIGNvbnZleXMgc3RhdGUgaW5mb3JtYXRp b24gb3V0IG9mIHRoZSBTZWN1cml0eSAoU0VDKSBwaGFzZQ0KPiBpbnRvIFBFSS4NCj4gKw0KPiAr ICBAcGFyYW0gIFBlaVNlcnZpY2VzICAgICAgICAgICAgICAgUG9pbnRlciB0byB0aGUgUEVJIFNl cnZpY2VzIFRhYmxlLg0KPiArICBAcGFyYW0gIFN0cnVjdHVyZVNpemUgICAgICAgICAgICAgUG9p bnRlciB0byB0aGUgdmFyaWFibGUgZGVzY3JpYmluZyBzaXplIG9mIHRoZQ0KPiBpbnB1dCBidWZm ZXIuDQo+ICsgIEBwYXJhbSAgUGxhdGZvcm1JbmZvcm1hdGlvblJlY29yZCBQb2ludGVyIHRvIHRo ZQ0KPiBFRklfU0VDX1BMQVRGT1JNX0lORk9STUFUSU9OX1JFQ09SRC4NCj4gKw0KPiArICBAcmV0 dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgZGF0YSB3YXMgc3VjY2Vzc2Z1bGx5IHJldHVy bmVkLg0KPiArICBAcmV0dmFsIEVGSV9CVUZGRVJfVE9PX1NNQUxMICBUaGUgYnVmZmVyIHdhcyB0 b28gc21hbGwuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTZWNQ bGF0Zm9ybUluZm9ybWF0aW9uICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAg ICAgICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIE9VVCAgIFVJTlQ2NCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqU3RydWN0dXJlU2l6ZSwNCj4gKyAgICAgT1VUICAg RUZJX1NFQ19QTEFURk9STV9JTkZPUk1BVElPTl9SRUNPUkQNCj4gKlBsYXRmb3JtSW5mb3JtYXRp b25SZWNvcmQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMzIgICAgICAqQmlzdDsNCj4gKyAgVUlO VDMyICAgICAgU2l6ZTsNCj4gKyAgVUlOVDMyICAgICAgQ291bnQ7DQo+ICsgIFVJTlQzMiAgICAg IFRvcE9mVGVtcG9yYXJ5UmFtOw0KPiArICBWT0lEICAgICAgICAqVG9wT2ZUZW1wb3JhcnlSYW1Q cGk7DQo+ICsgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gKw0KPiArICBERUJVRyAoKERFQlVHX0lO Rk8sICJTZWNQbGF0Zm9ybUluZm9ybWF0aW9uXG4iKSk7DQo+ICsNCj4gKyAgU3RhdHVzID0gKCpQ ZWlTZXJ2aWNlcyktPkxvY2F0ZVBwaSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmZ1RvcE9mVGVt cG9yYXJ5UmFtUHBpR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKFZPSUQgKiopICZUb3BPZlRlbXBvcmFyeVJhbVBwaQ0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBUaGUgZW50cmllcyBvZiBCSVNUIGluZm9ybWF0aW9uLCB0b2dldGhlciB3aXRoIHRoZSBudW1i ZXIgb2YgdGhlbSwNCj4gKyAgLy8gcmVzaWRlIGluIHRoZSBib3R0b20gb2Ygc3RhY2ssIGxlZnQg dW50b3VjaGVkIGJ5IG5vcm1hbCBzdGFjayBvcGVyYXRpb24uDQo+ICsgIC8vIFRoaXMgcm91dGlu ZSBjb3BpZXMgdGhlIEJJU1QgaW5mb3JtYXRpb24gdG8gdGhlIGJ1ZmZlciBwb2ludGVkIGJ5DQo+ ICsgIC8vIFBsYXRmb3JtSW5mb3JtYXRpb25SZWNvcmQgZm9yIG91dHB1dC4NCj4gKyAgLy8NCj4g KyAgVG9wT2ZUZW1wb3JhcnlSYW0gPSAoVUlOVDMyKShVSU5UTilUb3BPZlRlbXBvcmFyeVJhbVBw aSAtIHNpemVvZg0KPiAoVUlOVDMyKTsNCj4gKyAgVG9wT2ZUZW1wb3JhcnlSYW0gLT0gc2l6ZW9m KFVJTlQzMikgKiAyOw0KPiArICBDb3VudCAgICAgICAgICAgICA9ICooKFVJTlQzMiAqKShVSU5U TikgKFRvcE9mVGVtcG9yYXJ5UmFtIC0gc2l6ZW9mDQo+IChVSU5UMzIpKSk7DQo+ICsgIFNpemUg ICAgICAgICAgICAgID0gQ291bnQgKiBzaXplb2YgKElBMzJfSEFORE9GRl9TVEFUVVMpOw0KPiAr DQo+ICsgIGlmICgoKlN0cnVjdHVyZVNpemUpIDwgKFVJTlQ2NCkgU2l6ZSkgew0KPiArICAgICpT dHJ1Y3R1cmVTaXplID0gU2l6ZTsNCj4gKyAgICByZXR1cm4gRUZJX0JVRkZFUl9UT09fU01BTEw7 DQo+ICsgIH0NCj4gKw0KPiArICAqU3RydWN0dXJlU2l6ZSAgPSBTaXplOw0KPiArICBCaXN0ICAg ICAgICAgICAgPSAoVUlOVDMyICopIChUb3BPZlRlbXBvcmFyeVJhbSAtIHNpemVvZiAoVUlOVDMy KSAtIFNpemUpOw0KPiArDQo+ICsgIENvcHlNZW0gKFBsYXRmb3JtSW5mb3JtYXRpb25SZWNvcmQs IEJpc3QsIFNpemUpOw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gZGlm ZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQv TGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL1NlY1JhbUluaXREYXRhLmMNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0L0xpYnJhcnkvU2Vj RnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9TZWNSYW1Jbml0RGF0YS5jDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjMzNzM0ZTMxMTENCj4gLS0tIC9kZXYvbnVs bA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Gc3BTdXBwb3J0 L0xpYnJhcnkvU2VjRnNwUGxhdGZvcm1TZWNMDQo+IGliVmx2Mi9TZWNSYW1Jbml0RGF0YS5jDQo+ IEBAIC0wLDAgKzEsMTYgQEANCj4gKy8qKiBAZmlsZQ0KPiArICBDYWxsaW5nIEZzcCBBcGlzIGlu IFNFQw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkv UGNkTGliLmg+DQo+ICsNCj4gK0dMT0JBTF9SRU1PVkVfSUZfVU5SRUZFUkVOQ0VEIENPTlNUIFVJ TlQzMg0KPiBUZW1wUmFtSW5pdFBhcmFtc1s0XSA9IHsNCj4gKyAgKChVSU5UMzIpRml4ZWRQY2RH ZXQ2NCAoUGNkQ3B1TWljcm9jb2RlUGF0Y2hBZGRyZXNzKSArDQo+IEZpeGVkUGNkR2V0MzIgKFBj ZEZsYXNoTWljcm9Db2RlT2Zmc2V0KSksDQo+ICsgICgoVUlOVDMyKUZpeGVkUGNkR2V0NjQgKFBj ZENwdU1pY3JvY29kZVBhdGNoUmVnaW9uU2l6ZSkgLQ0KPiBGaXhlZFBjZEdldDMyIChQY2RGbGFz aE1pY3JvQ29kZU9mZnNldCkpLA0KPiArICBGaXhlZFBjZEdldDMyIChQY2RGbGFzaENvZGVDYWNo ZUFkZHJlc3MpLA0KPiArICBGaXhlZFBjZEdldDMyIChQY2RGbGFzaENvZGVDYWNoZVNpemUpDQo+ ICt9Ow0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv RnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTA0KPiBpYlZsdjIvU2VjVGVtcFJh bVN1cHBvcnQuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBv cnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL1NlY1RlbXBSYW1TdXBwb3J0 LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOGRkMTM2Nzk4 MA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL1Nl Y1RlbXBSYW1TdXBwb3J0LmMNCj4gQEAgLTAsMCArMSwxNDkgQEANCj4gKy8qKiBAZmlsZQ0KPiAr ICBDIGZ1bmN0aW9ucyBpbiBTRUMNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKyNp bmNsdWRlIDxQaVBlaS5oPg0KPiArDQo+ICsjaW5jbHVkZSA8UHBpL1RlbXBvcmFyeVJhbVN1cHBv cnQuaD4NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdBZ2VudExpYi5oPg0KPiArDQo+ICsvKioNCj4g KyAgU3dpdGNoIHRoZSBzdGFjayBpbiB0aGUgdGVtcG9yYXJ5IG1lbW9yeSB0byB0aGUgb25lIGlu IHRoZSBwZXJtYW5lbnQNCj4gbWVtb3J5Lg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gbXVzdCBi ZSBpbnZva2VkIGFmdGVyIHRoZSBtZW1vcnkgbWlncmF0aW9uIGltbWVkaWF0ZWx5Lg0KPiBUaGUg cmVsYXRpdmUNCj4gKyAgcG9zaXRpb24gb2YgdGhlIHN0YWNrIGluIHRoZSB0ZW1wb3JhcnkgYW5k IHBlcm1hbmVudCBtZW1vcnkgaXMgc2FtZS4NCj4gKw0KPiArICBAcGFyYW0gVGVtcG9yYXJ5TWVt b3J5QmFzZSAgQmFzZSBhZGRyZXNzIG9mIHRoZSB0ZW1wb3JhcnkgbWVtb3J5Lg0KPiArICBAcGFy YW0gUGVybWVuZW50TWVtb3J5QmFzZSAgQmFzZSBhZGRyZXNzIG9mIHRoZSBwZXJtYW5lbnQNCj4g bWVtb3J5Lg0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1NlY1N3aXRjaFN0YWNrICgN Cj4gKyAgVUlOVDMyICAgVGVtcG9yYXJ5TWVtb3J5QmFzZSwNCj4gKyAgVUlOVDMyICAgUGVybWVu ZW50TWVtb3J5QmFzZQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIG9m IHRoZSBURU1QT1JBUllfUkFNX1NVUFBPUlRfUFBJIHRoYXQgbWlncmF0ZXMNCj4gdGVtcG9yYXJ5 IFJBTSBpbnRvDQo+ICsgIHBlcm1hbmVudCBtZW1vcnkuDQo+ICsNCj4gKyAgQHBhcmFtIFBlaVNl cnZpY2VzICAgICAgICAgICAgUG9pbnRlciB0byB0aGUgUEVJIFNlcnZpY2VzIFRhYmxlLg0KPiAr ICBAcGFyYW0gVGVtcG9yYXJ5TWVtb3J5QmFzZSAgICBTb3VyY2UgQWRkcmVzcyBpbiB0ZW1wb3Jh cnkgbWVtb3J5DQo+IGZyb20gd2hpY2ggdGhlIFNFQyBvciBQRUlNIHdpbGwgY29weSB0aGUNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcG9yYXJ5IFJBTSBjb250ZW50cy4N Cj4gKyAgQHBhcmFtIFBlcm1hbmVudE1lbW9yeUJhc2UgICAgRGVzdGluYXRpb24gQWRkcmVzcyBp biBwZXJtYW5lbnQNCj4gbWVtb3J5IGludG8gd2hpY2ggdGhlIFNFQyBvciBQRUlNIHdpbGwgY29w eSB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGVtcG9yYXJ5IFJBTSBj b250ZW50cy4NCj4gKyAgQHBhcmFtIENvcHlTaXplICAgICAgICAgICAgICAgQW1vdW50IG9mIG1l bW9yeSB0byBtaWdyYXRlIGZyb20gdGVtcG9yYXJ5DQo+IHRvIHBlcm1hbmVudCBtZW1vcnkuDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGRhdGEgd2FzIHN1Y2Nl c3NmdWxseSByZXR1cm5lZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgUGVy bWFuZW50TWVtb3J5QmFzZSArIENvcHlTaXplID4NCj4gVGVtcG9yYXJ5TWVtb3J5QmFzZSB3aGVu DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRlbXBvcmFyeU1lbW9yeUJhc2Ug PiBQZXJtYW5lbnRNZW1vcnlCYXNlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArU2VjVGVtcG9yYXJ5UmFtU3VwcG9ydCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlf U0VSVklDRVMgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUEhZU0lDQUxfQUREUkVTUyAg ICAgVGVtcG9yYXJ5TWVtb3J5QmFzZSwNCj4gKyAgSU4gRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAg IFBlcm1hbmVudE1lbW9yeUJhc2UsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICBD b3B5U2l6ZQ0KPiArICApDQo+ICt7DQo+ICsgIElBMzJfREVTQ1JJUFRPUiAgIElkdERlc2NyaXB0 b3I7DQo+ICsgIFZPSUQqICAgICAgICAgICAgIE9sZEhlYXA7DQo+ICsgIFZPSUQqICAgICAgICAg ICAgIE5ld0hlYXA7DQo+ICsgIFZPSUQqICAgICAgICAgICAgIE9sZFN0YWNrOw0KPiArICBWT0lE KiAgICAgICAgICAgICBOZXdTdGFjazsNCj4gKyAgREVCVUdfQUdFTlRfQ09OVEVYVF9QT1NUTUVN X1NFQyAgRGVidWdBZ2VudENvbnRleHQ7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgIE9sZFN0YXR1 czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgUGVpU3RhY2tTaXplOw0KPiArDQo+ICsgIFBlaVN0 YWNrU2l6ZSA9IChVSU5UTilQY2RHZXQzMiAoUGNkUGVpVGVtcG9yYXJ5UmFtU3RhY2tTaXplKTsN Cj4gKyAgaWYgKFBlaVN0YWNrU2l6ZSA9PSAwKSB7DQo+ICsgICAgUGVpU3RhY2tTaXplID0gKENv cHlTaXplID4+IDEpOw0KPiArICB9DQo+ICsNCj4gKyAgQVNTRVJUIChQZWlTdGFja1NpemUgPCBD b3B5U2l6ZSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS18LS0t LT4NCj4gKyAgLy8gfCAgICAgIFN0YWNrICAgICAgICB8ICAgIFBlaVN0YWNrU2l6ZQ0KPiArICAv LyB8LS0tLS0tLS0tLS0tLS0tLS0tLXwtLS0tPg0KPiArICAvLyB8ICAgICAgSGVhcCAgICAgICAg IHwgICAgUGVpVGVtcG9yYXlSYW1TaXplDQo+ICsgIC8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tfC0t LS0+ICBUZW1wUmFtQmFzZQ0KPiArICAvLw0KPiArICAvLyB8LS0tLS0tLS0tLS0tLS0tLS0tLXwt LS0tPg0KPiArICAvLyB8ICAgICAgSGVhcCAgICAgICAgIHwgICAgUGVpVGVtcG9yYXlSYW1TaXpl DQo+ICsgIC8vIHwtLS0tLS0tLS0tLS0tLS0tLS0tfC0tLS0+DQo+ICsgIC8vIHwgICAgICBTdGFj ayAgICAgICAgfCAgICBQZWlTdGFja1NpemUNCj4gKyAgLy8gfC0tLS0tLS0tLS0tLS0tLS0tLS18 LS0tLT4gIFBlcm1hbmVudE1lbW9yeUJhc2UNCj4gKyAgLy8NCj4gKw0KPiArICBPbGRIZWFwID0g KFZPSUQqKShVSU5UTilUZW1wb3JhcnlNZW1vcnlCYXNlOw0KPiArICBOZXdIZWFwID0gKFZPSUQq KSgoVUlOVE4pUGVybWFuZW50TWVtb3J5QmFzZSArIFBlaVN0YWNrU2l6ZSk7DQo+ICsNCj4gKyAg T2xkU3RhY2sgPSAoVk9JRCopKChVSU5UTilUZW1wb3JhcnlNZW1vcnlCYXNlICsgQ29weVNpemUg LQ0KPiBQZWlTdGFja1NpemUpOw0KPiArICBOZXdTdGFjayA9IChWT0lEKikoVUlOVE4pUGVybWFu ZW50TWVtb3J5QmFzZTsNCj4gKw0KPiArICBEZWJ1Z0FnZW50Q29udGV4dC5IZWFwTWlncmF0ZU9m ZnNldCA9IChVSU5UTilOZXdIZWFwIC0NCj4gKFVJTlROKU9sZEhlYXA7DQo+ICsgIERlYnVnQWdl bnRDb250ZXh0LlN0YWNrTWlncmF0ZU9mZnNldCA9IChVSU5UTilOZXdTdGFjayAtDQo+IChVSU5U TilPbGRTdGFjazsNCj4gKw0KPiArICBPbGRTdGF0dXMgPSBTYXZlQW5kU2V0RGVidWdUaW1lcklu dGVycnVwdCAoRkFMU0UpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgRGVidWcg QWdlbnQgdG8gc3VwcG9ydCBzb3VyY2UgbGV2ZWwgZGVidWcgaW4gUEVJIHBoYXNlIGFmdGVyDQo+ IG1lbW9yeSByZWFkeS4NCj4gKyAgLy8gSXQgd2lsbCBidWlsZCBIT0IgYW5kIGZpeCB1cCB0aGUg cG9pbnRlciBpbiBJRFQgdGFibGUuDQo+ICsgIC8vDQo+ICsgIEluaXRpYWxpemVEZWJ1Z0FnZW50 IChERUJVR19BR0VOVF9JTklUX1BPU1RNRU1fU0VDLCAoVk9JRCAqKQ0KPiAmRGVidWdBZ2VudENv bnRleHQsIE5VTEwpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1pZ3JhdGUgSGVhcA0KPiArICAv Lw0KPiArICBDb3B5TWVtIChOZXdIZWFwLCBPbGRIZWFwLCBDb3B5U2l6ZSAtIFBlaVN0YWNrU2l6 ZSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWlncmF0ZSBTdGFjaw0KPiArICAvLw0KPiArICBD b3B5TWVtIChOZXdTdGFjaywgT2xkU3RhY2ssIFBlaVN0YWNrU2l6ZSk7DQo+ICsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBXZSBuZWVkICpub3QqIGZpeCB0aGUgcmV0dXJuIGFkZHJlc3MgYmVjYXVz ZSBjdXJyZW50bHksDQo+ICsgIC8vIFRoZSBQZWlDb3JlIGlzIGV4ZWN1dGVkIGluIGZsYXNoLg0K PiArICAvLw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlYmFzZSBJRFQgdGFibGUgaW4gcGVybWFu ZW50IG1lbW9yeQ0KPiArICAvLw0KPiArICBBc21SZWFkSWR0ciAoJklkdERlc2NyaXB0b3IpOw0K PiArICBJZHREZXNjcmlwdG9yLkJhc2UgPSBJZHREZXNjcmlwdG9yLkJhc2UgLSAoVUlOVE4pT2xk U3RhY2sgKw0KPiAoVUlOVE4pTmV3U3RhY2s7DQo+ICsNCj4gKyAgQXNtV3JpdGVJZHRyICgmSWR0 RGVzY3JpcHRvcik7DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBQcm9ncmFtIE1UUlINCj4g KyAgLy8NCj4gKw0KPiArICAvLw0KPiArICAvLyBTZWNTd2l0Y2hTdGFjayBmdW5jdGlvbiBtdXN0 IGJlIGludm9rZWQgYWZ0ZXIgdGhlIG1lbW9yeSBtaWdyYXRpb24NCj4gKyAgLy8gaW1tZWRpYXRl bHksIGFsc28gd2UgbmVlZCBmaXh1cCB0aGUgc3RhY2sgY2hhbmdlIGNhdXNlZCBieSBuZXcgY2Fs bA0KPiBpbnRvDQo+ICsgIC8vIHBlcm1hbmVudCBtZW1vcnkuDQo+ICsgIC8vDQo+ICsgIFNlY1N3 aXRjaFN0YWNrICgNCj4gKyAgICAoVUlOVDMyKSAoVUlOVE4pIE9sZFN0YWNrLA0KPiArICAgIChV SU5UMzIpIChVSU5UTikgTmV3U3RhY2sNCj4gKyAgICApOw0KPiArDQo+ICsgIFNhdmVBbmRTZXRE ZWJ1Z1RpbWVySW50ZXJydXB0IChPbGRTdGF0dXMpOw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VD Q0VTUzsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2VjTA0KPiBpYlZs djIvVWFydEluaXQuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1 cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL1VhcnRJbml0LmMNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMmE5YWIxNzEyMA0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlY0wNCj4gaWJWbHYyL1VhcnRJbml0 LmMNCj4gQEAgLTAsMCArMSwxOTIgQEANCj4gKy8qKiBAZmlsZQ0KPiArICBUaGlzIFBFSU0gd2ls bCBwYXJzZSB0aGUgaG9ibGlzdCBmcm9tIGZzcCBhbmQgcmVwb3J0IHRoZW0gaW50byBwZWkgY29y ZS4NCj4gKyAgVGhpcyBmaWxlIGNvbnRhaW5zIHRoZSBtYWluIGVudHJ5cG9pbnQgb2YgdGhlIFBF SU0uDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlIDxQaVBl aS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1NlcmlhbFBvcnRMaWIuaD4NCj4gKw0KPiArI2RlZmluZSBQQ0lfSURYICAgICAgICAweENGOA0K PiArI2RlZmluZSBQQ0lfREFUICAgICAgICAweENGQw0KPiArDQo+ICsjZGVmaW5lIFBDSV9MUENf QkFTRSAgICAoMHg4MDAwRjgwMCkNCj4gKyNkZWZpbmUgUENJX0xQQ19SRUcoeCkgIChQQ0lfTFBD X0JBU0UgKyAoeCkpDQo+ICsNCj4gKyNkZWZpbmUgUE1DX0JBU0VfQUREUkVTUyAgICAgICAgICAg ICAgICAgIDB4RkVEMDMwMDAgICAgLy8gUE1DIE1lbW9yeSBCYXNlDQo+IEFkZHJlc3MNCj4gKyNk ZWZpbmUgUl9QQ0hfTFBDX1BNQ19CQVNFICAgICAgICAgICAgICAgICAgICAgICAgMHg0NCAgLy8g UEJBU0UsIDMyYml0LCA1MTIgQnl0ZXMNCj4gKyNkZWZpbmUgQl9QQ0hfTFBDX1BNQ19CQVNFX0VO ICAgICAgICAgICAgICAgICAgICAgQklUMSAgLy8gRW5hYmxlIEJpdA0KPiArI2RlZmluZSBSX1BD SF9QTUNfR0VOX1BNQ09OXzEgICAgICAgICAgICAgICAgICAgICAweDIwICAvLyBHZW5lcmFsIFBN DQo+IENvbmZpZ3VyYXRpb24gMQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfR0VOX1BNQ09OX1NVU19Q V1JfRkxSICAgICAgICAgICBCSVQxNCAvLyBTVVMgV2VsbA0KPiBQb3dlciBGYWlsdXJlDQo+ICsj ZGVmaW5lIEJfUENIX1BNQ19HRU5fUE1DT05fUFdST0tfRkxSICAgICAgICAgICAgIEJJVDE2IC8v IFBXUk9LDQo+IEZhaWx1cmUNCj4gKw0KPiArI2RlZmluZSBSX1BDSF9MUENfVUFSVF9DVFJMICAg ICAgICAgICAgICAgICAgICAgICAweDgwICAvLyBVQVJUIENvbnRyb2wNCj4gKyNkZWZpbmUgQl9Q Q0hfTFBDX1VBUlRfQ1RSTF9DT00xX0VOICAgICAgICAgICAgICAgQklUMCAgLy8gQ09NMSBFbmFi bGUNCj4gKw0KPiArI2RlZmluZSBJTEJfQkFTRV9BRERSRVNTICAgICAgICAgICAgICAgICAgMHhG RUQwODAwMCAgICAvLyBJTEIgTWVtb3J5IEJhc2UNCj4gQWRkcmVzcw0KPiArI2RlZmluZSBSX1BD SF9JTEJfSVJRRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDg4ICAvLyBJUlEgRW5hYmxl IENvbnRyb2wNCj4gKw0KPiArI2RlZmluZSBJT19CQVNFX0FERFJFU1MgICAgICAgICAgICAgICAg ICAgMHhGRUQwQzAwMCAgICAvLyBJTyBNZW1vcnkgQmFzZQ0KPiBBZGRyZXNzDQo+ICsNCj4gKyNk ZWZpbmUgVl9QQ0hfSUxCX0lSUUVfVUFSVElSUUVOX0lSUTMgICAgICAgICAgICAgQklUMyAgLy8g VUFSVCBJUlEzDQo+IEVuYWJsZQ0KPiArI2RlZmluZSBWX1BDSF9JTEJfSVJRRV9VQVJUSVJRRU5f SVJRNCAgICAgICAgICAgICBCSVQ0ICAvLyBVQVJUIElSUTQNCj4gRW5hYmxlDQo+ICsjZGVmaW5l IFBDSUVYX0JBU0VfQUREUkVTUyAgICAgICAgICAgICAgICAgICAgICAgIDB4RTAwMDAwMDANCj4g KyNkZWZpbmUgUENJX0VYUFJFU1NfQkFTRV9BRERSRVNTICAgICAgICAgICAgICAgICAgUENJRVhf QkFTRV9BRERSRVNTDQo+ICsjZGVmaW5lIFBjaUQzMUYwUmVnQmFzZSAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBDSUVYX0JBU0VfQUREUkVTUyArIChVSU5UMzIpDQo+ICgzMSA8PCAxNSkNCj4g KyNkZWZpbmUgU0JfUkNCQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHhmZWQx YzAwMA0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBQY2hBMCAgICAgICAgID0gMCwNCj4g KyAgUGNoQTEgICAgICAgICA9IDEsDQo+ICsgIFBjaEIwICAgICAgICAgPSAyLA0KPiArICBQY2hC MSAgICAgICAgID0gMywNCj4gKyAgUGNoQjIgICAgICAgICA9IDQsDQo+ICsgIFBjaEIzICAgICAg ICAgPSA1LA0KPiArICBQY2hDMCAgICAgICAgID0gNiwNCj4gKyAgUGNoU3RlcHBpbmdNYXgNCj4g K30gUENIX1NURVBQSU5HOw0KPiArDQo+ICsjZGVmaW5lIE1tUGNpQWRkcmVzcyggU2VnbWVudCwg QnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApIFwNCj4gKyAgKCAoVUlOVE4pUENJX0VY UFJFU1NfQkFTRV9BRERSRVNTICsgXA0KPiArICAgIChVSU5UTikoQnVzIDw8IDIwKSArIFwNCj4g KyAgICAoVUlOVE4pKERldmljZSA8PCAxNSkgKyBcDQo+ICsgICAgKFVJTlROKShGdW5jdGlvbiA8 PCAxMikgKyBcDQo+ICsgICAgKFVJTlROKShSZWdpc3RlcikgXA0KPiArICApDQo+ICsNCj4gKyNk ZWZpbmUgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0ggIDANCj4gKyNkZWZpbmUgUENJX0RFVklD RV9OVU1CRVJfUENIX0xQQyAgICAgICAgICAgICAgICAgMzENCj4gKyNkZWZpbmUgUENJX0ZVTkNU SU9OX05VTUJFUl9QQ0hfTFBDICAgICAgICAgICAgICAgMA0KPiArDQo+ICsjZGVmaW5lIFJfUENI X0xQQ19SSURfQ0MgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDggIC8vIFJldmlzaW9uIElE ICYgQ2xhc3MgQ29kZQ0KPiArDQo+ICsjZGVmaW5lIFZfUENIX0xQQ19SSURfMCAgICAgICAgICAg ICAgICAgICAgICAgICAgIDB4MDEgIC8vIEEwIFN0ZXBwaW5nICgxNyB4IDE3KQ0KPiArI2RlZmlu ZSBWX1BDSF9MUENfUklEXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAyICAvLyBBMCBT dGVwcGluZyAoMjUgeCAyNykNCj4gKyNkZWZpbmUgVl9QQ0hfTFBDX1JJRF8yICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMyAgLy8gQTEgU3RlcHBpbmcgKDE3IHggMTcpDQo+ICsjZGVmaW5l IFZfUENIX0xQQ19SSURfMyAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDQgIC8vIEExIFN0 ZXBwaW5nICgyNSB4IDI3KQ0KPiArI2RlZmluZSBWX1BDSF9MUENfUklEXzQgICAgICAgICAgICAg ICAgICAgICAgICAgICAweDA1ICAvLyBCMCBTdGVwcGluZyAoMTcgeCAxNykNCj4gKyNkZWZpbmUg Vl9QQ0hfTFBDX1JJRF81ICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwNiAgLy8gQjAgU3Rl cHBpbmcgKDI1IHggMjcpDQo+ICsjZGVmaW5lIFZfUENIX0xQQ19SSURfNiAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDcgIC8vIEIxIFN0ZXBwaW5nICgxNyB4IDE3KQ0KPiArI2RlZmluZSBW X1BDSF9MUENfUklEXzcgICAgICAgICAgICAgICAgICAgICAgICAgICAweDA4ICAvLyBCMSBTdGVw cGluZyAoMjUgeCAyNykNCj4gKyNkZWZpbmUgVl9QQ0hfTFBDX1JJRF84ICAgICAgICAgICAgICAg ICAgICAgICAgICAgMHgwOSAgLy8gQjIgU3RlcHBpbmcgKDE3IHggMTcpDQo+ICsjZGVmaW5lIFZf UENIX0xQQ19SSURfOSAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MEEgIC8vIEIyIFN0ZXBw aW5nICgyNSB4IDI3KQ0KPiArI2RlZmluZSBWX1BDSF9MUENfUklEX0EgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDBCICAvLyBCMyBTdGVwcGluZyAoMTcgeCAxNykNCj4gKyNkZWZpbmUgVl9Q Q0hfTFBDX1JJRF9CICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwQyAgLy8gQjMgU3RlcHBp bmcgKDI1IHggMjcpDQo+ICsjZGVmaW5lIFZfUENIX0xQQ19SSURfQyAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4MEQgIC8vIEMwIFN0ZXBwaW5nICgxNyB4IDE3KQ0KPiArI2RlZmluZSBWX1BD SF9MUENfUklEX0QgICAgICAgICAgICAgICAgICAgICAgICAgICAweDBFICAvLyBDMCBTdGVwcGlu ZyAoMjUgeCAyNykNCj4gKw0KPiArLyoqDQo+ICsgIFJldHVybiBQY2ggc3RlcHBpbmcgdHlwZQ0K PiArDQo+ICsgIEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgUENIX1NURVBQSU5H ICAgICAgICAgICAgUGNoIHN0ZXBwaW5nIHR5cGUNCj4gKw0KPiArKiovDQo+ICtQQ0hfU1RFUFBJ TkcNCj4gK0VGSUFQSQ0KPiArUGNoU3RlcHBpbmcgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sN Cj4gKyAgVUlOVDggUmV2SWQ7DQo+ICsNCj4gKyAgUmV2SWQgPSBNbWlvUmVhZDggKA0KPiArICAg ICAgICAgIE1tUGNpQWRkcmVzcyAoMCwNCj4gKyAgICAgICAgICAgIERFRkFVTFRfUENJX0JVU19O VU1CRVJfUENILA0KPiArICAgICAgICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywNCj4g KyAgICAgICAgICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgICAgICAg IFJfUENIX0xQQ19SSURfQ0MpDQo+ICsgICAgICAgICAgKTsNCj4gKw0KPiArICBzd2l0Y2ggKFJl dklkKSB7DQo+ICsgICAgY2FzZSBWX1BDSF9MUENfUklEXzA6DQo+ICsgICAgY2FzZSBWX1BDSF9M UENfUklEXzE6DQo+ICsgICAgICByZXR1cm4gUGNoQTA7DQo+ICsgICAgICBicmVhazsNCj4gKw0K PiArICAgIGNhc2UgVl9QQ0hfTFBDX1JJRF8yOg0KPiArICAgIGNhc2UgVl9QQ0hfTFBDX1JJRF8z Og0KPiArICAgICAgcmV0dXJuIFBjaEExOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBj YXNlIFZfUENIX0xQQ19SSURfNDoNCj4gKyAgICBjYXNlIFZfUENIX0xQQ19SSURfNToNCj4gKyAg ICAgIHJldHVybiBQY2hCMDsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBWX1BD SF9MUENfUklEXzY6DQo+ICsgICAgY2FzZSBWX1BDSF9MUENfUklEXzc6DQo+ICsgICAgICByZXR1 cm4gUGNoQjE7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgVl9QQ0hfTFBDX1JJ RF84Og0KPiArICAgIGNhc2UgVl9QQ0hfTFBDX1JJRF85Og0KPiArICAgICAgcmV0dXJuIFBjaEIy Ow0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIFZfUENIX0xQQ19SSURfQToNCj4g KyAgICBjYXNlIFZfUENIX0xQQ19SSURfQjoNCj4gKyAgICAgIHJldHVybiBQY2hCMzsNCj4gKyAg ICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBWX1BDSF9MUENfUklEX0M6DQo+ICsgICAgY2Fz ZSBWX1BDSF9MUENfUklEX0Q6DQo+ICsgICAgICByZXR1cm4gUGNoQzA7DQo+ICsgICAgICBicmVh azsNCj4gKw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICByZXR1cm4gUGNoU3RlcHBpbmdNYXg7 DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICB9DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBF bmFibGUgbGVnYWN5IGRlY29kaW5nIG9uIElDSDYNCj4gKw0KPiArIEBwYXJhbVtpbl0gbm9uZQ0K PiArDQo+ICsgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgQWx3YXlzIHJldHVybnMgc3VjY2Vzcy4N Cj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFbmFibGVJbnRlcm5hbFVhcnQoDQo+ICsgIFZPSUQN Cj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2dyYW0gYW5kIGVuYWJsZSBQ TUMgQmFzZS4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChQQ0lfSURYLCAgUENJX0xQQ19SRUco Ul9QQ0hfTFBDX1BNQ19CQVNFKSk7DQo+ICsgIElvV3JpdGUzMiAoUENJX0RBVCwgIChQTUNfQkFT RV9BRERSRVNTIHwNCj4gQl9QQ0hfTFBDX1BNQ19CQVNFX0VOKSk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gRW5hYmxlIENPTTEgZm9yIGRlYnVnIG1lc3NhZ2Ugb3V0cHV0Lg0KPiArICAvLw0KPiAr ICBNbWlvQW5kVGhlbk9yMzIgKFBNQ19CQVNFX0FERFJFU1MgKw0KPiBSX1BDSF9QTUNfR0VOX1BN Q09OXzEsIChVSU5UMzIpDQo+ICh+KEJfUENIX1BNQ19HRU5fUE1DT05fU1VTX1BXUl9GTFIgKw0K PiBCX1BDSF9QTUNfR0VOX1BNQ09OX1BXUk9LX0ZMUikpLCBCSVQyNCk7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gU2lsaWNvbiBTdGVwcGluZ3MNCj4gKyAgLy8NCj4gKyAgaWYgKFBjaFN0ZXBwaW5n KCk+PSBQY2hCMCkNCj4gKyAgICBNbWlvT3I4IChJTEJfQkFTRV9BRERSRVNTICsgUl9QQ0hfSUxC X0lSUUUsIChVSU5UOCkNCj4gVl9QQ0hfSUxCX0lSUUVfVUFSVElSUUVOX0lSUTQpOw0KPiArICBl bHNlDQo+ICsgICAgTW1pb09yOCAoSUxCX0JBU0VfQUREUkVTUyArIFJfUENIX0lMQl9JUlFFLCAo VUlOVDgpDQo+IFZfUENIX0lMQl9JUlFFX1VBUlRJUlFFTl9JUlEzKTsNCj4gKyAgTW1pb0FuZDMy KElPX0JBU0VfQUREUkVTUyArIDB4MDUyMCwgKFVJTlQzMil+KDB4MDAwMDAxODcpKTsNCj4gKyAg TW1pb09yMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDUyMCwgKFVJTlQzMikweDgxKTsgLy8gVUFS VDNfUlhELUwNCj4gKyAgTW1pb0FuZDMyKElPX0JBU0VfQUREUkVTUyArIDB4MDUzMCwgKFVJTlQz Mil+KDB4MDAwMDAwMDcpKTsNCj4gKyAgTW1pb09yMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDUz MCwgKFVJTlQzMikweDEpOyAvLyBVQVJUM19SWEQtTA0KPiArICBNbWlvT3I4IChQY2lEMzFGMFJl Z0Jhc2UgKyBSX1BDSF9MUENfVUFSVF9DVFJMLCAoVUlOVDgpDQo+IEJfUENIX0xQQ19VQVJUX0NU UkxfQ09NMV9FTik7DQo+ICsNCj4gKyAgU2VyaWFsUG9ydEluaXRpYWxpemUgKCk7DQo+ICsgIFNl cmlhbFBvcnRXcml0ZSAoKFVJTlQ4ICopIkVuYWJsZUludGVybmFsVWFydCFcclxuIiwNCj4gc2l6 ZW9mKCJFbmFibGVJbnRlcm5hbFVhcnQhXHJcbiIpIC0gMSk7DQo+ICsNCj4gKyAgcmV0dXJuICA7 DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9G dkluZm9QZWkvRnZJbmZvUGVpLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9GdkluZm9QZWkvRnZJbmZvUGVpLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uMTE4MzJiZDI5NQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2SW5mb1BlaS9GdkluZm9QZWkuYw0KPiBAQCAtMCww ICsxLDY4IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0g MjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgRnZJbmZvUGVpLmMN Cj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgICBFRkkgMi4wIFBFSU0gdG8gaW5pdGlhbGl6 ZSB0aGUgY2FjaGUgYW5kIHByb2dyYW0gZm9yIHVubG9jayBwcm9jZXNzb3INCj4gKw0KPiArDQo+ ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsjaW5jbHVkZSA8R3Vp ZC9GaXJtd2FyZUZpbGVTeXN0ZW0yLmg+DQo+ICsjaW5jbHVkZSA8UHBpL0Zpcm13YXJlVm9sdW1l SW5mby5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9EZWJ1Z0xpYi5oPg0KPiArDQo+ICtFRklfUEVJX0ZJUk1XQVJFX1ZPTFVNRV9JTkZPX1BQ SSBtQWRkdGlvbkZWUHBpID0gew0KPiArICBFRklfRklSTVdBUkVfRklMRV9TWVNURU0yX0dVSUQs DQo+ICsgIChWT0lEKikoVUlOVE4pRml4ZWRQY2RHZXQzMihQY2RGbGFzaEZ2UmVjb3ZlcnkyQmFz ZSksDQo+ICsgIEZpeGVkUGNkR2V0MzIoUGNkRmxhc2hGdlJlY292ZXJ5MlNpemUpLA0KPiArICBO VUxMLA0KPiArICBOVUxMDQo+ICt9Ow0KPiArDQo+ICtFRklfUEVJX1BQSV9ERVNDUklQVE9SICBt UHBpTGlzdFtdID0gew0KPiArICAoRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9QUEkgfA0KPiBFRklf UEVJX1BQSV9ERVNDUklQVE9SX1RFUk1JTkFURV9MSVNUKSwNCj4gKyAgJmdFZmlQZWlGaXJtd2Fy ZVZvbHVtZUluZm9QcGlHdWlkLA0KPiArICAmbUFkZHRpb25GVlBwaQ0KPiArfTsNCj4gKw0KPiAr DQo+ICsvKioNCj4gKyAgQWRkIFJlY292ZXJ5IEZ2IEluZm8gdG8gdGhlIFBlaSBDb3JlLg0KPiAr DQo+ICsgIEBwYXJhbSAgUGVpU2VydmljZXMgIEdlbmVyYWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFp bGFibGUgdG8gZXZlcnkgUEVJTS4NCj4gKw0KPiArICBAcmV0dmFsICBTdGF0dXMNCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1BlaW1Jbml0aWFsaXplRnZJbmZvICgN Cj4gKyAgSU4gICAgICAgRUZJX1BFSV9GSUxFX0hBTkRMRSAgRmlsZUhhbmRsZSwNCj4gKyAgSU4g Q09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ICsNCj4g Ky8vDQo+ICsvLyBHQ19UT0RPOiAgICBGZnNIZWFkZXIgLSBhZGQgYXJndW1lbnQgYW5kIGRlc2Ny aXB0aW9uIHRvIGZ1bmN0aW9uDQo+IGNvbW1lbnQNCj4gKy8vDQo+ICt7DQo+ICsgIEVGSV9TVEFU VVMgIFN0YXR1czsNCj4gKyAgU3RhdHVzID0gKCoqUGVpU2VydmljZXMpLkluc3RhbGxQcGkgKFBl aVNlcnZpY2VzLCAmbVBwaUxpc3RbMF0pOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMp Ow0KPiArDQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTywgIlxuRnZJbmZvIEFkZCBGdiBJbmZvXG4i KSk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2SW5mb1BlaS9GdkluZm9QZWkuaW5mDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZJbmZvUGVpL0Z2SW5mb1BlaS5pbmYN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMzk3YzJjZTJhOQ0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0Z2SW5mb1BlaS9GdkluZm9QZWkuaW5mDQo+IEBAIC0wLDAgKzEsNDkgQEANCj4gKyMNCj4gKyMN Cj4gKyMgQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZA0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKyMNCj4gKyMNCj4gKyMgIE1v ZHVsZSBOYW1lOg0KPiArIw0KPiArIyAgICBDcHVQZWltLmluZg0KPiArIw0KPiArIyAgQWJzdHJh Y3Q6DQo+ICsjDQo+ICsjICAgIENvbXBvbmVudCBkZXNjcmlwdGlvbiBmaWxlIGZvciBDUFUgbW9k dWxlDQo+ICsjDQo+ICsjDQo+ICsjLS0qLw0KPiArDQo+ICtbZGVmaW5lc10NCj4gKyAgSU5GX1ZF UlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAg ICAgICAgICAgICAgICAgICAgPSBGdkluZm9QZWkNCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAg ICAgICAgICAgID0gNjRBQUVBRTAtOTJERi00OTgwLTg2NjgtNkVCNUVBQUY0MzkzDQo+ICsgIE1P RFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IFBFSU0NCj4gKyAgVkVSU0lPTl9TVFJJTkcg ICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIEVOVFJZX1BPSU5UICAgICAgICAgICAgICAgICAg ICA9IFBlaW1Jbml0aWFsaXplRnZJbmZvDQo+ICsNCj4gK1tzb3VyY2VzLmNvbW1vbl0NCj4gKyAg RnZJbmZvUGVpLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0K PiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlD bGFzc2VzXQ0KPiArICBQZWltRW50cnlQb2ludA0KPiArICBEZWJ1Z0xpYg0KPiArDQo+ICtbUGNk LmNvbW1vbl0NCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdlJl Y292ZXJ5MkJhc2UNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hG dlJlY292ZXJ5MlNpemUNCj4gKw0KPiArW1BwaXNdDQo+ICsgIGdFZmlQZWlGaXJtd2FyZVZvbHVt ZUluZm9QcGlHdWlkDQo+ICsNCj4gK1tEZXBleF0NCj4gKyAgVFJVRQ0KPiArDQo+IGRpZmYgLS1n aXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2Yklu Zm8uYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUv RnZiSW5mby5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmQz YjkxNDVkYjANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YkluZm8uYw0KPiBAQCAtMCwwICsxLDE3MCBAQA0K PiArLyoqQGZpbGUNCj4gKyAgRGVmaW5lcyBkYXRhIHN0cnVjdHVyZSB0aGF0IGlzIHRoZSB2b2x1 bWUgaGVhZGVyIGZvdW5kLg0KPiArICBUaGVzZSBkYXRhIGlzIGludGVudCB0byBkZWNvdXBsZSBG VkIgZHJpdmVyIHdpdGggRlYgaGVhZGVyLg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDYgIC0g MjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8UGlEeGUuaD4NCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9GaXJtd2FyZVZvbHVtZUJsb2NrLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9QY2RMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsjaW5j bHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9GaXJtd2FyZUZpbGVT eXN0ZW0yLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9TeXN0ZW1OdkRhdGFHdWlkLmg+DQo+ICsNCj4g KyNkZWZpbmUgRklSTVdBUkVfQkxPQ0tfU0laRSAgICAgICAgIDB4ODAwMA0KPiArI2RlZmluZSBG VkJfTUVESUFfQkxPQ0tfU0laRSAgICAgICAgKEZJUk1XQVJFX0JMT0NLX1NJWkUgKiAyKQ0KPiAr DQo+ICsjZGVmaW5lIEZWX1JFQ09WRVJZX0JBU0VfQUREUkVTUw0KPiBGaXhlZFBjZEdldDMyKFBj ZEZsYXNoRnZSZWNvdmVyeUJhc2UpDQo+ICsjZGVmaW5lIFJFQ09WRVJZX0JJT1NfQkxPQ0tfTlVN DQo+IChGaXhlZFBjZEdldDMyKFBjZEZsYXNoRnZSZWNvdmVyeVNpemUpIC8gRlZCX01FRElBX0JM T0NLX1NJWkUpDQo+ICsNCj4gKyNkZWZpbmUgRlZfTUFJTl9CQVNFX0FERFJFU1MgICAgICAgIEZp eGVkUGNkR2V0MzIoUGNkRmxhc2hGdk1haW5CYXNlKQ0KPiArI2RlZmluZSBNQUlOX0JJT1NfQkxP Q0tfTlVNDQo+IChGaXhlZFBjZEdldDMyKFBjZEZsYXNoRnZNYWluU2l6ZSkgLyBGVkJfTUVESUFf QkxPQ0tfU0laRSkNCj4gKw0KPiArI2RlZmluZSBOVl9TVE9SQUdFX0JBU0VfQUREUkVTUw0KPiBG aXhlZFBjZEdldDMyKFBjZEZsYXNoTnZTdG9yYWdlVmFyaWFibGVCYXNlKQ0KPiArI2RlZmluZSBT WVNURU1fTlZfQkxPQ0tfTlVNDQo+ICgoRml4ZWRQY2RHZXQzMihQY2RGbGFzaE52U3RvcmFnZVZh cmlhYmxlU2l6ZSkrDQo+IEZpeGVkUGNkR2V0MzIoUGNkRmxhc2hOdlN0b3JhZ2VGdHdXb3JraW5n U2l6ZSkgKw0KPiBGaXhlZFBjZEdldDMyKFBjZEZsYXNoTnZTdG9yYWdlRnR3U3BhcmVTaXplKSkv IEZWQl9NRURJQV9CTE9DS19TSVpFKQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVG SV9QSFlTSUNBTF9BRERSRVNTICAgICAgICBCYXNlQWRkcmVzczsNCj4gKyAgRUZJX0ZJUk1XQVJF X1ZPTFVNRV9IRUFERVIgIEZ2YkluZm87DQo+ICsgIEVGSV9GVl9CTE9DS19NQVBfRU5UUlkgICAg ICBFbmRbMV07DQo+ICt9IEVGSV9GVkIyX01FRElBX0lORk87DQo+ICsNCj4gKy8vDQo+ICsvLyBU aGlzIGRhdGEgc3RydWN0dXJlIGNvbnRhaW5zIGEgdGVtcGxhdGUgb2YgYWxsIGNvcnJlY3QgRlYg aGVhZGVycywgd2hpY2ggaXMNCj4gdXNlZCB0byByZXN0b3JlDQo+ICsvLyBGdiBoZWFkZXIgaWYg aXQncyBjb3JydXB0ZWQuDQo+ICsvLw0KPiArRUZJX0ZWQjJfTUVESUFfSU5GTyBtUGxhdGZvcm1G dmJNZWRpYUluZm9bXSA9IHsNCj4gKyAgLy8NCj4gKyAgLy8gTWFpbiBCSU9TIEZWQg0KPiArICAv Lw0KPiArICB7DQo+ICsgICAgRlZfTUFJTl9CQVNFX0FERFJFU1MsDQo+ICsgICAgew0KPiArICAg ICAgezAsfSwgLy9aZXJvVmVjdG9yWzE2XQ0KPiArICAgICAgRUZJX0ZJUk1XQVJFX0ZJTEVfU1lT VEVNMl9HVUlELA0KPiArICAgICAgRlZCX01FRElBX0JMT0NLX1NJWkUgKiBNQUlOX0JJT1NfQkxP Q0tfTlVNLA0KPiArICAgICAgRUZJX0ZWSF9TSUdOQVRVUkUsDQo+ICsgICAgICAweDAwMDRmZWZm LCAvLyBjaGVjayBNZGVQa2cvSW5jbHVkZS9QaS9QaUZpcm13YXJlVm9sdW1lLmggZm9yIGRldGFp bHMNCj4gb24gRUZJX0ZWQl9BVFRSSUJVVEVTXzINCj4gKyAgICAgIHNpemVvZiAoRUZJX0ZJUk1X QVJFX1ZPTFVNRV9IRUFERVIpICsgc2l6ZW9mDQo+IChFRklfRlZfQkxPQ0tfTUFQX0VOVFJZKSwN Cj4gKyAgICAgIDAsICAgIC8vQ2hlY2tTdW0gd2hpY2ggd2lsbCBiZSBjYWx1Y2F0ZWQgZHluYW1p Y2FsbHkuDQo+ICsgICAgICAwLCAgICAvL0V4dEhlYWRlck9mZnNldA0KPiArICAgICAgezAsfSwg Ly9SZXNlcnZlZFsxXQ0KPiArICAgICAgMiwgICAgLy9SZXZpc2lvbg0KPiArICAgICAgew0KPiAr ICAgICAgICB7DQo+ICsgICAgICAgICAgTUFJTl9CSU9TX0JMT0NLX05VTSwNCj4gKyAgICAgICAg ICBGVkJfTUVESUFfQkxPQ0tfU0laRSwNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAg IH0sDQo+ICsgICAgew0KPiArICAgICAgew0KPiArICAgICAgICAwLA0KPiArICAgICAgICAwDQo+ ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFN5c3Rl biBOdlN0b3JhZ2UgRlZCDQo+ICsgIC8vDQo+ICsgIHsNCj4gKyAgICBOVl9TVE9SQUdFX0JBU0Vf QUREUkVTUywNCj4gKyAgICB7DQo+ICsgICAgICB7MCx9LCAvL1plcm9WZWN0b3JbMTZdDQo+ICsg ICAgICBFRklfU1lTVEVNX05WX0RBVEFfRlZfR1VJRCwNCj4gKyAgICAgIEZWQl9NRURJQV9CTE9D S19TSVpFICogU1lTVEVNX05WX0JMT0NLX05VTSwNCj4gKyAgICAgIEVGSV9GVkhfU0lHTkFUVVJF LA0KPiArICAgICAgMHgwMDA0ZmVmZiwgLy8gY2hlY2sgTWRlUGtnL0luY2x1ZGUvUGkvUGlGaXJt d2FyZVZvbHVtZS5oIGZvciBkZXRhaWxzDQo+IG9uIEVGSV9GVkJfQVRUUklCVVRFU18yDQo+ICsg ICAgICBzaXplb2YgKEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSKSArIHNpemVvZg0KPiAoRUZJ X0ZWX0JMT0NLX01BUF9FTlRSWSksDQo+ICsgICAgICAwLCAgICAvL0NoZWNrU3VtIHdoaWNoIHdp bGwgYmUgY2FsdWNhdGVkIGR5bmFtaWNhbGx5Lg0KPiArICAgICAgMCwgICAgLy9FeHRIZWFkZXJP ZmZzZXQNCj4gKyAgICAgIHswLH0sIC8vUmVzZXJ2ZWRbMV0NCj4gKyAgICAgIDIsICAgIC8vUmV2 aXNpb24NCj4gKyAgICAgIHsNCj4gKyAgICAgICAgew0KPiArICAgICAgICAgIFNZU1RFTV9OVl9C TE9DS19OVU0sDQo+ICsgICAgICAgICAgRlZCX01FRElBX0JMT0NLX1NJWkUsDQo+ICsgICAgICAg IH0NCj4gKyAgICAgIH0NCj4gKyAgICB9LA0KPiArICAgIHsNCj4gKyAgICAgIHsNCj4gKyAgICAg ICAgMCwNCj4gKyAgICAgICAgMA0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfSwNCj4gKw0K PiArICAvLw0KPiArICAvLyBSZWNvdmVyeSBCSU9TIEZWQg0KPiArICAvLw0KPiArICB7DQo+ICsg ICAgRlZfUkVDT1ZFUllfQkFTRV9BRERSRVNTLA0KPiArICAgIHsNCj4gKyAgICAgIHswLH0sIC8v WmVyb1ZlY3RvclsxNl0NCj4gKyAgICAgIEVGSV9GSVJNV0FSRV9GSUxFX1NZU1RFTTJfR1VJRCwN Cj4gKyAgICAgIEZWQl9NRURJQV9CTE9DS19TSVpFICogUkVDT1ZFUllfQklPU19CTE9DS19OVU0s DQo+ICsgICAgICBFRklfRlZIX1NJR05BVFVSRSwNCj4gKyAgICAgIDB4MDAwNGZlZmYsIC8vIGNo ZWNrIE1kZVBrZy9JbmNsdWRlL1BpL1BpRmlybXdhcmVWb2x1bWUuaCBmb3IgZGV0YWlscw0KPiBv biBFRklfRlZCX0FUVFJJQlVURVNfMg0KPiArICAgICAgc2l6ZW9mIChFRklfRklSTVdBUkVfVk9M VU1FX0hFQURFUikgKyBzaXplb2YNCj4gKEVGSV9GVl9CTE9DS19NQVBfRU5UUlkpLA0KPiArICAg ICAgMCwgICAgLy9DaGVja1N1bSB3aGljaCB3aWxsIGJlIGNhbHVjYXRlZCBkeW5hbWljYWxseS4N Cj4gKyAgICAgIDAsICAgIC8vRXh0SGVhZGVyT2Zmc2V0DQo+ICsgICAgICB7MCx9LCAvL1Jlc2Vy dmVkWzFdDQo+ICsgICAgICAyLCAgICAvL1JldmlzaW9uDQo+ICsgICAgICB7DQo+ICsgICAgICAg IHsNCj4gKyAgICAgICAgICBSRUNPVkVSWV9CSU9TX0JMT0NLX05VTSwNCj4gKyAgICAgICAgICBG VkJfTUVESUFfQkxPQ0tfU0laRSwNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgIH0s DQo+ICsgICAgew0KPiArICAgICAgew0KPiArICAgICAgICAwLA0KPiArICAgICAgICAwDQo+ICsg ICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICt9Ow0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtH ZXRGdmJJbmZvICgNCj4gKyAgSU4gIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgRnZCYXNl QWRkcmVzcywNCj4gKyAgT1VUIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICAgKipGdmJJbmZv DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0K PiArICBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgKkZ2SGVhZGVyOw0KPiArDQo+ICsgIGZv ciAoSW5kZXggPSAwOyBJbmRleCA8IHNpemVvZiAobVBsYXRmb3JtRnZiTWVkaWFJbmZvKSAvIHNp emVvZg0KPiAoRUZJX0ZWQjJfTUVESUFfSU5GTyk7IEluZGV4ICs9IDEpIHsNCj4gKyAgICBpZiAo bVBsYXRmb3JtRnZiTWVkaWFJbmZvW0luZGV4XS5CYXNlQWRkcmVzcyA9PSBGdkJhc2VBZGRyZXNz KSB7DQo+ICsgICAgICBGdkhlYWRlciA9ICAmbVBsYXRmb3JtRnZiTWVkaWFJbmZvW0luZGV4XS5G dmJJbmZvOw0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gVXBkYXRlIHRoZSBjaGVja3N1 bSB2YWx1ZSBvZiBGViBoZWFkZXIuDQo+ICsgICAgICAvLw0KPiArICAgICAgRnZIZWFkZXItPkNo ZWNrc3VtID0gQ2FsY3VsYXRlQ2hlY2tTdW0xNiAoKFVJTlQxNiAqKSBGdkhlYWRlciwNCj4gRnZI ZWFkZXItPkhlYWRlckxlbmd0aCk7DQo+ICsNCj4gKyAgICAgICpGdmJJbmZvID0gRnZIZWFkZXI7 DQo+ICsNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfSU5GTywgIlxuQmFzZUFkZHI6IDB4JWx4IFxu IiwgRnZCYXNlQWRkcmVzcykpOw0KPiArICAgICAgREVCVUcgKChFRklfRF9JTkZPLCAiRnZMZW5n dGg6IDB4JWx4IFxuIiwgKCpGdmJJbmZvKS0+RnZMZW5ndGgpKTsNCj4gKyAgICAgIERFQlVHICgo RUZJX0RfSU5GTywgIkhlYWRlckxlbmd0aDogMHgleCBcbiIsICgqRnZiSW5mbyktDQo+ID5IZWFk ZXJMZW5ndGgpKTsNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfSU5GTywgIkZ2QmxvY2tNYXBbMF0u TnVtQmxvY2tzOiAweCV4IFxuIiwNCj4gKCpGdmJJbmZvKS0+QmxvY2tNYXBbMF0uTnVtQmxvY2tz KSk7DQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0lORk8sICJGdkJsb2NrTWFwWzBdLkJsb2NrTGVu Z3RoOiAweCV4IFxuIiwNCj4gKCpGdmJJbmZvKS0+QmxvY2tNYXBbMF0uTGVuZ3RoKSk7DQo+ICsg ICAgICBERUJVRyAoKEVGSV9EX0lORk8sICJGdkJsb2NrTWFwWzFdLk51bUJsb2NrczogMHgleCBc biIsDQo+ICgqRnZiSW5mbyktPkJsb2NrTWFwWzFdLk51bUJsb2NrcykpOw0KPiArICAgICAgREVC VUcgKChFRklfRF9JTkZPLCAiRnZCbG9ja01hcFsxXS5CbG9ja0xlbmd0aDogMHgleCBcblxuIiwN Cj4gKCpGdmJJbmZvKS0+QmxvY2tNYXBbMV0uTGVuZ3RoKSk7DQo+ICsNCj4gKyAgICAgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9OT1RfRk9V TkQ7DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlJ1bnRpbWVEeGUuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGltZUR4ZS9GdmJSdW50aW1lRHhlLmluZg0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi42NzBkYjEzNDY1DQo+IC0tLSAv ZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZi UnVudGltZUR4ZS9GdmJSdW50aW1lRHhlLmluZg0KPiBAQCAtMCwwICsxLDgwIEBADQo+ICsjIyBA ZmlsZQ0KPiArIyBUaGlzIGRyaXZlciBpbXBsZW1lbnQgdGhlIEVGSV9GSVJNV0FSRV9WT0xVTUVO X1BST1RPQ09MLg0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMDYgIC0gMjAxNCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiANCj4gKyMgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0KPiAN Cj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMjDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBJTkZfVkVS U0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAg ICAgICAgICAgICAgICAgICA9IEZ2YlJ1bnRpbWVEeGUNCj4gKyAgRklMRV9HVUlEICAgICAgICAg ICAgICAgICAgICAgID0gRkQzQjdFNTUtRkE3Qi00ZTA3LUFFMUQtMjA4QjgxRkIwQkFEDQo+ICsg IE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9SVU5USU1FX0RSSVZFUg0KPiAr ICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgRU5UUllfUE9JTlQg ICAgICAgICAgICAgICAgICAgID0gRHhlRnZiSW5pdGlhbGl6ZQ0KPiArDQo+ICsjDQo+ICsjIFRo ZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVx dWlyZWQgYnkgdGhlDQo+IGJ1aWxkIHRvb2xzLg0KPiArIw0KPiArIyAgVkFMSURfQVJDSElURUNU VVJFUyAgICAgICAgICAgPSBJQTMyIFg2NA0KPiArIw0KPiArIyAgVklSVFVBTF9BRERSRVNTX01B UF9DQUxMQkFDSyAgPSAgRnZiVmlydHVhbGRkcmVzc0NoYW5nZUV2ZW50DQo+ICsjDQo+ICsNCj4g K1tTb3VyY2VzXQ0KPiArICBGdmJJbmZvLmMNCj4gKyAgRnZiU2VydmljZS5oDQo+ICsgIEZ2YlNl cnZpY2UuYw0KPiArICBGdmJTZXJ2aWNlRHhlLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBN ZGVQa2cvTWRlUGtnLmRlYw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiAr ICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNv ZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10N Cj4gKyAgRmxhc2hEZXZpY2VMaWINCj4gKyAgUGNkTGliDQo+ICsgIE1lbW9yeUFsbG9jYXRpb25M aWINCj4gKyAgQ2FjaGVNYWludGVuYW5jZUxpYg0KPiArICBJb0xpYg0KPiArICBCYXNlTWVtb3J5 TGliDQo+ICsgIERlYnVnTGliDQo+ICsgIEJhc2VMaWINCj4gKyAgVWVmaUxpYg0KPiArICBVZWZp UnVudGltZUxpYg0KPiArICBVZWZpQm9vdFNlcnZpY2VzVGFibGVMaWINCj4gKyAgVWVmaURyaXZl ckVudHJ5UG9pbnQNCj4gKw0KPiArW0d1aWRzXQ0KPiArICBnRWZpRmlybXdhcmVGaWxlU3lzdGVt Mkd1aWQgICAgICAgICAgICAgICAgICAgIyBBTFdBWVNfQ09OU1VNRUQNCj4gKyAgZ0VmaVN5c3Rl bU52RGF0YUZ2R3VpZCAgICAgICAgICAgICAgICAgICAgICAgICMgQUxXQVlTX0NPTlNVTUVEDQo+ ICsgIGdFZmlFdmVudFZpcnR1YWxBZGRyZXNzQ2hhbmdlR3VpZA0KPiArDQo+ICtbUHJvdG9jb2xz XQ0KPiArICBnRWZpRGV2aWNlUGF0aFByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgIyBQ Uk9UT0NPTCBBTFdBWVNfUFJPRFVDRUQNCj4gKyAgZ0VmaUZpcm13YXJlVm9sdW1lQmxvY2tQcm90 b2NvbEd1aWQgICAgICAgICAgICMgUFJPVE9DT0wNCj4gQUxXQVlTX1BST0RVQ0VEDQo+ICsNCj4g K1tGaXhlZFBjZF0NCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hG dk1haW5CYXNlDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52 U3RvcmFnZVZhcmlhYmxlQmFzZQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5Q Y2RGbGFzaEZ2UmVjb3ZlcnlCYXNlDQo+ICsNCj4gK1tQY2RdDQo+ICsgIGdQbGF0Zm9ybU1vZHVs ZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZNYWluU2l6ZQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVU b2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnlTaXplDQo+ICsgIGdFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlU2l6ZQ0KPiArICBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hOdlN0b3JhZ2VGdHdXb3JraW5nU2l6 ZQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hOdlN0b3JhZ2VG dHdTcGFyZVNpemUNCj4gKw0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIGdFZmlTcGlQcm90b2NvbEd1 aWQgQU5EIGdFZmlSdW50aW1lQXJjaFByb3RvY29sR3VpZA0KPiArDQo+IGRpZmYgLS1naXQgYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNlcnZpY2Uu Yw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUvRnZi U2VydmljZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmFh NGZhYjAxM2QNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNlcnZpY2UuYw0KPiBAQCAtMCwwICsxLDEwOTgg QEANCj4gKy8qKiBAZmlsZQ0KPiArICBGaXJtd2FyZSBWb2x1bWUgQmxvY2sgRHJpdmVyIGZvciBM YWtlcG9ydCBQbGF0Zm9ybS4NCj4gKw0KPiArICBGaXJtd2FyZSB2b2x1bWUgYmxvY2sgZHJpdmVy IGZvciBGV0ggb3IgU1BJIGRldmljZS4NCj4gKyAgSXQgZGVwZW5kcyBvbiB3aGljaCBGbGFzaCBE ZXZpY2UgTGlicmFyeSB0byBiZSBsaW5rZWQgd2l0aCB0aGlzIGRyaXZlci4NCj4gKw0KPiArQ29w eXJpZ2h0IChjKSAyMDA2ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1 ZGUgIkZ2YlNlcnZpY2UuaCINCj4gKw0KPiArLy8NCj4gKy8vIEdsb2JhbCB2YXJpYWJsZSBmb3Ig dGhpcyBGVkIgZHJpdmVyICB3aGljaCBjb250YWlucw0KPiArLy8gdGhlIHByaXZhdGUgZGF0YSBv ZiBhbGwgZmlybXdhcmUgdm9sdW1lIGJsb2NrIGluc3RhbmNlcy4NCj4gKy8vDQo+ICtGV0JfR0xP QkFMICAgbUZ2Yk1vZHVsZUdsb2JhbDsNCj4gKw0KPiArLy8NCj4gKy8vIFRoaXMgcGxhdGZvcm0g ZHJpdmVyIGtub3dzIHRoZXJlIGFyZSAzIEZWcyBvbg0KPiArLy8gRkQsIHdoaWNoIGFyZSBGdlJl Y292ZXJ5LCBGdk1haW4gYW5kIEZ2TnZTdG9yYWdlLg0KPiArLy8NCj4gK1VJTlQzMiBtUGxhdGZv cm1GdkJhc2VBZGRyZXNzW10gPSB7DQo+ICsgIEZpeGVkUGNkR2V0MzIoUGNkRmxhc2hOdlN0b3Jh Z2VWYXJpYWJsZUJhc2UpLA0KPiArfTsNCj4gKw0KPiArRlZfTUVNTUFQX0RFVklDRV9QQVRIIG1G dk1lbW1hcERldmljZVBhdGhUZW1wbGF0ZSA9IHsNCj4gKyAgew0KPiArICAgIHsNCj4gKyAgICAg IEhBUkRXQVJFX0RFVklDRV9QQVRILA0KPiArICAgICAgSFdfTUVNTUFQX0RQLA0KPiArICAgICAg ew0KPiArICAgICAgICAoVUlOVDgpKHNpemVvZiAoTUVNTUFQX0RFVklDRV9QQVRIKSksDQo+ICsg ICAgICAgIChVSU5UOCkoc2l6ZW9mIChNRU1NQVBfREVWSUNFX1BBVEgpID4+IDgpDQo+ICsgICAg ICB9DQo+ICsgICAgfSwNCj4gKyAgICBFZmlNZW1vcnlNYXBwZWRJTywNCj4gKyAgICAoRUZJX1BI WVNJQ0FMX0FERFJFU1MpIDAsDQo+ICsgICAgKEVGSV9QSFlTSUNBTF9BRERSRVNTKSAwLA0KPiAr ICB9LA0KPiArICB7DQo+ICsgICAgRU5EX0RFVklDRV9QQVRIX1RZUEUsDQo+ICsgICAgRU5EX0VO VElSRV9ERVZJQ0VfUEFUSF9TVUJUWVBFLA0KPiArICAgIHsNCj4gKyAgICAgIEVORF9ERVZJQ0Vf UEFUSF9MRU5HVEgsDQo+ICsgICAgICAwDQo+ICsgICAgfQ0KPiArICB9DQo+ICt9Ow0KPiArDQo+ ICtGVl9QSVdHX0RFVklDRV9QQVRIIG1GdlBJV0dEZXZpY2VQYXRoVGVtcGxhdGUgPSB7DQo+ICsg IHsNCj4gKyAgICB7DQo+ICsgICAgICBNRURJQV9ERVZJQ0VfUEFUSCwNCj4gKyAgICAgIE1FRElB X1BJV0dfRldfVk9MX0RQLA0KPiArICAgICAgew0KPiArICAgICAgICAoVUlOVDgpKHNpemVvZiAo TUVESUFfRldfVk9MX0RFVklDRV9QQVRIKSksDQo+ICsgICAgICAgIChVSU5UOCkoc2l6ZW9mIChN RURJQV9GV19WT0xfREVWSUNFX1BBVEgpID4+IDgpDQo+ICsgICAgICB9DQo+ICsgICAgfSwNCj4g KyAgICB7IDAgfQ0KPiArICB9LA0KPiArICB7DQo+ICsgICAgRU5EX0RFVklDRV9QQVRIX1RZUEUs DQo+ICsgICAgRU5EX0VOVElSRV9ERVZJQ0VfUEFUSF9TVUJUWVBFLA0KPiArICAgIHsNCj4gKyAg ICAgIEVORF9ERVZJQ0VfUEFUSF9MRU5HVEgsDQo+ICsgICAgICAwDQo+ICsgICAgfQ0KPiArICB9 DQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gVGVtcGxhdGUgc3RydWN0dXJlIHVzZWQgd2hlbiBp bnN0YWxsaW5nIEZWQiBwcm90b2NvbC4NCj4gKy8vDQo+ICtFRklfRldfVk9MX0JMT0NLX0RFVklD RSBtRnZiRGV2aWNlVGVtcGxhdGUgPSB7DQo+ICsgIEZWQl9ERVZJQ0VfU0lHTkFUVVJFLA0KPiAr ICBOVUxMLA0KPiArICAwLCAvLyBJbnN0YW5jZQ0KPiArICB7DQo+ICsgICAgRnZiUHJvdG9jb2xH ZXRBdHRyaWJ1dGVzLA0KPiArICAgIEZ2YlByb3RvY29sU2V0QXR0cmlidXRlcywNCj4gKyAgICBG dmJQcm90b2NvbEdldFBoeXNpY2FsQWRkcmVzcywNCj4gKyAgICBGdmJQcm90b2NvbEdldEJsb2Nr U2l6ZSwNCj4gKyAgICBGdmJQcm90b2NvbFJlYWQsDQo+ICsgICAgRnZiUHJvdG9jb2xXcml0ZSwN Cj4gKyAgICBGdmJQcm90b2NvbEVyYXNlQmxvY2tzLA0KPiArICAgIE5VTEwNCj4gKyAgfSAvLyBG d1ZvbEJsb2NrSW5zdGFuY2UNCj4gK307DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEdldCB0aGUg cG9pbnRlciB0byBFRklfRldfVk9MX0lOU1RBTkNFIGZyb20gdGhlIGJ1ZmZlciBwb2ludGVkDQo+ ICsgIGJ5IG1GdmJNb2R1bGVHbG9iYWwuRnZJbnN0YW5jZSBiYXNlZCBvbiBhIGluZGV4Lg0KPiAr ICBFYWNoIEVGSV9GV19WT0xfSU5TVEFOQ0UgaXMgIHdpdGggdmFyaWFibGUgbGVuZ3RoIGFzDQo+ ICsgIHdlIGhhdmUgYSBibG9jayBtYXAgYXQgdGhlIGVuZCBvZiB0aGUgRUZJX0ZJUk1XQVJFX1ZP TFVNRV9IRUFERVIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBJbnN0YW5jZSBUaGUgaW5kZXggb2Yg dGhlIEVGSV9GV19WT0xfSU5TVEFOQ0UuDQo+ICsNCj4gKyAgQHJldHVybiBBIHBvaW50ZXIgdG8g RUZJX0ZXX1ZPTF9JTlNUQU5DRS4NCj4gKw0KPiArKiovDQo+ICtFRklfRldfVk9MX0lOU1RBTkNF ICoNCj4gK0dldEZ2Ykluc3RhbmNlICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgIEluc3Rh bmNlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX0ZXX1ZPTF9JTlNUQU5DRSAgICpGd2hSZWNvcmQ7 DQo+ICsNCj4gKyAgaWYgKCBJbnN0YW5jZSA+PSBtRnZiTW9kdWxlR2xvYmFsLk51bUZ2ICkgew0K PiArICAgIEFTU0VSVF9FRklfRVJST1IgKEVGSV9JTlZBTElEX1BBUkFNRVRFUik7DQo+ICsgICAg cmV0dXJuIE5VTEw7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBGaW5kIHRoZSByaWdo dCBpbnN0YW5jZSBvZiB0aGUgRlZCIHByaXZhdGUgZGF0YS4NCj4gKyAgLy8NCj4gKyAgRndoUmVj b3JkID0gbUZ2Yk1vZHVsZUdsb2JhbC5Gdkluc3RhbmNlOw0KPiArICB3aGlsZSAoIEluc3RhbmNl ID4gMCApIHsNCj4gKyAgICBGd2hSZWNvcmQgPSAoRUZJX0ZXX1ZPTF9JTlNUQU5DRSAqKSAoKFVJ TlROKSgoVUlOVDggKilGd2hSZWNvcmQpDQo+ICsNCj4gKyAgICAgICAgICAgICAgICBGd2hSZWNv cmQtPlZvbHVtZUhlYWRlci5IZWFkZXJMZW5ndGggKw0KPiArICAgICAgICAgICAgICAgIChzaXpl b2YgKEVGSV9GV19WT0xfSU5TVEFOQ0UpIC0gc2l6ZW9mDQo+IChFRklfRklSTVdBUkVfVk9MVU1F X0hFQURFUikpKTsNCj4gKyAgICBJbnN0YW5jZSAtLTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVy biBGd2hSZWNvcmQ7DQo+ICsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgR2V0IHRoZSBF RklfRlZCX0FUVFJJQlVURVNfMiBvZiBhIEZWLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIFRoZSBp bmRleCBvZiB0aGUgRUZJX0ZXX1ZPTF9JTlNUQU5DRS4NCj4gKw0KPiArICBAcmV0dXJuICAgICBF RklfRlZCX0FUVFJJQlVURVNfMiBvZiB0aGUgRlYgaWRlbnRpZmllZCBieSBJbnN0YW5jZS4NCj4g Kw0KPiArKiovDQo+ICtTVEFUSUMNCj4gK0VGSV9GVkJfQVRUUklCVVRFU18yDQo+ICtGdmJHZXRW b2x1bWVBdHRyaWJ1dGVzICgNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEluc3RhbmNlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX0ZXX1ZPTF9JTlNUQU5DRSAq ICAgIEZ3SW5zdGFuY2UgPSBOVUxMOw0KPiArICBGd0luc3RhbmNlID0gR2V0RnZiSW5zdGFuY2Uo SW5zdGFuY2UpOw0KPiArICBBU1NFUlQgKEZ3SW5zdGFuY2UgIT0gTlVMTCk7DQo+ICsNCj4gKyAg aWYgKCBGd0luc3RhbmNlICE9IE5VTEwgKSB7DQo+ICsgICAgcmV0dXJuIEZ3SW5zdGFuY2UtPlZv bHVtZUhlYWRlci5BdHRyaWJ1dGVzOw0KPiArICB9IGVsc2Ugew0KPiArICAgIHJldHVybiAwOw0K PiArICB9DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFJldHJpZXZlcyB0aGUgc3RhcnRp bmcgYWRkcmVzcyBvZiBhbiBMQkEgaW4gYW4gRlYuIEl0IGFsc28NCj4gKyAgcmV0dXJuIGEgZmV3 IG90aGVyIGF0dHJpYnV0IG9mIHRoZSBGVi4NCj4gKw0KPiArICBAcGFyYW1baW5dICBJbnN0YW5j ZSAgICAgICAgICAgICAgIFRoZSBpbmRleCBvZiB0aGUgRUZJX0ZXX1ZPTF9JTlNUQU5DRS4NCj4g KyAgQHBhcmFtW2luXSAgTGJhICAgICAgICAgICAgICAgICAgICBUaGUgbG9naWNhbCBibG9jayBh ZGRyZXNzLg0KPiArICBAcGFyYW1bb3V0XSBMYmFBZGRyZXNzICAgICAgICAgICAgIE9uIG91dHB1 dCwgY29udGFpbnMgdGhlIHBoeXNpY2FsIHN0YXJ0aW5nDQo+IGFkZHJlc3MNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiB0aGUgTGJhLg0KPiArICBAcGFyYW1bb3V0 XSBMYmFMZW5ndGggICAgICAgICAgICAgIE9uIG91dHB1dCwgY29udGFpbnMgdGhlIGxlbmd0aCBv ZiB0aGUgYmxvY2suDQo+ICsgIEBwYXJhbVtvdXRdIE51bU9mQmxvY2tzICAgICAgICAgICAgQSBw b2ludGVyIHRvIGEgY2FsbGVyIGFsbG9jYXRlZCBVSU5UTiBpbg0KPiB3aGljaCB0aGUNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgb2YgY29uc2VjdXRpdmUg YmxvY2tzIHN0YXJ0aW5nIHdpdGggTGJhIGlzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuZWQuIEFsbCBibG9ja3MgaW4gdGhpcyByYW5nZSBoYXZlIGEgc2l6 ZSBvZg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrU2l6ZS4N Cj4gKw0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUyBTdWNjZXNzZnVsbHkgIHJldHVybnMuDQo+ ICsgIEByZXR2YWwgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgICAgSW5zdGFuY2Ugbm90IGZvdW5k Lg0KPiArDQo+ICsqKi8NCj4gK1NUQVRJQw0KPiArRUZJX1NUQVRVUw0KPiArRnZiR2V0TGJhQWRk cmVzcyAoDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnN0 YW5jZSwNCj4gKyAgSU4gIEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExiYSwN Cj4gKyAgT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpMYmFBZGRyZXNz LA0KPiArICBPVVQgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkxiYUxlbmd0 aCwNCj4gKyAgT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpOdW1PZkJs b2Nrcw0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOdW1CbG9ja3MgPSAwOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQmxvY2tMZW5ndGggPSAwOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgT2Zmc2V0Ow0KPiArICBFRklfTEJBICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgU3RhcnRMYmE7DQo+ICsgIEVGSV9MQkEgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOZXh0TGJhOw0KPiArICBFRklfRldfVk9MX0lOU1RBTkNFICAgICAgICAg ICAgICAgICAgICAgKkZ3aEluc3RhbmNlOw0KPiArICBFRklfRlZfQkxPQ0tfTUFQX0VOVFJZICAg ICAgICAgICAgICAgICAgKkJsb2NrTWFwID0gTlVMTDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBG aW5kIHRoZSByaWdodCBpbnN0YW5jZSBvZiB0aGUgRlZCIHByaXZhdGUgZGF0YS4NCj4gKyAgLy8N Cj4gKyAgRndoSW5zdGFuY2UgPSBHZXRGdmJJbnN0YW5jZSAoSW5zdGFuY2UpOw0KPiArDQo+ICsg IFN0YXJ0TGJhICA9IDA7DQo+ICsgIE9mZnNldCAgICA9IDA7DQo+ICsgIEJsb2NrTWFwICA9ICYo RndoSW5zdGFuY2UtPlZvbHVtZUhlYWRlci5CbG9ja01hcFswXSk7DQo+ICsgIEFTU0VSVCAoQmxv Y2tNYXAgIT0gTlVMTCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUGFyc2UgdGhlIGJsb2NrbWFw IG9mIHRoZSBGViB0byBmaW5kIHdoaWNoIG1hcCBlbnRyeSB0aGUgTGJhIGJlbG9uZ3MNCj4gdG8u DQo+ICsgIC8vDQo+ICsgIHdoaWxlIChUUlVFKSB7DQo+ICsgICAgaWYgKCBCbG9ja01hcCAhPSBO VUxMKSB7DQo+ICsgICAgICBOdW1CbG9ja3MgICA9IEJsb2NrTWFwLT5OdW1CbG9ja3M7DQo+ICsg ICAgICBCbG9ja0xlbmd0aCA9IEJsb2NrTWFwLT5MZW5ndGg7DQo+ICsgICAgfQ0KPiArDQo+ICsg ICAgaWYgKCBOdW1CbG9ja3MgPT0gMCB8fCBCbG9ja0xlbmd0aCA9PSAwKSB7DQo+ICsgICAgICBy ZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgIH0NCj4gKw0KPiArICAgIE5leHRM YmEgPSBTdGFydExiYSArIE51bUJsb2NrczsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gVGhl IG1hcCBlbnRyeSBmb3VuZC4NCj4gKyAgICAvLw0KPiArICAgIGlmIChMYmEgPj0gU3RhcnRMYmEg JiYgTGJhIDwgTmV4dExiYSkgew0KPiArICAgICAgT2Zmc2V0ID0gT2Zmc2V0ICsgKFVJTlROKU11 bHRVNjR4MzIoKExiYSAtIFN0YXJ0TGJhKSwgQmxvY2tMZW5ndGgpOw0KPiArICAgICAgaWYgKCBM YmFBZGRyZXNzICYmIEZ3aEluc3RhbmNlICkgew0KPiArICAgICAgICAqTGJhQWRkcmVzcyA9IEZ3 aEluc3RhbmNlLT5GdkJhc2UgKyBPZmZzZXQ7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIGlm IChMYmFMZW5ndGggKSB7DQo+ICsgICAgICAgICpMYmFMZW5ndGggPSBCbG9ja0xlbmd0aDsNCj4g KyAgICAgIH0NCj4gKw0KPiArICAgICAgaWYgKE51bU9mQmxvY2tzICkgew0KPiArICAgICAgICAq TnVtT2ZCbG9ja3MgPSAoVUlOVE4pKE5leHRMYmEgLSBMYmEpOw0KPiArICAgICAgfQ0KPiArICAg ICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFN0YXJ0TGJhICA9 IE5leHRMYmE7DQo+ICsgICAgT2Zmc2V0ICAgID0gT2Zmc2V0ICsgTnVtQmxvY2tzICogQmxvY2tM ZW5ndGg7DQo+ICsgICAgQmxvY2tNYXArKzsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsNCj4gKy8q Kg0KPiArICBSZWFkcyBzcGVjaWZpZWQgbnVtYmVyIG9mIGJ5dGVzIGludG8gYSBidWZmZXIgZnJv bSB0aGUgc3BlY2lmaWVkIGJsb2NrLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gICAgICBJbnN0YW5j ZSAgICAgICAgICAgICAgIFRoZSBGViBpbnN0YW5jZSB0byBiZSByZWFkIGZyb20uDQo+ICsgIEBw YXJhbVtpbl0gICAgICBMYmEgICAgICAgICAgICAgICAgICAgIFRoZSBsb2dpY2FsIGJsb2NrIGFk ZHJlc3MgdG8gYmUgcmVhZCBmcm9tLg0KPiArICBAcGFyYW1baW5dICAgICAgQmxvY2tPZmZzZXQg ICAgICAgICAgICBPZmZzZXQgaW50byB0aGUgYmxvY2sgYXQgd2hpY2ggdG8gYmVnaW4NCj4gcmVh ZGluZy4NCj4gKyAgQHBhcmFtW2luXSAgICAgIE51bUJ5dGVzICAgICAgICAgICAgICAgUG9pbnRl ciB0aGF0IG9uIGlucHV0IGNvbnRhaW5zIHRoZSB0b3RhbA0KPiBzaXplIG9mDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBidWZmZXIuIE9uIG91dHB1dCwg aXQgY29udGFpbnMgdGhlIHRvdGFsIG51bWJlcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBvZiBieXRlcyByZWFkLg0KPiArICBAcGFyYW1baW5dICAgICAgQnVm ZmVyICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIGEgY2FsbGVyIGFsbG9jYXRlZCBidWZmZXIg dGhhdCB3aWxsDQo+IGJlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHVzZWQgdG8gaG9sZCB0aGUgZGF0YSByZWFkLg0KPiArDQo+ICsNCj4gKyAgQHJldHZhbCAg ICAgICAgIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGZpcm13YXJlIHZvbHVtZSB3YXMgcmVh ZCBzdWNjZXNzZnVsbHkNCj4gYW5kDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvbnRlbnRzIGFyZSBpbiBCdWZmZXIuDQo+ICsgIEByZXR2YWwgICAgICAgICBF RklfQkFEX0JVRkZFUl9TSVpFICAgIFJlYWQgYXR0ZW1wdGVkIGFjcm9zcyBhIExCQQ0KPiBib3Vu ZGFyeS4gT24gb3V0cHV0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBOdW1CeXRlcyBjb250YWlucyB0aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHJldHVybmVk DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIEJ1ZmZlci4N Cj4gKyAgQHJldHZhbCAgICAgICAgIEVGSV9BQ0NFU1NfREVOSUVEICAgICAgVGhlIGZpcm13YXJl IHZvbHVtZSBpcyBpbiB0aGUNCj4gUmVhZERpc2FibGVkIHN0YXRlLg0KPiArICBAcmV0dmFsICAg ICAgICAgRUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgYmxvY2sgZGV2aWNlIGlzIG5vdCBmdW5j dGlvbmluZw0KPiBjb3JyZWN0bHkgYW5kDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvdWxkIG5vdCBiZSByZWFkLg0KPiArICBAcmV0dmFsICAgICAgICAgRUZJ X0lOVkFMSURfUEFSQU1FVEVSICBJbnN0YW5jZSBub3QgZm91bmQsIG9yIE51bUJ5dGVzLA0KPiBC dWZmZXIgYXJlIE5VTEwuDQo+ICsNCj4gKyoqLw0KPiArU1RBVElDDQo+ICtFRklfU1RBVFVTDQo+ ICtGdmJSZWFkQmxvY2sgKA0KPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSW5zdGFuY2UsDQo+ICsgIElOIEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBMYmEsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC bG9ja09mZnNldCwNCj4gKyAgSU4gT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg ICpOdW1CeXRlcywNCj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICpCdWZmZXINCj4gKyAgKQ0KPiArew0KPiArICBFRklfRlZCX0FUVFJJQlVURVNfMiAgICAgICAg ICAgICAgICAgICAgQXR0cmlidXRlczsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIExiYUFkZHJlc3M7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBMYmFMZW5ndGg7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgaWYgKCAoTnVtQnl0ZXMgPT0gTlVMTCkg fHwgKEJ1ZmZlciA9PSBOVUxMKSkgew0KPiArICAgIHJldHVybiAoRUZJX0lOVkFMSURfUEFSQU1F VEVSKTsNCj4gKyAgfQ0KPiArICBpZiAoKk51bUJ5dGVzID09IDApIHsNCj4gKyAgICByZXR1cm4g KEVGSV9JTlZBTElEX1BBUkFNRVRFUik7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBGdmJH ZXRMYmFBZGRyZXNzIChJbnN0YW5jZSwgTGJhLCAmTGJhQWRkcmVzcywgJkxiYUxlbmd0aCwNCj4g TlVMTCk7DQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0 dXM7DQo+ICsgIH0NCj4gKw0KPiArICBBdHRyaWJ1dGVzID0gRnZiR2V0Vm9sdW1lQXR0cmlidXRl cyAoSW5zdGFuY2UpOw0KPiArDQo+ICsgIGlmICggKEF0dHJpYnV0ZXMgJiBFRklfRlZCMl9SRUFE X1NUQVRVUykgPT0gMCkgew0KPiArICAgIHJldHVybiAoRUZJX0FDQ0VTU19ERU5JRUQpOw0KPiAr ICB9DQo+ICsNCj4gKyAgaWYgKEJsb2NrT2Zmc2V0ID4gTGJhTGVuZ3RoKSB7DQo+ICsgICByZXR1 cm4gKEVGSV9JTlZBTElEX1BBUkFNRVRFUik7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoTGJhTGVu Z3RoIDwgKCAqTnVtQnl0ZXMgKyBCbG9ja09mZnNldCApICkgew0KPiArICAgICpOdW1CeXRlcyA9 IChVSU5UMzIpIChMYmFMZW5ndGggLSBCbG9ja09mZnNldCk7DQo+ICsgICAgU3RhdHVzID0gRUZJ X0JBRF9CVUZGRVJfU0laRTsNCj4gKyAgfQ0KPiArDQo+ICsgIExpYkZ2YkZsYXNoRGV2aWNlUmVh ZCAoTGJhQWRkcmVzcyArIEJsb2NrT2Zmc2V0LCBOdW1CeXRlcywgQnVmZmVyKTsNCj4gKw0KPiAr ICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBXcml0ZXMgc3Bl Y2lmaWVkIG51bWJlciBvZiBieXRlcyBmcm9tIHRoZSBpbnB1dCBidWZmZXIgdG8gdGhlIGJsb2Nr Lg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIEluc3RhbmNlICAgICAgICAgICAgICAgVGhlIEZWIGlu c3RhbmNlIHRvIGJlIHdyaXR0ZW4gdG8uDQo+ICsgIEBwYXJhbVtpbl0gIExiYSAgICAgICAgICAg ICAgICAgICAgVGhlIHN0YXJ0aW5nIGxvZ2ljYWwgYmxvY2sgaW5kZXggdG8gd3JpdGUgdG8uDQo+ ICsgIEBwYXJhbVtpbl0gIEJsb2NrT2Zmc2V0ICAgICAgICAgICAgT2Zmc2V0IGludG8gdGhlIGJs b2NrIGF0IHdoaWNoIHRvIGJlZ2luDQo+IHdyaXRpbmcuDQo+ICsgIEBwYXJhbVtpbl0gIE51bUJ5 dGVzICAgICAgICAgICAgICAgUG9pbnRlciB0aGF0IG9uIGlucHV0IGNvbnRhaW5zIHRoZSB0b3Rh bCBzaXplDQo+IG9mDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhl IGJ1ZmZlci4gT24gb3V0cHV0LCBpdCBjb250YWlucyB0aGUgdG90YWwgbnVtYmVyDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2YgYnl0ZXMgYWN0dWFsbHkgd3JpdHRl bi4NCj4gKyAgQHBhcmFtW2luXSAgQnVmZmVyICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIGEg Y2FsbGVyIGFsbG9jYXRlZCBidWZmZXIgdGhhdA0KPiBjb250YWlucw0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzb3VyY2UgZm9yIHRoZSB3cml0ZS4NCj4gKyAg QHJldHZhbCAgICAgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIHdh cyB3cml0dGVuDQo+IHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCAgICAgRUZJX0JBRF9CVUZG RVJfU0laRSAgICBXcml0ZSBhdHRlbXB0ZWQgYWNyb3NzIGEgTEJBDQo+IGJvdW5kYXJ5LiBPbiBv dXRwdXQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtQnl0ZXMg Y29udGFpbnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcw0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIGFjdHVhbGx5IHdyaXR0ZS4NCj4gKyAgQHJldHZhbCAgICAgRUZJ X0FDQ0VTU19ERU5JRUQgICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIGlzIGluIHRoZQ0KPiBXcml0 ZURpc2FibGVkIHN0YXRlLg0KPiArICBAcmV0dmFsICAgICBFRklfREVWSUNFX0VSUk9SICAgICAg IFRoZSBibG9jayBkZXZpY2UgaXMgbm90IGZ1bmN0aW9uaW5nDQo+IGNvcnJlY3RseSBhbmQNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VsZCBub3QgYmUgd3JpdHRl bi4NCj4gKyAgQHJldHZhbCAgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBJbnN0YW5jZSBub3Qg Zm91bmQsIG9yIE51bUJ5dGVzLA0KPiBCdWZmZXIgYXJlIE5VTEwuDQo+ICsNCj4gKyoqLw0KPiAr RUZJX1NUQVRVUw0KPiArRnZiV3JpdGVCbG9jayAoDQo+ICsgIElOIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZSwNCj4gKyAgSU4gRUZJX0xCQSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIExiYSwNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIEJsb2NrT2Zmc2V0LA0KPiArICBJTiBPVVQgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgKk51bUJ5dGVzLA0KPiArICBJTiBVSU5UOCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKkJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9GVkJfQVRUUklC VVRFU18yICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVzOw0KPiArICBVSU5UTiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJhQWRkcmVzczsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExiYUxlbmd0aDsNCj4gKyAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czE7DQo+ICsNCj4gKyAgaWYgKCAoTnVtQnl0 ZXMgPT0gTlVMTCkgfHwgKEJ1ZmZlciA9PSBOVUxMKSkgew0KPiArICAgIHJldHVybiAoRUZJX0lO VkFMSURfUEFSQU1FVEVSKTsNCj4gKyAgfQ0KPiArICBpZiAoKk51bUJ5dGVzID09IDApIHsNCj4g KyAgICByZXR1cm4gKEVGSV9JTlZBTElEX1BBUkFNRVRFUik7DQo+ICsgIH0NCj4gKw0KPiArICBT dGF0dXMgPSBGdmJHZXRMYmFBZGRyZXNzIChJbnN0YW5jZSwgTGJhLCAmTGJhQWRkcmVzcywgJkxi YUxlbmd0aCwNCj4gTlVMTCk7DQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAg IHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVjayBpZiB0 aGUgRlYgaXMgd3JpdGUgZW5hYmxlZC4NCj4gKyAgLy8NCj4gKyAgQXR0cmlidXRlcyA9IEZ2Ykdl dFZvbHVtZUF0dHJpYnV0ZXMgKEluc3RhbmNlKTsNCj4gKyAgaWYgKCAoQXR0cmlidXRlcyAmIEVG SV9GVkIyX1dSSVRFX1NUQVRVUykgPT0gMCkgew0KPiArICAgIHJldHVybiAoRUZJX0FDQ0VTU19E RU5JRUQpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUGVyZm9ybSBib3VuZGFyeSBj aGVja3MgYW5kIGFkanVzdCBOdW1CeXRlcy4NCj4gKyAgLy8NCj4gKyAgaWYgKEJsb2NrT2Zmc2V0 ID4gTGJhTGVuZ3RoKSB7DQo+ICsgICAgcmV0dXJuIChFRklfSU5WQUxJRF9QQVJBTUVURVIpOw0K PiArICB9DQo+ICsNCj4gKyAgaWYgKCBMYmFMZW5ndGggPCAoICpOdW1CeXRlcyArIEJsb2NrT2Zm c2V0ICkgKSB7DQo+ICsgICAgREVCVUcgKChFRklfRF9FUlJPUiwNCj4gKyAgICAgICJGdldyaXRl QmxvY2s6IFJlZHVjaW5nIE51bWJ5dGVzIGZyb20gMHgleCB0byAweCV4XG4iLA0KPiArICAgICAg Kk51bUJ5dGVzLA0KPiArICAgICAgKFVJTlQzMikoTGJhTGVuZ3RoLUJsb2NrT2Zmc2V0KSkNCj4g KyAgICAgICk7DQo+ICsgICAgKk51bUJ5dGVzID0gKFVJTlQzMikgKExiYUxlbmd0aCAtIEJsb2Nr T2Zmc2V0KTsNCj4gKyAgICBTdGF0dXMgPSBFRklfQkFEX0JVRkZFUl9TSVpFOw0KPiArICB9DQo+ ICsNCj4gKyAgTGliRnZiRmxhc2hEZXZpY2VCbG9ja0xvY2sgKExiYUFkZHJlc3MsIExiYUxlbmd0 aCwgRkFMU0UpOw0KPiArDQo+ICsgIFN0YXR1czEgPSBMaWJGdmJGbGFzaERldmljZVdyaXRlIChM YmFBZGRyZXNzICsgQmxvY2tPZmZzZXQsIE51bUJ5dGVzLA0KPiBCdWZmZXIpOw0KPiArDQo+ICsg IExpYkZ2YkZsYXNoRGV2aWNlQmxvY2tMb2NrIChMYmFBZGRyZXNzLCBMYmFMZW5ndGgsIFRSVUUp Ow0KPiArICBXcml0ZUJhY2tJbnZhbGlkYXRlRGF0YUNhY2hlUmFuZ2UgKChWT0lEICopIChMYmFB ZGRyZXNzICsgQmxvY2tPZmZzZXQpLA0KPiAqTnVtQnl0ZXMpOw0KPiArDQo+ICsgIGlmICggRUZJ X0VSUk9SIChTdGF0dXMxKSApIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzMTsNCj4gKyAgfQ0KPiAr DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEVyYXNl cyBhbmQgaW5pdGlhbGl6ZXMgYSBmaXJtd2FyZSB2b2x1bWUgYmxvY2suDQo+ICsNCj4gKyAgQHBh cmFtW2luXSAgICBJbnN0YW5jZSAgICAgICAgICAgVGhlIEZWIGluc3RhbmNlIHRvIGJlIGVyYXNl ZC4NCj4gKyAgQHBhcmFtW2luXSAgICBMYmEgICAgICAgICAgICAgICAgVGhlIGxvZ2ljYWwgYmxv Y2sgaW5kZXggdG8gYmUgZXJhc2VkLg0KPiArDQo+ICsgIEByZXR2YWwgICBFRklfU1VDQ0VTUyAg ICAgICAgICAgIFRoZSBlcmFzZSByZXF1ZXN0IHdhcyBzdWNjZXNzZnVsbHkgY29tcGxldGVkLg0K PiArICBAcmV0dmFsICAgRUZJX0FDQ0VTU19ERU5JRUQgICAgICBUaGUgZmlybXdhcmUgdm9sdW1l IGlzIGluIHRoZQ0KPiBXcml0ZURpc2FibGVkIHN0YXRlLg0KPiArICBAcmV0dmFsICAgRUZJX0RF VklDRV9FUlJPUiAgICAgICBUaGUgYmxvY2sgZGV2aWNlIGlzIG5vdCBmdW5jdGlvbmluZw0KPiBj b3JyZWN0bHkgYW5kDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvdWxk IG5vdCBiZSB3cml0dGVuLiBGaXJtd2FyZSBkZXZpY2UgbWF5IGhhdmUgYmVlbg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYXJ0aWFsbHkgZXJhc2VkLg0KPiArICBAcmV0 dmFsICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBJbnN0YW5jZSBub3QgZm91bmQuDQo+ICsNCj4g KyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRnZiRXJhc2VCbG9jayAoDQo+ICsgIElOIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZSwNCj4gKyAgSU4gRUZJX0xCQSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIExiYQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9G VkJfQVRUUklCVVRFU18yICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVzOw0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJhQWRkcmVzczsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExiYUxlbmd0aDsNCj4gKyAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBDaGVjayBpZiB0aGUgRlYgaXMgd3JpdGUgZW5hYmxlZC4NCj4gKyAgLy8NCj4g KyAgQXR0cmlidXRlcyA9IEZ2YkdldFZvbHVtZUF0dHJpYnV0ZXMgKEluc3RhbmNlKTsNCj4gKw0K PiArICBpZiggKEF0dHJpYnV0ZXMgJiBFRklfRlZCMl9XUklURV9TVEFUVVMpID09IDApIHsNCj4g KyAgICByZXR1cm4gKEVGSV9BQ0NFU1NfREVOSUVEKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIEdldCB0aGUgc3RhcnRpbmcgYWRkcmVzcyBvZiB0aGUgYmxvY2sgZm9yIGVyYXNlLg0K PiArICAvLw0KPiArICBTdGF0dXMgPSBGdmJHZXRMYmFBZGRyZXNzIChJbnN0YW5jZSwgTGJhLCAm TGJhQWRkcmVzcywgJkxiYUxlbmd0aCwNCj4gTlVMTCk7DQo+ICsgIGlmIChFRklfRVJST1IoU3Rh dHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBMaWJGdmJG bGFzaERldmljZUJsb2NrTG9jayAoTGJhQWRkcmVzcywgTGJhTGVuZ3RoLCBGQUxTRSk7DQo+ICsN Cj4gKyAgU3RhdHVzID0gTGliRnZiRmxhc2hEZXZpY2VCbG9ja0VyYXNlIChMYmFBZGRyZXNzLCBM YmFMZW5ndGgpOw0KPiArDQo+ICsgIExpYkZ2YkZsYXNoRGV2aWNlQmxvY2tMb2NrIChMYmFBZGRy ZXNzLCBMYmFMZW5ndGgsIFRSVUUpOw0KPiArDQo+ICsgIFdyaXRlQmFja0ludmFsaWRhdGVEYXRh Q2FjaGVSYW5nZSAoKFZPSUQgKikgTGJhQWRkcmVzcywgTGJhTGVuZ3RoKTsNCj4gKw0KPiArICBy ZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBNb2RpZmllcyB0aGUg Y3VycmVudCBzZXR0aW5ncyBvZiB0aGUgZmlybXdhcmUgdm9sdW1lIGFjY29yZGluZyB0byB0aGUN Cj4gKyAgaW5wdXQgcGFyYW1ldGVyLCBhbmQgcmV0dXJucyB0aGUgbmV3IHNldHRpbmcgb2YgdGhl IHZvbHVtZS4NCj4gKw0KPiArICBAcGFyYW1baW5dICBJbnN0YW5jZSAgICAgICAgICAgICAgVGhl IEZWIGluc3RhbmNlIHdob3NlIGF0dHJpYnV0ZXMgaXMgZ29pbmcgdG8NCj4gYmUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1vZGlmaWVkLg0KPiArICBAcGFyYW1baW5d ICBBdHRyaWJ1dGVzICAgICAgICAgICAgT24gaW5wdXQsIGl0IGlzIGEgcG9pbnRlciB0bw0KPiBF RklfRlZCX0FUVFJJQlVURVNfMg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29udGFpbmluZyB0aGUgZGVzaXJlZCBmaXJtd2FyZSB2b2x1bWUgc2V0dGluZ3MuDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiBzdWNjZXNzZnVsIHJldHVybiwg aXQgY29udGFpbnMgdGhlIG5ldyBzZXR0aW5ncw0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgb2YgdGhlIGZpcm13YXJlIHZvbHVtZS4NCj4gKw0KPiArICBAcmV0dmFsICAg ICBFRklfU1VDQ0VTUyAgICAgICAgICAgU3VjY2Vzc2Z1bGx5IHJldHVybnMuDQo+ICsgIEByZXR2 YWwgICAgIEVGSV9BQ0NFU1NfREVOSUVEICAgICBUaGUgdm9sdW1lIHNldHRpbmcgaXMgbG9ja2Vk IGFuZCBjYW5ub3QNCj4gYmUgbW9kaWZpZWQuDQo+ICsgIEByZXR2YWwgICAgIEVGSV9JTlZBTElE X1BBUkFNRVRFUiBJbnN0YW5jZSBub3QgZm91bmQsIG9yIFRoZSBhdHRyaWJ1dGVzDQo+IHJlcXVl c3RlZCBhcmUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIGNvbmZs aWN0IHdpdGggdGhlIGNhcGFiaWxpdGllcyBhcyBkZWNsYXJlZCBpbiB0aGUNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpcm13YXJlIHZvbHVtZSBoZWFkZXIuDQo+ICsN Cj4gKyoqLw0KPiArU1RBVElDDQo+ICtFRklfU1RBVFVTDQo+ICtGdmJTZXRWb2x1bWVBdHRyaWJ1 dGVzICgNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3Rh bmNlLA0KPiArICBJTiBPVVQgRUZJX0ZWQl9BVFRSSUJVVEVTXzIgICAgICAgICAgICAgKkF0dHJp YnV0ZXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfRldfVk9MX0lOU1RBTkNFICAgICAgICAgICAg ICAgICAgICAgICAqRndoSW5zdGFuY2UgPSBOVUxMOw0KPiArICBFRklfRlZCX0FUVFJJQlVURVNf MiAgICAgICAgICAgICAgICAgICAgICBPbGRBdHRyaWJ1dGVzID0gMDsNCj4gKyAgRUZJX0ZWQl9B VFRSSUJVVEVTXzIgICAgICAgICAgICAgICAgICAgICAgKkF0dHJpYlB0ciA9IE5VTEw7DQo+ICsg IEVGSV9GVkJfQVRUUklCVVRFU18yICAgICAgICAgICAgICAgICAgICAgIFVuY2hhbmdlZEF0dHJp YnV0ZXM7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENh cGFiaWxpdGllczsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgT2xkU3RhdHVzLCBOZXdTdGF0dXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmluZCB0aGUg cmlnaHQgaW5zdGFuY2Ugb2YgdGhlIEZWQiBwcml2YXRlIGRhdGEuDQo+ICsgIC8vDQo+ICsgIEZ3 aEluc3RhbmNlID0gR2V0RnZiSW5zdGFuY2UgKEluc3RhbmNlKTsNCj4gKw0KPiArICBBdHRyaWJQ dHIgICAgID0gKEVGSV9GVkJfQVRUUklCVVRFU18yICopICYgKEZ3aEluc3RhbmNlLQ0KPiA+Vm9s dW1lSGVhZGVyLkF0dHJpYnV0ZXMpOw0KPiArICBBU1NFUlQgKEF0dHJpYlB0ciAhPSBOVUxMKTsN Cj4gKw0KPiArICBpZiAoIEF0dHJpYlB0ciAhPSBOVUxMKSB7DQo+ICsgICAgT2xkQXR0cmlidXRl cyA9ICpBdHRyaWJQdHI7DQo+ICsgIH0NCj4gKw0KPiArICBDYXBhYmlsaXRpZXMgID0gT2xkQXR0 cmlidXRlcyAmIEVGSV9GVkIyX0NBUEFCSUxJVElFUzsNCj4gKyAgT2xkU3RhdHVzICAgICA9IE9s ZEF0dHJpYnV0ZXMgJiBFRklfRlZCMl9TVEFUVVM7DQo+ICsgIE5ld1N0YXR1cyAgICAgPSAqQXR0 cmlidXRlcyAmIEVGSV9GVkIyX1NUQVRVUzsNCj4gKw0KPiArICBVbmNoYW5nZWRBdHRyaWJ1dGVz ID0gRUZJX0ZWQjJfUkVBRF9ESVNBQkxFRF9DQVAgIHwgXA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgRUZJX0ZWQjJfUkVBRF9FTkFCTEVEX0NBUCAgIHwgXA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgRUZJX0ZWQjJfV1JJVEVfRElTQUJMRURfQ0FQIHwgXA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgRUZJX0ZWQjJfV1JJVEVfRU5BQkxFRF9DQVAgIHwgXA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgRUZJX0ZWQjJfTE9DS19DQVAgICAgICAgICAgIHwgXA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfU1RJQ0tZX1dSSVRFICAgICAgIHwgXA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfTUVNT1JZX01BUFBFRCAgICAgIHwgXA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfRVJBU0VfUE9MQVJJVFkgICAgIHwgXA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfUkVBRF9MT0NLX0NBUCAgICAgIHwg XA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfV1JJVEVfTE9DS19DQVAgICAg IHwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfQUxJR05NRU5UOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFNvbWUgYXR0cmlidXRlcyBvZiBGViBpcyByZWFkIG9ubHkgY2Fu ICpub3QqIGJlIHNldC4NCj4gKyAgLy8NCj4gKyAgaWYgKChPbGRBdHRyaWJ1dGVzICYgVW5jaGFu Z2VkQXR0cmlidXRlcykgXiAoKkF0dHJpYnV0ZXMgJg0KPiBVbmNoYW5nZWRBdHRyaWJ1dGVzKSkg ew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiAr ICAvLw0KPiArICAvLyBJZiBmaXJtd2FyZSB2b2x1bWUgaXMgbG9ja2VkLCBubyBzdGF0dXMgYml0 IGNhbiBiZSB1cGRhdGVkLg0KPiArICAvLw0KPiArICBpZiAoIE9sZEF0dHJpYnV0ZXMgJiBFRklf RlZCMl9MT0NLX1NUQVRVUyApIHsNCj4gKyAgICBpZiAoIE9sZFN0YXR1cyBeIE5ld1N0YXR1cyAp IHsNCj4gKyAgICAgIHJldHVybiBFRklfQUNDRVNTX0RFTklFRDsNCj4gKyAgICB9DQo+ICsgIH0N Cj4gKw0KPiArICAvLw0KPiArICAvLyBUZXN0IHJlYWQgZGlzYWJsZS4NCj4gKyAgLy8NCj4gKyAg aWYgKChDYXBhYmlsaXRpZXMgJiBFRklfRlZCMl9SRUFEX0RJU0FCTEVEX0NBUCkgPT0gMCkgew0K PiArICAgIGlmICgoTmV3U3RhdHVzICYgRUZJX0ZWQjJfUkVBRF9TVEFUVVMpID09IDApIHsNCj4g KyAgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgfQ0KPiArICB9DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGVzdCByZWFkIGVuYWJsZS4NCj4gKyAgLy8NCj4gKyAgaWYg KChDYXBhYmlsaXRpZXMgJiBFRklfRlZCMl9SRUFEX0VOQUJMRURfQ0FQKSA9PSAwKSB7DQo+ICsg ICAgaWYgKE5ld1N0YXR1cyAmIEVGSV9GVkIyX1JFQURfU1RBVFVTKSB7DQo+ICsgICAgICByZXR1 cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFRlc3Qgd3JpdGUgZGlzYWJsZS4NCj4gKyAgLy8NCj4gKyAgaWYgKChDYXBhYmls aXRpZXMgJiBFRklfRlZCMl9XUklURV9ESVNBQkxFRF9DQVApID09IDApIHsNCj4gKyAgICBpZiAo KE5ld1N0YXR1cyAmIEVGSV9GVkIyX1dSSVRFX1NUQVRVUykgPT0gMCkgew0KPiArICAgICAgcmV0 dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAv Lw0KPiArICAvLyBUZXN0IHdyaXRlIGVuYWJsZS4NCj4gKyAgLy8NCj4gKyAgaWYgKChDYXBhYmls aXRpZXMgJiBFRklfRlZCMl9XUklURV9FTkFCTEVEX0NBUCkgPT0gMCkgew0KPiArICAgIGlmIChO ZXdTdGF0dXMgJiBFRklfRlZCMl9XUklURV9TVEFUVVMpIHsNCj4gKyAgICAgIHJldHVybiBFRklf SU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gVGVzdCBsb2NrLg0KPiArICAvLw0KPiArICBpZiAoKENhcGFiaWxpdGllcyAmIEVGSV9GVkIy X0xPQ0tfQ0FQKSA9PSAwKSB7DQo+ICsgICAgaWYgKE5ld1N0YXR1cyAmIEVGSV9GVkIyX0xPQ0tf U1RBVFVTKSB7DQo+ICsgICAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAg IH0NCj4gKyAgfQ0KPiArDQo+ICsgICpBdHRyaWJQdHIgID0gKCpBdHRyaWJQdHIpICYgKDB4RkZG RkZGRkYgJiAofkVGSV9GVkIyX1NUQVRVUykpOw0KPiArICAqQXR0cmliUHRyICA9ICgqQXR0cmli UHRyKSB8IE5ld1N0YXR1czsNCj4gKyAgKkF0dHJpYnV0ZXMgPSAqQXR0cmliUHRyOw0KPiArDQo+ ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLy8NCj4gKy8vIEZWQiBwcm90 b2NvbCBBUElzLg0KPiArLy8NCj4gKy8qKg0KPiArICBSZXRyaWV2ZXMgdGhlIHBoeXNpY2FsIGFk ZHJlc3Mgb2YgdGhlIGRldmljZS4NCj4gKw0KPiArICBAcGFyYW1baW5dICBUaGlzICAgIEEgcG9p bnRlciB0bw0KPiBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MLg0KPiArICBAcGFy YW1bb3V0XSBBZGRyZXNzIE91dHB1dCBidWZmZXIgY29udGFpbmluZyB0aGUgYWRkcmVzcy4NCj4g Kw0KPiArICByZXR2YWwgICAgICBFRklfU1VDQ0VTUyBUaGUgZnVuY3Rpb24gYWx3YXlzIHJldHVy biBzdWNjZXNzZnVsbHkuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtGdmJQcm90b2NvbEdldFBoeXNpY2FsQWRkcmVzcyAoDQo+ICsgIElOIENPTlNUIEVGSV9GSVJN V0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICpUaGlzLA0KPiArICBPVVQgRUZJX1BIWVNJQ0FM X0FERFJFU1MgICAgICAgICAgICAgICAqQWRkcmVzcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9G V19WT0xfQkxPQ0tfREVWSUNFICAgICAgICAgICAgICAgKkZ2YkRldmljZTsNCj4gKyAgRUZJX0ZX X1ZPTF9JTlNUQU5DRSAgICAgICAgICAgICAgICAgICAqRnZJbnN0YW5jZTsNCj4gKw0KPiArICBG dmJEZXZpY2UgPSBGVkJfREVWSUNFX0ZST01fVEhJUyAoVGhpcyk7DQo+ICsgIEZ2SW5zdGFuY2Ug PSBHZXRGdmJJbnN0YW5jZShGdmJEZXZpY2UtPkluc3RhbmNlKTsNCj4gKw0KPiArICBpZiAoRnZJ bnN0YW5jZSAhPSBOVUxMKSB7DQo+ICsgICAgKkFkZHJlc3MgPSBGdkluc3RhbmNlLT5GdkJhc2U7 DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoqDQo+ICsgIFJldHJpZXZlIHRoZSBzaXplIG9mIGEgbG9naWNhbCBibG9jay4NCj4gKw0K PiArICBAcGFyYW1baW5dICBUaGlzICAgICAgICAgQ2FsbGluZyBjb250ZXh0Lg0KPiArICBAcGFy YW1baW5dICBMYmEgICAgICAgICAgSW5kaWNhdGVzIHdoaWNoIGJsb2NrIHRvIHJldHVybiB0aGUg c2l6ZSBmb3IuDQo+ICsgIEBwYXJhbVtvdXRdIEJsb2NrU2l6ZSAgICBBIHBvaW50ZXIgdG8gYSBj YWxsZXIgYWxsb2NhdGVkIFVJTlROIGluIHdoaWNoDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICB0aGUgc2l6ZSBvZiB0aGUgYmxvY2sgaXMgcmV0dXJuZWQuDQo+ICsgIEBwYXJhbVtvdXRd IE51bU9mQmxvY2tzICBBIHBvaW50ZXIgdG8gYSBjYWxsZXIgYWxsb2NhdGVkIFVJTlROIGluIHdo aWNoDQo+IHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyIG9mIGNvbnNl Y3V0aXZlIGJsb2NrcyBzdGFydGluZyB3aXRoIExiYSBpcw0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgcmV0dXJuZWQuIEFsbCBibG9ja3MgaW4gdGhpcyByYW5nZSBoYXZlIGEgc2l6ZSBv Zg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tTaXplLg0KPiArDQo+ICsgIEBy ZXR2YWwgICAgIEVGSV9TVUNDRVNTICBUaGUgZnVuY3Rpb24gYWx3YXlzIHJldHVybiBzdWNjZXNz ZnVsbHkuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJQcm90 b2NvbEdldEJsb2NrU2l6ZSAoDQo+ICsgIElOIENPTlNUIEVGSV9GSVJNV0FSRV9WT0xVTUVfQkxP Q0tfUFJPVE9DT0wgICpUaGlzLA0KPiArICBJTiAgRUZJX0xCQSAgICAgICAgICAgICAgICAgICAg ICAgICAgICBMYmEsDQo+ICsgIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICpCbG9ja1NpemUsDQo+ICsgIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICpOdW1PZkJsb2Nrcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9GV19WT0xfQkxPQ0tfREVWSUNF ICAgICAgICAgICAgICAgICAqRnZiRGV2aWNlOw0KPiArDQo+ICsgIERFQlVHKChFRklfRF9JTkZP LA0KPiArICAgICJGdmJQcm90b2NvbEdldEJsb2NrU2l6ZTogTGJhOiAweCVseCBCbG9ja1NpemU6 IDB4JXggTnVtT2ZCbG9ja3M6DQo+IDB4JXhcbiIsDQo+ICsgICAgTGJhLA0KPiArICAgIEJsb2Nr U2l6ZSwNCj4gKyAgICBOdW1PZkJsb2NrcykNCj4gKyAgICApOw0KPiArDQo+ICsgIEZ2YkRldmlj ZSA9IEZWQl9ERVZJQ0VfRlJPTV9USElTIChUaGlzKTsNCj4gKw0KPiArICByZXR1cm4gRnZiR2V0 TGJhQWRkcmVzcyAoDQo+ICsgICAgICAgICAgIEZ2YkRldmljZS0+SW5zdGFuY2UsDQo+ICsgICAg ICAgICAgIExiYSwNCj4gKyAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgQmxvY2tTaXpl LA0KPiArICAgICAgICAgICBOdW1PZkJsb2Nrcw0KPiArICAgICAgICAgICApOw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qKg0KPiArICBSZXRyaWV2ZXMgVm9sdW1lIGF0dHJpYnV0ZXMuICBObyBwb2xh cml0eSB0cmFuc2xhdGlvbnMgYXJlIGRvbmUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICBUaGlz ICAgICAgICAgQ2FsbGluZyBjb250ZXh0Lg0KPiArICBAcGFyYW1bb3V0XSAgIEF0dHJpYnV0ZXMg ICBPdXRwdXQgYnVmZmVyIHdoaWNoIGNvbnRhaW5zIGF0dHJpYnV0ZXMuDQo+ICsNCj4gKyAgQHJl dHZhbCAgICAgICBFRklfU1VDQ0VTUyAgVGhlIGZ1bmN0aW9uIGFsd2F5cyByZXR1cm4gc3VjY2Vz c2Z1bGx5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiUHJv dG9jb2xHZXRBdHRyaWJ1dGVzICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9C TE9DS19QUk9UT0NPTCAgICpUaGlzLA0KPiArICBPVVQgRUZJX0ZWQl9BVFRSSUJVVEVTXzIgICAg ICAgICAgICAgICAgKkF0dHJpYnV0ZXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfRldfVk9MX0JM T0NLX0RFVklDRSAgICAgICAgICAgICAgICpGdmJEZXZpY2U7DQo+ICsNCj4gKyAgRnZiRGV2aWNl ID0gRlZCX0RFVklDRV9GUk9NX1RISVMgKFRoaXMpOw0KPiArDQo+ICsgICpBdHRyaWJ1dGVzID0g RnZiR2V0Vm9sdW1lQXR0cmlidXRlcyAoRnZiRGV2aWNlLT5JbnN0YW5jZSk7DQo+ICsNCj4gKyAg REVCVUcgKChFRklfRF9JTkZPLA0KPiArICAgICJGdmJQcm90b2NvbEdldEF0dHJpYnV0ZXM6IFRo aXM6IDB4JXggQXR0cmlidXRlczogMHgleFxuIiwNCj4gKyAgICBUaGlzLA0KPiArICAgICpBdHRy aWJ1dGVzKQ0KPiArICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qKg0KPiArICBTZXRzIFZvbHVtZSBhdHRyaWJ1dGVzLiBObyBwb2xhcml0 eSB0cmFuc2xhdGlvbnMgYXJlIGRvbmUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgVGhpcyAgICAg ICAgIENhbGxpbmcgY29udGV4dC4NCj4gKyAgQHBhcmFtW291dF0gQXR0cmlidXRlcyAgIE91dHB1 dCBidWZmZXIgd2hpY2ggY29udGFpbnMgYXR0cmlidXRlcy4NCj4gKw0KPiArICBAcmV0dmFsICAg ICBFRklfU1VDQ0VTUyAgVGhlIGZ1bmN0aW9uIGFsd2F5cyByZXR1cm4gc3VjY2Vzc2Z1bGx5Lg0K PiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiUHJvdG9jb2xTZXRB dHRyaWJ1dGVzICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9U T0NPTCAgICpUaGlzLA0KPiArICBJTiBPVVQgRUZJX0ZWQl9BVFRSSUJVVEVTXzIgICAgICAgICAg ICAgKkF0dHJpYnV0ZXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0ZXX1ZPTF9CTE9DS19ERVZJQ0UgICAg ICAgICAgICAgICAqRnZiRGV2aWNlOw0KPiArDQo+ICsgIERFQlVHKChFRklfRF9JTkZPLA0KPiAr ICAgICJGdmJQcm90b2NvbFNldEF0dHJpYnV0ZXM6IEJlZm9yZSBTRVQgLSAgVGhpczogMHgleCBB dHRyaWJ1dGVzOiAweCV4XG4iLA0KPiArICAgIFRoaXMsDQo+ICsgICAgKkF0dHJpYnV0ZXMpDQo+ ICsgICAgKTsNCj4gKw0KPiArICBGdmJEZXZpY2UgPSBGVkJfREVWSUNFX0ZST01fVEhJUyAoVGhp cyk7DQo+ICsNCj4gKyAgU3RhdHVzID0gRnZiU2V0Vm9sdW1lQXR0cmlidXRlcyAoRnZiRGV2aWNl LT5JbnN0YW5jZSwgQXR0cmlidXRlcyk7DQo+ICsNCj4gKyAgREVCVUcoKEVGSV9EX0lORk8sDQo+ ICsgICAgIkZ2YlByb3RvY29sU2V0QXR0cmlidXRlczogQWZ0ZXIgU0VUIC0gIFRoaXM6IDB4JXgg QXR0cmlidXRlczogMHgleFxuIiwNCj4gKyAgICBUaGlzLA0KPiArICAgICpBdHRyaWJ1dGVzKQ0K PiArICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArDQo+ICsv KioNCj4gKyAgVGhlIEVyYXNlQmxvY2soKSBmdW5jdGlvbiBlcmFzZXMgb25lIG9yIG1vcmUgYmxv Y2tzIGFzIGRlbm90ZWQgYnkgdGhlDQo+ICsgIHZhcmlhYmxlIGFyZ3VtZW50IGxpc3QuIFRoZSBl bnRpcmUgcGFyYW1ldGVyIGxpc3Qgb2YgYmxvY2tzIG11c3QgYmUgdmVyaWZpZWQNCj4gKyAgcHJp b3IgdG8gZXJhc2luZyBhbnkgYmxvY2tzLiAgSWYgYSBibG9jayBpcyByZXF1ZXN0ZWQgdGhhdCBk b2VzIG5vdCBleGlzdA0KPiArICB3aXRoaW4gdGhlIGFzc29jaWF0ZWQgZmlybXdhcmUgdm9sdW1l IChpdCBoYXMgYSBsYXJnZXIgaW5kZXggdGhhbiB0aGUgbGFzdA0KPiArICBibG9jayBvZiB0aGUg ZmlybXdhcmUgdm9sdW1lKSwgdGhlIEVyYXNlQmxvY2soKSBmdW5jdGlvbiBtdXN0IHJldHVybg0K PiArICBFRklfSU5WQUxJRF9QQVJBTUVURVIgd2l0aG91dCBtb2RpZnlpbmcgdGhlIGNvbnRlbnRz IG9mIHRoZSBmaXJtd2FyZQ0KPiB2b2x1bWUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBUaGlzICAg ICAgICAgICAgQ2FsbGluZyBjb250ZXh0Lg0KPiArICBAcGFyYW1baW5dIC4uLiAgICAgICAgICAg ICBTdGFydGluZyBMQkEgZm9sbG93ZWQgYnkgTnVtYmVyIG9mIExiYSB0byBlcmFzZS4NCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYSAtMSB0byB0ZXJtaW5hdGUgdGhlIGxpc3QuDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgVGhlIGVyYXNlIHJlcXVlc3Qgd2Fz IHN1Y2Nlc3NmdWxseSBjb21wbGV0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5JRUQg IFRoZSBmaXJtd2FyZSB2b2x1bWUgaXMgaW4gdGhlIFdyaXRlRGlzYWJsZWQNCj4gc3RhdGUuDQo+ ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgIFRoZSBibG9jayBkZXZpY2UgaXMgbm90IGZ1 bmN0aW9uaW5nIGNvcnJlY3RseQ0KPiBhbmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY291bGQgbm90IGJlIHdyaXR0ZW4uIEZpcm13YXJlIGRldmljZSBtYXkgaGF2ZSBiZWVuDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpYWxseSBlcmFzZWQuDQo+ICsNCj4g KyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJQcm90b2NvbEVyYXNlQmxvY2tz ICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICAq VGhpcywNCj4gKyAgLi4uDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX0ZXX1ZPTF9CTE9DS19ERVZJ Q0UgICAgICAgICAgICAgICAqRnZiRGV2aWNlOw0KPiArICBFRklfRldfVk9MX0lOU1RBTkNFICAg ICAgICAgICAgICAgICAgICpGd2hJbnN0YW5jZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBOdW1PZkJsb2NrcyA9IDA7DQo+ICsgIFZBX0xJU1QgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgYXJnczsNCj4gKyAgRUZJX0xCQSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBTdGFydGluZ0xiYTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOdW1PZkxiYTsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgREVCVUcoKEVGSV9EX0lORk8sICJGdmJQcm90 b2NvbEVyYXNlQmxvY2tzOiBcbiIpKTsNCj4gKyAgRnZiRGV2aWNlID0gRlZCX0RFVklDRV9GUk9N X1RISVMgKFRoaXMpOw0KPiArDQo+ICsgIEZ3aEluc3RhbmNlICA9IEdldEZ2Ykluc3RhbmNlIChG dmJEZXZpY2UtPkluc3RhbmNlKTsNCj4gKw0KPiArICBpZiAoRndoSW5zdGFuY2UgIT0gTlVMTCkg ew0KPiArICAgIE51bU9mQmxvY2tzID0gRndoSW5zdGFuY2UtPk51bU9mQmxvY2tzOw0KPiArICB9 DQo+ICsNCj4gKyAgVkFfU1RBUlQgKGFyZ3MsIFRoaXMpOw0KPiArDQo+ICsgIGRvIHsNCj4gKyAg ICBTdGFydGluZ0xiYSA9IFZBX0FSRyAoYXJncywgRUZJX0xCQSk7DQo+ICsgICAgaWYgKCBTdGFy dGluZ0xiYSA9PSBFRklfTEJBX0xJU1RfVEVSTUlOQVRPUiApIHsNCj4gKyAgICAgIGJyZWFrOw0K PiArICAgIH0NCj4gKw0KPiArICAgIE51bU9mTGJhID0gVkFfQVJHIChhcmdzLCBVSU5UTik7DQo+ ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIENoZWNrIGlucHV0IHBhcmFtZXRlcnMuDQo+ICsgICAg Ly8NCj4gKyAgICBpZiAoTnVtT2ZMYmEgPT0gMCkgew0KPiArICAgICAgVkFfRU5EIChhcmdzKTsN Cj4gKyAgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgfQ0KPiArDQo+ ICsgICAgaWYgKCAoIFN0YXJ0aW5nTGJhICsgTnVtT2ZMYmEgKSA+IE51bU9mQmxvY2tzICkgew0K PiArICAgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgICB9DQo+ICsgIH0g d2hpbGUgKCAxICk7DQo+ICsNCj4gKyAgVkFfRU5EIChhcmdzKTsNCj4gKw0KPiArICBWQV9TVEFS VCAoYXJncywgVGhpcyk7DQo+ICsgIGRvIHsNCj4gKyAgICBTdGFydGluZ0xiYSA9IFZBX0FSRyAo YXJncywgRUZJX0xCQSk7DQo+ICsgICAgaWYgKFN0YXJ0aW5nTGJhID09IEVGSV9MQkFfTElTVF9U RVJNSU5BVE9SKSB7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBOdW1P ZkxiYSA9IFZBX0FSRyAoYXJncywgVUlOVE4pOw0KPiArDQo+ICsgICAgd2hpbGUgKCBOdW1PZkxi YSA+IDAgKSB7DQo+ICsgICAgICBTdGF0dXMgPSBGdmJFcmFzZUJsb2NrIChGdmJEZXZpY2UtPklu c3RhbmNlLCBTdGFydGluZ0xiYSk7DQo+ICsgICAgICBpZiAoIEVGSV9FUlJPUihTdGF0dXMpKSB7 DQo+ICsgICAgICAgIFZBX0VORCAoYXJncyk7DQo+ICsgICAgICAgIHJldHVybiBTdGF0dXM7DQo+ ICsgICAgICB9DQo+ICsgICAgICBTdGFydGluZ0xiYSArKzsNCj4gKyAgICAgIE51bU9mTGJhIC0t Ow0KPiArICAgIH0NCj4gKw0KPiArICB9IHdoaWxlICggMSApOw0KPiArDQo+ICsgIFZBX0VORCAo YXJncyk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qKg0KPiArICBXcml0ZXMgZGF0YSBiZWdpbm5pbmcgYXQgTGJhOk9mZnNldCBmcm9tIEZWLiBU aGUgd3JpdGUgdGVybWluYXRlcyBlaXRoZXINCj4gKyAgd2hlbiAqTnVtQnl0ZXMgb2YgZGF0YSBo YXZlIGJlZW4gd3JpdHRlbiwgb3Igd2hlbiBhIGJsb2NrIGJvdW5kYXJ5IGlzDQo+ICsgIHJlYWNo ZWQuICAqTnVtQnl0ZXMgaXMgdXBkYXRlZCB0byByZWZsZWN0IHRoZSBhY3R1YWwgbnVtYmVyIG9m IGJ5dGVzDQo+ICsgIHdyaXR0ZW4uIFRoZSB3cml0ZSBvcGVydGlvbiBkb2VzIG5vdCBpbmNsdWRl IGVyYXNlLiBUaGlzIHJvdXRpbmUgd2lsbA0KPiArICBhdHRlbXB0IHRvIHdyaXRlIG9ubHkgdGhl IHNwZWNpZmllZCBieXRlcy4gSWYgdGhlIHdyaXRlcyBkbyBub3Qgc3RpY2ssDQo+ICsgIGl0IHdp bGwgcmV0dXJuIGFuIGVycm9yLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gICAgICBUaGlzICAgICAg Q2FsbGluZyBjb250ZXh0Lg0KPiArICBAcGFyYW1baW5dICAgICAgTGJhICAgICAgIEJsb2NrIGlu IHdoaWNoIHRvIGJlZ2luIHdyaXRlLg0KPiArICBAcGFyYW1baW5dICAgICAgT2Zmc2V0ICAgIE9m ZnNldCBpbiB0aGUgYmxvY2sgYXQgd2hpY2ggdG8gYmVnaW4gd3JpdGUuDQo+ICsgIEBwYXJhbVtp bixvdXRdICBOdW1CeXRlcyAgT24gaW5wdXQsIGluZGljYXRlcyB0aGUgcmVxdWVzdGVkIHdyaXRl IHNpemUuDQo+IE9uDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LCBpbmRp Y2F0ZXMgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbg0KPiArICBAcGFyYW1baW5d ICAgICAgQnVmZmVyICAgIEJ1ZmZlciBjb250YWluaW5nIHNvdXJjZSBkYXRhIGZvciB0aGUgd3Jp dGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGZpcm13YXJl IHZvbHVtZSB3YXMgd3JpdHRlbiBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgRUZJX0JBRF9C VUZGRVJfU0laRSAgIFdyaXRlIGF0dGVtcHRlZCBhY3Jvc3MgYSBMQkEgYm91bmRhcnkuDQo+IE9u IG91dHB1dCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtQnl0ZXMgY29u dGFpbnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcw0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBhY3R1YWxseSB3cml0dGVuLg0KPiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVO SUVEICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIGlzIGluIHRoZQ0KPiBXcml0ZURpc2FibGVkIHN0 YXRlLg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICBUaGUgYmxvY2sgZGV2aWNl IGlzIG5vdCBmdW5jdGlvbmluZyBjb3JyZWN0bHkNCj4gYW5kDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvdWxkIG5vdCBiZSB3cml0dGVuLg0KPiArICBAcmV0dmFsIEVGSV9J TlZBTElEX1BBUkFNRVRFUiBOdW1CeXRlcyBvciBCdWZmZXIgYXJlIE5VTEwuDQo+ICsNCj4gKyoq Lw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJQcm90b2NvbFdyaXRlICgNCj4gKyAg SU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICpUaGlzLA0KPiAr ICBJTiBFRklfTEJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJhLA0KPiArICBJTiBV SU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0LA0KPiArICBJTiBPVVQg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKk51bUJ5dGVzLA0KPiArICBJTiBVSU5U OCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ ICsNCj4gKyAgRUZJX0ZXX1ZPTF9CTE9DS19ERVZJQ0UgICAgICAgICAgICAgICAqRnZiRGV2aWNl Ow0KPiArDQo+ICsgIEZ2YkRldmljZSA9IEZWQl9ERVZJQ0VfRlJPTV9USElTIChUaGlzKTsNCj4g Kw0KPiArICBERUJVRygoRUZJX0RfSU5GTywNCj4gKyAgICAiRnZiUHJvdG9jb2xXcml0ZTogTGJh OiAweCVseCBPZmZzZXQ6IDB4JXggTnVtQnl0ZXM6IDB4JXgsIEJ1ZmZlcjoNCj4gMHgleFxuIiwN Cj4gKyAgICBMYmEsDQo+ICsgICAgT2Zmc2V0LA0KPiArICAgICpOdW1CeXRlcywNCj4gKyAgICBC dWZmZXIpDQo+ICsgICAgKTsNCj4gKw0KPiArICByZXR1cm4gRnZiV3JpdGVCbG9jayAoRnZiRGV2 aWNlLT5JbnN0YW5jZSwgTGJhLCBPZmZzZXQsIE51bUJ5dGVzLA0KPiBCdWZmZXIpOw0KPiArfQ0K PiArDQo+ICsNCj4gKy8qKg0KPiArICBSZWFkcyBkYXRhIGJlZ2lubmluZyBhdCBMYmE6T2Zmc2V0 IGZyb20gRlYuIFRoZSBSZWFkIHRlcm1pbmF0ZXMgZWl0aGVyDQo+ICsgIHdoZW4gKk51bUJ5dGVz IG9mIGRhdGEgaGF2ZSBiZWVuIHJlYWQsIG9yIHdoZW4gYSBibG9jayBib3VuZGFyeSBpcw0KPiAr ICByZWFjaGVkLiAgKk51bUJ5dGVzIGlzIHVwZGF0ZWQgdG8gcmVmbGVjdCB0aGUgYWN0dWFsIG51 bWJlciBvZiBieXRlcw0KPiArICB3cml0dGVuLiBUaGUgd3JpdGUgb3BlcnRpb24gZG9lcyBub3Qg aW5jbHVkZSBlcmFzZS4gVGhpcyByb3V0aW5lIHdpbGwNCj4gKyAgYXR0ZW1wdCB0byB3cml0ZSBv bmx5IHRoZSBzcGVjaWZpZWQgYnl0ZXMuIElmIHRoZSB3cml0ZXMgZG8gbm90IHN0aWNrLA0KPiAr ICBpdCB3aWxsIHJldHVybiBhbiBlcnJvci4NCj4gKw0KPiArICBAcGFyYW1baW5dICAgICAgVGhp cyAgICAgIENhbGxpbmcgY29udGV4dC4NCj4gKyAgQHBhcmFtW2luXSAgICAgIExiYSAgICAgICBC bG9jayBpbiB3aGljaCB0byBiZWdpbiB3cml0ZS4NCj4gKyAgQHBhcmFtW2luXSAgICAgIE9mZnNl dCAgICBPZmZzZXQgaW4gdGhlIGJsb2NrIGF0IHdoaWNoIHRvIGJlZ2luIHdyaXRlDQo+ICsgIEBw YXJhbVtpbixvdXRdICBOdW1CeXRlcyAgT24gaW5wdXQsIGluZGljYXRlcyB0aGUgcmVxdWVzdGVk IHdyaXRlIHNpemUuDQo+IE9uDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0 LCBpbmRpY2F0ZXMgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4NCj4gKyAgQHBh cmFtW2luXSAgICAgIEJ1ZmZlciAgICBCdWZmZXIgY29udGFpbmluZyBzb3VyY2UgZGF0YSBmb3Ig dGhlIHdyaXRlLg0KPiArDQo+ICsNCj4gK1JldHVybnM6DQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NF U1MgICAgICAgICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIHdhcyByZWFkIHN1Y2Nlc3NmdWxseQ0K PiBhbmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnRzIGFyZSBp biBCdWZmZXIuDQo+ICsgIEByZXR2YWwgRUZJX0JBRF9CVUZGRVJfU0laRSAgICBSZWFkIGF0dGVt cHRlZCBhY3Jvc3MgYSBMQkEgYm91bmRhcnkuDQo+IE9uIG91dHB1dCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE51bUJ5dGVzIGNvbnRhaW5zIHRoZSB0b3RhbCBudW1iZXIg b2YgYnl0ZXMgcmV0dXJuZWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlu IEJ1ZmZlci4NCj4gKyAgQHJldHZhbCBFRklfQUNDRVNTX0RFTklFRCAgICAgIFRoZSBmaXJtd2Fy ZSB2b2x1bWUgaXMgaW4gdGhlDQo+IFJlYWREaXNhYmxlZCBzdGF0ZQ0KPiArICBAcmV0dmFsIEVG SV9ERVZJQ0VfRVJST1IgICAgICAgVGhlIGJsb2NrIGRldmljZSBpcyBub3QgZnVuY3Rpb25pbmcg Y29ycmVjdGx5DQo+IGFuZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291 bGQgbm90IGJlIHJlYWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBOdW1C eXRlcyBvciBCdWZmZXIgYXJlIE5VTEwuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtGdmJQcm90b2NvbFJlYWQgKA0KPiArICBJTiBDT05TVCBFRklfRklSTVdBUkVf Vk9MVU1FX0JMT0NLX1BST1RPQ09MICAgKlRoaXMsDQo+ICsgIElOIEVGSV9MQkEgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMYmEsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBPZmZzZXQsDQo+ICsgIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqTnVtQnl0ZXMsDQo+ICsgIE9VVCBVSU5UOCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKkJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgRUZJX0ZXX1ZPTF9C TE9DS19ERVZJQ0UgICAqRnZiRGV2aWNlOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAg IFN0YXR1czsNCj4gKw0KPiArICBGdmJEZXZpY2UgPSBGVkJfREVWSUNFX0ZST01fVEhJUyAoVGhp cyk7DQo+ICsgIFN0YXR1cyA9IEZ2YlJlYWRCbG9jayAoRnZiRGV2aWNlLT5JbnN0YW5jZSwgTGJh LCBPZmZzZXQsIE51bUJ5dGVzLA0KPiBCdWZmZXIpOw0KPiArICBERUJVRygoRUZJX0RfSU5GTywN Cj4gKyAgICAiRnZiUHJvdG9jb2xSZWFkOiBMYmE6IDB4JWx4IE9mZnNldDogMHgleCBOdW1CeXRl czogMHgleCwgQnVmZmVyOg0KPiAweCV4XG4iLA0KPiArICAgIExiYSwNCj4gKyAgICBPZmZzZXQs DQo+ICsgICAgKk51bUJ5dGVzLA0KPiArICAgIEJ1ZmZlcikNCj4gKyAgICApOw0KPiArDQo+ICsg IHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIENoZWNrIHRoZSBp bnRlZ3JpdHkgb2YgZmlybXdhcmUgdm9sdW1lIGhlYWRlci4NCj4gKw0KPiArICBAcGFyYW1baW5d ICBGd1ZvbEhlYWRlciAgIEEgcG9pbnRlciB0byBhIGZpcm13YXJlIHZvbHVtZSBoZWFkZXIuDQo+ ICsNCj4gKyAgQHJldHZhbCAgICAgVFJVRSAgICAgICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIGlz IGNvbnNpc3RlbnQuDQo+ICsgIEByZXR2YWwgICAgIEZBTFNFICAgICAgICAgVGhlIGZpcm13YXJl IHZvbHVtZSBoYXMgY29ycnVwdGVkLg0KPiArDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0lzRnZI ZWFkZXJWYWxpZCAoDQo+ICsgIElOICAgICAgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAg IEZ2QmFzZSwNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgICAgKkZ3 Vm9sSGVhZGVyDQo+ICsgICkNCj4gK3sNCj4gKyAgaWYgKEZ2QmFzZSA9PSBQY2RHZXQzMihQY2RG bGFzaE52U3RvcmFnZVZhcmlhYmxlQmFzZSkpIHsNCj4gKyAgICBpZiAoQ29tcGFyZU1lbSAoJkZ3 Vm9sSGVhZGVyLT5GaWxlU3lzdGVtR3VpZCwNCj4gJmdFZmlTeXN0ZW1OdkRhdGFGdkd1aWQsIHNp emVvZihFRklfR1VJRCkpICE9IDAgKSB7DQo+ICsgICAgICByZXR1cm4gRkFMU0U7DQo+ICsgICAg fQ0KPiArICB9IGVsc2Ugew0KPiArICAgIGlmIChDb21wYXJlTWVtICgmRndWb2xIZWFkZXItPkZp bGVTeXN0ZW1HdWlkLA0KPiAmZ0VmaUZpcm13YXJlRmlsZVN5c3RlbTJHdWlkLCBzaXplb2YoRUZJ X0dVSUQpKSAhPSAwICkgew0KPiArICAgICAgcmV0dXJuIEZBTFNFOw0KPiArICAgIH0NCj4gKyAg fQ0KPiArICBpZiAoIChGd1ZvbEhlYWRlci0+UmV2aXNpb24gIT0gRUZJX0ZWSF9SRVZJU0lPTikg ICB8fA0KPiArICAgICAgIChGd1ZvbEhlYWRlci0+U2lnbmF0dXJlICE9IEVGSV9GVkhfU0lHTkFU VVJFKSB8fA0KPiArICAgICAgIChGd1ZvbEhlYWRlci0+RnZMZW5ndGggPT0gKChVSU5UTikgLTEp KSAgICAgICB8fA0KPiArICAgICAgICgoRndWb2xIZWFkZXItPkhlYWRlckxlbmd0aCAmIDB4MDEg KSAhPTApICkgew0KPiArICAgIHJldHVybiBGQUxTRTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChD YWxjdWxhdGVDaGVja1N1bTE2ICgoVUlOVDE2ICopIEZ3Vm9sSGVhZGVyLCBGd1ZvbEhlYWRlci0N Cj4gPkhlYWRlckxlbmd0aCkgIT0gMCkgew0KPiArICAgIHJldHVybiBGQUxTRTsNCj4gKyAgfQ0K PiArDQo+ICsgIHJldHVybiBUUlVFOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBUaGUg ZnVuY3Rpb24gZG9lcyB0aGUgbmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uIHdvcmsgZm9yDQo+ICsg IEZpcm13YXJlIFZvbHVtZSBCbG9jayBEcml2ZXIuDQo+ICsNCj4gKyAgQHJldHZhbCAgICAgRUZJ X1NVQ0NFU1MgICAgICAgVGhpcyBmdW50aW9uIGFsd2F5cyByZXR1cm4gRUZJX1NVQ0NFU1MuDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0IHdpbGwgQVNTRVJUIG9uIGVycm9y cy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtGdmJJbml0aWFsaXplICgNCj4gKyAg Vk9JRA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9GV19WT0xfSU5TVEFOQ0UgICAgICAgICAgICAg ICAgICAgKkZ3aEluc3RhbmNlOw0KPiArICBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgICAg ICAgICAgICpGd1ZvbEhlYWRlcjsNCj4gKyAgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgICAg ICAgICAgICAqRnZIZWFkZXI7DQo+ICsgIEVGSV9GVl9CTE9DS19NQVBfRU5UUlkgICAgICAgICAg ICAgICAgKlB0ckJsb2NrTWFwRW50cnk7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAg ICAgICAgICAgICAgQmFzZUFkZHJlc3M7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJ1ZmZlclNpemU7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVG1wSGVhZGVyTGVuZ3RoOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElkeDsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBNYXhMYmFTaXplOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENhbGN1bGF0ZSB0aGUgdG90YWwg c2l6ZSBmb3IgYWxsIGZpcm13YXJlIHZvbHVtZSBibG9jayBpbnN0YW5jZXMuDQo+ICsgIC8vDQo+ ICsgIEJ1ZmZlclNpemUgPSAwOw0KPiArICBmb3IgKElkeCA9IDA7IElkeCA8IDE7IElkeCsrKSB7 DQo+ICsgICAgRnZIZWFkZXIgPSAoRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgKikgKFVJTlRO KQ0KPiBtUGxhdGZvcm1GdkJhc2VBZGRyZXNzW0lkeF07DQo+ICsgICAgQnVmZmVyU2l6ZSArPSAg KEZ2SGVhZGVyLT5IZWFkZXJMZW5ndGggKw0KPiArICAgICAgICAgICAgICAgICAgICBzaXplb2Yg KEVGSV9GV19WT0xfSU5TVEFOQ0UpIC0NCj4gKyAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChF RklfRklSTVdBUkVfVk9MVU1FX0hFQURFUikNCj4gKyAgICAgICAgICAgICAgICAgICApOw0KPiAr ICB9DQo+ICsNCj4gKyAgbUZ2Yk1vZHVsZUdsb2JhbC5Gdkluc3RhbmNlID0gIChFRklfRldfVk9M X0lOU1RBTkNFICopDQo+IEFsbG9jYXRlUnVudGltZVplcm9Qb29sIChCdWZmZXJTaXplKTsNCj4g KyAgQVNTRVJUIChOVUxMICE9IG1GdmJNb2R1bGVHbG9iYWwuRnZJbnN0YW5jZSk7DQo+ICsNCj4g Kw0KPiArICBNYXhMYmFTaXplICAgICAgPSAwOw0KPiArICBGd2hJbnN0YW5jZSAgICAgPSBtRnZi TW9kdWxlR2xvYmFsLkZ2SW5zdGFuY2U7DQo+ICsgIG1GdmJNb2R1bGVHbG9iYWwuTnVtRnYgICA9 IDA7DQo+ICsNCj4gKyAgZm9yIChJZHggPSAwOyBJZHggPCAxOyBJZHgrKykgew0KPiArICAgIEJh c2VBZGRyZXNzID0gbVBsYXRmb3JtRnZCYXNlQWRkcmVzc1tJZHhdOw0KPiArICAgIEZ3Vm9sSGVh ZGVyID0gKEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICopIChVSU5UTikNCj4gQmFzZUFkZHJl c3M7DQo+ICsNCj4gKyAgICBpZiAoIUlzRnZIZWFkZXJWYWxpZCAoQmFzZUFkZHJlc3MsIEZ3Vm9s SGVhZGVyKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIElmIG5vdCB2YWxpZCwgZ2V0IEZ2 YkluZm8gZnJvbSB0aGUgaW5mb3JtYXRpb24gY2FycmllZCBpbg0KPiArICAgICAgLy8gRlZCIGRy aXZlci4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRnZiOiBG ViBoZWFkZXIgQCAweCVseCBpbnZhbGlkXG4iLA0KPiBCYXNlQWRkcmVzcykpOw0KPiArICAgICAg U3RhdHVzICAgICAgICAgID0gR2V0RnZiSW5mbyAoQmFzZUFkZHJlc3MsICZGd1ZvbEhlYWRlcik7 DQo+ICsgICAgICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gIFdyaXRlIGJhY2sgYSBoZWFsdGh5IEZWIGhlYWRlci4NCj4gKyAgICAgIC8vDQo+ICsg ICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRndCbG9ja1NlcnZpY2UuYzogV3JpdGluZyBiYWNr IGhlYWx0aHkgRlYNCj4gaGVhZGVyXG4iKSk7DQo+ICsgICAgICBMaWJGdmJGbGFzaERldmljZUJs b2NrTG9jayAoKFVJTlROKUJhc2VBZGRyZXNzLCBGd1ZvbEhlYWRlci0NCj4gPkJsb2NrTWFwLT5M ZW5ndGgsIEZBTFNFKTsNCj4gKw0KPiArICAgICAgU3RhdHVzID0gTGliRnZiRmxhc2hEZXZpY2VC bG9ja0VyYXNlICgoVUlOVE4pQmFzZUFkZHJlc3MsDQo+IEZ3Vm9sSGVhZGVyLT5CbG9ja01hcC0+ TGVuZ3RoKTsNCj4gKw0KPiArICAgICAgVG1wSGVhZGVyTGVuZ3RoID0gKFVJTlROKSBGd1ZvbEhl YWRlci0+SGVhZGVyTGVuZ3RoOw0KPiArICAgICAgU3RhdHVzID0gTGliRnZiRmxhc2hEZXZpY2VX cml0ZSAoDQo+ICsgICAgICAgICAgICAgICAgIChVSU5UTilCYXNlQWRkcmVzcywNCj4gKyAgICAg ICAgICAgICAgICAgJlRtcEhlYWRlckxlbmd0aCwNCj4gKyAgICAgICAgICAgICAgICAgKFVJTlQ4 ICopIEZ3Vm9sSGVhZGVyDQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAgIExp YkZ2YkZsYXNoRGV2aWNlQmxvY2tMb2NrICgoVUlOVE4pQmFzZUFkZHJlc3MsIEZ3Vm9sSGVhZGVy LQ0KPiA+QmxvY2tNYXAtPkxlbmd0aCwgVFJVRSk7DQo+ICsNCj4gKyAgICAgIFdyaXRlQmFja0lu dmFsaWRhdGVEYXRhQ2FjaGVSYW5nZSAoDQo+ICsgICAgICAgIChWT0lEICopIChVSU5UTikgQmFz ZUFkZHJlc3MsDQo+ICsgICAgICAgIEZ3Vm9sSGVhZGVyLT5CbG9ja01hcC0+TGVuZ3RoDQo+ICsg ICAgICAgICk7DQo+ICsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBDb3B5TWVtICgmKEZ3aEluc3Rh bmNlLT5Wb2x1bWVIZWFkZXIpLCBGd1ZvbEhlYWRlciwNCj4gRndWb2xIZWFkZXItPkhlYWRlckxl bmd0aCk7DQo+ICsNCj4gKyAgICBGd1ZvbEhlYWRlciA9ICYoRndoSW5zdGFuY2UtPlZvbHVtZUhl YWRlcik7DQo+ICsgICAgRndoSW5zdGFuY2UtPkZ2QmFzZSA9IChVSU5UTilCYXNlQWRkcmVzczsN Cj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gUHJvY2VzcyB0aGUgYmxvY2sgbWFwIGZvciBlYWNo IEZWLg0KPiArICAgIC8vDQo+ICsgICAgRndoSW5zdGFuY2UtPk51bU9mQmxvY2tzID0gMDsNCj4g KyAgICBmb3IgKFB0ckJsb2NrTWFwRW50cnkgPSBGd1ZvbEhlYWRlci0+QmxvY2tNYXA7IFB0ckJs b2NrTWFwRW50cnktDQo+ID5OdW1CbG9ja3MgIT0gMDsgUHRyQmxvY2tNYXBFbnRyeSsrKSB7DQo+ ICsgICAgICAvLw0KPiArICAgICAgLy8gR2V0IHRoZSBtYXhpbXVtIHNpemUgb2YgYSBibG9jay4N Cj4gKyAgICAgIC8vDQo+ICsgICAgICBpZiAoTWF4TGJhU2l6ZSA8IFB0ckJsb2NrTWFwRW50cnkt Pkxlbmd0aCkgew0KPiArICAgICAgICBNYXhMYmFTaXplICA9IFB0ckJsb2NrTWFwRW50cnktPkxl bmd0aDsNCj4gKyAgICAgIH0NCj4gKyAgICAgIEZ3aEluc3RhbmNlLT5OdW1PZkJsb2NrcyArPSBQ dHJCbG9ja01hcEVudHJ5LT5OdW1CbG9ja3M7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4g KyAgICAvLyBBZGQgYSBGVkIgUHJvdG9jb2wgSW5zdGFuY2UuDQo+ICsgICAgLy8NCj4gKyAgICBt RnZiTW9kdWxlR2xvYmFsLk51bUZ2Kys7DQo+ICsgICAgSW5zdGFsbEZ2YlByb3RvY29sIChGd2hJ bnN0YW5jZSwgbUZ2Yk1vZHVsZUdsb2JhbC5OdW1GdiAtIDEpOw0KPiArDQo+ICsgICAgLy8NCj4g KyAgICAvLyBNb3ZlIG9uIHRvIHRoZSBuZXh0IEZ3aEluc3RhbmNlLg0KPiArICAgIC8vDQo+ICsg ICAgRndoSW5zdGFuY2UgPSAoRUZJX0ZXX1ZPTF9JTlNUQU5DRSAqKSAoKFVJTlROKSgoVUlOVDgN Cj4gKilGd2hJbnN0YW5jZSkgKw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRndWb2xIZWFkZXItPkhlYWRlckxlbmd0aCArDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAoc2l6ZW9mIChFRklfRldfVk9MX0lOU1RBTkNFKSAt IHNpemVvZg0KPiAoRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIpKSk7DQo+ICsNCj4gKyAgfQ0K PiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGltZUR4ZS9GdmJTZXJ2aWNl LmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2 YlNlcnZpY2UuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44 OWUwMjEyZjk4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvRnZiUnVudGltZUR4ZS9GdmJTZXJ2aWNlLmgNCj4gQEAgLTAsMCArMSwxODIg QEANCj4gKy8qKiBAZmlsZQ0KPiArICBUaGUgaGVhZGVyIGZpbGUgZm9yIEZpcm13YXJlIHZvbHVt ZSBibG9jayBkcml2ZXIuDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNiAgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiAN Cj4gKw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX0ZXX0JMT0NLX1NFUlZJQ0VfSA0KPiArI2Rl ZmluZSBfRldfQkxPQ0tfU0VSVklDRV9IDQo+ICsNCj4gKyNpbmNsdWRlIDxHdWlkL0V2ZW50R3Jv dXAuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0Zpcm13YXJlRmlsZVN5c3RlbTIuaD4NCj4gKyNpbmNs dWRlIDxHdWlkL1N5c3RlbU52RGF0YUd1aWQuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EZXZp Y2VQYXRoLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRmlybXdhcmVWb2x1bWVCbG9jay5oPg0K PiArDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpRHJpdmVyRW50cnlQb2ludC5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9VZWZpTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1l bW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L0NhY2hlTWFpbnRlbmFuY2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L01lbW9y eUFsbG9jYXRpb25MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvRmxhc2hEZXZpY2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Rl dmljZVBhdGhMaWIuaD4NCj4gKw0KPiArLy8NCj4gKy8vIERlZmluZSB0d28gaGVscGVyIG1hY3Jv IHRvIGV4dHJhY3QgdGhlIENhcGFiaWxpdHkgZmllbGQgb3IgU3RhdHVzIGZpZWxkIGluDQo+IEZW Qg0KPiArLy8gYml0IGZpZWxkcy4NCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9GVkIyX0NBUEFCSUxJ VElFUyAoRUZJX0ZWQjJfUkVBRF9ESVNBQkxFRF9DQVAgfCBcDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBFRklfRlZCMl9SRUFEX0VOQUJMRURfQ0FQIHwgXA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfV1JJVEVfRElTQUJMRURfQ0FQIHwgXA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX0ZWQjJfV1JJVEVfRU5BQkxFRF9DQVAg fCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfRlZCMl9MT0NLX0NBUCBc DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApDQo+ICsNCj4gKyNkZWZpbmUgRUZJ X0ZWQjJfU1RBVFVTIChFRklfRlZCMl9SRUFEX1NUQVRVUyB8DQo+IEVGSV9GVkIyX1dSSVRFX1NU QVRVUyB8IEVGSV9GVkIyX0xPQ0tfU1RBVFVTKQ0KPiArDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0 IHsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEZ2QmFzZTsNCj4gKyAgVUlOVE4g ICAgICAgICAgICAgICAgICAgICAgIE51bU9mQmxvY2tzOw0KPiArICAvLw0KPiArICAvLyBOb3Rl ISEhOiBWb2x1bWVIZWFkZXIgbXVzdCBiZSB0aGUgbGFzdCBlbGVtZW50DQo+ICsgIC8vIG9mIHRo ZSBzdHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ICsgIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSICBW b2x1bWVIZWFkZXI7DQo+ICt9IEVGSV9GV19WT0xfSU5TVEFOQ0U7DQo+ICsNCj4gK3R5cGVkZWYg c3RydWN0IHsNCj4gKyAgRUZJX0ZXX1ZPTF9JTlNUQU5DRSAgICAgICAgICpGdkluc3RhbmNlOw0K PiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgTnVtRnY7DQo+ICt9IEZXQl9HTE9CQUw7 DQo+ICsNCj4gKy8vDQo+ICsvLyBGdmIgUHJvdG9jb2wgaW5zdGFuY2UgZGF0YS4NCj4gKy8vDQo+ ICsjZGVmaW5lIEZWQl9ERVZJQ0VfRlJPTV9USElTKGEpIENSKGEsIEVGSV9GV19WT0xfQkxPQ0tf REVWSUNFLA0KPiBGd1ZvbEJsb2NrSW5zdGFuY2UsIEZWQl9ERVZJQ0VfU0lHTkFUVVJFKQ0KPiAr I2RlZmluZSBGVkJfRVhURU5EX0RFVklDRV9GUk9NX1RISVMoYSkgQ1IoYSwNCj4gRUZJX0ZXX1ZP TF9CTE9DS19ERVZJQ0UsIEZ2YkV4dGVuc2lvbiwgRlZCX0RFVklDRV9TSUdOQVRVUkUpDQo+ICsj ZGVmaW5lIEZWQl9ERVZJQ0VfU0lHTkFUVVJFICAgICAgIFNJR05BVFVSRV8zMignRicsJ1YnLCdC JywnQycpDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgTUVESUFfRldfVk9MX0RFVklD RV9QQVRIICBGdkRldlBhdGg7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgRW5kRGV2 UGF0aDsNCj4gK30gRlZfUElXR19ERVZJQ0VfUEFUSDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qg ew0KPiArICBNRU1NQVBfREVWSUNFX1BBVEggICAgICAgICAgTWVtTWFwRGV2UGF0aDsNCj4gKyAg RUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgIEVuZERldlBhdGg7DQo+ICt9IEZWX01FTU1BUF9E RVZJQ0VfUEFUSDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ25hdHVyZTsNCj4gKyAgRUZJX0RFVklDRV9QQVRI X1BST1RPQ09MICAgICAgICAgICAgICAqRGV2aWNlUGF0aDsNCj4gKyAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZTsNCj4gKyAgRUZJX0ZJUk1XQVJFX1ZPTFVN RV9CTE9DS19QUk9UT0NPTCAgICBGd1ZvbEJsb2NrSW5zdGFuY2U7DQo+ICt9IEVGSV9GV19WT0xf QkxPQ0tfREVWSUNFOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXRGdmJJbmZvICgNCj4gKyAg SU4gIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgICBGdkJhc2VBZGRyZXNzLA0KPiAr ICBPVVQgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgICAgICAgICoqRnZiSW5mbw0KPiArICAp Ow0KPiArDQo+ICsvLw0KPiArLy8gUHJvdG9jb2wgQVBJcw0KPiArLy8NCj4gK0VGSV9TVEFUVVMN Cj4gK0VGSUFQSQ0KPiArRnZiUHJvdG9jb2xHZXRBdHRyaWJ1dGVzICgNCj4gKyAgSU4gQ09OU1Qg RUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICpUaGlzLA0KPiArICBPVVQgRUZJ X0ZWQl9BVFRSSUJVVEVTXzIgICAgICAgICAgICAgICAgICAgICAgKkF0dHJpYnV0ZXMNCj4gKyAg KTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJQcm90b2NvbFNldEF0dHJp YnV0ZXMgKA0KPiArICBJTiBDT05TVCBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09M ICAgKlRoaXMsDQo+ICsgIElOIE9VVCBFRklfRlZCX0FUVFJJQlVURVNfMiAgICAgICAgICAgICAg ICAgICAqQXR0cmlidXRlcw0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK0Z2YlByb3RvY29sR2V0UGh5c2ljYWxBZGRyZXNzICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJ Uk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgKlRoaXMsDQo+ICsgICAgICAgT1VUIEVGSV9Q SFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgICAgICpBZGRyZXNzDQo+ICsgICk7DQo+ICsNCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiUHJvdG9jb2xHZXRCbG9ja1NpemUgKA0KPiAr ICBJTiBDT05TVCBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAqVGhpcywNCj4g KyAgSU4gIEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJhLA0KPiArICBPVVQg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQmxvY2tTaXplLA0KPiArICBPVVQg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqTnVtT2ZCbG9ja3MNCj4gKyAgKTsN Cj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJQcm90b2NvbFJlYWQgKA0KPiAr ICBJTiBDT05TVCBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAgKlRoaXMsDQo+ ICsgIElOIEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYmEsDQo+ICsgIElO IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQsDQo+ICsgIElOIE9V VCBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqTnVtQnl0ZXMsDQo+ICsgIE9VVCBV SU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcg0KPiArICApOw0KPiAr DQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Z2YlByb3RvY29sV3JpdGUgKA0KPiArICBJ TiBDT05TVCBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAgKlRoaXMsDQo+ICsg IElOIEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYmEsDQo+ICsgIElOIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQsDQo+ICsgIElOIE9VVCBV SU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqTnVtQnl0ZXMsDQo+ICsgIElOIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiUHJvdG9jb2xFcmFzZUJsb2NrcyAoDQo+ICsg IElOIENPTlNUIEVGSV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICAgKlRoaXMsDQo+ ICsgIC4uLg0KPiArICApOw0KPiArDQo+ICtFRklfRldfVk9MX0lOU1RBTkNFICoNCj4gK0dldEZ2 Ykluc3RhbmNlICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg SW5zdGFuY2UNCj4gKyAgKTsNCj4gKw0KPiArQk9PTEVBTg0KPiArSXNGdkhlYWRlclZhbGlkICgN Cj4gKyAgSU4gICAgICAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgRnZCYXNlLA0KPiAr ICBJTiBDT05TVCBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgICAqRndWb2xIZWFkZXINCj4g KyAgKTsNCj4gKw0KPiArVk9JRA0KPiArSW5zdGFsbEZ2YlByb3RvY29sICgNCj4gKyAgSU4gIEVG SV9GV19WT0xfSU5TVEFOQ0UgICAgICAgICAgICAgICAqRndoSW5zdGFuY2UsDQo+ICsgIElOICBV SU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFuY2VOdW0NCj4gKyAgKTsNCj4g Kw0KPiArRUZJX1NUQVRVUw0KPiArRnZiSW5pdGlhbGl6ZSAoDQo+ICsgIFZPSUQNCj4gKyAgKTsN Cj4gKw0KPiArZXh0ZXJuIEZXQl9HTE9CQUwgICAgICAgICAgICAgIG1GdmJNb2R1bGVHbG9iYWw7 DQo+ICtleHRlcm4gRUZJX0ZXX1ZPTF9CTE9DS19ERVZJQ0UgbUZ2YkRldmljZVRlbXBsYXRlOw0K PiArZXh0ZXJuIEZWX01FTU1BUF9ERVZJQ0VfUEFUSCAgIG1Gdk1lbW1hcERldmljZVBhdGhUZW1w bGF0ZTsNCj4gK2V4dGVybiBGVl9QSVdHX0RFVklDRV9QQVRIICAgICBtRnZQSVdHRGV2aWNlUGF0 aFRlbXBsYXRlOw0KPiArZXh0ZXJuIFVJTlQzMiAgICAgICAgICAgICAgICAgIG1QbGF0Zm9ybUZ2 QmFzZUFkZHJlc3NbM107DQo+ICsNCj4gKyNlbmRpZg0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNlcnZpY2VE eGUuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUv RnZiU2VydmljZUR4ZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLjMyYWEyMTY3MjgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNlcnZpY2VEeGUuYw0KPiBAQCAtMCww ICsxLDE5OSBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIEZpcm13YXJlIFZvbHVtZSBCbG9jayBEcml2 ZXIgZm9yIExha2Vwb3J0IFBsYXRmb3JtLg0KPiArDQo+ICsgIEZpcm13YXJlIHZvbHVtZSBibG9j ayBkcml2ZXIgZm9yIEZXSCBvciBTUEkgZGV2aWNlLg0KPiArICBJdCBkZXBlbmRzIG9uIHdoaWNo IEZsYXNoIERldmljZSBMaWJyYXJ5IHRvIGJlIGxpbmtlZCB3aXRoIHRoaXMgZHJpdmVyLg0KPiAr DQo+ICtDb3B5cmlnaHQgKGMpIDIwMDYgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ ICsjaW5jbHVkZSA8UGlEeGUuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlSdW50aW1lTGli Lmg+DQo+ICsjaW5jbHVkZSAiRnZiU2VydmljZS5oIg0KPiArDQo+ICtleHRlcm4gRldCX0dMT0JB TCAgICAgICAgICAgICAgbUZ2Yk1vZHVsZUdsb2JhbDsNCj4gKw0KPiArLyoqDQo+ICsgIENhbGwg YmFjayBmdW5jdGlvbiBvbiBFVlRfU0lHTkFMX1ZJUlRVQUxfQUREUkVTU19DSEFOR0UgZXZlbnQu DQo+ICsNCj4gKyAgRml4dXAgaW50ZXJuYWwgZGF0YSBzbyB0aGF0IHRoZSBkcml2ZXIgaXMgY2Fs bGFibGUgaW4gRUZJIHJ1bnRpbWUNCj4gKyAgaW4gdmlydHVhbCBtb2RlLiBDb252ZXJ0IHRoZSBt RnZiTW9kdWxlR2xvYmFsIGRhdGUgaXRlbXMgdG8gdGhlcmUNCj4gKyAgdmlydHVhbCBhZGRyZXNz Lg0KPiArDQo+ICsgIEBwYXJhbSAgRXZlbnQgICAgIEV2ZW50IHdob3NlIG5vdGlmaWNhdGlvbiBm dW5jdGlvbiBpcyBiZWluZyBpbnZva2VkLg0KPiArICBAcGFyYW0gIENvbnRleHQgICBUaGUgY29u dGV4dCBvZiB0aGUgTm90aWZpY2F0aW9uIGNvbnRleHQuIE5vdCB1c2VkIGluDQo+ICsgICAgICAg ICAgICAgICAgICAgIHRoaXMgY2FsbCBiYWNrIGZ1bmN0aW9uLg0KPiArDQo+ICsqKi8NCj4gK1ZP SUQNCj4gK0VGSUFQSQ0KPiArRnZiVmlydHVhbGRkcmVzc0NoYW5nZUV2ZW50ICgNCj4gKyAgSU4g RUZJX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudCwNCj4gKyAgSU4gVk9JRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQ29udGV4dA0KPiArICApDQo+ICt7DQo+ICsg IEVGSV9GV19WT0xfSU5TVEFOQ0UgICAgICAgICAgICAgICAgICAgKkZ3aEluc3RhbmNlOw0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIENvbnZlcnQgdGhlIGJhc2UgYWRkcmVzcyBvZiBhbGwgdGhlIGluc3RhbmNl cy4NCj4gKyAgLy8NCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgbUZ2Yk1vZHVsZUdsb2Jh bC5OdW1GdjsgSW5kZXgrKykgew0KPiArICAgIEZ3aEluc3RhbmNlID0gR2V0RnZiSW5zdGFuY2Ug KEluZGV4KTsNCj4gKyAgICBFZmlDb252ZXJ0UG9pbnRlciAoMCwgKFZPSUQgKiopICZGd2hJbnN0 YW5jZS0+RnZCYXNlKTsNCj4gKyAgfQ0KPiArDQo+ICsgIEVmaUNvbnZlcnRQb2ludGVyICgwLCAo Vk9JRCAqKikgJm1GdmJNb2R1bGVHbG9iYWwuRnZJbnN0YW5jZSk7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoqDQo+ICsgIFRoZSBmdW5jdGlvbiBpbnN0YWxscyBFRklfRklSTVdBUkVfVk9MVU1FX0JM T0NLIHByb3RvY29sDQo+ICsgIGZvciBlYWNoIEZWIGluIHRoZSBzeXN0ZW0uDQo+ICsNCj4gKyAg QHBhcmFtW2luXSAgRndoSW5zdGFuY2UgICBUaGUgcG9pbnRlciB0byBhIEZXIHZvbHVtZSBpbnN0 YW5jZSBzdHJ1Y3R1cmUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hpY2ggY29u dGFpbnMgdGhlIGluZm9ybWF0aW9uIGFib3V0IG9uZSBGVi4NCj4gKyAgQHBhcmFtW2luXSAgSW5z dGFuY2VOdW0gICBUaGUgaW5zdGFuY2UgbnVtYmVyIHdoaWNoIGNhbiBiZSB1c2VkIGFzIGEgSUQN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0byBsb2NhdGUgdGhpcyBGd2hJbnN0YW5j ZSBpbiBvdGhlciBmdW5jdGlvbnMuDQo+ICsNCj4gKyAgQHJldHZhbCAgICAgVk9JRA0KPiArDQo+ ICsqKi8NCj4gK1ZPSUQNCj4gK0luc3RhbGxGdmJQcm90b2NvbCAoDQo+ICsgIElOICBFRklfRldf Vk9MX0lOU1RBTkNFICAgICAgICAgICAgICAgKkZ3aEluc3RhbmNlLA0KPiArICBJTiAgVUlOVE4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEluc3RhbmNlTnVtDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX0ZXX1ZPTF9CTE9DS19ERVZJQ0UgICAgICAgICAgICAgICAqRnZiRGV2aWNlOw0KPiAr ICBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgICAgICAgICAgICpGd1ZvbEhlYWRlcjsNCj4g KyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVG SV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgRndiSGFuZGxlOw0KPiArICBFRklf RklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAgICpPbGRGd2JJbnRlcmZhY2U7DQo+ICsN Cj4gKyAgRnZiRGV2aWNlID0gKEVGSV9GV19WT0xfQkxPQ0tfREVWSUNFICopIEFsbG9jYXRlUnVu dGltZUNvcHlQb29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgc2l6ZW9mIChFRklfRldfVk9MX0JMT0NLX0RFVklDRSksDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtRnZiRGV2aWNlVGVtcGxhdGUNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJU IChGdmJEZXZpY2UgIT0gTlVMTCk7DQo+ICsNCj4gKyAgRnZiRGV2aWNlLT5JbnN0YW5jZSA9IElu c3RhbmNlTnVtOw0KPiArICBGd1ZvbEhlYWRlciA9ICZGd2hJbnN0YW5jZS0+Vm9sdW1lSGVhZGVy Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCB1cCB0aGUgZGV2aWNlcGF0aC4NCj4gKyAgLy8N Cj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAiRndCbG9ja1NlcnZpY2UuYzogU2V0dGluZyB1cCBE ZXZpY2VQYXRoIGZvcg0KPiAweCVseDpcbiIsIEZ3aEluc3RhbmNlLT5GdkJhc2UpKTsNCj4gKyAg aWYgKEZ3Vm9sSGVhZGVyLT5FeHRIZWFkZXJPZmZzZXQgPT0gMCkgew0KPiArICAgIC8vDQo+ICsg ICAgLy8gRlYgZG9lcyBub3QgY29udGFpbnMgZXh0ZW5zaW9uIGhlYWRlciwgdGhlbiBwcm9kdWNl DQo+IE1FTU1BUF9ERVZJQ0VfUEFUSC4NCj4gKyAgICAvLw0KPiArICAgIEZ2YkRldmljZS0+RGV2 aWNlUGF0aCA9IChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgKikNCj4gQWxsb2NhdGVSdW50aW1l Q29weVBvb2wgKHNpemVvZiAoRlZfTUVNTUFQX0RFVklDRV9QQVRIKSwNCj4gJm1Gdk1lbW1hcERl dmljZVBhdGhUZW1wbGF0ZSk7DQo+ICsgICAgKChGVl9NRU1NQVBfREVWSUNFX1BBVEggKikgRnZi RGV2aWNlLT5EZXZpY2VQYXRoKS0NCj4gPk1lbU1hcERldlBhdGguU3RhcnRpbmdBZGRyZXNzID0g RndoSW5zdGFuY2UtPkZ2QmFzZTsNCj4gKyAgICAoKEZWX01FTU1BUF9ERVZJQ0VfUEFUSCAqKSBG dmJEZXZpY2UtPkRldmljZVBhdGgpLQ0KPiA+TWVtTWFwRGV2UGF0aC5FbmRpbmdBZGRyZXNzICAg PSBGd2hJbnN0YW5jZS0+RnZCYXNlICsNCj4gRndWb2xIZWFkZXItPkZ2TGVuZ3RoIC0gMTsNCj4g KyAgfSBlbHNlIHsNCj4gKyAgICBGdmJEZXZpY2UtPkRldmljZVBhdGggPSAoRUZJX0RFVklDRV9Q QVRIX1BST1RPQ09MICopDQo+IEFsbG9jYXRlUnVudGltZUNvcHlQb29sIChzaXplb2YgKEZWX1BJ V0dfREVWSUNFX1BBVEgpLA0KPiAmbUZ2UElXR0RldmljZVBhdGhUZW1wbGF0ZSk7DQo+ICsgICAg Q29weUd1aWQgKA0KPiArICAgICAgJigoRlZfUElXR19ERVZJQ0VfUEFUSCAqKUZ2YkRldmljZS0+ RGV2aWNlUGF0aCktDQo+ID5GdkRldlBhdGguRnZOYW1lLA0KPiArICAgICAgKEdVSUQgKikoVUlO VE4pKEZ3aEluc3RhbmNlLT5GdkJhc2UgKyBGd1ZvbEhlYWRlci0NCj4gPkV4dEhlYWRlck9mZnNl dCkNCj4gKyAgICAgICk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBGaW5kIGEgaGFu ZGxlIHdpdGggYSBtYXRjaGluZyBkZXZpY2UgcGF0aCB0aGF0IGhhcyBzdXBwb3J0cyBGVyBCbG9j aw0KPiBwcm90b2NvbC4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVEZXZpY2VQ YXRoICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpRmlybXdhcmVWb2x1bWVCbG9ja1Byb3Rv Y29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICZGdmJEZXZpY2UtPkRldmljZVBhdGgsDQo+ ICsgICAgICAgICAgICAgICAgICAmRndiSGFuZGxlDQo+ICsgICAgICAgICAgICAgICAgICApOw0K PiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpICkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gTG9j YXRlRGV2aWNlUGF0aCBmYWlscyBzbyBpbnN0YWxsIGEgbmV3IGludGVyZmFjZSBhbmQgZGV2aWNl IHBhdGguDQo+ICsgICAgLy8NCj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICJGd0Jsb2NrU2Vy dmljZS5jOiBMb2NhdGVEZXZpY2VQYXRoIGZhaWxlZCwgaW5zdGFsbA0KPiBuZXcgaW50ZXJmYWNl IDB4JWx4OlxuIiwgRndoSW5zdGFuY2UtPkZ2QmFzZSkpOw0KPiArICAgIEZ3YkhhbmRsZSA9IE5V TEw7DQo+ICsgICAgU3RhdHVzID0gIGdCUy0+SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZh Y2VzICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICZGd2JIYW5kbGUsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAmZ0VmaUZpcm13YXJlVm9sdW1lQmxvY2tQcm90b2NvbEd1aWQsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAmRnZiRGV2aWNlLT5Gd1ZvbEJsb2NrSW5zdGFuY2UsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAg ICAgICAgICAgICAgICBGdmJEZXZpY2UtPkRldmljZVBhdGgsDQo+ICsgICAgICAgICAgICAgICAg ICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklf RVJST1IgKFN0YXR1cyk7DQo+ICsgICAgREVCVUcgKChFRklfRF9JTkZPLCAiRndCbG9ja1NlcnZp Y2UuYzogSU1QSSBGaXJtd2FyZVZvbEJsb2NrUHJvdCwNCj4gRGV2UGF0aCAweCVseDogJXJcbiIs IEZ3aEluc3RhbmNlLT5GdkJhc2UsIFN0YXR1cykpOw0KPiArDQo+ICsgIH0gZWxzZSBpZiAoSXNE ZXZpY2VQYXRoRW5kIChGdmJEZXZpY2UtPkRldmljZVBhdGgpKSB7DQo+ICsgICAgLy8NCj4gKyAg ICAvLyBEZXZpY2UgYWxscmVhZHkgZXhpc3RzLCBzbyByZWluc3RhbGwgdGhlIEZWQiBwcm90b2Nv bC4NCj4gKyAgICAvLw0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJGd0Jsb2NrU2Vydmlj ZS5jOiBMb2NhdGVEZXZpY2VQYXRoIHN1Y2NlZWRlZCwNCj4gcmVpbnN0YWxsIGludGVyZmFjZSAw eCVseDpcbiIsIEZ3aEluc3RhbmNlLT5GdkJhc2UpKTsNCj4gKyAgICBTdGF0dXMgPSBnQlMtPkhh bmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAgRndiSGFuZGxlLA0KPiArICAg ICAgICAgICAgICAgICAgICAmZ0VmaUZpcm13YXJlVm9sdW1lQmxvY2tQcm90b2NvbEd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmT2xkRndiSW50ZXJmYWNlDQo+ICsgICAg ICAgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4g Kw0KPiArICAgIFN0YXR1cyA9ICBnQlMtPlJlaW5zdGFsbFByb3RvY29sSW50ZXJmYWNlICgNCj4g KyAgICAgICAgICAgICAgICAgICAgIEZ3YkhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICZnRWZpRmlybXdhcmVWb2x1bWVCbG9ja1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgIE9sZEZ3YkludGVyZmFjZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICZGdmJEZXZp Y2UtPkZ3Vm9sQmxvY2tJbnN0YW5jZQ0KPiArICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg ICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIH0gZWxzZSB7DQo+ICsgICAg Ly8NCj4gKyAgICAvLyBUaGVyZSB3YXMgYSBGVkIgcHJvdG9jb2wgb24gYW4gRW5kIERldmljZSBQ YXRoIG5vZGUuDQo+ICsgICAgLy8NCj4gKyAgICBBU1NFUlQgKEZBTFNFKTsNCj4gKyAgfQ0KPiAr DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFRoZSBkcml2ZXIgZW50cnkgcG9pbnQgZm9y IEZpcm13YXJlIFZvbHVtZSBCbG9jayBEcml2ZXIuDQo+ICsNCj4gKyAgVGhlIGZ1bmN0aW9uIGRv ZXMgdGhlIG5lY2Vzc2FyeSBpbml0aWFsaXphdGlvbiB3b3JrIGZvcg0KPiArICBGaXJtd2FyZSBW b2x1bWUgQmxvY2sgRHJpdmVyLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIEltYWdlSGFuZGxlICAg ICAgIFRoZSBmaXJtd2FyZSBhbGxvY2F0ZWQgaGFuZGxlIGZvciB0aGUgVUVGSQ0KPiBpbWFnZS4N Cj4gKyAgQHBhcmFtW2luXSAgU3lzdGVtVGFibGUgICAgICAgQSBwb2ludGVyIHRvIHRoZSBFRkkg c3lzdGVtIHRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgICAgIEVGSV9TVUNDRVNTICAgICAgIFRo aXMgZnVudGlvbiBhbHdheXMgcmV0dXJuIEVGSV9TVUNDRVNTLg0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJdCB3aWxsIEFTU0VSVCBvbiBlcnJvcnMuDQo+ICsNCj4gKyoqLw0K PiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtEeGVGdmJJbml0aWFsaXplICgNCj4gKyAgSU4g RUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZUhhbmRsZSwNCj4gKyAgSU4g RUZJX1NZU1RFTV9UQUJMRSAgICAgICAgICAgICAgICAgICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0K PiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsN Cj4gKyAgRUZJX0VWRU5UICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFdmVudDsNCj4gKw0K PiArICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50RXggKA0KPiArICAgICAgICAgICAgICAgICAg RVZUX05PVElGWV9TSUdOQUwsDQo+ICsgICAgICAgICAgICAgICAgICBUUExfTk9USUZZLA0KPiAr ICAgICAgICAgICAgICAgICAgRnZiVmlydHVhbGRkcmVzc0NoYW5nZUV2ZW50LA0KPiArICAgICAg ICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpRXZlbnRWaXJ0dWFs QWRkcmVzc0NoYW5nZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAmRXZlbnQNCj4gKyAgICAg ICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4g KyAgRnZiSW5pdGlhbGl6ZSAoKTsNCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9 DQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0Z2YlJ1bnRpbWVEeGUvRnZiU2VydmljZVNtbS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvRnZiUnVudGltZUR4ZS9GdmJTZXJ2aWNlU21tLmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZDEzNjBiYjkwZA0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUv RnZiU2VydmljZVNtbS5jDQo+IEBAIC0wLDAgKzEsMTI3IEBADQo+ICsvKiogQGZpbGUNCj4gKyAg U01NIEZpcm13YXJlIFZvbHVtZSBCbG9jayBEcml2ZXIgZm9yIExha2Vwb3J0IFBsYXRmb3JtLg0K PiArDQo+ICsgIEZpcm13YXJlIHZvbHVtZSBibG9jayBkcml2ZXIgZm9yIEZXSCBvciBTUEkgZGV2 aWNlLg0KPiArICBJdCBkZXBlbmRzIG9uIHdoaWNoIEZsYXNoIERldmljZSBMaWJyYXJ5IHRvIGJl IGxpbmtlZCB3aXRoIHRoaXMgZHJpdmVyLg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTAgLSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4g DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsN Cj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpbmNsdWRlIDxQaVNtbS5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvU21tU2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgIkZ2YlNt bUNvbW1vbi5oIg0KPiArI2luY2x1ZGUgIkZ2YlNlcnZpY2UuaCINCj4gKw0KPiArLyoqDQo+ICsg IFRoZSBmdW5jdGlvbiBpbnN0YWxscyBFRklfU01NX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DSyBwcm90 b2NvbA0KPiArICBmb3IgZWFjaCBGViBpbiB0aGUgc3lzdGVtLg0KPiArDQo+ICsgIEBwYXJhbVtp bl0gIEZ3aEluc3RhbmNlICAgVGhlIHBvaW50ZXIgdG8gYSBGVyB2b2x1bWUgaW5zdGFuY2Ugc3Ry dWN0dXJlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIGNvbnRhaW5zIHRo ZSBpbmZvcm1hdGlvbiBhYm91dCBvbmUgRlYuDQo+ICsgIEBwYXJhbVtpbl0gIEluc3RhbmNlTnVt ICAgVGhlIGluc3RhbmNlIG51bWJlciB3aGljaCBjYW4gYmUgdXNlZCBhcyBhIElEDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdG8gbG9jYXRlIHRoaXMgRndoSW5zdGFuY2UgaW4gb3Ro ZXIgZnVuY3Rpb25zLg0KPiArDQo+ICsgIEByZXR2YWwgICAgIFZPSUQNCj4gKw0KPiArKiovDQo+ ICtWT0lEDQo+ICtJbnN0YWxsRnZiUHJvdG9jb2wgKA0KPiArICBJTiAgRUZJX0ZXX1ZPTF9JTlNU QU5DRSAgICAgICAgICAgICAgICpGd2hJbnN0YW5jZSwNCj4gKyAgSU4gIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZU51bQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9G V19WT0xfQkxPQ0tfREVWSUNFICAgICAgICAgICAgICAgKkZ2YkRldmljZTsNCj4gKyAgRUZJX0ZJ Uk1XQVJFX1ZPTFVNRV9IRUFERVIgICAgICAgICAgICAqRndWb2xIZWFkZXI7DQo+ICsgIEVGSV9T VEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfSEFORExF ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ2YkhhbmRsZTsNCj4gKw0KPiArICBGdmJEZXZp Y2UgPSAoRUZJX0ZXX1ZPTF9CTE9DS19ERVZJQ0UgKikgQWxsb2NhdGVSdW50aW1lQ29weVBvb2wg KA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg KEVGSV9GV19WT0xfQkxPQ0tfREVWSUNFKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJm1GdmJEZXZpY2VUZW1wbGF0ZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlQgKEZ2YkRldmljZSAh PSBOVUxMKTsNCj4gKw0KPiArICBGdmJEZXZpY2UtPkluc3RhbmNlID0gSW5zdGFuY2VOdW07DQo+ ICsgIEZ3Vm9sSGVhZGVyICAgICAgICAgPSAmRndoSW5zdGFuY2UtPlZvbHVtZUhlYWRlcjsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBTZXQgdXAgdGhlIGRldmljZXBhdGguDQo+ICsgIC8vDQo+ICsg IGlmIChGd1ZvbEhlYWRlci0+RXh0SGVhZGVyT2Zmc2V0ID09IDApIHsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIEZWIGRvZXMgbm90IGNvbnRhaW5zIGV4dGVuc2lvbiBoZWFkZXIsIHRoZW4gcHJvZHVj ZQ0KPiBNRU1NQVBfREVWSUNFX1BBVEguDQo+ICsgICAgLy8NCj4gKyAgICBGdmJEZXZpY2UtPkRl dmljZVBhdGggPSAoRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICopDQo+IEFsbG9jYXRlUnVudGlt ZUNvcHlQb29sIChzaXplb2YgKEZWX01FTU1BUF9ERVZJQ0VfUEFUSCksDQo+ICZtRnZNZW1tYXBE ZXZpY2VQYXRoVGVtcGxhdGUpOw0KPiArICAgICgoRlZfTUVNTUFQX0RFVklDRV9QQVRIICopIEZ2 YkRldmljZS0+RGV2aWNlUGF0aCktDQo+ID5NZW1NYXBEZXZQYXRoLlN0YXJ0aW5nQWRkcmVzcyA9 IEZ3aEluc3RhbmNlLT5GdkJhc2U7DQo+ICsgICAgKChGVl9NRU1NQVBfREVWSUNFX1BBVEggKikg RnZiRGV2aWNlLT5EZXZpY2VQYXRoKS0NCj4gPk1lbU1hcERldlBhdGguRW5kaW5nQWRkcmVzcyAg ID0gRndoSW5zdGFuY2UtPkZ2QmFzZSArDQo+IEZ3Vm9sSGVhZGVyLT5Gdkxlbmd0aCAtIDE7DQo+ ICsgIH0gZWxzZSB7DQo+ICsgICAgRnZiRGV2aWNlLT5EZXZpY2VQYXRoID0gKEVGSV9ERVZJQ0Vf UEFUSF9QUk9UT0NPTCAqKQ0KPiBBbGxvY2F0ZVJ1bnRpbWVDb3B5UG9vbCAoc2l6ZW9mIChGVl9Q SVdHX0RFVklDRV9QQVRIKSwNCj4gJm1GdlBJV0dEZXZpY2VQYXRoVGVtcGxhdGUpOw0KPiArICAg IENvcHlHdWlkICgNCj4gKyAgICAgICYoKEZWX1BJV0dfREVWSUNFX1BBVEggKilGdmJEZXZpY2Ut PkRldmljZVBhdGgpLQ0KPiA+RnZEZXZQYXRoLkZ2TmFtZSwNCj4gKyAgICAgIChHVUlEICopKFVJ TlROKShGd2hJbnN0YW5jZS0+RnZCYXNlICsgRndWb2xIZWFkZXItDQo+ID5FeHRIZWFkZXJPZmZz ZXQpDQo+ICsgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5zdGFsbCB0 aGUgU01NIEZpcm13YXJlIFZvbHVtZSBCbG9jayBQcm90b2NvbCBhbmQgRGV2aWNlIFBhdGgNCj4g UHJvdG9jb2wuDQo+ICsgIC8vDQo+ICsgIEZ2YkhhbmRsZSA9IE5VTEw7DQo+ICsgIFN0YXR1cyA9 IGdTbXN0LT5TbW1JbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KPiArICAgICAgICAgICAgICAg ICAgICAmRnZiSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaVNtbUZpcm13YXJl Vm9sdW1lQmxvY2tQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIEVGSV9OQVRJ VkVfSU5URVJGQUNFLA0KPiArICAgICAgICAgICAgICAgICAgICAmRnZiRGV2aWNlLT5Gd1ZvbEJs b2NrSW5zdGFuY2UNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9F UlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBTdGF0dXMgPSBnU21zdC0+U21tSW5zdGFsbFByb3Rv Y29sSW50ZXJmYWNlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgJkZ2YkhhbmRsZSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgJmdFZmlEZXZpY2VQYXRoUHJvdG9jb2xHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgICBFRklfTkFUSVZFX0lOVEVSRkFDRSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgRnZiRGV2aWNlLT5EZXZpY2VQYXRoDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsg IEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTm90aWZ5 IHRoZSBGdmIgd3JhcHBlciBkcml2ZXIgU01NIGZ2YiBpcyByZWFkeS4NCj4gKyAgLy8NCj4gKyAg RnZiSGFuZGxlID0gTlVMTDsNCj4gKyAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsUHJvdG9jb2xJbnRl cmZhY2UgKA0KPiArICAgICAgICAgICAgICAgICAgJkZ2YkhhbmRsZSwNCj4gKyAgICAgICAgICAg ICAgICAgICZnRWZpU21tRmlybXdhcmVWb2x1bWVCbG9ja1Byb3RvY29sR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgIEVGSV9OQVRJVkVfSU5URVJGQUNFLA0KPiArICAgICAgICAgICAgICAgICAg JkZ2YkRldmljZS0+RndWb2xCbG9ja0luc3RhbmNlDQo+ICsgICAgICAgICAgICAgICAgICApOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBUaGUgZHJpdmVyIGVudHJ5IHBvaW50IGZvciBT TU0gRmlybXdhcmUgVm9sdW1lIEJsb2NrIERyaXZlci4NCj4gKw0KPiArICBUaGUgZnVuY3Rpb24g ZG9lcyB0aGUgbmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uIHdvcmsNCj4gKyAgRmlybXdhcmUgVm9s dW1lIEJsb2NrIERyaXZlci4NCj4gKw0KPiArICBAcGFyYW1baW5dICBJbWFnZUhhbmRsZSAgICAg ICBUaGUgZmlybXdhcmUgYWxsb2NhdGVkIGhhbmRsZSBmb3IgdGhlIFVFRkkNCj4gaW1hZ2UuDQo+ ICsgIEBwYXJhbVtpbl0gIFN5c3RlbVRhYmxlICAgICAgIEEgcG9pbnRlciB0byB0aGUgRUZJIHN5 c3RlbSB0YWJsZS4NCj4gKw0KPiArICBAcmV0dmFsICAgICBFRklfU1VDQ0VTUyAgICAgICBUaGlz IGZ1bnRpb24gYWx3YXlzIHJldHVybiBFRklfU1VDQ0VTUy4NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSXQgd2lsbCBBU1NFUlQgb24gZXJyb3JzLg0KPiArDQo+ICsqKi8NCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiU21tSW5pdGlhbGl6ZSAoDQo+ICsgIElOIEVG SV9IQU5ETEUgICAgICAgICBJbWFnZUhhbmRsZSwNCj4gKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAg ICpTeXN0ZW1UYWJsZQ0KPiArICApDQo+ICt7DQo+ICsgIEZ2YkluaXRpYWxpemUgKCk7DQo+ICsN Cj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNtbS5pbmYNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNtbS5p bmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNGUzM2MzYjlm Yg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0Z2YlJ1bnRpbWVEeGUvRnZiU21tLmluZg0KPiBAQCAtMCwwICsxLDgyIEBADQo+ICsjIyBA ZmlsZQ0KPiArIyBUaGlzIGRyaXZlciBpbXBsZW1lbnQgdGhlIEVGSV9TTU1fRklSTVdBUkVfVk9M VU1FTl9QUk9UT0NPTC4NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiANCj4gKyMg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0K PiANCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMjDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBJTkZf VkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAg ICAgICAgICAgICAgICAgICAgICA9IEZ2YlNtbQ0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAg ICAgICAgICAgPSBBNEVDOEFEQi1CN0E4LTQ3ZDEtOEU1Mi1FQzgyMEQwQUNGNkYNCj4gKyAgTU9E VUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gRFhFX1NNTV9EUklWRVINCj4gKyAgVkVSU0lP Tl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIFBJX1NQRUNJRklDQVRJT05fVkVS U0lPTiAgICAgICA9IDB4MDAwMTAwMEENCj4gKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAg ICAgID0gRnZiU21tSW5pdGlhbGl6ZQ0KPiArDQo+ICsjDQo+ICsjIFRoZSBmb2xsb3dpbmcgaW5m b3JtYXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQgYnkgdGhlDQo+ IGJ1aWxkIHRvb2xzLg0KPiArIw0KPiArIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAg PSBJQTMyIFg2NA0KPiArIw0KPiArIyAgVklSVFVBTF9BRERSRVNTX01BUF9DQUxMQkFDSyAgPSAg RnZiVmlydHVhbGRkcmVzc0NoYW5nZUV2ZW50DQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiAr ICBGdmJJbmZvLmMNCj4gKyAgRnZiU2VydmljZS5oDQo+ICsgIEZ2YlNlcnZpY2UuYw0KPiArICBG dmJTZXJ2aWNlU21tLmMNCj4gKyAgRnZiU21tQ29tbW9uLmgNCj4gKw0KPiArW1BhY2thZ2VzXQ0K PiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRl Yw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgVmx2MkRldmlj ZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xh c3Nlc10NCj4gKyAgRmxhc2hEZXZpY2VMaWINCj4gKyAgUGNkTGliDQo+ICsgIE1lbW9yeUFsbG9j YXRpb25MaWINCj4gKyAgQ2FjaGVNYWludGVuYW5jZUxpYg0KPiArICBJb0xpYg0KPiArICBCYXNl TWVtb3J5TGliDQo+ICsgIERlYnVnTGliDQo+ICsgIEJhc2VMaWINCj4gKyAgVWVmaUxpYg0KPiAr ICBTbW1MaWINCj4gKyAgU21tU2VydmljZXNUYWJsZUxpYg0KPiArICBVZWZpQm9vdFNlcnZpY2Vz VGFibGVMaWINCj4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gKw0KPiArW0d1aWRzXQ0KPiAr ICBnRWZpRmlybXdhcmVGaWxlU3lzdGVtMkd1aWQgICAgICAgICAgICAgICAgICAgIyBBTFdBWVNf Q09OU1VNRUQNCj4gKyAgZ0VmaVN5c3RlbU52RGF0YUZ2R3VpZCAgICAgICAgICAgICAgICAgICAg ICAgICMgQUxXQVlTX0NPTlNVTUVEDQo+ICsgIGdFZmlFdmVudFZpcnR1YWxBZGRyZXNzQ2hhbmdl R3VpZA0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiArICBnRWZpRGV2aWNlUGF0aFByb3RvY29sR3Vp ZCAgICAgICAgICAgICAgICAgICAgIyBQUk9UT0NPTCBBTFdBWVNfUFJPRFVDRUQNCj4gKyAgZ0Vm aVNtbUZpcm13YXJlVm9sdW1lQmxvY2tQcm90b2NvbEd1aWQgICAgICAgICMgUFJPVE9DT0wNCj4g QUxXQVlTX1BST0RVQ0VEDQo+ICsNCj4gK1tGaXhlZFBjZF0NCj4gKyAgZ1BsYXRmb3JtTW9kdWxl VG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdk1haW5CYXNlDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlQmFzZQ0KPiArICBnUGxhdGZv cm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnlCYXNlDQo+ICsNCj4gK1tQ Y2RdDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZNYWluU2l6 ZQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnlT aXplDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFn ZVZhcmlhYmxlU2l6ZQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxh c2hOdlN0b3JhZ2VGdHdXb3JraW5nU2l6ZQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRmxhc2hOdlN0b3JhZ2VGdHdTcGFyZVNpemUNCj4gKw0KPiArW0RlcGV4XQ0KPiAr ICBnRWZpU21tU3BpUHJvdG9jb2xHdWlkDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUvRnZiU21tQ29tbW9uLmgNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNtbUNv bW1vbi5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjIzNmU0 ODcxMTENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNtbUNvbW1vbi5oDQo+IEBAIC0wLDAgKzEsNzMg QEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIFRoZSBjb21tb24gaGVhZGVyIGZpbGUgZm9yIFNN TSBGVkIgbW9kdWxlIGFuZCBTTU0gRlZCIHJ1bnRpbWUNCj4gTW9kdWxlLg0KPiArDQo+ICtDb3B5 cmlnaHQgKGMpIDIwMTAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC4gPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVm IF9TTU1fRlZCX0NPTU1PTl9IXw0KPiArI2RlZmluZSBfU01NX0ZWQl9DT01NT05fSF8NCj4gKw0K PiArI2luY2x1ZGUgPFByb3RvY29sL1NtbUZpcm13YXJlVm9sdW1lQmxvY2suaD4NCj4gKw0KPiAr I2RlZmluZSBFRklfRlVOQ1RJT05fR0VUX0FUVFJJQlVURVMgICAgICAgICAgIDENCj4gKyNkZWZp bmUgRUZJX0ZVTkNUSU9OX1NFVF9BVFRSSUJVVEVTICAgICAgICAgICAyDQo+ICsjZGVmaW5lIEVG SV9GVU5DVElPTl9HRVRfUEhZU0lDQUxfQUREUkVTUyAgICAgMw0KPiArI2RlZmluZSBFRklfRlVO Q1RJT05fR0VUX0JMT0NLX1NJWkUgICAgICAgICAgIDQNCj4gKyNkZWZpbmUgRUZJX0ZVTkNUSU9O X1JFQUQgICAgICAgICAgICAgICAgICAgICA1DQo+ICsjZGVmaW5lIEVGSV9GVU5DVElPTl9XUklU RSAgICAgICAgICAgICAgICAgICAgNg0KPiArI2RlZmluZSBFRklfRlVOQ1RJT05fRVJBU0VfQkxP Q0tTICAgICAgICAgICAgIDcNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UTiAg ICAgICBGdW5jdGlvbjsNCj4gKyAgRUZJX1NUQVRVUyAgUmV0dXJuU3RhdHVzOw0KPiArICBVSU5U OCAgICAgICBEYXRhWzFdOw0KPiArfSBTTU1fRlZCX0NPTU1VTklDQVRFX0ZVTkNUSU9OX0hFQURF UjsNCj4gKw0KPiArDQo+ICsvLy8NCj4gKy8vLyBTaXplIG9mIFNNTSBjb21tdW5pY2F0ZSBoZWFk ZXIsIHdpdGhvdXQgaW5jbHVkaW5nIHRoZSBwYXlsb2FkLg0KPiArLy8vDQo+ICsjZGVmaW5lIFNN TV9DT01NVU5JQ0FURV9IRUFERVJfU0laRSAgKE9GRlNFVF9PRg0KPiAoRUZJX1NNTV9DT01NVU5J Q0FURV9IRUFERVIsIERhdGEpKQ0KPiArDQo+ICsvLy8NCj4gKy8vLyBTaXplIG9mIFNNTSBGVkIg Y29tbXVuaWNhdGUgZnVuY3Rpb24gaGVhZGVyLCB3aXRob3V0IGluY2x1ZGluZyB0aGUNCj4gcGF5 bG9hZC4NCj4gKy8vLw0KPiArI2RlZmluZSBTTU1fRlZCX0NPTU1VTklDQVRFX0hFQURFUl9TSVpF ICAoT0ZGU0VUX09GDQo+IChTTU1fRlZCX0NPTU1VTklDQVRFX0ZVTkNUSU9OX0hFQURFUiwgRGF0 YSkpDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX1NNTV9GSVJNV0FSRV9WT0xV TUVfQkxPQ0tfUFJPVE9DT0wgICAgICpTbW1GdmI7DQo+ICsgIEVGSV9GVkJfQVRUUklCVVRFU18y ICAgICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGVzOw0KPiArfSBTTU1fRlZCX0FUVFJJQlVU RVNfSEVBREVSOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9TTU1fRklSTVdB UkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAgICAqU21tRnZiOw0KPiArICBFRklfUEhZU0lDQUxf QUREUkVTUyAgICAgICAgICAgICAgICAgICAgICAgQWRkcmVzczsNCj4gK30gU01NX0ZWQl9QSFlT SUNBTF9BRERSRVNTX0hFQURFUjsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBFRklf U01NX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICAgKlNtbUZ2YjsNCj4gKyAgRUZJ X0xCQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExiYTsNCj4gKyAgVUlOVE4g ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJsb2NrU2l6ZTsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bU9mQmxvY2tzOw0KPiAr fSBTTU1fRlZCX0JMT0NLX1NJWkVfSEVBREVSOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ ICsgIEVGSV9TTU1fRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAgICAqU21tRnZiOw0K PiArICBFRklfTEJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJhOw0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0Ow0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtQnl0ZXM7DQo+ ICt9IFNNTV9GVkJfUkVBRF9XUklURV9IRUFERVI7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsN Cj4gKyAgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICAgICAgICpTbW1GdmI7 DQo+ICsgIEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGFydExi YTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bU9m TGJhOw0KPiArfSBTTU1fRlZCX0JMT0NLU19IRUFERVI7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZm IC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGltZUR4ZS9G dmJTbW1EeGUuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRp bWVEeGUvRnZiU21tRHhlLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uZTQ2YzY1YzNmYw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUvRnZiU21tRHhlLmMNCj4gQEAgLTAsMCAr MSw5NDQgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIEltcGxlbWVudCB0aGUgRmlybXdhcmUg Vm9sdW1lIEJsb2NrIChGVkIpIHNlcnZpY2VzIGJhc2VkIG9uIFNNTSBGVkINCj4gKyAgbW9kdWxl IGFuZCBpbnN0YWxsIEZWQiBwcm90b2NvbC4NCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDEwICAt IDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLiA8QlI+DQo+ICsN Cj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICsNCj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpbmNsdWRlICJGdmJTbW1EeGUuaCIN Cj4gKw0KPiArRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgbUhhbmRsZSAgICAgICAg ICAgPSBOVUxMOw0KPiArRUZJX1NNTV9DT01NVU5JQ0FUSU9OX1BST1RPQ09MICAqbVNtbUNvbW11 bmljYXRpb24gPSBOVUxMOw0KPiArDQo+ICsvLw0KPiArLy8gVGVtcGxhdGUgc3RydWN0dXJlIHVz ZWQgd2hlbiBpbnN0YWxsaW5nIEZWQiBwcm90b2NvbC4NCj4gKy8vDQo+ICtFRklfRlZCX0RFVklD RSAgICBtRnZiRGV2aWNlVGVtcGxhdGUgPSB7DQo+ICsgIEZWQl9ERVZJQ0VfU0lHTkFUVVJFLA0K PiArICBOVUxMLA0KPiArICB7DQo+ICsgICAgRnZiR2V0QXR0cmlidXRlcywNCj4gKyAgICBGdmJT ZXRBdHRyaWJ1dGVzLA0KPiArICAgIEZ2YkdldFBoeXNpY2FsQWRkcmVzcywNCj4gKyAgICBGdmJH ZXRCbG9ja1NpemUsDQo+ICsgICAgRnZiUmVhZCwNCj4gKyAgICBGdmJXcml0ZSwNCj4gKyAgICBG dmJFcmFzZUJsb2NrcywNCj4gKyAgICBOVUxMDQo+ICsgIH0sDQo+ICsgIE5VTEwNCj4gK307DQo+ ICsNCj4gK0ZWX01FTU1BUF9ERVZJQ0VfUEFUSCBtRnZNZW1tYXBEZXZpY2VQYXRoVGVtcGxhdGUg PSB7DQo+ICsgIHsNCj4gKyAgICB7DQo+ICsgICAgICBIQVJEV0FSRV9ERVZJQ0VfUEFUSCwNCj4g KyAgICAgIEhXX01FTU1BUF9EUCwNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgKFVJTlQ4KShzaXpl b2YgKE1FTU1BUF9ERVZJQ0VfUEFUSCkpLA0KPiArICAgICAgICAoVUlOVDgpKHNpemVvZiAoTUVN TUFQX0RFVklDRV9QQVRIKSA+PiA4KQ0KPiArICAgICAgfQ0KPiArICAgIH0sDQo+ICsgICAgRWZp TWVtb3J5TWFwcGVkSU8sDQo+ICsgICAgKEVGSV9QSFlTSUNBTF9BRERSRVNTKSAwLA0KPiArICAg IChFRklfUEhZU0lDQUxfQUREUkVTUykgMCwNCj4gKyAgfSwNCj4gKyAgew0KPiArICAgIEVORF9E RVZJQ0VfUEFUSF9UWVBFLA0KPiArICAgIEVORF9FTlRJUkVfREVWSUNFX1BBVEhfU1VCVFlQRSwN Cj4gKyAgICB7DQo+ICsgICAgICBFTkRfREVWSUNFX1BBVEhfTEVOR1RILA0KPiArICAgICAgMA0K PiArICAgIH0NCj4gKyAgfQ0KPiArfTsNCj4gKw0KPiArRlZfUElXR19ERVZJQ0VfUEFUSCBtRnZQ SVdHRGV2aWNlUGF0aFRlbXBsYXRlID0gew0KPiArICB7DQo+ICsgICAgew0KPiArICAgICAgTUVE SUFfREVWSUNFX1BBVEgsDQo+ICsgICAgICBNRURJQV9QSVdHX0ZXX1ZPTF9EUCwNCj4gKyAgICAg IHsNCj4gKyAgICAgICAgKFVJTlQ4KShzaXplb2YgKE1FRElBX0ZXX1ZPTF9ERVZJQ0VfUEFUSCkp LA0KPiArICAgICAgICAoVUlOVDgpKHNpemVvZiAoTUVESUFfRldfVk9MX0RFVklDRV9QQVRIKSA+ PiA4KQ0KPiArICAgICAgfQ0KPiArICAgIH0sDQo+ICsgICAgeyAwIH0NCj4gKyAgfSwNCj4gKyAg ew0KPiArICAgIEVORF9ERVZJQ0VfUEFUSF9UWVBFLA0KPiArICAgIEVORF9FTlRJUkVfREVWSUNF X1BBVEhfU1VCVFlQRSwNCj4gKyAgICB7DQo+ICsgICAgICBFTkRfREVWSUNFX1BBVEhfTEVOR1RI LA0KPiArICAgICAgMA0KPiArICAgIH0NCj4gKyAgfQ0KPiArfTsNCj4gKw0KPiArLyoqDQo+ICsg IEluaXRpYWxpemUgdGhlIGNvbW11bmljYXRlIGJ1ZmZlciB1c2luZyBEYXRhU2l6ZSBhbmQgRnVu Y3Rpb24uDQo+ICsNCj4gKyAgVGhlIGNvbW11bmljYXRlIHNpemUgaXM6IFNNTV9DT01NVU5JQ0FU RV9IRUFERVJfU0laRSArDQo+IFNNTV9WQVJJQUJMRV9DT01NVU5JQ0FURV9IRUFERVJfU0laRSAr DQo+ICsgIERhdGFTaXplLg0KPiArDQo+ICsgIEBwYXJhbVtvdXRdICAgICAgQ29tbXVuaWNhdGVC dWZmZXIgVGhlIGNvbW11bmljYXRlIGJ1ZmZlci4gQ2FsbGVyDQo+IHNob3VsZCBmcmVlIGl0IGFm dGVyIHVzZS4NCj4gKyAgQHBhcmFtW291dF0gICAgICBEYXRhUHRyICAgICAgICAgICBQb2ludHMg dG8gdGhlIGRhdGEgaW4gdGhlIGNvbW11bmljYXRlIGJ1ZmZlci4NCj4gQ2FsbGVyIHNob3VsZCBu b3QgZnJlZSBpdC4NCj4gKyAgQHBhcmFtW2luXSAgICAgICBEYXRhU2l6ZSAgICAgICAgICBUaGUg cGF5bG9hZCBzaXplLg0KPiArICBAcGFyYW1baW5dICAgICAgIEZ1bmN0aW9uICAgICAgICAgIFRo ZSBmdW5jdGlvbiBudW1iZXIgdXNlZCB0byBpbml0aWFsaXplIHRoZQ0KPiBjb21tdW5pY2F0ZSBo ZWFkZXIuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICBUaGUg ZGF0YSBzaXplIGlzIHRvbyBiaWcuDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg ICAgICAgRmluZCB0aGUgc3BlY2lmaWVkIHZhcmlhYmxlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9T VEFUVVMNCj4gK0luaXRDb21tdW5pY2F0ZUJ1ZmZlciAoDQo+ICsgIE9VVCAgICAgVk9JRCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICoqQ29tbXVuaWNhdGVCdWZmZXIsDQo+ICsgIE9VVCAg ICAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoqRGF0YVB0ciwNCj4gKyAgSU4g ICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YVNpemUsDQo+ICsgIElO ICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uDQo+ICsgICkN Cj4gK3sNCj4gKyAgRUZJX1NNTV9DT01NVU5JQ0FURV9IRUFERVIgICAgICAgICAgICAgICAgKlNt bUNvbW11bmljYXRlSGVhZGVyOw0KPiArICBTTU1fRlZCX0NPTU1VTklDQVRFX0ZVTkNUSU9OX0hF QURFUg0KPiAqU21tRnZiRnVuY3Rpb25IZWFkZXI7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhl IHdob2xlIGJ1ZmZlciBzaXplOiBTTU1fQ09NTVVOSUNBVEVfSEVBREVSX1NJWkUgKw0KPiBTTU1f RlZCX0NPTU1VTklDQVRFX0hFQURFUl9TSVpFICsgRGF0YVNpemUuDQo+ICsgIC8vDQo+ICsgIFNt bUNvbW11bmljYXRlSGVhZGVyID0gQWxsb2NhdGVQb29sIChEYXRhU2l6ZSArDQo+IFNNTV9DT01N VU5JQ0FURV9IRUFERVJfU0laRSArDQo+IFNNTV9GVkJfQ09NTVVOSUNBVEVfSEVBREVSX1NJWkUp Ow0KPiArICBBU1NFUlQgKFNtbUNvbW11bmljYXRlSGVhZGVyICE9IE5VTEwpOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFByZXBhcmUgZGF0YSBidWZmZXIuDQo+ICsgIC8vDQo+ICsgIENvcHlHdWlk ICgmU21tQ29tbXVuaWNhdGVIZWFkZXItPkhlYWRlckd1aWQsDQo+ICZnRWZpU21tRmlybXdhcmVW b2x1bWVCbG9ja1Byb3RvY29sR3VpZCk7DQo+ICsgIFNtbUNvbW11bmljYXRlSGVhZGVyLT5NZXNz YWdlTGVuZ3RoID0gRGF0YVNpemUgKw0KPiBTTU1fRlZCX0NPTU1VTklDQVRFX0hFQURFUl9TSVpF Ow0KPiArDQo+ICsgIFNtbUZ2YkZ1bmN0aW9uSGVhZGVyID0NCj4gKFNNTV9GVkJfQ09NTVVOSUNB VEVfRlVOQ1RJT05fSEVBREVSICopDQo+IFNtbUNvbW11bmljYXRlSGVhZGVyLT5EYXRhOw0KPiAr ICBTbW1GdmJGdW5jdGlvbkhlYWRlci0+RnVuY3Rpb24gPSBGdW5jdGlvbjsNCj4gKw0KPiArICAq Q29tbXVuaWNhdGVCdWZmZXIgPSBTbW1Db21tdW5pY2F0ZUhlYWRlcjsNCj4gKyAgKkRhdGFQdHIg PSBTbW1GdmJGdW5jdGlvbkhlYWRlci0+RGF0YTsNCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NF U1M7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFNlbmQgdGhlIGRhdGEgaW4gY29tbXVu aWNhdGUgYnVmZmVyIHRvIFNNTS4NCj4gKw0KPiArICBAcGFyYW1bb3V0XSAgICAgIFNtbUNvbW11 bmljYXRlSGVhZGVyICAgIFRoZSBjb21tdW5pY2F0ZSBidWZmZXIuDQo+ICsgIEBwYXJhbVtpbl0g ICAgICAgRGF0YVNpemUgICAgICAgICAgICAgICAgVGhlIHBheWxvYWQgc2l6ZS4NCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtTZW5kQ29tbXVuaWNhdGVCdWZmZXIgKA0KPiArICBJTiAg ICAgIEVGSV9TTU1fQ09NTVVOSUNBVEVfSEVBREVSICAgICAgICAqU21tQ29tbXVuaWNhdGVIZWFk ZXIsDQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGFT aXplDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBDb21tU2l6ZTsNCj4gKyAgU01NX0ZWQl9DT01NVU5JQ0FURV9GVU5DVElPTl9IRUFE RVINCj4gKlNtbUZ2YkZ1bmN0aW9uSGVhZGVyOw0KPiArDQo+ICsgIENvbW1TaXplID0gRGF0YVNp emUgKyBTTU1fQ09NTVVOSUNBVEVfSEVBREVSX1NJWkUgKw0KPiBTTU1fRlZCX0NPTU1VTklDQVRF X0hFQURFUl9TSVpFOw0KPiArICBTdGF0dXMgPSBtU21tQ29tbXVuaWNhdGlvbi0+Q29tbXVuaWNh dGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtU21tQ29tbXVuaWNhdGlv biwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU21tQ29tbXVuaWNhdGVIZWFk ZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZDb21tU2l6ZQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChT dGF0dXMpOw0KPiArDQo+ICsgIFNtbUZ2YkZ1bmN0aW9uSGVhZGVyID0NCj4gKFNNTV9GVkJfQ09N TVVOSUNBVEVfRlVOQ1RJT05fSEVBREVSICopDQo+IFNtbUNvbW11bmljYXRlSGVhZGVyLT5EYXRh Ow0KPiArICByZXR1cm4gIFNtbUZ2YkZ1bmN0aW9uSGVhZGVyLT5SZXR1cm5TdGF0dXM7DQo+ICt9 DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHJldHJpZXZlcyB0aGUgYXR0cmlidXRl cyBhbmQgY3VycmVudCBzZXR0aW5ncyBvZiB0aGUgYmxvY2suDQo+ICsNCj4gKyAgQHBhcmFtW2lu XSAgVGhpcyAgICAgICBJbmRpY2F0ZXMgdGhlDQo+IEVGSV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0sy X1BST1RPQ09MIGluc3RhbmNlLg0KPiArDQo+ICsgIEBwYXJhbVtvdXRdIEF0dHJpYnV0ZXMgUG9p bnRlciB0byBFRklfRlZCX0FUVFJJQlVURVNfMiBpbiB3aGljaCB0aGUNCj4gYXR0cmlidXRlcw0K PiArICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBjdXJyZW50IHNldHRpbmdzIGFyZSByZXR1 cm5lZC4gVHlwZQ0KPiBFRklfRlZCX0FUVFJJQlVURVNfMg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgIGlzIGRlZmluZWQgaW4gRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIuDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgVGhlIGZpcm13YXJlIHZvbHVtZSBh dHRyaWJ1dGVzIHdlcmUNCj4gcmV0dXJuZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFS QU1FVEVSICAgIEF0dHJpYnV0ZXMgaXMgTlVMTC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtGdmJHZXRBdHRyaWJ1dGVzICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJF X1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICpUaGlzLA0KPiArICAgICBPVVQgICBFRklfRlZCX0FU VFJJQlVURVNfMiAgICAgICAgICAgICAgICAgKkF0dHJpYnV0ZXMNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGF5bG9h ZFNpemU7DQo+ICsgIEVGSV9TTU1fQ09NTVVOSUNBVEVfSEVBREVSICAgICAgICAgICAgICAgICAg ICAqU21tQ29tbXVuaWNhdGVIZWFkZXI7DQo+ICsgIFNNTV9GVkJfQVRUUklCVVRFU19IRUFERVIg ICAgICAgICAgICAgICAgICAgICAqU21tRnZiQXR0cmlidXRlc0hlYWRlcjsNCj4gKyAgRUZJX1NN TV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICAgICAgICpTbW1GdmI7DQo+ICsgIEVG SV9GVkJfREVWSUNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqRnZiRGV2aWNlOw0K PiArDQo+ICsgIGlmIChBdHRyaWJ1dGVzID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX0lO VkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgRnZiRGV2aWNlID0gRlZCX0RFVklD RV9GUk9NX1RISVMgKFRoaXMpOw0KPiArICBTbW1GdmIgICAgPSBGdmJEZXZpY2UtPlNtbUZ2Yklu c3RhbmNlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgdGhlIGNvbW11bmljYXRl IGJ1ZmZlci4NCj4gKyAgLy8NCj4gKyAgUGF5bG9hZFNpemUgID0gc2l6ZW9mIChTTU1fRlZCX0FU VFJJQlVURVNfSEVBREVSKTsNCj4gKyAgU3RhdHVzID0gSW5pdENvbW11bmljYXRlQnVmZmVyICgN Cj4gKyAgICAgICAgICAgICAoVk9JRCAqKikmU21tQ29tbXVuaWNhdGVIZWFkZXIsDQo+ICsgICAg ICAgICAgICAgKFZPSUQgKiopJlNtbUZ2YkF0dHJpYnV0ZXNIZWFkZXIsDQo+ICsgICAgICAgICAg ICAgUGF5bG9hZFNpemUsDQo+ICsgICAgICAgICAgICAgRUZJX0ZVTkNUSU9OX0dFVF9BVFRSSUJV VEVTDQo+ICsgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0K PiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBTbW1GdmJBdHRyaWJ1dGVz SGVhZGVyLT5TbW1GdmIgICAgID0gU21tRnZiOw0KPiArICBTbW1GdmJBdHRyaWJ1dGVzSGVhZGVy LT5BdHRyaWJ1dGVzID0gMDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZW5kIGRhdGEgdG8gU01N Lg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBTZW5kQ29tbXVuaWNhdGVCdWZmZXIgKFNtbUNvbW11 bmljYXRlSGVhZGVyLA0KPiBQYXlsb2FkU2l6ZSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0 IGRhdGEgZnJvbSBTTU0uDQo+ICsgIC8vDQo+ICsgICpBdHRyaWJ1dGVzID0gU21tRnZiQXR0cmli dXRlc0hlYWRlci0+QXR0cmlidXRlczsNCj4gKyAgRnJlZVBvb2wgKFNtbUNvbW11bmljYXRlSGVh ZGVyKTsNCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0K PiArICBTZXRzIFZvbHVtZSBhdHRyaWJ1dGVzLiBObyBwb2xhcml0eSB0cmFuc2xhdGlvbnMgYXJl IGRvbmUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgVGhpcyAgICAgICAgQ2FsbGluZyBjb250ZXh0 Lg0KPiArICBAcGFyYW1bb3V0XSBBdHRyaWJ1dGVzICBPdXRwdXQgYnVmZmVyIHdoaWNoIGNvbnRh aW5zIGF0dHJpYnV0ZXMuDQo+ICsNCj4gKyAgQHJldHZhbCAgICAgRUZJX1NVQ0NFU1MgICAgICAg ICAgICAgIFNldCB0aGUgQXR0cmlidXRlcyBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgICAg IEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgICBBdHRyaWJ1dGVzIGlzIE5VTEwuDQo+ICsNCj4gKyoq Lw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJTZXRBdHRyaWJ1dGVzICgNCj4gKyAg SU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICpUaGlzLA0KPiAr ICBJTiBPVVQgICBFRklfRlZCX0FUVFJJQlVURVNfMiAgICAgICAgICAgICAgICAgKkF0dHJpYnV0 ZXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGF5bG9hZFNpemU7DQo+ICsgIEVGSV9TTU1fQ09NTVVOSUNBVEVfSEVB REVSICAgICAgICAgICAgICAgICAgICAqU21tQ29tbXVuaWNhdGVIZWFkZXI7DQo+ICsgIFNNTV9G VkJfQVRUUklCVVRFU19IRUFERVIgICAgICAgICAgICAgICAgICAgICAqU21tRnZiQXR0cmlidXRl c0hlYWRlcjsNCj4gKyAgRUZJX1NNTV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICAg ICAgICpTbW1GdmI7DQo+ICsgIEVGSV9GVkJfREVWSUNFICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAqRnZiRGV2aWNlOw0KPiArDQo+ICsgIGlmIChBdHRyaWJ1dGVzID09IE5VTEwpIHsN Cj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAg RnZiRGV2aWNlID0gRlZCX0RFVklDRV9GUk9NX1RISVMgKFRoaXMpOw0KPiArICBTbW1GdmIgICAg PSBGdmJEZXZpY2UtPlNtbUZ2Ykluc3RhbmNlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRp YWxpemUgdGhlIGNvbW11bmljYXRlIGJ1ZmZlci4NCj4gKyAgLy8NCj4gKyAgUGF5bG9hZFNpemUg ID0gc2l6ZW9mIChTTU1fRlZCX0FUVFJJQlVURVNfSEVBREVSKTsNCj4gKyAgU3RhdHVzID0gSW5p dENvbW11bmljYXRlQnVmZmVyICgNCj4gKyAgICAgICAgICAgICAoVk9JRCAqKikmU21tQ29tbXVu aWNhdGVIZWFkZXIsDQo+ICsgICAgICAgICAgICAgKFZPSUQgKiopJlNtbUZ2YkF0dHJpYnV0ZXNI ZWFkZXIsDQo+ICsgICAgICAgICAgICAgUGF5bG9hZFNpemUsDQo+ICsgICAgICAgICAgICAgRUZJ X0ZVTkNUSU9OX1NFVF9BVFRSSUJVVEVTDQo+ICsgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0K PiArICBTbW1GdmJBdHRyaWJ1dGVzSGVhZGVyLT5TbW1GdmIgICAgID0gU21tRnZiOw0KPiArICBT bW1GdmJBdHRyaWJ1dGVzSGVhZGVyLT5BdHRyaWJ1dGVzID0gKkF0dHJpYnV0ZXM7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gU2VuZCBkYXRhIHRvIFNNTS4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0g U2VuZENvbW11bmljYXRlQnVmZmVyIChTbW1Db21tdW5pY2F0ZUhlYWRlciwNCj4gUGF5bG9hZFNp emUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCBkYXRhIGZyb20gU01NLg0KPiArICAvLw0K PiArICAqQXR0cmlidXRlcyA9IFNtbUZ2YkF0dHJpYnV0ZXNIZWFkZXItPkF0dHJpYnV0ZXM7DQo+ ICsgIEZyZWVQb29sIChTbW1Db21tdW5pY2F0ZUhlYWRlcik7DQo+ICsNCj4gKyAgcmV0dXJuIFN0 YXR1czsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmV0cmlldmVzIHRoZSBwaHlzaWNh bCBhZGRyZXNzIG9mIHRoZSBGVkIgaW5zdGFuY2UuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgU21t RnZiICAgICAgICAgQSBwb2ludGVyIHRvDQo+IEVGSV9TTU1fRklSTVdBUkVfVk9MVU1FX0JMT0NL X1BST1RPQ09MLg0KPiArICBAcGFyYW1bb3V0XSBBZGRyZXNzICAgICAgICBPdXRwdXQgYnVmZmVy IGNvbnRhaW5pbmcgdGhlIGFkZHJlc3MuDQo+ICsNCj4gKyAgQHJldHZhbCAgICAgRUZJX1NVQ0NF U1MgICAgR2V0IHRoZSBhZGRyZXNzIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCAgICAgT3Ro ZXJzICAgICAgICAgRmFpbGVkIHRvIGdldCBhZGRyZXNzLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9T VEFUVVMNCj4gK0dldFBoeXNpY2FsQWRkcmVzcyAoDQo+ICsgIElOICAgRUZJX1NNTV9GSVJNV0FS RV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICpTbW1GdmIsDQo+ICsgIE9VVCAgRUZJX1BIWVNJQ0FM X0FERFJFU1MgICAgICAgICAgICAgICAgICAgICpBZGRyZXNzDQo+ICsgICkNCj4gK3sNCj4gKyAg RUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXlsb2FkU2l6 ZTsNCj4gKyAgRUZJX1NNTV9DT01NVU5JQ0FURV9IRUFERVIgICAgICAgICAgICAgICAgICAgKlNt bUNvbW11bmljYXRlSGVhZGVyOw0KPiArICBTTU1fRlZCX1BIWVNJQ0FMX0FERFJFU1NfSEVBREVS DQo+ICpTbW1GdmJQaHlzaWNhbEFkZHJlc3NIZWFkZXI7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g SW5pdGlhbGl6ZSB0aGUgY29tbXVuaWNhdGUgYnVmZmVyLg0KPiArICAvLw0KPiArICBQYXlsb2Fk U2l6ZSAgPSBzaXplb2YgKFNNTV9GVkJfUEhZU0lDQUxfQUREUkVTU19IRUFERVIpOw0KPiArICBT dGF0dXMgPSBJbml0Q29tbXVuaWNhdGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgIChWT0lEICoq KSZTbW1Db21tdW5pY2F0ZUhlYWRlciwNCj4gKyAgICAgICAgICAgICAoVk9JRCAqKikmU21tRnZi UGh5c2ljYWxBZGRyZXNzSGVhZGVyLA0KPiArICAgICAgICAgICAgIFBheWxvYWRTaXplLA0KPiAr ICAgICAgICAgICAgIEVGSV9GVU5DVElPTl9HRVRfUEhZU0lDQUxfQUREUkVTUw0KPiArICAgICAg ICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4g U3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAgU21tRnZiUGh5c2ljYWxBZGRyZXNzSGVhZGVyLT5T bW1GdmIgID0gU21tRnZiOw0KPiArICBTbW1GdmJQaHlzaWNhbEFkZHJlc3NIZWFkZXItPkFkZHJl c3MgPSAwOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNlbmQgZGF0YSB0byBTTU0uDQo+ICsgIC8v DQo+ICsgIFN0YXR1cyA9IFNlbmRDb21tdW5pY2F0ZUJ1ZmZlciAoU21tQ29tbXVuaWNhdGVIZWFk ZXIsDQo+IFBheWxvYWRTaXplKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgZGF0YSBmcm9t IFNNTS4NCj4gKyAgLy8NCj4gKyAgKkFkZHJlc3MgPSBTbW1GdmJQaHlzaWNhbEFkZHJlc3NIZWFk ZXItPkFkZHJlc3M7DQo+ICsgIEZyZWVQb29sIChTbW1Db21tdW5pY2F0ZUhlYWRlcik7DQo+ICsN Cj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmV0cmll dmVzIHRoZSBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSBGVkIgaW5zdGFuY2UuDQo+ICsNCj4gKyAg QHBhcmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICAgICAgIEEgcG9pbnRlciB0bw0KPiBFRklf RklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MLg0KPiArICBAcGFyYW1bb3V0XSBBZGRyZXNz ICAgICAgICAgICAgICAgICAgT3V0cHV0IGJ1ZmZlciBjb250YWluaW5nIHRoZSBhZGRyZXNzLg0K PiArDQo+ICsgIEByZXR2YWwgICAgIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBHZXQgdGhlIGFk ZHJlc3Mgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsICAgICBPdGhlcnMgICAgICAgICAgICAg ICAgICAgRmFpbGVkIHRvIGdldCB0aGUgYWRkcmVzcy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0Z2YkdldFBoeXNpY2FsQWRkcmVzcyAoDQo+ICsgIElOIENPTlNU IEVGSV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICpUaGlzLA0KPiArICAgICBPVVQg ICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICAgICAgICAqQWRkcmVzcw0KPiArICApDQo+ ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 YXR1czsNCj4gKyAgRUZJX1NNTV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICAgICAg KlNtbUZ2YjsNCj4gKyAgRUZJX0ZWQl9ERVZJQ0UgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKkZ2YkRldmljZTsNCj4gKw0KPiArICBpZiAoQWRkcmVzcyA9PSBOVUxMKSB7DQo+ICsgICAg cmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0KPiArDQo+ICsgIEZ2YkRldmlj ZSA9IEZWQl9ERVZJQ0VfRlJPTV9USElTIChUaGlzKTsNCj4gKyAgU21tRnZiICAgID0gRnZiRGV2 aWNlLT5TbW1GdmJJbnN0YW5jZTsNCj4gKw0KPiArICBTdGF0dXMgPSBHZXRQaHlzaWNhbEFkZHJl c3MgKFNtbUZ2YiwgQWRkcmVzcyk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKioNCj4gKyAgUmV0cmlldmUgdGhlIHNpemUgb2YgYSBsb2dpY2FsIGJsb2Nr Lg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgIENhbGxpbmcgY29udGV4dC4NCj4g KyAgQHBhcmFtW2luXSAgTGJhICAgICAgICAgSW5kaWNhdGVzIHdoaWNoIGJsb2NrIHRvIHJldHVy biB0aGUgc2l6ZSBmb3IuDQo+ICsgIEBwYXJhbVtvdXRdIEJsb2NrU2l6ZSAgIEEgcG9pbnRlciB0 byBhIGNhbGxlciBhbGxvY2F0ZWQgVUlOVE4gaW4gd2hpY2gNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgdGhlIHNpemUgb2YgdGhlIGJsb2NrIGlzIHJldHVybmVkLg0KPiArICBAcGFyYW1b b3V0XSBOdW1PZkJsb2NrcyBBIHBvaW50ZXIgdG8gYSBjYWxsZXIgYWxsb2NhdGVkIFVJTlROIGlu IHdoaWNoDQo+IHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBudW1iZXIgb2YgY29u c2VjdXRpdmUgYmxvY2tzIHN0YXJ0aW5nIHdpdGggTGJhIGlzDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIHJldHVybmVkLiBBbGwgYmxvY2tzIGluIHRoaXMgcmFuZ2UgaGF2ZSBhIHNpemUg b2YNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgQmxvY2tTaXplLg0KPiArDQo+ICsgIEBy ZXR2YWwgICAgIEVGSV9TVUNDRVNTICAgICAgICAgICAgICBHZXQgQmxvY2tTaXplIGFuZCBOdW1P ZkJsb2NrcyBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgICAgIEVGSV9JTlZBTElEX1BBUkFN RVRFUiAgICBCbG9ja1NpemUgb3IgTnVtT2ZCbG9ja3MgYXJlIE5VTEwuDQo+ICsqKi8NCj4gK0VG SV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiR2V0QmxvY2tTaXplICgNCj4gKyAgSU4gQ09OU1Qg RUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgKlRoaXMsDQo+ICsgIElOICAgICAg IEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExiYSwNCj4gKyAgICAgT1VUICAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkJsb2NrU2l6ZSwNCj4gKyAgICAg T1VUICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKk51bU9mQmxvY2tzDQo+ ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQYXlsb2FkU2l6ZTsNCj4gKyAgRUZJX1NNTV9DT01NVU5JQ0FURV9IRUFERVIgICAg ICAgICAgICAgICAgICAgKlNtbUNvbW11bmljYXRlSGVhZGVyOw0KPiArICBTTU1fRlZCX0JMT0NL X1NJWkVfSEVBREVSICAgICAgICAgICAgICAgICAgICAqU21tRnZiQmxvY2tTaXplSGVhZGVyOw0K PiArICBFRklfU01NX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICAgICAqU21tRnZi Ow0KPiArICBFRklfRlZCX0RFVklDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqRnZi RGV2aWNlOw0KPiArDQo+ICsgIGlmICgoQmxvY2tTaXplID09IE5VTEwpIHx8IChOdW1PZkJsb2Nr cyA9PSBOVUxMKSkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsg IH0NCj4gKw0KPiArICBGdmJEZXZpY2UgPSBGVkJfREVWSUNFX0ZST01fVEhJUyAoVGhpcyk7DQo+ ICsgIFNtbUZ2YiAgICA9IEZ2YkRldmljZS0+U21tRnZiSW5zdGFuY2U7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gSW5pdGlhbGl6ZSB0aGUgY29tbXVuaWNhdGUgYnVmZmVyLg0KPiArICAvLw0KPiAr ICBQYXlsb2FkU2l6ZSAgPSBzaXplb2YgKFNNTV9GVkJfQkxPQ0tfU0laRV9IRUFERVIpOw0KPiAr ICBTdGF0dXMgPSBJbml0Q29tbXVuaWNhdGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgIChWT0lE ICoqKSZTbW1Db21tdW5pY2F0ZUhlYWRlciwNCj4gKyAgICAgICAgICAgICAoVk9JRCAqKikmU21t RnZiQmxvY2tTaXplSGVhZGVyLA0KPiArICAgICAgICAgICAgIFBheWxvYWRTaXplLA0KPiArICAg ICAgICAgICAgIEVGSV9GVU5DVElPTl9HRVRfQkxPQ0tfU0laRQ0KPiArICAgICAgICAgICAgICk7 DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0K PiArICB9DQo+ICsNCj4gKyAgU21tRnZiQmxvY2tTaXplSGVhZGVyLT5TbW1GdmIgPSBTbW1GdmI7 DQo+ICsgIFNtbUZ2YkJsb2NrU2l6ZUhlYWRlci0+TGJhICAgID0gTGJhOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFNlbmQgZGF0YSB0byBTTU0uDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IFNlbmRD b21tdW5pY2F0ZUJ1ZmZlciAoU21tQ29tbXVuaWNhdGVIZWFkZXIsDQo+IFBheWxvYWRTaXplKTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgZGF0YSBmcm9tIFNNTS4NCj4gKyAgLy8NCj4gKyAg KkJsb2NrU2l6ZSAgID0gU21tRnZiQmxvY2tTaXplSGVhZGVyLT5CbG9ja1NpemU7DQo+ICsgICpO dW1PZkJsb2NrcyA9IFNtbUZ2YkJsb2NrU2l6ZUhlYWRlci0+TnVtT2ZCbG9ja3M7DQo+ICsgIEZy ZWVQb29sIChTbW1Db21tdW5pY2F0ZUhlYWRlcik7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsN Cj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmVhZHMgZGF0YSBiZWdpbm5pbmcgYXQgTGJh Ok9mZnNldCBmcm9tIEZWLiBUaGUgUmVhZCB0ZXJtaW5hdGVzIGVpdGhlcg0KPiArICB3aGVuICpO dW1CeXRlcyBvZiBkYXRhIGhhdmUgYmVlbiByZWFkLCBvciB3aGVuIGEgYmxvY2sgYm91bmRhcnkg aXMNCj4gKyAgcmVhY2hlZC4gICpOdW1CeXRlcyBpcyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGFj dHVhbCBudW1iZXIgb2YgYnl0ZXMNCj4gKyAgd3JpdHRlbi4gVGhlIHdyaXRlIG9wZXJ0aW9uIGRv ZXMgbm90IGluY2x1ZGUgZXJhc2UuIFRoaXMgcm91dGluZSB3aWxsDQo+ICsgIGF0dGVtcHQgdG8g d3JpdGUgb25seSB0aGUgc3BlY2lmaWVkIGJ5dGVzLiBJZiB0aGUgd3JpdGVzIGRvIG5vdCBzdGlj aywNCj4gKyAgaXQgd2lsbCByZXR1cm4gYW4gZXJyb3IuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAg ICAgIFRoaXMgICAgICAgICAgIENhbGxpbmcgY29udGV4dA0KPiArICBAcGFyYW1baW5dICAgICAg TGJhICAgICAgICAgICAgQmxvY2sgaW4gd2hpY2ggdG8gYmVnaW4gd3JpdGUNCj4gKyAgQHBhcmFt W2luXSAgICAgIE9mZnNldCAgICAgICAgIE9mZnNldCBpbiB0aGUgYmxvY2sgYXQgd2hpY2ggdG8g YmVnaW4gd3JpdGUNCj4gKyAgQHBhcmFtW2luLG91dF0gIE51bUJ5dGVzICAgICAgIE9uIGlucHV0 LCBpbmRpY2F0ZXMgdGhlIHJlcXVlc3RlZCB3cml0ZSBzaXplLg0KPiBPbg0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LCBpbmRpY2F0ZXMgdGhlIGFjdHVhbCBudW1i ZXIgb2YgYnl0ZXMgd3JpdHRlbg0KPiArICBAcGFyYW1baW5dICAgICAgQnVmZmVyICAgICAgICAg QnVmZmVyIGNvbnRhaW5pbmcgc291cmNlIGRhdGEgZm9yIHRoZSB3cml0ZS4NCj4gKw0KPiArICBA cmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGZpcm13YXJlIHZvbHVtZSB3YXMgcmVh ZCBzdWNjZXNzZnVsbHkNCj4gYW5kDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb250ZW50cyBhcmUgaW4gQnVmZmVyLg0KPiArICBAcmV0dmFsIEVGSV9CQURfQlVGRkVSX1NJ WkUgICAgUmVhZCBhdHRlbXB0ZWQgYWNyb3NzIGEgTEJBIGJvdW5kYXJ5Lg0KPiBPbiBvdXRwdXQs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1CeXRlcyBjb250YWlucyB0 aGUgdG90YWwgbnVtYmVyIG9mIGJ5dGVzIHJldHVybmVkDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpbiBCdWZmZXIuDQo+ICsgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5JRUQg ICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIGlzIGluIHRoZQ0KPiBSZWFkRGlzYWJsZWQgc3RhdGUN Cj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgIFRoZSBibG9jayBkZXZpY2UgaXMg bm90IGZ1bmN0aW9uaW5nIGNvcnJlY3RseQ0KPiBhbmQNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvdWxkIG5vdCBiZSByZWFkLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElE X1BBUkFNRVRFUiAgTnVtQnl0ZXMgb3IgQnVmZmVyIGFyZSBOVUxMLg0KPiArDQo+ICsqKi8NCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiUmVhZCAoDQo+ICsgIElOIENPTlNUIEVGSV9G SVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICAqVGhpcywNCj4gKyAgSU4gICAgICAgRUZJ X0xCQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExiYSwNCj4gKyAgSU4gICAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9mZnNldCwNCj4gKyAgSU4gT1VUICAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpOdW1CeXRlcywNCj4gKyAgICAg T1VUICAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXINCj4gKyAg KQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUGF5bG9hZFNpemU7DQo+ICsgIEVGSV9TTU1fQ09NTVVOSUNBVEVfSEVBREVSICAgICAg ICAgICAgICAgICAgICAqU21tQ29tbXVuaWNhdGVIZWFkZXI7DQo+ICsgIFNNTV9GVkJfUkVBRF9X UklURV9IRUFERVIgICAgICAgICAgICAgICAgICAgICAqU21tRnZiUmVhZFdyaXRlSGVhZGVyOw0K PiArICBFRklfU01NX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICAgICAgKlNtbUZ2 YjsNCj4gKyAgRUZJX0ZWQl9ERVZJQ0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpG dmJEZXZpY2U7DQo+ICsNCj4gKyAgaWYgKChOdW1CeXRlcyA9PSBOVUxMKSB8fCAoQnVmZmVyID09 IE5VTEwpKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0K PiArDQo+ICsgIEZ2YkRldmljZSA9IEZWQl9ERVZJQ0VfRlJPTV9USElTIChUaGlzKTsNCj4gKyAg U21tRnZiICAgID0gRnZiRGV2aWNlLT5TbW1GdmJJbnN0YW5jZTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBJbml0aWFsaXplIHRoZSBjb21tdW5pY2F0ZSBidWZmZXIuDQo+ICsgIC8vDQo+ICsgIFBh eWxvYWRTaXplICA9IHNpemVvZiAoU01NX0ZWQl9SRUFEX1dSSVRFX0hFQURFUikgKyAqTnVtQnl0 ZXM7DQo+ICsgIFN0YXR1cyA9IEluaXRDb21tdW5pY2F0ZUJ1ZmZlciAoDQo+ICsgICAgICAgICAg ICAgKFZPSUQgKiopJlNtbUNvbW11bmljYXRlSGVhZGVyLA0KPiArICAgICAgICAgICAgIChWT0lE ICoqKSZTbW1GdmJSZWFkV3JpdGVIZWFkZXIsDQo+ICsgICAgICAgICAgICAgUGF5bG9hZFNpemUs IEVGSV9GVU5DVElPTl9SRUFEDQo+ICsgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBT bW1GdmJSZWFkV3JpdGVIZWFkZXItPlNtbUZ2YiAgID0gU21tRnZiOw0KPiArICBTbW1GdmJSZWFk V3JpdGVIZWFkZXItPkxiYSAgICAgID0gTGJhOw0KPiArICBTbW1GdmJSZWFkV3JpdGVIZWFkZXIt Pk9mZnNldCAgID0gT2Zmc2V0Ow0KPiArICBTbW1GdmJSZWFkV3JpdGVIZWFkZXItPk51bUJ5dGVz ID0gKk51bUJ5dGVzOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNlbmQgZGF0YSB0byBTTU0uDQo+ ICsgIC8vDQo+ICsgIFN0YXR1cyA9IFNlbmRDb21tdW5pY2F0ZUJ1ZmZlciAoU21tQ29tbXVuaWNh dGVIZWFkZXIsDQo+IFBheWxvYWRTaXplKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgZGF0 YSBmcm9tIFNNTS4NCj4gKyAgLy8NCj4gKyAgKk51bUJ5dGVzID0gU21tRnZiUmVhZFdyaXRlSGVh ZGVyLT5OdW1CeXRlczsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBD b3B5TWVtIChCdWZmZXIsIChVSU5UOCAqKShTbW1GdmJSZWFkV3JpdGVIZWFkZXIgKyAxKSwNCj4g Kk51bUJ5dGVzKTsNCj4gKyAgfQ0KPiArICBGcmVlUG9vbCAoU21tQ29tbXVuaWNhdGVIZWFkZXIp Ow0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsg IFdyaXRlcyBkYXRhIGJlZ2lubmluZyBhdCBMYmE6T2Zmc2V0IGZyb20gRlYuIFRoZSB3cml0ZSB0 ZXJtaW5hdGVzIGVpdGhlcg0KPiArICB3aGVuICpOdW1CeXRlcyBvZiBkYXRhIGhhdmUgYmVlbiB3 cml0dGVuLCBvciB3aGVuIGEgYmxvY2sgYm91bmRhcnkgaXMNCj4gKyAgcmVhY2hlZC4gICpOdW1C eXRlcyBpcyB1cGRhdGVkIHRvIHJlZmxlY3QgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMNCj4g KyAgd3JpdHRlbi4gVGhlIHdyaXRlIG9wZXJ0aW9uIGRvZXMgbm90IGluY2x1ZGUgZXJhc2UuIFRo aXMgcm91dGluZSB3aWxsDQo+ICsgIGF0dGVtcHQgdG8gd3JpdGUgb25seSB0aGUgc3BlY2lmaWVk IGJ5dGVzLiBJZiB0aGUgd3JpdGVzIGRvIG5vdCBzdGljaywNCj4gKyAgaXQgd2lsbCByZXR1cm4g YW4gZXJyb3IuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgIFRoaXMgICAgICAgICAgIENhbGxp bmcgY29udGV4dC4NCj4gKyAgQHBhcmFtW2luXSAgICAgIExiYSAgICAgICAgICAgIEJsb2NrIGlu IHdoaWNoIHRvIGJlZ2luIHdyaXRlLg0KPiArICBAcGFyYW1baW5dICAgICAgT2Zmc2V0ICAgICAg ICAgT2Zmc2V0IGluIHRoZSBibG9jayBhdCB3aGljaCB0byBiZWdpbiB3cml0ZS4NCj4gKyAgQHBh cmFtW2luLG91dF0gIE51bUJ5dGVzICAgICAgIE9uIGlucHV0LCBpbmRpY2F0ZXMgdGhlIHJlcXVl c3RlZCB3cml0ZSBzaXplLg0KPiBPbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgb3V0cHV0LCBpbmRpY2F0ZXMgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4N Cj4gKyAgQHBhcmFtW2luXSAgICAgIEJ1ZmZlciAgICAgICAgIEJ1ZmZlciBjb250YWluaW5nIHNv dXJjZSBkYXRhIGZvciB0aGUgd3JpdGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICAgIFRoZSBmaXJtd2FyZSB2b2x1bWUgd2FzIHdyaXR0ZW4gc3VjY2Vzc2Z1bGx5Lg0K PiArICBAcmV0dmFsIEVGSV9CQURfQlVGRkVSX1NJWkUgICAgV3JpdGUgYXR0ZW1wdGVkIGFjcm9z cyBhIExCQSBib3VuZGFyeS4NCj4gT24gb3V0cHV0LA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTnVtQnl0ZXMgY29udGFpbnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcw0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYWN0dWFsbHkgd3JpdHRlbi4NCj4g KyAgQHJldHZhbCBFRklfQUNDRVNTX0RFTklFRCAgICAgIFRoZSBmaXJtd2FyZSB2b2x1bWUgaXMg aW4gdGhlDQo+IFdyaXRlRGlzYWJsZWQgc3RhdGUuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9F UlJPUiAgICAgICBUaGUgYmxvY2sgZGV2aWNlIGlzIG5vdCBmdW5jdGlvbmluZyBjb3JyZWN0bHkN Cj4gYW5kDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb3VsZCBub3QgYmUg d3JpdHRlbi4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIE51bUJ5dGVzIG9y IEJ1ZmZlciBhcmUgTlVMTC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK0Z2YldyaXRlICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19Q Uk9UT0NPTCAgICpUaGlzLA0KPiArICBJTiAgICAgICBFRklfTEJBICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTGJhLA0KPiArICBJTiAgICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT2Zmc2V0LA0KPiArICBJTiBPVVQgICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKk51bUJ5dGVzLA0KPiArICBJTiAgICAgICBVSU5UOCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXlsb2FkU2l6ZTsNCj4g KyAgRUZJX1NNTV9DT01NVU5JQ0FURV9IRUFERVIgICAgICAgICAgICAgICAgICAgICpTbW1Db21t dW5pY2F0ZUhlYWRlcjsNCj4gKyAgU01NX0ZWQl9SRUFEX1dSSVRFX0hFQURFUiAgICAgICAgICAg ICAgICAgICAgICpTbW1GdmJSZWFkV3JpdGVIZWFkZXI7DQo+ICsgIEVGSV9TTU1fRklSTVdBUkVf Vk9MVU1FX0JMT0NLX1BST1RPQ09MICAgICAgICAqU21tRnZiOw0KPiArICBFRklfRlZCX0RFVklD RSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkZ2YkRldmljZTsNCj4gKw0KPiArICBp ZiAoKE51bUJ5dGVzID09IE5VTEwpIHx8IChCdWZmZXIgPT0gTlVMTCkpIHsNCj4gKyAgICByZXR1 cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgRnZiRGV2aWNlID0g RlZCX0RFVklDRV9GUk9NX1RISVMgKFRoaXMpOw0KPiArICBTbW1GdmIgICAgPSBGdmJEZXZpY2Ut PlNtbUZ2Ykluc3RhbmNlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgdGhlIGNv bW11bmljYXRlIGJ1ZmZlci4NCj4gKyAgLy8NCj4gKyAgUGF5bG9hZFNpemUgID0gc2l6ZW9mIChT TU1fRlZCX1JFQURfV1JJVEVfSEVBREVSKSArICpOdW1CeXRlczsNCj4gKyAgU3RhdHVzID0gSW5p dENvbW11bmljYXRlQnVmZmVyICgNCj4gKyAgICAgICAgICAgICAoVk9JRCAqKikmU21tQ29tbXVu aWNhdGVIZWFkZXIsDQo+ICsgICAgICAgICAgICAgKFZPSUQgKiopJlNtbUZ2YlJlYWRXcml0ZUhl YWRlciwNCj4gKyAgICAgICAgICAgICBQYXlsb2FkU2l6ZSwNCj4gKyAgICAgICAgICAgICBFRklf RlVOQ1RJT05fV1JJVEUNCj4gKyAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsgIFNtbUZ2 YlJlYWRXcml0ZUhlYWRlci0+U21tRnZiICAgPSBTbW1GdmI7DQo+ICsgIFNtbUZ2YlJlYWRXcml0 ZUhlYWRlci0+TGJhICAgICAgPSBMYmE7DQo+ICsgIFNtbUZ2YlJlYWRXcml0ZUhlYWRlci0+T2Zm c2V0ICAgPSBPZmZzZXQ7DQo+ICsgIFNtbUZ2YlJlYWRXcml0ZUhlYWRlci0+TnVtQnl0ZXMgPSAq TnVtQnl0ZXM7DQo+ICsgIENvcHlNZW0gKChVSU5UOCAqKShTbW1GdmJSZWFkV3JpdGVIZWFkZXIg KyAxKSwgQnVmZmVyLCAqTnVtQnl0ZXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNlbmQgZGF0 YSB0byBTTU0uDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IFNlbmRDb21tdW5pY2F0ZUJ1ZmZlciAo U21tQ29tbXVuaWNhdGVIZWFkZXIsDQo+IFBheWxvYWRTaXplKTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBHZXQgZGF0YSBmcm9tIFNNTS4NCj4gKyAgLy8NCj4gKyAgKk51bUJ5dGVzID0gU21tRnZi UmVhZFdyaXRlSGVhZGVyLT5OdW1CeXRlczsNCj4gKyAgRnJlZVBvb2wgKFNtbUNvbW11bmljYXRl SGVhZGVyKTsNCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8q Kg0KPiArICBUaGUgRXJhc2VCbG9jaygpIGZ1bmN0aW9uIGVyYXNlcyBOdW1PZkxiYSBibG9ja3Mg c3RhcnRlZCBmcm9tDQo+IFN0YXJ0aW5nTGJhLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gVGhpcyAg ICAgICAgICAgIENhbGxpbmcgY29udGV4dC4NCj4gKyAgQHBhcmFtW2luXSBTdGFydGluZ0xiYSAg ICAgU3RhcnRpbmcgTEJBIGZvbGxvd2VkIHRvIGVyYXNlLg0KPiArICBAcGFyYW1baW5dIE51bU9m TGJhICAgICAgICBOdW1iZXIgb2YgYmxvY2sgdG8gZXJhc2UuDQo+ICsNCj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgICAgVGhlIGVyYXNlIHJlcXVlc3Qgd2FzIHN1Y2Nlc3NmdWxseSBjb21w bGV0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5JRUQgIFRoZSBmaXJtd2FyZSB2b2x1 bWUgaXMgaW4gdGhlIFdyaXRlRGlzYWJsZWQNCj4gc3RhdGUuDQo+ICsgIEByZXR2YWwgRUZJX0RF VklDRV9FUlJPUiAgIFRoZSBibG9jayBkZXZpY2UgaXMgbm90IGZ1bmN0aW9uaW5nIGNvcnJlY3Rs eQ0KPiBhbmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291bGQgbm90IGJlIHdy aXR0ZW4uIEZpcm13YXJlIGRldmljZSBtYXkgaGF2ZSBiZWVuDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHBhcnRpYWxseSBlcmFzZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRV Uw0KPiArRXJhc2VCbG9jayAoDQo+ICsgIElOIENPTlNUIEVGSV9GSVJNV0FSRV9WT0xVTUVfQkxP Q0tfUFJPVE9DT0wgICAgKlRoaXMsDQo+ICsgIElOICAgICAgIEVGSV9MQkEgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RhcnRpbmdMYmEsDQo+ICsgIElOICAgICAgIFVJTlROICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtT2ZMYmENCj4gKyAgKQ0KPiArew0KPiArICBF RklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQYXlsb2Fk U2l6ZTsNCj4gKyAgRUZJX1NNTV9DT01NVU5JQ0FURV9IRUFERVIgICAgICAgICAgICAgICAgICAg ICpTbW1Db21tdW5pY2F0ZUhlYWRlcjsNCj4gKyAgU01NX0ZWQl9CTE9DS1NfSEVBREVSICAgICAg ICAgICAgICAgICAgICAgICAgICpTbW1GdmJCbG9ja3NIZWFkZXI7DQo+ICsgIEVGSV9TTU1fRklS TVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAgICAgICAqU21tRnZiOw0KPiArICBFRklfRlZC X0RFVklDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkZ2YkRldmljZTsNCj4gKw0K PiArICBGdmJEZXZpY2UgPSBGVkJfREVWSUNFX0ZST01fVEhJUyAoVGhpcyk7DQo+ICsgIFNtbUZ2 YiAgICA9IEZ2YkRldmljZS0+U21tRnZiSW5zdGFuY2U7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g SW5pdGlhbGl6ZSB0aGUgY29tbXVuaWNhdGUgYnVmZmVyLg0KPiArICAvLw0KPiArICBQYXlsb2Fk U2l6ZSAgPSBzaXplb2YgKFNNTV9GVkJfQkxPQ0tTX0hFQURFUik7DQo+ICsgIFN0YXR1cyA9IElu aXRDb21tdW5pY2F0ZUJ1ZmZlciAoDQo+ICsgICAgICAgICAgICAgKFZPSUQgKiopJlNtbUNvbW11 bmljYXRlSGVhZGVyLA0KPiArICAgICAgICAgICAgIChWT0lEICoqKSZTbW1GdmJCbG9ja3NIZWFk ZXIsDQo+ICsgICAgICAgICAgICAgUGF5bG9hZFNpemUsDQo+ICsgICAgICAgICAgICAgRUZJX0ZV TkNUSU9OX0VSQVNFX0JMT0NLUw0KPiArICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJS T1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAg U21tRnZiQmxvY2tzSGVhZGVyLT5TbW1GdmIgICA9IFNtbUZ2YjsNCj4gKyAgU21tRnZiQmxvY2tz SGVhZGVyLT5TdGFydExiYSA9IFN0YXJ0aW5nTGJhOw0KPiArICBTbW1GdmJCbG9ja3NIZWFkZXIt Pk51bU9mTGJhID0gTnVtT2ZMYmE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2VuZCBkYXRhIHRv IFNNTS4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gU2VuZENvbW11bmljYXRlQnVmZmVyIChTbW1D b21tdW5pY2F0ZUhlYWRlciwNCj4gUGF5bG9hZFNpemUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEdldCBkYXRhIGZyb20gU01NLg0KPiArICAvLw0KPiArICBGcmVlUG9vbCAoU21tQ29tbXVuaWNh dGVIZWFkZXIpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoqDQo+ICsgIFRoZSBFcmFzZUJsb2NrcygpIGZ1bmN0aW9uIGVyYXNlcyBvbmUgb3IgbW9yZSBi bG9ja3MgYXMgZGVub3RlZCBieSB0aGUNCj4gKyAgdmFyaWFibGUgYXJndW1lbnQgbGlzdC4gVGhl IGVudGlyZSBwYXJhbWV0ZXIgbGlzdCBvZiBibG9ja3MgbXVzdCBiZSB2ZXJpZmllZA0KPiArICBw cmlvciB0byBlcmFzaW5nIGFueSBibG9ja3MuICBJZiBhIGJsb2NrIGlzIHJlcXVlc3RlZCB0aGF0 IGRvZXMgbm90IGV4aXN0DQo+ICsgIHdpdGhpbiB0aGUgYXNzb2NpYXRlZCBmaXJtd2FyZSB2b2x1 bWUgKGl0IGhhcyBhIGxhcmdlciBpbmRleCB0aGFuIHRoZSBsYXN0DQo+ICsgIGJsb2NrIG9mIHRo ZSBmaXJtd2FyZSB2b2x1bWUpLCB0aGUgRXJhc2VCbG9jaygpIGZ1bmN0aW9uIG11c3QgcmV0dXJu DQo+ICsgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiB3aXRob3V0IG1vZGlmeWluZyB0aGUgY29udGVu dHMgb2YgdGhlIGZpcm13YXJlDQo+IHZvbHVtZS4NCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMg ICAgICAgICAgIENhbGxpbmcgY29udGV4dC8NCj4gKyAgQHBhcmFtW2luXSAuLi4gICAgICAgICAg ICBTdGFydGluZyBMQkEgZm9sbG93ZWQgYnkgTnVtYmVyIG9mIExiYSB0byBlcmFzZS4NCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICBhIC0xIHRvIHRlcm1pbmF0ZSB0aGUgbGlzdC4NCj4g Ky8NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBUaGUgZXJhc2UgcmVxdWVzdCB3YXMg c3VjY2Vzc2Z1bGx5IGNvbXBsZXRlZA0KPiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEIFRo ZSBmaXJtd2FyZSB2b2x1bWUgaXMgaW4gdGhlIFdyaXRlRGlzYWJsZWQNCj4gc3RhdGUvDQo+ICsg IEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgVGhlIGJsb2NrIGRldmljZSBpcyBub3QgZnVuY3Rp b25pbmcgY29ycmVjdGx5DQo+IGFuZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNv dWxkIG5vdCBiZSB3cml0dGVuLiBGaXJtd2FyZSBkZXZpY2UgbWF5IGhhdmUgYmVlbg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHBhcnRpYWxseSBlcmFzZWQvDQo+ICsNCj4gKyoqLw0K PiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJFcmFzZUJsb2NrcyAoDQo+ICsgIElOIENP TlNUIEVGSV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICAgKlRoaXMsDQo+ICsgIC4u Lg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgU3RhdHVzOw0KPiArICBWQV9MSVNUICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1hcmtlcjsNCj4gKyAgRUZJX0xCQSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdGFydGluZ0xiYTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1PZkxiYTsNCj4gKw0KPiArICBTdGF0dXMg PSBFRklfU1VDQ0VTUzsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVjayB0aGUgcGFyYW1ldGVy Lg0KPiArICAvLw0KPiArICBWQV9TVEFSVCAoTWFya2VyLCBUaGlzKTsNCj4gKyAgZG8gew0KPiAr ICAgIFN0YXJ0aW5nTGJhID0gVkFfQVJHIChNYXJrZXIsIEVGSV9MQkEpOw0KPiArICAgIGlmIChT dGFydGluZ0xiYSA9PSBFRklfTEJBX0xJU1RfVEVSTUlOQVRPUiApIHsNCj4gKyAgICAgIGJyZWFr Ow0KPiArICAgIH0NCj4gKw0KPiArICAgIE51bU9mTGJhID0gVkFfQVJHIChNYXJrZXIsIFVJTlRO KTsNCj4gKyAgICBpZiAoTnVtT2ZMYmEgPT0gMCkgew0KPiArICAgICAgcmV0dXJuIEVGSV9JTlZB TElEX1BBUkFNRVRFUjsNCj4gKyAgICB9DQo+ICsNCj4gKyAgfSB3aGlsZSAoIDEgKTsNCj4gKyAg VkFfRU5EIChNYXJrZXIpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEVyYXNlIHRoZSBibG9ja3Mu DQo+ICsgIC8vDQo+ICsgIFZBX1NUQVJUIChNYXJrZXIsIFRoaXMpOw0KPiArICBkbyB7DQo+ICsg ICAgU3RhcnRpbmdMYmEgPSBWQV9BUkcgKE1hcmtlciwgRUZJX0xCQSk7DQo+ICsgICAgaWYgKFN0 YXJ0aW5nTGJhID09IEVGSV9MQkFfTElTVF9URVJNSU5BVE9SICkgew0KPiArICAgICAgYnJlYWs7 DQo+ICsgICAgfQ0KPiArICAgIE51bU9mTGJhID0gVkFfQVJHIChNYXJrZXIsIFVJTlROKTsNCj4g KyAgICBTdGF0dXMgPSBFcmFzZUJsb2NrIChUaGlzLCBTdGFydGluZ0xiYSwgTnVtT2ZMYmEpOw0K PiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAg IH0NCj4gKyAgfSB3aGlsZSAoIDEgKTsNCj4gKyAgVkFfRU5EIChNYXJrZXIpOw0KPiArDQo+ICsg IHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEluc3RhbGwgdGhl IEZWQiBwcm90b2NvbCB3aGljaCBiYXNlZCBvbiBTTU0gRlZCIHByb3RvY29sLg0KPiArDQo+ICsg IEBwYXJhbVtpbl0gU21tRnZiICAgICAgICBUaGUgU01NIEZWQiBwcm90b2NvbC4NCj4gKw0KPiAr KiovDQo+ICtWT0lEDQo+ICtJbnN0YWxsRnZiICgNCj4gKyAgSU4gICAgRUZJX1NNTV9GSVJNV0FS RV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICpTbW1GdmINCj4gKyAgKQ0KPiArew0KPiArICBFRklf U1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBF RklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnZiSGFuZGxlOw0K PiArICBFRklfRlZCX0RFVklDRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkZ2YkRl dmljZTsNCj4gKyAgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgICAgICAgICAgICAgICAgICAg ICpWb2x1bWVIZWFkZXI7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICAgICAgICAg ICAgICAgICAgICBBZGRyZXNzOw0KPiArICBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RP Q09MICAgICAgICAgICAgKk9sZEZ2YkludGVyZmFjZTsNCj4gKw0KPiArICBGdmJEZXZpY2UgPSBB bGxvY2F0ZVJ1bnRpbWVDb3B5UG9vbCAoc2l6ZW9mIChFRklfRlZCX0RFVklDRSksDQo+ICZtRnZi RGV2aWNlVGVtcGxhdGUpOw0KPiArICBBU1NFUlQgKEZ2YkRldmljZSAhPSBOVUxMKTsNCj4gKyAg RnZiRGV2aWNlLT5TbW1GdmJJbnN0YW5jZSA9IFNtbUZ2YjsNCj4gKw0KPiArICBTdGF0dXMgPSBn QlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpU21tQ29tbXVu aWNhdGlvblByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgICAgICAoVk9JRCAqKikgJm1TbW1Db21tdW5pY2F0aW9uDQo+ICsgICAgICAgICAg ICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIFN0 YXR1cyA9IEdldFBoeXNpY2FsQWRkcmVzcyAoU21tRnZiLCAmQWRkcmVzcyk7DQo+ICsgIEFTU0VS VF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgVm9sdW1lSGVhZGVyID0gKEVGSV9GSVJN V0FSRV9WT0xVTUVfSEVBREVSICopIChVSU5UTilBZGRyZXNzOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFNldCB1cCB0aGUgZGV2aWNlcGF0aC4NCj4gKyAgLy8NCj4gKyAgaWYgKFZvbHVtZUhlYWRl ci0+RXh0SGVhZGVyT2Zmc2V0ID09IDApIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIEZWIGRvZXMg bm90IGNvbnRhaW5zIGV4dGVuc2lvbiBoZWFkZXIsIHRoZW4gcHJvZHVjZQ0KPiBNRU1NQVBfREVW SUNFX1BBVEguDQo+ICsgICAgLy8NCj4gKyAgICBGdmJEZXZpY2UtPkRldmljZVBhdGggPSAoRUZJ X0RFVklDRV9QQVRIX1BST1RPQ09MICopDQo+IEFsbG9jYXRlUnVudGltZUNvcHlQb29sIChzaXpl b2YgKEZWX01FTU1BUF9ERVZJQ0VfUEFUSCksDQo+ICZtRnZNZW1tYXBEZXZpY2VQYXRoVGVtcGxh dGUpOw0KPiArICAgICgoRlZfTUVNTUFQX0RFVklDRV9QQVRIICopIEZ2YkRldmljZS0+RGV2aWNl UGF0aCktDQo+ID5NZW1NYXBEZXZQYXRoLlN0YXJ0aW5nQWRkcmVzcyA9IChVSU5UTilBZGRyZXNz Ow0KPiArICAgICgoRlZfTUVNTUFQX0RFVklDRV9QQVRIICopIEZ2YkRldmljZS0+RGV2aWNlUGF0 aCktDQo+ID5NZW1NYXBEZXZQYXRoLkVuZGluZ0FkZHJlc3MgICA9IChVSU5UTilBZGRyZXNzICsg Vm9sdW1lSGVhZGVyLQ0KPiA+RnZMZW5ndGggLSAxOw0KPiArICB9IGVsc2Ugew0KPiArICAgIEZ2 YkRldmljZS0+RGV2aWNlUGF0aCA9IChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgKikNCj4gQWxs b2NhdGVSdW50aW1lQ29weVBvb2wgKHNpemVvZiAoRlZfUElXR19ERVZJQ0VfUEFUSCksDQo+ICZt RnZQSVdHRGV2aWNlUGF0aFRlbXBsYXRlKTsNCj4gKyAgICBDb3B5R3VpZCAoDQo+ICsgICAgICAm KChGVl9QSVdHX0RFVklDRV9QQVRIICopRnZiRGV2aWNlLT5EZXZpY2VQYXRoKS0NCj4gPkZ2RGV2 UGF0aC5Gdk5hbWUsDQo+ICsgICAgICAoR1VJRCAqKShVSU5UTikoKFVJTlROKUFkZHJlc3MgKyBW b2x1bWVIZWFkZXItPkV4dEhlYWRlck9mZnNldCkNCj4gKyAgICAgICk7DQo+ICsgIH0NCj4gKw0K PiArICAvLw0KPiArICAvLyBGaW5kIGEgaGFuZGxlIHdpdGggYSBtYXRjaGluZyBkZXZpY2UgcGF0 aCB0aGF0IGhhcyBzdXBwb3J0cyBGVyBCbG9jaw0KPiBwcm90b2NvbC4NCj4gKyAgLy8NCj4gKyAg U3RhdHVzID0gZ0JTLT5Mb2NhdGVEZXZpY2VQYXRoICgNCj4gKyAgICAgICAgICAgICAgICAgICZn RWZpRmlybXdhcmVWb2x1bWVCbG9ja1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAg ICZGdmJEZXZpY2UtPkRldmljZVBhdGgsDQo+ICsgICAgICAgICAgICAgICAgICAmRnZiSGFuZGxl DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpICkg ew0KPiArICAgIC8vDQo+ICsgICAgLy8gTG9jYXRlRGV2aWNlUGF0aCBmYWlscyBzbyBpbnN0YWxs IGEgbmV3IGludGVyZmFjZSBhbmQgZGV2aWNlIHBhdGguDQo+ICsgICAgLy8NCj4gKyAgICBGdmJI YW5kbGUgPSBOVUxMOw0KPiArICAgIFN0YXR1cyA9ICBnQlMtPkluc3RhbGxNdWx0aXBsZVByb3Rv Y29sSW50ZXJmYWNlcyAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAmRnZiSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZUJsb2NrUHJvdG9jb2xHdWlk LA0KPiArICAgICAgICAgICAgICAgICAgICAgJkZ2YkRldmljZS0+RnZiSW5zdGFuY2UsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAg ICAgICAgICAgICAgICAgICBGdmJEZXZpY2UtPkRldmljZVBhdGgsDQo+ICsgICAgICAgICAgICAg ICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9F RklfRVJST1IgKFN0YXR1cyk7DQo+ICsgIH0gZWxzZSBpZiAoSXNEZXZpY2VQYXRoRW5kIChGdmJE ZXZpY2UtPkRldmljZVBhdGgpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBEZXZpY2UgYWxscmVh ZHkgZXhpc3RzLCBzbyByZWluc3RhbGwgdGhlIEZWQiBwcm90b2NvbC4NCj4gKyAgICAvLw0KPiAr ICAgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAg ICBGdmJIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpRmlybXdhcmVWb2x1bWVC bG9ja1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZPbGRG dmJJbnRlcmZhY2UNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJ X0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgICAgU3RhdHVzID0gIGdCUy0+UmVpbnN0YWxsUHJv dG9jb2xJbnRlcmZhY2UgKA0KPiArICAgICAgICAgICAgICAgICAgICAgRnZiSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZUJsb2NrUHJvdG9jb2xHdWlk LA0KPiArICAgICAgICAgICAgICAgICAgICAgT2xkRnZiSW50ZXJmYWNlLA0KPiArICAgICAgICAg ICAgICAgICAgICAgJkZ2YkRldmljZS0+RnZiSW5zdGFuY2UNCj4gKyAgICAgICAgICAgICAgICAg ICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgfSBlbHNlIHsN Cj4gKyAgICAvLw0KPiArICAgIC8vIFRoZXJlIHdhcyBhIEZWQiBwcm90b2NvbCBvbiBhbiBFbmQg RGV2aWNlIFBhdGggbm9kZS4NCj4gKyAgICAvLw0KPiArICAgIEFTU0VSVCAoRkFMU0UpOw0KPiAr ICB9DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFNNTSBGaXJtd2FyZSBWb2x1bWUgQmxv Y2sgUHJvdG9jb2wgbm90aWZpY2F0aW9uIGV2ZW50IGhhbmRsZXIuDQo+ICsNCj4gKyAgRGlzY292 ZXIgTlYgVmFyaWFibGUgU3RvcmUgYW5kIGluc3RhbGwgVmFyaWFibGUgV3JpdGUgQXJjaCBQcm90 b2NvbC4NCj4gKw0KPiArICBAcGFyYW1baW5dIEV2ZW50ICAgIEV2ZW50IHdob3NlIG5vdGlmaWNh dGlvbiBmdW5jdGlvbiBpcyBiZWluZyBpbnZva2VkLg0KPiArICBAcGFyYW1baW5dIENvbnRleHQg IFBvaW50ZXIgdG8gdGhlIG5vdGlmaWNhdGlvbiBmdW5jdGlvbidzIGNvbnRleHQuDQo+ICsqKi8N Cj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArU21tRnZiUmVhZHkgKA0KPiArICBJTiAgRUZJX0VWRU5U ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRXZlbnQsDQo+ICsgIElOICBWT0lEICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQ29udGV4dA0KPiArICApDQo+ICt7 DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0 dXM7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq SGFuZGxlQnVmZmVyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSGFuZGxlQ291bnQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJbmRleDsNCj4gKyAgRUZJX1NNTV9GSVJNV0FSRV9WT0xVTUVfQkxP Q0tfUFJPVE9DT0wgICAgICAgICpTbW1GdmI7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTG9jYXRl IGFsbCBoYW5kbGVzIG9mIFNtbSBGdmIgcHJvdG9jb2wuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9 IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9j b2wsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaVNtbUZpcm13YXJlVm9sdW1lQmxvY2tQcm90 b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg ICAgJkhhbmRsZUNvdW50LA0KPiArICAgICAgICAgICAgICAgICAgJkhhbmRsZUJ1ZmZlcg0KPiAr ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiAr ICAgIHJldHVybiA7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBJbnN0YWxsIEZWQiBw cm90b2NvbC4NCj4gKyAgLy8NCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgSGFuZGxlQ291 bnQ7IEluZGV4KyspIHsNCj4gKyAgICBTbW1GdmIgPSBOVUxMOw0KPiArICAgIFN0YXR1cyA9IGdC Uy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICBIYW5kbGVCdWZmZXJb SW5kZXhdLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaVNtbUZpcm13YXJlVm9sdW1lQmxv Y2tQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmU21tRnZi DQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSW5zdGFsbEZ2YiAo U21tRnZiKTsNCj4gKyAgfQ0KPiArDQo+ICsgIEZyZWVQb29sIChIYW5kbGVCdWZmZXIpOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBUaGUgZHJpdmVyIGVudHJ5IHBvaW50IGZvciBGaXJt d2FyZSBWb2x1bWUgQmxvY2sgRHJpdmVyLg0KPiArDQo+ICsgIFRoZSBmdW5jdGlvbiBkb2VzIHRo ZSBuZWNlc3NhcnkgaW5pdGlhbGl6YXRpb24gd29yaw0KPiArICBGaXJtd2FyZSBWb2x1bWUgQmxv Y2sgRHJpdmVyLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIEltYWdlSGFuZGxlICAgICAgIFRoZSBm aXJtd2FyZSBhbGxvY2F0ZWQgaGFuZGxlIGZvciB0aGUgVUVGSQ0KPiBpbWFnZS4NCj4gKyAgQHBh cmFtW2luXSAgU3lzdGVtVGFibGUgICAgICAgQSBwb2ludGVyIHRvIHRoZSBFRkkgc3lzdGVtIHRh YmxlLg0KPiArDQo+ICsgIEByZXR2YWwgICAgIEVGSV9TVUNDRVNTICAgICAgIFRoaXMgZnVudGlv biBhbHdheXMgcmV0dXJuIEVGSV9TVUNDRVNTLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJdCB3aWxsIEFTU0VSVCBvbiBlcnJvcnMuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtGdmJTbW1EeGVJbml0aWFsaXplICgNCj4gKyAgSU4gRUZJX0hB TkRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJ TiBFRklfU1lTVEVNX1RBQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgKlN5c3RlbVRhYmxl DQo+ICsgICkNCj4gK3sNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICpTbW1GdmJSZWdpc3RyYXRpb247DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU21t IEZWQiBkcml2ZXIgaXMgcmVhZHkuDQo+ICsgIC8vDQo+ICsgIEVmaUNyZWF0ZVByb3RvY29sTm90 aWZ5RXZlbnQgKA0KPiArICAgICZnRWZpU21tRmlybXdhcmVWb2x1bWVCbG9ja1Byb3RvY29sR3Vp ZCwNCj4gKyAgICBUUExfQ0FMTEJBQ0ssDQo+ICsgICAgU21tRnZiUmVhZHksDQo+ICsgICAgTlVM TCwNCj4gKyAgICAmU21tRnZiUmVnaXN0cmF0aW9uDQo+ICsgICAgKTsNCj4gKw0KPiArICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0Z2YlJ1bnRpbWVEeGUvRnZiU21tRHhlLmgNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNtbUR4ZS5oDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjllZGIxYmNhZjANCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9GdmJS dW50aW1lRHhlL0Z2YlNtbUR4ZS5oDQo+IEBAIC0wLDAgKzEsMjMyIEBADQo+ICsvKiogQGZpbGUN Cj4gKw0KPiArICBUaGUgaW50ZXJuYWwgaGVhZGVyIGZpbGUgaW5jbHVkZXMgdGhlIGNvbW1vbiBo ZWFkZXIgZmlsZXMsIGRlZmluZXMNCj4gKyAgaW50ZXJuYWwgc3RydWN0dXJlIGFuZCBmdW5jdGlv bnMgdXNlZCBieSBGVkIgbW9kdWxlLg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTAgIC0gMjAx NCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuIDxCUj4NCj4gKw0KPiAN Cj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArDQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfU01NX0ZWQl9EWEVfSF8NCj4g KyNkZWZpbmUgX1NNTV9GVkJfRFhFX0hfDQo+ICsNCj4gKyNpbmNsdWRlIDxQaUR4ZS5oPg0KPiAr DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvU21tRmlybXdhcmVWb2x1bWVCbG9jay5oPg0KPiArI2lu Y2x1ZGUgPFByb3RvY29sL1NtbUNvbW11bmljYXRpb24uaD4NCj4gKw0KPiArI2luY2x1ZGUgPExp YnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9V ZWZpRHJpdmVyRW50cnlQb2ludC5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4N Cj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJy YXJ5L1VlZmlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNpbmNs dWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0RldmljZVBhdGhMaWIuaD4NCj4gKw0KPiArI2luY2x1ZGUgPEd1aWQvRXZlbnRHcm91cC5oPg0K PiArI2luY2x1ZGUgIkZ2YlNtbUNvbW1vbi5oIg0KPiArDQo+ICsjZGVmaW5lIEZWQl9ERVZJQ0Vf U0lHTkFUVVJFICAgICAgICAgICAgICBTSUdOQVRVUkVfMzIgKCdGJywgJ1YnLCAnQicsICdTJykN Cj4gKyNkZWZpbmUgRlZCX0RFVklDRV9GUk9NX1RISVMoYSkgICAgICAgICAgIENSIChhLCBFRklf RlZCX0RFVklDRSwNCj4gRnZiSW5zdGFuY2UsIEZWQl9ERVZJQ0VfU0lHTkFUVVJFKQ0KPiArDQo+ ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIE1FRElBX0ZXX1ZPTF9ERVZJQ0VfUEFUSCAgRnZEZXZQ YXRoOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgIEVuZERldlBhdGg7DQo+ICt9IEZW X1BJV0dfREVWSUNFX1BBVEg7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgTUVNTUFQ X0RFVklDRV9QQVRIICAgICAgICAgIE1lbU1hcERldlBhdGg7DQo+ICsgIEVGSV9ERVZJQ0VfUEFU SF9QUk9UT0NPTCAgICBFbmREZXZQYXRoOw0KPiArfSBGVl9NRU1NQVBfREVWSUNFX1BBVEg7DQo+ ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNpZ25hdHVyZTsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAg ICAgICAgICAgICAgICpEZXZpY2VQYXRoOw0KPiArICBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NL X1BST1RPQ09MICAgICAgRnZiSW5zdGFuY2U7DQo+ICsgIEVGSV9TTU1fRklSTVdBUkVfVk9MVU1F X0JMT0NLX1BST1RPQ09MICAqU21tRnZiSW5zdGFuY2U7DQo+ICt9IEVGSV9GVkJfREVWSUNFOw0K PiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiByZXRyaWV2ZXMgdGhlIGF0dHJpYnV0ZXMg YW5kIGN1cnJlbnQgc2V0dGluZ3Mgb2YgdGhlIGJsb2NrLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0g IFRoaXMgICAgICAgSW5kaWNhdGVzIHRoZQ0KPiBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLMl9Q Uk9UT0NPTCBpbnN0YW5jZS4NCj4gKw0KPiArICBAcGFyYW1bb3V0XSBBdHRyaWJ1dGVzIFBvaW50 ZXIgdG8gRUZJX0ZWQl9BVFRSSUJVVEVTXzIgaW4gd2hpY2ggdGhlDQo+IGF0dHJpYnV0ZXMNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgY3VycmVudCBzZXR0aW5ncyBhcmUgcmV0dXJu ZWQuIFR5cGUNCj4gRUZJX0ZWQl9BVFRSSUJVVEVTXzINCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICBpcyBkZWZpbmVkIGluIEVGSV9GSVJNV0FSRV9WT0xVTUVfSEVBREVSLg0KPiArDQo+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgVGhlIGZpcm13YXJlIHZvbHVtZSBhdHRyaWJ1dGVzIHdl cmUgcmV0dXJuZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtG dmJHZXRBdHRyaWJ1dGVzICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9D S19QUk9UT0NPTCAgICpUaGlzLA0KPiArICAgICBPVVQgICBFRklfRlZCX0FUVFJJQlVURVNfMiAg ICAgICAgICAgICAgICAgKkF0dHJpYnV0ZXMNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICsgIC8qKg0K PiArICBTZXRzIFZvbHVtZSBhdHRyaWJ1dGVzLiBObyBwb2xhcml0eSB0cmFuc2xhdGlvbnMgYXJl IGRvbmUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgVGhpcyAgICAgICAgQ2FsbGluZyBjb250ZXh0 Lg0KPiArICBAcGFyYW1bb3V0XSBBdHRyaWJ1dGVzICBPdXRwdXQgYnVmZmVyIHdoaWNoIGNvbnRh aW5zIGF0dHJpYnV0ZXMuDQo+ICsNCj4gKyAgQHJldHZhbCAgICAgRUZJX1NVQ0NFU1MgVGhlIGZ1 bmN0aW9uIGFsd2F5cyByZXR1cm4gc3VjY2Vzc2Z1bGx5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9T VEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiU2V0QXR0cmlidXRlcyAoDQo+ICsgIElOIENPTlNUIEVG SV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wgICAqVGhpcywNCj4gKyAgSU4gT1VUICAg RUZJX0ZWQl9BVFRSSUJVVEVTXzIgICAgICAgICAgICAgICAgICpBdHRyaWJ1dGVzDQo+ICsgICk7 DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFJldHJpZXZlcyB0aGUgcGh5c2ljYWwgYWRkcmVzcyBv ZiB0aGUgZGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgQSBwb2ludGVyIHRv DQo+IEVGSV9GSVJNV0FSRV9WT0xVTUVfQkxPQ0tfUFJPVE9DT0wuDQo+ICsgIEBwYXJhbVtvdXRd IEFkZHJlc3MgT3V0cHV0IGJ1ZmZlciBjb250YWluaW5nIHRoZSBhZGRyZXNzLg0KPiArDQo+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgVGhlIGZ1bmN0aW9uIGFsd2F5cyByZXR1cm4gc3VjY2Vzc2Z1 bGx5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRnZiR2V0UGh5 c2ljYWxBZGRyZXNzICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19Q Uk9UT0NPTCAgKlRoaXMsDQo+ICsgICAgIE9VVCAgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAg ICAgICAgICAgICpBZGRyZXNzDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFJldHJp ZXZlIHRoZSBzaXplIG9mIGEgbG9naWNhbCBibG9jay4NCj4gKw0KPiArICBAcGFyYW1baW5dICBU aGlzICAgICAgICAgQ2FsbGluZyBjb250ZXh0Lg0KPiArICBAcGFyYW1baW5dICBMYmEgICAgICAg ICAgSW5kaWNhdGVzIHdoaWNoIGJsb2NrIHRvIHJldHVybiB0aGUgc2l6ZSBmb3IuDQo+ICsgIEBw YXJhbVtvdXRdIEJsb2NrU2l6ZSAgICBBIHBvaW50ZXIgdG8gYSBjYWxsZXIgYWxsb2NhdGVkIFVJ TlROIGluIHdoaWNoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgc2l6ZSBvZiB0 aGUgYmxvY2sgaXMgcmV0dXJuZWQuDQo+ICsgIEBwYXJhbVtvdXRdIE51bU9mQmxvY2tzICBBIHBv aW50ZXIgdG8gYSBjYWxsZXIgYWxsb2NhdGVkIFVJTlROIGluIHdoaWNoDQo+IHRoZQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgbnVtYmVyIG9mIGNvbnNlY3V0aXZlIGJsb2NrcyBzdGFy dGluZyB3aXRoIExiYSBpcw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuZWQu IEFsbCBibG9ja3MgaW4gdGhpcyByYW5nZSBoYXZlIGEgc2l6ZSBvZg0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgQmxvY2tTaXplLg0KPiArDQo+ICsgIEByZXR2YWwgICAgIEVGSV9TVUND RVNTICBUaGUgZnVuY3Rpb24gYWx3YXlzIHJldHVybiBzdWNjZXNzZnVsbHkuDQo+ICsNCj4gKyoq Lw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGdmJHZXRCbG9ja1NpemUgKA0KPiArICBJ TiBDT05TVCBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAqVGhpcywNCj4gKyAg SU4gICAgICAgRUZJX0xCQSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJhLA0KPiArICAg ICBPVVQgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQmxvY2tTaXplLA0K PiArICAgICBPVVQgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqTnVtT2ZC bG9ja3MNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmVhZHMgZGF0YSBiZWdpbm5p bmcgYXQgTGJhOk9mZnNldCBmcm9tIEZWLiBUaGUgUmVhZCB0ZXJtaW5hdGVzIGVpdGhlcg0KPiAr ICB3aGVuICpOdW1CeXRlcyBvZiBkYXRhIGhhdmUgYmVlbiByZWFkLCBvciB3aGVuIGEgYmxvY2sg Ym91bmRhcnkgaXMNCj4gKyAgcmVhY2hlZC4gICpOdW1CeXRlcyBpcyB1cGRhdGVkIHRvIHJlZmxl Y3QgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMNCj4gKyAgd3JpdHRlbi4gVGhlIHdyaXRlIG9w ZXJ0aW9uIGRvZXMgbm90IGluY2x1ZGUgZXJhc2UuIFRoaXMgcm91dGluZSB3aWxsDQo+ICsgIGF0 dGVtcHQgdG8gd3JpdGUgb25seSB0aGUgc3BlY2lmaWVkIGJ5dGVzLiBJZiB0aGUgd3JpdGVzIGRv IG5vdCBzdGljaywNCj4gKyAgaXQgd2lsbCByZXR1cm4gYW4gZXJyb3IuDQo+ICsNCj4gKyAgQHBh cmFtW2luXSAgICAgIFRoaXMgICAgICAgICAgIENhbGxpbmcgY29udGV4dC4NCj4gKyAgQHBhcmFt W2luXSAgICAgIExiYSAgICAgICAgICAgIEJsb2NrIGluIHdoaWNoIHRvIGJlZ2luIHdyaXRlLg0K PiArICBAcGFyYW1baW5dICAgICAgT2Zmc2V0ICAgICAgICAgT2Zmc2V0IGluIHRoZSBibG9jayBh dCB3aGljaCB0byBiZWdpbiB3cml0ZQ0KPiArICBAcGFyYW1baW4sb3V0XSAgTnVtQnl0ZXMgICAg ICAgT24gaW5wdXQsIGluZGljYXRlcyB0aGUgcmVxdWVzdGVkIHdyaXRlIHNpemUuDQo+IE9uDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXRwdXQsIGluZGljYXRlcyB0aGUg YWN0dWFsIG51bWJlciBvZiBieXRlcyB3cml0dGVuDQo+ICsgIEBwYXJhbVtpbl0gICAgICBCdWZm ZXIgICAgICAgICBCdWZmZXIgY29udGFpbmluZyBzb3VyY2UgZGF0YSBmb3IgdGhlIHdyaXRlLg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgZmlybXdhcmUgdm9s dW1lIHdhcyByZWFkIHN1Y2Nlc3NmdWxseQ0KPiBhbmQNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGNvbnRlbnRzIGFyZSBpbiBCdWZmZXINCj4gKyAgQHJldHZhbCBFRklfQkFE X0JVRkZFUl9TSVpFICAgIFJlYWQgYXR0ZW1wdGVkIGFjcm9zcyBhIExCQSBib3VuZGFyeS4NCj4g T24gb3V0cHV0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtQnl0ZXMg Y29udGFpbnMgdGhlIHRvdGFsIG51bWJlciBvZiBieXRlcyByZXR1cm5lZA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgaW4gQnVmZmVyDQo+ICsgIEByZXR2YWwgRUZJX0FDQ0VT U19ERU5JRUQgICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIGlzIGluIHRoZQ0KPiBSZWFkRGlzYWJs ZWQgc3RhdGUNCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgIFRoZSBibG9jayBk ZXZpY2UgaXMgbm90IGZ1bmN0aW9uaW5nIGNvcnJlY3RseQ0KPiBhbmQNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGNvdWxkIG5vdCBiZSByZWFkDQo+ICsgIEByZXR2YWwgRUZJ X0lOVkFMSURfUEFSQU1FVEVSICBOdW1CeXRlcyBvciBCdWZmZXIgYXJlIE5VTEwNCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Z2YlJlYWQgKA0KPiArICBJTiBDT05T VCBFRklfRklSTVdBUkVfVk9MVU1FX0JMT0NLX1BST1RPQ09MICAgKlRoaXMsDQo+ICsgIElOICAg ICAgIEVGSV9MQkEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMYmEsDQo+ICsgIElOICAg ICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPZmZzZXQsDQo+ICsgIElO IE9VVCAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqTnVtQnl0ZXMsDQo+ ICsgICAgIE9VVCAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVy DQo+ICsgICk7DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFdyaXRlcyBkYXRhIGJlZ2lubmluZyBh dCBMYmE6T2Zmc2V0IGZyb20gRlYuIFRoZSB3cml0ZSB0ZXJtaW5hdGVzIGVpdGhlcg0KPiArICB3 aGVuICpOdW1CeXRlcyBvZiBkYXRhIGhhdmUgYmVlbiB3cml0dGVuLCBvciB3aGVuIGEgYmxvY2sg Ym91bmRhcnkgaXMNCj4gKyAgcmVhY2hlZC4gICpOdW1CeXRlcyBpcyB1cGRhdGVkIHRvIHJlZmxl Y3QgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMNCj4gKyAgd3JpdHRlbi4gVGhlIHdyaXRlIG9w ZXJ0aW9uIGRvZXMgbm90IGluY2x1ZGUgZXJhc2UuIFRoaXMgcm91dGluZSB3aWxsDQo+ICsgIGF0 dGVtcHQgdG8gd3JpdGUgb25seSB0aGUgc3BlY2lmaWVkIGJ5dGVzLiBJZiB0aGUgd3JpdGVzIGRv IG5vdCBzdGljaywNCj4gKyAgaXQgd2lsbCByZXR1cm4gYW4gZXJyb3IuDQo+ICsNCj4gKyAgQHBh cmFtW2luXSAgICAgIFRoaXMgICAgICAgICAgIENhbGxpbmcgY29udGV4dC4NCj4gKyAgQHBhcmFt W2luXSAgICAgIExiYSAgICAgICAgICAgIEJsb2NrIGluIHdoaWNoIHRvIGJlZ2luIHdyaXRlLg0K PiArICBAcGFyYW1baW5dICAgICAgT2Zmc2V0ICAgICAgICAgT2Zmc2V0IGluIHRoZSBibG9jayBh dCB3aGljaCB0byBiZWdpbiB3cml0ZS4NCj4gKyAgQHBhcmFtW2luLG91dF0gIE51bUJ5dGVzICAg ICAgIE9uIGlucHV0LCBpbmRpY2F0ZXMgdGhlIHJlcXVlc3RlZCB3cml0ZSBzaXplLg0KPiBPbg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0LCBpbmRpY2F0ZXMgdGhl IGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbg0KPiArICBAcGFyYW1baW5dICAgICAgQnVm ZmVyICAgICAgICAgQnVmZmVyIGNvbnRhaW5pbmcgc291cmNlIGRhdGEgZm9yIHRoZSB3cml0ZS4N Cj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGZpcm13YXJlIHZv bHVtZSB3YXMgd3JpdHRlbiBzdWNjZXNzZnVsbHkNCj4gKyAgQHJldHZhbCBFRklfQkFEX0JVRkZF Ul9TSVpFICAgIFdyaXRlIGF0dGVtcHRlZCBhY3Jvc3MgYSBMQkEgYm91bmRhcnkuDQo+IE9uIG91 dHB1dCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bUJ5dGVzIGNvbnRh aW5zIHRoZSB0b3RhbCBudW1iZXIgb2YgYnl0ZXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGFjdHVhbGx5IHdyaXR0ZW4uDQo+ICsgIEByZXR2YWwgRUZJX0FDQ0VTU19ERU5J RUQgICAgICBUaGUgZmlybXdhcmUgdm9sdW1lIGlzIGluIHRoZQ0KPiBXcml0ZURpc2FibGVkIHN0 YXRlDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgICBUaGUgYmxvY2sgZGV2aWNl IGlzIG5vdCBmdW5jdGlvbmluZyBjb3JyZWN0bHkNCj4gYW5kDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBjb3VsZCBub3QgYmUgd3JpdHRlbi4NCj4gKyAgQHJldHZhbCBFRklf SU5WQUxJRF9QQVJBTUVURVIgIE51bUJ5dGVzIG9yIEJ1ZmZlciBhcmUgTlVMTC4NCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Z2YldyaXRlICgNCj4gKyAgSU4gQ09O U1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAgICpUaGlzLA0KPiArICBJTiAg ICAgICBFRklfTEJBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTGJhLA0KPiArICBJTiAg ICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT2Zmc2V0LA0KPiArICBJ TiBPVVQgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKk51bUJ5dGVzLA0K PiArICBJTiAgICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZl cg0KPiArICApOw0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBUaGUgRXJhc2VCbG9jaygpIGZ1bmN0 aW9uIGVyYXNlcyBvbmUgb3IgbW9yZSBibG9ja3MgYXMgZGVub3RlZCBieSB0aGUNCj4gKyAgdmFy aWFibGUgYXJndW1lbnQgbGlzdC4gVGhlIGVudGlyZSBwYXJhbWV0ZXIgbGlzdCBvZiBibG9ja3Mg bXVzdCBiZSB2ZXJpZmllZA0KPiArICBwcmlvciB0byBlcmFzaW5nIGFueSBibG9ja3MuICBJZiBh IGJsb2NrIGlzIHJlcXVlc3RlZCB0aGF0IGRvZXMgbm90IGV4aXN0DQo+ICsgIHdpdGhpbiB0aGUg YXNzb2NpYXRlZCBmaXJtd2FyZSB2b2x1bWUgKGl0IGhhcyBhIGxhcmdlciBpbmRleCB0aGFuIHRo ZSBsYXN0DQo+ICsgIGJsb2NrIG9mIHRoZSBmaXJtd2FyZSB2b2x1bWUpLCB0aGUgRXJhc2VCbG9j aygpIGZ1bmN0aW9uIG11c3QgcmV0dXJuDQo+ICsgIEVGSV9JTlZBTElEX1BBUkFNRVRFUiB3aXRo b3V0IG1vZGlmeWluZyB0aGUgY29udGVudHMgb2YgdGhlIGZpcm13YXJlDQo+IHZvbHVtZS4NCj4g Kw0KPiArICBAcGFyYW1baW5dIFRoaXMgICAgICAgICBDYWxsaW5nIGNvbnRleHQuDQo+ICsgIEBw YXJhbVtpbl0gLi4uICAgICAgICAgIFN0YXJ0aW5nIExCQSBmb2xsb3dlZCBieSBOdW1iZXIgb2Yg TGJhIHRvIGVyYXNlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBhIC0xIHRvIHRlcm1p bmF0ZSB0aGUgbGlzdC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgIFRoZSBl cmFzZSByZXF1ZXN0IHdhcyBzdWNjZXNzZnVsbHkgY29tcGxldGVkLg0KPiArICBAcmV0dmFsIEVG SV9BQ0NFU1NfREVOSUVEIFRoZSBmaXJtd2FyZSB2b2x1bWUgaXMgaW4gdGhlIFdyaXRlRGlzYWJs ZWQNCj4gc3RhdGUNCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICBUaGUgYmxvY2sgZGV2 aWNlIGlzIG5vdCBmdW5jdGlvbmluZyBjb3JyZWN0bHkNCj4gYW5kDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgY291bGQgbm90IGJlIHdyaXR0ZW4uIEZpcm13YXJlIGRldmljZSBtYXkg aGF2ZSBiZWVuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydGlhbGx5IGVyYXNl ZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Z2YkVyYXNlQmxv Y2tzICgNCj4gKyAgSU4gQ09OU1QgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9DS19QUk9UT0NPTCAg ICAqVGhpcywNCj4gKyAgLi4uDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0 DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGltZUR4ZS9GdmJT bW1EeGUuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvRnZiUnVudGlt ZUR4ZS9GdmJTbW1EeGUuaW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLmFhMmI2M2ZlMTMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9GdmJSdW50aW1lRHhlL0Z2YlNtbUR4ZS5pbmYNCj4gQEAgLTAs MCArMSw1MCBAQA0KPiArIyMgQGZpbGUNCj4gKyMgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUg Zm9yIEZpcm13YXJlIFZvbHVtZSBCbG9jayBtb2R1bGUuDQo+ICsjDQo+ICsjIENvcHlyaWdodCAo YykgMjAxMCAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4gKyMNCj4gDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKyMNCj4gDQo+ICsjDQo+ICsjDQo+ICsjIw0KPiArDQo+ICtbRGVmaW5l c10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiAr ICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBGdmJTbW1EeGUNCj4gKyAgRklMRV9H VUlEICAgICAgICAgICAgICAgICAgICAgID0gOUU4QUQzRjQtMzgzRC00ZWMzLTgxNkUtN0E0NzQ5 MzcxMjkwDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVIN Cj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIEVOVFJZX1BP SU5UICAgICAgICAgICAgICAgICAgICA9IEZ2YlNtbUR4ZUluaXRpYWxpemUNCj4gKw0KPiArIw0K PiArIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQg bm90IHJlcXVpcmVkIGJ5IHRoZQ0KPiBidWlsZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElEX0FS Q0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEzMiBYNjQNCj4gKyMNCj4gKw0KPiArW1NvdXJjZXNd DQo+ICsgIEZ2YlNtbUR4ZS5jDQo+ICsgIEZ2YlNtbUR4ZS5oDQo+ICsgIEZ2YlNtbUNvbW1vbi5o DQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgTWRlTW9k dWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBC YXNlTGliDQo+ICsgIFVlZmlCb290U2VydmljZXNUYWJsZUxpYg0KPiArICBEZWJ1Z0xpYg0KPiAr ICBEeGVTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIFVlZmlEcml2ZXJFbnRyeVBvaW50DQo+ICsgIFBj ZExpYg0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiArICBnRWZpRmlybXdhcmVWb2x1bWVCbG9ja1By b3RvY29sR3VpZCAgICAgICAgICAgIyMgQUxXQVlTX1BST0RVQ0VTDQo+ICsgIGdFZmlTbW1Db21t dW5pY2F0aW9uUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlTbW1GaXJtd2FyZVZvbHVtZUJsb2NrUHJv dG9jb2xHdWlkDQo+ICsNCj4gK1tEZXBleF0NCj4gKyAgZ0VmaVNtbUNvbW11bmljYXRpb25Qcm90 b2NvbEd1aWQNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0dlbkJpb3NJZA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0dlbkJpb3NJ ZA0KPiBuZXcgZmlsZSBtb2RlIDEwMDc1NQ0KPiBpbmRleA0KPiAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lZjE1NzhmMmJjYjg5MjI5MDVlMDY5MzAzNQ0KPiAyNDVj NDMyOTgwOWFhNw0KPiBHSVQgYmluYXJ5IHBhdGNoDQo+IGxpdGVyYWwgMTIyMzYNCj4gemNtZUhO ZVE7ZFdiLQ0KPiB5YjshOXJ3N2MwXipaM2E/PnBZX1Fqb2smU0dpPXhjM2NqNGZvekNndE9Ld2Zr MVBAb0hESQ0KPiB6YCZMKksyMExwUnduQ3J+a31efTshU1JmVD17U2ojUCFPTFp1JkBudjgpWnJw WHZ5R0NwPFFQaz5WTmBqOzxFaw0KPiB5DQo+IHo/JWxVflQ5Vk10QEx6ckh5WFhHeUlycDQlJjs1 QSE+RH5LJG83VEhyRUA3dUtRNyh3NGhCYkYxPW9eMg0KPiBtSUVfTFYNCj4gejdsQF9lUW41JiFo YnI8S2NTOG5RTSs0PngpTT8xJiRsYnUqZG8oeG03bEUwe0wkJUJ4TFpCXmslfCR7bQ0KPiB2JVJR TQ0KPiB6e015VGVzUXRkP1dffUVmJk9qO2NsM3hiMDYjUyomRiZfdEpDWjlIIyEpT3pSWlJVMWhX fURhZm8pdnMqZmU9DQo+IHFVDQo+IHpxUGR3WkBSKTc+RSNMIXdEJXR3R3o8MnQwOGp7UngmO0c1 OU10V0M5Z0Rhd3VTWmJGeThUWVBJSmgoM1Q4DQo+ICNlYyMNCj4genIyMFhmM3o2Qmo3TVphbHxE bk51eGdwfTRfbiZXX0k5emV5Witgajh6VGckLXYpe0gzODdwMXJzRkhReHozSmEzDQo+IHpTYXps YzJTOWc0djstJGdATmZ5PFQ3cmo0QFVqeFR4ZGJ5N2NHNk1VWjM5c0heWERiX1BmQm84MzNkKCYr dC0NCj4gKXkNCj4gekY5Q2poT21qMXFeRl80fmhTQXBfan5Qa0pwUmYhPVV8MGVpankxeVEqbi0N Cj4gKyVCeGE8Tlc+NiVwTHx8WUBCbkp8YQ0KPiB6bT16TUNfPCRLaDw0N19kU2k5Q3BDSWtMaE5E UVFgQnIyZ1N1K3M+SGNOIXNvQitBLQ0KPiBBKnE7IWdKYD9PdkFSMTRhDQo+IHpCNkw/R1Z3b1p1 NUJRXjJxfkFteytBY1dLP35sYTloRHt4PFpOQDZeSE57ZTZ2RDhwM3Y0Pl4mU0J8DQo+IFg3NjZY TUcNCj4gekRyOC0NCj4gbW9LRyhCSTRfdSl6OHMwbjw3Iz53VyFCWTd0Y2ltS0pZVjgrYWt6a01C clglcjBXK1Ahbm1YP1M2YkBfDQo+IGQNCj4gel5EJjRUREdhK3dGK25SeTUjJDxET3ZHQUpPeXFe Nj1MPUNzPkp+eUxnJnEmLQ0KPiBnOz1rb1VsM3dCWChoJnc2ck1KYw0KPiB6UnRlRVdpZWNOREtK Q3Vaaz15bmgqP3lHfUJrOG1HZTEzU3NzPnBzOXdiPmAoUX0meHNsJTkwb2M3JWVuRA0KPiBaaEZL DQo+IHotDQo+IHNjeWUjVj4yfmlgazFYaT5GUlBPTVdxWDZESUd9bCpIXittfDszS0F1KVJ3PThg O2hTWXF9dnRQPypXRj8kPA0KPiBjDQo+IHpOPDFicGRtWE1QLQ0KPiBZcWVFQUxpNk9INlNzZzVO OztrQXUqIzd6TEJfN1ZuIXcwTiElPGtxWjdXQnhMI3NMRFpHUE4NCj4gem16ZEVDdnFQdDlCeGNt WTFIPU5qO2dAJTJ7eCR2WG5hPUw2YVB0XkFReDl3SVRlZ013PyRnfWFoYW9VDQo+IE1IWWZGRA0K PiB6LWIxKngtUGNiKmpZIT9GZS0NCj4gaVkwOW5zczl0SGJaaHpiI0FXVHg7SjxVT01fVFk+NCFQ Pml8WGF3Wm1qZkB3SU96DQo+IHp2UFViWno/R2lWWm9Be2lzSV4zbHpIa05RcCs5fGs7ZUhRZkZA T3VrUyU8O30kMjFTP0A+OCFKOEgzRkJaU1gNCj4gbUwNCj4gelQwaHFBc2lSMT8zRyojfHVlLQ0K PiB1cGtUcD9jSiRybFY2dmxxVVNEQnZCTW52WTdAaDhTS19we3RIR2U2QjdgfHgxKA0KPiB6VSVY UU4kVkJFUk9KQnwkdVlQR19jcHxreTNjRGZQPyRLY01CKXJVU18jfmZ+Xl81Ynxmek1FNCkjaWZQ Yw0KPiBWTXthDQo+IHpNWm9yPXJsP3JfNVFeWGI/fGxBUGg0XykwZCZlcUh7eT4kVUl8dml3dzRM ZXBYY142dV59dk0jNnhgMXJNNQ0KPiBIIz8NCj4gem5FZi0NCj4gU2pYWmlhe3ZfSkxzd1NKRiok TnU0V0FTckhKYT8zdVkyNFFRSXokZjhAUDdVdjFTYGkrNnRxWSZYISNHVQ0KPiB6Q3V4X1N7MDUr P2wzUXxDaGEyJGR2aG1YOyoxenUlJkdseFYhckdUfG1FVFphK1dQTnolQj5xOzF+eDRYDQo+IHV2 K3RrDQo+IHo0PGwwN1c0fU5keU1vOXJnfiNMOW1GUUBMdXBPSXVNUTNranQ/SExHUFpwXjc4cXwm O0R4PkRpb3lIdw0KPiBVKVNSPW0NCj4genpwa3dBZmQxXkFzeXhQV21udXNTNHg7P3BZYFpEKVMx SkJrbVh8bldAM3YqUFpgKlVhOSZediEmail3TA0KPiBIe0NFMQ0KPiB6SXlVP1AqeSE1dVgtDQo+ IFRtdko9aUhuaG89R1E+STZfbUdTZT9naz9Pcj9wPF9mPVJYOzdSeVMjZXVgPjEmQ2F2ViVsDQo+ IHo/ZGEkPENRRHxNcnhHUUUzWj4jO3xOVT9DYFNlVSNfMyg+bTExbl58R0pYfT5LRmJhS19wSiZH cVJADQo+IEc0Xys3WmcNCj4gemdobWgtQmNyVXl7T3A3OFdzWk01bUNtfS0NCj4gR3Z9d2NDXlpo NllRJGRuKDJHIWRsem55T3R7ODhHSnFXcTZfajhTQw0KPiB6dmA/fTdldUlJPD5mTD1SPTUpYGJk eU08JTtHUnBsSCNvPD1nUm9YYHVndXtkcm5QakJfVVljcXxGWWZ0RmBPKCQNCj4gekZIWk5ebUN3 UHdhXj5GTGJLSylJd0JWbFJhMVhXOEo9Jip4RWsqYjBvJGR8Tkp2e3RBNUJDYnVkdkswPg0KPiBW T1Q0Ow0KPiB6PVhTVmZOMDBYRC0NCj4gZ2pvfj16Um1NVilYWFZKdl9gbTVCRD9geXwyJTQ/PUBI fXhMNHpGND5NOW1rTWArYWRDfFFPDQo+IHp6JHY9LUBNcFFWT1U/NUMmQykxUz9tYVpleSg/JGso e29vOW1qK0BnLQ0KPiBKXlpGN3lQJm96MSs2M29IbXdvamc0SHkNCj4gekNqcVE7MSRLTW53JEVu KHJQbzd4YyVwanZESj1LdVhYR0F9SzZ5aVc8XzdEMHh4UkFxdkQtDQo+IFpnS2U3djlVTT1PRw0K PiB6WTRocmZ4SEk5e3Y8Ql8+T21lZkQtDQo+IDUqQ1Q7eXlhUTFGY31MbElzXzNySVE7QVd+PFJH Sj4hQkFFUWo1PjNhTURfDQo+IHpsbFM3VlAlbStBP1RGOUtvbENjQjMjQUxKM2sjKFNRfEcwOVpk ZEwrOzlTal5zQColMEl3Nn4/dHMxSDxafkUNCj4gUiENCj4gemt5P35ucTltJUhwMkc3dmwmTjlr dzZDJl5Ac1U+MF9INilybGdBTjNxJU9gflBVYlZCYHNvUXE+Jj0NCj4gaGd3JEUpaA0KPiB6ZFBh b3M2I1RqTGQ7Mno9YzVhN3MjeTRzMit3VjNealFYYjdGI3FkKHpFSkZqaipSYig1JllrIUBwcihA LSYtc0INCj4geitneVdWUHt1YlElZUE4cUw9bTNuRSpzOT5mP2V8JG5XPmomRGwpem9HUkkkQHhv bzg4Zz1NY35yZ2x5UQ0KPiBHcTFEbw0KPiB6PnxiSTBNfDxBTit+Wmw4dXteYnorZFZaU2NUOWoo OygrNEQpfjtvMEo9ckMmS0h7Nj9uUHRAWDdHMypDZDFRDQo+IElsDQo+IHp5dDwrPXF5aE12cDFs MXc0eWZacSpNbEJyQk4pRnVNOzdUZ0xZPU1+aUYpY3NwWGI+emR0ZSY8T1M4RF8qdg0KPiB0OHsN Cj4gejtrPm8xO1VqZ2Y4KV40Nld0TXlCMWQ1SGNvUFlGMzZpcHY+dF5Ga1JQSXxJVitSRHZ5U1F7 SnJAV0BEPSRLDQo+IGdRWA0KPiB6SmhgOW0/ZGg0a15+TDh8M1hQPzZUN0dKejk5NjA1dl4qcV5q WEJUeGFsRnJHPEZaZmtPd1l+R2g0LQ0KPiA4bDV3UmpKDQo+IHo2Mmd+QSMxbEdTJXAkUXFKcmN1 dm1tWjJsJjJ7P1g8Yn5we1VXZ1pEMHR3U15RN0UzVz0xTyhNMkt+YA0KPiBVUCFHZ28NCj4genAt Nyk+dTd+MUBlIXIhKHdFMUlLU2h7PzdgKmg+aGp4QWdEaiZAekRILQ0KPiBxYUNUKVYwXzY3d2c5 bClmVUhaWHM8ag0KPiB6VzM3PlJ2TG1SY3RWbEZzNEszRlAlfHRSMWtGQz1POEAlOzt7aEYyYU8p RlFgKlJSJWY9eG1EKjM/KDljVg0KPiBNfHtjDQo+IHpTZjthanghd2A4JSY2V0xQWWxFcD12cUFI KW14JWJVNVh8M2dxYnVHZ0ojZXgreEh+PmVGKH5EciNaZkBoDQo+IChKQXENCj4genZLfUdUU0gk JSNHSWtQKSNZejJvTHxMP01ZM1hWPUlAKHA3O2w0a2JHV0I9fUpVdG5Ycj1tZVU+Pm82QmINCj4g QypBMA0KPiB6TVRoam9oJXtifTVlTDw+JWVQSHpAIWQ9ZnR2d3heK0t1azdjS1hDTlUpUj0tRXRg Iy0NCj4gVFErWCNubmZMKGZmbT1WDQo+IHozWUtSMD9PSWZSRW5qJT4+TH1feSRtYnNmbyUlNEpL TWJtNDwtODRnRTloQyF5YFhqMipQNXwmLQ0KPiBVenhJR3p8SzgNCj4genBidm1uVjdHa3x2PGRW JFhkTzthKTFWSzZeMEU2NlhnZXJaOWgyK3NGNSRZej9PSWYrWD42fmZqJkNkdnswaA0KPiBmRA0K PiB6VXtVMj5Vc2J1V2BVe3F9T1diaER3TzZrNGUxJEtJJkJ6UGtWPCZXcG1NWnNmUz9qIXQmVkFi Yjw+bA0KPiAramo8eV9ZDQo+IHpmeGNKNHFBdmNPPH5sNWVDZVdnK14ockozcFopQ3lmNFAkJVIo I3F6Z3VEYSU3eCt4SFpTOW57TXpqKUpaJGpoDQo+IEANCj4gejRqUnAlTWNJMzFaT3gjJTJGSkxZ b2N5djQocCZuPD1ncWE/dVhGTVRSY0ZYPTA+MjBSdERYRyN0Z3A5JTkNCj4gfHIjfA0KPiB6Qzt5 SWcxLQ0KPiAmaSUrYW9RdXlOdHpOJG0kcTNlXkl1anNgQ0V3bWEzWTRUMSE9Sng/KiF4ZWM4c1VU MnZlWD1QMF48DQo+IHp0ZmZrT3dGZEdOWHhvanAzX2xhPS0NCj4gYXVVfD5LTFlUPjBBV1BNY2Ba biZQQ3V7MWtPZF5UbTtUVjtRd3l+QFkyZ2ENCj4genl6cTAxcSU3bThEOT88UXBwV2o9KzxmPUFY SDBZZGBqZFM4NVdYP3ZQdlBTMnVqOUtKPW19dUh7N29ZQjQNCj4gfFAwaQ0KPiB6O2A2cGxlNk85 eDghXndKeU84LV9GKDNLTSRhVD1tYXhFeW9aQFE4Qi0NCj4gSkJHIXxNQUgqS0EzPmdtb3VQRzBI Z1NTDQo+IHpQVyl6V0h+TSRqYFV2XkZWYUAjfDxSIT4ha2s9emBMaz1NaUJKVkB+SHU2RV9yOygy JCtkQlJiXj5wd3ANCj4geHg9SDINCj4gengmT1FjPzhSNEheXll8eSZEUGkpUWw8QFVaUl8tPEot dy0NCj4gem0wRyFwRldxc3koWXdaYl5AQGcrdFgjY0pWSWpROQ0KPiB6cD89SFgzdSt9NDRjakdy O3ghV2shVylaUXJualpGVn08NEtFMTxxdSVHO1pZO00wOTFENy17cmU9O24qIUohIVINCj4gekRR WURZcnw9ZCgyTj5XYiVxWm5tVklYUD1aekxBTXVWd0RTWndMVWFjK2hZOGgxVSFscEBoSFJHew0K PiBRbCZ3Mnwteg0KPiB6dGF1XmBiQmNUfDA0N3hXYHkmQ0VpJGV7NXlpJkspKTA+MkpBbH4wXiM7 aVh5NyR2KyN6P0A1Kml9SjFwME95O1gNCj4geiRZWikzblNUJGJvVi0NCj4gJjNoS3tuRz9Ecj8k SD9aWCV6IzhFRHZCd3F5d2RMQVQjJXA8O2BuWXh1NzQmZnBGO1J9MA0KPiB6X1gpVXVEOTFIKjAm K0ZUVHdAP29oSEdtWkdTP081eENZLQ0KPiB3Vkc/Q0tRSV9kV1dVZTJ8YXFUPlRNcWZlTXcjJDB2 DQo+IHpveWM1b0VPWDZHTGFxfktyKEhtQ0ghe0RuUD55VDE3RVdfZiohdEs5O3h3YD8kMkRGRDJH PjYyeFMhWl41Mg0KPiA4JDgNCj4gelhAYDV2cWhOU1p3aUQlOz9uayFlclhWKihoVFRhTjg1MzRM UW1DZHItDQo+IHNoUXUhOSgofFFtODxwOU1mYVN3bSRBQA0KPiB6X2tlTVU8ZnRGcD9xMyg9Kngk ej5fWlp+fTNkeG9gMnV5dXMkdlphSyUkKVBtbVYzJH14QWRGMSVZKF82Yg0KPiBAYW9RDQo+IHpk I05EREczSCtyZEgyUy0NCj4gYFBnIT1JXl82cXk2KlNMb3A4d1VCZVZ4e3docGswPCk1STsqd0w9 TVlYcklEZyp1U3ANCj4genhjeEtBYmVuUiNKOHxaQj0lZkMzOUNDYUhPaGZLUSlZKndMJXZvZXhV by13Wi0NCj4gPmxFUXk4fGZHYH1rIVhYbTxpfg0KPiB6aGppUj9hKlBMe09kc054YHN4KUZsKUpK fUNMeGNSJm1RV3MoQCU5RiZle04hR0VBZm5HaCopJnRTOEteS1NLDQo+IFFxDQo+IHpXY0duYGkq dyRvJiRDPkpDbWp7R0s4U3JQYVgoX0V4e2FweDlmZyU7P2tAQH1oMV5GSnJnZ1BuRDlseCtfNjMN Cj4gREcNCj4genFWVHV5PkAxZiVtUmplRUZWKUVQdFQyMF9wM01yWTE7cThLRm4xYGR1T2pBKFJf bCRsVD5oMChvZlE9M3c9DQo+IHVQVA0KPiB6NnZsLQ0KPiBZQig0Kk04OUJeMXRPdGNURHIoKjwl IyM4OSFUZUVKP2J3e2gzaUN2dj1CdlckPGlVQlZAUnZ5QjhBTV44DQo+IHpKY1FzcFErVDFvb0tG ZzBFVjJEbGotQTBkWmtxVTJvO35LZXE+S3dVeVNSN1F7PC0NCj4gaShTcWcwWD1mYTYrSDNlfVcN Cj4gemdgXkRleGUxaV5zTWpTZjdKbXhMSjA9YFM7eE9uQWhrVTdoP2t4KSlfVilsK2UjYGJ9eklZ aGVZNXk7UUpJN30yDQo+IHp7e1l4ZD85WW47YzdKJE4/SF8+Y0dte0deeHUyRXJlKncoKDM8N0A8 UGRMY0NIPUw7cCZfNiEyUE5GfW9wTw0KPiA1fXINCj4gejNmZncqem8yWk1TUGxIX0x6P15RZzhZ clpPJlFKMnp1JlVgYzNedmFibGV1fjEtDQo+IDI3c2c5U1cyaWhUbFElSmM3fQ0KPiB6YnxVezx6 PXZvYnNSc1JmeW9DUn42OHNXeUNHMkNsTmAzc3wlSTU7eEZBIURZJDBoUFA7NVEhNyspVn1mazR5 TCQNCj4gekk1ckZWdmp+X3NqSHF2WjhSaUdELQ0KPiBNPD8yWipfXmgmdytLYz0+fjJ1Xms7dEFM ZzVGIzVBajxFOXtabUZjSFJUcg0KPiB6PDdpTCYtdjtLbFB0R3JuJDl+e093QzZsemR3eD4yNlhw TDJuQWZRTUQza3dRM0UjUU5RR1VLLQ0KPiBrMGJUfll4dVR7DQo+IHpxS3lBQ1VfT3REc2dLYGZg OC13clJFdWtYbyNXTDh5Y2hHSS13cjUkQmsqYlglZkZjdVp2KGNJaj42WjdlK2N+Ow0KPiB6Mmxq OHMhS1hoRDBgRVpsSGxqUXFAcVViYV8tRHVDSkhZbi13dHkkRksqQ0J8c1podXB6KWktcz9rISEk cmpEKU0NCj4genhLVXtzP1FfdF5IVX0jaEh+T09TVVZxZSgyVSl8UCs5aHlFOWYrRDF6RS0NCj4g VmlTaU0kfFZNS3p2Zll2ayFicnVlJA0KPiB6YHVtNCRKSEV+QigjLQ0KPiBtPG1ZYVFzamNDUiQm c3ZlRVdAKUFQKE0+d2NeUzl3b0I+WTIkODRDKWR7aX5aPlp0aUc8DQo+IHoyP3N+czVmI1JVTzxQ KTlIV14jaXVpeHRISG85OXtIfkg5MGQzIVVFT2QwYjAtDQo+IG9kWXJ7NUd+M1hMcVZ1KTNuQm0N Cj4gemA9Nz1Ael83eHAqaUxXbkY0NCltcSY9fW5BUmFXZ1NeI35iNkNjQ09WcT9MeHlTZnI4KVd5 XjBYOFRyWHoNCj4gMVlxaA0KPiB6cV9iYikpY3NQWWZNTHFCenEpWmMlVi1lMWE1e19ZM3kkISFw aXU2WS1lSHs7WmRBZ3B7I2VZIWx+KHlCYmUzQ1INCj4genhGX3FaRE5LT2tVXnUjaj4jfW50PWlK M0xqOUBadWcjRUUjKUQtDQo+IHlraH1TOHJKNj8hYT5IWFp8TU92cHFNe3BTNQ0KPiB6ZmxhMCM3 a2N9KWhZYDR+MU9DQTh4T01Bbj9pZmAwZj52X2ZjVUpUb2JzdT1QcVFTb09KNmx5UilZS30+cVJA YTUNCj4geno2JW9yP2A0R25tVW4oSld1bn59b3ZvST9lP1MtOzJhUFZYRk90T1RYant+dU9xeGtD K2IyMS0NCj4gM0t4PXtjR1NuQA0KPiBPaighZzM+e09DN1NeTil0e1J+YjMNCj4gDQo+IGxpdGVy YWwgMA0KPiBIY21WP2QwMDAwMQ0KPiANCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0dlbkJpb3NJZC5leGUNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9HZW5CaW9zSWQuZXhlDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 DQo+IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjMyM2I4N2M0NDQ5 MTViMTczYjdmMzJkNTQNCj4gODFjNjdlNDQ3MWIwNDdiDQo+IEdJVCBiaW5hcnkgcGF0Y2gNCj4g bGl0ZXJhbCAzODQwMDANCj4gemNtZUZhZVNCMmF3S3NsfU9raldzNkV4QU5oKFV2STBVOEB5TDcp YT9sdit8VmZ4LQ0KPiA4O2lnPGBgUkEmXnVNNF4rWg0KPiB6T3BlbzFCYHZvMERwemw+WlM1Xj5z aUZsTVVMO18jamc8RCVtUm9+UXVJXnp7alQkQTskVU5XZytVSn0oTHhSDQo+IDJjDQo+IHpLN2Fp X3BDNWNPYkxRLXxfZ1pgSHdieHBFP1JFQzR6amw+VFdFaDRJZjd6XklZYHsxRil5ZTBsZXtgWEVe Y2s7PQ0KPiB6SHI5YExlZikta3h2ITYoWiFXJkNhPj4yLQ0KPiArPHh5WmNVOWhjJWlWWTE2UnJI cFpJJD1OP3lnKlhjamZGVz1UK1d5DQo+IHomJSlhI216MGRHdllZPGhfbDZaKU42WkR6LQ0KPiB3 VkBFVChEQXBGSjYkcl90KERHdnRYVGtmM28wZGBPWWpEQ0V0ZV4NCj4gendCb3lRQHZTRTc5KkAk N2tZVVUlQ15GUGQkJEFILSVQMS0NCj4gc1JXUU9aX00rRVMxIyl9VUc8PW9mdWF9JnQpN09RRA0K PiB6UUgpPnc9WEBLTCEhKXlTNH00b0xmVUwqTF42aEB7cnFSQikqZj58TktLLQ0KPiBOZmVWO00q USRZNEBFNnlKaShBbEMlDQo+IHpBRnxmdT14c30qREVaK1leb01rQHVrNCFWVSFgSChKbyg7Knc/ dUMtDQo+IGpIfn5LMGB+bn5lREJLI3RPRytQWWNPTnkNCj4gej1UUDFTWmsmWWc5V0diIUwlN3kx N3l0anF8N1NRNXYza05DcEBINF9oY0ErP2MwdWdwJkhtISgkQG0tDQo+IHw5aSNlag0KPiB6MUJG QHFPSjlqPWI4YzcydXRFV0FqeFZoNEkxJGo+e2ZZTTJObWU5YSZHSSp4bD85Zz5ZVGdOUUtRbChY PzUNCj4gU1NMDQo+IHo+SjYtM0FGI3JLTW01bj5vaF9EeiZBSzh+RkxTRnU8ZjtBIUIlVmFZRS0N Cj4gfmtgNWg1JldRMTU3OXBASHBJR0A1bVYNCj4gelh5a1dlOTIhMzdZMi0wOShvdExxMFJIUEo0 dUQqSlJifTVadVNWbSM4QG4tZyg3azV+OS0NCj4ga3FWViZrTzl5ZEZTbQ0KPiB6VjNkP1E/NVJR OTx9JWluVVZPdUBPJShBTmYoVyUpV0ctDQo+IGp6JkgxJUkwMiRKfkZQUDZyOHw9Z3Rie2l4dksw YD1rDQo+IHo4fjl+RCQySzB5Wnt5JDVoV2F8bE5WRz83TFUkOHZVT3cyUDFpSzBJN2h0RHBpaDJr KEYlSytydEJfTnJWbEUNCj4gYHsNCj4gejFgWXRTRmR1VE5TO008TUJncWUrPjFTZyU0YzkrcnZ0 KkI1QkU2cihKTUQ3RVo/aVF6ZE0oLQ0KPiA4cHF9KGdFdF9BXw0KPiB6cGpBU35oMUNrQHpWSEN8 JVghaEw3Vkc7flhhSTwoXntCLQ0KPiBkYj9kKXcqaFpQJjRmIV9qQihpeG5gWCY1dm5mPkQjDQo+ IHp7K01lMj07RHV3YFVqZGg2VjJTUGpyRkAoYUgwKj4heW0pITl+MGxna0hmR2U4dU5QP0RqVG1M Klo1Y1RSSw0KPiBaZVENCj4gem1EO28pUXxSU2dWRWhKX2UpIXxISFFnYmpfU0l4KXB0Z05jR1Fy fUdMPkUyKlZwdHtRTSVkKCFSOXBZaVlfPw0KPiBJSQ0KPiB6UUJGKk9NMD5DV0NlMjdDYylMTVdV fm9We1F0SE14TmVpKlUlcUE8diVpIWlRQGdyeTlfZkp2QGgyDQo+IElVU1JQUUkqDQo+IHpZfWwq O0BtM29fOHI3PlpnRyVINWgwKCVIaSNZe0ZzUlkzcVJCTW99YkFuJSFPMGp7azhaT1lqYz5uTyZJ DQo+IFdwM3oNCj4gekhXb0NoenJ0XztIdSNjc0NjZC00P3A5YDgoe09WKDhae2ZwdT9gdXJ6eT9n cDw+fjlHNT9ZOCopMV4tRkFoZ140DQo+IHp3b0dJb0VDOWxqQVg7YDspTGpuMzZ1QjRRUmskY0FT M3A9YHR8RyN4aDtWQHlWVE48R2xMKl9gISQkU3w9dilzcQ0KPiB6aV9gPU1WRyQ2WE5gIVhUMmYl bWZWVmZYKSY5XjhpUzNwPX4/anlvM0JLJDlyZTdsRGE1bjxXP0E9UjN0N2tMDQo+IG9jDQo+IHo/ WEgodVp1ZjheNSF6azE5RTNKWXtXK0V2bjNaVk1vUU13PF4mJVdXZ2Z8blImQyhxdXhnT2Y+VWd7 DQo+IHc5cEAoT0INCj4gelNiRDAxJn1NMEFqLQ0KPiBAX3gyQHgoUSFYaHVpSDRzdkJKclVZMGpr cExHSTc3OFpoN348NTFqNU40bWlgYXw7QUxzMA0KPiB6IV93MjUzZUR8QXhSKGVZaHZObXw3b298 VnBDPGJxSXFTTTQtDQo+IGhXQVN4R29CczdvdUA+bVVQMmMrdW1ycy1qRklVDQo+IHpKLQ0KPiBO PE1rQVNNSHVmNTV0QUU8cEBlRmMrZyNkYzBqTyFtKkFnZ1JwdGVpe3trPDsqZ2AjO2I3NkxGNHJt WXkpVXsNCj4gekpzc0VjcVc1MDVfX2pNMkYxWTIrKmxxNXdGVysqUHtGdUE9PyVORk5wUzR0OTRO VjEyU0N8R1ZKNnkoJg0KPiBWNkdLXw0KPiB6V04+a0xybShnaEgyZj91TlBDRj5URzRZZzJ9eH53 OXlHbTdQamBfMVNuRyEtDQo+IE5zMm12dyZabmMwS2lzeERYLWgkDQo+IHoqPUxfQSF7eTNeNTB+ YkxYcmw/alFIJnA5Xn5GPCF2OGxFZlBeRDM4P2claHFPaX5IbmdUXjJgIXM/ciVfV1oNCj4gV3UN Cj4gelo3T2dTJj48T1pwOV4+TFAoOVMrdSUtDQo+IGUkSk90Qz5qPkRoZjBqJHswRWBrUj9MNVlr NVdXc21gdStCS1ZpZmhzYA0KPiB6aWB+Y2R0aXxgLV9yLS0NCj4gNmZ5SDs8WnBed1JkYUhUYTt5 Wjc8XnEjdzt4N3s1ejlQS09vZzkkVFk1UU5NblI+JlhSDQo+IHo+YCZ+OSk+O3U8Nn5fQjNxYkZK UXhQKiF2NWduej08QStEYU1nYnRjd0lDVnNYTnF3KjxJOE5UWktyQy0NCj4gYyhUM2QNCj4genV5 fUw4ZktzaD8rWj5ON2ktSW99IW4wWUZFTzZfP1BsfnF9Q1BSVkRBQkwod25lfF5IUDI9ZHpnIzR9 a2xfUkJjDQo+IHpBJl5WdTAjQEZLV19KYEVZaDdHPUt1TUxgKHk2R0EtDQo+IFppTFQxeEx8YDk+ JXY2Q2hQcn57YjJERzd7cntCVnQ7eGoNCj4gelVYXk96YCFaTlJTaDctDQo+IH45ezUpJUt8ODdY cDBONnJ6RHxidnR3X0gkJWh6RGxfZ2k2cXFsRnVEMCU1c1g4Z0RPPA0KPiB6YCFtYW0/fVVVdWBT TD40SSZgP3Z0Ymg9dkJLc1FFPlhYXnpTa1Q7JXNeMXFAJnRZc0thOVQoPG8oZHReMUcNCj4gRE4x DQo+IHokdUM3OFBYemZFWmN7PjFVbzxFcStYMzFHRkB9T1N4XmNZXipYK29DVHRobk1GVURsTkde VzJQNzNlUQ0KPiA8cz1hNE8NCj4gem0oYndGWGZUZi1Rcl9wNXBQRTswV3pqO0BRRkd9ST1xMk9K YjtpUUF6LQ0KPiBCYld4QSlGbGFGdGx9M3F0KzF1UXNHWQ0KPiB6eSRoZFpRQWVtN0ctWWVzREwy OGtfR0c5bC0NCj4gclF4dGhyOVdNKl9laCtwRF8oeTZzamVZTksrWkRUKX1SRXNhRV5YDQo+IHpM a3FJbGF2e3kwX2gmPUJxbUNMcUxEJCVzJjBLeyt3YEsrNlUzSmpfMkUxYj93MjVKNFg1ZTxDYHUx N1VUaWUNCj4gNXoNCj4gejRxbDI8SXRgKDIreShRcWl0Tm1rcGwoPFZ0Q0dUUFI7YiZtP19IUzB7 NUZoaFpvMlYwKlJPSkJuRDhVczZYKiENCj4gXw0KPiB6QUpmYWVjeWt8bmBKQz9Nd041V3ZDdSpB UVVJSiNhYHVKUT1GRXltdWZfaFJ9b2gjSW8jZGxgWVVqclRKUThGDQo+ID9CDQo+IHpjTXRObTt5 QGdDcVBKTClma3c2RDk9bDhaQ35Ren4rJEJHdT9aWWFodU4mMCRPPiM1US0NCj4gYU51NDg1MVdt NVB4V18NCj4gejVyd154Uj55fGJGUUkyM2p3dER2Q0NoUllia3FxO0RkPilPeHFHKUc0e0hYPWdG MjJwY20hY3p5bT1wNFINCj4gUCYoLQ0KPiB6IXNwRlNFZU4rKTZUMiUyZlNJZyplfnlQbThxI2Jo aSYkOXwlSyFfRDlzQCZDa3c3eGl0JTgra3JAYSFrTg0KPiBBLT1EDQo+IHo0JXJmKktCOVB8TUQx Un1gdyladTgwJl42THglcjlvWUheM20hK2k7UysmaStYR1FpbXMqa193dzNkXmMNCj4gR1dDb04N Cj4gejAoMkEzNmFXWk4qUVgxUkBHcVBTMG1sR0czUTc+RjFRWWM0a0Z0ZTtodChvLQ0KPiAkQSNi YT5GQCEmZWV7cU1xSFNucw0KPiB6ZHB3N3RDcThyeWhuezJGanw+Zk13OyU4RWk+ODJzVClTJihA eSNFRmpOc31tJEAmMj9FdSpiK0UpMyRZIVRqDQo+IGBSDQo+IHpoQ0BzLXE2V243U3ByZipiSzxB dlotDQo+IH5hTUVuMjVKXjB7RzxlMENqMktCMkZPdU9ybU9GT1JoRGsybWs5dzNoYlMNCj4geih6 PWRmVGN9PmY8bj40XlU/ITt2UCl4NGNgbipYPF5DXkM/dmJ3NUxZU2d4OzdyXlktDQo+ID94OElX d3J4I0RvQyZkdg0KPiB6RWdNWjJOa3lQb2tkRmNyVnZeYmx0PkJ7MmtReE9tRTNMb0ZmUCY1cmoz O2RUcCtCRnQ9Z147JWstDQo+IGd9fGUycm0+DQo+IHpnUTQlN3lpVipUaE1UPEBHXkVEQiVJYX1T YCp2ZFo3Qkh4MVEtDQo+ICVSJDhnSzQ0Vm5IPVFzI1hYQ0dmX3dIaWw+cC0NCj4gejZGWGxPeUc/ aDVJc3MpZzlmaVNZRmdmc1EhI0NNN29Qb35GUkk5IWxiRHxWO0FeP2pEKSU7SGg3SUkxK3FxaWc3 DQo+IHpqcTF6ZVNtXnRkWHtZNigmVFZjI2R8VGpoNFdPMjEmIXxIdDJhTVF3dnJiMGN7QWJZV0BU fm84O2VjYlcNCj4gMDlLPFcNCj4gekxKPktta14/cXRQK09XJSo5blBiOHlHKiNPZnJ8XyVqdXVH UVdKeElZNnQzS0JUQnoqeGNWZDFpNnYoTEQNCj4gcjtHbA0KPiB6S1haNUxJV1EzU3Zldyl4LQ0K PiAmS2RVNnlabm8jTVhsTm1WJWJ7PW5RPSRfOCFVJFVkYkxrYGZ5UWF5Zjw2QkhOTTY3DQo+IHpM IStRek1PMFpjMkxPMGhPTHozdEEwcU4/TGBVUHgkWVM7VGRne1Mhclg9Oz8oVHFSITszdGApKVBu Oys2MG1XYw0KPiB6LQ0KPiBhM1hqX0N5ITBKVVFNYFU/ViExRE5mPzJQakZjVUhafXtPSG9nTz5h YmU1SChRXilNNj5LTilUaE1oUlBxDQo+IHQ9UA0KPiB6YEVTfmBOTUchQHl3R3JlK19ZX19VRnpE fmBCZ3JVPDNGXk9VNS10KzNOSjIqTyYtDQo+IH1FSl5TS1kzU3R2UmMxS1UmDQo+IHpxRG44R1Ny fEo3SF4qRmpPSHImOFJLJk9YTXN+O2NTYTN0T3R2YXAhalZeZC0NCj4gK1lXOFQ+QCVWanQlWSFQ KGFieU8NCj4gejg3bDJSdzYmMTtwSWM8MWZiSVZsY1h6UDtTSkQwXl8+ITVHNG40NX5oRGhRKU1u ZmE/aTUyb1NBJWIoVjIoVGFpDQo+IHohbklkPmxAJSYhYDJ1S2QqN3spVDdweS0NCj4gZW4rRzFB V25KZDgwI2t9UVJ4Q1MzTFhvbDJSKWVxVGpUT15SQzd4JioNCj4geiVqWnNrSXJmRGMpaF42OCtV QyRlVUEhWU9aNVRCQnZkeFpmQkpENCotY05pUzlpUHx9SiQ7XmFnRm8/P1h4VVprDQo+IHpjM1Zm UypGT0FfUmd9RVVtc303Pyo0fWo4alc9eGRkRGFUVjw8ZSg7MDFFIyE/TkReeSlHdl82eHZCNGdE VA0KPiBZSm8NCj4gekQrSGM4fENFOClOVVAzUXZ9SX5wTWY0UXclUlh5PDVSfn5FOGBQUGFPYWFX SmJ6YFBqLQ0KPiA7RFd6VmgxUSlmRj4/Uw0KPiB6ZlRiVlRTND0lQTdNIX1FRUgtbExme0l4MilD RlVzQ3RDSHNzfV9WK3I/ZVEqbGBqaVNvbkpISG1hWEBlLVM0fEgNCj4gekBwMEAkJjZFNXRFfXlY d00jUEFuMHJnc2RLbTZaTyV2JUwmZD5pfiZXdndRNkR8R2ExX2lnfiRWNQ0KPiAkSitQPFQhVw0K PiB6ODMyQV57QEdLYiU5KHkmY0JXcjNJYzg1KVhVMlomZUVjbHRXMGp0ZEMrNm5rT3F1MT9UZWhX VTl3azF4DQo+IGBvejhCDQo+IHpeeUVFRjVCK25He2llT3c5KSglPUUzN0skIWw0dGNSTFhlQWRv RTBjXzlqRHB1b0djKjl2b1M1aTNVOERzV2ENCj4gWigNCj4gek4jbk9xOF42eipPTDxZS0hpfT42 eEB2JSN0aj5qc2I5NypuaEJSLQ0KPiBjMCVUPSV0dF98MlJlS1N7KWI1SG1tJXtxTg0KPiB6e0tN enA/UXNXZDlVTkVaO3taJngrSjNxUmhsYlFSIzJ4JD9tV0wpOD53PF9DPlZ4T3tNV0N8a2BADQo+ IG9FMzd5YDxrDQo+IHpDakJkIzV6V1h4YSh9PnpebVdXKVh5QjJ8MnFfIyQmaGM1MTNZZVdUbjRN Q1hwdVdafG1jJXFYQA0KPiBVQytudSUwaWUNCj4gelA/X3QkPCFxSmFfOytQeD1XeUpDY2w8cmlf X1hpRV99ck5YP2Fhc0h2QGJPLSZae0JxVnx9KTdraVdDPklRfGEyDQo+IHpPP3RudUlyVWhXQXln MmdJfSprNlU/WF5EJjtpPj5KIXdUWSFnWXVAISE7T1p1S1U8X1AjU25xc0Q3IVAwbQ0KPiBsQEkN Cj4gemAhRjYwMlVpUihHNmB3Y0BxP0FzSlhyd0tlUTFaYXI0K3lpYGFZejxrK2UjLVkmMT1naWFe bnJqez1mNU5vX3ZPDQo+IHpnRi0NCj4gYFU2cylYelZQbXoyYXN5RmQwWkt1YDBATSpTTCErNExw bTxOKVd+VWJydmBPa1pGQTVFKlFMd1R+eGhSZg0KPiArDQo+IHpNLQ0KPiBtZW1qeFBOVEtWYTNk Mkh+bmdvbUBecmU2QWJSb3ZoeiFNUnd9dFlBfkB6V09IWCZKJDtrRkJ9M2NlDQo+ICZEKm9sDQo+ IHpAJVRJJUo8Vz0yLQ0KPiAqTjt8bkM8YmRHcSFYTUVBcThIPEdUI0wpJj5zRWg5ISFkTmdHPGpS aEA1ajl0bSNWM096YkENCj4genVYX0ZWRXIqTklOY15vY3chQWcwczRPTWJCa05neHk7S2phWj1G LQ0KPiBzZSF5cnlKVXFEaDRWVm9Le3lKeXkqVTh8QQ0KPiB6KStJdz1VXkByal8oKD9QT0FneU1V QG1nRCooK01XT2oxPitkUFlWPStINkIqd0xsbkJYOFlKJj5JWQ0KPiBrQlVOQWw1DQo+IHoyalRW eWYtDQo+IFBVP1BifE9aX35MMHFsZSZ7dmAwejhuKU1xUl4xNVRrZTFgKGJLU3BYJE5GVVc3JFp+ IURyR2VQPXsNCj4gej5jZHhVVWNPKk9VZUtPKEhnPSpGK0NNR2lrRC0NCj4gNUVzQV49KyVaI19g X3FScyZ0d2VodjFleH4zMlQwPHhlPFZVbQ0KPiB6I3B5ZXM2Ul9nalFPRkl6KyorP2hoUDZ4Zj9t b0BpK2BXNVIzMD5NKTtmTEdPQDkjRFljZkgme1hucjBxZQ0KPiBqPjlHDQo+IHo7a0hzRU0kdmkh V0spI09oSyF9dW8yNz9qTFJNayZkQiZ2NmZZWkdTVEc1QDU4cXlxcTZ6Zj5aUl9QNVUNCj4gV00t fXYNCj4gekRRaT87KFZIQk8oN0tBeVVZfWtISXokfX5pbDNCKSllYz92emFLeERlb1FaKWdMbWlZ ckwqKzFCU3YzIWRpZSFSDQo+IHpQRVJqbz5HZE5oN1BwcmcocD11fV5tNHlZTXp1NE9ENnNUbVB8 Q0NQeCpuaVZKTkcmJHtzS1l2cHBkMjQNCj4gPHo1c1QNCj4gelFsbnNIXmBNTDV1VFZSJUxBODRo I1JBaHByS2p4QDtvfGJeVCNlO0UyVExwO2l8RWUtDQo+ICZARkM5R15FREQlSVpXSA0KPiB6JVRp endDNX44Q0FvJGJ6KHF3Jik3M3EtDQo+IH1RSktWdTArXzt4P25jVjJTcnk0cEZESEk0bE9ualoz QVMpPSpzM3FYDQo+IHpjSnp3M3tEMkkkeW9SeGI8Pk89dndydHskYG0qP2dLQk1gSVhlMGcqRjI8 V25DfS0NCj4gSFhMYUViPGIrJTt9SiltMlINCj4genpnQ0hja199a1FeO0JiQGtETiQlUCYpISlX TUVwQGNPTTx1QiRqJDNxPXFqVT5CUGI+OEIkaWdnNHlrDQo+ICszQVY4QQ0KPiB6YHwhXmsyVXpO WD5XRmdzPUJ1dChBVzN1c3BvO1hiayhpeERBJSlkd2RjTDM8bXsjOCN7TXRjd2dnZ2pMVQ0KPiBe azxjDQo+IHpLcDBsanU0bFZHWXkrMmlYKj4lTUAjYkQ1ZElIRUoqfWVGIy0NCj4gVXsyMThIUDl3 b0UwbXdJfmg/e05XbnFpOFdtSUsNCj4geiYxPEJzMks3ZndicjFfKkE+UTFkamgoP2glbjhKSVJT TDByJXk+bjMtDQo+IDlJZyk/KVJoMXVuYSZEPX0qRXVnbSNLYw0KPiB6SGMoeVBodTg+c1E1NU1E bFMxaEcjdlklOzg4ZFN1aHtCUlQ4Ui0NCj4gSVVQfXFoMjw2UmBtOXx1OXVVKyE+WnJsRG50DQo+ IHpefXw+ViMxK0VyaCh1dyREfnlMLW5ifVU2KiQkcHk7ST0zMGQoJkk2UkpCNS10eypBUkM7ajMx UlJRez1GZH5hPA0KPiB6K2dxYCtZZThuamlYK0BKeF81TVojd3dVREJVK3FaeSZxZFQqNVVYTy0N Cj4gQE8rY2Bjd1FzUThaQmYjPihNWFFiT0l3DQo+IHpLREtzbD5HQnRDO2E0ZlhVVz5tfnY/V35f OXJvZG0oZU93T2NhVShoYml9OTZjRlY+OFE3Nkk4V3Ezfl8NCj4gWClrdzQNCj4genpkaTlGeHhH aWJ4JGVxZV9keDIkZCF9ZkEqbWdfa29IfWpee1kmVkYjcFhJcjtYP0gqP0V5SChQYU5RTHBpMTQN Cj4gRA0KPiB6dDBCIzIwSXArfCpVMFh0SUticUpDKVZLakNBTzEmd31hIVZkPnJzZ0NhWjBqfDFK JjxzZDAjdHtTaE04KUxJQWANCj4gektaUVh7KEhCOTs3QG58cngkdU0kQWZMdElqUHl9PSUhMkh9 SXJiO1ZLbjVmWCVCX3NQTSlsTVVZPX5hM189YQ0KPiAjcA0KPiB6YFpNKShrIWAhJkN2JmUpPkBy TWdwRVUtDQo+IHl2Yk5vfSVzYl9kU21yKWg8fXZzZ1pvPlo4NGpHWVQycmB+P3JTc009DQo+IHpM OzJJe2teQDRGU0xoc24rSlVEKG8lNnVlNFF+cXtheTEtDQo+IHk9c2BRKVNfVGJNaVckTlZCUWpj QFUqbE1Ld3RxfkcNCj4gekNsenMyWGREandTaHMhZUJFcSh2eDk0ZyZAVy0NCj4gUlM9WUxGcGVo c0k2Q3E2NUV5eWA4cz5MPGxSbU9uN0srKnorVQ0KPiB6dDRVUVdGI3JBZF5yZkV5QU1kR0lhRnJX KD9Tb2otLQ0KPiBPXndFe1BONl5FXz9INnt0PW1uQSt6X2UlKT9za3pCdXlgDQo+IHo0b3s3Rzhl OHR9OU1PPHdDJXtjc1ImUVY8NU9ZSyNhcHx4NzVRRDZlWSFoTThnQDJkMEFRM1kqaSQjDQo+IE91 Z1M8ZHwNCj4gek0kO1N6QGhqUjhKQlo8ZilUcHopaCY3fX0lKnlJJkZYOXApPUJoTloma0Y3MUc8 eEtXV3RmY247IX08TCVHDQo+IEd+RA0KPiB6U0xoeVNHVCgmTEJHN3hTJnxXfGZVdn1tcnFwYlM5 RTJkYGVzZTl1N2FgblA3NzUqSSspYUB7UkFofVVVKWANCj4gVG50DQo+IHpBdF9HcSUtX2ljVXhS dWFrUHVfUSZHVyNgQXNseTtGMiM1VlQkMmtvLQ0KPiB2ZGBoeGNkSUVga24oZk9UITdaSDBrMF4N Cj4gekpvWWFiJX0zeSZjZG5TYXlzeVh6ZWpSWmVfIXw5QlZnZ3poUlFGbWxlV3pfciMkZGRBUXNN dyRPOE81Rw0KPiBIQ0N3LQ0KPiB6VTU+KEc9dVpFITVjamFiN1FJckdgUjk2dEkjX1hSYXUxKn1S U24oSmdRajNvSnh5KTtjeUxufG5uRUtUYihPU2wNCj4gelkzQUZ4Kzh7THF7QjtpTWl2O3k2Pz5W VD8hNk1vIWMrJVF3ZVNqVm5mc1gyKHIrcSpRVnNPYSg5a1Q+TXJVSw0KPiBQMA0KPiB6IXZYV2Fm YzRZaXhJckpPMktCXklsSG1xfG84ZCRGRSRtfGghaz5oUHF2QzQxUm9AZjs2QmE9NThpPkd9PCRL Yw0KPiBWDQo+IHp3VD8oVCp0WjUzRmRtO0VRTWRRUkJqam13UGFjWEk4XnVoN0l7ZXpMQk5Bd0tq ZkU/JkE8XzU7cXEqPXtHIQ0KPiA8QDcNCj4gemNBPHpwblRoeCUoRD5tITNMMTA8Sz5wK3Y3Kkw/ OEBiKDZEPHtIPXNrenl3IUpATXVxVzcrSVN1b19hdg0KPiB7cGRjTg0KPiB6S2xIa3lYdj5vPzU2 OVJZSSpmKnM0UVBvNE1PVlBsQCthcURKNlFrWlpoTGFoKmZpSk1ZJF5FN1p7VFgjTlYNCj4gWFA/ DQo+IHplK30waHolYSV+ckRoaW57fDlhUTt8flVtTjl1JEVxJlEkdmlZfiVHUm5vYiFzbnVpZGY7 PFU5Vl5QKkl2eQ0KPiB9VnQNCj4gejAkdjYkT1RmI3BTZHxKejRUTVJDJEpWeXJiWXNxMSFKbEcw UGZUeE4ySzB9YHBqTD5wPUA+MmImQGpxaG5lRQ0KPiA0RA0KPiB6XyNWSWRKPVZzc0w5JTxuT0B2 Qk5nMzh6blA5Qmp8MU1Rc1o5ZmwlSThqdDtvX21ya1d7U0RjMnFqeHJWKCFVDQo+IH5ZDQo+IHpF ZFJuRTtDaXE0Xkl3MVZlWilofTw9PFhvRz18az1JNTFkSEJxUUFIOT1gMDlNQEZuQD9pRWNtOGNQ Zn5TDQo+IGxOekgNCj4gekFIVWR4PXhCMUx6QmRVdT11MCsweE8oWSpjc0JGc0tlRTUtDQo+IGs3 IXFvMGxTWHomZ15vO3c8PGMwJXxBSGFlc2w2Ug0KPiB6KWUraXt3dmhqWDBsfiUqX0drWlZUbWlL aVZrSU0rIztTe09BSFVRa0NsP3JVdDVoKjk5PThEYzhiWElHeXRrDQo+IH50DQo+IHp1fWJSZ216 WCUoSmhKSURXZmUrRyo+V0Z2XzNaWD9XVVFXaExWQHdEaUl9cWJNaFAxUG9MfTlsO25aSg0KPiA3 KnwkY2gNCj4gejI3TD1TJk11SGY5MVJEI01iemo1VTJLJitlOzckakJgQEk5RCg3fE0rR3BfRFYz ajxEdWR0Zj5kb2ZqRnANCj4gPHduIw0KPiB6JFBSVEJFdmxkNSE7VmBwYEtRUDdUVVpnbSZgPnVa PkVzTH4lMGFQaXZ1P3UjKl9WdksjN1A2OHtTOWchOH44DQo+IEA5DQo+IHowWXB4UStSNGBQSGUo NVRUTm9gP2UqPDRCWHpJYzxxKEA+PClrVmVmZ007YkZyYFkjOE92Mz9AaS0NCj4gRil2e3VQSm8N Cj4genVmXkpjIWlzZSF5dyFvQ1M8QE1BZyNiP0ZhfH17NjhIPU9mT1MzOXdmUkZrUFc9PzxuIVJZ NypTUUdROUENCj4gNGRCWA0KPiB6Y3Z4Nzt3elZINFVLOzt+SWYlKDwoR3EmWEBmcXpISTNwSjVE MyVMb197QHA9Vz9BentlR0ByZGhNQ3w7bA0KPiAmKGklDQo+IHpsVyMzeThgTlAkMTI2JWZlV3NX UiVLUzg5bXc0KXxed3pPVFNTaFR3NF5lNjRoRW9CV3t1d0BPXw0KPiBYbXEmPFlxN3INCj4geml4 YXU1YDRsaV5PSUw5Kj5CbjVRJTg0IU1ZdDhKLVJsdUJZPU5iK2Jpa2NTek59XylRSXtJaCVCPkVT aFVZTHplDQo+IHpJZDBqfUQwcTZEZFBjMDJXZTE4b1IkTDcjNyElN193Sng5YXtRV15hbjdfSFc5 cjZqMlQmenhsPHdKNXczDQo+IENSdHMNCj4genQxSFBjellLdUR1VzB0T05CM1RjaXw1fUM4NG9i NFkhWXY2PWBXN0Ftb30oPiNkO2kqNUlUfSFpcjArZ3dxXn1UDQo+IHohY0tma1dqSV56I3s/VyZV cUpobUhKXm54ckxBazZ3d1F0TXY9dTslZl43d2tZM3VtKE5ufERhMjsrbQ0KPiBXVktnOykNCj4g ejZ4VjdqOXtLfFJrVXIlOUJjbiZSOFBJSkMjcVhSY3o0eUBQd2s3bGRfcD9oZTFKUWY9OWJVXntf NmtJZTckZA0KPiBjOQ0KPiB6Vn1QTn0rdDwpYmt9TCNsZHMqZ2VFTkVaVCRkMHUkPXcralZiNGdN Nk9lKVF2byspdGwrO3J+Vmo+Sng7aVEtPz0NCj4gelQ7eTNNY0g+dXJJYEUkOHNaQCVFJEA+ME9U UDE9QjVOKzU5IWdlSWE7eTE2N2lCNldKY0pzNHNDcUtXeG91DQo+IDl2Sw0KPiB6PWpXITRfKzBj QG8wNnstDQo+IHg5fUd8X1djZD1sfl54ZHxHR31UZSkwbW9wODk1QDN0dEB4cUFQJTkhVHd9MnVA NjV8DQo+IHpefWJ9UG4tPndFSEVTVDUqZWhfUD9fezZSLQ0KPiBYVmxUJjB3d3BhNCY5VyVQVFI4 MitLNFgrNDhadE9oeCh8dippYE0NCj4gekRkZmpETmhoJUIlPFFqYDtPOWYqaDVhVTUlJEFuezV7 OSlEVXI/dD0hfklKZDV8cCFuZGk/QyFvSHZaS2czZDY/DQo+IHpQK1U2Tnt0NTMla0deWmVidEo8 UiYpXmQtDQo+IDxaRTdnQTI8ekEpNENNY0A+QnI+UTNnTjV2eX1jOUBGd1NISTU+X0UNCj4genxK TCMwN2JxUWJed1NsOVNWMCVjP0N3P0VJNyF5cm40ODlWe05VelhQUDxMST97c0opRyUmNX5eX3xj ZkcwZQ0KPiBkTQ0KPiB6JWxHUFRUeFR4SVY1YGMxOz1TMCtAPmV9RFZndXFLTSZgXitCe2EtDQo+ IE5UOzYqRUU/JmIwaXVeMVpvKyp8VW1kZ21jDQo+IHpnQnJqMzJxeFh9cmJjVyliamlxISZJSHNL S3JhMEB6cERUPnlsMV90SitTZCsmRUw2ZkcmaUJEKihuQUBFeXZPaQ0KPiB6OUNjUVgkUkM7RGcp bGImT3pOcSNBJG93K05oNzBHMk8yQFlFaENBez4zb1c5ZFA3Nmd5T3xhTE5BIQ0KPiBOPXB8P3wz DQo+IHpialEtYExZTktjcU5ld0xTdnxZLQ0KPiBVajdnMVpHKD09QHdXemhTe1htJHBkNClwUSNq Jmc+bzt7PDl7aHp+YDIzS0INCj4gekBCe3dobHRLUHRfaV4/XiNaeyUpNm1UMUNGRyFhPyg3bUR1 eEp3USUzNSkhM1g4KFckMCZYJGFAUzsldGoNCj4gTylWTw0KPiB6Wn58dHNJdnB5KmpYLQ0KPiBF ZmF8eXR1dmJzX3thZiNBPjEoaU05P01APXQ5RjV+RTR2ellLOUZpSU5HSGtHbUxxbHBEDQo+IHp0 Z0pHSk1SWFZtSmM9JGYxPVRmVU1SVjlYITc0R2luXkBtWFUheG1LTlhINH5IWDAxJXZgN0Z1VlRH DQo+IEJ1JGRPPjsNCj4gei0NCj4gQHAjJGN0dVY0c01afDZ2cEVNWCNHa1Q8Mz9GaDFXNklibGg7 cFk0REByejloQF9fYVpwMVlaWTNFT0EtLQ0KPiBtQGoNCj4gemhXOypxbDBwam4xZzNKO1Z6VVpQ TGd2RVNjSlI3YVc+Mz4yNGopNDNpcHkoaz03RyZ3TVYrcjFrdmA7KmNgczRUDQo+IHpnNWY3X1Ml VUg+NzZKRzxQNEdxUTBXdmhMN05WZy0NCj4gNypAaU8/aGYhQygrNzduJWgwUUdAKHk+Qj8ySU5x Xk45SCoNCj4genp8M30xVC0NCj4gYTJxVWN0JiNaPExYNUY+WlBhd1Nfe2hzRkp4dXdqUTZzKjEy KCRobyltRGNRND19YzhOcnlkIWF5Yg0KPiB6NzhiY1MwVHxjWk0mJjRzX1lZNSVAZzYhVVBVWips RjtrJldqYVh2ODdNKCFRd0JIZE1KOCYhWWhnejQNCj4gNFYqbTA0DQo+IHpxT1FvUGJLQyNFYGJA MEdaa2J1Jl4lPE9pcFpFZ3Q8X2NLUDRlVmsxNntzQ35LdW89ZlhFJUpmbXI4YTANCj4gQyFXV2sN Cj4gejRYJVBBI2djNmI2ejZvNWg8dXBtN0dpUE9VVng4UHtFI1lidGtTM2dQfSRnLQ0KPiBYOzlC JWM/IX19M0V0UE1qSWkxfg0KPiB6THMlOD51ZTwrZEVGPkQkUHhLOX1GakRocEU9TjhwQEtFK1Zj LQ0KPiA5I3FxaU5YTURiUFZNbiglN2FWRClRbjlOc3tADQo+IHopbXpAXjtfYX43R21VTS0NCj4g bXB4Qm88YCE9QjlOOU96SmNzcnFacjc7S0o3fioqX1Vtd3cpTHk2eD09O1B6R19FQEUNCj4gemdF anpUKChFdDlzd0pAKHd8OGJ8ODx+OyVkT05QKyEzQUYkZ1omYWIqSEhuTjNMcUB6Y1Y2KWNQOXdX Zg0KPiBeMVImJA0KPiB6dUxVWkVNKS0NCj4gSUprbkZfMFhZNnVidnorX1YrKiZNNndyJDVQQkgq YE1nbGdeaHl+P2h9WWg4dkU2Vk1lJUNOfHBEDQo+IHpgMFc7PCs2TWV5WmRjPkFGMml5V0B5Pnh7 WUNXcitCVFZFalJrQ2R6WnZae04zMlZ0IUdDQEZEV30/aihhDQo+IEQ2OHgNCj4gekNnRklrK3Im N2E/MEpeaV87QFhDcXshSD8pa2RaQFNfeUtjIUFpMDd4WEYmPENpe2UmcSNyailEc0I9aFpXMA0K PiBNQA0KPiB6dk9SP0xgWExFXnQxUHUxQnM3fXNNX351RGghbVVMaV5hMlg1YnArYys3eWIoWWBC PjhBZSt5Snp9PWlMYUw9UA0KPiAmDQo+IHopMHNedHNkaFlhel4mMmVERzF2dSlqSXhlcWw2Xkl7 Y1ByfXhIWjNXRFVvalkxUnF8Y0E3NTxHaXF6al5SK3VNDQo+IFgNCj4geiFEY1EyU1NtJWIhc14w V2Z4dUltWGc8RClwR0MxVEFtV2JDdSl4PDtxe2hEd0dOaTs4OCFsNnE0fFp1VQ0KPiBfb0tocw0K PiB6VWFyPFJqMFIhNSlqdXMxZlE2e3tQcGRERCU1ejMlU2RsNilzdUdNRTMtDQo+ID9wK292ODE4 TlVGK0UhSnxuJHtfUXszDQo+IHpVbERPZ2o7RnR7fEY5JFVDUkEhNG08ND92aCUwUih4KTdwN3tN TiFRPmE1YipWeTFFPUx3Z1pWMVp7ZzhDNw0KPiB1S3UNCj4gejEtY2tDSitMVTRJMntjQF5GZEp7 SnxfI1hGMDJyZVZGYkludFR8PUxgaERFcCNvankoe0x4QGJNKTIqc3FhRkh0DQo+IHpaKSQjbG9p YXBZU2w+ejBnKHMmRntfRGcoe0kzWCNVfTFmeU81VnlpUnhmQlM7Mnc0Sjc8JmFKZHd1RTBER3M8 RA0KPiB6ezAxV3I7Tz5nNHg4OFNHU00wcF9qSH1sJWo4Ylh4VGZHbTNpSUt3c0o9bnpPd1hseGll UmM/JFV8YW1FNW9rDQo+IDJzDQo+IHopOVV2e1BuUDZ0UHwmRTA1aXdGJSpid3pTJHZOMjFNXlJ7 UmdFQzB+U3xQRkIpKSlQJV9iWDgyZUFxNT9IDQo+IGRxO2QNCj4genNPKUk7YmxzWmxvKWcoQ1Z6 WjZfa2k4MU5TcE96OzQqVWVXTm97fD89Xl44Vjc9TWdHZTlGPTIxV3F0bT9TDQo+IEtfUA0KPiB6 OGJtKng8V1FoIW1hakl7dVhWaC1WP1FMM1ZGWj40NnFnVko2e3V3PCFUezhaM0s1RXtHTGhHPy0N Cj4gYX1eXlY0IWpCDQo+IHpueWhHZ091V3hYTWBpMklTd2Fhc3FTd2VTTVZwLQ0KPiBPVlp7WG8j OCtmaiVZVHBHSGx5NUg4RkhuNHExMihrQjc/dykNCj4gem9neTBTTUQ7cU5zVGk9NFlDQTVkMlNJ dD40eXJAJXY0TFdjQGx9XnZYJDxwaUFYNihUWW9vMm0qcDVRRkINCj4gRH18KQ0KPiB6aDZlUXVN Pj4hIVAoUVkjZlRmNzk2PXQ1elRYNXZ7N3U3YnhTaXtQPl5IaTR+SEx3MH1gYF8rOVU+N2hOTytO DQo+IEtRDQo+IHo5bHgrUzdON0FIVmpJVCZrK3U5ckFibzBhM29jQHhSfFF4YCFXOV5BekVBezxZ P3UjSF5VZExQcCg7Tmw4Yg0KPiBtTCgNCj4gekktDQo+IH58JE40VChAd0hhY1FpP3k/MSMqXjVI bj11QyRTdzJkKFooMGVqYEFGSn50MjNOR3ZEX0IkSmBvOHJqM2JULQ0KPiB6MU9Qbk4yUW5KT0dE MDVwR1RJQ1hRNmQ/SmBhdkQxLQ0KPiBkSWdlcnFXYiZTaTEzeyVkdGg/QWBsZkNCMFVBSkN1REVN DQo+IHpUYTFzeWp9JTc3dGVwOzs7I356WDxZamJJWXIlK2J5bmhucSZEQHg0czZiOGdIVXZrWSF7 QTchLT0/Q2ZYUzloZQ0KPiB6OWA7MnFoOW5lM0ZVLVNvSHRyUWNVOTNFWUpqQm0wVkZ6c1RmSGMw UERwfGkqbDtUMTBiTkVEK3Rka0oqY1d+WkkNCj4gem9GKEtpXlB1enZtbEJCZj9zdUgpe200K0Ak UkhDQmo7PnN4YThfWEJFQmxYMTJwVCYkUHokKEsyMSRkd3E1DQo+IEBWNQ0KPiB6YlFBRnItDQo+ IDw3UXtTJXZ8ZlJgMCltajgpRmRCQioxemZZQzRKNGR8aWwrU00jVTtEcH4rMnx1VG10aSZnQmZ5 PzxUDQo+IHpTPFlZYThJUiE7dEMrUj8yMkRyezx+bkpBdlYxdmpBU1BiSTYyPnQ9bEJTJTJeM3Zv Uy1oJG9gKkwqKjFMS3FlZw0KPiB6TUZDTmpEQjcydGdgS01YTm9rP1U3a3NnTkU/NUg8eDxCNE53 bjY8SURoUXFgM3JiaTNOeUI4e3BQRX0qOA0KPiBDR3EmDQo+IHo1VnNuR0ZCVl5rVnlGQDFFfjRs bXIpWW5DWWJFbDNqIyZAKilSUXshXlhjbj5KcEZWYEI8UzEkbk19dihyVg0KPiBIVEwNCj4gemlm JWQ9N2w+T1koY2U3WE0ycWR7S1p2Vnd7fmE1KzZrPksySiVROE9DMi0NCj4geDM4UWlDNUBFbk19 R2xTPThBSFdIZw0KPiB6S3FwUjh6ZVlxKyVRTDNDM3Y3MHh3bHR5TUp0Jmt5WishYFo5c0RVUkda dmYyRDh+fE5iZVlJJWxkUTwwYnwNCj4gcX1YDQo+IHo8Z2I4YSEoaUwmJSlpS1pGdmdTJSpTWT00 PDUmSTs5UzJEPD9NNSU0XjdRIzlAN2dAOyFeUUZTeHVedmc2aQ0KPiA9U1kNCj4gekZKIyt+bDsl PDc9LQ0KPiBaYChebGpnOTt2TFlpbW1AKENvYEJzNFRDUUNERlhkUlZTKTU7NzBfRz10aj5eQENN MEYzZg0KPiB6Tjh8PT9hXnFqJktHaGVuNUh0WHtrJDhUKDxNOFE+ZHB5emxGZyNqVmxrfjVPc28/ TzQ+Z2hDSHY2RDM/Vg0KPiBBRCNWDQo+IHpCSChIdW9wVExBWX0+SEZEaWBCJHV3YmZhYnJeP2t4 WSVDZkBSfj1vYGVpfDgkRj1mfEx4fnMlRGwxLQ0KPiBDPHpnS28NCj4gekRyWCUrWUZoQ3oqNVNk TkohZmhsb3JWRVNZRkxPdXVZRzhncjM+dFg3OGJLJnhKVWJjVUh0SyFlZHJyQHRiSg0KPiBIMA0K PiB6NVZpdEZfbiV9ZXYzWCRRe1duWHk9akIqQTVIe0RMeEB9bnMpY0kxZyh6WlA/XzUlKDE3R3Mz Qlg+fWMqRjR1DQo+IERtDQo+IHpTWlcxSlgjdGA/a3k2SlJgSiZmaUpTSz1DIVRCbG0kOF92d0ZZ PSNFJXtQMzVFc0dAKGNFPlZkKFRudzNGWiR6DQo+IE0NCj4geiRXS0o3TihjNUtwYzxpVUUpYXVQ PlAyeWR3Km1FMyMpJTFtezN1TEBJNSNpQ3BBXj5AeEBLb0ZuUFoNCj4gTVluV0ptbw0KPiB6IURN dSFPUElkI2dIV1clbFM3KFlTcklMNnpxWXZqMX48fEFSeS0pP2k5NEAtQHJOcG09eS0NCj4gRkFa dUIleXFtTyRWDQo+IHolYDlZUVQpNTJQVlBPb2I4OzZIdClPa2BBRUtaKmBWJDtIPF9nejVKT2Bv KV42QHQxXjdLPThzKUgtDQo+IE44OXNmZEsNCj4gelNFOWE1bkYrRm0kVz5LZWdTdCFYSFdvTCVU cD50OGBBcT1Lb0NWemo4eEMxVE8zK2Vxe3FsZT0xYHE7cTFCDQo+IDEqcg0KPiB6XnpnRnkzXkEr c098Pkd1WWs2NWN0TXBsWmQoODFiJkt3VTZIcGZmXzVGPWJZciEqLQ0KPiBTKzZvdUppaWtORGRw KWgjDQo+IHp3JEs4UjZuaFBuViY7MC1NRSRfRElpPmVrO1UxKEtMXlF5MyhsKC03eFlKWEZKTDxZ V2gjTDJyKWdHV31SSV93fQ0KPiB6c09RdDl3SzZme3M5N09LeWNlc0hCKHA8XjJ3billOH5jb1ch cSlkcml9WWRPcFllJF8jWFNUNkJ4WD1mbihCDQo+IEx9DQo+IHopJVdyRTM8d1lHY35BT0hqeCYw SmhkcDYxZCRDNmtWaUFVJj5CfiY5TzZYPj0hZyRsdkV3QT5wZGBWdQ0KPiAqc0xMM3QNCj4gekkz e1MxKGJwZ3dXYzBPeyhidnBIK0ZRfT5VOHZpOCtTQV45bUBHTDtOc0QkKTk1KUQwV3tWJCRqRWBD TGdPDQo+IEpQTg0KPiB6cGM0bSlWYkk9PW5jNUFDXmRAY1M5KkBEYT9TSDlsWWl1KU11VjErc0Bp K3lOR3Y2KndLYCRvaW91Vk80DQo+IEh0JFQtDQo+IHpGTCgoU2lKcWk+XnAyeWpGc29mKXZqTWZH M0gydjwoZFo/ZGc0PzBSOzFuU0ZQN0R5KWcoYmA+NjBuNT5pX0MqdQ0KPiB6NUNVVGtGQGgha3VH bDBqYFhvUlR0JVE+XkVpYForVHNiNmFfYWk4WUlhSXtoO3JxeGloTCp9LXZyN0t+ZyNXbigNCj4g enFUY18/VFNxIUopM043azJIRXJESnVsK2ZkK0wmV2pgOE1wJkFBX1ZJT28lems+Z0d3V0lzdFFk RTN6KzsNCj4gRzdGPQ0KPiB6ekNnfmczSDNCcTN6fkJ7N2NIPnl7LQ0KPiBCeTZScVZDbG0qRU53 Nnk+PVJVYDgoZzZ7aitZQXlrS0NIOCFMeFZiPyNkDQo+IHpFMX4lVCk/dUpsaUFSemo2TFI+cTth R240XyY+JH0kc15pYng3WDxRQSokWWh4PSZyTCFNNj9OPiooPXk5RmY2YA0KPiB6KWEmN31jPlJ6 ZnhHanp9Rkh4VDltKjxEJUZIKiU+RG8pPWkjeUMoQXlPUFNSbWAxWEpPUiluM0BpWSE1ezENCj4g KntwDQo+IHo4cCtSNFpxMHE4SldqeGImd0FFeD5IKGI0VnNEJmFtbHwlQVVneXIlSl9Dfj5EYkBi UXJYc0hnR3JgPA0KPiB8Q2k5b0ENCj4genVWM0o0SH5rdVAza3xmb09iajtEdHozSU0hUERedkZs OVlAI34pWGZJdTdIcGtpT19fRDBMWCVnNkszJUhCDQo+IFUpbA0KPiB6Xm42YFhMQGc9M0deOyhX cE9WKmx4aCRPREAmeXgyJmxBcFpicF83QjBPSTc2SkgpVCU4Rkw4KyhyNyU5dg0KPiBXUUowDQo+ IHpJTkVaKSZqOXcxRzt9M2hKOEtxdzxzM2JodVB1dEBhKWE0RSghPWp4OyRYITFfSCU4Z1lyMkBe Tj15Y3tOJmcNCj4gUzYNCj4gemwhKmduMXJuQHshfEEtDQo+IFdBQ1RJJSVhJXY3I1lOP1NVSzlS fDk8WkVfX3kwKXckYEt5UXwxUjt9e3tpS094QXJFZg0KPiB6WkJ1VEtRdFVTSCVpfVlGIVF3TTVf bHhPVj1ventqfEh+XkY8WkB8ellaYUhnVSQpMEF0WGZ8dTM9JUo0IXoNCj4gWVhEDQo+IHo+UHY/ aVglSn5DakZtOTNMOG1SQ0p0X19ySFo+dERic0ZLbDkpeTN4T3ZwKGg1UV9JdjlXSiVxNUZLP1gz P3sNCj4gaCENCj4gekxYcHdDbkZITC0NCj4gTThtUzFgVDRiQ3Zfa194UUtuST5AU3RlVEwmMmY8 SnU1YUZ0dng2PFRrZiZGRj9lUjtiN0VPeA0KPiB6VmJHZF81ezdFRkpnclNYd3phfSViKk4lVVVm c0FtJEUhbHxsWU48VSFLalk5R1czVFgwKkFmcWpXZVFmDQo+IHUzZ0tHDQo+IHpodGhPR3w2KWw2 Zmc0KT8/bUpmaFp0cHBje2BKQF45V2lxNCkkY3cxb2QxNzMxMCNXQDNzbjE/akBrbEtUd3QNCj4g PioNCj4gejtNbEE4eztWcnU/O0RRdHIhNWEoZz1+MSRAfUU0WVpHUzx9LTh7OU56ZFZIWEpCbD0k KyhLSTFnKWZiZVRWQj1vDQo+IHpqO0hadSs4TlB9USt1Wj92NDxgajRxNzlgYCtkPCU4RjdDUW4o eU1nMHhDVyFARj4yJmREXmJiWWE3UklFaQ0KPiBEXjcNCj4gejlsOXskYyZLY1VrLQ0KPiBKWks8 K3o1fWMyS212VGd4QERzQkN6UXlvTzlecl9acyt7ZSRHO1F7b1hYPjFQc2JBNW1uQA0KPiB6Q2t1 VVVSelExYkVfSEslI01ZWk9tJTFHO2M/eUl9RWJ3c1lWa21qWD5LO0sxRG1VZEIhQy0NCj4gYEw1 ST02IUchMUY9DQo+IHo5Y1JzblotbSM8Zkk5cihidnszJlNja3xwfEEzN3ZOLQ0KPiBPfnBGaEVM MHZjNDJPdHFpXj5OOCR4diM2cDI3M2B5Km0NCj4genkldlFrbFdlWGByYHV8ZDBFZ2NkSjI0Nkom U3lLYGN9SCN9KzFfc2Q4O213WXglUC0NCj4geGwkRyFFT3dnZjJuR0xwZA0KPiB6YksqQzVWZ0tz U3FCWGk/diNLK2Bicl8hQiNCTm5sQFg8RXVQR2AwJVFFXndEVko7bmd0ZiVub2QwdFE5PmkNCj4g ez9CDQo+IHo0KzQ3RjN6UylDKShuRVVKYFpBKzg1amd7YVVNamEqO1I1WkRIVURfSjZBbC0wMT5W XkVQOERkPmRzKGUzPWZgVA0KPiB6d2xJPzsqeiNgenZRTGozQDxoc1YoZSQkKm83bT9uaEBRJXJT Z3hjbmlYWl8/aWVnd3U9MVE8Qk91TFQqNw0KPiBXa20kDQo+IHotaEg2YVl2O1NnSERPWXU4Mkgj aihnQHM9OFBXKEpVMU00YzkxJWQkRXh8OWtDNDBrT0heZmtyJi0NCj4gSjw/bFRiTyUNCj4genJ6 RHheTHBPYWQ0cShkcDlmciFETHZZKUFjWkJ3VjdlYmEzczBSSXIjZG9KPmtGMERecFk+MSZHOURE X05DDQo+IDxicQ0KPiB6ZkI8SjM0bzJzM0g0TD4lJl5mTmdCPSZKRG9nfD40bGVEK2ReIU9JWTl+ cHU9R1Q9Y3g4bFJ2KjJeJUJgS3kNCj4gUUl1DQo+IHpWUzZlbTtjSXchdjR4filERzI/blB7YEVA YVFQaWJhfCh5U3s7eGhiK3J4fl5uWnlLRW85a2UwVCR0WXFqMih9JA0KPiB6ODc2MWtKPisxVEYk an18c0Qjfl5ed0lQLSplbmdeU1ZCZkpDKHxBYGpQRzxXXz9OdmpJK0E9ajI0O3t0VFArVloNCj4g ekAkM1JATmdSOF5BPG1aay1RcWdxQy0NCj4gfTRRdytNZlpoSD49RWx0S0ZDYz1sY05pekpvI3Yo Yn5HeXpOPFhVPz1uSQ0KPiB6X0VWLVBeREApOHZ3e3VjVy0NCj4gTGQ/bzkmcCZGemlkUWomWEdM bW44PThXKmBFck0hb1ZNOXh1UUpIbEx5KlU9dTFXDQo+IHo+K213NkJYYntBK3RuWD1SaHZ+cHJ3 JDJsU1hPMUQ3cnwpOS0NCj4gfGBfTHE/alJPJmd+M2JaMnkqaTlpNGxZY1hMaHYNCj4genh8NVhw Z0JWPF5rXkh5cEMtDQo+IE1gbzk+bVo4IVRMVTBEeENVPmhmYEl5PipHQzNiSlpVYG9OfEg5SUBD N1ZnIT1VeA0KPiB6VmhTXyZTQHRUYTBJN2VBel9HS0RsJEc7cWhTckRDRHcjYndCXlZwUz9RJmFJ PD90TVQ9Q18wUkcpZ3kNCj4gcEppOTlMDQo+IHo9RExXXl5ReTd9PTRsdmxqMU9qQ0NHRGV2NjJl LQ0KPiAqUipgJWQjRWoyfkI4OUZmX0NAVjhndzxVYWF1V01zbnE/M0MNCj4geldSQ1ZoUyVAe0xw R2xjTl5JMUhoQ29UcTh6MiFZZXVxVCUtDQo+IEtOb3BzblRpYjN2amg9Sk4/M3gmNHBAPjRhNT9q MQ0KPiB6PjNANFhrO3NRbXp9Qz5KIW1Ke24zVGUpelR3dzRnbDlQQmMwPyRtflBwcCgrS2BOWj5R aDREOTV1REptWQ0KPiAlK3VmDQo+IHo4M1B2a3ombHtOSkE/ZzdDXjc5PG9ecCZ8MzUrWiNpcm9R TS0tDQo+ICs2TVJTKz90NUo1NVk1S318MWtPWXk2WHxrTDkNCj4geiRhRlV5T3k1cjgqKmJKVWp1 QnUyNDR6eitGNW17dEE4ckphQmtsY2I+SHkpdUFQR3FgdVNnRXs4KUExIV8+S0cNCj4gdw0KPiB6 RnllcTFBTzt6VmRHSGhSU0dBdXdweDQoUGU+QSp5Nj10I0hwWWh1RHFAK0Q1X1Z7TypwS0F0PD1r Zg0KPiBITkUzRDJBDQo+IHpJOTdwVVdQV31DQUopLQ0KPiBpRXRyZTAqRDMzbiQqTEVNJTFQdWtV MH0xOV5PSEBlR2t6PFQobUhhWFJgdW8kYT5RPjMNCj4gelZRb2UtS25vaU1YT2pMKGFXZjhCP2dw YmVYN2R+dkY4MUkrPDV3I3BLMlVQTXdgWC0NCj4gMXlfX3ozSWlpUHlFdURtdw0KPiB6Pj9OKFpt bzNUQG1nNDNHQWBTTGQxYHQ/dFNOVlh9MHxoK0V4bkp7blRmckBCYn1KQFlTSjYhUDVNOTw0dw0K PiAmRVp4DQo+IHozVUhuOzdjOCpOcE9OT05OR0wkQyYwVVM9SSNHRHE/NWI8elFNMjVKN1M2Z2JB TSpsQzVkaG1Ocl5pDQo+IDc+a1ZARzsNCj4gek5ZMHJFZ3RCUm9vSy1WT156UFFyXzh3MDtJc1Nn VXIpJlowbDg+SXptLQ0KPiBzTzNtXzdRX3VuPUBjfExjNDZNanVhIw0KPiB6KVRqP1NKKWBkZW5A Y2g5ZGkyTjNHTXE9KEpQQnBzTmZ5XzhJcGZYd1RGajw8NVNeWm4yd09maUQoT1khMCY3DQo+IEhV DQo+IHpMVCZoc1B6T1lPb3JtWHVIaEtPUUoqdkAmV19TPi0NCj4gbXhtQnQlaUtkbW0wbTxIdXR2 bHQpUml0R1lDQyVgMEFoPXoNCj4gekNvWG9GYGMmTmYyKG83cHJeaWhUUGs3OTJ0KkQ7K14kSH5D VmhvZFdTMyFkRU5fe0JCZXVySl5sVHY/dFN1NF8NCj4gcw0KPiB6ayY1MD1vdj5eTHFBWFJpMFcl SnRnfFJYNmQ0Z2x+TkBheWJlVmV7bFdUZ35LTGFTazdiJEI5aUhjWjRDNA0KPiBOQjNQDQo+IHpT eU1mJDFgUUA+KTxBfEZqWGFSfF9eeSo1ITFXfT4xOX1HTWVmT3ZkeGFSakhwbj47PzVHbkYycTI+ SSVzDQo+IFIoSDINCj4gejctDQo+IDs+Kjw2bEFwSjglRnFFbmhKNDEzOytwMlJNbGJCJm5UMk5r KHJQP3Z4V2VGajEpVld9NFdpa3dEVjRAPlQNCj4gREwNCj4gemFLYmI3OUxtQj0mTUpTUTdmRFNj bTMxdjFoKGFydnVNOTteRF8tDQo+IHs9MExRV3hRc2liV0lqZEx6TjIjcnNZZH02Tg0KPiB6RjZp YmdpNjFEOGptYGJxaDBKfUhCPEN6YV4mSys8MSNxMSgma0w8OVNTTUwxWE41MkBrVU52bityUXc4 YQ0KPiB7fGN2DQo+IHpFNj1yZjtGRGE3bmp2MHpAPEBJfEtXYFlNcE81RTErNGRHanZMV051cFFk Pk5XP0VoblJgeWhTMyUyNA0KPiBRPWRva1ENCj4gens2Z3IpcD8jb1clZWh6KyFzVkczPkkkfXU8 dXlIYWNibTU7ZFk7IXc7QE5LQU5DaDZQNmxYR2lwZnB5VD1FDQo+IDlPfA0KPiB6N0tXYzZmVVpO KE87I3NMZWEhaHVMd3E5NXYjazhHPHI1X245JHB3UjF7JSV6PSNJTkVgSkFeV25lJUtJDQo+IHlG cWh+DQo+IHo3aiZlNitQTWI7UTR1IWx5YiRVWDRfbXpiS158RSFMNj1PM2w0VDcjenZZT1hEJlk4 blgyOUZwY2NuRjNlZA0KPiBCOzINCj4gelNZc25QUTk4IXVuJHhpdW9fKnpkKF47SGwlTCQxWUwt DQo+IClLSmF8a0NfXjVIPztOJm1BWmZlWX4xd0VTdmp4OUJlMA0KPiB6YmNfPytQRzk5MUMlbHRz Z0tqMit2PDZedzlvajs7ayExR3FgP2NRTl9TT298ZEp6QFRkcHZlPHktDQo+IG5oZHAlIUlYDQo+ IHolelN6fT0yS2BXVWxnTyNua3xaaFM4VUdtJStXVmRfaEMkR0xhM1opKVgkTHVaRUdRVjJINVJA WDhfDQo+ICtRNVB6dCYNCj4genczKWcxO0JLO2hINjV8bDRERGotT15kNyFyaU1gdEwmI3FvWHF7 OEp2aUBsezdRLTRFQD5rMzIja2pVZzxGQ0FjDQo+IHpJdDMzYF40MD59WUF+LXQjbyZ2ZnJ5SkRB X21MTWtnSnhBYG9QRTNnPWBiTkQ1PmxQKm1kQmV7IU5XITE+Ki0NCj4gfFYNCj4gekZfUTlGQn1v RDlgb350ekVuY1U3dnkwZjBrdV89eXVDJGpkTlgrJCtEKWo0KVR9N3s0Zkk4SzBmYTMjcXY9Xm8z DQo+IHo3SDwhJC1AbjkzZ1JxKlUpWmdsdUY3cStlR1RvSD15UUs5LTZfSiV0ck1pSz8+KD9heD5E Uz0+ZitJVS0NCj4gbSNAUXQNCj4gekRCSG8oYnp5VXZTQ0hSMGlKaTJDaUc4YUMkNjxpKmttdHVn I2chOzkoTn1XYj5oMT5oXmhjITBDK2w2all6KEtxDQo+IHpqZDJ3fl5kYmZocThGR09Obm9CQEc2 aig+MyY8NStCYWU5YkhofHJScX08IUtnRjwyQkx4ei0NCj4gQzRqeUVxR20yZm0NCj4genF6dEZn SURXfnkrOHtmLSFidDl6dGdoWVpAaz9BX2JJT1N6aT57NElaV0RKUXthdjhYMl5qWHhvYWZleW80 LUsyDQo+IHpWe2RJeXFpWkotUWB4P1JoTihiJXVEYmVxeG83VFZlbkkjLTZUQGJvbSkmMHg3LQ0K PiB2UWhxOSR6YV4rTUY7TDNyJGsNCj4geiNeZGh1VnJwVUZKbyh2OXg7SXZOJmYqOEZSMlJtYll6 fXsmX05XPWBXMkNsMl9ycjkhZEMqUUJaTGclSzRpDQo+ICo+Mw0KPiB6JkJkJVVIbXtEckpOYkJ8 JE1aeiklfHFhQDtkTz4xO2czMTJZNT9CODdsJXNebVlnfjI1Z3hhREU5TFE/DQo+IE4tenQjDQo+ IHopQE93Umh4WFpkbm11cD9fc083e1ElQmBRPSpPNWJvYHNEI2YrejNyaD4jMHhLMF5ePTZZOD1w UVZBWQ0KPiBzNn59XlcNCj4gelU8NDFhITFValg3P0NVc1dxbjhxaGY+QzJGZyZ2YjFUNTQ5VDxq cz57Q29sY1ItDQo+ID9aQ3MpcW08U1FFZXwpVGB8ZA0KPiB6MG5mN1ElPmZAeTw2fmstN3g4ditp Tnk1PzU2MjdDP3k1JFJ7eS0NCj4gNnEhRT5AM1Y2RXpWaXtLaFcwOyQ8IXVvaXZ3DQo+IHpjV2Uo JmZhcGE0Z0F3JmU8fD9XVzZ0UHcqcCYlPVYtWipQWkg2SWojNThHZGpxQDlDRVAjeTRZPVItDQo+ IHxuRmFIUFkNCj4geipjfHNia3hoYXU4XkdJaCsldGE4TnlUPU8jVmlAYVY8cGY3cFVkJWRYTSFB OW5KMG52XyluQ0clbEpYNQ0KPiB2JFZRQA0KPiB6bDY3fWtgYTJYeVdib2pXUnAhYT9mT2FUMWpP b0tEeiFhQTNKIUYrQl9SbWRlanZ3XmxlSHV0MyhIQE9YYSQNCj4gOGQ3DQo+IHpEdVYqYHB5ZERD Nko3bFYrUXY8Q3QzdTBjdD0hSEtSUGxEQzJSYHEjaEp6UUc0fVlQendRNnJgNVBGZzdRZGcNCj4g P0cNCj4gemI1aXskazVLJnE2Nn0jYEpqWXExWDFiSSM4S3codDQhQmFpV1YyS1AyYlBJY0JONzZz PUhAZXtgazJVUFh1c1oNCj4gRw0KPiB6QGtzVGJKcHwwcENxTj5mP09QcElmQitYKjZDaElrLQ0K PiBYQDB0WStnWVo7SU50b2IrUE9VVnAqVXRPeDBzfXJYX141DQo+IHpsbWJzbCsoJmBtQ2p5VHsk WWQrM2MyNn5xe2R9dGsyUVdEVEs9JXgzYjRZRn5QMGNPREBAMjBxUEVrTFhTDQo+IG9vO20NCj4g ej5AQTl2N09gUigwVWBRX19NRyl2YnYrKTFmQGppU2ppO09WdGQrPW8yfWhBZUEtKXdkQCQ7WEVP d2UtDQo+IEpYOWpfQg0KPiB6Qm9jMUtVTEx9VUxvd3h2MTNFWWB2cDYzZkw0UWFRWF9LRHpPMCph Pyt9WXlWIX5jaTt2bnBnZUlyZWglX0JeDQo+IHFgDQo+IHpAX0xkd0FHKnY8Tl9UPEg0Rz08fGV8 RjdBZHNHbC0NCj4gJkNmcVdVYjhiUEZAYVd5U3dlNVlDfm5kV2smQVhDeWVHLVkNCj4gent6dGlK eDRtRjliSTlrWCRVJWk7Pl5OV1p0ZEdzRnUrMEFBXnRVO3B4cndYPyYzUUlLQ2h7Y05yc3ZXR3gm DQo+IHFtJQ0KPiB6e29iaiF1N3A8SXAyKFRHLQ0KPiBpYlJQNlpidDRQNDNKTEY+JndwKjJXa15F K0JVU2lGND05Mm9RWjBVUnd1QWFeaWN1DQo+IHpDVW5tSzNhPyNiJE4hdyRqKE9KcGtgI081ZX58 Sz1aR15pLURZTi0NCj4geD4mTUVENUxmTitlfHEjK3p5M21tanlMSCYNCj4gemN0Yi1CJFo/e1o8 cXtiRCY/OGNKVXtkRjZuI3QtDQo+IHZwaCg9bnBiS28pcHwmKWtoUHxSSUE/KjJwNktVVysjKCp7 YA0KPiB6SG1+YWJOKzwtc1ZRdUptUnBhNDhtOXU3JHAtKGU9NDF6QFp1LUU2VyMjd0FRT3NjLQ0K PiBXOHBySjYoTFkkVVBfSiF9DQo+IHp3MCooKF5NbHNvJDIqQDN2VU1+elBNc3h2QiVoUm0rVWhY aXE0VihNXmJiVUxgaSo2THsmUU9LWTZTDQo+IEd9Z1prVkANCj4gelVxRXlmPik8Z2g9amVmUFg4 VEVFSnc5WEolIUApKnB9aDtvdEEqfklzQDRrKlIjZ3dXPS0NCj4gfGljTkBmRlVOO35TdQ0KPiB6 OHl3Y0Eje3dtMno/bm9hRUFhem9ZJmtIQERvZ00qXzJBfiZCWWspcGkpUTR8Sl9MU29XST5ndHFR O0ANCj4gKGFxVklfDQo+IHpSTiMxc3NjTGVMaVZ2WGBiZi0NCj4gYXV1QjU0OEo4RDlYM1ltbTd1 dyN+Ukl5cH5tZF4ldztKUGIxM2pzQSlSYlowSjkNCj4gekRfbzNsdUBMQ09nRSUwMm01NX4xI1NZ bmpgTCN6TEF6TWNRczk8KVRTRVg1K2lzUzhiPkdgKy0NCj4gKUhTSH5KQV9+eQ0KPiB6S3BlZFJx aDFnQDBWaEhVX3JCRmEhcm0lfm1FbkcyP0EqMmJfTUYtDQo+IEExSzJ7eDBjaTxjKSN9QT9LQiV2 IV48cD1YDQo+IHpkfDBmMTw1Wm1zYnFFQn5BO0dySGgtYFRjWmN6fnNLaSZoei0NCj4gaCZmekJv XmllNTUle1IjTSZ7dClDY3prJnpGTiQNCj4gemMtJnsrJVE5S0dsWXBtfi0NCj4gSnFXQ2s3cVJ7 OCVmfXNlS2glYlgzZmJXYms5UGJKQFhoKHR5SFZ2dVg2TGFOa2Z7SQ0KPiB6ME1gZXcmd1NDNUco SURZKnhUVUtsXnklVnIpOT5PZVopanpTKjIwZGN1fUk0Mm1gSG5pe1k1KW0oWUp+dyF7eg0KPiBr DQo+IHpxamZ4QTFDNF9wb2V+X0RrUU5+aWFrPEk+Q213cUE+LXtEYGNGZS0NCj4gQWd+K31BV00w MDNhT1FqZXAhdDVoezJzOS0NCj4gejBXNGVCaWhjOEM+U1M7fXtEdHRfKE8jNitJXmZtUGRXX3Qw KU5mcmNAVyshb04xK1JTRjNRUHlEREMhUHRZDQo+IHBLZQ0KPiB6K0ZfWjIwKXxTI3E3c05aTlds OU52RkN5ZFBIQFZEJUxMcyUtDQo+IH5WVUZjajMoNzxzeHt0QkxJJkhrN354MkYjKCtDDQo+IHpk ZFo+VmNTREVyIz5pP09tTGZ+PmhwKipQNjlVRVU0THBHSG9sazc2LQ0KPiAmakhwQVA+SHVYTmM9 Jm1WK3pFUjdXIz4NCj4geit1PGtsZ0p1Uz5Ge3k5dHRrZ0ZeNTJ2KF5qVD4qYz8zaEtyRUB1cWde PXBBRCErckc2P049V0U1TVFtPjENCj4gdUBPYg0KPiB6Q3B6QiNtJVUhSTliQy0NCj4gYV5kRj5Z bj9yV15sfk1qS2lTbD0wZWBsSlVpV2Z9TFBHVzsrdHNKRXtlSEMoU3sqIW1HDQo+IHpBMDtRPFMt d2BgQnhPMy0NCj4gdmVnNEAxeStHfFR7eiQ0PVZUb3B1Y20kQW8+MilLdiZ2UzBUQHokNyskT3BR UGhSQygNCj4geiNyU0hMUSNhK2QlYCRpPjdCZFlHI2NHbShNYUgjfC1jN0QkeWtGOS0NCj4gJXx6 NHY8aDxRb3R0eWNQPE4/UXoyMzRkOQ0KPiB6LUluZnloeWZVJXdxNnx0b18ofWVjKHpTUTlnWmIk clpgaEhXVWh1WVExLQ0KPiBWaWtBNU0xb2NUaDlzRUE5PElsTCVUDQo+IHpDQU9uckFKTlo4QDhB bkdzdEs2O0JJZn11PVd4TmVuflcxRTRZbGp2UVB5NUxIOGpCWVd7Nnt4SWJIb2k/JA0KPiAkWVgN Cj4geiQ/WGlRezA8anVxajBZPHhYPHolK0VmJmd5bzcpZEthcWp5azU1bExnSkw2Z1pQUnNUblVF KUVRbUNYRCUyTjANCj4gag0KPiB6TnR7OzU3OXMjeyk0PDRDZzBFUEhNKHVxTT15b21MY3ZFRXM/ R2daPnNsLQ0KPiBCST5rIUBSTUBsdjt2eDBQJlROR0haDQo+IHo0fEwzfDsye2BiMDREfm8qalFs MnVFSF5MN2JveVpPd0N6cWxmfVljQHJSPjBkPDE3aUF6TXs9WV5IJFFWZT0NCj4gMWMNCj4gemI4 V0xaVV9hcCl5X305MDxkRGRhJXQ8QCpFNnNWa0FkODJAYTlhK05Xcnh0RmJjbztOcjFNTyk4e3Jk cg0KPiBSYGdWMA0KPiB6dkYoT0BIKl9TUGZrM2lLMlZWM2JVJCVHSnNlZzZydVlMTVV5aUB3UHNy cShoQT80YmhxdWx4OStjQ0J6UQ0KPiAlX09BDQo+IHpIfVI4aHRHMEQhQSsoOGs/eGBZSj5tfEpF P0VsJTJtI05kQ3JDcmF9ZypRdTROZ0tWbmg+WEhhYnxsVjQreA0KPiAkbHcNCj4gei0NCj4gVEA3 aysofmJqVmV1eXVZZnheYjxkZHFrRXx+WllzSkc7UGdTdCV+JUU3VUl0QSRYMFd9fW5obnxOXilk bTwNCj4gQGINCj4geihDVzdkSztEfmgrRGNKfGhyPCo2bWlPVnY2PCYkY2Q3JCZLeWJ2ZTBLc1N9 d3JyQEc4RDI7MT51cVl0QA0KPiBVQHtmMw0KPiB6K3ZLO2oqflk4WlN5aztfTXRlVkF2JEdSQlR7 dn5ka0dtV047Xih6IXR1fGdJK2c5Ti0NCj4gektOZT94Xzt9OT5HTHJDDQo+IHo2NUNfWU5qXjVA VyRKbVQ3TUpOUnlrPElFUVU0KUpZY1JiRVpTeDxRZWxMN0xPWVdxdjRDLQ0KPiB4UG9fdm5NZUB5 NyQNCj4gekMrV35IS3JufVU9eT5VdUdLaldveUdjVntyWWdPM3hiVF98Y30+QHE0am53MShWXm9Z bVhNYTUpdEtnDQo+IFVvKmk8Yw0KPiB6cVpVKk5uUkZ6Y0JQSUF9aXooaHUjYXs+djtOOCl3cFEx M2h4czZ8cFMjbHBha2t9SiF4ckw5UVkrQkUlIU49eQ0KPiB+DQo+IHpNe3UqaSN0JkM2bl95Um5B NmZkeURaJE1OLU53cFpPemlsOVVeMy0NCj4gSEVlO1VCMXl2aWJhTzRtXmFtKX11UXpSPDUNCj4g emRHKGdrUSpkaE81bnI7NkghUHR3bkp7bzItDQo+IF45PTEhQUpNdEVKNz5BQUs5d1oodG9MUSlg dUt+KTZzYzZ3Sjc4Xw0KPiB6cy0NCj4gTkNUcl5BbkRRQ2lqbVolU0IhbThkYExmXjF+Ql8+aF5+ ZEJoK2tAe1R1dE49Tks5Tm4jfXNWKSVNTUENCj4gSHFkRQ0KPiB6QDd8ZmF7bztETGJDLQ0KPiBa ZD5Ac3g9Znt2fmp4JHRgVSpvcz45VnwodU0kVitHVnM8RFEqPFM1THZBMDE3I2s+JjdpDQo+IHp7 T0ZjMjlPdDJFbiR4P20/NnB0V0wqfURDMFVzKztNNWQ2azslWTc9NWx8ekVsMWhJWVJxVmted2ho Mz11QA0KPiBkfmANCj4gejE0SF5eNk12UklARmdxN2l7T2pqU19jTWF0Sj5EITMjLQ0KPiApbFBB cT9XR3VYb0tqcWskI1M4cnhLOSomSF5oTD9AXg0KPiB6R1AkZF9XSH1nMzVPQElxZnIwRXprSXh+ RUEyfm1FRjVicTVeSEhQfFhpWS1WJX4mKTU5SDtnbXh+dXEtDQo+IFJoN1lkDQo+IHpSbyY0KCh3 NEstDQo+IGUxOWtJcnVRUEtYVFMzX3klWDI9RDg+OEZrQnYrNWcqNFlYNEt0SjRYb2YhXzk2KW9D Jk83Iz8NCj4geklUPSsxKD5qckxvbFp5LUF9YDZkZXFqaGQ8TFptYWdqe1VtPWo3bXtoQEw+fF95 YkpZcjx0LXttO3lvWiN9RDViDQo+IHpnOX5YKDQqNVY2bUUhfDgyN0EqeUZCMzVHO2BxPFUmUEc1 V3hIKCk5S1hQRlZ7dGMhWSFVPFM5Xnh7MTslVA0KPiBYNTwNCj4gelIoTEFaIz9FcHBlM25ufWRu KEEweDJUWXI9UU9fJWlKMD12K1czKmgoVE07Uzh0O01NVyNmPFcjcjMkMA0KPiA3dVBTOQ0KPiB6 Z1R3XmpZVUM+aGF8JEI7RlglMl5WfmxWbU07Tj1EPW91Qz89dmtVQ2cwfX1KbmQkP2kpeUJ7RyFJ Pz5ZdjUNCj4gN3d+DQo+IHozTzslb0RwKDJyMik/Ki0NCj4gX09xMHlscGtNY2NnMCZaRDIjZEFC P2tfYTslK3EzayFheXUhb0woPjU3WjdoZnxJbzwNCj4gem5ScCh6Z0Q9VGZnVVI9fXImMnQ9SGt7 KGlyQyt8Q3YlV01ibUUpVkYzOHRqemh7eEY/ZVY9b2lUOD9fSERTbw0KPiBiJA0KPiB6SHRiQj1S MnYoX1c8dlVnO2JAKWAlT2lZJUtBQmpDbEszV207QH5xWUJ8cWB4NWt8NFJmcEllaWh3I1JTDQo+ IEBoTzFHDQo+IHp0RmJmQ0lwYERfN2RfaSpWK0QlYE1Hb2w3IUN4MFZTLQ0KPiB0ZyplI0FYNlBZ Y2w5JW8rQkM5U1J1ZjZaX0wwKmtaejkNCj4gek9jM19qUWlKOXAxZCNlSGtGQElyend3VzZXUT1x cyt4WEx4bzVANUoxanQ7TzRDeG1WO3BTbTFneklxY3YNCj4gRG8mbg0KPiB6b3pKZW83cWshY2Y+ VmBSTGMtZnYrbWJmOHBDY0RJQnlYSDAjcm5qJkY7O0BHNmx1QjA/OSEjeF4jZ0FsI19Rb1MNCj4g eio5bnBsVVdPJFRPV0FOcm5pbkt8bTdRRmApUV97STcqZEtLVzJgcDlRY2NTUm53UWRRbzxGcmV7 YlRGew0KPiBPODJnVw0KPiB6Z3Z5QkIzMX5HWSE5RGsyO3lFejViYFBEMDlgSG9pNGNvK1BOfTQ1 QyQlSUorb0Febml7ZnlUN1pRIzEyXiRZMzENCj4genlUX0g8a2U4YERlJm9ebUYxKihJWSg7KGRV IWA3MHE1Xkk2QU1NdVhfTEhaKWxSZzNSbVIydz9vT1crajt0DQo+IFo3cA0KPiB6JHpOb3BYYkJj MntoODVMOH1IemRKYldlI1pPS2xyTTsofDBjRjN7S1RQbjNkbWw8NCM4SnRSTlU+eSRZTSQNCj4g UXtpDQo+IHpreXc+PGE+cGBMJjdaTXlyfXA5N3huU3VPNHdiR3o1aF5AUGVhWntgZWluNWVvQE1A LQ0KPiBPdTNUYExTJj9LI251fjgNCj4genAtDQo+IH5re2Q7dUY4VUVIMz5EfGthKTZuTVAyV0Q1 YjNeJjEme2xzMiVaNldAeEJKSFgmSVU7UzFDTUQxcGgqDQo+IHxyZCQNCj4geldZMS0NCj4gUGZt IUdDNntzSiE/SDZwfk0qSlFLcmBpYkl4T1VfRmN4K1QlX2UmWWBZJHRZVVchNWJSbH5KNjtncXxV ew0KPiB6cUZvKDkjSmhvdXd6V0hAIXVoIWhlb3hQbCpON1J4JUNZZ1J3b1IoPnhVckokczI1ZnJ6 QD5uMjVmUWQhMg0KPiAxS2gqDQo+IHppamB7eEU8Sj1QdnA0WllBQjsoSTs0JHNAciQ9RDkwbEBn S0khc3VzMl9kSU88e3N4XzUlX3wrNEE8PSRiUFZEaw0KPiB6LVl1YHM7b1ZSX09wOHtZJVcpQXNj fUorSCN1Q19nZHc2QiZaLV5qWmZRLQ0KPiB5SWZVPXomOHhWbysjZmp9R2cpQzVnDQo+IHooOSVS dG0mcX48aC0NCj4gOSlmMDh6NFNLMGVid1dvYDA3N0Y/JWA4YSNDZnhKTmFYXzxfcGtFWHZ3amI8 d2NgezVvVTwNCj4gempqbmt6bmFETXA4N2x+WHJwdG1hd2RhQDR1djw3eVRDZy0NCj4gIUtGRiFr eiFGX2x5VHt1JmRLS0BnaWBLPEF1P05OQA0KPiB6N2NDblItDQo+ICRkTlRlR3t6fEZBbnw1bEhT R2w3O3JSRmI4c3UhSFchfl8rJkZTQFVuKEBMRjRwaWFrWl9JbW4+cm4xDQo+IHo1ailMbFY9R3BJ dDtEO0dyMklfa3BMOWFwWD48eGx7bEZvTmBteXMjSCEoXkdrd2VNQVFyTWxCXnJYU1drezVlDQo+ ICsNCj4gekNVIWtDK0RaYEhDfX0/V1B1UU0mdmEhS1I1alQjP1dLcDlrVUlaSzFVWHg1KmtEb1Mj enlwdkZWZkJtDQo+IGVwYCs0fQ0KPiB6P3BKJmhMOG1AXmc0TT4wcUJoRH5RbSFHcnR0c0FJTmtK RG4yR1h9dmJBP3tnRGlfbnhOciQ0YUspI35xDQo+IEYpNXAjDQo+IHoxIWV9XnFuYXBrUFZLdDV4 NUtFQl5TMG5aOy0NCj4gU0BqTWxmKnpqSkY1PTV8Sz4maitRe1FDcWJOWFpRd3kkQH4lS2ANCj4g elJ5I01iUn1PSjJqRSh8aXJGfDJBVnw4ZU1IUyEhMXZxN35+MyZoNUhUeGwhQ2ZeYnUleCpqdFQm VnNpTFg+MkwNCj4gSA0KPiB6TU0kbUNNSXVtczxePSt+Wl4mazlSSm4kWTxIKnJxJVdwdn5kbXNH OWMzZ0VOQ0lTfk8oN2wwVlRPDQo+IEJGRldfNG1aDQo+IHpGSC0NCj4gV14jIXM8IXloIVd7d2o+ RmpBbllRYHpiS2hIMjxzR2xzZn1OYU9+WD0mOGs5N29RZDk2MVJ5JUxCOVVkYUcNCj4gejFPd2k/ dTJJRHwzSEJIITBmRzY3NGx4QHZKZWpqU0Q8WjNuPCZBZEpzcyY+UnpORGB1Ky0NCj4gV0pYSiV8 d1VBKy1JWA0KPiB6YnJuekMyODZ2UFR2akNtO2xzU290K0syKHZiaG0je3M8I1RWNDh3KiphPTRQ ek97K141VFY4e0dBRig0ZWV5DQo+ICQwDQo+IHpUQjsxeXNDMzhTT2NeVnxVd0IwP14xJEFPM1N+ Nk8lQ0BZb0duVGoyOE5hfmF4ITxsY1YpJEV1endQK1QNCj4gZXk3ZVQNCj4geiNDSGspNHh6alVm MlpSNUVjX1k4I1JiTHNVdHdga2FqXzUyWVNqUn44LQ0KPiBFNChkaz1we0BNcml3XjxNIT4zdiY9 Zg0KPiB6dEdAWllJJUUycEklQzxCYjtrQUl1UVQ0cF4kJjJiNSNKWiVfblBuNDhRO2Z1MWI+ZU1X LQ0KPiBoKT57OVhEQ2FFJmUpDQo+IHpaUXlfSVVtLTd4TSpILQ0KPiBnOz9jdX5nWEdifWBPYG1R PG1sMChNaDhaWkYzSDh5O05aKmxMPipAdDUpdSh+I2FTJCsNCj4gemVCVHV8XkdsTj5HZk09LQ0K PiBDJiFLQilmamt8QVJ6QT88U043KCg7RCl4RURVYXpYVWl9YUk8TF94I09mYyNJUVJ4QA0KPiB6 ciQ4ZktAUWFCNEtQfSkkR1VXZytUbyNedGVROEk1TksqK2cqPnlAMEFKaWM+aUxWaGktDQo+IFZE TkkyeTlNMmo3NW1mDQo+IHpzPV9nKSpydTNAK0ZYTGUzJUVGbzF4UjckY2V5YVNqdSl+bys8dVkl bHspPkNIPHEjPGBnaWomSUFHIVp0JVcNCj4gTj8NCj4gejVGQ0JfOSYjTCFERVllVk19UWh+Q2Rx XiZMMFlOU0tMYUFCb1g9eVZiUkpPQ0NGJlVzNDF4K1gmKmI7DQo+IFZQdTN6Uw0KPiB6VFY1ckdB Sil0UE98I3UhRE0jek1AX3M4ITVPMkFze3Z4TFZEYVU/Ni0NCj4gSnR6fjxMJj5kI2NNISVkbkZ6 YjxoR2pxDQo+IHp3IU1Bdyp5SzFuK1NHS1JgTWkhWiZWODI1YzQ4SUt5eDNPVEBOfnspd0lSKXdq NCg9Jj5FTCZENFElOA0KPiBzVypWK2ENCj4gektGSiVvZU4oKEBYQHtKPUxmNkomSC0tYWhxQzQh b151MEBHQFohWnRON0FnJDlmbi0NCj4gVTkhSTMmbUQ4UU5WUWZpdA0KPiB6TEQ/PSRCSyU8KCpX N2dEYilFcFMmQShoZWYhViZRNCo2Iz9SNSYodWFDem1oUyUmKThQYm5YVl4yOU8NCj4gYWBxVjw/ DQo+IHpLMXU3aEpFZUJ+bnc+KiNBY1dWSCktDQo+IFY1KmE8K2NYRzNEYHxgRD1Te1crSml4VjZ4 YXRIfnBjUHp3RkoyJUNRVkoNCj4gekhPKTVMUG0+dCZzPG5BemhmSnw/PTVzN0VubkRpRG8ldHxq Z3QwZDxFXn1iIWN3dzk8S3FWTDljRHlmaDVPLQ0KPiBWMA0KPiB6dGMrfTUtbnsqbT1vRWIzOH07 TSFmI31KWj5DVnk9c1lnMno5cWZfISFFdT1nOF8wTGk/SjcqeF9zRWxseEgmQDENCj4gemRYR2Vp ZE5OPEZaUmJPKT9QQWEyezxwS1lSKC0NCj4gcDgwb2MoV1hQVVl7VXZYJUNpdHtvanVZajRQe05N TTt0QTtlXg0KPiB6cW49YiY3anJ1QmMmaFp2U08+em81U2lPRy0NCj4gQ1lKV0ZRV1p8SnFvcj0h Vzk3RXIoamlMTUs7UURic09XJjh8VUxXDQo+IHplOXxBPGhgYDBfZjB3fDsmRzxAeEVXUFRaPEFM c1V1QHsraHUpIUdMaTVMI0lGWElQfUNiNVliPX4/bUdhDQo+IHVpREQNCj4gelJ9VHtTJGdZPUo4 Sz5VaWVlck57LTE8O3RlZm4pbUk0ZHVgVEpaS3dJMkghPWJ7VGI0KFMyIVQ0eGs0KDBNPjJlDQo+ IHpNOF5YblZnWlp2cWB4PV8+O3dsYSlINU9iWXEpdSE+TVZnJHAybT5sckVydDk7PzJ1TW44aHo5 al4rQCRGZw0KPiBVc0kNCj4gekhEczBkclRAWWpBcktEN0kwcHhmT1R1eEY/WXUtNylPZjJkMlo4 LQ0KPiBldSYpbTY2TH1LJjwkeG5SbWx1ZDxre0V+RQ0KPiB6NGAybjRacDsxPjdtXiFMMkR9QDFf QXM+P2EpVSZZJXc0JGUyLQ0KPiBCN1NvRl9+R3Q1THMjZFVLPCtGMGU8UTR6QFkrDQo+IHp2PXs9 T3t5Q2Z4SVVUJmtxfWJUdUd8bkVyYC0mRFdiRml0MV9SPFcxMHlYTTRiazNPM14/KC0NCj4gc18z UT5vVU4wb3ENCj4genVTWGk1PGdVOVViSTtaeGA2PFl7TkIpdUdVWmViOGwzaWRBJHJyZ0t6ZXBO NnQmMWVLcn5gaDNybi1heVhFKzN8DQo+IHphfG0zZzMwI0xic1Z0dmUwdU9vIXtRRmFSMVkodDRx aSU7SGNYe2RwZGtGbVlZS04hZzR1UlpmNytNIUs2YFENCj4gNXQNCj4gekJucmM3KCstPVBjJHxn Tik/enUyd2h4eFYyV3tHeS0NCj4gVjRmX3tBUHMlcEU/RiFwST1NKExWPHNkQFdhaDIybVNeWg0K PiB6VVBwNj55WTJKJWo9c3pUd1l3O0dGRX1pRUwwQS0NCj4gZEFzTntuWntGPEB5OD1Lc1c0UH5v Y2BPMjBqaFlRRDwrOHtIDQo+IHpfT1IlX0NtYV54UURrO3IyNUczRkpNYHolX1E7T0tQRHVTa15h UkB6cWRlJVokdyRBRkQpaU93YytrDQo+IDdSOGE8bSgNCj4gemVVSURkR3h3WHooSFB1MyQqdGY8 TDwmSXtidHt4TzFRVC0yPG18OWpFXz5FSTJWNkYtYWQwIXo8b0lsMVBjbj97DQo+IHptM30rPjEt RzJrbjBffWsyOENtVmslUytSZ1B0WWo2dSRYSyYlKzxiLQ0KPiB7SyREOEJfNmhIVThmSlZWJl9o ez5wS0UNCj4gejV4JHE+QDg5cnVKXm1pVkp0TkAkRD0yZz9eRG0wcnBGVWdfNDskfE89N29QbT8m bkNrOU9jYXFmUFolDQo+IExBcGgoaQ0KPiB6SnVnP0ZEbHl9OGorMVRxbmFGfERDP05qYmFEdHBm NGtrUnFXQVk/Jns5MkAtZHglN2kjTTNPWWZwdi0NCj4gbio1SnojDQo+IHoxeHpHUjB0LT8yRmRv JEdFXkRxM1I1LS0NCj4gKnZZIWhqZUFHTFFkflM/eHUzPlQ4bHk0UXNBMERpeCFEJSoqMWAmJHwN Cj4genR4ajQ5N0tDc0JWO1ZlTjE3Rl9UN3tZJlBzKiZeJEBYPlVRSWghc2BWYmNgVjRXQVBXTEto WTxWUlQhS1ANCj4gaFZqfg0KPiB6Pz5DPnBFfipFQW9KVlE+P052JTBjSnlOQkZ4dSE2N2dtP2JN en45R2hpP0B5OGt4XyM3P0F3SiEmPngNCj4gdjQhdzZsDQo+IHpCWFV7cks2an5yYXs9a0MhNypT YzMtDQo+IDdIIXchdzA4czdzT3h4O2tlMDJuUWR2cXN9aV5zMCRYN1J1cFBFVz8/QjwNCj4gekYq cV5oZGQ+T2NgbldqYyViSChSWVIjQEh2KnVQK0w+ZTJ5VllCT0piO2lRJT1aSGluRFFyKjl1SlNL VA0KPiBQN3QpUw0KPiB6dDdAI1BAemkrTCNNKUQ9QzR1PFNxZDRKamUkfEVYQlMpallYJj5BX0lk JFJ2c3EyNEhZS185WGVCPUx3amYNCj4gJmtTDQo+IHpISTgrdVV0SjQqTX1JX3ErPShCVmJxbGA8 d342OVcwbmQ5SW4pTXg7PXxpTj01TCs5cTEhPjVJXlZqWkZIJFJsDQo+IGMNCj4geitoKXkqPzI8 cnNOb2pVVG5mZH57M31iaEx6QFF0KyFWUiNRIzxtRVdAbXVGKnpkQVBpKXIjeV8mc0Y2JQ0KPiA7 OHZkeg0KPiB6UyNaQG4+dEpucj9PJHM1KVA3dT4mQXhIbk8/Wkt3YjxsZD4rSmFQYG1vVmZ+eChu c20/QXYoMUV0bXdLDQo+ICpEeFJiDQo+IHpjXnZ8PUE1UWNjQW9UYGR4d0ZkTzd8dXFrJUc3I3N4 ZFMoQl59OSF9JFBDc21BY1dSQis0UGtuSWZ2dGdJZikNCj4geT8NCj4genE8YENMK3dxcHcrJl5i TXcqMSluLQ0KPiBjeG0pXlZzbWQrfWllKXA/NWskeTk8QjtzfDQ4M1JPQjY7T0B1e3JzKHlGNA0K PiB6WDtfMX5eMkVGOXZnT2x9VTZ+bzc1I3VHWV9MPk13KXB3NCEwSjdJTjBVWCUlS291U2R5QmZQ Uk5UUkpjMQ0KPiA2JUVmDQo+IHp2KFg/VGZneWh3P35qIyFWTHxqdDZqUUVvMUlMc19HVDEwRGJJ Tm1GbGBDbX5NYkM2PnFQcURvMU17cEt7RSoNCj4gQSQNCj4genZVJGwoK1l6UzB0Qm1sODc3Vm87 a14lblZeKz5wYlgmSWNTZSgybUhrb0NEYT1wI3B+RFRfZmYpMU1lZF8NCj4gSyEwZA0KPiB6QkUw WUhoRSFyTlU+ZHdkNz5VdVQ2bVI0R21IMUBkMEtlLQ0KPiBoO291aT8kUUVPMHQ+I2lhWTc/d0Jt UmkwfEhERSNHDQo+IHp5b1Jma19gN15rRl9fQGZQQGhHQDtrdHRPQ0whN1NDRnpYJDZDVmQjSTBz c1ElQEspVTt5dl84endJajNeTA0KPiBJcW4NCj4gelFmLQ0KPiA4OClWQzZTQGNiSSQreHxYSlVB flE0czNQJWtiZG5gUlRHSVhTUmkqKGRRKkVyPTI+K3habTEzb0VXQT18fQ0KPiB6M3ZGOTdYNH1q I01gQil9X2E4fmBaN2BjWHpmJE4pX0NGfCtzcVlnKVdMK3c+YnM8bHV1Xz5FTTVDenR0IXEzZm4N Cj4gemF9fENgMnJJPT1WbUw8QTFARUVKVG8wZkg0ZkRkO0hnZHYjJn5qTHx5YmRIR2V0WGw2d1hh e05RdW17dG47Wg0KPiBwKw0KPiB6YU9ENCl8QmRgfXhVfkYoOElYVEM1cU5gLSVtb0d0a2E1bCM1 IXNFOT1LcHBeKnopUiFRcUlZMWU4JGF+NzZgSzwNCj4gekAyTVkqO15NQlE5UnNqQGlaTzNOdXRp ZTljYyM4dFV9YW0hJXh1e2NKNiEkU18/QWc0NCNTSHk5ezh1IV9YDQo+IGtqXg0KPiB6YzJ7YSlt Q15kR0lwRXZNKWdgPHwoMDhyUVIpMVp+dUdyekxRayFfUWRoMzt+Un5CNTNKTj8kcUUkS3EqZ0Fm DQo+IDFKDQo+IHorS0sxZUhZYE5WNTErR2t3d0JmcmhZaH5QZE95RXs0Z1RTQ0gpVj17XiNUTkZF dlpNWTBVRHB6Uk0tDQo+ICQhdzxHS2UNCj4gelZ+SWRXe1EjbiVEdy0NCj4gUTR5Wl5IeCVlbnJ+ dnJhZUIhfnpgbmZMWkl1M3R5PVh8QmpSQU04ZjtWZ0V7NSVHNDlOYQ0KPiB6YDM7MyQ7VEI5fDFN V1RoSmFZWHdLVlljQDs3OW56JFhOPmw9Ni0NCj4gPFQkUyE9dzRefW1yJipMS1hhT0c5ejhlRXRT DQo+IHp7RlExNERzdWBoIWBWKCRBPjM3fCgwVndIRHkrVk5yc0NWRG09X1c+dmNBISo7UlJrfFdM Q01BYVV7QA0KPiBPa2RhemwNCj4geiUlPEBDSV9iZ2QhU0V4TTtIYCF4LQ0KPiAjcH0oZ0Y4NDht ZUM8JCVKMSpmT2ZtTz9nTWhlN1RfNnh9Rj5LbFhuR0tQcg0KPiB6QHF+WiF7LQ0KPiBlTT1AUVpP eDFSSmxhJX50UUExSXpHWHtCWV5MI1Y8cFlqY0pHUEpHKnNrNFNkdyNpQHlvVzFKZ0VyDQo+IHpA ejRPJE9aI0VfUip0KjtHVkRocXN2N2RBJHt5VXw4KmMzSW9sRkJJXlU1QUNXfGlmfUQ/VmVQRXc5 MHI3bA0KPiBDS3ENCj4gejB1SWI3QHx7eFprPHA4NzhHWFEhKGJqSip7YT8lSCVLd0ZZOGZRWDJO JHRGKkJHP21UY0U1SHdQZExBSA0KPiBaJSNQRA0KPiB6WCkhej1pekB2R1lpUGVsU2lWRlQrUGVX cCpOT1AqYSlmNk9geVJtRlA1QDZBKDhNTG48bS0NCj4gbFFjJUh4ayZEa3NIDQo+IHpuNilvM0wk IXBUOW1WVkwkJHhJVjczSThfRWE3S0lGYD97b3NwcHxqOzVAJSQxI2x+Ujt5cCR+QmthOTc8dHp3 Iw0KPiB6RWsyck5uU0NHfns+aUR4MChEcEQ4MEtyUV85e142JnhYbjtXfEEyRSk0ej1gKV9IJWc9 JFErOT0qbU5URA0KPiBzZTk0DQo+IHpKUTtlLQ0KPiBOI2FUYkBFZn40UFdTXikkMHpIejxEM0Va cUlTPEI5Mj9tb19ETyFYSjVrXzc0fSVxKF97cFdJb3E2flINCj4genZ9MnhJTU1xckNrUUB+ITlC ZX5ncG5pYVQ3SSReKCFrY0JOcT1Va0xYeUtzQ25eJCp+bExWZFZ4LQ0KPiB9XjttNXkmeA0KPiB6 SGNDNndeK2daTCpCO1lWP1c5VyRkNGEwK3FJQlVrTzE3ZkRsMCFLVUN9fiZaLQ0KPiBQMlpFSDt9 PGskRntHWClHR0pHDQo+IHpZU3J0KzFtQzFmKnVZT29LOztGS1RIQVFCPHcmdW0wbExvRShseEJl KlQhZE9sOEshdHF3bTNRTmtDMlVzDQo+IHhANUkNCj4gemBCdndWO080RkhiJiU5THNMaG5MJHdY T1I9cUZAfiVIKlotDQo+IGMqQ1JKQ2NreH1FVSVDIyttMlleVkk7TV9ma1laPw0KPiB6KDYhPyhO MFJ0PzRlbnQja1hMd3JBVV5TeUt0ZjxoP1c5KEVrantgY1MkWGBga1FiPW1LazZBJDdoZHlNbDNF DQo+IE1uDQo+IHp4KmlAR2B8dzJJITt8dTwpQnkwUDRJOHJBOVNIYHBuUWd+ITlwc2MzIzA3I2M3 RSlWWCRVMkJweWZ+JiY5b2tDDQo+ICYNCj4gemgpeSsqSHx2dzl6N1o3ViF4e2RANmtudDlgSTko al88VkBJS3QmeHAhO0kmeSZDfVEhZE9FQ3I+YS1MNFlvLWxGDQo+IHpLbyMkdzVLT0ZQZW1RWTVk dX5Gbzx5LQ0KPiBpVGdlVVJAfDh8Nil6Xn0wK1NOTylPV1RGekVSKklqPWBaWVUzcEJTeD8NCj4g elBnWHtid3VYK2I0ODdaMHxMKTVBd183N2B1WitDOEJrXn1Pdj9LSVIwV3hkWTFVQTBqcloraT91 X19PeEFTDQo+IFc1eA0KPiB6NE5gWjlSZn5pfSp5VkdxSGUhK0ZCdGFUbGdBKmBQY3pgMGJKMmto VjZYPz8kRjx3Pz1jZH42R1ArMTluIz98Pw0KPiBGDQo+IHptblNkZV8zWlYqTjU0VSE2bUtFcGFO ckZfcFdGODFFQiFERVQwYCRsRVdqJEdIQVFOZHJ3ZGxmTWZ4ayENCj4gR0ZVVUsNCj4gekFtMERe Km1UWE5MTTlwM05GV2QtDQo+IEJoSSFAKnU0KXErYVEmRj5gMFdeUzgxSH5XdSNraVBkTHRZWUg+ PUR1cDh9cw0KPiB6N0tpTE94cmdhS0t4TXctNCNtUEthb2B4RGc4MVJabXx6PysqMXJlYWxGbzF+ TWFyQjViOUwtDQo+ICZnbUYqRHRHcHh0DQo+IHpHQmkwZmdOVkFGamB0LT5seHMrKyV0QTI0TX19 bD5ieTN8SiFAPjZVbWQyLWNJckV2IWh9T3RFJWVOTStqSihxLQ0KPiB6PEJ6dUZKNXZWUFNpWXJU VyZPS15kMFN4S1BOejk0bj92dEgzIUV5UnRtMDFNUi0NCj4gY29eR35nVHIxTDdle1okcE9LDQo+ IHpJOGNjX3ZDbThRVmNfUVJUdDlGS0dKUj1tajZJT1JCbTxjVndufk5OMk1ib3BnPFhxKmMhbkQ5 aiRWUw0KPiAjVGNaZjwNCj4gej9FV1kyYHIwI1Z7fFBkKWw0MT1xcnktMGtCYU4qSEpvOXlsNmhh fCNSVShheWomSV8xN0lDMmE1Tj9UWXFRbnxlDQo+IHpvSERxXjIpMnlHRGlCaGVsJXozQihqKCpQ VGEpQD82RW4jd2Z7JVYzIUJvN3E2K2VQNmVsNUMoVncjd1hGUw0KPiB7K0ENCj4geig8YCUlV1hP ZFRTdEh9UDJEKEk4KCpFIz4qN2BTdiQ4Vjs7MyptRWxee35HK15kPzkzJkdnc2d6T1d7LQ0KPiAz bCQ9Nw0KPiB6JTFGSEY4REttbXZLTSpLIXE2TT5ZJFU/IWpLfVpBTD87JmBwRU9scygrKT9ec1BF ajM/ciNyfWIkbjc5UmdlDQo+IGFJDQo+IHpMI3p5JTt8NjR6aTc7Wlp2VkYoUVFJJEBNSHcwViQ1 NV5NRSshJVlAMTtnfXpKYnJqbT5fbldvXk1ybWANCj4gRnh0Y0wNCj4gei1WbSM4alhiX0dAJnVP aVBpKk5nNjJKcSlVcU1IVi1Aaz57Z1BWTj9xcWdHcTZJJXtyIShqVkwtDQo+IF5rM3ZYY3QtZA0K PiB6Xl5YSXNhMHpYTiZfZXk9KTMhQUdyTT5xdWYhNUZ5RD97KEspPDM/b3speUplNkNmdThQQ1pV ZUp4KkFWXjRfDQo+ICU5DQo+IHo5K2B4P2tBRXVXJDgocn1PfF9YRzRPc3ZRPXM7b0BXYTFgX3Qj QW5zUjNnQ35HazB8fHczOS0NCj4gYHk/aFpXQj0lekgNCj4gejhgUHp4QjZ5QWpsfGtvbXE+O2lJ UztMSCRkKGR3aDE0Y1Q8N150Njc7QW95ajhucWstVGw0YFlrbkMlS19gY1hfDQo+IHpUMGxvSWk7 SGsyNThEQCZ1Xz5mMW5EfiZSKCNFbmFOOHAybHQhMVR7bnhFOG1UQykwJUFKOHc7e2U5UDJveHpx DQo+IEANCj4gejBnWGg1Y1JeQygtDQo+IHttXjtDVSpsTCEqIzFydk5Fd3hXTFlvVyl2dTtJd2hW YGpefnNwQCFHQ1F+QTdGQlR7Rk1vdw0KPiB6LXxfTSNzSzFEVDkmSXcpQGFQNnN7e3R2ZU5uQmZ7 KjRNYUtmT344bTJ9WWZiJUdrb0RwLQ0KPiB4dlhMUzc+PkpGVW9TDQo+IHpDaGtPNUd4dlJVdDVD cTRFOEdQZVMySSsrUXk5MjJHajdPMSplbz5wR3NXcEI9Q01gM2I2V2xDPW1vDQo+ICplayQwaFoN Cj4genV0RGpiM2tkI0pmREw+fT84dz9acXlWbzw3LQ0KPiByUzRXKGNyMmVmdWJ3ZldNRVJ6cXh4 TSRreDF7NmYwP3M5Rj0pQA0KPiB6RyYzcjVzbEhuc3lWd2U/NWhLNFFSXzJXVnNNaCtvV2xGeWRD NnZkdlMxNDJZIShKMGl7MFVne21EU14zSQ0KPiBPcXpJDQo+IHpsNzUmRUJ4JWFeO2ozZXp7SDhA KmI0X2JxMkdnQDlwMm5XXjhZczFiPUEwNW8tDQo+IDxBU3Y8YHo2fDBkQTQ4YGw1T0YNCj4gelFZ NEpwcypyKiMoIU01XlNNP3JOSnYtbU01aC1qYFEtcEhBX1EtDQo+IDFwY1JqcmNobCFaSk0+JG9H O2h+R2ghJFpnMw0KPiB6ZlFOWmc9WUdWaGIzQTFKOVFfWG5jSTBnY2I3Q2N+RiolbTxIQ2VsdCNJ NmF4WGl3NkFoVTE1TkBLUD9hDQo+ICNQbk5qDQo+IHpIMlhqRXNyOUl6bHZfITtnQDtZWjxvYD9F YEBxTHBSciZ2dWV7XlY1NStJUSU2JCV0VjAkNDApWXBBeGhmcjxucw0KPiB6aylXPXU7IyUxdXUh PU0oRW1HUHJpRG8oLQ0KPiB0elRQKHVkR1dnZXF+cDdtc01QZjc3UzNFMENpMWttOGV4aT5GTnk9 DQo+IHpDNFErKHp9UzQ+cEwzdCpuVkJSLXtxNlZuZCViPnolPTB8PXwyX0JJYkkoMkorO2Z9Vikx WDNCUnBBbi0NCj4gODUwJVUNCj4gentaTHImJEVvdDs5VClrfEU/anE3UTlXaHVAPTVoalZ1VURm RT1wVks9OTBGfCtIfDZDV3tJMFVIRzJwbiYNCj4gIXUmSQ0KPiB6RVIoZy0pTi0NCj4gUjJQb0dr NXskME1QT2piUVVAdXtHKl83I3BibylaSSMpaUhCcDxGN1BHTGZAaF9eYmEhJjtXMX1nDQo+IHox YkN+I0VOKz92bnNvJHRwUEk+dilzcFMwPkpNeUI3M0FTUHRsZ2RPTFJCeztyKlFsKGkzWn5yWT5m USkhRFdpeQ0KPiB6ZWU1NzdyU3VZdyNLfWVORH1lNVlJckYzO1pFPUkmM1FKalRnTFAmJlNlV2Z3 cCtqWTlkbnB7OGxZRTZmTVllDQo+IE1EDQo+IHotDQo+IGU9UVVCYCFkVFU8OXQ2Sk9XbTJrbiFe QjBpVytMZiUmSlFNMHAmWDlfQ00ybil2VnpLcE1kT3hRdzsNCj4gJXJKbj5mDQo+IHp1R0AxLTJS a1paMS0NCj4gSmBRdiR1OCglOGZvPVQwa0gxOUxNPlhFdCMhMExjbTNYcllxJTZoaWQqQnMpQDFO N1Q9fEcNCj4gelglNiF4TlZ0dXxiP01gd3BKeVFnQU5+JDk5Py0qcyh5dXZLd3swS1pQSSQxZjRA bTtiPTFwYS0NCj4gcXF8RXZvO3p3Mw0KPiB6cDBoU04mUj1UND5OfkpLNFFObT96NTYle3MwYzBy S3hJM09aZG4pKyUtDQo+IH5AKkBQOyYxVTdkNnI5Rk9RVntLX1hMDQo+IHprQ3dHMFNQRHlKXmVR SDVHfFM7fEZQMT0odytZRihCb2dUVU1pVlk9QF9zYklGYndDVFhERlU4UGx4OD4NCj4gPldhNC0N Cj4gej8kKXhIYUxxbUA2QmszSkcyX3BnLTApYWNfWTleJGFaOVZaWV41KW5qMnxtM0preitUdFp7 VD5sYkk9VnQwN0N+DQo+IHpYY2p9JFkqeHx+bWZUSkJLK1I2anQ3Zjs0cmtWbnFYNVllKU1BUEhw WnhxQUpfSFRYKFU/UDdhdihATn0mWWwNCj4gPjMNCj4gekB3SG1Sd08wUz5pci0mUUBlJE1qI2Jm JVZQPHMtPUU1T3NMdTZzb20zPyk5PUtISS0NCj4gRVIoMERwYVQycTJ0RHQ4TQ0KPiB6K2EyUytt cD9zKi12YTw0Rnh1M25BfjRTPVkqVUR7T1QhQXpgKlNLLVN4fHZhS1ktDQo+IHJ2Mis8b0laNlU4 SEwkb18+DQo+IHo2NUtoTl99KkB5M3N9YTg8aS0NCj4gRTNjKSpIRVc1OX0rX2V8MyFlOF9EeXFT U01JR35jcWd6MFBoR3JYWnImMWt3bW8NCj4gemtYVmVpeGNne3QyJUlMIzBFKlYpPWRFVyFuKyhB PHB5R1J0UHhNU152cGQ2QDl1SkFtPHBJJUk3Ny0NCj4gb2FGOEhzMg0KPiB6WkVVJHVtPHJPdW9o M3dkS3RhcWJkTzNYMzt5VWg3bGtEKEdIU350bkg8cjc/WnhJXnw3MkNOJVd0dnZ9eQ0KPiApYHlJ DQo+IHp7MyZIJWl6IzdfWjg3ITI2eDQ8bUhqbzNQSDk7aE1Wb1N3QSZtdkp5dSRFak42bkskZ1Qo SD81al9KI1VMDQo+IEM5d34NCj4gejZCQk91JihzflMoSUxzZyZBYDB8O3tifCZUa0loaHJFaHFR KH5Id0o7WXJJSEFDfHIlIWluKz0hWnElZVZxOShyDQo+IHpFN31oY0Aoe354NGMtDQo+IG11RCFD I0UqOClYYjlLfFF4d1o1V0JhaGooSXg3XjMmPTB+dn15Qz0rMCRxVE1KJSlyVG4NCj4gelJ2JjlH VyFONGEoS2VoKj0jUF8we0hCRHZ7V0lFX2YrUSsqcVReQ0krM3ErQXZaJiE8TV48Uk80PHlJDQo+ IFpifi1yWQ0KPiB6NH14X01rU1JjKHxLeU12JTBCe2ZaX0ZYUThBRit4a0x8TnExPnxOMDg2SCRu USFtPTNqZW9fUCsxTVoNCj4gS1RAcVhNDQo+IHotNmdSdHtIMXdjIX1JZXpfd259fHskZXdaezt5 PWxqTTVvMSU0WUM5JUQtDQo+IH5MRUFueTJXRn10c18+eCRDQTJ2TnQNCj4gekZOeXV+ZHJNLWNA O3I8MHN8ZiFVLQ0KPiAjN0J5XmFKV0dESj9CTXcoTUJgbTZ1YztkK2FnQ21LPU5SakFNX0Rod15w cQ0KPiB6R1hUYF9oV1A1IWt+PHttandTeSFtWTB5T0sqPWZMd2Y4TyZCKDNXSE4wT0tjZHFaUFEk Mkd8Wm03fg0KPiBZUjxjeUIyDQo+IHo8WGhZb1VQZFpDcnRJcHViR0FkKVBxKk5BdTFgMkdxJGdj cUwjYGFSeTtUIWNCQ2t3KkAzU0I/dyg5UnBLDQo+IDNZX14NCj4gejstDQo+IEVBYiZuTWlSamNP Wkxkd1JifUR4RVYhKWlSNU1SXjx5Wm59ST9fZ0sweFRge2JzJEpNbXRJRl96aHxsZDF8ZA0KPiB6 Q1o+UGpfYDd6bjE3OHA0JGckOEQlb042UnZtczBQYl4yeE1jYFY9MWdhdXlUZzJEXm5pd1FfTTFQ UVR7DQo+IDlWVXB8DQo+IHpWRkZ8K2M9elRjKz9pc3FxKU84X0Q9YH5wX0xvKFgwbFdZQ2RMdno/ WHEhXkoqTj5ufm45eWF1RzlmMyYqflkNCj4gSz4NCj4gemQtDQo+IDhueURLOXdOVTxVVTFnPGk+ ZzVpMWxOT0RONDlrMDFteXdIcTxqR3Y9cWA+MWxjc3peaWopTz0qR3Q8JC1LPg0KPiB6OXJLTll6 NyFnJVY4cGF8Nl5zZG12clVgUk8lTGBwY0Z8TD5nNHh5QUVscV5KQlhqT097O1N0TjQoTzNMKHdg Kg0KPiBEDQo+IHpwR0gwTldtSnxDcmlOMWczKjN5RzNTe3x0XzAwUztMLQ0KPiBvdkNadChlIzwr ckBITklmSXpMK1RPek5fe1ltZFp4YSgNCj4gek59dXVxeDg+c25ScCErKlI7OChEb0BrNHp7QUhh YzBfcXRmdERkK1BzYj5gND8wKXg2PCQmYWlPcjsqdHVjPkcNCj4gQg0KPiB6VihKO2FuMG0kJTZz dTwqQVdySExKLXZFSFo8RXpDJTItDQo+IHJwUnczcmNMQCQlbkd4cm11R1dHUTg4TkUkYSYpaTMt DQo+IHpNcDl8QFpXR18kKCVtQWVzWW1wQzYhcHkwcEhRek9qaGp6LQ0KPiBmeDhmcVdUYkordDdp PHByaz9yOF4qJGQleThhfDENCj4gelJIJGMwc0s+cWJBRWNmKzM1O2F9WTBxaVlHam1ZMV8hWVV1 ejMoNXhkNENsMyUtDQo+IDZzZlFfdE0pVSZ2Xj8wOEc/UA0KPiB6SkBaLVMpQFBldGJ5Jl9NXi0N Cj4gTFAkQkM5SjwmdjJtX2BVVUMzMWh3NmJEWmEjQT1fX016ZWx6YTMkbXluQFZFVygqDQo+IHow PXdHYWx6XiNoOHZsc2NXTWs3MnIxMllEZjd7Yn5hQVZgYXAybFooY2pyfDI/I0FhKCokayp5PS1F TXVfO2hEIQ0KPiB6IzZkdCU1TnUtDQo+IE9rOT40emlgKUNaTE5KYD0xckhfeCh1T2I3KVJTckwk enFiJnZAPzZ2UXY2UXozX29IRiZkIylYDQo+IHpCPVBQX1FwNHdAJjJMSFNrJGI1aG1DYUApR1M0 TiohcTB4ZVdaYGloIXxSRkkqen16QUcpPlFLK15YZw0KPiBwK29jejsNCj4genZrNiV3PjE8NElm PzdhMjgtWDYtDQo+IDZgPCNTSyR1RHR5fERteEk4K0pWM1VvR01JbnZwTDx3JDF9bUp7bDFMZndw WA0KPiB6SGxjMXRJLTQtUmJUKGxjPjFASUAoJUpOKWpsbXtkOF5oX0Z2emEwQW53PGdUc2lzWXBg PX1yeSl5aXx8a2l4cDgNCj4genc4Xjh9dE1vWnt6SiVWLQ0KPiBObDVlRCM7aWU5JGBpZmhQNlJ0 bFBXZkE8SWpBJVRoYUVBJkh2RHh1R15YMnBZVmV6eQ0KPiB6PUcxdnA0YWMrNnR6RUxxSDtUVHlA dHxndE5gb2M3JGh3YmBLc3A9NHFTVlhNKzR6QUppKV9eJXg2dn03bjZxDQo+IGIpDQo+IHpOdjw8 PW4jNUUjSjU2UD9RensjP3EoMDJ+SD9JUnQrditoe1Q2I0NDWlg9UmZUQzVPTUhoUCFKPTJHYyU5 dQ0KPiBkWngNCj4geiVCQll+OzRjdXYyYzI5P0B7aEVtPD1EQU9nMjBgaD9CS3JrTHRhQlFzb01h Oz8ybF9XKUNUSmhiVFozMHRLDQo+IHdiQg0KPiB6cGwpJnt0TG85cDcmUHxYSzY2MkRybTU+WCZJ T190PS1PUXhiRV9kdi1lPlJkSD5JMHhXUy0NCj4gblpCUXNoM24kRX54DQo+IHo5Pz5zNHFrVnx9 R2pfdDVkMil9UkN1P3tGb3NySCt5JUw3bTMkeExYemI2X0o+NVFIKzxhczk0ODNuQ2x6QE8NCj4g MjgNCj4gektOSVNWRVpsVFAmbHBaVCF3N20jcDgtbFlePURmOV5FI3RgIXxNSj9JLT5eQD9qdSk7 e3RCOT1HYV5mPEdmSlR8DQo+IHozZEhpNnJVJCp3JGQ/JURqUVM8d3hGYnBpYE1lfDQ4S3UwPWh6 ejA1PSNITSY2YnhGKllpe205ZS0NCj4gWWA3OSpsSEcNCj4gekRidzZNODBkYHByOEJ5Tmp1QDBF dEMxMyM/KGpNeiR9Xm8mJTUrOXxeZmFZNXd4KCF+cnA2dEQpRSFEJnBmDQo+IGtHVA0KPiB6UmNw UUBVbyQkUlJIIXBqMlRXKTU0WEplbUM2SkB2YlZnbjIjdlJlTk5RJWdlcD9ib2RkWkxnVVV3DQo+ IGh5d3soX3RkDQo+IHpTekwoR3BrWXNAdkJ4d0VKPGAjOVVldlduRm1aZFIoNnJnJT1TNVo1M2Vz N2JzRX5HPTNRNXRYTGVoKD1rDQo+IG8wMEkNCj4genFAQWRjUEV4X3ZDVkl7b3FDelRSR2kpaihF NGZJOEgwOytHUXo3bCtUXz5YMG5mWCZ+IUBzckkpQFJoPHQtDQo+IE5vdg0KPiB6YShtMjwxZCpK SVlqKVMyOXhncVRscTNKbD58d2gxYlUjVkRodT1ZZGx1RW1UZz88VGd5K3JWU0FAMm9CQ0UyDQo+ IERSDQo+IHo7bzg7V3pIWH07JXlTbj9yQ3B7fT5OMkhMN3N1aWFtTSNiTj8lSFQoR1pLSncqPHxS Nzs0ZzxVSX1ETF9waw0KPiBeeEcNCj4gemFqVz8pP3IqSj9RWnBxcU9Wezs2Y3ojTS0tTiF4fShn RENIMylZbmpvfXtxcmJaeTw5aVQwfkhgTmJ0b2BAOHVwDQo+IHpTPjE/a25IRFhva2NhNzIkN04+ Zz4zIXdwU251fU9pVEp5ekcxSU56eStldVE1bytObUk3PyEpK25jWiVuZg0KPiBvOSQNCj4geksh bUpAbWF2OSpTcTwtDQo+IDt6SkB5fkVua0RhMHpZezlAPUtjQ0N3JSRDJiFUTGhpaVh5JXN4RkIr eXFLaF9geiVBcA0KPiB6RihWamIhbmRsZjhqSlJXcFB7S0NwfHJNckdIbHo7UHxmPCo5ZVpCXiRQ S01+UnthZlFQflcmP3VlNVdTcmENCj4ga3JqDQo+IHppd3FKI3F9Q3V9S0tKQlp0MmtCS3tOe08m ZTB2WUpfX2hhV2ZEdyNLWF5YcjZOKU0hVTxsWmVAV2YocFlIDQo+IFk1b2kNCj4geilDLXk9NE5a R2k7WUwtPnFFU0d0e18pQWZ2Uk9jNVA4T3l+Y1BsaUwpby0oSmZXPm5WRk1EfTRGZyExKXpHQz1H DQo+IHpRWXBSKDxwaUUqUnN0SG9pY004MTNkMm1MNykqU3I2I1dXXk83V21re0RZR2gkeT5aQyl+ fSR4O0F2SGcNCj4gUn5EdlkNCj4gekRZM2E3czEpc2VzIUROQVZWMUJaczEkb2xyUHp+TipKQ1Fo Z1NONjlxO0h7MFE0RnBvbWhyYj5ocDd+T00NCj4gX0BPfA0KPiB6NClmRl9tMH57WXY/QGhFPDk8 SXxiT0R2M0swfXFfYkVwKmNlT3x7VG03KVIjIT5GMTk3PjR4JCF5Ky0NCj4gfTA7X0BEDQo+IHpt QEAwUVUhK256bXslIyUzdm0pJnJLcDRuX3dLdHhRaWUpVm9NfnBPeEtkUCNBNFhuez5wbml4NzgN Cj4gRnN4bz18KEsNCj4gejV+TSMwS3JrR3I2bigqT3shJjtsRCNlfHFRZEVTZzZidEdwYjEhYyV1 MTh2ezVLJk1tN05qazgtDQo+IHpST0UxKWI9ZA0KPiB6Uz5uRHVIRzl8flg4Sis2S1U5aH5uJkwr RTsrRzFxUW5iPnU+YWtSYyk+LQ0KPiA9c1EzYUpeanxxYyZxKkM7cD13encoDQo+IHpqIT95RkBS K1JMUWVjWmFKZ3JKbV4rfjB1YFU5MXNITmdUeGxfRmdUUmZeSTBOdXtXUW5fVUtyOHh4U29hQg0K PiBZWW4NCj4gelF6X35OUypuc0crK2U2dXdEdUsxUzFMdXt5emFaZ1FjeCl9U2Z+Xmd1QEp3MHco KXlSRG4lN3FJNT87ajczDQo+IDVPew0KPiB6RCNha3BxIUI9K1NVZHZXPUY+YHEoNGJPT3pQfCtL JVp2SW5KPEs7KW4jbjNmKWcrYW8pd3BoX3NUOT5YWGMNCj4gfFAjDQo+IHotDQo+IGxrUDQ0d3k9 QEUzPyVgMilKbV9MWTNsa1VadlJPVmN9SlpFWl96b3VUdU5+SSspPVhraFV7ekp0elk8VW48M0MN Cj4gejIjLQ0KPiB7WDB7blQxb3dySlNITFhAckROTCZ2a2ZDQT8pRWtjI3RxQ2NDQyUpMXVfRTRP KGlwdCZXS0w1cEYjSCtlSw0KPiB6UDB4I1l3ZjAtDQo+IDQzfFA+WmZFX0FTRURvWlVsZWBWcU12 MmhFTllzVzk3MlRxbz99ZSV0PkNLQVN6eEFSMVEleEhGDQo+IHpGcXRfUiEpd0MqeyZ+Oz1TTV4x QE1XdkUlQGtBfSRsWHkhRlV2YzU1N1ojb3xTPlFENCNYKHhGIz94dg0KPiB3cDAyM3oNCj4gejNE WXAlVmA/KzY3YD5ZamllfTR1emZjVWojLTR+JiEhekJJRzNCWl9GbmhfQFpKO2t3R1FMeyVyeGpI SGRMZDRjDQo+IHo4T31RbXZjVmBEPjttTkYybTxpJl5WanJAMHZtZTlkeUwoWVY4cWlpOEZnKF5T T31WOFJwWUNUPlplVD88DQo+IF5odkoNCj4gemFaKEtVPT1fKX00cCtFSzMjdXRwSUtFbW5hfF4x T0xwNUlLczhaeyghWmFDQSpjSXM8ZHlFaDZuTXxFdVhKOEINCj4gZg0KPiB6NzE2e2tJQX0xazhL OGVyWCQreFhfUVVsYkthVWBYc1UxfilrPWsoKClEWkBPSSFYalMzNF9vRnBuM2N0IXhwMGQNCj4g elVyQ2Z6dn1BOXZ7dUtgNEIlUG4/WUlZQT5HTCVaNUhzUXl8JXBGJGJISUhISU8hO1VzI1VFaXJw NzBjZWlQJEMNCj4gbQ0KPiB6PDh5YGokS1FYe1hvUV5LTiZvbUxjI3YhTGw5MnwoKClNJHZaT2VK U0VyRkJHTkRWM0JyT0N0ZTtgd1ctDQo+IEFyRn12DQo+IHooanB+ZShhUkp5cjI1JDZlcT99KDVD Mz03a21wJUIwWjJfSVJocUg+QE5RZTglNHlWKXo2bVdzNlRTZkBpDQo+IE9eJm4NCj4gekl8OUdE UEV0ZWVHSlBReD9WfGwyYTJZIXY1RDYheVE5fitpIVZQOz5xYjV5KDZ7WkAyZTxMNFBxPXI8P3RF d1M/DQo+IHpKal5ePkgoMWhmSmM9JWxnem03M3NYLQ0KPiBjX3lEOEV7WTdvMzhhK0F2Q3BaMUdy Qks0Vyspfn5sPzQ+cWJGOzlRNWQNCj4gemEzQWdpR1E7PXJnTEFaIXMmM3NmaWVXYzglXm9zPUtf KmJ3SkZrZGBecEBWKiVXdnV0e1lzIWQ9Q3llcjBnDQo+IGFOdQ0KPiB6NXRkdWdSfjg3PWVhYzRu K3w+bUZeKGNNUDFuTWZxb3pQPFdPZ0ZsTjspQ3tub248YSMyRzJSOWduQD0NCj4gTmkySk8/DQo+ IHpKeEpuQSgqdmtWS2VVKVBSSGdWU19+SzhPI05QMGVDOXhJIUUjfCNtPz5zLW4tDQo+ICZncWl6 cFgzMTs9cSNGP2F3V1YNCj4gelpUJDY7KnFhWTdpUVVaZVI9I0AoVSZReDRKUyNgMl9mPlNJKCZ+ bCF2eyUhWSoxZip+IXImKm1vcmRfSXI3dTANCj4gQA0KPiB6eCZYJDF3IVpaOCpOTCRGYFRFazQ4 JiQpOVEocWVCTHdobCRAc3N1Y09NVTNabjMyLQ0KPiBJS3AkRm5yYHF9ZE9kb3A5DQo+IHpYTTtZ em5tI2wmUWEjT20/OHJFPE11Xi09VTd2ZyhgYk4lPnowNkZAUGU3JFAtDQo+ICtsQndgUHRYelF6 bG5QSnQ8I1ENCj4gej91JUZXOU8kejRHdy0NCj4gRURfUjN+bV5PNkR7SXZKc2g5eXJwfjlAaXlT fEV5JG81ciV2JjtyJl97UDJpUENkaHlGRA0KPiB6bF9IfVFLYD80KjFeZHM9WERmOzdJRjdJdV93 Iz9VPyNxIWklNHVFRW9rbW5mVlJiQ0h4X2NZVzRYeUZqeEpMDQo+IG1LDQo+IHpwcjswRWdpKyhW Ml57Nn04dHkodlI1X2tuVFJ6Y296VThxP1pCaiRrc29yV0xXLQ0KPiBheHBSZVJ2YE05bXdhUzVf ZXgNCj4gejE+TTFXJDltIXU/bCloc2lnYXp0NjA3K0A3O3ZRaFAxZlM0ZUwhYVB1X0cwaDw9YTd1 S3AqLQ0KPiBvSkZiUm44YVZYQg0KPiB6cm5QSzNqOWMrP1VycHlMUkBuKlUxWW1lem5rI1N6ITBC OTVyKnJzbkVVcWc/UVV+TUdOPzV7WWJyUU9SDQo+IEo4JGR+DQo+IHo0UmlfPz9sdTE4N0FQYCEl UlJwSHBvcTBPbE8rSF9rX3cqKj5tRllDV2JfNHBEWlBgPWtNSFVfeThpXw0KPiBIQVcmKjcNCj4g eitqdExXbDI+dlZJQjwtUkpKLQ0KPiB3fW97Kn5xVGNAPUExYVdAaDhoI0QhNG5tU1dsIyQkTk5a UGdwQ3pQQW5BJUxpOQ0KPiB6QiViVEthQjsxMWA0dE4kUW4wakxxfTZBKXFzPTlvKS09U1hPSGN7 ZlUwTjBMLQ0KPiBNeSU+WXQ7dXl5bkFVbUs8dyUoDQo+IHpSclFqcUV2Y0FFYUNvOyFZWnVwNCUt Y1huJnI7NG4rMUw4JFl4bEE8ZmUoNCE7UFdoYEhrR3p9KkBkeSgjO1MpSg0KPiB6X3Z0ajw3JF9e SlAqcSpPNjwlfCYxK1UrbT9hJkdPcyFlN3FoVyl7WVBPZntWV240ZXF4KjE+Q3ZgMCMNCj4gNUpy I15zDQo+IHpZfkh2dnh+fnhfanJGU09aailFdW92R0REYTFFYFN0RnAyWE4lcmNlMDlHcm5FclFr VFpBd2xfIT1FOHhycy0NCj4gfjQNCj4geiUkWiFfcDJncjxXeEctVXgyQ1N0VkB1TGFVNzZPcWIj Vi0NCj4gVjUlOEU/ZTx8PUA2PG5WbUs5fkxsJDZ6SlUrRn5zSA0KPiB6N1FrYkArPn5rRVYyODNj NVleQn5VKz1OalolOGZURWN8RW5QSipgYHNwPUJaITIoT0pZVmswOzJEM1opYX5fSQ0KPiBJDQo+ IHphaz5GSm97OEZQS3w/bFk9ejZ4OzEkSkFDRkR5fWlrKzUmYiRSSV47bl40SklSdnRMOTBoUEVI ZUxoLVg9ciQ1MQ0KPiB6TCVrYWB2VztFJVFuN2l7bUEpKUt5cmBmKm9jMEwlbFVsYz50U1dvMVZa cyh9JV99byhINWhse0dnQncoeD41Xg0KPiB8DQo+IHpSQ1dKdj56LWlUTmdpfGRpbSFsKXxLY3ls WTNlTyhjZjdaIy17Vi1GSy17P1YlT3R5by1sZj9BdD9MMFdwUTlBcw0KPiB6S3Q5e3FIfSFCTlUp QGgqbWRVeFdfSUIlRlBudTJxb3RAOCQwSGpfbjwtDQo+IGlwSkA8KjRJPEhYSTd5JlVDMT56JHJK DQo+IHpxK1RmbGw4d1k7SFN7RF92Ung1dXE8K0FEci1ubX45eVMkQiVVbGFaSyU3ayQtDQo+IElZ JG5XZHVkOz1KTTIyT0RMeCYNCj4gelFPPFc/M0IyZTtGMDZSPTJIKlJoclJCcXE1I3YjdXA/ZT1+ bW40MlZteSQtDQo+IEdJUjc3ejlQayQrJiRpOSVoP2NCZA0KPiB6M3UjUFVZPE0xUE19MGFUcGZ0 ViNnejU8WUxHYGhHYyEyNi0NCj4gc31LPjdyUGp1QVZHSStnKFZ3VkkodX5+R3ZoPnFrDQo+IHot a0tRQUVeNz1EMDIlTXxiQT5MJWhCYSNnK2IoTmc9ZzhUUnNxTVowcjZjUyteO14zYHpwc0IjelpY NUEtDQo+IF5LVXkNCj4gemQpPW5tTDNfO0pWfl5NMFhPRF98P1EhTmtfQmlpdTkoUkFYVnRffWNG fThofEo8R1RFXlVPQkp4OWBfP19zfQ0KPiA+cQ0KPiB6dEQ+NnM2OF90ISRuQ3JBXiF5SGZrMWRi Jl9FcWZVTz5gd1FkO1RHc2tSMnBYcnVJVTtaI31AZl9wR3UjUEYNCj4gQGJtDQo+IHp8SihKKD0o T1FgVmgqNTRqekYwd1lVX0FTRW1qaU44JllMX3MtJFh8c0k0SXVec01JTDBUUFZZOUo/cXY7emQ+ Xw0KPiB6KlN4YGFrLQ0KPiByTiMzdmIjZF4pNz1tKjViTjlZd0lrWXoxajZAQzRBUF8jZCZWJFdu eHMyY3RIeHIjQnR+WHhHYEtrDQo+IHpYPnF1ZSlpSE5vNUNKUTR5MzFQZikwTGMoU3U+eFNPTXpW WnJ7dWFtRCtvU1YoeXNrPS0NCj4gc3pkR3VoczFjOHBrWSYNCj4gekBmflVqbys3Q0xaWTJqLQ0K PiBWKiVvNzZyZHZVZVomfn5WRWtQdklRVj9faDNHUz1CfHU+Pyl7Zj8+SClrNV9eQT5sPg0KPiB6 R1A8dVQkaX5gZHlHOGNGJjB9TXRaZGsmPGszbHJQN1h3dVJZc1dWR183KFlpX299Kkg0blJhPmJv YnNgX0ZgDQo+IElEDQo+IHpXNjY3bjIqTGxgJVdjJk5FaTB8NyklN3IwVig7ak1yKnZjRDVjc05O fDd4OG0qS0g4RDB+QF5TMyN7QG9qDQo+IHFxPVANCj4gemxHekskQDdeYkh4ajR+JjhveClsUytI cjtFfStFbXc9U1J6a0pxPTNoekEtDQo+IG05O2s3fE5YQGZ6K3V3QDJGYDgtTw0KPiB6bHoqXn1h VkcmKjVEc0BeWFBeLXNvNTFKcWwoRWNSPV5MXzlqKjthXmY4NmpLLVlfZnV3T2FTKXNDRGViOD1B KHMNCj4gejskUjh9PD5GWCptQCNCJXN1fVZfTHNSJm5xeHR2NjcqaEFVekhAflRSc1VTdlVXS3ps NXFXZnlfbDNYDQo+IHNlJUl5Ng0KPiB6UTlvJUd6UG4pNTxvUyU3UnJnO1NSZDwpWXN5WURhR2JJ bUApOEZzPHc2TXYwZl9SZjU+dEFAa1loJjFvDQo+IFohb25BDQo+IHp3aD8lR1VGNUZGeDhsVVlS YF5XNTY/VlVDVzQ7eXROSkgoa145OFJNeSRQcXF0Nm5fWUUrYnBFMEt3aA0KPiB3cEF1fF4NCj4g emQ1M2NFYUNjbzJrX2gqeHklR3RKYz9rTjNsT1ElayFJaUl4dXFXPGExd0VtOXR5MUJZdWQ9KG4o PkR3c2FFDQo+IEdRfQ0KPiB6bD05fWJmeG5RPTdjPWFpJFEwUDk/dTwtSzVCY1U4JElKfUVtbips QyRMI3ZTLT1WPEpDM09CQ3ZaZiYkK2YkUEwNCj4gelhLQ1dMLQ0KPiA0d1FXVlBTajJAbyZ0Snpy QTlsbCtUcEJwQ1lVcl93PHJ6e09fUFRAT18mNWVLIyhqSWQ1UVNWNjNPew0KPiB6NEBlVUswSzNy NjdRNktpc2FIeG1LOTBZZztPYnZuY3k7JTBrOGswY3UhVWEkPDBzP0JvQVdKdlh9S0Mzdw0KPiA5 c2VyDQo+IHpFbVMkfmpya1QxZnlMbTRqN29KNHc7WDxDRHZkfDJkaTFLMl4zKn1EVE02aWUySXs7 MkFWTFV7IzBZdTg5fUpzaA0KPiB6KTlALQ0KPiBLYlJPSVFvWjZTVlUwMkhoZE9zWHtYMnAlVE41 S1pOWVJsdTtvTWpzYUEjJjUqcHFyX3poUzYkZ3NTN1R9DQo+IHpMSWNhUFp5dFV0MXVkREJ7MGt1 eXdLcktKOUtpSlohUVowP2w5X2JsMEVUKD5PX2RFeiltNW89cXomP1FMLXxOQg0KPiB6MEUwX29V WT09ZmQwX2clTzVIWWRBLQ0KPiB2eHxUYW5YXnJmekcjRnlYZXJgVDFxenZ9RDJ0RUdnTSVJQSNa I0U3NiF1DQo+IHo1My0NCj4gRnttMFp9PGBYS0Yre25FRmxQdD49KCNQJiNTclNjZStaUn0wQlV3 M088QFBRe0l4RyVFbWRYS19RYlB0cEoNCj4gelc1YWU7YiMrLUUyST9pVnM7PSkoeTxEPXx7Ni0N Cj4gRz1he2kmUG9HV2VoNHkrbjtAMURMZlNZZDhGcEAoS3E1NHloUA0KPiB6R1opJUk1aSpnKEZZ fXEzISolT2lUJDYzPlpFXkw1Yl5ncWNpc0FpMD9tfEJ8TzJXQk8rSHBGZHU/cnhZZGFFDQo+IDk0 DQo+IHo/WnRIYjZeNT1pLVN+am5VdCQrWm1rbHd4a0krPnViWnIkYHlsdTZXYUQ3NnZtYzNuWXA3 SmAheCY3MlNlODB7Wg0KPiB6ekRgYTBLcFZXPzl4JDw9VzxBSj9IcitzSCU0Zm9TLQ0KPiBBSGNH b0BHfjxSaStFZSRGYV83WHpnRURHNWxIO2g2X0ReDQo+IHpQeFJzOFdCRT80ZG16PytCZ259K00h NjVweylfODY0S3RYQUNZQXJOTXpEM25XYlkjcFooZG1BN2ZDVQ0KPiBrPCExYD8NCj4gektGTXd4 WSszdkYjP0RrZClHcnR8SlNBTlpKVSkoNCMmZmZ4bWdpY20qX1FeKmVpKEJJKjxLbWtUaWl1cThH Sg0KPiBZTw0KPiB6SGFySDtraVhrISNLdiE9dXJMbmIhfllIK0twSFhxV1VxU2teNkspPVhFJihi VHtvRH1MZTVtOGBUN29FaGI0DQo+IE4+DQo+IHozJlhLOTU4Z0QlRWpXYF5XSHtDMyFaKkExMFlj SlNsezh9K3ZSUUBIS2VsKVJMJVVWQ1gwfT9FKjI7I34+DQo+IFF5JnANCj4genRRYU88X0dgKnVh aSgpckI4KzFjbmlgd2chQn52Z1poOW5STWVpPTE/TXFqJHQocl8kUmNfcD45SF9QfEVRJQ0KPiBh UA0KPiB6ayQ/eG9FUjNlbHBZNjZyRiRKeDRFVnxSdDw0akVuaCNSMlpUbX1yP3QzOyQkbUc1YyZR O1Y4TCpPbGZAJFE2dQ0KPiBZDQo+IHojcWVgMXg1Rm5IPjErSCRZT0opWGA8KHpzcms+ZD8mIytF KC0NCj4gXzVUO2pwWTw/XiMrY3Jsbl49RmVHZWdOT09lU2MNCj4gelUzUk5OPll3VS0NCj4gYDNO QWFOfk0mcSt3d0pYdCN0TE80c0lfYyNkVnFFdVM7KmVsUSRvMEg9aWtAPlk9UGNBLVAtXw0KPiB6 QnN8OHchXmpSSG0jK1hUK1JScWZXSCt8eDEhRmdVeCRhQihXV1FHJkpeVD81UGd2MDZDTn0lbHp2 fCk9DQo+ICFMeE43DQo+IHohdkp5UlIjYFN7eT9rc0A8MjNPNms+RHYwd3tTPTR0QHtUQSFVT3lv MiEpTGIlNEdFJFYmaCQ7PygxJVUhWQ0KPiA5Z1oNCj4gejlVX2gkcTAoOF9ZKnIhUTwkZFRAZ19v OCYhYl5QXyl5b2JsaV5VcHY2djRIQjNLZUYpLQ0KPiBYPnxyM2RZM0htdS0tQA0KPiB6czxRZ1Vo QzwxKXBfbWpNOzNYVEZSekBTNlR8O1l8Z1hVUi0NCj4gPm1ScEVgNFpWfkg4JTlNODR5JEpUPFFf KVYja1JRDQo+IHo1Z0dtbXBmVzc4JiVXLQ0KPiBQZzZAYTd1ZTl9QjZeaXw8OUAkTTV6UzJLRTBj Z0IoWGIjdipBO3hwY1R9M3ghbTE2enANCj4genhTdm03Uj8rUG9nVVo8V3VtVW9CaEZjbFMrK3so RmFQUzIrYEUmNTREIWxUK2EzKihiKUwtDQo+IHF9cz1CcXg+Z0o+Tg0KPiB6YFRTT05vYUZ3dExI cm9KUj9LYlVtSGlSNyowSHpiWVc5bmZhS1NYTmFtaWhzeUx8ZChOQmwqKE1FX2gwMw0KPiBnZCZG DQo+IHpfM0p2MDtVTF9aeHN6UmA2K0s1cVV0cTdpWCZhUF9WfnBON1VmKCN2bkdJQlB5SDJCQ1JD NzQqZCQwVXA+SX4NCj4gaHcNCj4gemM7Pk9wLW09e2RNXj91aCM7V2VuZDIwTUFAX1h+Q3NsfVRT JFk3JUwtDQo+IG02bzt1MWZ1P3NeUTI3S2h6UWI7RGBRdA0KPiB6STFNXyMpQ1dQfllDUWFWPlJT NGo8MlJyNDsjY3Y8UmEzYiV3bUgtDQo+IEhaTjtYQiVXcDx3UUM4TkUyYyl4U0UhOCFiDQo+IHpe QXlrWEswWUB1PFl5JitKXlk9cWNqR1pWR2Q1bVEoc09DYSMhRV5teDk4SCopYjZyV3BPd0JSRGpu DQo+IFRvbC01I30NCj4genE7ezk0YGJ5UD97fXJYJD85LSVubSNCcShffV99KCshTXU4I3c7MiNN IWxvX0lzUyhEOHt9Xyp6a2RFUSVSaDR7DQo+IHp6NUtJPmNzaWJyPUxwWGNvfSlaUmNePjlAbkNC U0pGYG5aKiRGdD5IZFNoanlXbiUkMkc4NXxieCVANVU/e2YNCj4gWWENCj4gejxxdi03JHRPMGUk QSN+e19keTc0RVBARSYyLQ0KPiA5WlVGQnMzPndyRCZVZ245V3ZuRWw1V3pkQkM2NTZxPyh0Zz9Y Zw0KPiB6d1kqWVJJM19ScUZ7IyY+SlY7d2VwflJiYUAkVUdtPTQwYX1Xb1BXfHh3SV94VFo3JlUy RUFfLQ0KPiA2c0ApZVk0VChCDQo+IHordFNudkhWUW9qREt7NlNxWCthYjdfO0EmckMhajtSXjQk bV50JkpqV3ZgP1NIfWNvYy0NCj4gKTtQTEB3YlY7RSZQM3INCj4gektWVXJ2U2tLe0UkRnEpUzRi S3skKWpWKyl7K1VYaWx8MTctPDI9aUdtS1RxV2hmeSEoXzQ3QiMtLXlaJSRMNWtVDQo+IHpBVyQk Q19EeWRLIyh9PCgjKWxQK1VCUTBVb01sJDAqQ0ZxVC0NCj4gPDI2I0BKanRGJXFLbSVDKitOO0k8 cSUqYTZNPF4NCj4gekY+ZzRie3dYfEJ8Q09jPXA1ezV5Kj9PNDY1UkdNeCklQX1mVWAxclI0aGhv WDd5cFU0LQ0KPiAxI3M0R1N4QEhxWTkzKg0KPiB6WiZ2VXElb1BWYCVsaGpGVEd8ayYtVlNVe2Rt UFd1MHtKbnZfTFFxViUyZkgtQFFteEtVZyp1bXYtDQo+IGkjdS1mcTZHDQo+IHpZQ1IkQUZSaitr VD5aP34mbDNHNF5tREMjWnB3YWwxRjdIREYlWHM7Yn4ldG8qMWFiWEdYI3s5bi0NCj4gXjk1ZCt2 VDsNCj4genJ2SVc/WTtHKl5fam10UXtvZUxkb0J3YDZaYEReMlh7Rzt+ISk+dEFxbyZkIzIqcHxC KmF4NnRYT2drSnoxcA0KPiAzfA0KPiB6NlRhSmZ1Z2FBIT1xPGJsc2k9UFJZcTYpO2tqSmpUUHk5 QWpvSmo0R212bk99ZEk2eVBVTHhCI3hebGFzQEsyOEwNCj4gekxUXkVudWQ2IXlGK3cxTnEyP15O R3lAJnc9eCh9b3NCXyY9TUooM2FlZ1pGPy0NCj4gMGp1JTdZQ0dFIW5PbS0jRW8jSw0KPiB6ayY2 bXRrd0dtc3k9PXFhPCN2LQ0KPiB+eTlqUkhAb1VoYlAoQyh5TmBMa3JyOVZNdV4yY2laamlYMnI/ IXwyPTg9YFpRDQo+IHpxdVFPOHkyTF9aTXxrdjdhPDIyOyZJPTFmMlI+ITs1WG1qR2B8WD4yNCNh R1QwPmxCZXhRKnhBM0tvZiNTWA0KPiBkOG0NCj4gem0hUyFHbXNFQSU9Xj5KRUMjPHp9e3o0ailU QElTO2E/b1UjZ09nO0owfE11T210NzhVPGFGVEtmdFNyNlh2DQo+IGIxYQ0KPiB6Yk1vMDYyVGk7 KEk3JDFvTjc/c1NfU1FZOUFBNSZseTw8Mk8/Wj5XXjBXJmR5bEd2OGEmZ0orIVhIRSRgaF8NCj4g K28yDQo+IHowOyZHM01MXj1obmUqSGk3WmQ9PXJ9Ukx3bGNgU3tLeHpWc244WHp3P2A1aUdQfVYl cFFHJnt9bHJAem8ldw0KPiB4Qn4NCj4gejAje35BSCNXdDRQIyg5JkwrJFl7UVUlJiRvc1R+O1Vg dnxhYVpaaUZEZjJFaXZJdEttMyk0Xj5lZCM7e15VO0sNCj4gOQ0KPiB6QXdEaG56bFRwTkxRdXV0 UVVvZilyeUppfjA0a3B7bksoUGRyIVFNJCYyNFVrUGo1cXEyfWtyTkAjKm9ebQ0KPiBoUyYyDQo+ IHpffHl+dj4xUnheZj1PcmlibTt7Sks9TFUpa1BNJko4YkpQRSFLWCs2UTttNjVlMHExaWYlI1NP REsmQi0NCj4gVm12S1QNCj4gemRFc2d9cFpxQylnc1c+OWIlQFQtDQo+IG1eO1AmS2leJEN6bzdw PFclMyMhaUN3dDIpPj5kbEJCOERiVFJje142eyhORQ0KPiB6aFV0eyM7OSg8ZDlicH19NnhZRVdP eXw0akFZR0E2KVRpYHlENl5+MCpJQCohbUNKYV9BPV9BYHB0UCE3Q0wkKSkNCj4gelN2PWokJUZI U3BYQ29UaStRPypQKH5oMn5tLXt+dWtEOUtPOHoqSStsNH4tDQo+IH1QSTt1KztuUTQwQVZuQzw5 TTNWVw0KPiB6MS0qZkRoJj5pIThzMElTTCV7MmdBK1R+TUJVaVR9K0N5PW4pK0FpKjAoJihpIyYt WG4rSlJmc0ImIU1TRmZTTHUNCj4gemRWS0N0I3dUKXV7YU1JKTIpPjJQKn52cTZGR01XX1VvdUxa SlA/aTI1OHZvQnZHc1ZUMG5MTXQ+eTRJckANCj4gQ2xARw0KPiB6O0s9JG88YHAtDQo+IGJHTiFA ZHU0XnAxOHhkWTk+WiFGfl5iZ3FgVnJQSDw7OTE3alNPPGduJEBkPnRnZWZOSHBSNC1eDQo+IHpm MUwtDQo+ID0pY2xzQmAyTkp5JGloN1E1THxENEVXRCNFeD09RjA/Pn5VY2xZI2ZRa2h1X2UhQXdY bGVgQVE+Y2J5JFYNCj4gelphQmR4TkwkZzR1JHQ9KFMqYzh0Wkh0Kl9FJXhOR0sxSztGPWN+ZUQ+ bnlJPnU+THBEajtMbXooJH1vYT8kbXQNCj4gRQ0KPiB6S1cxUCQqSHNKVVM0LQ0KPiA7fHB1aEQw VjAoM1hNWSNwfnA7UzwxZElkOUpPelJuVDR8NXBFST0wV2NFM3t4QnRycz5BDQo+IHpJRDk9R3lY fFZfeiRDJlV8MyNeK0dFPXYqNGtGaGIlZnZDYVVhJjcqMU4kdz1FSjR0Wkc5NFBuenlWa0oNCj4g dGJoZkANCj4gemxKc18+LU9BP3BDU3VzPy1BZ0NuTlVYcWhHakBwUyU5WEpiRX1rPHMtDQo+IGdk dTFqaUZSdCQ+bVc/SHNOe3VObktQdQ0KPiB6TW5NenUxJlNKKD8lRzlNbGpmaDVTNFk8aUBpfDEr Wih8LQ0KPiBpZVRpX20wJEA+ekxIcCppe0hiME15Sn1ERHl0eUgyDQo+IHpXKmhlOEZhczhqe0hI eX47bm1EJG0zVj1CQHRwan49TXlJbjI8PXBhSk4qcTIrS0pae1FUMXJJbm9mQGgNCj4gK2t8JHEN Cj4geigqdnBfPmApfXF6fnVOJlU7cHozXzBLNC1wSlclZlJmWTlPaUdCU2whaFBrO3NRIzdJbVQ4 ajdwfXo7JFFgQzVpDQo+IHp6ZkUqNGtTRzhrWDcleWlZSCNJNGBAMV4lKWRBV2llM3E9e2dyOUVK NFVVVj4zWFk0bUkkPzM4S2tMaD4tDQo+IHRiX2kNCj4genRaNz1AbSQtVUt4fDRPfE0+O3pFamZC U2Z0TWolaUZ0aHRuVTIjYX5sZkxzM09eM2pyOFNwVVBmNGBFUT9eWigkDQo+IHpgKG1lKTNWQitU Km1xdDx4VWJGJkpEK1FfbmVrIWsmai0NCj4gVChGcUxGPik2aUpDPlFiNTkkZEl0SWUoeGVYMEsw MUQNCj4gekhhaUV+SUZ2aUNBZDx9cXd7VjRMZj5CQXR2JigwZUI7M09fKjI0bSNubnohK1B1MDg/ ZWElaz4qS1N4X1F7WA0KPiBBZA0KPiB6WEExRTEreUZtPWVWeCEkYmRmYlZNM1ZxYllaPS0NCj4g UVFiV05hOCRpbT88Wj8oKk5UOEJZOyQrPTlBKTA+amoxV0A4DQo+IHpjQiF+QHhoRCEpSjd5Ym9u WmQ9VDxFV35OQHo7Zzs+bGcjQG0lVXs7Z2FRN1pUK3B5Zml5T3VlVWZ7bVQNCj4gQWA+KyUNCj4g ek82KGhFXzxRajVzQTBGNnM/M3kocFZEMlBaWigtDQo+IFJUPnJgSm8mI0JrRnE8TGU2VXQhTTxs Z2hMTihnTVZrOTZFXw0KPiB6Q34hQFAwYEhNU0VnZ3VpVCh2P2ZWWV89ZUl0dntrX2FTZn5BRGlh bElfQE02Jk9UUkRTTjV0QnU+NHltNyFKDQo+IDZmDQo+IHpZdGs8fnk8P3tQQSNXbldXX3RHPmZS VmVfZU9GO3FvOSozQmA4SlAwNHQ8LSF1ZD4kNC1PREJiSiMqKUQyLQ0KPiBRVCMNCj4gejlRVm5u aEVFak1AUDI5I3FFfV5xV0NJZW42WUE0VlZWa0xvezJCT0ohNVIzYkEqTGBWUFVKPGY1WG9nZikN Cj4gOWVQMQ0KPiB6eDZURHEqelE1S2prdTw7Wk93SlJ5dnpWYjNhMFJ+IXRvRHltakUkSWNFMDsy PFNDbE1RRFEmLQ0KPiBIaVp3KVJqcCE2DQo+IHpiTDtoVT55K1VlJmt2c19Hc0oxP0BDfERDcUY4 USYhbVdRZWR+ejQmaHdyfndtXzNuLVgtDQo+IFYzenJOUUw4Zmw2SkgNCj4gem9yM3ZeYCEkPS0j bWtYZjt0NlMjUnlrZn1KdjJzVzk5emk8TjNIVnojKEhRYXs/ayFRSm5ETD1gejBzdVM0Wk1VDQo+ IHprJDxFWForVGg5YkIlNHN4SlE/UWI8dGlqajUpIXZlcWc2ZEdLT1dsbzwkcSFTPilYMWIzWEI+ M3tuaCF2flINCj4gPG8NCj4gei05OEZHdEVnRXs+aWo3VWM7fXpqZlV5MzFDZkMyfj08KkBzRGY+ Y08zMGFqPHtlSiVsMVl0STkrR2U8UU85fXojDQo+IHpLNy0NCj4gTl5AZVlmYyUkfTMpdEF8UTIp S0FVSispJmp4a1o+Y3wjc2wkJGB9fDNVSTMkJV9hWTUyR080X3UpKiojVmoNCj4gekJ1eiQxSHkw O2VwYF5ORXtXVzIhaSt4aH1RQks+WXhtQmBhbGc2NVY3KypUZkM7N0tjRldWcEJDd1U9RmINCj4g OHE3JA0KPiB6MVQ4e2xsM0tTYiozT0VGT1o/Kz9oWDRFJDhuQWU/TkAjeXdUakA1dkNFVSE1KSRu KjxnKy0NCj4gYEFMdGA/YFQhWSNsDQo+IHozeVozKm9LPmZhJCZhbjRxSGxRZVYlWiklUlFtPms1 IXhRTj9MdUJ8PSlKaENhUjgzSj5ZPkBVRCZvbw0KPiBaZDh4JWMNCj4genl2NXAyMklROCVSXlJv dG1WViNHMno3R0Q2XzE4MldaPzdQQSkoc3dUeX5je00xP0hadG8yXnxoRVZpKXkNCj4gWDJXVw0K PiB6bXIxZ0YqKmp0fnZeIXVOYnJ5UEp4JXBtRS1jMHN8KUYoQGJwfS0NCj4gUD8+P2NAdU9ldkxT X2ZxbWhaViRrekdmX1lrDQo+IHp3UjhBIWVuTSFTayhuKiV6XzgoQTw+NGJvMVRmNkZhcil4WmV4 Vj8zYnArVzUtDQo+IGUhPlglWH5Sd0JSYFY2bnE5bV4NCj4gejtwTlE1Z2dYRyskbGk2a2lWdGVq SHBxKDJFZCFmdURiNkZfNGoyV3MhdFN5N0UoajE1NmcxRlBkaD9RbUQ+Rlc/DQo+IHo0dWgyelhJ R3RiOG9GX1Ihc1VibnlmKzxjYmAkPTYocDtTMzkkSVdeb3srJnZScmw5T01NS1d4UUhhKHdNDQo+ IEU2fHANCj4gellIMz95dXkxenZZJXBgRmche0J7VkFRPVVePnxzajc0YVNAaDxsXitXRik/YVJS WHRlZ2FINmFfNV9senR+YQ0KPiBFOw0KPiB6elBJYH4mQTApdyReZF8/VVQoT0J6b31RfC0tDQo+ IFpWaVUoVFpTb09oc1glR3M1fSM+JDdqdCpaTXxMZU1hVkBQeGJFDQo+IHo3YVU+Y3BET0tfUUVC cVM3U3YlU21ITHVBZzgjezRhSV9MQDJQcD8kTFFYV2BsWEM7MiZVQ2FkMWUoX3QNCj4gTHZ4e3IN Cj4gekNNXmI8NSs7fG94TXIpY0leaDxjczl+LVhTOHc9UUxMVjhgNC0NCj4gNHNuUUxQUSRyYFdn fnk+d3B5c3d9USllYFlMTA0KPiB6SV89QChLbExaI1NIRjZeJmk3MkEkQV4heVVhPW1XKUw8PEs/ YFNwPzgma1VyZUZ3MChvUD4/WHhIdE9MKA0KPiBAVyY2DQo+IHp7aSVfPGZINFFNPWZqK09KbCFF bVpSRDR8dnxFT0NCSC0NCj4gZnV0ZyVtWndyPjxTSnA8KH16e3hiJUd9TVpXZn40cjgNCj4gelJA NX1pN0c+cXk3bHRhZSphJllgKlFJPHdfU1BfNnhsLWZHcylzNSojY0trQipDaGYkKUV6dXEyO1pS YUhXSlVpDQo+IHpFcl97MmghSlROVFRHMkRaNig7ZSVZLQ0KPiBlcD4paE8+ZjJ1ZU5RejZMN1JC KXtkZiljMikzTXozfF89MVI8TV53PGoNCj4gekg+KX53JlIwJk4mUX5zS0kjPVA9el9XdnhiQWxL Vl5AMFkqKzx5cktLPzdnNElJMi0NCj4gMFZGT2lBSz83cT49bENkUw0KPiB6U1ppY288RVlmO1h2 fUNlNH5MNXI5PH4qUyotcVZCYkhsbmhCcjVsYiRmLW4ocTdxZmA1RVNeJitqbiFWN2B6SjwNCj4g ekktWGdeP29NRGA7d3ZqayktKnlBN3F6SmI1c05IO1hqNyo0TDU5MWJ3d0s+Xj8+NEI7WF8mM0Ir Yy0NCj4gTiZzZEV9Qw0KPiB6Nm5ERkQ9NyZeb0JSSHFRdmZXLTZYMFlydE97cThoJiFveS0NCj4g UWthPmRIMTEpcEFZSGRnKD1id0BSUk5qdzZ7YEFtDQo+IHphc3JHT2NrLTNydTx2M2VqRiZ4U0Rk TGBCbWkxciVxeXZeUiVxdTlLdEVuMnQ4IUMzRjM7dlNmKyRsS35SKTtnRw0KPiB6cnR5Wl55SHQ3 KlEhV2ktdkZ4YVRVI2AzUXl9QGpTPip3cnQ2RUleTmJ8I2Y+U1g7M28panooM157fFNkeUI9T2kN Cj4gelooZSNDPFU1MVVpV19JZFZzfHwoJEN3SWh1YWEtVUB+IWg7PGN2dDtzQlRXRSQ8JDs9fDJM bmxvWHJAdUg5LQ0KPiA9JQ0KPiB6KWJKKE9LbHlpTEUwWXdlOGZuSHxTWURKcHU3aStSMjNXdiV0 KlZLN0dGRGdBbGxIRmZUMTY5T3F1SiNieW07NQ0KPiBjDQo+IHopSj9WVyNFIXpiYjxYPE52T2xm WV4rUCYoYUtuPWBENyZtNUZfLSpXJjhlNWVfUFFILQ0KPiBYT3VPTGx9UTFlVDMxKW0NCj4genY2 OGxRS0l7QVd1R0V2YE9GOGBoPWxBbiQ+KnErPSYlQFR3NW9CTnVqVSVfKTBpeGo8c3ZyTkMpdHZg QEV0DQo+IGpSOQ0KPiB6OGVhelp7YF5gekcra0pXaG8tfmQ4PVlYIVRoPXN9SXVJQz9iWDx0UUZs YHV7WGBFK147QFMzbD8pQU13cHQ4cEsNCj4geitsNE5ZZlgpXno5TnNDXlIzNzJ3UVMlNnFBaWUq fDVPfnIlREFIQH1ZIWs8NkZKLQ0KPiBuRz5IUWVlRF5AYVdDJEhhVQ0KPiB6XzA9azgrSjR2MC1L TEw8KmZucGMqc2l5WCU+QFEzWjc7ZHsmY3pCPXtCNVVaRUtsZTJgdHRkPXNmRDE9YzVBNlINCj4g ekFvQmc4QEV+Zmk9bXFQPVQrVE99aE13N2t3WUJzKCh5PGB0SzRjMmFRPDdKYFZtZyskQ2VKPXNq R0hfMGINCj4gIXZLfg0KPiB6SlZ3Ym0tDQo+ID5yWDVVU2B0ZlF6azEoWmtnU2AqKmE2Ukx3NCFJ OVlEOGpVUSQrYlJMT2FfUVdhTk9wZzxaNXRuLX4xDQo+IHojYUxUSVNuPmFTWkJmTiY4UnhyVzNN PSswZVp8VmA3OFhgNFNyTzdlJkx1WERXKWtJSXR+cyVPP3JxMCp0e1kNCj4gd1ENCj4gei1pZTct DQo+IHdlQkghTUtBbURqcVRTbXZoTUpWK3ZjdVVzdm8+ej5FfkQxeTNiOFleJVlWdj1vPVAxaTxa fEBVLQ0KPiB4JiUNCj4gemtoQXZecXpfbVNxfShOVTFxb1ViP3RpY15ma01+IWxsYkp2WF5wJVRE XldQSGB5WUZtaUVST28rUWRHaA0KPiB2P0czRQ0KPiB6S1dZPkVOT3BQMjNzej14TnNLYnpLMjRi dCtwYkBDOC0NCj4gQmAwVzArPylqZG5nfU8rPXUoNCtARlpWXkZPYyopJWZFDQo+IHorI1ZeUVZL cigmRiU5ZUJUO3BpeDt+UXVLVH1jZ3lhO1l5bTRUd3s+dkRefm0kSjAjYUtVRk1TNUthb2goDQo+ ID9haFkNCj4gekVsYVBjNSVnM0ltVURMST1yfEA0NjVhSURJVkB0Vk5DbHUrdXlIRFEjb3xjKUtR Nmk+PkNtfDdRN0crKHsNCj4gRGcrUg0KPiB6dHFkMVNocylHI1pmS3JeUDM8OCs1QyRTQWFkPm1K WjxMTllFfTJzPSpUXiZqJX1IaDAjJTFNKyUqPHZkDQo+IFRWfWs9DQo+IHpoT30yaUN7YWZtRzQ+ ZXF1PT9XSDxgTlFGMGpOfnlNX20wLQ0KPiAwKjNVNF53ZlNaOVdJWFkmSjZSU08oQWJOXnl7dVgN Cj4gelVKPDYjV3YqfEBUJjViQCNfOHZPK2BZKSFWNEJOdUA1NnR0clh7T2x2LQ0KPiBgOyhHfnBs JXJoI2JKZj58YztuOSN9Uw0KPiB6TXt8S3IqOEF4e0MzKlJJSGZgcjZvdT9QaSs1Umh7N3UwZnx5 QXI4bkN9VntmQ31uYndldzVqRCZiRW5lUSY4DQo+IDVEDQo+IHpAb2pxYFZDbXZ6YEthfThfVnUz Xio4aD1kPmkrP1JBKiRifU90ekNSc20haXFPOG88V0xIKG4/ezxubm5LDQo+IFdCVHUNCj4gek4m UFJaLQ0KPiA9fEZPU04rUURJJkU/QV53UmdnfDB3bVJNcnRHcm1vTEtWKmUkaHNAMzQwdmA+NGlV JFVlJHkjMCtJXw0KPiB6aEdUVCtgOEchSDI7MkNNRFElcVp6Sy0NCj4gWklme3s7fHlwNFFHV3Ar UUdsXj4od2k+YmkzZ0sxIUBaTkd+MjJCP0R4DQo+IHpRb2A0YEpnbzhpd3Z+JlpnMEdERVpjJDs0 S0JjY3duY1dTQUg5a2Q7cTxONnlzKWxuU2Z4YiQ7NGNPKkxhZGs/DQo+IHYNCj4geiZlej0tKjQ8 b09IfG1KPCsjXio1ejRhLTUtDQo+IE9CNzxuMz9ad3VHekN7PztEMXRjYTVXeGZrPWJfITxqQ3o1 enNfQQ0KPiB6UzhRbzFoVmlScz5eTlFIel5NXjJjJE56O2pUdShTZWZJNno/TkAzPjg5d2gycUkp cnx7fSRwRWVoVSFfemczDQo+ICs3DQo+IHplKCUtDQo+IHFTdWx9VktDZm4wQDRBe3hHZ3I7NGVy ZlFmcFFaKzVYfk5RYzU7ckd8dElObURBK0J5I0ZQXjNecE5CIV4NCj4genlxWDMzVWl3e1RraGZ9 e0tnMHJWJnw8RWRobmVOUD5iPCRXS2lUe0ktb2FUdj5vYHBPPXUwYy0NCj4gJkJebz1RfUAhWg0K PiB6JUokeFRUbSRLRGlRaGI8ZndaZWp1SFpfPS0NCj4gQikoWmM8SEF2NFdAbj9gQGpjM15tdWo1 R2EmRWJZSXprSEhtTmUtDQo+IHpxLXZVazRYMnY1P25IVzBsYUh6K2lYTHtIT3E7QWQqNHBMc0Ry dzgoMy0NCj4gKD5QX0tNdGx0aWQmYzBBKkI4WUgmWGQNCj4genVLT0g2SDk+MnVZMypeZXdzTGo2 cDVDN2ZHPGE2PnRpRXo+KnpnYTFBWm1CT0s4NW1nX0dOa1lYezNPQw0KPiBhXj8tVw0KPiB6ZlBH NTUkPUlqO0NlZT0mLXdFLQ0KPiBUS3lhZHxfU1UzUUNLdXtReXFDSzxvPTNqbkg7ZE9PVjRyPzhD ajJYOHBGK01aDQo+IHpWNHZQKiNsZzNJcHR4ZT0reG5uMVFOPSFgdWhgaDltdUQxSXs0akdvVjRu X210filHLQ0KPiBYPGU9UlI4KVh4bjlNVkUNCj4gejxLZXA9LWYtDQo+ICV0WDBZTUZGdHY1YGBo RUk+TVVYV3M/Nz9XWkNWTDVVMChPQ3QjRk5+SHh1QFVwakl6OVM0bDloYQ0KPiB6K2hPY3QzTmVP JnttdFI/RVY1Q052Rj9LPHgxQl9SIyYxeTdWZmJMZTtBfHUjM05IQyVidGl3aTg0Z0FiDQo+IGdO PUNVDQo+IHpXdiU0UElBPVk9UmBkRU4xSjxIYHVRNyR3dmtGRTtSY2gydT5jZTFWQnZaTXVWVEVU RVhyJlpZdj1XQQ0KPiBER2Aqc2wNCj4gellSSkgxbnJXRit1Wnlvb0kzZHI+Jnk8Nz5EZEdAX1cm MkRjI1IzRzRNMDc/WTxKVWlGZF8oSkRZb3NODQo+ICo3IVVARA0KPiB6a1o2KnE5QVB2dHNOYnU0 c19BeSQoeiZFej9WcX14NGU9TCQ0fkQ8KW5tS3RrcHZ3SVYxa2R9aWhuNjcmen45DQo+IGdFDQo+ IHpTalU8RUV9I2J0bGlUTEd2dSRhbXJ0JFJCPHY9NUs+KytjSDFzS24pU1Q2cHIlM1c3ajQkTVF8 PGlZNDBfN2lSDQo+IHUNCj4genFXZkBWNjZNVkVBOXREQj5Mfm9qZCM/NXIhVSRLTTZvX3olNz5J RTdYUmQpcmdtaHFkQDZVe0lKcWg3DQo+IEAoRmorYQ0KPiB6NXc0bnVhRVRPJWE4KDlgPnd8QH0t cjgjLQ0KPiBodDVTR1NAbX5BOWFrRUtQcHpwZz5zVCZmIXx8UUIqMzdOPXtBK1JlDQo+IHpDJjVK TCtNM2ghMSV0eyQoN0M0T2JiWG9CTG4maVI/a2VmMWJpWUVoWChBRXs5c2NfOUBfO3goV1VSakFQ eT8NCj4gM3cNCj4gejx8U2dYZnA3cjdQfkh+XkJ7fjwmMG1UKStUSm9MdFFfYmYyT2lzeTh3NGRs NVFAcGV7SnpHdkdoOSMhWVYhMQ0KPiBYXg0KPiB6OCQtRmx1LUxwanl1ZHNyT3d7JWV4QiQhUyM9 e2V9VD9Pd09xVzNKS3Fsd3p2RWM0KzcrRnZ1VCQmVmVrQ1otDQo+IHg3DQo+IHo+SFhtPWRCTDlw Nlo0PU4hdHM7RiE7Y01CJiQ3YkZrdjR9SiNKe3ZKWlQ+UE1PYnpoXntMfV9IPSR8eW55MSMNCj4g dTQNCj4gejRhakVJaiF1MXxiYHgpKTVaaXslJDQmZ2glZXR7XkYrTiNjbmsmc2M2KX4rTEBlYmtK ajhldTx5S3ZIKXIjdEhrDQo+IHoqYjJLQWNEQUArQVZEWXI/dihHY3B9K1RjSVAyS05rTld9SjU5 NXJEcTRMSF5tbkhgaTlIcDRvWCMpSVlqfQ0KPiBtdCYNCj4gekB5JExsbDJmYmReK2BTNSZaZSpg SFZ6V3EoRzl8KnhvWjhGIzcrJXlONW88NnNgTnt9XiYqVUMlU3JxJWoNCj4gdU1ZcA0KPiB6NTVa cFZsLQ0KPiBLfmpCcG9GRm99PE0jeU5fYihaWitLUlo+ITQ4ejgwM0YrNVBiWllkJW83dF41UiY5 fD9TMzlxc1lBDQo+IHpkRHthQksxbEBPbHJhbDtZSXVtQFFFOzN+ISpzfThnVHR9JU8+PyFfI0I8 TE9RbWI0b1pta2RNdEkoKFpaTQ0KPiAqTiENCj4gekUkIWB2cjcwS1pqbDxJUHNlaD1hPyZVUyVq YHVOQ0pvX0YzbnE0ZGtzTktNcnc3NHFZK2wyZW9zbipLQTNneShsDQo+IHp6NnhkMEtsYz11MGM9 PExaNGJPYXVAa2otDQo+IGZ8ZHZhJisxJlBmU3owPCUwRUAydVYoazl1JjZNU1pXRjxAKzlKZCoN Cj4gejBBO349QTR2e1AoSnZmMGloallwNW5kc2pIO2VtZVc9VTFvaFp5UjxpZTM3ayVeTXI1enRZ UlEqdyg3PDNXDQo+IDc0VA0KPiB6KXFgZ0RkVmxge1k2eXZlcz1BJmJiKkE8PGdHTmFoSHlEeyY5 RmpkayhfcCUzJGdiJG4wc1hJJUJlO1lwdXg4DQo+IDlPDQo+IHo0eUdMWCpnO1lARyMkRzZJUUs9 PXlWeU19RCY7PWRYTmhpVEpoWkFiX2M3dmlXIXptfWBIU0EhZU18YHt6DQo+IGhuYUsNCj4geldI MmJWaFMzQXQpVUpmUEpgQkwzYzdIP0RLbkkpWkE/XzhCR2RHbTZHO3FJfSQ/V21BQnM2NkIzS3BO XzQNCj4gbyVoag0KPiB6Ryp4eEY2Q19PYkRyQmNaelU0endpfXpAbEpJLWpFYUxkZVNoO3c7IStp VXRONmZSSkBTcnxeYT4oRiFwYUBpbnkNCj4gek07RithVmJ4alQ5dzc7OE1CWW50Qy0NCj4gK3NA WGVnSlVCcUhYbjtZQ3d1aXNDQXVTc15gNGo9bzdzPjQ0O2s5PTR5Rg0KPiB6OTNxVCkxa05SbDYj NVBPNDVOLW5RR2BwRC0NCj4gKThiUlhxP3B+KHM/KU9qakRLaDVfZXM1dHNNb0YjeTIzMHp4VVBS DQo+IHpvODktDQo+IHxUdHRmSCk5PllYMXprZHhhTll0VmklazAjX3FqalhwMl5aUWRVOSM8aFU7 KDNyXiV1UlF6S1BRQ3dPY1ANCj4genJrdCY3SmJBdDg/YTxtRDR5K1FmVF9rRHBnYkRqQU9TO3px aH01RTNgd1V4KUNrRkg+U2BeUnlCST44NVp3ew0KPiBzbA0KPiB6YThrWkFZYE1ZOClOPHBfakZv JT5PcDxhVERCd3I1RmJgayZuSkUkeEVVb19fMzJPMyhFTXYoUF5LQlJLDQo+IDl+ZW9lDQo+IHpA PExRQ1lWS2BsISRXMn5wRSE5Z0lqamhHSiRPWVhGQmUmaGAtO1VvZ19Lb1dhaT9KO2otNnMkPDtS bEc2eDgpTQ0KPiB6I2RYPE1gIylqQGJ3IUROVGBJITtAZWMpY3BgM19rWUVAYktfOzcoVGMpZTxX ZV49MGtVekFQbD9gNEg7aCFRDQo+IDlGDQo+IHpNRXpZYCphcXdHanckYFUtfW0/VDEkRXRBVCRs Q3Q3WlhTRnUjRlA/eD5TVWxVMDlkenVQVTM9LQ0KPiB3MGNSXnxOemINCj4geis7fkJAN1FxI2JV akgxPW5ISCVhZEJ8X3F4Zmh7UXA8Rn43dzY4KXYjMkJ4Kk1tb0N8JDFNeVhIQygNCj4gUzMpPG1L Vw0KPiB6d2pTYCtOVXl5O28zZ2VrPkFIfiRiSFdmOSo/V2FzIXBEPyYyWWEkJnZuczkpOUFhVSt6 M2ZgOCRaTn52Ug0KPiBvJFhyDQo+IHpuYzlfMUJLOXRZVGIkVm5FMVI5PFJ+YG5xb098PyFlWHd3 OVl+UytaJjhSOyYwTmEmV3ckZClpOHQrezY4DQo+IElIIUcNCj4genY1X0o5JGBtd2h4UThFXy0N Cj4gbm5xSVYlWXN+RmtvZFRmd0BtVzRMYVkzbFJYOU54VyZwWTFeKlFkPnM8N0NBOGg0eA0KPiB6 RUJLdk8yIzBLPUxoZXY3ZikpeHZqVCNqcStsTzRPNzRrbjYlKUNgJkhXRi0NCj4gMlUpa0lpcFRH a0ZNPWVkbG9MO3NQDQo+IHo3UFY8U2EkQVl9KUFFRitmRTxzKG9UaSh2byEqfGpuUT1GQUZyR1FT cCoxZUFXfDtJQChDbkxsKzZfLSlwSSo3Qg0KPiB6WGBFSDxyPHF5eytFPEQ3PGY3S2BSWSsmeWQ+ V2VLbE8oR0peY01mS3Nse0NeWlg3Q2N7eyVSTC1QKlAhNChDRCkNCj4gekYrPExlWTdDcGtGJVV0 d2NyR1FJb3lsVGN3Qn17JGtrVCp3Kz5fcD5hb0hEZylIMyV9VFN2MDslXzIlfFANCj4gK00pOA0K PiB6NlllSDIwUUYzTGRiU3YqKU04X3NKVShnMW41bmZrUD1YTE1hN3F6MHBzTVJAMjVjJWsoXnA4 YmtfQXxODQo+ID5YcFUqDQo+IHowYHw3cyE8dTFZYVV9TSNtd1Jla2ZZdE0xX2B7QTxWYldBXyFy aDNiaGF1fiR1eSM8cU9mUFNTKUNvQ34NCj4gX2d3JnkNCj4geitAaGFyYEpvO1l1ZH4/QFlnekpQ dHI7QVY4IzdAWVREUVpnJEU1JW8jI3o8YEhLLQ0KPiBAcGV9eSZaUX56aik3eT5hJg0KPiB6WVp3 RSloU1Y+WnxIeGs+MX1odzxHU0c1JiNye18pQlV3KEs8TiltI2R3Jm0wdCRueTVOQENxZ0UjNg0K PiBoaig2Km5uDQo+IHpPLX18NEdjbkEyXn0mZilsVnZLZWNKcXlnPHVeb0lIb3FrfW9OITthTFRj RlAoMX59ZmxBMzRZWDdkP3xoanAtYQ0KPiB6bHhySXM4Yj89SSZgTksmeDVOZklpY1l4ZUk0X2U1 UEE7KHNTPXhuUlJobGd6Tj0rdl43ZGZRa2lvVW5fTmArS04NCj4gekklQEI+PThiT2A1MWE+MG8/ bTRoLQ0KPiA3WWM7QXE+X0ZDP3opcD5tVHlhejdvTHtzc3wjUHtGdVdZNVF1Nld2Qkp3ZA0KPiB6 THhmPmpBWVN0YmVSe3tLdGIxczQleEBGPXA+YTcoZFFyT3hEVThQTDJJQWxaV3R9ZURnNWx5NnI5 PjNtSmNzSA0KPiA9DQo+IHo9RzV1JXlZKXAxdXorIUhldFdVbXtoSXNZODVqKVgtDQo+IG8mdyVP ZXR9dyRSKmFiYSN8QHM2KyUmRHBgRXR4ZTEzKisNCj4genVDPVlaaTZQLTB4ZmZIZiV4I358QzNH KlEjKlZHKGV5ZkV4eUA9dm1aazxoNSM3KUNpSU80SkQtDQo+IEFnOUkzR1FiSw0KPiB6UX41TSV3 NWRHVFR0UztIKnMpflNaVkQwRWM8el4hTEA0YD1pczJzcyZIIz9PQyRren5BRytaV21LJigNCj4g bjFRIXQzDQo+IHpxXnNHTzMtDQo+IEUhXit9RCtRPHI8Y2U1RkMrNDQ3U3xMUG1QYDR1PndxN3U8 djJHdkRpeiRMb2JoKTN1STtOP3JGZlgNCj4gejV+VjA7Kk5NUmFAWiNZYipeOClQIzNYVmYqOGRU SkhxUmcrRSZ1TT1INE1NPzRCMSkxME9hPEItDQo+IEU1enVTYGgjVA0KPiB6dl94PFRLeSlsMV8k ck4pOzxLdVltNFl8TTROQFFvQ0VUJVYhX2o+c3dHZ19vdzFAR0g+SS0NCj4gbFA0OSNRRUdgTiFe DQo+IHpId0NnbSsyTlR7JjteVVUwRmw2IzBNSz1rITQtDQo+IFczVj5XITcmS2p2e3Rkckh+T0E2 NGtBcFApNUkqSzluJkl5UE4NCj4gekp0ZDBmMXQmTHhNJUpMXzMtDQo+IHQkaWAhNVdIPXMjcThQ PXUmc3t6VUJxMXZgVnZ6NnltNDMzOWRHaUFpY35PfipfaA0KPiB6dE81MkpGPnJaTkFBPE82aWkk OXxkZjRKPk4laVlRKWs5aSg/NENUaWwjKUVpZzFHNWttdnR5OCRJa0M/ZWJkPDkNCj4gem11LQ0K PiBrZ005WWt4d1Q/aHliaihZMShtVXokYSlNTFpLQWRiMWghKSljTCRIaVN1RG8+cGM8MiFPPEBA T3crfGFTDQo+IEsNCj4geiMhNTN7PHJ3ektyN31ycyo/QEJyJGkzZEE7WWRHJmIwVDNtWGlTSERx eUNxKyZraTcxKXFTNDwwKG1gdnhYKW4NCj4gZQ0KPiB6OHpEdnZyVXlXUCtBTUxTZWhtZj9jfWNN YTJAcFkkMDVNdzZKJiFocmxiZ3NNYzJnVXEwa35EYHJhIXZFDQo+IEs+XjNzDQo+IHo/cTJJPT9v NjxjelI3ZnBIU140RzNuRU4hJDdXNmAyJVhrfERLbH5QcWJxbF9uKFNWajxneDArJXJXM0Mrbg0K PiBMbnYNCj4gel4zRWQpeTdAT0IzPWIxUCFJbDBkcFQyIStkSWUyUlp5cUtmKnlIcGp3cnZnVTR+ PjQxQ1E7QVhzbTFMQ090aA0KPiBieA0KPiB6blhRLQ0KPiBST3N4X3ljdUpyPm1FWFhlbFlFZlRj MmBtWWJRcU07VHk4JWhjYHU9JFFNQUR3TT0jMUVfcWoyfishaGJFDQo+IHohU0dYdj9CcVFIblIk SEx7VUgzQnE8ViMkWEZFdHBWZWtwKm9NMEo5djI0OVVIcFkxXjFzMWFNYFNtUg0KPiB8QF8obmwN Cj4gekFNJXl0YCNXJXl7Kk0xO3toZ0BZMGVEVFdaMmVMOUdxVk1HdSpFfEA2Z3Ble0hqUnolcyht Klg0cg0KPiA5bn5ve3JAXg0KPiB6I0d+MjBZKTIqO0JfeXhvRW4oN35oSj97TVVlQz0yezhHNDAl RzRnQmdja1JaRkpXVGZ1T0UtDQo+ICtNYzsrK2plQ1Q2DQo+IHpkc0xOZSR0JkcmMDBhfjcwRlVI XzN4cGhAXmtlJTBpY1glYkZlWndaaC0NCj4gX0RibFhEYkNPTUBecUF6NCRMKkFiUmwNCj4genRQ K3NicjR9bjI9JEJmb3Z7O2EmN0FyeGw8SmBVcXJQPHVGNm9IeEdtXlA1R043bFBfWmQpJn0rbSts OCFnZkpEDQo+IHp3T0dGczImNm0rcWdrTVFQJCR0Nmt1bW8jenZWb0dzenx1KXJVZmF0WmlTSGxZ IUlnUWd8UGYmNVQ+U1hRDQo+IEBzaDcNCj4gejQxKUNLVz53MEkzT1diKnJsZyoySmQpTSNReDg7 OHZwZEk1eypfTSpZIT87OzZTbWA2cik/SGBuZjRAeEhKcA0KPiBocw0KPiB6WU1pV0xrLSlPXzYw X2p2Q0lLJlRJI21TT2tPKHdXTHo+LXctLQ0KPiBkfCs+T1IpXk42ST18I31HSTt8N259JmFqI2B5 DQo+IHpMV31QWVA5UlUlTW05Zi00SWVgKWEjfm8yZGUtYzIzaFVeckZlOzxqNmhRaTwyKmVyPjc8 c3s7ZXtLXi0NCj4gd3VPYDANCj4geiU5c0NgckBATE18MW4zaS0NCj4gfWFiIXVObGNPMzl1QjNf YnNgYEF4KGdxXmV3RmNUQ0FMaEBDTjN8N3cxXyM8YEpGbA0KPiB6NnktDQo+IHxWRyVwVTw0Mkw3 YFRYdkszUXw5Z3N7ayopQk91SVlaUDFyanZIWXNzKCtpZHFFTWl1Z3Vtc0AzNEJ0aU51DQo+IHo+ VElETGF1I1dhZWNDNzVEJjNjKFkqcV9gRXJ8cWZxPnxMeTgpSVRtPEomZz5qeTxNQFd0d2tuYVVX T3sNCj4gKjJHKjQNCj4genE/QHhTPmhuUlZOMG5UOTNnRXxZZ3Q3Sj5HUk9UOHgtDQo+IEd5alB5 ZzRtcH1RUV5udUtPbWNHODNjbE9FMDk1Mn48Jg0KPiB6WHNsYmQzQyRBaj9fTSE3RWlgTEM2WUxe XmQhckdKNVdCRzVNQXNsczxRbzUrRiM7czJHM3xQJjJLRDQmN3RxDQo+IHRADQo+IHpyJShwKD43 bCFieWRmYysqO2VnLV5lZXcrS20hWD8ybE5obkkockh9OW5CdlJWfndickUxX1VzPy12I3s5WjBS Ng0KPiB6N2ktc0xSNjNKMEZYOF55SDFoYXdCSWV3RCUoKTVJUjFrQXZKX2hmITNrcVRgJmN8R3dh SVk8aFMoMS1nbDVpOHANCj4genM4X3hvUkp2Z2NtTTdlUTdSMFFgJEUtLQ0KPiBXcj15dDh3S2Za KVl9WHsqenhZVXlhMnxIKzFxaURuOSFjYyF2aVdSMw0KPiB6KDtzYUxeZD18YVh2dmYmJEJBYmZZ SWZLQUxaO3lMQHhEbW1ePV5GYWBPLQ0KPiBhSjFHWENqOVkqX3djR1R5PSlzfSs4DQo+IHp2SkpK dUBiPWV0dH48MTJsb3hoQ2hmKWg7NT5hc15YdyVKTU55WEBYdWRtPz04eC0NCj4gemF2a2YkbW5z bGNecCg/anYNCj4gekpxeCY/WDR5d3x5Zkl1ZHdTc2BSdVJSKVg2bU5AIzFrViVJXilDaDMmT0RW b292KG8yOVk8MnBJSmd8Rw0KPiBEUn5OSw0KPiB6YDBFTCsxcVI+IVZJcSY7MFVlbntkKHtEcFhM aU9BVWp7UG5FeHB0LUttcHJGbjFpWHNgdD4lMSVpVFhTUHF3IXMNCj4gekhHeVJGVGg/KUlhdHMt KmBgIXV6RH5yTCZuYzJ6IXZEIWxzZUhFNClPMl9oMFZmRStSOUBVUyRJVnx0ditZKiF1DQo+IHpN Rl5UNFhjKUM4VyllNWxVUVg8fmk7fVNvKzd4SXF1YylNfEw4QFlqJHQqTCFEUGFUbGBfUjxtSDMt DQo+IHNrNF9WMTwNCj4gek14cTg8ZTYxUD8xdXQlR0gwdXBNQXEtQVMtDQo+IFYwdj13OVc8JWxT fWtvPlY3KDZCNmFWcVZWZz1UPzRnSG1uVldaYA0KPiB6WkJqfHFlb3xZUnRNI0EyPnh8VW1DRnQl O0kkb0MpaHdWPTAyVUl1cHQzJklla0FlYnlkdnFTaV87SGljY35KDQo+ICElDQo+IHopSmRAYWY+ WFNxPUtDQUs3U3dPMHhuQyV2RCVBfTZNWHMkfT9lbHEmckZRI1NBbllrN2pMMX1ldVp0WFp1DQo+ ICFZQEwNCj4gemk4fStDUF44TUIjVUh0JHJ+X0J8UGRhY18qbnhNcVZPTVlzRmMxME5pe1NEbitU Vm1iUE04OFh4diZvDQo+IFI+d1hoZw0KPiB6Q0slQzdgSHhodWlKYG5kK35LYlErQFBnWlVFSk8p ZnlTfGE1UlcmfmBUUXZHLQ0KPiBCQU98JD5fK2VoP188a2tSZmBMDQo+IHp0WHM/KUtZbFNrM0h7 OTFrQ0c7cCQ/ZHliOVk5Pzg8Tj8pPXhOdjBtOWdeZ0VjXipPI2FLbnI5PSslVzNkWg0KPiBAVjIN Cj4gejlTeExzND9vKEtYJjM2JmhlZlVxaXF6SV5ydGNoc2t7WXtzXjtITihuJSNmKFMlKVJQVFZE RC1fTEcjMzhBRC17DQo+IHomISp0RXZnQk1WcEdfcGpPfEV7Zy13bUYlTFFVdFMrO1A0aGF7czB7 X2RSYztaRmxQQC0NCj4ge0Y1VjlIWWE3S2VHOyMNCj4gej4kazxaI3Vsa0Y8QyZXOFlZYlduQF4q eElAQWkzPClwSllXWWU/XmJjQGE3YT9ONXNyJEI+P2NgbkppfmkNCj4gT1FgSQ0KPiB6SkpBaj57 KVRyYlJgeVNsRz5TVGVeeXhANEY9ZjNTSiZKeGphUHQ4UVopV1dDWWZAazE1Wl5pcGl2dkFMM3hg O0oNCj4geklGQlM1WlQ3Um9wakY7PlBYKG15Oz8xJTQrbGI4Nj5OQTVhY3l3PnU+MHpRdzw+cUVy XiZKfmxQN3pCV2Y1DQo+ID5FcQ0KPiB6REF0RStaZCooeG0+bnA0Tz1zJXl4ZSVCbkdsU0tvQWlU d1clcD9NRVgraCQ/QD1oOE84LQ0KPiA3MXpjRzd4UzshMXBYDQo+IHpvP3R6anZNeG5De0QzfmRf IXhaJTxnRHMrVV5hKSlYV2x4KmFidX5BemtsKWJCME5uQCF5RVMxYnZfPEgweQ0KPiAtZX4NCj4g enNybFlRQXtlVmNqJlY8d2ZIVEhhUmR+WCF6Xj9+djFoV0pRKT52UXBfWjYmdihEKWctDQo+IHR3 cE8kKDRLSFZVNXBYKQ0KPiB6KV5RQzlfWWU2M3hGSFZkPkJUPj9SPCRxaTFWY3EqYkVhKVk5KXo1 Qnl3RCN+Q1ZONXN4diU4T1Zra08+YA0KPiBwc0xYDQo+IHohY3JHb3dfQCR7ZTRXMVk1XzFMfWdL Uzl7OSRhTWZzSzskanptRnR1YFV+KUhOSkolRUd2PklMYVNQSVJpZCpKDQo+IGMNCj4gelN4P3Yt aFhWZEc5eUtkQ0R+Q2w9RU9gPG9CeVdTOXB9d2hlY203NmJSdmo9cjlWZlY3QUMlZT8xfDVpLQ0K PiBrZzlFXw0KPiB6K3BhcUVJfGV4WjBJVklDMWViSmk/KjIxZTRlZHduYmZNeFEmaTlZMj82fSgh NzBFb0lzRik2MEErSkFfdUNkWHsNCj4gemlDYV5LQEF3UnB1eWR5U2hfNF4pV0x7MDtuai0NCj4g OEI8fSltRCpsb2A2TmsrNVAzaiNvP25RaDByX3h7WDdoeTY9ew0KPiB6YX0lfDNyVnMwJmpSKk56 T04xSlhSOzc+ZDxSWGVVVDdHfmk1QVByUyFiJU03dXtBKGBRTUt+PURzRjxVDQo+ICg3JUZ9DQo+ IHopKSMyOzZTWWdpTzY9UzBeU099KkVBQERwOUMmeXVRcllDSTVNKl9zO09xMmMtDQo+IDg7bEZ3 NiFONmMpUEkrVXEyKigNCj4gem8xdClwYCFlJn5xX0YzXjZROWtpdlYrdmdPPVBoR1QlIT93Xk88 KSlINlQ4b3o8Vl4+bCFJZl9Tam40YU5nfXENCj4gNg0KPiB6KH59UGZpKCtrUyF9e3dCPnAjV25D dGJiIXs3Xnl0S0REbzMxLVMzb0dHTlk4LQ0KPiBsV1JtclpxVFF1VnVUTWQlY1pFDQo+IHp4ODk5 U3Z0NmY7KDxDbGhCTGV0Z0tUYC1sKF8yVjBDZmBjSDQ7d2A8STZPMGVVLUhYQGhoMGVHMHpVJWIy WlQ4aQ0KPiB6V1kyZDR6c3o/YnBDT3JLMVV3V2NlcmclTEZSX28lazV8SGUrXkJ2P2pMNk1wZE4r ZiUlSkdoeHclDQo+ID5jNmhWR2B6DQo+IHp3Xn1sb3JwaUFNNkwzND1aQE41ZEcyRGR+XmopNypg V34layZEJk5RbFBpT2hebFpJSFgkP0xXVTRXbg0KPiBMSCNhe2ANCj4gekNrb3trQms+KUgxcEgj ZHl4YFV4YkF0PHdVfEd5TiFeTV5URlQqUHFfVyFgWT9kfjQ8RV5vO1IkVTN9UA0KPiBfZz1tZA0K PiB6P2p1aExIa0dAKDJiQzwwJT5JUDBXX084P1QoRk56MEVRP3FkRWBgfF9hR2skY1VHOHA7OW0+ Iz8mWWk1DQo+ICZHZUJyDQo+IHo7QWtgQld3KTdUYDx4a0s+fS0pRGtYc0Q/VF9iIUFhUHdqZ1pp KVBpWGN9Q0w0bHZ1O0N3bSUhIWF7ITlYNDtNPQ0KPiB6eUgjQypOckU+ejtvfHw1R2B2cWVzWV9P cVpsWlJHbmFoQzVmTFR7MCspYk53Z2B9UF81Xih6Zlo+JWohbW1GSQ0KPiBqDQo+IHpYMn18bSph JXRwZ3tPdCNFezk7bEx2QDBHITs2cDZZXi1CJXt9aGV3Pil4WXNgUkNxPWhNWXIqKj90MXRUbGZn bg0KPiB6cXBmcGpaZTFkbzFOeSFYU3dYR1lvdj1lQnN3UW5rcSNtKD8pfTJINSZueGMhZU1qSVVQ SCVnU2RsczZJc2MNCj4gdnlrDQo+IHorS2lzLV9VaFp9IXdGUTdVIz1NRDd3NW0wSnwtDQo+IHtK a00/eyhRMmxvZ0U7V1ZAe3F0VWZwMm5vKFlWfU1QU2w+eVMNCj4genhudlJLXmpedDNDMHtoRDxh WXYzaSUqMC1WfDJLR0VpQyY9VXA2YDRUQVZYUiZZJmVlci0NCj4gIzEjWksmZH1Fb2p3eA0KPiB6 RWxmMzhrKCg2dig1Wl9UN1o8bDw4TkdXektpMCpkdXgoKnN7UjdyVEArfmdUbXNBI3dieTQlTDVB JHZJYEdpZQ0KPiBYDQo+IHpVNHU1PHk4d21fX2YtDQo+ICVgVHkxVWJDQlIrRWhhY18kam5HRTJX MmtJTnpFM3IxO3NxXyFXSnxiKm8+WVY4YTlLTEoNCj4gelE7JTRvSHVUR2orWlBTfXVPTVZIZiVw JHI/Yk5RaD8jS0dKeTNeSFJlIT1DXjt7M2YhKXhUKXlaS35yPj9qDQo+IDZDPA0KPiB6S2t4JkNP WVV2dGx0ezgqJkx6cDImMSRrV2A8OEUyJVVqJktGbUpvaCt0PEM1RShqdWgtOCtKfXd1ITgtDQo+ IERTKWE3DQo+IHpOT058cDYxS1E9WjY2OE5EPmR+ZGl0OE8qMC0NCj4gfU5KKypuUzAhdV8wOGtg QVhIdkJHV2FUWihnM2xPd3JWQjtVcTkNCj4gellxaHpIPTc+OURGU09AQnRkRlYxSClfU2w9aUs2 P1VhR3B6cHFSZXkyWkE+RGJ3MyFxd048JGxVTXZIDQo+IChBYE9DaA0KPiB6V2xlOFkocCopPnZU I1R2b21Ee1U1aTZtNjEkV3k3MSFUQUN0dEVoZ3hTZnBVJWBCQCNPU2h7TTJ+a35ODQo+IHd9YFdx DQo+IHpvPmw1fVIlRHlhYCNxXmdqQkl5JjQ4dDYmUl8jKT9kUm4hNU5qK2xDUmtpbz1EZm5sJT5X eWp6MEpoaHYqNzYqcw0KPiB6VEJYaWM4JkdDJT5eY2g9YnA0bThRfjQ3P2QjYnZIbnlKTkZ5SkdG ez08QntXcyNiND56MiR+dTY4Vm40DQo+IHJsNngrDQo+IHptNV5JZ1hrSnc0M3hjbUwhWnkzUHNg bCtIc2l9KT87aGt1fEsrRHhWV0pfZVQhb096c19wSWVLRTBPajFtfHd0DQo+IFENCj4gejN+eipA PWVkO0I1TCh8TG8yVGw5YXBtb3wxazBpK0BFM3VKVSFqOHFHb1d6UUBlPV9oZX5ZXzI4TFQ/MV8N Cj4gODRMQA0KPiB6O25oQ3VHTU1ueXh7VEo3ZkhNWUtiVHA3VVRpbjdrZ15ifDVgZC0NCj4gOUg8 Rl5VMkoxYlpRQmB8JTBEX2NsNGlLVDhqDQo+IHojMSRacUo7SjBmVnkrN0klUjhwdzdwfmRCeC0N Cj4gXlRLa2F3RnU0WnJZMElEYlFhVkx8VjhZM28oRT5TeT1TI2IkVEcNCj4gejxMWXN4RiRFZnBG dU1EdmU2U3ctPS0NCj4gdTV6RGx1WHhwNT8zQXtoa1lLIUBMOFpFeSVsJWtBKFpOanxMaHM5ZHIr UQ0KPiB6aFYkY3BIcVJpQSs+aFJVP31pcTxrRHJpZEBhd0lPLQ0KPiBqfTxCKGZnSiREUnMjPj1f WURqb0BZUlIoIUZLOT1OYV5MDQo+IHptJEFsV14jK0QxVTI+MlJ7fkR9ZExIUGJDKyYlUTdAZUs0 X3xBdj5zYGdvcTk3a3FjRzxwIWNtRVp5DQo+IEJ0Kklnd2ENCj4gejBqQ2YrO1ZzfTR4Jl45KXRM c3YkI1ZQUX5PMyFjMW1XeU1nViRuViRYYFBPaWktLQ0KPiAzNjw+RFZ+N2N0ajtQMlhFcA0KPiB6 cE95PXNVKDNhQCNyWVN+Z1hFNHMoI0sjS3djNE01TytaUkpaUGx0UDxgZyFzaGRVc2pJMGUxQ2NO d1F9K0ANCj4gejhUDQo+IHomMTRsSEUrPzhiPmAlazgmLQ0KPiA3KX1ydDBGSGdEWTV3SlJBWjd1 Ymo+OWE3VkMrPHhLcU1UZVpHJGloRTk+d3ojKysNCj4gemljNUNzJEZDTj91JjslTWVjMmFBR2Zw YmJ3QF9JJCFhaVRYTTE0SFdjVXs8czAheyhvRzFAVkEmSlg9Pw0KPiBfWSZZPA0KPiB6JnF1JjE8 azM+PF55SipJUTk7Vyp5P2VjI1NQYGN7WmRRNX5ZRDBmJmFyPmc3LQ0KPiB3ODc7Q2g9YXxgcGs5 cj5wUUV1DQo+IHojVSVSdDh2NF9VXkg7LQ0KPiBVNzdUcmArUF9jfTRFPzd9bz5eeXsha05XNmAh QlR0YGQxTE9zTzhAYl5JcW9qIVlRY24NCj4gentHO356O3hndF9oRXt6ejJWYik8JHRWZE1kLXUj TG4qYSYtQTNxVHBuVll0PFFqYmBQI3VTYGFUO05UWUZqRDkwDQo+IHpDdHdPKjVZRl96Q0JUYDd4 VVlqOSFfazw2MlpNJmYodTdUfWF0a1FKJVVmKk80d3dRWndiaHhZVSE4ZWpiDQo+ID49c3cNCj4g eiklZ0x2QFEpa2JjKz18cTApUHJ1WEY+e0BmPXBJdlNkJlNUVXBKPl4zZSt4RHRFV3x+N25tZXx0 PWp3Yg0KPiBWJTYlYw0KPiB6YUNPZFh3TEFxKDBUPUkpWDFaI3BGYTttU29TfSMqXyo9a1V6IWNt VVJqYXFjLVdEK2grPyVId3ctDQo+ICRGYVZoVD42DQo+IHomPzJVd3NfTyY1b1ZndGAyMzF7YERJ blV0THo9SUpHXmV7YUwxOXZsPShtJnVJK3d2ZFlgeGRGTUFJcVplKFINCj4gNHMNCj4gemgzdGVV N3V2aENAakZCYkBNYWFtNX1KcGBialJAaDMlPVB2UW04LSpfVEZCTVoxLQ0KPiB0QD5hb3t6RElW I3otYWAmeA0KPiB6cHA1dihgOXklaXZ6YGYxXylmeDhrTFdrbnsmeFM4WHVwVWlYVnFqRlc7TUNS SFRXaik5WktYbU5fSW5QR2ANCj4gbT53DQo+IHpKaD4mUU4zMzxMITNlI2BRP3xXQ2d8WGA7b1dg aDRMY2loPzNaWDVvJHllPnl3WmdkYWM4K2YjNSlqcGxfQD0NCj4gdnkNCj4genA7NVQ8aFArWEF2 enZGamBwPnEjO1ImMDJ0ZXkwLQ0KPiAjZTFCdWUoNUpDS2p+TX5Hb0NeITZDQT1BdlE0MSlyV2dK IQ0KPiB6ektLLQ0KPiBSQGxFTG1BJVAqXldiempKd0VkPERtTCFRfCtWejY4cipANUFoYEVodEJw MDt3JFlYfHs3QlJWXjs2OT9HDQo+IHpgKUEhUkpQRlIhdjNWPylVeXNUJXRYZTs7PT5vP208Sldq P2ApbH1wTz94JUokRnlWUDlJdllDejhidVM7TyV9TQ0KPiB6MDd0QElxRG9hcHl0WlI7WVZpaHw3 ZWlsRmxJO0RZUDhFLQ0KPiBVMCNaZ3w0NX16bXJ5UkQ4R1NBNDJ4JnlHTz5HP0U5DQo+IHo7cSkl dXhRRHcpUV5UY2NlJUl9KHNydk17NzE2cTw+Zmk2IXIxSXU8dWk9cklFJS0NCj4gRk1wQVQ5P09j WSZOWTloIU0NCj4gekh+NVNOOFZHWkBaeGE5JD93Z1pTJH16XmoxU3lweWNOSTF+Slg+N1A8ZklJ Xk85ZUBsMWs+RXY4aWkpfSpPUWENCj4gIw0KPiB6Iy1qSEhOdEw5Q290XzJnbyp1VHdhWSpqfjJs aXwtND9qeTYwYmc4aFJeI1JFdi0NCj4gcTd3KyYrUmB7bSZzcW9NPkQoDQo+IHpofjUwfmNNVkV8 b29tZVdxMnBjMnpYRVFfSEozQlBJcWBXVFN+S2tCVkEoK0JPelU4SiopXlBZT3MlOw0KPiBGXk1m RVoNCj4gelhAKjBzZ1BDUVJPSSoyR1pLO0hXeDlLY29eRUtjKnIrblg2cD1GaCE3JX5AR3JROTJj QD0zU0txZjckDQo+IEk3ZkdoUg0KPiB6cU1SY285cHw4YkdNZ1N1Nk5YWmNSaT5xLQ0KPiAzZUtO VWJ5P3o/TVhmX09PWVFxSygpd1d1KDFnQFl7b0lMVWhTfERpDQo+IHpxNTJsPW4pfEUlejJ8LSM7 T3hDVGJuSWZ5MGBzLUslVE5Zaz5ASVNIQmZHKllEbyNyLQ0KPiBSTDVnVW9uPVo2IVliP2oNCj4g em0rITBoaz5pVTJgUCNrfFphTztoNzl+I2hsZiNOfHRHU091blcpc1JiZU4ocipnUndIKCUzY3Bl VlZeRl4NCj4gWTtMTQ0KPiB6dkdWZnI2OGBMOHNye0NmYUtEX3BiIXFIM3tESkV3O1htR0RHQ2Q2 RVlpIVR0YEZiPmE5ZFBFb3pjIW8rKTtxOFINCj4gektqVGFwQk4xfUwrdzZZeUJUSzxOS3daS3Rq XiQxemZoUWRZRzhtO2xTZVU/MGtJN189eHFZYWxlV3FKWUVZPw0KPiAyaA0KPiB6a30ycHEkNSMh eTs+a21QNlkmMHtFUjF7MDFvKko0K15nM25Mbzc1KjNIdipETmBEOEFzeE9yJmktDQo+IHxMJmht bkxgDQo+IHpfO1dScXVuUU48a2MxfWBmeWRmXnp2SkhaTWlNc2gmfjt1K0lCcmVXSiErV0E0VnFT VWFDa1A1Qyg/ajFCDQo+IH5sNiENCj4gekI4fDNBaUltcSNBfmxidjdBeUklJWw8Xk8pNld3VkJt YkRuWV88ZSpzWnUwJFMzSzNyYlElWj84QlUNCj4gV0leek4wZQ0KPiB6cT9hNyNLZEZ9fGQzJXsx YXM8cE4lSypLbGpSP191KyV8PzBkWHd3fG14UDBqJl50PDt5cFBHQChmZjxHDQo+IF4pK25gDQo+ IHpFRzk1VFo/XnIxQTt4R3glX1FgNyNNd0J7emBtbGFtdzFSeWAlRG48JEE9fiVWN3klI2xVWVhm JVJBMQ0KPiBzOSQlWnINCj4gemQ8PnUyT1JpTiVoPm13KXtzR313WTNfJUtTaCo+VHhId35uezwh N180Sj5ZWWI7QFBgSGFpRGNWZG5yRg0KPiBfajMtZw0KPiB6WCtKMDFMfThZMzRsdkdVOCRqKk4m MilZSGdzdWFWKEE5aVlUWFgtYEh5NU8oNGFadm5ELSR9NjJmb0kwR3NXSXwNCj4geisqTnwybz93 TG1KdikkSWNDRj5ib3hsKWxQcjcqfSNzSEkxe0U2NENUTj9XZWVePkdNM0k1KjctDQo+IHlaJkE2 KHRwPQ0KPiB6e09TTFNHWDUkbSUxZ2NhJmQtDQo+IDBiNUhlQFJgaz1ZfFBhV3Z7TmttWUMxQVFr KklwZkpNJDljeTY4UEple3U9JSE0DQo+IHo9JHZyOWR1YE1yVUxuJT14RyFqaD5SbX5VckZXbVE/ YHk7RilYMnF3KXE9WipHSDdhV2ZGV1FTZiloUQ0KPiBROEtqPEENCj4gelJyaH18RnYrP20kc0k7 bioyQ3BXWDIkKSgtQWJhRWsxKCtiaSlJO3Rua2Yxb2dec2Q9bj5TIT4tTDRYbzw2dGghDQo+IHo3 eVA1ckMpfHU2dlBZM2xreF5qQF94dWxoJlB8SGtxc1hRfjgxQTRaR3shQmlGRyNZNUJzbDVrbWp5 QlQ7R319Sw0KPiB6MSp0WEBrOSUpXjg9QSkzWl9MeXhMcXFGJGAtaXRGNVBONmU5M0F6YXQrLX0p YnI+Pz45WnNqIzRhQ350SmtoJEoNCj4gelElSmZOcVcjbj9ecz1wek9DZlFVRC0NCj4gKWNGUisq NVomPmxsKSg4MXpuNDNJR2VfeW5vdSNROXZ7U2VeU29YMTAyKg0KPiB6bVlrQlEpb1k3JHpNLQ0K PiAmNj1Kb29SMns1JExQS21VaXlHPndkWGRHfEhkfHQyMz8lUUUlcWJqMUBfKjd9X0MmeEFjDQo+ IHpKS15wTTZOdEwlcGpFKj1FcTM0b3J7Q3FfVkdxTD5ARlV3dS13cWVKKTE+RkR3YjZaRjgteC0N Cj4gbzc8WlFCNn1Gdj8NCj4gelhjb3lYYTFUT35CQU9LP1BSPUtYem1AR2RxPXxrPjk9LQ0KPiB9 QkRMQyhMeXswQ0FFMU4lPDhQeFFQVT55JUcrU3NGLQ0KPiB6RS1TMzVKOFlKKCQ/aiVibzNCWVdQ KzFQTiQ+WS0NCj4gRD13M0Z3KzRfNmd1KmJsc0h8SU0wIXBxeW4rNVVTdUR0OWVrDQo+IHpkI21q c09qcGJqanB9dTVfKWJjc0VhdDBTKFJNZ304T0w3X2hnWTs2RjIxNnpBQTY3QlJNJW1ETWNaS3Y7 TQ0KPiB8KGsNCj4geiFmK040eFRlRkk7Q2lkV2NEPmMlKVVFentEXjgjbVUybkJabUV0YD5DdFVz WVIpOzAySTQ+LQ0KPiBVY3IhZTxAb2RnRQ0KPiB6VnB9aElCcTE/T1Y2ZWZ0R0hWP1FYLQ0KPiBo O3UzZXdhNCFXQHJXdU4qYmA5QVd0d1JhXk49VXdqRlpkIXlOUSklaVNPDQo+IHpgbWpCZCUwS1U+ S1QtDQo+IGFhKCg4KmA2cVl8SD5UaF9obkFlQ0kxTj1vKDAkR2N+XmtNc19sPmE0RF5GfT1tKCtC azMNCj4gejMpcHxYTnYqY0NMZXN8MkZnTz4qVl9nJUJOMk89VnBSaDhmU2gkN2RPLQ0KPiBjWDVT NHEhI0I2JjQ1M1FTaUVDenFYdg0KPiB6ITsje1JTQlNJNSQhPVVQckxIU3JBJWRBQG8rTCZlJkNs VD1XcFkjI1NlZjFGLQ0KPiA/ajx0OWskOG1pfHhvKyZNTztRDQo+IHpZcFBOfHd9fXpueVhWXmZO dlJSdUReLQ0KPiBFMzJgKm4wNXM5QGU0cU5oeSQ+Smt3Zn5DY0k/eitPM18+e2dTJUl4bFoNCj4g eklOeUBvP00mQihya2EhWThQOVE7dUhOcX1jemFtRVVCd2xjLQ0KPiBeTDI3O0I/d2RRKyFIYWZp azxkMXtFa2lfaj5PKg0KPiB6MU1WZmY5KX5UfWY4TD1mVHNoVUcoMnQqU3hmKllkR1AwIUdGfilJ QEloTipmZUFZTHtfbF9ZbihHMFFsc2diaWANCj4gelBzfVQyV2xZenBJbHlaP3F+aSZfYWU+Snp6 MXdgSGYkeE9tKj9LODstDQo+IHw2KnFINWY+R0h7WUVGMXFfTENuQF5kbg0KPiB6Q2I/eUg/PkMp Ujs4KiM1OyU3QlAtUCglY2NkOz5rOVlUQkF8R1ljQVMheC0NCj4gZEM5NXc2KDk+TCZjMVJ8N3s8 MVg4DQo+IHoxYHE5aHcmMSQ3KGlWNSllSTVeYkpzJEw4bmAmMzFvc3g3T0JUbyFGXjFyYFopRGJT I24oc2NpdiFFa0JyU0ZJYA0KPiB6eVVtO2ZnRSlETilFJCRlPm12MGBSdmtmeWwza1o2eV5obUMj UkZreWNNKFdiR2F7Sk8qcVFYIUYkVSpwOA0KPiBUd1JwDQo+IHpZbzlMdTVKPD1+PVMySHVBdGFV PkJwUEhHXj9iPmMlaGxqNjF0SU8zVFppQEA0NmtMMUd5S0BVZTladnlhDQo+IDQjK0ENCj4gekBi WVpHN2Q5P0loRGl0Zkt1N21ab3MjVkdASHIpZiZwdUZBM3VyTFZUc24yMGQ7NTA7cDgkPTBOKUkx cGJ+DQo+IHBYSQ0KPiB6aG1XRTAmRE44KXVxUGo7NUIyOGJLXktPLQ0KPiAyYms1SDF0KHBZPyRS bCt4RztnZ2NQaWdTI1IwR0VSWkFLMndnMWF7DQo+IHo+Z1BzdF9WUmg8XzVDT0p6QkYofmVgZVIy dkMpWiVoVz92cFcqJlMwN0wtDQo+ICF1XlBWX1FCSj1LOFpyQ3tMVV9NfkYNCj4geiVsYiV9VzZZ cT1TREx1dyt9dkY+WHFqc29EX2c8IUlkViRoYEw9fFp6clg/RDtaJCF4KkRjcDlQe059OCEybnkN Cj4gMw0KPiB6M2QqTyFSdTBWWW1fZVdPLVZaSVMwYTxXelE3MzFSYU9QdlM+Nz5yWHNtSVE/SStm XntNVTcqdCZkfS0NCj4gKF49cSFZDQo+IHo4Rj5kUjBrclVOKj02eFhPX2klUzkob3VpPiRfNzNn dz5DSFpePDV9VzA4RHNARkBHfEBWQGFTWStjDQo+IFFxJCttbEYNCj4geip1Vnh7NHNeVUd5OFVP SXVuOGB5OFU3O09wP0NGN2h0ZUZCWCs2TS0hdyN7OFNZdGJlT2JvPEhgdkctDQo+IDM1RHtiPQ0K PiB6MmtAY34+TmR9bCk0a1hSPjZWU0E/dWs8RCR0Py1xYjhwMy0tDQo+IFFSRk4yPWwoKyQ7QjE7 T3NVJVBTbXJUKm13QTZ0DQo+IHooZnZZay1AR1ppdTMjZS1KUGJZentgUn0hV3lBZVRiNmRHUDxI eSRGWjM8N2dafCQtI1RUfkkze1FERjNYXy1qLQ0KPiB6Ui1hYjtzISRGYSo1YiFzIzFga207MTE7 ZnktDQo+IERYdT19cFkwWG9rVURaN19mcG97azlRSndZU3BgJGtPTmsyTURnDQo+IHpzLQ0KPiBq azZDMlV0b1hgP0VhY1p7Mkd3ZzUyO2B3eEN4SXxWPEVjQWhaVSojV2JMaW1SfU14TWRMI2AyQnRa MnRlMDMNCj4gemZENnM7VykkPChZJDdFYWlxUUM/K3xCVTlxJGZhPXNrYEQzYXtnKVgzKz9ZJncx I2VaQ3A5TnJKSm5kfXtzNFl5DQo+IHo/d3IpKEl+Z2lXVkJEUzFBI1lDMUpyUWFPRHYxRGpCfXgx KVBMNUBeeiVzMitjWVR4YDI7cnoyLWVpYCREaGV6Zg0KPiB6Ulg/Nk8tDQo+ICh2QFh4S1F4PEoh VEhRO1FMbVpIX3ZeYEh8QGg4MHhJYl4qSCZCamRDP2Y1PTl0ITc9bkM5PENPb2luDQo+IHpuNX05 cWs+bVZ+S1ooUjtBb1RNWi0NCj4gJClTOGhTWkxNKlErP35gUXBBOSp6fkhAdiFnZilRQD1QX3JL WWkyUio5MWwNCj4geiglUjI+WjxzUlBHUEtNYVFzaGw4THJ4KVh7O04mKXVQKkdqeTB3Y3Rwantg TiFxflhvITBfU1pvcTgjQ3BZIQ0KPiBXfQ0KPiB6eFBYeDZlRF9DbTYlblc0UXpvfUNFaUFLcCgq dTQmXmlLQGA0U2ElX0lUWChGOHxMTkxyekJWU0l7cWZDPEcNCj4ga1dKDQo+IHprYTNeeT9rY1Jx cn1UOXd2d1FrcXFkTWZSNT51Yz5OUTF6RzVPLSZySWFISlE0NVdhfGd1b0l2LQ0KPiB+QHhhRTFP fEgNCj4gekVBMUg0TEV3VmxpTFZJezZgZDNedVpZXyY/Tkl0TTIzdyEzJXxgcklQP29rQHRwNXRm NzU8QDJzVGhTcmFgPVgNCj4gPA0KPiB6b2xoJmpKZT9AVlhARGg0VFQ+OXNPOXBZRzhHNk5ZN2NT QHApfSFYRHQhO2U+aGNpOEU7JGU7RzZHfTRTSGgoDQo+IGgmDQo+IHpfVjd6I0dqQ1FeJVV9Xnlj WH14cHFmYXxMYTtVLQ0KPiBUWXY9c0xRUURlZVN5dDx7MzJpO3AjfUkrVmdte3FBRTdLWWkNCj4g enFBUW1WYFIzPT1DK3tMenZSNXJHWkw0PHcpMyhjel4qXjQ4ZH18TVdCYnYzQlBne0RSJlgoXlg0 TitKUHsNCj4gOy02Sw0KPiB6NmtgfWtle0BEenJ6M3A+ZmB1VFlLMjxMNWcpTEJAcHtkai1vWnMy VFNLWi14fDdra3U4PT8oLWZAcl94cExEQSMNCj4gejNkejd5PldIQ1FUPiVCUl5nOXdMTEVYfXFJ N34wVXhDP1ptRGt3S0ZBKHdlZ017dUl6VFY7NHw+Sz1Jaw0KPiAjajFJMw0KPiB6JTYyPlMpXjxT UDklZWtHSn5BUUlPaVpxNVZTV3VZXlB8SUZLMSlfdm56MnZPI3VEdlJ4QTlQUSp7dXE8DQo+IDgh YjRLDQo+IHpRdkUrUFJteExpT0lIODJoP1NmOG9DVXpiYV9rRyVkSk5yM0JUelJpXnp9UnRWfnMx ckp0ejhHSG1fczhhckYNCj4gWmENCj4gem15QG1APClfWm1LbEQ0eklHejlVKXRaYV52IXA5XmNs IzwtcnxwMVRDYWtsREktDQo+IGhfSnhgJnw+dlAyJURzcVRKMA0KPiB6eXVrX2N1QG9nP19XXj5G Xml+IS0NCj4gZFM3c2NnbkBQRGRgTCNxYj9OTE4hSFUraURCOWJyUU9KSGB0X2xqI3lRT05QDQo+ IHo1SUsoX2V0PDk/UGc1eStTRz9ee1hDWnZVa2NsOGc9QH5fbHQpSzc5Z0pTalc8MDUxM1R8cVdJ cWJSY1ZeMVZGDQo+IEINCj4genJndEM1M05RYW0+OCg0SjRKJkBgOEs4UkVvK15PcV47RnRTUiZW TDc2NTI5Q25HZj09IStBPWxjVjh3JjVjDQo+IGRHeg0KPiB6M3hvUmZaZT9zMEZrM1BQdl92Sz1z OT1KciZKKERQNX53fkFzUCtANnJWXi0NCj4gSFd2dUF+UlVRKzlnWWtDWXE2Z3hpDQo+IHpORGdU VSRlUiZvTT9yNDxDSCVlNlpGI1U0SE01ez1pP0o7LQ0KPiAzO09FNmMoYjZhWjkoUmB0QDxfJCE3 UFlfQmtNRkoNCj4gejxiMTlHUlZQXndaJmpyJj92cis7aCQoVU5jR1heJkpZZzs7MSRXWkdZYDBT MnBYdHB1WTB9Kz89dH1BbHtnIW4NCj4gYw0KPiB6anskcSlLVyFtRmBFa3RHIWtGQG84SyZTZWBE ZkU4V3t5QUlRbFBHbl5tK0c4UyYhWE8qNWQrNnJlOWxGNA0KPiBWZDlEDQo+IHptZShkWD4hc0E0 Xmx4Zjx2fj9UTyktQ25WO2JJVl9PeGA1UXB2Pi0NCj4gRHdyI0ZLcUo5Zk5WJVomOWVTJTlebWYl PnsNCj4gemhaT0V2bGRBNWdBLUhnVDZIaSUoTGxQKmFZOC0NCj4gelIjK01tYSgyaXphciVvWihs PnhWU049T1YqbGkmfkdieEpPcQ0KPiB6VkpAJnx3VlpzTFY3ZEY1dWZ6MSs5VU1zSz5KWWUoTj9P Q0wjYHtgVD5MNkRIdjB7M2VWX1M4XlA+bitqZ1QNCj4gPWR9DQo+IHomS25Gc1VyYkleal4pNzNf c2VvJXhRbH1OOGQxYTNtNz5Eb3pUblFudik1eCoqZFNHIUlFYHc7bjhJcV8pYGBZeg0KPiB6Tmky NURZcWUycDlsWWd1JDdQNXp5WWJCNXA8TDlFNlFoTzxlX2FqSEl5JWk+QzBMSmktcTQhM18jUl8m eGtLdGINCj4gelFrUUo5V3twWFhmSlVPNEZ0KDZebytST185PHVTLQ0KPiBlbEwwWUR3ST1UYk52 Sl9zISg3JSRBYTYrdiZkfkRNcyVDUA0KPiB6Nks8RSFgaFVvS0FOVj9wRCp5akJOZz1kcFo7Q0Jj Qz1oNyorWDk5MXp4K3U8Z0RvX2cjMElPTnBqSFM0cg0KPiBQPj4pDQo+IHorQ3N6NG1FN0s1RGNZ PWNtKD9QOy0NCj4gfEZKWj9qalV6RnZWXllfQE1APDhudnp8VGxLbHp4TVpibkx5aEczeyt4TjkN Cj4gej1SUC0NCj4gMCFRSzc3ZSF1VlFfaUpCeT9tWTklb1M4WHU9RkZLaFhVPj9UM1hYKmhtemJZ KVd0WkBgcEk9SmFLVSVzaA0KPiB6PmAhK2NMZUtxJnA9VjlrKzV0dFJvZyYpc2pAb2F2JlJ4UGhY ST02UjZXNDM+eHwzQio/aihmKlF2NHVOaCktDQo+IGw5DQo+IHoreFkjUHNVKT1kKFZpbU9scWBM LQ0KPiBeTkhZWkZVOHhtVXJDQWNDdXRjSXprantqPG9CPWtmVnwjZzFMQmxtJjdMcjMNCj4gejRs P0R+JXl8YythVkhveUxBalgqPU8+UjElc3EwK2kjZnZ7WkI4Qm1LejFmfGxkRCFEJFRmfUxKTVVE QHE7DQo+IGFWQw0KPiB6ZSNvWXpmJERSZ2B4P0VeU1N7Z05ZO2s+ZDZpSFNqeVcrYHlQVTlpb1Iy MkhtaVRaKHtkSlR7PmktdGB6cX04fC0NCj4gekV8NEZwbz9oejFwJnxDRXhzTyFrQlA4S1o+SnpS JDN9NVl3ZDJkKnFibUNVKWAjXjNnXkJUR2hxbGBxdj8wTA0KPiBtQw0KPiB6TGxOYiNMOFBFe0wh Plp4ezJgTChBfS04WjdUZkchPUtUamVDcGA2ZTllclU8Iyg5eGokSVVtZngrS3FQaHdfZEsNCj4g ejJKa09VV1k3VHFOQWpvVjx8bGV2THFINm9vRDN6Ym9BI3BtMGtfQ1E9TkUoNjlEP3tuME9EZ0ky PFNfaQ0KPiAkPXVkSQ0KPiB6VzcrJjJMSntKKzg/fFlhfE0rNUVWWnt8UjZ0e202XjNBUlNVVT52 fnskc19oSmtAVnkkUVM8ZmJ0aHZEZA0KPiBNfjJFDQo+IHpHcm97TiYrcy0NCj4gU1l8bzRVODl4 ZFdLV2Q0ISNMcnp2dVpfaEBZKFpgT01EfHtYakwpfEBle0tWR2RgX0d7OUQ1bUYNCj4gejctfmFL P0dRYEBxVSU0Um8tDQo+IHcqK1ZFMWMqVzVuT2pgMnc5VSEkMGIxO0BhPEVLd1FqTDdsPHxeJXZY KnI0Jm1mNA0KPiB6SnNLY3RFQnklfSVxdzJ+ait5Q2khJVY5eihfISV4WGR3YzgjZVQ/Q1MpQE9F MztsQDNPfFhvPTM8VWttcw0KPiBmJkNCDQo+IHpkOD9XOVFlQTd8cXg7MHY1NWF9IWxLJWtTOUlv WmgwMG1JO1MrM3toMSMhQzlQdyNpZlI/YFhJKkRaSmtMOXU1OA0KPiB6Sk5BVFA/ZVJ7ZFNob21x Xk5YKntJTU1lOXZmYEBkTU5CMH41PGk0PTN6OV57YnFkYkxvU05kdWhzOGINCj4gWlVKeENODQo+ IHpjSlNDQThWJk4rME9WKUowOyM/SEMxTD9TKVZyUlI4eH0wWWU0WEdoWXU7cmBQMENwcjA2TVAt DQo+IGtrbUczZCtPZyUNCj4genp1OzBmJm1vXj5fSX5fVFlZaz1mZ0RHZS1aTEhxfXdBPkdnRzl2 ZXZTI3BLJXM+M3E+NW5rfSZwLQ0KPiBPM1BONj5rTQ0KPiB6ZEI/Ym1ZO2FeV1EjM0tNSG5LeSFD cFR7dUI0Zj1AbE9VLQ0KPiAwWUUjWEo7QE9aWXo3Sl9Mc0NYZjx0R2hzVz8rRUlpDQo+IHpLVjZn MkcrYFktDQo+IFZtenNuZT51d30/ezdtZXo5dTtBNTlaZ3FiaVJBIT95PjdAYFh6Uzd3OzdoM1dr Vkl6eDV4TnANCj4gelNZSHI1KlNqRHJoe2xEOW47I09jMTtZRjJSfTl4fkd3V190SWdUSkFUWFVp Sm5WKDA+eTBOJHthNUxCSWBDMEB3DQo+IHpWUGFSNzlOMmdWWUB5KExvTSh3Z3pwbFpRQGVwTnJm ai0NCj4gQ2JlX3o+VEpAdjsoWjUpM3NadXc9PStKdVJsX3A5WHMNCj4gejtvVE9ranJvSCZScEQ0 SXxJYktTQTJEN1ltU3J2ZihaaTlKaGx5UVQqNzgzOzZ2NDlkMmR8Y29AKDE1czRTZzFQDQo+IHpp UyZZeCRTcU93M08kYCYtWC0NCj4gQzEkVkBZck1ibmxVZz42TH4pVzdjV09PKTBeSHhnbksjWmde RW5OaCVSI2x1UXsNCj4gemQpTCZgQGRnYWRfI19MTT5rRXV3Ul5kZDhVNUBoRWk7emRga31NITw4 KUZEWjRjYUYlQTRlfUEodUR5JQ0KPiBPVTdhQQ0KPiB6TlYoLXFXNT1zO2NIKntDciotDQo+IFY3 eXpCdmE9N01zWkhfMUxHanZaTzsoNVlIcWp5WUpQUW1oYUVhKzlHZDUjYm5ZDQo+IHpORTVTYkIm NCFrdV9HNXgqQTN0Oz1lQyMxLX5iNEEqJHRJQ0o3YC19WX0xdmN4I2JkMUtHRm9IPnZybCtkSmdy RA0KPiB6JiVLYCtrQCEtWHBWSUlsODV6RXlnb31uKl9GeUROdlVxQWJrVFNJfD49LUpPay1QMChV VWU1N2VlZiFwcmQrciENCj4gelN4YDI9cmFZZTdNR1JZO1JqV1NtVUR4Y3ZtdFFeYmxEMHxlY0Yk YmV5M21FdjNOYEk2WjVtdShRI0o+cy0NCj4gfG9gNw0KPiB6IVMpNXs/LQ0KPiBZa2FXWFZVejZo a1BWc3Jmb1JDNFVSa1Y9YEF8VW45VWJ3YVN2I2h3czA8VEBncWBxZD05PHRTP2hCDQo+IHo0YiVs c1M5SXFQKUAtDQo+IE9oTUh0ZU1EcERIQ3h9QndVRkV+ezBJOUx7MXtUZzArM0A+UENgJDFsdmtY UHI7TSlSa2cNCj4genZWQjJubkhFezxVWUJ9akRIX1Yhb2REa1BoUmtaNSFESXdwUX02dHlvX0wj LXJkczN4dGlFaTExMn50YTMxQyZMDQo+IHpadHpMMV9ocyl1RlpOaVZiTFBWSjN0Y0YhUTA/eTAr VFFoeCVHVHZEcCNqJnU/WHVpYVdjLQ0KPiA7JFclJCsoa2x5UHMNCj4gejglMjhXZSp4KmVnP3tZ fmBqc05BVXFTalBQKkoyfjNJdVpaMlN9SFZrPVh9MXIwLTkyeSkyNGd0amshY152PWg/DQo+IHp4 PW83S2pCS3lfdlNyVnNfeV5oTUB+PSNgTD41anJYcikwb0VudkZ0KXh6WnBMK2pVOyYwaG8+eTl8 dnpSamJ9LQ0KPiB6c09lRjRqV1Q9SUg8WWI9KT1fQ3NkeEwwbXMheTllRlRjdXxvYWlWczhZZzw2 U1Zac25rRz8oRmNoWmdtbUlYDQo+IFBhDQo+IHojXk1oS2VvVHN8TUxWVkZfRFhHLQ0KPiByeUg7 WT0oQk16KHxPJGRfVGk+NG98NExuWVlEX2c8ODV9dSNpWDB6alhVPG4NCj4gekd0KDRYZE0hTGB4 TElsZ2F8NmVJNkFPNUdmT0Q8MSlHeHBLdSttUGZGVjlSO0t6TyM/eFFPR2ZFOHVtdncNCj4gVlFv QQ0KPiB6czEzaVlVdiN5fEZHJCRGPXhVY2MoQCtWQHVOSFFMaF9kNz5aKDAhPWZMMjhFKTghLQ0K PiBhKVB1a2F5d213YEQqV21ODQo+IHpTdH0hM1A3PUJebFpeTDJIP2BEUXpBR012amByNnxOT24h RmNYPURVWV9zWG9HVWYrUUwpIXYkJE5jZVg9M1MNCj4gVUwNCj4genoofVdSWWIhRDxAJTw1Zlgx SnhUQGRYYTxeWTJUcEEzWHVkX0FhXk9TbGNJcWZfbm55QVp4Jj93WCR2SSsNCj4ge251cQ0KPiB6 eklnMFlCT2M+PUd3YH50XkNWVHQ9U048Q0hRbSh2dSU8OzhCUF5aZypYPmAwMUZkfmZfRHRLb1kz aU5YUA0KPiAmVjtkDQo+IHpFSVpKez94VVRnJW0zNytqSGlCU1UxUEpMXjZaO0dVWjgqPV9WM05L eV9MRyZuVHlJTXpHeDVfZTN9TEs8eg0KPiBFZ0gNCj4geiQ1VmVMQWcqWmNJYm9sTW8jbXE5VVU2 U3J1SnNXWEVlZWhMS0R5UUEyKkxrNDFtN352K2stDQo+IFMyRVZVJCpLZyZEMA0KPiB6OG9aYXdP eHsmPHVkUVV+aXI8PmI8UnYzITFvbl9pbTdiJil4bGQ/V2JTOHZaWlU3NmA1am97IUQ0e159IXAN Cj4gVyZHDQo+IHopNnpUaDM3YnFOezxMTFk7T0FlTFFJZ2wyeG4kISlDUik4SC1BMGwzIzI/OWR6 a2R5T3AyPDAhaHhAe0xjdSNQVA0KPiB6Un0+SUt0bVFhOVIwKTZuaHUpYlI0NSZIQjhJRyslJm91 bnZEYHdJMmZ8KzV3a3BDUy0NCj4gQXJgbXJgTGJaem97akNSDQo+IHpYPl5Kdj4zYSYzXngqdXU3 dlBuVzR3JUUzJXpVb3JDVHhmO242T182PWhWSWVQVFlqdVNLOVB+JilFQnp7DQo+IGZ4MEkNCj4g elpxJFZCTClmUFlkIUwpSU1YU1hWY0hoaGhgfDMqdjZaWUVfIVEzJGwpSU9XQV9yMnxlRWZlTm90 ezRQKUhkcGsNCj4gVQ0KPiB6QFBafTJuPTI0eGBmYVhJeXYtDQo+IEhOX1JJbDxuSmMxTD4hUU9Y PUIjQ3xwdm9xKUt1MVYxIUNhd21AbXpyPDFXandNDQo+IHowNGVAbFZSNTNzYUlXWVJzeD89PDlh IWR5aTBtVEJua3godSNVQmooN3wxckc/eTEoVS0NCj4gSV82bU4rbm5Cd2kjb24NCj4gelJEMC0x Z2dzXyNKRVYhRCRGXnJsKXN0UjtSVCYzeFAkeFJXVWV0PEg7TS0NCj4gTFV2aVppM1RjJEN2PTh4 QURwbzxhMg0KPiB6N1dMMUQrSko3PnpAbihFYUgrY1MjfEM0TF5UJGgkaGZ6JEBaKm9XRj9heUl4 WGx5cFooVmFAbXRxI1F5DQo+IE04JH5NDQo+IHpYYGk9UylATGl6KC0NCj4gYXVaYkJDTEVFQDB1 b29UVXtJTSlne0dYdj5PODN4a0gkbTJUO0EqTlU+e1NlNTEoKSZUTloNCj4gejhSSlNqbTcpOVV4 dmRxSTheI2N2UypWUHZKVD12ekA0QSNQWlVjfVUtDQo+IDMjRFM4aDY5cEg4QE9XS1VHcl4qbkM5 NA0KPiB6QncqKDJGM3xfVTMtDQo+IEBjMjE5TztDZk4hUkI8JnJ5VmNlNSFWU240fUNMKjRFZF91 NldwJnVvPFg7MCgyV3d7X1ZYDQo+IHpwc3FpPVhgSFBBKmM3aUZQJWFyTTRqMnkrX3ElRnNsfVUj Q1kkJXhZa0RGKFNOKHd7JWA0XiRXOWswWnhNDQo+IFFKPz4NCj4gejxOZC0yRD1hNHZtPWl6WWdw UmpFTGd6e2oheC0NCj4gKF4qaDt2eThKbnxLJnxMJEF0dmklMlVCfCMxV1NNcE0yUXpGWA0KPiB6 Un5zKCkrVEErTEJGTmdXdEJOVH1MIztiRE5HdnNSblcwbSZHOU5OYUlhTj8qMF5DX1RLcUA8PHYm Wg0KPiBHZ0tmb3d4DQo+IHotNyFSTU9qelcpQjFBPGA1KEw1XnZiLQ0KPiBDfTUoV1hsd0klSz1M TUxDKnJgc18xTWE0ZHl7OF9raHBeI15eK3V6LWANCj4gelVLfTZiMjt1eiomM0Z7PVV0ZT18OEZO cDZKSlFRQCt+MXtNREAjNXtSNV45X2g0TVpwbHhxZDNjJSlwDQo+IFc1Wl5HJQ0KPiB6bWstDQo+ ICEoO2ZrR09PXyREOGp7WThfZVUkZ3ElYEdhbSNJckBeZXBVY01La29fcXh0fSRtVEBwRDZSdkRT UFBxYA0KPiBPVg0KPiB6Qmk9ajFZZlhII1kyU1Mwe208KE5GXngqQDlWZUlOeWBAfHcqfGhILQ0K PiBqaSZRI1JvRTl5Qn5sdk1JJUxTTF9aYS1jDQo+IHojcH1KSCFnX0RXTyY8dDBkKSlNKWtlZmRD bHJ8MGQpNW82RHgqP2xCNmdPKTZARjdIKDl6KF5gaFhEXmJuIXlqSQ0KPiB6a0dDbTs+MD1iQT0r YzkkJWZQZndGV0d1ZSRDMT1oZjQkZFJUR3V4bHt0Q3VXe2xgQ2xySUd0IURiNT4zPnhhDQo+IGRi DQo+IHpDS1ZmRG8/elNSIXhrbkEraHxqfk8qUnctDQo+IGpTPzFKaVdMK3NPdSNYZE9ASj91M0pR YkMjP1Y9YEZhZTNzUDRVOVMNCj4gejspRV9ZKiNzUzwkPiMwQUdUQjVCQyYtDQo+IDBgTnpuJWJL VzVobU4xQTRhIUswUVVUOV9iPnZhQXwzITNfPihxYEVJJQ0KPiB6S2ItcmYoSSZFTlojP0BJbFVk flZtRzhQMVhySWtWaFdUcCYwKHJBPWhVOXkjZCRmJWRofCM7QGxTYTlfLQ0KPiA1Ul5rDQo+IHpS XjtjWT1qIUBgVyVlbFlFPChNTmp7ZzViLQ0KPiBmaj0+YUxDKEBxQTVGZGhpUV8pdygoTV5LJHYm RGwlP2xqU3xtS2sNCj4gejVWQTFDTmkwOEw3Rn0+bmRQSWFRXjQlU09NKE9xLQ0KPiBZZSolKnNV OGNycWxrRFpUdyg3WGdPRHhtdSFJYSlSWUM8cw0KPiB6Iz5afGFqNnVrfDMoVGFMa2MmUFhveyRH b0pjeTc3T1kxfnk1VkVRMjE3NUJAOFlqPCQ+dVdpaGVifD1Re3ENCj4gYyt+DQo+IHpWQG5zSHhy OzhaP1BlNyV1aWIzbm1lLQ0KPiB6M0pkcWowcSQoeTJUZE5geVdUdl8wXkBFeT9eZV8wWnpUeFYx dVp8MWUNCj4geis4ZUc4N3V1U3ZuNFlFdTVvTzgjSChkZVpNXipwfXd+Pn5RQihJUU1HVlklRDJU KD19SUs+aWBnT1NgWg0KPiBiQHE7Vw0KPiB6QUkhNTs4IWQwV1NNej9pbCh5Qmt2fDFMM05RNT42 OG9wV3c/Zl80TF9TWnk7PU1iRUhTTUAjSkROSXlHKQ0KPiBLcS0xDQo+IHpXRUdhPFdEOF9FXnk9 SyEkRnBBYDZWaj4pUFRQYGV4NS0NCj4gM0pkdGJURj5PKWdjTXB7I2RjM2JOWHJ5fHtNaz4lK1cN Cj4geitjZk5aeWBWQz5ZYWUkJWB9QmswV0x5V0dDX0FIN0BvWDhPKmtFeDwlKH5iWXZHQ2pvNVgl JEtiU04NCj4geXolbXE2Mg0KPiB6VER8cmljeUNsZVo3SF5qVCsqSztKNV9jcHpGYD9fUnkhSXBW VmlkMGFeMUZ1OWMwJD0qWm5kOF4tUzlIbDU0JjQNCj4gemM9an1MR2FVPTNScF98KHdDPDRIV0o3 c1JALQ0KPiB4RkRJPGVRd2t+bEc4bntFcnF3SFFQTV9qSj12PjU1V1lDXj9oVw0KPiB6Nkh5PytL RiZAUDlDbyZIWmp4citHaHJKKG1HUXg7ZTFaNnd6cDl8OCV2dmswYWFZfWctSWlYQi0NCj4gQ0M8 Tlo1P1crDQo+IHo3YC1KLQ0KPiB3YEp7cD9hczxJUSVueVhaI2p5aFJCNExCaX1PaENDMkBUNWZ9 UUIwPVVkZ057ZzZJQVdzP0VaKWxNaCMNCj4gek5zX3RtWWApTlBXe1YpJU1vWlIqRUdvSVBzVn4+ OU0lSGZFbTd4UDkhbC0NCj4gZDFjZV5GcG9eSTtHKEcxYEhVYkM+SQ0KPiB6V0ViZXZyfE5rMjhT dmEpYDxOMmhhclFsMDA8bXkzWD9jRUtTRz9edGVkPHYxT3ptVXlVQXlDTCs4U2Nebw0KPiBMQEtp DQo+IHpzbWJze3M8YldeeVI+UU9ReG1yUnIpdSNWPiVTcDg2T3lpZEIyKUstZDdSS3Z0bzIjek4q JihiSi0NCj4gQGE7ZmZyfTQNCj4gejx7clkqeDAwe2l1LQ0KPiBOfm10PCFlcnxKQTxxTCtPN00l bSlQJU53JmxuO2pCO2FjMDwqUXlVNG1eZXBZbmBFMTA7OQ0KPiB6PGVMMXZIUWVJN2hlKjd0anBW ZGRCYmkkVkRJUFFHZG5gOWhyc1Vla1Z1PXNwMzVSZ2krQXwjVUdIQD9ADQo+IDZYanJkDQo+IHp6 Z3lfS3M4PVUpcm5sKlp7RzUhdiEtcCt7a2A3Qmk0UHQjdyFOako9KEBsPntiRXxYVkBgRkFLeHp6 M3RzQD5PSQ0KPiB6cENHPV5aJkg7cDxydjlqNjxPUDVKX0A+V3IlXiUxYUhlUytsSms2MjtxdDJQ VVdleTluTGNza0hmJE0yDQo+IEA9USl6DQo+IHp1K1U0a1ZBPGFLdGt6VE1ydEtNSDVISSNTTXY9 PWdvSntaaCF1JTtuJn5UaSgkTEI5OTB9S1h2QmtIMGFRDQo+IDxlNFANCj4gej5QVDYlWEpxXmlk eHhxK19Ve2o4QDhDVlgqP2Nte0piMk57blVmd0gjNz5HbXNzN3w9P20oUkAqOStWDQo+IGFRfSFy Yg0KPiB6UVpPMTwrR2c5d1ZPanE4WXZmcExoOF5zMz9MJUY8bmR5ZWI4Jn0yYllzV0EpVk9QYlZS SiMmaHBvNSkNCj4gdz5RfDw4DQo+IHpPPjxfRjEleG8mIT9jTnZxd0U3RmN8REk8KiswLQ0KPiBD KD1YU0lOK3p0UkAmQGopWnhqbnxtIX5JRCt0fllXYHBeeCoNCj4gem9FaE13YFZmMl4mZmReQmpg UDB1QzgxQEhodXM+WjRvYWNEe2o5R1Z5K3c0SThHRkcwYGRMaVRIQlNINHRWDQo+ID1xWQ0KPiB6 PVYpS0dxYDhXKV9xUHdJITVEd3slZ2BnPCleOV4jUHYlcTJQcSRPayUtDQo+IGE2ZnpZZFVLTEVu JFg2YV5meDAkN3kwDQo+IHoxd3JhUTwrM1dFUX1BKG4wISpVeUdqYHZVLQ0KPiBSUj4hZHdYbWY4 VnY2TnRua2FZWUgwUWBZY04oT191e1NqWT1QdjgNCj4gek0pU2NOUG8ybXN5P28tDQo+ID00KGE4 eF5yWT1sSjxGPl5gNkZHWGgye2BiTVM5diEhb0lQUGRQV2tyKTE7MUhKS2FYVw0KPiB6S0J7bV9X QCZ4cEUkT0xza0NRdDheRnp9XkJDPXB3SX41dFEpV340e2YqSX1pWlQmc1RlXkUjdE9wK3dtDQo+ IDVfdjZ0DQo+IHp8TkJgV1FTQUVsQ2xKeHp7YGtMPjw3WE04TSV3RzZYLQ0KPiA0WjZBfjIpRU83 MFphT1RHN2BaQ044al9OUl5oMENxVXkNCj4genlZNkExX15eZlE4KS1RdWRpem1yZjR6NlIxTGVJ VjhFanE0QkJmN3NzQWMkPUxAN2JlfEw1cClxPFF0O2d8WCFpDQo+IHpEXzREVFYzdXpkJiFMcTQl TzZvQkpFSG5RXnNVZDxeP1NRPyghc3dXVipGIVpSe3Q8fGMoZGlxWmhIcUs9DQo+ICN8UlINCj4g enArTGY8Z2wmdXs8SHcpQzdgSnYkZXJeN3ZCPiFgOUAtajx+STFuYmsodnRWKC08YGpKPGlqb0o2 cmM7KmQtTkd5DQo+IHowLTZ1aE1gNW1WJWU2Wns5VSZNYXl2VWItDQo+IHJ7Mmc2Pzd7XkBINWpL d18mYDR1OXQ7P2A5d196UlpicVJTYjV0WkkNCj4gek09MlBiZUhGb2hOYzBNU1YjRX5nJUNLe249 diZZKGpFXlR9djUoZzBfTzd7Xl9IQUBPUnlPZ31ZJEFRDQo+IDZPNzF+OQ0KPiB6Z2hwZXFiP3U7 dGFUU1cyM2h2SXtSWHJuP2V9KCFCeSg5fjYpV0FOcFl9SUYoMjUpfX0jbWFEWSE/UWlXV2ZOQQ0K PiBRDQo+IHomPGQ1SChQQT0pS2RHeXUtDQo+ICVWOGYkKG5IKCNkMkY1TEJ5az8+KWFMQkZ6KFco IU1vV3I7MER8RkNqZj44b1JxJiQNCj4geil8QGJMMldfPVk+PVd8Tz1mOWY2QmYkdD9nPENCfkQq Vz54aW1FQkFfYSsrZSY8RTZzZ3tudWMoPlApaw0KPiBtIUtMdA0KPiB6cSYyOT52PCU7cFg8TkNT TFReYmd5dGIwPDd2WGtoaH0qQSVrKGBzUCpoKURXdm1vISFTUWJudGtXKE5ZDQo+IGUrczVHDQo+ IHpHT2FTQXZDfUV9RVhJe15NXzUqY2VUbGJTYGo7Yn1JIUtxTFJhXnkqQ0RafG96ajUpO0p3WWcy X3BiI3tJM1FkMA0KPiB6clZpUClOSDBGSkZHRnd7MUtHcW1XSjhfbTxNQCt7UERubjdJITU/enp4 SVV1JWxXTWsxfm9PTXJoaA0KPiBYbWdkcmhyDQo+IHo2XnU9TjBnTXhwJiVeISZwfXFiRFpGKkhP NGpSMTtzd2tKMDh1fGY+VWUtDQo+IFhOPCkkNndlMStgQnByPDJOI2RTRCoNCj4gem4yZmlpbW9C S3h6ZTQ2bD97Q1IkNnJQYHZ5dXQ9THd1UTNFZWJra01MUmIjQ0s3X2d6UX5OdFY3QiNpRUEhWW8N Cj4gZg0KPiB6ITNIOSpoZyktDQo+IHgoeXdqPD07KnU4TWpNMXZzT0R+UzNibUE8WkJ2bFReVCUj MHFvKD1GWkFhX3ZzQkshNDFQKUVgDQo+IHoqTDV4bEZYSGJDe3VjNmc5ZStpPnoyd0BmcSU9fX5w fipVfCZvblhJeF5+I3VLMDRnOyh6QFlZM3BDUWBADQo+ICRNU1INCj4geihzKFdSdkJtZjkxPWp4 c0FXPnBvOCVPPlRBIzw4cylFZ1BEcXN3QjdRQ1QjNHtlNiFqbWI1UkpwKCRvYFoNCj4gJjA7aA0K PiB6aVlZSE9vejQzOHVNZCNpQ0t7I35VJHQ2alUrY2diPXJ1IUBISm5aTHY5SjtHaXpXKjZGUiFO RXNSNiNKamRKKg0KPiBADQo+IHp1cV9BX1h6akY1Ym9yYGpuWEpPPUpNP1ZkRy0NCj4gOzVaZURB SzVleWcmbmY4ezVnK0s9JDM2e34pZUo0KF9QJGFMczYNCj4gent2PW5BQ2w8UEk4VStVRWtQP0lN ajBqNmBjY3JWK3VEMD0zUXZTI0pFIWReMTljSlc9eFpJSEs3e1hNenV+fDYNCj4gRQ0KPiB6VDdf YFl2eDU3JW1UNWcrPHRIeC0NCj4gNSkzZ2Q7N0x9QXZ4MTRrVjhWMTRpKURGT3hlb3ZEJCheJGYk d25oYVdkbkpJDQo+IHpZKlNzZkI1V0dVWjBUTiUmM04rTEF9TVFPe0hlQWspZ05fVDB1RTdMWU1J PTRXQE1GQFQ5K2BTIQ0KPiAqNEYlYG5HOW0NCj4gek5xZWg9anI8MilfciN5dFJBPDBtREZJbEoq PlJMQT5SUmYkP148MjM7c0U+SXhAcG83P1E3cD96elc2Z1RCbg0KPiBGdQ0KPiB6P3RFQiR1OXdo WCp1MVprRy0NCj4gPEBNOzhSeip6ejZRV0Q2RHtIa3pgTTAqck42WUMlOHMmdX5rP3p6Y1J+UV83 NFllDQo+IHpKX0RSJEVKZDxfQzVRN3xxX3U5ODlOTVZNSEUtDQo+IDFvIT1gI31GMGQpJVBzeEU5 e3hGMENCSCM+b3pkYEVPQDkjTSkNCj4genE4JCV5OyNWblJrMFFfd1lJKkRfOyVeakQ+KllfKGJG eStEaCt1WFlAS1A0TEZKRz5nKXB7d341NG9aWg0KPiBIQl5pew0KPiB6VkUqaj1sMnNAaXd0S3Z5 ZyNDRzRRNDJxLS0NCj4gXjB+PmlgV2x1VFVoKXF7K2lzalU0X1RuJXUhMlNkRiNgOUtWeUZfDQo+ IHpRTXlgJC1iakFlRyhZaCt0d1BDP1kxY2FrViU7c35tT3slYGo7WXZKaDU2Y1ludlRTbFhZU0tg eT80K35ESSZYOw0KPiB6WEM3MSR0VmZ0X0hScUBqbmpWIzNVbG1TWD1KS21GejJvMT8mbzc5fCYt DQo+IHNwelMkO31VRjRke2crdkhMYXI8X1hIDQo+IHo7SD9YRENjb1E3T2V9R3llTnxaWHtJRmxv b3hHcEBDSipqRTRaI1RYMyZnZCl4e2hhfkghdTk2MHp+WXNJZWxzDQo+IEgNCj4gei0NCj4gV2gm VDZ9eVA1X3MwODAzJE1HMFg/fnFtPHQyc3t6NTRCTEluNyQybWAxUGhMcVYlbGZaYGd3WFk2cEx0 bnFvDQo+ICgNCj4gensyck19Iz5YRShueFM4WWNsMHhWbSQkQU54OUQtDQo+IExnKWJ4M2ojbXU1 WWJ4dHdpTDs+TTllYUAmJH08Wm0pYXo9fQ0KPiB6PXxXdjN1SEl7TTElPEs2SDR+UVRTVT48Z3hu fHRiU2omUGE8UiE1ZGhOdXNQXmg9U29udFFKfDgoazRsYg0KPiBGOyFGDQo+IHotDQo+IGRVZTk2 SWdmaklodWgyVV95VEZ0cEtWVFI2Vm4jYTtmQEFSZ0swcWM7RFA7WXgzTTY2MUhfPHF4VTVqcjc7 dUENCj4gejUzSzY3STByR3dyO1V0dGlrdHBYSVFxPkl1PXsyTjhfRCtzWEB2I2xRI2hLaEVBbVpZ fDY4R31CRXQ5aGRwew0KPiBtRg0KPiB6cUlGSEI+IXcqelQrbUhaTHRKRSpqO3JeVmNWUWcoMGJq RjFGdiZIUUFSR3l5KDJZeXxEJipUanMlbXshKWVjDQo+IH5aDQo+IHpyOHhYKE8laVhMcmlxUWtp ZCVkaDRwVWx+K1A1KDw2QEQ4N1F7Z3ZaQyV+ZUBldEd7SkY9YShYRENzWjNsPTYNCj4gJikNCj4g ekRGQDRaYnhCfHtlNChGZUtTVXBNU3BDI0hLWDw1cGlqaXlqc2d7SytEIWs/ZzlTZTcoK0FoZE9f UUpqSDlTeg0KPiA9JQ0KPiB6QVA5e1VpVjUlb2dAQDw2RCFmbStZKEw7YylzcmRhcnVzV0RKX3s4 flUlYlBCcUZ7Sy0NCj4gSEdJKGo2KjJTZT0/cHc+DQo+IHo2azlBdSU3KGwramgweGZjVUE8Yldz dkU9ZmdBejViX2JJb05iVjFrSztwO2ZqIWd+SlheNWVBfEZMWEI7SyEpMQ0KPiB6am1NQWpYbENW ZXBQbCE1bzNKel82Tl5Qc0B5Rz9ZZ2hDVUlTI2hFfEZ2KGwpcC0NCj4gUyYmQnwxMVZFOEYpbnVB JE45DQo+IHopfnJuU3p7MFM2U2VnNTRGeV9iZ3xKamZHOUM1aTs5PDJYaWlKKTtMLXtMJGg0UVM0 ayU0MnxFJGJUU2tyRkMtaQ0KPiB6bVN4N2dkUG9zNHVhQ0R4bjN2c2ZjYUhiLVBYP00zaiNoKztu LWs8VjVNS0dtVF8kLU8yNDctDQo+IEo4e2IzQ3VqVEkpDQo+IHp7eDBJcmd6KlN7WjU+VHQxTGNQ fmtKKTtLP3dkQUxGTXliaWY0fnMha0VVa0RIIUZkNnZ9cXY5QUpOTXB2fjtTPQ0KPiB6XkBGI2hs Xz5yOXtLZlRpeXlmPkc3WHt0ZyZxciRxUzs7ZUU7djZ3M1RXTSZ0cD9IPFIqfUEmU3Z8aFI7Kzxv DQo+IEBHDQo+IHp6dXM4PXNNPTVSWmdvKWM1SyshX21pUT1XbT5MJE97dU97SmpiMjt9NEpULQ0K PiBqNEY2MlRPMkJ4aGlvMyo2SU40OVMNCj4gemp+eGgtanctNmM4X3J0MWl0M0l7OHZORkdOc2tx aUxqTDQpb1U3enZGbHFFbz02ZGcrb0pKQHJ0T2ZsYUB0K2YwDQo+IHpRdm18VS0NCj4geiU1eCZW az9LQkY4JmVPZjwqZHVMK2dLT1N2fn5vc2sjfFF3Plk1PXY7V0doKklsTHZgY0gxPCYpN1kNCj4g emJfQkAjXn1Vdmg1aTJgYFZXRmFtUiVsMnNPJmhBYztaSD4xVHFybnE3cmArdEBzfHA0YlcjQm11 cmtnOA0KPiA4Ni1LWQ0KPiB6RV9ia21BMmA5bWJfZS0NCj4gdVFPTDVqSENvbTlBaj9tOWh3WHtx MndCdW57ZFdfcVI2QmolcTY8fSg/aDJvK3UqfTdXDQo+IHorUFE0OyZ9a0lKMzJFO15TQ0JzdkB+ YkliOFlZOGZzOzJxQENGZFU1IzZydHIzWG1JSUUrNzd7KmpmfENJUVR6eQ0KPiB6QyFLeHg9TX1A Qj8lO1F1NVV4VFIlRFBMOF99cXxwQmkjRGBgdUN8ZjZMVTIqa2E0aHt1QzJnPFlmSHRgN2x+DQo+ IE5jDQo+IHptWk1hTXRkdj1EY2NYVV55Sys/SHJWb3Z4N0pvakhNdWlOPmhzS0RAQmRNJUI9QnZU Yzw4fGxaPHx9DQo+IF57OyhnPl4NCj4gem8zQCgyN3d2Q0k/VkQ/VFFnZF83KGNhSlJoPip3XnNq fk1vdTshaXJUa1NoQWA9RCpWMUxHN3cqbyp9YzwxDQo+ID98fA0KPiB6VEk2PypLMnJWbjlBP25u Py1LdDIyNkIwciZybUM/PUNYcFE2YGRkX2RHJnJhRHwpUVdtMC0NCj4gTWlLUDk2PlQ3YStWDQo+ IHpLWjApLW9nWTElemE8Pm1zR29lYXNZfnIlKjc1Z3BacUotDQo+IDlYPiFARUJ4dzJrRWZMUGBF ejtvU2F6KWZ4IVFAaU8NCj4gem1AT1JNKUc2d0AtDQo+IGtSR1psU2BQbWAydW5xMj1ESzJ1fXFC ZU41UDJxKmpufTQ5JmFmV1c4MUxJakZvSm5GZjtuTg0KPiB6WnFfO2RrYXN2bkBZQnltYCF3RW0z ODNodEFHWmdjPGREcy0NCj4gP2l+O3M4KHxrWkxpMGZlWFU7M1VVJTRDezMqTHU3DQo+IHpYJmIh WjVHTERLZldyVXx4MDU3NytFNiZEU3hYZllGVFQ0LQ0KPiBiPHdFQUpocTN1MGhMVzxZUW9BdWts PUQzSFE4ZV8NCj4geihqXylKVT18JEtwV3wzU3hLcT99TVl2MVVhPXlqaChjdEY4NXw/WW1ednBD KGlPRlpWOWBPWj1eVWdlMXR3eg0KPiA0MA0KPiB6bV9yJmtlN35YTzJpaEZLWElgaHsyIUBrP2Jt elV2UVhvVXQzTHRHfHZpfipMMmgxRCZoblgyN3tKfSYoKUNUDQo+IEVFDQo+IHpgPjJxc3BMVloy eS1pWVdHWUBYMWNJaiFHMilvcF9MUUdHcFYhYGZidSt7TSslTXtffj45SVVGdi0NCj4gYjQhSmY/ X0ENCj4gekg8QmJeOEFrdUQxQ3JsRWVJV1l+YUkzNCRVKE84T2ImNCRMSHV8MTFCfEJHP0V0TiNZ c2w1dWZfR0hEZkQNCj4gQllwUg0KPiB6akQyRVclQj4tN2NXT0N0PmRAe35HYSYtPktpKTsjLQ0K PiBvc2I/WnNNPmZkMm1UUWJ2a2BhTmZfcGdPVEtZK0pmLVdlDQo+IHphTXl8YlFifV4/cmctV3x6 MUxOeXZvYH4hZEM+PUdWfjJ1YC1vKCNvKl5KNGBqbDNwMV5eQ3o9P1I5b2FZMHt9Pg0KPiB6SlFJ Xk1TJCh0Oz1pOH0+VWplaWBoMV9nNGwoSkRfUSpUPEpRX3UxRHpCYGlAMDlAbylpN3dVY1RAeykz RSRwMSkNCj4gejUySDtyeigtMlVEVll2c3gmNVZ6JXpnVFh7fWR6Y3ZQLVFCPTlsY1JUe1RTWXJ9 e0s2dzhrak57cD9BPEYpQT9HDQo+IHpzVjk9UFlmU3VeXjVoJXk2UzdMM01hN2VUP2JnNmx7IVN4 WSVrQWJXZkhpTXtTITZudDg3RHNpVDtING9AITkNCj4gTjMNCj4geiFWVFZIJGlsb2smQW19MFpA TnBtdDhKUC0NCj4gJEZlRT87MSk8TmFsSX1YKkJYZUFIUzAhMGteMGxNclBUMV9gbzx5Mg0KPiB6 SWRla1FEfndyRjZeTUxgciFKTl8pTS1TYVdofUc3Z0daPkN2VUlBUnZ+cWktDQo+IFVyfGheTG1f TlNiMjE7KDxmb0pPDQo+IHooS2c5UHdZUl89Ykk5U1JXVEpTUm9QRTNRNl9DU3I/OzN+NlNtRzB8 JjdyRGZRR0l+MVY7MlQyWUpScHU9DQo+IG1EPW4NCj4gejQrRGRHZSpAP2FKeVM5cllMTUFFRFdG RFowMGlhUk4xNCtva1EwUHRyK3cjUTgkbykmPFErN0ghfSstDQo+IGQrKDttMw0KPiB6QHhQPiZf K2ElYnVvO1V7NCpjSCVWbzMtDQo+ID41PjRGQD5kVHsrNng0fXNKPTsxVUtlT1JAQU1RNXQ2dTUz MXo2eURiDQo+IHpjV2RZQHFAMFhCJE09I2FaU0MkKEVoM3RkNz9UdyEqc0ZQSyV2dyF+TlhAJENu QDAqZygtfEhqLQ0KPiBBIXpsNnROQlINCj4gejM4VG96SDluR01rNVc8U2gxYGU5NStwaklSKkF9 elVFPmBPWUw7RD1LZT1WSFZuN1l2Jms7MGIhKGZkSDI5DQo+IGU2MQ0KPiB6dUNramRvTmYjUykx cXx0NV5AbFFOUzBaJGs/V2MtPVk1NW8hcmNEUzVrekt9UkwtSihiRGBCblpgXyZtbS0NCj4gJlNl DQo+IHp0MlNsPTY7NHpJWjB2UHU/QTd4S1grLXRHM1oyMVo8OVNDfWdTWHVWOX4peC15aUIkOTJW ZTQ4P0hmOD9udWVGZw0KPiB6cFh5S3Q2R3h8RkdHNExiaF4pbVI5YXI0bUMwfFZWcUBDNjFlZiRp bzZBVCswaTN3dG92P1F6a2tSNWYweQ0KPiAyKzdoDQo+IHpXPVpjKldAK3ptSShyNjxOcTVaUSo9 Xzdtb3ZwIVBMc2k2U0wpQXZee0h5QFB2cj94QDNGZHppO2J0MWs9DQo+IDE8K3gNCj4gemEmNTl4 JHp6RXRpYXQpPWt5KkgtJSNFaz82ZDY/LUBBUndVcyEtDQo+IDlKJCpMQ1ZDQjA/JjU5WTVnTzJX c2J5JnplbQ0KPiB6Qlc7N0syITRrKGY+TnY8Pjd8cnExMSs3PmhmS0N2KiRqR2FyWWRXdCZvXnwk USFtbVFFQD1RIWl7IXpaalUNCj4gRGNEDQo+IHomMGEjcjF7XmtldldDKEEmXzcpJVVSPWUhO0I5 VD49dVhXZDFweShlTHR6YHs3VTxPVC0NCj4gY18/UW1MfnJGNFloKlMNCj4geng+eGd4T002UnRM ekNrMkpEYTZ3ZXQwWD1QZikxV2VzM149MDluWkd0fD1wRGpGYXxteEslQEFfRyhOeQ0KPiBJN0RN Zg0KPiB6dHI9dztOPmNZJiQzVUN3QmBpUF9JdlQ4YXFYJHteJWZrXyomR2ZYRFg2aWElal9AWWxS VHl0NjRUJHVAMzUhDQo+IF9zDQo+IHp4TE1EOyV3JENeJjVYNypMZWgqQzFGWHF+VTQ2IXVOVGp0 PnhsSVRDKiNieSgmYzRQRTdWeXp8JiRYT3IrDQo+IDxTUjINCj4gelpjcV4peG07dHhjZGJDbCFC OCtvc1EwdWZranNuWG1vfEQyeVpBNzVfZC07cFlQZyM+NkJUWV4zbD9SOHNBM1olDQo+IHpnUkRO eG17flkoNWVxbjI8LQ0KPiBjQU5WVTtHSm5TN0tTbjJ5Yjx5MlE4SEBHVVZ5eUkwZENwO0J0bk03 JmxsYjhCX2YNCj4gek9aREYzNl48V3FFZC13S2owPihlYVJ3TENXIyU0WHp9eW1gQCoyWCo5LQ0K PiBFNzlaOGJ8NEg3WTEqe2JBX15kOEBJeA0KPiB6YFVkOXQrVG5zSWZAODt+TDBBTzdBQEBAVypi NmheX19lcGdycSYxT1prfHJBVz4zN3pCIypqNVhhYioNCj4gKXVrVFheDQo+IHo3fUllfTliPlpI PXR5ekpnP3B0fUQ0RTF8bU9HeUNwOEdieyNTKWs4cCYjLUp3SW8tDQo+IGcqSW8kT1dnNFc9X0xW KkoNCj4gejxSUjUpO0VPP31wbj1rbDZ3YHBsV3FyTjNlWUYoPmpPMz9MY3JVY15Eb3U5P0VGaEBP NW54WSN4RVBxbWBxDQo+IEJwUA0KPiB6UDlLPUk/VSQ7YClVbXRUaCg/djxDWEVLRGZeb3VgdVNL OVNfbGxhOyN7PVNQO3MlZyZkO285WHZfflNmSWImMzkNCj4gentIRT1fYCE4K1UpKEVnKXZLZCk0 UiRTOUlgTX0wKlRLOXJfWXAlWDd2SmtEVFpwSW5hNzhaOEZVWlYpIVVrYE1WDQo+IHpEM2xOT2Mt UCM/YnBIQD49JXJaKUNBLWMqOyRSViErKS0NCj4gdVRIYUw8cDJPQTs/TDRxYkojJWwpfitqN1E+ VipFOTsNCj4gejdSeUhlR0F5dH4yNUslMjhFU0dxJlcxI31pUlZ8aCsoa0VORkBUbDZzUTJYbjBu Tj1mTGJ6M1dPeT9tDQo+IDFnSkUzbg0KPiB6ZVFid015KkQtDQo+IHBKPHZVI0dMTWAwOU1eZj1s QWEpbzN3e0ByJFlnfjtKPDlDcV8hYDA0c0lQUlh0O2xeRD5WPikqDQo+IHp5ezlpMTImQXhuWjBB KF9SZGNCZ3ZmZn5XSHxhOSNHZmZKbWV0SGIyQFRZWlk3QHQ+cmpwWSZgQm5lNihhbz8NCj4gOz4N Cj4gekw1LQ0KPiBlbjUlVUtSTytTZ1p0Y2c/PEc3dSkoWWx7SmBEfTxrZTAjUTI8ZjY5KHhyNitf TDxmKEo4KE0hVTVvT0hyTQ0KPiB6MFcrPT5nMzVFUXdMRVBpbmsrMT5JKzlCQEMmK0lvKmV5a3Bi MFVta2NlQl9eUkBGdndYVnMmV1ZBDQo+IC1RYGB5MEg4DQo+IHphQyUha3tOWChYT2RsPG9YQEVw e2kyY1AkekROUndrNnV3RylnMTAhOEAqPjtKbXBtc20kJTUrKmRYQg0KPiBENilvUTgNCj4gekBC NXdrZkdkS24wOU1ubT1jXldzWDN2Z1pCVXw3O3piPHotLQ0KPiBWe3ZpSUpDdFgzM0pkZ3pvfk5W MD1PQ0habFBsOA0KPiB6UXgoPXt7fDZ6Z2JgaDVKZEJhOXE+Tm9Fdnp4Snkle0JDUD97dlVpekwz SGVkPEE/aUtubTV2NDc+UCpweVZgXw0KPiBTDQo+IHpNN2F2Nm4qJS1TUE9ZaCtUd0J6ZykzU2Am bTk/Jkg/Jl8kfXlzJCF4SzFfdkgtYl48ay0NCj4gczhoPlQqQ0AmTjQ3cUANCj4gejQpQmZNSj96 WHxYTURfNml7Zl56ZHdAXlUwPCVqVj1yYmE9ZlgjT1JqcEM0Sj9lPUs0bnErcyNidz0xXw0KPiA8 PDRgfQ0KPiB6RHk8el9VKjJBS3o/OTJhTilKYDl4O3ArJCh9Q297YX10K1AhM0QoPys7UzVqblJU ZFEhLXtHZk1Fam9oWXhhTkQNCj4gejhOemJeSyYxZFR0fGJJbGR3YHxBZm0+SiV1SjEkWTBNVF90 Qmo4fVJVRGZzODdYcFolYmBiTTcwantLRkRZDQo+IGRJeQ0KPiB6XzNycEhicUFwT3FnKlpMdnxL P2ctDQo+ICZHOEBUd3NHKk16TUhGMFFuPnpAXzB+QEtRc1B9WUIrfmdgd1IhMig5em15DQo+IHpz O3l2TTA1TWhNYUU0V0UmaEdDUSMrcEFFbWM3cnFrVmxhdzxwfj1gYUlVeytiKjZRSURMPC0NCj4g ZDAhfG4hbGgwTisNCj4gekhhQztVZ2RYcTszNyVwcUk3VHlDa145enhPXkRAVyMhVHhEeSktDQo+ IG0wY2djUEFvQT4mI2hUK3NlJnR0KyZ6fjJwfQ0KPiB6PEYxZ1Y/WERBPm13IVpEVjh0Y1BGJEdH elBrJXIpQH0pOExmcnVEXmNuWmI5VlR2SUpAeyFWSD4kdmFyZXUNCj4gayh+DQo+IHpZVT4tdEBE flF+LXgtDQo+IENeRUhKWD5MZnR8Rl5uMiRCIzVkWGo1ekRsKlFXQnhZcERKc1ppUFByVjBlIXF0 QThRQmwNCj4gej1qQmg9PnNxfkhzaUN5byF8fHBpI0xpflduYGEzPFM9MD1BcnxIRWtZVyhgMXEw WSRHZEVPbEElZHxBSTx8NTINCj4gUA0KPiB6dHF4fV5gcVQocW5paFltcUdxTiViTjFfRnBXMGE0 cEw+UXZeKitSVkp5Z0hyVjByNStnMzspdUskY19oKnYNCj4gT1hlDQo+IHo3JUQkaUAkRmNEKkQ8 YnN2I2EqRTUrI31QViktDQo+IGZTbzY2Z3BfVSk/dWppVHJobUxHIXBISSkrNjhieG9MXmoydzAN Cj4gejY9U0dGamFsQE9GNkM7S0AwRk9fVzdhRHo3IzhnVGpNWXU7bEw3VSNfKX5TbSlgVUtSbmBZ N0JzcTI2YHtQew0KPiBuNQ0KPiB6aDRpcjQ4JlAqJGdgO3olNkJmKkB0O2tRITl9UUNyWHpiZ058 MHMkdXtJZFUwZX4zUSlAYUdyeUZ1YENSLQ0KPiBtZn5aDQo+IHpuQ1FLTUtFTV94andSS0NDMVU0 JiUzXilDPnVjWlBZWXt0c2p3VlRCbVJ4ZHFjOGVeZzslJW9ZZj9iMg0KPiBNNG4/NGoNCj4gejdj MTtiP3g7M0BVX3QhJlNVRCQ9WVd3MkotDQo+ICV0azw9c2MhNXtPWipePU5lV2N4cU5pUjFuO3A9 Mkd2a2MyXjZNWQ0KPiB6RXB3WjwjOG5RPzJWa3Q1K3gqVSNQdV9sfFc2NmtaSit9fCZ6UDNKWUFN bCRJREFGZipuO2N4e1V2c3VmPzI7DQo+IGQhDQo+IHpheD1hTnMqXlo2ezd9SU12JTUyZ29NJSYh VD89JmJ6QXRjfXV5MDVJY3JaY0M/NVQhfjlTNHNuZVVfflBndWENCj4gOTcNCj4gengzem1sYUM7 X3lwfThHQVl7RntaWSVFfCFINzhhNj43Jkw1ZjxxbGB3JEg5am94WEhNTzMzOG1NNHM1PnBfDQo+ IFYzfg0KPiB6ek0kNkNXS2ctVFB8a1A+dnJUPjZqI0p5V2ktDQo+IGohdHlMSXluWUx+dVVIUkdg fT8oOzJZXldQYG1qPWtnRTlXXkArDQo+IHo7JXNoRHZqM3pWe1lQWGZ0b0w+OzlIJURrWTRyWVh5 ZjdeSFEhR0E9ZH0hNXd6I3pkWlozflNpQ1ZIMVVWblANCj4gcVUNCj4gelhHfWYzKEpPQU52NGAy UFN2QE0oTXJ1d3hzZ3AhLS0NCj4gV19qQFhLV3s1SWNkaSRNYFgkam1DNElYTXB7MGV5clA9Ug0K PiB6MExIYntrTztFeyY2U0RDbiZOYl5fSGFxISNRWWdIZ1o8fm93NWJAQj1rYncmPUpKcEpvNVg+ Sjc1bSsNCj4gckYlUX5YDQo+IHpVZXNRNHI+RWl4RkBKcGlvISY8Z1lgYkhxSUFkUEIxcXRhRTx4 djdpdl5gSSQwZnFLIykkNXE7aTlmVFh2V3oyLQ0KPiB6UFNZYFZXcztZZGswaEZkSGVYSTY2dGE7 dlBxajg1bXBfSDZCeHZ6NWdvRX1AQVJNJC05MS0NCj4gRnlQd3FXdyRLRTN7DQo+IHpRO25SdSVj aDdke05eVT0heyZiM2ZAMyQ9JjlgPm45ZndJeV5nYlNAXzBBNj1OVSh1OUI3VSR9QyFYZWQNCj4g Yy01aGYNCj4gekh0WD1KPTYyTGladGdscChfLQ0KPiBed1dOYVJFR3ZpSX5qbShUe2QmfWtDcE84 YEFhVlczTGc2ZzdaelVDTG1ZfHk7ZA0KPiB6dTY2bVQmKH5idmpEZCZ2R1ljbl9WZVdnTms0dilw a2p+Z1ZvYU8yPUtUPztNODtrMEswQyVaKFhRM19eDQo+IE1DJWdmDQo+IHpiOUU2a0AxdFF8QF5Z QUohKStBI200I01OcXZpK3JgfDNtWmB7RE9YWjhGK2JgI1hyU0JIM1NfbjFERi0NCj4geVgxM0sN Cj4gej9SQ0Z7I0pPRm44djhLaC1gZHx6U19mTCVZd193LQ0KPiAoWWpZKnJFVTZNXjcrZDRDTEZy UlJQQU9NcFREMmphJXx2ZA0KPiB6YDYzZ2QlR0EtSHcydG9Rc3RIJDBIS3BWJDtnWTItSn1oUzIt KzQ8aEJ5Zzs0MWhQMi0NCj4gQHdxIVRvZFVodDc5Xnk+DQo+IHptNzU4KUsrPm1wbXspYE1vTFFC eUpYT1dVUztjVTkwWF5lREJ0cDtZWWske0hQWkRoJHFfMnBCdFZnbEQNCj4gWnRwc0gNCj4genBk bFZfNDk0ZkM4bFApbFFaZnMrSTJPIT42SzJpMmNRbldmVkBtQXtyX0EhTm5Kd2FpKlYqK3kqcSM7 Xzx5ZA0KPiBPYA0KPiB6bldmfDhUNWZjNFdpfSsrbXpKeWs0VzRlNWhUayRmP1RQNzkrZGpeKSpm eklERVpmezt2UXtJU0tweG45MikhSzYNCj4gejkpV0ktaiozekAqJnVvYD1UaS00U3VFKzhiM2U+ JWVCejI9SGRjb3JsaTU2ZGorPjNgIXVrZXAhZGxmR01WMDE/DQo+IHplVXtHNzJDfDh6Xks9VXw3 ZjB1ZTMwfUVfWU1hYEsqa2NZMyliQUNqdn19SVhxPDkhfTFJTTM2SE9YZ3EqQFkNCj4gN3sNCj4g eiNjTCluJGtZTTh3akZ9NiFedXhAd0tyU2Q7YXo9UXolV0koLQ0KPiA/ZFMyMilwWU8wdEBIO245 Qlk4azR8aWtFd0AjYA0KPiB6b2FRWWJ3Tj0wPlRUekRZWnQ/bmtqYHdTTGhNUis2PH1QTFAyOWpI NVp3a3MmdHM1dl8zfUBee2tMR1RCYTINCj4gJmw8DQo+IHpDQnt+cTlUWXVlJWRvS01KdH0mNnZ9 bCpvNnxLelBVKWMpVml0WjkyTlI0eCF0KFJvY1dxbj51UmVsISl3TW8NCj4gb3ANCj4gekhmciNg P1d+TEZsPDlUP3RZeEJPRmxmRG1HJFM0fXhHYyRFPjZLNjtCK0dRQSpSd2M0M3UpWE9NeW9iWHZz DQo+IFRweA0KPiB6dHZWJnpzdj9APkBHfHYlJDwtSDA8dEBsNW5ENGxMZkw9ZV5zfCQtfSFPeE8l dFUxb3M2c3JHX0F3cC1ALQ0KPiA1aHRLDQo+IHpLZ1dVamNKK1JWY2FRUFc1YzVvTVhMK3dLM1It DQo+IDc8cT9GQUdKdjJkakdadEU+R2l4dE1VYV5JaCFicjttP3wwdk0NCj4gemJMMGBkeFRxS2gh SHdgWiQ1JUFBaStpRDNxS3VQWXs3I2NkaUpDXnx1YjZFb3RVNV8qbldAPUZmZWdPaFloDQo+ICQw Tg0KPiB6YmVUb3ZVbTdJfmkyKWhCPFVxQndqViZ7elpNK05WM15PYzFXNmBJN1ZEM2ZNNz1Fbm11 KylkJjw/bWkNCj4gcE1hT2UpDQo+IHpvKGNAbXF3NzlxSiRofChsPiNNUkp3cTtCREMtDQo+ICg8 PzAyQG1PVn5PRnV3Y3VqWSVWOWNXJW1Cdl9CajA7Tl5oaTQNCj4gelh+d2lie1deK2V7ZUo3eVRK JEFYUGVxOT9fcU1Gc3JuYkpKd2N8YjVWXz1ubVd8Sm5NaExCZkozNiRQKF4NCj4gSGRBJA0KPiB6 V3Z0fTBOYXxmb1ExLWttXiM7QU8xaFRkLQ0KPiBfal9YcmZXWDxld00pVzxOMyVSUEA7P3xmPihq bnU7OW81MiNhZ2NMDQo+IHplIzYpZkZCV3d2VTkqKGdKSnZNfHYhXyFpVVdJOyNfQW9FeFIqTWxk UmpqWF8rRmxZdHUmNG55bzspcX17ZyUyDQo+IG4NCj4gemNQO1VgRHxxOzBFc0tTWlRJbm9NU25Q N09eYXsoN1FWdGYhV3RgU3JTZGEpMzZQekteJmo0JSgqaShOYEREY1Z1DQo+IHpuUngwVWAhRlVS VXBtazVJMWVSS2NXc3d5czQ+JlVGRD5aOCRBKjg2VWh8bm8xKW1NamJ1QnxNTElyVA0KPiBFJWUq SnkNCj4gek08S2RnTnsyM0dfUGxEI2ZxI18lVTd0Z0hrNlk+ZDVecyY9dnxqdXFMR0B5ZjVXM3Rf XmwqKSRoP2dsP1gNCj4gWmgxNQ0KPiB6LQ0KPiBMKlNhTDhZaiU2ZyE+NTwzaGNKX1dtb05CVUgx MmYpJmNJX3h8bEleaDMja0RuXzcyZm00JFZjO29NSz1iSSkwDQo+IHp3O3JObypTfkpTOHpCfkAj QzxYPUc5XmAzMkFecE04UkY3clB6eDJzckE1RHgqPjUxM2JuRXNoYCRsRGwrbg0KPiBIajwNCj4g ejdjdT91OHItTDJISFhNQUxgN0Y5O3E7JmNVdnBfQz57a2k8VThNXmItDQo+IH12eTVgWVRMN2J2 WHZ6IXEhNVNUXkBmRA0KPiB6Smh0e3dlS2I3dnQkU25aKnRNdUxNYnFtZk1BMX1LeHF6U2VkZmhE KWhHYkVneW8ydjV0WGNhNVYyV3ZfDQo+ICYrZChQDQo+IHppWmlRXnw0clIrJDdqdnJDeGxfJm00 QyVKbS0lbFpuRklMeHJwKUojJHtjKlJ7M1J+YDRQKWkhb0FTU0EtLTtTZw0KPiB6RDhKMCpLWXB6 SWR7aDIhemVXQ0xQI0x1VSkzKDJEWkZLRS0tDQo+ID5tKGtLb3JWSD1fY2c7TyhiKkJ6Nz40NF9L KFVPDQo+IHplN0UqamB0MlZwS2l7blZfSEZGO0h5O2BILQ0KPiB9REZ3U0FYfFNBUlplOUJDTFAm YEA7TnZhS1MpTD1KTEM1Kjhhb2gNCj4gem0jdmQpIXNiS3J5S2wtcj1Xekt+UlFjX1hXRGZBN1pg T1lNYzQrKGNeJFBXb1ItDQo+IGhxaWxHfnE4SVg/KTI3Wjd5ZA0KPiB6PyFiV0lYcX5OMzk9dTZC KVp7Sj1PNTRVfWpBfEBkYHkyZWNzPkFLQjR2NlJFTUo0ZFk7cSM2dnpjOWU9e3g2DQo+IHNCDQo+ IHpAflpzMjw8O2B3RkRuMU5uVDR+YVBWOCEjbz4/LQ0KPiBoa314O2dBTlVWYCVYdk9LQDE9Wndy WUNiRlV6WDBRUTAkQWoNCj4gejdrfk5VdDF0RlZlNkQ1eGYhOHhWMmJSeThgWEc8VyhpY0I5Y3xN OG1GNldub2NhX2d4SUlIc2JyTCg1O1RoNA0KPiBGQQ0KPiB6Zm5PWnhPYTNCdSE/VHMpVlVZbTt0 cGdYWitaWFE3WnRHNUk4PCtsSzt2OTU4cDhLJlcpfUt2JUZDVl9xZzUNCj4gJkk2DQo+IHotdDNp M1JraSZ9S0pQaEFGN2J7WD5GaCVpTW16UDRwPzxqZTU0dChGeHVndEwkUWozKD82Y0hPYFRwZ3hl IyZkUw0KPiB6Jk1PUHpQYSVFdDZTcDclMzVxdmg4PkxnYlEhe3xBZjchWSY/fCRsI3Y2JFFtTT5F fnhEazhPK0BBJQ0KPiAybXYhTnBTDQo+IHpPMH5QeDR1QGdIYUp+fW5DRUJBK1pRP2NBc3BtLUlZ IWBUd1Z7JSE9WHgtDQo+IGdtMn4ycmM+UXN7SGokeChgWkdxfXsNCj4genJOX3BNaDFNXmMpd3tS JWpyY1AhdlBGME83JTs2WUVsbXgkVGs4al8pMnQzIzMjTlZ6V2B7IVNZaTQheiRHVg0KPiAxJg0K PiB6ajZjKUUpKCUlVT9rODViUiQ3R188ZF9JNGw8d0dRWlA4T21rTndlKkU/KSkjKHRxcyloWENt PTx1JT9TDQo+IE9mZHFQDQo+IHp2cEchZmtTLXxSLUlxOWxCUTslazstOFJ5XnFvU3dWc2N3NlVG WWpFVXBqdy0NCj4gKWs5QyFXQTV1I2swVEBYY3djY24NCj4gelQqXztfRTtpMT9kVzdqK0pweyNq P1A5K2tRelB8UXt8VkpZRn1XKTAhRUtpK24xQjgqTXRBRGJGcndlWllvUjANCj4gSQ0KPiB6bXAj aHR4QV89PHJiOW8objU8cnJkTVZ5a2k5JFp2WHxVb09OX21NdFZgLQ0KPiBDYlJJTkdIJnlZTzBg cmRjT3BHZ152DQo+IHpDKStuN3J6aUt1KTdlM35MbWl9RkUyPX1HYmpSWj1CJkZ4PVR9TmZJcyNw QlVQMzRjMTRfQUB0NG5eUjxqJVJzDQo+IDENCj4gel47TDR0PnIkVCZrWGlqS2tPfntmdFV+RSp5 SmdXK3hMKE9QVlc4YXshRjhTeVJTKypiVUNMe2ByU2xgVzQlMGhhDQo+IHozeVBQIyRqNWFodSFC QjdAI0RnXlZzY01SMjhEKiZianFWRCR4YzB3ak5rdGZLQitRVXk+UUBlP21LSg0KPiBmaHlBTHQN Cj4gelhsNjNgPipHJXZ3aX5ASWM2PFpZOEU9I1FjLURIKHFfaS0NCj4gfSRKR242bkdFfWkpcXdl fkt8Tj05X3RsKUtIWXg9TQ0KPiB6Mkh0NUhfKj9gN0lrUGtoN053bV43O0N4NFlzM15JcV8hfTwh K0BaOHRyeitqc0VBLS0jdlFfZFZzaWdQTCRlKkMNCj4gejVabUY1S1dYJlE7NWBqeXNCYFlRM2Vu KGg+bilzdCVVIVRtTyFEIW1kb1g9UStiaTdxRDlaZzZTJHhfYGNqDQo+ICVVew0KPiB6T2lJdEJT SCozbDNVdW1PZEd+ZGh0T0ReVEE4WkR9QmVPY3tgTyU1VDkhd0dqXks7TkE7V1FiaVlrQWE5Zw0K PiBVUlJkDQo+IHo4OGV0YWg2SlZ7UlQ2ZndOVyR1MUZuNG1IKEIjM2hURiRgcTBlPnItDQo+IClw KCRwNVdXYHNWdj1LUkhpKnh9MUhacz8NCj4gekRPYSE4ZGJmOT42U1piJW16TVZ1bzcrODZqa2Fr YypGKUl2clIzMEFFaGxFe3JaI3hqMSVQI0hPSDd4ZjgzcQ0KPiA4Pw0KPiB6KU8tNiZmVXtvQkUt QzU3QG5TQXpBZEZ0cDlzTSpwbGhRTmtFbCNeWXIoVnlBLSM+YH5sRjh9P3EtDQo+ID1DWlN6fTBu DQo+IHpQPj40bFh5R35xcEtebzteSlc8MDBtdEJqSVVQREQ0WXVkV3BeSjMxbz95ZWM8aVFKQ3dE WGVlRHpSJUINCj4gMlYwK3UNCj4genQmQH5MWGFfYHQ0RCh0ejlfVkt7enZiQVg0MH1pSld2SjJf PytzRWZQaDQhTklsT1JOVmgpTHxqKDE4fj0qbitODQo+IHphRit1PzYwRnZ4emI/VHRFQ31LU2V3 TzxoJjgxdF8hJlR+RzY0SjdBdnoqRlpKMGF2Kj5GZ2QtDQo+IFc7Km10elBjZG8NCj4gejAtYnVq SURZQH1XWFBvUzVgVklOKmllYDQ2Nil7fF5+emo2JHxZWTI3ZVoqPVRTO3U5c1hNaCFWfkt4U1Ni UDhZDQo+IHpTNEp8b3EqR2dvano0OFRfJXVPSGs8RCUrc3YpYnJ3e1FMam01X1AwR0FCQz9nbHF1 JmpLIVUxKU9UNzRZDQo+IDdMM2oNCj4gelhaMzcxN2B9ISYrYVo4NT5IaT8rO2c7dFE5Z2JwQ3N8 fks2PjxWUEVfV0VmSzcjQGYzZHVENiVHMGxtXnENCj4gbVQ2fA0KPiB6ZD1FbUc4WVJSZlBSbiND MH5fVkNQX3hZTz9+bldQPn1PdmJHUzZifUNiKkxWQSF2LQ0KPiBteFZ6ZXU+cGxYVSkoKU8oDQo+ IHo9d3F1K1IwRFgzMElEQytIUChJTG59N0UqNjdoVzdwO3p1Kz05eH5kcXlqY3BQViQ+WFAxRn5M Yj8lbyR0eQ0KPiBjYzwNCj4gelFaKXRGYDBqMnhYfGJ8KnNOeDtVb2lQfT9WIykmQ1g/LQ0KPiBI YilPPzZQcjM8ZDdWQ3VfQE5aSkRWPWlKeFhiO0I+ZA0KPiB6IVMtDQo+IHFYMX1vJktEOGthSWdh QnNeeWNIdGZyV1A9eDZaYEI7JDJpOEl2fVdJfDBPME5HWSVTI1g8bz0kYFM4SERODQo+IHpDY25w O04jdkVwLXlDNW9OSWVRWWFudT9WP0ZKamN5ci19ekVufjZpKU4mUWpzaSk/PkVzcERWZmJ+R3Vk RUxuaA0KPiB6ZnZuP0ZVZ088KEw0QG12PV5mVj42ZmJrR0R1c1lxNHM4OT95bWlfdztgKWxvWkhM fSs5QEM0NC0NCj4gNzhnV3NpIyFeDQo+IHpUUVhWQTFoPUhpXk9ISG5LYD4qfW5OJSFCKnx7Z2s8 RGMqZ00yUV8kUFg0ZUZUK0ltMXJuWnNPeF49dDgNCj4gamo+M1UNCj4gekxjS0lCcmtoZkdJbkVS MGUmYmZ6MmsyQTx1QiUlNEw8VV9gVmdjU0M7bG4qTyZBJCoqP2h0fm9MRzVqUV9KZA0KPiA/LQ0K PiB6XiFENE43JnZOX15ONDtDZHxod3I0a2J2fVpQJmBuVXw8ODhlM3NvPihvREBQOHBfbHxZUmdw M2p2SUxqSnJ7DQo+IHBXDQo+IHoxfXRfNVpmfUQ+ZT0jUitYSXU/cWo7Tz9xNHt0fjdUSko1bmlo a1EhQ2UhZzVIdE48PCVmeEJjdk1SeUtXNk87DQo+ICgNCj4geiV5OHF3SihsNzRMSSQ/WGQ9YyF7 bU5fO2VsKTI/KFdxWlExYVN9TipYKCN5X3lubmtnRUNfOEVac3k/WFhMQTwNCj4gSA0KPiB6aE44 OFFzZjtAZGFEejlAKzdrUGhjTGUrKGNORDg1NSs8TGtYMjdFTmhMZ3RmY0xzcjV6emJzO05tSHZQ JGkNCj4gVzBODQo+IHpnLQ0KPiA9Jig/R1JGXlcxaX4+QiN6eHhKMXtxNlhfSCtJP1h8eVdJWW0j IUArWHAxYTArT15EMU5aQGRHKGBuVX4NCj4gc0J0DQo+IHpuIzJoPFNtcihHNTAqc35sPHJ1PEd4 dSVmN0g4MEdNbWtPMDZVUnQqemJoclZ3PD1MMVQ2PzhCRn5icisNCj4gdihiUVYNCj4gensmRzUx MEdwcC0xJUF6YWkkQiM+e1BoWVMhdG4tDQo+IFNqWjBPVzxUd05IVmZTZz9PSHRyMyNia2VWcUJf fkI3UjJ0bw0KPiB6YytGQUNQTCY7N0g3QW8qO0swdV8qMUZfTkYkOWZsSEJzcX5nKjxIJVFxTTdN UGpfa0VYT30pcVdMVlN1DQo+IEV1SWN5DQo+IHp4RnhWZFAma0lmR3VhPSpucEhzRXRBdm5uN30t clFka0BnLQ0KPiBxc05tMkcwYGQjWlVrbSlwS15uU2YjdDQ8TklpRyYNCj4geldYPytmZXhpWC0N Cj4gZD1gdHJGRWBkPjRAO2JrVmZrdEZ7X2B+fChsd1ZlTldBKGZFSWtSOHFRUUlnUk1wVnhYPU5y bQ0KPiB6bUdzaGtAWjc2Rlh+ITB4OUdUPF5eeyZxPCZATXVeZEpOfW83M1pwYiVDVElBcDtAb0dY Ky0NCj4gcHVJTWNSYm5iO1dfDQo+IHpoKH5pMUkqI3UwNjFPV2gqQUJ9ZkxaWV9qail2NDs1YnQ7 VlJocm1qbzBwZ2JYYGMtXzZPTGk1IWlkNGB3SVhLKw0KPiB6a3pCYjF4c0BhKTU/U1IoQX4oKmkt DQo+IDd9bDMyMnopK2BwUTwoRzl3fk5YUmBYeHUlZ1BGUjM9JXZHV3cwPCM5M15HDQo+IHp6NFA1 Q0JkQnRnPjtoOVpDWVpWMkUoU0RVYmJjYjxfOUpTbSoyaDE7bE12QH1EMm84aTglfXB6cThmM1Jj SXANCj4gQkoNCj4genZpOXVJKGBHdmJRcVJUUChuXzlFK0ZMVUM7bWZ8bj84S1FYe1dObWFEcz17 NT5hKkZve0lETUkjRUI0aVI4WQ0KPiBvQg0KPiB6a2pxUkw9KE4mWDd6OWNqbFZ0RCYwc1lJTDdG aUt4SWBxQksya2wreDhrR0JoKGpBfCp4ZChlIS1TRUF+eFVUbU8NCj4genpzWVYxeUpuVmtMPmM0 MHUqJUFHMitmVjRgUl5iSiEldSVLRi08bjN7cV4yYFl5dV45bFhKaDJsbCRReXQrMkh6DQo+IHpO bkdHYVAwfXk7NlNFZWwzWDJ2cFMldVFzRCE/WkBfMCVMPz1AekdkZ3kjajVedDxQKGpCc2hAUWVO I24NCj4gSDc3RGoNCj4gemh3MHJVRWh5ZV5QcSUjQ3NXTT5lcFFlRDs0ezRIQzQ1bV9VQD1lOGYp Mz1ZPUhAKUdsOSF1fkdWZkkNCj4gb2RadjVoZQ0KPiB6biVEeXFZaHVzeGNYMzVjdGN8fm97SnFU STxqRk8kRGc0Z2g/K0VfPk00QmBDSilnaFdgMD9ZJHlNSEMpT1VJDQo+IDhkDQo+IHohJXlUQGxX Sm5HXkg8NT1vQlNPYGUpKS1maSt8KHpSI056MHk3NFBoWUdUKXNGQjdrYy0NCj4gVHNjNipkR2Fo aHF3PigNCj4genlPe1U/UmFwfnpqTmokX0p4clAjX2BSRkkjJHphSl4wPih7e3VsbjBDfEVrViUq QmtLZThpRGRkR2U4WkVrQTApDQo+IHo8akU1IVM0XkhmTnFXKVhwVlAwaDtLKGVoTmJhb2BUY3xL fDJgbXNSeCVeTkRoP1ZJSGBJVk5XakMlLQ0KPiAza2lKJk8NCj4gejU5T0w9amgwUUJEZUcmPytl QCZZRGQhOXVedVVIT3NxbkhjbFpsRy1JNCQtDQo+IG44WnA+R2ZCTDsmOD0xakprdlRfTA0KPiB6 WVNkTV80T0hDfFRqfVN+Zz4tDQo+IEowQyh3QHIkOFBySWMqOHhjbng7YmRtMXF7RUB4SyYka2o/ PEg8KzJmME9lT2dyDQo+IHo3aikxO2B6ajBWc3w/eVZIR3tpTTwpZUshdDlfOSY1Sn0ze20kY1ZI S1JXYlIqJSpKYTdDcXQqV2VHYEhENHUNCj4gbVoNCj4gejAwd01AUihibytxKjw0b0JAPFk7YWtr PHJaO01NemctDQo+IFleVXFVfGE4MTRKYXlYaFZhXj1AdDAkTzAhNj5PZGVkUg0KPiB6SEtqI2pI JmkqVll5UmBgTzxnJjY/QT1laERsdl5wYXR4cTZJckxzQiZgc0BQeUlNOVYle1djRGxMdUVOanQy DQo+IFhjDQo+IHplITQqd3NkVk5BN0RtY0IyVWBHZXhASVZyentmMEpvcllTQHAjb3NkdF5WWTBp SjdgLQ0KPiBzI30mRV97SCVyOXIocmsNCj4gej1PdkxJO3ZwJXdqYEc3TUVsPURQUmBhJlIzUSkl fjg9ZTIxaTRUUW9TYHYrNm4kP01HIVpnYmdtJGBaYFBuDQo+IC12Tg0KPiB6UlZMcktFcGRpeCh3 Jkt1KyRXYUs/JGhlVEI9PjFxSm9PKEBxJUsjSmRfPilyeEhOPSpYWDVOZzRXSw0KPiBHTiYxdylF DQo+IHopTit7Kz5qZW4yR2tybWdFKCZVTmMySntQTDUrP05ZNlJNYWV9bDN3ZmExKU9ZUTZjamB4 MmFtJXJCKWhsLQ0KPiA3dUsNCj4geiUoNCElUHw+T09XPTRKVWRze0dOUCNSVnNWUzszVGx+YWJ6 Pz0+KVhVR3gtDQo+IDQxKWFqQ3R8K349NHBnQzYzSDFNfA0KPiB6V3RncFdyIUwzOGc9Jk87ZnAt XyQ5RU1oZ3BeYWZeYnJ7O31oaXA/SWRveXB8SkM/ITJRKnpfd0smPVp5aV43NSkNCj4gejMqKmBk PV5ydzY3PHhQbXRxRFU8Z3JOPEQxVWEobFYxN00xXzApN1QjLV91c0g3RTx5alozLQ0KPiBNVFhi NHZ4KFBRYQ0KPiB6bmc+MX1ZJnpWMXZPbkZGcXB7UyN0WlFTT0huSj12R1NfKnJrdk1WIyNVblQ5 Uyt3dDxuMGhhfUxYZztabg0KPiA5RDEzDQo+IHpLMk9fc1B7OCZiNnRIfjxPSGpQO3VwRDB7bnI4 THVfOGstDQo+ICZ6MypAY09lQFJ3OVNvK343PjRAfUh+VFI0Pi1IVEsNCj4gekkmfE9STXEtNi1t OU1hSWxuI1lCM3ZPLUVRK09YXi0NCj4ge0lDWGl0ejRJRjd8cTdNZXR0T2NRQ3gkelFmMiNLSGtm VQ0KPiB6QCYyWGpaS2ZDQVl3Pl8yNjdhVmsmYWtUSnNqN156Xnt+ZkQ0dU0rMHJDalhRTXlwY1Rk YSRiNCk8WXR3Tw0KPiAwMmpsDQo+IHo2Oz41Uj1EdkhPMjlGJSsydk4pKj5AR3AxSTZMczh1O1J9 dXRmfDVVSWB2dS0NCj4gJndobGdFUTVGJSpEeyUxMmhuIVINCj4gel99cH57dkU4UzEmZk5LY3g+ RXU1KDs0QnshV2NTcSpzX21CeC0NCj4gfFp8fEgxKUFefGQ/bDkhZ3xFdU9IM3V2U2hOfA0KPiB6 az59NC0NCj4gZ3tgZ2U0Vn1FT0cqX1p2Y2ZgV30/dWZ5Tj8yYXNoWGhjVChIQjVDVmw8dWZrQXRe bT1jU01hWCs4dDN1DQo+IHp2UXRtKTBAcW4jWUdqTC1ReyEhMGN5KUxpWH1OTDVnbHZiezRLZXx5 OXx1MytaIVhfK1gocD5eKTJoeURuZTdsQg0KPiB6WWROTzU4V2puNEw4JmdqKV9YQHk3UyV9Kj1U JnNCJTM3QlljNzslWkd4PFY2MkdMSE1jQE1nUk96Uw0KPiAydG1QeDVKDQo+IHpoY215ZGM8Syla TCFWPTdXKXteNHA8MjwpKkhaRlE1RTdLRXUlWEZmU3ckRWNeYzBDTmdHc1VEUV9vXjMNCj4gNVVT c1INCj4gem1McHV3ckNqV04xU1NebGNaQkkzbWxHODQhNVJLJjg+VTQ0XlNSdWFTZ29fZ05vNE00 PVkjYlFSZGFyYQ0KPiAkbjcyJA0KPiB6eUwhWHQzWko+NEdPTzVoUiZSSis7aERCe3JtMWohJElq TipYcFk8MlQwKUFUb2VFbiF2a0l8enV5KlJIY0tTUA0KPiA4DQo+IHpIJThoeXJNUjZnPHpud01S Z3Jkdj4wTFcqWFhfaXNgfFRXfW9KY3p0VT1nMjVES2hzTzZ3Tlo4dmU4YC0NCj4gTEhGQHcNCj4g emJMKXJhQEZBLWdIbiowJXVmYHY+RilpU1hUb09sKjhwazd5PDFka2BJfjdjbEszWXBDUEozWSo5 ezlXYkM4Znk5DQo+IHpJTnFqWDdnXiZZdG1NaVkhWHl1WmU5NC0NCj4gSGt0eHwrM01fXn1OPz9N JHVvO0JHKiUqNmF6ZEVJZUhrMl5kdmU+JUANCj4gej9pU0tVVksyPHNwWTRVVTlPdlV+em5hY0p6 WSZ1LQ0KPiBOfEgkX0dXV2Y/UkolaGdmcEokKCVad3AzYyl0KjxVXzB5IQ0KPiB6WEEyMWw9KS0h c0whb3FzV1FhXmtQcXlxOCZnei0NCj4gWU8zSHt6QjljRyF1WWt0ZjBzIzhGM0VkQT5LKjdWKUhw P3V+DQo+IHpzYn1UZ3gxb0Y/emBqciQ5bVp6YTlzSUMkMn1KRmVTczsoPWMjQn15JW1WcCZuR1RD IUA1fTt1ZF9wUDA/ViEwIw0KPiB6QE48YGArLQ0KPiAxdUIhPD97NlleQjlod3l5VHNgTFUpaVRl NFAmcSpPSUNfbzAlfU9rfk9SIzt1SHJOQnxtPmlPMykoDQo+IHoqe1JRTyNZQyFVYlRHSVNIbmdW e05+Zm1OUDAzQ0BITXFMJkZlZFc3JGwhV3tRNTBiIUY2Q25IZ2NCbA0KPiAhNX5nPjkNCj4gek9I ak5lKHx0bDJxI1hWODMxdUpWO0YqKm5iNj9PSD5RTDxxT2hqKn1nWk54dkI2PnFiIVA3QWpjRnN3 S01+DQo+IFVTMg0KPiB6QG0qP3JPS20xPVFHM2d9K2FAVlcmMl54MCh6RCppTTA/d2A5PT9QclVB THc7Tz9yWFkrfXxzTWIhSg0KPiBHZ3hPVEQxDQo+IHowVV9IcU87R0UtDQo+ID4kd35Ze1lXc3Jy aCslbmM4Tm48UnxJV3FvdE99YTdmUHR7Xjs9akBJS0lPNDRzQytzT3wjNz8NCj4gemJ7eigyWlVr LUwhc3dlVDNXJl96MEotDQo+IFB0dTxYcHc0bDleeG8zQGgqcmM7I15sK0VoZDtOP0NPQXUrQmhC U0NCfQ0KPiB6OWBHR0clZ2xmbjN9Slg7IWZVQE1PbDtpVXt1fj55Iyp3bE1yfVgrbmB0dmgyYTkw V3B8OG1kczhxVzY2XyENCj4gcHQhDQo+IHpLeDhAQUhVZ1cyM01meE48MkQoPig3MC0pYE1tYGlt dVIxeysxaGNrYUg0Y0h1RnMtDQo+IHolV2FlV3RkezZSYz9wO2ENCj4gelhrMX57NUVVRHRiVm1p KU5PdE5lOHNCb2UoZkRBYnZ3OSlzMiN2ZHhpQGkoWGJ6eF9QPjBNX0RpcXx+TnIqDQo+IFYmUg0K PiB6QkFwZShgYVAzVVdiUGtrUTspMV9LaXtUQUNkdi1JcjhfUipHYz14UihfMmIhdFFMNXRFdUJq Uj1fUil0PjUwWnUNCj4geiRfVXdhdzs5PFJqVD5sdVQmPWd4Oz0mQjBAZ1N2Uk9YJl5jM3A4JD5q PyUpJDFqZURSYXpNeSN2WFJzMWUNCj4gTSZtJQ0KPiB6MCojbDBIXyVxOyhEdWcmK1A+YE1nbi0N Cj4gN0NQJjhpaCZJc0RWXmJUITs7KzszdU44M0p7OCRzSzFJdFk8Y1diU1VyDQo+IHpKOWl0fkRB MEomI0xUOGlNJmxpMjZxSFRyaVQmMVVwVDxSRSR4YjhBd1ROajc9JHtCJDtuNClHeExpMn1fIU9N Wg0KPiB6JlElWHw9JFUrVmFvUG5zXkA+cUo0WTx5dl51b15nVj5XcVlIKjUwbmNqQG9JQHZ4bSQ9 UGJWKVUrDQo+IG10bjxLV0wyDQo+IHpJS3tGdCpNc2c/ZnQtDQo+IFh0R01FNSpRT2ooVFUqKWp5 MCsjY2QkfSFWYEdMJj51WSNtQCtFPDBCMD1iRzJUJCNWY0cNCj4geipaRDBvTSYmeHkzPUokLXsk b0t3dk5pQXBXIVcwfFJoTy0NCj4gUzReeUBWZWdmR1ZfejlNd3kwWTFnb29teih7O1lgZw0KPiB6 ZnV0ZjB2KW93KG09JTQjUXNwPEF5PUIoYClWeDZoUCtmJWhvQDRtZCg8fjd6KDVXWXUyblNDUXpW IW0NCj4gV3IhVWlGDQo+IHpvIXVqUlROJURGIWw0RUReKSMhNWMtDQo+IHV8enF3WkE5dVZ1aVFy VzxGUGUzeXw4Q0pHRHJvX240Q2J5OWIxT19aeWcNCj4gektAOT9+cU9oOHFOaHk/MDRZU2xzY0lz Jn09TCtMMFRpTWJNI1A4MkE0a0JFfHJDalgmOCUhaFFEcShzekppMw0KPiA3NQ0KPiB6OVgtViM5 e3JTfmZCd3cqTyYhS2FES2ZWViFWTVlaMVFEbW47LQ0KPiBsRHcxbzhzQTAyXj4zaSN2b31fJGw5 PlVFc3tpDQo+IHpoWSslaHRNbE5ZeiVHVkIyPCYzNiFeZE0wZTVgTzFMQktBUVEwKEdteEl1YElG dWxXdnBtLQ0KPiAmZkswZnZvPEt3UzYNCj4gek5ga3FIQFVpR0wkbmFtUFU+RUVpYFZ8Yj4jZU5G UHJ1M30kaiE4dU9KXm9aeS0NCj4gT3RUREFjeVR+IWowTEttZjdgUQ0KPiB6I2dEQzdYKE9PeXI7 IW5rV2xjZ0FOI3hFVlBsMmRwKGUmdzYwcXtXekoxa01ucVEoSkhER1ZfQlBhIVRWDQo+IEF8bl5r DQo+IHpAUWVedVBYdmpsSXs2PyNxRCM1aGAjanFpQXJpeSU1dSltfXdKZFQpQUxUQGRzITMtDQo+ IDxFSFlRaD1xeDZ4MEZ9d0ANCj4gekhaXkR0M2gxb2NOa25SZ1RscW1+PnJLI2EtDQo+ICFSX2hw ZGg3VjFMP01EZypuTEJOd31WMjR6amYpNVY5TD1XXjNeTg0KPiB6LUVFWnhhK1VgfEFnWm1tKiZ1 ciVmeyRzKDc7eXluUChsJmFKeDUzSTV2RihlNUVTb1FsWUZBdVU1dDt+Z35FcC0NCj4gemJGYV4m bXNnJT5MPXt2cHZ0aiZCJFJuTVZvQSsjb297ZTdYQyFfdG9LQmVBb1BsPWtramhLWF9ZKnoyLQ0K PiA+fj9iSg0KPiB6anQ2SyFJITtvJCh0Kkkxamw4KShrWWctJVI3Skd7JTJDKVRDIzZ0MndURnoh UENYLSheTGhrUmN7bDNAbX50cj4NCj4gemRyUlJxQT8xWVdCYjFZQEBHO2QoSVQ2WV57JVQ9TGst DQo+IDZ0aThCSUFzPVNRVSVwVUw+cjMlaXA0YjlQaTNqYG9scA0KPiB6SiVSVnwyc2BRbkF5N2Aw cW5yWn5lRWdDajZKZ0l2RDlUdn53K1puUHJnISlkNm1RaTtBMElDaTw2fE8qPzN0N3oNCj4gemI1 RVpQPHk8dHdOaVU8PihRWFJMcnUzfSQtDQo+IGk3SjNFZHRmOyR4YzFaUkx4I3hzeTVUTnl5XzYk V0t3JDhkbWtTQg0KPiB6diYkdDsjcipET1hKQHV7WmwqKC0NCj4gV3d2SWlGQEB3Y3Z8S1pLYlcz TD1xJSNXMz0pK3s+MX5uQ3Z5WSthRGJqfDNfDQo+IHptaEk/SkRBNEB3bWNKJWBuTml5ZWhuc3M1 YTYyU3dyOF5YWlgrRjwlPklHfTlZMF9HYkg0fjk1dkU0UkENCj4gKiFWYWMNCj4gentaQSklSz5y Rkd7ZFh2bz8kfktDXl5ETn1nKSh7YTQ7dGoldj5NUkFPOX1uTTd7bVMhKD97dzVEOElqWkM/YHQp DQo+IHoqc2Y8JWlwKUtDKHJFZ0JkKExVfUFGITRHRjZTJmdseWc0dVokPFJxMXdzbitlYHkzQ3pq VmBUZkRhYCFgaUMpdw0KPiB6X3oyVFM+QSYyXiRJZkRXT3VTMD9QLU8wRF8qP0Z4Y04rWiVPJDw1 YmJfJlhOPS0NCj4gS0dLM25Te1Yra05VWDxIcHM9DQo+IHpQRWk3ODVTZEE0O0FvN3FLKTR3ajVi Mkh7eiVjMGElbzxoWVB9P1lnUHBjQyVfQnNCUFpVbWY/JHR0Ymc3TmANCj4gS0cNCj4gemkxdX4x MGViUEVxd0BUMUxBZXRqSFdOe1E0NT0+WllfRSN4dSktDQo+IFYoJWRGQjBHcVh5NE14dTlTbTNv b0pIPkg1Zw0KPiB6RClsP3RUN2opVDtCdj57QzhCcnx4RD1RRGhLKzVjSj90YmY2JH1UMUt3Jm90 RDNuZTtwOzl+YmowfVJkTlQ+aFMNCj4gemkyKl5VeU9mSylfclRNX1A3bCpaMkVqYz9fP19OR0ln dnFkNEF6NjBscD1GRztkak8yIX5jN2V6XyZSZDhrcXoNCj4gaA0KPiB6Mk8pKCkmPnEzWlBue1NM OzZuKkQyKEZxQyFBRj1yRzYrNX4tDQo+IHA5eEdWdGdGSSRyYWVOQGJMcjtHanw+YnhWM35HDQo+ IHpKcWJLVUxEYGdeXjxLP3drIzZfT19XandjVTtoe1YkYE5BcjA0amtOYmh5SGY+blc3KCpiMFBY cj1JSFlGDQo+IHwxJHoNCj4gej13fFByZmlDNEA/P1cpUHUpXz0xdWNxZlU+KF58Vi0NCj4gQHQ4 QDZZMjAlSVdDZShES2h1K2FXdEBnbng9NzAzKDM4Kg0KPiB6ZiRiM08taCVVZnFANyNSQ0RfMWI2 QCMmdyNHZmU8YFN9PWZJeUpCdz1QUnowVH4rTy0NCj4gbmVic15jPEUwcXJje3JvDQo+IHp7KU5P TG0ySTtaO2tKMCRSemRYd2o0QTllclZ3alchPGUzdEFAYVFsTiZMWGc/KlliSyVFaklzKmp8WFNG bncNCj4gZioNCj4geispKE9jPjxQKz1WQzsxY3MkcXBoV2JSPkRWbl8+ejdwaj8xfEt+ekEta049 WkQtXjF+e0h2bC0NCj4gdT5+QUpHI2ledQ0KPiB6c05OTXBLXk5wNzVzajJrcXZGZ1hCUGE7ZEl9 YHx0eDIoaVIhUTtnITdgI0wlUC1OfmFhSn01fEA2ZzdFM0I8LT0NCj4genttbn5UUClTO2RZM29Z Pz5KLWFnPzVsTkpyaWE/YlRWKT1uMWxHJlB2XnU+SGBTMDtuS1UmYmEqaGNfeSZqKlQoDQo+IHpw R19oTz9Wb0tMTEB9ZUMpTVRmZytfOyZzKkZjMClOditOdEkoczh3P0VALUt1bWN1OFF4LXA/dClu LQ0KPiBDeHBjPXYNCj4gekpuaERUdjFJeWt1b0JSISFob2RuNi11V3prfT10LVhNfFIjOWEpZlJq Ji0NCj4gdDBLJnZrMFZzOVBYRFd1Z2ZlU311Tw0KPiB6OXJIV3RHMEtWMT5idE8mJiFpTllgeS0N Cj4gc280WVlBdyRHRnJIJCszfkx8SGpEeXVJIU41IWZBZEp3UHYkZkVkVlBQDQo+IHokZlBYTnc7 VjZ2I0BCQmd5aHNNJHdsUmVEdE1Ecm1hQCFULQ0KPiBfNmM1eilrS1VUeCQqe3Y8ZlZBflYlQnRx PGkwNHANCj4gejRrUllkNGR+YEh6a259VzBYRT9XTSYtDQo+IExJIV8zKERfJmU5UHdwPHR9bmdw b2piVSorNVQ/SksjKDdIU28wcE5yWg0KPiB6LQ0KPiBAeUZqUChHJTI5VFJpa3JRUitRPWY0MlF3 YHQkUmZ7fVIwUHlePUlvIVVsYHZPVWt+bVpacFFvNHBFRTt1KzMjDQo+IHpoYzI+PllNSnF6OXd0 V184RVZoZzVsJlI/TjxCbkE0QVBaUTJJO0I0PC0NCj4gSSQja3RkQGttT3NsQ1daV288U0QzdWAN Cj4genk+Rmp4VlBBQlV0fUA7Pik1ZnVyP3chZnt4e3J3NVNkcHh3LQ0KPiBgSzw5bkh2SHZWfnZN MGglWG9xM1I0cCp1Mjh4bw0KPiB6QSFfUT5HY3ExRkx9PkN6QyNENEIhS0dhNnQlTlV5O35gOFI4 NHE5bXYkX0U3JFgzZFVqRTlSYSgwRVd9P2wNCj4gPHRQDQo+IHphTjtxUVRRSTJ+b3teV1M/ZzFQ QUA1PWJ4TkhDZ19feD87Jjh9MzRfMVIqZjtvP0RIUFo7YXNNZlNiaHcNCj4gZD89dzkNCj4gemBP VmBaX3oyVEdkPGNzN3pfNT54TX5tQHNgYUkhN2stNDg3NExMUylALWNzMlNpeH1jLSQ2bXk0bX0m YTxqc2U2DQo+IHp7eX5VMnBjeUUwRVNneXxNeitKek9wRlF6R140UGk4SEtwPWZsNj0laW5XeyNQ TiRhcWRJVSE9eUxtZ25reA0KPiBSTVENCj4genlCcm83KG9DMj5MTm1BaiQ7WihhJThBZlM+R3tI dUI2SSZaPC0NCj4gYmxkWGVqPllHJjRUemw1cH5XPXFFKXF2bUFzIw0KPiB6R2prb3lkP1NMN0FH az84ej1zbHdYNkI2aXhxeSFfeX5Ccn5jc0NzTUAkcGJHSzM8PElkPysmYUZueWduNXMNCj4gU21J DQo+IHpYeSNATCU2OTE0PSlESWs/YT5UbDdtVWMhNEVCeGpIZUtjdDIlZ3BQSFd8UE1RfUljcjs/ SUIzVkNZQ29neg0KPiBYJFcNCj4gejRCSHZUO1kmYjUzTDZRZjZ5aWNDPmNvWG1oS1BgYWBYZWFZ JGFzcCNPRF5TTj8rdigwTkozJXkybm42PmhMNQ0KPiB0JQ0KPiB6I1ZHNkk9byRPNkxmSSRjcWU8 eFBTNTwwOUN9eGhAODF6fCohYCQwITN8aVhBI15DIzNFK1YwMkFPc1RmbTlxDQo+IE9IDQo+IHpf Km16fWktM2ZiUCRaT3R0QXpMbig+cnthUWctQH5rQj8yb187fnlyO1h7JFI0XjQpSWVoRGRIbWt9 YEZQfTlHWg0KPiB6Zi0NCj4gc29qUz8+K3BGam5gVTc5a1VraT1uak4+QyhCPU8lWHpJK3M7QmtA IURjMkxNUkc1VVpXNihZbX1WcSlINTwNCj4gYQ0KPiB6eSU5bW90cWhfRnB9M1VUS2YrMnYjRHdX MWdmakE8SzRMWiZCaiF0STNvKGshKXh3Slp0TWlpKU4tKD9wY2p1PXUNCj4gendEKXNnRUZ6UjhB ZiFNamV+I2VlZVF5QHdMa1VHRlU5Z2Y2QTdUMGtwfWg3LQ0KPiBBMEhjdkBwMW5nO1h7JFIzcHZj NQ0KPiB6YHpJQzxgM3BtNDd8dV9ORDJPVypjczY9SmMpdDxLQXB+JX03PnBAQUlqMHRISjJnVCU/ ZzBDR20kOF8/eQ0KPiBtMSkqDQo+IHp2T2h2TDNPbGs8MiRMbzFrP2hubkxOPj1oPEFMZ090YGtw IUAjSW8yX1B6fUoyKzxVI2tDMDh6ZWppUWsjYn47DQo+IEQNCj4genckUC0NCj4gPSsrP2AlfDAh aGkjKmQxfnJXJUE0JG1YflJLQn1CfTY1dkEjTUspPkpNfklJd2VTfmJiejMkX3F0ciNFbQ0KPiB6 WDkqdlElKU5PT1diO3xOSzdhbjlXT0YkTVdqcGsyXmZ0V0QkZm1nV1BsKnU4Tm9NQnRGXyYhS2IN Cj4gTighcFo2a04/DQo+IHphST9eMGdofns0Ukg2ezQjS0BUSilINmFRPVNId0ghM2lWKlIkUiko LWxfdTt0YzIrIVJQd2J5XypodzJqRnJwSQ0KPiB6NmpsX09eQzsmMzZlQFo3Zyg1MXMwRTg1JVdM Xlh4MmlAISU7Nm4qVEJfRDtDaEV4KSFrNUlgTUBjKFUjZmk9DQo+IGJXDQo+IHpJMUElLVk7YzUr SzZxSEppT3l5ZzNpeE5wVDtAXmBTSDFDVV5sb1Z+RGs8KU0tDQo+ICV7ZTA+Y3FRfW91WUA+eTt0 aD0NCj4genQ3ZjByRGorSXdwYnJ+YmV2PmM4NCpXY3dUMV95V1VCZmU2ZVpnc2JRO1g+P2klYUZR NntVUzh3dkpgJjg0DQo+IC16Xw0KPiB6cXAoP2wjTFAlI3l1dTNBTl5xfmY4Qko4amElI1d8ND4o KG51fmpZKD10UWUkM3JaNUxCfUsjOGpgdEE/bWMzZjkNCj4gengmXipZWnJNc2QpcGFrK04+eVFe UlV6S0NvQF4pQE52Y3pgRE9IcDh6ZnZAS1R+QVBGb3RvWGlZYXg7NA0KPiA8VkhtJA0KPiB6IVhN YkhaejgpelRjeS0NCj4gR0lHYV9WR149JGxLOGdndyo1bTY5VHN0TlhUSCN5TzZ2JG5OYVBKITZI VmZRVmYhbUJUDQo+IHo2fjl2WHROcCFwcnVORVlyYEdhI2FnVjQzPHxhLQ0KPiBiMT0pU3ZSbCp1 diRxa2tUb0NVRUMwTyV4dTRna25MR30qYVkNCj4geks7eDtpYz9tX3wjMGBQMjBeXiltO3ZIXlRm NDBORENpd2hpTEQhODd6UnIkKG9lQEFQTmxiQmhzfHNIOzlXb0ENCj4gXw0KPiB6Wjk5T29KSmcj VEAoe3hPY35QZnp2KG9Ja0Jjfn5TdExHVCQxSSlXRFA+YTRQY1lRVzFyOSpARjQ9ekQ0NjMNCj4g VzRpDQo+IHo0XmsoMDQrU35ieVdIaEsqJG5fempPTGxzcCpqQmY9VkBubVlBVTRAMDV8RnBFLTE5 RjYtDQo+IEx0P3YjaSRrJTw1Xn4NCj4genRBR3J4KTVfR0w8aE51PnVuR0VpNyVzTFVgZjFSR2lQ UU9sVk1yQX1fMV4xYGt6MSNEUmIwamp2MFd1KVBqKg0KPiBAeg0KPiB6V0NYNm5jOFhXJShMWVl7 N0wxfVpTJCMqN1d1VSNVdmchay0NCj4gSkg+bCkjTzZDPXNFNE4ycUkmT2NtKEQrTXU/QioyDQo+ IHpucyopTmpSSUZjPSt5TClMMypkd0pmMEsxOVNTeWotIWQoQ2RFbyNfP2o0JGE/Tm8pRz55PnF2 byRLfCRnMEwjMw0KPiB6cl4yRXNqMmo3SVpFOWBTUSorVzc9WCZwUTU9Zyo8VUNQRFl1aTMjNGQy ciFldVdkaXJ4ISViR0pgWX05JSFCew0KPiAjDQo+IHo2IUJuMT05WSRZRXImM2liWWBPXm98P3s9 WmV6PDxafCp7cjc7a3p2MXN1bm9aLSRyZzJsQktoeHt+TjMxdW1DcA0KPiB6OTtTI3ElPmRnMW9x QSZXS2gxTEoxKl4xcmpNR0ErNyFLIVE9ZHUkQnd6Um5JSjt3WlZObzVGQFpLS2sNCj4gcHs0X1Zj DQo+IHpNVmdjU0gwQktaRm1PKXIpNXhMWTttVWdCLUw1e2JzfE9EUT1SMUN5QUhQTUtSYCN4S2It dDIqS3I1JS0NCj4gXyR1azANCj4genZ6QzRrTG5Wd302ZWJBMEQzbmZCN2BeQnpkZypvTnp8VGhI M01BY1lvR2NSMWklV1RwX3c5ZD0mYFglIQ0KPiAmRG56RA0KPiB6e2NGeXJtcGg4LTwqcTh4aXo0 JTw9Yiopcis8bml9dnUtDQo+ICE0cW5VVkx3XzlmazZ+VDN0YlJiOD1rTmU0PT9QeiNyDQo+IHpX YVgoZnY5RnZ+Nk1LIW5gJWJUa3ozOzQ9KmUoMj5hZHU1P15Fb3hLWWwqdm96ZjFXJGdUR0preDBi KUwmVw0KPiAxbHMNCj4gem89PWtKV0JsSTc/LQ0KPiAlKnx1YnZKNmBzRnBUcE9BMHFNVnZFVlAh cm9TdU97fD07YFM0X28lZ1JfU2ApanZyWTRwbg0KPiB6eW94bHg7Q0Y8LT89P2A/ZkFlaGs/TTxB ST1rSzVTYHgkP0s7X3N5RWZ6Ukw3YH5+TiF7fnRScW9fU2MqJSZsWXANCj4gei0NCj4gI1JiOEdZ PSpJclJUKnRVISRZPV41Vj9SdCROOFU3fjtNO2o9NVdaYUtBPzFrMnQmPGR2fHFnYE5KQkNefnMo DQo+IDYNCj4gekA0ZnpnY0k1WkcrTSMqPlFsRzZJVCZ8NVE5TTxlfUtZZzA2ZTVaLQ0KPiA/eHx9 UHx1NV8qV1h+V0k7OWlOYiVjfH4oYA0KPiB6cjItDQo+IH0xN1p7dWNyR2A4Y28jVmF2WUdKX29E Vnhoa1prZkhnempabHFAWlV2fFNzViM4P1okMThVOEtoeTVXOHRZDQo+IHp4KFV+Szx9PVRDMDRy YX5UdlN6IXdYI1ZZKzFrR1BZfjd2KT8ta2ZSUEswbWBQMEdScjRCVy0NCj4gVDlUVjVlZHcxZjAN Cj4gemM0PFpIU0N8SXUoaDVNdXk7RW8jY1NvY3Z4dTc2bGlaNEc3JH1kbCZldT41MmY3NkY8aEBQ KG98M2lvMXxNMiYNCj4gbA0KPiB6XmIzWUNKe3x2PVZCQzJNS2VAVD1QU2ZsXiNNYzFuQztZdyQ9 e082WT1jUXFTO2o5YGFadVckQ2YkK0IzUEwNCj4gdUM3DQo+IHp7KT9JXm54P3lKbys5MWNDcUZO NlhWPVptVXheZ0QpeT5MMmNVSDFfLQ0KPiBxZEtKVlBhUlBLekxWMjNxNnJTbFdTK2gNCj4gejVf ZyklZlAzaks5YjJ+fUFHO31aQlJNJDVDe2hodEk8TDZVLQ0KPiA3NTV9VVprYUFWcHBnQGN0ODMj TChldygmKEQyPg0KPiB6aGZoU0F4KX42VWF9cDV7UWxAcX5ndyleUWVWS0dkTktqc2Nrbm4qPHpq SG17ekY0OWZqQWNzZlQ5TjZRRFoNCj4geCFGDQo+IHpjRV5jLV90QmVTM1FgX2psJWshPmsrPi0N Cj4gfEdsbHpLOXx9a2NweGh1WnkqczhzMlpmSkdPZ1FEUkAhVUdGJkR6cSMNCj4gekdxJFZ0SEpV WjNBUmA1SjdlOVNebGFHTFB7M2EmKGdMcWYlTk0oTWE/PWc9VHExWXBWcH0yV3FDR0BlDQo+IEFO NEJufg0KPiB6IVBfQGFYTDhFd3kmTHVqZ31EOHx2eEJXNCZvJG96KWtpVzBATTE5MWBrY3lXdWZ5 P1I+KUlackZnRllBM3QNCj4gRF49DQo+IHpqaFVNNEZIUDVPKHEmZWcjd0VEZVg7VnEhcUl8WFVa THUhKkVjeC0NCj4gR2s9JEYzK2M3STkyNXtVZTREcTIkZWtjXkUNCj4geiZnc0gxS1FpfXUhZEBA QHFubSk1VEghRn55ek9zPHl2JXtjTSpHO2JHMk8meT5KbTlgcG4pX3lQS3RvDQo+IENlKHI+Wg0K PiB6ZlNnRy0mI05gaUJBYU1waGEtWFQ1Xz08Kl4mTGglSih7bERrWkliR2Q9KW1mQS0NCj4gUShM JURacE0pTmJKOSFzUT5nDQo+IHpsTUEhPkBxSTwpZFZ4JD5efn4qYlZjMXRKPWxhent2V24jJTxJ IyU0amFZMSorLQ0KPiBPKjBWTUFST2F+U3kxWiRiPWsNCj4gemwpRlQ8ISREZFN3KzkkI1NLPkB2 SX1ZNUVZcXR2bk9CQER0Zm1NS2twRH5VaXRlYSU+eXNIaGdrQVgwOyENCj4gKz0wfA0KPiB6cFgh ZmI7R2R5OHFZRUA1PkRzb3x3UWFGNz9xOXN2NDx4UXJmRU0wK29GN1BoRmlBe2VvP2ZYNV5zcm4o OGxIDQo+IEdoDQo+IHp7ezBIRlc9WUlaZkU4Y2pUbV51Z0k0KnhWPyQhKUgmKEpjJGwhSiFYZyQ8 djc9ZmRRVmA4M21PeEhYITIyc1klPw0KPiB6T2tJVUBFUTdvWCM/fVFHVFNxP0h2TXliX0V4QzRF Z2wzalRGIXVHfDY9OTVJXlNtaHIrUShSIUk2XmJreg0KPiBtOHo2DQo+IHo2XiQhWHR4OXU1RkR5 KWRjPUg+enU+LQ0KPiB2YFlpRkZRRlhtWkg2fD9iQ2pYX0cmSn5ySHU2cXkoQzY5KE9KNnNMOXcN Cj4gekFGfTMrKXBNWk9VejN5MmVVcFMqVTlxZ3VSZlFWRCZ5RGxHZWUmMUp6XnVlMlg1QnVXPjUx WD1iZjM1DQo+IDNeUk9SMA0KPiB6X35fRX48UnYzNXYlTUFZJmB9dWtQUDRlX1diJSREbjR0ci0N Cj4gbUNKUnxDOTE4UHFqNFVIWFJoNnh7PyUyI3hfLTVpDQo+IHo4OylqaDZPT3hZWWIyZ0puJCRH b1JQdUNQcCtgTFJGaDVwYlpqYjl3eE1fJD5GbWE1VFpXe1V2O2tNdjdyDQo+IFh1NG0NCj4geitM TTxkfElSPFYpdjlub203anU/djchfDErK1k+bDE5cHpsYyRzKDZEPlJafUooJWxlbTZIRzgyTERH ITVvTw0KPiAqXw0KPiB6O1UqNkx0LQ0KPiB6UE50Pjl2XntwTz1BXipKIW5UYFJCMUFQMHZeY0ZQ d24yeU9fb2QlcGJKaHUjY1JrbipVYTZ1TGt4DQo+IHp4UHNgM096amkrVXZ4RiM8fD1NSnhxekVi bDUzeTkhSz01QjhnPDdjJjNLb0ZtM3pLaSlBb001MyQyI0ooJClBDQo+IHMNCj4geihwX2wjP0ps JnM1Z1o2SjVnLSlOPVR3Z0s4JkRJJUlaa2R5Pn1vUzZnVHI7cWBsYjxLe3cpJEw5WEQmO0U5PTRw DQo+IHpWfDUlM2J8fnFVTWUmcl9DZjteTlBGPCUhVGFLcXVSWXw8PFNBPHVUdFBxKUpPNnQ4OHJg aFMjYm5WWE0NCj4gK01PZFUNCj4gej1YIyV9KF8xZXxrfTlGJmU0M3xeRzFtZlJwNkRTMWAzfm0z ND5LfHxvTCNqKXdoTEImNDFGOEM9ZypNJQ0KPiBwbGkwVA0KPiB6VnQpS19Ae1F3S0YzUXlJbD17 Km9jJSNaNGNPNHFCPEFRPyE8VjsoVmQhaCNpfDBkdWdVQXh8SF4hfGw9TSoNCj4gJGpDDQo+IHpA JnE1aF94U24jTzhKYUZQYlhpYi0NCj4gU2dwc3Y+VjVWT3hQYF9YUFNETCNUQV55PSR7bTs3Skhi QUFDa0hybXQ8bnkNCj4geilPNExjM285OWBiMD43cGZyU1JzI2EyY2BJOS1JJFE4aEQ2VFJaaVAh UnpsbXpZdEVgPTclWFRRNjBwT2l6T30jDQo+IHo7dDhMVnVNNkh2VnVfMWBSQXNUbWN8a25rUX1k QHc7KmxlM0IkOUU9MWchYDRZJCtxVUJ0T0JQM1hpay0NCj4gaClFO2YNCj4gemJ8R15fY2tOYnNs cGpzMns1K34zMnszcHk8MVBSKEI1QGlieVlOQ19Fenkocj5jcld0b3FsKi0NCj4gVnA8cVJXQjVa cA0KPiB6PU49JDBAT1p8WWo7RlI0PWVYcH1XYzQlXnFYanprRVF7YSYxeWJTP21sdkU1SmRSV1ZI NSQqZkc0dHZycQ0KPiA4fThDDQo+IHpja21zRHg7ISUtDQo+IDNReDNmZn4lN3dza2FCSW1zeyMp T1JlekM0dXo4a01Qek87SHNKNkJrPFBwQVJ7Xm1jMVRUXigNCj4gejk8I2NPJCFBcGVuKn03UnJg NnA4b3FBSUR1VVh5b0xmdjxjdUtQSmJaSTx5SmYzUTM9OVNUcGhhTj5QTWImDQo+IG16OQ0KPiB6 Pm4tDQo+IChDT1JlekM0dXp3Mj8/NWwzeF89OTQpRGlsWCl+QU5gdW5BIXh4JU5ASXtlR0lZcUJM OChSbWFSViUrNiheDQo+IHp1fkdEUmFfIUA+ZChLYTtlUWFGSW9PeFo0YDQmZyE0QGJ5K2hwfFRB OEtGLQ0KPiAlbldvM193V2BXPj5OJTEpKSYpdXUNCj4gelNHWWlGOypefHAobXV8QVcjfDlQeWcm WGpzUTJlWXYxXy0hX1B5YHBCdCZHST4kbGB2YXF0PDdWTWgtDQo+IHNVK2RUUg0KPiB6dDFoPXl1 Knl+TkpDTz1qTUp3b2lmZzs/cGtKVyVKYyNmeTJPdygzUHBCZzEyWnZ5JkNkTyZsI3hidz1CDQo+ IE09PSUwDQo+IHpwVSg4X3lnK3B9a01KKjFzRXc7ampQaEt2XkdEfSlJTEBFd2RhNntwamE2PFVI PCtlRnpDfXlCWXFjY2hYTg0KPiAmdT4NCj4gelFNdGJFd2Y1e0hAVlR5MiZ2QSs0VTcjZFVCRGM2 KFJkc1J6RDMraGh5UmdTUT9XMktQPH5LY2JQZzgNCj4gZzhXJnpDOQ0KPiB6WmtiKkM1RlAkZGNJ bCs4ITh+LQ0KPiBAN2dRPE89alA8diVeREd8MzBMYGJlY3Z5Rm1QKkxaRyhBKz52Xm19TVEycjRe DQo+IHpsd0ckdVQ4PiFYXnhDPnQ/cD9vZCtea3ZhQ09yRj1HY0k+O014Q2BDS0pCYj1VSHdPe1Vv d0g0Sm54OypWDQo+IHxDT0wNCj4gemxlIStWZk1sVyo9VVVYVjJzVzV9ckpOUCVWUHtxK0A7cU1e cldrQUhFRE8wYD5wez9uQWZ7PjNMX2BGIQ0KPiA3Wm5hZw0KPiB6Z3M0ZDczKiYjT1dPalFYUz8m SSo9OCg2VD8qQjREJkZ7JFQ/YEs1OTl6TmdhY1Z6eVFke3V9KjVvWFp9VD0NCj4gI1RWDQo+IHpG YlcyeHF7KW10YThwZ31afXxJUHtRV2IzLQ0KPiB7PGRGe0dxb2tgWnVvVlpUJEY+UVNaM0B7MiU/ MyYoTjk4SFRMKVENCj4gelRoWlYwcn14K1Z6WXBgUEtmTT9FPVMmVzhNZikmKSNHbmB3VGYqaTVB d0AyNWNlcHptMX5XQ29zN1FUDQo+IDFmJHFHTQ0KPiB6SlUtDQo+IDAkYUNoTSR4O0p8RHpaVnYj cil5MjwpU19yVyExNn5ScUh8OzY3YEs9Q2BVc0JoO15CdUNhRko1UWkjZDEmDQo+IHpYUGJma0F+ fj89ZFBvYShpfDc0YCgqKE1NdTtvfV5PUUZiSjc/dEM+SG4kdW11bEx7VGVObWEramdBbWdzYw0K PiB9dHQNCj4genwySzJyMTBRdjk/WWxgZnZPLXtrMjkxZ2tGKUE5ZyhQIz8+Ryh5Jio2NVQ4Oz5o KnQleEx2aGMqZFNVMGdlQShkDQo+IHpacEV2cD9XTF8keXRTP0dtYk8tKzFzZjB7YyspbSRve2Vx VjJBajZDLQ0KPiBMI0Y4KSYqMVl6VFkkUmB8V1F4TDlPcS0NCj4geiYqITRxe3E2a0QlJHp4TT1G SDRGWFU7JXw0TyRCJHhyWThMbENMV3s0ZigzeCY/P0phKnpDdzlvMENGWXpRDQo+IG9PYw0KPiB6 X3xpfWZBTSh9ai1nWWN4MVpJfUgzWEV4SyZrU1UhOU4+fiFIU1UpalBfJSRCdEJCZXVRZXxpSUI/ ek5UOzVxdm0NCj4geilGTkdGamFCN2MqO1YlTkdRPSllODA7IUZxXl4+ZylvODJBNHkoJU5LciYz ISQ7JkM8NXJxfFRGSlZCaEUyYQ0KPiAmeg0KPiB6T2t9PWl2Ryt3LUZkNHd6MVJeRD5QY3h0MmpZ eT9+LVdUV1BwTmphJS0NCj4gbkdYPDt0Qm4wc0BfPFAqeWpZaWtBTzgkDQo+IHpRV2JlJDlQZlJ4 dylvVSZrREw2Xk4qPzF+QSQkUiklSHBgTTcxZ0FaKkYhWDtFfk1oSnFjSyVYOTI1bA0KPiB4PyUq MlMNCj4gemQ0UVR9VV5KI31GKzt5dklDLX08Tk9jfkEqUzZXayklYDBqdSMoP303ZEpaSHlSSDdY PmkxVGlMZDFUe3EjN2o2DQo+IHpFeTJaTGc5WkRFYXE2PkhqLQ0KPiBUNEVQcEUhKE1XdlBlOUZ4 KVJaTD4/T2AmWFVCZjtRU15wTnp9TjFgQm8oO1ohWU8NCj4gekp6JXs7a29Yc0MkRGBAUkZzdEls Wk8je0skRGF6cSNlNHtoJm43fj52TiNeeFBJU1BVcGd5OE4qUUZ0V00NCj4gNVM1OA0KPiB6PntG Tj54VzhESl9QKTVsYjg3UypQQGg2cHNJT18zUDhNP2x2Tnt5YEt7ZjBvIyNIVE5kNHs2Rl52LQ0K PiB2MTNuSmNtDQo+IHojKmhNO2RlR3VEPnZ8QzxLUXhfK0s/cVYqbEUyQWhBO2ZWWWdpIVFoQ0pC KjJRRDBnSmtycytkaj1TeUdDcw0KPiBlO0QNCj4gejZxViRLY0tNfiU/YG4kOXZDOVRVPihUfTY+ YT9jbFJPXil3RWY+QnM2IWtoXkplKTVTdCFwN2dnWHZoWDE+RHMNCj4gXw0KPiB6P2puSmlSUS1E N2JvTGdAJEROfSl6MkRyR1NhMk1vN2BDJmB7fCthMi1nI0w/NVlQLQ0KPiBGdjVvQT9jZ3k1bVRr NkNsDQo+IHoxNXcrVFRxPD53eXg0dVMoYmlrP2pLZDFATU96cnVUKUNqVFNtYz1LVSEjNHMocktl YCkkNk98ZD9VKn4xc2ANCj4gJSYNCj4gel9aZ050cVBSTnV1Vnd8Pk99TzZ5bz8+bmwkfmR+WHgr Syk0I1pAS2JndVUtDQo+IEY7JVhENWdEcEVXV041b0J1NzJLYg0KPiB6IzhzQ2lKTU5NeXlPS3Ek KHZGanZFM1BpSnNAJjA7UmklaWx2ej05SE5MezZmc35mQjtaMyVlQHA1KGx7XntaczwNCj4gejlD NVhqWH5CYGopd3w0PkV2X09mYXojfTtma3FObHlWPl57UU1EVil2fEJ7Z1I7MWdhJTlkJVRrWlg0 S2M9Vg0KPiBldw0KPiB6eUpFZ3AleE15PShYJSpTMloxSXJ0QnFXUiFtVVVHSmo9K1FZYT9wJHc+ d2ZOaDxaZShyYzstcS0NCj4gU2krfT5uUz1SDQo+IHpCdkpFckw2SjQ1ckRuY2kmRCR9eXJSRX5r NDRERmYwYnhmbE1Eb1E1KDQjP09LN1g/e1FSfjc1QXN1OFZgayFONw0KPiB6OzBVTjJZfklIYSg5 U0NPRStYJlJGI18mfnZCZmJvWmpjdmspJlM3PCFmZ0tjeitqRllYQD50bm5QPldrZTcNCj4gdDdk DQo+IHp2TS0NCj4ga1kwI2pzYGVlcjFidkJ6IyNtS0RaSzt6Slk0TEA4KzVUVDwyV1V8JjMrZHln SXtsZDQqcTR4aCorPkVvQGgNCj4geiMmMV9talhuSTs7MGIkJUNoVWdCJH5JVnZ2RjBlWWxWSDNM X1JiKnBGUUt5Z3BwUzN4c0RCSVB5S1hZM0kkWA0KPiBjIw0KPiB6ZSpaRXpiaj5hdkN2YDxHejsl bmItZWo8PE9fbCFtcEZfY1RzNXRKUThpQFBMMUY4ZjdQOzE9OzVEI3U8RVJOOzMNCj4gelZBXiVQ aVctbnE5UTRFQkh4LQ0KPiBwRThiWktVRTNvb3pmMTxZQnQhPUQ7bml7eyg2VGkxOGRTb2JhYWRi dWJ3NHVsYA0KPiB6KXNnYVAlZyMrKXhHWX11cXU5TGlxOExLMXVsTnpkS2Ijb0s8MmI0UGt3O3lE XjVvJGJKZnlZfT9NMiQ/aD9ODQo+IGBLDQo+IHpAQGlHPHFCenhkdUJROWwjRyM9V2Fmam85cThh c2BoQypyRHRNbHVCKCgkZyhsXlNDblApSmVpRG88PlZKOWMNCj4gTUwNCj4genUtDQo+IDw+Jl4q M0ZBISFFYUxzS2ZMeDxRdTI1elNAUUgyNk1ARTcjRF9ZX2dDJF5kZzA+Tz0lRVF5XzVKMSRoJA0K PiAyZDENCj4gelUhKG9ZKklGTmRDYkp4IWd0UGEqJEY7e1YpJX1+eHdScHpwaFBVRmdYQ2hTbEZB OD13UDUxay0NCj4gRj98aF9gWjRwYg0KPiB6Xj0/flVsQmdZM1RKY2BoUH1RJVNfYm9kKStGQkda dTZ9Ukh2R0Y0bmhwWD0kVDtpRCVaSms+RV9MNX12K20NCj4gUmRRDQo+IHp0ZSV3eUMlUEtTcU8l NiVWWHBFKHdtcmlpc1B5N0pnP3lpdkQle01KKDdZdSs3Znx2OHJLKjJhP30/bjgyPQ0KPiAqaGsN Cj4gemM8STgwaU1wPShnJG94M2MhSUREXlQpQmIrK2VxK0tie0F6THFxUy0NCj4gOD8lMT0/RD1w c2RYKVd2JWdeJVNINF9zLQ0KPiB6NiRzNW14ZUpGbnhDQ3BFY1BjKFU5dzxZQjNFelBLK1dBOW9A UmVVKTRhNkQtDQo+IG5LUSllamZYbmM7PkVmMFZ6Qno+DQo+IHotDQo+IG5DUXNJNmdreHFmNnMl NEVKQGd2PzhxQWVROCtnZCtfSk1VbXRXcUx2SnZERlE2YkdKa190RnprUGt4ZCsNCj4gKTt7DQo+ IHp0KjJtVGIkWkcxST0zI2I7UlB7K1ZuSSlJe3RMTmdWUD1AQGpYczBOTUEyKmJiayhFSzNGWVdl Jn1qZzRpdQ0KPiBYN0YNCj4geiFARzczLQ0KPiBkSzJgTz0rV3NPNWxEOHE3VnNJSDE8X3J2Z0Il TGBpMEE/K20/O1JleGBjbm8rWDdmKWpPQmBCVk19KQ0KPiB6T1RVdF4zeU97KjdYdFgjNFh7ITdh ITRqUC0NCj4gQktEQHI5bW14M3AlKEtJJmtTRUV9I1V1VigxTyMmV3JuTl9Ad3dXDQo+IHpvbG9v I3w1UUJyZFQrVHdiMFM3PVVzR1F4M2JXI3khJjc5fEFYejFYeGNNaiRLMGNyUjBycmo5M3ZUWWd4 TDYNCj4gcCENCj4gelhhVEQ3Pz0yKTB1XjQmXylNe1JpJDUwcGdkRlU7WXFgYFokJlV8UkEmT0FT VUQlbVIzQ2FteWd0aG89OA0KPiA3S35JMw0KPiB6T3IofCQxOSl4ZDFxfjhVSHhHSCZQR3FeeW5V dD5QVXdoWmBUd3g7N2tMPmx+SlA1NGljbk1rTVQwT0s7DQo+IG0rNVdwDQo+IHpWUnJ+ZlYmZWIr MU83eV8hWio0bGJTdUU/aGtpKyVVbXtwRDBwJE1xaWpMXnZ2RURXOD59YyFRUyNIJGhqbg0KPiBj fTMNCj4genoqeCtUaEBBTEpCK35lLVBpJG0/eEZCNSReYmg/fipIPDQ7NTUyaT9YdT5vT2BKc2x9 O3Q2S21kZ0p1OVdCLQ0KPiBBTg0KPiB6JGclNnpqKHJ+d3NabSROPFc+QTRRbmppekAkZ3VkeVQw VUBidFFRPChlIyo9MUJxcylmWF8mOV9MJEo9SQ0KPiBvek1nDQo+IHotWX1LaVFxXzhjeXRyOT8j a3tlMHpoPURfP1NyaCpfaTtaRFoqU2hte1F9TzhWRUE5YT1qWlNZUV5geHp7Tn1Caw0KPiB6JSVx Si0ocFBIQiZpQih4SUt4M2RxKkFCS1chbGAmNjdGdW9zWE0tOHlfVS0NCj4gd2B9cFFgN0o4S1h5 clorKSRYXlc7DQo+IHo/Nk9vUl50aE5aUXBLcnBSTyh+ckl2Y30pbGdPKT8jJEApI2M2KypVbjFS KnhxRnJkdXJ9KjUzPVMrTEJIfGINCj4gWmUNCj4gekEmRjVPeHNDc1ZqY3d7PXkpITRvR2xXb0k3 Y3woPU9pUWszYWFLJDhgcXRvb29YKU9KOUVOPCpMZikqMFpHNUwNCj4gMA0KPiB6ZEBuP3k3UVFe K21WQHNFVmdwNGFAcU5rMDNIVS0NCj4gUXFiWXc3MV5MeHE/aW8oYEA4SGVSQFJqVzk0JDAqdF9F R1UmDQo+IHpmbnlPUSZzcjJ9O2slcF8qISZ7JnlgOSpFcChGI28kMiMkYTIyMH5SaFkpSmsyPjJk QzYtVUVZdmE0LQ0KPiBoJXc+K0YNCj4gejtAZ2c2MyZnaCpnPEFhRyN0TGtGZ307QXtCITZmJTcr ejNiWHJsJUdtUTtndmZeZ35+c1h2PTU9Q0R3VUQNCj4gPjV2YQ0KPiB6I1VCJnd2ZWR4Y3hsUTxa ezV8LTAtDQo+IDV4aXB2KkAyajgjQzxAYHVfbip7eEg9RDBUcntjMTsxYil0bSokTUE9Q34qDQo+ IHpCZkJOe3ZwQjBJU0A8OFB2I1pZeEw7azRycEoodTBmST07Tj1kdUV1eyh8cEMjM28hVV9gWXI5 MWJpXyZZa1pGPA0KPiB6Z2NAdFYlWiRmO3NOIWgmTl9PPVMldDZgMDxmITs9ZzEwT0FXZVc8bV9+ ans5VkI7KE4odV5kMTFHfUpucmkNCj4gflcoDQo+IHpoNC0NCj4gPnNTbD5pQWIqPEUmUDM3WlJz NzIrWUB7M2lMK0k/cWs2RndmbHdCemlTQElUc1J3VEl7MWFAekFfQj42K3YNCj4gejVfN1c1TEt8 VlVNXll7UkMhQmdua2paWSg5MldZSz9YaypJMUwwNUJvPFZwenZwc0g5WFNGQWRIcy0NCj4gWUY0 QG1OZA0KPiB6I0gqWF9kQyoxfT9VN1d8bypqZiErWFJ7SF9BRihnQUs0ek9FTEh2cStjVjl5PVIj Q3hqZ1A2VStVN1NJOX0NCj4gfGRZDQo+IHp4Sil8ZEJeejZlazF+dFg0eCU4KXwxWGZOKik5MUYt cTxiNDhQQWVrLTY2Uy1GOGBZdkpyc2hjdzclYiFHeVVyUQ0KPiB6RU8zYlN0amc/bj50JGBxTmpy aCM1RXl3XylwPzteekopcWIoWXc+fiRmTHAtRDErOGtTX1htT2h4e0pESXZ7ITcNCj4gekEzclko dTx7I3Ffbyt9e2VTLVItQCZ5OS0NCj4gTkBnTihvRUpBXk1HdCpre0cpeTR5aXB+QmA9Nmt3cmBH RU9rcU53Ug0KPiB6MUEyeERSSjJFKz5wKExYJEZRaFFjSm5va1JnPCQlI3Z1PVdQazkmSlJ2ZGwj Y35CYFlhejJ5MU9tYW5Bbg0KPiAzTnh4DQo+IHo2cT50S156KXckRFhkX2pwVEJnTUw7SilHemVR T248QUQtDQo+IGEhI1BxWishI2RMM1AhPnspWjheaSRoQ3lAXig2enENCj4gemd1bDFvSD98a2xu YnhiJUpZY0JrVUFxcmUrd2N+NEQrNWdXNXtwMUhpbVRUViE0PFA/NiY9aEVUOExqdzVLDQo+IHNK Mw0KPiB6ejg5TkJfKm14cmo4M2sxIXsyRXhSPEB3e1leRzFuRV4menR0fkAmckAyOTlZYzJKWGQ0 b1pUSEFDXn1fdg0KPiA+a3RBDQo+IHpHZ0xCZShFSlU1bitqcHFWNCtfVmtseGd0c29RTSNVOXBY RElhbjBYNyhHaU03aiU7RkAtDQo+IFl9cVI8fUI4PzZHUlINCj4gek57WmBBTypEUkAoakgwY1BJ PnNfOVJBUmt1VVkmXz56X2trK1VDI350dip6PGJpKFJHV2xOOW9LRCtEOQ0KPiBvPiRgPw0KPiB6 UmpzUUpPbiZubkNAUU1uJG1veHple0I1YDhfQzshVEQyRk0zJEV6O1lOdjJ6czRebWFHcGcwV0gr MCoNCj4gRDh7NStEDQo+IHo0bj9WazN7Mz5NV0xEMl4oPmRWRVR9IUh8KzgzR04mZTJwVUk7bW0m IUtWJnl1eXcmVCNZb31SYmpZKA0KPiArPVh2IWcNCj4gekR5V1ArITJORHVNZSpCJW4/NWU+ZihI dCUqVnZaKClkTGJXIUw2LQ0KPiB1THlePHFVVWVqTDNpaThWaGFTKnwlel9mfQ0KPiB6V3tVOztE MCV3aXJZMnVzKjQwbSFBITg9SFokUH0yMmVkbndiPV5+KVZzPDZqZ0RVNWlDJilJYzZ+c2VDSHNm DQo+ICN+DQo+IHpnYlE0PnY3YT44KkUpc0kzfmtqa2Y5I2JrbmdpeE1IVDFIQjx7QzF6ZmkjIWZv WCFfPW1CNCpJJHozKXlxdExOcA0KPiB6UjFlfHVQTUE/PDdlI3lXOFc1Rnk1Rn4xUFhFaVhQUXsk anEpUiFPZUZkcjVDZlJ6alRhMWpiXz9jSWNVR18pDQo+ICZJDQo+IHpUTUpifF49d2JXQj5hZnA1 NyF+ZHFKMFZuJXwoS1AmX2tISVk5aSt8KkxZbSlpSVFUXylaeiFDSUtrNUhzb3MNCj4gZzANCj4g emM3VzQyNzl0YVV7O3k3KnNNOGQ1OEskODhePnJTKGJ+UWZSNEhZaWFGVDxgdXg4YHMxNkJpMX4m bz0hUVhuVzMNCj4gcA0KPiB6ZX0rcXNEVXRWM0E2Xz9YSlJJJTMwNFIyKFZVbHxGQ0ROTXopSC0N Cj4gPVE3TFRPU1JCJEx8PHE5fV9kYTRUX2NWRiZXDQo+IHppbXZTaCQpIylNYTBMIXFLLW5yb1dt MmcxMVFFbComfioobW9MVnErOUNpbGByeHxLTnJuLQ0KPiB+dD5ZJlFlbkw9fXMNCj4gelFfNHxT eTxtOzM8VHUjTUs5NFk+P1lVXjI9SFp4Iz9seXMqZWNmUU5hKmY0ODN5VFl+dkF8Sj44UzNYUGNC DQo+IDNEWQ0KPiB6TT5aTio9dTg/NW1aTSgjayZPamFMODEoKTRpPXglRHRoKVZSPiF1dyFxLQ0K PiB+V3o1MGBeTSZwcGY0MFRKVXheajhjDQo+IHomYn1zLXNTZjMrZ18tS1UxQl8mdUdoNWJkOEh3 Xj9iY28+TTtiSi0NCj4geiUxb29+Vl4/dyYpU0ozZ2VIV3I/dVpzOzsNCj4genptUHtmUTNwLQ0K PiB8VWJQUGAqKVR5YEA7UiN8aGNGODU/I21IZFRvIXlzQlF+PHcoKDl8ZiRVPEJuTnFHbEI0QDtA eA0KPiB6eG9obkRSZiZ4aWRHMSlSJjJ0eiRWPWJQMCVIbGNnc3pXQ20lUFU+O1R4YyFZViZRJDY2 S2A9fHBRKE5XDQo+IG5QSXM2DQo+IHpUa0B6b0pkLWF9dzlNa1h7WlEoJC0NCj4gTjVKbWFwOzZQ P0dmeTtUdFNSS0ZpdkNPbnFxeF9XdnMzUnpGP2EzTGRfMGINCj4gemVoZVBCWCgoPnRHZ1c7Q21s S0AwKiFlVXIhaGdPREVgTmJgejZGJEFScVpRMld1STcpVVNPcmRlPDM+aFMNCj4gX0cpYw0KPiB6 dGB2VGBHZ2JHR1ozMWtUTjhAajk9UUVYKDMjbzUzMVh6d3JqV3ZqQ0k1PzdqKmZgOU9hRShgc0pQ czN+X3s7JigNCj4gelVYM1ZeUiM9RVdpTldCWSZRPkI/bHxlS081biRPVUx2fXVtQ2AoZ2tXZjEq RShhfmhZYHI2VXU5WCVjDQo+IENiLXZYNA0KPiB6eTQxUzUkNS08LQ0KPiBpNUgqbj5FKEhqQm85 NW5JVkFje29fKDA7Y182JipFUktmfCpKdXtQZSswS1c1UHFIcnVNc1EoDQo+IHo8V2lxP0I1ZGM9 Mih2VmA/RTV4bENsVFNnO3tEMCFBdmZqZjF+KkRiS35xdEB8SWV9RGhQWkQ3dGJRUkg5WVpnDQo+ IFcNCj4gemFgX3pEcyMjYEI0NWlMIUJhU2puUWt7PyhkdEU1WXI0R3JYMmFqYWtTOHpeJU4/QCQ5 eGJ0ZlZDJkx6Sm43UDNkDQo+IHp7b359RmU+XjUkcT9aRz09VEQ2LQ0KPiBJRGNBXyF6aE9tJnQp aDx5UTQqa1pnOCVINjM+d20lTE1AZHh6c0ZxRygyWUsNCj4gemI1UD4wfEZTN2owIS0NCj4gMWs9 eiR+Zk1TPCtuaHh1WkB3aHRZN2JHPlZ5a2JkKXNQZGhlVmxYdiFATEJed2ZMMCkwPg0KPiB6QE0h UGFDNGVGNGRlPz5zSnRGdFVlUW9mYkU5Q3MhQ1ZtJWZAQ09oOS0NCj4gJWg7NU0rUVYzcGBKYXBk NDsmP0Q0MSR+DQo+IHohQEpoI0QyXzVzb2VAbX5vIV41djhsQVdDRzsjeXNSSzAjZEBmcXZKMTI0 ZT5nbEwhWC0NCj4gcDs9SEdjSWJRSSVrQT4NCj4gel9TQjkoMUwqaXRKZF5iMGt4Uzx9dm9vV0lN bmBaaTRGZnRqYT5HQ2dfJFohPFhjbCNDUWd2SEEqZTxrYmNiS0Z7DQo+IHo1eyFGbGlfYVdRTjNs TjRMdiotbTxFQkVecHhGe01VUX49dE1XcS0zZEJtJkZ3RWBXYGh1TC0NCj4gNiZETDNpWlhDaWEN Cj4gelkmYyMwNiQ5UE9VQl5RcjshZ1AoRSkqWiYpUnBgJEk2Z0hFZk9qeyojZENue213YlkwSUQ2 SXxQfHBhWFZmeGgNCj4gMg0KPiB6RUFSJXJUajEtDQo+IDlgT3YhfkF0b3BCbmh2WitMRWczVjBN OEROOSlgNSYheCR4XnhjQXJCRFlyPENabiRgNDB2aEtADQo+IHo+Uz9uJiR9UWBiYnFoVDEpYnRP aks2PkRUKztVNVZ2KTllYk4xMl41OXZrZnZTRTBePVZFYz88KzhkcEwxc2lxDQo+ICgNCj4gemc0 ZkMzWDV5YilNckwlbHF3bXhKX1o7aj45SUw3fV5uRXNZdzZJdUxKS21qd25ZSWdjO2NDeShjb04z b1ooLU1UDQo+IHpeN3xOUyQhOXM8O0RZZVZjLVczYE9BcyttdU9HaC0NCj4geXhYTiRQeHZqb2x9 X0dJKmRTUHxHY203dFhodk9uPjFXfEENCj4gemlZdXR8RmxyaTM3UWxSSVpQJVdCb0shWGkwRkFt WDBPQ1N6RVEtNk5GI1o7TigjZ3xWcylkeUM2NGFhLSZQeE9qDQo+IHphKmRTTEhAZnc0X2g9WkZH KyNDeD4qUGROMH44czNFP2o2LSpSPn1QZHBGYlk8alctDQo+IFdoPXJNPkhGRzAjdV5sKncNCj4g elZiP0dvKnxPUiZFdkt9UjN0STB4aChrRHFzUXtwPj5wQn13MjImbntnaFA0MHUwNXtOY0pvdH1r b3JTQnIyP3QNCj4gew0KPiB6N1B5eVowKGBCcDtCRStwZ0NKKUZyIzc8RCQxSUhYU3l1KHdzdlVU eXFLOUNybUxPQSY/SEJ7UiZZTyo7PFUNCj4gdWNZDQo+IHpmeTRDaFh1ISFaaXc0JkskZWQ7JSRj czM8XkpxV3BjV195bTA9SWhpRHJ7WjVzKHFiSE5JajlNPSYzRXpRKEkNCj4gQyQNCj4geiVnUGM5 SntAZyo4dHgwfkFKMjIjWXUkeih6dVBlYzxHIWNDSy0NCj4gSW8yc0syaE9wbChhN3R9N2BLQ3FA Kn4jdj5STA0KPiB6I3ZAMVZDKUJeKk1GUUomMWtVKkByajkmLQ0KPiAoQ1lRYTtuZEw/JGZqOHQm O15LKWxydiE1R1B8UDRefmQ3eT93S35SDQo+IHprZ2RZRTEhRmloayhSUDg/fDFRKDVBfXArOzI0 aEdWU3VqKWNFVXshYF54PGEwUTQoczJpdGJpVEFUYlE0OXVkRw0KPiB6TDlhIzhRNE9iUFg3I0pA ZX18SytFJVZtRiRwbERMKU9BKzlGezdeQ3lLekA4a0dXO3MjfTtAaEcxY3JwDQo+IDVVWG9YDQo+ IHomUE9JQT53PXhRMWMzd2I7KmxHdWsxcD97bGBDdEcldCRRQXgoXiMzQUxOI3NrdS0NCj4gNDxw YSY9MDtIIWtxVzxnIzENCj4gempKZ2hRXm0pcDxWMjl1WlMrfEJBSjBrSlR2MS0NCj4gYj85UEZJ M0BPOWUldlNmaiNoeyRRXjBlVm9FI1ApJWg+MCE3WQ0KPiB6TnMpYHpJK0E2O0MzJTdmVW15aGE9 LQ0KPiAzRk5jPmB4O3A+YDNeMD9Dd1VZZCN2MWw7WisqbjllJkJ3V0UqQkBPM1BPDQo+IHp7e3U0 RD1XfEY7N0M+bG5JJHB4Kk5WS3p1clRCVXpiNUg3e0BRSTdxR2dXMWF6NUdQNV9ZO2V+bFV8fktQ IQ0KPiAyWHANCj4gekkkd1MkPWByclVqKGwpTT50KjlrWHB1SjZwLW9Wczd8TnRwQnooT3ctPT5q ajdgYnA5KVF+fWlWLUF9e2gtfUwzDQo+IHpLX2t0NW5gQl8wRj4qMW9UMW5sQVVacWYte05ZR21C JEQrQUQpT3JwOTNIbDAtDQo+IEIjRGpCfns3R0xMbmQ4UiV8bSQNCj4geihucytjPzZIUCZYU0pg MGhpNXpNKXU9LSgjNyN8STFKKnc2SVI4empgR0pgNFZWblRaSUcwLWJRcEJZMlA+MSQ+DQo+IHpz cUVDeDMqQ3hNRUEtdmhlOXk1TWtCXlB+LQ0KPiBSSSg1Qz1YekpJMlZVNjRvd3g8NWJxVUttOzhf IWZGc21Rczh8JFgNCj4geiY9cVBXKio+UGt0fU1kT3kpfnRUUGwwO1dyYlM9SitHODswMmxqKX1v JCYxZjchMFdkMU4oeXdNMHF5YkxuDQo+IG9jVg0KPiB6eV9aMiRCVD1oLUUmYkg7a0ZCNUQ+bDU5 dyhOS3V5OzUwU2krbmY7aVB5T21ZdHUtDQo+IE9HSkpIdk5reyNnMGtFZ0tXDQo+IHp2WFhRKDNh aElfVTdDKWd6VSFjKXp8Mig3Tkh0UHAkZ1VDRkR4RTJgOCMlU1k+VDg+SVd7dTFvOEhDdn5NUg0K PiBUTkMNCj4gejY0KktgUTZpbG45ZVJ6MCRWdzY1PF9NVnQpUj9KRyZMSHg7WFJXM0s1dUhnUkIw N1dkUyV9RW1nbG1EckkNCj4gOFchKQ0KPiB6T24oP3wqeXFDdnF1MX1vZjwjTSNGbmtYV2ZuVG19 dXlJaFU8JmgtDQo+IEg/ejVebEdGcWo3dnpxcUlhfUZCa1hxN2t2DQo+IHomYzl5SmdqTlljN2Ju bjFoPmIjcHhYfnxSRnskPDhJRGApN0xvPTV5a28tbXMtDQo+IGNZVDZ4V3l1dG9RS218dTIybHYN Cj4gelN8fUFlUThMVzU4dC12TER2KkczN3xUITRWZ04+JjMkYV4pYGFSbCtHcXxUKU9HRDlZQkxz ITctDQo+ID4pd0U3Rip9bQ0KPiB6Z2BfU1NTP0hLSz43VGhYUWY5dXlzK0hQYStnZjdVMztwZz4h XlkzUlFSNEIwMylEazk8eEhKMU0kcGdDdWpaDQo+IGcoDQo+IHp6entDWSpgfG13ZlBZZk16WTNx e3FmPWhZNWY9U1JaMEVSdj0mYih0O0pnJUI4bDRweEBWU21PNnNyNU04YEgNCj4gbVYNCj4genN+ Mj12bT95V1FgVl5LZ3EkXmg4PTwpYWpmYGhvZCtUd00jRS0NCj4gMWdATGB+cG1kTzVEXkQzcnBQ ZDZYMkMzTH5KTA0KPiB6QngwYlU1XyNQSzdleEc1Qz8xWWRJTmJuZVlMfj1YNndrZ0I/MW16ZmZy QWBtZkAzODJzdW1YMFdrY0Z2DQo+IFlIQD1VDQo+IHo5QHRSZT52dl5yeGMleCNzQVg3eHNINjBV djVNSFh3b0g3VUUkYEoqKGV4aV5OWFVQbU5jMlZ3RFRqSQ0KPiBtKHJUdFUNCj4gejNBfC13LSl9 TCpaT3hkU0ZFa1VHTG83ez17a2tRTGwxKFU5TSNpRHYzcGM/MGd8NUVxciV1LQ0KPiAzVjhnPE9u dk5iPQ0KPiB6LQ0KPiAhQjVaRU8mZ3IwdGRAXyRBaFd5UntAMkM3dnloNUpCSShLM254KkhjdXdW fmV2Jm5xJHhkXjE5VjA3PEgNCj4gNT1LVg0KPiB6QFYxMD9FN2t9ZipMM1dyIVQzIUBAbUllWmhh JCNQXj9KcVkoRjB6N2VLbnIwSSRVdSRgWD97SDtgXyheNT1VDQo+IE8pDQo+IHp4Y2MreGZtTnxP UnNDK3tfPTxOSSZpNStANWB5QWVgYzVfUGlgKkIjaUpHTj9IIUpxVF5pfE1SQHBrTnt7Jg0KPiAr KVENCj4genlzO250R1k3Vy0NCj4gRmczc1c3WSFHXnw4e2dJPDV8UVRpc0Zzdl8rR3JMXkFzUWZ4 ZndkNnhCXms2MGArUGhSMWRsYQ0KPiB6VG9HKTVpe3R4dUNpNCRJOHdiN3hRZk00NFgtDQo+IExO IzJiQEQkK0FRdCQjMk4/RFVPV0hKPGZ6bSEzSEdPSnZHPDsxDQo+IHpAT08xRkp7RmVZPEwxaTYt Y19VVWNNWHpPVTVsaHV3OzxgQiNXbmMmcTh9ZzJacEZ2U2QtMzg5cV4tDQo+IElLWHsrdS0NCj4g eitOeEZlQ1NGe1BHN35ATD1NQGRsMnVAa3pNVVV0M1hqKV87Qip0fEt7VHhtWEI1eHNWe1FeVGxl S083DQo+IDxWTH51NA0KPiB6PH57UU1QJD1WZTxZan5IezIoWGRjTTZRdGhmJl8hXn1ve3AoZTtv MSRGVGFOZWI1OEojKCV1NWxnODVDRF8NCj4gI2VDDQo+IHpXR0AzPjEyfHQ0eHQ0KXh4ZDBhe21j bHBNdGp5cz5PankmRyVVb088WVNUbVVKdXtzYHJJdj8lKV98Kl9RDQo+IHItTkcNCj4geiU9aW15 JGswe31LNHctDQo+IE16QUElSE1+fUt2PklQQ2JWbz5lTCN8b3VyQ35gIztLQjNCdylaa357R1Uj RTdhTGkqeQ0KPiB6VlU2OyttWDMqITx1fHd4JDU3eHQmdXVxMnVoJD5LWD1ianF2OV95TS0tDQo+ IDk+OzE0Nz9VUT9scTNufTVSaHw3dEJnDQo+IHpuT2Qrej5CKzllWEtLTmpOYSM+RTshTER2JDVt R2duST5DZ2B0UFQrQm9eJHJtRmhFKUxZOX5jWWUtDQo+IEVkVz4jTiMNCj4geiUwWl5ueHFxc3wk cW1mbiY7Vm5LRWc4WitJeXtNM3RkJk5DUCY7c2BpdS0NCj4gUmNIUjQ8aHVFK0JnVntuaDlkV2ZQ Yw0KPiB6alpAITBPV20qaHpZIWxJPzYqcypnR0VjUSZlT1A3U2ghQWg7d3Ixd1Z5IXwjOW5oeD9P M3whWUcpbCN8bEMNCj4gUDluDQo+IHpDM1p2Xylna14zJipZUyN4P1JGPSREb1dvSTFgVmNPV3gp ckl6aDA8YHEpenRFWlFAQiRrcE9VVik5YkdDZg0KPiB2aksNCj4gekJRWEthMXx7PW1OYXVxSUNJ fU0qeVV7KHU5aGZobV9wSH1VNWNHZiEwcmo1YDJAfHhpZnNvcnticmBFSWlAN24xDQo+IHokcS0N Cj4gJFRkN2ArUTZrNGsoYWZ3QlYzRSN9Pkg3S3t2UlphaUZVWW1sZm1gZ1JKP2xvcHNLWUJ2PDhz RGV4bTQ8e1kNCj4gelpvVU83aVY5S2NSbzR8USNoUig4TFg+ZjZLKmc/SD8oUiZEJmp4QHxnUyNU ckt4VHozZjw2JDt7PnA+V1BQDQo+IHBBJA0KPiB6T0NwZ00oWX5vMT5Ib15HSn14eCU4a3UyRiE0 UClMdXJqUDRga0k0WkhEdV52akElV3FVKXJjIVBPQzw4LQ0KPiB2OGE4DQo+IHpgX1E0PyhYM20w KUlvUT0pcmZePW5tNGpaMkhoQDVBQThWZ05aa2stDQo+IGJPVm4mOG9AdnAmTyFHSGhNVlNqcWtR fDwNCj4geiNNXzRvcDd5bXVnT2BQfi12RFB6Y3J5QmppUC0NCj4gTU9IJkV9NikjWSZaQiNTaUZv MX4jdWJUO0FhWiRza1BvVUlgPg0KPiB6WEBzLWllb1RgX0lRdCZxPl5tJlpYNV4qe1E2KiNkejcj dEche19BU3tXRH4hRSotDQo+IHNETWw3Xj88Rm5zdXQqSXFnDQo+IHpuRz0hJGlsMDJjYGFAS2o+ MG9UTEJHVTZBOyVeUkhVLQ0KPiBDVEtOYnhydjMoRnFra2E2cSVCQlFTa3glaU47JmNldWMNCj4g ekBIYHdjJlEqXis+MGxRUDhSe3BgR3FaWl8tejVpVG5lVHckcGBsZmpDKWoxcGBXcSktJm56YTs5 VExJYFF8SHJxDQo+IHo+YiVDUFp5VXl3cWR1JSsmcnpwND4oaHxCSzR3LQ0KPiB5dEc/OUNARj16 U2d7KHk/RTR+bkRVOyNST19jQlZvdClXTD0NCj4gelpXPyp2KzVGcmdPcyg3b0VRZHBqVUxPM05X a1BtQ1E5V3hiVWJgWUVzWD9xakFXPj0wZXY3TyZSYE4NCj4gbCVRTzIqYA0KPiB6RExGaU4rUXll ZVl8TVJaRC0NCj4gZ3JubCNXaXZ0NCh9YHpENTk8emI9IVApeE49SFUqX0o5NlBmb0ZfeE5hZlJ6 bnoqDQo+IHoyU2xYQGRPNXRQU0Qoe3NBTmNuOTRaWUppKF54bHtTbTElZy1+RT5pO2dgVGgmNW1g MnpLTjxWcVItWj01NiQ+ZQ0KPiB6S1piUnBIYXstDQo+IH5lR2QjUzI8KHRmTEtsRkRmM2BIdT5A VTs5YDBjM3MlVGVtQUE3JTlxUEJVWjlxfVpwOShYWGJIDQo+IHpPNE8wJT9sZWNLYjlLJjxgXnNK fk0qSDl0TihuRHNkcVI2eXF0ZyNhbnxtQj56RklGT3RpZ2AxdFdxeVMocA0KPiBocGENCj4geldD TXBma3oweVQkdyExY14pZH55d2IraylBPWIkWm1lY0JlQEtNRGdRWEUrNncyUXZjMCpFI2R0US0N Cj4gNVNiPm5IRg0KPiB6PV5Dd2ZrWnlJd0h0QFFHfDFybEBzbmVaayp9eGh0N05HKTh3NVg9Zypu cH1LdVJKbFhEI2NIZHRRS3Q/TDsNCj4gJE8qDQo+IHoqMz0/MGskTmExWT0tM3ZuaTkrQm5vWnRi al8hemlzX1RsRWpjTzY7YmBmfW5pJUNJTCpXQ3xKMCN+QnZ2YDQxOw0KPiB6VDNVOEVlKVpAJm1S ZyN7RUByPkw2I0AoeDRqO31FQkR9amFYWjRAcXVoSV5YS2tLfmpodyNfbHQ9YXJGNSYNCj4gVkBN DQo+IHpEQDJBfmpqblNmSzZfMTxhQ0FPMTs/fms8SVFkUFluU2tINmR8Q01JSWBwe0p2QUArejBn SzxIVzNQbmh2aQ0KPiBaI2gNCj4gejR5e0lSRE1IPCE1Tl49PyM+a2wye0tqUlQtDQo+IHJtIUJo TzZ6SkYkN3x2KldfdVRUUXY/aEo4PH43WSNhYnFyUz80UA0KPiB6emArTEFJSXN4eV9sRiVnQEU5 ak1QeU96JihWNktYTXhpSU0jLQ0KPiBSNjdSWkV6SVBLZ3c0IUhIbXlRZ2xOSlA4Z0QxDQo+IHop YlhQNmY+RG9KVW8xOzZoSjkzQkI2eF5iTik7YUN1OU9jUE1fJnhoYVlCQEdBT3g5KiFiSld0cnJ3 emgNCj4gQFY+anENCj4genVUR1QoVSNZTUB3JkM9QmpFIzQ0cHBvWV93KklMZjVyeG5tJVVmeCR1 VEI0SSluRFFsZk1JfHxyV05LDQo+IEU4PiN6Qw0KPiB6QWc4fWFsT2l5RzA0SnNeMEQ+Xm17KmIj RWkzbSl4dC0NCj4gY1pgODUxek1zZU5iPE1sKXVHIXNIYT4zRXYhQXcxVj8kDQo+IHoqc2NCfEdh Vz0tTkJEREFZSk8tDQo+IG44bSEqYW4rK0swIWklZ3xkSFU1YXR5Z1d+I1d9Q0dUZCFJWHxKcWNP QyYjKGYNCj4gelg2cUZndjsobX1ZNVIqRCRETGBVRDJoPEpiaG1IaXRzamxwZGN2JTw3ZyhAYDFL Mm18SUprXiZBZDRBSGdwMw0KPiBwbQ0KPiB6ZkpQcW9UXn4lLT50cy1PY0l3eFJqfTZNZUNsd2Ep QkNReEpPcjl3XytVfistDQo+IGd+P08haEBiJmpoVjRjVyNKclhCDQo+IHo2VHg+LTN5Vmh+Rm0r KVFnPWk/ZSlFcEstSms4QytoVjVMPWVsT3h9OGkyQjA1WXMtDQo+ID1YNk1jRHJCe3VDIW1YZSMN Cj4genkoaDBNKXN5LQ0KPiAkUmVBO3E3JD0pezY1SUxeS2RGPFlpPDVmZlBXRFYwcnAmX1JJIUpL UVYkZitsMVJXSz8rTTBHWA0KPiB6O1VTPVpCMX08aG8/bit4PVpWKnNwbzcpbUF7SjNETWZnVDJx SUpYfjAwPF5BTVpEeEZBfEckU3U2NkI7Vg0KPiBAPE1hDQo+IHo1NFA9QHkkYkIheH5CJFRiIX5m XlJzJHA4KjFCaG5KUEd9N084RExaKE1UMjtTWVQkdmgkRUBNYkYrbiNeDQo+ID80eFcNCj4gelhN fmo0RTBjYmZ3fVQtc2Q/IXstYy0NCj4gZSZfeHR3N0FrNiVWd3JRUys/JitNJClufDhUPzl0THV8 VSVlMlpoJUV9UQ0KPiB6MCMxZ3VwalNYYHZlU0w3Zyk5S1d2PSNubUkrP0BlPHlQUjI7WGAjNT1h K1QtDQo+IDRVZTl1TTIraWhqXlphUjBQTWZlDQo+IHpZeG9neiQhSmxWSDs0PzwhanBiJklHMzsr QDA8UWlOKEVGc1kmPSs3JTh9MGF4Xn0pdnVFcjxNVSlYUUpseHNOTA0KPiB6JipjbGhucTxGVlZY YTZEc0w/dE53JCMxRVVwZ3ctNXRGeFF4LQ0KPiBeUFh0QkhhRiM8IStqKG9xbCo4O0ZoMlcze35V DQo+IHojTVRvRmJZN3QoRmNUeyRTTmU5eCk7eTFBd3F1fVBaR0AycXhJPSgpUUhqSzBNP2tJQ2lF SSFrelFxMWoqSCo2DQo+IDwNCj4geip9c0NWSUIjYkUhcl5+NFNPMDF1X1FffVlAaWFid2JNJlFG SmgmcDQ1clp7KyNgeDU5WiNYeWV7PVU7ZnlZOw0KPiA7Qg0KPiB6MlleYFFwUTZfbldfe0BNPnxN PFFfenlZdkhuSHZlX2M5ek4qe2B0O3F8WnlNNkk+bmBPMD44aCE3bTMNCj4gSF82aU0lDQo+IHpD ei13PCtWWTgqSFhPQEtZa3V7cD0rfCt0NT9CLQ0KPiBlJiVIfUNjPWQhMGExQEUwQVpob1dLS0Eq M3A5XjYmankofnYNCj4gekFVV3BAIy0NCj4gKF4/YWtATmg0O2AoKGlQYkVKJXtjTyplYVp6M0By O2hzVEt9dHBrNm5ONDFpU3YoP3lTbCFlUCo9Sg0KPiB6cWtncE08RjtwcHFkZD0xJWxySnRFLXlK ajwzfnxqR18xVEBnY3pBdVVPYzlhUTkycnFNZFQzb2B2LQ0KPiBPdnlYTD10DQo+IHpBbH02UUI9 MFhPRkRjTVoyTVhUMjBrNXBKa2lHczZtMklFeFF0dik0dEZVS1d1RkR5QE1nT3oqcl8oPzcNCj4g ZEpnZWgNCj4geilQdylRczV7SENRZXptUiRtenkxSE4/dnI8WEI5cVNoJF8+U31iJEk9WCVNUnhu QEFBemd9Rz0xK0cNCj4gQm5iMTU3dA0KPiB6N3p6JW0rclNPRTxTXkAxb1I5Y2RAWkhRTmAmRXg3 emB1bGJIdy0NCj4gMWl2Q2RHfnFUbGs1amdMQ0o4Q01HSFZ9c3l4DQo+IHp6blgjSkhve2k7Nyp6 KHFrNlE3WEBsZCpYSE1ZVGlfMFB3b2syeF5NdTBUcT9OPzlyV0BuQzstDQo+IEZ1ZXFXdEd8TSkN Cj4gejI2cl49VWRsQmhWfEcqU1ZVPjhRN1BpPDgwYX0hUD9pcy0NCj4gV1p9YlBpdT9aXl5rSVNf YiFWO2JoYHM1SDNXUl9SWg0KPiB6O0UzMWZ6PitnVU9ASXpQQzk/JDE7OTxyPSQjZUE5JmgjK2Rj bXxAbzVWRSlyNVk7fkJUSWF8bVVaPzRSOGsNCj4gP1BxDQo+IHpUY20zPnt5V3BhY3JhMVkxWFZU ITFZNjglaVhfc2ZgeCVsMGF4UzFnY3ZMOFlLSUZRI0tmMjI7OERRZipweC09MA0KPiB6SSNKKz1O PmI9NC03LQ0KPiBhKyRuPXBFRDJueHYoZmtfWHZ8KEJwY0hAU3Z8RTt5RDZtdlg8XnE/dFB1byVu Rm1+QEJpDQo+IHpeRzNDbEI2a1hoe3w1Q29iPVowc14qYGcqcXR4X29gTkdYaUBULVpzZVctDQo+ IH1MMyt8fH55VUAlMU51ak5jK35JXzQNCj4gekx3LQ0KPiBLd3QwQ0YoKzNwOX1QRkpjc3BfSF8/ SHdIM1AxOH5XI3pQPylLYmlLRUU1X3x6dl5rIztyZHopYFZsOCU4UQ0KPiB6QXYrS2lRV1ZrPXQr NExGVFQkIXY7MlkkSmktQyRaRCFPUiZrUS0NCj4gY0t6bEdZT1l9NWMjc1hDeDV2e0JRTDhafkJD DQo+IHpgQSphWlFHVGNtJCNIT3M0KERTeSVpQnlvKGxQeVcpUXJBdkd4Umd+RVZTX0hlOHtud2s9 U2FybUtXYWoNCj4gWXh2Mz8NCj4gej9ebUEhZzBWXzhMdVlkIWNsIz5JWmU9LUJYR3ZYJEpgU2tt a0M7SUBwa3s2MEVDWXJlen01c0VJeTlqTSVrZ1NvDQo+IHplKn5WTll6ZD5QPXJ8SilmbXA/c3NG JEh5RyQjWVRrNE5tbUA9YVZLVGZSNS0NCj4gYXBfYGpwfEdEUWc1JjNaTzd8aDANCj4gelhGOEVV JGNpQ00odERkMzhYQjs7Nz4oaGZTS3xxYll6WTtPYnRHTFJFTyF3SXJWVHc1T3I8JiFiI3c+TChE VA0KPiB8cw0KPiB6RT9fSyt7c1kpVG9xfXEoSGJnbmolPTR8eHRPcXgqR2MlVTtQPHkkO0gtDQo+ IDxWXyU3IWExcDVQMHR4M3RkSWtgOUdRDQo+IHpFO0tjXjxmKV9NKiFSMlBJSEg7ZG5kdUhrSEFL RSVvdXtrOFZ3KUVuUGAlZlhwU2xVU2hlUClRcW1aODtKcw0KPiAxdH4NCj4gejFUKDtsZ01BWnBE SDRtRGEqUnNBPnduTTlFdzxZPXFBRHpuP2h2OXojJktiWSFHRkRJdGhzaUNhdXdHDQo+ICNYNUxi Xw0KPiB6cXhJUXg2cD16aWp4Y2gyPn1gR3BLbGU3bj9QYlZ+QyZaLUUwa3FMfU4lVigyVjM7ZiN1 bGxWdDkmOTR6dCFCMGENCj4gemdLb28hd083SjtCZ0tYQT9pKDRmbi0NCj4gKHx5cG80aWcmV2o3 b2BYVjFvVVlFRTVLOzlRT0ArK1hgfEFlaT9WUjUqOA0KPiB6SD92SGI/ZTUlJVF3ajF1UTlIZ3ZT RzZ0PUpfR3J3T18wbjVhRkB8TzdKdDBNU35YaG9ecUZFKjBUQw0KPiAqe3ghSSRQDQo+IHpnK2lj UzltWENlJE5wQCskOX1GbT4jZTFLRHNiZH5JU1dGVVp7OCNTcm1WTUNlI0JlMT53aDIlTGd6DQo+ IFF7a15qYzUNCj4gendec2Y8SjFCLVU7V0hUXig/MHQ+aWEwNnJIan0/VjJCI3N4YH1rbzxWQ0E+ b0JtZGkod15zZkZKTHJTZHpieWt7DQo+IHorSGIhe2UjVHcyMzJlUTs3S3RfcT8jbj5yekRORytH akZaPl5UVGwxR1JSLS0NCj4gZH5OI0l5aHJBVlMjUGNVWlVfQXQNCj4gejtMSndQPFR2aztwOVo0 TFRQd2ZFaylNdW44Mz5LUGQ1YD41LWU9eUx7RW0yMER7enZGcmBwJUAyLQ0KPiA8UVM1fXdYcQ0K PiB6JWtUPyYyWllldTA/a042ZDYqMChzKHQ5UnVGeXFkP2p6X2Exb2ljJGp4IWhZRm0wNWlEWHU2 cUswPDE+bnU5UA0KPiBXDQo+IHo7KikrcTZuZ0dKdCRqNkgtJFd6STUjbnZZMVBsYlY2THIxblhF KzY4KXtZM19mQ0pNQUstc0pJcTdqSWMzQnt3dA0KPiB6UzNTTTFxQGtMcyRILQ0KPiAqOXtTTXoy JEpldzBaP0tEWlRnbHdoZERVN3Mmd2k3PiZgaVVtMUZnOCZuVkgmIVVJV2ZCDQo+IHoybGIjZnBi Wi1KcyFBM181Mkp4YT1BTkAqJVg4Zy0oRCFFK3hKSStTVmo0N0NgNzFzNkVRcCl7PWpYQmEhbzV7 Qw0KPiB6ai1KPkFLQnc7QUVKQGVeLQ0KPiBsTndPcU1Sb197bHBUaEgqcU15R0c8Y2Y7Wj9HcG09 VClGaGtSOXtSfGwzUjdjZG9TDQo+IHpeJE4jJkxQTGY7MEdHX19oYSRhc0plMFMkU3Z5U1c1QWdP Z0hOQmJtbVlkQkZPdHx0cytKe1NzdSRfVGMNCj4gQFVDXjcNCj4geig0bWkwe0F1V2s2WiFsVm9t QiMlMmcmfCh7MEolM3RPSzNsejx+SUlhXyF2KU57NzFmM2U/OHRwOEAyb01HOQ0KPiBZaw0KPiB6 MmUwQTFSSWVfNE5OP1UpVnJYejQ7RGNUOHdJalM9b29IVGBAfT1UU3lEK354e0dpU2BrdU9fVzY5 T0lESE4NCj4gaUpDDQo+IHpwbmhwVSReakNjI1pPIyk1XyUhMHBkVDJoR1E1d0U8ITUhPlZDMWcm MVpKb1g0bn1VPCV0WElodUY7XyV6DQo+ICp4U2sNCj4gelNCdEhiNGp5LQ0KPiBtT2MjYWMxdyVM IXBjanh9UjlxU3BGMldeKmpBRik+UCFPPmNCZTFXZmFoI0xhQWp3KmVqN3JDaQ0KPiB6VikkcDVm bCRTJTh7JVd4WUdOYGVLN28kYG1EWSV3O31uciZoVHhJeWxaOXd4K0dkZ2dfUGZaR18qZyNIdEoN Cj4gZnspDQo+IHpIY2A2NSYwaHRFZl5FcExuWihCVlhiWFY0UUNIK2RyKT47Z1hGenAjJUZSV1lK Pkh7ejdpUmwyTmNhUll2TT4NCj4gI04NCj4gemZHbCY5P1dTfkc9JjlBaCRYN0xIRWt3bmlWY1kh PE0lSXZfd0UpLXQzYHd5VG5kfChuZzFpIXwhflh7LQ0KPiBCRz5JaQ0KPiB6dCV6WXpNc159UC0N Cj4gZkZ+eTc8bXFabmZOb2p4N15WUDRYR087e3RWXkxNbSZmYWxXTTdxNkgoZj1ZIVVgMykqI1Mz DQo+IHooXyE2bUE0LWMwUGRXdXhhNjBZaWl3WnBBIX5Acnl4dDg3a1FaOSo/JjRCUkAtDQo+IGFr MlpldFBESiVUQkRXbkAwX2ANCj4gemRSMm58YGM9XilZNGJ+U0wybWplPjVZWlJNLQ0KPiBofTk9 T1FSQXxBalAwNyM1VWU3QWR+YDx0JFJiZjF5KFMzOEtmfA0KPiB6PXg5aHkzVDlSKEV0TVI0NUI2 bVcwUCZPM1hZQGI8P3Q4X2QyYGFUPnAjdmhuYjVzfncoMGZXI2dLYElTew0KPiBGa1dGDQo+IHpu VzA3fSZiNEd5PEgrWVVITj4wNHJVbzdNVyF1TEVFdlY2OU1qT1BtQGwhZy0NCj4gcVE+MTFXS2pk I3pIYDt2RnNqPyQNCj4gejkyIXpuTCVjYzBofjI3MCtkR0goRE9zTExAREdFWmxJN2NoP3lQOWJi LS0NCj4gJGVKNFk0KFBEays9bWcjUH5nQDlJeA0KPiB6MSRuVH1wUDx8Nis/WDRja0NGZkwlPXsr OTkxZTt3JntBQWFtQyotDQo+IEpDWSp5VWJ9aHBtMDdjP300MktNMyoxKyUxDQo+IHorN0xoN0J6 KW92UDMxJHJudlhIPTcmNCZEZEZyUFA0bkVQNEFzNF95JSZnd01TTGVWWEB2U21vNzttDQo+IFho ZVY1djENCj4gelk2ak4yazs7X2twd3V4QGxmb0U4aCZ6QnxuUlBgNGIlT3xKNFdhPFVWKlQ2dTNQ ViN2ZmVVPn43cWlZe1IkDQo+IG97MA0KPiB6OG1ZaSRKOXc/LQ0KPiAkQVheSjQrT0g0a2pEI1RY WXZke0NZeHAycTY+ajFmRnExX0gkYEJpS0dFKyh2MTxvTEdXJEoqDQo+IHp5TVdANHpJWXZrWUN7 WGFNYWZeR2wqfkBeOUpMaVBMWjJlNitKfS0NCj4gUTs4Vkxeb2I7KjNCdlpSU3VGND00SiFxMmcN Cj4genozaTF5MF5kdWRXeFMqQiNONE5DR1Bra1RIN0VjKDUrcUBkSD0kQ05ZOFkyRmtrO0RYKWk2 eittJS1vLQ0KPiBPfUQraQ0KPiB6SFZjRkNmPGM9Y1NMR247bHxrQkBUbWItN1JZOEJxWmYjX1R3 PiQpbSY7ez04ZWQtDQo+IHV5OVpuYXgqPSZhfUZseyF4DQo+IHpneXs4RmpvKlpLSVY9fVJZVWR5 JWEzS1E9aSVEdjBrX0h7UUNYJEk7bkNPWndGVHZzb2dzRTRqRkNoMjA1cEENCj4gNVcNCj4gemdP WD1FeXp5Xzl5Knd7UmxoOUZwRGw5b09wYCl4bGBlfn1uIyUtPzsmaXFeP19OZyZhUWNKMlZicHBq U2VKeCpMDQo+IHpgb1MmNF4jI1V8PlFqSEA1MndCQCRLJkopdFUyfG5VNV9edGtNentnUSFwQE9g NitCaXdTWXtPcmNVNg0KPiBWen5SQzANCj4gekUmYXlVYm41eztaMmEwQEE+dHZUTCE4fSp3ZVc3 ckdLJT0hbHkwO1M7b3gyKVQmKyRFbTlGOD80WlZ3V1kNCj4geEhpIQ0KPiB6Tk9nPX1mS3tuSE5H P210WE1qVjQ5S2I5PlJvKlJgdzRqJWJGOHgpbVhCQFI2M2B2TlBBenF3V2pFMQ0KPiBhPSUqTX5X DQo+IHpXaSNvX0leNE9tNzVydSolITVsPl9hQ3NtRkVMTzk+YSNib0F7ZG4rbkUrQHNkYnxYZXEy Y2ZVN0NJd1gNCj4gJF4talENCj4gej9QQkM/JEtmXkpYMVgwV1Q0MlNedTBebnR2PFgoeTRHTUhu WDFUPFNaQmdKY0olTCpiYUJMYFEpRFI/O08jDQo+IHl+NQ0KPiB6N2hwe1I3Tk8zJk9ES1M3TTBD YV5HVk1lTG1qKE9gKEVRenAtDQo+ICtvTU83QDU+ZUE8RVZSO15ZN3tYP3F4SVNXZHxyDQo+IHp4 c0grK005VU1SVTE8PndGfGFeMWdwKzV1Z2A4PT5nPTE3bGc9bVFmVGxUK1cmamhlfGBfPUlgM2U4 a0MrDQo+IFEzTmsNCj4gemtXNU9RQylqbClLTHpZQ3FfdFFQKFlfWF5jKT15VDVVJDxfeHlyLQ0K PiBzJjR9JiVHZHhqUDBrelIxX29zQipqMndeZw0KPiB6N2w0fXk1eTVMM191Sm13eE9FYEVVZnAr dDswNnE0SUFSIyM1O05UYClXfSlnR05gOWR0NlJFdy0lUktwY0ZQbz8NCj4gemhDWn1gYitAbnhe PD55fE9GTXpzQFFkSSk1MzZTaUQ9NiQ3WTMxPj1XZ3QzRlI0azZ3VVVAe2czazx+NQ0KPiA3Qk09 Ow0KPiB6I2UhfGpkS2hqRmgjcTBLaVpjRTxRbm05NWlXNCEyWHxpNzNEeDx6TVlzM25DeSo9Qk9q T0huSGtFPkEqVDwNCj4gMXVRDQo+IHpOfXZTa2dlYTEoakdEfEdkIXMpUy1lSTF9LQ0KPiBtQEJj UTBhJiZYVSkpa1FKSjleaGNAc2JVO1dAcUxLVGFZcU92fnENCj4geml5MDBOWXNrPEZmUU9oX1VH b0xXcCRHVjFGKWB4UzVfVEI8RVBKcyF4PXo8e2hnSEtoKil7Wlh0QHNsTjMyDQo+IE97Tg0KPiB6 cWUpeko0YX1fbTVefmg9RmxzPD1pMSNpOzJNI0FfKE5RQyMwRVpLSjJTcU5jYWxMMCl0Jj1DeF4+ UFU3VklFRQ0KPiB4DQo+IHpjUmg9ajZATXcwRkpPNFAwWD1BZE0+cFVMUnMrNmJtTCRmSDhEZytm OW1Xezl4R2soOWJweDFMTyowDQo+IEszcWF9RkANCj4gekJWNndEbSo5THlOamFyKCZlOVRne34l V1M1SDZFS29nIyZ5eGkjSCRUejFgbnNaPVlhWnBzJFhAbihwfSUNCj4geFd2Tg0KPiB6bG5+bXdk dng0YEcoZj5USXVjemU8MEooS192RHw7PCV4RWolREIwQi12MVNySyhZWFc0R1ltUC0NCj4gKXxf MTFxYlgkDQo+IHpZIzxzM2okTCpGKUZzaUsqUDxNUipzek1oPC0NCj4gMUkrJXVhPVZTKFhlaT1Y a0pxI05IUmdVaClqMkFFZTVYeU1QdX0NCj4gekA7WClYUCF+aztiOXlyUjNoPWZsO2xjUUpPaHk+ PGxgMyopcldabXN1PGkmSnBgS1oraU5USVlgSn53eHJGdkNIDQo+IHpAMU9QSyo5OHdFMGhAQz9M akJqYnpWNHVleHwyQmBCZGJxSClDVTBVIytTNTFJUS0NCj4gJEpUX3N1OFhybilZeSZuU14NCj4g em9zNUJ1UDk4K0olVCFDTjRsNmFuLVhSKS0NCj4gNURoWUxaVFhRaV9BZGtnMSY1WHc1V2JAdVBO Wk83SEdUISRzNX16Iw0KPiB6WmxycVhoTiNfS2Ftb2JxZmtGQD9tcVNEdGA3a3tPKTxmS2RSX1pV cmkmYWFCKGAyQVNqOXg7U1lkQ1M4cDRUMA0KPiBNDQo+IHpxRGw9dzZqO01KMH5+VSV3UGVOVnc+ eXx8OHVrJkM2JjtxV0lMKms0NVlMYGleXnw0VDE5NEhNOShMQWExDQo+IE03TjMNCj4gelYqRXJs dzEoKy1pXlMqQGlQMGV2cWVCKU9rUWcwdW9UKzAzaVAyN3AoSUxJd1BFUXlrRiotJEpianp8KkJu RXUpDQo+IHpqS25hXz1tRVFHaTRuVFkoVHdaJEJFVFktDQo+IHRlc3dpU2c/ZGYyM1IqazxpXjB+ R3dob0RDclgyaTZTK3w9YSlXOSQNCj4gelZKUnYtDQo+IEY9cEI8eHBBNzI4PT1fXzQxUzVoO1RT THc5a35Cb0Z3bWtTMUZTSSs+OU5GTUsjKE4yPkJjN3lYSjRTVw0KPiB6MEVmRkc2KDFAK3UqIT5l eEcpI005bW1JYF8rbW5iPWMqc1VWSGhGPSo2WkojTWMpdHptRXgqPl4/cisNCj4gMCllfD5TDQo+ IHo+eGg1PVNrcnhDOEJeckNQbGtxKEcjeUxVaEB8UERyMEtMSWpwO2d2cSo/NEIrJkE8PiFSazda R0B+SV4/WEkNCj4gKGQNCj4gekhRX3xrJT1sY1U+OzR9fjh0d09EJUxsRzZHIWYwZnpDYXt8OFA5 ancjP28lSHdsR1ImJThFIzRMcUZIZVINCj4gZ1RgZw0KPiB6d188eHIjVTx2UkVmfV8jUTVKYDRf Pml4aiY9Yjh5MmYmPUNAKno7STVwTih2cjV4X2V0Uy0NCj4gRHd2bTc/PnklXzlyDQo+IHpNN14j QHtlXng2Syo3OEFKZnRSJmw3akVLLQ0KPiBuZTwyQTBzYzw0WjtDQD5BbTB1TGB8N1JXQTRmK1k5 cGtGNj0yNn4NCj4gemlGPyMpWDcjbHZxcFk5fnIoZEJrRCQpbiFrZUF2SkAkRD48RWtEXjA+JE0o cnJRflckKShLaWgoVXd7VnY1ZQ0KPiBjTg0KPiB6MzI/Um0+YHFjaENEJVpMRnRMYDJSKll8Tl5L KEU4Qmh0MChjeCMySGpzck5YQTVoeERNMWxqfWBVUTxoYGx0YVQNCj4geklgeWJRNVdvc2x0V1NE bEQ4VkRCTip0KSthZitqTygxRmNIYUIoPDhWVnY+NkFsanVqemRoPDw9SiZORzl8Mg0KPiB4IQ0K PiB6Nj1hPTdtRipDMCpyNHtQdXQwMjItVktRNHQ2KmtQSSlneDI+SXk7VDkpZy19eGY3WW1me2Qt U1hrb0YoT1IrNXkNCj4gekt0XjdWJCozLS0NCj4gc0p9eTRTZVUkRVZiVE43Wj47Vzx6WHVZIVRm SUAqJVhsU2BycDh8aDtmaFFBPkd9azthckR4TQ0KPiB6R0RXYzQmekQpKSFTRH5+VkdRYmlTN2VI NmFANHVpc2BEPFhiOEdTKilJKF5fanN1MHVybHxRMj07dGx5TzljQSkNCj4gekIqaXJ0cHVqaFBs P2F6S1YzejBEPlFlPmF4bnZtdEVUM2RWJH5CUkBraX1qJFJvNHdQVVp9ZWRWcktvayFjSy0NCj4g OQ0KPiB6KTRkNzVTU1ghWD1vU3sqX0JpUlhDSGRjQXFTT3o7diFaUChOX05vfmkpe0VicH1yK2hQ aXUkRHJ2Uz50OVpWRXwNCj4gemFIdSlCVFdzSEFkQG5aZl4lb2AycmNAKnEqMWN8JjlncX43cml9 ekIpe2ZINzlAakxUdGo+ayh2aWs4VWklTw0KPiArWg0KPiB6PlFmQnBxeHRjMSl8REAqazVsMiVx eTclWjB+flhNTCo7K1ojZ2xkVihZN2FIOWpVSztxWWhGUytCJjg+MA0KPiBXSjEhDQo+IHpxdVFH ZUxxZHRjUjFmdkx1dGI8d3l2PT5FIXNwbyF1ZFh+PXZvZGFrQkpYKEcjMlJLO3BaZTg1XmQ4IV8k RD8NCj4geHsNCj4gem52KlgzdCZRSV9kazJRaUhpJUt8JH57cGRtSkttK2ZFNz80T2RTMCg0bHc2 OFEoQV9xQFdLKzl4OWU0aUINCj4gYHskaQ0KPiB6czhhaUhDMmhAJllYZ1YrQ15LMXZhPjx0NUVN MXkwZH1aczgkY08qcG1QWmFPPkh2JkFqKzRAUSVYNw0KPiAqKzNUOGBKDQo+IHpWeDEoeWV3Q2Ik eSlCeyZiVkVNXj8raHlROzhCISozNEV9c3gtDQo+IE5hbjg9Pz5CJWppZEJ7Ymk8enJGeXd3d0hT N1ENCj4gekQpcVp0OTQpcWliJkV3bUdFTyU3cnAxcU81SkcyejtlfGFqZGxZS0NYQF5BcnJSXztX NFI/RyhsNX1OdWZuDQo+IDc4bg0KPiB6WDYqdCFSfCFjfUNENHQjbDRGUG16NHhIbnFwSn1udDNP R1hRI2cxWnF6T2hWS098KDBZK0FyRFZ2TiFJUTVhDQo+ICpPDQo+IHptN3l3T3hLPjhZNF9ZaFpH KFRgfl98PldfMXJjPEBqSmtuUy0NCj4gcnhwSWYhZUt7Z2s1czRoczlyb2RXflVHVGxWVC0NCj4g enh8ITZUMGAjMX5uJVhRdkp1U09rVmBgV3hUfEVINHI9fGx1UnVDTkU1cFk9YFhmPytHKUVwen42 T04rYSpvDQo+IHFaTQ0KPiB6P3dLbUg5e0txOCFWTnQzPjxaaVYhYyl2YiFXcWAhQT9XKzhrel5v NGs3RVJkbXw0QWE5alIhVD5QRjdXNw0KPiB8ITEyDQo+IHpwUTQlODYlT2NDUTlUeHN3VylmOUBl SGNSazxQVnFGcXcxaEo8elVhUkZBWH5LPmtBOVFHP0pibGB2Pw0KPiAobUl7K1gNCj4gekNoJmw1 R1ludyhJfkwmKDM2PCY8akNpe3QjJTNyRDV1MEtFd1RefjcyNj0kX0x9Q2dzbG5eQihZPSpvbWxn Q3kNCj4gew0KPiB6JntOaCk3ODdOX3ZLaFloJHJfJD5wZypfYVorPSE5LQ0KPiBYZXhXbkNDdzdO UG4qM2E1aEdwZ0MxZnl7NGRBQG47eW4rDQo+IHpERCk3K1ZiNE1iSikkQmx1cmV5UDBeWDRsNGt7 b2gwdUg3eUM7fXAyVEMrYGw+YzYkPUBDXzJCUmE+dXc4PXoNCj4gQ3cNCj4geit5ST5feEIpdVY1 bHBFJCM+MCRHNl5GNSlRfmx9WExYKCQxdkg5PmszfUZYTiNDLVUqZjZFTih1clZKQk9+aWNJDQo+ IHo5QEk0OXV1bTxLbVZ+WEErPWV6KCRYYlF3IX0oejIzaClpMV9KNGZ5Vld4QDk0MDxJTlRuNHVQ LQ0KPiAjJSVuPXMreDINCj4gemRvZShtQGpmI189YkFLcWMpM2w2NHt4VWdmPDclJmN+Rjd+dHBV RUY0bztsO1lQeldKWjh6UmRTSHQ7ZzN1S2sNCj4gVw0KPiB6Ml9ZTGVeYytWeWklQFNhKDRAaSE8 NDBmeDRuR31WZnNRYHlDfCRQND9SYlVCOHZZU19ZamF4MmIrIW84Vz0NCj4gSClrDQo+IHpkZnY1 IURSd3ZLdDghPWtIbjZVck1YMzNpYFo8P18jckRvRm5rfV9+T3R7O1dgWW4oPW1hbzs2bW9DRT1J RWBSKQ0KPiB6NmdoTmBGNWRxUjdLJDtySE9aVjtZVWFFJns0RzROXz1wKF8jdjYqQHFASHUmcCMx UStTcHkyal4kV2ENCj4gfkF1WlEwDQo+IHpxPEpRQSNTfDE1ciFsPGhqaXpfRlotUm5hbEF5Umlt ZV48LWg8VUgyYHBqNF44bklQcmdHPE96V0ZafHQ+KW57Rg0KPiB6RVFIZCRQWFl5XnFXbkQ9REVw Y1lOUCVeYEJ9c1RGOW1gezZqNUpUQntqdGF0TkVlYyFORmlgZW0ycjMjZzlTeA0KPiA8DQo+IHpq Knt0cSk7T3ZLaShHZ2woVXA+YE04aHY9V2VHNHQyM3ViaGF2aX47al8yaEpGYFJzNW4/ITlJantC a2poQkQhNA0KPiB6SlR5NzgqdiRBWnB9Z1M9Y3dIaWY2Qjw4S2lRSHU2bVQyJVIhI3Y0KTlkY2VJ RmxPaHBXfml9WDAqaiZWS3BsPQ0KPiBADQo+IHozfT56TCl0ZUFySGJkTE1wJW84O3A7PzU9NTct Ui1YSktlOylhXkp4ZWRKQFZLS3QrdTJJIU5lMzdsdGVvKk59Iw0KPiB6IVhNfFR8NCh8TnctDQo+ IF8yPT1PZnllcWtiRCQqVXV1PG50SHFiRnY9Un4xYW9OWG1PMWQ+KDledXRDMVJTUTZUcnQ4DQo+ IHpxWTg3WEBrbWl7TjZOPztFaz43TE1vaDNvOVghJnxweSFudzJjeWhJRXZKUC0NCj4gbipPRUVf VWpkWilxWUkxPWMpTSsNCj4gemw9a1kjMkc7Rm81byhSIVlKY2koWnBsfEhrX08jdU56KSpBS1Jm ZG5HM0g5eXNjQEAwSlh9bDxQSXJtPmo9VTghDQo+IHp5PF5iO0g4TWlRXytqSUV0VlNBJWsmP3kw IWYoUnxnTmd7KG1Tb3dFQ355c2Jhe29nOUc8I0lDRGRqR2ZCZQ0KPiBHfUMNCj4genU7fm0zbk9n UHchWGxIZiR1eCpIbkB3JXQmP2NLclpAOSlIbFIwMnBKVW91b1NYcCNBYDhPd3lSWnYrDQo+IDBu ciF9Kw0KPiB6P1NZdlAmZE5wJXtkY340WWB6MEE4KDFTSXtKWk9GOD9pKF9gTF9zcUI9M1ZlRmth TGBXWDEpQDlOayVHXlNTDQo+IEVBDQo+IHpvS34rSHlHSGdKTWx1fUhrOyF2OzBCZF5NaHt5dkgr RyloT3czakZSODJDeHZHRTdeckheYnpgX0FMNnlDQg0KPiBnJTANCj4gejg7QWIlREdqNjV8SDJj Y3k3Oz84bClGLQ0KPiAmUzZeaz9hT0FiJlBoPFdkZ3JiJmRWcUJNSCY0U0JkdmN3MzJKK1hNRw0K PiB6VldKQXltQ1IqPG09S0J+Z3ApaytMVSM4aWVob19mPnF7YzhrSWgpXyFISmttR3hiPTBld0gq KkZqPW4wDQo+IHZVb2FEDQo+IHptV2dqSjk3VXxLUHhlP0F0KllVTFF9aERJVnAxIzwmc1BzWVJN fShNMkcrYkZXQkVuZDxqVTEzTz11DQo+IE47VXt+YiENCj4gejxpe0cjVHspdzwzKGxwUG0yaFM+ emMkbHFyZFdKQklUcEUjIyo5TCVWYGhrKEBtKHNEb3BseikqbDtWNHpKRDVODQo+IHplKVBXI1Zm P1R9QXtjMmxgdm1pJmx6OHpgT0ZaaVFfJj52YntWb3xDX3UtaEdxVT8hcGcwITs0OEk7c3dBbCoo YA0KPiB6Q2lkJGBXV1F+OGlVa2xfQTdRX0tCKWJOJlV3OzZ4VzdsQnAqSFZMNnF0MTJLdW8rX002 RjkkYyg7PXA5DQo+IDllNkNtDQo+IHplJCpRVilSaCt0PnJ2Iz5oVFJJVzEza3FsYGAmKldLezd8 TVZaVXpYZDhaQmcpNiQ0MzclSkYkOHltSlhMVA0KPiBwaT8NCj4gekR9PUQocTl8NyVWc2JnVTRW JihmLQ0KPiBBQSF1VSE3Z0kqc3ghJmF9WkVseUYqZzlTZlRvNGV7SCh4Uj4mJkwzUG89LQ0KPiB6 dE87U21LQk1KYUFkY0J0QjZTLQ0KPiBUQkc7Uj1YbWlVI05AJDBUND5NIyMrbFlWKipYRVJ5Zl9A VW9se3Z8RkBsPTtrDQo+IHpaSTtHbHZ0JT0qRG94czdxIV57UWp7ZzBqI19WZGQ+QGVMU0NaPXln ZUEpNlhXNlR6K2g+N1ZmKj9iI0tQOTENCj4gcCkNCj4gemptTndLXntmZlRwdT9pfUJNRk58WWxu PTdWRV5Lbj8yP3NeZGVKQWxXUFAtDQo+IENhTEZGbyZeZTlUQkNxfitkcDFgaQ0KPiB6bmV7I09N TDhQVWFzZDJLdjFobEtsfHgyd1JIPF80MWcmQjF1eEdkMXZTWXNOXiRsWlFXQE57UStxMz1JDQo+ IF5AdSV0DQo+IHpJfFBKWGsxVDZNTW9CIylLfmwyUUh1YiExQnVKO1kmJXZTJV9jPzlSaDdKb0Ja Um9IJU1zU35fTUg/Rw0KPiBuSS1zXkENCj4geik8I0J4YmN6Sj1lQTw+RXZTPF91KHFUIUU1cENN ZDdfPCZxRD5tKFNBdHIzRHdHSDRRWF5Pfl5HU2R7DQo+IHduZENTJA0KPiB6MXVLKUkrcThXK3FN K3ItDQo+IGgmSnRsWXopTXZlVUQlOyUlJnxFaCYxXnx0KEloQih8Kl9+Tz5sYnlxelA9PWxeLW9s DQo+IHpzMlkwMTE/PzxNOE5uaXFKKUg4dSZiOGB8S3NeQHllbDk0TGAmZXoqNHJiZkNjVStRWCoj NHc0JDY/eTA8bQ0KPiBwKGwNCj4gelN8bSt9bU9TN05FcU9sTnhWPS08LQ0KPiB1OFNjbElMOEFU ZX1ac1d0Q3dea3Z1b2YkOzxfKnxNIXc3SkdnX2p6cD9icQ0KPiB6U0AhUFpNMXFLWFlVPUJTOW9z Zn14OW58eGBVNyhlU1JidmprMXZTX3pkNUYyJlYha3xtfW50TilVflJzYyMNCj4gT2w+DQo+IHow flZGYjtxKGRnIzNxeSUtTjg/WmEtez1kPWNDZmwpUlJTcjcxMHlEUyRyN0MlaGhpbkNHNnBDIS0N Cj4gc2soTXRHfk0NCj4gekR3LQ0KPiB8eSt9bTc+dmlYbFZkPmM1I0JfO1hvYWFAI1I/SkIjdT1C RVM/ZWk5RihPQj8wRHFmZ0ooNzlKWSVhdXN5cQ0KPiB6VlomPVlNNGglKV9TX3xWbmA8MCtPY3Ak dGxBSGBZX0JPeDNpdCoxbjJpQ21CUFV6OTsreGJQTVBkdEJkdA0KPiBvZURvDQo+IHpfSElrP2kt VSR2XituRDU1UkRNJG8xIzBVSDFFVVQjU2laYGZzTGxpUi0NCj4gOW9uTD1QPXJiJl99Nk1rKFch SFR8V3kNCj4gekVUWUY3WXJZVkxBKlEtfk9KeGJCIzFkT3Mkd3Y3VXc3am84Kyk7ZHomJGFXQUpD LQ0KPiAxeEBzMGU5WkxHditiTyUzMg0KPiB6Y157Z0olSHolYUY7dzJYWTN2KntaMilxP2x9SGRm YVopazNBKVh5KjBLRyhWcG9rUmNsKjtLMCg8UHk2bHwqTlQNCj4gej51NWg7el9wTFBYPGhXUzZJ bzJWVnVAKWVJbGhzZihMYX5QXnVyR1JFV1FzJW1pZ2QpYWF8e0g4N2ZhfiN9fg0KPiBzbw0KPiB6 eXphKTFJUiFfKHslOU0tY3o8ZE5CMGZhLQ0KPiBWWWN0KkhMZCtrdWRoYX1nbl82QjQzdkJRJCpW SDhNaH42U0ZnMWFUDQo+IHowQFRhVGttS01PRkNKY3ZTUFRGaEtlMUwmVHEhOXk/Ki0NCj4gTUpa O1VxV1BSekBQWW5Wek5mIztac1U2eTxnJiElZ2wNCj4gemh0Rng0bCkmX15abkZ2JlJjaitRY3RR Z0QwKFM2WndlQ3V1dGNFcj1gRiR4dVNSPEMwRGlxO29edl9xc0hwO15lDQo+IHpleEIhamhgTz9Q R2s8XzhnUEpOenM2cSNrWCFAPU9vTEhtWkZiPDBmQSRTdT1oN2VHc185eXAmSFVOVA0KPiB3QWJS LUkNCj4gejRZJj5vazh8XipoYzBZNU4lI2BQZyZnbDY+akR1OFBnK3s9UlNpKEE4dSR4ZiN3UTtl XyVudTlRT2Z0SD0zDQo+IEJzdg0KPiB6ODF4Rmp4THhOOWshZ1N4Nnp7PHFiNW5aKiF2fEBBPCtP TmZmYWBFZi1ARGZ5UDA5UDk/TG9KKWhzKVQqcmVQancNCj4gelNUY2Z9WC0NCj4gd3pEbiMpMCRj IUhuTjxZaDdhdSFCRTg8OSoxRjREcFRwO2VCeVVYZERAO2NeYllAYU1PV0d5bzhHaA0KPiB6ZDgt DQo+IFdNdmlQMW9gUSZDezVlKHF4U1VTKStQIV9vczltdDxyeDRkclM8OU9jRnliKyk5T2xWYzdM cWpEM15raDZfDQo+IHpkXiFYeWtaNWlKb0xfeHE0YmE/Ozw2UHRwZWFMTHc7Jl82XkV7LUojbGkw e2xPdmRJIVdiKXhyNz5xPEpVbjNRMw0KPiB6LQ0KPiBUOzg7NHRecSNUcyRFXnB7fmFEWVpMczhO NnluXjJ2YWEraXNBRl82c0JZfW42WD9VWFR+PSYxTjcoZ21YXiVrDQo+IHpwWFBuRlYlUHBPbUsl bCRzbVcmQ2pzIWQmaFZrUy0NCj4ganNhelR7YnZ7PVN7O1EmNztjYyorZ3llIUBOWDNjQm02MmkN Cj4gekBASEhVVzZrVUVvUGUqdHgmVklURzdobXE/fmxHeT0zVG82VHRgKCpnSi0NCj4gaWVnd0Nq Z3ZCYm0zVkZXSkE+bFZXXw0KPiB6WlMmUHE3e1ZMfmhANVNUVCp8KDlhdFJMPUcmN0BAX3JhZnFt X15YezxGcFMjQmB9cG0kYiR5clBEITlzUA0KPiBwNj51DQo+IHoxT35eKCQxYWZBPyZ0QFJoZzQ7 M1QjS3g2c1doSG9KTHNHdzQ9OHozVHdhNlVAbmR7RUwwQXEtDQo+IGN9VlRrWiEzYT4NCj4gemB3 eD9URkJZMCFvJVQmbGgzM19PU0FSVzs1eilRUFRSO2dZaSRLWVZOVHhpZCNPRV59IVAweitaQ3J1 Uj1uajUNCj4geg0KPiB6R0pHMWM5KHdTTj1veEVMeysqcyZ0O3RZQlVhc2F8Plg/Km1jcyZgaTZt XzMkc1dCUE9NQWBnRHE4fDRwUA0KPiBSZE00DQo+IHo5dFdPRzk+bENgaFFATDZqWU5OT1RxZWxI djN6S2E1PUBEMjxTWV4hWjxzeSNReyp2TVEoSDQkWW5obw0KPiBSUz1QUTkNCj4gempDUkttKnY8 ZldedlI+KXFYUjgtcjdGWmxaLVNMUWVGeURiK0tzI3puKm5CNk56dXkoe0MpO2BSJGRuUjZ7Jkk7 DQo+IHpEVExGTjlaZnJMMCF7MUg/X19mZzNFOUp3S04wd3tefm1WeURDQnp7bHduQ00wX1AyKUpL P3k0c2k3bzNJfn4NCj4gN3INCj4gekZ4R3I4bzBmPitRXnI1cyk4VzlgMntUclEtfXtPUGMxKWsh QHE1c1owNClIKzx0NXYzekEyelNiRVA7ZjRSdTYhDQo+IHpQdmpfQ2pUJDBuTnlBUUtTLSpzWEhe d1omWkJBJkQ0OTg/TEFrP0s8RCVebzZtPmsjNC1COEFTLQ0KPiA7e2deWHRIQFgNCj4genZpYTM3 dUNWTEQ3OURQTjVkWWBtVDB9fkVYJn5sMmBeK0IjKzVHS1BPSnBQYFVgR2VJWGo9e0JKOUd9YjNA cA0KPiBgUA0KPiB6Sj1fSmRLJD43aF5mY045WlY+K0ReSTEmd3I3O0MqRFozZ0VreUJyOyNNZmQ1 Z09VdTwpX1VBKV5IOzF4KE0NCj4gaGg8DQo+IHpCeEdQfGM1NUtrSUhSKSpBKD1AYipKPjZjYV52 SnBYMmpmej5TN3hnO1dQUHQ9MD11eElRSWRMXjc2Z143IUxRDQo+IDQNCj4genR8ZlkpM34/R01i IXM5TDFeOEpGe00xKXQmNiMzVDZRI25LZXV1a012ZnNgIUM3ZEU5ZHxwRmtnUGJleyUrOw0KPiBA fA0KPiB6LQ0KPiBmJEw5O2BZP3dWdT5BV2ZvcylnUnZhN00hTWFeYnJeT1J8Yz5uRlZ2YCs3fTY0 eE9LNW83U189cyNTWkR6R3QNCj4gbQ0KPiB6dD5KQVRwPDJWNExSSiF7O2d0QUJtViRVTV8+QV9y Vik4U2xlX0VwcWpOd1kqZXNXQkQ/XylJUGp3eE5sNyhzDQo+IDtSDQo+IHpfSW07RE47R2Y3akxq TFB1RVgqaj9gWW4pWUZ4YVQ2XkBZX0FgR2RgM2x0TnF6RnJwO1BgXjQxQ1QqPW02ZTZPZw0KPiB6 QXB7PFAldmBWNVJidGE5MT9pP0NSMXdsPXRjMkwlTCYzKFVAZm5rNjQ3VCtOQ09TP29CPTRYRTZB VVozUw0KPiBNN0UlDQo+IHpKeWB9XjdDQm9ZNH4jKX05Nl5zQnNebW95YGZ3dkIoPjw8QUlRUGxm NGVaRmZUO0FybEtxYkB0Unx8alFjalVPMg0KPiB6JklLKE4hXzZDSDVpKHZORm5OKlZTfU5wPyZ3 ZilYMWtSNVh6ZyNBN2c0UD9YcUFQc2U3NFdaWFVWd0g4DQo+IFNXJn5vDQo+IHpnaCl+ZDZGQWYr X0BYe3NyaU9xem1KYGwqaCRXRS1fNjFacSN4R3Q4bXc2KVBRakJ9VlZrJVhPRXs1KSstDQo+IHNU czgNCj4gejR2RkZZJTZJVzMpMUlHcnohazF9OXY+MyZ4c2poZEJPbmpXYCZLcW0wOE42VXkpMSR6 O0s1ITUjVyU3OUVQDQo+IH1Zcw0KPiB6QHZHU1YkTyF7fl5JUjZPZ1AqUWRuQ2R1SEBMJWVKPzlH U0hCfkF7d0RrI0NTM0tHbH1sam1mWmN9fmU5DQo+IDA+an0jDQo+IHpvPXI5bCg+dHZkPHc2Wk5o SjBwb2dWOytiJHEhPXc1SXFMOFdHMHh2WGAtaUllTmh6TnhXYyN4dn5WVE0tDQo+ICRWUUwNCj4g emwodW0/dmEhaEBlMVgjPGY1cSFzPT5JdGh6aFJQM1Q7WnlCJjJjVHEtDQo+IH1tciRUSFlNajd4 REsxeyZ3SW1vaj1FUQ0KPiB6ODBtJDB7dXtufkBwbjkpQypzZGxTZVJGK3xLJTRKNmMpTnMpO1dP aFcqKXIlNlRUMVAmKmxFbWV8ZFBEcA0KPiBNZmFZDQo+IHpAV1clfnhHcE1+PE5DNkRqJSVmN2pf VkoyZWpSQzc7UUwxV3t6PjUrKks3RWA0fVZfKSVvcCohOSlEag0KPiBOZ1N5NyQNCj4gempkUzZA JSlmai03TDBUMmwpYGJ4aX5gRXpNKTlaVCp3TiQwalR1KW9acm9VNz88dERVRXM3cWY7amspLUtI emFSDQo+IHpjJWc1QUJRSEhPaXM2fVlBdk9obUxAMzUkP05gNU5LVlh7Y1hvODxBcSF2YkhAbWBt MzJDazRQaipyTA0KPiBjNE17UCUNCj4geigjUzV+KngtdHFUVVZZJlorcSU5YmIoK3VARWZMLQ0K PiBsSVg9bCpsNlVaZXZ2VUZZeUI+ZnVATmtgNUc7d3FyPUl6TQ0KPiB6O09CcktfQXVnKCZOPjN7 TWJrUndCaTMwJit9bjE8dWZ+fCM1ZEQ9fkdVKGw8K0F7VVZNVk9ES3BUcA0KPiBAXz53PzNWDQo+ IHpzXjNacyFYaztWXl5KX2FJTkNRbzwzQntyJEF8azVyS2ZZSXZsVXQ1S2VQejcqQH5BblV8I1hm MiZKaWI1cnhODQo+IE4NCj4gemx7eW5scG5oO1pidTg1TnorIUhCM1V2KkxyeE5FKCVkejd0KilA ciQoQlRVbUhRQihyQ0tqUjImZVpmcmxtJChsDQo+IHooXkpTfWM/dXlBS0ZrUWxLP3Fjbjl0Nm9U bG8yU2g8UyR4aSY8X1VlMUFFfExsMXx+NkZtUUFvLTIkbENsP2FnfQ0KPiB6Wlo8MmgtJFgxb29P YE5qSndyVHFzUTUqU3Vuc0sweSFzO3pwS3Z1VE5pc2xOKDJmSEJANFNpKkN7dDcka2gzaEYNCj4g emhDaHFOLWYwZn5sdUVEYjhAYkg7OVA3WTgjTV4tDQo+IG9AKmVrUGVIMUBYSlgqYl5NNCM+Q2h4 NjJlRG5+RWJ6QGRfZA0KPiB6RVBqWmRYWW9VNzR5ZEBkTWpXLQ0KPiBJTjM+ZlB5TiM8Zmw2KV99 eGhPe0dTZn1fTGokNmFxJm9kM3czdV9sNzlEM3BtDQo+IHpWQjBAOVImYEglMHZlKndmLQ0KPiB2 OzReTldmMFBaPEsqXnRKTn4jQV9BPT9yKnp4QXVuISY7SmAoM0pMQ0hjX0VhQlANCj4gej1CWkE1 Kks3Z0puaHRSI3lrdjU4KSZAbEpMfiFHNDd2a0V3PXBWaCtNe2Q1USFFXkkxSHpraks2bDx9KTEh IT0/DQo+IHoxbCRgSmVXeElMJGd8e31nVT0zP1oreUlEaiUhMUZANV83fU99ZHY5TVNCVmcrTXM1 NT9zIXBPWlEqO1V2OA0KPiBNOTcNCj4gejEhPXdiXldld25gX35fe1pxKWtBXlZXU2ZafmYpQEQw a2d3XlBfdFRxSTskRWNEcj1RZWo4U3hAfWhoNHENCj4ga0V5ZQ0KPiB6QGh0Z0k4KX0xd2lTRWZH aEl7ayljQWZuZVd5RGVFYXtTJGt6WXpYeiNvdS1LXlckJFd7XkdTPz41YkpzKHU7M30NCj4gelot DQo+IHd0WmVEfnFJQUsoND45PkRoaXpTSDxsPDlpVV9nOSYkbnRXZU5qa1QmRnE1MyRrRDxGNXNP P0pVfnxJX2BVUQ0KPiB6MTYlQlQpfno9d3olaCM9QWNxQjtoQDN4fFNUU1NKYlY3Tmk2VVA0WTtJ bzZNeEFGd2tmKDBgdS0NCj4gN3tnMWl8c1hpDQo+IHphIUJfezFeZVZleWFFSilIYEwtDQo+IGVn dWV+PVRZcWBNPkhGN3h3amxhZnEyQXd3ZE92ZyZQMjNEanJteX4qQU5geTMNCj4geiFhNGAhMV92 QmtmRUpvUWApZmg7Wnxxc2BudVRDKE0tRyhUM21wM0pILU51RXtKRFcoNSZsWj5jTllGWT54clFD DQo+IHpNMH1VeHlBPENnXyU2WUJGfXtvT1U0LQ0KPiB1PGUwJVdpIU03WFY/KER3TkdeIzspYk1i Y197X2JNZ1JeTUQrMDE3enoNCj4gekxWbHlRaigkTWYwSGYyZ2BpX29SPUFWcW1kaXZUVCpmbGw7 aXtodH1Lakg8OG97P3thNTVTZD9jTXJ4dEtSREVMDQo+IHoxRWwwR1B1MjxJPiNsI3VUfFUlZjcx I2J6em0wdEs7SWdHZkByemhSdE59V2tecnVkbzE4b1JiNiVfUUN0Tw0KPiBNI1ENCj4gejkyKF47 al9LazY/c1A0fWJnP0t0T1ImMFdGamw9TkNZYXVHYX40K217enNJS2pZQz5hNlFLKyVUN0BQMHV4 DQo+IGh6Yg0KPiB6TFVvcCojVmpCcnwzN2EyZiF9YnxeVTNxU2FGcU47SzY+SkZkOVZhbUxgPkNe STlee0dQYHxAYE9nWCZFWlRFDQo+IHFwDQo+IHo9UzE2TClZbj0lTjFLKXE/NGZFV3Y7aWNZb1Ah dGQwX2E2fUxUfU0jcH1rS2ZlOUNsbmtTQExZe0dVNEdGZ2dhDQo+IDgNCj4geikhSHhkRVBrdCtV JER0U3pqJihaaWQ2amdlLTNmMzs5T1owcERvOD1hSFRjOFl8U2hZdVA1MVkkWjA0MXIhPmhODQo+ IHpeZnZmVXBXb0V6SVVTT3twYF8qS0N4T2wzayh9M3AtDQo+ID4mM05lQXVTMVpyOTBuPiQ9I3c5 eSQyfk04VWlZcDI+MSUNCj4geipYVzFZTGE+KHBsQyRpdytYckhJcj4oWWtWVXBIdS0NCj4gfExl RCUwTj5yJk54JWxwKVA+d0dybk9wYT5GTW87Y0V3RA0KPiB6ZEp0fEZMR3JOdktuNH58LQ0KPiBE QmlMZCg2YWQ+V1VRQHpOQjVsbCNYWns8V2NjRSpZdW4zQW1FazlWRlFBcTtuNGlmDQo+IHpWKDdH UlRUTStsVFExRXtFbFdpaGZ2PD1SQVhKeUlFQWlRU2g4NmVZXy1zemNWQ3F9bzUoZiYpbiFWaGBR KXVpPw0KPiB6b0p4OFN3bnNlfV97c1p1TG5POVpEYnBAPVQ1PlYkPU9AUFJFRjA+UGRNJClDek8/ Nnx1PXcyS2AzdkxzDQo+IDdHMjh8DQo+IHphWXkzNlRgXyRfXnZEbntCPnUtez9sX0BNRDg0I1Re NVRxbjh6OVJ6RyF8Q1Jee2d4OyNIYi0NCj4gTztEaCpZU3h6R2sNCj4genNZQU8zJjBPaV92R1pk V1MxJktSJnQzaWd2Tz18JHJQS31IbDVvRnhiSGQjdUNga1FpSGBXQjYqZkh3c0cNCj4gdG52UQ0K PiB6eFI4dXA/TipRQVM4U14rRUJEOyZwcyFqK3UrQEE0PD9jQXBXYCtrfUhFeGAxe0pTKm9yZE8r NEM0LQ0KPiBjfFEyQ2dsDQo+IHohQlpgVEhIPXBtQCVQcDRte2YoTFJrPlpGTD8haD9EJmJtT1or c196SG9TWkRQMDlEMzJLRWN4YUY5MnMNCj4gaClrNjcNCj4genFrWSYhYyhCcCNTRFdCITlqfXs7 IUJVUnlFSk9Fam9Ma1FIK01BcWtZajQyTFR1bWE2P0poVD1PPjI7YnVucg0KPiBiMA0KPiB6SW1A M0pvaSFEfjVmTSNCeDtaYTJsTTYqSW0zVU0wVClBUWY+Z2hyUGsrKUo0dGtiWnw4KnR3PGxkPDso S2JODQo+IHt6DQo+IHpQUDJUYCl1cXNTJVZIWlV8SDB+RFgoSlViOy0NCj4gKnc7OU5KNUR6NDx0 enRyNzR4R3BkNjw+Y3N1cUQ0cDIoKmM/S3INCj4gejw7VWxpITFAKCExZTAwYHhJVjJNajJscXJ7 RFlPY0EtSGZ7NXYrcVNac1hpcyNyOVlHJURyb0FyQTw1P1lUYTFYDQo+IHo0PGVTPXRBT04jWFE2 ZzxYVEc8diU7UD5JU1ZGMjsmOWF1akxsYkkyN3Q3LXFJJlRGRXhSU3IlJExzajArU2hPJQ0KPiB6 YnUyNVY7PE0rekRXVHMkWDNJZjRPaWx9TTQrKmdKdDFxSnR5Jjw5VXh0JkdHYEhlbWEjNkhIOW5w JTsxMA0KPiAzay0/DQo+IHptXkhMTG1xVGNCaTtKLQ0KPiAxNDZkMlcwTkkjOVVvTSFYcmR0ZT96 eSY+RTFaZylrUj1EM3B1dEQxeWc5KzlVRTV8WFkNCj4gektANnZURyhEanZIN0ZfO2NNNXklR0wo XyFVNXhVSTVRJFYlMT1keV5YPU15O1pzI1Y1eCF1RmtYJUwpUA0KPiA/ZHozeQ0KPiB6NDI2MH5K ajFjV1FfMCZ8eC0NCj4gYklib2lEQD4la1p2NComNG1mdXpyYGBGQHUwZGFIZXQjb2hWfD1EVkt+ Q3UmQE1UDQo+IHopcldHfXdJQVJlUHcxQHRHO1d7MnBycj9rRyk4PnNqSGRJS29VVkpTdH4wVVZT YWo4UTR3fGxfKWpfKGRqYT8tDQo+IEkNCj4gejlIUUE3e3E8UXVAVUJ6X2JHNnQ3KGlkWUBWKnZS dkk/NEZVJHAhZShPd3xkcGJzPmpkVDxGMU9jPjt9MlANCj4gOXlNSA0KPiB6UWZ4NnlkU0srcDcx NzJyU0w2fnsjO1N2NURAUH1mQzVXM0t3bWhJIXE2XzZ9ZDAtNy0NCj4gKUN+QEZDQTt8WHJaNWBM DQo+IHp5VU8rLVdaMzUqTHgrUDUhSHpgamFoUUk7XmAwUkVqbXR1WS02WD9xezZkPnwhfShJZXNr d3ohYWxIO3Q7JH49fQ0KPiB6SCsoaUc/JHBCNjA9QT19TEllKG5tJndEJEtzbmgrZFE1dm54bD9E USZQYmlFYGBPflY0aUY3TlgzXnwmTQ0KPiBCMjUlDQo+IHpkeFRZPyUmUWtYLVJ1alBfNV51b0g4 WWBJOXI2ejwySDVhOHRyUmlUNl49VD4oK00ydXlhYChgUUxYdDU4NVpKdw0KPiB6UkFJKFBIcTdq PkJzRGItDQo+IGEqUXxkejhrRHBCMnM3U0pTNFljVWBOZ1hqYlhRZ1dRRTwxeSV3dEJHdyVPOU9Z ZzxTDQo+IHpBdW1malRseFV0IWI2YSNORk9Hci0NCj4gaD1MS1gmbT5QcGlNbl52Yz5DUT5ldDlu QXdWT1JYVWB8fGFRPWJ4S0g2flINCj4gelRyd1JsPjk4KmczOSh9Qlc3K2BvPDsqM2RrZVJRX3Fx QztUZDstDQo+IFBSQVZMN2tkPWt6Pm18fVk+O2R7Xl5jUGUycg0KPiB6MjBwfXFKYUotPmxEeTM9 TkhyNkthMU8yYDFLRmA7alFQcjxqVDFRKT1tZzBBaVNmRiFkTnNMVWRjWm5OJjJjWnMNCj4gekQx IXNsIUhKT3okV0ZCNz15NWBrSU1KYEprfn4/ezA3RlMoU0FvTm94cV9BPlpmTD9obkZjVzM3PWch b09VbEoNCj4gVA0KPiB6OV5LWlRFSmsrUzJuZS0NCj4gMntJSjRGWW49NmJoVXNnZldeYihzcVps akM3R28yUTVWNTIqbj92bkExc0RiRSU0dG9GDQo+IHp6NVRHbC0NCj4gKTlOMVVNO31YVXhmXlE8 ck9zKEk1cmIxb08qcn0yJDdldSs8ezxrYUZedDA/N0BEYSRWQFo2cGl2S2ENCj4gek1CflF3PFYx ezZFbU9zPDFgJDYre3dmMWwjOH1vc21PamI+XiVAcUNuQ2AkYUJhT2UhaXc7VX4/aE9CDQo+IFUp V0hrcg0KPiB6SVZpYHxLSEAmQWA9Mkt5bWwhNHt5N1BkWDk8TG0hJU9OIUgzRDw8NC0NCj4gQHF7 IUF+JUtlUkcoSD5CRVI/bmpNalVHDQo+IHpBTDFwTDJgej9JO1hDKk5kNTR3WVg7e0FDelFKUkpv SFFCbXtzKnowZC0NCj4gUCh2NWdHUWJWVyRYWkxwJTxLJkBAIXYNCj4geilZNkdteylrKmpIaHEq b258Mld0cSV3RGVSUlM9K2omR3RiQHJgVE1xKT4/SEB9ZD0mO0heRm9IeEgNCj4geGlCUnBJdA0K PiB6QiNYRSo+LQ0KPiBoOW9GSXAkKCNGSis+PzBRJW1kQUg1M200O0hHJUNqKGshfV5ST3VNV3JK KTJ2VEtwRjBwZkFBRX5aDQo+IHpvOFotDQo+IEg7czBSUW01bE5BKGR8PVlWPDNFaTFLXjViME5B fSVJUkteKDExSnVKVkY5cUs3JlF6NGNtTHMlY15seDUNCj4gelUoM2F6RyFYdUAxS19uQmZJdHwy TnB8KmM9ZSYqWERocV9xYVI1OXg0NF55XnU1Ylh7SmA3LQ0KPiBMQWRIMnNUfUFDTQ0KPiB6Zk42 bSstDQo+IFBiSEtvPDBsITdnKE8+MExVSyhhQTY/KURGP3VUdWpVZUFWanY4YnY4IWt1MX41R2t1 NXwhPmF+UXpQDQo+IHpLLQ0KPiBsTDFTVUMpIUNKQEZnd1JST1o0RmprUmdnQCY1bV5sbiFaWGk2 QDBkVUdOZk8mIU42JUsmSWh7S1oyWn5qDQo+IDBTDQo+IHpyX1hGMC0NCj4gV34/OUFQfk9GMG5q b0c7SlFGfm8mKF4/VkV7SjwhZ1VVU1d5MWgmNFROZDx3UiRyKzN9OF9wZTJvTCgNCj4geiFlSWNS S298PmZ5TSpKMTBvKVlgJnV7PnxfaGM+fD9oUyt5XndCUDF8MWZ8XkFZQVBMKmc2YmdjXzJLfjBy MQ0KPiBFJA0KPiB6ZkU5dThFQzt8QmF7IXVsdCVqNWNnZkRUeFRzYUo4dC14SUJmSGB2KiVzUFJv YWxxc2NnTHpuQkVfMTtBX0s5cW8NCj4gekgwfDBURnRaJm5GQXN4eFR3cX0zdXUxcENGcW8kVld+ dXtiJHVPOHIwJn0obD1JVVdFUFljWHNQODNGZG8tDQo+ICsoKQ0KPiB6aUA9bVFWMiY5RV5CaUc5 MUBQaTxmYzxWYFp1N1NhKnMmSEVjRDBiJEVqZUgpTDBeVkIhaCVoJipKeHJaTw0KPiBuIWlNDQo+ IHo3aUtsZ0RZJjlsZUdWMlJPbmNuR0w1K3lAWWB2WDtgM285NFJid1lHT0w0dldsJTJwVkBYNDhF Q29sXiVrDQo+IFludXgNCj4geldQISUlcEJGZVFEZjZwN0pBcGFNMU0xZ3kweE93e2B5SzJBUngt DQo+IGA2VWF9TElyODF6TnZsRSEqIWd9P2pveG0odQ0KPiB6PFVNRjdGdzY5U1lPb1dTV2hVPGJ2 PWYtDQo+IDYjO0BrdjNDdk8oUF95aj5XfD4+QiZiSmVvV3U5TV4qJEs/ejQ9QXNsDQo+IHp6JF4+ dSlzZ2ReJkEtDQo+IG1DeyRlTEUlWiZsbVo2YDN4dEBZfV4/RjgxYyRnZl91NlBQODBeQF5ScUVP KnRicnxia34NCj4genghMTJBdko7cGs1PlUoUjFaRylZdVdxKiFtfVB9dUV3QkBpPDxacS1KNV4o K0E9ZiZOZGMtDQo+IGZYKH54bHVONFp+Pg0KPiB6K0cpJXlxZ3VKYEgwST9mdTI9b0M3QmR7VGhO SVQ2eTZyVVBsfkpuTj5APz0oc0h8NW4qbERjeVkwM012b3lODQo+IFF9DQo+IHo+ZVJ6Xzh1TjBM KXZNKD9FdSt0aV9EeClQdDxpeTREPGk2UT1gQFRTVHBDOTIkQSR4ZVImWUh2UDlkJnMjZA0KPiA8 RyUNCj4gemR1YThlVHc4YEt2OU5zWE9tOzJ5Q1IoTHA3TTM5bEYlR2I7K2ZtRipNSiVoYV91I1lQ RklpZEw+ZiRuSGcNCj4gcDtEeQ0KPiB6MEZgb2AyYCROK3BBdUhsPihrUiUzfHhxflFEUyt+PHI5 R2ZtdkdfNk9pQkhkTy0NCj4gV2ojYiozcFByYzJfJGhBUWRIDQo+IHomVHt2bTg0aHpWdWkzc3RK UzJQbFZXPmR8YWspNXkqe092dms7KXZjczVNNnVhVyF8Pz5qMWNENz1YdGdFX00NCj4gS3YNCj4g ekh+fUo5I3F7RG5QdD1aMGY8Zn5nRjtFTFAwTEBQUWk+cD5EdyplM1BMQV5SeFhHeHVIYnlLaSte VjkpMk0NCj4gVSFhcA0KPiB6M0RmdmtrOE1ZOWR+N0EzOEtuZWRMb1I1NHV3OD9hOW1afGBPaWVJ Rm4zWGU+angyfj50PUhuX1IkczJtYg0KPiA4cSEhDQo+IHpuaFVyMyowVEZ1QUAqJmtNPSNnc29o V1JlVTJAcXxFZm0/ViRWfU07aTFAYWJ8NU1SJmF3U3ZpKWoNCj4gUWAoaHFJZiYNCj4geihKYSVp ZXktRCk3aSE1elN1YjxjXn5FRjtBPmx8U3oqVmljKz8+N2o3WF5tQkFKU0teKz0obz5maDN4KWd0 cnV+DQo+IHpSajBAM2o4JXcpaCh9S31TJjcjU2JCd2Q/UCZSbHs3aDVwWmE1TG5IZlhiZDV1bDJM QCk/cmhhQGh3R30mDQo+IH4/MjcNCj4gekJMQDlxVUAtDQo+IEVlOyh8P1B6UkFhM0tmdjhuSiho SGk2emhmfXMhKCM4R0BPbUJjVU1hdk0jZ0s+YTkoPWR5aGRBUg0KPiB6ZCNWZkJ0QDRgUyhBSXJW enQtQShUT1QzZ3hma1JqeWBUQFUqbzZiUilFZFlmTHc3P1I4PWZEIT8lKFohe0pQJDcNCj4gem5l IXRKVyp8PisxTVllWSZhS3U/Ry1IaWdYSUJHOXR4eCZZc1R2elNZN2JESVQtDQo+IFJeaWApKStY SCNxQ3dvKzteSw0KPiB6dDBYTnJJQkhxYW4tdnkyQWxqeVNQNTt2NiN6YWxzWWZBJn53ejw9eENi RzdHeFQwaGljNFExWlhzdDx9Tk10UH0NCj4gejBEdjdDYlY0PmohIVE4cyRlXzVqMFR2N2N6Plc7 WmApcSkhVkYxe3psc1cqODh3UCspbmNvNU0/ISZvQVZwRTANCj4gXw0KPiB6aGp0WW0hdkxAO0o2 UW5xTGdAUiQwTH43QyFRM2M4MUFKdXx6JlV+TjB0ZGp8IXZIRCo7aCtPeC0NCj4gWUB7e2A9QS1M DQo+IHp0RWQ8VGFCZCljdHBpfjZGbzUje1ZkJGRsNXxaJjtJKCNZK2hRLQ0KPiB8bVhtYk1LZilp WUxyRmQ3Mm1aZkIjQyhkPjwNCj4geiZwUGBURkFJQT58SSkwKXUtDQo+IDlOV1Q4fFp2dzQjV1ZT TFVmI0w+ZX0jZ1V7T1gyblZQVHIkaDluPm5OWDRhcmBvTw0KPiB6WSZJZjFWWk4wVjZtX05jYDBC VCRFLQ0KPiBWMCR5MWZ+eEU1cCkwTXk3MTMrcnJeJHElTk94ckxNZSgpU2J3Jj5JJkAhDQo+IHpO VEB8N1ZEOzhgd2x8fEJgOFpPU198fmh0cmRwSnUpVEpjJHRMdDxjVFpLUzhrRnM3JEY1RXp6ay1G K0FRdWx3Mw0KPiB6eWUmKz1aNGpTWlI2WGBXT0tlaCU7dTZHJnNHdm9ZVTArOzFWWT5BaT9jflpu WGtIViNxYEdqWF5fb0gjDQo+IFhZNCswDQo+IHpVSzZec2RUZnBMbiY3M2wmKDJaISNPZXZQKUB5 PTsoYkJTMXFUVzN8eVI1byF1SnhMUW1qJT9APH41PHF0DQo+IEg7aT4NCj4gelVLNnw9PnRGcmEy ejtUcHZDVFU0KE5oOzEyMUNjZWpAcUxaQVdqUnZaJHdCTTFsPCpOOUswT055Zz1pLQ0KPiBpS2w+ Tg0KPiB6IWw8UUhRMilZbTdrOTVtZVNMJUFFbkZYTChyVlhaTC0NCj4gRExtRWIjUnc9MmdsZSNh RkApZ2Eja3lFSkJ+flUzbWRADQo+IHorWC1ZWEViSyhwPXZfLQ0KPiB5Rmg7USkhJUN4VFQlMFpL OHcxaiN5b2Ved0xEanR7QUtVKEpuUyM1KT11Sm9zSiV5cX0NCj4genROQnJpanxfVHJ7SEJ2X2NT VWZwOyZuKk5ab2RsTU85NnNUelFzaWg7RUxXfHVNVmM5ODNvaztiYFAmKVpGVkkNCj4gcw0KPiB6 a0oqKjV5KDg2PFpgRT5XaCRaVjw2MyR3WnJeM282UmlXTGNKeTxtMEtxLQ0KPiA2VFRoTiVwWUwm QlNrXlkzPT03cipFDQo+IHo7SV5pOVM8OEdffDM8Mkh8RV4lRUFKTS0NCj4gPk9FMHdoYT1Lcj17 cFp7YzQqQXQ/byNeUGA5aWgjblFGYjNVbVNwIWENCj4gelNER0t2JDNAO0tMKXtIMEtRfGAya0pC NWAjfmJrQkt5ZjdVTjU1en5gR0YlREB7aEJ5OT1WZ2htdDlNeA0KPiB2ekV8Xg0KPiB6b3FWY1FP TnBiRj1hTFJxTj4yUStQVG0xK2N+JlFYJT5KRjBKQU5PWnE1RjNlMztjLQ0KPiB3JV50c3BSY2Bs VXtRZn5GDQo+IHpJPWM2amozfV9lVXFjai0NCj4gUmNNQUFoJWFiQCtUZyRKdmFDZXh6clVJKHN9 YH5WJDdPZGdnVzBAKElnQDM7K1B2UDgNCj4geiQqfS1BZzhlWU4kSmFmTC1sPG50OFRlcC1xQmI5 a2FFS2swd0ZVMTI+UW0rJiZkfWtTSjFke3cpRSstDQo+IFBVd19rMQ0KPiB6JlJzQURneV5KQFZj bWR3Tyh4OFlaMGg4YWxDcjRfMUp1Z2FFaytaX0wwTyVzQCRLYUdxNzBwfmgxYnRlDQo+IDElMGVw DQo+IHpNMGMhYzEwK2AkWVpiez17IzledytmKDNiTEpZKTxIbyg/R25GWnhxI1YpV09CLQ0KPiA5 Vj9HI3ZmaDJiIWFDI2hSTT0NCj4gekMqNkI+LU1ZISQoajdSRi1XXi1lMVBmWS1RTjB7PkVOMn43 PVMmM1JJQko3VU9NZ1doRC0NCj4gNVc0UndaKnhCQH4jeQ0KPiB6ezl7ZmYkdWNsP3JsRjN4MFY5 flNsKT40QihxcHlqcnZyPGdZJUVITmdgUHQycDNTU156Tng9cktRWiNGSnZoQE0NCj4gejVfLXBC LUJoLX0tZTN7eik7LV90dFIjZD1leEZAUT55d1UzSURCJnx4eWBFTkkhN2dhZjZ6Xn1EQGpoYF9+ allADQo+IHo/d0dKRkQqOTcpTWZiOElhX0NiP0FLcV89ekYtDQo+ID5EZUBIaW1iWTUlZmFyQiQ7 Z3tXXigjaDxnUUN9UzB2YU14QD8NCj4gemB0WVZhVk81YlpSZ2hrJTx1PTc/I25VSlFSczFFcGlu Yj9BRUJKYk5FMl53MiZUK0tqbUVJaTJGeDxWNDt9DQo+IEtRIw0KPiB6WElGN0F0NihlbWRVensz TFdXUiMpMHRrcyFCazspaH04LQ0KPiBYWWc3U2U2ZW9YfFRDST4jS1dxJSRaQj88elIzUT1DDQo+ IHpJTmVzXnp6OEM+PHhJRVFldmtRZj9QMjB9bD0rc2ZFcCpkeDl0VklqPTNiek5pOWMoT0h1OVpi OGtWNzVVKGNndg0KPiB6ant0NDw+eDNSMiZRdWtUa1ZERmtfVDZZez1ENTN1ZUNBRGZKP2I4NG58 VzB5NTR6eTAmTXZ2N2BMeGo3dWcNCj4gUWt0DQo+IHpacF9VaERkMihlWSQwV3QqKVJ4TGpUKWN0 STZgM3FoYm9hPGljbUhHV1ZnWjh4KkxkTEwpb0sjaXdiI3g8MzUNCj4gTl8NCj4gelRKVXF1QClZ VGN6diFyVlQ2Vj1hJVR1R0MlNXpqfjFNNy1lZ3hXaTNEc0h0WnpGakpBUDVNUHtkLQ0KPiBtdytk ODtwdQ0KPiB6NXtaV29KV3FOZGJpcU9ZaHI5UUlrRiUpdXwySnQkTHJKQCNxITZKKERARmJrcX1Y MWUyREcjZHduIzd1MQ0KPiBkNT1iDQo+IHptS3NWYGdiZnR6cE9vIU5tdTBuamlRKk50MndxVlU+ bEk3VTdFYFJXTVhtPHkpdkNSa21VXjlLcWVrdA0KPiBPMEQ9NzgNCj4genBFSislPzZZWT1eIU5M e2UmNSV4ZWVJTHkmellHc1hVPzJDYkxQeU1rSCg3c1c+czBlKzJBd1Z5KUlzUzENCj4gbmk0Zg0K PiB6N0gpbzZ5cnhXNkBCaEtEb29uMSZjdUtRUWQ7bUtwaVcmKGEjYzNEMmZafWAhI1Jud0h7ezZZ ZWA9eFNmLQ0KPiBQdyNLDQo+IHokJld1T0V2Yz1ScWY4cF8+cyliUEI2UyRvNkg7UmYmeSV2U3Aw NlRpNUxvJWleb2wzN3w5elhVJjhLNnZgUg0KPiAlQigNCj4geis1azQmeSVVYGArODdsOWBgUmNB Y1omJnJUMlcpOCl1IUhSdiNCdE8rVGV0MmlnJERYSXgjazdCczshQ1p6I0oyDQo+IHohQU5PaWlj WEApb0FaRlZPQypVJUFacSp0aSs4aXpPY0hqMVY7cXx4TCh6QDYydzEjPGYoNiZOWHEoeCMrUQ0K PiBMQEANCj4gelJKSkcpSUFEIXlhbjBXayF4fTZtWk4tZ09Le0pqe3NVV2xJPTMzUDNOJUMtDQo+ IHZCdX5QYDVufjVzNjxkbWcxWXhkTQ0KPiB6ZCVLPGQ2PEdJcEhkN3M1Rjh5e0k2bCV6ODA0a2cl KWZfKl5qI0kyZ1ElTUU/KFoxN3xBdmJZWVhzPiU1MyUNCj4gZ0U2DQo+IHpgOEwlbU5Fa0JnK2FY bj9JenAqIzh0MS0NCj4gQE0oSU5fNitnTj9iZFRQbG1ZKGdhd0xleV58QWp9UllVIU1CanpONSUN Cj4geldlYE5laWh6QWZEK3s7SUJzbmQ7MFN2NkEtKCt9Z0RCfU05Sz18JXhkLXM0cD1WUDI2NClQ fmktS1VaN2xIe1h1DQo+IHolNmNIel5aOzlkdlJxZEBhQVdlZWJ3dGd7d0xMJXRrfCFeKjJxYTdT QmlkcVVUdDB5Jlc1d1cqUmsmDQo+IEUqRllie0cNCj4gem9rVFptTTZVPmcqRVdDQWRnPlc0VT9g elJtRGQ9O08/TXdiMDdia1Ywa19YMmItU2B+VW9AIy0NCj4gaG9qSSpoRT9Qeg0KPiB6JXdpbmdQ RXh6djN3JU5NRDZycENvZT1EVkNUemRWcWpfSjVyck0yKSshdTZQOFlWI1Z0dVp2T3Vxa0ZGDQo+ IE5ISypADQo+IHpjUlA/NTV0PFFqNDkofUJHa0ZHQHRIKzVGaz9oYVNzWWpOaFlmb3gqdHBUMnc4 M15kcjNReTZzX0FyckNWIzNJDQo+IHwNCj4gei10Y1QmVWtiQ0B7UkpjRW9FVi1EKig1Yz5sUTY1 KC1RK2wpNXdPUW9TLQ0KPiA1dmFjPmE+NW5eP3FYWSRVbGhfVW9ZQQ0KPiB6SWZadTtKLT0tDQo+ IHJMTjlEfmtMVFNYbz5GYjc/QUBWZG5TKERwcDZBRSN0U1FJUzNEMEZudGNhY3dhMTc2e3t3PHtF DQo+IHo4QTc3dTk/bzcwSFR3blkrRk0qQGZhanJyJGUlOGBYMDdtUGxhZEBZZkVgZCYtDQo+IFJ2 Pyh7Q1hzZnl2fX0yRUYpXjQNCj4genA1OyU7ZW9+TGIkc2x6NFdJNSpoVTYqd1YmeylzSXYrVWxq KkYoOWR4KHAtTHQhYFJiJmEyNilrVCR4TXlCMTVgDQo+IHpLbUAqSU5RWmJfV0NobyEtfEYkMHJe aU5pQGpoTkwrMy1QZmdPN3M0KSNvWkxldGYraWhTZ0F1RjNzLQ0KPiBWdllla00NCj4gent6YyhX VCNVaExEdVJ3JWJEVEtzdUNONnExdHteWmFGR3d5IW5hXkgpYEk3SUVnPVpYQktQWClaWD1RP1kN Cj4gUVlIRA0KPiB6eDFoM2N6ZEkxTjs3NWRuYEM5dSU1IXBEPDJ5NCEjczRnPEZGaDR9SUklS3Ih cWxEKDJBKTByM0gxNy1Ae2lkfHsNCj4geistDQo+ICk3PSg9anlmXkBEbmRYME9tcCM/ZyNgSih8 a0d5KThtPiREdCNsMzFPY0ZKKXdEekFrPHhscH04KFpiRGMrWA0KPiB6OW07YClRO3BGNHctDQo+ IH1tKGV6WHFKKyNAdkdrI1ozPUJqNmFDcFoja3slXylXXl5zRH15UyskPmdvKj4hRz50UF9LDQo+ IHpjbDNtVlhnJCNDUDZ9JTkraUVeYkZpdUo9JExZM3FfMDV4ezdLK3gydCFUcE00eSMxbDlWS21a cHtNbSVWDQo+IHdFX3YNCj4genliPjBQQExwc35SRVlAS1MzKzYxcn5lWEc7dEp0YGV7MHlXbXk4 MExUKzFaMEdKY0YyaXJqQXdrc1QlYCpNDQo+IF52Pw0KPiB6d15RNC0+YG5AZnN0Q2wtDQo+IGdF MzY9SGRUem9CPGtzT19kTD1pIVpaVCpuM3xZOERaPXpXI3RnJWhXbXp5KU96fkZ0DQo+IHo2Y2BI QXdFX31aSWZCNnBecntCWWJXTW9xOGp0QjMmZ31GdGJKfX05Wn5YZ2s0QVc9KTsydHN0bihURDx0 fmpPPA0KPiB6dSpYemN4UnJrblg8OXVwcmQ4fUczRERlb05Qd3BDdVE5VDl2KDZDQlBMRjExd2s9 ZHFnS3FZTjdAQjk3DQo+IHFsdDwtDQo+IHotUUVBY0ZAaT9HRzUtQlVlfjlNJGdvS3JTKnM0aWtg KWh+e3RWXmQrNEY7Ymd0Ni1yRnBBPH1ALQ0KPiBRb1VRcCszbEMNCj4gelIkQDd1c0F8KTFaQlI2 aDx4S21uQ0lwXyt5O2E4VXtJTUJRI00oWENwTlEzR3NuOys8dlpJSmljZXt9YTVyDQo+IGFnKQ0K PiB6ekNPeXJqZnZ7PkRTNG5DQjs4bTllaDRKUjlNX3RRcyNsJlNoUlBHQEV7bWI3ZHlsVH1JTXQ5 dElmUVBZb0BpDQo+IDFNDQo+IHpZRWZKSzJwKnlmKm1RU3Q5TmhAbXFpYjUhIWFzJU4tDQo+ICZa QWM1ZyspNjRfWVlzIVc5dEJTX0hLemoka1Q9cHpifF8NCj4genkzMDBwciZufng1Wm9PQGE4Znlm Zks3TDY1bm1CS0JqNlo8NUMxVmxATFdTc0oweWI5ZzVnZitIb0ZmJU4NCj4gRD1nQw0KPiB6TDVQ RWY7ZndWP1lKYzUoZTA0YCR0bmBZX0Y/QGQ7ISp7N3lIOX4+e00qR3dNQllZI143YHxnN2RfU2Y2 cyNpTC0NCj4gej51OFd4UFowZjI7V19GcF82QWxtUjhqO2tgZkJhIVduU1JZeyEzJSU+ZlhASj5u X3swRFpPSG8mPCFOLQ0KPiA/XyVnfg0KPiB6cHtxZks1TTk3JXwyVm80dXQoUDxANGBRWDxsUlNC aFRKNU1NN0cwT1I0IXBFTWRWNEpkeFJkQVVgVw0KPiA5TlFUQyN0DQo+IHpaRSFofT80blo/Q3Uw bHB5VSg8XktZO3hZR05eR0BraVlIakE9MXx7WkhiME5UWThEcyFeOUhrVkhXe2ojMjsNCj4gfSkN Cj4gelJxNSQ2KDMxY3k5NHF1a1IpNmoqZ01JO35GNyRpTyMoOzcmUXx+V2VLelMmPTt2b0Bzcms0 WHBnTFQtazdJe3F8DQo+IHpCcklVbFRAVCRuOyk0ai0NCj4gNklOTmNBekt+Tl5kIyVjJUFIJkh4 a25heEI0UVhHQ0t3b3N6YVJvWkN+Y29JaE4hITkNCj4gelV9eTtEJn1kd0Q/e1NSQUZiNzdqaD9q TSpNI14+UkY1OSp0eTwmc3Z1KnV0RWoqciEweTtsPiRJc2k3Xil4XyUlDQo+IHowc0FeQTMpY3xV O1lUV2s7akw3TSs+WjN0QmQqPUskaGV7SWJCfGloVUxOJj85cG4+WjB2d2NKZzAwa3Z4KW4NCj4g ZD4NCj4gektLTnMxb2RKaXFUWUJ8Q3dCX3s4REN1Mn48Kkw+WkV6d3xXaXRqUmdgfChRVl5YUj57 QDw7UjxkT3JffWt5DQo+IDF9Ng0KPiB6bmB5PDkqJjtIZntXQFJjKnw4Y3c9dHBXX1c0Mz5jSFpL NlAyQDxEWkNLSzBNZSgjKz5IfVQrdHhydw0KPiA3TG40NVQlDQo+IHotIUNxbG58TWJ2QGVCQWh3 JDRxUWQtMkBGVlFze147UD4hNTx8WW1TX0xCMzdKQEwtDQo+IERpTyMwRWlQTH56YEw0TiUNCj4g enU5bXJwZUhZRDVkPDZLbmtaPENzOzlxblR6Nmt6UzQxMTEwUip0ZiNzP3EjOCNCUnFOUmVqVzxW LQ0KPiBLdEdQfipsWQ0KPiB6WXdobXZxbUcoeilLTiRId3s7VmJ0Y2xoUnF4Q35MRFNjS1YpeFo9 Mzt8PzNDKiNBKCZzIzA1WmFKcF9WcksNCj4gITtADQo+IHpDaCV1Y29CQkNMRWVBdHczNX1qK2sx VS1KUUUlSEZMKDMtfVNvKXlgPW9NLShqJT15RVZUcmF8NklpUlFNeXQqPg0KPiB6d3lsZjNtTzh5 TV49NzZmcEwrIUw2UkREWllgUjFiOSRxelQ+ekduU0FHODZAUFQ7eylrRUpIVCp3TWhtDQo+IFN1 KEQkDQo+IHpyM1M/YEJLeH1TPE9RMlhDWEsqO2lwWnRId3ptdzBweUViMDF3e0U8IUdtazVkZ1J7 fnQ5bEYmTH1ZN1MyfEMNCj4gSzsNCj4genJ0YiV0OS14TD1Pd3h2I1BeYl5lKiFMbll1I2JCcE4x cVBkLXVVOExVPU5yemlwMT5KO3sxNyFiQWF6Y3ZKVWk7DQo+IHo2b3V9bk5ZeGY2bkk1I0I+YW1i NzRRTnUlP0RBfUhROXhQcnAhQFpXZ15RKzE9fF5NKHN6fFBSeUVADQo+IFd9bm85UTANCj4gek88 YnJBT0ttO0g+VSVEPnR4Ry0NCj4gWCVgSjdTQTZ0ckNDenwwZChSUkwhV1c7Pj9JaDk8QEpkRDdH elhFUEMmUyF3SQ0KPiB6OUw0U1lEZ2JfQzA3UWp1PzQ3WmI9WTQqQSpNWmkyPDFWd0ZxcUlFJDU8 fj4oMl99JXFITndqOEs5eTQ/diENCj4gXyFaDQo+IHo1eD1sY19AZURIJFliMyQ8dWJZRTwzUCRX R31yYmRxeH1JYWo9T0J6N1MmWCklfDJKNi0NCj4gJj4+Wkh4NHQ4dlh5S3kNCj4genNFNkhlSml9 eE00UmdERXs0ez9yJjZoYjwwKispZ0UtDQo+IHB3bXVgIypYejN7bEw0MHdOYHwyRm1QZmMyVz5u a1YjUg0KPiB6bkozcGclS2hWd2VgMiRuMUQkWj05PDImS2FBSWpOQihlQXhrSEx0RzhAM1gqM3NN ZVJYSkVOYjEhVVcNCj4ge1ZPbWVTDQo+IHo2VE8xaG4hTjQoajlLaEZPPlg/dWBtMURWPnFfd2xR SHB8PFl3OSptbGNxSzVyWVg2JFpheUYyR3c5SWIhDQo+IHQ2dUUNCj4genYwVUZAdGx+UFNhSFI1 NSgjXlQxJjZaUzNrMHNxcSh5STV4bFA8RVBAM1ctDQo+IG03SmlMRHdXUUtKRCNlYlFzIzRWaw0K PiB6YTxoUzRSQGZ2RT9JNj8kU3xOfiFEcFE5UndZeGpPVzxsWGohRHpGJk1rc15YRmJybVg7a3ZM VyolfVN6Zg0KPiBuaExCDQo+IHpnJHUmNj9vWTN7LQ0KPiAoYzxeMjZJdjJCdypUaWU5MmEpVEhW NiRpXnRnRHJxRjh+e3hLVG13cz5zJkhodEhBZzBySVUNCj4genY+V0hkailGNUYrSTVBIShrQz0/ dDNIZy0NCj4ga0tydFliIWUkQF5nZGEqJXZ3MFcmUE4qXytoblhzZWpLSklWS3Ioew0KPiB6S1Bg KkB4dDswXjJCe0FsfDVWKCMqZ215WGFGK1MwSGhScWw4eH05X3I9M0VicXUmcGA7cHBXVEtnN3FS Xl9LDQo+IDBqDQo+IHpGfHBxYWBUZkk7UWtiaClhfmAxISRaNXh4KU1IJkIqZmtCKDlOP1Q+Xkot DQo+IFBQX3VrTjB8TSNsMkRPUlB8NTM3PEMNCj4gekxoRzlVP15XcUUpRk1nZSNzaF5uNHtHVW1B aVdwQ18/KClrP1o3Qjs8Tj8/c3M0YCkxY3h8bj9NclZycEYNCj4gWGB0YA0KPiB6V1ljcWFoSCM8 T3l6MDJFP3ozTVdmZmpzPEhTWjJAQCYyekVFZTwjNWx8V1pWTjdQYk9LI0t6LQ0KPiBHJXQqY2Rq IUowDQo+IHolO3NwI2R0aWotNGJEMypsVz5KUFhyVz45eiRsND0xQkVGczU+ZmltcmF5NjdId1VD VDFafXlobyFyPjtDblBaQQ0KPiB6YHVeV2JEciNMdjJHWWxrR0RjR15kQn03TGJyNW1RRV9ZOHpp KSVxT0oqKG96NTc7TUwjeVEhUmFST1NyOUgNCj4gWWYoDQo+IHpiRnFuTlFFYSE3b3JIZXVFVkg+ cjw3UyFCKTRJaUxyQ1pAN21WWnNjWXQoKDtkKj4kM3poWjlVSDx1SUZsSFYybA0KPiB6elE/YlVj Vz5uUERTbl5qYFQ4czhDSzYqYD4wZ0VhUF5td29NZ1piXzZ8WUNAKDtAYktPdHQ8VHheNmFrDQo+ IHprXj5CDQo+IHp6bC0NCj4gPk5qTmgmTio3RXhWenFtcGQ9bSp2QUpIKnNgWlRwOTNVMSQ0Oz9e JD5OY140XjBMOGlvV3hAMU9vYk0NCj4gT3lFDQo+IHpNek8mdiQ5QVU8TUxaPEdROGwmclhYM3Uz Y01rQyQjbytjcz85PH5GJCRQNyYtdGI0bHlLSX5NLQ0KPiBrcUAlVn42UjcNCj4gendjY2BsayFj fmRSbW9ja0xMeHN2Zy0NCj4gS3g+SjN9OTVYSUlUNG1VRFdLNylqZjJ0MUw3REB3TmEhUUFBfko4 QU5CRA0KPiB6Zkl2Kz9Jdjw2cWhERWBfaDgrcUZQQFVYKHVEI2lLe0B9RSZnYCZAYz89SzsxRn01 bDNPWHlOMGU1djZuUW0NCj4gYEZoDQo+IHo8RDhkSkthKDM8VVlobjsqcD5QSUdNI3xzRF5rb00x U1RuM1VUJTFkNnFMR2d3IVBXZEAtDQo+IGl1SVF5R1RKUCQ+bXMNCj4gek1KYXx6VlImd3daRXJU VjN7ODhpeFVmKFleZ0MpekFFd3JXOTR+YlBBdWNHNWpSWXhsUHdvKVpXS3M+RHQNCj4gaFBgcA0K PiB6YXZuNGZDa0gmIXFlVjw5JklFQGtlJW8ofGp4emBNdWRPfEVMKU1UciNNaVRpe0IhPDFkYmU2 SztJRVRSfEhSDQo+IFFDDQo+IHooM3UlMVNqTWJNLXU2S1dzbTZZeSZyUThyJVlLU1FIclZQaVlH NyRedyEpVn1pNl5jflUtDQo+IDFTPitwUUlYRl9ZK2YNCj4gek0qPyVqXjktIWdnSy0NCj4gNGZu SW5QaVJ9ZzElOHxBQDl3S0B3dHBoRVgrU0JTen1JZmJgcz4/ezEyQHhjSntZPkBwSA0KPiB6SmUx KWs5aiV1X08tDQo+IEI8OXQ8dmxzOHdxUj1nJGtfRmdDWEJPQUE7P1grZ0RSQit5OUgjME9RTUE1 cT1IbnB0NSFjDQo+IHpuTiZuJlRAciVyIz0panxOPF94RGBTLTxvPUJqbVE5dy0NCj4gbjJmbThP U00qVmwpNyUyYjBpez5VYUA7amczZ0M4aSMNCj4gemgpX1AxeDhJO0sofHxFa3YlfXlrbyFleEFo Z1c8TTRtTDdSa31xfVY9T3F2PXY/MVheZzhYVlorRyVwfikNCj4gPmRvJQ0KPiB6OzdGdjhHSFdv cG4hbTV3ZTZhOD8zfHlNO0p5dTBzVk9iUldeRzUoWE5ubn0rWVRRc1hsMiYqODJ3KVcNCj4gZ3Ym ZWY4DQo+IHpmX1cqQ3hAMThjVWcpbyttYTkrO3E/WWNrWkZjYFAwQCF5MXJiNllgTCF0T31LUjUh fDlSZ0ZLdk1eRjtlVCUNCj4gem8NCj4gejFoQXthTGJjalBPPndma1k2UCZpUylwVnoqPCRCezxZ WVVXcSZEcGNIQnd0WkYrQEBAcChVbW8ofWJFDQo+IClnYiZ0aQ0KPiB6NT80ajcrWj5tPz9GRUtP Km5tS2ZeLUprLQ0KPiBub1JwNTlZeXx1PzF6KSUkQ2lONXpCMGo4cj1QOEZiJnJuI0NYMU5yDQo+ IHo9YD8lQ25vYCV8ekJCXlozVzJGbVBoMUNhbXlHfitObSFgR2dpU3hvX1N1I1p6KWxZZm0yT08t DQo+IEVQMCtYMCQ2b2UNCj4genNBblN3ODt1JFBPZEYyU010KV44MHhKQV5VKlhxdG87ZXV8cl58 TilyVjc4I207SmdIX3V2UiVjTCs9c28NCj4gQGZwMA0KPiB6SUUzVzM1eH1rdjNxOU55aVcrIzsy dy0NCj4gbXUzbXhZUjlvT1AhalIxQzNTbT5kPyZfa1F1Z2J+MntyN3B3NWgwKHN5DQo+IHooWEZt WCVIY0tMWTRhQURUNzAxdUVwOSlXOSQqRW5YSWJyel4jdlc8PzdsV2E0ITRCYDlxa0pgeTRCcX0w QA0KPiB6aHkNCj4gekt9WSg2aiU7ejRqe3I2K0VPZGV8YlY5UzZJUmU7KHUrWl9vKERDZjI5cyNX QWc7M2chXkBXYVlhc05aZztZOFINCj4gYg0KPiB6RnR5XyR6UipMT296fFgpZ01DM0BCQl9RU2RK RHIoeSQzN1k4V3diJUZYKkB5WDlqRXlJV2RgY2QwNWFmeg0KPiBNeH44DQo+IHpva0R2SkZLQXwx Jns0amlxd3NHWTBjPjFZPW49bHFCVSlWYjJ3P3clNDdiYFBlV0ElX3gwalR8MztsdD5SSg0KPiAr NGANCj4genBAKHJeKUNnYyY9KG55aCN1cXc8XlFfQ2tNa0MjZURKeVo1Rkw2fH1ge2VWMSVfZ0xW SGFpXjkkT19wdA0KPiBXRC1BJA0KPiB6QSt2b1h1em40U2ZONCshaX47IUU1VWlpY0FvLXZ9NmY0 ODFGSzR0OSpackVnaUg7PzY2Sk5ZYFplbEZZWntZYnQNCj4gem9eUnAjbkdlb1F5dlZ4fmRBXjl9 JXs9ZW9JbD1SKEphX1RAT2BkO0FuJGJMZW5DRmw0ezJ4NjMyQUZzN2Q/bg0KPiA5MA0KPiB6byoo OVVHUzZyNnlvbCNASmNudmxGZG5qNjZPVUlsJFQyeXtYd0lXVDBWR3JoLT4zdy0NCj4gNlZ8PGNE dExoUERlVTt4DQo+IHpJKC1VISQ3c28+Uj9nO3YyKTI2JDd9Ryt8NCM2RFQpV1loQWg0VktrZjNs VDxCMXN2bkJNaV93eHY+cV4kdShjYA0KPiB6ZHw/eE5zYmkzbW1PcyR5b19USXFgSEZZcnFAaWc7 amJLYmUrZExCM2VyYWZjc2Z6JGM3d0gtDQo+IGF0ZTRzZE9kNldaDQo+IHpENlFfcEF5X1lKbEp2 QnV7WnUrJHYhRmdUP2ltNz9rMlpzZjJFT1Y8MmloPTsyNnZiZk5MOFU7LTlsQlp3aGVqZA0KPiB6 PyU2ekwmbjVjVks+QylkTUN5Mjt1fWgqdkdnVXhjOTxWTGpONEVGPUo4S3k0dW54cHJmXmg2b2Um eyZedmUNCj4gVF5qDQo+IHp3REo4d1BSZSlZWEA2cHEoeX47YUkhNDh7a2ZSaUl0VW08M2BsUkpr QzJLMmRITEZjeShiQChFcUQwMyMxVmEzIQ0KPiB6LVM8KUFlXzhMVEF0aFVrSiUtDQo+IDFgRiZ4 aUJ2d000I3BLP0ZMPVUwNVM2c01XQGdEX0FFYE9aakBRd2Q8OG5mWmsoDQo+IHpTbjhhRG5+dl9K ZWxVVFlARDZZKjNWTHFudSN9TTtuP2VYVF9ZJTdpPiR4ZkRDUTA9RkwzU2s4VmtyKEx7cQ0KPiBv RksNCj4gelhlXzh3UGZWdylOPyg0LTdkWm9TOGtjNWwwfm18emIkKUk1Rmxsa05uVDA/TzUhOWkr IzRCRWI9a0EmPjNMIWYlDQo+IHo/VkxKVnJERz1NdVFOY3V6NHcwbmB5U0F4YD5WUit2VmBWbG84 SFF8aWl6PEo+VWNzK21pNUtTZD8yITVkcXANCj4gakkNCj4gemkzOTQxK2pXSjxPITI8diohVDJm dnM+Rk1MbEF9YmloJiVyV2I2ez1UZVUmIzdrV34mZCZePiNReVc8Yg0KPiBOKnlyZA0KPiB6KlRC XkAqZlQtVjRVSUxjLVkrLQ0KPiBOKUQ9OTlZT0QjKUFrJDxJdUZYfEZmb1NFaGhnUEBYdEFVKWhJ ZkQzSHtXeVF8DQo+IHpSIz1Ic0Fje3ZUN2VheyFpd1JtYjM2Pyh3aWwzMl4mYW96VWJfWCtnIT41 SXxSPHgwIWhlVllzbWVLfUJDRw0KPiBVS1UNCj4geng3cEBlQGBqQ0QtTS0tDQo+IENQVyFsM0o/ VlZyN31lV24qVjdRTjIzeTV6Kn1LWHJIRWZ5U0w7PGl5ZGYpRHUlJS1nfQ0KPiB6V01eQXloPERm alE3cUNFN2VRJjJKLQ0KPiA/ZFJqV25JayEoaTg5XiRCKGVqbTR7THNaUUAzKTFmYH4raF9afVM3 dzRSDQo+IHp7OCNzX3JOcnBHJnE0UnwtLVdgIUpUeXEkPn44Z31wRWNLckNDbDxub2dCRiVQbWJL Mnk2MUt1KHx5OXx7LQ0KPiBMNEsNCj4gellVU28hVVhCdV9XPEpVVFpsN1phYyszN2IoSmI8Zm94 b1ppcVI8OX1DbjghMG1SKE99Qz9vZDBfUEpqal5ZclJ7DQo+IHpsQHpsMkZ8a2B+Jk09e20xazd9 bCZuZ2Z4ekxhO1VsKHRTX3RyWGhtb25hdnpadz05fTkjO2pKUG58dXRJKFRpbA0KPiB6WFhpYGA1 YlJRd3ZNdSQ2VSNQS3NjSnImI2RuKklXdnltY3czIU58KGV5IW8/b09zY2xRJmN+TVFiJEJODQo+ ICFsWUlIDQo+IHpvcjItDQo+IG11bHxTZWw/UUEld30jVkJKbW11JT54KyM2bVRLKmFqeHooJnha bGB9aF9KJCgqYn5zWEl7aWUyTT07eDUNCj4gejlsUStjSFlyNDAreXE1OSVZYldnJjdYV0BsPEcz U19QSmprdnZjKWNZbUJYRzNAUmwwQWVOJVdGY0prDQo+IGs9Tm0ocw0KPiB6UG1GRWc/TUxzOFQ2 YD1ZQk9MdSVVQmwzez9yfjxSKFp1alJNYnYwPUVgflYxYiZMdEteWG0mPVNCc1V9WA0KPiBLQztx DQo+IHpYMU1VJXAwTV9AVk5PajRyfkhYZ2grYDEmdXElIVo4alp6TFB4THZ9Y0d9ciVEWjJQaXEk emE5KDhZY2l1dg0KPiAyOyYNCj4genRrcXNsekV4aWkkayp7TWtCd0k3ZF8lWXk1I0JSYGBYVkhE OHFLVTQrNEhPWWQ7RzlQR3RWOSZtal84XlNFDQo+IHFaYw0KPiB6KVZhfShrY1MqY2JvUnpVSWps eiEtcGwzUnc/PndLQk1ZYH44OzBIclNyVGo7WlkmcFU+QWg3KnVlUnp5Y20hZk0NCj4gejhXMlg3 VXF8amVTYmwtDQo+IEIySjRhSlNGT259YXIwO35eSnxoe0hEY3pIZTQ+fkJkNDFSI1NBfj9OYDJ6 VnRXU2cqTQ0KPiB6SzFaaUFGXn4jZENnOVhiIStMZWxDaUxraXMoZy1nUzxmRVVTfFRnI1ZhO2lo ckBiN1p0MElLbjwmJGUhKm8kVVkNCj4gejdlbTZjXigpQWBmRDtnUEpGOSRBNSRFSSVXez1sMSRp PjtpPiZyR281bkFROS0jbk48PktNJHtGTkBrLQ0KPiBnQyNPZA0KPiB6WjYxd1NxMz9xbGVkUDlq PDhLZGNAMjk8VEgmVDI1ejQ1QmZTMlI5ZTY+b15xUilmezNGTkxqclVNT3ZeZ0MNCj4gKmNGDQo+ IHpyMHRDST9pMzJ2UCRDOEdKT31BdDxzbDtwI142MT8lazR6Xk0+TXRpOCRJZEdSZyE/eEJkVWlj d280VVlJJiR0TA0KPiB6c1F9VW1DU31qQmtDVj4makhPVGEpc3pOJSheaWlvZ3t7RClDYm5QakhM Y3JYNT91Y15ISjg/SDg8JGspbk1BYw0KPiAkDQo+IHooTDAjVjt0TzFvXml1UCNYYGZGYmZ3Kmc8 TD9CZktRcEYxaDhtOW1+WFNMNEBiM1FLdUleTzVKMVlQQ2VZJA0KPiB1U1QNCj4gejQ1OU1Pemk2 Nk5MUENFPzNUXnpoayVWPVJwZ3g/UClyZnh0IUlsfmE1dVg8N0FuK3ozPyZ7YlpJUVpIb1h+fg0K PiBDYw0KPiB6OHQrMSVaRnM2ZmMja1JXOTtSYWt7SSFOV04raH1qV3hWPT9BcXxFUD8/OHdtTnM8 cGcjZXR+fDY8JGx4Yw0KPiAlaTN+DQo+IHomU1RvSSMoJWVmeXVmQGBWfEQ3KFApbzskcnAwYVdB QmdsSVUhUHt6e2RNYWU0Z0gyJj1xcUl2ez9VZUAhZQ0KPiBNPWINCj4gemRReGxGOS1DZkZLSEJ5 b19xTSFJJT96eEdSbUIoNiYlYlpeTTE0dVd1eV8/Szg7dmpHLQ0KPiBHRW4yYWd6VWY/KCFyMg0K PiB6KllqNDVePFQkJHBQOCtEblJkMGs9I1EyakVkSEFgPFVuaERoNFNHU1RoNH13Q31yVD48JWp3 ci0NCj4gbzB7eUZYRFppDQo+IHpMdkVqTCFMUFhGPXB6Unh4Iz9oX3dJRUwydjckPSskX0Mxcms3 K35KRTlANX45PDVzRjlDX2soUkdULQ0KPiA8VX52VWENCj4gelVjTEdTamQmfUwqNX0rZmcja2BK VHo0KXtIT0tlaFBCVTElUlAmbUFRPWh2UiQ3JWlqMXxJMS0NCj4geWU7ZVNjPEZPcg0KPiB6KDM5 ISFLRitsRS0NCj4gNmAmM3BHKShsKl5PaHk/M1pOXm5lbnRUKVRndWZMPWhNem5yZT5VOGRBPXg8 TjM5dmdzc0AqDQo+IHohI1k+YTl+YHhVZ0p8MlRFbmFjKjtWSzxDTS0NCj4gSWlOXmZeMCo4bVpn Iyt7N3BRSXF+KEwmMElteTJUWkdHN2Z0KEoNCj4gemVgZWFkbEdUd0Fvbz4zcjsxY1JmKDBwYXU+ VXUyM2d7QChEV1ZsKjtpWE9xP2MyfmZ9XiFaM2BgMVRIcEthVE0NCj4gdQ0KPiB6ZXpjYUFkNVVw eVVHZUIqZWZqNGwzQ0c/V0BUclMoMyg4d0UpVl9Qfnl1X2s9Xz8mMT9fc3RLd1N+TENLDQo+IEE5 dztVDQo+IHpRQHZlb29WSCYwRjBEemMlcj92d1lxRSFIOTtWJXwtDQo+IEdSZVckRmM0OFV6WjJS bEp+WjZMZD9LMlhWQEd5XjJObSENCj4gemV4Q2NuPDBZNVQwSjhsKXolOC0rPX5pe1hhS2tPLUxK WEs8bXM8PVArSUwkYzlmRk9ic2ZrPUdtbWs3KT5QbHY4DQo+IHo1MislVzx2Iz9zQXZfPC0NCj4g dyhZUThnVTdadjN6QGB7RD9fWTR6dGhTSG9qYEdEcFhiS0p2R1J9fUQ8eVdiTGFlJH4NCj4gek4o YCRXZTdTUnQtDQo+IEd2KHdPbyZmQlZLXyF0RnhhJXp1WVRgc09UMVNkbyg1WD41WnlubmwocCZh JCY7Jk1DRmtKbw0KPiB6YV5LLXFeQWM3KTgtSWBlXmRvWDJ6PjJuXmMjUGdQe2htSXUlWTlOWEY4 a3J8cWctOGUlSkh6JGl0Rmd9enRfPmcNCj4gemxqTG8pZ0JUUyEoOF5ffD9mMHgqbnZtKSo5KnU8 ZmVmcyVuT3UmYXtBUUNVSDthWlhNQjw3cThZa2NHK3chDQo+IE87ag0KPiB6amhqYD83JTZeKW80 N1V6VSgyOWhlNEVtRG9hT1ZNdHtIVjViTGQzempURDRBREx0VCo7PnxOQ3tsWUBJaDENCj4gVzV4 DQo+IHpTQFgjYlZoeWEramxVO3NUfDlNPU01IUMpcUxZNHA8a1ludHZwZk4mKF9zVGhKRGxFXnpM MW1FJkZEd045DQo+IDh+cDkNCj4gelZtWH1ATDFhZ19xJDtfdz9mMCFCZUh8NVNjSD0pfXFeQjdy JlZRZUYpM3dVbShtbzJkaSgwOUc0fD1uRQ0KPiBXQCFqSQ0KPiB6LTZMYVRmJERVTiNzV3hSVWBn ek87dXc5K3dtcHoqZD80LTRSQ2JqYD5fbU1ITz9CNS0NCj4gN08jKm0mSiFGfmZXZnQ9DQo+IHpx MHdFPm50eEEybGsxcDdxKG5uPVIkSmRxTnpQVkNleWdvK1I5bTA/OD9tVSs+TH5YMFlCcFQkankk T0szDQo+IHNiMTMNCj4genNLQU5tcUMkT29VdiZxYWlkSF5FT3tgRnUjPiZFX1VVUHNgNDUqQG0q a3w/V1VPZGlwa1o+Wj1jQA0KPiBybHUwI01tOw0KPiB6NGxsQGIpcn5YViE7aCgjemskeV9rczQ5 b2hCKTNoTmJSJWxSRyttfUczbkFUMyNYTlZ3Q1E+N211enNTZQ0KPiAlWkU3DQo+IHpGQDlecTlY OzIkM0hQLXtTdkt9MTV8OyZILQ0KPiBzRU11OUtAQlQqO1UjNFBoMWtsIylEQTJBQlAlb2tiSGZA QXwtaEYNCj4gelRKezxGYGs/PUlrYkV0SnYre2tzZzt5d2wkOzw4aUpxVz9YZ3xqMX15c2VpKiUx a2J3KEtzO1VNfkxRckZQaE84DQo+IHpVKyRSYihueks0cyhFNCloTWAyRUxGelYhUHhreVk1O3BO cFBDdlc+dmhSe1c2cVI9Z2w9Q3ttYjNCZjFQYg0KPiBAT1kNCj4gemN2a3lXNjVOJDtefG1zfSpx aThSYUljUl9hcj9TZXB2cHA9YGI2eSlra2F5VGIoPH0qJEtfaVQzS20tDQo+IGpNb1k4VQ0KPiB6 ZCkoSCZodmUhcT5wPn5gPSlBRjI+RH4lV19AM0wlUEMmK3VpJDdwXiVuST4leyljNkZ1bSFOZWJ5 P3gNCj4gNmZfcnh5DQo+IHo1MSt7NnA/dXNPLQ0KPiA7ZCM7YjUrRHglTVZ8TDlJSHVPRkZwKGpW KGV7PHdjNyRoOU5Sd0E0YDZRJTV4SzQkaz07VjENCj4genJpOTItDQo+IEtadVFHSzlOVTZgTTZP NUJIRktCRmpLRno9cyNSOXNaYSRjdDFmNzVUVkcmaGk3Q2YlVFlDQDUpcFU2cA0KPiB6VTBsSWdV bHA5VzVNeEduSnFjX34qazdFOSRLPGk/Pm4wbEE9N2l7T3JQbmNmYGpPNGVGem5QXkxefTA8MkdL dTsNCj4gejlESUB9RHphXj55WWRGWj03KS0oK1NES1JCITZPRjtMe1o3b0FaZyFHKGJZaGVFO1cz e2FJMjBGUX09SmNkcyooDQo+IHpGJWdDMkNFY3w5Y247V3Bla2dUMztjXjl7OzxgZitJYGJ+JSsz fTZMKGdRO3NIU1ZAWT5DSzc0QnY0fTxvdT5YPw0KPiB6ZHJUWHc+VmlHcSR2Zm83eT1yV0ZnflBq YTJLVmhjMERURWxvVCpINHV0NlRNKGA1WGhlfWExcDhFI00xN2B7DQo+ICpYDQo+IHpLTGU2S2Zk bmJeQHVmWXtYPFhYdXZfYTk5cnRxS2NxWFZyJXdtSWM1ZSVZb1FvbzBuXiY5Kz9JSG9QVEENCj4g ZmEoc1ENCj4gejhlUF8kbFVaZmhwQGx2QzBkSkR4ajZ7e1NkI0t8aV9ydztPPjgjTm02V2x1UHdr SVVNSTJjTlFTT29oVmINCj4gMTNQPg0KPiB6cnw2elNyfHJPPj1hfFB0M0xoe3lgTj5QRSRafTdM K3VxNSZfWXhPPHo1Zk1nN0dZP0pENjxSNzZmfmFfK04pDQo+IE1kDQo+IHpYPnk0aFpscTB1PEFW JiVzcjVuZ3NkU2J3aiVTV1FeUyNSJj96MStRUllCJlpQfX0haW1NakJZRzR+KA0KPiBPZE4zX0gN Cj4geiNjZT9obHZUK2VCYk11VEtqVFl3ZE1XMTwjVDB2PihRZWlTPW8kQU82KEYhRitxT0Jedygw bmAmRkw0MEkNCj4gdTNQOQ0KPiB6TlNJNCNEUjZpITglYzJFUHdmOVNJKjRCTXspVU5VPSM2dnhw aW10X3wzfWB8Sn5kcTR4PnU5OCRHUmh8V3sNCj4gQCVBDQo+IHpjR0k9SkJ2aVFLTUArflpCelNq K2ElUSpFJj4+Mkt4QkpNVDxNdyNMVFROR3VJPDZoRUd8U3kqV20NCj4gc3w3TTgobVENCj4gej1D bXRPZCQoUTQkOSoxeXBifkAwPUBiYktVWmRFWj5hbXo+ODZ5NX5yTyg4JEs8dihQJENqe289Nmhr Sw0KPiAhTk1vPA0KPiB6U1NUTWl2NHE5ZlI5JHVWM2UhXn5TQClgbEE/eERZXztLPEdXWm0xe0hC cmcjNkx1QEFBa0BeTUB1IQ0KPiBVaDtlfXlNDQo+IHpIbVFlJmZ7LQ0KPiBwQjdrZ3JuYzh9UHJp OU4zemcjM2xRIygzK0sqTzxLWXUxUH4zfEtmaH5OSnRieldjb0woVlY4ITgNCj4gem9FfUYrRXdv eStMOHo8cSR4JnprR3ROeDk2eEBvTFdUQGpYLShCS01tYlJwWkxXRjZqYEMtDQo+ICtvaWowY2Ql Q3o8UQ0KPiB6KGE8QClAM15ofDQjYCNKe21ea2l0dj9PNWR8O2B3Zm8xSWxsYE9HRXJVYXtfKk95 KnlwTUZxKGNxUlF+SDNSDQo+IDh2DQo+IHptYnk7VU8oIT1+YjtDNDJiJlREeGJVZVhzRHMzXiVe YlMpJSlGRnNTNi0NCj4gRnNJdyV2SmhvIVE+MG5AWDNVaSQoMmINCj4gentvcVkqPV9YT3cyWXAl TUE9e1MlWmkoRiZ6dkVMdCtIYUQqc1lYWSp2bi0NCj4gOXFKa2s3NHxHX3B4UzJzKXk2e0JIIw0K PiB6S3FHcn1fRT1iZ1c3fnVOSVY7NGdvbjg+Ymk9T2Mmd35NeGp2Pl59YUBscy0NCj4gVU5DfmZy Nmkran4kfmRvdXdkYTBDDQo+IHpLbWt9ZT0jKn5faX5hKSlBMWZMYTxXMjZmYytub3g3aX5RO1hL UGdeNUJeT0FtdSRVaCR2PmNWO1BEJGNJOQ0KPiA/fFQNCj4gem50eTM9cmhBNFM/a2hhdz1+QUMt DQo+IDM9eTNkTT5PYzEhQDhkN0tPVTE7P3N8Y35xNWskdGFfb2RvQFMrY24reSFwRw0KPiB6cG11 N3stDQo+IGsjQF5rM09aNU9tbXE3dDY0SUpMMDdANGM5VUg1SzNZVyZ2KkYobD40clIwUXd1KWBV YkIzZ1R5c3dODQo+IHpQe2pqVldQR0hta3hOWkpPMj1FaGNhP19ZVlUxbnRkeGZqV0BsYDR8NGtY bElXZ1daNUlgLQ0KPiBPbWh2VmlqNSpPV20NCj4gemFtQ2NtZVZ4T3p0dWwzYz9ad3FvMyh0O19Z Zk4wTS1xfFVEVlZSZSg5LQ0KPiBlY1o8JFV8UnV+Vm1aKjAzdHwzZ31LUA0KPiB6Yl9+eG1ycnhm OCFVYFNNJFc8WkluMz5EN180dWw3Sk5JXlc/bz89KnZLfCRvSkprcEsqcld6Nio0ZGR+aGkNCj4g KzBjDQo+IHpWezBEME5uOXwzSzlLSUs9NkdSYTI0cTtaRiN8RlRWKzJ3UzluZHNpJCo9KCRrUVFY YGg8U1htPjkrUilpVA0KPiB3NkUNCj4gemNeYEkjU3RoMDx5VnN6JDhHaStWNVE/ITlhUWhCWVRO WkJEZ1Z4YkVOeiQzP0wyTFYyb1Jsey0NCj4gYVc9ejQlK3VaTA0KPiB6SkF0ZFJ0WnlNQSVmRCVl dGRBa0dBc0NlSCpnKyUzYlQ9dUVOQ2Uhemh9Ny0NCj4gTSFvNCQmMiMhQTBfWHYreztEe0Y1DQo+ IHpgKTZ4Zm0wVi16UjR+MmZDfjNGdm5MJm5RTytoVXZvJFc8TFAlT1JCIz45czktDQo+IDlvVV45 YUR9SjtkMEojdzt7N2ENCj4gej5NWmUpP2NLc2lpUU9aJVlLMnZCSEAkMD5pbl4yLWlZU2YrZ3wz UGpCNzFHaklKU0x2bE5FVihTbWdjUkVmYjxsDQo+IHpZfG45WkBnaEI+RkgodSFkMH47ZSFYbyFt SXxpP1U5Q1deP21rbXImdkBHbEF1eT9DK2k2IVRSTWdCezlrDQo+IHFqQjwNCj4genhPLVNNaUU4 Tn5lVVZEK2UpZlBOOEpJJjwlYTItLQ0KPiBKJXZZVVFheWk0JmpkQHJ3c3Z5YSV5N3FUZnd1SWR6 fXstZg0KPiB6cDBzQCQjU2hWWWxOKWk4K29uKE47IWB0b217eGFuQ0pebU4kWTlrMWpSZ1ByWStK Vj1QY1g+Rj9xPTV6TEx6VQ0KPiAyDQo+IHp0cnlKQllgYll+WVBgNzBKbGA3ezJVN3BhIW9vRHxn NTA0anskcm1nd3F1d05VbnQpTGxTP3dBKF41eFpYVXtoNg0KPiB6d35DenUmZTxDYnN3SC0NCj4g dztoST5OMzI5bWFaYUAzTWthP0RXIX1sdlNTd1V0eG9QJHRURU1CQT4lb1FyWV5Ha2E9DQo+IHpS I3IhT1MlQSVPZHMkdE4lOEd6fVM7alRCQHY9VGtaalR0Rkd9UnZTdkBPbVlwZSlaUT9RM0ZYOWE+ KTINCj4gMG0rTXcNCj4gemN2JXMhRlUjMkZLM2w3KmxldXpMQGw5cFFeQ1ErYEhPMmJrazs1aT1a XnhqSFRVVDVIZGlAVzM2PyQ+QW5aYA0KPiA/Tg0KPiB6NF5qflFjayVXcHtvMjkxeVMqOW00byNl ZFdWLQ0KPiBoe0hkViNVVW45WktaZUxofVBtS2hoSzFaKkl1PEZ+KiVjK2BzDQo+IHpebiZeM09l VX1DYjV6SnM+UFVhe0dPbTUmXm9GJVFlVTZ0Tjs5SWlpQSp9dCR2PFJ8UnplZS0NCj4gVnQoUjJx aT47UnwNCj4gejRKPm5KbU1kRV4+MmJnUTRQNWVmUiFxN3JLMV4pSTxUP24xWSNmNHtXNz1NS3FU QG4kRXV0dm9JI3hecyoNCj4gP3lIUw0KPiB6VDVmUyl4SWQ1QDU3OTc4aVd1UntNZ3Y+MGFNSSZX YD5pX1JMKEhjT1hJSWhYTV80O3F1T3U0VyozJiFDMQ0KPiBKKlBEDQo+IHp3czxoSHdVWXE5RTZl ZlFFY3x8cSs9fXFLR0tRYjZveEpxYjBLVyVSJUojKyR7IWcmNSk4cTBgMyhJJHxaDQo+IEEwUGkN Cj4geiplYzM0NTRKO3AwdSVpK2s8REs5JTg8QDRydTRYKmx9Q0lyck49R2ltMHdKR3JyOH5PaUxf dHp6YEtMUmx4Sjg+DQo+IHo+MlklZTxJWmppS2MtDQo+IGpRVTBPXmptMWNgNiZ5MlgzQD1XPCsk fXtvQmx1YCFhVm5gZEFscjNrQnZAKElSYW5ORmoNCj4gekVvVV41eU91TFhUMHRRY0xjZD9zM0dE bk8jSVFZTTcrRXMzV1hNZ3BNO2oqaFhXTUw5cXNiSERvY3wNCj4gVVAmYi0pJg0KPiB6O0ZtU1Be ViNYeC0NCj4gSEkwbiVObVcoRnV3UD0yP2ttZGZ3SFYycjJHOyRiK2N1UyMlRjlfJnN8IzlYbkgy d2JYVHRKDQo+IHp1SnA1S0QhYjh6QDJXSyRgeCtZU3R7K3t2VWt8SnQ+fH03bFlqUV9KbzRmdmtv QTh8MiNAWFQ1JnRjenhMKH4zXw0KPiB6X3hkbGFJJn0yU2ZLI0h7cT9reCNKSnd9YSs/ajE4I012 RlcjeWNBdEAzYHFyKlJ5N0B1QXlufE87Ykl2eDVJNw0KPiAyDQo+IHp8Q3x1dEVVVjE7K28tDQo+ IEthe0cxUjIqfHJfaHZzaGlKVnMlQzhqNGhQZFJgSTUxcHRGaFd7PSFlU0s/KFptSDBGTD0NCj4g ej5adEJHJlE+YzNjVXl5PmNAUTNXZCF1bntBIW42amBKeEkzTjNEIWhiYlFRS0tgSyordU9eVkdt UTFFDQo+IHhqfWROTA0KPiB6O3dCOGRUSWM5Xkh5PFIodVd6fFlBQkp2Ujs4SipLMVdQRUVOczRm Xit0ak5tTX1NQEsjLQ0KPiBkSDd5KGQlcG1nUVg+DQo+IHpVazEwekZvbWtQIVM/SXVZZkV6a1JE TiFFdTR4Q1M2Ul5HbEZgOU9tWTRiaWlAQklHMk9zWkR6YDt8S0FlTDINCj4gR1YNCj4gem1leUtn Q3I8X0FMdE08LQ0KPiBkZEllZFJ6fVIrNWFeSDVkVW59RGlJPmx9YDtAa3hVR3x5dm1KYzc0WWN6 aDkjSnJWMQ0KPiB6Pzt5eG5gQzxIKTtzbmVnKV5wXjY+fEclNkBOSDxUeGpfPzk/fnFlans4aHxv ViYkZCMmUT5BdkhSIylvZg0KPiBEYGleDQo+IHo2JnopK21rPDleTUI3c3NRO0VKJlFpK2BgdWMq WkxlS2IlT3RHe0pwenVNfiE7Z1Uyaz1lUUp0R1pMJWt2PA0KPiB0R20NCj4gelBod3cqLU1AYzE1 VVlWbyt+Pys1ay0NCj4gTj4+NW1Tam5FeGc3VGA4TGFsayozUzU0YEdwfWc7JklqXnBMKHRDM1o4 eQ0KPiB6QV9KQVUmcGshZXI0bW0kU1M5WUltT1VFTjU9LQ0KPiA3NTdXc3pxQjI1ZWIjSnxVQz1e PWZRTzY8RHQzMkpGOGdkKiZGDQo+IHp0O245amdEfHxGU0woVUIlRG4kaVFqP1NeTGNNNUBifDRG U2FpNHBHckcydjRwQCY5MiUmKEdUYyFfbXcNCj4gaGhNWSMNCj4geihoRnV2MnZmcmZhRyNzTlcz emo1eCQ+TUcmYnllRVNrRCF9KT9iSm9KRzYwP3okUHJacWpUZldWc0UjRklAYg0KPiB2Tw0KPiB6 I29jZW1jR3NGQjZZeTdmPmNUeDZwNjY2TVk8OElBWEVFWEdyczVGUXxIc3JZaH5KVyloOT1JbDFy WUMyWi0rbGkNCj4gejBjQXE2KU9kYEFPLQ0KPiAxX25qaH5peTExM2o7JTlNRCQocmIkaF5JQXA8 TzJTRk1scWNTMk0rOHlLcmtrQnduSFNIfA0KPiB6MGJBX0E3PjkwWkVAfkB8a3VzZntzUEx1aTRI QGwwcXdOOW9HQzcoU1crSipgdilNcGpUaXJMRSE5VmklTFpzDQo+IFJ2DQo+IHooPj1AM0A+bmNQ amFAUjwtDQo+IFNCO0xLeW9rc00jR3JSZFU9MU9gYEVBVGVRdWxxO3x7KD90REBPVjRAQXg4SWxe S24NCj4geitxRmEyRktwQkd5V1A1TyswMXFFOWJMfTs8b0RSMEZLbl91blRQRHBTMm96NlokN31F eUZaeUJOWX5LeiUNCj4gdyg8PQ0KPiB6dkxVb3BXeElDc2taOzdIYi0NCj4gISshVjVZJXIqRG1n dCY/TmF4NEB5cTZUbURKJEZmcSZZSTVDbCFvb2xNZj1KKVdCDQo+IHpANnMhbGxrJTE9Wks3dEpM XkpBOypQKTVeKyR8YTlGMjdzaCFUTkUhSk5JX0B0OERXP3NHcWtPckhvQiNvX20NCj4gVT0NCj4g ejg/QGN5K2lESmJCNVBFTWlMWT99dTA+K3hTSEMtDQo+IFQ3bnUlPU1hUUBYJE0/SSp8MFJ3Ozhn akRMZ3lrb18rYXF8Kw0KPiB6MkBtbHdlcXxWPT1hbyhpN0BCdztiQXZjUE45QXEpKig7Wn5meEwm OHd7KWNQKHRXaypiN28/ZVV8TUU8DQo+IGZuYFd2DQo+IHpyY3t7aXF4REozWTttSHVye2koYkcx azlFQX5UXjcwNEB3K0NUdlhfVUlEcSQ3bWdxazQ/fXojSWVTS217aUZvDQo+IDMNCj4gemJudWx1 SlUwaXY9M0o3fU92QHRAYn17V3FkUXhUNUo2NjdoYj14O0A+UXhgVyEoPD5tUDxqM0ZKe25aaEs+ DQo+IHAlRw0KPiB6U3U9VjRNP2BHNGBfNWFUc1R2IVVgbFh1cGxMTSsjemg2YTZuMUFCVXRmakdw cG5tSmV6S3tZUFJtSihtXkRJDQo+IG4xDQo+IHo0cjlUOFdXQG5gd0V+PWt2U1AzfSNwQTdnKGo1 T3N5QkBIVzMyaE1hO3NpIXc+enJGSVQob3BodFF0MCpfDQo+IHghWkYNCj4gelotQmB+KVBGWl4m I2NHWUxPMkpnWng0ZStfNHQ/antVMkt6MyU2IWJpK29lSmB9fFczMzV+cjFDPUgkWXlYQyZJDQo+ IHpNT1JKT3VsZnNKQmhnKy1xM3RJZlpEWilSZHVeLTsyREFZM0phXmpxKGcwSX1aKHB6QlJKcGgt S0pVa3YleHY9Mw0KPiB6S2pIOGtJT09iMkxGPkF1QGljUm47aTBTV25FcUc4VkB3UT52Ji0NCj4g QERrbXRGdGQ/fClVMW49PXNFXmdQcTEkZGt0DQo+IHohe1p9e2h1IyNIQl9VPyFBcjtLT0stYnV3 eGk1T3I+KSZ0SUEzRV5qOUZmVH41QVpxcGE5KTNTJEllQ2UpKz9+bA0KPiB6Vmc9PmlWITAqbnhR dko3IXY+b2tuMmV2T1BtcTNvKiglKDJ5RFgyNXgzMFRkdk4pTnxvSjN8dGcyP0t4Nl8oDQo+IGRz DQo+IHpIb3JsSWJtQEJTKH0oNV52KmdBKkRtUmRCPit7R3dwXzw7SllqcmE3Qn5zM0tuIWNLdSRf d2tPV1R8YDAoKA0KPiBiYUUNCj4gekoxdlE+cVZ7ISpyQkprQTZ7R2V+eW9NMEF4YCNaXm8lektX d0lnXj5aUk8kP2U9ZVoqUz56cUlkSWo9MG0NCj4gKGlRVA0KPiB6U1YpclY2MFhePCR6MFEwYlJD bnQ/SWYxemF+VkFsMHB6fiNEcm5kTlZWfT43bkRuRlMpX3wxa007NElANm59DQo+IHUjDQo+IHp2 QUYtDQo+IHU/cHp4XzV7X008T3ZqPVFWKlhKPFVucCFQTnplQDB7M0xTRGI/S1VaYzU+Rj1ZfCYl d08mOD1jeD1DKA0KPiBhDQo+IHp5OVpuZGsrNitGbiE5TEgoQCkkfENONFdQYVZmcSopOTBPYmFA fG4/Yz5COXhoKCFhODFXbjxjckJjKCtwDQo+IFZEenMNCj4gejk7eDZpOX43dyZhO0NrbVU/bWM4 OSs/WHtgRFF1dm9pPXl2KF9AMnI9UCMpMjtjZWslSG0tDQo+IFVudVNEVDUreXxWTA0KPiB6ZSZM amtXQXBPSnN0aHlrUVBBZlZOSUNCIU0lY3VqWWo9e0phaH5ecT9rUmxCdk1eNTA9SWYwanh+ODk5 a25PDQo+IFVZDQo+IHpFeE51YmQ3SkdZJiolWkZSQmJlPl5jeiliKnJjMnVTbFYldjg4UlVTKUA9 eCg5JHEyQGFWUG88Sjg0bQ0KPiB3TG0lY0sNCj4gemtoZ1JZZHowSndtRmVlYWNHI1k2TWQpRkUm XzZFR3NmRFFpMClIYS0NCj4gODY5dGs7TlJTRnE7PE9oeylDfWJGY2doKA0KPiB6UUpERm4pUl9q MUU4e2goUS0NCj4gTClVS2EhZGYwKDU5RUZLKz1iNEBNOExrZzAwMiljRmd6bTwkIUU3QT1mVnBg eD17DQo+IHojajM0aGclci0wTEV+Z0licjI/KCpFTC0NCj4gQEh8dVk8PTwmP3RaT3RVZWI/SmVf RXZfQHRXb0doK2o5MmZTJmNfYVINCj4gelYhflRRQElYY0xlNk48Mnpjbm1eeXQhWXdnVH4mO3NZ X2A8Sis5dVRGMUB5RTlydXJDS0UpT05yclR8TWxDZg0KPiBTbA0KPiB6LQ0KPiB7KGUkJFVGZDRP V3dkKl5PO1MrSE1gUylFeFNaKnJkITxNOVYqNXomZ0dUdTslcl9wYDdUe3E9dENsXjl+Uw0KPiBQ dw0KPiB6bSZlI2t7XmE3QCVwQ3h2eDlGTmspI1VRX2N5bTwoQ3J+MD1waj5OX2tTKHUyeWR+aUNK dzxkR0R4OUZnDQo+IFowUE0kDQo+IHowdnFLQWVkNlF+RHVTKThkamNYOWp8PStrTldmVXNfWjBx eVhBVFQ9TE97ZkBwPHNPNnBTRVhlRFQwNWl3DQo+IDl+YUcNCj4geitvaXt4ejA3OVRhR3l1RGF6 N2dnQE1CRXdQdyQpVEgqNEZmUFczJWo1dH03c15KX15GajFTNmhrSiZOeUZkDQo+IGMyTQ0KPiB6 JXZNfkdHWjRSMXtPeExqdndsb2w8VDZVZ1QweDgzVkt5SDJvdXRfM3NKRl8oWmFrMT8lbSFVdFV0 SHZ1Kg0KPiBtQzE4DQo+IHo3QTx1c3ZHSWxXJCMhKjtHLQ0KPiByazhAflZmTlAzP3g5a0ltVTxf Pz9IdGI5dXFDITlIc0AjaHcxXnc2PypnVUooNUANCj4gemp0Kk0mS2M1UilidmZ8dmxoP30lbjlT VHElZ0AtDQo+IFUoV0hqZztiQHxKS0VUcXQlWFRmfW4lPChUTXc5aWd2KGNvQg0KPiB6bUkteDtQ T2w0dXFsdCQrJmxOciE4JS1qM0tian5QU08yZDxzJjBFYENWQV9oaTI1Q2o9e2I4LSpiR2s9ez5y Y3cNCj4gemJkM3FAS0xUPWImY15lXyp+O1IwY0NZWHoqWXl6Qj9CTX5rN2spc1J6PWJtJHB0fm1y IUBCYT9JYXxLdnINCj4gN29+cA0KPiB6K20yMHwlRiZVVUM1cUU1cUNVR0NnN04pPl4wKVRCNTRH fihDQmFJR1VmdTl+RktKZXUreHt6Mld2TTcNCj4gY1Njamd+DQo+IHpUaSpqc1RVQDcmd24pZmNF d3N0O3l3YGU5JnVEIW93NUMqNSVZdy1PdjVtNXY2KypiaUlSbS0NCj4gIzJlWDskUkpEQUgNCj4g enRNJmdLOzw+aDZYczxvWiR3eTdGR2trOTVkOVhSMzdqUjIlO15zZkkqfjBEcXZRNj1aZGV+Wl9V ZXBQYXMNCj4gU35ZWQ0KPiB6UTxUPi0lWnRxenhyc1kwIUI8Tk9JTzBDNGA4NGEtDQo+IE81SEo4 PjFLTnoyM3ptaE16VXNpVGBVPlhWMHd0bXpEISteDQo+IHpeajFOfXllTEYyTEJIMUI3PmJPLQ0K PiBMPmFGJkdSe1c2R3dVXmZfbTEjcERQJSNLcHVueENVVHtNfjNZNnxvKVo0fVoNCj4gemg5RUN4 SkduYHt7KElCOyEpfShvb0JeZX5UaThxVE40elIlcSh0I3A1LTdLKkhpJEtvX2syWSVpJGFNYFdu KiZWDQo+IHpgdi0NCj4geV5hfX52OXlCMlhSZGBxY0d2UUp8bGExIUdHSXMpOG56TGZPZCQqRE9l YiFNan44U3JAP19eIWBvR29AXmMNCj4gemxkUWx+e0l9JTgtUXsxOzMzNTJiYTtXbDk8c2U1fTI4 RipHI3h0SWRYRDtJUSZROHJ2WiYze3J0SWt9MFhuS3B2DQo+IHpQVFgqNkYwWSZDZXdua3tySnFq Vk9fTns5dDhDWDVUeDBFcnxHQn5YJm1LTWtHT0JVenkkT0VeKHtXNg0KPiAkT1MkQVMNCj4geiR8 Yz5LJGw3RHBLVDJuYngpUj1ONDBfTWU4O0FFUHBUJUtAaHxWQ3s0QG5kRyUpXlk+SGVjXlM7QGVf DQo+IHNQaTd9RQ0KPiB6Ung+S19GZUBTVEYkXjtEWVJzIzZIaEFrKHROWWtSakVVWFR2emV0bDFg cX1ocGRlYkAkeXFFVW1YV1ZvDQo+IGRXJTQzDQo+IHp0d2lrVFc+blhEdTM1WE12KSFLOCVlQzQ3 WTxMVjdKfTMhaDcqMTJ6UEBIKXFyV2ViPVd2UD9wRFd6PQ0KPiB+YlBgbVANCj4gej41NiswQjxK MVppUnJ8S0dqci01eG1HN0xLZDFXeSYzfmNzQyhvJH5rRExaQWhAOUw5UyRMNlB4My0NCj4gNDFp cXdRbg0KPiB6KTlnIVFecmhZaWpKNWxGbGtIMWVfeXNMYG4kRzsocFVxck1KcSlhLVZeWkVFRFot PjB2Z2t3MGxGNG9ab2ZMSDwNCj4gensqM18zYEw7Z2RXJSpDV1d6fXJmUzk0YTRuOVghfGpmYl4z NmRBMyVpNVNVR2U0UlRSX0xfd1VDeHZEJQ0KPiAmYHNYMQ0KPiB6VUFsX0NjOVlxO2Epa3VZNH1L VVpLXndWPWwlUU9mYXpGYF5wNDA0M2REQGhxWS1ZWikqcktaaSFQaWlzZjVrVksNCj4gelBkPEZB TUtsd1drNmQxUGptaiVrKjZzX081O3t+b3JpPSlDa2k1dlY5IXBhak9ibk5eZjxtOUdxUlc+aUgN Cj4gI3d0bg0KPiB6R3NPSHIwSVpRZlI9PWorN01DPGJjNkJnKUZMZUFfMjtWMSFTPXpPbUYmZDwr XkBle0VnMVQ0Uj1lbCY0Pw0KPiBWODZtDQo+IHp5K3YwSSh6U2xkX3JIanthRkc3QkE4Zi14K0Mk RUReVlk9JT0/TEJyKCNwbCVrUDhPcz5FeHx7WUpsOyQlO3okQw0KPiB6THAqVi1XajIyKlB4fCYz d20jJUNkZGY5eiF1PDlhKHEzay0NCj4gK3xZKXY1K2s0QSohemlwJitrOV57Z1U2THVneShkDQo+ IHpgdGBZcSVlWV59Pz9RZmFgQ1pUTldCZH1NTV59dll8MCtrMThhPXV5emFXdCVPQHE/I19kTmMj QD1Iew0KPiBgPmMweFUNCj4gelIrYjx9dHZtZHx4cnNZVF9wNUtyUDVrJF88fGdMeF9oakRQJiU1 dlFlRHBXeENaPXdmb0FeMlJmOGc3SA0KPiBeMCZhUg0KPiB6PVJZV0dKbTxwa3p4MXpDeDEre2Fg OFQ3LUEySjQlJEIpcnReYFQ/T2szVmREJkdfLS0NCj4ge0F4O0l6aCNQJm5fclhPDQo+IHpKNm0j fiM7b3k0RWplalAxIW9hTCk2V0RYKnh+cEBnRSo2TXhvMChORz5CUW1OYlVCN251S2kkM0s0Xw0K PiA0JCpaZ3gNCj4geiF+Xj54UUZSRjdyTVJEJj92O2Y1d3YhaXczfndmLVNpUCstDQo+IHtuakM3 TXdQeyVtVjUjJUpedGFmQj9OSnlBeV5PeQ0KPiB6NTxQbTlDVmA1Ynw5O2dXUnpAcFJkOSRIMzY4 aDl6SHJiezVhPGUtDQo+IHVDezYxeyVwc0FSUl90Vz1TUk12RD5sRW49DQo+IHplalFAVCt1ZCpj aiEjZ2tFUGx+IXJoJEUqMHx8cUQ2eXtyfCNpb2JaO3tXYDBzWUJULVRBUDAxSTtOQHFySmlTVw0K PiB6SCN8WWlvNUp5UXgoTjBMQUl8aypjQn5JdkJzVnBEOHxoUkdHRn1DQFEwelhwOCZWVSV6Qllq QzU4P1cpPQ0KPiBQQjQyDQo+IHp0fXl0aXZHfEEkfDZHSllMKSFwNXpPOyotV31VMlBCaTU5NE9n IVlTTigoaFNBeCpOKzxUZ2UyRE5sdFM/Y19+Xw0KPiB6Oy1iYHomQHBLIVVYeG1hI1dlWGE7UlJt IU5iMD4yT2gtDQo+IHp6X0F0dio9UzQ2SlEqWlMrRkdgKWtDZlpzfWt4JWx+DQo+IHpgQUYoR3xC MzBifEZrU00mVk8yJSU+M0NmQXg5QihRS35WQHtoSExRREVFKH5GcGROOzluN34mNys2JA0KPiBZ ISpaZEINCj4gej5PeHshQj0tPWJ3fWNwLQ0KPiA3R2c5dCNPUm4xQlNAfjZ2fE1jMVNKVCkpJERx WGBjUz9KWUZQMFUjckd7fTg3MU1oSA0KPiB6ISNeazNsa0pnZT07PTdsIXZ3VHtqXilVQGJuaiVw NFdwc1F2WjNRKGpEfTR4QXc7b30pSktpcVJgPjB+dj1pRUENCj4gekdZZztCVEVeTWA+IW1QdTFm RXNQP1V9b3h5WCZJNmI8eTNqPTxmZERqKCZ4KmVpY3ZkOEVxQkYrIT12JU10QQ0KPiBlMA0KPiB6 Zip5JDh0Pkk0cHdyQUV5Y04/Tys8PFo/ayhjSy0NCj4gfjNDV21JXyQpRmBaXyFtXyNSeHs+Wj5k WCQ4diNQZDErSmNqDQo+IHpseUdlfFcpJDhXOEhMfUczQzQ8PDJSeGNWOWUrejVuYll5SWFRQlFk eVlOZ3lNT1VGUmY/YXJPSVZ2NzwNCj4gZnkteE8NCj4genNGZHUmaEtrdlJIP0lrWXQjVldASGRM a3ltQlRAMGQqKSk1JXw4VGl3b0E+aEpyZmVYTkpKanArcX5Vdw0KPiB3JitAIQ0KPiB6JXM9dkdX VSlPfGJjfD0qN21ZaGM3cnhCdj9VfVUhI2tYZj4yWUdNTGdzcmVXYjRCI0UpUnFVY1BjQVENCj4g MTVaa1l7DQo+IHpwK1ZvOXR9bWNXT3JaTHNGKG9veCZwbGx6VFd5bmZ5b0NvUWNtZkpkKkxFTTZ0 fVR6ND5INi0NCj4gIUdSQn5FPSYjVyMNCj4genVSSFcyNzFFYHZuWFhtY0dTanRRcV9ebkdJKkBI ezNAbWpnQi1nQSotDQo+IGcoTG1iekhHelkoNmk+TjFxfTk+fiRafg0KPiB6TlQoNU5SeFlGMFgy K1lfRzBsQGEoUSN6XlkkbjwpN0l0Oz53Yml9cjF+b1JjUWJVK3oxekJxcHU9Unoyent6fX0NCj4g ekFqYDN0Rnt7T21AZGUzOCNyaE4wNkVnNUwzKDg3bnskaEVvPVI7IW9AbiFnK285WHFVNl9rN3ox UE0jbHleKg0KPiBPKQ0KPiB6Y2lGRCNNaDBFUTxPQEchMjkpTmlsNVh+UEkjI1R8ZEJfRnN7KlQ5 KUpjNGdHQ1JaLQ0KPiAqN3BucyVLZWUzNktlRVlHDQo+IHpGZnNZNU9vPy1PcTFsaVohPnReaj4o VWR2NHNLWEhHa1ZMQzBaJVpVQEhJR18+LXg1MSsyUEFuJDFnanExMHQtDQo+IGENCj4gej95YTV+ LUROWVVUME0xREolZVMzRGBORyRsd0tSRnItDQo+IHhrTngpQj9aVCM0WClKI0U/SFBufChNUGIj bkhaNGF4Uw0KPiB6ZFJkcVVOOVZmNFlUMiRrenlgfURTNV9YKkpDelJeSitTZ3sjaD5OfHtUNz5T eiE8M3MhK1A9JUotTD10K2NPZl4NCj4genMlJD41ZWdrdmJEdXNGbmBWNTRIPUwtDQo+IE1CbHh1 cT8xKkROOHVlKXFzQkE+V1B5NjtsJiZlOyU9JjFnYEY0OyZnVQ0KPiB6XnZ7PjI5MTJ9ejc8NkVh bEhpUmtRNURofWhUVXdAd2YzZVo3IXxwfVQ3TV9DVmh2K0NlXmA3V009Zkw2NA0KPiBlYH0lDQo+ IHpsK3QyYC1KbnFCNFQyPk55RDEqO2xMUU1KSns1QSRmTFB3Sm4/Z2tpQ3NzSTtuZm88fjNCPXd9 dyVvRHc4OHMxUg0KPiB6VzdXMkI3Mm5JZCtUR1V9eHZaO2N6IzZmdXkkckZfVGxEJFd5NG82UTlr UVZBanFZOCMlWFhiYStvWlNYRA0KPiBpLVdzDQo+IHpZRitMN0YmNWxLcE5nQGRoZ3smIU55a18p ZzcrK19ULQ0KPiA/JT8wU2l0b1hUZDV3THZrNnRFTm02MDwlTkJ6dExYYFkNCj4gekYxVkd0bnd+ SiszU2FBTEVkQnd0YnpmQ19eVGNrfG9zZ2d6ZCh+VURlYSZkU1Fnd2FTZ3QlRnA+azxudCYNCj4g ZlluMA0KPiB6MmozIUMtDQo+ID9HXnxNbkIyaCFaKHp9bm99IWwjPEwzY1dCS2xfJUhLSW9gTD8/ SXo/YHsjdSYrRWJtNWQ/V1MpT3ArDQo+IHpGfldWYGtMfV83UUdraCMxK01EVzd+dnYjUGRNZWBX fj5NWkhAVGN9S21MdmdyPGFBYmE5ODFyQyF2DQo+IEUraXhBQSsNCj4gekljXiZXdlchU1VjelNT Y2M0UEwmbUBLX1R0ZD5+dWBqRGZ3Uj8zXjRidlI1fV9MdXBvdkU7U2d0Yz07SG43DQo+IF9FMQ0K PiB6d0V8PClReiZ6TDx+bjc9enJyeSpNeCFFSi1jYG9zVDFAek9aLTlXKGdqe1plMXx9MjJpKjgo ODsmTGZ0RyY1SjUNCj4gekBZRjtEaXN5MkQ3TUVMVVRmVWt+QWNAanx2Szs7aHhtQD9jNU5vJF8l X09MaS0NCj4gbEQ2eGVFcWU/PF44ZTdgWGxUZA0KPiB6PDhsd1Z6K0grUWpSYjgzPztBX0d4UX5B PFhzaykpamRkKSRLM0ZuVVdCdk1NQFc9PnopPHc4N3B5YygNCj4gMCVtWCpMDQo+IHp5aTBGY0hR PFE9VzVVPHFKUVZEay0NCj4gZlhOVkY3SHg4Nz1RYTNWfD9ScyVYKGBzVHlDd2s3PUFWYDRgSUQl JUM0RE0NCj4gejsmTit0VmcqXlooOD02azl7REAwX3E0YzJXbDw/e2N8RFlhYUo4T3J7fklJUmNW WHVrO1JHbHlLWHo0JmExcCMNCj4gRw0KPiB6b057cVp3aEcybE10d1FxZXohcXspNjJxXztqWTNh VystDQo+IHJaaCt5dUgoWj1RWkl0dDJuPkR1YjE7OXpae1I3e3JNDQo+IHpWKGhzQmcrQDJ9Q3pq VXphRio3KSFsZWB0QE5oUGhRWEF4VE8mMW9oaE09MSp5MFlGbzR7R1BTXnVWSSFXDQo+ICpiMj0N Cj4gel9pRj9SKV5DP355ZElXTGNqSiRUSEIyM2cwQWc1b2dKRlhlRjE8QFhRUl8jVmYrbz08Rmpl Zz45akJ0bUYqUg0KPiBrfg0KPiB6Y3hLMEIqJDF7KFkyRGI7dXlvdT5LNllRWUUwJH5xYCpYciVa PklRUiRAVUdjNUBWXkA7LQ0KPiBhdTl0cG8+M3JCO0ZpDQo+IHo8aDJxVTtHJmhfMEttZk1mRUxS VzNwPFlSajVKTyYjJGFxQFg7PXliNyRwaXJNNClERHcyRXRXKmx6SA0KPiA5NFFvJngNCj4geikh PXU+JDAmWHNednZhVHdQait2KmBoMVUjUGc/ITsoQ0RNQy0NCj4gck8wJmgmfW1wMU9YZUlIRF9+ eT1xIWdMYztPMw0KPiB6LXFyeUlle0Q+e3FTaWM2RjhuWDg+NGdXVT9aJXxZUWM2PnxsSj41OSlo KENUVHtkNCEhdEBxaFpMQ35rUWx4X3cNCj4geiFfWmBTS1VeUXszPzZjVUpBOFNwR2VxI2dTVj1C IV9Eejs8ZCMwfHVHd2Z6ZE0kVFJxeD9zfnRBU3h0ZiZKDQo+ID1MXg0KPiB6ZVJ7TD9TJjBXelRh ZyZzKk88Z21KLQ0KPiBxVVkkWTJyQjR9eG5abnNeOWRlRkhIeG1jKWFwRnhiM0lvPilBfl4kP2Fr DQo+IHpAP1B2VHlEJDkjTnxlTXk0SjFLNCs8JVF4PG1NUGZLSTY1M2ExYSFyI0tSRTFLYSM1dnly K25BYWN7Qn1GDQo+IFRfSl8NCj4geklZbDA0NjlfQlQ1KWJMQWFOUDtWKE53MkttQ1VWfnhEOGFa blE5OGs9WEdzeW1Be0kmZTkjVHxPLQ0KPiBAfSZ3LSt5Kg0KPiB6cGhqTXNzcDl0VyV4SkV0dVVD PGElVGljcWJ5JVQtDQo+IHRBbTNVXjlJYlBnO3YweXpaWkhCeiU8SzlYJCp0fEw2QD4kDQo+IHol eFZzUUApPSNUbmF6Q25RKGkkODc5RmQwd1coTGZRTU17fDVmMFdTJUBWKkRXTUxiTFB1cFhCcygN Cj4gYlJIdCN5fn0NCj4gejhpWUxRRXhOfHxec2xqMk5xN3xfWSF3Zj16K0gyNXRXX2ZUN0B5dmkz aSEwOXlqNy1Taj9aUUV2aGFzRDRDbTkzDQo+IHooYzs1Y3opISgyaFNwR0c9WXhpXjBRVDw+VzBn XnRoPSNHfW8tDQo+IE8wazBXZ0c1Q3dvNDlFPUd8KmBmKXNAaHljWj4NCj4gem1vQUdAQiFjJThR Ny0NCj4gUHxIaiMhO3RJSHtKRUkjTnRkcytEUDZxPFIoQnRNSzxXcVBaa1ZlQTBPQD9FO054X0FF fg0KPiB6KjZgXnFZSk5HQVdPU29JYDVualMjK207YFVPYmZSKHpWczQ3NnolLQ0KPiBAYCN3WCZV PUZTbCRAVCtEPW9nflNwKVcyDQo+IHpDNFozY1pZNUBTRFQmTUNOdUBjfUQ8cklEZW5seVRaeWg2 TWxlQXNFJnBiX3tgT2pvT0dXYkUqVHV2NmoNCj4gbEtma1INCj4genFMYkh2bzZZTURFMjc0I2Vi bF9meyNxV3NffiRgPVJKflZafEVveEN5XkoyR2R0PzgrP3l+diltWno+VV8NCj4gV3VfLQ0KPiB6 OFUhdyE2PCtyVTh7MCFKYTcmT21reCtgQFc5PExBanxTe3RNYyg9cyRjWiE5ODwpJUlXI055PXFr bUxQOA0KPiB+ZEEkDQo+IHo7czJKSHU4Z0UkQiZHLUtFV3YyNShoRyhxX01hN18kZS0NCj4gWnoq dVcofnZIIXgzNykydVo4MmpJTFR8a2pVSVlvfFINCj4gemhYPnB5aXRJdGE2O3s1XipndmRmQiZQ UU9rPGFWT2N7YU9aNElmR0E8UWZIK05OKjgwdSE3P3FrVzdmP3RRDQo+ICV6Vw0KPiB6e2lINzA1 SFVlXmlBVExCNWpSWnd4aSkwUFgpQjFIRXBZRldHJCZ9akZTOW9VdU8jfip1Y1M5bW1wQmkrbEoN Cj4gd1R7DQo+IHoodjFmKT4hdSF5Y05UOTlGez1xMmxNSmErcn1EaXQrdk9+XmFMREQyPWpFWks4 fUZmeyZ5azBjOT9VfllIfVgpQA0KPiB6LQ0KPiApWXVeYVo8OXs2OzcpY1FObSRFe2J0aDcwYGx6 IWBXNUBsNnxzSiFkKjUkI20oQX18eG0kRk5eX3cqQEY0XmVeDQo+IHo8Kj9zKSRPWjFyJGlTJUlN RFZlR15TJSFVVHJ4O0d2M35SWGVjfT9tRU5uelJ7LQ0KPiA0dXR4KFdGY1EqVX04TnZZcWcNCj4g empaeCViSSFMVkYydkdmSUdWV3AjTUkhaUV6akBiKDAqVlpqUXs/eWVpWHdWaHhET2R5SUZCZHwl emg1KUgmDQo+IDBTZg0KPiB6S0NmJHdKMDlPeygtK2s2P3N4Qz5vQCFzRVd4V0ElQS0NCj4gUlIz UXVvJjY4UW88d0o0bGs9cU58I0cxVyZifWB3PjVFDQo+IHphdTJ6e3kmWHZ5Ump9bCNXYDxWdFJR dkdLcG4/WXxDKVZWTFNPeFg2QEkmQHs2c341Y080UWRtKEpgWStwDQo+IGFSSHoNCj4genhId3ls emdtfng7MD9lRjsoPG8kUmJkKF95JXx4SjN6WElMUj1uMXtEY14+dF5iQG9GdGlibWJZfShzX2p1 XzINCj4gTw0KPiB6WGZne3pgNlM/Q0BDISslZHJ2YW1XaSM4MVdWKihCJEBnUENhaiNiaUxYdnNO MStFNUI4SWRmNGtNKXY8WVgNCj4gZyQ/DQo+IHpRJTtPektmQFVnIU5iZUtJPmN6aTN+fVJFcGpI SU5GWnEyJWJBZn01VSFlK09sYy1sU2V2T0lwaD5UeGYtQ05jJQ0KPiB6eH1nR212IyNDcns+TmlQ XyMhPFopLWVSQWp4cHZWRihPM3BvKFJndHk9NiYyZ3VaZWp7RGtjbHhyfDtHYSlgZGQNCj4gelgt Q00mWSNNYlNhaih6LQ0KPiBWZkg2ITgzYD5oPW13azsjV01xPUt1M0xHXkdMdCZMQWs+VXp9b3I5 KSF1NEFganZzPA0KPiB6S3phR01fbWFpUiVnUzY4RXV9ZGxIb0txTSpqYkRKRlMlaHdTTHZ6QXhi U2s1NE9CSDF3RThoflVoRVINCj4gMG5xQkloDQo+IHp2SlM9Z0BtZyl8I3k9anZedHhRaks8LQ0K PiA+VFRRQDtDPF91ZzVNO1lnO15+I3lHOEtRKkRzKFo0ZV4+eFFxMkAreC0NCj4gekh0SipEXil1 RnFASkZaJHttbD5IQSt2aE8xQDIxWlFeYyRoZTJpSD8oSF52dXFuc0dDekxEKUd4cnw7R28NCj4g PFZsYA0KPiB6bz5xflgodGZlJGspdld8LXg0bzc7PGQ8KmA0Q3YreFQrZEo2fSFRNk1sVFBkTykh eEVsSEN9MVZRRTFERkUtSikNCj4gekhUa0h3PGxAYHItJTV8Yjw0SlVGJlcpNFhYTiVqckVhdnRa c0l7Rj9GKlFCcG4tDQo+IGhaKVpuNj9ne1VFaGBLIzM8PA0KPiB6TzNnQ0FuYmdFeUdYcVVyOEZo cnx3Tzw0YmcjPHBOYXQzWDZBQmQmVFM9USQyYzNRYGpLKmZGbmdHKnJqDQo+IEAhdzRXDQo+IHpR NjUxfj96IylxOG11TGxjNzhaVXIkREJMOyV8RnE2WDVhe0VvaXI5Pn5YQzxpZEduQ19AS3BsJHEj WDs/b1cNCj4gKXMNCj4geiQoMzF9bD5RU3N4bE8oQzVmKmd0cz58T2tPdTdWfGVobU43dH1wVnUt NDxANyolblhzcjc4UChAKEdjUjQ1LQ0KPiBpJA0KPiB6P1dZdjdifHUlRyEyN1VvYytiKHhvKFFW QnA0TE9JYjFsNV4zY2NiMlNUTzdyeH5GdHtoMz5OWEo0dSt7cUg5DQo+IGNxDQo+IHolYiEyJjZ9 XjZWNHRzQCVUO0xXVW9UNlM0IU4rPlZ2YTVxJHY3ZDVjeWB1SlJeJE5XI3szbjdkOGg+Nys5DQo+ IGNQcXENCj4gejR8UlpsLWl8WFckfElUfXtObVM4cUdaUWUyVDczVUozZVVnZHxpd3BLaz8mdk5E JT1fb31ZUDVqM049ZHItDQo+ICpXSw0KPiB6aXgma0g9YEUrbyVse15kPXc7I2k2WDQ0Q1V7KS1p NWdgfiY1Ym1JJGR8dVpVX2ludFhqbXUtcktsKDZ7Q1NWJmwNCj4gemJSQFFVIXdCaEtpRVpZQ1FP R3ZCX2lVcChyb0xkMi0NCj4gbEEpYVpOM3NDKCUxWTU5dW1uekVecmYmbEBaJVNARy1WSQ0KPiB6 X1g3Y3VfRTFpWVpHT3EtDQo+IHYwTyRrMyFnZHNBNz5rXl4jNHo9NFRyJikkYENYRXReWntpK3BL e2t1KzRQT0hlWldUDQo+IHo8ZzxQXzQ9RXgqdX0kS0dGXldYK28rOFN7byZOclNCRD4yZXZpJllt TEB4XyNYemp1cVk1dE1lcmp2cWprDQo+IGw+MWINCj4gentQQDlhXkFuXnxxO0A5UFRuKHdiWXtL PEJ4I3J9VTxUPWk0YXpGVHk8c21vcDgxb0lqZzZ4P0dlanlYLS0NCj4gazdMTQ0KPiB6Y2JwXndQ VSRWVyMrYXgjTXpUZThzaEg7RUFzNHYrTTZeVXE2djQtc1h6OzNsV1Y8TFEjemMzcnNVKC0NCj4g dCVSKTxYDQo+IHpJMX5NUytubmtWKzEzN2UrWjs8d2YhLQ0KPiBPfTx9VXc1ODUxcG9CcnM4Nkwq NV53TlVQVTFMTTlUUm5DU2I2bVdVenwNCj4genlyK29Ta2V8SVdwaCE8U01ROzYhRDU5NXp4M2hE eXVvcUAxYXphejY3PjckdERHSkpXPkR1Wlp7b3pPcWENCj4gOGlzPg0KPiB6cnIwWE9YRlF6V2xN ckpTemwzP1BALQ0KPiBgYlJMUlFoZW1wOGkwPUM3azw2Y0RSIXFgVztKQmdgemlRSCloUTxPMjYp DQo+IHojN1JWJDJ0TEx0UHJXeEYlIylOOFcwaDtWTD5ScCt5YipjKWp9QkFERHhzfFM9WjdoZCZs KWFvcnZGek50MU4NCj4ge2kNCj4gekMwMlBVTXYpVTJtcitFM1Z3SDc+bFpZWV9lMmk2b0BTY0Rv SklYMD8+N0FtOFVLWitiWSVGWUtJI0srDQo+IFcyKkdIVw0KPiB6WU53IWxVUlRjWiNoc2dCPkwz PCl3fWd6Sm1GYDJ4b0VZT0J6ZmJrdUs0SDB4Y0BlNlBXZEE9S29JPUxZeT0NCj4gTlRWDQo+IHpW UEZMaHd5IypfQmdRIXJFKVZzYWd4NkVUOV8xbWl8R3pJcnJVKlg5SUNvdFVrWkJ2YCMyOUQjemx1 ekhTQDs3DQo+ID0NCj4gej1LbmQyXlc0KkFqQl56dkRLWEJgRl5jQHI1NVhadDFTclAyNnJtYjFQ NlF1Z29SNDF+UF43ekBCRkJETw0KPiA2dyVBVg0KPiB6dU1kVEJiaHh8RDJuO3dvVndAYHxENCo5 QXtwSlY4SU9Yaj5ITzN+I25kNlkrP1phTyliX1Fjbnt5dEl7DQo+IFVUR3trDQo+IHozbHVePShZ K3N3YmpQdzMzRGFBMmpnM1g4JEVkUX41NXBsPEptZG0qRWBsfHBOKDNMe2xrNDZjUC0NCj4gUWRh I1EzRTgNCj4gelE9KkRxN0pmdUE8JFV1MDx5aURuYzcoX0Q7RU4kaWlCRCQ0RERwVTZCcW5rTkNf WHRJaTVnS1BmeypkWmRvSw0KPiAkcA0KPiB6dlo8VVJlPE55M0V+QSUpPzt5dHRaOFl+dFZeSzIm PC0ycmtiI0xBPjBzfTtuQ0dgJEF6ekQ1WFpffn4tDQo+IGpYe1lVDQo+IHpHYGV2XkNAJGpgQUJg KD43cTZKVWFTY0BIKmk0ZlJZK2x0ZEQ0KG5oYzMrfkNpUzA/amx1bktnWS03dFMlVXFZVA0KPiB6 T3omZT5YQz9UQHolMyhnYnZZcl94dHtaQE1rNTx4ZTVRdlBvJjtDMWlLVnpXLQ0KPiAqcVcyMmpS Kz1YMFUjTiR1fEckDQo+IHpHMUkqWV9YREFEbjR5cWRiMzRoUEhzNz99RWg5OVVqU0hnMS0NCj4g N3pXSD8pQ3RXQl9LPTVzaj5uaGVxRjB9eXYxdUoNCj4gelh6aDUqPnQ8QTV2KjRgVmQmfmRyOE5G WjIoWFgxWDgpfntLPXJ7I20wZExzJVg4blZ2X2NwUUZEXnBiSlpBDQo+ID84Iw0KPiB6bmMjJE1U TURyQWppI3FnOUcwe0hfO31AWHp3WTY4UF4pTkxFSExObWBRUnckPi1VJncoUnd1LQ0KPiA9VDdD cCYmYnA0DQo+IHp1Mn5XPSM2Rm9HUXVVaW9nSyY2R1hyfUtReihtVHRGaE5EQ3soSEVqMG4jLQ0K PiBMV0o9aD9tOGx+aW5RUzB0RkRUe1cNCj4genowYW9FdmN8Tm9iKEZ4P0hFMCRsKUU+SyVIemBn R2VBQmtETmVzbncqfEtqKyY4b2FgWG1KZjVBblh7YGtqa3QNCj4gVg0KPiB6M1lhJWltZWJ1JTdL RiglejIkeH5mRnwzKUg9dWcqNldgOygoPmp9PEZaPksrX0tfS2BjRnBUKlpMQXlpaSs+Xw0KPiBi DQo+IHpxUUc9P184bGM+ZzZaNkleeFVsdkBFSGJGYn1lfng3UW55by0tMkN1dno2SHZVMlBZaDRC LQ0KPiAwNUU8N2BhSD90OCMNCj4gekU/amFrWG10LQ0KPiBWekchUHdNdFAwT0M+OHRveEU4S2Ju a2kqdTUrOCtEQ3w0SSZTX0xHUXBCVTBoK3duPlQ7WHo0ZQ0KPiB6dDxlMkdEK3daYkwrM0g8JFRR MWx2JUFGJS1fPDRHe2xaLQ0KPiBtdExEeWJgfEBUfWc2KyRqaU0qcmdXQE9VNnhHOSZ7DQo+IHpU e2VGPDwpcFhoc3pHVWxlUipAZTUpdXdkOSYmK3VmT1lVbDFlZjtaKl4tDQo+IDNxJWxxfDNmZTN6 eGFgWjF+bT5YYEYNCj4gejItZUhPYm42alhSYiE9fiFYQiklQnJ8ZnUqbHNmZiE8K1NQanBXdzVi bU9nOy0NCj4gaXROKU52JCEmaHglP0h2WUZ8Vw0KPiB6a2p2fDhFTWhsWGJVaD9fbzkhZygoITxj eXVCLTVMRCRQY2s+YWZ2b0JMXkcmLSt9YC1nTVo7bDYlb3g/JTMmcjENCj4gekZiJUgpR2RfVGtR VGRoZmQzS3tPPiN1NV5TMTlZPjFES3pfM2U1R19pbGViay0NCj4gY1M5cVRAUD9BZDxwbSYzWmEh Yg0KPiB6bH1DXjtVZUc8YUBQaDhMYExtMXtiUUxmM18mdTdacC0rWDE/M3JIQzJ6a0xucDZBd0k2 NjF2ay0NCj4gVmV2aCNyP0Q7DQo+IHo7RCE0ck5CO3N8X34yVWNmP2dJK0VZITI3dH15TENDNW1r SURZS3NVMHBReVZQJXFkRlAyO2RfXlJSUEIlZUcNCj4gRFMNCj4gelRBdEU5SD9lfT5QeCFybT4p Z2J3WkYzWHpgUEZRbm5eP0puSihJazlFNUNZdldCNlVqPz4rb1IrUDllQCVfDQo+IFhFKw0KPiB6 en4yd0BfaHg/bz0pVFF1eVYjI2V5NGdST28wI30zeGEtR3I2VGp1JVpyPVVvbXZhLQ0KPiAzSnZC RzZnIWhOPmRrLSohDQo+IHp5cW0pUHA5Ky1xUHd3ME47dmRNRC0NCj4gfmFGJWBeVU03SH1TaWJV bns/OHpaZ0Q7clJ8YmBaJEdFbT9FWmhhcFl0eWcNCj4gek9ze1B9Qys3KCpkeTByK1cjX2xgeX4y NHlyRCRUJmZnfF8qTVJDTkkleHJmU3RrRkczTT03Ylo+QE0jKCYNCj4gM3lvTA0KPiB6TE9+aXB3 KHIpQ0g2P2FrN2dgRiFmenhIMWExX245P2RNZGxXX04wbksxN0dgdS1+MHNpUGYhYzl7bXxfM2dT eGkNCj4genZLNilMZ2Q5P1IjOzV1cnJ+M0E/N2s8USghVGIqM1VfYX1yO3BXMXwwfmA8LWE4RUxH eHpyYkpnPSlqeDFzV1VADQo+IHptNzJ8VztAZ0VVVVFWNWt3YCtAPTthfXdYeDR6Nz1IWTltTjBB V1g/ampIO3QmYkp7N2x7UWhqPmoqWihDDQo+IGQlOUENCj4gemhldiYrVSNMVm9RcFV5NCM3YWBl elkxVGRCeFN0UXp3amp+JCkqNkp5cmxpTVVESFp4K0pBZT8pU2k3a0ZDLQ0KPiBzKg0KPiB6T2hX QnlGdmZpPXtjSSZnV303KiFxOSNwOXEyPEljczNHbmVEZ2NZKnFCRnNkWGI+V0s+PVJNNlY7RzMr Uw0KPiBqZjdzDQo+IHpATDl3d0NvX1RvOCVGVk94JkNaeGstDQo+IHtxODd2NykmSyomeEN1QDRE JVNvazYmK3pYaDhBWj58bzFePmRJREhqb0wNCj4gemtFKmxCNksrclAoZk9RSyhnX2JGKkYzRE5j dykpdWR9Q2o7aDRwOz1Gdz1KTWYqRVRwV29MKjRUYjMxNlhpJg0KPiBhNA0KPiB6N0M0RXh8MF9O ZWw3bnNBYWROIUwkVSpwcytiPHMxd15tMW89N18wI3hRX19NY3tjJH4qZGgqMWJUcCpTDQo+IG9n dHpHDQo+IHooNSUwVyo2SlZZdH4jQT5zQUcoMD9XPkVvdmRAO1lwdkM3NG1CSVh+Yml0XjRKXj4x QTxkQztxNDMjX0ZwDQo+IEdhTFANCj4gejs7dj9XVCtQdCpiSGZOe2EzSGMzSz5XT1RnclkjI3Uo dzFKQGM7TiRZbEhVXkVSfl83PVBpRWRAU0dtdw0KPiBjVlglcQ0KPiB6P0lwcWtmYVMzTD1BMCt1 aig5KSNaPnBnS0JzJEohdE1UZnlLNSlaX2RRKWU+OUlJISZGX0d2YndpS3MmUiNLSXINCj4gejxJ WmAqPXpvMmsmaTFVJndNPHE3aklua3NjSHQjYmxVOX03eUVydmQ7aFMmYWU1RlpnOTJZeHxSSyYo R1pZOA0KPiBXRA0KPiB6Z0RIQmxQeChWcTc5TyRXXzMzM2JpNEl+filhT0tkaWQrNHs2dnw4OWBu bUE/Qj4zUENKcVM3Qip8Q3NLVihEDQo+IDlJDQo+IHpNX3ZDZTtsOFgrMjtNbENAMD5sSm4/dGtz MiZgdnQ+Z2lOQWx1YyZlJFJ0fE5obXpFYFU/Xi0NCj4gRyY0eXFXI21nTmENCj4gelIhTVBzayZg UFheS0RXS0MjeX4rUUhafXs/Kl8qWDtZfnEzQ1I7dENJSE9AMzFvQ0Z5PEJjeVM5JmRhQg0KPiA+ ZVIxWg0KPiB6UkBGKDhSVj5pY0U3aitDcU5nZSMoVl9tR2orQVRNPzIjVD8mU3EpRkRge3d7VDJX YVg/Sm9QIyVNZGINCj4gWEFZXyloDQo+IHo5PXJRKnR7cylrVHhrOFVkaTU9SmxPYUhnQEl4WW9z RiRpMHYySGZQQnJ8WEhhT3FwMVdhZjF8eEZmRG9gPnpFUg0KPiB6UDNtQCE7I0dvSXhsWDt9UDw4 ajBEfHVRZ3MlTSpPc1pJcU9KfHZtWF93Zjx2ZHFRc1d3aXQzOUlgJko1YnMNCj4gJVhYDQo+IHpy MDYmaVFwN0xfaz9JKDRPJGVpbWJ+bG9YVFRPeEtPP0x7VClYblkmNzJsflJme01EVWREP0RJYG05 Kk5oUg0KPiBkVHoNCj4gelMke313Pl41fDBlfVZgPEZERXhGc1QrR1o9ekpQanRMSUVqOGY1enc4 I3NyYT1vdHJLe1BzSDs2blNXSWhmcFVmDQo+IHpeWSRONzg0IVB+U1MqP091dG89dEE2WF8hemZU V19kX1paZFVfan1KMShUVXMyM01jSG5MfDgySmBHQU1laA0KPiBZYEENCj4geiFjK3UrR0RmVSNj MnslMEVoREpMaXdPJG1xU01YJGlCcCg8dGo8QyZfQlM7NENEVk9ZU0M+MXlwPjEjI1YNCj4gSklB Vg0KPiB6R3xhREJTeX11c3UoPiUzYnchdiVfVUFMNERwPmVfM2pARU9VPz1JVndSV0syZWo+bERT MmtfY3hqQj1oDQo+IEhFRDspDQo+IHo/JnZZNl8teyhPJEM0NkVYU2F0PygzcThyMm5Dc0FYVVo7 V1BSRjdUPzRsay0NCj4gUXUhVkhWcTFyYVhZb1YkeW5eb1gNCj4gekJBPSk3Y3swXj41aHlaJmAo Y3I8RlJAQVhzbGBKJV49TTZEOSh9Jj5IXno4Nj4haSVpKWNBbll1RzRBKW4lbDwNCj4gNA0KPiB6 N1pnUzl6bHxDUDM1bXpgbm1GfiNCcVU2dE5KPEc7bio5czdkcyFBYzJySFdUSmZRQ0Ffck9AfGpM WH1lYlQNCj4geFlGDQo+IHpHJWohS2FXN3hOUSZWK3p0djxWY0pyTiNjb2oje21PdHFqSzFua2tN ZWMlfEJlTEpPOG0zRmA1UUwoOCpgDQo+IE5GOUUNCj4gejdiOCl2YFpDektwQld9cT8oPTB1PGx7 dllYSW5qTDU7dmFkRFdPQStDND9sQSM1Xk5WYSp0NWtIV311PHdWDQo+IE9WNA0KPiB6NCozT3Jo P1dgNmBNN1gmN3o8ZjQlSCZmRWYkO0s+aGd7dnE3KmhEVnoyWjgwMkVtYmxleXF3PVo0K3FgSmYN Cj4gRjVGDQo+IHo0MkRGUHBiUGtIT1clM0BReU5rb2hMRzVGXnVaU1Eja1VETjJFSGlVNWAwa3Bf Z19RI29OdEtNaA0KPiA2SUc5b2sqKk4NCj4gejVANDtEdEUhI1VLYXNrPyZFdHR2SldwJFRYPXY4 Ul4paHZxZGg0dkZjZ15pM2x0eDZ4dXpeWWdmU1daKmVRXg0KPiA+Sg0KPiB6V09VKFdRVTtBKztf YmhHQGJad3RVRlFpSj9uZS0NCj4gRGNSbHUmKjlSU1ZQQFFLJFErbDJGTWtKfl9oKWF5fGhQRElB DQo+IHpedFVYI0xCXkFZPmc4NzspNSlWQFBTdlV3QW5DT1BUKjd4LSlSfHdLVVZiPHU9ZHBzQlEk dF41aTtlLQ0KPiArPUhedmENCj4genAkfURPYmBsY3U7SUNEY0VJeHp6UDAqZng2T0RGKjdBbT17 bHVeeCRWaUFrUkQ2ayF3bUVMeDBWRnF+JkpIKnQNCj4gdA0KPiB6bXF8Zzs4KmcjfGJtbWtPY1Jm JTdSOyFaODJYeERHdEVpcEFRPD9odFNoWUgjbCFMOShBNVZ9VE5JREEkIW9qDQo+IFZtDQo+IHpx Ql5MMXRrTkZOYFFHUnI3TCNXJD5WQFBKVW5eNFZQRSo3azR3NHdGeWcwM3l4WSVmVmFEYXU5OFJU IQ0KPiBrd3NzPTANCj4gejtwQC0NCj4gQyVueyZebUxMUUBPfHlFJWZVJn1IKz9iK01TKUE+WG11 WGE0ciE0c0FXXmJWZnl8Xz9wVyQjdVY/Zg0KPiAkXmkNCj4gelhneDNwRn1RJXF2eTNNUHZQOFRZ OSU8VFowOUhRcEVxQm0tDQo+IFl5VF9FeDNYNmdZUFU5fkJwXyt5TzJRcn4zM2BYMQ0KPiB6UkBr bl97cUU4ZFItDQo+IEJUdEpCVWNNSklmZ3lvKnFzNklpNVlhPGBXPkVVYUB+QEM0dmd8YzBZfHs4 cFJrWUQhUjZDDQo+IHpAVyVkSjRYNXtOa3xtTX5aVnBHMz5geVA+TDNeS3xjNCtMKSZaKU11Uj1A LQ0KPiA5NDxLP0VAMkZ+Wm57bVNsNj5sTn0NCj4gel48bUdtbV9rKVEldzZwd2JiN04qYHdOVFZG NVo7cGF3b2VfVHBBfktDcjwmZmNNKkNLMjU+Tyt1DQo+IDU4NSpiOFkoQA0KPiB6K1VpV0F5PnFp RTlINXc7NTJDfjhlbkk8I0gzI2FUMTVVO2M/U358ZDIhbl9gU2FGUUVAdXBYdER2XiMtDQo+IEJp K3RUDQo+IHpJbnFTQikkIUM7SC0NCj4gU2ZGZHJubWoxdXI3KTdeX3xfNSt5Z01pZiN8RFhWMHh9 bSZINVJiYG0qaGtQVldraSVEKnkNCj4gekhCRDdoWT9+Qj5VRlYxPig8VjhncGtYNCNscTdWPktl Yk59cFJhZW44dmhYZno5JEgoWU1wTnwrdHpEKw0KPiB1Tzg5MA0KPiB6dEpRVjkmZ0tEUG99KHwo aTA4R3U5ai0NCj4gPUNmdEw1QWRsflR3eD4qfEBVQjh+MVlQMHFeWHZeKTU0fmI4Ql42V0JQDQo+ IHp2NClOKExwYWxJent1RktAT3lEcVEodWRGa1ZLM0o7dGxze2FeSyEqNkEpdU8wJiR8WVpeRGFw XzAzaEN5am4jNw0KPiB6JmwrQ1pNIVYjckpGLW4xR2BHe01ZfnpNcCh9cngqV307aH04cV4ofWEt DQo+ICtWbyY5b2BiIVkwenl3dVUpMUhAdCYpDQo+IHoqWHxfTlhFI2NBMHwmZ1hvSDZXOF57T2VR SCN6fWM7KFQqWGBFU1pxSnQwbEt2aUtGQVgtDQo+IHAhfkJYRnFhO1QoXl4NCj4gemRgN2BaYDRg ZDA3I3VSYHJOY158REErVXhrd2BldzdEZlE8N3c2UzBYX2ZvTCNpSDx6SztQKXBRYD9oWC0NCj4g PU92VQ0KPiB6bCZzP2xjLUVCYWkpZmxxKHw7d1VgZ0EpWm1pVUp+aVBaN0g9ak5ib2UpVDlUNCQp aGlZa0o1dDxQbTAmdWpadUYNCj4gem9gWlhsbXUwI2RLTjZufChkKHREU0JeVWZsUTx+RnhUNnNr WFBSTTN2MVRuR1hpNn53czBWfDI4N2A+fGo1bg0KPiBqew0KPiB6KlNvdGYzUl8rTFZ7QHBvcCMz NUxwTEchYl9yRWcjMlZwQV9xbmNrK1peXmJgbHArV2p2QUokMHE4ald9JVkNCj4gMnElDQo+IHpK M0RtaiFKb2lEa1c0IURQUjlmeUdrU35BJGN4NkJgfnxmJlVOITw/dlhMPlZJPC0NCj4gKmFFRHsr dDtHOCMhcCo1KEANCj4gejskPnJSdiU1VGNiMFY2dVotDQo+IEZmRTNPRWJwZHBRdXJ5fjkqUHEq cmdZMHdyelAhIUhqTlcoeWx3KTwoVCRyNG9NNA0KPiB6QkFQR1p2WT4/THFjPD0lRjVpa1okMCNl IXJrRDdlPEo4dHJ6Yj9KM3U4THNhJW1ycDhRbTc3ZlgmYUR4ayFiDQo+IEVtDQo+IHpIc1VqOF9Z JlFBd0VOcGVGbkNtVFJJPlUrJEdifWl5Z01ySFoyPHp5cUJtPj00LQ0KPiBrK0tkVUhzWDVCbDZX QEVuM1gNCj4gelRWbmBPJH5zQ1pVUzcmTTUjQDdra25eJDg4KkMpeDQyMnUpUlRVSXdhIVcpITsk Qkp0KmlSOXIwUWt0OXF1DQo+IG1UTA0KPiB6cnc/aiRETlohTEdBWG40eVV9Wm5idDhgI2pNb2VR NXE+ajBnJFVmOVlze0RsKkM+WGN3NG5VRnZHNVUqXg0KPiBNa1J0DQo+IHpibmJgXksxVU47Nnx2 IT82aiE5R2lCKCpnbnBQeXBUK2wkKW1oTzE/ZnAle2VQdGI9TT9eQGlJTmgpX1R2Pz4NCj4gUTMN Cj4gejBGbUxLXjhnKXo5UGZGa00yPkBLNSVxVzNpLQ0KPiAqJnJ1bGtreXBBSj0zd0FEYWpwKmdw aSUka0h8WmFyWDxefj4yMg0KPiB6Tmk+O2NfPjM2bCNfPVU9azdtQUM8S3ZgUTN4NTRPdVpENmNw Slo0Vjx3WDw9MHZPcCZxJk1wWEJ9OEINCj4gcUR5QSRpDQo+IHpOVEU/Uk9wOCRwQzduajtYY1hq ZSpANUdocFpuV3xGWF5tVXVMZzJsP0NvMWEzen5nVF9ubzlGbi0NCj4gdXdwYG1HbV8NCj4gejFT emFaNVI7clIyJk56PkdrSkJYcmgjQUAwJn49K19zI0NPZyRZOS0NCj4gK3V6QW9sa0xQVzkqRHtJ ZnpYT1d5I0BqKw0KPiB6UDZ2fk4wYTxXNUNifjhkNDZRZWtXJUkkcCZFe3BHS1NAJnohZHZkaTI3 M0JiISEjJjRuYkZ9ZkxGdmlODQo+IEEkbGxiDQo+IHpLdiM8fUtwY2hgQnMwSEpnI3MqJmNSeV9e JEtvLQ0KPiAqeTZeRWEpR3dHM0F3YygyWl9gSjUje3RsM012RFJDZkVxaD8NCj4gejNDJWlxdl9Y YW1SVmk1UzBTfT9AazYwdDVmbTthYWYhekVfJGgmP2xEfk9tJlN4X0A7TUMkRlhmI0wlcWwNCj4g PFVUSg0KPiB6d2p7Yj5LTj9YbEIyeSpfXnNnN3FMaDd4T2o2YGU3UEphcjx6alBueFghVjE7Mjdk OTM9Nk52TjBnaihaPiRDLTANCj4gem9AMGdBZTlhKUwoYFJ4MjE+SXxBPDNuQnQ/TENrM3QtVHZT S0d4cC0NCj4gdkcob3srZ2tAPVNiTDltUzZAJmZZQ21+TQ0KPiB6R3tVKmY/ciE9eWVJS09VeHE8 O0ZaYChOQm9uZy1kSVd1Mm00fGh9U3ghKUByQkp6UmxsfUptSit5TmluKUQ2OGUNCj4genFGbz5R U31AemAlaHN8I0ZqQ1o0Qjs3QX5EJFNlOTQ1Mn4pSyZzSXs2aEx6NiFNZWt4VX5hbUBnfDkoKEkz Pw0KPiA1Xw0KPiB6cm5zdzA9bmNTeDQzJCM5MmVLN2pqUj1vYEUtDQo+IDVkZXs9I2BvVUA+Q0RG X314QkhJIVdRNChrbypfdW9KaXBfPHR0DQo+IHp5cVFuWWhefXh4YlR5Jnx5M2IxWWJHPFNoK1Vv SGtfYW5WOXQ1Syo2byNlaDxOKkN4dmI/eXNNIWNhRmwhDQo+ICkycWkNCj4gekhzSE5yMUdvbWZC YlFYVHJCUS0NCj4gcmNhQHpQU25VPUAyP0FzSWhnX3B4OElDZkZjVTw5U00oSFRYbChVb0U8V2pu dQ0KPiB6eV4+YnZZTkNYMnFtMVlzbFRDXnA/ZiRZTFZ1cFNxRWg5fHwzX1NoV3YySGhDZHtefUln ZE8lZzBJTTZUIw0KPiBiekA+DQo+IHp8SmhVdjlsWm9LeyRQQiQ+bU0wa3FIJntVc0V6MiZldnRS RyY2PDh8RXt6bnlobDl1WEk3NVd4Wn5BQS0NCj4gTjl6WHgNCj4genhUQSFGVztKWDdeeEFPPCVp c09hbXRTN15WZ0Vxa1ZTai0NCj4gQjFPSFV7PCpPbE9qVWhzO2ByflVTTTk/VUt5cj9zIw0KPiB6 bFBZQGMxMSMrXmo8UERTO1R0YXhKPkt8TnJkQmU5Q3ojdGNfU3d0fjtseW1KdWk8YyhfTjRrd2t9 YntUYVAlbQ0KPiBuDQo+IHprNCRxJllLM0tIJFI3d0xINnNiKG8oREE2QWkhbDdYQyU7cUxaMkRx WURQNjwqUWx+a0hOP2hEOVJkbSFPDQo+ICNkRCMNCj4gemNIWjlqKkR+Z2c9c0RDcmVQNDlgYSFh VHYjZ0FYa1VmdTgzcEM9KHwzbWooMz0lanUkcnQwU0FhYktNM1JzaA0KPiAxTg0KPiB6a3pGZSZv cXAhN2VTXiZ7QzgjJUw1MSpJI0F1MDZXS0sqcVdhU2tsWFlFVnNGY0lBNjc3ajh6Kz09QE05DQo+ IFJ5c2VGDQo+IHpRNUF9dip4dCNoZ31nVGRCWl5wNj90O29ISH0hYmRxLQ0KPiArX2JZQ3tGJTtO eCVad3lGbTBReWFDPGs1I056Tn0tLVkNCj4geiUkdTJYcWg3V2gyO300RzV+YFhUYSNxMkNQIyFX akpQP34zOXRoPjErV2FQOG02JUZeOyY4d305O15+elkNCj4gKDtVaQ0KPiB6aHxudmlPTFlpXyp1 YztUYFB+ME52fVR1SmhIZ19RUiVhM0szOTdZZSp6bz5qVGRwdE5TOUs5SFR5emx8K1ooSWYNCj4g emhCfDZCMm1Ie1due3hIYkx6aTRTKVdlQ2d8TlMxYHdkSVBkcE8+d3RXQXIxTWZ3WmB4TUsyRyU9 ZCMNCj4gT3BLMn1ybQ0KPiB6UGllNzM/SkRsTVlsdmV6el5CRmkzdG0yRTZCJHc4V1BGUEo2OXlo e3s5OXRsQXpDcU51Uj9BcmBPcmlpX2xMeioNCj4gem1RT1cpRl99bUFhYVZyWXlHVkkwd3JQTWg7 bSE1c1lyO1lNT15APE5PbHJRTW5WeWswMitLYEpQO0INCj4gTmtGSHlJaw0KPiB6enZYU1FOMlMr VD44VFVhRHxTX005NENWazxsPnlaO1Fjc3omK0AmK14pe3dwNUUmZHxNJV5eMV5QYg0KPiBRKFlG a34hDQo+IHoxYWt6aTleNWFlais1K3NLZU5pIURxc3xidlowQ2Q/VndOcWBuYGh2VktDQ1VnbkZe XilZVThja0AlfV8zZQ0KPiBQMyUNCj4gel92YUYzeXdTMVFKeiVwPCNgKyVsNlBSVE4za1Fjb3Jk UmEme0VqNiojKXpsKChufEZDUihKQ3g7bCskVllqbDBjDQo+IHpma0NRUStpZGV4RGxkRmtlcD5T c01BTTsjc25aU1hIclcjOzVCbnVLMC0NCj4gS09PbXJ6MGpKM0NSITN3SyowcyhPTzQNCj4gejFS WXZSdEwmdVF2NXBpVFdONmgqZVk5UU1ZfT1ReTVgJXZ2Zkc3WXpvKmkldzN7VVgkM3E4cSU+VlBU DQo+IDB1YUg7QQ0KPiB6UU9iZG5QTERaWD1AflZ4KXI7ZVVoUzdGJDRxTyZoYlVYYFdfJWV+PjhR TFRubjtle1V7Z0xJSTxPTyFYDQo+IFBpS2lqDQo+IHpgNmxQP1Y1PnRaPFRaQlY3NWpDQkBYYHls N1pnOUI5YWIwanFjPllFMCpeYnZvYTQ/b3owNn1za25Jb1hxUXZlNA0KPiB6ciZ0UCVuKCtINzY7 Kil+Sj0yPVBGfiQlUU5YZjJsS2FFekF5UEtAWWUraTNoRWliWkhNTHpuYlNka3ZtNw0KPiBwY1Vx DQo+IHp8S3k7Xi1DPmNScG13PiYtDQo+IEY2dGJQPFQrISNPSlJ8KmVQbmhaX0IpQUQpPXNlVHk5 QnI2XypqUnBQPW08OEhmSGENCj4gel9UQnxOJUlleDFwSXBFSjF9MCQ4czlkNTNNRkI7QDNwV1h2 UU01KnJORUVOMk1MVWhDNmxhdUwhb144Uw0KPiBoRzhzaQ0KPiB6TmxQdE90ZTRValRlVEZpQl5y PGUhT317VllUQ3dRKVlSXkFhKm5haERGZStSLXx4NWYtDQo+IHRXQVYxaEw8RHpVVFM9DQo+IHom K3x7N19ucjZNQDdqQj56NGxzYnVmNnRkS2ZAbkRJTjxrfXQwKXdRSHJXOW42SUpNV0BeNkRpWjZm NFYwDQo+ICRKR3YNCj4gemBMPlhsb0I7SSVwUU1pK0EoNStUckshKmx6Xm1nYlFfOyE7alEyailT SjBjNmJ8JX5RM0crU0JGaUgrKzIlJjwhDQo+IHpre0M5K3BTOEA3Nm1NUHV3PCk/Ymd9UUduTlBg UHRXVFJRZEw+Z2JAdW1Ha0EkaWMyY3Fra1B0SGxhWg0KPiBvMmhQZEoNCj4gem47Y3tLI1QoSF9Z VUAjNFBCQkEmaU0xIXdHfH4pbnI+KHY5NkVoZzUlTStmY0pRR35DcnkreW1VJDZ7dw0KPiA7YUdg Kg0KPiB6Y3t0ckc1PmVGMnEmR0U+PzJgVWolRWNwSnc3SHlAbkcwWWhzSz5eO2E/eX1GN3ZZaXBY UXkrKThSdXBhaUstDQo+IFg8DQo+IHo8NHh1I2hlNUUjdy0yclZoSW9qNVptSmwxeiV9aUt7Qik+ bVpiUE5Ya2gjPy0NCj4gWD9HRjdQc2I5R0dLRD02eiVtIzsNCj4gelhsR2M4YW0qUkZJPSQtDQo+ IHI/ckxfbkZrUCNNaThqMHB5NHlOMFk8Jm09NmlUU1UyTF9RM19fVjFWbT9wZ25sPi1eYA0KPiB6 TjcjcEQ7N2lDNU82YDA7fENFX35CUUl+a3gyKXdqUW1JWENLb0hkPiQycTN8MFhFS1ZHXkcySnJ5 QHY3KmANCj4gXipPDQo+IHpnaiRUbGh4TkJlXj9weGlKbWNPZiQ7SDA4QUlTbVF6cy1rM0RfWiR3 N3szSHM2WHlhSTZieiNobGBSWkUwdH40Sg0KPiB6aDlSOHFyeE1OKyp7JV5QVmJCVDg0aGBxZCE8 PEAkbCpgcm5rQy0NCj4gPGR3UHpyeW9rej9GVFV9KnBPfjZ8aElMeF5eDQo+IHpYdSNOfUNyN0M3 Sz42KFRvUXN6PXJRVyh5dzhAQTA2KitwVXZZNWomTDs/ZTB4bikmM2FUKCszZ2V4TGRDZw0KPiBW VF4NCj4genMzOEVYdDkrYlBqUG0ySE9nKWM3TD9YTTM+PjteMDxzUikrR3J5bERXb2t+JkxiSTNe Sl8pMSRYZzhydytMVA0KPiBZZQ0KPiB6OTg4e185RW05d3t8KDw1M14odGYxMHdUbj5PWmlNM15K ZWU2MUo1dUp0Uj0tDQo+IHg3PGl5eENuQUxZdVFsVFp7fmF3DQo+IHpyfnljRlJ9IXJpbG4rZ2xX THxPeitiR29KMmpadm5fREIlKyh2M0laZTh7eyhgJERDJHVzMnJpZHVpNCRacilhaQ0KPiB6YE85 bjA4clpoeGd3V1hvOCQpTUNfR0NyJlc9O0w7bEt4WGFkPy0NCj4gOG5xcDVyR15jdFNfT2w9Smhm PXdSJntpSjxVDQo+IHpUU0VoMGhQLXchJDtSbmVKOCF2dHt5ckpSclEkR3VKPl9LdHJmI1BQeHFE Q1BxSWBIa2hjYX5yRG9iV3xpT2xSfg0KPiB6SmxEQzxKPF59ISpoZEU9R3A1VlElYD5YOWc0MCl7 TykpPWMmJEA+JSlzXyY+YTMmRD5BKD9yR0dsUilRdj0NCj4gbypQDQo+IHp4OGtVdChXNVFWS3RV NExRYkJoJG9wdWowdSkyX05XYGRnSGY8SXsrM0pGKUo7alUkJVYzaSNqWXwhKTk0bl4qIQ0KPiB6 Ulg1SGw9e0RKOHBFMCl4allVeiRJbllKYVMxT0EyNmxtelI/IzBZU1ZBNzVPMzNkLUVpJFk2aVY4 azZZTFIkIykNCj4gelRZZjJWRnY9KWFoe1Z+QkkwRVp2Rk9JR2orNEtSY1o4JkA2YG5QNkxiOSN+ NmFeQENEJChBKTgoYjVzTl5nWg0KPiBWJA0KPiB6YlBvQEsrIylXcGRgMXw5PTR6YnwtZTluKT5H fTtsaj5PcVdSI09NZEZiZVIzUTNCS2lOWmYtDQo+IDhWI04oNDxeOG8pDQo+IHpwZCN7fVIkN1Na NDZMfEJFQUlHfndjTk4oPDx6T18wPV4/blBvZmR1PENUcDw3aSQ2d0w0RzY9Rj9mUHdZNg0KPiBg UEwNCj4gejZPY2BvSmJTUV8lX2cpe1JpNUMtDQo+IE5GaTl2PVdPK1lIYUR6STFiKD9VUXIoI1Nm WFFjYDxnKjkhUH0lV3FtS31uZA0KPiB6RzF+OW5IV2MmUFYxVklpUDhPejFWUmxQQ25yIWBQK09C MGRFZ2JKfkhVblVHKjBpUC0NCj4gcmVHJV4hUT9NPkEhTDBwDQo+IHpTPGh4a1IhO2x7X2p1X1ol biMjMFlxSzJDJkAzNVlfNmY0b0RNRSklej5GNSlwKzhPZ0oraUZDeUdFZnJZdVkNCj4gWkcNCj4g ejwkNUhERUc2K2UrX213bG8yViplUVJMWUJEcElZcWVaQnkyZUNjci0NCj4geHBKUkl1QyYkdmps VCZlVj9TYHd0azktJQ0KPiB6I04hVD4xcV9EeWwmdzRuUVl2UjRRaVdYJGxiT0M+ZzhgWj5pdmcj ekItDQo+IG1YQHswMjlUcj1BRiFpRCEkOXVNU0srDQo+IHpMKG9tUSR2bkJ0Z1ZTNXdzSjNXUyto a3wjVCUyY01RUWdpQyU2Nm14UkpZcD5OXmJIeE9waDtaa3ZADQo+IGY7aXByKW4NCj4gempjNGR8 dzBAOEBfRWIye3RgKk9EYz1teW9SOEpVc1Z4S18wKik1JHpuWGIzVEpPfHAkVX5CMD9Tb3JHKDk7 DQo+IDNZdw0KPiB6ZGw3OW9ZKFF4ajtBQDU4PE1mVXwzYXAwI1JoflZHQ3AwMCh5XiNEZjM8d3ky b1V4Sjcwdll7MW8mTlRDWA0KPiB9aHwwDQo+IHpGMD8+KG8rb149blhiVVZ2biMyYlROMyU7UCot DQo+IE97XlRlcCY/aWE8ZnBCWUBoaGl0WDxFVjAzPztEQiN0c0oxZykNCj4gelItMStsNzZWKSZ0 Q0wxYTQ0aGw0RSZGITA2P2xNczZIa0lLVHFfPUl8N0M+RXZlOyhYRkVkTiZ6a0oxPXJIMGc1DQo+ IHpHT35KVnF7O0gyJjJwQXhjYCRKdnZpdWJUciZaPmkpK207RUQ9Z3JSJnEqbX4qKHw+JF5RSDFf RFcoNSVeDQo+IG1KRCMNCj4gekhLZmp4azx+PC1DRHpaZSVoYXhaaGVhN000LQ0KPiAmcnltK30y U2BIdWJ6PXMkdCl8QmlReih6PlJDP1lOSTNoMCNmTA0KPiB6VEg0ajQ1YFRZa0liVUFqaXc5JHpV Xlk3KW52Q2JJMnhoQGk7bEtrVnViZ2l5bll4O3FWdjRqZyptbnQhUiNUaXANCj4gej48dShvT3A3 Rl5DTFkjfWdCbyFUe0JFVyZMXyZBRlNXNUdnP281T1dHRWtxam0+S3ohMTw4fFdnUyFnDQo+IEZe UVRjTA0KPiB6OG9ZKWRpKjdKJnJ0eCpTZEwmeEhNK0xXVW1ITjBUSUZBcTZEIVY5eT5zbWJGXlZF SFh1S0xpQiFENF8qDQo+IFdWUHV1DQo+IHo5aXlvYEYmOWxaQ2BHVE5jcF5maHQ3Z2NJbUBZa28q e0NZP3J7TERDWXo/Mk5QSVF1dkFidmpNMlVeRGsrR2xqDQo+IEgNCj4gekBPWU11M2k+cDlfZ003 NGMlfT16QWMzSWooMGkqO0tnUUhSR2B0ZFYzQ2leZ0RjMiQhQG16T0FYYmItDQo+IDw8eXF6bw0K PiB6SE93bDBhYFdNVVhJajU0eFFGdiZnWldtalBOcVMhSk5HSFJNUH40aG1oPzRJaDhPQG5IIXxh UzI4DQo+IEIqbnp4JTNlDQo+IHpSZUdXZGpKQVlnWHw2eStuKXRUQng1NTFZbFZDREtSeHZ+Ozdy ciQzUUBqUTFoLQ0KPiBgTE11NmtNOyVSRzBNVkszNzwNCj4gejAtWF5YUDh7filpM3YjTjtZKSVx VytkPU1sS3tWMzcpZ01CeWVBcFRiLQ0KPiBQR1EkfHh0IXV7JHtGTylNY1M3TG8tQw0KPiB6VjUh eSNDUWRKYjB2PTA8TWBgT2coYVVoQkpiLQ0KPiB0eDxpdHpyVSNySWtRX2syUj49KE05UT9jQU5X JE05OG5Ic3o/DQo+IHpBamcrRWhwQUtNRm1aZzVuc0BwLQ0KPiBFUUJAU24xPmluI1koPU84X2l2 bGUweDxqUnlsVWhlQmk/MU0/fXQmMyRXI3kNCj4gekM+ODJnN2NwJlh4YEQkMkRXUEswTndGUENM RE9ebkRRZSpiKz16KDNtWXJ6Jj44aW4lb2pCLQ0KPiAmJGFLT0VuSEswPQ0KPiB6SGRTIVVVV0ct DQo+IEIkYk5pfnkpMlZHZk1HZFFST0pmcWwmTDhoMjxUZHFReFNDZTEzRylzVnNGVkJhMkR0b0BT NGlODQo+IHo9JF9PXmF1bHNVa29CNU5naTtPIWN0QHJgJj5LfHFKMGRYfSNqdTNIQEYyJSR1bkdx MzNlM3lZR1daYm0NCj4gI0N6SHANCj4gent1KWpSaGgyNiRCVD4rYF8kcHt7Vyt4NWxScTUhb0Fr X0ModjA9cG91eXh7SmhHVjtSVHhFTXNyUDM+b0ZkdG8NCj4gPA0KPiB6RFNGaFFQMHF9Rl5HdENu RCk+eTdOZV9aWT9aU0A8IUwwNys0aThkZU1vPlEzO1VyJW1sWjlCQFY+dj14DQo+IGNfQDNDDQo+ IHo0cyomNTFHdlgqVThDUjFoNFNwI1h9PUM7e0x9OWZuZCU5Qkt8M2U5Vm5iMGxaPCtFdkNgdUZO NGAkcFQ2cmMNCj4gVUMNCj4gel9fOEMxWEpEPXY9Z3krYjtEMDZHVGwqJX5ZcngwVGtDTGBDbTVx KyMpOSFjZDVoM2xxP1hRX300ZGZ5QXlPfUk7DQo+IHpncTRlR00+YiQyYlVgfUJpbEZhXzxWdD1S e0kjcTBGbk5PdXhobUEmYWktDQo+IEVaNU5aMSQxRkh0OCVrdFQpJmxOTDsNCj4geiFoI2F8WXNq YHBwVk9RayNwdTQmSldRQU47QkhzaUZzVlMlYCpneHxnKDlHWDFpQSM9QE5XKGBPI1VUVQ0KPiBx OFdVbA0KPiB6NlZ5Q2B1fjYqU3YlK3d9OGI2V2FAUC0NCj4gVTlLfUleSFhkUWByUGBebDglTjR8 cTZ2fUE3TXJYRUQhNDAzSDYoPHZiDQo+IHpMekFaXzNvPGByRmxkUFcqMytMOylnN0ZkOSlGNm83 bnxOfVN2PTZXQEZ+UWhNOFcoenNOUkopKmk7UnpGIzcNCj4gTE0NCj4geiZBdXAoV15eMj9ge3x2 NUt+bkcmWCg7WHBFJnZoRzBBXnxQIVd0eGlETio7SFYpWiZxVyheckVCaDQ2RA0KPiBKJmBaPA0K PiB6WDY5eV51P3dQY0BmVD45PmB2U2N3Si0NCj4gQkJoVTE+UzM+fk5acVU5TG01VktoOVc3R3NC YWVLNn5ETkB9O3RqY35ZDQo+IHpTbHd4e3goQVl6Uj5YdVVRU1Y/NyM5NTF+QXZJUXZ0T2kpRDhj NykhUit+VmFTZkRZe0Imcit9UzMyd25MUz1fDQo+IE8NCj4gellxYnM0RFc/b3x1b1EkWnRLdmUr d2hIeV8+eD57bFF3SVEhQzY9N3soamxGd2peckN5en1GVEBPfjUzYyh0LQ0KPiAkMQ0KPiB6MT4r TDBVYTJOV0Z0Tnl5YWhSO3dJfXVWVVQrRD5aUkdYfTQ7dyVBPkR9TnZnTFRfWTs5SjwydVJ8MHMl DQo+IEB1S3JNDQo+IHpXUndyPE95PGh2ZCt+ciZeMV8jRXE8PiZqIUdiTGxnT011ezhBcjtAM3kq TmgrWHU0cncwMks9Xkg3Kw0KPiB9bX4/dkENCj4gej5oIWRjKH5ZNlE4KzVUfUV5Sjt+NyN1aSFe S3phI2lXMShqWT5OSyRAUVI4MCg7ZHIoPnJXNF96fVljZSReQEgNCj4gbg0KPiB6WXdgcXNqaDFl V1JjPylaZDxvOCskNTNuI2RVO3dQZUBTKXtEPE1IbWJXJVhnMUpmIU0pK2ghSk9iZSoNCj4gKzIt cFVLDQo+IHorbXk9b2h5MWI5MU9BX3Y9STR+UU1AdFdJTDFoN3Rab3syRGshJnZRPntWbGxiMUEp JFdkKW45Z1cwX0ENCj4gI2xjWSYNCj4gem4qTmxTTzNOSGNFWW1GRD9qVj97MC0mdCQ0Tk0qajc2 JE9GYjxCNXEyLQ0KPiAqJCsrMkkpb0sleSVpb1VBVXc7TDJYbA0KPiB6OFRoT3R1QD9FUThAUU8q bilnPTlGY3hET2RCclM0NCVgP2h3QmBwNkhEazAzQ0IkQFM3YzsrZ0M3QnMNCj4gPm40Sit+DQo+ IHpRUDg0KUdXODAoV3tSaEVMeVRPU01TSUE0PXFxQDEoe3tEaVJ9YnIkcU9VU09MdG93QUReO0M7 MkF0JFN4DQo+IGZpNTYNCj4genxNbyloWkgpP1VERz0jajcraVhtPSVqbGc+NWxaSHNlO2BtcWg3 VkxhU3xGQnY+MkV4PTNEanRCY09Ib0VWVA0KPiBvfA0KPiB6enQ9Tj5nb297Z2x7UVU8b0kqNnEy WDJQKCEmQWVQU2NXYTF1JiQ7XiNVejVSRGE9eXlNUDRzTmxGPjJ+O1gNCj4gKns8DQo+IHpOQ2Bl KlM/dHlMdzZ8RT5GZVdnTV5IeWFyMXVIbzZHJllnPGswT2ljKXhQOEBDU1lIbzQkeFM8MyQxNUEN Cj4gYTE7LWENCj4gekhzVUFGdEk1WWBiMlEjRW9xPnB0O1JkbmNpJmUxPyNBeiY/NT1leXh0NFo9 d2oyOH1XY2EqRCYqUU09NSUNCj4gYThGdA0KPiB6Mz4zYjJrTTxXQmRVPXRDemIyY1FmRW94S0lC dCZqdEVVSDNWXns7aE9geEV5MU87WUpTQXM1Vi0NCj4gWihCO2ZsQz9HDQo+IHoqWHpudFFMTnk+ VFk7PkhNd3V8ajNSNXZhOXJfSkhLYHo2OU5BTEM1bkhzemdveWlBaTlmZU5Fe2I9WWtBaWUNCj4g VzINCj4gem1mbStuSntaMDhnWj9AQmFhbk8rblglJVkzJiRoeDdoKlBjdylrKjNPOHp9NTckQEF5 clVSe0tRVzENCj4gQkRQY3FlKA0KPiB6UUorYUhvajEjfFM/dCtkRDQhZSQ4bCMjfiYqXyFnP1hY U1lAb3h2fXB5ZiNwJk0qVjhTUUJTcXY4WDxyWHINCj4gPTIqDQo+IHo+Tk4+eilsMCtFOWFAbkcm ZXM1O3BfKndZKiY1QjluQ2tZMnxLRW0+dj1gb1I8SThMO1VUSCpROTxPZncNCj4gYCFpejYNCj4g emZzWXwjPSpYaisyUTRacXhWI30/LTAzTyk5dEs3QGktDQo+IHlEN1o2SGY0MkRoaFU+Pk5ga3Ul eXN5bUs1c3Aoako5SA0KPiB6MDthfE9iKHBeYk9QNEBjY2opPyNeQGVUOFU0WHs7MiRZK3FUWmFG aD5scCMyVVdKfVN5Nk4/WXFoejZ2dGd0aQ0KPiA3DQo+IHo4ZVFwfHs5bChndEZRZGEpYUB8MUdQ OEJYaHdFenFpVTk1JmZicGdPcV4wVFF5ayZURk9rc2ZKdkVVYmA7bCoNCj4gXmUNCj4gelljN3Vr S1V1PzFkSnxJLQ0KPiBwNGIpSldwbGBjPz5Tbk5uWktjQEBLczs9KiklT31gUmgpOXVjdXd0JEtG fDUjWmA5Zw0KPiB6b2xQISp2YSp3Pyk5fFF8XlFqISZfMzxkO2spQ04zMVJubElEc0lrMClqND4l V1pgT1luM1NufnBRTWQ9UiYNCj4gJS1mDQo+IHpGNklPPDhFRDRZTkd2NkAlVEdhN05VejRJNkhN YXo8Tj5rS2xUPHV1d1kreTBiKDwqSSUoYnFeRVUpKDUNCj4gJXRBay0NCj4gejN6NT9XMjNQbHVL Tj15LQ0KPiBFQXdKdTc/Y2JicE0+cn0yPE4zXkxPZkB6PCg4fHpOc2EySU0obXdjc0shNipWekU3 OQ0KPiB6O1JPQ3YxNVhIMUR1e1pyUSFlekdYRz5rK29GcG48JmdiSFdBOSF9amxTQUtXNy0NCj4g Nms+Z29PdldrQntQWXktKnphDQo+IHpjfkp+NHY3fHBQaWYocjZvOE4/am17KlVidkdBWkxacXNC K19jdWxVO2F9dzlBSSRhZCFhN3RlRWJxNnlsa0EkfA0KPiB6aiF2aVZ0YmN9WWtvQjc3K3MwbT12 cnlTIW1CRyl+M0VRfnolUFV9e0tLTlBWQmw8PUNgU1lnRl8wQHN7MWMhXg0KPiBeDQo+IHpIUjRZ RzdUQDFzUEohVENAVnxsWWttS1YhJmY8SCNeb2cmKTBOKlFtO3xzUT5lcGwwfGxTJHZBe3wkVV4y DQo+IGY+ZCsNCj4gei0NCj4gX007c0BmOTNeKVd0KzklfEQhdnsxIVRgOFQldTMrRyg1QDFYNDFT dnFOe0tySUdGQDJXckFFSWVufkhRQg0KPiBJcmYNCj4gem0yTTBBaUVTQUIqVzJxdmpedWBCcC0N Cj4gc2VrdFNxaWRjWW4jb19KWjt5Q3AwUDs5MztsPTxsc2IqM0xXbHNnV1l4Jg0KPiB6SGNYbiRI NEVAUFRxJistSX09KmJIYzFXd0dNfTYrJGgtDQo+ICFkV01Tc0NQKUVqJHpNNG9vbyp3cjdRIzBt byomIUcyDQo+IHpPTT1TTztBVnxWS1F9NWVSNXdGP1dxXy0NCj4gZnRzI1QhMFVsJnpeO0U3UFpe bUdtKXZSZ2trK2RiY2ZHKiRmO0NwZHkNCj4geldHUmR1RVpPNnRTeGhfbDRmP1daTk1XckpYMFhJ Kk8qRkJIN3pRO0htcTNOUEc1Jn4raUBNTk4+DQo+IF9SVmk4S00xeg0KPiB6b2Bhbn41V0tCcT10 JVUrTFlTKzc3OD4zcWJlVDlFMy0NCj4gJkcrYkY/NW1MMUdLYWtEO2V6Nn1wKlNKS3J9emdQTnc0 DQo+IHpgZS0NCj4gMz8obVJHam5mTjBEKl88cCs0bmpZKllmN2IkbFh3JEJ1bzd7WTY3WnFaJmhh d0wraHx2RjFeUXJlbX5rTzYNCj4genRYUlNfQ3VtODF1cz4hdG0kXzlZNjhXNWRuMCFiMi0NCj4g YmlYPHdmTChDIWU7X3goWWM+bSY1a2xTWmVyclV6eXJYXw0KPiB6eVhyX0R4LXRJdlp7JDdUb3Z7 RUdrZEY3SjFpXiRvVCphXjxqNT5qejZDQyV9a3ZrbWRyKT5nOSghbChoaCZqcEoNCj4gempiNDth YFhNS1EjU0dJKV5Sc0xnJThYYHc8TiNtb0IrIXV0PTRhVlFRUjh0cG1fUjJ6IXM0LQ0KPiAqS18r RTlDVVRyKQ0KPiB6SzV+RyRxU0YqNDRiOUpxS2didjBhcllwYkAtDQo+IDdKP0pyKjt9QiNwPCFX KyQxdVZSbVhmSUZjO3xTPER+PGpLez4rDQo+IHpvTWIrN2ZXUEQ8KDI8N2I9Un5QWj01QVFNSV8w VE8wXklNIUNYTDVMcF81RCo+YClFT3VBU2c8R2xNaQ0KPiA5e0Y+bCkNCj4gemkpNCNjaFl2V3c/ QDFXQjsha080ZW9wK0dkO3ZXUVZnMmZxSWI1Tz5JRzE1TVg/Xyt9cl4jOWpQbStlDQo+IE51P2J3 dw0KPiB6QVY+dDVpQz5mVj1gPm1+dTJ0TytQTUc5dklfayNeJn5XXmd5aDJLbVM3NTt8KjZ+aGRm Q2w1WTxZKj53DQo+IHMhcmxtDQo+IHp1KHRoJSQ3QndeSWZDTUR1YzZQa190TkxiVDBkTWhMX0tz eVBiQ2daIWUwfGQ4RG9QPkZyeD5xeXVFP2VWDQo+IG14ODQNCj4gejZ4UGhiZ1Q8ajVZKVMlNj9+ VWJRdDBydkQhT2VKfStfZUQpQTY7PiE3JUsyNSgxWD5BTyQ9eiEhSDJtP1l1OQ0KPiA8Zg0KPiB6 djMkckBLUlVzcz0jeEtTbEkxWDhKdnUoTFViP1JqXzBWazx7dCRLYV55NFhmdHpWNz9ufHNtWVNv e0FgJCtHeQ0KPiBoDQo+IHpTQW9AbnAwVHxCVjNzSE57RytxYkB1eH5lZStSeXU1QmdEMlZfWnAo blI2UF5OVz8lWEU3VkRDVnoNCj4gTlZ0M3NHN3sNCj4gemk/LQ0KPiBHX0s2blp+PVR1Xmg1JD9z cEZ5PDw/PCY/SlckP18hTUt7YSN+Vz5rWVZuRWthSVE0TGpJXitXaV9VPCpYDQo+IGANCj4genU3 dilZVEdrRmBjeUx0Yj4tcm5qRkQrK25ZMk59aiNTWmBeUjFQbE9qK1V0al5oVFliNn56V2cqPSVy UHY/JXZ9DQo+IHokQHViTElZaGgqRmFiazw7PSprX1YjfFNDQ2ReZVFFeiRCXjhydjtjazlFRFYq UmVGVz9QaU82VykwbnslDQo+IFkrPikNCj4gem17c3FGKzE1fDBTTihoanp3UkF2R2VoeEVBWUVa Sz4tDQo+IGgzbntDWDQwe3Ulc1FzTFBQTkZxMjt+Y31lJitOT2ZYYQ0KPiB6d29eQ25kTjNnUWVh b2AlVm4tDQo+IEQqKnBBN3ZVKG1ROCVTTiY3VHxWMEIwV1h2TDs3OEFne080RHMrMGdCVFI1eD1C DQo+IHpWUndPMTFlVHIhMlljRmMkSiYzemxDU20tDQo+IGE0KSM5WUUlWXMhU0MyUShPPTdIczNI eEowV2pGRTBoc2N5dTd4enANCj4gell6WnZgWFkzNmVXUXxsRW1Fe2B+K2g3TnN3bipHcipmfWQ5 aSleYCRgJXRTUjleOXMqUmlAVW8qMWlleDVQYHQjDQo+IHpuI2Q3fk4xIWJ5KDdGZXo/aX5vZzF6 MlkxN0ojK0wye1QlbHEyWHNXI0RYK3FRJGxuKUFwdygjSH15O35NRzANCj4gN2sNCj4gejglNU1l NGtuRzJ0MHBYQWtwYXpESjJtQCpSfEMhTFQ3Tnp7UH42M1pxaWByJWkrK1lab0dBeCRNKyhkXw0K PiA8LWkpSw0KPiB6dypEXmRSZXpyJDQ9O18jczUwcWJZbjRzbldUQDtoNm9FTXk1VCFjaVVKVD0w JGRBXn4kdjFrVFUkMWpHN1MNCj4gfiRyDQo+IHpfd1NGLT8hTSk8X3xyd3FJS0hxNWJCb3JMNm5V P1lIRGxJcFk7S1lGJkBRa21NKVRKVSNLYDg8LS0NCj4gTzwlKiV2QzsNCj4gemYjS3chPHtNK0w/ ZmZ3QmhDJDctZnY8S1NKLQ0KPiBSJSRHaj9kd1oqbj92NG81IWlqJnlXU2RTbFdhM15RV3lmdmxg bQ0KPiB6O1Nwb182TUJuM1N6Kygwa0M2MXJAYjI1Xi0NCj4gIWlIM3diPDtnc2pyMUR1NHhRP0dX RW1JKik/c1V6d1Q2ZDJwVyF7DQo+IHo3NmtRMig4MSgpWmxBQWxvXyFTWVVXP0VFWn5mRTdBTElX KWRwZlVJZVFZPnB7fEtYMFl6PFpjbzJxezVeOzR2Qg0KPiB6QWtVbmtlbV9GSXIpNUBgb3tqaE45 NWs8TDVoNmpfTT9rdlZRWFZnQFEjLS0NCj4gUXtKamE1QTZndl56WU9wX1lPQTA2DQo+IHpFQjA2 Ykx0PHxlc0ptbCFnezBEaS0NCj4gO0RvJiU/Q09GYTgzR3pgUWh3PU1GWihfYD8+Wk8hO1Y4Mysk OzJIeTVvIWcNCj4gejtTekxxI1ohVCUyI2Zjej8rSlhSbX4rbDt6NCQzRiUzWVZSO31gb29iWkIl UjBJRTJ6U05rYX18MWJVNT5IUEANCj4gTQ0KPiB6MChFYUxhTU9EK0xOQDNjYVFkaWpkUShpKF5L YlAkTFRFKHY0ZUx9SDY2Q01LdVMwT0c2MCNkaFNVVXYhSA0KPiB8aVdkDQo+IHoyZkA/eUxPMSs2 czQkWGY9WGgxWiRBSXN0TVBQIzFWQlZ2SGdTZk18OXBjVXsoY3ZMfTNWNUdkak5mR2ItDQo+IGhU WSQNCj4gei1gOy13IWF0bz5ibnBUflIoM14pLV56elQhQmIyNWl8eChfRlQ9eTBlaypaRHhjR1lW KHxnXktBcTJsamA8IVUkDQo+IHpjSS01KDkkIUtkYmZ8aiNNcklIIypvQ2hudDAoeV5Db2F3bVVs fComLQ0KPiApM2g7UXBNcCpWO2J8Rip9NGVhWmIwUk4NCj4gelg7SUgqIUxtajspQzB8Qlk4YUVt RyFrYT47QSpJOzJYKG5jYE9nZXJaKnJLRTYqKmlLNHEjNHA8JCgleUAyUU4NCj4gJA0KPiB6PlBl fHRoe1dGbldCQFp4IT1van1RPjBxRnc1ZVF1Nll8MD0ye1c3LQ0KPiA0Q2wwRV57Xn1XPSt8YDsm cUArRztRPGdeDQo+IHomWXd4bldUYlVFO21+bGs9Uk9hWUFDNyNJaUtFbio0TG5wQThwfDZ4KUh8 QG5sMEwzfjtNPFJwWGs+PWUNCj4gUFdWQ3cNCj4gelkrakNsIzttN1VPO3VTeiU2VilzVSZfXk9f WSs0OV9Vd3BOP3VaVSZCb296TiFeUVZjNjA5c1htPikyDQo+IHd1dFYpWQ0KPiB6U319cGNQJXdz cEc0elolS0E7JlVsRUEjZDZGU0MpO2ZhezNBeG9ENHF4Tl9URntlaEgwMUR4MDxGajREK0xJDQo+ IHFBDQo+IHpNe3F5UUs+SGVSOWshbXNFfVU1TyNDS3FndkZ6bUloPm5QQnZnQCoqQnFsfnk5ZSR6 eXM0NUhBQGV8DQo+IG0oMDYxYzINCj4geillSmFNSGZqQ31zJkMmKmw3ezl5TiF9ZE97VEB6cjxy Q19leUhhM35qckFORyZhaFJsZGtQX2VAPVBLX1BwDQo+IFBOQg0KPiB6TEpzeU93dD1xX0ZXe3pg UEJWfGNIaVF0VkVZaDhvPUtkVzFmfmlPSCozOXE+VmJDdiVEVStMNyE7REV7NA0KPiBDaDFnDQo+ IHpMdkZVZyUrRUhOYkZXalpKUyRmaDt7bU0zUmNPQz9uOThEKWtCaC0NCj4gUzc9aCpFZXw9UkxD X20wQSVTaG9iaSM3VSgNCj4genotO0woe1dTK0QjZ2QhVVFuQTEwNkA8aVRyUUNfR3NOflZDLQ0K PiBqVVMmd0xpbyt8Ris+MlhIQEB2TXpBU2VAek1pZQ0KPiB6N3Ayfjwjeko1fDxmRnN0UEI/VSMk akQld0NfdExrcnhEfT97TmpQX1d4O3RBUSl+Xig1QSU+bnRWdzstDQo+IHJxdSslDQo+IHo8VClD MnZqdSUjS3FxTD55RGpNQjBPYl9BNUVrZXReJEdDQ1Y1V0tkJUdaUT9ZSmpHVmp9WDxNOT1QSA0K PiBaT1EjME4NCj4gejJkbnVGbHItQDtaZlJtK0dlI0dvIVhjLUlMNWpmd1g2cyZeYUYzKXFtNihK bEdvTD81S0g7KFAob08xUmEzVG4+DQo+IHpwPEtOO2lYYF5oJSFfc0EkeDNMQmZZUHFWOVUyNVVC YC0NCj4gXypJYSRyQ1FWJEF9JHE2YGYrQGdkKzRBbyElV1dNXjcNCj4gemdKbnNyK05UM3R7I1JR bGFedXhEMmBiWn5ATmtKIXUwbmJ2U0xRbntTKV5lYyZlWVRPeT1DZm0haVZVY2Q2VQ0KPiBERg0K PiB6Q242YUFIfjM1OFokUDtpK3x5bFBeP2xHO3xJXzltbGI4c3hVVjBIbXNSeWgkemVrUX1KY0ol R1g9fktRUDxjDQo+IG9fDQo+IHpGJTlgQUM9M2AxUmQ+TGF2NHVmKmNWX3JiM081dzw9Nm9TRFh4 XiFvdCNTZGBoOWs/Z2VXfkttSVZSKGVqUw0KPiB5UHcNCj4gejQqbGA4ZVRWKUN7Uk90YFJMPyR3 ZTR+KTFzdVAxRGFJVEoycF9aZG5NWnV4RVByYGdkZWxkKTNxOX0jcmwmWm5PDQo+IHpnQGwoRHQ2 V3t7eiF2fnN6RFJ7ZWJgM1Q8ZmIka1hPPGBreTRjKVMyNGZUd2NCbFRgaklQSWFUSldQLWgyXjw5 Tw0KPiB6bU1zV2h5cT4qYFR1eTxjUiQpKjZmTldFVGQ0JmdyN1ZCMCh1QkhZVGkwRX55UmRAfkZE bGdseVhBanBwYg0KPiBPNWZnDQo+IHpUKWs3Sj4kNkVVQWEjaXdnMDZBSjRMRVR0SCQkTXd5eGpO YWAzbSlZQys7ZDZfZnAyYTdFOX4kel9zVCZhdWhqDQo+IEkNCj4gejk0QDRRWShOeXI8UEReMTIm bEN4cnN4JDFzVCgwYXN2TTFeZk5jaHRlX04+IXQ+aEBmQU9Zd0IpQj18NmMNCj4gVUc5Nw0KPiB6 Qn4mK29QRW58RExxTmVsPXN7c3cjXkw2RnJrQy1GSitpOHVaYS1HXlY0eS0NCj4gKmF6Rmc7NGJV KjdefiljQDMkMCU/DQo+IHpVSTB6cmxVLXtXN19INXhsNWdPQnpKSy1vQ21fPX1VO052P3gjTn0r NC0NCj4gUyNwZ2RiZihyQXckcV9NYF57enI9U0QNCj4gekMwXlI5elcheGZMVnBieTchfnw8aDVG YCt0UUQrP29Fe0hzI1FHRGtnMF5wMykhUkB2alEyWjtLNll9OTlLSQ0KPiB8KA0KPiB6dSZSKERZ ZiVZUig4YUNsNWpAJUhSZTVgfHZ1dUh8Pz02fVF0bEVMNWA1QjUkSXI5UyNqYkB7fWQ1ZX58UCEr XjANCj4geipIPFhhWUxgd2VzZGgzTldPIV9oWTFGQntpe2hYKiZiM3V0LVdAcXxMSElQKk1pckpp dFN3aklkVl9xWWBYaUolDQo+IHo1eGhna0AofiVQbiNEcXkzTElfX2QkMnpRYVNVJGhxK199RGI2 eUUoJmlFTlBFenV2SlFGb30oT3NNZXxzDQo+ICpYXnQNCj4gemFJZWAhaERQaTJQKShVN2p4Izc0 JDlATj5Rcj1PZUYtDQo+IEVIQWkrfGZBV3cpfFFZZShRbUNxeXJ0MillRytTKjhgPQ0KPiB6I1lq ZVAmK2QtLQ0KPiBZTVgoR3NGaU5DUD5DITB7TEk9fFgkcmp4NVEpKSFmXm5NVU8jdEtYc3R8cztj TGJ2VDFAdlZfDQo+IHpHVncka016Q1FRRUArQC0NCj4geXVWQj4xJWJkaEB6VlYmNHd+Wl5gejNx VDNudEY2bzttRnh6SiZNJFl7XnRSa1lHbE0NCj4gejFjRyVvMFZVRWJRZDZOZUlWe3F5STtBbWdT SWE7WXUqTjZ+Kjx4N2UmPE1rSEoydVJpRVo7YHJkZzZ+KWkxY3QNCj4gKw0KPiB6WFprZ1NDcjty XzdIaFooPlNYXmp1IzgyRkJUP0FsMzN5OH56YzkmNmNIeGM8YTNeOUdfZnBKQD9kckcwO0lZUC0N Cj4gejFjTH5PNHJQQTQzKmBxI3d5VyFxeWNMXmgrelU0N3IzVi0NCj4gb3Q8Qn05SVBWZChhezhm eHVldHUhbXdfPjNeP1pSbw0KPiB6Y3BsNkhmZVAje1F7UzQoVDdleklnPWJ6VSl5fWViSk9ycTZO T0p1JEpPR0U/RHYyNzRIS35RRFoyYThEQUpoDQo+IG1aDQo+IHpgWD41T2lEQWxBOVEmeFVHSyVy QllKOXdZcH5TNlNnZGdtbWlJRV5eNXlYOEdER15wfWZZdHo5ZEBlSksNCj4gKldYSFQNCj4gekhP WWJkcylidnU7YzgybVAmfEdPIVBPdUt1SDNAU0E+MjlmYHBIWlByS19GSjI8aUBqXmRqZjhFI3hS ZFZqDQo+IG9YZA0KPiB6KEdIYnxVPjQ/Xlh5Qjk2eFVXQ25NQl9oYnpIbEhjZDN2QUhfNzwheE14 RzBoI05TQmNKfj9GVlFoYQ0KPiB7UF4qSzlRDQo+IHppeHE/MkNRU0B2aVVofiU4NXBmK19kVXxV SjJxZ3s0LS0NCj4gU0RDJEg3MkIxNEIpN3pDSSZ7RE56eFZjbEE7SUchbGQNCj4gendwRVA9aV5u VXNpaUJRJW0mVyZMZntVM3EpRmtqTmdkYF43bVMoalN5JERocyQwbSFfR0I4QCgkeG1fSw0KPiBC WiptMg0KPiB6e217Vkkwc2hzJHAkZT8kMylJenF0KiYtRT5Jd155eH1pSl5VeG82ZGJQdjUtVzVr OTNSeF9wezsteT5FQyZYRmsNCj4gelY+OzBuI2NSaCktUFczd3FKK0FOSmVoX240cmZ9KyQlMSZp MiQ5T3cwPS0NCj4gWmdITX5YVEJUfSRWWHRxVXQzRHE2MQ0KPiB6KyMrOzNaSn1WNVR3JCVAazlB dn55dzMqdyhGRUxQMURaXzBINV5DfTRXdWFpMGtsbkdObldTPUMjKihqDQo+IDJBbTdzDQo+IHpT ciVsSTVSWj0jWShCVXs+UGgoUmlpZH4qT2JMK1h1YGRiJkdeZW8hfEhKRGBKbFMoZ0pZeT9NSmxF cDc2NCQtQg0KPiB6RTw/bGE+SG58JldvMmNYS05Cd31IfEgzQzFuOVI3YE1pVmNBR2spfFB+IVJX TyhtWXlfPz9JQSRHRmINCj4gQzVxUk9jDQo+IHo4c1dhMU9GUj5abGtaPnFnUUpzdysxV1Z+Rlcx K3ZVO2xvdHpaMUx6YHQ9KCk1VyhfJihCRnw/QHdeaHhLOw0KPiAmdCENCj4genlPOCY0VD5RJWRH a0lKdEFtamhSakJ4RmwqK31ZSVgzMSFQWCYjPC0NCj4gdFdXYzh0SV9naHNVNnR9TkNWVTdBUExl Pw0KPiB6IVN2TFJiNDlPRyVmZ1V1KFFpKD09KiozPmF1enZVT3QodkJyfkQ4MEU5fDZFPUEtUV89 eXZgbGpZNHVuMktzYX0NCj4gemtiUTBlVFJ8XmJteGklN2NZYFEmMFg7dDdnSld6QyRANDAtDQo+ IDwyO0FzTHVqeWNydjkzQEBOU2hFYFo/JmM/P2l9eQ0KPiB6K2hGT0o/K2NBYTdrIW08KFA3OUxf citmcFh0SW9qQD9rIS1YVGtMV1Z4e311OTdnPSljRlhjOWJ2KjxTQ2kpPlgNCj4geiRmRjVXYnhY WG1yOXYlb2ZsTEdsaytzTzdKTCN7QGNDZDMpbGw+bHo3ZWxnUV59SSh1RXtmYGgyRUxCKnVZUjBy DQo+IHpyantATVpGVEdLcGUrPyZpNjJ7M19EfD1CQDMxdmhvKmcrZEdoRVMmI19gSmlYayVFcjJn fXJYb3laOXQoSSE7DQo+IF8NCj4gemZybHVrKVlzVF9TT3owY18wVUdlRUcoNXgpIUZnRFJ6JXJk dTNuUE8+MG9JdWgqJDJZUHtHQFRPaTEtDQo+IFVifiY1Vw0KPiB6VS0yVn1rMyE7ZHJpRGghdjxF dUhqWUtPZTkoY007OXFPPVhKIWZPSyFTK2R6MyFEeFA+PjtvVTxMYjc5TSl0S2oNCj4gelhVWGVE IzR1Zig4X3tme0h2TThJPV5rPG9mfDN2UWtOfT5sNXdFNGBQKiF6WXl0SWI8cmUoenwqSCk7ejlF YHFDDQo+IHpXIWE/aUVuOzZsSG1LeVI8aGtOK2pNSGo+UTl3aGFMWERiQk8zLQ0KPiAqe0xvYDlf R3s3ZyUpM0NIMGJST0V+UClCOSsNCj4gek1BcFl2MyFqN21tPjcmbmE2JlJUMW1tPDBSeU9kQ0hk YTNyaGkqKlgkbDVGWTU9JEVMYWFXaj44VnojDQo+IE9Ga3E+fg0KPiB6MiteI3BFZklpLQ0KPiAx Kjcoe20xPEppeD90MDYjIUhaSyh3N2BxbUNkOU0wJk97VHF8fmRuZ1VVdWsqUyQycSNQY2J4DQo+ IHpZK1JRdTA1e19EV2FTPn5GRlYoTSVoNFc0cXU7eiUyQjA7RFlCaDE4WnQjPEh1QCR2M09+aCs0 c1lqKHoNCj4gWkRGfjwNCj4gekI9ODEzKE56O0AxWSFKSl5CX0RnSUkmRlQzNnZ7MTFxa0MoRldU Ui0NCj4gcyhtSENVPHIwYyZveSRtb05rSilyX3N0OQ0KPiB6TVBeLQ0KPiAoRV5KVE0qdyFvKm5r MjQ9Y3FndVBXTHpJXz58Z3NMKHN4UEs2I3E5aUElcUpLTFJYcl5KUH4jTl9vOUxJDQo+IHooYUhA eU4qSnIkMEx5TVkqYSFPKWYjK2Q7YlVfNTZaRW59NGowVjt2Q3ViJjg3cCt7fEUxOSlPclZoeSpS S3QtDQo+IEINCj4gelYjUHw9TU42QEMwRzE9X3dlPVFWaEhwVUFCLQ0KPiBZPyZkQEd6emszVTt6 c0N7ej13WEdKJlI9eUBmd1FsP3EqQzJOQw0KPiB6TXB1YnZFeFJOZ3ppaD8xQFNSfDMhVjlfVCpH MVQ+dV9eWXFiUkRaJS0NCj4gXip6X0BvIWt9NzdjZXx8MColfGljRz9QDQo+IHp3fUBEMFYmWDBj ZnxIVHRWTHc1OCo9RnhBY2p9XlRNUmVsfG5KM2k4cD5pLQ0KPiA9I0Y1amFXYFpoKXhFUHFveD1D MGwNCj4gejhtTEtQXiYxQHthTV9lQFNFbTM5Znc5VU9ZPGZncjVven17WTY1KGZ5ZGdRKXEtDQo+ IHohKiZ7K0VzVENGbT09O0ViTQ0KPiB6bSNaSm9Hd0g1R3g9IXZKYW8hbHlUXlREfnNoNXtZb21g e1NiPUtBUEF1bjk3eyU0ZGNAaXVPMEdOdlhqRw0KPiBiMkFADQo+IHpkYD8rJHUyVFZ0XkV0Z2V2 KkVAUj9MPDlPUyUrSU1OaHJvKGhPNCZ3VzkwT248UnVRLQ0KPiBCaU9qRCRWdldpKiRRa0cNCj4g ei0NCj4gRyR2dFpCVHNmeipqTGhHQVI/VkYzaE47PFlQYE04UjR1djBuZ0NgVmBke0ptcHh6O3I8 Y31tdUBmKD90QFRlOQ0KPiB6PXZzZFMrXkJRbVZvN1AtDQo+IFZsb3k3QSRnTDZiSiQpWUhoM1cp YTFkM1RZRlM7Kno2WlEkKTh6TW5uIzVufT4qLTs8DQo+IHpjd29hKmowKD93UkhEWDkqUXVqN0Z3 JD1JNUIlOzRVfj52ZkdyQypQdzxzOFVEXyRBSGhLZXx5OHJoWXANCj4gcmBufj4NCj4gejFCPEx2 aG9GTyNCZFQhMW8kV1JMQzZXRzBgPCttQ2ZEZlZUUHRkfipKbjx9c1JuZCEkcyNvN2FKc1M2eUcN Cj4gI1RhVQ0KPiB6SyYzRkFXTntEOzFyeW0xeCQ/aHFBYWNaYnp9QmZYPStAOCF3b2F8WTZGMHZ7 Q1p7QDspWFNTNkRfdDhNRQ0KPiBDWlczDQo+IHpEcjdpR2YobTx6IzYlaW0oJChFNClnVUlGO29v SkJmNGRwSGhVeCl1citPNiM/JihMe2pCOXQpQ1I4NXt5d09tDQo+IG4NCj4gend6Nj8tVDglJGJ5 K1J2dG1yeE5xRUwjKkVqJUk1LQ0KPiBsVzU1M2ZxZ3M/JU9zYWgjKm9LPTczWERlbnw4PFVmRz9E WQ0KPiB6dEFBTTY+Mm59Szt4Vkt5Jj1gQjg0bFYkaTRtfjFBPTMlNSRZflYpaWB3S1FweDIjUS0N Cj4gIU8lXk5MMVkoalFQfUUxDQo+IHo4QXheZj45JUV8T3tII1JhYiU+bE8obUh+RCt1SUQxWkwj KEJwRH10e1c/WD8kVz96WTdqQyR4RHZ2KD5jDQo+IHhqNnwNCj4gejlYYz0wWjV4fVdfd3NiX2oj VGdGQG1YLUJ1dGQrb202YmZ0SUpjamN3azVjbXIzaD4oUS0NCj4gYGs/d3Q8UTg5I1J6ZQ0KPiB6 OC0NCj4gU0RwenVwWkdOOSNUWntedTZ7RVcqUXd3Tnx5QEJhKX5vUzA5fGlXYStQSFF+bUs+JWdR KjZsT0QtDQo+IGg0bk1WMg0KPiB6I04jbHR3Qj8zTGF5c2FCMVI7KWlZPSlxRTZUZ1JYcWAzeWcp cVQqRFNWUXoqSF5ZQkRXbWoraWJzbnBmXlB3ag0KPiBGDQo+IHo4JUF1VWBlMGc+X0gtS2ZVa1Np dksqdkYoZiVnams+TDI3Rj17UjVEckpqNEFjJlI3aU4zNCRYNG9QTDtJVDBiOA0KPiB6K202PXko WTgmJlIkM0trSURWczFPPFdLNzxmTTM8YzNRYyozK0lsSzFMKVpiPTFIJWM/aiFYJHBffGxxP3YN Cj4gVX4mDQo+IHpNbGxuYkl+UXFxVz0jSkhTaWY5N2A0MzVoZWohekZvKkAhUFpXWERqU3hwWHRs a1FgQTR9R21fVkxZJTN3Yg0KPiA3eyoNCj4gejhYXiRndzdmcXRSPjZ5cXg7M1MlPlBsRG9VI1ZP ZklXaSZhVE44TXNGMGc3KDtGMHJeeHFBWXUmYT1MX3M9DQo+IE1Ofg0KPiB6Ylk+eTdtRjAyS0tJ JWk1IW9kOTIxQGlMO3tzN3RBa1NMbj9FSyp7WSQ+PUpDI3B7PE1ldWE4aHlGQXFKPng4Pw0KPiBu DQo+IHoyWTEoVWhJPzUmUDU/Q25zSyg8QURPY31MPkI7N2AzLUtZK3pgR31PYSFlYzklPDJYcmdZ NXF1WWB7OD5xKU5nVQ0KPiB6M0gjJEt0YXImPU9NcjNNYmUzNW1fIUZ7WisjZSF0YSNGOEl2PS0N Cj4geUZNYVomRHozTjFJI3plWG9rckZ9TnF6ZmkzDQo+IHpPfVg7NnY3JnRPYFZvaiNwJVQoNSVa PUJ2OVRNWj4kX2t6M2BIYzhBVzQyZDc7TWJJUCpORj5qck1SJT4NCj4gRVNzYnMNCj4genVFdnBe Vzg/TXRsSE10O253THp4S2l6PnVqUTNKS2ooWDVjLVR7dHwjZChoO3U4OFZ+MkVPSiN2QH0tDQo+ IEYyZUBCMQ0KPiB6Z1ZFISlLSHtaalljeD80Yk1kWXM/cXNoKHZUPD9hbWE5YFU7bj1ALXZMOGhf YVQtDQo+ID5yenNhRSltPiMwam4/JCYzDQo+IHo1WlZUdWZ1MSM5V21IJD5zPmtwX0hxMTRDQUZL Xz16cilKSERgcllTMXpofSFSc3BmQHxHRjFEbDJ3Jj45DQo+ID47YWsNCj4gekpANjBWJUV0QlNx N3UoYFRxbU4wOWBDPlFtekFCPEQ/KUJSQGxvbVUrIU5NNGhKMlVjK0ooekx2aj00Qw0KPiA4RSl6 KQ0KPiB6P2JXcnxkdEQ4ZWM/eWBgc3xMZ1RnVTVYcCkqV3xhNFJ5WFErc1YzWWlKdCo1SVU2NjNA KmBGKmBeK3hVWUI8dA0KPiBpDQo+IHojfnlxZENEMkYhe2tOb20qfjRPM3t2OHM8JnNGI2dgKikw SUJ7LQ0KPiBwRzt2bEAwY0MzMXp1VUlMTExxUl85Nm1VemoNCj4gelJZeUV0SyYpP3N3O3MlWjla JkBmNzA5N3FJKzVaR2syTFR1dDhwMU03d0ZlfTIjPll+bmRJVFVtaFhgVS0NCj4gYVZucQ0KPiB6 ZGdYU1MkcWteQVRObClPYV5UKXR7KEE1U3VRSCRmd0tXNGoyZCppYD9nTGtiTCNIeih0e2lyNz9J Z1NsU0g0RlkNCj4gemM9dj5zOVRWNH4yM09FbmFPSlBZUmk2QnslPigrdClzfVJhaVFSNXVeSDt9 fkN4N2lAUFY4ZFROfiF3TTlNDQo+IE9qNw0KPiB6dEUya2lFRShfb2JSX0U+VVlKNHxAQkg4ayFV Q2V2cE1AfUMoblJVe2FgaFZuTVEqISlLQ3FJcXVTQnw3Rg0KPiBufTZqDQo+IHpXJCZBej53MEgy dTgwJE15Q3MxWnBzeFJQK01EIVMpaVhUT3pgRis8XkRyVy0NCj4geTAocXIqeHJJMSNKWXwlQWt4 NCkNCj4genhOQWJ6RzRuJlZ7YEpWT2w/a0E+YEt4SWxQeVUpdUBmTlNkREIwX20+dGIzKiZEU19V Tj9GTmJTRSklbw0KPiBqMnxpVg0KPiB6cilielhPc2BUcGhGVH1vM1NTV0gqaHc4dFBZblE3SW48 SHkqWmt+aXAmMyU/Z2ZAez5ldWA5cj9UaTN8OVlxcg0KPiAqDQo+IHpDO1okc057fjxedWF1Z29R MHcpPlJjZjVocSF7MzZOVD9ic1AkNjJFVzdKaiNyYFJBPnM5OD5DUzVrRX5zWWFYDQo+IFUNCj4g ekE9RkReKCtOfXcmRlV1clY8Kzs1QF9SciVDY2xtOVRrX2thKjVLQylGZUZ3OyZxe21+MkxwSVgp bV9wMA0KPiA3RStiXw0KPiB6ej5KWWYpUWlIU3dHNTZsQEo9QytuNUBOa0dyX1VHbTZnc350WTwp XmZwXnM2OExVTW5NVyM3TWg2aw0KPiBCSz8raDZuDQo+IHpZMmUpeHg8ek0qUVVjTmImfGc9Xz51 S1lfVVkldVg3XlFFQSowKCpIPWJpOF4+TDl+U3poOzlJZW45TyYNCj4gYz1EZCgNCj4gekYhY2Rx KjlUS0dKa3Izc2h3QzZ3THxgfD0oK3xqRDVOMHh2RF83JU9uTyNSRD5jPFB4Q3B6SmM+Sm8kPmsz DQo+ICMjMg0KPiB6THZJUShJTVRwN0RFJV5jVVE8YnZTfUxUY0hmfn08ZVB9cF9NO2R0Tip+Mn1n OU9hXnZxdHl8cStzIWx9Yl5PDQo+IGdqDQo+IHpyalo2ZGRCVzNGT05sVn1zcXVRNkchPCY/T2p8 Y2lzX1p0PHgqJVJsdiF6VGVhZVgtbmEteTx5KWElcXp7bEU/eA0KPiB6TTFzfT57RV8oKlgoVihZ YlFZTlpIRlRMcDtBbyQ2JXF0ZkY8Kk1zY25fczdEZ2s8QjN1QF5wWWVSJnBODQo+IHJ+PEJxDQo+ IHpwIztseTdHLQ0KPiBzfGVtK05pUHFHZ2VPN21ENDdrakIoeT48bD89QWNUYStCKiprYGA5d18/ VztoKm9SPio9JiQoOXUNCj4gemtkOFZXYnI3I0BOMl50KV82WFlFdlk/YDNoX0BsSVQ+YWphVmkr bF5MUzFnbTdTWCt1bH40X0FhdHtxZ2M5P3UNCj4gNg0KPiB6R2YlNiROJnliMkx+QzI2VmRSfjJq Tl5QektTaXExK0QyMUJ7NituRVZpSlA9aDxKV3h5dUtOYjY+NmZ2aWQNCj4gYigmDQo+IHo0SUdh SmNRRGMzRVhkJFUxTWl0eVZMUVJ5VDdkelAySHdHfDUlQTZOR1RoMShkU31Tc05DV1JrQyZ0bw0K PiA9RG9TZ0gNCj4gemhwQ31Bdnk1PzAmNUEjZE43MzViYj1WZSFIUUtOeTlvQWVIWT9qSjd6ej1H Mkt4aG1gYHhBUGdfXzwjOQ0KPiBOQX5OdA0KPiB6ZlBRO0xfZjkrMkZUc3RuQlY8cChxNGM/JCRM Q3ExSn5SbyNCTXJRSkxiRWU5JHN9Njg4O0JIVlB6VSEqVGVKITkNCj4gelckR0s2NXJFeEE3TG9C bEJzbjxQWGQwbUVPMC0NCj4gN09lOHR5RTV+WXBtRGh1bFlFYXdweyNUUTZlb3VvTz1TX05hew0K PiB6QHMqNkNfRE9UZEw1NFJWQXxlMkxrbkN8dnk1JCVwV3E3MjRjVTBhUVJeRC0NCj4gJWhSc1o8 SHhuPjgoIWplWGd2fWcjDQo+IHpuNHJ7R0coa21TITMyR3BpOWxpVFMxVCsmZEJUe2FMKzN9UT5P X1VBYE5kWHdFaGI2Uzg+N2Vzb1Bwa3stDQo+IFUweFgNCj4gelM1VDwqT1ZeajFLdEAjcVozZSZC czdVb3pvWTsmQUZmcTJPK2FjRVIlSSVeaUQpNX42ZWw4MkZ3YTY7K2tWDQo+IFFPdg0KPiB6b35H d0FHO2M/K1B8RmhAWTM2Mk9lYlkzZSFDe0MqSjFvMXoxdnhKMmhzTyY2NXBSWlB1fCM5dVQhfXQz OXENCj4gcEhsDQo+IHpDT2VIOVZ1eGBVNUp8QEQ0enJDOVVuNTN+JSM1aj5DdU13THN3c1dFakNf RU9XYz5uP2gxQkBCR04NCj4gOTA7RTw+TFoNCj4gektacDFSPzU8QHQtdi1UWG91WDgoWT4qakJC XzM/SkFjb0N3Tl83KEItDQo+IE5KYTU5TE1UUFkrXm4zKFJlWEQoIWhKQg0KPiB6ZEFeYkdGN3Vy NGtwfHdtbFMkOXFwYnYjPlY4Y2pQVmdxQT9ZeG9PSk1LZFEpcDwlJnxNIXJUdUI0aUtkDQo+IFVU SVBBDQo+IHotSlBLSU9zZnlmODZJaWlKcm5iRmdtKz1pX2VjWnBwTXw7WVNnZDdpVjlzQlN4alhe JHB1emwkczUqMTdicjBGOw0KPiB6aUZxQjw+SH45ek07ZHN+I0pxO15GM2tCSlkyZSl4eH5kblFF WHtgKm55K01SVjlzQlN4amNwWiFBbE0xS0wpbw0KPiBZDQo+IHpDcHJtKmFtWUlqUGMxbzEhREFT dSpWOXNHIXAwKEJaaUJoI3ojb2dYbU5EWiNpcGxVdTFNaXV8VHVPTFhHDQo+IDVIPjgNCj4gejsy bnpYeUZrNUhqPCU/X2wwci1ZTWRoejlzeXV+enQxfXpaNV4xckMkekw1KW88ZTYqQG58RVhlaHlf LUV4TD9TDQo+IHpyV01Xc0RFe09LSkBLdVdCQ1U+MjVnOE4oX2FlUj9OMmYxaHd0Y2ktNDM5TU1q LQ0KPiBvR3hpYz1SJnFkTjUwUkpmR0UNCj4genYyNmIhUXwremI4NjBXZy1MZF53cmhOPU83NXFY YjAkVER7RHxrTCg0YC0NCj4gcHNNNnlvKHI5elJMTWVrXmV5YU1zSA0KPiB6eHs1bSNReGRjcGZp KE96NTghP3JrfVAxcGVVT0NWa3B8dX5gbiRJaCt9Kz0wSyV7fHA8Uj5UR19PUUd1alYNCj4gPVJY DQo+IHo5dXcjektaWnZkYyY5MW8/dXoocHcpRGt9Sio5bEVQRlA1PXp+IVcyYyUqQE1oeTYqUkJr WTJPRGpuaC0NCj4gcWhEOVgNCj4gelJEMEpnZ0NoO1JkcU5rdyRxd0daKUc7Jj4hNkheIT9MPEA9 JlZMNnRTdGNGP3lge2Mkc2IoK1Y9Vj4jcEFyDQo+IDVeQQ0KPiB6SHAzJGd5bjh+NigkJFFxUXlw VShLe0QqKmtJNnVFR1IkRUxJRHdwTXJZR0lfRXotDQo+IGNkQ3Y9dURUWSlnIVNZZnZSDQo+IHpr VHo1XlRSSFNyOyUyaGNhVih3Xlg0amkmNDMwR0w/Zz1nS3NheW5Ndl5PaCh4VV5seE95cER6TXg1 RWJtDQo+IHYjLV4NCj4gemR3ej5GQEpeZ0xRT2AlNTxBdElXcm5xb145QTNZfnZxJj5kcEZaNl8p MHRaell7fkZRMU1pO0RvbGQjMksNCj4gPjtMPA0KPiB6Q19CRXVPSS07N1VCXz80QEpJdmlseDNw bzVtWEJWKWtqNXRZNFpMSkYzalUjSW9YeFQwI195c2syTFV9QSo+UyMNCj4gej9pTi1DTD5oUjxG N2ZJczduMkRNeUxPNWpLVHBeLQ0KPiAxQDUlJGRNbUxLcTRIJDAxWX5VYHV3SEBQP31EOE9TYUp8 WQ0KPiB6OUJOUHJYdTltUUhhKz5wYGhPJHNPTTh2RCZrdGo3aVlfZCpEQE9tWHZNWGJSKEtXNiMl ZkVJY2dobw0KPiBFZ1RFbTxEDQo+IHotdy1Lc014TkN5OS0NCj4gTl4pPTYwJXxQSTt4SWpEZGV7 UCZmcFdOPj1VajZlMHs4VSF5YkpoMjVndyE7RCQlZDBtfDwNCj4gekBXKT5lUFZkcmdBMjREVWo8 V2h8Y1FAanwlWS0NCj4gPEhma2xlZyVyPys5cnV6diojQ2xlNDAqYU4yc21LUWYqck96Yg0KPiB6 Z1B6KkZwPD4rZ0xTSzw+VG5Pdnw5JnxxOyFJfGp1TkE/d0NITXxfVTRHZnNXPnltQClPdSMrRm1r NmwNCj4gRCRgPj5sDQo+IHpZdGAjVzElenRoIVNfR19AZGtfVTNnP2NPd3k7UHo7VGxEZlhvQ3NE U1VCenFNWVRvMiMhNUkraFZ2QnNzMQ0KPiA3ZyUNCj4gellPRWA5NTdlWDNzREN0WTVHUENhX3Bq RjB6KEd2RlltUV4mUGVfR2ZTUmV8MGh4bXpGOzM4LQ0KPiBzYlRBbCZLSyRlWg0KPiB6SkBNfD1h WnI3ak5DTnlVRXNqT3B7a0A2MUtaWmVmblQ1Z31oR3JvQ0F+YnM5Q3A0QVAhO25TKCs4PzJ9O20N Cj4ga18zDQo+IHohO3ViMVI1ckg4SU9sRWJsbXdiRSpLb3c2R1N7JXZESnRCVERDIzwwKURuUk0j bE9VJlpqaG9UJlMjKkltDQo+IDlZQ2YNCj4gei0NCj4gJFphfVNBdkhpWD0+PnR6Tk00TXZQbmRr MW5mU1BDREcyTnojdnxwNioqR1lWPEtXdGo8KTxCNFJDQ2ArYA0KPiBuMm8NCj4geiZ2cyohd25o cTJ6WmdGbVZ4KDR9a2B1QjxySDZSZiNJVldMdmRiK04qYUt0QWlpQG5JPkVZXmwkLQ0KPiB2KH4j bGUzeQ0KPiB6MzI2YXVtVTxzJXpfR21LbyhYVXNhPzUwNEMoTXxVbCUxS00zUzBTaUNrNmxwNUZF cnxscHxtdzd5bCprRA0KPiBnJWBVDQo+IHpMPkl3S29sTnsybjJYYTdrM3xsYVYyRzsoN2NGPEA+ MG1oK3IlTnpmMlNldE1KJUsjd2k3UTwzKFY8SFAzDQo+IERhX0oNCj4geiMwVntgbHtCZ1ZCa3px P2JlfENBMGhubEAoWjgrcTVjMVJWWVdOPFVObTxrS0R1TXohTkdjdUp3aSpnYQ0KPiApTCleNw0K PiB6Oz9Ye2BEJWs/YCRNKGB4Q19BI0xQPEdeb21MJEdNc2RJIX0oeHMzYG51Pz09P1pDPil4bTgp KVdnfllBcmo8DQo+IE0jDQo+IHpMVGE/b3MobU9laW80YThNa153O3hZNWUzdkF8WkswZntCRjJZ PyNjNTEzb0ReNyo3ajdCUWxNPVZQVk1RDQo+IH5TNnoNCj4geiR8Pk9ZaX51aE1BZEBvXnBKcihG aVQ8XlpReXxpZWQ4eiohLQ0KPiAxXkxeU31aQCRVflhPNzZ+S1kyeGprQ0JCXktCcw0KPiB6PnZ5 KDlzPChMa3Q3a0hIPUB1JDYydTdOMiEtDQo+IFVkT0FBcERrSFlhZzFqNGRhT0Nia1FqN180O2VQ SnMlMytMSEdQDQo+IHpsT2Z1SXIoPVBxNWp8R0FJZkg5NT50Jk9UJFJ0ZnV2TUUtJWlDWGw+P2lO UV5qait4PnhgQ3BsOHtJMHNaKGlKQg0KPiB6WW1hQ2RSNSEjKkh6MERYYS0NCj4gJEI+P045SFRV dkp+T1lKTlNZVldRPn1lcSFiakM0O01wVElJVVdxMFFJISo1KyR0DQo+IHptMV98PjdGWmAtDQo+ IFppejBFVjNAMVUmMEtZeyhtSyNLS35+aWpnS3wxMUx2b1NTcSR0JHx0alZ0QSY2K0MrPHV2dEkN Cj4gej0kSFVRT2dPNFE3M3tiflhfSl9YYjw5RT9sVGlDU09BJHNSQSs0cDdiQ1E/NG1+I3FfTGRz T0IwT2p+fA0KPiBhLTsoVg0KPiB6Pzs2eiluXntwbU0qVyN9QlNUaH5jPUIqPGBNVW1uJT18fDFv MilER3lvK3gpTW9UPlI7a09vNzZSeQ0KPiBXX3k/YHFoDQo+IHo7bEVsXztfKGJQeyRHfDBMQHpG SjE+fDU5e3srfGowUG5nYzxiNkpfRHslY0IqRV9nOCRDflpARk5KNGVZQlopdA0KPiB6Vjx8filQ T04pUXRpO29iPioyS31vJmppaSYmTT9xKlg2aXcjUHd4ZCZpc0skSkM1ZDE8PlA2bD5pc3BzN289 DQo+IEBNDQo+IHo9LQ0KPiBvdlEpaUgmd042bTxHOzY5clpMcFkzQ1ReS3FVX2xyVmZsTlh0Wlkk PGlaT3c8dU43VDY4XzhuQndwV0YzDQo+IFJlDQo+IHpuKXtrZHo9RHs0RiV+b0xXYlhNPiNxZDtq KHplSSFAamRXYjs4IWYraHRDJkNWK291MmZXP0dyb0I7b3x0Tg0KPiB9bnENCj4gemV7WTI1SHJ0 Vz5iKyR4VC0NCj4gKyp4cTM7a00wPjB2VkJFWlpQK0hPZ2R9PnlHXnYlemc+MkBVZGU2X0AmPTZF c2lwYw0KPiB6b1F9KyEpRDhIN2xPKDAkTlpGTUB4WXUlKUpNQzljKFdqQHYofD99NG56NyRRcH4x I3h3KjNuWHpmZmIpWA0KPiBmYkhRDQo+IHpJcFVaaWl0fT9NPEh5blNNZ0RLJk5BZSVjbDQxSGZ5 OWpyaj1PJkVsQXNHN1ByUDEpJGFFKnt0cCVMMm1UfA0KPiBNZCkNCj4gejw1ZlFZPkwlMGBgWDRG PyMhd0g4KW1gak8yIXpCKEp+KWNHa2VDU3h4SHlBdyt7VSlMdkVMRj8meGFvel8zYg0KPiAmPQ0K PiB6KV4oPzxETXNQR2d1TVppPWNFSmdYQ013JVFnNkVnWilWXyhzdk5iYDYmUFVQU25VMD8jVDdW X2ZoU2gNCj4gPVNLb0M3DQo+IHpvYHlnPlYwSWxDZj1wRnR4b3AlJEk+NmJ4Vlh6SiRHc1VgWmBY PS0NCj4gTnRfWkZUeFNxcWMzKWRmVGRIUUdkJitlYm8NCj4gektiSCVgb1pncTJlYEFSWTdRIzgm bkdHPyRgPmRWNmdOVmNoYCM0fnZRRzRZNTlAMnUyZH1rakFRKHJPew0KPiBoYiojIw0KPiB6KExA IWw4Q3FBX3d6My0NCj4gQUchRGdtWDZQJXAma0shQz5fajQ1NGtEQV8lR0U3R2JlWHlIRH0zcEo0 VV95YiRfJWJNDQo+IHpTO1VqNSlvQyYlSVFvKTJtMXpaMjVJbFM7U0pSIzNsSzFzVTMmV1lFOXFK MUp6flMkKkFjYjN9e1BRSDFEUE9xDQo+IHINCj4gemVoOWQ1QyNNKSo9b0JfdDFUO2pKZT5QNE48 d09Vez1SaiF6SH10Xjk5eDJzfFlQT2B0KHMtDQo+IE95SW9yU2JtdF5NMw0KPiB6N0EmfmpUdTxo IVU1Xzc5ODEmJCUjfXxZKmdkU1cwNzQrPVZEJl9CUmAqRnprbWRUPE1XY2h3ZHtUMg0KPiA9Y0pz IzdjDQo+IHpoNyE1VlIpX196TFdEOTAtDQo+IHw0NWJ4UlNncUchfVJzSVR0eG42cTt0UjwqfXhp VVdNXnRBVnBlaWdEe3lgK2BIV18NCj4gelFkantSO2RgUSE2PSFtRz05e3laZmFNX1FhJCt5TSVs KWdMQk1eXkl7aWYkVEdLO2h3MSh5dCtQTVBKaW1qKw0KPiB1dA0KPiB6NkJ7PUpoLV9vbnYzUHtW RGpDaiVLfXs9bDJhclpoNkleIUs4OUpRYyp1dDQ1VDl8OUlOS1NFNHxGPnM1TnVIdFMNCj4gem9f IXhKM3UxNmRneE1uYTk0RCUyeVdqcUhpUlpmWW1gakpOMUo0aG1WNHRVcnZgZDVmWSZOclYqM0Nz YVp5Pw0KPiBRMQ0KPiB6VG1eVyg9WDBqcFhMPmRlbGxOVGUhMHh8TkREPmwkO1AjYyg/ZWp0PHha ak5QZ0JKOVZBK0A3T2difGpFRHg0DQo+IE0mDQo+IHpPR1h1Zk1YfUEzc0V1fjhaJT52bV5aeTxC Wjg5KGl6ITc5al5eT1A7d2w3TWxqVVlHWXooMGNeMlBkc1loQw0KPiBxUTcNCj4gemhaZip8Ykxn YnhnVG02IzJCKUgkbmQyaWloR2kjfT1pdTV9MDJGQzt3ZmN4RnJYX0xkQy0NCj4gZHV+YldvfGhn Xz50UQ0KPiB6VXpXajFSYDdwbXo3fWV4X199Vj5sVzsmLQ0KPiBHYF83Tk9mJkQwKnl3fXR1PjJy NihtZEBPcWttdFJzRWYpPztVIWI/DQo+IHpYQkFfMUtMOW58V2pXUSZ7K2M5MGBrZTNvVGViJkFo T3FeZ3p2ZypNMXQhS0ZiVUt6IWxLS0E9ZGVrSHUNCj4gSzxHUmkNCj4gemJTckJhUjN8Skp5bXpY ZnFUJEFiQjU0JVIkS3Y5dDB3OWN8JSY/PkdEMEpXMTA3I0JGWUI2JEhybWt9fWcNCj4gISV2cQ0K PiB6M2RSWnVnNTUyM3FKRWt8aHt0clZyJEhkYHJqQHAxX1l0aEo+czByX0U9WTx3KFcmbClhZUA4 M0tZJn0md3VkDQo+IHYlDQo+IHprfihxSSlhcUFERnFrUHthPz5oJndwQiFpPnNaTSpmKVMqV3t9 VXgpQ0V1USRTYXB0ITcxUEVgITY+SlY3YVJ9Zg0KPiB6LX4+N0trMkFGelhpXilzaWM1fTlvfnZX UHlySTNOTDBlVDlRRVhELU4lQ2BfaElTIXJATGloNSpJI299RWBXdT0NCj4geip3SEwtczBZRygw LXdNZ2c4OHFZMTkxTzdQe0M0e0x0R3tvKmJxXmRNeyUjLUZ2N29qTkgmcnctDQo+IDJqQ2V7RENP Yw0KPiB6PkclbUFscnA1JFlhbk4wMHppV01Pfj94aklnS0dyQ2djZiozfThzMzM1aGQ9bn1QK21u fjwrRDxTel8pLQ0KPiBoX01eDQo+IHpBO0hiJnIzRDJ+Pzc/VFE0VVYrdHo8SDgqMzlxX1B2O2pX Qm1ydDxIdVNZUnNtMDA8PUU+Z1lqQ2phV1E3DQo+ICRMOUANCj4gejJIQUVnTnhUan1wYUVFK0o4 PV44LWVqYC0NCj4gNHslVzttbXdRVyRlJFZWSCprRyRvZTl+O2tYREEmblVJJGxAO2lwQw0KPiB6 RyRHRzBXQ3VlK0NnakA7YDNYWjduVUdac2ZySFE1Qno5R3w/MiZSWGhhOTNpQUQ0bjR0ZzElWEp9 Xn1CdA0KPiA8cVNEDQo+IHpzLQ0KPiB0RkY0aG15WUMjUEYrQmFaflZAS157RVQhQFVzWGp5JV9a RkxlZDtIV0ohbzFnQXFUI21qI2EmWWlnZ0lwVA0KPiB+DQo+IHpLVXdiZFNwTEEqKjs7aXV0QmlN KXN8aFlOemxyaD8lfkxGeiN0IzRFODUrJVpLdnQtDQo+IFZaaHZoRDNlRWJBMkcoTT0NCj4gelF6 VVZENiErQDI7Sk5SUjlGPVFmeSVhcW0pPU5IcVNsKGI2NXlSZFU+UXt3UTclYHx1QTxOYGxWeGkz dQ0KPiAjSjd+SQ0KPiB6JDZWaSE2NzJ4a2A7JXk4OW9BfF9SM002YmIpRU1pWX0jRTEqMWtydnNW YHdSSDFzNEp0fTQ5Vm1DUUBqZzBQDQo+IEtkDQo+IHohVUJReyFmRUtSVG5jNFlAY3oraFkhMEFw djMxaTFsQ3kzO0shRmxfYU8xTF5eTzJeVzcxeUYoVzFWMjhkSDQNCj4gI2gNCj4gekVnQSF3YXJ1 IWYjSzlncT5mcChlRjRmflhMZUtFdjtINngqZmBCRntifWx6KHYkOU8qbGRMOXdQciZ2QmdVckgh DQo+IHozTyM7QiFEMW13bj5xPXQ1WE9GWllUZS0NCj4gQVdEfmR3JDtkRG8mYU9rUyN7Xz4yaUtG NWNKeGYjTzlFfVJ+K1IxPVYNCj4gem8wMSt+YzZee2hpZ2chMFJecXUzUnwmMmdhMFBMIyNgUTMr QDhLRzx2QmF8KHphI09CS2lUQ1dYQ1FxN18NCj4gIzIybg0KPiB6RksrX300IX1NYVpRcUJfMGhi cm9za3B9RHgocnR0dTc0bm5rOCQwSj1NYilMVCVKTTR8STBjSzJzV0xfJDw0DQo+ICl2DQo+IHo2 YTchezhxZmcpMmdiVSQwXmp3eDQmcGxIYXBhWWdXJlY1Ym1YUXRJfDdxY307SjQ8IyheQDxHazZ4 O05haGwNCj4gWkMNCj4gekZtPCYmQEVwZWo1RD44PDR2OylwMzUkKj5SfWBnMjs+fFh+KGFRWj0z PihlUFNmJUA7cjkzPG5kaFh8cFIqDQo+IDVsJg0KPiB6TS1GWmg+RGhgT3FaalNvUHtDN1A2Um5f clNqYXJRaVMzOUsldElpdmBWWCpoQH04akF5IzcwMVp3LTNQPmw9SjYNCj4gejRSIzhydzV2d0dV S1ZVS3VQXlpSZUQkWU8jbHVEUlFBZCVzdzB0ZHU7cXRtSlpCdjhNK3RtV0pXDQo+IF5BUGtQKEhD Zg0KPiB6Rngjd01XfTk4WEZCRjV2TyMlZV8zaXxWUT0xVDEtTDA8RlNuLQ0KPiBKY0E7T2Q5Yz1I ckAkPnI3bDE7IyFRJEw7bV83DQo+IHp7KTNxZCN4P1pgR00xQEZ7IT0/ZVQlQXxjeUo/P0NQJSV6 SysxPjUqaGJXdzVUaE5nTmdORyhuZCEpDQo+IE1rZ29vejkNCj4gemslVDJlM3g1YmZ4PlBENHJM THZPVUtYNWFVVDU8NHtOI2stDQo+IFNRQnNfMTRjUDU+MWUoaGh0ZWN0bms9XiVhM3J5Mw0KPiB6 KklaIzZVfkV6c05uQypLd0sxJk5BOE45KTRnOW5nU2ZEUmlnQ0NiUiNfbEhMIU0pYjR2PH0lKGlC ZDFNcHsNCj4gJiN4DQo+IHpqJVZRKU1OVzs/S1V3MThefFpOdWYhfC1eK0hJfmdrVmBTSC0NCj4g cUtefXh2S3BETk17Unp6OWlofVBHN1BMe0FjPS0NCj4geklsMEt3M1FwdzYjbW5eRzgpNjRmU3po U1M5dmdrd0NDKXlMV30qb1ZUUlE1OzdzSEYyQSRIKWBiSGNZYzVPDQo+IEFGNw0KPiB6VyFQZEMm IUJAb2xlVTEqPEB2Vz1Db0k+YVMyRnRgeX0pU2VER3RgOSRVMW88MXd0YV5JMXYha1pDNFI0SlgN Cj4gNlMtDQo+IHpDPEhLdDt+P1ZlcmxtfjxRNzNSWEwjX0wzUEptOGZxaGRCKVh+ekQqSXd2K1k+ ZmEkIVgpPVpgcVJfP3pqcmV1DQo+IHwNCj4gel5SSGpsVy1ENGN1NnE1VEt4NWRYZzYjTSpgVil3 ciNJfH5FYUpGRVFiaC1MWjRJPntQIUFGT31YcTdILWh7YXR7DQo+IHp7MkExPTlzV20rc2xZUjI7 Q1RWdyMlb2I7R0thbzg1OHFWJWFNN004I3s8dW9zWDJNWE9peDRnNWhiaw0KPiA1Kjw3d0oNCj4g emEwVU4/ejYqTmthQTEoeW8tZEl2KHBgc2pYejRhcHNHTl9UKGdycV5zWlBgQVZmX21fVVEoYko7 MSopaWI+LQ0KPiBAOQ0KPiB6U3c3QWordGtCSVRIVTNTI0hPKHpWQ189YW1INClAVCpaQEdES3gx YEhrbTNXZ0lWe0IwZmhOeThiRA0KPiBILU5GPnBXDQo+IHpILQ0KPiBpYz1HdFJAQDxKdHV9REcm bmQ1NGtTMExmenpgSFhvZT5pRnAjenRWKyorMlhQPClRQ1RFfCR5MTBXXldYDQo+IFdQDQo+IHpl dX4pOStLRzdOYlRJeHhsc3F3YzsmfnBAY2Z8X1ZOJHRla09CX2w3Ukhsfl5WIVp9PjRrUn01KGFU SHJvbiNyDQo+IH4NCj4gejRlN3slQ1ZSams+ZUNhMiU9d3hYTHMwSG11N0htfT1FcjxaRnN5QF5q P15udWprQUdRbzJtbDxyeEo2NA0KPiBOU1Vmfg0KPiB6ZUhsWFVUWGllTzJnd2AyUmdIamcxUW5N PG9se25iZj43dGspQD14dzUzV0lndEdpX05hWTM1dntXYjU5MDMNCj4geG9eDQo+IHpBSEZ6YWZP cERybShyTFl6OH1WOXpWeihSMDNsZ2g9ZlZPKlo1ODM5WjhiX2lWK3VyYGRjOzE8Ym1vK0xrc1d4 DQo+IDENCj4gejl8NHd0Q2spN3VRamEwcmFpNUplOWJvWUpiSEVDSVUqPUlSbmQmM0dhMm59bU5C fHM3U1Q+eEdXNChgQGl9Xw0KPiA2OA0KPiB6Zik0Rk5qU2JNWDBYcDI1VHR2QjQ+SmtgZ3UoIz1p Uk8kI0QwXnEmRyEyfHYpZ2J5P0wtDQo+IEtAalVBazRNO1MpNzRODQo+IHpIOE4mcDkhanJOOCgy Xjh5TmRtUiEycClicm9FZlVrYDtwd0dzSWtMMEN3NkF0Z0pwVGk7bWpednFSSHh6Wn47DQo+IGQN Cj4genpLI09SNSFlYGUjRl9NUEZQd0dna0VpWmlgVG1yWkoyOGpWUzJyKnRHMSphdEBLJHd+WW52 Y1o0VjRHdD8jYQ0KPiBzSA0KPiB6d2hKalcxPzwjQTh6LQ0KPiAoTU91KUN0R2UrYSZZfSVGSmNe VkVnS3k1akx7cERITTRaPHZ+eylpU0M+V0V2X3hsI0M/DQo+IHoyfHQzT1NQbnl6elZyUURvODtg UV8lJkd2YyRCWWNBRn1udnlWJHhwPiVzR31sbVE2V3VfZ2tZbGxHT1Ahcg0KPiBJbCMNCj4gelh3 Y3diZzxgP0NjSVhDI3JxcjJtYS1uP0VYR3AwXjh8PFUrRThYTjNeO0VQY1NLVz4tDQo+IGdmUU9l SGNxb2NBbi1xbQ0KPiB6SmhUVCo+PTBCVD5sfDZuMTZOcUxSMlNyIUdLWnNueXlga2d5ayFKcV45 bnojWVVqKk5NeDZpJVhSLQ0KPiB8SG5BPWFCDQo+IHorOD9wZjsjWShYX0RjKChsbjxkUCUwcFFY bWFBdV9PUGp+ZSYjeXNaaHp9TTQ5aDZhP3VXMUFsWW1rYTF4DQo+IHMlJFkNCj4gekh6VFE4eypB akxBN0AyQTcjRz1mKHp3QFFfRiZuZGRVX1pVWUY4V2Fpe3MqZTl4encjQn0yS1AoO15NDQo+IDZh MXJ6aQ0KPiB6Sil8RlN3JnJWcU9QbWE3Xn1yQyhaYTFubWByJXJwSSFZc1ZlJEAlO001cCFIJH5C N0UkQk97WmZwb0RaXg0KPiAkfnRoDQo+IHp2UX44KXN2MUshQylvNGVCYF5wJkN0Z05RWUtXNnx5 Vj9iZDNJI3ZFWUpocVAxMH5ZblZSSjh9VUFoSkoqeztmDQo+IFUNCj4geitHfSokP0o3JkJKd1Zs Mlp+KnlgYzU7Rkc8elReSGtwOGt3KnNFXjBrbDZmN2NXe1loM2hEeiRVdHAybSVycw0KPiA3ew0K PiB6QH5aUEtJRG1jdTx2PFQ7My0NCj4gRT9hdn5ZUV5AUyE3R1BPV2c/PztkciR6ZyVIZzJ7YklJ PE5mTCM3JTtreV9lJmpyDQo+IHo3bk1ZRGRsdlRHPWQ1RjU7SUJPZyluX0JYbFZeNmRhaSRBbFYw Tl5CSEZ1VlBifGtDcVJAViRBVStmMF50DQo+IHJkQSYNCj4gemhPKX5DbVhFfWtyZzF4bSVVMHZA V29WK0xkVFJpXlRtNm5JczdZT0VCUTJMbT9XKF95R0BreU14Wg0KPiBjdFg8a2dGMA0KPiB6UyN7 c2hAJSVSNDcxWG89Nj19YCQqWXB6fFF7YnElRHE0Q1YjYGxRIUUyVmlUKlRlRDMtDQo+IDQpdXhs UHd5YFJLMyY7DQo+IHpDd31mJGhpVEdVbD5rSDRWOE54ZFNuNVdqcGhFclM9aGpZJTBUcWUxMyg+ STAycnh6P1ZtNGJIOyE1XzF7NjVDDQo+IDENCj4gelJPcFFZeVc3VGhiIXc4I0V6bU05cHM7dmpj ZExWXkJsWkxiRXZZMnlTYTxDK1JqcGdfI0ZsSkdnSitPMUVmDQo+ICVffQ0KPiB6JG9zeCV5YWx6 MzwraXh7RnFBTW0wJHwkfjFXWWBobFIpQ3d7V0h1OCpPVC0NCj4gWDR5ZFkpa1hYVTx0dXVrcG5M SGZnDQo+IHoxN0dCYjQrflZ5UDhBPSZyd3R5R0A9OyhkeG8yfiNEcmkyMzlXUyN4I3B3YE0tDQo+ IDQpdWNZTFNgJVcqTlhAMFVRQmgNCj4geiF5Z1JjdncqaChrY2ooaGUrUmk/b0JKb0EmSmx8Qj02 eCNhVGlYbHk+SnxDTV47fHdSNDkkWUhQYUo7JlpvXm9CDQo+IHpRUEw0QXc5NyV5YkxEZyltQDhS fm41Y0EyUXEjKypiQlBkNlBMWEJRdlhXRkNAZDxYSWpmWmA+Q2lQWQ0KPiBQMiNHcXQNCj4gejhw KDQzdHU3V2t1cGNGQzNOVyUrMEB8byEzaFp2YzYwMihmTiV1MU40cUZURlJ4S3pFZDVYPE5CTTMl DQo+IExlZ2hANw0KPiB6SiVGe15tUHFePlZUbzxIa3ZRUntFYnZZa1RwK3xFSzlBN3x6PStDTUti RyhpJmVuMVVJZUQoNT9nSipuNw0KPiA9SlMoDQo+IHpZWk4meUV2Km89IVBIIVFUQ1MhejFAPVFz UVEkaU1waVBeYXlpe0BAISgxLQ0KPiBjeG5tTT56OCRzbnE7cWspeCUqLUINCj4gekFnKklfOGhh P2ktDQo+IHNFZzIqJE1xTk09JkMoZEV4N04+UHdYS3c7JV45SVh5UHJaZk1wQG52RztfPiM9RWlB VH5paA0KPiB6Ymc1KyErITN6R2soPEl9RzktK29sRntKRE5ueVFvP29tOUZRZlF7ailpYW8rI2Mt Zi13ZE9mQVZYMkRYTGI1VCgNCj4gekckIWwzMigzMDBZUUZIUGY3ZXhrb3ImUEZvbDk2dzd4Qjdh N1hqQSMyKkB2X2JFYTRFQ2opSU13MEVhNioxbw0KPiBFSg0KPiB6QmFsbGdhPXIzSTZ+RCtDZnRY SSs8Kjg8OzhaZS0xbW5WRH5jQUpFRzBLRW5DMnBmcl8oLThzPXNNLWstOHZMOUUNCj4gekUraCs8 c35zUWRmYFNjeWpjUTJAJEJxNEl5JX5tMlpQNjhBb3YpcWgzdCRjYzxtZXRLLQ0KPiAwcXlRQ252 bWhmeXJrKA0KPiB6Ukw5Rmp6JDM3T3ZqTVFoeHFBTytrYClueD5RTFZAaEkqNlEwMUFWVW8kNEQl Sk5aS3J7U1ZTVDNnNkQ+DQo+IGIySkxGDQo+IHplU0k5dWxOdDZHOClYRWdgVnRPayhIKUs2OGhx RUgxSUVmO1F4bHZfQ0xzbiZ6UXNvVFB5YGVgR0h6JHx0bXJ1SQ0KPiB6e2pJKV9hKyZTVilvMm44 bHo5P18palFsRz4hfSpHPnJwbi17OSNNYW51XzNKVlU0dlFFNXZaRD85dTtvdWRkMV8NCj4gel48 UThOPG8re18jRTxaJWhza0lCI2dhY2M2UCtDLXhleXdPYkEwTC0NCj4gO2hfU3dsMENAUFJ1bHZZ K15aOX4rZXg2Uw0KPiB6JV9nOGwmZDZJSGNKK294a24tDQo+IFQ+RkZqYHt6ZCZ+NkVwWDVwTVlM U2Y+aUZ5TypsfGohPCQjbiNJQEFNdldTWig2DQo+IHoqK1U4NCtPKDlYOWxWbCU2fURyezZHRGlQ KXFUcUJeQUxldmFgMUVKKj1IKSk+LQ0KPiAkKzVAI3BtVnU0aGZHK2hXVl4NCj4gek9xYkY5VGMh XzA3YSErKSp8RU1gZ3traE5MfWc2SzUmWCtWNmdpc1R3VVI2TyYldTJibiY2M0FwRT5xYkYNCj4g YSh+VQ0KPiB6cm9SfDY0VjFWQ0E3NmgyK25CRnJZb1FKTFJWdldiVSROMGRZOXErYm5waDlKajBA KU9nbllWMCV3SlANCj4gWmZyWmwlDQo+IHp3d1Z9VzNXNU9yNmhiZ2VXVSRPc1lVQyNNMztjKy1g ZDk9d3JEbUhISVh2IzkyLQ0KPiBDd35eQnpoYVR1RjlEIzx6ZSkNCj4gel88TiFPe3wtDQo+IEw3 SFBQNGM/byM4JHB7M1ohbXk0ej07Y0kqSlM9SkRvQkA0TEZVT215eiVFTDFkQkVlPU9Jbld3cw0K PiB6YmN8KGc1NnFtdTJsQWl8TmJmfldgKUZgKm5MK1NaUCFFWmxBdU5Rd1NIbCpqRn5tQH51PHtv bklhU3EhSVpUNA0KPiAyDQo+IHpgJjtuRVgjXlpZSiY2TE8pRU9wUT5WMGFgI3htdkNfelU3c0w2 WlZaclkjLW5qfSl+eU5jez0tIURnMmw9K2hzYg0KPiB6Q3o3Y35Bd2VUd0MtDQo+IFBBdT9ofCha RWN1R0dMenR3Y1FwPUZGUSYmSHk/dCZ2a28lRD5SSklnVEBedzk8UDlJeFFFDQo+IHpRK3N4Z0A8 aUlsckBkPXlVe2EhJCNYdk5NPz53UXc3O0lCRnBrc3A3RWJSWHJNNnA0UGdFJThBTXUhKlkNCj4g cElxYHMNCj4gekJkRWw9Uz1iYXVqQnE+Zi0NCj4gQCpkWFoyRTJYYWhqQTU5Yns7WlBJV21BQn0z b3VmO01qWSU5Jnp0PztnP3smIW5aXw0KPiB6PXI0V2RtPFE5a2RxR0ozbkUxSzl6UGpUX1REYH5s b19DekAzJUVqWGZ4bXVkWV5RQF9Je3peJUw4eDlTDQo+IHhXMj52DQo+IHp8Sm1QQjV1WF8hNEQ5 NDxITUJlWiFzQzF8S0YpVSg7NH0wMDxSMFVASXR4Vj8rWntyYVRZQ1dHeCpSQmhZDQo+IEstTl4N Cj4gemBHIU19NGQhV2x2OGIkOVpsPUM7WXZDPXxNYG9nPk9xV35ZTHRmfXshYTJmP0NxIUNQUTlN LVIpWEQte0stZSlpDQo+IHptTXYjZ0NkaiZDalBwPiZocnI4VEN8fklCJlJCV2d2YFZpKHZMM0lp QEN9NTBrU0JtWGc/RHF7VW9hUGU+DQo+IE9RQzsNCj4gemsmUDdBeFFUM30pRVdSbVNTVEFFY215 TU43Xjk1Pyl0eiNGQ1JScHYjXm40PTk/JUkpeVB+c3dUKj1UMA0KPiBeRDBgNw0KPiB6PjRYcmJ1 SUw9XnViQjVabz9xSjtFejMqdCNMPzR9U2J8NnRvblUjRElDSnVfcGVQcCYlUHlZZiR2PmUtDQo+ IEltYyVMDQo+IHpVMy1aUkBabVg7Vzs8TiNBNFVkanpgZ1htYXU9SkZuIzUrSk5pOU1UKm9hfn15 LQ0KPiAyJFFQdXEqJnlTMlNDcVgmNGUNCj4gel5ldWRUandIfFg+ZkZpcWcpZVh+JiY4NDwoMypy USFAO35kcSNNZWxNK3AzOEp3bzdSPUBFaUdIaFk5DQo+ICUqWXFBQw0KPiB6QEFWM0t3TzdhckMm V2NqSEAkSCNGUDhUWlpCKipqeHlWOTcxbnRaYXFNYUUrdkA9Nzl3aGJ7Z1kzYw0KPiBCUGgoRWs0 DQo+IHpKT09oRVQwUDh8MSRFVX5YaFZvRDclQTYxbnhEeH1sOzVHenl4M0tfKEslQU8tDQo+IHIl PFdlYl9Lc2p5XyRPWmRma3ANCj4gekdRdU4wOGhCeDAhIWglIyg5KXRjcCNYSVghKHktDQo+IEwl RlphaHIoI31OQXBISitNfFMzNWA2IykkR0tEaXwkQkBjew0KPiB6Y0UoQ21JTSRwaXZ6PFU0Z24r JSFvLTk8I1JSPH1sNiUhKExrUCN3dmtQI3d2a1AkLQ0KPiBDUzd3Qn4qREtgSlVMaDtvDQo+IHpB c0pOcloyc3Z7QEJmZVJ6Zj4mVDUkSW10Mkh5entLPXVQem0reSopK3tIKm5LbF5TRjE+Tlpxa3hy PSQ5aWx9Zg0KPiB6QlNma3ZCU2ZrdkJTZm1sZ2ppQlJRJGwla2ktPHNuTFYxYEYpKVRkQUkpd0Y8 OE56eHBBPlBPb2tINiteWURLOHkNCj4gell+IyFTSW98Z01Rbz5wY2hOam87K0U4PX56fGZFbTNX PHl9Xy0NCj4gcHp6d3QwdXBgS0ltaypaZlZHU2Y+fntKbHxqUQ0KPiB6UWJzX0x6dmtKRGZhKDY0 YGl5fGZ7NTNUaDBUVihHU3JqOU8/XnJmQ3txcGVnK3RNJHkrK1N7OWV0RylLTUU5MnwNCj4geiVR PitWMT5XWGViJEJIKlQ5JWk3S1peSXwxSnF5ZmdYVm5AQiFQWFEkYG5LcEV0cGsqayR1P3w7SHpe SlQNCj4gTDc0Tg0KPiB6U0o7LQ0KPiAqQ2Mwb3ZjZEQxcykzQkxDNE5iPjVBTHJBQHkjODAlZHh7 TiFwJmtvK3FlR19jM2MmK31oRXZPWHF6UiotDQo+IHpvZSs0MFkzV1gkJmgmbF47fW1gflk/JENp MGptTHMwdztpZGokbmZAVjdZVT8pMCg+TiNXOT8oO2syWERJTkoNCj4gNiQNCj4geihxODBqNHZp SjtFJEZZd1A7LQ0KPiBsYEEhYHhOWXVPOHlWRFZkNkRxKHg5SGZORF4wSiVPUmZKfm5lSyVVUENB ZzU7cA0KPiB6a2tLOyYkbWJhV1dPRWJIeCtmYi12UV8qJHR5b01va25Sb0NQSzg+NntVSVdhNkMt DQo+IGJlZzxJPmc8UXAxKVlIZkFhDQo+IHpnSSh9VWQ4NFNmUXR6TnJVd0I4WHZLNyt9I3ZPUCRB SF5IQEkrRWF0aGI/TnFIMjdGay0tVF47LQ0KPiBAOUEzKXBlMkENCj4gendpamRGXmxPZD40b0E1 VHp1ODU8V30jb1JyQylRSmUkN0haOVUkfmAyTUdQIzBZWDFfZlk4cSFBb096dzINCj4gPnNqdg0K PiB6TE8maFEwe1pPPGQ8ZWdzJiREN1FDJHhBeTUxZm47WUopP35wbDBPdip5ViE2RCNhIVZFZn1m OHJVT0R1PEYhDQo+ID0tDQo+IHpXOyVxZllebHI2X3xfMHwyd213TlIwJT8zQjxEbE85JkV4RVpm SVFFZjwqVVo7fURZO3hCPHVRezF5NnVvDQo+IF5jMEkNCj4gek8pVV8oV182QURRLQ0KPiBLSFJL bVY+eyhJNDIrVnN5Mlk4NVdFdjxCU2tkI3UqYF5qNTkpe3Q7YDReWHt9QTheQ0UzQw0KPiB6THI3 YyswViVVWGUleTFvQEtiYmR2T2plIStWcyt0SDN4VkV5PC0NCj4ga14yYGhBST9TUG5CO3EhIUZf bj11fkh4eEVEDQo+IHpeZz5yO3MpeT1BN25pMClXTTU3aWlfZERHY2ZNYiteS2IhWEJePUszfERl JWpTNyshMFZ9R04yY3EjWUdqTw0KPiB8UFYNCj4gelgwLVJreGpTMTZjQlRyX3BFSy0NCj4gWFFm TUUwaUVpQWlBI1hENW5WI35aQUpzRUcqemNAZ3c5bUpwdStXdCE+JSM5JA0KPiB6NEIkTGtRa1FD cDdNTzBAS3c7Qm1OVC0NCj4gazNxamxfSWhJRiM3K1Rkbjs3XmMwcWBUWWxVemRPSHlwRmNsY0or ajJ4DQo+IHpsfTgjTWQ8WHMxcGd6aUw9cjctDQo+IFdwWWRKaml3QFVrcjliJDFAZTRtWXsqZEZ2 RmFHVEt7XlB9OGQ1cmp8dWxwZ2wNCj4geiY9dUBPTn1ad2EqJWl4PDRVSUxpT0R0OEtyWUdRYGh5 P3peTWxSUnRpbi11dD1qc1RpZXFyQyF7aUFyJDZ6WD4jDQo+IHopZ0kySE1hYjdFUENSenJYRG9r dXZlWlF+c3xycGZpZiooTntkMkQ7UkVXK1kjNH48UFViaSRrajZOUUcyJWANCj4gJFENCj4gej8q VCpsMWc8fENuTFN5aS17QHtVWjJLJHE0ZzklMzJnPShJaTYmMzZQRmBKUnU+WEtxVVRuNWtpamh2 bFRee1QlDQo+IHojSUVmQ1klR3VjQ3BoWXVRZD1NeClAe34tDQo+IG5PYUMxYm88UXNgdl8qRHxG PGpwM3c9Ymw/VnIlbzxSNWojPVhuUDwNCj4gemA+JVk/XypjMiYkNmZJK18/Kzx2eFopMit4ODNJ ZERnMmZfaXxAaTtfeEktDQo+IDh7JDhHJUJAPjJHPWVvWktveH1jSw0KPiB6RG1HTWwzTG0waiVJ Tml4SDlGfVlOZzRJNWApUTdQV35ZblJUcHopIzV6fXU/KkMjbm0le1U/KWFWTzMhDQo+IEBQYWUy DQo+IHpwRnY5OXF7SUJFVzRNUDlrT0dtQ0djRHArQTFsWXhJZnhIfmszeyF3b2BCT002S0MhLQ0K PiBte056ZGgzaTdZSFYxQ3sNCj4gejVjMFhoZj1eaVpgaEhNRWBXMnpPXy0NCj4gJntEaFRSKk9U VDBDVz9VUEB5WCErRXE/SFQ9TjN7SnhtWVhLUmgxMTRxWg0KPiB6UVg2fXMkbjc/Zip4WH5GbT84 Z3VqbHE/V0gjSkU9V0FVPEFVNVJJIT89cyYjSWhJZlA3RnBBWTQtDQo+IHJ9SDM1Q3YmDQo+IHpS QnN5OzE2NEA2Vzs5ODkpWChHQ0gtDQo+IHk2O2szI0g4NlZ0Wj0hb1FGJm40WUcmTXFTUGZzKSlf WWBVfkJPPk56fHwNCj4gelFkIXwqT0QzOytVMXBwKndLbylDc08ydjghNyhUXjZfe2RjNEo1Vnpp QWpCOCV0QVp8SigySUpae0NCPTFGcEs5DQo+IHokPiNgR1ZRUUBHNVk1MXh1KSkxYz9JckZiUy0N Cj4geDtLU0QydlZ0akN3cGFZb2ViUCtOVmBpV0Q+U3ZoOFVEYSpVKk0NCj4gekxYIWt2JHNRfkFm Y3cqVXJnamFhIyl6QjV4UWZKMmFzWXxiZGhWay0NCj4gYm8jY3Z2PmlDcDl5JVVHbGkyPyZ7PHEl Iw0KPiB6dEdod3FLOHlHTiQ/XiQ8PGpBQ2d2fVl2KENEbGd9KUFFYmpyU3lHJXxEMFF1SXpCRHlN b0RRbWlxO3leXikNCj4gZXdNDQo+IHoqQ31AaHk4YEkmKHk/TS0NCj4gej43VVgqY0hmeGQ5UFE8 dEd6OzIqYnNfTlhrSj56S2ElTWl5PUQ5OzI5aCFxRyNyRVENCj4gej1WU3ZqeE8ya1RjKmspUmla PnlKe3o5X1BQIWd2UEAkYnp+e3shQSMtNHBzaD5AN2kwOSNpcmB6TzMqPlZYR1kmDQo+IHpgZVJR QkoqO2Y3NkZNbTkzQXZPLQ0KPiA8YU01KGhzc1AySyhPZzt5QSs0Zk0rTXJRaHYqQGhvWmhLRTFn cHFDTjMxSjwNCj4gejRUblA1Qy0mRVRMfWdrRTE0b1oxIXUwRk4zWjBlPV92UDcxJj41RGw9NUNv aTtaIXAhJUlue2pFamx3RjsoI1NaDQo+IHo/NlJ+WWoqUX05KkQ1JVRKNThDaStmVTJ+bVdpSWY8 U2pPQnBMKXVzdCVxYEMtSmZsRlo8TkZwNklZVHJoaTgtdw0KPiB6LTVBQCU/TlVQNXVgZkBQYnQh PzE/Qkk7bT1kUytZZlkwYjM/amBjM1d3Nn5vTHdfMFhnMUwtDQo+IHxBR0Uqa1cpclhxDQo+IHpf OEZkVXdxXjlIUzdxYEQ9JT5xUUpua3VWd3FqJTk4blZMQ25XZnJGIT4kej1GTXxQM1Z+anBEXmNW Qw0KPiBmKSFiRVINCj4gekt7fFUxZ2A8QzEqPnIjUzF9cTx7bW4lRmVMaG5zWjt8dykkVDZZTX1y N3Fhfih9bl5CJCRIZ3QxNSR2IUxqJisNCj4gNw0KPiB6YjtYYmk+PDg/QjI/KztGR2RtYWNHUkd0 S2RnP2c7TGJ4LQ0KPiA3S0RJeWJoOT0pJCZ3ODFzKFkyPTFUVVZhaDRtJFg2DQo+IHpYQWM8SipA VzJtOz9NYnhZfU9RV3M0V3d+XzEheHk7Q21uKyRWMGYrJSs5VCZHbX49OzVSZmoyeikNCj4gT0V6 PzkmTj8NCj4gelZRUX51NkVHd1JMdUkxdHR+UW0oZXVQVE5WUW14eD5NeEVSaW1JKmpNYXorTkR6 WT99cjxFRE05VG4NCj4gR3srO1d1eg0KPiB6UmZ3VFYoUWJRWiEkciNHQmVsMWZMIU52eGx5JXtj eyZlcGRLV1RocjhyVnxrVlhaSGFHeU54UDxfXyR4dE4NCj4gYlU9DQo+IHpiTmk9ZlAyaXRCMzZ6 b2s5MWgzUVZGTTkxVVBlcmoxRGJnVDgldTk2ISNGeTYoNF4mMEVBM2p8cFpjbTJRem8NCj4gJGMN Cj4gejIkcSRJZkFTMkpOelZxJTNGSkgzeTc3ZiteOz5PKj8pN1hEYFUza2kkejJiIVltJm1NVjdg MT1VVUlsWClqRjkNCj4gPA0KPiB6VlEqbSYzUG56bCp1cjdEaHY3fmlPaWp8fmsjRGNjUmpiZyln e2J4QU1iVyhFQFJSWSFeb2FpeiNJRm5WQVkNCj4gfnU8DQo+IHo2PEZmdzhjPkgjelUoRndaS3JP WHtIIzJAc3R3SihwNnl5NUsqeSstDQo+IGhkSEAkQ2hEPWF1RTxWbDk8RyllPyU0KXINCj4geilh U0FJI3BwTHNDKEI+b0k2bXUpZXRWZkFXeWMrIy1AflU9PHB5XlBJKSk+VHB2dTR6TiRCan07Oy1Y WmJxNjIpDQo+IHpwdjFIQU4lQ0A7YVVFbGFqbjBLbkcyfV5hKSlnTU9PflIkSSFTYzgtDQo+IEQ9 SDZXNHJQXys8ITBgPCFObV8lU3VlTm8NCj4gemA1PlJPVSsmO0A2UTZUbD8mOStmSmo8P2dLbmV9 cEdPU3psPTJsfXZTbm9aSnpKNSQ1Kj41YGBwKFBoYUYmKXxDDQo+IHp4eWZQMTRFK0lhb0dHUmYj XnZ8LXEoOW9uSW4qMF9YWnhUTGpMeFUjKUFZalZuSEUydnJ5NTVwYTUhOTdlciVYew0KPiB6YXls ZVRpPTxiRjx1RU16NzVKUFhhSzJ2VzBVSmhQclo5PE1IXiFQRW0pIV5JMF5LbUx5UnFnSmF+NWJV KA0KPiBXdHZCDQo+IHptIyEyMmJ4b2tWU05WKVNHWTsqWkAhKWIxTiQjM2Y+VSZAYENqPGFAJFQ1 c1hzOz9NdTckJU9IV0l0Qg0KPiBBXmNmd1UNCj4genVnaDtMNG1KdHJjKSs9WW5ZLXZaVzUqVEBM UDNsZSlScGB8TjZ0e3R6Mlh+UzVOQkZ4LQ0KPiBVR3VSMHkmZyhVaz4hVQ0KPiB6d3tCcWFVM2Nr aHxFb0lCNlEmcEtOPSUhT3BfMDUxcz07N1QxZjxaN041TEBjSD8wWClybGE+T2VLSjFnT1kNCj4g U0FpDQo+IHpIcmhle1o5fldITjtlYEp6YkVzK0wxcFQ/MmY4PzAzVDVGbS0NCj4gJXc2PldtblpI PldeMyFpJT1aej5yd1o8I3hwQ3UNCj4gellSb1IyZn1OSHBMbSFpaipHVUdMbCZiK3RCPnEjKHFa ZnJGZS0NCj4gclAzMV9XfjVWPn0mTDVJclZXP3EwZTM8ZW4kQA0KPiB6ZTdQNk1lVDNXIzx6NktC djJxX1RfbGFfIUVjWiswSzMocGBheGFubDlKeWEzX2NGUTltSFJ4by0NCj4genhWN2EkaEwtDQo+ IHpweGhWOWVYLQ0KPiBtX2EkaFI8V3BaQ0JfWnFwXiQkaFFkKlU1ZG8rJjlSNXF1ZSppe2J7Knht aXJkREtRSCZLYV5FaVoNCj4gejlkZDchYCk7ezYkJGhgdjU2SnpYKz8oYXpCS0tDZ3g1LV99eTxQ NGRhX15MVE83Mn45X2sxZSFtJUNUKUtEcDx+DQo+IHpKendxeGF2dmYwTGIoXm9lWFFLYSVZQ0JV QyhIZCh4bGZtU3ZEezFLSzFjND8kaH1QTmJMQm95P3poVClmIXI2DQo+ICQNCj4gekp0KzRAYSRo WD5rbGRIYmVIcmZRXzcybGw2VztHJipsQksmSDt4JWxTMnNeO1F0dz4tDQo+ICYraEZEZTtlPjUy NDglJQ0KPiB6SX1NQnszfVBqaz5zfDF6ZmQzS1VIeSF9fHlCR0M+S2JZOTtoVGpWS2hYfig5X34m fVZBNG57OSFgQWArTzJXXw0KPiBtDQo+IHpKPmFXKiFhSTFrMTh5fG89RFk+Q04oK1oyZHheMmBe bVlMNSZ7Y3A3NXBJSG92eFBLbSk2dThjRnVtcmEtDQo+IGkyNUANCj4gejhFZk1+IzV5I1lvMTZh c2ZCelJLdTt9ZjZwMERIRGZhYGYmT31KV2NiPlE7Nyk2YTcqdUZHKUUja0NNdTJ2LQ0KPiBmUg0K PiB6WntoakB1SUYqUmc2a2x6azglQTJtJCRpfXJ2VFR2eFRmTm9nWD9Cb09LPmc2XihkfVF4UEZE fUFnKHJDTXt3DQo+IG8rDQo+IHp2N2VfMSpMWWtkeE5nTiZnPTswUSQ4ZiFmWWRAfSFhQ1BHSHtI ZFIzMihBS0xWe3VLI2J2M1NleEVBN0NnNg0KPiBrMW4NCj4gejgqcHZMXiRNPUhhZWFqQVpANy0p XjhMQT1YOVRYWmE5eFAmR0YpWjI3VF5sdWRJWi0NCj4gYGFQN2RnQUo/QzdlU3xCOA0KPiB6JWlH ZT1HWVojYVRxVV5YOzxfOHhRZTEwclpOJjk2VCg5NmRpMGZscU17eFB4TUxiKithck9HVXRrXlIj Wg0KPiA8WiUtDQo+IHp8MTN9MHRGdHwyKGBQdiM5ZEZJQGJiUk0+UHVhfDNDIzxnckg5dU8pYVAt DQo+IDxlQ0FiUUFfd3k4UDBkQWZ6ZEtQKV4NCj4gel9kTVhhaT1YQjFacUhRRHQpN01XenQhXn56 SzhKcmVuMzVkX2IrO3U7QztVNVBRM0Z3PDFJb2VeUmE+UHJKDQo+IGpvJg0KPiB6MiEyQHQ9dnk7 I0kxZUVuJnNjbTU7cDwoVkozUk0jM08lUmVTZ3UwUHdWcTFQSFRYWUFhRzBNRlpAJQ0KPiBYfiFR Zyh4DQo+IHp6ZW0yP0gyUjlZNy0NCj4gQGVRRit4YSNmQiY9UGFpP3l9YjJxU0NnMGtGIUpwMDBr V2orXyo/KzRCOWF2PGg9PHw2IVQNCj4geiZ9YnM9PVNhIU5fSlpuN21qe3J9VngpN1FsPHQ0SmVF K014PypXampEKF5pQmlOck0yU1pOPHhxJkpiazBAPQ0KPiA7eA0KPiB6ND41IWdHcktkSkViS3Bi Q0pCRm5saThXT0o0MHE/aEM0SSsyTjQ1Qk9CRT9xK1J7RiZwajIlaXdYc0RARD0NCj4gUE5VDQo+ IHpLSDcmWnQrWE8pI2dfVzB3WGRrP0wjNmZvZSZAU3E/endrbmNQQypZX1JybkA9Rz1TRnp3ZG5L SktzDQo+IDZ5SktzNSUNCj4geldzJWdTYml7b1VeZWtHS2hqOXZHcSoxZEJVcypLOTNfQGk9c31p X292UWRnb20hc09xV20xYFg2MjJwRQ0KPiBPZl9tRA0KPiB6VG8jaEYzd35YfEVvcElTeDd3fC0N Cj4gRWRwPUdKcU02aGdLODleUWZnZjdNZVJCRyZjZ0xOdUF8SDRYdWY2e2c/aS1TDQo+IHpYdTlY QWplWlJKKUlqNG97MkVSbkp1YF4hQXw1SGxKVENFNW1EfnI+WlUlcV9kMSlCR0YrMy1NN2VrKC12 MFNJcQ0KPiB6b3lLbitESEszPztsayMkJCRATnJFV2MxSCVGOWx9cFEkaUNeODBSJFE3YFZLP017 TTFFX30hZnlnSitkZzQNCj4gNl40DQo+IHpIMkFpelM+azJhamc3bGQpNWQqUE9BcHFCeGpLITFr Yn5qTl57QkN1dTkqXzNSP3lVRWB6Q2Q1RV83NlhnWUcNCj4gQD4NCj4gejgkaGU5QlhsMTM2UG82 O18rP0N8ayghSVVJI01iP21RKGhLK3xBKlJFcyQ9MiZ3OTtgUXVpWEFoM35VSUV+Yw0KPiBpWA0K PiB6bz1aclZAX1UhQXwxUW1VU0U+WCFaNVZ1YkllYXomU2YxO1V2Jjg4Rm9eQH5wZEQ/XlRMYjUt DQo+ID1zYWZfe0F6eTM+DQo+IHotYFY7SnIqMyNHP2VqRi0NCj4gWGFTe21RS21BZSFqXmVYKD5w MF41R1NXPWJPSkZteE1QZylvOTZIdEhJS1MyQWxFIW4NCj4gem1sKXg5aE1vP25WUWBBbFEoOXlp RFk1Nnd6JT9QYXQ4SighWGAhOF5wWDRSXkZjLXQpZkBnRG9GRX4hX0plMTJGDQo+IHpuI3RENjx6 bj92KX5scl9pbiY4b3c+WCllK3AoUTU0cHFKRXE0Wj4tDQo+ID09TnxCZm9tQ247fjZZJFZ3O1Va Y3xgN3sNCj4gekhFKCZTb2lnNWJUSz9wYVk4NCFpMG98bys2P2BPP3c1PW9HWGJtdmAwNTZHNCZO dFpnQWRNYmBpNktwbnI4DQo+IHY0Tw0KPiB6WHdHOG0mZnVRP1pqUTtJV2ljS3s4Y0gzNkFKWSh0 cl8/PikkTkI3bDhsWCpEPHxkfVJOKTUjOVF0USFzPFRkdHINCj4genEraUF1aSMtX1NKNGImOEFJ Yz8xUTxaWHdJWG0hYGM7cj5lamRlKENCZ1FsMlBMMlhmPSNOfVRuMDx8TyEhNGZXDQo+IHpOPCpy IyspMEcycClZazJsY2xVUlZqV2FsNVUjVSludTg+b0xOMDdRUWplekI0ZkAhQVYzUHVWPDd5MTxL Sg0KPiA+R3INCj4gej5NfWdEKkpaeVMoPDReWHgzbkxCOUNiTzJ2PHw+a3hNUSEobiZyckQ2OEpk cUF3QkR3dVBGNXx6QExNDQo+IFd5UX0zVg0KPiB6TTw3RThGQGFkKmdMI3MlS31WZDVpSVVsTCs9 PWtna0MrfSgjYEtQczNeRSFiI1RgQU9hWUNHP1A8dlY2a18NCj4gRHlhDQo+IHprcTZ+aDcxRDFN Knd1aSRpemtqISohRFA8KkBvSmAycn5pUjR9bHZAP1JGQlleX3NzcHJuY0w5N3Y3VFpZJHxPNA0K PiB6WnRLKSl7RWNZfXYmSzI9QVZ1aFJKaXRgQ2JVSVJJTjdJLQ0KPiB5blIlb31pYUw2SCZtTjk3 V1pES0xNRm9eKkVwdnQtDQo+IHo/TWRZS1lFWTJsdkFTO08jN1pIVDBmYj9ASF94blZfQkd9aVRk OHArRmppendEQS0NCj4gNzw1PCt8SFFWJD8/KSteKU4NCj4genZsUD4mKkBybzMhKTRVNmdLfV9H JE04KEl0bE5qbyhQWF5OUUFHd0pENSslcHp+ODlrVDgqNFVheHBGODMNCj4gZFVkQA0KPiB6THpD QTBQNUg+dDNqMEAlZWdiTWFARkF2bFpkRU5nbEAyfUsjR2dyQkRvUFBrXkNPN09sKnlUOVJLb1YN Cj4gd2dfaGlwDQo+IHopKlZCQWEtP2BacGJIWGJKMj1APC0NCj4gVEh8ZnppXjVZaWVYcU1FfkpD eE0xRXYkRUxTYmArWVN5fUg4KDRhdWNFYjQNCj4gel4zISlmc31pSSZkJTlXdD8kI0NHeTFqLW1X QnlWPy0NCj4gbSNxP1BjRzhfKHJBNjY0K3UrdmdQUGt8PTJgU3BPNyN+RA0KPiB6Wm1GaSE7OGR5 WFZPWlRpbz5DKWFaI3Eqe1lRU14jSyliaitwPmx4M2ZYZX02ZlEwOWp5YDlkcUo2LW5Yb2xMUDwN Cj4geiZTcStiYSVyYkNrOyQzWTZMQD5Yc20pajE5PTN8WChvQ2pVJFhUSkNZVC0NCj4gSX1yP1gr Tz9vNzxyK15QPHlIZWwhQA0KPiB6Y3Njb1VgR181VUdFKnFsSnhPa2ZGaXhpQ2E3NXk0JFhBX1dw QGZeOXF8Yl50OFR9UHwraEY3byRvemlZNF51bg0KPiBCDQo+IHp4P29SNHNZSHAkRmYjVSZreSNw aSRvP1VYVEFKMiFpTVZxMXhld2U2NEhORVV7TFd0TF8yM1NVO0BPWTANCj4gVTl4QDENCj4gekVU RHc7QVJ+TG1QYWBFdEVlfGNMcnV1WmhMVHBUNVQwd3Q3alp4cXVhZlZRdV9HMig3KHZeSzFNX2Zg TylCaw0KPiBvcw0KPiB6KGxgNmJFViR5Mkx4VEpsIyo4JWNkOVBCZ1J0cG9UO0psbHVJTjdyMilo bEV7Uigjb1dOXlp0O2RnbkcmRyt4YlINCj4gejxtez1XZHVtRT1sajkoPzF0WHZiPjY/WnhNLQ0K PiB2Sjc4Y2RePFZrJCpsPTQoKzBsPWQ3VSRqbWpJbWVpTz0yMHkwZg0KPiB6OVloUW5wJXpkQmAh d3c7c09QZTdyPTAwfXNRKEp8WiEhWG5nU00ydChuQmVnJURZYVZaZX1Qb09ZNipMczswDQo+ICVi DQo+IHpJVyNMZzZzQWhKXn4mYGNubjg3PVE/SSZDK0pCdylULQ0KPiB8IVJCKm8peSpRPHZeQV5g YVM1ajQ1MzRZfjhzK31kZ0wNCj4gek9DJTkkPWJxYWcycGNDNTJlIU91OEQ7QC1ray0NCj4gOW10 MlZmRnk5O3lgTENaNko3d2VoaEFDM1pLRV5wZDQkS0tKfQ0KPiB6WUBWNGMtDQo+IERaVlhJUXdB TyNvQjVSbDZqamE7czJuYDJ+TEswT09gWWNBQ3s7Jno4VT9QY3d3R3paYTtTSkMoPl5BDQo+IHpD MVBWdnxMRk1tezt8fkg9IWc/ZnEhUnQ5TTB9QHtuWEl7PDdXVUhaYmlEPX4kWGFLcz12akA5JkI/ aG4NCj4gSChMWFgNCj4geio3QTU/TCh8RHJEI2UySVQrWGFsdURNUkZZPGUkQSZASlZoQH0kVV5p VGRRRT4qLQ0KPiBHOU0qQCRmOFY+NGZWTFRfPw0KPiB6TiVaKWdCJCVJS3dVK1Q5ZnR6Vll7YHJ4 P1g5P1ArIVQmPygybTFBI0dOckQ3T2xGVFRoQExlS2lPdCNOQQ0KPiBaOWFeDQo+IHole0VVcnc7 UGVHd3RTa3p4WEtiO0J1Zlk2STh6bE5wMms/ZiRlfT4kRDVWRU45SCl0cCoxYmljOGpRWjJWITFU cw0KPiB6NTBUbW95OTU7JXQ4YUFGd1FffWchZn5ifWpySyZFWXNQTXooek13Smt7LQ0KPiBjO1oo K1hzQT5wd0VyUSkmUyp4cDIzDQo+IHpyOCRfJT04dElwczUtDQo+IE5TVEhkTGJqK0R4P0NDNzdY Yis2PUw1TTZpSVZMO3N+WT89a19pXmEhTTxHTG1uM3pIYSQNCj4gekZCeFdKR0BmOWYjblMwWj4+ VjZJQVR5PkJVNkpTJXMwRjl+IUNZSmA1dkB9bk1tU3VEOzg9KzxzbStPXw0KPiApJFBSLQ0KPiB6 JDRYOyo2aDtsdDBOUHFDdlduQjNqOyNDaXFRfnQ7OWBZeWVacU9zPmExTnAhVipCUVpuaWApcGF2 IzloampLZGENCj4gemVCdVp9OUludlY1SWZQTkZCT2s3Kk11KWFuQnpnNjF8YFZDZEQoR3tqJShy MkxyNmNTV3QxSXs7VztLRG17azshDQo+IHpMI0JANjctNVMzQSpSUmJ7ckR8bHl1ejlORENRdjc7 R1goTFlOMTZ9KmdRdColUzJ7K2xqUztrJVNJYiFvaTd6Ow0KPiB6aURzY3xmX2VnKElSIUgqWTlY bU4hUEZIdmlaKzZ5X14xWXhXQlhhaT8xZSlwcXtQfEo7JGFOazFQXj9WUiZ5OQ0KPiBmDQo+IHo9 Y0hLe3plPGZ4VCFaMC1sZERnMkl4PH07Vnp8TSEwfGp8bHlsciU8XiRBWGtvZWdzdm84PlFOOytU SSZxY2tTVA0KPiB6NEtiYjdiTjZWdE1VeiU8KykmS0QkPGNpUU45ZktAK2BuZGsoX31zSmV+b3o9 TTxFS09EV3xOPFJDVA0KPiAme3VVMVl4DQo+IHpRX0pqaGM1U0hjYn5hU20tbF9ZTFNgZk1mcWUo TVEwYT9fQm8tTE9uOHg9UmhGSkVnPWJUZGIpNU0tDQo+ICV4NGFFKEgNCj4gel47SyNGSUNiJGcw eig7WiVCfEwlUWhqOz9McDtvMGEqK19vISRmY2pCXntkYG40VERrUVh5SkBvRyhgemJ1UmpHDQo+ IHo+SHh7XylIX1kkanZEV3Z7Z3wwLSptb0J+bjckVEtLQC1rPnhpJj0zJWktDQo+IEEkJno/RCQ4 ezIpZWo0UVN2Sm11YSYNCj4genhGZThTTDBXOVJPUWxVLQ0KPiBZP1hSRUdvNmAyND1WI2NuSXpe NSs1RDFJTWVyYD9tIVltJU09RihUcm9KJGl6I1AtZQ0KPiB6Q0xAIX5VfmJ0Qz95WUJHcjBOVUIh eVgkMkc/bl5rSnl4MHFFdkYjfE1UPGRRTm1RfjNVUjw5VUx8eA0KPiBETGI7VUpYDQo+IHpWXmJn K1hLTHIhTzFQRm0lfSk8UDcjKl5Nd19JNXUyUWU/fHNzbyFKclp1NzhXcEl+NjdfJkFqYSN9UkRR DQo+IHRMVHUNCj4gelpITXxJcmZUcURVenlpXjBXQmtGay0NCj4gKUwraH1JIWN8SEx3cStqKF9Y RkJZVU50Mm1yZjZCbmJXcTdHTHlEX3ZTIQ0KPiB6Tjs7VTliRGtmUEV2JUk8KlBpcEJJQGlnbWsy bjNCRFlkTEhjRDZpcitFU3Y8cmNaa20pfkJvXzhRVTI0WiZKDQo+ICg2DQo+IHpFM35ASytGWU5s UFMhQWtsQDsxZjw0dGE+Zm0+LW1WQ3FgJVpmLWV+czR1YjlGPUc9V1RjYlhrSEJXWS0NCj4gaj0y VT8NCj4gel55fDIqUjQqMiN4KXJ0cXpKIWEtDQo+IFl0PDwpUTc+NyhjMTBxUVNqcD9jVVRgX0NF QCNLczwpXk12dWtHelVJQ2QoRw0KPiB6Pm0wcDxYd344VFZPJmJoUnB4TjVMSWAhTFRFIUM7U0sq SjM/WEp+QXR5WmFYdChGKCUhTVZXcVR5VSt1cg0KPiBvJiE+DQo+IHptUm5pZmlhRkJhTilGcEoq WFAqd0RVSE8mTHNuPitSI3Z3YWt2eSN8KCUyXyhSajd1dmBBY2c4eGpJfEZiezxsDQo+IEANCj4g ekdzd35Pe2pATzUxT0s4ZkF5PmRWRWwwdys4VUQmPHQ3P0MwcG5DYE1xcX0rZ1A9YX55OX50YiZ2 PDM5DQo+IEQ/ZlFoKg0KPiB6VDJZWlM2c3RQWnpOSD0pbWdeP0dnRlpxbXd0fCYpdTZjIVIzNV52 U2FxRGNvMWVoQ3xtPVhsNVB8ZntUbj4NCj4gR201DQo+IHo4b0tYa0BiIUx3e3lBUFIpZTYoRCkx UDstDQo+IHRmUitedEdReitTPEIkckVDb1QkajdiMG4xWThvKnFYbDB6QDglRlgNCj4gemhTNiZs cXJJN29TSUFJIyYjNXtgYlleJWBzT2VYUVFsVkNXaXV5Vm9FMFBEfSpvZ3YlbjNLKDVoelJYbiM7 SWMNCj4gVA0KPiB6VCpOPnpodkJNVGVSQUBRa2tRIz5mSXppTXdGQTktDQo+IDlBfEo2SXM+UmRt fXNGPyEpaDRUNUhpSiQmVjBHPFJQKkl9DQo+IHo1d28wMzczKXxTM1JUTj5GWTdXa3BMQ1hiaXRn KFl5PmJQYGYpO1YyUC0NCj4gN2U8S1kqbk9jUF8pKHopcl9tZWNEVTINCj4gemBIYmdlb2xCZ3Fm XiFhKGxMR19pVUErM1Z7KFBvMSNSMGNZeDE0aTFqYGlgSGhaPisqYm84S1dhKnxVRjJELUttDQo+ IHpeMz4pSEV9bVBoN29wJEJrUjdXYSg8Ql5kbCowcj5afFhgUmhFXk9mZD9Hb2ZpXn4pJXp9ZllS XkctDQo+IEUwZ0Q5RC0NCj4gek5BaEh4JCRCWlBTNXJgMU1VKjImOHNXY1FNWk81MGZqV1hZR0Nj LQ0KPiBpJlFgM1BuPU5LTUImZisjI19GMzFscjVLTA0KPiB6Z3ZqRCZNWEhvcDBqUmk4PGN5T21w eDdRRndNZkotLQ0KPiA7VDJxPldvKD4pTl5NaClQc09LMDV0JSoyN1NAQkwzbFBKDQo+IHoldH5A TDgxaF9vdHxtQHshRHNAYyRINygqZ2FJdWtUJFduMTZebl9FejwqX05GSmh6SmJmPCFiR2F6ZjI0 KQ0KPiBvSmINCj4gekh6cmJ6X0JDQTIpektuR0dTaEQzOWo5Z2B6Vk5TYyRvVWYxeTtKQnBJN1gl WTMxelJXPU5ZUmNTPSlFaVloWGoNCj4gYw0KPiB6UTYkJk5YLXhyS2JiUSk1R3s7VXJxS2dldjU5 fHw4TCFBQXslaylraFpJPHkpYFloVF4oQl9TSDdGP2xzXmI5PykNCj4gekhYK2YzI3Rrfmtpa3dr cThEamU3R1dGcVI5S1RZRzFvN254eFh0eSpwX3B5eGNGfHheUjc0e1cldmRsTnRqDQo+IFp0bg0K PiB6Y1JSRyVAWlZNTnpMPilnZlMkTklsJkBNSCVqSkx+cm1ucW5PbX1yc3VXYUxlVmA8I1hVJiQo X2FocA0KPiBQTDhtP0NSDQo+IHpeSn5WUnR3TkhOWUxoWUNnVGNKNVRZN1J1Ym5kWiRRUUt4ZlFe dF5CWmplbD1wfENeX05uPDAxXzJORW9rDQo+ICtsM2UNCj4gekB6YTMzUlE8bTZITF9RMEh6OyEx TFRyaUtOVyhPQ0QtDQo+IHJsVHZfN0hrMVJNcFYwTlZnPF5qOChub3YwVUpse2o2Zg0KPiB6VylC cyUoa3dCNSNJMDhSVlZVMjRwKlp+eUM7ekNlcXopIUwwX15OS0JTXm43JlMtDQo+IERXUTdITEM7 fVloYm9NJj9ODQo+IHpud21CYnZXMFdib1ZITnJOVWVmME04aE91d0ljKWxSYFlDKiYhcDZ4KXBC a3Z5RkJjJVNlUTF8I3Q3DQo+IE0xez56TXwNCj4gel5XIW9aaGxTQHVaU1hQZVhiYjJDMyFHMmZ8 THVmWWB5RC0NCj4gYCkkPEQwMEBzfEk/YTtaYHAke15jeHBFdiUzdWMqMQ0KPiB6Km1GbSo3cEVT QWF9VnxqJkF0PDtBPVhQVUxsXnBZbVkreXs/cFhAY0NrOyg0PU0qUTt6Q1RGY0BHPDlLDQo+IG9P QCtKDQo+IHpHd05FSEh9eGxjcUJnSih7aVZebTcoRUlwKHVGQGBjfjdtJVg3RmpDRC0NCj4gQGQ5 PCV3RiM4KGFKNj8zZ2hwZVhoPngNCj4gemBfQXQ3bEo9NXElK2J2PXZPPWwzYHpKaUZKMn5eb1hn KlJLbDBSKSg3b0omPz5ZUjxye3RLZiZBbm5jbTlecS1XDQo+IHo3MjBgKlhGc04xbV9LRjVWKT84 Tyl4Q148SVF8ailhJXYtDQo+IF9nfkBEdnYwUk9nJWprKEl4QjdmdXF0KjZxSzxAKGQNCj4gekh4 ZXRYTzkrPUxzSm0jSE9sJD9MKzNHMWowISFmPHFecEBIVUloLQ0KPiBtVEg4WiVValhlNlF8ZTBY aWx5VnlAcTYyZA0KPiB6WnxCYk9CVTNmYE5EZ2ReQ0EyTlJXdiRZKGRVRkZHc2xQVm1YempZSHRK Tn44RTZManxFaFFWWkItDQo+IDlOVyVgVTBlDQo+IHpZNTU9SVcja098QT1XPiZsYExyI2hiLQ0K PiBEMnR4KHhOYTxJPlJVTlRDcjs0V08+dk1ZbVNubkk2ZiNgNTtBa3hySzwNCj4gem52YXchU3VZ S2pPUjJoaCg5TmF0XiNRTXQleTIjSyhvQVc8b2Z5dHx2NUdnR25aTEFOeTBsKTUpdSluZldpDQo+ IChxRw0KPiB6RGJLYFJpWitlRSlDYkZMQDJUbER7KVI/VXxFNWtUPWViVTA9TnpScUluTGZBIW4h a2lnOzw3R1h+XiFxOEN9fmANCj4genNCUH1abUVBP0hRbiVBTGMkKW83bDcwJVlJYUBQdFRjdHdG NiFJMT0mVnFpKE5YMXNacUZkISFKTGBabSMqJQ0KPiBNfA0KPiB6eGIkOGJUWEsqSmZ+VmJBTXNZ TVVrVUtaVUdQU2k3dj9WIWhhRHZ7fmwqKHcrbVFGRn45aW5ZekU5fFJmaA0KPiBnRTBDDQo+IHpI Rmk0QEVeQVgoTy0pbT9oQjA0JSotDQo+IE9rN1lHWW5HaWBnVn5pQ2pQOCpwe21USipaKiFKU0Aq RkJzdWRsPEdIWW0NCj4gelY0VmJmOHhCanEmWCF2JiYzaz9NVyFlfGxoWm47enp8Umd4PzM3eG0p UHAhZFFlWEg0PzFTN3gjdFdaIVl1DQo+IHZ2Qg0KPiB6X2dhfmNfcVNSMXpoSz9wWnIlVCliXmxL NXskMTkrXmc/eiZidzIzTV4qIzI5U15STyRpSSZ1U3VJU2tiSWYtDQo+IHBaDQo+IHohaWx8Y1hY IzY8KnRVcz4rMVo5Vlk7TykkdD54VShqNlZ9QEtNb2UlWEpxIT1XfUhrSyopVD87TTgpSG5ERA0K PiB6TV4NCj4gem10blBXVC0NCj4gIzkoRFltPkdOTGAqTHp6YmJMQ35UV34pZTU7OSl5RXBhZm50 Pj1XRDBLNXRzUzZ3Nnp9KDFfZ1Z8WA0KPiB6ezVvNE4pViRIK3Baei1MRXlEUmA9WXtjUXpNaWk7 Y2UhdUVRUiswVnRxK1lSbGE3QUZOMGw1TCo9cyRqX34+d0sNCj4gemFLd0hDe29WSDd0PW1wcDlm T3MtV3g3aUpfSCtoSDt8IzZlWXdtUEt0SE8oQVNtO28+KzMlU0FpLQ0KPiBpZDxnQj1AMg0KPiB6 VW52VGozfVRsR2xRNlJBUyMxPShOVUMweykrPzI9TX14dUg0REBiZ3NCKTB4ZmRaQWxQWDdmTElQ c3lPWUw5YQ0KPiBUDQo+IHpST0thQCtpQzBCR1NzIzYpU2kxRzkxJlRvWHBHaTMkZE17P1kkS3R7 OHohbUtUR2EjLQ0KPiA4NWppO193YG44TG1LO24NCj4gejNrN3g2TmtXbTFFUiUodCtkVlBnUDFs SzR0TTJwIT58KDB4WDxiO3ppVz1SZW5tYnBnYVpXaX5wTjF3YA0KPiBYVlJtfA0KPiB6JmcjKjAt Rm4qVVpZTEl5NH5qNW5JNXt8Xl8ye3JDRUtpSChGKGFBRyFfbyZqeCskbEcjQWN4MjdPbE8lWmxO PnENCj4gemlDTjBnIytYPXgxWER5UU59VjJPdXR0c1liUXl+biNsakk2OGc+QEdnXnM8WGFxNmFs NXA9XmpyKXlLVD0kIw0KPiBrbg0KPiB6Pm91TzQwSTNxemFacXk1ODJ7UWNVTXZvMDNNRX43XjN4 V1VuYDs0WHNhJjdSSkptYENZYUZOd1Mqcj12aQ0KPiA9aTBmDQo+IHpaSH58QCgwVThnIVF4dDFF M0I8Y1BQdnJEVDcpb0g4fXdqNCUlaGlpJn59Xm4xc1VYZ3wxQ1N7VW9UTT5rDQo+IG9rZlQNCj4g eis5KmA4TUxKdHZ5R1IqbDNzeXYzWiRaNTYzJncrM1Rfb094ajkwLQ0KPiB7QzE8QUspITE1JHMj bVhKPW5STSMrVlRSbA0KPiB6UGgtDQo+ICZwQll7bXw5NXt7XmNNWkhZVSZNR3B4dl8+KjB0MSQr V3pacSMmSj9uNDVaMCVXSjY5M3djZkRVRzVJDQo+IGR5dg0KPiB6Vz0pP3VhYGVNWWIxfHV3I3xt Sk1UeVZzZUxKWXEhVUhuS35UPn1jSU50SCoxbUZIZXRocVIlQDBHRg0KPiBHRU1OfVlgDQo+IHpm MklwKVArJlVOSHc5WH5xfVFBJWZxR1Z0IUR0TjQ1PUYoTHFiITczWGBmcSNXdTJCLQ0KPiBOR0xP e2N7bk9ycXx1YGMNCj4genlfJHdDYDVxbHYhN0c8MkN7UEI1KWlpN3c3WDc0X0N7O354aFNsdzk1 fFVDYyQ3d3h4MTElOyY4Un17ZCN7U3wwDQo+IHo3dT9FfEhDdzB9ZFdnOHc4O0glZ2chNG4kPVBQ VVM5M017VXU/VG5tJUUoJndQMV5uKFJjYF87OU81Yw0KPiB5QWc7en0NCj4gek0pcEx+Oyp1NSQ5 T3FueGQpZzwrKzt0QTJkaHApKCpEJjl4PX17MllGVkpSeHhPbEZ8YDgqe0p2Zz1XKW8qdW5pDQo+ IHo9aV5aZD17cVdWXmR7cHIqK0ZaeEFFYzx6Jmc/MGJ1PH1HYjUlPTRnJl9iajJwYWNJejMpSSpU aWpIUT0xTTYNCj4gfG8NCj4gejR5PnkheDNUcnAmP1Y1bUx7bldIRlohT3lLMlhDLQ0KPiBkYk5K dD5lWk43NUl3ISMjRDE/Q0ZQbT9lWWJXXz9KO3M1ZQ0KPiB6eUVFJkwhSjZaYE1xUTVpXiE2fmVs SEs1RFB3Tk8pOEkjJlZ7Mik+cWdxQkZPPERETVluZloqZ0U7RkJMYjgNCj4gST9JDQo+IHpjX3x9 ajt3NXs/c1psbztDfUIoVnUmcH4hOS15X2tuWW1OdjlIYy0NCj4gXmIxUTNoNk58UjtnQlYjJGQ8 VCp1b0wzTnoNCj4gemRHdWlvWDBPZ152NSpIYmEqeDl6bTlvSzxmIWEjV0ZaO0Q1TkozVkcmeFNB PGNlLQ0KPiBBdmx7ZT0/bjk7VUkxI05SMg0KPiB6PDhXI2Q9aSVEeDdlLQ0KPiBJZTlEPGdHaEMq cjNWO3EwfEN+YSFkdkpGNXxQKWpNN3ArUV9ATXFQP0lBQWBJN2xmWCFIDQo+IHoleVEtDQo+IGMm K2xrO3Uwejs8KVhYdDZrWElzU3NVQGNUNFd+IzlUSkkreE1KdFAqfEZBeyg1K347YmghZXgjJFpW RUYNCj4geis2VjJhQ2JVZkF7JmNSdE5NQ21qczdNfjhKWCt7e2l7fG56NmpHI0dBbElsSEpgZHwq VCpEQyFiMVMqSFNaWA0KPiAjXg0KPiB6OFA0cEE5MHR+Yk8kNV8hbWJkTXVkb29ZIXBuWmdJYFJg anM3KDlkViM9Xyt5SiM3anx1UG44empnUEV5cEo7aj4NCj4gemRPdz9mQ3oxfEpWMFBYJSo5XklF cTU1ZkVwVjR3TmVTMDArUUxoN0spPzxIOF5iYCZVUWF3MDdoPn5KRw0KPiBLLXtINQ0KPiB6XkFz UTlRY2lYflpLSzZ+Jn45IVdAUT1QQE4xeUtaWVZuRHdhaEZzMW9sZGYqWFJTRVIyX3NRVlVvcA0K PiA9YzkySWxFDQo+IHpoMDVRV1lTSHFhT2IqQFg0RGtwRHdNIXJBNVI5dm0mPno5dmttaHJrdmoo TjdrcmxVej0mZGNGMylmJA0KPiAwem0pTU0NCj4gek8wZV52ckQmaEdIKUVWaz5UP2dNXm5UNWZL TCZyMVVkJk0+VDVDQyRMMnV0SXNpU2x5Yl88MiRJPHkoUE0NCj4gJighPQ0KPiB6XzNvZEBMN1BO T3IoQ2JmSWhRYTkzVzNZV2ZuZU9hNUhgKjd3XlJKXkxWQjBoXisybDRwbCoyUDA/KDg9UA0KPiB1 SHM5DQo+IHpnalRkfUY1TjxPVUBEOCVpcU4oRmUhQ1NudzNiS1lPSXJETFh7JGV1KStrWkw/JDZ8 UkI2NT1fJn5Ubio8DQo+IFBLJX0NCj4gejNzMjhUXmV7YjYxVjdlOVlZOFFDa350V0IhK2hNRGo7 JCEoRVowZXVyRFV9JisxbStrJCMmRXVSfjB6WkgNCj4gcz9Ydg0KPiB6ZWExU0pzaCErfngoaylS SFB4YyFDKzN8UT1aPUNPZ0JoUlVDK2ZiTHI+UEFHJiU0az0kfmUzQUlaQiohaA0KPiAlRlJiDQo+ IHpGbH1KRDZOdmpUb3RBVmxtYSgpclczOEFgSm9EbVpgaUkjY0xqUztYbW5nR0VxYVlTR29uNG9o TWUxVERIVSRqDQo+IEANCj4gejd1I0ZlJilHUWUzQD0pUmlQbmVyd3NpflVhcVg9JiVAI2A0IVcx VUlvVihORmYlN0NSI1E1dSgyTWUNCj4gV0tjQHtSTA0KPiB6OUpUUU1ldkR2Yit3NVNWYHpMK2lI dzJUPzc7TW1JdSN7QShWXzZPRjxYTXRZISZvOEJPdTJwS3hyMW9gDQo+IE5qLXkkDQo+IHp0fW42 UTw/M2YoPjRVXl5iKFlASUpjUTxeVW1pcVZnemJISnJnbVYqTTExNSM/Jnp2SCpNR1NXRjw2Zw0K PiBlU1lEbVENCj4gektibmkrRlAxOUpJQ1lfPU15O2IqKlI1QCYlPX14JVAybTsmZzxfRmtgQTJJ M28+YjB4OFQrJjVIU1ZaZjcNCj4gd1VBSA0KPiB6Sn5pTkFwUihBYStaUzd8VT5TIW09YTlgZm4k bnhuMWh4K2NiJkRnN0M3IVZZbE0tDQo+IH5jZShpbWQrPHs3ZGw2N2lZDQo+IHotDQo+IEV1I3N2 NlchJShOUSR0WTVnSkdnQmg9Y0g3fDheM31AQj5hc2JtZUgweSFQJClZP1ZiT0J2PTlFUklkN35K DQo+IGIrDQo+IHpOdjtSO2FSYXU2MmRZWjM9NVBMOHl9RTBSSHV1aUJUZj5xalJ1NkpJSGtUQnZN RkJrc1NTXzA/I0xrfFIwXkZfDQo+IFUNCj4gemxtYyNJNCg4KUhPTl4pMlgrLWd9ZE5vJWl0cCFP ZVZCc3tuU3l7Tz1PNVFBJUMtDQo+IGxBfHozXihMVzJebVJzZSgwMw0KPiB6WVk4KjcwTGVyJUkk QmxLKXwhdlZAIUBnR1YmPzslaCpwXldvbXIoMCZ4R3lzMGJgJjteYjlMd0E4aEU8DQo+IFN3Nk1U DQo+IHolTXV3PmYjZnVuZGFjXzNKeypfd2BudjFRVG0xKWRKRUQ2cz8haG5tSFY0TFhNbGtPei0N Cj4gbjMqa3RObnNeN3Z3PTYNCj4genZXeG0zcDVSSEZZO3pqN29aIWR2O0FzVVJYT1A3NCM0fkZ0 QGRqYzBuOSNDQl9Dflg9Qm5SMU5Oczl4cVkNCj4gdi1Kew0KPiB6UlpjU1FXaGBwVmc0b1NDblI7 eVlJWC0NCj4gTmVQTExuPF9GT1lNMHRfaGU2eXtlPGsyN3R2JkxVK0NwNT4oU3tVfCooDQo+IHp1 OyFkWU4hT2VtLQ0KPiBKQ0FaYTQ7IUdkeHRqMUVZbE5OZU1GX1VOZ1YxPXJ2YF57K0RtX1dXZENx dGU2U3o7V0JTdj4NCj4genFhJXFfWjJTdHxfb3VGYSg4STwxKFY/TU8zUXhGPzRaKT00JmkmZDtf NU0+Iy0NCj4gSFE4VCZtQCN7UU5LRnMtYHttIw0KPiB6cFFgIXl5PDBKRV8zc2FGPlF7JSZgd2po Uys0NTZYdGJFQy0NCj4gdDZzWUwkSlUobzwxYnRMQH1HRmM9fEF+WHxMdSVkDQo+IHp6VXJzWGVE enNCPEUmZiVuekp7WWI4Z3BwPVU9ZH55SnU3SDx9RipkVUFYPFZKMSpMSkB2Y2pEeml2O2d1Um8N Cj4gcGANCj4geip0Pjc9KCN3WDFNQEdrOUtifW5PS1hDQiFFM1VsaShBOTU5QUk/bDxiTUU5K3pI clR2OyZpRTh4ej8tDQo+IEo+TkIlKg0KPiB6XlZoeGNgWndNMTxfP2M5Z2IkQDFeWlcmQUJjdmh3 TWU2T3Z1SytEOSZyezV6eyZeWSV3Y2teXnBQDQo+IGFgIVdiX1NKDQo+IHpCNF89V09xRkIqRmJ9 WGxIcz1leHV3Mi1aYDh9NGh6a2IhNjZaMH1RPSQkUS0NCj4gXnYlWlpAbm5gTW52Ozx1R1NsTFcN Cj4gell6bFFFYSphRENmKlIjR3BJNTdTMjJWaGd3TEQ1QSZNK0wlUXN4YDFYWU9jT0paO1dKV2M9 Nz5ufSs0TC0NCj4gZTtfcg0KPiB6O2lCOX1UISUxY3E+UTFvRl9OeUM9TTQ5PkApM0R1KCYwQjFj IXxFT2dpLX1QSVFnMDdybVpJRHhxLQ0KPiAkYFJfYmtrDQo+IHopXjc3a3kmV1JGUVpJSWhWbH5n JkdCVmglblcoTSMjUnp1XmV7ZVBIX3NxJlNFJEB3VjdDYnFwPFMNCj4gM1ZBNUtCbjINCj4gemkl MkFKYjBgfmMhJU5NelZRQEI3dygkenxMQlo8MTxWYEhydEJVfihtcGtZOyNBKzdoKX0/TSRabmtX NWoNCj4gc252Kg0KPiB6VyN7Wm9eYjV4N2xYOGVfYmdxXkxWKlN2bi1oKihZb0tWZmc8UXZtLQ0K PiBOcDglYUJSQEY8bzlSb2QzRHk5S05tQSEyDQo+IHo7bXF5YG1MSmBlek1BV157Y14yR0RuPSgw OXsxVlk2d1c4OEFJVjRaa0oyeGd7bkNlZjhfdmhDRFdqYX5PDQo+IClWXlkNCj4gejFEPm9lWWst cyE3b2YlQE16cXp+dkRzPUM9MnppVCpgWn10JmBzQHpkRGFkb3ZvaHxJQmZjK0E/IS0NCj4gYWJH fW49KA0KPiB6fEM2MXx0QHpFQHImTSg+TzA4JT14UF5BWlc4Znc4NFM7QSNtWDZoMENNX0s9RVU5 Y0JBe1BXUWl5DQo+IFlOe2RCbEUlDQo+IHpDdWo+Vmc9P31rUnphTk9ETjdLbXtnU2otanY+P3Nf b3drMjY3QVBaRyotDQo+IEsxaU48VFVIMGhwPSQ1QWdvRHR2Wk0NCj4gelhqQnNIWXVrKSgyRk15 ZWBIZ2NiX0Q8fTMqdFdQKiQ3ZiFnaWxfQ1I7bWRHdVpvYnpPeyNwVTBiNXpjU1dtDQo+IEdlNw0K PiB6TXIrM09rcD8mRUtZMlBBYXBjdzZjYE5tQT58ZXhZIypFNWFvd2h9MzlyUVA1I0khfFMyJiF0 bCtTM28wdEMNCj4gUTVKDQo+IHpoOz54M3wzZ2tJdiRhJEAoVDxuYm9RZnZqK1glfHJkfHNPUXdo IW07WS0NCj4gaTBVcjskZkVjQWRyXz1pemQ3d3RucE4NCj4gejF6WHlLKnwtSiF3OVF6eFJxYUxO OVBnUUc8UC0NCj4gTXY8ZGw8OVBDST1tcjsrTzZSJVAjJXJSTFlIdWRAfSkqO2sjVg0KPiB6em4j YjhjKiQmX1MkRlowcWV0SSpedjB0JnB6TV5sOSkwVWdNXjloNTUre19zPHQ9WW4zN3RzcShYcGVx O0l5JT4NCj4gemI5YW0jSmN7JGphN2Z3TSplIyYyKHs9UWdxbGwkJk9qJG1rVSR5R2d4a19jV1FW RT87MjUqMUY2cjY0PEcNCj4gZE88Iw0KPiB6aCRsJCRJfGtHP0B5bmdUPzNCXyg9R0kyPEU4KSM0 KkR+czA+UCRjUXt2R1hzeCQ0R0tGPWhUSD1QaHVvOTZqDQo+IDYyDQo+IHpVT2tHUVFEKkFPcXxh fEdha1owVVYlb3tjblRUdnRYNjJKVVR3VU9weUUqVGAjP0g9RnFZbzw3dStsDQo+IEdRSzV+flMN Cj4gej1WOUVKV0BlO3Z7KGx8MCVoJSMwWnwrMkE5UFdncXtqPG5OIy1qdzBlYlAqYVY7YlVZLQ0K PiAhV3llJGZvcT83PT5wWQ0KPiB6dSVEK1NHMXRrKGl9YjJOR0goTkJPWEVYb2twNn1uY3RXSmA0 WV9DKFlpbFd0QW88SkZObkBDVUJ1ejIhPTQNCj4gOF5CDQo+IHotPktuamZNZG1XTjx4YEBHVnpo VW1oRTcyYWBCTSplZXYtUy0NCj4gOE0mMD9jaFNEO1M0WEBwN19sZ1lJbE1qRUUtfUwNCj4geigm cmJUX0cpUSVJbGBLailDb0ZzYihuSUVRbURDJndAKyhSekU8ZjR7al48OSo7fnB9Zjw+fko3UldQ enhlaw0KPiB5NQ0KPiB6ajYjbGNnKVI2N21lRldOc1UjWnEpfEJjNW9vSDIlTCsjfW9feSZAJlRg SUJ1bzZ+dSpzbmVQLQ0KPiBVdT4rUntVJXBeDQo+IHp4YUooM2BxPTZEZkh+TEZqNVhPYXUpZHFN LVE7eSV0amBLWXp+O25Eais0OW1KcWslK0kqMy13NllBcjVlPzVUZg0KPiB6VFlNWXItKFh2Mm49 bVdUVykyajVOanJNRkQwN3JrZ3JuTWlTIWFePXVedWdfMWJYcHxJYCYtDQo+IHlkaUoqK1BldCVD DQo+IHokRmowd3orS2ZtKH5kSzg4UndoT0pNY2BJITB9QlRkOXNibCZMXihyODRXZ04yWCl+KmFW ZWJ0cHplaktAOC0NCj4gO30NCj4gemgmWjxHbE9gVyVNR2NnVTQ8dlY1SjsqbnNAd0dNSlpSb34j MmwzcWVjMFZsRnc9ZHdjcXckX0pDSjQNCj4gPkFnTSlnbA0KPiB6PUZfVncoPloyZml7QHl8VjdE SWs5TDtiZ1B3Sj8zZThXUXYjfC0NCj4gOXVsTVQre1M5RjZYIXZwO09mSnJaXiNwY3w2DQo+IHoz dmRiWjBJQUFUKX5QYCg7Z0BIK1F8flM8cl89MnZudmE8eVkrZSR0RmpnbElGVWQjbjhjdlNJYCoh czlWOXokew0KPiB6UzFDTT1WJjVuPiVvbmcqKTRoPGlPOVZSfjt7Xn08TWUldCp6RTYlMHF6PVok Nk5lZmI3N3ZNMEwkWCUNCj4gS0tHO0pTDQo+IHpfNEZSWD1LRmYoJjtkTy0NCj4gOUN4U3NhcU9S YW5MRHA9dWIxZmMmaXVxJmpPcFBXXk08Iyloe1hAWSNzK2M5QSg2dz8NCj4geio/QW82aUV+Qkg9 WSRxQVZ5Rkl4RSEpZnRkTjlKXjhyMlpPUXJrKWlrd1FEKz9odmpeQC0NCj4gNXAxK2RraGdVMXxa Uw0KPiB6eHRGdjNnVlJeWTFGe30/Xjc5aD04dE4tJCNZNk8xb3V7TG5nUTI3U3VET2tOd2pMTUdF M245LQ0KPiBUciglTHdWSVYxDQo+IHoqPCQyMnNubHRIR2llS3IrRll+YlVUZHV3PihWP1hDJG1q fXc8ZXBVTndmP3Q9LQ0KPiAhP19FPE5RMlhUbz0kNG8xPlQNCj4gekRURXI3JnBpOCY9aCstDQo+ IFZOalhkSEgydElMOCh5VXptI2NpVSRYfjlgQH4yNmlHaz9qbWN8Rzd7PFNYYHhDR2Zwag0KPiB6 YisrM0JiTDJSVXIoRj5yOEU9TEEmMHl7JlIrcUEoJU1uYlYpMFRMRm91WlUyJFchditPb1BedjlE OHcNCj4gVyNTc3FZDQo+IHomNyNaVTIqVEwqYUw/cmtfUigtdUI2fjU3V3Q0ZlplMGU0KC0NCj4g IVQybyl8V18yTm5QcUlqQlJ2dUE/PVFNRz8oJngNCj4geiZDP3Q/dkd6cSpFKSk9KDM4T3RmOXR5 TnRlfmA4YDNFRnlrSlo1VzNjQG5kWC1vITNJWUtUfnleQ2wlO3Z8T2g0DQo+IHo3ZlE/TVUwR0Fj Iz5LfE5qTlhsbiVGXmxDcWtTVktxI2lfPE9ISDVzSiVJfTU1JHVgVUlqMWJqbXZYdm5wDQo+IE8m UH0NCj4gemJZcCE0YmZWciojX1AwK2o/IyhzJmhMVEMqOCpubk0yJGYrdTZBQ3tZNEdmOThBKSZx NXY7IyNNcTJEUyFnZg0KPiBZTQ0KPiB6ZG40YTxtajV9SDthdGV6QVo/KHt7KSVVPCZ+aUBxUyM4 RlZHZmZhOUlnaXNuclUoMig9Nmtvd0RpWm0wSiFsfGINCj4gemJzPUBsNDImbD5RdHpENm5wdila MW19YGQyUEBpUG5YU3AkPFRjUVdeUjtRREREeEohMTNUQGApNi0NCj4gNX1Ydnk+Uw0KPiB6cSU+ UzlJKUhvOERtUVpsdWAldTRtZ01BSztaTSNvYkRCZV90ITBediY0b3k3ek0rK2otDQo+IDc9ZCkx dlU9TWtMI2MhDQo+IHoxJSlTTiV4bEtEQ3lVPXFpI2N3NyVleko0SH1aenF3byhxdHNyNEx6aXlv cldjdU84OGItDQo+IGBNQWx8NXZ6ekZfYTQNCj4gejM5enlHWj1wUmVHMU50e3BDelhEQ2xsa3JZ PjBWciZxV2UjQWVmbTh4MHt3PnpMQ1MwS3p6OT5OeGNKfl8rDQo+ID1SKg0KPiB6bGZ7bmkjOFdh bkQlTDJoMlZSfChPSj1fWHYxYm0hWHZXTyMmMXtiSHcrSnZDI2djYShBRFFPfGM/dChtSQ0KPiAp ejczDQo+IHpsclE4Oyh+cHtVYWBRfVgzSEUmdVBySSFxUURmSTN6S0lvR08+OSttREw/dDZxR3p8 a0QkWmhrYWUjeUF4a2RrDQo+IE8NCj4gemB0fjVMYVFPQG13SnVMRU4+SGQxX1UyfmZWX1NaYzJL RzJiWClUVi0NCj4gKUY/bHhpe21VPncwUU8jM0Ewc085TX5BeA0KPiB6c1I8NSZqVDZVZHY/fitj S0tCRHFyXlM4dylFI2pyQW5uNCkpNF88aElYeVk9Z2VNKUQ5cHRQI1VZK0g4bFl7DQo+IFY9DQo+ IHpASjJJXyZGTUspNyNFJWclMjdBcDNiKzArK0M/LV4hRndVQEEtIXhtMlF2JCl3USQ+RS0NCj4g eE4pc3ZWaTN4emY8R04NCj4gejV5OD9OOHFGdW4+bjVHQj9YJSYoaDQ4aDx1WXpTKjk/RHRmO2hs JWdRbVdKWiEqazg7SldXcSFXSHgmDQo+IFFeOGVCXw0KPiB6dm43Tlhmd25HX3NTKHpmb1Uza1F6 O0E8QDVXP05FITxNYGRATnd7dGIjN2ElTl5QNjhxYlpYVWo5KWYNCj4gWEA+YnNADQo+IHpXN3k4 TlNObSg4Sj9NakVPaEJ0a2ohOElBa2x0NXA4YzJRVm9CMXFqPyhDYW8tDQo+ID1xVWRuWG10NExT dDZxe2gkNEUNCj4geksmOXs+SDUmMzRlJjcwT0FIRVF7Kngke25gN2EjKU1pdS0NCj4gbVF8PGxQ RGNxIWp6dlpnRUtOSHtpJnRDbH5leztSJg0KPiB6ZjdsJGI/OGU2NXZOa1ZNZ0xIM043V14kPSo1 MDNxLQ0KPiAoMzNSZVh+PnhVezBzdyYqYUZiO0NgKVl2JXIzXlghIU9ADQo+IHo4LSFZYGZfdTRK d3YzSjc9IzRsMT85RmRePihBWnReS1gwbXQ/IygpN2pGTj5jZlJZNlU7NT09eCR7P2w/WjNiSw0K PiB6KldkSHJ5WTdEOWB8dFVVNH05PUx6eGlBTDxLRXg/QGI0Vl4kblhCJWVJTmJVQDhBQ2lmQjVr U0tKbSM8Sg0KPiBeMU5BDQo+IHpga3hRfEB0XiMhaHlWMT97YFZ1RmBTWlZjXmVfTUZ2eWM3dC0N Cj4gK2I9eiZwK3tuRk1qRTd6eD9EXntfZ0xlYGlIT24NCj4genBRciF2WXliNTFmQndKIV4yfDVC YEtAUWF7aGp+ISs7X2tDe3BiSm4tK3U2ZEh8OHo4QHZnMG5jYHRWUFUrbnh9DQo+IHpGI1ZVPjdg ZD4mLVdkNX1tJXA+KTdtaTU4N0RDU0I0OTFJTDlpPj54US0NCj4gQEVqczlFdiFeY3Z7RzhwfTN5 ZzQ4NFcNCj4gelVxOSZkX3tAfSN4eyt5ck1NaCFsVyRSeUFIZmoqNSY2Uk1BWDw/Nn1PISE+QSp0 dF9+b3QlMjNNeWt8DQo+IEN4Zz1iTg0KPiB6JH45ZHNOeEFteitjYGJHbFY3UCZEdS0NCj4gKk1H bU9qTyV7KHFPSmlJQkYra19palc1WU9DMClYQFdhWGBEUGx7RU1nDQo+IHpPeWVGT2hBSHprejdZ ZXh1bXIjLQ0KPiBXOW41SCo1bTZqSXRfZUNNc0c5NFhKclo7YFFyO1NTJnE1IXVeRiQ5TCt6USoN Cj4genJKMGh4PHRKdjR6Q3laOFF6MCM7MTFLVGh5aDBqYCYkeGBFQGEzQWlteEJrPl5JIzh3SkFC aXx0TlFRb2lKT3cNCj4gXg0KPiB6S2o0Y3VgVkpxeihaMlcmajx9ZmA8MShIP2MhaDhaVkhFdUpU JEwrQldfXnd0M2hITE5kYCpkMjlwVmEkPl5ZDQo+ICsqDQo+IHpoaiRnfENxJVBiKTlxfipHWHtS TTx8QD1ZUGkmVHBiSyVhV1BtOWg4e0NUMEEoIVBhKzs5ekVVbyN0O1QNCj4gNFprUkUNCj4geiVj VkJrOT9yWDtZey0NCj4gKyYoTTglMnQ+SjlTcE4jWmRRUXB1IXojXmJNSWJiMD9MPVUkI1BqTG9y czcqVTgrMTEqYQ0KPiB6YmIwb0w9JUlzQEpBclN0PExVQnozMGdEQ3R9KVJJd3IqR0woS1NkPFBG SGBTXmJCZz49RGA8VXwzU0t+YzwrDQo+IFUkDQo+IHotDQo+IHo+OVVYI0k9KVhecExFRD5YPCsp JlRjIzg5bVlmWSpCfT5qKj8pWmFHQ3VyXzhRSkdZIyNhJWhQJkxPeVJhDQo+IFJrDQo+IHo8Kkk4 am99aGtQJllOcWMlYVFVMDV7enA9dmh0IUQ/TSF3UE03NDNtJC0jSSopLQ0KPiBLc0BxOUpWaU9L UEN6ZlJrQXsNCj4gejVZMWotDQo+IHFlKipQYSZVbCYoVnd5O19HKGc4Q24hQmpZYTdvbmNHVEUm NnYkUU4wPik5VVVUdEVaNzJ2XmlqQ18lRA0KPiB6Yk0zb14rRFc0P3FYaktAZHZobE1Xen1ZTjUj bWEwcWxzLQ0KPiBWMXo5ODVmdyZqcFBiayUxT3hjQkMoe3swVjxidGVeDQo+IHphcj0waFNjMnQr Szg3WXc7WVdATTdOKFZ+Pkl0UlYmKTM4e0BxRmp+UU9FSi0NCj4gOUs7SiZaIVhtSjY0Y0ZOPD5s RSkNCj4gendEfnlSZTFtd0I/LXJaXyNUKlQtbmRmNXBQS1V9JVRUYUZgSjEtDQo+IFdpQUNYTEU0 UjAlV2BTfGhgWWxlVXUrc2pwQQ0KPiB6Tm0oflhAKGlFbFV8T0xUZjBfbzEoWk5YVzxFNEtQUGpJ NSRlTCgkX0EkTFcpJmh6eWJsZjlqZ19tcUNMTTUNCj4gWDRRDQo+IHp4eXAoRCMkSzRgan1Cdj4r OzlVRWhNQ2VEZWR6JSpvNnV1U1o+bWhBM2hKMnJ5MURLdWo+TDMxa0BCQzk7RQ0KPiBjVW8NCj4g ejgzQX0hSCliT189TnoxR0g8Nmh0QlRUaGl1alJYcztFUCNVTCh1bmBOZV5GYFZ2WHUmJE1TUDV6 aFplTmF8DQo+IEg4Vw0KPiB6b1I/TkJjT3djY15TdGdYekRCUihSeT9QMVUmNWhYQzNtKl9JeVkw eWx5V01NbGZzY0RQWDFINEZZMCR3DQo+IEslbk1LDQo+IHpjIWU2aUNXWkhJWC1kRChVZ3pxMG5N dXJxeiF5PDhuKVBaMS0NCj4gP1Q/cmZsR0NecGVLO2tTdk9heD1EVj55VCZJQz0NCj4gelA/aCpS PENmZyg+VFp6O25zOz4lNkdLZVUlKElsbyhkQjhwYkc8c0UxWXZOJXdUPXtlaG1XKSVWSDJrDQo+ IFc4dFBEMQ0KPiB6bX16e30lUn1Lem19entCMzgoJXdvPFNGVTF1VWNJeiRPZ3ghNWtLSnYoajtr UEJsfVUkPmhwN01hRDBpbzJgZQ0KPiBRDQo+IHpRUUBkO28rOz9MbHsmcysxfllDR0hqNTh+V21y VEQtDQo+ICl5OzlvfU1UJG47PXtzWEIlNDI2WGp4STIwPV9aXyp4TUANCj4gelk5dGxUPEtSSV93 fkZ0bGQ3MH05I1IzWTN0NW8pOC02PWVEbSojT19NS3hMUENkeC0NCj4gcHdvb2BjZkNtYDgrdGc+ bA0KPiB6VzleWTY7S0Z8ai0qdkxRJjJ6Q25odUo8cDYtDQo+IFUxRSE9VCp4bnYyaHR4IUB9UVQ/ VUUoa0xYUSRaWWk1QFdNaUh+DQo+IHo+Ryl3bCRWfD9QR3ZPOWxEQik5TE0/VW0xI0olKyUxdmMq Kz9UX2I2YHQ4czdObX5vcm13Q14mV0EzDQo+IGozaHEyUGsNCj4gekd4ayg4PyFqJF5pM3dLfC0N Cj4gVDBIWSVzbWg7VCErZHUmbWNsQEZLdFFKU0ZUPElOZ0JtZFk8SH5HbnVxZjlxK0x7KA0KPiB6 Y35eeUMkKU11TkJmLQ0KPiAxck8waDZtZlhicnJqX3V1Vj8mY2pgS3dkUW5pIUBCR3hgSCRkRDlB UzUmUCFKSEh7TG1aDQo+IHpWR3k8UGpgeHE7bFRlOX57cHg8LXl+bFUmKU5WfU80dEhkelB1O0Fh YF8pbW5TTUotDQo+IFZ1R2o5TXM9QDh3bXNFJVMNCj4gel9lMXtrNCZWUTV7aFUmIyEofT1PRjd0 YyN7ZDhtTURlVnJhJEY8dzk5QDFgfng/ajc0Pk88UFNSSn5pZlNFDQo+IGAkfQ0KPiB6bl5ieDJy cW0ocj9wMCZqLUxLLWx5QUFIWmMlTTMzeVp2Z2RjODhTR1pjO3QtDQo+IHpKIVY9VihOPzk/Tjwr TGNTemxADQo+IHotSzY+dSt7RFBCeCliaFREeWVSVEoyRT0xPTZwQSYtNFFoZWNQIVBYY0VDKn1s ZDRPKmVkLQ0KPiBNRDR5aEh8OWFZY1YNCj4gelA1KnhObjBEanBBPyomUlc3PHVxY1daYUF4PCRN RClTUHlRUmJJT3xuTmhvZ0R6NHBfPmVjUiolRg0KPiAqdClUQkZfbA0KPiB6PmlONXYmbFQhdj9I KjglISVaRi0NCj4gUD47Zm1DejkkQno4fjRFOUBnJUReXm9zQTBDI15mcnRYOGd3e0trQzMlN3NZ DQo+IHpoYE5YRm1CN3pgZjI7NF80MG1LR3VJQXdHeUtKdjJeNytha21HfDk0YTJiRWhjakl1ISNz fTNkeFhBO1RzZn0+DQo+IDINCj4gemoxNEZVP3EjNnNUS3s+NHxOUDgqNkRwTSYpJVgmaEMtDQo+ IEZAOFFNa21EX3xzanA9MmRHPlVBdWs3bnBORV5QRmI7TA0KPiB6P2I9blpVTnpFP3FhekpERHF8 Qns0QGZLTFFIJj5gcnYhKmpvbzY+aSZ4UjNncF8lRSl4bUU0UDw7Ymhtcw0KPiBkRFkqDQo+IHo5 Nm0yLQ0KPiB5JkJQVCheKkFaRCVtJkxqZCR9SDwjNWhnI2pYeD5DWSFNPlAzc3ZtWkElTjdpNTN1 KGQhQjhKUV8yOGQNCj4gem96O196VyRVJG1QRylzdXcwe2lxTCtHUjc3TkZzekI/aGhUajc/OHE8 NHprZjhOYkAkV0VObiprdWJETw0KPiAzdkA9Yg0KPiB6I0Z8NlNhJkAqYCFiUXglb1RYVTs3bTw2 U3gmcjFOU2l7TEVwN1YweiQjdEFPJH1ZTUN2RT1NNW9fNnt8DQo+IGViemR1DQo+IHomQW1Vb0kt DQo+IDZnUnd5RW5APDklfSlqc3FeRlppdUpWN2N+OUl6ayNOUDZyblhJd1BPc35kMz9qXjg9UlJC RW43XiENCj4gemhCTCRhZzR3Mnh5PUxvPmVie0ZgZzR4S3B4PGIjcjc3cmNsRW5ZaDF7VktlI2M9 NDNPYDspbmdoYGM5ZHJfR2JXDQo+IHp7PjNsMT0pM317Nn4oUUJTKUpNRzlAZHZKQ2Y1LTtGUW1w IUJ0cTFKU0lXKEglNV8oSjR7JkdPZnlqcC01N1lMZA0KPiB6P3tSTUE9Klp5NisxZWY1cEU/YDBM aE05I1U1aGZFNDdgfjd3Zj9GbFhVX31NTi0NCj4gU0I7SzVqfW8rSW14X2J7NE5fDQo+IHpLMD5j SCpQQ1cqbjElVkRKX21NRGBeNy1fLQ0KPiAwV3hYT0FxIUF2S0A0YGUzT3VGdmhVSUNmMWIkWG9K XjV0PG15angNCj4genMzJVh3Y2RZUXZveSVlY21TNSs8bihqamh3ZjZhYmJeREhaeVdqdTckR0Ij XlN+bDNETDJlM2pJIW84LQ0KPiBAKElfUA0KPiB6ZTJnNVdqSXMwWWU3Xmplbjd6WkVHSnQmXkVr SCNRWX1UVStZSERURjVjU2Bwe2khMXE4NTtHTWAxRF5helN5Uw0KPiArDQo+IHo8KXl4ZlcwJGF1 Vik7IU5rcXZmPnFWTEo2bW1zZ085MV5gNCVocnNpKVNOdnxIZnVRPzJhQigpIUcoOGh2aFUoDQo+ IGENCj4genU9MmV3ZCpgWGhjOCYrK28yVSooKiEtDQo+ICQ1eHlDezdaZ3ZySVI2dmNoVjheXlQy OVVqcCFQdVpwKj9ARFhNS1V6Kw0KPiB6N25NfmNqKX4zTUtURm9gLQ0KPiBkTlVeb2RQV2Q/OXgp SUhtQW49QyZ5QzQrdlZ6ZnkkM1h0SV9LRmI5SEUqTS1KJigjDQo+IHpUO0ohVGs4fmtUaDRNMUdD NTd6Z0IrfSFLOE5OUnNJZEctZl9MbittemJ0a2E7PlhvMD5kU2NySX1CdjMtDQo+IGRWWEQNCj4g enE7QUlQKzNOSUAlWEg1MmF8I0AxPC0NCj4gMTtLVU9mZXdkOzdNeStXNXhfPCFwfkAqfUdyOUF7 fjs9ZCpKXko8VDdSUg0KPiB6dCs+RElCRHNHWV9oVVFkb0BzV3JKbzVjcihwYnRQVXkoOFVrfF9D ajQjdnNxcEN4X2FDbk1RZz9QdXMqDQo+IHgjYzc7DQo+IHo/ISkxWig7VThuPWMwXjx6e2ZsaCZg MmE9Nm5zeUl2dHY/LT56bXxZP3N7bUphOFo4ZVlFPHx7WSZpYChJT0JgKg0KPiB6aCR8MkJ5fX5z MVEwMExZJmxGQCV0T00+JT02WjJQdytFNHE3eDxEZW5zeD44WTNyfmJzcGM/Q2thY290Rg0KPiBV QClHDQo+IHojNy0lbUNuPSVRalg1KikmZEFUVUo3UElaKzleI1h3LQ0KPiBKeDZeaEJ8MEExQz1U aXRNdnM0YXA0TD1gVGFjMzJFJWUNCj4gej1mPDJONHQ+aHJ4bkxIanpsZXxVSVF0NSZNfmt2fkMr PTNXVVpMVzlFMmw0MGJeU213JiYkanNsS24wUz8NCj4gcUVGeA0KPiB6dDcpbkVpV15EZnU+S3JA ISohbFEpflYlcipvVDlLMHh4JjJJdDxNP3pHSWVpWDdxVkdQUFNaYCN9NzIlVVkhDQo+IFQ8DQo+ IHpJOU1YYGR9SSYlVlArPFgoXyRmVWM0I340PD5zKm4wK2dfMUY7fVNKM3JkWSNDeV9KQnFZaiVl d0Ezcz4kJE8NCj4gcGENCj4geklsa3s8SCplNWg1K3k2X3FLSFQ3VmN9I14wKGRwaXR0SDlTO1l1 K0J0MyN9TnBtXmtndEZDc2tJR217TnhsK0VVDQo+IHp6dlgrbEpZNmNfOCZBYXx6SDcmTkh6fDtC dXQwWHopeGJtUWM0bzRjbkpCVlMweUctDQo+IGdndXxmRCQ1V3w2KGwpVkENCj4gejlqQG5VU25g MVpCMHNHS3piNUs1bDJIfjc0WlZaaEViM1V7VDlWSzV4QUM9NzBCJG57RUQmWGk0cCF5QDU+DQo+ IDAwKw0KPiB6cG84SjkjZ0gmelN8WSUqSH42ejw1IUIlLT0kYFJ9PGUtDQo+IGVqb0lZUT1sYkwk NCl8JW8kYG50K20jVFZvUV5qSSNnDQo+IHpHcURuZ1UjUUxjamd7fkR4dUVpLWdxYjA0cHc0Q3ti bld4eVZWQEl0e3wwPDs7KEVZMmZMKiZUUU0tDQo+IDN2cUJoYHUNCj4gejZRQ1AjMHBOVlZfMTdj SklkQjtWYTA4JFY7Jj54bU0xaDF5ZTdMKmRaVUFmb2JuaVlOdmpVe1NkamZ0Z3p7Qw0KPiAwNA0K PiB6UHBOVzYjMERNfWBFKHVQVWprVCU9VXFyPkh4bCp2U0BTWihyUEZtUjdacypUU1BWKzFAbVZ5 RzExN1kNCj4gJXVoaEtsDQo+IHordSZ4NDkqZUJRUFR+YGRAe21yfkAmKG94SmtzZkVFIVBOQiQ/ JnpMamMqUVJGQHNOMmM7JmtJP3g5YTYpQg0KPiB9S0gNCj4gemZPYE9VMCZXRXkxPFYxOGZXdl5U dVl2eWBCLQ0KPiBBWns4WHlKTzBrfEF+Vn1Melo7aFJseF9XfE8zMko4YXQwQmkodw0KPiB6MG5Q P0VmSE1KUzA4UigyMSpgJEEwO35XaSExSkYtc09KRkIwLQ0KPiBnYlU5cT1eWkRackN9RjlJRzFK TyszYUBDZXt4DQo+IHp6KGFyczBTXkd+Mml5bFoyRGtAc0MqWEYjJjQ0MXtGa2xGPDV3SGdFXiNf bSs7OWtIamZGZldZcGJNWT9Qa2sNCj4gS3UNCj4gejBVaVpCNDdlWH4yakV0flE5dVFkMCZEfVUw WCs0R3p5b2tRcGF2S05ZeT5GNFcxIXBwME1mTW9mUEN8DQo+IEE9VDQ8Rw0KPiB6QDFqbnlMZCpy Y1puOFB+M1g5b2p7eCFGfGc1fmpQJFdPMFpvcn1QU0dvXkJBZSE1KCpJX05gT0VIUCliS3N9Nw0K PiB0DQo+IHo2MWgxaD4tPXp3KkU4aDtSdihvYiopUWs2eHBUOy0NCj4gPGdEKnNAMklQNGQzXkJ1 WUc2cCkxK0kkPSZpRCNuNEx2NDUNCj4gel45PyhPIVZGTjw5ITZ8Mnl4LXZsZDczVTVDKkViOFg+ RHE1JHJYbk9PdD1eb0c7bk1jLQ0KPiBqPGpxMGBkeVdpJEpWMg0KPiB6NUBuYzc/aSNGUm0lVFVR ZWctYU90OXxkejtSKT4kQEZ2anNQM09YSDFgbmhVLQ0KPiBfNFghNlNCbXdIdHVxWiNYX1o4DQo+ IHpzUDB4OWR3UDF7dCpscHkhO0pEUSN2QGlGalhKYGlIJHhOMHd7YGl3UigrP2B7KmxXQE1pMWgm KzRTdThaNFR4fQ0KPiB6ezQ5N0hDb3JUN3JQfTUjSkQ5JHsqS3o+d3dyPXRMd3VfNHA2WG1qUT4k eCYyJUVkVlZ7SzdvcU8lfV9yag0KPiArYlhSDQo+IHozYjlvKzQrOHw7R2FKNWh2MTd2RmF+Wnlf SHdrdilCYzhLKmZUcipMSX5rPUFmOVI/Wj5haFB3YypvNkY+ITINCj4gR18NCj4genorMDQpZEVr ekRAUCNmdlpWWEJFeUpCSkkmUHQmfjVsOHUmPCNVRHV5PE9fT3RDVmA8Qnh3RjdxPW1xNQ0KPiA8 aFRjNg0KPiB6WnZSYCV2M3l3amN3RkBZI3NGKFNrOSRBYHU7Kz1tSXRuLQ0KPiBqKno8K0JJdCh9 cGE5O08xQ1pVZGZGfE8yPzVEJjFBDQo+IHpGSFozNGVKWWBQe3stekdAeUM8Izxsbz0lYkkoOFg8 eTlsTXxKZXNXVVdzKS0NCj4gd2hacVJJfWFzdE40QkttaGQ3dWANCj4genBfWnpMYFU8NShfPn1J fUVyPDVIck1eUEJJKypMSjxSKEhgOUROcFk3O3tve0V5djkqYylrTzAlendgPyUhQWh0DQo+IHph TTlmWlY3JEJGWEQtfEM1a0ReZDgyNWAtDQo+IGRMfSZHaFk8Z3tOWjNgRjxFe2w1ZXw+YD1KQUZH MntmVVIyQypNN1oNCj4gemNQVCN8S0NeNSZKWFpqd1l6KSg/WTw0YHhlSURXTmlsbFc2Jmt0Qj5G LQ0KPiApdHA/MDhKOyV4fE1WdStwTkE7Q1ZjKw0KPiB6S15AIWFGJnVIYFd0WktLaV4tDQo+IFJJ QCpAfmElcX58Q29gSUJKYiY4dCUkX24pJXp+Z3tiZjQ0JlEweGsjSzJIXkZ+DQo+IHpoQ1NObGs4 X1VQfEM/WDBrTlUyOGUpKllVfEEhO35tekA+JWU9eT96cnxaSzA/fmVHdGM0T0UtDQo+IG4qWnkm IX5TO3UNCj4gelUpIX11dC1LYGN8ND0wVEMtKkp4fDRiX0V8NXprYC1AJmtkNnUpPCohflR5KTsl YDEyX0oxVmV8NUg8OHw3aVpfDQo+IHo8aXF8XmBoTDNAX0smODJwY005eDsodFNWYXNSdW40Znt2 YXxMSSFUS2JycEF0XyVDeV5gfiZ7YHVWVmJ3RVgNCj4gd0kNCj4geko/dE9OfEJsPGxBNCNieCsj OX0pPUNrKCQ7ZEcqU2M3Ryk3fEExOWJAISM4e0UoUCMxPkQmR1hLREl8NDBAKA0KPiBnSg0KPiB6 RH1NUmVKKnAwe3tpRkQ4YGEjJj1GNlpaNzdFYENMamZMWGhYUWZZJT53alcjfDNeKl9gJHpmb2tK bH5rS2Q/VQ0KPiBSDQo+IHpBSTwtLUhpWjQ3Xj8wfXw+fkdWTF9AQmBpX0soS0Q+cC0NCj4ga1Fg fG51eUhsM0t4KyFhQiVmM1dWT14/bDNYYURHdyQNCj4gemJGJCs5bHV6ZWRlbjxLfVF+JXxYXyVx THkpMzdofCEoSVI4YUpVYzcySHs+KzR7KGRwQDAwVWtlNF4hPXpDUA0KPiBASw0KPiB6RUs+aHh6 QiVsRnp2Y2YyeDVtX0cwbFc8VVFUcEM9VGk4RDtON2NLK3shI3dAQFNTMSpzR1FwST95IUg5LQ0K PiBvTnlvDQo+IHp1endXNHlXYm8za0gtDQo+IEo+cl41Ykd7QzU5UU8hdUxjdWYpfVE9O04xeDdL YzYpajlvTnd7MiUlbUl6e3QyPEZDVGANCj4gek1CN3BCdkJtd0B8OD45dkAzOEtwYDdIbEA1Ymgl REszWHBpZW5Jamg+aTBlbytgcSRyWl57diskTUNtOw0KPiB1OzJiaA0KPiB6a1hKUFE8YTZRak1E ZWB3eUo3IW1LSHZVKypnd2hfJWRoSXdSNXk0PV5TfHVzdSltJUUkN2NHfVVqVFQNCj4gU19famFh DQo+IHpQeUt3QEticm5vdz1NMnB5RFJKOzw7IXAwOXJsbHdLWHk7cEtpYU8zZUtfbk5QNTtvYiNy K0BwLQ0KPiBHJSs8QUx2dFcNCj4gejJKa1pVdkQ0cjVpOVU1OVU/RzNMfDJYXzFOYDcjYylvJCox Ym00Wnh1I1p8e0E2ejc/b298I2NAXjleQGNMDQo+IFZQeg0KPiB6VURJejVgJHl3SGFhK0h9VG00 PG8tDQo+IGlROGpWWjA0fXFWO3AqSHpsOEV6QXhAUU5Na3doSXRLUjxLZlIrRV93IT1lDQo+IHo+ MmpYNzJYKztfSTR8TDRgPmxPI3lpdSt3S01wSSo4RjlURD8pZDxOKklqPHY9NlN+ezY3SGhxYVd3 IWk/YHs3Nw0KPiB6eilSeGxVSTRGRnt2VS0rJGoxUzt6YigoUXRLekJ6U2poa0ZLT1I/aTB2N1Vy Kn57WVVPdSQwXng1RHBON3g2ITENCj4gelpDcV50PzluTzYmbF9HSVpfdmB2KU9hdCQ0ZEx8OUNi VyFhSilNbnZ6U3s9WnpXOSN1JDFNSVJNIzdsejN+VA0KPiA2VA0KPiB6dzslZmQrUXM0Vys0UUlY K2hidz5EMVVZTGh5QTFSY2dNczJRR1U1X0FuWUhGfDdeczZGMllDZStaVA0KPiA9Pl4/JHtzDQo+ IHpMaHF2JW8kaCFuT2lQeE43d1BvJFY9TUpOZT1od0o/dz91RmMoIWtmZjNzNCg2PnVsdTd+bztS N1hpLQ0KPiB6KV9pV0kNCj4gekl2PW5ia09KZllITmVlKWNMTHI2STBwRDY7NCM0MDBOKCt1ZFZI bGkxOF9jSUN0eDRvTmBNRXIwZE8xT0YyRWxHDQo+IHo5c0BpRF8jUjtHPVUxdzswVUg1dnojK2dq ZlRNdDQxTjwpRjV4YGRnJmpRcEZFN2d3ISZIIWApYl4kSTBUbg0KPiBAK3ENCj4gekppdHdXSXtf YThkPWxfQ2ZVZzMrM0hVZF9ubEckV1g5Q1V2WXlzPkJpfiRZPFlKaSZuelhmO3pAQ2VgdXoqaA0K PiBtIQ0KPiB6MGFrcityOCowKzRHOyZVMEYhX0B6fW89dDI3RE9zTngpLSh1S35VWFNjQ2RGMygo N1khOE4pWnJgNV9xJjhmbikNCj4gejg+PGRMQHlJKD5VSXJobXNBMiZ3SC0NCj4geWI1RzQqK1RJ UnJZcGVyeUtBYzkmdWpkUmM4bV9Ba3FhK3t9I0ledUJ2Vg0KPiB6M09qPFo1MkB5a2RGOENqTzw9 I05RPn1hMDshYHMoY2R5dUEkfElNZW5AYnFlR0B5YTNsPXtnUF9+T1dkDQo+IC1oYTcjDQo+IHp1 b2B6Sz5RbVQ0Rz1feD9CJnhwNjlFUXVlZGVMUUJNeGVEbWg8dW10YjJBbjU4NUVAK00kRW9VWg0K PiBYOFJyVj5SVVMNCj4gelJtS3teUWIpcWB1emRebUw7Qk11YCFyaFdvdWBifml1KzVtZztHdmtk Q0dYRVA8MCFhRHM+LQ0KPiBESk9LYFVTbnF8dw0KPiB6Xkt+bEA3SUpQc2Jkam1ARmpsUyNlZSpS SkR3KVE4cyUhJE5rRkY+fSR5c3pjayNKWk9CdU9sbkxzM0FoWiE4fQ0KPiB3DQo+IHpYRnoqdy0x MGF6Yz17QzNMTk13dCpIS2g7djk3JlomUFAqeWotDQo+IH04dzIoYFl0TlBJSWA7SHdQY2k+eHZB Tm5weXcNCj4geihQJmtAVzVxI0tzLX5DdlN6U1h8LQ0KPiB6Km5oN3wqTDt2WXRVIVNFKGFSbXBw UE1qezBXOCohQ3J5a1VCK3cxWkU3MQ0KPiB6VUFgPTNVNXpMemEjR0BDa05CQVh3b1g7fUFmO0V6 Mlhqak9taTUtPjQhciZALQ0KPiAlNT4yS35iT1VSd1JvcSZVfEByDQo+IHpgNTxgYHQ5VkQ7Kyta b3w9YH48MXJgWWR0UD5neE1WcCMlOTtEKztfNE5eOXwweTx5MVlgfTl9Pm5rfSl5PFMrMg0KPiB6 c1pUTHt2eG1CRGZmeHRYcig0SEIzQVV8QjZ7fD4yZT0kZEc7WnV5cG5vMz5CZHNNYWZZfj5SWFFl UzhOVFINCj4gZUklDQo+IHopOSR4dmhfUXl8XkVsVl4lSmJeSWBsKzlMSThrcVI+bkVMKkk9Skcx RWQxKW5BNnF0bnJJS1EtUVh6Rj5ZVWU0Vg0KPiB6XjspR34ofGokWjJWSEl6RjZrSEVJSClkZTR1 eGBra1haVSpgb1l7JVd1QUswPTRPUVpiJlpWX2AyK2Vzc2R2DQo+IEtODQo+IHpxd21MRUBrdHB4 ZWNGdCglLQ0KPiBxeldVT3xvO08kX3Q/RG91JG9AfWx8elRERVRJe2IxSEgqaiVYUmlCVTNXQzkh MSMNCj4geiNkPFoqOHQ8ITVQUCFpMitNRSg5QG51WVg2eD9JWEFSPXVnUj5+IUBqdiNGTzhzZ3dI NlhnciRsTGxZaTVSQA0KPiA5eQ0KPiB6b1orYCZsfE98N2hqfVJWV24jdEtGPEE7eD5aVEJWVzlu Q1JzZjV+NkExdiE5WXxlJWglNGJSXzw1IWpzXiQNCj4gJXclDQo+IHpqa0B9S2B4KEB9Z3FWc2lF bXUmUmQlfHhKQ2VKcikqOHtwbUJnfWAxS14pQX1jPUkmaDQ4ZzlaczlRZTVlOTYjDQo+IFQNCj4g ei1tMiUmT1ZwPk9PT2FQLUlCSj97QDJ8UkVULQ0KPiBOaTRgVWYlU196WT1+RENJXmNnKGhETXJ3 KkxQNl4oaV9wNCV3ZA0KPiB6e19xPXdjfm54dGwzPSsrM3k9ZlliNGU/V243Uy0NCj4gNks5VSYx OFM2UXttfjlVfWV1VkdPOV8kKyZPJTkmenNQSkVwDQo+IHp8SjxXXlpVK0RPTXFLbThjM0gmazBz dEd6eVVSU34zMlF7YC0NCj4gVypzQiY8dz5YbCtlaFhOaWc5flhHMyowe0FWWGoNCj4gejc+Rzxy YnAqb2heS2h0eiElU3FiT0VyfDxVfSotDQo+IFgyMDVCPE9jdGlKN3RNOyRWTXZic25iTnM2WE9f S0JiNEl8WQ0KPiB6Z0AwMmZxP1IpbmNRblImckMyR0oja2AtdTVYNzY4eWM9UHB4SD8+OFd6NEIj KnxrdWMtDQo+IHcxT2p1WnBxRlBHQEZ3DQo+IHpQcHtMdmVOKnBfTzxRXzxGTFdHZEhUYlZHPy1p ITx1bWo3VT1rV0RMaHJMaHsyNTI3ay0NCj4gUmpQOyRBUUdjV15NJGwNCj4geiF0ZSoyS2pZP2xi YlI4cnpZNTg7YkZ+V2M/aypyWWlOdlBoYmVBMXpeN2BwMlJHPEljTS0NCj4gdWJwKXhib2B4dU5Q QA0KPiB6ZzZkTyFxcHxVTG4oWWNAeDkpWUZxYlFrVDlZbWYpUHpPdDxePHZKK1c3cjBoKEBlSGpv T2Q+JG1OMDczDQo+IFl+YVRxDQo+IHpQYUo1WkNIRShpN0tGNk0lRDUrek0mSkl5cD9FclYjYUlH bXYraHFNdHBrYmk8bHlLP2ROXzZ8YzdyTXZlDQo+IFNTZXsNCj4gejRzeiRObThTb0VCNTVXUURU aDFeOz0hVF5IYksyeGEjNyY+aysxSWdfKHh2KERQOFk7VWRBNj41M1U/JngNCj4gWGE4LQ0KPiB6 ekZEaFpoa2lJdXd1NktgQGohcFZlX2o3WWZwI2ZDZSk9aFo7aGpfYmB4Uzd7MElVUkAyNnplSnJH UWZiKVNJcEgNCj4gelVCMlRwPHNBS2YzfUYxMkY1fVhEOEd3MF50QC0NCj4gWmRmUz5TekA3RHFO e3ozcXNXQnhPPmI5fjAyTzI9V2xXd0BtOA0KPiB6VnJaZSR6WEM0dkY4YzRNO1d+Zns7N291QUFn KE0yQGlfYDAmTnVxKk8+cFZ8dmpGPHYzfThPTDJzalYkOXsNCj4gPjRuDQo+IHp4V3dsazBRMzdH Zlo9ezB6JXU8Z2ZjfkVZKEVraCZoNGU4ckR9RnomK2MwJW4la1pBPXp5OS0NCj4gPUtDfE1MM0g5 dDUNCj4genE2NmM1OH1PKlo5Vk5taWNyaE9uKXhKTHAweF8+PXo5SWYmJCY/OXBMaGV9bmd+Zm1U WTFqbipCV3lvKiN9cw0KPiAqeQ0KPiB6SlQoVmsoVE8pTkAoXmkhKkZ+QHdnajw4bHk0d2VyO2cw UXFUPypXcjtqJklyYUxIQEVhOTtzOzF6aHM+QmQ8KjsNCj4gelp1cXpkP3lLTXk7cj13LVpFKHBt WXY3Jipfdl9tZT5TeTVJMEByfiUyNnI5WSVQKWxmNjBYXz8rWjtHdy0NCj4gPHA3Pg0KPiB6SiMx Kjs7Xi0wZTI7QXI0SmA5KHt6YUs2eSh3bW9ZPHRjYng+aXQ2ZzMjRFZpRlhmdX1GUSlyd1JAVlBt em0hMSkNCj4genNkZjFeeEglVUtFelJARWFufisqTnEpfFAqVTc9PmhuPyFlaG9sUTgzbT8rYCFe WlVGPCttVVVQe2lPYA0KPiBrT2RzPQ0KPiB6e1U3RCQtI0lKWEA9eGVubSM8aUw0PzJ+QEhfaEwp JmFhbWJkfDdWcHt0YTwmZUQ5TUsqPW8tDQo+IFhONDVKUWcjWXlXDQo+IHpwTG85YC1jNyRaeytx bm88R1VZaUdrbllzfDFwSUJpfXlZQ3pFYFAjYztEMFNnT098R1lOVVV8LQ0KPiA4I25XRig3O1cN Cj4gejZLe0NKUVJ5ZUhkMTZaPkd7IVRaZWYpMnF7SHtgKVo7K1ZKemImRUgjUU9iXnJWblV9X3lT KVhkblBROFUrNg0KPiBSTw0KPiB6ak47biRZPj54dXc8T2ZqY2l7T0s1LVJeSyp3R19AaE5zS0FX Xlp4KF8xSDd0MkMoUyUtDQo+IGNMVTdAYEFraHtPfG8qDQo+IHo+Wj44a0JpQVlaV3k7T3xtXjN7 TD8hfHlCMFVZIUUzZ0R4RiN7a35+eWQwSSMzbTVAUjE1NnhsOHNIZHg3Vg0KPiB5aH0NCj4gemB2 OUs+ZD1zITE7V2h6PTBZdn5XKjY7Vmd5WjV+ZEhvJDs7MFVyWH4xR28kRFpvbk9ZVExDdSU8XlYt DQo+IE40c2Jhag0KPiB6MXNEU2kwcm1tbmZJV2ErZkV8RXNmTF8yeEtvYElQb0ROdDZTT0gtDQo+ IDg9aWlBaklwRkpuQ2pwTkc5c3hXRWNtUXhlDQo+IHo7OWtJO2ZMajRDI2JDdXBVLU0pUyU1Z1Mk d3BSQC0NCj4gMzIqaTxAO0s5QVQkMmBWYnNPZnxIczk/I2hKN1U7NzU/bWINCj4gelVGLQ0KPiBu UGklMilsaWBhdWJLWVI5c3tHKXpNRlBhQVRtfCVPc1dFcFh6ZW9RfSRXajg8UlB9PWxrKyhPUnlz KnJ5PQ0KPiBaalpHK040PEQ5RG1uV3tsWU5Re0dkSGozNnt5JGF7ViR1S3INCj4gDQo+IGxpdGVy YWwgMA0KPiBIY21WP2QwMDAwMQ0KPiANCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvQWxlcnRTdGFuZGFyZEZvcm1hdFRhYmxlLmgNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0FsZXJ0U3RhbmRhcmRG b3JtYXRUYWJsZS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LjNiMGYwMDE5OGINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0FsZXJ0U3RhbmRhcmRGb3JtYXRUYWJsZS5oDQo+IEBA IC0wLDAgKzEsMTIyIEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAt IDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0K PiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBBbGVydFN0YW5kYXJk Rm9ybWF0VGFibGUuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBBQ1BJIEFsZXJ0IFN0 YW5kYXJkIEZvcm1hdCBEZXNjcmlwdGlvbiBUYWJsZSBBU0YhIGFzIGRlc2NyaWJlZA0KPiArICBp biB0aGUgQVNGMi4wIFNwZWNpZmljYXRpb24NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVm IF9BTEVSVF9TVEFOREFSRF9GT1JNQVRfVEFCTEVfSA0KPiArI2RlZmluZSBfQUxFUlRfU1RBTkRB UkRfRk9STUFUX1RBQkxFX0gNCj4gKw0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvQWNw aTIwLmg+DQo+ICsNCj4gKy8vDQo+ICsvLyBFbnN1cmUgcHJvcGVyIHN0cnVjdHVyZSBmb3JtYXRz Lg0KPiArLy8NCj4gKyNwcmFnbWEgcGFjayAoMSkNCj4gKw0KPiArLy8NCj4gKy8vIEluZm9ybWF0 aW9uIFJlY29yZCBoZWFkZXIgdGhhdCBhcHBlYXJzIGF0IHRoZSBiZWdpbm5pbmcgb2YgZWFjaCBy ZWNvcmQuDQo+ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVHlwZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJlc2VydmVkOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmVjb3JkTGVuZ3RoOw0KPiArfSBFRklfQUNQSV9BU0ZfUkVDT1JEX0hFQURFUjsN Cj4gKw0KPiArLy8NCj4gKy8vIFRoaXMgc3RydWN0dXJlIGNvbnRhaW5zIGluZm9ybWF0aW9uIHRo YXQgaWRlbnRpZmllcyB0aGUgc3lzdGVtIHR5cGUNCj4gKy8vIGFuZCBjb25maWd1cmF0aW9uLg0K PiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0FDUElfQVNGX1JFQ09SRF9IRUFE RVIgICAgICAgICAgIFJlY29yZEhlYWRlcjsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIE1pbldhdGNoRG9nUmVzZXRWYWx1ZTsNCj4gKyAgVUlOVDggICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1pblBvbGxpbmdJbnRlcnZhbDsNCj4gKyAgVUlOVDE2ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN5c3RlbUlEOw0KPiArICBVSU5UMzIgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSUFOQU1hbnVmYWN0dXJlSUQ7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGZWF0dXJlRmxhZ3M7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXNlcnZlZFszXTsNCj4gK30gRUZJX0FDUElf QVNGX0lORk87DQo+ICsNCj4gKy8vDQo+ICsvLyBBbGVydCBzZW5zb3JzIGRlZmluaXRpb24uDQo+ ICsvLw0KPiArI2RlZmluZSBBU0ZfQUxSVF9TRU5TT1JfQVJSQVlfTEVOR1RIICAgICAzNg0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9BQ1BJX0FTRl9SRUNPUkRfSEVBREVSICAg ICAgICAgICBSZWNvcmRIZWFkZXI7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBBc3NlcnRpb25FdmVudEJpdE1hc2s7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBEZWFzc2VydGlvbkV2ZW50Qml0TWFzazsNCj4gKyAgVUlOVDggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bWJlck9mQWxlcnRzOw0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXJyYXlFbGVtZW50TGVuZ3RoOw0KPiArICBV SU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlQXJyYXlbQVNGX0FMUlRf U0VOU09SX0FSUkFZX0xFTkdUSF07DQo+ICt9IEVGSV9BQ1BJX0FTRl9BTFJUOw0KPiArDQo+ICsv Lw0KPiArLy8gQWxlcnQgUmVtb3RlIENvbnRyb2wgU3lzdGVtIEFjdGlvbnMuDQo+ICsvLw0KPiAr I2RlZmluZSBBU0ZfUkNUTF9ERVZJQ0VTX0FSUkFZX0xFTkdUSCAgICAgIDE2DQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0FDUElfQVNGX1JFQ09SRF9IRUFERVIgICAgICAgICAg IFJlY29yZEhlYWRlcjsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IE51bWJlck9mQ29udHJvbHM7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBBcnJheUVsZW1lbnRMZW5ndGg7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBSY3RsUmVzZXJ2ZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBDb250cm9sQXJyYXlbQVNGX1JDVExfREVWSUNFU19BUlJBWV9MRU5HVEhdOw0K PiArfSBFRklfQUNQSV9BU0ZfUkNUTDsNCj4gKw0KPiArLy8NCj4gKy8vIFJlbW90ZSBDb250cm9s IENhcGFiaWxpdGllcy4NCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9BQ1BJ X0FTRl9SRUNPUkRfSEVBREVSICAgICAgICAgICBSZWNvcmRIZWFkZXI7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZW1vdGVDb250cm9sQ2FwYWJpbGl0aWVzWzdd Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk1DUENvbXBsZXRp b25Db2RlOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUk1DUElB TkE7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSTUNQU3BlY2lh bENvbW1hbmQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSTUNQ U3BlY2lhbENvbW1hbmRQYXJhbWV0ZXJbMl07DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBSTUNQQm9vdE9wdGlvbnNbMl07DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBSTUNQT0VNUGFyYW1ldGVyc1syXTsNCj4gK30gRUZJX0FDUElf QVNGX1JNQ1A7DQo+ICsNCj4gKy8vDQo+ICsvLyBTTUJ1cyBEZXZpY2VzIHdpdGggZml4ZWQgYWRk cmVzc2VzLg0KPiArLy8NCj4gKyNkZWZpbmUgQVNGX0FERFJfREVWSUNFX0FSUkFZX0xFTkdUSCAg ICAgIDE2DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0FDUElfQVNGX1JFQ09S RF9IRUFERVIgICAgICAgICAgIFJlY29yZEhlYWRlcjsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFNFRVBST01BZGRyZXNzOw0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZEZXZpY2VzOw0KPiArICBVSU5UOA0KPiBGaXhl ZFNtYnVzQWRkcmVzc2VzW0FTRl9BRERSX0RFVklDRV9BUlJBWV9MRU5HVEhdOw0KPiArfSBFRklf QUNQSV9BU0ZfQUREUjsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBFRklfQUNQSV9E RVNDUklQVElPTl9IRUFERVIgICAgICAgICAgSGVhZGVyOw0KPiArICBFRklfQUNQSV9BU0ZfSU5G TyAgICAgICAgICAgICAgICAgICAgQXNmSW5mbzsNCj4gKyAgRUZJX0FDUElfQVNGX0FMUlQgICAg ICAgICAgICAgICAgICAgIEFzZkFsZXJ0Ow0KPiArICBFRklfQUNQSV9BU0ZfUkNUTCAgICAgICAg ICAgICAgICAgICAgQXNmUmN0bDsNCj4gKyAgRUZJX0FDUElfQVNGX1JNQ1AgICAgICAgICAgICAg ICAgICAgIEFzZlJtY3A7DQo+ICsgIEVGSV9BQ1BJX0FTRl9BRERSICAgICAgICAgICAgICAgICAg ICBBc2ZBZGRyOw0KPiArfSBFRklfQUNQSV8xXzBfQVNGX0RFU0NSSVBUSU9OX1RBQkxFOw0KPiAr DQo+ICsvLw0KPiArLy8gIkFTRiEiIEFTRiBEZXNjcmlwdGlvbiBUYWJsZSBTaWduYXR1cmUuDQo+ ICsvLw0KPiArI2RlZmluZSBFRklfQUNQSV8xXzBfQVNGX0RFU0NSSVBUSU9OX1RBQkxFX1NJR05B VFVSRSAgMHgyMTQ2NTM0MQ0KPiArDQo+ICsjcHJhZ21hIHBhY2sgKCkNCj4gKw0KPiArI2VuZGlm IC8vIF9BTEVSVF9TVEFOREFSRF9GT1JNQVRfVEFCTEVfSA0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9DaGlwc2V0QWNjZXNzLmgNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0NoaXBzZXRBY2Nlc3MuaA0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zMWNjZmU2ZDVmDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv SW5jbHVkZS9DaGlwc2V0QWNjZXNzLmgNCj4gQEAgLTAsMCArMSwyOCBAQA0KPiArLyorKw0KPiAr DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1 bGUgTmFtZToNCj4gKw0KPiArICBDaGlwc2V0QWNjZXNzLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ ICsNCj4gKyAgQ29tbW9uIEluY2x1ZGUgZmlsZSBmb3IgUGxhdGZvcm0gRHJpdmVycyB0byBhY2Nl c3MgdGhlIENoaXBzZXQgcmVnaXN0ZXJzLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYg X0NISVBTRVRfQUNDRVNTX0hfDQo+ICsjZGVmaW5lIF9DSElQU0VUX0FDQ0VTU19IXw0KPiArDQo+ ICsjaW5jbHVkZSAiUGNoQWNjZXNzLmgiDQo+ICsjaW5jbHVkZSAiVmFsbGV5dmlldy5oIg0KPiAr I2luY2x1ZGUgIlZsdkFjY2Vzcy5oIg0KPiArI2luY2x1ZGUgIlZsdkNvbW1vbkRlZmluaXRpb25z LmgiDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvSW5jbHVkZS9Db21tb25JbmNsdWRlcy5oDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Db21tb25JbmNsdWRlcy5oDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmVhYjQ3YjI4ZDkNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0NvbW1v bkluY2x1ZGVzLmgNCj4gQEAgLTAsMCArMSwxMTUgQEANCj4gKy8qKg0KPiArDQo+ICtDb3B5cmln aHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkDQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArQGZpbGUNCj4gKyAgQ29tbW9uSW5jbHVkZXMu aA0KPiArDQo+ICtAYnJpZWYNCj4gKyAgVGhpcyBmaWxlIGRlZmluZXMgY29tbW9uIGVxdWF0ZXMu DQo+ICsNCj4gKyoqLw0KPiArI2lmbmRlZiBfQ09NTU9OX0lOQ0xVREVTX0hfDQo+ICsjZGVmaW5l IF9DT01NT05fSU5DTFVERVNfSF8NCj4gKw0KPiArI2RlZmluZSBWX0lOVEVMX1ZJRCAweDgwODYN Cj4gKw0KPiArI2lmbmRlZiBTVEFMTF9PTkVfTUlDUk9fU0VDT05EDQo+ICsjZGVmaW5lIFNUQUxM X09ORV9NSUNST19TRUNPTkQgIDENCj4gKyNlbmRpZg0KPiArI2lmbmRlZiBTVEFMTF9PTkVfTUlM TElfU0VDT05EDQo+ICsjZGVmaW5lIFNUQUxMX09ORV9NSUxMSV9TRUNPTkQgIDEwMDANCj4gKyNl bmRpZg0KPiArLy8vDQo+ICsvLy8gTWluIE1heA0KPiArLy8vDQo+ICsjZGVmaW5lIFZfTUlOKGEs IGIpICgoKGEpIDwgKGIpKSA/IChhKSA6IChiKSkNCj4gKyNkZWZpbmUgVl9NQVgoYSwgYikgKCgo YSkgPiAoYikpID8gKGEpIDogKGIpKQ0KPiArDQo+ICsvLy8NCj4gKy8vLyBCaXQgbWFwIG1hY3Jv DQo+ICsvLy8NCj4gKyNpZm5kZWYgQklUMA0KPiArDQo+ICsjZGVmaW5lIEJJVDYzIDB4ODAwMDAw MDAwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQ2MiAweDQwMDAwMDAwMDAwMDAwMDANCj4gKyNkZWZp bmUgQklUNjEgMHgyMDAwMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDYwIDB4MTAwMDAwMDAw MDAwMDAwMA0KPiArI2RlZmluZSBCSVQ1OSAweDA4MDAwMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUg QklUNTggMHgwNDAwMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDU3IDB4MDIwMDAwMDAwMDAw MDAwMA0KPiArI2RlZmluZSBCSVQ1NiAweDAxMDAwMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklU NTUgMHgwMDgwMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDU0IDB4MDA0MDAwMDAwMDAwMDAw MA0KPiArI2RlZmluZSBCSVQ1MyAweDAwMjAwMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUNTIg MHgwMDEwMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDUxIDB4MDAwODAwMDAwMDAwMDAwMA0K PiArI2RlZmluZSBCSVQ1MCAweDAwMDQwMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUNDkgMHgw MDAyMDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDQ4IDB4MDAwMTAwMDAwMDAwMDAwMA0KPiAr I2RlZmluZSBCSVQ0NyAweDAwMDA4MDAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUNDYgMHgwMDAw NDAwMDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDQ1IDB4MDAwMDIwMDAwMDAwMDAwMA0KPiArI2Rl ZmluZSBCSVQ0NCAweDAwMDAxMDAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUNDMgMHgwMDAwMDgw MDAwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDQyIDB4MDAwMDA0MDAwMDAwMDAwMA0KPiArI2RlZmlu ZSBCSVQ0MSAweDAwMDAwMjAwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUNDAgMHgwMDAwMDEwMDAw MDAwMDAwDQo+ICsjZGVmaW5lIEJJVDM5IDB4MDAwMDAwODAwMDAwMDAwMA0KPiArI2RlZmluZSBC SVQzOCAweDAwMDAwMDQwMDAwMDAwMDANCj4gKyNkZWZpbmUgQklUMzcgMHgwMDAwMDAyMDAwMDAw MDAwDQo+ICsjZGVmaW5lIEJJVDM2IDB4MDAwMDAwMTAwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQz NSAweDAwMDAwMDA4MDAwMDAwMDANCj4gKyNkZWZpbmUgQklUMzQgMHgwMDAwMDAwNDAwMDAwMDAw DQo+ICsjZGVmaW5lIEJJVDMzIDB4MDAwMDAwMDIwMDAwMDAwMA0KPiArI2RlZmluZSBCSVQzMiAw eDAwMDAwMDAxMDAwMDAwMDANCj4gKw0KPiArI2RlZmluZSBCSVQzMSAweDgwMDAwMDAwDQo+ICsj ZGVmaW5lIEJJVDMwIDB4NDAwMDAwMDANCj4gKyNkZWZpbmUgQklUMjkgMHgyMDAwMDAwMA0KPiAr I2RlZmluZSBCSVQyOCAweDEwMDAwMDAwDQo+ICsjZGVmaW5lIEJJVDI3IDB4MDgwMDAwMDANCj4g KyNkZWZpbmUgQklUMjYgMHgwNDAwMDAwMA0KPiArI2RlZmluZSBCSVQyNSAweDAyMDAwMDAwDQo+ ICsjZGVmaW5lIEJJVDI0IDB4MDEwMDAwMDANCj4gKyNkZWZpbmUgQklUMjMgMHgwMDgwMDAwMA0K PiArI2RlZmluZSBCSVQyMiAweDAwNDAwMDAwDQo+ICsjZGVmaW5lIEJJVDIxIDB4MDAyMDAwMDAN Cj4gKyNkZWZpbmUgQklUMjAgMHgwMDEwMDAwMA0KPiArI2RlZmluZSBCSVQxOSAweDAwMDgwMDAw DQo+ICsjZGVmaW5lIEJJVDE4IDB4MDAwNDAwMDANCj4gKyNkZWZpbmUgQklUMTcgMHgwMDAyMDAw MA0KPiArI2RlZmluZSBCSVQxNiAweDAwMDEwMDAwDQo+ICsjZGVmaW5lIEJJVDE1IDB4MDAwMDgw MDANCj4gKyNkZWZpbmUgQklUMTQgMHgwMDAwNDAwMA0KPiArI2RlZmluZSBCSVQxMyAweDAwMDAy MDAwDQo+ICsjZGVmaW5lIEJJVDEyIDB4MDAwMDEwMDANCj4gKyNkZWZpbmUgQklUMTEgMHgwMDAw MDgwMA0KPiArI2RlZmluZSBCSVQxMCAweDAwMDAwNDAwDQo+ICsjZGVmaW5lIEJJVDkgIDB4MDAw MDAyMDANCj4gKyNkZWZpbmUgQklUOCAgMHgwMDAwMDEwMA0KPiArI2RlZmluZSBCSVQ3ICAweDAw MDAwMDgwDQo+ICsjZGVmaW5lIEJJVDYgIDB4MDAwMDAwNDANCj4gKyNkZWZpbmUgQklUNSAgMHgw MDAwMDAyMA0KPiArI2RlZmluZSBCSVQ0ICAweDAwMDAwMDEwDQo+ICsjZGVmaW5lIEJJVDMgIDB4 MDAwMDAwMDgNCj4gKyNkZWZpbmUgQklUMiAgMHgwMDAwMDAwNA0KPiArI2RlZmluZSBCSVQxICAw eDAwMDAwMDAyDQo+ICsjZGVmaW5lIEJJVDAgIDB4MDAwMDAwMDENCj4gKyNlbmRpZg0KPiArDQo+ ICsjZGVmaW5lIEJJVFMoeCkgKDEgPDwgKHgpKQ0KPiArDQo+ICsvLw0KPiArLy8gTm90ZXMgOg0K PiArLy8gMS4gIEJpdCBwb3NpdGlvbiBhbHdheXMgc3RhcnRzIGF0IDAuDQo+ICsvLyAyLiAgRm9s bG93aW5nIG1hY3JvcyBhcmUgYXBwbGljYWJsZSBvbmx5IGZvciBXb3JkIGFsbGlnbmVkIGludGVn ZXJzLg0KPiArLy8NCj4gKyNkZWZpbmUgQklUKFBvcywgVmFsdWUpICAgICAgICAgICAgICAgKDEg PDwgKFBvcykgJiAoVmFsdWUpKQ0KPiArI2RlZmluZSBCSVRSQU5HRShGcm9tLCBXaWR0aCwgVmFs dWUpICAoKChWYWx1ZSkgPj4gKEZyb20pKSAmICgoMSA8PA0KPiAoV2lkdGgpKSAtIDEpKQ0KPiAr DQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvQ3B1VHlwZS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvSW5jbHVkZS9DcHVUeXBlLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uYzE5NWRlZTc3Mw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvQ3B1VHlwZS5oDQo+IEBAIC0wLDAgKzEsNTkg QEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIENwdVR5cGUuaA0KPiArDQo+ICtBYnN0cmFj dDoNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9DUFVfVFlQRV9IDQo+ICsjZGVmaW5l IF9DUFVfVFlQRV9IDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICt0eXBlZGVmIGVu dW0gew0KPiArICBFbnVtQ3B1VWFyY2hVbmtub3duID0gMCwNCj4gKyAgRW51bU5laGFsZW1VYXJj aCwNCj4gK30gRUZJX0NQVV9VQVJDSDsNCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgRW51 bUNwdVBsYXRmb3JtVW5rbm93biA9IDAsDQo+ICsgIEVudW1EZXNrdG9wLA0KPiArICBFbnVtTW9i aWxlLA0KPiArICBFbnVtU2VydmVyLA0KPiArICBFbnVtTmV0VG9wDQo+ICt9IEVGSV9DUFVfUExB VEZPUk07DQo+ICsNCj4gK3R5cGVkZWYgZW51bSB7DQo+ICsgIEVudW1DcHVUeXBlVW5rbm93biA9 IDAsDQo+ICsgIEVudW1BdG9tLA0KPiArICBFbnVtTmVoYWxlbUV4LA0KPiArICBFbnVtQmxvb21m aWVsZCwNCj4gKyAgRW51bUdhaW5lc3Rvd24sDQo+ICsgIEVudW1IYXZlbmRhbGUsDQo+ICsgIEVu dW1MeW5uZmllbGQsDQo+ICsgIEVudW1BdWJ1cm5kYWxlLA0KPiArICBFbnVtQ2xhcmtzZmllbGQs DQo+ICsgIEVudW1QaW5ldmlldywNCj4gKyAgRW51bUNlZGFydmlldywNCj4gKyAgRW51bVZhbGxl eXZpZXcsDQo+ICsgIEVudW1DbGFya2RhbGUgLy8gSGF2ZW5kYWxlIDMybm0NCj4gK30gRUZJX0NQ VV9UWVBFOw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBFbnVtQ3B1RmFtaWx5VW5rbm93 biA9IDAsDQo+ICsgIEVudW1GYW1pbHlGaWVsZCwNCj4gKyAgRW51bUZhbWlseURhbGUNCj4gK30g RUZJX0NQVV9GQU1JTFk7DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4gKyNlbmRpZg0K PiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9G aWxlSGFuZGxlTGliLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL0ZpbGVIYW5kbGVMaWIuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwLi41ZDczM2EwMjQwDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9GaWxlSGFuZGxlTGliLmgNCj4gQEAgLTAsMCAr MSw0OTkgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiAr ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsN Cj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9GSUxFX0hBTkRMRV9MSUJSQVJZX0hF QURFUl8NCj4gKyNkZWZpbmUgX0ZJTEVfSEFORExFX0xJQlJBUllfSEVBREVSXw0KPiArDQo+ICsj aW5jbHVkZSA8UHJvdG9jb2wvU2ltcGxlRmlsZVN5c3RlbS5oPg0KPiArDQo+ICsvLw0KPiArLy8g VGhlIHRhZyBmb3IgdXNlIGluIGlkZW50aWZ5aW5nIFVOSUNPREUgZmlsZXMuDQo+ICsvLyBJZiB0 aGUgZmlsZSBpcyBVTklDT0RFLCB0aGUgZmlyc3QgMTYgYml0cyBvZiB0aGUgZmlsZSB3aWxsIGVx dWFsIHRoaXMgdmFsdWUuDQo+ICsvLw0KPiArZXh0ZXJuIENPTlNUIFVJTlQxNiBnVW5pY29kZUZp bGVUYWc7DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHJldHJpZXZlcyBpbmZvcm1h dGlvbiBhYm91dCB0aGUgZmlsZSBmb3IgdGhlIGhhbmRsZQ0KPiArICBzcGVjaWZpZWQgYW5kIHN0 b3JlcyBpdCBpbiB0aGUgYWxsb2NhdGVkIHBvb2wgbWVtb3J5Lg0KPiArDQo+ICsgIFRoaXMgZnVu Y3Rpb24gYWxsb2NhdGVzIGEgYnVmZmVyIHRvIHN0b3JlIHRoZSBmaWxlJ3MgaW5mb3JtYXRpb24u IEl0IGlzIHRoZQ0KPiArICBjYWxsZXIncyByZXNwb25zaWJpbGl0eSB0byBmcmVlIHRoZSBidWZm ZXIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBGaWxlSGFuZGxlICAgICAgICAgVGhlIGZpbGUgaGFu ZGxlIG9mIHRoZSBmaWxlIGZvciB3aGljaCBpbmZvcm1hdGlvbg0KPiBpcw0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBiZWluZyByZXF1ZXN0ZWQuDQo+ICsNCj4gKyAgQHJldHZh bCBOVUxMICAgICAgICAgICAgICAgICAgSW5mb3JtYXRpb24gY291bGQgbm90IGJlIHJldHJpZXZl ZC4NCj4gKyAgQHJldHZhbCAhTlVMTCAgICAgICAgICAgICAgICAgVGhlIGluZm9ybWF0aW9uIGFi b3V0IHRoZSBmaWxlLg0KPiArKiovDQo+ICtFRklfRklMRV9JTkZPKg0KPiArRUZJQVBJDQo+ICtG aWxlSGFuZGxlR2V0SW5mbyAoDQo+ICsgIElOIEVGSV9GSUxFX0hBTkRMRSAgICAgICAgICAgIEZp bGVIYW5kbGUNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gc2V0cyB0 aGUgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGZpbGUgZm9yIHRoZSBvcGVuZWQgaGFuZGxlDQo+ICsg IHNwZWNpZmllZC4NCj4gKw0KPiArICBAcGFyYW1baW5dICBGaWxlSGFuZGxlICAgICAgICBUaGUg ZmlsZSBoYW5kbGUgb2YgdGhlIGZpbGUgZm9yIHdoaWNoIGluZm9ybWF0aW9uDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlzIGJlaW5nIHNldC4NCj4gKw0KPiArICBAcGFyYW1b aW5dICBGaWxlSW5mbyAgICAgICAgICBUaGUgaW5mb3JtYXRpb24gdG8gc2V0Lg0KPiArDQo+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBpbmZvcm1hdGlvbiB3YXMgc2V0Lg0K PiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBBIHBhcmFtZXRlciB3YXMgb3V0IG9m IHJhbmdlIG9yIGludmFsaWQuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRo ZSBGaWxlSGFuZGxlIGRvZXMgbm90IHN1cHBvcnQgRmlsZUluZm8uDQo+ICsgIEByZXR2YWwgRUZJ X05PX01FRElBICAgICAgICAgIFRoZSBkZXZpY2UgaGFzIG5vIG1lZGl1bS4NCj4gKyAgQHJldHZh bCBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIGRldmljZSByZXBvcnRlZCBhbiBlcnJvci4NCj4g KyAgQHJldHZhbCBFRklfVk9MVU1FX0NPUlJVUFRFRCAgVGhlIGZpbGUgc3lzdGVtIHN0cnVjdHVy ZXMgYXJlDQo+IGNvcnJ1cHRlZC4NCj4gKyAgQHJldHZhbCBFRklfV1JJVEVfUFJPVEVDVEVEICAg VGhlIGZpbGUgb3IgbWVkaXVtIGlzIHdyaXRlIHByb3RlY3RlZC4NCj4gKyAgQHJldHZhbCBFRklf QUNDRVNTX0RFTklFRCAgICAgVGhlIGZpbGUgd2FzIG9wZW5lZCByZWFkIG9ubHkuDQo+ICsgIEBy ZXR2YWwgRUZJX1ZPTFVNRV9GVUxMICAgICAgIFRoZSB2b2x1bWUgaXMgZnVsbC4NCj4gKyoqLw0K PiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGaWxlSGFuZGxlU2V0SW5mbyAoDQo+ICsgIElO IEVGSV9GSUxFX0hBTkRMRSAgICAgICAgICAgIEZpbGVIYW5kbGUsDQo+ICsgIElOIENPTlNUIEVG SV9GSUxFX0lORk8gICAgICAgICpGaWxlSW5mbw0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAg VGhpcyBmdW5jdGlvbiByZWFkcyBpbmZvcm1hdGlvbiBmcm9tIGFuIG9wZW5lZCBmaWxlLg0KPiAr DQo+ICsgIElmIEZpbGVIYW5kbGUgaXMgbm90IGEgZGlyZWN0b3J5LCB0aGUgZnVuY3Rpb24gcmVh ZHMgdGhlIHJlcXVlc3RlZCBudW1iZXINCj4gb2YNCj4gKyAgYnl0ZXMgZnJvbSB0aGUgZmlsZSBh dCB0aGUgZmlsZSdzIGN1cnJlbnQgcG9zaXRpb24gYW5kIHJldHVybnMgdGhlbSBpbiBCdWZmZXIu DQo+ICsgIElmIHRoZSByZWFkIGdvZXMgYmV5b25kIHRoZSBlbmQgb2YgdGhlIGZpbGUsIHRoZSBy ZWFkIGxlbmd0aCBpcyB0cnVuY2F0ZWQgdG8NCj4gdGhlDQo+ICsgIGVuZCBvZiB0aGUgZmlsZS4g VGhlIGZpbGUncyBjdXJyZW50IHBvc2l0aW9uIGlzIGluY3JlYXNlZCBieSB0aGUgbnVtYmVyIG9m DQo+IGJ5dGVzDQo+ICsgIHJldHVybmVkLiAgSWYgRmlsZUhhbmRsZSBpcyBhIGRpcmVjdG9yeSwg dGhlIGZ1bmN0aW9uIHJlYWRzIHRoZSBkaXJlY3RvcnkNCj4gZW50cnkNCj4gKyAgYXQgdGhlIGZp bGUncyBjdXJyZW50IHBvc2l0aW9uIGFuZCByZXR1cm5zIHRoZSBlbnRyeSBpbiBCdWZmZXIuIElm IHRoZSBCdWZmZXINCj4gKyAgaXMgbm90IGxhcmdlIGVub3VnaCB0byBob2xkIHRoZSBjdXJyZW50 IGRpcmVjdG9yeSBlbnRyeSwgdGhlbg0KPiArICBFRklfQlVGRkVSX1RPT19TTUFMTCBpcyByZXR1 cm5lZCBhbmQgdGhlIGN1cnJlbnQgZmlsZSBwb3NpdGlvbiBpcyBub3QNCj4gdXBkYXRlZC4NCj4g KyAgQnVmZmVyU2l6ZSBpcyBzZXQgdG8gYmUgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlciBuZWVkZWQg dG8gcmVhZCB0aGUgZW50cnkuIE9uDQo+ICsgIHN1Y2Nlc3MsIHRoZSBjdXJyZW50IHBvc2l0aW9u IGlzIHVwZGF0ZWQgdG8gdGhlIG5leHQgZGlyZWN0b3J5IGVudHJ5LiBJZg0KPiB0aGVyZQ0KPiAr ICBhcmUgbm8gbW9yZSBkaXJlY3RvcnkgZW50cmllcywgdGhlIHJlYWQgcmV0dXJucyBhIHplcm8t bGVuZ3RoIGJ1ZmZlci4NCj4gKyAgRUZJX0ZJTEVfSU5GTyBpcyB0aGUgc3RydWN0dXJlIHJldHVy bmVkIGFzIHRoZSBkaXJlY3RvcnkgZW50cnkuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBGaWxlSGFu ZGxlICAgICAgICAgIFRoZSBvcGVuZWQgZmlsZSBoYW5kbGUuDQo+ICsgIEBwYXJhbVtpbiwgb3V0 XSBCdWZmZXJTaXplICAgICBPbiBpbnB1dCwgdGhlIHNpemUgb2YgYnVmZmVyIGluIGJ5dGVzLiAg T24NCj4gcmV0dXJuLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG51 bWJlciBvZiBieXRlcyB3cml0dGVuLg0KPiArICBAcGFyYW1bb3V0XSBCdWZmZXIgICAgICAgICAg ICAgVGhlIGJ1ZmZlciB0byBwdXQgcmVhZCBkYXRhIGludG8uDQo+ICsNCj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgICAgICAgICAgIERhdGEgd2FzIHJlYWQuDQo+ICsgIEByZXR2YWwgRUZJX05P X01FRElBICAgICAgICAgICBUaGUgZGV2aWNlIGhhcyBubyBtZWRpYS4NCj4gKyAgQHJldHZhbCBF RklfREVWSUNFX0VSUk9SICAgICAgIFRoZSBkZXZpY2UgcmVwb3J0ZWQgYW4gZXJyb3IuDQo+ICsg IEByZXR2YWwgRUZJX1ZPTFVNRV9DT1JSVVBURUQgICBUaGUgZmlsZSBzeXN0ZW0gc3RydWN0dXJl cyBhcmUNCj4gY29ycnVwdGVkLg0KPiArICBAcmV0dmFsIEVGSV9CVUZGRVJfVE9fU01BTEwgICAg QnVmZmVyIGlzIHRvbyBzbWFsbC4gUmVhZFNpemUgY29udGFpbnMNCj4gcmVxdWlyZWQNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemUuDQo+ICsNCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGaWxlSGFuZGxlUmVhZCgNCj4gKyAgSU4gRUZJX0ZJTEVf SEFORExFICAgICAgICAgICAgRmlsZUhhbmRsZSwNCj4gKyAgSU4gT1VUIFVJTlROICAgICAgICAg ICAgICAgICAgKkJ1ZmZlclNpemUsDQo+ICsgIE9VVCBWT0lEICAgICAgICAgICAgICAgICAgICAg ICpCdWZmZXINCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFdyaXRlIGRhdGEgdG8gYSBmaWxl Lg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gd3JpdGVzIHRoZSBzcGVjaWZpZWQgbnVtYmVyIG9m IGJ5dGVzIHRvIHRoZSBmaWxlIGF0IHRoZSBjdXJyZW50DQo+ICsgIGZpbGUgcG9zaXRpb24uIFRo ZSBjdXJyZW50IGZpbGUgcG9zaXRpb24gaXMgYWR2YW5jZWQgdGhlIGFjdHVhbCBudW1iZXIgb2YN Cj4gYnl0ZXMNCj4gKyAgd3JpdHRlbiwgd2hpY2ggaXMgcmV0dXJuZWQgaW4gQnVmZmVyU2l6ZS4g UGFydGlhbCB3cml0ZXMgb25seSBvY2N1ciB3aGVuDQo+IHRoZXJlDQo+ICsgIGhhcyBiZWVuIGEg ZGF0YSBlcnJvciBkdXJpbmcgdGhlIHdyaXRlIGF0dGVtcHQgKHN1Y2ggYXMgInZvbHVtZSBzcGFj ZQ0KPiBmdWxsIikuDQo+ICsgIFRoZSBmaWxlIGlzIGF1dG9tYXRpY2FsbHkgZ3Jvd24gdG8gaG9s ZCB0aGUgZGF0YSBpZiByZXF1aXJlZC4gRGlyZWN0IHdyaXRlcyB0bw0KPiArICBvcGVuZWQgZGly ZWN0b3JpZXMgYXJlIG5vdCBzdXBwb3J0ZWQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBGaWxlSGFu ZGxlICAgICAgICAgVGhlIG9wZW5lZCBmaWxlIGZvciB3cml0aW5nLg0KPiArICBAcGFyYW1baW4s IG91dF0gQnVmZmVyU2l6ZSAgICBPbiBpbnB1dCwgdGhlIG51bWJlciBvZiBieXRlcyBpbiBCdWZm ZXIuICBPbg0KPiBvdXRwdXQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRo ZSBudW1iZXIgb2YgYnl0ZXMgd3JpdHRlbi4NCj4gKyAgQHBhcmFtW2luXSBCdWZmZXIgICAgICAg ICAgICAgVGhlIGJ1ZmZlciBjb250YWluaW5nIGRhdGEgdG8gd3JpdGUgaXMgc3RvcmVkLg0KPiAr DQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIERhdGEgd2FzIHdyaXR0ZW4uDQo+ ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFdyaXRlcyB0byBhbiBvcGVuIGRpcmVj dG9yeSBhcmUgbm90DQo+IHN1cHBvcnRlZC4NCj4gKyAgQHJldHZhbCBFRklfTk9fTUVESUEgICAg ICAgICAgVGhlIGRldmljZSBoYXMgbm8gbWVkaWEuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9F UlJPUiAgICAgIFRoZSBkZXZpY2UgcmVwb3J0ZWQgYW4gZXJyb3IuDQo+ICsgIEByZXR2YWwgRUZJ X1ZPTFVNRV9DT1JSVVBURUQgIFRoZSBmaWxlIHN5c3RlbSBzdHJ1Y3R1cmVzIGFyZQ0KPiBjb3Jy dXB0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX1dSSVRFX1BST1RFQ1RFRCAgIFRoZSBkZXZpY2UgaXMg d3JpdGUtcHJvdGVjdGVkLg0KPiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICAgICBUaGUg ZmlsZSB3YXMgb3BlbmVkIGZvciByZWFkIG9ubHkuDQo+ICsgIEByZXR2YWwgRUZJX1ZPTFVNRV9G VUxMICAgICAgIFRoZSB2b2x1bWUgaXMgZnVsbC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtGaWxlSGFuZGxlV3JpdGUoDQo+ICsgIElOIEVGSV9GSUxFX0hBTkRMRSAgICAg ICAgICAgIEZpbGVIYW5kbGUsDQo+ICsgIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICpC dWZmZXJTaXplLA0KPiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAgICAgICAqQnVmZmVyDQo+ ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBDbG9zZSBhbiBvcGVuIGZpbGUgaGFuZGxlLg0KPiAr DQo+ICsgIFRoaXMgZnVuY3Rpb24gY2xvc2VzIGEgc3BlY2lmaWVkIGZpbGUgaGFuZGxlLiBBbGwg ImRpcnR5IiBjYWNoZWQgZmlsZSBkYXRhIGlzDQo+ICsgIGZsdXNoZWQgdG8gdGhlIGRldmljZSwg YW5kIHRoZSBmaWxlIGlzIGNsb3NlZC4gSW4gYWxsIGNhc2VzIHRoZSBoYW5kbGUgaXMNCj4gKyAg Y2xvc2VkLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gRmlsZUhhbmRsZSAgICAgICAgICAgVGhlIGZp bGUgaGFuZGxlIHRvIGNsb3NlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICAgVGhlIGZpbGUgaGFuZGxlIHdhcyBjbG9zZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArKiovDQo+ ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0ZpbGVIYW5kbGVDbG9zZSAoDQo+ICsgIElOIEVG SV9GSUxFX0hBTkRMRSAgICAgICAgICAgIEZpbGVIYW5kbGUNCj4gKyAgKTsNCj4gKw0KPiArLyoq DQo+ICsgIERlbGV0ZSBhIGZpbGUgYW5kIGNsb3NlIHRoZSBoYW5kbGUuDQo+ICsNCj4gKyAgVGhp cyBmdW5jdGlvbiBjbG9zZXMgYW5kIGRlbGV0ZXMgYSBmaWxlLiBJbiBhbGwgY2FzZXMgdGhlIGZp bGUgaGFuZGxlIGlzIGNsb3NlZC4NCj4gKyAgSWYgdGhlIGZpbGUgY2Fubm90IGJlIGRlbGV0ZWQs IHRoZSB3YXJuaW5nIGNvZGUNCj4gRUZJX1dBUk5fREVMRVRFX0ZBSUxVUkUgaXMNCj4gKyAgcmV0 dXJuZWQsIGJ1dCB0aGUgaGFuZGxlIGlzIHN0aWxsIGNsb3NlZC4NCj4gKw0KPiArICBAcGFyYW1b aW5dIEZpbGVIYW5kbGUgICAgICAgICAgICAgVGhlIGZpbGUgaGFuZGxlIHRvIGRlbGV0ZS4NCj4g Kw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgVGhlIGZpbGUgd2FzIGNs b3NlZCBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgRUZJX1dBUk5fREVMRVRFX0ZBSUxVUkUg ICBUaGUgaGFuZGxlIHdhcyBjbG9zZWQsIGJ1dCB0aGUgZmlsZQ0KPiB3YXMgbm90DQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZWxldGVkLg0KPiArICBAcmV0dmFsIElO VkFMSURfUEFSQU1FVEVSICAgICAgICAgT25lIG9mIHRoZSBwYXJhbWV0ZXJzIGhhcyBhbiBpbnZh bGlkDQo+IHZhbHVlLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0ZpbGVI YW5kbGVEZWxldGUgKA0KPiArICBJTiBFRklfRklMRV9IQU5ETEUgICAgRmlsZUhhbmRsZQ0KPiAr ICApOw0KPiArDQo+ICsvKioNCj4gKyAgU2V0IHRoZSBjdXJyZW50IHBvc2l0aW9uIGluIGEgZmls ZS4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHNldHMgdGhlIGN1cnJlbnQgZmlsZSBwb3NpdGlv biBmb3IgdGhlIGhhbmRsZSB0byB0aGUgcG9zaXRpb24NCj4gKyAgc3VwcGxpZWQuIFdpdGggdGhl IGV4Y2VwdGlvbiBvZiBtb3ZpbmcgdG8gcG9zaXRpb24gMHhGRkZGRkZGRkZGRkZGRkZGLA0KPiBv bmx5DQo+ICsgIGFic29sdXRlIHBvc2l0aW9uaW5nIGlzIHN1cHBvcnRlZCwgYW5kIG1vdmluZyBw YXN0IHRoZSBlbmQgb2YgdGhlIGZpbGUgaXMNCj4gKyAgYWxsb3dlZCAoYSBzdWJzZXF1ZW50IHdy aXRlIHdvdWxkIGdyb3cgdGhlIGZpbGUpLiBNb3ZpbmcgdG8gcG9zaXRpb24NCj4gKyAgMHhGRkZG RkZGRkZGRkZGRkZGIGNhdXNlcyB0aGUgY3VycmVudCBwb3NpdGlvbiB0byBiZSBzZXQgdG8gdGhl IGVuZCBvZg0KPiB0aGUgZmlsZS4NCj4gKyAgSWYgRmlsZUhhbmRsZSBpcyBhIGRpcmVjdG9yeSwg dGhlIG9ubHkgcG9zaXRpb24gdGhhdCBtYXkgYmUgc2V0IGlzIHplcm8uIFRoaXMNCj4gKyAgaGFz IHRoZSBlZmZlY3Qgb2Ygc3RhcnRpbmcgdGhlIHJlYWQgcHJvY2VzcyBvZiB0aGUgZGlyZWN0b3J5 IGVudHJpZXMgb3Zlcg0KPiBhZ2Fpbi4NCj4gKw0KPiArICBAcGFyYW1baW5dIEZpbGVIYW5kbGUg ICAgICAgICBUaGUgZmlsZSBoYW5kbGUgb24gd2hpY2ggdGhlIHBvc2l0aW9uIGlzIGJlaW5nDQo+ IHNldC4NCj4gKyAgQHBhcmFtW2luXSBQb3NpdGlvbiAgICAgICAgICAgVGhlIGJ5dGUgcG9zaXRp b24gZnJvbSB0aGUgYmVnaW5pbmcgb2YgdGhlIGZpbGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjZXNzZnVsbHkuDQo+ ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoZSByZXF1ZXN0IGZvciBub24temVy byBpcyBub3QgdmFsaWQgb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGly ZWN0b3JpZXMuDQo+ICsgIEByZXR2YWwgSU5WQUxJRF9QQVJBTUVURVIgICAgIE9uZSBvZiB0aGUg cGFyYW1ldGVycyBoYXMgYW4gaW52YWxpZA0KPiB2YWx1ZS4NCj4gKyoqLw0KPiArRUZJX1NUQVRV Uw0KPiArRUZJQVBJDQo+ICtGaWxlSGFuZGxlU2V0UG9zaXRpb24gKA0KPiArICBJTiBFRklfRklM RV9IQU5ETEUgICAgRmlsZUhhbmRsZSwNCj4gKyAgSU4gVUlOVDY0ICAgICAgICAgICAgIFBvc2l0 aW9uDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBHZXRzIGEgZmlsZSdzIGN1cnJlbnQgcG9z aXRpb24uDQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiByZXRyaWV2ZXMgdGhlIGN1cnJlbnQgZmls ZSBwb3NpdGlvbiBmb3IgdGhlIGZpbGUgaGFuZGxlLiBGb3INCj4gKyAgZGlyZWN0b3JpZXMsIHRo ZSBjdXJyZW50IGZpbGUgcG9zaXRpb24gaGFzIG5vIG1lYW5pbmcgb3V0c2lkZSBvZiB0aGUgZmls ZQ0KPiArICBzeXN0ZW0gZHJpdmVyLiBBcyBzdWNoLCB0aGUgb3BlcmF0aW9uIGlzIG5vdCBzdXBw b3J0ZWQuIEFuIGVycm9yIGlzDQo+IHJldHVybmVkDQo+ICsgIGlmIEZpbGVIYW5kbGUgaXMgYSBk aXJlY3RvcnkuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBGaWxlSGFuZGxlICAgICAgICAgVGhlIG9w ZW4gZmlsZSBoYW5kbGUgb24gd2hpY2ggdG8gZ2V0IHRoZQ0KPiBwb3NpdGlvbi4NCj4gKyAgQHBh cmFtW291dF0gUG9zaXRpb24gICAgICAgICAgVGhlIGJ5dGUgcG9zaXRpb24gZnJvbSBiZWdpbmlu ZyBvZiBmaWxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBv cGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBJTlZBTElEX1BB UkFNRVRFUiAgICAgT25lIG9mIHRoZSBwYXJhbWV0ZXJzIGhhcyBhbiBpbnZhbGlkDQo+IHZhbHVl Lg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICBUaGUgcmVxdWVzdCBpcyBub3Qg dmFsaWQgb24gZGlyZWN0b3JpZXMuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0K PiArRmlsZUhhbmRsZUdldFBvc2l0aW9uICgNCj4gKyAgSU4gRUZJX0ZJTEVfSEFORExFICAgICAg ICAgICAgRmlsZUhhbmRsZSwNCj4gKyAgT1VUIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgKlBv c2l0aW9uDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBGbHVzaGVzIGRhdGEgb24gYSBmaWxl Lg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gZmx1c2hlcyBhbGwgbW9kaWZpZWQgZGF0YSBhc3Nv Y2lhdGVkIHdpdGggYSBmaWxlIHRvIGEgZGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gRmls ZUhhbmRsZSAgICAgICAgIFRoZSBmaWxlIGhhbmRsZSBvbiB3aGljaCB0byBmbHVzaCBkYXRhLg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBkYXRhIHdhcyBmbHVz aGVkLg0KPiArICBAcmV0dmFsIEVGSV9OT19NRURJQSAgICAgICAgICBUaGUgZGV2aWNlIGhhcyBu byBtZWRpYS4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIGRldmljZSBy ZXBvcnRlZCBhbiBlcnJvci4NCj4gKyAgQHJldHZhbCBFRklfVk9MVU1FX0NPUlJVUFRFRCAgVGhl IGZpbGUgc3lzdGVtIHN0cnVjdHVyZXMgYXJlDQo+IGNvcnJ1cHRlZC4NCj4gKyAgQHJldHZhbCBF RklfV1JJVEVfUFJPVEVDVEVEICAgVGhlIGZpbGUgb3IgbWVkaXVtIGlzIHdyaXRlIHByb3RlY3Rl ZC4NCj4gKyAgQHJldHZhbCBFRklfQUNDRVNTX0RFTklFRCAgICAgVGhlIGZpbGUgd2FzIG9wZW5l ZCBmb3IgcmVhZCBvbmx5Lg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Zp bGVIYW5kbGVGbHVzaCAoDQo+ICsgIElOIEVGSV9GSUxFX0hBTkRMRSAgICAgICAgICAgIEZpbGVI YW5kbGUNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIEZ1bmN0aW9uIHRvIGRldGVybWluZSBp ZiBhIGdpdmVuIGhhbmRsZSBpcyBhIGRpcmVjdG9yeSBoYW5kbGUuDQo+ICsNCj4gKyAgSWYgRGly SGFuZGxlIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgT3BlbiB0aGUgZmlsZSBp bmZvcm1hdGlvbiBvbiB0aGUgRGlySGFuZGxlLCBhbmQgdmVyaWZ5IHRoYXQgdGhlIEF0dHJpYnV0 ZQ0KPiArICBpbmNsdWRlcyBFRklfRklMRV9ESVJFQ1RPUlkgYml0IHNldC4NCj4gKw0KPiArICBA cGFyYW1baW5dIERpckhhbmRsZSAgICAgICAgICAgVGhlIGhhbmRsZSB0byBvcGVuIHRoZSBmaWxl Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBEaXJIYW5kbGUgaXMg YSBkaXJlY3RvcnkuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBEaXJIYW5k bGUgZGlkIG5vdCBoYXZlIEVGSV9GSUxFX0lORk8NCj4gYXZhaWxhYmxlLg0KPiArICBAcmV0dmFs IEVGSV9OT1RfRk9VTkQgICAgICAgICAgRGlySGFuZGxlIGlzIG5vdCBhIGRpcmVjdG9yeS4NCj4g KyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGaWxlSGFuZGxlSXNEaXJlY3Rvcnkg KA0KPiArICBJTiBFRklfRklMRV9IQU5ETEUgICAgICAgICAgICBEaXJIYW5kbGUNCj4gKyAgKTsN Cj4gKw0KPiArLyoqDQo+ICsgIFJldHJpZXZlIGZpcnN0IGVudHJ5IGZyb20gYSBkaXJlY3Rvcnku DQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiB0YWtlcyBhbiBvcGVuIGRpcmVjdG9yeSBoYW5kbGUg YW5kIGdldHMgaW5mb3JtYXRpb24gZnJvbQ0KPiB0aGUNCj4gKyAgZmlyc3QgZW50cnkgaW4gdGhl IGRpcmVjdG9yeS4gIEEgYnVmZmVyIGlzIGFsbG9jYXRlZCB0byBjb250YWluDQo+ICsgIHRoZSBp bmZvcm1hdGlvbiBhbmQgYSBwb2ludGVyIHRvIHRoZSBidWZmZXIgaXMgcmV0dXJuZWQgaW4gKkJ1 ZmZlci4gIFRoZQ0KPiArICBjYWxsZXIgY2FuIHVzZSBGaWxlSGFuZGxlRmluZE5leHRGaWxlKCkg dG8gZ2V0IHN1YnNlcXVlbnQgZGlyZWN0b3J5IGVudHJpZXMuDQo+ICsNCj4gKyAgVGhlIGJ1ZmZl ciB3aWxsIGJlIGZyZWVkIGJ5IEZpbGVIYW5kbGVGaW5kTmV4dEZpbGUoKSB3aGVuIHRoZSBsYXN0 DQo+IGRpcmVjdG9yeQ0KPiArICBlbnRyeSBpcyByZWFkLiAgT3RoZXJ3aXNlLCB0aGUgY2FsbGVy IG11c3QgZnJlZSB0aGUgYnVmZmVyLCB1c2luZyBGcmVlUG9vbCwNCj4gKyAgd2hlbiBmaW5pc2hl ZCB3aXRoIGl0Lg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIERpckhhbmRsZSAgICAgICAgIFRoZSBm aWxlIGhhbmRsZSBvZiB0aGUgZGlyZWN0b3J5IHRvIHNlYXJjaC4NCj4gKyAgQHBhcmFtW291dF0g QnVmZmVyICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gcG9pbnRlciB0byBidWZmZXIgZm9yIGZp bGUncw0KPiBpbmZvcm1hdGlvbi4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICBGb3VuZCB0aGUgZmlyc3QgZmlsZS4NCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAg ICAgICAgQ2Fubm90IGZpbmQgdGhlIGRpcmVjdG9yeS4NCj4gKyAgQHJldHZhbCBFRklfTk9fTUVE SUEgICAgICAgICAgVGhlIGRldmljZSBoYXMgbm8gbWVkaWEuDQo+ICsgIEByZXR2YWwgRUZJX0RF VklDRV9FUlJPUiAgICAgIFRoZSBkZXZpY2UgcmVwb3J0ZWQgYW4gZXJyb3IuDQo+ICsgIEByZXR2 YWwgRUZJX1ZPTFVNRV9DT1JSVVBURUQgIFRoZSBmaWxlIHN5c3RlbSBzdHJ1Y3R1cmVzIGFyZQ0K PiBjb3JydXB0ZWQuDQo+ICsgIEByZXR1cm4gT3RoZXJzICAgICAgICAgICAgICAgIFRoZSBzdGF0 dXMgb2YgRmlsZUhhbmRsZUdldEluZm8sDQo+IEZpbGVIYW5kbGVTZXRQb3NpdGlvbiwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3IgRmlsZUhhbmRsZVJlYWQuDQo+ICsqKi8N Cj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRmlsZUhhbmRsZUZpbmRGaXJzdEZpbGUgKA0K PiArICBJTiBFRklfRklMRV9IQU5ETEUgICAgICAgICAgICBEaXJIYW5kbGUsDQo+ICsgIE9VVCBF RklfRklMRV9JTkZPICAgICAgICAgICAgICoqQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0K PiArICBSZXRyaWV2ZSBuZXh0IGVudHJpZXMgZnJvbSBhIGRpcmVjdG9yeS4NCj4gKw0KPiArICBU byB1c2UgdGhpcyBmdW5jdGlvbiwgdGhlIGNhbGxlciBtdXN0IGZpcnN0IGNhbGwgdGhlIEZpbGVI YW5kbGVGaW5kRmlyc3RGaWxlKCkNCj4gKyAgZnVuY3Rpb24gdG8gZ2V0IHRoZSBmaXJzdCBkaXJl Y3RvcnkgZW50cnkuICBTdWJzZXF1ZW50IGRpcmVjdG9yeSBlbnRyaWVzIGFyZQ0KPiArICByZXRy aWV2ZWQgYnkgdXNpbmcgdGhlIEZpbGVIYW5kbGVGaW5kTmV4dEZpbGUoKSBmdW5jdGlvbi4gIFRo aXMgZnVuY3Rpb24gY2FuDQo+ICsgIGJlIGNhbGxlZCBzZXZlcmFsIHRpbWVzIHRvIGdldCBlYWNo IGVudHJ5IGZyb20gdGhlIGRpcmVjdG9yeS4gIElmIHRoZSBjYWxsIG9mDQo+ICsgIEZpbGVIYW5k bGVGaW5kTmV4dEZpbGUoKSByZXRyaWV2ZWQgdGhlIGxhc3QgZGlyZWN0b3J5IGVudHJ5LCB0aGUg bmV4dCBjYWxsIG9mDQo+ICsgIHRoaXMgZnVuY3Rpb24gd2lsbCBzZXQgKk5vRmlsZSB0byBUUlVF IGFuZCBmcmVlIHRoZSBidWZmZXIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgRGlySGFuZGxlICAg ICAgICAgVGhlIGZpbGUgaGFuZGxlIG9mIHRoZSBkaXJlY3RvcnkuDQo+ICsgIEBwYXJhbVtvdXRd IEJ1ZmZlciAgICAgICAgICAgIFRoZSBwb2ludGVyIHRvIGJ1ZmZlciBmb3IgZmlsZSdzIGluZm9y bWF0aW9uLg0KPiArICBAcGFyYW1bb3V0XSBOb0ZpbGUgICAgICAgICAgICBUaGUgcG9pbnRlciB0 byBib29sZWFuIHdoZW4gbGFzdCBmaWxlIGlzIGZvdW5kLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgIEZvdW5kIHRoZSBuZXh0IGZpbGUsIG9yIHJlYWNoZWQgbGFzdCBm aWxlLg0KPiArICBAcmV0dmFsIEVGSV9OT19NRURJQSAgICAgICAgICBUaGUgZGV2aWNlIGhhcyBu byBtZWRpYS4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgVGhlIGRldmljZSBy ZXBvcnRlZCBhbiBlcnJvci4NCj4gKyAgQHJldHZhbCBFRklfVk9MVU1FX0NPUlJVUFRFRCAgVGhl IGZpbGUgc3lzdGVtIHN0cnVjdHVyZXMgYXJlDQo+IGNvcnJ1cHRlZC4NCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGaWxlSGFuZGxlRmluZE5leHRGaWxlKA0KPiArICBJTiBF RklfRklMRV9IQU5ETEUgICAgICAgICAgICAgRGlySGFuZGxlLA0KPiArICBPVVQgRUZJX0ZJTEVf SU5GTyAgICAgICAgICAgICAgKkJ1ZmZlciwNCj4gKyAgT1VUIEJPT0xFQU4gICAgICAgICAgICAg ICAgICAgICpOb0ZpbGUNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFJldHJpZXZlIHRoZSBz aXplIG9mIGEgZmlsZS4NCj4gKw0KPiArICBJZiBGaWxlSGFuZGxlIGlzIE5VTEwgdGhlbiBBU1NF UlQoKS4NCj4gKyAgSWYgU2l6ZSBpcyBOVUxMIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgVGhp cyBmdW5jdGlvbiBleHRyYWN0cyB0aGUgZmlsZSBzaXplIGluZm8gZnJvbSB0aGUgRmlsZUhhbmRs ZSdzIEVGSV9GSUxFX0lORk8NCj4gKyAgZGF0YS4NCj4gKw0KPiArICBAcGFyYW1baW5dIEZpbGVI YW5kbGUgICAgICAgICBUaGUgZmlsZSBoYW5kbGUgZnJvbSB3aGljaCBzaXplIGlzIHJldHJpZXZl ZC4NCj4gKyAgQHBhcmFtW291dF0gU2l6ZSAgICAgICAgICAgICAgVGhlIHBvaW50ZXIgdG8gc2l6 ZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgb3BlcmF0aW9u IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAg ICAgIENhbm5vdCBhY2Nlc3MgdGhlIGZpbGUuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArRmlsZUhhbmRsZUdldFNpemUgKA0KPiArICBJTiBFRklfRklMRV9IQU5ETEUgICAg ICAgICAgICBGaWxlSGFuZGxlLA0KPiArICBPVVQgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAq U2l6ZQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgU2V0IHRoZSBzaXplIG9mIGEgZmlsZS4N Cj4gKw0KPiArICBJZiBGaWxlSGFuZGxlIGlzIE5VTEwgdGhlbiBBU1NFUlQoKS4NCj4gKw0KPiAr ICBUaGlzIGZ1bmN0aW9uIGNoYW5nZXMgdGhlIGZpbGUgc2l6ZSBpbmZvIGZyb20gdGhlIEZpbGVI YW5kbGUncyBFRklfRklMRV9JTkZPDQo+ICsgIGRhdGEuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBG aWxlSGFuZGxlICAgICAgICAgVGhlIGZpbGUgaGFuZGxlIHdob3NlIHNpemUgaXMgdG8gYmUgY2hh bmdlZC4NCj4gKyAgQHBhcmFtW2luXSBTaXplICAgICAgICAgICAgICAgVGhlIG5ldyBzaXplLg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBvcGVyYXRpb24gY29t cGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAg Q2Fubm90IGFjY2VzcyB0aGUgZmlsZS4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJ DQo+ICtGaWxlSGFuZGxlU2V0U2l6ZSAoDQo+ICsgIElOIEVGSV9GSUxFX0hBTkRMRSAgICAgICAg ICAgIEZpbGVIYW5kbGUsDQo+ICsgIElOIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgIFNpemUN Cj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIEZ1bmN0aW9uIHRvIGdldCBhIGZ1bGwgZmlsZW5h bWUgZ2l2ZW4gYSBFRklfRklMRV9IQU5ETEUgc29tZXdoZXJlIGxvd2VyDQo+IG9uIHRoZQ0KPiAr ICBkaXJlY3RvcnkgJ3N0YWNrJy4NCj4gKw0KPiArICBAcGFyYW1baW5dIEhhbmRsZSAgICAgICAg ICAgICAgSGFuZGxlIHRvIHRoZSBEaXJlY3Rvcnkgb3IgRmlsZSB0byBjcmVhdGUgcGF0aCB0by4N Cj4gKyAgQHBhcmFtW291dF0gRnVsbEZpbGVOYW1lICAgICAgIFBvaW50ZXIgdG8gcG9pbnRlciB0 byBnZW5lcmF0ZWQgZnVsbCBmaWxlDQo+IG5hbWUuICBJdA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgaXMgdGhlIHJlc3BvbnNpYmlsaXR5IG9mIHRoZSBjYWxsZXIgdG8gZnJl ZSB0aGlzIG1lbW9yeQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2l0aCBh IGNhbGwgdG8gRnJlZVBvb2woKS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAg IFRoZSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwgYW5kIEZ1bGxGaWxlTmFtZQ0KPiBpcyB2YWxp ZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIEhhbmRsZSB3YXMgTlVMTC4N Cj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIEZ1bGxGaWxlTmFtZSB3YXMgTlVM TC4NCj4gKyAgQHJldHZhbCBFRklfT1VUX09GX01FTU9SWSAgICAgIEEgbWVtb3J5IGFsbG9jYXRp b24gZmFpbGVkLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0ZpbGVIYW5k bGVHZXRGaWxlTmFtZSAoDQo+ICsgIElOIENPTlNUIEVGSV9GSUxFX0hBTkRMRSAgICAgIEhhbmRs ZSwNCj4gKyAgT1VUIENIQVIxNiAgICAgICAgICAgICAgICAgICAgKipGdWxsRmlsZU5hbWUNCj4g KyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIEZ1bmN0aW9uIHRvIHJlYWQgYSBzaW5nbGUgbGluZSAo dXAgdG8gYnV0IG5vdCBpbmNsdWRpbmcgdGhlIFxuKSBmcm9tIGEgZmlsZS4NCj4gKw0KPiArICBJ ZiB0aGUgcG9zaXRpb24gdXBvbiBzdGFydCBpcyAwLCB0aGVuIHRoZSBBc2NpaSBCb29sZWFuIHdp bGwgYmUgc2V0LiAgVGhpcw0KPiBzaG91bGQgYmUNCj4gKyAgbWFpbnRhaW5lZCBhbmQgbm90IGNo YW5nZWQgZm9yIGFsbCBvcGVyYXRpb25zIHdpdGggdGhlIHNhbWUgZmlsZS4NCj4gKw0KPiArICBA cGFyYW1baW5dICAgICAgIEhhbmRsZSAgICAgICAgIEZpbGVIYW5kbGUgdG8gcmVhZCBmcm9tLg0K PiArICBAcGFyYW1baW4sIG91dF0gIEJ1ZmZlciAgICAgICAgIFRoZSBwb2ludGVyIHRvIGJ1ZmZl ciB0byByZWFkIGludG8uDQo+ICsgIEBwYXJhbVtpbiwgb3V0XSAgU2l6ZSAgICAgICAgICAgVGhl IHBvaW50ZXIgdG8gbnVtYmVyIG9mIGJ5dGVzIGluIEJ1ZmZlci4NCj4gKyAgQHBhcmFtW2luXSAg ICAgICBUcnVuY2F0ZSAgICAgICBJZiB0aGUgYnVmZmVyIGlzIGxhcmdlIGVub3VnaCwgdGhpcyBo YXMgbm8gZWZmZWN0Lg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHRo ZSBidWZmZXIgaXMgaXMgdG9vIHNtYWxsIGFuZCBUcnVuY2F0ZSBpcyBUUlVFLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBsaW5lIHdpbGwgYmUgdHJ1bmNhdGVkLg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHRoZSBidWZmZXIgaXMgaXMg dG9vIHNtYWxsIGFuZCBUcnVuY2F0ZSBpcyBGQUxTRSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGVuIG5vIHJlYWQgd2lsbCBvY2N1ci4NCj4gKw0KPiArICBAcGFyYW1b aW4sIG91dF0gIEFzY2lpICAgICAgICAgIEJvb2xlYW4gdmFsdWUgZm9yIGluZGljYXRpbmcgd2hl dGhlciB0aGUgZmlsZSBpcw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFz Y2lpIChUUlVFKSBvciBVQ1MyIChGQUxTRSkuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgICAgIFRoZSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwuICBUaGUgbGluZSBpcw0K PiBzdG9yZWQgaW4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlci4N Cj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIEhhbmRsZSB3YXMgTlVMTC4NCj4g KyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFNpemUgd2FzIE5VTEwuDQo+ICsgIEBy ZXR2YWwgRUZJX0JVRkZFUl9UT09fU01BTEwgICBTaXplIHdhcyBub3QgbGFyZ2UgZW5vdWdoIHRv IHN0b3JlIHRoZQ0KPiBsaW5lLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U2l6ZSB3YXMgdXBkYXRlZCB0byB0aGUgbWluaW11bSBzcGFjZSByZXF1aXJlZC4NCj4gKyAgQHNh IEZpbGVIYW5kbGVSZWFkDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRmls ZUhhbmRsZVJlYWRMaW5lKA0KPiArICBJTiBFRklfRklMRV9IQU5ETEUgICAgICAgICAgICBIYW5k bGUsDQo+ICsgIElOIE9VVCBDSEFSMTYgICAgICAgICAgICAgICAgICpCdWZmZXIsDQo+ICsgIElO IE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICpTaXplLA0KPiArICBJTiBCT09MRUFOICAgICAg ICAgICAgICAgICAgICBUcnVuY2F0ZSwNCj4gKyAgSU4gT1VUIEJPT0xFQU4gICAgICAgICAgICAg ICAgKkFzY2lpDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBGdW5jdGlvbiB0byByZWFkIGEg c2luZ2xlIGxpbmUgZnJvbSBhIGZpbGUuIFRoZSBcbiBpcyBub3QgaW5jbHVkZWQgaW4gdGhlDQo+ IHJldHVybmVkDQo+ICsgIGJ1ZmZlci4gIFRoZSByZXR1cm5lZCBidWZmZXIgbXVzdCBiZSBjYWxs ZWUgZnJlZWQuDQo+ICsNCj4gKyAgSWYgdGhlIHBvc2l0aW9uIHVwb24gc3RhcnQgaXMgMCwgdGhl biB0aGUgQXNjaWkgQm9vbGVhbiB3aWxsIGJlIHNldC4gIFRoaXMNCj4gc2hvdWxkIGJlDQo+ICsg IG1haW50YWluZWQgYW5kIG5vdCBjaGFuZ2VkIGZvciBhbGwgb3BlcmF0aW9ucyB3aXRoIHRoZSBz YW1lIGZpbGUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgICBIYW5kbGUgICAgICAgIEZpbGVI YW5kbGUgdG8gcmVhZCBmcm9tLg0KPiArICBAcGFyYW1baW4sIG91dF0gIEFzY2lpICAgICAgICAg Qm9vbGVhbiB2YWx1ZSBmb3IgaW5kaWNhdGluZyB3aGV0aGVyIHRoZSBmaWxlIGlzDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBc2NpaSAoVFJVRSkgb3IgVUNTMiAoRkFMU0Up Lg0KPiArDQo+ICsgIEByZXR1cm4gICAgICAgICAgICAgICAgICAgICAgICBUaGUgbGluZSBvZiB0 ZXh0IGZyb20gdGhlIGZpbGUuDQo+ICsNCj4gKyAgQHNhIEZpbGVIYW5kbGVSZWFkTGluZQ0KPiAr KiovDQo+ICtDSEFSMTYqDQo+ICtFRklBUEkNCj4gK0ZpbGVIYW5kbGVSZXR1cm5MaW5lKA0KPiAr ICBJTiBFRklfRklMRV9IQU5ETEUgICAgICAgICAgICBIYW5kbGUsDQo+ICsgIElOIE9VVCBCT09M RUFOICAgICAgICAgICAgICAgICpBc2NpaQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgRnVu Y3Rpb24gdG8gd3JpdGUgYSBsaW5lIG9mIHVuaWNvZGUgdGV4dCB0byBhIGZpbGUuDQo+ICsNCj4g KyAgSWYgSGFuZGxlIGlzIE5VTEwsIEFTU0VSVC4NCj4gKw0KPiArICBAcGFyYW1baW5dICAgICBI YW5kbGUgICAgICAgICBGaWxlSGFuZGxlIHRvIHdyaXRlIHRvLg0KPiArICBAcGFyYW1baW5dICAg ICBCdWZmZXIgICAgICAgICBCdWZmZXIgdG8gd3JpdGUsIGlmIE5VTEwgdGhlIGZ1bmN0aW9uIHdp bGwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGFrZSBubyBhY3Rpb24gYW5k IHJldHVybiBFRklfU1VDQ0VTUy4NCj4gKw0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAg ICAgICBUaGUgZGF0YSB3YXMgd3JpdHRlbi4NCj4gKyAgQHJldHZhbCAgb3RoZXIgICAgICAgICAg ICAgICAgRmFpbHVyZS4NCj4gKw0KPiArICBAc2EgRmlsZUhhbmRsZVdyaXRlDQo+ICsqKi8NCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRmlsZUhhbmRsZVdyaXRlTGluZSgNCj4gKyAgSU4g RUZJX0ZJTEVfSEFORExFIEhhbmRsZSwNCj4gKyAgSU4gQ0hBUjE2ICAgICAgICAgICpCdWZmZXIN Cj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIEZ1bmN0aW9uIHRvIHRha2UgYSBmb3JtYXR0ZWQg YXJndW1lbnQgYW5kIHByaW50IGl0IHRvIGEgZmlsZS4NCj4gKw0KPiArICBAcGFyYW1baW5dIEhh bmRsZSAgIFRoZSBmaWxlIGhhbmRsZSBmb3IgdGhlIGZpbGUgdG8gd3JpdGUgdG8uDQo+ICsgIEBw YXJhbVtpbl0gRm9ybWF0ICAgVGhlIGZvcm1hdCBhcmd1bWVudCAoc2VlIHByaW50bGliIGZvciB0 aGUgZm9ybWF0DQo+IHNwZWNpZmllcikuDQo+ICsgIEBwYXJhbVtpbl0gLi4uICAgICAgVGhlIHZh cmlhYmxlIGFyZ3VtZW50cyBmb3IgdGhlIGZvcm1hdC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTIFRoZSBvcGVyYXRpb24gd2FzIHN1Y2Nlc3NmdWwuDQo+ICsgIEByZXR2YWwgb3RoZXIg ICAgICAgQSByZXR1cm4gdmFsdWUgZnJvbSBGaWxlSGFuZGxlV3JpdGVMaW5lLg0KPiArDQo+ICsg IEBzYSBGaWxlSGFuZGxlV3JpdGVMaW5lDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArRmlsZUhhbmRsZVByaW50TGluZSgNCj4gKyAgSU4gRUZJX0ZJTEVfSEFORExFICBIYW5k bGUsDQo+ICsgIElOIENPTlNUIENIQVIxNiAgICAgKkZvcm1hdCwNCj4gKyAgLi4uDQo+ICsgICk7 DQo+ICsNCj4gKy8qKg0KPiArICBGdW5jdGlvbiB0byBkZXRlcm1pbmUgaWYgYSBGSUxFX0hBTkRM RSBpcyBhdCB0aGUgZW5kIG9mIHRoZSBmaWxlLg0KPiArDQo+ICsgIFRoaXMgd2lsbCBOT1Qgd29y ayBvbiBkaXJlY3Rvcmllcy4NCj4gKw0KPiArICBJZiBIYW5kbGUgaXMgTlVMTCwgdGhlbiBBU1NF UlQoKS4NCj4gKw0KPiArICBAcGFyYW1baW5dIEhhbmRsZSAgICAgVGhlIGZpbGUgaGFuZGxlLg0K PiArDQo+ICsgIEByZXR2YWwgVFJVRSAgICAgICAgICBUaGUgcG9zaXRpb24gaXMgYXQgdGhlIGVu ZCBvZiB0aGUgZmlsZS4NCj4gKyAgQHJldHZhbCBGQUxTRSAgICAgICAgIFRoZSBwb3NpdGlvbiBp cyBub3QgYXQgdGhlIGVuZCBvZiB0aGUgZmlsZS4NCj4gKyoqLw0KPiArQk9PTEVBTg0KPiArRUZJ QVBJDQo+ICtGaWxlSGFuZGxlRW9mKA0KPiArICBJTiBFRklfRklMRV9IQU5ETEUgSGFuZGxlDQo+ ICsgICk7DQo+ICsNCj4gKyNlbmRpZiAvL19GSUxFX0hBTkRMRV9MSUJSQVJZX0hFQURFUl8NCj4g Kw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5j bHVkZS9HdWlkL0FjcGlUYWJsZVN0b3JhZ2UuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9BY3BpVGFibGVTdG9yYWdlLmgNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNzMyMGJmNmNmZQ0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9B Y3BpVGFibGVTdG9yYWdlLmgNCj4gQEAgLTAsMCArMSwzMCBAQA0KPiArLyorKw0KPiArDQo+ICsg IENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFt ZToNCj4gKw0KPiArICBBY3BpVGFibGVTdG9yYWdlLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsN Cj4gKyAgR1VJRCBmb3IgdGhlIEFDUEkgVGFibGUgU3RvcmFnZSBmaWxlbmFtZS4NCj4gKw0KPiAr ICBUaGlzIEdVSUQgaXMgZGVmaW5lZCBpbiB0aGUgVGlhbm8gQUNQSSBUYWJsZSBTdG9yYWdlIEVQ Uy4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9BQ1BJX1RBQkxFX1NUT1JBR0VfSF8N Cj4gKyNkZWZpbmUgX0FDUElfVEFCTEVfU1RPUkFHRV9IXw0KPiArDQo+ICsjZGVmaW5lIEVGSV9B Q1BJX1RBQkxFX1NUT1JBR0VfR1VJRCBcDQo+ICsgIHsgMHg3ZTM3NGUyNSwgMHg4ZTAxLCAweDRm ZWUsIHsweDg3LCAweGYyLCAweDM5LCAweGMsIDB4MjMsIDB4YzYsIDB4NiwgMHhjZH0gfQ0KPiAr DQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaUFjcGlUYWJsZVN0b3JhZ2VHdWlkOw0KPiArDQo+ICsj ZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0luY2x1ZGUvR3VpZC9BbGVydFN0YW5kYXJkRm9ybWF0LmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0d1aWQvQWxlcnRTdGFuZGFyZEZvcm1hdC5oDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmYwNDU5NTQ1ZTQNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9J bmNsdWRlL0d1aWQvQWxlcnRTdGFuZGFyZEZvcm1hdC5oDQo+IEBAIC0wLDAgKzEsODYgQEANCj4g Ky8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4g K01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIEFzZi5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ ICsgIEFsZXJ0IFN0YW5kYXJkIEZvcm1hdCBhZGRyZXNzIHZhcmlhYmxlDQo+ICsNCj4gKy0tKi8N Cj4gKw0KPiArI2lmbmRlZiBBbGVydFN0YW5kYXJkRm9ybWF0X2hfaW5jbHVkZWQNCj4gKyNkZWZp bmUgQWxlcnRTdGFuZGFyZEZvcm1hdF9oX2luY2x1ZGVkDQo+ICsNCj4gKw0KPiArI3ByYWdtYSBw YWNrKDEpDQo+ICsNCj4gKy8vDQo+ICsvLyBBU0YgYWRkcmVzcw0KPiArLy8NCj4gKy8vDQo+ICsv LyB7M0Q5OTVGQjQtNEYwNS00MDczLUJFNzItQTE5Q0ZCNURFNjkwfQ0KPiArLy8NCj4gKyNkZWZp bmUgIEFMRVJUX1NUQU5EQVJEX0ZPUk1BVF9WQVJJQUJMRV9HVUlEIFwNCj4gKyAgezB4M2Q5OTVm YjQsIDB4NGYwNSwgMHg0MDczLCAweGJlLCAweDcyLCAweGExLCAweDljLCAweGZiLCAweDVkLCAw eGU2LCAweDkwfQ0KPiArDQo+ICsjZGVmaW5lIEFMRVJUX1NUQU5EQVJEX0ZPUk1BVF9WQVJJQUJM RV9OQU1FIChMIkFTRiIpDQo+ICsjZGVmaW5lIEFTQ0lJX0FMRVJUX1NUQU5EQVJEX0ZPUk1BVF9W QVJJQUJMRV9OQU1FICgiQVNGIikNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdBbGVydFN0YW5k YXJkRm9ybWF0R3VpZDsNCj4gK2V4dGVybiBDSEFSMTYgICBnQWxlcnRTdGFuZGFyZEZvcm1hdE5h bWVbXTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgIFNtYnVzQWRkcjsN Cj4gKyAgc3RydWN0IHsNCj4gKyAgICBVSU5UMzIgIFZlbmRvclNwZWNpZmljSWQ7DQo+ICsgICAg VUlOVDE2ICBTdWJzeXN0ZW1EZXZpY2VJZDsNCj4gKyAgICBVSU5UMTYgIFN1YnN5c3RlbVZlbmRv cklkOw0KPiArICAgIFVJTlQxNiAgSW50ZXJmYWNlOw0KPiArICAgIFVJTlQxNiAgRGV2aWNlSWQ7 DQo+ICsgICAgVUlOVDE2ICBWZW5kb3JJZDsNCj4gKyAgICBVSU5UOCAgIFZlbmRvclJldmlzaW9u Ow0KPiArICAgIFVJTlQ4ICAgRGV2aWNlQ2FwYWJpbGl0aWVzOw0KPiArICB9IFVkaWQ7DQo+ICsg IHN0cnVjdCB7DQo+ICsgICAgVUlOVDggICAgIFN1YkNvbW1hbmQ7DQo+ICsgICAgVUlOVDggICAg IFZlcnNpb247DQo+ICsgICAgVUlOVDMyICAgIElhbmFJZDsNCj4gKyAgICBVSU5UOCAgICAgU3Bl Y2lhbENvbW1hbmQ7DQo+ICsgICAgVUlOVDE2ICAgIFNwZWNpYWxDb21tYW5kUGFyYW07DQo+ICsg ICAgVUlOVDE2ICAgIEJvb3RPcHRpb25zQml0czsNCj4gKyAgICBVSU5UMTYgICAgT2VtUGFyYW07 DQo+ICsgIH0gQXNmQm9vdE9wdGlvbnM7DQo+ICsgIHN0cnVjdCB7DQo+ICsgICAgVUlOVDggICAg IEJ1czsNCj4gKyAgICBVSU5UOCAgICAgRGV2aWNlOw0KPiArICAgIFVJTlQ4ICAgICBGdW5jdGlv bjsNCj4gKyAgICBVSU5UMTYgICAgVmVuZG9ySWQ7DQo+ICsgICAgVUlOVDE2ICAgIERldmljZUlk Ow0KPiArICAgIFVJTlQxNiAgICBJZGVyQ21kQmFyOw0KPiArICAgIFVJTlQxNiAgICBJZGVyQ3Ry bEJhcjsNCj4gKyAgICBVSU5UOCAgICAgSWRlcklycTsNCj4gKyAgICBVSU5UMTYgICAgU29sQmFy Ow0KPiArICAgIFVJTlQ4ICAgICBTb2xJcnE7DQo+ICsgIH0gUGNpSW5mbzsNCj4gKyAgc3RydWN0 IHsNCj4gKyAgVUlOVDggICBJYW10UHJvdmlzaW9uaW5nU3RhdHVzOw0KPiArICBCT09MRUFOIElh bXRJc1Byb3Zpc2lvbmVkOw0KPiArICB9IElhbXRJbmZvOw0KPiArICBzdHJ1Y3Qgew0KPiArICAg IEJPT0xFQU4gRmxhc2hVcGRhdGluZ0lzQWxsb3dlZDsNCj4gKyAgfSBNZUluZm9Gb3JFYnU7DQo+ ICsgIFVJTlQzMiAgRWl0QlBGQWRkcmVzczsNCj4gK30gRUZJX0FTRl9WQVJJQUJMRTsNCj4gKw0K PiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2VuZGlmDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9CaW9zSWQuaA0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9CaW9zSWQuaA0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5lODZmYzg1MmZjDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv SW5jbHVkZS9HdWlkL0Jpb3NJZC5oDQo+IEBAIC0wLDAgKzEsMzAgQEANCj4gKy8qKysNCj4gKw0K PiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZA0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6 DQo+ICsNCj4gKyAgICBCaW9zSWQuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgIEdV SURzIHVzZWQgZm9yIEJpb3MgSUQuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfQklP U19JRF9IXw0KPiArI2RlZmluZSBfQklPU19JRF9IXw0KPiArDQo+ICsNCj4gKyNkZWZpbmUgRUZJ X0JJT1NfSURfR1VJRCBcDQo+ICt7IDB4QzNFMzZEMDksIDB4ODI5NCwgMHg0Yjk3LCAweEE4LCAw eDU3LCAweEQ1LCAweDI4LCAweDhGLCAweEUzLCAweDNFLA0KPiAweDI4IH0NCj4gKw0KPiArDQo+ ICtleHRlcm4gRUZJX0dVSUQgZ0VmaUJpb3NJZEd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZm IC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL0Jv YXJkRmVhdHVyZXMuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvR3VpZC9Cb2FyZEZlYXR1cmVzLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uYWUzYzJkOWFlYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9Cb2FyZEZlYXR1cmVzLmgNCj4g QEAgLTAsMCArMSwyMTQgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQg IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAr DQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgICBCb2Fy ZEZlYXR1cmVzLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgICBFRkkgUGxhdGZvcm0g Qm9hcmQgRmVhdHVyZXMNCj4gKw0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBC b2FyZEZlYXR1cmVzX2hfaW5jbHVkZWQNCj4gKyNkZWZpbmUgQm9hcmRGZWF0dXJlc19oX2luY2x1 ZGVkDQo+ICsNCj4gKyNpbmNsdWRlIDxCYXNlLmg+DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0K PiArDQo+ICsvLw0KPiArLy8gQm9hcmQgRmVhdHVyZXMNCj4gKy8vDQo+ICsjaWYgZGVmaW5lZCBM RUdBQ1lfQk9BUkRfRkVBVFVSRVMgJiYgTEVHQUNZX0JPQVJEX0ZFQVRVUkVTDQo+ICsjZGVmaW5l IEJfQk9BUkRfRkVBVFVSRVNfQ0hJUFNFVF9MQU4gICAgICAgICAgIEJJVDANCj4gKyNkZWZpbmUg Ql9CT0FSRF9GRUFUVVJFU19MQU5fTUFSVkVMTCAgICAgICAgICAgQklUMQ0KPiArI2RlZmluZSBC X0JPQVJEX0ZFQVRVUkVTX0FBX05PVF9GT1VORCAgICAgICAgICAgQklUMg0KPiArI2RlZmluZSBC X0JPQVJEX0ZFQVRVUkVTX1NJT19OT19DT00xICAgICAgICAgICBCSVQzDQo+ICsjZGVmaW5lIEJf Qk9BUkRfRkVBVFVSRVNfU0lPX0NPTTIgICAgICAgICAgICAgIEJJVDQNCj4gKyNkZWZpbmUgQl9C T0FSRF9GRUFUVVJFU19TSU9fTk9fUEFSQUxMRUwgICAgICAgQklUNQ0KPiArI2RlZmluZSBCX0JP QVJEX0ZFQVRVUkVTX0NISVBTRVRfVklERU8gICAgICAgICBCSVQ2DQo+ICsjZGVmaW5lIEJfQk9B UkRfRkVBVFVSRVNfQ0hJUFNFVF9WSURFT19PUFRJT04wIEJJVDcNCj4gKyNkZWZpbmUgQl9CT0FS RF9GRUFUVVJFU19WSURFT19TTE9UICAgICAgICAgICAgQklUOA0KPiArI2RlZmluZSBCX0JPQVJE X0ZFQVRVUkVTX01JTklfQ0FSRCAgICAgICAgICAgICBCSVQ5DQo+ICsjZGVmaW5lIEJfQk9BUkRf RkVBVFVSRVNfRElTQ1JFVEVfMTM5NCAgICAgICAgIEJJVDEwDQo+ICsjZGVmaW5lIEJfQk9BUkRf RkVBVFVSRVNfTEVHQUNZX0ZSRUUgICAgICAgICAgIEJJVDExDQo+ICsjZGVmaW5lIEJfQk9BUkRf RkVBVFVSRVNfVVNCX0hVQiAgICAgICAgICAgICAgIEJJVDEyDQo+ICsjZGVmaW5lIEJfQk9BUkRf RkVBVFVSRVNfVFBNICAgICAgICAgICAgICAgICAgIEJJVDEzDQo+ICsjZGVmaW5lIEJfQk9BUkRf RkVBVFVSRVNfVklJViAgICAgICAgICAgICAgICAgICBCSVQxNA0KPiArI2RlZmluZSBCX0JPQVJE X0ZFQVRVUkVTX0ZPUk1fRkFDVE9SX01BU0sNCj4gKEJJVDE1fEJJVDE2fEJJVDE3fEJJVDE4fEJJ VDE5KQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0ZPUk1fRkFDVE9SX1BCVFggICAgICBC SVQxNQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0ZPUk1fRkFDVE9SX0FUWCAgICAgICBC SVQxNg0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0ZPUk1fRkFDVE9SX0JUWCAgICAgICBC SVQxNw0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0ZPUk1fRkFDVE9SX01JQ1JPX0FUWCBC SVQxOA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0ZPUk1fRkFDVE9SX01JQ1JPX0JUWCBC SVQxOQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX01FTU9SWV9UWVBFX0REUjEgICAgICBC SVQyMA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX01FTU9SWV9UWVBFX0REUjIgICAgICBC SVQyMQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX01FTU9SWV9TTE9UX01BU0sgICAgICBC SVQyMyB8IEJJVDIyDQo+ICsjZGVmaW5lICAgVl9CT0FSRF9GRUFUVVJFU18xX01FTU9SWV9TTE9U ICAgICAgICAgMCAgICAgICAgICAgICAgLy8gQklUMjI9MCwNCj4gQklUMjM9MA0KPiArI2RlZmlu ZSAgIFZfQk9BUkRfRkVBVFVSRVNfMl9NRU1PUllfU0xPVCAgICAgICAgIEJJVDIyICAgICAgICAg IC8vIEJJVDIyPTEsDQo+IEJJVDIzPTANCj4gKyNkZWZpbmUgICBWX0JPQVJEX0ZFQVRVUkVTXzNf TUVNT1JZX1NMT1QgICAgICAgICBCSVQyMyAgICAgICAgICAvLyBCSVQyMj0wLA0KPiBCSVQyMz0x DQo+ICsjZGVmaW5lICAgVl9CT0FSRF9GRUFUVVJFU180X01FTU9SWV9TTE9UICAgICAgICAgQklU MjMgfCBCSVQyMiAgLy8NCj4gQklUMjI9MSwgQklUMjM9MQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZF QVRVUkVTX0FMVF9NRU1fQ0xLX1JUICAgICAgICAgQklUMjQNCj4gKyNkZWZpbmUgQl9CT0FSRF9G RUFUVVJFU19TTEVFUF9NQVNLICAgICAgICAgICAgQklUMjUNCj4gKyNkZWZpbmUgICBWX0JPQVJE X0ZFQVRVUkVTX1NMRUVQX1MxICAgICAgICAgICAgICAwICAgICAgICAgICAgICAvLyBCSVQyNT0w DQo+ICsjZGVmaW5lICAgVl9CT0FSRF9GRUFUVVJFU19TTEVFUF9TMyAgICAgICAgICAgICAgQklU MjUgICAgICAgICAgLy8gQklUMjU9MQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTXzNKQUNL X0FVRElPX1NPTFVUSU9OICAgIEJJVDI2ICAgICAgICAgIC8vDQo+IDAvMT0gNS8zIFJlYXIgSmFj a3MNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19ESVNDUkVURV9TQVRBICAgICAgICAgQklU MjcNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU18yX1NBVEEgICAgICAgICAgICAgICBCSVQy OCAgICAvLyAyU0FUQSBpbnN0ZWFkIG9mDQo+IDQocHJlIEljaDgpIG9yIDQgU0FUQSBpbnN0ZWFk IG9mIDYoSWNoOCkNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19SVlAgICAgICAgICAgICAg ICAgICBCSVQyOSAgICAvLyBCb2FyZCBpcyBhbiBSVlAgYm9hcmQNCj4gKyNkZWZpbmUgQl9CT0FS RF9GRUFUVVJFU19QT1JUODBfTFBDICAgICAgICAgICBCSVQzMCAgICAvLyBQb3J0ODAgUENJKDAp IG9yDQo+IExQQygxKQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0xJTUlURURfQ1BVX1NV UFBPUlQgIEJJVDMxICAgIC8vIExpbWl0ZWQNCj4gQ1BVIHN1cHBvcnQNCj4gKyNkZWZpbmUgQl9C T0FSRF9GRUFUVVJFU19QTVBfU1VQUE9SVCAgICAgICAgICBCSVQzMiAgICAvLyBTdXBwb3J0IGZv cg0KPiBvdmVyLXZvbHRhZ2luZyBtZW1vcnkNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19I V19XQVRDSERPR19USU1FUiAgICBCSVQzMyAgICAvLyBTdXBwb3J0DQo+IGZvciB0aGUgSFctYmFz ZWQgNTU1IFdhdGNoZG9nIFRpbWVyIGZlYXR1cmUNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJF U19OT19RUlQgICAgICAgICAgICAgICBCSVQzNCAgICAvLyBkaXNhYmxlIFFSVA0KPiArI2RlZmlu ZSBCX0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEUxICAgICAgICAgIEJJVDM1ICAgIC8vIFZlcmIg dGFibGUgMQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEUyICAgICAgICAg IEJJVDM2ICAgIC8vIFZlcmIgdGFibGUgMg0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX1ZF UkJfVEFCTEUzICAgICAgICAgIEJJVDM3ICAgIC8vIFZlcmIgdGFibGUgMw0KPiArI2RlZmluZSBC X0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEU0ICAgICAgICAgIEJJVDM4ICAgIC8vIFZlcmIgdGFi bGUgNA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEU1ICAgICAgICAgIEJJ VDM5ICAgIC8vIFJlc2VydmVkIGZvcg0KPiBWZXJiIHRhYmxlIDUNCj4gKyNkZWZpbmUgQl9CT0FS RF9GRUFUVVJFU19WRVJCX1RBQkxFX01BU0sgICAgICBCSVQzNSB8IEJJVDM2IHwgQklUMzcNCj4g fCBCSVQzOCB8IEJJVDM5DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfS0VOVFNGSUVMRF9C TE9DSyAgICAgQklUNDAgICAgLy8gS2VudHNmaWVsZA0KPiBub3Qgc3VwcG9ydGVkDQo+ICsjZGVm aW5lIEJfQk9BUkRfRkVBVFVSRVNfS0VOVFNGSUVMRF9XQVJOSU5HICAgQklUNDEgICAgLy8NCj4g S2VudHNmaWVsZCB3YXJuaW5nDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9S VDAgICAgICAgICAgQklUNDIgICAgLy8gRS1TQVRBIG9uDQo+IFBvcnQwDQo+ICsjZGVmaW5lIEJf Qk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9SVDEgICAgICAgICAgQklUNDMgICAgLy8gRS1TQVRBIG9u DQo+IFBvcnQxDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9SVDIgICAgICAg ICAgQklUNDQgICAgLy8gRS1TQVRBIG9uDQo+IFBvcnQyDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVB VFVSRVNfRVNBVEFfUE9SVDMgICAgICAgICAgQklUNDUgICAgLy8gRS1TQVRBIG9uDQo+IFBvcnQz DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9SVDQgICAgICAgICAgQklUNDYg ICAgLy8gRS1TQVRBIG9uDQo+IFBvcnQ0DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNB VEFfUE9SVDUgICAgICAgICAgQklUNDcgICAgLy8gRS1TQVRBIG9uDQo+IFBvcnQ1DQo+ICsjZGVm aW5lIEJfQk9BUkRfRkVBVFVSRVNfRUNJUiAgICAgICAgICAgICAgICAgQklUNDggICAgLy8gRW5o YW5jZWQgQ29uc3VtZXINCj4gSVINCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19QUzJXQUtF RlJPTVM1ICAgICAgICBCSVQ0OSAgICAvLyBXYWtlIGZyb20NCj4gUzUgdmlhIFBTMiBrZXlib2Fy ZA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0hEQVVESU9MSU5LICAgICAgICAgIEJJVDUw ICAgIC8vIEhEIGF1ZGlvIGxpbmsNCj4gc3VwcG9ydA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRV UkVTXzFfUEFUQSAgICAgICAgICAgICAgIEJJVDUxDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVS RVNfTU9CSUxFICAgICAgICAgICAgICAgQklUNTINCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJF U19OT19GTE9QUFkgICAgICAgICAgICBCSVQ1Mw0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVT X0RJU0FCTEVfVU5VU0VEX0ZTQiAgIEJJVDU0DQo+ICsNCj4gKy8vDQo+ICsvLyBCaXQgNTUtNTgg cmVzZXJ2ZWQgYnkgUFNJRCBzdXBwb3J0LiAgQ1BVIHBvd2VyIHJlcXVpcmVtZW50IGJlbG93IGFy ZQ0KPiBwcmVsaW1pbmFyeS4NCj4gKy8vIFRoZXkgbWlnaHQgYmUgY2hhbmdlZC4NCj4gKy8vIFRo aXMgaXMgbm90IHNhbWUgYXMgOC42LjEgcHJvZHVjdHMgc28gYmUgY2FyZWZ1bC4NCj4gKy8vDQo+ ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfQ1BVX1BPV0VSX0JJVE5VTSAgICAgNTUNCj4gKyNk ZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19DUFVfUE9XRVJfTUFTSyAgICAgICAoQklUNTUgfCBCSVQ1 NiB8DQo+IEJJVDU3IHwgQklUNTgpDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfQ1BVX1BP V0VSXzM1VyAgICAgICAgMCAgICAgLy8gVGhlb3JldGljYWxseQ0KPiBkb2Vzbid0IGV4aXN0Lg0K PiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0NQVV9QT1dFUl80MFcgICAgICAgIEJJVDU1IC8v IDAwMDENCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19DUFVfUE9XRVJfNDVXICAgICAgICBC SVQ1NiAvLyAwMDEwDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfQ1BVX1BPV0VSXzUwVyAg ICAgICAgKEJJVDU1IHwgQklUNTYpIC8vDQo+IDAwMTENCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFU VVJFU19DUFVfUE9XRVJfNjVXICAgICAgICBCSVQ1NyAvLyAwMTAwDQo+IFdvbGZkYWxlLUgvLU0N Cj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19DUFVfUE9XRVJfNzBXICAgICAgICAoQklUNTUg fCBCSVQ1NykgLy8NCj4gMDEwMQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0NQVV9QT1dF Ul83NVcgICAgICAgIChCSVQ1NiB8IEJJVDU3KSAvLw0KPiAwMTEwDQo+ICsjZGVmaW5lIEJfQk9B UkRfRkVBVFVSRVNfQ1BVX1BPV0VSXzgwVyAgICAgICAgKEJJVDU1IHwgQklUNTYgfCBCSVQ1NykN Cj4gLy8gMDExMQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0NQVV9QT1dFUl85NVcgICAg ICAgIEJJVDU4IC8vIDEwMDANCj4gWW9ya2ZpZWxkDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVS RVNfQ1BVX1BPV0VSXzEwMFcgICAgICAgKEJJVDU1IHwgQklUNTgpIC8vDQo+IDEwMDENCj4gKyNk ZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19DUFVfUE9XRVJfMTA1VyAgICAgICAoQklUNTYgfCBCSVQ1 OCkgLy8NCj4gMTAxMA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0NQVV9QT1dFUl8xMTBX ICAgICAgIChCSVQ1NSB8IEJJVDU2IHwgQklUNTgpDQo+IC8vIDEwMTENCj4gKyNkZWZpbmUgQl9C T0FSRF9GRUFUVVJFU19DUFVfUE9XRVJfMTMwVyAgICAgICAoQklUNTcgfCBCSVQ1OCkgLy8NCj4g MTEwMCBYRSBZb3JrZmllbGQNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19DUFVfUE9XRVJf MTM1VyAgICAgICAoQklUNTUgfCBCSVQ1NyB8IEJJVDU4KQ0KPiAvLyAxMTAxDQo+ICsjZGVmaW5l IEJfQk9BUkRfRkVBVFVSRVNfQ1BVX1BPV0VSX092ZXIxMzVXICAgKEJJVDU2IHwgQklUNTcgfA0K PiBCSVQ1OCkgLy8gMTExMCBSZXNlcnZlZA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0NQ VV9QT1dFUl8xNDBXICAgICAgIChCSVQ1NSB8IEJJVDU2IHwgQklUNTcNCj4gfCBCSVQ1OCkgLy8g MTExMSBSZXNlcnZlZA0KPiArI2RlZmluZSBCX1ZWX0JPQVJEX0ZFQVRVUkVTICAgICAgICAgICAg ICAgICAgICBCSVQ1OQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0lEQ0MyX1NVUFBPUlQg ICAgICAgICBCSVQ2MCAvLyBJbmNsdWRlIElEQ0MyDQo+IHN1cHBvcnQNCj4gKyNkZWZpbmUgQl9C T0FSRF9GRUFUVVJFU19OT19TQVRBX1BPUlQyXzMgICAgICAgQklUNjEgLy8gTm8gU0FUQQ0KPiBQ b3J0MiYzIENvbm5lY3RvciwgdXNlZCB3aXRoIEJfQk9BUkRfRkVBVFVSRVNfMl9TQVRBIGZsYWcN Cj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19GT1JNX0ZBQ1RPUl9NSU5JX0lUWCAgQklUNjIN Cj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19OUElfUVBJX1ZPTFRBR0UgICAgICAgQklUNjMN Cj4gKw0KPiArI2Vsc2UNCj4gKw0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0NISVBTRVRf TEFOICAgICAgICAgICAgICBCSVQwDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfQ0hJUFNF VF9WSURFTyAgICAgICAgICAgIEJJVDENCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19WSURF T19TTE9UICAgICAgICAgICAgICAgQklUMg0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0FB X05PVF9GT1VORCAgICAgICAgICAgICBCSVQzDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNf U0lPX05PX0NPTTEgICAgICAgICAgICAgIEJJVDQNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJF U19TSU9fQ09NMiAgICAgICAgICAgICAgICAgQklUNQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRV UkVTX1NJT19OT19QQVJBTExFTCAgICAgICAgICBCSVQ2DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVB VFVSRVNfTk9fRkxPUFBZICAgICAgICAgICAgICAgIEJJVDcNCj4gKyNkZWZpbmUgQl9CT0FSRF9G RUFUVVJFU19QUzJXQUtFRlJPTVM1ICAgICAgICAgICAgQklUOCAgICAgICAgICAgICAvLyBXYWtl DQo+IGZyb20gUzUgdmlhIFBTMiBrZXlib2FyZA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVT X0VDSVIgICAgICAgICAgICAgICAgICAgICBCSVQ5ICAgICAgICAgICAgIC8vIEVuaGFuY2VkDQo+ IENvbnN1bWVyIElSDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfTEVHQUNZX0ZSRUUgICAg ICAgICAgICAgIEJJVDEwDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfTUlOSV9DQVJEICAg ICAgICAgICAgICAgIEJJVDExDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRElTQ1JFVEVf MTM5NCAgICAgICAgICAgIEJJVDEyDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfVVNCX0hV QiAgICAgICAgICAgICAgICAgIEJJVDEzDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfVFBN ICAgICAgICAgICAgICAgICAgICAgIEJJVDE0DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNf Rk9STV9GQUNUT1JfTUFTSw0KPiAoQklUMTV8QklUMTZ8QklUMTd8QklUMTh8QklUMTl8QklUMjAp DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfUEJUWCAgICAgICAgIEJJ VDE1DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfQVRYICAgICAgICAg IEJJVDE2DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfQlRYICAgICAg ICAgIEJJVDE3DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfTUlDUk9f QVRYICAgIEJJVDE4DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfTUlD Uk9fQlRYICAgIEJJVDE5DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1Jf TUlOSV9JVFggICAgIEJJVDIwDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfTUVNT1JZX1RZ UEVfRERSMiAgICAgICAgIEJJVDIxDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfTUVNT1JZ X1RZUEVfRERSMyAgICAgICAgIEJJVDIyDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfTUVN T1JZX1NMT1RfTUFTSyAgICAgICAgIChCSVQyNCB8IEJJVDIzKQ0KPiArI2RlZmluZSAgIFZfQk9B UkRfRkVBVFVSRVNfMV9NRU1PUllfU0xPVCAgICAgICAgICAgIDAgICAgICAgICAgICAgIC8vIEJJ VDIzPTAsDQo+IEJJVDI0PTANCj4gKyNkZWZpbmUgICBWX0JPQVJEX0ZFQVRVUkVTXzJfTUVNT1JZ X1NMT1QgICAgICAgICAgQklUMjMgICAgICAgICAgICAvLw0KPiBCSVQyMz0xLCBCSVQyND0wDQo+ ICsjZGVmaW5lICAgVl9CT0FSRF9GRUFUVVJFU18zX01FTU9SWV9TTE9UICAgICAgICAgIEJJVDI0 ICAgICAgICAgICAgLy8NCj4gQklUMjM9MCwgQklUMjQ9MQ0KPiArI2RlZmluZSAgIFZfQk9BUkRf RkVBVFVSRVNfNF9NRU1PUllfU0xPVCAgICAgICAgICAoQklUMjQgfCBCSVQyMykgIC8vDQo+IEJJ VDIzPTEsIEJJVDI0PTENCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU18yX0MwX01FTU9SWV9T TE9UICAgICAgICAgQklUMjUgICAgICAgICAgICAvLyAyDQo+IENoYW5uZWwgMCBtZW1vcnkgc2xv dA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX1NMRUVQX01BU0sgICAgICAgICAgICAgICBC SVQyNg0KPiArI2RlZmluZSAgIFZfQk9BUkRfRkVBVFVSRVNfU0xFRVBfUzEgICAgICAgICAgICAg ICAgIDAgICAgICAgICAgICAgIC8vIEJJVDI2PTANCj4gKyNkZWZpbmUgICBWX0JPQVJEX0ZFQVRV UkVTX1NMRUVQX1MzICAgICAgICAgICAgICAgQklUMjYgICAgICAgICAgICAvLyBCSVQyNj0xDQo+ ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfM0pBQ0tfQVVESU9fU09MVVRJT04gICAgIEJJVDI3 ICAgICAgICAgICAgLy8NCj4gMC8xPSA1LzMgUmVhciBKYWNrcw0KPiArI2RlZmluZSBCX0JPQVJE X0ZFQVRVUkVTX0hEQVVESU9MSU5LICAgICAgICAgICAgICBCSVQyOCAgICAgICAgICAgIC8vIEhE IGF1ZGlvDQo+IGxpbmsgc3VwcG9ydA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0RJU0NS RVRFX1NBVEEgICAgICAgICAgICBCSVQyOQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTXzJf U0FUQSAgICAgICAgICAgICAgICAgICBCSVQzMCAgICAgICAgICAgIC8vIDJTQVRBDQo+IGluc3Rl YWQgb2YgNChwcmUgSWNoOCkgb3IgNCBTQVRBIGluc3RlYWQgb2YgNihJY2g4KQ0KPiArI2RlZmlu ZSBCX0JPQVJEX0ZFQVRVUkVTX05PX1NBVEFfUE9SVDJfMyAgICAgICAgICBCSVQzMSAgICAgICAg ICAgIC8vIE5vDQo+IFNBVEEgUG9ydDImMyBDb25uZWN0b3IsIHVzZWQgd2l0aCBCX0JPQVJEX0ZF QVRVUkVTXzJfU0FUQSBmbGFnDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfUlZQICAgICAg ICAgICAgICAgICAgICAgIEJJVDMyICAgICAgICAgICAgLy8gQm9hcmQgaXMgYW4gUlZQDQo+IGJv YXJkDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9SVDAgICAgICAgICAgICAg IEJJVDMzICAgICAgICAgICAgLy8gRS1TQVRBDQo+IG9uIFBvcnQwDQo+ICsjZGVmaW5lIEJfQk9B UkRfRkVBVFVSRVNfRVNBVEFfUE9SVDEgICAgICAgICAgICAgIEJJVDM0ICAgICAgICAgICAgLy8g RS1TQVRBDQo+IG9uIFBvcnQxDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9S VDIgICAgICAgICAgICAgIEJJVDM1ICAgICAgICAgICAgLy8gRS1TQVRBDQo+IG9uIFBvcnQyDQo+ ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9SVDMgICAgICAgICAgICAgIEJJVDM2 ICAgICAgICAgICAgLy8gRS1TQVRBDQo+IG9uIFBvcnQzDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVB VFVSRVNfRVNBVEFfUE9SVDQgICAgICAgICAgICAgIEJJVDM3ICAgICAgICAgICAgLy8gRS1TQVRB DQo+IG9uIFBvcnQ0DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfRVNBVEFfUE9SVDUgICAg ICAgICAgICAgIEJJVDM4ICAgICAgICAgICAgLy8gRS1TQVRBDQo+IG9uIFBvcnQ1DQo+ICsjZGVm aW5lIEJfQk9BUkRfRkVBVFVSRVNfSURDQzJfU1VQUE9SVCAgICAgICAgICAgIEJJVDM5ICAgICAg ICAgICAgLy8gSW5jbHVkZQ0KPiBJRENDMiBzdXBwb3J0DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVB VFVSRVNfTlBJX1FQSV9WT0xUQUdFICAgICAgICAgIEJJVDQwDQo+ICsjZGVmaW5lIEJfQk9BUkRf RkVBVFVSRVNfTElNSVRFRF9DUFVfU1VQUE9SVCAgICAgIEJJVDQxICAgICAgICAgICAgLy8NCj4g TGltaXRlZCBDUFUgc3VwcG9ydA0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX1BNUF9TVVBQ T1JUICAgICAgICAgICAgICBCSVQ0MiAgICAgICAgICAgIC8vIFN1cHBvcnQNCj4gZm9yIG92ZXIt dm9sdGFnaW5nIG1lbW9yeQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRVUkVTX0hXX1dBVENIRE9H X1RJTUVSICAgICAgICBCSVQ0MyAgICAgICAgICAgIC8vDQo+IFN1cHBvcnQgZm9yIHRoZSBIVy1i YXNlZCA1NTUgV2F0Y2hkb2cgVGltZXIgZmVhdHVyZQ0KPiArI2RlZmluZSBCX0JPQVJEX0ZFQVRV UkVTX0xWRFMgICAgICAgICAgICAgICAgICAgICBCSVQ0NCAgICAgICAgICAgIC8vIFN1cHBvcnQg Zm9yDQo+IExWRFMNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19WRVJCX1RBQkxFX01BU0sN Cj4gKEJJVDQ1fEJJVDQ2fEJJVDQ3fEJJVDQ4KSAgICAvLyBWZXJiIHRhYmxlDQo+ICsjZGVmaW5l IEJfQk9BUkRfRkVBVFVSRVNfVkVSQl9UQUJMRTEgICAgICAgICAgICAgIEJJVDQ1ICAgICAgICAg ICAgLy8gVmVyYg0KPiB0YWJsZSAxDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfVkVSQl9U QUJMRTIgICAgICAgICAgICAgIEJJVDQ2ICAgICAgICAgICAgLy8gVmVyYg0KPiB0YWJsZSAyDQo+ ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfVkVSQl9UQUJMRTMgICAgICAgICAgICAgIEJJVDQ3 ICAgICAgICAgICAgLy8gVmVyYg0KPiB0YWJsZSAzDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVS RVNfVkVSQl9UQUJMRTQgICAgICAgICAgICAgIEJJVDQ4ICAgICAgICAgICAgLy8gVmVyYg0KPiB0 YWJsZSA0DQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfTk9fTUlOSVBDSUUgICAgICAgICAg ICAgIEJJVDQ5ICAgICAgICAgICAgLy8gTWluaSBQQ0llDQo+IHNsb3QNCj4gKyNkZWZpbmUgQl9C T0FSRF9GRUFUVVJFU19IRE1JX1NMT1QgICAgICAgICAgICAgICAgQklUNTAgICAgICAgICAgICAv LyBIRE1JIHNsb3QNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19QUzJfSElERSAgICAgICAg ICAgICAgICAgQklUNTEgICAgICAgICAgICAvLyBQUzIgaGlkZQ0KPiArI2RlZmluZSBCX0JPQVJE X0ZFQVRVUkVTX0RWSURfU0xPVCAgICAgICAgICAgICAgICBCSVQ1MiAgICAgICAgICAgIC8vIERW SUQgc2xvdA0KPiArDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfU0lPX0NPTTMgICAgICAg ICAgICAgICAgIEJJVDUzDQo+ICsjZGVmaW5lIEJfQk9BUkRfRkVBVFVSRVNfU0lPX0NPTTQgICAg ICAgICAgICAgICAgIEJJVDU0DQo+ICsNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19MQU4y ICAgICAgICAgICAgICAgICAgICAgQklUNTUNCj4gKyNkZWZpbmUgQl9CT0FSRF9GRUFUVVJFU19Q Q0llX1NMT1QgICAgICAgICAgICAgICAgQklUNTYNCj4gKyNlbmRpZg0KPiArDQo+ICt0eXBlZGVm IFVJTlQ2NCBFRklfQk9BUkRfRkVBVFVSRVM7DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsN Cj4gKy8vDQo+ICsvLyBHbG9iYWwgSUQgZm9yIHRoZSBQbGF0Zm9ybSBCb290IE1vZGUgUHJvdG9j b2wuDQo+ICsvLw0KPiArI2RlZmluZSBFRklfQk9BUkRfRkVBVFVSRVNfR1VJRCBcDQo+ICsgIHsg MHg5NGI5ZThhZSwgMHg4ODc3LCAweDQ3OWEsIDB4OTgsIDB4NDIsIDB4ZjUsIDB4OTcsIDB4NGIs IDB4ODIsIDB4Y2UsDQo+IDB4ZDMgfQ0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaUJvYXJk RmVhdHVyZXNHdWlkOw0KPiArDQo+ICsjZGVmaW5lIEJPQVJEX0ZFQVRVUkVTX05BTUUgICBMIkJv YXJkRmVhdHVyZXMiDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0JPQVJEX0lEX0dVSUQgXA0KPiArICB7 IDB4NmIyZGQyNDUsIDB4M2YyLCAweDQxNGEsIDB4OGMsIDB4MiwgMHg5ZiwgMHhmYywgMHgyMywg MHg1MiwgMHhlMywgMHgxZSB9DQo+ICsjZGVmaW5lIEVGSV9CT0FSRF9JRF9OQU1FIChMIkJvYXJk SWQiKQ0KPiArDQo+ICsjZW5kaWYNCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL0VmaVZwZERhdGEuaA0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9FZmlWcGREYXRhLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZTAwZTU4MmNlMQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvR3VpZC9FZmlWcGREYXRhLmgNCj4gQEAgLTAsMCArMSwxNTYgQEANCj4gKy8qKysNCj4gKw0K PiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKyAgRWZpVnBkRGF0YS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ ICsgIENvbnN0YW50cyBhbmQgZGVjbGFyYXRpb25zIHRoYXQgYXJlIGNvbW1vbiBhY2Nyb3NzIFBF SSBhbmQgRFhFLg0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIF9FRklfVlBEX0RBVEFfSF8NCj4g KyNkZWZpbmUgX0VGSV9WUERfREFUQV9IXw0KPiArDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0K PiArDQo+ICsvLw0KPiArLy8gRE1JIGRhdGENCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ ICsNCj4gKyAgQ0hBUjggRG1pR3BudkhlYWRlcls0XTsgICAgICAgICAgICAgLy8gJERNSQ0KPiAr ICBDSEFSOCBTeXN0ZW1JbmZvTWFudWZhY3R1cmVyWzB4MjBdOyAvLyBTdHJ1Y3R1cmUgVHlwZSAx IFN0cmluZyAxDQo+ICsgIENIQVI4IFN5c3RlbUluZm9Qcm9kdWN0TmFtZVsweDIwXTsgIC8vIFN0 cnVjdHVyZSBUeXBlIDEgU3RyaW5nIDINCj4gKyAgQ0hBUjggU3lzdGVtSW5mb1ZlcnNpb25bMHgx OF07ICAgICAgLy8gU3RydWN0dXJlIFR5cGUgMSBTdHJpbmcgMw0KPiArICBDSEFSOCBTeXN0ZW1J bmZvU2VyaWFsTnVtYmVyWzB4MjBdOyAvLyBTdHJ1Y3R1cmUgVHlwZSAxIFN0cmluZyA0DQo+ICsg IENIQVI4IEJhc2VCb2FyZE1hbnVmYWN0dXJlclsweDIwXTsgIC8vIFN0cnVjdHVyZSBUeXBlIDIg U3RyaW5nIDENCj4gKyAgQ0hBUjggQmFzZUJvYXJkUHJvZHVjdE5hbWVbMHgyMF07ICAgLy8gU3Ry dWN0dXJlIFR5cGUgMiBTdHJpbmcgMg0KPiArICBDSEFSOCBCYXNlQm9hcmRWZXJzaW9uWzB4MThd OyAgICAgICAvLyBTdHJ1Y3R1cmUgVHlwZSAyIFN0cmluZyAzDQo+ICsgIENIQVI4IEJhc2VCb2Fy ZFNlcmlhbE51bWJlclsweDIwXTsgIC8vIFN0cnVjdHVyZSBUeXBlIDIgU3RyaW5nIDQNCj4gKyAg Q0hBUjggQ2hhc3Npc01hbnVmYWN0dXJlclsweDIwXTsgICAgLy8gU3RydWN0dXJlIFR5cGUgMyBT dHJpbmcgMQ0KPiArICBVSU5UOCBDaGFzc2lzVHlwZTsgICAgICAgICAgICAgICAgICAvLyBFbnVt ZXJhdGVkDQo+ICsgIENIQVI4IENoYXNzaXNWZXJzaW9uWzB4MThdOyAgICAgICAgIC8vIFN0cnVj dHVyZSBUeXBlIDMgU3RyaW5nIDINCj4gKyAgQ0hBUjggQ2hhc3Npc1NlcmlhbE51bWJlclsweDIw XTsgICAgLy8gU3RydWN0dXJlIFR5cGUgMyBTdHJpbmcgMw0KPiArICBDSEFSOCBDaGFzc2lzQXNz ZXRUYWdbMHgyMF07ICAgICAgICAvLyBTdHJ1Y3R1cmUgVHlwZSAzIFN0cmluZyA0DQo+ICsgIFVJ TlQ4IE1mZ0FjY2Vzc0tleVdvcmtzcGFjZTsNCj4gKw0KPiArICBVSU5UOCBDaGVja3N1bUZpeHVw UG9vbFsweGRdOyAgICAgICAvLyBDaGVja3N1bSBGaXgtdXBzDQo+ICsgIFVJTlQ4IFN3aXRjaGJv YXJkRGF0YVs0XTsgICAgICAgICAgIC8vIDMyIHN3aXRjaCBzd2l0Y2hib2FyZA0KPiArICBVSU5U OCBJbnRlbFJlc2VydmVkOyAgICAgICAgICAgICAgICAvLyBSZXNlcnZlZCBmb3IgRnV0dXJlIFVz ZQ0KPiArfSBETUlfREFUQTsNCj4gKw0KPiArI2RlZmluZSBETUlfREFUQV9HVUlEIFwNCj4gKyAg eyBcDQo+ICsgICAgMHg3MGU1NmM1ZSwgMHgyODBjLCAweDQ0YjAsIDB4YTQsIDB4OTcsIDB4MDks IDB4NjgsIDB4MWEsIDB4YmMsIDB4MzcsIDB4NWUNCj4gXA0KPiArICB9DQo+ICsNCj4gKyNkZWZp bmUgRE1JX0RBVEFfTkFNRSAgICAgICAoTCJEbWlEYXRhIikNCj4gKyNkZWZpbmUgQVNDSUlfRE1J X0RBVEFfTkFNRSAoIkRtaURhdGEiKQ0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0RtaURhdGFH dWlkOw0KPiArZXh0ZXJuIENIQVIxNiAgIGdEbWlEYXRhTmFtZVtdOw0KPiArDQo+ICsvLw0KPiAr Ly8gVVVJRCAtIHVuaXZlcnNhbGx5IHVuaXF1ZSBzeXN0ZW0gaWQuDQo+ICsvLw0KPiArI2RlZmlu ZSBVVUlEX1ZBUklBQkxFX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweGQzNTdjNzEwLCAweDBh ZGEsIDB4NDcxNywgMHg4ZCwgMHhiYSwgMHhjNiwgMHhhZCwgMHhjNywgMHhjZCwgMHgyYiwNCj4g MHgyYSBcDQo+ICsgIH0NCj4gKw0KPiArI2RlZmluZSBVVUlEX1ZBUklBQkxFX05BTUUgICAgICAg IChMIlVVSUQiKQ0KPiArI2RlZmluZSBBU0NJSV9VVUlEX1ZBUklBQkxFX05BTUUgICgiVVVJRCIp DQo+ICsNCj4gKy8vDQo+ICsvLyBVVUlEIGRhdGENCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7 DQo+ICsgIFVJTlQzMiAgICAgICAgVXVpZEhpZ2g7DQo+ICsgIFVJTlQzMiAgICAgICAgVXVpZExv dzsNCj4gK30gU1lTVEVNXzEzOTRfVVVJRDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiAr ICBFRklfR1VJRCAgICAgICAgICBTeXN0ZW1VdWlkOyAgICAgICAgICAgICAgICAgICAvLyBTeXN0 ZW0gVW5pcXVlIElEDQo+ICsgIFNZU1RFTV8xMzk0X1VVSUQgIFN5c3RlbTEzOTRVdWlkOyAgICAg ICAgICAgICAgIC8vIE9uYm9hcmQgMTM5NCBVVUlEDQo+ICt9IFVVSURfREFUQTsNCj4gKw0KPiAr ZXh0ZXJuIEVGSV9HVUlEIGdVdWlkVmFyaWFibGVHdWlkOw0KPiArZXh0ZXJuIENIQVIxNiAgIGdV dWlkVmFyaWFibGVOYW1lW107DQo+ICsNCj4gKy8vDQo+ICsvLyBNQjMyR1VJRCBmb3IgQ29tcHV0 cmFjZS4NCj4gKy8vDQo+ICsNCj4gKyNkZWZpbmUgICAgICAgICAgICAgICBNQjMyX0dVSUQgXA0K PiArICB7IDB4NTM5RDYyQkEsIDB4REUzNSwgMHg0NTNFLCAweEJBLCAweEIwLCAweDg1LCAweERC LCAweDhELCAweEEyLCAweDQyLA0KPiAweEY5IH0NCj4gKw0KPiArI2RlZmluZSBNQjMyX1ZBUklB QkxFX05BTUUgKEwiTUIzMiIpDQo+ICsjZGVmaW5lIEFTQ0lJX01CMzJfVkFSSUFCTEVfTkFNRSAo Ik1CMzIiKQ0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ01iMzJHdWlkOw0KPiArZXh0ZXJuIENI QVIxNiAgIGdNYjMyVmFyaWFibGVOYW1lW107DQo+ICsNCj4gKy8vDQo+ICsvLyBBQ1BJIE9TRlIg TWFudWZhY3R1cmVyIFN0cmluZy4NCj4gKy8vDQo+ICsvLyB7NzIyMzQyMTMtMEZENy00OGExLUE1 OUYtQjQxQkMxMDdGQkNEfQ0KPiArLy8NCj4gKyNkZWZpbmUgIEFDUElfT1NGUl9NRkdfU1RSSU5H X1ZBUklBQkxFX0dVSUQgXA0KPiArICB7MHg3MjIzNDIxMywgMHhmZDcsIDB4NDhhMSwgMHhhNSwg MHg5ZiwgMHhiNCwgMHgxYiwgMHhjMSwgMHg3LCAweGZiLCAweGNkfQ0KPiArI2RlZmluZSBBQ1BJ X09TRlJfTUZHX1NUUklOR19WQVJJQUJMRV9OQU1FIChMIk9jdXJNZmciKQ0KPiArI2RlZmluZSBB U0NJSV9BQ1BJX09TRlJfTUZfU1RSSU5HX1ZBUklBQkxFX05BTUUgKCJPY3VyTWZnIikNCj4gKw0K PiArZXh0ZXJuIEVGSV9HVUlEIGdBQ1BJT1NGUk1mZ1N0cmluZ1ZhcmlhYmxlR3VpZDsNCj4gKw0K PiArDQo+ICsvLw0KPiArLy8gQUNQSSBPU0ZSIE1vZGVsIFN0cmluZy4NCj4gKy8vDQo+ICsvLyB7 NzIyMzQyMTMtMEZENy00OGExLUE1OUYtQjQxQkMxMDdGQkNEfQ0KPiArLy8NCj4gKyNkZWZpbmUg IEFDUElfT1NGUl9NT0RFTF9TVFJJTkdfVkFSSUFCTEVfR1VJRCBcDQo+ICsgIHsweDcyMjM0MjEz LCAweGZkNywgMHg0OGExLCAweGE1LCAweDlmLCAweGI0LCAweDFiLCAweGMxLCAweDcsIDB4ZmIs IDB4Y2R9DQo+ICsjZGVmaW5lIEFDUElfT1NGUl9NT0RFTF9TVFJJTkdfVkFSSUFCTEVfTkFNRSAo TCJPY3VyTW9kZWwiKQ0KPiArI2RlZmluZSBBU0NJSV9BQ1BJX09TRlJfTU9ERUxfU1RSSU5HX1ZB UklBQkxFX05BTUUNCj4gKCJPY3VyTW9kZWwiKQ0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0FD UElPU0ZSTW9kZWxTdHJpbmdWYXJpYWJsZUd1aWQ7DQo+ICsNCj4gKy8vDQo+ICsvLyBBQ1BJIE9T RlIgUmVmZXJlbmNlIERhdGEgQmxvY2suDQo+ICsvLw0KPiArLy8gezcyMjM0MjEzLTBGRDctNDhh MS1BNTlGLUI0MUJDMTA3RkJDRH0NCj4gKy8vDQo+ICsjZGVmaW5lICBBQ1BJX09TRlJfUkVGX0RB VEFfQkxPQ0tfVkFSSUFCTEVfR1VJRCBcDQo+ICsgIHsweDcyMjM0MjEzLCAweGZkNywgMHg0OGEx LCAweGE1LCAweDlmLCAweGI0LCAweDFiLCAweGMxLCAweDcsIDB4ZmIsIDB4Y2R9DQo+ICsjZGVm aW5lIEFDUElfT1NGUl9SRUZfREFUQV9CTE9DS19WQVJJQUJMRV9OQU1FIChMIk9jdXJSZWYiKQ0K PiArI2RlZmluZSBBU0NJSV9BQ1BJX09TRlJfUkVGX0RBVEFfQkxPQ0tfVkFSSUFCTEVfTkFNRQ0K PiAoIk9jdXJSZWYiKQ0KPiArZXh0ZXJuIEVGSV9HVUlEIGdBQ1BJT1NGUlJlZkRhdGFCbG9ja1Zh cmlhYmxlR3VpZDsNCj4gKw0KPiArLy8NCj4gKy8vIE1hbnVmYWN0dXJpbmcgbW9kZSBHVUlEDQo+ ICsvLw0KPiArI2RlZmluZSBNZmdNb2RlX0dVSUQgXA0KPiArICB7IDB4RUYxNEZENzgsIDB4MDc5 MywgMHg0ZTJiLCAweEFDLCAweDZELCAweDA2LCAweDI4LCAweDQ3LCAweEUwLCAweDE3LA0KPiAw eDkxIH0NCj4gKw0KPiArI2RlZmluZSBNRkdNT0RFX1ZBUklBQkxFX05BTUUgKEwiTWZnTW9kZSIp DQo+ICsjZGVmaW5lIEFTQ0lJX01GR01PREVfVkFSSUFCTEVfTkFNRSAoIk1mZ01vZGUiKQ0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsJVUlOVDggTWZnTW9kZURhdGE7DQo+ICt9IE1GR19N T0RFX1ZBUjsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdNZmdNb2RlVmFyaWFibGVHdWlkOw0K PiArZXh0ZXJuIENIQVIxNiAgIGdNZmdNb2RlVmFyaWFibGVOYW1lW107DQo+ICsNCj4gKyNwcmFn bWEgcGFjaygpDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL0Zpcm13YXJlSWQuaA0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9GaXJtd2FyZUlkLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZmQ1MjRiOGNlNQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvR3VpZC9GaXJtd2FyZUlkLmgNCj4gQEAgLTAsMCArMSw2MSBAQA0KPiArLyorKw0KPiArDQo+ ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUg TmFtZToNCj4gKw0KPiArICBGaXJtd2FyZUlkLmgNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZu ZGVmIF9GaXJtd2FyZUlkX2hfR1VJRF9pbmNsdWRlZA0KPiArI2RlZmluZSBfRmlybXdhcmVJZF9o X0dVSURfaW5jbHVkZWQNCj4gKw0KPiArDQo+ICsjcHJhZ21hIHBhY2soMSkNCj4gKw0KPiArLy8N Cj4gKy8vIEZpcm13YXJlIElEDQo+ICsvLw0KPiArDQo+ICsjZGVmaW5lIEZJUk1XQVJFX0lEX01B WF9MRU5HVEggICAgICAzNQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIENIQVI4ICAg IEJpb3NJZFs4XTsNCj4gKyAgQ0hBUjggICAgU2VwYXJhdG9yMTsNCj4gKyAgQ0hBUjggICAgT2Vt SWRbM107DQo+ICsgIENIQVI4ICAgIFNlcGFyYXRvcjI7DQo+ICsgIENIQVI4ICAgIEJ1aWxkSWRb NF07DQo+ICsgIENIQVI4ICAgIFNlcGFyYXRvcjM7DQo+ICsgIENIQVI4ICAgIENlbnR1cnlbMl07 DQo+ICsgIENIQVI4ICAgIFllYXJbMl07DQo+ICsgIENIQVI4ICAgIFNlcGFyYXRvcjQ7DQo+ICsg IENIQVI4ICAgIE1vbnRoWzJdOw0KPiArICBDSEFSOCAgICBEYXRlWzJdOw0KPiArICBDSEFSOCAg ICBTZXBhcmF0b3I1Ow0KPiArICBDSEFSOCAgICBIb3VyWzJdOw0KPiArICBDSEFSOCAgICBNaW51 dGVbMl07DQo+ICsgIENIQVI4ICAgIER1bW15WzNdOw0KPiArfSBGSVJNV0FSRV9JRF9EQVRBOw0K PiArDQo+ICsjZGVmaW5lICBPTERfRklSTVdBUkVfSURfR1VJRCBcDQo+ICsgIHsweGVmYzA3MWFl LCAweDQxYjgsIDB4NDAxOCwgMHhhZiwgMHhhNywgMHgzMSwgMHg0YiwgMHgxOCwgMHg1ZSwgMHg1 NywgMHg4Yn0NCj4gKw0KPiArI2RlZmluZSAgRklSTVdBUkVfSURfR1VJRCBcDQo+ICsgIHsweDVl NTU5YzIzLCAweDFmYWEsIDB4NGFlMSwgMHg4ZCwgMHg0YSwgMHhjNiwgMHhjZiwgMHgwMiwgMHg2 YywgMHg3NiwgMHg2Zn0NCj4gKw0KPiArI2RlZmluZSBGSVJNV0FSRV9JRF9OQU1FIEwiRmlybXdh cmVJZCINCj4gKyNkZWZpbmUgRklSTVdBUkVfSURfTkFNRV9XSVRIX1BBU1NXT1JEIEZJUk1XQVJF X0lEX05BTUUNCj4gTCJIIzgsXi0hdCINCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdGaXJtd2Fy ZUlkR3VpZDsNCj4gK2V4dGVybiBDSEFSMTYgICBnRmlybXdhcmVJZE5hbWVbXTsNCj4gKw0KPiAr I3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2VuZGlmDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9Id1dhdGNoZG9nVGlt ZXJIb2IuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3Vp ZC9Id1dhdGNoZG9nVGltZXJIb2IuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi4zY2Q2Yzg0M2IxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL0h3V2F0Y2hkb2dUaW1lckhv Yi5oDQo+IEBAIC0wLDAgKzEsMTM0IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChj KSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsg IEh3V2F0Y2hkb2dUaW1lckhvYi5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEdVSUQg dXNlZCBmb3IgV2F0Y2hkb2cgVGltZXIgc3RhdHVzIGluIHRoZSBIT0IgbGlzdC4NCj4gKw0KPiAr LS0qLw0KPiArDQo+ICsjaWZuZGVmIF9FRklfV0FUQ0hET0dfVElNRVJfSE9CX0dVSURfSF8NCj4g KyNkZWZpbmUgX0VGSV9XQVRDSERPR19USU1FUl9IT0JfR1VJRF9IXw0KPiArDQo+ICsjZGVmaW5l IEVGSV9XQVRDSERPR19USU1FUl9IT0JfR1VJRCBcDQo+ICsgIHsgMHgyMjZjZDNmLCAweDY5YjUs IDB4NDE1MCwgMHhhYywgMHhiZSwgMHhiZiwgMHhiZiwgMHgxOCwgMHhlMywgMHgzLCAweGQ1IH0N Cj4gKw0KPiArI2RlZmluZSBFRklfV0FUQ0hET0dfVElNRVJfREVGSU5JVElPTl9IT0JfR1VJRCBc DQo+ICsgIHsgMHhkMjkzMDJiMCwgMHgxMWJhLCAweDQwNzMsIDB4YTIsIDB4MjcsIDB4NTMsIDB4 OGQsIDB4MjUsIDB4NDIsIDB4NzAsDQo+IDB4OWYgfQ0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0K PiArICBIV1dEX05PTkUsDQo+ICsgIEhXV0RfVElNRVJfRVhQSVJFRCwNCj4gKyAgSFdXRF9TUE9O VEFORU9VU19SRUJPT1QsDQo+ICsgIEhXV0RfRk9SQ0VEX1RJTUVPVVQNCj4gK30gSFdfV0FUQ0hE T0dfVElNRU9VVDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBIV19XQVRDSERPR19U SU1FT1VUICAgICAgICAgVGltZW91dFN0YXR1czsNCj4gK30gSFdfV0FUQ0hET0dfSU5GTzsNCj4g Kw0KPiArLy8NCj4gKy8vIFdhdGNoZG9nIHRpbWVyIGFjdGlvbiB2YWx1ZXMuDQo+ICsvLw0KPiAr I2RlZmluZSBXRFRfQUNUSU9OX1JFU0VUICAgICAgICAgICAgICAgICAgICAweDAxICAgIC8vIHJl bG9hZC9yZXNldCB0aW1lcg0KPiArI2RlZmluZSBXRFRfQUNUSU9OX1FVRVJZX0NVUlJFTlRfVkFM VUUgICAgICAweDA0ICAgIC8vIGdldCBjdXJyZW50DQo+IHZhbHVlICAgICAgICAgICAgICAgICAg ICAgLy8gRE9OJ1QgTkVFRCBGT1IgT1ZFUkNMT0NLIFVUSUxJVFkNCj4gKyNkZWZpbmUgV0RUX0FD VElPTl9RVUVSWV9DT1VOVERPV05fUEVSSU9EICAgMHgwNSAgICAvLyBnZXQNCj4gY291bnRkb3du IHBlcmlvZA0KPiArI2RlZmluZSBXRFRfQUNUSU9OX1NFVF9DT1VOVERPV05fUEVSSU9EICAgICAw eDA2ICAgIC8vIHNldA0KPiBjb3VudGRvd24gcGVyaW9kDQo+ICsjZGVmaW5lIFdEVF9BQ1RJT05f UVVFUllfUlVOTklOR19TVEFURSAgICAgIDB4MDggICAgLy8gcXVlcnkgaWYNCj4gcnVubmluZw0K PiArI2RlZmluZSBXRFRfQUNUSU9OX1NFVF9SVU5OSU5HX1NUQVRFICAgICAgICAweDA5ICAgIC8v IHN0YXJ0IHRpbWVyDQo+ICsjZGVmaW5lIFdEVF9BQ1RJT05fUVVFUllfU1RPUFBFRF9TVEFURSAg ICAgIDB4MEEgICAgLy8gcXVlcnkgaWYNCj4gc3RvcHBlZA0KPiArI2RlZmluZSBXRFRfQUNUSU9O X1NFVF9TVE9QUEVEX1NUQVRFICAgICAgICAweDBCICAgIC8vIHN0b3AgdGltZXINCj4gKyNkZWZp bmUgV0RUX0FDVElPTl9RVUVSWV9TVEFUVVMgICAgICAgICAgICAgMHgyMCAgICAvLyBpcyBjdXJy ZW50IGJvb3QgY2F1c2UNCj4gYnkgd2R0IHRpbWVvdXQ/DQo+ICsjZGVmaW5lIFdEVF9BQ1RJT05f U0VUX1NUQVRVUyAgICAgICAgICAgICAgIDB4MjEgICAgLy8gcmVzZXRzIHdkdCBzdGF0dXMgYml0 DQo+ICsNCj4gKy8vDQo+ICsvLyBXYXRjaGRvZyB0aW1lciBpbnN0cnVjdGlvbiB2YWx1ZXMuDQo+ ICsvLw0KPiArI2RlZmluZSBXRFRfSU5TVFJfVkFMVUVfTUFTSyAgICAgICAgICAgICAgICAweDAz ICAgIC8vIE1hc2sgZm9yIGp1c3QgdGhlIHZhbHVlDQo+ICsjZGVmaW5lIFdEVF9JTlNUUl9SRUFE X0NNUF9WQUxVRSAgICAgICAgICAgIDB4MDAgICAgLy8gUmVhZCAvIGNvbXBhcmUNCj4gdmFsdWUN Cj4gKyNkZWZpbmUgV0RUX0lOU1RSX1JFQURfQ09VTlRET1dOICAgICAgICAgICAgMHgwMSAgICAv LyByZWFkIGNvdW50ZG93bg0KPiB2YWx1ZQ0KPiArI2RlZmluZSBXRFRfSU5TVFJfV1JJVEVfVkFM VUUgICAgICAgICAgICAgICAweDAyICAgIC8vIFdyaXRlIHZhbHVlDQo+ICsjZGVmaW5lIFdEVF9J TlNUUl9XUklURV9DT1VOVERPV04gICAgICAgICAgIDB4MDMgICAgLy8gd3JpdGUgY291bnRkb3du DQo+IHZhbHVlDQo+ICsjZGVmaW5lIFdEVF9JTlNUUl9QUkVTRVJWRV9SRUcgICAgICAgICAgICAg IDB4ODAgICAgLy8gcHJlc2VydmUgcmVnOyB1c2VkIGluDQo+IFdyaXRlIFZhbHVlIC8gV3JpdGUg Q291bnRkb3duDQo+ICsjZGVmaW5lIFdEVF9JTlNUUl9XUklURV9WQUxVRV9QUkVTICAgICAgICAg KDB4MDIgfA0KPiBXRFRfSU5TVFJfUFJFU0VSVkVfUkVHKSAgIC8vIFdyaXRlIHZhbHVlIHdpdGgg cHJlc2VydmUNCj4gKyNkZWZpbmUgV0RUX0lOU1RSX1dSSVRFX0NPVU5URE9XTl9QUkVTICAgICAo MHgwMyB8DQo+IFdEVF9JTlNUUl9QUkVTRVJWRV9SRUcpICAgLy8gd3JpdGUgY291bnRkb3duIHZh bHVlIHdpdGggcHJlc2VydmUNCj4gKw0KPiArLy8NCj4gKy8vIFRoZSBHZW5lcmljIEFkZHJlc3Mg U3RydWN0dXJlIGlzIGRlZmluZWQgaW4gdGhlIEFDUEkgU3BlY2lmaWNhdGlvbiBhbmQNCj4gc2hv dWxkIG9ubHkgYmUNCj4gKy8vIGNoYW5nZWQgdG8gbWF0Y2ggdXBkYXRlZCByZXZpc2lvbnMgb2Yg dGhhdCBzcGVjaWZpY2F0aW9uLiAgVGhlDQo+IEdBU19BRERSRVNTX1NQQUNFIGFuZA0KPiArLy8g R0FTX0FDQ0VTU19TSVpFIGVudW1lcmF0aW9ucyBhcmUgYWxzbyBkZWZpbmVkIGJ5IHRoZSBBQ1BJ DQo+IFNwZWNpZmljYXRpb24uDQo+ICsvLw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgR0FTX1NZ U1RFTV9NRU1PUlksDQo+ICsgIEdBU19TWVNURU1fSU8sDQo+ICsgIEdBU19QQ0lfQ09ORklHX1NQ QUNFLA0KPiArICBHQVNfRU1CRURERURfQ09OVFJPTExFUiwNCj4gKyAgR0FTX1NNQlVTDQo+ICt9 IEdBU19BRERSRVNTX1NQQUNFOw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBHQVNfVU5E RUZJTkVELA0KPiArICBHQVNfQllURV9BQ0NFU1MsDQo+ICsgIEdBU19XT1JEX0FDQ0VTUywNCj4g KyAgR0FTX0RXT1JEX0FDQ0VTUywNCj4gKyAgR0FTX1FXT1JEX0FDQ0VTUw0KPiArfSBHQVNfQUND RVNTX1NJWkU7DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICBBZGRyZXNzU3BhY2VJZDsNCj4g KyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgIFJlZ2lzdGVyQml0V2lkdGg7DQo+ICsgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICBSZWdpc3RlckJpdE9mZnNldDsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgICAgIEFjY2Vzc1NpemU7DQo+ICsgIFVJTlQ2NCAgICAgICAgICAg ICAgICAgICAgICBBZGRyZXNzOw0KPiArfSBHRU5FUklDX0FERFJFU1NfU1RSVUNUVVJFOw0KPiAr DQo+ICsvLw0KPiArLy8gR0FTX1NZU1RFTV9NRU1PUlkgLSAgICBXaGVuIHVzZWQgYXMgdGhlIEFk ZHJlc3NTcGFjZUlkLCB0aGUgNjQtYml0DQo+IHBoeXNpY2FsIG1lbW9yeSBhZGRyZXNzDQo+ICsv LyAgICAgICAgICAgICAgICAgICAgICAgIG9mIHRoZSByZWdpc3Rlci4gIDMyLWJpdCBwbGF0Zm9y bXMgbXVzdCBoYXZlIHRoZSBoaWdoIERXT1JEDQo+IHNldCB0byAwLg0KPiArLy8gR0FTX1NZU1RF TV9JTyAtICAgICAgICBUaGUgNjQtYml0IEkvTyBhZGRyZXNzIG9mIHRoZSByZWdpc3Rlci4gIDMy LWJpdA0KPiBwbGF0Zm9ybXMgbXVzdCBoYXZlDQo+ICsvLyAgICAgICAgICAgICAgICAgICAgICAg IHRoZSBoaWdoIERXT1JEIHNldCB0byAwLg0KPiArLy8gR0FTX1BDSV9DT05GSUdfU1BBQ0UgLSBQ Q0kgQ29uZmlndXJhdGlvbiBzcGFjZSBhZGRyZXNzZXMgbXVzdCBiZQ0KPiBjb25maW5lZCB0byBk ZXZpY2VzIG9uIFBDSQ0KPiArLy8gICAgICAgICAgICAgICAgICAgICAgICBTZXBtZW50IEdyb3Vw IDAsIEJ1cyAwLiAgVGhpcyByZXN0cmljdGlvbiBleGlzdHMgdG8NCj4gYWNjb21tb2RhdGUgYWNj ZXNzDQo+ICsvLyAgICAgICAgICAgICAgICAgICAgICAgIHRvIGZpeGVkIGhhcmR3YXJlIHByaW9y IHRvIFBDSSBidXMgZW51bWVyYXRpb24uICBUaGUgZm9ybWF0DQo+IG9mIGFkZHJlc3Nlcw0KPiAr Ly8gICAgICAgICAgICAgICAgICAgICAgICBhcmUgZGVmaW5lZCBhcyBmb2xsb3dzOg0KPiArLy8g ICAgICAgICAgICAgICAgICAgICAgICAgICAgSGlnaGVzdCBXT1JEOiBSZXNlcnZlZCBhbmQgbXVz dCBiZSAtMC0NCj4gKy8vICAgICAgICAgICAgICAgICAgICAgICAgICAgIC4uLiAgICAgICAgICAg UENJIERldmljZSBudW1iZXIgb24gYnVzIDANCj4gKy8vICAgICAgICAgICAgICAgICAgICAgICAg ICAgIC4uLiAgICAgICAgICAgUENJIEZ1bmN0aW9uIG51bWJlcg0KPiArLy8gICAgICAgICAgICAg ICAgICAgICAgICAgICAgTG93ZXN0IFdPUkQ6ICBPZmZzZXQgaW4gdGhlIGNvbmZpZ3VyYXRpb24g c3BhY2UgaGVhZGVyLg0KPiArLy8NCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgICAgICAgV2RBY3Rpb247DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgICBGbGFnOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgUmVzOw0K PiArICBHRU5FUklDX0FERFJFU1NfU1RSVUNUVVJFICAgR2VuZXJpY0FkZHJlc3NTdHJ1Y3R1cmVz Ow0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgVmFsdWU7DQo+ICsgIFVJTlQzMiAg ICAgICAgICAgICAgICAgICAgICBNYXNrOw0KPiArfSBXRF9JTlNUUlVDVElPTjsNCj4gKw0KPiAr dHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgVGltZXJQ ZXJpb2Q7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBNYXhUaW1lckNvdW50Ow0K PiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgTWluVGltZXJDb3VudDsNCj4gKyAgVUlO VDE2ICAgICAgICAgICAgICAgICAgICAgIEluc3RydWN0aW9uQ291bnQ7DQo+ICsgIFdEX0lOU1RS VUNUSU9OICAgICAgICAgICAgICBBY3Rpb25EZWZpbml0aW9uc1sxXTsNCj4gK30gV0RfSE9CX0RF RklOSVRJT047DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4gK2V4dGVybiBFRklfR1VJ RCBnV2F0Y2hkb2dUaW1lckhvYkd1aWQ7DQo+ICtleHRlcm4gRUZJX0dVSUQgZ1dhdGNoZG9nVGlt ZXJEZWZpbml0aW9uSG9iR3VpZDsNCj4gKw0KPiArI2VuZGlmIC8vIF9FRklfV0FUQ0hET0dfVElN RVJfSE9CX0dVSURfSF8NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvR3VpZC9JZGNjRGF0YS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL0lkY2NEYXRhLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uN2UzYjk2NTY2Ng0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9JZGNjRGF0 YS5oDQo+IEBAIC0wLDAgKzEsMTA0IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChj KSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsg IElkY2NEYXRhLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lm bmRlZiBfSURDQ0RBVEFIVUJfR1VJRF9IXw0KPiArI2RlZmluZSBfSURDQ0RBVEFIVUJfR1VJRF9I Xw0KPiArDQo+ICsvLw0KPiArLy8gVGhpcyBHVUlEIGlzIGZvciB0aGUgSURDQyByZWxhdGVkIGRh dGEgZm91bmQgaW4gdGhlIERhdGEgSHViLg0KPiArLy8NCj4gKyNkZWZpbmUgSURDQ19EQVRBX0hV Ql9HVUlEIFwNCj4gKyAgeyAweDc4OGUxZDlmLCAweDFlYWIsIDB4NDdkMiwgMHhhMiwgMHhmMywg MHg3OCwgMHhjYSwgMHhlOCwgMHg3ZCwgMHg2MCwNCj4gMHgxMiB9DQo+ICsNCj4gK2V4dGVybiBF RklfR1VJRCBnSWRjY0RhdGFIdWJHdWlkOw0KPiArDQo+ICsjcHJhZ21hIHBhY2soMSkNCj4gKw0K PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgICAgVHlwZTsNCj4gKyAgVUlOVDMyICAg IFJlY29yZExlbmd0aDsNCj4gK30gRUZJX0lEQ0NfREFUQV9IRUFERVI7DQo+ICsNCj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gKyAgRUZJX0lEQ0NfREFUQV9IRUFERVIgIElkY2NIZWFkZXI7DQo+ICsg IFVJTlQzMiAgICAgICAgICAgICAgICBUY29udHJvbDsNCj4gK30gRUZJX0lEQ0NfVENPTlRST0w7 DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICAgIEVudHJ5Q291bnQ7DQo+ ICt9IEVGSV9JRENDX0NMT0NLX0NPTU1PTjsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiAr ICBVSU5UOCAgICAgUG9sYXJpdHk7DQo+ICsgIFVJTlQ4ICAgICBQZXJjZW50Ow0KPiArICBVSU5U MzIgICAgRnBWYWx1ZTsNCj4gK30gRUZJX0lEQ0NfVFlQRV8yX0RBVEE7DQo+ICsNCj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICAgIFNldHVwVmFsOw0KPiArICBVSU5UMzIgICAgRnBW YWx1ZTsNCj4gK30gRUZJX0lEQ0NfVFlQRV8zXzRfREFUQTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1 Y3Qgew0KPiArICBFRklfSURDQ19EQVRBX0hFQURFUiAgSWRjY0hlYWRlcjsNCj4gKyAgVUlOVDMy ICAgICAgICAgICAgICAgIFByb2Nlc3NvclJhdGlvOw0KPiArfSBFRklfSURDQ19QUk9DRVNTT1Jf UkFUSU87DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0lEQ0NfREFUQV9IRUFE RVIgIElkY2NIZWFkZXI7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICBCb2FyZEZvcm1GYWN0 b3I7DQo+ICt9IEVGSV9JRENDX0JPQVJEX0ZPUk1fRkFDVE9SOw0KPiArDQo+ICt0eXBlZGVmIHN0 cnVjdCB7DQo+ICsgIEVGSV9JRENDX0RBVEFfSEVBREVSICBJZGNjSGVhZGVyOw0KPiArICBVSU5U MzIgICAgICAgICAgICAgICAgUHJvY2Vzc29ySW5mbzsNCj4gK30gRUZJX0lEQ0NfUFJPQ0VTU09S X0lORk87DQo+ICsNCj4gKyNkZWZpbmUgRUZJX0lEQ0NfUFJPQ0VTU09SX1VOQ09OICAgICgxIDw8 IDApICAvLyBCaXQgMDogVW5Db24gQ1BVDQo+ICsjZGVmaW5lIEVGSV9JRENDX1BST0NFU1NPUl9V TkxPQ0sgICAoMSA8PCAxKSAgLy8gQml0IDE6IFVuTG9jayBDUFUNCj4gKyNkZWZpbmUgRUZJX0lE Q0NfUFJPQ0VTU09SX0NOUiAgICAgICgxIDw8IDIpICAvLyBCaXQgMjogQ05SIENQVQ0KPiArI2Rl ZmluZSBFRklfSURDQ19QUk9DRVNTT1JfS05GICAgICAgKDEgPDwgMykgIC8vIEJpdCAzOiBLTkYg Q1BVDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0lEQ0NfREFUQV9IRUFERVIg IElkY2NIZWFkZXI7DQo+ICsgIFVJTlQzMiAgICBNaW5GU0I7DQo+ICsgIFVJTlQzMiAgICBNYXhG U0I7DQo+ICsgIFVJTlQ4ICAgICBTdGVwRlNCOw0KPiArfSBFRklfSURDQ19GU0JfREFUQTsNCj4g Kw0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2RlZmluZSBFRklfSURDQ19QT1NJVElWRSAg IDANCj4gKyNkZWZpbmUgRUZJX0lEQ0NfTkVHQVRJVkUgICAxDQo+ICsNCj4gKy8vDQo+ICsvLyBC b2FyZCBGb3JtIEZhY3RvciBlcXVhdGVzLg0KPiArLy8NCj4gKyNkZWZpbmUgQVRYX0ZPUk1fRkFD VE9SCQkweDAwDQo+ICsjZGVmaW5lIEJUWF9GT1JNX0ZBQ1RPUgkJMHgwMQ0KPiArDQo+ICsNCj4g KyNkZWZpbmUgRUZJX0lEQ0NfVENPTlRST0xfVFlQRSAgICAgICAgICAxDQo+ICsjZGVmaW5lIEVG SV9JRENDX0ZTQl9UWVBFICAgICAgICAgICAgICAgMg0KPiArI2RlZmluZSBFRklfSURDQ19QQ0lf VFlQRSAgICAgICAgICAgICAgIDMNCj4gKyNkZWZpbmUgRUZJX0lEQ0NfUENJRV9UWVBFICAgICAg ICAgICAgICA0DQo+ICsjZGVmaW5lIEVGSV9JRENDX1BST0NfUkFUSU9fVFlQRSAgICAgICAgNQ0K PiArI2RlZmluZSBFRklfSURDQ19CT0FSRF9GT1JNX0ZBQ1RPUl9UWVBFIDYNCj4gKyNkZWZpbmUg RUZJX0lEQ0NfUFJPQ19JTkZPX1RZUEUgICAgICAgICA3DQo+ICsjZGVmaW5lIEVGSV9JRENDX0ZT Ql9EQVRBX1RZUEUgICAgICAgICAgOA0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9JdGtEYXRhLmgNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0d1aWQvSXRrRGF0YS5o DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmU3YmQyOWU2ZTQN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9JbmNsdWRlL0d1aWQvSXRrRGF0YS5oDQo+IEBAIC0wLDAgKzEsNzAgQEANCj4gKy8qKysNCj4g Kw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBO YW1lOg0KPiArDQo+ICsgIEl0a0RhdGEuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArLS0q Lw0KPiArDQo+ICsjaWZuZGVmIF9JVEtEQVRBSFVCX0dVSURfSF8NCj4gKyNkZWZpbmUgX0lUS0RB VEFIVUJfR1VJRF9IXw0KPiArDQo+ICsvLw0KPiArLy8gVGhpcyBHVUlEIGlzIGZvciB0aGUgSVRL IHJlbGF0ZWQgZGF0YSBmb3VuZCBpbiB0aGUgRGF0YSBIdWIge0U3MDYwODQzLQ0KPiBBMzM2LTRk NWItOTU5OC0xMzQwMkY1RDczNzV9DQo+ICsvLw0KPiArI2RlZmluZSBJVEtfREFUQV9IVUJfR1VJ RCBcDQo+ICsgIHsgMHhlNzA2MDg0MywgMHhhMzM2LCAweDRkNWIsIDB4OTUsIDB4OTgsIDB4MTMs IDB4NDAsIDB4MmYsIDB4NWQsIDB4NzMsDQo+IDB4NzUgfQ0KPiArDQo+ICtleHRlcm4gRUZJX0dV SUQgZ0l0a0RhdGFIdWJHdWlkOw0KPiArDQo+ICsvLw0KPiArLy8gVGhpcyBHVUlEIGlzIGZvciB0 aGUgSVRLIHJlbGF0ZWQgZGF0YSBmb3VuZCBpbiBhIFZhcmlhYmxlICB7MzgxMjcyM0QtN0U0OC0N Cj4gNGUyOS1CQzI3LUY1QTM5QUM5NEVGMX0NCj4gKy8vDQo+ICsjZGVmaW5lIElUS19EQVRBX1ZB Ul9HVUlEIFwNCj4gKyAgeyAweDM4MTI3MjNkLCAweDdlNDgsIDB4NGUyOSwgMHhiYywgMHgyNywg MHhmNSwgMHhhMywgMHg5YSwgMHhjOSwgMHg0ZSwNCj4gMHhmMSB9DQo+ICsNCj4gK2V4dGVybiBF RklfR1VJRCBnSXRrRGF0YVZhckd1aWQ7DQo+ICsNCj4gKyNkZWZpbmUgSVRLX0RBVEFfVkFSX05B TUUgTCJJdGtEYXRhVmFyIg0KPiArDQo+ICtleHRlcm4gQ0hBUjE2IGdJdGtEYXRhVmFyTmFtZVtd Ow0KPiArDQo+ICsjZGVmaW5lIElUS19CSU9TX01PRF9WQVJfTkFNRSBMIkl0a0Jpb3NNb2RWYXIi DQo+ICsNCj4gK2V4dGVybiBDSEFSMTYgZ0l0a0Jpb3NNb2RWYXJOYW1lW107DQo+ICsNCj4gKyNw cmFnbWEgcGFjaygxKQ0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgICAgVHlwZTsN Cj4gKyAgVUlOVDMyICAgIFJlY29yZExlbmd0aDsNCj4gK30gRUZJX0lUS19EQVRBX0hFQURFUjsN Cj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBFRklfSVRLX0RBVEFfSEVBREVSICAgSXRr SGVhZGVyOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgSGVjZXRhQWRkcmVzczsNCj4gK30g RUZJX0lUS19IRUNFVEFfQUREUkVTUzsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBV SU5UMTYgICAgVmFyRXFOYW1lOw0KPiArICBVSU5UMTYgICAgVmFyRXFWYWx1ZTsNCj4gK30gRUZJ X0lUS19WQVJfRVFfUkVDT1JEOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9J VEtfREFUQV9IRUFERVIgICBJdGtIZWFkZXI7DQo+ICsgIEVGSV9JVEtfVkFSX0VRX1JFQ09SRCBW YXJFcVJlY29yZFsweDEwMDAwXTsNCj4gK30gRUZJX0lUS19WQVJfRVE7DQo+ICsjcHJhZ21hIHBh Y2soKQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9JVEtfSEVDRVRBX0FERFJFU1NfVFlQRSAgICAxDQo+ ICsjZGVmaW5lIEVGSV9JVEtfTU9CSUxFX0JJT1NfVFlQRSAgICAgICAyDQo+ICsjZGVmaW5lIEVG SV9JVEtfVkFSX0VRX1RZUEUgICAgICAgICAgICAzDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0t Z2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL01l bW9yeUNvbmZpZ0RhdGEuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0lu Y2x1ZGUvR3VpZC9NZW1vcnlDb25maWdEYXRhLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uMGZlNzU5YTE2ZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9NZW1vcnlDb25maWdE YXRhLmgNCj4gQEAgLTAsMCArMSwzMiBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiAr DQo+ICsgIE1lbW9yeUNvbmZpZ0RhdGEuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBH VUlEIHVzZWQgZm9yIE1lbW9yeSBDb25maWd1cmF0aW9uIERhdGEgZW50cmllcyBpbiB0aGUgSE9C IGxpc3QuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfTUVNT1JZX0NPTkZJR19EQVRB X0dVSURfSF8NCj4gKyNkZWZpbmUgX01FTU9SWV9DT05GSUdfREFUQV9HVUlEX0hfDQo+ICsNCj4g KyNkZWZpbmUgRUZJX01FTU9SWV9DT05GSUdfREFUQV9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAg MHg4MGRiZDUzMCwgMHhiNzRjLCAweDRmMTEsIDB4OGMsIDB4MDMsIDB4NDEsIDB4ODYsIDB4NjUs IDB4NTMsIDB4MjgsIDB4MzENCj4gXA0KPiArICB9DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBn RWZpTWVtb3J5Q29uZmlnRGF0YUd1aWQ7DQo+ICtleHRlcm4gQ0hBUjE2ICAgRWZpTWVtb3J5Q29u ZmlnVmFyaWFibGVbXTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0d1aWQvT3NTZWxlY3Rpb24uaA0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9Pc1NlbGVjdGlvbi5o DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmU3YmJjZjY3YzkN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9JbmNsdWRlL0d1aWQvT3NTZWxlY3Rpb24uaA0KPiBAQCAtMCwwICsxLDg1IEBADQo+ICsvKisr DQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4g K01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE9zU2VsZWN0aW9uLmgNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgR1VJRCB1c2VkIGZvciBMUFNTLCBTQ0MgYW5kIExQRSBjb25maWd1cmF0aW9u IGRhdGEgZW50cmllcyBpbiB0aGUgSE9CIGxpc3QuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lm bmRlZiBfT1NfU0VMRUNUSU9OX0dVSURfSF8NCj4gKyNkZWZpbmUgX09TX1NFTEVDVElPTl9HVUlE X0hfDQo+ICsNCj4gKyNpZm5kZWYgRUNQX0ZMQUcNCj4gKyNpbmNsdWRlIDxQaVBlaS5oPg0KPiAr DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Ib2JMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0lv TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2VuZGlmDQo+ICsN Cj4gKyNkZWZpbmUgQU5EUk9JRCAxDQo+ICsNCj4gKyNkZWZpbmUgRUZJX09TX1NFTEVDVElPTl9W QVJJQUJMRV9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHg4Njg0M2Y1NiwgMHg2NzVkLCAweDQw YTUsIDB4OTUsIDB4MzAsIDB4YmMsIDB4ODUsIDB4ODMsIDB4NzIsIDB4ZjEsIDB4MDMNCj4gXA0K PiArICB9DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnT3NTZWxlY3Rpb25WYXJpYWJsZUd1aWQ7 DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsg IFVJTlQ4ICAgICAgICAgICBMcHNzUGNpTW9kZUVuYWJsZWQ7DQo+ICsgIC8vU0NDDQo+ICsgIFVJ TlQ4ICAgICAgICAgICBMcHNzZU1NQ0VuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBMcHNz U2Rpb0VuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBMcHNzU2RjYXJkRW5hYmxlZDsNCj4g KyAgVUlOVDggICAgICAgICAgIExwc3NTZENhcmRTRFIyNUVuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICBMcHNzU2RDYXJkRERSNTBFbmFibGVkOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBz c01pcGlIc2k7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBMcHNzZU1NQzQ1RW5hYmxlZDsNCj4gKyAg VUlOVDggICAgICAgICAgIExwc3NlTU1DNDVERFI1MEVuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAgICAg ICAgICBMcHNzZU1NQzQ1SFMyMDBFbmFibGVkOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc2VN TUM0NVJldHVuZVRpbWVyVmFsdWU7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBlTU1DQm9vdE1vZGU7 DQo+ICsgIC8vTFBTUzINCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NEbWExRW5hYmxlZDsNCj4g KyAgVUlOVDggICAgICAgICAgIExwc3NJMkMwRW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAgICAg IExwc3NJMkMxRW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkMyRW5hYmxlZDsN Cj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkMzRW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAg ICAgIExwc3NJMkM0RW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkM1RW5hYmxl ZDsNCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkM2RW5hYmxlZDsNCj4gKyAgLy9MUFNTMQ0K PiArICBVSU5UOCAgICAgICAgICAgTHBzc0RtYTBFbmFibGVkOw0KPiArICBVSU5UOCAgICAgICAg ICAgTHBzc1B3bTBFbmFibGVkOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc1B3bTFFbmFibGVk Ow0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc0hzdWFydDBFbmFibGVkOw0KPiArICBVSU5UOCAg ICAgICAgICAgTHBzc0hzdWFydDFFbmFibGVkOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc1Nw aUVuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBJMkNUb3VjaEFkOw0KPiArfSBFRklfUExB VEZPUk1fTFBTU19EQVRBOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfRUZJX09TX1NFTEVDVElP Tl9IT0Igew0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgT3NTZWxlY3Rpb247DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICBPc1NlbGVjdGlvbkNoYW5nZWQ7DQo+ICsg IFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICBMcGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgICBQY2hBemFsaWE7DQo+ICsgIEVGSV9QTEFURk9STV9MUFNTX0RBVEEgICAgICBM cHNzRGF0YTsNCj4gK30gRUZJX09TX1NFTEVDVElPTl9IT0I7DQo+ICsNCj4gKyNwcmFnbWEgcGFj aygpDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL1BjaUxhbkluZm8uaA0KPiBiL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9QY2lMYW5JbmZvLmgNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNDZjNDViMDMwMw0KPiAtLS0gL2Rldi9u dWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3Vp ZC9QY2lMYW5JbmZvLmgNCj4gQEAgLTAsMCArMSwzOSBAQA0KPiArLyorKw0KPiArDQo+ICsgIENv cHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBQY2lMYW5JbmZvLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKy0tKi8N Cj4gKw0KPiArI2lmbmRlZiBfUENJX0xBTl9JTkZPX0dVSURfSF8NCj4gKyNkZWZpbmUgX1BDSV9M QU5fSU5GT19HVUlEX0hfDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICsvLw0KPiAr Ly8gc3RydWN0dXJlIHVzZWQgZm9yIFBjaSBMYW4gdmFyaWFibGUNCj4gKy8vDQo+ICt0eXBlZGVm IHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgICAgICAgUGNpQnVzOw0KPiArICBVSU5UOCAgICAgICAg IFBjaURldmljZTsNCj4gKyAgVUlOVDggICAgICAgICBQY2lGdW5jdGlvbjsNCj4gK30gUENJX0xB Tl9JTkZPOw0KPiArDQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9QQ0lf TEFOX0lORk9fR1VJRCBcDQo+ICsgIHsweGQ5YTE0MjcsIDB4ZTAyYSwgMHg0MzdkLCAweDkyLCAw eDZiLCAweGFhLCAweDUyLCAweDFmLCAweGQ3LCAweDIyLCAweGJhfTsNCj4gKw0KPiArZXh0ZXJu IEVGSV9HVUlEIGdFZmlQY2lMYW5JbmZvR3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1n aXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0d1aWQvUGxh dGZvcm1DcHVJbmZvLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL0d1aWQvUGxhdGZvcm1DcHVJbmZvLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k ZXggMDAwMDAwMDAwMC4uZjE3NTY2NjJiZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9QbGF0Zm9ybUNwdUluZm8u aA0KPiBAQCAtMCwwICsxLDE4MCBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykg MjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQ bGF0Zm9ybUNwdUluZm8uaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBHVUlEIHVzZWQg Zm9yIFBsYXRmb3JtIENQVSBJbmZvIERhdGEgZW50cmllcyBpbiB0aGUgSE9CIGxpc3QuDQo+ICsN Cj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfUExBVEZPUk1fQ1BVX0lORk9fR1VJRF9IXw0KPiAr I2RlZmluZSBfUExBVEZPUk1fQ1BVX0lORk9fR1VJRF9IXw0KPiArDQo+ICsjaW5jbHVkZSAiQ3B1 VHlwZS5oIg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQ3B1SUEzMi5oPg0KPiArDQo+ICsjZGVmaW5l IEVGSV9QTEFURk9STV9DUFVfSU5GT19HVUlEIFwNCj4gKyAge1wNCj4gKyAgICAweGJiOWM3YWI3 LCAweGI4ZDksIDB4NGJmMywgMHg5YywgMHgyOSwgMHg5YiwgMHhmMywgMHg0MSwgMHhlMiwgMHgx NywgMHhiYw0KPiBcDQo+ICsgIH0NCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlQbGF0Zm9y bUNwdUluZm9HdWlkOw0KPiArZXh0ZXJuIENIQVIxNiAgIEVmaVBsYXRmb3JtQ3B1SW5mb1Zhcmlh YmxlW107DQo+ICsNCj4gKy8vDQo+ICsvLyBUcmktc3RhdGUgZm9yIGZlYXR1cmUgY2FwYWJpbGl0 aWVzIGFuZCBlbmFibGUvZGlzYWJsZS4NCj4gKy8vIFswXSBjbGVhcj1mZWF0dXJlIGlzbid0IGNh cGFibGUNCj4gKy8vIFswXSBzZXQgID1mZWF0dXJlIGlzIGNhcGFibGUNCj4gKy8vIFsxXSBjbGVh cj1mZWF0dXJlIGlzIGRpc2FibGVkDQo+ICsvLyBbMV0gc2V0ICA9ZmVhdHVyZSBpcyBlbmFibGVk DQo+ICsvLw0KPiArI2RlZmluZSBDUFVfRkVBVFVSRVNfQ0FQQUJMRSAgICAgIEJJVDANCj4gKyNk ZWZpbmUgQ1BVX0ZFQVRVUkVTX0VOQUJMRSAgICAgICBCSVQxDQo+ICsNCj4gKyNkZWZpbmUgTUFY X0NBQ0hFX0RFU0NSSVBUT1JTICAgICA2NA0KPiArI2RlZmluZSBNQVhJTVVNX0NQVV9CUkFORF9T VFJJTkdfTEVOR1RIIDQ4DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICt0eXBlZGVm IHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgRnVsbENwdUlkOyAgICAgICAgICAg ICAgICAvLyBbMzE6MF0gJiAweDBGRkYwRkZGDQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgRnVs bEZhbWlseU1vZGVsSWQ7ICAgICAgICAvLyBbMzE6MF0gJiAweDBGRkYwRkYwDQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgRXh0ZW5kZWRGYW1pbHlJZDsgICAgICAgICAvLyBbMjc6MjBdDQo+ICsg IFVJTlQ4ICAgICAgICAgICAgICAgRXh0ZW5kZWRNb2RlbElkOyAgICAgICAgICAvLyBbMTk6MTZd DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgUHJvY2Vzc29yVHlwZTsgICAgICAgICAgICAvLyBb MTM6MTFdDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgRmFtaWx5SWQ7ICAgICAgICAgICAgICAg ICAvLyBbMTE6OF0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBNb2RlbDsgICAgICAgICAgICAg ICAgICAgIC8vIFs3OjRdDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgU3RlcHBpbmdJZDsgICAg ICAgICAgICAgICAvLyBbMzowXQ0KPiArfSBFRklfQ1BVX1ZFUlNJT05fSU5GTzsgLy8gQ1BVSUQu MS5FQVgNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgICAgICAgICAgICAg IEwxSW5zdHJ1Y3Rpb25DYWNoZVNpemU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgTDFEYXRh Q2FjaGVTaXplOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgIEwyQ2FjaGVTaXplOw0KPiArICBV SU5UMzIgICAgICAgICAgICAgIEwzQ2FjaGVTaXplOw0KPiArICBVSU5UMzIgICAgICAgICAgICAg IFRyYWNlQ2FjaGVTaXplOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgIENhY2hlRGVzY3JpcHRv cltNQVhfQ0FDSEVfREVTQ1JJUFRPUlNdOw0KPiArfSBFRklfQ1BVX0NBQ0hFX0lORk87IC8vIENQ VUlELjIuRUFYDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICAgICAgICAg ICAgICBQaHlzaWNhbFBhY2thZ2VzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgIExvZ2ljYWxQ cm9jZXNzb3JzUGVyUGh5c2ljYWxQYWNrYWdlOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgIENv cmVzUGVyUGh5c2ljYWxQYWNrYWdlOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFRocmVhZHNQ ZXJDb3JlOw0KPiArfSBFRklfQ1BVX1BBQ0tBR0VfSU5GTzsgLy8gQ1BVSUQuNC5FQVgNCj4gKw0K PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgICAgICAgICAgICAgIFJlZ0VkeDsgICAg ICAgICAgICAgICAgICAgLy8gQ1BVSUQuNS5FQVgNCj4gKyAgVUlOVDggICAgICAgICAgICAgICBN YXhDU3RhdGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgQzBTdWJDU3RhdGVzTXdhaXQ7ICAg ICAgICAvLyBFRFggWzM6MF0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBDMVN1YkNTdGF0ZXNN d2FpdDsgICAgICAgIC8vIEVEWCBbNzo0XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIEMyU3Vi Q1N0YXRlc013YWl0OyAgICAgICAgLy8gRURYIFsxMTo4XQ0KPiArICBVSU5UOCAgICAgICAgICAg ICAgIEMzU3ViQ1N0YXRlc013YWl0OyAgICAgICAgLy8gRURYIFsxNToxMl0NCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICBDNFN1YkNTdGF0ZXNNd2FpdDsgICAgICAgIC8vIEVEWCBbMTk6MTZdDQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgQzVTdWJDU3RhdGVzTXdhaXQ7ICAgICAgICAvLyBFRFgg WzIzOjIwXQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIEM2U3ViQ1N0YXRlc013YWl0OyAgICAg ICAgLy8gRURYIFsyNzoyNF0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBDN1N1YkNTdGF0ZXNN d2FpdDsgICAgICAgIC8vIEVEWCBbMzE6MjhdDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgTW9u aXRvck13YWl0U3VwcG9ydDsgICAgICAvLyBFQ1ggWzBdDQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgSW50ZXJydXB0c0JyZWFrTXdhaXQ7ICAgICAvLyBFQ1ggWzFdDQo+ICt9IEVGSV9DUFVfQ1NU QVRFX0lORk87IC8vIENQVUlELjUuRUFYDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAg VUlOVDggICAgICAgICAgICAgICBUdXJibzsgICAgICAgICAgICAgICAgICAgIC8vIEVBWCBbMV0N Cj4gKyAgVUlOVDggICAgICAgICAgICAgICBQRUNJOyAgICAgICAgICAgICAgICAgICAgIC8vIEVB WCBbMF0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBOdW1JbnRUaHJlc2hvbGRzOyAgICAgICAg IC8vIEVCWCBbMzowXQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIEh3Q29vcmRpbmF0aW9uRmVl ZGJhY2s7ICAgLy8gRUNYIFswXQ0KPiArfSBFRklfQ1BVX1BPV0VSX01BTkFHRU1FTlQ7IC8vIENQ VUlELjYuRUFYDQo+ICsNCj4gKy8vDQo+ICsvLyBJTVBPUlRBTlQ6IEVhY2ggQ1BVIGZlYXR1cmUg ZW5hYmxpbmcgZW50cnkgaXMgYXNzdW1lZCBhIHRyaS1zdGF0ZQ0KPiB2YXJpYWJsZS4NCj4gKy8v ICAgLSBLZWVwIHRoZSByZXNwZWN0aXZlIGZlYXR1cmUgZW50cnkgdmFyaWFibGUgYXMgZGVmYXVs dCB2YWx1ZSAoMHgwMCkNCj4gKy8vICAgICBpZiB0aGUgQ1BVIGlzIG5vdCBjYXBhYmxlIGZvciB0 aGUgZmVhdHVyZS4NCj4gKy8vICAgLSBVc2UgdGhlIHNwZWNpYWxseSBkZWZpbmVkIHByb2dyYW1t aW5nIGNvbnZlbnRpb24gdG8gdXBkYXRlIHRoZQ0KPiB2YXJpYWJsZQ0KPiArLy8gICAgIHRvIGlu ZGljYXRlIGNhcGFibGUsIGVuYWJsZSBvciBkaXNhYmxlLg0KPiArLy8gICAgIGllLiBGX0NBUEFC TEUgZm9yIGZlYXR1cmUgYXZhaWxhYmxlDQo+ICsvLyAgICAgICAgIEZfRU5BQkxFIGZvciBmZWF0 dXJlIGVuYWJsZQ0KPiArLy8gICAgICAgICBGX0RJU0FCTEUgZm9yIGZlYXR1cmUgZGlzYWJsZQ0K PiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX0NQVUlEX1JFR0lTVEVSICBSZWdz OyAgICAgICAgICAgICAgICAgICAgIC8vIENQVUlELjEuRUFYDQo+ICsgIFVJTlQ4ICAgICAgICAg ICAgICAgWGFwaWM7ICAgICAgICAgICAgICAgICAgICAvLyBFQ1ggWzIxXQ0KPiArICBVSU5UOCAg ICAgICAgICAgICAgIFNTRTRfMjsgICAgICAgICAgICAgICAgICAgLy8gRUNYIFsyMF0NCj4gKyAg VUlOVDggICAgICAgICAgICAgICBTU0U0XzE7ICAgICAgICAgICAgICAgICAgIC8vIEVDWCBbMTld DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgRGNhOyAgICAgICAgICAgICAgICAgICAgICAvLyBF Q1ggWzE4XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFN1cFNTRTM7ICAgICAgICAgICAgICAg ICAgLy8gRUNYIFs5XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFRtMjsgICAgICAgICAgICAg ICAgICAgICAgLy8gRUNYIFs4XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIEVpc3Q7ICAgICAg ICAgICAgICAgICAgICAgLy8gRUNYIFs3XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIEx0OyAg ICAgICAgICAgICAgICAgICAgICAgLy8gRUNYIFs2XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAg IFZ0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gRUNYIFs1XQ0KPiArICBVSU5UOCAgICAgICAg ICAgICAgIE13YWl0OyAgICAgICAgICAgICAgICAgICAgLy8gRUNYIFszXQ0KPiArICBVSU5UOCAg ICAgICAgICAgICAgIFNTRTM7ICAgICAgICAgICAgICAgICAgICAgLy8gRUNYIFswXQ0KPiArICBV SU5UOCAgICAgICAgICAgICAgIFRjYzsgICAgICAgICAgICAgICAgICAgICAgLy8gRURYIFsyOV0N Cj4gKyAgVUlOVDggICAgICAgICAgICAgICBNdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVE WCBbMjhdDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgU1NFMjsgICAgICAgICAgICAgICAgICAg ICAvLyBFRFggWzI2XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFNTRTsgICAgICAgICAgICAg ICAgICAgICAgLy8gRURYIFsyNV0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBNTVg7ICAgICAg ICAgICAgICAgICAgICAgIC8vIEVEWCBbMjNdDQo+ICsgIEVGSV9DUFVJRF9SRUdJU1RFUiAgRXh0 UmVnczsgICAgICAgICAgICAgICAgICAvLyBDUFVJRC44MDAwMDAwMS5FQVgNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICBFeHRMYWhmU2FoZjY0OyAgICAgICAgICAgIC8vIEVDWCBbMF0NCj4gKyAg VUlOVDggICAgICAgICAgICAgICBFeHRJbnRlbDY0OyAgICAgICAgICAgICAgIC8vIEVEWCBbMjld DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgRXh0WGQ7ICAgICAgICAgICAgICAgICAgICAvLyBF RFggWzIwXQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIEV4dFN5c0NhbGxSZXQ2NDsgICAgICAg ICAgLy8gRURYIFsxMV0NCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICBIdDsgICAgICAgICAgICAg ICAgICAgICAgIC8vIENQVUlELjBCLkVBWCBFQlggWzE1OjBdDQo+ICt9IEVGSV9DUFVfRkVBVFVS RVM7IC8vIENQVUlELjEuRUFYLCBDUFVJRC4wQi5FQVgsIENQVUlELjgwMDAwMDAxLkVBWA0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgUGh5c2ljYWxC aXRzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFZpcnR1YWxCaXRzOw0KPiArfSBFRklfQ1BV X0FERFJFU1NfQklUUzsgLy8gQ1BVSUQuODAwMDAwMDguRUFYDQo+ICsNCj4gK3R5cGVkZWYgc3Ry dWN0IHsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICBQbGF0Zm9ybUlEOyAgICAgICAgICAgICAg IC8vIE1TUiAweDE3IFs1Mjo1MF0NCj4gKyAgVUlOVDMyICAgICAgICAgICAgICBNaWNyb2NvZGVS ZXZpc2lvbjsgICAgICAgIC8vIE1TUiAweDhCIFs2MzozMl0NCj4gKyAgVUlOVDggICAgICAgICAg ICAgICBNYXhFZmZpY2llbmN5UmF0aW87ICAgICAgIC8vIE1TUiAweENFIFs0Nzo0MF0NCj4gKyAg VUlOVDggICAgICAgICAgICAgICBEZHJSYXRpb1VubG9ja0NhcDsgICAgICAgIC8vIE1TUiAweENF IFszMF0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBUZGNUZHBMaW1pdHNUdXJibzsgICAgICAg IC8vIE1TUiAweENFIFsyOV0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBSYXRpb0xpbWl0c1R1 cmJvOyAgICAgICAgIC8vIE1TUiAweENFIFsyOF0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBQ cmVQcm9kdWN0aW9uOyAgICAgICAgICAgIC8vIE1TUiAweENFIFsyN10NCj4gKyAgVUlOVDggICAg ICAgICAgICAgICBEY3VNb2RlU2VsZWN0OyAgICAgICAgICAgIC8vIE1TUiAweENFIFsyNl0NCj4g KyAgVUlOVDggICAgICAgICAgICAgICBNYXhOb25UdXJib1JhdGlvOyAgICAgICAgIC8vIE1TUiAw eENFIFsxNTo4XQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIEVtcnI7ICAgICAgICAgICAgICAg ICAgICAgLy8gTVNSIDB4RkUgWzEyXQ0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFNtcnI7ICAg ICAgICAgICAgICAgICAgICAgLy8gTVNSIDB4RkUgWzExXQ0KPiArICBVSU5UOCAgICAgICAgICAg ICAgIFZhcmlhYmxlTXRyckNvdW50OyAgICAgICAgLy8gTVNSIDB4RkUgWzc6MF0NCj4gKyAgVUlO VDE2ICAgICAgICAgICAgICBQU3RhdGU7ICAgICAgICAgICAgICAgICAgIC8vIE1TUiAweDE5OCBb MTU6MF0NCj4gKyAgVUlOVDggICAgICAgICAgICAgICBUY2NBY3RpdmF0aW9uVGVtcGVyYXR1cmU7 IC8vIE1TUiAweDFBMiBbMjM6MTZdDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgVGVtcGVyYXR1 cmVDb250cm9sT2Zmc2V0OyAvLyBNU1IgMHgxQTIgWzE1OjhdDQo+ICsgIFVJTlQzMiAgICAgICAg ICAgICAgUENJZUJhcjsgICAgICAgICAgICAgICAgICAvLyBNU1IgMHgzMDAgWzM5OjIwXQ0KPiAr ICBVSU5UOCAgICAgICAgICAgICAgIFBDSWVCYXJTaXplTUI7ICAgICAgICAgICAgLy8gTVNSIDB4 MzAwIFszOjFdDQo+ICt9IEVGSV9NU1JfRkVBVFVSRVM7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0 IHsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc0ludGVsUHJvY2Vz c29yOw0KPiArICBVSU5UOA0KPiBCcmFuZFN0cmluZ1tNQVhJTVVNX0NQVV9CUkFORF9TVFJJTkdf TEVOR1RIICsgMV07DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ3B1 aWRNYXhJbnB1dFZhbHVlOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAg IENwdWlkTWF4RXh0SW5wdXRWYWx1ZTsNCj4gKyAgRUZJX0NQVV9VQVJDSCAgICAgICAgICAgICAg ICAgICAgICBDcHVVYXJjaDsNCj4gKyAgRUZJX0NQVV9GQU1JTFkgICAgICAgICAgICAgICAgICAg ICBDcHVGYW1pbHk7DQo+ICsgIEVGSV9DUFVfUExBVEZPUk0gICAgICAgICAgICAgICAgICAgQ3B1 UGxhdGZvcm07DQo+ICsgIEVGSV9DUFVfVFlQRSAgICAgICAgICAgICAgICAgICAgICAgQ3B1VHlw ZTsNCj4gKyAgRUZJX0NQVV9WRVJTSU9OX0lORk8gICAgICAgICAgICAgICBDcHVWZXJzaW9uOw0K PiArICBFRklfQ1BVX0NBQ0hFX0lORk8gICAgICAgICAgICAgICAgIENwdUNhY2hlOw0KPiArICBF RklfQ1BVX0ZFQVRVUkVTICAgICAgICAgICAgICAgICAgIENwdUZlYXR1cmVzOw0KPiArICBFRklf Q1BVX0NTVEFURV9JTkZPICAgICAgICAgICAgICAgIENwdUNTdGF0ZTsNCj4gKyAgRUZJX0NQVV9Q QUNLQUdFX0lORk8gICAgICAgICAgICAgICBDcHVQYWNrYWdlOw0KPiArICBFRklfQ1BVX1BPV0VS X01BTkFHRU1FTlQgICAgICAgICAgIENwdVBvd2VyTWFuYWdlbWVudDsNCj4gKyAgRUZJX0NQVV9B RERSRVNTX0JJVFMgICAgICAgICAgICAgICBDcHVBZGRyZXNzOw0KPiArICBFRklfTVNSX0ZFQVRV UkVTICAgICAgICAgICAgICAgICAgIE1zcjsNCj4gK30gRUZJX1BMQVRGT1JNX0NQVV9JTkZPOw0K PiArDQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9QbGF0Zm9ybUluZm8u aA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9QbGF0 Zm9ybUluZm8uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5j YWMzMWUyYTQwDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL1BsYXRmb3JtSW5mby5oDQo+IEBAIC0wLDAgKzEsNDMz IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0K PiArDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgUGxhdGZvcm1JbmZvLmgN Cj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgR1VJRCB1c2VkIGZvciBQbGF0Zm9ybSBJbmZv IERhdGEgZW50cmllcyBpbiB0aGUgSE9CIGxpc3QuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lm bmRlZiBfUExBVEZPUk1fSU5GT19HVUlEX0hfDQo+ICsjZGVmaW5lIF9QTEFURk9STV9JTkZPX0dV SURfSF8NCj4gKw0KPiArI2lmbmRlZiBFQ1BfRkxBRw0KPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0hvYkxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkv SW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9TbWJ1c0xpYi5oPg0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvU21CdXMu aD4NCj4gKyNlbmRpZg0KPiArDQo+ICsjZGVmaW5lIFBMQVRGT1JNX0lORk9fUkVWSVNJT04gPSAx ICAgICAgLy8gUmV2aXNpb24gaWQgZm9yIGN1cnJlbnQNCj4gcGxhdGZvcm0gaW5mb3JtYXRpb24g c3RydWN0Lg0KPiArDQo+ICsvLw0KPiArLy8gU3RhcnQ6OkJheUxha2UgQm9hcmQgRGVmaW5lcw0K PiArLy8NCj4gKyNkZWZpbmUgQk9BUkRfUkVWSVNJT05fREVGQVVMVCA9IDB4ZmYNCj4gKyNkZWZp bmUgVU5LTk9XTl9GQUJJRAkJMHgwRg0KPiArI2RlZmluZSBGQUJfSURfTUFTSwkJCTB4MEYNCj4g KyNkZWZpbmUgQk9BUkRfSURfMiAgIDB4MDENCj4gKyNkZWZpbmUgQk9BUkRfSURfMSAgIDB4NDAN Cj4gKyNkZWZpbmUgQk9BUkRfSURfMCAgIDB4MDQNCj4gKw0KPiArI2RlZmluZSBCT0FSRF9JRF9E VF9DUkIgICAgIDB4MA0KPiArI2RlZmluZSBCT0FSRF9JRF9EVF9WTFZSICAgIDB4MQ0KPiArI2Rl ZmluZSBCT0FSRF9JRF9TVlBfVkxWICAgIDB4Qw0KPiArI2RlZmluZSBCT0FSRF9JRF9TVlBfRVZf VkxWIDB4RA0KPiArLy8NCj4gKy8vIEVuZDo6QmF5TGFrZSBCb2FyZCBEZWZpbmVzDQo+ICsvLw0K PiArDQo+ICsvLw0KPiArLy8gU3RhcnQ6OkFscGluZSBWYWxsZXkgQm9hcmQgRGVmaW5lcw0KPiAr Ly8NCj4gKyNkZWZpbmUgRENfSURfRERSM0wgICAgICAweDAwDQo+ICsjZGVmaW5lIERDX0lEX0RE UjMgICAgICAgMHgwNA0KPiArI2RlZmluZSBEQ19JRF9MUEREUjMgICAgIDB4MDINCj4gKyNkZWZp bmUgRENfSURfTFBERFIyICAgICAweDA2DQo+ICsjZGVmaW5lIERDX0lEX0REUjQgICAgICAgMHgw MQ0KPiArI2RlZmluZSBEQ19JRF9ERFIzTF9FQ0MgIDB4MDUNCj4gKyNkZWZpbmUgRENfSURfTk9f TUVNICAgICAweDA3DQo+ICsvLw0KPiArLy8gRW5kOjpBbHBpbmUgVmFsbGV5IEJvYXJkIERlZmlu ZXMNCj4gKy8vDQo+ICsNCj4gKyNkZWZpbmUgTUFYX0ZBQl9JRF9SRVRSWV9DT1VOVCAgMTAwDQo+ ICsjZGVmaW5lIE1BWF9GQUJfSURfQ0hFQ0tfQ09VTlQgIDMNCj4gKw0KPiArI2RlZmluZSBQTEFU Rk9STV9JTkZPX0hPQl9SRVZJU0lPTgkweDENCj4gKw0KPiArI2RlZmluZSBFRklfUExBVEZPUk1f SU5GT19HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHgxZTJhY2M0MSwgMHhlMjZhLCAweDQ4M2Qs IDB4YWYsIDB4YzcsIDB4YTAsIDB4NTYsIDB4YzMsIDB4NGUsIDB4OCwgMHg3YiBcDQo+ICsgIH0N Cj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlQbGF0Zm9ybUluZm9HdWlkOw0KPiArDQo+ICt0 eXBlZGVmIGVudW0gew0KPiArICBGbGF2b3JVbmtub3duID0gMCwNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBNb2JpbGUNCj4gKyAgLy8NCj4gKyAgRmxhdm9yTW9iaWxlID0gMSwNCj4gKw0KPiArICAv Lw0KPiArICAvLyBEZXNrdG9wDQo+ICsgIC8vDQo+ICsgIEZsYXZvckRlc2t0b3AgPSAyLA0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFRhYmxldA0KPiArICAvLw0KPiArICBGbGF2b3JUYWJsZXQgPSAz DQo+ICt9IFBMQVRGT1JNX0ZMQVZPUjsNCj4gKw0KPiArI3ByYWdtYSBwYWNrKDEpDQo+ICsNCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDE2ICBQY2lSZXNvdXJjZUlvQmFzZTsNCj4gKyAg VUlOVDE2ICBQY2lSZXNvdXJjZUlvTGltaXQ7DQo+ICsgIFVJTlQzMiAgUGNpUmVzb3VyY2VNZW0z MkJhc2U7DQo+ICsgIFVJTlQzMiAgUGNpUmVzb3VyY2VNZW0zMkxpbWl0Ow0KPiArICBVSU5UNjQg IFBjaVJlc291cmNlTWVtNjRCYXNlOw0KPiArICBVSU5UNjQgIFBjaVJlc291cmNlTWVtNjRMaW1p dDsNCj4gKyAgVUlOVDY0ICBQY2lFeHByZXNzQmFzZTsNCj4gKyAgVUlOVDMyICBQY2lFeHByZXNz U2l6ZTsNCj4gKyAgVUlOVDggICBQY2lIb3N0QWRkcmVzc1dpZHRoOw0KPiArICBVSU5UOCAgIFBj aVJlc291cmNlTWluU2VjQnVzOw0KPiArfSBFRklfUExBVEZPUk1fUENJX0RBVEE7DQo+ICsNCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggQ3B1QWRkcmVzc1dpZHRoOw0KPiArICBVSU5U MzIgQ3B1RmFtaWx5U3RlcHBpbmc7DQo+ICt9IEVGSV9QTEFURk9STV9DUFVfREFUQTsNCj4gKw0K PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCBTeXNJb0FwaWNFbmFibGU7DQo+ICsgIFVJ TlQ4IFN5c1Npb0V4aXN0Ow0KPiArfSBFRklfUExBVEZPUk1fU1lTX0RBVEE7DQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICBNZW1Ub2xtOw0KPiArICBVSU5UMzIgIE1lbU1h eFRvbG07DQo+ICsgIFVJTlQzMiAgTWVtVHNlZ1NpemU7DQo+ICsgIFVJTlQzMiAgTWVtVHNlZ0Jh c2U7DQo+ICsgIFVJTlQzMiAgTWVtSWVkU2l6ZTsNCj4gKyAgVUlOVDMyICBNZW1JZ2RTaXplOw0K PiArICBVSU5UMzIgIE1lbUlnZEJhc2U7DQo+ICsgIFVJTlQzMiAgTWVtSWdkR3R0U2l6ZTsNCj4g KyAgVUlOVDMyICBNZW1JZ2RHdHRCYXNlOw0KPiArICBVSU5UNjQgIE1lbU1pcjA7DQo+ICsgIFVJ TlQ2NCAgTWVtTWlyMTsNCj4gKyAgVUlOVDMyICBNZW1Db25maWdTaXplOw0KPiArICBVSU5UMTYg IE1taW9TaXplOw0KPiArICBVSU5UOCAgIERkckZyZXE7DQo+ICsgIFVJTlQ4ICAgRGRyVHlwZTsN Cj4gKyAgVUlOVDMyICBNZW1TaXplOw0KPiArICBCT09MRUFOIEVjY1N1cHBvcnQ7DQo+ICsgIFVJ TlQ4ICAgUmVzZXJ2ZWRbM107DQo+ICsgIFVJTlQxNiAgRGltbVNpemVbMl07DQo+ICt9IEVGSV9Q TEFURk9STV9NRU1fREFUQTsNCj4gKw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJ TlQzMiBJZ2RPcFJlZ2lvbkFkZHJlc3M7ICAgIC8vIElHRCBPcFJlZ2lvbiBTdGFydGluZyBBZGRy ZXNzDQo+ICsgIFVJTlQ4ICBJZ2RCb290VHlwZTsgICAgICAgICAgIC8vIElHRCBCb290IERpc3Bs YXkgRGV2aWNlDQo+ICsgIFVJTlQ4ICBJZ2RQYW5lbFR5cGU7ICAgICAgICAgIC8vIElHRCBQYW5l bCBUeXBlIENNT3Mgb3B0aW9uDQo+ICsgIFVJTlQ4ICBJZ2RUdkZvcm1hdDsgICAgICAgICAgIC8v IElHRCBUViBGb3JtYXQgQ01PUyBvcHRpb24NCj4gKyAgVUlOVDggIElnZFR2TWlub3I7ICAgICAg ICAgICAgLy8gSUdEIFRWIE1pbm9yIEZvcm1hdCBDTU9TIG9wdGlvbg0KPiArICBVSU5UOCAgSWdk UGFuZWxTY2FsaW5nOyAgICAgICAvLyBJR0QgUGFuZWwgU2NhbGluZw0KPiArICBVSU5UOCAgSWdk QmxjQ29uZmlnOyAgICAgICAgICAvLyBJR0QgQkxDIENvbmZpZ3VyYXRpb24NCj4gKyAgVUlOVDgg IElnZEJpYUNvbmZpZzsgICAgICAgICAgLy8gSUdEIEJJQSBDb25maWd1cmF0aW9uDQo+ICsgIFVJ TlQ4ICBJZ2RTc2NDb25maWc7ICAgICAgICAgIC8vIElHRCBTU0MgQ29uZmlndXJhdGlvbg0KPiAr ICBVSU5UOCAgSWdkRHZtdE1lbVNpemU7ICAgICAgICAvLyBJR0QgRFZNVCBNZW1vcnkgU2l6ZQ0K PiArICBVSU5UOCAgSWdkRnVuYzFFbmFibGU7ICAgICAgICAvLyBJR0QgRnVuY3Rpb24gMSBFbmFi bGUNCj4gKyAgVUlOVDggIElnZEhwbGxWY287ICAgICAgICAgICAgLy8gSFBMTCBWQ08NCj4gKyAg VUlOVDggIElnZFNjaVNtaU1vZGU7ICAgICAgICAgLy8gR01DSCBTTUkvU0NJIG1vZGUgKDA9U0NJ KQ0KPiArICBVSU5UOCAgSWdkUEFWUDsgICAgICAgICAgICAgICAvLyBJR0QgUEFWUCBkYXRhDQo+ ICt9IEVGSV9QTEFURk9STV9JR0RfREFUQTsNCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAg Qk9BUkRfSURfQVZfU1ZQICAgPSAweDAsICAgIC8vIEFscGluZSBWYWxsZXkgQm9hcmQNCj4gKyAg Qk9BUkRfSURfQkxfUlZQICAgPSAweDIsICAgIC8vIEJheUxha2UgQm9hcmQgKFJWUCkNCj4gKyAg Qk9BUkRfSURfQkxfRkZSRDggPSAweDMsICAgIC8vIEZGUkQ4IGInMDAxMQ0KPiArICBCT0FSRF9J RF9CTF9GRlJEICA9IDB4NCwgICAgLy8gQmF5TGFrZSBCb2FyZCAoRkZSRCkNCj4gKyAgQk9BUkRf SURfQkxfUlZQX0REUjNMICA9IDB4NSwgICAgLy8gQmF5TGFrZSBCb2FyZCAoUlZQIEREUjNMKQ0K PiArICBCT0FSRF9JRF9CTF9TVEhJICA9IDB4NywgICAgLy8gUFBWLSBTVEhJIEJvYXJkDQo+ICsg IEJPQVJEX0lEX0JCX1JWUCAgID0gMHgyMCwgICAvLyBCYXlsZXkgQmF5IEJvYXJkDQo+ICsgIEJP QVJEX0lEX0JTX1JWUCAgID0gMHgzMCwgICAvLyBCYWtlcnNwb3J0IEJvYXJkDQo+ICsgIEJPQVJE X0lEX0NWSCAgICAgID0gMHg5MCwgICAvLyBDcmVzdHZpZXcgSGlsbHMNCj4gKyAgQk9BUkRfSURf TUlOTk9XMiAgPSAweEEwLCAgICAvLyBNaW5ub3dCb3JhZCBNYXgNCj4gKyAgQk9BUkRfSURfTUlO Tk9XMl9UVVJCT1QgID0gMHhCMCAgICAvLyBNaW5ub3dCb2FyZCBUdXJib3QNCj4gKw0KPiArfSBC T0FSRF9JRF9MSVNUOw0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBGQUIxID0gMCwNCj4g KyAgRkFCMiA9IDEsDQo+ICsgIEZBQjMgPSAyDQo+ICt9IEZBQl9JRF9MSVNUOw0KPiArDQo+ICt0 eXBlZGVmIGVudW0gew0KPiArICAgIFBSMCAgPSAwLCAgIC8vIEZGUkQgUFIwDQo+ICsgICAgUFIw NSA9IDEsICAgLy8gRkZSRCBQUjAuMyBhbmQgUFIgMC41DQo+ICsgICAgUFIxICA9IDIsICAgLy8g RkZSRCBQUjENCj4gKyAgICBQUjExID0gMyAgICAvLyBGRlJEIFBSMS4xDQo+ICt9IEZGUkRfSURf TElTVDsNCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gVkxWMiBHUElPIEdST1VQIE9GRlNFVA0KPiAr Ly8NCj4gKyNkZWZpbmUgR1BJT19TQ09SRV9PRkZTRVQJMHgwMDAwDQo+ICsjZGVmaW5lIEdQSU9f TkNPUkVfT0ZGU0VUCTB4MTAwMA0KPiArI2RlZmluZSBHUElPX1NTVVNfT0ZGU0VUCTB4MjAwMA0K PiArDQo+ICsvLw0KPiArLy8gR1BJTyBJbml0aWFsaXphdGlvbiBEYXRhIFN0cnVjdHVyZSBmb3Ig QmF5TGFrZS4NCj4gKy8vIFNDID0gU0NPUkUsIFNTPSBTU1VTDQo+ICsvLyBOb3RlOiBOQyBkb2Vz bid0IHN1cHBvcnQgR1BJTyBmdW5jdGlvbmFsaXR5IGluIElPIGFjY2VzcyBtb2RlLCBvbmx5DQo+ IHN1cHBvcnQgaW4gTU1JTyBhY2Nlc3MgbW9kZS4NCj4gKy8vDQo+ICsNCj4gKy8vDQo+ICsvLyBJ TyBzcGFjZQ0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0ew0KPiArICBVSU5UMzIgIFVzZV9TZWxf U0MwOw0KPiArICBVSU5UMzIgIFVzZV9TZWxfU0MxOw0KPiArICBVSU5UMzIgIFVzZV9TZWxfU0My Ow0KPiArICBVSU5UMzIgIFVzZV9TZWxfU1M7DQo+ICsNCj4gKyAgVUlOVDMyICBJb19TZWxfU0Mw Ow0KPiArICBVSU5UMzIgIElvX1NlbF9TQzE7DQo+ICsgIFVJTlQzMiAgSW9fU2VsX1NDMjsNCj4g KyAgVUlOVDMyICBJb19TZWxfU1M7DQo+ICsNCj4gKyAgVUlOVDMyICBHUF9MdmxfU0MwOw0KPiAr ICBVSU5UMzIgIEdQX0x2bF9TQzE7DQo+ICsgIFVJTlQzMiAgR1BfTHZsX1NDMjsNCj4gKyAgVUlO VDMyICBHUF9MdmxfU1M7DQo+ICsNCj4gKyAgVUlOVDMyICBUUEVfU0MwOw0KPiArICBVSU5UMzIg IFRQRV9TUzsNCj4gKw0KPiArICBVSU5UMzIgIFRORV9TQzA7DQo+ICsgIFVJTlQzMiAgVE5FX1NT Ow0KPiArDQo+ICsgIFVJTlQzMiAgVFNfU0MwOw0KPiArICBVSU5UMzIgIFRTX1NTOw0KPiArDQo+ ICsgIFVJTlQzMiAgV0VfU1M7DQo+ICt9IENGSU9fSU5JVF9TVFJVQ1Q7DQo+ICsNCj4gKw0KPiAr DQo+ICsvLw0KPiArLy8gQ0ZJTyBQQUQgY29uZmlndXJhdGlvbiBSZWdpc3RlcnMNCj4gKy8vDQo+ ICsvLw0KPiArLy8gTWVtb3J5IHNwYWNlDQo+ICsvLw0KPiArdHlwZWRlZiB1bmlvbiB7DQo+ICsg IFVJTlQzMiBkdzsNCj4gKyAgc3RydWN0IHsNCj4gKyAgICBVSU5UMzIgRnVuY19QaW5fTXV4OjM7 ICAvLyAwOjIgRnVuY3Rpb24gb2YgQ0ZJTyBzZWxlY3Rpb24NCj4gKyAgICBVSU5UMzIgaXBzbGV3 OjI7IC8vIDM6NCBQYWQgKFApIFNsZXcgUmF0ZSBDb250cm9scyBQQUQgc2xldyByYXRlIGNoZWNr DQo+IFdpZHRoDQo+ICsgICAgVUlOVDMyIGluc2xldzoyOyAvLyA1OjYgUGFkIChOKSBTbGV3IFJh dGUgQ29udHJvbHMgUEFEIHNsZXcgcmF0ZQ0KPiArICAgIFVJTlQzMiBQdWxsX2Fzc2lnbjoyOyAv LyA3OjggUHVsbCBhc3NpZ25tZW50DQo+ICsgICAgVUlOVDMyIFB1bGxfc3RyZW5ndGg6MjsgLy8g OToxMCBQdWxsIHN0cmVuZ3RoDQo+ICsgICAgVUlOVDMyIEJ5cGFzc19mbG9wOjE7IC8vIDExIEJ5 cGFzcyBmbG9wDQo+ICsgICAgVUlOVDMyIEZpbHRlcl9lbjoxOyAvLyAxMiBGaWx0ZXIgRW5hYmxl DQo+ICsgICAgVUlOVDMyIEhpc3RfY3RybDoyOyAvLyAxMzoxNCBoeXN0ZXJlc2lzIGNvbnRyb2wN Cj4gKyAgICBVSU5UMzIgSGlzdF9lbmI6MTsgLy8gMTUgSHlzdGVyZXNpcyBlbmFibGUsIGFjdGl2 ZSBsb3cNCj4gKyAgICBVSU5UMzIgRGVsYXlfbGluZTo2OyAvLyAxNjoyMSBEZWxheSBsaW5lIHZh bHVlcyAtIERlbGF5IHZhbHVlcyBmb3IgaW5wdXQgb3INCj4gb3V0cHV0DQo+ICsgICAgVUlOVDMy IFJlc2VydmVkOjM7IC8vIDIyOjI0IFJlc2VydmVkDQo+ICsgICAgVUlOVDMyIFRQRToxOyAvLyAy NSBUcmlnZ2VyIFBvc2l0aXZlIEVkZ2UgRW5hYmxlDQo+ICsgICAgVUlOVDMyIFRORToxOyAvLyAy NiBUcmlnZ2VyIE5lZ2F0aXZlIEVkZ2UgRW5hYmxlDQo+ICsgICAgVUlOVDMyIFJlc2VydmVkMjoz OyAvLyAyNzoyOSBSZXNlcnZlZA0KPiArICAgIFVJTlQzMiBpMXA1c2VsOjE7IC8vIDMwDQo+ICsg ICAgVUlOVDMyIElPREVOOjE7IC8vIDMxIDogT3BlbiBEcmFpbiBlbmFibGUuIEFjdGl2ZSBoaWdo DQo+ICsJfSByOw0KPiArfSBQQURfQ09ORjA7DQo+ICsNCj4gK3R5cGVkZWYgdW5pb257DQo+ICsg IFVJTlQzMiBkdzsNCj4gKyAgc3RydWN0IHsNCj4gKyAgICBVSU5UMzIgaW5zdHI6MTY7IC8vIDA6 MTUgUGFkIChOKSBzdHJlbmd0aC4NCj4gKyAgICBVSU5UMzIgaXBzdHI6MTY7IC8vIDE2OjMxIFBh ZCAoUCkgc3RyZW5ndGguDQo+ICsgIH1yOw0KPiArfSBQQURfQ09ORjE7DQo+ICsNCj4gK3R5cGVk ZWYgdW5pb257DQo+ICsgIFVJTlQzMiBkdzsNCj4gKyAgc3RydWN0IHsNCj4gKyAgICBVSU5UMzIg cGFkX3ZhbDoxOyAvLyAwIFRoZXNlIHJlZ2lzdGVycyBhcmUgaW1wbGVtZW50ZWQgYXMgZHVhbA0K PiByZWFkL3dyaXRlIHdpdGggZGVkaWNhdGVkIHN0b3JhZ2UgZWFjaC4NCj4gKyAgICBVSU5UMzIg aW91dGVuYjoxOyAvLyAxIG91dHB1dCBlbmFibGUNCj4gKyAgICBVSU5UMzIgaWluZW5iOjE7IC8v IDIgaW5wdXQgZW5hYmxlDQo+ICsgICAgVUlOVDMyIFJlc2VydmVkOjI5OyAvLyAzOjMxIFJlc2Vy dmVkDQo+ICsgIH1yOw0KPiArfSBQQURfVkFMOw0KPiArDQo+ICt0eXBlZGVmIHVuaW9uew0KPiAr ICBVSU5UMzIgR1BJOw0KPiArICBzdHJ1Y3Qgew0KPiArICAgIFVJTlQzMiBpaGJwZW46MTsgLy8g MCBQYWQgaGlnaCBieSBwYXNzIGVuYWJsZQ0KPiArICAgIFVJTlQzMiBpaGJwaW5lbjoxOyAvLyAx IFBhZCBoaWdoIGJ5IHBhc3MgaW5wdXQNCj4gKyAgICBVSU5UMzIgaW5zdGF0aWNlbjoxOyAvLyAy IFRCRA0KPiArICAgIFVJTlQzMiBpcHN0YXRpY2VuOjE7IC8vIDMgVEJEDQo+ICsgICAgVUlOVDMy IE92ZXJpZGVfc3RyYXBfcGluIDoxOyAvLyA0IERGWCBpbmRpY2F0ZXMgaWYgaXQgd2FudHMgdG8g b3ZlcnJpZGUgdGhlDQo+IHN0cmFwIHBpbiB2YWx1ZSBvbiB0aGlzIHBhZCwgaWYgZXhpc3RzLg0K PiArICAgIFVJTlQzMiBPdmVyaWRlX3N0cmFwX3Bpbl92YWw6MTsgLy8gNSBJbiBjYXNlIERGWCBu ZWVkIHRvIG92ZXJyaWRlIHN0cmFwDQo+IHBpbiB2YWx1ZSBhbmQgaXQgZXhpc3QgZm9yIHRoZSBz cGVjaWZpYyBwYWQsIHRoaXMgdmFsdWUgd2lsbCBiZSB1c2VkLg0KPiArICAgIFVJTlQzMiBUZXN0 TW9kZV9QaW5fTXV4OjM7IC8vIDY6OSBERlggUGluIE11eGluZw0KPiArICB9cjsNCj4gK30gUEFE X0RGVDsNCj4gKw0KPiArLy8NCj4gKy8vIEdQSU9fVVNBR0UgdmFsdWUgbmVlZCB0byBtYXRjaGUg dGhlIFBBRF9WQUwgaW5wdXQvb3V0cHV0IGVuYWJsZQ0KPiBiaXRzLg0KPiArLy8NCj4gK3R5cGVk ZWYgZW51bSB7DQo+ICsgIE5hdGl2ZSA9IDB4RkYsICAvLyBOYXRpdmUsIG5vIG5lZWQgdG8gc2V0 IFBBRF9WQUxVRQ0KPiArICBHUEkgPSAyLCAgICAvLyBHUEksIGlucHV0IG9ubHkgaW4gUEFEX1ZB TFVFDQo+ICsgIEdQTyA9IDQsICAgIC8vIEdQTywgb3V0cHV0IG9ubHkgaW4gUEFEX1ZBTFVFDQo+ ICsgIEdQSU8gPSAwLCAgICAgIC8vIEdQSU8sIGlucHV0ICYgb3V0cHV0DQo+ICsgIFRSSVNUUyA9 IDYsICAgICAgLy8gVHJpLVN0YXRlDQo+ICsgIEdQSU9fTk9ORQ0KPiArfSBHUElPX1VTQUdFOw0K PiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBMTyA9IDAsDQo+ICsgIEhJID0gMSwNCj4gKyAg TkEgPSAweEZGDQo+ICt9IEdQT19ENDsNCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgRjAg PSAwLA0KPiArICBGMSA9IDEsDQo+ICsgIEYyID0gMiwNCj4gKyAgRjMgPSAzLA0KPiArICBGNCA9 IDQsDQo+ICsgIEY1ID0gNSwNCj4gKyAgRjYgPSA2LA0KPiArICBGNyA9IDcNCj4gK30gR1BJT19G VU5DX05VTTsNCj4gKw0KPiArLy8NCj4gKy8vIE1hcHBpbmcgdG8gQ09ORjAgYml0IDI3OjI0DQo+ ICsvLyBOb3RlOiBBc3N1bWUgIkRpcmVjdCBJcnEgRW4iIGlzIG5vdCBzZXQsIHVubGVzcyBzcGVj aWFsbHkgbm90aWZpZWQuDQo+ICsvLw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgVFJJR18gPSAw LA0KPiArICBUUklHX0VkZ2VfSGlnaCA9IC8qQklUMyB8Ki8gQklUMSwJLy8gUG9zaXRpdmUgRWRn ZSAoUmFzaW5nKQ0KPiArICBUUklHX0VkZ2VfTG93ICA9IC8qQklUMyB8Ki8gQklUMiwJLy8gTmVn YXRpdmUgRWRnZSAoRmFsbGluZykNCj4gKyAgVFJJR19FZGdlX0JvdGggPSAvKkJJVDMgfCovIEJJ VDIgfCBCSVQxLAkvLyBCb3RoIEVkZ2UNCj4gKyAgVFJJR19MZXZlbF9IaWdoPSAvKkJJVDMgfCov IEJJVDEgfCBCSVQwLAkvLyBMZXZlbCBIaWdoDQo+ICsgIFRSSUdfTGV2ZWxfTG93ID0gLypCSVQz IHwqLyBCSVQyIHwgQklUMCwJLy8gTGV2ZWwgTG93DQo+ICt9IElOVF9UWVBFOw0KPiArDQo+ICt0 eXBlZGVmIGVudW0gew0KPiArICBQXzIwS19ILAkvLyBQdWxsIFVwIDIwSw0KPiArICBQXzIwS19M LAkvLyBQdWxsIERvd24gMjBLDQo+ICsgIFBfMTBLX0gsCS8vIFB1bGwgVXAgMTBLDQo+ICsgIFBf MTBLX0wsCS8vIFB1bGwgRG93biAxMEsNCj4gKyAgUF8yS19ILAkvLyBQdWxsIFVwIDJLDQo+ICsg IFBfMktfTCwJLy8gUHVsbCBEb3duIDJLDQo+ICsgIFBfTk9ORSAgICAgIC8vIFB1bGwgTm9uZQ0K PiArfSBQVUxMX1RZUEU7DQo+ICsNCj4gKyNpZmRlZiBFRklfREVCVUcNCj4gKyAgI2RlZmluZSBH UElPX0lOSVRfSVRFTShwYWRfbmFtZSwgdXNhZ2UsIGdwb2Q0LCBmdW5jLCBpbnRfY2FwLA0KPiBp bnRfdHlwZSwgcHVsbCwgb2Zmc2V0KSB7cGFkX25hbWUsIHVzYWdlLCBncG9kNCwgZnVuYywgLypp bnRfY2FwLCovDQo+IFRSSUdfIyNpbnRfdHlwZSwgUF8jI3B1bGwsIG9mZnNldH0NCj4gKyNlbHNl DQo+ICsgICNkZWZpbmUgR1BJT19JTklUX0lURU0ocGFkX25hbWUsIHVzYWdlLCBncG9kNCwgZnVu YywgaW50X2NhcCwNCj4gaW50X3R5cGUsIHB1bGwsIG9mZnNldCkgeyAgICAgICAgICB1c2FnZSwg Z3BvZDQsIGZ1bmMsIC8qaW50X2NhcCwqLw0KPiBUUklHXyMjaW50X3R5cGUsIFBfIyNwdWxsLCBv ZmZzZXR9DQo+ICsjZW5kaWYNCj4gKw0KPiArLy8NCj4gKy8vIEdQSU8gQ09ORiAmIFBBRCBJbml0 aWFsaXphdGlvbiBEYXRhIFN0cnVjdHVyZSBmb3IgQmF5TGFrZSBHUElPcyBiaXRzLg0KPiArLy8g TkMgPSBOQ09SRSwgU0MgPSBTQ09SRSwgU1M9IFNTVVMNCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsNCj4gKyNpZmRlZiBFRklfREVCVUcNCj4gKyAgY2hhciAgICAgICAgIHBhZF9uYW1l WzMyXTsvLyBHUElPIFBpbiBOYW1lIGZvciBkZWJ1ZyBwdXJwb3NlDQo+ICsjZW5kaWYNCj4gKw0K PiArICBHUElPX1VTQUdFICAgICB1c2FnZTsgICAgIC8vIEdQSU8gcGluIHVzZWQgYXMgTmF0aXZl IG1vZGUgb3INCj4gR1BJL0dQTy9HUElPIG1vZGUNCj4gKyAgR1BPX0Q0ICAgICAgICAgZ3BvZDQ7 ICAgICAvLyBHUE8gZGVmYXVsdCB2YWx1ZQ0KPiArICBHUElPX0ZVTkNfTlVNICBmdW5jOyAgICAg IC8vIEZ1bmN0aW9uIE51bWJlciAoRjB+RjcpDQo+ICsgIElOVF9UWVBFICAgICAgIGludF90eXBl OyAgLy8gRWRnZSBvciBMZXZlbCB0cmlnZ2VyLCBsb3cgb3IgaGlnaCBhY3RpdmUNCj4gKyAgUFVM TF9UWVBFICAgICAgcHVsbDsgICAgICAvLyBQdWxsIFVwIG9yIERvd24NCj4gKyAgVUlOVDggICAg ICAgICAgb2Zmc2V0OyAgICAvLyBFcXVhbCB3aXRoIChQQ09ORjAgcmVnaXN0ZXIgb2Zmc2V0ID4+ IDQgYml0cykNCj4gK30gR1BJT19DT05GX1BBRF9JTklUOw0KPiArDQo+ICsvLw0KPiArLy90eXBl ZGVmIFVJTlQ2NCBCT0FSRF9GRUFUVVJFUw0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9FRklf UExBVEZPUk1fSU5GT19IT0Igew0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgUGxh dGZvcm1UeXBlOyAvLyBQbGF0Zm9ybSBUeXBlDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICBCb2FyZElkOyAgICAgICAgICAgICAvLyBCb2FyZCBJRA0KPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgQm9hcmRSZXY7ICAgICAgICAgICAgLy8gQm9hcmQgUmV2aXNpb24NCj4g KyAgUExBVEZPUk1fRkxBVk9SICAgICAgICAgICAgIFBsYXRmb3JtRmxhdm9yOyAgICAgIC8vIFBs YXRmb3JtIEZsYXZvcg0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgRERSRGF1Z2h0 ZXJDYXJkQ2gwSWQ7Ly8gRERSIGRhdWdodGVyIGNhcmQgY2hhbm5lbCAwDQo+IGlkDQo+ICsgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICBERFJEYXVnaHRlckNhcmRDaDFJZDsvLyBERFIgZGF1 Z2h0ZXIgY2FyZCBjaGFubmVsIDENCj4gaWQNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgIEVDT0lkOyAgICAgICAgICAgICAgIC8vIEVDTyBhcHBsaWVkIG9uIHBsYXRmb3JtDQo+ICsg IFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICBJb2hTa3U7DQo+ICsgIFVJTlQ4ICAgICAgICAg ICAgICAgICAgICAgICBJb2hSZXZpc2lvbjsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAg ICAgIEljaFNrdTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgIEljaFJldmlzaW9u Ow0KPiArICBFRklfUExBVEZPUk1fUENJX0RBVEEgICAgICAgUGNpRGF0YTsNCj4gKyAgRUZJX1BM QVRGT1JNX0NQVV9EQVRBICAgICAgIENwdURhdGE7DQo+ICsgIEVGSV9QTEFURk9STV9NRU1fREFU QSAgICAgICBNZW1EYXRhOw0KPiArICBFRklfUExBVEZPUk1fU1lTX0RBVEEgICAgICAgU3lzRGF0 YTsNCj4gKyAgRUZJX1BMQVRGT1JNX0lHRF9EQVRBICAgICAgIElnZERhdGE7DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICBSZXZpc29uSWQ7ICAgICAgICAgICAvLyBTdHJ1Y3R1cmUg UmV2aXNpb24gSUQNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIFBsYXRmb3JtQ2Zp b0RhdGE7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICBQbGF0Zm9ybUdwaW9EYXRh X05DOw0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgUGxhdGZvcm1HcGlvRGF0YV9T QzsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIFBsYXRmb3JtR3Bpb0RhdGFfU1VT Ow0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgUGxhdGZvcm1HcGlvRGF0YV9OQ19U Ukk7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICBQbGF0Zm9ybUdwaW9EYXRhX1ND X1RSSTsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIFBsYXRmb3JtR3Bpb0RhdGFf U1VTX1RSSTsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIFBsYXRmb3JtR3Bpb0Rh dGFfU1VTX1BSMTsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIFBsYXRmb3JtR3Bp b0RhdGFfU0NfUFIxXzE7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNTICAgICAgICBQbGF0Zm9y bUdwaW9EYXRhX1NVU19QUjFfMTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAg ICAgQ2Zpb0VuYWJsZWQ7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBTc2lkU3Zp ZDsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgIEF1ZGlvU3Vic3lzdGVtRGV2aWNl SWQ7DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICBBY3BpT2VtSWQ7DQo+ICsgIFVJ TlQ2NCAgICAgICAgICAgICAgICAgICAgICBBY3BpT2VtVGFibGVJZDsNCj4gKyAgVUlOVDE2ICAg ICAgICAgICAgICAgICAgICAgIE1lbUNmZ0lEOw0KPiArfSBFRklfUExBVEZPUk1fSU5GT19IT0I7 DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0dldFBsYXRm b3JtSW5mb0hvYiAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICoq UGVpU2VydmljZXMsDQo+ICsgIE9VVCBFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAgICAgICoq UGxhdGZvcm1JbmZvSG9iDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArSW5z dGFsbFBsYXRmb3JtQ2xvY2tzTm90aWZ5ICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNF UyAgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ ICtJbnN0YWxsUGxhdGZvcm1TeXNDdHJsR1BJT05vdGlmeSAoDQo+ICsgIElOIENPTlNUIEVGSV9Q RUlfU0VSVklDRVMgICAgICAgICAgICoqUGVpU2VydmljZXMNCj4gKyAgKTsNCj4gKw0KPiArI2Vu ZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9J bmNsdWRlL0d1aWQvU2Vuc29ySW5mb1ZhcmlhYmxlLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9JbmNsdWRlL0d1aWQvU2Vuc29ySW5mb1ZhcmlhYmxlLmgNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMTllZWUyYjcyOQ0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUv R3VpZC9TZW5zb3JJbmZvVmFyaWFibGUuaA0KPiBAQCAtMCwwICsxLDI3OSBAQA0KPiArLyorKw0K PiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsN Cj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFNlbnNvckluZm9WYXJpYWJsZS5oDQo+ICsNCj4g K0Fic3RyYWN0Og0KPiArDQo+ICsgIEdVSUQgdXNlZCBmb3IgU2Vuc29yIEluZm8gdmFyaWFibGUu DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gIE1vZHVsZTogICAgICAgICBT ZW5zb3JJbmZvVmFyaWFibGUuaA0KPiArLy8NCj4gKy8vICBEZXNjcmlwdGlvbjogICAgUHJvdmlk ZXMgIHN0cnVjdHVyZSAgYW5kICBsaXRlcmFsICBkZWZpbml0aW9ucyBmb3IgdGhlDQo+ICsvLyAg ICAgICAgICAgICAgICAgIFNlbnNvciBJbmZvcm1hdGlvbiBWYXJpYWJsZS4gIFRoZSAgQklPUyAg d2lsbCAgcHJvdmlkZQ0KPiArLy8gICAgICAgICAgICAgICAgICB0aGlzICB2YXJpYWJsZSAgdG8g IHJ1bnRpbWUgIGFwcGxpY2F0aW9ucyAgdmlhIHRoZSBFRkkNCj4gKy8vICAgICAgICAgICAgICAg ICAgR2V0VmFyaWFibGUgZnVuY3Rpb24uDQo+ICsvLw0KPiArLy8gIE5vdGVzOiAgICAgIDEuICBX aGVuIGRlZmluaW5nIGFuZCBpbml0aWFsaXppbmcgdGhlIHZhcmlhYmxlIHdpdGhpbiB0aGUNCj4g Ky8vICAgICAgICAgICAgICAgICAgQklPUywgdGhlIG1vZHVsZSB3aWxsIGRlZmluZSB0aGUgc3Ry dWN0dXJlICB1c2luZyAgdGhlDQo+ICsvLyAgICAgICAgICAgICAgICAgIHR5cGVkZWYgIG1hY3Jv cyAgaW4gIGEgYmxvY2suIEZvciBhbiBBVFggYm9hcmQgdXNpbmcgYQ0KPiArLy8gICAgICAgICAg ICAgICAgICBzaW5nbGUgSGVjZXRhIDZQLCB3aGljaCBoYXMgNCB0ZW1wZXJhdHVyZSAgc2Vuc29y cywgIDYNCj4gKy8vICAgICAgICAgICAgICAgICAgdm9sdGFnZSAgc2Vuc29ycywgIDQgZmFuIHNw ZWVkIHNlbnNvcnMgYW5kIDMgZmFuIHNwZWVkDQo+ICsvLyAgICAgICAgICAgICAgICAgIGNvbnRy b2xsZXJzLCB0aGlzIGJsb2NrIHdvdWxkIGJlIGRlY2xhcmVkIGFzIGZvbGxvd3M6DQo+ICsvLw0K PiArLy8gICAgICAgICAgICAgICAgICAgICAgVFlQRURFRl9URU1QX1NFTlNPUl9TRUNUSU9OKDQp Ow0KPiArLy8gICAgICAgICAgICAgICAgICAgICAgVFlQRURFRl9WT0xUX1NFTlNPUl9TRUNUSU9O KDYpOw0KPiArLy8gICAgICAgICAgICAgICAgICAgICAgVFlQRURFRl9GQU5fU0VOU09SX1NFQ1RJ T04oNCk7DQo+ICsvLyAgICAgICAgICAgICAgICAgICAgICBUWVBFREVGX0ZBTl9DT05UUk9MTEVS X1NFTlNPUigzKTsNCj4gKy8vICAgICAgICAgICAgICAgICAgICAgIFRZUEVERUZfU0VOU09SX0lO Rk9fVkFSOw0KPiArLy8NCj4gKy8vICAgICAgICAgICAgICAyLiAgV2hlbiBjcmFmdGluZyBjb2Rl IHRvIGFjY2VzcyB0aGUgdmFyaWFibGUsIHRoZSAgbW9kdWxlDQo+ICsvLyAgICAgICAgICAgICAg ICAgIHdpbGwgIGFsc28gIG5lZWQgIHRvICBpbnZva2UgIHRoZSAgdHlwZWRlZiBtYWNyb3MgaW4g YQ0KPiArLy8gICAgICAgICAgICAgICAgICBibG9jayBidXQsIHNpbmNlIGl0IGNhbm5vdCBkZWNs YXJlIGEgc3RydWN0dXJlIGZvciB0aGUNCj4gKy8vICAgICAgICAgICAgICAgIG92ZXJhbGwgdmFy aWFibGUgKGJlY2F1c2UgYXJyYXkgbGVuZ3RocyB3aWxsIHZhcnkpLCBpdA0KPiArLy8gICAgICAg ICAgICAgICAgY2Fubm90ICB1c2UgIFRZUEVERUZfU0VOU09SX0lORk9fVkFSLiAgVGhlICBibG9j ayB3aWxsDQo+ICsvLyAgICAgICAgICAgICAgICB0eXBpY2FsbHkgYmUgdXNlZCBhcyBmb2xsb3dz Og0KPiArLy8NCj4gKy8vICAgICAgICAgICAgICAgICAgICAgIFRZUEVERUZfVEVNUF9TRU5TT1Jf U0VDVElPTigxKTsNCj4gKy8vICAgICAgICAgICAgICAgICAgICAgVFlQRURFRl9WT0xUX1NFTlNP Ul9TRUNUSU9OKDEpOw0KPiArLy8gICAgICAgICAgICAgICAgICAgICBUWVBFREVGX0ZBTl9TRU5T T1JfU0VDVElPTigxKTsNCj4gKy8vICAgICAgICAgICAgICAgICAgICAgVFlQRURFRl9GQU5fQ09O VFJPTExFUl9TRU5TT1IoMSk7DQo+ICsvLw0KPiArLy8gICAgICAgICAgICAgICAgIFRoZSBzdHJ1 Y3R1cmUgYnVmZmVyIHNob3VsZCBpbnN0ZWFkIGJlIGRlY2xhcmVkICBhcyAgYQ0KPiArLy8gICAg ICAgICAgICAgICAgIEJZVEUgIGFycmF5LiBQb2ludGVycyB0byB0aGUgdmFyaW91cyBzZWN0aW9u cyBjYW4gdGhlbg0KPiArLy8gICAgICAgICAgICAgICAgICBiZSBidWlsdCB1c2luZyB0aGUgWFhY WF9TRUNUSU9OX0xFTiBtYWNyb3MuLi4NCj4gKy8vDQo+ICsNCj4gKw0KPiArI2lmbmRlZiBfU0VO U09SX0lORk9fVkFSX0dVSURfSF8NCj4gKyNkZWZpbmUgX1NFTlNPUl9JTkZPX1ZBUl9HVUlEX0hf DQo+ICsNCj4gKyNkZWZpbmUgU0VOU09SX0lORk9fVkFSX0dVSUQgXA0KPiArICB7IFwNCj4gKyAg ICAweEU1OUU3QjRELCAweDA2REMsIDB4NDRBQiwgMHhCMywgMHg2RCwgMHg1RSwgMHhENywgMHg3 OCwgMHg5QywgMHg1MywNCj4gMHgwQSBcDQo+ICsgIH0NCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlE IGdFZmlTZW5zb3JJbmZvVmFyR3VpZDsNCj4gK2V4dGVybiBDSEFSMTYgICBnRWZpU2Vuc29ySW5m b1Zhck5hbWVbXTsNCj4gK2V4dGVybiBDSEFSMTYgICBnRWZpU2Vuc29ySW5mb1Zhck5hbWVXaXRo UGFzc3dvcmRbXTsNCj4gKw0KPiArI2RlZmluZSBTRU5TT1JfSU5GT19WQVJfTkFNRSBMIlNlbnNv ckluZm9WYXIiDQo+ICsjZGVmaW5lIFNFTlNPUl9JTkZPX1ZBUl9OQU1FX1dJVEhfUEFTU1dPUkQN Cj4gU0VOU09SX0lORk9fVkFSX05BTUUgTCJTNGs/QV43ISINCj4gKw0KPiArLy8NCj4gKy8vIFNl bnNvci9Db250cm9sbGVyIHVzYWdlIGRlZmluaXRpb25zDQo+ICsvLw0KPiArDQo+ICsjZGVmaW5l IFVOS05PV05fT1RIRVIgICAgICAgICAgICAgICAgICAgMA0KPiArDQo+ICsvLw0KPiArLy8gVGVt cGVyYXR1cmUgU2Vuc29ycw0KPiArLy8NCj4gKyNkZWZpbmUgQ1BVX0NPUkVfVEVNUEVSQVRVUkUg ICAgICAgICAgICAxDQo+ICsjZGVmaW5lIENQVV9ESUVfVEVNUEVSQVRVUkUgICAgICAgICAgICAg Mg0KPiArI2RlZmluZSBJQ0hfVEVNUEVSQVRVUkUgICAgICAgICAgICAgICAgIDMNCj4gKyNkZWZp bmUgTUNIX1RFTVBFUkFUVVJFICAgICAgICAgICAgICAgICA0DQo+ICsjZGVmaW5lIFZSX1RFTVBF UkFUVVJFICAgICAgICAgICAgICAgICAgNQ0KPiArI2RlZmluZSBNRU1PUllfVEVNUEVSQVRVUkUg ICAgICAgICAgICAgIDYNCj4gKyNkZWZpbmUgTU9USEVSQk9BUkRfQU1CSUVOVF9URU1QRVJBVFVS RSA3DQo+ICsjZGVmaW5lIFNZU1RFTV9BTUJJRU5UX0FJUl9URU1QRVJBVFVSRSAgOA0KPiArI2Rl ZmluZSBDUFVfSU5MRVRfQUlSX1RFTVBFUkFUVVJFICAgICAgIDkNCj4gKyNkZWZpbmUgU1lTVEVN X0lOTEVUX0FJUl9URU1QRVJBVFVSRSAgICAxMA0KPiArI2RlZmluZSBTWVNURU1fT1VUTEVUX0FJ Ul9URU1QRVJBVFVSRSAgIDExDQo+ICsjZGVmaW5lIFBTVV9IT1RTUE9UX1RFTVBFUkFUVVJFICAg ICAgICAgMTINCj4gKyNkZWZpbmUgUFNVX0lOTEVUX0FJUl9URU1QRVJBVFVSRSAgICAgICAxMw0K PiArI2RlZmluZSBQU1VfT1VUTEVUX0FJUl9URU1QRVJBVFVSRSAgICAgIDE0DQo+ICsjZGVmaW5l IERSSVZFX1RFTVBFUkFUVVJFICAgICAgICAgICAgICAgMTUNCj4gKyNkZWZpbmUgR1BVX1RFTVBF UkFUVVJFICAgICAgICAgICAgICAgICAxNg0KPiArI2RlZmluZSBJT0hfVEVNUEVSQVRVUkUgICAg ICAgICAgICAgICAgIDE3DQo+ICsNCj4gKyNkZWZpbmUgTEFTVF9URU1QRVJBVFVSRSAgICAgICAg ICAgICAgICAxNw0KPiArDQo+ICsvLw0KPiArLy8gVm9sdGFnZSBTZW5zb3JzDQo+ICsvLw0KPiAr I2RlZmluZSBQTFVTXzEyX1ZPTFRTICAgICAgICAgICAgICAgICAgIDENCj4gKyNkZWZpbmUgTkVH XzEyX1ZPTFRTICAgICAgICAgICAgICAgICAgICAyDQo+ICsjZGVmaW5lIFBMVVNfNV9WT0xUUyAg ICAgICAgICAgICAgICAgICAgMw0KPiArI2RlZmluZSBQTFVTXzVfVk9MVF9CQUNLVVAgICAgICAg ICAgICAgIDQNCj4gKyNkZWZpbmUgTkVHXzVfVk9MVFMgICAgICAgICAgICAgICAgICAgICA1DQo+ ICsjZGVmaW5lIFBMVVNfM1AzX1ZPTFRTICAgICAgICAgICAgICAgICAgNg0KPiArI2RlZmluZSBQ TFVTXzJQNV9WT0xUUyAgICAgICAgICAgICAgICAgIDcNCj4gKyNkZWZpbmUgUExVU18xUDVfVk9M VFMgICAgICAgICAgICAgICAgICA4DQo+ICsjZGVmaW5lIENQVV8xX1ZDQ1BfVk9MVEFHRSAgICAg ICAgICAgICAgOQ0KPiArI2RlZmluZSBDUFVfMl9WQ0NQX1ZPTFRBR0UgICAgICAgICAgICAgIDEw DQo+ICsjZGVmaW5lIENQVV8zX1ZDQ1BfVk9MVEFHRSAgICAgICAgICAgICAgMTENCj4gKyNkZWZp bmUgQ1BVXzRfVkNDUF9WT0xUQUdFICAgICAgICAgICAgICAxMg0KPiArI2RlZmluZSBQU1VfSU5Q VVRfVk9MVEFHRSAgICAgICAgICAgICAgIDEzDQo+ICsjZGVmaW5lIE1DSF9WQ0NfVk9MVEFHRSAg ICAgICAgICAgICAgICAgMTQNCj4gKyNkZWZpbmUgUExVU18zUDNfVk9MVF9TVEFOREJZICAgICAg ICAgICAxNQ0KPiArI2RlZmluZSBDUFVfVlRUX1ZPTFRBR0UgICAgICAgICAgICAgICAgIDE2DQo+ ICsjZGVmaW5lIFBMVVNfMVA4X1ZPTFRTICAgICAgICAgICAgICAgICAgMTcNCj4gKw0KPiArI2Rl ZmluZSBMQVNUX1ZPTFRBR0UgICAgICAgICAgICAgICAgICAgIDE3DQo+ICsNCj4gKy8vDQo+ICsv LyBGYW4gU3BlZWQgU2Vuc29ycyBhbmQgQ29udHJvbGxlcnMuDQo+ICsvLw0KPiArI2RlZmluZSBD UFVfQ09PTElOR19GQU4gICAgICAgICAgICAgICAgIDENCj4gKyNkZWZpbmUgU1lTVEVNX0NPT0xJ TkdfRkFOICAgICAgICAgICAgICAyDQo+ICsjZGVmaW5lIE1DSF9DT09MSU5HX0ZBTiAgICAgICAg ICAgICAgICAgMw0KPiArI2RlZmluZSBWUl9DT09MSU5HX0ZBTiAgICAgICAgICAgICAgICAgIDQN Cj4gKyNkZWZpbmUgQ0hBU1NJU19DT09MSU5HX0ZBTiAgICAgICAgICAgICA1DQo+ICsjZGVmaW5l IENIQVNTSVNfSU5MRVRfRkFOICAgICAgICAgICAgICAgNg0KPiArI2RlZmluZSBDSEFTU0lTX09V VExFVF9GQU4gICAgICAgICAgICAgIDcNCj4gKyNkZWZpbmUgUFNVX0NPT0xJTkdfRkFOICAgICAg ICAgICAgICAgICA4DQo+ICsjZGVmaW5lIFBTVV9JTkxFVF9GQU4gICAgICAgICAgICAgICAgICAg OQ0KPiArI2RlZmluZSBQU1VfT1VUTEVUX0ZBTiAgICAgICAgICAgICAgICAgIDEwDQo+ICsjZGVm aW5lIERSSVZFX0NPT0xJTkdfRkFOICAgICAgICAgICAgICAgMTENCj4gKyNkZWZpbmUgR1BVX0NP T0xJTkdfRkFOICAgICAgICAgICAgICAgICAxMg0KPiArI2RlZmluZSBBVVhfQ09PTElOR19GQU4g ICAgICAgICAgICAgICAgIDEzDQo+ICsjZGVmaW5lIElPSF9DT09MSU5HX0ZBTiAgICAgICAgICAg ICAgICAgMTQNCj4gKw0KPiArI2RlZmluZSBMQVNUX0ZBTiAgICAgICAgICAgICAgICAgICAgICAg IDE0DQo+ICsNCj4gKy8vDQo+ICsvLyBGYW4gVHlwZSBEZWZpbml0aW9ucw0KPiArLy8NCj4gKyNk ZWZpbmUgRkFOX1RZUEVfVU5LTk9XTiAgICAgICAgICAgICAgICAwDQo+ICsjZGVmaW5lIEZBTl8z V0lSRV9QVUxTRSAgICAgICAgICAgICAgICAgMQ0KPiArI2RlZmluZSBGQU5fM1dJUkVfVk9MVEFH RSAgICAgICAgICAgICAgIDINCj4gKyNkZWZpbmUgRkFOXzRXSVJFICAgICAgICAgICAgICAgICAg ICAgICAzDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICsvLw0KPiArLy8gVEVNUF9T RU5TT1JfSU5GTyAtIFN0cnVjdHVyZSBwcm92aWRpbmcgaW5mbyBmb3IgYSB0ZW1wZXJhdHVyZSBz ZW5zb3IuDQo+ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3QgX1RFTVBfU0VOU09SX0lORk8NCj4gK3sN Cj4gKyAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieURldmljZTsgICAg ICAgLy8gRGV2aWNlIGluZGV4DQo+ICsgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYnlJbmRleDsgICAgICAgIC8vIFBoeXNpY2FsIHNlbnNvciBpbmRleA0KPiArICAgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5VXNhZ2U7ICAgICAgICAvLyBVc2Fn ZSBpbmRpY2F0b3INCj4gKyAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBi UmVsYXRpdmU7ICAgICAgLy8gUmVsYXRpdmUgdnMuIEFic29sdXRlIHJlYWRpbmdzDQo+ICsNCj4g K30gVEVNUF9TRU5TT1JfSU5GTywgKlBfVEVNUF9TRU5TT1JfSU5GTzsNCj4gKw0KPiArLy8NCj4g Ky8vIFRZUEVERUZfVEVNUF9TRU5TT1JfU0VDVElPTiAtIE1hY3JvIHRoYXQgY2FuIGJlIHVzZWQg dG8gdHlwZWRlZg0KPiB0aGUNCj4gKy8vIFRFTVBfU0VOU09SX1NFQ1RJT04gc3RydWN0dXJlLCB3 aGljaCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCBhbGwNCj4gKy8vIHRlbXBlcmF0dXJlIHNl bnNvcnMuDQo+ICsvLw0KPiArI2RlZmluZSBUWVBFREVGX1RFTVBfU0VOU09SX1NFQ1RJT04oY291 bnQpICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArdHlwZWRlZiBzdHJ1Y3QgX1RF TVBfU0VOU09SX1NFQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiAreyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KPiArICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGJ5Q291bnQ7ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIFRFTVBfU0VO U09SX0lORk8gICAgICAgICAgICAgICAgICAgIHN0U2Vuc29yW2NvdW50XTsgICAgICAgICAgICAg ICAgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArfSBURU1QX1NFTlNPUl9TRUNUSU9OLCAqUF9U RU1QX1NFTlNPUl9TRUNUSU9ODQo+ICsNCj4gKy8vDQo+ICsvLyBWT0xUX1NFTlNPUl9JTkZPIC0g U3RydWN0dXJlIHByb3ZpZGluZyBpbmZvIGZvciBhIHZvbHRhZ2Ugc2Vuc29yLg0KPiArLy8NCj4g K3R5cGVkZWYgc3RydWN0IF9WT0xUX1NFTlNPUl9JTkZPDQo+ICt7DQo+ICsgICAgVUlOVDggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgYnlEZXZpY2U7ICAgICAgIC8vIERldmljZSBpbmRl eA0KPiArICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5SW5kZXg7ICAg ICAgICAvLyBQaHlzaWNhbCBzZW5zb3IgaW5kZXgNCj4gKyAgICBVSU5UOCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBieVVzYWdlOyAgICAgICAgLy8gVXNhZ2UgaW5kaWNhdG9yDQo+ICsN Cj4gK30gVk9MVF9TRU5TT1JfSU5GTywgKlBfVk9MVF9TRU5TT1JfSU5GTzsNCj4gKw0KPiArLy8N Cj4gKy8vIFRZUEVERUZfVk9MVF9TRU5TT1JfU0VDVElPTiAtIE1hY3JvIHRoYXQgY2FuIGJlIHVz ZWQgdG8gdHlwZWRlZg0KPiB0aGUNCj4gKy8vIFZPTFRfU0VOU09SX1NFQ1RJT04gc3RydWN0dXJl LCB3aGljaCBwcm92aWRlcyBpbmZvcm1hdGlvbiBhYm91dCBhbGwNCj4gKy8vIHZvbHRhZ2Ugc2Vu c29ycy4NCj4gKy8vDQo+ICsjZGVmaW5lIFRZUEVERUZfVk9MVF9TRU5TT1JfU0VDVElPTihjb3Vu dCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICt0eXBlZGVmIHN0cnVjdCBfVk9M VF9TRU5TT1JfU0VDVElPTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ICt7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+ICsgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYnlDb3VudDsgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgVk9MVF9TRU5T T1JfSU5GTyAgICAgICAgICAgICAgICAgICAgc3RTZW5zb3JbY291bnRdOyAgICAgICAgICAgICAg ICBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICt9IFZPTFRfU0VOU09SX1NFQ1RJT04sICpQX1ZP TFRfU0VOU09SX1NFQ1RJT04NCj4gKw0KPiArLy8NCj4gKy8vIEZBTl9TRU5TT1JfSU5GTyAtIFN0 cnVjdHVyZSBwcm92aWRpbmcgaW5mbyBmb3IgYSBmYW4gc3BlZWQgc2Vuc29yLg0KPiArLy8NCj4g K3R5cGVkZWYgc3RydWN0IF9GQU5fU0VOU09SX0lORk8NCj4gK3sNCj4gKyAgICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBieURldmljZTsgICAgICAgLy8gRGV2aWNlIGluZGV4 DQo+ICsgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYnlJbmRleDsgICAg ICAgIC8vIFBoeXNpY2FsIHNlbnNvciBpbmRleA0KPiArICAgIFVJTlQ4ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGJ5VXNhZ2U7ICAgICAgICAvLyBVc2FnZSBpbmRpY2F0b3INCj4gKyAg ICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieVR5cGU7ICAgICAgICAgLy8g RmFuIHR5cGUNCj4gKyAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieUNv bnRyb2xsZXI7ICAgLy8gQXNzb2NpYXRlZCBGYW4gQ29udHJvbGxlcg0KPiArDQo+ICt9IEZBTl9T RU5TT1JfSU5GTywgKlBfRkFOX1NFTlNPUl9JTkZPOw0KPiArDQo+ICsvLw0KPiArLy8gVFlQRURF Rl9GQU5fU0VOU09SX1NFQ1RJT04gLSBNYWNybyB0aGF0IGNhbiBiZSB1c2VkIHRvIHR5cGVkZWYN Cj4gdGhlDQo+ICsvLyBGQU5fU0VOU09SX1NFQ1RJT04gc3RydWN0dXJlLCB3aGljaCBwcm92aWRl cyBpbmZvcm1hdGlvbiBhYm91dCBhbGwNCj4gZmFuDQo+ICsvLyBzcGVlZCBzZW5zb3JzLg0KPiAr Ly8NCj4gKyNkZWZpbmUgVFlQRURFRl9GQU5fU0VOU09SX1NFQ1RJT04oY291bnQpICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwNCj4gK3R5cGVkZWYgc3RydWN0IF9GQU5fU0VOU09SX1NF Q1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gK3sgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gKyAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBieUNv dW50OyAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICBGQU5fU0VOU09SX0lORk8gICAg ICAgICAgICAgICAgICAgICBzdFNlbnNvcltjb3VudF07ICAgICAgICAgICAgICAgIFwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFwNCj4gK30gRkFOX1NFTlNPUl9TRUNUSU9OLCAqUF9GQU5fU0VOU09SX1NF Q1RJT04NCj4gKw0KPiArLy8NCj4gKy8vIEZBTl9DT05UUk9MTEVSX0lORk8gLSBTdHJ1Y3R1cmUg cHJvdmlkaW5nIGluZm8gZm9yIGEgZmFuIHNwZWVkDQo+IGNvbnRyb2xsZXIuDQo+ICsvLw0KPiAr I2RlZmluZSBNQVhfQVNTT0NfRkFOUyAgICAgICAgICAgICAgICAgIDQNCj4gKyNkZWZpbmUgQVNT T0NfVU5VU0VEICAgICAgICAgICAgICAgICAgICAweEZGDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0 IF9GQU5fQ09OVFJPTExFUl9JTkZPDQo+ICt7DQo+ICsgICAgVUlOVDggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYnlEZXZpY2U7ICAgICAgIC8vIERldmljZSBpbmRleA0KPiArICAgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5SW5kZXg7ICAgICAgICAvLyBQaHlz aWNhbCBDb250cm9sbGVyIEluZGV4DQo+ICsgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYnlVc2FnZTsgICAgICAgIC8vIFVzYWdlIEluZGljYXRvcg0KPiArICAgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5RmFuW01BWF9BU1NPQ19GQU5TXTsgLy8g QXNzb2NpYXRlZCBGYW4NCj4gU2Vuc29ycw0KPiArDQo+ICt9IEZBTl9DT05UUk9MTEVSX0lORk8s ICpQX0ZBTl9DT05UUk9MTEVSX0lORk87DQo+ICsNCj4gKy8vDQo+ICsvLyBUWVBFREVGX0ZBTl9D T05UUk9MTEVSX1NFQ1RJT04gLSBNYWNybyB0aGF0IGNhbiBiZSB1c2VkIHRvDQo+IHR5cGVkZWYg dGhlDQo+ICsvLyBGQU5fQ09OVFJPTExFUl9TRUNUSU9OIHN0cnVjdHVyZSwgd2hpY2ggcHJvdmlk ZXMgaW5mb3JtYXRpb24gYWJvdXQNCj4gYWxsDQo+ICsvLyBmYW4gc3BlZWQgY29udHJvbGxlcnMu DQo+ICsvLw0KPiArI2RlZmluZSBUWVBFREVGX0ZBTl9DT05UUk9MTEVSX1NFQ1RJT04oY291bnQp ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArdHlwZWRlZiBzdHJ1Y3QgX0ZBTl9DT05U Uk9MTEVSX1NFQ1RJT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiAreyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgXA0KPiArICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGJ5Q291bnQ7ICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIEZBTl9DT05UUk9MTEVS X0lORk8gICAgICAgICAgICAgICAgIHN0Q29udHJvbGxlcltjb3VudF07ICAgICAgICAgICAgXA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXA0KPiArfSBGQU5fQ09OVFJPTExFUl9TRUNUSU9OLCAqUF9GQU5f Q09OVFJPTExFUl9TRUNUSU9ODQo+ICsNCj4gKy8vDQo+ICsvLyBUWVBFREVGX1NFTlNPUl9JTkZP X1ZBUiAtIE1hY3JvIHRoYXQgY2FuIGJlIHVzZWQgdG8gdHlwZWRlZiB0aGUNCj4gKy8vIFNFTlNP Ul9JTkZPX1ZBUiBzdHJ1Y3R1cmUsIHdoaWNoIHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IGFs bA0KPiBzZW5zb3JzDQo+ICsvLyBhbmQgZmFuIHNwZWVkIGNvbnRyb2xsZXJzLiBUaGUgb3RoZXIg VFlQRURFRiBtYWNyb3MgbXVzdCBiZSBpbnZva2VkDQo+ICsvLyBiZWZvcmUgdXNpbmcgdGhpcyBv bmUuLi4NCj4gKy8vDQo+ICsjZGVmaW5lIFRZUEVERUZfU0VOU09SX0lORk9fVkFSICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICt0eXBlZGVmIHN0cnVjdCBfU0VO U09SX0lORk9fVkFSICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ ICt7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcDQo+ICsgICAgVEVNUF9TRU5TT1JfU0VDVElPTiAgICAgICAgICAg ICAgICAgc3RUZW1wczsgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgVk9MVF9TRU5T T1JfU0VDVElPTiAgICAgICAgICAgICAgICAgc3RWb2x0czsgICAgICAgICAgICAgICAgICAgICAg ICBcDQo+ICsgICAgRkFOX1NFTlNPUl9TRUNUSU9OICAgICAgICAgICAgICAgICAgc3RGYW5zOyAg ICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgRkFOX0NPTlRST0xMRVJfU0VDVElPTiAg ICAgICAgICAgICAgc3RDdHJsczsgICAgICAgICAgICAgICAgICAgICAgICBcDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBcDQo+ICt9IFNFTlNPUl9JTkZPX1ZBUiwgKlBfU0VOU09SX0lORk9fVkFSDQo+ICsN Cj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9HdWlkL1NldHVwVmFyaWFibGUuaA0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9TZXR1cFZh cmlhYmxlLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMzJm MTIxODkyYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0luY2x1ZGUvR3VpZC9TZXR1cFZhcmlhYmxlLmgNCj4gQEAgLTAsMCArMSwxMzQ0 IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxOCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsNCj4g KyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiAr DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgICBTZXR1cFZhcmlhYmxlLmgN Cj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgICBEcml2ZXIgY29uZmlndXJhdGlvbiBpbmNs dWRlIGZpbGUNCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfU0VUVVBfVkFSSUFC TEVfSA0KPiArI2RlZmluZSBfU0VUVVBfVkFSSUFCTEVfSA0KPiArDQo+ICsvLw0KPiArLy8gLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ICsvLw0KPiArLy8gRHJpdmVyIENvbmZpZ3VyYXRpb24NCj4gKy8v DQo+ICsvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vDQo+ICsNCj4gKy8vDQo+ICsvLyB7RUM4 N0Q2NDMtRUJBNC00YmI1LUExRTUtM0YzRTM2QjIwREE5fQ0KPiArLy8NCj4gKyNkZWZpbmUgU1lT VEVNX0NPTkZJR1VSQVRJT05fR1VJRFwNCj4gKyAgeyBcDQo+ICsgICAgMHhlYzg3ZDY0MywgMHhl YmE0LCAweDRiYjUsIDB4YTEsIDB4ZTUsIDB4M2YsIDB4M2UsIDB4MzYsIDB4YjIsIDB4ZCwgMHhh OQ0KPiBcDQo+ICsgIH0NCj4gKw0KPiArI2RlZmluZSBST09UX1NFQ1VSSVRZX0dVSURcDQo+ICsg IHsgXA0KPiArICAgIDB4ZDM4N2Q2ODgsIDB4ZWJhNCwgMHg0NWI1LCAweGExLCAweGU1LCAweDNm LCAweDNlLCAweDM2LCAweGIyLCAweGQsIDB4MzcNCj4gXA0KPiArICB9DQo+ICsNCj4gKy8vDQo+ ICsvLyB7NjkzNkIzQkQtNDM1MC00NmQ5LTg5NDAtMUZBMjA5NjFBRUIxfQ0KPiArLy8NCj4gKyNk ZWZpbmUgU1lTVEVNX1JPT1RfTUFJTl9HVUlEXA0KPiArICB7IFwNCj4gKyAgICAgMHg2OTM2YjNi ZCwgMHg0MzUwLCAweDQ2ZDksIDB4ODksIDB4NDAsIDB4MWYsIDB4YTIsIDB4OSwgMHg2MSwgMHhh ZSwgMHhiMQ0KPiBcDQo+ICsgIH0NCj4gKw0KPiArLy8NCj4gKy8vIHsyMUZFRThEQi0wRDI5LTQ3 N2UtQjVBOS05NkVCMzQzQkE5OUN9DQo+ICsvLw0KPiArI2RlZmluZSBBRERJVElPTkFMX1NZU1RF TV9JTkZPX0dVSURcDQo+ICsgIHsgXA0KPiArICAgICAweDIxZmVlOGRiLCAweGQyOSwgMHg0Nzdl LCAweGI1LCAweGE5LCAweDk2LCAweGViLCAweDM0LCAweDNiLCAweGE5LA0KPiAweDljIFwNCj4g KyAgfQ0KPiArDQo+ICsjZGVmaW5lIFNFVFVQX0dVSUQgeyAweEVDODdENjQzLCAweEVCQTQsIDB4 NEJCNSwgMHhBMSwgMHhFNSwgMHgzRiwgMHgzRSwNCj4gMHgzNiwgMHhCMiwgMHgwRCwgMHhBOSB9 DQo+ICsNCj4gKy8vIHsxQjgzODE5MC00NjI1LTRlYWQtQUJDOS1DRDVFNkFGMThGRTB9DQo+ICsj ZGVmaW5lIEVGSV9ISUlfRVhQT1JUX0RBVEFCQVNFX0dVSUQgeyAweDFiODM4MTkwLCAweDQ2MjUs IDB4NGVhZCwNCj4gMHhhYiwgMHhjOSwgMHhjZCwgMHg1ZSwgMHg2YSwgMHhmMSwgMHg4ZiwgMHhl MCB9DQo+ICsNCj4gKyNkZWZpbmUgUEFTU1dPUkRfTUFYX1NJWkUgICAgICAgICAgICAgICAyMA0K PiArDQo+ICsjZGVmaW5lIE1BWF9DVVNUT01fVklEX1RBQkxFX1NUQVRFUyA2DQo+ICsvLw0KPiAr Ly8gT3ZlcmNsb2NraW5nIFNvdXJjZSBEZWZpbmVzDQo+ICsvLw0KPiArI2RlZmluZSBPVkVSQ0xP Q0tfU09VUkNFX0JJT1MgICAgICAgMA0KPiArI2RlZmluZSBPVkVSQ0xPQ0tfU09VUkNFX09TICAg ICAgICAgMQ0KPiArDQo+ICsjZGVmaW5lIFBDSF9QQ0lFX01BWF9ST09UX1BPUlRTICAgICA0DQo+ ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICsvLyBOT1RFOiBXaGVuIHlvdSBhZGQgYW55 dGhpbmcgdG8gdGhpcyBzdHJ1Y3R1cmUsDQo+ICsvLyAgIHlvdSBNVVNUIGFkZCBpdCB0byB0aGUg dmVyeSBib3R0b20hISEhDQo+ICsvLyAgIFlvdSBtdXN0IG1ha2Ugc3VyZSB0aGUgc3RydWN0dXJl IHNpemUgaXMgYWJsZSB0byBkaXZpZGUgYnkgMzIhDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gRmxvcHB5DQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgRmxv cHB5Ow0KPiArICBVSU5UOCAgICAgICAgIEZsb3BweUxvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4 ICAgICAgICAgRmxvcHB5V3JpdGVQcm90ZWN0Ow0KPiArICBVSU5UOCAgICAgICAgIEZsb3BweVdy aXRlUHJvdGVjdExvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFN5c3RlbSBwb3J0cw0K PiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIFNlcmlhbDsNCj4gKyAgVUlOVDggICAgICAgICBT ZXJpYWxMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgIFNlcmlhbDI7DQo+ICsgIFVJ TlQ4ICAgICAgICAgU2VyaWFsMkxvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgUGFy YWxsZWw7DQo+ICsgIFVJTlQ4ICAgICAgICAgUGFyYWxsZWxMb2NrSGlkZTsNCj4gKw0KPiArICBV SU5UOCAgICAgICAgIFBhcmFsbGVsTW9kZTsNCj4gKyAgVUlOVDggICAgICAgICBQYXJhbGxlbE1v ZGVMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgIEFsbFVzYjsNCj4gKyAgVUlOVDgg ICAgICAgICBVc2JQb3J0c0xvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgVXNiMjsN Cj4gKyAgVUlOVDggICAgICAgICBVc2IyTG9ja0hpZGU7DQo+ICsNCj4gKyAgVUlOVDggICAgICAg ICBVc2JMZWdhY3k7DQo+ICsgIFVJTlQ4ICAgICAgICAgVXNiTGVnYWN5TG9ja0hpZGU7DQo+ICsN Cj4gKyAgVUlOVDggICAgICAgICBBdWRpbzsNCj4gKyAgVUlOVDggICAgICAgICBBdWRpb0xvY2tI aWRlOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgTGFuOw0KPiArICBVSU5UOCAgICAgICAgIExh bkxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEtleWJvYXJkDQo+ICsgIC8vDQo+ICsg IFVJTlQ4ICAgICAgICAgTnVtbG9jazsNCj4gKyAgVUlOVDggICAgICAgICBOdW1sb2NrTG9ja0hp ZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRUNJUg0KPiArICAvLw0KPiArICBVSU5UOCAgICAg ICAgIEVDSVI7DQo+ICsgIFVJTlQ4ICAgICAgICAgRUNJUkxvY2tIaWRlOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFBvd2VyIFN0YXRlDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgUG93ZXJT dGF0ZTsNCj4gKyAgVUlOVDggICAgICAgICBQb3dlclN0YXRlTG9ja0hpZGU7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gV2FrZSBvbiBSVEMgdmFyaWFibGVzDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAg ICAgICAgV2FrZU9uUnRjUzU7DQo+ICsgIFVJTlQ4ICAgICAgICAgV2FrZU9uUnRjUzVMb2NrSGlk ZTsNCj4gKyAgVUlOVDggICAgICAgICBSVENXYWtldXBEYXRlOw0KPiArICBVSU5UOCAgICAgICAg IFJUQ1dha2V1cERhdGVMb2NrSGlkZTsNCj4gKyAgVUlOVDggICAgICAgICBSVENXYWtldXBUaW1l SG91cjsNCj4gKyAgVUlOVDggICAgICAgICBSVENXYWtldXBIb3VyTG9ja0hpZGU7DQo+ICsgIFVJ TlQ4ICAgICAgICAgUlRDV2FrZXVwVGltZU1pbnV0ZTsNCj4gKyAgVUlOVDggICAgICAgICBSVENX YWtldXBNaW51dGVMb2NrSGlkZTsNCj4gKyAgVUlOVDggICAgICAgICBSVENXYWtldXBUaW1lU2Vj b25kOw0KPiArICBVSU5UOCAgICAgICAgIFJUQ1dha2V1cFNlY29uZExvY2tIaWRlOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFdha2UgT24gTGFuDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAg V2FrZU9uTGFuUzU7DQo+ICsgIFVJTlQ4ICAgICAgICAgV2FrZU9uTGFuUzVMb2NrSGlkZTsNCj4g Kw0KPiArICAvL1NwcmVhZCBzcGVjdHJ1bQ0KPiArICBVSU5UOCAgICAgICAgIFNwcmVhZFNwZWN0 cnVtOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJvb3QgT3JkZXINCj4gKyAgLy8NCj4gKyAgVUlO VDggICAgICAgICBCb290T3JkZXJbOF07DQo+ICsgIFVJTlQ4ICAgICAgICAgQm9vdE9yZGVyTG9j a0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSGFyZCBEcml2ZSBCb290IE9yZGVyDQo+ICsg IC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgSGFyZERyaXZlQm9vdE9yZGVyWzhdOw0KPiArICBVSU5U OCAgICAgICAgIEhhcmREcml2ZUJvb3RPcmRlckxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIENEIERyaXZlIEJvb3QgT3JkZXINCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDZERy aXZlQm9vdE9yZGVyWzRdOw0KPiArICBVSU5UOCAgICAgICAgIENkRHJpdmVCb290T3JkZXJMb2Nr SGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBGREQgRHJpdmUgQm9vdCBPcmRlcg0KPiArICAv Lw0KPiArICBVSU5UOCAgICAgICAgIEZkZERyaXZlQm9vdE9yZGVyWzRdOw0KPiArICBVSU5UOCAg ICAgICAgIEZkZERyaXZlQm9vdE9yZGVyTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g RHJpdmUgQm9vdCBPcmRlcg0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIERyaXZlQm9vdE9y ZGVyWzE2XTsNCj4gKyAgVUlOVDggICAgICAgICBEcml2ZUJvb3RPcmRlckxvY2tIaWRlOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIEJvb3QgTWVudSBUeXBlDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAg ICAgICAgQm9vdE1lbnVUeXBlOw0KPiArICBVSU5UOCAgICAgICAgIEJvb3RNZW51VHlwZUxvY2tI aWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJvb3QgZnJvbSBSZW1vdmFibGUgRGV2aWNlcw0K PiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIEJvb3RGbG9wcHk7DQo+ICsgIFVJTlQ4ICAgICAg ICAgQm9vdEZsb3BweUxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJvb3QgZnJvbSBP cHRpY2FsIERldmljZXMNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBCb290Q2Q7DQo+ICsg IFVJTlQ4ICAgICAgICAgQm9vdENkTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQm9v dCBmcm9tIE5ldHdvcmsNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBCb290TmV0d29yazsN Cj4gKyAgVUlOVDggICAgICAgICBCb290TmV0d29ya0xvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIEJvb3QgVVNCDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQm9vdFVzYjsNCj4g KyAgVUlOVDggICAgICAgICBCb290VXNiTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g VVNCIFppcCBFbXVsYXRpb24gVHlwZQ0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIFVzYlpp cEVtdWxhdGlvbjsNCj4gKyAgVUlOVDggICAgICAgICBVc2JaaXBFbXVsYXRpb25Mb2NrSGlkZTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBVU0IgRGV2aWNlcyBCb290IEZpcnN0IGluIEJvb3QgT3Jk ZXINCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBVc2JEZXZpY2VzQm9vdEZpcnN0Ow0KPiAr ICBVSU5UOCAgICAgICAgIFVzYkRldmljZXNCb290Rmlyc3RMb2NrSGlkZTsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBVU0IgQm9vdCBEZXZpY2UgU0VUVVAgRW11bGF0aW9uDQo+ICsgIC8vDQo+ICsg IFVJTlQ4ICAgICAgICAgVXNiU2V0dXBEZXZpY2VFbXVsYXRpb247DQo+ICsgIFVJTlQ4ICAgICAg ICAgVXNiU2V0dXBEZXZpY2VFbXVsYXRpb25Mb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAv LyBCSU9TIElOVDEzIEVtdWxhdGlvbiBmb3IgVVNCIE1hc3MgRGV2aWNlcw0KPiArICAvLw0KPiAr ICBVSU5UOCAgICAgICAgIFVzYkJJT1NJTlQxM0RldmljZUVtdWxhdGlvbjsNCj4gKyAgVUlOVDgg ICAgICAgICBVc2JCSU9TSU5UMTNEZXZpY2VFbXVsYXRpb25Mb2NrSGlkZTsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBCSU9TIElOVDEzIEVtdWxhdGlvbiBTaXplIGZvciBVU0IgTWFzcyBEZXZpY2Vz DQo+ICsgIC8vDQo+ICsgIFVJTlQxNiAgICAgICAgVXNiQklPU0lOVDEzRGV2aWNlRW11bGF0aW9u U2l6ZTsNCj4gKyAgVUlOVDggICAgICAgICBVc2JCSU9TSU5UMTNEZXZpY2VFbXVsYXRpb25TaXpl TG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRHVtbXkgcGxhY2UgaG9sZGVyIHRvIHBy ZXZlbnQgVkZSIGNvbXBpbGVyIHByb2JsZW0uDQo+ICsgIC8vDQo+ICsgIFVJTlQxNiAgICAgICAg RHVtbXlEYXRhRm9yVmZyQnVnOyAgLy8gRG9uJ3QgY2hhbmdlIG9yIHVzZS4NCj4gKw0KPiArICAv Lw0KPiArICAvLyBMYW5ndWFnZSBTZWxlY3QNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBM YW5ndWFnZVNlbGVjdDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTQVRBIFR5cGUgKElkZSwgQWhj aSwgUmFpZCkNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBTYXRhVHlwZTsNCj4gKyAgVUlO VDggICAgICAgICBTYXRhVHlwZUxvY2tIaWRlOw0KPiArICBVSU5UOCAgICAgICAgIFNhdGFUZXN0 TW9kZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBGaXhlZCBEaXNrIEJvb3QgU2VjdG9yIChGZGJz KQ0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIEZkYnM7DQo+ICsgIFVJTlQ4ICAgICAgICAg RmRic0xvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIERpc3BsYXlTZXR1cFByb21wdA0K PiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIERpc3BsYXlTZXR1cFByb21wdDsNCj4gKyAgVUlO VDggICAgICAgICBEaXNwbGF5U2V0dXBQcm9tcHRMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBBU0YNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBBc2Y7DQo+ICsgIFVJTlQ4ICAg ICAgICAgQXNmTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRXZlbnQgTG9nZ2luZw0K PiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIEV2ZW50TG9nZ2luZzsNCj4gKyAgVUlOVDggICAg ICAgICBFdmVudExvZ2dpbmdMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDbGVhciBF dmVudCBMb2cNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDbGVhckV2ZW50czsNCj4gKyAg VUlOVDggICAgICAgICBDbGVhckV2ZW50c0xvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEV4cGFuc2lvbiBDYXJkIFRleHQNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBFeHBhbnNp b25DYXJkVGV4dDsNCj4gKyAgVUlOVDggICAgICAgICBFeHBhbnNpb25DYXJkVGV4dExvY2tIaWRl Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFZpZGVvIEFkYXB0b3INCj4gKyAgLy8NCj4gKyAgVUlO VDggICAgICAgICBQcmltYXJ5VmlkZW9BZGFwdG9yOw0KPiArICBVSU5UOCAgICAgICAgIFByaW1h cnlWaWRlb0FkYXB0b3JMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGFzc2lzIGlu dHJ1c2lvbg0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIEludHJ1ZGVyRGV0ZWN0aW9uOw0K PiArICBVSU5UOCAgICAgICAgIEludHJ1ZGVyRGV0ZWN0aW9uTG9ja0hpZGU7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gVXNlciBBY2Nlc3MgTGV2ZWwNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAg ICBVc2VyUGFzc3dvcmRMZXZlbDsNCj4gKyAgVUlOVDggICAgICAgICBVc2VyUGFzc3dvcmRMZXZl bExvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1heGltdW0gRlNCIEF1dG9tYXRpYy9E aXNhYmxlDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgTWF4RnNiOw0KPiArICBVSU5UOCAg ICAgICAgIE1heEZzYkxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEhhcmQgRGlzayBQ cmUtZGVsYXkNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBIZGRQcmVkZWxheTsNCj4gKyAg VUlOVDggICAgICAgICBIZGRQcmVkZWxheUxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFMuTS5BLlIuVC4gTW9kZQ0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIFNtYXJ0TW9kZTsN Cj4gKyAgVUlOVDggICAgICAgICBTbWFydE1vZGVMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBBQ1BJIFN1c3BlbmQgU3RhdGUNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBBY3Bp U3VzcGVuZFN0YXRlOw0KPiArICBVSU5UOCAgICAgICAgIEFjcGlTdXNwZW5kU3RhdGVMb2NrSGlk ZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBQQ0kgTGF0ZW5jeSBUaW1lcg0KPiArICAvLw0KPiAr ICBVSU5UOCAgICAgICAgIFBjaUxhdGVuY3k7DQo+ICsgIFVJTlQ4ICAgICAgICAgUGNpTGF0ZW5j eUxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZhbiBDb250cm9sDQo+ICsgIC8vDQo+ ICsgIFVJTlQ4ICAgICAgICAgRmFuQ29udHJvbDsNCj4gKyAgVUlOVDggICAgICAgICBGYW5Db250 cm9sTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ1BVIEZhbiBDb250cm9sDQo+ICsg IC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ3B1RmFuQ29udHJvbDsNCj4gKyAgVUlOVDggICAgICAg ICBDcHVGYW5Db250cm9sTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTG93ZXN0IEZh biBTcGVlZA0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIExvd2VzdEZhblNwZWVkOw0KPiAr ICBVSU5UOCAgICAgICAgIExvd2VzdEZhblNwZWVkTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gUHJvY2Vzc29yIChDUFUpDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ3B1Rmxh dm9yOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgQ3B1aWRNYXhWYWx1ZTsNCj4gKyAgVUlOVDgg ICAgICAgICBDcHVpZE1heFZhbHVlTG9ja0hpZGU7DQo+ICsNCj4gKyAgVUlOVDggICAgICAgICBF eGVjdXRlRGlzYWJsZUJpdDsNCj4gKyAgVUlOVDggICAgICAgICBFeGVjdXRlRGlzYWJsZUJpdExv Y2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEVJU1Qgb3IgR1YzIHNldHVwIG9wdGlvbg0K PiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIFByb2Nlc3NvckVpc3RFbmFibGU7DQo+ICsgIFVJ TlQ4ICAgICAgICAgUHJvY2Vzc29yRWlzdEVuYWJsZUxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIEMxRSBFbmFibGUNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBQcm9jZXNzb3JD MWVFbmFibGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgUHJvY2Vzc29yQzFlRW5hYmxlTG9ja0hpZGU7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRW5hYmxpbmcgQ1BVIEMtU3RhdGVzIG9mIHByb2Nlc3Nv cg0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIFByb2Nlc3NvckNjeEVuYWJsZTsNCj4gKyAg VUlOVDggICAgICAgICBQcm9jZXNzb3JDY3hFbmFibGVMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBQYWNrYWdlIEMtU3RhdGUgTGltaXQNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAg ICBQYWNrYWdlQ1N0YXRlOw0KPiArICBVSU5UOCAgICAgICAgIFBhY2thZ2VDU3RhdGVMb2NrSGlk ZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBFbmFibGUvRGlzYWJsZSBOSE0gQzMoQUNQSSBDMikg cmVwb3J0IHRvIE9TDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgT1NDMlJlcG9ydDsNCj4g KyAgVUlOVDggICAgICAgICBPU0MyUmVwb3J0TG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gRW5hYmxlL0Rpc2FibGUgTkhNIEM2KEFDUEkgQzMpIHJlcG9ydCB0byBPUw0KPiArICAvLw0K PiArICBVSU5UOCAgICAgICAgIEM2RW5hYmxlOw0KPiArICBVSU5UOCAgICAgICAgIEM2RW5hYmxl TG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRW5hYmxlL0Rpc2FibGUgTkhNIEM3KEFD UEkgQzMpIHJlcG9ydCB0byBPUw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIEM3RW5hYmxl Ow0KPiArICBVSU5UOCAgICAgICAgIEM3RW5hYmxlTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gRUlTVC9QU0QgRnVuY3Rpb24gc2VsZWN0IG9wdGlvbg0KPiArICAvLw0KPiArICBVSU5U OCAgICAgICAgIFByb2Nlc3NvckVpc3RQc2RGdW5jOw0KPiArICBVSU5UOCAgICAgICAgIFByb2Nl c3NvckVpc3RQc2RGdW5jTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8N Cj4gKyAgVUlOVDggICAgICAgICBDUFUwMDsNCj4gKyAgVUlOVDggICAgICAgICBDUFUwMTsNCj4g Kw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIENQVTAyOw0K PiArICBVSU5UOCAgICAgICAgIENQVTAzOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8v DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMDQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMDU7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDUFUwNjsN Cj4gKyAgVUlOVDggICAgICAgICBDUFUwNzsNCj4gKw0KPiArICAvLw0KPiArICAvLw0KPiArICAv Lw0KPiArICBVSU5UOCAgICAgICAgIENQVTA4Ow0KPiArICBVSU5UOCAgICAgICAgIENQVTA5Ow0K PiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMTA7 DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMTE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAg Ly8NCj4gKyAgVUlOVDggICAgICAgICBDUFUxMjsNCj4gKyAgVUlOVDggICAgICAgICBDUFUxMzsN Cj4gKw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIENQVTE0 Ow0KPiArICBVSU5UOCAgICAgICAgIENQVTE1Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsg IC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMTY7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMTc7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDUFUx ODsNCj4gKyAgVUlOVDggICAgICAgICBDUFUxOTsNCj4gKw0KPiArICAvLw0KPiArICAvLw0KPiAr ICAvLw0KPiArICBVSU5UOCAgICAgICAgIENQVTIwOw0KPiArICBVSU5UOCAgICAgICAgIENQVTIx Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BV MjI7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMjM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4g KyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDUFUyNDsNCj4gKyAgVUlOVDggICAgICAgICBDUFUy NTsNCj4gKw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIENQ VTI2Ow0KPiArICBVSU5UOCAgICAgICAgIENQVTI3Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMjg7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BV Mjk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBD UFUzMDsNCj4gKyAgVUlOVDggICAgICAgICBDUFUzMTsNCj4gKw0KPiArICAvLw0KPiArICAvLw0K PiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIENQVTMyOw0KPiArICBVSU5UOCAgICAgICAgIENQ VTMzOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAg Q1BVMzQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVMzU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8N Cj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDUFUzNjsNCj4gKyAgVUlOVDggICAgICAgICBD UFUzNzsNCj4gKw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAg IENQVTM4Ow0KPiArICBVSU5UOCAgICAgICAgIENQVTM5Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8v DQo+ICsgIC8vDQo+ICsgIFVJTlQxNiAgICAgICAgQ1BVNDA7DQo+ICsgIFVJTlQ4ICAgICAgICAg Q1BVNDE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAg ICBDUFU0MjsNCj4gKyAgVUlOVDggICAgICAgICBDUFU0MzsNCj4gKw0KPiArICAvLw0KPiArICAv Lw0KPiArICAvLw0KPiArICBVSU5UMTYgICAgICAgIENQVTQ0Ow0KPiArICBVSU5UOCAgICAgICAg IENQVTQ1Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAg ICAgQ1BVNDY7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVNDc7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8NCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDUFU0ODsNCj4gKyAgVUlOVDggICAgICAg ICBDUFU0OTsNCj4gKw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAgICAg ICAgIENQVTUwOw0KPiArICBVSU5UOCAgICAgICAgIENQVTUxOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVNTI7DQo+ICsgIFVJTlQ4ICAgICAg ICAgQ1BVNTM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlOVDggICAg ICAgICBDUFU1NDsNCj4gKyAgVUlOVDggICAgICAgICBDUFU1NTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIENQVTU2Ow0KPiArICBVSU5UOCAgICAg ICAgIENQVTU3Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAg ICAgICAgQ1BVNTg7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVNTk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBDUFU2MDsNCj4gKyAgVUlOVDggICAg ICAgICBDUFU2MTsNCj4gKw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAg ICAgICAgIENQVTYyOw0KPiArICBVSU5UOCAgICAgICAgIENQVTYzOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVNjQ7DQo+ICsgIFVJTlQ4ICAg ICAgICAgQ1BVNjU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlOVDgg ICAgICAgICBDUFU2NjsNCj4gKyAgVUlOVDggICAgICAgICBDUFU2NzsNCj4gKw0KPiArICAvLw0K PiArICAvLw0KPiArICAvLw0KPiArICBVSU5UMTYgICAgICAgIENQVTY4Ow0KPiArICBVSU5UOCAg ICAgICAgIENQVTY5Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQx NiAgICAgICAgQ1BVNzA7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgVUlO VDggICAgICAgICBDUFU3MTsNCj4gKw0KPiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBV SU5UOCAgICAgICAgIE1FTTAwOw0KPiArICBVSU5UOCAgICAgICAgIE1FTTAxOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNMDI7DQo+ICsgIFVJ TlQ4ICAgICAgICAgTUVNMDM7DQo+ICsNCj4gKyAgVUlOVDE2ICAgICAgICBNRU0wNDsNCj4gKyAg VUlOVDggICAgICAgICBNRU0wNTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgIE1FTTA2Ow0KPiAr ICBVSU5UOCAgICAgICAgIE1FTTA3Ow0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNMDg7DQo+ ICsgIFVJTlQ4ICAgICAgICAgTUVNMDk7DQo+ICsNCj4gKyAgVUlOVDggICAgICAgICBNRU0xMDsN Cj4gKyAgVUlOVDggICAgICAgICBNRU0xMTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgIE1FTTEy Ow0KPiArICBVSU5UOCAgICAgICAgIE1FTTEzOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgTUVN MTQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNMTU7DQo+ICsNCj4gKyAgVUlOVDggICAgICAgICBN RU0xNjsNCj4gKyAgVUlOVDggICAgICAgICBNRU0xNzsNCj4gKw0KPiArICBVSU5UMTYgICAgICAg IE1FTTE4Ow0KPiArICBVSU5UOCAgICAgICAgIE1FTTE5Ow0KPiArDQo+ICsgIFVJTlQ4ICAgICAg ICAgTUVNMjA7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNMjE7DQo+ICsNCj4gKyAgVUlOVDggICAg ICAgICBNRU0yMjsNCj4gKyAgVUlOVDggICAgICAgICBNRU0yMzsNCj4gKw0KPiArICBVSU5UOCAg ICAgICAgIE1FTTI0Ow0KPiArICBVSU5UOCAgICAgICAgIE1FTTI1Ow0KPiArDQo+ICsgIFVJTlQ4 ICAgICAgICAgTUVNMjY7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNMjc7DQo+ICsNCj4gKyAgVUlO VDggICAgICAgICBNRU0yODsNCj4gKyAgVUlOVDggICAgICAgICBNRU0yOTsNCj4gKw0KPiArICBV SU5UOCAgICAgICAgIE1FTTMwOw0KPiArICBVSU5UOCAgICAgICAgIE1FTTMxOw0KPiArDQo+ICsg IFVJTlQ4ICAgICAgICAgTUVNMzI7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNMzM7DQo+ICsNCj4g KyAgVUlOVDggICAgICAgICBNRU0zNDsNCj4gKyAgVUlOVDggICAgICAgICBNRU0zNTsNCj4gKw0K PiArICAvLw0KPiArICAvLw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIE1FTTM2Ow0KPiAr ICBVSU5UOCAgICAgICAgIE1FTTM3Ow0KPiArICBVSU5UOCAgICAgICAgIE1FTTM4Ow0KPiArICBV SU5UOCAgICAgICAgIE1FTTM5Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsg IFVJTlQ4ICAgICAgICAgTUVNNDA7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNNDE7DQo+ICsgIFVJ TlQ4ICAgICAgICAgTUVNNDI7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNNDM7DQo+ICsgIFVJTlQ4 ICAgICAgICAgTUVNNDQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNNDU7DQo+ICsgIFVJTlQ4ICAg ICAgICAgTUVNNDY7DQo+ICsgIFVJTlQ4ICAgICAgICAgTUVNNDc7DQo+ICsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBQb3J0IDgwIGRlY29kZSAwLzEgLSBQQ0kvTFBDDQo+ICsgIFVJTlQ4ICAgICAg ICAgUG9ydDgwUm91dGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgUG9ydDgwUm91dGVMb2NrSGlkZTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBFQ0MgRXZlbnQgTG9nZ2luZw0KPiArICAvLw0KPiArICBV SU5UOCAgICAgICAgIEVjY0V2ZW50TG9nZ2luZzsNCj4gKyAgVUlOVDggICAgICAgICBFY2NFdmVu dExvZ2dpbmdMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBUUE0gRW5hYmxlL0Rpc2Fi bGUNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBFVHBtOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFRQTSBxdWVzdGlvbiAgMCA9IERpc2FibGVkLCAxID0gRW5hYmxlZA0KPiArICAvLw0KPiAr ICBVSU5UOCAgICAgICAgIEVUcG1DbGVhcjsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZWNvbmRh cnkgU0FUQSBDb250cm9sbGVyIHF1ZXN0aW9uICAwID0gRGlzYWJsZWQsIDEgPSBFbmFibGVkDQo+ ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgRXh0U2F0YTsNCj4gKyAgVUlOVDggICAgICAgICBF eHRTYXRhTG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTW9kZSBzZWxlY3Rpb24gZm9y IFNlY29uZGFyeSBTQVRBIENvbnRyb2xsZXIgKDA9SURFLCAxPVJBSUQpDQo+ICsgIC8vDQo+ICsg IFVJTlQ4ICAgICAgICAgRXh0U2F0YU1vZGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgRXh0U2F0YU1v ZGVMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBMVCBUZWNobm9sb2d5IDAvMSAtPiBE aXNhYmxlL0VuYWJsZQ0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIEx0VGVjaG5vbG9neTsN Cj4gKyAgVUlOVDggICAgICAgICBMdFRlY2hub2xvZ3lMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBIUEVUIFN1cHBvcnQgMC8xIC0+IERpc2FibGUvRW5hYmxlDQo+ICsgIC8vDQo+ICsg IFVJTlQ4ICAgICAgICAgSHBldDsNCj4gKyAgVUlOVDggICAgICAgICBIcGV0TG9ja0hpZGU7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gSUNIIEZ1bmN0aW9uIExldmVsIFJlc2V0IGVuYWJsZS9kaXNh YmxlDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgRmxyQ2FwYWJpbGl0eTsNCj4gKyAgVUlO VDggICAgICAgICBGbHJDYXBhYmlsaXR5TG9ja0hpZGU7DQo+ICsNCj4gKyAgLy8gVlQtZCBPcHRp b24NCj4gKyAgVUlOVDggICAgICAgICBWVGRTdXBwb3J0Ow0KPiArICBVSU5UOCAgICAgICAgIFZU ZFN1cHBvcnRMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgIEludGVycnVwdFJlbWFw Ow0KPiArICBVSU5UOCAgICAgICAgIEludGVycnVwdFJlbWFwTG9ja0hpZGU7DQo+ICsNCj4gKyAg VUlOVDggICAgICAgICBJc29jOw0KPiArICBVSU5UOCAgICAgICAgIElzb2NMb2NrSGlkZTsNCj4g Kw0KPiArICBVSU5UOCAgICAgICAgIENvaGVyZW5jeVN1cHBvcnQ7DQo+ICsgIFVJTlQ4ICAgICAg ICAgQ29oZXJlbmN5U3VwcG9ydExvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgQVRT Ow0KPiArICBVSU5UOCAgICAgICAgIEFUU0xvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAg ICAgUGFzc1Rocm91Z2hEbWE7DQo+ICsgIFVJTlQ4ICAgICAgICAgUGFzc1Rocm91Z2hEbWFMb2Nr SGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJR0Qgb3B0aW9uDQo+ICsgIC8vDQo+ICsgIFVJ TlQ4ICAgICAgICAgR3JhcGhpY3NEcml2ZXJNZW1vcnlTaXplOw0KPiArICBVSU5UOCAgICAgICAg IEdyYXBoaWNzRHJpdmVyTWVtb3J5U2l6ZUxvY2tIaWRlOw0KPiArDQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gRGlzY3JldGUgU0FUQSBUeXBlIChJZGUsIFJhaWQsIEFoY2kpDQo+ICsgIC8vDQo+ICsg IFVJTlQ4ICAgICAgICAgRXh0U2F0YU1vZGUyOw0KPiArICBVSU5UOCAgICAgICAgIEV4dFNhdGFN b2RlMkxvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgUHJvY2Vzc29yUmVzZXJ2ZTAw Ow0KPiArICBVSU5UOCAgICAgICAgIFByb2Nlc3NvclJlc2VydmUwMTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBJR0QgQXBlcnR1cmUgU2l6ZSBxdWVzdGlvbg0KPiArICAvLw0KPiArICBVSU5UOCAg ICAgICAgIElnZEFwZXJ0dXJlU2l6ZTsNCj4gKyAgVUlOVDggICAgICAgICBJZ2RBcGVydHVyZVNp emVMb2NrSGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBCb290IERpc3BsYXkgRGV2aWNlDQo+ ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgQm9vdERpc3BsYXlEZXZpY2U7DQo+ICsgIFVJTlQ4 ICAgICAgICAgQm9vdERpc3BsYXlEZXZpY2VMb2NrSGlkZTsNCj4gKw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIFN5c3RlbSBmYW4gc3BlZWQgZHV0eSBjeWNsZQ0KPiArICAvLw0KPiArICBVSU5UOCAg ICAgICAgIFN5c3RlbUZhbkR1dHk7DQo+ICsgIFVJTlQ4ICAgICAgICAgU3lzdGVtRmFuRHV0eUxv Y2tIaWRlOw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUzMgc3RhdGUgTEVEIGluZGljYXRv cg0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIFMzU3RhdGVJbmRpY2F0b3I7DQo+ICsgIFVJ TlQ4ICAgICAgICAgUzNTdGF0ZUluZGljYXRvckxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFMxIHN0YXRlIExFRCBpbmRpY2F0b3INCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBT MVN0YXRlSW5kaWNhdG9yOw0KPiArICBVSU5UOCAgICAgICAgIFMxU3RhdGVJbmRpY2F0b3JMb2Nr SGlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBQUy8yIFdha2UgZnJvbSBTNQ0KPiArICAvLw0K PiArICBVSU5UOCAgICAgICAgIFdha2VPblM1S2V5Ym9hcmQ7DQo+ICsgIFVJTlQ4ICAgICAgICAg V2FrZU9uUzVLZXlib2FyZExvY2tIaWRlOw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU0FU QSBDb250cm9sbGVyIHF1ZXN0aW9uICAwID0gRGlzYWJsZWQsIDEgPSBFbmFibGVkDQo+ICsgIC8v DQo+ICsgIFVJTlQ4ICAgICAgICAgU2F0YTsNCj4gKyAgVUlOVDggICAgICAgICBTYXRhTG9ja0hp ZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUFMyIHBvcnQNCj4gKyAgLy8NCj4gKyAgVUlOVDgg ICAgICAgICBQUzI7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTm8gVmlkZW9CZWVwDQo+ICsgIC8v DQo+ICsgIFVJTlQ4ICAgICAgICAgTm9WaWRlb0JlZXBFbmFibGU7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gSW50ZWdyYXRlZCBHcmFwaGljcyBEZXZpY2UNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAg ICAgICBJZ2Q7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVmlkZW8gRGV2aWNlIHNlbGVjdCBvcmRl cg0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgIFZpZGVvU2VsZWN0T3JkZXJbOF07DQo+ICsN Cj4gKyAgLy8gRmxhc2ggdXBkYXRlIHNsZWVwIGRlbGF5DQo+ICsgIFVJTlQ4ICAgICAgICAgRmxh c2hTbGVlcERlbGF5Ow0KPiArICBVSU5UOCAgICAgICAgIEZsYXNoU2xlZXBEZWxheUxvY2tIaWRl Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJvb3QgRGlzcGxheSBEZXZpY2UyDQo+ICsgIC8vDQo+ ICsgIFVJTlQ4ICAgICAgICAgQm9vdERpc3BsYXlEZXZpY2UyOw0KPiArICBVSU5UOCAgICAgICAg IEJvb3REaXNwbGF5RGV2aWNlMkxvY2tIaWRlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZsYXQg UGFuZWwNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgICBFZHBJbnRlcmZhY2VUeXBlOw0KPiAr ICBVSU5UOCAgICAgICAgIEVkcEludGVyZmFjZVR5cGVMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5U OCAgICAgICAgIEx2ZHNJbnRlcmZhY2VUeXBlOw0KPiArICBVSU5UOCAgICAgICAgIEx2ZHNJbnRl cmZhY2VUeXBlTG9ja0hpZGU7DQo+ICsNCj4gKyAgVUlOVDggICAgICAgICBDb2xvckRlcHRoOw0K PiArICBVSU5UOCAgICAgICAgIENvbG9yRGVwdGhMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5UOCAg ICAgICAgIEVkaWRDb25maWd1cmF0aW9uOw0KPiArICBVSU5UOCAgICAgICAgIEVkaWRDb25maWd1 cmF0aW9uTG9ja0hpZGU7DQo+ICsNCj4gKyAgVUlOVDggICAgICAgICBQd21SZXNlcnZlZDsNCj4g KyAgVUlOVDggICAgICAgICBNYXhJbnZlcnRlclBXTUxvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4 ICAgICAgICAgUHJlRGVmaW5lZEVkaWRDb25maWd1cmF0aW9uOw0KPiArICBVSU5UOCAgICAgICAg IFByZURlZmluZWRFZGlkQ29uZmlndXJhdGlvbkxvY2tIaWRlOw0KPiArDQo+ICsgIFVJTlQxNiAg ICAgICAgU2NyZWVuQnJpZ2h0bmVzc1Jlc3BvbnNlVGltZTsNCj4gKyAgVUlOVDggICAgICAgICBT Y3JlZW5CcmlnaHRuZXNzUmVzcG9uc2VUaW1lTG9ja0hpZGU7DQo+ICsNCj4gKyAgVUlOVDggICAg ICAgICBTZXJpYWwzOw0KPiArICBVSU5UOCAgICAgICAgIFNlcmlhbDNMb2NrSGlkZTsNCj4gKw0K PiArICBVSU5UOCAgICAgICAgIFNlcmlhbDQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgU2VyaWFsNExv Y2tIaWRlOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgQ3VycmVudFNldHVwUHJvZmlsZTsNCj4g KyAgVUlOVDggICAgICAgICBDdXJyZW50U2V0dXBQcm9maWxlTG9ja0hpZGU7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gRlNDIHN5c3RlbSBWYXJpYWJsZQ0KPiArICAvLw0KPiArICBVSU5UOCAgICAg ICAgIENQVUZhblVzYWdlOw0KPiArICBVSU5UOCAgICAgICAgIENQVUZhblVzYWdlTG9ja0hpZGU7 DQo+ICsgIFVJTlQxNiAgICAgICAgQ1BVVW5kZXJTcGVlZHRocmVzaG9sZDsNCj4gKyAgVUlOVDgg ICAgICAgICBDUFVVbmRlclNwZWVkdGhyZXNob2xkTG9ja0hpZGU7DQo+ICsgIFVJTlQ4ICAgICAg ICAgQ1BVRmFuQ29udHJvbE1vZGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVRmFuQ29udHJvbE1v ZGVMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBWb2x0YWdlMTJVbmRlclZvbHRzOw0KPiAr ICBVSU5UOCAgICAgICAgIFZvbHRhZ2UxMlVuZGVyVm9sdHNMb2NrSGlkZTsNCj4gKyAgVUlOVDE2 ICAgICAgICBWb2x0YWdlMTJPdmVyVm9sdHM7DQo+ICsgIFVJTlQ4ICAgICAgICAgVm9sdGFnZTEy T3ZlclZvbHRzTG9ja0hpZGU7DQo+ICsgIFVJTlQxNiAgICAgICAgVm9sdGFnZTVVbmRlclZvbHRz Ow0KPiArICBVSU5UOCAgICAgICAgIFZvbHRhZ2U1VW5kZXJWb2x0c0xvY2tIaWRlOw0KPiArICBV SU5UMTYgICAgICAgIFZvbHRhZ2U1T3ZlclZvbHRzOw0KPiArICBVSU5UOCAgICAgICAgIFZvbHRh Z2U1T3ZlclZvbHRzTG9ja0hpZGU7DQo+ICsgIFVJTlQxNiAgICAgICAgVm9sdGFnZTNwM1VuZGVy Vm9sdHM7DQo+ICsgIFVJTlQ4ICAgICAgICAgVm9sdGFnZTNwM1VuZGVyVm9sdHNMb2NrSGlkZTsN Cj4gKyAgVUlOVDE2ICAgICAgICBWb2x0YWdlM3AzT3ZlclZvbHRzOw0KPiArICBVSU5UOCAgICAg ICAgIFZvbHRhZ2UzcDNPdmVyVm9sdHNMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBWb2x0 YWdlMnA1VW5kZXJWb2x0czsNCj4gKyAgVUlOVDggICAgICAgICBWb2x0YWdlMnA1VW5kZXJWb2x0 c0xvY2tIaWRlOw0KPiArICBVSU5UMTYgICAgICAgIFZvbHRhZ2UycDVPdmVyVm9sdHM7DQo+ICsg IFVJTlQ4ICAgICAgICAgVm9sdGFnZTJwNU92ZXJWb2x0c0xvY2tIaWRlOw0KPiArICBVSU5UMTYg ICAgICAgIFZvbHRhZ2VWY2NwVW5kZXJWb2x0czsNCj4gKyAgVUlOVDggICAgICAgICBWb2x0YWdl VmNjcFVuZGVyVm9sdHNMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBWb2x0YWdlVmNjcE92 ZXJWb2x0czsNCj4gKyAgVUlOVDggICAgICAgICBWb2x0YWdlVmNjcE92ZXJWb2x0c0xvY2tIaWRl Ow0KPiArICBVSU5UMTYgICAgICAgIFZvbHRhZ2U1QmFja3VwVW5kZXJWb2x0czsNCj4gKyAgVUlO VDggICAgICAgICBWb2x0YWdlNUJhY2t1cFVuZGVyVm9sdHNMb2NrSGlkZTsNCj4gKyAgVUlOVDE2 ICAgICAgICBWb2x0YWdlNUJhY2t1cE92ZXJWb2x0czsNCj4gKyAgVUlOVDggICAgICAgICBWb2x0 YWdlNUJhY2t1cE92ZXJWb2x0c0xvY2tIaWRlOw0KPiArICBVSU5UMTYgICAgICAgIFZTM3AzU3Ri eVVuZGVyVm9sdDsNCj4gKyAgVUlOVDggICAgICAgICBWUzNwM1N0YnlVbmRlclZvbHRMb2NrSGlk ZTsNCj4gKyAgVUlOVDE2ICAgICAgICBWUzNwM1N0YnlPdmVyVm9sdDsNCj4gKyAgVUlOVDggICAg ICAgICBWUzNwM1N0YnlPdmVyVm9sdExvY2tIaWRlOw0KPiArICBVSU5UOCAgICAgICAgIENQVUZh bk1pbkR1dHlDeWNsZTsNCj4gKyAgVUlOVDggICAgICAgICBDUFVGYW5NaW5EdXR5Q3ljbGVMb2Nr SGlkZTsNCj4gKyAgVUlOVDggICAgICAgICBDUFVGYW5NYXhEdXR5Q3ljbGU7DQo+ICsgIFVJTlQ4 ICAgICAgICAgQ1BVRmFuTWF4RHV0eUN5Y2xlTG9ja0hpZGU7DQo+ICsgIFVJTlQ4ICAgICAgICAg Q1BVRmFuT25EdXR5Q3ljbGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgQ1BVRmFuT25EdXR5Q3ljbGVM b2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBDcHVPdmVyVGVtcDsNCj4gKyAgVUlOVDggICAg ICAgICBDcHVPdmVyVGVtcExvY2tIaWRlOw0KPiArICBVSU5UMTYgICAgICAgIENwdUNvbnRyb2xU ZW1wOw0KPiArICBVSU5UOCAgICAgICAgIENwdUNvbnRyb2xUZW1wTG9ja0hpZGU7DQo+ICsgIFVJ TlQxNiAgICAgICAgQ3B1QWxsT25UZW1wOw0KPiArICBVSU5UOCAgICAgICAgIENwdUFsbE9uVGVt cExvY2tIaWRlOw0KPiArICBVSU5UOCAgICAgICAgIENwdVJlc3BvbnNpdmVuZXNzOw0KPiArICBV SU5UOCAgICAgICAgIENwdVJlc3BvbnNpdmVuZXNzTG9ja0hpZGU7DQo+ICsgIFVJTlQ4ICAgICAg ICAgQ3B1RGFtcGluZzsNCj4gKyAgVUlOVDggICAgICAgICBDcHVEYW1waW5nTG9ja0hpZGU7DQo+ ICsgIFVJTlQxNiAgICAgICAgUGNoT3ZlclRlbXA7DQo+ICsgIFVJTlQ4ICAgICAgICAgUGNoT3Zl clRlbXBMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBQY2hDb250cm9sVGVtcDsNCj4gKyAg VUlOVDggICAgICAgICBQY2hDb250cm9sVGVtcExvY2tIaWRlOw0KPiArICBVSU5UMTYgICAgICAg IFBjaEFsbE9uVGVtcDsNCj4gKyAgVUlOVDggICAgICAgICBQY2hBbGxPblRlbXBMb2NrSGlkZTsN Cj4gKyAgVUlOVDggICAgICAgICBQY2hSZXNwb25zaXZlbmVzczsNCj4gKyAgVUlOVDggICAgICAg ICBQY2hSZXNwb25zaXZlbmVzc0xvY2tIaWRlOw0KPiArICBVSU5UOCAgICAgICAgIFBjaERhbXBp bmc7DQo+ICsgIFVJTlQ4ICAgICAgICAgUGNoRGFtcGluZ0xvY2tIaWRlOw0KPiArICBVSU5UMTYg ICAgICAgIE1lbW9yeU92ZXJUZW1wOw0KPiArICBVSU5UOCAgICAgICAgIE1lbW9yeU92ZXJUZW1w TG9ja0hpZGU7DQo+ICsgIFVJTlQxNiAgICAgICAgTWVtb3J5Q29udHJvbFRlbXA7DQo+ICsgIFVJ TlQ4ICAgICAgICAgTWVtb3J5Q29udHJvbFRlbXBMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAg ICBNZW1vcnlBbGxPblRlbXA7DQo+ICsgIFVJTlQ4ICAgICAgICAgTWVtb3J5QWxsT25UZW1wTG9j a0hpZGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgTWVtb3J5UmVzcG9uc2l2ZW5lc3M7DQo+ICsgIFVJ TlQ4ICAgICAgICAgTWVtb3J5UmVzcG9uc2l2ZW5lc3NMb2NrSGlkZTsNCj4gKyAgVUlOVDggICAg ICAgICBNZW1vcnlEYW1waW5nOw0KPiArICBVSU5UOCAgICAgICAgIE1lbW9yeURhbXBpbmdMb2Nr SGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBWUk92ZXJUZW1wOw0KPiArICBVSU5UOCAgICAgICAg IFZST3ZlclRlbXBMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBWUkNvbnRyb2xUZW1wOw0K PiArICBVSU5UOCAgICAgICAgIFZSQ29udHJvbFRlbXBMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAg ICAgICBWUkFsbE9uVGVtcDsNCj4gKyAgVUlOVDggICAgICAgICBWUkFsbE9uVGVtcExvY2tIaWRl Ow0KPiArICBVSU5UOCAgICAgICAgIFZSUmVzcG9uc2l2ZW5lc3M7DQo+ICsgIFVJTlQ4ICAgICAg ICAgVlJSZXNwb25zaXZlbmVzc0xvY2tIaWRlOw0KPiArICBVSU5UOCAgICAgICAgIFZSRGFtcGlu ZzsNCj4gKyAgVUlOVDggICAgICAgICBWUkRhbXBpbmdMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5U OCAgICAgICAgIEx2ZHNCcmlnaHRuZXNzU3RlcHM7DQo+ICsgIFVJTlQ4ICAgICAgICAgTHZkc0Jy aWdodG5lc3NTdGVwc0xvY2tIaWRlOw0KPiArICBVSU5UOCAgICAgICAgIEVkcERhdGFSYXRlOw0K PiArICBVSU5UOCAgICAgICAgIEVkcERhdGFSYXRlTG9ja0hpZGU7DQo+ICsgIFVJTlQxNiAgICAg ICAgTHZkc1Bvd2VyT25Ub0JhY2tsaWdodEVuYWJsZURlbGF5VGltZTsNCj4gKyAgVUlOVDggICAg ICAgICBMdmRzUG93ZXJPblRvQmFja2xpZ2h0RW5hYmxlRGVsYXlUaW1lTG9ja0hpZGU7DQo+ICsg IFVJTlQxNiAgICAgICAgTHZkc1Bvd2VyT25EZWxheVRpbWU7DQo+ICsgIFVJTlQ4ICAgICAgICAg THZkc1Bvd2VyT25EZWxheVRpbWVMb2NrSGlkZTsNCj4gKyAgVUlOVDE2ICAgICAgICBMdmRzQmFj a2xpZ2h0T2ZmVG9Qb3dlckRvd25EZWxheVRpbWU7DQo+ICsgIFVJTlQ4ICAgICAgICAgTHZkc0Jh Y2tsaWdodE9mZlRvUG93ZXJEb3duRGVsYXlUaW1lTG9ja0hpZGU7DQo+ICsgIFVJTlQxNiAgICAg ICAgTHZkc1Bvd2VyRG93bkRlbGF5VGltZTsNCj4gKyAgVUlOVDggICAgICAgICBMdmRzUG93ZXJE b3duRGVsYXlUaW1lTG9ja0hpZGU7DQo+ICsgIFVJTlQxNiAgICAgICAgTHZkc1Bvd2VyQ3ljbGVE ZWxheVRpbWU7DQo+ICsgIFVJTlQ4ICAgICAgICAgTHZkc1Bvd2VyQ3ljbGVEZWxheVRpbWVMb2Nr SGlkZTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgIElnZEZsYXRQYW5lbDsNCj4gKyAgVUlOVDgg ICAgICAgICBJZ2RGbGF0UGFuZWxMb2NrSGlkZTsNCj4gKyAgVUlOVDggICAgICAgICBMYW4yOw0K PiArICBVSU5UOCAgICAgICAgIExhbjJMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAg IFN3YXBNb2RlOw0KPiArICBVSU5UOCAgICAgICAgIFN3YXBNb2RlTG9ja0hpZGU7DQo+ICsNCj4g KyAgVUlOVDggICAgICAgICBTYXRhMEhvdFBsdWdDYXA7DQo+ICsgIFVJTlQ4ICAgICAgICAgU2F0 YTBIb3RQbHVnQ2FwTG9ja0hpZGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgU2F0YTFIb3RQbHVnQ2Fw Ow0KPiArICBVSU5UOCAgICAgICAgIFNhdGExSG90UGx1Z0NhcExvY2tIaWRlOw0KPiArDQo+ICsg IFVJTlQ4ICAgICAgICAgVXNiQ2hhcmdpbmc7DQo+ICsgIFVJTlQ4ICAgICAgICAgVXNiQ2hhcmdp bmdMb2NrSGlkZTsNCj4gKw0KPiArICBVSU5UOCAgICAgICAgIENzdGF0ZXM7DQo+ICsgIFVJTlQ4 ICAgICAgICAgRW5hYmxlQzQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgRW5hYmxlQzY7DQo+ICsNCj4g KyAgVUlOVDggICAgICAgICAgRmFzdEJvb3Q7DQo+ICsgIFVJTlQ4ICAgICAgICAgIEVmaU5ldHdv cmtTdXBwb3J0Ow0KPiArICBVSU5UOCAgICAgICAgICBQeGVSb207DQo+ICsNCj4gKyAgLy9BZGQg Zm9yIFBwbVBsYXRmb3JtUGxpY3kNCj4gKyAgVUlOVDggICAgICAgICAgUFBNMDA7DQo+ICsgIFVJ TlQ4ICAgICAgICAgIFBQTTAxOw0KPiArICBVSU5UOCAgICAgICAgICBQUE0wMjsNCj4gKyAgVUlO VDggICAgICAgICAgUFBNMDM7DQo+ICsgIFVJTlQ4ICAgICAgICAgIFBQTTA0Ow0KPiArICBVSU5U OCAgICAgICAgICBQUE0wNTsNCj4gKyAgVUlOVDggICAgICAgICAgUFBNMDY7DQo+ICsgIFVJTlQ4 ICAgICAgICAgIFBQTTA3Ow0KPiArICBVSU5UOCAgICAgICAgICBQUE0wODsNCj4gKyAgVUlOVDgg ICAgICAgICAgUFBNMDk7DQo+ICsgIFVJTlQ4ICAgICAgICAgIFBQTTEwOw0KPiArICBVSU5UOCAg ICAgICAgICBRdWlldEJvb3Q7DQo+ICsgIFVJTlQ4ICAgICAgICAgIExlZ2FjeVVTQkJvb3Rpbmc7 DQo+ICsNCj4gKyAgVUlOVDggICAgICAgICAgUHdtUmVzZXJ2ZWQwMjsNCj4gKyAgLy8NCj4gKyAg Ly8gVGhlcm1hbCBQb2xpY3kgVmFsdWVzDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAgICBF bmFibGVEaWdpdGFsVGhlcm1hbFNlbnNvcjsNCj4gKyAgVUlOVDggICAgICAgICAgIFBhc3NpdmVU aGVybWFsVHJpcFBvaW50Ow0KPiArICBVSU5UOCAgICAgICAgICAgUGFzc2l2ZVRjMVZhbHVlOw0K PiArICBVSU5UOCAgICAgICAgICAgUGFzc2l2ZVRjMlZhbHVlOw0KPiArICBVSU5UOCAgICAgICAg ICAgUGFzc2l2ZVRzcFZhbHVlOw0KPiArICBVSU5UOCAgICAgICAgICAgRGlzYWJsZUFjdGl2ZVRy aXBQb2ludHM7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBDcml0aWNhbFRoZXJtYWxUcmlwUG9pbnQ7 DQo+ICsgIFVJTlQ4ICAgICAgICAgICBJY2hQY2lFeHBbNF07DQo+ICsgIFVJTlQ4ICAgICAgICAg ICBEZWVwU3RhbmRieTsNCj4gKyAgVUlOVDggICAgICAgICAgIEFsc0VuYWJsZTsNCj4gKyAgVUlO VDggICAgICAgICAgIElnZExjZElCaWE7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBMb2dCb290VGlt ZTsNCj4gKw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgICBQY2llUm9vdFBvcnRJT0FwaWNbNF07 DQo+ICsgIFVJTlQ4ICAgICAgICAgICBJZmZzRW5hYmxlOw0KPiArICBVSU5UOCAgICAgICAgICAg SWZmc09uUzNSdGNXYWtlOw0KPiArICBVSU5UOCAgICAgICAgICAgSWZmc1MzV2FrZVRpbWVyTWlu Ow0KPiArICBVSU5UOCAgICAgICAgICAgSWZmc09uUzNDcml0QmF0dFdha2U7DQo+ICsgIFVJTlQ4 ICAgICAgICAgICBJZmZzQ3JpdEJhdHRXYWtlVGhyZXNob2xkOw0KPiArICBVSU5UOCAgICAgICAg ICAgU2NyYW1ibGVyU3VwcG9ydDsNCj4gKyAgVUlOVDggICAgICAgICAgIFNlY3VyZUJvb3Q7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICBTZWN1cmVCb290Q3VzdG9tTW9kZTsNCj4gKyAgVUlOVDggICAg ICAgICAgIFNlY3VyZUJvb3RVc2VyUGh5c2ljYWxQcmVzZW50Ow0KPiArICBVSU5UOCAgICAgICAg ICAgQ29yZUZyZU11bHRpcFNlbGVjdDsNCj4gKyAgVUlOVDggICAgICAgICAgIE1heENTdGF0ZTsN Cj4gKyAgVUlOVDggICAgICAgICAgIFBhbmVsU2NhbGluZzsNCj4gKyAgVUlOVDggICAgICAgICAg IElnZExjZElHbWNoQmxjOw0KPiArICBVSU5UOCAgICAgICAgICAgR2Z4Qm9vc3Q7DQo+ICsgIFVJ TlQ4ICAgICAgICAgICBJZ2RUaGVybWFsOw0KPiArICBVSU5UOCAgICAgICAgICAgU0VDMDA7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICBmVFBNOw0KPiArICBVSU5UOCAgICAgICAgICAgU0VDMDI7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICBTRUMwMzsNCj4gKyAgVUlOVDggICAgICAgICAgIE1lYXN1cmVk Qm9vdEVuYWJsZTsNCj4gKyAgVUlOVDggICAgICAgICAgIFVzZVByb2R1Y3RLZXk7DQo+ICsgIC8v SW1hZ2UgU2lnbmFsIFByb2Nlc3NvciBQQ0kgRGV2aWNlIENvbmZpZ3VyYXRpb24NCj4gKyAgLy8N Cj4gKyAgVUlOVDggICAgICAgICBJU1BEZXZTZWw7DQo+ICsgIFVJTlQ4ICAgICAgICAgSVNQRW47 DQo+ICsgIC8vIFBhc3N3b3Jkcw0KPiArICBVSU5UMTYgICAgICAgICAgVXNlclBhc3N3b3JkW1BB U1NXT1JEX01BWF9TSVpFXTsNCj4gKyAgVUlOVDE2ICAgICAgICAgIEFkbWluUGFzc3dvcmRbUEFT U1dPUkRfTUFYX1NJWkVdOw0KPiArICBVSU5UOCAgICAgICAgICAgVGR0Ow0KPiArICBVSU5UOCAg ICAgICAgICAgUmVjb3Zlcnk7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBTdXNwZW5kOw0KPiArICBV SU5UOCAgICAgICAgICAgVGR0U3RhdGU7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBUZHRFbnJvbGxl ZDsNCj4gKyAgVUlOVDggICAgICAgICAgIFBCQUVuYWJsZTsNCj4gKw0KPiArICBVSU5UOCAgICAg ICAgICAgSHBldEJvb3RUaW1lOw0KPiArICBVSU5UOCAgICAgICAgICAgVXNiRGVidWc7DQo+ICsg IFVJTlQ4ICAgICAgICAgICBMcGU7DQo+ICsgIC8vDQo+ICsgIC8vIExQU1MgQ29uZmlndXJhdGlv bg0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc1BjaU1vZGVFbmFibGVkOw0KPiAr ICAvL1NjYw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc2VNTUNFbmFibGVkOw0KPiArICBVSU5U OCAgICAgICAgICAgTHBzc1NkaW9FbmFibGVkOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc1Nk Y2FyZEVuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBMcHNzU2RDYXJkU0RSMjVFbmFibGVk Ow0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc1NkQ2FyZEREUjUwRW5hYmxlZDsNCj4gKyAgVUlO VDggICAgICAgICAgIExwc3NNaXBpSHNpOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc2VNTUM0 NUVuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBMcHNzZU1NQzQ1RERSNTBFbmFibGVkOw0K PiArICBVSU5UOCAgICAgICAgICAgTHBzc2VNTUM0NUhTMjAwRW5hYmxlZDsNCj4gKyAgVUlOVDgg ICAgICAgICAgIExwc3NlTU1DNDVSZXR1bmVUaW1lclZhbHVlOw0KPiArICBVSU5UOCAgICAgICAg ICAgZU1NQ0Jvb3RNb2RlOw0KPiArDQo+ICsgIC8vTFBTUzINCj4gKyAgVUlOVDggICAgICAgICAg IExwc3NEbWExRW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkMwRW5hYmxlZDsN Cj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkMxRW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAg ICAgIExwc3NJMkMyRW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkMzRW5hYmxl ZDsNCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkM0RW5hYmxlZDsNCj4gKyAgVUlOVDggICAg ICAgICAgIExwc3NJMkM1RW5hYmxlZDsNCj4gKyAgVUlOVDggICAgICAgICAgIExwc3NJMkM2RW5h YmxlZDsNCj4gKyAgLy9MUFNTMQ0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc0RtYTBFbmFibGVk Ow0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc1B3bTBFbmFibGVkOw0KPiArICBVSU5UOCAgICAg ICAgICAgTHBzc1B3bTFFbmFibGVkOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc0hzdWFydDBF bmFibGVkOw0KPiArICBVSU5UOCAgICAgICAgICAgTHBzc0hzdWFydDFFbmFibGVkOw0KPiArICBV SU5UOCAgICAgICAgICAgTHBzc1NwaUVuYWJsZWQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBJMkNU b3VjaEFkOw0KPiArDQo+ICsgIFVJTlQ4ICAgR1RUU2l6ZTsNCj4gKyAgLy8NCj4gKyAgLy8gRFZN VDUuMCBHcmFwaGljIG1lbW9yeSBzZXR0aW5nDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgSWdkRHZt dDUwUHJlQWxsb2M7DQo+ICsgIFVJTlQ4ICAgSWdkRHZtdDUwVG90YWxBbGxvYzsNCj4gKyAgVUlO VDggICBJZ2RUdXJib0VuYWJsZWQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXNiIENvbmZpZw0K PiArICAvLw0KPiArICBVSU5UOCAgIFVzYkF1dG9Nb2RlOyAgICAgICAvLyBQQ0ggY29udHJvbGxl ciBBdXRvIG1vZGUNCj4gKyAgVUlOVDggICBVc2JYaGNpU3VwcG9ydDsNCj4gKyAgVUlOVDggICBI c2ljMDsNCj4gKyAgVUlOVDggICBQY2hVc2IzME1vZGU7DQo+ICsgIFVJTlQ4ICAgUGNoVXNiMzBT dHJlYW1zOw0KPiArICBVSU5UOCAgIFBjaFVzYjIwOw0KPiArICBVSU5UOCAgIFBjaFVzYlBlclBv cnRDdGw7DQo+ICsgIFVJTlQ4ICAgUGNoVXNiUG9ydFs4XTsNCj4gKyAgVUlOVDggICBQY2hVc2JS bWg7DQo+ICsgIFVJTlQ4ICAgUGNoVXNiT3RnOw0KPiArICBVSU5UOCAgIFBjaFVzYlZidXNPbjsg ICAgICAgLy9PVEcgVkJVUyBjb250cm9sDQo+ICsgIFVJTlQ4ICAgUGNoRlNBT247ICAgICAgIC8v RlNBIGNvbnRyb2wNCj4gKyAgVUlOVDggICBFaGNpUGxsQ2ZnRW5hYmxlOw0KPiArDQo+ICsNCj4g KyAgLy9HYmUNCj4gKyAgVUlOVDggICAgICAgICBQY2llUm9vdFBvcnRTcGVlZFtQQ0hfUENJRV9N QVhfUk9PVF9QT1JUU107DQo+ICsgIFVJTlQ4ICAgU2xwTGFuTG93RGM7DQo+ICsNCj4gKyAgVUlO VDggICBJU0NUMDA7DQo+ICsgIFVJTlQ4ICAgSVNDVDAxOw0KPiArICBVSU5UOCAgIElTQ1QwMjsN Cj4gKyAgVUlOVDggICBJU0NUMDM7DQo+ICsgIFVJTlQ4ICAgIElTQ1QwNDsNCj4gKyAgVUlOVDgg ICAgSVNDVDA1Ow0KPiArICBVSU5UOCAgICBJU0NUMDY7DQo+ICsgIFVJTlQ4ICAgIElTQ1QwNzsN Cj4gKyAgLy8NCj4gKyAgLy8gQXphbGlhIENvbmZpZ3VyYXRpb24NCj4gKyAgLy8NCj4gKyAgVUlO VDggICBQY2hBemFsaWE7DQo+ICsgIFVJTlQ4ICAgQXphbGlhVkNpRW5hYmxlOw0KPiArICBVSU5U OCAgIEF6YWxpYURzOw0KPiArICBVSU5UOCAgIEF6YWxpYVBtZTsNCj4gKyAgVUlOVDggICBIZG1p Q29kZWM7DQo+ICsNCj4gKyAgVUlOVDggICBVYXJ0SW50ZXJmYWNlOw0KPiArICBVSU5UOCAgIFBj dVVhcnQxOw0KPiArICAvL1VJTlQ4ICAgUGN1VWFydDI7Ly9mb3IgQTANCj4gKyAgVUlOVDggICBT dGF0ZUFmdGVyRzM7DQo+ICsgIFVJTlQ4ICAgRW5hYmxlQ2xvY2tTcHJlYWRTcGVjOw0KPiArICBV SU5UOCAgIEdyYXBoaWNSZXNlcnZlMDA7DQo+ICsgIFVJTlQ4ICAgR09QRW5hYmxlOw0KPiArICBV SU5UOCAgIEdPUEJyaWdodG5lc3NMZXZlbDsgICAgICAgICAgICAgICAgICAgICAvL0dvcCBCcmln aHRuZXNzIGxldmVsDQo+ICsgIFVJTlQ4ICAgUGF2cE1vZGU7DQo+ICsgIFVJTlQ4ICAgU0VDMDQ7 DQo+ICsgIFVJTlQ4ICAgU0VDMDU7DQo+ICsgIFVJTlQ4ICAgU0VDMDY7DQo+ICsgIFVJTlQ4ICAg U0VDMDc7DQo+ICsNCj4gKyAgVUlOVDggICBIZG1pQ29kZWNQb3J0QjsNCj4gKyAgVUlOVDggICBI ZG1pQ29kZWNQb3J0QzsNCj4gKyAgVUlOVDggICBIZG1pQ29kZWNQb3J0RDsNCj4gKyAgVUlOVDgg ICBMaWRTdGF0dXM7DQo+ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQwMDsNCj4gKyAgVUlOVDggICBSZXNl cnZlZDAxOw0KPiArICBVSU5UMTYgIFJlc2VydmVkMDI7DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQw MzsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDA0Ow0KPiArICBVSU5UMTYgIFJlc2VydmVkMDU7DQo+ ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwNjsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDA3Ow0KPiArICBV SU5UMTYgIFJlc2VydmVkMDg7DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwOTsNCj4gKyAgVUlOVDE2 ICBSZXNlcnZlZDBBOw0KPiArICBVSU5UMTYgIFJlc2VydmVkMEI7DQo+ICsgIFVJTlQxNiAgUmVz ZXJ2ZWQwQzsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDBEOw0KPiArICBVSU5UOCAgIFJlc2VydmVk MEU7DQo+ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQwRjsNCj4gKyAgVUlOVDMyICBSZXNlcnZlZDEwOw0K PiArICBVSU5UMzIgIFJlc2VydmVkMTE7DQo+ICsgIFVJTlQzMiAgUmVzZXJ2ZWQxMjsNCj4gKyAg VUlOVDMyICBSZXNlcnZlZDEzOw0KPiArICBVSU5UMzIgIFJlc2VydmVkMTQ7DQo+ICsgIFVJTlQ4 ICAgUmVzZXJ2ZWQxNTsNCj4gKyAgVUlOVDggICBSZXNlcnZlZDE2Ow0KPiArICBVSU5UOCAgIFJl c2VydmVkMTc7DQo+ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQxODsNCj4gKyAgVUlOVDggICBSZXNlcnZl ZDE5Ow0KPiArICBVSU5UOCAgIFJlc2VydmVkMUE7DQo+ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQxQjsN Cj4gKyAgVUlOVDggICBSZXNlcnZlZDFDOw0KPiArICBVSU5UOCAgIFJlc2VydmVkMUQ7DQo+ICsg IFVJTlQ4ICAgUmVzZXJ2ZWQxRTsNCj4gKyAgVUlOVDggICBSZXNlcnZlZDFGOw0KPiArICBVSU5U OCAgIFJlc2VydmVkMjA7DQo+ICsgIFVJTlQ4ICAgUG1pY0VuYWJsZTsNCj4gKyAgVUlOVDggICBJ ZGxlUmVzZXJ2ZTsNCj4gKyAgVUlOVDggICBUU0VHU2l6ZVNlbDsNCj4gKyAgVUlOVDggICBBQ1BJ TWVtRGJnOw0KPiArICBVSU5UOCAgICBFeElTdXBwb3J0Ow0KPiArICBVSU5UOCAgIEJhdHRlcnlD aGFyZ2luZ1NvbHV0aW9uOyAgICAgICAgICAgICAgICAgLy8wLW5vbiBVTFBNQyAxLVVMUE1DDQo+ ICsgIFVJTlQ4ICAgUG5wU2V0dGluZ3M7DQo+ICsgIFVJTlQ4ICAgQ2Zpb1BucFNldHRpbmdzOw0K PiArICBVSU5UOCAgIFBjaEVoY2lEZWJ1ZzsNCj4gKyAgVUlOVDggICBDUklEU2V0dGluZ3M7DQo+ ICsgIFVJTlQ4ICAgVUxQTUNGV0xvY2s7DQo+ICsgIFVJTlQ4ICAgU3BpUndQcm90ZWN0Ow0KPiAr ICBVSU5UOCAgIEdyYXBoaWNSZXNlcnZlMDI7DQo+ICsgIFVJTlQ4ICAgUERNQ29uZmlnOw0KPiAr ICBVSU5UMTYgIExtTWVtU2l6ZTsNCj4gKyAgVUlOVDggICBQdW5pdEJJT1NDb25maWc7DQo+ICsg IFVJTlQ4ICAgTHBzc1NkaW9Nb2RlOw0KPiArICBVSU5UOCAgIEVOREJHMjsNCj4gKyAgVUlOVDgg ICBXaXR0RW5hYmxlOw0KPiArICBVSU5UOCAgIFV0c0VuYWJsZTsNCj4gKyAgVUlOVDggICBUcmlz dGF0ZUxwYzsNCj4gKyAgVUlOVDggICBHcmFwaGljUmVzZXJ2ZTA1Ow0KPiArICBVSU5UOCAgIFVz YlhoY2lMcG1TdXBwb3J0Ow0KPiArICBVSU5UOCAgIEVuYWJsZUFFU05JOw0KPiArICBVSU5UOCAg IFNlY3VyZUVyYXNlOw0KPiArDQo+ICsgIFVJTlQ4ICAgTW1pb1NpemU7DQo+ICsNCj4gKw0KPiAr ICBVSU5UOCAgIFNBUjE7DQo+ICsNCj4gKyAgVUlOVDggICBEaXNhYmxlQ29kZWMyNjI7DQo+ICsg IFVJTlQ4ICAgUmVzZXJ2ZWRPOw0KPiArICBVSU5UOCAgIFBjaWVEeW5hbWljR2F0aW5nOyAgICAg ICAgLy8gTmVlZCBQTUMgZW5hYmxlIGl0IGZpcnN0IGZyb20gUE1DDQo+IDB4M18xMiBNQ1UgMzE4 Lg0KPiArDQo+ICsgIFVJTlQ4ICAgTWlwaURzaTsNCj4gKw0KPiArICAvL0FkZGVkIGZsb3cgY29u dHJvbCBpdGVtIGZvciBVQVJUMSBhbmQgVUFSVDINCj4gKyAgVUlOVDggIExwc3NIc3VhcnQwRmxv d0NvbnRyb2xFbmFibGVkOw0KPiArICBVSU5UOCAgTHBzc0hzdWFydDFGbG93Q29udHJvbEVuYWJs ZWQ7DQo+ICsNCj4gKyAgVUlOVDggICBTZENhcmRSZW1vdmFibGU7IC8vIEFDUEkgcmVwb3J0aW5n IE1NQy9TRCBtZWRpYSBhczoNCj4gcmVtb3ZhYmxlL25vbi1yZW1vdmFibGUNCj4gKyAgVUlOVDgg ICBHcGlvV2FrZUNhcGFiaWxpdHk7DQo+ICsgIFVJTlQ4ICAgUnRjQmF0dGVyeTsNCj4gKyAgVUlO VDggICBMcGVBdWRpb1JlcG9ydGVkQnlEU0RUOw0KPiArDQo+ICsgIFVJTlQ4ICAgVWFydDFJbnQz NTExQ29tOyAvLyBSZXBvcnQgVUFSVDEgYXMgQ09NIHdpdGggX0hJRCBJTlQzNTExDQo+ICsgIENI QVIxNiAgU3lzdGVtVXVpZFszN107DQo+ICsNCj4gK30gU1lTVEVNX0NPTkZJR1VSQVRJT047DQo+ ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsjaWZuZGVmIFBMQVRGT1JNX1NFVFVQX1ZBUklBQkxF X05BTUUNCj4gKyNkZWZpbmUgUExBVEZPUk1fU0VUVVBfVkFSSUFCTEVfTkFNRSAgICAgICAgICAg ICBMIlNldHVwIg0KPiArI2VuZGlmDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArdHlwZWRl ZiBzdHJ1Y3R7DQo+ICsgIC8vIFBhc3N3b3Jkcw0KPiArICBVSU5UMTYgICAgICAgIFVzZXJQYXNz d29yZFtQQVNTV09SRF9NQVhfU0laRV07DQo+ICsgIFVJTlQxNiAgICAgICAgQWRtaW5QYXNzd29y ZFtQQVNTV09SRF9NQVhfU0laRV07DQo+ICsgIFVJTlQxNiAgICAgICAgRHVtbXlEYXRhRm9yVmZy QnVnOyAgLy8gRG9uJ3QgY2hhbmdlIG9yIHVzZQ0KPiArDQo+ICt9IFNZU1RFTV9QQVNTV09SRFM7 DQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsvLw0KPiArLy8gI2RlZmluZXMgZm9yIERyaXZl IFByZXNlbmNlDQo+ICsvLw0KPiArI2RlZmluZSBFRklfSEREX1BSRVNFTlQgICAgICAgMHgwMQ0K PiArI2RlZmluZSBFRklfSEREX05PVF9QUkVTRU5UICAgMHgwMA0KPiArI2RlZmluZSBFRklfQ0Rf UFJFU0VOVCAgICAgICAgMHgwMg0KPiArI2RlZmluZSBFRklfQ0RfTk9UX1BSRVNFTlQgICAgMHgw MA0KPiArDQo+ICsjZGVmaW5lIEVGSV9IRERfV0FSTklOR19PTiAgICAweDAxDQo+ICsjZGVmaW5l IEVGSV9DRF9XQVJOSU5HX09OICAgICAweDAyDQo+ICsjZGVmaW5lIEVGSV9TTUFSVF9XQVJOSU5H X09OICAweDA0DQo+ICsjZGVmaW5lIEVGSV9IRERfV0FSTklOR19PRkYgICAweDAwDQo+ICsjZGVm aW5lIEVGSV9DRF9XQVJOSU5HX09GRiAgICAweDAwDQo+ICsjZGVmaW5lIEVGSV9TTUFSVF9XQVJO SU5HX09GRiAweDAwDQo+ICsNCj4gKyNpZm5kZWYgVkZSQ09NUElMRQ0KPiArZXh0ZXJuIEVGSV9H VUlEIGdFZmlTZXR1cFZhcmlhYmxlR3VpZDsNCj4gKyNlbmRpZg0KPiArDQo+ICsjZGVmaW5lIFNF VFVQX0RBVEEgU1lTVEVNX0NPTkZJR1VSQVRJT04NCj4gKw0KPiArI2VuZGlmIC8vICNpZm5kZWYg X1NFVFVQX1ZBUklBQkxFDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvSHBldC5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvSW5jbHVkZS9IcGV0LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uZTQ0OGVlOTc5Ng0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvSHBldC5oDQo+IEBAIC0wLDAgKzEsNDAg QEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTXNlZy5oDQo+ICsNCj4gK0Fic3Ry YWN0Og0KPiArDQo+ICsgIFRoaXMgZmlsZSBkZXNjcmliZXMgdGhlIGNvbnRlbnRzIG9mIHRoZSBB Q1BJIEhFUFQgVGFibGUuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfSFBFVF9IDQo+ ICsjZGVmaW5lIF9IUEVUX0gNCj4gKw0KPiArLy8NCj4gKy8vIFN0YXRlbWVudHMgdGhhdCBpbmNs dWRlIG90aGVyIGZpbGVzDQo+ICsvLw0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvQWNw aTEwLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9BY3BpMjAuaD4NCj4gKyNpbmNs dWRlIDxJbmR1c3RyeVN0YW5kYXJkL0FjcGkzMC5oPg0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3Rh bmRhcmQvSGlnaFByZWNpc2lvbkV2ZW50VGltZXJUYWJsZS5oPg0KPiArDQo+ICsvLw0KPiArLy8g SFBFVCBEZWZpbml0aW9ucw0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0FDUElfSFBFVF9UQUJMRV9S RVZJU0lPTiAgICAgICAgICAgIDB4MQ0KPiArI2RlZmluZSBNQUlOX0NPVU5URVJfTUlOX1BFUklP RElDX0NMT0NLX1RJQ0tTCTB4ODANCj4gLy9hcHByb3ggMW1zDQo+ICsNCj4gKyNkZWZpbmUgSFBF VF9CQVNFX0FERFJFU1MgICAgICAgICAgICAgICAgICAgICAgIDB4RkVEMDAwMDANCj4gKyNkZWZp bmUgRUZJX0FDUElfRVZFTlRfVElNRVJfQkxPQ0tfSUQgICAgICAgICAgIDB4ODA4NkEwMDENCj4g Kw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmlvc0lkTGliLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvQmlvc0lkTGliLmgNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNDg0YjM1ODI2NA0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFy eS9CaW9zSWRMaWIuaA0KPiBAQCAtMCwwICsxLDEwNCBAQA0KPiArLyorKw0KPiArDQo+ICsgIENv cHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBCaW9zSWRMaWIuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBCSU9T IElEIGxpYnJhcnkgZGVmaW5pdGlvbnMuDQo+ICsNCj4gKyAgVGhpcyBsaWJyYXJ5IHByb3ZpZGVz IGZ1bmN0aW9ucyB0byBnZXQgQklPUyBJRCwgVkVSU0lPTiwgREFURSBhbmQgVElNRQ0KPiArDQo+ ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX0JJT1NfSURfTElCX0hfDQo+ICsjZGVmaW5lIF9CSU9T X0lEX0xJQl9IXw0KPiArDQo+ICsvLw0KPiArLy8gQklPUyBJRCBzdHJpbmcgZm9ybWF0Og0KPiAr Ly8NCj4gKy8vDQo+ICQoQk9BUkRfSUQpJChCT0FSRF9SRVYpLiQoT0VNX0lEKS4kKFZFUlNJT05f TUFKT1IpLiQoQlVJTERfVFlQRQ0KPiApJChWRVJTSU9OX01JTk9SKS5ZWU1NRERISE1NDQo+ICsv Lw0KPiArLy8gRXhhbXBsZTogIlRSRlRDUkIxLjg2Qy4wMDA4LkQwMy4wNTA2MDgxNTI5Ig0KPiAr Ly8NCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIENI QVIxNiAgQm9hcmRJZFs3XTsgICAgICAgICAgICAgICAvLyAiVFJGVENSQiINCj4gKyAgQ0hBUjE2 ICBCb2FyZFJldjsgICAgICAgICAgICAgICAgIC8vICIxIg0KPiArICBDSEFSMTYgIERvdDE7ICAg ICAgICAgICAgICAgICAgICAgLy8gIi4iDQo+ICsgIENIQVIxNiAgT2VtSWRbM107ICAgICAgICAg ICAgICAgICAvLyAiODZDIg0KPiArICBDSEFSMTYgIERvdDI7ICAgICAgICAgICAgICAgICAgICAg Ly8gIi4iDQo+ICsgIENIQVIxNiAgVmVyc2lvbk1ham9yWzRdOyAgICAgICAgICAvLyAiMDAwOCIN Cj4gKyAgQ0hBUjE2ICBEb3QzOyAgICAgICAgICAgICAgICAgICAgIC8vICIuIg0KPiArICBDSEFS MTYgIEJ1aWxkVHlwZTsgICAgICAgICAgICAgICAgLy8gIkQiDQo+ICsgIENIQVIxNiAgVmVyc2lv bk1pbm9yWzJdOyAgICAgICAgICAvLyAiMDMiDQo+ICsgIENIQVIxNiAgRG90NDsgICAgICAgICAg ICAgICAgICAgICAvLyAiLiINCj4gKyAgQ0hBUjE2ICBUaW1lU3RhbXBbMTBdOyAgICAgICAgICAg IC8vICJZWU1NRERISE1NIg0KPiArICBDSEFSMTYgIE51bGxUZXJtaW5hdG9yOyAgICAgICAgICAg Ly8gMHgwMDAwDQo+ICt9IEJJT1NfSURfU1RSSU5HOw0KPiArDQo+ICsjZGVmaW5lIE1FTV9JRldJ VkVSX1NUQVJUICAgICAgICAgICAweDdFMDAwMA0KPiArI2RlZmluZSBNRU1fSUZXSVZFUl9MRU5H VEggICAgICAgICAgMHgxMDAwDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9NQU5JRkVTVF9PRU1f REFUQXsNCj4gKyAgVUlOVDMyICAgICAgICAgU2lnbmF0dXJlOw0KPiArICB1bnNpZ25lZCBjaGFy ICBGaWxsTnVsbFsweDM5XTsNCj4gKyAgVUlOVDMyICAgICAgICAgSUZXSVZlcnNpb25MZW47DQo+ ICsgIHVuc2lnbmVkIGNoYXIgIElGV0lWZXJzaW9uWzMyXTsNCj4gK31NQU5JRkVTVF9PRU1fREFU QTsNCj4gKw0KPiArLy8NCj4gKy8vIEEgc2lnbmF0dXJlIHByZWNlZGVzIHRoZSBCSU9TIElEIHN0 cmluZyBpbiB0aGUgRlYgdG8gZW5hYmxlIHNlYXJjaCBieQ0KPiBleHRlcm5hbCB0b29scy4NCj4g Ky8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgICAgICAgICBTaWduYXR1cmVb OF07ICAgICAvLyAiJElCSU9TSSQiDQo+ICsgIEJJT1NfSURfU1RSSU5HICBCaW9zSWRTdHJpbmc7 ICAgICAvLyAiVFJGVENSQjEuODZDLjAwMDguRDAzLjA1MDYwODE1MjkiDQo+ICt9IEJJT1NfSURf SU1BR0U7DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1 bmN0aW9uIHJldHVybnMgQklPUyBJRCBieSBzZWFyY2hpbmcgSE9CIG9yIEZWLg0KPiArDQo+ICsg IEBwYXJhbVtpbl0gIEJpb3NJZEltYWdlICAgICAgICAgVGhlIEJJT1MgSUQgZ290IGZyb20gSE9C IG9yIEZWDQo+ICsNCj4gKyAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgICBBbGwgcGFy YW1ldGVycyB3ZXJlIHZhbGlkIGFuZCBCSU9TIElEIGhhcw0KPiBiZWVuIGdvdC4NCj4gKyAgQHJl dHZhbCAgRUZJX05PVF9GT1VORCAgICAgICAgICBCaW9zSWQgaW1hZ2UgaXMgbm90IGZvdW5kLCBh bmQgbm8NCj4gcGFyYW1ldGVyIHdpbGwgYmUgbW9kaWZpZWQuDQo+ICsgIEByZXR2YWwgIEVGSV9J TlZBTElEX1BBUkFNRVRFUiAgVGhlIHBhcmFtZXRlciBpcyBOVUxMLg0KPiArDQo+ICsqKi8NCj4g K0VGSV9TVEFUVVMNCj4gK0dldEJpb3NJZCAoDQo+ICsgIE9VVCBCSU9TX0lEX0lNQUdFICAgICAq Qmlvc0lkSW1hZ2UNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gcmV0 dXJucyB0aGUgVmVyc2lvbiAmIFJlbGVhc2UgRGF0ZSBhbmQgVGltZSBieSBnZXR0aW5nIGFuZA0K PiBjb252ZXJ0aW5nDQo+ICsgIEJJT1MgSUQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBCaW9zVmVy c2lvbiAgICAgICAgIFRoZSBCaW9zIFZlcnNpb24gb3V0IG9mIHRoZSBjb252ZXJzaW9uLg0KPiAr ICBAcGFyYW1baW5dIEJpb3NSZWxlYXNlRGF0ZSAgICAgVGhlIEJpb3MgUmVsZWFzZSBEYXRlIG91 dCBvZiB0aGUNCj4gY29udmVyc2lvbi4NCj4gKyAgQHBhcmFtW2luXSBCaW9zUmVsZWFzZVRpbWUg ICAgIFRoZSBCaW9zIFJlbGVhc2UgVGltZSBvdXQgb2YgdGhlDQo+IGNvbnZlcnNpb24uDQo+ICsN Cj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIEJJT1MgVmVyc2lvbiAmIFJlbGVh c2UgRGF0ZSBhbmQgVGltZSBoYXZlDQo+IGJlZW4gZ290IHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJl dHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgIEJpb3NJZCBpbWFnZSBpcyBub3QgZm91bmQsIGFu ZCBubw0KPiBwYXJhbWV0ZXIgd2lsbCBiZSBtb2RpZmllZC4NCj4gKyAgQHJldHZhbCBFRklfSU5W QUxJRF9QQVJBTUVURVIgIEFsbCB0aGUgcGFyYW1ldGVycyBhcmUgTlVMTC4NCj4gKw0KPiArKiov DQo+ICtFRklfU1RBVFVTDQo+ICtHZXRCaW9zVmVyc2lvbkRhdGVUaW1lICgNCj4gKyAgT1VUIENI QVIxNiAgICAqQmlvc1ZlcnNpb24sIE9QVElPTkFMDQo+ICsgIE9VVCBDSEFSMTYgICAgKkJpb3NS ZWxlYXNlRGF0ZSwgT1BUSU9OQUwNCj4gKyAgT1VUIENIQVIxNiAgICAqQmlvc1JlbGVhc2VUaW1l IE9QVElPTkFMDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0NwdUlBMzIuaA0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9DcHVJQTMy LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNzhjNzgzMTlj ZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvTGlicmFyeS9DcHVJQTMyLmgNCj4gQEAgLTAsMCArMSwzNDUgQEANCj4gKy8q KysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0K PiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgQ3B1SUEzMi5oDQo+ICsNCj4gK0Fic3RyYWN0Og0K PiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX0NQVV9JQTMyX0gNCj4gKyNkZWZpbmUgX0NQ VV9JQTMyX0gNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgIFJlZ0VheDsN Cj4gKyAgVUlOVDMyICBSZWdFYng7DQo+ICsgIFVJTlQzMiAgUmVnRWN4Ow0KPiArICBVSU5UMzIg IFJlZ0VkeDsNCj4gK30gRUZJX0NQVUlEX1JFR0lTVEVSOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIFVJTlQzMiAgSGVhZGVyVmVyc2lvbjsNCj4gKyAgVUlOVDMyICBVcGRhdGVSZXZp c2lvbjsNCj4gKyAgVUlOVDMyICBEYXRlOw0KPiArICBVSU5UMzIgIFByb2Nlc3NvcklkOw0KPiAr ICBVSU5UMzIgIENoZWNrc3VtOw0KPiArICBVSU5UMzIgIExvYWRlclJldmlzaW9uOw0KPiArICBV SU5UMzIgIFByb2Nlc3NvckZsYWdzOw0KPiArICBVSU5UMzIgIERhdGFTaXplOw0KPiArICBVSU5U MzIgIFRvdGFsU2l6ZTsNCj4gKyAgVUlOVDggICBSZXNlcnZlZFsxMl07DQo+ICt9IEVGSV9DUFVf TUlDUk9DT0RFX0hFQURFUjsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIg IEV4dGVuZGVkU2lnbmF0dXJlQ291bnQ7DQo+ICsgIFVJTlQzMiAgRXh0ZW5kZWRUYWJsZUNoZWNr c3VtOw0KPiArICBVSU5UOCAgIFJlc2VydmVkWzEyXTsNCj4gK30gRUZJX0NQVV9NSUNST0NPREVf RVhURU5ERURfVEFCTEVfSEVBREVSOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJ TlQzMiAgUHJvY2Vzc29yU2lnbmF0dXJlOw0KPiArICBVSU5UMzIgIFByb2Nlc3NvckZsYWc7DQo+ ICsgIFVJTlQzMiAgUHJvY2Vzc29yQ2hlY2tzdW07DQo+ICt9IEVGSV9DUFVfTUlDUk9DT0RFX0VY VEVOREVEX1RBQkxFOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgU3Rl cHBpbmcgICAgICAgOiA0Ow0KPiArICBVSU5UMzIgIE1vZGVsICAgICAgICAgIDogNDsNCj4gKyAg VUlOVDMyICBGYW1pbHkgICAgICAgICA6IDQ7DQo+ICsgIFVJTlQzMiAgVHlwZSAgICAgICAgICAg OiAyOw0KPiArICBVSU5UMzIgIFJlc2VydmVkMSAgICAgIDogMjsNCj4gKyAgVUlOVDMyICBFeHRl bmRlZE1vZGVsICA6IDQ7DQo+ICsgIFVJTlQzMiAgRXh0ZW5kZWRGYW1pbHkgOiA4Ow0KPiArICBV SU5UMzIgIFJlc2VydmVkMiAgICAgIDogNDsNCj4gK30gRUZJX0NQVV9WRVJTSU9OOw0KPiArDQo+ ICsjZGVmaW5lIEVGSV9DUFVJRF9TSUdOQVRVUkUgICAgICAgICAgICAgICAgICAgMHgwDQo+ICsj ZGVmaW5lIEVGSV9DUFVJRF9WRVJTSU9OX0lORk8gICAgICAgICAgICAgICAgMHgxDQo+ICsjZGVm aW5lIEVGSV9DUFVJRF9DQUNIRV9JTkZPICAgICAgICAgICAgICAgICAgMHgyDQo+ICsjZGVmaW5l IEVGSV9DUFVJRF9TRVJJQUxfTlVNQkVSICAgICAgICAgICAgICAgMHgzDQo+ICsjZGVmaW5lIEVG SV9DUFVJRF9FWFRFTkRFRF9GVU5DVElPTiAgICAgICAgICAgMHg4MDAwMDAwMA0KPiArI2RlZmlu ZSBFRklfQ1BVSURfRVhURU5ERURfQ1BVX1NJRyAgICAgICAgICAgIDB4ODAwMDAwMDENCj4gKyNk ZWZpbmUgRUZJX0NQVUlEX0JSQU5EX1NUUklORzEgICAgICAgICAgICAgICAweDgwMDAwMDAyDQo+ ICsjZGVmaW5lIEVGSV9DUFVJRF9CUkFORF9TVFJJTkcyICAgICAgICAgICAgICAgMHg4MDAwMDAw Mw0KPiArI2RlZmluZSBFRklfQ1BVSURfQlJBTkRfU1RSSU5HMyAgICAgICAgICAgICAgIDB4ODAw MDAwMDQNCj4gKw0KPiArI2RlZmluZSBFRklfTVNSX0lBMzJfUExBVEZPUk1fSUQgICAgICAgICAg ICAgIDB4MTcNCj4gKyNkZWZpbmUgRUZJX01TUl9JQTMyX0FQSUNfQkFTRSAgICAgICAgICAgICAg ICAweDFCDQo+ICsjZGVmaW5lIEVGSV9NU1JfRUJDX0hBUkRfUE9XRVJPTiAgICAgICAgICAgICAg MHgyQQ0KPiArI2RlZmluZSBFRklfTVNSX0VCQ19TT0ZUX1BPV0VST04gICAgICAgICAgICAgIDB4 MkINCj4gKyNkZWZpbmUgQklOSVRfRFJJVkVSX0RJU0FCTEUgICAgICAgICAgICAgICAgICAweDQw DQo+ICsjZGVmaW5lIElOVEVSTkFMX01DRVJSX0RJU0FCTEUgICAgICAgICAgICAgICAgMHgyMA0K PiArI2RlZmluZSBJTklUSUFUT1JfTUNFUlJfRElTQUJMRSAgICAgICAgICAgICAgIDB4MTANCj4g KyNkZWZpbmUgRUZJX01TUl9FQkNfRlJFUVVFTkNZX0lEICAgICAgICAgICAgICAweDJDDQo+ICsj ZGVmaW5lIEVGSV9NU1JfSUEzMl9CSU9TX1VQRFRfVFJJRyAgICAgICAgICAgMHg3OQ0KPiArI2Rl ZmluZSBFRklfTVNSX0lBMzJfQklPU19TSUdOX0lEICAgICAgICAgICAgIDB4OEINCj4gKyNkZWZp bmUgRUZJX01TUl9QU0JfQ0xPQ0tfU1RBVFVTICAgICAgICAgICAgICAweENEDQo+ICsjZGVmaW5l IEVGSV9BUElDX0dMT0JBTF9FTkFCTEUgICAgICAgICAgICAgICAgMHg4MDANCj4gKyNkZWZpbmUg RUZJX01TUl9JQTMyX01JU0NfRU5BQkxFICAgICAgICAgICAgICAweDFBMA0KPiArI2RlZmluZSBM SU1JVF9DUFVJRF9NQVhWQUxfRU5BQkxFX0JJVCAgICAgICAgIDB4MDA0MDAwMDANCj4gKyNkZWZp bmUgQVVUT01BVElDX1RIRVJNQUxfQ09OVFJPTF9FTkFCTEVfQklUICAweDAwMDAwMDA4DQo+ICsj ZGVmaW5lIENPTVBBVElCTEVfRlBVX09QQ09ERV9FTkFCTEVfQklUICAgICAgMHgwMDAwMDAwNA0K PiArI2RlZmluZSBMT0dJQ0FMX1BST0NFU1NPUl9QUklPUklUWV9FTkFCTEVfQklUIDB4MDAwMDAw MDINCj4gKyNkZWZpbmUgRkFTVF9TVFJJTkdfRU5BQkxFX0JJVCAgICAgICAgICAgICAgICAweDAw MDAwMDAxDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0NBQ0hFX1ZBUklBQkxFX01UUlJfQkFTRSAgICAg ICAgICAweDIwMA0KPiArI2RlZmluZSBFRklfQ0FDSEVfVkFSSUFCTEVfTVRSUl9FTkQgICAgICAg ICAgIDB4MjBGDQo+ICsjZGVmaW5lIEVGSV9DQUNIRV9JQTMyX01UUlJfREVGX1RZUEUgICAgICAg ICAgMHgyRkYNCj4gKyNkZWZpbmUgRUZJX0NBQ0hFX01UUlJfVkFMSUQgICAgICAgICAgICAgICAg ICAweDgwMA0KPiArI2RlZmluZSBFRklfQ0FDSEVfRklYRURfTVRSUl9WQUxJRCAgICAgICAgICAg IDB4NDAwDQo+ICsjZGVmaW5lIEVGSV9DQUNIRV9WQUxJRF9BRERSRVNTICAgICAgICAgICAgICAg MHhGRkZGRkYwMDANCj4gKyNkZWZpbmUgRUZJX01TUl9WQUxJRF9NQVNLICAgICAgICAgICAgICAg ICAgICAweEZGRkZGRkZGRg0KPiArI2RlZmluZSBFRklfQ0FDSEVfVkFMSURfRVhURU5ERURfQURE UkVTUyAgICAgIDB4RkZGRkZGRkZGRjAwMA0KPiArI2RlZmluZSBFRklfTVNSX1ZBTElEX0VYVEVO REVEX01BU0sgICAgICAgICAgIDB4RkZGRkZGRkZGRkZGRg0KPiArDQo+ICsjZGVmaW5lIEVGSV9J QTMyX01UUlJfRklYNjRLXzAwMDAwICAgICAgICAgICAgMHgyNTANCj4gKyNkZWZpbmUgRUZJX0lB MzJfTVRSUl9GSVgxNktfODAwMDAgICAgICAgICAgICAweDI1OA0KPiArI2RlZmluZSBFRklfSUEz Ml9NVFJSX0ZJWDE2S19BMDAwMCAgICAgICAgICAgIDB4MjU5DQo+ICsjZGVmaW5lIEVGSV9JQTMy X01UUlJfRklYNEtfQzAwMDAgICAgICAgICAgICAgMHgyNjgNCj4gKyNkZWZpbmUgRUZJX0lBMzJf TVRSUl9GSVg0S19DODAwMCAgICAgICAgICAgICAweDI2OQ0KPiArI2RlZmluZSBFRklfSUEzMl9N VFJSX0ZJWDRLX0QwMDAwICAgICAgICAgICAgIDB4MjZBDQo+ICsjZGVmaW5lIEVGSV9JQTMyX01U UlJfRklYNEtfRDgwMDAgICAgICAgICAgICAgMHgyNkINCj4gKyNkZWZpbmUgRUZJX0lBMzJfTVRS Ul9GSVg0S19FMDAwMCAgICAgICAgICAgICAweDI2Qw0KPiArI2RlZmluZSBFRklfSUEzMl9NVFJS X0ZJWDRLX0U4MDAwICAgICAgICAgICAgIDB4MjZEDQo+ICsjZGVmaW5lIEVGSV9JQTMyX01UUlJf RklYNEtfRjAwMDAgICAgICAgICAgICAgMHgyNkUNCj4gKyNkZWZpbmUgRUZJX0lBMzJfTVRSUl9G SVg0S19GODAwMCAgICAgICAgICAgICAweDI2Rg0KPiArDQo+ICsjZGVmaW5lIEVGSV9JQTMyX01D R19DQVAgICAgICAgICAgICAgICAgICAgICAgMHgxNzkNCj4gKyNkZWZpbmUgRUZJX0lBMzJfTUNH X0NUTCAgICAgICAgICAgICAgICAgICAgICAweDE3Qg0KPiArI2RlZmluZSBFRklfSUEzMl9NQzBf Q1RMICAgICAgICAgICAgICAgICAgICAgIDB4NDAwDQo+ICsjZGVmaW5lIEVGSV9JQTMyX01DMF9T VEFUVVMgICAgICAgICAgICAgICAgICAgMHg0MDENCj4gKw0KPiArI2RlZmluZSBFRklfSUEzMl9Q RVJGX1NUQVRVUyAgICAgICAgICAgICAgICAgIDB4MTk4DQo+ICsjZGVmaW5lIEVGSV9JQTMyX1BF UkZfQ1RMICAgICAgICAgICAgICAgICAgICAgMHgxOTkNCj4gKw0KPiArI2RlZmluZSBFRklfQ0FD SEVfVU5DQUNIRUFCTEUgICAgICAgICAgICAgICAgIDANCj4gKyNkZWZpbmUgRUZJX0NBQ0hFX1dS SVRFQ09NQklOSU5HICAgICAgICAgICAgICAxDQo+ICsjZGVmaW5lIEVGSV9DQUNIRV9XUklURVRI Uk9VR0ggICAgICAgICAgICAgICAgNA0KPiArI2RlZmluZSBFRklfQ0FDSEVfV1JJVEVQUk9URUNU RUQgICAgICAgICAgICAgIDUNCj4gKyNkZWZpbmUgRUZJX0NBQ0hFX1dSSVRFQkFDSyAgICAgICAg ICAgICAgICAgICA2DQo+ICsNCj4gKy8vDQo+ICsvLyBDb21iaW5lIGYoRmFtaWx5SWQpLCBtKE1v ZGVsKSwgcyhTdGVwcGluZ0lkKSB0byBhIHNpbmdsZSAzMiBiaXQgbnVtYmVyDQo+ICsvLw0KPiAr I2RlZmluZSBFZmlNYWtlQ3B1VmVyc2lvbihmLCBtLCBzKSAgICAgICAgIFwNCj4gKyAgKCgoVUlO VDMyKSAoZikgPDwgMTYpIHwgKChVSU5UMzIpIChtKSA8PCA4KSB8ICgoVUlOVDMyKSAocykpKQ0K PiArDQo+ICsvKioNCj4gKyAgSGFsdCB0aGUgQ3B1DQo+ICsNCj4gKyAgQHBhcmFtW2luXSBOb25l DQo+ICsNCj4gKyAgQHJldHZhbCBOb25lDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJ DQo+ICtFZmlIYWx0ICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgV3Jp dGUgYmFjayBhbmQgaW52YWxpZGF0ZSB0aGUgQ3B1IGNhY2hlDQo+ICsNCj4gKyAgQHBhcmFtW2lu XSBOb25lDQo+ICsNCj4gKyAgQHJldHZhbCBOb25lDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiAr RUZJQVBJDQo+ICtFZmlXYmludmQgKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0K PiArICBJbnZhbGlkYXRlIHRoZSBDcHUgY2FjaGUNCj4gKw0KPiArICAgQHBhcmFtW2luXSBOb25l DQo+ICsNCj4gKyAgIEByZXR2YWwgTm9uZQ0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQ SQ0KPiArRWZpSW52ZCAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIEdl dCB0aGUgQ3B1IGluZm8gYnkgZXhlY3V0ZSB0aGUgQ1BVSUQgaW5zdHJ1Y3Rpb24NCj4gKw0KPiAr ICBAcGFyYW1baW5dIFJlZ2lzdGVySW5FYXggVGhlIGlucHV0IHZhbHVlIHRvIHB1dCBpbnRvIHJl Z2lzdGVyIEVBWA0KPiArICBAcGFyYW1baW5dIFJlZ3MgICAgICAgICAgVGhlIE91dHB1dCB2YWx1 ZQ0KPiArDQo+ICsgIEByZXR2YWwgTm9uZQ0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQ SQ0KPiArRWZpQ3B1aWQgKA0KPiArICBJTiAgVUlOVDMyICAgICAgICAgICAgICAgICBSZWdpc3Rl ckluRWF4LA0KPiArICBPVVQgRUZJX0NQVUlEX1JFR0lTVEVSICAgICAqUmVncw0KPiArICApOw0K PiArDQo+ICsvKioNCj4gKyAgV2hlbiBSZWdpc3RlckluRWF4ICE9IDQsIHRoZSBmdW5jdGlvbmFs aXR5IGlzIHRoZSBzYW1lIGFzIEVmaUNwdWlkLg0KPiArICBXaGVuIFJlZ2lzdGVySW5FYXggPT0g NCwgdGhlIGZ1bmN0aW9uIHJldHVybiB0aGUgZGV0ZXJtaW5pc3RpYyBjYWNoZQ0KPiArICBwYXJh bWV0ZXJzIGJ5IGV4Y3V0aW5nIHRoZSBDUFVJRCBpbnN0cnVjdGlvbi4NCj4gKw0KPiArICBAcGFy YW1baW5dICBSZWdpc3RlckluRWF4ICBUaGUgaW5wdXQgdmFsdWUgdG8gcHV0IGludG8gcmVnaXN0 ZXIgRUFYLg0KPiArICBAcGFyYW1baW5dICBDYWNoZUxldmVsICAgICBUaGUgZGV0ZXJtaW5pc3Rp YyBjYWNoZSBsZXZlbC4NCj4gKyAgQHBhcmFtW2luXSAgUmVncyAgICAgICAgICAgVGhlIE91dHB1 dCB2YWx1ZS4NCj4gKw0KPiArICBAcmV0dmFsIE5vbmUNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ ICtFRklBUEkNCj4gK0VmaUNwdWlkRXh0ICgNCj4gKyAgSU4gIFVJTlQzMiAgICAgICAgICAgICAg ICAgUmVnaXN0ZXJJbkVheCwNCj4gKyAgSU4gIFVJTlQzMiAgICAgICAgICAgICAgICAgQ2FjaGVM ZXZlbCwNCj4gKyAgT1VUIEVGSV9DUFVJRF9SRUdJU1RFUiAgICAgKlJlZ3MNCj4gKyAgKTsNCj4g Kw0KPiArLyoqDQo+ICsgIFJlYWQgQ3B1IE1TUg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gSW5kZXgg IFRoZSBpbmRleCB2YWx1ZSB0byBzZWxlY3QgdGhlIHJlZ2lzdGVyDQo+ICsNCj4gKyAgQHJldHZh bCAgICAgICAgICAgUmV0dXJuIHRoZSByZWFkIGRhdGENCj4gKw0KPiArKiovDQo+ICtVSU5UNjQN Cj4gK0VGSUFQSQ0KPiArRWZpUmVhZE1zciAoDQo+ICsgIElOIFVJTlQzMiAgICAgSW5kZXgNCj4g KyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFdyaXRlIENwdSBNU1INCj4gKw0KPiArICBAcGFyYW1b aW5dIEluZGV4ICBUaGUgaW5kZXggdmFsdWUgdG8gc2VsZWN0IHRoZSByZWdpc3Rlcg0KPiArICBA cGFyYW1baW5dIFZhbHVlICBUaGUgdmFsdWUgdG8gd3JpdGUgdG8gdGhlIHNlbGVjdGVkIHJlZ2lz dGVyDQo+ICsNCj4gKyAgQHJldHZhbCBOb25lDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJ QVBJDQo+ICtFZmlXcml0ZU1zciAoDQo+ICsgIElOIFVJTlQzMiAgICAgSW5kZXgsDQo+ICsgIElO IFVJTlQ2NCAgICAgVmFsdWUNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFJlYWQgVGltZSBz dGFtcA0KPiArDQo+ICsgIEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgUmV0dXJu IHRoZSByZWFkIGRhdGENCj4gKw0KPiArKiovDQo+ICtVSU5UNjQNCj4gK0VGSUFQSQ0KPiArRWZp UmVhZFRzYyAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFdyaXRpbmcg YmFjayBhbmQgaW52YWxpZGF0ZSB0aGUgY2FjaGUsdGhlbiBkaWFibGUgaXQNCj4gKw0KPiArICBA cGFyYW1baW5dIE5vbmUNCj4gKw0KPiArICBAcmV0dmFsIE5vbmUNCj4gKw0KPiArKiovDQo+ICtW T0lEDQo+ICtFRklBUEkNCj4gK0VmaURpc2FibGVDYWNoZSAoDQo+ICsgIFZPSUQNCj4gKyAgKTsN Cj4gKw0KPiArLyoqDQo+ICsgIEludmFsaWRhdGUgdGhlIGNhY2hlLHRoZW4gRW5hYmxlIGl0DQo+ ICsNCj4gKyAgQHBhcmFtW2luXSBOb25lDQo+ICsNCj4gKyAgQHJldHZhbCBOb25lDQo+ICsNCj4g KyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtFZmlFbmFibGVDYWNoZSAoDQo+ICsgIFZPSUQN Cj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIEdldCBFZmxhZ3MNCj4gKw0KPiArICBAcGFyYW1b aW5dIE5vbmUNCj4gKw0KPiArICBAcmV0dmFsIFJldHVybiB0aGUgRWZsYWdzIHZhbHVlDQo+ICsN Cj4gKyoqLw0KPiArVUlOVDMyDQo+ICtFRklBUEkNCj4gK0VmaUdldEVmbGFncyAoDQo+ICsgIFZP SUQNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIERpc2FibGUgSW50ZXJydXB0cw0KPiArDQo+ ICsgIEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgTm9uZQ0KPiArDQo+ICsqKi8N Cj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArRWZpRGlzYWJsZUludGVycnVwdHMgKA0KPiArICBWT0lE DQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBFbmFibGUgSW50ZXJydXB0cw0KPiArDQo+ICsg IEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgTm9uZQ0KPiArDQo+ICsqKi8NCj4g K1ZPSUQNCj4gK0VGSUFQSQ0KPiArRWZpRW5hYmxlSW50ZXJydXB0cyAoDQo+ICsgIFZPSUQNCj4g KyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIEV4dHJhY3QgQ1BVIGRldGFpbCB2ZXJzaW9uIGluZm9t YXRpb24NCj4gKw0KPiArICBAcGFyYW1baW5dIEZhbWlseUlkICAgIEZhbWlseUlkLCBpbmNsdWRp bmcgRXh0ZW5kZWRGYW1pbHlJZA0KPiArICBAcGFyYW1baW5dIE1vZGVsICAgICAgIE1vZGVsLCBp bmNsdWRpbmcgRXh0ZW5kZWRNb2RlbA0KPiArICBAcGFyYW1baW5dIFN0ZXBwaW5nSWQgIFN0ZXBw aW5nSWQNCj4gKyAgQHBhcmFtW2luXSBQcm9jZXNzb3IgICBQcm9jZXNzb3INCj4gKw0KPiArKiov DQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0VmaUNwdVZlcnNpb24gKA0KPiArICBJTiAgIFVJTlQx NiAgKkZhbWlseUlkLCAgICBPUFRJT05BTA0KPiArICBJTiAgIFVJTlQ4ICAgKk1vZGVsLCAgICAg ICBPUFRJT05BTA0KPiArICBJTiAgIFVJTlQ4ICAgKlN0ZXBwaW5nSWQsICBPUFRJT05BTA0KPiAr ICBJTiAgIFVJTlQ4ICAgKlByb2Nlc3NvciAgICBPUFRJT05BTA0KPiArICApOw0KPiArDQo+ICsj ZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0luY2x1ZGUvTGlicmFyeS9FZmlSZWdUYWJsZUxpYi5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0VmaVJlZ1RhYmxlTGliLmgNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTE1ZjhiMzlkOQ0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUv TGlicmFyeS9FZmlSZWdUYWJsZUxpYi5oDQo+IEBAIC0wLDAgKzEsMTk2IEBADQo+ICsvKisrDQo+ ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01v ZHVsZSBOYW1lOg0KPiArDQo+ICsgIEVmaVJlZ1RhYmxlTGliLmgNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgRGVmaW5pdGlvbnMgYW5kIG1hY3JvcyBmb3IgYnVpbGRpbmcgcmVnaXN0ZXIg dGFibGVzIGZvciBjaGlwc2V0DQo+ICsgIGluaXRpYWxpemF0aW9uLi4NCj4gKw0KPiArICBDb21w b25lbnRzIGxpbmtpbmcgdGhpcyBsaWIgbXVzdCBpbmNsdWRlIENwdUlvLCBQY2lSb290QnJpZGdl SW8sIGFuZA0KPiArICBCb290U2NyaXB0U2F2ZSBwcm90b2NvbHMgaW4gdGhlaXIgRFBYLg0KPiAr DQo+ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZuZGVmIEVGSV9SRUdfVEFCTEVfSA0KPiAr I2RlZmluZSBFRklfUkVHX1RBQkxFX0gNCj4gKw0KPiArDQo+ICsjaW5jbHVkZSA8UGlEeGUuaD4N Cj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Rl YnVnTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpTGliLmg+DQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9VZWZpRHJpdmVyRW50cnlQb2ludC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0Nw dUlvLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQm9vdFNjcmlwdFNhdmUuaD4NCj4gKyNpbmNs dWRlIDxGcmFtZXdvcmsvQm9vdFNjcmlwdC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1BjaVJv b3RCcmlkZ2VJby5oPg0KPiArDQo+ICsNCj4gKyNkZWZpbmUgT1BDT0RFX0JBU0UoT3BDb2RlKSAg ICAgICAoKFVJTlQ4KSgoT3BDb2RlKSAmIDB4RkYpKQ0KPiArI2RlZmluZSBPUENPREVfRkxBR1Mo T3BDb2RlKSAgICAgICgoVUlOVDgpKCgoT3BDb2RlKSA+PiA4KSAmIDB4RkYpKQ0KPiArI2RlZmlu ZSBPUENPREVfRVhUUkFfREFUQShPcENvZGUpICgoVUlOVDE2KSgoT3BDb2RlKSA+PiAxNikpDQo+ ICsNCj4gKy8vDQo+ICsvLyBSZWdUYWJsZSBCYXNlIE9wQ29kZXMNCj4gKy8vDQo+ICsjZGVmaW5l IE9QX1RFUk1JTkFURV9UQUJMRSAgICAgICAgICAgICAgICAwDQo+ICsjZGVmaW5lIE9QX01FTV9X UklURSAgICAgICAgICAgICAgICAgICAgICAxDQo+ICsjZGVmaW5lIE9QX01FTV9SRUFEX01PRElG WV9XUklURSAgICAgICAgICAyDQo+ICsjZGVmaW5lIE9QX0lPX1dSSVRFICAgICAgICAgICAgICAg ICAgICAgICAzDQo+ICsjZGVmaW5lIE9QX0lPX1JFQURfTU9ESUZZX1dSSVRFICAgICAgICAgICA0 DQo+ICsjZGVmaW5lIE9QX1BDSV9XUklURSAgICAgICAgICAgICAgICAgICAgICA1DQo+ICsjZGVm aW5lIE9QX1BDSV9SRUFEX01PRElGWV9XUklURSAgICAgICAgICA2DQo+ICsjZGVmaW5lIE9QX1NU QUxMICAgICAgICAgICAgICAgICAgICAgICAgICA3DQo+ICsNCj4gKy8vDQo+ICsvLyBSZWdUYWJs ZSBPcENvZGUgRmxhZ3MNCj4gKy8vDQo+ICsjZGVmaW5lIE9QQ09ERV9GTEFHX1MzU0FWRSAgICAg ICAgICAgICAgICAxDQo+ICsNCj4gKw0KPiArI2RlZmluZSBURVJNSU5BVEVfVEFCTEUgeyAoVUlO VDMyKSBPUF9URVJNSU5BVEVfVEFCTEUsIChVSU5UMzIpIDAsDQo+IChVSU5UMzIpIDAgfQ0KPiAr DQo+ICsNCj4gKy8vDQo+ICsvLyBSRUdfVEFCTEVfRU5UUllfUENJX1dSSVRFIGVuY29kZXMgdGhl IHdpZHRoIGluIHRoZSB1cHBlciBiaXRzIG9mDQo+IHRoZSBPcENvZGUNCj4gKy8vIGFzIG9uZSBv ZiB0aGUgRUZJX1BDSV9ST09UX0JSSURHRV9JT19QUk9UT0NPTF9XSURUSCB2YWx1ZXMNCj4gKy8v DQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3BDb2RlOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBjaUFkZHJlc3M7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgRGF0YTsNCj4gK30gRUZJX1JFR19UQUJMRV9QQ0lfV1JJVEU7DQo+ICsNCj4gKyNkZWZpbmUg UENJX1dSSVRFKEJ1cywgRGV2LCBGbmMsIFJlZywgV2lkdGgsIERhdGEsIFMzRmxhZykgICAgICAg ICAgICAgICAgICAgIFwNCj4gKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAoVUlOVDMy KSAoT1BfUENJX1dSSVRFIHwgKChTM0ZsYWcpIDw8IDgpIHwgKChXaWR0aCkgPDwgMTYpKSwgICAg ICAgICAgICAgIFwNCj4gKyAgICAoVUlOVDMyKSAoRUZJX1BDSV9BRERSRVNTICgoQnVzKSwgKERl diksIChGbmMpLCAoUmVnKSkpLCAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAoVUlOVDMyKSAo RGF0YSksICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwNCj4gKyAgICAoVUlOVDMyKSAoMCkgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgfQ0KPiArDQo+ICt0eXBl ZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg T3BDb2RlOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbUFk ZHJlc3M7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YTsN Cj4gK30gRUZJX1JFR19UQUJMRV9NRU1fV1JJVEU7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsN Cj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcENvZGU7DQo+ICsg IFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNpQWRkcmVzczsNCj4gKyAg VUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPck1hc2s7DQo+ICsgIFVJTlQz MiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kTWFzazsNCj4gK30gRUZJX1JFR19U QUJMRV9QQ0lfUkVBRF9NT0RJRllfV1JJVEU7DQo+ICsNCj4gKyNkZWZpbmUgUENJX1JFQURfTU9E SUZZX1dSSVRFKEJ1cywgRGV2LCBGbmMsIFJlZywgV2lkdGgsIE9yTWFzaywNCj4gQW5kTWFzaywg UzNGbGFnKSAgXA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIChVSU5UMzIpIChP UF9QQ0lfUkVBRF9NT0RJRllfV1JJVEUgfCAoKFMzRmxhZykgPDwgOCkgfCAoKFdpZHRoKSA8PA0K PiAxNikpLCAgXA0KPiArICAgIChVSU5UMzIpIChFRklfUENJX0FERFJFU1MgKChCdXMpLCAoRGV2 KSwgKEZuYyksIChSZWcpKSksICAgICAgICAgICAgICAgICAgXA0KPiArICAgIChVSU5UMzIpIChP ck1hc2spLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgXA0KPiArICAgIChVSU5UMzIpIChBbmRNYXNrKSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICB9DQo+ICsNCj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP cENvZGU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtQWRk cmVzczsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPck1hc2s7 DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQW5kTWFzazsNCj4g K30gRUZJX1JFR19UQUJMRV9NRU1fUkVBRF9NT0RJRllfV1JJVEU7DQo+ICsNCj4gKyNkZWZpbmUg TUVNX1JFQURfTU9ESUZZX1dSSVRFKEFkZHJlc3MsIFdpZHRoLCBPck1hc2ssIEFuZE1hc2ssDQo+ IFMzRmxhZykgIFwNCj4gKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwNCj4gKyAgICAoVUlOVDMyKSAo T1BfTUVNX1JFQURfTU9ESUZZX1dSSVRFIHwgKChTM0ZsYWcpIDw8IDgpIHwgKChXaWR0aCkNCj4g PDwgMTYpKSwgIFwNCj4gKyAgICAoVUlOVDMyKSAoQWRkcmVzcyksICAgICAgICAgICAgICAgICAg XA0KPiArICAgIChVSU5UMzIpIChPck1hc2spLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0KPiArICAgIChVSU5UMzIpIChBbmRNYXNrKSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXA0K PiArICB9DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBPcENvZGU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRmllbGQyOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpZWxkMzsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBGaWVsZDQ7DQo+ICt9IEVGSV9SRUdfVEFCTEVfR0VORVJJQzsNCj4gKw0KPiArdHlwZWRl ZiB1bmlvbiB7DQo+ICsgIEVGSV9SRUdfVEFCTEVfR0VORVJJQyAgICAgICAgICAgICAgICAgR2Vu ZXJpYzsNCj4gKyAgRUZJX1JFR19UQUJMRV9QQ0lfV1JJVEUgICAgICAgICAgICAgICBQY2lXcml0 ZTsNCj4gKyAgRUZJX1JFR19UQUJMRV9QQ0lfUkVBRF9NT0RJRllfV1JJVEUgICBQY2lSZWFkTW9k aWZ5V3JpdGU7DQo+ICsgIEVGSV9SRUdfVEFCTEVfTUVNX1JFQURfTU9ESUZZX1dSSVRFICAgTWVt UmVhZE1vZGlmeVdyaXRlOw0KPiArfSBFRklfUkVHX1RBQkxFOw0KPiArDQo+ICsvKioNCj4gKyAg UHJvY2Vzc2VzIHJlZ2lzdGVyIHRhYmxlIGFzc3VtaW5nIHdoaWNoIG1heSBjb250YWluIFBDSSwg SU8sIE1FTSwgYW5kDQo+IFNUQUxMDQo+ICsgIGVudHJpZXMuDQo+ICsNCj4gKyAgTm8gcGFyYW1l dGVyIGNoZWNraW5nIGlzIGRvbmUgc28gdGhlIGNhbGxlciBtdXN0IGJlIGNhcmVmdWwgYWJvdXQg b21pdHRpbmcNCj4gKyAgdmFsdWVzIGZvciBQY2lSb290QnJpZGdlSW8gb3IgQ3B1SW8gcGFyYW1l dGVycy4gIElmIHRoZSByZWd0YWJsZSBkb2VzDQo+ICsgIG5vdCBjb250YWluIGFueSBQQ0kgYWNj ZXNzZXMsIGl0IGlzIHNhZmUgdG8gb21pdCB0aGUgUGNpUm9vdEJyaWRnZUlvIChzdXBwbHkNCj4g KyAgTlVMTCkuICBJZiB0aGUgcmVndGFibGUgZG9lcyBub3QgY29udGFpbiBhbnkgSU8gb3IgTWVt IGVudHJpZXMsIGl0IGlzIHNhZmUgdG8NCj4gKyAgb21pdCB0aGUgQ3B1SW8gKHN1cHBseSBOVUxM KS4NCj4gKw0KPiArICBUaGUgUmVnVGFibGVFbnRyeSBwYXJhbWV0ZXIgaXMgbm90IGNoZWNrZWQs IGJ1dCBpcyByZXF1aXJlZC4NCj4gKw0KPiArICBnQlMgaXMgYXNzdW1lZCB0byBoYXZlIGJlZW4g ZGVmaW5lZCBhbmQgaXMgdXNlZCB3aGVuIHByb2Nlc3Npbmcgc3RhbGxzLg0KPiArDQo+ICsgIFRo ZSBmdW5jdGlvbiBwcm9jZXNzZXMgZWFjaCBlbnRyeSBzZXF1ZW50aWFsbHkgdW50aWwgYW4NCj4g T1BfVEVSTUlOQVRFX1RBQkxFDQo+ICsgIGVudHJ5IGlzIGVuY291bnRlcmVkLg0KPiArDQo+ICsg IEBwYXJhbVtpbl0gUmVnVGFibGVFbnRyeSAgICBBIHBvaW50ZXIgdG8gdGhlIHJlZ2lzdGVyIHRh YmxlIHRvIHByb2Nlc3MNCj4gKw0KPiArICBAcGFyYW1baW5dIFBjaVJvb3RCcmlkZ2VJbyAgQSBw b2ludGVyIHRvIHRoZSBpbnN0YW5jZSBvZiBQY2lSb290QnJpZGdlSW8NCj4gdGhhdCBpcyB1c2Vk DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHByb2Nlc3NpbmcgUENJIHRh YmxlIGVudHJpZXMNCj4gKw0KPiArICBAcGFyYW1baW5dIENwdUlvICAgICAgICAgICAgQSBwb2lu dGVyIHRvIHRoZSBpbnN0YW5jZSBvZiBDcHVJbyB0aGF0IGlzIHVzZWQNCj4gd2hlbiBwcm9jZXNz aW5nIElPIGFuZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVNIHRhYmxlIGVu dHJpZXMNCj4gKw0KPiArICBAcmV0dmFsIE5vdGhpbmcuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0K PiArUHJvY2Vzc1JlZ1RhYmxlUGNpICgNCj4gKyAgRUZJX1JFR19UQUJMRSAgICAgICAgICAgICAg ICAgICAqIFJlZ1RhYmxlRW50cnksDQo+ICsgIEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9D T0wgKiBQY2lSb290QnJpZGdlSW8sDQo+ICsgIEVGSV9DUFVfSU9fUFJPVE9DT0wgICAgICAgICAg ICAgKiBDcHVJbw0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgUHJvY2Vzc2VzIHJlZ2lzdGVy IHRhYmxlIGFzc3VtaW5nIHdoaWNoIG1heSBjb250YWluIElPLCBNRU0sIGFuZCBTVEFMTA0KPiAr ICBlbnRyaWVzLCBidXQgbXVzdCBOT1QgY29udGFpbiBhbnkgUENJIGVudHJpZXMuICBBbnkgUENJ IGVudHJpZXMgY2F1c2UgYW4NCj4gKyAgQVNTRVJUIGluIGEgREVCVUcgYnVpbGQgYW5kIGFyZSBz a2lwcGVkIGluIGEgZnJlZSBidWlsZC4NCj4gKw0KPiArICBObyBwYXJhbWV0ZXIgY2hlY2tpbmcg aXMgZG9uZS4gIEJvdGggUmVnVGFibGVFbnRyeSBhbmQgQ3B1SW8NCj4gcGFyYW1ldGVycyBhcmUN Cj4gKyAgcmVxdWlyZWQuDQo+ICsNCj4gKyAgZ0JTIGlzIGFzc3VtZWQgdG8gaGF2ZSBiZWVuIGRl ZmluZWQgYW5kIGlzIHVzZWQgd2hlbiBwcm9jZXNzaW5nIHN0YWxscy4NCj4gKw0KPiArICBUaGUg ZnVuY3Rpb24gcHJvY2Vzc2VzIGVhY2ggZW50cnkgc2VxdWVudGlhbGx5IHVudGlsIGFuDQo+IE9Q X1RFUk1JTkFURV9UQUJMRQ0KPiArICBlbnRyeSBpcyBlbmNvdW50ZXJlZC4NCj4gKw0KPiArICBA cGFyYW1baW5dIFJlZ1RhYmxlRW50cnkgLSBBIHBvaW50ZXIgdG8gdGhlIHJlZ2lzdGVyIHRhYmxl IHRvIHByb2Nlc3MNCj4gKw0KPiArICBAcGFyYW1baW5dIENwdUlvIC0gQSBwb2ludGVyIHRvIHRo ZSBpbnN0YW5jZSBvZiBDcHVJbyB0aGF0IGlzIHVzZWQgd2hlbg0KPiBwcm9jZXNzaW5nIElPIGFu ZA0KPiArICAgICAgICAgICAgICAgICAgTUVNIHRhYmxlIGVudHJpZXMNCj4gKw0KPiArICBAcmV0 dmFsIE5vdGhpbmcuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArUHJvY2Vzc1JlZ1RhYmxlQ3B1 ICgNCj4gKyAgRUZJX1JFR19UQUJMRSAgICAgICAgICAgICAgICAgICAqIFJlZ1RhYmxlRW50cnks DQo+ICsgIEVGSV9DUFVfSU9fUFJPVE9DT0wgICAgICAgICAgICAgKiBDcHVJbw0KPiArICApOw0K PiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9Fc3J0LmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvRXNydC5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLmE5MmEyN2NhZGUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysg Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvRXNydC5o DQo+IEBAIC0wLDAgKzEsNzQgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIw MDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyBFc3J0 LmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfREZV X0VTUlRfSF8NCj4gKyNkZWZpbmUgX0RGVV9FU1JUX0hfDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0 IHsNCj4gKyAgRUZJX0dVSUQgICAgICAgICBGd0NsYXNzOw0KPiArICBVSU5UMzIgICAgICAgICAg IEZ3VHlwZTsNCj4gKyAgVUlOVDMyICAgICAgICAgICBGd1ZlcnNpb247DQo+ICsgIFVJTlQzMiAg ICAgICAgICAgRndMc3RDb21wYXRWZXJzaW9uOw0KPiArICBVSU5UMzIgICAgICAgICAgIENhcHN1 bGVGbGFnczsNCj4gKyAgVUlOVDMyICAgICAgICAgICBMYXN0QXR0ZW1wdFZlcnNpb247DQo+ICsg IFVJTlQzMiAgICAgICAgICAgTGFzdEF0dGVtcHRTdGF0dXM7DQo+ICt9IEZXX1JFU19FTlRSWTsN Cj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIgICAgICAgICAgIE51bUVudHJp ZXM7DQo+ICsgIEZXX1JFU19FTlRSWSAgICAgRndFbnRyaWVzWzI1Nl07DQo+ICt9IEZXX1JFU19F TlRSWV9MSVNUOw0KPiArDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDMyICAg ICAgICAgIEZ3UmVzb3VyY2VDb3VudDsNCj4gKyAgVUlOVDMyICAgICAgICAgIEZ3UmVzb3VyY2VN YXg7DQo+ICsgIFVJTlQ2NCAgICAgICAgICBGd1Jlc291cmNlVmVyc2lvbjsNCj4gK30gRUZJX1NZ U1RFTV9SRVNPVVJDRV9UQUJMRTsNCj4gKw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVT DQo+ICsoRUZJQVBJICpFU1JUX1BPUFVMQVRFX1RBQkxFKSAoDQo+ICspOw0KPiArDQo+ICt0eXBl ZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFU1JUX1VQREFURV9UQUJMRV9FTlRSWV9C WV9HVUlEKSAoDQo+ICsJSU4gRUZJX0dVSUQgRndFbnRyeUd1aWQsDQo+ICsJSU4gRldfUkVTX0VO VFJZICpGd0VudHJ5DQo+ICspOw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICso RUZJQVBJICpFU1JUX0dFVF9GV19FTlRSWV9CWV9HVUlEKSAoDQo+ICsgICAgSU4gRUZJX0dVSUQg RndFbnRyeUd1aWQsDQo+ICsJT1VUIEZXX1JFU19FTlRSWSAqRndFbnRyeQ0KPiArKTsNCj4gKw0K PiArDQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfRVNSVF9PUEVS QVRJT05fUFJPVE9DT0wgew0KPiArICAgRVNSVF9QT1BVTEFURV9UQUJMRQ0KPiAJRXNydFBvcHVs YXRlVGFibGU7DQo+ICsgICBFU1JUX1VQREFURV9UQUJMRV9FTlRSWV9CWV9HVUlEDQo+IAlFc3J0 VXBkYXRlVGFibGVFbnRyeUJ5R3VpZDsNCj4gKyAgIEVTUlRfR0VUX0ZXX0VOVFJZX0JZX0dVSUQN Cj4gCUVzcnRHZXRGd0VudHJ5QnlHdWlkOw0KPiArfSBFU1JUX09QRVJBVElPTl9QUk9UT0NPTDsN Cj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlFc3J0T3BlcmF0aW9uUHJvdG9jb2xHdWlkOw0K PiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9GZC5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0ZkLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uYTU0YWMxMTE2Mg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9GZC5oDQo+IEBA IC0wLDAgKzEsMjY0IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAt IDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0K PiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+IA0KPiArDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgRmQu aA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBFRkkgSW50ZWw4MjgwMkFCLzgyODAyQUMg RmlybXdhcmUgSHViLg0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICsvLw0KPiArLy8g U3VwcG9ydGVkIFNQSSBkZXZpY2VzDQo+ICsvLw0KPiArDQo+ICsvLw0KPiArLy8gTUZHIGFuZCBE ZXZpY2UgY29kZQ0KPiArLy8NCj4gKyNkZWZpbmUgU1NUXzI1TEYwNDBBICAgICAgICAweDAwNDRC Rg0KPiArI2RlZmluZSBTU1RfMjVMRjA0MCAgICAgICAgIDB4MDA0MEJGDQo+ICsjZGVmaW5lIFNT VF8yNUxGMDgwQSAgICAgICAgMHgwMDgwQkYNCj4gKyNkZWZpbmUgU1NUXzI1VkYwODBCICAgICAg ICAweDAwOEVCRg0KPiArI2RlZmluZSBTU1RfMjVWRjAxNkIgICAgICAgIDB4MDA0MUJGDQo+ICsj ZGVmaW5lIFNTVF8yNVZGMDMyQiAgICAgICAgMHgwMDRBQkYNCj4gKw0KPiArI2RlZmluZSBQTUNf MjVMVjA0MCAgICAgICAgIDB4MDA3RTlEDQo+ICsNCj4gKyNkZWZpbmUgQVRNRUxfMjZERjA0MSAg ICAgICAweDAwNDQxRg0KPiArI2RlZmluZSBBdG1lbF9BVDI2RjAwNCAgICAgIDB4MDAwNDFGDQo+ ICsjZGVmaW5lIEF0bWVsX0FUMjZERjA4MUEgICAgMHgwMTQ1MUYNCj4gKyNkZWZpbmUgQXRtZWxf QVQyNURGMTYxICAgICAweDAyNDYxRg0KPiArI2RlZmluZSBBdG1lbF9BVDI2REYxNjEgICAgIDB4 MDA0NjFGDQo+ICsjZGVmaW5lIEF0bWVsX0FUMjVERjY0MSAgICAgMHgwMDQ4MUYNCj4gKyNkZWZp bmUgQXRtZWxfQVQyNkRGMzIxICAgICAweDAwNDcxRg0KPiArDQo+ICsjZGVmaW5lIE1hY3Jvbml4 X01YMjVMODAwNSAgMHgxNDIwQzINCj4gKyNkZWZpbmUgTWFjcm9uaXhfTVgyNUwxNjA1QSAweDE1 MjBDMg0KPiArI2RlZmluZSBNYWNyb25peF9NWDI1TDMyMDVEIDB4MTYyMEMyDQo+ICsNCj4gKyNk ZWZpbmUgU1RNaWNyb19NMjVQRTgwICAgICAweDE0ODAyMA0KPiArDQo+ICsjZGVmaW5lIFdpbmJv bmRfVzI1WDQwICAgICAgMHgxMzMwRUYNCj4gKyNkZWZpbmUgV2luYm9uZF9XMjVYODAgICAgICAw eDE0MzBFRg0KPiArI2RlZmluZSBXaW5ib25kX1cyNVE4MCAgICAgIDB4MTQ0MEVGDQo+ICsNCj4g KyNkZWZpbmUgV2luYm9uZF9XMjVYMTYgICAgICAweDE1NDBFRiAgICAvLyBXMjVRMTYNCj4gKyNk ZWZpbmUgV2luYm9uZF9XMjVYMzIgICAgICAweDE2MzBFRg0KPiArDQo+ICsvLw0KPiArLy8gIE5P VEU6IEFzc3VtaW5nIHRoYXQgOE1iaXQgZmxhc2ggd2lsbCBvbmx5IGNvbnRhaW4gYSA0TWJpdCBi aW5hcnkuDQo+ICsvLyAgVHJlYXRpbmcgNE1iaXQgYW5kIDhNYml0IGRldmljZXMgdGhlIHNhbWUu DQo+ICsvLw0KPiArDQo+ICsvLw0KPiArLy8gQklPUyBCYXNlIEFkZHJlc3MNCj4gKy8vDQo+ICsj ZGVmaW5lIEJJT1NfQkFTRV9BRERSRVNTXzRNICAweEZGRjgwMDAwDQo+ICsjZGVmaW5lIEJJT1Nf QkFTRV9BRERSRVNTXzhNICAweEZGRjAwMDAwDQo+ICsjZGVmaW5lIEJJT1NfQkFTRV9BRERSRVNT XzE2TSAweEZGRTAwMDAwDQo+ICsNCj4gKy8vDQo+ICsvLyBibG9jayBhbmQgc2VjdG9yIHNpemVz DQo+ICsvLw0KPiArI2RlZmluZSBTRUNUT1JfU0laRV8yNTZCWVRFIDB4MTAwICAgICAgIC8vIDI1 NmJ5dGUgcGFnZSBzaXplDQo+ICsjZGVmaW5lIFNFQ1RPUl9TSVpFXzRLQiAgICAgMHgxMDAwICAg ICAgLy8gNGtCeXRlcyBzZWN0b3Igc2l6ZQ0KPiArI2RlZmluZSBCTE9DS19TSVpFXzMyS0IgICAg IDB4MDAwMDgwMDAgIC8vIDMyS2J5dGVzIGJsb2NrIHNpemUNCj4gKyNkZWZpbmUgTUFYX0ZMQVNI X1NJWkUgICAgICAweDAwNDAwMDAwICAvLyAzMk1iaXQgKE5vdGUgdGhhdCB0aGlzIGNhbiBhbHNv DQo+IGJlIHVzZWQgZm9yIHRoZSA0TWJpdCAmIDhNYml0KQ0KPiArDQo+ICsvLw0KPiArLy8gRmxh c2ggY29tbWFuZHMNCj4gKy8vDQo+ICsjZGVmaW5lIFNQSV9TU1QyNUxGX0NPTU1BTkRfV1JJVEUg ICAgICAgICAweDAyDQo+ICsjZGVmaW5lIFNQSV9TU1QyNUxGX0NPTU1BTkRfUkVBRCAgICAgICAg ICAweDAzDQo+ICsjZGVmaW5lIFNQSV9TU1QyNUxGX0NPTU1BTkRfRVJBU0UgICAgICAgICAweDIw DQo+ICsjZGVmaW5lIFNQSV9TU1QyNUxGX0NPTU1BTkRfV1JJVEVfRElTQUJMRSAweDA0DQo+ICsj ZGVmaW5lIFNQSV9TU1QyNUxGX0NPTU1BTkRfUkVBRF9TVEFUVVMgICAweDA1DQo+ICsjZGVmaW5l IFNQSV9TU1QyNUxGX0NPTU1BTkRfV1JJVEVfRU5BQkxFICAweDA2DQo+ICsjZGVmaW5lIFNQSV9T U1QyNUxGX0NPTU1BTkRfUkVBRF9JRCAgICAgICAweEFCDQo+ICsjZGVmaW5lIFNQSV9TU1QyNUxG X0NPTU1BTkRfV1JJVEVfU19FTiAgICAweDUwDQo+ICsjZGVmaW5lIFNQSV9TU1QyNUxGX0NPTU1B TkRfV1JJVEVfUyAgICAgICAweDAxDQo+ICsNCj4gKyNkZWZpbmUgU1BJX1BNQzI1TFZfQ09NTUFO RF9XUklURSAgICAgICAgIDB4MDINCj4gKyNkZWZpbmUgU1BJX1BNQzI1TFZfQ09NTUFORF9SRUFE ICAgICAgICAgIDB4MDMNCj4gKyNkZWZpbmUgU1BJX1BNQzI1TFZfQ09NTUFORF9FUkFTRSAgICAg ICAgIDB4RDcNCj4gKyNkZWZpbmUgU1BJX1BNQzI1TFZfQ09NTUFORF9XUklURV9ESVNBQkxFIDB4 MDQNCj4gKyNkZWZpbmUgU1BJX1BNQzI1TFZfQ09NTUFORF9SRUFEX1NUQVRVUyAgIDB4MDUNCj4g KyNkZWZpbmUgU1BJX1BNQzI1TFZfQ09NTUFORF9XUklURV9FTkFCTEUgIDB4MDYNCj4gKyNkZWZp bmUgU1BJX1BNQzI1TFZfQ09NTUFORF9SRUFEX0lEICAgICAgIDB4QUINCj4gKyNkZWZpbmUgU1BJ X1BNQzI1TFZfQ09NTUFORF9XUklURV9TX0VOICAgIDB4MDYNCj4gKyNkZWZpbmUgU1BJX1BNQzI1 TFZfQ09NTUFORF9XUklURV9TICAgICAgIDB4MDENCj4gKw0KPiArI2RlZmluZSBTUElfQVQyNkRG X0NPTU1BTkRfV1JJVEUgICAgICAgICAweDAyDQo+ICsjZGVmaW5lIFNQSV9BVDI2REZfQ09NTUFO RF9SRUFEICAgICAgICAgIDB4MDMNCj4gKyNkZWZpbmUgU1BJX0FUMjZERl9DT01NQU5EX0VSQVNF ICAgICAgICAgMHgyMA0KPiArI2RlZmluZSBTUElfQVQyNkRGX0NPTU1BTkRfV1JJVEVfRElTQUJM RSAweDAwDQo+ICsjZGVmaW5lIFNQSV9BVDI2REZfQ09NTUFORF9SRUFEX1NUQVRVUyAgIDB4MDUN Cj4gKyNkZWZpbmUgU1BJX0FUMjZERl9DT01NQU5EX1dSSVRFX0VOQUJMRSAgMHgwMA0KPiArI2Rl ZmluZSBTUElfQVQyNkRGX0NPTU1BTkRfUkVBRF9JRCAgICAgICAweDlGDQo+ICsjZGVmaW5lIFNQ SV9BVDI2REZfQ09NTUFORF9XUklURV9TX0VOICAgIDB4MDANCj4gKyNkZWZpbmUgU1BJX0FUMjZE Rl9DT01NQU5EX1dSSVRFX1MgICAgICAgMHgwMA0KPiArDQo+ICsjZGVmaW5lIFNQSV9BVDI2Rl9D T01NQU5EX1dSSVRFICAgICAgICAgIDB4MDINCj4gKyNkZWZpbmUgU1BJX0FUMjZGX0NPTU1BTkRf UkVBRCAgICAgICAgICAgMHgwMw0KPiArI2RlZmluZSBTUElfQVQyNkZfQ09NTUFORF9FUkFTRSAg ICAgICAgICAweDIwDQo+ICsjZGVmaW5lIFNQSV9BVDI2Rl9DT01NQU5EX1dSSVRFX0RJU0FCTEUg IDB4MDQNCj4gKyNkZWZpbmUgU1BJX0FUMjZGX0NPTU1BTkRfUkVBRF9TVEFUVVMgICAgMHgwNQ0K PiArI2RlZmluZSBTUElfQVQyNkZfQ09NTUFORF9XUklURV9FTkFCTEUgICAweDA2DQo+ICsjZGVm aW5lIFNQSV9BVDI2Rl9DT01NQU5EX0pFREVDX0lEICAgICAgIDB4OUYNCj4gKyNkZWZpbmUgU1BJ X0FUMjZGX0NPTU1BTkRfV1JJVEVfU19FTiAgICAgMHgwMA0KPiArI2RlZmluZSBTUElfQVQyNkZf Q09NTUFORF9XUklURV9TICAgICAgICAweDAxDQo+ICsjZGVmaW5lIFNQSV9BVDI2Rl9DT01NQU5E X1dSSVRFX1VOUFJPVEVDVCAweDM5DQo+ICsNCj4gKyNkZWZpbmUgU1BJX1NTVDI1VkZfQ09NTUFO RF9XUklURSAgICAgICAgIDB4MDINCj4gKyNkZWZpbmUgU1BJX1NTVDI1VkZfQ09NTUFORF9SRUFE ICAgICAgICAgIDB4MDMNCj4gKyNkZWZpbmUgU1BJX1NTVDI1VkZfQ09NTUFORF9FUkFTRSAgICAg ICAgIDB4MjANCj4gKyNkZWZpbmUgU1BJX1NTVDI1VkZfQ09NTUFORF9XUklURV9ESVNBQkxFIDB4 MDQNCj4gKyNkZWZpbmUgU1BJX1NTVDI1VkZfQ09NTUFORF9SRUFEX1NUQVRVUyAgIDB4MDUNCj4g KyNkZWZpbmUgU1BJX1NTVDI1VkZfQ09NTUFORF9XUklURV9FTkFCTEUgIDB4MDYNCj4gKyNkZWZp bmUgU1BJX1NTVDI1VkZfQ09NTUFORF9SRUFEX0lEICAgICAgIDB4QUINCj4gKyNkZWZpbmUgU1BJ X1NTVDI1VkZfQ09NTUFORF9KRURFQ19JRCAgICAgIDB4OUYNCj4gKyNkZWZpbmUgU1BJX1NTVDI1 VkZfQ09NTUFORF9XUklURV9TX0VOICAgIDB4NTANCj4gKyNkZWZpbmUgU1BJX1NTVDI1VkZfQ09N TUFORF9XUklURV9TICAgICAgIDB4MDENCj4gKw0KPiArI2RlZmluZSBTUElfU1RNMjVQRV9DT01N QU5EX1dSSVRFICAgICAgICAgMHgwMg0KPiArI2RlZmluZSBTUElfU1RNMjVQRV9DT01NQU5EX1JF QUQgICAgICAgICAgMHgwMw0KPiArI2RlZmluZSBTUElfU1RNMjVQRV9DT01NQU5EX0VSQVNFICAg ICAgICAgMHhEQg0KPiArI2RlZmluZSBTUElfU1RNMjVQRV9DT01NQU5EX1dSSVRFX0RJU0FCTEUg MHgwNA0KPiArI2RlZmluZSBTUElfU1RNMjVQRV9DT01NQU5EX1JFQURfU1RBVFVTICAgMHgwNQ0K PiArI2RlZmluZSBTUElfU1RNMjVQRV9DT01NQU5EX1dSSVRFX0VOQUJMRSAgMHgwNg0KPiArI2Rl ZmluZSBTUElfU1RNMjVQRV9DT01NQU5EX0pFREVDX0lEICAgICAgMHg5Rg0KPiArDQo+ICsjZGVm aW5lIFNQSV9XaW5ib25kVzI1WF9DT01NQU5EX1dSSVRFX1MgICAgICAweDAxDQo+ICsjZGVmaW5l IFNQSV9XaW5ib25kVzI1WF9DT01NQU5EX1dSSVRFICAgICAgICAweDAyDQo+ICsjZGVmaW5lIFNQ SV9XaW5ib25kVzI1WF9DT01NQU5EX1JFQUQgICAgICAgICAweDAzDQo+ICsjZGVmaW5lIFNQSV9X aW5ib25kVzI1WF9DT01NQU5EX1JFQURfU1RBVFVTICAweDA1DQo+ICsjZGVmaW5lIFNQSV9XaW5i b25kVzI1WF9DT01NQU5EX0VSQVNFX1MgICAgICAweDIwDQo+ICsjZGVmaW5lIFNQSV9XaW5ib25k VzI1WF9DT01NQU5EX1dSSVRFX0VOQUJMRSAweDA2DQo+ICsjZGVmaW5lIFNQSV9XaW5ib25kVzI1 WF9DT01NQU5EX0pFREVDX0lEICAgICAweDlGDQo+ICsNCj4gKy8vDQo+ICsvLyBTUEkgZGVmYXVs dCBvcGNvZGUgc2xvdHMNCj4gKy8vDQo+ICsjZGVmaW5lIFNQSV9PUENPREVfV1JJVEVfSU5ERVgg ICAgICAgICAgIDANCj4gKyNkZWZpbmUgU1BJX09QQ09ERV9SRUFEX0lOREVYICAgICAgICAgICAg MQ0KPiArI2RlZmluZSBTUElfT1BDT0RFX0VSQVNFX0lOREVYICAgICAgICAgICAyDQo+ICsjZGVm aW5lIFNQSV9PUENPREVfUkVBRF9TX0lOREVYICAgICAgICAgIDMNCj4gKyNkZWZpbmUgU1BJX09Q Q09ERV9SRUFEX0lEX0lOREVYICAgICAgICAgNA0KPiArI2RlZmluZSBTUElfT1BDT0RFX1dSSVRF X1NfSU5ERVggICAgICAgICA2DQo+ICsjZGVmaW5lIFNQSV9PUENPREVfV1JJVEVfVU5QUk9URUNU X0lOREVYIDcNCj4gKw0KPiArI2RlZmluZSBTUElfUFJFRklYX1dSSVRFX1NfRU4gMQ0KPiArI2Rl ZmluZSBTUElfUFJFRklYX1dSSVRFX0VOICAgMA0KPiArDQo+ICsvLw0KPiArLy8gQXRtZWwgQVQy NkYwMHgNCj4gKy8vDQo+ICsjZGVmaW5lIEJfQVQyNkZfU1RTX1JFR19TUFJMICAweDgwDQo+ICsj ZGVmaW5lIEJfQVQyNkZfU1RTX1JFR19TV1AgICAweDBDDQo+ICsNCj4gKy8vDQo+ICsvLyBCbG9j ayBsb2NrIGJpdCBkZWZpbml0aW9uczoNCj4gKy8vDQo+ICsjZGVmaW5lIFJFQURfTE9DSyAgIDB4 MDQNCj4gKyNkZWZpbmUgTE9DS19ET1dOICAgMHgwMg0KPiArI2RlZmluZSBXUklURV9MT0NLICAw eDAxDQo+ICsjZGVmaW5lIEZVTExfQUNDRVNTIDB4MDANCj4gKw0KPiArLy8NCj4gKy8vIEZ1bmN0 aW9uIFByb3RvdHlwZXMNCj4gKy8vDQo+ICtFRklfU1RBVFVTDQo+ICtGbGFzaEdldE5leHRCbG9j ayAoDQo+ICsgIElOIFVJTlROKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBLZXksDQo+ ICsgIE9VVCBFRklfUEhZU0lDQUxfQUREUkVTUyogICAgICAgICAgICAgICBCbG9ja0FkZHJlc3Ms DQo+ICsgIE9VVCBVSU5UTiogICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCbG9ja1NpemUN Cj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRmxhc2hHZXRTaXplICgNCj4gKyAgT1VU IFVJTlROKiBTaXplDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0ZsYXNoR2V0VW5p Zm9ybUJsb2NrU2l6ZSAoDQo+ICsgIE9VVCBVSU5UTiogU2l6ZQ0KPiArICApOw0KPiArDQo+ICtF RklfU1RBVFVTDQo+ICtGbGFzaEVyYXNlV2l0aE5vVG9wU3dhcHBpbmcgKA0KPiArICBJTiAgVUlO VDggKkJhc2VBZGRyZXNzLA0KPiArICBJTiAgVUlOVE4gTnVtQnl0ZXMNCj4gKyAgKTsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArRmxhc2hFcmFzZSAoDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAg ICAgICAgKkJhc2VBZGRyZXNzLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgIE51bUJ5 dGVzDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0ZsYXNoV3JpdGVXaXRoTm9Ub3BT d2FwcGluZyAoDQo+ICsgIElOIFVJTlQ4KiAgICAgICAgICAgICAgICAgRHN0QnVmZmVyUHRyLA0K PiArICBJTiBVSU5UOCogICAgICAgICAgICAgICAgIFNyY0J1ZmZlclB0ciwNCj4gKyAgSU4gVUlO VE4gICAgICAgICAgICAgICAgICBOdW1CeXRlcw0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVT DQo+ICtGbGFzaFdyaXRlICgNCj4gKyAgSU4gIFVJTlQ4ICAgICAgICAgICAgICAgICAqRHN0QnVm ZmVyUHRyLA0KPiArICBJTiAgVUlOVDggICAgICAgICAgICAgICAgICpTcmNCdWZmZXJQdHIsDQo+ ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgTnVtQnl0ZXMNCj4gKyAgKTsNCj4gKw0KPiAr RUZJX1NUQVRVUw0KPiArRmxhc2hSZWFkV2l0aE5vVG9wU3dhcHBpbmcgKA0KPiArICBJTiAgVUlO VDggICAgICAgICAgICAgICAgICpCYXNlQWRkcmVzcywNCj4gKyAgSU4gIFVJTlQ4ICAgICAgICAg ICAgICAgICAqRHN0QnVmZmVyUHRyLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgIE51 bUJ5dGVzDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0ZsYXNoUmVhZCAoDQo+ICsg IElOICBVSU5UOCAgICAgICAgICAgICAgICAgKkJhc2VBZGRyZXNzLA0KPiArICBJTiAgVUlOVDgg ICAgICAgICAgICAgICAgICpEc3RCdWZmZXJQdHIsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAg ICAgICAgTnVtQnl0ZXMNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRmxhc2hMb2Nr V2l0aE5vVG9wU3dhcHBpbmcgKA0KPiArICBJTiBVSU5UOCogICAgICAgICAgICAgICAgQmFzZUFk ZHJlc3MsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICBOdW1CeXRlcywNCj4gKyAgSU4g VUlOVDggICAgICAgICAgICAgICAgIExvY2tTdGF0ZQ0KPiArICApOw0KPiArDQo+ICtFRklfU1RB VFVTDQo+ICtGbGFzaExvY2soDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAgICAgICAgKkJhc2VB ZGRyZXNzLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgIE51bUJ5dGVzLA0KPiArICBJ TiAgVUlOVDggICAgICAgICAgICAgICAgIExvY2tTdGF0ZQ0KPiArICApOw0KPiArDQo+ICtFRklf U1RBVFVTDQo+ICtDaGVja0lmRXJhc2VkKA0KPiArICBJTiAgVUlOVDggICAgICAgKkRzdEJ1ZmZl clB0ciwNCj4gKyAgSU4gIFVJTlROICAgICAgIE51bUJ5dGVzDQo+ICsgICk7DQo+ICsNCj4gK0VG SV9TVEFUVVMNCj4gK0NoZWNrSWZGbGFzaElzUmVhZHlGb3JXcml0ZSAoDQo+ICsgIElOICBVSU5U OCAgICAgICAqRHN0QnVmZmVyUHRyLA0KPiArICBJTiAgVUlOVDggICAgICAgKlNyY0J1ZmZlclB0 ciwNCj4gKyAgSU4gIFVJTlROICAgICAgIE51bUJ5dGVzDQo+ICsgICk7DQo+IGRpZmYgLS1naXQN Cj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvRmxh c2hEZXZpY2VMaWIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvTGlicmFyeS9GbGFzaERldmljZUxpYi5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAuLjQzYzVlODg1ODYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvRmxhc2hEZXZpY2VM aWIuaA0KPiBAQCAtMCwwICsxLDEyMiBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsgIEZsYXNoIGRldmljZSBsaWJyYXJ5 IGNsYXNzIGhlYWRlciBmaWxlLg0KPiArDQo+ICsgIEZsYXNoIERldmljZSBMaWJyYXJ5IGNvbW1v biB0eXBlLCBNQUNSTyBhbmQgQVBJIGRlZmluaXRpb24uIFRoZSBiYXNpYw0KPiBpZGVhIGZvcg0K PiArICB0aGlzIGxpYnJhcnkgaXMgdG8gcHJvdmlkZSBBUEkgdG8gYWJzdHJhY3QgdGhlIGRpZmZl cmVudCBiZXR3ZWVuIGZsYXNoDQo+ICsgIHRlY2hub2xvZ3kgKFNQSSwgRldIIGV0Yy4uKSwgZmxh c2ggY29udHJvbGxlciAoU1BJIGhvc3QgY29udHJvbGxlciBvbg0KPiArICBJQ0gsIE1NSU8gdHlw ZSBhY2Nlc3MgZm9yIEZXSCksIGZsYXNoIGNoaXAgKHByb2dyYW1taW5nIGNvbW1hbmQsDQo+IG1l dGhvZA0KPiArICBvZiBzdGF0dXMgY2hlY2tpbmcpLiBUaGlzIGxpYnJhcnkgY2xhc3MgY2FuIGJl IGNvbnN1bWVkIGJ5IGRyaXZlcnMgb3INCj4gYXBwbGljYXRpb25zDQo+ICsgIHN1Y2ggYXMgRmly bXdhcmUgVm9sdW1lIEJsb2NrIGRyaXZlciwgRmxhc2ggVXBkYXRlIGFwcGxpY2F0aW9uLiBUaGVz ZQ0KPiBkcml2ZXINCj4gKyAgY2FuIGJlIHdyaXR0ZW4gaW4gYSBnZW5lcmljIG1hbm5lciBzbyB0 aGF0IHRoZXkgYXJlIG1vcmUgZWFzeSB0byBiZQ0KPiArICBwb3J0ZWQgdG8gb3RoZXIgcGxhdGZv cm1zLg0KPiArDQo+ICsgIFRoaXMgbGlicmFyeSBjYW4gYmUgYnVpbGQgb24gYSBzZXQgb2YgQVBJ cyB3aGljaCBjYW4gdG91Y2ggZmxhc2ggY29udHJvbGxlciwNCj4gZmxhc2gNCj4gKyAgY2hpcCBk aXJlY3RseSBmb3IgYSBwbGF0Zm9ybSB3aXRoIHNpbXBsZSBmbGFzaCBkZXZpY2UgY29uZmlndXJh dGlvbi4NCj4gKw0KPiArICBGb3IgYSBwbGF0Zm9ybSB3aXRoIGNvbXBsZXggZmxhc2ggZGV2aWNl IGNvbmZpZ3VyYXRpb24sIHRoaXMgbGlicmFyeSBjYW4gYmUNCj4gYnVpbHQNCj4gKyAgb24gdGhl IEZsYXNoIERldmljZSBPcGVyYXRlIExpYnJhcnkuIFBsZWFzZSBzZWUgdGhlIGhlYWRlciBmaWxl IGZvciB0aGF0DQo+IGxpYnJhcnkNCj4gKyAgY2xhc3MgZm9yIGRldGFpbGVkIHVzYWdlLg0KPiAr DQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfX0ZMQVNIREVWSUNFX0xJQl9IX18NCj4gKyNkZWZp bmUgX19GTEFTSERFVklDRV9MSUJfSF9fDQo+ICsNCj4gKy8qKg0KPiArICBSZWFkIE51bUJ5dGVz IGJ5dGVzIG9mIGRhdGEgZnJvbSB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgYnkNCj4gKyAgUEFkZHJl c3MgaW50byBCdWZmZXIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgIFBBZGRyZXNzICAgIFRo ZSBzdGFydGluZyBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSByZWFkLg0KPiArICBAcGFyYW1baW4s b3V0XSAgTnVtQnl0ZXMgICAgT24gaW5wdXQsIHRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC4g T24NCj4gb3V0cHV0LCB0aGUgbnVtYmVyDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBvZiBieXRlcyBhY3R1YWxseSByZWFkLg0KPiArICBAcGFyYW1bb3V0XSAgICAgQnVmZmVyICAg ICAgVGhlIGRlc3RpbmF0aW9uIGRhdGEgYnVmZmVyIGZvciB0aGUgcmVhZC4NCj4gKw0KPiArICBA cmV0dmFsIEVGSV9TVUNDRVNTLiAgICAgICAgT3BlcnRpb24gaXMgc3VjY2Vzc2Z1bC4NCj4gKyAg QHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgIElmIHRoZXJlIGlzIGFueSBkZXZpY2UgZXJyb3Jz Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTGliRnZiRmxhc2hE ZXZpY2VSZWFkICgNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg IFBBZGRyZXNzLA0KPiArICBJTiAgT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg Kk51bUJ5dGVzLA0KPiArICAgICAgT1VUIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAg KkJ1ZmZlcg0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgV3JpdGUgTnVtQnl0ZXMgYnl0ZXMg b2YgZGF0YSBmcm9tIEJ1ZmZlciB0byB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgYnkNCj4gKyAgUEFk ZHJlc3NzLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gICAgICBQQWRkcmVzcyBUaGUgc3RhcnRpbmcg cGh5c2ljYWwgYWRkcmVzcyBvZiB0aGUgd3JpdGUuDQo+ICsgIEBwYXJhbVtpbixvdXRdICBOdW1C eXRlcyBPbiBpbnB1dCwgdGhlIG51bWJlciBvZiBieXRlcyB0byB3cml0ZS4gT24NCj4gb3V0cHV0 LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0 ZXMgd3JpdHRlbi4NCj4gKyAgQHBhcmFtW2luXSAgICAgIEJ1ZmZlciAgIFRoZSBzb3VyY2UgZGF0 YSBidWZmZXIgZm9yIHRoZSB3cml0ZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTLiAg ICAgICAgICAgIE9wZXJ0aW9uIGlzIHN1Y2Nlc3NmdWwuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklD RV9FUlJPUiAgICAgICAgSWYgdGhlcmUgaXMgYW55IGRldmljZSBlcnJvcnMuDQo+ICsNCj4gKyoq Lw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtMaWJGdmJGbGFzaERldmljZVdyaXRlICgN Cj4gKyAgSU4gICAgICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgUEFkZHJlc3Ms DQo+ICsgIElOIE9VVCAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICpOdW1CeXRl cywNCj4gKyAgSU4gICAgICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZl cg0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgRXJhc2UgdGhlIGJsb2NrIHN0YXJpbmcgYXQg UEFkZHJlc3MuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgUEFkZHJlc3MgVGhlIHN0YXJ0aW5nIHBo eXNpY2FsIGFkZHJlc3Mgb2YgdGhlIHJlZ2lvbiB0byBiZQ0KPiBlcmFzZWQuDQo+ICsgIEBwYXJh bVtpbl0gIExiYUxlbmd0aCAgIFRoZSBsZW5ndGggb2YgdGhlIHJlZ2lvbiB0byBiZSBlcmFzZWQu IFRoaXMNCj4gcGFyYW1ldGVyIGlzIG5lY2Vzc2FyeQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICBhcyB0aGUgcGh5c2ljYWwgYmxvY2sgc2l6ZSBvbiBhIGZsYXNoIGRldmljZSBjb3VsZCBiZSBk aWZmZXJlbnQNCj4gdGhhbg0KPiArICAgICAgICAgICAgICAgICAgICAgICB0aGUgbG9naWNhbCBi bG9jayBzaXplIG9mIEZpcm13YXJlIFZvbHVtZSBCbG9jayBwcm90b2NvbC4gRXJhc2UNCj4gb24N Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgZmxhc2ggY2hpcCBpcyBhbHdheXMgcGVyZm9ybWVk IGJsb2NrIGJ5IGJsb2NrLiBUaGVyZWZvcmUsIHRoZQ0KPiBFUkFTRQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICBvcGVyYXRpb24gdG8gYSBsb2dpY2FsIGJsb2NrIGlzIGNvbnZlcnRlZCBhIG51 bWJlciBvZiBFUkFTRQ0KPiBvcGVyYXRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKG9y IGEgcGFydGlhbCBlcmFzZSkgb24gdGhlIGhhcmR3YXJlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJ X1NVQ0NFU1MuICAgICAgICAgICAgT3BlcnRpb24gaXMgc3VjY2Vzc2Z1bC4NCj4gKyAgQHJldHZh bCBFRklfREVWSUNFX0VSUk9SICAgICAgICBJZiB0aGVyZSBpcyBhbnkgZGV2aWNlIGVycm9ycy4N Cj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0xpYkZ2YkZsYXNoRGV2 aWNlQmxvY2tFcmFzZSAoDQo+ICsgIElOICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIFBB ZGRyZXNzLA0KPiArICBJTiAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICBMYmFMZW5ndGgN Cj4gKyk7DQo+ICsNCj4gKy8qKg0KPiArICBMb2NrIG9yIHVubG9jayB0aGUgYmxvY2sgc3Rhcmlu ZyBhdCBQQWRkcmVzcy4NCj4gKw0KPiArICBAcGFyYW1baW5dICBQQWRkcmVzcyBUaGUgc3RhcnRp bmcgcGh5c2ljYWwgYWRkcmVzcyBvZiByZWdpb24gdG8gYmUNCj4gKHVuKWxvY2tlZC4NCj4gKyAg QHBhcmFtW2luXSAgTGJhTGVuZ3RoICAgVGhlIGxlbmd0aCBvZiB0aGUgcmVnaW9uIHRvIGJlICh1 bilsb2NrZWQuIFRoaXMNCj4gcGFyYW1ldGVyIGlzIG5lY2Vzc2FyeQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICBhcyB0aGUgcGh5c2ljYWwgYmxvY2sgc2l6ZSBvbiBhIGZsYXNoIGRldmljZSBj b3VsZCBiZSBkaWZmZXJlbnQNCj4gdGhhbg0KPiArICAgICAgICAgICAgICAgICAgICAgICB0aGUg bG9naWNhbCBibG9jayBzaXplIG9mIEZpcm13YXJlIFZvbHVtZSBCbG9jayBwcm90b2NvbC4NCj4g KFVuKUxvY2sgb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgZmxhc2ggY2hpcCBpcyBhbHdh eXMgcGVyZm9ybWVkIGJsb2NrIGJ5IGJsb2NrLiBUaGVyZWZvcmUsIHRoZQ0KPiAoVW4pTG9jaw0K PiArICAgICAgICAgICAgICAgICAgICAgICBvcGVyYXRpb24gdG8gYSBsb2dpY2FsIGJsb2NrIGlz IGNvbnZlcnRlZCBhIG51bWJlciBvZiAoVW4pTG9jaw0KPiBvcGVyYXRpb24NCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgKG9yIGEgcGFydGlhbCBlcmFzZSkgb24gdGhlIGhhcmR3YXJlLg0KPiAr ICBAcGFyYW1baW5dICBMb2NrICAgICBUUlVFIHRvIGxvY2suIEZBTFNFIHRvIHVubG9jay4NCj4g Kw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTLiBPcGVydGlvbiBpcyBzdWNjZXNzZnVsLg0KPiAr DQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTGliRnZiRmxhc2hEZXZpY2VC bG9ja0xvY2sgKA0KPiArICBJTiAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgUEFk ZHJlc3MsDQo+ICsgIElOICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICBMYmFMZW5n dGgsDQo+ICsgIElOICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICBMb2NrDQo+ICsp Ow0KPiArDQo+ICsjZW5kaWYNCj4gKw0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvSTJDTGliLmgNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvSTJDTGliLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjcyYzJiNDVmOQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvTGlicmFyeS9JMkNMaWIuaA0KPiBAQCAtMCwwICsxLDU4IEBADQo+ICsvKiogQGZpbGUNCj4g KyAgSW50ZXJmYWNlIERlZmluaXRpb25zIGZvciBJMkMgTGliLg0KPiArDQo+ICsgIENvcHlyaWdo dCAoYykgMjAwNCAgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSA8VWVmaS5oPg0KPiArI2luY2x1 ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKw0KPiArI2lmbmRlZiBJMkNfTElCX0hFQURFUl9IDQo+ ICsjZGVmaW5lIEkyQ19MSUJfSEVBREVSX0gNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmVhZHMg YSBCeXRlIGZyb20gSTJDIERldmljZS4NCj4gKw0KPiArICBAcGFyYW0gIEkyY0NvbnRyb2xsZXJJ bmRleCAgIEkyQyBCdXMgbm8gdG8gd2hpY2ggdGhlIEkyQyBkZXZpY2UgaGFzIGJlZW4NCj4gY29u bmVjdGVkDQo+ICsgIEBwYXJhbSAgU2xhdmVBZGRyZXNzICAgICAgICAgRGV2aWNlIEFkZHJlc3Mg ZnJvbSB3aGljaCB0aGUgYnl0ZSB2YWx1ZSBoYXMNCj4gdG8gYmUgcmVhZA0KPiArICBAcGFyYW0g IE9mZnNldCAgICAgICAgICAgICAgIE9mZnNldCBmcm9tIHdoaWNoIHRoZSBkYXRhIGhhcyB0byBi ZSByZWFkDQo+ICsgIEBwYXJhbSAgUmVhZEJ5dGVzICAgICAgICAgICAgTnVtYmVyIG9mIGJ5dGVz IHRvIGJlIHJlYWQNCj4gKyAgQHBhcmFtICAqUmVhZEJ1ZmZlciAgICAgICAgICBBZGRyZXNzIHRv IHdoaWNoIHRoZSB2YWx1ZSByZWFkIGhhcyB0byBiZQ0KPiBzdG9yZWQNCj4gKw0KPiArICBAcmV0 dXJuICBFRklfU1VDQ0VTUyAgICAgICBJZiB0aGUgYnl0ZSB2YWx1ZSBoYXMgYmVlbiBzdWNjZXNz ZnVsbHkgcmVhZA0KPiArICBAcmV0dXJuICBFRklfREVWSUNFX0VSUk9SICBPcGVyYXRpb24gRmFp bGVkLCBEZXZpY2UgRXJyb3INCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQnl0ZVJlYWRJMkMo DQo+ICsgIElOICBVSU5UOCBCdXNObywNCj4gKyAgSU4gIFVJTlQ4IFNsYXZlQWRkcmVzcywNCj4g KyAgSU4gIFVJTlQ4IE9mZnNldCwNCj4gKyAgSU4gIFVJTlROIFJlYWRCeXRlcywNCj4gKyAgT1VU IFVJTlQ4ICpSZWFkQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBXcml0ZXMgYSBC eXRlIHRvIEkyQyBEZXZpY2UuDQo+ICsNCj4gKyAgQHBhcmFtICBJMmNDb250cm9sbGVySW5kZXgg IEkyQyBCdXMgbm8gdG8gd2hpY2ggdGhlIEkyQyBkZXZpY2UgaGFzIGJlZW4NCj4gY29ubmVjdGVk DQo+ICsgIEBwYXJhbSAgU2xhdmVBZGRyZXNzICAgICAgICBEZXZpY2UgQWRkcmVzcyBmcm9tIHdo aWNoIHRoZSBieXRlIHZhbHVlIGhhcw0KPiB0byBiZSB3cml0dGVuDQo+ICsgIEBwYXJhbSAgT2Zm c2V0ICAgICAgICAgICAgICBPZmZzZXQgZnJvbSB3aGljaCB0aGUgZGF0YSBoYXMgdG8gYmUgd3Jp dHRlbg0KPiArICBAcGFyYW0gIFdyaXRlQnl0ZXMgICAgICAgICAgTnVtYmVyIG9mIGJ5dGVzIHRv IGJlIHdyaXR0ZW4NCj4gKyAgQHBhcmFtICAqQnl0ZSAgICAgICAgICAgICAgIEFkZHJlc3MgdG8g d2hpY2ggdGhlIHZhbHVlIHdyaXR0ZW4gaXMgc3RvcmVkDQo+ICsNCj4gKyAgQHJldHVybiAgRUZJ X1NVQ0NFU1MgICAgICAgSWYgdGhlIGJ5dGUgdmFsdWUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHJl YWQNCj4gKyAgQHJldHVybiAgRUZJX0RFVklDRV9FUlJPUiAgT3BlcmF0aW9uIEZhaWxlZCwgRGV2 aWNlIEVycm9yDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMgQnl0ZVdyaXRlSTJDKA0KPiArICBJTiAg VUlOVDggQnVzTm8sDQo+ICsgIElOICBVSU5UOCBTbGF2ZUFkZHJlc3MsDQo+ICsgIElOICBVSU5U OCBPZmZzZXQsDQo+ICsgIElOICBVSU5UTiBXcml0ZUJ5dGVzLA0KPiArICBJTiAgVUlOVDggKldy aXRlQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L0kyY01taW9Db25m aWdMaWIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGli cmFyeS9JMmNNbWlvQ29uZmlnTGliLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uN2VlYTdlMWQyOQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9JMmNNbWlvQ29uZmln TGliLmgNCj4gQEAgLTAsMCArMSwyMyBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX19NTUlP X0NPTkZJR19MSUJfSF9fDQo+ICsjZGVmaW5lIF9fTU1JT19DT05GSUdfTElCX0hfXw0KPiArDQo+ ICsjaW5jbHVkZSA8UHJvdG9jb2wvTW1pb0RldmljZS5oPg0KPiArDQo+ICsvLy8NCj4gKy8vLyBE ZWNsYXJlIHRoZSBtZW1vcnkgbWFwcGVkIEkvTyBkZXZpY2VzIGFzc29jYWl0ZWQgd2l0aCB0aGUN Cj4gKy8vLyBib2FyZC4NCj4gKy8vLw0KPiArZXh0ZXJuIENPTlNUIEVGSV9NTUlPX0RFVklDRV9Q Uk9UT0NPTCBnTW1pb0RldmljZUxpc3QgWyBdOw0KPiArZXh0ZXJuIENPTlNUIFVJTlROIGdNbWlv RGV2aWNlQ291bnQ7DQo+ICsNCj4gKyNlbmRpZiAgLy8gIF9fTU1JT19DT05GSUdfTElCX0hfXw0K PiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVk ZS9MaWJyYXJ5L0kyY1BvcnRfcGxhdGZvcm0uaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9JMmNQb3J0X3BsYXRmb3JtLmgNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTk3NWZhZWFjOA0KPiAtLS0gL2Rldi9u dWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGli cmFyeS9JMmNQb3J0X3BsYXRmb3JtLmgNCj4gQEAgLTAsMCArMSwyNiBAQA0KPiArLyorKw0KPiAr DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsN Cj4gKyNpZm5kZWYgX0kyQ19QT1JUX0gNCj4gKyNkZWZpbmUgX0kyQ19QT1JUX0gNCj4gKw0KPiAr Ly8NCj4gKy8vICBUeXBlcw0KPiArLy8NCj4gKw0KPiArLy8NCj4gKy8vIENvbnRleHQgcGFzc2Vk IGZyb20gcGxhdGZvcm0gKGJvYXJkKSBsYXllciB0byB0aGUgSTJDIHBvcnQgZHJpdmVyLg0KPiAr Ly8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgQmFzZUFk ZHJlc3M7DQo+ICsgIFVJTlQzMiBJbnB1dEZyZXF1ZW5jeUhlcnR6Ow0KPiArfSBJMkNfUElPX1BM QVRGT1JNX0NPTlRFWFQ7DQo+ICsNCj4gKyNlbmRpZiAgLy8gIF9JMkNfUE9SVF9BMF9IDQo+IGRp ZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xp YnJhcnkvUGxhdGZvcm1Gc2FMaWIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvTGlicmFyeS9QbGF0Zm9ybUZzYUxpYi5oDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjA2ZGFiMzAxNmINCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvUGxh dGZvcm1Gc2FMaWIuaA0KPiBAQCAtMCwwICsxLDUwIEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29w eXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5k ZWYgX0ZTQV9MSUJfSA0KPiArI2RlZmluZSBfRlNBX0xJQl9IDQo+ICsjaW5jbHVkZSA8VWVmaS5o Pg0KPiArI2luY2x1ZGUgPFVlZmkvVWVmaVNwZWMuaD4NCj4gKw0KPiArI2RlZmluZSBGU0FfUkVH X0RFVklEICAgICAgICAgICAweDENCj4gKyNkZWZpbmUgRlNBX1JFR19DVFJMICAgICAgICAgICAg MHgyDQo+ICsjZGVmaW5lIEZTQV9SRUdfSU5UUiAgICAgICAgICAgIDB4Mw0KPiArI2RlZmluZSBG U0FfUkVHX0lOVFJfTVNLICAgICAgICAweDUNCj4gKyNkZWZpbmUgRlNBX1JFR19SRVNJU1RPUl9D T0RFICAgMHg3DQo+ICsjZGVmaW5lIEZTQV9SRUdfVElNSU5HX1NFVCAgICAgIDB4OA0KPiArI2Rl ZmluZSBGU0FfUkVHX1NUQVRVUyAgICAgICAgICAweDkNCj4gKyNkZWZpbmUgRlNBX1JFR19ERVZf VFlQRSAgICAgICAgMHhBDQo+ICsjZGVmaW5lIEZTQV9SRUdfREFDX1NBUiAgICAgICAgIDB4Qg0K PiArI2RlZmluZSBGU0FfUkVHX01BTlVBTF9TVyAgICAgICAweDEzDQo+ICsjZGVmaW5lIEZTQV9S RUdfTUFOVUFMX0NIR19DVFJMIDB4MTQNCj4gKw0KPiArZXh0ZXJuDQo+ICtFRklfU1RBVFVTDQo+ ICtFRklBUEkNCj4gK0ZzYVVzYkRldmljZU1vZGUgKA0KPiArICBWT0lEDQo+ICspOw0KPiArDQo+ ICsNCj4gK2V4dGVybg0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtEaXNhYmxlRnNhVGlt ZXJIYW5kbGVyICgNCj4gKyAgVk9JRA0KPiArKTsNCj4gKw0KPiArZXh0ZXJuDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0ZTQUluaXQgKA0KPiArIElOIFVJTlQzMiBGRlJEVmVyDQo+ICsp Ow0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9QbGF0Zm9ybUZzcExpYi5oDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L1BsYXRmb3JtRnNwTGli LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYzMyMzVhZmE5 MA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvTGlicmFyeS9QbGF0Zm9ybUZzcExpYi5oDQo+IEBAIC0wLDAgKzEsMjMgQEAN Cj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsN Cj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfUExBVEZPUk1fRlNQX0xJQl9IDQo+ICsjZGVmaW5l IF9QTEFURk9STV9GU1BfTElCX0gNCj4gKyNpbmNsdWRlIDxCYXNlLmg+DQo+ICsjaW5jbHVkZSA8 VWVmaS5oPg0KPiArDQo+ICtleHRlcm4NCj4gK0VGSV9TVEFUVVMNCj4gK1BsYXRmb3JtSG9iQ3Jl YXRlRnJvbUZzcCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICoqUGVpU2Vy dmljZXMsDQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICpIb2JMaXN0DQo+ICsg ICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L1NwaUZsYXNoLkgNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL0xpYnJhcnkvU3BpRmxhc2guSA0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zMzU2NjBjZDRjDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9M aWJyYXJ5L1NwaUZsYXNoLkgNCj4gQEAgLTAsMCArMSwyMzkgQEANCj4gKy8qKysNCj4gKw0KPiAr ICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRl ZiBfU1BJRmxhc2hfSF8NCj4gKyNkZWZpbmUgX1NQSUZsYXNoX0hfDQo+ICsNCj4gKyNpbmNsdWRl IDxQcm90b2NvbC9TcGkuaD4NCj4gKw0KPiArLy9FRklfU1RBVFVTIFNwaUZsYXNoTG9jayhCT09M RUFOIExvY2spOw0KPiArLy9FRklfU1RBVFVTIFNwaUZsYXNoSW5pdCh2b2lkKTsNCj4gKw0KPiAr dHlwZWRlZiBlbnVtIHsNCj4gKyAgRW51bVNwaUZsYXNoVzI1UTY0LA0KPiArICBFbnVtU3BpRmxh c2hBVDI1REYzMjFBLA0KPiArICBFbnVtU3BpRmxhc2hBVDI2REYzMjEsDQo+ICsgIEVudW1TcGlG bGFzaEFUMjVERjY0MSwNCj4gKyAgRW51bVNwaUZsYXNoVzI1UTE2LA0KPiArICBFbnVtU3BpRmxh c2hXMjVRMzIsDQo+ICsgIEVudW1TcGlGbGFzaFcyNVgzMiwNCj4gKyAgRW51bVNwaUZsYXNoVzI1 WDY0LA0KPiArICBFbnVtU3BpRmxhc2hXMjVRMTI4LA0KPiArICBFbnVtU3BpRmxhc2hNWDI1TDE2 LA0KPiArICBFbnVtU3BpRmxhc2hNWDI1TDMyLA0KPiArICBFbnVtU3BpRmxhc2hNWDI1TDY0LA0K PiArICBFbnVtU3BpRmxhc2hNWDI1TDEyOCwNCj4gKyAgRW51bVNwaUZsYXNoTVgyNVU2NDM1RiwN Cj4gKyAgRW51bVNwaUZsYXNoU1NUMjVWRjAxNkIsDQo+ICsgIEVudW1TcGlGbGFzaFNTVDI1VkYw NjRDLA0KPiArICBFbnVtU3BpRmxhc2hOMjVRMDY0LA0KPiArICBFbnVtU3BpRmxhc2hNMjVQWDE2 LA0KPiArICBFbnVtU3BpRmxhc2hOMjVRMDMyLA0KPiArICBFbnVtU3BpRmxhc2hNMjVQWDMyLA0K PiArICBFbnVtU3BpRmxhc2hNMjVQWDY0LA0KPiArICBFbnVtU3BpRmxhc2hOMjVRMTI4LA0KPiAr ICBFbnVtU3BpRmxhc2hFTjI1UTE2LA0KPiArICBFbnVtU3BpRmxhc2hFTjI1UTMyLA0KPiArICBF bnVtU3BpRmxhc2hFTjI1UTY0LA0KPiArICBFbnVtU3BpRmxhc2hFTjI1UTEyOCwNCj4gKyAgRW51 bVNwaUZsYXNoQTI1TDAxNiwNCj4gKyAgRW51bVNwaUZsYXNoTWF4DQo+ICt9IFNQSV9GTEFTSF9U WVBFU19TVVBQT1JURUQ7DQo+ICsNCj4gKy8vDQo+ICsvLyBTZXJpYWwgRmxhc2ggVmVuZG9ySWQg YW5kIERldmljZUlkDQo+ICsvLw0KPiArI2RlZmluZSBTRl9WRU5ET1JfSURfQVRNRUwgICAgICAg ICAgMHgxRg0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQwX0FUMjZERjMyMSAgICAgMHg0Nw0KPiAr I2RlZmluZSBTRl9ERVZJQ0VfSUQxX0FUMjZERjMyMSAgICAgMHgwMA0KPiArI2RlZmluZSBTRl9E RVZJQ0VfSUQwX0FUMjVERjMyMUEgICAgMHg0Nw0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQxX0FU MjVERjMyMUEgICAgMHgwMQ0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQwX0FUMjVERjY0MSAgICAg MHg0OA0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQxX0FUMjVERjY0MSAgICAgMHgwMA0KPiArDQo+ ICsjZGVmaW5lIFNGX1ZFTkRPUl9JRF9XSU5CT05EICAgICAgICAweEVGDQo+ICsjZGVmaW5lIFNG X0RFVklDRV9JRDBfVzI1WFhYICAgICAgICAweDMwDQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDFf VzI1WDMyICAgICAgICAweDE2DQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDFfVzI1WDY0ICAgICAg ICAweDE3DQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDBfVzI1UVhYICAgICAgICAweDQwDQo+ICsj ZGVmaW5lIFNGX0RFVklDRV9JRDFfVzI1UTE2ICAgICAgICAweDE1DQo+ICsjZGVmaW5lIFNGX0RF VklDRV9JRDFfVzI1UTMyICAgICAgICAweDE2DQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDFfVzI1 UTY0ICAgICAgICAweDE3DQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDFfVzI1UTEyOCAgICAgICAw eDE4DQo+ICsNCj4gKyNkZWZpbmUJU0ZfVkVORE9SX0lEX01BQ1JPTklYICAgICAgIDB4QzINCj4g KyNkZWZpbmUJU0ZfREVWSUNFX0lEMF9NWDI1TFhYICAgICAgIDB4MjANCj4gKyNkZWZpbmUJU0Zf REVWSUNFX0lEMV9NWDI1TDE2ICAgICAgIDB4MTUNCj4gKyNkZWZpbmUJU0ZfREVWSUNFX0lEMV9N WDI1TDMyICAgICAgIDB4MTYNCj4gKyNkZWZpbmUJU0ZfREVWSUNFX0lEMV9NWDI1TDY0ICAgICAg IDB4MTcNCj4gKyNkZWZpbmUJU0ZfREVWSUNFX0lEMV9NWDI1TDEyOCAgICAgIDB4MTgNCj4gKyNk ZWZpbmUgU0ZfREVWSUNFX0lEMF9NWDI1VVhYICAgICAgIDB4MjUNCj4gKyNkZWZpbmUgU0ZfREVW SUNFX0lEMV9NWDI1VTY0MzVGICAgIDB4MzcNCj4gKw0KPiArI2RlZmluZQlTRl9WRU5ET1JfSURf TlVNT05ZWCAgICAgICAgMHgyMA0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQwX04yNVEwNjQgICAg ICAgMHhCQg0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQxX04yNVEwNjQgICAgICAgMHgxNw0KPiAr I2RlZmluZQlTRl9ERVZJQ0VfSUQwX00yNVBYWFggICAgICAgMHg3MQ0KPiArI2RlZmluZQlTRl9E RVZJQ0VfSUQwX04yNVFYWFggICAgICAgMHhCQQ0KPiArI2RlZmluZQlTRl9ERVZJQ0VfSUQxX00y NVBYMTYgICAgICAgMHgxNQ0KPiArI2RlZmluZQlTRl9ERVZJQ0VfSUQxX04yNVEwMzIgICAgICAg MHgxNg0KPiArI2RlZmluZQlTRl9ERVZJQ0VfSUQxX00yNVBYMzIgICAgICAgMHgxNg0KPiArI2Rl ZmluZQlTRl9ERVZJQ0VfSUQxX00yNVBYNjQgICAgICAgMHgxNw0KPiArI2RlZmluZQlTRl9ERVZJ Q0VfSUQxX04yNVExMjggICAgICAgMHgxOA0KPiArDQo+ICsjZGVmaW5lIFNGX1ZFTkRPUl9JRF9T U1QgICAgICAgICAgICAweEJGDQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDBfU1NUMjVWRjBYWFgg ICAweDI1DQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDFfU1NUMjVWRjAxNkIgICAweDQxDQo+ICsj ZGVmaW5lIFNGX0RFVklDRV9JRDFfU1NUMjVWRjA2NEMgICAweDRCDQo+ICsNCj4gKyNkZWZpbmUg U0ZfVkVORE9SX0lEX0VPTiAgICAgICAgICAgIDB4MUMNCj4gKyNkZWZpbmUgU0ZfREVWSUNFX0lE MF9FTjI1UVhYICAgICAgIDB4MzANCj4gKyNkZWZpbmUgU0ZfREVWSUNFX0lEMV9FTjI1UTE2ICAg ICAgIDB4MTUNCj4gKyNkZWZpbmUgU0ZfREVWSUNFX0lEMV9FTjI1UTMyICAgICAgIDB4MTYNCj4g KyNkZWZpbmUgU0ZfREVWSUNFX0lEMV9FTjI1UTY0ICAgICAgIDB4MTcNCj4gKyNkZWZpbmUgU0Zf REVWSUNFX0lEMV9FTjI1UTEyOCAgICAgIDB4MTgNCj4gKw0KPiArI2RlZmluZSBTRl9WRU5ET1Jf SURfQU1JQyAgICAgICAgICAgMHgzNw0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQwX0EyNUwwMTYg ICAgICAgMHgzMA0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQxX0EyNUwwMTYgICAgICAgMHgxNQ0K PiArDQo+ICsjZGVmaW5lIEFUTUVMX0FUMjZERjMyMV9TSVpFICAgICAgICAweDAwNDAwMDAwDQo+ ICsjZGVmaW5lIEFUTUVMX0FUMjVERjMyMUFfU0laRSAgICAgICAweDAwNDAwMDAwDQo+ICsjZGVm aW5lIEFUTUVMX0FUMjVERjY0MV9TSVpFICAgICAgICAweDAwODAwMDAwDQo+ICsjZGVmaW5lIFdJ TkJPTkRfVzI1WDMyX1NJWkUgICAgICAgICAweDAwNDAwMDAwDQo+ICsjZGVmaW5lIFdJTkJPTkRf VzI1WDY0X1NJWkUgICAgICAgICAweDAwODAwMDAwDQo+ICsjZGVmaW5lIFdJTkJPTkRfVzI1UTE2 X1NJWkUgICAgICAgICAweDAwMjAwMDAwDQo+ICsjZGVmaW5lIFdJTkJPTkRfVzI1UTMyX1NJWkUg ICAgICAgICAweDAwNDAwMDAwDQo+ICsjZGVmaW5lIFdJTkJPTkRfVzI1UTY0X1NJWkUgICAgICAg ICAweDAwODAwMDAwDQo+ICsjZGVmaW5lIFdJTkJPTkRfVzI1UTEyOF9TSVpFICAgICAgICAweDAx MDAwMDAwDQo+ICsjZGVmaW5lIFNTVF9TU1QyNVZGMDE2Ql9TSVpFICAgICAgICAweDAwMjAwMDAw DQo+ICsjZGVmaW5lIFNTVF9TU1QyNVZGMDY0Q19TSVpFICAgICAgICAweDAwODAwMDAwDQo+ICsj ZGVmaW5lIE1BQ1JPTklYX01YMjVMMTZfU0laRSAgICAgICAweDAwMjAwMDAwDQo+ICsjZGVmaW5l IE1BQ1JPTklYX01YMjVMMzJfU0laRSAgICAgICAweDAwNDAwMDAwDQo+ICsjZGVmaW5lIE1BQ1JP TklYX01YMjVMNjRfU0laRSAgICAgICAweDAwODAwMDAwDQo+ICsjZGVmaW5lIE1BQ1JPTklYX01Y MjVVNjRfU0laRSAgICAgICAweDAwODAwMDAwDQo+ICsjZGVmaW5lIE1BQ1JPTklYX01YMjVMMTI4 X1NJWkUgICAgICAweDAxMDAwMDAwDQo+ICsjZGVmaW5lIE5VTU9OWVhfTTI1UFgxNl9TSVpFICAg ICAgICAweDAwNDAwMDAwDQo+ICsjZGVmaW5lIE5VTU9OWVhfTjI1UTAzMl9TSVpFICAgICAgICAw eDAwNDAwMDAwDQo+ICsjZGVmaW5lIE5VTU9OWVhfTTI1UFgzMl9TSVpFICAgICAgICAweDAwNDAw MDAwDQo+ICsjZGVmaW5lIE5VTU9OWVhfTTI1UFg2NF9TSVpFICAgICAgICAweDAwODAwMDAwDQo+ ICsjZGVmaW5lIE5VTU9OWVhfTjI1UTA2NF9TSVpFICAgICAgICAweDAwODAwMDAwDQo+ICsjZGVm aW5lIE5VTU9OWVhfTjI1UTEyOF9TSVpFICAgICAgICAweDAxMDAwMDAwDQo+ICsjZGVmaW5lIEVP Tl9FTjI1UTE2X1NJWkUgICAgICAgICAgICAweDAwMjAwMDAwDQo+ICsjZGVmaW5lIEVPTl9FTjI1 UTMyX1NJWkUgICAgICAgICAgICAweDAwNDAwMDAwDQo+ICsjZGVmaW5lIEVPTl9FTjI1UTY0X1NJ WkUgICAgICAgICAgICAweDAwODAwMDAwDQo+ICsjZGVmaW5lIEVPTl9FTjI1UTEyOF9TSVpFICAg ICAgICAgICAweDAxMDAwMDAwDQo+ICsjZGVmaW5lIEFNSUNfQTI1TDE2X1NJWkUgICAgICAgICAg ICAweDAwMjAwMDAwDQo+ICsNCj4gKyNkZWZpbmUgU0ZfVkVORE9SX0lEX1NTVCAgICAgICAgICAg MHhCRg0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQwXzI1TEYwODBBICAgICAweDI1DQo+ICsjZGVm aW5lIFNGX0RFVklDRV9JRDFfMjVMRjA4MEEgICAgIDB4OEUNCj4gKyNkZWZpbmUgU0ZfREVWSUNF X0lEMF8yNVZGMDE2QiAgICAgMHgyNQ0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQxXzI1VkYwMTZC ICAgICAweDQxDQo+ICsNCj4gKyNkZWZpbmUgU0ZfVkVORE9SX0lEX0FUTUVMICAgICAgICAgMHgx Rg0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQwX0FUMjZERjMyMSAgICAweDQ3DQo+ICsjZGVmaW5l IFNGX0RFVklDRV9JRDFfQVQyNkRGMzIxICAgIDB4MDANCj4gKw0KPiArI2RlZmluZSBTRl9WRU5E T1JfSURfU1RNICAgICAgICAgICAweDIwDQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDBfTTI1UDMy ICAgICAgIDB4MjANCj4gKyNkZWZpbmUgU0ZfREVWSUNFX0lEMV9NMjVQMzIgICAgICAgMHgxNg0K PiArDQo+ICsjZGVmaW5lIFNGX1ZFTkRPUl9JRF9XSU5CT05EICAgICAgIDB4RUYNCj4gKyNkZWZp bmUgU0ZfREVWSUNFX0lEMF9XMjVYWFggICAgICAgMHgzMA0KPiArDQo+ICsjZGVmaW5lIFNGX0RF VklDRV9JRDFfVzI1WDgwICAgICAgIDB4MTQNCj4gKyNkZWZpbmUgU0ZfREVWSUNFX0lEMV9XMjVY MTYgICAgICAgMHgxNQ0KPiArI2RlZmluZSBTRl9ERVZJQ0VfSUQxX1cyNVgzMiAgICAgICAweDE2 DQo+ICsjZGVmaW5lIFNGX0RFVklDRV9JRDFfVzI1WDY0ICAgICAgIDB4MTcNCj4gKw0KPiArI2Rl ZmluZQlTRl9WRU5ET1JfSURfTVgJCQkJMHhDMg0KPiArI2RlZmluZQlTRl9ERVZJQ0VfSUQwXzI1 TDE2MDVBCQkweDIwDQo+ICsjZGVmaW5lCVNGX0RFVklDRV9JRDFfMjVMMTYwNUEJCTB4MTUNCj4g Kw0KPiArI2RlZmluZSBTRl9WRU5ET1JfSURfTlVNT05ZWCAgICAgICAgMHgyMA0KPiArI2RlZmlu ZSBTRl9ERVZJQ0VfSUQwX00yNVBYMTYgICAgICAgMHg3MQ0KPiArI2RlZmluZSBTRl9ERVZJQ0Vf SUQxX00yNVBYMTYgICAgICAgMHgxNQ0KPiArDQo+ICsjZGVmaW5lIFNTVF8yNUxGMDgwQV9TSVpF ICAgICAgICAgIDB4MDAxMDAwMDANCj4gKyNkZWZpbmUgU1NUXzI1TEYwMTZCX1NJWkUgICAgICAg ICAgMHgwMDIwMDAwMA0KPiArI2RlZmluZSBBVE1FTF9BVDI2REYzMjFfU0laRSAgICAgICAweDAw NDAwMDAwDQo+ICsjZGVmaW5lIFNUTV9NMjVQMzJfU0laRSAgICAgICAgICAgIDB4MDA0MDAwMDAN Cj4gKyNkZWZpbmUgV0lOQk9ORF9XMjVYODBfU0laRSAgICAgICAgMHgwMDEwMDAwMA0KPiArI2Rl ZmluZSBXSU5CT05EX1cyNVgxNl9TSVpFICAgICAgICAweDAwMjAwMDAwDQo+ICsjZGVmaW5lIFdJ TkJPTkRfVzI1WDMyX1NJWkUgICAgICAgIDB4MDA0MDAwMDANCj4gKyNkZWZpbmUgV0lOQk9ORF9X MjVYNjRfU0laRSAgICAgICAgMHgwMDgwMDAwMA0KPiArI2RlZmluZSBNWF8yNUwxNjA1QV9TSVpF ICAgICAgICAgICAweDAwMjAwMDAwDQo+ICsNCj4gKy8vDQo+ICsvLyBQaHlzaWNhbCBTZWN0b3Ig U2l6ZSBvbiB0aGUgU2VyaWFsIEZsYXNoIGRldmljZQ0KPiArLy8NCj4gKyNkZWZpbmUgU0ZfU0VD VE9SX1NJWkUgICAgMHgxMDAwDQo+ICsjZGVmaW5lIFNGX0JMT0NLX1NJWkUgICAgIDB4ODAwMA0K PiArDQo+ICsvLw0KPiArLy8gU2VyaWFsIEZsYXNoIFN0YXR1cyBSZWdpc3RlciBkZWZpbml0aW9u cw0KPiArLy8NCj4gKyNkZWZpbmUgU0ZfU1JfQlVTWSAgICAgICAgMHgwMSAgICAgIC8vIEluZGlj YXRlcyBpZiBpbnRlcm5hbCB3cml0ZSBvcGVyYXRpb24gaXMgaW4NCj4gcHJvZ3Jlc3MNCj4gKyNk ZWZpbmUgU0ZfU1JfV0VMICAgICAgICAgMHgwMiAgICAgIC8vIEluZGljYXRlcyBpZiBkZXZpY2Ug aXMgbWVtb3J5IHdyaXRlDQo+IGVuYWJsZWQNCj4gKyNkZWZpbmUgU0ZfU1JfQlAwICAgICAgICAg MHgwNCAgICAgIC8vIEJsb2NrIHByb3RlY3Rpb24gYml0IDANCj4gKyNkZWZpbmUgU0ZfU1JfQlAx ICAgICAgICAgMHgwOCAgICAgIC8vIEJsb2NrIHByb3RlY3Rpb24gYml0IDENCj4gKyNkZWZpbmUg U0ZfU1JfQlAyICAgICAgICAgMHgxMCAgICAgIC8vIEJsb2NrIHByb3RlY3Rpb24gYml0IDINCj4g KyNkZWZpbmUgU0ZfU1JfQlAzICAgICAgICAgMHgyMCAgICAgIC8vIEJsb2NrIHByb3RlY3Rpb24g Yml0IDMNCj4gKyNkZWZpbmUgU0ZfU1JfV1BFICAgICAgICAgMHgzQyAgICAgIC8vIEVuYWJsZSB3 cml0ZSBwcm90ZWN0aW9uIG9uIGFsbCBibG9ja3MNCj4gKyNkZWZpbmUgU0ZfU1JfQUFJICAgICAg ICAgMHg0MCAgICAgIC8vIEF1dG8gQWRkcmVzcyBJbmNyZW1lbnQgUHJvZ3JhbW1pbmcNCj4gc3Rh dHVzDQo+ICsjZGVmaW5lIFNGX1NSX0JQTCAgICAgICAgIDB4ODAgICAgICAvLyBCbG9jayBwcm90 ZWN0aW9uIGxvY2stZG93bg0KPiArDQo+ICsvLw0KPiArLy8gT3BlcmF0aW9uIEluc3RydWN0aW9u IGRlZmluaXRpb25zIGZvciAgdGhlIFNlcmlhbCBGbGFzaCBEZXZpY2UNCj4gKy8vDQo+ICsjZGVm aW5lIFNGX0lOU1RfV1JTUiAgICAgICAgICAgIDB4MDEgICAgIC8vIFdyaXRlIFN0YXR1cyBSZWdp c3Rlcg0KPiArI2RlZmluZSBTRl9JTlNUX1BST0cgICAgICAgICAgICAweDAyICAgICAvLyBCeXRl IFByb2dyYW0NCj4gKyNkZWZpbmUgU0ZfSU5TVF9SRUFEICAgICAgICAgICAgMHgwMyAgICAgLy8g UmVhZA0KPiArI2RlZmluZSBTRl9JTlNUX1dSREkgICAgICAgICAgICAweDA0ICAgICAvLyBXcml0 ZSBEaXNhYmxlDQo+ICsjZGVmaW5lIFNGX0lOU1RfUkRTUiAgICAgICAgICAgIDB4MDUgICAgIC8v IFJlYWQgU3RhdHVzIFJlZ2lzdGVyDQo+ICsjZGVmaW5lIFNGX0lOU1RfV1JFTiAgICAgICAgICAg IDB4MDYgICAgIC8vIFdyaXRlIEVuYWJsZQ0KPiArI2RlZmluZSBTRl9JTlNUX0hTX1JFQUQgICAg ICAgICAweDBCICAgICAvLyBIaWdoLXNwZWVkIFJlYWQNCj4gKyNkZWZpbmUgU0ZfSU5TVF9TRVJB U0UgICAgICAgICAgMHgyMCAgICAgLy8gU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsjZGVmaW5lIFNG X0lOU1RfQkVSQVNFICAgICAgICAgIDB4NTIgICAgIC8vIEJsb2NrIEVyYXNlICgzMktCKQ0KPiAr I2RlZmluZSBTRl9JTlNUXzY0S0JfRVJBU0UgICAgICAweEQ4ICAgICAvLyBCbG9jayBFcmFzZSAo NjRLQikNCj4gKyNkZWZpbmUgU0ZfSU5TVF9FV1NSICAgICAgICAgICAgMHg1MCAgICAgLy8gRW5h YmxlIFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArI2RlZmluZSBTRl9JTlNUX1JFQURfSUQgICAg ICAgICAweEFCICAgICAvLyBSZWFkIElEDQo+ICsjZGVmaW5lIFNGX0lOU1RfSkVERUNfUkVBRF9J RCAgIDB4OUYgICAgIC8vIEpFREVDIFJlYWQgSUQNCj4gKyNkZWZpbmUgU0ZfSU5TVF9ET0ZSICAg ICAgICAgICAgMHgzQiAgICAgLy8gRHVhbCBPdXRwdXQgRmFzdCBSZWFkDQo+ICsjZGVmaW5lIFNG X0lOU1RfU0ZEUCAgICAgICAgICAgIDB4NUEgICAgIC8vIFNlcmlhbCBGbGFzaCBEaXNjb3Zlcnkg UGFyYW1ldGVycw0KPiArDQo+ICsjZGVmaW5lIFNFQ1RPUl9TSVpFXzRLQiAJMHgxMDAwICAgICAg IC8vIENvbW1vbiA0a0J5dGVzIHNlY3RvciBzaXplDQo+ICsjZGVmaW5lIFNFQ1RPUl9TSVpFXzY0 S0IJMHgxMDAwMCAgICAgIC8vIENvbW1vbiA2NGtCeXRlcyBzZWN0b3Igc2l6ZQ0KPiArI2RlZmlu ZSBCTE9DS19TSVpFXzY0S0IgCTB4MDAwMTAwMDAgICAvLyBDb21tb24gNjRrQnl0ZXMgYmxvY2sg c2l6ZQ0KPiArI2RlZmluZSBNQVhfRldIX1NJWkUgICAgCTB4MDAxMDAwMDAgICAvLyA4TWJpdCAo Tm90ZSB0aGF0IHRoaXMgY2FuIGFsc28NCj4gYmUgdXNlZCBmb3IgdGhlIDRNYml0ICkNCj4gKw0K PiArLy8NCj4gKy8vIFByZWZpeCBPcGNvZGUgSW5kZXggb24gdGhlIGhvc3QgU1BJIGNvbnRyb2xs ZXINCj4gKy8vDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBTUElfV1JFTiwgICAgICAgICAgICAg Ly8gUHJlZml4IE9wY29kZSAwOiBXcml0ZSBFbmFibGUNCj4gKyAgU1BJX0VXU1IsICAgICAgICAg ICAgIC8vIFByZWZpeCBPcGNvZGUgMTogRW5hYmxlIFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiAr fSBQUkVGSVhfT1BDT0RFX0lOREVYOw0KPiArDQo+ICsvLw0KPiArLy8gT3Bjb2RlIE1lbnUgSW5k ZXggb24gdGhlIGhvc3QgU1BJIGNvbnRyb2xsZXINCj4gKy8vDQo+ICt0eXBlZGVmIGVudW0gew0K PiArICBTUElfUkVBRF9JRCwgICAgICAgIC8vIE9wY29kZSAwOiBSRUFEIElELCBSZWFkIGN5Y2xl IHdpdGggYWRkcmVzcw0KPiArICBTUElfUkVBRCwgICAgICAgICAgIC8vIE9wY29kZSAxOiBSRUFE LCBSZWFkIGN5Y2xlIHdpdGggYWRkcmVzcw0KPiArICBTUElfUkRTUiwgICAgICAgICAgIC8vIE9w Y29kZSAyOiBSZWFkIFN0YXR1cyBSZWdpc3RlciwgTm8gYWRkcmVzcw0KPiArICBTUElfV1JESV9T RkRQLCAgICAgIC8vIE9wY29kZSAzOiBXcml0ZSBEaXNhYmxlIG9yIERpc2NvdmVyeSBQYXJhbWV0 ZXJzLA0KPiBObyBhZGRyZXNzDQo+ICsgIFNQSV9TRVJBU0UsICAgICAgICAgLy8gT3Bjb2RlIDQ6 IFNlY3RvciBFcmFzZSAoNEtCKSwgV3JpdGUgY3ljbGUgd2l0aCBhZGRyZXNzDQo+ICsgIFNQSV9C RVJBU0UsICAgICAgICAgLy8gT3Bjb2RlIDU6IEJsb2NrIEVyYXNlICgzMktCKSwgV3JpdGUgY3lj bGUgd2l0aCBhZGRyZXNzDQo+ICsgIFNQSV9QUk9HLCAgICAgICAgICAgLy8gT3Bjb2RlIDY6IEJ5 dGUgUHJvZ3JhbSwgV3JpdGUgY3ljbGUgd2l0aCBhZGRyZXNzDQo+ICsgIFNQSV9XUlNSLCAgICAg ICAgICAgLy8gT3Bjb2RlIDc6IFdyaXRlIFN0YXR1cyBSZWdpc3RlciwgTm8gYWRkcmVzcw0KPiAr fSBTUElfT1BDT0RFX0lOREVYOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9TdGFsbFNtbUxpYi5o DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L1N0 YWxsU21tTGliLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u NDliYWZmZGNjNQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9TdGFsbFNtbUxpYi5oDQo+IEBAIC0wLDAgKzEs NDAgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+IA0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsN Cj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFNtbVN0YWxsTGliLmgNCj4gKw0KPiArQWJzdHJh Y3Q6DQo+ICsNCj4gKyAgVGhpcyBsaWJyYXJ5IHByb3ZpZGVzIFNNTSBmdW5jdGlvbnMgZm9yIFN0 YWxsLg0KPiArICBUaGVzZSBjYW4gYmUgdXNlZCB0byBzYXZlIHNpemUgYW5kIHNpbXBsaWZ5IGNv ZGUuDQo+ICsgIEFsbCBjb250ZW50cyBtdXN0IGJlIHJ1bnRpbWUgYW5kIFNNTSBzYWZlLg0KPiAr DQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX1NNTV9TVEFMTF9MSUJfSF8NCj4gKyNkZWZpbmUg X1NNTV9TVEFMTF9MSUJfSF8NCj4gKyNpbmNsdWRlICJQaUR4ZS5oIg0KPiArI2luY2x1ZGUgIlBp L1BpU21tQ2lzLmgiDQo+ICtleHRlcm4gRUZJX1NNTV9TWVNURU1fVEFCTEUyICAqbVNtc3Q7DQo+ ICsNCj4gKy8qKg0KPiArICBEZWxheSBmb3IgYXQgbGVhc3QgdGhlIHJlcXVlc3QgbnVtYmVyIG9m IG1pY3Jvc2Vjb25kcw0KPiArDQo+ICsgIEBwYXJhbVtpbl0gTWljcm9zZWNvbmRzICBOdW1iZXIg b2YgbWljcm9zZWNvbmRzIHRvIGRlbGF5Lg0KPiArDQo+ICsgIEByZXR2YWwgTm9uZQ0KPiArDQo+ ICsqKi8NCj4gK1ZPSUQNCj4gK1NtbVN0YWxsICgNCj4gKyAgSU4gIFVJTlROICAgTWljcm9zZWNv bmRzDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9MaWJyYXJ5L1VzYkRldmljZU1vZGVMaWIu aA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9V c2JEZXZpY2VNb2RlTGliLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uYzUyNDE3ZjAwZg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTGlicmFyeS9Vc2JEZXZpY2VNb2RlTGliLmgN Cj4gQEAgLTAsMCArMSwxODEgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIw MDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fQkFTRV9VU0JE RVZJQ0VNT0RFX0xJQl9IX18NCj4gKyNkZWZpbmUgX19CQVNFX1VTQkRFVklDRU1PREVfTElCX0hf Xw0KPiArDQo+ICsjcHJhZ21hIHBhY2soMSkNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgICBV SU5UOCAgYkxlbmd0aDsNCj4gKyAgICBVSU5UOCAgYkRlc2NyaXB0b3JUeXBlOw0KPiArICAgIFVJ TlQ4ICBiTWF4QnVyc3Q7DQo+ICsgICAgVUlOVDggIGJtQXR0cmlidXRlczsNCj4gKyAgICBVSU5U MTYgd0J5dGVzUGVySW50ZXJ2YWw7DQo+ICt9IGVuZHBvaW50Q29tcGFuaW9uRGVzY3JpcHRvcjsN Cj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiArICAgIFVJTlQ4ICBiTGVuZ3RoOw0KPiArICAgIFVJTlQ4ICBiRGVzY3JpcHRv clR5cGU7DQo+ICsgICAgVUlOVDggIGJFbmRwb2ludEFkZHJlc3M7DQo+ICsgICAgVUlOVDggIGJt QXR0cmlidXRlczsNCj4gKyAgICBVSU5UMTYgd01heFBhY2tldFNpemU7DQo+ICsgICAgVUlOVDgg IGJJbnRlcnZhbDsNCj4gK30gZW5kcG9pbnREZXNjcmlwdG9yOw0KPiArI3ByYWdtYSBwYWNrKCkN Cj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICAgIGVuZHBvaW50RGVzY3JpcHRvciAgICAg ICAgICAqcEVwRGVzYzsNCj4gKyAgICBlbmRwb2ludENvbXBhbmlvbkRlc2NyaXB0b3IgKnBFcENv bXBEZXNjOw0KPiArfSBVU0JfREVWX0VQX0lORk87ICAgIC8vdXNiZEVwSW5mbzsNCj4gKw0KPiAr dHlwZWRlZiBzdHJ1Y3Qgew0KPiArICAgIFZPSUQgICAgICAgICpwQnVmOw0KPiArICAgIFVJTlQz MiAgICBkYXRhTGVuOw0KPiArfSBVU0JEX0lPX0lORk87DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0 IHsNCj4gKyAgICBVU0JEX0lPX0lORk8gICAgIGlvSW5mbzsNCj4gKyAgICBVU0JfREVWX0VQX0lO Rk8gIGVwSW5mbzsNCj4gK30gVVNCRF9JT19SRVE7DQo+ICsNCj4gK1VJTlRODQo+ICtFRklBUEkN Cj4gK3VzYmRJbml0RENJICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICtCT09MRUFODQo+ ICtFRklBUEkNCj4gK2ZiSW5pdCAoDQo+ICsgIE9VVCAgVk9JRCAgKnBQYXJhbXMNCj4gKyAgKTsN Cj4gKw0KPiArQk9PTEVBTg0KPiArRUZJQVBJDQo+ICtmYkRlaW5pdCAoDQo+ICsgIFZPSUQNCj4g KyAgKTsNCj4gKw0KPiArQk9PTEVBTg0KPiArRUZJQVBJDQo+ICtmYlN0YXJ0ICgNCj4gKyAgVk9J RA0KPiArICApOw0KPiArDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK2ZiU3RvcCAoDQo+ICsg IFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArQk9PTEVBTg0KPiArRUZJQVBJDQo+ICt1c2JkU2V0TW1p b0JhciAoDQo+ICsgIFVJTlQzMiBtbWlvQmFyDQo+ICsgICk7DQo+ICsNCj4gK0JPT0xFQU4NCj4g K0VGSUFQSQ0KPiArdWRjaURlaW5pdCAoDQo+ICsgIFZPSUQgICAgKnBVZGNpSG5kbCwNCj4gKyAg VUlOVDMyICBmbGFncw0KPiArICApOw0KPiArDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK3Vk Y2lJc3IgKA0KPiArICBWT0lEICAgICpwVWRjaUhuZGwNCj4gKyAgKTsNCj4gKw0KPiArQk9PTEVB Tg0KPiArRUZJQVBJDQo+ICt1ZGNpQ29ubmVjdCAoDQo+ICsgIFZPSUQgICAgKnBVZGNpSG5kbA0K PiArICApOw0KPiArDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK3VkY2lEaXNjb25uZWN0ICgN Cj4gKyAgVk9JRCAgICAqcFVkY2lIbmRsDQo+ICsgICk7DQo+ICsNCj4gK0JPT0xFQU4NCj4gK0VG SUFQSQ0KPiArdWRjaVNldEFkZHJlc3MgKA0KPiArICBWT0lEICAgICpwVWRjaUhuZGwsDQo+ICsg IFVJTlQ4ICAgYWRkcmVzcw0KPiArICApOw0KPiArDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4g K3VkY2lJbml0RXAgKA0KPiArICBWT0lEICAgICAgICAgICAgKnBVZGNpSG5kbCwNCj4gKyAgVVNC X0RFVl9FUF9JTkZPICpwRXBJbmZvDQo+ICsgICk7DQo+ICsNCj4gK0JPT0xFQU4NCj4gK0VGSUFQ SQ0KPiArdWRjaUVuYWJsZUVwICgNCj4gKyAgVk9JRCAgICAgICAgICAgICpwVWRjaUhuZGwsDQo+ ICsgIFVTQl9ERVZfRVBfSU5GTyAqcEVwSW5mbw0KPiArICApOw0KPiArDQo+ICtCT09MRUFODQo+ ICtFRklBUEkNCj4gK3VkY2lEaXNhYmxlRXAgKA0KPiArICBWT0lEICAgICAgICAgICAgKnBVZGNp SG5kbCwNCj4gKyAgVVNCX0RFVl9FUF9JTkZPICpwRXBJbmZvDQo+ICsgICk7DQo+ICsNCj4gK0JP T0xFQU4NCj4gK0VGSUFQSQ0KPiArdWRjaVN0YWxsRXAgKA0KPiArICBWT0lEICAgICAgICAgICAg KnBVZGNpSG5kbCwNCj4gKyAgVVNCX0RFVl9FUF9JTkZPICpwRXBJbmZvDQo+ICsgICk7DQo+ICsN Cj4gK0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArdWRjaUNsZWFyU3RhbGxFcCAoDQo+ICsgIFZPSUQg ICAgICAgICAgICAqcFVkY2lIbmRsLA0KPiArICBVU0JfREVWX0VQX0lORk8gKnBFcEluZm8NCj4g KyAgKTsNCj4gKw0KPiArDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK3VkY2lFcDBUeFN0YXR1 cyAoDQo+ICsgIFZPSUQgICAgICAgICAgICAqcFVkY2lIbmRsDQo+ICsgICk7DQo+ICsNCj4gKw0K PiArQk9PTEVBTg0KPiArRUZJQVBJDQo+ICt1ZGNpRXBUeERhdGEgKA0KPiArICBWT0lEICAgICAg ICAqcFVkY2lIbmRsLA0KPiArICBVU0JEX0lPX1JFUSAqcElvUmVxDQo+ICsgICk7DQo+ICsNCj4g K0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArdWRjaUVwUnhEYXRhICgNCj4gKyAgVk9JRCAgICAgICAg KnBVZGNpSG5kbCwNCj4gKyAgVVNCRF9JT19SRVEgKnBJb1JlcQ0KPiArICApOw0KPiArDQo+ICtC T09MRUFODQo+ICtFRklBUEkNCj4gK3VkY2lSZWdpc3RlckNhbGxiYWNrcyAoDQo+ICsgIFZPSUQg ICAgICAgICAgICAqcFVkY2lIbmRsDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0t Z2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9NY2ZnLmgNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL01jZmcuaA0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yNzUxYTI3ZDJkDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVk ZS9NY2ZnLmgNCj4gQEAgLTAsMCArMSw2OSBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdo dCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0K PiArICBNY2ZnLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgQUNQSSBNZW1vcnkgbWFw cGVkIGNvbmZpZ3VyYXRpb24gc3BhY2UgYmFzZSBhZGRyZXNzIERlc2NyaXB0aW9uIFRhYmxlDQo+ ICsgIGltcGxlbWVudGF0aW9uLCBiYXNlZCBvbiBQQ0kgRmlybXdhcmUgU3BlY2lmaWNhdGlvbiBS ZXZpc2lvbiAzLjAgZmluYWwNCj4gZHJhZnQsDQo+ICsgIGRvd25sb2FkYWJsZSBhdCBodHRwOi8v d3d3LnBjaXNpZy5jb20vaG9tZQ0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfTUNGR19I Xw0KPiArI2RlZmluZSBfTUNGR19IXw0KPiArDQo+ICsvLw0KPiArLy8gU3RhdGVtZW50cyB0aGF0 IGluY2x1ZGUgb3RoZXIgZmlsZXMNCj4gKy8vDQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFy ZC9BY3BpMjAuaD4NCj4gKyNpbmNsdWRlICJNY2ZnVGFibGUuaCINCj4gKyNpbmNsdWRlICJQbGF0 Zm9ybS5oIg0KPiArDQo+ICsvLw0KPiArLy8gIk1DRkciIFN0YXRpYyBSZXNvdXJjZSBBZmZpbml0 eSBUYWJsZQ0KPiArLy8NCj4gKyNkZWZpbmUNCj4gRUZJX0FDUElfM18wX01FTU9SWV9NQVBQRURf Q09ORklHVVJBVElPTl9CQVNFX0FERFJFU1NfVEFCTA0KPiBFX1NJR05BVFVSRSAweDQ3NDY0MzRE DQo+ICsNCj4gKy8vDQo+ICsvLyBNQ0ZHIERlZmluaXRpb25zLCBzZWUgc3BlY2lmaWNhdGlvbiBm b3IgZGV0YWlscy4NCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX09FTV9NQ0ZHX1JFVklTSU9O ICAweDAwMDAwMDAxDQo+ICsNCj4gKy8vDQo+ICsvLyBEZWZpbmUgdGhlIG51bWJlciBvZiBlYWNo IHRhYmxlIHR5cGUuDQo+ICsvLyBUaGlzIGlzIHdoZXJlIHRoZSB0YWJsZSBsYXlvdXQgaXMgbW9k aWZpZWQuDQo+ICsvLw0KPiArI2RlZmluZQ0KPiBFRklfQUNQSV9NRU1PUllfTUFQUEVEX0VOSEFO Q0VEX0NPTkZJR1VSQVRJT05fQkFTRV9BRERSRQ0KPiBTU19TVFJVQ1RVUkVfQ09VTlQgIDENCj4g Kw0KPiArLy8NCj4gKy8vIE1DRkcgVGFibGUgZGVmaW5pdGlvbi4gIFRoZSB0YWJsZSBtdXN0IGJl IGRlZmluZWQgaW4gYSBwbGF0Zm9ybQ0KPiArLy8gc3BlY2lmaWMgbWFubmVyLg0KPiArLy8NCj4g Ky8vDQo+ICsvLyBFbnN1cmUgcHJvcGVyIHN0cnVjdHVyZSBmb3JtYXRzDQo+ICsvLw0KPiArI3By YWdtYSBwYWNrKDEpDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKw0KPiBFRklfQUNQSV9N RU1PUllfTUFQUEVEX0NPTkZJR1VSQVRJT05fQkFTRV9BRERSRVNTX1RBQkxFX0hFDQo+IEFERVIg ICAgICAgIEhlYWRlcjsNCj4gKw0KPiArI2lmDQo+IEVGSV9BQ1BJX01FTU9SWV9NQVBQRURfRU5I QU5DRURfQ09ORklHVVJBVElPTl9CQVNFX0FERFJFDQo+IFNTX1NUUlVDVFVSRV9DT1VOVCA+IDAN Cj4gKw0KPiBFRklfQUNQSV9NRU1PUllfTUFQUEVEX0VOSEFOQ0VEX0NPTkZJR1VSQVRJT05fQkFT RV9BRERSRQ0KPiBTU19TVFJVQ1RVUkUgIFNlZ21lbnRbDQo+ICsNCj4gRUZJX0FDUElfTUVNT1JZ X01BUFBFRF9FTkhBTkNFRF9DT05GSUdVUkFUSU9OX0JBU0VfQUREUkUNCj4gU1NfU1RSVUNUVVJF X0NPVU5UXTsNCj4gKyNlbmRpZg0KPiArDQo+ICt9IEVGSV9BQ1BJX01FTU9SWV9NQVBQRURfQ09O RklHVVJBVElPTl9CQVNFX0FERFJFU1NfVEFCTEU7DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ ICsNCj4gKyNlbmRpZiAvLyBfTUNGR19IXw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9NY2ZnVGFibGUuaA0KPiBiL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTWNmZ1RhYmxlLmgNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZGM5ZGM0OWU3NA0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvTWNmZ1RhYmxl LmgNCj4gQEAgLTAsMCArMSw2NSBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykg MjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWNmZ1Rh YmxlLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgQUNQSSBNZW1vcnkgbWFwcGVkIGNv bmZpZ3VyYXRpb24gc3BhY2UgYmFzZSBhZGRyZXNzIERlc2NyaXB0aW9uIFRhYmxlDQo+ICsgIGRl ZmluaXRpb24sIGJhc2VkIG9uIFBDSSBGaXJtd2FyZSBTcGVjaWZpY2F0aW9uIFJldmlzaW9uIDMu MCBmaW5hbCBkcmFmdCwNCj4gKyAgZG93bmxvYWRhYmxlIGF0IGh0dHA6Ly93d3cucGNpc2lnLmNv bS9ob21lDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9NQ0ZHX1RBQkxFX0hfDQo+ICsj ZGVmaW5lIF9NQ0ZHX1RBQkxFX0hfDQo+ICsNCj4gKy8vDQo+ICsvLyBJbmNsdWRlIGZpbGVzDQo+ ICsvLw0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsNCj4gKy8vDQo+ICsvLyBFbnN1cmUgcHJv cGVyIHN0cnVjdHVyZSBmb3JtYXRzDQo+ICsvLw0KPiArI3ByYWdtYSBwYWNrKDEpDQo+ICsNCj4g Ky8vDQo+ICsvLyBNQ0ZHIFJldmlzaW9uIChkZWZpbmVkIGluIHNwZWMpDQo+ICsvLw0KPiArI2Rl ZmluZQ0KPiBFRklfQUNQSV9NRU1PUllfTUFQUEVEX0NPTkZJR1VSQVRJT05fQkFTRV9BRERSRVNT X1RBQkxFX1JFDQo+IFZJU0lPTiAgMHgwMQ0KPiArDQo+ICsvLw0KPiArLy8gTUNGRyBTdHJ1Y3R1 cmUgRGVmaW5pdGlvbnMNCj4gKy8vDQo+ICsvLw0KPiArLy8gTWVtb3J5IE1hcHBlZCBFbmhhbmNl ZCBDb25maWd1cmF0aW9uIEJhc2UgQWRkcmVzcyBBbGxvY2F0aW9uDQo+ICsvLyBTdHJ1Y3R1cmUg RGVmaW5pdGlvbg0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDY0ICBCYXNl QWRkcmVzczsNCj4gKyAgVUlOVDE2ICBQY2lTZWdtZW50R3JvdXBOdW1iZXI7DQo+ICsgIFVJTlQ4 ICAgU3RhcnRCdXNOdW1iZXI7DQo+ICsgIFVJTlQ4ICAgRW5kQnVzTnVtYmVyOw0KPiArICBVSU5U MzIgIFJlc2VydmVkOw0KPiArfQ0KPiBFRklfQUNQSV9NRU1PUllfTUFQUEVEX0VOSEFOQ0VEX0NP TkZJR1VSQVRJT05fQkFTRV9BRERSRQ0KPiBTU19TVFJVQ1RVUkU7DQo+ICsNCj4gKy8vDQo+ICsv LyBNQ0ZHIFRhYmxlIGhlYWRlciBkZWZpbml0aW9uLiAgVGhlIHJlc3Qgb2YgdGhlIHRhYmxlDQo+ ICsvLyBtdXN0IGJlIGRlZmluZWQgaW4gYSBwbGF0Zm9ybSBzcGVjaWZpYyBtYW5uZXIuDQo+ICsv Lw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBFRklfQUNQSV9ERVNDUklQVElPTl9IRUFERVIg SGVhZGVyOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgUmVzZXJ2ZWQ7DQo+ICt9 DQo+IEVGSV9BQ1BJX01FTU9SWV9NQVBQRURfQ09ORklHVVJBVElPTl9CQVNFX0FERFJFU1NfVEFC TEVfSEUNCj4gQURFUjsNCj4gKw0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArI2VuZGlmIC8v IF9NQ0ZHX1RBQkxFX0gNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvUGxhdGZvcm0uaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvUGxhdGZvcm0uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwLi40ZDE5MzJmZWJkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QbGF0Zm9ybS5oDQo+IEBAIC0wLDAg KzEsMTMzIEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4g KyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiAr DQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFBsYXRmb3JtLmgNCj4g Kw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUGluZXRyYWlsIHBsYXRmb3JtIHNwZWNpZmljIGlu Zm9ybWF0aW9uLg0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfUExBVEZPUk1fSA0KPiAr I2RlZmluZSBfUExBVEZPUk1fSA0KPiArDQo+ICsjaW5jbHVkZSAiQ2hpcHNldEFjY2Vzcy5oIg0K PiArI2luY2x1ZGUgIlBsYXRmb3JtQmFzZUFkZHJlc3Nlcy5oIg0KPiArDQo+ICsNCj4gKy8vDQo+ ICsvLyBOdW1iZXIgb2YgUCAmIFQgc3RhdGVzIHN1cHBvcnRlZC4NCj4gKy8vDQo+ICsjZGVmaW5l IE5QVE1fUF9TVEFURVNfU1VQUE9SVEVEICAgICAgICAgMTYNCj4gKyNkZWZpbmUgTlBUTV9UX1NU QVRFU19TVVBQT1JURUQgICAgICAgICA4DQo+ICsNCj4gKy8vDQo+ICsvLyBJL08gQVBJQyBJRHMs IHRoZSBjb2RlIHVzZXMgbWF0aCB0byBnZW5lcmF0ZSB0aGUgbnVtYmVycw0KPiArLy8gaW5zdGVh ZCBvZiB1c2luZyB0aGVzZSBkZWZpbmVzLg0KPiArLy8NCj4gKyNkZWZpbmUgSUNIX0lPQVBJQyAg ICAgICAgICAgICAgICAgICAgICgxIDw8IDApDQo+ICsjZGVmaW5lIElDSF9JT0FQSUNfSUQgICAg ICAgICAgICAgICAgICAgMHgwOA0KPiArDQo+ICsvLw0KPiArLy8gUG9zc2libGUgU01CdXMgYWRk cmVzc2VzIHRoYXQgd2lsbCBiZSBwcmVzZW50Lg0KPiArLy8NCj4gKyNkZWZpbmUgU01CVVNfQURE Ul9DSF9BXzEgICAgIDB4QTANCj4gKyNkZWZpbmUgU01CVVNfQUREUl9DSF9BXzIgICAgIDB4QTIN Cj4gKyNkZWZpbmUgU01CVVNfQUREUl9DSF9CXzEgICAgIDB4QTQNCj4gKyNkZWZpbmUgU01CVVNf QUREUl9DSF9CXzIgICAgIDB4QTYNCj4gKyNkZWZpbmUgU01CVVNfQUREUl9DSF9DXzEgICAgIDB4 QTgNCj4gKyNkZWZpbmUgU01CVVNfQUREUl9DSF9DXzIgICAgIDB4QUENCj4gKyNkZWZpbmUgU01C VVNfQUREUl9DSF9EXzEgICAgIDB4QUMNCj4gKyNkZWZpbmUgU01CVVNfQUREUl9DSF9EXzIgICAg IDB4QUUNCj4gKyNkZWZpbmUgU01CVVNfQUREUl9IT1NUX0NMS19CVUZGRVIgIDB4REMNCj4gKyNk ZWZpbmUgU01CVVNfQUREUl9JQ0hfU0xBVkUgICAgICAgIDB4NDQNCj4gKyNkZWZpbmUgU01CVVNf QUREUl9IRUNFVEEgICAgIDB4NUMNCj4gKyNkZWZpbmUgU01CVVNfQUREUl9TTUJBUlAgICAgIDB4 QzINCj4gKyNkZWZpbmUgU01CVVNfQUREUl84MjU3M0UgICAgIDB4QzYNCj4gKyNkZWZpbmUgU01C VVNfQUREUl9DTEtDSElQICAgIDB4RDINCj4gKyNkZWZpbmUgU01CVVNfQUREUl9CUkRfUkVWICAg ICAgICAgIDB4NEUNCj4gKyNkZWZpbmUgU01CVVNfQUREUl9EQjgwMyAgICAgICAgICAgIDB4ODIN Cj4gKw0KPiArLy8NCj4gKy8vIFNNQnVzIGFkZHJlc3NlcyB0aGF0IHVzZWQgb24gdGhpcyBwbGF0 Zm9ybS4NCj4gKy8vDQo+ICsjZGVmaW5lIFBMQVRGT1JNX1NNQlVTX1JTVkRfQUREUkVTU0VTIHsg XA0KPiArICBTTUJVU19BRERSX0NIX0FfMSwgXA0KPiArICBTTUJVU19BRERSX0NIX0FfMiwgXA0K PiArICBTTUJVU19BRERSX0hPU1RfQ0xLX0JVRkZFUiwgXA0KPiArICBTTUJVU19BRERSX0lDSF9T TEFWRSwgXA0KPiArICBTTUJVU19BRERSX1NNQkFSUCwgXA0KPiArICBTTUJVU19BRERSX0NMS0NI SVAsIFwNCj4gKyAgU01CVVNfQUREUl9CUkRfUkVWLCBcDQo+ICsgIFNNQlVTX0FERFJfREI4MDMg XA0KPiArICB9DQo+ICsNCj4gKy8vDQo+ICsvLyBDb3VudCBvZiBhZGRyZXNzZXMgcHJlc2VudCBp biBQTEFURk9STV9TTUJVU19SU1ZEX0FERFJFU1NFUy4NCj4gKy8vDQo+ICsjZGVmaW5lIFBMQVRG T1JNX05VTV9TTUJVU19SU1ZEX0FERFJFU1NFUyA4DQo+ICsNCj4gKy8vDQo+ICsvLyBDTU9TIHVz YWdlDQo+ICsvLw0KPiArI2RlZmluZSBDTU9TX0NQVV9CU1BfU0VMRUNUICAgICAgICAgMHgxMA0K PiArI2RlZmluZSBDTU9TX0NQVV9VUF9NT0RFICAgICAgICAgICAgMHgxMQ0KPiArI2RlZmluZSBD TU9TX0NQVV9SQVRJT19PRkZTRVQgICAgICAgMHgxMg0KPiArI2RlZmluZSBDTU9TX0NQVV9DT1JF X0hUX09GRlNFVCAgICAgMHgxMw0KPiArI2RlZmluZSBDTU9TX0VGSV9ERUJVRyAgICAgICAgICAg ICAgMHgxNA0KPiArI2RlZmluZSBDTU9TX0NQVV9CSVNUX09GRlNFVCAgICAgICAgMHgxNQ0KPiAr I2RlZmluZSBDTU9TX0NQVV9WTVhfT0ZGU0VUICAgICAgICAgMHgxNg0KPiArI2RlZmluZSBDTU9T X0lDSF9QT1JUODBfT0ZGU0VUICAgICAgMHgxNw0KPiArI2RlZmluZSBDTU9TX1BMQVRGT1JNX0RF U0lHTkFUT1IgICAgMHgxOCAgICAgIC8vIFNlY29uZCBiYW5rIENNT1MNCj4gbG9jYXRpb24gb2Yg UGxhdGZvcm0gSUQuDQo+ICsjZGVmaW5lIENNT1NfVkFMSURBVElPTl9URVNUX0JZVEUgICAweDE5 ICAgICAgLy8gQklUMCAtIFZhbGlkYXRpb24NCj4gbWFpbGJveCBmb3IgVVBvbkRQLg0KPiArI2Rl ZmluZSBDTU9TX1NFUklBTF9CQVVEX1JBVEUgICAgICAgMHgxQSAgICAgIC8vIDA9MTE1MjAwOyAx PTU3NjAwOw0KPiAyPTM4NDAwOyAzPTE5MjAwOyA0PTk2MDANCj4gKyNkZWZpbmUgQ01PU19EQ1Vf TU9ERV9PRkZTRVQgICAgICAgIDB4MUINCj4gKyNkZWZpbmUgQ01PU19WUjExX1NFVF9PRkZTRVQg ICAgICAgIDB4MUMNCj4gKyNkZWZpbmUgQ01PU19TQlNQX1RPX0FQX0NPTU0gICAgICAgIDB4MjAg ICAgICAvLyBTRUMgY29kZSB1c2UgT05MWSEhIQ0KPiArI2RlZmluZSBDTU9TX1JFU0VUX1RZUEVf QllfT1MgICAgICAgMHg1Mg0KPiArI2RlZmluZSBUQ0dfQ01PU19NT1JfQVJFQV9PRkZTRVQgICAg MHg2NSAgICAgIC8vIEFsc28gQ2hhbmdlIGluDQo+IFVuaXZlcnNhbFxTZWN1cml0eVxUcG1cUGh5 c2ljYWxQcmVzZW5jZVxEeGVcUGh5c2ljYWxQcmVzZW5jZS5jICYNCj4gKyNkZWZpbmUgQ01PU19T NF9XQUtFVVBfRkxBR19BRERSRVNTIDB4NkUNCj4gKyNkZWZpbmUgQUNQSV9UUE1fUkVRVUVTVCAg ICAgICAgICAgIDB4NzUNCj4gKyNkZWZpbmUgQUNQSV9UUE1fTEFTVF9SRVFVRVNUICAgICAgIDB4 NzYNCj4gKyNkZWZpbmUgQ01PU19CT09UX0ZMQUdfQUREUkVTUyAgICAgIDB4N0UNCj4gKw0KPiAr Ly8NCj4gKy8vIEdQSU8gSW5kZXggRGF0YSBTdHJ1Y3R1cmUuDQo+ICsvLw0KPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiArICBVSU5UOCAgIFJlZ2lzdGVyOw0KPiArICBVSU5UMzIgIFZhbHVlOw0KPiAr fSBJQ0hfR1BJT19ERVY7DQo+ICsNCj4gKy8vDQo+ICsvLyBDUFUgRXF1YXRlcw0KPiArLy8NCj4g KyNkZWZpbmUgTUFYX1RIUkVBRCAgICAgICAgICAgICAgICAgICAgICAyDQo+ICsjZGVmaW5lIE1B WF9DT1JFICAgICAgICAgICAgICAgICAgICAgICAgMQ0KPiArI2RlZmluZSBNQVhfRElFICAgICAg ICAgICAgICAgICAgICAgICAgIDINCj4gKyNkZWZpbmUgTUFYX0NQVV9TT0NLRVQgICAgICAgICAg ICAgICAgICAxDQo+ICsjZGVmaW5lIE1BWF9DUFVfTlVNICAgICAgICAgICAgICAgICAgICAgKE1B WF9USFJFQUQgKiBNQVhfQ09SRSAqDQo+IE1BWF9ESUUgKiBNQVhfQ1BVX1NPQ0tFVCkNCj4gKw0K PiArI2RlZmluZSBNRU02NF9MRU4gICAgICAgICAgICAgICAgICAgICAgIDB4MDAxMDAwMDAwMDAN Cj4gKyNkZWZpbmUgUkVTX01FTTY0XzM2X0JBU0UgICAgICAgICAgICAgICAweDAxMDAwMDAwMDAw IC0gTUVNNjRfTEVOICAgLy8NCj4gMl4zNg0KPiArI2RlZmluZSBSRVNfTUVNNjRfMzZfTElNSVQg ICAgICAgICAgICAgIDB4MDEwMDAwMDAwMDAgLSAxICAgICAgICAgICAvLyAyXjM2DQo+ICsjZGVm aW5lIFJFU19NRU02NF8zOV9CQVNFICAgICAgICAgICAgICAgMHgwODAwMDAwMDAwMCAtIE1FTTY0 X0xFTiAgIC8vDQo+IDJeMzkNCj4gKyNkZWZpbmUgUkVTX01FTTY0XzM5X0xJTUlUICAgICAgICAg ICAgICAweDA4MDAwMDAwMDAwIC0gMSAgICAgICAgICAgLy8gMl4zOQ0KPiArI2RlZmluZSBSRVNf TUVNNjRfNDBfQkFTRSAgICAgICAgICAgICAgIDB4MTAwMDAwMDAwMDAgLSBNRU02NF9MRU4gICAv Lw0KPiAyXjQwDQo+ICsjZGVmaW5lIFJFU19NRU02NF80MF9MSU1JVCAgICAgICAgICAgICAgMHgx MDAwMDAwMDAwMCAtIDEgICAgICAgICAgIC8vIDJeNDANCj4gKw0KPiArI2RlZmluZSBQTEFURk9S TV9NQVhfQlVTX05VTSAgICAgICAgICAgICAweDNmDQo+ICsjZGVmaW5lIFZfREVGQVVMVF9TVUJT WVNURU1fREVWSUNFX0lEICAgIDB4NTc0ZA0KPiArI2RlZmluZSBWX0RFRkFVTFRfU1VCU1lTVEVN X0RFVklDRV9JRF9LVCAweDU0NGINCj4gKyNkZWZpbmUgVl9ERUZBVUxUX1NVQlNZU1RFTV9WRU5E T1JfSUQgICAgMHg4MDg2DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QbGF0Zm9ybUJvb3RNb2RlLmgNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1BsYXRmb3JtQm9vdE1vZGUu aA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44MTIwNzdjZTE0 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvSW5jbHVkZS9QbGF0Zm9ybUJvb3RNb2RlLmgNCj4gQEAgLTAsMCArMSwzNSBAQA0KPiArLyor Kw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICAgIFBsYXRmb3JtQm9vdE1vZGUuaA0KPiArDQo+ICtB YnN0cmFjdDoNCj4gKw0KPiArICAgIEVGSSBQbGF0Zm9ybSBCb290IE1vZGUNCj4gKw0KPiArUmV2 aXNpb24gSGlzdG9yeQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX0VGSV9QTEFURk9S TV9CT09UX01PREVfSF8NCj4gKyNkZWZpbmUgX0VGSV9QTEFURk9STV9CT09UX01PREVfSF8NCj4g Kw0KPiArLy8NCj4gKy8vIEdsb2JhbCBJRCBmb3IgdGhlIFBsYXRmb3JtIEJvb3QgTW9kZSBQcm90 b2NvbC4NCj4gKy8vDQo+ICsjZGVmaW5lICAgTUFOVUZBQ1RVUkVfU0VUVVBfTkFNRSAgICAgICAg ICAgICBMIk1mZ0RlZmF1bHQiDQo+ICsjZGVmaW5lICAgU0FGRV9TRVRVUF9OQU1FICAgICAgICAg ICAgICAgICAgICBMIlNldHVwRGVmYXVsdCINCj4gKyNkZWZpbmUgICBPRU1fREVGQVVMVFNfU0VU VVBfTkFNRSAgICAgICAgICAgIEwiT2VtRGVmYXVsdCINCj4gKyNkZWZpbmUgICBDVVNUT01fREVG QVVMVFNfU0VUVVBfTkFNRSAgICAgICAgIEwiQ3VzdG9tRGVmYXVsdCINCj4gKw0KPiArI2VuZGlm DQo+ICsNCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvSW5jbHVkZS9QbGF0Zm9ybURlZmluaXRpb25zLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9JbmNsdWRlL1BsYXRmb3JtRGVmaW5pdGlvbnMuaA0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5hNjRjZGEwNzk5DQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QbGF0 Zm9ybURlZmluaXRpb25zLmgNCj4gQEAgLTAsMCArMSw0MyBAQA0KPiArLyorKw0KPiArDQo+ICtD b3B5cmlnaHQgKGMpIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQNCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiAr DQo+ICsgIFBsYXRmb3JtRGVmaW5pdGlvbnMuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiAr ICBUaGlzIGhlYWRlciBmaWxlIHByb3ZpZGVzIHBsYXRmb3JtIHNwZWNpZmljIGRlZmluaXRpb25z IHVzZWQgYnkgb3RoZXINCj4gbW9kdWxlcw0KPiArICBmb3IgcGxhdGZvcm0gc3BlY2lmaWMgaW5p dGlhbGl6YXRpb24uDQo+ICsNCj4gKyAgVEhJUyBGSUxFIFNIT1VMRCBPTkxZIENPTlRBSU4gI2Rl ZmluZXMgQkVDQVVTRSBJVCBJUyBDT05TVU1FRCBCWQ0KPiBOT04tQyBNT0RVTEVTDQo+ICsgIChB U0wgYW5kIFZGUikNCj4gKw0KPiArICBUaGlzIGZpbGUgc2hvdWxkIG5vdCBjb250YWluIGFkZGl0 aW9uIG9yIG90aGVyIG9wZXJhdGlvbnMgdGhhdCBhbiBBU0wNCj4gY29tcGlsZXIgb3INCj4gKyAg VkZSIGNvbXBpbGVyIGRvZXMgbm90IHVuZGVyc3RhbmQuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiAr I2lmbmRlZiBfUExBVEZPUk1fREVGSU5JVElPTlNfSF8NCj4gKyNkZWZpbmUgX1BMQVRGT1JNX0RF RklOSVRJT05TX0hfDQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIFBsYXRmb3JtIEJhc2UgQWRkcmVz cyBkZWZpbml0aW9ucw0KPiArLy8NCj4gKyNkZWZpbmUgUENJRVhfQkFTRV9BRERSRVNTICAgICAg ICAgIEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzIC8vDQo+IFBjaSBFeHByZXNzIENv bmZpZ3VyYXRpb24gU3BhY2UgQmFzZSBBZGRyZXNzDQo+ICsNCj4gKyNkZWZpbmUgUENJRVhfTEVO R1RIICAgICAgICAgICAgICAgIFBMQVRGT1JNX1BDSUVYUFJFU1NfTEVOR1RIDQo+ICsNCj4gKyNk ZWZpbmUgVEhFUk1BTF9CQVNFX0FERFJFU1MgICAgICAgIDB4RkVEMDgwMDANCj4gKw0KPiArI2lm bmRlZiBNQ0hfQkFTRV9BRERSRVNTDQo+ICsjZGVmaW5lIE1DSF9CQVNFX0FERFJFU1MgICAgICAg ICAgICAweEZFRDEwMDAwICAvLyBNQ0ggIFJlZ2lzdGVyIEJhc2UNCj4gQWRkcmVzcw0KPiArI2Vu ZGlmDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvUHBpL01mZ01lbW9yeVRlc3QuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHBpL01mZ01lbW9yeVRlc3QuaA0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zNTNjODBiNjI5DQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QcGkv TWZnTWVtb3J5VGVzdC5oDQo+IEBAIC0wLDAgKzEsNDIgQEANCj4gKy8qKysNCj4gKw0KPiArICBD b3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiAr DQo+ICsgIEJhc2VNZW1vcnlUZXN0LmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUGVp IG1lbW9yeSB0ZXN0IFBQSSBhcyBkZWZpbmVkIGluIFRpYW5vDQo+ICsNCj4gKyAgVXNlZCB0byBQ ZWkgbWVtb3J5IHRlc3QgaW4gUEVJDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfQkFT RV9NRU1PUllfVEVTVF9IXw0KPiArI2RlZmluZSBfQkFTRV9NRU1PUllfVEVTVF9IXw0KPiArDQo+ ICt0eXBlZGVmIHN0cnVjdCBfUEVJX01GR19NRU1PUllfVEVTVF9QUEkNCj4gUEVJX01GR19NRU1P UllfVEVTVF9QUEk7DQo+ICsNCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkg KlBFSV9NRkdfTUVNT1JZX1RFU1QpICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklDRVMg ICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gIFBFSV9NRkdfTUVNT1JZ X1RFU1RfUFBJICAgICAgICAgICAgKiBUaGlzLA0KPiArICBJTiAgVUlOVDMyICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBCZWdpbkFkZHJlc3MsDQo+ICsgIElOICBVSU5UMzIgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1lbW9yeUxlbmd0aA0KPiArICApOw0KPiArDQo+ICt0eXBlZGVm IHN0cnVjdCBfUEVJX01GR19NRU1PUllfVEVTVF9QUEkgew0KPiArICBQRUlfTUZHX01FTU9SWV9U RVNUICBNZmdNZW1vcnlUZXN0Ow0KPiArfVBFSV9NRkdfTUVNT1JZX1RFU1RfUFBJOw0KPiArDQo+ ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnUGVpTWZnTWVtb3J5VGVzdFBwaUd1aWQ7DQo+ICsNCj4g KyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv SW5jbHVkZS9QcGkvU2hhMjU2SGFzaC5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvSW5jbHVkZS9QcGkvU2hhMjU2SGFzaC5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLjFjOWIyYjllYTENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1BwaS9TaGEyNTZIYXNoLmgN Cj4gQEAgLTAsMCArMSwxMzEgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIw MDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFNwZWFrZXIu aA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBFRkkgU3BlYWtlciBJbnRlcmZhY2UgUHJv dG9jb2wNCj4gKw0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfUEVJX1NIQTI1 Nl9IQVNIX0gNCj4gKyNkZWZpbmUgX1BFSV9TSEEyNTZfSEFTSF9IDQo+ICsNCj4gKy8vDQo+ICsv LyBHbG9iYWwgSUQgU3BlYWtlciBJbnRlcmZhY2UNCj4gKy8vDQo+ICsjZGVmaW5lIFBFSV9TSEEy NTZfSEFTSF9QUElfR1VJRCBcDQo+ICsgIHsgXA0KPiArICAgIDB4OTUwZTE5MWIsIDB4ODUyNCwg MHg0ZjUxLCAgMHg4MCwgMHhhMSwgMHg1YywgMHg0ZiwgMHgxYiwgMHgzLCAweGYzLCAweDVjDQo+ IFwNCj4gKyAgfQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfUEVJX1NIQTI1Nl9IQVNIX1BQSSBQ RUlfU0hBMjU2X0hBU0hfUFBJOw0KPiArDQo+ICsvKioNCj4gKyAgQHJldHVybiAgVGhlIHNpemUs IGluIGJ5dGVzLCBvZiB0aGUgY29udGV4dCBidWZmZXIgcmVxdWlyZWQgZm9yIGhhc2gNCj4gb3Bl cmF0aW9ucy4NCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtVSU5UTg0KPiArKEVGSUFQSSAq SEFTSF9HRVRfQ09OVEVYVF9TSVpFKSgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICsvKioN Cj4gKyAgSW5pdGlhbGl6ZXMgdXNlci1zdXBwbGllZCBtZW1vcnkgcG9pbnRlZCBieSBIYXNoQ29u dGV4dCBhcyBoYXNoIGNvbnRleHQNCj4gZm9yDQo+ICsgIHN1YnNlcXVlbnQgdXNlLg0KPiArDQo+ ICsgIElmIEhhc2hDb250ZXh0IGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBh cmFtW2luLCBvdXRdICBIYXNoQ29udGV4dCAgUG9pbnRlciB0byAgQ29udGV4dCBiZWluZyBpbml0 aWFsaXplZC4NCj4gKw0KPiArICBAcmV0dmFsIFRSVUUgICBIQVNIIGNvbnRleHQgaW5pdGlhbGl6 YXRpb24gc3VjY2VlZGVkLg0KPiArICBAcmV0dmFsIEZBTFNFICBIQVNIIGNvbnRleHQgaW5pdGlh bGl6YXRpb24gZmFpbGVkLg0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0JPT0xFQU4NCj4g KyhFRklBUEkgKkhBU0hfSU5JVCkoDQo+ICsgIElOIE9VVCAgVk9JRCAgKkhhc2hDb250ZXh0DQo+ ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBQZXJmb3JtcyBkaWdlc3Qgb24gYSBkYXRhIGJ1ZmZl ciBvZiB0aGUgc3BlY2lmaWVkIGxlbmd0aC4gVGhpcyBmdW5jdGlvbiBjYW4NCj4gKyAgYmUgY2Fs bGVkIG11bHRpcGxlIHRpbWVzIHRvIGNvbXB1dGUgdGhlIGRpZ2VzdCBvZiBsb25nIG9yIGRpc2Nv bnRpbnVvdXMNCj4gZGF0YSBzdHJlYW1zLg0KPiArDQo+ICsgIElmIEhhc2hDb250ZXh0IGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtW2luLCBvdXRdICBIYXNoQ29udGV4 dCAgUG9pbnRlciB0byB0aGUgTUQ1IGNvbnRleHQuDQo+ICsgIEBwYXJhbVtpbl0gICAgICAgRGF0 YSAgICAgICAgIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBjb250YWluaW5nIHRoZSBkYXRhIHRvIGJl DQo+IGhhc2hlZC4NCj4gKyAgQHBhcmFtW2luXSAgICAgICBEYXRhTGVuZ3RoICAgTGVuZ3RoIG9m IERhdGEgYnVmZmVyIGluIGJ5dGVzLg0KPiArDQo+ICsgIEByZXR2YWwgVFJVRSAgICAgSEFTSCBk YXRhIGRpZ2VzdCBzdWNjZWVkZWQuDQo+ICsgIEByZXR2YWwgRkFMU0UgICAgSW52YWxpZCBIQVNI IGNvbnRleHQuIEFmdGVyIEhhc2hGaW5hbCBmdW5jdGlvbiBoYXMgYmVlbg0KPiBjYWxsZWQsIHRo ZQ0KPiArICAgICAgICAgICAgICAgICAgIEhBU0ggY29udGV4dCBjYW5ub3QgYmUgcmV1c2VkLg0K PiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0JPT0xFQU4NCj4gKyhFRklBUEkgKkhBU0hfVVBE QVRFKSgNCj4gKyAgSU4gT1VUICBWT0lEICAgICAgICAqSGFzaENvbnRleHQsDQo+ICsgIElOICAg ICAgQ09OU1QgVk9JRCAgKkRhdGEsDQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgRGF0YUxlbmd0 aA0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgQ29tcGxldGVzIGhhc2ggY29tcHV0YXRpb24g YW5kIHJldHJpZXZlcyB0aGUgZGlnZXN0IHZhbHVlIGludG8gdGhlDQo+IHNwZWNpZmllZA0KPiAr ICBtZW1vcnkuIEFmdGVyIHRoaXMgZnVuY3Rpb24gaGFzIGJlZW4gY2FsbGVkLCB0aGUgY29udGV4 dCBjYW5ub3QgYmUgdXNlZA0KPiBhZ2Fpbi4NCj4gKw0KPiArICBJZiBIYXNoQ29udGV4dCBpcyBO VUxMLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBIYXNoVmFsdWUgaXMgTlVMTCwgdGhlbiBBU1NF UlQoKS4NCj4gKw0KPiArICBAcGFyYW1baW4sIG91dF0gIEhhc2hDb250ZXh0ICBQb2ludGVyIHRv IHRoZSBNRDUgY29udGV4dA0KPiArICBAcGFyYW1bb3V0XSAgICAgIEhhc2hWYWx1ZSAgICBQb2lu dGVyIHRvIGEgYnVmZmVyIHRoYXQgcmVjZWl2ZXMgdGhlIEhBU0gNCj4gZGlnZXN0DQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlLg0KPiArDQo+ICsgIEByZXR2YWwgVFJV RSAgIEhBU0ggZGlnZXN0IGNvbXB1dGF0aW9uIHN1Y2NlZWRlZC4NCj4gKyAgQHJldHZhbCBGQUxT RSAgSEFTSCBkaWdlc3QgY29tcHV0YXRpb24gZmFpbGVkLg0KPiArDQo+ICsqKi8NCj4gK3R5cGVk ZWYNCj4gK0JPT0xFQU4NCj4gKyhFRklBUEkgKkhBU0hfRklOQUwpKA0KPiArICBJTiBPVVQgIFZP SUQgICAqSGFzaENvbnRleHQsDQo+ICsgIE9VVCAgICAgVUlOVDggICpIYXNoVmFsdWUNCj4gKyAg KTsNCj4gKw0KPiArLy8NCj4gKy8vIFBwaSBkZWZpbml0aW9uDQo+ICsvLw0KPiArdHlwZWRlZiBz dHJ1Y3QgX1BFSV9TSEEyNTZfSEFTSF9QUEkgew0KPiArICAvLw0KPiArICAvLyBQb2ludGVyIHRv IEhhc2ggR2V0Q29udGVudFNpemUgZnVuY3Rpb24NCj4gKyAgLy8NCj4gKyAgSEFTSF9HRVRfQ09O VEVYVF9TSVpFICAgIEdldENvbnRleHRTaXplOw0KPiArICAvLw0KPiArICAvLyBQb2ludGVyIHRv IEhhc2ggSW5pdCBmdW5jdGlvbg0KPiArICAvLw0KPiArICBIQVNIX0lOSVQgICAgICAgICAgICAg ICAgSGFzaEluaXQ7DQo+ICsgIC8vDQo+ICsgIC8vIFBvaW50ZXIgdG8gSGFzaCBVcGRhdGUgZnVu Y3Rpb24NCj4gKyAgLy8NCj4gKyAgSEFTSF9VUERBVEUgICAgICAgICAgICAgIEhhc2hVcGRhdGU7 DQo+ICsgIC8vDQo+ICsgIC8vIFBvaW50ZXIgdG8gSGFzaCBGaW5hbCBmdW5jdGlvbg0KPiArICAv Lw0KPiArICBIQVNIX0ZJTkFMICAgICAgICAgICAgICAgSGFzaEZpbmFsOw0KPiArDQo+ICt9IFBF SV9TSEEyNTZfSEFTSF9QUEk7DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnUGVpU2hhMjU2SGFz aFBwaUd1aWQ7DQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0luY2x1ZGUvUHBpL1NwZWFrZXIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHBpL1NwZWFrZXIuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5iOGM4MTdlNGNhDQo+IC0tLSAvZGV2L251bGwNCj4g KysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9QcGkvU3BlYWtl ci5oDQo+IEBAIC0wLDAgKzEsNjUgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMp IDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJS Pg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFNwZWFr ZXIuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBFRkkgU3BlYWtlciBJbnRlcmZhY2Ug UHJvdG9jb2wNCj4gKw0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfUEVJX1NQ RUFLRVJfSUZfSA0KPiArI2RlZmluZSBfUEVJX1NQRUFLRVJfSUZfSA0KPiArDQo+ICsvLw0KPiAr Ly8gR2xvYmFsIElEIFNwZWFrZXIgSW50ZXJmYWNlDQo+ICsvLw0KPiArI2RlZmluZSBQRUlfU1BF QUtFUl9JTlRFUkZBQ0VfUFBJX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweDMwYWMyNzVlLCAw eGJiMzAsIDB4NGI4NCwgMHhhMSwgMHhjZCwgMHgwYSwgMHhmMSwgMHgzMiwgMHgyYywgMHg4OSwg MHhjMA0KPiBcDQo+ICsgIH0NCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3QgX1BFSV9TUEVBS0VSX0lG X1BQSSBQRUlfU1BFQUtFUl9JRl9QUEk7DQo+ICsNCj4gKy8vDQo+ICsvLyBCZWVwIENvZGUNCj4g Ky8vDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfU1BFQUtFUl9H RU5FUkFURV9CRUVQKSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAg ICoqUGVpU2VydmljZXMsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg IE51bWJlck9mQmVlcCwNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAg QmVlcER1cmF0aW9uLA0KPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICBU aW1lSW50ZXJ2YWwNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIFNldCBGcmVxdWVuY3kNCj4g Ky8vDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfU1BFQUtFUl9T RVRfRlJFUVVFTkNZKSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAg ICoqUGVpU2VydmljZXMsDQo+ICsgIElOIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgICAg IEZyZXF1ZW5jeQ0KPiArICApOw0KPiArDQo+ICsvLw0KPiArLy8gUHJvdG9jb2wgZGVmaW5pdGlv bg0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9QRUlfU1BFQUtFUl9JRl9QUEkgew0KPiArICBF RklfU1BFQUtFUl9TRVRfRlJFUVVFTkNZIFNldFNwZWFrZXJUb25lRnJlcXVlbmN5Ow0KPiArICBF RklfU1BFQUtFUl9HRU5FUkFURV9CRUVQIEdlbmVyYXRlQmVlcDsNCj4gK30gUEVJX1NQRUFLRVJf SUZfUFBJOw0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ1BlaVNwZWFrZXJJbnRlcmZhY2VQcGlH dWlkOw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9JbmNsdWRlL1BwaS9Vc2JDb250cm9sbGVyLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1BwaS9Vc2JDb250cm9sbGVyLmgNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNTQ0ODU2NjExNg0KPiAtLS0gL2Rldi9u dWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHBp L1VzYkNvbnRyb2xsZXIuaA0KPiBAQCAtMCwwICsxLDg1IEBADQo+ICsvKisrDQo+ICsNCj4gKyAg Q29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsgIERlZmluZSBBUElzIHRv IHJldHJpZXZlIFVTQiBIb3N0IENvbnRyb2xsZXIgSW5mbyBzdWNoIGFzIGNvbnRyb2xsZXIgdHlw ZSBhbmQNCj4gKyAgSS9PIFBvcnQgQmFzZSBBZGRyZXNzLg0KPiArDQo+ICsNCj4gKyoqLw0KPiAr DQo+ICsjaWZuZGVmIF9QRUlfVVNCX0NPTlRST0xMRVJfUFBJX0hfDQo+ICsjZGVmaW5lIF9QRUlf VVNCX0NPTlRST0xMRVJfUFBJX0hfDQo+ICsNCj4gKy8vDQo+ICsvLyBHbG9iYWwgSUQgZm9yIHRo ZSBQRUlfVVNCX0NPTlRST0xMRVJfUFBJLg0KPiArLy8NCj4gKyNkZWZpbmUgUEVJX1VTQl9DT05U Uk9MTEVSX1BQSV9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHgzYmMxZjZkZSwgMHg2OTNlLCAw eDQ1NDcseyAweGEzLCAweDAsIDB4MjEsIDB4ODIsIDB4M2MsIDB4YTQsIDB4MjAsIDB4YjJ9DQo+ IFwNCj4gKyAgfQ0KPiArDQo+ICsvLw0KPiArLy8gRm9yd2FyZCBkZWNsYXJhdGlvbiBmb3IgdGhl IFBFSV9VU0JfQ09OVFJPTExFUl9QUEkuDQo+ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3QgX1BFSV9V U0JfQ09OVFJPTExFUl9QUEkgUEVJX1VTQl9DT05UUk9MTEVSX1BQSTsNCj4gKw0KPiArLy8NCj4g Ky8vIFRoaXMgYml0IGlzIHVzZWQgaW4gdGhlIENvbnRyb2xsZXJUeXBlIHJldHVybiBwYXJhbWV0 ZXIgb2YNCj4gR2V0VXNiQ29udHJvbGxlcigpDQo+ICsvLyB0byBpZGVudGlmeSB0aGUgVVNCIEhv c3QgQ29udHJvbGxlciB0eXBlIGFzIFVIQ0kNCj4gKy8vDQo+ICsjZGVmaW5lIFBFSV9VSENJX0NP TlRST0xMRVIgMHgwMQ0KPiArDQo+ICsvLw0KPiArLy8gVGhpcyBiaXQgaXMgdXNlZCBpbiB0aGUg Q29udHJvbGxlclR5cGUgcmV0dXJuIHBhcmFtZXRlciBvZg0KPiBHZXRVc2JDb250cm9sbGVyKCkN Cj4gKy8vIHRvIGlkZW50aWZ5IHRoZSBVU0IgSG9zdCBDb250cm9sbGVyIHR5cGUgYXMgT0hDSQ0K PiArLy8NCj4gKyNkZWZpbmUgUEVJX09IQ0lfQ09OVFJPTExFUiAweDAyDQo+ICsNCj4gKy8vDQo+ ICsvLyBUaGlzIGJpdCBpcyB1c2VkIGluIHRoZSBDb250cm9sbGVyVHlwZSByZXR1cm4gcGFyYW1l dGVyIG9mDQo+IEdldFVzYkNvbnRyb2xsZXIoKQ0KPiArLy8gdG8gaWRlbnRpZnkgdGhlIFVTQiBI b3N0IENvbnRyb2xsZXIgdHlwZSBhcyBFSENJDQo+ICsvLw0KPiArI2RlZmluZSBQRUlfRUhDSV9D T05UUk9MTEVSIDB4MDMNCj4gKw0KPiArLyoqDQo+ICsgIFJldHJpZXZlIFVTQiBIb3N0IENvbnRy b2xsZXIgSW5mbyBzdWNoIGFzIGNvbnRyb2xsZXIgdHlwZSBhbmQgSS9PIEJhc2UNCj4gQWRkcmVz cy4NCj4gKw0KPiArICBAcGFyYW1baW5dICBQZWlTZXJ2aWNlcyAgICAgIFRoZSBwb2ludGVyIHRv IHRoZSBQRUkgU2VydmljZXMgVGFibGUuDQo+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICAg ICAgVGhlIHBvaW50ZXIgdG8gdGhpcyBpbnN0YW5jZSBvZiB0aGUNCj4gUEVJX1VTQl9DT05UUk9M TEVSX1BQSS4NCj4gKyAgQHBhcmFtW2luXSAgQ29udHJvbGxlcklkICAgICBUaGUgSUQgb2YgdGhl IFVTQiBjb250cm9sbGVyLg0KPiArICBAcGFyYW1bb3V0XSBDb250cm9sbGVyVHlwZSAgIE9uIG91 dHB1dCwgcmV0dXJucyB0aGUgdHlwZSBvZiB0aGUgVVNCDQo+IGNvbnRyb2xsZXIuDQo+ICsgIEBw YXJhbVtvdXRdIEJhc2VBZGRyZXNzICAgICAgT24gb3V0cHV0LCByZXR1cm5zIHRoZSBiYXNlIGFk ZHJlc3Mgb2YNCj4gVUhDSSdzIEkvTyBwb3J0cw0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGlmIFVIQ0kgaXMgZW5hYmxlZCBvciB0aGUgYmFzZSBhZGRyZXNzIG9mIEVIQ0kncyBN TUlPDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgRUhDSSBpcyBlbmFibGVk Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgVVNCIGNvbnRyb2xs ZXIgYXR0cmlidXRlcyB3ZXJlIHJldHVybmVkDQo+IHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZh bCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICBDb250cm9sbGVySWQgaXMgZ3JlYXRlciB0aGFuIHRo ZQ0KPiBtYXhpbXVtIG51bWJlcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9mIFVTQiBjb250cm9sbGVyIHN1cHBvcnRlZCBieSB0aGlzIHBsYXRmb3JtLg0KPiArDQo+ICsq Ki8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKlBFSV9HRVRfVVNCX0NP TlRST0xMRVIpKA0KPiArICBJTiAgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgKipQZWlTZXJ2aWNl cywNCj4gKyAgSU4gIFBFSV9VU0JfQ09OVFJPTExFUl9QUEkgICpUaGlzLA0KPiArICBJTiAgVUlO VDggICAgICAgICAgICAgICAgICAgVXNiQ29udHJvbGxlcklkLA0KPiArICBPVVQgVUlOVE4gICAg ICAgICAgICAgICAgICAgKkNvbnRyb2xsZXJUeXBlLA0KPiArICBPVVQgVUlOVE4gICAgICAgICAg ICAgICAgICAgKkJhc2VBZGRyZXNzDQo+ICsgICk7DQo+ICsNCj4gKy8vDQo+ICsvLyBUaGlzIFBQ SSBjb250YWlucyBhIHNpbmdsZSBzZXJ2aWNlIHRvIHJldHJpZXZlIHRoZSBVU0IgSG9zdCBDb250 cm9sbGVyIHR5cGUNCj4gKy8vIGFuZCB0aGUgYmFzZSBhZGRyZXNzIG9mIHRoZSBJL08gcG9ydHMg dXNlZCB0byBhY2Nlc3MgdGhlIFVTQiBIb3N0DQo+IENvbnRyb2xsZXIuDQo+ICsvLw0KPiArc3Ry dWN0IF9QRUlfVVNCX0NPTlRST0xMRVJfUFBJIHsNCj4gKyAgUEVJX0dFVF9VU0JfQ09OVFJPTExF UiAgR2V0VXNiQ29udHJvbGxlcjsNCj4gK307DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnUGVp VXNiQ29udHJvbGxlclBwaUd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9DSzUwNUNs b2NrUGxhdGZvcm1Jbg0KPiBmby5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvSW5jbHVkZS9Qcm90b2NvbC9DSzUwNUNsb2NrUGxhdGZvcm1Jbg0KPiBmby5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmRhZjVkMjJkNzENCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL1Byb3RvY29sL0NLNTA1Q2xvY2tQbGF0Zm9ybUluDQo+IGZvLmgNCj4gQEAgLTAsMCArMSwx MjYgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g DQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIENLNTA1Q2xvY2tQbGF0Zm9ybUluZm8u aA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBQcm90b2NvbCB0byBjb21tdW5pY2F0ZSBw cm9kdWN0IGNsb2NrIHJvdXRpbmcgaW5mb3JtYXRpb24uDQo+ICsNCj4gK0dVSUQgSW5mbzoNCj4g KyB7M0M0ODVFQTQtNDQ5QS00NmNlLUJCMDgtMkEzMzZFQTk2QjRFfQ0KPiArIDB4M2M0ODVlYTQs IDB4NDQ5YSwgMHg0NmNlLCAweGJiLCAweDgsIDB4MmEsIDB4MzMsIDB4NmUsIDB4YTksIDB4NmIs IDB4NGUpOw0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfQ0xPQ0tfUExBVEZPUk1fSU5G T19IXw0KPiArI2RlZmluZSBfQ0xPQ0tfUExBVEZPUk1fSU5GT19IXw0KPiArDQo+ICsNCj4gKyNk ZWZpbmUgRUZJX0NLNTA1X0NMT0NLX1BMQVRGT1JNX0lORk9fR1VJRCAgXA0KPiArICB7MHgzYzQ4 NWVhNCwgMHg0NDlhLCAweDQ2Y2UsIDB4YmIsIDB4OCwgMHgyYSwgMHgzMywgMHg2ZSwgMHhhOSwg MHg2YiwgMHg0ZX0NCj4gKw0KPiArLy8NCj4gKy8vIFN0cnVjdHVyZSB0byBob2xkIHJlZ2lzdGVy IG1vZGlmaWNhdGlvbnMNCj4gKy8vDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBOb25lICAgICAg ICAgICA9IDB4MDAwMDAwMDAsDQo+ICsgIG5JQ1M5TFA1MDVfMSAgID0gMHgwMDAwMDAwMSwNCj4g KyAgbklDUzlMUDUwNV8yICAgPSAweDAwMDAwMDAyLA0KPiArICBuSURUQ1YxNjMgICAgICA9IDB4 MDAwMDAwMDQsDQo+ICsgIG5JRFRDVjE3NCAgICAgID0gMHgwMDAwMDAwOCwNCj4gKyAgblNMRzUw NVlDNTYgICAgPSAweDAwMDAwMDEwLA0KPiArICBuU0xHNTA1WUM2NCAgICA9IDB4MDAwMDAwMjAs DQo+ICsgIG5DWTI4NTA1ICAgICAgID0gMHgwMDAwMDA0MCwNCj4gKyAgbkNZMjg1MDVfMiAgICAg PSAweDAwMDAwMDgwLA0KPiArICBuQ1kyODUwNUxGICAgICA9IDB4MDAwMDAxMDAsDQo+ICsgIG5Q STZDNTA1X09MRCAgID0gMHgwMDAwMDIwMCwNCj4gKyAgblBJNkM1MDVfUmV2RCAgPSAweDAwMDAw NDAwLA0KPiArICBuR0VORVJJQ181MDUgICA9IDB4MDAwMDA4MDAsDQo+ICsgIG5TTEc1MDVZQzI2 NCAgID0gMHgwMDAwMTAwMCwNCj4gKyAgbklEVENWMTgzICAgICAgPSAweDAwMDAyMDAwLA0KPiAr ICBuU0xHNTA1WUMyNTYgICA9IDB4MDAwMDQwMDAsDQo+ICsgIG5JRFRDVjE4NCAgICAgID0gMHgw MDAwODAwMCwNCj4gKyAgbklEVENWMTkwICAgICAgPSAweDAwMDEwMDAwLA0KPiArICBBbGwgICAg ICAgICAgICA9IDB4RkZGRkZGRkYNCj4gK30gRUZJX0NMT0NLU19TVVBQT1JURUQ7DQo+ICsNCj4g K3R5cGVkZWYgZW51bSB7DQo+ICsgIERpc2FibGVkLA0KPiArICBFbmFibGVkLA0KPiArICBFbmFi bGVkV2l0aG91dFN3aXRjaCwNCj4gKyAgRW5hYmxlZFdpdGhTd2l0Y2gNCj4gK30gRUZJX1NJR05B TF9TVEFURTsNCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgU3JjQ2xrMTEsDQo+ICsgIFNy Y0NsazEwLA0KPiArICBTcmNDbGs5LA0KPiArICBTcmNDbGs4LA0KPiArICBTcmNDbGs3LA0KPiAr ICBTcmNDbGs2LA0KPiArICBTcmNDbGs1LA0KPiArICBTcmNDbGs0LA0KPiArICBTcmNDbGszLA0K PiArICBTcmNDbGsyLA0KPiArICBTcmNDbGsxLA0KPiArICBTcmNDbGswLA0KPiArICBDcHVDbGsx LA0KPiArICBDcHVDbGswLA0KPiArICBSZWYwLA0KPiArICBEb3Q5NiwNCj4gKyAgVXNiNDgsDQo+ ICsgIFBjaUNsa0Y1LA0KPiArICBQY2lDbGs0LA0KPiArICBQY2lDbGszLA0KPiArICBQY2lDbGsy LA0KPiArICBQY2lDbGsxLA0KPiArICBQY2lDbGswLA0KPiArICBTYXZlQ2xvY2tDb25maWd1cmF0 aW9uLA0KPiArICBNZVByZXNlbnQsDQo+ICsgIENyX0EsDQo+ICsgIENyX0IsDQo+ICsgIENyX0Ms DQo+ICsgIENyX0QsDQo+ICsgIENyX0UsDQo+ICsgIENyX0YsDQo+ICsgIENyX0csDQo+ICsgIENy X0gsDQo+ICsgIENsa19Ob25lIC8vIER1bW15IGVudHJ5IGZvciBkeW5hbWljIGRldGVjdGlvbg0K PiArfSBFRklfQ0xPQ0tfU0lHTkFMX05BTUU7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4g KyAgRUZJX0NMT0NLX1NJR05BTF9OQU1FICAgICBTaWduYWw7DQo+ICsgIEVGSV9TSUdOQUxfU1RB VEUgICAgICAgICAgU3RhdGU7DQo+ICsgIEVGSV9DTE9DS1NfU1VQUE9SVEVEICAgICAgU3VwcG9y dGVkOw0KPiArfSBFRklfU1RBVElDX1NJR05BTFM7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsN Cj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgIEJlaGluZEJyaWRnZTsNCj4gKyAgVUlOVDE2ICAg ICAgICAgICAgICAgIEJyaWRnZUJ1czsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgIEJyaWRn ZURldjsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgIEJyaWRnZUZ1bmN0aW9uOw0KPiArICBV SU5UMTYgICAgICAgICAgICAgICAgVGFyZ2V0RGV2aWNlOw0KPiArICBFRklfQ0xPQ0tfU0lHTkFM X05BTUUgU2lnbmFsOw0KPiArfSBFRklfRFlOQU1JQ19TSUdOQUxTOw0KPiArDQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgRUZJX1NUQVRJQ19TSUdOQUxTICAgICAgKlN0YXRpY0Nsb2Nr VGFibGU7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgIFN0YXRpY0Nsb2NrVGFibGVDb3Vu dDsNCj4gKyAgRUZJX1NUQVRJQ19TSUdOQUxTICAgICAgKlN4Q2xvY2tUYWJsZTsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgU3hDbG9ja1RhYmxlQ291bnQ7DQo+ICsgIEVGSV9TVEFUSUNf U0lHTkFMUwkgICpEeW5hbWljRGlzYWJsZWRDbG9ja3NUYWJsZTsNCj4gKyAgVUlOVE4JCQkgIER5 bmFtaWNEaXNhYmxlZENsb2Nrc1RhYmxlQ291bnQ7DQo+ICt9IEVGSV9DTE9DS19QTEFURk9STV9J TkZPOw0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaUNrNTA1Q2xvY2tQbGF0Zm9ybUluZm9H dWlkOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvRW5oYW5jZWRTcGVlZHN0ZXAuaA0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvRW5oYW5j ZWRTcGVlZHN0ZXAuDQo+IGgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uOWI3NDE4MDg0NQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvRW5oYW5jZWRTcGVlZHN0ZXAu DQo+IGgNCj4gQEAgLTAsMCArMSw3NiBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiAr DQo+ICsgIEVuaGFuY2VkU3BlZWRzdGVwLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAg RW5oYW5jZWQgU3BlZWRzdGVwIHByb3RvY29sDQo+ICsNCj4gKyAgVGhlIEVuaGFuY2VkIFNwZWVk c3RlcCBQcm90b2NvbCBzdXBwb3J0Lg0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfRU5I QU5DRURfU1BFRURTVEVQX0hfDQo+ICsjZGVmaW5lIF9FTkhBTkNFRF9TUEVFRFNURVBfSF8NCj4g Kw0KPiArI2RlZmluZSBFTkhBTkNFRF9TUEVFRFNURVBfUFJPVE9DT0xfR1VJRCBcDQo+ICsgIHsg XA0KPiArICAgIDB4OTFhMWRkY2YsIDB4NTM3NCwgMHg0OTM5LCAweDg5LCAweDUxLCAweGQ3LCAw eDI5LCAweDNmLCAweDFhLCAweDc4LCAweDZmDQo+IFwNCj4gKyAgfQ0KPiArDQo+ICt0eXBlZGVm IHN0cnVjdCBfRU5IQU5DRURfU1BFRURTVEVQX1BST1RPQ09MDQo+IEVOSEFOQ0VEX1NQRUVEU1RF UF9QUk9UT0NPTDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgIFZlcnNp b247ICAgICAgLy8gRUlTVCBTdGF0ZSBmb3JtYXQNCj4gKyAgVUlOVDggICBTaXplOyAgICAgICAg IC8vIFNpemUgb2YgZWxlbWVudA0KPiArICBVSU5UMzIgIFJhdGlvU3RlcDsgICAgLy8gU3RlcA0K PiArICBVSU5UMzIgIE1pblJhdGlvOyAgICAgLy8gQ2FsY3VsYXRlZCBtaW4gcmF0aW8NCj4gKyAg VUlOVDMyICBNYXhSYXRpbzsgICAgIC8vIENhbGN1bGF0ZWQgbWF4IHJhdGlvDQo+ICsgIFVJTlQz MiAgTWluQ29yZUZyZXE7ICAvLyBDYWxjdWxhdGVkIG1pbiBmcmVxDQo+ICsgIFVJTlQzMiAgTWF4 Q29yZUZyZXE7ICAvLyBDYWxjdWxhdGVkIG1heCBmcmVxDQo+ICsgIFVJTlQzMiAgTWluUG93ZXI7 ICAgICAvLyBDYWxjdWxhdGVkIG1pbiBwb3dlcg0KPiArICBVSU5UMzIgIE1heFBvd2VyOyAgICAg Ly8gQ2FsY3VsYXRlZCBtYXggcG93ZXINCj4gKyAgVUlOVDMyICBOdW1TdGF0ZXM7ICAgIC8vIE51 bWJlciBvZiBzdGF0ZXMNCj4gK30gRUlTVF9JTkZPUk1BVElPTjsNCj4gKw0KPiArdHlwZWRlZiBz dHJ1Y3Qgew0KPiArICBVSU5UMzIgIENvcmVGcmVxdWVuY3k7DQo+ICsgIFVJTlQzMiAgUG93ZXI7 DQo+ICsgIFVJTlQzMiAgVHJhbnNpdGlvbkxhdGVuY3k7DQo+ICsgIFVJTlQzMiAgQnVzTWFzdGVy TGF0ZW5jeTsNCj4gKyAgVUlOVDMyICBDb250cm9sOw0KPiArICBVSU5UMzIgIFN0YXR1czsNCj4g K30gRUZJX0FDUElfQ1BVX1BTU19TVEFURTsNCj4gKw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRV Uw0KPiArKEVGSUFQSSAqR0VUX0VJU1RfVEFCTEUpICgNCj4gKyAgSU4gICAgRU5IQU5DRURfU1BF RURTVEVQX1BST1RPQ09MICAgICpUaGlzLA0KPiArICBPVVQgICBFSVNUX0lORk9STUFUSU9OICAg ICAgICAgICAgICAgKipFaXN0SW5mb3JtYXRpb24sDQo+ICsgIE9VVCAgIFZPSUQgICAgICAgICAg ICAgICAgICAgICAgICAgICAqKlBzc1N0YXRlcw0KPiArICApOw0KPiArDQo+ICtzdHJ1Y3QgX0VO SEFOQ0VEX1NQRUVEU1RFUF9QUk9UT0NPTCB7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgUHJv Y0FwaWNJZDsNCj4gKyAgR0VUX0VJU1RfVEFCTEUgICAgICBHZXRFaXN0VGFibGU7DQo+ICt9Ow0K PiArDQo+ICsvLw0KPiArLy8gVGhlcmUgd2lsbCBiZSBhbiBpbnN0YW5jZSBvZiB0aGlzIHByb3Rv Y29sIGZvciBldmVyeSBwcm9jZXNzb3INCj4gKy8vIGluIHRoZSBzeXN0ZW0uICBQcm9jTnVtYmVy IGlzIHVzZWQgdG8gbWFuYWdlIGFsbCB0aGUgZGlmZmVyZW50DQo+ICsvLyBwcm9jZXNzb3JzIGlu IHRoZSBzeXN0ZW0gYW5kIHBhc3NlZCBpbnRvIHRoZSBNUCBwcm90b2NvbA0KPiArLy8gdG8gcnVu IGNvZGUgc3RyZWFtcyBvbiBhcHBsaWNhdGlvbiBwcm9jZXNzb3JzDQo+ICsvLw0KPiArZXh0ZXJu IEVGSV9HVUlEIGdFbmhhbmNlZFNwZWVkc3RlcFByb3RvY29sR3VpZDsNCj4gKw0KPiArI2VuZGlm DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL1Byb3RvY29sL0dsb2JhbE52c0FyZWEuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvR2xvYmFsTnZzQXJlYS5oDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmUyNjgzYjJlNWINCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3Rv Y29sL0dsb2JhbE52c0FyZWEuaA0KPiBAQCAtMCwwICsxLDQ3NSBAQA0KPiArLyoqIEBmaWxlDQo+ ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gKw0KPiAr TW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgR2xvYmFsTnZzQXJlYS5oDQo+ICsNCj4gK0Fic3RyYWN0 Og0KPiArDQo+ICsgIERlZmluaXRpb24gb2YgdGhlIGdsb2JhbCBOVlMgYXJlYSBwcm90b2NvbC4g IFRoaXMgcHJvdG9jb2wNCj4gKyAgcHVibGlzaGVzIHRoZSBhZGRyZXNzIGFuZCBmb3JtYXQgb2Yg YSBnbG9iYWwgQUNQSSBOVlMgYnVmZmVyIHVzZWQgYXMgYQ0KPiBjb21tdW5pY2F0aW9ucw0KPiAr ICBidWZmZXIgYmV0d2VlbiBTTU0gY29kZSBhbmQgQVNMIGNvZGUuDQo+ICsgIFRoZSBmb3JtYXQg aXMgZGVyaXZlZCBmcm9tIHRoZSBBQ1BJIHJlZmVyZW5jZSBjb2RlLCB2ZXJzaW9uIDAuOTUuDQo+ ICsNCj4gKyAgTm90ZTogIERhdGEgc3RydWN0dXJlcyBkZWZpbmVkIGluIHRoaXMgcHJvdG9jb2wg YXJlIG5vdCBuYXR1cmFsbHkgYWxpZ25lZC4NCj4gKw0KPiArKiovDQo+ICsNCj4gKw0KPiArI2lm bmRlZiBfR0xPQkFMX05WU19BUkVBX0hfDQo+ICsjZGVmaW5lIF9HTE9CQUxfTlZTX0FSRUFfSF8N Cj4gKw0KPiArLy8NCj4gKy8vIEluY2x1ZGVzDQo+ICsvLw0KPiArI2RlZmluZSBHTE9CQUxfTlZT X0RFVklDRV9FTkFCTEUgMQ0KPiArI2RlZmluZSBHTE9CQUxfTlZTX0RFVklDRV9ESVNBQkxFIDAN Cj4gKw0KPiArLy8NCj4gKy8vIEZvcndhcmQgcmVmZXJlbmNlIGZvciBwdXJlIEFOU0kgY29tcGF0 aWJpbGl0eQ0KPiArLy8NCj4gKw0KPiArLy9FRklfRk9SV0FSRF9ERUNMQVJBVElPTiAoRUZJX0dM T0JBTF9OVlNfQVJFQV9QUk9UT0NPTCk7DQo+ICsNCj4gKy8vDQo+ICsvLyBHbG9iYWwgTlZTIEFy ZWEgUHJvdG9jb2wgR1VJRA0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0dMT0JBTF9OVlNfQVJFQV9Q Uk9UT0NPTF9HVUlEIFwNCj4gK3sgMHg3NGUxZTQ4LCAweDgxMzIsIDB4NDdhMSwgMHg4YywgMHgy YywgMHgzZiwgMHgxNCwgMHhhZCwgMHg5YSwgMHg2NiwgMHhkYyB9DQo+ICsNCj4gKy8vDQo+ICsv LyBSZXZpc2lvbiBpZCAtIEFkZGVkIFRQTSByZWxhdGVkIGZpZWxkcw0KPiArLy8NCj4gKyNkZWZp bmUgR0xPQkFMX05WU19BUkVBX1JJVklTSU9OXzEgICAgICAgMQ0KPiArDQo+ICsvLw0KPiArLy8g RXh0ZXJuIHRoZSBHVUlEIGZvciBwcm90b2NvbCB1c2Vycy4NCj4gKy8vDQo+ICtleHRlcm4gRUZJ X0dVSUQgZ0VmaUdsb2JhbE52c0FyZWFQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKy8vDQo+ICsvLyBH bG9iYWwgTlZTIEFyZWEgZGVmaW5pdGlvbg0KPiArLy8NCj4gKyNwcmFnbWEgcGFjayAoMSkNCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgLy8NCj4gKyAgLy8gTWlzY2VsbGFuZW91cyBEeW5hbWlj IFZhbHVlcywgdGhlIGRlZmluaXRpb25zIGJlbG93IG5lZWQgdG8gYmUNCj4gbWF0Y2hlZA0KPiAr ICAvLyBHTlZTIGRlZmluaXRpb25zIGluIFBsYXRmb3JtLkFTTA0KPiArICAvLw0KPiArICBVSU5U MTYgICAgICBPcGVyYXRpbmdTeXN0ZW07ICAgIC8vIDAwDQo+ICsgIFVJTlQ4ICAgICAgIFNtaUZ1 bmN0aW9uOyAgICAgICAgLy8gMDIgICBTTUkgZnVuY3Rpb24gY2FsbCB2aWEgSU8gVHJhcA0KPiAr ICBVSU5UOCAgICAgICBTbWlQYXJhbWV0ZXIwOyAgICAgIC8vIDAzDQo+ICsgIFVJTlQ4ICAgICAg IFNtaVBhcmFtZXRlcjE7ICAgICAgLy8gMDQNCj4gKyAgVUlOVDggICAgICAgU2NpRnVuY3Rpb247 ICAgICAgICAvLyAwNSAgIFNDSSBmdW5jdGlvbiBjYWxsIHZpYSBfTDAwDQo+ICsgIFVJTlQ4ICAg ICAgIFNjaVBhcmFtZXRlcjA7ICAgICAgLy8gMDYNCj4gKyAgVUlOVDggICAgICAgU2NpUGFyYW1l dGVyMTsgICAgICAvLyAwNw0KPiArICBVSU5UOCAgICAgICBHbG9iYWxMb2NrOyAgICAgICAgIC8v IDA4ICAgR2xvYmFsIGxvY2sgZnVuY3Rpb24gY2FsbA0KPiArICBVSU5UOCAgICAgICBMb2NrUGFy YW1ldGVyMDsgICAgIC8vIDA5DQo+ICsgIFVJTlQ4ICAgICAgIExvY2tQYXJhbWV0ZXIxOyAgICAg Ly8gMTANCj4gKyAgVUlOVDMyICAgICAgUG9ydDgwRGVidWdWYWx1ZTsgICAvLyAxMQ0KPiArICBV SU5UOCAgICAgICBMaWRTdGF0ZTsgICAgICAgICAgIC8vIDE1ICAgT3BlbiA9IDENCj4gKyAgVUlO VDggICAgICAgUG93ZXJTdGF0ZTsgICAgICAgICAvLyAxNiAgIEFDID0gMQ0KPiArICBVSU5UOCAg ICAgICBEZWJ1Z1N0YXRlOyAgICAgICAgIC8vIDE3DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAv LyBUaGVybWFsIFBvbGljeSBWYWx1ZXMNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgRW5hYmxl VGhlcm1hbE9mZnNldDsgICAgICAgICAgICAgICAgICAgICAgICAvLyAxOCBUaGVybWFsT2Zmc2V0 IGZvciBLU0MNCj4gKyAgVUlOVDggICAgICAgUmVzZXJ2ZWQxOyAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8vIDE5DQo+ICsgIFVJTlQ4ICAgICAgIFJlc2VydmVkMjsgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyAyMA0KPiArICBVSU5UOCAgICAgICBQYXNzaXZlVGhlcm1hbFRyaXBQb2lu dDsgICAgICAgICAgICAgICAgICAgIC8vIDIxDQo+ICsgIFVJTlQ4ICAgICAgIFBhc3NpdmVUYzFW YWx1ZTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gMjINCj4gKyAgVUlOVDggICAgICAg UGFzc2l2ZVRjMlZhbHVlOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAyMw0KPiArICBV SU5UOCAgICAgICBQYXNzaXZlVHNwVmFsdWU7ICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IDI0DQo+ICsgIFVJTlQ4ICAgICAgIENyaXRpY2FsVGhlcm1hbFRyaXBQb2ludDsgICAgICAgICAg ICAgICAgICAgLy8gMjUNCj4gKyAgVUlOVDggICAgICAgRW5hYmxlRGlnaXRhbFRoZXJtYWxTZW5z b3I7ICAgICAgICAgICAgICAgICAvLyAyNg0KPiArICBVSU5UOCAgICAgICBCc3BEaWdpdGFsVGhl cm1hbFNlbnNvclRlbXBlcmF0dXJlOyAgICAgICAgIC8vIDI3ICAgVGVtcGVyYXR1cmUNCj4gb2Yg QlNQDQo+ICsgIFVJTlQ4ICAgICAgIEFwRGlnaXRhbFRoZXJtYWxTZW5zb3JUZW1wZXJhdHVyZTsg ICAgICAgICAgLy8gMjggICBUZW1wZXJhdHVyZSBvZg0KPiBBUA0KPiArICBVSU5UOCAgICAgICBE aWdpdGFsVGhlcm1hbFNlbnNvclNtaUZ1bmN0aW9uOyAgICAgICAgICAgIC8vIDI5ICAgU01JIGZ1 bmN0aW9uIGNhbGwNCj4gdmlhIERUUyBJTyBUcmFwDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQmF0 dGVyeSBTdXBwb3J0IFZhbHVlcw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICBOdW1iZXJPZkJh dHRlcmllczsgICAgICAvLyAzMA0KPiArICBVSU5UOCAgICAgICBCYXR0ZXJ5Q2FwYWNpdHkwOyAg ICAgICAvLyAzMSAgIEJhdHRlcnkgMCBTdG9yZWQgQ2FwYWNpdHkNCj4gKyAgVUlOVDggICAgICAg QmF0dGVyeUNhcGFjaXR5MTsgICAgICAgLy8gMzIgICBCYXR0ZXJ5IDEgU3RvcmVkIENhcGFjaXR5 DQo+ICsgIFVJTlQ4ICAgICAgIEJhdHRlcnlDYXBhY2l0eTI7ICAgICAgIC8vIDMzICAgQmF0dGVy eSAyIFN0b3JlZCBDYXBhY2l0eQ0KPiArICBVSU5UOCAgICAgICBCYXR0ZXJ5U3RhdHVzMDsgICAg ICAgICAvLyAzNCAgIEJhdHRlcnkgMCBTdG9yZWQgU3RhdHVzDQo+ICsgIFVJTlQ4ICAgICAgIEJh dHRlcnlTdGF0dXMxOyAgICAgICAgIC8vIDM1ICAgQmF0dGVyeSAxIFN0b3JlZCBTdGF0dXMNCj4g KyAgVUlOVDggICAgICAgQmF0dGVyeVN0YXR1czI7ICAgICAgICAgLy8gMzYgICBCYXR0ZXJ5IDIg U3RvcmVkIFN0YXR1cw0KPiArDQo+ICsgIC8vIE5PVEU6IERvIE5PVCBDaGFuZ2UgdGhlIE9mZnNl dCBvZiBSZXZpc2lvbiBGaWVsZA0KPiArICBVSU5UOCAgICAgICBSZXZpc2lvbjsgICAgICAgICAg ICAgICAvLyAzNyAgIFJldmlzaW9uIG9mIHRoZSBzdHJ1Y3R1cmUNCj4gRUZJX0dMT0JBTF9OVlNf QVJFQQ0KPiArICBVSU5UOCAgICAgICBSZXNlcnZlZDNbMl07ICAgICAgICAgICAvLyAzODozOQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2Nlc3NvciBDb25maWd1cmF0aW9uIFZhbHVlcw0KPiAr ICAvLw0KPiArICBVSU5UOCAgICAgICBBcGljRW5hYmxlOyAgICAgICAgICAgICAvLyA0MCAgIEFQ SUMgRW5hYmxlZCBieSBTQklPUyAoQVBJQyBFbmFibGVkID0gMSkNCj4gKyAgVUlOVDggICAgICAg TG9naWNhbFByb2Nlc3NvckNvdW50OyAgLy8gNDEgICBQcm9jZXNzb3IgQ291bnQgRW5hYmxlZCAo TVANCj4gRW5hYmxlZCAhPSAwKQ0KPiArICBVSU5UOCAgICAgICBDdXJlbnRQZGNTdGF0ZTA7ICAg ICAgICAvLyA0MiAgIFBEQyBzZXR0aW5ncywgUHJvY2Vzc29yIDANCj4gKyAgVUlOVDggICAgICAg Q3VyZW50UGRjU3RhdGUxOyAgICAgICAgLy8gNDMgICBQREMgc2V0dGluZ3MsIFByb2Nlc3NvciAx DQo+ICsgIFVJTlQ4ICAgICAgIE1heGltdW1QcGNTdGF0ZTsgICAgICAgIC8vIDQ0ICAgTWF4aW11 bSBQUEMgc3RhdGUNCj4gKyAgVUlOVDMyICAgICAgUHBtRmxhZ3M7ICAgICAgICAgICAgICAgLy8g NDU6NDggUFBNIGNvbmZpZ3VyYXRpb24gZmxhZ3MsIHNhbWUgYXMNCj4gQ0ZHRA0KPiArICBVSU5U OCAgICAgICBSZXNlcnZlZDRbMV07ICAgICAgICAgICAvLyA0OQ0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFNJTyBDb25maWd1cmF0aW9uIFZhbHVlcw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICBE b2NrZWRTaW9QcmVzZW50OyAgICAgICAvLyA1MCAgIERvY2sgU0lPIFByZXNlbnQNCj4gKyAgVUlO VDggICAgICAgRG9ja0NvbUE7ICAgICAgICAgICAgICAgLy8gNTEgICAgIENPTSBBIFBvcnQNCj4g KyAgVUlOVDggICAgICAgRG9ja0NvbUI7ICAgICAgICAgICAgICAgLy8gNTIgICAgIENPTSBCIFBv cnQNCj4gKyAgVUlOVDggICAgICAgTHB0UDsgICAgICAgICAgICAgICAgICAgLy8gNTMgICAgIExQ VCBQb3J0DQo+ICsgIFVJTlQ4ICAgICAgIERvY2tGZGM7ICAgICAgICAgICAgICAgIC8vIDU0ICAg ICBGREMgUG9ydA0KPiArICBVSU5UOCAgICAgICBPbmJvYXJkQ29tOyAgICAgICAgICAgICAvLyA1 NSAgIE9uYm9hcmQgQ09NIFBvcnQNCj4gKyAgVUlOVDggICAgICAgT25ib2FyZENvbUNpcjsgICAg ICAgICAgLy8gNTYgICBPbmJvYXJkIENPTSBDSVIgUG9ydA0KPiArDQo+ICsgIFVJTlQ4ICAgICAg IFdQQ04zODFVOyAgICAgICAgICAgICAgIC8vIDU3DQo+ICsgIFVJTlQ4ICAgICAgIE5QQ0U3OTF4 OyAgICAgICAgICAgICAgIC8vIDU4DQo+ICsgIFVJTlQ4ICAgICAgIFJlc2VydmVkNVsxXTsgICAg ICAgICAgIC8vIDU5DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW50ZXJuYWwgR3JhcGhpY3MgRGV2 aWNlIFZhbHVlcw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICBJZ2RTdGF0ZTsgICAgICAgICAg ICAgICAvLyA2MCAgIElHRCBTdGF0ZSAoUHJpbWFyeSBEaXNwbGF5ID0gMSkNCj4gKyAgVUlOVDgg ICAgICAgRGlzcGxheVRvZ2dsZUxpc3Q7ICAgICAgLy8gNjEgICBEaXNwbGF5IFRvZ2dsZSBMaXN0 IFNlbGVjdGlvbg0KPiArICBVSU5UOCAgICAgICBDdXJyZW50RGV2aWNlTGlzdDsgICAgICAvLyA2 MiAgIEN1cnJlbnQgQXR0YWNoZWQgRGV2aWNlIExpc3QNCj4gKyAgVUlOVDggICAgICAgUHJldmlv dXNEZXZpY2VMaXN0OyAgICAgLy8gNjMgICBQcmV2aW91cyBBdHRhY2hlZCBEZXZpY2UgTGlzdA0K PiArICBVSU5UMTYgICAgICBDdXJyZW50RGlzcGxheVN0YXRlOyAgICAvLyA2NCAgIEN1cnJlbnQg RGlzcGxheSBTdGF0ZQ0KPiArICBVSU5UMTYgICAgICBOZXh0RGlzcGxheVN0YXRlOyAgICAgICAv LyA2NiAgIE5leHQgRGlzcGxheSBTdGF0ZQ0KPiArICBVSU5UMTYgICAgICBTZXREaXNwbGF5U3Rh dGU7ICAgICAgICAvLyA2OCAgIFNldCBEaXNwbGF5IFN0YXRlDQo+ICsgIFVJTlQ4ICAgICAgIE51 bWJlck9mVmFsaWREZXZpY2VJZDsgIC8vIDcwICAgTnVtYmVyIG9mIFZhbGlkIERldmljZSBJRHMN Cj4gKyAgVUlOVDMyICAgICAgRGV2aWNlSWQxOyAgICAgICAgICAgICAgLy8gNzEgICBEZXZpY2Ug SUQgMQ0KPiArICBVSU5UMzIgICAgICBEZXZpY2VJZDI7ICAgICAgICAgICAgICAvLyA3NSAgIERl dmljZSBJRCAyDQo+ICsgIFVJTlQzMiAgICAgIERldmljZUlkMzsgICAgICAgICAgICAgIC8vIDc5 ICAgRGV2aWNlIElEIDMNCj4gKyAgVUlOVDMyICAgICAgRGV2aWNlSWQ0OyAgICAgICAgICAgICAg Ly8gODMgICBEZXZpY2UgSUQgNA0KPiArICBVSU5UMzIgICAgICBEZXZpY2VJZDU7ICAgICAgICAg ICAgICAvLyA4NyAgIERldmljZSBJRCA1DQo+ICsNCj4gKyAgVUlOVDMyICAgICAgQUtzdjA7ICAg ICAgICAgICAgICAgICAgLy8gOTE6OTQgRmlyc3QgZm91ciBieXRlcyBvZiBBS1NWIChtYW51ZmFj dHVyaW5nDQo+IG1vZGUpDQo+ICsgIFVJTlQ4ICAgICAgIEFLc3YxOyAgICAgICAgICAgICAgICAg IC8vIDk1ICAgIEZpZnRoIGJ5dGUgb2YgQUtTViAobWFudWZhY3R1cmluZyBtb2RlDQo+ICsNCj4g KyAgVUlOVDggICAgICAgUmVzZXJ2ZWQ2WzddOyAgICAgICAgICAgLy8gOTY6MTAyDQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gQmFja2xpZ2h0IENvbnRyb2wgVmFsdWVzDQo+ICsgIC8vDQo+ICsgIFVJ TlQ4ICAgICAgIEJhY2tsaWdodENvbnRyb2xTdXBwb3J0OyAgLy8gMTAzICBCYWNrbGlnaHQgQ29u dHJvbCBTdXBwb3J0DQo+ICsgIFVJTlQ4ICAgICAgIEJyaWdodG5lc3NQZXJjZW50YWdlOyAgICAg Ly8gMTA0ICBCcmlnaHRuZXNzIExldmVsIFBlcmNlbnRhZ2UNCj4gKw0KPiArICAvLw0KPiArICAv LyBBbWJpZW50IExpZ2h0IFNlbnNvciBWYWx1ZXMNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAg QWxzRW5hYmxlOyAgICAgICAgICAgICAgLy8gMTA1ICBBbWJpZW50IExpZ2h0IFNlbnNvciBFbmFi bGUNCj4gKyAgVUlOVDggICAgICAgQWxzQWRqdXN0bWVudEZhY3RvcjsgICAgLy8gMTA2ICBBbWJp ZW50IExpZ2h0IEFkanVzbWVudCBGYWN0b3INCj4gKyAgVUlOVDggICAgICAgTHV4TG93VmFsdWU7 ICAgICAgICAgICAgLy8gMTA3ICBMVVggTG93IFZhbHVlDQo+ICsgIFVJTlQ4ICAgICAgIEx1eEhp Z2hWYWx1ZTsgICAgICAgICAgIC8vIDEwOCAgTFVYIEhpZ2ggVmFsdWUNCj4gKw0KPiArICBVSU5U OCAgICAgICBSZXNlcnZlZDdbMV07ICAgICAgICAgICAvLyAxMDkNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBFeHRlbmRlZCBNb2JpbGUgQWNjZXNzIFZhbHVlcw0KPiArICAvLw0KPiArICBVSU5UOCAg ICAgICBFbWFFbmFibGU7ICAgICAgICAgICAgICAvLyAxMTAgIEVNQSBFbmFibGUNCj4gKyAgVUlO VDE2ICAgICAgRW1hUG9pbnRlcjsgICAgICAgICAgICAgLy8gMTExICBFTUEgUG9pbnRlcg0KPiAr ICBVSU5UMTYgICAgICBFbWFMZW5ndGg7ICAgICAgICAgICAgICAvLyAxMTMgIEVNQSBMZW5ndGgN Cj4gKw0KPiArICBVSU5UOCAgICAgICBSZXNlcnZlZDhbMV07ICAgICAgICAgICAvLyAxMTUNCj4g Kw0KPiArICAvLw0KPiArICAvLyBNb2JpbGUgRWFzdCBGb3JrIFZhbHVlcw0KPiArICAvLw0KPiAr ICBVSU5UOCAgICAgICBNZWZFbmFibGU7ICAgICAgICAgICAgICAvLyAxMTYgTW9iaWxlIEVhc3Qg Rm9yayBFbmFibGUNCj4gKw0KPiArICAvLw0KPiArICAvLyBQQ0llIERvY2sgU3RhdHVzDQo+ICsg IC8vDQo+ICsgIFVJTlQ4ICAgICAgIFBjaWVEb2NrU3RhdHVzOyAgICAgICAgIC8vIDExNyBQQ0ll IERvY2sgU3RhdHVzDQo+ICsNCj4gKyAgVUlOVDggICAgICAgUmVzZXJ2ZWQ5WzJdOyAgICAgICAg ICAgLy8gMTE4OjExOQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRQTSBSZWdpc3RlcnMNCj4gKyAg Ly8NCj4gKyAgVUlOVDggICAgICAgVHBtUHJlc2VudDsgICAgICAgICAgICAgLy8gMTIwIFRQTSBQ cmVzZW50DQo+ICsgIFVJTlQ4ICAgICAgIFRwbUVuYWJsZTsgICAgICAgICAgICAgIC8vIDEyMSBU UE0gRW5hYmxlDQo+ICsNCj4gKyAgVUlOVDggICAgICAgTW9yRGF0YTsgICAgICAgICAgICAgICAg Ly8gMTIyIE1lbW9yeSBPdmVyd3JpdGUgUmVxdWVzdCBEYXRhDQo+ICsgIFVJTlQ4ICAgICAgIFRj Z1BhcmFtdGVyOyAgICAgICAgICAgIC8vIDEyMyBVc2VkIGZvciBzYXZlIHRoZSBNb3IgYW5kL29y IHBoeXNpY2FsDQo+IHByZXNlbmNlIHBhcmFtZXRlcg0KPiArICBVSU5UMzIgICAgICBQUFJlc3Bv bnNlOyAgICAgICAgICAgICAvLyAxMjQgUGh5c2ljYWwgUHJlc2VuY2UgcmVxdWVzdCBvcGVyYXRp b24NCj4gcmVzcG9uc2UNCj4gKyAgVUlOVDggICAgICAgUFBSZXF1ZXN0OyAgICAgICAgICAgICAg Ly8gMTI4IFBoeXNpY2FsIFByZXNlbmNlIHJlcXVlc3Qgb3BlcmF0aW9uDQo+ICsgIFVJTlQ4ICAg ICAgIExhc3RQUFJlcXVlc3Q7ICAgICAgICAgIC8vIDEyOSBMYXN0IFBoeXNpY2FsIFByZXNlbmNl IHJlcXVlc3QNCj4gb3BlcmF0aW9uDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU0FUQSBWYWx1ZXMN Cj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgR3RmVGFza0ZpbGVCdWZmZXJQb3J0MFs3XTsgICAg Ly8gMTMwICBHVEYgVGFzayBGaWxlIEJ1ZmZlciBmb3IgUG9ydCAwDQo+ICsgIFVJTlQ4ICAgICAg IEd0ZlRhc2tGaWxlQnVmZmVyUG9ydDJbN107ICAgIC8vIDEzNyAgR1RGIFRhc2sgRmlsZSBCdWZm ZXIgZm9yIFBvcnQgMg0KPiArICBVSU5UOCAgICAgICBJZGVNb2RlOyAgICAgICAgICAgICAgICAg ICAgICAvLyAxNDQgIElERSBNb2RlIChDb21wYXRpYmxlXEVuaGFuY2VkKQ0KPiArICBVSU5UOCAg ICAgICBHdGZUYXNrRmlsZUJ1ZmZlclBvcnQxWzddOyAgICAvLyAxNDU6MTUxIEdURiBUYXNrIEZp bGUgQnVmZmVyIGZvcg0KPiBQb3J0IDENCj4gKw0KPiArICBVSU5UOCAgICAgICBSZXNlcnZlZDEx MVsxMF07ICAgICAgICAgICAgICAgIC8vIDE1MjoxNjENCj4gKyAgVUlOVDY0ICAgICAgQm9vdFRp bWVMb2dBZGRyZXNzOyAgICAgICAgICAgLy8gMTYyOjE2OSBCb290IFRpbWUgTG9nIFRhYmxlDQo+ IEFkZHJlc3MNCj4gKw0KPiArICBVSU5UMzIgICAgICBJZ2RPcFJlZ2lvbkFkZHJlc3M7ICAgICAg ICAgICAvLyAxNzAgIElHRCBPcFJlZ2lvbiBTdGFydGluZw0KPiBBZGRyZXNzDQo+ICsgIFVJTlQ4 ICAgICAgIElnZEJvb3RUeXBlOyAgICAgICAgICAgICAgICAgIC8vIDE3NCAgSUdEIEJvb3QgVHlw ZSBDTU9TIG9wdGlvbg0KPiArICBVSU5UOCAgICAgICBJZ2RQYW5lbFR5cGU7ICAgICAgICAgICAg ICAgICAvLyAxNzUgIElHRCBQYW5lbCBUeXBlIENNT3Mgb3B0aW9uDQo+ICsgIFVJTlQ4ICAgICAg IElnZFR2Rm9ybWF0OyAgICAgICAgICAgICAgICAgIC8vIDE3NiAgSUdEIFRWIEZvcm1hdCBDTU9T IG9wdGlvbg0KPiArICBVSU5UOCAgICAgICBJZ2RUdk1pbm9yOyAgICAgICAgICAgICAgICAgICAv LyAxNzcgIElHRCBUViBNaW5vciBGb3JtYXQgQ01PUyBvcHRpb24NCj4gKyAgVUlOVDggICAgICAg SWdkUGFuZWxTY2FsaW5nOyAgICAgICAgICAgICAgLy8gMTc4ICBJR0QgUGFuZWwgU2NhbGluZw0K PiArICBVSU5UOCAgICAgICBJZ2RCbGNDb25maWc7ICAgICAgICAgICAgICAgICAvLyAxNzkgIElH RCBCTEMgQ29uZmlndXJhdGlvbg0KPiArICBVSU5UOCAgICAgICBJZ2RCaWFDb25maWc7ICAgICAg ICAgICAgICAgICAvLyAxODAgIElHRCBCSUEgQ29uZmlndXJhdGlvbg0KPiArICBVSU5UOCAgICAg ICBJZ2RTc2NDb25maWc7ICAgICAgICAgICAgICAgICAvLyAxODEgIElHRCBTU0MgQ29uZmlndXJh dGlvbg0KPiArICBVSU5UOCAgICAgICBJZ2Q0MDk7ICAgICAgICAgICAgICAgICAgICAgICAvLyAx ODIgIElHRCAwNDA5IE1vZGlmaWVkIFNldHRpbmdzIEZsYWcNCj4gKyAgVUlOVDggICAgICAgSWdk NTA5OyAgICAgICAgICAgICAgICAgICAgICAgLy8gMTgzICBJR0QgMDUwOSBNb2RpZmllZCBTZXR0 aW5ncyBGbGFnDQo+ICsgIFVJTlQ4ICAgICAgIElnZDYwOTsgICAgICAgICAgICAgICAgICAgICAg IC8vIDE4NCAgSUdEIDA2MDkgTW9kaWZpZWQgU2V0dGluZ3MgRmxhZw0KPiArICBVSU5UOCAgICAg ICBJZ2Q3MDk7ICAgICAgICAgICAgICAgICAgICAgICAvLyAxODUgIElHRCAwNzA5IE1vZGlmaWVk IFNldHRpbmdzIEZsYWcNCj4gKyAgVUlOVDggICAgICAgSWdkUG93ZXJDb25zZXJ2YXRpb247ICAg ICAgICAgLy8gMTg2ICBJR0QgUG93ZXIgQ29uc2VydmF0aW9uDQo+IEZlYXR1cmUgRmxhZw0KPiAr ICBVSU5UOCAgICAgICBJZ2REdm10TWVtU2l6ZTsgICAgICAgICAgICAgICAvLyAxODcgIElHRCBE Vk1UIE1lbW9yeSBTaXplDQo+ICsgIFVJTlQ4ICAgICAgIElnZEZ1bmMxRW5hYmxlOyAgICAgICAg ICAgICAgIC8vIDE4OCAgSUdEIEZ1bmN0aW9uIDEgRW5hYmxlDQo+ICsgIFVJTlQ4ICAgICAgIEln ZEhwbGxWY287ICAgICAgICAgICAgICAgICAgIC8vIDE4OSAgSFBMTCBWQ08NCj4gKyAgVUlOVDMy ICAgICAgTmV4dFN0YXRlRGlkMTsgICAgICAgICAgICAgICAgLy8gMTkwICBOZXh0IHN0YXRlIERJ RDEgZm9yIF9ER1MNCj4gKyAgVUlOVDMyICAgICAgTmV4dFN0YXRlRGlkMjsgICAgICAgICAgICAg ICAgLy8gMTk0ICBOZXh0IHN0YXRlIERJRDIgZm9yIF9ER1MNCj4gKyAgVUlOVDMyICAgICAgTmV4 dFN0YXRlRGlkMzsgICAgICAgICAgICAgICAgLy8gMTk4ICBOZXh0IHN0YXRlIERJRDMgZm9yIF9E R1MNCj4gKyAgVUlOVDMyICAgICAgTmV4dFN0YXRlRGlkNDsgICAgICAgICAgICAgICAgLy8gMjAy ICBOZXh0IHN0YXRlIERJRDQgZm9yIF9ER1MNCj4gKyAgVUlOVDMyICAgICAgTmV4dFN0YXRlRGlk NTsgICAgICAgICAgICAgICAgLy8gMjA2ICBOZXh0IHN0YXRlIERJRDUgZm9yIF9ER1MNCj4gKyAg VUlOVDMyICAgICAgTmV4dFN0YXRlRGlkNjsgICAgICAgICAgICAgICAgLy8gMjEwICBOZXh0IHN0 YXRlIERJRDYgZm9yIF9ER1MNCj4gKyAgVUlOVDMyICAgICAgTmV4dFN0YXRlRGlkNzsgICAgICAg ICAgICAgICAgLy8gMjE0ICBOZXh0IHN0YXRlIERJRDcgZm9yIF9ER1MNCj4gKyAgVUlOVDMyICAg ICAgTmV4dFN0YXRlRGlkODsgICAgICAgICAgICAgICAgLy8gMjE4ICBOZXh0IHN0YXRlIERJRDgg Zm9yIF9ER1MNCj4gKyAgVUlOVDggICAgICAgSWdkU2NpU21pTW9kZTsgICAgICAgICAgICAgICAg Ly8gMjIyICBHTUNIIFNNSS9TQ0kgbW9kZSAoMD1TQ0kpDQo+ICsgIFVJTlQ4ICAgICAgIElnZFBB VlA7ICAgICAgICAgICAgICAgICAgICAgIC8vIDIyMyAgSUdEIFBBVlAgZGF0YQ0KPiArICBVSU5U OCAgICAgICBJZ2RTZWxmUmVmcmVzaDsgICAgICAgICAgICAgICAvLyAyMjQgIElHRCBTZWxmIFJl ZnJlc2gNCj4gKyAgVUlOVDggICAgICAgUGNpZU9TQ0NvbnRyb2w7ICAgICAgICAgICAgICAgLy8g MjI1ICBQQ0lFIE9TQyBDb250cm9sDQo+ICsgIFVJTlQ4ICAgICAgIE5hdGl2ZVBDSUVTdXBwb3J0 OyAgICAgICAgICAgIC8vIDIyNiAgTmF0aXZlIFBDSSBFeHByZXNzIFN1cHBvcnQNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBVU0IgU2lkZWJhbmQgRGVmZXJyaW5nIFN1cHBvcnQNCj4gKyAgLy8NCj4g KyAgVUlOVDggICAgICAgSG9zdEFsZXJ0VmVjdG9yOyAgICAgICAgICAgICAgLy8gMjI3ICBHUEUg dmVjdG9yIHVzZWQgZm9yIEhPU1RfQUxFUlQNCj4gKyAgVUlOVDggICAgICAgSG9zdEFsZXJ0UGlv OyAgICAgICAgICAgICAgICAgLy8gMjI4ICBQSU8gb2YgVVNCIGRldmljZSB1c2VkIGZvcg0KPiBI T1NUX0FMRVJUDQo+ICsNCj4gKyAgVUlOVDggICAgICAgUmVzZXJ2ZWQxMTJbMjddOyAgICAgICAg ICAgICAgIC8vIDIyOQ0KPiArICBVSU5UMzIgICAgICBOdklnT3BSZWdpb25BZGRyZXNzOyAgICAg ICAgICAvLyAyNTYgTlZJRyBzdXBwb3J0DQo+ICsgIFVJTlQzMiAgICAgIE52SG1PcFJlZ2lvbkFk ZHJlc3M7ICAgICAgICAgIC8vIDI2MCBOVkhNIHN1cHBvcnQNCj4gKyAgVUlOVDMyICAgICAgQXBY bU9wUmVnaW9uQWRkcmVzczsgICAgICAgICAgLy8gMjY0IEFNREEgc3VwcG9ydA0KPiArICBVSU5U MzIgICAgICBEZXZpY2VJZDY7ICAgICAgICAgICAgICAgICAgICAvLyAyNjggICBEZXZpY2UgSUQg Ng0KPiArICBVSU5UMzIgICAgICBEZXZpY2VJZDc7ICAgICAgICAgICAgICAgICAgICAvLyAyNzIg ICBEZXZpY2UgSUQgNw0KPiArICBVSU5UMzIgICAgICBEZXZpY2VJZDg7ICAgICAgICAgICAgICAg ICAgICAvLyAyNzYgICBEZXZpY2UgSUQgOA0KPiArICBVSU5UMzIgICAgICBFbmRwb2ludEJhc2VB ZGRyZXNzOyAgICAgICAgICAvLyAyODAgUEVHIEVuZHBvaW50IFBDSWUgQmFzZQ0KPiBBZGRyZXNz DQo+ICsgIFVJTlQzMiAgICAgIENhcFN0clByZXNlbmNlOyAgICAgICAgICAgICAgIC8vIDI4NCBQ RUcgRW5kcG9pbnQgQ2FwYWJpbGl0eSBTdHJ1Y3R1cmUNCj4gUHJlc2VuY2UNCj4gKyAgVUlOVDMy ICAgICAgRW5kcG9pbnRQY2llQ2FwQmFzZUFkZHJlc3M7ICAgLy8gMjg4IFBFRyBFbmRwb2ludCBQ Q0llDQo+IENhcGFiaWxpdHkgU3RydWN0dXJlIEJhc2UgQWRkcmVzcw0KPiArICBVSU5UMzIgICAg ICBFbmRwb2ludFZjQ2FwQmFzZUFkZHJlc3M7ICAgICAvLyAyOTIgUEVHIEVuZHBvaW50IFZpcnR1 YWwNCj4gQ2hhbm5lbCBDYXBhYmlsaXR5IFN0cnVjdHVyZSBCYXNlIEFkZHJlc3MNCj4gKyAgVUlO VDMyICAgICAgWFBjaWVDZmdCYXNlQWRkcmVzczsgICAgICAgICAgLy8gMjk2IEFueSBEZXZpY2Un cyBQQ0llIENvbmZpZw0KPiBTcGFjZSBCYXNlIEFkZHJlc3MNCj4gKyAgVUlOVDMyICAgICAgT2Nj dXBpZWRCdXNlczE7ICAgICAgICAgICAgICAgLy8gMzAwIE9jY3VwaWVkIEJ1c2VzIGZyb20gMCB0 byAzMQ0KPiArICBVSU5UMzIgICAgICBPY2N1cGllZEJ1c2VzMjsgICAgICAgICAgICAgICAvLyAz MDQgT2NjdXBpZWQgQnVzZXMgZnJvbSAzMiB0byA2Mw0KPiArICBVSU5UMzIgICAgICBPY2N1cGll ZEJ1c2VzMzsgICAgICAgICAgICAgICAvLyAzMDggT2NjdXBpZWQgQnVzZXMgZnJvbSA2NCB0byA5 NQ0KPiArICBVSU5UMzIgICAgICBPY2N1cGllZEJ1c2VzNDsgICAgICAgICAgICAgICAvLyAzMTIg T2NjdXBpZWQgQnVzZXMgZnJvbSA5NiB0byAxMjcNCj4gKyAgVUlOVDMyICAgICAgT2NjdXBpZWRC dXNlczU7ICAgICAgICAgICAgICAgLy8gMzE2IE9jY3VwaWVkIEJ1c2VzIGZyb20gMTI4IHRvIDE1 OQ0KPiArICBVSU5UMzIgICAgICBPY2N1cGllZEJ1c2VzNjsgICAgICAgICAgICAgICAvLyAzMjAg T2NjdXBpZWQgQnVzZXMgZnJvbSAxNjAgdG8gMTkxDQo+ICsgIFVJTlQzMiAgICAgIE9jY3VwaWVk QnVzZXM3OyAgICAgICAgICAgICAgIC8vIDMyNCBPY2N1cGllZCBCdXNlcyBmcm9tIDE5MiB0byAy MjMNCj4gKyAgVUlOVDMyICAgICAgT2NjdXBpZWRCdXNlczg7ICAgICAgICAgICAgICAgLy8gMzI4 IE9jY3VwaWVkIEJ1c2VzIGZyb20gMjI0IHRvIDI1NQ0KPiArICBVSU5UOCAgICAgICBVYXJ0U2Vs ZWN0aW9uOyAgICAgICAgICAgICAgICAvLyAzMzIgVUFSVCBJbnRlcmZhY2UgU2VsZWN0aW9uIDA6 IEludGVybmFsOw0KPiAxOiBTSU8NCj4gKyAgVUlOVDggICAgICAgUGN1VWFydDFFbmFibGU7ICAg ICAgICAgICAgICAgLy8gMzMzIFBDVSBVQVJUIDEgRW5hYmxlZA0KPiArICBVSU5UOCAgICAgICBQ Y3VVYXJ0MkVuYWJsZTsgICAgICAgICAgICAgICAvLyAzMzQgUENVIFVBUlQgMiBFbmFibGVkDQo+ ICsNCj4gKyAgVUlOVDMyICAgICAgTFBFQmFyMDsgICAgICAgICAgICAgICAgICAgICAgLy8gMzM1 fjMzOCAgTFBFIEJhcjANCj4gKyAgVUlOVDMyICAgICAgTFBFQmFyMTsgICAgICAgICAgICAgICAg ICAgICAgLy8gMzM5fjM0MiAgTFBFIEJhcjENCj4gKw0KPiArICBVSU5UMzIgICAgICBMUEVCYXIy OyAgICAgICAgICAgICAgICAgICAgICAvLyAzNDN+MzQ2ICBMUEUgQmFyMg0KPiArICBVSU5UOCAg ICAgICAgQWNTZXR1cDsgICAgICAgICAgICAgICAgICAgICAgLy8gMzQ3IEZvciBBYyBQb3dlcmVk IENvbmZpZyBvcHRpb24gLSBJU1QNCj4gYXBwbGV0DQo+ICsgIFVJTlQ4ICAgICAgIEJhdHRlcnlT ZXR1cDsgICAgICAgICAgICAgICAgIC8vIDM0OCBGb3IgQmF0dGVyeSBQb3dlcmVkIENvbmZpZyBv cHRpb24gLQ0KPiBJU1QgYXBwbGV0DQo+ICsgIFVJTlQ4ICAgICAgIFBsYXRmb3JtRmxhdm9yOyAg ICAgICAgICAgICAgIC8vIDM0OSAwOnVua25vd24gMTogTW9iaWxlOyAyOiBkZXNrdG9wDQo+ICsg IFVJTlQ4ICAgICAgIFJlc2VydmVkMTEzWzFdOyAgICAgICAgICAgICAgICAvLyAzNTANCj4gKw0K PiArICBVSU5UOCAgICAgICBJc2N0UmVzZXJ2ZTsgICAgICAgICAgICAgICAgICAgICAgLy8gMzUx IElTQ1QgLyBBT0FDIENvbmZpZ3VyYXRpb24NCj4gKyAgVUlOVDggICAgICAgWGhjaU1vZGU7ICAg ICAgICAgICAgICAgICAgICAgLy8gMzUyIHhIQ0kgbW9kZQ0KPiArICBVSU5UOCAgICAgICBQbWlj RW5hYmxlOyAgICAgICAgICAgICAgICAgICAvLyAzNTMgUE1JQyBlbmFibGUNCj4gKw0KPiArICBV SU5UOCAgICAgICBMcGVFbmFibGU7ICAgICAgICAgICAgICAgICAgICAvLyAzNTQgTFBFIGVuYWJs ZQ0KPiArICBVSU5UMzIgICAgICBJU1BBZGRyOyAgICAgICAgICAgICAgICAgICAgICAvLyAzNTUg SVNQIEJhc2UgYWRkcmVzcw0KPiArICBVSU5UOCAgICAgICBJU1BEZXZTZWw7ICAgICAgICAgICAg ICAgICAgICAvLyAzNTkgSVNQIGRldmljZSBlbmFibGVkIHNlbGVjdGlvbiAwOg0KPiBEaXNhYmxl ZDsgMTogUENJIERldmljZSAyOyAyOiBQQ0kgRGV2aWNlIDMNCj4gKw0KPiArICAvLw0KPiArICAv LyBMcHNzIGNvbnRyb2xsZXJzDQo+ICsgIC8vDQo+ICsgIFVJTlQzMiAgICAgIFBDSUJvdHRvbUFk ZHJlc3M7ICAgICAgICAgICAgLy8zNjAgICgoNCs4KzYpKjQrMikqND0yOTYNCj4gKyAgVUlOVDMy ICAgICAgUENJVG9wQWRkcmVzczsgICAgICAgICAgICAgICAvLzM2NA0KPiArDQo+ICsgIFVJTlQz MiAgICAgIExETUExQWRkcjsgICAgICAgICAgICAgICAgICAgLy8gMzY4DQo+ICsgIFVJTlQzMiAg ICAgIExETUExTGVuOyAgICAgICAgICAgICAgICAgICAgLy8gMzcyDQo+ICsgIFVJTlQzMiAgICAg IExETUExMUFkZHI7ICAgICAgICAgICAgICAgICAgLy8gMzc2DQo+ICsgIFVJTlQzMiAgICAgIExE TUExMUxlbjsgICAgICAgICAgICAgICAgICAgLy8gMzgwDQo+ICsgIFVJTlQzMiAgICAgIFBXTTFB ZGRyOyAgICAgICAgICAgICAgICAgICAgLy8gMzg0IFBXTTENCj4gKyAgVUlOVDMyICAgICAgUFdN MUxlbjsgICAgICAgICAgICAgICAgICAgICAvLyAzODgNCj4gKyAgVUlOVDMyICAgICAgUFdNMTFB ZGRyOyAgICAgICAgICAgICAgICAgICAvLyAzOTINCj4gKyAgVUlOVDMyICAgICAgUFdNMTFMZW47 ICAgICAgICAgICAgICAgICAgICAvLyAzOTYNCj4gKyAgVUlOVDMyICAgICAgUFdNMkFkZHI7ICAg ICAgICAgICAgICAgICAgICAvLyA0MDAgUFdNMg0KPiArICBVSU5UMzIgICAgICBQV00yTGVuOyAg ICAgICAgICAgICAgICAgICAgIC8vIDQwNA0KPiArICBVSU5UMzIgICAgICBQV00yMUFkZHI7ICAg ICAgICAgICAgICAgICAgIC8vIDQwOA0KPiArICBVSU5UMzIgICAgICBQV00yMUxlbjsgICAgICAg ICAgICAgICAgICAgIC8vIDQxMg0KPiArICBVSU5UMzIgICAgICBVQVJUMUFkZHI7ICAgICAgICAg ICAgICAgICAgIC8vIDQxNiBVQVJUMQ0KPiArICBVSU5UMzIgICAgICBVQVJUMUxlbjsgICAgICAg ICAgICAgICAgICAgIC8vIDQyMA0KPiArICBVSU5UMzIgICAgICBVQVJUMTFBZGRyOyAgICAgICAg ICAgICAgICAgIC8vIDQyNCBVQVJUMQ0KPiArICBVSU5UMzIgICAgICBVQVJUMTFMZW47ICAgICAg ICAgICAgICAgICAgIC8vIDQyOA0KPiArICBVSU5UMzIgICAgICBVQVJUMkFkZHI7ICAgICAgICAg ICAgICAgICAgIC8vIDQzMiBVQVJUMg0KPiArICBVSU5UMzIgICAgICBVQVJUMkxlbjsgICAgICAg ICAgICAgICAgICAgIC8vIDQzNg0KPiArICBVSU5UMzIgICAgICBVQVJUMjFBZGRyOyAgICAgICAg ICAgICAgICAgIC8vIDQ0MCBVQVJUMg0KPiArICBVSU5UMzIgICAgICBVQVJUMjFMZW47ICAgICAg ICAgICAgICAgICAgIC8vIDQ0NA0KPiArICBVSU5UMzIgICAgICBTUElBZGRyOyAgICAgICAgICAg ICAgICAgICAgIC8vIDQ0OCBTUEkNCj4gKyAgVUlOVDMyICAgICAgU1BJTGVuOyAgICAgICAgICAg ICAgICAgICAgICAvLyA0NTINCj4gKyAgVUlOVDMyICAgICAgU1BJMUFkZHI7ICAgICAgICAgICAg ICAgICAgICAvLyA0NTYNCj4gKyAgVUlOVDMyICAgICAgU1BJMUxlbjsgICAgICAgICAgICAgICAg ICAgICAvLyA0NjANCj4gKw0KPiArICBVSU5UMzIgICAgICBMRE1BMkFkZHI7ICAgICAgICAgICAg ICAgICAgIC8vIDQ2NA0KPiArICBVSU5UMzIgICAgICBMRE1BMkxlbjsgICAgICAgICAgICAgICAg ICAgIC8vIDQ2OA0KPiArICBVSU5UMzIgICAgICBMRE1BMjFBZGRyOyAgICAgICAgICAgICAgICAg IC8vIDQ3Mg0KPiArICBVSU5UMzIgICAgICBMRE1BMjFMZW47ICAgICAgICAgICAgICAgICAgIC8v IDQ3Ng0KPiArICBVSU5UMzIgICAgICBJMkMxQWRkcjsgICAgICAgICAgICAgICAgICAgIC8vIDQ4 MCBJMkMxDQo+ICsgIFVJTlQzMiAgICAgIEkyQzFMZW47ICAgICAgICAgICAgICAgICAgICAgLy8g NDg0DQo+ICsgIFVJTlQzMiAgICAgIEkyQzExQWRkcjsgICAgICAgICAgICAgICAgICAgLy8gNDg4 IEkyQzENCj4gKyAgVUlOVDMyICAgICAgSTJDMTFMZW47ICAgICAgICAgICAgICAgICAgICAvLyA0 OTINCj4gKyAgVUlOVDMyICAgICAgSTJDMkFkZHI7ICAgICAgICAgICAgICAgICAgICAvLyA0OTYg STJDMg0KPiArICBVSU5UMzIgICAgICBJMkMyTGVuOyAgICAgICAgICAgICAgICAgICAgIC8vIDUw MA0KPiArICBVSU5UMzIgICAgICBJMkMyMUFkZHI7ICAgICAgICAgICAgICAgICAgIC8vIDUwNCBJ MkMyDQo+ICsgIFVJTlQzMiAgICAgIEkyQzIxTGVuOyAgICAgICAgICAgICAgICAgICAgLy8gNTA4 DQo+ICsgIFVJTlQzMiAgICAgIEkyQzNBZGRyOyAgICAgICAgICAgICAgICAgICAgLy8gNTEyIEky QzMNCj4gKyAgVUlOVDMyICAgICAgSTJDM0xlbjsgICAgICAgICAgICAgICAgICAgICAvLyA1MTYN Cj4gKyAgVUlOVDMyICAgICAgSTJDMzFBZGRyOyAgICAgICAgICAgICAgICAgICAvLyA1MjAgSTJD Mw0KPiArICBVSU5UMzIgICAgICBJMkMzMUxlbjsgICAgICAgICAgICAgICAgICAgIC8vIDUyNA0K PiArICBVSU5UMzIgICAgICBJMkM0QWRkcjsgICAgICAgICAgICAgICAgICAgIC8vIDUyOCBJMkM0 DQo+ICsgIFVJTlQzMiAgICAgIEkyQzRMZW47ICAgICAgICAgICAgICAgICAgICAgLy8gNTMyDQo+ ICsgIFVJTlQzMiAgICAgIEkyQzQxQWRkcjsgICAgICAgICAgICAgICAgICAgLy8gNTM2IEkyQzQN Cj4gKyAgVUlOVDMyICAgICAgSTJDNDFMZW47ICAgICAgICAgICAgICAgICAgICAvLyA1NDANCj4g KyAgVUlOVDMyICAgICAgSTJDNUFkZHI7ICAgICAgICAgICAgICAgICAgICAvLyA1NDQgSTJDNQ0K PiArICBVSU5UMzIgICAgICBJMkM1TGVuOyAgICAgICAgICAgICAgICAgICAgIC8vIDU0OA0KPiAr ICBVSU5UMzIgICAgICBJMkM1MUFkZHI7ICAgICAgICAgICAgICAgICAgIC8vIDU1MiBJMkM1DQo+ ICsgIFVJTlQzMiAgICAgIEkyQzUxTGVuOyAgICAgICAgICAgICAgICAgICAgLy8gNTU2DQo+ICsg IFVJTlQzMiAgICAgIEkyQzZBZGRyOyAgICAgICAgICAgICAgICAgICAgLy8gNTYwIEkyQzYNCj4g KyAgVUlOVDMyICAgICAgSTJDNkxlbjsgICAgICAgICAgICAgICAgICAgICAvLyA1NjQNCj4gKyAg VUlOVDMyICAgICAgSTJDNjFBZGRyOyAgICAgICAgICAgICAgICAgICAvLyA1NjYgSTJDNg0KPiAr ICBVSU5UMzIgICAgICBJMkM2MUxlbjsgICAgICAgICAgICAgICAgICAgIC8vIDU3MA0KPiArICBV SU5UMzIgICAgICBJMkM3QWRkcjsgICAgICAgICAgICAgICAgICAgIC8vIDU3NCBJMkM3DQo+ICsg IFVJTlQzMiAgICAgIEkyQzdMZW47ICAgICAgICAgICAgICAgICAgICAgLy8gNTc4DQo+ICsgIFVJ TlQzMiAgICAgIEkyQzcxQWRkcjsgICAgICAgICAgICAgICAgICAgLy8gNTgyIEkyQzcNCj4gKyAg VUlOVDMyICAgICAgSTJDNzFMZW47ICAgICAgICAgICAgICAgICAgICAvLyA1ODYNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBTY2MgY29udHJvbGxlcnMNCj4gKyAgLy8NCj4gKyAgVUlOVDMyICAgICAg ZU1NQ0FkZHI7ICAgICAgICAgICAgICAgICAgICAvLyA1OTAgRU1NQw0KPiArICBVSU5UMzIgICAg ICBlTU1DTGVuOyAgICAgICAgICAgICAgICAgICAgIC8vIDU5NA0KPiArICBVSU5UMzIgICAgICBl TU1DMUFkZHI7ICAgICAgICAgICAgICAgICAgIC8vIDU5OA0KPiArICBVSU5UMzIgICAgICBlTU1D MUxlbjsgICAgICAgICAgICAgICAgICAgIC8vIDYwMg0KPiArICBVSU5UMzIgICAgICBTRElPQWRk cjsgICAgICAgICAgICAgICAgICAgIC8vIDYwNiBTRElPDQo+ICsgIFVJTlQzMiAgICAgIFNESU9M ZW47ICAgICAgICAgICAgICAgICAgICAgLy8gNjEwDQo+ICsgIFVJTlQzMiAgICAgIFNESU8xQWRk cjsgICAgICAgICAgICAgICAgICAgLy8gNjE0DQo+ICsgIFVJTlQzMiAgICAgIFNESU8xTGVuOyAg ICAgICAgICAgICAgICAgICAgLy8gNjE4DQo+ICsgIFVJTlQzMiAgICAgIFNEQ2FyZEFkZHI7ICAg ICAgICAgICAgICAgICAgLy8gNjIyIFNEQ2FyZA0KPiArICBVSU5UMzIgICAgICBTRENhcmRMZW47 ICAgICAgICAgICAgICAgICAgIC8vIDYyNg0KPiArICBVSU5UMzIgICAgICBTRENhcmQxQWRkcjsg ICAgICAgICAgICAgICAgIC8vIDYzMA0KPiArICBVSU5UMzIgICAgICBTRENhcmQxTGVuOyAgICAg ICAgICAgICAgICAgIC8vIDYzNg0KPiArICBVSU5UMzIgICAgICBNaXBpSHNpQWRkcjsgICAgICAg ICAgICAgICAgIC8vIDY0MCBNSVBJLUhTSQ0KPiArICBVSU5UMzIgICAgICBNaXBpSHNpTGVuOyAg ICAgICAgICAgICAgICAgIC8vIDY0NA0KPiArICBVSU5UMzIgICAgICBNaXBpSHNpMUFkZHI7ICAg ICAgICAgICAgICAgIC8vIDY0OA0KPiArICBVSU5UMzIgICAgICBNaXBpSHNpMUxlbjsgICAgICAg ICAgICAgICAgIC8vIDY1Mg0KPiArDQo+ICsgIFVJTlQ4ICAgICAgIFNkQ2FyZFJlbW92YWJsZTsg ICAgICAgICAgICAgICAgICAgLy8gNjU2IHJlc2VydmUgb2Zmc2V0IHVwdG8gNjU4DQo+ICsgIFVJ TlQ4ICAgICAgIEhpZGVMUFNTRGV2aWNlczsgICAgICAgICAgICAgICAgICAgLy8gNjU3IEhpZGUg dW5zdXBwb3J0ZWQgTFBTUyBkZXZpY2VzDQo+IHdoZW4gaW4gQUNQSSBtb2RlDQo+ICsgIFVJTlQ4 ICAgICAgIFJlc2VydmVkTzsgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNjU4IE9TIFNlbGVj dGlvbg0KPiArICBVSU5UOCAgICAgICBSZXNlcnZlZDAwOyAgICAgICAgICAgICAgICAgICAgICAg IC8vIDY1OQ0KPiArICBVSU5UOCAgICAgICBSZXNlcnZlZDAxOyAgICAgICAgICAgICAgICAgICAg ICAgIC8vIDY2MA0KPiArICBVSU5UOCAgICAgICBSZXNlcnZlZDAyOyAgICAgICAgICAgICAgICAg ICAvLyA2NjENCj4gKyAgVUlOVDggICAgICAgUmVzZXJ2ZWQwMzsgICAgICAgICAgICAgICAgICAg Ly8gNjYyDQo+ICsgIFVJTlQ4ICAgICAgIFJlc2VydmVkMDQ7ICAgICAgICAgICAgICAgICAgIC8v IDY2Mw0KPiArICBVSU5UOCAgICAgICBSZXNlcnZlZDA1OyAgICAgICAgICAgICAgICAgICAvLyA2 NjQNCj4gKyAgVUlOVDggICAgICAgUmVzZXJ2ZWQwNjsgICAgICAgICAgICAgICAgICAgLy8gNjY1 DQo+ICsgIFVJTlQ4ICAgICAgIFJlc2VydmVkMDc7ICAgICAgICAgICAgICAgICAgICAgICAvLyA2 NjYNCj4gKyAgVUlOVDggICAgICAgUmVzZXJ2ZWQwODsgICAgICAgICAgICAgICAgIC8vIDY2Nw0K PiArICBVSU5UOCAgICAgICBSZXNlcnZlZDA5OyAgICAgICAgICAgICAgICAgICAgIC8vIDY2OA0K PiArICBVSU5UOCAgICAgICBSZXNlcnZlZDBBOyAgICAgICAgICAgICAgICAgICAgIC8vIDY2OQ0K PiArICBVSU5UMzIgICAgICBSZXNlcnZlZDBCOyAgICAgICAvLyA2NzANCj4gKyAgVUlOVDMyICAg ICAgUmVzZXJ2ZWQwQzsgICAgICAgIC8vIDY3NA0KPiArICBVSU5UMzIgICAgICBSZXNlcnZlZDBE OyAgIC8vIDY3OA0KPiArICBVSU5UMzIgICAgICBSZXNlcnZlZDBFOyAgICAvLyA2ODINCj4gKyAg VUlOVDMyICAgICAgUmVzZXJ2ZWQwRjsgICAvLyA2ODYNCj4gKyAgVUlOVDMyICAgICAgUmVzZXJ2 ZWQxMDsgICAgLy8gNjkwDQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMTE7ICAgLy8gNjk0DQo+ ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMTI7ICAgIC8vIDY5OA0KPiArICBVSU5UMzIgICAgICBS ZXNlcnZlZDEzOyAgIC8vIDcwMg0KPiArICBVSU5UMzIgICAgICBSZXNlcnZlZDE0OyAgICAvLyA3 MDYNCj4gKyAgVUlOVDMyICAgICAgUmVzZXJ2ZWQxNTsgICAvLyA3MTANCj4gKyAgVUlOVDMyICAg ICAgUmVzZXJ2ZWQxNjsgICAgLy8gNzE0DQo+ICsgIFVJTlQ4ICAgICAgIFJlc2VydmVkMTc7DQo+ ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMTg7DQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMTk7 DQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMUE7DQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVk MUI7DQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMUM7DQo+ICsgIFVJTlQ4ICAgICAgIFJlc2Vy dmVkMUQ7DQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMUU7DQo+ICsgIFVJTlQzMiAgICAgIFJl c2VydmVkMUY7DQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMjA7DQo+ICsgIFVJTlQzMiAgICAg IFJlc2VydmVkMjE7DQo+ICsgIFVJTlQzMiAgICAgIFJlc2VydmVkMjI7DQo+ICsgIFVJTlQ4ICAg ICAgIFJlc2VydmVkMjM7DQo+ICsgIFVJTlQ4ICAgICAgIEJhdHRlcnlDaGFyZ2luZ1NvbHV0aW9u OyAgICAgICAgICAgLy8gNzYxIDAtbm9uIFVMUE1DIDEtVUxQTUMNCj4gKw0KPiArICAvLw0KPiAr ICAvLzEwMSBieXRlcw0KPiArICAvLw0KPiArICBVSU5UOCAgICAgICBORkNuU2VsZWN0OyAgICAg ICAgICAgICAgICAgICAgICAgIC8vIDc2MiBORkN4IFNlbGVjdCAxOiBORkMxICAgIDI6TkZDMg0K PiArICBVSU5UOCAgICAgICBMcHNzU2NjTW9kZTsgICAgICAgICAgICAgICAgICAgICAgIC8vIDc2 MyBFTU1DIGRldmljZSAwLUFDUEkgbW9kZSwgMS0NCj4gUENJIG1vZGUNCj4gKw0KPiArICBVSU5U MzIgICAgICBUUE1BZGRyZXNzOyAgICAgICAgICAgICAgICAgICAgICAgIC8vIDc2NA0KPiArICBV SU5UMzIgICAgICBUUE1MZW5ndGg7ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDc2OA0KPiAr DQo+ICsgIFVJTlQ4ICAgICAgIEkyQ1RvdWNoQWRkcmVzczsgICAgICAgICAgICAgICAgICAgLy8g NzcyIEkyQyB0b3VjaCBhZGRyZXNzLCAweDRCOlJWUA0KPiAweDRBOkZGUkQNCj4gKyAgVUlOVDgg ICAgICAgSWRsZVJlc2VydmU7ICAgICAgICAgICAgICAgICAgICAgICAvLyA3NzMgIDAgLSBkaXNh YmxlZCAxIC0gZW5hYmxlZA0KPiArICBVSU5UOCAgICAgICBTRElPTW9kZTsgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIDc3NCAgMyAtIERlZmF1bHQgIDIgLSBERFI1MA0KPiArICBVSU5UOCAg ICAgICBlbW1jVmVyc2lvbjsgICAgICAgICAgICAgICAgICAgICAgIC8vIDc3NSAgMCAtIDQuNDEg MSAtIDQuNQ0KPiArICBVSU5UMzIgICAgICBCbUJvdW5kOyAgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIDc3NiBCTSBCb3VuZA0KPiArICBVSU5UOCAgICAgICBGc2FTdGF0dXM7ICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIDc4MCAwIC0gRnNhIGlzIG9mZiwgMS0gRnNhIGlzIG9uDQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gQm9hcmQgSWQNCj4gKyAgLy8gVGhpcyBmaWVsZCBpcyBmb3IgdGhl IEFTTCBjb2RlIHRvIGtub3cgd2hldGhlciB0aGlzIGJvYXJkIGlzIEJheWxha2Ugb3INCj4gQmF5 bGV5IEJheSBldGMNCj4gKyAgLy8NCj4gKyAgVUlOVDggICAgICAgQm9hcmRJRDsgICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyAgNzgxDQo+ICsgIFVJTlQ4ICAgICAgIEZhYklEOyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gNzgyDQo+ICsgIFVJTlQ4ICAgICAgIE90Z01vZGU7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gNzgzIDAtIE9URyBkaXNhYmxlIDEtIE9URyBQQ0kg bW9kZQ0KPiArICBVSU5UOCAgICAgICBTdGVwcGluZzsgICAgICAgICAgICAgICAgICAgICAgICAg IC8vICA3ODQgU3RlcHBpbmcNCj4gKyAgVUlOVDggICAgICAgV2l0dEVuYWJsZTsgICAgICAgICAg ICAgICAgICAgICAgICAvLyA3ODUgV0lUVCBlYW5ibGUgMCAtIGRpc2FibGUgMSAtIGVuYWJsZQ0K PiArDQo+ICsgIFVJTlQ4ICAgICAgIFNvY1N0ZXBwaW5nOyAgICAgICAgICAgICAgICAgICAgICAg Ly8gNzg2IFNvYyBTdGVwcGluZyBpbmZvbWF0aW9uDQo+ICsgIFVJTlQ4ICAgICAgIEFtYmllbnRU cmlwUG9pbnRDaGFuZ2U7ICAgICAgICAgICAgLy8gNzg3IERQVEY6IENvbnRyb2xzIHdoZXRoZXIN Cj4gX0FUSSBjaGFuZ2VzIG90aGVyIHBhcnRpY2lwYW50J3MgdHJpcCBwb2ludChlbmFibGVkL2Rp c2FibGVkKQ0KPiArICBVSU5UOCAgICAgICBVdHNFbmFibGU7ICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIDc4OCBVYXJ0IFRlc3QgZWFuYmxlIDAgLSBkaXNhYmxlIDEgLQ0KPiBlbmFibGUNCj4g KyAgVUlOVDggICAgIERwdGZSZXNlcnZlOyAgICAgICAvLyA3ODkNCj4gKw0KPiArICBVSU5UOCAg ICAgICBTYXJFbmFibGU7ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyA3OTANCj4gKyAgVUlO VDggICAgICAgUHNzRGV2ZWljZTsgICAgICAgICAgICAgICAgICAgICAgICAvLyA3OTEgUFNTIERl dmVpY2U6IDAgLSBOb25lLCAxIC0gTW9uemF4DQo+IDJLLCAyIC0gTW9uemF4IDhLDQo+ICsgIFVJ TlQ4ICAgICAgIEVEUFY7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gNzkyIENoZWNr IGZvciBlRFAgZGlzcGxheSBkZXZpY2UNCj4gKyAgVUlOVDMyICAgICAgRElEWDsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyA3OTMgRGV2aWNlIElEIGZvciBlRFAgZGV2aWNlDQo+ICsg IFVJTlQ4ICAgICAgIE1pY3Jvc29mdElvVDsgICAgICAgICAgICAgICAgICAgICAgLy8gKDc5NClK UDEgcGlucyBhcmUgZm9yIE1pY3Jvc29mdCBJb1QNCj4gcHJvamVjdC4NCj4gKyAgVUlOVDggICAg ICAgUnRjQmF0dGVyeTsgICAgICAgICAgICAgICAgICAgICAgICAvLyAoNzk1KSBUaGUgRmxhZyBv ZiBSVEMgQmF0dGVyeSBQcmVzZW50Lg0KPiArICBVSU5UOCAgICAgICBMcGVBdWRpb1JlcG9ydGVk QnlEU0RUOyAgICAgICAgICAgIC8vICg3OTYpDQo+ICt9IEVGSV9HTE9CQUxfTlZTX0FSRUE7DQo+ ICsjcHJhZ21hIHBhY2sgKCkNCj4gKw0KPiArLy8NCj4gKy8vIEdsb2JhbCBOVlMgQXJlYSBQcm90 b2NvbA0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9FRklfR0xPQkFMX05WU19BUkVBX1BST1RP Q09MIHsNCj4gKyAgRUZJX0dMT0JBTF9OVlNfQVJFQSAgICAgKkFyZWE7DQo+ICt9IEVGSV9HTE9C QUxfTlZTX0FSRUFfUFJPVE9DT0w7DQo+ICsNCj4gKyNlbmRpZg0KPiArDQo+IGRpZmYgLS1naXQN Cj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL0h3 V2F0Y2hkb2dUaW1lci5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5j bHVkZS9Qcm90b2NvbC9Id1dhdGNoZG9nVGltZXIuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi43MWZlNjI3NWVlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9Id1dh dGNoZG9nVGltZXIuaA0KPiBAQCAtMCwwICsxLDIzNSBAQA0KPiArLyorKw0KPiArDQo+ICsgIENv cHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBId1dhdGNoZG9nVGltZXIuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiAr DQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX19FRklfV0FUQ0hET0dfVElNRVJfRFJJVkVSX1BS T1RPQ09MX0hfXw0KPiArI2RlZmluZSBfX0VGSV9XQVRDSERPR19USU1FUl9EUklWRVJfUFJPVE9D T0xfSF9fDQo+ICsNCj4gKyNkZWZpbmUgRUZJX1dBVENIRE9HX1RJTUVSX0RSSVZFUl9QUk9UT0NP TF9HVUlEIFwNCj4gKyAgeyAweGQ1YjA2ZDE2LCAweDJlYTEsIDB4NGRlZiwgMHg5OCwgMHhkMCwg MHhhMCwgMHg1ZCwgMHg0MCwgMHg3MiwgMHg4NCwNCj4gMHgxNyB9DQo+ICsNCj4gKyNkZWZpbmUg RUZJX1dBVENIRE9HX1RJTUVSX05PVF9TVVBQT1JURURfUFJPVE9DT0xfR1VJRCBcDQo+ICsgIHsg MHhlOWUxNTZhYywgMHgzMjAzLCAweDQ1NzIsIDB4YWMsIDB4ZGYsIDB4ODQsIDB4NGYsIDB4ZGMs IDB4ZGIsIDB4NiwgMHhiZiB9DQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgPEd1aWQvSHdXYXRjaGRv Z1RpbWVySG9iLmg+DQo+ICsNCj4gKy8vDQo+ICsvLyBHZW5lcmFsIFB1cnBvc2UgQ29uc3RhbnRz DQo+ICsvLw0KPiArI2RlZmluZSBJQ0hfSU5TVEFGTFVTSF9HUElPICAgICAgQklUMTYgLy8gQklU IDE2IGluIEdQSU8gTGV2ZWwgMiBpcyBHUElPIDQ4Lg0KPiArI2RlZmluZSBCX0lOU1RBRkxVU0gg ICAgICAgICAgICAgQklUNA0KPiArDQo+ICsvLw0KPiArLy8gT3RoZXIgV2F0Y2hkb2cgdGltZXIg dmFsdWVzDQo+ICsvLw0KPiArI2RlZmluZSBXRFRfQ09VTlRET1dOX1ZBTFVFICAgICAgICAgICAg ICAgICAweDE0DQo+ICsjZGVmaW5lIEJEU19XRFRfQ09VTlRET1dOX1ZBTFVFICAgICAgICAgICAg IDB4MzUNCj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlwZXMgZm9yIHRoZSBXYXRjaGRvZyBUaW1l ciBEcml2ZXIgUHJvdG9jb2wNCj4gKy8vDQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIHNlcnZpY2Ug YmVnaW5zIHRoZSBXYXRjaGRvZyBUaW1lciBjb3VudGRvd24uICBJZiB0aGUgY291bnRkb3duDQo+ IGNvbXBsZXRlcyBwcmlvciB0bw0KPiArICBTdG9wIFRpbWVyIG9yIFJlc3RhcnQgVGltZXIgdGhl IHN5c3RlbSB3aWxsIHJlc2V0Lg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1 bGx5DQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgIFRoZSBjb21tYW5kIHdhcyB1bnN1 Y2Nlc3NmdWwNCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJ QVBJICpFRklfV0FUQ0hET0dfU1RBUlRfVElNRVIpICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiAr DQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIHJlc2V0cyB0aGUgV2F0Y2hkb2cgVGltZXIgY291 bnRkb3duIGFuZCBzaG91bGQgb25seSBiZQ0KPiBjYWxsZWQgYWZ0ZXIgdGhlDQo+ICsgIFN0YXJ0 IFRpbWVyIGZ1bmN0aW9uLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsgIEBy ZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5 DQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nl c3NmdWwNCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJ ICpQRUlfV0FUQ0hET0dfUkVTRVRfVElNRVIpICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIHJlc3RhcnRzIHRoZSBXYXRjaGRvZyBUaW1lciBjb3Vu dGRvd24gYW5kIHNob3VsZCBvbmx5IGJlDQo+IGNhbGxlZCBhZnRlciB0aGUNCj4gKyAgU3RhcnQg VGltZXIgZnVuY3Rpb24uDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBOb25lDQo+ICsNCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkN Cj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgVGhlIGNvbW1hbmQgd2FzIHVuc3VjY2Vz c2Z1bA0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkg KkVGSV9XQVRDSERPR19SRVNUQVJUX1RJTUVSKSAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0K PiArLyoqDQo+ICsgIFRoaXMgc2VydmljZSBkaXNhYmxlcyB0aGUgV2F0Y2hkb2cgVGltZXIgY291 bnRkb3duLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5DQo+ICsgIEBy ZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4g Kw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfV0FU Q0hET0dfU1RPUF9USU1FUikgKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiAr DQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9XQVRD SERPR19DSEVDS19USU1FT1VUKSAoDQo+ICsgIE9VVCBIV19XQVRDSERPR19USU1FT1VUICAgICAg ICpXYXRjaGRvZ1RpbWVvdXQNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBU aGlzIHNlcnZpY2UgZm9yY2VzIGEgcmVib290IG9mIHRoZSBzeXN0ZW0gZHVlIHRvIGEgcmVzZXQg b2YgdGhlDQo+IFBPV0VSR09PRF9QUywNCj4gKyAgUE9XRVJHT09EX0NMSywgYW5kIHRoZSBCU0VM IE92ZXJyaWRlDQo+ICsNCj4gKyAgQXJndW1lbnRzOg0KPiArICAgIE5vbmUNCj4gKw0KPiArICBS ZXR1cm5zOg0KPiArICAgIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCByZXR1cm4hDQo+ICsNCj4g KyAgICBFRklfREVWSUNFX0VSUk9SICAtIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwgYW5k IGEgcmVib290IGRpZA0KPiBub3Qgb2NjdXINCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtF RklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfV0FUQ0hET0dfRk9SQ0VfUkVCT09UKSAoDQo+ICsg IElOIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgIEZvcmNlVGltZW91dCwNCj4gKyAgSU4gVUlO VDggICAgICAgICAgICAgICAgICAgICAgUmVzZXRUeXBlDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0K PiArICBUaGlzIHNlcnZpY2Ugbm90aWZpZXMgdGhlIFdhdGNoZG9nIFRpbWVyIG9mIHRoZSBmYWN0 IHRoYXQgYSBrbm93biByZXNldCBpcw0KPiBvY2N1cmluZy4NCj4gKw0KPiArICBAcGFyYW1baW5d IEFsbG93UmVzZXQgIFRSVUUgaWYgYSBSZXNldCBpcyBjdXJyZW50bHkgZXhwZWN0ZWQNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSBpZiBhIFJlc2V0IGlzIG5vdCBjdXJyZW50bHkg ZXhwZWN0ZWQNCj4gKw0KPiArICAgIFRoaXMgZnVuY3Rpb24gc2hvdWxkIG5vdCByZXR1cm4hDQo+ ICsNCj4gKyAgICBFRklfREVWSUNFX0VSUk9SICAtIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3Nm dWwgYW5kIGEgcmVib290IGRpZA0KPiBub3Qgb2NjdXINCj4gKw0KPiArKiovDQo+ICt0eXBlZGVm DQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfV0FUQ0hET0dfS05PV05fUkVTRVQpICgN Cj4gKyAgSU4gQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgQWxsb3dSZXNldA0KPiArICApOw0K PiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIHJlYWRzIHRoZSBjdXJyZW50IFdhdGNoZG9n IFRpbWVyIGNvdW50ZG93biByZWxvYWQgdmFsdWUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBDb3Vu dGRvd25WYWx1ZSAgICAgIHBvaW50ZXIgdG8gVUlOVDMyIHRvIHJldHVybiB0aGUgdmFsdWUgb2YN Cj4gdGhlIHJlbG9hZCByZWdpc3Rlci4NCj4gKw0KPiArICBAcmV0dmFsICAgIEVGSV9TVUNDRVNT ICAgICAgICAgT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAgQHJldHZhbCAg ICBFRklfREVWSUNFX0VSUk9SICAgIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4gKw0K PiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfR0VUX1RJ TUVSX0NPVU5UX0RPV05fUEVSSU9EKSgNCj4gKyAgT1VUIFVJTlQzMiAgICAgICpDb3VudGRvd25W YWx1ZQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIHJlYWRzIHRoZSBj dXJyZW50IFdhdGNoZG9nIFRpbWVyIGNvdW50ZG93biByZWxvYWQgdmFsdWUuDQo+ICsNCj4gKyAg QHBhcmFtW2luXSBDb3VudGRvd25WYWx1ZSAgVmFsdWUgdG8gc2V0IHRoZSByZWxvYWQgcmVnaXN0 ZXIuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgT3BlcmF0aW9uIGNvbXBs ZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgVGhlIGNv bW1hbmQgd2FzIHVuc3VjY2Vzc2Z1bA0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9T VEFUVVMNCj4gKyhFRklBUEkgKkVGSV9TRVRfVElNRVJfQ09VTlRfRE9XTl9QRVJJT0QpKA0KPiAr ICBPVVQgVUlOVDMyICAgICAgQ291bnRkb3duVmFsdWUNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ ICsgIFRoaXMgc2VydmljZSBjbGVhcnMgdGhlIHN0YXRlIHRoYXQgaW5kaWNhdGVzIHRoZSBXYXRj aGRvZyBUaW1lciBmaXJlZC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgIC0g T3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAgQHJldHZhbCBFRklfREVWSUNF X0VSUk9SICAtIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4gKw0KPiArKiovDQo+ICt0 eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpQRUlfV0FUQ0hET0dfQ0xFQVJfVElN RVJfU1RBVEUpICgNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgc2VydmljZSBkaXNh YmxlcyB0aGUgV2F0Y2hkb2cgVGltZXIgY291bnRkb3duLiAgSXQgYWxzbyBjbG9zZXMgdGhlDQo+ IHJlY3VycmluZyByZXN0YXJ0IGV2ZW50DQo+ICsgIGlmIHRoZSBldmVudCBleGlzdHMuDQo+ICsN Cj4gKyAgQHBhcmFtW2luXSBTdGFsbCAgVFJVRSA9IFN0b3AgdGhlIHRpbWVyIGNvdW50ZG93bg0K PiArICAgICAgICAgICAgICAgICAgICBGQUxTRSA9IFN0YXJ0IHRoZSB0aW1lciBjb3VudGRvd24N Cj4gKw0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAgICAgT3BlcmF0aW9uIGNvbXBsZXRl ZCBzdWNjZXNzZnVsbHkNCj4gKyAgQHJldHZhbCAgRUZJX0RFVklDRV9FUlJPUiAgIFRoZSBjb21t YW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RB VFVTDQo+ICsoRUZJQVBJICpFRklfU1RBTExfV0FUQ0hET0dfQ09VTlRET1dOKSAoDQo+ICsgIElO IEJPT0xFQU4gU3RhbGwNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfRUZJ X1dBVENIRE9HX1RJTUVSX0RSSVZFUl9QUk9UT0NPTCB7DQo+ICsgIEVGSV9XQVRDSERPR19TVEFS VF9USU1FUiAgICAgICAgICAgICAgICAgICAgICBTdGFydFdhdGNoZG9nVGltZXI7DQo+ICsgIFBF SV9XQVRDSERPR19SRVNFVF9USU1FUiAgICAgICAgICAgICAgICAgICAgICBSZXNldFdhdGNoZG9n VGltZW91dDsNCj4gKyAgRUZJX1dBVENIRE9HX1JFU1RBUlRfVElNRVIgICAgICAgICAgICAgICAg ICAgIFJlc3RhcnRXYXRjaGRvZ1RpbWVyOw0KPiArICBFRklfV0FUQ0hET0dfU1RPUF9USU1FUiAg ICAgICAgICAgICAgICAgICAgICAgU3RvcFdhdGNoZG9nVGltZXI7DQo+ICsgIEVGSV9XQVRDSERP R19DSEVDS19USU1FT1VUICAgICAgICAgICAgICAgICAgICBDaGVja1dhdGNoZG9nVGltZW91dDsN Cj4gKyAgRUZJX1dBVENIRE9HX0ZPUkNFX1JFQk9PVCAgICAgICAgICAgICAgICAgICAgIEZvcmNl UmVib290Ow0KPiArICBFRklfV0FUQ0hET0dfS05PV05fUkVTRVQgICAgICAgICAgICAgICAgICAg ICAgQWxsb3dLbm93blJlc2V0Ow0KPiArICBFRklfR0VUX1RJTUVSX0NPVU5UX0RPV05fUEVSSU9E ICAgICAgICAgICAgICAgR2V0Q291bnRkb3duUGVyaW9kOw0KPiArICBFRklfU0VUX1RJTUVSX0NP VU5UX0RPV05fUEVSSU9EICAgICAgICAgICAgICAgU2V0Q291bnRkb3duUGVyaW9kOw0KPiArICBQ RUlfV0FUQ0hET0dfQ0xFQVJfVElNRVJfU1RBVEUgICAgICAgICAgICAgICAgQ2xlYXJUaW1lclN0 YXRlOw0KPiArICBFRklfU1RBTExfV0FUQ0hET0dfQ09VTlRET1dOICAgICAgICAgICAgICAgICAg U3RhbGxXYXRjaGRvZ0NvdW50ZG93bjsNCj4gK30gRUZJX1dBVENIRE9HX1RJTUVSX0RSSVZFUl9Q Uk9UT0NPTDsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlXYXRjaGRvZ1RpbWVyRHJpdmVy UHJvdG9jb2xHdWlkOw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlXYXRjaGRvZ1RpbWVyTm90U3Vw cG9ydGVkUHJvdG9jb2xHdWlkOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvSTJjQWNwaS5oDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9JMmNB Y3BpLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOWVjNWUx NDczYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvSTJjQWNwaS5oDQo+IEBAIC0wLDAgKzEsMTA3IEBADQo+ ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fSTJDX0FDUElfSF9fDQo+ICsjZGVmaW5lIF9f STJDX0FDUElfSF9fDQo+ICsNCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EZXZpY2VQYXRoLmg+DQo+ ICsNCj4gKy8vDQo+ICsvLyBJMkMgQUNQSSBwcm90b2NvbA0KPiArLy8NCj4gK3R5cGVkZWYgc3Ry dWN0IF9FRklfSTJDX0FDUElfUFJPVE9DT0wgICBFRklfSTJDX0FDUElfUFJPVE9DT0w7DQo+ICsN Cj4gKy8vDQo+ICsvLyBJMkMgZGV2aWNlIGRlc2NyaXB0aW9uDQo+ICsvLw0KPiArLy8gVGhpcyBz dHJ1Y3R1cmUgcHJvdmlkZXMgdGhlIHBsYXRmb3JtIHNwZWNpZmljIGluZm9ybWF0aW9uIHdoaWNo DQo+ICsvLyBkZXNjcmliZXMgYW4gSTJDIGRldmljZS4NCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIC8vDQo+ICsgIC8vIEhhcmR3YXJlIHJldmlzaW9uIC0gQUNQSSBfSFJWIHZhbHVl DQo+ICsgIC8vDQo+ICsgIFVJTlQzMiBIYXJkd2FyZVJldmlzaW9uOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIERldmljZSBwYXRoIG5vZGUgZm9yIHRoZSBJMkMgZGV2aWNlLg0KPiArICAvLw0KPiAr ICBDT05TVCBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgKkRldmljZVBhdGg7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gSTJDIGJ1cyBjb25maWd1cmF0aW9uIGZvciB0aGUgSTJDIGRldmljZS4NCj4g KyAgLy8NCj4gKyAgVUlOVDMyIEkyY0J1c0NvbmZpZ3VyYXRpb247DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gTnVtYmVyIG9mIHNsYXZlIGFkZHJlc3NlcyBmb3IgdGhlIEkyQyBkZXZpY2UuDQo+ICsg IC8vDQo+ICsgIFVJTlQzMiBTbGF2ZUFkZHJlc3NDb3VudDsNCj4gKw0KPiArICAvLw0KPiArICAv LyBBZGRyZXNzIG9mIHRoZSBhcnJheSBvZiBzbGF2ZSBhZGRyZXNzZXMgZm9yIHRoZSBJMkMgZGV2 aWNlLg0KPiArICAvLw0KPiArICBDT05TVCBVSU5UMzIgKlNsYXZlQWRkcmVzc0FycmF5Ow0KPiAr fUVGSV9JMkNfREVWSUNFOw0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBFbnVtZXJhdGUgdGhlIEky QyBkZXZpY2VzDQo+ICsNCj4gKyAgVGhpcyByb3V0aW5lIG11c3QgYmUgY2FsbGVkIGF0IG9yIGJl bG93IFRQTF9OT1RJRlkuDQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiB3YWxrcyB0aGUgcGxhdGZv cm0gc3BlY2lmaWMgZGF0YSB0byBlbnVtZXJhdGVzIHRoZQ0KPiArICBJMkMgZGV2aWNlcyBvbiBh biBJMkMgYnVzLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAgIEFkZHJl c3Mgb2YgYW4gRUZJX0kyQ19FTlVNX1BST1RPQ09MDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHN0cnVjdHVyZS4NCj4gKyAgQHBhcmFtW2luLCBvdXRdIERldmljZSAgICAgICAg QnVmZmVyIGNvbnRhaW5pbmcgdGhlIGFkZHJlc3Mgb2YgYW4NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgRUZJX0kyQ19ERVZJQ0Ugc3RydWN0dXJlLiAgRW51bWVyYXRpb24NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgc3RhcnRlZCBieSBzZXR0aW5nIHRo ZSBpbml0aWFsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9JMkNfREVW SUNFIHN0cnVjdHVyZSBhZGRyZXNzIHRvIE5VTEwuDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRoZSBidWZmZXIgcmVjZWl2ZXMgYW4gRUZJX0kyQ19ERVZJQ0UNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlIGFkZHJlc3MgZm9yIHRoZSBuZXh0 IEkyQyBkZXZpY2UuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhl IHBsYXRmb3JtIGRhdGEgZm9yIHRoZSBuZXh0IGRldmljZQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBvbiB0aGUgSTJDIGJ1cyB3YXMgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5Lg0K PiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBOZXh0RGV2aWNlIHdhcyBOVUxMDQo+ ICsgIEByZXR2YWwgRUZJX05PX01BUFBJTkcgICAgICAgIFByZXZpb3VzRGV2aWNlIGRvZXMgbm90 IHBvaW50IHRvIGEgdmFsaWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJ X0kyQ19ERVZJQ0Ugc3RydWN0dXJlLg0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9T VEFUVVMNCj4gKyhFRklBUEkgKkVGSV9JMkNfQUNQSV9FTlVNRVJBVEUpICgNCj4gKyAgSU4gQ09O U1QgRUZJX0kyQ19BQ1BJX1BST1RPQ09MICpUaGlzLA0KPiArICBJTiBPVVQgQ09OU1QgRUZJX0ky Q19ERVZJQ0UgKipEZXZpY2UNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIEkyQyBkZXZpY2Ug ZGVzY3JpcHRpb24NCj4gKy8vDQo+ICsvLyBUaGlzIHN0cnVjdHVyZSBwcm92aWRlcyB0aGUgcGxh dGZvcm0gc3BlY2lmaWMgaW5mb3JtYXRpb24gd2hpY2gNCj4gKy8vIGRlc2NyaWJlcyBhbiBJMkMg ZGV2aWNlLg0KPiArLy8NCj4gK3N0cnVjdCBfRUZJX0kyQ19BQ1BJX1BST1RPQ09MIHsNCj4gKyAg Ly8NCj4gKyAgLy8gV2FsayB0aGUgcGxhdGZvcm0ncyBsaXN0IG9mIEkyQyBkZXZpY2VzIG9uIHRo ZSBidXMuICBUaGlzDQo+ICsgIC8vIHJvdXRpbmUgcmV0dXJucyB0aGUgbmV4dCBJMkMgZGV2aWNl IGluIHRoZSBwbGF0Zm9ybSdzIGxpc3QNCj4gKyAgLy8gZm9yIHRoaXMgSTJDIGJ1cy4NCj4gKyAg Ly8NCj4gKyAgRUZJX0kyQ19BQ1BJX0VOVU1FUkFURSBFbnVtZXJhdGU7DQo+ICt9Ow0KPiArDQo+ ICsvLw0KPiArLy8gVmFyaWFibGUgY29udGFpbmluZyB0aGUgR1VJRCBmb3IgdGhlIEkyQyBkZXZp Y2UgZW51bWVyYXRpb24gcHJvdG9jb2wNCj4gKy8vDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaUky Y0FjcGlQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZiAgLy8gIF9fSTJDX0FDUElfSF9fDQo+ IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1By b3RvY29sL0kyY0J1cy5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5j bHVkZS9Qcm90b2NvbC9JMmNCdXMuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi5iMzIxYTAyNmIyDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9JMmNCdXMuaA0KPiBAQCAt MCwwICsxLDE2NCBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4g DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsN Cj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX19JMkNfQlVTX0hfXw0KPiAr I2RlZmluZSBfX0kyQ19CVVNfSF9fDQo+ICsNCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9JMmNIb3N0 TWNnLmg+DQo+ICsNCj4gKy8vDQo+ICsvLyBJMkMgYnVzIHByb3RvY29sDQo+ICsvLw0KPiArdHlw ZWRlZiBzdHJ1Y3QgX0VGSV9JMkNfQlVTX1BST1RPQ09MICBFRklfSTJDX0JVU19QUk9UT0NPTDsN Cj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUGVyZm9ybSBhbiBJMkMgb3BlcmF0aW9uIG9uIHRoZSBk ZXZpY2UNCj4gKw0KPiArICBUaGlzIHJvdXRpbmUgbXVzdCBiZSBjYWxsZWQgYXQgb3IgYmVsb3cg VFBMX05PVElGWS4gIEZvciBzeW5jaHJvbm91cw0KPiArICByZXF1ZXN0cyB0aGlzIHJvdXRpbmUg bXVzdCBiZSBjYWxsZWQgYXQgb3IgYmVsb3cgVFBMX0NBTExCQUNLLg0KPiArDQo+ICsgIE4uQi4g VGhlIHR5cGljYWwgY29uc3VtZXJzIG9mIHRoaXMgQVBJIGFyZSB0aGUgdGhpcmQgcGFydHkgSTJD DQo+ICsgIGRyaXZlcnMuICBFeHRyZW1lIGNhcmUgbXVzdCBiZSB0YWtlbiBieSBvdGhlciBjb25z dW1lcnMgb2YgdGhpcw0KPiArICBBUEkgdG8gcHJldmVudCBjb25mdXNpbmcgdGhlIHRoaXJkIHBh cnR5IEkyQyBkcml2ZXJzIGR1ZSB0byBhDQo+ICsgIHN0YXRlIGNoYW5nZSBhdCB0aGUgSTJDIGRl dmljZSB3aGljaCB0aGUgdGhpcmQgcGFydHkgSTJDIGRyaXZlcnMNCj4gKyAgZGlkIG5vdCBpbml0 aWF0ZS4gIEkyQyBwbGF0Zm9ybSBkcml2ZXJzIG1heSB1c2UgdGhpcyBBUEkgd2l0aGluDQo+ICsg IHRoZXNlIGd1aWRlbGluZXMuDQo+ICsNCj4gKyAgVGhpcyByb3V0aW5lIHF1ZXVlcyBhbiBvcGVy YXRpb24gdG8gdGhlIEkyQyBjb250cm9sbGVyIGZvciBleGVjdXRpb24NCj4gKyAgb24gdGhlIEky QyBidXMuDQo+ICsNCj4gKyAgQXMgYW4gdXBwZXIgbGF5ZXIgZHJpdmVyIHdyaXRlciwgdGhlIGZv bGxvd2luZyBuZWVkIHRvIGJlIHByb3ZpZGVkDQo+ICsgIHRvIHRoZSBwbGF0Zm9ybSB2ZW5kb3I6 DQo+ICsNCj4gKyAgMS4gIEFDUEkgQ0lEIHZhbHVlIG9yIHN0cmluZyAtIHRoaXMgaXMgdXNlZCB0 byBjb25uZWN0IHRoZSB1cHBlciBsYXllcg0KPiArICAgICAgZHJpdmVyIHRvIHRoZSBkZXZpY2Uu DQo+ICsgIDIuICBTbGF2ZSBhZGRyZXNzIGFycmF5IGd1aWRhbmNlIHdoZW4gdGhlIEkyQyBkZXZp Y2UgdXNlcyBtb3JlIHRoYW4gb25lDQo+ICsgICAgICBzbGF2ZSBhZGRyZXNzLiAgVGhpcyBpcyB1 c2VkIHRvIGFjY2VzcyB0aGUgYmxvY2tzIG9mIGhhcmR3YXJlIHdpdGhpbg0KPiArICAgICAgdGhl IEkyQyBkZXZpY2UuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBUaGlzICAgICAgICAgICAgICAgQWRk cmVzcyBvZiBhbiBFRklfSTJDX0JVU19QUk9UT0NPTA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3R1cmUNCj4gKyAgQHBhcmFtW2luXSBTbGF2ZUFkZHJlc3NJbmRleCAg SW5kZXggaW50byBhbiBhcnJheSBvZiBzbGF2ZSBhZGRyZXNzZXMgZm9yDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRoZSBJMkMgZGV2aWNlLiAgVGhlIHZhbHVlcyBpbiB0aGUg YXJyYXkgYXJlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCBi eSB0aGUgYm9hcmQgZGVzaWduZXIsIHdpdGggdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEkyQyBkZXZpY2UgZHJpdmVyIHdyaXRlciBwcm92aWRpbmcgdGhlIHNsYXZlDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Mgb3JkZXIuDQo+ICsNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGRldmljZXMgdGhhdCBoYXZlIGEg c2luZ2xlIHNsYXZlIGFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHRoaXMgdmFsdWUgbXVzdCBiZSB6ZXJvLiAgSWYgdGhlIEkyQyBkZXZpY2UNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgdXNlcyBtb3JlIHRoYW4gb25lIHNsYXZlIGFkZHJlc3Mg dGhlbiB0aGUgdGhpcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFydHkg KHVwcGVyIGxldmVsKSBJMkMgZHJpdmVyIHdyaXRlciBuZWVkcyB0bw0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBvcmRlciBvZiBlbnRyaWVzIGluIHRoZSBz bGF2ZSBhZGRyZXNzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFycmF5Lg0K PiArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyZWYgVGhpcmRQYXJ0eUky Y0RyaXZlcnMgIlRoaXJkIFBhcnR5IEkyQyBEcml2ZXJzIg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBzZWN0aW9uIGluIEkyY01hc3Rlci5oLg0KPiArICBAcGFyYW1baW5dIEV2 ZW50ICAgICAgICAgICAgICBFdmVudCB0byBzZXQgZm9yIGFzeW5jaHJvbm91cyBvcGVyYXRpb25z LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMIGZvciBzeW5jaHJvbm91 cyBvcGVyYXRpb25zDQo+ICsgIEBwYXJhbVtpbl0gUmVxdWVzdFBhY2tldCAgICAgIEFkZHJlc3Mg b2YgYW4gRUZJX0kyQ19SRVFVRVNUX1BBQ0tFVA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzdHJ1Y3R1cmUgZGVzY3JpYmluZyB0aGUgSTJDIG9wZXJhdGlvbg0KPiArICBAcGFy YW1bb3V0XSBJMmNTdGF0dXMgICAgICAgICBPcHRpb25hbCBidWZmZXIgdG8gcmVjZWl2ZSB0aGUg STJDIG9wZXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0 aW9uIHN0YXR1cw0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBv cGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBFRklfQUJPUlRF RCAgICAgICAgICAgVGhlIHJlcXVlc3QgZGlkIG5vdCBjb21wbGV0ZSBiZWNhdXNlIHRoZQ0KPiBk cml2ZXINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FzIHNodXRkb3duLg0K PiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICAgICBJbnZhbGlkIFNsYXZlQWRkcmVzc0lu ZGV4IHZhbHVlDQo+ICsgIEByZXR2YWwgRUZJX0JBRF9CVUZGRVJfU0laRSAgIFRoZSBXcml0ZUJ5 dGVzIG9yIFJlYWRCeXRlcyBidWZmZXIgc2l6ZQ0KPiBpcyB0b28gbGFyZ2UuDQo+ICsgIEByZXR2 YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZXJlIHdhcyBhbiBJMkMgZXJyb3IgKE5BQ0spIGR1 cmluZyB0aGUNCj4gb3BlcmF0aW9uLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUaGlzIGNvdWxkIGluZGljYXRlIHRoZSBzbGF2ZSBkZXZpY2UgaXMgbm90IHByZXNlbnQuDQo+ ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFJlcXVlc3RQYWNrZXQgaXMgTlVMTA0K PiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBUUEwgaXMgdG9vIGhpZ2gNCj4gKyAg QHJldHZhbCBFRklfTk9fUkVTUE9OU0UgICAgICAgVGhlIEkyQyBkZXZpY2UgaXMgbm90IHJlc3Bv bmRpbmcgdG8gdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlIGFk ZHJlc3MuICBFRklfREVWSUNFX0VSUk9SIG1heSBhbHNvIGJlDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHJldHVybmVkIGlmIHRoZSBjb250cm9sbGVyIGNhbiBub3QgZGlzdGlu Z3Vpc2gNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiB0aGUgTkFDSyBv Y2N1cnJlZC4NCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgSTJDIHNsYXZlIGFk ZHJlc3MgZXhjZWVkcyBtYXhpbXVtDQo+IGFkZHJlc3MNCj4gKyAgQHJldHZhbCBFRklfTk9UX1JF QURZICAgICAgICAgSTJDIGJ1cyBpcyBidXN5IG9yIG9wZXJhdGlvbiBwZW5kaW5nLCB3YWl0IGZv cg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZXZlbnQgYW5kIHRoZW4g cmVhZCBzdGF0dXMgcG9pbnRlZCB0byBieQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0aGUgcmVxdWVzdCBwYWNrZXQuDQo+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJD RVMgIEluc3VmZmljaWVudCBtZW1vcnkgZm9yIEkyQyBvcGVyYXRpb24NCj4gKyAgQHJldHZhbCBF RklfVElNRU9VVCAgICAgICAgICAgVGhlIHRyYW5zYWN0aW9uIGRpZCBub3QgY29tcGxldGUgd2l0 aGluIGFuDQo+IGludGVybmFsbHkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c3BlY2lmaWVkIHRpbWVvdXQgcGVyaW9kLg0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VG SV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9JMkNfQlVTX1NUQVJUX1JFUVVFU1QpICgNCj4gKyAg SU4gQ09OU1QgRUZJX0kyQ19CVVNfUFJPVE9DT0wgKlRoaXMsDQo+ICsgIElOIFVJTlROIFNsYXZl QWRkcmVzc0luZGV4LA0KPiArICBJTiBFRklfRVZFTlQgRXZlbnQgT1BUSU9OQUwsDQo+ICsgIElO IENPTlNUIEVGSV9JMkNfUkVRVUVTVF9QQUNLRVQgKlJlcXVlc3RQYWNrZXQsDQo+ICsgIE9VVCBF RklfU1RBVFVTICpJMmNTdGF0dXMgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8v IFRoZSBJMkMgYnVzIHByb3RvY29sIGVuYWJsZXMgYWNjZXNzIHRvIGEgc3BlY2lmaWMgZGV2aWNl IG9uIHRoZSBJMkMgYnVzLg0KPiArLy8NCj4gKy8vIEVhY2ggSTJDIGRldmljZSBpcyBkZXNjcmli ZWQgYXMgYW4gQUNQSSBub2RlIChISUQsIFVJRCBhbmQgQ0lEKSB3aXRoaW4NCj4gdGhlDQo+ICsv LyBwbGF0Zm9ybSBsYXllci4gIFRoZSBJMkMgYnVzIHByb3RvY29sIGVudW1lcmF0ZXMgdGhlIEky QyBkZXZpY2VzIGluIHRoZQ0KPiArLy8gcGxhdGZvcm0gYW5kIGNyZWF0ZXMgYSB1bmlxdWUgaGFu ZGxlIGFuZCBkZXZpY2UgcGF0aCBmb3IgZWFjaCBJMkMgZGV2aWNlLg0KPiArLy8NCj4gKy8vIEky QyBzbGF2ZSBhZGRyZXNzaW5nIGlzIGFic3RyYWN0ZWQgdG8gdmFsaWRhdGUgYWRkcmVzc2VzIGFu ZCBsaW1pdA0KPiBvcGVyYXRpb24NCj4gKy8vIHRvIHRoZSBzcGVjaWZpZWQgSTJDIGRldmljZS4g IFRoZSB0aGlyZCBwYXJ0eSBwcm92aWRpbmcgdGhlIEkyQyBkZXZpY2UNCj4gc3VwcG9ydA0KPiAr Ly8gcHJvdmlkZXMgYW4gb3JkZXJlZCBsaXN0IG9mIHNsYXZlIGFkZHJlc3NlcyBmb3IgdGhlIEky QyBkZXZpY2UgdG8gdGhlIHRlYW0NCj4gKy8vIGJ1aWxkaW5nIHRoZSBwbGF0Zm9ybSBsYXllci4g IFRoZSBwbGF0Zm9ybSB0ZWFtIG11c3QgcHJlc2VydmUgdGhlIG9yZGVyDQo+IG9mIHRoZQ0KPiAr Ly8gc3VwcGxpZWQgbGlzdC4gIFNsYXZlQWRkcmVzc0NvdW50IGlzIHRoZSBudW1iZXIgb2YgZW50 cmllcyBpbiB0aGlzIGxpc3Qgb3INCj4gKy8vIGFycmF5IHdpdGhpbiB0aGUgcGxhdGZvcm0gbGF5 ZXIuICBUaGUgdGhpcmQgcGFydHkgZGV2aWNlIHN1cHBvcnQNCj4gcmVmZXJlbmNlcw0KPiArLy8g YSBzbGF2ZSBhZGRyZXNzIHVzaW5nIGFuIGluZGV4IGludG8gdGhlIGxpc3Qgb3IgYXJyYXkgaW4g dGhlIHJhbmdlIG9mIHplcm8NCj4gKy8vIHRvIFNsYXZlQWRkcmVzc0NvdW50IC0gMS4NCj4gKy8v DQo+ICtzdHJ1Y3QgX0VGSV9JMkNfQlVTX1BST1RPQ09MIHsNCj4gKyAgLy8NCj4gKyAgLy8gU3Rh cnQgYW4gSTJDIG9wZXJhdGlvbiBvbiB0aGUgYnVzDQo+ICsgIC8vDQo+ICsgIEVGSV9JMkNfQlVT X1NUQVJUX1JFUVVFU1QgU3RhcnRSZXF1ZXN0Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBt YXhpbXVtIG51bWJlciBvZiBzbGF2ZSBhZGRyZXNzZXMgZm9yIHRoZSBJMkMgZGV2aWNlLiAgVGhl IGNhbGxlcg0KPiBtYXkNCj4gKyAgLy8gdmFsaWRhdGUgdGhpcyB2YWx1ZSBhcyBhIGNoZWNrIG9u IHRoZSBwbGF0Zm9ybSBsYXllcidzIGNvbmZpZ3VyYXRpb24uICBTbGF2ZQ0KPiArICAvLyBhZGRy ZXNzIHNlbGVjdGlvbiB1c2VzIGFuIGluZGV4IHZhbHVlIGluIHRoZSByYW5nZSBvZiB6ZXJvIHRv DQo+IFNsYXZlQWRkcmVzc0NvdW50IC0gMS4NCj4gKyAgLy8NCj4gKyAgVUlOVE4gU2xhdmVBZGRy ZXNzQ291bnQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSGFyZHdhcmUgcmV2aXNpb24gLSBNYXRj aGVzIHRoZSBBQ1BJIF9IUlYgdmFsdWUNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIEhhcmR3YXJlUmV2 aXNpb24gdmFsdWUgYWxsb3dzIGEgc2luZ2xlIGRyaXZlciB0byBzdXBwb3J0IG11bHRpcGxlDQo+ IGhhcmR3YXJlDQo+ICsgIC8vIHJldmlzaW9ucyBhbmQgaW1wbGVtZW50IHRoZSBuZWNlc3Nhcnkg d29ya2Fyb3VuZHMgZm9yIGxpbWl0YXRpb25zDQo+IHdpdGhpbiB0aGUNCj4gKyAgLy8gaGFyZHdh cmUuDQo+ICsgIC8vDQo+ICsgIFVJTlQzMiBIYXJkd2FyZVJldmlzaW9uOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGUgSTJDIGhvc3QgY29udHJv bGxlcg0KPiArICAvLyBpcyBhYmxlIHRvIHJlY2VpdmUgZnJvbSB0aGUgSTJDIGJ1cy4NCj4gKyAg Ly8NCj4gKyAgVUlOVDMyIE1heGltdW1SZWNlaXZlQnl0ZXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5dGVzIHRoZSBJMkMgaG9zdCBjb250cm9sbGVyDQo+ ICsgIC8vIGlzIGFibGUgdG8gc2VuZCBvbiB0aGUgSTJDIGJ1cy4NCj4gKyAgLy8NCj4gKyAgVUlO VDMyIE1heGltdW1UcmFuc21pdEJ5dGVzOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBtYXhp bXVtIG51bWJlciBvZiBieXRlcyBpbiB0aGUgSTJDIGJ1cyB0cmFuc2FjdGlvbi4NCj4gKyAgLy8N Cj4gKyAgVUlOVDMyIE1heGltdW1Ub3RhbEJ5dGVzOw0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8v IEdVSUQgZm9yIHRoZSBJMkMgYnVzIHByb3RvY29sDQo+ICsvLw0KPiArZXh0ZXJuIEVGSV9HVUlE IGdFZmlJMmNCdXNQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZiAgLy8gIF9fSTJDX0JVU19I X18NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvUHJvdG9jb2wvSTJjQnVzTWNnLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9JbmNsdWRlL1Byb3RvY29sL0kyY0J1c01jZy5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjFjZmNhMjE4YmQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysg Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL0kyY0J1 c01jZy5oDQo+IEBAIC0wLDAgKzEsMTYzIEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0 IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfX0ky Q19CVVNfSF9fDQo+ICsjZGVmaW5lIF9fSTJDX0JVU19IX18NCj4gKw0KPiArI2luY2x1ZGUgPFBy b3RvY29sL0kyY0hvc3RNY2cuaD4NCj4gKw0KPiArLy8NCj4gKy8vIEkyQyBidXMgcHJvdG9jb2wN Cj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCBfRUZJX0kyQ19CVVNfUFJPVE9DT0wgIEVGSV9JMkNf QlVTX1BST1RPQ09MOw0KPiArDQo+ICsvKioNCj4gKyAgUGVyZm9ybSBhbiBJMkMgb3BlcmF0aW9u IG9uIHRoZSBkZXZpY2UNCj4gKw0KPiArICBUaGlzIHJvdXRpbmUgbXVzdCBiZSBjYWxsZWQgYXQg b3IgYmVsb3cgVFBMX05PVElGWS4gIEZvciBzeW5jaHJvbm91cw0KPiArICByZXF1ZXN0cyB0aGlz IHJvdXRpbmUgbXVzdCBiZSBjYWxsZWQgYXQgb3IgYmVsb3cgVFBMX0NBTExCQUNLLg0KPiArDQo+ ICsgIE4uQi4gVGhlIHR5cGljYWwgY29uc3VtZXJzIG9mIHRoaXMgQVBJIGFyZSB0aGUgdGhpcmQg cGFydHkgSTJDDQo+ICsgIGRyaXZlcnMuICBFeHRyZW1lIGNhcmUgbXVzdCBiZSB0YWtlbiBieSBv dGhlciBjb25zdW1lcnMgb2YgdGhpcw0KPiArICBBUEkgdG8gcHJldmVudCBjb25mdXNpbmcgdGhl IHRoaXJkIHBhcnR5IEkyQyBkcml2ZXJzIGR1ZSB0byBhDQo+ICsgIHN0YXRlIGNoYW5nZSBhdCB0 aGUgSTJDIGRldmljZSB3aGljaCB0aGUgdGhpcmQgcGFydHkgSTJDIGRyaXZlcnMNCj4gKyAgZGlk IG5vdCBpbml0aWF0ZS4gIEkyQyBwbGF0Zm9ybSBkcml2ZXJzIG1heSB1c2UgdGhpcyBBUEkgd2l0 aGluDQo+ICsgIHRoZXNlIGd1aWRlbGluZXMuDQo+ICsNCj4gKyAgVGhpcyByb3V0aW5lIHF1ZXVl cyBhbiBvcGVyYXRpb24gdG8gdGhlIEkyQyBjb250cm9sbGVyIGZvciBleGVjdXRpb24NCj4gKyAg b24gdGhlIEkyQyBidXMuDQo+ICsNCj4gKyAgQXMgYW4gdXBwZXIgbGF5ZXIgZHJpdmVyIHdyaXRl ciwgdGhlIGZvbGxvd2luZyBuZWVkIHRvIGJlIHByb3ZpZGVkDQo+ICsgIHRvIHRoZSBwbGF0Zm9y bSB2ZW5kb3I6DQo+ICsNCj4gKyAgMS4gIEFDUEkgQ0lEIHZhbHVlIG9yIHN0cmluZyAtIHRoaXMg aXMgdXNlZCB0byBjb25uZWN0IHRoZSB1cHBlciBsYXllcg0KPiArICAgICAgZHJpdmVyIHRvIHRo ZSBkZXZpY2UuDQo+ICsgIDIuICBTbGF2ZSBhZGRyZXNzIGFycmF5IGd1aWRhbmNlIHdoZW4gdGhl IEkyQyBkZXZpY2UgdXNlcyBtb3JlIHRoYW4gb25lDQo+ICsgICAgICBzbGF2ZSBhZGRyZXNzLiAg VGhpcyBpcyB1c2VkIHRvIGFjY2VzcyB0aGUgYmxvY2tzIG9mIGhhcmR3YXJlIHdpdGhpbg0KPiAr ICAgICAgdGhlIEkyQyBkZXZpY2UuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBUaGlzICAgICAgICAg ICAgICAgQWRkcmVzcyBvZiBhbiBFRklfSTJDX0JVU19QUk9UT0NPTA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUNCj4gKyAgQHBhcmFtW2luXSBTbGF2ZUFkZHJl c3NJbmRleCAgSW5kZXggaW50byBhbiBhcnJheSBvZiBzbGF2ZSBhZGRyZXNzZXMgZm9yDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBJMkMgZGV2aWNlLiAgVGhlIHZhbHVl cyBpbiB0aGUgYXJyYXkgYXJlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNw ZWNpZmllZCBieSB0aGUgYm9hcmQgZGVzaWduZXIsIHdpdGggdGhlDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEkyQyBkZXZpY2UgZHJpdmVyIHdyaXRlciBwcm92aWRpbmcgdGhl IHNsYXZlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFkZHJlc3Mgb3JkZXIu DQo+ICsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRm9yIGRldmljZXMgdGhh dCBoYXZlIGEgc2luZ2xlIHNsYXZlIGFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHRoaXMgdmFsdWUgbXVzdCBiZSB6ZXJvLiAgSWYgdGhlIEkyQyBkZXZpY2UNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdXNlcyBtb3JlIHRoYW4gb25lIHNsYXZl IGFkZHJlc3MgdGhlbiB0aGUgdGhpcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgcGFydHkgKHVwcGVyIGxldmVsKSBJMkMgZHJpdmVyIHdyaXRlciBuZWVkcyB0bw0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzcGVjaWZ5IHRoZSBvcmRlciBvZiBlbnRyaWVz IGluIHRoZSBzbGF2ZSBhZGRyZXNzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGFycmF5Lg0KPiArDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyZWYgVGhp cmRQYXJ0eUkyY0RyaXZlcnMgIlRoaXJkIFBhcnR5IEkyQyBEcml2ZXJzIg0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBzZWN0aW9uIGluIEkyY01hc3Rlci5oLg0KPiArICBAcGFy YW1baW5dIEV2ZW50ICAgICAgICAgICAgICBFdmVudCB0byBzZXQgZm9yIGFzeW5jaHJvbm91cyBv cGVyYXRpb25zLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMIGZvciBz eW5jaHJvbm91cyBvcGVyYXRpb25zDQo+ICsgIEBwYXJhbVtpbl0gUmVxdWVzdFBhY2tldCAgICAg IEFkZHJlc3Mgb2YgYW4gRUZJX0kyQ19SRVFVRVNUX1BBQ0tFVA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgZGVzY3JpYmluZyB0aGUgSTJDIG9wZXJhdGlvbg0K PiArICBAcGFyYW1bb3V0XSBJMmNTdGF0dXMgICAgICAgICBPcHRpb25hbCBidWZmZXIgdG8gcmVj ZWl2ZSB0aGUgSTJDIG9wZXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjb21wbGV0aW9uIHN0YXR1cw0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgIFRoZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBF RklfQUJPUlRFRCAgICAgICAgICAgVGhlIHJlcXVlc3QgZGlkIG5vdCBjb21wbGV0ZSBiZWNhdXNl IHRoZQ0KPiBkcml2ZXINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FzIHNo dXRkb3duLg0KPiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICAgICBJbnZhbGlkIFNsYXZl QWRkcmVzc0luZGV4IHZhbHVlDQo+ICsgIEByZXR2YWwgRUZJX0JBRF9CVUZGRVJfU0laRSAgIFRo ZSBXcml0ZUJ5dGVzIG9yIFJlYWRCeXRlcyBidWZmZXIgc2l6ZQ0KPiBpcyB0b28gbGFyZ2UuDQo+ ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZXJlIHdhcyBhbiBJMkMgZXJyb3Ig KE5BQ0spIGR1cmluZyB0aGUNCj4gb3BlcmF0aW9uLg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUaGlzIGNvdWxkIGluZGljYXRlIHRoZSBzbGF2ZSBkZXZpY2UgaXMgbm90IHBy ZXNlbnQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFJlcXVlc3RQYWNrZXQg aXMgTlVMTA0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBUUEwgaXMgdG9vIGhp Z2gNCj4gKyAgQHJldHZhbCBFRklfTk9fUkVTUE9OU0UgICAgICAgVGhlIEkyQyBkZXZpY2UgaXMg bm90IHJlc3BvbmRpbmcgdG8gdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHNsYXZlIGFkZHJlc3MuICBFRklfREVWSUNFX0VSUk9SIG1heSBhbHNvIGJlDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybmVkIGlmIHRoZSBjb250cm9sbGVyIGNhbiBu b3QgZGlzdGluZ3Vpc2gNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2hlbiB0 aGUgTkFDSyBvY2N1cnJlZC4NCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgSTJD IHNsYXZlIGFkZHJlc3MgZXhjZWVkcyBtYXhpbXVtDQo+IGFkZHJlc3MNCj4gKyAgQHJldHZhbCBF RklfTk9UX1JFQURZICAgICAgICAgSTJDIGJ1cyBpcyBidXN5IG9yIG9wZXJhdGlvbiBwZW5kaW5n LCB3YWl0IGZvcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgZXZlbnQg YW5kIHRoZW4gcmVhZCBzdGF0dXMgcG9pbnRlZCB0byBieQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGUgcmVxdWVzdCBwYWNrZXQuDQo+ICsgIEByZXR2YWwgRUZJX09VVF9P Rl9SRVNPVVJDRVMgIEluc3VmZmljaWVudCBtZW1vcnkgZm9yIEkyQyBvcGVyYXRpb24NCj4gKyAg QHJldHZhbCBFRklfVElNRU9VVCAgICAgICAgICAgVGhlIHRyYW5zYWN0aW9uIGRpZCBub3QgY29t cGxldGUgd2l0aGluIGFuDQo+IGludGVybmFsbHkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc3BlY2lmaWVkIHRpbWVvdXQgcGVyaW9kLg0KPiArDQo+ICsqKi8NCj4gK3R5cGVk ZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9JMkNfQlVTX1NUQVJUX1JFUVVFU1Qp ICgNCj4gKyAgSU4gQ09OU1QgRUZJX0kyQ19CVVNfUFJPVE9DT0wgKlRoaXMsDQo+ICsgIElOIFVJ TlROIFNsYXZlQWRkcmVzc0luZGV4LA0KPiArICBJTiBFRklfRVZFTlQgRXZlbnQgT1BUSU9OQUws DQo+ICsgIElOIENPTlNUIEVGSV9JMkNfUkVRVUVTVF9QQUNLRVQgKlJlcXVlc3RQYWNrZXQsDQo+ ICsgIE9VVCBFRklfU1RBVFVTICpJMmNTdGF0dXMgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiAr Ly8NCj4gKy8vIFRoZSBJMkMgYnVzIHByb3RvY29sIGVuYWJsZXMgYWNjZXNzIHRvIGEgc3BlY2lm aWMgZGV2aWNlIG9uIHRoZSBJMkMgYnVzLg0KPiArLy8NCj4gKy8vIEVhY2ggSTJDIGRldmljZSBp cyBkZXNjcmliZWQgYXMgYW4gQUNQSSBub2RlIChISUQsIFVJRCBhbmQgQ0lEKSB3aXRoaW4NCj4g dGhlDQo+ICsvLyBwbGF0Zm9ybSBsYXllci4gIFRoZSBJMkMgYnVzIHByb3RvY29sIGVudW1lcmF0 ZXMgdGhlIEkyQyBkZXZpY2VzIGluIHRoZQ0KPiArLy8gcGxhdGZvcm0gYW5kIGNyZWF0ZXMgYSB1 bmlxdWUgaGFuZGxlIGFuZCBkZXZpY2UgcGF0aCBmb3IgZWFjaCBJMkMgZGV2aWNlLg0KPiArLy8N Cj4gKy8vIEkyQyBzbGF2ZSBhZGRyZXNzaW5nIGlzIGFic3RyYWN0ZWQgdG8gdmFsaWRhdGUgYWRk cmVzc2VzIGFuZCBsaW1pdA0KPiBvcGVyYXRpb24NCj4gKy8vIHRvIHRoZSBzcGVjaWZpZWQgSTJD IGRldmljZS4gIFRoZSB0aGlyZCBwYXJ0eSBwcm92aWRpbmcgdGhlIEkyQyBkZXZpY2UNCj4gc3Vw cG9ydA0KPiArLy8gcHJvdmlkZXMgYW4gb3JkZXJlZCBsaXN0IG9mIHNsYXZlIGFkZHJlc3NlcyBm b3IgdGhlIEkyQyBkZXZpY2UgdG8gdGhlIHRlYW0NCj4gKy8vIGJ1aWxkaW5nIHRoZSBwbGF0Zm9y bSBsYXllci4gIFRoZSBwbGF0Zm9ybSB0ZWFtIG11c3QgcHJlc2VydmUgdGhlIG9yZGVyDQo+IG9m IHRoZQ0KPiArLy8gc3VwcGxpZWQgbGlzdC4gIFNsYXZlQWRkcmVzc0NvdW50IGlzIHRoZSBudW1i ZXIgb2YgZW50cmllcyBpbiB0aGlzIGxpc3Qgb3INCj4gKy8vIGFycmF5IHdpdGhpbiB0aGUgcGxh dGZvcm0gbGF5ZXIuICBUaGUgdGhpcmQgcGFydHkgZGV2aWNlIHN1cHBvcnQNCj4gcmVmZXJlbmNl cw0KPiArLy8gYSBzbGF2ZSBhZGRyZXNzIHVzaW5nIGFuIGluZGV4IGludG8gdGhlIGxpc3Qgb3Ig YXJyYXkgaW4gdGhlIHJhbmdlIG9mIHplcm8NCj4gKy8vIHRvIFNsYXZlQWRkcmVzc0NvdW50IC0g MS4NCj4gKy8vDQo+ICtzdHJ1Y3QgX0VGSV9JMkNfQlVTX1BST1RPQ09MIHsNCj4gKyAgLy8NCj4g KyAgLy8gU3RhcnQgYW4gSTJDIG9wZXJhdGlvbiBvbiB0aGUgYnVzDQo+ICsgIC8vDQo+ICsgIEVG SV9JMkNfQlVTX1NUQVJUX1JFUVVFU1QgU3RhcnRSZXF1ZXN0Ow0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBzbGF2ZSBhZGRyZXNzZXMgZm9yIHRoZSBJMkMgZGV2 aWNlLiAgVGhlIGNhbGxlcg0KPiBtYXkNCj4gKyAgLy8gdmFsaWRhdGUgdGhpcyB2YWx1ZSBhcyBh IGNoZWNrIG9uIHRoZSBwbGF0Zm9ybSBsYXllcidzIGNvbmZpZ3VyYXRpb24uICBTbGF2ZQ0KPiAr ICAvLyBhZGRyZXNzIHNlbGVjdGlvbiB1c2VzIGFuIGluZGV4IHZhbHVlIGluIHRoZSByYW5nZSBv ZiB6ZXJvIHRvDQo+IFNsYXZlQWRkcmVzc0NvdW50IC0gMS4NCj4gKyAgLy8NCj4gKyAgVUlOVE4g U2xhdmVBZGRyZXNzQ291bnQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSGFyZHdhcmUgcmV2aXNp b24gLSBNYXRjaGVzIHRoZSBBQ1BJIF9IUlYgdmFsdWUNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIEhh cmR3YXJlUmV2aXNpb24gdmFsdWUgYWxsb3dzIGEgc2luZ2xlIGRyaXZlciB0byBzdXBwb3J0IG11 bHRpcGxlDQo+IGhhcmR3YXJlDQo+ICsgIC8vIHJldmlzaW9ucyBhbmQgaW1wbGVtZW50IHRoZSBu ZWNlc3Nhcnkgd29ya2Fyb3VuZHMgZm9yIGxpbWl0YXRpb25zDQo+IHdpdGhpbiB0aGUNCj4gKyAg Ly8gaGFyZHdhcmUuDQo+ICsgIC8vDQo+ICsgIFVJTlQzMiBIYXJkd2FyZVJldmlzaW9uOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGUgSTJDIGhv c3QgY29udHJvbGxlcg0KPiArICAvLyBpcyBhYmxlIHRvIHJlY2VpdmUgZnJvbSB0aGUgSTJDIGJ1 cy4NCj4gKyAgLy8vDQo+ICsgIFVJTlQzMiBNYXhpbXVtUmVjZWl2ZUJ5dGVzOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGUgSTJDIGhvc3QgY29u dHJvbGxlcg0KPiArICAvLyBpcyBhYmxlIHRvIHNlbmQgb24gdGhlIEkyQyBidXMuDQo+ICsgIC8v DQo+ICsgIFVJTlQzMiBNYXhpbXVtVHJhbnNtaXRCeXRlczsNCj4gKw0KPiArICAvLw0KPiArICAv LyBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgaW4gdGhlIEkyQyBidXMgdHJhbnNhY3Rpb24u DQo+ICsgIC8vDQo+ICsgIFVJTlQzMiBNYXhpbXVtVG90YWxCeXRlczsNCj4gK307DQo+ICsNCj4g Ky8vDQo+ICsvLyBHVUlEIGZvciB0aGUgSTJDIGJ1cyBwcm90b2NvbA0KPiArLy8NCj4gK2V4dGVy biBFRklfR1VJRCBnRWZpSTJjQnVzUHJvdG9jb2xHdWlkOw0KPiArDQo+ICsjZW5kaWYgIC8vICBf X0kyQ19CVVNfSF9fDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9JbmNsdWRlL1Byb3RvY29sL0kyY0hvc3RNY2cuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvSTJjSG9zdE1jZy5oDQo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjFkOTRlZTQxMDYNCj4gLS0tIC9kZXYv bnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1By b3RvY29sL0kyY0hvc3RNY2cuaA0KPiBAQCAtMCwwICsxLDEzOCBAQA0KPiArLyorKw0KPiArDQo+ ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsNCj4g KyNpZm5kZWYgX19JMkNfSE9TVF9IX18NCj4gKyNkZWZpbmUgX19JMkNfSE9TVF9IX18NCj4gKw0K PiArI2luY2x1ZGUgPFByb3RvY29sL0kyY01hc3Rlck1jZy5oPg0KPiArDQo+ICsvKioNCj4gKyAg RGVjbGFyZSB0aGUgZm9yd2FyZCByZWZlcmVuY2VzDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZiBz dHJ1Y3QgX0VGSV9JMkNfSE9TVF9QUk9UT0NPTCBFRklfSTJDX0hPU1RfUFJPVE9DT0w7DQo+ICt0 eXBlZGVmIHN0cnVjdCBfRUZJX0kyQ19IT1NUX0NBTExCQUNLUyBFRklfSTJDX0hPU1RfQ0FMTEJB Q0tTOw0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBRdWV1ZSBhbiBJMkMgb3BlcmF0aW9uIGZvciBl eGVjdXRpb24gb24gdGhlIEkyQyBjb250cm9sbGVyLg0KPiArDQo+ICsgIFRoaXMgcm91dGluZSBt dXN0IGJlIGNhbGxlZCBhdCBvciBiZWxvdyBUUExfTk9USUZZLiAgRm9yIHN5bmNocm9ub3VzDQo+ ICsgIHJlcXVlc3RzIHRoaXMgcm91dGluZSBtdXN0IGJlIGNhbGxlZCBhdCBvciBiZWxvdyBUUExf Q0FMTEJBQ0suDQo+ICsNCj4gKyAgTi5CLiBUaGUgdHlwaWNhbCBjb25zdW1lcnMgb2YgdGhpcyBB UEkgYXJlIHRoZSBJMkMgYnVzIGRyaXZlciBhbmQNCj4gKyAgb24gcmFyZSBvY2Nhc2lvbnMgdGhl IEkyQyB0ZXN0IGFwcGxpY2F0aW9uLiAgRXh0cmVtZSBjYXJlIG11c3QgYmUNCj4gKyAgdGFrZW4g Ynkgb3RoZXIgY29uc3VtZXJzIG9mIHRoaXMgQVBJIHRvIHByZXZlbnQgY29uZnVzaW5nIHRoZQ0K PiArICB0aGlyZCBwYXJ0eSBJMkMgZHJpdmVycyBkdWUgdG8gYSBzdGF0ZSBjaGFuZ2UgYXQgdGhl IEkyQyBkZXZpY2UNCj4gKyAgd2hpY2ggdGhlIHRoaXJkIHBhcnR5IEkyQyBkcml2ZXJzIGRpZCBu b3QgaW5pdGlhdGUuICBJMkMgcGxhdGZvcm0NCj4gKyAgZHJpdmVycyBtYXkgdXNlIHRoaXMgQVBJ IHdpdGhpbiB0aGVzZSBndWlkZWxpbmVzLg0KPiArDQo+ICsgIFRoaXMgbGF5ZXIgdXNlcyB0aGUg Y29uY2VwdCBvZiBJMkMgYnVzIGNvbmZpZ3VyYXRpb25zIHRvIGRlc2NyaWJlDQo+ICsgIHRoZSBJ MkMgYnVzLiAgQW4gSTJDIGJ1cyBjb25maWd1cmF0aW9uIGlzIGRlZmluZWQgYXMgYSB1bmlxdWUN Cj4gKyAgc2V0dGluZyBvZiB0aGUgbXVsdGlwbGV4ZXJzIGFuZCBzd2l0Y2hlcyBpbiB0aGUgSTJD IGJ1cyB3aGljaA0KPiArICBlbmFibGUgYWNjZXNzIHRvIG9uZSBvciBtb3JlIEkyQyBkZXZpY2Vz LiAgV2hlbiB1c2luZyBhIHN3aXRjaA0KPiArICB0byBkaXZpZGUgYSBidXMsIGR1ZSB0byBzcGVl ZCBkaWZmZXJlbmNlcywgdGhlIEkyQyBwbGF0Zm9ybSBsYXllcg0KPiArICB3b3VsZCBkZWZpbmUg YW4gSTJDIGJ1cyBjb25maWd1cmF0aW9uIGZvciB0aGUgSTJDIGRldmljZXMgb24gZWFjaA0KPiAr ICBzaWRlIG9mIHRoZSBzd2l0Y2guICBXaGVuIHVzaW5nIGEgbXVsdGlwbGV4ZXIsIHRoZSBJMkMg cGxhdGZvcm0NCj4gKyAgbGF5ZXIgZGVmaW5lcyBhbiBJMkMgYnVzIGNvbmZpZ3VyYXRpb24gZm9y IGVhY2ggb2YgdGhlIHNlbGVjdG9yDQo+ICsgIHZhbHVlcyByZXF1aXJlZCB0byBjb250cm9sIHRo ZSBtdWx0aXBsZXhlci4gIFNlZSBGaWd1cmUgMSBpbiB0aGUNCj4gKyAgPGENCj4gaHJlZj0iaHR0 cDovL3d3dy5ueHAuY29tL2RvY3VtZW50cy91c2VyX21hbnVhbC9VTTEwMjA0LnBkZiI+STxzdXAN Cj4gPjI8L3N1cD5DDQo+ICsgIFNwZWNpZmljYXRpb248L2E+IGZvciBhIGNvbXBsZXggSTJDIGJ1 cyBjb25maWd1cmF0aW9uLg0KPiArDQo+ICsgIFRoZSBJMkMgaG9zdCBkcml2ZXIgcHJvY2Vzc2Vz IGFsbCBvcGVyYXRpb25zIGluIEZJRk8gb3JkZXIuICBQcmlvciB0bw0KPiArICBwZXJmb3JtaW5n IHRoZSBvcGVyYXRpb24sIHRoZSBJMkMgaG9zdCBkcml2ZXIgY2FsbHMgdGhlIEkyQyBwbGF0Zm9y bQ0KPiArICBkcml2ZXIgdG8gcmVjb25maWd1cmUgdGhlIHN3aXRjaGVzIGFuZCBtdWx0aXBsZXhl cnMgaW4gdGhlIEkyQyBidXMNCj4gKyAgZW5hYmxpbmcgYWNjZXNzIHRvIHRoZSBzcGVjaWZpZWQg STJDIGRldmljZS4gIFRoZSBJMkMgcGxhdGZvcm0gZHJpdmVyDQo+ICsgIGFsc28gc2VsZWN0cyB0 aGUgbWF4aW11bSBidXMgc3BlZWQgZm9yIHRoZSBkZXZpY2UuICBBZnRlciB0aGUgSTJDIGJ1cw0K PiArICBpcyBjb25maWd1cmVkLCB0aGUgSTJDIGhvc3QgZHJpdmVyIGNhbGxzIHRoZSBJMkMgcG9y dCBkcml2ZXIgdG8NCj4gKyAgaW5pdGlhbGl6ZSB0aGUgSTJDIGNvbnRyb2xsZXIgYW5kIHN0YXJ0 IHRoZSBJMkMgb3BlcmF0aW9uLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gVGhpcyAgICAgICAgICAg ICBBZGRyZXNzIG9mIGFuIEVGSV9JMkNfSE9TVF9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gKyAgQHBh cmFtW2luXSBJMmNCdXNDb25maWd1cmF0aW9uICBJMkMgYnVzIGNvbmZpZ3VyYXRpb24gdG8gYWNj ZXNzIHRoZSBJMkMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZpY2Uu DQo+ICsgIEBwYXJhbVtpbl0gU2xhdmVBZGRyZXNzICAgICBBZGRyZXNzIG9mIHRoZSBkZXZpY2Ug b24gdGhlIEkyQyBidXMuDQo+ICsgIEBwYXJhbVtpbl0gRXZlbnQgICAgICAgICAgICBFdmVudCB0 byBzZXQgZm9yIGFzeW5jaHJvbm91cyBvcGVyYXRpb25zLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTlVMTCBmb3Igc3luY2hyb25vdXMgb3BlcmF0aW9ucw0KPiArICBAcGFyYW1b aW5dIFJlcXVlc3RQYWNrZXQgICAgQWRkcmVzcyBvZiBhbiBFRklfSTJDX1JFUVVFU1RfUEFDS0VU DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUgZGVzY3JpYmluZyB0 aGUgSTJDIG9wZXJhdGlvbg0KPiArICBAcGFyYW1bb3V0XSBJMmNTdGF0dXMgICAgICAgT3B0aW9u YWwgYnVmZmVyIHRvIHJlY2VpdmUgdGhlIEkyQyBvcGVyYXRpb24NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNvbXBsZXRpb24gc3RhdHVzDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgVGhlIG9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0K PiArICBAcmV0dmFsIEVGSV9BQk9SVEVEICAgICAgICAgICBUaGUgcmVxdWVzdCBkaWQgbm90IGNv bXBsZXRlIGJlY2F1c2UgdGhlDQo+IGRyaXZlcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB3YXMgc2h1dGRvd24uDQo+ICsgIEByZXR2YWwgRUZJX0JBRF9CVUZGRVJfU0laRSAg IFRoZSBXcml0ZUJ5dGVzIG9yIFJlYWRCeXRlcyBidWZmZXIgc2l6ZQ0KPiBpcyB0b28gbGFyZ2Uu DQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgICAgIFRoZXJlIHdhcyBhbiBJMkMgZXJy b3IgKE5BQ0spIGR1cmluZyB0aGUNCj4gb3BlcmF0aW9uLg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUaGlzIGNvdWxkIGluZGljYXRlIHRoZSBzbGF2ZSBkZXZpY2UgaXMgbm90 IHByZXNlbnQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSIFJlcXVlc3RQYWNr ZXQgaXMgTlVMTA0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBUUEwgaXMgdG9v IGhpZ2gNCj4gKyAgQHJldHZhbCBFRklfTk9fTUFQUElORyAgICAgICAgSW52YWxpZCBJMmNCdXND b25maWd1cmF0aW9uIHZhbHVlDQo+ICsgIEByZXR2YWwgRUZJX05PX1JFU1BPTlNFICAgICAgIFRo ZSBJMkMgZGV2aWNlIGlzIG5vdCByZXNwb25kaW5nIHRvIHRoZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzbGF2ZSBhZGRyZXNzLiAgRUZJX0RFVklDRV9FUlJPUiBtYXkgYWxz byBiZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm5lZCBpZiB0aGUg Y29udHJvbGxlciBjYW5ub3QgZGlzdGluZ3Vpc2gNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgd2hlbiB0aGUgTkFDSyBvY2N1cnJlZC4NCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZP VU5EICAgICAgICAgSTJDIHNsYXZlIGFkZHJlc3MgZXhjZWVkcyBtYXhpbXVtDQo+IGFkZHJlc3MN Cj4gKyAgQHJldHZhbCBFRklfTk9UX1JFQURZICAgICAgICAgSTJDIGJ1cyBpcyBidXN5IG9yIG9w ZXJhdGlvbiBwZW5kaW5nLCB3YWl0IGZvcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0aGUgZXZlbnQgYW5kIHRoZW4gcmVhZCBzdGF0dXMgcG9pbnRlZCB0byBieQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgcmVxdWVzdCBwYWNrZXQuDQo+ICsgIEBy ZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgIEluc3VmZmljaWVudCBtZW1vcnkgZm9yIEkyQyBv cGVyYXRpb24NCj4gKyAgQHJldHZhbCBFRklfVElNRU9VVCAgICAgICAgICAgVGhlIHRyYW5zYWN0 aW9uIGRpZCBub3QgY29tcGxldGUgd2l0aGluIGFuDQo+IGludGVybmFsbHkNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc3BlY2lmaWVkIHRpbWVvdXQgcGVyaW9kLg0KPiArDQo+ ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKkVGSV9JMkNfSE9T VF9RVUVVRV9SRVFVRVNUKSAoDQo+ICsgIElOIENPTlNUIEVGSV9JMkNfSE9TVF9QUk9UT0NPTCAq VGhpcywNCj4gKyAgSU4gVUlOVE4gSTJjQnVzQ29uZmlndXJhdGlvbiwNCj4gKyAgSU4gVUlOVE4g U2xhdmVBZGRyZXNzLA0KPiArICBJTiBFRklfRVZFTlQgRXZlbnQgT1BUSU9OQUwsDQo+ICsgIElO IENPTlNUIEVGSV9JMkNfUkVRVUVTVF9QQUNLRVQgKlJlcXVlc3RQYWNrZXQsDQo+ICsgIE9VVCBF RklfU1RBVFVTICpJMmNTdGF0dXMgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiArLy8vDQo+ICsv Ly8gSG9zdCBhY2Nlc3MgdG8gdGhlIEkyQyBidXMuDQo+ICsvLy8NCj4gK3N0cnVjdCBfRUZJX0ky Q19IT1NUX1BST1RPQ09MIHsNCj4gKyAgLy8vDQo+ICsgIC8vLyBRdWV1ZSBhbiBvcGVyYXRpb24g Zm9yIGV4ZWN1dGlvbiBvbiB0aGUgSTJDIGJ1cw0KPiArICAvLy8NCj4gKyAgRUZJX0kyQ19IT1NU X1FVRVVFX1JFUVVFU1QgUXVldWVSZXF1ZXN0Ow0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gVGhl IG1heGltdW0gbnVtYmVyIG9mIEkyQyBidXMgY29uZmlndXJhdGlvbnMNCj4gKyAgLy8vDQo+ICsg IFVJTlROIEkyY0J1c0NvbmZpZ3VyYXRpb25Db3VudDsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8v IFRoZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGUgSTJDIGhvc3QgY29udHJvbGxlcg0KPiAr ICAvLy8gaXMgYWJsZSB0byByZWNlaXZlIGZyb20gdGhlIEkyQyBidXMuDQo+ICsgIC8vLw0KPiAr ICBVSU5UMzIgTWF4aW11bVJlY2VpdmVCeXRlczsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8vIFRo ZSBtYXhpbXVtIG51bWJlciBvZiBieXRlcyB0aGUgSTJDIGhvc3QgY29udHJvbGxlcg0KPiArICAv Ly8gaXMgYWJsZSB0byBzZW5kIG9uIHRoZSBJMkMgYnVzLg0KPiArICAvLy8NCj4gKyAgVUlOVDMy IE1heGltdW1UcmFuc21pdEJ5dGVzOw0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gVGhlIG1heGlt dW0gbnVtYmVyIG9mIGJ5dGVzIGluIHRoZSBJMkMgYnVzIHRyYW5zYWN0aW9uLg0KPiArICAvLy8N Cj4gKyAgVUlOVDMyIE1heGltdW1Ub3RhbEJ5dGVzOw0KPiArfTsNCj4gKw0KPiArLy8vDQo+ICsv Ly8gR1VJRCBmb3IgdGhlIEVGSV9JMkNfSE9TVF9QUk9UT0NPTA0KPiArLy8vDQo+ICtleHRlcm4g RUZJX0dVSUQgZ0VmaUkyY0hvc3RQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZiAgLy8gIF9f STJDX0hPU1RfSF9fDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL0kyY01hc3Rlck1jZy5oDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9JMmNNYXN0ZXJNY2cuaA0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41Y2E0N2IyYzdmDQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5j bHVkZS9Qcm90b2NvbC9JMmNNYXN0ZXJNY2cuaA0KPiBAQCAtMCwwICsxLDUxOSBAQA0KPiArLyor Kw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ ICsgIFxzZWN0aW9uIEkyY0RyaXZlclN0YWNrICAgICAgIEkyQyBEcml2ZXIgU3RhY2sNCj4gKw0K PiArICBUaGUgZm9sbG93aW5nIGlzIGEgcmVwcmVzZW50YXRpb24gb2YgdGhlIEk8c3VwPjI8L3N1 cD5DIChJMkMpDQo+ICsgIGRyaXZlciBzdGFjayBhbmQgYW4gSTJDIGJ1cyBsYXlvdXQuDQo+ICsN Cj4gKyAgPGNvZGU+PHByZT4NCj4gKyAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tKw0K PiArICAgICAgICAgICAgICB8ICAgQXBwbGljYXRpb24gICB8DQo+ICsgICAgICAgICAgICAgICst LS0tLS0tLS0tLS0tLS0tLSsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArICAgICAg ICAgICAgICAgICAgICAgICB8IFRoaXJkIFBhcnR5IG9yIFVFRkkNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgfA0KPiArICAgICAgICAgICAgICAgICAgICAgICBWDQo+ICsgKy0tLS0tLS0tKyAg ICstLS0tLS0tLS0tLS0tLS0tLSsNCj4gKyB8IFNsYXZlICB8ICAgfCAgIFRoaXJkIFBhcnR5ICAg fA0KPiArIHwgRHJpdmVyIHwgICB8ICAgSTJDIERldmljZSAgICB8DQo+ICsgfCAgICAgICAgfCAg IHwgICAgIERyaXZlciAgICAgIHwNCj4gKyArLS0tLS0tLS0rICAgKy0tLS0tLS0tLS0tLS0tLS0t Kw0KPiArICAgICAgfCAgICAgICAgICAgICAgICB8DQo+ICsgICAgICB8ICAgICAgICAgIEJVUyAg IHwNCj4gKyAgICAgIHwgICAgICAgICAgICAgICAgfA0KPiArICAgICAgfCAgICAgICAgICAgICAg ICBWDQo+ICsgICAgICB8ICAgICAgICstLS0tLS0tLS0tLS0tLS0tLSsNCj4gKyAgICAgIHwgICAg ICAgfCBJMkMgQnVzIERyaXZlciAgfC0tLS0tLS0tLS0tLS0tLS0tLS4NCj4gKyAgICAgIHwgICAg ICAgKy0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgIHwNCj4gKyAgICAgIHwgICAg ICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gKyAgICAgIHwgICAg ICAgICBIT1NUICAgfCAgICAgICAgICBCVVMgICAgICAgICAgICAgIHwNCj4gKyAgICAgIHwgICAg ICAgICAgICAgICAgfCAgICAgICAgICBDT05GSUdVUkFUSU9OICAgIHwNCj4gK1NMQVZFIHwgICAg ICAgICAgICAgICAgViAgICAgICAgICBNQU5BR0VNRU5UICAgICAgIHwgQUNQSQ0KPiArICAgICAg fCAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICAgICAgICAgICAgfA0KPiArICAgICAg fCAgICAgICB8IEkyQyBIb3N0IERyaXZlciB8LS0tLS0tLS0tLS4gICAgICAgfA0KPiArICAgICAg fCAgICAgICArLS0tLS0tLS0tLS0tLS0tLS0rICAgICAgICAgIHwgICAgICAgfA0KPiArICAgICAg fCAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgIHwgICAgICAgfA0KPiArICAgICAg fCAgICAgICAgTUFTVEVSICB8ICAgICAgICAgICAgICAgICAgIFYgICAgICAgVg0KPiArICAgICAg fCAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgKy0tLS0tLS09LS0tLS0tLS0tLS0tLSsN Cj4gKyAgICAgIHwgICAgICAgICAgICAgICAgViAgICAgICAgICAgICAgIHwgSTJDIFBsYXRmb3Jt IERyaXZlciB8DQo+ICsgICAgICB8ICAgICAgICstLS0tLS0tLS0tLS0tLS0tLSsgICAgICArLS0t LS0tLS0tLS0tLS0tLS0tLS0tKw0KPiArICAgICAgYC0tLS0tLT58IEkyQyBQb3J0IERyaXZlciB8 ICAgICAgICAgICAgICAgfCAgICAgIHwNCj4gKyAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0t LS0tKyAgICAgICAgICAgICAgIHwgICAgICB8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgfA0KPiArICAgICAgICAgICAgU29mdHdhcmUg ICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgIHwNCj4gKyAgICAgICAgICAgIC0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsgICAgICAg ICAgICBIYXJkd2FyZSAgIHwgICAgICAgICAgICAgICAgICAgICAgICB8ICAgICAgfA0KPiArICAg ICAgICAgICAgICAgICAgICAgICB8ICAgICAgICAgICAgICAgICAgICAgICAgfCAgICAgIHwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgViAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICB8 DQo+ICsgICAgICAgICAgICAgICstLS0tLS0tLS0tLS0tLS0tLSsgICAgICAgICAgICAgICB8ICAg ICAgfA0KPiArICAgICAgICAgICAgICB8IEkyQyBDb250cm9sbGVyICB8ICAgICAgICAgICAgICAg fCAgICAgIHwNCj4gKyAgICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0tLS0tKyAgICAgICAgICAg ICAgIHwgICAgICB8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAg ICAgICAgICB8ICAgICAgfA0KPiArICAgICAgICAgICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0g ICAgICAgICAgICAgfCAgICAgIHwNCj4gKyAgICAgICAgICAgIEkyQyBCdXMgICAgfCAgICAgICAg ICAgICAgICAgICAgICAgIHwgICAgICB8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHwgICAg Ky0tLS0tLS0tLS0tLSsgICAgICB8ICAgICAgfA0KPiArICAgICAgICAgICAgICAgICAgICAgICAr LS0tLXwgSGlnaCBzcGVlZCB8ICAgICAgfCAgICAgIHwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgfCAgICB8IEkyQyBkZXZpY2UgfCAgICAgIHwgICAgICB8DQo+ICsgICAgICAgICAgICAgICAg ICAgICAgIHwgICAgfCAgICAweDAxICAgIHwgICAgICB8ICAgICAgfA0KPiArICAgICAgICAgICAg ICAgICAgICAgICB8ICAgICstLS0tLS0tLS0tLS0rICAgICAgfCAgICAgIHwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgfCAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICB8DQo+ICsgICAg ICAgICAgICAgICAgICArLS0tLS0tLS0tKyAgMCAgICAgICAgICAgICAgICB8ICAgICAgfA0KPiAr ICAgICAgICAgICAgICAgICAgfCBTd2l0Y2ggIHw8LS0tLS0tLS0tLS0tLS0tLS0tYCAgICAgIHwN Cj4gKyAgICAgICAgICAgICAgICAgICstLS0tLS0tLS0rICAxICAgICAgICAgICAgICAgICAgICAg ICB8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHwgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgfA0KPiArICAgICAgICAgICAgICAgICAgICAgICB8ICAgICstLS0tLS0tLS0tLS0rICAg ICAgICAgICAgIHwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKy0tLS18IEZhc3Qgc3BlZWQg fCAgICAgICAgICAgICB8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHwgICAgfCBJMkMgZGV2 aWNlIHwgICAgICAgICAgICAgfA0KPiArICAgICAgICAgICAgICAgICAgICAgICB8ICAgIHwgICAg MHgwMiAgICB8ICAgICAgICAgICAgIHwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgfCAgICAr LS0tLS0tLS0tLS0tKyAgICAgICAgICAgICB8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgIHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfA0KPiArICAgICAgICAgICAgICAgICstLS0t LS0tLS0tLS0tKyAgICAgICAgICAgICAgICAgICAgICAgIHwNCj4gKyAgICAgICAgICAgICAgICB8 IE11bHRpcGxleGVyIHw8LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1gDQo+ICsgICAgICAgICAgICAg ICAgKy0tLS0tLS0tLS0tLS0rDQo+ICsgICAgICAgICAgICAgICAgIDAgfCAgICAgICB8IDENCj4g KyAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwNCj4gKyAgICAgICAgICAgICAgICAgICB8ICAg ICAgIHwNCj4gKyAgICAgICAgICAgICAgICAgICB8ICAgICAgIHwgICAgKy0tLS0tLS0tLS0tLS0r DQo+ICsgICAgICAgICAgICAgICAgICAgfCAgICAgICArLS0tLXwgVGhpcmQgUGFydHkgfA0KPiAr ICAgICAgICAgICAgICAgICAgIHwgICAgICAgfCAgICB8IEkyQyBEZXZpY2UgIHwNCj4gKyAgICAg ICAgICAgICAgICAgICB8ICAgICAgIHwgICAgfCAgMHgwMywgMHgwNCB8DQo+ICsgICAgICAgICAg ICAgICAgICAgfCAgICAgICB8ICAgICstLS0tLS0tLS0tLS0tKw0KPiArICAgICAgICAgICAgICAg ICAgIHwgICAgICAgfA0KPiArICAgICAgICAgICAgICAgICAgIHwNCj4gKyAgICAgICAgICAgICAg ICAgICB8ICAgICAgICAgICAgKy0tLS0tLS0tLS0tLS0rDQo+ICsgICAgICAgICAgICAgICAgICAg Ky0tLS0tLS0tLS0tLXwgVGhpcmQgUGFydHkgfA0KPiArICAgICAgICAgICAgICAgICAgIHwgICAg ICAgICAgICB8IEkyQyBEZXZpY2UgIHwNCj4gKyAgICAgICAgICAgICAgICAgICB8ICAgICAgICAg ICAgfCAgMHgwMywgMHgwNCB8DQo+ICsgICAgICAgICAgICAgICAgICAgfCAgICAgICAgICAgICst LS0tLS0tLS0tLS0tKw0KPiArICAgICAgICAgICAgICAgICAgIHwNCj4gKyAgPC9wcmU+PC9jb2Rl Pg0KPiArDQo+ICsgIFRoZSBwbGF0Zm9ybSBoYXJkd2FyZSBkZXNpZ25lciBjaG9vc2VzIHRoZSBi dXMgbGF5b3V0IGJhc2VkIHVwb24NCj4gKyAgdGhlIHBsYXRmb3JtLCBJMkMgY2hpcCBhbmQgc29m dHdhcmUgcmVxdWlyZW1lbnRzLiAgVGhlIGRlc2lnbiB1c2VzDQo+ICsgIHN3aXRjaGVzIHRvIHRy dW5jYXRlIHRoZSBidXMgdG8gZW5hYmxlIGhpZ2hlciBzcGVlZCBvcGVyYXRpb24gZm9yIGENCj4g KyAgc3Vic2V0IG9mIGRldmljZXMgd2hpY2ggYXJlIHBsYWNlZCBjbG9zZXIgdG8gdGhlIGNvbnRy b2xsZXIuICBXaGVuIHRoZQ0KPiArICBzd2l0Y2ggaXMgb24sIHRoZSBleHRlbmRlZCBidXMgbXVz dCBvcGVyYXRlIGF0IGEgbG93ZXIgc3BlZWQuICBUaGUNCj4gKyAgZGVzaWduIHVzZXMgbXVsdGlw bGV4ZXIgdG8gY3JlYXRlIHNlcGFyYXRlIGFkZHJlc3Mgc3BhY2VzIGVuYWJsaW5nDQo+ICsgIHRo ZSB1c2Ugb2YgbXVsdGlwbGUgZGV2aWNlcyB3aGljaCB3b3VsZCBvdGhlcndpc2UgaGF2ZSBjb25m bGljdGluZw0KPiArICBhZGRyZXNzZXMuIFNlZSB0aGUNCj4gKyAgPGENCj4gaHJlZj0iaHR0cDov L3d3dy5ueHAuY29tL2RvY3VtZW50cy91c2VyX21hbnVhbC9VTTEwMjA0LnBkZiI+STxzdXANCj4g PjI8L3N1cD5DDQo+ICsgIFNwZWNpZmljYXRpb248L2E+IGZvciBtb3JlIGRldGFpbHMuDQo+ICsN Cj4gKyAgTi5CLiBTb21lIG9wZXJhdGluZyBzeXN0ZW1zIG1heSBwcm9oaWJpdCB0aGUgY2hhbmdp bmcgb2Ygc3dpdGNoZXMNCj4gKyAgYW5kIG11bHRpcGxleGVycyBpbiB0aGUgSTJDIGJ1cy4gIElu IHRoaXMgY2FzZSB0aGUgcGxhdGZvcm0gaGFyZHdhcmUNCj4gKyAgYW5kIHNvZnR3YXJlIGRlc2ln bmVycyBtdXN0IHNlbGVjdCBhIHNpbmdsZSBJMkMgYnVzIGNvbmZpZ3VyYXRpb24NCj4gKyAgY29u c2lzdGluZyBvZiBjb25zdGFudCBpbnB1dCB2YWx1ZXMgZm9yIHRoZSBzd2l0Y2hlcyBhbmQgbXVs dGlwbGV4ZXJzLg0KPiArICBUaGUgcGxhdGZvcm0gc29mdHdhcmUgZGVzaWduZXIgbXVzdCB0aGVu IGVuc3VyZSB0aGF0IHRoaXMgSTJDIGJ1cw0KPiArICBjb25maWd1cmF0aW9uIGlzIGVuYWJsZWQg cHJpb3IgdG8gcGFzc2luZyBjb250cm9sIHRvIHRoZSBvcGVyYXRpbmcNCj4gKyAgc3lzdGVtLg0K PiArDQo+ICsgIFRoZSBwbGF0Zm9ybSBoYXJkd2FyZSBkZXNpZ25lciBuZWVkcyB0byBwcm92aWRl IHRoZSBwbGF0Zm9ybSBzb2Z0d2FyZQ0KPiArICBkZXNpZ25lciB0aGUgZm9sbG93aW5nIGRhdGEg Zm9yIGVhY2ggSTJDIGJ1czoNCj4gKw0KPiArICAxLiAgV2hpY2ggY29udHJvbGxlciBjb250cm9s cyB0aGlzIGJ1cw0KPiArDQo+ICsgIDIuICBBIGxpc3Qgb2YgbG9naWMgYmxvY2tzIGNvbnRhaW5l ZCBpbiBvbmUgb3IgbW9yZSBJMkMgZGV2aWNlczoNCj4gKw0KPiArICAgICAgYS4gIEkyQyBkZXZp Y2Ugd2hpY2ggY29udGFpbnMgdGhpcyBsb2dpYyBibG9jaw0KPiArDQo+ICsgICAgICBiLiAgTG9n aWMgYmxvY2sgc2xhdmUgYWRkcmVzcw0KPiArDQo+ICsgICAgICBjLiAgTG9naWMgYmxvY2sgbmFt ZQ0KPiArDQo+ICsgIDMuICBGb3IgZWFjaCBjb25maWd1cmF0aW9uIG9mIHRoZSBzd2l0Y2hlcyBh bmQgbXVsdGlwbGV4ZXINCj4gKw0KPiArICAgICAgYS4gIFdoYXQgaXMgdGhlIG1heGltdW0gc3Bl ZWQgb2Ygb3BlcmF0aW9uDQo+ICsNCj4gKyAgICAgIGIuICBXaGF0IGRldmljZXMgYXJlIGFjY2Vz c2libGUNCj4gKw0KPiArICA0LiAgVGhlIHNldHRpbmdzIGZvciB0aGUgc3dpdGNoZXMgYW5kIG11 bHRpcGxleGVycyB3aGVuIGNvbnRyb2wgaXMNCj4gKyAgICAgIGdpdmVuIHRvIHRoZSBvcGVyYXRp bmcgc3lzdGVtLg0KPiArDQo+ICsgIFxzZWN0aW9uIFRoaXJkUGFydHlJMmNEcml2ZXJzICAgVGhp cmQgUGFydHkgSTJDIERyaXZlcnMNCj4gKw0KPiArICBUaGlzIGxheWVyIGlzIEkyQyBjaGlwIHNw ZWNpZmljIGJ1dCBwbGF0Zm9ybSBhbmQgaG9zdCBjb250cm9sbGVyDQo+ICsgIGluZGVwZW5kZW50 Lg0KPiArDQo+ICsgIFRoaXJkIHBhcnR5IEkyQyBkcml2ZXIgd3JpdGVycywgdHlwaWNhbGx5IHNp bGljb24gdmVuZG9ycywgbmVlZA0KPiArICB0byBwcm92aWRlOg0KPiArDQo+ICsgIDEuICBUaGUg ZGV2aWNlIHBhdGggbm9kZSBkYXRhIHRoYXQgaXMgdXNlZCB0byBzZWxlY3QgdGhlaXINCj4gKyAg ICAgIGRyaXZlci4NCj4gKw0KPiArICAyLiAgVGhlIG9yZGVyIGZvciB0aGUgYmxvY2tzIG9mIGxv Z2ljIHRoYXQgZ2V0IHJlZmVyZW5jZWQNCj4gKyAgICAgIGJ5IHRoZSBlbnRyaWVzIGluIHRoZSBz bGF2ZSBhZGRyZXNzIGFycmF5Lg0KPiArDQo+ICsgIDMuICBUaGUgaGFyZHdhcmUgdmVyc2lvbiBv ZiB0aGUgSTJDIGRldmljZSwgdGhpcyB2YWx1ZSBpcyBwYXNzZWQNCj4gKyAgICAgIHRvIHRoZSB0 aGlyZCBwYXJ0eSBJMkMgZHJpdmVyIHRvIGVuYWJsZSBpdCB0byBwZXJmb3JtIHdvcmsNCj4gKyAg ICAgIGFyb3VuZHMgZm9yIHRoZSBzcGVjaWZpYyBoYXJkd2FyZSB2ZXJzaW9uLiAgVGhpcyB2YWx1 ZSBzaG91bGQNCj4gKyAgICAgIG1hdGNoIHRoZSB2YWx1ZSBpbiB0aGUgQUNQSSBfSFJWIHRhZy4N Cj4gKw0KPiArICBUaGUgdGhpcmQgcGFydHkgSTJDIGRyaXZlciB1c2VzIHJlbGF0aXZlIGFkZHJl c3NpbmcgdG8gYWJzdHJhY3QNCj4gKyAgdGhlIHBsYXRmb3JtIHNwZWNpZmljIGRldGFpbHMgb2Yg dGhlIEkyQyBkZXZpY2UuICBVc2luZyBhbg0KPiArICBleGFtcGxlIEkyQyBkZXZpY2UgY29udGFp bmluZyBhbiBhY2NlbGVyb21ldGVyIGFuZCBhIG1hZ25ldG9tZXRlcg0KPiArICB3aGljaCBjb25z dW1lcyB0d28gc2xhdmUgYWRkcmVzc2VzLCBvbmUgZm9yIGVhY2ggbG9naWMgYmxvY2suICBUaGUN Cj4gKyAgdGhpcmQgcGFydHkgSTJDIGRyaXZlciB3cml0ZXIgbWF5IGNob29zZSB0byB3cml0ZSB0 d28gZHJpdmVycywgb25lDQo+ICsgIGZvciBlYWNoIGJsb2NrIG9mIGxvZ2ljLCBpbiB3aGljaCBj YXNlIGVhY2ggZHJpdmVyIHJlZmVycyB0byB0aGUNCj4gKyAgc2luZ2xlIEkyQyBzbGF2ZSBhZGRy ZXNzIHVzaW5nIHRoZSByZWxhdGl2ZSB2YWx1ZSBvZiB6ZXJvICgwKS4NCj4gKyAgSG93ZXZlciBp ZiB0aGUgdGhpcmQgcGFydHkgSTJDIGRyaXZlciB3cml0ZXIgY2hvb3NlcyB0byB3cml0ZSBhDQo+ ICsgIHNpbmdsZSBkcml2ZXIgd2hpY2ggY29uc3VtZXMgbXVsdGlwbGUgc2xhdmUgYWRkcmVzc2Vz IHRoZW4gdGhlDQo+ICsgIHRoaXJkIHBhcnR5IEkyQyBkcml2ZXIgd3JpdGVyIG5lZWRzIHRvIGNv bnZleSB0aGUgb3JkZXIgb2YgdGhlDQo+ICsgIEkyQyBzbGF2ZSBhZGRyZXNzIGVudHJpZXMgaW4g dGhlIHNsYXZlIGFkZHJlc3MgYXJyYXkgdG8gdGhlDQo+ICsgIHBsYXRmb3JtIHNvZnR3YXJlIGRl c2lnbmVyLiAgRm9yIHRoZSBleGFtcGxlOg0KPiArDQo+ICsgICAgICAwOiBBY2NlbGVyb21ldGVy DQo+ICsNCj4gKyAgICAgIDE6IE1hZ25ldG9tZXRlcg0KPiArDQo+ICsgIFRoZSBwbGF0Zm9ybSBo YXJkd2FyZSBkZXNpZ25lciBwaWNrcyB0aGUgYWN0dWFsIHNsYXZlIGFkZHJlc3Nlcw0KPiArICBm cm9tIHRoZSBJMkMgZGV2aWNlJ3MgZGF0YSBzaGVldCBhbmQgcHJvdmlkZXMgdGhpcyBpbmZvcm1h dGlvbg0KPiArICB0byB0aGUgcGxhdGZvcm0gc29mdHdhcmUgZGVzaWduZXIuICBUaGUgcGxhdGZv cm0gc29mdHdhcmUgZGVzaWduZXINCj4gKyAgdGhlbiBwbGFjZXMgdGhlIHNsYXZlIGFkZHJlc3Nl cyBpbnRvIHRoZSBzbGF2ZSBhZGRyZXNzIGFycmF5IGluIHRoZQ0KPiArICBvcmRlciBzcGVjaWZp ZWQgYnkgdGhlIHRoaXJkIHBhcnR5IEkyQyBkcml2ZXIgd3JpdGVyLiAgVGhlIHRoaXJkDQo+ICsg IHBhcnR5IGRyaXZlciBJMkMgd3JpdGVyIHRoZW4gaW5kaXJlY3RseSByZWZlcmVuY2VzIHRoaXMg YXJyYXkgYnkNCj4gKyAgc3BlY2lmeWluZyB0aGUgaW5kZXggdmFsdWUgYXMgdGhlIHJlbGF0aXZl IHNsYXZlIGFkZHJlc3MuICBUaGUNCj4gKyAgcmVsYXRpdmUgdmFsdWUgYWx3YXlzIHN0YXJ0cyBh dCB6ZXJvICgwKSBhbmQgaXRzIG1heGltdW0gdmFsdWUgaXMNCj4gKyAgdGhlIG51bWJlciBvZiBl bnRyaWVzIGluIHNsYXZlIGFkZHJlc3MgYXJyYXkgbWludXMgb25lLg0KPiArDQo+ICsgIFRoZSBz bGF2ZSBhZGRyZXNzIGlzIHNwZWNpZmllZCBhcyBhIDMyLWJpdCBpbnRlZ2VyIHRvIGFsbG93IHJv b20NCj4gKyAgZm9yIGZ1dHVyZSBzbGF2ZSBhZGRyZXNzIGV4cGFuc2lvbi4gIE9ubHkgdGhlIHBv cnQgZHJpdmVyIGtub3dzDQo+ICsgIHRoZSBtYXhpbXVtIHNsYXZlIGFkZHJlc3MgdmFsdWUuICBB bGwgb3RoZXIgZHJpdmVycyBhbmQNCj4gKyAgYXBwbGljYXRpb25zIG11c3QgbG9vayBmb3IgdGhl IEVGSV9OT1RfRk9VTkQgc3RhdHVzIGZvciB0aGUNCj4gKyAgaW5kaWNhdGlvbiB0aGF0IHRoZSBt YXhpbXVtIHNsYXZlIGFkZHJlc3Mgd2FzIGV4Y2VlZGVkLg0KPiArDQo+ICsgIFxzZWN0aW9uIEky Y0J1c0RyaXZlciAgICAgICAgIEkyQyBCdXMgRHJpdmVyDQo+ICsNCj4gKyAgVGhpcyBsYXllciBp cyBwbGF0Zm9ybSwgaG9zdCBjb250cm9sbGVyLCBhbmQgSTJDIGNoaXAgaW5kZXBlbmRlbnQuDQo+ ICsNCj4gKyAgVGhlIEkyQyBidXMgZHJpdmVyIGNyZWF0ZXMgYSBoYW5kbGUgZm9yIGVhY2ggb2Yg dGhlIEkyQyBkZXZpY2VzDQo+ICsgIGRlc2NyaWJlZCB3aXRoaW4gdGhlIHBsYXRmb3JtIGRyaXZl ci4gIFRoZSBJMkMgY29udHJvbGxlcidzIGRldmljZQ0KPiArICBwYXRoIGlzIGV4dGVuZGVkIHdp dGggdGhlIGRldmljZSBwYXRoIG5vZGUgcHJvdmlkZWQgYnkgdGhlIHBsYXRmb3JtDQo+ICsgIGRy aXZlciBhbmQgYXR0YWNoZWQgdG8gdGhlIGhhbmRsZS4gIFRoZSB0aGlyZCBwYXJ0eSBJMkMgZGV2 aWNlIGRyaXZlcg0KPiArICB1c2VzIHRoZSBkZXZpY2UgcGF0aCB0byBkZXRlcm1pbmUgaWYgaXQg bWF5IGNvbm5lY3QuICBGb3IgQUNQSSBub2RlcywNCj4gKyAgdGhlIHRoaXJkIHBhcnR5IEkyQyBk cml2ZXIgc2hvdWxkIHVzZSB0aGUgQ0lEIG9yIENpZFN0cmluZyB2YWx1ZS4NCj4gKw0KPiArICBU aGUgSTJDIGJ1cyBkcml2ZXIgdmFsaWRhdGVzIHRoZSByZWxhdGl2ZSBhZGRyZXNzIGZvciB0aGUg STJDIGRldmljZQ0KPiArICBhbmQgdGhlbiBjb252ZXJ0cyB0aGUgcmVsYXRpdmUgdmFsdWUgdG8g YW4gYWN0dWFsIEkyQyBzbGF2ZSBhZGRyZXNzLg0KPiArICBUaGUgcmVxdWVzdCBpcyB0aGVuIHBh c3NlZCB0byB0aGUgSTJDIGhvc3QgZHJpdmVyLg0KPiArDQo+ICsgIFxzZWN0aW9uIEkyY0hvc3RE cml2ZXIgICAgICAgIEkyQyBIb3N0IERyaXZlcg0KPiArDQo+ICsgIFRoaXMgbGF5ZXIgaXMgcGxh dGZvcm0sIGhvc3QgY29udHJvbGxlciwgYW5kIEkyQyBjaGlwIGluZGVwZW5kZW50Lg0KPiArDQo+ ICsgIE4uQi4gRm9yIHByb3BlciBvcGVyYXRpb24gb2YgdGhlIEkyQyBidXMsIG9ubHkgdGhlIEky QyBidXMgZHJpdmVyDQo+ICsgIGFuZCB0aGUgSTJDIHRlc3QgYXBwbGljYXRpb24gc2hvdWxkIGNv bm5lY3QgdG8gdGhlIEkyQyBob3N0IGRyaXZlcg0KPiArICB2aWEgdGhlIEVGSV9JMkNfSE9TVF9E UklWRVJfUFJPVE9DT0wuDQo+ICsNCj4gKyAgVGhlIEkyQyBob3N0IGRyaXZlciBtYXkgYWNjZXNz IGFueSBkZXZpY2Ugb24gdGhlIEkyQyBidXMuICBUaGUgSTJDDQo+ICsgIGhvc3QgZHJpdmVyIGhh cyB0aGUgZm9sbG93aW5nIHJlc3BvbnNpYmlsaXRpZXM6DQo+ICsNCj4gKyAgMS4gIExpbWl0cyB0 aGUgbnVtYmVyIG9mIHJlcXVlc3RzIHRvIHRoZSBJMkMgcG9ydCBkcml2ZXIgdG8gb25lLg0KPiAr ICAgICAgVGhlIEkyQyBob3N0IGRyaXZlciBob2xkcyBvbiB0byBhZGRpdGlvbmFsIHJlcXVlc3Rz IHVudGlsIHRoZQ0KPiArICAgICAgSTJDIHBvcnQgZHJpdmVyIGlzIGF2YWlsYWJsZSB0byBwcm9j ZXNzIHRoZSByZXF1ZXN0LiAgVGhlIEkyQw0KPiArICAgICAgcmVxdWVzdHMgYXJlIGlzc3VlZCBp biBGSUZPIG9yZGVyIHRvIHRoZSBJMkMgcG9ydCBkcml2ZXIuDQo+ICsNCj4gKyAgMi4gIEVuYWJs ZSB0aGUgcHJvcGVyIEkyQyBidXMgY29uZmlndXJhdGlvbiBiZWZvcmUgc3RhcnRpbmcgdGhlDQo+ ICsgICAgICBJMkMgcmVxdWVzdCBvbiB0aGUgSTJDIHBvcnQgZHJpdmVyDQo+ICsNCj4gKyAgSTJD IGRldmljZXMgYXJlIGFkZHJlc3NlZCBhcyB0aGUgdHVwbGU6IEJ1c0NvbmZpZ3VyYXRpb246U2xh dmVBZGRyZXNzLg0KPiArICBJMkMgYnVzIGNvbmZpZ3VyYXRpb24gemVybyAoMCkgaXMgdGhlIHBv cnRpb24gb2YgdGhlIEkyQyBidXMgdGhhdA0KPiArICBjb25uZWN0cyB0byB0aGUgaG9zdCBjb250 cm9sbGVyLiAgVGhlIGJ1cyBjb25maWd1cmF0aW9uIHNwZWNpZmllcw0KPiArICB0aGUgY29udHJv bCB2YWx1ZXMgZm9yIHRoZSBzd2l0Y2hlcyBhbmQgbXVsdGlwbGV4ZXJzIGluIHRoZSBJMkMgYnVz Lg0KPiArICBBZnRlciB0aGUgc3dpdGNoZXMgYW5kIG11bHRpcGxleGVycyBhcmUgcHJvcGVybHkg Y29uZmlndXJlZCwgdGhlIEkyQw0KPiArICBjb250cm9sbGVyIHVzZXMgdGhlIHNsYXZlIGFkZHJl c3MgdG8gYWNjZXNzIHRoZSByZXF1ZXN0ZWQgSTJDIGRldmljZS4NCj4gKw0KPiArICBTaW5jZSB0 aGUgSTJDIGRyaXZlciBzdGFjayBzdXBwb3J0cyBhc3luY2hyb25vdXMgb3BlcmF0aW9ucyB0aGlz DQo+ICsgIGxheWVyIG1haW50YWlucyBhIHF1ZXVlIG9mIEkyQyByZXF1ZXN0cyB1bnRpbCB0aGUg STJDIGNvbnRyb2xsZXINCj4gKyAgaXMgYXZhaWxhYmxlIHRoZW0uICBXaGVuIGEgcmVxdWVzdCBy ZWFjaGVzIHRoZSBoZWFkIG9mIHRoZSBxdWV1ZQ0KPiArICB0aGUgbmVjZXNzYXJ5IGJ1cyBjb25m aWd1cmF0aW9uIGlzIGVuYWJsZWQgYW5kIHRoZW4gdGhlIHJlcXVlc3QNCj4gKyAgaXMgc2VudCB0 byB0aGUgSTJDIHBvcnQgZHJpdmVyLg0KPiArDQo+ICsgIFxzZWN0aW9uIEkyY1BvcnREcml2ZXIg ICAgICAgIEkyQyBQb3J0IERyaXZlcg0KPiArDQo+ICsgIFRoaXMgbGF5ZXIgaXMgSTJDIGNvbnRy b2xsZXIgc3BlY2lmaWMgYnV0IHBsYXRmb3JtIGluZGVwZW5kZW50Lg0KPiArDQo+ICsgIFRoaXMg bGF5ZXIgbWFuaXB1bGF0ZXMgdGhlIEkyQyBjb250cm9sbGVyIHRvIHBlcmZvcm0gYW4gb3BlcmF0 aW9uDQo+ICsgIG9uIHRoZSBJMkMgYnVzLiAgVGhpcyBsYXllciBkb2VzIG5vdCBjb25maWd1cmUg dGhlIEkyQyBidXMgc28gaXQNCj4gKyAgaXMgdXAgdG8gdGhlIGNhbGxlciB0byBlbnN1cmUgdGhh dCB0aGUgSTJDIGJ1cyBpcyBpbiB0aGUgcHJvcGVyDQo+ICsgIGNvbmZpZ3VyYXRpb24gYmVmb3Jl IGlzc3VpbmcgdGhlIEkyQyByZXF1ZXN0Lg0KPiArDQo+ICsgIFRoaXMgbGF5ZXIgdHlwaWNhbGx5 IG5lZWRzIHRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb246DQo+ICsNCj4gKyAgMS4gIEhvc3QgY29u dHJvbGxlciBhZGRyZXNzDQo+ICsgIDIuICBDb250cm9sbGVyJ3MgaW5wdXQgY2xvY2sgZnJlcXVl bmN5DQo+ICsNCj4gKyAgRGVwZW5kaW5nIHVwb24gdGhlIEkyQyBjb250cm9sbGVyLCBtb3JlIGRh dGEgbWF5IGJlIG5lY2Vzc2FyeS4NCj4gKyAgVGhpcyBsYXllciBtYXkgdXNlIGFueSBtZXRob2Qg dG8gZ2V0IHRoZXNlIHZhbHVlczogaGFyZCBjb2RlZA0KPiArICB2YWx1ZXMsIFBDRCB2YWx1ZXMs IG9yIG1heSBjaG9vc2UgdG8gY29tbXVuaWNhdGUgd2l0aCB0aGUgcGxhdGZvcm0NCj4gKyAgbGF5 ZXIgdXNpbmcgYW4gdW5kZWZpbmVkIG1lY2hhbmlzbSB0byBnZXQgdGhlc2UgdmFsdWVzLg0KPiAr DQo+ICsgIElmIHRoZSBJMkMgcG9ydCBkcml2ZXIgcmVxdWlyZXMgZGF0YSBmcm9tIHRoZSBwbGF0 Zm9ybSBkcml2ZXIgdGhlbg0KPiArICB0aGUgSTJDIHBvcnQgZHJpdmVyIHdyaXRlciBuZWVkcyB0 byBwcm92aWRlIHRoZSBwbGF0Zm9ybSBpbnRlcmZhY2UNCj4gKyAgZGV0YWlscyB0byB0aGUgcGxh dGZvcm0gc29mdHdhcmUgZGVzaWduZXIuDQo+ICsNCj4gKyAgXHNlY3Rpb24gSTJjUGxhdGZvcm1E cml2ZXIgICAgSTJDIFBsYXRmb3JtIERyaXZlcg0KPiArDQo+ICsgIFdoZW4gZW5hYmxpbmcgYWNj ZXNzIHRvIEkyQyBkZXZpY2VzIHdpdGhpbiBVRUZJLCB0aGlzIGRyaXZlcg0KPiArICBpbnN0YWxs cyB0aGUgRUZJX0kyQ19BQ1BJX1BST1RPQ09MIHRvIHByb3ZpZGUgdGhlIEkyQyBkZXZpY2UNCj4g KyAgZGVzY3JpcHRpb25zIHRvIHRoZSBJMkMgYnVzIGRyaXZlciB1c2luZyB0aGUgRUZJX0kyQ19E RVZJQ0UNCj4gKyAgc3RydWN0dXJlLiAgVGhlc2UgZGVzY3JpcHRpb25zIGluY2x1ZGUgdGhlIGJ1 cyBjb25maWd1cmF0aW9uDQo+ICsgIG51bWJlciByZXF1aXJlZCBmb3IgdGhlIEkyQyBkZXZpY2Us IHRoZSBzbGF2ZSBhZGRyZXNzIGFycmF5DQo+ICsgIGFuZCB0aGUgZGV2aWNlIHBhdGguDQo+ICsN Cj4gKyAgVGhlIEVGSV9JMkNfQlVTX0NPTkZJR1VSQVRJT05fTUFOQUdFTUVOVCBwcm90b2NvbCBp cyBvcHRpb25hbC4NCj4gKyAgVGhpcyBwcm90b2NvbCBuZWVkcyB0byBiZSBzcGVjaWZpZWQgdW5k ZXIgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zOg0KPiArDQo+ICsgIDEuICBUaGUgSTJDIGJ1cyBt dXN0IG9wZXJhdGUgYXQgYSBmcmVxdWVuY3kgZ3JlYXRlciB0aGFuIDEwMCBLSHoNCj4gKyAgMi4g IFRoZSBJMkMgYnVzIGNvbnRhaW5zIHN3aXRjaGVzIG9yIG11bHRpcGxleGVycy4NCj4gKw0KPiAr ICBUaGUgRUZJX0kyQ19CVVNfQ09ORklHVVJBVElPTl9NQU5BR0VNRU5UIHByb3RvY29sIGVuYWJs ZXMgdGhlDQo+ICsgIEkyQyBob3N0IGRyaXZlciB0byBjYWxsIGludG8gdGhlIEkyQyBwbGF0Zm9y bSBkcml2ZXIgdG8gZW5hYmxlDQo+ICsgIGEgc3BlY2lmaWMgSTJDIGJ1cyBjb25maWd1cmF0aW9u IGFuZCBzZXQgaXRzIG1heGltdW0gY2xvY2sgc3BlZWQuDQo+ICsNCj4gKyAgVGhlIHBsYXRmb3Jt IHNvZnR3YXJlIGRlc2lnbmVyIGNvbGxlY3RzIHRoZSBkYXRhIHJlcXVpcmVtZW50cw0KPiArICBm cm9tIHRoaXJkIHBhcnR5IEkyQyBkcml2ZXIgd3JpdGVycywgdGhlIEkyQyBjb250cm9sbGVyDQo+ ICsgIGRyaXZlciB3cml0ZXIsIHRoZSBFRklfSTJDX0FDUElfUFJPVE9DT0wgYW5kDQo+ICsgIEVG SV9JMkNfQlVTX0NPTkZJR1VSQVRJT05fTUFOQUdFTUVOVF9QUk9UT0NPTC4gIFRoZQ0KPiBwbGF0 Zm9ybQ0KPiArICBzb2Z0d2FyZSBkZXNpZ25lciBnZXRzIHRoZSBuZWNlc3NhcnkgZGF0YSBmcm9t IHRoZSBwbGF0Zm9ybQ0KPiArICBoYXJkd2FyZSBkZXNpZ25lci4gIFRoZSBwbGF0Zm9ybSBzb2Z0 d2FyZSBkZXNpZ25lciB0aGVuIGJ1aWxkcw0KPiArICB0aGUgZGF0YSBzdHJ1Y3R1cmVzIGFuZCBp bXBsZW1lbnRzIHRoZSBuZWNlc3Nhcnkgcm91dGluZXMgdG8NCj4gKyAgY29uc3RydWN0IHRoZSBJ MkMgcGxhdGZvcm0gZHJpdmVyLg0KPiArDQo+ICsgIFxzZWN0aW9uIEkyY1N3aXRjaGVzICAgICAg ICAgIFN3aXRjaGVzIGFuZCBNdWx0aXBsZXhlcnMNCj4gKw0KPiArICBUaGVyZSBhcmUgc29tZSBJ MkMgc3dpdGNoZXMgYW5kIEkyQyBtdWx0aXBsZXhlcnMgd2hlcmUgdGhlIGNvbnRyb2wNCj4gKyAg aXMgZG9uZSB2aWEgSTJDIGNvbW1hbmRzLiAgV2hlbiB0aGUgY29udHJvbCBpbnB1dHMgY29tZSB2 aWEgdGhlDQo+ICsgIHNhbWUgSTJDIGJ1cyB0aGF0IGlzIGJlaW5nIGNvbmZpZ3VyZWQgdGhlbiB0 aGUgcGxhdGZvcm0gZHJpdmVyIG11c3QNCj4gKyAgdXNlIHRoZSBFRklfSTJDX01BU1RFUl9QUk9U T0NPTCB0aGF0IGlzIHBhc3NlZCB0byB0aGUgcGxhdGZvcm0NCj4gKyAgZHJpdmVyLiAgV2hpbGUg dGhlIEkyQyBob3N0IGRyaXZlciBtYWtlcyB0aGUgY2FsbCB0byB0aGUgSTJDDQo+ICsgIHBsYXRm b3JtIGRyaXZlciB0byBjb25maWd1cmUgdGhlIGJ1cywgdGhlIGhvc3QgZHJpdmVyIGtlZXBzIHRo ZQ0KPiArICBJMkMgcG9ydCBkcml2ZXIgaWRsZSwgdG8gYWxsb3cgdGhlIEkyQyBwbGF0Zm9ybSBk cml2ZXIgcHJlZm9ybQ0KPiArICB0aGUgbmVjZXNzYXJ5IGNvbmZpZ3VyYXRpb24gb3BlcmF0aW9u cy4NCj4gKw0KPiArICBJZiBob3dldmVyIHRoZSBjb25maWd1cmF0aW9uIGNvbnRyb2wgaXMgZG9u ZSB2aWEgYW5kIEkyQyBkZXZpY2UNCj4gKyAgY29ubmVjdGVkIHRvIGEgZGlmZmVyZW50IEkyQyBi dXMgKGhvc3QgY29udHJvbGxlciksIHRoZW4gaXQgaXMNCj4gKyAgcG9zc2libGUgZm9yIHRoZSBw bGF0Zm9ybSBzb2Z0d2FyZSBkZXNpZ25lciBtYXkgY2hvb3NlIGJldHdlZW4NCj4gKyAgdGhlIGZv bGxvd2luZzoNCj4gKw0KPiArICAxLiAgQ2FsbCBpbnRvIGEgdGhpcmQgcGFydHkgSTJDIGRyaXZl ciB0byBtYW5pcHVsYXRlIHRoZSBJMkMNCj4gKyAgICAgIGJ1cyBjb250cm9sIGRldmljZS4NCj4g KyAgMi4gIENhbGwgaW50byB0aGUgRUZJX0kyQ19CVVNfUFJPVE9DT0wgaWYgbm8gdGhpcmQgcGFy dHkgSTJDDQo+ICsgICAgICBkcml2ZXIgZXhpc3RzIGZvciB0aGUgSTJDIGJ1cyBjb250cm9sIGRl dmljZQ0KPiArICAzLiAgQ2FsbCBpbnRvIHRoZSBFRklfSTJDX0hPU1RfUFJPVE9DT0wgaWYgdGhl IHBsYXRmb3JtIGRvZXMNCj4gKyAgICAgIG5vdCBleHBvc2UgdGhlIEkyQyBidXMgY29udHJvbCBk ZXZpY2UuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fSTJDX01BU1RFUl9IX18NCj4g KyNkZWZpbmUgX19JMkNfTUFTVEVSX0hfXw0KPiArDQo+ICsvKioNCj4gKyAgRGVjbGFyZSB0aGUg Zm9yd2FyZCByZWZlcmVuY2VzDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9J MkNfTUFTVEVSX1BST1RPQ09MDQo+IEVGSV9JMkNfTUFTVEVSX1BST1RPQ09MOyAgLy8vPCAgSTJD IG1hc3RlciBwcm90b2NvbA0KPiArDQo+ICsvLy8NCj4gKy8vLyBJMkMgZGV2aWNlIG9wZXJhdGlv bg0KPiArLy8vDQo+ICsvLy8gVGhpcyBzdHJ1Y3R1cmUgcHJvdmlkZXMgdGhlIGluZm9ybWF0aW9u IG5lY2Vzc2FyeSBmb3IgYW4gb3BlcmF0aW9uDQo+ICsvLy8gb24gYW4gSTJDIGRldmljZQ0KPiAr Ly8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIC8vLw0KPiArICAvLy8gTnVtYmVyIG9mIGJ5 dGVzIHRvIHNlbmQgdG8gdGhlIEkyQyBkZXZpY2UNCj4gKyAgLy8vDQo+ICsgIFVJTlQzMiBXcml0 ZUJ5dGVzOw0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gTnVtYmVyIG9mIGJ5dGVzIHRvIHJlYWQs IHNldCB0byB6ZXJvIGZvciB3cml0ZSBvbmx5IG9wZXJhdGlvbnMNCj4gKyAgLy8vDQo+ICsgIFVJ TlQzMiBSZWFkQnl0ZXM7DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8vLyBBZGRyZXNzIG9mIHRoZSBi dWZmZXIgY29udGFpbmluZyB0aGUgZGF0YSB0byBzZW5kIHRvIHRoZSBJMkMgZGV2aWNlLg0KPiAr ICAvLy8gVGhlIFdyaXRlQnVmZmVyIG11c3QgYmUgYXQgbGVhc3QgV3JpdGVCeXRlcyBpbiBsZW5n dGguDQo+ICsgIC8vLw0KPiArICBVSU5UOCAqV3JpdGVCdWZmZXI7DQo+ICsNCj4gKyAgLy8vDQo+ ICsgIC8vLyBBZGRyZXNzIG9mIHRoZSBidWZmZXIgdG8gcmVjZWl2ZSBkYXRhIGZyb20gdGhlIEky QyBkZXZpY2UuIFVzZSBOVUxMDQo+ICsgIC8vLyBmb3Igd3JpdGUgb25seSBvcGVyYXRpb25zLiAg VGhlIFJlYWRCdWZmZXIgbXVzdCBiZSBhdCBsZWFzdCBSZWFkQnl0ZXMNCj4gKyAgLy8vIGluIGxl bmd0aC4NCj4gKyAgLy8vDQo+ICsgIFVJTlQ4ICpSZWFkQnVmZmVyOw0KPiArDQo+ICsgIC8vLw0K PiArICAvLy8gVGltZW91dCBmb3IgdGhlIEkyQyBvcGVyYXRpb24gaW4gMTAwIG5zIHVuaXRzDQo+ ICsgIC8vLw0KPiArICBVSU5UMzIgVGltZW91dDsNCj4gK30gRUZJX0kyQ19SRVFVRVNUX1BBQ0tF VDsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgU2V0IHRoZSBJMkMgY29udHJvbGxlciBidXMgY2xv Y2sgZnJlcXVlbmN5Lg0KPiArDQo+ICsgIFRoaXMgcm91dGluZSBtdXN0IGJlIGNhbGxlZCBhdCBv ciBiZWxvdyBUUExfTk9USUZZLg0KPiArDQo+ICsgIFRoZSBzb2Z0d2FyZSBhbmQgY29udHJvbGxl ciBkbyBhIGJlc3QgY2FzZSBlZmZvcnQgb2YgdXNpbmcgdGhlIHNwZWNpZmllZA0KPiArICBmcmVx dWVuY3kgZm9yIHRoZSBJMkMgYnVzLiAgSWYgdGhlIGZyZXF1ZW5jeSBkb2VzIG5vdCBtYXRjaCBl eGFjdGx5IHRoZW4NCj4gKyAgdGhlIGNvbnRyb2xsZXIgd2lsbCB1c2UgYSBzbGlnaHRseSBsb3dl ciBmcmVxdWVuY3kgdG8gYXZvaWQNCj4gKyAgZXhjZWVkaW5nIHRoZSBvcGVyYXRpbmcgY29uZGl0 aW9ucyBmb3IgYW55IG9mIHRoZSBJMkMgZGV2aWNlcyBvbiB0aGUgYnVzLg0KPiArICBGb3IgZXhh bXBsZSBpZiA0MDAgS0h6IHdhcyBzcGVjaWZpZWQgYW5kIHRoZSBjb250cm9sbGVyJ3MgZGl2aWRl IG5ldHdvcmsNCj4gKyAgb25seSBzdXBwb3J0cyA0MDIgS0h6IG9yIDM5OCBLSHogdGhlbiB0aGUg Y29udHJvbGxlciB3b3VsZCBiZSBzZXQgdG8gMzk4DQo+ICsgIEtIei4gIEhvd2V2ZXIgaWYgdGhl IGRlc2lyZWQgZnJlcXVlbmN5IGlzIDQwMCBLSHogYW5kIHRoZSBjb250cm9sbGVyIG9ubHkNCj4g KyAgc3VwcG9ydHMgMSBNSHogYW5kIDEwMCBLSHogdGhlbiB0aGlzIHJvdXRpbmUgd291bGQgcmV0 dXJuDQo+IEVGSV9VTlNVUFBPUlRFRC4NCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMgICAgICAg ICAgIEFkZHJlc3Mgb2YgYW4gRUZJX0kyQ19NQVNURVJfUFJPVE9DT0wNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUNCj4gKyAgQHBhcmFtW2luXSBCdXNDbG9ja0hlcnR6 ICBOZXcgSTJDIGJ1cyBjbG9jayBmcmVxdWVuY3kgaW4gSGVydHoNCj4gKw0KPiArICBAcmV0dmFs IEVGSV9TVUNDRVNTICAgICAgIFRoZSBidXMgZnJlcXVlbmN5IHdhcyBzZXQgc3VjY2Vzc2Z1bGx5 Lg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgIFRoZSBjb250cm9sbGVyIGRvZXMgbm90 IHN1cHBvcnQgdGhpcw0KPiBmcmVxdWVuY3kuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiAr RUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX0kyQ19NQVNURVJfQlVTX0ZSRVFVRU5DWV9TRVQp ICgNCj4gKyAgSU4gQ09OU1QgRUZJX0kyQ19NQVNURVJfUFJPVE9DT0wgKlRoaXMsDQo+ICsgIElO IFVJTlROIEJ1c0Nsb2NrSGVydHoNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFJlc2V0IHRo ZSBJMkMgY29udHJvbGxlciBhbmQgY29uZmlndXJlIGl0IGZvciB1c2UNCj4gKw0KPiArICBUaGlz IHJvdXRpbmUgbXVzdCBiZSBjYWxsZWQgYXQgb3IgYmVsb3cgVFBMX05PVElGWS4NCj4gKw0KPiAr ICBUaGUgSTJDIGNvbnRyb2xsZXIgaXMgcmVzZXQgYW5kIHRoZSBJMkMgYnVzIGZyZXF1ZW5jeSBp cyBzZXQgdG8gMTAwIEtIei4NCj4gKw0KPiArICBAcGFyYW1baW5dICAgICBUaGlzICAgICAgIEFk ZHJlc3Mgb2YgYW4gRUZJX0kyQ19NQVNURVJfUFJPVE9DT0wNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzdHJ1Y3R1cmUNCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtWT0lEDQo+ ICsoRUZJQVBJICpFRklfSTJDX01BU1RFUl9SRVNFVCkgKA0KPiArICBJTiBDT05TVCBFRklfSTJD X01BU1RFUl9QUk9UT0NPTCAqVGhpcw0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgU3RhcnQg YW4gSTJDIG9wZXJhdGlvbiBvbiB0aGUgaG9zdCBjb250cm9sbGVyDQo+ICsNCj4gKyAgVGhpcyBy b3V0aW5lIG11c3QgYmUgY2FsbGVkIGF0IG9yIGJlbG93IFRQTF9OT1RJRlkuICBGb3Igc3luY2hy b25vdXMNCj4gKyAgcmVxdWVzdHMgdGhpcyByb3V0aW5lIG11c3QgYmUgY2FsbGVkIGF0IG9yIGJl bG93IFRQTF9DQUxMQkFDSy4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIGluaXRpYXRlcyBhbiBJ MkMgb3BlcmF0aW9uIG9uIHRoZSBjb250cm9sbGVyLg0KPiArDQo+ICsgIFRoZSBvcGVyYXRpb24g aXMgcGVyZm9ybWVkIGJ5IHNlbGVjdGluZyB0aGUgSTJDIGRldmljZSB3aXRoIGl0cyBzbGF2ZQ0K PiArICBhZGRyZXNzIGFuZCB0aGVuIHNlbmRpbmcgYWxsIHdyaXRlIGRhdGEgdG8gdGhlIEkyQyBk ZXZpY2UuICBJZiByZWFkIGRhdGENCj4gKyAgaXMgcmVxdWVzdGVkLCBhIHJlc3RhcnQgaXMgc2Vu dCBmb2xsb3dlZCBieSB0aGUgc2xhdmUgYWRkcmVzcyBhbmQgdGhlbg0KPiArICB0aGUgcmVhZCBk YXRhIGlzIGNsb2NrZWQgaW50byB0aGUgSTJDIGNvbnRyb2xsZXIgYW5kIHBsYWNlZCBpbiB0aGUg cmVhZA0KPiArICBidWZmZXIuICBXaGVuIHRoZSBvcGVyYXRpb24gY29tcGxldGVzLCB0aGUgc3Rh dHVzIHZhbHVlIGlzIHJldHVybmVkIGFuZA0KPiArICB0aGVuIHRoZSBldmVudCBpcyBzZXQuDQo+ ICsNCj4gKyAgTi5CLiBUaGUgdHlwaWNhbCBjb25zdW1lciBvZiB0aGlzIEFQSSBpcyB0aGUgSTJD IGhvc3QgZHJpdmVyLg0KPiArICBFeHRyZW1lIGNhcmUgbXVzdCBiZSB0YWtlbiBieSBvdGhlciBj b25zdW1lcnMgb2YgdGhpcyBBUEkgdG8NCj4gKyAgcHJldmVudCBjb25mdXNpbmcgdGhlIHRoaXJk IHBhcnR5IEkyQyBkcml2ZXJzIGR1ZSB0byBhIHN0YXRlDQo+ICsgIGNoYW5nZSBhdCB0aGUgSTJD IGRldmljZSB3aGljaCB0aGUgdGhpcmQgcGFydHkgSTJDIGRyaXZlcnMgZGlkDQo+ICsgIG5vdCBp bml0aWF0ZS4gIEkyQyBwbGF0Zm9ybSBkcml2ZXJzIG1heSB1c2UgdGhpcyBBUEkgd2l0aGluDQo+ ICsgIHRoZXNlIGd1aWRlbGluZXMuDQo+ICsNCj4gKyAgTi5CLiBUaGlzIEFQSSBzdXBwb3J0cyBv bmx5IG9uZSBvcGVyYXRpb24sIG5vIHF1ZXVpbmcgc3VwcG9ydA0KPiArICBleGlzdHMgYXQgdGhp cyBsYXllci4gIFRoaXMgQVBJIGFzc3VtZXMgdGhhdCB0aGUgSTJDIGJ1cyBpcyBpbg0KPiArICB0 aGUgY29ycmVjdCBjb25maWd1cmF0aW9uIGZvciB0aGUgSTJDIHJlcXVlc3QuDQo+ICsNCj4gKyAg QHBhcmFtW2luXSBUaGlzICAgICAgICAgICBBZGRyZXNzIG9mIGFuIEVGSV9JMkNfTUFTVEVSX1BS T1RPQ09MDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0dXJlDQo+ICsgIEBw YXJhbVtpbl0gU2xhdmVBZGRyZXNzICAgQWRkcmVzcyBvZiB0aGUgZGV2aWNlIG9uIHRoZSBJMkMg YnVzLg0KPiArICBAcGFyYW1baW5dIEV2ZW50ICAgICAgICAgIEV2ZW50IHRvIHNldCBmb3IgYXN5 bmNocm9ub3VzIG9wZXJhdGlvbnMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCBmb3Igc3luY2hyb25vdXMgb3BlcmF0aW9ucw0KPiArICBAcGFyYW1baW5dIFJlcXVlc3RQYWNr ZXQgIEFkZHJlc3Mgb2YgYW4gRUZJX0kyQ19SRVFVRVNUX1BBQ0tFVA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0cnVjdHVyZSBkZXNjcmliaW5nIHRoZSBJMkMgb3BlcmF0aW9uDQo+ ICsgIEBwYXJhbVtvdXRdIEkyY1N0YXR1cyAgICAgT3B0aW9uYWwgYnVmZmVyIHRvIHJlY2VpdmUg dGhlIEkyQyBvcGVyYXRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb21wbGV0 aW9uIHN0YXR1cw0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgIFRoZSBv cGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBFRklfQUJPUlRF RCAgICAgICAgICAgVGhlIHJlcXVlc3QgZGlkIG5vdCBjb21wbGV0ZSBiZWNhdXNlIHRoZQ0KPiBk cml2ZXINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2FzIHNodXRkb3duLg0K PiArICBAcmV0dmFsIEVGSV9CQURfQlVGRkVSX1NJWkUgICBUaGUgV3JpdGVCeXRlcyBvciBSZWFk Qnl0ZXMgYnVmZmVyIHNpemUNCj4gaXMgdG9vIGxhcmdlLg0KPiArICBAcmV0dmFsIEVGSV9ERVZJ Q0VfRVJST1IgICAgICBUaGVyZSB3YXMgYW4gSTJDIGVycm9yIChOQUNLKSBkdXJpbmcgdGhlDQo+ IG9wZXJhdGlvbi4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBjb3Vs ZCBpbmRpY2F0ZSB0aGUgc2xhdmUgZGV2aWNlIGlzIG5vdCBwcmVzZW50Lg0KPiArICBAcmV0dmFs IEVGSV9JTlZBTElEX1BBUkFNRVRFUiBSZXF1ZXN0UGFja2V0IGlzIE5VTEwNCj4gKyAgQHJldHZh bCBFRklfSU5WQUxJRF9QQVJBTUVURVIgVFBMIGlzIHRvbyBoaWdoDQo+ICsgIEByZXR2YWwgRUZJ X05PVF9GT1VORCAgICAgICAgIFNsYXZlQWRkcmVzcyBleGNlZWRzIG1heGltdW0gYWRkcmVzcw0K PiArICBAcmV0dmFsIEVGSV9OT1RfUkVBRFkgICAgICAgICBJMkMgYnVzIGlzIGJ1c3kgb3Igb3Bl cmF0aW9uIHBlbmRpbmcsIHdhaXQgZm9yDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHRoZSBldmVudCBhbmQgdGhlbiByZWFkIHN0YXR1cyBwb2ludGVkIHRvIGJ5DQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSByZXF1ZXN0IHBhY2tldC4NCj4gKyAgQHJl dHZhbCBFRklfTk9fUkVTUE9OU0UgICAgICAgVGhlIEkyQyBkZXZpY2UgaXMgbm90IHJlc3BvbmRp bmcgdG8gdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNsYXZlIGFkZHJl c3MuICBFRklfREVWSUNFX0VSUk9SIG1heSBhbHNvIGJlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHJldHVybmVkIGlmIHRoZSBjb250cm9sbGVyIGNhbm5vdCBkaXN0aW5ndWlz aA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHRoZSBOQUNLIG9jY3Vy cmVkLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBJbnN1ZmZpY2llbnQgbWVt b3J5IGZvciBJMkMgb3BlcmF0aW9uDQo+ICsgIEByZXR2YWwgRUZJX1RJTUVPVVQgICAgICAgICAg IFRoZSB0cmFuc2FjdGlvbiBkaWQgbm90IGNvbXBsZXRlIHdpdGhpbiBhbg0KPiBpbnRlcm5hbGx5 DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNwZWNpZmllZCB0aW1lb3V0IHBl cmlvZC4NCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJ ICpFRklfSTJDX01BU1RFUl9TVEFSVF9SRVFVRVNUKSAoDQo+ICsgIElOIENPTlNUIEVGSV9JMkNf TUFTVEVSX1BST1RPQ09MICpUaGlzLA0KPiArICBJTiBVSU5UTiBTbGF2ZUFkZHJlc3MsDQo+ICsg IElOIEVGSV9FVkVOVCBFdmVudCBPUFRJT05BTCwNCj4gKyAgSU4gQ09OU1QgRUZJX0kyQ19SRVFV RVNUX1BBQ0tFVCAqUmVxdWVzdFBhY2tldCwNCj4gKyAgT1VUIEVGSV9TVEFUVVMgKkkyY1N0YXR1 cyBPUFRJT05BTA0KPiArICApOw0KPiArDQo+ICsvLy8NCj4gKy8vLyBJMkMgbWFzdGVyIG1vZGUg cHJvdG9jb2wNCj4gKy8vLw0KPiArLy8vIFRoaXMgcHJvdG9jb2wgbWFuaXB1bGF0ZXMgdGhlIEky QyBob3N0IGNvbnRyb2xsZXIgdG8gcGVyZm9ybSB0cmFuc2FjdGlvbnMNCj4gYXMgYQ0KPiArLy8v IG1hc3RlciBvbiB0aGUgSTJDIGJ1cyB1c2luZyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhbnkgc3dp dGNoZXMgb3INCj4gbXVsdGlwbGV4ZXJzDQo+ICsvLy8gaW4gdGhlIEkyQyBidXMuDQo+ICsvLy8N Cj4gK3N0cnVjdCBfRUZJX0kyQ19NQVNURVJfUFJPVE9DT0wgew0KPiArICAvLy8NCj4gKyAgLy8v IFNldCB0aGUgY2xvY2sgZnJlcXVlbmN5IGZvciB0aGUgSTJDIGJ1cw0KPiArICAvLy8NCj4gKyAg RUZJX0kyQ19NQVNURVJfQlVTX0ZSRVFVRU5DWV9TRVQgQnVzRnJlcXVlbmN5U2V0Ow0KPiArDQo+ ICsgIC8vLw0KPiArICAvLy8gUmVzZXQgdGhlIEkyQyBob3N0IGNvbnRyb2xsZXINCj4gKyAgLy8v DQo+ICsgIEVGSV9JMkNfTUFTVEVSX1JFU0VUIFJlc2V0Ow0KPiArDQo+ICsgIC8vLw0KPiArICAv Ly8gU3RhcnQgYW4gSTJDIHRyYW5zYWN0aW9uIGluIG1hc3RlciBtb2RlIG9uIHRoZSBob3N0IGNv bnRyb2xsZXINCj4gKyAgLy8vDQo+ICsgIEVGSV9JMkNfTUFTVEVSX1NUQVJUX1JFUVVFU1QgU3Rh cnRSZXF1ZXN0Ow0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gVGhlIG1heGltdW0gbnVtYmVyIG9m IGJ5dGVzIHRoZSBJMkMgaG9zdCBjb250cm9sbGVyDQo+ICsgIC8vLyBpcyBhYmxlIHRvIHJlY2Vp dmUgZnJvbSB0aGUgSTJDIGJ1cy4NCj4gKyAgLy8vDQo+ICsgIFVJTlQzMiBNYXhpbXVtUmVjZWl2 ZUJ5dGVzOw0KPiArDQo+ICsgIC8vLw0KPiArICAvLy8gVGhlIG1heGltdW0gbnVtYmVyIG9mIGJ5 dGVzIHRoZSBJMkMgaG9zdCBjb250cm9sbGVyDQo+ICsgIC8vLyBpcyBhYmxlIHRvIHNlbmQgb24g dGhlIEkyQyBidXMuDQo+ICsgIC8vLw0KPiArICBVSU5UMzIgTWF4aW11bVRyYW5zbWl0Qnl0ZXM7 DQo+ICsNCj4gKyAgLy8vDQo+ICsgIC8vLyBUaGUgbWF4aW11bSBudW1iZXIgb2YgYnl0ZXMgaW4g dGhlIEkyQyBidXMgdHJhbnNhY3Rpb24uDQo+ICsgIC8vLw0KPiArICBVSU5UMzIgTWF4aW11bVRv dGFsQnl0ZXM7DQo+ICt9Ow0KPiArDQo+ICsvLy8NCj4gKy8vLyBHVUlEIGZvciB0aGUgRUZJX0ky Q19NQVNURVJfUFJPVE9DT0wNCj4gKy8vLw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlJMmNNYXN0 ZXJQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZiAgLy8gIF9fSTJDX01BU1RFUl9IX18NCj4g ZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJv dG9jb2wvSTJjU2xhdmUuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0lu Y2x1ZGUvUHJvdG9jb2wvSTJjU2xhdmUuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwLi42NGNiMmI3Mzk4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9JMmNTbGF2ZS5oDQo+ IEBAIC0wLDAgKzEsMTk0IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0 ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g Kw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fSTJDX1NM QVZFX0hfXw0KPiArI2RlZmluZSBfX0kyQ19TTEFWRV9IX18NCj4gKw0KPiArI2luY2x1ZGUgPFBy b3RvY29sL0kyY0hvc3RNY2cuaD4NCj4gKw0KPiArLyoqDQo+ICsgIERlY2xhcmUgdGhlIGZvcndh cmQgcmVmZXJlbmNlcw0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYgc3RydWN0IF9FRklfSTJDX1NM QVZFX1BST1RPQ09MICAgIEVGSV9JMkNfU0xBVkVfUFJPVE9DT0w7DQo+IC8vLzwgIEkyQyBzbGF2 ZSBwcm90b2NvbA0KPiArDQo+ICsvKioNCj4gKyAgVGhlIEkyQyBjb250cm9sbGVyIHJlY2VpdmVk IGEgZGF0YSBieXRlIGZyb20gdGhlDQo+ICsgIEkyQyBtc3N0ZXIuDQo+ICsNCj4gKyAgQHBhcmFt W2luXSBDb250ZXh0ICAgICAgICBUaGUgdmFsdWUgcGFzc2VkIHRvIHRoZSBzbGF2ZSBlbmFibGUg cm91dGluZS4NCj4gKyAgQHBhcmFtW2luXSBOdW1iZXJPZkJ5dGVzICBOdW1iZXIgb2YgZGF0YSBi eXRlcyByZWNlaXZlZA0KPiArICBAcGFyYW1baW5dIERhdGEgICAgICAgICAgIEJ1ZmZlciBjb250 YWluaW5nIHRoZSByZWNlaXZlZCBkYXRhIGJ5dGVzDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VD Q0VTUyAgICAgICBBQ0sgdGhlIGRhdGEgYnl0ZQ0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRF RCAgIE5BQ0sgdGhlIGRhdGEgYnl0ZQ0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9T VEFUVVMNCj4gKyhFRklBUEkgKkVGSV9JMkNfU0xBVkVfUkVDRUlWRV9EQVRBKSAoDQo+ICsgIElO IFZPSUQgKkNvbnRleHQsDQo+ICsgIElOIFVJTlROIE51bWJlck9mQnl0ZXMsDQo+ICsgIElOIENP TlNUIFVJTlQ4ICpEYXRhDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBUaGUgSTJDIGNvbnRy b2xsZXIgcmVjZWl2ZWQgdGhlIHN0YXJ0IGJpdCBmcm9tIHRoZQ0KPiArICBJMkMgbWFzdGVyLg0K PiArDQo+ICsgIEBwYXJhbVtpbl0gQ29udGV4dCAgICAgICAgVGhlIHZhbHVlIHBhc3NlZCB0byB0 aGUgc2xhdmUgZW5hYmxlIHJvdXRpbmUuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArVk9J RA0KPiArKEVGSUFQSSAqRUZJX0kyQ19TTEFWRV9SRUNFSVZFX1NUQVJUKSAoDQo+ICsgIElOIFZP SUQgKkNvbnRleHQsDQo+ICsgIElOIFVJTlROIEJ5dGVzU2VudCwNCj4gKyAgSU4gRUZJX1NUQVRV UyBTdGF0dXMNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoZSBJMkMgY29udHJvbGxlciBy ZWNlaXZlZCB0aGUgc3RvcCBiaXQgZnJvbSB0aGUNCj4gKyAgSTJDIG1hc3Rlci4NCj4gKw0KPiAr ICBAcGFyYW1baW5dIENvbnRleHQgICAgICAgIFRoZSB2YWx1ZSBwYXNzZWQgdG8gdGhlIHNsYXZl IGVuYWJsZSByb3V0aW5lLg0KPiArICBAcGFyYW1baW5dIEJ5dGVzU2VudCAgICAgIE51bWJlciBv ZiBieXRlcyBzdWNjZXNzZnVsbHkgQUNLZWQgYnkgdGhlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSTJDIG1hc3Rlci4gIFRoaXMgaXMgYSBoaW50LCBub3QgYWxsIEkyQw0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRyb2xsZXJzIHN1cHBvcnQgdGhlIGFiaWxpdHkg dG8gcmV0dXJuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIG51bWJlciBvZiBi eXRlcyBzZW50LiAgV2hlbiBpdCBpcyBub3QNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwb3NzaWJsZSwgdGhlIHBvcnQgZHJpdmVyIHJldHVybnMgemVyby4NCj4gKyAgQHBhcmFtW2lu XSBTdGF0dXMgICAgICAgICA8dWw+DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 bGk+RUZJX1NVQ0NFU1MgLSBBbGwgb2YgdGhlIGRhdGEgd2FzIHN1Y2Nlc3NmdWxseSBzZW50PC9s aT4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaT5FRklfQUJPUlRFRCAtIFRo ZSBjb250cm9sbGVyIHdhcyByZXNldDwvbGk+DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA8bGk+RUZJX0RFVklDRV9FUlJPUiAtIEEgTkFDSyB3YXMgcmVjZWl2ZWQgd2hlbiBzZW5k aW5nDQo+IHRoZSBkYXRhLjwvbGk+DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8 bGk+RUZJX0VORF9PRl9GSUxFIC0gVGhlIHN0b3AgYml0IHdhcyByZWNlaXZlZCBiZWZvcmUgYWxs DQo+IG9mDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBkYXRhIHdhcyBz ZW50LjwvbGk+DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD4NCj4gKw0KPiAr KiovDQo+ICt0eXBlZGVmDQo+ICtWT0lEDQo+ICsoRUZJQVBJICpFRklfSTJDX1NMQVZFX1JFQ0VJ VkVfU1RPUCkgKA0KPiArICBJTiBWT0lEICpDb250ZXh0LA0KPiArICBJTiBVSU5UTiBCeXRlc1Nl bnQsDQo+ICsgIElOIEVGSV9TVEFUVVMgU3RhdHVzDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiAr ICBFbmFibGUgb3IgZGlzYWJsZSBJMkMgc2xhdmUgb3BlcmF0aW9uLg0KPiArDQo+ICsgIFRoZSBS ZWNlaXZlRGF0YSBjYWxsYmFjayBhbGxvd3MgdGhlIHBvcnQgZHJpdmVyIHRvIHJldHVybiBkYXRh DQo+ICsgIHRvIHRoZSBkcml2ZXIgb3IgYXBwbGljYXRpb24gaGFuZGxpbmcgc2xhdmUgbW9kZSBv cGVyYXRpb25zLiAgVGhpcw0KPiArICBpcyBkYXRhIHRoYXQgYSByZW1vdGUgbWFzdGVyIGhhcyBz ZW50IHRvIHRoZSBsb2NhbCBJMkMgY29udHJvbGxlci4NCj4gKyAgVGhlIGRhdGEgbWF5IGJlIHJl dHVybmVkIG9uZSBieXRlIGF0IGEgdGltZSBpZiB0aGUgY29udHJvbGxlciBzdXBwb3J0cw0KPiAr ICB0aGUgYWJpbGl0eSB0byBBQ0svTkFDSyBvbiBlYWNoIHJlY2VpdmUgYnl0ZS4gIElmIG5vdCwg YSBibG9jayBvZg0KPiArICBkYXRhIG1heSBiZSByZXR1cm5lZCBieSB0aGUgSTJDIHBvcnQgZHJp dmVyIGFuZCB0aGUgQUNLL05BQ0sgc3RhdHVzDQo+ICsgIGlzIHVzZWQgb25seSBhcyBhIGhpbnQg Zm9yIHRoZSBwb3J0IGRyaXZlci4NCj4gKw0KPiArICBUaGUgc2xhdmUgbW9kZSBkcml2ZXIgb3Ig YXBwbGljYXRpb24gc2hvdWxkIGJ1ZmZlciB0aGUgZGF0YSB1bnRpbA0KPiArICBlaXRoZXIgUmVj ZWl2ZVN0YXJ0IG9yIFJlY2VpdmVTdG9wIGlzIGNhbGxlZC4gIEF0IHRoYXQgdGltZSBhbGwgb2YN Cj4gKyAgdGhlIGRhdGEgaXMgcmVjZWl2ZWQgYW5kIHRoZSBjb21tYW5kIG1heSBiZSBwcm9jZXNz ZWQuDQo+ICsNCj4gKyAgUmVjZWl2ZVN0YXJ0IGlzIGNhbGxlZCB3aGVuIHRoZSBJMkMgbWFzdGVy IGlzIGV4cGVjdGluZyBhIHJlc3BvbnNlLg0KPiArICBBZnRlciBwcm9jZXNzaW5nIHRoZSBjb21t YW5kLCBidXQgYmVmb3JlIHNlbmRpbmcgdGhlIHJlc3BvbnNlIHRoZQ0KPiArICBzbGF2ZSBkcml2 ZXIgb3IgYXBwbGljYXRpb24gc2hvdWxkIG1hcmsgdGhlIGNvbW1hbmQgYXMgcHJvY2Vzc2VkIHRv DQo+ICsgIGF2b2lkIHByb2Nlc3NpbmcgaXQgYSBzZWNvbmQgdGltZSB3aGVuIFJlY2VpdmVTdG9w IGlzIGNhbGxlZC4gIFRoZQ0KPiArICBzbGF2ZSBkcml2ZXIgb3IgYXBwbGljYXRpb24gdGhlbiBj YWxscyBTZW5kRGF0YSB0byBzZW5kIHRvIHF1ZXVlIHRoZQ0KPiArICByZXNwb25zZSBkYXRhIGZv ciB0cmFuc21pc3Npb24uICBUaGUgZGF0YSBtdXN0IHJlbWFpbiB2YWxpZCBpbiB0aGUNCj4gKyAg V3JpdGVCdWZmZXIgdW50aWwgUmVjZWl2ZVN0b3AgaXMgY2FsbGVkLg0KPiArDQo+ICsgIFJlY2Vp dmVTdG9wIGlzIGNhbGxlZCB3aGVuIHRoZSBzdG9wIGJpdCBpcyByZWNlaXZlZCBvbiB0aGUgSTJD IGJ1cy4NCj4gKyAgVGhlIHNsYXZlIGRyaXZlciBvciBhcHBsaWNhdGlvbiBzdGFydHMgcHJvY2Vz c2luZyB0aGUgY29tbWFuZCBpZiBhbg0KPiArICBjb21tYW5kIGRhdGEgaXMgcGVuZGluZyBpbiB0 aGUgc2xhdmUgZHJpdmVyJ3Mgb3IgYXBwbGljYXRpb24ncyBidWZmZXIuDQo+ICsgIFRoZSBCeXRl c1NlbnQgdmFsdWUgaXMgYSBoaW50IHRvIHRoZSBzbGF2ZSBkcml2ZXIgb3IgYXBwbGljYXRpb24g YXMNCj4gKyAgdG8gaG93IG11Y2ggZGF0YSB3YXMgcmV0dXJuZWQgdG8gdGhlIEkyQyBtYXN0ZXIu ICBJZiB0aGUgY29udHJvbGxlcg0KPiArICBkb2VzIG5vdCBwcm92aWRlIHRoaXMgbGV2ZWwgb2Yg c3VwcG9ydCB0aGVuIHRoaXMgdmFsdWUgaXMgc2V0IHRvIHplcm8uDQo+ICsNCj4gKyAgQHBhcmFt W2luXSBUaGlzICAgICAgICAgICBBZGRyZXNzIG9mIGFuIEVGSV9JMkNfU0xBVkVfUFJPVE9DT0wN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUNCj4gKyAgQHBhcmFtW2lu XSBTbGF2ZUFkZHJlc3MgICBTbGF2ZSBhZGRyZXNzIGZvciB0aGUgSTJDIGNvbnRyb2xsZXINCj4g KyAgQHBhcmFtW2luXSBDb250ZXh0ICAgICAgICBBZGRyZXNzIG9mIGEgY29udGV4dCBzdHJ1Y3R1 cmUgZm9yIHVzZSB3aGVuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2FsbGluZyBS ZWNlaXZlRGF0YSBvciBSZWNlaXZlU3RvcA0KPiArICBAcGFyYW1baW5dIFJlY2VpdmVEYXRhICAg IENhbGxlZCBieSB0aGUgSTJDIHBvcnQgZHJpdmVyIGFzIGRhdGEgYnl0ZXMNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhcmUgcmVjZWl2ZWQgZnJvbSB0aGUgbWFzdGVyLiAgUmVzcG9u c2Ugc3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5kaWNhdGVzIGlmIHRo ZSBieXRlIGlzIEFDS2VkIG9yIE5BQ0tlZC4gV2hlbg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGRhdGEgaXMgcGFzc2VkIGJhY2sgYSBieXRlIGF0IGEgdGltZSwgdGhlIHBvcnQNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIgbXVzdCBob2xkIHRoZSBjbG9jayB1 bnRpbCB0aGlzIGNhbGxiYWNrDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu cy4NCj4gKyAgQHBhcmFtW2luXSBSZWNlaXZlU3RhcnQgICBDYWxsZWQgd2hlbiB0aGUgSTJDIGNv bnRyb2xsZXIgcmVjZWl2ZXMgYSBzdGFydA0KPiBiaXQuDQo+ICsgIEBwYXJhbVtpbl0gUmVjZWl2 ZVN0b3AgICAgQ2FsbGVkIGFmdGVyIGFsbCBvZiB0aGUgZGF0YSBieXRlcyBhcmUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZWNlaXZlZC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTICAgICAgIFNsYXZlIG9wZXJhdGlvbiBpcyBlbmFibGVkIG9uIHRoZSBjb250cm9sbGVy Lg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgIFRoZSBjb250cm9sbGVyIGRvZXMgbm90 IHN1cHBvcnQgdGhpcw0KPiBmcmVxdWVuY3kuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiAr RUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqRUZJX0kyQ19TTEFWRV9FTkFCTEUpICgNCj4gKyAgSU4g Q09OU1QgRUZJX0kyQ19TTEFWRV9QUk9UT0NPTCAqVGhpcywNCj4gKyAgSU4gVUlOVDMyIFNsYXZl QWRkcmVzcywNCj4gKyAgSU4gVk9JRCAqQ29udGV4dCwNCj4gKyAgSU4gRUZJX0kyQ19TTEFWRV9S RUNFSVZFX0RBVEEgUmVjZWl2ZURhdGEsDQo+ICsgIElOIEVGSV9JMkNfU0xBVkVfUkVDRUlWRV9T VEFSVCBSZWNlaXZlU3RhcnQsDQo+ICsgIElOIEVGSV9JMkNfU0xBVkVfUkVDRUlWRV9TVE9QIFJl Y2VpdmVTdG9wDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBTZW5kIGRhdGEgdG8gdGhlIEky QyBtYXN0ZXIuDQo+ICsNCj4gKyAgUG9ydCBkcml2ZXJzIG1heSBpbXBsZW1lbnQgdGhpcyBhcyBh IGJsb2NraW5nIG9yIG5vbi1ibG9ja2luZyBjYWxsLg0KPiArICBUaGUgZGF0YSBpbiB0aGUgd3Jp dGUgYnVmZmVyIG11c3QgcmVtYWluIHZhbGlkIHVudGlsIFJlY2VpdmVTdG9wIG9yDQo+ICsgIFJl Y2VpdmVTdGFydCBpcyBjYWxsZWQgaW5kaWNhdGluZyB0aGF0IHRoZSBJMkMgbWFzdGVyIGhhcyB0 ZXJtaW5hdGVkDQo+ICsgIHRoZSB0cmFuc2Zlci4NCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMg ICAgICAgICBBZGRyZXNzIG9mIGFuIEVGSV9JMkNfU0xBVkVfUFJPVE9DT0wNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgc3RydWN0dXJlDQo+ICsgIEBwYXJhbVtpbl0gV3JpdGVCeXRlcyAg IE51bWJlciBvZiBieXRlcyB0byB3cml0ZQ0KPiArICBAcGFyYW1baW5dIFdyaXRlQnVmZmVyICBC dWZmZXIgY29udGFpbmluZyB0aGUgZGF0YSB0byBzZW5kDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgRGF0YSB3YWl0aW5nIGZvciBtYXN0ZXIgYWNjZXNzLg0KPiArICBA cmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiBXcml0ZUJ1ZmZlciBpcyBOVUxMIG9yIFdyaXRl Qnl0ZXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgemVyby4NCj4gKw0K PiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfSTJDX1NM QVZFX1NFTkQpICgNCj4gKyAgSU4gQ09OU1QgRUZJX0kyQ19TTEFWRV9QUk9UT0NPTCAqVGhpcywN Cj4gKyAgSU4gVUlOVE4gV3JpdGVCeXRlcywNCj4gKyAgSU4gQ09OU1QgVUlOVDggKldyaXRlQnVm ZmVyDQo+ICsgICk7DQo+ICsNCj4gKy8vLw0KPiArLy8vIEkyQyBzbGF2ZSBwcm90b2NvbA0KPiAr Ly8vDQo+ICsvLy8gVGhlIHBvcnQgZHJpdmVyIHB1Ymxpc2hlcyB0aGlzIHByb3RvY29sIHdoZW4g c2xhdmUgbW9kZSBpcw0KPiArLy8vIHN1cHBvcnRlZCBieSB0aGUgY29udHJvbGxlci4NCj4gKy8v Lw0KPiArc3RydWN0IF9FRklfSTJDX1NMQVZFX1BST1RPQ09MIHsNCj4gKyAgLy8vDQo+ICsgIC8v LyBFbmFibGUgb3IgZGlzYWJsZSBJMkMgc2xhdmUgb3BlcmF0aW9uDQo+ICsgIC8vLw0KPiArICBF RklfSTJDX1NMQVZFX0VOQUJMRSBTbGF2ZUVuYWJsZTsNCj4gKw0KPiArICAvLy8NCj4gKyAgLy8v IFNlbmQgZGF0YSB0byB0aGUgSTJDIG1hc3Rlcg0KPiArICAvLy8NCj4gKyAgRUZJX0kyQ19TTEFW RV9TRU5EIFNlbmREYXRhOw0KPiArfTsNCj4gKw0KPiArLy8vDQo+ICsvLy8gR1VJRCBmb3IgdGhl IEVGSV9JMkNfU0xBVkVfUFJPVE9DT0wNCj4gKy8vLw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlJ MmNTbGF2ZVByb3RvY29sR3VpZDsNCj4gKw0KPiArI2VuZGlmICAvLyAgX19JMkNfU0xBVkVfSF9f DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL1Byb3RvY29sL0xwY1dwYzgzNjI3UG9saWN5LmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL0xwY1dwYzgzNjI3UG9saWN5LmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjJkMDI2ZjEzMw0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0lu Y2x1ZGUvUHJvdG9jb2wvTHBjV3BjODM2MjdQb2xpY3kuaA0KPiBAQCAtMCwwICsxLDkyIEBADQo+ ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIExwY1dwYzgzNjY3UG9saWN5LmgNCj4gKw0K PiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUHJvdG9jb2wgdXNlZCBmb3IgV1BDODM2MjcgUG9saWN5 IGRlZmluaXRpb24uDQo+ICstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsgICBSZXYgICBEYXRl PE1NL0REL1lZWVk+ICAgIE5hbWUgICAgRGVzY3JpcHRpb24NCj4gKyAgLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArICBSMDEgICA8IDQvMjIvMjAxMT4gICAgICAgICBMQiAgICAgVXBkYXRlIGRy aXZlciBmb3IgU2lvODM2MjdVR0ggc3VwcG9ydC4NCj4gKyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX1dQQzgzNjI3X1BPTElDWV9QUk9UT0NPTF9IXw0K PiArI2RlZmluZSBfV1BDODM2MjdfUE9MSUNZX1BST1RPQ09MX0hfDQo+ICsNCj4gK0VGSV9GT1JX QVJEX0RFQ0xBUkFUSU9OIChFRklfV1BDODM2MjdfUE9MSUNZX1BST1RPQ09MKTsNCj4gKw0KPiAr I2RlZmluZSBFRklfV1BDODM2MjdfUE9MSUNZX1BST1RPQ09MX0dVSUQgXA0KPiArICB7IFwNCj4g KyAgICAweGQzZWNjNTY3LCAweDlmZDUsIDB4NDRjMSwgMHg4NiwgMHhjZiwgMHg1ZCwgMHhhNywg MHhhMiwgMHg0ZiwgMHg0YiwgMHg1ZA0KPiBcDQo+ICsgIH0NCj4gKw0KPiArI2RlZmluZSBFRklf V1BDODM2MjdfQ09NMV9FTkFCTEUgICAgICAgICAgMHgwMQ0KPiArI2RlZmluZSBFRklfV1BDODM2 MjdfQ09NMl9FTkFCTEUgICAgICAgICAgMHgwMQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9XUEM4MzYy N19DT00zX0VOQUJMRSAgICAgICAgICAweDAxDQo+ICsjZGVmaW5lIEVGSV9XUEM4MzYyN19DT000 X0VOQUJMRSAgICAgICAgICAweDAxDQo+ICsNCj4gKyNkZWZpbmUgRUZJX1dQQzgzNjI3X0xQVDFf RU5BQkxFICAgICAgICAgIDB4MDENCj4gKyNkZWZpbmUgRUZJX1dQQzgzNjI3X0xQVDFfRU5BQkxF ICAgICAgICAgIDB4MDENCj4gKyNkZWZpbmUgRUZJX1dQQzgzNjI3X0ZERF9FTkFCTEUgICAgICAg ICAgIDB4MDENCj4gKyNkZWZpbmUgRUZJX1dQQzgzNjI3X0ZERF9XUklURV9FTkFCTEUgICAgIDB4 MDENCj4gKyNkZWZpbmUgRUZJX1dQQzgzNjI3X1BTMl9LQkNfRU5BQkxFICAgICAgIDB4MDENCj4g KyNkZWZpbmUgRUZJX1dQQzgzNjI3X0VDSVJfRU5BQkxFCSAgMHgwMQ0KPiArDQo+ICsjZGVmaW5l IEVGSV9XUEM4MzYyN19DT00xX0RJU0FCTEUgICAgICAgICAweDAwDQo+ICsjZGVmaW5lIEVGSV9X UEM4MzYyN19DT00yX0RJU0FCTEUgICAgICAgICAweDAwDQo+ICsNCj4gKyNkZWZpbmUgRUZJX1dQ QzgzNjI3X0NPTTNfRElTQUJMRSAgICAgICAgIDB4MDANCj4gKyNkZWZpbmUgRUZJX1dQQzgzNjI3 X0NPTTRfRElTQUJMRSAgICAgICAgIDB4MDANCj4gKw0KPiArI2RlZmluZSBFRklfV1BDODM2Mjdf TFBUMV9ESVNBQkxFICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBFRklfV1BDODM2MjdfRkREX0RJ U0FCTEUgICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBFRklfV1BDODM2MjdfRkREX1dSSVRFX1BS T1RFQ1QgICAgMHgwMA0KPiArI2RlZmluZSBFRklfV1BDODM2MjdfUFMyX0tCQ19ESVNBQkxFICAg ICAgMHgwMA0KPiArI2RlZmluZSBFRklfV1BDODM2MjdfRUNJUl9ESVNBQkxFICAgICAgICAgMHgw MA0KPiArI2RlZmluZSBFRklfV1BDODM2MjdfUkVTRVJWRURfREVGQVVMVCAgICAgMHgwMA0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQxNiAgQ29tMSAgICAgICAgICAgICAgIDox OyAgICAgICAgICAgICAvLyAwID0gRGlzYWJsZSwgMSA9IEVuYWJsZQ0KPiArICBVSU5UMTYgIExw dDEgICAgICAgICAgICAgICA6MTsgICAgICAgICAgICAgLy8gMCA9IERpc2FibGUsIDEgPSBFbmFi bGUNCj4gKyAgVUlOVDE2ICBGbG9wcHkgICAgICAgICAgICAgOjE7ICAgICAgICAgICAgIC8vIDAg PSBEaXNhYmxlLCAxID0gRW5hYmxlDQo+ICsgIFVJTlQxNiAgRmxvcHB5V3JpdGVQcm90ZWN0IDox OyAgICAgICAgICAgICAvLyAwID0gV3JpdGUgUHJvdGVjdCwgMSA9IFdyaXRlIEVuYWJsZQ0KPiAr ICBVSU5UMTYgIFBvcnQ4MCAgICAgICAgICAgICA6MTsgICAgICAgICAgICAgLy8gMCA9IERpc2Fi bGUsIDEgPSBFbmFibGUNCj4gKyAgVUlOVDE2ICBDSVIgICAgICAgICAgICAgICAgOjE7ICAgICAg ICAgICAgIC8vIENJUiBlbmFibGUgb3IgZGlzYWJsZQ0KPiArICBVSU5UMTYgIFBzMktleWJvYXJk ICAgICAgICA6MTsgICAgICAgICAgICAgLy8gMCA9IERpc2FibGUsIDEgPSBFbmFibGUNCj4gKyAg VUlOVDE2ICBQczJNb3VzZSAgICAgICAgICAgOjE7ICAgICAgICAgICAgIC8vIDAgPSBEaXNhYmxl LCAxID0gRW5hYmxlDQo+ICsgIFVJTlQxNiAgQ29tMiAgICAgICAgICAgICAgIDoxOyAgICAgICAg ICAgICAvLyAwID0gRGlzYWJsZSwgMSA9IEVuYWJsZQ0KPiArDQo+ICsgIFVJTlQxNiAgQ29tMyAg ICAgICAgICAgICAgIDoxOyAgICAgICAgICAgICAvLyAwID0gRGlzYWJsZSwgMSA9IEVuYWJsZQ0K PiArICBVSU5UMTYgIENvbTQgICAgICAgICAgICAgICA6MTsgICAgICAgICAgICAgLy8gMCA9IERp c2FibGUsIDEgPSBFbmFibGUNCj4gKw0KPiArICBVSU5UMTYgIERhYyAgICAgICAgICAgICAgICA6 MTsgICAgICAgICAgICAgLy8gMCA9IERpc2FibGUsIDEgPSBFbmFibGUNCj4gKyAgVUlOVDE2ICBS c3ZkICAgICAgICAgICAgICAgOjY7DQo+ICt9IEVGSV9XUEM4MzYyN19ERVZJQ0VfRU5BQkxFUzsN Cj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgTHB0TW9kZU91dHB1dCwNCj4gKyAgTHB0TW9k ZUJpRGlyZWN0aW9uYWwsDQo+ICsgIExwdE1vZGVFcHAsDQo+ICsgIExwdE1vZGVFY3ANCj4gK30g RUZJX0xQVF9NT0RFOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfRUZJX1dQQzgzNjI3X1BPTElD WV9QUk9UT0NPTCB7DQo+ICsgIEVGSV9XUEM4MzYyN19ERVZJQ0VfRU5BQkxFUyBEZXZpY2VFbmFi bGVzOw0KPiArICBFRklfTFBUX01PREUgICAgICAgICAgICAgIExwdE1vZGU7DQo+ICt9IEVGSV9X UEM4MzYyN19QT0xJQ1lfUFJPVE9DT0w7DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnRWZpTHBj V3BjODM2MjdQb2xpY3lQcm90b2NvbEd1aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0 DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9M cGNXcGNlNzkxUG9saWN5LmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9J bmNsdWRlL1Byb3RvY29sL0xwY1dwY2U3OTFQb2xpY3kuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xYjI0NTllNTRhDQo+IC0tLSAvZGV2L251bGwNCj4gKysr DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9M cGNXcGNlNzkxUG9saWN5LmgNCj4gQEAgLTAsMCArMSw1NSBAQA0KPiArLyorKw0KPiArDQo+ICsg IENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFt ZToNCj4gKw0KPiArICBMcGNXcGNlNzkxUG9saWN5LmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsN Cj4gKyAgUHJvdG9jb2wgdXNlZCBmb3IgV1BDRTc5MSBQb2xpY3kgZGVmaW5pdGlvbi4NCj4gKw0K PiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX1dQQ0U3OTFfUE9MSUNZX1BST1RPQ09MX0hfDQo+ICsj ZGVmaW5lIF9XUENFNzkxX1BPTElDWV9QUk9UT0NPTF9IXw0KPiArDQo+ICsNCj4gKyNkZWZpbmUg RUZJX1dQQ0U3OTFfUE9MSUNZX1BST1RPQ09MX0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweGFi MmJlZTJmLCAweGMxYTYsIDB4NDM5OSwgMHg4NSwgMHgzZCwgMHhjMCwgMHg3YywgMHg3NywgMHg0 ZiwgMHhmZCwgMHhkIFwNCj4gKyAgfQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9XUENFNzkxX1BTMl9L RVlCT0FSRF9FTkFCTEUgICAgICAgMHgwMQ0KPiArI2RlZmluZSBFRklfV1BDRTc5MV9QUzJfS0VZ Qk9BUkRfRElTQUJMRSAgICAgIDB4MDANCj4gKw0KPiArI2RlZmluZSBFRklfV1BDRTc5MV9QUzJf TU9VU0VfRU5BQkxFICAgICAgIDB4MDENCj4gKyNkZWZpbmUgRUZJX1dQQ0U3OTFfUFMyX01PVVNF X0RJU0FCTEUgICAgICAweDAwDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDE2 ICBDb20xICAgICAgICAgICAgICAgOjE7ICAgICAgICAgICAgIC8vIDAgPSBEaXNhYmxlLCAxID0g RW5hYmxlDQo+ICsgIFVJTlQxNiAgTHB0MSAgICAgICAgICAgICAgIDoxOyAgICAgICAgICAgICAv LyAwID0gRGlzYWJsZSwgMSA9IEVuYWJsZQ0KPiArICBVSU5UMTYgIEZsb3BweSAgICAgICAgICAg ICA6MTsgICAgICAgICAgICAgLy8gMCA9IERpc2FibGUsIDEgPSBFbmFibGUNCj4gKyAgVUlOVDE2 ICBGbG9wcHlXcml0ZVByb3RlY3QgOjE7ICAgICAgICAgICAgIC8vIDAgPSBXcml0ZSBQcm90ZWN0 LCAxID0gV3JpdGUgRW5hYmxlDQo+ICsgIFVJTlQxNiAgUG9ydDgwICAgICAgICAgICAgIDoxOyAg ICAgICAgICAgICAvLyAwID0gRGlzYWJsZSwgMSA9IEVuYWJsZQ0KPiArICBVSU5UMTYgIENJUiAg ICAgICAgICAgICAgICA6MTsgICAgICAgICAgICAgLy8gQ0lSIGVuYWJsZSBvciBkaXNhYmxlDQo+ ICsgIFVJTlQxNiAgUHMyS2V5Ym9hcmQgICAgICAgIDoxOyAgICAgICAgICAgICAvLyAwID0gRGlz YWJsZSwgMSA9IEVuYWJsZQ0KPiArICBVSU5UMTYgIFBzMk1vdXNlICAgICAgICAgICA6MTsgICAg ICAgICAgICAgLy8gMCA9IERpc2FibGUsIDEgPSBFbmFibGUNCj4gKyAgVUlOVDE2ICBDb20yICAg ICAgICAgICAgICAgOjE7ICAgICAgICAgICAgIC8vIDAgPSBEaXNhYmxlLCAxID0gRW5hYmxlDQo+ ICsgIFVJTlQxNiAgRGFjICAgICAgICAgICAgICAgIDoxOyAgICAgICAgICAgICAvLyAwID0gRGlz YWJsZSwgMSA9IEVuYWJsZQ0KPiArICBVSU5UMTYgIFJzdmQgICAgICAgICAgICAgICA6NjsNCj4g K30gRUZJX1dQQ0U3OTFfREVWSUNFX0VOQUJMRVM7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9F RklfV1BDRTc5MV9QT0xJQ1lfUFJPVE9DT0wgew0KPiArICBFRklfV1BDRTc5MV9ERVZJQ0VfRU5B QkxFUyBEZXZpY2VFbmFibGVzOw0KPiArfSBFRklfV1BDRTc5MV9QT0xJQ1lfUFJPVE9DT0w7DQo+ ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnRWZpTHBjV3BjZTc5MVBvbGljeVByb3RvY29sR3VpZDsN Cj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL01taW9EZXZpY2UuaA0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvTW1pb0RldmljZS5oDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjNjMGViNTIwMWENCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL1Byb3RvY29sL01taW9EZXZpY2UuaA0KPiBAQCAtMCwwICsxLDg0IEBADQo+ICsvKisrDQo+ ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsqKi8NCj4g Kw0KPiArI2lmbmRlZiBfX01NSU9fREVWSUNFX0hfXw0KPiArI2RlZmluZSBfX01NSU9fREVWSUNF X0hfXw0KPiArDQo+ICsvLw0KPiArLy8gUHJvdG9jb2wgdG8gZGVmaW5lIGZvciB0aGUgTU1JTyBk ZXZpY2UNCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIC8vDQo+ICsgIC8vIEFkZHJl c3Mgb2YgYSBHVUlEDQo+ICsgIC8vDQo+ICsgIEVGSV9HVUlEICpHdWlkOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIENvbnRleHQgZm9yIHRoZSBwcm90b2NvbA0KPiArICAvLw0KPiArICBWT0lEICpD b250ZXh0Ow0KPiArfSBFRklfTU1JT19ERVZJQ0VfUFJPVE9DT0xfSVRFTTsNCj4gKw0KPiArDQo+ ICt0eXBlZGVmIHN0cnVjdCBfRUZJX01NSU9fREVWSUNFX1BST1RPQ09MDQo+IEVGSV9NTUlPX0RF VklDRV9QUk9UT0NPTDsNCj4gKw0KPiArLy8NCj4gKy8vICBUaGUgTU1JTyBkZXZpY2UgcHJvdG9j b2wgZGVmaW5lcyBhIG1lbW9yeSBtYXBwZWQgSS9PIGRldmljZQ0KPiArLy8gIGZvciB1c2UgYnkg dGhlIHN5c3RlbS4NCj4gKy8vDQo+ICtzdHJ1Y3QgX0VGSV9NTUlPX0RFVklDRV9QUk9UT0NPTCB7 DQo+ICsgIC8vDQo+ICsgIC8vIFBvaW50ZXIgdG8gYW4gQUNQSV9FWFRFTkRFRF9ISURfREVWSUNF X1BBVEggc3RydWN0dXJlDQo+ICsgIC8vIGNvbnRhaW5pbmcgSElEL0hpZFN0ciBhbmQgQ0lEL0Np ZFN0ciB2YWx1ZXMuDQo+ICsgIC8vDQo+ICsgIC8vIFNlZSB0aGUgbm90ZSBiZWxvdyBhc3NvY2lh dGVkIHdpdGggdGhlIFVuaXRJZGVudGlmaWNhdGlvbg0KPiArICAvLyBmaWVsZC4NCj4gKyAgLy8N Cj4gKyAgQ09OU1QgQUNQSV9FWFRFTkRFRF9ISURfREVWSUNFX1BBVEggKkFjcGlQYXRoOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIEFsbG93IHRoZSB1c2Ugb2YgYSBzaGFyZWQgdGVtcGxhdGUgZm9y IHRoZSBBY3BpUGF0aC4NCj4gKyAgLy8NCj4gKyAgLy8gSWYgdGhpcyB2YWx1ZSBpcyBub24temVy byBVSUQgdmFsdWUgdGhlbiB0aGUgQWNwaVBhdGggbXVzdA0KPiArICAvLyBiZSBhIHRlbXBsYXRl IHdoaWNoIGNvbnRhaW5zIG9ubHkgdGhlIEhJRC9IaWRTdHIgYW5kIENJRC9DaWRTdHINCj4gKyAg Ly8gdmFsdWVzLiAgVGhlIFVJRC9VaWRTdHIgdmFsdWVzIGluIHRoZSBBY3BpUGF0aCBtdXN0IGJl IHplcm8hDQo+ICsgIC8vDQo+ICsgIC8vIElmIHRoaXMgdmFsdWUgaXMgemVybyB0aGVuIHRoZSBB Y3BpUGF0aCBpcyBub3Qgc2hhcmVkIGFuZA0KPiArICAvLyBtdXN0IGNvbnRhaW4gZWl0aGVyIGEg bm9uLXplcm8gVUlEIHZhbHVlIG9yIGEgVWlkU3RyIHZhbHVlLg0KPiArICAvLw0KPiArICBVSU5U MzIgVW5pdElkZW50aWZpY2F0aW9uOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEhhcmR3YXJlIHJl dmlzaW9uIC0gQUNQSSBfSFJWIHZhbHVlDQo+ICsgIC8vDQo+ICsgIFVJTlQzMiBIYXJkd2FyZVJl dmlzaW9uOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFBvaW50ZXIgdG8gYSBkYXRhIHN0cnVjdHVy ZSBjb250YWluaW5nIHRoZSBjb250cm9sbGVyDQo+ICsgIC8vIHJlc291cmNlcyBhbmQgY29uZmln dXJhdGlvbi4gIEF0IGEgbWluaW11bSB0aGlzIHBvaW50cw0KPiArICAvLyB0byBhbiBFRklfUEhZ U0lDQUxfQUREUkVTUyBmb3IgdGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUNCj4gKyAgLy8gTU1JTyBk ZXZpY2UuDQo+ICsgIC8vDQo+ICsgIENPTlNUIFZPSUQgKkRyaXZlclJlc291cmNlczsNCj4gKw0K PiArICAvLw0KPiArICAvLyBOdW1iZXIgb2YgcHJvdG9jb2xzIGluIHRoZSBhcnJheQ0KPiArICAv Lw0KPiArICBVSU5UTiBQcm90b2NvbENvdW50Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIExpc3Qg b2YgcHJvdG9jb2xzIHRvIGRlZmluZQ0KPiArICAvLw0KPiArICBDT05TVCBFRklfTU1JT19ERVZJ Q0VfUFJPVE9DT0xfSVRFTSAqUHJvdG9jb2xBcnJheTsNCj4gK307DQo+ICsNCj4gK2V4dGVybiBF RklfR1VJRCBnRWZpTW1pb0RldmljZVByb3RvY29sR3VpZDsNCj4gKw0KPiArI2VuZGlmICAvLyAg X19NTUlPX0RFVklDRV9IX18NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvT2JzZXJ2YWJsZS5oDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9PYnNlcnZhYmxlLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYmM1NTcxZTZkNQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvUHJvdG9jb2wvT2JzZXJ2YWJsZS5oDQo+IEBAIC0wLDAgKzEsMTg2IEBADQo+ICsvKisrDQo+ ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01v ZHVsZSBOYW1lOg0KPiArDQo+ICsgIE9ic2VydmFibGUuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4g Kw0KPiArICBJbnRlcmZhY2UgYW5kIEdVSUQgZGVmaW5pdGlvbnMgZm9yIE9ic2VydmFibGUgcHJv dG9jb2wuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9PQlNFUlZBQkxFX1BST1RPQ09M X0hfDQo+ICsjZGVmaW5lIF9PQlNFUlZBQkxFX1BST1RPQ09MX0hfDQo+ICsNCj4gKy8vDQo+ICsv LyBHVUlEIERlZmluaXRpb25zDQo+ICsvLw0KPiArI2RlZmluZSBPQlNFUlZBQkxFX1BST1RPQ09M X0dVSUQgXA0KPiArICB7IFwNCj4gKyAgICAweGUyMjdjNTIyLCAweGQ1ZmUsIDB4NGE1MywgMHg4 NywgMHhiMSwgMHgwZiwgMHhiZSwgMHg1NywgMHgwZiwgMHg5OCwgMHhlOQ0KPiBcDQo+ICsgIH0N Cj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdPYnNlcnZhYmxlUHJvdG9jb2xHdWlkOw0KPiArDQo+ ICt0eXBlZGVmIHN0cnVjdCBfT0JTX09CU0VSVkFCTEVfUFJPVE9DT0wNCj4gT0JTX09CU0VSVkFC TEVfUFJPVE9DT0w7DQo+ICsNCj4gKy8vDQo+ICsvLyBJbnRlcmZhY2UgRGVmaW5pdGlvbnMNCj4g Ky8vDQo+ICsNCj4gKy8qKg0KPiArICBSZW1vdmUgYWxsIG9ic2VydmFibGVzLg0KPiArDQo+ICsg IFJlbW92ZSBhbGwgb2JzZXJ2YWJsZSBndWlkcyBhbmQgYWxsIGludGVyZmFjZXMgc3Vic2NyaWJl ZCB0byB0aGVtLg0KPiArDQo+ICsgIEBwYXJhbSAgIFZPSUQgICAgICAgICAgTm8gUGFyYW1ldGVy cy4NCj4gKw0KPiArICBAcmV0dXJuICBFRklfU1VDQ0VTUyAgIFN1Y2Nlc3NmdWxseSByZW1vdmVk IGFsbCBvYnNlcnZhYmxlcyBhbmQNCj4gc3Vic2NyaWJlZCBpbnRlcmZhY2VzLg0KPiArDQo+ICsq Ki8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKk9CU19SRU1PVkVfQUxM X09CU0VSVkFCTEVTKSAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIElu dGVyZmFjZSBmb3Igbm90aWZpY2F0aW9uIGZ1bmN0aW9ucy4NCj4gKw0KPiArICBGdW5jdGlvbnMg dGhhdCBhcmUgdG8gYmUgdXNlZCBhcyBjYWxsYmFja3MgbXVzdCBpbmhlcml0IHRoaXMgaW50ZXJm YWNlIGluDQo+IG9yZGVyIHRvIGJlIHVzZWQgcHJvcGVybHkuDQo+ICsNCj4gKyAgQHBhcmFtICAg Vk9JRCogICBEYXRhICBQYXJhbWV0ZXIgY29udGV4dCB0byBiZSBwYXNzZWQgdG8gdGhlIG5vdGlm aWNhdGlvbg0KPiBmdW5jdGlvbi4NCj4gKw0KPiArICBAcmV0dXJuICBFRklfU1RBVFVTICAgIFZh cmllcyBkZXBlbmRpbmcgb24gaW1wbGVtZW50YXRpb24uDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRl Zg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqT0JTX0NBTExCQUNLKSAoDQo+ICsgIElOICBP VVQgVk9JRCogICBEYXRhDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBTdWJzY3JpYmUgYW4g aW50ZXJmYWNlIHdpdGggYW4gb2JzZXJ2YWJsZSBndWlkLg0KPiArDQo+ICsgIFVzZSB0aGlzIHRv IHJlZ2lzdGVyIGEgY2FsbGJhY2sgZnVuY3Rpb24gd2l0aCBhIGd1aWQuIFRoZSBmdW5jdGlvbiBw cm92aWRlZA0KPiBieSBDYWxsYmFja0ludGVyZmFjZSB3aWxsIGJlIGV4ZWN1dGVkDQo+ICsgIHdo ZW5ldmVyIHRoZSBhcHByb3ByaWF0ZSBvYnNlcnZhYmxlIGluc3RhbmNlIHNwZWNpZmllZCBieQ0K PiBSZWZlcmVuY2VHdWlkIGNhbGxzIFB1Ymxpc2guDQo+ICsNCj4gKyAgQHBhcmFtICAgRUZJX0dV SUQgICAgICAgICAgICAgICAgUmVmZXJlbmNlR3VpZCAgICAgICBUaGUgb2JzZXJ2YWJsZSBndWlk IHRoYXQNCj4gdGhlIGNhbGxiYWNrIGludGVyZmFjZSB3aWxsIHN1YnNjcmliZSB0by4NCj4gKyAg ICAgICAgICAgT0JTX05PVElGWV9JTlRFUkZBQ0UgICAgQ2FsbGJhY2tJbnRlcmZhY2UgICBBIHBv aW50ZXIgdG8gdGhlDQo+IGZ1bmN0aW9uIHRoYXQgaXMgc3Vic2NyaWJpbmcgdG8gdGhlIG9ic2Vy dmFibGUuDQo+ICsNCj4gKyAgQHJldHVybiAgRUZJX1NVQ0NFU1MgICAgICAgICAgIFN1Y2Nlc3Nm dWxseSBzdWJzY3JpYmVkIHRoZSBpbnRlcmZhY2UgdG8gdGhlDQo+IG9ic2VydmFibGUgZ3VpZC4N Cj4gKyAgICAgICAgICAgRUZJX05PVF9GT1VORCAgICAgICAgIE5vIG1hdGNoIGNvdWxkIGJlIGZv dW5kIGJldHdlZW4gdGhlIHByb3ZpZGVkDQo+IGd1aWQgYW5kIGV4aXN0aW5nIG9ic2VydmFibGVz Lg0KPiArICAgICAgICAgICBFRklfT1VUX09GX1JFU09VUkNFUyAgQ291bGQgbm90IHN1YnNjcmli ZSB0byB0aGlzIG9ic2VydmVyIGR1ZSB0bw0KPiByZXNvdXJjZSBsaW1pdGF0aW9ucy4NCj4gKyAg ICAgICAgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIEludGVyZmFjZSBpcyBhbHJlYWR5IHN1YnNj cmliZWQgdG8gdGhpcw0KPiBvYnNlcnZlci4NCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NU QVRVUw0KPiArKEVGSUFQSSAqT0JTX1NVQlNDUklCRSkgKA0KPiArICBJTiAgICAgIEVGSV9HVUlE ICAgICAgICBSZWZlcmVuY2VHdWlkLA0KPiArICBJTiAgICAgIE9CU19DQUxMQkFDSyAgICBDYWxs YmFja0ludGVyZmFjZQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVW5zdWJzY3JpYmUgYW4g aW50ZXJmYWNlIHdpdGggYW4gb2JzZXJ2YWJsZSBndWlkLg0KPiArDQo+ICsgIFVzZSB0aGlzIHRv IHJlbW92ZSBhbiBpbnRlcmZhY2UgZnJvbSB0aGUgY2FsbGJhY2sgbGlzdCBhc3NvY2lhdGVkIHdp dGggYW4NCj4gb2JzZXJ2YWJsZSBndWlkLg0KPiArDQo+ICsgIEBwYXJhbSAgIEVGSV9HVUlEICAg ICAgICAgICAgICAgIFJlZmVyZW5jZUd1aWQgICBUaGUgb2JzZXJ2YWJsZSBndWlkIHRvDQo+IHVu c3Vic2NyaWJlIHRoZSBpbnRlcmZhY2UgZnJvbS4NCj4gKyAgICAgICAgICAgT0JTX05PVElGWV9J TlRFUkZBQ0UgICAgTm90aWZ5Q2FsbGJhY2sgIEEgcG9pbnRlciB0byB0aGUgaW50ZXJmYWNlDQo+ IHRoYXQgaXMgYmVpbmcgdW5zdWJzY3JpYmVkLg0KPiArDQo+ICsgIEByZXR1cm4gIEVGSV9TVUND RVNTICAgICAgICAgICBTdWNjZXNzZnVsbHkgdW5zdWJzY3JpYmVkIHRoZSBpbnRlcmZhY2UgZnJv bQ0KPiB0aGUgb2JzZXJ2YWJsZSBndWlkLg0KPiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VG SV9TVEFUVVMNCj4gKyhFRklBUEkgKk9CU19VTlNVQlNDUklCRSkgKA0KPiArICBJTiAgICAgIEVG SV9HVUlEICAgICAgICBSZWZlcmVuY2VHdWlkLA0KPiArICBJTiAgICAgIE9CU19DQUxMQkFDSyAg ICBDYWxsYmFja0ludGVyZmFjZQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgTm90aWZ5IG9i c2VydmluZyBmdW5jdGlvbnMuDQo+ICsNCj4gKyAgVXNlIHRoaXMgdG8gbm90aWZ5IGFsbCBmdW5j dGlvbnMgd2hvIGFyZSBzdWJzY3JpYmVkIHRvIHRoZSBndWlkIHNwZWNpZmllZCBieQ0KPiBSZWZl cmVuY2VHdWlkLg0KPiArDQo+ICsgIEBwYXJhbSAgIEVGSV9HVUlEICAgICAgICAgIFJlZmVyZW5j ZUd1aWQgICBUaGUgb2JzZXJ2YWJsZSBndWlkIHRoYXQNCj4gY29udGFpbnMgdGhlIHRoZSBsaXN0 IG9mIGludGVyZmFjZXMgdG8gYmUgbm90aWZpZWQuDQo+ICsgICAgICAgICAgIFZPSUQqICAgICAg ICAgICAgIERhdGEgICAgICAgICAgICBQYXJhbWV0ZXIgY29udGV4dCB0byBiZSBwYXNzZWQgdG8g dGhlDQo+IG5vdGlmaWNhdGlvbiBmdW5jdGlvbi4NCj4gKw0KPiArICBAcmV0dXJuICBFRklfU1VD Q0VTUyAgICAgICBTdWNjZXNzZnVsbHkgbm90aWZpZWQgYWxsIG9ic2VydmVycyBsaXN0ZW5pbmcg dG8NCj4gdGhpcyBndWlkLg0KPiArICAgICAgICAgICBFRklfTk9UX0ZPVU5EICAgICBObyBtYXRj aCBjb3VsZCBiZSBmb3VuZCBiZXR3ZWVuIHRoZSBwcm92aWRlZA0KPiBndWlkIGFuZCBleGlzdGlu ZyBvYnNlcnZhYmxlcy4NCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ ICsoRUZJQVBJICpPQlNfUFVCTElTSCkgKA0KPiArICBJTiAgICAgIEVGSV9HVUlEICAgICAgICBS ZWZlcmVuY2VHdWlkLA0KPiArICBJTiAgT1VUIFZPSUQqICAgICAgICAgICBEYXRhDQo+ICsgICk7 DQo+ICsNCj4gKy8qKg0KPiArICBDcmVhdGVzIGEgbmV3IG9ic2VydmFibGUuDQo+ICsNCj4gKyAg Q3JlYXRlIGEgbmV3IG9ic2VydmFibGUgdGhhdCBjYW4gYmUgb2JzZXJ2ZWQgd2l0aCB0aGUgdXNl IG9mIFN1YnNjcmliZQ0KPiBmdW5jdGlvbi4NCj4gKw0KPiArICBAcGFyYW0gICBFRklfR1VJRCAg ICAgICAgICAgICAgUmVmZXJlbmNlR3VpZCAgIFRoZSBvYnNlcnZhYmxlIGd1aWQgdG8gYWRkLg0K PiArDQo+ICsgIEByZXR1cm4gIEVGSV9TVUNDRVNTICAgICAgICAgICBTdWNjZXNzZnVsbHkgYWRk ZWQgb2JzZXJ2YWJsZS4NCj4gKyAgICAgICAgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIE9ic2Vy dmFibGUgYWxyZWFkeSBleGlzdHMuDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NU QVRVUw0KPiArKEVGSUFQSSAqT0JTX0FERF9PQlNFUlZBQkxFKSAoDQo+ICsgIElOICAgICAgRUZJ X0dVSUQgICAgICAgIFJlZmVyZW5jZUd1aWQNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFJl bW92ZSBhbiBvYnNlcnZhYmxlLg0KPiArDQo+ICsgIFJlbW92ZSBhbiBvYnNlcnZhYmxlIHNvIHRo YXQgaXQgY2FuIG5vIGxvbmdlciBiZSBzdWJzY3JpYmVkIHRvLiBJbg0KPiBhZGRpdGlvbiwgdW5z dWJzY3JpYmUgYW55IGZ1bmN0aW9ucw0KPiArICB0aGF0IGFyZSBzdWJzY3JpYmVkIHRvIHRoaXMg Z3VpZC4NCj4gKw0KPiArICBAcGFyYW0gICBFRklfR1VJRCAgICAgICAgICAgICAgUmVmZXJlbmNl R3VpZCAgIFRoZSBvYnNlcnZhYmxlIGd1aWQgdG8gcmVtb3ZlLg0KPiArDQo+ICsgIEByZXR1cm4g IEVGSV9TVUNDRVNTICAgICAgICAgICBTdWNjZXNzZnVsbHkgcmVtb3ZlZCBvYnNlcnZhYmxlLg0K PiArDQo+ICsqKi8NCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklBUEkgKk9CU19S RU1PVkVfT0JTRVJWQUJMRSkgKA0KPiArICBJTiAgICAgIEVGSV9HVUlEICAgICAgICBSZWZlcmVu Y2VHdWlkDQo+ICsgICk7DQo+ICsNCj4gKy8vDQo+ICsvLyBQcm90b2NvbCBEZWZpbml0aW9ucw0K PiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IF9PQlNfTEVBRiB7DQo+ICsgIE9CU19DQUxMQkFDSyAg ICAgIE9ic2VydmVyOw0KPiArICBzdHJ1Y3QgX09CU19MRUFGKiBOZXh0Ow0KPiArfSBPQlNfTEVB RjsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3QgX09CU19UUkVFIHsNCj4gKyAgRUZJX0dVSUQgICAg ICAgICAgICAgIE9ic2VydmFibGVHdWlkOw0KPiArICBPQlNfTEVBRiogICAgICAgICAgICAgTGVh ZjsNCj4gKyAgc3RydWN0IF9PQlNfVFJFRSogICAgIE5leHQ7DQo+ICt9IE9CU19UUkVFOw0KPiAr DQo+ICtzdHJ1Y3QgX09CU19PQlNFUlZBQkxFX1BST1RPQ09MIHsNCj4gKyAgT0JTX0FERF9PQlNF UlZBQkxFICAgICAgICAgIEFkZE9ic2VydmFibGU7DQo+ICsgIE9CU19SRU1PVkVfT0JTRVJWQUJM RSAgICAgICBSZW1vdmVPYnNlcnZhYmxlOw0KPiArICBPQlNfU1VCU0NSSUJFICAgICAgICAgICAg ICAgU3Vic2NyaWJlOw0KPiArICBPQlNfVU5TVUJTQ1JJQkUgICAgICAgICAgICAgVW5zdWJzY3Jp YmU7DQo+ICsgIE9CU19QVUJMSVNIICAgICAgICAgICAgICAgICBQdWJsaXNoOw0KPiArICBPQlNf UkVNT1ZFX0FMTF9PQlNFUlZBQkxFUyAgUmVtb3ZlQWxsT2JzZXJ2YWJsZXM7DQo+ICt9IDsNCj4g Kw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1BsYXRmb3JtR29wUG9saWN5LmgNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1BsYXRmb3JtR29wUG9s aWN5LmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZWYyYWQz ZDU1OA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvUGxhdGZvcm1Hb3BQb2xpY3kuaA0KPiBAQCAtMCww ICsxLDY4IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiANCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0K PiArDQo+ICstLSovDQo+ICsNCj4gKy8qKiBAZmlsZQ0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYg X1BMQVRGT1JNX0dPUF9QT0xJQ1lfUFJPVE9DT0xfSF8NCj4gKyNkZWZpbmUgX1BMQVRGT1JNX0dP UF9QT0xJQ1lfUFJPVE9DT0xfSF8NCj4gKw0KPiArI2RlZmluZSBFRklfUExBVEZPUk1fR09QX1BP TElDWV9QUk9UT0NPTF9HVUlEIFwNCj4gKyAgeyAweGVjMmU5MzFiLCAweDMyODEsIDB4NDhhNSwg MHg4MSwgMHg3LCAweGRmLCAweDhhLCAweDhiLCAweGVkLCAweDNjLCAweDVkIH0NCj4gKw0KPiAr I2RlZmluZSBFRklfQk1QX0lNQUdFX0dVSUQgXA0KPiArICB7IDB4ODc4QUMyQ0MsIDB4NTM0Mywg MHg0NkYyLCAweEI1LCAweDYzLCAweDUxLCAweEY4LCAweDlELCAweEFGLCAweDU2LA0KPiAweEJB IH0NCj4gKw0KPiArI2RlZmluZSBQTEFURk9STV9HT1BfUE9MSUNZX1BST1RPQ09MX1JFVklTSU9O XzAxIDB4MDENCj4gKyNkZWZpbmUgUExBVEZPUk1fR09QX1BPTElDWV9QUk9UT0NPTF9SRVZJU0lP Tl8wMiB4MDIyMg0KPiArDQo+ICsjcHJhZ21hIHBhY2soMSkNCj4gKw0KPiArdHlwZWRlZiBlbnVt IHsNCj4gKyAgTGlkQ2xvc2VkLA0KPiArICBMaWRPcGVuLA0KPiArICBMaWRTdGF0dXNNYXgNCj4g K30gTElEX1NUQVRVUzsNCj4gKw0KPiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgRG9ja2VkLA0KPiAr ICBVbkRvY2tlZCwNCj4gKyAgRG9ja1N0YXR1c01heA0KPiArfSBET0NLX1NUQVRVUzsNCj4gKw0K PiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQSSAqR0VUX1BMQVRGT1JNX0xJRF9T VEFUVVMpICgNCj4gKyAgIE9VVCBMSURfU1RBVFVTICpDdXJyZW50TGlkU3RhdHVzDQo+ICspOw0K PiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpHRVRfVkJUX0RBVEEp ICgNCj4gKyAgIE9VVCBFRklfUEhZU0lDQUxfQUREUkVTUyAqVmJ0QWRkcmVzcywNCj4gKyAgIE9V VCBVSU5UMzIgKlZidFNpemUNCj4gKyk7DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4g K3R5cGVkZWYgc3RydWN0IF9QTEFURk9STV9HT1BfUE9MSUNZX1BST1RPQ09MIHsNCj4gKyAgVUlO VDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZpc2lvbjsNCj4gKyAgR0VUX1BMQVRG T1JNX0xJRF9TVEFUVVMgICAgICAgICAgICBHZXRQbGF0Zm9ybUxpZFN0YXR1czsNCj4gKyAgR0VU X1ZCVF9EQVRBICAgICAgICAgICAgICAgICAgICAgICBHZXRWYnREYXRhOw0KPiArfSBQTEFURk9S TV9HT1BfUE9MSUNZX1BST1RPQ09MOw0KPiArDQo+ICsvLw0KPiArLy8gRXh0ZXJuIHRoZSBHVUlE IGZvciBwcm90b2NvbCB1c2Vycy4NCj4gKy8vDQo+ICtleHRlcm4gRUZJX0dVSUQgIGdQbGF0Zm9y bUdPUFBvbGljeUd1aWQ7DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCAgZ0JtcEltYWdlR3VpZDsN Cj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1BsYXRmb3JtSWRlSW5pdC5oDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9QbGF0Zm9ybUlkZUlu aXQuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5hOGI2OTAw ZDE2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9QbGF0Zm9ybUlkZUluaXQuaA0KPiBAQCAtMCwwICsxLDQz IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0K PiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgUGxhdGZvcm1JZGVJbml0LmgN Cj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgICBFRkkgUGxhdGZvcm0gSWRlIEluaXQgUHJv dG9jb2wNCj4gKw0KPiArUmV2aXNpb24gSGlzdG9yeQ0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lm bmRlZiBfRUZJX1BMQVRGT1JNX0lERV9JTklUX0hfDQo+ICsjZGVmaW5lIF9FRklfUExBVEZPUk1f SURFX0lOSVRfSF8NCj4gKw0KPiArLy8NCj4gKy8vIEdsb2JhbCBJRCBmb3IgdGhlIElERSBQbGF0 Zm9ybSBQcm90b2NvbA0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX1BMQVRGT1JNX0lERV9JTklUX1BS T1RPQ09MX0dVSUQgXA0KPiArICB7IDB4Mzc3YzY2YTMsIDB4OGZlNywgMHg0ZWU4LCAweDg1LCAw eGI4LCAweGYxLCAweGEyLCAweDgyLCAweDU2LCAweDllLA0KPiAweDNiIH07DQo+ICsNCj4gK0VG SV9GT1JXQVJEX0RFQ0xBUkFUSU9OIChFRklfUExBVEZPUk1fSURFX0lOSVRfUFJPVE9DT0wpOw0K PiArDQo+ICsNCj4gKy8vDQo+ICsvLyBJbnRlcmZhY2Ugc3RydWN0dXJlIGZvciB0aGUgUGxhdGZv cm0gSURFIEluaXQgUHJvdG9jb2wNCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCBfRUZJX1BMQVRG T1JNX0lERV9JTklUX1BST1RPQ09MIHsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTbWFydE1vZGU7DQo+ICt9IEVGSV9QTEFURk9STV9JREVfSU5JVF9QUk9UT0NP TDsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlQbGF0Zm9ybUlkZUluaXRQcm90b2NvbEd1 aWQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9TZXR1cE1vZGUuaA0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvU2V0dXBNb2RlLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjg5MjEwNmEzNg0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvUHJvdG9jb2wvU2V0dXBNb2RlLmgNCj4gQEAgLTAsMCArMSw3OSBAQA0KPiArLyorKw0KPiAr DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1 bGUgTmFtZToNCj4gKw0KPiArICAgIFNldHVwTW9kZS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiAr DQo+ICsgICAgRUZJIFNldHVwIE1vZGUNCj4gKw0KPiArUmV2aXNpb24gSGlzdG9yeQ0KPiArDQo+ ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfRUZJX1NFVFVQX01PREVfSF8NCj4gKyNkZWZpbmUgX0VG SV9TRVRVUF9NT0RFX0hfDQo+ICsNCj4gKy8vDQo+ICsvLyBHbG9iYWwgSUQgZm9yIHRoZSBTZXR1 cCBNb2RlDQo+ICsvLw0KPiArI2RlZmluZSBFRklfUExBVEZPUk1fQk9PVF9NT0RFX0dVSUQgXA0K PiArICB7IDB4Y2U4NDU3MDQsIDB4MTY4MywgMHg0ZDM4LCAweGE0LCAweGY5LCAweDdkLCAweGIs IDB4NTAsIDB4NzcsIDB4NTcsIDB4OTMgfQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9OT1JNQUxfU0VU VVBfR1VJRCBcDQo+ICsgIHsgMHhlYzg3ZDY0MywgMHhlYmE0LCAweDRiYjUsIDB4YTEsIDB4ZTUs IDB4M2YsIDB4M2UsIDB4MzYsIDB4YjIsIDB4ZCwNCj4gMHhhOSB9DQo+ICsNCj4gKyNkZWZpbmUg RUZJX05PUk1BTF9TRVRVUF9SRVNFVF9OQU1FIEwiUmVzZXQiDQo+ICsNCj4gK2VudW0gew0KPiAr ICAvLw0KPiArICAvLyBUaGlzIG1lYW5zOiAid2hhdGV2ZXIgcmVzZXQgZGVmYXVsdHMgaW4gc2V0 dXAgZG9lcyINCj4gKyAgLy8NCj4gKyAgU2V0dXBEYXRhUmVzZXROb3JtYWwgICAgICAgID0gMCwN Cj4gKw0KPiArICAvLw0KPiArICAvLyBUaGlzIG1lYW5zOiAidGhlIGRlZmF1bHRzIGJ1aWx0IGlu dG8gdGhlIEJJT1MiDQo+ICsgIC8vDQo+ICsgIFNldHVwRGF0YVJlc2V0U3RhbmRhcmQgICAgICA9 IDEsDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhpcyBtZWFuczogInRoZSBtYW51ZmFjdHVyaW5n IG1vZGUgZGVmYXVsdHMiDQo+ICsgIC8vDQo+ICsgIFNldHVwRGF0YVJlc2V0TWFudWZhY3R1cmlu ZyA9IDIsDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhpcyBtZWFuczogInRoZSBvZW0gZGVmYXVs dHMiDQo+ICsgIC8vDQo+ICsgIFNldHVwRGF0YVJlc2V0T2VtICAgICAgICAgICA9IDMsDQo+ICt9 Ow0KPiArDQo+ICsvLw0KPiArLy8gUGxhdGZvcm1Cb290TW9kZSB0eXBlcw0KPiArLy8NCj4gKyNk ZWZpbmUgUExBVEZPUk1fTk9STUFMX01PREUgICAgICAgICAgMHgwMQ0KPiArI2RlZmluZSBQTEFU Rk9STV9TQUZFX01PREUgICAgICAgICAgICAweDAyDQo+ICsjZGVmaW5lIFBMQVRGT1JNX1JFQ09W RVJZX01PREUgICAgICAgIDB4MDQNCj4gKyNkZWZpbmUgUExBVEZPUk1fTUFOVUZBQ1RVUklOR19N T0RFICAgMHgwOA0KPiArI2RlZmluZSBQTEFURk9STV9CQUNLX1RPX0JJT1NfTU9ERSAgICAweDEw DQo+ICsNCj4gK2V4dGVybiBFRklfR1VJRCBnRWZpUGxhdGZvcm1Cb290TW9kZUd1aWQ7DQo+ICtl eHRlcm4gRUZJX0dVSUQgZ0VmaU5vcm1hbFNldHVwR3VpZDsNCj4gK2V4dGVybiBDSEFSMTYgICBn RWZpTm9ybWFsU2V0dXBOYW1lW107DQo+ICtleHRlcm4gQ0hBUjE2ICAgZ0VmaUluU2V0dXBOYW1l W107DQo+ICtleHRlcm4gQ0hBUjE2ICAgZ0VmaVN5c3RlbVBhc3N3b3JkTmFtZVtdOw0KPiArDQo+ ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9HVUlEICAgIFNldHVwR3VpZDsNCj4gKyAgQ0hB UjE2ICAgICAgU2V0dXBOYW1lWzB4MjBdOyAgICAgICAgICAvLyBNYXhpbXVtICJTZXR1cCIgTmFt ZQ0KPiArICBVSU5UMzIgICAgICBQbGF0Zm9ybUJvb3RNb2RlOw0KPiArfSBFRklfUExBVEZPUk1f U0VUVVBfSUQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9TbWJpb3NTbG90UG9wdWxhdGlv bi4NCj4gaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJv dG9jb2wvU21iaW9zU2xvdFBvcHVsYXRpb24uDQo+IGgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uYWMwNTFkMTc1OQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvU21i aW9zU2xvdFBvcHVsYXRpb24uDQo+IGgNCj4gQEAgLTAsMCArMSw0NyBAQA0KPiArLyorKw0KPiAr DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5h bWU6DQo+ICsNCj4gKyAgICBTbWJpb3NTbG90UG9wdWxhdGlvbi5oDQo+ICsNCj4gK0Fic3RyYWN0 Og0KPiArDQo+ICsgICAgRUZJIFNNQklPUyBzbG90IHN0cnVjdHVyZSBjb250cm9sIGNvZGUuDQo+ ICsNCj4gK0dVSUQ6DQo+ICsgICAge0VGN0JGN0Q2LUY4RkYtNGE3Ni04MjQ3LUMwRDBEMUNDNDlD MH0NCj4gKyAgICAweGVmN2JmN2Q2LCAweGY4ZmYsIDB4NGE3NiwgMHg4MiwgMHg0NywgMHhjMCwg MHhkMCwgMHhkMSwgMHhjYywgMHg0OSwgMHhjMA0KPiArDQo+ICtSZXZpc2lvbiBIaXN0b3J5DQo+ ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9FRklfU01CSU9TX1NMT1RfUE9QVUxBVElPTl9I Xw0KPiArI2RlZmluZSBfRUZJX1NNQklPU19TTE9UX1BPUFVMQVRJT05fSF8NCj4gKw0KPiArLy8N Cj4gKy8vIFNsb3QgUG9wdWxhdGlvbiBQcm90b2NvbCBHVUlEDQo+ICsvLw0KPiArI2RlZmluZSBF RklfU01CSU9TX1NMT1RfUE9QVUxBVElPTl9HVUlEIFwNCj4gKyAgeyAweGVmN2JmN2Q2LCAweGY4 ZmYsIDB4NGE3NiwgMHg4MiwgMHg0NywgMHhjMCwgMHhkMCwgMHhkMSwgMHhjYywgMHg0OSwgMHhj MCB9DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDE2ICAgICAgU21iaW9zU2xv dElkOyAgIC8vIFNNQklPUyBTbG90IElEDQo+ICsgIEJPT0xFQU4gICAgIEluVXNlOyAgICAgICAg ICAvLyBEb2VzIHRoZSBzbG90IGhhdmUgYSBjYXJkIGluIGl0DQo+ICsgIEJPT0xFQU4gICAgIERp c2FibGVkOyAgICAgICAvLyBTaG91bGQgdGhlIHNsb3QgaW5mb3JtYXRpb24gYmUgaW4gU01CSU9T DQo+ICt9IEVGSV9TTUJJT1NfU0xPVF9FTlRSWTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0K PiArICBVSU5UMzIgICAgICAgICAgICAgICAgTnVtYmVyT2ZFbnRyaWVzOw0KPiArICBFRklfU01C SU9TX1NMT1RfRU5UUlkgKlNsb3RFbnRyaWVzOw0KPiArfSBFRklfU01CSU9TX1NMT1RfUE9QVUxB VElPTl9JTkZPOw0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0VmaVNtYmlvc1Nsb3RQb3B1bGF0 aW9uR3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1NwZWFrZXIuaA0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvU3BlYWtlci5oDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjliZmZjYWQyNGUNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNs dWRlL1Byb3RvY29sL1NwZWFrZXIuaA0KPiBAQCAtMCwwICsxLDY1IEBADQo+ICsvKisrDQo+ICsN Cj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFt ZToNCj4gKw0KPiArICBTcGVha2VyLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgRUZJ IFNwZWFrZXIgSW50ZXJmYWNlIFByb3RvY29sDQo+ICsNCj4gK1JldmlzaW9uIEhpc3RvcnkNCj4g Kw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX0VGSV9TUEVBS0VSX0gNCj4gKyNkZWZpbmUgX0VG SV9TUEVBS0VSX0gNCj4gKw0KPiArLy8NCj4gKy8vIEdsb2JhbCBJZCBmb3IgU3BlYWtlciBJbnRl cmZhY2UNCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9TUEVBS0VSX0lOVEVSRkFDRV9QUk9UT0NPTF9H VUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHg0MDBiNDQ3NiwgMHgzMDgxLCAweDExZDYsIDB4ODcs IDB4ZWQsIDB4MDAsIDB4MDYsIDB4MjksIDB4NDUsIDB4YzMsDQo+IDB4YjkgXA0KPiArICB9DQo+ ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9FRklfU1BFQUtFUl9JRl9QUk9UT0NPTCAgRUZJX1NQRUFL RVJfSUZfUFJPVE9DT0w7DQo+ICsNCj4gKy8vDQo+ICsvLyBCZWVwIENvZGUNCj4gKy8vDQo+ICt0 eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfR0VORVJBVEVfQkVFUCkgKA0K PiArICBJTiBFRklfU1BFQUtFUl9JRl9QUk9UT0NPTCAgICAgICAgICAgICAgICAqIFRoaXMsDQo+ ICsgIElOICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bWJlck9mQmVl cCwNCj4gKyAgSU4gICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVlcER1 cmF0aW9uLA0KPiArICBJTiAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU aW1lSW50ZXJ2YWwNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIFNldCBGcmVxdWVuY3kNCj4g Ky8vDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfU1BFQUtFUl9T RVRfRlJFUVVFTkNZKSAoDQo+ICsgIElOIEVGSV9TUEVBS0VSX0lGX1BST1RPQ09MICAgICAgICAg ICAgICAgKiBUaGlzLA0KPiArICBJTiAgICAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEZyZXF1ZW5jeQ0KPiArICApOw0KPiArDQo+ICsvLw0KPiArLy8gUHJvdG9jb2wgZGVmaW5p dGlvbg0KPiArLy8NCj4gK3N0cnVjdCBfRUZJX1NQRUFLRVJfSUZfUFJPVE9DT0wgew0KPiArICBF RklfU1BFQUtFUl9TRVRfRlJFUVVFTkNZIFNldFNwZWFrZXJUb25lRnJlcXVlbmN5Ow0KPiArICBF RklfR0VORVJBVEVfQkVFUCAgICAgICAgIEdlbmVyYXRlQmVlcDsNCj4gK30gOw0KPiArDQo+ICtl eHRlcm4gRUZJX0dVSUQgZ0VmaVNwZWFrZXJJbnRlcmZhY2VQcm90b2NvbEd1aWQ7DQo+ICsjZW5k aWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1 ZGUvUHJvdG9jb2wvVGNvUmVzZXQuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvUHJvdG9jb2wvVGNvUmVzZXQuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi5iZGE0N2MzNTlkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9UY29SZXNl dC5oDQo+IEBAIC0wLDAgKzEsNjcgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMp IDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJS Pg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAg VGNvUmVzZXQuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBQcm90b2NvbCB0byBjb21t dW5pY2F0ZSB3aXRoIElDSCBUQ08uDQo+ICsNCj4gK0dVSUQgSW5mbzoNCj4gKyB7QTZBNzkxNjIt RTMyNS00YzMwLUJDQzMtNTkzNzMwNjRFRkIzfQ0KPiArIDB4YTZhNzkxNjIsIDB4ZTMyNSwgMHg0 YzMwLCAweGJjLCAweGMzLCAweDU5LCAweDM3LCAweDMwLCAweDY0LCAweGVmLCAweGIzKTsNCj4g Kw0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX1RDT19SRVNFVF9IXw0KPiArI2RlZmlu ZSBfVENPX1JFU0VUX0hfDQo+ICsNCj4gKw0KPiArI2RlZmluZSBFRklfVENPX1JFU0VUX1BST1RP Q09MX0dVSUQgIFwNCj4gKyAgezB4YTZhNzkxNjIsIDB4ZTMyNSwgMHg0YzMwLCAweGJjLCAweGMz LCAweDU5LCAweDM3LCAweDMwLCAweDY0LCAweGVmLCAweGIzfQ0KPiArDQo+ICt0eXBlZGVmIHN0 cnVjdCBfRUZJX1RDT19SRVNFVF9QUk9UT0NPTCBFRklfVENPX1JFU0VUX1BST1RPQ09MOw0KPiAr DQo+ICsvKioNCj4gKyAgRW5hYmxlcyB0aGUgVENPIHRpbWVyIHRvIHJlc2V0IHRoZSBzeXN0ZW0g aW4gY2FzZSBvZiBhIHN5c3RlbSBoYW5nLiAgVGhpcyBpcw0KPiArICB1c2VkIHdoZW4gd3JpdGlu ZyB0aGUgY2xvY2sgcmVnaXN0ZXJzLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gUmNyYkdjc1NhdmVW YWx1ZSAgVGhpcyBpcyB0aGUgdmFsdWUgb2YgdGhlIFJDUkIgR0NTIHJlZ2lzdGVyDQo+IGJlZm9y ZSBpdCBpcw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoYW5nZWQgYnkgdGhp cyBwcm9jZWR1cmUuICBUaGlzIHdpbGwgYmUgdXNlZCB0byByZXN0b3JlDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhlIHNldHRpbmdzIG9mIHRoaXMgcmVnaXN0ZXIgaW4gUHBp RGlzYWJsZVRjb1Jlc2V0Lg0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICso RUZJQVBJICpFRklfVENPX1JFU0VUX1BST1RPQ09MX0VOQUJMRV9UQ09fUkVTRVQpICgNCj4gKyAg SU4gICAgICBVSU5UMzIgICAgICAgICAgICAqUmNyYkdjc1NhdmVWYWx1ZQ0KPiArICApOw0KPiAr DQo+ICsvKioNCj4gKyAgRGlzYWJsZXMgdGhlIFRDTyB0aW1lci4gIFRoaXMgaXMgdXNlZCBhZnRl ciB3cml0aW5nIHRoZSBjbG9jayByZWdpc3RlcnMuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBSY3Ji R2NzUmVzdG9yZVZhbHVlICBWYWx1ZSBzYXZlZCBpbiBQcGlFbmFibGVUY29SZXNldCBzbw0KPiB0 aGF0IGl0IGNhbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlc3RvcmVk Lg0KPiArKiovDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfVENP X1JFU0VUX1BST1RPQ09MX0RJU0FCTEVfVENPX1JFU0VUKSAoDQo+ICsgIE9VVCAgICAgVUlOVDMy ICAgIFJjcmJHY3NSZXN0b3JlVmFsdWUNCj4gKyAgKTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qg X0VGSV9UQ09fUkVTRVRfUFJPVE9DT0wgew0KPiArICBFRklfVENPX1JFU0VUX1BST1RPQ09MX0VO QUJMRV9UQ09fUkVTRVQgICAgICAgRW5hYmxlVGNvUmVzZXQ7DQo+ICsgIEVGSV9UQ09fUkVTRVRf UFJPVE9DT0xfRElTQUJMRV9UQ09fUkVTRVQgICAgCURpc2FibGVUY29SZXNldDsNCj4gK30gRUZJ X1RDT19SRVNFVF9QUk9UT0NPTDsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlUY29SZXNl dFByb3RvY29sR3VpZDsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1RwbU1wLmgNCj4gYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1RwbU1wLmgNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNDE1ZTUzZGFmMg0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0lu Y2x1ZGUvUHJvdG9jb2wvVHBtTXAuaA0KPiBAQCAtMCwwICsxLDEzNiBAQA0KPiArLyorKw0KPiAr DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1 bGUgTmFtZToNCj4gKw0KPiArICBUcG0uaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArDQo+ ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX19FRklfVFBNX01QX0RSSVZFUl9QUk9UT0NPTF9IX18N Cj4gKyNkZWZpbmUgX19FRklfVFBNX01QX0RSSVZFUl9QUk9UT0NPTF9IX18NCj4gKw0KPiArDQo+ ICsjZGVmaW5lIEVGSV9UUE1fTVBfRFJJVkVSX1BST1RPQ09MX0dVSUQgXA0KPiArICB7IDB4ZGUx NjFjZmUsIDB4MWU2MCwgMHg0MmExLCAweDhjLCAweGMzLCAweGVlLCAweDdlLCAweGYwLCAweDcz LCAweDUyLA0KPiAweDEyIH0NCj4gKw0KPiArDQo+ICtFRklfRk9SV0FSRF9ERUNMQVJBVElPTiAo RUZJX1RQTV9NUF9EUklWRVJfUFJPVE9DT0wpOw0KPiArDQo+ICsjZGVmaW5lIFRQTV9EUklWRVJf U1RBVFVTICAgICAgICAgMA0KPiArI2RlZmluZSBUUE1fREVWSUNFX1NUQVRVUyAgICAgICAgIDEN Cj4gKw0KPiArI2RlZmluZSBUUE1fRFJJVkVSX09LICAgICAgICAgICAgIDANCj4gKyNkZWZpbmUg VFBNX0RSSVZFUl9GQUlMRUQgICAgICAgICAxDQo+ICsjZGVmaW5lIFRQTV9EUklWRVJfTk9UX09Q RU5FRCAgICAgMg0KPiArI2RlZmluZSBUUE1fREVWSUNFX09LICAgICAgICAgICAgIDANCj4gKyNk ZWZpbmUgVFBNX0RFVklDRV9VTlJFQ09WRVJBQkxFICAxDQo+ICsjZGVmaW5lIFRQTV9ERVZJQ0Vf UkVDT1ZFUkFCTEUgICAgMg0KPiArI2RlZmluZSBUUE1fREVWSUNFX05PVF9GT1VORCAgICAgIDMN Cj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlwZXMgZm9yIHRoZSBUUE0gTVAgRHJpdmVyIFByb3Rv Y29sDQo+ICsvLw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIE9wZW4gdGhlIFRQTSBp bnRlcmZhY2UNCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMgICAgICAgICAgICAgQSBwb2ludGVy IHRvIHRoZSBFRklfVFBNX01QX0RSSVZFUl9QUk9UT0NPTC4NCj4gKw0KPiArICBAcmV0dmFsICBF RklfU1VDQ0VTUyAgICAgICAgT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAg QHJldHZhbCAgRUZJX0RFVklDRV9FUlJPUiAgIFRoZSBjb21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwN Cj4gKyAgQHJldHZhbCAgRUZJX05PVF9GT1VORCAgICAgIFRoZSBjb21wb25lbnQgd2FzIG5vdCBy dW5uaW5nDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVGSUFQ SSAqRUZJX1RQTV9NUF9JTklUKSAoDQo+ICsgIElOIEVGSV9UUE1fTVBfRFJJVkVSX1BST1RPQ09M ICAgKlRoaXMNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgc2VydmljZSBjbG9zZSB0 aGUgVFBNIGludGVyZmFjZSBhbmQgZGVhY3RpdmF0ZSBUUE0NCj4gKw0KPiArICBAcGFyYW1baW5d IFRoaXMgICAgICAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEVGSV9UUE1fTVBfRFJJVkVSX1BST1RP Q09MLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIE9wZXJhdGlvbiBjb21w bGV0ZWQgc3VjY2Vzc2Z1bGx5DQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9FUlJPUiAgIFRoZSBj b21tYW5kIHdhcyB1bnN1Y2Nlc3NmdWwNCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAg VGhlIGNvbXBvbmVudCB3YXMgbm90IHJ1bm5pbmcNCj4gKw0KPiArKiovDQo+ICt0eXBlZGVmDQo+ ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfVFBNX01QX0NMT1NFKSAoDQo+ICsgIElOIEVG SV9UUE1fTVBfRFJJVkVSX1BST1RPQ09MICAgKlRoaXMNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ ICsgIFRoaXMgc2VydmljZSBnZXQgdGhlIGN1cnJlbnQgc3RhdHVzIGluZm9tYXRpb24gb2YgVFBN DQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICAgIEEgcG9pbnRlciB0 byB0aGUNCj4gRUZJX1RQTV9NUF9EUklWRVJfUFJPVE9DT0wuDQo+ICsgIEBwYXJhbVtpbl0gIFJl cVN0YXR1c1R5cGUJICAgICAgICBSZXF1ZXN0ZWQgdHlwZSBvZiBzdGF0dXMgaW5mb3JtYXRpb24s DQo+IGRyaXZlciBvciBkZXZpY2UuDQo+ICsgIEBwYXJhbVtpbl0gIFN0YXR1cwkgICAgICAgICAg ICAgIFBvaW50ZXIgdG8gdGhlIHJldHVybmVkIHN0YXR1cy4NCj4gKw0KPiArICBAcmV0dmFsICBF RklfU1VDQ0VTUyAgICAgICAgICAgICAgT3BlcmF0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkN Cj4gKyAgQHJldHZhbCAgRUZJX0RFVklDRV9FUlJPUiAgICAgICAgIFRoZSBjb21tYW5kIHdhcyB1 bnN1Y2Nlc3NmdWwNCj4gKyAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgIE9uZSBv ciBtb3JlIG9mIHRoZSBwYXJhbWV0ZXJzIGFyZQ0KPiBpbmNvcnJlY3QNCj4gKyAgQHJldHZhbCAg RUZJX0JVRkZFUl9UT09fU01BTEwgICAgIFRoZSByZWNlaXZlIGJ1ZmZlciBpcyB0b28gc21hbGwN Cj4gKyAgQHJldHZhbCAgRUZJX05PVF9GT1VORCAgICAgICAgICAgIFRoZSBjb21wb25lbnQgd2Fz IG5vdCBydW5uaW5nDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiAr KEVGSUFQSSAqRUZJX1RQTV9NUF9HRVRfU1RBVFVTX0lORk8pICgNCj4gKyAgSU4gRUZJX1RQTV9N UF9EUklWRVJfUFJPVE9DT0wgICAqVGhpcywNCj4gKyAgSU4gVUlOVDMyCQkJCSAgICAgICAgICAg ICAgICBSZXFTdGF0dXNUeXBlLA0KPiArICBPVVQgVUlOVDMyCQkJCSAgICAgICAgICAgICAgKlN0 YXR1cw0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBzZXJ2aWNlIHRyYW5zbWl0IGRh dGEgdG8gdGhlIFRQTSBhbmQgZ2V0IHJlc3BvbnNlIGZyb20gVFBNDQo+ICsNCj4gKyAgQHBhcmFt W2luXSBUaGlzICAgICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZQ0KPiBFRklfVFBNX01Q X0RSSVZFUl9QUk9UT0NPTC4NCj4gKyAgQHBhcmFtW2luXSBUcmFuc21pdEJ1ZgkgICAgICAgICBQ b2ludGVyIHRvIGEgYnVmZmVyIGNvbnRhaW5pbmcgVFBNDQo+IHRyYW5zbWl0IGRhdGEuDQo+ICsg IEBwYXJhbVtpbl0gVHJhbnNtaXRCdWZMZW4JICAgICAgIFNpemVvZiBUUE0gaW5wdXQgYnVmZmVy IGluIGJ5dGVzLg0KPiArICBAcGFyYW1baW5dIFJlY2VpdmVCdWYJICAgICAgICAgICBQb2ludGVy IHRvIGEgYnVmZmVyIGNvbnRhaW5pbmcgVFBNDQo+IHJlY2VpdmUgZGF0YS4NCj4gKyAgQHBhcmFt W2luXSAgUmVjZWl2ZUJ1ZkxlbgkgICAgICAgT24gaW5wdXQsIHNpemUgb2YgVFBNIHJlY2VpdmUg YnVmZmVyIGluDQo+IGJ5dGVzLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBPbiBvdXRwdXQsIG51bWJlciBvZiBieXRlcyB3cml0dGVuLg0KPiArDQo+ICsgIEByZXR2YWwg IEVGSV9TVUNDRVNTICAgICAgICAgICAgIE9wZXJhdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5 DQo+ICsgIEByZXR2YWwgIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgIFRoZSBjb21tYW5kIHdhcyB1 bnN1Y2Nlc3NmdWwNCj4gKyAgQHJldHZhbCAgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgT25lIG9y IG1vcmUgb2YgdGhlIHBhcmFtZXRlcnMgYXJlDQo+IGluY29ycmVjdA0KPiArICBAcmV0dmFsICBF RklfQlVGRkVSX1RPT19TTUFMTCAgICBUaGUgcmVjZWl2ZSBidWZmZXIgaXMgdG9vIHNtYWxsDQo+ ICsgIEByZXR2YWwgIEVGSV9OT1RfRk9VTkQgICAgICAgICAgIFRoZSBjb21wb25lbnQgd2FzIG5v dCBydW5uaW5nDQo+ICsNCj4gKyoqLw0KPiArdHlwZWRlZg0KPiArRUZJX1NUQVRVUw0KPiArKEVG SUFQSSAqRUZJX1RQTV9NUF9UUkFOU01JVCkgKA0KPiArICBJTiBFRklfVFBNX01QX0RSSVZFUl9Q Uk9UT0NPTCAgICpUaGlzLA0KPiArICBJTiBVSU5UOAkJCQkgIAkgICAgICAgICAgICAqVHJhbnNt aXRCdWZmZXIsDQo+ICsgIElOIFVJTlQzMgkJCSAgCSAgICAgICAgICAgICAgVHJhbnNtaXRCdWZm ZXJMZW4sDQo+ICsgIE9VVCBVSU5UOAkJCQkgIAkgICAgICAgICAgICAqUmVjZWl2ZUJ1ZiwNCj4g KyAgSU4gT1VUIFVJTlQzMgkJCSAgCSAgICAgICAgICAqUmVjZWl2ZUJ1Zkxlbg0KPiArICApOw0K PiArDQo+ICsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3QgX0VGSV9UUE1fTVBfRFJJVkVSX1BST1RP Q09MIHsNCj4gKyAgRUZJX1RQTV9NUF9JTklUCQkJICAgICAgICAgICAgICBJbml0Ow0KPiArICBF RklfVFBNX01QX0NMT1NFCQkJICAgICAgICAgICAgQ2xvc2U7DQo+ICsgIEVGSV9UUE1fTVBfR0VU X1NUQVRVU19JTkZPIAkJICAgIEdldFN0YXR1c0luZm87DQo+ICsgIEVGSV9UUE1fTVBfVFJBTlNN SVQJCSAgICAgICAgICAgIFRyYW5zbWl0Ow0KPiArfSBFRklfVFBNX01QX0RSSVZFUl9QUk9UT0NP TDsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlUcG1NcERyaXZlclByb3RvY29sR3VpZDsN Cj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9JbmNsdWRlL1Byb3RvY29sL1VzYlBvbGljeS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9Vc2JQb2xpY3kuaA0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xNmU5ZjljNmJjDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvSW5jbHVkZS9Q cm90b2NvbC9Vc2JQb2xpY3kuaA0KPiBAQCAtMCwwICsxLDEyNiBAQA0KPiArLyorKw0KPiArDQo+ ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6 DQo+ICsgIFVzYlBvbGljeS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICstLSovDQo+ICsN Cj4gKyNpZm5kZWYgX1VTQl9QT0xJQ1lfSF8NCj4gKyNkZWZpbmUgX1VTQl9QT0xJQ1lfSF8NCj4g Kw0KPiArRUZJX0ZPUldBUkRfREVDTEFSQVRJT04gKEVGSV9VU0JfUE9MSUNZX1BST1RPQ09MKTsN Cj4gKw0KPiArI2RlZmluZSBVU0JfUE9MSUNZX0dVSUQgXA0KPiArICB7XA0KPiArICAgIDB4ZjYx N2IzNTgsIDB4MTJjZiwgMHg0MTRhLCAweGEwLCAweDY5LCAweDYwLCAweDY3LCAweDdiLCAweGRh LCAweDEzLA0KPiAweGI0XA0KPiArICB9DQo+ICsNCj4gKyNkZWZpbmUgVElBTk9fQ09ERV9CQVNF ICAgICAgICAgICAweDAwDQo+ICsjZGVmaW5lIElDQkRfQ09ERV9CQVNFICAgICAgICAgICAgMHgw MQ0KPiArDQo+ICsjZGVmaW5lIEFUVU9fVFlQRSAgICAgICAgICAgICAgICAgMHgwMA0KPiArI2Rl ZmluZSBVU0JfRkREX1RZUEUgICAgICAgICAgICAgIDB4MDENCj4gKyNkZWZpbmUgSEREX1RZUEUg ICAgICAgICAgICAgICAgICAweDAyDQo+ICsjZGVmaW5lIFpJUF9UWVBFICAgICAgICAgICAgICAg ICAgMHgwMw0KPiArI2RlZmluZSBDRFJPTV9UWVBFICAgICAgICAgICAgICAgIDB4MDQNCj4gKyNk ZWZpbmUgU0laRV9UWVBFICAgICAgICAgICAgICAgICAweDA1DQo+ICsNCj4gKyNkZWZpbmUgWklQ X0ZERCAgICAgICAgICAgICAgICAgMHg4MA0KPiArDQo+ICsjZGVmaW5lIEZERF9FTVVMQVRJT04g ICAgICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBIRERfRU1VTEFUSU9OICAgICAgICAgICAgIDB4 MDENCj4gKw0KPiArI2RlZmluZSBISUdIX1NQRUVEICAgICAgICAgICAgICAgIDB4MDANCj4gKyNk ZWZpbmUgRlVMTF9TUEVFRCAgICAgICAgICAgICAgICAweDAxDQo+ICsjZGVmaW5lIFNVUEVSX1NQ RUVEICAgICAgICAgICAgICAgMHgwMg0KPiArDQo+ICsjZGVmaW5lIExFR0FDWV9LQl9FTiAgICAg ICAgICAgICAgMHgwMQ0KPiArI2RlZmluZSBMRUdBQ1lfS0JfRElTICAgICAgICAgICAgIDB4MDAN Cj4gKyNkZWZpbmUgTEVHQUNZX01TX0VOICAgICAgICAgICAgICAweDAxDQo+ICsjZGVmaW5lIExF R0FDWV9NU19ESVMgICAgICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBMRUdBQ1lfVVNCX0VOICAg ICAgICAgICAgIDB4MDANCj4gKyNkZWZpbmUgTEVHQUNZX1VTQl9ESVMgICAgICAgICAgICAweDAx DQo+ICsjZGVmaW5lIExFR0FDWV9GUkVFX1NVUFAgICAgICAgICAgMHgwMQ0KPiArI2RlZmluZSBM RUdBQ1lfRlJFRV9VTl9TVVBQICAgICAgIDB4MDANCj4gKyNkZWZpbmUgTEVHQUNZX1BFUklPRF9T VVBQICAgICAgICAweDAxDQo+ICsjZGVmaW5lIExFR0FDWV9QRVJJT0RfVU5fU1VQUCAgICAgMHgw MA0KPiArDQo+ICsjZGVmaW5lIExFR0FDWV9VU0JfVElNRV9UVUVfRU5BQkxFICAgICAgIDB4MDEN Cj4gKyNkZWZpbmUgTEVHQUNZX1VTQl9USU1FX1RVRV9ESVNBQkxFICAgICAgMHgwMA0KPiArI2Rl ZmluZSBVU0JfSEFWRV9IVUJfSU5URVJORUwgICAgICAgICAgICAweDAxDQo+ICsjZGVmaW5lIFVT Ql9OT1RfSEFWRV9IVUJfSU5URVJORUwgICAgICAgIDB4MDANCj4gKw0KPiArI2RlZmluZSBVU0Jf UE9MSUNZX1BST1RPQ09MX1JFVklTSU9OXzEgMQ0KPiArI2RlZmluZSBVU0JfUE9MSUNZX1BST1RP Q09MX1JFVklTSU9OXzIgMg0KPiArDQo+ICsjaWZuZGVmIF9fR05VQ19fDQo+ICsjcHJhZ21hIHdh cm5pbmcgKCBkaXNhYmxlIDogNDMwNiApDQo+ICsjcHJhZ21hIHdhcm5pbmcgKCBkaXNhYmxlIDog NDA1NCApDQo+ICsjZW5kaWYNCj4gKw0KPiArI2RlZmluZSBHRVRfVVNCX0NGRyAoVXNiQ2ZnKTtc DQo+ICsgZG97XA0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgKnBTZWdPZkViZGE7XA0KPiAr ICBVSU5UMzIgICAgICAgICAgICAgICAgbVRvRWJkYTtcDQo+ICsgIHBTZWdPZkViZGEgPSAoVUlO VDE2ICopKFVJTlROKTB4NDBFO1wNCj4gKyAgbVRvRWJkYSAgICA9IChVSU5UMzIpKCgoVUlOVE4p KCpwU2VnT2ZFYmRhKSA8PCA0KSArIDB4ODApO1wNCj4gKyAgVXNiQ2ZnICAgICA9IChVU0JfQ0ZH ICopKFVJTlROKW1Ub0ViZGE7XA0KPiArIH13aGlsZSgwKTsNCj4gKw0KPiArI3ByYWdtYSAgICBw YWNrKDEpDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgICAgVUlOVDggICBIYXNVU0JLZXlib2Fy ZDoxOw0KPiArICAgIFVJTlQ4ICAgSGFzVVNCTW91c2U6MTsNCj4gKyAgICBVSU5UOCAgIExlZ2Fj eUZyZWVTdXBwb3J0OjE7DQo+ICsgICAgVUlOVDggICBVc2JPcGVyYXRpb25Nb2RlOjE7DQo+ICsg ICAgVUlOVDggICBMZWdhY3lLQkVuYWJsZToxOw0KPiArICAgIFVJTlQ4ICAgTGVnYWN5TVNFbmFi bGU6MTsNCj4gKyAgICBVSU5UOCAgIFVTQlBlcmlvZFN1cHBvcnQ6MTsNCj4gKyAgICBVSU5UOCAg IFJlc2VydmVkOjE7DQo+ICt9IFVTQl9ERVZJQ0VfSU5GT1I7DQo+ICsNCj4gK3R5cGVkZWYgc3Ry dWN0IHsNCj4gKyAgICBVSU5UOCAgICAgICAgICAgICAgIENvZGViYXNlOw0KPiArICAgIFVJTlQ4 ICAgICAgICAgICAgICAgVVNCSERERm9yY2VUeXBlOw0KPiArICAgIFVJTlQ4ICAgICAgICAgICAg ICAgQ29uZmlndXJhdGVkOw0KPiArICAgIFVJTlQ4ICAgICAgICAgICAgICAgTHBjQWNwaUJhc2U7 DQo+ICsgICAgVUlOVDggICAgICAgICAgICAgICBBY3BpVGltZXJSZWc7DQo+ICsgICAgVUlOVDgg ICAgICAgICAgICAgICBSZXNlcnZlZDFbMHgwMV07DQo+ICsgICAgVUlOVDggICAgICAgICAgICAg ICBMZWdhY3lVc2JFbmFibGU7DQo+ICsgICAgVVNCX0RFVklDRV9JTkZPUiAgICBVc2JEZXZpY2VJ bmZvcjsNCj4gKyAgICBVSU5UMTYgICAgICAgICAgICAgIFVzYkVtdWxhdGlvblNpemU7DQo+ICsg ICAgVUlOVDggICAgICAgICAgICAgICBSZXNlcnZlZDJbMHgwNl07DQo+ICt9IFVTQl9DRkc7DQo+ ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCBfRUZJX1VTQl9QT0xJQ1lf UFJPVE9DT0x7DQo+ICsgIFVJTlQ4ICAgVmVyc2lvbjsNCj4gKyAgVUlOVDggICBVc2JNYXNzU3Rv cmFnZUVtdWxhdGlvblR5cGU7ICAvLyAxOiBGRERfVHlwZTsgMjogSEREX1R5cGU7DQo+IG90aGVy OkF1dG9fVHlwZSoNCj4gKyAgVUlOVDggICBVc2JPcGVyYXRpb25Nb2RlOyAgICAgICAgICAgICAv LyAwOiBIaWdoX1NwZWVkOyAxOiBGdWxsX1NwZWVkOw0KPiArICBVSU5UOCAgIExlZ2FjeUtCRW5h YmxlOyAgICAgICAgICAgICAgIC8vIDA6IERpc2FibGVkOyAgIDE6IEVuYWJsZWQqDQo+ICsgIFVJ TlQ4ICAgTGVnYWN5TVNFbmFibGU7ICAgICAgICAgICAgICAgLy8gMDogRGlzYWJsZWQ7ICAgMTog RW5hYmxlZCoNCj4gKyAgVUlOVDggICBVU0JQZXJpb2RTdXBwb3J0OyAgICAgICAgICAgICAvLyAw OyBVbnN1cHBvcnQ7ICAxOiBTdXBwb3J0DQo+ICsgIFVJTlQ4ICAgTGVnYWN5VXNiRW5hYmxlOyAg ICAgICAgICAgICAgLy8gMTogRGlzYWJsZWQ7ICAgMDogRW5hYmxlZCoNCj4gKyAgVUlOVDggICBM ZWdhY3lGcmVlU3VwcG9ydDsgICAgICAgICAgICAvLyAwOiBVbnN1cHBvcnQ7ICAxOiBTdXBwb3J0 DQo+ICsgIFVJTlQ4ICAgQ29kZUJhc2U7DQo+ICsgIFVJTlQ4ICAgTHBjQWNwaUJhc2U7ICAgICAg ICAgICAgICAgICAgLy8gNDBoKGRlZmF1bHQpDQo+ICsgIFVJTlQ4ICAgQWNwaVRpbWVyUmVnOw0K PiArICBVSU5UOCAgIFVzYlRpbWVUdWU7DQo+ICsgIFVJTlQ4ICAgSW50ZXJuZWxIdWJFeGlzdDsg ICAgICAgICAgICAgLy8gMTogSG9zdCBoYXZlIGludGVybmVsIGh1YiBvbiBib2FyZDsgMDoNCj4g Tm8gaW50ZXJuZWwgaHViIG9uIGJvYXJkDQo+ICsgIFVJTlQ4ICAgRW51bVdhaXRQb3J0U3RhYmxl U3RhbGw7ICAgICAgLy8gVmFsdWUgZm9yIHdhaXQgcG9ydCBzdGFibGUgd2hlbg0KPiBlbnVtIGEg bmV3IGRldi4NCj4gKyAgVUlOVDE2ICBVc2JFbXVsYXRpb25TaXplOyAgICAgICAgICAgICAvLyBN Ynl0ZXMuDQo+ICsgIFVJTlQ4ICAgVXNiWmlwRW11bGF0aW9uVHlwZTsNCj4gKyAgVUlOVDggICBS ZXNlcnZlZFszXTsgICAgICAgICAgICAgICAgICAvLyBSZXNlcnZlZCBmaWVsZHMgZm9yIGZ1dHVy ZSBleHBhbnNpb24gdy9vDQo+IHByb3RvY29sIGNoYW5nZQ0KPiArfSBFRklfVVNCX1BPTElDWV9Q Uk9UT0NPTDsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlEIGdVc2JQb2xpY3lHdWlkOw0KPiArDQo+ ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0luY2x1ZGUvUHJvdG9jb2wvVmx2UGxhdGZvcm1Qb2xpY3kuaA0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvUHJvdG9jb2wvVmx2UGxhdGZvcm1Qb2xpY3ku aA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41YzBmZmEzMDI3 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvSW5jbHVkZS9Qcm90b2NvbC9WbHZQbGF0Zm9ybVBvbGljeS5oDQo+IEBAIC0wLDAgKzEs MTAyIEBADQo+ICsvKioNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxMywgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgIFZsdlBsYXRmb3JtUG9saWN5LmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4g KyAgSW50ZXJmYWNlIGRlZmluaXRpb24gZGV0YWlscyBiZXR3ZWVuIE1DSCBhbmQgcGxhdGZvcm0g ZHJpdmVycyBkdXJpbmcgRFhFDQo+IHBoYXNlLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5k ZWYgX1ZMVl9QTEFURk9STV9QT0xJQ1lfSF8NCj4gKyNkZWZpbmUgX1ZMVl9QTEFURk9STV9QT0xJ Q1lfSF8NCj4gKw0KPiArLy8NCj4gKy8vIFZMViBQb2xpY3kgcHJvdmlkZWQgYnkgcGxhdGZvcm0g Zm9yIERYRSBwaGFzZSB7NUJBQjg4QkEtRTBFMi00Njc0LQ0KPiBCNkFELUI4MTJGNjg4MUNENn0N Cj4gKy8vDQo+ICsjZGVmaW5lIERYRV9WTFZfUExBVEZPUk1fUE9MSUNZX0dVSUQgXA0KPiArICB7 MHg1YmFiODhiYSwgMHhlMGUyLCAweDQ2NzQsIDB4YjYsIDB4YWQsIDB4YjgsIDB4MTIsIDB4ZjYs IDB4ODgsIDB4MWMsDQo+IDB4ZDZ9DQo+ICsNCj4gKy8vDQo+ICsvLyBFeHRlcm4gdGhlIEdVSUQg Zm9yIHByb3RvY29sIHVzZXJzLg0KPiArLy8NCj4gK2V4dGVybiBFRklfR1VJRCBnRHhlVmx2UGxh dGZvcm1Qb2xpY3lHdWlkOw0KPiArDQo+ICsvLw0KPiArLy8gUHJvdG9jb2wgcmV2aXNpb24gbnVt YmVyDQo+ICsvLyBBbnkgYmFja3dhcmRzIGNvbXBhdGlibGUgY2hhbmdlcyB0byB0aGlzIHByb3Rv Y29sIHdpbGwgcmVzdWx0IGluIGFuDQo+IHVwZGF0ZSBpbiB0aGUgcmV2aXNpb24gbnVtYmVyDQo+ ICsvLyBNYWpvciBjaGFuZ2VzIHdpbGwgcmVxdWlyZSBwdWJsaWNhdGlvbiBvZiBhIG5ldyBwcm90 b2NvbA0KPiArLy8NCj4gKyNkZWZpbmUgRFhFX1ZMVl9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0xf UkVWSVNJT04gMA0KPiArDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggIFBG SVRTdGF0dXM7DQo+ICsgIFVJTlQ4ICBJZ2RUaGVyYW1sU3VwcG9ydDsNCj4gKyAgVUlOVDggIEFM U0VuYWJsZWQ7DQo+ICsgIFVJTlQ4ICBMaWRTdGF0dXM7DQo+ICt9IElHRF9QQU5FTF9GRUFUVVJF UzsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgIFJlc2VydmVkMDA7DQo+ ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQwMTsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDAyOw0KPiArICBV SU5UMTYgIFJlc2VydmVkMDM7DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwNDsNCj4gKyAgVUlOVDE2 ICBSZXNlcnZlZDA1Ow0KPiArICBVSU5UMTYgIFJlc2VydmVkMDY7DQo+ICsgIFVJTlQxNiAgUmVz ZXJ2ZWQwNzsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDA4Ow0KPiArICBVSU5UMTYgIFJlc2VydmVk MDk7DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwQTsNCj4gKyAgVUlOVDE2ICBSZXNlcnZlZDBCOw0K PiArICBVSU5UMTYgIFJlc2VydmVkMEM7DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQwRDsNCj4gKyAg VUlOVDggICBSZXNlcnZlZDBFOw0KPiArICBVSU5UOCAgIFJlc2VydmVkMEY7DQo+ICsgIFVJTlQz MiAgUmVzZXJ2ZWQxMDsNCj4gKyAgVUlOVDMyICBSZXNlcnZlZDExOw0KPiArICBVSU5UMzIgIFJl c2VydmVkMTI7DQo+ICsgIFVJTlQzMiAgUmVzZXJ2ZWQxMzsNCj4gKyAgVUlOVDMyICBSZXNlcnZl ZDE0Ow0KPiArICBVSU5UOCAgIFJlc2VydmVkMTU7DQo+ICsgIFVJTlQ4ICAgUmVzZXJ2ZWQxNjsN Cj4gK30gRFBURl9TRVRUSU5HUzsNCj4gKw0KPiArLy8NCj4gKy8vIE1DSCBEWEUgUGxhdGZvcm0g UG9saWNpeQ0KPiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQ0KPiArLy8NCj4gKw0KPiArI2RlZmluZSBOT19BVURJTyAgIDANCj4gKyNkZWZpbmUgSERf QVVESU8gICAxDQo+ICsjZGVmaW5lIExQRV9BVURJTyAgMg0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCBfRFhFX1ZMVl9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0wgew0KPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICBSZXZpc2lvbjsNCj4gKyAgSUdEX1BBTkVMX0ZFQVRVUkVTICAgICAgSWdkUGFu ZWxGZWF0dXJlczsNCj4gKyAgRFBURl9TRVRUSU5HUyAgICAgICAgICAgUmVzZXJ2ZWQ7DQo+ICsg IFVJTlQ4ICAgICAgICAgICAgICAgICAgIEdyYXBoaWNSZXNlcnZlMDA7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgIEdyYXBoaWNzUGVyZkFuYWx5emVyczsNCj4gKyAgVUlOVDggICAgICAg ICAgICAgICAgICAgUHdtUmVzZXJ2ZWQwMDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg UHdtUmVzZXJ2ZWQwMTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgUG1TdXBwb3J0Ow0K PiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBHcmFwaGljUmVzZXJ2ZTAxOw0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgICBHZnhQYXVzZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgR3JhcGhpY3NGcmVxUmVxOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBHcmFwaGlj UmVzZXJ2ZTAzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBHcmFwaGljUmVzZXJ2ZTAy Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBHcmFwaGljUmVzZXJ2ZTA0Ow0KPiArICBV SU5UOCAgICAgICAgICAgICAgICAgICBQYXZwTW9kZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgR3JhcGhpY1Jlc2VydmUwNTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgVWxD bG9ja0dhdGluZzsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgSWRsZVJlc2VydmU7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIEF1ZGlvVHlwZVN1cHBvcnQ7DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgIEdyYXBoaWNSZXNlcnZlMDY7DQo+ICt9IERYRV9WTFZfUExBVEZP Uk1fUE9MSUNZX1BST1RPQ09MOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0luY2x1ZGUvU2V0dXBNb2RlLmgNCj4gYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRlL1NldHVwTW9kZS5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjUzYWJkMWQzYTYNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9JbmNsdWRl L1NldHVwTW9kZS5oDQo+IEBAIC0wLDAgKzEsODUgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5 cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ ICsNCj4gKyAgICBTZXR1cE1vZGUuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgIEVG SSBTZXR1cCBNb2RlDQo+ICsNCj4gKw0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX0VG SV9TRVRVUF9NT0RFX0hfDQo+ICsjZGVmaW5lIF9FRklfU0VUVVBfTU9ERV9IXw0KPiArDQo+ICsv Lw0KPiArLy8gR2xvYmFsIElEIGZvciB0aGUgU2V0dXAgTW9kZQ0KPiArLy8NCj4gKyNkZWZpbmUg RUZJX1BMQVRGT1JNX0JPT1RfTU9ERV9HVUlEIFwNCj4gKyAgeyAweGNlODQ1NzA0LCAweDE2ODMs IDB4NGQzOCwgMHhhNCwgMHhmOSwgMHg3ZCwgMHhiLCAweDUwLCAweDc3LCAweDU3LCAweDkzIH0N Cj4gKw0KPiArI2RlZmluZSBFRklfTk9STUFMX1NFVFVQX0dVSUQgXA0KPiArICB7IDB4ZWM4N2Q2 NDMsIDB4ZWJhNCwgMHg0YmI1LCAweGExLCAweGU1LCAweDNmLCAweDNlLCAweDM2LCAweGIyLCAw eGQsDQo+IDB4YTkgfQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9OT1JNQUxfU0VUVVBfUkVTRVRfTkFN RSBMIlJlc2V0Ig0KPiArDQo+ICtlbnVtIHsNCj4gKyAgLy8NCj4gKyAgLy8gVGhpcyBtZWFuczog IndoYXRldmVyIHJlc2V0IGRlZmF1bHRzIGluIHNldHVwIGRvZXMiDQo+ICsgIC8vDQo+ICsgIFNl dHVwRGF0YVJlc2V0Tm9ybWFsICAgICAgICA9IDAsDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhp cyBtZWFuczogInRoZSBkZWZhdWx0cyBidWlsdCBpbnRvIHRoZSBCSU9TIg0KPiArICAvLw0KPiAr ICBTZXR1cERhdGFSZXNldFN0YW5kYXJkICAgICAgPSAxLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFRoaXMgbWVhbnM6ICJ0aGUgbWFudWZhY3R1cmluZyBtb2RlIGRlZmF1bHRzIg0KPiArICAvLw0K PiArICBTZXR1cERhdGFSZXNldE1hbnVmYWN0dXJpbmcgPSAyLA0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFRoaXMgbWVhbnM6ICJ0aGUgb2VtIGRlZmF1bHRzIg0KPiArICAvLw0KPiArICBTZXR1cERh dGFSZXNldE9lbSAgICAgICAgICAgPSAzLA0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIFBsYXRm b3JtQm9vdE1vZGUgdHlwZXMNCj4gKy8vDQo+ICsjZGVmaW5lIFBMQVRGT1JNX05PUk1BTF9NT0RF ICAgICAgICAgIDB4MDENCj4gKyNkZWZpbmUgUExBVEZPUk1fU0FGRV9NT0RFICAgICAgICAgICAg MHgwMg0KPiArI2RlZmluZSBQTEFURk9STV9SRUNPVkVSWV9NT0RFICAgICAgICAweDA0DQo+ICsj ZGVmaW5lIFBMQVRGT1JNX01BTlVGQUNUVVJJTkdfTU9ERSAgIDB4MDgNCj4gKyNkZWZpbmUgUExB VEZPUk1fQkFDS19UT19CSU9TX01PREUgICAgMHgxMA0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQg Z0VmaVBsYXRmb3JtQm9vdE1vZGVHdWlkOw0KPiArDQo+ICsjZGVmaW5lICAgTk9STUFMX1NFVFVQ X05BTUUgICAgICAgICAgICAgICAgTCJTZXR1cCINCj4gKyNkZWZpbmUgICBJTl9TRVRVUF9OQU1F ICAgICAgICAgICAgICAgICAgICBMIkluU2V0dXAiDQo+ICsjZGVmaW5lICAgU1lTVEVNX1BBU1NX T1JEX05BTUUgICAgICAgICAgICAgTCJTeXN0ZW1QYXNzd29yZCINCj4gKyNkZWZpbmUgICBCT09U X1RJTUVfTkFNRSAgICAgICAgICAgICAgICAgICBMIkJvb3RUaW1lIg0KPiArDQo+ICtleHRlcm4g RUZJX0dVSUQgZ0VmaU5vcm1hbFNldHVwR3VpZDsNCj4gK2V4dGVybiBDSEFSMTYgICBnRWZpTm9y bWFsU2V0dXBOYW1lW107DQo+ICtleHRlcm4gQ0hBUjE2ICAgZ0VmaUluU2V0dXBOYW1lW107DQo+ ICtleHRlcm4gQ0hBUjE2ICAgZ0VmaVN5c3RlbVBhc3N3b3JkTmFtZVtdOw0KPiArDQo+ICt0eXBl ZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9HVUlEICAgIFNldHVwR3VpZDsNCj4gKyAgQ0hBUjE2ICAg ICAgU2V0dXBOYW1lWzB4MjBdOyAgICAgICAgICAvLyBNYXhpbXVtICJTZXR1cCIgTmFtZQ0KPiAr ICBVSU5UMzIgICAgICBQbGF0Zm9ybUJvb3RNb2RlOw0KPiArfSBFRklfUExBVEZPUk1fU0VUVVBf SUQ7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvSW50ZWxHb3BEZXBleC9JbnRlbEdvcERyaXZlci5kZXBleA0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0ludGVsR29wRGVwZXgvSW50ZWxHb3BEcml2 ZXIuZGVwZXgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMDEx ZjkyOWYwYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0ludGVsR29wRGVwZXgvSW50ZWxHb3BEcml2ZXIuZGVwZXgNCj4gQEAgLTAs MCArMSBAQA0KPiArAhvvv70u77+9Mu+/vUjvv70N34rvv73vv708XQgNCj4gXCBObyBuZXdsaW5l IGF0IGVuZCBvZiBmaWxlDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9MaWJyYXJ5L0Jpb3NJZExpYi9CaW9zSWRMaWIuYw0KPiBiL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQmlvc0lkTGliL0Jpb3NJZExpYi5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjNmMGUyMGM3YTgNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L0Jpb3NJZExpYi9CaW9zSWRMaWIuYw0KPiBAQCAtMCwwICsxLDMzNyBAQA0KPiArLyorKw0KPiAr DQo+ICtDb3B5cmlnaHQgKGMpIDIwMTEgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4g Kw0KPiArICBCaW9zSWRMaWIuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBCb290IHNl cnZpY2UgRFhFIEJJT1MgSUQgbGlicmFyeSBpbXBsZW1lbnRhdGlvbi4NCj4gKw0KPiArICBUaGVz ZSBmdW5jdGlvbnMgaW4gdGhpcyBmaWxlIGNhbiBiZSBjYWxsZWQgZHVyaW5nIERYRSBhbmQgY2Fu bm90IGJlIGNhbGxlZA0KPiBkdXJpbmcgcnVudGltZQ0KPiArICBvciBpbiBTTU0gd2hpY2ggc2hv dWxkIHVzZSBhIFJUIG9yIFNNTSBsaWJyYXJ5Lg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNs dWRlIDxQaUR4ZS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1 ZGUgPExpYnJhcnkvSG9iTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZp Y2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0Jpb3NJZExpYi5oPg0KPiArI2luY2x1ZGUgPEd1aWQvQmlvc0lkLmg+DQo+ICsjaW5jbHVkZSA8 UHJvdG9jb2wvRmlybXdhcmVWb2x1bWUyLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvTG9hZGVk SW1hZ2UuaD4NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXRJbWFnZUZyb21GdiAoDQo+ ICsgIElOICBFRklfRklSTVdBUkVfVk9MVU1FMl9QUk9UT0NPTCAqRnYsDQo+ICsgIElOICBFRklf R1VJRCAgICAgICAgICAgKk5hbWVHdWlkLA0KPiArICBJTiAgRUZJX1NFQ1RJT05fVFlQRSAgIFNl Y3Rpb25UeXBlLA0KPiArICBPVVQgVk9JRCAgICAgICAgICAgICAgICoqQnVmZmVyLA0KPiArICBP VVQgVUlOVE4gICAgICAgICAgICAgICpTaXplDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRV UyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9GVl9GSUxFVFlQRSAgICAgICAgICAg RmlsZVR5cGU7DQo+ICsgIEVGSV9GVl9GSUxFX0FUVFJJQlVURVMgICAgQXR0cmlidXRlczsNCj4g KyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBBdXRoZW50aWNhdGlvblN0YXR1czsNCj4gKw0K PiArICAvLw0KPiArICAvLyBSZWFkIGRlc2lyZWQgc2VjdGlvbiBjb250ZW50IGluIE5hbWVHdWlk IGZpbGUNCj4gKyAgLy8NCj4gKyAgKkJ1ZmZlciAgICAgPSBOVUxMOw0KPiArICAqU2l6ZSAgICAg ICA9IDA7DQo+ICsgIFN0YXR1cyAgICAgID0gRnYtPlJlYWRTZWN0aW9uICgNCj4gKyAgICAgICAg ICAgICAgICAgICAgICBGdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBOYW1lR3VpZCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICBTZWN0aW9uVHlwZSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICBTaXplLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZBdXRoZW50aWNhdGlv blN0YXR1cw0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgaWYgKEVGSV9F UlJPUiAoU3RhdHVzKSAmJiAoU2VjdGlvblR5cGUgPT0gRUZJX1NFQ1RJT05fVEUpKSB7DQo+ICsg ICAgLy8NCj4gKyAgICAvLyBUcnkgcmVhZGluZyBQRTMyIHNlY3Rpb24sIHNpbmNlIHRoZSBURSBz ZWN0aW9uIGRvZXMgbm90IGV4aXN0DQo+ICsgICAgLy8NCj4gKyAgICAqQnVmZmVyID0gTlVMTDsN Cj4gKyAgICAqU2l6ZSAgID0gMDsNCj4gKyAgICBTdGF0dXMgID0gRnYtPlJlYWRTZWN0aW9uICgN Cj4gKyAgICAgICAgICAgICAgICAgICAgRnYsDQo+ICsgICAgICAgICAgICAgICAgICAgIE5hbWVH dWlkLA0KPiArICAgICAgICAgICAgICAgICAgICBFRklfU0VDVElPTl9QRTMyLA0KPiArICAgICAg ICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgICBCdWZmZXIsDQo+ICsgICAg ICAgICAgICAgICAgICAgIFNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZBdXRoZW50aWNh dGlvblN0YXR1cw0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSAmJg0KPiArICAgICAgKChTZWN0aW9uVHlwZSA9PSBFRklf U0VDVElPTl9URSkgfHwgKFNlY3Rpb25UeXBlID09DQo+IEVGSV9TRUNUSU9OX1BFMzIpKSkgew0K PiArICAgIC8vDQo+ICsgICAgLy8gVHJ5IHJlYWRpbmcgcmF3IGZpbGUsIHNpbmNlIHRoZSBkZXNp cmVkIHNlY3Rpb24gZG9lcyBub3QgZXhpc3QNCj4gKyAgICAvLw0KPiArICAgICpCdWZmZXIgPSBO VUxMOw0KPiArICAgICpTaXplICAgPSAwOw0KPiArICAgIFN0YXR1cyAgPSBGdi0+UmVhZEZpbGUg KA0KPiArICAgICAgICAgICAgICAgICAgICBGdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgTmFt ZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIEJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAg ICAgICAgU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkZpbGVUeXBlLA0KPiArICAgICAg ICAgICAgICAgICAgICAmQXR0cmlidXRlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgJkF1dGhl bnRpY2F0aW9uU3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIH0NCj4gKw0K PiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0dl dEltYWdlRXggKA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgIEltYWdlSGFuZGxlLA0KPiAr ICBJTiAgRUZJX0dVSUQgICAgICAgICAgICpOYW1lR3VpZCwNCj4gKyAgSU4gIEVGSV9TRUNUSU9O X1RZUEUgICBTZWN0aW9uVHlwZSwNCj4gKyAgT1VUIFZPSUQgICAgICAgICAgICAgICAqKkJ1ZmZl ciwNCj4gKyAgT1VUIFVJTlROICAgICAgICAgICAgICAqU2l6ZSwNCj4gKyAgQk9PTEVBTiAgICAg ICAgICAgICAgICBXaXRoaW5JbWFnZUZ2DQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAg ICAgICAqSGFuZGxlQnVmZmVyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBI YW5kbGVDb3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ ICsgIEVGSV9MT0FERURfSU1BR0VfUFJPVE9DT0wgICAgICpMb2FkZWRJbWFnZTsNCj4gKw0KPiAr ICBFRklfRklSTVdBUkVfVk9MVU1FMl9QUk9UT0NPTCAqSW1hZ2VGdjsNCj4gKyAgRUZJX0ZJUk1X QVJFX1ZPTFVNRTJfUFJPVE9DT0wgKkZ2Ow0KPiArDQo+ICsNCj4gKyAgaWYgKEltYWdlSGFuZGxl ID09IE5VTEwgJiYgV2l0aGluSW1hZ2VGdikgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9Q QVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgID0gRUZJX05PVF9GT1VORDsNCj4g KyAgSW1hZ2VGdiA9IE5VTEw7DQo+ICsgIGlmIChJbWFnZUhhbmRsZSAhPSBOVUxMKSB7DQo+ICsg ICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAg IEltYWdlSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaUxvYWRlZEltYWdlUHJv dG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkxvYWRlZEltYWdl DQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgICB9DQo+ICsgICAgU3RhdHVzID0g Z0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgIExvYWRlZEltYWdl LT5EZXZpY2VIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpRmlybXdhcmVWb2x1 bWUyUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkltYWdl RnYNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoIUVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KPiArICAgICAgU3RhdHVzID0gR2V0SW1hZ2VGcm9tRnYgKEltYWdlRnYsIE5hbWVH dWlkLCBTZWN0aW9uVHlwZSwgQnVmZmVyLA0KPiBTaXplKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4g Kw0KPiArICBpZiAoU3RhdHVzID09IEVGSV9TVUNDRVNTIHx8IFdpdGhpbkltYWdlRnYpIHsNCj4g KyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2Nh dGVIYW5kbGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgQnlQcm90b2NvbCwNCj4gKyAg ICAgICAgICAgICAgICAgICZnRWZpRmlybXdhcmVWb2x1bWUyUHJvdG9jb2xHdWlkLA0KPiArICAg ICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGVDb3VudCwN Cj4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGVCdWZmZXINCj4gKyAgICAgICAgICAgICAgICAg ICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVz Ow0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmluZCBkZXNpcmVkIGltYWdlIGluIGFs bCBGdnMNCj4gKyAgLy8NCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgSGFuZGxlQ291bnQ7 ICsrSW5kZXgpIHsNCj4gKyAgICBTdGF0dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAg ICAgICAgICAgICAgICAgICAgSGFuZGxlQnVmZmVyW0luZGV4XSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAg ICAgICAgIChWT0lEKiopJkZ2DQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAg ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBnQlMtPkZyZWVQb29sKEhhbmRs ZUJ1ZmZlcik7DQo+ICsgICAgICByZXR1cm4gU3RhdHVzOw0KPiArICAgIH0NCj4gKw0KPiArICAg IGlmIChJbWFnZUZ2ICE9IE5VTEwgJiYgRnYgPT0gSW1hZ2VGdikgew0KPiArICAgICAgY29udGlu dWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgU3RhdHVzID0gR2V0SW1hZ2VGcm9tRnYgKEZ2LCBO YW1lR3VpZCwgU2VjdGlvblR5cGUsIEJ1ZmZlciwgU2l6ZSk7DQo+ICsNCj4gKyAgICBpZiAoIUVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArICB9DQo+ ICsgIGdCUy0+RnJlZVBvb2woSGFuZGxlQnVmZmVyKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBO b3QgZm91bmQgaW1hZ2UNCj4gKyAgLy8NCj4gKyAgaWYgKEluZGV4ID09IEhhbmRsZUNvdW50KSB7 DQo+ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4g RUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHJldHVy bnMgQklPUyBJRCBieSBzZWFyY2hpbmcgSE9CIG9yIEZWLg0KPiArDQo+ICsgIEBwYXJhbSBCaW9z SWRJbWFnZSAgICAgICAgICAgICBUaGUgQklPUyBJRCBnb3QgZnJvbSBIT0Igb3IgRlYuDQo+ICsN Cj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIEFsbCBwYXJhbWV0ZXJzIHdlcmUg dmFsaWQgYW5kIEJJT1MgSUQgaGFzIGJlZW4NCj4gZ290Lg0KPiArICBAcmV0dmFsIEVGSV9OT1Rf Rk9VTkQgICAgICAgICAgQmlvc0lkIGltYWdlIGlzIG5vdCBmb3VuZCwgYW5kIG5vDQo+IHBhcmFt ZXRlciB3aWxsIGJlIG1vZGlmaWVkLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRF UiAgVGhlIHBhcmFtZXRlciBpcyBOVUxMLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0dldEJpb3NJZCAoDQo+ICsgIE9VVCBCSU9TX0lEX0lNQUdFICAgICAqQmlvc0lkSW1hZ2UNCj4g KyAgKQ0KPiArDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgU3RhdHVzOw0KPiArICBWT0lEICAg ICAgICAgICpBZGRyZXNzID0gTlVMTDsNCj4gKyAgVUlOVE4gICAgICAgICBTaXplID0gMDsNCj4g Kw0KPiArICAgIERFQlVHICgoRUZJX0RfSU5GTywgIkdldCBCSU9TIElEIGZyb20gRlZcbiIpKTsN Cj4gKw0KPiArICAgIFN0YXR1cyA9IEdldEltYWdlRXggKA0KPiArICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICZnRWZpQmlvc0lkR3VpZCwNCj4gKyAgICAgICAgICAgICAg IEVGSV9TRUNUSU9OX1JBVywNCj4gKyAgICAgICAgICAgICAgICZBZGRyZXNzLA0KPiArICAgICAg ICAgICAgICAgJlNpemUsDQo+ICsgICAgICAgICAgICAgICBGQUxTRQ0KPiArICAgICAgICAgICAg ICAgKTsNCj4gKw0KPiArICAgIGlmIChTdGF0dXMgPT0gRUZJX1NVQ0NFU1MpIHsNCj4gKyAgICAg IC8vDQo+ICsgICAgICAvLyBCaW9zSWQgaW1hZ2UgaXMgcHJlc2VudCBpbiBGVg0KPiArICAgICAg Ly8NCj4gKyAgICAgIGlmIChBZGRyZXNzICE9IE5VTEwpIHsNCj4gKyAgICAgICAgU2l6ZSA9IHNp emVvZiAoQklPU19JRF9JTUFHRSk7DQo+ICsgICAgICAgIGdCUy0+Q29weU1lbSAoDQo+ICsgICAg ICAgICAgICAgICh2b2lkICopIEJpb3NJZEltYWdlLA0KPiArICAgICAgICAgICAgICBBZGRyZXNz LA0KPiArICAgICAgICAgICAgICBTaXplDQo+ICsgICAgICAgICAgICAgICk7DQo+ICsgICAgICAg IC8vDQo+ICsgICAgICAgIC8vIEdldEltYWdlICgpIGFsbG9jYXRlZCBidWZmZXIgZm9yIEFkZHJl c3MsIG5vdyBjbGVhciBpdC4NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgZ0JTLT5GcmVlUG9v bCAoQWRkcmVzcyk7DQo+ICsNCj4gKyAgICAgICAgREVCVUcgKChFRklfRF9JTkZPLCAiR2V0IEJJ T1MgSUQgZnJvbSBGViBzdWNjZXNzZnVsbHlcbiIpKTsNCj4gKyAgICAgICAgREVCVUcgKChFRklf RF9JTkZPLCAiQklPUyBJRDogJXNcbiIsIChDSEFSMTYgKikgKCYoQmlvc0lkSW1hZ2UtDQo+ID5C aW9zSWRTdHJpbmcpKSkpOw0KPiArDQo+ICsgICAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4g KyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArfQ0KPiAr DQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiByZXR1cm5zIHRoZSBWZXJzaW9uICYgUmVsZWFz ZSBEYXRlIGFuZCBUaW1lIGJ5IGdldHRpbmcgYW5kDQo+IGNvbnZlcnRpbmcNCj4gKyAgQklPUyBJ RC4NCj4gKw0KPiArICBAcGFyYW0gQmlvc1ZlcnNpb24gIFRoZSBCaW9zIFZlcnNpb24gb3V0IG9m IHRoZSBjb252ZXJzaW9uLg0KPiArICBAcGFyYW0gQmlvc1JlbGVhc2VEYXRlICBUaGUgQmlvcyBS ZWxlYXNlIERhdGUgb3V0IG9mIHRoZSBjb252ZXJzaW9uLg0KPiArICBAcGFyYW0gQmlvc1JlbGVh c2VUaW1lIC0gVGhlIEJpb3MgUmVsZWFzZSBUaW1lIG91dCBvZiB0aGUgY29udmVyc2lvbi4NCj4g Kw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTIC0gQklPUyBWZXJzaW9uICYgUmVsZWFzZSBEYXRl IGFuZCBUaW1lIGhhdmUgYmVlbg0KPiBnb3Qgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVG SV9OT1RfRk9VTkQgLSBCaW9zSWQgaW1hZ2UgaXMgbm90IGZvdW5kLCBhbmQgbm8gcGFyYW1ldGVy DQo+IHdpbGwgYmUgbW9kaWZpZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVS IC0gQWxsIHRoZSBwYXJhbWV0ZXJzIGFyZSBOVUxMLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFU VVMNCj4gK0dldEJpb3NWZXJzaW9uRGF0ZVRpbWUgKA0KPiArICBPVVQgQ0hBUjE2ICAgICpCaW9z VmVyc2lvbiwgT1BUSU9OQUwNCj4gKyAgT1VUIENIQVIxNiAgICAqQmlvc1JlbGVhc2VEYXRlLCBP UFRJT05BTA0KPiArICBPVVQgQ0hBUjE2ICAgICpCaW9zUmVsZWFzZVRpbWUgT1BUSU9OQUwNCj4g KyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICBTdGF0dXM7DQo+ICsgIEJJT1NfSURf SU1BR0UgICAgIEJpb3NJZEltYWdlOw0KPiArDQo+ICsgIGlmICgoQmlvc1ZlcnNpb24gPT0gTlVM TCkgJiYgKEJpb3NSZWxlYXNlRGF0ZSA9PSBOVUxMKSAmJg0KPiAoQmlvc1JlbGVhc2VUaW1lID09 IE5VTEwpKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0K PiArDQo+ICsgIFN0YXR1cyA9IEdldEJpb3NJZCAoJkJpb3NJZEltYWdlKTsNCj4gKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9 DQo+ICsNCj4gKyAgaWYgKEJpb3NWZXJzaW9uICE9IE5VTEwpIHsNCj4gKyAgICAvLw0KPiArICAg IC8vIEZpbGwgdGhlIEJpb3NWZXJzaW9uIGRhdGEgZnJvbSB0aGUgQklPUyBJRC4NCj4gKyAgICAv Lw0KPiArICAgIFN0ckNweSAoQmlvc1ZlcnNpb24sIChDSEFSMTYgKikgKCYoQmlvc0lkSW1hZ2Uu Qmlvc0lkU3RyaW5nKSkpOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEJpb3NSZWxlYXNlRGF0ZSAh PSBOVUxMKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBGaWxsIHRoZSBidWlsZCB0aW1lc3RhbXAg ZGF0ZSBmcm9tIHRoZSBCSU9TIElEIGluIHRoZSAiTU0vREQvWVkiDQo+IGZvcm1hdC4NCj4gKyAg ICAvLw0KPiArICAgIEJpb3NSZWxlYXNlRGF0ZVswXSA9IEJpb3NJZEltYWdlLkJpb3NJZFN0cmlu Zy5UaW1lU3RhbXBbMl07DQo+ICsgICAgQmlvc1JlbGVhc2VEYXRlWzFdID0gQmlvc0lkSW1hZ2Uu Qmlvc0lkU3RyaW5nLlRpbWVTdGFtcFszXTsNCj4gKyAgICBCaW9zUmVsZWFzZURhdGVbMl0gPSAo Q0hBUjE2KSAoKFVJTlQ4KSAoJy8nKSk7DQo+ICsNCj4gKyAgICBCaW9zUmVsZWFzZURhdGVbM10g PSBCaW9zSWRJbWFnZS5CaW9zSWRTdHJpbmcuVGltZVN0YW1wWzRdOw0KPiArICAgIEJpb3NSZWxl YXNlRGF0ZVs0XSA9IEJpb3NJZEltYWdlLkJpb3NJZFN0cmluZy5UaW1lU3RhbXBbNV07DQo+ICsg ICAgQmlvc1JlbGVhc2VEYXRlWzVdID0gKENIQVIxNikgKChVSU5UOCkgKCcvJykpOw0KPiArDQo+ ICsgICAgLy8NCj4gKyAgICAvLyBBZGQgMjAgZm9yIFNNQklPUyB0YWJsZQ0KPiArICAgIC8vIEN1 cnJlbnQgTGludXgga2VybmVsIHdpbGwgbWlzanVkZ2UgMDkgYXMgeWVhciAwLCBzbyB1c2luZyAy MDA5IGZvcg0KPiBTTUJJT1MgdGFibGUNCj4gKyAgICAvLw0KPiArICAgIEJpb3NSZWxlYXNlRGF0 ZVs2XSA9ICcyJzsNCj4gKyAgICBCaW9zUmVsZWFzZURhdGVbN10gPSAnMCc7DQo+ICsgICAgQmlv c1JlbGVhc2VEYXRlWzhdID0gQmlvc0lkSW1hZ2UuQmlvc0lkU3RyaW5nLlRpbWVTdGFtcFswXTsN Cj4gKyAgICBCaW9zUmVsZWFzZURhdGVbOV0gPSBCaW9zSWRJbWFnZS5CaW9zSWRTdHJpbmcuVGlt ZVN0YW1wWzFdOw0KPiArDQo+ICsgICAgQmlvc1JlbGVhc2VEYXRlWzEwXSA9IChDSEFSMTYpICgo VUlOVDgpICgnXDAnKSk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoQmlvc1JlbGVhc2VUaW1lICE9 IE5VTEwpIHsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gRmlsbCB0aGUgYnVpbGQgdGltZXN0 YW1wIHRpbWUgZnJvbSB0aGUgQklPUyBJRCBpbiB0aGUgIkhIOk1NIiBmb3JtYXQuDQo+ICsgICAg Ly8NCj4gKw0KPiArICAgIEJpb3NSZWxlYXNlVGltZVswXSA9IEJpb3NJZEltYWdlLkJpb3NJZFN0 cmluZy5UaW1lU3RhbXBbNl07DQo+ICsgICAgQmlvc1JlbGVhc2VUaW1lWzFdID0gQmlvc0lkSW1h Z2UuQmlvc0lkU3RyaW5nLlRpbWVTdGFtcFs3XTsNCj4gKyAgICBCaW9zUmVsZWFzZVRpbWVbMl0g PSAoQ0hBUjE2KSAoKFVJTlQ4KSAoJzonKSk7DQo+ICsNCj4gKyAgICBCaW9zUmVsZWFzZVRpbWVb M10gPSBCaW9zSWRJbWFnZS5CaW9zSWRTdHJpbmcuVGltZVN0YW1wWzhdOw0KPiArICAgIEJpb3NS ZWxlYXNlVGltZVs0XSA9IEJpb3NJZEltYWdlLkJpb3NJZFN0cmluZy5UaW1lU3RhbXBbOV07DQo+ ICsNCj4gKyAgICBCaW9zUmVsZWFzZVRpbWVbNV0gPSAoQ0hBUjE2KSAoKFVJTlQ4KSAoJ1wwJykp Ow0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuICBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiBk aWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9CaW9z SWRMaWIvQmlvc0lkTGliLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L0xpYnJhcnkvQmlvc0lkTGliL0Jpb3NJZExpYi5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uM2U1MzY4MGQwOA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQmlvc0lkTGliL0Jpb3NJ ZExpYi5pbmYNCj4gQEAgLTAsMCArMSw1MCBAQA0KPiArIy8qKysNCj4gKyMNCj4gKyMgQ29weXJp Z2h0IChjKSAgMjAxMCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZA0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKw0KPiArIw0KPiArIyAgTW9kdWxlIE5hbWU6DQo+ ICsjDQo+ICsjICAgQmlvc0lkTGliLmluZg0KPiArIw0KPiArIyAgQWJzdHJhY3Q6DQo+ICsjDQo+ ICsjICAgIENvbXBvbmVudCBkZXNjcmlwdGlvbiBmaWxlIGZvciBCSU9TIElEIGxpYnJhcnkNCj4g KyMNCj4gKyMtLSovDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAg ICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAg PSBCaW9zSWRMaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gOTg1NDYx NDUtNjRGMS00ZDJlLTgxNEYtNkJGOTYzREI3OTMwDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAg ICAgICAgICAgICA9IEJBU0UNCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0g MS4wDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IEJpb3NJZExpYg0KPiAr ICBQSV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT04gICAgICAgPSAweDAwMDEwMDBBDQo+ICsNCj4gK1tT b3VyY2VzXQ0KPiArICBCaW9zSWRMaWIuYw0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBr Zy9NZGVQa2cuZGVjDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIE1kZU1vZHVsZVBrZy9N ZGVNb2R1bGVQa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VSZWZD b2RlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKw0K PiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBIb2JMaWINCj4gKw0KPiArW0d1aWRzXQ0KPiArICBn RWZpQmlvc0lkR3VpZA0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiArICBnRWZpTG9hZGVkSW1hZ2VQ cm90b2NvbEd1aWQNCj4gKyAgZ0VmaUZpcm13YXJlVm9sdW1lMlByb3RvY29sR3VpZA0KPiArDQo+ ICtbRGVwZXhdDQo+ICsgIGdFZmlMb2FkZWRJbWFnZVByb3RvY29sR3VpZCBBTkQNCj4gKyAgZ0Vm aUZpcm13YXJlVm9sdW1lMlByb3RvY29sR3VpZA0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9DcHVJQTMyTGliL0NwdUlBMzJMaWIuaW5m DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9DcHVJQTMyTGli L0NwdUlBMzJMaWIuaW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLmM5ZjBhNDM0YWMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlBMzJMaWIvQ3B1SUEzMkxpYi5pbmYNCj4gQEAg LTAsMCArMSw0MSBAQA0KPiArIw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsjDQo+IA0KPiAr IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsj DQo+IA0KPiArIw0KPiArIw0KPiArIyAgIE1vZHVsZSBOYW1lOg0KPiArIw0KPiArIyAgICAgQ3B1 SUEzMkxpYi5pbmYNCj4gKyMNCj4gKyMgICBBYnN0cmFjdDoNCj4gKyMNCj4gKyMgICAgIENvbXBv bmVudCBkZXNjcmlwdGlvbiBmaWxlIGZvciB0aGUgQ3B1IElBMzIgbGlicmFyeS4NCj4gKyMNCj4g KyMtLSovDQo+ICsNCj4gK1tkZWZpbmVzXQ0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAg ICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9 IENwdUlBMzJMaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gOTg1NDYx NzgtNjRGMS00ZDJlLTgxNEYtNkJGOTYzREI3OTMwDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAg ICAgICAgICAgICA9IEJBU0UNCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0g MS4wDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IENwdUlBMzJMaWINCj4g KyAgUElfU1BFQ0lGSUNBVElPTl9WRVJTSU9OICAgICAgID0gMHgwMDAxMDAwQQ0KPiArDQo+ICtb U291cmNlc10NCj4gKyAgRWZpQ3B1VmVyc2lvbi5jDQo+ICsNCj4gK1tTb3VyY2VzLklBMzJdDQo+ ICsgIElBMzIvQ3B1SUEzMi5jDQo+ICsNCj4gK1tTb3VyY2VzLlg2NF0NCj4gKyAgWDY0L0NwdS5h c20NCj4gKyAgWDY0L0NwdS5TDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01kZVBr Zy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+IGRpZmYgLS1n aXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlBMzJM aWIvRWZpQ3B1VmVyc2lvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9DcHVJQTMyTGliL0VmaUNwdVZlcnNpb24uYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45MzVmMTFlODcxDQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9DcHVJQTMyTGliL0Vm aUNwdVZlcnNpb24uYw0KPiBAQCAtMCwwICsxLDcwIEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiAr ICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsNCj4gKyAgRWZpQ3B1VmVyc2lvbi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ ICsgIFByb3ZpZGUgY3B1IHZlcnNpb24gZXh0cmFjdCBjb25zaWRlcmluZyBleHRlbmRlZCBmYW1p bHkgJiBtb2RlbCBJRC4NCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvQ3B1SUEz Mi5oPg0KPiArDQo+ICsvKioNCj4gKyAgRXh0cmFjdCBDUFUgZGV0YWlsIHZlcnNpb24gaW5mb21h dGlvbg0KPiArDQo+ICsgIEBwYXJhbSAgRmFtaWx5SWQgICAgRmFtaWx5SWQsIGluY2x1ZGluZyBF eHRlbmRlZEZhbWlseUlkDQo+ICsgIEBwYXJhbSAgTW9kZWwgICAgICAgTW9kZWwsIGluY2x1ZGlu ZyBFeHRlbmRlZE1vZGVsDQo+ICsgIEBwYXJhbSAgU3RlcHBpbmdJZCAgU3RlcHBpbmdJZA0KPiAr ICBAcGFyYW0gIFByb2Nlc3NvciAgIFByb2Nlc3Nvcg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4g K0VGSUFQSQ0KPiArRWZpQ3B1VmVyc2lvbiAoDQo+ICsgIElOICBPVVQgVUlOVDE2ICAqRmFtaWx5 SWQsICAgIE9QVElPTkFMDQo+ICsgIElOICBPVVQgVUlOVDggICAqTW9kZWwsICAgICAgIE9QVElP TkFMDQo+ICsgIElOICBPVVQgVUlOVDggICAqU3RlcHBpbmdJZCwgIE9QVElPTkFMDQo+ICsgIElO ICBPVVQgVUlOVDggICAqUHJvY2Vzc29yICAgIE9QVElPTkFMDQo+ICsgICkNCj4gKw0KPiArew0K PiArICBFRklfQ1BVSURfUkVHSVNURVIgUmVnaXN0ZXI7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICBUZW1wRmFtaWx5SWQ7DQo+ICsNCj4gKyAgRWZpQ3B1aWQgKEVGSV9DUFVJRF9WRVJTSU9OX0lO Rk8sICZSZWdpc3Rlcik7DQo+ICsNCj4gKyAgaWYgKFN0ZXBwaW5nSWQgIT0gTlVMTCkgew0KPiAr ICAgICpTdGVwcGluZ0lkID0gKFVJTlQ4KSAoUmVnaXN0ZXIuUmVnRWF4ICYgMHhGKTsNCj4gKyAg fQ0KPiArDQo+ICsgIGlmIChQcm9jZXNzb3IgIT0gTlVMTCkgew0KPiArICAgICpQcm9jZXNzb3Ig PSAoVUlOVDgpICgoUmVnaXN0ZXIuUmVnRWF4ID4+IDEyKSAmIDB4Myk7DQo+ICsgIH0NCj4gKw0K PiArICBpZiAoTW9kZWwgIT0gTlVMTCB8fCBGYW1pbHlJZCAhPSBOVUxMKSB7DQo+ICsgICAgVGVt cEZhbWlseUlkID0gKFVJTlQ4KSAoKFJlZ2lzdGVyLlJlZ0VheCA+PiA4KSAmIDB4Rik7DQo+ICsN Cj4gKyAgICBpZiAoTW9kZWwgIT0gTlVMTCkgew0KPiArICAgICAgKk1vZGVsID0gKFVJTlQ4KSAo KFJlZ2lzdGVyLlJlZ0VheCA+PiA0KSAmIDB4Rik7DQo+ICsgICAgICBpZiAoVGVtcEZhbWlseUlk ID09IDB4NiB8fCBUZW1wRmFtaWx5SWQgPT0gMHhGKSB7DQo+ICsgICAgICAgICpNb2RlbCA9IChV SU5UOCkgKCpNb2RlbCAgfCAoKFJlZ2lzdGVyLlJlZ0VheCA+PiAxMikgJiAweEYwKSk7DQo+ICsg ICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKEZhbWlseUlkICE9IE5VTEwpIHsNCj4g KyAgICAgICpGYW1pbHlJZCA9IFRlbXBGYW1pbHlJZDsNCj4gKyAgICAgIGlmIChUZW1wRmFtaWx5 SWQgPT0gMHhGKSB7DQo+ICsgICAgICAgICpGYW1pbHlJZCA9IChVSU5UOCApICgqRmFtaWx5SWQg KyAoVUlOVDE2KSAoKFJlZ2lzdGVyLlJlZ0VheCA+PiAyMCkgJg0KPiAweEZGKSk7DQo+ICsgICAg ICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlBMzJMaWIvSUEzMi9DcHVJQTMyLlMN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlBMzJMaWIv SUEzMi9DcHVJQTMyLlMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MC4uYmExYmQ0NDhjMA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxpYi9JQTMyL0NwdUlBMzIuUw0KPiBAQCAt MCwwICsxLDIyMyBAQA0KPiArIw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsjDQo+IA0KPiAr IyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsj DQo+IA0KPiArIw0KPiArIw0KPiArI01vZHVsZSBOYW1lOg0KPiArIw0KPiArIyAgQ3B1SUEzMi5j DQo+ICsjDQo+ICsjQWJzdHJhY3Q6DQo+ICsjDQo+ICsjLS0qLw0KPiArDQo+ICsjI2luY2x1ZGUg IkNwdUlBMzIuaCINCj4gKyNpbmNsdWRlICJFZmlCaW5kLmgiDQo+ICsNCj4gKyMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gKyAgICAuNTg2cDoNCj4gKyAgICAjLk1PREVMIGZsYXQsQw0KPiArICAgIC5j b2RlOg0KPiArDQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKy5nbG9ibCBBU01fUEZY KEVmaUhhbHQpDQo+ICsuZ2xvYmwgQVNNX1BGWChFZmlXYmludmQpDQo+ICsuZ2xvYmwgQVNNX1BG WChFZmlJbnZkKQ0KPiArLmdsb2JsIEFTTV9QRlgoRWZpQ3B1aWQpDQo+ICsuZ2xvYmwgQVNNX1BG WChFZmlSZWFkTXNyKQ0KPiArLmdsb2JsIEFTTV9QRlgoRWZpV3JpdGVNc3IpDQo+ICsuZ2xvYmwg QVNNX1BGWChFZmlSZWFkVHNjKQ0KPiArLmdsb2JsIEFTTV9QRlgoRWZpRGlzYWJsZUNhY2hlKQ0K PiArLmdsb2JsIEFTTV9QRlgoRWZpRW5hYmxlQ2FjaGUpDQo+ICsuZ2xvYmwgQVNNX1BGWChFZmlH ZXRFZmxhZ3MpDQo+ICsuZ2xvYmwgQVNNX1BGWChFZmlEaXNhYmxlSW50ZXJydXB0cykNCj4gKy5n bG9ibCBBU01fUEZYKEVmaUVuYWJsZUludGVycnVwdHMpDQo+ICsuZ2xvYmwgQVNNX1BGWChFZmlD cHVpZEV4dCkNCj4gKw0KPiArDQo+ICsjVk9JRA0KPiArI0VmaUhhbHQgKA0KPiArIyAgVk9JRA0K PiArIykNCj4gK0FTTV9QRlgoRWZpSGFsdCk6DQo+ICsgICAgaGx0DQo+ICsgICAgcmV0DQo+ICsj RWZpSGFsdCBFTkRQDQo+ICsNCj4gKyNWT0lEDQo+ICsjRWZpV2JpbnZkICgNCj4gKyMgIFZPSUQN Cj4gKyMpDQo+ICtBU01fUEZYKEVmaVdiaW52ZCk6DQo+ICsgICAgd2JpbnZkDQo+ICsgICAgcmV0 DQo+ICsjRWZpV2JpbnZkIEVORFANCj4gKw0KPiArI1ZPSUQNCj4gKyNFZmlJbnZkICgNCj4gKyMg Vk9JRA0KPiArIykNCj4gK0FTTV9QRlgoRWZpSW52ZCk6DQo+ICsgICAgaW52ZA0KPiArICAgIHJl dA0KPiArI0VmaUludmQgRU5EUA0KPiArDQo+ICsjVk9JRA0KPiArI0VmaUNwdWlkIChJTiBVSU5U MzIgUmVnaXN0ZXJJbkVheCwNCj4gKyMgICAgICAgICAgT1VUIEVGSV9DUFVJRF9SRUdJU1RFUiAq UmVnIE9QVElPTkFMKQ0KPiArQVNNX1BGWChFZmlDcHVpZCk6DQo+ICsgICAgcHVzaGwgJWVicA0K PiArICAgIG1vdmwgJWVzcCwgJWVicA0KPiArICAgIHB1c2hsICVlYngNCj4gKyAgICBwdXNobCAl ZXNpDQo+ICsgICAgcHVzaGwgJWVkaQ0KPiArICAgIHB1c2hhbA0KPiArDQo+ICsgICAgbW92bCAg IDgoJWVicCksICVlYXggICAgICAgICAgICNSZWdpc3RlckluRWF4DQo+ICsgICAgY3B1aWQNCj4g KyAgICBjbXBsICAgJDAsIDB4QyglZWJwKSAgICAgICAgICAgIyBSZWcNCj4gKyAgICBqZSAgICAg TDENCj4gKyAgICBtb3ZsICAgICAgICAweEMoJWVicCksICVlZGkgICAgICAgICAjIFJlZw0KPiAr DQo+ICsgICAgbW92bCAgICAgICAgJWVheCwgKCVlZGkpICAgICAgICAjIFJlZy0+UmVnRWF4DQo+ ICsgICAgbW92bCAgICAgICAgJWVieCwgNCglZWRpKSAgICAgICAgICMgUmVnLT5SZWdFYngNCj4g KyAgICBtb3ZsICAgICAgICAlZWN4LCA4KCVlZGkpICAgICAgICAgIyBSZWctPlJlZ0VjeA0KPiAr ICAgIG1vdmwgICAgICAgICVlZHgsIDB4QyglZWRpKSAgICAgICAgICMgUmVnLT5SZWdFZHgNCj4g Kw0KPiArTDE6DQo+ICsgICAgcG9wYWwNCj4gKyAgICBwb3BsICAgICAgICAlZWRpDQo+ICsgICAg cG9wbCAgICAgICAgJWVzaQ0KPiArICAgIHBvcGwgICAgICAgICVlYngNCj4gKyAgICBwb3BsICAg ICAgICAlZWJwDQo+ICsNCj4gKyAgICByZXQNCj4gKyNFZmlDcHVpZCBFTkRQDQo+ICsNCj4gKw0K PiArI1VJTlQ2NA0KPiArI0VmaVJlYWRNc3IgKA0KPiArIyAgSU4gVUlOVDMyIEluZGV4DQo+ICsj ICApOw0KPiArQVNNX1BGWChFZmlSZWFkTXNyKToNCj4gKyAgICBtb3ZsICAgNCglZXNwKSwgJWVj eCAgICAgICAgICAgIyBJbmRleA0KPiArICAgIHJkbXNyDQo+ICsgICAgcmV0DQo+ICsjRWZpUmVh ZE1zciBFTkRQDQo+ICsNCj4gKyNWT0lEDQo+ICsjRWZpV3JpdGVNc3IgKA0KPiArIyAgSU4gICBV SU5UMzIgIEluZGV4LA0KPiArIyAgSU4gICBVSU5UNjQgIFZhbHVlDQo+ICsjICApOw0KPiArQVNN X1BGWChFZmlXcml0ZU1zcik6DQo+ICsgICAgbW92bCAgIDQoJWVzcCksICVlY3ggICAgICAgICAj IEluZGV4DQo+ICsgICAgbW92bCAgIDgoJWVzcCksICVlYXggICAgICAgICAjIERXT1JEIFBUUiBW YWx1ZVswXQ0KPiArICAgIG1vdmwgICAweEMoJWVzcCksICVlZHggICAgICAgICAjIERXT1JEIFBU UiBWYWx1ZVs0XQ0KPiArICAgIHdybXNyDQo+ICsgICAgcmV0DQo+ICsjRWZpV3JpdGVNc3IgRU5E UA0KPiArDQo+ICsjVUlOVDY0DQo+ICsjRWZpUmVhZFRzYyAoDQo+ICsjICBWT0lEDQo+ICsjICAp DQo+ICtBU01fUEZYKEVmaVJlYWRUc2MpOg0KPiArICAgIHJkdHNjDQo+ICsgICAgcmV0DQo+ICsj RWZpUmVhZFRzYyBFTkRQDQo+ICsNCj4gKyNWT0lEDQo+ICsjRWZpRGlzYWJsZUNhY2hlICgNCj4g KyMgIFZPSUQNCj4gKyMpDQo+ICtBU01fUEZYKEVmaURpc2FibGVDYWNoZSk6DQo+ICsgICAgbW92 bCAgJWNyMCwgJWVheA0KPiArICAgIGJzd2FwbCAlZWF4DQo+ICsgICAgYW5kYiAgJDB4NjAsICVh bA0KPiArICAgIGNtcGIgICQweDYwLCAlYWwNCj4gKyAgICBqZSAgICBMMg0KPiArICAgIG1vdmwg ICVjcjAsICVlYXgNCj4gKyAgICBvcmwgICAkMHg2MDAwMDAwMCwgJWVheA0KPiArICAgIG1vdmwg ICVlYXgsICVjcjANCj4gKyAgICB3YmludmQNCj4gK0wyOg0KPiArICAgIHJldA0KPiArI0VmaURp c2FibGVDYWNoZSBFTkRQDQo+ICsNCj4gKyNWT0lEDQo+ICsjRWZpRW5hYmxlQ2FjaGUgKA0KPiAr IyAgVk9JRA0KPiArIyAgKQ0KPiArQVNNX1BGWChFZmlFbmFibGVDYWNoZSk6DQo+ICsgICAgd2Jp bnZkDQo+ICsgICAgbW92bCAgJWNyMCwgJWVheA0KPiArICAgIGFuZGwgICQweDlmZmZmZmZmLCAl ZWF4DQo+ICsgICAgbW92bCAgJWVheCwgJWNyMA0KPiArICAgIHJldA0KPiArI0VmaUVuYWJsZUNh Y2hlIEVORFANCj4gKw0KPiArI1VJTlQzMg0KPiArI0VmaUdldEVmbGFncyAoDQo+ICsjICBWT0lE DQo+ICsjICApDQo+ICtBU01fUEZYKEVmaUdldEVmbGFncyk6DQo+ICsgICAgcHVzaGZsDQo+ICsg ICAgcG9wbCAlZWF4DQo+ICsgICAgcmV0DQo+ICsjRWZpR2V0RWZsYWdzIEVORFANCj4gKw0KPiAr I1ZPSUQNCj4gKyNFZmlEaXNhYmxlSW50ZXJydXB0cyAoDQo+ICsjICBWT0lEDQo+ICsjICApDQo+ ICtBU01fUEZYKEVmaURpc2FibGVJbnRlcnJ1cHRzKToNCj4gKyAgICBjbGkNCj4gKyAgICByZXQN Cj4gKyNFZmlEaXNhYmxlSW50ZXJydXB0cyBFTkRQDQo+ICsNCj4gKyNWT0lEDQo+ICsjRWZpRW5h YmxlSW50ZXJydXB0cyAoDQo+ICsjICBWT0lEDQo+ICsjICApDQo+ICtBU01fUEZYKEVmaUVuYWJs ZUludGVycnVwdHMpOg0KPiArICAgIHN0aQ0KPiArICAgIHJldA0KPiArI0VmaUVuYWJsZUludGVy cnVwdHMgRU5EUA0KPiArDQo+ICsjVk9JRA0KPiArI0VmaUNwdWlkRXh0ICgNCj4gKyMgIElOICAg VUlOVDMyICAgICAgICAgICAgICBSZWdpc3RlckluRWF4LA0KPiArIyAgSU4gICBVSU5UMzIgICAg ICAgICAgICAgIENhY2hlTGV2ZWwsDQo+ICsjICBPVVQgIEVGSV9DUFVJRF9SRUdJU1RFUiAgKlJl Z3MNCj4gKyMgICkNCj4gK0FTTV9QRlgoRWZpQ3B1aWRFeHQpOg0KPiArICAgIHB1c2ggICAlZWJ4 DQo+ICsgICAgcHVzaCAgICVlZGkNCj4gKyAgICBwdXNoICAgJWVzaQ0KPiArICAgIHB1c2hhbA0K PiArDQo+ICsgICAgbW92bCAgIDB4MzAoJWVzcCksICVlYXggICAgICAgICAgICMgUmVnaXN0ZXJJ bkVheA0KPiArICAgIG1vdmwgICAweDM0KCVlc3ApLCAlZWN4ICAgICAgICAgICAjIENhY2hlTGV2 ZWwNCj4gKyAgICBjcHVpZA0KPiArICAgIG1vdmwgICAweDM4KCVlc3ApLCAlZWRpICAgICAgICAg ICAjIERXT1JEIFBUUiBSZWdzDQo+ICsNCj4gKyAgICBtb3ZsICAgJWVheCwgKCVlZGkpICAgICAg ICAgICAgICAgICAjIFJlZy0+UmVnRWF4DQo+ICsgICAgbW92bCAgICVlYngsIDQoJWVkaSkgICAg ICAgICAgICAgICAgIyBSZWctPlJlZ0VieA0KPiArICAgIG1vdmwgICAlZWN4LCA4KCVlZGkpICAg ICAgICAgICAgICAgICMgUmVnLT5SZWdFY3gNCj4gKyAgICBtb3ZsICAgJWVkeCwgMHhDKCVlZGkp ICAgICAgICAgICAgICAjIFJlZy0+UmVnRWR4DQo+ICsNCj4gKyAgICBwb3BhbA0KPiArICAgIHBv cCAgICAlZXNpDQo+ICsgICAgcG9wICAgICVlZGkNCj4gKyAgICBwb3AgICAgJWVieA0KPiArICAg IHJldA0KPiArI0VmaUNwdWlkRXh0IEVORFANCj4gKw0KPiArDQo+ICsNCj4gZGlmZiAtLWdpdA0K PiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxpYi9J QTMyL0NwdUlBMzIuYXNtDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGli cmFyeS9DcHVJQTMyTGliL0lBMzIvQ3B1SUEzMi5hc20NCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uM2ZkZjE2ZjhlZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxpYi9J QTMyL0NwdUlBMzIuYXNtDQo+IEBAIC0wLDAgKzEsMjA2IEBADQo+ICs7DQo+ICs7IFRoaXMgZmls ZSBjb250YWlucyBhbiAnSW50ZWwgU2FtcGxlIERyaXZlcicgYW5kIGlzDQo+ICs7IGxpY2Vuc2Vk IGZvciBJbnRlbCBDUFVzIGFuZCBjaGlwc2V0cyB1bmRlciB0aGUgdGVybXMgb2YgeW91cg0KPiAr OyBsaWNlbnNlIGFncmVlbWVudCB3aXRoIEludGVsIG9yIHlvdXIgdmVuZG9yLiAgVGhpcyBmaWxl IG1heQ0KPiArOyBiZSBtb2RpZmllZCBieSB0aGUgdXNlciwgc3ViamVjdCB0byBhZGRpdGlvbmFs IHRlcm1zIG9mIHRoZQ0KPiArOyBsaWNlbnNlIGFncmVlbWVudA0KPiArOw0KPiArOw0KPiArOyBD b3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkDQo+ICs7DQo+IA0KPiArOyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICs7DQo+IA0KPiArOw0KPiArDQo+ICs7TW9kdWxlIE5hbWU6 DQo+ICs7DQo+ICs7ICBDcHVJQTMyLmMNCj4gKzsNCj4gKztBYnN0cmFjdDoNCj4gKzsNCj4gKzst LSovDQo+ICsNCj4gKzsjaW5jbHVkZSAiQ3B1SUEzMi5oIg0KPiArDQo+ICs7LS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tDQo+ICsgICAgLjU4NnANCj4gKyAgICAubW9kZWwgIGZsYXQsQw0KPiArICAgIC5jb2Rl DQo+ICsNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKztWT0lEDQo+ICs7RWZpSGFsdCAoDQo+ ICs7ICBWT0lEDQo+ICs7KQ0KPiArRWZpSGFsdCBQUk9DIEMgUFVCTElDDQo+ICsgICAgaGx0DQo+ ICsgICAgcmV0DQo+ICtFZmlIYWx0IEVORFANCj4gKw0KPiArO1ZPSUQNCj4gKztFZmlXYmludmQg KA0KPiArOyAgVk9JRA0KPiArOykNCj4gK0VmaVdiaW52ZCBQUk9DIEMgUFVCTElDDQo+ICsgICAg d2JpbnZkDQo+ICsgICAgcmV0DQo+ICtFZmlXYmludmQgRU5EUA0KPiArDQo+ICs7Vk9JRA0KPiAr O0VmaUludmQgKA0KPiArOyBWT0lEDQo+ICs7KQ0KPiArRWZpSW52ZCBQUk9DIEMgUFVCTElDDQo+ ICsgICAgaW52ZA0KPiArICAgIHJldA0KPiArRWZpSW52ZCBFTkRQDQo+ICsNCj4gKztWT0lEDQo+ ICs7RWZpQ3B1aWQgKElOIFVJTlQzMiBSZWdpc3RlckluRWF4LA0KPiArOyAgICAgICAgICBPVVQg RUZJX0NQVUlEX1JFR0lTVEVSICpSZWcgT1BUSU9OQUwpDQo+ICtFZmlDcHVpZCBQUk9DIEMgUFVC TElDDQo+ICsgICAgcHVzaCBlYnANCj4gKyAgICBtb3YgIGVicCwgZXNwDQo+ICsgICAgcHVzaCBl YngNCj4gKyAgICBwdXNoIGVzaQ0KPiArICAgIHB1c2ggZWRpDQo+ICsgICAgcHVzaGFkDQo+ICsN Cj4gKyAgICBtb3YgICAgZWF4LCBkd29yZCBwdHJbZWJwICsgOF0gO2VnaXN0ZXJJbkVheA0KPiAr ICAgIGNwdWlkDQo+ICsgICAgY21wICAgIGR3b3JkIHB0cltlYnAgKyAwQ2hdLCAwIDsgUmVnDQo+ ICsgICAgamUgICAgIEBGDQo+ICsgICAgbW92ICAgICAgICAgZWRpLGR3b3JkIHB0ciBbZWJwKzBD aF0gOyBSZWcNCj4gKw0KPiArICAgIG1vdiAgICAgICAgIGR3b3JkIHB0ciBbZWRpXSxlYXggOyBS ZWctPlJlZ0VheA0KPiArICAgIG1vdiAgICAgICAgIGR3b3JkIHB0ciBbZWRpKzRdLGVieCA7IFJl Zy0+UmVnRWJ4DQo+ICsgICAgbW92ICAgICAgICAgZHdvcmQgcHRyIFtlZGkrOF0sZWN4IDsgUmVn LT5SZWdFY3gNCj4gKyAgICBtb3YgICAgICAgICBkd29yZCBwdHIgW2VkaSswQ2hdLGVkeCA7IFJl Zy0+UmVnRWR4DQo+ICsNCj4gK0BAOg0KPiArICAgIHBvcGFkDQo+ICsgICAgcG9wICAgICAgICAg ZWRpDQo+ICsgICAgcG9wICAgICAgICAgZXNpDQo+ICsgICAgcG9wICAgICAgICAgZWJ4DQo+ICsg ICAgcG9wICAgICAgICAgZWJwDQo+ICsNCj4gKyAgICByZXQNCj4gK0VmaUNwdWlkIEVORFANCj4g Kw0KPiArDQo+ICs7VUlOVDY0DQo+ICs7RWZpUmVhZE1zciAoDQo+ICs7ICBJTiBVSU5UMzIgSW5k ZXgNCj4gKzsgICk7DQo+ICtFZmlSZWFkTXNyIFBST0MgQyBQVUJMSUMNCj4gKyAgICBtb3YgICAg ZWN4LCBkd29yZCBwdHIgW2VzcCArIDRdOyBJbmRleA0KPiArICAgIHJkbXNyDQo+ICsgICAgcmV0 DQo+ICtFZmlSZWFkTXNyIEVORFANCj4gKw0KPiArO1ZPSUQNCj4gKztFZmlXcml0ZU1zciAoDQo+ ICs7ICBJTiAgIFVJTlQzMiAgSW5kZXgsDQo+ICs7ICBJTiAgIFVJTlQ2NCAgVmFsdWUNCj4gKzsg ICk7DQo+ICtFZmlXcml0ZU1zciBQUk9DIEMgUFVCTElDDQo+ICsgICAgbW92ICAgIGVjeCwgZHdv cmQgcHRyIFtlc3ArNF07IEluZGV4DQo+ICsgICAgbW92ICAgIGVheCwgZHdvcmQgcHRyIFtlc3Ar OF07IERXT1JEIFBUUiBWYWx1ZVswXQ0KPiArICAgIG1vdiAgICBlZHgsIGR3b3JkIHB0ciBbZXNw KzBDaF07IERXT1JEIFBUUiBWYWx1ZVs0XQ0KPiArICAgIHdybXNyDQo+ICsgICAgcmV0DQo+ICtF ZmlXcml0ZU1zciAgRU5EUA0KPiArDQo+ICs7VUlOVDY0DQo+ICs7RWZpUmVhZFRzYyAoDQo+ICs7 ICBWT0lEDQo+ICs7ICApDQo+ICtFZmlSZWFkVHNjIFBST0MgQyBQVUJMSUMNCj4gKyAgICByZHRz Yw0KPiArICAgIHJldA0KPiArRWZpUmVhZFRzYyAgRU5EUA0KPiArDQo+ICs7Vk9JRA0KPiArO0Vm aURpc2FibGVDYWNoZSAoDQo+ICs7ICBWT0lEDQo+ICs7KQ0KPiArRWZpRGlzYWJsZUNhY2hlIFBS T0MgQyBQVUJMSUMNCj4gKyAgICBtb3YgICBlYXgsIGNyMA0KPiArICAgIGJzd2FwIGVheA0KPiAr ICAgIGFuZCAgIGFsLCA2MGgNCj4gKyAgICBjbXAgICBhbCwgNjBoDQo+ICsgICAgamUgICAgQEYN Cj4gKyAgICBtb3YgICBlYXgsIGNyMA0KPiArICAgIG9yICAgIGVheCwgMDYwMDAwMDAwaA0KPiAr ICAgIG1vdiAgIGNyMCwgZWF4DQo+ICsgICAgd2JpbnZkDQo+ICtAQDoNCj4gKyAgICByZXQNCj4g K0VmaURpc2FibGVDYWNoZSAgRU5EUA0KPiArDQo+ICs7Vk9JRA0KPiArO0VmaUVuYWJsZUNhY2hl ICgNCj4gKzsgIFZPSUQNCj4gKzsgICkNCj4gK0VmaUVuYWJsZUNhY2hlIFBST0MgQyBQVUJMSUMN Cj4gKyAgICB3YmludmQNCj4gKyAgICBtb3YgICBlYXgsIGNyMA0KPiArICAgIGFuZCAgIGVheCwg MDlmZmZmZmZmaA0KPiArICAgIG1vdiAgIGNyMCwgZWF4DQo+ICsgICAgcmV0DQo+ICtFZmlFbmFi bGVDYWNoZSAgRU5EUA0KPiArDQo+ICs7VUlOVDMyDQo+ICs7RWZpR2V0RWZsYWdzICgNCj4gKzsg IFZPSUQNCj4gKzsgICkNCj4gK0VmaUdldEVmbGFncyBQUk9DIEMgUFVCTElDDQo+ICsgICAgcHVz aGZkDQo+ICsgICAgcG9wICBlYXgNCj4gKyAgICByZXQNCj4gK0VmaUdldEVmbGFncyAgRU5EUA0K PiArDQo+ICs7Vk9JRA0KPiArO0VmaURpc2FibGVJbnRlcnJ1cHRzICgNCj4gKzsgIFZPSUQNCj4g KzsgICkNCj4gK0VmaURpc2FibGVJbnRlcnJ1cHRzIFBST0MgQyBQVUJMSUMNCj4gKyAgICBjbGkN Cj4gKyAgICByZXQNCj4gK0VmaURpc2FibGVJbnRlcnJ1cHRzICBFTkRQDQo+ICsNCj4gKztWT0lE DQo+ICs7RWZpRW5hYmxlSW50ZXJydXB0cyAoDQo+ICs7ICBWT0lEDQo+ICs7ICApDQo+ICtFZmlF bmFibGVJbnRlcnJ1cHRzICBQUk9DIEMgUFVCTElDDQo+ICsgICAgc3RpDQo+ICsgICAgcmV0DQo+ ICtFZmlFbmFibGVJbnRlcnJ1cHRzICAgRU5EUA0KPiArDQo+ICs7Vk9JRA0KPiArO0VmaUNwdWlk RXh0ICgNCj4gKzsgIElOICAgVUlOVDMyICAgICAgICAgICAgICBSZWdpc3RlckluRWF4LA0KPiAr OyAgSU4gICBVSU5UMzIgICAgICAgICAgICAgIENhY2hlTGV2ZWwsDQo+ICs7ICBPVVQgIEVGSV9D UFVJRF9SRUdJU1RFUiAgKlJlZ3MNCj4gKzsgICkNCj4gK0VmaUNwdWlkRXh0IFBST0MgQyBQVUJM SUMgVVNFUyBlYnggZWRpIGVzaQ0KPiArICAgIHB1c2hhZA0KPiArDQo+ICsgICAgbW92ICAgIGVh eCwgZHdvcmQgcHRyIFtlc3AgKyAzMGhdIDsgUmVnaXN0ZXJJbkVheA0KPiArICAgIG1vdiAgICBl Y3gsIGR3b3JkIHB0ciBbZXNwICsgMzRoXSA7IENhY2hlTGV2ZWwNCj4gKyAgICBjcHVpZA0KPiAr ICAgIG1vdiAgICBlZGksIGR3b3JkIHB0ciBbZXNwICsgMzhoXSA7IERXT1JEIFBUUiBSZWdzDQo+ ICsNCj4gKyAgICBtb3YgICAgZHdvcmQgcHRyIFtlZGldLCBlYXggICAJOyBSZWctPlJlZ0VheA0K PiArICAgIG1vdiAgICBkd29yZCBwdHIgW2VkaSArIDRdLCBlYnggICAJOyBSZWctPlJlZ0VieA0K PiArICAgIG1vdiAgICBkd29yZCBwdHIgW2VkaSArIDhdLCBlY3ggICAJOyBSZWctPlJlZ0VjeA0K PiArICAgIG1vdiAgICBkd29yZCBwdHIgW2VkaSArIDBDaF0sIGVkeCAgIDsgUmVnLT5SZWdFZHgN Cj4gKw0KPiArICAgIHBvcGFkDQo+ICsgICAgcmV0DQo+ICtFZmlDcHVpZEV4dCAgRU5EUA0KPiAr DQo+ICsJRU5EDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxpYi9JQTMyL0NwdUlBMzIuYw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxpYi9JQTMyL0NwdUlBMzIu Yw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jYjhkZTJmOWM3 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9DcHVJQTMyTGliL0lBMzIvQ3B1SUEzMi5jDQo+IEBAIC0wLDAgKzEsMTc3IEBA DQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g DQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgQ3B1SUEzMi5jDQo+ICsNCj4g K0Fic3RyYWN0Og0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0NwdUlB MzIuaD4NCj4gKw0KPiArVk9JRA0KPiArRWZpSGFsdCAoVk9JRCkNCj4gK3sNCj4gKyAgX19hc20g ew0KPiArICAgIGhsdA0KPiArICB9DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK0VmaVdiaW52ZCAo Vk9JRCkNCj4gK3sNCj4gKyAgX19hc20gew0KPiArICAgIHdiaW52ZA0KPiArICB9DQo+ICt9DQo+ ICsNCj4gK1ZPSUQNCj4gK0VmaUludmQgKFZPSUQpDQo+ICt7DQo+ICsgIF9fYXNtIHsNCj4gKyAg ICBpbnZkDQo+ICsgIH0NCj4gK30NCj4gKw0KPiArVk9JRA0KPiArRWZpQ3B1aWQgKElOIFVJTlQz MiBSZWdpc3RlckluRWF4LA0KPiArICAgICAgICAgIE9VVCBFRklfQ1BVSURfUkVHSVNURVIgKlJl ZyBPUFRJT05BTCkNCj4gK3sNCj4gKyAgX19hc20gew0KPiArICAgIHB1c2hhZA0KPiArDQo+ICsg ICAgbW92ICAgIGVheCwgUmVnaXN0ZXJJbkVheA0KPiArICAgIGNwdWlkDQo+ICsgICAgY21wICAg IFJlZywgMA0KPiArICAgIGplICAgICBfRXhpdA0KPiArICAgIG1vdiAgICBlZGksIERXT1JEIFBU UiBSZWcNCj4gKw0KPiArICAgIG1vdiAgICBEV09SRCBQVFIgW2VkaV0uUmVnRWF4LCBlYXggICA7 IFJlZy0+UmVnRWF4DQo+ICsgICAgbW92ICAgIERXT1JEIFBUUiBbZWRpXS5SZWdFYngsIGVieCAg IDsgUmVnLT5SZWdFYngNCj4gKyAgICBtb3YgICAgRFdPUkQgUFRSIFtlZGldLlJlZ0VjeCwgZWN4 ICAgOyBSZWctPlJlZ0VjeA0KPiArICAgIG1vdiAgICBEV09SRCBQVFIgW2VkaV0uUmVnRWR4LCBl ZHggICA7IFJlZy0+UmVnRWR4DQo+ICsNCj4gK19FeGl0Og0KPiArICAgICBwb3BhZA0KPiArICB9 DQo+ICt9DQo+ICsNCj4gK1VJTlQ2NA0KPiArRWZpUmVhZE1zciAoSU4gVUlOVDMyIEluZGV4KQ0K PiArew0KPiArICBfX2FzbSB7DQo+ICsgICAgbW92ICAgIGVjeCwgSW5kZXgNCj4gKyAgICByZG1z cg0KPiArICB9DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK0VmaVdyaXRlTXNyICgNCj4gKyAgSU4g ICBVSU5UMzIgIEluZGV4LA0KPiArICBJTiAgIFVJTlQ2NCAgVmFsdWUNCj4gKyAgKQ0KPiArew0K PiArICBfX2FzbSB7DQo+ICsgICAgbW92ICAgIGVjeCwgSW5kZXgNCj4gKyAgICBtb3YgICAgZWF4 LCBEV09SRCBQVFIgVmFsdWVbMF0NCj4gKyAgICBtb3YgICAgZWR4LCBEV09SRCBQVFIgVmFsdWVb NF0NCj4gKyAgICB3cm1zcg0KPiArICB9DQo+ICt9DQo+ICsNCj4gK1VJTlQ2NA0KPiArRWZpUmVh ZFRzYyAoVk9JRCkNCj4gK3sNCj4gKyAgX19hc20gew0KPiArICAgIHJkdHNjDQo+ICsgIH0NCj4g K30NCj4gKw0KPiArVk9JRA0KPiArRWZpRGlzYWJsZUNhY2hlIChWT0lEKQ0KPiArew0KPiArICBf X2FzbSB7DQo+ICsgICAgbW92ICAgZWF4LCBjcjANCj4gKyAgICBic3dhcCBlYXgNCj4gKyAgICBh bmQgICBhbCwgNjBoDQo+ICsgICAgY21wICAgYWwsIDYwaA0KPiArICAgIGplICAgIEV4aXQNCj4g KyAgICBtb3YgICBlYXgsIGNyMA0KPiArICAgIG9yICAgIGVheCwgMDYwMDAwMDAwaA0KPiArICAg IG1vdiAgIGNyMCwgZWF4DQo+ICsgICAgd2JpbnZkDQo+ICtFeGl0Og0KPiArICB9DQo+ICt9DQo+ ICsNCj4gK1ZPSUQNCj4gK0VmaUVuYWJsZUNhY2hlIChWT0lEKQ0KPiArew0KPiArICBfX2FzbSB7 DQo+ICsgICAgd2JpbnZkDQo+ICsgICAgbW92ICAgZWF4LCBjcjANCj4gKyAgICBhbmQgICBlYXgs IDA5ZmZmZmZmZmgNCj4gKyAgICBtb3YgICBjcjAsIGVheA0KPiArICB9DQo+ICt9DQo+ICsNCj4g K1VJTlQzMg0KPiArRWZpR2V0RWZsYWdzICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsg IF9fYXNtIHsNCj4gKyAgICBwdXNoZmQNCj4gKyAgICBwb3AgIGVheA0KPiArICB9DQo+ICt9DQo+ ICsNCj4gK1ZPSUQNCj4gK0VmaURpc2FibGVJbnRlcnJ1cHRzIChWT0lEKQ0KPiArew0KPiArICBf X2FzbSB7DQo+ICsgICAgY2xpDQo+ICsgIH0NCj4gK30NCj4gKw0KPiArVk9JRA0KPiArRWZpRW5h YmxlSW50ZXJydXB0cyAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBfX2FzbSB7DQo+ ICsgICAgc3RpDQo+ICsgIH0NCj4gK30NCj4gKw0KPiArVk9JRA0KPiArRWZpQ3B1aWRFeHQgKA0K PiArICBJTiAgIFVJTlQzMiAgICAgICAgICAgICAgUmVnaXN0ZXJJbkVheCwNCj4gKyAgSU4gICBV SU5UMzIgICAgICAgICAgICAgIENhY2hlTGV2ZWwsDQo+ICsgIE9VVCAgRUZJX0NQVUlEX1JFR0lT VEVSICAqUmVncw0KPiArICApDQo+ICt7DQo+ICsgIF9fYXNtIHsNCj4gKyAgICBwdXNoYWQNCj4g Kw0KPiArICAgIG1vdiAgICBlYXgsIFJlZ2lzdGVySW5FYXgNCj4gKyAgICBtb3YgICAgZWN4LCBD YWNoZUxldmVsDQo+ICsgICAgY3B1aWQNCj4gKyAgICBtb3YgICAgZWRpLCBEV09SRCBQVFIgUmVn cw0KPiArDQo+ICsgICAgbW92ICAgIERXT1JEIFBUUiBbZWRpXS5SZWdFYXgsIGVheCAgIDsgUmVn LT5SZWdFYXgNCj4gKyAgICBtb3YgICAgRFdPUkQgUFRSIFtlZGldLlJlZ0VieCwgZWJ4ICAgOyBS ZWctPlJlZ0VieA0KPiArICAgIG1vdiAgICBEV09SRCBQVFIgW2VkaV0uUmVnRWN4LCBlY3ggICA7 IFJlZy0+UmVnRWN4DQo+ICsgICAgbW92ICAgIERXT1JEIFBUUiBbZWRpXS5SZWdFZHgsIGVkeCAg IDsgUmVnLT5SZWdFZHgNCj4gKw0KPiArICAgIHBvcGFkDQo+ICsgIH0NCj4gK30NCj4gZGlmZiAt LWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxp Yi9YNjQvQ3B1LlMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L0NwdUlBMzJMaWIvWDY0L0NwdS5TDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjNhOGQ2ZTZiYzUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0NwdUlBMzJMaWIvWDY0L0NwdS5TDQo+IEBA IC0wLDAgKzEsMjA3IEBADQo+ICsjDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgIDE5OTkgIC0g MjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKyMNCj4gDQo+ ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4g KyMNCj4gDQo+ICsjDQo+ICsjDQo+ICsjKiAgIE1vZHVsZSBOYW1lOg0KPiArIyoNCj4gKyMqICAg IENwdS5hc20NCj4gKyMqDQo+ICsjKiAgIEFic3RyYWN0Og0KPiArIyoNCj4gKyMtLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gKyMjaW5jbHVkZSA8RWZpQmluZC5oPg0KPiArDQo+ICsuZ2xvYmwgQVNN X1BGWChFZmlIYWx0KQ0KPiArLmdsb2JsIEFTTV9QRlgoRWZpV2JpbnZkKQ0KPiArLmdsb2JsIEFT TV9QRlgoRWZpSW52ZCkNCj4gKy5nbG9ibCBBU01fUEZYKEVmaUNwdWlkKQ0KPiArLmdsb2JsIEFT TV9QRlgoRWZpUmVhZFRzYykNCj4gKy5nbG9ibCBBU01fUEZYKEVmaURpc2FibGVDYWNoZSkNCj4g Ky5nbG9ibCBBU01fUEZYKEVmaUVuYWJsZUNhY2hlKQ0KPiArLmdsb2JsIEFTTV9QRlgoRWZpUmVh ZE1zcikNCj4gKy5nbG9ibCBBU01fUEZYKEVmaVdyaXRlTXNyKQ0KPiArLmdsb2JsIEFTTV9QRlgo RWZpR2V0RWZsYWdzKQ0KPiArLmdsb2JsIEFTTV9QRlgoRWZpRGlzYWJsZUludGVycnVwdHMpDQo+ ICsuZ2xvYmwgQVNNX1BGWChFZmlFbmFibGVJbnRlcnJ1cHRzKQ0KPiArLmdsb2JsIEFTTV9QRlgo RWZpQ3B1aWRFeHQpDQo+ICsNCj4gKy50ZXh0DQo+ICsNCj4gKw0KPiArIy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArIyAgVk9JRA0KPiArIyAgRWZpSGFsdCAoDQo+ICsjICAgIFZPSUQNCj4gKyMg ICAgKQ0KPiArIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArQVNNX1BGWChFZmlIYWx0KToNCj4g KyAgICBobHQNCj4gKyAgICByZXRxDQo+ICsNCj4gKw0KPiArIy0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LQ0KPiArIyAgVk9JRA0KPiArIyAgRWZpV2JpbnZkICgNCj4gKyMgICAgVk9JRA0KPiArIyAgICAp DQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtBU01fUEZYKEVmaVdiaW52ZCk6DQo+ICsg ICAgd2JpbnZkDQo+ICsgICAgcmV0cQ0KPiArDQo+ICsNCj4gKyMtLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gKyMgIFZPSUQNCj4gKyMgIEVmaUludmQgKA0KPiArIyAgICBWT0lEDQo+ICsjICAgICkN Cj4gKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gK0FTTV9QRlgoRWZpSW52ZCk6DQo+ICsgICAg aW52ZA0KPiArICAgIHJldHENCj4gKw0KPiArIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArIyAg Vk9JRA0KPiArIyAgRWZpQ3B1aWQgKA0KPiArIyAgICBJTiAgIFVJTlQzMiAgICAgICAgICAgICAg UmVnaXN0ZXJJbkVheCwgICAgICAgICAgLy8gcmN4DQo+ICsjICAgIE9VVCAgRUZJX0NQVUlEX1JF R0lTVEVSICAqUmVnICAgICAgICAgICBPUFRJT05BTCAvLyByZHgNCj4gKyMgICAgKQ0KPiArIy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArQVNNX1BGWChFZmlDcHVpZCk6DQo+ICsgICAgICBwdXNo ICAgJXJieA0KPiArICAgICAgbW92ICAgICVyZHgsJXI4DQo+ICsgICAgICBtb3YgICAgJXJjeCwl cmF4DQo+ICsgICAgICBjcHVpZA0KPiArICAgICAgY21wICAgICQweDAsJXI4DQo+ICsgICAgICBq ZSAgICAgX0V4aXQNCj4gKyAgICAgIG1vdiAgICAlZWF4LCglcjgpDQo+ICsgICAgICBtb3YgICAg JWVieCwweDQoJXI4KQ0KPiArICAgICAgbW92ICAgICVlY3gsMHg4KCVyOCkNCj4gKyAgICAgIG1v diAgICAlZWR4LDB4YyglcjgpDQo+ICtfRXhpdDoNCj4gKyAgICAgIHBvcCAgICAlcmJ4DQo+ICsg ICAgICByZXRxDQo+ICsNCj4gKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKyMgIFVJTlQ2NA0K PiArIyAgRWZpUmVhZE1zciAoDQo+ICsjICAgIElOICAgVUlOVDMyICBJbmRleCwgIC8vIHJjeA0K PiArIyAgICApDQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtBU01fUEZYKEVmaVJlYWRN c3IpOg0KPiArICAgICAgcmRtc3INCj4gKyAgICAgIHNobCAgICAkMHgyMCwlcmR4DQo+ICsgICAg ICBvciAgICAgJXJkeCwlcmF4DQo+ICsgICAgICByZXRxDQo+ICsNCj4gKyMtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gKyMgIFZPSUQNCj4gKyMgIEVmaVdyaXRlTXNyICgNCj4gKyMgICAgSU4gICBV SU5UMzIgIEluZGV4LCAgLy8gcmN4DQo+ICsjICAgIElOICAgVUlOVDY0ICBWYWx1ZSAgIC8vIHJk eA0KPiArIyAgICApDQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtBU01fUEZYKEVmaVdy aXRlTXNyKToNCj4gKyAgICAgIG1vdiAgICAlcmR4LCVyYXgNCj4gKyAgICAgIHNhciAgICAkMHgy MCwlcmR4DQo+ICsgICAgICB3cm1zcg0KPiArICAgICAgcmV0cQ0KPiArDQo+ICsjLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tDQo+ICsjIFVJTlQ2NA0KPiArIyBFZmlSZWFkVHNjICgNCj4gKyMgICBWT0lE DQo+ICsjICAgKTsNCj4gKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gK0FTTV9QRlgoRWZpUmVh ZFRzYyk6DQo+ICsgICAgICByZHRzYw0KPiArICAgICAgc2hsICAgICQweDIwLCVyYXgNCj4gKyAg ICAgIHNocmQgICAkMHgyMCwlcmR4LCVyYXgNCj4gKyAgICAgIHJldHENCj4gKw0KPiArIy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiArIyBWT0lEDQo+ICsjIEVmaURpc2FibGVDYWNoZSAoDQo+ICsj ICAgVk9JRA0KPiArIyAgICk7DQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtBU01fUEZY KEVmaURpc2FibGVDYWNoZSk6DQo+ICsjIGFkZGVkIGEgY2hlY2sgdG8gc2VlIGlmIGNhY2hlIGlz IGFscmVhZHkgZGlzYWJsZWQuIElmIGl0IGlzLCB0aGVuIHNraXAuDQo+ICsgICAgICBtb3YgICAg JWNyMCwlcmF4DQo+ICsgICAgICBhbmQgICAgJDB4NjAwMDAwMDAsJXJheA0KPiArICAgICAgY21w ICAgICQweDAsJXJheA0KPiArICAgICAgam5lICAgIDFmDQo+ICsgICAgICBtb3YgICAgJWNyMCwl cmF4DQo+ICsgICAgICBvciAgICAgJDB4NjAwMDAwMDAsJXJheA0KPiArICAgICAgbW92ICAgICVy YXgsJWNyMA0KPiArICAgICAgd2JpbnZkDQo+ICsxOg0KPiArICAgICAgcmV0cQ0KPiArDQo+ICsj LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsjIFZPSUQNCj4gKyMgRWZpRW5hYmxlQ2FjaGUgKA0K PiArIyAgIFZPSUQNCj4gKyMgICApOw0KPiArIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArQVNN X1BGWChFZmlFbmFibGVDYWNoZSk6DQo+ICsgICAgICB3YmludmQNCj4gKyAgICAgIG1vdiAgICAl Y3IwLCVyYXgNCj4gKyAgICAgIGFuZCAgICAkMHhmZmZmZmZmZjlmZmZmZmZmLCVyYXgNCj4gKyAg ICAgIG1vdiAgICAlcmF4LCVjcjANCj4gKyAgICAgIHJldHENCj4gKw0KPiArIy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiArIyBVSU5UTg0KPiArIyBFZmlHZXRFZmxhZ3MgKA0KPiArIyAgIFZPSUQN Cj4gKyMgICApOw0KPiArIy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArQVNNX1BGWChFZmlHZXRF ZmxhZ3MpOg0KPiArICAgICAgcHVzaGZxDQo+ICsgICAgICBwb3AgICAgJXJheA0KPiArICAgICAg cmV0cQ0KPiArDQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsjIFZPSUQNCj4gKyMgRWZp RGlzYWJsZUludGVycnVwdHMgKA0KPiArIyAgIFZPSUQNCj4gKyMgICApOw0KPiArIy0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiArQVNNX1BGWChFZmlEaXNhYmxlSW50ZXJydXB0cyk6DQo+ICsgICAg Y2xpDQo+ICsgICAgcmV0DQo+ICsNCj4gKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKyMgVk9J RA0KPiArIyBFZmlFbmFibGVJbnRlcnJ1cHRzICgNCj4gKyMgICBWT0lEDQo+ICsjICAgKTsNCj4g KyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gK0FTTV9QRlgoRWZpRW5hYmxlSW50ZXJydXB0cyk6 DQo+ICsgICAgc3RpDQo+ICsgICAgcmV0DQo+ICsjLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsj ICBWT0lEDQo+ICsjICBFZmlDcHVpZEV4dCAoDQo+ICsjICAgIElOICAgVUlOVDMyICAgICAgICAg ICAgICBSZWdpc3RlckluRWF4LA0KPiArIyAgICBJTiAgIFVJTlQzMiAgICAgICAgICAgICAgQ2Fj aGVMZXZlbCwNCj4gKyMgICAgT1VUICBFRklfQ1BVSURfUkVHSVNURVIgICpSZWdzDQo+ICsjICAg ICkNCj4gKyMtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gK0FTTV9QRlgoRWZpQ3B1aWRFeHQpOg0K PiArICAgICAgcHVzaCAgICVyYngNCj4gKyAgICAgIG1vdiAgICAlcmN4LCVyYXgNCj4gKyAgICAg IG1vdiAgICAlcmR4LCVyY3gNCj4gKyAgICAgIGNwdWlkDQo+ICsgICAgICBtb3YgICAgJWVheCwo JXI4KQ0KPiArICAgICAgbW92ICAgICVlYngsMHg0KCVyOCkNCj4gKyAgICAgIG1vdiAgICAlZWN4 LDB4OCglcjgpDQo+ICsgICAgICBtb3YgICAgJWVkeCwweGMoJXI4KQ0KPiArICAgICAgcG9wICAg ICVyYngNCj4gKyAgICAgIHJldHENCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxpYi9YNjQvQ3B1LmFzbQ0KPiBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvQ3B1SUEzMkxpYi9YNjQvQ3B1LmFz bQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40NGFhZTdkZTY0 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9DcHVJQTMyTGliL1g2NC9DcHUuYXNtDQo+IEBAIC0wLDAgKzEsMjIyIEBADQo+ ICsNCj4gK1RJVExFICAgQ3B1LmFzbTogQXNzZW1ibHkgY29kZSBmb3IgdGhlIHg2NCByZXNvdXJj ZXMNCj4gKw0KPiArOw0KPiArOyBUaGlzIGZpbGUgY29udGFpbnMgYW4gJ0ludGVsIFNhbXBsZSBE cml2ZXInIGFuZCBpcw0KPiArOyBsaWNlbnNlZCBmb3IgSW50ZWwgQ1BVcyBhbmQgY2hpcHNldHMg dW5kZXIgdGhlIHRlcm1zIG9mIHlvdXINCj4gKzsgbGljZW5zZSBhZ3JlZW1lbnQgd2l0aCBJbnRl bCBvciB5b3VyIHZlbmRvci4gIFRoaXMgZmlsZSBtYXkNCj4gKzsgYmUgbW9kaWZpZWQgYnkgdGhl IHVzZXIsIHN1YmplY3QgdG8gYWRkaXRpb25hbCB0ZXJtcyBvZiB0aGUNCj4gKzsgbGljZW5zZSBh Z3JlZW1lbnQNCj4gKzsNCj4gKzsNCj4gKzsgQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArOw0KPiANCj4gKzsgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArOw0KPiAN Cj4gKzsNCj4gKzsNCj4gKzsNCj4gKzsNCj4gKzsqICAgTW9kdWxlIE5hbWU6DQo+ICs7Kg0KPiAr OyogICAgQ3B1LmFzbQ0KPiArOyoNCj4gKzsqICAgQWJzdHJhY3Q6DQo+ICs7Kg0KPiArOy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICt0ZXh0ICAgIFNFR01FTlQNCj4gKw0KPiArDQo+ICs7 LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7ICBWT0lEDQo+ICs7ICBFZmlIYWx0ICgNCj4gKzsg ICAgVk9JRA0KPiArOyAgICApDQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtFZmlIYWx0 IFBST0MgICAgUFVCTElDDQo+ICsgICAgaGx0DQo+ICsgICAgcmV0DQo+ICtFZmlIYWx0IEVORFAN Cj4gKw0KPiArDQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7ICBWT0lEDQo+ICs7ICBF ZmlXYmludmQgKA0KPiArOyAgICBWT0lEDQo+ICs7ICAgICkNCj4gKzstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gK0VmaVdiaW52ZCBQUk9DICAgIFBVQkxJQw0KPiArICAgIHdiaW52ZA0KPiArICAg IHJldA0KPiArRWZpV2JpbnZkIEVORFANCj4gKw0KPiArDQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tDQo+ICs7ICBWT0lEDQo+ICs7ICBFZmlJbnZkICgNCj4gKzsgICAgVk9JRA0KPiArOyAgICAp DQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICtFZmlJbnZkIFBST0MgICAgUFVCTElDDQo+ ICsgICAgaW52ZA0KPiArICAgIHJldA0KPiArRWZpSW52ZCBFTkRQDQo+ICsNCj4gKzstLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0NCj4gKzsgIFZPSUQNCj4gKzsgIEVmaUNwdWlkICgNCj4gKzsgICAgSU4g ICBVSU5UMzIgICAgICAgICAgICAgIFJlZ2lzdGVySW5FYXgsICAgICAgICAgIC8vIHJjeA0KPiAr OyAgICBPVVQgIEVGSV9DUFVJRF9SRUdJU1RFUiAgKlJlZyAgICAgICAgICAgT1BUSU9OQUwgLy8g cmR4DQo+ICs7ICAgICkNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gK0VmaUNwdWlkIFBS T0MgICBQVUJMSUMNCj4gKyAgICBwdXNoICByYngNCj4gKw0KPiArICAgIG1vdiAgIHI4LCAgIHJk eCAgICAgICAgIDsgcjggPSAqUmVnDQo+ICsgICAgbW92ICAgcmF4LCAgcmN4ICAgICAgICAgOyBS ZWdpc3RlckluRWF4DQo+ICsgICAgY3B1aWQNCj4gKyAgICBjbXAgICByOCwgICAwDQo+ICsgICAg amUgICAgX0V4aXQNCj4gKyAgICBtb3YgICBbcjggKyAgMF0sIGVheCAgICA7IFJlZy0+UmVnRWF4 DQo+ICsgICAgbW92ICAgW3I4ICsgIDRdLCBlYnggICAgOyBSZWctPlJlZ0VieA0KPiArICAgIG1v diAgIFtyOCArICA4XSwgZWN4ICAgIDsgUmVnLT5SZWdFY3gNCj4gKyAgICBtb3YgICBbcjggKyAx Ml0sIGVkeCAgICA7IFJlZy0+UmVnRWR4DQo+ICsNCj4gK19FeGl0Og0KPiArICAgIHBvcCAgIHJi eA0KPiArICAgIHJldA0KPiArRWZpQ3B1aWQgIEVORFANCj4gKw0KPiArOy0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArOyAgVUlOVDY0DQo+ICs7ICBFZmlSZWFkTXNyICgNCj4gKzsgICAgSU4gICBV SU5UMzIgIEluZGV4LCAgLy8gcmN4DQo+ICs7ICAgICkNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gK0VmaVJlYWRNc3IgUFJPQyAgUFVCTElDDQo+ICsgICAgcmRtc3INCj4gKyAgICBzYWwg ICAgIHJkeCwgMzIgICA7IGVkeDplYXggLT4gcmF4DQo+ICsgICAgb3IgICAgICByYXgsIHJkeCAg OyByYXggPSBlZHg6ZWF4DQo+ICsgICAgcmV0DQo+ICtFZmlSZWFkTXNyICBFTkRQDQo+ICsNCj4g KzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKzsgIFZPSUQNCj4gKzsgIEVmaVdyaXRlTXNyICgN Cj4gKzsgICAgSU4gICBVSU5UMzIgIEluZGV4LCAgLy8gcmN4DQo+ICs7ICAgIElOICAgVUlOVDY0 ICBWYWx1ZSAgIC8vIHJkeA0KPiArOyAgICApDQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ ICtFZmlXcml0ZU1zciBQUk9DICAgUFVCTElDDQo+ICsgICAgbW92ICAgICByYXgsICByZHggICA7 IHJkeCA9IFZhbHVlDQo+ICsgICAgc2FyICAgICByZHgsICAzMiAgICA7IGNvbnZlcnQgcmR4IHRv IGVkeCB1cHBlciAzMi1iaXRzDQo+ICsgICAgd3Jtc3IgICAgICAgICAgICAgICA7IHdybXNyW2Vj eF0gcmVzdWx0ID0gZWR4OmVheA0KPiArICAgIHJldA0KPiArRWZpV3JpdGVNc3IgIEVORFANCj4g Kw0KPiArDQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7IFVJTlQ2NA0KPiArOyBFZmlS ZWFkVHNjICgNCj4gKzsgICBWT0lEDQo+ICs7ICAgKTsNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gK0VmaVJlYWRUc2MgUFJPQyAgICBQVUJMSUMNCj4gKyAgICByZHRzYw0KPiArICAgIHNo bCAgICAgcmF4LCAzMg0KPiArICAgIHNocmQgICAgcmF4LCByZHgsIDMyDQo+ICsgICAgcmV0DQo+ ICtFZmlSZWFkVHNjICBFTkRQDQo+ICsNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKzsg Vk9JRA0KPiArOyBFZmlEaXNhYmxlQ2FjaGUgKA0KPiArOyAgIFZPSUQNCj4gKzsgICApOw0KPiAr Oy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArRWZpRGlzYWJsZUNhY2hlIFBST0MgICAgUFVCTElD DQo+ICs7IGFkZGVkIGEgY2hlY2sgdG8gc2VlIGlmIGNhY2hlIGlzIGFscmVhZHkgZGlzYWJsZWQu IElmIGl0IGlzLCB0aGVuIHNraXAuDQo+ICsgICAgbW92ICAgcmF4LCBjcjANCj4gKyAgICBhbmQg ICByYXgsIDA2MDAwMDAwMGgNCj4gKyAgICBjbXAgICByYXgsIDANCj4gKyAgICBqbmUgICBAZg0K PiArICAgIG1vdiAgIHJheCwgY3IwDQo+ICsgICAgb3IgICAgcmF4LCAwNjAwMDAwMDBoDQo+ICsg ICAgbW92ICAgY3IwLCByYXgNCj4gKyAgICB3YmludmQNCj4gK0BAOg0KPiArICAgIHJldA0KPiAr RWZpRGlzYWJsZUNhY2hlIEVORFANCj4gKw0KPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAr OyBWT0lEDQo+ICs7IEVmaUVuYWJsZUNhY2hlICgNCj4gKzsgICBWT0lEDQo+ICs7ICAgKTsNCj4g KzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gK0VmaUVuYWJsZUNhY2hlIFBST0MgICAgUFVCTElD DQo+ICsgICAgd2JpbnZkDQo+ICsgICAgbW92ICAgcmF4LCBjcjANCj4gKyAgICBhbmQgICByYXgs IDA5ZmZmZmZmZmgNCj4gKyAgICBtb3YgICBjcjAsIHJheA0KPiArICAgIHJldA0KPiArRWZpRW5h YmxlQ2FjaGUgRU5EUA0KPiArDQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7IFVJTlRO DQo+ICs7IEVmaUdldEVmbGFncyAoDQo+ICs7ICAgVk9JRA0KPiArOyAgICk7DQo+ICs7LS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tDQo+ICtFZmlHZXRFZmxhZ3MgUFJPQyAgICBQVUJMSUMNCj4gKyAgICBw dXNoZnENCj4gKyAgICBwb3AgICByYXgNCj4gKyAgICByZXQNCj4gK0VmaUdldEVmbGFncyAgRU5E UA0KPiArDQo+ICs7LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICs7IFZPSUQNCj4gKzsgRWZpRGlz YWJsZUludGVycnVwdHMgKA0KPiArOyAgIFZPSUQNCj4gKzsgICApOw0KPiArOy0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiArRWZpRGlzYWJsZUludGVycnVwdHMgUFJPQyAgICBQVUJMSUMNCj4gKyAg ICBjbGkNCj4gKyAgICByZXQNCj4gK0VmaURpc2FibGVJbnRlcnJ1cHRzICBFTkRQDQo+ICsNCj4g KzstLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKzsgVk9JRA0KPiArOyBFZmlFbmFibGVJbnRlcnJ1 cHRzICgNCj4gKzsgICBWT0lEDQo+ICs7ICAgKTsNCj4gKzstLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0N Cj4gK0VmaUVuYWJsZUludGVycnVwdHMgUFJPQyAgICBQVUJMSUMNCj4gKyAgICBzdGkNCj4gKyAg ICByZXQNCj4gK0VmaUVuYWJsZUludGVycnVwdHMgIEVORFANCj4gKzstLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0NCj4gKzsgIFZPSUQNCj4gKzsgIEVmaUNwdWlkRXh0ICgNCj4gKzsgICAgSU4gICBVSU5U MzIgICAgICAgICAgICAgIFJlZ2lzdGVySW5FYXgsDQo+ICs7ICAgIElOICAgVUlOVDMyICAgICAg ICAgICAgICBDYWNoZUxldmVsLA0KPiArOyAgICBPVVQgIEVGSV9DUFVJRF9SRUdJU1RFUiAgKlJl Z3MNCj4gKzsgICAgKQ0KPiArOy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArRWZpQ3B1aWRFeHQg UFJPQyAgICBQVUJMSUMNCj4gKyAgICAgcHVzaCAgIHJieA0KPiArICAgICBtb3YgICAgcmF4LCBy Y3ggICAgICAgICAgOyByYXggPSBSZWdpc3RlckluRWF4DQo+ICsgICAgIG1vdiAgICByY3gsIHJk eCAgICAgICAgICA7IHJjeCA9IENhY2hlTGV2ZWwNCj4gKw0KPiArICAgICBjcHVpZA0KPiArICAg ICBtb3YgICAgW3I4ICsgMCBdLCAgZWF4ICAgOyBSZWctPlJlZ0VheA0KPiArICAgICBtb3YgICAg W3I4ICsgNCBdLCAgZWJ4ICAgOyBSZWctPlJlZ0VieA0KPiArICAgICBtb3YgICAgW3I4ICsgOCBd LCAgZWN4ICAgOyBSZWctPlJlZ0VjeA0KPiArICAgICBtb3YgICAgW3I4ICsgMTJdLCAgZWR4ICAg OyBSZWctPlJlZ0VkeA0KPiArDQo+ICsgICAgIHBvcCByYngNCj4gKyAgICAgcmV0DQo+ICtFZmlD cHVpZEV4dCAgRU5EUA0KPiArRU5EDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0VmaVJlZ1RhYmxlTGliL0VmaVJlZ1RhYmxlTGliLmMN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0VmaVJlZ1RhYmxl TGliL0VmaVJlZ1RhYmxlTGliLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uYjdkODk2ZDlmZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRWZpUmVnVGFibGVMaWIvRWZpUmVnVGFi bGVMaWIuYw0KPiBAQCAtMCwwICsxLDI4MiBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQg KGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBF ZmlSZWdUYWJsZUxpYi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIExpYiBmdW5jdGlv biBmb3IgdGFibGUgZHJpdmVuIHJlZ2lzdGVyIGluaXRpYWxpemF0aW9uLg0KPiArDQo+ICtSZXZp c2lvbiBIaXN0b3J5DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvRWZp UmVnVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1MzQm9vdFNjcmlwdExpYi5oPg0K PiArDQo+ICsvLw0KPiArLy8gTG9jYWwgRnVuY3Rpb25zDQo+ICsvLw0KPiArDQo+ICsvKioNCj4g KyAgTG9jYWwgd29ya2VyIGZ1bmN0aW9uIHRvIHByb2Nlc3MgUENJX1dSSVRFIHRhYmxlIGVudHJp ZXMuICBQZXJmb3JtcyB3cml0ZQ0KPiBhbmQNCj4gKyAgbWF5IGFsc28gY2FsbCBCb290U2NyaXB0 U2F2ZSBwcm90b2NvbCBpZiBpbmRpY2F0ZWQgaW4gdGhlIEVudHJ5IGZsYWdzDQo+ICsNCj4gKyAg QHBhcmFtIEVudHJ5ICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBQQ0lfV1JJVEUgZW50cnkg dG8gcHJvY2Vzcw0KPiArDQo+ICsgIEBwYXJhbSBQY2lSb290QnJpZGdlSW8gIEEgcG9pbnRlciB0 byB0aGUgaW5zdGFuY2Ugb2YgUGNpUm9vdEJyaWRnZUlvIHRoYXQNCj4gaXMgdXNlZA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHByb2Nlc3NpbmcgdGhlIGVudHJ5Lg0KPiArDQo+ ICsgIEByZXR2YWwgTm90aGluZy4NCj4gKw0KPiArKiovDQo+ICtTVEFUSUMNCj4gK1ZPSUQNCj4g K1BjaVdyaXRlICgNCj4gKyAgRUZJX1JFR19UQUJMRV9QQ0lfV1JJVEUgICAgICAgICAgICAgKkVu dHJ5LA0KPiArICBFRklfUENJX1JPT1RfQlJJREdFX0lPX1BST1RPQ09MICAgICAqUGNpUm9vdEJy aWRnZUlvDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiArDQo+ICsg IFN0YXR1cyA9IFBjaVJvb3RCcmlkZ2VJby0+UGNpLldyaXRlICgNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQY2lSb290QnJpZGdlSW8sDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9DT0xfV0lEVEgp DQo+IChPUENPREVfRVhUUkFfREFUQSAoRW50cnktPk9wQ29kZSkpLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChVSU5UNjQpIEVudHJ5LT5QY2lBZGRyZXNzLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJkVudHJ5LT5EYXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBp ZiAoT1BDT0RFX0ZMQUdTIChFbnRyeS0+T3BDb2RlKSAmIE9QQ09ERV9GTEFHX1MzU0FWRSkgew0K PiArICAgIFN0YXR1cyA9IFMzQm9vdFNjcmlwdFNhdmVQY2lDZmdXcml0ZSAoDQo+ICsgICAgICAg ICAgICAgIChFRklfQk9PVF9TQ1JJUFRfV0lEVEgpIChPUENPREVfRVhUUkFfREFUQSAoRW50cnkt DQo+ID5PcENvZGUpKSwNCj4gKyAgICAgICAgICAgICAgKFVJTlQ2NCkgRW50cnktPlBjaUFkZHJl c3MsDQo+ICsgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICZFbnRyeS0+RGF0YQ0K PiArICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ ICsgIH0NCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIExvY2FsIHdvcmtlciBmdW5jdGlvbiB0byBw cm9jZXNzIFBDSV9SRUFEX01PRElGWV9XUklURSB0YWJsZSBlbnRyaWVzLg0KPiArICBQZXJmb3Jt cyBSTVcgd3JpdGUgYW5kIG1heSBhbHNvIGNhbGwgQm9vdFNjcmlwdFNhdmUgcHJvdG9jb2wgaWYg aW5kaWNhdGVkDQo+IGluDQo+ICsgIHRoZSBFbnRyeSBmbGFncy4NCj4gKw0KPiArICBAcGFyYW0g RW50cnkgICAgICAgICAgICBBIHBvaW50ZXIgdG8gdGhlIFBDSV9SRUFEX01PRElGWV9XUklURSBl bnRyeSB0bw0KPiBwcm9jZXNzLg0KPiArDQo+ICsgIEBwYXJhbSBQY2lSb290QnJpZGdlSW8gIEEg cG9pbnRlciB0byB0aGUgaW5zdGFuY2Ugb2YgUGNpUm9vdEJyaWRnZUlvIHRoYXQNCj4gaXMgdXNl ZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICB3aGVuIHByb2Nlc3NpbmcgdGhlIGVudHJ5 Lg0KPiArDQo+ICsgIEByZXR2YWwgTm90aGluZy4NCj4gKw0KPiArKiovDQo+ICtTVEFUSUMNCj4g K1ZPSUQNCj4gK1BjaVJlYWRNb2RpZnlXcml0ZSAoDQo+ICsgIEVGSV9SRUdfVEFCTEVfUENJX1JF QURfTU9ESUZZX1dSSVRFICpFbnRyeSwNCj4gKyAgRUZJX1BDSV9ST09UX0JSSURHRV9JT19QUk9U T0NPTCAgICAgKlBjaVJvb3RCcmlkZ2VJbw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMg IFN0YXR1czsNCj4gKyAgVUlOVDMyICAgICAgVGVtcERhdGE7DQo+ICsNCj4gKyAgU3RhdHVzID0g UGNpUm9vdEJyaWRnZUlvLT5QY2kuUmVhZCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUGNpUm9vdEJyaWRnZUlvLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIChFRklfUENJX1JPT1RfQlJJREdFX0lPX1BST1RPQ09MX1dJRFRIKQ0KPiAoT1BDT0RF X0VYVFJBX0RBVEEgKEVudHJ5LT5PcENvZGUpKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoVUlOVDY0KSBFbnRyeS0+UGNpQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZUZW1wRGF0YQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgRW50cnktPk9yTWFzayAm PSBFbnRyeS0+QW5kTWFzazsNCj4gKyAgVGVtcERhdGEgJj0gfkVudHJ5LT5BbmRNYXNrOw0KPiAr ICBUZW1wRGF0YSB8PSBFbnRyeS0+T3JNYXNrOw0KPiArDQo+ICsgIFN0YXR1cyA9IFBjaVJvb3RC cmlkZ2VJby0+UGNpLldyaXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBQY2lSb290QnJpZGdlSW8sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9DT0xfV0lEVEgpDQo+IChPUENPREVfRVhUUkFf REFUQSAoRW50cnktPk9wQ29kZSkpLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChVSU5UNjQpIEVudHJ5LT5QY2lBZGRyZXNzLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlRl bXBEYXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBpZiAoT1BDT0RFX0ZMQUdTIChFbnRy eS0+T3BDb2RlKSAmIE9QQ09ERV9GTEFHX1MzU0FWRSkgew0KPiArICAgIFN0YXR1cyA9IFMzQm9v dFNjcmlwdFNhdmVQY2lDZmdSZWFkV3JpdGUgKA0KPiArICAgICAgICAgICAgICAoRUZJX0JPT1Rf U0NSSVBUX1dJRFRIKSAoT1BDT0RFX0VYVFJBX0RBVEEgKEVudHJ5LQ0KPiA+T3BDb2RlKSksDQo+ ICsgICAgICAgICAgICAgIChVSU5UNjQpIEVudHJ5LT5QY2lBZGRyZXNzLA0KPiArICAgICAgICAg ICAgICAmRW50cnktPk9yTWFzaywNCj4gKyAgICAgICAgICAgICAgJkVudHJ5LT5BbmRNYXNrDQo+ ICsgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4g KyAgfQ0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgTG9jYWwgd29ya2VyIGZ1bmN0aW9uIHRvIHBy b2Nlc3MgTUVNX1JFQURfTU9ESUZZX1dSSVRFIHRhYmxlDQo+IGVudHJpZXMuDQo+ICsgIFBlcmZv cm1zIFJNVyB3cml0ZSBhbmQgbWF5IGFsc28gY2FsbCBCb290U2NyaXB0U2F2ZSBwcm90b2NvbCBp ZiBpbmRpY2F0ZWQNCj4gaW4NCj4gKyAgdGhlIEVudHJ5IGZsYWdzLg0KPiArDQo+ICsgIEBwYXJh bSBFbnRyeSAgICAgICAgICAgIEEgcG9pbnRlciB0byB0aGUgTUVNX1JFQURfTU9ESUZZX1dSSVRF IGVudHJ5IHRvDQo+IHByb2Nlc3MuDQo+ICsNCj4gKyAgQHBhcmFtIFBjaVJvb3RCcmlkZ2VJbyAg QSBwb2ludGVyIHRvIHRoZSBpbnN0YW5jZSBvZiBQY2lSb290QnJpZGdlSW8gdGhhdA0KPiBpcyB1 c2VkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gcHJvY2Vzc2luZyB0aGUgZW50 cnkuDQo+ICsNCj4gKyAgQHJldHZhbCBOb3RoaW5nLg0KPiArDQo+ICsqKi8NCj4gK1NUQVRJQw0K PiArVk9JRA0KPiArTWVtUmVhZE1vZGlmeVdyaXRlICgNCj4gKyAgRUZJX1JFR19UQUJMRV9NRU1f UkVBRF9NT0RJRllfV1JJVEUgKkVudHJ5LA0KPiArICBFRklfUENJX1JPT1RfQlJJREdFX0lPX1BS T1RPQ09MICAgICAqUGNpUm9vdEJyaWRnZUlvDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRV UyAgU3RhdHVzOw0KPiArICBVSU5UMzIgICAgICBUZW1wRGF0YTsNCj4gKw0KPiArICBTdGF0dXMg PSBQY2lSb290QnJpZGdlSW8tPk1lbS5SZWFkICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQY2lSb290QnJpZGdlSW8sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9DT0xfV0lEVEgpDQo+IChPUENP REVfRVhUUkFfREFUQSAoRW50cnktPk9wQ29kZSkpLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChVSU5UNjQpIEVudHJ5LT5NZW1BZGRyZXNzLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgJlRlbXBEYXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBFbnRyeS0+T3JNYXNr ICY9IEVudHJ5LT5BbmRNYXNrOw0KPiArICBUZW1wRGF0YSAmPSB+RW50cnktPkFuZE1hc2s7DQo+ ICsgIFRlbXBEYXRhIHw9IEVudHJ5LT5Pck1hc2s7DQo+ICsNCj4gKyAgU3RhdHVzID0gUGNpUm9v dEJyaWRnZUlvLT5NZW0uV3JpdGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBjaVJvb3RCcmlkZ2VJbywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoRUZJX1BDSV9ST09UX0JSSURHRV9JT19QUk9UT0NPTF9XSURUSCkNCj4gKE9QQ09ERV9FWFRS QV9EQVRBIChFbnRyeS0+T3BDb2RlKSksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgKFVJTlQ2NCkgRW50cnktPk1lbUFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAm VGVtcERhdGENCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBB U1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIGlmIChPUENPREVfRkxBR1MgKEVu dHJ5LT5PcENvZGUpICYgT1BDT0RFX0ZMQUdfUzNTQVZFKSB7DQo+ICsgICAgU3RhdHVzID0gUzNC b290U2NyaXB0U2F2ZU1lbVJlYWRXcml0ZSAoDQo+ICsgICAgICAgICAgICAgIChFRklfQk9PVF9T Q1JJUFRfV0lEVEgpIChPUENPREVfRVhUUkFfREFUQSAoRW50cnktDQo+ID5PcENvZGUpKSwNCj4g KyAgICAgICAgICAgICAgRW50cnktPk1lbUFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICZFbnRy eS0+T3JNYXNrLA0KPiArICAgICAgICAgICAgICAmRW50cnktPkFuZE1hc2sNCj4gKyAgICAgICAg ICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArICB9DQo+ICt9 DQo+ICsNCj4gKy8vDQo+ICsvLyBFeHBvcnRlZCBmdW5jdGlvbnMNCj4gKy8vDQo+ICsNCj4gKy8q Kg0KPiArICBQcm9jZXNzZXMgcmVnaXN0ZXIgdGFibGUgYXNzdW1pbmcgd2hpY2ggbWF5IGNvbnRh aW4gUENJLCBJTywgTUVNLCBhbmQNCj4gU1RBTEwNCj4gKyAgZW50cmllcy4NCj4gKw0KPiArICBO byBwYXJhbWV0ZXIgY2hlY2tpbmcgaXMgZG9uZSBzbyB0aGUgY2FsbGVyIG11c3QgYmUgY2FyZWZ1 bCBhYm91dCBvbWl0dGluZw0KPiArICB2YWx1ZXMgZm9yIFBjaVJvb3RCcmlkZ2VJbyBvciBDcHVJ byBwYXJhbWV0ZXJzLiAgSWYgdGhlIHJlZ3RhYmxlIGRvZXMNCj4gKyAgbm90IGNvbnRhaW4gYW55 IFBDSSBhY2Nlc3NlcywgaXQgaXMgc2FmZSB0byBvbWl0IHRoZSBQY2lSb290QnJpZGdlSW8gKHN1 cHBseQ0KPiArICBOVUxMKS4gIElmIHRoZSByZWd0YWJsZSBkb2VzIG5vdCBjb250YWluIGFueSBJ TyBvciBNZW0gZW50cmllcywgaXQgaXMgc2FmZSB0bw0KPiArICBvbWl0IHRoZSBDcHVJbyAoc3Vw cGx5IE5VTEwpLg0KPiArDQo+ICsgIFRoZSBSZWdUYWJsZUVudHJ5IHBhcmFtZXRlciBpcyBub3Qg Y2hlY2tlZCwgYnV0IGlzIHJlcXVpcmVkLg0KPiArDQo+ICsgIGdCUyBpcyBhc3N1bWVkIHRvIGhh dmUgYmVlbiBkZWZpbmVkIGFuZCBpcyB1c2VkIHdoZW4gcHJvY2Vzc2luZyBzdGFsbHMuDQo+ICsN Cj4gKyAgVGhlIGZ1bmN0aW9uIHByb2Nlc3NlcyBlYWNoIGVudHJ5IHNlcXVlbnRpYWxseSB1bnRp bCBhbg0KPiBPUF9URVJNSU5BVEVfVEFCTEUNCj4gKyAgZW50cnkgaXMgZW5jb3VudGVyZWQuDQo+ ICsNCj4gKyAgQHBhcmFtIFJlZ1RhYmxlRW50cnkgICAgQSBwb2ludGVyIHRvIHRoZSByZWdpc3Rl ciB0YWJsZSB0byBwcm9jZXNzDQo+ICsNCj4gKyAgQHBhcmFtIFBjaVJvb3RCcmlkZ2VJbyAgQSBw b2ludGVyIHRvIHRoZSBpbnN0YW5jZSBvZiBQY2lSb290QnJpZGdlSW8gdGhhdA0KPiBpcyB1c2Vk DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gcHJvY2Vzc2luZyBQQ0kgdGFibGUg ZW50cmllcw0KPiArDQo+ICsgIEBwYXJhbSBDcHVJbyAgICAgICAgICAgIEEgcG9pbnRlciB0byB0 aGUgaW5zdGFuY2Ugb2YgQ3B1SW8gdGhhdCBpcyB1c2VkIHdoZW4NCj4gcHJvY2Vzc2luZyBJTyBh bmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTUVNIHRhYmxlIGVudHJpZXMNCj4gKw0K PiArICBAcmV0dmFsIE5vdGhpbmcuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArUHJvY2Vzc1Jl Z1RhYmxlUGNpICgNCj4gKyAgRUZJX1JFR19UQUJMRSAgICAgICAgICAgICAgICAgICAgICAgKlJl Z1RhYmxlRW50cnksDQo+ICsgIEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9DT0wgICAgICpQ Y2lSb290QnJpZGdlSW8sDQo+ICsgIEVGSV9DUFVfSU9fUFJPVE9DT0wgICAgICAgICAgICAgICAg ICpDcHVJbw0KPiArICApDQo+ICt7DQo+ICsgIHdoaWxlIChPUENPREVfQkFTRSAoUmVnVGFibGVF bnRyeS0+R2VuZXJpYy5PcENvZGUpICE9DQo+IE9QX1RFUk1JTkFURV9UQUJMRSkgew0KPiArICAg IHN3aXRjaCAoT1BDT0RFX0JBU0UgKFJlZ1RhYmxlRW50cnktPkdlbmVyaWMuT3BDb2RlKSkgew0K PiArICAgIGNhc2UgT1BfUENJX1dSSVRFOg0KPiArICAgICAgUGNpV3JpdGUgKChFRklfUkVHX1RB QkxFX1BDSV9XUklURSAqKSBSZWdUYWJsZUVudHJ5LA0KPiBQY2lSb290QnJpZGdlSW8pOw0KPiAr ICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIE9QX1BDSV9SRUFEX01PRElGWV9XUklURToN Cj4gKyAgICAgIFBjaVJlYWRNb2RpZnlXcml0ZSAoKEVGSV9SRUdfVEFCTEVfUENJX1JFQURfTU9E SUZZX1dSSVRFICopDQo+IFJlZ1RhYmxlRW50cnksIFBjaVJvb3RCcmlkZ2VJbyk7DQo+ICsgICAg ICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgT1BfTUVNX1JFQURfTU9ESUZZX1dSSVRFOg0KPiAr ICAgICAgTWVtUmVhZE1vZGlmeVdyaXRlICgoRUZJX1JFR19UQUJMRV9NRU1fUkVBRF9NT0RJRllf V1JJVEUNCj4gKikgUmVnVGFibGVFbnRyeSwgUGNpUm9vdEJyaWRnZUlvKTsNCj4gKyAgICAgIGJy ZWFrOw0KPiArDQo+ICsgICAgZGVmYXVsdDoNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfRVJST1Is ICJSZWdUYWJsZSBFUlJPUjogVW5rbm93biBSZWdUYWJsZSBPcENvZGUNCj4gKCV4KVxuIiwgT1BD T0RFX0JBU0UgKFJlZ1RhYmxlRW50cnktPkdlbmVyaWMuT3BDb2RlKSkpOw0KPiArICAgICAgQVNT RVJUICgwKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFJlZ1RhYmxl RW50cnkrKzsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUHJvY2Vzc2VzIHJlZ2lz dGVyIHRhYmxlIGFzc3VtaW5nIHdoaWNoIG1heSBjb250YWluIElPLCBNRU0sIGFuZCBTVEFMTA0K PiArICBlbnRyaWVzLCBidXQgbXVzdCBOT1QgY29udGFpbiBhbnkgUENJIGVudHJpZXMuICBBbnkg UENJIGVudHJpZXMgY2F1c2UgYW4NCj4gKyAgQVNTRVJUIGluIGEgREVCVUcgYnVpbGQgYW5kIGFy ZSBza2lwcGVkIGluIGEgZnJlZSBidWlsZC4NCj4gKw0KPiArICBObyBwYXJhbWV0ZXIgY2hlY2tp bmcgaXMgZG9uZS4gIEJvdGggUmVnVGFibGVFbnRyeSBhbmQgQ3B1SW8NCj4gcGFyYW1ldGVycyBh cmUNCj4gKyAgcmVxdWlyZWQuDQo+ICsNCj4gKyAgZ0JTIGlzIGFzc3VtZWQgdG8gaGF2ZSBiZWVu IGRlZmluZWQgYW5kIGlzIHVzZWQgd2hlbiBwcm9jZXNzaW5nIHN0YWxscy4NCj4gKw0KPiArICBU aGUgZnVuY3Rpb24gcHJvY2Vzc2VzIGVhY2ggZW50cnkgc2VxdWVudGlhbGx5IHVudGlsIGFuDQo+ IE9QX1RFUk1JTkFURV9UQUJMRQ0KPiArICBlbnRyeSBpcyBlbmNvdW50ZXJlZC4NCj4gKw0KPiAr ICBAcGFyYW0gIFJlZ1RhYmxlRW50cnkgICBBIHBvaW50ZXIgdG8gdGhlIHJlZ2lzdGVyIHRhYmxl IHRvIHByb2Nlc3MNCj4gKw0KPiArICBAcGFyYW0gIENwdUlvICAgICAgICAgICBBIHBvaW50ZXIg dG8gdGhlIGluc3RhbmNlIG9mIENwdUlvIHRoYXQgaXMgdXNlZCB3aGVuDQo+IHByb2Nlc3Npbmcg SU8gYW5kDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIE1FTSB0YWJsZSBlbnRyaWVzDQo+ ICsNCj4gKyAgQHJldHZhbCBOb3RoaW5nLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK1Byb2Nl c3NSZWdUYWJsZUNwdSAoDQo+ICsgIEVGSV9SRUdfVEFCTEUgICAgICAgICAgICAgICAgICAgICAg ICpSZWdUYWJsZUVudHJ5LA0KPiArICBFRklfQ1BVX0lPX1BST1RPQ09MICAgICAgICAgICAgICAg ICAqQ3B1SW8NCj4gKyAgKQ0KPiArew0KPiArICB3aGlsZSAoT1BDT0RFX0JBU0UgKFJlZ1RhYmxl RW50cnktPkdlbmVyaWMuT3BDb2RlKSAhPQ0KPiBPUF9URVJNSU5BVEVfVEFCTEUpIHsNCj4gKyAg ICBzd2l0Y2ggKE9QQ09ERV9CQVNFIChSZWdUYWJsZUVudHJ5LT5HZW5lcmljLk9wQ29kZSkpIHsN Cj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIlJlZ1RhYmxl IEVSUk9SOiBVbmtub3duIFJlZ1RhYmxlIE9wQ29kZQ0KPiAoJXgpXG4iLCBPUENPREVfQkFTRSAo UmVnVGFibGVFbnRyeS0+R2VuZXJpYy5PcENvZGUpKSk7DQo+ICsgICAgICBBU1NFUlQgKDApOw0K PiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgUmVnVGFibGVFbnRyeSsrOw0K PiArICB9DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9MaWJyYXJ5L0VmaVJlZ1RhYmxlTGliL0VmaVJlZ1RhYmxlTGliLmluDQo+IGYNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0VmaVJlZ1RhYmxlTGli L0VmaVJlZ1RhYmxlTGliLmluDQo+IGYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uOWNiODg0MWQ2NQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRWZpUmVnVGFibGVMaWIvRWZpUmVn VGFibGVMaWIuaW4NCj4gZg0KPiBAQCAtMCwwICsxLDQ3IEBADQo+ICsjDQo+ICsjDQo+ICsjLyor Kw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMTQgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+IA0KPiArIyBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+IA0KPiArDQo+ICsj DQo+ICsjICBNb2R1bGUgTmFtZToNCj4gKyMNCj4gKyMgICAgRWZpUmVnVGFibGVMaWIuaW5mDQo+ ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4gKyMNCj4gKyMgICAgQ29tcG9uZW50IGRlc2NyaXB0aW9u IGZpbGUuDQo+ICsjDQo+ICsjLS0qLw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJ T04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAg ICAgICAgICAgICAgICAgPSBFZmlSZWdUYWJsZUxpYg0KPiArICBGSUxFX0dVSUQgICAgICAgICAg ICAgICAgICAgICAgPSA5ODU0NjE0NS02NEYxLTRkMmUtODE0Ri02QkY5NjNEQjc5MzANCj4gKyAg TU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gQkFTRQ0KPiArICBWRVJTSU9OX1NUUklO RyAgICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAg ICAgID0gRWZpUmVnVGFibGVMaWINCj4gKw0KPiArIw0KPiArIyBUaGUgZm9sbG93aW5nIGluZm9y bWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZQ0KPiBi dWlsZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0g SUEzMiBYNjQgRUJDDQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBFZmlSZWdUYWJsZUxp Yi5jDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgTWRl TW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1Qa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrUGtnL0ludGVsRnJhbWV3b3JrUGtnLmRlYw0K PiArDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFz aERldmljZUxpYi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9GbGFzaERldmljZUxpYi9GbGFzaERldmljZUxpYi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjU1ODc2M2ZhOTgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0ZsYXNoRGV2aWNl TGliL0ZsYXNoRGV2aWNlTGliLmMNCj4gQEAgLTAsMCArMSw0NjEgQEANCj4gKy8qKiBAZmlsZQ0K PiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsj aW5jbHVkZSA8UGlEeGUuaD4NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvRmxhc2hEZXZpY2VM aWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFi bGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNUYWJsZUxp Yi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUg PExpYnJhcnkvVWVmaVJ1bnRpbWVMaWIuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9TbW1CYXNl Mi5oPg0KPiArI2luY2x1ZGUgPEd1aWQvRXZlbnRHcm91cC5oPg0KPiArI2luY2x1ZGUgIlNwaUNo aXBEZWZpbml0aW9ucy5oIg0KPiArDQo+ICtVSU5UTiBGbGFzaERldmljZUJhc2UgPSBGTEFTSF9E RVZJQ0VfQkFTRV9BRERSRVNTOw0KPiArDQo+ICtFRklfU1BJX1BST1RPQ09MICptU3BpUHJvdG9j b2wgPSBOVUxMOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtTcGlGbGFzaEVyYXNlICgNCj4gKyAg VUlOVDggKkJhc2VBZGRyZXNzLA0KPiArICBVSU5UTiBOdW1CeXRlcw0KPiArICApDQo+ICt7DQo+ ICsgIEVGSV9TVEFUVVMgICAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsgIFVJTlQz MiAgICAgICAgICAgICAgU2VjdG9yU2l6ZTsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICBTcGlB ZGRyZXNzOw0KPiArDQo+ICsgIFNwaUFkZHJlc3MgPSAoVUlOVDMyKShVSU5UTikoQmFzZUFkZHJl c3MpIC0gKFVJTlQzMilGbGFzaERldmljZUJhc2U7DQo+ICsgIFNlY3RvclNpemUgPSBTRUNUT1Jf U0laRV80S0I7DQo+ICsgIHdoaWxlICggKE51bUJ5dGVzID4gMCkgJiYgKE51bUJ5dGVzIDw9IE1B WF9GV0hfU0laRSkgKSB7DQo+ICsgICAgU3RhdHVzID0gbVNwaVByb3RvY29sLT5FeGVjdXRlICgN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVNwaVByb3RvY29sLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTUElfU0VSQVNFLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTUElfV1JFTiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFM U0UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZBTFNFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoVUlOVDMyKSBTcGlBZGRyZXNzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbnVtU3BpUmVnaW9uQmlvcw0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApOw0KPiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAg IGJyZWFrOw0KPiArICAgIH0NCj4gKyAgICBTcGlBZGRyZXNzICs9IFNlY3RvclNpemU7DQo+ICsg ICAgTnVtQnl0ZXMgICAtPSBTZWN0b3JTaXplOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0 YXR1czsNCj4gK30NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtTcGlGbGFzaEJsb2NrRXJh c2UgKA0KPiArICBVSU5UOCAqQmFzZUFkZHJlc3MsDQo+ICsgIFVJTlROIE51bUJ5dGVzDQo+ICsg ICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsN Cj4gKyAgVUlOVDMyICAgICAgICAgICAgICBTZWN0b3JTaXplOw0KPiArICBVSU5UMzIgICAgICAg ICAgICAgIFNwaUFkZHJlc3M7DQo+ICsNCj4gKyAgU3BpQWRkcmVzcyA9IChVSU5UMzIpKFVJTlRO KShCYXNlQWRkcmVzcykgLSAoVUlOVDMyKUZsYXNoRGV2aWNlQmFzZTsNCj4gKyAgU2VjdG9yU2l6 ZSA9IFNFQ1RPUl9TSVpFXzRLQjsNCj4gKyAgd2hpbGUgKCAoTnVtQnl0ZXMgPiAwKSAmJiAoTnVt Qnl0ZXMgPD0gTUFYX0ZXSF9TSVpFKSApIHsNCj4gKyAgICBTdGF0dXMgPSBtU3BpUHJvdG9jb2wt PkV4ZWN1dGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtU3BpUHJvdG9jb2ws DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9TRVJBU0UsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNQSV9XUkVOLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGQUxTRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChVSU5UMzIpIFNwaUFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVudW1TcGlSZWdpb25CaW9zDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArICAgIFNwaUFkZHJlc3MgKz0gU2VjdG9y U2l6ZTsNCj4gKyAgICBOdW1CeXRlcyAgIC09IFNlY3RvclNpemU7DQo+ICsgIH0NCj4gKw0KPiAr ICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gK3N0YXRpYw0KPiArRUZJX1NUQVRV Uw0KPiArU3BpRmxhc2hXcml0ZSAoDQo+ICsgIFVJTlQ4ICpEc3RCdWZmZXJQdHIsDQo+ICsgIFVJ TlQ4ICpCeXRlLA0KPiArICBJTiAgVUlOVE4gTGVuZ3RoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgTnVtQnl0ZXMgPSAoVUlOVDMyKUxlbmd0aDsNCj4gKyAgVUlOVDgqICAgICAgICAgICAg ICAgICAgICBwQnVmOCA9IEJ5dGU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgU3Bp QWRkcmVzczsNCj4gKw0KPiArICBTcGlBZGRyZXNzID0gKFVJTlQzMikoVUlOVE4pKERzdEJ1ZmZl clB0cikgLSAoVUlOVDMyKUZsYXNoRGV2aWNlQmFzZTsNCj4gKyAgU3RhdHVzID0gbVNwaVByb3Rv Y29sLT5FeGVjdXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TcGlQcm90b2Nv bCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9QUk9HLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgU1BJX1dSRU4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAo VUlOVDMyKVNwaUFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1CeXRl cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIHBCdWY4LA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgRW51bVNwaVJlZ2lvbkJpb3MNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICk7DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBS ZWFkIHRoZSBTZXJpYWwgRmxhc2ggU3RhdHVzIFJlZ2lzdGVycy4NCj4gKw0KPiArICBAcGFyYW0g IFNwaVN0YXR1cyAgICAgICAgIFBvaW50ZXIgdG8gYSBjYWxsZXItYWxsb2NhdGVkIFVJTlQ4LiBP biBzdWNjZXNzZnVsDQo+IHJldHVybiwgaXQgY29udGFpbnMgdGhlDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RhdHVzIGRhdGEgcmVhZCBmcm9tIHRoZSBTZXJpYWwgRmxhc2ggU3Rh dHVzIFJlZ2lzdGVyLg0KPiArDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBP cGVyYXRpb24gc3VjY2Vzcywgc3RhdHVzIGlzIHJldHVybmVkIGluIFNwaVN0YXR1cy4NCj4gKyAg QHJldHZhbCBFRklfREVWSUNFX0VSUk9SICBUaGUgYmxvY2sgZGV2aWNlIGlzIG5vdCBmdW5jdGlv bmluZyBjb3JyZWN0bHkNCj4gYW5kIHRoZSBvcGVyYXRpb24gZmFpbGVkLg0KPiArDQo+ICsqKi8N Cj4gK0VGSV9TVEFUVVMNCj4gK1JlYWRTdGF0dXNSZWdpc3RlciAoDQo+ICsgIFVJTlQ4ICAgKlNw aVN0YXR1cw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgU3RhdHVzOw0K PiArDQo+ICsgIFN0YXR1cyA9IG1TcGlQcm90b2NvbC0+RXhlY3V0ZSAoDQo+ICsgICAgICAgICAg ICAgbVNwaVByb3RvY29sLA0KPiArICAgICAgICAgICAgIFNQSV9SRFNSLA0KPiArICAgICAgICAg ICAgIFNQSV9XUkVOLA0KPiArICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgRkFM U0UsDQo+ICsgICAgICAgICAgICAgRkFMU0UsDQo+ICsgICAgICAgICAgICAgMCwNCj4gKyAgICAg ICAgICAgICAxLA0KPiArICAgICAgICAgICAgIFNwaVN0YXR1cywNCj4gKyAgICAgICAgICAgICBF bnVtU3BpUmVnaW9uQmlvcw0KPiArICAgICAgICAgICAgICk7DQo+ICsgIHJldHVybiBTdGF0dXM7 DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1NwaUZsYXNoTG9jayAoDQo+ICsgICAgSU4g IFVJTlQ4ICAqQmFzZUFkZHJlc3MsDQo+ICsgICAgSU4gIFVJTlROICBOdW1CeXRlcywNCj4gKyAg ICBJTiAgQk9PTEVBTiAgTG9jaw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAg ICAgU3RhdHVzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFNwaURhdGE7DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgU3BpU3RhdHVzOw0KPiArDQo+ICsgIGlmIChMb2NrKSB7DQo+ICsgICAg U3BpRGF0YSA9IFNGX1NSX1dQRTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBTcGlEYXRhID0gMDsN Cj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEFsd2F5cyBkaXNhYmxlIGJsb2NrIHByb3Rl Y3Rpb24gdG8gd29ya2Fyb3VuZCB0b29sIGlzc3VlLg0KPiArICAvLyBGZWF0dXJlIG1heSBiZSBy ZS1lbmFibGVkIGluIGEgZnV0dXJlIGJpb3MuDQo+ICsgIC8vDQo+ICsgIFNwaURhdGEgPSAwOw0K PiArICBTdGF0dXMgPSBtU3BpUHJvdG9jb2wtPkV4ZWN1dGUgKA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgbVNwaVByb3RvY29sLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg U1BJX1dSU1IsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfRVdTUiwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAx LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgJlNwaURhdGEsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICBFbnVtU3BpUmVnaW9uQmlvcw0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVy biBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBSZWFkU3RhdHVzUmVnaXN0ZXIg KCZTcGlTdGF0dXMpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0 dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmICgoU3BpU3RhdHVzICYgU3BpRGF0YSkg IT0gU3BpRGF0YSkgew0KPiArICAgIFN0YXR1cyA9IEVGSV9ERVZJQ0VfRVJST1I7DQo+ICsgIH0N Cj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBS ZWFkIE51bUJ5dGVzIGJ5dGVzIG9mIGRhdGEgZnJvbSB0aGUgYWRkcmVzcyBzcGVjaWZpZWQgYnkN Cj4gKyAgUEFkZHJlc3MgaW50byBCdWZmZXIuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgICAgIFBB ZGRyZXNzICAgICAgICAgIFRoZSBzdGFydGluZyBwaHlzaWNhbCBhZGRyZXNzIG9mIHRoZSByZWFk Lg0KPiArICBAcGFyYW1baW4sb3V0XSAgTnVtQnl0ZXMgICAgICAgICAgT24gaW5wdXQsIHRoZSBu dW1iZXIgb2YgYnl0ZXMgdG8gcmVhZC4gT24NCj4gb3V0cHV0LCB0aGUgbnVtYmVyDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZiBieXRlcyBhY3R1YWxseSByZWFkLg0K PiArICBAcGFyYW1bb3V0XSAgICAgQnVmZmVyICAgICAgICAgICAgVGhlIGRlc3RpbmF0aW9uIGRh dGEgYnVmZmVyIGZvciB0aGUgcmVhZC4NCj4gKw0KPiArICBAcmV0dmFsICAgICAgICAgRUZJX1NV Q0NFU1MuICAgICAgT3BlcnRpb24gaXMgc3VjY2Vzc2Z1bC4NCj4gKyAgQHJldHZhbCAgICAgICAg IEVGSV9ERVZJQ0VfRVJST1IgIElmIHRoZXJlIGlzIGFueSBkZXZpY2UgZXJyb3JzLg0KPiArDQo+ ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTGliRnZiRmxhc2hEZXZpY2VSZWFk ICgNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIFBBZGRyZXNz LA0KPiArICBJTiAgT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgKk51bUJ5dGVz LA0KPiArICAgICAgT1VUIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcg0K PiArICApDQo+ICt7DQo+ICsgIENvcHlNZW0oQnVmZmVyLCAoVk9JRCopUEFkZHJlc3MsICpOdW1C eXRlcyk7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioN Cj4gKyAgV3JpdGUgTnVtQnl0ZXMgYnl0ZXMgb2YgZGF0YSBmcm9tIEJ1ZmZlciB0byB0aGUgYWRk cmVzcyBzcGVjaWZpZWQgYnkNCj4gKyAgUEFkZHJlc3NzLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0g ICAgICBQQWRkcmVzcyAgICAgICAgICBUaGUgc3RhcnRpbmcgcGh5c2ljYWwgYWRkcmVzcyBvZiB0 aGUgd3JpdGUuDQo+ICsgIEBwYXJhbVtpbixvdXRdICBOdW1CeXRlcyAgICAgICAgICBPbiBpbnB1 dCwgdGhlIG51bWJlciBvZiBieXRlcyB0byB3cml0ZS4NCj4gT24gb3V0cHV0LA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGFjdHVhbCBudW1iZXIgb2YgYnl0ZXMg d3JpdHRlbi4NCj4gKyAgQHBhcmFtW2luXSAgICAgIEJ1ZmZlciAgICAgICAgICAgIFRoZSBzb3Vy Y2UgZGF0YSBidWZmZXIgZm9yIHRoZSB3cml0ZS4NCj4gKw0KPiArICBAcmV0dmFsICAgICAgICAg RUZJX1NVQ0NFU1MuICAgICAgT3BlcnRpb24gaXMgc3VjY2Vzc2Z1bC4NCj4gKyAgQHJldHZhbCAg ICAgICAgIEVGSV9ERVZJQ0VfRVJST1IgIElmIHRoZXJlIGlzIGFueSBkZXZpY2UgZXJyb3JzLg0K PiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTGliRnZiRmxhc2hEZXZp Y2VXcml0ZSAoDQo+ICsgIElOICAgICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg IFBBZGRyZXNzLA0KPiArICBJTiBPVVQgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAqTnVtQnl0ZXMsDQo+ICsgIElOICAgICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAg ICAgICpCdWZmZXINCj4gKyAgKQ0KPiArew0KPiArRUZJX1NUQVRVUyBTdGF0dXM7DQo+ICsgIFN0 YXR1cyA9ICBTcGlGbGFzaFdyaXRlKChVSU5UOCAqKVBBZGRyZXNzLCBCdWZmZXIsICpOdW1CeXRl cyk7DQo+ICsgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgRXJh c2UgdGhlIGJsb2NrIHN0YXJpbmcgYXQgUEFkZHJlc3MuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAg UEFkZHJlc3MgICAgICAgICAgVGhlIHN0YXJ0aW5nIHBoeXNpY2FsIGFkZHJlc3Mgb2YgdGhlIGJs b2NrIHRvIGJlDQo+IGVyYXNlZC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg VGhpcyBsaWJyYXJ5IGFzc3VtZSB0aGF0IGNhbGxlciBnYXJhbnRlZSB0aGF0IHRoZSBQQWRkcmVz cw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBhdCB0aGUgc3RhcnRpbmcg YWRkcmVzcyBvZiB0aGlzIGJsb2NrLg0KPiArICBAcGFyYW1baW5dICBMYmFMZW5ndGggICAgICAg ICBUaGUgbGVuZ3RoIG9mIHRoZSBsb2dpY2FsIGJsb2NrIHRvIGJlIGVyYXNlZC4NCj4gKw0KPiAr ICBAcmV0dmFsICAgICBFRklfU1VDQ0VTUy4gICAgICBPcGVydGlvbiBpcyBzdWNjZXNzZnVsLg0K PiArICBAcmV0dmFsICAgICBFRklfREVWSUNFX0VSUk9SICBJZiB0aGVyZSBpcyBhbnkgZGV2aWNl IGVycm9ycy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0xpYkZ2 YkZsYXNoRGV2aWNlQmxvY2tFcmFzZSAoDQo+ICsgIElOICAgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgUEFkZHJlc3MsDQo+ICsgIElOICAgIFVJTlROICAgICAgICAgICAgICAgICAgICAgTGJh TGVuZ3RoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyBTdGF0dXM7DQo+ICsgIFN0YXR1 cyA9IFNwaUZsYXNoQmxvY2tFcmFzZSgoVUlOVDggKilQQWRkcmVzcywgTGJhTGVuZ3RoKTsNCj4g Kw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBMb2Nr IG9yIHVubG9jayB0aGUgYmxvY2sgc3RhcmluZyBhdCBQQWRkcmVzcy4NCj4gKw0KPiArICBAcGFy YW1baW5dICBQQWRkcmVzcyAgICAgICAgVGhlIHN0YXJ0aW5nIHBoeXNpY2FsIGFkZHJlc3Mgb2Yg cmVnaW9uIHRvIGJlDQo+ICh1bilsb2NrZWQuDQo+ICsgIEBwYXJhbVtpbl0gIExiYUxlbmd0aCAg ICAgICBUaGUgbGVuZ3RoIG9mIHRoZSBsb2dpY2FsIGJsb2NrIHRvIGJlIGVyYXNlZC4NCj4gKyAg QHBhcmFtW2luXSAgTG9jayAgICAgICAgICAgIFRSVUUgdG8gbG9jay4gRkFMU0UgdG8gdW5sb2Nr Lg0KPiArDQo+ICsgIEByZXR2YWwgICAgIEVGSV9TVUNDRVNTLiAgICAgIE9wZXJ0aW9uIGlzIHN1 Y2Nlc3NmdWwuDQo+ICsgIEByZXR2YWwgICAgIEVGSV9ERVZJQ0VfRVJST1IgIElmIHRoZXJlIGlz IGFueSBkZXZpY2UgZXJyb3JzLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArTGliRnZiRmxhc2hEZXZpY2VCbG9ja0xvY2sgKA0KPiArICBJTiAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICAgICAgUEFkZHJlc3MsDQo+ICsgIElOICAgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICBMYmFMZW5ndGgsDQo+ICsgIElOICAgIEJPT0xFQU4gICAgICAgICAg ICAgICAgICAgICAgICBMb2NrDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyBTdGF0dXM7 DQo+ICsNCj4gKyAgICBTdGF0dXMgPSBTcGlGbGFzaExvY2soKFVJTlQ4KilQQWRkcmVzcywgTGJh TGVuZ3RoLCBMb2NrKTsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArVk9JRA0K PiArRUZJQVBJDQo+ICtMaWJGdmJGbGFzaERldmljZVZpcnR1YWxBZGRyZXNzQ2hhbmdlTm90aWZ5 RXZlbnQgKA0KPiArICBJTiBFRklfRVZFTlQgICAgICAgIEV2ZW50LA0KPiArICBJTiBWT0lEICAg ICAgICAgICAgICpDb250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyAgZ1JULT5Db252ZXJ0UG9pbnRl ciAoMCwgKFZPSUQgKiopICZtU3BpUHJvdG9jb2wpOw0KPiArICBnUlQtPkNvbnZlcnRQb2ludGVy ICgwLCAoVk9JRCAqKikgJkZsYXNoRGV2aWNlQmFzZSk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoq DQo+ICsgIFRoZSBsaWJyYXJ5IGNvbnN0cnVjdHVvci4NCj4gKw0KPiArICBUaGUgZnVuY3Rpb24g ZG9lcyB0aGUgbmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uIHdvcmsgZm9yIHRoaXMgbGlicmFyeQ0K PiArICBpbnN0YW5jZS4gUGxlYXNlIHB1dCBhbGwgaW5pdGlhbGl6YXRpb24gd29ya3MgaW4gaXQu DQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgSW1hZ2VIYW5kbGUgICAgICAgVGhlIGZpcm13YXJlIGFs bG9jYXRlZCBoYW5kbGUgZm9yIHRoZSBVRUZJDQo+IGltYWdlLg0KPiArICBAcGFyYW1baW5dICBT eXN0ZW1UYWJsZSAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEVGSSBzeXN0ZW0gdGFibGUuDQo+ICsN Cj4gKyAgQHJldHZhbCAgICAgRUZJX1NVQ0NFU1MgICAgICAgVGhlIGZ1bmN0aW9uIGFsd2F5cyBy ZXR1cm4gRUZJX1NVQ0NFU1MgZm9yDQo+IG5vdy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSXQgd2lsbCBBU1NFUlQgb24gZXJyb3IgZm9yIGRlYnVnIHZlcnNpb24uDQo+ICsg IEByZXR2YWwgICAgIEVGSV9FUlJPUiAgICAgICAgIFBsZWFzZSByZWZlcmVuY2UgTG9jYXRlUHJv dG9jb2wgZm9yIGVycm9yIGNvZGUNCj4gZGV0YWlscy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0xpYkZ2YkZsYXNoRGV2aWNlU3VwcG9ydEluaXQgKA0KPiArICBJ TiBFRklfSEFORExFICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFC TEUgICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTIFN0YXR1czsN Cj4gKyAgRUZJX0VWRU5UICBFdmVudDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAg ICAgU2ZJZFszXTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgRmxhc2hJbmRl eDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgU3BpUmVhZEVycm9yOw0KPiAr ICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBTcGlOb3RNYXRjaEVycm9yOw0KPiArICBF RklfU01NX0JBU0UyX1BST1RPQ09MICAgICAgICpTbW1CYXNlOw0KPiArICBCT09MRUFOICAgICAg ICAgICAgICAgICAgICAgICBJblNtbTsNCj4gKw0KPiArICBTcGlSZWFkRXJyb3IgICAgID0gMHgw MDsNCj4gKyAgU3BpTm90TWF0Y2hFcnJvciA9IDB4MDA7DQo+ICsNCj4gKyAgSW5TbW0gPSBGQUxT RTsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAg ICAgICAmZ0VmaVNtbUJhc2UyUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZTbW1CYXNlDQo+ICsgICAgICAgICAg ICAgICAgICApOw0KPiArICBpZiAoIUVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgU3RhdHVz ID0gU21tQmFzZS0+SW5TbW0oU21tQmFzZSwgJkluU21tKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9S KFN0YXR1cykpIHsNCj4gKyAgICAgIEluU21tID0gRkFMU0U7DQo+ICsgICAgfQ0KPiArICB9DQo+ ICsNCj4gKyAgaWYgKCFJblNtbSkgew0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlTcGlQcm90b2NvbEd1aWQsDQo+ICsgICAg ICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJm1TcGlQ cm90b2NvbA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9S IChTdGF0dXMpOw0KPiArDQo+ICsgICAgU3RhdHVzID0gZ0JTLT5DcmVhdGVFdmVudEV4ICgNCj4g KyAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMLA0KPiArICAgICAgICAgICAgICAg ICAgVFBMX05PVElGWSwNCj4gKyAgICAgICAgICAgICAgICAgIExpYkZ2YkZsYXNoRGV2aWNlVmly dHVhbEFkZHJlc3NDaGFuZ2VOb3RpZnlFdmVudCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUV2ZW50VmlydHVhbEFkZHJlc3NDaGFuZ2VHdWlk LA0KPiArICAgICAgICAgICAgICAgICAgJkV2ZW50DQo+ICsgICAgICAgICAgICAgICAgICApOw0K PiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAg U3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICZn RWZpU21tU3BpUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiAr ICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmbVNwaVByb3RvY29sDQo+ICsgICAgICAgICAg ICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgfQ0K PiArDQo+ICsNCj4gKyAgZm9yIChGbGFzaEluZGV4ID0gRW51bVNwaUZsYXNoVzI1UTY0OyBGbGFz aEluZGV4IDwgRW51bVNwaUZsYXNoTWF4Ow0KPiBGbGFzaEluZGV4KyspIHsNCj4gKyAgICBTdGF0 dXMgPSBtU3BpUHJvdG9jb2wtPkluaXQgKG1TcGlQcm90b2NvbCwgJihtSW5pdFRhYmxlW0ZsYXNo SW5kZXhdKSk7DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIC8v DQo+ICsgICAgICAvLyBSZWFkIFZlbmRvci9EZXZpY2UgSURzIHRvIGNoZWNrIGlmIHRoZSBkcml2 ZXIgc3VwcG9ydHMgdGhlIFNlcmlhbCBGbGFzaA0KPiBkZXZpY2UuDQo+ICsgICAgICAvLw0KPiAr ICAgICAgU3RhdHVzID0gbVNwaVByb3RvY29sLT5FeGVjdXRlICgNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBtU3BpUHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgU1BJX1JFQURfSUQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg U1BJX1dSRU4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBGQUxTRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAw LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDMsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU2ZJZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBFbnVtU3BpUmVnaW9uQWxsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgIGlmICgoU2ZJ ZFswXSA9PSBtSW5pdFRhYmxlW0ZsYXNoSW5kZXhdLlZlbmRvcklkKSAgJiYNCj4gKyAgICAgICAg ICAgIChTZklkWzFdID09IG1Jbml0VGFibGVbRmxhc2hJbmRleF0uRGV2aWNlSWQwKSAmJg0KPiAr ICAgICAgICAgICAgKFNmSWRbMl0gPT0gbUluaXRUYWJsZVtGbGFzaEluZGV4XS5EZXZpY2VJZDEp KSB7DQo+ICsgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgLy8gRm91bmQgYSBtYXRjaGlu ZyBTUEkgZGV2aWNlLCBGbGFzaEluZGV4IG5vdyBjb250YWlucyBmbGFzaCBkZXZpY2UuDQo+ICsg ICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgREVCVUcgKChERUJVR19FUlJPUiwgIk9LIC0g Rm91bmQgU1BJIEZsYXNoIFR5cGUgaW4gU1BJIEZsYXNoDQo+IERyaXZlciwgRGV2aWNlIFR5cGUg SUQgMCA9IDB4JTAyeCFcbiIsIG1Jbml0VGFibGVbRmxhc2hJbmRleF0uRGV2aWNlSWQwKSk7DQo+ ICsgICAgICAgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiRGV2aWNlIFR5cGUgSUQgMSA9IDB4 JTAyeCFcbiIsDQo+IG1Jbml0VGFibGVbRmxhc2hJbmRleF0uRGV2aWNlSWQxKSk7DQo+ICsNCj4g KyAgICAgICAgICAgIGlmIChtSW5pdFRhYmxlW0ZsYXNoSW5kZXhdLkJpb3NTdGFydE9mZnNldCA9 PSAoVUlOVE4pICgtMSkpIHsNCj4gKyAgICAgICAgICAgICAgREVCVUcgKChERUJVR19FUlJPUiwg IkVSUk9SIC0gVGhlIHNpemUgb2YgQklPUyBpbWFnZSBpcyBiaWdnZXINCj4gdGhhbiBTUEkgRmxh c2ggZGV2aWNlIVxuIikpOw0KPiArICAgICAgICAgICAgICBDcHVEZWFkTG9vcCAoKTsNCj4gKyAg ICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICB9IGVsc2Ugew0K PiArICAgICAgICAgIFNwaU5vdE1hdGNoRXJyb3IrKzsNCj4gKyAgICAgICAgfQ0KPiArICAgICAg fSBlbHNlIHsNCj4gKyAgICAgICAgU3BpUmVhZEVycm9yKys7DQo+ICsgICAgICB9DQo+ICsgICAg fQ0KPiArICB9DQo+ICsNCj4gKyAgREVCVUcgKChERUJVR19FUlJPUiwgIlNQSSBmbGFzaCBjaGlw IFZJRCA9IDB4JVgsIERJRDAgPSAweCVYLCBESUQxID0NCj4gMHglWFxuIiwgU2ZJZFswXSwgU2ZJ ZFsxXSwgU2ZJZFsyXSkpOw0KPiArDQo+ICsgIGlmIChGbGFzaEluZGV4IDwgRW51bVNwaUZsYXNo TWF4KSAgew0KPiArICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgfSBlbHNlIHsNCj4gKyAg aWYgKFNwaVJlYWRFcnJvciAhPSAwKSB7DQo+ICsgICAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAi RVJST1IgLSBTUEkgUmVhZCBJRCBleGVjdXRpb24gZmFpbGVkISBFcnJvcg0KPiBDb3VudCA9ICVk XG4iLCBTcGlSZWFkRXJyb3IpKTsNCj4gKyAgIH0NCj4gKyAgICBlbHNlIHsNCj4gKyAgICAgIGlm IChTcGlOb3RNYXRjaEVycm9yICE9IDApIHsNCj4gKyAgICAgICAgREVCVUcgKChERUJVR19FUlJP UiwgIkVSUk9SIC0gTm8gc3VwcG9ydGVkIFNQSSBmbGFzaCBjaGlwIGZvdW5kIQ0KPiBFcnJvciBD b3VudCA9ICVkXG4iLCBTcGlOb3RNYXRjaEVycm9yKSk7DQo+ICsgICAgICAgIERFQlVHICgoREVC VUdfRVJST1IsICJTUEkgZmxhc2ggY2hpcCBWSUQgPSAweCVYLCBESUQwID0gMHglWCwgRElEMQ0K PiA9IDB4JVhcbiIsIFNmSWRbMF0sIFNmSWRbMV0sIFNmSWRbMl0pKTsNCj4gKyAgICAgIH0NCj4g KyAgICB9DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArfQ0KPiAr DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L0ZsYXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNlTGliLmluDQo+IGYNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0ZsYXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNl TGliLmkNCj4gbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u NGVmNDhjYzEyYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIvRmxhc2hEZXZpY2VMaWIuaQ0K PiBuZg0KPiBAQCAtMCwwICsxLDQ0IEBADQo+ICsjDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykg IDE5OTkgIC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4g KyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g KyMNCj4gKyMNCj4gKyMNCj4gKw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04g ICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAg ICAgICAgICAgICAgPSBGbGFzaERldmljZUxpYg0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAg ICAgICAgICAgPSBFMzhBMUMzQy05MjhDLTRiZjctQjZDMS03RjBFRjE2M0ZBQTUNCj4gKyAgTU9E VUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gRFhFX0RSSVZFUg0KPiArICBWRVJTSU9OX1NU UklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAg ICAgICAgID0gRmxhc2hEZXZpY2VMaWIgfCBEWEVfU01NX0RSSVZFUg0KPiBEWEVfUlVOVElNRV9E UklWRVINCj4gKyAgQ09OU1RSVUNUT1IgICAgICAgICAgICAgICAgICAgID0gTGliRnZiRmxhc2hE ZXZpY2VTdXBwb3J0SW5pdA0KPiArDQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZv cm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4g YnVpbGQgdG9vbHMuDQo+ICsjDQo+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9 IElBMzIgWDY0DQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBGbGFzaERldmljZUxpYi5j DQo+ICsNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBN ZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0 Zm9ybVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQ a2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgRGVidWdMaWINCj4gKw0KPiAr W1Byb3RvY29sc10NCj4gKyAgZ0VmaVNwaVByb3RvY29sR3VpZA0KPiArICBnRWZpU21tU3BpUHJv dG9jb2xHdWlkDQo+ICsgIGdFZmlTbW1CYXNlMlByb3RvY29sR3VpZA0KPiArDQo+IGRpZmYgLS1n aXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0ZsYXNoRGV2 aWNlTGliL0ZsYXNoRGV2aWNlTGliRA0KPiB4ZS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFzaERldmljZUxpYkQNCj4geGUu Yw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jZjQ2NzdlZDg4 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFzaERldmljZUxpYkQNCj4geGUuYw0KPiBA QCAtMCwwICsxLDU2IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIw MDQgIC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICsNCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsNCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L0ZsYXNoRGV2aWNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFy eS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1 ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsjaW5jbHVkZSAiU3BpQ2hpcERlZmluaXRpb25zLmgi DQo+ICsNCj4gK2V4dGVybiBVSU5UTiBGbGFzaERldmljZUJhc2U7DQo+ICsNCj4gK2V4dGVybiBF RklfU1BJX1BST1RPQ09MICptU3BpUHJvdG9jb2w7DQo+ICsNCj4gKy8qKg0KPiArICBUaGUgbGli cmFyeSBjb25zdHJ1Y3R1b3IuDQo+ICsNCj4gKyAgVGhlIGZ1bmN0aW9uIGRvZXMgdGhlIG5lY2Vz c2FyeSBpbml0aWFsaXphdGlvbiB3b3JrIGZvciB0aGlzIGxpYnJhcnkNCj4gKyAgaW5zdGFuY2Uu IFBsZWFzZSBwdXQgYWxsIGluaXRpYWxpemF0aW9uIHdvcmtzIGluIGl0Lg0KPiArDQo+ICsgIEBw YXJhbVtpbl0gIEltYWdlSGFuZGxlICAgICAgIFRoZSBmaXJtd2FyZSBhbGxvY2F0ZWQgaGFuZGxl IGZvciB0aGUgVUVGSQ0KPiBpbWFnZS4NCj4gKyAgQHBhcmFtW2luXSAgU3lzdGVtVGFibGUgICAg ICAgQSBwb2ludGVyIHRvIHRoZSBFRkkgc3lzdGVtIHRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwg ICAgIEVGSV9TVUNDRVNTICAgICAgIFRoZSBmdW5jdGlvbiBhbHdheXMgcmV0dXJuIEVGSV9TVUND RVNTIGZvcg0KPiBub3cuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEl0IHdp bGwgQVNTRVJUIG9uIGVycm9yIGZvciBkZWJ1ZyB2ZXJzaW9uLg0KPiArICBAcmV0dmFsICAgICBF RklfRVJST1IgICAgICAgICBQbGVhc2UgcmVmZXJlbmNlIExvY2F0ZVByb3RvY29sIGZvciBlcnJv ciBjb2RlDQo+IGRldGFpbHMuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJ DQo+ICtMaWJGdmJGbGFzaERldmljZVN1cHBvcnRJbml0ICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAg ICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAgKlN5c3RlbVRh YmxlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyBTdGF0dXM7DQo+ICsgIFN0YXR1cyA9 IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlTcGlQcm90 b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg ICAgKFZPSUQgKiopJm1TcGlQcm90b2NvbA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg QVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgLy8gVGhlcmUgaXMgbm8gbmVlZCB0byBj YWxsIEluaXQsIGJlY2F1c2UgUnVudGltZSBvciBTTU0gRlZCIGFscmVhZHkgZG9lcw0KPiB0aGF0 Lg0KPiArICBERUJVRygoRUZJX0RfRVJST1IsICJMaWJGdmJGbGFzaERldmljZVN1cHBvcnRJbml0 IC0gbm8gaW5pdFxuIikpOw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4g ZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkv Rmxhc2hEZXZpY2VMaWIvRmxhc2hEZXZpY2VMaWJEDQo+IHhlLmluZg0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIvRmxhc2hEZXZpY2VM aWJEDQo+IHhlLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li4yMjM3ZTk1NzgxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFzaERldmljZUxpYkQN Cj4geGUuaW5mDQo+IEBAIC0wLDAgKzEsNDMgQEANCj4gKyMNCj4gKyMNCj4gKyMgQ29weXJpZ2h0 IChjKSAgMTk5OSAgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZA0KPiArIw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArIw0KPiArIw0KPiArIw0KPiArDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBJTkZfVkVS U0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAg ICAgICAgICAgICAgICAgICA9IEZsYXNoRGV2aWNlTGliRHhlDQo+ICsgIEZJTEVfR1VJRCAgICAg ICAgICAgICAgICAgICAgICA9IEYwRDcyMjJGLUZENDMtNEE1RC1COEJGLUEyNTlDODdBRTNCMg0K PiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBEWEVfRFJJVkVSDQo+ICsgIFZF UlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBMSUJSQVJZX0NMQVNTICAg ICAgICAgICAgICAgICAgPSBGbGFzaERldmljZUxpYiB8IERYRV9EUklWRVINCj4gKyAgQ09OU1RS VUNUT1IgICAgICAgICAgICAgICAgICAgID0gTGliRnZiRmxhc2hEZXZpY2VTdXBwb3J0SW5pdA0K PiArDQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVm ZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsj DQo+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0DQo+ICsjDQo+ ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBGbGFzaERldmljZUxpYi5jDQo+ICsgIEZsYXNoRGV2aWNl TGliRHhlLmMNCj4gKw0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVj DQo+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNl UmVmQ29kZVBrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBEZWJ1Z0xpYg0K PiArDQo+ICtbUHJvdG9jb2xzXQ0KPiArICBnRWZpU3BpUHJvdG9jb2xHdWlkDQo+ICsNCj4gZGlm ZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRmxh c2hEZXZpY2VMaWIvRmxhc2hEZXZpY2VMaWJEDQo+IHhlUnVudGltZVNtbS5jDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFzaERl dmljZUxpYkQNCj4geGVSdW50aW1lU21tLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k ZXggMDAwMDAwMDAwMC4uZGYzOTVmYmMwMw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIvRmxh c2hEZXZpY2VMaWJEDQo+IHhlUnVudGltZVNtbS5jDQo+IEBAIC0wLDAgKzEsMTczIEBADQo+ICsv KiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNiwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICsqKi8N Cj4gKw0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Zs YXNoRGV2aWNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RT ZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpUnVudGltZVNlcnZp Y2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlSdW50aW1lTGliLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9j b2wvU21tQmFzZTIuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0V2ZW50R3JvdXAuaD4NCj4gKyNpbmNs dWRlICJTcGlDaGlwRGVmaW5pdGlvbnMuaCINCj4gKw0KPiArZXh0ZXJuIFVJTlROIEZsYXNoRGV2 aWNlQmFzZTsNCj4gKw0KPiArZXh0ZXJuIEVGSV9TUElfUFJPVE9DT0wgKm1TcGlQcm90b2NvbDsN Cj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtMaWJGdmJGbGFzaERldmljZVZpcnR1YWxBZGRy ZXNzQ2hhbmdlTm90aWZ5RXZlbnQgKA0KPiArICBJTiBFRklfRVZFTlQgICAgICAgIEV2ZW50LA0K PiArICBJTiBWT0lEICAgICAgICAgICAgICpDb250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyAgZ1JU LT5Db252ZXJ0UG9pbnRlciAoMCwgKFZPSUQgKiopICZtU3BpUHJvdG9jb2wpOw0KPiArICBnUlQt PkNvbnZlcnRQb2ludGVyICgwLCAoVk9JRCAqKikgJkZsYXNoRGV2aWNlQmFzZSk7DQo+ICt9DQo+ ICsNCj4gKw0KPiArLyoqDQo+ICsgIFRoZSBsaWJyYXJ5IGNvbnN0cnVjdHVvci4NCj4gKw0KPiAr ICBUaGUgZnVuY3Rpb24gZG9lcyB0aGUgbmVjZXNzYXJ5IGluaXRpYWxpemF0aW9uIHdvcmsgZm9y IHRoaXMgbGlicmFyeQ0KPiArICBpbnN0YW5jZS4gUGxlYXNlIHB1dCBhbGwgaW5pdGlhbGl6YXRp b24gd29ya3MgaW4gaXQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgSW1hZ2VIYW5kbGUgICAgICAg VGhlIGZpcm13YXJlIGFsbG9jYXRlZCBoYW5kbGUgZm9yIHRoZSBVRUZJDQo+IGltYWdlLg0KPiAr ICBAcGFyYW1baW5dICBTeXN0ZW1UYWJsZSAgICAgICBBIHBvaW50ZXIgdG8gdGhlIEVGSSBzeXN0 ZW0gdGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCAgICAgRUZJX1NVQ0NFU1MgICAgICAgVGhlIGZ1 bmN0aW9uIGFsd2F5cyByZXR1cm4gRUZJX1NVQ0NFU1MgZm9yDQo+IG5vdy4NCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgSXQgd2lsbCBBU1NFUlQgb24gZXJyb3IgZm9yIGRlYnVn IHZlcnNpb24uDQo+ICsgIEByZXR2YWwgICAgIEVGSV9FUlJPUiAgICAgICAgIFBsZWFzZSByZWZl cmVuY2UgTG9jYXRlUHJvdG9jb2wgZm9yIGVycm9yIGNvZGUNCj4gZGV0YWlscy4NCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0xpYkZ2YkZsYXNoRGV2aWNlU3VwcG9y dEluaXQgKA0KPiArICBJTiBFRklfSEFORExFICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElO IEVGSV9TWVNURU1fVEFCTEUgICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklf U1RBVFVTIFN0YXR1czsNCj4gKyAgRUZJX0VWRU5UICBFdmVudDsNCj4gKyAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAgICAgU2ZJZFszXTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgICAgRmxhc2hJbmRleDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgU3Bp UmVhZEVycm9yOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBTcGlOb3RNYXRj aEVycm9yOw0KPiArICBFRklfU01NX0JBU0UyX1BST1RPQ09MICAgICAgICpTbW1CYXNlOw0KPiAr ICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICBJblNtbTsNCj4gKw0KPiArICBTcGlSZWFk RXJyb3IgICAgID0gMHgwMDsNCj4gKyAgU3BpTm90TWF0Y2hFcnJvciA9IDB4MDA7DQo+ICsNCj4g KyAgSW5TbW0gPSBGQUxTRTsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ ICsgICAgICAgICAgICAgICAgICAmZ0VmaVNtbUJhc2UyUHJvdG9jb2xHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZTbW1CYXNl DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoIUVGSV9FUlJPUihTdGF0dXMpKSB7 DQo+ICsgICAgU3RhdHVzID0gU21tQmFzZS0+SW5TbW0oU21tQmFzZSwgJkluU21tKTsNCj4gKyAg ICBpZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICAgIEluU21tID0gRkFMU0U7DQo+ICsg ICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgaWYgKCFJblNtbSkgew0KPiArICAgIFN0YXR1cyA9IGdC Uy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlTcGlQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAg KFZPSUQgKiopJm1TcGlQcm90b2NvbA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBB U1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgICAgU3RhdHVzID0gZ0JTLT5DcmVh dGVFdmVudEV4ICgNCj4gKyAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMLA0KPiAr ICAgICAgICAgICAgICAgICAgVFBMX05PVElGWSwNCj4gKyAgICAgICAgICAgICAgICAgIExpYkZ2 YkZsYXNoRGV2aWNlVmlydHVhbEFkZHJlc3NDaGFuZ2VOb3RpZnlFdmVudCwNCj4gKyAgICAgICAg ICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUV2ZW50VmlydHVhbEFk ZHJlc3NDaGFuZ2VHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgJkV2ZW50DQo+ICsgICAgICAg ICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4g KyAgfSBlbHNlIHsNCj4gKyAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAg ICAgICAgICAgICAgICAgICAgJmdFZmlTbW1TcGlQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAg ICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZtU3BpUHJv dG9jb2wNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9S IChTdGF0dXMpOw0KPiArICB9DQo+ICsNCj4gKw0KPiArICBmb3IgKEZsYXNoSW5kZXggPSBFbnVt U3BpRmxhc2hXMjVRNjQ7IEZsYXNoSW5kZXggPCBFbnVtU3BpRmxhc2hNYXg7DQo+IEZsYXNoSW5k ZXgrKykgew0KPiArICAgIFN0YXR1cyA9IG1TcGlQcm90b2NvbC0+SW5pdCAobVNwaVByb3RvY29s LCAmKG1Jbml0VGFibGVbRmxhc2hJbmRleF0pKTsNCj4gKyAgICBpZiAoIUVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFJlYWQgVmVuZG9yL0RldmljZSBJRHMg dG8gY2hlY2sgaWYgdGhlIGRyaXZlciBzdXBwb3J0cyB0aGUgU2VyaWFsIEZsYXNoDQo+IGRldmlj ZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdGF0dXMgPSBtU3BpUHJvdG9jb2wtPkV4ZWN1dGUg KA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TcGlQcm90b2NvbCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTUElfUkVBRF9JRCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTUElfV1JFTiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg MywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTZklkLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVudW1TcGlSZWdpb25BbGwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4gKyAgICAgICAgaWYgKChTZklkWzBdID09IG1Jbml0VGFibGVbRmxhc2hJbmRleF0uVmVuZG9y SWQpICAmJg0KPiArICAgICAgICAgICAgKFNmSWRbMV0gPT0gbUluaXRUYWJsZVtGbGFzaEluZGV4 XS5EZXZpY2VJZDApICYmDQo+ICsgICAgICAgICAgICAoU2ZJZFsyXSA9PSBtSW5pdFRhYmxlW0Zs YXNoSW5kZXhdLkRldmljZUlkMSkpIHsNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAg ICAvLyBGb3VuZCBhIG1hdGNoaW5nIFNQSSBkZXZpY2UsIEZsYXNoSW5kZXggbm93IGNvbnRhaW5z IGZsYXNoIGRldmljZS4NCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICBERUJVRyAo KEVGSV9EX0VSUk9SLCAiT0sgLSBGb3VuZCBTUEkgRmxhc2ggVHlwZSBpbiBTUEkgRmxhc2ggRHJp dmVyLA0KPiBEZXZpY2UgVHlwZSBJRCAwID0gMHglMDJ4IVxuIiwgbUluaXRUYWJsZVtGbGFzaElu ZGV4XS5EZXZpY2VJZDApKTsNCj4gKyAgICAgICAgICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJE ZXZpY2UgVHlwZSBJRCAxID0gMHglMDJ4IVxuIiwNCj4gbUluaXRUYWJsZVtGbGFzaEluZGV4XS5E ZXZpY2VJZDEpKTsNCj4gKw0KPiArICAgICAgICAgICAgaWYgKG1Jbml0VGFibGVbRmxhc2hJbmRl eF0uQmlvc1N0YXJ0T2Zmc2V0ID09IChVSU5UTikgKC0xKSkgew0KPiArICAgICAgICAgICAgICBE RUJVRyAoKEVGSV9EX0VSUk9SLCAiRVJST1IgLSBUaGUgc2l6ZSBvZiBCSU9TIGltYWdlIGlzIGJp Z2dlcg0KPiB0aGFuIFNQSSBGbGFzaCBkZXZpY2UhXG4iKSk7DQo+ICsgICAgICAgICAgICAgIENw dURlYWRMb29wICgpOw0KPiArICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgU3BpTm90TWF0Y2hFcnJvcisrOw0KPiAr ICAgICAgICB9DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAgICAgICBTcGlSZWFkRXJyb3IrKzsN Cj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0VS Uk9SLCAiU1BJIGZsYXNoIGNoaXAgVklEID0gMHglWCwgRElEMCA9IDB4JVgsIERJRDEgPQ0KPiAw eCVYXG4iLCBTZklkWzBdLCBTZklkWzFdLCBTZklkWzJdKSk7DQo+ICsNCj4gKyAgaWYgKEZsYXNo SW5kZXggPCBFbnVtU3BpRmxhc2hNYXgpICB7DQo+ICsgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0K PiArICB9IGVsc2Ugew0KPiArICBpZiAoU3BpUmVhZEVycm9yICE9IDApIHsNCj4gKyAgICAgIERF QlVHICgoRUZJX0RfRVJST1IsICJFUlJPUiAtIFNQSSBSZWFkIElEIGV4ZWN1dGlvbiBmYWlsZWQh IEVycm9yDQo+IENvdW50ID0gJWRcbiIsIFNwaVJlYWRFcnJvcikpOw0KPiArICAgfQ0KPiArICAg IGVsc2Ugew0KPiArICAgICAgaWYgKFNwaU5vdE1hdGNoRXJyb3IgIT0gMCkgew0KPiArICAgICAg ICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRVJST1IgLSBObyBzdXBwb3J0ZWQgU1BJIGZsYXNoIGNo aXAgZm91bmQhDQo+IEVycm9yIENvdW50ID0gJWRcbiIsIFNwaU5vdE1hdGNoRXJyb3IpKTsNCj4g KyAgICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIlNQSSBmbGFzaCBjaGlwIFZJRCA9IDB4JVgs IERJRDAgPSAweCVYLCBESUQxID0NCj4gMHglWFxuIiwgU2ZJZFswXSwgU2ZJZFsxXSwgU2ZJZFsy XSkpOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ow0KPiArICB9DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIvU3BpQ2hpcERlZmluaXRpbw0K PiBucy5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9GbGFz aERldmljZUxpYi9TcGlDaGlwRGVmaW5pdGlvDQo+IG5zLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYzIwZWU2ZTM3Mg0KPiAtLS0gL2Rldi9udWxsDQo+ICsr Kw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvRmxhc2hEZXZp Y2VMaWIvU3BpQ2hpcERlZmluaXRpbw0KPiBucy5oDQo+IEBAIC0wLDAgKzEsODM1IEBADQo+ICsv KiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNiwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICsqKi8N Cj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvU3BpRmxhc2guSD4NCj4gKw0KPiArI2RlZmluZSBG TEFTSF9TSVpFICAweDQwMDAwMA0KPiArI2RlZmluZSBGTEFTSF9ERVZJQ0VfQkFTRV9BRERSRVNT ICgweEZGRkZGRkZGLUZMQVNIX1NJWkUrMSkNCj4gKw0KPiArLy8NCj4gKy8vIFNlcmlhbCBGbGFz aCBkZXZpY2UgaW5pdGlhbGl6YXRpb24gZGF0YSB0YWJsZSBwcm92aWRlZCB0byB0aGUNCj4gKy8v IEludGVsKFIpIFNQSSBIb3N0IENvbnRyb2xsZXIgQ29tcGF0aWJpbGl0eSBJbnRlcmZhY2UuDQo+ ICsvLw0KPiArU1BJX0lOSVRfVEFCTEUgIG1Jbml0VGFibGVbXSA9IHsNCj4gKyAgew0KPiArICBT Rl9WRU5ET1JfSURfV0lOQk9ORCwgICAgIC8vIFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBf VzI1UVhYLCAgICAgLy8gRGV2aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX1cyNVE2NCwgICAg IC8vIERldmljZUlkIDENCj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8v IFByZWZpeCBPcGNvZGUgMDogV3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9FV1NSICAgICAg ICAgICAgLy8gUHJlZml4IE9wY29kZSAxOiBFbmFibGUgV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9J TlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9u SmVkZWNJZCAgICAgICAgICAgfSwgICAgIC8vIE9wY29kZSAwOiBSZWFkDQo+IElEDQo+ICsgICAg e0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAgICAgU0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51 bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25SZWFkRGF0YSAgICAgICAgICB9LCAg ICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAg ICBTRl9JTlNUX1JEU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVh ZFN0YXR1cyAgICAgICAgfSwgICAgIC8vIE9wY29kZSAyOg0KPiBSZWFkIFN0YXR1cyBSZWdpc3Rl cg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lOU1RfU0ZEUCwgICAg ICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRGlzY292ZXJ5UGFy YW1ldGVyc30sICAgIC8vIE9wY29kZSAzOiBTZXJpYWwgRmxhc2gNCj4gRGlzY292ZXJ5IFBhcmFt ZXRlcnMNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFT RSwgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRL X0J5dGUgICAgIH0sICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAg e0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVt U3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRlICAgIH0sICAgICAv LyBPcGNvZGUgNToNCj4gQmxvY2sgRXJhc2UgKDY0S0INCj4gKyAgICB7RW51bVNwaU9wY29kZVdy aXRlLCAgICAgICAgICBTRl9JTlNUX1BST0csICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwN Cj4gRW51bVNwaU9wZXJhdGlvblByb2dyYW1EYXRhXzFfQnl0ZX0sICAgICAvLyBPcGNvZGUgNjog Qnl0ZSBQcm9ncmFtDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5T VF9XUlNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldyaXRlU3RhdHVz ICAgICAgIH0sICAgICAvLyBPcGNvZGUgNzoNCj4gV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsg IH0sDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIG9mZnNldCBvZiB0aGUgc3RhcnQgb2YgdGhl IEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0NCj4gc3BlY2lmaWMN Cj4gKyAgLy8gYW5kIGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIElmIEJJT1Mgc2l6 ZSBpcyBiaWdnZXIgdGhhbiBmbGFzaA0KPiByZXR1cm4gLTEuDQo+ICsgIC8vDQo+ICsgICgoV0lO Qk9ORF9XMjVRNjRfU0laRSA+PSBGTEFTSF9TSVpFKSA/IFdJTkJPTkRfVzI1UTY0X1NJWkUgLQ0K PiBGTEFTSF9TSVpFIDogKFVJTlROKSAoLTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUg c2l6ZSBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBz cGVjaWZpYyBhbmQNCj4gZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAgLy8N Cj4gKyAgRkxBU0hfU0laRQ0KPiArICB9LA0KPiArICB7DQo+ICsgIFNGX1ZFTkRPUl9JRF9BVE1F TCwgICAgICAgLy8gVmVuZG9ySWQNCj4gKyAgU0ZfREVWSUNFX0lEMF9BVDI1REYzMjFBLCAgLy8g RGV2aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX0FUMjVERjMyMUEsIC8vIERldmljZUlkIDEN Cj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUg MDogV3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9XUkVOICAgICAgICAgICAgLy8gUHJlZml4 IE9wY29kZSAxOiBXcml0ZSBFbmFibGUgKHRoaXMgcGFydCBkb2Vzbid0DQo+IHN1cHBvcnQgRVdT UikuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAg ICBTRl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3Bl cmF0aW9uSmVkZWNJZCAgICAgICAgICAgfSwgICAgIC8vIE9wY29kZSAwOiBSZWFkDQo+IElEDQo+ ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAgICAgU0ZfSU5TVF9SRUFELCAgICAgICAg ICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25SZWFkRGF0YSAgICAgICAg ICB9LCAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0Fk ZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0 aW9uUmVhZFN0YXR1cyAgICAgICAgfSwgICAgIC8vIE9wY29kZSAyOg0KPiBSZWFkIFN0YXR1cyBS ZWdpc3Rlcg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNGX0lOU1RfV1JE SSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZURpc2FibGUgICAg ICB9LCAgICAgLy8gT3Bjb2RlIDM6DQo+IFdyaXRlIERpc2FibGUNCj4gKyAgICB7RW51bVNwaU9w Y29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFTRSwgICAgICAgICBFbnVtU3BpQ3ljbGU1 ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5dGUgICAgIH0sICAgICAvLyBPcGNv ZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAg ICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9w ZXJhdGlvbkVyYXNlXzY0S19CeXRlICAgIH0sICAgICAvLyBPcGNvZGUgNToNCj4gQmxvY2sgRXJh c2UgKDMyS0IpDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9Q Uk9HLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25Qcm9n cmFtRGF0YV8xX0J5dGV9LCAgICAgLy8gT3Bjb2RlIDY6IEJ5dGUgUHJvZ3JhbQ0KPiArICAgIHtF bnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNGX0lOU1RfV1JTUiwNCj4gRW51bVNwaUN5Y2xl NTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0YXR1cyAgICAgICB9LCAgICAgLy8gT3Bjb2Rl IDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBU aGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9u IHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gN Cj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAoKEFUTUVMX0FUMjVERjMyMUFfU0laRSA+PSBG TEFTSF9TSVpFKSA/IEFUTUVMX0FUMjVERjMyMUFfU0laRSAtDQo+IEZMQVNIX1NJWkUgOiAoVUlO VE4pICgtMSkpLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRoZSBCSU9TIGlt YWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZA0KPiBkZXBl bmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFTSF9TSVpFDQo+ ICsgIH0sDQo+ICsgIHsNCj4gKyAgU0ZfVkVORE9SX0lEX0FUTUVMLCAgICAgICAvLyBWZW5kb3JJ ZA0KPiArICBTRl9ERVZJQ0VfSUQwX0FUMjZERjMyMSwgIC8vIERldmljZUlkIDANCj4gKyAgU0Zf REVWSUNFX0lEMV9BVDI2REYzMjEsICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4gKyAgICBTRl9J TlNUX1dSRU4sICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0KPiAr ICAgIFNGX0lOU1RfV1JFTiAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogV3JpdGUgRW5h YmxlICh0aGlzIHBhcnQgZG9lc24ndA0KPiBzdXBwb3J0IEVXU1IpLg0KPiArICB9LA0KPiArICB7 DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9KRURFQ19SRUFE X0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkplZGVjSWQgICAgICAg ICAgIH0sICAgICAvLyBPcGNvZGUgMDogUmVhZA0KPiBJRA0KPiArICAgIHtFbnVtU3BpT3Bjb2Rl UmVhZCwgICAgICAgICAgIFNGX0lOU1RfUkVBRCwgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6 LA0KPiBFbnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgICAgICAgICAgfSwgICAgIC8vIE9wY29kZSAx OiBSZWFkDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9SRFNS LA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvblJlYWRTdGF0dXMgICAgICAg IH0sICAgICAvLyBPcGNvZGUgMjoNCj4gUmVhZCBTdGF0dXMgUmVnaXN0ZXINCj4gKyAgICB7RW51 bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSREksDQo+IEVudW1TcGlDeWNsZTUw TUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVEaXNhYmxlICAgICAgfSwgICAgIC8vIE9wY29kZSAz Og0KPiBXcml0ZSBEaXNhYmxlDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAg U0ZfSU5TVF9TRVJBU0UsICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVy YXRpb25FcmFzZV80S19CeXRlICAgICB9LCAgICAgLy8gT3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAo NEtCKQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfNjRLQl9F UkFTRSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25FcmFzZV82NEtfQnl0 ZSAgICB9LCAgICAgLy8gT3Bjb2RlIDU6DQo+IEJsb2NrIEVyYXNlICgzMktCKQ0KPiArICAgIHtF bnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfUFJPRywgICAgICAgICAgIEVudW1T cGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUHJvZ3JhbURhdGFfMV9CeXRlfSwgICAg IC8vIE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9B ZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0 aW9uV3JpdGVTdGF0dXMgICAgICAgfSwgICAgIC8vIE9wY29kZSA3Og0KPiBXcml0ZSBTdGF0dXMg UmVnaXN0ZXINCj4gKyAgfSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgb2Zmc2V0IG9mIHRo ZSBzdGFydCBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9y bQ0KPiBzcGVjaWZpYw0KPiArICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1h cC4gSWYgQklPUyBzaXplIGlzIGJpZ2dlciB0aGFuIGZsYXNoDQo+IHJldHVybiAtMS4NCj4gKyAg Ly8NCj4gKyAgKChBVE1FTF9BVDI2REYzMjFfU0laRSA+PSBGTEFTSF9TSVpFKSA/IEFUTUVMX0FU MjZERjMyMV9TSVpFIC0NCj4gRkxBU0hfU0laRSA6IChVSU5UTikgKC0xKSksDQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gVGhlIHNpemUgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFs dWUgaXMgcGxhdGZvcm0gc3BlY2lmaWMgYW5kDQo+IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFz aCBtYXAuDQo+ICsgIC8vDQo+ICsgIEZMQVNIX1NJWkUNCj4gKyAgfSwNCj4gKyAgew0KPiArICBT Rl9WRU5ET1JfSURfQVRNRUwsICAgICAgIC8vIFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBf QVQyNURGNjQxLCAgLy8gRGV2aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX0FUMjVERjY0MSwg IC8vIERldmljZUlkIDENCj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8v IFByZWZpeCBPcGNvZGUgMDogV3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9XUkVOICAgICAg ICAgICAgLy8gUHJlZml4IE9wY29kZSAxOiBXcml0ZSBFbmFibGUgKHRoaXMgcGFydCBkb2Vzbid0 DQo+IHN1cHBvcnQgRVdTUikuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9wY29k ZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNsZTUw TUh6LCBFbnVtU3BpT3BlcmF0aW9uSmVkZWNJZCAgICAgICAgICAgfSwgICAgIC8vIE9wY29kZSAw OiBSZWFkDQo+IElEDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAgICAgU0ZfSU5T VF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25S ZWFkRGF0YSAgICAgICAgICB9LCAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7RW51bVNw aU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6 LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICAgICAgfSwgICAgIC8vIE9wY29kZSAyOg0K PiBSZWFkIFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIs ICAgIFNGX0lOU1RfV1JESSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25X cml0ZURpc2FibGUgICAgICB9LCAgICAgLy8gT3Bjb2RlIDM6DQo+IFdyaXRlIERpc2FibGUNCj4g KyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFTRSwgICAgICAg ICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5dGUgICAg IH0sICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAge0VudW1TcGlP cGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVtU3BpQ3ljbGU1 ME1IeiwgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRlICAgIH0sICAgICAvLyBPcGNvZGUg NToNCj4gQmxvY2sgRXJhc2UgKDMyS0IpDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAg ICAgICAgU0ZfSU5TVF9QUk9HLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1T cGlPcGVyYXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9LCAgICAgLy8gT3Bjb2RlIDY6IEJ5dGUgUHJv Z3JhbQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNGX0lOU1RfV1JTUiwN Cj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0YXR1cyAgICAgICB9 LCAgICAgLy8gT3Bjb2RlIDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9TIGlt YWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsgIC8v IGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMgYmln Z2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAoKEFUTUVMX0FUMjVE RjY0MV9TSVpFID49IEZMQVNIX1NJWkUpID8gQVRNRUxfQVQyNURGNjQxX1NJWkUgLQ0KPiBGTEFT SF9TSVpFIDogKFVJTlROKSAoLTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgc2l6ZSBv ZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBzcGVjaWZp YyBhbmQNCj4gZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAgLy8NCj4gKyAg RkxBU0hfU0laRQ0KPiArICB9LA0KPiArICB7DQo+ICsgIFNGX1ZFTkRPUl9JRF9XSU5CT05ELCAg ICAgLy8gVmVuZG9ySWQNCj4gKyAgU0ZfREVWSUNFX0lEMF9XMjVRWFgsICAgICAvLyBEZXZpY2VJ ZCAwDQo+ICsgIFNGX0RFVklDRV9JRDFfVzI1UTE2LCAgICAgLy8gRGV2aWNlSWQgMQ0KPiArICB7 DQo+ICsgICAgU0ZfSU5TVF9XUkVOLCAgICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAwOiBXcml0 ZSBFbmFibGUNCj4gKyAgICBTRl9JTlNUX0VXU1IgICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2Rl IDE6IEVuYWJsZSBXcml0ZSBTdGF0dXMgUmVnaXN0ZXINCj4gKyAgfSwNCj4gKyAgew0KPiArICAg IHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwgICAgIFNGX0lOU1RfSkVERUNfUkVBRF9JRCwNCj4g RW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25KZWRlY0lkICAgICAgICAgICB9LCAg ICAgLy8gT3Bjb2RlIDA6IFJlYWQNCj4gSUQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWQsICAg ICAgICAgICBTRl9JTlNUX1JFQUQsICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51 bVNwaU9wZXJhdGlvblJlYWREYXRhICAgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMTogUmVhZA0K PiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwgICAgIFNGX0lOU1RfUkRTUiwNCj4gRW51 bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25SZWFkU3RhdHVzICAgICAgICB9LCAgICAg Ly8gT3Bjb2RlIDI6DQo+IFJlYWQgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAge0VudW1TcGlPcGNv ZGVSZWFkLCAgICAgICAgICAgU0ZfSU5TVF9TRkRQLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBN SHosDQo+IEVudW1TcGlPcGVyYXRpb25EaXNjb3ZlcnlQYXJhbWV0ZXJzfSwgICAgLy8gT3Bjb2Rl IDM6IFNlcmlhbCBGbGFzaA0KPiBEaXNjb3ZlcnkgUGFyYW1ldGVycw0KPiArICAgIHtFbnVtU3Bp T3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfU0VSQVNFLCAgICAgICAgIEVudW1TcGlDeWNs ZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNEtfQnl0ZSAgICAgfSwgICAgIC8vIE9w Y29kZSA0OiBTZWN0b3IgRXJhc2UgKDRLQikNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAg ICAgICAgICBTRl9JTlNUXzY0S0JfRVJBU0UsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3Bp T3BlcmF0aW9uRXJhc2VfNjRLX0J5dGUgICAgfSwgICAgIC8vIE9wY29kZSA1Og0KPiBCbG9jayBF cmFzZSAoNjRLQg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1Rf UFJPRywgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUHJv Z3JhbURhdGFfMV9CeXRlfSwgICAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4gKyAgICB7 RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1TcGlDeWNs ZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMgICAgICAgfSwgICAgIC8vIE9wY29k ZSA3Og0KPiBXcml0ZSBTdGF0dXMgUmVnaXN0ZXINCj4gKyAgfSwNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBUaGUgb2Zmc2V0IG9mIHRoZSBzdGFydCBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4g VGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybQ0KPiBzcGVjaWZpYw0KPiArICAvLyBhbmQgZGVwZW5kcyBv biB0aGUgc3lzdGVtIGZsYXNoIG1hcC4gSWYgQklPUyBzaXplIGlzIGJpZ2dlciB0aGFuIGZsYXNo DQo+IHJldHVybiAtMS4NCj4gKyAgLy8NCj4gKyAgKChXSU5CT05EX1cyNVExNl9TSVpFID49IEZM QVNIX1NJWkUpID8gV0lOQk9ORF9XMjVRMTZfU0laRSAtDQo+IEZMQVNIX1NJWkUgOiAoVUlOVE4p ICgtMSkpLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRoZSBCSU9TIGltYWdl IGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZA0KPiBkZXBlbmRz IG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFTSF9TSVpFDQo+ICsg IH0sDQo+ICsgIHsNCj4gKyAgU0ZfVkVORE9SX0lEX1dJTkJPTkQsICAgICAvLyBWZW5kb3JJZA0K PiArICBTRl9ERVZJQ0VfSUQwX1cyNVFYWCwgICAgIC8vIERldmljZUlkIDANCj4gKyAgU0ZfREVW SUNFX0lEMV9XMjVRMzIsICAgICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4gKyAgICBTRl9JTlNU X1dSRU4sICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0KPiArICAg IFNGX0lOU1RfRVdTUiAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogRW5hYmxlIFdyaXRl IFN0YXR1cyBSZWdpc3Rlci4NCj4gKyAgfSwNCj4gKyAgew0KPiArICAgIHtFbnVtU3BpT3Bjb2Rl UmVhZE5vQWRkciwgICAgIFNGX0lOU1RfSkVERUNfUkVBRF9JRCwNCj4gRW51bVNwaUN5Y2xlNTBN SHosIEVudW1TcGlPcGVyYXRpb25KZWRlY0lkICAgICAgICAgICB9LCAgICAgLy8gT3Bjb2RlIDA6 IFJlYWQNCj4gSUQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWQsICAgICAgICAgICBTRl9JTlNU X1JFQUQsICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvblJl YWREYXRhICAgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMTogUmVhZA0KPiArICAgIHtFbnVtU3Bp T3Bjb2RlUmVhZE5vQWRkciwgICAgIFNGX0lOU1RfUkRTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHos IEVudW1TcGlPcGVyYXRpb25SZWFkU3RhdHVzICAgICAgICB9LCAgICAgLy8gT3Bjb2RlIDI6DQo+ IFJlYWQgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAg ICAgU0ZfSU5TVF9TRkRQLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlP cGVyYXRpb25EaXNjb3ZlcnlQYXJhbWV0ZXJzfSwgICAgLy8gT3Bjb2RlIDM6IFNlcmlhbCBGbGFz aA0KPiBEaXNjb3ZlcnkgUGFyYW1ldGVycw0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAg ICAgICAgIFNGX0lOU1RfU0VSQVNFLCAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVt U3BpT3BlcmF0aW9uRXJhc2VfNEtfQnl0ZSAgICAgfSwgICAgIC8vIE9wY29kZSA0OiBTZWN0b3Ig RXJhc2UgKDRLQikNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNU XzY0S0JfRVJBU0UsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uRXJhc2Vf NjRLX0J5dGUgICAgfSwgICAgIC8vIE9wY29kZSA1Og0KPiBCbG9jayBFcmFzZSAoNjRLQg0KPiAr ICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfUFJPRywgICAgICAgICAg IEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUHJvZ3JhbURhdGFfMV9CeXRl fSwgICAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4gKyAgICB7RW51bVNwaU9wY29kZVdy aXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3Bp T3BlcmF0aW9uV3JpdGVTdGF0dXMgICAgICAgfSwgICAgIC8vIE9wY29kZSA3Og0KPiBXcml0ZSBT dGF0dXMgUmVnaXN0ZXINCj4gKyAgfSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgb2Zmc2V0 IG9mIHRoZSBzdGFydCBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBw bGF0Zm9ybQ0KPiBzcGVjaWZpYw0KPiArICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZs YXNoIG1hcC4gSWYgQklPUyBzaXplIGlzIGJpZ2dlciB0aGFuIGZsYXNoDQo+IHJldHVybiAtMS4N Cj4gKyAgLy8NCj4gKyAgKChXSU5CT05EX1cyNVEzMl9TSVpFID49IEZMQVNIX1NJWkUpID8gV0lO Qk9ORF9XMjVRMzJfU0laRSAtDQo+IEZMQVNIX1NJWkUgOiAoVUlOVE4pICgtMSkpLA0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlz IHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZA0KPiBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0g Zmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFTSF9TSVpFDQo+ICsgIH0sDQo+ICsgIHsNCj4g KyAgU0ZfVkVORE9SX0lEX1dJTkJPTkQsICAgICAvLyBWZW5kb3JJZA0KPiArICBTRl9ERVZJQ0Vf SUQwX1cyNVhYWCwgICAgIC8vIERldmljZUlkIDANCj4gKyAgU0ZfREVWSUNFX0lEMV9XMjVYMzIs ICAgICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4gKyAgICBTRl9JTlNUX1dSRU4sICAgICAgICAg ICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0KPiArICAgIFNGX0lOU1RfRVdTUiAg ICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogRW5hYmxlIFdyaXRlIFN0YXR1cyBSZWdpc3Rl cg0KPiArICB9LA0KPiArICB7DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAg U0ZfSU5TVF9KRURFQ19SRUFEX0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJh dGlvbkplZGVjSWQgICAgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMDogUmVhZA0KPiBJRA0KPiAr ICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lOU1RfUkVBRCwgICAgICAgICAg IEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgICAgICAgICAg fSwgICAgIC8vIE9wY29kZSAxOiBSZWFkDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRy LCAgICAgU0ZfSU5TVF9SRFNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlv blJlYWRTdGF0dXMgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMjoNCj4gUmVhZCBTdGF0dXMgUmVn aXN0ZXINCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWQsICAgICAgICAgICBTRl9JTlNUX1NGRFAs ICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkRpc2NvdmVy eVBhcmFtZXRlcnN9LCAgICAvLyBPcGNvZGUgMzogU2VyaWFsIEZsYXNoDQo+IERpc2NvdmVyeSBQ YXJhbWV0ZXJzDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9T RVJBU0UsICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25FcmFz ZV80S19CeXRlICAgICB9LCAgICAgLy8gT3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiAr ICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4g RW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25FcmFzZV82NEtfQnl0ZSAgICB9LCAg ICAgLy8gT3Bjb2RlIDU6DQo+IEJsb2NrIEVyYXNlICg2NEtCDQo+ICsgICAge0VudW1TcGlPcGNv ZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9QUk9HLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBN SHosDQo+IEVudW1TcGlPcGVyYXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9LCAgICAgLy8gT3Bjb2Rl IDY6IEJ5dGUgUHJvZ3JhbQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNG X0lOU1RfV1JTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0 YXR1cyAgICAgICB9LCAgICAgLy8gT3Bjb2RlIDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0K PiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9m IHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNp ZmljDQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9T IHNpemUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAo KFdJTkJPTkRfVzI1WDMyX1NJWkUgPj0gRkxBU0hfU0laRSkgPyBXSU5CT05EX1cyNVgzMl9TSVpF IC0NCj4gRkxBU0hfU0laRSA6IChVSU5UTikgKC0xKSksDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g VGhlIHNpemUgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZv cm0gc3BlY2lmaWMgYW5kDQo+IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuDQo+ICsg IC8vDQo+ICsgIEZMQVNIX1NJWkUNCj4gKyAgfSwNCj4gKyAgew0KPiArICBTRl9WRU5ET1JfSURf V0lOQk9ORCwgICAgIC8vIFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBfVzI1WFhYLCAgICAg Ly8gRGV2aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX1cyNVg2NCwgICAgIC8vIERldmljZUlk IDENCj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8vIFByZWZpeCBPcGNv ZGUgMDogV3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9FV1NSICAgICAgICAgICAgLy8gUHJl Zml4IE9wY29kZSAxOiBFbmFibGUgV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgIH0sDQo+ICsg IHsNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX0pFREVDX1JF QURfSUQsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uSmVkZWNJZCAgICAg IH0sICAgICAvLyBPcGNvZGUgMDogUmVhZCBJRA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwg ICAgICAgICAgIFNGX0lOU1RfUkVBRCwgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBF bnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgICAgICB9LCAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4g KyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1T cGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICB9LCAgICAgLy8gT3Bj b2RlIDI6IFJlYWQNCj4gU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFk LCAgICAgICAgICAgU0ZfSU5TVF9TRkRQLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+ IEVudW1TcGlPcGVyYXRpb25EaXNjb3ZlcnlQYXJhbWV0ZXJzfSwgICAgLy8gT3Bjb2RlIDM6IFNl cmlhbCBGbGFzaA0KPiBEaXNjb3ZlcnkgUGFyYW1ldGVycw0KPiArICAgIHtFbnVtU3BpT3Bjb2Rl V3JpdGUsICAgICAgICAgIFNGX0lOU1RfU0VSQVNFLCAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6 LA0KPiBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNEtfQnl0ZSAgfSwgICAgIC8vIE9wY29kZSA0OiBT ZWN0b3IgRXJhc2UgKDRLQikNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBT Rl9JTlNUXzY0S0JfRVJBU0UsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9u RXJhc2VfNjRLX0J5dGUgIH0sICAgICAvLyBPcGNvZGUgNToNCj4gQmxvY2sgRXJhc2UgKDY0S0IN Cj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1BST0csICAgICAg ICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvblByb2dyYW1EYXRhXzFf Qnl0ZX0sICAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4gKyAgICB7RW51bVNwaU9wY29k ZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVt U3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMgICAgfSwgICAgIC8vIE9wY29kZSA3Og0KPiBXcml0ZSBT dGF0dXMgUmVnaXN0ZXINCj4gKyAgfSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgb2Zmc2V0 IG9mIHRoZSBzdGFydCBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBw bGF0Zm9ybQ0KPiBzcGVjaWZpYw0KPiArICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZs YXNoIG1hcC4gSWYgQklPUyBzaXplIGlzIGJpZ2dlciB0aGFuIGZsYXNoDQo+IHJldHVybiAtMS4N Cj4gKyAgLy8NCj4gKyAgKChXSU5CT05EX1cyNVg2NF9TSVpFID49IEZMQVNIX1NJWkUpID8gV0lO Qk9ORF9XMjVYNjRfU0laRSAtDQo+IEZMQVNIX1NJWkUgOiAoVUlOVE4pICgtMSkpLA0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlz IHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZA0KPiBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0g Zmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFTSF9TSVpFDQo+ICsgIH0sDQo+ICsgIHsNCj4g KyAgU0ZfVkVORE9SX0lEX1dJTkJPTkQsICAgICAvLyBWZW5kb3JJZA0KPiArICBTRl9ERVZJQ0Vf SUQwX1cyNVFYWCwgICAgIC8vIERldmljZUlkIDANCj4gKyAgU0ZfREVWSUNFX0lEMV9XMjVRMTI4 LCAgICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4gKyAgICBTRl9JTlNUX1dSRU4sICAgICAgICAg ICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0KPiArICAgIFNGX0lOU1RfRVdTUiAg ICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogRW5hYmxlIFdyaXRlIFN0YXR1cyBSZWdpc3Rl cg0KPiArICB9LA0KPiArICB7DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAg U0ZfSU5TVF9KRURFQ19SRUFEX0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJh dGlvbkplZGVjSWQgICAgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMDogUmVhZA0KPiBJRA0KPiAr ICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lOU1RfUkVBRCwgICAgICAgICAg IEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgICAgICAgICAg fSwgICAgIC8vIE9wY29kZSAxOiBSZWFkDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRy LCAgICAgU0ZfSU5TVF9SRFNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlv blJlYWRTdGF0dXMgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMjoNCj4gUmVhZCBTdGF0dXMgUmVn aXN0ZXINCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWQsICAgICAgICAgICBTRl9JTlNUX1NGRFAs ICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkRpc2NvdmVy eVBhcmFtZXRlcnN9LCAgICAvLyBPcGNvZGUgMzogU2VyaWFsIEZsYXNoDQo+IERpc2NvdmVyeSBQ YXJhbWV0ZXJzDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9T RVJBU0UsICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25FcmFz ZV80S19CeXRlICAgICB9LCAgICAgLy8gT3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiAr ICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4g RW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25FcmFzZV82NEtfQnl0ZSAgICB9LCAg ICAgLy8gT3Bjb2RlIDU6DQo+IEJsb2NrIEVyYXNlICg2NEtCDQo+ICsgICAge0VudW1TcGlPcGNv ZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9QUk9HLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBN SHosDQo+IEVudW1TcGlPcGVyYXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9LCAgICAgLy8gT3Bjb2Rl IDY6IEJ5dGUgUHJvZ3JhbQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNG X0lOU1RfV1JTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0 YXR1cyAgICAgICB9LCAgICAgLy8gT3Bjb2RlIDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0K PiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9m IHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNp ZmljDQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9T IHNpemUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAo KFdJTkJPTkRfVzI1UTEyOF9TSVpFID49IEZMQVNIX1NJWkUpID8gV0lOQk9ORF9XMjVRMTI4X1NJ WkUgLQ0KPiBGTEFTSF9TSVpFIDogKFVJTlROKSAoLTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAv LyBUaGUgc2l6ZSBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0 Zm9ybSBzcGVjaWZpYyBhbmQNCj4gZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4g KyAgLy8NCj4gKyAgRkxBU0hfU0laRQ0KPiArICB9LA0KPiArICB7DQo+ICsgIFNGX1ZFTkRPUl9J RF9NQUNST05JWCwgICAgLy8gVmVuZG9ySWQNCj4gKyAgU0ZfREVWSUNFX0lEMF9NWDI1TFhYLCAg ICAvLyBEZXZpY2VJZCAwDQo+ICsgIFNGX0RFVklDRV9JRDFfTVgyNUwxNiwgICAgLy8gRGV2aWNl SWQgMQ0KPiArICB7DQo+ICsgICAgU0ZfSU5TVF9XUkVOLCAgICAgICAgICAgLy8gUHJlZml4IE9w Y29kZSAwOiBXcml0ZSBFbmFibGUNCj4gKyAgICBTRl9JTlNUX0VXU1IgICAgICAgICAgICAvLyBQ cmVmaXggT3Bjb2RlIDE6ICBXcml0ZSBFbmFibGUgKHRoaXMgcGFydCBkb2Vzbid0DQo+IHN1cHBv cnQgRVdTUikuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0Fk ZHIsICAgICBTRl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVt U3BpT3BlcmF0aW9uSmVkZWNJZCAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDA6IFJlYWQgSUQNCj4g KyAgICB7RW51bVNwaU9wY29kZVJlYWQsICAgICAgICAgICBTRl9JTlNUX1JFQUQsICAgICAgICAg ICBFbnVtU3BpQ3ljbGUzM01IeiwNCj4gRW51bVNwaU9wZXJhdGlvblJlYWREYXRhICAgICAgfSwg ICAgICAvLyBPcGNvZGUgMTogUmVhZA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwg ICAgIFNGX0lOU1RfUkRTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25S ZWFkU3RhdHVzICAgIH0sICAgICAgLy8gT3Bjb2RlIDI6IFJlYWQNCj4gU3RhdHVzIFJlZ2lzdGVy DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAgICAgU0ZfSU5TVF9TRkRQLCAgICAg ICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25EaXNjb3ZlcnlQYXJh bWV0ZXJzfSwgICAgLy8gT3Bjb2RlIDM6IFNlcmlhbCBGbGFzaA0KPiBEaXNjb3ZlcnkgUGFyYW1l dGVycw0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfU0VSQVNF LCAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNEtf Qnl0ZSAgfSwgICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAge0Vu dW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVtU3Bp Q3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRlICB9LCAgICAgIC8vIE9w Y29kZSA1Og0KPiBCbG9jayBFcmFzZSAoNjRLQg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUs ICAgICAgICAgIFNGX0lOU1RfUFJPRywgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBF bnVtU3BpT3BlcmF0aW9uUHJvZ3JhbURhdGFfMV9CeXRlfSwgICAgIC8vIE9wY29kZSA2OiBCeXRl IFByb2dyYW0NCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dS U1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMgICAg fSwgICAgICAvLyBPcGNvZGUgNzoNCj4gV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgIH0sDQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIG9mZnNldCBvZiB0aGUgc3RhcnQgb2YgdGhlIEJJT1Mg aW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0NCj4gc3BlY2lmaWMNCj4gKyAg Ly8gYW5kIGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIElmIEJJT1Mgc2l6ZSBpcyBi aWdnZXIgdGhhbiBmbGFzaA0KPiByZXR1cm4gLTEuDQo+ICsgIC8vDQo+ICsgICgoTUFDUk9OSVhf TVgyNUwxNl9TSVpFID49IEZMQVNIX1NJWkUpID8gTUFDUk9OSVhfTVgyNUwxNl9TSVpFDQo+IC0g RkxBU0hfU0laRSA6IChVSU5UTikgKC0xKSksDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIHNp emUgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0gc3Bl Y2lmaWMgYW5kDQo+IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuDQo+ICsgIC8vDQo+ ICsgIEZMQVNIX1NJWkUNCj4gKyAgfSwNCj4gKyAgew0KPiArICBTRl9WRU5ET1JfSURfTUFDUk9O SVgsICAgIC8vIFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBfTVgyNUxYWCwgICAgLy8gRGV2 aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX01YMjVMMzIsICAgIC8vIERldmljZUlkIDENCj4g KyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMDog V3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9FV1NSICAgICAgICAgICAgLy8gUHJlZml4IE9w Y29kZSAxOiAgV3JpdGUgRW5hYmxlICh0aGlzIHBhcnQgZG9lc24ndA0KPiBzdXBwb3J0IEVXU1Ip Lg0KPiArICB9LA0KPiArICB7DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAg U0ZfSU5TVF9KRURFQ19SRUFEX0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJh dGlvbkplZGVjSWQgICAgICB9LCAgICAgIC8vIE9wY29kZSAwOiBSZWFkIElEDQo+ICsgICAge0Vu dW1TcGlPcGNvZGVSZWFkLCAgICAgICAgICAgU0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51bVNw aUN5Y2xlMzNNSHosDQo+IEVudW1TcGlPcGVyYXRpb25SZWFkRGF0YSAgICAgIH0sICAgICAgLy8g T3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9J TlNUX1JEU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1 cyAgICB9LCAgICAgIC8vIE9wY29kZSAyOiBSZWFkDQo+IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAg IHtFbnVtU3BpT3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lOU1RfU0ZEUCwgICAgICAgICAgIEVu dW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRGlzY292ZXJ5UGFyYW1ldGVyc30s ICAgIC8vIE9wY29kZSAzOiBTZXJpYWwgRmxhc2gNCj4gRGlzY292ZXJ5IFBhcmFtZXRlcnMNCj4g KyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFTRSwgICAgICAg ICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5dGUgIH0s ICAgICAgLy8gT3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiArICAgIHtFbnVtU3BpT3Bj b2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4gRW51bVNwaUN5Y2xlNTBN SHosIEVudW1TcGlPcGVyYXRpb25FcmFzZV82NEtfQnl0ZSAgfSwgICAgICAvLyBPcGNvZGUgNToN Cj4gQmxvY2sgRXJhc2UgKDY0S0INCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAg ICBTRl9JTlNUX1BST0csICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9w ZXJhdGlvblByb2dyYW1EYXRhXzFfQnl0ZX0sICAgICAvLyBPcGNvZGUgNjogQnl0ZSBQcm9ncmFt DQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9XUlNSLA0KPiBF bnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldyaXRlU3RhdHVzICAgIH0sICAgICAg Ly8gT3Bjb2RlIDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9TIGltYWdlIGlu IGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsgIC8vIGFuZCBk ZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMgYmlnZ2VyIHRo YW4gZmxhc2gNCj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAoKE1BQ1JPTklYX01YMjVMMzJf U0laRSA+PSBGTEFTSF9TSVpFKSA/IE1BQ1JPTklYX01YMjVMMzJfU0laRQ0KPiAtIEZMQVNIX1NJ WkUgOiAoVUlOVE4pICgtMSkpLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRo ZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFu ZA0KPiBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFT SF9TSVpFDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgU0ZfVkVORE9SX0lEX01BQ1JPTklYLCAgICAv LyBWZW5kb3JJZA0KPiArICBTRl9ERVZJQ0VfSUQwX01YMjVMWFgsICAgIC8vIERldmljZUlkIDAN Cj4gKyAgU0ZfREVWSUNFX0lEMV9NWDI1TDY0LCAgICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4g KyAgICBTRl9JTlNUX1dSRU4sICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVu YWJsZQ0KPiArICAgIFNGX0lOU1RfRVdTUiAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTog IFdyaXRlIEVuYWJsZSAodGhpcyBwYXJ0IGRvZXNuJ3QNCj4gc3VwcG9ydCBFV1NSKQ0KPiArICB9 LA0KPiArICB7DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9K RURFQ19SRUFEX0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkplZGVj SWQgICAgICB9LCAgICAgIC8vIE9wY29kZSAwOiBSZWFkIElEDQo+ICsgICAge0VudW1TcGlPcGNv ZGVSZWFkLCAgICAgICAgICAgU0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5Y2xlMzNN SHosDQo+IEVudW1TcGlPcGVyYXRpb25SZWFkRGF0YSAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDE6 IFJlYWQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1Is DQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICB9LCAg ICAgIC8vIE9wY29kZSAyOiBSZWFkDQo+IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3Bp T3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lOU1RfU0ZEUCwgICAgICAgICAgIEVudW1TcGlDeWNs ZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRGlzY292ZXJ5UGFyYW1ldGVyc30sICAgIC8vIE9w Y29kZSAzOiBTZXJpYWwgRmxhc2gNCj4gRGlzY292ZXJ5IFBhcmFtZXRlcnMNCj4gKyAgICB7RW51 bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFTRSwgICAgICAgICBFbnVtU3Bp Q3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5dGUgIH0sICAgICAgLy8g T3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUs ICAgICAgICAgIFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1T cGlPcGVyYXRpb25FcmFzZV82NEtfQnl0ZSAgfSwgICAgICAvLyBPcGNvZGUgNToNCj4gQmxvY2sg RXJhc2UgKDY0S0INCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNU X1BST0csICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvblBy b2dyYW1EYXRhXzFfQnl0ZX0sICAgICAvLyBPcGNvZGUgNjogQnl0ZSBQcm9ncmFtDQo+ICsgICAg e0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9XUlNSLA0KPiBFbnVtU3BpQ3lj bGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldyaXRlU3RhdHVzICAgIH0sICAgICAgLy8gT3Bjb2Rl IDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBU aGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9u IHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gN Cj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAoKE1BQ1JPTklYX01YMjVMNjRfU0laRSA+PSBG TEFTSF9TSVpFKSA/IE1BQ1JPTklYX01YMjVMNjRfU0laRQ0KPiAtIEZMQVNIX1NJWkUgOiAoVUlO VE4pICgtMSkpLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRoZSBCSU9TIGlt YWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZA0KPiBkZXBl bmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFTSF9TSVpFDQo+ ICsgIH0sDQo+ICsgIHsNCj4gKyAgU0ZfVkVORE9SX0lEX01BQ1JPTklYLCAgICAvLyBWZW5kb3JJ ZA0KPiArICBTRl9ERVZJQ0VfSUQwX01YMjVMWFgsICAgIC8vIERldmljZUlkIDANCj4gKyAgU0Zf REVWSUNFX0lEMV9NWDI1TDEyOCwgICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4gKyAgICBTRl9J TlNUX1dSRU4sICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0KPiAr ICAgIFNGX0lOU1RfRVdTUiAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogIFdyaXRlIEVu YWJsZSAodGhpcyBwYXJ0IGRvZXNuJ3QNCj4gc3VwcG9ydCBFV1NSKQ0KPiArICB9LA0KPiArICB7 DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9KRURFQ19SRUFE X0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkplZGVjSWQgICAgICB9 LCAgICAgIC8vIE9wY29kZSAwOiBSZWFkIElEDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAg ICAgICAgICAgU0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5Y2xlMzNNSHosDQo+IEVu dW1TcGlPcGVyYXRpb25SZWFkRGF0YSAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4g KyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1T cGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICB9LCAgICAgIC8vIE9w Y29kZSAyOiBSZWFkDQo+IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVh ZCwgICAgICAgICAgIFNGX0lOU1RfU0ZEUCwgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0K PiBFbnVtU3BpT3BlcmF0aW9uRGlzY292ZXJ5UGFyYW1ldGVyc30sICAgIC8vIE9wY29kZSAzOiBT ZXJpYWwgRmxhc2gNCj4gRGlzY292ZXJ5IFBhcmFtZXRlcnMNCj4gKyAgICB7RW51bVNwaU9wY29k ZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFTRSwgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1I eiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5dGUgIH0sICAgICAgLy8gT3Bjb2RlIDQ6 IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAg IFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRp b25FcmFzZV82NEtfQnl0ZSAgfSwgICAgICAvLyBPcGNvZGUgNToNCj4gQmxvY2sgRXJhc2UgKDY0 S0INCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1BST0csICAg ICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvblByb2dyYW1EYXRh XzFfQnl0ZX0sICAgICAvLyBPcGNvZGUgNjogQnl0ZSBQcm9ncmFtDQo+ICsgICAge0VudW1TcGlP cGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9XUlNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1Ieiwg RW51bVNwaU9wZXJhdGlvbldyaXRlU3RhdHVzICAgIH0sICAgICAgLy8gT3Bjb2RlIDc6DQo+IFdy aXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBv ZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVl IGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0 ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJu IC0xLg0KPiArICAvLw0KPiArICAoKE1BQ1JPTklYX01YMjVMMTI4X1NJWkUgPj0gRkxBU0hfU0la RSkgPw0KPiBNQUNST05JWF9NWDI1TDEyOF9TSVpFIC0gRkxBU0hfU0laRSA6IChVSU5UTikgKC0x KSksDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIHNpemUgb2YgdGhlIEJJT1MgaW1hZ2UgaW4g Zmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0gc3BlY2lmaWMgYW5kDQo+IGRlcGVuZHMgb24g dGhlIHN5c3RlbSBmbGFzaCBtYXAuDQo+ICsgIC8vDQo+ICsgIEZMQVNIX1NJWkUNCj4gKyAgfSwN Cj4gKyAgew0KPiArICBTRl9WRU5ET1JfSURfTUFDUk9OSVgsCSAgLy8gVmVuZG9ySWQNCj4gKyAg U0ZfREVWSUNFX0lEMF9NWDI1VVhYLAkgIC8vIERldmljZUlkIDANCj4gKyAgU0ZfREVWSUNFX0lE MV9NWDI1VTY0MzVGLCAgIC8vIERldmljZUlkIDENCj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JF TiwgCQkgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0KPiArICAgIFNGX0lO U1RfRVdTUgkJCSAgLy8gUHJlZml4IE9wY29kZSAxOiAgV3JpdGUgRW5hYmxlDQo+ICh0aGlzIHBh cnQgZG9lc24ndCBzdXBwb3J0IEVXU1IpDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNw aU9wY29kZVJlYWROb0FkZHIsIAlTRl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IAlFbnVtU3BpQ3lj bGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkplZGVjSWQJCX0sDQo+IAkJLy8gT3Bjb2RlIDA6IFJl YWQgSUQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWQsCQkJU0ZfSU5TVF9SRUFELA0KPiAJCUVu dW1TcGlDeWNsZTMzTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgCSB9LA0KPiAJIC8vIE9w Y29kZSAxOiBSZWFkDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAJU0ZfSU5TVF9S RFNSLA0KPiAJRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25SZWFkU3RhdHVzCSB9 LCAJIC8vDQo+IE9wY29kZSAyOiBSZWFkIFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3Bp T3Bjb2RlUmVhZCwJCQlTRl9JTlNUX1NGRFAsDQo+IAlFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNw aU9wZXJhdGlvbkRpc2NvdmVyeVBhcmFtZXRlcnN9LA0KPiAJLy8gT3Bjb2RlIDM6IFNlcmlhbCBG bGFzaCBEaXNjb3ZlcnkgUGFyYW1ldGVycw0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsCQlT Rl9JTlNUX1NFUkFTRSwNCj4gCUVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uRXJh c2VfNEtfQnl0ZSAgfSwJICAvLw0KPiBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsg ICAge0VudW1TcGlPcGNvZGVXcml0ZSwJCVNGX0lOU1RfNjRLQl9FUkFTRSwNCj4gCUVudW1TcGlD eWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNjRLX0J5dGUgIH0sCSAgIC8vDQo+IE9w Y29kZSA1OiBCbG9jayBFcmFzZSAoNjRLQg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsCQlT Rl9JTlNUX1BST0csDQo+IAlFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvblByb2dy YW1EYXRhXzFfQnl0ZX0sDQo+IAkvLyBPcGNvZGUgNjogQnl0ZSBQcm9ncmFtDQo+ICsgICAge0Vu dW1TcGlPcGNvZGVXcml0ZU5vQWRkciwJU0ZfSU5TVF9XUlNSLA0KPiAJRW51bVNwaUN5Y2xlNTBN SHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0YXR1cwkgIH0sCSAgLy8NCj4gT3Bjb2RlIDc6IFdy aXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBv ZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVl IGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0 ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJu IC0xLg0KPiArICAvLw0KPiArICAoKE1BQ1JPTklYX01YMjVVNjRfU0laRSA+PSBGTEFTSF9TSVpF KSA/DQo+IE1BQ1JPTklYX01YMjVVNjRfU0laRSAtIEZMQVNIX1NJWkUgOiAoVUlOVE4pICgtMSkp LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRoZSBCSU9TIGltYWdlIGluIGZs YXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZA0KPiBkZXBlbmRzIG9uIHRo ZSBzeXN0ZW0gZmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFTSF9TSVpFDQo+ICsgIH0sDQo+ ICsgIHsNCj4gKyAgU0ZfVkVORE9SX0lEX1NTVCwgICAgICAgICAvLyBWZW5kb3JJZA0KPiArICBT Rl9ERVZJQ0VfSUQwX1NTVDI1VkYwWFhYLC8vIERldmljZUlkIDANCj4gKyAgU0ZfREVWSUNFX0lE MV9TU1QyNVZGMDE2QiwvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4gKyAgICBTRl9JTlNUX1dSRU4s ICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0KPiArICAgIFNGX0lO U1RfRVdTUiAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogRW5hYmxlIFdyaXRlIFN0YXR1 cyBSZWdpc3Rlcg0KPiArICB9LA0KPiArICB7DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9B ZGRyLCAgICAgU0ZfSU5TVF9KRURFQ19SRUFEX0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51 bVNwaU9wZXJhdGlvbkplZGVjSWQgICAgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMDogUmVhZA0K PiBJRA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lOU1RfUkVBRCwg ICAgICAgICAgIEVudW1TcGlDeWNsZTIwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUmVhZERhdGEg ICAgICAgICAgfSwgICAgIC8vIE9wY29kZSAxOiBSZWFkDQo+ICsgICAge0VudW1TcGlPcGNvZGVS ZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9SRFNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNw aU9wZXJhdGlvblJlYWRTdGF0dXMgICAgICAgIH0sICAgICAvLyBPcGNvZGUgMjoNCj4gUmVhZCBT dGF0dXMgUmVnaXN0ZXINCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9J TlNUX1dSREksDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVEaXNh YmxlICAgICAgfSwgICAgIC8vIE9wY29kZSAzOg0KPiBXcml0ZSBEaXNhYmxlDQo+ICsgICAge0Vu dW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9TRVJBU0UsICAgICAgICAgRW51bVNw aUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25FcmFzZV80S19CeXRlICAgICB9LCAgICAg Ly8gT3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3Jp dGUsICAgICAgICAgIFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVu dW1TcGlPcGVyYXRpb25FcmFzZV82NEtfQnl0ZSAgICB9LCAgICAgLy8gT3Bjb2RlIDU6DQo+IEJs b2NrIEVyYXNlICgzMktCKQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNG X0lOU1RfUFJPRywgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0 aW9uUHJvZ3JhbURhdGFfMV9CeXRlfSwgICAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4g KyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1T cGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMgICAgICAgfSwgICAgIC8v IE9wY29kZSA3Og0KPiBXcml0ZSBTdGF0dXMgUmVnaXN0ZXINCj4gKyAgfSwNCj4gKw0KPiArICAv Lw0KPiArICAvLyBUaGUgb2Zmc2V0IG9mIHRoZSBzdGFydCBvZiB0aGUgQklPUyBpbWFnZSBpbiBm bGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybQ0KPiBzcGVjaWZpYw0KPiArICAvLyBhbmQgZGVw ZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4gSWYgQklPUyBzaXplIGlzIGJpZ2dlciB0aGFu IGZsYXNoDQo+IHJldHVybiAtMS4NCj4gKyAgLy8NCj4gKyAgKChTU1RfU1NUMjVWRjAxNkJfU0la RSA+PSBGTEFTSF9TSVpFKSA/IFNTVF9TU1QyNVZGMDE2Ql9TSVpFIC0NCj4gRkxBU0hfU0laRSA6 IChVSU5UTikgKC0xKSksDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIHNpemUgb2YgdGhlIEJJ T1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0gc3BlY2lmaWMgYW5kDQo+ IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuDQo+ICsgIC8vDQo+ICsgIEZMQVNIX1NJ WkUNCj4gKyAgfSwNCj4gKyAgew0KPiArICBTRl9WRU5ET1JfSURfU1NULCAgICAgICAgIC8vIFZl bmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBfU1NUMjVWRjBYWFgsLy8gRGV2aWNlSWQgMA0KPiAr ICBTRl9ERVZJQ0VfSUQxX1NTVDI1VkYwNjRDLC8vIERldmljZUlkIDENCj4gKyAgew0KPiArICAg IFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMDogV3JpdGUgRW5hYmxl DQo+ICsgICAgU0ZfSU5TVF9FV1NSICAgICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAxOiBFbmFi bGUgV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNw aU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlD eWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uSmVkZWNJZCAgICAgICAgICAgfSwgICAgIC8vIE9w Y29kZSAwOiBSZWFkDQo+IElEDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAgICAg U0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5Y2xlMjBNSHosDQo+IEVudW1TcGlPcGVy YXRpb25SZWFkRGF0YSAgICAgICAgICB9LCAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7 RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1TcGlDeWNs ZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICAgICAgfSwgICAgIC8vIE9wY29k ZSAyOg0KPiBSZWFkIFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVO b0FkZHIsICAgIFNGX0lOU1RfV1JESSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVy YXRpb25Xcml0ZURpc2FibGUgICAgICB9LCAgICAgLy8gT3Bjb2RlIDM6DQo+IFdyaXRlIERpc2Fi bGUNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFTRSwg ICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5 dGUgICAgIH0sICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAge0Vu dW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVtU3Bp Q3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRlICAgIH0sICAgICAvLyBP cGNvZGUgNToNCj4gQmxvY2sgRXJhc2UgKDMyS0IpDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0 ZSwgICAgICAgICAgU0ZfSU5TVF9QUk9HLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+ IEVudW1TcGlPcGVyYXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9LCAgICAgLy8gT3Bjb2RlIDY6IEJ5 dGUgUHJvZ3JhbQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNGX0lOU1Rf V1JTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0YXR1cyAg ICAgICB9LCAgICAgLy8gT3Bjb2RlIDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9 LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBC SU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ ICsgIC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUg aXMgYmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAoKFNTVF9T U1QyNVZGMDY0Q19TSVpFID49IEZMQVNIX1NJWkUpID8gU1NUX1NTVDI1VkYwNjRDX1NJWkUgLQ0K PiBGTEFTSF9TSVpFIDogKFVJTlROKSAoLTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUg c2l6ZSBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBz cGVjaWZpYyBhbmQNCj4gZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAgLy8N Cj4gKyAgRkxBU0hfU0laRQ0KPiArICB9LA0KPiArICB7DQo+ICsgIAkvLw0KPiArICAJLy8gTWlu bm93MiBTUEkgdHlwZQ0KPiArICAJLy8NCj4gKyAgU0ZfVkVORE9SX0lEX05VTU9OWVgsICAgICAv LyBWZW5kb3JJZA0KPiArICBTRl9ERVZJQ0VfSUQwX04yNVEwNjQsICAgIC8vIERldmljZUlkIDAN Cj4gKyAgU0ZfREVWSUNFX0lEMV9OMjVRMDY0LCAgICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4g KyAgICBTRl9JTlNUX1dSRU4sICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVu YWJsZQ0KPiArICAgIFNGX0lOU1RfV1JFTiAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTog V3JpdGUgRW5hYmxlICh0aGlzIHBhcnQgZG9lc24ndA0KPiBzdXBwb3J0IEVXU1IpDQo+ICsgIH0s DQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX0pF REVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNsZTIwTUh6LCBFbnVtU3BpT3BlcmF0aW9uSmVkZWNJ ZCAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDA6IFJlYWQgSUQNCj4gKyAgICB7RW51bVNwaU9wY29k ZVJlYWQsICAgICAgICAgICBTRl9JTlNUX1JFQUQsICAgICAgICAgICBFbnVtU3BpQ3ljbGUyME1I eiwNCj4gRW51bVNwaU9wZXJhdGlvblJlYWREYXRhICAgICAgfSwgICAgICAvLyBPcGNvZGUgMTog UmVhZA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwgICAgIFNGX0lOU1RfUkRTUiwN Cj4gRW51bVNwaUN5Y2xlMjBNSHosIEVudW1TcGlPcGVyYXRpb25SZWFkU3RhdHVzICAgIH0sICAg ICAgLy8gT3Bjb2RlIDI6IFJlYWQNCj4gU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAge0VudW1TcGlP cGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9XUkRJLA0KPiBFbnVtU3BpQ3ljbGUyME1Ieiwg RW51bVNwaU9wZXJhdGlvbldyaXRlRGlzYWJsZSAgICB9LCAgICAgIC8vIE9wY29kZSAzOg0KPiBX cml0ZSBEaXNhYmxlDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5T VF9TRVJBU0UsICAgICAgICAgRW51bVNwaUN5Y2xlMjBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25F cmFzZV80S19CeXRlICB9LCAgICAgIC8vIE9wY29kZSA0OiBTZWN0b3IgRXJhc2UgKDRLQikNCj4g KyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUXzY0S0JfRVJBU0UsDQo+ IEVudW1TcGlDeWNsZTIwTUh6LCBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNjRLX0J5dGUgIH0sICAg ICAgLy8gT3Bjb2RlIDU6DQo+IEJsb2NrIEVyYXNlICg2NEtCDQo+ICsgICAge0VudW1TcGlPcGNv ZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9QUk9HLCAgICAgICAgICAgRW51bVNwaUN5Y2xlMjBN SHosDQo+IEVudW1TcGlPcGVyYXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9LCAgICAgLy8gT3Bjb2Rl IDY6IEJ5dGUgUHJvZ3JhbQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNG X0lOU1RfV1JTUiwNCj4gRW51bVNwaUN5Y2xlMjBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZVN0 YXR1cyAgICB9LCAgICAgIC8vIE9wY29kZSA3Og0KPiBXcml0ZSBTdGF0dXMgUmVnaXN0ZXINCj4g KyAgfSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgb2Zmc2V0IG9mIHRoZSBzdGFydCBvZiB0 aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybQ0KPiBzcGVjaWZp Yw0KPiArICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4gSWYgQklPUyBz aXplIGlzIGJpZ2dlciB0aGFuIGZsYXNoDQo+IHJldHVybiAtMS4NCj4gKyAgLy8NCj4gKyAgKChO VU1PTllYX04yNVEwNjRfU0laRSA+PSBGTEFTSF9TSVpFKSA/IE5VTU9OWVhfTjI1UTA2NF9TSVpF DQo+IC0gRkxBU0hfU0laRSA6IChVSU5UTikgKC0xKSksDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g VGhlIHNpemUgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZv cm0gc3BlY2lmaWMgYW5kDQo+IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuDQo+ICsg IC8vDQo+ICsgIEZMQVNIX1NJWkUNCj4gKyAgfSwNCj4gKyAgew0KPiArICBTRl9WRU5ET1JfSURf TlVNT05ZWCwgICAgIC8vIFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBfTTI1UFhYWCwgICAg Ly8gRGV2aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX00yNVBYMTYsICAgIC8vIERldmljZUlk IDENCj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8vIFByZWZpeCBPcGNv ZGUgMDogV3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9XUkVOICAgICAgICAgICAgLy8gUHJl Zml4IE9wY29kZSAxOiBXcml0ZSBFbmFibGUgKHRoaXMgcGFydCBkb2Vzbid0DQo+IHN1cHBvcnQg RVdTUikuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIs ICAgICBTRl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3Bp T3BlcmF0aW9uSmVkZWNJZCAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDA6IFJlYWQgSUQNCj4gKyAg ICB7RW51bVNwaU9wY29kZVJlYWQsICAgICAgICAgICBTRl9JTlNUX1JFQUQsICAgICAgICAgICBF bnVtU3BpQ3ljbGUzM01IeiwNCj4gRW51bVNwaU9wZXJhdGlvblJlYWREYXRhICAgICAgfSwgICAg ICAvLyBPcGNvZGUgMTogUmVhZA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwgICAg IFNGX0lOU1RfUkRTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25SZWFk U3RhdHVzICAgIH0sICAgICAgLy8gT3Bjb2RlIDI6IFJlYWQNCj4gU3RhdHVzIFJlZ2lzdGVyDQo+ ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9XUkRJLA0KPiBFbnVt U3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldyaXRlRGlzYWJsZSAgICB9LCAgICAgIC8v IE9wY29kZSAzOg0KPiBXcml0ZSBEaXNhYmxlDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwg ICAgICAgICAgU0ZfSU5TVF9TRVJBU0UsICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVu dW1TcGlPcGVyYXRpb25FcmFzZV80S19CeXRlICB9LCAgICAgIC8vIE9wY29kZSA0OiBTZWN0b3Ig RXJhc2UgKDRLQikNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNU XzY0S0JfRVJBU0UsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uRXJhc2Vf NjRLX0J5dGUgIH0sICAgICAgLy8gT3Bjb2RlIDU6DQo+IEJsb2NrIEVyYXNlICg2NEtCDQo+ICsg ICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9QUk9HLCAgICAgICAgICAg RW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9 LCAgICAgLy8gT3Bjb2RlIDY6IEJ5dGUgUHJvZ3JhbQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3Jp dGVOb0FkZHIsICAgIFNGX0lOU1RfV1JTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlP cGVyYXRpb25Xcml0ZVN0YXR1cyAgICB9LCAgICAgIC8vIE9wY29kZSA3Og0KPiBXcml0ZSBTdGF0 dXMgUmVnaXN0ZXINCj4gKyAgfSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgb2Zmc2V0IG9m IHRoZSBzdGFydCBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0 Zm9ybQ0KPiBzcGVjaWZpYw0KPiArICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNo IG1hcC4gSWYgQklPUyBzaXplIGlzIGJpZ2dlciB0aGFuIGZsYXNoDQo+IHJldHVybiAtMS4NCj4g KyAgLy8NCj4gKyAgKChOVU1PTllYX00yNVBYMTZfU0laRSA+PSBGTEFTSF9TSVpFKSA/IE5VTU9O WVhfTTI1UFgxNl9TSVpFDQo+IC0gRkxBU0hfU0laRSA6IChVSU5UTikgKC0xKSksDQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gVGhlIHNpemUgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMg dmFsdWUgaXMgcGxhdGZvcm0gc3BlY2lmaWMgYW5kDQo+IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBm bGFzaCBtYXAuDQo+ICsgIC8vDQo+ICsgIEZMQVNIX1NJWkUNCj4gKyAgfSwNCj4gKyAgew0KPiAr ICBTRl9WRU5ET1JfSURfTlVNT05ZWCwgICAgIC8vIFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9J RDBfTjI1UVhYWCwgICAgLy8gRGV2aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX04yNVEwMzIs ICAgIC8vIERldmljZUlkIDENCj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAg IC8vIFByZWZpeCBPcGNvZGUgMDogV3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9XUkVOICAg ICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAxOiBXcml0ZSBFbmFibGUgKHRoaXMgcGFydCBkb2Vz bid0DQo+IHN1cHBvcnQgRVdTUikuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9w Y29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNs ZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uSmVkZWNJZCAgICAgIH0sICAgICAgICAvLyBPcGNvZGUg MDogUmVhZA0KPiBJRA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lO U1RfUkVBRCwgICAgICAgICAgIEVudW1TcGlDeWNsZTMzTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9u UmVhZERhdGEgICAgICB9LCAgICAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7RW51bVNw aU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6 LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICB9LCAgICAgICAgLy8gT3Bjb2RlIDI6DQo+ IFJlYWQgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwg ICAgU0ZfSU5TVF9XUkRJLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldy aXRlRGlzYWJsZSAgICB9LCAgICAgIC8vIE9wY29kZSAzOg0KPiBXcml0ZSBEaXNhYmxlDQo+ICsg ICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9TRVJBU0UsICAgICAgICAg RW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25FcmFzZV80S19CeXRlICB9LCAg ICAgIC8vIE9wY29kZSA0OiBTZWN0b3IgRXJhc2UgKDRLQikNCj4gKyAgICB7RW51bVNwaU9wY29k ZVdyaXRlLCAgICAgICAgICBTRl9JTlNUXzY0S0JfRVJBU0UsDQo+IEVudW1TcGlDeWNsZTUwTUh6 LCBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNjRLX0J5dGUgIH0sICAgICAgLy8gT3Bjb2RlIDU6DQo+ IEJsb2NrIEVyYXNlICg2NEtCDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAg U0ZfSU5TVF9QUk9HLCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVy YXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9LCAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4g KyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1T cGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMgICAgfSwgICAgICAvLyBP cGNvZGUgNzoNCj4gV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgIH0sDQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gVGhlIG9mZnNldCBvZiB0aGUgc3RhcnQgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxh c2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0NCj4gc3BlY2lmaWMNCj4gKyAgLy8gYW5kIGRlcGVu ZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIElmIEJJT1Mgc2l6ZSBpcyBiaWdnZXIgdGhhbiBm bGFzaA0KPiByZXR1cm4gLTEuDQo+ICsgIC8vDQo+ICsgICgoTlVNT05ZWF9OMjVRMDMyX1NJWkUg Pj0gRkxBU0hfU0laRSkgPyBOVU1PTllYX04yNVEwMzJfU0laRQ0KPiAtIEZMQVNIX1NJWkUgOiAo VUlOVE4pICgtMSkpLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBzaXplIG9mIHRoZSBCSU9T IGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtIHNwZWNpZmljIGFuZA0KPiBk ZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLg0KPiArICAvLw0KPiArICBGTEFTSF9TSVpF DQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgU0ZfVkVORE9SX0lEX05VTU9OWVgsICAgICAvLyBWZW5k b3JJZA0KPiArICBTRl9ERVZJQ0VfSUQwX00yNVBYWFgsICAgIC8vIERldmljZUlkIDANCj4gKyAg U0ZfREVWSUNFX0lEMV9NMjVQWDMyLCAgICAvLyBEZXZpY2VJZCAxDQo+ICsgIHsNCj4gKyAgICBT Rl9JTlNUX1dSRU4sICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6IFdyaXRlIEVuYWJsZQ0K PiArICAgIFNGX0lOU1RfV1JFTiAgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMTogV3JpdGUg RW5hYmxlICh0aGlzIHBhcnQgZG9lc24ndA0KPiBzdXBwb3J0IEVXU1IpLg0KPiArICB9LA0KPiAr ICB7DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9KRURFQ19S RUFEX0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkplZGVjSWQgICAg ICB9LCAgICAgIC8vIE9wY29kZSAwOiBSZWFkIElEDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFk LCAgICAgICAgICAgU0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5Y2xlMzNNSHosDQo+ IEVudW1TcGlPcGVyYXRpb25SZWFkRGF0YSAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDE6IFJlYWQN Cj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVu dW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICB9LCAgICAgIC8v IE9wY29kZSAyOiBSZWFkDQo+IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3BpT3Bjb2Rl V3JpdGVOb0FkZHIsICAgIFNGX0lOU1RfV1JESSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1T cGlPcGVyYXRpb25Xcml0ZURpc2FibGUgICAgfSwgICAgICAvLyBPcGNvZGUgMzoNCj4gV3JpdGUg RGlzYWJsZQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfU0VS QVNFLCAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRXJhc2Vf NEtfQnl0ZSAgfSwgICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAg e0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVt U3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRlICB9LCAgICAgIC8v IE9wY29kZSA1Og0KPiBCbG9jayBFcmFzZSAoNjRLQg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3Jp dGUsICAgICAgICAgIFNGX0lOU1RfUFJPRywgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0K PiBFbnVtU3BpT3BlcmF0aW9uUHJvZ3JhbURhdGFfMV9CeXRlfSwgICAgIC8vIE9wY29kZSA2OiBC eXRlIFByb2dyYW0NCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNU X1dSU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMg ICAgfSwgICAgICAvLyBPcGNvZGUgNzoNCj4gV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgIH0s DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIG9mZnNldCBvZiB0aGUgc3RhcnQgb2YgdGhlIEJJ T1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0NCj4gc3BlY2lmaWMNCj4g KyAgLy8gYW5kIGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIElmIEJJT1Mgc2l6ZSBp cyBiaWdnZXIgdGhhbiBmbGFzaA0KPiByZXR1cm4gLTEuDQo+ICsgIC8vDQo+ICsgICgoTlVNT05Z WF9NMjVQWDMyX1NJWkUgPj0gRkxBU0hfU0laRSkgPyBOVU1PTllYX00yNVBYMzJfU0laRQ0KPiAt IEZMQVNIX1NJWkUgOiAoVUlOVE4pICgtMSkpLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBz aXplIG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtIHNw ZWNpZmljIGFuZA0KPiBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLg0KPiArICAvLw0K PiArICBGTEFTSF9TSVpFDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgU0ZfVkVORE9SX0lEX05VTU9O WVgsICAgICAvLyBWZW5kb3JJZA0KPiArICBTRl9ERVZJQ0VfSUQwX00yNVBYWFgsICAgIC8vIERl dmljZUlkIDANCj4gKyAgU0ZfREVWSUNFX0lEMV9NMjVQWDY0LCAgICAvLyBEZXZpY2VJZCAxDQo+ ICsgIHsNCj4gKyAgICBTRl9JTlNUX1dSRU4sICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDA6 IFdyaXRlIEVuYWJsZQ0KPiArICAgIFNGX0lOU1RfV1JFTiAgICAgICAgICAgIC8vIFByZWZpeCBP cGNvZGUgMTogV3JpdGUgRW5hYmxlICh0aGlzIHBhcnQgZG9lc24ndA0KPiBzdXBwb3J0IEVXU1Ip DQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBT Rl9JTlNUX0pFREVDX1JFQURfSUQsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0 aW9uSmVkZWNJZCAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDA6IFJlYWQgSUQNCj4gKyAgICB7RW51 bVNwaU9wY29kZVJlYWQsICAgICAgICAgICBTRl9JTlNUX1JFQUQsICAgICAgICAgICBFbnVtU3Bp Q3ljbGUzM01IeiwNCj4gRW51bVNwaU9wZXJhdGlvblJlYWREYXRhICAgICAgfSwgICAgICAvLyBP cGNvZGUgMTogUmVhZA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwgICAgIFNGX0lO U1RfUkRTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25SZWFkU3RhdHVz ICAgIH0sICAgICAgLy8gT3Bjb2RlIDI6IFJlYWQNCj4gU3RhdHVzIFJlZ2lzdGVyDQo+ICsgICAg e0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9XUkRJLA0KPiBFbnVtU3BpQ3lj bGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldyaXRlRGlzYWJsZSAgICB9LCAgICAgIC8vIE9wY29k ZSAzOg0KPiBXcml0ZSBEaXNhYmxlDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAg ICAgU0ZfSU5TVF9TRVJBU0UsICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlP cGVyYXRpb25FcmFzZV80S19CeXRlICB9LCAgICAgIC8vIE9wY29kZSA0OiBTZWN0b3IgRXJhc2Ug KDRLQikNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUXzY0S0Jf RVJBU0UsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNjRLX0J5 dGUgIH0sICAgICAgLy8gT3Bjb2RlIDU6DQo+IEJsb2NrIEVyYXNlICg2NEtCDQo+ICsgICAge0Vu dW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF9QUk9HLCAgICAgICAgICAgRW51bVNw aUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25Qcm9ncmFtRGF0YV8xX0J5dGV9LCAgICAg Ly8gT3Bjb2RlIDY6IEJ5dGUgUHJvZ3JhbQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0Fk ZHIsICAgIFNGX0lOU1RfV1JTUiwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRp b25Xcml0ZVN0YXR1cyAgICB9LCAgICAgIC8vIE9wY29kZSA3Og0KPiBXcml0ZSBTdGF0dXMgUmVn aXN0ZXINCj4gKyAgfSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgb2Zmc2V0IG9mIHRoZSBz dGFydCBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybQ0K PiBzcGVjaWZpYw0KPiArICAvLyBhbmQgZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4g SWYgQklPUyBzaXplIGlzIGJpZ2dlciB0aGFuIGZsYXNoDQo+IHJldHVybiAtMS4NCj4gKyAgLy8N Cj4gKyAgKChOVU1PTllYX00yNVBYNjRfU0laRSA+PSBGTEFTSF9TSVpFKSA/IE5VTU9OWVhfTTI1 UFg2NF9TSVpFDQo+IC0gRkxBU0hfU0laRSA6IChVSU5UTikgKC0xKSksDQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gVGhlIHNpemUgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUg aXMgcGxhdGZvcm0gc3BlY2lmaWMgYW5kDQo+IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBt YXAuDQo+ICsgIC8vDQo+ICsgIEZMQVNIX1NJWkUNCj4gKyAgfSwNCj4gKyAgew0KPiArICBTRl9W RU5ET1JfSURfTlVNT05ZWCwgICAgIC8vIFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBfTjI1 UVhYWCwgICAgLy8gRGV2aWNlSWQgMA0KPiArICBTRl9ERVZJQ0VfSUQxX04yNVExMjgsICAgIC8v IERldmljZUlkIDENCj4gKyAgew0KPiArICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8vIFBy ZWZpeCBPcGNvZGUgMDogV3JpdGUgRW5hYmxlDQo+ICsgICAgU0ZfSU5TVF9XUkVOICAgICAgICAg ICAgLy8gUHJlZml4IE9wY29kZSAxOiBXcml0ZSBFbmFibGUgKHRoaXMgcGFydCBkb2Vzbid0DQo+ IHN1cHBvcnQgRVdTUikNCj4gKyAgfSwNCj4gKyAgew0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVh ZE5vQWRkciwgICAgIFNGX0lOU1RfSkVERUNfUkVBRF9JRCwNCj4gRW51bVNwaUN5Y2xlNTBNSHos IEVudW1TcGlPcGVyYXRpb25KZWRlY0lkICAgICAgfSwgICAgICAvLyBPcGNvZGUgMDogUmVhZCBJ RA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwgICAgICAgICAgIFNGX0lOU1RfUkVBRCwgICAg ICAgICAgIEVudW1TcGlDeWNsZTMzTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgICAg ICB9LCAgICAgIC8vIE9wY29kZSAxOiBSZWFkDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9B ZGRyLCAgICAgU0ZfSU5TVF9SRFNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJh dGlvblJlYWRTdGF0dXMgICAgfSwgICAgICAvLyBPcGNvZGUgMjogUmVhZA0KPiBTdGF0dXMgUmVn aXN0ZXINCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSREks DQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVEaXNhYmxlICAgIH0s ICAgICAgLy8gT3Bjb2RlIDM6DQo+IFdyaXRlIERpc2FibGUNCj4gKyAgICB7RW51bVNwaU9wY29k ZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFTRSwgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1I eiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRLX0J5dGUgIH0sICAgICAgLy8gT3Bjb2RlIDQ6 IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAg IFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRp b25FcmFzZV82NEtfQnl0ZSAgfSwgICAgICAvLyBPcGNvZGUgNToNCj4gQmxvY2sgRXJhc2UgKDY0 S0INCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1BST0csICAg ICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvblByb2dyYW1EYXRh XzFfQnl0ZX0sICAgICAvLyBPcGNvZGUgNjogQnl0ZSBQcm9ncmFtDQo+ICsgICAge0VudW1TcGlP cGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9XUlNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1Ieiwg RW51bVNwaU9wZXJhdGlvbldyaXRlU3RhdHVzICAgIH0sICAgICAgLy8gT3Bjb2RlIDc6DQo+IFdy aXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBv ZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVl IGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0 ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJu IC0xLg0KPiArICAvLw0KPiArICAoKE5VTU9OWVhfTjI1UTEyOF9TSVpFID49IEZMQVNIX1NJWkUp ID8gTlVNT05ZWF9OMjVRMTI4X1NJWkUNCj4gLSBGTEFTSF9TSVpFIDogKFVJTlROKSAoLTEpKSwN Cj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgc2l6ZSBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFz aC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBzcGVjaWZpYyBhbmQNCj4gZGVwZW5kcyBvbiB0aGUg c3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAgLy8NCj4gKyAgRkxBU0hfU0laRQ0KPiArICB9LA0KPiAr ICB7DQo+ICsgIFNGX1ZFTkRPUl9JRF9FT04sICAgICAgICAgLy8gVmVuZG9ySWQNCj4gKyAgU0Zf REVWSUNFX0lEMF9FTjI1UVhYLCAgICAvLyBEZXZpY2VJZCAwDQo+ICsgIFNGX0RFVklDRV9JRDFf RU4yNVExNiwgICAgLy8gRGV2aWNlSWQgMQ0KPiArICB7DQo+ICsgICAgU0ZfSU5TVF9XUkVOLCAg ICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAwOiBXcml0ZSBFbmFibGUNCj4gKyAgICBTRl9JTlNU X1dSRU4gICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDE6IFdyaXRlIEVuYWJsZSAodGhpcyBw YXJ0IGRvZXNuJ3QNCj4gc3VwcG9ydCBFV1NSKQ0KPiArICB9LA0KPiArICB7DQo+ICsgICAge0Vu dW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9KRURFQ19SRUFEX0lELA0KPiBFbnVt U3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkplZGVjSWQgICAgICB9LCAgICAgIC8vIE9w Y29kZSAwOiBSZWFkIElEDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAgICAgU0Zf SU5TVF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRp b25SZWFkRGF0YSAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7RW51bVNw aU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6 LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICB9LCAgICAgIC8vIE9wY29kZSAyOiBSZWFk DQo+IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAg IFNGX0lOU1RfV1JESSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0 ZURpc2FibGUgICAgfSwgICAgICAvLyBPcGNvZGUgMzoNCj4gV3JpdGUgRGlzYWJsZQ0KPiArICAg IHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfU0VSQVNFLCAgICAgICAgIEVu dW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNEtfQnl0ZSAgfSwgICAg ICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAge0VudW1TcGlPcGNvZGVX cml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVtU3BpQ3ljbGU1ME1Ieiwg RW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRlICB9LCAgICAgIC8vIE9wY29kZSA1Og0KPiBC bG9jayBFcmFzZSAoNjRLQg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNG X0lOU1RfUFJPRywgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0 aW9uUHJvZ3JhbURhdGFfMV9CeXRlfSwgICAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4g KyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1T cGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMgICAgfSwgICAgICAvLyBP cGNvZGUgNzoNCj4gV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgIH0sDQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gVGhlIG9mZnNldCBvZiB0aGUgc3RhcnQgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxh c2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0NCj4gc3BlY2lmaWMNCj4gKyAgLy8gYW5kIGRlcGVu ZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIElmIEJJT1Mgc2l6ZSBpcyBiaWdnZXIgdGhhbiBm bGFzaA0KPiByZXR1cm4gLTEuDQo+ICsgIC8vDQo+ICsgICgoRU9OX0VOMjVRMTZfU0laRSA+PSBG TEFTSF9TSVpFKSA/IEVPTl9FTjI1UTE2X1NJWkUgLSBGTEFTSF9TSVpFIDoNCj4gKFVJTlROKSAo LTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgc2l6ZSBvZiB0aGUgQklPUyBpbWFnZSBp biBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBzcGVjaWZpYyBhbmQNCj4gZGVwZW5kcyBv biB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAgLy8NCj4gKyAgRkxBU0hfU0laRQ0KPiArICB9 LA0KPiArICB7DQo+ICsgIFNGX1ZFTkRPUl9JRF9FT04sICAgICAgICAgLy8gVmVuZG9ySWQNCj4g KyAgU0ZfREVWSUNFX0lEMF9FTjI1UVhYLCAgICAvLyBEZXZpY2VJZCAwDQo+ICsgIFNGX0RFVklD RV9JRDFfRU4yNVEzMiwgICAgLy8gRGV2aWNlSWQgMQ0KPiArICB7DQo+ICsgICAgU0ZfSU5TVF9X UkVOLCAgICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAwOiBXcml0ZSBFbmFibGUNCj4gKyAgICBT Rl9JTlNUX1dSRU4gICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDE6IFdyaXRlIEVuYWJsZSAo dGhpcyBwYXJ0IGRvZXNuJ3QNCj4gc3VwcG9ydCBFV1NSKQ0KPiArICB9LA0KPiArICB7DQo+ICsg ICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9KRURFQ19SRUFEX0lELA0K PiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkplZGVjSWQgICAgICB9LCAgICAg IC8vIE9wY29kZSAwOiBSZWFkIElEDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkLCAgICAgICAg ICAgU0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5Y2xlMzNNSHosDQo+IEVudW1TcGlP cGVyYXRpb25SZWFkRGF0YSAgICAgIH0sICAgICAgLy8gT3Bjb2RlIDE6IFJlYWQNCj4gKyAgICB7 RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNUX1JEU1IsDQo+IEVudW1TcGlDeWNs ZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAgICB9LCAgICAgIC8vIE9wY29kZSAy OiBSZWFkDQo+IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGVOb0Fk ZHIsICAgIFNGX0lOU1RfV1JESSwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRp b25Xcml0ZURpc2FibGUgICAgfSwgICAgICAvLyBPcGNvZGUgMzoNCj4gV3JpdGUgRGlzYWJsZQ0K PiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfU0VSQVNFLCAgICAg ICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uRXJhc2VfNEtfQnl0ZSAg fSwgICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0S0IpDQo+ICsgICAge0VudW1TcGlP cGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VSQVNFLA0KPiBFbnVtU3BpQ3ljbGU1 ME1IeiwgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRlICB9LCAgICAgIC8vIE9wY29kZSA1 Og0KPiBCbG9jayBFcmFzZSAoNjRLQg0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAg ICAgIFNGX0lOU1RfUFJPRywgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3Bp T3BlcmF0aW9uUHJvZ3JhbURhdGFfMV9CeXRlfSwgICAgIC8vIE9wY29kZSA2OiBCeXRlIFByb2dy YW0NCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSU1IsDQo+ IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uV3JpdGVTdGF0dXMgICAgfSwgICAg ICAvLyBPcGNvZGUgNzoNCj4gV3JpdGUgU3RhdHVzIFJlZ2lzdGVyDQo+ICsgIH0sDQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gVGhlIG9mZnNldCBvZiB0aGUgc3RhcnQgb2YgdGhlIEJJT1MgaW1hZ2Ug aW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0NCj4gc3BlY2lmaWMNCj4gKyAgLy8gYW5k IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIElmIEJJT1Mgc2l6ZSBpcyBiaWdnZXIg dGhhbiBmbGFzaA0KPiByZXR1cm4gLTEuDQo+ICsgIC8vDQo+ICsgICgoRU9OX0VOMjVRMzJfU0la RSA+PSBGTEFTSF9TSVpFKSA/IEVPTl9FTjI1UTMyX1NJWkUgLSBGTEFTSF9TSVpFIDoNCj4gKFVJ TlROKSAoLTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgc2l6ZSBvZiB0aGUgQklPUyBp bWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBzcGVjaWZpYyBhbmQNCj4gZGVw ZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAgLy8NCj4gKyAgRkxBU0hfU0laRQ0K PiArICB9LA0KPiArICB7DQo+ICsgIFNGX1ZFTkRPUl9JRF9FT04sICAgICAgICAgLy8gVmVuZG9y SWQNCj4gKyAgU0ZfREVWSUNFX0lEMF9FTjI1UVhYLCAgICAvLyBEZXZpY2VJZCAwDQo+ICsgIFNG X0RFVklDRV9JRDFfRU4yNVE2NCwgICAgLy8gRGV2aWNlSWQgMQ0KPiArICB7DQo+ICsgICAgU0Zf SU5TVF9XUkVOLCAgICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAwOiBXcml0ZSBFbmFibGUNCj4g KyAgICBTRl9JTlNUX1dSRU4gICAgICAgICAgICAvLyBQcmVmaXggT3Bjb2RlIDE6IFdyaXRlIEVu YWJsZSAodGhpcyBwYXJ0IGRvZXNuJ3QNCj4gc3VwcG9ydCBFV1NSKS4NCj4gKyAgfSwNCj4gKyAg ew0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwgICAgIFNGX0lOU1RfSkVERUNfUkVB RF9JRCwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25KZWRlY0lkICAgICAg fSwgICAgICAvLyBPcGNvZGUgMDogUmVhZCBJRA0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZCwg ICAgICAgICAgIFNGX0lOU1RfUkVBRCwgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBF bnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgICAgICB9LCAgICAgIC8vIE9wY29kZSAxOiBSZWFkDQo+ ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9SRFNSLA0KPiBFbnVt U3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvblJlYWRTdGF0dXMgICAgfSwgICAgICAvLyBP cGNvZGUgMjogUmVhZA0KPiBTdGF0dXMgUmVnaXN0ZXINCj4gKyAgICB7RW51bVNwaU9wY29kZVdy aXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSREksDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3Bp T3BlcmF0aW9uV3JpdGVEaXNhYmxlICAgIH0sICAgICAgLy8gT3Bjb2RlIDM6DQo+IFdyaXRlIERp c2FibGUNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1NFUkFT RSwgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVyYXNlXzRL X0J5dGUgIH0sICAgICAgLy8gT3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiArICAgIHtF bnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4gRW51bVNw aUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25FcmFzZV82NEtfQnl0ZSAgfSwgICAgICAvLyBP cGNvZGUgNToNCj4gQmxvY2sgRXJhc2UgKDY0S0INCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRl LCAgICAgICAgICBTRl9JTlNUX1BST0csICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4g RW51bVNwaU9wZXJhdGlvblByb2dyYW1EYXRhXzFfQnl0ZX0sICAgICAvLyBPcGNvZGUgNjogQnl0 ZSBQcm9ncmFtDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwgICAgU0ZfSU5TVF9X UlNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldyaXRlU3RhdHVzICAg IH0sICAgICAgLy8gT3Bjb2RlIDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiArICB9LA0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRoZSBCSU9T IGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmljDQo+ICsg IC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNpemUgaXMg YmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAoKEVPTl9FTjI1 UTY0X1NJWkUgPj0gRkxBU0hfU0laRSkgPyBFT05fRU4yNVE2NF9TSVpFIC0gRkxBU0hfU0laRSA6 DQo+IChVSU5UTikgKC0xKSksDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIHNpemUgb2YgdGhl IEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0gc3BlY2lmaWMgYW5k DQo+IGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuDQo+ICsgIC8vDQo+ICsgIEZMQVNI X1NJWkUNCj4gKyAgfSwNCj4gKyAgew0KPiArICBTRl9WRU5ET1JfSURfRU9OLCAgICAgICAgIC8v IFZlbmRvcklkDQo+ICsgIFNGX0RFVklDRV9JRDBfRU4yNVFYWCwgICAgLy8gRGV2aWNlSWQgMA0K PiArICBTRl9ERVZJQ0VfSUQxX0VOMjVRMTI4LCAgIC8vIERldmljZUlkIDENCj4gKyAgew0KPiAr ICAgIFNGX0lOU1RfV1JFTiwgICAgICAgICAgIC8vIFByZWZpeCBPcGNvZGUgMDogV3JpdGUgRW5h YmxlDQo+ICsgICAgU0ZfSU5TVF9XUkVOICAgICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAxOiBX cml0ZSBFbmFibGUgKHRoaXMgcGFydCBkb2Vzbid0DQo+IHN1cHBvcnQgRVdTUikNCj4gKyAgfSwN Cj4gKyAgew0KPiArICAgIHtFbnVtU3BpT3Bjb2RlUmVhZE5vQWRkciwgICAgIFNGX0lOU1RfSkVE RUNfUkVBRF9JRCwNCj4gRW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25KZWRlY0lk ICAgICAgfSwgICAgICAvLyBPcGNvZGUgMDogUmVhZCBJRA0KPiArICAgIHtFbnVtU3BpT3Bjb2Rl UmVhZCwgICAgICAgICAgIFNGX0lOU1RfUkVBRCwgICAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6 LA0KPiBFbnVtU3BpT3BlcmF0aW9uUmVhZERhdGEgICAgICB9LCAgICAgIC8vIE9wY29kZSAxOiBS ZWFkDQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0ZfSU5TVF9SRFNSLA0K PiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvblJlYWRTdGF0dXMgICAgfSwgICAg ICAvLyBPcGNvZGUgMjogUmVhZA0KPiBTdGF0dXMgUmVnaXN0ZXINCj4gKyAgICB7RW51bVNwaU9w Y29kZVdyaXRlTm9BZGRyLCAgICBTRl9JTlNUX1dSREksDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBF bnVtU3BpT3BlcmF0aW9uV3JpdGVEaXNhYmxlICAgIH0sICAgICAgLy8gT3Bjb2RlIDM6DQo+IFdy aXRlIERpc2FibGUNCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlLCAgICAgICAgICBTRl9JTlNU X1NFUkFTRSwgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1IeiwNCj4gRW51bVNwaU9wZXJhdGlvbkVy YXNlXzRLX0J5dGUgIH0sICAgICAgLy8gT3Bjb2RlIDQ6IFNlY3RvciBFcmFzZSAoNEtCKQ0KPiAr ICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfNjRLQl9FUkFTRSwNCj4g RW51bVNwaUN5Y2xlNTBNSHosIEVudW1TcGlPcGVyYXRpb25FcmFzZV82NEtfQnl0ZSAgfSwgICAg ICAvLyBPcGNvZGUgNToNCj4gQmxvY2sgRXJhc2UgKDY0S0INCj4gKyAgICB7RW51bVNwaU9wY29k ZVdyaXRlLCAgICAgICAgICBTRl9JTlNUX1BST0csICAgICAgICAgICBFbnVtU3BpQ3ljbGU1ME1I eiwNCj4gRW51bVNwaU9wZXJhdGlvblByb2dyYW1EYXRhXzFfQnl0ZX0sICAgICAvLyBPcGNvZGUg NjogQnl0ZSBQcm9ncmFtDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZU5vQWRkciwgICAgU0Zf SU5TVF9XUlNSLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbldyaXRlU3Rh dHVzICAgIH0sICAgICAgLy8gT3Bjb2RlIDc6DQo+IFdyaXRlIFN0YXR1cyBSZWdpc3Rlcg0KPiAr ICB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBvZmZzZXQgb2YgdGhlIHN0YXJ0IG9mIHRo ZSBCSU9TIGltYWdlIGluIGZsYXNoLiBUaGlzIHZhbHVlIGlzIHBsYXRmb3JtDQo+IHNwZWNpZmlj DQo+ICsgIC8vIGFuZCBkZXBlbmRzIG9uIHRoZSBzeXN0ZW0gZmxhc2ggbWFwLiBJZiBCSU9TIHNp emUgaXMgYmlnZ2VyIHRoYW4gZmxhc2gNCj4gcmV0dXJuIC0xLg0KPiArICAvLw0KPiArICAoKEVP Tl9FTjI1UTEyOF9TSVpFID49IEZMQVNIX1NJWkUpID8gRU9OX0VOMjVRMTI4X1NJWkUgLQ0KPiBG TEFTSF9TSVpFIDogKFVJTlROKSAoLTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgc2l6 ZSBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9ybSBzcGVj aWZpYyBhbmQNCj4gZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAgLy8NCj4g KyAgRkxBU0hfU0laRQ0KPiArICB9LA0KPiArICB7DQo+ICsgIFNGX1ZFTkRPUl9JRF9BTUlDLCAg ICAgICAgLy8gVmVuZG9ySWQNCj4gKyAgU0ZfREVWSUNFX0lEMF9BMjVMMDE2LCAgICAvLyBEZXZp Y2VJZCAwDQo+ICsgIFNGX0RFVklDRV9JRDFfQTI1TDAxNiwgICAgLy8gRGV2aWNlSWQgMQ0KPiAr ICB7DQo+ICsgICAgU0ZfSU5TVF9XUkVOLCAgICAgICAgICAgLy8gUHJlZml4IE9wY29kZSAwOiBX cml0ZSBFbmFibGUNCj4gKyAgICBTRl9JTlNUX1dSRU4gICAgICAgICAgICAvLyBQcmVmaXggT3Bj b2RlIDE6IFdyaXRlIEVuYWJsZSAodGhpcyBwYXJ0IGRvZXNuJ3QNCj4gc3VwcG9ydCBFV1NSKQ0K PiArICB9LA0KPiArICB7DQo+ICsgICAge0VudW1TcGlPcGNvZGVSZWFkTm9BZGRyLCAgICAgU0Zf SU5TVF9KRURFQ19SRUFEX0lELA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlv bkplZGVjSWQgICAgICB9LCAgICAgIC8vIE9wY29kZSAwOiBSZWFkIElEDQo+ICsgICAge0VudW1T cGlPcGNvZGVSZWFkLCAgICAgICAgICAgU0ZfSU5TVF9SRUFELCAgICAgICAgICAgRW51bVNwaUN5 Y2xlNTBNSHosDQo+IEVudW1TcGlPcGVyYXRpb25SZWFkRGF0YSAgICAgIH0sICAgICAgLy8gT3Bj b2RlIDE6IFJlYWQNCj4gKyAgICB7RW51bVNwaU9wY29kZVJlYWROb0FkZHIsICAgICBTRl9JTlNU X1JEU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9uUmVhZFN0YXR1cyAg ICB9LCAgICAgIC8vIE9wY29kZSAyOiBSZWFkDQo+IFN0YXR1cyBSZWdpc3Rlcg0KPiArICAgIHtF bnVtU3BpT3Bjb2RlV3JpdGVOb0FkZHIsICAgIFNGX0lOU1RfV1JESSwNCj4gRW51bVNwaUN5Y2xl NTBNSHosIEVudW1TcGlPcGVyYXRpb25Xcml0ZURpc2FibGUgICAgfSwgICAgICAvLyBPcGNvZGUg MzoNCj4gV3JpdGUgRGlzYWJsZQ0KPiArICAgIHtFbnVtU3BpT3Bjb2RlV3JpdGUsICAgICAgICAg IFNGX0lOU1RfU0VSQVNFLCAgICAgICAgIEVudW1TcGlDeWNsZTUwTUh6LA0KPiBFbnVtU3BpT3Bl cmF0aW9uRXJhc2VfNEtfQnl0ZSAgfSwgICAgICAvLyBPcGNvZGUgNDogU2VjdG9yIEVyYXNlICg0 S0IpDQo+ICsgICAge0VudW1TcGlPcGNvZGVXcml0ZSwgICAgICAgICAgU0ZfSU5TVF82NEtCX0VS QVNFLA0KPiBFbnVtU3BpQ3ljbGU1ME1IeiwgRW51bVNwaU9wZXJhdGlvbkVyYXNlXzY0S19CeXRl ICB9LCAgICAgIC8vIE9wY29kZSA1Og0KPiBCbG9jayBFcmFzZSAoNjRLQg0KPiArICAgIHtFbnVt U3BpT3Bjb2RlV3JpdGUsICAgICAgICAgIFNGX0lOU1RfUFJPRywgICAgICAgICAgIEVudW1TcGlD eWNsZTUwTUh6LA0KPiBFbnVtU3BpT3BlcmF0aW9uUHJvZ3JhbURhdGFfMV9CeXRlfSwgICAgIC8v IE9wY29kZSA2OiBCeXRlIFByb2dyYW0NCj4gKyAgICB7RW51bVNwaU9wY29kZVdyaXRlTm9BZGRy LCAgICBTRl9JTlNUX1dSU1IsDQo+IEVudW1TcGlDeWNsZTUwTUh6LCBFbnVtU3BpT3BlcmF0aW9u V3JpdGVTdGF0dXMgICAgfSwgICAgICAvLyBPcGNvZGUgNzoNCj4gV3JpdGUgU3RhdHVzIFJlZ2lz dGVyDQo+ICsgIH0sDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIG9mZnNldCBvZiB0aGUgc3Rh cnQgb2YgdGhlIEJJT1MgaW1hZ2UgaW4gZmxhc2guIFRoaXMgdmFsdWUgaXMgcGxhdGZvcm0NCj4g c3BlY2lmaWMNCj4gKyAgLy8gYW5kIGRlcGVuZHMgb24gdGhlIHN5c3RlbSBmbGFzaCBtYXAuIElm IEJJT1Mgc2l6ZSBpcyBiaWdnZXIgdGhhbiBmbGFzaA0KPiByZXR1cm4gLTEuDQo+ICsgIC8vDQo+ ICsgICgoQU1JQ19BMjVMMTZfU0laRSA+PSBGTEFTSF9TSVpFKSA/IEFNSUNfQTI1TDE2X1NJWkUg LSBGTEFTSF9TSVpFIDoNCj4gKFVJTlROKSAoLTEpKSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBU aGUgc2l6ZSBvZiB0aGUgQklPUyBpbWFnZSBpbiBmbGFzaC4gVGhpcyB2YWx1ZSBpcyBwbGF0Zm9y bSBzcGVjaWZpYyBhbmQNCj4gZGVwZW5kcyBvbiB0aGUgc3lzdGVtIGZsYXNoIG1hcC4NCj4gKyAg Ly8NCj4gKyAgRkxBU0hfU0laRQ0KPiArICB9DQo+ICt9Ow0KPiArDQo+IGRpZmYgLS1naXQgYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYi9JMkNMaWIuYw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliL0kyQ0xp Yi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjg1ZjA2NmE5 ZTMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9MaWJyYXJ5L0kyQ0xpYi9JMkNMaWIuYw0KPiBAQCAtMCwwICsxLDQ2IEBADQo+ICsvKisr DQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsgIEkyQ0xpYi5jDQo+ICsNCj4gKw0KPiArDQo+ICstLSovDQo+ICsj aWZkZWYgRUNQX0ZMQUcNCj4gKyNpbmNsdWRlICJFZGtJSUdsdWVEeGUuaCINCj4gKyNlbHNlDQo+ ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVGlt ZXJMaWIuaD4NCj4gKyNlbmRpZg0KPiArI2luY2x1ZGUgPFBjaFJlZ3MvUGNoUmVnc1BjdS5oPg0K PiArI2luY2x1ZGUgPFBjaFJlZ3MuaD4NCj4gKyNpbmNsdWRlIDxQbGF0Zm9ybUJhc2VBZGRyZXNz ZXMuaD4NCj4gKyNpbmNsdWRlIDxQY2hSZWdzL1BjaFJlZ3NMcHNzLmg+DQo+ICsjaWZkZWYgRUNQ X0ZMQUcNCj4gKyNpbmNsdWRlICJJMkNMaWIuaCINCj4gKyNlbHNlDQo+ICsjaW5jbHVkZSA8TGli cmFyeS9JMkNMaWIuaD4NCj4gKyNlbmRpZg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0dsb2JhbE52 c0FyZWEuaD4NCj4gKyNpZm5kZWYgRUNQX0ZMQUcNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlC b290U2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2VuZGlmDQo+ICsNCj4gK0VGSV9TVEFUVVMgQnl0 ZVJlYWRJMkMoDQo+ICsgIElOICBVSU5UOCBCdXNObywNCj4gKyAgSU4gIFVJTlQ4IFNsYXZlQWRk cmVzcywNCj4gKyAgSU4gIFVJTlQ4IE9mZnNldCwNCj4gKyAgSU4gIFVJTlROIFJlYWRCeXRlcywN Cj4gKyAgT1VUIFVJTlQ4ICpSZWFkQnVmZmVyDQo+ICsgICkNCj4gK3sNCj4gKyAgcmV0dXJuIEVG SV9TVUNDRVNTOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvTGlicmFyeS9JMkNMaWIvSTJDTGliTnVsbC5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYi9JMkNMaWJOdWxsLmluZg0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5kNjY5YTRlYWY4DQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9JMkNMaWIvSTJDTGliTnVsbC5pbmYNCj4gQEAgLTAsMCArMSwzOSBAQA0KPiArIyMgQGZpbGUN Cj4gKyMgTnVsbCBpbnN0YW5jZSBvZiBEZWJ1ZyBBZ2VudCBMaWJyYXJ5IHdpdGggZW1wdHkgZnVu Y3Rpb25zLg0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxOCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiArIyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKw0KPiAr W0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAw MDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gSTJDTGliDQo+ICsgIEZJ TEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDdmNjJiZjQ0LTJiYTctNGMyZC05ZDRhLTkx Yzg5MDZmZjA1Mw0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBCQVNFDQo+ ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBMSUJSQVJZX0NM QVNTICAgICAgICAgICAgICAgICAgPSBJMkNMaWINCj4gKw0KPiArIw0KPiArIyBUaGUgZm9sbG93 aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVkIGJ5 IHRoZQ0KPiBidWlsZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElEX0FSQ0hJVEVDVFVSRVMgICAg ICAgICAgID0gSUEzMiBYNjQgRUJDDQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzLmNvbW1vbl0NCj4g KyAgSTJDTGliLmMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBCYXNlTGliDQo+ICsg IElvTGliDQo+ICsgIFRpbWVyTGliDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01k ZVBrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKyAgVmx2MlRi bHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2RlUGtnL1Zs djJEZXZpY2VSZWZDb2RlUGtnLmRlYw0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiArICBnRWZpR2xv YmFsTnZzQXJlYVByb3RvY29sR3VpZA0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJEeGUvSTJDTGliLmMNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYkR4ZS9JMkNMaWIuYw0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xMDRjMmRlZDQzDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9JMkNMaWJEeGUvSTJDTGliLmMNCj4gQEAgLTAsMCArMSw3MzUgQEANCj4gKy8qKiBAZmlsZQ0K PiArICBGdW5jdGlvbnMgZm9yIGFjY2Vzc2luZyBJMkMgcmVnaXN0ZXJzLg0KPiArDQo+ICsgIENv cHlyaWdodCAoYykgMjAwNCAgLSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1 Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVGltZXJMaWIuaD4NCj4gKyNpbmNsdWRlIDxQ Y2hSZWdzL1BjaFJlZ3NQY3UuaD4NCj4gKyNpbmNsdWRlIDxQY2hSZWdzLmg+DQo+ICsjaW5jbHVk ZSA8UGxhdGZvcm1CYXNlQWRkcmVzc2VzLmg+DQo+ICsjaW5jbHVkZSA8UGNoUmVncy9QY2hSZWdz THBzcy5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSTJDTGliLmg+DQo+ICsjaW5jbHVkZSA8UHJv dG9jb2wvR2xvYmFsTnZzQXJlYS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2 aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8STJDUmVncy5oPg0KPiArDQo+ICsjZGVmaW5l IEdMT0JBTF9OVlNfT0ZGU0VUKEZpZWxkKQ0KPiAoVUlOVE4pKChDSEFSOCopJigoRUZJX0dMT0JB TF9OVlNfQVJFQSopMCktPkZpZWxkIC0gKENIQVI4KikwKQ0KPiArDQo+ICsjZGVmaW5lIFBDSUVY X0JBU0VfQUREUkVTUyAgMHhFMDAwMDAwMA0KPiArI2RlZmluZSBQQ0lfRVhQUkVTU19CQVNFX0FE RFJFU1MgKChWT0lEICopIChVSU5UTikNCj4gUENJRVhfQkFTRV9BRERSRVNTKQ0KPiArI2RlZmlu ZSBNbVBjaUFkZHJlc3MoIFNlZ21lbnQsIEJ1cywgRGV2aWNlLCBGdW5jdGlvbiwgUmVnaXN0ZXIg KSBcDQo+ICsgICAgICAgICAoKFVJTlROKVBDSV9FWFBSRVNTX0JBU0VfQUREUkVTUyArIFwNCj4g KyAgICAgICAgIChVSU5UTikoQnVzIDw8IDIwKSArIFwNCj4gKyAgICAgICAgIChVSU5UTikoRGV2 aWNlIDw8IDE1KSArIFwNCj4gKyAgICAgICAgIChVSU5UTikoRnVuY3Rpb24gPDwgMTIpICsgXA0K PiArICAgICAgICAgKFVJTlROKShSZWdpc3RlcikgXA0KPiArICAgICAgICApDQo+ICsjZGVmaW5l IFBDSV9EMzFGMF9SRUdfQkFTRSAgICAgICAgICAgICBQQ0lFWF9CQVNFX0FERFJFU1MgKyAoVUlO VDMyKSAoMzENCj4gPDwgMTUpDQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IF9MUFNTX1BDSV9ERVZJ Q0VfSU5GTyB7DQo+ICsgIFVJTlROICAgICAgICBTZWdtZW50Ow0KPiArICBVSU5UTiAgICAgICAg QnVzTnVtOw0KPiArICBVSU5UTiAgICAgICAgRGV2aWNlTnVtOw0KPiArICBVSU5UTiAgICAgICAg RnVuY3Rpb25OdW07DQo+ICsgIFVJTlROICAgICAgICBCYXIwOw0KPiArICBVSU5UTiAgICAgICAg QmFyMTsNCj4gK30gTFBTU19QQ0lfREVWSUNFX0lORk87DQo+ICsNCj4gK0xQU1NfUENJX0RFVklD RV9JTkZPICBtTHBzc1BjaURldmljZUxpc3RbXSA9IHsNCj4gKyAgezAsIERFRkFVTFRfUENJX0JV U19OVU1CRVJfUENILA0KPiBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBTU19ETUFDMSwNCj4gUENJ X0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBTU19ETUFDLCAweEZFOTAwMDAwLCAweEZFOTA4MDAwfSwN Cj4gKyAgezAsIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILA0KPiBQQ0lfREVWSUNFX05VTUJF Ul9QQ0hfTFBTU19JMkMsDQo+IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQU1NfSTJDMCwgMHhG RTkxMDAwMCwgMHhGRTkxODAwMH0sDQo+ICsgIHswLCBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BD SCwNCj4gUENJX0RFVklDRV9OVU1CRVJfUENIX0xQU1NfSTJDLA0KPiBQQ0lfRlVOQ1RJT05fTlVN QkVSX1BDSF9MUFNTX0kyQzEsIDB4RkU5MjAwMDAsIDB4RkU5MjgwMDB9LA0KPiArICB7MCwgREVG QVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUFNTX0ky QywNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBTU19JMkMyLCAweEZFOTMwMDAwLCAweEZF OTM4MDAwfSwNCj4gKyAgezAsIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILA0KPiBQQ0lfREVW SUNFX05VTUJFUl9QQ0hfTFBTU19JMkMsDQo+IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQU1Nf STJDMywgMHhGRTk0MDAwMCwgMHhGRTk0ODAwMH0sDQo+ICsgIHswLCBERUZBVUxUX1BDSV9CVVNf TlVNQkVSX1BDSCwNCj4gUENJX0RFVklDRV9OVU1CRVJfUENIX0xQU1NfSTJDLA0KPiBQQ0lfRlVO Q1RJT05fTlVNQkVSX1BDSF9MUFNTX0kyQzQsIDB4RkU5NTAwMDAsIDB4RkU5NTgwMDB9LA0KPiAr ICB7MCwgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+IFBDSV9ERVZJQ0VfTlVNQkVSX1BD SF9MUFNTX0kyQywNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBTU19JMkM1LCAweEZFOTYw MDAwLCAweEZFOTY4MDAwfSwNCj4gKyAgezAsIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILA0K PiBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBTU19JMkMsDQo+IFBDSV9GVU5DVElPTl9OVU1CRVJf UENIX0xQU1NfSTJDNiwgMHhGRTk3MDAwMCwgMHhGRTk3ODAwMH0NCj4gK307DQo+ICsNCj4gKyNk ZWZpbmUgTFBTU19QQ0lfREVWSUNFX05VTUJFUg0KPiBzaXplb2YobUxwc3NQY2lEZXZpY2VMaXN0 KS9zaXplb2YoTFBTU19QQ0lfREVWSUNFX0lORk8pDQo+ICsNCj4gK1NUQVRJQyBVSU5UTiBtSTJD QmFzZUFkZHJlc3MgPSAwOw0KPiArU1RBVElDIFVJTlQxNiBtSTJDU2xhdmVBZGRyZXNzID0gMDsN Cj4gKw0KPiArVUlOVDE2IG1JMmNNb2RlPUJfSUNfUkVTVEFSVF9FTiB8IEJfSUNfU0xBVkVfRElT QUJMRSB8DQo+IEJfTUFTVEVSX01PREUgOw0KPiArDQo+ICtVSU5UTiBtSTJjTnZzQmFzZUFkZHJl c3NbXSA9IHsNCj4gKyAgICAgICAgR0xPQkFMX05WU19PRkZTRVQoTERNQTJBZGRyKSwNCj4gKyAg ICAgICAgR0xPQkFMX05WU19PRkZTRVQoSTJDMUFkZHIpLA0KPiArICAgICAgICBHTE9CQUxfTlZT X09GRlNFVChJMkMyQWRkciksDQo+ICsgICAgICAgIEdMT0JBTF9OVlNfT0ZGU0VUKEkyQzNBZGRy KSwNCj4gKyAgICAgICAgR0xPQkFMX05WU19PRkZTRVQoSTJDNEFkZHIpLA0KPiArICAgICAgICBH TE9CQUxfTlZTX09GRlNFVChJMkM1QWRkciksDQo+ICsgICAgICAgIEdMT0JBTF9OVlNfT0ZGU0VU KEkyQzZBZGRyKSwNCj4gKyAgICAgICAgR0xPQkFMX05WU19PRkZTRVQoSTJDN0FkZHIpDQo+ICsg ICAgICB9Ow0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiBnZXQgSTJDeCBjb250cm9s bGVyIGJhc2UgYWRkcmVzcyAoQkFSMCkuDQo+ICsNCj4gKyAgQHBhcmFtIEkyY0NvbnRyb2xsZXJJ bmRleCAgQnVzIE51bWJlciBvZiBJMkMgY29udHJvbGxlci4NCj4gKw0KPiArICBAcmV0dXJuIEky QyBCQVIuDQo+ICsqKi8NCj4gK1VJTlRODQo+ICtHZXRJMmNCYXJBZGRyKA0KPiArICBJTiAgICBV SU5UOCBJMmNDb250cm9sbGVySW5kZXgNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAg ICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9HTE9CQUxfTlZTX0FSRUFfUFJPVE9DT0wgICpHbG9i YWxOdnNBcmVhOw0KPiArICBVSU5UTiAgQWNwaUJhc2VBZGRyOw0KPiArICBVSU5UTiAgUGNpTW1C YXNlPTA7DQo+ICsNCj4gKyAgQVNTRVJUKGdCUyE9TlVMTCk7DQo+ICsNCj4gKyAgU3RhdHVzID0g Z0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbE52 c0FyZWFQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAg ICAgICAgICAgICAgJkdsb2JhbE52c0FyZWENCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gUENJIG1vZGUgZnJvbSBQRUkgKCBHbG9iYWwgTlZTIGlzIG5vdCBy ZWFkeSkuDQo+ICsgIC8vDQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIERF QlVHICgoRUZJX0RfSU5GTywgIkdldEkyY0JhckFkZHIoKQ0KPiBnRWZpR2xvYmFsTnZzQXJlYVBy b3RvY29sR3VpZDolclxuIiwgU3RhdHVzKSk7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBHbG9iYWwg TlZTIGlzIG5vdCByZWFkeS4NCj4gKyAgICAvLw0KPiArICAgIHJldHVybiAwOw0KPiArICB9DQo+ ICsNCj4gKyAgQWNwaUJhc2VBZGRyID0gICooVUlOVE4qKSgoQ0hBUjgqKUdsb2JhbE52c0FyZWEt PkFyZWEgKw0KPiBtSTJjTnZzQmFzZUFkZHJlc3NbSTJjQ29udHJvbGxlckluZGV4ICsgMV0pOw0K PiArDQo+ICsgIC8vDQo+ICsgIC8vUENJIG1vZGUgZnJvbSBEWEUgKGdsb2JhbCBOVlMgcHJvdG9j YWwpIHRvIExQU1MgT25SZWFkeXRvQm9vdChzd2l0aA0KPiB0byBBQ1BJKS4NCj4gKyAgLy8NCj4g KyAgaWYoQWNwaUJhc2VBZGRyPT0wKSB7DQo+ICsgICAgUGNpTW1CYXNlID0gTW1QY2lBZGRyZXNz ICgNCj4gKyAgICAgICAgICAgICAgICAgIG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVy SW5kZXggKyAxXS5TZWdtZW50LA0KPiArICAgICAgICAgICAgICAgICAgbUxwc3NQY2lEZXZpY2VM aXN0W0kyY0NvbnRyb2xsZXJJbmRleCArIDFdLkJ1c051bSwNCj4gKyAgICAgICAgICAgICAgICAg IG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXggKyAxXS5EZXZpY2VOdW0sDQo+ ICsgICAgICAgICAgICAgICAgICBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4 ICsgMV0uRnVuY3Rpb25OdW0sDQo+ICsgICAgICAgICAgICAgICAgICAwDQo+ICsgICAgICAgICAg ICAgICAgICApOw0KPiArICAgIERFQlVHKChFRklfRF9FUlJPUiwgIlxuR2V0STJjQmFyQWRkcigp IEkyQyBEZXZpY2UgJXggJXggJXgNCj4gUGNpTW1CYXNlOiV4XG4iLCBcDQo+ICsgICAgICAgICAg IG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXggKyAxXS5CdXNOdW0sIFwNCj4g KyAgICAgICAgICAgbUxwc3NQY2lEZXZpY2VMaXN0W0kyY0NvbnRyb2xsZXJJbmRleCArIDFdLkRl dmljZU51bSwgXA0KPiArICAgICAgICAgICBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxl ckluZGV4ICsgMV0uRnVuY3Rpb25OdW0sDQo+IFBjaU1tQmFzZSkpOw0KPiArDQo+ICsgICAgaWYg KE1taW9SZWFkMzIgKFBjaU1tQmFzZSkgIT0gMHhGRkZGRkZGRikgICAgew0KPiArICAgICAgaWYo KE1taW9SZWFkMzIgKFBjaU1tQmFzZStSX1BDSF9MUFNTX0kyQ19TVFNDTUQpJg0KPiBCX1BDSF9M UFNTX0kyQ19TVFNDTURfTVNFKSkgew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBHZXQg dGhlIGFkZHJlc3MgYWxsb2N0ZWQuDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIG1McHNzUGNp RGV2aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXggKyAxXS5CYXIwPU1taW9SZWFkMzINCj4gKFBj aU1tQmFzZStSX1BDSF9MUFNTX0kyQ19CQVIpOw0KPiArICAgICAgICBtTHBzc1BjaURldmljZUxp c3RbSTJjQ29udHJvbGxlckluZGV4ICsgMV0uQmFyMT1NbWlvUmVhZDMyDQo+IChQY2lNbUJhc2Ur Ul9QQ0hfTFBTU19JMkNfQkFSMSk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgIEFjcGlC YXNlQWRkciA9bUxwc3NQY2lEZXZpY2VMaXN0W0kyY0NvbnRyb2xsZXJJbmRleCsxXS5CYXIwOw0K PiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQUNQSSBtb2RlIGZyb20gQkRTOiBMUFNTIE9u UmVhZHl0b0Jvb3QNCj4gKyAgLy8NCj4gKyAgZWxzZSB7DQo+ICsgICAgREVCVUcgKChFRklfRF9J TkZPLCAiR2V0STJjQmFyQWRkcigpIE5WUyBWYXJpYWxhYmxlIGlzIHVwZGF0ZWQgYnkgdGhpcw0K PiBMSUIgb3IgTFBTUyAgXG4iKSk7DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0lO Rk8sICJHZXRJMmNCYXJBZGRyKCkgSTJjQ29udHJvbGxlckluZGV4KzEgMHgleA0KPiBBY3BpQmFz ZUFkZHI6MHgleCBcbiIsIChJMmNDb250cm9sbGVySW5kZXggKyAxKSwgQWNwaUJhc2VBZGRyKSk7 DQo+ICsgIHJldHVybiBBY3BpQmFzZUFkZHI7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsg IFRoaXMgZnVuY3Rpb24gZW5hYmxlcyBJMkMgY29udHJvbGxlcnMuDQo+ICsNCj4gKyAgQHBhcmFt IEkyY0NvbnRyb2xsZXJJbmRleCAgQnVzIE51bWJlciBvZiBJMkMgY29udHJvbGxlcnMuDQo+ICsN Cj4gKyAgQHJldHVybiBSZXN1bHQgb2YgdGhlIEkyQyBpbml0aWFsaXphdGlvbi4NCj4gKyoqLw0K PiArRUZJX1NUQVRVUw0KPiArUHJvZ3JhbVBjaUxwc3NJMkMgKA0KPiArICBJTiAgVUlOVDggSTJj Q29udHJvbGxlckluZGV4DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAg ICAgICAgICAgUG1jQmFzZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgUGNp TW1CYXNlPTA7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4g KyAgRUZJX0dMT0JBTF9OVlNfQVJFQV9QUk9UT0NPTCAgKkdsb2JhbE52c0FyZWE7DQo+ICsNCj4g KyAgVUlOVDMyIFBtY0Z1bmN0aW9uRHNpYWJsZVtdPSB7DQo+ICsgICAgQl9QQ0hfUE1DX0ZVTkNf RElTX0xQU1MyX0ZVTkMxLA0KPiArICAgIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9GVU5DMiwN Cj4gKyAgICBCX1BDSF9QTUNfRlVOQ19ESVNfTFBTUzJfRlVOQzMsDQo+ICsgICAgQl9QQ0hfUE1D X0ZVTkNfRElTX0xQU1MyX0ZVTkM0LA0KPiArICAgIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9G VU5DNSwNCj4gKyAgICBCX1BDSF9QTUNfRlVOQ19ESVNfTFBTUzJfRlVOQzYsDQo+ICsgICAgQl9Q Q0hfUE1DX0ZVTkNfRElTX0xQU1MyX0ZVTkM3DQo+ICsgIH07DQo+ICsNCj4gKyAgREVCVUcgKChF RklfRF9JTkZPLCAiUHJvZ3JhbVBjaUxwc3NJMkMoKSBTdGFydFxuIikpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFNldCB0aGUgVkxWIEZ1bmN0aW9uIERpc2FibGUgUmVnaXN0ZXIgdG8gWkVSTw0K PiArICAvLw0KPiArICBQbWNCYXNlID0gTW1pb1JlYWQzMiAoUENJX0QzMUYwX1JFR19CQVNFICsg Ul9QQ0hfTFBDX1BNQ19CQVNFKQ0KPiAmIEJfUENIX0xQQ19QTUNfQkFTRV9CQVI7DQo+ICsNCj4g aWYoTW1pb1JlYWQzMihQbWNCYXNlK1JfUENIX1BNQ19GVU5DX0RJUykmUG1jRnVuY3Rpb25Ec2lh YmxlW0kyDQo+IGNDb250cm9sbGVySW5kZXhdKSB7DQo+ICsgICAgREVCVUcgKChFRklfRF9JTkZP LCAiUHJvZ3JhbVBjaUxwc3NJMkMoKSBFbmQ6STJDWyV4XSBpcw0KPiBkaXNhYmxlZFxuIixJMmND b250cm9sbGVySW5kZXgpKTsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9SRUFEWTsNCj4gKyAgfQ0K PiArDQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTywgIlByb2dyYW1QY2lMcHNzSTJDKCktLS0tLS0t LS0tLS0NCj4gSTJjQ29udHJvbGxlckluZGV4PSV4LFBNQz0leFxuIixJMmNDb250cm9sbGVySW5k ZXgsTW1pb1JlYWQzMihQbWNCYQ0KPiBzZStSX1BDSF9QTUNfRlVOQ19ESVMpKSk7DQo+ICsNCj4g KyAgew0KPiArICAgIFBjaU1tQmFzZSA9IE1tUGNpQWRkcmVzcyAoDQo+ICsgICAgICAgICAgICAg ICAgICBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLlNlZ21lbnQsDQo+ ICsgICAgICAgICAgICAgICAgICBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4 KzFdLkJ1c051bSwNCj4gKyAgICAgICAgICAgICAgICAgIG1McHNzUGNpRGV2aWNlTGlzdFtJMmND b250cm9sbGVySW5kZXgrMV0uRGV2aWNlTnVtLA0KPiArICAgICAgICAgICAgICAgICAgbUxwc3NQ Y2lEZXZpY2VMaXN0W0kyY0NvbnRyb2xsZXJJbmRleCsxXS5GdW5jdGlvbk51bSwNCj4gKyAgICAg ICAgICAgICAgICAgIDANCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICBERUJV RygoRUZJX0RfRVJST1IsICJQcm9ncmFtIFBjaSBMcHNzIEkyQyBEZXZpY2UgICV4ICV4ICV4DQo+ IFBjaU1tQmFzZToleFxuIiwgXA0KPiArICAgICAgICAgICBtTHBzc1BjaURldmljZUxpc3RbSTJj Q29udHJvbGxlckluZGV4KzFdLkJ1c051bSwgXA0KPiArICAgICAgICAgICBtTHBzc1BjaURldmlj ZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLkRldmljZU51bSwgXA0KPiArICAgICAgICAgICBt THBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLkZ1bmN0aW9uTnVtLCBQY2lN bUJhc2UpKTsNCj4gKw0KPiArICAgIGlmIChNbWlvUmVhZDMyIChQY2lNbUJhc2UpICE9IDB4RkZG RkZGRkYpICAgICB7DQo+ICsgICAgICBpZigoTW1pb1JlYWQzMiAoUGNpTW1CYXNlK1JfUENIX0xQ U1NfSTJDX1NUU0NNRCkmDQo+IEJfUENIX0xQU1NfSTJDX1NUU0NNRF9NU0UpKSB7DQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIC8vIEdldCB0aGUgYWRkcmVzcyBhbGxvY3RlZC4NCj4gKyAgICAg ICAgLy8NCj4gKyAgICAgICAgbUxwc3NQY2lEZXZpY2VMaXN0W0kyY0NvbnRyb2xsZXJJbmRleCsx XS5CYXIwPU1taW9SZWFkMzINCj4gKFBjaU1tQmFzZStSX1BDSF9MUFNTX0kyQ19CQVIpOw0KPiAr ICAgICAgICBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLkJhcjE9TW1p b1JlYWQzMg0KPiAoUGNpTW1CYXNlK1JfUENIX0xQU1NfSTJDX0JBUjEpOw0KPiArICAgICAgICBE RUJVRygoRUZJX0RfRVJST1IsICJQcm9ncmFtUGNpTHBzc0kyQygpIGJhcjA6MHgleA0KPiBiYXIx OjB4JXhcbiIsbUxwc3NQY2lEZXZpY2VMaXN0W0kyY0NvbnRyb2xsZXJJbmRleCsxXS5CYXIwLA0K PiBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLkJhcjEpKTsNCj4gKyAg ICAgIH0gZWxzZSB7DQo+ICsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gUHJvZ3JhbSBC QVIgMA0KPiArICAgICAgICAvLw0KPiArICAgICAgICBBU1NFUlQgKCgobUxwc3NQY2lEZXZpY2VM aXN0W0kyY0NvbnRyb2xsZXJJbmRleCsxXS5CYXIwICYNCj4gQl9QQ0hfTFBTU19JMkNfQkFSX0JB KSA9PQ0KPiBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLkJhcjApICYm DQo+IChtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLkJhcjAgIT0gMCkp Ow0KPiArICAgICAgICBNbWlvV3JpdGUzMiAoKFVJTlROKSAoUGNpTW1CYXNlICsgUl9QQ0hfTFBT U19JMkNfQkFSKSwgKFVJTlQzMikNCj4gKG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVy SW5kZXgrMV0uQmFyMCAmDQo+IEJfUENIX0xQU1NfSTJDX0JBUl9CQSkpOw0KPiArDQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIC8vIFByb2dyYW0gQkFSIDENCj4gKyAgICAgICAgLy8NCj4gKyAg ICAgICAgQVNTRVJUICgoKG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXgrMV0u QmFyMSAmDQo+IEJfUENIX0xQU1NfSTJDX0JBUjFfQkEpID09DQo+IG1McHNzUGNpRGV2aWNlTGlz dFtJMmNDb250cm9sbGVySW5kZXgrMV0uQmFyMSkgJiYNCj4gKG1McHNzUGNpRGV2aWNlTGlzdFtJ MmNDb250cm9sbGVySW5kZXgrMV0uQmFyMSAhPSAwKSk7DQo+ICsgICAgICAgIE1taW9Xcml0ZTMy ICgoVUlOVE4pIChQY2lNbUJhc2UgKyBSX1BDSF9MUFNTX0kyQ19CQVIxKSwNCj4gKFVJTlQzMikg KG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXgrMV0uQmFyMSAmDQo+IEJfUENI X0xQU1NfSTJDX0JBUjFfQkEpKTsNCj4gKw0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBC dXMgTWFzdGVyIEVuYWJsZSAmIE1lbW9yeSBTcGFjZSBFbmFibGUNCj4gKyAgICAgICAgLy8NCj4g KyAgICAgICAgTW1pb09yMzIgKChVSU5UTikgKFBjaU1tQmFzZSArIFJfUENIX0xQU1NfSTJDX1NU U0NNRCksDQo+IChVSU5UMzIpIChCX1BDSF9MUFNTX0kyQ19TVFNDTURfQk1FIHwNCj4gQl9QQ0hf TFBTU19JMkNfU1RTQ01EX01TRSkpOw0KPiArICAgICAgICBBU1NFUlQgKE1taW9SZWFkMzINCj4g KG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXgrMV0uQmFyMCkgIT0gMHhGRkZG RkZGRik7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBSZWxlYXNl IFJlc2V0cw0KPiArICAgICAgLy8NCj4gKyAgICAgIE1taW9Xcml0ZTMyIChtTHBzc1BjaURldmlj ZUxpc3RbSTJjQ29udHJvbGxlckluZGV4KzFdLkJhcjAgKw0KPiBSX1BDSF9MUElPX0kyQ19NRU1f UkVTRVRTLChCX1BDSF9MUElPX0kyQ19NRU1fUkVTRVRTX0ZVTkMgfA0KPiBCX1BDSF9MUElPX0ky Q19NRU1fUkVTRVRTX0FQQikpOw0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gQWN0aXZh dGUgQ2xvY2tzDQo+ICsgICAgICAvLw0KPiArICAgICAgTW1pb1dyaXRlMzIgKG1McHNzUGNpRGV2 aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXgrMV0uQmFyMCArDQo+IFJfUENIX0xQU1NfSTJDX01F TV9QQ1AsMHg4MDAyMDAwMyk7Ly9ObyB1c2UgZm9yIEEwDQo+ICsNCj4gKyAgICAgIERFQlVHICgo RUZJX0RfSU5GTywgIlByb2dyYW1QY2lMcHNzSTJDKCkgUHJvZ3JhbW1lZCgpXG4iKSk7DQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBCRFM6IGFscmVhZHkgc3dpdGNoZWQgdG8g QUNQSSBtb2RlDQo+ICsgICAgLy8NCj4gKyAgICBlbHNlIHsNCj4gKyAgICAgIEFTU0VSVChnQlMh PU5VTEwpOw0KPiArICAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxOdnNBcmVhUHJvdG9jb2xHdWlkLA0KPiArICAg ICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJkdsb2Jh bE52c0FyZWENCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgaWYgKEVGSV9F UlJPUihTdGF0dXMpKSB7DQo+ICsgICAgICAgIERFQlVHICgoRUZJX0RfSU5GTywgIkdldEkyY0Jh ckFkZHIoKQ0KPiBnRWZpR2xvYmFsTnZzQXJlYVByb3RvY29sR3VpZDolclxuIiwgU3RhdHVzKSk7 DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIGdFZmlHbG9iYWxOdnNBcmVhUHJvdG9jb2xH dWlkIGlzIG5vdCByZWFkeS4NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgcmV0dXJuIDA7DQo+ ICsgICAgICB9DQo+ICsgICAgICBtTHBzc1BjaURldmljZUxpc3RbSTJjQ29udHJvbGxlckluZGV4 ICsgMV0uQmFyMCA9DQo+ICooVUlOVE4qKSgoQ0hBUjgqKUdsb2JhbE52c0FyZWEtPkFyZWEgKw0K PiBtSTJjTnZzQmFzZUFkZHJlc3NbSTJjQ29udHJvbGxlckluZGV4ICsgMV0pOw0KPiArICAgICAg REVCVUcgKChFRklfRF9JTkZPLCAiUHJvZ3JhbVBjaUxwc3NJMkMoKTogaXMgc3dpdGNoZWQgdG8g QUNQSSAweDoleA0KPiBcbiIsbUxwc3NQY2lEZXZpY2VMaXN0W0kyY0NvbnRyb2xsZXJJbmRleCAr IDFdLkJhcjApKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0lO Rk8sICJQcm9ncmFtUGNpTHBzc0kyQygpIEVuZFxuIikpOw0KPiArDQo+ICsgIHJldHVybiBFRklf U1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIERpc2FibGUgSTJDIEJ1cy4NCj4gKw0K PiArICBAcGFyYW0gVk9JRC4NCj4gKw0KPiArICBAcmV0dXJuIFJlc3VsdCBvZiB0aGUgSTJDIGRp c2FibGluZy4NCj4gKyoqLw0KPiArUkVUVVJOX1NUQVRVUw0KPiArSTJjRGlzYWJsZSAoDQo+ICsg IFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyAwLjEgc2Vjb25kcw0KPiArICAv Lw0KPiArICBVSU5UMzIgTnVtVHJpZXMgPSAxMDAwMDsNCj4gKw0KPiArICBNbWlvV3JpdGUzMiAo IG1JMkNCYXNlQWRkcmVzcyArIFJfSUNfRU5BQkxFLCAwICk7DQo+ICsgIHdoaWxlICggMCAhPSAo IE1taW9SZWFkMzIgKCBtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0VOQUJMRV9TVEFUVVMpICYNCj4g MSkpIHsNCj4gKyAgICBNaWNyb1NlY29uZERlbGF5ICgxMCk7DQo+ICsgICAgTnVtVHJpZXMgLS07 DQo+ICsgICAgaWYoMCA9PSBOdW1Ucmllcykgew0KPiArICAgICAgcmV0dXJuIFJFVFVSTl9OT1Rf UkVBRFk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFJFVFVSTl9TVUNDRVNT Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgRW5hYmxlIEkyQyBCdXMuDQo+ICsNCj4gKyAgQHBh cmFtIFZPSUQuDQo+ICsNCj4gKyAgQHJldHVybiBSZXN1bHQgb2YgdGhlIEkyQyBkaXNhYmxpbmcu DQo+ICsqKi8NCj4gK1JFVFVSTl9TVEFUVVMNCj4gK0kyY0VuYWJsZSAoDQo+ICsgIFZPSUQNCj4g KyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyAwLjEgc2Vjb25kcw0KPiArICAvLw0KPiArICBV SU5UMzIgTnVtVHJpZXMgPSAxMDAwMDsNCj4gKw0KPiArICBNbWlvV3JpdGUzMiAobUkyQ0Jhc2VB ZGRyZXNzICsgUl9JQ19FTkFCTEUsIDEpOw0KPiArDQo+ICsgIHdoaWxlICgwID09IChNbWlvUmVh ZDMyIChtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0VOQUJMRV9TVEFUVVMpICYNCj4gMSkpIHsNCj4g KyAgICBNaWNyb1NlY29uZERlbGF5ICgxMCk7DQo+ICsgICAgTnVtVHJpZXMgLS07DQo+ICsgICAg aWYoMCA9PSBOdW1Ucmllcyl7DQo+ICsgICAgICAgcmV0dXJuIFJFVFVSTl9OT1RfUkVBRFk7DQo+ ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFJFVFVSTl9TVUNDRVNTOw0KPiArfQ0K PiArDQo+ICsvKioNCj4gKyAgRW5hYmxlIEkyQyBCdXMuDQo+ICsNCj4gKyAgQHBhcmFtIFZPSUQu DQo+ICsNCj4gKyAgQHJldHVybiBSZXN1bHQgb2YgdGhlIEkyQyBlbmFibGluZy4NCj4gKyoqLw0K PiArUkVUVVJOX1NUQVRVUw0KPiArSTJjQnVzRnJlcXVlbmN5U2V0ICgNCj4gKyAgSU4gVUlOVE4g QnVzQ2xvY2tIZXJ0eg0KPiArICApDQo+ICt7DQo+ICsgIERFQlVHKChFRklfRF9JTkZPLCJJbnB1 dEZyZXEgQnVzQ2xvY2tIZXJ0ejogJWRcclxuIixCdXNDbG9ja0hlcnR6KSk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gIFNldCB0aGUgMTAwIEtIeiBjbG9jayBkaXZpZGVyIGFjY29yZGluZyB0byBT ViByZXN1bHQgYW5kIEkyQyBzcGVjDQo+ICsgIC8vDQo+ICsgIE1taW9Xcml0ZTMyICggbUkyQ0Jh c2VBZGRyZXNzICsgUl9JQ19TU19TQ0xfSENOVCwgKFVJTlQxNikweDIxNCApOw0KPiArICBNbWlv V3JpdGUzMiAoIG1JMkNCYXNlQWRkcmVzcyArIFJfSUNfU1NfU0NMX0xDTlQsIChVSU5UMTYpMHgy NzIgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyAgU2V0IHRoZSA0MDAgS0h6IGNsb2NrIGRpdmlk ZXIgYWNjb3JkaW5nIHRvIFNWIHJlc3VsdCBhbmQgSTJDIHNwZWMNCj4gKyAgLy8NCj4gKyAgTW1p b1dyaXRlMzIgKCBtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0ZTX1NDTF9IQ05ULCAoVUlOVDE2KTB4 NTAgKTsNCj4gKyAgTW1pb1dyaXRlMzIgKCBtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0ZTX1NDTF9M Q05ULCAoVUlOVDE2KTB4QUQgKTsNCj4gKw0KPiArICBzd2l0Y2ggKCBCdXNDbG9ja0hlcnR6ICkg ew0KPiArICAgIGNhc2UgMTAwICogMTAwMDoNCj4gKyAgICAgIE1taW9Xcml0ZTMyICggbUkyQ0Jh c2VBZGRyZXNzICsgUl9JQ19TREFfSE9MRCwNCj4gKFVJTlQxNikweDQwKTsvLzEwMEsNCj4gKyAg ICAgIG1JMmNNb2RlID0gVl9TUEVFRF9TVEFOREFSRDsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAg IGNhc2UgNDAwICogMTAwMDoNCj4gKyAgICAgIE1taW9Xcml0ZTMyICggbUkyQ0Jhc2VBZGRyZXNz ICsgUl9JQ19TREFfSE9MRCwNCj4gKFVJTlQxNikweDMyKTsvLzQwMEsNCj4gKyAgICAgIG1JMmNN b2RlID0gVl9TUEVFRF9GQVNUOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgZGVmYXVsdDoNCj4g KyAgICAgIE1taW9Xcml0ZTMyICggbUkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19TREFfSE9MRCwNCj4g KFVJTlQxNikweDA5KTsvLzMuNE0NCj4gKyAgICAgIG1JMmNNb2RlID0gVl9TUEVFRF9ISUdIOw0K PiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gIFNlbGVjdCB0aGUgZnJlcXVlbmN5IGNvdW50 ZXIsDQo+ICsgIC8vICBFbmFibGUgcmVzdGFydCBjb25kaXRpb24sDQo+ICsgIC8vICBFbmFibGUg bWFzdGVyIEZTTSwgZGlzYWJsZSBzbGF2ZSBGU00uDQo+ICsgIC8vDQo+ICsgIG1JMmNNb2RlIHw9 IEJfSUNfUkVTVEFSVF9FTiB8IEJfSUNfU0xBVkVfRElTQUJMRSB8DQo+IEJfTUFTVEVSX01PREU7 DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAg SW5pdGlhbGl6ZXMgdGhlIGhvc3QgY29udHJvbGxlciB0byBleGVjdXRlIEkyQyBjb21tYW5kcy4N Cj4gKw0KPiArICBAcGFyYW0gSTJjQ29udHJvbGxlckluZGV4IEluZGV4IG9mIEkyQyBjb250cm9s bGVyIGluIExQU1MgZGV2aWNlLiAwDQo+IHJlcHJlc2VudHMgSTJDMCwgd2hpY2ggaXMgUENJIGZ1 bmN0aW9uIDEgb2YgTFBTUyBkZXZpY2UuDQo+ICsNCj4gKyAgQHJldHVybiBFRklfU1VDQ0VTUyAg ICAgICBPcGNvZGUgaW5pdGlhbGl6YXRpb24gb24gdGhlIEkyQyBob3N0IGNvbnRyb2xsZXINCj4g Y29tcGxldGVkLg0KPiArICBAcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1IgIERldmljZSBlcnJvciwg b3BlcmF0aW9uIGZhaWxlZC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArSTJDSW5pdCAoDQo+ ICsgIElOICBVSU5UOCAgSTJjQ29udHJvbGxlckluZGV4LA0KPiArICBJTiAgVUlOVDE2IFNsYXZl QWRkcmVzcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgU3RhdHVzPVJFVFVSTl9TVUND RVNTOw0KPiArICBVSU5UMzIgICAgTnVtVHJpZXMgPSAwOw0KPiArICBVSU5UTiAgICBHbnZzSTJj QmFyQWRkcj0wOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFZlcmlmeSB0aGUgcGFyYW1ldGVycw0K PiArICAvLw0KPiArICBpZiAoKDEwMjMgPCBTbGF2ZUFkZHJlc3MpIHx8ICg2IDwgSTJjQ29udHJv bGxlckluZGV4KSkgew0KPiArICAgIFN0YXR1cyA9ICBSRVRVUk5fSU5WQUxJRF9QQVJBTUVURVI7 DQo+ICsgICAgREVCVUcoKEVGSV9EX0lORk8sIkkyQ0luaXQgRXhpdCB3aXRoDQo+IFJFVFVSTl9J TlZBTElEX1BBUkFNRVRFUlxyXG4iKSk7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0K PiArICBNbWlvV3JpdGUzMiAoIG1JMkNCYXNlQWRkcmVzcyArIFJfSUNfVEFSLCAoVUlOVDE2KVNs YXZlQWRkcmVzcyApOw0KPiArICBtSTJDU2xhdmVBZGRyZXNzID0gU2xhdmVBZGRyZXNzOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIDEuUEVJOiBwcm9ncmFtIGFuZCBpbml0ICggYmVmb3JlIHBjaSBl bnVtZXJhdGlvbikuDQo+ICsgIC8vIDIuRFhFOnVwZGF0ZSBhZGRyZXNzIGFuZCByZS1pbml0ICgg YWZ0ZXIgcGNpIGVudW1lcmF0aW9uKS4NCj4gKyAgLy8gMy5CRFM6dXBkYXRlIEFDUEkgYWRkcmVz cyBhbmQgcmUtaW5pdCAoIGFmdGVyIGFjcGkgbW9kZSBpcyBlbmFibGVkKS4NCj4gKyAgLy8NCj4g KyAgaWYobUkyQ0Jhc2VBZGRyZXNzID09IG1McHNzUGNpRGV2aWNlTGlzdFtJMmNDb250cm9sbGVy SW5kZXggKyAxXS5CYXIwKSB7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEkyQ0luaXQgaXMg YWxyZWFkeSAgY2FsbGVkLg0KPiArICAgIC8vDQo+ICsgICAgR252c0kyY0JhckFkZHI9R2V0STJj QmFyQWRkcihJMmNDb250cm9sbGVySW5kZXgpOw0KPiArDQo+ICsgICAgaWYoKEdudnNJMmNCYXJB ZGRyID09IDApfHwoR252c0kyY0JhckFkZHIgPT0gbUkyQ0Jhc2VBZGRyZXNzKSkgew0KPiArICAg ICAgREVCVUcoKEVGSV9EX0lORk8sIkkyQ0luaXQgRXhpdCB3aXRoIG1JMkNCYXNlQWRkcmVzczol eCA9PQ0KPiBbJXhdLkJhcjBcclxuIixtSTJDQmFzZUFkZHJlc3MsSTJjQ29udHJvbGxlckluZGV4 KzEpKTsNCj4gKyAgICAgIHJldHVybiBSRVRVUk5fU1VDQ0VTUzsNCj4gKyAgICB9DQo+ICsgIH0N Cj4gKw0KPiArICBTdGF0dXM9UHJvZ3JhbVBjaUxwc3NJMkMoSTJjQ29udHJvbGxlckluZGV4KTsN Cj4gKyAgaWYoU3RhdHVzIT1FRklfU1VDQ0VTUykgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ ICsgIH0NCj4gKw0KPiArDQo+ICsgIG1JMkNCYXNlQWRkcmVzcyA9IChVSU5UMzIpIG1McHNzUGNp RGV2aWNlTGlzdFtJMmNDb250cm9sbGVySW5kZXggKw0KPiAxXS5CYXIwOw0KPiArICBERUJVRyAo KEVGSV9EX0VSUk9SLCAibUkyQ0Jhc2VBZGRyZXNzID0gMHgleA0KPiBcbiIsbUkyQ0Jhc2VBZGRy ZXNzKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gMSBzZWNvbmRzLg0KPiArICAvLw0KPiArICBO dW1UcmllcyA9IDEwMDAwOw0KPiArICB3aGlsZSAoKDEgPT0gKCBNbWlvUmVhZDMyICggbUkyQ0Jh c2VBZGRyZXNzICsgUl9JQ19TVEFUVVMpICYNCj4gU1RBVF9NU1RfQUNUSVZJVFkgKSkpIHsNCj4g KyAgICBNaWNyb1NlY29uZERlbGF5KDEwKTsNCj4gKyAgICBOdW1UcmllcyAtLTsNCj4gKyAgICBp ZigwID09IE51bVRyaWVzKSB7DQo+ICsgICAgICBERUJVRygoRUZJX0RfSU5GTywgIlRyeSB0aW1l b3V0XHJcbiIpKTsNCj4gKyAgICAgIHJldHVybiBSRVRVUk5fREVWSUNFX0VSUk9SOw0KPiArICAg IH0NCj4gKyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IEkyY0Rpc2FibGUoKTsNCj4gKyAgREVCVUco KEVGSV9EX0lORk8sICJJMmNEaXNhYmxlIFN0YXR1cyA9ICVyXHJcbiIsIFN0YXR1cykpOw0KPiAr ICBJMmNCdXNGcmVxdWVuY3lTZXQoNDAwICogMTAwMCk7DQo+ICsNCj4gKyAgTW1pb1dyaXRlMzIo bUkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19JTlRSX01BU0ssIDB4MCk7DQo+ICsgIGlmICgweDdmIDwg U2xhdmVBZGRyZXNzICkNCj4gKyAgICBTbGF2ZUFkZHJlc3MgPSAoIFNsYXZlQWRkcmVzcyAmIDB4 M2ZmICkgfCBJQ19UQVJfMTBCSVRBRERSX01BU1RFUjsNCj4gKyAgTW1pb1dyaXRlMzIgKCBtSTJD QmFzZUFkZHJlc3MgKyBSX0lDX1RBUiwgKFVJTlQxNilTbGF2ZUFkZHJlc3MgKTsNCj4gKyAgTW1p b1dyaXRlMzIgKCBtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX1JYX1RMLCAwKTsNCj4gKyAgTW1pb1dy aXRlMzIgKCBtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX1RYX1RMLCAwICk7DQo+ICsgIE1taW9Xcml0 ZTMyICggbUkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19DT04sIG1JMmNNb2RlKTsNCj4gKyAgU3RhdHVz ID0gSTJjRW5hYmxlKCk7DQo+ICsNCj4gKyAgREVCVUcoKEVGSV9EX0lORk8sICJJMmNFbmFibGUg U3RhdHVzID0gJXJcclxuIiwgU3RhdHVzKSk7DQo+ICsgIE1taW9SZWFkMzIgKCBtSTJDQmFzZUFk ZHJlc3MgKyBSX0lDX0NMUl9UWF9BQlJUICk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUmVhZHMgYSBCeXRlIGZyb20gSTJDIERldmljZS4N Cj4gKw0KPiArICBAcGFyYW0gIEkyY0NvbnRyb2xsZXJJbmRleCAgICAgICAgICAgICBJMkMgQnVz IG5vIHRvIHdoaWNoIHRoZSBJMkMgZGV2aWNlIGhhcw0KPiBiZWVuIGNvbm5lY3RlZA0KPiArICBA cGFyYW0gIFNsYXZlQWRkcmVzcyAgICAgIERldmljZSBBZGRyZXNzIGZyb20gd2hpY2ggdGhlIGJ5 dGUgdmFsdWUgaGFzIHRvDQo+IGJlIHJlYWQNCj4gKyAgQHBhcmFtICBPZmZzZXQgICAgICAgICAg ICBPZmZzZXQgZnJvbSB3aGljaCB0aGUgZGF0YSBoYXMgdG8gYmUgcmVhZA0KPiArICBAcGFyYW0g ICpCeXRlICAgICAgICAgICAgIEFkZHJlc3MgdG8gd2hpY2ggdGhlIHZhbHVlIHJlYWQgaGFzIHRv IGJlIHN0b3JlZA0KPiArICBAcGFyYW0gIFN0YXJ0ICAgICAgICAgICAgICAgV2hldGhlciBhIFJF U1RBUlQgaXMgaXNzdWVkIGJlZm9yZSB0aGUgYnl0ZSBpcyBzZW50DQo+IG9yIHJlY2VpdmVkDQo+ ICsgIEBwYXJhbSAgRW5kICAgICAgICAgICAgICAgICBXaGV0aGVyIFNUT1AgaXMgZ2VuZXJhdGVk IGFmdGVyIGEgZGF0YSBieXRlIGlzIHNlbnQNCj4gb3IgcmVjZWl2ZWQNCj4gKw0KPiArICBAcmV0 dXJuICBFRklfU1VDQ0VTUyAgICAgICBJRiB0aGUgYnl0ZSB2YWx1ZSBoYXMgYmVlbiBzdWNjZXNz ZnVsbHkgcmVhZA0KPiArICBAcmV0dXJuICBFRklfREVWSUNFX0VSUk9SICBPcGVyYXRpb24gRmFp bGVkLCBEZXZpY2UgRXJyb3INCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQnl0ZVJlYWRJMkNC YXNpYygNCj4gKyAgSU4gIFVJTlQ4IEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gKyAgSU4gIFVJTlQ4 IFNsYXZlQWRkcmVzcywNCj4gKyAgSU4gIFVJTlROIFJlYWRCeXRlcywNCj4gKyAgT1VUIFVJTlQ4 ICpSZWFkQnVmZmVyLA0KPiArICBJTiAgVUlOVDggU3RhcnQsDQo+ICsgIElOICBVSU5UOCBFbmQN Cj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIEVGSV9TVEFUVVMgU3RhdHVzOw0KPiArICBVSU5UMzIg STJjU3RhdHVzOw0KPiArICBVSU5UMTYgUmVjZWl2ZURhdGE7DQo+ICsgIFVJTlQ4ICpSZWNlaXZl RGF0YUVuZDsNCj4gKyAgVUlOVDggKlJlY2VpdmVSZXF1ZXN0Ow0KPiArICBVSU5UMTYgUmF3SW50 clN0YXQ7DQo+ICsgIFVJTlQzMiBDb3VudD0wOw0KPiArDQo+ICsgIFN0YXR1cyA9IEVGSV9TVUND RVNTOw0KPiArDQo+ICsgIFJlY2VpdmVEYXRhRW5kID0gJlJlYWRCdWZmZXIgW1JlYWRCeXRlc107 DQo+ICsgIGlmKCBSZWFkQnl0ZXMgKSB7DQo+ICsNCj4gKyAgICBSZWNlaXZlUmVxdWVzdCA9IFJl YWRCdWZmZXI7DQo+ICsgICAgREVCVUcoKEVGSV9EX0lORk8sIlJlYWQ6IC0tLS0tLS0tLS0tLS0t LSVkIGJ5dGVzIHRvDQo+IFJYXHJcbiIsUmVjZWl2ZURhdGFFbmQgLSBSZWNlaXZlUmVxdWVzdCkp Ow0KPiArDQo+ICsgICAgd2hpbGUgKChSZWNlaXZlRGF0YUVuZCA+IFJlY2VpdmVSZXF1ZXN0KSB8 fCAoUmVjZWl2ZURhdGFFbmQgPg0KPiBSZWFkQnVmZmVyKSkgew0KPiArDQo+ICsgICAgICAvLw0K PiArICAgICAgLy8gIENoZWNrIGZvciBOQUNLDQo+ICsgICAgICAvLw0KPiArICAgICAgUmF3SW50 clN0YXQgPSAoVUlOVDE2KU1taW9SZWFkMzIgKG1JMkNCYXNlQWRkcmVzcyArDQo+IFJfSUNfUmF3 SW50clN0YXQpOw0KPiArICAgICAgaWYgKCAwICE9ICggUmF3SW50clN0YXQgJiBJMkNfSU5UUl9U WF9BQlJUICkpIHsNCj4gKyAgICAgICAgTW1pb1JlYWQzMiAoIG1JMkNCYXNlQWRkcmVzcyArIFJf SUNfQ0xSX1RYX0FCUlQgKTsNCj4gKyAgICAgICAgU3RhdHVzID0gUkVUVVJOX0RFVklDRV9FUlJP UjsNCj4gKyAgICAgICAgREVCVUcoKEVGSV9EX0lORk8sIlRYIEFCUlQgLCVkIGJ5dGVzIGhhc24n dCBiZWVuDQo+IHRyYW5zZmVycmVkXHJcbiIsUmVjZWl2ZURhdGFFbmQgLSBSZWNlaXZlUmVxdWVz dCkpOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8NCj4g KyAgICAgIC8vIERldGVybWluZSBpZiBhbm90aGVyIGJ5dGUgd2FzIHJlY2VpdmVkDQo+ICsgICAg ICAvLw0KPiArICAgICAgSTJjU3RhdHVzID0gKFVJTlQxNilNbWlvUmVhZDMyIChtSTJDQmFzZUFk ZHJlc3MgKyBSX0lDX1NUQVRVUyk7DQo+ICsgICAgICBpZiAoMCAhPSAoIEkyY1N0YXR1cyAmIFNU QVRfUkZORSApKSB7DQo+ICsgICAgICAgIFJlY2VpdmVEYXRhID0gKFVJTlQxNilNbWlvUmVhZDMy ICggbUkyQ0Jhc2VBZGRyZXNzICsNCj4gUl9JQ19EQVRBX0NNRCApOw0KPiArICAgICAgICAqUmVh ZEJ1ZmZlcisrID0gKFVJTlQ4KVJlY2VpdmVEYXRhOw0KPiArICAgICAgICBERUJVRygoRUZJX0Rf SU5GTywiTW1pb1JlYWQzMiAsMSBieXRlIDB4OiV4IGlzDQo+IHJlY2VpdmVkXHJcbiIsUmVjZWl2 ZURhdGEpKTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgaWYoUmVjZWl2ZURhdGFFbmQgPT0g UmVjZWl2ZVJlcXVlc3QpIHsNCj4gKyAgICAgICAgTWljcm9TZWNvbmREZWxheSAoIEZJRk9fV1JJ VEVfREVMQVkgKTsNCj4gKyAgICAgICAgREVCVUcoKEVGSV9EX0lORk8sIlJlY2VpdmVEYXRhRW5k PT1SZWNlaXZlUmVxdWVzdC0tLS0tLS0tLS0tLQ0KPiAleFxyXG4iLEkyY1N0YXR1cyAmIFNUQVRf UkZORSkpOw0KPiArICAgICAgICBDb3VudCsrOw0KPiArICAgICAgICBpZihDb3VudDwxMDI0KSB7 DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBUbyBhdm9pZCBzeXMgaHVuZyAgd2l0 aG91dCB1bC1wbWMgZGV2aWNlICBvbiBSVlAsDQo+ICsgICAgICAgICAgLy8gd2FpdGluZyB0aGUg bGFzdCByZXF1ZXN0IHRvIGdldCBkYXRhIGFuZCBtYWtlIChSZWNlaXZlRGF0YUVuZCA+DQo+IFJl YWRCdWZmZXIpID1UUlVFLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgY29udGludWU7 DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgIH0N Cj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vICBXYWl0IHVudGlsIGEg cmVhZCByZXF1ZXN0IHdpbGwgZml0Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICgwID09IChJ MmNTdGF0dXMgJiBTVEFUX1RGTkYpKSB7DQo+ICsgICAgICAgIERFQlVHKChFRklfRF9JTkZPLCJX YWl0IHVudGlsIGEgcmVhZCByZXF1ZXN0IHdpbGwgZml0XHJcbiIpKTsNCj4gKyAgICAgICAgTWlj cm9TZWNvbmREZWxheSAoMTApOw0KPiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4g Kw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vICBJc3N1ZSB0aGUgbmV4dCByZWFkIHJlcXVlc3Qu DQo+ICsgICAgICAvLw0KPiArICAgICAgaWYoRW5kICYmIFN0YXJ0KSB7DQo+ICsgICAgICAgIE1t aW9Xcml0ZTMyICggbUkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19EQVRBX0NNRCwNCj4gQl9SRUFEX0NN RHxCX0NNRF9SRVNUQVJUfEJfQ01EX1NUT1ApOw0KPiArICAgICAgfSBlbHNlIGlmICghRW5kICYm IFN0YXJ0KSB7DQo+ICsgICAgICAgIE1taW9Xcml0ZTMyICggbUkyQ0Jhc2VBZGRyZXNzICsgUl9J Q19EQVRBX0NNRCwNCj4gQl9SRUFEX0NNRHxCX0NNRF9SRVNUQVJUKTsNCj4gKyAgICAgIH0gZWxz ZSBpZiAoRW5kICYmICFTdGFydCkgew0KPiArICAgICAgICBNbWlvV3JpdGUzMiAoIG1JMkNCYXNl QWRkcmVzcyArIFJfSUNfREFUQV9DTUQsDQo+IEJfUkVBRF9DTUR8Ql9DTURfU1RPUCk7DQo+ICsg ICAgICB9IGVsc2UgaWYgKCFFbmQgJiYgIVN0YXJ0KSB7DQo+ICsgICAgICAgIE1taW9Xcml0ZTMy ICggbUkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19EQVRBX0NNRCwgQl9SRUFEX0NNRCk7DQo+ICsgICAg ICB9DQo+ICsgICAgICBNaWNyb1NlY29uZERlbGF5IChGSUZPX1dSSVRFX0RFTEFZKTsNCj4gKw0K PiArICAgICAgUmVjZWl2ZVJlcXVlc3QgKz0gMTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiAr ICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgV3JpdGVzIGEgQnl0ZSB0 byBJMkMgRGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSAgSTJjQ29udHJvbGxlckluZGV4ICAgSTJD IEJ1cyBubyB0byB3aGljaCB0aGUgSTJDIGRldmljZSBoYXMgYmVlbg0KPiBjb25uZWN0ZWQNCj4g KyAgQHBhcmFtICBTbGF2ZUFkZHJlc3MgICAgICAgICBEZXZpY2UgQWRkcmVzcyBmcm9tIHdoaWNo IHRoZSBieXRlIHZhbHVlIGhhcw0KPiB0byBiZSB3cml0dGVuDQo+ICsgIEBwYXJhbSAgT2Zmc2V0 ICAgICAgICAgICAgICAgT2Zmc2V0IGZyb20gd2hpY2ggdGhlIGRhdGEgaGFzIHRvIGJlIHJlYWQN Cj4gKyAgQHBhcmFtICAqQnl0ZSAgICAgICAgICAgICAgICBBZGRyZXNzIHRvIHdoaWNoIHRoZSB2 YWx1ZSB3cml0dGVuIGlzIHN0b3JlZA0KPiArICBAcGFyYW0gIFN0YXJ0ICAgICAgICAgICAgICAg V2hldGhlciBhIFJFU1RBUlQgaXMgaXNzdWVkIGJlZm9yZSB0aGUgYnl0ZSBpcyBzZW50DQo+IG9y IHJlY2VpdmVkDQo+ICsgIEBwYXJhbSAgRW5kICAgICAgICAgICAgICAgICBXaGV0aGVyIFNUT1Ag aXMgZ2VuZXJhdGVkIGFmdGVyIGEgZGF0YSBieXRlIGlzIHNlbnQNCj4gb3IgcmVjZWl2ZWQNCj4g Kw0KPiArICBAcmV0dXJuICBFRklfU1VDQ0VTUyAgICAgICAgIElGIHRoZSBieXRlIHZhbHVlIGhh cyBiZWVuIHN1Y2Nlc3NmdWxseSB3cml0dGVuDQo+ICsgIEByZXR1cm4gIEVGSV9ERVZJQ0VfRVJS T1IgICAgT3BlcmF0aW9uIEZhaWxlZCwgRGV2aWNlIEVycm9yDQo+ICsqKi8NCj4gK0VGSV9TVEFU VVMgQnl0ZVdyaXRlSTJDQmFzaWMoDQo+ICsgIElOICBVSU5UOCBJMmNDb250cm9sbGVySW5kZXgs DQo+ICsgIElOICBVSU5UOCBTbGF2ZUFkZHJlc3MsDQo+ICsgIElOICBVSU5UTiBXcml0ZUJ5dGVz LA0KPiArICBJTiAgVUlOVDggKldyaXRlQnVmZmVyLA0KPiArICBJTiAgVUlOVDggU3RhcnQsDQo+ ICsgIElOICBVSU5UOCBFbmQNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIEVGSV9TVEFUVVMgU3Rh dHVzOw0KPiArICBVSU5UMzIgSTJjU3RhdHVzOw0KPiArICBVSU5UOCAqVHJhbnNtaXRFbmQ7DQo+ ICsgIFVJTlQxNiBSYXdJbnRyU3RhdDsNCj4gKyAgVUlOVDMyIENvdW50PTA7DQo+ICsNCj4gKyAg U3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsNCj4gKyAgU3RhdHVzPUkyQ0luaXQoSTJjQ29udHJv bGxlckluZGV4LCBTbGF2ZUFkZHJlc3MpOw0KPiArICBpZihTdGF0dXMhPUVGSV9TVUNDRVNTKQ0K PiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsNCj4gKyAgVHJhbnNtaXRFbmQgPSAmV3JpdGVCdWZm ZXJbV3JpdGVCeXRlc107DQo+ICsgIGlmKCBXcml0ZUJ5dGVzICkgew0KPiArICAgIERFQlVHKChF RklfRF9JTkZPLCJXcml0ZTogLS0tLS0tLS0tLS0tLS0lZCBieXRlcyB0byBUWFxyXG4iLFRyYW5z bWl0RW5kDQo+IC0gV3JpdGVCdWZmZXIpKTsNCj4gKyAgICB3aGlsZSAoVHJhbnNtaXRFbmQgPiBX cml0ZUJ1ZmZlcikgew0KPiArICAgICAgSTJjU3RhdHVzID0gTW1pb1JlYWQzMiAobUkyQ0Jhc2VB ZGRyZXNzICsgUl9JQ19TVEFUVVMpOw0KPiArICAgICAgUmF3SW50clN0YXQgPSAoVUlOVDE2KU1t aW9SZWFkMzIgKG1JMkNCYXNlQWRkcmVzcyArDQo+IFJfSUNfUmF3SW50clN0YXQpOw0KPiArICAg ICAgaWYgKDAgIT0gKCBSYXdJbnRyU3RhdCAmIEkyQ19JTlRSX1RYX0FCUlQpKSB7DQo+ICsgICAg ICAgIE1taW9SZWFkMzIgKCBtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0NMUl9UWF9BQlJUKTsNCj4g KyAgICAgICAgU3RhdHVzID0gUkVUVVJOX0RFVklDRV9FUlJPUjsNCj4gKyAgICAgICAgREVCVUco KEVGSV9EX0VSUk9SLCJUWCBBQlJUIFRyYW5zbWl0RW5kOjB4JXgNCj4gV3JpdGVCdWZmZXI6MHgl eFxyXG4iLCBUcmFuc21pdEVuZCwgV3JpdGVCdWZmZXIpKTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ ICsgICAgICB9DQo+ICsgICAgICBpZiAoMCA9PSAoSTJjU3RhdHVzICYgU1RBVF9URk5GKSkgew0K PiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBJZiBUWCBub3QgZnVsbCAsIHdpbGwgIHNlbmQg Y21kICBvciBjb250aW51ZSB0byB3YWl0DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIE1pY3Jv U2Vjb25kRGVsYXkgKEZJRk9fV1JJVEVfREVMQVkpOw0KPiArICAgICAgICBjb250aW51ZTsNCj4g KyAgICAgIH0NCj4gKw0KPiArICAgICAgaWYoRW5kICYmIFN0YXJ0KSB7DQo+ICsgICAgICAgIE1t aW9Xcml0ZTMyIChtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0RBVEFfQ01ELA0KPiAoKldyaXRlQnVm ZmVyKyspfEJfQ01EX1JFU1RBUlR8Ql9DTURfU1RPUCk7DQo+ICsgICAgICB9IGVsc2UgaWYgKCFF bmQgJiYgU3RhcnQpIHsNCj4gKyAgICAgICAgTW1pb1dyaXRlMzIgKG1JMkNCYXNlQWRkcmVzcyAr IFJfSUNfREFUQV9DTUQsDQo+ICgqV3JpdGVCdWZmZXIrKyl8Ql9DTURfUkVTVEFSVCk7DQo+ICsg ICAgICB9IGVsc2UgaWYgKEVuZCAmJiAhU3RhcnQpIHsNCj4gKyAgICAgICAgTW1pb1dyaXRlMzIg KG1JMkNCYXNlQWRkcmVzcyArIFJfSUNfREFUQV9DTUQsDQo+ICgqV3JpdGVCdWZmZXIrKyl8Ql9D TURfU1RPUCk7DQo+ICsgICAgICB9IGVsc2UgaWYgKCFFbmQgJiYgIVN0YXJ0ICkgew0KPiArICAg ICAgICBNbWlvV3JpdGUzMiAobUkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19EQVRBX0NNRCwNCj4gKCpX cml0ZUJ1ZmZlcisrKSk7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAv LyBBZGQgYSBzbWFsbCBkZWxheSB0byB3b3JrIGFyb3VuZCBzb21lIG9kZCBiZWhhdmlvciBiZWlu ZyBzZWVuLg0KPiBXaXRob3V0IHRoaXMgZGVsYXkgYnl0ZXMgZ2V0IGRyb3BwZWQuDQo+ICsgICAg ICAvLw0KPiArICAgICAgTWljcm9TZWNvbmREZWxheSAoIEZJRk9fV1JJVEVfREVMQVkgKTsvL3dh aXQgYWZ0ZXIgc2VuZCBjbWQNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFRpbWUgb3V0 DQo+ICsgICAgICAvLw0KPiArICAgICAgd2hpbGUoMSkgew0KPiArICAgICAgICBSYXdJbnRyU3Rh dCA9IE1taW9SZWFkMTYgKCBtSTJDQmFzZUFkZHJlc3MgKyBSX0lDX1Jhd0ludHJTdGF0ICk7DQo+ ICsgICAgICAgIGlmICgwICE9ICggUmF3SW50clN0YXQgJiBJMkNfSU5UUl9UWF9BQlJUKSkgew0K PiArICAgICAgICAgIE1taW9SZWFkMTYgKG1JMkNCYXNlQWRkcmVzcyArIFJfSUNfQ0xSX1RYX0FC UlQpOw0KPiArICAgICAgICAgIFN0YXR1cyA9IFJFVFVSTl9ERVZJQ0VfRVJST1I7DQo+ICsgICAg ICAgICAgREVCVUcoKEVGSV9EX0VSUk9SLCJUWCBBQlJUIFRyYW5zbWl0RW5kOjB4JXgNCj4gV3Jp dGVCdWZmZXI6MHgleFxyXG4iLCBUcmFuc21pdEVuZCwgV3JpdGVCdWZmZXIpKTsNCj4gKyAgICAg ICAgfQ0KPiArICAgICAgICBpZigwID09IE1taW9SZWFkMTYobUkyQ0Jhc2VBZGRyZXNzICsgUl9J Q19UWEZMUikpIGJyZWFrOw0KPiArDQo+ICsgICAgICAgIE1pY3JvU2Vjb25kRGVsYXkgKEZJRk9f V1JJVEVfREVMQVkpOw0KPiArICAgICAgICBDb3VudCsrOw0KPiArICAgICAgICBpZihDb3VudDwx MDI0KSB7DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyB0byBhdm9pZCBzeXMgaHVu ZyB3aXRob3V0IHVsLXBtYyBkZXZpY2Ugb24gUlZQLg0KPiArICAgICAgICAgIC8vIFdhaXRpbmcg dGhlIGxhc3QgcmVxdWVzdCB0byBnZXQgZGF0YSBhbmQgbWFrZSAoUmVjZWl2ZURhdGFFbmQgPg0K PiBSZWFkQnVmZmVyKSA9VFJVRS4NCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIGNvbnRp bnVlOw0KPiArICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgIGJyZWFrOw0KPiArICAgICAg ICB9DQo+ICsgICAgICB9Ly93aGlsZSggMSApDQo+ICsgICAgfQ0KPiArDQo+ICsgIH0NCj4gKw0K PiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUmVhZHMgYSBCeXRl IGZyb20gSTJDIERldmljZS4NCj4gKw0KPiArICBAcGFyYW0gIEkyY0NvbnRyb2xsZXJJbmRleCAg IEkyQyBCdXMgbm8gdG8gd2hpY2ggdGhlIEkyQyBkZXZpY2UgaGFzIGJlZW4NCj4gY29ubmVjdGVk DQo+ICsgIEBwYXJhbSAgU2xhdmVBZGRyZXNzICAgICAgICAgRGV2aWNlIEFkZHJlc3MgZnJvbSB3 aGljaCB0aGUgYnl0ZSB2YWx1ZSBoYXMNCj4gdG8gYmUgcmVhZA0KPiArICBAcGFyYW0gIE9mZnNl dCAgICAgICAgICAgICAgIE9mZnNldCBmcm9tIHdoaWNoIHRoZSBkYXRhIGhhcyB0byBiZSByZWFk DQo+ICsgIEBwYXJhbSAgUmVhZEJ5dGVzICAgICAgICAgICAgTnVtYmVyIG9mIGJ5dGVzIHRvIGJl IHJlYWQNCj4gKyAgQHBhcmFtICAqUmVhZEJ1ZmZlciAgICAgICAgICBBZGRyZXNzIHRvIHdoaWNo IHRoZSB2YWx1ZSByZWFkIGhhcyB0byBiZQ0KPiBzdG9yZWQNCj4gKw0KPiArICBAcmV0dXJuICBF RklfU1VDQ0VTUyAgICAgICBJRiB0aGUgYnl0ZSB2YWx1ZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkg cmVhZA0KPiArICBAcmV0dXJuICBFRklfREVWSUNFX0VSUk9SICBPcGVyYXRpb24gRmFpbGVkLCBE ZXZpY2UgRXJyb3INCj4gKyoqLw0KPiArRUZJX1NUQVRVUyBCeXRlUmVhZEkyQygNCj4gKyAgSU4g IFVJTlQ4IEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gKyAgSU4gIFVJTlQ4IFNsYXZlQWRkcmVzcywN Cj4gKyAgSU4gIFVJTlQ4IE9mZnNldCwNCj4gKyAgSU4gIFVJTlROIFJlYWRCeXRlcywNCj4gKyAg T1VUIFVJTlQ4ICpSZWFkQnVmZmVyDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAg ICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAiQnl0ZVJlYWRJMkM6 LS0tb2Zmc2V0OjB4JXhcbiIsT2Zmc2V0KSk7DQo+ICsgIFN0YXR1cyA9IEJ5dGVXcml0ZUkyQ0Jh c2ljKEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gU2xhdmVBZGRyZXNzLDEsJk9mZnNldCxUUlVFLEZB TFNFKTsNCj4gKyAgU3RhdHVzID0gQnl0ZVJlYWRJMkNCYXNpYyhJMmNDb250cm9sbGVySW5kZXgs DQo+IFNsYXZlQWRkcmVzcyxSZWFkQnl0ZXMsUmVhZEJ1ZmZlcixUUlVFLFRSVUUpOw0KPiArDQo+ ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBXcml0ZXMgYSBCeXRl IHRvIEkyQyBEZXZpY2UuDQo+ICsNCj4gKyAgQHBhcmFtICBJMmNDb250cm9sbGVySW5kZXggIEky QyBCdXMgbm8gdG8gd2hpY2ggdGhlIEkyQyBkZXZpY2UgaGFzIGJlZW4NCj4gY29ubmVjdGVkDQo+ ICsgIEBwYXJhbSAgU2xhdmVBZGRyZXNzICAgICAgICBEZXZpY2UgQWRkcmVzcyBmcm9tIHdoaWNo IHRoZSBieXRlIHZhbHVlIGhhcw0KPiB0byBiZSB3cml0dGVuDQo+ICsgIEBwYXJhbSAgT2Zmc2V0 ICAgICAgICAgICAgICBPZmZzZXQgZnJvbSB3aGljaCB0aGUgZGF0YSBoYXMgdG8gYmUgd3JpdHRl bg0KPiArICBAcGFyYW0gIFdyaXRlQnl0ZXMgICAgICAgICAgTnVtYmVyIG9mIGJ5dGVzIHRvIGJl IHdyaXR0ZW4NCj4gKyAgQHBhcmFtICAqQnl0ZSAgICAgICAgICAgICAgIEFkZHJlc3MgdG8gd2hp Y2ggdGhlIHZhbHVlIHdyaXR0ZW4gaXMgc3RvcmVkDQo+ICsNCj4gKyAgQHJldHVybiAgRUZJX1NV Q0NFU1MgICAgICAgSUYgdGhlIGJ5dGUgdmFsdWUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHJlYWQN Cj4gKyAgQHJldHVybiAgRUZJX0RFVklDRV9FUlJPUiAgT3BlcmF0aW9uIEZhaWxlZCwgRGV2aWNl IEVycm9yDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMgQnl0ZVdyaXRlSTJDKA0KPiArICBJTiAgVUlO VDggSTJjQ29udHJvbGxlckluZGV4LA0KPiArICBJTiAgVUlOVDggU2xhdmVBZGRyZXNzLA0KPiAr ICBJTiAgVUlOVDggT2Zmc2V0LA0KPiArICBJTiAgVUlOVE4gV3JpdGVCeXRlcywNCj4gKyAgSU4g IFVJTlQ4ICpXcml0ZUJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAg ICAgU3RhdHVzOw0KPiArDQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTywgIkJ5dGVXcml0ZUkyQzot LS0NCj4gb2Zmc2V0L2J5dGVzL2J1ZjoweCV4LDB4JXgsMHgleCwweCV4XG4iLE9mZnNldCxXcml0 ZUJ5dGVzLFdyaXRlQnVmZmVyLA0KPiAqV3JpdGVCdWZmZXIpKTsNCj4gKyAgU3RhdHVzID0gQnl0 ZVdyaXRlSTJDQmFzaWMoSTJjQ29udHJvbGxlckluZGV4LA0KPiBTbGF2ZUFkZHJlc3MsMSwmT2Zm c2V0LFRSVUUsRkFMU0UpOw0KPiArICBTdGF0dXMgPSBCeXRlV3JpdGVJMkNCYXNpYyhJMmNDb250 cm9sbGVySW5kZXgsDQo+IFNsYXZlQWRkcmVzcyxXcml0ZUJ5dGVzLFdyaXRlQnVmZmVyLEZBTFNF LFRSVUUpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYkR4ZS9JMkNMaWJE eGUuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNM aWJEeGUvSTJDTGliRHhlLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwLi5jZDEwZjFkZTkzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJEeGUvSTJDTGliRHhlLmluZg0KPiBA QCAtMCwwICsxLDM5IEBADQo+ICsjIyBAZmlsZQ0KPiArIyAgSW5zdGFuY2Ugb2YgSTJDIExpYnJh cnkuDQo+ICsjDQo+ICsjICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE4LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIw0KPiArDQo+ICtbRGVm aW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0K PiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBJMkNMaWINCj4gKyAgRklMRV9H VUlEICAgICAgICAgICAgICAgICAgICAgID0gN2Y2MmJmNDQtMmJhNy00YzJkLTlkNGEtOTFjODkw NmZmMDUzDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVIN Cj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIExJQlJBUllf Q0xBU1MgICAgICAgICAgICAgICAgICA9IEkyQ0xpYnxEWEVfRFJJVkVSIERYRV9SVU5USU1FX0RS SVZFUg0KPiBVRUZJX0RSSVZFUiBVRUZJX0FQUExJQ0FUSU9ODQo+ICsNCj4gKyMNCj4gKyMgVGhl IGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1 aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ICsjICBWQUxJRF9BUkNISVRFQ1RV UkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQw0KPiArIw0KPiArDQo+ICtbU291cmNlcy5jb21t b25dDQo+ICsgIEkyQ0xpYi5jDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgQmFzZUxp Yg0KPiArICBJb0xpYg0KPiArICBUaW1lckxpYg0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1k ZVBrZy9NZGVQa2cuZGVjDQo+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ICsg IFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29k ZVBrZy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4gKw0KPiArW1Byb3RvY29sc10NCj4gKyAg Z0VmaUdsb2JhbE52c0FyZWFQcm90b2NvbEd1aWQNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliRHhlL0kyQ1JlZ3MuaA0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliRHhlL0kyQ1JlZ3Mu aA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41NzQ1NTE2MmY2 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9JMkNMaWJEeGUvSTJDUmVncy5oDQo+IEBAIC0wLDAgKzEsMTI2IEBADQo+ICsv KiogQGZpbGUNCj4gKyAgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgZm9yIEkyQyBEcml2ZXIvUEVJTS4N Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBJ MkNfUkVHU19IDQo+ICsjZGVmaW5lIEkyQ19SRUdTX0gNCj4gKw0KPiArLy8NCj4gKy8vIEZJRk8g d3JpdGUgZGVsYXkgdmFsdWUuDQo+ICsvLw0KPiArI2RlZmluZSBGSUZPX1dSSVRFX0RFTEFZICAg IDINCj4gKw0KPiArLy8NCj4gKy8vIE1NSU8gUmVnaXN0ZXIgRGVmaW5pdGlvbnMuDQo+ICsvLw0K PiArI2RlZmluZSAgICBSX0lDX0NPTiAgICAgICAgICAgICAgICAgICAgICAgICAgKCAweDAwKSAv LyBJMkMgQ29udHJvbA0KPiArI2RlZmluZSAgICAgQl9JQ19SRVNUQVJUX0VOICAgICAgICAgICAg ICAgICAgQklUNQ0KPiArI2RlZmluZSAgICAgQl9JQ19TTEFWRV9ESVNBQkxFICAgICAgICAgICAg ICAgQklUNg0KPiArI2RlZmluZSAgICAgVl9TUEVFRF9TVEFOREFSRCAgICAgICAgICAgICAgICAg MHgwMg0KPiArI2RlZmluZSAgICAgVl9TUEVFRF9GQVNUICAgICAgICAgICAgICAgICAgICAgMHgw NA0KPiArI2RlZmluZSAgICAgVl9TUEVFRF9ISUdIICAgICAgICAgICAgICAgICAgICAgMHgwNg0K PiArI2RlZmluZSAgICAgQl9NQVNURVJfTU9ERSAgICAgICAgICAgICAgICAgICAgQklUMA0KPiAr DQo+ICsjZGVmaW5lICAgIFJfSUNfVEFSICAgICAgICAgICAgICAgICAgICAgICAgICAoIDB4MDQp IC8vIEkyQyBUYXJnZXQgQWRkcmVzcw0KPiArI2RlZmluZSAgICAgSUNfVEFSXzEwQklUQUREUl9N QVNURVIgICAgICAgICAgIEJJVDEyDQo+ICsNCj4gKyNkZWZpbmUgICAgUl9JQ19TQVIgICAgICAg ICAgICAgICAgICAgICAgICAgICggMHgwOCkgLy8gSTJDIFNsYXZlIEFkZHJlc3MNCj4gKyNkZWZp bmUgICAgUl9JQ19IU19NQUREUiAgICAgICAgICAgICAgICAgICAgICggMHgwQykgLy8gSTJDIEhT IE1hc3Rlck1vZGUgQ29kZQ0KPiBBZGRyZXNzDQo+ICsjZGVmaW5lICAgIFJfSUNfREFUQV9DTUQg ICAgICAgICAgICAgICAgICAgICAoIDB4MTApIC8vIEkyQyBSeC9UeCBEYXRhIEJ1ZmZlciBhbmQN Cj4gQ29tbWFuZA0KPiArDQo+ICsjZGVmaW5lICAgIEJfUkVBRF9DTUQgICAgICAgICAgICAgICAg ICAgICAgICAgQklUOCAgICAvLyAxID0gcmVhZCwgMCA9IHdyaXRlDQo+ICsjZGVmaW5lICAgIEJf Q01EX1NUT1AgICAgICAgICAgICAgICAgICAgICAgICAgQklUOSAgICAvLyAxID0gU1RPUA0KPiAr I2RlZmluZSAgICBCX0NNRF9SRVNUQVJUICAgICAgICAgICAgICAgICAgICAgIEJJVDEwICAgLy8g MSA9IElDX1JFU1RBUlRfRU4NCj4gKw0KPiArI2RlZmluZSAgICBWX1dSSVRFX0NNRF9NQVNLICAg ICAgICAgICAgICAgICAgKCAweEZGKQ0KPiArDQo+ICsjZGVmaW5lICAgIFJfSUNfU1NfU0NMX0hD TlQgICAgICAgICAgICAgICAgICAoIDB4MTQpIC8vIFN0YW5kYXJkIFNwZWVkIEkyQyBDbG9jaw0K PiBTQ0wgSGlnaCBDb3VudA0KPiArI2RlZmluZSAgICBSX0lDX1NTX1NDTF9MQ05UICAgICAgICAg ICAgICAgICAgKCAweDE4KSAvLyBTdGFuZGFyZCBTcGVlZCBJMkMgQ2xvY2sNCj4gU0NMIExvdyBD b3VudA0KPiArI2RlZmluZSAgICBSX0lDX0ZTX1NDTF9IQ05UICAgICAgICAgICAgICAgICAgKCAw eDFDKSAvLyBGdWxsIFNwZWVkIEkyQyBDbG9jayBTQ0wNCj4gSGlnaCBDb3VudA0KPiArI2RlZmlu ZSAgICBSX0lDX0ZTX1NDTF9MQ05UICAgICAgICAgICAgICAgICAgKCAweDIwKSAvLyBGdWxsIFNw ZWVkIEkyQyBDbG9jayBTQ0wNCj4gTG93IENvdW50DQo+ICsjZGVmaW5lICAgIFJfSUNfSFNfU0NM X0hDTlQgICAgICAgICAgICAgICAgICAoIDB4MjQpIC8vIEhpZ2ggU3BlZWQgSTJDIENsb2NrIFND TA0KPiBIaWdoIENvdW50DQo+ICsjZGVmaW5lICAgIFJfSUNfSFNfU0NMX0xDTlQgICAgICAgICAg ICAgICAgICAoIDB4MjgpIC8vIEhpZ2ggU3BlZWQgSTJDIENsb2NrIFNDTA0KPiBMb3cgQ291bnQN Cj4gKyNkZWZpbmUgICAgUl9JQ19JTlRSX1NUQVQgICAgICAgICAgICAgICAgICAgICggMHgyQykg Ly8gSTJDIEluZXRycnVwdCBTdGF0dXMNCj4gKyNkZWZpbmUgICAgUl9JQ19JTlRSX01BU0sgICAg ICAgICAgICAgICAgICAgICggMHgzMCkgLy8gSTJDIEludGVycnVwdCBNYXNrDQo+ICsjZGVmaW5l ICAgICBJMkNfSU5UUl9HRU5fQ0FMTCAgICAgICAgICAgICAgICAgQklUMTEgIC8vIEdlbmVyYWwg Y2FsbCByZWNlaXZlZA0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJfU1RBUlRfREVUICAgICAgICAg ICAgICAgIEJJVDEwDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9TVE9QX0RFVCAgICAgICAgICAg ICAgICAgQklUOQ0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJfQUNUSVZJVFkgICAgICAgICAgICAg ICAgIEJJVDgNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1RYX0FCUlQgICAgICAgICAgICAgICAg ICBCSVQ2ICAgLy8gU2V0IG9uIE5BQ0sNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1RYX0VNUFRZ ICAgICAgICAgICAgICAgICBCSVQ0DQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9UWF9PVkVSICAg ICAgICAgICAgICAgICAgQklUMw0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJfUlhfRlVMTCAgICAg ICAgICAgICAgICAgIEJJVDIgICAvLyBEYXRhIGJ5dGVzIGluIFJYIEZJRk8gb3Zlcg0KPiB0aHJl c2hvbGQNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1JYX09WRVIgICAgICAgICAgICAgICAgICBC SVQxDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9SWF9VTkRFUiAgICAgICAgICAgICAgICAgQklU MA0KPiArI2RlZmluZSAgICBSX0lDX1Jhd0ludHJTdGF0ICAgICAgICAgICAgICAgICggMHgzNCkg Ly8gSTJDIFJhdyBJbnRlcnJ1cHQgU3RhdHVzDQo+ICsjZGVmaW5lICAgIFJfSUNfUlhfVEwgICAg ICAgICAgICAgICAgICAgICAgICAoIDB4MzgpIC8vIEkyQyBSZWNlaXZlIEZJRk8gVGhyZXNob2xk DQo+ICsjZGVmaW5lICAgIFJfSUNfVFhfVEwgICAgICAgICAgICAgICAgICAgICAgICAoIDB4M0Mp IC8vIEkyQyBUcmFuc21pdCBGSUZPIFRocmVzaG9sZA0KPiArI2RlZmluZSAgICBSX0lDX0NMUl9J TlRSICAgICAgICAgICAgICAgICAgICAgKCAweDQwKSAvLyBDbGVhciBDb21iaW5lZCBhbmQgSW5k aXZpZHVhbA0KPiBJbnRlcnJ1cHRzDQo+ICsjZGVmaW5lICAgIFJfSUNfQ0xSX1JYX1VOREVSICAg ICAgICAgICAgICAgICAoIDB4NDQpIC8vIENsZWFyIFJYX1VOREVSDQo+IEludGVycnVwdA0KPiAr I2RlZmluZSAgICBSX0lDX0NMUl9SWF9PVkVSICAgICAgICAgICAgICAgICAgKCAweDQ4KSAvLyBD bGVhciBSWF9PVkVSaW50ZXJydXB0DQo+ICsjZGVmaW5lICAgIFJfSUNfQ0xSX1RYX09WRVIgICAg ICAgICAgICAgICAgICAoIDB4NEMpIC8vIENsZWFyIFRYX09WRVIgaW50ZXJydXB0DQo+ICsjZGVm aW5lICAgIFJfSUNfQ0xSX1JEX1JFUSAgICAgICAgICAgICAgICAgICAoIDB4NTApIC8vIENsZWFy IFJEX1JFUSBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfVFhfQUJSVCAgICAgICAg ICAgICAgICAgICggMHg1NCkgLy8gQ2xlYXIgVFhfQUJSVCBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUg ICAgUl9JQ19DTFJfUlhfRE9ORSAgICAgICAgICAgICAgICAgICggMHg1OCkgLy8gQ2xlYXIgUlhf RE9ORSBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfQUNUSVZJVFkgICAgICAgICAg ICAgICAgICggMHg1QykgLy8gQ2xlYXIgQUNUSVZJVFkgaW50ZXJydXB0DQo+ICsjZGVmaW5lICAg IFJfSUNfQ0xSX1NUT1BfREVUICAgICAgICAgICAgICAgICAoIDB4NjApIC8vIENsZWFyIFNUT1Bf REVUIGludGVycnVwdA0KPiArI2RlZmluZSAgICBSX0lDX0NMUl9TVEFSVF9ERVQgICAgICAgICAg ICAgICAgKCAweDY0KSAvLyBDbGVhciBTVEFSVF9ERVQNCj4gaW50ZXJydXB0DQo+ICsjZGVmaW5l ICAgIFJfSUNfQ0xSX0dFTl9DQUxMICAgICAgICAgICAgICAgICAoIDB4NjgpIC8vIENsZWFyIEdF Tl9DQUxMIGludGVycnVwdA0KPiArI2RlZmluZSAgICBSX0lDX0VOQUJMRSAgICAgICAgICAgICAg ICAgICAgICAgKCAweDZDKSAvLyBJMkMgRW5hYmxlDQo+ICsjZGVmaW5lICAgIFJfSUNfU1RBVFVT ICAgICAgICAgICAgICAgICAgICAgICAoIDB4NzApIC8vIEkyQyBTdGF0dXMNCj4gKw0KPiArI2Rl ZmluZSAgICBSX0lDX1NEQV9IT0xEICAgICAgICAgICAgICAgICAgICAgKCAweDdDKSAvLyBJMkMN Cj4gSUNfREVGQVVMVF9TREFfSE9MRC8vMTZiaXRzDQo+ICsNCj4gKyNkZWZpbmUgICAgIFNUQVRf TVNUX0FDVElWSVRZICAgICAgICAgICAgICAgICBCSVQ1ICAgLy8gTWFzdGVyIEZTTSBBY3Rpdml0 eSBTdGF0dXMuDQo+ICsjZGVmaW5lICAgICBTVEFUX1JGRiAgICAgICAgICAgICAgICAgICAgICAg ICAgQklUNCAgIC8vIFJYIEZJRk8gaXMgY29tcGxldGVseSBmdWxsDQo+ICsjZGVmaW5lICAgICBT VEFUX1JGTkUgICAgICAgICAgICAgICAgICAgICAgICAgQklUMyAgIC8vIFJYIEZJRk8gaXMgbm90 IGVtcHR5DQo+ICsjZGVmaW5lICAgICBTVEFUX1RGRSAgICAgICAgICAgICAgICAgICAgICAgICAg QklUMiAgIC8vIFRYIEZJRk8gaXMgY29tcGxldGVseSBlbXB0eQ0KPiArI2RlZmluZSAgICAgU1RB VF9URk5GICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDEgICAvLyBUWCBGSUZPIGlzIG5vdCBm dWxsDQo+ICsNCj4gKyNkZWZpbmUgICAgUl9JQ19UWEZMUiAgICAgICAgICAgICAgICAgICAgICAg ICggMHg3NCkgLy8gVHJhbnNtaXQgRklGTyBMZXZlbCBSZWdpc3Rlcg0KPiArI2RlZmluZSAgICBS X0lDX1JYRkxSICAgICAgICAgICAgICAgICAgICAgICAgKCAweDc4KSAvLyBSZWNlaXZlIEZJRk8g TGV2ZWwgUmVnaXN0ZXINCj4gKyNkZWZpbmUgICAgUl9JQ19UWF9BQlJUX1NPVVJDRSAgICAgICAg ICAgICAgICggMHg4MCkgLy8gSTJDIFRyYW5zbWl0IEFib3J0DQo+IFN0YXR1cyBSZWdpc3Rlcg0K PiArI2RlZmluZSAgICBSX0lDX1NMVl9EQVRBX05BQ0tfT05MWSAgICAgICAgICAgKCAweDg0KSAv LyBHZW5lcmF0ZQ0KPiBTTFZfREFUQV9OQUNLIFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNf RE1BX0NSICAgICAgICAgICAgICAgICAgICAgICAoIDB4ODgpIC8vIERNQSBDb250cm9sIFJlZ2lz dGVyDQo+ICsjZGVmaW5lICAgIFJfSUNfRE1BX1RETFIgICAgICAgICAgICAgICAgICAgICAoIDB4 OEMpIC8vIERNQSBUcmFuc21pdCBEYXRhIExldmVsDQo+ICsjZGVmaW5lICAgIFJfSUNfRE1BX1JE TFIgICAgICAgICAgICAgICAgICAgICAoIDB4OTApIC8vIERNQSBSZWNlaXZlIERhdGEgTGV2ZWwN Cj4gKyNkZWZpbmUgICAgUl9JQ19TREFfU0VUVVAgICAgICAgICAgICAgICAgICAgICggMHg5NCkg Ly8gSTJDIFNEQSBTZXR1cCBSZWdpc3Rlcg0KPiArI2RlZmluZSAgICBSX0lDX0FDS19HRU5FUkFM X0NBTEwgICAgICAgICAgICAgKCAweDk4KSAvLyBJMkMgQUNLIEdlbmVyYWwgQ2FsbA0KPiBSZWdp c3Rlcg0KPiArI2RlZmluZSAgICBSX0lDX0VOQUJMRV9TVEFUVVMgICAgICAgICAgICAgICAgKCAw eDlDKSAvLyBJMkMgRW5hYmxlIFN0YXR1cw0KPiBSZWdpc3Rlcg0KPiArI2RlZmluZSAgICBSX0lD X0NPTVBfUEFSQU0gICAgICAgICAgICAgICAgICAgKCAweEY0KSAvLyBDb21wb25lbnQgUGFyYW1l dGVyDQo+IFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNfQ09NUF9WRVJTSU9OICAgICAgICAg ICAgICAgICAoIDB4RjgpIC8vIENvbXBvbmVudCBWZXJzaW9uIElEDQo+ICsjZGVmaW5lICAgIFJf SUNfQ09NUF9UWVBFICAgICAgICAgICAgICAgICAgICAoIDB4RkMpIC8vIENvbXBvbmVudCBUeXBl DQo+ICsNCj4gKyNkZWZpbmUgICAgSTJDX1NTX1NDTF9IQ05UX1ZBTFVFXzEwME0gICAgICAgIDB4 MUREDQo+ICsjZGVmaW5lICAgIEkyQ19TU19TQ0xfTENOVF9WQUxVRV8xMDBNICAgICAgICAweDFF NA0KPiArI2RlZmluZSAgICBJMkNfRlNfU0NMX0hDTlRfVkFMVUVfMTAwTSAgICAgICAgMHg1NA0K PiArI2RlZmluZSAgICBJMkNfRlNfU0NMX0xDTlRfVkFMVUVfMTAwTSAgICAgICAgMHg5YQ0KPiAr I2RlZmluZSAgICBJMkNfSFNfU0NMX0hDTlRfVkFMVUVfMTAwTSAgICAgICAgMHg3DQo+ICsjZGVm aW5lICAgIEkyQ19IU19TQ0xfTENOVF9WQUxVRV8xMDBNICAgICAgICAweEUNCj4gKw0KPiArI2Rl ZmluZSAgICAgSUNfVEFSXzEwQklUQUREUl9NQVNURVIgICAgICAgICAgIEJJVDEyDQo+ICsjZGVm aW5lICAgICBGSUZPX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgMzINCj4gKyNkZWZpbmUg ICAgIFJfSUNfSU5UUl9TVEFUICAgICAgICAgICAgICAgICAgICAoIDB4MkMpIC8vIEkyYyBJbmV0 cnJ1cHQgU3RhdHVzDQo+ICsjZGVmaW5lICAgICBSX0lDX0lOVFJfTUFTSyAgICAgICAgICAgICAg ICAgICAgKCAweDMwKSAvLyBJMmMgSW50ZXJydXB0IE1hc2sNCj4gKyNkZWZpbmUgICAgIEkyQ19J TlRSX0dFTl9DQUxMICAgICAgICAgICAgICAgICBCSVQxMSAgLy8gR2VuZXJhbCBjYWxsIHJlY2Vp dmVkDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9TVEFSVF9ERVQgICAgICAgICAgICAgICAgQklU MTANCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1NUT1BfREVUICAgICAgICAgICAgICAgICBCSVQ5 DQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9BQ1RJVklUWSAgICAgICAgICAgICAgICAgQklUOA0K PiArI2RlZmluZSAgICAgSTJDX0lOVFJfVFhfQUJSVCAgICAgICAgICAgICAgICAgIEJJVDYgICAv LyBTZXQgb24gTkFDSw0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJfVFhfRU1QVFkgICAgICAgICAg ICAgICAgIEJJVDQNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1RYX09WRVIgICAgICAgICAgICAg ICAgICBCSVQzDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9SWF9GVUxMICAgICAgICAgICAgICAg ICAgQklUMiAgIC8vIERhdGEgYnl0ZXMgaW4gUlggRklGTyBvdmVyDQo+IHRocmVzaG9sZA0KPiAr I2RlZmluZSAgICAgSTJDX0lOVFJfUlhfT1ZFUiAgICAgICAgICAgICAgICAgIEJJVDENCj4gKyNk ZWZpbmUgICAgIEkyQ19JTlRSX1JYX1VOREVSICAgICAgICAgICAgICAgICBCSVQwDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfTFBJT19JMkNfTUVNX1JFU0VUUyAgICAgICAgICAgICAgICAgMHg4MDQg Ly8gU29mdHdhcmUgUmVzZXQNCj4gKyNkZWZpbmUgQl9QQ0hfTFBJT19JMkNfTUVNX1JFU0VUU19G VU5DICAgICAgICAgICAgQklUMSAgLy8gRnVuY3Rpb24gQ2xvY2sNCj4gRG9tYWluIFJlc2V0DQo+ ICsjZGVmaW5lIEJfUENIX0xQSU9fSTJDX01FTV9SRVNFVFNfQVBCICAgICAgICAgICAgIEJJVDAg IC8vIEFQQiBEb21haW4NCj4gUmVzZXQNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19JMkNfTUVNX1BD UCAgICAgICAgICAgICAgICAgICAgMHg4MDAgLy8gUHJpdmF0ZSBDbG9jaw0KPiBQYXJhbWV0ZXJz DQo+ICsNCj4gKyNlbmRpZg0KPiBcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCj4gZGlmZiAt LWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVp L0kyQ0FjY2Vzcy5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9JMkNMaWJQZWkvSTJDQWNjZXNzLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uYmY2ZWY0Yzc0Nw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0FjY2Vzcy5oDQo+ IEBAIC0wLDAgKzEsNDQgQEANCj4gKy8qKiBAZmlsZQ0KPiArICBNaXNjIFJlZ2lzdGVycyBEZWZp bml0aW9uLg0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAxMSAgLSAyMDE1LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsj aWZuZGVmIF9JMkNfQUNDRVNTX0hfDQo+ICsjZGVmaW5lIF9JMkNfQUNDRVNTX0hfDQo+ICsNCj4g KyNpbmNsdWRlICJJMkNJb0xpYlBlaS5oIg0KPiArDQo+ICsjZGVmaW5lIERFRkFVTFRfUENJX0JV U19OVU1CRVJfUENIICAgICAgICAgICAgIDANCj4gKw0KPiArI2RlZmluZSBQQ0lfREVWSUNFX05V TUJFUl9QQ0hfTFBDICAgICAgICAgICAgICAzMQ0KPiArI2RlZmluZSBQQ0lfRlVOQ1RJT05fTlVN QkVSX1BDSF9MUEMgICAgICAgICAgICAwDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBDX0FDUElf QkFTRSAgICAgICAgICAgICAgICAgICAgMHg0MCAgICAgICAgICAgIC8vIEFCQVNFLCAxNmJpdA0K PiArI2RlZmluZSBSX1BDSF9MUENfQUNQSV9CQVNFQURSICAgICAgICAgICAgICAgICAweDQwMCAg ICAgICAgICAgLy8gQUJBU0UsIDE2Yml0DQo+ICsjZGVmaW5lIEJfUENIX0xQQ19BQ1BJX0JBU0Vf RU4gICAgICAgICAgICAgICAgIEJJVDEgICAgICAgICAgICAvLyBFbmFibGUgQml0DQo+ICsjZGVm aW5lIEJfUENIX0xQQ19BQ1BJX0JBU0VfQkFSICAgICAgICAgICAgICAgIDB4MDAwMEZGODAgICAg ICAvLyBCYXNlDQo+IEFkZHJlc3MsIDEyOCBCeXRlcw0KPiArI2RlZmluZSBWX1BDSF9BQ1BJX1BN MV9UTVJfTUFYX1ZBTCAgICAgICAgICAgICAweDEwMDAwMDAgICAgICAgLy8gVGhlDQo+IHRpbWVy IGlzIDI0IGJpdCBvdmVyZmxvdw0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX1BNMV9UTVJfVkFMICAg ICAgICAgICAgICAgICAweEZGRkZGRiAgICAgICAgLy8gVGhlIHRpbWVyDQo+IHZhbHVlIG1hc2sN Cj4gKw0KPiArI2RlZmluZSBSX1BDSF9BQ1BJX1BNMV9UTVIgICAgICAgICAgICAgICAgICAgICAw eDA4ICAgICAgICAgICAgLy8gUG93ZXINCj4gTWFuYWdlbWVudCAxIFRpbWVyDQo+ICsjZGVmaW5l IFZfUENIX0FDUElfUE0xX1RNUl9GUkVRVUVOQ1kgICAgICAgICAgIDM1Nzk1NDUgICAgICAgICAv LyBUaW1lcg0KPiBGcmVxdWVuY3kNCj4gKw0KPiArDQo+ICsjZGVmaW5lIFBjaExwY1BjaUNmZzgo UmVnaXN0ZXIpIEkyQ0xpYlBlaU1taW9SZWFkOCAoTW1QY2lBZGRyZXNzICgwLA0KPiBERUZBVUxU X1BDSV9CVVNfTlVNQkVSX1BDSCwgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywgMCwNCj4gUmVn aXN0ZXIpKQ0KPiArDQo+ICsjZGVmaW5lIFBDSUVYX0JBU0VfQUREUkVTUyAgICAgICAgICAgICAg ICAgICAgIDB4RTAwMDAwMDANCj4gKyNkZWZpbmUgUENJX0VYUFJFU1NfQkFTRV9BRERSRVNTICAg ICAgICAgICAgICAgKChWT0lEICopIChVSU5UTikNCj4gUENJRVhfQkFTRV9BRERSRVNTKQ0KPiAr DQo+ICsjZGVmaW5lIE1tUGNpQWRkcmVzcyggU2VnbWVudCwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9u LCBSZWdpc3RlciApIFwNCj4gKyAgKCAoVUlOVE4pUENJX0VYUFJFU1NfQkFTRV9BRERSRVNTICsg XA0KPiArICAgIChVSU5UTikoQnVzIDw8IDIwKSArIFwNCj4gKyAgICAoVUlOVE4pKERldmljZSA8 PCAxNSkgKyBcDQo+ICsgICAgKFVJTlROKShGdW5jdGlvbiA8PCAxMikgKyBcDQo+ICsgICAgKFVJ TlROKShSZWdpc3RlcikgXA0KPiArICApDQo+ICsjZW5kaWYNCj4gKw0KPiBkaWZmIC0tZ2l0IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJQZWkvSTJDRGVs YXlQZWkuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJD TGliUGVpL0kyQ0RlbGF5UGVpLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uZDVmOGRmZDAxMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0RlbGF5UGVpLmMNCj4g QEAgLTAsMCArMSw0NiBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIE1pY3JvU2Vjb25kRGVsYXkgaW1w bGVtZW50YXRpb24gb2YgQUNQSSBUaW1lci4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDcg LSAyMDE1LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsN Cj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiUGlQZWkuaCINCj4gKyNpbmNsdWRlICJJMkNBY2Nl c3MuaCINCj4gKyNpbmNsdWRlICJJMkNEZWxheVBlaS5oIg0KPiArI2luY2x1ZGUgPExpYnJhcnkv RGVidWdMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BlaVNlcnZpY2VzVGFibGVQb2ludGVy TGliLmg+DQo+ICsjaW5jbHVkZSA8UHBpL1N0YWxsLmg+DQo+ICsNCj4gKy8qKg0KPiArICBTdGFs bHMgdGhlIENQVSBmb3IgYXQgbGVhc3QgdGhlIGdpdmVuIG51bWJlciBvZiBtaWNyb3NlY29uZHMu DQo+ICsgIFN0YWxscyB0aGUgQ1BVIGZvciB0aGUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyBzcGVj aWZpZWQgYnkgTWljcm9TZWNvbmRzLg0KPiArDQo+ICsgIEBwYXJhbSAgTWljcm9TZWNvbmRzICBU aGUgbWluaW11bSBudW1iZXIgb2YgbWljcm9zZWNvbmRzIHRvIGRlbGF5Lg0KPiArDQo+ICsgIEBy ZXR1cm4gRUZJX1NUQVRVUw0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0K PiArTWljcm9TZWNvbmREZWxheSAoDQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBNaWNyb1NlY29uZHMNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIEVGSV9QRUlfU1RBTExf UFBJICAgICAgICAgICAgICAqU3RhbGxQcGk7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgICAgICBTdGF0dXM7DQo+ICsgIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAqKlBl aVNlcnZpY2VzOw0KPiArDQo+ICsgIFBlaVNlcnZpY2VzID0gR2V0UGVpU2VydmljZXNUYWJsZVBv aW50ZXIoKTsNCj4gKw0KPiArDQo+ICsgIFN0YXR1cyA9ICgqKlBlaVNlcnZpY2VzKS5Mb2NhdGVQ cGkgKFBlaVNlcnZpY2VzLCAmZ0VmaVBlaVN0YWxsUHBpR3VpZCwgMCwNCj4gTlVMTCwgJlN0YWxs UHBpKTsNCj4gKyAgQVNTRVJUKCFFRklfRVJST1IoU3RhdHVzKSk7DQo+ICsNCj4gKyAgU3RhbGxQ cGktPlN0YWxsIChQZWlTZXJ2aWNlcywgU3RhbGxQcGksIE1pY3JvU2Vjb25kcyk7DQo+ICsNCj4g KyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJQZWkvSTJDRGVsYXlQZWkuaA0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0Rl bGF5UGVpLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjA0 ZjFmNjdjNQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0RlbGF5UGVpLmgNCj4gQEAgLTAsMCArMSwz MCBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIE1pY3JvU2Vjb25kRGVsYXkgaW1wbGVtZW50YXRpb24g b2YgQUNQSSBUaW1lci4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDYgLSAyMDE1LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsj aWZuZGVmIF9fSTJDX0RFTEFZX1BFSV9fDQo+ICsNCj4gKyNkZWZpbmUgX19JMkNfREVMQVlfUEVJ X18NCj4gKyNpbmNsdWRlICJQaVBlaS5oIg0KPiArDQo+ICsvKioNCj4gKyAgU3RhbGxzIHRoZSBD UFUgZm9yIGF0IGxlYXN0IHRoZSBnaXZlbiBudW1iZXIgb2YgbWljcm9zZWNvbmRzLg0KPiArDQo+ ICsgIFN0YWxscyB0aGUgQ1BVIGZvciB0aGUgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyBzcGVjaWZp ZWQgYnkgTWljcm9TZWNvbmRzLg0KPiArDQo+ICsgIEBwYXJhbSAgTWljcm9TZWNvbmRzICBUaGUg bWluaW11bSBudW1iZXIgb2YgbWljcm9zZWNvbmRzIHRvIGRlbGF5Lg0KPiArDQo+ICsgIEByZXR1 cm4gTWljcm9TZWNvbmRzDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtNaWNyb1NlY29uZERlbGF5ICgNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgIE1pY3JvU2Vjb25kcw0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBh L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0lv TGliUGVpLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0ky Q0xpYlBlaS9JMkNJb0xpYlBlaS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjZhMzdkYmVjMWQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYlBlaS9JMkNJb0xpYlBlaS5jDQo+ IEBAIC0wLDAgKzEsMTc4IEBADQo+ICsvKiogQGZpbGUNCj4gKyAgRnVuY3Rpb25zIGZvciBhY2Nl c3MgSTJDIE1NSU8gcmVnaXN0ZXIuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAx NSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4g Kw0KPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGVpU2VydmljZXNUYWJsZVBvaW50ZXJMaWIuaD4NCj4g Kw0KPiArLyoqDQo+ICsgIFJlYWRzIGFuIDgtYml0IE1NSU8gcmVnaXN0ZXIuDQo+ICsNCj4gKyAg UmVhZHMgdGhlIDgtYml0IE1NSU8gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSA4 LWJpdCByZWFkIHZhbHVlIGlzDQo+ICsgIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3Vh cmFudGVlIHRoYXQgYWxsIE1NSU8gcmVhZCBhbmQgd3JpdGUNCj4gKyAgb3BlcmF0aW9ucyBhcmUg c2VyaWFsaXplZC4NCj4gKw0KPiArICBJZiA4LWJpdCBNTUlPIHJlZ2lzdGVyIG9wZXJhdGlvbnMg YXJlIG5vdCBzdXBwb3J0ZWQsIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtICBBZGRy ZXNzIFRoZSBNTUlPIHJlZ2lzdGVyIHRvIHJlYWQuDQo+ICsNCj4gKyAgQHJldHVybiBUaGUgdmFs dWUgcmVhZC4NCj4gKw0KPiArKiovDQo+ICtVSU5UOA0KPiArRUZJQVBJDQo+ICtJMkNMaWJQZWlN bWlvUmVhZDggKA0KPiArICBJTiBVSU5UTiBBZGRyZXNzDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlO VDggVmFsdWU7DQo+ICsNCj4gKyAgVmFsdWUgPSAqKHZvbGF0aWxlIFVJTlQ4KilBZGRyZXNzOw0K PiArICByZXR1cm4gVmFsdWU7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBSZWFkcyBhIDE2LWJp dCBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ICsgIFJlYWRzIHRoZSAxNi1iaXQgTU1JTyByZWdpc3Rl ciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIDE2LWJpdCByZWFkIHZhbHVlDQo+IGlzDQo+ICsg IHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIE1NSU8gcmVh ZCBhbmQgd3JpdGUNCj4gKyAgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4NCj4gKw0KPiArICBJ ZiAxNi1iaXQgTU1JTyByZWdpc3RlciBvcGVyYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkLCB0aGVu IEFTU0VSVCgpLg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJv dW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPiArDQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgTU1J TyByZWdpc3RlciB0byByZWFkLg0KPiArDQo+ICsgIEByZXR1cm4gVGhlIHZhbHVlIHJlYWQuDQo+ ICsNCj4gKyoqLw0KPiArVUlOVDE2DQo+ICtFRklBUEkNCj4gK0kyQ0xpYlBlaU1taW9SZWFkMTYg KA0KPiArICBJTiBVSU5UTiAgQWRkcmVzcw0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQxNiBWYWx1 ZTsNCj4gKw0KPiArICBBU1NFUlQgKChBZGRyZXNzICYgMSkgPT0gMCk7DQo+ICsgIFZhbHVlID0g Kih2b2xhdGlsZSBVSU5UMTYqKUFkZHJlc3M7DQo+ICsgIHJldHVybiBWYWx1ZTsNCj4gK30NCj4g Kw0KPiArLyoqDQo+ICsgIFdyaXRlcyBhIDE2LWJpdCBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ICsg IFdyaXRlcyB0aGUgMTYtYml0IE1NSU8gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Mgd2l0 aCB0aGUgdmFsdWUNCj4gc3BlY2lmaWVkDQo+ICsgIGJ5IFZhbHVlIGFuZCByZXR1cm5zIFZhbHVl LiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIE1NSU8NCj4gcmVhZA0KPiAr ICBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4NCj4gKw0KPiArICBJZiAxNi1i aXQgTU1JTyByZWdpc3RlciBvcGVyYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkLCB0aGVuIEFTU0VS VCgpLg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5 LCB0aGVuIEFTU0VSVCgpLg0KPiArDQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgTU1JTyByZWdp c3RlciB0byB3cml0ZS4NCj4gKyAgQHBhcmFtICBWYWx1ZSAgIFRoZSB2YWx1ZSB0byB3cml0ZSB0 byB0aGUgTU1JTyByZWdpc3Rlci4NCj4gKw0KPiArICBAcmV0dXJuIFZhbHVlLg0KPiArDQo+ICsq Ki8NCj4gK1VJTlQxNg0KPiArRUZJQVBJDQo+ICtJMkNMaWJQZWlNbWlvV3JpdGUxNiAoDQo+ICsg IElOICBVSU5UTiAgIEFkZHJlc3MsDQo+ICsgIElOICBVSU5UMTYgIFZhbHVlDQo+ICsgICkNCj4g K3sNCj4gKyAgQVNTRVJUICgoQWRkcmVzcyAmIDEpID09IDApOw0KPiArICAqKHZvbGF0aWxlIFVJ TlQxNiopQWRkcmVzcyA9IFZhbHVlOw0KPiArICByZXR1cm4gVmFsdWU7DQo+ICt9DQo+ICsNCj4g Ky8qKg0KPiArICBSZWFkcyBhIDMyLWJpdCBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ICsgIFJlYWRz IHRoZSAzMi1iaXQgTU1JTyByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcy4gVGhlIDMyLWJp dCByZWFkIHZhbHVlDQo+IGlzDQo+ICsgIHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3Vh cmFudGVlIHRoYXQgYWxsIE1NSU8gcmVhZCBhbmQgd3JpdGUNCj4gKyAgb3BlcmF0aW9ucyBhcmUg c2VyaWFsaXplZC4NCj4gKw0KPiArICBJZiAzMi1iaXQgTU1JTyByZWdpc3RlciBvcGVyYXRpb25z IGFyZSBub3Qgc3VwcG9ydGVkLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBBZGRyZXNzIGlzIG5v dCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0KPiArDQo+ICsg IEBwYXJhbSAgQWRkcmVzcyBUaGUgTU1JTyByZWdpc3RlciB0byByZWFkLg0KPiArDQo+ICsgIEBy ZXR1cm4gVGhlIHZhbHVlIHJlYWQuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDMyDQo+ICtFRklBUEkN Cj4gK0kyQ0xpYlBlaU1taW9SZWFkMzIgKA0KPiArICBJTiBVSU5UTiBBZGRyZXNzDQo+ICsgICkN Cj4gK3sNCj4gKyAgVUlOVDMyICBWYWx1ZTsNCj4gKw0KPiArICBBU1NFUlQgKChBZGRyZXNzICYg MykgPT0gMCk7DQo+ICsgIFZhbHVlID0gKih2b2xhdGlsZSBVSU5UMzIqKUFkZHJlc3M7DQo+ICsN Cj4gKyAgcmV0dXJuIFZhbHVlOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgV3JpdGVzIGEgMzIt Yml0IE1NSU8gcmVnaXN0ZXIuDQo+ICsNCj4gKyAgV3JpdGVzIHRoZSAzMi1iaXQgTU1JTyByZWdp c3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcyB3aXRoIHRoZSB2YWx1ZQ0KPiBzcGVjaWZpZWQNCj4g KyAgYnkgVmFsdWUgYW5kIHJldHVybnMgVmFsdWUuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50 ZWUgdGhhdCBhbGwgTU1JTw0KPiByZWFkDQo+ICsgIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBz ZXJpYWxpemVkLg0KPiArDQo+ICsgIElmIDMyLWJpdCBNTUlPIHJlZ2lzdGVyIG9wZXJhdGlvbnMg YXJlIG5vdCBzdXBwb3J0ZWQsIHRoZW4gQVNTRVJUKCkuDQo+ICsgIElmIEFkZHJlc3MgaXMgbm90 IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAg QHBhcmFtICBBZGRyZXNzIFRoZSBNTUlPIHJlZ2lzdGVyIHRvIHdyaXRlLg0KPiArICBAcGFyYW0g IFZhbHVlICAgVGhlIHZhbHVlIHRvIHdyaXRlIHRvIHRoZSBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ ICsgIEByZXR1cm4gVmFsdWUuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDMyDQo+ICtFRklBUEkNCj4g K0kyQ0xpYlBlaU1taW9Xcml0ZTMyICgNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgIEFkZHJlc3MsDQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBW YWx1ZQ0KPiArICApDQo+ICt7DQo+ICsgIEFTU0VSVCAoKEFkZHJlc3MgJiAzKSA9PSAwKTsNCj4g KyAgKih2b2xhdGlsZSBVSU5UMzIqKUFkZHJlc3MgPSBWYWx1ZTsNCj4gKyAgcmV0dXJuIFZhbHVl Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgT1IgYSAzMi1iaXQgTU1JTyByZWdpc3Rlci4NCj4g Kw0KPiArICBPUiB0aGUgMzItYml0IE1NSU8gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Mg d2l0aCB0aGUgdmFsdWUgc3BlY2lmaWVkDQo+ICsgIGJ5IFZhbHVlIGFuZCByZXR1cm5zIFZhbHVl LiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIE1NSU8NCj4gcmVhZA0KPiAr ICBhbmQgd3JpdGUgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4NCj4gKw0KPiArICBJZiAzMi1i aXQgTU1JTyByZWdpc3RlciBvcGVyYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkLCB0aGVuIEFTU0VS VCgpLg0KPiArICBJZiBBZGRyZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMzItYml0IGJvdW5kYXJ5 LCB0aGVuIEFTU0VSVCgpLg0KPiArDQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgTU1JTyByZWdp c3RlciB0byB3cml0ZSBPUi4NCj4gKyAgQHBhcmFtICBWYWx1ZSAgIFRoZSB2YWx1ZSB0byBPUiB0 byB0aGUgTU1JTyByZWdpc3Rlci4NCj4gKw0KPiArICBAcmV0dXJuIFZhbHVlLg0KPiArDQo+ICsq Ki8NCj4gK1VJTlQzMg0KPiArRUZJQVBJDQo+ICtJMkNMaWJQZWlNbWlvT3IzMiAoDQo+ICsgIElO ICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPiArICBJTiAgICAgIFVJ TlQzMiAgICAgICAgICAgICAgICAgICAgT3JEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgcmV0dXJu IEkyQ0xpYlBlaU1taW9Xcml0ZTMyIChBZGRyZXNzLCBJMkNMaWJQZWlNbWlvUmVhZDMyKEFkZHJl c3MpIHwNCj4gT3JEYXRhKTsNCj4gK30NCj4gKw0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYlBlaS9JMkNJb0xpYlBlaS5o DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJQZWkv STJDSW9MaWJQZWkuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li5iNjhiYzFlZDA5DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJQZWkvSTJDSW9MaWJQZWkuaA0KPiBAQCAtMCww ICsxLDE1MyBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIEZ1bmN0aW9ucyBmb3IgYWNjZXNzIEkyQyBN TUlPIHJlZ2lzdGVyLg0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTUsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKyNp Zm5kZWYgX19JMkNfSU9MSUJfUEVJX18NCj4gKw0KPiArI2RlZmluZSBfX0kyQ19JT0xJQl9QRUlf Xw0KPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFJlYWRzIGFu IDgtYml0IE1NSU8gcmVnaXN0ZXIuDQo+ICsNCj4gKyAgUmVhZHMgdGhlIDgtYml0IE1NSU8gcmVn aXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSA4LWJpdCByZWFkIHZhbHVlIGlzDQo+ICsg IHJldHVybmVkLiBUaGlzIGZ1bmN0aW9uIG11c3QgZ3VhcmFudGVlIHRoYXQgYWxsIE1NSU8gcmVh ZCBhbmQgd3JpdGUNCj4gKyAgb3BlcmF0aW9ucyBhcmUgc2VyaWFsaXplZC4NCj4gKw0KPiArICBJ ZiA4LWJpdCBNTUlPIHJlZ2lzdGVyIG9wZXJhdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQsIHRoZW4g QVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBNTUlPIHJlZ2lzdGVyIHRv IHJlYWQuDQo+ICsNCj4gKyAgQHJldHVybiBUaGUgdmFsdWUgcmVhZC4NCj4gKw0KPiArKiovDQo+ ICsNCj4gK1VJTlQ4DQo+ICtFRklBUEkNCj4gK0kyQ0xpYlBlaU1taW9SZWFkOCAoDQo+ICsgIElO ICAgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBBZGRyZXNzDQo+ICsgICk7DQo+ICsNCj4g Kw0KPiArLyoqDQo+ICsgIFJlYWRzIGEgMTYtYml0IE1NSU8gcmVnaXN0ZXIuDQo+ICsNCj4gKyAg UmVhZHMgdGhlIDE2LWJpdCBNTUlPIHJlZ2lzdGVyIHNwZWNpZmllZCBieSBBZGRyZXNzLiBUaGUg MTYtYml0IHJlYWQgdmFsdWUNCj4gaXMNCj4gKyAgcmV0dXJuZWQuIFRoaXMgZnVuY3Rpb24gbXVz dCBndWFyYW50ZWUgdGhhdCBhbGwgTU1JTyByZWFkIGFuZCB3cml0ZQ0KPiArICBvcGVyYXRpb25z IGFyZSBzZXJpYWxpemVkLg0KPiArDQo+ICsgIElmIDE2LWJpdCBNTUlPIHJlZ2lzdGVyIG9wZXJh dGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQsIHRoZW4gQVNTRVJUKCkuDQo+ICsgIElmIEFkZHJlc3Mg aXMgbm90IGFsaWduZWQgb24gYSAxNi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+ICsN Cj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBNTUlPIHJlZ2lzdGVyIHRvIHJlYWQuDQo+ICsNCj4g KyAgQHJldHVybiBUaGUgdmFsdWUgcmVhZC4NCj4gKw0KPiArKiovDQo+ICtVSU5UMTYNCj4gK0VG SUFQSQ0KPiArSTJDTGliUGVpTW1pb1JlYWQxNiAoDQo+ICsgIElOICAgICAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICBBZGRyZXNzDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFdy aXRlcyBhIDE2LWJpdCBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ICsgIFdyaXRlcyB0aGUgMTYtYml0 IE1NSU8gcmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3Mgd2l0aCB0aGUgdmFsdWUNCj4gc3Bl Y2lmaWVkDQo+ICsgIGJ5IFZhbHVlIGFuZCByZXR1cm5zIFZhbHVlLiBUaGlzIGZ1bmN0aW9uIG11 c3QgZ3VhcmFudGVlIHRoYXQgYWxsIE1NSU8NCj4gcmVhZA0KPiArICBhbmQgd3JpdGUgb3BlcmF0 aW9ucyBhcmUgc2VyaWFsaXplZC4NCj4gKw0KPiArICBJZiAxNi1iaXQgTU1JTyByZWdpc3RlciBv cGVyYXRpb25zIGFyZSBub3Qgc3VwcG9ydGVkLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBBZGRy ZXNzIGlzIG5vdCBhbGlnbmVkIG9uIGEgMTYtYml0IGJvdW5kYXJ5LCB0aGVuIEFTU0VSVCgpLg0K PiArDQo+ICsgIEBwYXJhbSAgQWRkcmVzcyBUaGUgTU1JTyByZWdpc3RlciB0byB3cml0ZS4NCj4g KyAgQHBhcmFtICBWYWx1ZSAgIFRoZSB2YWx1ZSB0byB3cml0ZSB0byB0aGUgTU1JTyByZWdpc3Rl ci4NCj4gKw0KPiArICBAcmV0dXJuIFZhbHVlLg0KPiArDQo+ICsqKi8NCj4gK1VJTlQxNg0KPiAr RUZJQVBJDQo+ICtJMkNMaWJQZWlNbWlvV3JpdGUxNiAoDQo+ICsgIElOICAgICAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAg ICAgICAgICAgVmFsdWUNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmVhZHMgYSAz Mi1iaXQgTU1JTyByZWdpc3Rlci4NCj4gKw0KPiArICBSZWFkcyB0aGUgMzItYml0IE1NSU8gcmVn aXN0ZXIgc3BlY2lmaWVkIGJ5IEFkZHJlc3MuIFRoZSAzMi1iaXQgcmVhZCB2YWx1ZQ0KPiBpcw0K PiArICByZXR1cm5lZC4gVGhpcyBmdW5jdGlvbiBtdXN0IGd1YXJhbnRlZSB0aGF0IGFsbCBNTUlP IHJlYWQgYW5kIHdyaXRlDQo+ICsgIG9wZXJhdGlvbnMgYXJlIHNlcmlhbGl6ZWQuDQo+ICsNCj4g KyAgSWYgMzItYml0IE1NSU8gcmVnaXN0ZXIgb3BlcmF0aW9ucyBhcmUgbm90IHN1cHBvcnRlZCwg dGhlbiBBU1NFUlQoKS4NCj4gKyAgSWYgQWRkcmVzcyBpcyBub3QgYWxpZ25lZCBvbiBhIDMyLWJp dCBib3VuZGFyeSwgdGhlbiBBU1NFUlQoKS4NCj4gKw0KPiArICBAcGFyYW0gIEFkZHJlc3MgVGhl IE1NSU8gcmVnaXN0ZXIgdG8gcmVhZC4NCj4gKw0KPiArICBAcmV0dXJuIFRoZSB2YWx1ZSByZWFk Lg0KPiArDQo+ICsqKi8NCj4gK1VJTlQzMg0KPiArRUZJQVBJDQo+ICtJMkNMaWJQZWlNbWlvUmVh ZDMyICgNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3MNCj4g KyAgKTsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgV3JpdGVzIGEgMzItYml0IE1NSU8gcmVnaXN0 ZXIuDQo+ICsNCj4gKyAgV3JpdGVzIHRoZSAzMi1iaXQgTU1JTyByZWdpc3RlciBzcGVjaWZpZWQg YnkgQWRkcmVzcyB3aXRoIHRoZSB2YWx1ZQ0KPiBzcGVjaWZpZWQNCj4gKyAgYnkgVmFsdWUgYW5k IHJldHVybnMgVmFsdWUuIFRoaXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgTU1J Tw0KPiByZWFkDQo+ICsgIGFuZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLg0KPiAr DQo+ICsgIElmIDMyLWJpdCBNTUlPIHJlZ2lzdGVyIG9wZXJhdGlvbnMgYXJlIG5vdCBzdXBwb3J0 ZWQsIHRoZW4gQVNTRVJUKCkuDQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAz Mi1iaXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtICBBZGRyZXNz IFRoZSBNTUlPIHJlZ2lzdGVyIHRvIHdyaXRlLg0KPiArICBAcGFyYW0gIFZhbHVlICAgVGhlIHZh bHVlIHRvIHdyaXRlIHRvIHRoZSBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ICsgIEByZXR1cm4gVmFs dWUuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDMyDQo+ICtFRklBUEkNCj4gK0kyQ0xpYlBlaU1taW9X cml0ZTMyICgNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3Ms DQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBWYWx1ZQ0KPiArICApOw0K PiArDQo+ICsNCj4gKy8qKg0KPiArICBPUiBhIDMyLWJpdCBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ ICsgIE9SIHRoZSAzMi1iaXQgTU1JTyByZWdpc3RlciBzcGVjaWZpZWQgYnkgQWRkcmVzcyB3aXRo IHRoZSB2YWx1ZSBzcGVjaWZpZWQNCj4gKyAgYnkgVmFsdWUgYW5kIHJldHVybnMgVmFsdWUuIFRo aXMgZnVuY3Rpb24gbXVzdCBndWFyYW50ZWUgdGhhdCBhbGwgTU1JTw0KPiByZWFkDQo+ICsgIGFu ZCB3cml0ZSBvcGVyYXRpb25zIGFyZSBzZXJpYWxpemVkLg0KPiArDQo+ICsgIElmIDMyLWJpdCBN TUlPIHJlZ2lzdGVyIG9wZXJhdGlvbnMgYXJlIG5vdCBzdXBwb3J0ZWQsIHRoZW4gQVNTRVJUKCku DQo+ICsgIElmIEFkZHJlc3MgaXMgbm90IGFsaWduZWQgb24gYSAzMi1iaXQgYm91bmRhcnksIHRo ZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtICBBZGRyZXNzIFRoZSBNTUlPIHJlZ2lzdGVy IHRvIHdyaXRlIE9SLg0KPiArICBAcGFyYW0gIFZhbHVlICAgVGhlIHZhbHVlIHRvIE9SIHRvIHRo ZSBNTUlPIHJlZ2lzdGVyLg0KPiArDQo+ICsgIEByZXR1cm4gVmFsdWUuDQo+ICsNCj4gKyoqLw0K PiArVUlOVDMyDQo+ICtFRklBUEkNCj4gK0kyQ0xpYlBlaU1taW9PcjMyICgNCj4gKyAgSU4gICAg ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEFkZHJlc3MsDQo+ICsgIElOICAgICAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICBPckRhdGENCj4gKyAgKTsNCj4gKw0KPiArDQo+ICsjZW5kaWYN Cj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkv STJDTGliUGVpL0kyQ0xpYlBlaS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9JMkNMaWJQZWkvSTJDTGliUGVpLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uZGQ1Y2NlYjcwZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0xp YlBlaS5jDQo+IEBAIC0wLDAgKzEsNjM4IEBADQo+ICsvKiogQGZpbGUNCj4gKyAgSTJDIFBFSSBM aWIgSW5zdGFuY2UuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAxOTk5LSAyMDE1LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5j bHVkZSAiSTJDRGVsYXlQZWkuaCINCj4gKyNpbmNsdWRlICJJMkNJb0xpYlBlaS5oIg0KPiArI2lu Y2x1ZGUgIkkyQ0FjY2Vzcy5oIg0KPiArI2luY2x1ZGUgIkkyQ0xpYlBlaS5oIg0KPiArI2luY2x1 ZGUgPFBsYXRmb3JtQmFzZUFkZHJlc3Nlcy5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdM aWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gKyNpbmNsdWRl IDxMaWJyYXJ5L1BlaVNlcnZpY2VzVGFibGVQb2ludGVyTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9Ib2JMaWIuaD4NCj4gKyNpbmNsdWRlIDxQY2hSZWdzL1BjaFJlZ3NQY3UuaD4NCj4gKyNp bmNsdWRlIDxQY2hSZWdzL1BjaFJlZ3NMcHNzLmg+DQo+ICsNCj4gKyNkZWZpbmUgTFBTU19QQ0lf REVWSUNFX05VTUJFUiAgOA0KPiArDQo+ICsjZGVmaW5lIFJfUENIX0xQSU9fSTJDX01FTV9SRVNF VFMgICAgICAgICAgICAgICAgIDB4ODA0IC8vIFNvZnR3YXJlIFJlc2V0DQo+ICsjZGVmaW5lIEJf UENIX0xQSU9fSTJDX01FTV9SRVNFVFNfRlVOQyAgICAgICAgICAgIEJJVDEgIC8vIEZ1bmN0aW9u IENsb2NrDQo+IERvbWFpbiBSZXNldA0KPiArI2RlZmluZSBCX1BDSF9MUElPX0kyQ19NRU1fUkVT RVRTX0FQQiAgICAgICAgICAgICBCSVQwICAvLyBBUEIgRG9tYWluDQo+IFJlc2V0DQo+ICsjZGVm aW5lIFJfUENIX0xQU1NfSTJDX01FTV9QQ1AgICAgICAgICAgICAgICAgICAgIDB4ODAwIC8vIFBy aXZhdGUgQ2xvY2sNCj4gUGFyYW1ldGVycw0KPiArDQo+ICsjZGVmaW5lIFBFSV9URVBNX0xQU1Nf RE1BX0JBUiAgICAgICAgICAgICAgICAgICAgIDB4RkU5MDAwMDANCj4gKyNkZWZpbmUgUEVJX1RF UE1fTFBTU19JMkMwX0JBUiAgICAgICAgICAgICAgICAgICAgMHhGRTkxMDAwMA0KPiArI2RlZmlu ZSBQQ0lfQ09ORklHX1NQQUNFX1NJWkUgICAgICAgICAgICAgICAgICAgICAweDEwMDAwDQo+ICsN Cj4gK0VGSV9HVUlEICBtSTJDUGVpSW5pdEd1aWQgPSB7DQo+ICsgIDB4OTZERUQ3MUEsIDB4QjlF NywgMHg0RUFELCAweDk2LCAweDJDLCAweDAxLCAweDY5LCAweDNDLCAweEVELCAweDJBLA0KPiAw eDY0DQo+ICt9Ow0KPiArDQo+ICsNCj4gK1VJTlQxNiBJMkNHUElPW109IHsNCj4gKyAgLy8NCj4g KyAgLy8gMTkuMS42ICBJMkMwDQo+ICsgIC8vIEkyQzBfU0RBLU9ELU8gLSAgICB3cml0ZSAweDIw MDNDQzgxIHRvIElPQkFTRSArIDB4MDIxMA0KPiArICAvLyBJMkMwX1NDTC1PRC1PIC0gICAgd3Jp dGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAyMDANCj4gKyAgLy8NCj4gKyAgMHgwMjEwLA0K PiArICAweDAyMDAsDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gMTkuMS43ICBJMkMxDQo+ICsgIC8v IEkyQzFfU0RBLU9ELU8vSSAtIHdyaXRlIDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgwMUYwDQo+ ICsgIC8vIEkyQzFfU0NMLU9ELU8vSSAtIHdyaXRlIDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgw MUUwDQo+ICsgIC8vDQo+ICsgIDB4MDFGMCwNCj4gKyAgMHgwMUUwLA0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIDE5LjEuOCAgSTJDMg0KPiArICAvLyBJMkMyX1NEQS1PRC1PL0kgLSB3cml0ZSAweDIw MDNDQzgxIHRvIElPQkFTRSArIDB4MDFEMA0KPiArICAvLyBJMkMyX1NDTC1PRC1PL0kgLSB3cml0 ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDFCMA0KPiArICAvLw0KPiArICAweDAxRDAsDQo+ ICsgIDB4MDFCMCwNCj4gKw0KPiArICAvLw0KPiArICAvLyAxOS4xLjkgIEkyQzMNCj4gKyAgLy8g STJDM19TREEtT0QtTy9JIC0gd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAxOTANCj4g KyAgLy8gSTJDM19TQ0wtT0QtTy9JIC0gd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAx QzANCj4gKyAgLy8NCj4gKyAgMHgwMTkwLA0KPiArICAweDAxQzAsDQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gMTkuMS4xMCBJMkM0DQo+ICsgIC8vIEkyQzRfU0RBLU9ELU8vSSAtIHdyaXRlIDB4MjAw M0NDODEgdG8gSU9CQVNFICsgMHgwMUEwDQo+ICsgIC8vIEkyQzRfU0NMLU9ELU8vSSAtIHdyaXRl IDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgwMTcwDQo+ICsgIC8vDQo+ICsgIDB4MDFBMCwNCj4g KyAgMHgwMTcwLA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIDE5LjEuMTEgSTJDNQ0KPiArICAvLyBJ MkM1X1NEQS1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDE1MA0KPiAr ICAvLyBJMkM1X1NDTC1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDE0 MA0KPiArICAvLw0KPiArICAweDAxNTAsDQo+ICsgIDB4MDE0MCwNCj4gKw0KPiArICAvLw0KPiAr ICAvLyAxOS4xLjEyIEkyQzYNCj4gKyAgLy8gSTJDNl9TREEtT0QtTy9JIC0gd3JpdGUgMHgyMDAz Q0M4MSB0byBJT0JBU0UgKyAweDAxODANCj4gKyAgLy8gSTJDNl9TQ0wtT0QtTy9JIC0gIHdyaXRl IDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgwMTYwDQo+ICsgIC8vDQo+ICsgIDB4MDE4MCwNCj4g KyAgMHgwMTYwDQo+ICt9Ow0KPiArDQo+ICsvKioNCj4gKyAgQ29uc3RydWN0b3Igb2YgdGhpcyBs aWJyYXJ5Lg0KPiArDQo+ICsgIEBwYXJhbSAgIFZPSUQNCj4gKw0KPiArICBAcmV0dXJuICBFRklf U1VDQ0VTUw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0ludGVsSTJDUGVp TGliQ29uc3RydWN0b3IgKA0KPiArICBJTiBFRklfUEVJX0ZJTEVfSEFORExFICAgICBGaWxlSGFu ZGxlLA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAqKlBlaVNlcnZpY2VzDQo+ICsg ICkNCj4gK3sNCj4gKyAgVUlOVE4gSW5kZXg7DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IElu ZGV4IDwgc2l6ZW9mKEkyQ0dQSU8pL3NpemVvZihVSU5UMTYpOyBJbmRleCArKykgew0KPiArICAg IEkyQ0xpYlBlaU1taW9Xcml0ZTMyKElPX0JBU0VfQUREUkVTUytJMkNHUElPW0luZGV4XSwgMHgy MDAzQ0M4MSk7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ ICsNCj4gKy8qKg0KPiArICBQcm9ncmFtZSBhbGwgSTJDIGNvbnRyb2xsZXJzIG9uIExQU1MuDQo+ ICsNCj4gKyAgSTJDMCBpcyBmdW5jdGlvbiAxIG9mIExQU1MuIEkyQzEgaXMgZnVuY3Rpb24gMiBv ZiBMUFNTLCBldGMuLg0KPiArDQo+ICsgIEBwYXJhbSAgIFZPSUQNCj4gKw0KPiArICBAcmV0dXJu ICBFRklfU1VDQ0VTUw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtQcm9ncmFtUGNpTHBzc0ky QyAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMzIgICAgICAgUG1jQmFzZTsN Cj4gKyAgVUlOVDMyICAgICAgIERldklEOw0KPiArICBVSU5UTiAgICAgICAgUGNpTW1CYXNlPTA7 DQo+ICsgIFVJTlROICAgICAgICBJbmRleDsNCj4gKyAgVUlOVE4gICAgICAgIEJhcjA7DQo+ICsg IFVJTlROICAgICAgICBCYXIxOw0KPiArICBERUJVRyAoKEVGSV9EX0lORk8sICJQZWkgUHJvZ3Jh bVBjaUxwc3NJMkMoKSBTdGFydFxuIikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCB0aGUg VkxWIEZ1bmN0aW9uIERpc2FibGUgUmVnaXN0ZXIgdG8gWkVSTw0KPiArICAvLw0KPiArICBQbWNC YXNlICAgICAgICAgPSBJMkNMaWJQZWlNbWlvUmVhZDMyKFBjaUQzMUYwUmVnQmFzZSArDQo+IFJf UENIX0xQQ19QTUNfQkFTRSkgJiBCX1BDSF9MUENfUE1DX0JBU0VfQkFSOw0KPiArDQo+ICsgIGlm KEkyQ0xpYlBlaU1taW9SZWFkMzIoUG1jQmFzZSArIFJfUENIX1BNQ19GVU5DX0RJUykmDQo+ICsg ICAgICAoQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1MyX0ZVTkMxIHwNCj4gQl9QQ0hfUE1DX0ZVTkNf RElTX0xQU1MyX0ZVTkMyDQo+ICsgICAgICAgfCBCX1BDSF9QTUNfRlVOQ19ESVNfTFBTUzJfRlVO QzMgfA0KPiBCX1BDSF9QTUNfRlVOQ19ESVNfTFBTUzJfRlVOQzQgfA0KPiBCX1BDSF9QTUNfRlVO Q19ESVNfTFBTUzJfRlVOQzUNCj4gKyAgICAgICB8IEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9G VU5DNiB8DQo+IEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9GVU5DNykpIHsNCj4gKyAgICBJMkNM aWJQZWlNbWlvV3JpdGUzMigNCj4gKyAgICAgIFBtY0Jhc2UrUl9QQ0hfUE1DX0ZVTkNfRElTLA0K PiArICAgICAgSTJDTGliUGVpTW1pb1JlYWQzMihQbWNCYXNlICsgUl9QQ0hfUE1DX0ZVTkNfRElT KSYgXA0KPiArICAgICAgfihCX1BDSF9QTUNfRlVOQ19ESVNfTFBTUzJfRlVOQzEgfA0KPiBCX1BD SF9QTUNfRlVOQ19ESVNfTFBTUzJfRlVOQzIgXA0KPiArICAgICAgICB8IEJfUENIX1BNQ19GVU5D X0RJU19MUFNTMl9GVU5DMyB8DQo+IEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9GVU5DNCBcDQo+ ICsgICAgICAgIHwgQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1MyX0ZVTkM1IHwNCj4gQl9QQ0hfUE1D X0ZVTkNfRElTX0xQU1MyX0ZVTkM2fEJfUENIX1BNQ19GVU5DX0RJU19MUFNTMl9GVQ0KPiBOQzcp DQo+ICsgICAgICApOw0KPiArICAgIERFQlVHICgoRUZJX0RfSU5GTywgIlByb2dyYW1QY2lMcHNz STJDKCkgZW5hYmxlIGFsbCBJMkMgY29udHJvbGxlcnNcbiIpKTsNCj4gKyAgfQ0KPiArDQo+ICsg IGZvcihJbmRleCA9IDA7IEluZGV4IDwgTFBTU19QQ0lfREVWSUNFX05VTUJFUjsgSW5kZXggKysp IHsNCj4gKw0KPiArICAgIFBjaU1tQmFzZSA9IE1tUGNpQWRkcmVzcyAoDQo+ICsgICAgICAgICAg ICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9Q Q0gsDQo+ICsgICAgICAgICAgICAgICAgICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBTU19JMkMs DQo+ICsgICAgICAgICAgICAgICAgICBJbmRleCwNCj4gKyAgICAgICAgICAgICAgICAgIDANCj4g KyAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgRGV2SUQgPSAgSTJDTGliUGVpTW1pb1JlYWQz MihQY2lNbUJhc2UpOw0KPiArDQo+ICsgICAgQmFyMCA9IFBFSV9URVBNX0xQU1NfRE1BX0JBUiAr IChJbmRleCAqIFBDSV9DT05GSUdfU1BBQ0VfU0laRSk7DQo+ICsgICAgQmFyMSA9IEJhcjAgKyAw eDgwMDA7DQo+ICsNCj4gKyAgICBERUJVRygoRUZJX0RfRVJST1IsICJQcm9ncmFtIFBjaSBMcHNz IEkyQyBEZXZpY2UgIEZ1bmN0aW9uPSV4DQo+IERldklEPSUwOHhcbiIsIEluZGV4LCBEZXZJRCkp Ow0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBDaGVjayBpZiBkZXZpY2UgcHJlc2VudA0KPiAr ICAgIC8vDQo+ICsgICAgaWYgKERldklEICAhPSAweEZGRkZGRkZGKSAgew0KPiArICAgICAgaWYo IShJMkNMaWJQZWlNbWlvUmVhZDMyIChQY2lNbUJhc2UgKyBSX1BDSF9MUFNTX0kyQ19TVFNDTUQp ICYNCj4gQl9QQ0hfTFBTU19JMkNfU1RTQ01EX01TRSkpIHsNCj4gKyAgICAgICAgLy8NCj4gKyAg ICAgICAgLy8gUHJvZ3JhbSBCQVIgMA0KPiArICAgICAgICAvLw0KPiArICAgICAgICBJMkNMaWJQ ZWlNbWlvV3JpdGUzMigoVUlOVE4pIChQY2lNbUJhc2UgKyBSX1BDSF9MUFNTX0kyQ19CQVIpLA0K PiAoVUlOVDMyKShCYXIwICYgQl9QQ0hfTFBTU19JMkNfQkFSX0JBKSk7DQo+ICsNCj4gKyAgICAg ICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkkyQ0Jhc2VBZGRyZXNzMSA9IDB4JXgNCj4gXG4iLEky Q0xpYlBlaU1taW9SZWFkMzIgKFBjaU1tQmFzZStSX1BDSF9MUFNTX0kyQ19CQVIpKSk7DQo+ICsN Cj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gUHJvZ3JhbSBCQVIgMQ0KPiArICAgICAgICAv Lw0KPiArICAgICAgICBJMkNMaWJQZWlNbWlvV3JpdGUzMiAoKFVJTlROKShQY2lNbUJhc2UgKyBS X1BDSF9MUFNTX0kyQ19CQVIxKSwNCj4gKFVJTlQzMikoQmFyMSAmIEJfUENIX0xQU1NfSTJDX0JB UjFfQkEpKTsNCj4gKyAgICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkkyQ0Jhc2VBZGRyZXNz MSA9IDB4JXgNCj4gXG4iLEkyQ0xpYlBlaU1taW9SZWFkMzIoUGNpTW1CYXNlK1JfUENIX0xQU1Nf STJDX0JBUjEpKSk7DQo+ICsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gQnVzIE1hc3Rl ciBFbmFibGUgJiBNZW1vcnkgU3BhY2UgRW5hYmxlDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAg IEkyQ0xpYlBlaU1taW9Xcml0ZTMyKChVSU5UTikgKFBjaU1tQmFzZSArDQo+IFJfUENIX0xQU1Nf STJDX1NUU0NNRCksIChVSU5UMzIpKEJfUENIX0xQU1NfSTJDX1NUU0NNRF9CTUUgfA0KPiBCX1BD SF9MUFNTX0kyQ19TVFNDTURfTVNFKSk7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ ICsgICAgICAvLyBSZWxlYXNlIFJlc2V0cw0KPiArICAgICAgLy8NCj4gKyAgICAgIEkyQ0xpYlBl aU1taW9Xcml0ZTMyIChCYXIwICsgUl9QQ0hfTFBJT19JMkNfTUVNX1JFU0VUUywNCj4gKEJfUENI X0xQSU9fSTJDX01FTV9SRVNFVFNfRlVOQyB8DQo+IEJfUENIX0xQSU9fSTJDX01FTV9SRVNFVFNf QVBCKSk7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBBY3RpdmF0ZSBDbG9ja3MNCj4g KyAgICAgIC8vDQo+ICsgICAgICBJMkNMaWJQZWlNbWlvV3JpdGUzMiAoQmFyMCArIFJfUENIX0xQ U1NfSTJDX01FTV9QQ1AsDQo+IDB4ODAwMjAwMDMpOy8vTm8gdXNlIGZvciBBMA0KPiArDQo+ICsg ICAgICBERUJVRyAoKEVGSV9EX0lORk8sICJQcm9ncmFtUGNpTHBzc0kyQygpIFByb2dyYW1tZWQo KVxuIikpOw0KPiArICAgIH0NCj4gKw0KPiArICB9DQo+ICsNCj4gKyAgREVCVUcgKChFRklfRF9J TkZPLCAiUGVpIFByb2dyYW1QY2lMcHNzSTJDKCkgRW5kXG4iKSk7DQo+ICsNCj4gKyAgcmV0dXJu IEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgRGlzYWJsZSBJMkMgQnVzLg0K PiArDQo+ICsgIEBwYXJhbSBJMmNDb250cm9sbGVySW5kZXggICBJbmRleCBvZiBJMkMgY29udHJv bGxlci4NCj4gKw0KPiArICBAcmV0dXJuIEVGSV9TVUNDRVNTDQo+ICsqKi8NCj4gK0VGSV9TVEFU VVMNCj4gK0kyY0Rpc2FibGUgKA0KPiArICBJTiBVSU5UOCBJMmNDb250cm9sbGVySW5kZXgNCj4g KyAgKQ0KPiArew0KPiArICBVSU5UTiAgSTJDQmFzZUFkZHJlc3M7DQo+ICsgIFVJTlQzMiBOdW1U cmllcyA9IDEwMDAwOyAgLy8gMC4xIHNlY29uZHMNCj4gKw0KPiArICBJMkNCYXNlQWRkcmVzcyA9 IChVSU5UMzIpIFBFSV9URVBNX0xQU1NfSTJDMF9CQVIgKw0KPiBJMmNDb250cm9sbGVySW5kZXgg KiBQQ0lfQ09ORklHX1NQQUNFX1NJWkU7DQo+ICsNCj4gKyAgSTJDTGliUGVpTW1pb1dyaXRlMTYg KEkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19FTkFCTEUsIDApOw0KPiArICB3aGlsZSAoMCAhPSAoIEky Q0xpYlBlaU1taW9SZWFkMTYgKEkyQ0Jhc2VBZGRyZXNzICsNCj4gUl9JQ19FTkFCTEVfU1RBVFVT ICkgJiAxKSkgew0KPiArICAgIE1pY3JvU2Vjb25kRGVsYXkgKDEwKTsNCj4gKyAgICBOdW1Ucmll cyAtLTsNCj4gKyAgICBpZigwID09IE51bVRyaWVzKSByZXR1cm4gRUZJX05PVF9SRUFEWTsNCj4g KyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ ICsgIEVuYWJsZSBJMkMgQnVzLg0KPiArDQo+ICsgIEBwYXJhbSBJMmNDb250cm9sbGVySW5kZXgg ICBJbmRleCBvZiBJMkMgY29udHJvbGxlci4NCj4gKw0KPiArICBAcmV0dXJuIEVGSV9TVUNDRVNT DQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0kyY0VuYWJsZSAoDQo+ICsgIElOIFVJTlQ4IEky Y0NvbnRyb2xsZXJJbmRleA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlROICAgSTJDQmFzZUFkZHJl c3M7DQo+ICsgIFVJTlQzMiBOdW1UcmllcyA9IDEwMDAwOyAgLy8gMC4xIHNlY29uZHMNCj4gKw0K PiArICBJMkNCYXNlQWRkcmVzcyA9IChVSU5UMzIpIFBFSV9URVBNX0xQU1NfSTJDMF9CQVIrDQo+ IEkyY0NvbnRyb2xsZXJJbmRleCAqIFBDSV9DT05GSUdfU1BBQ0VfU0laRTsNCj4gKyAgSTJDTGli UGVpTW1pb1dyaXRlMTYgKEkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19FTkFCTEUsIDEpOw0KPiArICB3 aGlsZSAoMCA9PSAoIEkyQ0xpYlBlaU1taW9SZWFkMTYgKCBJMkNCYXNlQWRkcmVzcyArDQo+IFJf SUNfRU5BQkxFX1NUQVRVUyApICYgMSkpIHsNCj4gKyAgICBNaWNyb1NlY29uZERlbGF5ICgxMCk7 DQo+ICsgICAgTnVtVHJpZXMgLS07DQo+ICsgICAgaWYoMCA9PSBOdW1UcmllcykgcmV0dXJuIEVG SV9OT1RfUkVBRFk7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFNldCB0aGUgSTJDIGNvbnRyb2xsZXIgYnVzIGNsb2Nr IGZyZXF1ZW5jeS4NCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMgICAgICAgICAgIEFkZHJlc3Mg b2YgdGhlIGxpYnJhcnkncyBJMkMgY29udGV4dCBzdHJ1Y3R1cmUNCj4gKyAgQHBhcmFtW2luXSBQ bGF0Zm9ybURhdGEgICBBZGRyZXNzIG9mIHRoZSBwbGF0Zm9ybSBjb25maWd1cmF0aW9uIGRhdGEN Cj4gKyAgQHBhcmFtW2luXSBCdXNDbG9ja0hlcnR6ICBOZXcgSTJDIGJ1cyBjbG9jayBmcmVxdWVu Y3kgaW4gSGVydHoNCj4gKw0KPiArICBAcmV0dmFsIFJFVFVSTl9TVUNDRVNTICAgICAgVGhlIGJ1 cyBmcmVxdWVuY3kgd2FzIHNldCBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgUkVUVVJOX1VO U1VQUE9SVEVEICBUaGUgY29udHJvbGxlciBkb2VzIG5vdCBzdXBwb3J0IHRoaXMNCj4gZnJlcXVl bmN5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0kyY0J1c0ZyZXF1ZW5jeVNldCAo DQo+ICsgIElOIFVJTlROICAgSTJDQmFzZUFkZHJlc3MsDQo+ICsgIElOIFVJTlROICAgQnVzQ2xv Y2tIZXJ0eiwNCj4gKyAgSU4gVUlOVDE2ICAqSTJjTW9kZQ0KPiArICApDQo+ICt7DQo+ICsgIERF QlVHKChFRklfRF9JTkZPLCJJbnB1dEZyZXEgQnVzQ2xvY2tIZXJ0ejogJWRcclxuIixCdXNDbG9j a0hlcnR6KSk7DQo+ICsNCj4gKyAgKkkyY01vZGUgPSBCX0lDX1JFU1RBUlRfRU4gfCBCX0lDX1NM QVZFX0RJU0FCTEUgfA0KPiBCX01BU1RFUl9NT0RFOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBT ZXQgdGhlIDEwMCBLSHogY2xvY2sgZGl2aWRlcg0KPiArICAvLw0KPiArICAvLyAgRnJvbSBUYWJs ZSAxMCBvZiB0aGUgSTJDIHNwZWNpZmljYXRpb24NCj4gKyAgLy8NCj4gKyAgLy8gICAgSGlnaDog NC4wMCB1Uw0KPiArICAvLyAgICBMb3c6ICA0LjcwIHVTDQo+ICsgIC8vDQo+ICsgIEkyQ0xpYlBl aU1taW9Xcml0ZTE2ICggSTJDQmFzZUFkZHJlc3MgKyBSX0lDX1NTX1NDTF9IQ05ULA0KPiAoVUlO VDE2KTB4MjE0ICk7DQo+ICsgIEkyQ0xpYlBlaU1taW9Xcml0ZTE2ICggSTJDQmFzZUFkZHJlc3Mg KyBSX0lDX1NTX1NDTF9MQ05ULA0KPiAoVUlOVDE2KTB4MjcyICk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gICAgU2V0IHRoZSA0MDAgS0h6IGNsb2NrIGRpdmlkZXINCj4gKyAgLy8NCj4gKyAgLy8g ICAgRnJvbSBUYWJsZSAxMCBvZiB0aGUgSTJDIHNwZWNpZmljYXRpb24NCj4gKyAgLy8NCj4gKyAg Ly8gICAgICBIaWdoOiAwLjYwIHVTDQo+ICsgIC8vICAgICAgTG93OiAgMS4zMCB1Uw0KPiArICAv Lw0KPiArICBJMkNMaWJQZWlNbWlvV3JpdGUxNiAoIEkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19GU19T Q0xfSENOVCwNCj4gKFVJTlQxNikweDUwICk7DQo+ICsgIEkyQ0xpYlBlaU1taW9Xcml0ZTE2ICgg STJDQmFzZUFkZHJlc3MgKyBSX0lDX0ZTX1NDTF9MQ05ULA0KPiAoVUlOVDE2KTB4QUQgKTsNCj4g Kw0KPiArICBzd2l0Y2ggKCBCdXNDbG9ja0hlcnR6ICkgew0KPiArICAgIGNhc2UgMTAwICogMTAw MDoNCj4gKyAgICAgIEkyQ0xpYlBlaU1taW9Xcml0ZTMyICggSTJDQmFzZUFkZHJlc3MgKyBSX0lD X1NEQV9IT0xELA0KPiAoVUlOVDE2KTB4NDApOy8vMTAwSw0KPiArICAgICAgKkkyY01vZGUgfD0g Vl9TUEVFRF9TVEFOREFSRDsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGNhc2UgNDAwICogMTAw MDoNCj4gKyAgICAgIEkyQ0xpYlBlaU1taW9Xcml0ZTMyICggSTJDQmFzZUFkZHJlc3MgKyBSX0lD X1NEQV9IT0xELA0KPiAoVUlOVDE2KTB4MzIpOy8vNDAwSw0KPiArICAgICAgKkkyY01vZGUgfD0g Vl9TUEVFRF9GQVNUOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgZGVmYXVsdDoNCj4gKyAgICAg IEkyQ0xpYlBlaU1taW9Xcml0ZTMyICggSTJDQmFzZUFkZHJlc3MgKyBSX0lDX1NEQV9IT0xELA0K PiAoVUlOVDE2KTB4MDkpOy8vMy40TQ0KPiArICAgICAgKkkyY01vZGUgfD0gVl9TUEVFRF9ISUdI Ow0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsv KioNCj4gKyAgSW5pdGlhbGl6ZXMgdGhlIGhvc3QgY29udHJvbGxlciB0byBleGVjdXRlIEkyQyBj b21tYW5kcy4NCj4gKw0KPiArICBAcGFyYW0gSTJjQ29udHJvbGxlckluZGV4IEluZGV4IG9mIEky QyBjb250cm9sbGVyIGluIExQU1MgZGV2aWNlLiAwDQo+IHJlcHJlc2VudHMgSTJDMCwgd2hpY2gg aXMgUENJIGZ1bmN0aW9uIDEgb2YgTFBTUyBkZXZpY2UuDQo+ICsNCj4gKyAgQHJldHVybiBFRklf U1VDQ0VTUyAgICAgICBPcGNvZGUgaW5pdGlhbGl6YXRpb24gb24gdGhlIEkyQyBob3N0IGNvbnRy b2xsZXINCj4gY29tcGxldGVkLg0KPiArICBAcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1IgIERldmlj ZSBlcnJvciwgb3BlcmF0aW9uIGZhaWxlZC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArSTJD SW5pdCAoDQo+ICsgIFVJTlQ4IEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gKyAgVUlOVDE2IFNsYXZl QWRkcmVzcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICBTdGF0dXM7DQo+ICsgIFVJ TlQzMiAgICAgICBOdW1UcmllcyA9IDA7DQo+ICsgIFVJTlROICAgICAgICBJMkNCYXNlQWRkcmVz czsNCj4gKyAgVUlOVDE2ICAgICAgIEkyY01vZGU7DQo+ICsgIFVJTlROICAgICAgICBQY2lNbUJh c2U9MDsNCj4gKw0KPiArDQo+ICsgIFBjaU1tQmFzZSA9IE1tUGNpQWRkcmVzcyAoDQo+ICsgICAg ICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVS X1BDSCwNCj4gKyAgICAgICAgICAgICAgICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBTU19JMkMs DQo+ICsgICAgICAgICAgICAgICAgKEkyY0NvbnRyb2xsZXJJbmRleCArIDEpLA0KPiArICAgICAg ICAgICAgICAgIDANCj4gKyAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIEkyQ0Jhc2VBZGRy ZXNzID0gSTJDTGliUGVpTW1pb1JlYWQzMg0KPiAoUGNpTW1CYXNlK1JfUENIX0xQU1NfSTJDX0JB Uik7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gIFZlcmlmeSB0aGUgcGFyYW1ldGVycw0KPiArICAv Lw0KPiArICBpZiAoMTAyMyA8IFNsYXZlQWRkcmVzcyApIHsNCj4gKyAgICBTdGF0dXMgPSAgRUZJ X0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICAgIERFQlVHKChFRklfRF9JTkZPLCJJMmNTdGFydFJl cXVlc3QgRXhpdCB3aXRoIFN0YXR1cyAlclxyXG4iLCBTdGF0dXMpKTsNCj4gKyAgICByZXR1cm4g U3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAgaWYoSTJDQmFzZUFkZHJlc3MgPT0gIChQRUlfVEVQ TV9MUFNTX0kyQzBfQkFSICsgSTJjQ29udHJvbGxlckluZGV4ICoNCj4gUENJX0NPTkZJR19TUEFD RV9TSVpFKSkgew0KPiArICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgfQ0KPiArICBQcm9n cmFtUGNpTHBzc0kyQygpOw0KPiArDQo+ICsgIEkyQ0Jhc2VBZGRyZXNzID0gKFVJTlQzMikgKFBF SV9URVBNX0xQU1NfSTJDMF9CQVIgKw0KPiBJMmNDb250cm9sbGVySW5kZXggKiBQQ0lfQ09ORklH X1NQQUNFX1NJWkUpOw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiSTJDQmFzZUFkZHJlc3Mg PSAweCV4IFxuIixJMkNCYXNlQWRkcmVzcykpOw0KPiArICBOdW1UcmllcyA9IDEwMDAwOyAvLyAx IHNlY29uZHMNCj4gKyAgd2hpbGUgKCgxID09ICggSTJDTGliUGVpTW1pb1JlYWQzMiAoIEkyQ0Jh c2VBZGRyZXNzICsgUl9JQ19TVEFUVVMpICYNCj4gU1RBVF9NU1RfQUNUSVZJVFkgKSkpIHsNCj4g KyAgICBNaWNyb1NlY29uZERlbGF5KDEwKTsNCj4gKyAgICBOdW1UcmllcyAtLTsNCj4gKyAgICBp ZigwID09IE51bVRyaWVzKQ0KPiArICAgICAgcmV0dXJuIEVGSV9ERVZJQ0VfRVJST1I7DQo+ICsg IH0NCj4gKw0KPiArICBTdGF0dXMgPSBJMmNEaXNhYmxlIChJMmNDb250cm9sbGVySW5kZXgpOw0K PiArICBERUJVRygoRUZJX0RfSU5GTywgIkkyY0Rpc2FibGUgU3RhdHVzID0gJXJcclxuIiwgU3Rh dHVzKSk7DQo+ICsNCj4gKyAgSTJjQnVzRnJlcXVlbmN5U2V0KEkyQ0Jhc2VBZGRyZXNzLCA0MDAg KiAxMDAwLCAmSTJjTW9kZSk7Ly9TZXQNCj4gSTJjTW9kZQ0KPiArDQo+ICsgIEkyQ0xpYlBlaU1t aW9Xcml0ZTE2KEkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19JTlRSX01BU0ssIDB4MCk7DQo+ICsgIGlm ICgweDdGIDwgU2xhdmVBZGRyZXNzKSB7DQo+ICsgICAgU2xhdmVBZGRyZXNzID0gKFNsYXZlQWRk cmVzcyAmIDB4M2ZmICkgfCBJQ19UQVJfMTBCSVRBRERSX01BU1RFUjsNCj4gKyAgfQ0KPiArICBJ MkNMaWJQZWlNbWlvV3JpdGUxNiAoSTJDQmFzZUFkZHJlc3MgKyBSX0lDX1RBUiwgKFVJTlQxNikN Cj4gU2xhdmVBZGRyZXNzICk7DQo+ICsgIEkyQ0xpYlBlaU1taW9Xcml0ZTE2IChJMkNCYXNlQWRk cmVzcyArIFJfSUNfUlhfVEwsIDApOw0KPiArICBJMkNMaWJQZWlNbWlvV3JpdGUxNiAoSTJDQmFz ZUFkZHJlc3MgKyBSX0lDX1RYX1RMLCAwICk7DQo+ICsgIEkyQ0xpYlBlaU1taW9Xcml0ZTE2IChJ MkNCYXNlQWRkcmVzcyArIFJfSUNfQ09OLCBJMmNNb2RlKTsNCj4gKw0KPiArICBTdGF0dXMgPSBJ MmNFbmFibGUoSTJjQ29udHJvbGxlckluZGV4KTsNCj4gKyAgREVCVUcoKEVGSV9EX0lORk8sICJJ MmNFbmFibGUgU3RhdHVzID0gJXJcclxuIiwgU3RhdHVzKSk7DQo+ICsgIEkyQ0xpYlBlaU1taW9S ZWFkMTYgKCBJMkNCYXNlQWRkcmVzcyArIFJfSUNfQ0xSX1RYX0FCUlQgKTsNCj4gKw0KPiArICBy ZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBSZWFkcyBhIEJ5dGUg ZnJvbSBJMkMgRGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSAgSTJjQ29udHJvbGxlckluZGV4ICBJ MkMgQnVzIG5vIHRvIHdoaWNoIHRoZSBJMkMgZGV2aWNlIGhhcyBiZWVuDQo+IGNvbm5lY3RlZA0K PiArICBAcGFyYW0gIFNsYXZlQWRkcmVzcyAgICAgICAgRGV2aWNlIEFkZHJlc3MgZnJvbSB3aGlj aCB0aGUgYnl0ZSB2YWx1ZSBoYXMNCj4gdG8gYmUgcmVhZA0KPiArICBAcGFyYW0gIE9mZnNldCAg ICAgICAgICAgICAgT2Zmc2V0IGZyb20gd2hpY2ggdGhlIGRhdGEgaGFzIHRvIGJlIHJlYWQNCj4g KyAgQHBhcmFtICAqQnl0ZSAgICAgICAgICAgICAgIEFkZHJlc3MgdG8gd2hpY2ggdGhlIHZhbHVl IHJlYWQgaGFzIHRvIGJlIHN0b3JlZA0KPiArDQo+ICsgIEByZXR1cm4gIEVGSV9TVUNDRVNTICAg ICAgICBJZiB0aGUgYnl0ZSB2YWx1ZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcmVhZA0KPiArICBA cmV0dXJuICBFRklfREVWSUNFX0VSUk9SICAgT3BlcmF0aW9uIEZhaWxlZCwgRGV2aWNlIEVycm9y DQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMgQnl0ZVJlYWRJMkNCYXNpYygNCj4gKyAgSU4gIFVJTlQ4 IEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gKyAgSU4gIFVJTlQ4IFNsYXZlQWRkcmVzcywNCj4gKyAg SU4gIFVJTlROIFJlYWRCeXRlcywNCj4gKyAgT1VUIFVJTlQ4ICpSZWFkQnVmZmVyLA0KPiArICBJ TiAgVUlOVDggU3RhcnQsDQo+ICsgIElOICBVSU5UOCBFbmQNCj4gKyAgKQ0KPiArew0KPiArDQo+ ICsgIEVGSV9TVEFUVVMgU3RhdHVzOw0KPiArICBVSU5UMzIgSTJjU3RhdHVzOw0KPiArICBVSU5U MTYgUmVjZWl2ZURhdGE7DQo+ICsgIFVJTlQ4ICpSZWNlaXZlRGF0YUVuZDsNCj4gKyAgVUlOVDgg KlJlY2VpdmVSZXF1ZXN0Ow0KPiArICBVSU5UMTYgUmF3SW50clN0YXQ7DQo+ICsgIFVJTlROICAg STJDQmFzZUFkZHJlc3M7DQo+ICsNCj4gKyAgSTJDQmFzZUFkZHJlc3MgPSAoVUlOVDMyKShQRUlf VEVQTV9MUFNTX0kyQzBfQkFSICsNCj4gSTJjQ29udHJvbGxlckluZGV4ICogUENJX0NPTkZJR19T UEFDRV9TSVpFKTsNCj4gKw0KPiArICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gKw0KPiArICBJ MkNJbml0KEkyY0NvbnRyb2xsZXJJbmRleCwgU2xhdmVBZGRyZXNzKTsNCj4gKw0KPiArICBSZWNl aXZlRGF0YUVuZCA9ICZSZWFkQnVmZmVyIFtSZWFkQnl0ZXNdOw0KPiArICBpZihSZWFkQnl0ZXMp IHsNCj4gKyAgICBSZWNlaXZlUmVxdWVzdCA9IFJlYWRCdWZmZXI7DQo+ICsgICAgREVCVUcoKEVG SV9EX0lORk8sIlJlYWQ6IC0tLS0tLS0tLS0tLS0tLSVkIGJ5dGVzIHRvDQo+IFJYXHJcbiIsUmVj ZWl2ZURhdGFFbmQgLSBSZWNlaXZlUmVxdWVzdCkpOw0KPiArDQo+ICsgICAgd2hpbGUgKChSZWNl aXZlRGF0YUVuZCA+IFJlY2VpdmVSZXF1ZXN0KSB8fCAoUmVjZWl2ZURhdGFFbmQgPg0KPiBSZWFk QnVmZmVyKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIENoZWNrIGZvciBOQUNLDQo+ICsg ICAgICAvLw0KPiArICAgICAgUmF3SW50clN0YXQgPSBJMkNMaWJQZWlNbWlvUmVhZDE2IChJMkNC YXNlQWRkcmVzcyArDQo+IFJfSUNfUmF3SW50clN0YXQgKTsNCj4gKyAgICAgIGlmICggMCAhPSAo UmF3SW50clN0YXQgJiBJMkNfSU5UUl9UWF9BQlJUICkpIHsNCj4gKyAgICAgICAgSTJDTGliUGVp TW1pb1JlYWQxNiAoIEkyQ0Jhc2VBZGRyZXNzICsgUl9JQ19DTFJfVFhfQUJSVCApOw0KPiArICAg ICAgICBTdGF0dXMgPSBSRVRVUk5fREVWSUNFX0VSUk9SOw0KPiArICAgICAgICBERUJVRygoRUZJ X0RfSU5GTywiVFggQUJSVCAsJWQgYnl0ZXMgaGFzbid0IGJlZW4NCj4gdHJhbnNmZXJyZWRcclxu IixSZWNlaXZlRGF0YUVuZCAtIFJlY2VpdmVSZXF1ZXN0KSk7DQo+ICsgICAgICAgIGJyZWFrOw0K PiArICAgICAgfQ0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRGV0ZXJtaW5lIGlmIGFu b3RoZXIgYnl0ZSB3YXMgcmVjZWl2ZWQNCj4gKyAgICAgIC8vDQo+ICsgICAgICBJMmNTdGF0dXMg PSBJMkNMaWJQZWlNbWlvUmVhZDE2ICggSTJDQmFzZUFkZHJlc3MgKyBSX0lDX1NUQVRVUyApOw0K PiArICAgICAgaWYgKCAwICE9ICggSTJjU3RhdHVzICYgU1RBVF9SRk5FICkpIHsNCj4gKyAgICAg ICAgUmVjZWl2ZURhdGEgPSBJMkNMaWJQZWlNbWlvUmVhZDE2ICggSTJDQmFzZUFkZHJlc3MgKw0K PiBSX0lDX0RBVEFfQ01EICk7DQo+ICsgICAgICAgICpSZWFkQnVmZmVyKysgPSAoVUlOVDgpUmVj ZWl2ZURhdGE7DQo+ICsgICAgICAgIERFQlVHKChFRklfRF9JTkZPLCJNbWlvUmVhZDMyICwxIGJ5 dGUgMHg6JXggaXMNCj4gcmVjZWl2ZWRcclxuIixSZWNlaXZlRGF0YSkpOw0KPiArICAgICAgfQ0K PiArDQo+ICsgICAgICBpZihSZWNlaXZlRGF0YUVuZD09UmVjZWl2ZVJlcXVlc3QpIHsNCj4gKyAg ICAgICAgLy8NCj4gKyAgICAgICAgLy8gV2FpdGluZyB0aGUgbGFzdCByZXF1ZXN0IHRvIGdldCBk YXRhIGFuZCBtYWtlIChSZWNlaXZlRGF0YUVuZCA+DQo+IFJlYWRCdWZmZXIpID1UUlVFLg0KPiAr ICAgICAgICAvLw0KPiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAg ICAgLy8NCj4gKyAgICAgIC8vIFdhaXQgdW50aWwgYSByZWFkIHJlcXVlc3Qgd2lsbCBmaXQNCj4g KyAgICAgIC8vDQo+ICsgICAgICBpZiAoIDAgPT0gKCBJMmNTdGF0dXMgJiBTVEFUX1RGTkYgKSkg ew0KPiArICAgICAgICBNaWNyb1NlY29uZERlbGF5ICggMTAgKTsNCj4gKyAgICAgICAgY29udGlu dWU7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBJc3N1ZSB0aGUg bmV4dCByZWFkIHJlcXVlc3QNCj4gKyAgICAgIC8vDQo+ICsgICAgICBpZihFbmQgJiYgU3RhcnQg KSB7DQo+ICsgICAgICAgIEkyQ0xpYlBlaU1taW9Xcml0ZTE2ICggSTJDQmFzZUFkZHJlc3MgKyBS X0lDX0RBVEFfQ01ELA0KPiBCX1JFQURfQ01EfEJfQ01EX1JFU1RBUlR8Ql9DTURfU1RPUCk7DQo+ ICsgICAgICB9IGVsc2UgaWYgKCFFbmQgJiYgU3RhcnQgKSB7DQo+ICsgICAgICAgIEkyQ0xpYlBl aU1taW9Xcml0ZTE2ICggSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0RBVEFfQ01ELA0KPiBCX1JFQURf Q01EfEJfQ01EX1JFU1RBUlQpOw0KPiArICAgICAgfSBlbHNlIGlmIChFbmQgJiYgIVN0YXJ0ICkg ew0KPiArICAgICAgICBJMkNMaWJQZWlNbWlvV3JpdGUxNiAoIEkyQ0Jhc2VBZGRyZXNzICsgUl9J Q19EQVRBX0NNRCwNCj4gQl9SRUFEX0NNRHxCX0NNRF9TVE9QKTsNCj4gKyAgICAgIH0gZWxzZSBp ZiAoIUVuZCAmJiAhU3RhcnQgKSB7DQo+ICsgICAgICAgIEkyQ0xpYlBlaU1taW9Xcml0ZTE2ICgg STJDQmFzZUFkZHJlc3MgKyBSX0lDX0RBVEFfQ01ELA0KPiBCX1JFQURfQ01EKTsNCj4gKyAgICAg IH0NCj4gKyAgICAgIFJlY2VpdmVSZXF1ZXN0ICs9IDE7DQo+ICsgICAgfQ0KPiArDQo+ICsgIH0N Cj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gKw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgV3JpdGVz IGEgQnl0ZSB0byBJMkMgRGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSAgSTJjQ29udHJvbGxlcklu ZGV4ICAgSTJDIEJ1cyBubyB0byB3aGljaCB0aGUgSTJDIGRldmljZSBoYXMgYmVlbg0KPiBjb25u ZWN0ZWQNCj4gKyAgQHBhcmFtICBTbGF2ZUFkZHJlc3MgICAgICAgICBEZXZpY2UgQWRkcmVzcyBm cm9tIHdoaWNoIHRoZSBieXRlIHZhbHVlIGhhcw0KPiB0byBiZSB3cml0dGVuDQo+ICsgIEBwYXJh bSAgT2Zmc2V0ICAgICAgICAgICAgICAgT2Zmc2V0IGZyb20gd2hpY2ggdGhlIGRhdGEgaGFzIHRv IGJlIHJlYWQNCj4gKyAgQHBhcmFtICAqQnl0ZSAgICAgICAgICAgICAgICBBZGRyZXNzIHRvIHdo aWNoIHRoZSB2YWx1ZSB3cml0dGVuIGlzIHN0b3JlZA0KPiArDQo+ICsgIEByZXR1cm4gIEVGSV9T VUNDRVNTICAgICAgICAgSUYgdGhlIGJ5dGUgdmFsdWUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHdy aXR0ZW4NCj4gKyAgQHJldHVybiAgRUZJX0RFVklDRV9FUlJPUiAgICBPcGVyYXRpb24gRmFpbGVk LCBEZXZpY2UgRXJyb3INCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQnl0ZVdyaXRlSTJDQmFz aWMoDQo+ICsgIElOICBVSU5UOCBJMmNDb250cm9sbGVySW5kZXgsDQo+ICsgIElOICBVSU5UOCBT bGF2ZUFkZHJlc3MsDQo+ICsgIElOICBVSU5UTiBXcml0ZUJ5dGVzLA0KPiArICBJTiAgVUlOVDgg KldyaXRlQnVmZmVyLA0KPiArICBJTiAgVUlOVDggU3RhcnQsDQo+ICsgIElOICBVSU5UOCBFbmQN Cj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIEVGSV9TVEFUVVMgU3RhdHVzOw0KPiArICBVSU5UMzIg STJjU3RhdHVzOw0KPiArICBVSU5UOCAqVHJhbnNtaXRFbmQ7DQo+ICsgIFVJTlQxNiBSYXdJbnRy U3RhdDsNCj4gKyAgVUlOVE4gICBJMkNCYXNlQWRkcmVzczsNCj4gKw0KPiArICBJMkNCYXNlQWRk cmVzcyA9IChVSU5UMzIpUEVJX1RFUE1fTFBTU19JMkMwX0JBUisgSTJjQ29udHJvbGxlckluZGV4 DQo+ICogUENJX0NPTkZJR19TUEFDRV9TSVpFOw0KPiArDQo+ICsgIFN0YXR1cyA9IEVGSV9TVUND RVNTOw0KPiArDQo+ICsgIEkyQ0luaXQoSTJjQ29udHJvbGxlckluZGV4LCBTbGF2ZUFkZHJlc3Mp Ow0KPiArDQo+ICsgIFRyYW5zbWl0RW5kID0gJldyaXRlQnVmZmVyIFtXcml0ZUJ5dGVzXTsNCj4g KyAgaWYoIFdyaXRlQnl0ZXMgKSB7DQo+ICsNCj4gKyAgICBERUJVRygoRUZJX0RfSU5GTywiV3Jp dGU6IC0tLS0tLS0tLS0tLS0tJWQgYnl0ZXMgdG8gVFhcclxuIiwNCj4gVHJhbnNtaXRFbmQgLSBX cml0ZUJ1ZmZlcikpOw0KPiArDQo+ICsgICAgd2hpbGUgKCBUcmFuc21pdEVuZCA+IFdyaXRlQnVm ZmVyKSB7DQo+ICsgICAgICBJMmNTdGF0dXMgPSBJMkNMaWJQZWlNbWlvUmVhZDE2IChJMkNCYXNl QWRkcmVzcyArIFJfSUNfU1RBVFVTKTsNCj4gKyAgICAgIFJhd0ludHJTdGF0ID0gSTJDTGliUGVp TW1pb1JlYWQxNiAoSTJDQmFzZUFkZHJlc3MgKw0KPiBSX0lDX1Jhd0ludHJTdGF0KTsNCj4gKyAg ICAgIGlmICggMCAhPSAoUmF3SW50clN0YXQgJiBJMkNfSU5UUl9UWF9BQlJUKSkgew0KPiArICAg ICAgICBJMkNMaWJQZWlNbWlvUmVhZDE2IChJMkNCYXNlQWRkcmVzcyArIFJfSUNfQ0xSX1RYX0FC UlQpOw0KPiArICAgICAgICBTdGF0dXMgPSBSRVRVUk5fREVWSUNFX0VSUk9SOw0KPiArICAgICAg ICBERUJVRygoRUZJX0RfRVJST1IsIlRYIEFCUlQgVHJhbnNtaXRFbmQ6MHgleA0KPiBXcml0ZUJ1 ZmZlcjoweCV4XHJcbiIsIFRyYW5zbWl0RW5kLCBXcml0ZUJ1ZmZlcikpOw0KPiArICAgICAgICBi cmVhazsNCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmICgwID09ICggSTJjU3RhdHVzICYgU1RBVF9U Rk5GKSkgew0KPiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmKEVu ZCAmJiBTdGFydCkgew0KPiArICAgICAgICBJMkNMaWJQZWlNbWlvV3JpdGUxNiAoSTJDQmFzZUFk ZHJlc3MgKyBSX0lDX0RBVEFfQ01ELA0KPiAoKldyaXRlQnVmZmVyKyspIHwgQl9DTURfUkVTVEFS VCB8IEJfQ01EX1NUT1ApOw0KPiArICAgICAgfSBlbHNlIGlmICghRW5kICYmIFN0YXJ0ICkgew0K PiArICAgICAgICBJMkNMaWJQZWlNbWlvV3JpdGUxNiAoSTJDQmFzZUFkZHJlc3MgKyBSX0lDX0RB VEFfQ01ELA0KPiAoKldyaXRlQnVmZmVyKyspIHwgQl9DTURfUkVTVEFSVCk7DQo+ICsgICAgICB9 IGVsc2UgaWYgKEVuZCAmJiAhU3RhcnQgKSB7DQo+ICsgICAgICAgIEkyQ0xpYlBlaU1taW9Xcml0 ZTE2IChJMkNCYXNlQWRkcmVzcyArIFJfSUNfREFUQV9DTUQsDQo+ICgqV3JpdGVCdWZmZXIrKykg fCBCX0NNRF9TVE9QKTsNCj4gKyAgICAgIH0gZWxzZSBpZiAoIUVuZCAmJiAhU3RhcnQgKSB7DQo+ ICsgICAgICAgIEkyQ0xpYlBlaU1taW9Xcml0ZTE2IChJMkNCYXNlQWRkcmVzcyArIFJfSUNfREFU QV9DTUQsDQo+ICgqV3JpdGVCdWZmZXIrKykpOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICAv LyBBZGQgYSBzbWFsbCBkZWxheSB0byB3b3JrIGFyb3VuZCBzb21lIG9kZCBiZWhhdmlvciBiZWlu ZyBzZWVuLg0KPiBXaXRob3V0IHRoaXMgZGVsYXkgYnl0ZXMgZ2V0IGRyb3BwZWQuDQo+ICsgICAg ICBNaWNyb1NlY29uZERlbGF5ICggRklGT19XUklURV9ERUxBWSApOw0KPiArICAgIH0NCj4gKw0K PiArICB9DQo+ICsNCj4gKyAgaWYoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICBERUJVRygo RUZJX0RfSU5GTywiSTJjU3RhcnRSZXF1ZXN0IEV4aXQgd2l0aCBTdGF0dXMgJXJcclxuIixTdGF0 dXMpKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBSZWFkcyBhIEJ5dGUgZnJvbSBJMkMgRGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSAg STJjQ29udHJvbGxlckluZGV4ICAgSTJDIEJ1cyBubyB0byB3aGljaCB0aGUgSTJDIGRldmljZSBo YXMgYmVlbg0KPiBjb25uZWN0ZWQNCj4gKyAgQHBhcmFtICBTbGF2ZUFkZHJlc3MgICAgICAgICBE ZXZpY2UgQWRkcmVzcyBmcm9tIHdoaWNoIHRoZSBieXRlIHZhbHVlIGhhcw0KPiB0byBiZSByZWFk DQo+ICsgIEBwYXJhbSAgT2Zmc2V0ICAgICAgICAgICAgICAgT2Zmc2V0IGZyb20gd2hpY2ggdGhl IGRhdGEgaGFzIHRvIGJlIHJlYWQNCj4gKyAgQHBhcmFtICBSZWFkQnl0ZXMgICAgICAgICAgICBO dW1iZXIgb2YgYnl0ZXMgdG8gYmUgcmVhZA0KPiArICBAcGFyYW0gICpSZWFkQnVmZmVyICAgICAg ICAgIEFkZHJlc3MgdG8gd2hpY2ggdGhlIHZhbHVlIHJlYWQgaGFzIHRvIGJlDQo+IHN0b3JlZA0K PiArDQo+ICsgIEByZXR1cm4gIEVGSV9TVUNDRVNTICAgICAgIElGIHRoZSBieXRlIHZhbHVlIGhh cyBiZWVuIHN1Y2Nlc3NmdWxseSByZWFkDQo+ICsgIEByZXR1cm4gIEVGSV9ERVZJQ0VfRVJST1Ig IE9wZXJhdGlvbiBGYWlsZWQsIERldmljZSBFcnJvcg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ ICtCeXRlUmVhZEkyQygNCj4gKyAgSU4gIFVJTlQ4IEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gKyAg SU4gIFVJTlQ4IFNsYXZlQWRkcmVzcywNCj4gKyAgSU4gIFVJTlQ4IE9mZnNldCwNCj4gKyAgSU4g IFVJTlROIFJlYWRCeXRlcywNCj4gKyAgT1VUIFVJTlQ4ICpSZWFkQnVmZmVyDQo+ICsgICkNCj4g K3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgU3RhdHVzOw0KPiArDQo+ICsgIERFQlVHICgoRUZJ X0RfRVJST1IsICJCeXRlUmVhZEkyQzotLS1vZmZzZXQ6MHgleFxuIixPZmZzZXQpKTsNCj4gKyAg U3RhdHVzID0gQnl0ZVdyaXRlSTJDQmFzaWMoSTJjQ29udHJvbGxlckluZGV4LCBTbGF2ZUFkZHJl c3MsIDEsDQo+ICZPZmZzZXQsVFJVRSxGQUxTRSk7DQo+ICsgIFN0YXR1cyA9IEJ5dGVSZWFkSTJD QmFzaWMoSTJjQ29udHJvbGxlckluZGV4LCBTbGF2ZUFkZHJlc3MsIFJlYWRCeXRlcywNCj4gUmVh ZEJ1ZmZlciwgVFJVRSwgVFJVRSk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4g Kw0KPiArLyoqDQo+ICsgIFdyaXRlcyBhIEJ5dGUgdG8gSTJDIERldmljZS4NCj4gKw0KPiArICBA cGFyYW0gIEkyY0NvbnRyb2xsZXJJbmRleCAgSTJDIEJ1cyBubyB0byB3aGljaCB0aGUgSTJDIGRl dmljZSBoYXMgYmVlbg0KPiBjb25uZWN0ZWQNCj4gKyAgQHBhcmFtICBTbGF2ZUFkZHJlc3MgICAg ICAgIERldmljZSBBZGRyZXNzIGZyb20gd2hpY2ggdGhlIGJ5dGUgdmFsdWUgaGFzDQo+IHRvIGJl IHdyaXR0ZW4NCj4gKyAgQHBhcmFtICBPZmZzZXQgICAgICAgICAgICAgIE9mZnNldCBmcm9tIHdo aWNoIHRoZSBkYXRhIGhhcyB0byBiZSB3cml0dGVuDQo+ICsgIEBwYXJhbSAgV3JpdGVCeXRlcyAg ICAgICAgICBOdW1iZXIgb2YgYnl0ZXMgdG8gYmUgd3JpdHRlbg0KPiArICBAcGFyYW0gICpCeXRl ICAgICAgICAgICAgICAgQWRkcmVzcyB0byB3aGljaCB0aGUgdmFsdWUgd3JpdHRlbiBpcyBzdG9y ZWQNCj4gKw0KPiArICBAcmV0dXJuICBFRklfU1VDQ0VTUyAgICAgICBJRiB0aGUgYnl0ZSB2YWx1 ZSBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgcmVhZA0KPiArICBAcmV0dXJuICBFRklfREVWSUNFX0VS Uk9SICBPcGVyYXRpb24gRmFpbGVkLCBEZXZpY2UgRXJyb3INCj4gKyoqLw0KPiArRUZJX1NUQVRV UyBCeXRlV3JpdGVJMkMoDQo+ICsgIElOICBVSU5UOCBJMmNDb250cm9sbGVySW5kZXgsDQo+ICsg IElOICBVSU5UOCBTbGF2ZUFkZHJlc3MsDQo+ICsgIElOICBVSU5UOCBPZmZzZXQsDQo+ICsgIElO ICBVSU5UTiBXcml0ZUJ5dGVzLA0KPiArICBJTiAgVUlOVDggKldyaXRlQnVmZmVyDQo+ICsgICkN Cj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgU3RhdHVzOw0KPiArDQo+ICsgIERFQlVHICgo RUZJX0RfRVJST1IsICJCeXRlV3JpdGVJMkM6LS0tDQo+IG9mZnNldC9ieXRlcy9idWY6MHgleCww eCV4LDB4JXgsMHgleFxuIixPZmZzZXQsV3JpdGVCeXRlcyxXcml0ZUJ1ZmZlciwNCj4gKldyaXRl QnVmZmVyKSk7DQo+ICsgIFN0YXR1cyA9IEJ5dGVXcml0ZUkyQ0Jhc2ljKEkyY0NvbnRyb2xsZXJJ bmRleCwgU2xhdmVBZGRyZXNzLCAxLCAmT2Zmc2V0LA0KPiBUUlVFLCBGQUxTRSk7DQo+ICsgIFN0 YXR1cyA9IEJ5dGVXcml0ZUkyQ0Jhc2ljKEkyY0NvbnRyb2xsZXJJbmRleCwgU2xhdmVBZGRyZXNz LCBXcml0ZUJ5dGVzLA0KPiBXcml0ZUJ1ZmZlciwgRkFMU0UsIFRSVUUpOw0KPiArDQo+ICsgIHJl dHVybiBTdGF0dXM7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYlBlaS9JMkNMaWJQZWkuaA0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliUGVpL0kyQ0xpYlBlaS5oDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjQ3NTM2YWViZjcNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L0kyQ0xpYlBlaS9JMkNMaWJQZWkuaA0KPiBAQCAtMCwwICsxLDI4MCBAQA0KPiArLyoqIEBm aWxlDQo+ICsgIEkyQyBQRUkgTGliIEluc3RhbmNlLg0KPiArDQo+ICsgIENvcHlyaWdodCAoYykg MTk5OS0gMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBJMkNfUEVJX1JFR1NfSA0KPiArI2RlZmluZSBJMkNfUEVJ X1JFR1NfSA0KPiArDQo+ICsjaW5jbHVkZSAiUGlQZWkuaCINCj4gKw0KPiArI2RlZmluZSBSX1BD SF9MUENfUE1DX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAweDQ0DQo+ICsjZGVmaW5lIEJf UENIX0xQQ19QTUNfQkFTRV9CQVIgICAgICAgICAgICAgICAgICAgIDB4RkZGRkZFMDANCj4gKyNk ZWZpbmUgUl9QQ0hfUE1DX0ZVTkNfRElTICAgICAgICAgICAgICAgICAgICAgICAgMHgzNCAgLy8g RnVuY3Rpb24gRGlzYWJsZQ0KPiBSZWdpc3Rlcg0KPiArI2RlZmluZSBQQ0lFWF9CQVNFX0FERFJF U1MgICAgICAgICAgICAgICAgICAgICAgICAweEUwMDAwMDAwDQo+ICsjZGVmaW5lIFBjaUQzMUYw UmVnQmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSUVYX0JBU0VfQUREUkVTUyArIChV SU5UMzIpDQo+ICgzMSA8PCAxNSkNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1Nf RlVOQzcgICAgICAgICAgICAgQklUNyAgLy8gTFBTUyBTUEkNCj4gRGlzYWJsZQ0KPiArI2RlZmlu ZSBCX1BDSF9QTUNfRlVOQ19ESVNfTFBTU19GVU5DNiAgICAgICAgICAgICBCSVQ2ICAvLyBMUFNT IEhTVUFSVA0KPiAjMiBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX1BNQ19GVU5DX0RJU19MUFNT X0ZVTkM1ICAgICAgICAgICAgIEJJVDUgIC8vIExQU1MgSFNVQVJUDQo+ICMxIERpc2FibGUNCj4g KyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1NfRlVOQzQgICAgICAgICAgICAgQklUNCAg Ly8gTFBTUyBJMlMNCj4gRGlzYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfTFBT U19GVU5DMyAgICAgICAgICAgICBCSVQzICAvLyBMUFNTIFBDTQ0KPiBEaXNhYmxlDQo+ICsjZGVm aW5lIEJfUENIX1BNQ19GVU5DX0RJU19MUFNTX0ZVTkMyICAgICAgICAgICAgIEJJVDIgIC8vIExQ U1MgSTJDICMyDQo+IERpc2FibGUNCj4gKyNkZWZpbmUgQl9QQ0hfUE1DX0ZVTkNfRElTX0xQU1Nf RlVOQzEgICAgICAgICAgICAgQklUMSAgLy8gTFBTUyBJMkMgIzENCj4gRGlzYWJsZQ0KPiArI2Rl ZmluZSBCX1BDSF9QTUNfRlVOQ19ESVNfTFBTU19GVU5DMCAgICAgICAgICAgICBCSVQwICAvLyBM UFNTIERNQQ0KPiBEaXNhYmxlDQo+ICsNCj4gKw0KPiArI2RlZmluZSBERUZBVUxUX1BDSV9CVVNf TlVNQkVSX1BDSCAgICAgICAwDQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19JMkNfU1RTQ01E ICAgICAgICAgICAgICAgICAgICAgMHgwNCAgLy8gU3RhdHVzICYgQ29tbWFuZA0KPiArI2RlZmlu ZSBCX1BDSF9MUFNTX0kyQ19TVFNDTURfUk1BICAgICAgICAgICAgICAgICBCSVQyOSAvLyBSTUEN Cj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfU1RTQ01EX1JDQSAgICAgICAgICAgICAgICAgQklU MjggLy8gUkNBDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1NUU0NNRF9DQVBMSVNUICAgICAg ICAgICAgIEJJVDIwIC8vIENhcGFiaWxpdHkgTGlzdA0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0ky Q19TVFNDTURfSU5UUlNUUyAgICAgICAgICAgICBCSVQxOSAvLyBJbnRlcnJ1cHQgU3RhdHVzDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1NUU0NNRF9JTlRSRElTICAgICAgICAgICAgIEJJVDEw IC8vIEludGVycnVwdA0KPiBEaXNhYmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX1NUU0NN RF9TRVJSRU4gICAgICAgICAgICAgIEJJVDggIC8vIFNFUlIjIEVuYWJsZQ0KPiArI2RlZmluZSBC X1BDSF9MUFNTX0kyQ19TVFNDTURfQk1FICAgICAgICAgICAgICAgICBCSVQyICAvLyBCdXMgTWFz dGVyIEVuYWJsZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19TVFNDTURfTVNFICAgICAgICAg ICAgICAgICBCSVQxICAvLyBNZW1vcnkgU3BhY2UNCj4gRW5hYmxlDQo+ICsNCj4gKyNkZWZpbmUg Ul9QQ0hfTFBTU19JMkNfQkFSICAgICAgICAgICAgICAgICAgICAgICAgMHgxMCAgLy8gQkFSDQo+ ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0JBUl9CQSAgICAgICAgICAgICAgICAgICAgIDB4RkZG RkYwMDAgLy8gQmFzZSBBZGRyZXNzDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0JBUl9TSSAg ICAgICAgICAgICAgICAgICAgIDB4MDAwMDBGRjAgLy8gU2l6ZSBJbmRpY2F0b3INCj4gKyNkZWZp bmUgQl9QQ0hfTFBTU19JMkNfQkFSX1BGICAgICAgICAgICAgICAgICAgICAgQklUMyAgLy8gUHJl ZmV0Y2hhYmxlDQo+ICsjZGVmaW5lIEJfUENIX0xQU1NfSTJDX0JBUl9UWVBFICAgICAgICAgICAg ICAgICAgIChCSVQyIHwgQklUMSkgLy8gVHlwZQ0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19C QVJfTVMgICAgICAgICAgICAgICAgICAgICBCSVQwICAvLyBNZXNzYWdlIFNwYWNlDQo+ICsNCj4g KyNkZWZpbmUgUl9QQ0hfTFBTU19JMkNfQkFSMSAgICAgICAgICAgICAgICAgICAgICAgMHgxNCAg Ly8gQkFSIDENCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfQkFSMV9CQSAgICAgICAgICAgICAg ICAgICAgMHhGRkZGRjAwMCAvLyBCYXNlIEFkZHJlc3MNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19J MkNfQkFSMV9TSSAgICAgICAgICAgICAgICAgICAgMHgwMDAwMEZGMCAvLyBTaXplIEluZGljYXRv cg0KPiArI2RlZmluZSBCX1BDSF9MUFNTX0kyQ19CQVIxX1BGICAgICAgICAgICAgICAgICAgICBC SVQzICAvLyBQcmVmZXRjaGFibGUNCj4gKyNkZWZpbmUgQl9QQ0hfTFBTU19JMkNfQkFSMV9UWVBF ICAgICAgICAgICAgICAgICAgKEJJVDIgfCBCSVQxKSAvLyBUeXBlDQo+ICsjZGVmaW5lIEJfUENI X0xQU1NfSTJDX0JBUjFfTVMgICAgICAgICAgICAgICAgICAgIEJJVDAgIC8vIE1lc3NhZ2UgU3Bh Y2UNCj4gKw0KPiArI2RlZmluZSBOVU1fUkVUUklFUyAgICAgICAgIDB4RkZGRg0KPiArDQo+ICsv Lw0KPiArLy8gTFBJTyBJMkMgTW9kdWxlIE1lbW9yeSBTcGFjZSBSZWdpc3RlcnMNCj4gKy8vDQo+ ICsjZGVmaW5lIFJfUENIX0xQSU9fSTJDX01FTV9SRVNFVFMgICAgICAgICAgICAgICAgIDB4ODA0 IC8vIFNvZnR3YXJlIFJlc2V0DQo+ICsjZGVmaW5lIEJfUENIX0xQSU9fSTJDX01FTV9SRVNFVFNf RlVOQyAgICAgICAgICAgIEJJVDEgIC8vIEZ1bmN0aW9uIENsb2NrDQo+IERvbWFpbiBSZXNldA0K PiArI2RlZmluZSBCX1BDSF9MUElPX0kyQ19NRU1fUkVTRVRTX0FQQiAgICAgICAgICAgICBCSVQw ICAvLyBBUEIgRG9tYWluDQo+IFJlc2V0DQo+ICsNCj4gKyNkZWZpbmUgUl9QQ0hfTFBTU19JMkNf TUVNX1BDUCAgICAgICAgICAgICAgICAgICAgMHg4MDAgLy8gUHJpdmF0ZSBDbG9jaw0KPiBQYXJh bWV0ZXJzDQo+ICsNCj4gKyNkZWZpbmUgIGJpdChhKSAgICAgICAgICAgICAgICAgICAxIDw8IChh KQ0KPiArDQo+ICsvLw0KPiArLy8gTU1JTyBSZWdpc3RlciBEZWZpbml0aW9ucw0KPiArLy8NCj4g Kw0KPiArI2RlZmluZSAgSTJDMF9SRUdfU1BBQ0VfQUREUl9CQVNFICAgICAgICAgICAgMHhGRjEz ODAwMCAgLy8wMUsNCj4gKw0KPiArI2RlZmluZSAgICBSX0lDX0NPTiAgICAgICAgICAgICAgICAg ICAgICAgICAgKCAweDAwKSAvLyBJMkMgQ29udHJvbA0KPiArI2RlZmluZSAgICAgQl9JQ19SRVNU QVJUX0VOICAgICAgICAgICAgICAgICAgQklUNQ0KPiArI2RlZmluZSAgICAgQl9JQ19TTEFWRV9E SVNBQkxFICAgICAgICAgICAgICAgQklUNg0KPiArI2RlZmluZSAgICAgVl9TUEVFRF9TVEFOREFS RCAgICAgICAgICAgICAgICAgMHgwMg0KPiArI2RlZmluZSAgICAgVl9TUEVFRF9GQVNUICAgICAg ICAgICAgICAgICAgICAgMHgwNA0KPiArI2RlZmluZSAgICAgVl9TUEVFRF9ISUdIICAgICAgICAg ICAgICAgICAgICAgMHgwNg0KPiArI2RlZmluZSAgICAgQl9NQVNURVJfTU9ERSAgICAgICAgICAg ICAgICAgICAgQklUMA0KPiArDQo+ICsjZGVmaW5lICAgIFJfSUNfVEFSICAgICAgICAgICAgICAg ICAgICAgICAgICAoIDB4MDQpIC8vIEkyQyBUYXJnZXQgQWRkcmVzcw0KPiArI2RlZmluZSAgICAg SUNfVEFSXzEwQklUQUREUl9NQVNURVIgICAgICAgICAgIEJJVDEyDQo+ICsNCj4gKyNkZWZpbmUg ICAgUl9JQ19TQVIgICAgICAgICAgICAgICAgICAgICAgICAgICggMHgwOCkgLy8gSTJDIFNsYXZl IEFkZHJlc3MNCj4gKyNkZWZpbmUgICAgUl9JQ19IU19NQUREUiAgICAgICAgICAgICAgICAgICAg ICggMHgwQykgLy8gSTJDIEhTIE1hc3Rlck1vZGUgQ29kZQ0KPiBBZGRyZXNzDQo+ICsjZGVmaW5l ICAgIFJfSUNfREFUQV9DTUQgICAgICAgICAgICAgICAgICAgICAoIDB4MTApIC8vIEkyQyBSeC9U eCBEYXRhIEJ1ZmZlciBhbmQNCj4gQ29tbWFuZA0KPiArDQo+ICsjZGVmaW5lICAgIEJfUkVBRF9D TUQgICAgICAgICAgICAgICAgICAgICAgICAgQklUOCAgICAvLyAxID0gcmVhZCwgMCA9IHdyaXRl DQo+ICsjZGVmaW5lICAgIEJfQ01EX1NUT1AgICAgICAgICAgICAgICAgICAgICAgICAgQklUOSAg ICAvLyAxID0gU1RPUA0KPiArI2RlZmluZSAgICBCX0NNRF9SRVNUQVJUICAgICAgICAgICAgICAg ICAgICAgIEJJVDEwICAgLy8gMSA9IElDX1JFU1RBUlRfRU4NCj4gKw0KPiArI2RlZmluZSAgICBW X1dSSVRFX0NNRF9NQVNLICAgICAgICAgICAgICAgICAgKCAweEZGKQ0KPiArDQo+ICsjZGVmaW5l ICAgIFJfSUNfU1NfU0NMX0hDTlQgICAgICAgICAgICAgICAgICAoIDB4MTQpIC8vIFN0YW5kYXJk IFNwZWVkIEkyQyBDbG9jaw0KPiBTQ0wgSGlnaCBDb3VudA0KPiArI2RlZmluZSAgICBSX0lDX1NT X1NDTF9MQ05UICAgICAgICAgICAgICAgICAgKCAweDE4KSAvLyBTdGFuZGFyZCBTcGVlZCBJMkMg Q2xvY2sNCj4gU0NMIExvdyBDb3VudA0KPiArI2RlZmluZSAgICBSX0lDX0ZTX1NDTF9IQ05UICAg ICAgICAgICAgICAgICAgKCAweDFDKSAvLyBGdWxsIFNwZWVkIEkyQyBDbG9jayBTQ0wNCj4gSGln aCBDb3VudA0KPiArI2RlZmluZSAgICBSX0lDX0ZTX1NDTF9MQ05UICAgICAgICAgICAgICAgICAg KCAweDIwKSAvLyBGdWxsIFNwZWVkIEkyQyBDbG9jayBTQ0wNCj4gTG93IENvdW50DQo+ICsjZGVm aW5lICAgIFJfSUNfSFNfU0NMX0hDTlQgICAgICAgICAgICAgICAgICAoIDB4MjQpIC8vIEhpZ2gg U3BlZWQgSTJDIENsb2NrIFNDTA0KPiBIaWdoIENvdW50DQo+ICsjZGVmaW5lICAgIFJfSUNfSFNf U0NMX0xDTlQgICAgICAgICAgICAgICAgICAoIDB4MjgpIC8vIEhpZ2ggU3BlZWQgSTJDIENsb2Nr IFNDTA0KPiBMb3cgQ291bnQNCj4gKyNkZWZpbmUgICAgUl9JQ19JTlRSX1NUQVQgICAgICAgICAg ICAgICAgICAgICggMHgyQykgLy8gSTJDIEluZXRycnVwdCBTdGF0dXMNCj4gKyNkZWZpbmUgICAg Ul9JQ19JTlRSX01BU0sgICAgICAgICAgICAgICAgICAgICggMHgzMCkgLy8gSTJDIEludGVycnVw dCBNYXNrDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9HRU5fQ0FMTCAgICAgICAgICAgICAgICAg QklUMTEgIC8vIEdlbmVyYWwgY2FsbCByZWNlaXZlZA0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJf U1RBUlRfREVUICAgICAgICAgICAgICAgIEJJVDEwDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9T VE9QX0RFVCAgICAgICAgICAgICAgICAgQklUOQ0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJfQUNU SVZJVFkgICAgICAgICAgICAgICAgIEJJVDgNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1RYX0FC UlQgICAgICAgICAgICAgICAgICBCSVQ2ICAgLy8gU2V0IG9uIE5BQ0sNCj4gKyNkZWZpbmUgICAg IEkyQ19JTlRSX1RYX0VNUFRZICAgICAgICAgICAgICAgICBCSVQ0DQo+ICsjZGVmaW5lICAgICBJ MkNfSU5UUl9UWF9PVkVSICAgICAgICAgICAgICAgICAgQklUMw0KPiArI2RlZmluZSAgICAgSTJD X0lOVFJfUlhfRlVMTCAgICAgICAgICAgICAgICAgIEJJVDIgICAvLyBEYXRhIGJ5dGVzIGluIFJY IEZJRk8gb3Zlcg0KPiB0aHJlc2hvbGQNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1JYX09WRVIg ICAgICAgICAgICAgICAgICBCSVQxDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9SWF9VTkRFUiAg ICAgICAgICAgICAgICAgQklUMA0KPiArI2RlZmluZSAgICBSX0lDX1Jhd0ludHJTdGF0ICAgICAg ICAgICAgICAgICggMHgzNCkgLy8gSTJDIFJhdyBJbnRlcnJ1cHQgU3RhdHVzDQo+ICsjZGVmaW5l ICAgIFJfSUNfUlhfVEwgICAgICAgICAgICAgICAgICAgICAgICAoIDB4MzgpIC8vIEkyQyBSZWNl aXZlIEZJRk8gVGhyZXNob2xkDQo+ICsjZGVmaW5lICAgIFJfSUNfVFhfVEwgICAgICAgICAgICAg ICAgICAgICAgICAoIDB4M0MpIC8vIEkyQyBUcmFuc21pdCBGSUZPIFRocmVzaG9sZA0KPiArI2Rl ZmluZSAgICBSX0lDX0NMUl9JTlRSICAgICAgICAgICAgICAgICAgICAgKCAweDQwKSAvLyBDbGVh ciBDb21iaW5lZCBhbmQgSW5kaXZpZHVhbA0KPiBJbnRlcnJ1cHRzDQo+ICsjZGVmaW5lICAgIFJf SUNfQ0xSX1JYX1VOREVSICAgICAgICAgICAgICAgICAoIDB4NDQpIC8vIENsZWFyIFJYX1VOREVS DQo+IEludGVycnVwdA0KPiArI2RlZmluZSAgICBSX0lDX0NMUl9SWF9PVkVSICAgICAgICAgICAg ICAgICAgKCAweDQ4KSAvLyBDbGVhciBSWF9PVkVSaW50ZXJydXB0DQo+ICsjZGVmaW5lICAgIFJf SUNfQ0xSX1RYX09WRVIgICAgICAgICAgICAgICAgICAoIDB4NEMpIC8vIENsZWFyIFRYX09WRVIg aW50ZXJydXB0DQo+ICsjZGVmaW5lICAgIFJfSUNfQ0xSX1JEX1JFUSAgICAgICAgICAgICAgICAg ICAoIDB4NTApIC8vIENsZWFyIFJEX1JFUSBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19D TFJfVFhfQUJSVCAgICAgICAgICAgICAgICAgICggMHg1NCkgLy8gQ2xlYXIgVFhfQUJSVCBpbnRl cnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJfUlhfRE9ORSAgICAgICAgICAgICAgICAgICgg MHg1OCkgLy8gQ2xlYXIgUlhfRE9ORSBpbnRlcnJ1cHQNCj4gKyNkZWZpbmUgICAgUl9JQ19DTFJf QUNUSVZJVFkgICAgICAgICAgICAgICAgICggMHg1QykgLy8gQ2xlYXIgQUNUSVZJVFkgaW50ZXJy dXB0DQo+ICsjZGVmaW5lICAgIFJfSUNfQ0xSX1NUT1BfREVUICAgICAgICAgICAgICAgICAoIDB4 NjApIC8vIENsZWFyIFNUT1BfREVUIGludGVycnVwdA0KPiArI2RlZmluZSAgICBSX0lDX0NMUl9T VEFSVF9ERVQgICAgICAgICAgICAgICAgKCAweDY0KSAvLyBDbGVhciBTVEFSVF9ERVQNCj4gaW50 ZXJydXB0DQo+ICsjZGVmaW5lICAgIFJfSUNfQ0xSX0dFTl9DQUxMICAgICAgICAgICAgICAgICAo IDB4NjgpIC8vIENsZWFyIEdFTl9DQUxMIGludGVycnVwdA0KPiArI2RlZmluZSAgICBSX0lDX0VO QUJMRSAgICAgICAgICAgICAgICAgICAgICAgKCAweDZDKSAvLyBJMkMgRW5hYmxlDQo+ICsjZGVm aW5lICAgIFJfSUNfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAoIDB4NzApIC8vIEkyQyBT dGF0dXMNCj4gKw0KPiArI2RlZmluZSAgICBSX0lDX1NEQV9IT0xEICAgICAgICAgICAgICAgICAg ICAgKCAweDdDKSAvLyBJMkMNCj4gSUNfREVGQVVMVF9TREFfSE9MRC8vMTZiaXRzDQo+ICsNCj4g KyNkZWZpbmUgICAgIFNUQVRfTVNUX0FDVElWSVRZICAgICAgICAgICAgICAgICBCSVQ1ICAgLy8g TWFzdGVyIEZTTSBBY3Rpdml0eSBTdGF0dXMuDQo+ICsjZGVmaW5lICAgICBTVEFUX1JGRiAgICAg ICAgICAgICAgICAgICAgICAgICAgQklUNCAgIC8vIFJYIEZJRk8gaXMgY29tcGxldGVseSBmdWxs DQo+ICsjZGVmaW5lICAgICBTVEFUX1JGTkUgICAgICAgICAgICAgICAgICAgICAgICAgQklUMyAg IC8vIFJYIEZJRk8gaXMgbm90IGVtcHR5DQo+ICsjZGVmaW5lICAgICBTVEFUX1RGRSAgICAgICAg ICAgICAgICAgICAgICAgICAgQklUMiAgIC8vIFRYIEZJRk8gaXMgY29tcGxldGVseSBlbXB0eQ0K PiArI2RlZmluZSAgICAgU1RBVF9URk5GICAgICAgICAgICAgICAgICAgICAgICAgIEJJVDEgICAv LyBUWCBGSUZPIGlzIG5vdCBmdWxsDQo+ICsNCj4gKyNkZWZpbmUgICAgUl9JQ19UWEZMUiAgICAg ICAgICAgICAgICAgICAgICAgICggMHg3NCkgLy8gVHJhbnNtaXQgRklGTyBMZXZlbCBSZWdpc3Rl cg0KPiArI2RlZmluZSAgICBSX0lDX1JYRkxSICAgICAgICAgICAgICAgICAgICAgICAgKCAweDc4 KSAvLyBSZWNlaXZlIEZJRk8gTGV2ZWwgUmVnaXN0ZXINCj4gKyNkZWZpbmUgICAgUl9JQ19UWF9B QlJUX1NPVVJDRSAgICAgICAgICAgICAgICggMHg4MCkgLy8gSTJDIFRyYW5zbWl0IEFib3J0DQo+ IFN0YXR1cyBSZWdpc3Rlcg0KPiArI2RlZmluZSAgICBSX0lDX1NMVl9EQVRBX05BQ0tfT05MWSAg ICAgICAgICAgKCAweDg0KSAvLyBHZW5lcmF0ZQ0KPiBTTFZfREFUQV9OQUNLIFJlZ2lzdGVyDQo+ ICsjZGVmaW5lICAgIFJfSUNfRE1BX0NSICAgICAgICAgICAgICAgICAgICAgICAoIDB4ODgpIC8v IERNQSBDb250cm9sIFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNfRE1BX1RETFIgICAgICAg ICAgICAgICAgICAgICAoIDB4OEMpIC8vIERNQSBUcmFuc21pdCBEYXRhIExldmVsDQo+ICsjZGVm aW5lICAgIFJfSUNfRE1BX1JETFIgICAgICAgICAgICAgICAgICAgICAoIDB4OTApIC8vIERNQSBS ZWNlaXZlIERhdGEgTGV2ZWwNCj4gKyNkZWZpbmUgICAgUl9JQ19TREFfU0VUVVAgICAgICAgICAg ICAgICAgICAgICggMHg5NCkgLy8gSTJDIFNEQSBTZXR1cCBSZWdpc3Rlcg0KPiArI2RlZmluZSAg ICBSX0lDX0FDS19HRU5FUkFMX0NBTEwgICAgICAgICAgICAgKCAweDk4KSAvLyBJMkMgQUNLIEdl bmVyYWwgQ2FsbA0KPiBSZWdpc3Rlcg0KPiArI2RlZmluZSAgICBSX0lDX0VOQUJMRV9TVEFUVVMg ICAgICAgICAgICAgICAgKCAweDlDKSAvLyBJMkMgRW5hYmxlIFN0YXR1cw0KPiBSZWdpc3Rlcg0K PiArI2RlZmluZSAgICBSX0lDX0NPTVBfUEFSQU0gICAgICAgICAgICAgICAgICAgKCAweEY0KSAv LyBDb21wb25lbnQgUGFyYW1ldGVyDQo+IFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgIFJfSUNfQ09N UF9WRVJTSU9OICAgICAgICAgICAgICAgICAoIDB4RjgpIC8vIENvbXBvbmVudCBWZXJzaW9uIElE DQo+ICsjZGVmaW5lICAgIFJfSUNfQ09NUF9UWVBFICAgICAgICAgICAgICAgICAgICAoIDB4RkMp IC8vIENvbXBvbmVudCBUeXBlDQo+ICsNCj4gKyNkZWZpbmUgSTJDX1NTX1NDTF9IQ05UX1ZBTFVF XzEwME0gICAgICAgICAgIDB4MUREDQo+ICsjZGVmaW5lIEkyQ19TU19TQ0xfTENOVF9WQUxVRV8x MDBNICAgICAgICAgICAweDFFNA0KPiArI2RlZmluZSBJMkNfRlNfU0NMX0hDTlRfVkFMVUVfMTAw TSAgICAgICAgICAgMHg1NA0KPiArI2RlZmluZSBJMkNfRlNfU0NMX0xDTlRfVkFMVUVfMTAwTSAg ICAgICAgICAgMHg5YQ0KPiArI2RlZmluZSBJMkNfSFNfU0NMX0hDTlRfVkFMVUVfMTAwTSAgICAg ICAgICAgMHg3DQo+ICsjZGVmaW5lIEkyQ19IU19TQ0xfTENOVF9WQUxVRV8xMDBNICAgICAgICAg ICAweEUNCj4gKw0KPiArLy8NCj4gKy8vIEZJRk8gd3JpdGUgd29ya2Fyb3VuZCB2YWx1ZS4NCj4g Ky8vDQo+ICsjZGVmaW5lICAgICBGSUZPX1dSSVRFX0RFTEFZICAgIDINCj4gKyNkZWZpbmUgICAg IElDX1RBUl8xMEJJVEFERFJfTUFTVEVSICAgICAgICAgICBCSVQxMg0KPiArI2RlZmluZSAgICAg RklGT19TSVpFICAgICAgICAgICAgICAgICAgICAgICAgIDMyDQo+ICsjZGVmaW5lICAgICBSX0lD X0lOVFJfU1RBVCAgICAgICAgICAgICAgICAgICAgKCAweDJDKSAvLyBJMmMgSW5ldHJydXB0IFN0 YXR1cw0KPiArI2RlZmluZSAgICAgUl9JQ19JTlRSX01BU0sgICAgICAgICAgICAgICAgICAgICgg MHgzMCkgLy8gSTJjIEludGVycnVwdCBNYXNrDQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9HRU5f Q0FMTCAgICAgICAgICAgICAgICAgQklUMTEgIC8vIEdlbmVyYWwgY2FsbCByZWNlaXZlZA0KPiAr I2RlZmluZSAgICAgSTJDX0lOVFJfU1RBUlRfREVUICAgICAgICAgICAgICAgIEJJVDEwDQo+ICsj ZGVmaW5lICAgICBJMkNfSU5UUl9TVE9QX0RFVCAgICAgICAgICAgICAgICAgQklUOQ0KPiArI2Rl ZmluZSAgICAgSTJDX0lOVFJfQUNUSVZJVFkgICAgICAgICAgICAgICAgIEJJVDgNCj4gKyNkZWZp bmUgICAgIEkyQ19JTlRSX1RYX0FCUlQgICAgICAgICAgICAgICAgICBCSVQ2ICAgLy8gU2V0IG9u IE5BQ0sNCj4gKyNkZWZpbmUgICAgIEkyQ19JTlRSX1RYX0VNUFRZICAgICAgICAgICAgICAgICBC SVQ0DQo+ICsjZGVmaW5lICAgICBJMkNfSU5UUl9UWF9PVkVSICAgICAgICAgICAgICAgICAgQklU Mw0KPiArI2RlZmluZSAgICAgSTJDX0lOVFJfUlhfRlVMTCAgICAgICAgICAgICAgICAgIEJJVDIg ICAvLyBEYXRhIGJ5dGVzIGluIFJYIEZJRk8gb3Zlcg0KPiB0aHJlc2hvbGQNCj4gKyNkZWZpbmUg ICAgIEkyQ19JTlRSX1JYX09WRVIgICAgICAgICAgICAgICAgICBCSVQxDQo+ICsjZGVmaW5lICAg ICBJMkNfSU5UUl9SWF9VTkRFUiAgICAgICAgICAgICAgICAgQklUMA0KPiArDQo+ICsvKioNCj4g KyAgUHJvZ3JhbWUgYWxsIEkyQyBjb250cm9sbGVycyBvbiBMUFNTLg0KPiArDQo+ICsgIEkyQzAg aXMgZnVuY3Rpb24gMSBvZiBMUFNTLiBJMkMxIGlzIGZ1bmN0aW9uIDIgb2YgTFBTUywgZXRjLi4N Cj4gKw0KPiArICBAcGFyYW0gICBWT0lEDQo+ICsNCj4gKyAgQHJldHVybiAgRUZJX1NVQ0NFU1MN Cj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArUHJvZ3JhbVBjaUxwc3NJMkMgKA0KPiArICBWT0lE DQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBSZWFkcyBhIEJ5dGUgZnJvbSBJMkMgRGV2aWNl Lg0KPiArDQo+ICsgIEBwYXJhbSAgSTJjQ29udHJvbGxlckluZGV4ICBJMkMgQnVzIG5vIHRvIHdo aWNoIHRoZSBJMkMgZGV2aWNlIGhhcyBiZWVuDQo+IGNvbm5lY3RlZA0KPiArICBAcGFyYW0gIFNs YXZlQWRkcmVzcyAgICAgICAgRGV2aWNlIEFkZHJlc3MgZnJvbSB3aGljaCB0aGUgYnl0ZSB2YWx1 ZSBoYXMNCj4gdG8gYmUgcmVhZA0KPiArICBAcGFyYW0gIE9mZnNldCAgICAgICAgICAgICAgT2Zm c2V0IGZyb20gd2hpY2ggdGhlIGRhdGEgaGFzIHRvIGJlIHJlYWQNCj4gKyAgQHBhcmFtICAqQnl0 ZSAgICAgICAgICAgICAgIEFkZHJlc3MgdG8gd2hpY2ggdGhlIHZhbHVlIHJlYWQgaGFzIHRvIGJl IHN0b3JlZA0KPiArICBAcGFyYW0gIFN0YXJ0ICAgICAgICAgICAgICAgV2hldGhlciBhIFJFU1RB UlQgaXMgaXNzdWVkIGJlZm9yZSB0aGUgYnl0ZSBpcyBzZW50DQo+IG9yIHJlY2VpdmVkDQo+ICsg IEBwYXJhbSAgRW5kICAgICAgICAgICAgICAgICBXaGV0aGVyIFNUT1AgaXMgZ2VuZXJhdGVkIGFm dGVyIGEgZGF0YSBieXRlIGlzIHNlbnQNCj4gb3IgcmVjZWl2ZWQNCj4gKw0KPiArICBAcmV0dXJu ICBFRklfU1VDQ0VTUyAgICAgICAgSWYgdGhlIGJ5dGUgdmFsdWUgaGFzIGJlZW4gc3VjY2Vzc2Z1 bGx5IHJlYWQNCj4gKyAgQHJldHVybiAgRUZJX0RFVklDRV9FUlJPUiAgIE9wZXJhdGlvbiBGYWls ZWQsIERldmljZSBFcnJvcg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCeXRlUmVhZEkyQ0Jh c2ljKA0KPiArICBJTiAgVUlOVDggSTJjQ29udHJvbGxlckluZGV4LA0KPiArICBJTiAgVUlOVDgg U2xhdmVBZGRyZXNzLA0KPiArICBJTiAgVUlOVE4gUmVhZEJ5dGVzLA0KPiArICBPVVQgVUlOVDgg KlJlYWRCdWZmZXIsDQo+ICsgIElOICBVSU5UOCBTdGFydCwNCj4gKyAgSU4gIFVJTlQ4IEVuZA0K PiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgV3JpdGVzIGEgQnl0ZSB0byBJMkMgRGV2aWNlLg0K PiArDQo+ICsgIEBwYXJhbSAgSTJjQ29udHJvbGxlckluZGV4ICAgSTJDIEJ1cyBubyB0byB3aGlj aCB0aGUgSTJDIGRldmljZSBoYXMgYmVlbg0KPiBjb25uZWN0ZWQNCj4gKyAgQHBhcmFtICBTbGF2 ZUFkZHJlc3MgICAgICAgICBEZXZpY2UgQWRkcmVzcyBmcm9tIHdoaWNoIHRoZSBieXRlIHZhbHVl IGhhcw0KPiB0byBiZSB3cml0dGVuDQo+ICsgIEBwYXJhbSAgT2Zmc2V0ICAgICAgICAgICAgICAg T2Zmc2V0IGZyb20gd2hpY2ggdGhlIGRhdGEgaGFzIHRvIGJlIHJlYWQNCj4gKyAgQHBhcmFtICAq Qnl0ZSAgICAgICAgICAgICAgICBBZGRyZXNzIHRvIHdoaWNoIHRoZSB2YWx1ZSB3cml0dGVuIGlz IHN0b3JlZA0KPiArICBAcGFyYW0gIFN0YXJ0ICAgICAgICAgICAgICAgV2hldGhlciBhIFJFU1RB UlQgaXMgaXNzdWVkIGJlZm9yZSB0aGUgYnl0ZSBpcyBzZW50DQo+IG9yIHJlY2VpdmVkDQo+ICsg IEBwYXJhbSAgRW5kICAgICAgICAgICAgICAgICBXaGV0aGVyIFNUT1AgaXMgZ2VuZXJhdGVkIGFm dGVyIGEgZGF0YSBieXRlIGlzIHNlbnQNCj4gb3IgcmVjZWl2ZWQNCj4gKw0KPiArICBAcmV0dXJu ICBFRklfU1VDQ0VTUyAgICAgICAgIElGIHRoZSBieXRlIHZhbHVlIGhhcyBiZWVuIHN1Y2Nlc3Nm dWxseSB3cml0dGVuDQo+ICsgIEByZXR1cm4gIEVGSV9ERVZJQ0VfRVJST1IgICAgT3BlcmF0aW9u IEZhaWxlZCwgRGV2aWNlIEVycm9yDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0J5dGVXcml0 ZUkyQ0Jhc2ljKA0KPiArICBJTiAgVUlOVDggSTJjQ29udHJvbGxlckluZGV4LA0KPiArICBJTiAg VUlOVDggU2xhdmVBZGRyZXNzLA0KPiArICBJTiAgVUlOVE4gV3JpdGVCeXRlcywNCj4gKyAgSU4g IFVJTlQ4ICpXcml0ZUJ1ZmZlciwNCj4gKyAgSU4gIFVJTlQ4IFN0YXJ0LA0KPiArICBJTiAgVUlO VDggRW5kDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBSZWFkcyBhIEJ5dGUgZnJvbSBJMkMg RGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSAgSTJjQ29udHJvbGxlckluZGV4ICAgSTJDIEJ1cyBu byB0byB3aGljaCB0aGUgSTJDIGRldmljZSBoYXMgYmVlbg0KPiBjb25uZWN0ZWQNCj4gKyAgQHBh cmFtICBTbGF2ZUFkZHJlc3MgICAgICAgICBEZXZpY2UgQWRkcmVzcyBmcm9tIHdoaWNoIHRoZSBi eXRlIHZhbHVlIGhhcw0KPiB0byBiZSByZWFkDQo+ICsgIEBwYXJhbSAgT2Zmc2V0ICAgICAgICAg ICAgICAgT2Zmc2V0IGZyb20gd2hpY2ggdGhlIGRhdGEgaGFzIHRvIGJlIHJlYWQNCj4gKyAgQHBh cmFtICBSZWFkQnl0ZXMgICAgICAgICAgICBOdW1iZXIgb2YgYnl0ZXMgdG8gYmUgcmVhZA0KPiAr ICBAcGFyYW0gICpSZWFkQnVmZmVyICAgICAgICAgIEFkZHJlc3MgdG8gd2hpY2ggdGhlIHZhbHVl IHJlYWQgaGFzIHRvIGJlDQo+IHN0b3JlZA0KPiArDQo+ICsgIEByZXR1cm4gIEVGSV9TVUNDRVNT ICAgICAgIElGIHRoZSBieXRlIHZhbHVlIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSByZWFkDQo+ICsg IEByZXR1cm4gIEVGSV9ERVZJQ0VfRVJST1IgIE9wZXJhdGlvbiBGYWlsZWQsIERldmljZSBFcnJv cg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCeXRlUmVhZEkyQygNCj4gKyAgSU4gIFVJTlQ4 IEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gKyAgSU4gIFVJTlQ4IFNsYXZlQWRkcmVzcywNCj4gKyAg SU4gIFVJTlQ4IE9mZnNldCwNCj4gKyAgSU4gIFVJTlROIFJlYWRCeXRlcywNCj4gKyAgT1VUIFVJ TlQ4ICpSZWFkQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBXcml0ZXMgYSBCeXRl IHRvIEkyQyBEZXZpY2UuDQo+ICsNCj4gKyAgQHBhcmFtICBJMmNDb250cm9sbGVySW5kZXggIEky QyBCdXMgbm8gdG8gd2hpY2ggdGhlIEkyQyBkZXZpY2UgaGFzIGJlZW4NCj4gY29ubmVjdGVkDQo+ ICsgIEBwYXJhbSAgU2xhdmVBZGRyZXNzICAgICAgICBEZXZpY2UgQWRkcmVzcyBmcm9tIHdoaWNo IHRoZSBieXRlIHZhbHVlIGhhcw0KPiB0byBiZSB3cml0dGVuDQo+ICsgIEBwYXJhbSAgT2Zmc2V0 ICAgICAgICAgICAgICBPZmZzZXQgZnJvbSB3aGljaCB0aGUgZGF0YSBoYXMgdG8gYmUgd3JpdHRl bg0KPiArICBAcGFyYW0gIFdyaXRlQnl0ZXMgICAgICAgICAgTnVtYmVyIG9mIGJ5dGVzIHRvIGJl IHdyaXR0ZW4NCj4gKyAgQHBhcmFtICAqQnl0ZSAgICAgICAgICAgICAgIEFkZHJlc3MgdG8gd2hp Y2ggdGhlIHZhbHVlIHdyaXR0ZW4gaXMgc3RvcmVkDQo+ICsNCj4gKyAgQHJldHVybiAgRUZJX1NV Q0NFU1MgICAgICAgSUYgdGhlIGJ5dGUgdmFsdWUgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IHJlYWQN Cj4gKyAgQHJldHVybiAgRUZJX0RFVklDRV9FUlJPUiAgT3BlcmF0aW9uIEZhaWxlZCwgRGV2aWNl IEVycm9yDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0J5dGVXcml0ZUkyQygNCj4gKyAgSU4g IFVJTlQ4IEkyY0NvbnRyb2xsZXJJbmRleCwNCj4gKyAgSU4gIFVJTlQ4IFNsYXZlQWRkcmVzcywN Cj4gKyAgSU4gIFVJTlQ4IE9mZnNldCwNCj4gKyAgSU4gIFVJTlROIFdyaXRlQnl0ZXMsDQo+ICsg IElOICBVSU5UOCAqV3JpdGVCdWZmZXINCj4gKyAgKTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYg LS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0kyQ0xpYlBl aS9JMkNMaWJQZWkuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGli cmFyeS9JMkNMaWJQZWkvSTJDTGliUGVpLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi5hNzgyMTJhMGU3DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWJQZWkvSTJDTGliUGVp LmluZg0KPiBAQCAtMCwwICsxLDQwIEBADQo+ICsjIyBAZmlsZQ0KPiArIyAgSW5zdGFuY2Ugb2Yg STJDIExpYnJhcnkuDQo+ICsjDQo+ICsjICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE4LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIw0KPiAr DQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgw MDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBJMkNMaWJQZWkN Cj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gOEVGNjE1MDktODkwQi00RkYy LUIzNTItMUMwRTlDRERFQzhCDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9 IFBFSU0NCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIExJ QlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IExvY2tCb3hMaWJ8UEVJTQ0KPiArICBDT05T VFJVQ1RPUiAgICAgICAgICAgICAgICAgICAgPSBJbnRlbEkyQ1BlaUxpYkNvbnN0cnVjdG9yDQo+ ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNl IG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ICsj ICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQw0KPiArIw0KPiAr DQo+ICtbU291cmNlcy5jb21tb25dDQo+ICsgIEkyQ0xpYlBlaS5jDQo+ICsgIEkyQ0lvTGliUGVp LmMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBUaW1lckxpYg0KPiArDQo+ICtbUFBJ c10NCj4gKyAgZ0VmaVBlaVN0YWxsUHBpR3VpZA0KPiArDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4g KyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmlj ZVJlZkNvZGVQa2cuZGVjDQo+ICsNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9Db21tb25I DQo+IGVhZGVyLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L0ludGVsUGNoQWNwaVRpbWVyTGliL0NvbW1vbg0KPiBIZWFkZXIuaA0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43OTRjOTE3OGYxDQo+IC0tLSAvZGV2L251bGwN Cj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JbnRl bFBjaEFjcGlUaW1lckxpYi9Db21tb24NCj4gSGVhZGVyLmgNCj4gQEAgLTAsMCArMSwyNyBAQA0K PiArLyoqQGZpbGUNCj4gKyAgQ29tbW9uIGhlYWRlciBmaWxlIHNoYXJlZCBieSBhbGwgc291cmNl IGZpbGVzLg0KPiArDQo+ICsgIFRoaXMgZmlsZSBpbmNsdWRlcyBwYWNrYWdlIGhlYWRlciBmaWxl cywgbGlicmFyeSBjbGFzc2VzIGFuZCBwcm90b2NvbCwgUFBJICYNCj4gR1VJRCBkZWZpbml0aW9u cy4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArKiov DQo+ICsNCj4gKyNpZm5kZWYgX19DT01NT05fSEVBREVSX0hfDQo+ICsjZGVmaW5lIF9fQ09NTU9O X0hFQURFUl9IXw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlIDxCYXNlLmg+DQo+ICsjaW5jbHVkZSA8 UGNoQWNjZXNzLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1RpbWVyTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNpTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Q Y2RMaWIuaD4NCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0ludGVsUGNo QWMNCj4gcGlUaW1lckxpYi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEENCj4gY3BpVGltZXJMaWIuYw0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5hZjQ0YzZiZDI3DQo+ IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEENCj4gY3BpVGltZXJMaWIu Yw0KPiBAQCAtMCwwICsxLDI1NSBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIElDSDkgQUNQSSBUaW1l ciBpbXBsZW1lbnRzIG9uZSBpbnN0YW5jZSBvZiBUaW1lciBMaWJyYXJ5Lg0KPiArDQo+ICtDb3B5 cmlnaHQgKGMpIDIwMDcgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpbmNsdWRl ICJDb21tb25IZWFkZXIuaCINCj4gKw0KPiArLyoqDQo+ICsgIFRoZSBjb25zdHJ1Y3RvciBmdW5j dGlvbiBlbmFibGVzIEFDUEkgSU8gc3BhY2UuDQo+ICsNCj4gKyAgSWYgQUNQSSBJL08gc3BhY2Ug bm90IGVuYWJsZWQsIHRoaXMgZnVuY3Rpb24gd2lsbCBlbmFibGUgaXQuDQo+ICsgIEl0IHdpbGwg YWx3YXlzIHJldHVybiBSRVRVUk5fU1VDQ0VTUy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUND RVNTICAgVGhlIGNvbnN0cnVjdG9yIGFsd2F5cyByZXR1cm5zIFJFVFVSTl9TVUNDRVNTLg0KPiAr DQo+ICsqKi8NCj4gK1JFVFVSTl9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArSW50ZWxQY2hBY3BpVGlt ZXJMaWJDb25zdHJ1Y3RvciAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBpZiAoKFBj aExwY1BjaUNmZzgoUl9QQ0hfTFBDX0FDUElfQkFTRSkgJiBCX1BDSF9MUENfQUNQSV9CQVNFX0VO KQ0KPiA9PSAwKSB7DQo+ICsgIC8vDQo+ICsgIC8vIElmIEFDUEkgSS9PIHNwYWNlIGlzIG5vdCBl bmFibGVkLCBwcm9ncmFtIEFDUEkgSS9PIGJhc2UgYWRkcmVzcyBhbmQNCj4gZW5hYmxlIGl0Lg0K PiArICAvLw0KPiArICAgIE1taW9Xcml0ZTE2ICgNCj4gKyAgICAgIE1tUGNpQWRkcmVzcyAoDQo+ ICsgICAgICAgIDAsDQo+ICsgICAgICAgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILA0KPiAr ICAgICAgICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBDLA0KPiArICAgICAgICBQQ0lfRlVOQ1RJ T05fTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICAgIFJfUENIX0xQQ19BQ1BJX0JBU0UNCj4gKyAg ICAgICAgKSwNCj4gKyAgICAgICgoUGNkR2V0MTYgKFBjZFBjaEFjcGlJb1BvcnRCYXNlQWRkcmVz cykgJg0KPiBCX1BDSF9MUENfQUNQSV9CQVNFX0JBUikgfCBCX1BDSF9MUENfQUNQSV9CQVNFX0VO KQ0KPiArICAgICk7DQo+ICsgIH0NCj4gKyAgcmV0dXJuIFJFVFVSTl9TVUNDRVNTOw0KPiArfQ0K PiArDQo+ICsvKioNCj4gKyAgSW50ZXJuYWwgZnVuY3Rpb24gdG8gcmVhZCB0aGUgY3VycmVudCB0 aWNrIGNvdW50ZXIgb2YgQUNQSS4NCj4gKw0KPiArICBJbnRlcm5hbCBmdW5jdGlvbiB0byByZWFk IHRoZSBjdXJyZW50IHRpY2sgY291bnRlciBvZiBBQ1BJLg0KPiArDQo+ICsgIEByZXR1cm4gVGhl IHRpY2sgY291bnRlciByZWFkLg0KPiArDQo+ICsqKi8NCj4gK1NUQVRJQw0KPiArVUlOVDMyDQo+ ICtJbnRlcm5hbEFjcGlHZXRUaW1lclRpY2sgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4g KyAgcmV0dXJuIElvUmVhZDMyIChQY2RHZXQxNiAoUGNkUGNoQWNwaUlvUG9ydEJhc2VBZGRyZXNz KSArDQo+IFJfUENIX0FDUElfUE0xX1RNUik7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBTdGFs bHMgdGhlIENQVSBmb3IgYXQgbGVhc3QgdGhlIGdpdmVuIG51bWJlciBvZiB0aWNrcy4NCj4gKw0K PiArICBTdGFsbHMgdGhlIENQVSBmb3IgYXQgbGVhc3QgdGhlIGdpdmVuIG51bWJlciBvZiB0aWNr cy4gSXQncyBpbnZva2VkIGJ5DQo+ICsgIE1pY3JvU2Vjb25kRGVsYXkoKSBhbmQgTmFub1NlY29u ZERlbGF5KCkuDQo+ICsNCj4gKyAgQHBhcmFtICBEZWxheSAgICAgQSBwZXJpb2Qgb2YgdGltZSB0 byBkZWxheSBpbiB0aWNrcy4NCj4gKw0KPiArKiovDQo+ICtTVEFUSUMNCj4gK1ZPSUQNCj4gK0lu dGVybmFsQWNwaURlbGF5ICgNCj4gKyAgSU4gICAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAg IERlbGF5DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRpY2tzOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGltZXM7 DQo+ICsNCj4gKyAgVGltZXMgICAgPSBEZWxheSA+PiAyMjsNCj4gKyAgRGVsYXkgICAmPSBCSVQy MiAtIDE7DQo+ICsgIGRvIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRoZSB0YXJnZXQgdGltZXIg Y291bnQgaXMgY2FsY3VsYXRlZCBoZXJlDQo+ICsgICAgLy8NCj4gKyAgICBUaWNrcyAgICA9IElu dGVybmFsQWNwaUdldFRpbWVyVGljayAoKSArIERlbGF5Ow0KPiArICAgIERlbGF5ICAgID0gQklU MjI7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBXYWl0IHVudGlsIHRpbWUgb3V0DQo+ICsgICAgLy8g RGVsYXkgPj0gMl4yMyBjb3VsZCBub3QgYmUgaGFuZGxlZCBieSB0aGlzIGZ1bmN0aW9uDQo+ICsg ICAgLy8gVGltZXIgd3JhcC1hcm91bmRzIGFyZSBoYW5kbGVkIGNvcnJlY3RseSBieSB0aGlzIGZ1 bmN0aW9uDQo+ICsgICAgLy8NCj4gKyAgICB3aGlsZSAoKChUaWNrcyAtIEludGVybmFsQWNwaUdl dFRpbWVyVGljayAoKSkgJiBCSVQyMykgPT0gMCkgew0KPiArICAgICAgQ3B1UGF1c2UgKCk7DQo+ ICsgICAgfQ0KPiArICB9IHdoaWxlIChUaW1lcy0tID4gMCk7DQo+ICt9DQo+ICsNCj4gKy8qKg0K PiArICBTdGFsbHMgdGhlIENQVSBmb3IgYXQgbGVhc3QgdGhlIGdpdmVuIG51bWJlciBvZiBtaWNy b3NlY29uZHMuDQo+ICsNCj4gKyAgU3RhbGxzIHRoZSBDUFUgZm9yIHRoZSBudW1iZXIgb2YgbWlj cm9zZWNvbmRzIHNwZWNpZmllZCBieSBNaWNyb1NlY29uZHMuDQo+ICsNCj4gKyAgQHBhcmFtICBN aWNyb1NlY29uZHMgIFRoZSBtaW5pbXVtIG51bWJlciBvZiBtaWNyb3NlY29uZHMgdG8gZGVsYXku DQo+ICsNCj4gKyAgQHJldHVybiBNaWNyb1NlY29uZHMNCj4gKw0KPiArKiovDQo+ICtVSU5UTg0K PiArRUZJQVBJDQo+ICtNaWNyb1NlY29uZERlbGF5ICgNCj4gKyAgSU4gICAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIE1pY3JvU2Vjb25kcw0KPiArICApDQo+ICt7DQo+ICsgIEludGVybmFs QWNwaURlbGF5ICgNCj4gKyAgICAoVUlOVDMyKURpdlU2NHgzMiAoDQo+ICsgICAgICAgICAgICAg IE11bHRVNjR4MzIgKA0KPiArICAgICAgICAgICAgICAgIE1pY3JvU2Vjb25kcywNCj4gKyAgICAg ICAgICAgICAgICBWX1BDSF9BQ1BJX1BNMV9UTVJfRlJFUVVFTkNZDQo+ICsgICAgICAgICAgICAg ICAgKSwNCj4gKyAgICAgICAgICAgICAgMTAwMDAwMHUNCj4gKyAgICAgICAgICAgICAgKQ0KPiAr ICAgICk7DQo+ICsgIHJldHVybiBNaWNyb1NlY29uZHM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiAr ICBTdGFsbHMgdGhlIENQVSBmb3IgYXQgbGVhc3QgdGhlIGdpdmVuIG51bWJlciBvZiBuYW5vc2Vj b25kcy4NCj4gKw0KPiArICBTdGFsbHMgdGhlIENQVSBmb3IgdGhlIG51bWJlciBvZiBuYW5vc2Vj b25kcyBzcGVjaWZpZWQgYnkgTmFub1NlY29uZHMuDQo+ICsNCj4gKyAgQHBhcmFtICBOYW5vU2Vj b25kcyBUaGUgbWluaW11bSBudW1iZXIgb2YgbmFub3NlY29uZHMgdG8gZGVsYXkuDQo+ICsNCj4g KyAgQHJldHVybiBOYW5vU2Vjb25kcw0KPiArDQo+ICsqKi8NCj4gK1VJTlRODQo+ICtFRklBUEkN Cj4gK05hbm9TZWNvbmREZWxheSAoDQo+ICsgIElOICAgICAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBOYW5vU2Vjb25kcw0KPiArICApDQo+ICt7DQo+ICsgIEludGVybmFsQWNwaURlbGF5ICgN Cj4gKyAgICAoVUlOVDMyKURpdlU2NHgzMiAoDQo+ICsgICAgICAgICAgICAgIE11bHRVNjR4MzIg KA0KPiArICAgICAgICAgICAgICAgIE5hbm9TZWNvbmRzLA0KPiArICAgICAgICAgICAgICAgIFZf UENIX0FDUElfUE0xX1RNUl9GUkVRVUVOQ1kNCj4gKyAgICAgICAgICAgICAgICApLA0KPiArICAg ICAgICAgICAgICAxMDAwMDAwMDAwdQ0KPiArICAgICAgICAgICAgICApDQo+ICsgICAgKTsNCj4g KyAgcmV0dXJuIE5hbm9TZWNvbmRzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUmV0cmlldmVz IHRoZSBjdXJyZW50IHZhbHVlIG9mIGEgNjQtYml0IGZyZWUgcnVubmluZyBwZXJmb3JtYW5jZSBj b3VudGVyLg0KPiArDQo+ICsgIFJldHJpZXZlcyB0aGUgY3VycmVudCB2YWx1ZSBvZiBhIDY0LWJp dCBmcmVlIHJ1bm5pbmcgcGVyZm9ybWFuY2UgY291bnRlci4NCj4gVGhlDQo+ICsgIGNvdW50ZXIg Y2FuIGVpdGhlciBjb3VudCB1cCBieSAxIG9yIGNvdW50IGRvd24gYnkgMS4gSWYgdGhlIHBoeXNp Y2FsDQo+ICsgIHBlcmZvcm1hbmNlIGNvdW50ZXIgY291bnRzIGJ5IGEgbGFyZ2VyIGluY3JlbWVu dCwgdGhlbiB0aGUgY291bnRlcg0KPiB2YWx1ZXMNCj4gKyAgbXVzdCBiZSB0cmFuc2xhdGVkLiBU aGUgcHJvcGVydGllcyBvZiB0aGUgY291bnRlciBjYW4gYmUgcmV0cmlldmVkIGZyb20NCj4gKyAg R2V0UGVyZm9ybWFuY2VDb3VudGVyUHJvcGVydGllcygpLg0KPiArDQo+ICsgIEByZXR1cm4gVGhl IGN1cnJlbnQgdmFsdWUgb2YgdGhlIGZyZWUgcnVubmluZyBwZXJmb3JtYW5jZSBjb3VudGVyLg0K PiArDQo+ICsqKi8NCj4gK1VJTlQ2NA0KPiArRUZJQVBJDQo+ICtHZXRQZXJmb3JtYW5jZUNvdW50 ZXIgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgcmV0dXJuIChVSU5UNjQpSW50ZXJu YWxBY3BpR2V0VGltZXJUaWNrICgpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUmV0cmlldmVz IHRoZSA2NC1iaXQgZnJlcXVlbmN5IGluIEh6IGFuZCB0aGUgcmFuZ2Ugb2YgcGVyZm9ybWFuY2Ug Y291bnRlcg0KPiArICB2YWx1ZXMuDQo+ICsNCj4gKyAgSWYgU3RhcnRWYWx1ZSBpcyBub3QgTlVM TCwgdGhlbiB0aGUgdmFsdWUgdGhhdCB0aGUgcGVyZm9ybWFuY2UgY291bnRlcg0KPiBzdGFydHMN Cj4gKyAgd2l0aCBpbW1lZGlhdGVseSBhZnRlciBpcyBpdCByb2xscyBvdmVyIGlzIHJldHVybmVk IGluIFN0YXJ0VmFsdWUuIElmDQo+ICsgIEVuZFZhbHVlIGlzIG5vdCBOVUxMLCB0aGVuIHRoZSB2 YWx1ZSB0aGF0IHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyIGVuZA0KPiB3aXRoDQo+ICsgIGltbWVk aWF0ZWx5IGJlZm9yZSBpdCByb2xscyBvdmVyIGlzIHJldHVybmVkIGluIEVuZFZhbHVlLiBUaGUg NjQtYml0DQo+ICsgIGZyZXF1ZW5jeSBvZiB0aGUgcGVyZm9ybWFuY2UgY291bnRlciBpbiBIeiBp cyBhbHdheXMgcmV0dXJuZWQuIElmDQo+IFN0YXJ0VmFsdWUNCj4gKyAgaXMgbGVzcyB0aGFuIEVu ZFZhbHVlLCB0aGVuIHRoZSBwZXJmb3JtYW5jZSBjb3VudGVyIGNvdW50cyB1cC4gSWYNCj4gU3Rh cnRWYWx1ZQ0KPiArICBpcyBncmVhdGVyIHRoYW4gRW5kVmFsdWUsIHRoZW4gdGhlIHBlcmZvcm1h bmNlIGNvdW50ZXIgY291bnRzIGRvd24uIEZvcg0KPiArICBleGFtcGxlLCBhIDY0LWJpdCBmcmVl IHJ1bm5pbmcgY291bnRlciB0aGF0IGNvdW50cyB1cCB3b3VsZCBoYXZlIGENCj4gU3RhcnRWYWx1 ZQ0KPiArICBvZiAwIGFuZCBhbiBFbmRWYWx1ZSBvZiAweEZGRkZGRkZGRkZGRkZGRkYuIEEgMjQt Yml0IGZyZWUgcnVubmluZw0KPiBjb3VudGVyDQo+ICsgIHRoYXQgY291bnRzIGRvd24gd291bGQg aGF2ZSBhIFN0YXJ0VmFsdWUgb2YgMHhGRkZGRkYgYW5kIGFuIEVuZFZhbHVlIG9mDQo+IDAuDQo+ ICsNCj4gKyAgQHBhcmFtICBTdGFydFZhbHVlICBUaGUgdmFsdWUgdGhlIHBlcmZvcm1hbmNlIGNv dW50ZXIgc3RhcnRzIHdpdGggd2hlbg0KPiBpdA0KPiArICAgICAgICAgICAgICAgICAgICAgIHJv bGxzIG92ZXIuDQo+ICsgIEBwYXJhbSAgRW5kVmFsdWUgICAgVGhlIHZhbHVlIHRoYXQgdGhlIHBl cmZvcm1hbmNlIGNvdW50ZXIgZW5kcyB3aXRoDQo+IGJlZm9yZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgIGl0IHJvbGxzIG92ZXIuDQo+ICsNCj4gKyAgQHJldHVybiAgICAgICAgICAgICBUaGUg ZnJlcXVlbmN5IGluIEh6Lg0KPiArDQo+ICsqKi8NCj4gK1VJTlQ2NA0KPiArRUZJQVBJDQo+ICtH ZXRQZXJmb3JtYW5jZUNvdW50ZXJQcm9wZXJ0aWVzICgNCj4gKyAgT1VUICAgICAgVUlOVDY0ICAg ICAgICAgICAgICAgICAgICAqU3RhcnRWYWx1ZSwgIE9QVElPTkFMDQo+ICsgIE9VVCAgICAgIFVJ TlQ2NCAgICAgICAgICAgICAgICAgICAgKkVuZFZhbHVlICAgICBPUFRJT05BTA0KPiArICApDQo+ ICt7DQo+ICsgIGlmIChTdGFydFZhbHVlICE9IE5VTEwpIHsNCj4gKyAgICAqU3RhcnRWYWx1ZSA9 IDA7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoRW5kVmFsdWUgIT0gTlVMTCkgew0KPiArICAgICpF bmRWYWx1ZSA9IFZfUENIX0FDUElfUE0xX1RNUl9NQVhfVkFMIC0gMTsNCj4gKyAgfQ0KPiArDQo+ ICsgIHJldHVybiBWX1BDSF9BQ1BJX1BNMV9UTVJfRlJFUVVFTkNZOw0KPiArfQ0KPiArDQo+ICsv KioNCj4gKyAgQ29udmVydHMgZWxhcHNlZCB0aWNrcyBvZiBwZXJmb3JtYW5jZSBjb3VudGVyIHRv IHRpbWUgaW4gbmFub3NlY29uZHMuDQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiBjb252ZXJ0cyB0 aGUgZWxhcHNlZCB0aWNrcyBvZiBydW5uaW5nIHBlcmZvcm1hbmNlIGNvdW50ZXIgdG8NCj4gKyAg dGltZSB2YWx1ZSBpbiB1bml0IG9mIG5hbm9zZWNvbmRzLg0KPiArDQo+ICsgIEBwYXJhbSAgVGlj a3MgICAgIFRoZSBudW1iZXIgb2YgZWxhcHNlZCB0aWNrcyBvZiBydW5uaW5nIHBlcmZvcm1hbmNl DQo+IGNvdW50ZXIuDQo+ICsNCj4gKyAgQHJldHVybiAgICAgICAgICAgVGhlIGVsYXBzZWQgdGlt ZSBpbiBuYW5vc2Vjb25kcy4NCj4gKw0KPiArKiovDQo+ICtVSU5UNjQNCj4gK0VGSUFQSQ0KPiAr R2V0VGltZUluTmFub1NlY29uZCAoDQo+ICsgIElOICAgICAgVUlOVDY0ICAgICAgICAgICAgICAg ICAgICAgVGlja3MNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UNjQgIE5hbm9TZWNvbmRzOw0KPiAr ICBVSU5UMzIgIFJlbWFpbmRlcjsNCj4gKw0KPiArICAvLw0KPiArICAvLyAgICAgICAgICBUaWNr cw0KPiArICAvLyBUaW1lID0gLS0tLS0tLS0tIHggMSwwMDAsMDAwLDAwMA0KPiArICAvLyAgICAg ICAgRnJlcXVlbmN5DQo+ICsgIC8vDQo+ICsgIE5hbm9TZWNvbmRzID0gTXVsdFU2NHgzMiAoRGl2 VTY0eDMyUmVtYWluZGVyIChUaWNrcywNCj4gVl9QQ0hfQUNQSV9QTTFfVE1SX0ZSRVFVRU5DWSwg JlJlbWFpbmRlciksIDEwMDAwMDAwMDB1KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBGcmVxdWVu Y3kgPCAweDEwMDAwMDAwMCwgc28gUmVtYWluZGVyIDwgMHgxMDAwMDAwMDAsIHRoZW4NCj4gKFJl bWFpbmRlciAqIDEsMDAwLDAwMCwwMDApDQo+ICsgIC8vIHdpbGwgbm90IG92ZXJmbG93IDY0LWJp dC4NCj4gKyAgLy8NCj4gKyAgTmFub1NlY29uZHMgKz0gRGl2VTY0eDMyIChNdWx0VTY0eDMyICgo VUlOVDY0KSBSZW1haW5kZXIsDQo+IDEwMDAwMDAwMDB1KSwgVl9QQ0hfQUNQSV9QTTFfVE1SX0ZS RVFVRU5DWSk7DQo+ICsNCj4gKyAgcmV0dXJuIE5hbm9TZWNvbmRzOw0KPiArfQ0KPiArDQo+ICsN Cj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJh cnkvSW50ZWxQY2hBY3BpVGltZXJMaWIvSW50ZWxQY2hBYw0KPiBwaVRpbWVyTGliLmluZg0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSW50ZWxQY2hBY3BpVGlt ZXJMaWIvSW50ZWxQY2hBDQo+IGNwaVRpbWVyTGliLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5mMzBkNzBlMDFmDQo+IC0tLSAvZGV2L251bGwNCj4gKysr DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JbnRlbFBjaEFj cGlUaW1lckxpYi9JbnRlbFBjaEENCj4gY3BpVGltZXJMaWIuaW5mDQo+IEBAIC0wLDAgKzEsNTEg QEANCj4gKyMvKiogQGZpbGUNCj4gKyMgSW50ZWwgSUNIOSBBY3BpIFRpbWVyIEluc3RhbmNlDQo+ ICsjDQo+ICsjIElDSDkgQWNwaSB0aW1lciBpbXBsZW1lbnRzIG9uZSBpbnN0YW5jZSBvZiBUaW1l ciBMaWJyYXJ5LiBBY3BpIHRpbWVyDQo+IGNhbm5vdCBiZSBwcm9ncmFtbWVkLA0KPiArIyAgc28g aXQgY291bGQgYmUgdXNlZCBieSBhbnkgdHlwZXMgb2YgZHJpdmVycywgaW5jbHVkaW5nIFNNTSBk cml2ZXJzIGFuZA0KPiBSdW50aW1lIGRyaXZlcnMuDQo+ICsjIENvcHlyaWdodCAoYykgMjAwNyAt IDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMN Cj4gDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICsNCj4gKyMNCj4gDQo+ICsjDQo+ICsjDQo+ICsjDQo+ICsjKiovDQo+ICsNCj4gK1tEZWZpbmVz XQ0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsg IEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9IEludGVsUGNoQWNwaVRpbWVyTGliDQo+ ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDBDMEFDOEMxLUUzNjgtNGQyMC04 NUZFLTIzRUZCM0RCMDk0RQ0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBC QVNFDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBMSUJS QVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBUaW1lckxpYg0KPiArICBFREtfUkVMRUFTRV9W RVJTSU9OICAgICAgICAgICAgPSAweDAwMDIwMDAwDQo+ICsgIEVGSV9TUEVDSUZJQ0FUSU9OX1ZF UlNJT04gICAgICA9IDB4MDAwMjAwMDANCj4gKw0KPiArICBDT05TVFJVQ1RPUiAgICAgICAgICAg ICAgICAgICAgPSBJbnRlbFBjaEFjcGlUaW1lckxpYkNvbnN0cnVjdG9yDQo+ICsNCj4gKyMNCj4g KyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5v dCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ICsjICBWQUxJRF9BUkNI SVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQw0KPiArIw0KPiArDQo+ICtbU291cmNl cy5jb21tb25dDQo+ICsgIEludGVsUGNoQWNwaVRpbWVyTGliLmMNCj4gKyAgQ29tbW9uSGVhZGVy LmgNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBWbHYy RGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4gKyAgVmx2MlRibHRE ZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAg UGNkTGliDQo+ICsgIFBjaUxpYg0KPiArICBJb0xpYg0KPiArICBCYXNlTGliDQo+ICsNCj4gK1tQ Y2QuY29tbW9uXQ0KPiArICBnRWZpUGNoVG9rZW5TcGFjZUd1aWQuUGNkUGNoQWNwaUlvUG9ydEJh c2VBZGRyZXNzDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2lFeHByZXNzQmFz ZUFkZHJlc3MNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZENsa0dlbnMNCj4gL0JvYXJkQ2xrR2Vu cy5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBs YXRmb3JtTGliL0JvYXJkQ2xrR2Vucw0KPiAvQm9hcmRDbGtHZW5zLmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTE5MDMyYzJkZg0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvTXVs dGlQbGF0Zm9ybUxpYi9Cb2FyZENsa0dlbnMNCj4gL0JvYXJkQ2xrR2Vucy5jDQo+IEBAIC0wLDAg KzEsNDMwIEBADQo+ICsvKiogQGZpbGUNCj4gKyAgQ2xvY2sgZ2VuZXJhdG9yIHNldHRpbmcgZm9y IG11bHRpcGxhdGZvcm0uDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8Qm9hcmRDbGtHZW5zLmg+DQo+ICsjaW5j bHVkZSA8R3VpZC9TZXR1cFZhcmlhYmxlLmg+DQo+ICsjaW5jbHVkZSA8UHBpL1JlYWRPbmx5VmFy aWFibGUyLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsNCj4g KyNpZm5kZWYgX19HTlVDX18NCj4gKyNwcmFnbWEgb3B0aW1pemUoICIiLCBvZmYgKQ0KPiArI2Vu ZGlmDQo+ICsNCj4gKyNkZWZpbmUgQ0xLR0VOX0VOIDENCj4gKyNkZWZpbmUgRUZJX0RFQlVHIDEN Cj4gKw0KPiArQ0xPQ0tfR0VORVJBVE9SX0RFVEFJTFMgICBtU3VwcG9ydGVkQ2xvY2tHZW5lcmF0 b3JUYWJsZVtdID0NCj4gK3sNCj4gKyAgeyBDbG9ja0dlbmVyYXRvckNrNDEwLCBDSzQxMF9HRU5F UkFUT1JfSUQgLA0KPiBDSzQxMF9HRU5FUkFUT1JfU1BSRUFEX1NQRUNUUlVNX0JZVEUsDQo+IENL NDEwX0dFTkVSQVRPUl9TUFJFQURfU1BFQ1RSVU1fQklUIH0sDQo+ICsgIHsgQ2xvY2tHZW5lcmF0 b3JDazUwNSwgQ0s1MDVfR0VORVJBVE9SX0lEICwNCj4gQ0s1MDVfR0VORVJBVE9SX1NQUkVBRF9T UEVDVFJVTV9CWVRFLA0KPiBDSzUwNV9HRU5FUkFUT1JfU1BSRUFEX1NQRUNUUlVNX0JJVCB9DQo+ ICt9Ow0KPiArDQo+ICsvKioNCj4gKyAgQ29uZmlndXJlIHRoZSBjbG9jayBnZW5lcmF0b3IgdXNp bmcgdGhlIFNNQlVTIFBQSSBzZXJ2aWNlcy4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHBlcmZv cm1zIGEgYmxvY2sgd3JpdGUsIGFuZCBkdW1wcyBkZWJ1ZyBpbmZvcm1hdGlvbi4NCj4gKw0KPiAr ICBAcGFyYW0gIFBlaVNlcnZpY2VzICAgICAgICAgICAgICAgIEdlbmVyYWwgcHVycG9zZSBzZXJ2 aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkNCj4gUEVJTS4NCj4gKyAgQHBhcmFtICBDbG9ja1R5cGUg ICAgICAgICAgICAgICAgICBDbG9jayBnZW5lcmF0b3IncyBtb2RlbCBuYW1lLg0KPiArICBAcGFy YW0gIENsb2NrQWRkcmVzcyAgICAgICAgICAgICAgIFNNQlVTIGFkZHJlc3Mgb2YgY2xvY2sgZ2Vu ZXJhdG9yLg0KPiArICBAcGFyYW0gIENvbmZpZ3VyYXRpb25UYWJsZUxlbmd0aCAgIExlbmd0aCBv ZiBjb25maWd1cmF0aW9uIHRhYmxlLg0KPiArICBAcGFyYW0gIENvbmZpZ3VyYXRpb25UYWJsZSAg ICAgICAgIFBvaW50ZXIgb2YgY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gKw0KPiArICBAcmV0dmFs IEVGSV9TVUNDRVNTIC0gT3BlcmF0aW9uIHN1Y2Nlc3MuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArQ29uZmlndXJlQ2xvY2tHZW5lcmF0b3IgKA0KPiArICBJTiAgICAgRUZJX1BFSV9T RVJWSUNFUyAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gICAgIEVGSV9QRUlf U01CVVNfUFBJICAgICAgICAgICAgICAgICAqU21idXNQcGksDQo+ICsgIElOICAgICBDTE9DS19H RU5FUkFUT1JfVFlQRSAgICAgICAgICBDbG9ja1R5cGUsDQo+ICsgIElOICAgICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICBDbG9ja0FkZHJlc3MsDQo+ICsgIElOICAgICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICAgICBDb25maWd1cmF0aW9uVGFibGVMZW5ndGgsDQo+ICsgIElOIE9V VCBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAqQ29uZmlndXJhdGlvblRhYmxlDQo+ICsg ICkNCj4gK3sNCj4gKw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7 DQo+ICsgIEVGSV9TTUJVU19ERVZJQ0VfQUREUkVTUyAgICAgIFNsYXZlQWRkcmVzczsNCj4gKyAg VUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyW01BWF9DTE9DS19HRU5FUkFUT1Jf QlVGRkVSX0xFTkdUSF07DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0 aDsNCj4gKyAgRUZJX1NNQlVTX0RFVklDRV9DT01NQU5EICAgICAgQ29tbWFuZDsNCj4gKyNpZiBD TEtHRU5fQ09ORklHX0VYVFJBDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIGo7 DQo+ICsjZW5kaWYNCj4gKw0KPiArICAvLw0KPiArICAvLyBWZXJpZnkgaW5wdXQgYXJndW1lbnRz DQo+ICsgIC8vDQo+ICsgIEFTU0VSVCAoQ29uZmlndXJhdGlvblRhYmxlTGVuZ3RoID49IDYpOw0K PiArICBBU1NFUlQgKENvbmZpZ3VyYXRpb25UYWJsZUxlbmd0aCA8PQ0KPiBNQVhfQ0xPQ0tfR0VO RVJBVE9SX0JVRkZFUl9MRU5HVEgpOw0KPiArICBBU1NFUlQgKENsb2NrVHlwZSA8IENsb2NrR2Vu ZXJhdG9yTWF4KTsNCj4gKyAgQVNTRVJUIChDb25maWd1cmF0aW9uVGFibGUgIT0gTlVMTCk7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVhZCB0aGUgY2xvY2sgZ2VuZXJhdG9yDQo+ICsgIC8vDQo+ ICsgIFNsYXZlQWRkcmVzcy5TbWJ1c0RldmljZUFkZHJlc3MgPSBDbG9ja0FkZHJlc3MgPj4gMTsN Cj4gKyAgTGVuZ3RoID0gc2l6ZW9mIChCdWZmZXIpOw0KPiArICBDb21tYW5kID0gMDsNCj4gKyAg U3RhdHVzID0gU21idXNQcGktPkV4ZWN1dGUgKA0KPiArICAgIFBlaVNlcnZpY2VzLA0KPiArICAg IFNtYnVzUHBpLA0KPiArICAgIFNsYXZlQWRkcmVzcywNCj4gKyAgICBDb21tYW5kLA0KPiArICAg IEVmaVNtYnVzUmVhZEJsb2NrLA0KPiArICAgIEZBTFNFLA0KPiArICAgICZMZW5ndGgsDQo+ICsg ICAgQnVmZmVyDQo+ICsgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4g Kw0KPiArI2lmZGVmIEVGSV9ERUJVRw0KPiArICB7DQo+ICsgICAgVUlOVDggaTsNCj4gKyAgICBm b3IgKGkgPSAwOyBpIDwgc2l6ZW9mIChCdWZmZXIpOyBpKyspIHsNCj4gKyAgICAgIERFQlVHKChF RklfRF9FUlJPUiwgIkNLNTA1IGRlZmF1bHQgQ2xvY2sgR2VuZXJhdG9yIEJ5dGUgJWQ6ICV4XG4i LA0KPiBpLCBCdWZmZXJbaV0pKTsNCj4gKyAgICB9DQo+ICsjaWYgQ0xLR0VOX0VODQo+ICsgICAg Zm9yIChpID0gMDsgaSA8IENvbmZpZ3VyYXRpb25UYWJsZUxlbmd0aDsgaSsrKSB7DQo+ICsgICAg ICBERUJVRygoRUZJX0RfRVJST1IsICJCSU9TIHN0cnVjdHVyZSBDbG9jayBHZW5lcmF0b3IgQnl0 ZSAlZDogJXhcbiIsDQo+IGksIENvbmZpZ3VyYXRpb25UYWJsZVtpXSkpOw0KPiArICAgIH0NCj4g KyNlbmRpZg0KPiArICB9DQo+ICsjZW5kaWYNCj4gKw0KPiArICBERUJVRygoRUZJX0RfRVJST1Is ICJFeHBlY3RlZCBDbG9jayBHZW5lcmF0b3IgSUQgaXMgJXgsDQo+IGV4cGVjdGluZyAleFxuIiwN Cj4gbVN1cHBvcnRlZENsb2NrR2VuZXJhdG9yVGFibGVbQ2xvY2tUeXBlXS5DbG9ja0lkLChCdWZm ZXJbN10mMHhGKSkpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2dyYW0gY2xvY2sgZ2VuZXJh dG9yDQo+ICsgIC8vDQo+ICsgIENvbW1hbmQgPSAwOw0KPiArI2lmIENMS0dFTl9FTg0KPiArI2lm IENMS0dFTl9DT05GSUdfRVhUUkENCj4gKyAgZm9yIChqID0gMDsgaiA8IENvbmZpZ3VyYXRpb25U YWJsZUxlbmd0aDsgaisrKSB7DQo+ICsgICAgQnVmZmVyW2pdID0gQ29uZmlndXJhdGlvblRhYmxl W2pdOw0KPiArICB9DQo+ICsNCj4gKyAgQnVmZmVyWzMwXSA9IDB4MDA7DQo+ICsNCj4gKyAgU3Rh dHVzID0gU21idXNQcGktPkV4ZWN1dGUgKA0KPiArICAgIFBlaVNlcnZpY2VzLA0KPiArICAgIFNt YnVzUHBpLA0KPiArICAgIFNsYXZlQWRkcmVzcywNCj4gKyAgICBDb21tYW5kLA0KPiArICAgIEVm aVNtYnVzV3JpdGVCbG9jaywNCj4gKyAgICBGQUxTRSwNCj4gKyAgICAmTGVuZ3RoLA0KPiArICAg IEJ1ZmZlcg0KPiArICAgICk7DQo+ICsjZWxzZQ0KPiArICBTdGF0dXMgPSBTbWJ1c1BwaS0+RXhl Y3V0ZSAoDQo+ICsgICAgUGVpU2VydmljZXMsDQo+ICsgICAgU21idXNQcGksDQo+ICsgICAgU2xh dmVBZGRyZXNzLA0KPiArICAgIENvbW1hbmQsDQo+ICsgICAgRWZpU21idXNXcml0ZUJsb2NrLA0K PiArICAgIEZBTFNFLA0KPiArICAgICZDb25maWd1cmF0aW9uVGFibGVMZW5ndGgsDQo+ICsgICAg Q29uZmlndXJhdGlvblRhYmxlDQo+ICsgICAgKTsNCj4gKyNlbmRpZiAvLyBDTEtHRU5fQ09ORklH X0VYVFJBDQo+ICsjZWxzZQ0KPiArICAgIENvbmZpZ3VyYXRpb25UYWJsZVs0XSA9IChDb25maWd1 cmF0aW9uVGFibGVbNF0gJiAweDMpIHwgKEJ1ZmZlcls0XSAmDQo+IDB4RkMpOw0KPiArICAgIENv bW1hbmQgPSA0Ow0KPiArICAgIExlbmd0aCA9IDE7DQo+ICsgIFN0YXR1cyA9IFNtYnVzUHBpLT5F eGVjdXRlICgNCj4gKyAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICBTbWJ1c1BwaSwNCj4gKyAgICBT bGF2ZUFkZHJlc3MsDQo+ICsgICAgQ29tbWFuZCwNCj4gKyAgICBFZmlTbWJ1c1dyaXRlQmxvY2ss DQo+ICsgICAgRkFMU0UsDQo+ICsgICAgJkxlbmd0aCwNCj4gKyAgICAmQ29uZmlndXJhdGlvblRh YmxlWzRdDQo+ICsgICAgKTsNCj4gKyNlbmRpZiAvL0NMS0dFTl9FTg0KPiArICBBU1NFUlRfRUZJ X0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIER1bXAgY29udGVudHMgYWZ0 ZXIgd3JpdGUNCj4gKyAgLy8NCj4gKyAgI2lmZGVmIEVGSV9ERUJVRw0KPiArICAgIHsNCj4gKyAg ICAgIFVJTlQ4ICAgaTsNCj4gKyAgICBTbGF2ZUFkZHJlc3MuU21idXNEZXZpY2VBZGRyZXNzID0g Q2xvY2tBZGRyZXNzID4+IDE7DQo+ICsgICAgTGVuZ3RoID0gc2l6ZW9mIChCdWZmZXIpOw0KPiAr ICAgICAgQ29tbWFuZCA9IDA7DQo+ICsgICAgICBTdGF0dXMgPSAgU21idXNQcGktPkV4ZWN1dGUg KA0KPiArICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgU21idXNQcGksDQo+ICsgICAg ICAgIFNsYXZlQWRkcmVzcywNCj4gKyAgICAgICAgQ29tbWFuZCwNCj4gKyAgICAgICAgRWZpU21i dXNSZWFkQmxvY2ssDQo+ICsgICAgICAgIEZBTFNFLA0KPiArICAgICAgICAmTGVuZ3RoLA0KPiAr ICAgICAgICBCdWZmZXINCj4gKyAgICAgICAgKTsNCj4gKw0KPiArICAgICAgZm9yIChpID0gMDsg aSA8IENvbmZpZ3VyYXRpb25UYWJsZUxlbmd0aDsgaSsrKSB7DQo+ICsgICAgICAgIERFQlVHKChF RklfRF9FUlJPUiwgIkNsb2NrIEdlbmVyYXRvciBCeXRlICVkOiAleFxuIiwgaSwgQnVmZmVyW2ld KSk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgICNlbmRpZg0KPiArDQo+ICsgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIENvbmZpZ3VyZSB0aGUgY2xv Y2sgZ2VuZXJhdG9yIHVzaW5nIHRoZSBTTUJVUyBQUEkgc2VydmljZXMuDQo+ICsNCj4gKyAgVGhp cyBmdW5jdGlvbiBwZXJmb3JtcyBhIGJsb2NrIHdyaXRlLCBhbmQgZHVtcHMgZGVidWcgaW5mb3Jt YXRpb24uDQo+ICsNCj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgICAgICAgICAgICBHZW5l cmFsIHB1cnBvc2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5DQo+IFBFSU0uDQo+ICsgIEBw YXJhbSAgQ2xvY2tUeXBlICAgICAgICAgICAgICAgICAgQ2xvY2sgZ2VuZXJhdG9yJ3MgbW9kZWwg bmFtZS4NCj4gKyAgQHBhcmFtICBDbG9ja0FkZHJlc3MgICAgICAgICAgICAgICBTTUJVUyBhZGRy ZXNzIG9mIGNsb2NrIGdlbmVyYXRvci4NCj4gKyAgQHBhcmFtICBDb25maWd1cmF0aW9uVGFibGVM ZW5ndGggICBMZW5ndGggb2YgY29uZmlndXJhdGlvbiB0YWJsZS4NCj4gKyAgQHBhcmFtICBDb25m aWd1cmF0aW9uVGFibGUgICAgICAgICBQb2ludGVyIG9mIGNvbmZpZ3VyYXRpb24gdGFibGUuDQo+ ICsNCj4gKw0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgT3BlcmF0aW9uIHN1Y2Nlc3MuDQo+ ICsNCj4gKyoqLw0KPiArVUlOVDgNCj4gK1JlYWRDbG9ja0dlbmVyYXRvcklEICgNCj4gKyAgSU4g ICAgIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElO ICAgICBFRklfUEVJX1NNQlVTX1BQSSAgICAgICAgICAgICAgICAgKlNtYnVzUHBpLA0KPiArICBJ TiAgICAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgQ2xvY2tBZGRyZXNzDQo+ICsgICkN Cj4gK3sNCj4gKyAgRUZJX1NNQlVTX0RFVklDRV9BRERSRVNTICAgICAgU2xhdmVBZGRyZXNzOw0K PiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJbTUFYX0NMT0NLX0dFTkVS QVRPUl9CVUZGRVJfTEVOR1RIXTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg TGVuZ3RoOw0KPiArICBFRklfU01CVVNfREVWSUNFX0NPTU1BTkQgICAgICBDb21tYW5kOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFJlYWQgdGhlIGNsb2NrIGdlbmVyYXRvcg0KPiArICAvLw0KPiAr ICBTbGF2ZUFkZHJlc3MuU21idXNEZXZpY2VBZGRyZXNzID0gQ2xvY2tBZGRyZXNzID4+IDE7DQo+ ICsgIExlbmd0aCA9IHNpemVvZiAoQnVmZmVyKTsNCj4gKyAgQ29tbWFuZCA9IDA7DQo+ICsgIFNt YnVzUHBpLT5FeGVjdXRlICgNCj4gKyAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICBTbWJ1c1BwaSwN Cj4gKyAgICBTbGF2ZUFkZHJlc3MsDQo+ICsgICAgQ29tbWFuZCwNCj4gKyAgICBFZmlTbWJ1c1Jl YWRCbG9jaywNCj4gKyAgICBGQUxTRSwNCj4gKyAgICAmTGVuZ3RoLA0KPiArICAgIEJ1ZmZlcg0K PiArICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2FuaXR5IGNoZWNrIHRoYXQgdGhlIHJl cXVlc3RlZCBjbG9jayB0eXBlIGlzIHByZXNlbnQgaW4gb3VyIHN1cHBvcnRlZA0KPiBjbG9ja3Mg dGFibGUNCj4gKyAgLy8NCj4gKyAgREVCVUcoKEVGSV9EX0VSUk9SLCAiRXhwZWN0ZWQgQ2xvY2sg R2VuZXJhdG9yIElEIGlzIDB4JXhcbiIsDQo+IEJ1ZmZlcls3XSkpOw0KPiArDQo+ICsgIHJldHVy biAoQnVmZmVyWzddKTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIENvbmZpZ3VyZSB0aGUgY2xv Y2sgZ2VuZXJhdG9yIHRvIGVuYWJsZSBmcmVlLXJ1bm5pbmcgb3BlcmF0aW9uLiAgVGhpcw0KPiBr ZWVwcw0KPiArICB0aGUgY2xvY2tzIGZyb20gYmVpbmcgc3RvcHBlZCB3aGVuIHRoZSBzeXN0ZW0g ZW50ZXJzIEMzIG9yIEM0Lg0KPiArDQo+ICsgIEBwYXJhbSBOb25lDQo+ICsNCj4gKyAgQHJldHZh bCBFRklfU1VDQ0VTUyAgICBUaGUgZnVuY3Rpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4g Kw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtDb25maWd1cmVQbGF0Zm9ybUNsb2NrcyAoDQo+ ICsgIElOIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElO IEVGSV9QRUlfTk9USUZZX0RFU0NSSVBUT1IgICpOb3RpZnlEZXNjcmlwdG9yLA0KPiArICBJTiBW T0lEICAgICAgICAgICAgICAgICAgICAgICAqU21idXNQcGkNCj4gKyAgKQ0KPiArew0KPiArICAv Lw0KPiArICAvLyBDb21tZW50IGl0IG91dCBmb3Igbm93DQo+ICsgIC8vIE5vdCBzdXBwb3J0ZWQg YnkgSHlicmlkIG1vZGVsLg0KPiArICAvLw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAg ICAgICBTdGF0dXM7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICpDb25maWd1 cmF0aW9uVGFibGU7DQo+ICsNCj4gKyAgQ0xPQ0tfR0VORVJBVE9SX1RZUEUgICAgICAgICAgQ2xv Y2tUeXBlID0gQ2xvY2tHZW5lcmF0b3JDazUwNTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgICAgICAgQ29uZmlndXJhdGlvblRhYmxlX0Rlc2t0b3BbXSA9DQo+IENMT0NLX0dFTkVSQVRP Ul9TRVRUSU5HU19ERVNLVE9QOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBD b25maWd1cmF0aW9uVGFibGVfTW9iaWxlW10gPQ0KPiBDTE9DS19HRU5FUkFUT1JfU0VUVElOR1Nf TU9CSUxFOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBDb25maWd1cmF0aW9u VGFibGVfVGFibGV0W10gPQ0KPiBDTE9DS19HRU5FUkFUT1JfU0VFVElOR1NfVEFCTEVUOw0KPiAr DQo+ICsgIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAgICpQbGF0Zm9ybUluZm9Ib2I7DQo+ ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZVNwcmVhZFNwZWN0cnVtOw0K PiArICBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICAgICBTeXN0ZW1Db25maWd1cmF0aW9uOw0K PiArDQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIExlbmd0aDsNCj4gKyAgRUZJ X1NNQlVTX0RFVklDRV9DT01NQU5EICAgICAgQ29tbWFuZDsNCj4gKyAgRUZJX1NNQlVTX0RFVklD RV9BRERSRVNTICAgICAgU2xhdmVBZGRyZXNzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAg ICAgICAgICBEYXRhOw0KPiArDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIENs b2NrQWRkcmVzcyA9IENMT0NLX0dFTkVSQVRPUl9BRERSRVNTOw0KPiArICBVSU5UTiAgICAgICAg ICAgICAgICAgICAgICAgICBWYXJpYWJsZVNpemU7DQo+ICsgIEVGSV9QRUlfUkVBRF9PTkxZX1ZB UklBQkxFMl9QUEkgICAqVmFyaWFibGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gT2J0YWluIFBs YXRmb3JtIEluZm8gZnJvbSBIT0IuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IEdldFBsYXRmb3Jt SW5mb0hvYiAoKENPTlNUIEVGSV9QRUlfU0VSVklDRVMgKiopIFBlaVNlcnZpY2VzLA0KPiAmUGxh dGZvcm1JbmZvSG9iKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiAr ICBERUJVRygoRUZJX0RfRVJST1IsICJQbGF0Zm9ybUluZm8gcHJvdG9jb2wgaXMgd29ya2luZyBp bg0KPiBDb25maWd1cmVQbGF0Zm9ybUNsb2NrcygpLi4uJXhcbiIsUGxhdGZvcm1JbmZvSG9iLT5Q bGF0Zm9ybUZsYXZvcikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIExvY2F0ZSBTTUJVUyBQUEkN Cj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gKCoqUGVpU2VydmljZXMpLkxvY2F0ZVBwaSAoDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIChDT05TVCBFRklfUEVJX1NFUlZJQ0VTICoqKSBQ ZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlQZWlTbWJ1 c1BwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZTbWJ1c1BwaQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBB U1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIERhdGEgID0gMDsNCj4gKyAgU2xh dmVBZGRyZXNzLlNtYnVzRGV2aWNlQWRkcmVzcyA9IENsb2NrQWRkcmVzcyA+PiAxOw0KPiArICBM ZW5ndGggPSAxOw0KPiArICBDb21tYW5kID0gMHg4NzsgICAvL0NvbnRyb2wgUmVnaXN0ZXIgNyBW ZW5kb3IgSUQgQ2hlY2sNCj4gKyAgU3RhdHVzID0gKChFRklfUEVJX1NNQlVTX1BQSSAqKSBTbWJ1 c1BwaSktPkV4ZWN1dGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgU21idXNQcGksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFNsYXZlQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ29tbWFuZCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWZpU21idXNSZWFkQnl0ZSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRkFMU0UsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZMZW5ndGgsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEYXRhDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsN Cj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8fCAoKERhdGEgJiAweDBGKSAhPSBDSzUwNV9H RU5FUkFUT1JfSUQpKSB7DQo+ICsgICAgICBERUJVRygoRUZJX0RfRVJST1IsICJDbG9jayBHZW5l cmF0b3IgQ0s1MDUgTm90IFByZXNlbnQsIHZlbmRvciBJRA0KPiBvbiBib2FyZCBpcyAleFxuIiwo RGF0YSAmIDB4MEYpKSk7DQo+ICsgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsN Cj4gKyAgRW5hYmxlU3ByZWFkU3BlY3RydW0gPSBGQUxTRTsNCj4gKyAgVmFyaWFibGVTaXplID0g c2l6ZW9mIChTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgIFplcm9NZW0gKCZTeXN0ZW1Db25m aWd1cmF0aW9uLCBzaXplb2YgKFNZU1RFTV9DT05GSUdVUkFUSU9OKSk7DQo+ICsNCj4gKyAgU3Rh dHVzID0gKCpQZWlTZXJ2aWNlcyktPkxvY2F0ZVBwaSAoDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChDT05TVCBFRklfUEVJX1NFUlZJQ0VTICoqKSBQZWlTZXJ2aWNlcywNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlQZWlSZWFkT25seVZhcmlhYmxlMlBwaUd1 aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChW T0lEICoqKSAmVmFyaWFibGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgLy8NCj4gKyAgLy8gVXNlIG5vcm1hbCBzZXR1cCBkZWZhdWx0IGZyb20gTlZSQU0gdmFyaWFi bGUsDQo+ICsgIC8vIHRoZSBQbGF0Zm9ybSBNb2RlIChtYW51ZmFjdHVyaW5nL3NhZmUvbm9ybWFs KSBpcyBoYW5kbGUgaW4NCj4gUGVpR2V0VmFyaWFibGUuDQo+ICsgIC8vDQo+ICsgIFZhcmlhYmxl U2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgIFN0YXR1cyA9IFZhcmlh YmxlLT5HZXRWYXJpYWJsZSAoVmFyaWFibGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEwiU2V0dXAiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ0VmaVNldHVwVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmVmFy aWFibGVTaXplLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU3lzdGVt Q29uZmlndXJhdGlvbik7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgVmFyaWFibGVT aXplICE9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTikpDQo+IHsNCj4gKyAgICAvL1RoZSBz ZXR1cCB2YXJpYWJsZSBpcyBjb3JydXB0ZWQNCj4gKyAgICBWYXJpYWJsZVNpemUgPSBzaXplb2Yo U1lTVEVNX0NPTkZJR1VSQVRJT04pOw0KPiArICAgIFN0YXR1cyA9IFZhcmlhYmxlLT5HZXRWYXJp YWJsZShWYXJpYWJsZSwNCj4gKyAgICAgICAgICAgICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4gKyAg ICAgICAgICAgICAgJmdFZmlTZXR1cFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgJlZhcmlhYmxlU2l6ZSwNCj4gKyAgICAgICAgICAgICAgJlN5 c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJ X0VSUk9SIChTdGF0dXMpOw0KPiArICB9DQo+ICsgIGlmKCFFRklfRVJST1IgKFN0YXR1cykpew0K PiArICAgIEVuYWJsZVNwcmVhZFNwZWN0cnVtID0gU3lzdGVtQ29uZmlndXJhdGlvbi5FbmFibGVD bG9ja1NwcmVhZFNwZWM7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBQZXJmb3JtIHBs YXRmb3JtLXNwZWNpZmljIGludGlhbGl6YXRpb24gZGVwZW5kZW50IHVwb24gQm9hcmQgSUQ6DQo+ ICsgIC8vDQo+ICsgIERFQlVHKChFRklfRF9FUlJPUiwgImJvYXJkIGlkIGlzICV4LCBwbGF0Zm9y bSBpZA0KPiBpcyAleFxuIixQbGF0Zm9ybUluZm9Ib2ItPkJvYXJkSWQsUGxhdGZvcm1JbmZvSG9i LT5QbGF0Zm9ybUZsYXZvcikpOw0KPiArDQo+ICsNCj4gKyAgc3dpdGNoIChQbGF0Zm9ybUluZm9I b2ItPkJvYXJkSWQpIHsNCj4gKyAgICBjYXNlIEJPQVJEX0lEX01JTk5PVzI6DQo+ICsgICAgY2Fz ZSBCT0FSRF9JRF9NSU5OT1cyX1RVUkJPVDoNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgc3dp dGNoKFBsYXRmb3JtSW5mb0hvYi0+UGxhdGZvcm1GbGF2b3IpIHsNCj4gKyAgICAgIGNhc2UgRmxh dm9yVGFibGV0Og0KPiArICAgICAgICBDb25maWd1cmF0aW9uVGFibGUgPSBDb25maWd1cmF0aW9u VGFibGVfVGFibGV0Ow0KPiArICAgICAgICBMZW5ndGggPSBzaXplb2YgKENvbmZpZ3VyYXRpb25U YWJsZV9UYWJsZXQpOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAgIGNhc2UgRmxhdm9yTW9i aWxlOg0KPiArICAgICAgICBDb25maWd1cmF0aW9uVGFibGUgPSBDb25maWd1cmF0aW9uVGFibGVf TW9iaWxlOw0KPiArICAgICAgICBMZW5ndGggPSBzaXplb2YgKENvbmZpZ3VyYXRpb25UYWJsZV9N b2JpbGUpOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAgIGNhc2UgRmxhdm9yRGVza3RvcDoN Cj4gKyAgICAgIGRlZmF1bHQ6DQo+ICsgICAgICAgIENvbmZpZ3VyYXRpb25UYWJsZSA9IENvbmZp Z3VyYXRpb25UYWJsZV9EZXNrdG9wOw0KPiArICAgICAgICBMZW5ndGggPSBzaXplb2YgKENvbmZp Z3VyYXRpb25UYWJsZV9EZXNrdG9wKTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgICB9DQo+ ICsgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFBlcmZvcm0gY29t bW9uIGNsb2NrIGluaXRpYWxpemF0aW9uOg0KPiArICAvLw0KPiArICAvLyBQcm9ncmFtIFNwcmVh ZCBTcGVjdHJ1bSBmdW5jdGlvbi4NCj4gKyAgLy8NCj4gKyAgaWYgKEVuYWJsZVNwcmVhZFNwZWN0 cnVtKQ0KPiArICB7DQo+ICsNCj4gQ29uZmlndXJhdGlvblRhYmxlW21TdXBwb3J0ZWRDbG9ja0dl bmVyYXRvclRhYmxlW0Nsb2NrVHlwZV0uU3ByZWFkU3BlDQo+IGN0cnVtQnl0ZU9mZnNldF0gfD0N Cj4gbVN1cHBvcnRlZENsb2NrR2VuZXJhdG9yVGFibGVbQ2xvY2tUeXBlXS5TcHJlYWRTcGVjdHJ1 bUJpdE9mZnNldDsNCj4gKyAgfSBlbHNlIHsNCj4gKw0KPiBDb25maWd1cmF0aW9uVGFibGVbbVN1 cHBvcnRlZENsb2NrR2VuZXJhdG9yVGFibGVbQ2xvY2tUeXBlXS5TcHJlYWRTcGUNCj4gY3RydW1C eXRlT2Zmc2V0XSAmPQ0KPiB+KG1TdXBwb3J0ZWRDbG9ja0dlbmVyYXRvclRhYmxlW0Nsb2NrVHlw ZV0uU3ByZWFkU3BlY3RydW1CaXRPZmZzZXQpOw0KPiArICB9DQo+ICsNCj4gKw0KPiArI2lmIENM S0dFTl9FTg0KPiArICBTdGF0dXMgPSBDb25maWd1cmVDbG9ja0dlbmVyYXRvciAoUGVpU2Vydmlj ZXMsIFNtYnVzUHBpLCBDbG9ja1R5cGUsDQo+IENsb2NrQWRkcmVzcywgTGVuZ3RoLCBDb25maWd1 cmF0aW9uVGFibGUpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArI2VuZGlm IC8vIENMS0dFTl9FTg0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK3N0 YXRpYyBFRklfUEVJX05PVElGWV9ERVNDUklQVE9SICAgIG1Ob3RpZnlMaXN0W10gPSB7DQo+ICsg IHsNCj4gKyAgICBFRklfUEVJX1BQSV9ERVNDUklQVE9SX05PVElGWV9DQUxMQkFDS3wNCj4gRUZJ X1BFSV9QUElfREVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCwNCj4gKyAgICAmZ0VmaVBlaVNtYnVz UHBpR3VpZCwNCj4gKyAgICBDb25maWd1cmVQbGF0Zm9ybUNsb2Nrcw0KPiArICB9DQo+ICt9Ow0K PiArDQo+ICtFRklfU1RBVFVTDQo+ICtJbnN0YWxsUGxhdGZvcm1DbG9ja3NOb3RpZnkgKA0KPiAr ICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAqKlBlaVNlcnZpY2VzDQo+ICsg ICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiAr DQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTywgIkluc3RhbGxQbGF0Zm9ybUNsb2Nrc05vdGlmeSgp Li4uXG4iKSk7DQo+ICsNCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPk5vdGlmeVBwaShQ ZWlTZXJ2aWNlcywgJm1Ob3RpZnlMaXN0WzBdKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3Rh dHVzKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArDQo+ICt9DQo+ICsNCj4gKyNpZm5k ZWYgX19HTlVDX18NCj4gKyNwcmFnbWEgb3B0aW1pemUoICIiLCBvbiApDQo+ICsjZW5kaWYNCj4g ZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkv TXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZENsa0dlbnMNCj4gL0JvYXJkQ2xrR2Vucy5oDQo+IGIvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0Jv YXJkQ2xrR2Vucw0KPiAvQm9hcmRDbGtHZW5zLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uZTE1MzkzM2Q3Mg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxp Yi9Cb2FyZENsa0dlbnMNCj4gL0JvYXJkQ2xrR2Vucy5oDQo+IEBAIC0wLDAgKzEsMjU1IEBADQo+ ICsvKipAZmlsZQ0KPiArICBDbG9jayBnZW5lcmF0b3Igc2V0dGluZyBmb3IgbXVsdGlwbGF0Zm9y bS4NCj4gKw0KPiArICBUaGlzIGZpbGUgaW5jbHVkZXMgcGFja2FnZSBoZWFkZXIgZmlsZXMsIGxp YnJhcnkgY2xhc3Nlcy4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiAN Cj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9CT0FSRF9DTEtfR0VOX0hfDQo+ICsjZGVmaW5lIF9C T0FSRF9DTEtfR0VOX0hfDQo+ICsNCj4gKyNpbmNsdWRlIDxQaVBlaS5oPg0KPiArI2luY2x1ZGUg PExpYnJhcnkvSG9iTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1NtYnVzTGli Lmg+DQo+ICsjaW5jbHVkZSA8UHBpL1NtYnVzLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFu ZGFyZC9TbUJ1cy5oPg0KPiArI2luY2x1ZGUgPEd1aWQvUGxhdGZvcm1JbmZvLmg+DQo+ICsNCj4g Kw0KPiArI2RlZmluZSBDTE9DS19HRU5FUkFUT1JfQUREUkVTUyAgMHhkMg0KPiArDQo+ICsjZGVm aW5lIENMT0NLX0dFTkVSQVRPUl9TRUVUSU5HU19UQUJMRVQgezB4QjEsIDB4ODIsIDB4RkYsIDB4 QkYsDQo+IDB4RkYsIDB4ODB9DQo+ICsjZGVmaW5lIENMT0NLX0dFTkVSQVRPUl9TRVRUSU5HU19N T0JJTEUgezB4QjEsIDB4ODIsIDB4RkYsIDB4QkYsDQo+IDB4RkYsIDB4ODB9DQo+ICsjZGVmaW5l IENMT0NLX0dFTkVSQVRPUl9TRVRUSU5HU19ERVNLVE9QIHsweEIxLCAweDgyLCAweEZGLCAweEJG LA0KPiAweEZGLCAweDgwfQ0KPiArDQo+ICt0eXBlZGVmIGVudW0gew0KPiArICBDbG9ja0dlbmVy YXRvckNrNDEwLA0KPiArICBDbG9ja0dlbmVyYXRvckNrNTA1LA0KPiArICBDbG9ja0dlbmVyYXRv ck1heA0KPiArfSBDTE9DS19HRU5FUkFUT1JfVFlQRTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qg ew0KPiArICBDTE9DS19HRU5FUkFUT1JfVFlQRSAgICAgIENsb2NrVHlwZTsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgICBDbG9ja0lkOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAg ICAgIFNwcmVhZFNwZWN0cnVtQnl0ZU9mZnNldDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgICBTcHJlYWRTcGVjdHJ1bUJpdE9mZnNldDsNCj4gK30gQ0xPQ0tfR0VORVJBVE9SX0RFVEFJ TFM7DQo+ICsNCj4gKyNkZWZpbmUgTUFYX0NMT0NLX0dFTkVSQVRPUl9CVUZGRVJfTEVOR1RIICAg ICAgICAgICAweDIwDQo+ICsNCj4gKy8vDQo+ICsvLyBDSzQxMCBEZWZpbml0aW9ucw0KPiArLy8N Cj4gKyNkZWZpbmUgQ0s0MTBfR0VORVJBVE9SX0lEICAgICAgICAgICAgICAgICAgICAgICAgICAw eDY1DQo+ICsjZGVmaW5lIENLNDEwX0dFTkVSQVRPUl9TUFJFQURfU1BFQ1RSVU1fQllURSAgICAg ICAgMQ0KPiArI2RlZmluZSBDSzQxMF9HRU5FUkFUT1JfU1BSRUFEX1NQRUNUUlVNX0JJVCAgICAg ICAgIEJJVDANCj4gKyNkZWZpbmUgQ0s0MTBfR0VORVJBVE9SX0NMT0NLX0ZSRUVSVU5fQllURSAg ICAgICAgICA0DQo+ICsjZGVmaW5lIENLNDEwX0dFTkVSQVRPUl9DTE9DS19GUkVFUlVOX0JJVCAg ICAgICAgICAgKEJJVDAgfCBCSVQxIHwgQklUMikNCj4gKw0KPiArLy8NCj4gKy8vIENLNTA1IERl ZmluaXRpb25zDQo+ICsvLw0KPiArI2RlZmluZSBWRl9DSzUwNV9HRU5FUkFUT1JfSUQgICAgICAg ICAgICAgICAgICAgICAgIDB4NQ0KPiArI2RlZmluZSBDSzUwNV9HRU5FUkFUT1JfSUQgICAgICAg ICAgICAgICAgICAgICAgICAgIDB4NSAgLy8gQ29uZmlybWVkIHJlYWRvdXQgaXMgNQ0KPiArI2Rl ZmluZSBDSzUwNV9HRU5FUkFUT1JfU1BSRUFEX1NQRUNUUlVNX0JZVEUgICAgICAgIDQNCj4gKyNk ZWZpbmUgQ0s1MDVfR0VORVJBVE9SX1NQUkVBRF9TUEVDVFJVTV9CSVQgICAgICAgICAoQklUMCB8 IEJJVDEpDQo+ICsjZGVmaW5lIENLNTA1X0dFTkVSQVRPUl9QRVJDRU5UX1NQUkVBRF9CWVRFICAg ICAgMQ0KPiArI2RlZmluZSBDSzUwNV9HRU5FUkFUT1JfUEVSQ0VOVF9NQVNLICAgICAgICB+KDB4 RSkNCj4gKyNkZWZpbmUgQ0s1MDVfR0VORVJBVE9SX1BFUkNFTlRfMjUwX1ZBTFVFICAgICAgMHhD DQo+ICsjZGVmaW5lIENLNTA1X0dFTkVSQVRPUl9QRVJDRU5UXzA1MF9WQUxVRSAgICAgIDB4NA0K PiArI2RlZmluZSBDSzUwNV9HRU5FUkFUT1JfUEVSQ0VOVF8wMDBfVkFMVUUgICAgICAweDINCj4g Kw0KPiArLy8NCj4gKy8vIElEVCBEZWZpbml0aW9ucw0KPiArLy8NCj4gKyNkZWZpbmUgSURUX0dF TkVSQVRPUl9JRF9SRVZBICAgICAgICAgICAgICAgICAgICAgICAweDEgICAgLy9JRFQgUmV2IEEN Cj4gKyNkZWZpbmUgSURUUmV2QV9HRU5FUkFUT1JfU1BSRUFEX1NQRUNUUlVNX0JZVEUgICAgICAg IDANCj4gKyNkZWZpbmUgSURUUmV2QV9HRU5FUkFUT1JfU1BSRUFEX1NQRUNUUlVNX0JJVCAgICAg ICBCSVQwDQo+ICsjZGVmaW5lIElEVFJldkFfR0VORVJBVE9SX1BFUkNFTlRfU1BSRUFEX0JZVEUg ICAgICA1DQo+ICsjZGVmaW5lIElEVFJldkFfR0VORVJBVE9SX1BFUkNFTlRfMjUwX1ZBTFVFICAg ICAgMHhGDQo+ICsjZGVmaW5lIElEVFJldkFfR0VORVJBVE9SX1BFUkNFTlRfMDUwX1ZBTFVFICAg ICAgMHgzDQo+ICsjZGVmaW5lIElEVFJldkFfR0VORVJBVE9SX1BFUkNFTlRfMDAwX1ZBTFVFICAg ICAgMHhFDQo+ICsjZGVmaW5lIElEVFJldkFfR0VORVJBVE9SX1BFUkNFTlRfTUFTSyAgICAgICAg figweEYpDQo+ICsNCj4gKyNkZWZpbmUgSURUX0dFTkVSQVRPUl9JRF9SRVZCICAgICAgICAgICAg ICAgICAgICAgICAweDExICAvL0lEVCBSZXZCDQo+ICsjZGVmaW5lIElEVF9HRU5FUkFUT1JfSURf UkVWRCAgICAgICAgICAgICAgICAgICAgICAgMHgyMSAgLy9JRFQgUmV2RA0KPiArDQo+ICsvLw0K PiArLy8gQ0xPQ0sgQ09OVFJPTExFUg0KPiArLy8gU21CdXMgYWRkcmVzcyB0byByZWFkIERJTU0g U1BEDQo+ICsvLw0KPiArI2RlZmluZSBTTUJVU19CQVNFX0FERFJFU1MgICAgICAgICAgICAgICAg ICAweEVGQTANCj4gKyNkZWZpbmUgU01CVVNfQlVTX0RFVl9GVU5DICAgICAgICAgICAgICAgICAg MHgxRjAzMDANCj4gKyNkZWZpbmUgUExBVEZPUk1fTlVNX1NNQlVTX1JTVkRfQUREUkVTU0VTICAg NA0KPiArI2RlZmluZSBTTUJVU19BRERSX0NIX0FfMSAgICAgICAgICAgICAgICAgICAweEEwDQo+ ICsjZGVmaW5lIFNNQlVTX0FERFJfQ0hfQV8yICAgICAgICAgICAgICAgICAgIDB4QTINCj4gKyNk ZWZpbmUgU01CVVNfQUREUl9DSF9CXzEgICAgICAgICAgICAgICAgICAgMHhBNA0KPiArI2RlZmlu ZSBTTUJVU19BRERSX0NIX0JfMiAgICAgICAgICAgICAgICAgICAweEE2DQo+ICsNCj4gKy8vDQo+ ICsvLyBCaXRzIGZvciBGV0hfREVDX0VOMe+/vUZpcm13YXJlIEh1YiBEZWNvZGUgRW5hYmxlIFJl Z2lzdGVyIChMUEMNCj4gSS9G77+9RDMxOkYwKQ0KPiArLy8NCj4gKyNkZWZpbmUgICBCX0lDSF9M UENfRldIX0JJT1NfREVDX0YwICAgICAgICAgICAgIDB4NDAwMA0KPiArI2RlZmluZSAgIEJfSUNI X0xQQ19GV0hfQklPU19ERUNfRTAgICAgICAgICAgICAgMHgxMDAwDQo+ICsjZGVmaW5lICAgQl9J Q0hfTFBDX0ZXSF9CSU9TX0RFQ19FOCAgICAgICAgICAgICAweDIwMDANCj4gKyNkZWZpbmUgICBC X0lDSF9MUENfRldIX0JJT1NfTEVHX0YgICAgICAgICAgICAgIDB4MDA4MA0KPiArI2RlZmluZSAg IEJfSUNIX0xQQ19GV0hfQklPU19MRUdfRSAgICAgICAgICAgICAgMHgwMDQwDQo+ICsNCj4gKw0K PiArLy8NCj4gKy8vIEFuIGFyYml0cmFyeSBtYXhpbXVtIGxlbmd0aCBmb3IgY2xvY2sgZ2VuZXJh dG9yIGJ1ZmZlcnMNCj4gKy8vDQo+ICsjZGVmaW5lIE1BWF9DTE9DS19HRU5FUkFUT1JfQlVGRkVS X0xFTkdUSCAgICAgICAgICAgMHgyMA0KPiArDQo+ICsvLw0KPiArLy8gU21CdXMgQnVzIERldmlj ZSBGdW5jdGlvbiBhbmQgUmVnaXN0ZXIgRGVmaW5pdGlvbnMNCj4gKy8vDQo+ICsjZGVmaW5lIFNN QlVTX0JVU19OVU0gICAgICAgICAgMA0KPiArI2RlZmluZSBTTUJVU19ERVZfTlVNICAgICAgICAg IDMxDQo+ICsjZGVmaW5lIFNNQlVTX0ZVTkNfTlVNICAgICAgICAgIDMNCj4gKyNkZWZpbmUgU01C VVNfQlVTX0RFVl9GVU5DX05VTSAgICBcDQo+ICsgICAgICBTQl9QQ0lfQ0ZHX0FERFJFU1MoU01C VVNfQlVTX05VTSwgU01CVVNfREVWX05VTSwNCj4gU01CVVNfRlVOQ19OVU0sIDApDQo+ICsNCj4g Ky8vDQo+ICsvL0lDSDc6IFNNQnVzIEkvTyBTcGFjZSBFcXVhdGVzOw0KPiArLy8NCj4gKyNkZWZp bmUgIEJJVF9TTEFWRV9BRERSICAgIEJJVDAwDQo+ICsjZGVmaW5lICBCSVRfQ09NTUFORCAgICAg IEJJVDAxDQo+ICsjZGVmaW5lICBCSVRfREFUQSAgICAgIEJJVDAyDQo+ICsjZGVmaW5lICBCSVRf Q09VTlQgICAgICBCSVQwMw0KPiArI2RlZmluZSAgQklUX1dPUkQgICAgICBCSVQwNA0KPiArI2Rl ZmluZSAgQklUX0NPTlRST0wgICAgICBCSVQwNQ0KPiArI2RlZmluZSAgQklUX1BFQyAgICAgICAg QklUMDYNCj4gKyNkZWZpbmUgIEJJVF9SRUFEICAgICAgQklUMDcNCj4gKyNkZWZpbmUgIFNNQlVT X0lPX1JFQURfQklUICBCSVQwMA0KPiArDQo+ICsNCj4gKyNkZWZpbmUgIFNNQl9DTURfUVVJQ0sg ICAgICAweDAwDQo+ICsjZGVmaW5lICBTTUJfQ01EX0JZVEUgICAgICAweDA0DQo+ICsjZGVmaW5l ICBTTUJfQ01EX0JZVEVfREFUQSAgICAweDA4DQo+ICsjZGVmaW5lICBTTUJfQ01EX1dPUkRfREFU QSAgICAweDBDDQo+ICsjZGVmaW5lICBTTUJfQ01EX1BST0NFU1NfQ0FMTCAgMHgxMA0KPiArI2Rl ZmluZSAgU01CX0NNRF9CTE9DSyAgICAgIDB4MTQNCj4gKyNkZWZpbmUgIFNNQl9DTURfSTJDX1JF QUQgICAgMHgxOA0KPiArI2RlZmluZSAgU01CX0NNRF9SRVNFUlZFRCAgICAweDFjDQo+ICsNCj4g KyNkZWZpbmUgIEhTVF9TVFNfQllURV9ET05FIDB4ODANCj4gKyNkZWZpbmUgU01CX0hTVF9TVFMg ICAgMHgwMDANCj4gKyNkZWZpbmUgU01CX0hTVF9DTlQgICAgMHgwMDINCj4gKyNkZWZpbmUgU01C X0hTVF9DTUQgICAgMHgwMDMNCj4gKyNkZWZpbmUgU01CX0hTVF9BREQgICAgMHgwMDQNCj4gKyNk ZWZpbmUgU01CX0hTVF9EQVRfMCAgICAweDAwNQ0KPiArI2RlZmluZSBTTUJfSFNUX0RBVF8xICAg IDB4MDA2DQo+ICsjZGVmaW5lIFNNQl9IU1RfQkxLX0RBVCAgIDB4MDA3DQo+ICsjZGVmaW5lIFNN Ql9QRUMgICAgIDB4MDA4DQo+ICsjZGVmaW5lIFNNQl9SQ1ZfU0xWQSAgICAweDAwOQ0KPiArI2Rl ZmluZSBTTUJfU0xWX0RBVCAgICAweDAwQQ0KPiArI2RlZmluZSBTTUJfQVVYX1NUUyAgICAweDAw Qw0KPiArI2RlZmluZSBTTUJfQVVYX0NUTCAgICAweDAwRA0KPiArI2RlZmluZSBTTUJfU01MSU5L X1BJTl9DVEwgIDB4MDBFDQo+ICsjZGVmaW5lIFNNQl9TTUJVU19QSU5fQ1RMICAweDAwRg0KPiAr I2RlZmluZSBTTUJfU0xWX1NUUyAgICAweDAxMA0KPiArI2RlZmluZSBTTUJfU0xWX0NNRCAgICAw eDAxMQ0KPiArI2RlZmluZSBTTUJfTlRGWV9EQUREUiAgICAweDAxNA0KPiArI2RlZmluZSBTTUJf TlRGWV9ETE9XICAgIDB4MDE2DQo+ICsjZGVmaW5lIFNNQl9OVEZZX0RISUdIICAgIDB4MDE3DQo+ ICsNCj4gKy8vDQo+ICsvLyBQQ0kgUmVnaXN0ZXIgRGVmaW5pdGlvbnMgLSB1c2UgU21idXNQb2xp Y3lQcGktPlBjaUFkZHJlc3MgKyBvZmZzZXQgbGlzdGVkDQo+IGJlbG93DQo+ICsvLw0KPiArI2Rl ZmluZSBSX0NPTU1BTkQgICAgICAgICAgICAgICAgICAgICAweDA0ICAgICAgLy8gUENJIENvbW1h bmQgUmVnaXN0ZXIsIDE2Yml0DQo+ICsjZGVmaW5lICAgQl9JT1NFICAgICAgICAgICAgICAgICAg ICAgICAgMHgwMSAgICAvLyBSVw0KPiArI2RlZmluZSBSX0JBU0VfQUREUkVTUyAgICAgICAgICAg ICAgICAweDIwICAgICAgLy8gUENJIEJBUiBmb3IgU01CdXMgSS9PDQo+ICsjZGVmaW5lICAgQl9C QVNFX0FERFJFU1MgICAgICAgICAgICAgICAgMHhGRkUwICAvLyBSVw0KPiArI2RlZmluZSBSX0hP U1RfQ09ORklHVVJBVElPTiAgICAgICAgICAweDQwICAgICAgLy8gU01CdXMgSG9zdA0KPiBDb25m aWd1cmF0aW9uIFJlZ2lzdGVyDQo+ICsjZGVmaW5lICAgQl9IU1RfRU4gICAgICAgICAgICAgICAg ICAgICAgMHgwMSAgICAvLyBSVw0KPiArI2RlZmluZSAgIEJfU01CX1NNSV9FTiAgICAgICAgICAg ICAgICAgIDB4MDIgICAgLy8gUlcNCj4gKyNkZWZpbmUgICBCX0kyQ19FTiAgICAgICAgICAgICAg ICAgICAgICAweDA0ICAgIC8vIFJXDQo+ICsvLw0KPiArLy8gSS9PIFJlZ2lzdGVyIERlZmluaXRp b25zIC0gdXNlIFNtYnVzUG9saWN5UHBpLT5CYXNlQWRkcmVzcyArIG9mZnNldA0KPiBsaXN0ZWQg YmVsb3cNCj4gKy8vDQo+ICsjZGVmaW5lIEhPU1RfU1RBVFVTX1JFR0lTVEVSICAgICAgMHgwMCAg Ly8gSG9zdCBTdGF0dXMgUmVnaXN0ZXIgUi9XDQo+ICsjZGVmaW5lICAgIEhTVF9TVFNfSE9TVF9C VVNZICAgICAgICAgICAgICAgICAgMHgwMSAgLy8gUk8NCj4gKyNkZWZpbmUgICBIU1RfU1RTX0lO VFIgICAgICAgICAgICAgICAgICAweDAyICAvLyBSL1dDDQo+ICsjZGVmaW5lICAgSFNUX1NUU19E RVZfRVJSICAgICAgICAgICAgICAgICAgMHgwNCAgLy8gUi9XQw0KPiArI2RlZmluZSAgIEhTVF9T VFNfQlVTX0VSUiAgICAgICAgICAgICAgICAgIDB4MDggIC8vIFIvV0MNCj4gKyNkZWZpbmUgICBI U1RfU1RTX0ZBSUxFRCAgICAgICAgICAgICAgICAgIDB4MTAgIC8vIFIvV0MNCj4gKyNkZWZpbmUg ICBTTUJVU19CX1NNQkFMRVJUX1NUUyAgICAgICAgICAweDIwICAvLyBSL1dDDQo+ICsjZGVmaW5l ICAgSFNUX1NUU19JTlVTRSAgICAgICAgICAgICAgICAgICAweDQwICAvLyBSL1dDDQo+ICsjZGVm aW5lICAgU01CVVNfQl9CWVRFX0RPTkVfU1RTICAgICAgICAgMHg4MCAgLy8gUi9XQw0KPiArI2Rl ZmluZSAgIFNNQlVTX0JfSFNUU19BTEwgICAgICAgICAgICAgIDB4RkYgIC8vIFIvV0MNCj4gKyNk ZWZpbmUgIEhPU1RfQ09OVFJPTF9SRUdJU1RFUiAgICAgICAgICAgICAgICAgIDB4MDIgIC8vIEhv c3QgQ29udHJvbCBSZWdpc3Rlcg0KPiBSL1cNCj4gKyNkZWZpbmUgICAgSFNUX0NOVF9JTlRSRU4g ICAgICAgICAgICAgICAgMHgwMSAgLy8gUlcNCj4gKyNkZWZpbmUgICBIU1RfQ05UX0tJTEwgICAg ICAgICAgICAgICAgICAweDAyICAvLyBSVw0KPiArI2RlZmluZSAgIFNNQlVTX0JfU01CX0NNRCAg ICAgICAgICAgICAgIDB4MUMgIC8vIFJXDQo+ICsjZGVmaW5lICAgICBTTUJVU19WX1NNQl9DTURf UVVJQ0sgICAgICAgICAweDAwDQo+ICsjZGVmaW5lICAgICBTTUJVU19WX1NNQl9DTURfQllURSAg ICAgICAgICAweDA0DQo+ICsjZGVmaW5lICAgICBTTUJVU19WX1NNQl9DTURfQllURV9EQVRBICAg ICAweDA4DQo+ICsjZGVmaW5lICAgICBTTUJVU19WX1NNQl9DTURfV09SRF9EQVRBICAgICAweDBD DQo+ICsjZGVmaW5lICAgICBTTUJVU19WX1NNQl9DTURfUFJPQ0VTU19DQUxMICAweDEwDQo+ICsj ZGVmaW5lICAgICBTTUJVU19WX1NNQl9DTURfQkxPQ0sgICAgICAgICAweDE0DQo+ICsjZGVmaW5l ICAgICBTTUJVU19WX1NNQl9DTURfSUlDX1JFQUQgICAgICAweDE4DQo+ICsjZGVmaW5lICAgU01C VVNfQl9MQVNUX0JZVEUgICAgICAgICAgICAgMHgyMCAgLy8gV08NCj4gKyNkZWZpbmUgICBIU1Rf Q05UX1NUQVJUICAgICAgICAgICAgICAgICAweDQwICAvLyBXTw0KPiArI2RlZmluZSAgIEhTVF9D TlRfUEVDX0VOICAgICAgICAgICAgICAgIDB4ODAgIC8vIFJXDQo+ICsjZGVmaW5lICBIT1NUX0NP TU1BTkRfUkVHSVNURVIgICAgICAgICAgICAgICAgICAweDAzICAvLyBIb3N0IENvbW1hbmQNCj4g UmVnaXN0ZXIgUi9XDQo+ICsjZGVmaW5lICBYTUlUX1NMQVZFX0FERFJFU1NfUkVHSVNURVIgICAg ICAgICAgICAgICAgICAgMHgwNCAgLy8gVHJhbnNtaXQgU2xhdmUNCj4gQWRkcmVzcyBSZWdpc3Rl ciBSL1cNCj4gKyNkZWZpbmUgICBTTUJVU19CX1JXX1NFTCAgICAgICAgICAgICAgICAweDAxICAv LyBSVw0KPiArI2RlZmluZSAgIFNNQlVTX0JfQUREUkVTUyAgICAgICAgICAgICAgIDB4RkUgIC8v IFJXDQo+ICsjZGVmaW5lICBIT1NUX0RBVEFfMF9SRUdJU1RFUiAgICAgICAgICAgICAgICAgICAw eDA1ICAvLyBEYXRhIDAgUmVnaXN0ZXIgUi9XDQo+ICsjZGVmaW5lICBIT1NUX0RBVEFfMV9SRUdJ U1RFUiAgICAgICAgICAgICAgICAgICAweDA2ICAvLyBEYXRhIDEgUmVnaXN0ZXIgUi9XDQo+ICsj ZGVmaW5lICBIT1NUX0JMT0NLX0RBVEFfQllURV9SRUdJU1RFUiAgICAgICAgICAweDA3ICAvLyBI b3N0IEJsb2NrIERhdGENCj4gUmVnaXN0ZXIgUi9XDQo+ICsjZGVmaW5lIFNNQlVTX1JfUEVDICAg ICAgICAgICAgICAgICAgIDB4MDggIC8vIFBhY2tldCBFcnJvciBDaGVjayBEYXRhIFJlZ2lzdGVy DQo+IFIvVw0KPiArI2RlZmluZSBTTUJVU19SX1JTQSAgICAgICAgICAgICAgICAgICAweDA5ICAv LyBSZWNlaXZlIFNsYXZlIEFkZHJlc3MgUmVnaXN0ZXINCj4gUi9XDQo+ICsjZGVmaW5lICAgU01C VVNfQl9TTEFWRV9BRERSICAgICAgICAgICAgMHg3RiAgLy8gUlcNCj4gKyNkZWZpbmUgU01CVVNf Ul9TRCAgICAgICAgICAgICAgICAgICAgMHgwQSAgLy8gUmVjZWl2ZSBTbGF2ZSBEYXRhIFJlZ2lz dGVyIFIvVw0KPiArI2RlZmluZSBTTUJVU19SX0FVWFMgICAgICAgICAgICAgICAgICAweDBDICAv LyBBdXhpbGlhcnkgU3RhdHVzIFJlZ2lzdGVyIFIvV0MNCj4gKyNkZWZpbmUgICBTTUJVU19CX0NS Q0UgICAgICAgICAgICAgICAgICAweDAxICAvL1IvV0MNCj4gKyNkZWZpbmUgQVVYSUxJQVJZX0NP TlRST0xfUkVHSVNURVIgICAgICAgICAgICAgICAgICAweDBEICAvLyBBdXhpbGlhcnkgQ29udHJv bA0KPiBSZWdpc3RlciBSL1cNCj4gKyNkZWZpbmUgICBTTUJVU19CX0FBQyAgICAgICAgICAgICAg ICAgIDB4MDEgIC8vUi9XDQo+ICsjZGVmaW5lICAgU01CVVNfQl9FMzJCICAgICAgICAgICAgICAg ICAweDAyICAvL1IvVw0KPiArI2RlZmluZSAgU01CVVNfUl9TTUxDICAgICAgICAgICAgICAgICAg MHgwRSAgLy8gU01MSU5LIFBpbiBDb250cm9sIFJlZ2lzdGVyIFIvVw0KPiArI2RlZmluZSAgIFNN QlVTX0JfU01MSU5LMF9DVVJfU1RTICAgICAgIDB4MDEgIC8vIFJPDQo+ICsjZGVmaW5lICAgU01C VVNfQl9TTUxJTksxX0NVUl9TVFMgICAgICAgMHgwMiAgLy8gUk8NCj4gKyNkZWZpbmUgICBTTUJV U19CX1NNTElOS19DTEtfQ1RMICAgICAgICAweDA0ICAvLyBSVw0KPiArI2RlZmluZSBTTUJVU19S X1NNQkMgICAgICAgICAgICAgICAgICAweDBGICAvLyBTTUJ1cyBQaW4gQ29udHJvbCBSZWdpc3Rl ciBSL1cNCj4gKyNkZWZpbmUgICBTTUJVU19CX1NNQkNMS19DVVJfU1RTICAgICAgICAweDAxICAv LyBSTw0KPiArI2RlZmluZSAgIFNNQlVTX0JfU01CREFUQV9DVVJfU1RTICAgICAgIDB4MDIgIC8v IFJPDQo+ICsjZGVmaW5lICAgU01CVVNfQl9TTUJDTEtfQ1RMICAgICAgICAgICAgMHgwNCAgLy8g UlcNCj4gKyNkZWZpbmUgU01CVVNfUl9TU1RTICAgICAgICAgICAgICAgICAgMHgxMCAgLy8gU2xh dmUgU3RhdHVzIFJlZ2lzdGVyIFIvV0MNCj4gKyNkZWZpbmUgICBTTUJVU19CX0hPU1RfTk9USUZZ X1NUUyAgICAgICAweDAxICAvLyBSL1dDDQo+ICsjZGVmaW5lIFNNQlVTX1JfU0NNRCAgICAgICAg ICAgICAgICAgIDB4MTEgIC8vIFNsYXZlIENvbW1hbmQgUmVnaXN0ZXIgUi9XDQo+ICsjZGVmaW5l ICAgU01CVVNfQl9IT1NUX05PVElGWV9JTlRSRU4gICAgMHgwMSAgLy8gUi9XDQo+ICsjZGVmaW5l ICAgU01CVVNfQl9IT1NUX05PVElGWV9XS0VOICAgICAgMHgwMiAgLy8gUi9XDQo+ICsjZGVmaW5l ICAgU01CVVNfQl9TTUJBTEVSVF9ESVMgICAgICAgICAgMHgwNCAgLy8gUi9XDQo+ICsjZGVmaW5l IFNNQlVTX1JfTkRBICAgICAgICAgICAgICAgICAgIDB4MTQgIC8vIE5vdGlmeSBEZXZpY2UgQWRk cmVzcyBSZWdpc3Rlcg0KPiBSTw0KPiArI2RlZmluZSAgIFNNQlVTX0JfREVWSUNFX0FERFJFU1Mg ICAgICAgIDB4RkUgIC8vIFJPDQo+ICsjZGVmaW5lIFNNQlVTX1JfTkRMQiAgICAgICAgICAgICAg ICAgIDB4MTYgIC8vIE5vdGlmeSBEYXRhIExvdyBCeXRlIFJlZ2lzdGVyIFJPDQo+ICsjZGVmaW5l IFNNQlVTX1JfTkRIQiAgICAgICAgICAgICAgICAgIDB4MTcgIC8vIE5vdGlmeSBEYXRhIEhpZ2gg Qnl0ZSBSZWdpc3Rlcg0KPiBSTw0KPiArI2RlZmluZSBCVVNfVFJJRVMgICAgICAgICAgIDMgICAg ICAgLy8gSG93IG1hbnkgdGltZXMgdG8gcmV0cnkgb24gQnVzIEVycm9ycw0KPiArI2RlZmluZSBT TUJVU19OVU1fUkVTRVJWRUQgIDIxICAgICAgLy8gTnVtYmVyIG9mIGRldmljZSBhZGRyZXNzZXMN Cj4gdGhhdCBhcmUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAg cmVzZXJ2ZWQgYnkgdGhlIFNNQnVzIHNwZWMuDQo+ICsjZGVmaW5lIFNNQlVTX0FERFJFU1NfQVJQ ICAgMHhDMiA+PiAxDQo+ICsjZGVmaW5lICAgU01CVVNfREFUQV9QUkVQQVJFX1RPX0FSUCAgIDB4 MDENCj4gKyNkZWZpbmUgICBTTUJVU19EQVRBX1JFU0VUX0RFVklDRSAgICAgMHgwMg0KPiArI2Rl ZmluZSAgIFNNQlVTX0RBVEFfR0VUX1VESURfR0VORVJBTCAweDAzDQo+ICsjZGVmaW5lICAgU01C VVNfREFUQV9BU1NJR05fQUREUkVTUyAgIDB4MDQNCj4gKyNkZWZpbmUgU01CVVNfR0VUX1VESURf TEVOR1RIIDE3ICAgIC8vIDE2IGJ5dGUgVURJRCArIDEgYnl0ZSBhZGRyZXNzDQo+ICsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArQ29uZmlndXJlUGxhdGZvcm1DbG9ja3MgKA0KPiArICBJTiBFRklf UEVJX1NFUlZJQ0VTICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUEVJX05P VElGWV9ERVNDUklQVE9SICAqTm90aWZ5RGVzY3JpcHRvciwNCj4gKyAgSU4gVk9JRCAgICAgICAg ICAgICAgICAgICAgICAgKlNtYnVzUHBpDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArI2VuZGlmDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L011bHRpUGxhdGZvcm1MaWIvQm9hcmRHcGlvcy9CDQo+IG9hcmRHcGlvcy5jDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJk R3Bpb3MvQg0KPiBvYXJkR3Bpb3MuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi41NzkwZDA0NWZjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJk R3Bpb3MvQg0KPiBvYXJkR3Bpb3MuYw0KPiBAQCAtMCwwICsxLDUzMSBAQA0KPiArLyoqIEBmaWxl DQo+ICsgIEdwaW8gc2V0dGluZyBmb3IgbXVsdGlwbGF0Zm9ybS4uDQo+ICsNCj4gKyAgQ29weXJp Z2h0IChjKSAyMDEzIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8 Qm9hcmRHcGlvcy5oPg0KPiArI2luY2x1ZGUgPEd1aWQvU2V0dXBWYXJpYWJsZS5oPg0KPiArDQo+ ICsvLw0KPiArLy9BbHBpbmVWYWxsZXkgcGxhdGZvcm0gb2NkZSBiZWdpbg0KPiArLy8NCj4gKyNk ZWZpbmUgQVZfU0NfUkVHX0dQSU9TX01VWEVTX1NFTDAgMHg0OA0KPiArI2RlZmluZSBBVl9TQ19S RUdfR1BJT1NfTVVYRVNfU0VMMSAweDRDDQo+ICsjZGVmaW5lIEFWX1NDX1JFR19HUElPU19NVVhF U19TRUwyIDB4NTANCj4gKyNkZWZpbmUgQVZfU0NfUkVHX0dQSU9TX01VWEVTX0VOMCAgMHg1NA0K PiArI2RlZmluZSBBVl9TQ19SRUdfR1BJT1NfTVVYRVNfRU4xICAweDU4DQo+ICsjZGVmaW5lIEFW X1NDX1JFR19HUElPU19NVVhFU19FTjIgIDB4NUMNCj4gKy8vDQo+ICsvL0FscGluZVZhbGxleSBw bGF0Zm9ybSBjb2RlIGVuZA0KPiArLy8NCj4gKw0KPiArRUZJX0dVSUQgIGdQZWlTbWJ1c1BwaUd1 aWQgICAgICAgICAgICAgICA9IEVGSV9QRUlfU01CVVNfUFBJX0dVSUQ7DQo+ICsNCj4gKy8qKg0K PiArICBAcGFyYW0gTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgVGhlIGZ1 bmN0aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRV Uw0KPiArQ29uZmlndXJlUGxhdGZvcm1TeXNDdHJsR3BpbyAoDQo+ICsgIElOIEVGSV9QRUlfU0VS VklDRVMgICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1BFSV9O T1RJRllfREVTQ1JJUFRPUiAgICAgICAgICAqTm90aWZ5RGVzY3JpcHRvciwNCj4gKyAgSU4gVk9J RCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqU21idXNQcGkNCj4gKyAgKQ0KPiArew0K PiArICAvLw0KPiArICAvL0FscGluZVZhbGxleSBwbGF0Zm9ybSBjb2RlIGJlZ2luDQo+ICsgIC8v DQo+ICsgIC8vIEluaXRpYWxpemUgR1BJTyBTZXR0aW5nczoNCj4gKyAgLy8NCj4gKyAgVUlOVDMy ICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAgICAgICAg ICpQbGF0Zm9ybUluZm9Ib2I7DQo+ICsNCj4gKyAgIERFQlVHICgoRUZJX0RfSU5GTywgIkNvbmZp Z3VyZVBsYXRmb3JtU3lzQ3RybEdwaW8oKS4uLlxuIikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IE9idGFpbiBQbGF0Zm9ybSBJbmZvIGZyb20gSE9CLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBH ZXRQbGF0Zm9ybUluZm9Ib2IgKChjb25zdCBFRklfUEVJX1NFUlZJQ0VTICoqKVBlaVNlcnZpY2Vz LA0KPiAmUGxhdGZvcm1JbmZvSG9iKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgR1BJTyBzZXR0aW5ncyBhcmUgZGVwZW5kZW50IHVw b24gdGhlIHBsYXRmb3JtLiAgT2J0YWluIHRoZSBCb2FyZA0KPiBJRCB0aHJvdWdoDQo+ICsgIC8v IHRoZSBFQyB0byBkZXRlcm1pbmUgdGhlIGN1cnJlbnQgcGxhdGZvcm0uDQo+ICsgIC8vDQo+ICsg ICBERUJVRyAoKEVGSV9EX0lORk8sICJQbGF0Zm9ybSBGbGF2b3IgfCBCb2FyZCBJRCA9IDB4JVgg fCAweCVYXG4iLA0KPiBQbGF0Zm9ybUluZm9Ib2ItPlBsYXRmb3JtRmxhdm9yLCBQbGF0Zm9ybUlu Zm9Ib2ItPkJvYXJkSWQpKTsNCj4gKw0KPiArDQo+ICsNCj4gKyAgU3RhdHVzID0gKCoqUGVpU2Vy dmljZXMpLkxvY2F0ZVBwaSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKGNvbnN0 IEVGSV9QRUlfU0VSVklDRVMgKiopUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJmdQZWlTbWJ1c1BwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZTbWJ1c1BwaQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gU2VsZWN0L21vZGlmeSB0aGUgR1BJTyBpbml0aWFsaXphdGlvbiBkYXRh IGJhc2VkIG9uIHRoZSBCb2FyZCBJRC4NCj4gKyAgLy8NCj4gKyAgc3dpdGNoIChQbGF0Zm9ybUlu Zm9Ib2ItPkJvYXJkSWQpDQo+ICsgIHsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgU3RhdHVz ID0gRUZJX1NVQ0NFU1M7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBEbyBub3RoaW5n IGZvciBvdGhlciBSVlAgYm9hcmRzLg0KPiArICAgICAgLy8NCj4gKyAgICAgIGJyZWFrOw0KPiAr ICB9DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gK3N0YXRpYyBFRklfUEVJX05P VElGWV9ERVNDUklQVE9SICAgIG1Ob3RpZnlMaXN0W10gPSB7DQo+ICsgIHsNCj4gKyAgICBFRklf UEVJX1BQSV9ERVNDUklQVE9SX05PVElGWV9DQUxMQkFDS3wNCj4gRUZJX1BFSV9QUElfREVTQ1JJ UFRPUl9URVJNSU5BVEVfTElTVCwNCj4gKyAgICAmZ0VmaVBlaVNtYnVzUHBpR3VpZCwNCj4gKyAg ICBDb25maWd1cmVQbGF0Zm9ybVN5c0N0cmxHcGlvDQo+ICsgIH0NCj4gK307DQo+ICsNCj4gK0VG SV9TVEFUVVMNCj4gK0luc3RhbGxQbGF0Zm9ybVN5c0N0cmxHUElPTm90aWZ5ICgNCj4gKyAgSU4g Q09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiAr ICBERUJVRyAoKEVGSV9EX0lORk8sICJJbnN0YWxsUGxhdGZvcm1TeXNDdHJsR1BJT05vdGlmeSgp Li4uXG4iKSk7DQo+ICsNCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPk5vdGlmeVBwaShQ ZWlTZXJ2aWNlcywgJm1Ob3RpZnlMaXN0WzBdKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3Rh dHVzKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArDQo+ICt9DQo+ICsNCj4gKyNkZWZp bmUgVl9QQ0hfSUxCX0lSUUVfVUFSVElSUUVOX0lSUTMgICAgICAgICAgICAgQklUMyAvLyBVQVJU IElSUTMNCj4gRW5hYmxlDQo+ICsNCj4gKy8qKg0KPiArICBSZXR1cm5zIHRoZSBDb3JyZWN0IEdQ SU8gdGFibGUgZm9yIE1vYmlsZS9EZXNrdG9wIHJlc3BlY3RpdmVseS4NCj4gKyAgQmVmb3JlIGNh bGwgaXQsIG1ha2Ugc3VyZSBQbGF0Zm9ybUluZm9Ib2ItPkJvYXJkSWQmUGxhdGZvcm1GbGF2b3Ig aXMgZ2V0DQo+IGNvcnJlY3RseS4NCj4gKw0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgICAgICAg ICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeQ0KPiBQRUlN Lg0KPiArICBAcGFyYW0gUGxhdGZvcm1JbmZvSG9iICAgICAgICAgUGxhdGZvcm1JbmZvSG9iIHBv aW50ZXIgd2l0aA0KPiBQbGF0Zm9ybUZsYXZvciBzcGVjaWZpZWQuDQo+ICsgIEBwYXJhbSBCb2Fy ZElkICAgICAgICAgICAgICAgICBCb2FyZElkIElEIGFzIGRldGVybWluZWQgdGhyb3VnaCB0aGUg RUMuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRoZSBmdW5jdGlv biBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1Ig ICAgICAgS1NDIGZhaWxzIHRvIHJlc3BvbmQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0K PiArTXVsdGlQbGF0Zm9ybUdwaW9UYWJsZUluaXQgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NF UlZJQ0VTICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUExBVEZPUk1fSU5GT19IT0Ig ICAgICAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9QRUlfUkVBRF9PTkxZX1ZBUklBQkxF Ml9QUEkgKlBlaVJlYWRPbmx5VmFyUHBpOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgIFZhclNpemU7DQo+ICsgIFNZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICAgICAgU3lz dGVtQ29uZmlndXJhdGlvbjsNCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0lORk8sICJNdWx0aVBs YXRmb3JtR3Bpb1RhYmxlSW5pdCgpLi4uXG4iKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2Vs ZWN0L21vZGlmeSB0aGUgR1BJTyBpbml0aWFsaXphdGlvbiBkYXRhIGJhc2VkIG9uIHRoZSBCb2Fy ZCBJRC4NCj4gKyAgLy8NCj4gKyAgc3dpdGNoIChQbGF0Zm9ybUluZm9Ib2ItPkJvYXJkSWQpIHsN Cj4gKw0KPiArICBjYXNlIEJPQVJEX0lEX01JTk5PVzI6IC8vIE1pbm5vdzINCj4gKyAgY2FzZSBC T0FSRF9JRF9NSU5OT1cyX1RVUkJPVDoNCj4gKyAgIFN0YXR1cyA9ICgqKlBlaVNlcnZpY2VzKS5M b2NhdGVQcGkgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlQZWlSZWFkT25seVZhcmlhYmxl MlBwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICh2b2lkICoqKSZQZWlSZWFkT25seVZhclBwaQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAg ICBWYXJTaXplID0gc2l6ZW9mIChTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVz ID0gUGVpUmVhZE9ubHlWYXJQcGktPkdldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQZWlSZWFkT25seVZhclBwaSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQTEFURk9STV9TRVRVUF9WQVJJQUJMRV9OQU1FLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZnRWZpU2V0dXBWYXJpYWJsZUd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24uR3Bp b1dha2VDYXBhYmlsaXR5ID09IDEpIHsNCj4gKyAgICAgIFBsYXRmb3JtSW5mb0hvYi0+UGxhdGZv cm1DZmlvRGF0YSAgICAgPQ0KPiAoRUZJX1BIWVNJQ0FMX0FERFJFU1MpKFVJTlROKSAmbU1pbm5v dzJDZmlvSW5pdERhdGEyOw0KPiArICAgICB9DQo+ICsgICAgIGVsc2Ugew0KPiArICAgICAgUGxh dGZvcm1JbmZvSG9iLT5QbGF0Zm9ybUNmaW9EYXRhICAgICA9DQo+IChFRklfUEhZU0lDQUxfQURE UkVTUykoVUlOVE4pICZtTWlubm93MkNmaW9Jbml0RGF0YTsNCj4gKyAgICAgfQ0KPiArDQo+ICsg ICAgIFBsYXRmb3JtSW5mb0hvYi0+UGxhdGZvcm1HcGlvRGF0YV9OQyAgPQ0KPiAoRUZJX1BIWVNJ Q0FMX0FERFJFU1MpKFVJTlROKSAmbU1pbm5vdzJfR3Bpb0luaXREYXRhX05DWzBdOw0KPiArICAg ICBQbGF0Zm9ybUluZm9Ib2ItPlBsYXRmb3JtR3Bpb0RhdGFfU0MgID0NCj4gKEVGSV9QSFlTSUNB TF9BRERSRVNTKShVSU5UTikgJm1NaW5ub3cyX0dwaW9Jbml0RGF0YV9TQ1swXTsNCj4gKyAgICAg UGxhdGZvcm1JbmZvSG9iLT5QbGF0Zm9ybUdwaW9EYXRhX1NVUyA9DQo+IChFRklfUEhZU0lDQUxf QUREUkVTUykoVUlOVE4pICZtTWlubm93Ml9HcGlvSW5pdERhdGFfU1VTWzBdOw0KPiArICAgICBi cmVhazsNCj4gKw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0K PiArDQo+ICtVSU5UMzINCj4gK0dQSU9SZWFkMzIgKA0KPiArICBJTiAgVUlOVDMyIG1taW9fY29u Zg0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQzMiBjb25mX3ZhbDsNCj4gKyAgVUlOVDMyIGk7DQo+ ICsgIGNvbmZfdmFsID0gTW1pb1JlYWQzMihtbWlvX2NvbmYpOw0KPiArICBmb3IoaT0wO2k8NTtp Kyspew0KPiArICAgIGlmKGNvbmZfdmFsID09IDB4ZmZmZmZmZmYpDQo+ICsgICAgICBjb25mX3Zh bCA9IE1taW9SZWFkMzIobW1pb19jb25mKTsNCj4gKyAgICAgIGVsc2UNCj4gKyAgICAgICAgYnJl YWs7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gY29uZl92YWw7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArDQo+ICsgIFNldCBHUElPIENPTkYwIGFuZCBQQURfVkFMIHJlZ2lzdGVycyBmb3IgTkMv U0MvU1VTIEdQSU8gY2x1c3RlcnMNCj4gKw0KPiArICBAcGFyYW0gR3Bpb19NbWlvX09mZnNldCAg ICAgICAgICBHUElPX1NDT1JFX09GRlNFVCBvcg0KPiBHUElPX05DT1JFX09GRlNFVCBvciBHUElP X1NTVVNfT0ZGU0VULg0KPiArICBAcGFyYW0gR3Bpb19QaW5fTnVtICAgICAgICAgICAgICBQaW4g bnVtYmVycyB0byBjb25maWcgZm9yIGVhY2ggR1BJTw0KPiBjbHVzdGVycy4NCj4gKyAgQHBhcmFt IEdwaW9fQ29uZl9EYXRhICAgICAgICAgICAgR1BJT19DT05GX1BBRF9JTklUIGRhdGEgYXJyYXkg Zm9yIGVhY2gNCj4gR1BJTyBjbHVzdGVycy4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtJbnRl cm5hbEdwaW9Db25maWcgKA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAgR3Bpb19NbWlvX09m ZnNldCwNCj4gKyAgSU4gVUlOVDMyICAgICAgICAgICAgIEdwaW9fUGluX051bSwNCj4gKyAgR1BJ T19DT05GX1BBRF9JTklUKiAgIEdwaW9fQ29uZl9EYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlO VDMyICAgIGluZGV4Ow0KPiArICBVSU5UMzIgICAgbW1pb19jb25mMDsNCj4gKyAgVUlOVDMyICAg IG1taW9fcGFkdmFsOw0KPiArICBQQURfQ09ORjAgY29uZjBfdmFsOw0KPiArICBQQURfVkFMICAg cGFkX3ZhbDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHUElPIFdFTEwgLS0gTWVtb3J5IGJhc2Ug cmVnaXN0ZXJzDQo+ICsgIC8vDQo+ICsNCj4gKyAgLy8gQTAgQklPUyBTcGVjIGRvZXNuJ3QgbWVu dGlvbiBpdCBhbHRob3VnaCBYMCBkb2VzLiBjb21tZW50IG91dCBub3cuDQo+ICsgIC8vIEdQSU8g d3JpdGUgMHgwMTAwMTAwMiB0byBJT0JBU0UgKyBHcGlvX01taW9fT2Zmc2V0ICsgMHgwOTAwDQo+ ICsgIC8vDQo+ICsgIGZvcihpbmRleD0wOyBpbmRleCA8IEdwaW9fUGluX051bTsgaW5kZXgrKykN Cj4gKyAgew0KPiArICAJLy8NCj4gKyAgICAvLyBDYWxjdWxhdGUgdGhlIE1NSU8gQWRkcmVzcyBm b3Igc3BlY2lmaWMgR1BJTyBwaW4gQ09ORjAgcmVnaXN0ZXINCj4gcG9pbnRlZCBieSBpbmRleC4N Cj4gKyAgICAvLw0KPiArICAgIG1taW9fY29uZjAgPSBJT19CQVNFX0FERFJFU1MgKyBHcGlvX01t aW9fT2Zmc2V0ICsNCj4gUl9QQ0hfQ0ZJT19QQURfQ09ORjAgKyBHcGlvX0NvbmZfRGF0YVtpbmRl eF0ub2Zmc2V0ICogMTY7DQo+ICsgICAgbW1pb19wYWR2YWw9IElPX0JBU0VfQUREUkVTUyArIEdw aW9fTW1pb19PZmZzZXQgKw0KPiBSX1BDSF9DRklPX1BBRF9WQUwgICArIEdwaW9fQ29uZl9EYXRh W2luZGV4XS5vZmZzZXQgKiAxNjsNCj4gKw0KPiArI2lmZGVmIEVGSV9ERUJVRw0KPiArICAgIERF QlVHICgoRUZJX0RfSU5GTywgIiVzLCAiLCBHcGlvX0NvbmZfRGF0YVtpbmRleF0ucGFkX25hbWUp KTsNCj4gKw0KPiArI2VuZGlmDQo+ICsgICAgREVCVUcgKChFRklfRF9JTkZPLCAiVXNhZ2UgPSAl ZCwgRnVuYyMgPSAlZCwgSW50VHlwZSA9ICVkLCBQdWxsDQo+IFVwL0Rvd24gPSAlZCwgTU1JTyBC YXNlID0gMHglMDh4LCAiLA0KPiArICAgICAgR3Bpb19Db25mX0RhdGFbaW5kZXhdLnVzYWdlLA0K PiArICAgICAgR3Bpb19Db25mX0RhdGFbaW5kZXhdLmZ1bmMsDQo+ICsgICAgICBHcGlvX0NvbmZf RGF0YVtpbmRleF0uaW50X3R5cGUsDQo+ICsgICAgICBHcGlvX0NvbmZfRGF0YVtpbmRleF0ucHVs bCwNCj4gKyAgICAgIG1taW9fY29uZjApKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gU3Rl cCAxOiBQYWRWYWwgUHJvZ3JhbW1pbmcuDQo+ICsgICAgLy8NCj4gKyAgICBwYWRfdmFsLmR3ID0g R1BJT1JlYWQzMihtbWlvX3BhZHZhbCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIENvbmZp ZyBQQURfVkFMIG9ubHkgZm9yIEdQSU8gKE5vbi1OYXRpdmUpIFBpbg0KPiArICAgIC8vDQo+ICsg ICAgaWYoTmF0aXZlICE9IEdwaW9fQ29uZl9EYXRhW2luZGV4XS51c2FnZSkNCj4gKyAgICB7DQo+ ICsgICAgICBwYWRfdmFsLmR3ICY9IH4weDY7IC8vIENsZWFyIGJpdHMgMToyDQo+ICsgICAgICBw YWRfdmFsLmR3IHw9IChHcGlvX0NvbmZfRGF0YVtpbmRleF0udXNhZ2UgJiAweDYpOyAgLy8gU2V0 IGJpdHMgMToyDQo+IGFjY29yZGluZyB0byBQYWRWYWwNCj4gKw0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICAvLyBzZXQgR1BPIGRlZmF1bHQgdmFsdWUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAg ICAgaWYoR3Bpb19Db25mX0RhdGFbaW5kZXhdLnVzYWdlID09IEdQTyAmJg0KPiBHcGlvX0NvbmZf RGF0YVtpbmRleF0uZ3BvZDQgIT0gTkEpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgcGFkX3Zh bC5yLnBhZF92YWwgPSBHcGlvX0NvbmZfRGF0YVtpbmRleF0uZ3BvZDQ7DQo+ICsgICAgICAgIH0N Cj4gKyAgICB9DQo+ICsNCj4gKw0KPiArICAgIERFQlVHICgoRUZJX0RfSU5GTywgIlNldCBQQURf VkFMID0gMHglMDh4LCAiLCBwYWRfdmFsLmR3KSk7DQo+ICsNCj4gKyAgICBNbWlvV3JpdGUzMiht bWlvX3BhZHZhbCwgcGFkX3ZhbC5kdyk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFN0ZXAg MjogQ09ORjAgUHJvZ3JhbW1pbmcNCj4gKyAgICAvLyBSZWFkIEdQSU8gZGVmYXVsdCBDT05GMCB2 YWx1ZSwgd2hpY2ggaXMgYXNzdW1lZCB0byBiZSBkZWZhdWx0IHZhbHVlDQo+IGFmdGVyIHJlc2V0 Lg0KPiArICAgIC8vDQo+ICsgICAgY29uZjBfdmFsLmR3ID0gR1BJT1JlYWQzMihtbWlvX2NvbmYw KTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gU2V0IEZ1bmN0aW9uICMNCj4gKyAgICAvLw0K PiArICAgIGNvbmYwX3ZhbC5yLkZ1bmNfUGluX011eCA9IEdwaW9fQ29uZl9EYXRhW2luZGV4XS5m dW5jOw0KPiArDQo+ICsgICAgaWYoR1BPID09IEdwaW9fQ29uZl9EYXRhW2luZGV4XS51c2FnZSkN Cj4gKyAgICB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gSWYgdXNlZCBhcyBHUE8sIHRoZW4g aW50ZXJuYWwgcHVsbCBuZWVkIHRvIGJlIGRpc2FibGVkLg0KPiArICAgICAgLy8NCj4gKyAgICAg IGNvbmYwX3ZhbC5yLlB1bGxfYXNzaWduID0gMDsgIC8vIE5vbi1wdWxsDQo+ICsgICAgfQ0KPiAr ICAgIGVsc2UNCj4gKyAgICB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gU2V0IFB1bGxVcCAv IFB1bGxEb3duDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYoUF8yMEtfSCA9PSBHcGlvX0NvbmZf RGF0YVtpbmRleF0ucHVsbCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgY29uZjBfdmFsLnIuUHVs bF9hc3NpZ24gPSAweDE7ICAvLyBQdWxsVXANCj4gKyAgICAgICAgY29uZjBfdmFsLnIuUHVsbF9z dHJlbmd0aCA9IDB4MjsvLyAyMEsNCj4gKyAgICAgIH0NCj4gKyAgICAgIGVsc2UgaWYoUF8yMEtf TCA9PSBHcGlvX0NvbmZfRGF0YVtpbmRleF0ucHVsbCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAg Y29uZjBfdmFsLnIuUHVsbF9hc3NpZ24gPSAweDI7ICAvLyBQdWxsRG93bg0KPiArICAgICAgICBj b25mMF92YWwuci5QdWxsX3N0cmVuZ3RoID0gMHgyOy8vIDIwSw0KPiArICAgICAgfQ0KPiArICAg ICAgZWxzZSBpZihQXzEwS19IID09IEdwaW9fQ29uZl9EYXRhW2luZGV4XS5wdWxsKQ0KPiArICAg ICAgew0KPiArICAgICAgICBjb25mMF92YWwuci5QdWxsX2Fzc2lnbiA9IDB4MTsgCS8vIFB1bGxV cA0KPiArICAgICAgICBjb25mMF92YWwuci5QdWxsX3N0cmVuZ3RoID0gMHgxOy8vIDEwSw0KPiAr ICAgICAgfQ0KPiArICAgICAgZWxzZSBpZihQXzEwS19MID09IEdwaW9fQ29uZl9EYXRhW2luZGV4 XS5wdWxsKQ0KPiArICAgICAgew0KPiArICAgICAgICBjb25mMF92YWwuci5QdWxsX2Fzc2lnbiA9 IDB4MjsgCS8vIFB1bGxEb3duDQo+ICsgICAgICAgIGNvbmYwX3ZhbC5yLlB1bGxfc3RyZW5ndGgg PSAweDE7Ly8gMTBLDQo+ICsgICAgICB9DQo+ICsgICAgICBlbHNlIGlmKFBfMktfSCA9PSBHcGlv X0NvbmZfRGF0YVtpbmRleF0ucHVsbCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgY29uZjBfdmFs LnIuUHVsbF9hc3NpZ24gPSAweDE7ICAvLyBQdWxsVXANCj4gKyAgICAgICAgY29uZjBfdmFsLnIu UHVsbF9zdHJlbmd0aCA9IDB4MDsvLyAySw0KPiArICAgICAgfQ0KPiArICAgICAgZWxzZSBpZihQ XzJLX0wgPT0gR3Bpb19Db25mX0RhdGFbaW5kZXhdLnB1bGwpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgIGNvbmYwX3ZhbC5yLlB1bGxfYXNzaWduID0gMHgyOyAgLy8gUHVsbERvd24NCj4gKyAgICAg ICAgY29uZjBfdmFsLnIuUHVsbF9zdHJlbmd0aCA9IDB4MDsvLyAySw0KPiArICAgICAgfQ0KPiAr ICAgICAgZWxzZSBpZihQX05PTkUgPT0gR3Bpb19Db25mX0RhdGFbaW5kZXhdLnB1bGwpDQo+ICsg ICAgICB7DQo+ICsgICAgICAgIGNvbmYwX3ZhbC5yLlB1bGxfYXNzaWduID0gMDsJLy8gTm9uLXB1 bGwNCj4gKyAgICAgIH0NCj4gKyAgICAgIGVsc2UNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgQVNT RVJUKEZBTFNFKTsgIC8vIEludmFsaWQgdmFsdWUNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsN Cj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gU2V0IElOVCBUcmlnZ2VyIFR5cGUNCj4gKyAgICAv Lw0KPiArICAgIGNvbmYwX3ZhbC5kdyAmPSB+MHgwZjAwMDAwMDsgIC8vIENsZWFyIGJpdHMgMjc6 MjQNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gU2V0IElOVCBUcmlnZ2VyIFR5cGUNCj4gKyAg ICAvLw0KPiArICAgIGlmKFRSSUdfID09IEdwaW9fQ29uZl9EYXRhW2luZGV4XS5pbnRfdHlwZSkN Cj4gKyAgICB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gSW50ZXJydXB0IG5vdCBjYXBhYmxl LCBjbGVhciBiaXRzIDI3OjI0DQo+ICsgICAgICAvLw0KPiArICAgIH0NCj4gKyAgICBlbHNlDQo+ ICsgICAgew0KPiArICAgICAgY29uZjBfdmFsLmR3IHw9IChHcGlvX0NvbmZfRGF0YVtpbmRleF0u aW50X3R5cGUgJiAweDBmKTw8MjQ7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgREVCVUcgKChFRklf RF9JTkZPLCAiU2V0IENPTkYwID0gMHglMDh4XG4iLCBjb25mMF92YWwuZHcpKTsNCj4gKw0KPiAr ICAgIC8vDQo+ICsgICAgLy8gV3JpdGUgYmFjayB0aGUgdGFyZ2V0ZWQgR1BJTyBjb25maWcgdmFs dWUgYWNjb3JkaW5nIHRvIHBsYXRmb3JtIChib2FyZCkNCj4gR1BJTyBzZXR0aW5nLg0KPiArICAg IC8vDQo+ICsgICAgTW1pb1dyaXRlMzIgKG1taW9fY29uZjAsIGNvbmYwX3ZhbC5kdyk7DQo+ICsg IH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBBMCBCSU9TIFNwZWMgZG9lc24ndCBtZW50aW9uIGl0 IGFsdGhvdWdoIFgwIGRvZXMuIGNvbW1lbnQgb3V0IG5vdy4NCj4gKyAgLy8gR1BJTyBTQ09SRSB3 cml0ZSAweDAxMDAxMDAyIHRvIElPQkFTRSArIDB4MDkwMA0KPiArICAvLw0KPiArfQ0KPiArDQo+ ICsvKioNCj4gKyAgUmV0dXJucyB0aGUgQ29ycmVjdCBHUElPIHRhYmxlIGZvciBNb2JpbGUvRGVz a3RvcCByZXNwZWN0aXZlbHkuDQo+ICsgIEJlZm9yZSBjYWxsIGl0LCBtYWtlIHN1cmUgUGxhdGZv cm1JbmZvSG9iLT5Cb2FyZElkJlBsYXRmb3JtRmxhdm9yIGlzIGdldA0KPiBjb3JyZWN0bHkuDQo+ ICsNCj4gKyAgQHBhcmFtIFBlaVNlcnZpY2VzICAgICAgICAgICAgICAgR2VuZXJhbCBwdXJwb3Nl IHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeQ0KPiBQRUlNLg0KPiArICBAcGFyYW0gUGxhdGZv cm1JbmZvSG9iICAgICAgICAgICBQbGF0Zm9ybUluZm9Ib2IgcG9pbnRlciB3aXRoDQo+IFBsYXRm b3JtRmxhdm9yIHNwZWNpZmllZC4NCj4gKyAgQHBhcmFtIEJvYXJkSWQgICAgICAgICAgICAgICAg ICAgQm9hcmRJZCBJRCBhcyBkZXRlcm1pbmVkIHRocm91Z2ggdGhlIEVDLg0KPiArDQo+ICsgIEBy ZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgIFRoZSBmdW5jdGlvbiBjb21wbGV0ZWQgc3Vj Y2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgICBLU0MgZmFp bHMgdG8gcmVzcG9uZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtNdWx0aVBsYXRm b3JtR3Bpb1Byb2dyYW0gKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAqKlBl aVNlcnZpY2VzLA0KPiArICBJTiBFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAqUGxhdGZvcm1J bmZvSG9iDQo+ICsgICkNCj4gK3sNCj4gKyNpZiAhX1NJTUlDXw0KPiArICBDRklPX0lOSVRfU1RS VUNUKiAgICAgICAgICAgUGxhdGZvcm1DZmlvRGF0YVB0cjsNCj4gKw0KPiArICBQbGF0Zm9ybUNm aW9EYXRhUHRyID0gKENGSU9fSU5JVF9TVFJVQ1QgKikgKFVJTlROKSBQbGF0Zm9ybUluZm9Ib2It DQo+ID5QbGF0Zm9ybUNmaW9EYXRhOw0KPiArICBERUJVRyAoKEVGSV9EX0lORk8sICJNdWx0aVBs YXRmb3JtR3Bpb1Byb2dyYW0oKS4uLlxuIikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBTQ09S RSBHUElPIFdFTEwgLS0gSU8gYmFzZSByZWdpc3RlcnMNCj4gKyAgLy8NCj4gKw0KPiArICAvLw0K PiArICAvLyBHUElPX1VTRV9TRUwgUmVnaXN0ZXIgLT4gMSA9IEdQSU8gMCA9IE5hdGl2ZQ0KPiAr ICAvLw0KPiArICBJb1dyaXRlMzIgKEdQSU9fQkFTRV9BRERSRVNTICsgUl9QQ0hfR1BJT19TQ19V U0VfU0VMLA0KPiBQbGF0Zm9ybUNmaW9EYXRhUHRyLT5Vc2VfU2VsX1NDMCk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gU2V0IEdQX0xWTCBSZWdpc3Rlcg0KPiArICAvLw0KPiArICBJb1dyaXRlMzIg KEdQSU9fQkFTRV9BRERSRVNTICsgUl9QQ0hfR1BJT19TQ19MVkwgLA0KPiBQbGF0Zm9ybUNmaW9E YXRhUHRyLT5HUF9MdmxfU0MwKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHUF9JT19TRUwgUmVn aXN0ZXIgLT4gMSA9IElucHV0IDAgPSBPdXRwdXQuICBJZiBOYXRpdmUgTW9kZSBkb24ndCBjYXJl DQo+ICsgIC8vDQo+ICsgIElvV3JpdGUzMiAoR1BJT19CQVNFX0FERFJFU1MgKyBSX1BDSF9HUElP X1NDX0lPX1NFTCwNCj4gUGxhdGZvcm1DZmlvRGF0YVB0ci0+SW9fU2VsX1NDMCk7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gR1BJTyBUcmlnZXIgUG9zaXRpdmUgRWRnZSBFbmFibGUgUmVnaXN0ZXIN Cj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9f U0NfVFBFLA0KPiBQbGF0Zm9ybUNmaW9EYXRhUHRyLT5UUEVfU0MwKTsNCj4gKw0KPiArICAvLw0K PiArICAvLyAgR1BJTyBUcmlnZ2VyIE5lZ2F0aXZlIEVkZ2UgRW5hYmxlIFJlZ2lzdGVyDQo+ICsg IC8vDQo+ICsgIElvV3JpdGUzMiAoR1BJT19CQVNFX0FERFJFU1MgKyBSX1BDSF9HUElPX1NDX1RO RSwNCj4gUGxhdGZvcm1DZmlvRGF0YVB0ci0+VE5FX1NDMCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gIEdQSU8gVHJpZ2dlciBTdGF0dXMNCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JB U0VfQUREUkVTUyArIFJfUENIX0dQSU9fU0NfVFMsDQo+IFBsYXRmb3JtQ2Zpb0RhdGFQdHItPlRT X1NDMCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR1BJT19VU0VfU0VMMiBSZWdpc3RlciAtPiAx ID0gR1BJTyAwID0gTmF0aXZlDQo+ICsgIC8vDQo+ICsgIElvV3JpdGUzMiAoR1BJT19CQVNFX0FE RFJFU1MgKyBSX1BDSF9HUElPX1NDX1VTRV9TRUwyLA0KPiBQbGF0Zm9ybUNmaW9EYXRhUHRyLT5V c2VfU2VsX1NDMSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0IEdQX0xWTDIgUmVnaXN0ZXIN Cj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9f U0NfTFZMMiwNCj4gUGxhdGZvcm1DZmlvRGF0YVB0ci0+R1BfTHZsX1NDMSk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gR1BfSU9fU0VMMiBSZWdpc3RlciAtPiAxID0gSW5wdXQgMCA9IE91dHB1dC4g IElmIE5hdGl2ZSBNb2RlIGRvbid0IGNhcmUNCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChHUElP X0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9fU0NfSU9fU0VMMiwNCj4gUGxhdGZvcm1DZmlvRGF0 YVB0ci0+SW9fU2VsX1NDMSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR1BJT19VU0VfU0VMMyBS ZWdpc3RlciAtPiAxID0gR1BJTyAwID0gTmF0aXZlDQo+ICsgIC8vDQo+ICsgIElvV3JpdGUzMiAo R1BJT19CQVNFX0FERFJFU1MgKyBSX1BDSF9HUElPX1NDX1VTRV9TRUwzLA0KPiBQbGF0Zm9ybUNm aW9EYXRhUHRyLT5Vc2VfU2VsX1NDMik7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0IEdQX0xW TDMgUmVnaXN0ZXINCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JBU0VfQUREUkVTUyAr IFJfUENIX0dQSU9fU0NfTFZMMywNCj4gUGxhdGZvcm1DZmlvRGF0YVB0ci0+R1BfTHZsX1NDMik7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR1BfSU9fU0VMMyBSZWdpc3RlciAtPiAxID0gSW5wdXQg MCA9IE91dHB1dCBpZiBOYXRpdmUgTW9kZSBkb24ndCBjYXJlDQo+ICsgIC8vDQo+ICsgIElvV3Jp dGUzMiAoR1BJT19CQVNFX0FERFJFU1MgKyBSX1BDSF9HUElPX1NDX0lPX1NFTDMsDQo+IFBsYXRm b3JtQ2Zpb0RhdGFQdHItPklvX1NlbF9TQzIpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBTVVMg R1BJTyBXRUxMIC0tIElPIGJhc2UgcmVnaXN0ZXJzDQo+ICsgIC8vDQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gR1BJT19VU0VfU0VMIFJlZ2lzdGVyIC0+IDEgPSBHUElPIDAgPSBOYXRpdmUNCj4gKyAg Ly8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9fU1VTX1VT RV9TRUwsDQo+IFBsYXRmb3JtQ2Zpb0RhdGFQdHItPlVzZV9TZWxfU1MpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFNldCBHUF9MVkwgUmVnaXN0ZXINCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChH UElPX0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9fU1VTX0xWTCAsDQo+IFBsYXRmb3JtQ2Zpb0Rh dGFQdHItPkdQX0x2bF9TUyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR1BfSU9fU0VMIFJlZ2lz dGVyIC0+IDEgPSBJbnB1dCAwID0gT3V0cHV0LiAgSWYgTmF0aXZlIE1vZGUgZG9uJ3QgY2FyZS4N Cj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9f U1VTX0lPX1NFTCwNCj4gUGxhdGZvcm1DZmlvRGF0YVB0ci0+SW9fU2VsX1NTKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBHUElPIFRyaWdlciBQb3NpdGl2ZSBFZGdlIEVuYWJsZSBSZWdpc3Rlci4N Cj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9f U1VTX1RQRSwNCj4gUGxhdGZvcm1DZmlvRGF0YVB0ci0+VFBFX1NTKTsNCj4gKw0KPiArICAvLw0K PiArICAvLyAgR1BJTyBUcmlnZ2VyIE5lZ2F0aXZlIEVkZ2UgRW5hYmxlIFJlZ2lzdGVyLg0KPiAr ICAvLw0KPiArICBJb1dyaXRlMzIgKEdQSU9fQkFTRV9BRERSRVNTICsgUl9QQ0hfR1BJT19TVVNf VE5FLA0KPiBQbGF0Zm9ybUNmaW9EYXRhUHRyLT5UTkVfU1MpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vICBHUElPIFRyaWdnZXIgU3RhdHVzLg0KPiArICAvLw0KPiArICBJb1dyaXRlMzIgKEdQSU9f QkFTRV9BRERSRVNTICsgUl9QQ0hfR1BJT19TVVNfVFMsDQo+IFBsYXRmb3JtQ2Zpb0RhdGFQdHIt PlRTX1NTKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyAgR1BJTyBXYWtlIEVuYWJsZS4NCj4gKyAg Ly8NCj4gKyAgSW9Xcml0ZTMyIChHUElPX0JBU0VfQUREUkVTUyArIFJfUENIX0dQSU9fU1VTX1dB S0VfRU4sDQo+IFBsYXRmb3JtQ2Zpb0RhdGFQdHItPldFX1NTKTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBDb25maWcgU0MvTkMvU1VTIEdQSU8gUGlucw0KPiArICAvLw0KPiArICBzd2l0Y2ggKFBs YXRmb3JtSW5mb0hvYi0+Qm9hcmRJZCkgew0KPiArICAgIGNhc2UgQk9BUkRfSURfTUlOTk9XMjoN Cj4gKyAgICBjYXNlIEJPQVJEX0lEX01JTk5PVzJfVFVSQk9UOg0KPiArICAgICAgREVCVUcgKChF RklfRF9JTkZPLCAiU3RhcnQgdG8gY29uZmlnIE1pbm5vdzIgR1BJTyBwaW5zXG4iKSk7DQo+ICsg ICAgICBJbnRlcm5hbEdwaW9Db25maWcoR1BJT19TQ09SRV9PRkZTRVQsDQo+IHNpemVvZihtTWlu bm93Ml9HcGlvSW5pdERhdGFfU0MpL3NpemVvZihtTWlubm93Ml9HcGlvSW5pdERhdGFfU0NbMF0N Cj4gKSwgICAoR1BJT19DT05GX1BBRF9JTklUICopIChVSU5UTikgUGxhdGZvcm1JbmZvSG9iLQ0K PiA+UGxhdGZvcm1HcGlvRGF0YV9TQyk7DQo+ICsgICAgICBJbnRlcm5hbEdwaW9Db25maWcoR1BJ T19OQ09SRV9PRkZTRVQsDQo+IHNpemVvZihtTWlubm93Ml9HcGlvSW5pdERhdGFfTkMpL3NpemVv ZihtTWlubm93Ml9HcGlvSW5pdERhdGFfTkNbMA0KPiBdKSwgICAoR1BJT19DT05GX1BBRF9JTklU ICopIChVSU5UTikgUGxhdGZvcm1JbmZvSG9iLQ0KPiA+UGxhdGZvcm1HcGlvRGF0YV9OQyk7DQo+ ICsgICAgICBJbnRlcm5hbEdwaW9Db25maWcoR1BJT19TU1VTX09GRlNFVCwNCj4gc2l6ZW9mKG1N aW5ub3cyX0dwaW9Jbml0RGF0YV9TVVMpL3NpemVvZihtTWlubm93Ml9HcGlvSW5pdERhdGFfU1VT DQo+IFswXSksIChHUElPX0NPTkZfUEFEX0lOSVQgKikgKFVJTlROKSBQbGF0Zm9ybUluZm9Ib2It DQo+ID5QbGF0Zm9ybUdwaW9EYXRhX1NVUyk7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBkZWZh dWx0Og0KPiArDQo+ICsgICAgICBicmVhazsNCj4gKyAgfQ0KPiArDQo+ICsgICAvLw0KPiArICAg Ly8gY29uZmlndXJlIHRoZSBDRklPIFBucCBzZXR0aW5ncw0KPiArICAgLy8NCj4gKyAgIGlmIChQ bGF0Zm9ybUluZm9Ib2ItPkNmaW9FbmFibGVkKSB7DQo+ICsgICAgIGlmIChQbGF0Zm9ybUluZm9I b2ItPkJvYXJkSWQgPT0gQk9BUkRfSURfTUlOTk9XMiB8fA0KPiBQbGF0Zm9ybUluZm9Ib2ItPkJv YXJkSWQgPT0gQk9BUkRfSURfTUlOTk9XMl9UVVJCT1Qpew0KPiArICAgICAgIEludGVybmFsR3Bp b0NvbmZpZyhHUElPX1NDT1JFX09GRlNFVCwNCj4gc2l6ZW9mKG1OQl9CQl9GQUIzX0dwaW9Jbml0 RGF0YV9TQ19UUkkpL3NpemVvZihtTkJfQkJfRkFCM19HcGlvSW5pDQo+IHREYXRhX1NDX1RSSVsw XSksIChHUElPX0NPTkZfUEFEX0lOSVQgKikgKFVJTlROKVBsYXRmb3JtSW5mb0hvYi0NCj4gPlBs YXRmb3JtR3Bpb0RhdGFfU0NfVFJJKTsNCj4gKyAgICAgfQ0KPiArICAgfQ0KPiArI2Vsc2UNCj4g KyAgIERFQlVHICgoRUZJX0RfSU5GTywgIlNraXAgTXVsdGlQbGF0Zm9ybUdwaW9Qcm9ncmFtKCku Li5mb3IgU0lNSUNTIG9yDQo+IEhZQiBtb2RlbFxuIikpOw0KPiArI2VuZGlmDQo+ICsgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJkR3Bpb3Mv Qg0KPiBvYXJkR3Bpb3MuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xp YnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZEdwaW9zL0INCj4gb2FyZEdwaW9zLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMGUxOTgxOWIyMg0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xp YnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZEdwaW9zL0INCj4gb2FyZEdwaW9zLmgNCj4gQEAg LTAsMCArMSwzMjQgQEANCj4gKy8qKkBmaWxlDQo+ICsgIEdwaW8gc2V0dGluZyBmb3IgbXVsdGlw bGF0Zm9ybS4NCj4gKw0KPiArICBUaGlzIGZpbGUgaW5jbHVkZXMgcGFja2FnZSBoZWFkZXIgZmls ZXMsIGxpYnJhcnkgY2xhc3Nlcy4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTMgLSAyMDE0 LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4g Kw0KPiANCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9CT0FSREdQSU9TX0hfDQo+ICsjZGVmaW5l IF9CT0FSREdQSU9TX0hfDQo+ICsNCj4gKyNpbmNsdWRlIDxQaVBlaS5oPg0KPiArI2luY2x1ZGUg IlBjaEFjY2Vzcy5oIg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtQmFzZUFkZHJlc3Nlcy5oIg0KPiAr I2luY2x1ZGUgPC4uL011bHRpUGxhdGZvcm1MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0lv TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Ib2JMaWIuaD4NCj4gKyNpbmNsdWRlIDxHdWlk L1BsYXRmb3JtSW5mby5oPg0KPiArI2luY2x1ZGUgPFBwaS9TbWJ1cy5oPg0KPiArI2luY2x1ZGUg PFBwaS9SZWFkT25seVZhcmlhYmxlMi5oPg0KPiArI2luY2x1ZGUgPEd1aWQvU2V0dXBWYXJpYWJs ZS5oPg0KPiArDQo+ICsNCj4gK0dQSU9fQ09ORl9QQURfSU5JVCBtTkJfQkJfRkFCM19HcGlvSW5p dERhdGFfU0NfVFJJW10gPQ0KPiArew0KPiArLy8gICAgICAgICAgICAgIFBhZCBOYW1lICAgICAg ICAgIEdQSU8gTnVtYmVyICAgICBVc2VkIEFzICAgR1BPIERlZmF1bHQgIEZ1bmN0aW9uIw0KPiBJ TlQgQ2FwYWJsZSAgIEludGVycnVwdCBUeXBlICAgUFVMTCBIL0wgICAgTU1JTyBPZmZzZXQNCj4g K0dQSU9fSU5JVF9JVEVNKCJMUENfQ0xLT1VUMSAgICAgICBHUElPQ180OA0KPiAiICAgICAsVFJJ U1RTICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAg ICAgICAgICAsTk9ORSAgICAgICAsMHg0MSksDQo+ICtHUElPX0lOSVRfSVRFTSgiUExUX0NMSzAg ICAgICAgICAgR1BJT0NfOTYNCj4gIiAgICAgLFRSSVNUUyAgICxOQSAgICAgICAgICAgLEYwICAg ICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4NmEp LA0KPiArR1BJT19JTklUX0lURU0oIlBMVF9DTEszICAgICAgICAgIEdQSU9DXzk5DQo+ICIgICAg ICxUUklTVFMgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAg ICAgICAgICAgICAgICxOT05FICAgICAgICwweDY4KSwNCj4gK307DQo+ICsNCj4gKy8vDQo+ICsv LyBNaW5ub3cyDQo+ICsvLw0KPiArI2RlZmluZSBNSU5OT1cyX0dQSU9fVVNFX1NFTF9WQUxfMF8z MSAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBNSU5OT1cyX0dQSU9fVVNFX1NFTF9WQUxf MzJfNjMgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBNSU5OT1cyX0dQSU9fVVNFX1NFTF9W QUxfNjRfNzAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBNSU5OT1cyX0dQSU9fVVNFX1NF TF9WQUxfNjRfNzAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBNSU5OT1cyX0dQSU9fVVNF X1NFTF9WQUxfU1VTICAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBNSU5OT1cyX0dQSU9f VVNFX1NFTF9WQUxfU1VTMiAgICAgICAgMHgwMDAwMDAwMQ0KPiArDQo+ICsNCj4gKyNkZWZpbmUg TUlOTk9XMl9HUElPX0lPX1NFTF9WQUxfMF8zMSAgICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZp bmUgTUlOTk9XMl9HUElPX0lPX1NFTF9WQUxfMzJfNjMgICAgICAgIDB4MDAwMDAwMDANCj4gKyNk ZWZpbmUgTUlOTk9XMl9HUElPX0lPX1NFTF9WQUxfNjRfNzAgICAgICAgIDB4MDAwMDAwMDANCj4g KyNkZWZpbmUgTUlOTk9XMl9HUElPX0lPX1NFTF9WQUxfU1VTICAgICAgICAgIDB4MDAwMDAwMDAN Cj4gKyNkZWZpbmUgTUlOTk9XMl9HUElPX0lPX1NFTF9WQUxfU1VTMiAgICAgICAgIDB4MDAwMDAw MDENCj4gKw0KPiArDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19MVkxfVkFMXzBfMzEgICAgICAg ICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19MVkxfVkFMXzMyXzYzICAg ICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19MVkxfVkFMXzY0Xzcw ICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19MVkxfVkFMX1NV UyAgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19MVkxfVkFM X1NVUzIgICAgICAgICAgICAweDAwMDAwMDAxDQo+ICsNCj4gKyNkZWZpbmUgTUlOTk9XMl9HUElP X1RQRV9WQUxfMF8zMSAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgTUlOTk9XMl9H UElPX1RQRV9WQUxfU1VTICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgTUlOTk9X Ml9HUElPX1RQRV9WQUxfU1VTMiAgICAgICAgICAgIDB4MDAwMDAwMDENCj4gKw0KPiArI2RlZmlu ZSBNSU5OT1cyX0dQSU9fVE5FX1ZBTF8wXzMxICAgICAgICAgICAgMHgwMDAwMDAwMA0KPiArI2Rl ZmluZSBNSU5OT1cyX0dQSU9fVE5FX1ZBTF9TVVMgICAgICAgICAgICAgMHgwMDAwMDAwMA0KPiAr I2RlZmluZSBNSU5OT1cyX0dQSU9fVE5FX1ZBTF9TVVMyICAgICAgICAgICAgMHgwMDAwMDAwMQ0K PiArDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19UU19WQUxfMF8zMSAgICAgICAgICAgICAweDAw MDAwMDAwDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19UU19WQUxfU1VTICAgICAgICAgICAgICAw eDAwMDAwMDAwDQo+ICsjZGVmaW5lIE1JTk5PVzJfR1BJT19UU19WQUxfU1VTMiAgICAgICAgICAg ICAweDAwMDAwMDAxDQo+ICsNCj4gK3N0YXRpYyBDRklPX0lOSVRfU1RSVUNUIG1NaW5ub3cyQ2Zp b0luaXREYXRhID0NCj4gK3sNCj4gKyAgICAgICAgTUlOTk9XMl9HUElPX1VTRV9TRUxfVkFMXzBf MzEsDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19VU0VfU0VMX1ZBTF8zMl82MywNCj4gKyAgICAg ICAgTUlOTk9XMl9HUElPX1VTRV9TRUxfVkFMXzY0XzcwLA0KPiArICAgICAgICBNSU5OT1cyX0dQ SU9fVVNFX1NFTF9WQUxfU1VTLA0KPiArDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19JT19TRUxf VkFMXzBfMzEsDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19JT19TRUxfVkFMXzMyXzYzLA0KPiAr ICAgICAgICBNSU5OT1cyX0dQSU9fSU9fU0VMX1ZBTF82NF83MCwNCj4gKyAgICAgICAgTUlOTk9X Ml9HUElPX0lPX1NFTF9WQUxfU1VTLA0KPiArDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19MVkxf VkFMXzBfMzEsDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19MVkxfVkFMXzMyXzYzLA0KPiArICAg ICAgICBNSU5OT1cyX0dQSU9fTFZMX1ZBTF82NF83MCwNCj4gKyAgICAgICAgTUlOTk9XMl9HUElP X0xWTF9WQUxfU1VTLA0KPiArDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19UUEVfVkFMXzBfMzEs DQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19UUEVfVkFMX1NVUywNCj4gKyAgICAgICAgTUlOTk9X Ml9HUElPX1RORV9WQUxfMF8zMSwNCj4gKyAgICAgICAgTUlOTk9XMl9HUElPX1RORV9WQUxfU1VT LA0KPiArDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19UU19WQUxfMF8zMSwNCj4gKyAgICAgICAg TUlOTk9XMl9HUElPX1RTX1ZBTF9TVVMNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBDRklPX0lOSVRf U1RSVUNUIG1NaW5ub3cyQ2Zpb0luaXREYXRhMiA9DQo+ICt7DQo+ICsgICAgICAgIE1JTk5PVzJf R1BJT19VU0VfU0VMX1ZBTF8wXzMxLA0KPiArICAgICAgICBNSU5OT1cyX0dQSU9fVVNFX1NFTF9W QUxfMzJfNjMsDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19VU0VfU0VMX1ZBTF82NF83MCwNCj4g KyAgICAgICAgTUlOTk9XMl9HUElPX1VTRV9TRUxfVkFMX1NVUzIsDQo+ICsNCj4gKyAgICAgICAg TUlOTk9XMl9HUElPX0lPX1NFTF9WQUxfMF8zMSwNCj4gKyAgICAgICAgTUlOTk9XMl9HUElPX0lP X1NFTF9WQUxfMzJfNjMsDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19JT19TRUxfVkFMXzY0Xzcw LA0KPiArICAgICAgICBNSU5OT1cyX0dQSU9fSU9fU0VMX1ZBTF9TVVMyLA0KPiArDQo+ICsgICAg ICAgIE1JTk5PVzJfR1BJT19MVkxfVkFMXzBfMzEsDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19M VkxfVkFMXzMyXzYzLA0KPiArICAgICAgICBNSU5OT1cyX0dQSU9fTFZMX1ZBTF82NF83MCwNCj4g KyAgICAgICAgTUlOTk9XMl9HUElPX0xWTF9WQUxfU1VTMiwNCj4gKw0KPiArICAgICAgICBNSU5O T1cyX0dQSU9fVFBFX1ZBTF8wXzMxLA0KPiArICAgICAgICBNSU5OT1cyX0dQSU9fVFBFX1ZBTF9T VVMyLA0KPiArICAgICAgICBNSU5OT1cyX0dQSU9fVE5FX1ZBTF8wXzMxLA0KPiArICAgICAgICBN SU5OT1cyX0dQSU9fVE5FX1ZBTF9TVVMyLA0KPiArDQo+ICsgICAgICAgIE1JTk5PVzJfR1BJT19U U19WQUxfMF8zMSwNCj4gKyAgICAgICAgTUlOTk9XMl9HUElPX1RTX1ZBTF9TVVMyDQo+ICt9Ow0K PiArDQo+ICtzdGF0aWMgR1BJT19DT05GX1BBRF9JTklUIG1NaW5ub3cyX0dwaW9Jbml0RGF0YV9O Q1tdID0NCj4gK3sNCj4gKy8vICAgICAgICAgICAgICBQYWQgTmFtZSAgICAgICAgICBHUElPIE51 bWJlciAgICAgVXNlZCBBcyAgIEdQTyBEZWZhdWx0ICAgRnVuY3Rpb24jDQo+IElOVCBDYXBhYmxl ICAgSW50ZXJydXB0IFR5cGUgICBQVUxMIEgvTCAgICBNTUlPIE9mZnNldA0KPiArR1BJT19JTklU X0lURU0oIkhWX0RESTBfSFBEICAgICAgIEdQSU9OQ18wDQo+ICIgICAgICxOYXRpdmUgICAsTkEg ICAgICAgICAgICxGMiAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxO T05FICAgICAgICwweDEzKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJIVl9EREkwX0REQ19TREEgICBH UElPTkNfMQ0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjIgICAgICAgICAgICwg ICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgxMiksDQo+ICtHUElP X0lOSVRfSVRFTSgiSFZfRERJMF9ERENfU0NMICAgR1BJT05DXzINCj4gIiAgICAgLE5hdGl2ZSAg ICxOQSAgICAgICAgICAgLEYyICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAg ICAgLE5PTkUgICAgICAgLDB4MTEpLA0KPiArR1BJT19JTklUX0lURU0oIlBBTkVMMF9WRERFTiAg ICAgIEdQSU9OQ18zDQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAg ICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDE0KSwNCj4g K0dQSU9fSU5JVF9JVEVNKCJQQU5FTDBfQktMVEVOICAgICBHUElPTkNfNA0KPiAiICAgICAsR1BJ TyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAg ICAgICAgICAsTk9ORSAgICAgICAsMHgxNSksDQo+ICtHUElPX0lOSVRfSVRFTSgiUEFORUwwX0JL TFRDVEwgICAgR1BJT05DXzUNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAg ICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MTYp LA0KPiArR1BJT19JTklUX0lURU0oIkhWX0RESTFfSFBEICAgICAgIEdQSU9OQ182DQo+ICIgICAg ICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMiAgICAgICAgICAgLCAgICAgICAgICAgICAsICAg ICAgICAgICAgICAgICxOT05FICAgICAgICwweDE4KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJIVl9E REkxX0REQ19TREEgICBHUElPTkNfNw0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAs RjIgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAs MHgxOSksDQo+ICtHUElPX0lOSVRfSVRFTSgiSFZfRERJMV9ERENfU0NMICAgR1BJT05DXzgNCj4g IiAgICAgLE5hdGl2ZSAgICxOQSAgICAgICAgICAgLEYyICAgICAgICAgICAsICAgICAgICAgICAg ICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MTcpLA0KPiArR1BJT19JTklUX0lURU0o IlBBTkVMMV9WRERFTiAgICAgIEdQSU9OQ185DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAg ICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAg ICAgICwweDEwKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJQQU5FTDFfQktMVEVODQo+IEdQSU9OQ18x MCIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAg ICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDBlKSwNCj4gK0dQSU9fSU5JVF9JVEVN KCJQQU5FTDFfQktMVENUTA0KPiBHUElPTkNfMTEiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAg ICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAg ICAsMHgwZiksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfSU5URF9EU0lfVEUxDQo+IEdQSU9OQ18x MiIgICAgICxHUE8gICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAg ICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDBjKSwNCj4gK0dQSU9fSU5JVF9JVEVN KCJIVl9EREkyX0REQ19TREENCj4gR1BJT05DXzEzIiAgICAgLEdQSSAgICAgICxOQSAgICAgICAg ICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDEwS19MICAg ICAgLDB4MWEpLA0KPiArR1BJT19JTklUX0lURU0oIkhWX0RESTJfRERDX1NDTA0KPiBHUElPTkNf MTQiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAg ICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgxYiksDQo+ICtHUElPX0lOSVRfSVRF TSgiR1BfQ0FNRVJBU0IwMA0KPiBHUElPTkNfMTUiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAg ICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAg ICAsMHgwMSksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJBU0IwMQ0KPiBHUElPTkNfMTYi ICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAg LCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgwNCksDQo+ICtHUElPX0lOSVRfSVRFTSgi R1BfQ0FNRVJBU0IwMg0KPiBHUElPTkNfMTciICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAs RjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAs MHgwOCksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJBU0IwMw0KPiBHUElPTkNfMTgiICAg ICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAg ICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgwYiksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1Bf Q0FNRVJBU0IwNA0KPiBHUElPTkNfMTkiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAg ICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgw MCksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJBU0IwNQ0KPiBHUElPTkNfMjAiICAgICAs R1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAg ICAgICAgICAgICAsTk9ORSAgICAgICAsMHgwMyksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FN RVJBU0IwNg0KPiBHUElPTkNfMjEiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAg ICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgwNiks DQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJBU0IwNw0KPiBHUElPTkNfMjIiICAgICAsR1BJ TyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAg ICAgICAgICAsTk9ORSAgICAgICAsMHgwYSksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJB U0IwOA0KPiBHUElPTkNfMjMiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAg ICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgwZCksDQo+ ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJBU0IwOQ0KPiBHUElPTkNfMjQiICAgICAsR1BJTyAg ICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAg ICAgICAsTk9ORSAgICAgICAsMHgwMiksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJBU0Ix MA0KPiBHUElPTkNfMjUiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAg ICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgwNSksDQo+ICtH UElPX0lOSVRfSVRFTSgiR1BfQ0FNRVJBU0IxMQ0KPiBHUElPTkNfMjYiICAgICAsR1BJTyAgICAg LE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAg ICAsTk9ORSAgICAgICAsMHgwOSksDQo+ICt9Ow0KPiArDQo+ICsNCj4gK3N0YXRpYyBHUElPX0NP TkZfUEFEX0lOSVQgbU1pbm5vdzJfR3Bpb0luaXREYXRhX1NDW10gPSB7DQo+ICsvLyAgICAgICAg ICAgICAgUGFkIE5hbWUgICAgICAgICAgR1BJTyBOdW1iZXIgICAgIFVzZWQgQXMgICBHUE8gRGVm YXVsdCAgIEZ1bmN0aW9uIw0KPiBJTlQgQ2FwYWJsZSAgIEludGVycnVwdCBUeXBlICAgUFVMTCBI L0wgICAgTU1JTyBPZmZzZXQNCj4gK0dQSU9fSU5JVF9JVEVNKCJTQVRBX0dQMCAgICAgICAgICBH UElPQ18wDQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAg ICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDU1KSwNCj4gK0dQSU9f SU5JVF9JVEVNKCJTQVRBX0dQMSAgICAgICAgICBHUElPQ18xDQo+ICIgICAgICxOYXRpdmUgICAs TkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAg ICxOT05FICAgICAgICwweDU5KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTQVRBX0xFRE4gICAgICAg ICBHUElPQ18yDQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAg LCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDVkKSwNCj4gK0dQ SU9fSU5JVF9JVEVNKCJQQ0lFX0NMS1JFUTBCICAgICBHUElPQ18zDQo+ICIgICAgICxOYXRpdmUg ICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAg ICAgICwxMEtfSCAgICAgICwweDYwKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJQQ0lFX0NMS1JFUTFC ICAgICBHUElPQ180DQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAg ICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICwxMEtfSCAgICAgICwweDYzKSwNCj4g K0dQSU9fSU5JVF9JVEVNKCJQQ0lFX0NMS1JFUTJCICAgICBHUElPQ181DQo+ICIgICAgICxOYXRp dmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAg ICAgICAgICwxMEtfSCAgICAgICwweDY2KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJQQ0lFX0NMS1JF UTNCICAgICBHUElPQ182DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAg ICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDYyKSwN Cj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzNfV1AgICAgICAgICBHUElPQ183DQo+ICIgICAgICxO YXRpdmUgICAsTkEgICAgICAgICAgICxGMiAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAg ICAgICAgICAgICxOT05FICAgICAgICwweDY1KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJIREFfUlNU QiAgICAgICAgICBHUElPQ184DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAg ICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDIy KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJIREFfU1lOQyAgICAgICAgICBHUElPQ185DQo+ICIgICAg ICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAg ICAgICAgICAgICAgICxOT05FICAgICAgICwweDI1KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJIREFf Q0xLICAgICAgICAgICBHUElPQ18xMA0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAs RjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAs MHgyNCksDQo+ICtHUElPX0lOSVRfSVRFTSgiSERBX1NETyAgICAgICAgICAgR1BJT0NfMTENCj4g IiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAg ICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MjYpLA0KPiArR1BJT19JTklUX0lURU0o IkhEQV9TREkwICAgICAgICAgIEdQSU9DXzEyDQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAg ICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAg ICAgICwweDI3KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJIREFfU0RJMSAgICAgICAgICBHUElPQ18x Mw0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAg ICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgyMyksDQo+ICtHUElPX0lOSVRf SVRFTSgiSERBX0RPQ0tSU1RCICAgICAgR1BJT0NfMTQNCj4gIiAgICAgLEdQSU8gICAgICxOQSAg ICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5P TkUgICAgICAgLDB4MjgpLA0KPiArR1BJT19JTklUX0lURU0oIkhEQV9ET0NLRU5CICAgICAgIEdQ SU9DXzE1DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAg ICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDU0KSwNCj4gK0dQSU9f SU5JVF9JVEVNKCJTRE1NQzFfQ0xLICAgICAgICBHUElPQ18xNg0KPiAiICAgICAsR1BJTyAgICAg LE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAg ICAsTk9ORSAgICAgICAsMHgzZSksDQo+ICtHUElPX0lOSVRfSVRFTSgiU0RNTUMxX0QwICAgICAg ICAgR1BJT0NfMTcNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAg ICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4M2QpLA0KPiAr R1BJT19JTklUX0lURU0oIlNETU1DMV9EMSAgICAgICAgIEdQSU9DXzE4DQo+ICIgICAgICxHUElP ICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAg ICAgICAgICxOT05FICAgICAgICwweDQwKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzFfRDIg ICAgICAgICBHUElPQ18xOQ0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAg ICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgzYiks DQo+ICtHUElPX0lOSVRfSVRFTSgiU0RNTUMxX0QzX0NEX0IgICAgR1BJT0NfMjANCj4gIiAgICAg LEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAg ICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MzYpLA0KPiArR1BJT19JTklUX0lURU0oIk1NQzFf RDRfU0RfV0UgICAgIEdQSU9DXzIxDQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxG MCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICww eDM4KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJNTUMxX0Q1ICAgICAgICAgICBHUElPQ18yMg0KPiAi ICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAg LCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgzYyksDQo+ICtHUElPX0lOSVRfSVRFTSgi TU1DMV9ENiAgICAgICAgICAgR1BJT0NfMjMNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAg ICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAg ICAgLDB4MzcpLA0KPiArR1BJT19JTklUX0lURU0oIk1NQzFfRDcgICAgICAgICAgIEdQSU9DXzI0 DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAg ICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDNmKSwNCj4gK0dQSU9fSU5JVF9J VEVNKCJTRE1NQzFfQ01EICAgICAgICBHUElPQ18yNQ0KPiAiICAgICAsR1BJTyAgICAgLE5BICAg ICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9O RSAgICAgICAsMHgzOSksDQo+ICtHUElPX0lOSVRfSVRFTSgiTU1DMV9SRVNFVF9CICAgICAgR1BJ T0NfMjYNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAg ICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MzMpLA0KPiArR1BJT19J TklUX0lURU0oIlNETU1DMl9DTEsgICAgICAgIEdQSU9DXzI3DQo+ICIgICAgICxHUElPICAgICAs TkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAg ICxOT05FICAgICAgICwweDMyKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzJfRDAgICAgICAg ICBHUElPQ18yOA0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAg ICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgzNSksDQo+ICtH UElPX0lOSVRfSVRFTSgiU0RNTUMyX0QxICAgICAgICAgR1BJT0NfMjkNCj4gIiAgICAgLEdQSU8g ICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAg ICAgICAgLE5PTkUgICAgICAgLDB4MmYpLA0KPiArR1BJT19JTklUX0lURU0oIlNETU1DMl9EMiAg ICAgICAgIEdQSU9DXzMwDQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAg ICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDM0KSwN Cj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzJfRDNfQ0RfQiAgICBHUElPQ18zMQ0KPiAiICAgICAs R1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAg ICAgICAgICAgICAsTk9ORSAgICAgICAsMHgzMSksDQo+ICtHUElPX0lOSVRfSVRFTSgiU0RNTUMy X0NNRCAgICAgICAgR1BJT0NfMzINCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYw ICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4 MzApLA0KPiArLy8NCj4gKy8vSnVzdCBmb3IgdGVzdCwgV2UgbWFrZSB0aGUgc2V0dGluZyB0aGF0 IGFsbCBpcyBzYW1lIHdpdGggQmF5bGV5YmF5Lg0KPiArLy8NCj4gK0dQSU9fSU5JVF9JVEVNKCJT RE1NQzNfQ0xLICAgICAgICBHUElPQ18zMw0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAg ICAsRjEgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAg ICwweDJiKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzNfRDAgICAgICAgICBHUElPQ18zNA0K PiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAgICAg ICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICwweDJlKSwNCj4gK0dQSU9fSU5JVF9JVEVN KCJTRE1NQzNfRDEgICAgICAgICBHUElPQ18zNQ0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAg ICAgICAsRjEgICAgICAgICAgICxZRVMgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAg ICAgICwweDI5KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzNfRDIgICAgICAgICBHUElPQ18z Ng0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAg ICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICwweDJkKSwNCj4gK0dQSU9fSU5JVF9J VEVNKCJTRE1NQzNfRDMgICAgICAgICBHUElPQ18zNw0KPiAiICAgICAsTmF0aXZlICAgLE5BICAg ICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9O RSAgICAgICwweDJhKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzNfQ0RfQiAgICAgICBHUElP Q18zOA0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAgICxZRVMg ICAgICAgICAgLEVkZ2VfQm90aCAgICAgICAsTk9ORSAgICAgICwweDNhKSwNCj4gK0dQSU9fSU5J VF9JVEVNKCJTRE1NQzNfQ01EICAgICAgICBHUElPQ18zOQ0KPiAiICAgICAsTmF0aXZlICAgLE5B ICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAs Tk9ORSAgICAgICwweDJjKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRE1NQzNfMVA4X0VOICAgICBH UElPQ180MA0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAgICwg ICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICwweDVmKSwNCj4gK0dQSU9f SU5JVF9JVEVNKCJTRE1NQzNfUFdSX0VOX0IgICBHUElPQ180MQ0KPiAiICAgICAsTmF0aXZlICAg LE5BICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAg ICAsTk9ORSAgICAgICwweDY5KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJMUENfQUQwICAgICAgICAg ICBHUElPQ180Mg0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAg ICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHg0NiksDQo+ICtH UElPX0lOSVRfSVRFTSgiTFBDX0FEMSAgICAgICAgICAgR1BJT0NfNDMNCj4gIiAgICAgLEdQSU8g ICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAg ICAgICAgLE5PTkUgICAgICAgLDB4NDQpLA0KPiArR1BJT19JTklUX0lURU0oIkxQQ19BRDIgICAg ICAgICAgIEdQSU9DXzQ0DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAg ICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDQzKSwN Cj4gK0dQSU9fSU5JVF9JVEVNKCJMUENfQUQzICAgICAgICAgICBHUElPQ180NQ0KPiAiICAgICAs R1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAg ICAgICAgICAgICAsTk9ORSAgICAgICAsMHg0MiksDQo+ICtHUElPX0lOSVRfSVRFTSgiTFBDX0ZS QU1FQiAgICAgICAgR1BJT0NfNDYNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYw ICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4 NDUpLA0KPiArR1BJT19JTklUX0lURU0oIkxQQ19DTEtPVVQwICAgICAgIEdQSU9DXzQ3DQo+ICIg ICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAs ICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDQ3KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJM UENfQ0xLT1VUMSAgICAgICBHUElPQ180OA0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAg ICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAg ICAsMHg0MSksDQo+ICtHUElPX0lOSVRfSVRFTSgiTFBDX0NMS1JVTkIgICAgICAgR1BJT0NfNDkN Cj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAg ICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4NDgpLA0KPiArR1BJT19JTklUX0lU RU0oIklMQl9TRVJJUlEgICAgICAgIEdQSU9DXzUwDQo+ICIgICAgICxHUElPICAgICAsTkEgICAg ICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05F ICAgICAgICwweDU2KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTTUJfREFUQSAgICAgICAgICBHUElP Q181MQ0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAg ICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHg1YSksDQo+ICtHUElPX0lO SVRfSVRFTSgiU01CX0NMSyAgICAgICAgICAgR1BJT0NfNTINCj4gIiAgICAgLE5hdGl2ZSAgICxO QSAgICAgICAgICAgLEYxICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAg LE5PTkUgICAgICAgLDB4NTgpLA0KPiArR1BJT19JTklUX0lURU0oIlNNQl9BTEVSVEIgICAgICAg IEdQSU9DXzUzDQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAg LCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICwxMEtfSCAgICAgICwweDVjKSwNCj4gK0dQ SU9fSU5JVF9JVEVNKCJTUEtSICAgICAgICAgICAgICBHUElPQ181NA0KPiAiICAgICAsR1BJICAg ICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAg ICAgICwyMEtfSCAgICAgICwweDY3KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJNSFNJX0FDREFUQSAg ICAgICBHUElPQ181NQ0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAg ICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHg0ZCksDQo+ ICtHUElPX0lOSVRfSVRFTSgiTUhTSV9BQ0ZMQUcgICAgICAgR1BJT0NfNTYNCj4gIiAgICAgLEdQ SSAgICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAg ICAgICAgICAgLDIwS19IICAgICAgLDB4NGYpLA0KPiArR1BJT19JTklUX0lURU0oIk1IU0lfQUNX QUtFICAgICAgIEdQSU9DXzU4DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAg ICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDRl KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJNSFNJX0NBREFUQSAgICAgICBHUElPQ181OQ0KPiAiICAg ICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAg ICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHg1MSksDQo+ICtHUElPX0lOSVRfSVRFTSgiTUhT SV9DQUZMQUcgICAgICAgR1BJT0NfNjANCj4gIiAgICAgLEdQTyAgICAgICxISSAgICAgICAgICAg LEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDIwS19IICAgICAg LDB4NTApLA0KPiArR1BJT19JTklUX0lURU0oIkdQX1NTUF8yX0NMSyAgICAgIEdQSU9DXzYyDQo+ ICIgICAgICxHUEkgICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAg ICwgICAgICAgICAgICAgICAgLDIwS19IICAgICAgLDB4MGQpLA0KPiArR1BJT19JTklUX0lURU0o IkdQX1NTUF8yX0ZTICAgICAgIEdQSU9DXzYzDQo+ICIgICAgICxHUEkgICAgICxOQSAgICAgICAg ICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDIwS19IICAg ICAgLDB4MGMpLA0KPiArR1BJT19JTklUX0lURU0oIkdQX1NTUF8yX1JYRCAgICAgIEdQSU9DXzY0 DQo+ICIgICAgICxHUEkgICAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAg ICAgICAgLCAgICAgICAgICAgICAgLDIwS19IICAgICAgLDB4MGYpLA0KPiArR1BJT19JTklUX0lU RU0oIkdQX1NTUF8yX1RYRCAgICAgIEdQSU9DXzY1DQo+ICIgICAgICxHUEkgICAgICxOQSAgICAg ICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDIwS19I ICAgICAgLDB4MGUpLA0KPiArR1BJT19JTklUX0lURU0oIlNQSTFfQ1MwX0IgICAgICAgIEdQSU9D XzY2DQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAg ICAgICAgICAsICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICwweDExKSwNCj4gK0dQSU9fSU5J VF9JVEVNKCJTUEkxX01JU08gICAgICAgICBHUElPQ182Nw0KPiAiICAgICAsTmF0aXZlICAgLE5B ICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAs MjBLX0ggICAgICAsMHgxMiksDQo+ICtHUElPX0lOSVRfSVRFTSgiU1BJMV9NT1NJICAgICAgICAg R1BJT0NfNjgNCj4gIiAgICAgLE5hdGl2ZSAgICxOQSAgICAgICAgICAgLEYxICAgICAgICAgICAs ICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDIwS19IICAgICAgLDB4MTMpLA0KPiArR1BJ T19JTklUX0lURU0oIlNQSTFfQ0xLICAgICAgICAgIEdQSU9DXzY5DQo+ICIgICAgICxOYXRpdmUg ICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAg ICAgICwyMEtfSCAgICAgICwweDEwKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJVQVJUMV9SWEQgICAg ICAgICBHUElPQ183MA0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAg ICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsMjBLX0ggICAgICAsMHgwMiksDQo+ ICtHUElPX0lOSVRfSVRFTSgiVUFSVDFfVFhEICAgICAgICAgR1BJT0NfNzENCj4gIiAgICAgLE5h dGl2ZSAgICxOQSAgICAgICAgICAgLEYxICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAg ICAgICAgICAgLDIwS19IICAgICAgLDB4MDEpLA0KPiArR1BJT19JTklUX0lURU0oIlVBUlQxX1JU U19CICAgICAgIEdQSU9DXzcyDQo+ICIgICAgICxHUEkgICAgICxOQSAgICAgICAgICAgLEYwICAg ICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDIwS19IICAgICAgLDB4MDAp LA0KPiArR1BJT19JTklUX0lURU0oIlVBUlQxX0NUU19CICAgICAgIEdQSU9DXzczDQo+ICIgICAg ICxHUEkgICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAg ICAgICAgICAgICAgLDIwS19IICAgICAgLDB4MDQpLA0KPiArR1BJT19JTklUX0lURU0oIlVBUlQy X1JYRCAgICAgICAgIEdQSU9DXzc0DQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxG MSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICww eDA2KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJVQVJUMl9UWEQgICAgICAgICBHUElPQ183NQ0KPiAi ICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAgICAgICAg LCAgICAgICAgICAgICAgICAsMjBLX0ggICAgICAsMHgwNyksDQo+ICtHUElPX0lOSVRfSVRFTSgi VUFSVDJfUlRTX0IgICAgICAgR1BJT0NfNzYNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAg ICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAg ICAgLDB4MDkpLA0KPiArR1BJT19JTklUX0lURU0oIlVBUlQyX0NUU19CICAgICAgIEdQSU9DXzc3 DQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAg ICAgICAsICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICwweDA4KSwNCj4gK0dQSU9fSU5JVF9J VEVNKCJJMkMwX1NEQSAgICAgICAgICBHUElPQ183OA0KPiAiICAgICAsR1BJTyAgICAgLE5BICAg ICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9O RSAgICAgICAsMHgyMSksDQo+ICtHUElPX0lOSVRfSVRFTSgiSTJDMF9TQ0wgICAgICAgICAgR1BJ T0NfNzkNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAg ICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MjApLA0KPiArR1BJT19J TklUX0lURU0oIkkyQzFfU0RBICAgICAgICAgIEdQSU9DXzgwDQo+ICIgICAgICxOYXRpdmUgICAs TkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAg ICxOT05FICAgICAgICwweDFmKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJJMkMxX1NDTCAgICAgICAg ICBHUElPQ184MQ0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAg ICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgxZSksDQo+ICtH UElPX0lOSVRfSVRFTSgiSTJDMl9TREEgICAgICAgICAgR1BJT0NfODINCj4gIiAgICAgLEdQSU8g ICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAg ICAgICAgLE5PTkUgICAgICAgLDB4MWQpLA0KPiArR1BJT19JTklUX0lURU0oIkkyQzJfU0NMICAg ICAgICAgIEdQSU9DXzgzDQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAg ICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDFiKSwN Cj4gK0dQSU9fSU5JVF9JVEVNKCJJMkMzX1NEQSAgICAgICAgICBHUElPQ184NA0KPiAiICAgICAs R1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAg ICAgICAgICAgICAsTk9ORSAgICAgICAsMHgxOSksDQo+ICtHUElPX0lOSVRfSVRFTSgiSTJDM19T Q0wgICAgICAgICAgR1BJT0NfODUNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYw ICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4 MWMpLA0KPiArR1BJT19JTklUX0lURU0oIkkyQzRfU0RBICAgICAgICAgIEdQSU9DXzg2DQo+ICIg ICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAs ICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICwweDFhKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJJ MkM0X1NDTCAgICAgICAgICBHUElPQ184Nw0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAg ICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAg ICAsMHgxNyksDQo+ICtHUElPX0lOSVRfSVRFTSgiSTJDNV9TREEgICAgICAgICAgR1BJT0NfODgN Cj4gIiAgICAgLE5hdGl2ZSAgICxOQSAgICAgICAgICAgLEYxICAgICAgICAgICAsICAgICAgICAg ICAgICwgICAgICAgICAgICAgICAgLDIwS19IICAgICAgLDB4MTUpLA0KPiArR1BJT19JTklUX0lU RU0oIkkyQzVfU0NMICAgICAgICAgIEdQSU9DXzg5DQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAg ICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICwyMEtf SCAgICAgICwweDE0KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJJMkM2X1NEQSAgICAgICAgICBHUElP Q185MA0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAg ICAgICAgICAgLCAgICAgICAgICAgICAgICAsMjBLX0ggICAgICAsMHgxOCksDQo+ICtHUElPX0lO SVRfSVRFTSgiSTJDNl9TQ0wgICAgICAgICAgR1BJT0NfOTENCj4gIiAgICAgLE5hdGl2ZSAgICxO QSAgICAgICAgICAgLEYxICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAg LDIwS19IICAgICAgLDB4MTYpLA0KPiArR1BJT19JTklUX0lURU0oIkkyQ19ORkNfU0RBICAgICAg IEdQSU9DXzkyDQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAg LCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDA1KSwNCj4gK0dQ SU9fSU5JVF9JVEVNKCJJMkNfTkZDX1NDTCAgICAgICBHUElPQ185Mw0KPiAiICAgICAsR1BPICAg ICAgLExPICAgICAgICAgICAsRjEgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAg ICAgICAsTk9ORSAgICAgICAsMHgwMyksDQo+ICtHUElPX0lOSVRfSVRFTSgiUFdNMCAgICAgICAg ICAgICAgR1BJT0NfOTQNCj4gIiAgICAgLE5hdGl2ZSAgICxOQSAgICAgICAgICAgLEYxICAgICAg ICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDIwS19MICAgICAgLDB4MGEpLA0K PiArR1BJT19JTklUX0lURU0oIlBXTTEgICAgICAgICAgICAgIEdQSU9DXzk1DQo+ICIgICAgICxO YXRpdmUgICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAg ICAgICAgICAgICwyMEtfTCAgICAgICwweDBiKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJQTFRfQ0xL MCAgICAgICAgICBHUElPQ185Ng0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAg ICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHg2 YSksDQo+ICtHUElPX0lOSVRfSVRFTSgiUExUX0NMSzEgICAgICAgICAgR1BJT0NfOTcNCj4gIiAg ICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwg ICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4NTcpLA0KPiArR1BJT19JTklUX0lURU0oIlBM VF9DTEsyICAgICAgICAgIEdQSU9DXzk4DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAg ICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAg ICwweDViKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJQTFRfQ0xLMyAgICAgICAgICBHUElPQ185OQ0K PiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAg ICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHg2OCksDQo+ICtHUElPX0lOSVRfSVRF TSgiUExUX0NMSzQNCj4gR1BJT0NfMTAwIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYw ICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4 NjEpLA0KPiArR1BJT19JTklUX0lURU0oIlBMVF9DTEs1DQo+IEdQSU9DXzEwMSIgICAgICxHUElP ICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAg ICAgICAgICxOT05FICAgICAgICwweDY0KSwNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBHUElPX0NP TkZfUEFEX0lOSVQgbU1pbm5vdzJfR3Bpb0luaXREYXRhX1NVU1tdID0gew0KPiArLy8gICAgICAg ICAgICAgIFBhZCBOYW1lICAgICAgICAgIEdQSU8gTnVtYmVyICAgICBVc2VkIEFzICAgR1BJTyBE ZWZhdWx0ICBGdW5jdGlvbiMNCj4gSU5UIENhcGFibGUgICBJbnRlcnJ1cHQgVHlwZSAgIFBVTEwg SC9MICAgIE1NSU8gT2Zmc2V0DQo+ICtHUElPX0lOSVRfSVRFTSgiR1BJT19TVVMwDQo+IEdQSU9f U1VTMCIgICAgICxHUEkgICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAg ICAgICAsICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICwweDFkKSwNCj4gK0dQSU9fSU5JVF9J VEVNKCJHUElPX1NVUzENCj4gR1BJT19TVVMxIiAgICAgLEdQSSAgICAgICxOQSAgICAgICAgICAg LEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDIwS19IICAgICAg LDB4MjEpLA0KPiArR1BJT19JTklUX0lURU0oIkdQSU9fU1VTMg0KPiBHUElPX1NVUzIiICAgICAs R1BJICAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAg ICAgICAgICAgICAsMjBLX0ggICAgICAsMHgxZSksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BJT19T VVMzDQo+IEdQSU9fU1VTMyIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGNiAgICAgICAg ICAgLFlFUyAgICAgICAgICAsTGV2ZWxfTG93ICAgICAgICwyS19IICAgICAgICwwDQo+IHgxZiks DQo+ICtHUElPX0lOSVRfSVRFTSgiR1BJT19TVVM0DQo+IEdQSU9fU1VTNCIgICAgICxHUElPICAg ICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAg ICAgICxOT05FICAgICAgICwweDIwKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJHUElPX1NVUzUNCj4g R1BJT19TVVM1IiAgICAgLEdQSSAgICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAg ICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MjIpLA0KPiArR1BJT19J TklUX0lURU0oIkdQSU9fU1VTNg0KPiBHUElPX1NVUzYiICAgICAsR1BJICAgICAgLE5BICAgICAg ICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAg ICAgICAsMHgyNCksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BJT19TVVM3DQo+IEdQSU9fU1VTNyIg ICAgICxHUEkgICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAs ICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDIzKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJT RUNfR1BJT19TVVM4DQo+IEdQSU9fU1VTOCIgICAgICxHUE8gICAgICAsSEkgICAgICAgICAgICxG MCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICww eDI2KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRUNfR1BJT19TVVM5DQo+IEdQSU9fU1VTOSIgICAg ICxHUE8gICAgICAsSEkgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAg ICAgICAgICAgICAgICwyMEtfSCAgICAgICwweDI1KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJTRUNf R1BJT19TVVMxMA0KPiBHUElPX1NVUzEwIiAgICAsR1BPICAgICAgLEhJICAgICAgICAgICAsRjAg ICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgx MiksDQo+ICtHUElPX0lOSVRfSVRFTSgiU1VTUFdSRE5BQ0sgICAgICAgR1BJT1NfMTENCj4gIiAg ICAgLE5hdGl2ZSAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwg ICAgICAgICAgICAgICAgLDEwS19IICAgICAgLDB4MDcpLA0KPiArR1BJT19JTklUX0lURU0oIlBN VV9TVVNDTEsgICAgICAgIEdQSU9TXzEyDQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAg ICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAg ICwweDBiKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJQTVVfU0xQX1MwSVhfQiAgICBHUElPU18xMw0K PiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAg ICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgxNCksDQo+ICtHUElPX0lOSVRfSVRF TSgiUE1VX1NMUF9MQU5fQiAgICAgR1BJT1NfMTQNCj4gIiAgICAgLEdQTyAgICAgICxMTyAgICAg ICAgICAgLEYxICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLDEwS19I ICAgICAgLDB4MTEpLA0KPiArR1BJT19JTklUX0lURU0oIlBNVV9XQUtFX0IgICAgICAgIEdQSU9T XzE1DQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAg ICAgICAgICAsICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICwweDAxKSwNCj4gK0dQSU9fSU5J VF9JVEVNKCJQTVVfUFdSQlROX0IgICAgICBHUElPU18xNg0KPiAiICAgICAsTmF0aXZlICAgLE5B ICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAs MjBLX0ggICAgICAsMHgwOCksDQo+ICtHUElPX0lOSVRfSVRFTSgiUE1VX1dBS0VfTEFOX0IgICAg R1BJT1NfMTcNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYxICAgICAgICAgICAs ICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MGEpLA0KPiArR1BJ T19JTklUX0lURU0oIlNVU19TVEFUX0IgICAgICAgIEdQSU9TXzE4DQo+ICIgICAgICxHUE8gICAg ICAsTkEgICAgICAgICAgICxGMSAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAg ICAgICxOT05FICAgICAgICwweDEzKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJVU0JfT0MwX0IgICAg ICAgICBHUElPU18xOQ0KPiAiICAgICAsTmF0aXZlICAgLE5BICAgICAgICAgICAsRjAgICAgICAg ICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsMTBLX0ggICAgICAsMHgwYyksDQo+ ICtHUElPX0lOSVRfSVRFTSgiVVNCX09DMV9CICAgICAgICAgR1BJT1NfMjANCj4gIiAgICAgLE5h dGl2ZSAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAg ICAgICAgICAgLDEwS19IICAgICAgLDB4MDApLA0KPiArR1BJT19JTklUX0lURU0oIlNQSV9DUzFf QiAgICAgICAgIEdQSU9TXzIxDQo+ICIgICAgICxOYXRpdmUgICAsTkEgICAgICAgICAgICxGMCAg ICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDAy KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJHUElPX0RGWDAgICAgICAgICBHUElPU18yMg0KPiAiICAg ICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAg ICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgxNyksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BJ T19ERlgxICAgICAgICAgR1BJT1NfMjMNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAg LEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAg LDB4MjcpLA0KPiArR1BJT19JTklUX0lURU0oIkdQSU9fREZYMiAgICAgICAgIEdQSU9TXzI0DQo+ ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAg ICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDFjKSwNCj4gK0dQSU9fSU5JVF9JVEVN KCJHUElPX0RGWDMgICAgICAgICBHUElPU18yNQ0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAg ICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAg ICAgICAsMHgxYiksDQo+ICtHUElPX0lOSVRfSVRFTSgiR1BJT19ERlg0ICAgICAgICAgR1BJT1Nf MjYNCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAg ICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MTYpLA0KPiArR1BJT19JTklU X0lURU0oIkdQSU9fREZYNSAgICAgICAgIEdQSU9TXzI3DQo+ICIgICAgICxHUEkgICAgICAsTkEg ICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICwy MEtfSCAgICAgICwweDE1KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJHUElPX0RGWDYgICAgICAgICBH UElPU18yOA0KPiAiICAgICAsR1BJICAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwg ICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsMjBLX0ggICAgICAsMHgxOCksDQo+ICtHUElP X0lOSVRfSVRFTSgiR1BJT19ERlg3ICAgICAgICAgR1BJT1NfMjkNCj4gIiAgICAgLEdQSSAgICAg ICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAg ICAgLDIwS19IICAgICAgLDB4MTkpLA0KPiArR1BJT19JTklUX0lURU0oIkdQSU9fREZYOCAgICAg ICAgIEdQSU9TXzMwDQo+ICIgICAgICxHUEkgICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAg ICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICwyMEtfSCAgICAgICwweDFhKSwNCj4g K0dQSU9fSU5JVF9JVEVNKCJVU0JfVUxQSV8wX0NMSyAgICBHUElPU18zMQ0KPiAiICAgICAsR1BJ TyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAg ICAgICAgICAsTk9ORSAgICAgICAsMHgzMyksDQo+ICtHUElPX0lOSVRfSVRFTSgiVVNCX1VMUElf MF9EQVRBMCAgR1BJT1NfMzINCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAg ICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4Mzgp LA0KPiArR1BJT19JTklUX0lURU0oIlVTQl9VTFBJXzBfREFUQTEgIEdQSU9TXzMzDQo+ICIgICAg ICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAg ICAgICAgICAgICAgICxOT05FICAgICAgICwweDM2KSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJVU0Jf VUxQSV8wX0RBVEEyICBHUElPU18zNA0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAs RjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAs MHgzMSksDQo+ICtHUElPX0lOSVRfSVRFTSgiVVNCX1VMUElfMF9EQVRBMyAgR1BJT1NfMzUNCj4g IiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAg ICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MzcpLA0KPiArR1BJT19JTklUX0lURU0o IlVTQl9VTFBJXzBfREFUQTQgIEdQSU9TXzM2DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAg ICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAg ICAgICwweDMwKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJVU0JfVUxQSV8wX0RBVEE1ICBHUElPU18z Nw0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAg ICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgzOSksDQo+ICtHUElPX0lOSVRf SVRFTSgiVVNCX1VMUElfMF9EQVRBNiAgR1BJT1NfMzgNCj4gIiAgICAgLEdQSU8gICAgICxOQSAg ICAgICAgICAgLEYwICAgICAgICAgICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5P TkUgICAgICAgLDB4MzIpLA0KPiArR1BJT19JTklUX0lURU0oIlVTQl9VTFBJXzBfREFUQTcgIEdQ SU9TXzM5DQo+ICIgICAgICxHUElPICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAg ICAgICAgICAgICAsICAgICAgICAgICAgICAgICxOT05FICAgICAgICwweDNhKSwNCj4gK0dQSU9f SU5JVF9JVEVNKCJVU0JfVUxQSV8wX0RJUiAgICBHUElPU180MA0KPiAiICAgICAsR1BJTyAgICAg LE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAg ICAsTk9ORSAgICAgICAsMHgzNCksDQo+ICtHUElPX0lOSVRfSVRFTSgiVVNCX1VMUElfMF9OWFQg ICAgR1BJT1NfNDENCj4gIiAgICAgLEdQSU8gICAgICxOQSAgICAgICAgICAgLEYwICAgICAgICAg ICAsICAgICAgICAgICAgICwgICAgICAgICAgICAgICAgLE5PTkUgICAgICAgLDB4MzUpLA0KPiAr R1BJT19JTklUX0lURU0oIlVTQl9VTFBJXzBfU1RQICAgIEdQSU9TXzQyDQo+ICIgICAgICxHUElP ICAgICAsTkEgICAgICAgICAgICxGMCAgICAgICAgICAgLCAgICAgICAgICAgICAsICAgICAgICAg ICAgICAgICxOT05FICAgICAgICwweDNiKSwNCj4gK0dQSU9fSU5JVF9JVEVNKCJVU0JfVUxQSV8w X1JFRkNMSyBHUElPU180Mw0KPiAiICAgICAsR1BJTyAgICAgLE5BICAgICAgICAgICAsRjAgICAg ICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHgyOCks DQo+ICt9Ow0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtNdWx0aVBsYXRmb3JtR3Bpb1RhYmxlSW5p dCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICoqUGVpU2VydmljZXMsDQo+ ICsgIElOIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICpQbGF0Zm9ybUluZm9Ib2INCj4gKyAg KTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArTXVsdGlQbGF0Zm9ybUdwaW9Qcm9ncmFtICgNCj4g KyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4g RUZJX1BMQVRGT1JNX0lORk9fSE9CICAgICAgKlBsYXRmb3JtSW5mb0hvYg0KPiArICApOw0KPiAr DQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZEp1bXBlcnMNCj4gL0JvYXJkSnVt cGVycy5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0 aVBsYXRmb3JtTGliL0JvYXJkSnVtcGVycw0KPiAvQm9hcmRKdW1wZXJzLmMNCj4gbmV3IGZpbGUg bW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjdmNWUyNGVkZQ0KPiAtLS0gL2Rldi9u dWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkv TXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZEp1bXBlcnMNCj4gL0JvYXJkSnVtcGVycy5jDQo+IEBAIC0w LDAgKzEsMzAgQEANCj4gKy8qKiBAZmlsZQ0KPiArICBKdW1wZXIgc2V0dGluZyBmb3IgbXVsdGlw bGF0Zm9ybS4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0K PiArKiovDQo+ICsNCj4gKyNpbmNsdWRlIDxCb2FyZEp1bXBlcnMuaD4NCj4gKw0KPiArQk9PTEVB Tg0KPiArSXNSZWNvdmVyeUp1bXBlciAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMg ICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZPX0hPQiAqUGxh dGZvcm1JbmZvSG9iDQo+ICspDQo+ICt7DQo+ICsgIHJldHVybiBGQUxTRTsNCj4gK30NCj4gKw0K PiArQk9PTEVBTg0KPiArSXNNYW51ZmFjdHVyaW5nTW9kZSgNCj4gKyAgSU4gQ09OU1QgRUZJX1BF SV9TRVJWSUNFUyAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBPVVQgRUZJX1BMQVRGT1JNX0lO Rk9fSE9CICpQbGF0Zm9ybUluZm9Ib2INCj4gKykNCj4gK3sNCj4gKyAgcmV0dXJuIEZBTFNFOw0K PiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJkSnVtcGVycw0KPiAvQm9hcmRKdW1wZXJzLmgN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZv cm1MaWIvQm9hcmRKdW1wZXJzDQo+IC9Cb2FyZEp1bXBlcnMuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43YzFmYzg4OTA5DQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBs YXRmb3JtTGliL0JvYXJkSnVtcGVycw0KPiAvQm9hcmRKdW1wZXJzLmgNCj4gQEAgLTAsMCArMSwz MCBAQA0KPiArLyoqQGZpbGUNCj4gKyAgSnVtcGVyIHNldHRpbmcgZm9yIG11bHRpcGxhdGZvcm0u DQo+ICsNCj4gKyAgVGhpcyBmaWxlIGluY2x1ZGVzIHBhY2thZ2UgaGVhZGVyIGZpbGVzLCBsaWJy YXJ5IGNsYXNzZXMuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfQk9BUkRKVU1QRVJTX0hfDQo+ICsjZGVmaW5lIF9CT0FS REpVTVBFUlNfSF8NCj4gKw0KPiArI2luY2x1ZGUgPFBpUGVpLmg+DQo+ICsjaW5jbHVkZSAiUGNo QWNjZXNzLmgiDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1CYXNlQWRkcmVzc2VzLmgiDQo+ICsNCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L0lvTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xp Yi5oPg0KPiArI2luY2x1ZGUgPEd1aWQvUGxhdGZvcm1JbmZvLmg+DQo+ICsNCj4gK0JPT0xFQU4N Cj4gK0lzUmVjb3ZlcnlKdW1wZXIgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAg ICoqUGVpU2VydmljZXMsDQo+ICsgIElOIE9VVCBFRklfUExBVEZPUk1fSU5GT19IT0IgKlBsYXRm b3JtSW5mb0hvYg0KPiArKTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvQm9h cmRPZW1JZHMvDQo+IEJvYXJkT2VtSWRzLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvQm9hcmRPZW1JZHMvDQo+IEJvYXJkT2Vt SWRzLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYmIzZjRj MGEzMw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZE9lbUlkcy8NCj4gQm9hcmRP ZW1JZHMuYw0KPiBAQCAtMCwwICsxLDQzIEBADQo+ICsvKiogQGZpbGUNCj4gKyAgQUNQSSBvZW0g aWRzIHNldHRpbmcgZm9yIG11bHRpcGxhdGZvcm0uDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAy MDEwIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8Qm9hcmRPZW1J ZHMuaD4NCj4gKw0KPiArLy8NCj4gKy8vIEdsb2JhbCBtb2R1bGUgZGF0YQ0KPiArLy8NCj4gK0VG SV9TVEFUVVMNCj4gK0luaXRpYWxpemVCb2FyZE9lbUlkICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BF SV9TRVJWSUNFUyAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUExBVEZPUk1fSU5G T19IT0IgICAgICAgICpQbGF0Zm9ybUluZm9Ib2INCj4gKyAgKQ0KPiArew0KPiArICAgIFVJTlQ2 NCAgT2VtSWQ7DQo+ICsgICAgVUlOVDY0ICBPZW1UYWJsZUlkOw0KPiArDQo+ICsgICAgLy8NCj4g KyAgICAvLyBTZXQgT0VNIElEIGFjY29yZGluZyB0byBCb2FyZCBJRC4NCj4gKyAgICAvLw0KPiAr ICAgIHN3aXRjaCAoUGxhdGZvcm1JbmZvSG9iLT5Cb2FyZElkKSB7DQo+ICsNCj4gKyAgICAgIGNh c2UgQk9BUkRfSURfTUlOTk9XMjoNCj4gKyAgICAgIGNhc2UgQk9BUkRfSURfTUlOTk9XMl9UVVJC T1Q6DQo+ICsgICAgICBkZWZhdWx0Og0KPiArICAgICAgICBPZW1JZCA9IEVGSV9BQ1BJX09FTV9J RF9ERUZBVUxUOw0KPiArICAgICAgICBPZW1UYWJsZUlkID0gRUZJX0FDUElfT0VNX1RBQkxFX0lE X0RFRkFVTFQ7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFBsYXRm b3JtSW5mb0hvYi0+QWNwaU9lbUlkID0gT2VtSWQ7DQo+ICsgICAgUGxhdGZvcm1JbmZvSG9iLT5B Y3BpT2VtVGFibGVJZCA9IE9lbVRhYmxlSWQ7DQo+ICsgICAgcmV0dXJuICBFRklfU1VDQ0VTUzsN Cj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJkT2VtSWRzLw0KPiBCb2FyZE9lbUlk cy5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBs YXRmb3JtTGliL0JvYXJkT2VtSWRzLw0KPiBCb2FyZE9lbUlkcy5oDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjM1OThhMjFhNjENCj4gLS0tIC9kZXYvbnVsbA0K PiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRp UGxhdGZvcm1MaWIvQm9hcmRPZW1JZHMvDQo+IEJvYXJkT2VtSWRzLmgNCj4gQEAgLTAsMCArMSwy OSBAQA0KPiArLyoqQGZpbGUNCj4gKyAgQUNQSSBvZW0gaWRzIHNldHRpbmcgZm9yIG11bHRpcGxh dGZvcm0uDQo+ICsNCj4gKyAgVGhpcyBmaWxlIGluY2x1ZGVzIHBhY2thZ2UgaGVhZGVyIGZpbGVz LCBsaWJyYXJ5IGNsYXNzZXMuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiAr ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsN Cj4gDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgPEd1aWQvUGxhdGZvcm1JbmZvLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsNCj4gKyNkZWZpbmUgRUZJX0FD UElfT0VNX0lEX0RFRkFVTFQgICAgU0lHTkFUVVJFXzY0KCdJJywgJ04nLCAnVCcsICdFJywgJ0wn LCAnICcsICcNCj4gJywgJyAnKSAgICAgLy8gbWF4IDYgY2hhcnMNCj4gKyNkZWZpbmUgRUZJX0FD UElfT0VNX0lEMSAgICAgICAgICAgU0lHTkFUVVJFXzY0KCdJJywgJ04nLCAnVCcsICdFJywgJ0wn LCAnMScsICcgJywgJyAnKQ0KPiAvLyBtYXggNiBjaGFycw0KPiArI2RlZmluZSBFRklfQUNQSV9P RU1fSUQyICAgICAgICAgICBTSUdOQVRVUkVfNjQoJ0knLCAnTicsICdUJywgJ0UnLCAnTCcsICcy JywgJyAnLCAnICcpDQo+IC8vIG1heCA2IGNoYXJzDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0FDUElf T0VNX1RBQkxFX0lEX0RFRkFVTFQgICBTSUdOQVRVUkVfNjQoJ0UnLCAnRCcsICdLJywgJzInLA0K PiAnICcsICcgJywgJyAnLCAnICcpDQo+ICsjZGVmaW5lIEVGSV9BQ1BJX09FTV9UQUJMRV9JRDEg ICAgICAgICAgU0lHTkFUVVJFXzY0KCdFJywgJ0QnLCAnSycsICcyJywgJ18nLA0KPiAnMScsICcg JywgJyAnKQ0KPiArI2RlZmluZSBFRklfQUNQSV9PRU1fVEFCTEVfSUQyICAgICAgICAgIFNJR05B VFVSRV82NCgnRScsICdEJywgJ0snLCAnMicsICdfJywNCj4gJzInLCAnICcsICcgJykNCj4gKw0K PiArDQo+ICtFRklfU1RBVFVTDQo+ICtJbml0aWFsaXplQm9hcmRPZW1JZCAoDQo+ICsgIElOIENP TlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUExB VEZPUk1fSU5GT19IT0IgICAgICAgICpQbGF0Zm9ybUluZm9Ib2INCj4gKyAgKTsNCj4gZGlmZiAt LWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvTXVsdGlQ bGF0Zm9ybUxpYi9Cb2FyZFNzaWRTdmlkLw0KPiBCb2FyZFNzaWRTdmlkLmMNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvQm9hcmRT c2lkU3ZpZA0KPiAvQm9hcmRTc2lkU3ZpZC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAuLjc3NzY0OTQ1YzMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIv Qm9hcmRTc2lkU3ZpZA0KPiAvQm9hcmRTc2lkU3ZpZC5jDQo+IEBAIC0wLDAgKzEsMzggQEANCj4g Ky8qKiBAZmlsZQ0KPiArICBTdWJzeXN0ZW0gSURzIHNldHRpbmcgZm9yIG11bHRpcGxhdGZvcm0u DQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0K PiArDQo+ICsjaW5jbHVkZSA8Qm9hcmRTc2lkU3ZpZC5oPg0KPiArDQo+ICsvLw0KPiArLy8gR2xv YmFsIG1vZHVsZSBkYXRhDQo+ICsvLw0KPiArRUZJX1NUQVRVUw0KPiArSW5pdGlhbGl6ZUJvYXJk U3NpZFN2aWQgKA0KPiArICAgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgKipQZWlT ZXJ2aWNlcywNCj4gKyAgICBJTiBFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAgICpQbGF0Zm9y bUluZm9Ib2INCj4gKyAgKQ0KPiArew0KPiArICAgIFVJTlQzMiAgU3NpZFN2aWRWYWx1ZSA9IDA7 DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFNldCBPRU0gSUQgYWNjb3JkaW5nIHRvIEJvYXJk IElELg0KPiArICAgIC8vDQo+ICsgICAgc3dpdGNoIChQbGF0Zm9ybUluZm9Ib2ItPkJvYXJkSWQp IHsNCj4gKyAgICAgIGNhc2UgQk9BUkRfSURfTUlOTk9XMjoNCj4gKyAgICAgIGNhc2UgQk9BUkRf SURfTUlOTk9XMl9UVVJCT1Q6DQo+ICsgICAgICBkZWZhdWx0Og0KPiArICAgICAgICBTc2lkU3Zp ZFZhbHVlID0NCj4gU1VCU1lTVEVNX1NWSURfU1NJRDsvL1NVQlNZU1RFTV9TVklEX1NTSURfREVG QVVMVDsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgICB9DQo+ICsgICAgUGxhdGZvcm1JbmZv SG9iLT5Tc2lkU3ZpZCA9IFNzaWRTdmlkVmFsdWU7DQo+ICsgICAgcmV0dXJuICBFRklfU1VDQ0VT UzsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL0JvYXJkU3NpZFN2aWQvDQo+IEJvYXJk U3NpZFN2aWQuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkv TXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZFNzaWRTdmlkDQo+IC9Cb2FyZFNzaWRTdmlkLmgNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNmE5OTk1YzM0Yw0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xp YnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9Cb2FyZFNzaWRTdmlkDQo+IC9Cb2FyZFNzaWRTdmlkLmgN Cj4gQEAgLTAsMCArMSwzNSBAQA0KPiArLyoqQGZpbGUNCj4gKyAgU3Vic3lzdGVtIElEcyBzZXR0 aW5nIGZvciBtdWx0aXBsYXRmb3JtLg0KPiArDQo+ICsgIFRoaXMgZmlsZSBpbmNsdWRlcyBwYWNr YWdlIGhlYWRlciBmaWxlcywgbGlicmFyeSBjbGFzc2VzLg0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAxMCAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxC Uj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1Q YXRlbnQNCj4gKw0KPiArDQo+IA0KPiArKiovDQo+ICsNCj4gKyNpbmNsdWRlIDxHdWlkL1BsYXRm b3JtSW5mby5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArDQo+ ICsvLw0KPiArLy8gRGVmYXVsdCBWZW5kb3IgSUQgYW5kIFN1YnN5c3RlbSBJRA0KPiArLy8NCj4g KyNkZWZpbmUgU1VCU1lTVEVNX1ZFTkRPUl9JRDEgICAweDgwODYNCj4gKyNkZWZpbmUgU1VCU1lT VEVNX0RFVklDRV9JRDEgICAweDE5OTkNCj4gKyNkZWZpbmUgU1VCU1lTVEVNX1NWSURfU1NJRDEg ICAoU1VCU1lTVEVNX1ZFTkRPUl9JRDEgKw0KPiAoU1VCU1lTVEVNX0RFVklDRV9JRDEgPDwgMTYp KQ0KPiArDQo+ICsjZGVmaW5lIFNVQlNZU1RFTV9WRU5ET1JfSUQyICAgMHg4MDg2DQo+ICsjZGVm aW5lIFNVQlNZU1RFTV9ERVZJQ0VfSUQyICAgMHgxODg4DQo+ICsjZGVmaW5lIFNVQlNZU1RFTV9T VklEX1NTSUQyICAgKFNVQlNZU1RFTV9WRU5ET1JfSUQyICsNCj4gKFNVQlNZU1RFTV9ERVZJQ0Vf SUQyIDw8IDE2KSkNCj4gKw0KPiArI2RlZmluZSBTVUJTWVNURU1fVkVORE9SX0lEICAgMHg4MDg2 DQo+ICsjZGVmaW5lIFNVQlNZU1RFTV9ERVZJQ0VfSUQgICAweDEyMzQNCj4gKyNkZWZpbmUgU1VC U1lTVEVNX1NWSURfU1NJRCAgIChTVUJTWVNURU1fVkVORE9SX0lEICsNCj4gKFNVQlNZU1RFTV9E RVZJQ0VfSUQgPDwgMTYpKQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtJbml0aWFsaXplQm9hcmRT c2lkU3ZpZCAoDQo+ICsgICAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAqKlBlaVNl cnZpY2VzLA0KPiArICAgIElOIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAgKlBsYXRmb3Jt SW5mb0hvYg0KPiArICApOw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3JtTGliL011bHRpUGxhdGZvcm1MDQo+IGli LmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxh dGZvcm1MaWIvTXVsdGlQbGF0Zm9ybQ0KPiBMaWIuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi5kMjRlOTBjN2Y0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9NdWx0aVBsYXRmb3Jt TGliL011bHRpUGxhdGZvcm0NCj4gTGliLmMNCj4gQEAgLTAsMCArMSwxMjAgQEANCj4gKy8qKiBA ZmlsZQ0KPiArICBNdWx0aXBsYXRmb3JtIGluaXRpYWxpemF0aW9uLg0KPiArDQo+ICsgIENvcHly aWdodCAoYykgMjAxMCAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUg PE11bHRpUGxhdGZvcm1MaWIuaD4NCj4gKw0KPiArLyoqDQo+ICsgIFBsYXRmb3JtIFR5cGUgZGV0 ZWN0aW9uLiBCZWNhdXNlIHRoZSBQRUkgZ2xvYmxlIHZhcmlhYmxlDQo+ICsgIGlzIGluIHRoZSBm bGFzaCwgaXQgY291bGQgbm90IGNoYW5nZSBkaXJlY3RseS5TbyB1c2UNCj4gKyAgMiBQUElzIHRv IGRpc3Rpbmd1aXNoIHRoZSBwbGF0Zm9ybSB0eXBlLg0KPiArDQo+ICsgIEBwYXJhbSBGZnNIZWFk ZXIgICAgICAgUG9pbnRlciB0byBGaXJtd2FyZSBGaWxlIFN5c3RlbSBmaWxlIGhlYWRlci4NCj4g KyAgQHBhcmFtIFBlaVNlcnZpY2VzICAgICBHZW5lcmFsIHB1cnBvc2Ugc2VydmljZXMgYXZhaWxh YmxlIHRvIGV2ZXJ5IFBFSU0uDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICBNZW1v cnkgaW5pdGlhbGl6YXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBP dGhlcnMgICAgICAgICBBbGwgb3RoZXIgZXJyb3IgY29uZGl0aW9ucyBlbmNvdW50ZXJlZCByZXN1 bHQgaW4gYW4NCj4gQVNTRVJULg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK011bHRp UGxhdGZvcm1JbmZvSW5pdCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAg ICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZPX0hPQiAg ICAgICAgICAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyIFBjaWVM ZW5ndGg7DQo+ICsNCj4gKw0KPiArICBQbGF0Zm9ybUluZm9Ib2ItPklvaFNrdSA9IE1tUGNpMTYo MCwgTUNfQlVTLCBNQ19ERVYsIE1DX0ZVTiwNCj4gUENJX0RFVklDRV9JRF9PRkZTRVQpOw0KPiAr DQo+ICsgIFBsYXRmb3JtSW5mb0hvYi0+SW9oUmV2aXNpb24gPSBNbVBjaTgoMCwgTUNfQlVTLCBN Q19ERVYsIE1DX0ZVTiwNCj4gUENJX1JFVklTSU9OX0lEX09GRlNFVCk7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gVXBkYXRlIElDSCBUeXBlDQo+ICsgIC8vDQo+ICsgIC8vDQo+ICsgIC8vIERldmlj ZSBJRA0KPiArICAvLw0KPiArICBQbGF0Zm9ybUluZm9Ib2ItPkljaFNrdSA9IFBjaExwY1BjaUNm ZzE2KFBDSV9ERVZJQ0VfSURfT0ZGU0VUKTsNCj4gKw0KPiArICBQbGF0Zm9ybUluZm9Ib2ItPklj aFJldmlzaW9uID0gUGNoTHBjUGNpQ2ZnOChQQ0lfUkVWSVNJT05fSURfT0ZGU0VUKTsNCj4gKw0K PiArICAvLw0KPiArICAvLzY0TUINCj4gKyAgLy8NCj4gKyAgUGNpZUxlbmd0aCA9IDB4MDQwMDAw MDA7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRG9uJ3Qgc3VwcG9ydCBCQVNFIGFib3ZlIDRHQiBj dXJyZW50bHkuDQo+ICsgIC8vDQo+ICsgIFBsYXRmb3JtSW5mb0hvYi0+UGNpRGF0YS5QY2lFeHBy ZXNzU2l6ZSAgICAgPSBQY2llTGVuZ3RoOw0KPiArICBQbGF0Zm9ybUluZm9Ib2ItPlBjaURhdGEu UGNpRXhwcmVzc0Jhc2UgICAgID0gUGNkR2V0NjQNCj4gKFBjZFBjaUV4cHJlc3NCYXNlQWRkcmVz cyk7DQo+ICsNCj4gKyAgUGxhdGZvcm1JbmZvSG9iLT5QY2lEYXRhLlBjaVJlc291cmNlTWVtMzJC YXNlICA9IChVSU5UMzIpDQo+IChQbGF0Zm9ybUluZm9Ib2ItPlBjaURhdGEuUGNpRXhwcmVzc0Jh c2UgLSBSRVNfTUVNMzJfTUlOX0xFTik7DQo+ICsgIFBsYXRmb3JtSW5mb0hvYi0+UGNpRGF0YS5Q Y2lSZXNvdXJjZU1lbTMyTGltaXQgPSAoVUlOVDMyKQ0KPiAoUGxhdGZvcm1JbmZvSG9iLT5QY2lE YXRhLlBjaUV4cHJlc3NCYXNlIC0xKTsNCj4gKw0KPiArICBQbGF0Zm9ybUluZm9Ib2ItPlBjaURh dGEuUGNpUmVzb3VyY2VNZW02NEJhc2UgICA9DQo+IFJFU19NRU02NF8zNl9CQVNFOw0KPiArICBQ bGF0Zm9ybUluZm9Ib2ItPlBjaURhdGEuUGNpUmVzb3VyY2VNZW02NExpbWl0ICA9DQo+IFJFU19N RU02NF8zNl9MSU1JVDsNCj4gKyAgUGxhdGZvcm1JbmZvSG9iLT5DcHVEYXRhLkNwdUFkZHJlc3NX aWR0aCAgICAgICAgPSAzNjsNCj4gKw0KPiArICBQbGF0Zm9ybUluZm9Ib2ItPk1lbURhdGEuTWVt TWlyMCA9IFBsYXRmb3JtSW5mb0hvYi0NCj4gPlBjaURhdGEuUGNpUmVzb3VyY2VNZW02NEJhc2U7 DQo+ICsgIFBsYXRmb3JtSW5mb0hvYi0+TWVtRGF0YS5NZW1NaXIxID0gUGxhdGZvcm1JbmZvSG9i LQ0KPiA+UGNpRGF0YS5QY2lSZXNvdXJjZU1lbTY0TGltaXQgKyAxOw0KPiArDQo+ICsgIFBsYXRm b3JtSW5mb0hvYi0+UGNpRGF0YS5QY2lSZXNvdXJjZU1pblNlY0J1cyAgPSAxOyAgLy9jYW4gYmUg Y2hhbmdlZA0KPiBieSBTeXN0ZW1Db25maWd1cmF0aW9uLT5QY2lNaW5TZWNvbmRhcnlCdXM7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0IE1lbU1heFRvbG0gdG8gdGhlIGxvd2VzdCBhZGRyZXNz IGJldHdlZW4gUENJZSBCYXNlIGFuZCBQQ0kzMg0KPiBCYXNlLg0KPiArICAvLw0KPiArICBpZiAo UGxhdGZvcm1JbmZvSG9iLT5QY2lEYXRhLlBjaUV4cHJlc3NCYXNlID4gUGxhdGZvcm1JbmZvSG9i LQ0KPiA+UGNpRGF0YS5QY2lSZXNvdXJjZU1lbTMyQmFzZSApIHsNCj4gKyAgICBQbGF0Zm9ybUlu Zm9Ib2ItPk1lbURhdGEuTWVtTWF4VG9sbSA9IChVSU5UMzIpDQo+IFBsYXRmb3JtSW5mb0hvYi0+ UGNpRGF0YS5QY2lSZXNvdXJjZU1lbTMyQmFzZTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBQbGF0 Zm9ybUluZm9Ib2ItPk1lbURhdGEuTWVtTWF4VG9sbSA9IChVSU5UMzIpDQo+IFBsYXRmb3JtSW5m b0hvYi0+UGNpRGF0YS5QY2lFeHByZXNzQmFzZTsNCj4gKyAgfQ0KPiArICBQbGF0Zm9ybUluZm9I b2ItPk1lbURhdGEuTWVtVG9sbSA9IFBsYXRmb3JtSW5mb0hvYi0NCj4gPk1lbURhdGEuTWVtTWF4 VG9sbTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBQbGF0Zm9ybSBQQ0kgTU1JTyBTaXplIGluIHVu aXQgb2YgMU1CLg0KPiArICAvLw0KPiArICBQbGF0Zm9ybUluZm9Ib2ItPk1lbURhdGEuTW1pb1Np emUgPSAweDEwMDAgLQ0KPiAoVUlOVDE2KShQbGF0Zm9ybUluZm9Ib2ItPk1lbURhdGEuTWVtTWF4 VG9sbSA+PiAyMCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRW5hYmxlIElDSCBJT0FQSUMNCj4g KyAgLy8NCj4gKyAgUGxhdGZvcm1JbmZvSG9iLT5TeXNEYXRhLlN5c0lvQXBpY0VuYWJsZSAgPSBJ Q0hfSU9BUElDOw0KPiArDQo+ICsgIERFQlVHICgoRUZJX0RfRVJST1IsICJQbGF0Zm9ybUZsYXZv ciBpcyAleA0KPiAoJXg9dGFibGV0LCV4PW1vYmlsZSwleD1kZXNrdG9wKVxuIiwNCj4gKyAgICBQ bGF0Zm9ybUluZm9Ib2ItPlBsYXRmb3JtRmxhdm9yLA0KPiArICAgIEZsYXZvclRhYmxldCwNCj4g KyAgICBGbGF2b3JNb2JpbGUsDQo+ICsgICAgRmxhdm9yRGVza3RvcCkpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIEdldCBQbGF0Zm9ybSBJbmZvIGFuZCBmaWxsIHRoZSBIb2IuDQo+ICsgIC8vDQo+ ICsgIFBsYXRmb3JtSW5mb0hvYi0+UmV2aXNvbklkID0gUExBVEZPUk1fSU5GT19IT0JfUkVWSVNJ T047DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IEdQSU8gdGFibGUNCj4gKyAgLy8NCj4gKyAg TXVsdGlQbGF0Zm9ybUdwaW9UYWJsZUluaXQgKFBlaVNlcnZpY2VzLCBQbGF0Zm9ybUluZm9Ib2Ip Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2dyYW0gR1BJTw0KPiArICAvLw0KPiArICBNdWx0 aVBsYXRmb3JtR3Bpb1Byb2dyYW0gKFBlaVNlcnZpY2VzLCBQbGF0Zm9ybUluZm9Ib2IpOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFVwZGF0ZSBPZW1JZA0KPiArICAvLw0KPiArICBJbml0aWFsaXpl Qm9hcmRPZW1JZCAoUGVpU2VydmljZXMsIFBsYXRmb3JtSW5mb0hvYik7DQo+ICsgIEluaXRpYWxp emVCb2FyZFNzaWRTdmlkIChQZWlTZXJ2aWNlcywgUGxhdGZvcm1JbmZvSG9iKTsNCj4gKw0KPiAr ICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvTXVsdGlQbGF0 Zm9ybUwNCj4gaWIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJh cnkvTXVsdGlQbGF0Zm9ybUxpYi9NdWx0aVBsYXRmb3JtDQo+IExpYi5oDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjgwN2NhMjBhY2INCj4gLS0tIC9kZXYvbnVs bA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011 bHRpUGxhdGZvcm1MaWIvTXVsdGlQbGF0Zm9ybQ0KPiBMaWIuaA0KPiBAQCAtMCwwICsxLDg5IEBA DQo+ICsvKipAZmlsZQ0KPiArICBNdWx0aXBsYXRmb3JtIGluaXRpYWxpemF0aW9uIGhlYWRlciBm aWxlLg0KPiArDQo+ICsgIFRoaXMgZmlsZSBpbmNsdWRlcyBwYWNrYWdlIGhlYWRlciBmaWxlcywg bGlicmFyeSBjbGFzc2VzLg0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAxMyAtIDIwMTQsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ IA0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX01VTFRJUExBVEZPUk1fTElCX0hfDQo+ICsjZGVm aW5lIF9NVUxUSVBMQVRGT1JNX0xJQl9IXw0KPiArDQo+ICsNCj4gKyNkZWZpbmUgTEVOXzY0TSAg ICAgICAweDQwMDAwMDANCj4gKw0KPiArLy8NCj4gKy8vIERlZmF1bHQgUENJMzIgcmVzb3VyY2Ug c2l6ZQ0KPiArLy8NCj4gKyNkZWZpbmUgUkVTX01FTTMyX01JTl9MRU4gICAweDM4MDAwMDAwDQo+ ICsNCj4gKyNkZWZpbmUgUkVTX0lPX0JBU0UgICAweDBEMDANCj4gKyNkZWZpbmUgUkVTX0lPX0xJ TUlUICAweEZGRkYNCj4gKw0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8RnJhbWV3b3JrUGVpLmg+DQo+ICsNCj4gKyNp bmNsdWRlICJQbGF0Zm9ybUJhc2VBZGRyZXNzZXMuaCINCj4gKyNpbmNsdWRlICJQY2hBY2Nlc3Mu aCINCj4gKyNpbmNsdWRlICJTZXR1cE1vZGUuaCINCj4gKyNpbmNsdWRlICJQbGF0Zm9ybUJvb3RN b2RlLmgiDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm0uaCINCj4gKw0KPiArI2luY2x1ZGUgPFBwaS9T dGFsbC5oPg0KPiArI2luY2x1ZGUgPEd1aWQvU2V0dXBWYXJpYWJsZS5oPg0KPiArI2luY2x1ZGUg PFBwaS9BdGFDb250cm9sbGVyLmg+DQo+ICsjaW5jbHVkZSA8UHBpL0ZpbmRGdi5oPg0KPiArI2lu Y2x1ZGUgPFBwaS9Cb290SW5SZWNvdmVyeU1vZGUuaD4NCj4gKyNpbmNsdWRlIDxQcGkvUmVhZE9u bHlWYXJpYWJsZTIuaD4NCj4gKyNpbmNsdWRlIDxQcGkvQ2Fwc3VsZS5oPg0KPiArI2luY2x1ZGUg PEd1aWQvRWZpVnBkRGF0YS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1BjZExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L0hvYkxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2lu Y2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvUGNpMjIuaD4NCj4gKyNpbmNsdWRlIDxQcGkvU3BlYWtl ci5oPg0KPiArI2luY2x1ZGUgPEd1aWQvRmlybXdhcmVGaWxlU3lzdGVtLmg+DQo+ICsjaW5jbHVk ZSA8R3VpZC9NZW1vcnlUeXBlSW5mb3JtYXRpb24uaD4NCj4gKyNpbmNsdWRlIDxQcGkvQ2FjaGUu aD4NCj4gKyNpbmNsdWRlIDxQcGkvUmVzZXQuaD4NCj4gKyNpbmNsdWRlIDxQcGkvRW5kT2ZQZWlQ aGFzZS5oPg0KPiArI2luY2x1ZGUgPFBwaS9NZW1vcnlEaXNjb3ZlcmVkLmg+DQo+ICsjaW5jbHVk ZSA8R3VpZC9HbG9iYWxWYXJpYWJsZS5oPg0KPiArI2luY2x1ZGUgPFBwaS9SZWNvdmVyeU1vZHVs ZS5oPg0KPiArI2luY2x1ZGUgPFBwaS9EZXZpY2VSZWNvdmVyeU1vZHVsZS5oPg0KPiArI2luY2x1 ZGUgPEd1aWQvQ2Fwc3VsZS5oPg0KPiArI2luY2x1ZGUgPEd1aWQvUmVjb3ZlcnlEZXZpY2UuaD4N Cj4gKyNpbmNsdWRlIDxQcGkvTWFzdGVyQm9vdE1vZGUuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1Bs YXRmb3JtSW5mby5oPg0KPiArDQo+ICsjaW5jbHVkZSA8Qm9hcmRPZW1JZHMvQm9hcmRPZW1JZHMu aD4NCj4gKyNpbmNsdWRlIDxCb2FyZFNzaWRTdmlkL0JvYXJkU3NpZFN2aWQuaD4NCj4gKw0KPiAr DQo+ICtFRklfU1RBVFVTDQo+ICtHZXRQbGF0Zm9ybUluZm9Ib2IgKA0KPiArICBJTiBDT05TVCBF RklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBPVVQgRUZJX1BM QVRGT1JNX0lORk9fSE9CICAgICAqKlBsYXRmb3JtSW5mb0hvYg0KPiArICApOw0KPiArDQo+ICtF RklfU1RBVFVTDQo+ICtNdWx0aVBsYXRmb3JtR3Bpb1RhYmxlSW5pdCAoDQo+ICsgIElOIENPTlNU IEVGSV9QRUlfU0VSVklDRVMgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIEVGSV9QTEFURk9S TV9JTkZPX0hPQiAgICAgICpQbGF0Zm9ybUluZm9Ib2INCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NU QVRVUw0KPiArTXVsdGlQbGF0Zm9ybUdwaW9Qcm9ncmFtICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BF SV9TRVJWSUNFUyAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1BMQVRGT1JNX0lORk9f SE9CICAgICAgKlBsYXRmb3JtSW5mb0hvYg0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlm ZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvTXVs dGlQbGF0Zm9ybUxpYi9NdWx0aVBsYXRmb3JtTA0KPiBpYi5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvTXVsdGlQbGF0Zm9y bQ0KPiBMaWIuaW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu Ljc1OGU0N2NhNzANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvTXVsdGlQbGF0Zm9ybQ0K PiBMaWIuaW5mDQo+IEBAIC0wLDAgKzEsNzcgQEANCj4gKyMNCj4gKyMNCj4gKyMgQ29weXJpZ2h0 IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZA0KPiArIw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArIw0KPiArIw0KPiArIw0KPiArIw0KPiArIyAgTW9kdWxlIE5hbWU6DQo+ICsjDQo+ICsj ICAgTXVsdGlQbGF0Zm9ybS5pbmYNCj4gKyMNCj4gKyMgIEFic3RyYWN0Og0KPiArIw0KPiArIw0K PiArLS0qLw0KPiArDQo+ICsNCj4gK1tkZWZpbmVzXQ0KPiArICBJTkZfVkVSU0lPTiAgICAgICAg ICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAg ICAgICA9IE11bHRpUGxhdGZvcm1MaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAg ICAgID0gQUI4M0E1MkItQjQ0QS00NjJjLUIwOTktNDQ0Q0MwRUQyNzREDQo+ICsgIE1PRFVMRV9U WVBFICAgICAgICAgICAgICAgICAgICA9IFBFSU0NCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAg ICAgICAgICAgID0gMS4wDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IE11 bHRpUGxhdGZvcm1MaWINCj4gKyAgUElfU1BFQ0lGSUNBVElPTl9WRVJTSU9OICAgICAgID0gMHgw MDAxMDAwQQ0KPiArDQo+ICtbc291cmNlc10NCj4gKyAgTXVsdGlQbGF0Zm9ybUxpYi5jDQo+ICsg IE11bHRpUGxhdGZvcm1MaWIuaA0KPiArICBQbGF0Zm9ybUluZm9Ib2IuYw0KPiArI0dQSU8NCj4g KyAgQm9hcmRHcGlvcy9Cb2FyZEdwaW9zLmMNCj4gKyAgQm9hcmRHcGlvcy9Cb2FyZEdwaW9zLmgN Cj4gKw0KPiArI0Nsa0dlbg0KPiArICBCb2FyZENsa0dlbnMvQm9hcmRDbGtHZW5zLmMNCj4gKyAg Qm9hcmRDbGtHZW5zL0JvYXJkQ2xrR2Vucy5oDQo+ICsNCj4gKyNKdW1wZXINCj4gKyAgQm9hcmRK dW1wZXJzL0JvYXJkSnVtcGVycy5jDQo+ICsgIEJvYXJkSnVtcGVycy9Cb2FyZEp1bXBlcnMuaA0K PiArDQo+ICsjT2VtSWQNCj4gKyAgQm9hcmRPZW1JZHMvQm9hcmRPZW1JZHMuYw0KPiArICBCb2Fy ZE9lbUlkcy9Cb2FyZE9lbUlkcy5oDQo+ICsNCj4gKyNTU0lEU1ZJRA0KPiArICBCb2FyZFNzaWRT dmlkL0JvYXJkU3NpZFN2aWQuYw0KPiArICBCb2FyZFNzaWRTdmlkL0JvYXJkU3NpZFN2aWQuaA0K PiArW0d1aWRzXQ0KPiArDQo+ICsgIGdFZmlQbGF0Zm9ybUluZm9HdWlkICAgICAgICAgICAgICAg ICAgICAgIyBBTFdBWVNfQ09OU1VNRUQNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cv TWRlUGtnLmRlYw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBWbHYy VGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtQa2cvSW50 ZWxGcmFtZXdvcmtQa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnLmRlYw0KPiArICBWbHYyU29jQmluUGtnL1ZsdjJTb2NCaW5Qa2cuZGVjDQo+ICsN Cj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgRGVidWdMaWINCj4gKyAgSG9iTGliDQo+ICsgIElv TGliDQo+ICsjICBQZWlLc2NMaWINCj4gKw0KPiArW1BwaXNdDQo+ICsgIGdFZmlQZWlSZWFkT25s eVZhcmlhYmxlMlBwaUd1aWQNCj4gKw0KPiArW1BjZC5jb21tb25dDQo+ICsgIGdFZmlNZGVQa2dU b2tlblNwYWNlR3VpZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MNCj4gKw0KPiArW0d1aWRzXQ0K PiArICBnRWZpU2V0dXBWYXJpYWJsZUd1aWQNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvTXVsdGlQbGF0Zm9ybUxpYi9QbGF0Zm9ybUlu Zm9IDQo+IG9iLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L011bHRpUGxhdGZvcm1MaWIvUGxhdGZvcm1JbmZvSA0KPiBvYi5jDQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmVmYTM2MTlhNzYNCj4gLS0tIC9kZXYvbnVsbA0K PiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L011bHRp UGxhdGZvcm1MaWIvUGxhdGZvcm1JbmZvSA0KPiBvYi5jDQo+IEBAIC0wLDAgKzEsNTQgQEANCj4g Ky8qKiBAZmlsZQ0KPiArICBQbGF0Zm9ybSBIb2IgYWNjZXNzIGludGVyZmFjZSBmb3IgbXVsdGlw bGF0Zm9ybS4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0K PiArKiovDQo+ICsNCj4gKyNpbmNsdWRlIDxNdWx0aVBsYXRmb3JtTGliLmg+DQo+ICsNCj4gKy8q Kg0KPiArICBSZXR1cm5zIHRoZSBQbGF0Zm9ybSBJbmZvIG9mIHRoZSBwbGF0Zm9ybSBmcm9tIHRo ZSBIT0IuDQo+ICsNCj4gKyAgQHBhcmFtIFBlaVNlcnZpY2VzICAgICAgICAgR2VuZXJhbCBwdXJw b3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeSBQRUlNLg0KPiArICBAcGFyYW0gUGxhdGZv cm1JbmZvSG9iICAgICBQb2ludGVyIHRvIHRoZSBQTEFURk9STV9JTkZPX0hPQiBQb2ludGVyDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgVGhlIGZ1bmN0aW9uIGNvbXBsZXRl ZCBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgIFBsYXRmb3Jt SW5mb0hvYiBkYXRhIGRvZXNuJ3QgZXhpc3QsIHVzZQ0KPiBkZWZhdWx0IGluc3RlYWQuDQo+ICsN Cj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArR2V0UGxhdGZvcm1JbmZvSG9iICgNCj4gKyAgSU4g Q09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgT1VU IEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgKipQbGF0Zm9ybUluZm9Ib2INCj4gKyAgKQ0KPiAr ew0KPiArICBFRklfUEVJX0hPQl9QT0lOVEVSUyAgICAgICAgR3VpZEhvYjsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBGaW5kIHRoZSBQbGF0Zm9ybUluZm8gSE9CDQo+ICsgIC8vDQo+ICsgIEd1aWRI b2IuUmF3ID0gR2V0SG9iTGlzdCAoKTsNCj4gKyAgaWYgKEd1aWRIb2IuUmF3ID09IE5VTEwpIHsN Cj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmICgoR3Vp ZEhvYi5SYXcgPSBHZXROZXh0R3VpZEhvYiAoJmdFZmlQbGF0Zm9ybUluZm9HdWlkLA0KPiBHdWlk SG9iLlJhdykpICE9IE5VTEwpIHsNCj4gKyAgICAqUGxhdGZvcm1JbmZvSG9iID0gR0VUX0dVSURf SE9CX0RBVEEgKEd1aWRIb2IuR3VpZCk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBQ bGF0Zm9ybUluZm8gUEVJTSBzaG91bGQgcHJvdmlkZSB0aGlzIEhPQiBkYXRhLCBpZiBub3QgQVNT RVJUIGFuZA0KPiByZXR1cm4gZXJyb3IuDQo+ICsgIC8vDQo+ICsgIEFTU0VSVCAoKlBsYXRmb3Jt SW5mb0hvYiAhPSBOVUxMKTsNCj4gKyAgaWYgKCEoKlBsYXRmb3JtSW5mb0hvYikpIHsNCj4gKyAg ICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VD Q0VTUzsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvTGlicmFyeS9QY2hQbGF0Zm9ybUxpYi9QY2hQbGF0Zm9ybUxpYi5pDQo+IG5m DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QY2hQbGF0Zm9y bUxpYi9QY2hQbGF0Zm9ybUxpYi5pDQo+IG5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAuLjZiNWNjMjg2MWMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BjaFBsYXRmb3JtTGliL1Bj aFBsYXRmb3JtTGliLmkNCj4gbmYNCj4gQEAgLTAsMCArMSw1MCBAQA0KPiArIw0KPiArIw0KPiAr Iy8qKysNCj4gKyMNCj4gKyMgIENvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKyMNCj4g KyMgIE1vZHVsZSBOYW1lOg0KPiArIw0KPiArIyAgICBQZWlEeGVQY2hQbGF0Zm9ybUxpYi5pbmYN Cj4gKyMNCj4gKyMgIEFic3RyYWN0Og0KPiArIw0KPiArIyAgICBDb21wb25lbnQgZGVzY3JpcHRp b24gZmlsZSBmb3IgUEVJL0RYRSBQQ0ggUGxhdGZvcm0gTGliDQo+ICsjDQo+ICsjLS0qLw0KPiAr DQo+ICtbZGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgw MDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBQY2hQbGF0Zm9y bUxpYg0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSAzMkY4OUNCQy0zMDVE LTRiZGQtOEIyQy05QzY1NTkyRTY2QUMNCj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAg ICAgID0gQkFTRQ0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4g KyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gUGNoUGxhdGZvcm1MaWINCj4gKw0K PiArW3NvdXJjZXMuY29tbW9uXQ0KPiArICBQY2hQbGF0Zm9ybUxpYnJhcnkuaA0KPiArICBQY2hQ bGF0Zm9ybUxpYnJhcnkuYw0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cu ZGVjDQo+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VS ZWZDb2RlUGtnL1ZsdjJEZXZpY2VSZWZDb2RlUGtnLmRlYw0KPiArDQo+ICtbTGlicmFyeUNsYXNz ZXNdDQo+ICsgIEJhc2VMaWINCj4gKyAgUGNpTGliDQo+ICsgIElvTGliDQo+ICsgIERlYnVnTGli DQo+ICsNCj4gKw0KPiArW1BjZC5jb21tb25dDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MNCj4gKw0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiAr DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L1BjaFBsYXRmb3JtTGliL1BjaFBsYXRmb3JtTGlicg0KPiBhcnkuYw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGNoUGxhdGZvcm1MaWIvUGNoUGxhdGZv cm1MaWJyDQo+IGFyeS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLmMzMWZkNzU0Y2INCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BjaFBsYXRmb3JtTGliL1BjaFBsYXRmb3JtTGli cg0KPiBhcnkuYw0KPiBAQCAtMCwwICsxLDEzMSBAQA0KPiArLyoqDQo+ICsNCj4gK0NvcHlyaWdo dCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZA0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyAgQGZpbGUNCj4gKyAgUGNoUGxhdGZvcm1MaWIu Yw0KPiArDQo+ICsgIEBicmllZg0KPiArICBQQ0ggUGxhdGZvcm0gTGliIGltcGxlbWVudGF0aW9u Lg0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBjaFBsYXRmb3JtTGlicmFyeS5oIg0K PiArDQo+ICsvLw0KPiArLy8gU2lsaWNvbiBTdGVwcGluZ3MNCj4gKy8vDQo+ICsvKioNCj4gKyAg UmV0dXJuIFBjaCBzdGVwcGluZyB0eXBlDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBOb25lDQo+ICsN Cj4gKyAgQHJldHZhbCBQQ0hfU1RFUFBJTkcgICAgICAgICAgICBQY2ggc3RlcHBpbmcgdHlwZQ0K PiArDQo+ICsqKi8NCj4gK1BDSF9TVEVQUElORw0KPiArRUZJQVBJDQo+ICtQY2hTdGVwcGluZyAo DQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UOCBSZXZJZDsNCj4gKw0KPiArICBS ZXZJZCA9IE1taW9SZWFkOCAoDQo+ICsgICAgICAgICAgTW1QY2lBZGRyZXNzICgwLA0KPiArICAg ICAgICAgICAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+ICsgICAgICAgICAgICBQQ0lf REVWSUNFX05VTUJFUl9QQ0hfTFBDLA0KPiArICAgICAgICAgICAgUENJX0ZVTkNUSU9OX05VTUJF Ul9QQ0hfTFBDLA0KPiArICAgICAgICAgICAgUl9QQ0hfTFBDX1JJRF9DQykNCj4gKyAgICAgICAg ICApOw0KPiArDQo+ICsgIHN3aXRjaCAoUmV2SWQpIHsNCj4gKyAgICBjYXNlIFZfUENIX0xQQ19S SURfMDoNCj4gKyAgICBjYXNlIFZfUENIX0xQQ19SSURfMToNCj4gKyAgICAgIHJldHVybiBQY2hB MDsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBWX1BDSF9MUENfUklEXzI6DQo+ ICsgICAgY2FzZSBWX1BDSF9MUENfUklEXzM6DQo+ICsgICAgICByZXR1cm4gUGNoQTE7DQo+ICsg ICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgVl9QQ0hfTFBDX1JJRF80Og0KPiArICAgIGNh c2UgVl9QQ0hfTFBDX1JJRF81Og0KPiArICAgICAgcmV0dXJuIFBjaEIwOw0KPiArICAgICAgYnJl YWs7DQo+ICsNCj4gKyAgICBjYXNlIFZfUENIX0xQQ19SSURfNjoNCj4gKyAgICBjYXNlIFZfUENI X0xQQ19SSURfNzoNCj4gKyAgICAgIHJldHVybiBQY2hCMTsNCj4gKyAgICAgIGJyZWFrOw0KPiAr DQo+ICsgICAgY2FzZSBWX1BDSF9MUENfUklEXzg6DQo+ICsgICAgY2FzZSBWX1BDSF9MUENfUklE Xzk6DQo+ICsgICAgICByZXR1cm4gUGNoQjI7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAg IGNhc2UgVl9QQ0hfTFBDX1JJRF9BOg0KPiArICAgIGNhc2UgVl9QQ0hfTFBDX1JJRF9COg0KPiAr ICAgICAgcmV0dXJuIFBjaEIzOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIFZf UENIX0xQQ19SSURfQzoNCj4gKyAgICBjYXNlIFZfUENIX0xQQ19SSURfRDoNCj4gKyAgICAgIHJl dHVybiBQY2hDMDsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBWX1BDSF9MUENf UklEX0U6DQo+ICsgICAgY2FzZSBWX1BDSF9MUENfUklEX0Y6DQo+ICsgICAgICByZXR1cm4gUGNo RDA7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICByZXR1 cm4gUGNoU3RlcHBpbmdNYXg7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICB9DQo+ICt9DQo+ ICsNCj4gKy8qKg0KPiArICBEZXRlcm1pbmUgaWYgUENIIGlzIHN1cHBvcnRlZA0KPiArDQo+ICsg IEBwYXJhbVtpbl0gTm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgVFJVRSAgICAgICAgICAgICAgICAg ICAgUENIIGlzIHN1cHBvcnRlZA0KPiArICBAcmV0dmFsIEZBTFNFICAgICAgICAgICAgICAgICAg IFBDSCBpcyBub3Qgc3VwcG9ydGVkDQo+ICsNCj4gKyoqLw0KPiArQk9PTEVBTg0KPiArSXNQY2hT dXBwb3J0ZWQgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICBJZGVudGlm aWVyczsNCj4gKyAgVUlOVDE2ICBQY3VWZW5kb3JJZDsNCj4gKyAgVUlOVDE2ICBQY3VEZXZpY2VJ ZDsNCj4gKw0KPiArICBJZGVudGlmaWVycyA9IE1taW9SZWFkMzIgKA0KPiArICAgICAgICAgICAg ICAgICAgTW1QY2lBZGRyZXNzICgwLA0KPiArICAgICAgICAgICAgICAgICAgREVGQVVMVF9QQ0lf QlVTX05VTUJFUl9QQ0gsDQo+ICsgICAgICAgICAgICAgICAgICBQQ0lfREVWSUNFX05VTUJFUl9Q Q0hfTFBDLA0KPiArICAgICAgICAgICAgICAgICAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBD LA0KPiArICAgICAgICAgICAgICAgICAgUl9QQ0hfTFBDX1JFR19JRCkNCj4gKyAgICAgICAgICAg ICAgICApOw0KPiArDQo+ICsgIFBjdURldmljZUlkID0gKFVJTlQxNikgKChJZGVudGlmaWVycyAm IEJfUENIX0xQQ19ERVZJQ0VfSUQpID4+IDE2KTsNCj4gKyAgUGN1VmVuZG9ySWQgPSAoVUlOVDE2 KSAoSWRlbnRpZmllcnMgJiBCX1BDSF9MUENfVkVORE9SX0lEKTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBWZXJpZnkgdGhhdCB0aGlzIGlzIGEgc3VwcG9ydGVkIGNoaXBzZXQNCj4gKyAgLy8NCj4g KyAgaWYgKFBjdVZlbmRvcklkICE9IChVSU5UMTYpIFZfUENIX0xQQ19WRU5ET1JfSUQNCj4gfHwg IUlTX1BDSF9WTFZfTFBDX0RFVklDRV9JRCAoUGN1RGV2aWNlSWQpKSB7DQo+ICsgICAgREVCVUcg KChFRklfRF9FUlJPUiwgIlZMViBTQyBjb2RlIGRvZXNuJ3Qgc3VwcG9ydCB0aGUgUGN1RGV2aWNl SWQ6DQo+IDB4JTA0eCFcbiIsIFBjdURldmljZUlkKSk7DQo+ICsgICAgcmV0dXJuIEZBTFNFOw0K PiArICB9DQo+ICsgIHJldHVybiBUUlVFOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QY2hQbGF0Zm9ybUxpYi9QY2hQbGF0 Zm9ybUxpYnINCj4gYXJ5LmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9M aWJyYXJ5L1BjaFBsYXRmb3JtTGliL1BjaFBsYXRmb3JtTGlicg0KPiBhcnkuaA0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5kYTFmNzdmNjgwDQo+IC0tLSAvZGV2 L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9QY2hQbGF0Zm9ybUxpYi9QY2hQbGF0Zm9ybUxpYnINCj4gYXJ5LmgNCj4gQEAgLTAsMCArMSwz NSBAQA0KPiArLyoqDQo+ICsqKi8NCj4gKy8qKg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTIg IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiAN Cj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArDQo+IA0KPiArDQo+ICsgIEBmaWxlDQo+ICsgIFBjaFBsYXRmb3JtTGlicmFyeS5oDQo+ICsN Cj4gKyAgQGJyaWVmDQo+ICsgIEhlYWRlciBmaWxlIGZvciBQQ0ggUGxhdGZvcm0gTGliIGltcGxl bWVudGF0aW9uLg0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfUENIX1BMQVRGT1JNX0xJ QlJBUllfSU1QTEVNRU5UQVRJT05fSF8NCj4gKyNkZWZpbmUgX1BDSF9QTEFURk9STV9MSUJSQVJZ X0lNUExFTUVOVEFUSU9OX0hfDQo+ICsNCj4gKyNpbmNsdWRlICJQY2hBY2Nlc3MuaCINCj4gKyNp ZmRlZiBFQ1BfRkxBRw0KPiArI2luY2x1ZGUgIkVka0lJR2x1ZUJhc2UuaCINCj4gKyNpbmNsdWRl ICJMaWJyYXJ5L0Vka0lJR2x1ZU1lbW9yeUFsbG9jYXRpb25MaWIuaCINCj4gKyNlbHNlDQo+ICsj aW5jbHVkZSAiTGlicmFyeS9QY2lMaWIuaCINCj4gKyNpbmNsdWRlICJMaWJyYXJ5L0lvTGliLmgi DQo+ICsjaW5jbHVkZSAiTGlicmFyeS9EZWJ1Z0xpYi5oIg0KPiArI2luY2x1ZGUgIkxpYnJhcnkv UGNkTGliLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJQY2hDb21tb25EZWZpbml0aW9ucy5oIg0KPiAr I2VuZGlmDQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QY2hTbW1MaWIvQ29tbW9uSGVhZGVyLmgNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BjaFNtbUxpYi9Db21tb25I ZWFkZXIuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5lMGEx ZjNhMGY3DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvTGlicmFyeS9QY2hTbW1MaWIvQ29tbW9uSGVhZGVyLmgNCj4gQEAgLTAsMCAr MSwzMiBAQA0KPiArLyoqQGZpbGUNCj4gKyAgQ29tbW9uIGhlYWRlciBmaWxlIHNoYXJlZCBieSBh bGwgc291cmNlIGZpbGVzLg0KPiArDQo+ICsgIFRoaXMgZmlsZSBpbmNsdWRlcyBwYWNrYWdlIGhl YWRlciBmaWxlcywgbGlicmFyeSBjbGFzc2VzIGFuZCBwcm90b2NvbCwgUFBJICYNCj4gR1VJRCBk ZWZpbml0aW9ucy4NCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE0LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4g KyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fQ09NTU9OX0hFQURFUl9IXw0KPiArI2RlZmluZSBfX0NP TU1PTl9IRUFERVJfSF8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSA8QmFzZS5oPg0KPiArDQo+ICsj aW5jbHVkZSA8TGlicmFyeS9UaW1lckxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxp Yi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1BjZExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gKw0KPiArI2Rl ZmluZSBSX1BDSF9BQ1BJX1NNSV9FTiAgICAgICAweDMwDQo+ICsjZGVmaW5lIEJfUENIX0FDUElf QVBNQ19FTiAgICAgIDB4MDAwMDAwMjANCj4gKyNkZWZpbmUgQl9QQ0hfQUNQSV9FT1MgICAgICAg ICAgMHgwMDAwMDAwMg0KPiArI2RlZmluZSBCX1BDSF9BQ1BJX0dCTF9TTUlfRU4gICAweDAwMDAw MDAxDQo+ICsjZGVmaW5lIFJfUENIX0FDUElfU01JX1NUUyAgICAgIDB4MzQNCj4gKyNkZWZpbmUg Ql9QQ0hfQUNQSV9BUE1fU1RTICAgICAgMHgwMDAwMDAyMA0KPiArDQo+ICsjZW5kaWYNCj4gZGlm ZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGNo U21tTGliL1BjaFNtbUxpYi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9QY2hTbW1MaWIvUGNoU21tTGliLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uMmIwYWFjYWNjZg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGNoU21tTGliL1BjaFNtbUxp Yi5jDQo+IEBAIC0wLDAgKzEsMTU3IEBADQo+ICsvKiogQGZpbGUNCj4gKyAgUENIIFNtbSBMaWJy YXJ5IFNlcnZpY2VzIHRoYXQgaW1wbGVtZW50cyBib3RoIFMvVyBTTUkgZ2VuZXJhdGlvbiBhbmQN Cj4gZGV0ZWN0aW9uLg0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNyAgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiAN Cj4gKw0KPiArKiovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiAr DQo+ICsNCj4gKy8qKg0KPiArICBUcmlnZ2VycyBhIHJ1biB0aW1lIG9yIGJvb3QgdGltZSBTTUku DQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiB0cmlnZ2VycyBhIHNvZnR3YXJlIFNNTSBpbnRlcnJ1 cHQgYW5kIHNldCB0aGUgQVBNQyBzdGF0dXMNCj4gd2l0aCBhbiA4LWJpdCBEYXRhLg0KPiArDQo+ ICsgIEBwYXJhbSAgRGF0YSAgICAgICAgICAgICAgICAgVGhlIHZhbHVlIHRvIHNldCB0aGUgQVBN QyBzdGF0dXMuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArSW50ZXJuYWxUcmlnZ2VyU21pICgN Cj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgICAgICAgICBEYXRhDQo+ICsgICkNCj4gK3sNCj4g KyAgQVNTRVJUKEZBTFNFKTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgVHJpZ2dlcnMg YW4gU01JIGF0IGJvb3QgdGltZS4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHRyaWdnZXJzIGEg c29mdHdhcmUgU01NIGludGVycnVwdCBhdCBib290IHRpbWUuDQo+ICsNCj4gKyoqLw0KPiArVk9J RA0KPiArRUZJQVBJDQo+ICtUcmlnZ2VyQm9vdFNlcnZpY2VTb2Z0d2FyZVNtaSAoDQo+ICsgIFZP SUQNCj4gKyAgKQ0KPiArew0KPiArICBBU1NFUlQoRkFMU0UpOw0KPiArfQ0KPiArDQo+ICsNCj4g Ky8qKg0KPiArICBUcmlnZ2VycyBhbiBTTUkgYXQgcnVuIHRpbWUuDQo+ICsNCj4gKyAgVGhpcyBm dW5jdGlvbiB0cmlnZ2VycyBhIHNvZnR3YXJlIFNNTSBpbnRlcnJ1cHQgYXQgcnVuIHRpbWUuDQo+ ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtUcmlnZ2VyUnVudGltZVNvZnR3YXJl U21pICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIEFTU0VSVChGQUxTRSk7DQo+ICt9 DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEdldHMgdGhlIHNvZnR3YXJlIFNNSSBkYXRhLg0KPiAr DQo+ICsgIFRoaXMgZnVuY3Rpb24gdGVzdHMgaWYgYSBzb2Z0d2FyZSBTTU0gaW50ZXJydXB0IGhh cHBlbnMuIElmIGEgc29mdHdhcmUgU01JDQo+IGhhcHBlbnMsDQo+ICsgIGl0IHJldHJpZXZlcyB0 aGUgU01NIGRhdGEgYW5kIHJldHVybnMgaXQgYXMgYSBub24tbmVnYXRpdmUgdmFsdWU7DQo+IG90 aGVyd2lzZSBhIG5lZ2F0aXZlDQo+ICsgIHZhbHVlIGlzIHJldHVybmVkLg0KPiArDQo+ICsgIEBy ZXR1cm4gRGF0YSAgICAgICAgICAgICAgICAgVGhlIGRhdGEgcmV0cmlldmVkIGZyb20gU01NIGRh dGEgcG9ydCBpbiBjYXNlIG9mIGENCj4gc29mdHdhcmUgU01JOw0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIG90aGVyd2lzZSBhIG5lZ2F0aXZlIHZhbHVlLg0KPiArDQo+ICsqKi8N Cj4gK0lOVE4NCj4gK0ludGVybmFsR2V0U3dTbWlEYXRhICgNCj4gKyAgVk9JRA0KPiArICApDQo+ ICt7DQo+ICsgIEFTU0VSVChGQUxTRSk7DQo+ICsgIHJldHVybiAtMTsNCj4gK30NCj4gKw0KPiAr DQo+ICsvKioNCj4gKyAgVGVzdCBpZiBhIGJvb3QgdGltZSBzb2Z0d2FyZSBTTUkgaGFwcGVuZWQu DQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiB0ZXN0cyBpZiBhIHNvZnR3YXJlIFNNTSBpbnRlcnJ1 cHQgaGFwcGVuZWQuIElmIGEgc29mdHdhcmUNCj4gU01NIGludGVycnVwdCBoYXBwZW5lZCBhbmQN Cj4gKyAgaXQgd2FzIHRyaWdnZXJlZCBhdCBib290IHRpbWUsIGl0IHJldHVybnMgVFJVRS4gT3Ro ZXJ3aXNlLCBpdCByZXR1cm5zIEZBTFNFLg0KPiArDQo+ICsgIEByZXR2YWwgVFJVRSAgIEEgc29m dHdhcmUgU01JIHRyaWdnZXJlZCBhdCBib290IHRpbWUgaGFwcGVuZWQuDQo+ICsgIEByZXR2YWwg RkxBU0UgIE5vIHNvZnR3YXJlIFNNSSBoYXBwZW5lZCBvciB0aGUgc29mdHdhcmUgU01JIHdhcw0K PiB0cmlnZ2VyZWQgYXQgcnVuIHRpbWUuDQo+ICsNCj4gKyoqLw0KPiArQk9PTEVBTg0KPiArRUZJ QVBJDQo+ICtJc0Jvb3RTZXJ2aWNlU29mdHdhcmVTbWkgKA0KPiArICBWT0lEDQo+ICsgICkNCj4g K3sNCj4gKyAgQVNTRVJUKEZBTFNFKTsNCj4gKyAgcmV0dXJuIEZBTFNFOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qKg0KPiArICBUZXN0IGlmIGEgcnVuIHRpbWUgc29mdHdhcmUgU01JIGhhcHBlbmVk Lg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gdGVzdHMgaWYgYSBzb2Z0d2FyZSBTTU0gaW50ZXJy dXB0IGhhcHBlbmVkLiBJZiBhIHNvZnR3YXJlDQo+IFNNTSBpbnRlcnJ1cHQgaGFwcGVuZWQgYW5k DQo+ICsgIGl0IHdhcyB0cmlnZ2VyZWQgYXQgcnVuIHRpbWUsIGl0IHJldHVybnMgVFJVRS4gT3Ro ZXJ3aXNlLCBpdCByZXR1cm5zIEZBTFNFLg0KPiArDQo+ICsgIEByZXR2YWwgVFJVRSAgIEEgc29m dHdhcmUgU01JIHRyaWdnZXJlZCBhdCBydW4gdGltZSBoYXBwZW5lZC4NCj4gKyAgQHJldHZhbCBG TEFTRSAgTm8gc29mdHdhcmUgU01JIGhhcHBlbmVkIG9yIHRoZSBzb2Z0d2FyZSBTTUkgd2FzDQo+ IHRyaWdnZXJlZCBhdCBib290IHRpbWUuDQo+ICsNCj4gKyoqLw0KPiArQk9PTEVBTg0KPiArRUZJ QVBJDQo+ICtJc1J1bnRpbWVTb2Z0d2FyZVNtaSAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0K PiArICBBU1NFUlQoRkFMU0UpOw0KPiArICByZXR1cm4gRkFMU0U7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoqDQo+ICsNCj4gKyAgQ2xlYXIgQVBNIFNNSSBTdGF0dXMgQml0OyBTZXQgdGhlIEVPUyBi aXQuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtDbGVhclNtaSAoDQo+ICsg IFZPSUQNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg ICAgUG1CYXNlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCBQTUJhc2UNCj4gKyAgLy8NCj4g KyAgUG1CYXNlID0gUGNkR2V0MTYgKFBjZFBjaEFjcGlJb1BvcnRCYXNlQWRkcmVzcyk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gQ2xlYXIgdGhlIEFQTSBTTUkgU3RhdHVzIEJpdA0KPiArICAvLw0K PiArICBJb1dyaXRlMTYgKFBtQmFzZSArIFJfUENIX0FDUElfU01JX1NUUywgQl9QQ0hfQUNQSV9B UE1fU1RTKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgdGhlIEVPUyBCaXQNCj4gKyAgLy8N Cj4gKyAgSW9PcjMyIChQbUJhc2UgKyBSX1BDSF9BQ1BJX1NNSV9FTiwgQl9QQ0hfQUNQSV9FT1Mp Ow0KPiArfQ0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9MaWJyYXJ5L1BjaFNtbUxpYi9QY2hTbW1MaWIuaW5mDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QY2hTbW1MaWIvUGNoU21tTGliLmluZg0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45ZDQ4MjNkNDg4DQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGli cmFyeS9QY2hTbW1MaWIvUGNoU21tTGliLmluZg0KPiBAQCAtMCwwICsxLDQ2IEBADQo+ICsjIyBA ZmlsZQ0KPiArIyBDb21wb25lbnQgZGVzY3JpcHRpb24gZmlsZSBmb3IgSW50ZWwgSWNoNyBTTU0g TGlicmFyeS4NCj4gKyMNCj4gKyMgSUNIIFNNTSBMaWJyYXJ5IHRoYXQgbGF5ZXJzIG9uIHRvcCBv ZiB0aGUgSS9PIExpYnJhcnkgdG8gZGlyZWN0bHkNCj4gKyMgIGFjY2VzcyBTTU0gcG93ZXIgbWFu YWdlbWVudCByZWdpc3RlcnMuDQo+ICsjIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTgsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gDQo+ICsjIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyMNCj4g DQo+ICsjDQo+ICsjDQo+ICsjDQo+ICsjIw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZF UlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAg ICAgICAgICAgICAgICAgICAgPSBQY2hTbW1MaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAg ICAgICAgICAgID0gQTZBMTZDQ0ItOTFCMC00MmY0LUI0RjMtRDE3RDdBNTY2MkU2DQo+ICsgIE1P RFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IEJBU0UNCj4gKyAgVkVSU0lPTl9TVFJJTkcg ICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAg ICA9IFNtbUxpYg0KPiArDQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlv biBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQg dG9vbHMuDQo+ICsjDQo+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIg WDY0IEVCQw0KPiArIw0KPiArDQo+ICtbU291cmNlc10NCj4gKyAgUGNoU21tTGliLmMNCj4gKw0K PiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0 RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsg IFBjZExpYg0KPiArICBJb0xpYg0KPiArDQo+ICtbUGNkXQ0KPiArICBnRWZpUGNoVG9rZW5TcGFj ZUd1aWQuUGNkUGNoQWNwaUlvUG9ydEJhc2VBZGRyZXNzDQo+ICsNCj4gKw0KPiBkaWZmIC0tZ2l0 DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QbGF0Zm9ybUJk c0xpYi9CZHNQbGF0Zm9ybS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9QbGF0Zm9ybUJkc0xpYi9CZHNQbGF0Zm9ybS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjRkNTk5N2Q2ZTkNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3Jt QmRzTGliL0Jkc1BsYXRmb3JtLmMNCj4gQEAgLTAsMCArMSwzMDk4IEBADQo+ICsvKiogQGZpbGUN Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBCZHNQbGF0Zm9ybS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFRo aXMgZmlsZSBpbmNsdWRlIGFsbCBwbGF0Zm9ybSBhY3Rpb24gd2hpY2ggY2FuIGJlIGN1c3RvbWl6 ZWQNCj4gKyAgYnkgSUJWL09FTS4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiQmRz UGxhdGZvcm0uaCINCj4gKyNpbmNsdWRlICJTZXR1cE1vZGUuaCINCj4gKyNpbmNsdWRlIDxHdWlk L1NldHVwVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1RjZ1BoeXNpY2FsUHJlc2Vu Y2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1RjZzJQaHlzaWNhbFByZXNlbmNlTGliLmg+ DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvSTJjTWFzdGVyTWNnLmg+DQo+ICsjaW5jbHVkZSA8VGlh bm9BcGkuaD4NCj4gKyNpbmNsdWRlIDxQbGF0Zm9ybUJhc2VBZGRyZXNzZXMuaD4NCj4gKyNpbmNs dWRlIDxQcm90b2NvbC9HbG9iYWxOdnNBcmVhLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EeGVT ZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQmxvY2tJby5oPg0KPiAr I2luY2x1ZGUgPFBjaFJlZ3MvUGNoUmVnc1BjdS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUzNC b290U2NyaXB0TGliLmg+DQo+ICsjaW5jbHVkZSAiUGNoQWNjZXNzLmgiDQo+ICsjaW5jbHVkZSAi UGNoUmVncy9QY2hSZWdzU2F0YS5oIg0KPiArI2luY2x1ZGUgPExpYnJhcnkvU2VyaWFsUG9ydExp Yi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4gKw0KPiArI2luY2x1ZGUg PExpYnJhcnkvR2VuZXJpY0Jkc0xpYi9JbnRlcm5hbEJkc0xpYi5oPg0KPiArI2luY2x1ZGUgPExp YnJhcnkvR2VuZXJpY0Jkc0xpYi9TdHJpbmcuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L05ldExp Yi5oPg0KPiArDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9DYXBzdWxlTGliLmg+DQo+ICsjaW5jbHVk ZSA8UHJvdG9jb2wvRXNydE1hbmFnZW1lbnQuaD4NCj4gKw0KPiArRUZJX0dVSUQgKkNvbm5lY3RE cml2ZXJUYWJsZVtdID0gew0KPiArICAmZ0VmaU1taW9EZXZpY2VQcm90b2NvbEd1aWQsDQo+ICsg ICZnRWZpSTJjTWFzdGVyUHJvdG9jb2xHdWlkLA0KPiArICAmZ0VmaUkyY0hvc3RQcm90b2NvbEd1 aWQNCj4gK307DQo+ICsNCj4gKyNkZWZpbmUgU0hFTExfRU5WSVJPTk1FTlRfSU5URVJGQUNFX1BS T1RPQ09MIFwNCj4gKyAgeyBcDQo+ICsgICAgMHg0N2M3YjIyMSwgMHhjNDJhLCAweDExZDIsIDB4 OGUsIDB4NTcsIDB4MCwgMHhhMCwgMHhjOSwgMHg2OSwgMHg3MiwgMHgzYg0KPiBcDQo+ICsgIH0N Cj4gK1ZPSUQgICAgICAgICAgICAgICAqbVNoZWxsSW1hZ2VDYWxsYmFja1JlZyA9IE5VTEw7DQo+ ICsNCj4gKw0KPiArDQo+ICtFRklfVVNFUl9QUk9GSUxFX0hBTkRMRSAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1DdXJyZW50VXNlciA9IE5VTEw7DQo+ICtFRklfRVZFTlQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1Ib3RLZXlUaW1lckV2ZW50ID0gTlVMTDsNCj4g K0VGSV9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUhpdEhv dGtleUV2ZW50ID0gTlVMTDsNCj4gK0VGSV9FVkVOVCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgbVVzYktleWJvYXJkQ29ubmVjdEV2ZW50ID0gTlVMTDsNCj4gK0JPT0xF QU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUhvdEtleVByZXNz ZWQgPSBGQUxTRTsNCj4gK1ZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKm1IaXRIb3RrZXlSZWdpc3RyYXRpb247DQo+ICsjZGVmaW5lIEtFWUJPQVJEX1RJ TUVSX0lOVEVSVkFMICAgICAgICAgICAgICAgICAgIDIwMDAwIC8vIDAuMDJzDQo+ICsNCj4gK1ZP SUQNCj4gK0Nvbm5lY3RVU0JDb250cm9sbGVyICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ ICtFRklfU1RBVFVTDQo+ICtQbGF0Zm9ybUJkc0Nvbm5lY3RTaW1wbGVDb25zb2xlICgNCj4gKyAg SU4gQkRTX0NPTlNPTEVfQ09OTkVDVF9FTlRSWSAgICpQbGF0Zm9ybUNvbnNvbGUNCj4gKyk7DQo+ ICsNCj4gK1ZPSUQNCj4gK0Jvb3RJbnRvRmlybXdhcmVJbnRlcmZhY2UoDQo+ICsgIFZPSUQNCj4g KyAgKTsNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtQbGF0Zm9ybUJkc0luaXRIb3RLZXlF dmVudCAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtE aXNhYmxlQWhjaUN0bHIgKA0KPiArICBJTiBFRklfRVZFTlQgICAgICAgICAgICAgICAgICAgICAg ICAgIEV2ZW50LA0KPiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpD b250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBQbWNE aXNhYmxlQWRkcmVzczsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICBTYXRhU3RvcmFn ZUFtb3VudDsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICBTYXRhQmFzZTsNCj4gKyAg VUlOVDE2ICAgICAgICAgICAgICAgICAgICBTYXRhUG9ydFN0YXR1czsNCj4gKw0KPiArDQo+ICsg IERFQlVHICgoRUZJX0RfSU5GTywgIkRpc2FibGUgQUhDSSBldmVudCBpcyBzaWduYWxsZWRcbiIp KTsNCj4gKyAgU2F0YVN0b3JhZ2VBbW91bnQgPSAwOw0KPiArICBTYXRhQmFzZSA9ICooVUlOVDMy KikgQ29udGV4dDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBCYXlUcmFpbC1NIEVEUyBjaGFwdGVy IDE2IC0tLS0gUENJIElPIFJlZ2lzdGVyIE9mZnNldCA5MiAoU0FUQSBQb3J0DQo+IENvbnRyb2wg YW5kIFN0YXR1cykNCj4gKyAgLy8NCj4gKyAgU2F0YVBvcnRTdGF0dXMgPSBNbWlvUmVhZDE2IChT YXRhQmFzZSArIFJfUENIX1NBVEFfUENTKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBCaXQgOCBF TjogUG9ydCAwIFByZXNlbnQNCj4gKyAgLy8NCj4gKyAgaWYgKChTYXRhUG9ydFN0YXR1cyAmIDB4 MTAwKSA9PSAweDEwMCkgew0KPiArICAgIFNhdGFTdG9yYWdlQW1vdW50Kys7DQo+ICsgIH0NCj4g Kw0KPiArICAvLw0KPiArICAvLyBCaXQgOSBFTjogUG9ydCAxIFByZXNlbnQNCj4gKyAgLy8NCj4g KyAgaWYgKChTYXRhUG9ydFN0YXR1cyAmIDB4MjAwKSA9PSAweDIwMCkgew0KPiArICAgIFNhdGFT dG9yYWdlQW1vdW50Kys7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBEaXNhYmxlIFNB VEEgY29udHJvbGxlciB3aGVuIGl0IHNldHMgdG8gQUhDSSBtb2RlIHdpdGhvdXQgY2Fycnlpbmcg YW55DQo+IGRldmljZXMNCj4gKyAgLy8gaW4gb3JkZXIgdG8gcHJldmVudCBBSENJIHllbGxvdyBi YW5nIHVuZGVyIFdpbiBkZXZpY2UgbWFuYWdlci4NCj4gKyAgLy8NCj4gKyAgaWYgKFNhdGFTdG9y YWdlQW1vdW50ID09IDApIHsNCj4gKyAgICBQbWNEaXNhYmxlQWRkcmVzcyA9IChNbWlvUmVhZDMy ICgoUENIX1BDSV9FWFBSRVNTX0JBU0VfQUREUkVTUw0KPiArIChVSU5UMzIpICgzMSA8PCAxNSkp ICsgUl9QQ0hfTFBDX1BNQ19CQVNFKSAmDQo+IEJfUENIX0xQQ19QTUNfQkFTRV9CQVIpICsgUl9Q Q0hfUE1DX0ZVTkNfRElTOw0KPiArICAgIE1taW9PcjMyIChQbWNEaXNhYmxlQWRkcmVzcywgQl9Q Q0hfUE1DX0ZVTkNfRElTX1NBVEEpOw0KPiArICAgIFMzQm9vdFNjcmlwdFNhdmVNZW1Xcml0ZSAo DQo+ICsgICAgICBFZmlCb290U2NyaXB0V2lkdGhVaW50MzIsDQo+ICsgICAgICAoVUlOVE4pIFBt Y0Rpc2FibGVBZGRyZXNzLA0KPiArICAgICAgMSwNCj4gKyAgICAgIChWT0lEICopIChVSU5UTikg UG1jRGlzYWJsZUFkZHJlc3MNCj4gKyAgICAgICk7DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArVk9J RA0KPiArSW5zdGFsbFJlYWR5VG9Mb2NrICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsg IEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfSEFORExFICAgICAg ICAgICAgICAgIEhhbmRsZTsNCj4gKyAgRUZJX1NNTV9BQ0NFU1MyX1BST1RPQ09MICAqU21tQWNj ZXNzOw0KPiArICBFRklfQUNQSV9TM19TQVZFX1BST1RPQ09MICpBY3BpUzNTYXZlOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIEluc3RhbGwgRHhlU21tUmVhZHlUb0xvY2sgcHJvdG9jb2wgcHJpb3Ig dG8gdGhlIHByb2Nlc3Npbmcgb2YgYm9vdA0KPiBvcHRpb25zDQo+ICsgIC8vDQo+ICsgIFN0YXR1 cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlTbW1B Y2Nlc3MyUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAg ICAgICAgICAgICAgIChWT0lEICoqKSAmU21tQWNjZXNzDQo+ICsgICAgICAgICAgICAgICAgICAp Ow0KPiArICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArDQo+ICsgICAgLy8NCj4gKyAg ICAvLyBQcmVwYXJlIFMzIGluZm9ybWF0aW9uLCB0aGlzIE1VU1QgYmUgZG9uZSBiZWZvcmUNCj4g RHhlU21tUmVhZHlUb0xvY2sNCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRl UHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaUFjcGlTM1NhdmVQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAg ICAgIChWT0lEICoqKSZBY3BpUzNTYXZlDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsg ICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIEFjcGlTM1NhdmUtPlMzU2F2 ZSAoQWNwaVMzU2F2ZSwgTlVMTCk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSGFuZGxlID0gTlVM TDsNCj4gKyAgICBTdGF0dXMgPSBnQlMtPkluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQo+ICsg ICAgICAgICAgICAgICAgICAgICZIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRXhp dFBtQXV0aFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgRUZJX05BVElWRV9J TlRFUkZBQ0UsDQo+ICsgICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgICAg Ly8NCj4gKyAgICAvLyBTaWduYWwgRW5kT2ZEeGUgUEkgRXZlbnQNCj4gKyAgICAvLw0KPiArICAg IEVmaUV2ZW50R3JvdXBTaWduYWwgKCZnRWZpRW5kT2ZEeGVFdmVudEdyb3VwR3VpZCk7DQo+ICsN Cj4gKyAgICBIYW5kbGUgPSBOVUxMOw0KPiArICAgIFN0YXR1cyA9IGdCUy0+SW5zdGFsbFByb3Rv Y29sSW50ZXJmYWNlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgJkhhbmRsZSwNCj4gKyAgICAg ICAgICAgICAgICAgICAgJmdFZmlEeGVTbW1SZWFkeVRvTG9ja1Byb3RvY29sR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgRUZJX05BVElWRV9JTlRFUkZBQ0UsDQo+ICsgICAgICAgICAgICAg ICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJ X0VSUk9SIChTdGF0dXMpOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIDsNCj4gK30NCj4gKw0K PiArVk9JRA0KPiArRUZJQVBJDQo+ICtTaGVsbEltYWdlQ2FsbGJhY2sgKA0KPiArICBJTiBFRklf RVZFTlQgICAgICAgICAgICAgICAgICAgICAgICAgIEV2ZW50LA0KPiArICBJTiBWT0lEICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICpDb250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyBCZHNT ZXRDb25zb2xlTW9kZSAoVFJVRSk7DQo+ICsgREVCVUcgKChFRklfRF9JTkZPLCAiQmRzRW50cnkg U2hlbGxJbWFnZUNhbGxiYWNrIFxuIikpOw0KPiArfQ0KPiArDQo+ICsvLw0KPiArLy8gQkRTIFBs YXRmb3JtIEZ1bmN0aW9ucw0KPiArLy8NCj4gKy8qKg0KPiArICBQbGF0Zm9ybSBCZHMgaW5pdC4g SW5jbHVkZSB0aGUgcGxhdGZvcm0gZmlybXdhcmUgdmVuZG9yLCByZXZpc2lvbg0KPiArICBhbmQg c28gY3JjIGNoZWNrLg0KPiArDQo+ICsgIEBwYXJhbSBWT0lEDQo+ICsNCj4gKyAgQHJldHZhbCAg Tm9uZS4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1BsYXRmb3JtQmRzSW5p dCAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ ICsgIEVGSV9FVkVOVCAgIFNoZWxsSW1hZ2VFdmVudDsNCj4gKyAgRUZJX0dVSUQgICAgU2hlbGxF bnZQcm90b2NvbCA9DQo+IFNIRUxMX0VOVklST05NRU5UX0lOVEVSRkFDRV9QUk9UT0NPTDsNCj4g Kw0KPiArICAjaWZkZWYgX19HTlVDX18NCj4gKyAgU2VyaWFsUG9ydFdyaXRlKChVSU5UOCAqKSI+ Pj4+QmRzRW50cnlbR0NDXVxyXG4iLCAxOSk7DQo+ICsgICNlbHNlDQo+ICsgIFNlcmlhbFBvcnRX cml0ZSgoVUlOVDggKikiPj4+PkJkc0VudHJ5XHJcbiIsIDE0KTsNCj4gKyAgI2VuZGlmDQo+ICsg IEJkc0xpYlNhdmVNZW1vcnlUeXBlSW5mb3JtYXRpb24gKCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQmVmb3JlIHVzZXIgYXV0aGVudGljYXRpb24sIHRoZSB1c2VyIGlkZW50aWZpY2F0aW9uIGRl dmljZXMgbmVlZCBiZQ0KPiBjb25uZWN0ZWQNCj4gKyAgLy8gZnJvbSB0aGUgcGxhdGZvcm0gY3Vz dG9taXplZCBkZXZpY2UgcGF0aHMNCj4gKyAgLy8NCj4gKyAgUGxhdGZvcm1CZHNDb25uZWN0QXV0 aERldmljZSAoKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBBcyBjb25zb2xlIGlzIG5vdCByZWFk eSwgdGhlIGF1dG8gbG9nb24gdXNlciB3aWxsIGJlIGlkZW50aWZpZWQuDQo+ICsgIC8vDQo+ICsg IEJkc0xpYlVzZXJJZGVudGlmeSAoJm1DdXJyZW50VXNlcik7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQ2hhbmdlIEdvcCBtb2RlIHdoZW4gYm9vdCBpbnRvIFNoZWxsDQo+ICsgIC8vDQo+ICsgIGlm IChtU2hlbGxJbWFnZUNhbGxiYWNrUmVnID09IE5VTEwpIHsNCj4gKyAgICBTdGF0dXMgPSBnQlMt PkNyZWF0ZUV2ZW50ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgRUZJX0VWRU5UX05PVElGWV9T SUdOQUwsDQo+ICsgICAgICAgICAgICAgICAgICAgIEVGSV9UUExfQ0FMTEJBQ0ssDQo+ICsgICAg ICAgICAgICAgICAgICAgIFNoZWxsSW1hZ2VDYWxsYmFjaywNCj4gKyAgICAgICAgICAgICAgICAg ICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgJlNoZWxsSW1hZ2VFdmVudA0KPiArICAg ICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ ICsgICAgICBTdGF0dXMgPSBnQlMtPlJlZ2lzdGVyUHJvdG9jb2xOb3RpZnkgKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICZTaGVsbEVudlByb3RvY29sLA0KPiArICAgICAgICAgICAgICAgICAg ICAgIFNoZWxsSW1hZ2VFdmVudCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmbVNoZWxsSW1h Z2VDYWxsYmFja1JlZw0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAg IERFQlVHICgoRUZJX0RfSU5GTywgIkJkc0VudHJ5IFNoZWxsSW1hZ2VDYWxsYmFjayBcbiIpKTsN Cj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArR2V0R29wRGV2 aWNlUGF0aCAoDQo+ICsgICBJTiAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICpQY2lEZXZpY2VQ YXRoLA0KPiArICAgT1VUIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKkdvcERldmljZVBhdGgN Cj4gKyAgICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRl eDsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVG SV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgUGNpRGV2aWNlSGFuZGxlOw0KPiArICBFRklf REVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAgICpUZW1wRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RF VklDRV9QQVRIX1BST1RPQ09MICAgICAgICAqVGVtcFBjaURldmljZVBhdGg7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgICAgR29wSGFuZGxlQ291bnQ7DQo+ICsgIEVGSV9IQU5E TEUgICAgICAgICAgICAgICAgICAgICAgKkdvcEhhbmRsZUJ1ZmZlcjsNCj4gKw0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhclNpemU7DQo+ICsgIFNZU1RFTV9D T05GSUdVUkFUSU9OICBtU3lzdGVtQ29uZmlndXJhdGlvbjsNCj4gKw0KPiArICBpZiAoUGNpRGV2 aWNlUGF0aCA9PSBOVUxMIHx8IEdvcERldmljZVBhdGggPT0gTlVMTCkgew0KPiArICAgIHJldHVy biBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBJ bml0aWFsaXplIHRoZSBHb3BEZXZpY2VQYXRoIHRvIGJlIFBjaURldmljZVBhdGgNCj4gKyAgLy8N Cj4gKyAgKkdvcERldmljZVBhdGggICAgPSBQY2lEZXZpY2VQYXRoOw0KPiArICBUZW1wUGNpRGV2 aWNlUGF0aCA9IFBjaURldmljZVBhdGg7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVE ZXZpY2VQYXRoICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpRGV2aWNlUGF0aFByb3RvY29s R3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICZUZW1wUGNpRGV2aWNlUGF0aCwNCj4gKyAgICAg ICAgICAgICAgICAgICZQY2lEZXZpY2VIYW5kbGUNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHJ5IHRvIGNvbm5lY3QgdGhpcyBoYW5kbGUsIHNv IHRoYXQgR09QIGRyaXZlciBjb3VsZCBzdGFydCBvbiB0aGlzDQo+ICsgIC8vIGRldmljZSBhbmQg Y3JlYXRlIGNoaWxkIGhhbmRsZXMgd2l0aCBHcmFwaGljc091dHB1dCBQcm90b2NvbCBpbnN0YWxs ZWQNCj4gKyAgLy8gb24gdGhlbSwgdGhlbiB3ZSBnZXQgZGV2aWNlIHBhdGhzIG9mIHRoZXNlIGNo aWxkIGhhbmRsZXMgYW5kIHNlbGVjdA0KPiArICAvLyB0aGVtIGFzIHBvc3NpYmxlIGNvbnNvbGUg ZGV2aWNlLg0KPiArICAvLw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNlbGVjdCBkaXNwbGF5IGRl dmljZXMNCj4gKyAgLy8NCj4gKyAgVmFyU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElP Tik7DQo+ICsgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgICAg ICBMIlNldHVwIiwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpTm9ybWFsU2V0dXBHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZWYXJTaXpl LA0KPiArICAgICAgICAgICAgICAgICAgJm1TeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICAgICAg ICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IFZhclNpemUgIT0g c2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKSkgew0KPiArICAgIC8vVGhlIHNldHVwIHZhcmlh YmxlIGlzIGNvcnJ1cHRlZA0KPiArICAgIFZhclNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VS QVRJT04pOw0KPiArICAgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAg ICAgIEwiU2V0dXBSZWNvdmVyeSIsDQo+ICsgICAgICAgICAgICAgICZnRWZpTm9ybWFsU2V0dXBH dWlkLA0KPiArICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAmVmFyU2l6ZSwN Cj4gKyAgICAgICAgICAgICAgJm1TeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICAgICAgICAgICAg ICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgfQ0KPiArDQo+ICsg IGlmKG1TeXN0ZW1Db25maWd1cmF0aW9uLkJvb3REaXNwbGF5RGV2aWNlICE9IDB4MCkNCj4gKyAg ew0KPiArICAgIEFDUElfQURSX0RFVklDRV9QQVRIICAgICAgICAgQWNwaUFkcjsNCj4gKyAgICBF RklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpNeURldmljZVBhdGggPSBOVUxMOw0KPiArDQo+ICsg ICAgQWNwaUFkci5IZWFkZXIuVHlwZSAgICAgPSBBQ1BJX0RFVklDRV9QQVRIOw0KPiArICAgIEFj cGlBZHIuSGVhZGVyLlN1YlR5cGUgID0gQUNQSV9BRFJfRFA7DQo+ICsNCj4gKyAgICBzd2l0Y2gg KG1TeXN0ZW1Db25maWd1cmF0aW9uLkJvb3REaXNwbGF5RGV2aWNlKSB7DQo+ICsgICAgY2FzZSAx Og0KPiArICAgICAgQWNwaUFkci5BRFI9IEFDUElfRElTUExBWV9BRFIgKDEsIDAsIDAsIDEsIDAs DQo+IEFDUElfQURSX0RJU1BMQVlfVFlQRV9WR0EsIFBPUlRfQ1JULCAwKTsgICAgLy9DUlQgRGV2 aWNlDQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIDI6DQo+ICsgICAgICBBY3BpQWRyLkFE Uj0gQUNQSV9ESVNQTEFZX0FEUiAoMSwgMCwgMCwgMSwgMCwNCj4gQUNQSV9BRFJfRElTUExBWV9U WVBFX0VYVEVSTkFMX0RJR0lUQUwsIFBPUlRfQl9IRE1JLCAwKTsgIC8vSERNSQ0KPiBEZXZpY2Ug UG9ydCBCDQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIDM6DQo+ICsgICAgICBBY3BpQWRy LkFEUj0gQUNQSV9ESVNQTEFZX0FEUiAoMSwgMCwgMCwgMSwgMCwNCj4gQUNQSV9BRFJfRElTUExB WV9UWVBFX0VYVEVSTkFMX0RJR0lUQUwsIFBPUlRfQl9EUCwgMCk7ICAgIC8vRFAgUG9ydEINCj4g KyAgICAgIGJyZWFrOw0KPiArICAgIGNhc2UgNDoNCj4gKyAgICAgIEFjcGlBZHIuQURSPSBBQ1BJ X0RJU1BMQVlfQURSICgxLCAwLCAwLCAxLCAwLA0KPiBBQ1BJX0FEUl9ESVNQTEFZX1RZUEVfRVhU RVJOQUxfRElHSVRBTCwgUE9SVF9DX0RQLCAwKTsgICAgLy9EUCBQb3J0Qw0KPiArICAgICAgYnJl YWs7DQo+ICsgICAgY2FzZSA1Og0KPiArICAgICAgQWNwaUFkci5BRFI9IEFDUElfRElTUExBWV9B RFIgKDEsIDAsIDAsIDEsIDAsDQo+IEFDUElfQURSX0RJU1BMQVlfVFlQRV9JTlRFUk5BTF9ESUdJ VEFMLCBQT1JUX0NfRFAsIDApOyAgICAvL2VEUCBQb3J0DQo+IEMNCj4gKyAgICAgIGJyZWFrOw0K PiArICAgIGNhc2UgNjoNCj4gKyAgICAgIEFjcGlBZHIuQURSPSBBQ1BJX0RJU1BMQVlfQURSICgx LCAwLCAwLCAxLCAwLA0KPiBBQ1BJX0FEUl9ESVNQTEFZX1RZUEVfSU5URVJOQUxfRElHSVRBTCwg UE9SVF9NSVBJX0EsIDApOyAgLy9EU0kgUG9ydA0KPiBBDQo+ICsgICAgICBicmVhazsNCj4gKyAg ICBjYXNlIDc6DQo+ICsgICAgICBBY3BpQWRyLkFEUj0gQUNQSV9ESVNQTEFZX0FEUiAoMSwgMCwg MCwgMSwgMCwNCj4gQUNQSV9BRFJfRElTUExBWV9UWVBFX0lOVEVSTkFMX0RJR0lUQUwsIFBPUlRf TUlQSV9DLCAwKTsgIC8vRFNJIFBvcnQNCj4gQw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgZGVm YXVsdDoNCj4gKyAgICAgIEFjcGlBZHIuQURSPSBBQ1BJX0RJU1BMQVlfQURSICgxLCAwLCAwLCAx LCAwLA0KPiBBQ1BJX0FEUl9ESVNQTEFZX1RZUEVfVkdBLCBQT1JUX0NSVCwgMCk7DQo+ICsgICAg ICBicmVhazsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBTZXREZXZpY2VQYXRoTm9kZUxlbmd0aCAo JkFjcGlBZHIuSGVhZGVyLCBzaXplb2YNCj4gKEFDUElfQURSX0RFVklDRV9QQVRIKSk7DQo+ICsN Cj4gKyAgICBNeURldmljZVBhdGggPSBBcHBlbmREZXZpY2VQYXRoTm9kZShNeURldmljZVBhdGgs DQo+IChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wqKSZBY3BpQWRyKTsNCj4gKw0KPiArICAgIGdC Uy0+Q29ubmVjdENvbnRyb2xsZXIgKA0KPiArICAgICAgICAgICBQY2lEZXZpY2VIYW5kbGUsDQo+ ICsgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgIE15RGV2aWNlUGF0aCwNCj4gKyAgICAg ICAgICAgRkFMU0UNCj4gKyAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIEZyZWVQb29sKE15RGV2 aWNlUGF0aCk7DQo+ICsgIH0NCj4gKyAgZWxzZQ0KPiArICB7DQo+ICsgICAgZ0JTLT5Db25uZWN0 Q29udHJvbGxlciAoDQo+ICsgICAgICAgICAgIFBjaURldmljZUhhbmRsZSwNCj4gKyAgICAgICAg ICAgTlVMTCwNCj4gKyAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgRkFMU0UNCj4gKyAg ICAgICAgICAgKTsNCj4gKyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxl QnVmZmVyICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAg ICAgICAgICAmZ0VmaUdyYXBoaWNzT3V0cHV0UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAg ICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZHb3BIYW5kbGVDb3VudCwNCj4gKyAg ICAgICAgICAgICAgICAgICZHb3BIYW5kbGVCdWZmZXINCj4gKyAgICAgICAgICAgICAgICAgICk7 DQo+ICsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBB ZGQgYWxsIHRoZSBjaGlsZCBoYW5kbGVzIGFzIHBvc3NpYmxlIENvbnNvbGUgRGV2aWNlDQo+ICsg ICAgLy8NCj4gKyAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBHb3BIYW5kbGVDb3VudDsgSW5k ZXgrKykgew0KPiArICAgICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgR29wSGFuZGxlQnVmZmVyW0luZGV4XSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgKFZPSUQqKikmVGVtcERldmljZVBhdGgNCj4gKyAgICAgICAgICAgICAgICAgICAg ICApOw0KPiArICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBjb250 aW51ZTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmIChDb21wYXJlTWVtICgNCj4gKyAgICAgICAg ICAgIFBjaURldmljZVBhdGgsDQo+ICsgICAgICAgICAgICBUZW1wRGV2aWNlUGF0aCwNCj4gKyAg ICAgICAgICAgIEdldERldmljZVBhdGhTaXplIChQY2lEZXZpY2VQYXRoKSAtIEVORF9ERVZJQ0Vf UEFUSF9MRU5HVEgNCj4gKyAgICAgICAgICAgICkgPT0gMCkgew0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICAvLyBJbiBjdXJyZW50IGltcGxlbWVudGF0aW9uLCB3ZSBvbmx5IGVuYWJsZSBvbmUg b2YgdGhlIGNoaWxkIGhhbmRsZXMNCj4gKyAgICAgICAgLy8gYXMgY29uc29sZSBkZXZpY2UsIGku ZS4gc290cmUgb25lIG9mIHRoZSBjaGlsZCBoYW5kbGUncyBkZXZpY2UNCj4gKyAgICAgICAgLy8g cGF0aCB0byB2YXJpYWJsZSAiQ29uT3V0Ig0KPiArICAgICAgICAvLyBJbiBmdXR1cmUsIHdlIGNv dWxkIHNlbGVjdCBhbGwgY2hpbGQgaGFuZGxlcyB0byBiZSBjb25zb2xlIGRldmljZQ0KPiArICAg ICAgICAvLw0KPiArICAgICAgICAqR29wRGV2aWNlUGF0aCA9IFRlbXBEZXZpY2VQYXRoOw0KPiAr ICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBnQlMtPkZyZWVQb29sIChHb3BIYW5kbGVCdWZmZXIp Ow0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsv KioNCj4gKw0KPiArICBTZWFyY2ggb3V0IGFsbCB0aGUgcGxhdGZvcm0gcGNpIG9yIGFncCB2aWRl byBkZXZpY2UuIFRoZSBmdW5jdGlvbiBtYXkgd2lsbA0KPiArICBmaW5kIG11bHRpcGxlIHZpZGVv IGRldmljZSwgYW5kIHJldHVybiBhbGwgZW5hYmxlZCBkZXZpY2UgcGF0aC4NCj4gKw0KPiArICBA cGFyYW0gUGx1Z0luUGNpVmdhRGV2aWNlUGF0aCAgICBSZXR1cm4gdGhlIHBsYXRmb3JtIHBsdWcg aW4gcGNpIHZpZGVvDQo+IGRldmljZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBwYXRoIGlmIHRoZSBzeXN0ZW0gaGF2ZSBwbHVnIGluIHBjaSB2aWRlbyBkZXZpY2UuDQo+ ICsgIEBwYXJhbSBPbmJvYXJkUGNpVmdhRGV2aWNlUGF0aCAgIFJldHVybiB0aGUgcGxhdGZvcm0g YWN0aXZlIGFncCB2aWRlbw0KPiBkZXZpY2UgcGF0aA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBpZiB0aGUgc3lzdGVtIGhhdmUgcGx1ZyBpbiBhZ3AgdmlkZW8gZGV2aWNl IG9yIG9uDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaXAgYWdwIGRl dmljZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDU1MgICAgICAgICAgICAgICBHZXQgYWxs IHBsYXRmb3JtIGFjdGl2ZSB2aWRlbyBkZXZpY2UgcGF0aC4NCj4gKyAgQHJldHZhbCBFRklfU1RB VFVTICAgICAgICAgICAgICAgUmV0dXJuIHRoZSBzdGF0dXMgb2YgZ0JTLT5Mb2NhdGVEZXZpY2VQ YXRoICgpLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnQlMtPkNvbm5l Y3RDb250cm9sbGVyICgpLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBh bmQgZ0JTLT5Mb2NhdGVIYW5kbGVCdWZmZXIgKCkuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRV Uw0KPiArR2V0UGx1Z0luUGNpVmdhRGV2aWNlUGF0aCAoDQo+ICsgIElOIE9VVCBFRklfREVWSUNF X1BBVEhfUFJPVE9DT0wgICAgICoqUGx1Z0luUGNpVmdhRGV2aWNlUGF0aCwNCj4gKyAgSU4gT1VU IEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgKipPbmJvYXJkUGNpVmdhRGV2aWNlUGF0aA0K PiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiAr ICBFRklfSEFORExFICAgICAgICAgICAgICAgIFJvb3RIYW5kbGU7DQo+ICsgIFVJTlROICAgICAg ICAgICAgICAgICAgICAgSGFuZGxlQ291bnQ7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAg ICAgKkhhbmRsZUJ1ZmZlcjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJbmRleDsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJbmRleDE7DQo+ICsgIEVGSV9ERVZJQ0Vf UEFUSF9QUk9UT0NPTCAgKkRldmljZVBhdGg7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAg ICAgUGx1Z0luUGNpVmdhOw0KPiArICBFRklfUENJX0lPX1BST1RPQ09MICAgICAgICpQY2lJbzsN Cj4gKyAgUENJX1RZUEUwMCAgICAgICAgICAgICAgICBQY2k7DQo+ICsNCj4gKyAgRGV2aWNlUGF0 aCA9IE5VTEw7DQo+ICsgIFBsdWdJblBjaVZnYSA9IFRSVUU7DQo+ICsgIEhhbmRsZUNvdW50ID0g MDsNCj4gKyAgSGFuZGxlQnVmZmVyID0gTlVMTDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBNYWtl IGFsbCB0aGUgUENJX0lPIHByb3RvY29scyBvbiBQQ0kgU2VnIDAgc2hvdyB1cA0KPiArICAvLw0K PiArICBCZHNMaWJDb25uZWN0RGV2aWNlUGF0aCAoZ1BsYXRmb3JtUm9vdEJyaWRnZXNbMF0pOw0K PiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlRGV2aWNlUGF0aCAoDQo+ICsgICAgICAgICAg ICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICAmZ1BsYXRmb3JtUm9vdEJyaWRnZXNbMF0sDQo+ICsgICAgICAgICAgICAgICAgICAmUm9vdEhh bmRsZQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBn QlMtPkNvbm5lY3RDb250cm9sbGVyICgNCj4gKyAgICAgICAgICAgICAgICAgIFJvb3RIYW5kbGUs DQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwN Cj4gKyAgICAgICAgICAgICAgICAgIEZBTFNFDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiAr ICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAg fQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFN0YXJ0IHRvIGNoZWNrIGFsbCB0aGUgcGNpIGlvIHRv IGZpbmQgYWxsIHBvc3NpYmxlIFZHQSBkZXZpY2UNCj4gKyAgLy8NCj4gKyAgSGFuZGxlQ291bnQg PSAwOw0KPiArICBIYW5kbGVCdWZmZXIgPSBOVUxMOw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0 ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAgICAgICAgICAgICAgICBCeVByb3RvY29sLA0KPiArICAg ICAgICAgICAgICAgICAgJmdFZmlQY2lJb1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAg ICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlQ291bnQsDQo+ICsgICAgICAg ICAgICAgICAgICAmSGFuZGxlQnVmZmVyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0K PiArDQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEhhbmRsZUNvdW50OyBJbmRleCsrKSB7 DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAg ICAgICAgIEhhbmRsZUJ1ZmZlcltJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZp UGNpSW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIChWT0lEKiopJlBjaUlv DQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1 cykpIHsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIENoZWNrIGZvciBhbGwgVkdBIGRl dmljZQ0KPiArICAgICAgLy8NCj4gKyAgICAgIFN0YXR1cyA9IFBjaUlvLT5QY2kuUmVhZCAoDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIEVmaVBjaUlvV2lkdGhVaW50MzIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAwLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChQY2kpIC8gc2l6ZW9mIChVSU5UMzIp LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgJlBjaQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAg Y29udGludWU7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBIZXJl IHdlIGRlY2lkZSB3aGljaCBWR0EgZGV2aWNlIHRvIGVuYWJsZSBpbiBQQ0kgYnVzDQo+ICsgICAg ICAvLw0KPiArICAgICAgLy8gVGhlIGZpcnN0IHBsdWdpbiBQQ0kgVkdBIGNhcmQgZGV2aWNlIHdp bGwgYmUgcHJlc2VudCBhcyBQQ0kgVkdBDQo+ICsgICAgICAvLyBUaGUgb25jaGlwIEFHUCBvciBB R1AgY2FyZCB3aWxsIGJlIHByZXNlbnQgYXMgQUdQIFZHQQ0KPiArICAgICAgLy8NCj4gKyAgICAg IGlmICghSVNfUENJX1ZHQSAoJlBjaSkpIHsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAg ICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBTZXQgdGhlIGRldmljZSBhcyB0aGUg cG9zc2libGUgY29uc29sZSBvdXQgZGV2aWNlLA0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEJl bG93IGNvZGUgd2lsbCBtYWtlIGV2ZXJ5IFZHQSBkZXZpY2UgdG8gYmUgb25lDQo+ICsgICAgICAv LyBvZiB0aGUgcG9zc2liZSBjb25zb2xlIG91dCBkZXZpY2UNCj4gKyAgICAgIC8vDQo+ICsgICAg ICBQbHVnSW5QY2lWZ2EgPSBUUlVFOw0KPiArICAgICAgZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ ICsgICAgICAgICAgICAgSGFuZGxlQnVmZmVyW0luZGV4XSwNCj4gKyAgICAgICAgICAgICAmZ0Vm aURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgKFZPSUQqKikmRGV2aWNl UGF0aA0KPiArICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAgIEluZGV4MSA9IDA7DQo+ICsN Cj4gKyAgICAgIHdoaWxlIChnUGxhdGZvcm1BbGxQb3NzaWJsZVBjaVZnYUNvbnNvbGVbSW5kZXgx XSAhPSBOVUxMKSB7DQo+ICsgICAgICAgIGlmIChDb21wYXJlTWVtICgNCj4gKyAgICAgICAgICAg ICAgRGV2aWNlUGF0aCwNCj4gKyAgICAgICAgICAgICAgZ1BsYXRmb3JtQWxsUG9zc2libGVQY2lW Z2FDb25zb2xlW0luZGV4MV0sDQo+ICsgICAgICAgICAgICAgIEdldERldmljZVBhdGhTaXplIChn UGxhdGZvcm1BbGxQb3NzaWJsZVBjaVZnYUNvbnNvbGVbSW5kZXgxXSkNCj4gKyAgICAgICAgICAg ICAgKSA9PSAwKSB7DQo+ICsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIFRoaXMg ZGV2aWNlIGlzIGFuIEFHUCBkZXZpY2UNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgICpP bmJvYXJkUGNpVmdhRGV2aWNlUGF0aCA9IERldmljZVBhdGg7DQo+ICsgICAgICAgICAgUGx1Z0lu UGNpVmdhID0gRkFMU0U7DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgIH0NCj4gKw0K PiArICAgICAgICBJbmRleDEgKys7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIGlmIChQbHVn SW5QY2lWZ2EpIHsNCj4gKyAgICAgICAgKlBsdWdJblBjaVZnYURldmljZVBhdGggPSBEZXZpY2VQ YXRoOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIEZyZWVQb29sIChI YW5kbGVCdWZmZXIpOw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0K PiArLyoqDQo+ICsNCj4gKyAgRmluZCB0aGUgcGxhdGZvcm0gIGFjdGl2ZSB2Z2EsIGFuZCBiYXNl IG9uIHRoZSBwb2xpY3kgdG8gZW5hYmxlIHRoZSB2Z2EgYXMNCj4gKyAgdGhlIGNvbnNvbGUgb3V0 IGRldmljZS4gVGhlIHBvbGljeSBpcyBkcml2ZW4gYnkgb25lIHNldHVwIHZhcmlhYmxlICJWQklP UyIuDQo+ICsNCj4gKyAgTm9uZS4NCj4gKw0KPiArICBAcGFyYW0gRUZJX1VOU1VQUE9SVEVEICAg ICAgICAgVGhlcmUgaXMgbm8gYWN0aXZlIHZnYSBkZXZpY2UNCj4gKw0KPiArICBAcmV0dmFsIEVG SV9TVEFUVVMgICAgICAgICAgICAgUmV0dXJuIHRoZSBzdGF0dXMgb2YgQmRzTGliR2V0VmFyaWFi bGVBbmRTaXplDQo+ICgpDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArUGxhdGZvcm1C ZHNGb3JjZUFjdGl2ZVZnYSAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RB VFVTICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09M ICAqUGx1Z0luUGNpVmdhRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09M ICAqT25ib2FyZFBjaVZnYURldmljZVBhdGg7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NP TCAgKkRldmljZVBhdGhGaXJzdDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqRGV2 aWNlUGF0aFNlY29uZDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqR29wRGV2aWNl UGF0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgVmFyU2l6ZTsNCj4gKyAgU1lTVEVNX0NP TkZJR1VSQVRJT04gIG1TeXN0ZW1Db25maWd1cmF0aW9uOw0KPiArDQo+ICsgIFN0YXR1cyA9IEVG SV9TVUNDRVNTOw0KPiArICBQbHVnSW5QY2lWZ2FEZXZpY2VQYXRoID0gTlVMTDsNCj4gKyAgT25i b2FyZFBjaVZnYURldmljZVBhdGggPSBOVUxMOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENoZWNr IHRoZSBwb2xpY3kgd2hpY2ggaXMgdGhlIGZpcnN0IGVuYWJsZWQgVkdBDQo+ICsgIC8vDQo+ICsg IEdldFBsdWdJblBjaVZnYURldmljZVBhdGggKCZQbHVnSW5QY2lWZ2FEZXZpY2VQYXRoLA0KPiAm T25ib2FyZFBjaVZnYURldmljZVBhdGgpOw0KPiArDQo+ICsgIGlmIChQbHVnSW5QY2lWZ2FEZXZp Y2VQYXRoID09IE5VTEwgJiYgT25ib2FyZFBjaVZnYURldmljZVBhdGggPT0NCj4gTlVMTCkgew0K PiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0KPiArICBWYXJTaXpl ID0gc2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgU3RhdHVzID0gZ1JULT5HZXRW YXJpYWJsZSgNCj4gKyAgICAgICAgICAgICAgICAgIEwiU2V0dXAiLA0KPiArICAgICAgICAgICAg ICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0K PiArICAgICAgICAgICAgICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAmbVN5 c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklf RVJST1IgKFN0YXR1cykgfHwgVmFyU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04p KSB7DQo+ICsgICAgLy9UaGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ICsgICAgVmFy U2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVzID0gZ1JU LT5HZXRWYXJpYWJsZSgNCj4gKyAgICAgICAgICAgICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4gKyAg ICAgICAgICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAgICAgICZWYXJTaXplLA0KPiArICAgICAgICAgICAgICAmbVN5c3RlbUNv bmZpZ3VyYXRpb24NCj4gKyAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9S IChTdGF0dXMpOw0KPiArICB9DQo+ICsNCj4gKw0KPiArICBpZiAoKFBsdWdJblBjaVZnYURldmlj ZVBhdGggPT0gTlVMTCAmJiBPbmJvYXJkUGNpVmdhRGV2aWNlUGF0aCAhPQ0KPiBOVUxMKSApIHsN Cj4gKyAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCJVcGRhdGUgb25ib2FyZCBQQ0kgVkdBIC4uLlxu IikpOw0KPiArICAgIERldmljZVBhdGhGaXJzdCAgPSBPbmJvYXJkUGNpVmdhRGV2aWNlUGF0aDsN Cj4gKyAgICBEZXZpY2VQYXRoU2Vjb25kID0gUGx1Z0luUGNpVmdhRGV2aWNlUGF0aDsNCj4gKyAg ICBnb3RvIFVwZGF0ZUNvbk91dDsNCj4gKyAgfQ0KPiArICBpZihPbmJvYXJkUGNpVmdhRGV2aWNl UGF0aCAhPSBOVUxMICYmDQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlByaW1hcnlWaWRlb0FkYXB0 b3IgPT0gMCkgew0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsIlVwZGF0ZSBvbmJvYXJkIFBD SSBWR0EgV2hlbiBzZXQNCj4gcHJpbWFyeSEhIS4uLlxuIikpOw0KPiArICAgIERldmljZVBhdGhG aXJzdCAgPSBPbmJvYXJkUGNpVmdhRGV2aWNlUGF0aDsNCj4gKyAgICBEZXZpY2VQYXRoU2Vjb25k ID0gUGx1Z0luUGNpVmdhRGV2aWNlUGF0aDsNCj4gKyAgICBnb3RvIFVwZGF0ZUNvbk91dDsNCj4g KyAgfQ0KPiArDQo+ICsgIERFQlVHICgoRUZJX0RfRVJST1IsIlVwZGF0ZSBwbHVnIGluIFBDSSBW R0EgLi4uXG4iKSk7DQo+ICsgIERldmljZVBhdGhGaXJzdCAgPSBQbHVnSW5QY2lWZ2FEZXZpY2VQ YXRoOw0KPiArICBEZXZpY2VQYXRoU2Vjb25kID0gT25ib2FyZFBjaVZnYURldmljZVBhdGg7DQo+ ICsNCj4gK1VwZGF0ZUNvbk91dDoNCj4gKyAgR2V0R29wRGV2aWNlUGF0aCAoRGV2aWNlUGF0aEZp cnN0LCAmR29wRGV2aWNlUGF0aCk7DQo+ICsgIERldmljZVBhdGhGaXJzdCA9IEdvcERldmljZVBh dGg7DQo+ICsNCj4gKyAgU3RhdHVzID0gQmRzTGliVXBkYXRlQ29uc29sZVZhcmlhYmxlICgNCj4g KyAgICAgICAgICAgICBMIkNvbk91dCIsDQo+ICsgICAgICAgICAgICAgRGV2aWNlUGF0aEZpcnN0 LA0KPiArICAgICAgICAgICAgIERldmljZVBhdGhTZWNvbmQNCj4gKyAgICAgICAgICAgICApOw0K PiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK1VwZGF0ZUNv bnNvbGVSZXNvbHV0aW9uKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICAg ICAgICAgICAgICAgICBIb3Jpem9udGFsUmVzb2x1dGlvbjsNCj4gKyAgVUlOVDMyICAgICAgICAg ICAgICAgICBWZXJ0aWNhbFJlc29sdXRpb247DQo+ICsgIFNZU1RFTV9DT05GSUdVUkFUSU9OICAg U3lzdGVtQ29uZmlndXJhdGlvbjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICBWYXJTaXpl Ow0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiArDQo+ICsgIEhv cml6b250YWxSZXNvbHV0aW9uID0gUGNkR2V0MzIgKFBjZFNldHVwVmlkZW9Ib3Jpem9udGFsUmVz b2x1dGlvbik7DQo+ICsgIFZlcnRpY2FsUmVzb2x1dGlvbiA9IFBjZEdldDMyIChQY2RTZXR1cFZp ZGVvVmVydGljYWxSZXNvbHV0aW9uKTsNCj4gKw0KPiArICBWYXJTaXplID0gc2l6ZW9mKFNZU1RF TV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgNCj4gKyAg ICAgICAgICAgICAgICAgIEwiU2V0dXAiLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlOb3Jt YWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAg ICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlv bg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8 fCBWYXJTaXplICE9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTikpIHsNCj4gKyAgICAvL1Ro ZSBzZXR1cCB2YXJpYWJsZSBpcyBjb3JydXB0ZWQNCj4gKyAgICBWYXJTaXplID0gc2l6ZW9mKFNZ U1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0K PiArICAgICAgICAgICAgICBMIlNldHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAgICAgICAmZ0Vm aU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAg ICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICZTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsg ICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAg fQ0KPiArDQo+ICsgIHN3aXRjaCAoU3lzdGVtQ29uZmlndXJhdGlvbi5JZ2RGbGF0UGFuZWwpIHsN Cj4gKw0KPiArICBjYXNlIDA6DQo+ICsgICAgLy8NCj4gKyAgICAvLyBVc2UgdGhlIGRldGF1bHQg UENEIHZhbHVlcy4NCj4gKyAgICAvLw0KPiArICAgIGJyZWFrOw0KPiArDQo+ICsgIGNhc2UgMToN Cj4gKyAgICBIb3Jpem9udGFsUmVzb2x1dGlvbiA9IDY0MDsNCj4gKyAgICBWZXJ0aWNhbFJlc29s dXRpb24gPSA0ODA7DQo+ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSAyOg0KPiArICAgIEhv cml6b250YWxSZXNvbHV0aW9uID0gODAwOw0KPiArICAgIFZlcnRpY2FsUmVzb2x1dGlvbiA9IDYw MDsNCj4gKyAgICBicmVhazsNCj4gKw0KPiArICBjYXNlIDM6DQo+ICsgICAgSG9yaXpvbnRhbFJl c29sdXRpb24gPSAxMDI0Ow0KPiArICAgIFZlcnRpY2FsUmVzb2x1dGlvbiA9IDc2ODsNCj4gKyAg ICBicmVhazsNCj4gKw0KPiArICBjYXNlIDQ6DQo+ICsgIEhvcml6b250YWxSZXNvbHV0aW9uID0g MTI4MDsNCj4gKyAgVmVydGljYWxSZXNvbHV0aW9uID0gMTAyNDsNCj4gKyAgYnJlYWs7DQo+ICsN Cj4gKyAgY2FzZSA1Og0KPiArICBIb3Jpem9udGFsUmVzb2x1dGlvbiA9IDEzNjY7DQo+ICsgIFZl cnRpY2FsUmVzb2x1dGlvbiA9IDc2ODsNCj4gKyAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSA2Og0K PiArICBIb3Jpem9udGFsUmVzb2x1dGlvbiA9IDE2ODA7DQo+ICsgIFZlcnRpY2FsUmVzb2x1dGlv biA9IDEwNTA7DQo+ICsgIGJyZWFrOw0KPiArDQo+ICsgIGNhc2UgNzoNCj4gKyAgSG9yaXpvbnRh bFJlc29sdXRpb24gPSAxOTIwOw0KPiArICBWZXJ0aWNhbFJlc29sdXRpb24gPSAxMjAwOw0KPiAr ICBicmVhazsNCj4gKw0KPiArICBjYXNlIDg6DQo+ICsgIEhvcml6b250YWxSZXNvbHV0aW9uID0g MTI4MDsNCj4gKyAgVmVydGljYWxSZXNvbHV0aW9uID0gODAwOw0KPiArICBicmVhazsNCj4gKyAg fQ0KPiArDQo+ICsgIFBjZFNldDMyIChQY2RTZXR1cFZpZGVvSG9yaXpvbnRhbFJlc29sdXRpb24s IEhvcml6b250YWxSZXNvbHV0aW9uKTsNCj4gKyAgUGNkU2V0MzIgKFBjZFNldHVwVmlkZW9WZXJ0 aWNhbFJlc29sdXRpb24sIFZlcnRpY2FsUmVzb2x1dGlvbik7DQo+ICsgIERFQlVHICgoRUZJX0Rf RVJST1IsICJIb3Jpem9udGFsUmVzb2x1dGlvbiA9ICV4OyBWZXJ0aWNhbFJlc29sdXRpb24NCj4g PSAleCIsIEhvcml6b250YWxSZXNvbHV0aW9uLCBWZXJ0aWNhbFJlc29sdXRpb24pKTsNCj4gKw0K PiArICByZXR1cm47DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBDb25uZWN0IHRoZSBwcmVkZWZp bmVkIHBsYXRmb3JtIGRlZmF1bHQgY29uc29sZSBkZXZpY2UuIEFsd2F5cyB0cnkgdG8gZmluZA0K PiArICBhbmQgZW5hYmxlIHRoZSB2Z2EgZGV2aWNlIGlmIGhhdmUuDQo+ICsNCj4gKyAgQHBhcmFt IFBsYXRmb3JtQ29uc29sZSAgICBQcmVkZWZpbmVkIHBsYXRmb3JtIGRlZmF1bHQgY29uc29sZSBk ZXZpY2UNCj4gYXJyYXkuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBTdWNj ZXNzIGNvbm5lY3QgYXQgbGVhc3Qgb25lIENvbkluIGFuZCBDb25PdXQNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkZXZpY2UsIHRoZXJlIG11c3QgaGF2ZSBvbmUgQ29uT3V0IGRldmlj ZSBpcw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFjdGl2ZSB2Z2EgZGV2aWNlLg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NUQVRVUyAgICAgICAgUmV0dXJuIHRoZSBzdGF0dXMgb2YN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZHNMaWJDb25uZWN0QWxsRGVmYXVsdENv bnNvbGVzICgpDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArUGxhdGZvcm1CZHNDb25u ZWN0Q29uc29sZSAoDQo+ICsgIElOIEJEU19DT05TT0xFX0NPTk5FQ1RfRU5UUlkgICAqUGxhdGZv cm1Db25zb2xlDQo+ICspDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAg ICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElu ZGV4Ow0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAgICAgICpWYXJDb25vdXQ7 DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICAgICAgKlZhckNvbmluOw0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZVBhdGhTaXplOw0KPiAr DQo+ICsgIFVwZGF0ZUNvbnNvbGVSZXNvbHV0aW9uKCk7DQo+ICsNCj4gKyAgSW5kZXggPSAwOw0K PiArICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gKyAgRGV2aWNlUGF0aFNpemUgPSAwOw0KPiAr ICBWYXJDb25vdXQgPSBCZHNMaWJHZXRWYXJpYWJsZUFuZFNpemUgKA0KPiArICAgICAgICAgICAg ICAgIEwiQ29uT3V0IiwNCj4gKyAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3Vp ZCwNCj4gKyAgICAgICAgICAgICAgICAmRGV2aWNlUGF0aFNpemUNCj4gKyAgICAgICAgICAgICAg ICApOw0KPiArICBWYXJDb25pbiA9IEJkc0xpYkdldFZhcmlhYmxlQW5kU2l6ZSAoDQo+ICsgICAg ICAgICAgICAgICBMIkNvbkluIiwNCj4gKyAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFi bGVHdWlkLA0KPiArICAgICAgICAgICAgICAgJkRldmljZVBhdGhTaXplDQo+ICsgICAgICAgICAg ICAgICApOw0KPiArICBpZiAoVmFyQ29ub3V0ID09IE5VTEwgfHwgVmFyQ29uaW4gPT0gTlVMTCkg ew0KPiArICAgIC8vDQo+ICsgICAgLy8gSGF2ZSBjaGFuY2UgdG8gY29ubmVjdCB0aGUgcGxhdGZv cm0gZGVmYXVsdCBjb25zb2xlLA0KPiArICAgIC8vIHRoZSBwbGF0Zm9ybSBkZWZhdWx0IGNvbnNv bGUgaXMgdGhlIG1pbmltdW0gZGV2aWNlIGdyb3VwDQo+ICsgICAgLy8gdGhlIHBsYXRmb3JtIHNo b3VsZCBzdXBwb3J0DQo+ICsgICAgLy8NCj4gKyAgICB3aGlsZSAoUGxhdGZvcm1Db25zb2xlW0lu ZGV4XS5EZXZpY2VQYXRoICE9IE5VTEwpIHsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8v IFVwZGF0ZSB0aGUgY29uc29sZSB2YXJpYWJsZSB3aXRoIHRoZSBjb25uZWN0IHR5cGUNCj4gKyAg ICAgIC8vDQo+ICsgICAgICBpZiAoKFBsYXRmb3JtQ29uc29sZVtJbmRleF0uQ29ubmVjdFR5cGUg JiBDT05TT0xFX0lOKSA9PQ0KPiBDT05TT0xFX0lOKSB7DQo+ICsgICAgICAgIEJkc0xpYlVwZGF0 ZUNvbnNvbGVWYXJpYWJsZSAoTCJDb25JbiIsDQo+IFBsYXRmb3JtQ29uc29sZVtJbmRleF0uRGV2 aWNlUGF0aCwgTlVMTCk7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIGlmICgoUGxhdGZvcm1D b25zb2xlW0luZGV4XS5Db25uZWN0VHlwZSAmIENPTlNPTEVfT1VUKSA9PQ0KPiBDT05TT0xFX09V VCkgew0KPiArICAgICAgICBCZHNMaWJVcGRhdGVDb25zb2xlVmFyaWFibGUgKEwiQ29uT3V0IiwN Cj4gUGxhdGZvcm1Db25zb2xlW0luZGV4XS5EZXZpY2VQYXRoLCBOVUxMKTsNCj4gKyAgICAgIH0N Cj4gKw0KPiArICAgICAgaWYgKChQbGF0Zm9ybUNvbnNvbGVbSW5kZXhdLkNvbm5lY3RUeXBlICYg U1REX0VSUk9SKSA9PSBTVERfRVJST1IpDQo+IHsNCj4gKyAgICAgICAgQmRzTGliVXBkYXRlQ29u c29sZVZhcmlhYmxlIChMIkVyck91dCIsDQo+IFBsYXRmb3JtQ29uc29sZVtJbmRleF0uRGV2aWNl UGF0aCwgTlVMTCk7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIEluZGV4ICsrOw0KPiArICAg IH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2Ugc3VyZSB3ZSBoYXZlIGF0IGxl YXN0IG9uZSBhY3RpdmUgVkdBLCBhbmQgaGF2ZSB0aGUgcmlnaHQNCj4gKyAgLy8gYWN0aXZlIFZH QSBpbiBjb25zb2xlIHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IFBsYXRmb3JtQmRz Rm9yY2VBY3RpdmVWZ2EgKCk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAg ICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAi RElTUExBWSBJTklUIERPTkVcbiIpKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDb25uZWN0IHRo ZSBhbGwgdGhlIGRlZmF1bHQgY29uc29sZSB3aXRoIGN1cnJlbnQgY29uc29sZSB2YXJpYWJsZQ0K PiArICAvLw0KPiArICBTdGF0dXMgPSBCZHNMaWJDb25uZWN0QWxsRGVmYXVsdENvbnNvbGVzICgp Ow0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsN Cj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoq DQo+ICsgIENvbm5lY3Qgd2l0aCBwcmVkZWZpbmVkIHBsYXRmb3JtIGNvbm5lY3Qgc2VxdWVuY2Us DQo+ICsgIHRoZSBPRU0vSUJWIGNhbiBjdXN0b21pemUgd2l0aCB0aGVpciBvd24gY29ubmVjdCBz ZXF1ZW5jZS4NCj4gKw0KPiArICBAcGFyYW0gTm9uZS4NCj4gKw0KPiArICBAcmV0dmFsIE5vbmUu DQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArUGxhdGZvcm1CZHNDb25uZWN0U2VxdWVuY2UgKA0K PiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJ bmRleDsNCj4gKw0KPiArICBJbmRleCA9IDA7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSGVyZSB3 ZSBjYW4gZ2V0IHRoZSBjdXN0b21pemVkIHBsYXRmb3JtIGNvbm5lY3Qgc2VxdWVuY2UNCj4gKyAg Ly8gTm90ZXM6IHdlIGNhbiBjb25uZWN0IHdpdGggbmV3IHZhcmlhYmxlIHdoaWNoIHJlY29yZCB0 aGUNCj4gKyAgLy8gbGFzdCB0aW1lIGJvb3RzIGNvbm5lY3QgZGV2aWNlIHBhdGggc2VxdWVuY2UN Cj4gKyAgLy8NCj4gKyAgd2hpbGUgKGdQbGF0Zm9ybUNvbm5lY3RTZXF1ZW5jZVtJbmRleF0gIT0g TlVMTCkgew0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBCdWlsZCB0aGUgcGxhdGZvcm0gYm9v dCBvcHRpb24NCj4gKyAgICAvLw0KPiArICAgIEJkc0xpYkNvbm5lY3REZXZpY2VQYXRoIChnUGxh dGZvcm1Db25uZWN0U2VxdWVuY2VbSW5kZXhdKTsNCj4gKyAgICBJbmRleCArKzsNCj4gKyAgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIEp1c3QgdXNlIHRoZSBzaW1wbGUgcG9saWN5IHRvIGNvbm5l Y3QgYWxsIGRldmljZXMNCj4gKyAgLy8gVGhlcmUgc2hvdWxkIGJlIG5vIGRpZmZlcmVuY2UgYmV0 d2VlbiBkZWJ1ZyB0aXAgYW5kIHJlbGVhc2UgdGlwLCBvciBpdA0KPiB3aWxsIGJlIGV4dHJlbWVs eSBoYXJkIHRvIGRlYnVnLg0KPiArICAvLw0KPiArICAvLyBUaGVyZSBpcyBjYXNlIHRoYXQgSWRl Q29udHJvbGxlciBkcml2ZXIgd2lsbCB3cml0ZSBib290IHNjcmlwdCBpbiBkcml2ZXINCj4gbW9k ZWwgU3RhcnQoKSBmdW5jdGlvbi4gSXQgd2lsbCBiZSByZWplY3RlZCBieSBib290IHNjcmlwdCBz YXZlLg0KPiArICAvLyBJdCBpcyBvbmx5IGZvdW5kIHdoZW4gREVCVUcgZGlzYWJsZWQsIGJlY2F1 c2Ugd2UgYXJlIHVzaW5nDQo+IEJkc0xpYkNvbm5lY3RBbGwoKSB3aGVuIERFQlVHIGVuYWJsZWQu DQo+ICsgIC8vDQo+ICsgIC8vIFNvIHdlIHVzZSBCZHNMaWJDb25uZWN0QWxsKCkgaGVyZSB0byBt YWtlIHN1cmUgSWRlQ29udHJvbGxlci5TdGFydCgpIGlzDQo+IGludm9rZWQgYmVmb3JlIEluc3Rh bGxSZWFkeVRvTG9jaygpLg0KPiArICAvLyBXZSBtYXkgYWxzbyBjb25zaWRlciB0byBjb25uZWN0 IFNhdGFDb250cm9sbGVyIG9ubHkgbGF0ZXIgaWYgbmVlZGVkLg0KPiArICAvLw0KPiArICBCZHNM aWJDb25uZWN0QWxsICgpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBMb2FkIHRoZSBw cmVkZWZpbmVkIGRyaXZlciBvcHRpb24sIE9FTS9JQlYgY2FuIGN1c3RvbWl6ZSB0aGlzDQo+ICsg IHRvIGxvYWQgdGhlaXIgb3duIGRyaXZlcnMNCj4gKw0KPiArICBAcGFyYW0gQmRzRHJpdmVyTGlz dHMgIFRoZSBoZWFkZXIgb2YgdGhlIGRyaXZlciBvcHRpb24gbGluayBsaXN0Lg0KPiArDQo+ICsg IEByZXR2YWwgTm9uZS4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtQbGF0Zm9ybUJkc0dldERy aXZlck9wdGlvbiAoDQo+ICsgIElOIE9VVCBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgKkJk c0RyaXZlckxpc3RzDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBJbmRleDsNCj4gKw0KPiArICBJbmRleCA9IDA7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gSGVyZSB3ZSBjYW4gZ2V0IHRoZSBjdXN0b21pemVkIHBsYXRmb3JtIGRyaXZlciBvcHRp b24NCj4gKyAgLy8NCj4gKyAgd2hpbGUgKGdQbGF0Zm9ybURyaXZlck9wdGlvbltJbmRleF0gIT0g TlVMTCkgew0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBCdWlsZCB0aGUgcGxhdGZvcm0gYm9v dCBvcHRpb24NCj4gKyAgICAvLw0KPiArICAgIEJkc0xpYlJlZ2lzdGVyTmV3T3B0aW9uIChCZHNE cml2ZXJMaXN0cywgZ1BsYXRmb3JtRHJpdmVyT3B0aW9uW0luZGV4XSwNCj4gTlVMTCwgTCJEcml2 ZXJPcmRlciIpOw0KPiArICAgIEluZGV4ICsrOw0KPiArICB9DQo+ICsNCj4gK30NCj4gKw0KPiAr LyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gaXMgdXNlZCBmb3Igc29tZSBjcml0aWNhbCB0aW1lIGlm IHRoZSB0aGUgc3lzdGVtDQo+ICsgIGhhdmUgbm8gYW55IGJvb3Qgb3B0aW9uLCBhbmQgdGhlcmUg aXMgbm8gdGltZSBvdXQgZm9yIHVzZXIgdG8gYWRkDQo+ICsgIHRoZSBuZXcgYm9vdCBvcHRpb24u IFRoaXMgY2FuIGFsc28gdHJlYXQgYXMgdGhlIHBsYXRmb3JtIGRlZmF1bHQNCj4gKyAgYm9vdCBv cHRpb24uDQo+ICsNCj4gKyAgQHBhcmFtIEJkc0Jvb3RPcHRpb25MaXN0ICAgVGhlIGhlYWRlciBv ZiB0aGUgYm9vdCBvcHRpb24gbGluayBsaXN0Lg0KPiArDQo+ICsgIEByZXR2YWwgTm9uZS4NCj4g Kw0KPiArKiovDQo+ICtWT0lEDQo+ICtQbGF0Zm9ybUJkc1ByZWRpY3RCb290T3B0aW9uICgNCj4g KyAgSU4gT1VUIExJU1RfRU5UUlkgICAgICAgICAgICAgICAgICAqQmRzQm9vdE9wdGlvbkxpc3QN Cj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIElu ZGV4Ow0KPiArDQo+ICsgIEluZGV4ID0gMDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBIZXJlIGdp dmUgY2hhbmNlIHRvIGdldCBwbGF0Zm9ybSBib290IG9wdGlvbiBkYXRhDQo+ICsgIC8vDQo+ICsg IHdoaWxlIChnUGxhdGZvcm1Cb290T3B0aW9uW0luZGV4XSAhPSBOVUxMKSB7DQo+ICsNCj4gKyAg ICAvLw0KPiArICAgIC8vIEJ1aWxkIHRoZSBwbGF0Zm9ybSBib290IG9wdGlvbg0KPiArICAgIC8v DQo+ICsgICAgQmRzTGliUmVnaXN0ZXJOZXdPcHRpb24gKEJkc0Jvb3RPcHRpb25MaXN0LA0KPiBn UGxhdGZvcm1Cb290T3B0aW9uW0luZGV4XSwgTlVMTCwgTCJCb290T3JkZXIiKTsNCj4gKyAgICBJ bmRleCArKzsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUGVyZm9ybSB0aGUgcGxh dGZvcm0gZGlhZ25vc3RpYywgc3VjaCBsaWtlIHRlc3QgbWVtb3J5LiBPRU0vSUJWIGFsc28NCj4g KyAgY2FuIGN1c3RvbWl6ZSB0aGlzIGZ1Y3Rpb24gdG8gc3VwcG9ydCBzcGVjaWZpYyBwbGF0Zm9y bSBkaWFnbm9zdGljLg0KPiArDQo+ICsgIEBwYXJhbSBNZW1vcnlUZXN0TGV2ZWwgICBUaGUgbWVt b3J5IHRlc3QgaW50ZW5zaXZlIGxldmVsDQo+ICsgIEBwYXJhbSBRdWlldEJvb3QgICAgICAgICBJ bmRpY2F0ZSBpZiBuZWVkIHRvIGVuYWJsZSB0aGUgcXVpZXQgYm9vdA0KPiArICBAcGFyYW0gQmFz ZU1lbW9yeVRlc3QgICAgQSBwb2ludGVyIHRvIEJkc01lbW9yeVRlc3QoKQ0KPiArDQo+ICsgIEBy ZXR2YWwgIE5vbmUuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArUGxhdGZvcm1CZHNEaWFnbm9z dGljcyAoDQo+ICsgIElOIEVYVEVORE1FTV9DT1ZFUkFHRV9MRVZFTCAgICBNZW1vcnlUZXN0TGV2 ZWwsDQo+ICsgIElOIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBRdWlldEJvb3QsDQo+ICsg IElOIEJBU0VNX01FTU9SWV9URVNUICAgICAgICAgICBCYXNlTWVtb3J5VGVzdA0KPiArICApDQo+ ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gSGVyZSB3ZSBjYW4gZGVjaWRlIGlmIHdlIG5lZWQgdG8gc2hvdw0KPiAr ICAvLyB0aGUgZGlhZ25vc3RpY3Mgc2NyZWVuDQo+ICsgIC8vIE5vdGVzOiB0aGlzIHF1aWV0IGJv b3QgY29kZSBzaG91bGQgYmUgcmVtb3ZlDQo+ICsgIC8vIGZyb20gdGhlIGdyYXBoaWMgbGliDQo+ ICsgIC8vDQo+ICsgIGlmIChRdWlldEJvb3QpIHsNCj4gKyAgICBFbmFibGVRdWlldEJvb3QgKFBj ZEdldFB0cihQY2RMb2dvRmlsZSkpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBQZXJmb3Jt IHN5c3RlbSBkaWFnbm9zdGljDQo+ICsgICAgLy8NCj4gKyAgICBTdGF0dXMgPSBCYXNlTWVtb3J5 VGVzdCAoTWVtb3J5VGVzdExldmVsKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+ICsgICAgICBEaXNhYmxlUXVpZXRCb290ICgpOw0KPiArICAgIH0NCj4gKw0KPiArICAgIHJl dHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFBlcmZvcm0gc3lzdGVtIGRpYWdu b3N0aWMNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gQmFzZU1lbW9yeVRlc3QgKE1lbW9yeVRlc3RM ZXZlbCk7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEZvciBFRkkgYm9vdCBvcHRpb24s IEJEUyBzZXBhcmF0ZSB0aGVtIGFzIHNpeCB0eXBlczoNCj4gKyAgMS4gTmV0d29yayAtIFRoZSBi b290IG9wdGlvbiBwb2ludHMgdG8gdGhlIFNpbXBsZU5ldHdvcmtQcm90b2NvbCBkZXZpY2UuDQo+ ICsgICAgICAgICAgICAgICBCZHMgd2lsbCB0cnkgdG8gYXV0b21hdGljYWxseSBjcmVhdGUgdGhp cyB0eXBlIGJvb3Qgb3B0aW9uIHdoZW4NCj4gZW51bWVyYXRlLg0KPiArICAyLiBTaGVsbCAgIC0g VGhlIGJvb3Qgb3B0aW9uIHBvaW50cyB0byBpbnRlcm5hbCBmbGFzaCBzaGVsbC4NCj4gKyAgICAg ICAgICAgICAgIEJkcyB3aWxsIHRyeSB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB0aGlzIHR5cGUg Ym9vdCBvcHRpb24gd2hlbg0KPiBlbnVtZXJhdGUuDQo+ICsgIDMuIFJlbW92YWJsZSBCbG9ja0lv ICAgICAgLSBUaGUgYm9vdCBvcHRpb24gb25seSBwb2ludHMgdG8gdGhlIHJlbW92YWJsZQ0KPiBt ZWRpYQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlLCBsaWtlIFVTQiBm bGFzaCBkaXNrLCBEVkQsIEZsb3BweSBldGMuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBUaGVzZSBkZXZpY2Ugc2hvdWxkIGNvbnRhaW4gYSAqcmVtb3ZhYmxlKiBibG9ja0lvDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbCBpbiB0aGVpciBkZXZpY2Ug aGFuZGxlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmRzIHdpbGwgdHJ5IHRv IGF1dG9tYXRpY2FsbHkgY3JlYXRlIHRoaXMgdHlwZSBib290IG9wdGlvbg0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgd2hlbiBlbnVtZXJhdGUuDQo+ICsgIDQuIEZpeGVkIEJsb2Nr SW8gICAgICAgICAgLSBUaGUgYm9vdCBvcHRpb24gb25seSBwb2ludHMgdG8gYSBGaXhlZCBibG9j a0lvIGRldmljZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpa2UgSGFyZERp c2suDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaGVzZSBkZXZpY2Ugc2hvdWxk IGNvbnRhaW4gYSAqZml4ZWQqIGJsb2NrSW8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHByb3RvY29sIGluIHRoZWlyIGRldmljZSBoYW5kbGUuDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBCRFMgd2lsbCBza2lwIGZpeGVkIGJsb2NrSW8gZGV2aWNlcywgYW5kIE5P VA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXV0b21hdGljYWxseSBjcmVhdGUg Ym9vdCBvcHRpb24gZm9yIHRoZW0uIEJ1dCBCRFMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHdpbGwgaGVscCB0byBkZWxldGUgdGhvc2UgZml4ZWQgYmxvY2tJbyBib290IG9wdGlv biwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdob3NlIGRlc2NyaXB0aW9uIHJ1 bGUgY29uZmxpY3Qgd2l0aCBvdGhlciBhdXRvLWNyZWF0ZWQNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGJvb3Qgb3B0aW9ucy4NCj4gKyAgNS4gTm9uLUJsb2NrSW8gU2ltcGxlZmls ZSAtIFRoZSBib290IG9wdGlvbiBwb2ludHMgdG8gYSBkZXZpY2Ugd2hvc2UNCj4gaGFuZGxlDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBoYXMgU2ltcGxlRmlsZVN5c3RlbSBQcm90 b2NvbCwgYnV0IGhhcyBubyBibG9ja2lvDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBwcm90b2NvbC4gVGhlc2UgZGV2aWNlcyBkbyBub3Qgb2ZmZXIgYmxvY2tJbw0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgcHJvdG9jb2wsIGJ1dCBCRFMgc3RpbGwgY2FuIGdldCB0 aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxFRklcQk9PVFxib290e21hY2hp bmVuYW1lfS5FRkkgYnkgU2ltcGxlRmlsZVN5c3RlbQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUHJvdG9jb2wuDQo+ICsgIDYuIEZpbGUgICAgLSBUaGUgYm9vdCBvcHRpb24gcG9p bnRzIHRvIGEgZmlsZS4gVGhlc2UgYm9vdCBvcHRpb25zIGFyZSB1c3VhbGx5DQo+ICsgICAgICAg ICAgICAgICBjcmVhdGVkIGJ5IHVzZXIgbWFudWFsbHkgb3IgT1MgbG9hZGVyLiBCRFMgd2lsbCBu b3QgZGVsZXRlIG9yIG1vZGlmeQ0KPiArICAgICAgICAgICAgICAgdGhlc2UgYm9vdCBvcHRpb25z Lg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rpb24gd2lsbCBlbnVtZXJhdGUgYWxsIHBvc3NpYmxlIGJv b3QgZGV2aWNlIGluIHRoZSBzeXN0ZW0sIGFuZA0KPiArICBhdXRvbWF0aWNhbGx5IGNyZWF0ZSBi b290IG9wdGlvbnMgZm9yIE5ldHdvcmssIFNoZWxsLCBSZW1vdmFibGUgQmxvY2tJbywNCj4gKyAg YW5kIE5vbi1CbG9ja0lvIFNpbXBsZWZpbGUgZGV2aWNlcy4NCj4gKyAgSXQgd2lsbCBvbmx5IGV4 ZWN1dGUgb25jZSBvZiBldmVyeSBib290Lg0KPiArDQo+ICsgIEBwYXJhbSAgQmRzQm9vdE9wdGlv bkxpc3QgICAgICBUaGUgaGVhZGVyIG9mIHRoZSBsaW5rIGxpc3Qgd2hpY2ggaW5kZXhlZCBhbGwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGN1cnJlbnQgYm9vdCBvcHRpb25z DQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgIEZpbmlzaGVkIGFsbCB0 aGUgYm9vdCBkZXZpY2UgZW51bWVyYXRlIGFuZA0KPiBjcmVhdGUNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRoZSBib290IG9wdGlvbiBiYXNlIG9uIHRoYXQgYm9vdCBkZXZp Y2UNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgRmFpbGVkIHRvIGVu dW1lcmF0ZSB0aGUgYm9vdCBkZXZpY2UNCj4gYW5kIGNyZWF0ZSB0aGUgYm9vdCBvcHRpb24gbGlz dA0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1BsYXRmb3JtQmRzTGliRW51 bWVyYXRlQWxsQm9vdE9wdGlvbiAoDQo+ICsgIElOIE9VVCBMSVNUX0VOVFJZICAgICAgICAgICpC ZHNCb290T3B0aW9uTGlzdA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAg ICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgRmxv cHB5TnVtYmVyOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICBIYXJkZHJpdmVO dW1iZXI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgIENkcm9tTnVtYmVyOw0K PiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICBVc2JOdW1iZXI7DQo+ICsgIFVJTlQx NiAgICAgICAgICAgICAgICAgICAgICAgIE1pc2NOdW1iZXI7DQo+ICsgIFVJTlQxNiAgICAgICAg ICAgICAgICAgICAgICAgIFNjc2lOdW1iZXI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAg ICAgICAgIE5vbkJsb2NrTnVtYmVyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICBOdW1iZXJCbG9ja0lvSGFuZGxlczsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAg ICAgKkJsb2NrSW9IYW5kbGVzOw0KPiArICBFRklfQkxPQ0tfSU9fUFJPVE9DT0wgICAgICAgICAq QmxrSW87DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgIFJlbW92YWJsZVsyXTsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgUmVtb3ZhYmxlSW5kZXg7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBVSU5UTiAgICAgICAg ICAgICAgICAgICAgICAgICBOdW1PZkxvYWRGaWxlSGFuZGxlczsNCj4gKyAgRUZJX0hBTkRMRSAg ICAgICAgICAgICAgICAgICAgKkxvYWRGaWxlSGFuZGxlczsNCj4gKyAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgRnZIYW5kbGVDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAg ICAgICAgICAgKkZ2SGFuZGxlQnVmZmVyOw0KPiArICBFRklfRlZfRklMRVRZUEUgICAgICAgICAg ICAgICBUeXBlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBTaXplOw0KPiAr ICBFRklfRlZfRklMRV9BVFRSSUJVVEVTICAgICAgICBBdHRyaWJ1dGVzOw0KPiArICBVSU5UMzIg ICAgICAgICAgICAgICAgICAgICAgICBBdXRoZW50aWNhdGlvblN0YXR1czsNCj4gKyAgRUZJX0ZJ Uk1XQVJFX1ZPTFVNRTJfUFJPVE9DT0wgKkZ2Ow0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9D T0wgICAgICAqRGV2aWNlUGF0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg RGV2aWNlUGF0aFR5cGU7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZl cls0MF07DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICpGaWxlU3lzdGVtSGFu ZGxlczsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyRmlsZVN5c3Rl bUhhbmRsZXM7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgIE5lZWREZWxldGU7 DQo+ICsgIEVGSV9JTUFHRV9ET1NfSEVBREVSICAgICAgICAgIERvc0hlYWRlcjsNCj4gKyAgQ0hB UjggICAgICAgICAgICAgICAgICAgICAgICAgKlBsYXRMYW5nOw0KPiArICBDSEFSOCAgICAgICAg ICAgICAgICAgICAgICAgICAqTGFzdExhbmc7DQo+ICsgIEVGSV9JTUFHRV9PUFRJT05BTF9IRUFE RVJfVU5JT04gICAgICAgSGRyRGF0YTsNCj4gKyAgRUZJX0lNQUdFX09QVElPTkFMX0hFQURFUl9Q VFJfVU5JT04gICBIZHI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICpNYWNT dHI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICpJUHZlclN0cjsNCj4gKyAg RUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgKk5ldHdvcmtIYW5kbGVzOw0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJTaXplOw0KPiArDQo+ICsgIEZsb3BweU51 bWJlciAgICA9IDA7DQo+ICsgIEhhcmRkcml2ZU51bWJlciA9IDA7DQo+ICsgIENkcm9tTnVtYmVy ICAgICA9IDA7DQo+ICsgIFVzYk51bWJlciAgICAgICA9IDA7DQo+ICsgIE1pc2NOdW1iZXIgICAg ICA9IDA7DQo+ICsgIFNjc2lOdW1iZXIgICAgICA9IDA7DQo+ICsgIFBsYXRMYW5nICAgICAgICA9 IE5VTEw7DQo+ICsgIExhc3RMYW5nICAgICAgICA9IE5VTEw7DQo+ICsgIFplcm9NZW0gKEJ1ZmZl ciwgc2l6ZW9mIChCdWZmZXIpKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJZiB0aGUgYm9vdCBk ZXZpY2UgZW51bWVyYXRlIGhhcHBlbmVkLCBqdXN0IGdldCB0aGUgYm9vdA0KPiArICAvLyBkZXZp Y2UgZnJvbSB0aGUgYm9vdCBvcmRlciB2YXJpYWJsZQ0KPiArICAvLw0KPiArICBpZiAobUVudW1C b290RGV2aWNlKSB7DQo+ICsgICAgR2V0VmFyaWFibGUyIChMQVNUX0VOVU1fTEFOR1VBR0VfVkFS SUFCTEVfTkFNRSwNCj4gJmdMYXN0RW51bUxhbmdHdWlkLCAoVk9JRCoqKSZMYXN0TGFuZywgTlVM TCk7DQo+ICsgICAgR2V0RWZpR2xvYmFsVmFyaWFibGUyIChMIlBsYXRmb3JtTGFuZyIsIChWT0lE KiopJlBsYXRMYW5nLCBOVUxMKTsNCj4gKyAgICBBU1NFUlQgKFBsYXRMYW5nICE9IE5VTEwpOw0K PiArICAgIGlmICgoTGFzdExhbmcgIT0gTlVMTCkgJiYgKEFzY2lpU3RyQ21wIChMYXN0TGFuZywg UGxhdExhbmcpID09IDApKSB7DQo+ICsgICAgICBTdGF0dXMgPSBCZHNMaWJCdWlsZE9wdGlvbkZy b21WYXIgKEJkc0Jvb3RPcHRpb25MaXN0LCBMIkJvb3RPcmRlciIpOw0KPiArICAgICAgRnJlZVBv b2wgKExhc3RMYW5nKTsNCj4gKyAgICAgIEZyZWVQb29sIChQbGF0TGFuZyk7DQo+ICsgICAgICBy ZXR1cm4gU3RhdHVzOw0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBTdGF0dXMgPSBnUlQtPlNl dFZhcmlhYmxlICgNCj4gKyAgICAgICAgTEFTVF9FTlVNX0xBTkdVQUdFX1ZBUklBQkxFX05BTUUs DQo+ICsgICAgICAgICZnTGFzdEVudW1MYW5nR3VpZCwNCj4gKyAgICAgICAgRUZJX1ZBUklBQkxF X0JPT1RTRVJWSUNFX0FDQ0VTUyB8IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUsDQo+ICsgICAg ICAgIEFzY2lpU3RyU2l6ZSAoUGxhdExhbmcpLA0KPiArICAgICAgICBQbGF0TGFuZw0KPiArICAg ICAgICApOw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEZhaWx1cmUgdG8gc2V0IHRoZSB2YXJp YWJsZSBvbmx5IGltcGFjdHMgdGhlIHBlcmZvcm1hbmNlIG5leHQgdGltZQ0KPiBlbnVtZXJhdGlu ZyB0aGUgYm9vdCBvcHRpb25zLg0KPiArICAgICAgLy8NCj4gKw0KPiArICAgICAgaWYgKExhc3RM YW5nICE9IE5VTEwpIHsNCj4gKyAgICAgICAgRnJlZVBvb2wgKExhc3RMYW5nKTsNCj4gKyAgICAg IH0NCj4gKyAgICAgIEZyZWVQb29sIChQbGF0TGFuZyk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gTm90ZXM6IHRoaXMgZGlydHkgY29kZSBpcyB0byBnZXQgdGhlIGxl Z2FjeSBib290IG9wdGlvbiBmcm9tIHRoZQ0KPiArICAvLyBCQlMgdGFibGUgYW5kIGNyZWF0ZSB0 byB2YXJpYWJsZSBhcyB0aGUgRUZJIGJvb3Qgb3B0aW9uLCBpdCBzaG91bGQNCj4gKyAgLy8gYmUg cmVtb3ZlZCBhZnRlciB0aGUgQ1NNIGNhbiBwcm92aWRlIGxlZ2FjeSBib290IG9wdGlvbiBkaXJl Y3RseQ0KPiArICAvLw0KPiArICBSRUZSRVNIX0xFR0FDWV9CT09UX09QVElPTlM7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gRGVsZXRlIGludmFsaWQgYm9vdCBvcHRpb24NCj4gKyAgLy8NCj4gKyAg QmRzRGVsZXRlQWxsSW52YWxpZEVmaUJvb3RPcHRpb24gKCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gUGFyc2UgcmVtb3ZhYmxlIG1lZGlhIGZvbGxvd2VkIGJ5IGZpeGVkIG1lZGlhLg0KPiArICAv LyBUaGUgUmVtb3ZhYmxlW10gYXJyYXkgaXMgdXNlZCBieSB0aGUgZm9yLWxvb3AgYmVsb3cgdG8g Y3JlYXRlDQo+IHJlbW92YWJsZSBtZWRpYSBib290IG9wdGlvbnMNCj4gKyAgLy8gYXQgZmlyc3Qs IGFuZCB0aGVuIHRvIGNyZWF0ZSBmaXhlZCBtZWRpYSBib290IG9wdGlvbnMuDQo+ICsgIC8vDQo+ ICsgIFJlbW92YWJsZVswXSAgPSBGQUxTRTsNCj4gKyAgUmVtb3ZhYmxlWzFdICA9IFRSVUU7DQo+ ICsNCj4gKyAgZ0JTLT5Mb2NhdGVIYW5kbGVCdWZmZXIgKA0KPiArICAgICAgICBCeVByb3RvY29s LA0KPiArICAgICAgICAmZ0VmaUJsb2NrSW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgIE5VTEws DQo+ICsgICAgICAgICZOdW1iZXJCbG9ja0lvSGFuZGxlcywNCj4gKyAgICAgICAgJkJsb2NrSW9I YW5kbGVzDQo+ICsgICAgICAgICk7DQo+ICsNCj4gKyAgZm9yIChSZW1vdmFibGVJbmRleCA9IDA7 IFJlbW92YWJsZUluZGV4IDwgMjsgUmVtb3ZhYmxlSW5kZXgrKykgew0KPiArICAgIGZvciAoSW5k ZXggPSAwOyBJbmRleCA8IE51bWJlckJsb2NrSW9IYW5kbGVzOyBJbmRleCsrKSB7DQo+ICsgICAg ICBTdGF0dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAg ICBCbG9ja0lvSGFuZGxlc1tJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJmdFZmlC bG9ja0lvUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAm QmxrSW8NCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgLy8NCj4gKyAgICAg IC8vIHNraXAgdGhlIGxvZ2ljYWwgcGFydGl0aW9uDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSB8fCBCbGtJby0+TWVkaWEtPkxvZ2ljYWxQYXJ0aXRpb24pIHsN Cj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsg ICAgICAvLyBmaXJzdGx5IGZpeGVkIGJsb2NrIGlvIHRoZW4gdGhlIHJlbW92YWJsZSBibG9jayBp bw0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmIChCbGtJby0+TWVkaWEtPlJlbW92YWJsZU1lZGlh ID09IFJlbW92YWJsZVtSZW1vdmFibGVJbmRleF0pIHsNCj4gKyAgICAgICAgY29udGludWU7DQo+ ICsgICAgICB9DQo+ICsgICAgICBEZXZpY2VQYXRoICA9IERldmljZVBhdGhGcm9tSGFuZGxlIChC bG9ja0lvSGFuZGxlc1tJbmRleF0pOw0KPiArICAgICAgRGV2aWNlUGF0aFR5cGUgPSBCZHNHZXRC b290VHlwZUZyb21EZXZpY2VQYXRoIChEZXZpY2VQYXRoKTsNCj4gKw0KPiArICAgICAgc3dpdGNo IChEZXZpY2VQYXRoVHlwZSkgew0KPiArICAgICAgY2FzZSBCRFNfRUZJX0FDUElfRkxPUFBZX0JP T1Q6DQo+ICsgICAgICAgIGlmIChGbG9wcHlOdW1iZXIgIT0gMCkgew0KPiArICAgICAgICAgIFVu aWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzICVkIiwgQmRzTGliR2V0 U3RyaW5nQnlJZA0KPiAoU1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05fRkxPUFBZKSksIEZs b3BweU51bWJlcik7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgVW5pY29kZVNQ cmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMiLCBCZHNMaWJHZXRTdHJpbmdCeUlk DQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9GTE9QUFkpKSk7DQo+ICsgICAgICAg IH0NCj4gKyAgICAgICAgQmRzTGliQnVpbGRPcHRpb25Gcm9tSGFuZGxlIChCbG9ja0lvSGFuZGxl c1tJbmRleF0sDQo+IEJkc0Jvb3RPcHRpb25MaXN0LCBCdWZmZXIpOw0KPiArICAgICAgICBGbG9w cHlOdW1iZXIrKzsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAg ICAvLyBBc3N1bWUgYSByZW1vdmFibGUgU0FUQSBkZXZpY2Ugc2hvdWxkIGJlIHRoZSBEVkQvQ0Qg ZGV2aWNlLCBhDQo+IGZpeGVkIFNBVEEgZGV2aWNlIHNob3VsZCBiZSB0aGUgSGFyZCBEcml2ZSBk ZXZpY2UuDQo+ICsgICAgICAvLw0KPiArICAgICAgY2FzZSBCRFNfRUZJX01FU1NBR0VfQVRBUElf Qk9PVDoNCj4gKyAgICAgIGNhc2UgQkRTX0VGSV9NRVNTQUdFX1NBVEFfQk9PVDoNCj4gKyAgICAg ICAgaWYgKEJsa0lvLT5NZWRpYS0+UmVtb3ZhYmxlTWVkaWEpIHsNCj4gKyAgICAgICAgICBpZiAo Q2Ryb21OdW1iZXIgIT0gMCkgew0KPiArICAgICAgICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVy LCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgJWQiLCBCZHNMaWJHZXRTdHJpbmdCeUlkDQo+IChTVFJJ TkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9DRF9EVkQpKSwgQ2Ryb21OdW1iZXIpOw0KPiArICAg ICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNp emVvZiAoQnVmZmVyKSwgTCIlcyIsIEJkc0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tF TiAoU1RSX0RFU0NSSVBUSU9OX0NEX0RWRCkpKTsNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAg ICAgQ2Ryb21OdW1iZXIrKzsNCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICBpZiAo SGFyZGRyaXZlTnVtYmVyICE9IDApIHsNCj4gKyAgICAgICAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1 ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzICVkIiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAo U1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05fSEFSRERSSVZFKSksIEhhcmRkcml2ZU51bWJl cik7DQo+ICsgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAgIFVuaWNvZGVTUHJpbnQg KEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzIiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAo U1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05fSEFSRERSSVZFKSkpOw0KPiArICAgICAgICAg IH0NCj4gKyAgICAgICAgICBIYXJkZHJpdmVOdW1iZXIrKzsNCj4gKyAgICAgICAgfQ0KPiArICAg ICAgICBERUJVRyAoKERFQlVHX0lORk8gfCBERUJVR19MT0FELCAiQnVmZmVyOiAlU1xuIiwgQnVm ZmVyKSk7DQo+ICsgICAgICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbUhhbmRsZSAoQmxvY2tJb0hh bmRsZXNbSW5kZXhdLA0KPiBCZHNCb290T3B0aW9uTGlzdCwgQnVmZmVyKTsNCj4gKyAgICAgICAg YnJlYWs7DQo+ICsNCj4gKyAgICAgIGNhc2UgQkRTX0VGSV9NRVNTQUdFX1VTQl9ERVZJQ0VfQk9P VDoNCj4gKyAgICAgICAgaWYgKFVzYk51bWJlciAhPSAwKSB7DQo+ICsgICAgICAgICAgVW5pY29k ZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgJWQiLCBCZHNMaWJHZXRTdHJp bmdCeUlkDQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9VU0IpKSwgVXNiTnVtYmVy KTsNCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICBVbmljb2RlU1ByaW50IChCdWZm ZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlcyIsIEJkc0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklO R19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX1VTQikpKTsNCj4gKyAgICAgICAgfQ0KPiArICAgICAg ICBCZHNMaWJCdWlsZE9wdGlvbkZyb21IYW5kbGUgKEJsb2NrSW9IYW5kbGVzW0luZGV4XSwNCj4g QmRzQm9vdE9wdGlvbkxpc3QsIEJ1ZmZlcik7DQo+ICsgICAgICAgIFVzYk51bWJlcisrOw0KPiAr ICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAgY2FzZSBCRFNfRUZJX01FU1NBR0VfU0NTSV9C T09UOg0KPiArICAgICAgICBpZiAoU2NzaU51bWJlciAhPSAwKSB7DQo+ICsgICAgICAgICAgVW5p Y29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgJWQiLCBCZHNMaWJHZXRT dHJpbmdCeUlkDQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9TQ1NJKSksIFNjc2lO dW1iZXIpOw0KPiArICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgIFVuaWNvZGVTUHJpbnQg KEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzIiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAo U1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05fU0NTSSkpKTsNCj4gKyAgICAgICAgfQ0KPiAr ICAgICAgICBCZHNMaWJCdWlsZE9wdGlvbkZyb21IYW5kbGUgKEJsb2NrSW9IYW5kbGVzW0luZGV4 XSwNCj4gQmRzQm9vdE9wdGlvbkxpc3QsIEJ1ZmZlcik7DQo+ICsgICAgICAgIFNjc2lOdW1iZXIr KzsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgIGNhc2UgQkRTX0VGSV9NRVNTQUdF X01JU0NfQk9PVDoNCj4gKyAgICAgIGRlZmF1bHQ6DQo+ICsgICAgICAgIGlmIChNaXNjTnVtYmVy ICE9IDApIHsNCj4gKyAgICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVm ZmVyKSwgTCIlcyAlZCIsIEJkc0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RS X0RFU0NSSVBUSU9OX01JU0MpKSwgTWlzY051bWJlcik7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ ICsgICAgICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMi LCBCZHNMaWJHZXRTdHJpbmdCeUlkDQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9N SVNDKSkpOw0KPiArICAgICAgICB9DQo+ICsgICAgICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbUhh bmRsZSAoQmxvY2tJb0hhbmRsZXNbSW5kZXhdLA0KPiBCZHNCb290T3B0aW9uTGlzdCwgQnVmZmVy KTsNCj4gKyAgICAgICAgTWlzY051bWJlcisrOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAg IH0NCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoTnVtYmVyQmxvY2tJb0hhbmRsZXMg IT0gMCkgew0KPiArICAgIEZyZWVQb29sIChCbG9ja0lvSGFuZGxlcyk7DQo+ICsgIH0NCj4gKw0K PiArICAvLw0KPiArICAvLyBJZiB0aGVyZSBpcyBzaW1wbGUgZmlsZSBwcm90b2NvbCB3aGljaCBk b2VzIG5vdCBjb25zdW1lIGJsb2NrIElvIHByb3RvY29sLA0KPiBjcmVhdGUgYSBib290IG9wdGlv biBmb3IgaXQgaGVyZS4NCj4gKyAgLy8NCj4gKyAgTm9uQmxvY2tOdW1iZXIgPSAwOw0KPiArICBn QlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAg ICAgICZnRWZpU2ltcGxlRmlsZVN5c3RlbVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgTlVMTCwN Cj4gKyAgICAgICAgJk51bWJlckZpbGVTeXN0ZW1IYW5kbGVzLA0KPiArICAgICAgICAmRmlsZVN5 c3RlbUhhbmRsZXMNCj4gKyAgICAgICAgKTsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwg TnVtYmVyRmlsZVN5c3RlbUhhbmRsZXM7IEluZGV4KyspIHsNCj4gKyAgICBTdGF0dXMgPSBnQlMt PkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAgRmlsZVN5c3RlbUhhbmRs ZXNbSW5kZXhdLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaUJsb2NrSW9Qcm90b2NvbEd1 aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSAmQmxrSW8NCj4gKyAgICAgICAg ICAgICAgICAgICAgKTsNCj4gKyAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAg ICAgIC8vDQo+ICsgICAgICAvLyAgU2tpcCBpZiB0aGUgZmlsZSBzeXN0ZW0gaGFuZGxlIHN1cHBv cnRzIGEgQmxrSW8gcHJvdG9jb2wsDQo+ICsgICAgICAvLw0KPiArICAgICAgY29udGludWU7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBEbyB0aGUgcmVtb3ZhYmxlIE1lZGlh IHRoaW5nLiBcRUZJXEJPT1RcYm9vdHttYWNoaW5lbmFtZX0uRUZJDQo+ICsgICAgLy8gIG1hY2hp bmVuYW1lIGlzIGlhMzIsIGlhNjQsIHg2NCwgLi4uDQo+ICsgICAgLy8NCj4gKyAgICBIZHIuVW5p b24gID0gJkhkckRhdGE7DQo+ICsgICAgTmVlZERlbGV0ZSA9IFRSVUU7DQo+ICsgICAgU3RhdHVz ICAgICA9IEJkc0xpYkdldEltYWdlSGVhZGVyICgNCj4gKyAgICAgICAgICAgICAgICAgICBGaWxl U3lzdGVtSGFuZGxlc1tJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgRUZJX1JFTU9WQUJM RV9NRURJQV9GSUxFX05BTUUsDQo+ICsgICAgICAgICAgICAgICAgICAgJkRvc0hlYWRlciwNCj4g KyAgICAgICAgICAgICAgICAgICBIZHINCj4gKyAgICAgICAgICAgICAgICAgICApOw0KPiArICAg IGlmICghRUZJX0VSUk9SIChTdGF0dXMpICYmDQo+ICsgICAgICAgIEVGSV9JTUFHRV9NQUNISU5F X1RZUEVfU1VQUE9SVEVEIChIZHIuUGUzMi0NCj4gPkZpbGVIZWFkZXIuTWFjaGluZSkgJiYNCj4g KyAgICAgICAgSGRyLlBlMzItPk9wdGlvbmFsSGVhZGVyLlN1YnN5c3RlbSA9PQ0KPiBFRklfSU1B R0VfU1VCU1lTVEVNX0VGSV9BUFBMSUNBVElPTikgew0KPiArICAgICAgTmVlZERlbGV0ZSA9IEZB TFNFOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlmIChOZWVkRGVsZXRlKSB7DQo+ICsgICAgICAv Lw0KPiArICAgICAgLy8gTm8gc3VjaCBmaWxlIG9yIHRoZSBmaWxlIGlzIG5vdCBhIEVGSSBhcHBs aWNhdGlvbiwgZGVsZXRlIHRoaXMgYm9vdCBvcHRpb24NCj4gKyAgICAgIC8vDQo+ICsgICAgICBC ZHNMaWJEZWxldGVPcHRpb25Gcm9tSGFuZGxlIChGaWxlU3lzdGVtSGFuZGxlc1tJbmRleF0pOw0K PiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBpZiAoTm9uQmxvY2tOdW1iZXIgIT0gMCkgew0KPiAr ICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlcyAlZCIs IEJkc0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX05P Tl9CTE9DSykpLCBOb25CbG9ja051bWJlcik7DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAgICAg ICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlcyIsIEJkc0xpYkdl dFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX05PTl9CTE9DSykp KTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbUhhbmRsZSAoRmls ZVN5c3RlbUhhbmRsZXNbSW5kZXhdLA0KPiBCZHNCb290T3B0aW9uTGlzdCwgQnVmZmVyKTsNCj4g KyAgICAgIE5vbkJsb2NrTnVtYmVyKys7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgaWYg KE51bWJlckZpbGVTeXN0ZW1IYW5kbGVzICE9IDApIHsNCj4gKyAgICBGcmVlUG9vbCAoRmlsZVN5 c3RlbUhhbmRsZXMpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgaWYgd2Ug aGF2ZSBvbiBmbGFzaCBzaGVsbA0KPiArICAvLw0KPiArICBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZl ciAoDQo+ICsgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICZnRWZpRmlybXdhcmVWb2x1 bWUyUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICBOVUxMLA0KPiArICAgICAgICAmRnZIYW5kbGVD b3VudCwNCj4gKyAgICAgICAgJkZ2SGFuZGxlQnVmZmVyDQo+ICsgICAgICAgICk7DQo+ICsgIGZv ciAoSW5kZXggPSAwOyBJbmRleCA8IEZ2SGFuZGxlQ291bnQ7IEluZGV4KyspIHsNCj4gKyAgICBn QlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICBGdkhhbmRsZUJ1ZmZlcltJbmRleF0s DQo+ICsgICAgICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1aWQsDQo+ICsgICAg ICAgICAgKFZPSUQgKiopICZGdg0KPiArICAgICAgICAgICk7DQo+ICsNCj4gKyAgICBTdGF0dXMg PSBGdi0+UmVhZEZpbGUgKA0KPiArICAgICAgICAgICAgICAgICAgRnYsDQo+ICsgICAgICAgICAg ICAgICAgICAmZ1VlZmlTaGVsbEZpbGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwN Cj4gKyAgICAgICAgICAgICAgICAgICZTaXplLA0KPiArICAgICAgICAgICAgICAgICAgJlR5cGUs DQo+ICsgICAgICAgICAgICAgICAgICAmQXR0cmlidXRlcywNCj4gKyAgICAgICAgICAgICAgICAg ICZBdXRoZW50aWNhdGlvblN0YXR1cw0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gU2tpcCBp ZiBubyBzaGVsbCBmaWxlIGluIHRoZSBGVg0KPiArICAgICAgLy8NCj4gKyAgICAgIGNvbnRpbnVl Ow0KPiArICAgIH0NCj4gKyAgICAvLw0KPiArICAgIC8vIEJ1aWxkIHRoZSBzaGVsbCBib290IG9w dGlvbg0KPiArICAgIC8vDQo+ICsgICAgQmRzTGliQnVpbGRPcHRpb25Gcm9tU2hlbGwgKEZ2SGFu ZGxlQnVmZmVyW0luZGV4XSwgQmRzQm9vdE9wdGlvbkxpc3QpOw0KPiArICB9DQo+ICsNCj4gKyAg aWYgKEZ2SGFuZGxlQ291bnQgIT0gMCkgew0KPiArICAgIEZyZWVQb29sIChGdkhhbmRsZUJ1ZmZl cik7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBQYXJzZSBOZXR3b3JrIEJvb3QgRGV2 aWNlDQo+ICsgIC8vDQo+ICsgIE51bU9mTG9hZEZpbGVIYW5kbGVzID0gMDsNCj4gKyAgLy8NCj4g KyAgLy8gU2VhcmNoIExvYWQgRmlsZSBwcm90b2NvbCBmb3IgUFhFIGJvb3Qgb3B0aW9uLg0KPiAr ICAvLw0KPiArICBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAgICAgIEJ5UHJvdG9j b2wsDQo+ICsgICAgICAgICZnRWZpTG9hZEZpbGVQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgIE5V TEwsDQo+ICsgICAgICAgICZOdW1PZkxvYWRGaWxlSGFuZGxlcywNCj4gKyAgICAgICAgJkxvYWRG aWxlSGFuZGxlcw0KPiArICAgICAgICApOw0KPiArDQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRl eCA8IE51bU9mTG9hZEZpbGVIYW5kbGVzOyBJbmRleCsrKSB7DQo+ICsNCj4gKy8vDQo+ICsvL0xv Y2F0ZSBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgdG8gZHluYW1pY2FsbHkgZ2V0IElQdjQvSVB2 Ng0KPiBwcm90b2NvbCBpbmZvcm1hdGlvbi4NCj4gKy8vDQo+ICsNCj4gKyBTdGF0dXMgPSBnQlMt PkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgIExvYWRGaWxlSGFuZGxlc1tJ bmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQs DQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkRldmljZVBhdGgNCj4gKyAgICAgICAg ICAgICAgICAgICk7DQo+ICsNCj4gKyBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ ICsgIHdoaWxlICghSXNEZXZpY2VQYXRoRW5kIChEZXZpY2VQYXRoKSkgew0KPiArICAgIGlmICgo RGV2aWNlUGF0aC0+VHlwZSA9PSBNRVNTQUdJTkdfREVWSUNFX1BBVEgpICYmDQo+ICsgICAgICAg IChEZXZpY2VQYXRoLT5TdWJUeXBlID09IE1TR19JUHY0X0RQKSkgew0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vR2V0IGhhbmRsZSBpbmZvbWF0aW9uDQo+ICsgIC8vDQo+ICsgIEJ1ZmZlclNpemUgPSAw Ow0KPiArICBOZXR3b3JrSGFuZGxlcyA9IE5VTEw7DQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRl SGFuZGxlICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAg ICAgICAgICAmZ0VmaVNpbXBsZU5ldHdvcmtQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAg ICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJkJ1ZmZlclNpemUsDQo+ICsgICAgICAg ICAgICAgICAgICBOZXR3b3JrSGFuZGxlcw0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0K PiArICBpZiAoU3RhdHVzID09IEVGSV9CVUZGRVJfVE9PX1NNQUxMKSB7DQo+ICsgICAgTmV0d29y a0hhbmRsZXMgPSBBbGxvY2F0ZVplcm9Qb29sKEJ1ZmZlclNpemUpOw0KPiArICAgIGlmIChOZXR3 b3JrSGFuZGxlcyA9PSBOVUxMKSB7DQo+ICsgICAgICByZXR1cm4gKEVGSV9PVVRfT0ZfUkVTT1VS Q0VTKTsNCj4gKyAgICB9DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGUoDQo+ICsg ICAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAgICZn RWZpU2ltcGxlTmV0d29ya1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlclNpemUsDQo+ICsgICAgICAgICAgICAg ICAgICAgIE5ldHdvcmtIYW5kbGVzDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vR2V0IHRoZSBNQUMgc3RyaW5nDQo+ICsgIC8vDQo+ICsgIFN0 YXR1cyA9IE5ldExpYkdldE1hY1N0cmluZyAoDQo+ICsgICAgICAgICAgICAgKk5ldHdvcmtIYW5k bGVzLA0KPiArICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgJk1hY1N0cg0KPiAr ICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBy ZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsgIElQdmVyU3RyID0gTCIgSVB2NCI7DQo+ICsgIFVu aWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzJXMlcyIsIEJkc0xpYkdl dFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX05FVFdPUkspKSxN YWNTdHIsSVB2ZXJTdHIpOw0KPiArICBicmVhazsNCj4gKyAgfQ0KPiArICAgIGlmKChEZXZpY2VQ YXRoLT5UeXBlID09IE1FU1NBR0lOR19ERVZJQ0VfUEFUSCkgJiYNCj4gKyAgICAgICAgKERldmlj ZVBhdGgtPlN1YlR5cGUgPT0gTVNHX0lQdjZfRFApKSB7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9H ZXQgaGFuZGxlIGluZm9tYXRpb24NCj4gKyAgLy8NCj4gKyAgQnVmZmVyU2l6ZSA9IDA7DQo+ICsg IE5ldHdvcmtIYW5kbGVzID0gTlVMTDsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGUg KA0KPiArICAgICAgICAgICAgICAgICAgQnlQcm90b2NvbCwNCj4gKyAgICAgICAgICAgICAgICAg ICZnRWZpU2ltcGxlTmV0d29ya1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5V TEwsDQo+ICsgICAgICAgICAgICAgICAgICAmQnVmZmVyU2l6ZSwNCj4gKyAgICAgICAgICAgICAg ICAgIE5ldHdvcmtIYW5kbGVzDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlm IChTdGF0dXMgPT0gRUZJX0JVRkZFUl9UT09fU01BTEwpIHsNCj4gKyAgICBOZXR3b3JrSGFuZGxl cyA9IEFsbG9jYXRlWmVyb1Bvb2woQnVmZmVyU2l6ZSk7DQo+ICsgICAgaWYgKE5ldHdvcmtIYW5k bGVzID09IE5VTEwpIHsNCj4gKyAgICAgICByZXR1cm4gKEVGSV9PVVRfT0ZfUkVTT1VSQ0VTKTsN Cj4gKyAgICB9DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGUoDQo+ICsgICAgICAg ICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpU2lt cGxlTmV0d29ya1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4g KyAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAg IE5ldHdvcmtIYW5kbGVzDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgfQ0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vR2V0IHRoZSBNQUMgc3RyaW5nDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9 IE5ldExpYkdldE1hY1N0cmluZyAoDQo+ICsgICAgICAgICAgICAgKk5ldHdvcmtIYW5kbGVzLA0K PiArICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgJk1hY1N0cg0KPiArICAgICAg ICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4g U3RhdHVzOw0KPiArICB9DQo+ICsgICAgICBJUHZlclN0ciA9IEwiIElQdjYiOw0KPiArICAgICAg VW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMlcyVzIiwgQmRzTGli R2V0U3RyaW5nQnlJZA0KPiAoU1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05fTkVUV09SSykp LE1hY1N0cixJUHZlclN0cik7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsgICAgRGV2 aWNlUGF0aCA9IE5leHREZXZpY2VQYXRoTm9kZSAoRGV2aWNlUGF0aCk7DQo+ICsgIH0NCj4gKw0K PiArICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbUhhbmRsZSAoTG9hZEZpbGVIYW5kbGVzW0luZGV4 XSwNCj4gQmRzQm9vdE9wdGlvbkxpc3QsIEJ1ZmZlcik7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAo TnVtT2ZMb2FkRmlsZUhhbmRsZXMgIT0gMCkgew0KPiArICAgIEZyZWVQb29sIChMb2FkRmlsZUhh bmRsZXMpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgaWYgd2UgaGF2ZSBv biBmbGFzaCBzaGVsbA0KPiArICAvLw0KPiArIC8qIGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgN Cj4gKyAgICAgICAgQnlQcm90b2NvbCwNCj4gKyAgICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZTJQ cm90b2NvbEd1aWQsDQo+ICsgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICZGdkhhbmRsZUNvdW50 LA0KPiArICAgICAgICAmRnZIYW5kbGVCdWZmZXINCj4gKyAgICAgICAgKTsNCj4gKyAgZm9yIChJ bmRleCA9IDA7IEluZGV4IDwgRnZIYW5kbGVDb3VudDsgSW5kZXgrKykgew0KPiArICAgIGdCUy0+ SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgIEZ2SGFuZGxlQnVmZmVyW0luZGV4XSwNCj4g KyAgICAgICAgICAmZ0VmaUZpcm13YXJlVm9sdW1lMlByb3RvY29sR3VpZCwNCj4gKyAgICAgICAg ICAoVk9JRCAqKikgJkZ2DQo+ICsgICAgICAgICAgKTsNCj4gKw0KPiArICAgIFN0YXR1cyA9IEZ2 LT5SZWFkRmlsZSAoDQo+ICsgICAgICAgICAgICAgICAgICBGdiwNCj4gKyAgICAgICAgICAgICAg ICAgICZnVWVmaVNoZWxsRmlsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiAr ICAgICAgICAgICAgICAgICAgJlNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAmVHlwZSwNCj4g KyAgICAgICAgICAgICAgICAgICZBdHRyaWJ1dGVzLA0KPiArICAgICAgICAgICAgICAgICAgJkF1 dGhlbnRpY2F0aW9uU3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBTa2lwIGlmIG5v IHNoZWxsIGZpbGUgaW4gdGhlIEZWDQo+ICsgICAgICAvLw0KPiArICAgICAgY29udGludWU7DQo+ ICsgICAgfQ0KPiArICAgIC8vDQo+ICsgICAgLy8gQnVpbGQgdGhlIHNoZWxsIGJvb3Qgb3B0aW9u DQo+ICsgICAgLy8NCj4gKyAgICBCZHNMaWJCdWlsZE9wdGlvbkZyb21TaGVsbCAoRnZIYW5kbGVC dWZmZXJbSW5kZXhdLCBCZHNCb290T3B0aW9uTGlzdCk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAo RnZIYW5kbGVDb3VudCAhPSAwKSB7DQo+ICsgICAgRnJlZVBvb2wgKEZ2SGFuZGxlQnVmZmVyKTsN Cj4gKyAgfSAqLw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2Ugc3VyZSBldmVyeSBib290IG9u bHkgaGF2ZSBvbmUgdGltZQ0KPiArICAvLyBib290IGRldmljZSBlbnVtZXJhdGUNCj4gKyAgLy8N Cj4gKyAgU3RhdHVzID0gQmRzTGliQnVpbGRPcHRpb25Gcm9tVmFyIChCZHNCb290T3B0aW9uTGlz dCwgTCJCb290T3JkZXIiKTsNCj4gKyAgbUVudW1Cb290RGV2aWNlID0gVFJVRTsNCj4gKw0KPiAr ICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAg VGhlIGZ1bmN0aW9uIHdpbGwgZXhlY3V0ZSB3aXRoIGFzIHRoZSBwbGF0Zm9ybSBwb2xpY3ksIGN1 cnJlbnQgcG9saWN5DQo+ICsgIGlzIGRyaXZlbiBieSBib290IG1vZGUuIElCVi9PRU0gY2FuIGN1 c3RvbWl6ZSB0aGlzIGNvZGUgZm9yIHRoZWlyIHNwZWNpZmljDQo+ICsgIHBvbGljeSBhY3Rpb24u DQo+ICsNCj4gKyAgQHBhcmFtIERyaXZlck9wdGlvbkxpc3QgLSBUaGUgaGVhZGVyIG9mIHRoZSBk cml2ZXIgb3B0aW9uIGxpbmsgbGlzdA0KPiArICBAcGFyYW0gIEJvb3RPcHRpb25MaXN0ICAgLSBU aGUgaGVhZGVyIG9mIHRoZSBib290IG9wdGlvbiBsaW5rIGxpc3QNCj4gKyAgQHBhcmFtIFByb2Nl c3NDYXBzdWxlcyAgLSBBIHBvaW50ZXIgdG8gUHJvY2Vzc0NhcHN1bGVzKCkNCj4gKyAgQHBhcmFt IEJhc2VNZW1vcnlUZXN0ICAgLSBBIHBvaW50ZXIgdG8gQmFzZU1lbW9yeVRlc3QoKQ0KPiArDQo+ ICsgIEByZXR2YWwgTm9uZS4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Bs YXRmb3JtQmRzUG9saWN5QmVoYXZpb3IgKA0KPiArICBJTiBPVVQgTElTVF9FTlRSWSAgICAgICAg ICAgICAgICAgICpEcml2ZXJPcHRpb25MaXN0LA0KPiArICBJTiBPVVQgTElTVF9FTlRSWSAgICAg ICAgICAgICAgICAgICpCb290T3B0aW9uTGlzdCwNCj4gKyAgSU4gUFJPQ0VTU19DQVBTVUxFUyAg ICAgICAgICAgICAgICBCZHNQcm9jZXNzQ2Fwc3VsZXMsDQo+ICsgIElOIEJBU0VNX01FTU9SWV9U RVNUICAgICAgICAgICAgICAgQmFzZU1lbW9yeVRlc3QNCj4gKyAgKQ0KPiArew0KPiArICBFRklf U1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDE2ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0Ow0KPiArICBFRklfQk9PVF9NT0RFICAgICAg ICAgICAgICAgICAgICAgIEJvb3RNb2RlOw0KPiArICBCT09MRUFOICAgICAgICAgICAgICAgICAg ICAgICAgICAgIERlZmVycmVkSW1hZ2VFeGlzdDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBJbmRleDsNCj4gKyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICAg ICAgICBTeXN0ZW1Db25maWd1cmF0aW9uOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFZhclNpemU7DQo+ICsgIFBMQVRGT1JNX1BDSV9ERVZJQ0VfUEFUSCAgICAgICAg ICAgKkVtbWNCb290RGV2UGF0aDsNCj4gKyAgRUZJX0dMT0JBTF9OVlNfQVJFQV9QUk9UT0NPTCAg ICAgICAqR2xvYmFsTnZzQXJlYTsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAg ICAgICBGdlByb3RvY29sSGFuZGxlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEhhbmRsZUNvdW50Ow0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAg ICAgICpIYW5kbGVCdWZmZXI7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSW5kZXgxOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNhdGFQ Y2lSZWdCYXNlID0gMDsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT YXRhTW9kZVNlbGVjdCA9IDA7DQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKlJlZ2lzdHJhdGlvbkV4aXRQbUF1dGggPSBOVUxMOw0KPiArICBFRklfRVZFTlQgICAgICAg ICAgICAgICAgICAgICAgICAgIEV2ZW50Ow0KPiArICBCT09MRUFOICAgICAgICAgICAgICAgICAg ICAgICAgICAgIElzRmlyc3RCb290Ow0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICpCb290T3JkZXI7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQm9vdE9yZGVyU2l6ZTsNCj4gKyAgRVNSVF9NQU5BR0VNRU5UX1BST1RPQ09MICAgICAgICAg ICAqRXNydE1hbmFnZW1lbnQ7DQo+ICsNCj4gKyAgVGltZW91dCA9IFBjZEdldDE2IChQY2RQbGF0 Zm9ybUJvb3RUaW1lT3V0KTsNCj4gKyAgaWYgKFRpbWVvdXQgPiAxMCApIHsNCj4gKyAgICAvL3dl IHRoaW5rIHRoZSBUaW1lb3V0IHZhcmlhYmxlIGlzIGNvcnJ1cHRlZA0KPiArICAgIFRpbWVvdXQg PSAxMDsNCj4gKyAgfQ0KPiArDQo+ICsgIFZhclNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VS QVRJT04pOw0KPiArICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAg ICAgICAgTk9STUFMX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaU5vcm1h bFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAg ICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICZTeXN0ZW1Db25maWd1cmF0aW9u DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1 cykgfHwgVmFyU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKSB7DQo+ICsgICAg Ly9UaGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ICsgICAgVmFyU2l6ZSA9IHNpemVv ZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJs ZSgNCj4gKyAgICAgICAgICAgICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4gKyAgICAgICAgICAgICAg JmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAg ICAgICAgICZWYXJTaXplLA0KPiArICAgICAgICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlvbg0K PiArICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBMb2FkIHRoZSBkcml2ZXIgb3B0aW9uIGFzIHRo ZSBkcml2ZXIgb3B0aW9uIGxpc3QNCj4gKyAgLy8NCj4gKyAgUGxhdGZvcm1CZHNHZXREcml2ZXJP cHRpb24gKERyaXZlck9wdGlvbkxpc3QpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCBjdXJy ZW50IEJvb3QgTW9kZQ0KPiArICAvLw0KPiArICBCb290TW9kZSA9IEdldEJvb3RNb2RlSG9iKCk7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTm8gZGVmZXJyZWQgaW1hZ2VzIGV4aXN0IGJ5IGRlZmF1 bHQNCj4gKyAgLy8NCj4gKyAgRGVmZXJyZWRJbWFnZUV4aXN0ID0gRkFMU0U7DQo+ICsgIGlmICgo Qm9vdE1vZGUgIT0gQk9PVF9XSVRIX01JTklNQUxfQ09ORklHVVJBVElPTikgJiYNCj4gKFBjZEdl dDMyKFBjZEZsYXNoRnZTaGVsbFNpemUpID4gMCkpew0KPiArICAgIGdEUy0+UHJvY2Vzc0Zpcm13 YXJlVm9sdW1lICgNCj4gKyAgICAgICAgICAgKFZPSUQgKikoVUlOVE4pUGNkR2V0MzIoUGNkRmxh c2hGdlNoZWxsQmFzZSksDQo+ICsgICAgICAgICAgIFBjZEdldDMyKFBjZEZsYXNoRnZTaGVsbFNp emUpLA0KPiArICAgICAgICAgICAmRnZQcm90b2NvbEhhbmRsZQ0KPiArICAgICAgICAgICApOw0K PiArICB9DQo+ICsNCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24uRmFzdEJvb3QgPT0gMSkg ew0KPiArICAgIEJvb3RPcmRlciA9IEJkc0xpYkdldFZhcmlhYmxlQW5kU2l6ZSAoDQo+ICsgICAg ICAgICAgICAgICAgICBMIkJvb3RPcmRlciIsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUds b2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICZCb290T3JkZXJTaXplDQo+ ICsgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmICgoQm9vdE9yZGVyICE9IE5VTEwpICYm IChCb290TW9kZSAhPSBCT09UX09OX0ZMQVNIX1VQREFURSkpIHsNCj4gKyAgICAgIC8vDQo+ICsg ICAgICAvLyBCb290T3JkZXIgZXhpc3QsIGl0IG1lYW5zIHN5c3RlbSBoYXMgYm9vdCBiZWZvcmUu IFdlIGNhbiBkbyBmYXN0DQo+IGJvb3QuDQo+ICsgICAgICAvLw0KPiArICAgICAgQm9vdE1vZGUg PSBCT09UX1dJVEhfTUlOSU1BTF9DT05GSUdVUkFUSU9OOw0KPiArICAgIH0NCj4gKyAgfQ0KPiAr DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXNlIGVNTUMgdG8gYm9vdCBPUyBhbmQgdHVybiBvbiBB SENJLCB3aGVuIFNBVEEgSEREIGlzDQo+IGRpY29ubmVjdGVkLA0KPiArICAvLyBTQVRBIEFIQ0kg Q1RMUiBkZXZpY2Ugd2lsbCBzaG93IHllbGxvdyBiYW5nLCBpbXBsZW1lbnQgdGhpcyBzb2x1dGlv bg0KPiB0byBzb2x2ZSBpdC4NCj4gKyAgLy8NCj4gKyAgU2F0YVBjaVJlZ0Jhc2UgID0gTW1QY2lB ZGRyZXNzICgwLCAwLCBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU0FUQSwNCj4gMCwgMCk7DQo+ICsg IFNhdGFNb2RlU2VsZWN0ICA9IE1taW9SZWFkMTYgKFNhdGFQY2lSZWdCYXNlICsgUl9QQ0hfU0FU QV9NQVApICYNCj4gQl9QQ0hfU0FUQV9NQVBfU01TX01BU0s7DQo+ICsgIFN0YXR1cyAgICAgICAg ICA9IEVGSV9TVUNDRVNTOw0KPiArICBpZiAoU2F0YU1vZGVTZWxlY3QgIT0gVl9QQ0hfU0FUQV9N QVBfU01TX0lERSkgew0KPiArICAgIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZlbnQgKA0KPiArICAg ICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgVFBMX0NBTExCQUNLLA0KPiArICAgICAgICAgICAgICAgICAgICBEaXNhYmxlQWhjaUN0bHIs DQo+ICsgICAgICAgICAgICAgICAgICAgICZTYXRhUGNpUmVnQmFzZSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgJkV2ZW50DQo+ICsgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmICgh RUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBTdGF0dXMgPSBnQlMtPlJlZ2lzdGVyUHJv dG9jb2xOb3RpZnkgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICZnRXhpdFBtQXV0aFByb3Rv Y29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBFdmVudCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAmUmVnaXN0cmF0aW9uRXhpdFBtQXV0aA0KPiArICAgICAgICAgICAgICAgICAg ICAgICk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQ cm90b2NvbCgmZ0VzcnRNYW5hZ2VtZW50UHJvdG9jb2xHdWlkLCBOVUxMLA0KPiAoVk9JRCAqKikm RXNydE1hbmFnZW1lbnQpOw0KPiArICBpZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICBF c3J0TWFuYWdlbWVudCA9IE5VTEw7DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRyAoKERFQlVHX0lO Rk8sICJCRFM6IEJvb3RNb2RlPSUwMnhcbiIsIEJvb3RNb2RlKSk7DQo+ICsNCj4gKyAgc3dpdGNo IChCb290TW9kZSkgew0KPiArDQo+ICsgIGNhc2UgQk9PVF9XSVRIX01JTklNQUxfQ09ORklHVVJB VElPTjoNCj4gKyAgICBQbGF0Zm9ybUJkc0luaXRIb3RLZXlFdmVudCAoKTsNCj4gKyAgICBQbGF0 Zm9ybUJkc0Nvbm5lY3RTaW1wbGVDb25zb2xlIChnUGxhdGZvcm1TaW1wbGVDb25zb2xlKTsNCj4g Kw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBDaGVjayB0byBzZWUgaWYgaXQncyBuZWVkZWQg dG8gZGlzcGF0Y2ggbW9yZSBEWEUgZHJpdmVycy4NCj4gKyAgICAvLw0KPiArICAgIGZvciAoSW5k ZXggPSAwOyBJbmRleCA8IHNpemVvZihDb25uZWN0RHJpdmVyVGFibGUpL3NpemVvZihFRklfR1VJ RCAqKTsNCj4gSW5kZXgrKykgew0KPiArICAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGVC dWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgQ29ubmVjdERyaXZlclRhYmxlW0luZGV4XSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZIYW5kbGVDb3VudCwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAmSGFuZGxlQnVmZmVyDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAg ICAgIGZvciAoSW5kZXgxID0gMDsgSW5kZXgxIDwgSGFuZGxlQ291bnQ7IEluZGV4MSsrKSB7DQo+ ICsgICAgICAgICAgZ0JTLT5Db25uZWN0Q29udHJvbGxlciAoDQo+ICsgICAgICAgICAgICAgICAg IEhhbmRsZUJ1ZmZlcltJbmRleDFdLA0KPiArICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAg ICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICBUUlVFDQo+ICsgICAgICAg ICAgICAgICAgICk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgaWYg KEhhbmRsZUJ1ZmZlciAhPSBOVUxMKSB7DQo+ICsgICAgICAgIEZyZWVQb29sIChIYW5kbGVCdWZm ZXIpOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBnRFMtPkRpc3BhdGNoICgpOw0KPiArICAg IH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gIExvY2F0ZSB0aGUgR2xvYmFsIE5WUyBQcm90 b2NvbC4NCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0K PiArICAgICAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbE52c0FyZWFQcm90b2NvbEd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICh2b2lk ICoqKSZHbG9iYWxOdnNBcmVhDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYg KEdsb2JhbE52c0FyZWEtPkFyZWEtPmVtbWNWZXJzaW9uID09IDApew0KPiArICAgICAgRW1tY0Jv b3REZXZQYXRoID0gKFBMQVRGT1JNX1BDSV9ERVZJQ0VfUEFUSA0KPiAqKWdQbGF0Zm9ybVNpbXBs ZUJvb3RPcHRpb25bMF07DQo+ICsgICAgICBFbW1jQm9vdERldlBhdGgtPlBjaURldmljZS5EZXZp Y2UgPSAweDEwOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gQ29ubmVjdCBi b290IGRldmljZSBoZXJlIHRvIGdpdmUgdGltZSB0byByZWFkIGtleWJvYXJkLg0KPiArICAgIC8v DQo+ICsgICAgQmRzTGliQ29ubmVjdERldmljZVBhdGggKGdQbGF0Zm9ybVNpbXBsZUJvb3RPcHRp b25bMF0pOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBUaGlzIGlzIGEgd29ya3JvdW5kIGZv ciBkZWN0ZWN0aW5nIGhvdGtleSBmcm9tIFVTQiBrZXlib2FyZC4NCj4gKyAgICAvLw0KPiArICAg IGdCUy0+U3RhbGwoS0VZQk9BUkRfVElNRVJfSU5URVJWQUwpOw0KPiArDQo+ICsgICAgaWYgKG1I b3RLZXlUaW1lckV2ZW50ICE9IE5VTEwpIHsNCj4gKyAgICAgIGdCUy0+U2V0VGltZXIgKA0KPiAr ICAgICAgICAgICAgIG1Ib3RLZXlUaW1lckV2ZW50LA0KPiArICAgICAgICAgICAgIFRpbWVyQ2Fu Y2VsLA0KPiArICAgICAgICAgICAgIDANCj4gKyAgICAgICAgICAgICApOw0KPiArICAgICAgZ0JT LT5DbG9zZUV2ZW50IChtSG90S2V5VGltZXJFdmVudCk7DQo+ICsgICAgICBtSG90S2V5VGltZXJF dmVudCA9IE5VTEw7DQo+ICsgICAgfQ0KPiArICAgIGlmIChtSG90S2V5UHJlc3NlZCkgew0KPiAr ICAgICAgLy8NCj4gKyAgICAgIC8vIFNraXAgc2hvdyBwcm9ncmVzcyBjb3VudCBkb3duDQo+ICsg ICAgICAvLw0KPiArICAgICAgVGltZW91dCA9IDB4RkZGRjsNCj4gKyAgICAgIGdvdG8gRlVMTF9D T05GSUdVUkFUSU9OOw0KPiArICAgIH0NCj4gKw0KPiArICAgIEVuYWJsZVF1aWV0Qm9vdCAoUGNk R2V0UHRyKFBjZExvZ29GaWxlKSk7DQo+ICsgICAgaWYgKCFTeXN0ZW1Db25maWd1cmF0aW9uLlF1 aWV0Qm9vdCkgew0KPiArICAgICAgUGxhdGZvcm1CZHNEaWFnbm9zdGljcyAoSUdOT1JFLCBGQUxT RSwgQmFzZU1lbW9yeVRlc3QpOw0KPiArICAgIH0NCj4gKw0KPiArDQo+ICsgICAgI2lmZGVmIFRQ TV9FTkFCTEVEDQo+ICsgICAgVGNnUGh5c2ljYWxQcmVzZW5jZUxpYlByb2Nlc3NSZXF1ZXN0KCk7 DQo+ICsgICAgI2VuZGlmDQo+ICsgICAgI2lmZGVmIEZUUE1fRU5BQkxFDQo+ICsgICAgVGNnMlBo eXNpY2FsUHJlc2VuY2VMaWJQcm9jZXNzUmVxdWVzdChOVUxMKTsNCj4gKyAgICAjZW5kaWYNCj4g Kw0KPiArICAgIGlmIChFc3J0TWFuYWdlbWVudCAhPSBOVUxMKSB7DQo+ICsgICAgICBFc3J0TWFu YWdlbWVudC0+TG9ja0VzcnRSZXBvc2l0b3J5KCk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8N Cj4gKyAgICAvLyBDbG9zZSBib290IHNjcmlwdCBhbmQgaW5zdGFsbCByZWFkeSB0byBsb2NrDQo+ ICsgICAgLy8NCj4gKyAgICBJbnN0YWxsUmVhZHlUb0xvY2sgKCk7DQo+ICsNCj4gKyAgICAvLw0K PiArICAgIC8vIEdpdmUgb25lIGNoYW5jZSB0byBlbnRlciB0aGUgc2V0dXAgaWYgd2UNCj4gKyAg ICAvLyBzZWxlY3QgR3VtbWlib290ICJSZWJvb3QgSW50byBGaXJtd2FyZSBJbnRlcmZhY2UiIGFu ZCBGYXN0IEJvb3QgaXMNCj4gZW5hYmxlZC4NCj4gKyAgICAvLw0KPiArICAgIEJvb3RJbnRvRmly bXdhcmVJbnRlcmZhY2UoKTsNCj4gKyAgICBicmVhazsNCj4gKw0KPiArICBjYXNlIEJPT1RfQVNT VU1JTkdfTk9fQ09ORklHVVJBVElPTl9DSEFOR0VTOg0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAv LyBJbiBuby1jb25maWd1cmF0aW9uIGJvb3QgbW9kZSwgd2UgY2FuIGNvbm5lY3QgdGhlDQo+ICsg ICAgLy8gY29uc29sZSBkaXJlY3RseS4NCj4gKyAgICAvLw0KPiArICAgIEJkc0xpYkNvbm5lY3RB bGxEZWZhdWx0Q29uc29sZXMgKCk7DQo+ICsgICAgUGxhdGZvcm1CZHNEaWFnbm9zdGljcyAoSUdO T1JFLCBUUlVFLCBCYXNlTWVtb3J5VGVzdCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBl cmZvcm0gc29tZSBwbGF0Zm9ybSBzcGVjaWZpYyBjb25uZWN0IHNlcXVlbmNlDQo+ICsgICAgLy8N Cj4gKyAgICBQbGF0Zm9ybUJkc0Nvbm5lY3RTZXF1ZW5jZSAoKTsNCj4gKw0KPiArICAgIC8vDQo+ ICsgICAgLy8gQXMgY29uc29sZSBpcyByZWFkeSwgcGVyZm9ybSB1c2VyIGlkZW50aWZpY2F0aW9u IGFnYWluLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKG1DdXJyZW50VXNlciA9PSBOVUxMKSB7DQo+ ICsgICAgICBQbGF0Zm9ybUJkc1VzZXJJZGVudGlmeSAoJm1DdXJyZW50VXNlciwgJkRlZmVycmVk SW1hZ2VFeGlzdCk7DQo+ICsgICAgICBpZiAoRGVmZXJyZWRJbWFnZUV4aXN0KSB7DQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIC8vIEFmdGVyIHVzZXIgYXV0aGVudGljYXRpb24sIHRoZSBkZWZl cnJlZCBkcml2ZXJzIHdhcyBsb2FkZWQgYWdhaW4uDQo+ICsgICAgICAgIC8vIEhlcmUsIG5lZWQg dG8gZW5zdXJlIHRoZSBkZWZlcnJlZCBpbWFnZXMgYXJlIGNvbm5lY3RlZC4NCj4gKyAgICAgICAg Ly8NCj4gKyAgICAgICAgQmRzTGliQ29ubmVjdEFsbERlZmF1bHRDb25zb2xlcyAoKTsNCj4gKyAg ICAgICAgUGxhdGZvcm1CZHNDb25uZWN0U2VxdWVuY2UgKCk7DQo+ICsgICAgICB9DQo+ICsgICAg fQ0KPiArDQo+ICsgICAgaWYgKEVzcnRNYW5hZ2VtZW50ICE9IE5VTEwpIHsNCj4gKyAgICAgIEVz cnRNYW5hZ2VtZW50LT5Mb2NrRXNydFJlcG9zaXRvcnkoKTsNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICAvLw0KPiArICAgIC8vIENsb3NlIGJvb3Qgc2NyaXB0IGFuZCBpbnN0YWxsIHJlYWR5IHRvIGxv Y2sNCj4gKyAgICAvLw0KPiArICAgIEluc3RhbGxSZWFkeVRvTG9jayAoKTsNCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy8gTm90ZXM6IGN1cnJlbnQgdGltZSBvdXQgPSAwIGNhbiBub3QgZW50ZXIg dGhlDQo+ICsgICAgLy8gZnJvbnQgcGFnZQ0KPiArICAgIC8vDQo+ICsgICAgUGxhdGZvcm1CZHNF bnRlckZyb250UGFnZVdpdGhIb3RLZXkgKFRpbWVvdXQsIEZBTFNFKTsNCj4gKw0KPiArICAgIC8v DQo+ICsgICAgLy8gQ2hlY2sgdGhlIGJvb3Qgb3B0aW9uIHdpdGggdGhlIGJvb3Qgb3B0aW9uIGxp c3QNCj4gKyAgICAvLw0KPiArICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbVZhciAoQm9vdE9wdGlv bkxpc3QsIEwiQm9vdE9yZGVyIik7DQo+ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBCT09U X09OX0ZMQVNIX1VQREFURToNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gQm9vdCB3aXRoIHRo ZSBzcGVjaWZpYyBjb25maWd1cmF0aW9uDQo+ICsgICAgLy8NCj4gKyAgICBQbGF0Zm9ybUJkc0Nv bm5lY3RDb25zb2xlIChnUGxhdGZvcm1Db25zb2xlKTsNCj4gKyAgICBQbGF0Zm9ybUJkc0RpYWdu b3N0aWNzIChFWFRFTlNJVkUsIFRSVUUsIEJhc2VNZW1vcnlUZXN0KTsNCj4gKw0KPiArICAgIERF QlVHKChERUJVR19JTkZPLCAiUHJvY2Vzc0NhcHN1bGVzIEJlZm9yZSBFbmRPZkR4ZS4uLi4uLlxu IikpOw0KPiArICAgIFByb2Nlc3NDYXBzdWxlcyAoKTsNCj4gKyAgICBERUJVRygoREVCVUdfSU5G TywgIlByb2Nlc3NDYXBzdWxlcyBEb25lXG4iKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8v IENsb3NlIGJvb3Qgc2NyaXB0IGFuZCBpbnN0YWxsIHJlYWR5IHRvIGxvY2sNCj4gKyAgICAvLw0K PiArICAgIEluc3RhbGxSZWFkeVRvTG9jayAoKTsNCj4gKw0KPiArICAgIEJkc0xpYkNvbm5lY3RB bGwgKCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBlcmZvcm0gdXNlciBpZGVudGlmaWNh dGlvbg0KPiArICAgIC8vDQo+ICsgICAgaWYgKG1DdXJyZW50VXNlciA9PSBOVUxMKSB7DQo+ICsg ICAgICBQbGF0Zm9ybUJkc1VzZXJJZGVudGlmeSAoJm1DdXJyZW50VXNlciwgJkRlZmVycmVkSW1h Z2VFeGlzdCk7DQo+ICsgICAgICBpZiAoRGVmZXJyZWRJbWFnZUV4aXN0KSB7DQo+ICsgICAgICAg IC8vDQo+ICsgICAgICAgIC8vIEFmdGVyIHVzZXIgYXV0aGVudGljYXRpb24sIHRoZSBkZWZlcnJl ZCBkcml2ZXJzIHdhcyBsb2FkZWQgYWdhaW4uDQo+ICsgICAgICAgIC8vIEhlcmUsIG5lZWQgdG8g ZW5zdXJlIHRoZSBkZWZlcnJlZCBpbWFnZXMgYXJlIGNvbm5lY3RlZC4NCj4gKyAgICAgICAgLy8N Cj4gKyAgICAgICAgQmRzTGliQ29ubmVjdEFsbCAoKTsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ ICsNCj4gKyAgICBpZiAoRXNydE1hbmFnZW1lbnQgIT0gTlVMTCkgew0KPiArICAgICAgRXNydE1h bmFnZW1lbnQtPlN5bmNFc3J0Rm1wKCk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgREVCVUcoKERF QlVHX0lORk8sICJQcm9jZXNzQ2Fwc3VsZXMgQWZ0ZXIgQ29ubmVjdEFsbC4uLi4uLlxuIikpOw0K PiArICAgIFByb2Nlc3NDYXBzdWxlcygpOw0KPiArICAgIERFQlVHKChERUJVR19JTkZPLCAiUHJv Y2Vzc0NhcHN1bGVzIERvbmVcbiIpKTsNCj4gKyAgICBicmVhazsNCj4gKw0KPiArICBjYXNlIEJP T1RfSU5fUkVDT1ZFUllfTU9ERToNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gSW4gcmVjb3Zl cnkgbW9kZSwganVzdCBjb25uZWN0IHBsYXRmb3JtIGNvbnNvbGUNCj4gKyAgICAvLyBhbmQgc2hv dyB1cCB0aGUgZnJvbnQgcGFnZQ0KPiArICAgIC8vDQo+ICsgICAgUGxhdGZvcm1CZHNDb25uZWN0 Q29uc29sZSAoZ1BsYXRmb3JtQ29uc29sZSk7DQo+ICsgICAgUGxhdGZvcm1CZHNEaWFnbm9zdGlj cyAoRVhURU5TSVZFLCBGQUxTRSwgQmFzZU1lbW9yeVRlc3QpOw0KPiArICAgIEJkc0xpYkNvbm5l Y3RBbGwgKCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBlcmZvcm0gdXNlciBpZGVudGlm aWNhdGlvbg0KPiArICAgIC8vDQo+ICsgICAgaWYgKG1DdXJyZW50VXNlciA9PSBOVUxMKSB7DQo+ ICsgICAgICBQbGF0Zm9ybUJkc1VzZXJJZGVudGlmeSAoJm1DdXJyZW50VXNlciwgJkRlZmVycmVk SW1hZ2VFeGlzdCk7DQo+ICsgICAgICBpZiAoRGVmZXJyZWRJbWFnZUV4aXN0KSB7DQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIC8vIEFmdGVyIHVzZXIgYXV0aGVudGljYXRpb24sIHRoZSBkZWZl cnJlZCBkcml2ZXJzIHdhcyBsb2FkZWQgYWdhaW4uDQo+ICsgICAgICAgIC8vIEhlcmUsIG5lZWQg dG8gZW5zdXJlIHRoZSBkZWZlcnJlZCBkcml2ZXJzIGFyZSBjb25uZWN0ZWQuDQo+ICsgICAgICAg IC8vDQo+ICsgICAgICAgIEJkc0xpYkNvbm5lY3RBbGwgKCk7DQo+ICsgICAgICB9DQo+ICsgICAg fQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBDbG9zZSBib290IHNjcmlwdCBhbmQgaW5zdGFs bCByZWFkeSB0byBsb2NrDQo+ICsgICAgLy8NCj4gKyAgICBJbnN0YWxsUmVhZHlUb0xvY2sgKCk7 DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEluIHJlY292ZXJ5IGJvb3QgbW9kZSwgd2Ugc3Rp bGwgZW50ZXIgdG8gdGhlDQo+ICsgICAgLy8gZnJvbmcgcGFnZSBub3cNCj4gKyAgICAvLw0KPiAr ICAgIFBsYXRmb3JtQmRzRW50ZXJGcm9udFBhZ2VXaXRoSG90S2V5IChUaW1lb3V0LCBGQUxTRSk7 DQo+ICsgICAgYnJlYWs7DQo+ICsNCj4gK0ZVTExfQ09ORklHVVJBVElPTjoNCj4gKyAgY2FzZSBC T09UX1dJVEhfRlVMTF9DT05GSUdVUkFUSU9OOg0KPiArICBjYXNlIEJPT1RfV0lUSF9GVUxMX0NP TkZJR1VSQVRJT05fUExVU19ESUFHTk9TVElDUzoNCj4gKyAgY2FzZSBCT09UX1dJVEhfREVGQVVM VF9TRVRUSU5HUzoNCj4gKyAgZGVmYXVsdDoNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gQ29u bmVjdCBwbGF0Zm9ybSBjb25zb2xlDQo+ICsgICAgLy8NCj4gKyAgICBTdGF0dXMgPSBQbGF0Zm9y bUJkc0Nvbm5lY3RDb25zb2xlIChnUGxhdGZvcm1Db25zb2xlKTsNCj4gKyAgICBpZiAoRUZJX0VS Uk9SIChTdGF0dXMpKSB7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBIZXJlIE9FTS9J QlYgY2FuIGN1c3RvbWl6ZSB3aXRoIGRlZmluZWQgYWN0aW9uDQo+ICsgICAgICAvLw0KPiArICAg ICAgUGxhdGZvcm1CZHNOb0NvbnNvbGVBY3Rpb24gKCk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg Ly8NCj4gKyAgICAvLyBDaGVueXVuaFtUT0RPXTogVGhpcyBpcyBXb3JrZ3JvdWQgdG8gc2hvdyB0 aGUgZnMgZm9yIHVTRGNhcmQsDQo+ICsgICAgLy8gTmVlZCB0byByb290IGNhdXNlIHRoaXMgaXNz dWUuDQo+ICsgICAgLy8NCj4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLCAiU3RhcnQgdG8gcmVj b25uZWN0IGFsbCBkcml2ZXIuXG4iKSk7DQo+ICsgICAgQmRzTGliRGlzY29ubmVjdEFsbEVmaSgp Ow0KPiArICAgIEJkc0xpYkNvbm5lY3RBbGwgKCk7DQo+ICsgICAgREVCVUcgKChERUJVR19FUlJP UiwgIkVuZCB0byByZWNvbm5lY3QgYWxsIGRyaXZlci5cbiIpKTsNCj4gKw0KPiArICAgIC8vDQo+ ICsgICAgLy8gUGVyZm9ybSBzb21lIHBsYXRmb3JtIHNwZWNpZmljIGNvbm5lY3Qgc2VxdWVuY2UN Cj4gKyAgICAvLw0KPiArICAgIFBsYXRmb3JtQmRzQ29ubmVjdFNlcXVlbmNlICgpOw0KPiArICAg IEVuYWJsZVF1aWV0Qm9vdCAoUGNkR2V0UHRyKFBjZExvZ29GaWxlKSk7DQo+ICsgICAgaWYgKCFT eXN0ZW1Db25maWd1cmF0aW9uLlF1aWV0Qm9vdCkgew0KPiArICAgICAgUGxhdGZvcm1CZHNEaWFn bm9zdGljcyAoSUdOT1JFLCBGQUxTRSwgQmFzZU1lbW9yeVRlc3QpOw0KPiArICAgIH0NCj4gKw0K PiArICAgIC8vDQo+ICsgICAgLy8gRG8gYSBwcmUtZGVsYXkgc28gSGFyZCBEaXNrIGNhbiBzcGlu IHVwIGFuZCBzZWUgbW9yZSBsb2dvLg0KPiArICAgIC8vDQo+ICsgICAgZ0JTLT5TdGFsbChTeXN0 ZW1Db25maWd1cmF0aW9uLkhkZFByZWRlbGF5ICogMTAwMDAwMCk7DQo+ICsNCj4gKyAgICAvLw0K PiArICAgIC8vIFBlcmZvcm0gdXNlciBpZGVudGlmaWNhdGlvbg0KPiArICAgIC8vDQo+ICsgICAg aWYgKG1DdXJyZW50VXNlciA9PSBOVUxMKSB7DQo+ICsgICAgICBQbGF0Zm9ybUJkc1VzZXJJZGVu dGlmeSAoJm1DdXJyZW50VXNlciwgJkRlZmVycmVkSW1hZ2VFeGlzdCk7DQo+ICsgICAgICBpZiAo RGVmZXJyZWRJbWFnZUV4aXN0KSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIEFmdGVy IHVzZXIgYXV0aGVudGljYXRpb24sIHRoZSBkZWZlcnJlZCBkcml2ZXJzIHdhcyBsb2FkZWQgYWdh aW4uDQo+ICsgICAgICAgIC8vIEhlcmUsIG5lZWQgdG8gZW5zdXJlIHRoZSBkZWZlcnJlZCBkcml2 ZXJzIGFyZSBjb25uZWN0ZWQuDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFN0YXR1cyA9IFBs YXRmb3JtQmRzQ29ubmVjdENvbnNvbGUgKGdQbGF0Zm9ybUNvbnNvbGUpOw0KPiArICAgICAgICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgICAgUGxhdGZvcm1CZHNOb0NvbnNv bGVBY3Rpb24gKCk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgUGxhdGZvcm1CZHNDb25uZWN0 U2VxdWVuY2UgKCk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgI2lmZGVmIFRQTV9FTkFC TEVEDQo+ICsgICBUY2dQaHlzaWNhbFByZXNlbmNlTGliUHJvY2Vzc1JlcXVlc3QoKTsNCj4gKyAg ICNlbmRpZg0KPiArICAgI2lmZGVmIEZUUE1fRU5BQkxFDQo+ICsgICBUY2cyUGh5c2ljYWxQcmVz ZW5jZUxpYlByb2Nlc3NSZXF1ZXN0KE5VTEwpOw0KPiArICAgI2VuZGlmDQo+ICsNCj4gKyAgICBp ZiAoRXNydE1hbmFnZW1lbnQgIT0gTlVMTCkgew0KPiArICAgICAgRXNydE1hbmFnZW1lbnQtPlN5 bmNFc3J0Rm1wKCk7DQo+ICsgICAgfQ0KPiArICAgIC8vDQo+ICsgICAgLy8gQ2xvc2UgYm9vdCBz Y3JpcHQgYW5kIGluc3RhbGwgcmVhZHkgdG8gbG9jaw0KPiArICAgIC8vDQo+ICsgICAgSW5zdGFs bFJlYWR5VG9Mb2NrICgpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBIZXJlIHdlIGhhdmUg ZW5vdWdoIHRpbWUgdG8gZG8gdGhlIGVudW1lcmF0aW9uIG9mIGJvb3QgZGV2aWNlDQo+ICsgICAg Ly8NCj4gKyAgICBQbGF0Zm9ybUJkc0xpYkVudW1lcmF0ZUFsbEJvb3RPcHRpb24gKEJvb3RPcHRp b25MaXN0KTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gR2l2ZSBvbmUgY2hhbmNlIHRvIGVu dGVyIHRoZSBzZXR1cCBpZiB3ZQ0KPiArICAgIC8vIGhhdmUgdGhlIHRpbWUgb3V0DQo+ICsgICAg Ly8NCj4gKyAgICBQbGF0Zm9ybUJkc0VudGVyRnJvbnRQYWdlV2l0aEhvdEtleSAoVGltZW91dCwg RkFMU0UpOw0KPiArDQo+ICsJLy8NCj4gKwkvLyBHaXZlIG9uZSBjaGFuY2UgdG8gZW50ZXIgdGhl IHNldHVwIGlmIHdlDQo+ICsJLy8gc2VsZWN0IEd1bW1pYm9vdCAiUmVib290IEludG8gRmlybXdh cmUgSW50ZXJmYWNlIg0KPiArCS8vDQo+ICsJQm9vdEludG9GaXJtd2FyZUludGVyZmFjZSgpOw0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBJbiBkZWZhdWx0IGJvb3QgbW9kZSwgYWx3YXlzIGZp bmQgYWxsIGJvb3QNCj4gKyAgICAvLyBvcHRpb24gYW5kIGRvIGVudW1lcmF0ZSBhbGwgdGhlIGRl ZmF1bHQgYm9vdCBvcHRpb24NCj4gKyAgICAvLw0KPiArICAgIGlmIChUaW1lb3V0ID09IDApIHsN Cj4gKyAgICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbVZhciAoQm9vdE9wdGlvbkxpc3QsIEwiQm9v dE9yZGVyIik7DQo+ICsgICAgICBpZiAoSXNMaXN0RW1wdHkoQm9vdE9wdGlvbkxpc3QpKSB7DQo+ ICsgICAgICAgIFBsYXRmb3JtQmRzUHJlZGljdEJvb3RPcHRpb24gKEJvb3RPcHRpb25MaXN0KTsN Cj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgcmV0dXJuOw0KPiArICAgIH0NCj4gKw0KPiArDQo+ ICsgICAgYnJlYWs7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIElzRmlyc3RCb290ID0gUGNkR2V0 Qm9vbChQY2RCb290U3RhdGUpOw0KPiArICBpZiAoSXNGaXJzdEJvb3QpIHsNCj4gKyAgICBQY2RT ZXRCb29sKFBjZEJvb3RTdGF0ZSwgRkFMU0UpOw0KPiArICB9DQo+ICsgIHJldHVybjsNCj4gKw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKyAgSG9vayBwb2ludCBhZnRlciBhIGJvb3QgYXR0ZW1wdCBz dWNjZWVkcy4gV2UgZG9uJ3QgZXhwZWN0IGEgYm9vdCBvcHRpb24NCj4gdG8NCj4gKyAgcmV0dXJu LCBzbyB0aGUgVUVGSSAyLjAgc3BlY2lmaWNhdGlvbiBkZWZpbmVzIHRoYXQgeW91IHdpbGwgZGVm YXVsdCB0byBhbg0KPiArICBpbnRlcmFjdGl2ZSBtb2RlIGFuZCBzdG9wIHByb2Nlc3NpbmcgdGhl IEJvb3RPcmRlciBsaXN0IGluIHRoaXMgY2FzZS4gVGhpcw0KPiArICBpcyBhbG9zIGEgcGxhdGZv cm0gaW1wbGVtZW50YXRpb24gYW5kIGNhbiBiZSBjdXN0b21pemVkIGJ5IElCVi9PRU0uDQo+ICsN Cj4gKyAgQHBhcmFtIE9wdGlvbiAgUG9pbnRlciB0byBCb290IE9wdGlvbiB0aGF0IHN1Y2NlZWRl ZCB0byBib290Lg0KPiArDQo+ICsgIEByZXR2YWwgTm9uZS4NCj4gKw0KPiArKiovDQo+ICtWT0lE DQo+ICtFRklBUEkNCj4gK1BsYXRmb3JtQmRzQm9vdFN1Y2Nlc3MgKA0KPiArICBJTiAgQkRTX0NP TU1PTl9PUFRJT04gKk9wdGlvbg0KPiArICApDQo+ICt7DQo+ICsgIENIQVIxNiAgKlRtcFN0cjsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBJZiBCb290IHJldHVybmVkIHdpdGggRUZJX1NVQ0NFU1Mg YW5kIHRoZXJlIGlzIG5vdCBpbiB0aGUgYm9vdCBkZXZpY2UNCj4gKyAgLy8gc2VsZWN0IGxvb3Ag dGhlbiB3ZSBuZWVkIHRvIHBvcCB1cCBhIFVJIGFuZCB3YWl0IGZvciB1c2VyIGlucHV0Lg0KPiAr ICAvLw0KPiArICBUbXBTdHIgPSAgT3B0aW9uLT5TdGF0dXNTdHJpbmc7DQo+ICsgIGlmIChUbXBT dHIgIT0gTlVMTCkgew0KPiArICAgIEJkc0xpYk91dHB1dFN0cmluZ3MgKGdTVC0+Q29uT3V0LCBU bXBTdHIsIE9wdGlvbi0+RGVzY3JpcHRpb24sIEwiXG5cciIsDQo+IE5VTEwpOw0KPiArICAgIEZy ZWVQb29sKFRtcFN0cik7DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEhvb2sgcG9p bnQgYWZ0ZXIgYSBib290IGF0dGVtcHQgZmFpbHMuDQo+ICsNCj4gKyAgQHBhcmFtIE9wdGlvbiAt IFBvaW50ZXIgdG8gQm9vdCBPcHRpb24gdGhhdCBmYWlsZWQgdG8gYm9vdC4NCj4gKyAgQHBhcmFt IFN0YXR1cyAtIFN0YXR1cyByZXR1cm5lZCBmcm9tIGZhaWxlZCBib290Lg0KPiArICBAcGFyYW0g RXhpdERhdGEgLSBFeGl0IGRhdGEgcmV0dXJuZWQgZnJvbSBmYWlsZWQgYm9vdC4NCj4gKyAgQHBh cmFtIEV4aXREYXRhU2l6ZSAtIEV4aXQgZGF0YSBzaXplIHJldHVybmVkIGZyb20gZmFpbGVkIGJv b3QuDQo+ICsNCj4gKyAgQHJldHZhbCBOb25lLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VG SUFQSQ0KPiArUGxhdGZvcm1CZHNCb290RmFpbCAoDQo+ICsgIElOICBCRFNfQ09NTU9OX09QVElP TiAgKk9wdGlvbiwNCj4gKyAgSU4gIEVGSV9TVEFUVVMgICAgICAgICBTdGF0dXMsDQo+ICsgIElO ICBDSEFSMTYgICAgICAgICAgICAgKkV4aXREYXRhLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAg ICAgIEV4aXREYXRhU2l6ZQ0KPiArICApDQo+ICt7DQo+ICsgIENIQVIxNiAgICAgICAgICAqVG1w U3RyOw0KPiArICBFRklfSEFORExFICAgICAgRnZQcm90b2NvbEhhbmRsZTsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBJZiBCb290IHJldHVybmVkIHdpdGggZmFpbGVkIHN0YXR1cyB0aGVuIHdlIG5l ZWQgdG8gcG9wIHVwIGEgVUkgYW5kIHdhaXQNCj4gKyAgLy8gZm9yIHVzZXIgaW5wdXQuDQo+ICsg IC8vDQo+ICsgIFRtcFN0ciA9IE9wdGlvbi0+U3RhdHVzU3RyaW5nOw0KPiArICBpZiAoVG1wU3Ry ICE9IE5VTEwpIHsNCj4gKyAgICBCZHNMaWJPdXRwdXRTdHJpbmdzIChnU1QtPkNvbk91dCwgVG1w U3RyLCBPcHRpb24tPkRlc2NyaXB0aW9uLCBMIlxuXHIiLA0KPiBOVUxMKTsNCj4gKyAgICBGcmVl UG9vbChUbXBTdHIpOw0KPiArICB9DQo+ICsgIGlmIChQY2RHZXQzMihQY2RGbGFzaEZ2U2hlbGxT aXplKSA+IDApew0KPiArICAgIGdEUy0+UHJvY2Vzc0Zpcm13YXJlVm9sdW1lICgNCj4gKyAgICAg ICAgICAgKFZPSUQgKikoVUlOVE4pUGNkR2V0MzIoUGNkRmxhc2hGdlNoZWxsQmFzZSksDQo+ICsg ICAgICAgICAgIFBjZEdldDMyKFBjZEZsYXNoRnZTaGVsbFNpemUpLA0KPiArICAgICAgICAgICAm RnZQcm90b2NvbEhhbmRsZQ0KPiArICAgICAgICAgICApOw0KPiArICB9DQo+ICsgIFBsYXRmb3Jt QmRzQ29ubmVjdFNlcXVlbmNlICgpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5j dGlvbiBpcyByZW1haW5lZCBmb3IgSUJWL09FTSB0byBkbyBzb21lIHBsYXRmb3JtIGFjdGlvbiwN Cj4gKyAgaWYgdGhlcmUgbm8gY29uc29sZSBkZXZpY2UgY2FuIGJlIGNvbm5lY3RlZC4NCj4gKw0K PiArICBAcGFyYW0gIE5vbmUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBE aXJlY3QgcmV0dXJuIHN1Y2Nlc3Mgbm93Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K1BsYXRmb3JtQmRzTm9Db25zb2xlQWN0aW9uICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVu Y3Rpb24gbG9ja3MgdGhlIGJsb2NrDQo+ICsNCj4gKyAgQHBhcmFtIEJhc2UgICAgICAgICAgICBU aGUgYmFzZSBhZGRyZXNzIGZsYXNoIHJlZ2lvbiB0byBiZSBsb2NrZWQuDQo+ICsNCj4gKyoqLw0K PiArVk9JRA0KPiArQmRzTG9ja0Z2ICgNCj4gKyAgSU4gRUZJX1BIWVNJQ0FMX0FERFJFU1MgIEJh c2UNCj4gKyAgKQ0KPiArew0KPiArICBFRklfRlZfQkxPQ0tfTUFQX0VOVFJZICAgICAgKkJsb2Nr TWFwOw0KPiArICBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgKkZ2SGVhZGVyOw0KPiArICBF RklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgQmFzZUFkZHJlc3M7DQo+ICsgIFVJTlQzMiAgICAg ICAgICAgICAgICAgICAgICBCbG9ja0xlbmd0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgIEluZGV4Ow0KPiArDQo+ICsgIEJhc2VBZGRyZXNzID0gQmFzZSAtIDB4NDAwMDAwICsg MjsNCj4gKyAgRnZIZWFkZXIgICAgPSAoRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgKikgKChV SU5UTikgKEJhc2UpKTsNCj4gKyAgQmxvY2tNYXAgICAgPSAmKEZ2SGVhZGVyLT5CbG9ja01hcFsw XSk7DQo+ICsNCj4gKyAgd2hpbGUgKChCbG9ja01hcC0+TnVtQmxvY2tzICE9IDApICYmIChCbG9j a01hcC0+TGVuZ3RoICE9IDApKSB7DQo+ICsgICAgQmxvY2tMZW5ndGggPSBCbG9ja01hcC0+TGVu Z3RoOw0KPiArICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEJsb2NrTWFwLT5OdW1CbG9ja3M7 IEluZGV4KyspIHsNCj4gKyAgICAgIE1taW9PcjggKChVSU5UTikgQmFzZUFkZHJlc3MsIDB4MDMp Ow0KPiArICAgICAgQmFzZUFkZHJlc3MgKz0gQmxvY2tMZW5ndGg7DQo+ICsgICAgfQ0KPiArICAg IEJsb2NrTWFwKys7DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtQ bGF0Zm9ybUJkc0xvY2tOb25VcGRhdGFibGVGbGFzaCAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiAr ew0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgQmFzZTsNCj4gKw0KPiArICBCYXNlID0gKEVG SV9QSFlTSUNBTF9BRERSRVNTKSBQY2RHZXQzMiAoUGNkRmxhc2hGdk1haW5CYXNlKTsNCj4gKyAg aWYgKEJhc2UgPiAwKSB7DQo+ICsgICAgQmRzTG9ja0Z2IChCYXNlKTsNCj4gKyAgfQ0KPiArDQo+ ICsgIEJhc2UgPSAoRUZJX1BIWVNJQ0FMX0FERFJFU1MpIFBjZEdldDMyIChQY2RGbGFzaEZ2UmVj b3ZlcnlCYXNlKTsNCj4gKyAgaWYgKEJhc2UgPiAwKSB7DQo+ICsgICAgQmRzTG9ja0Z2IChCYXNl KTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgTG9jayB0aGUgQ29uc29sZUluIGRl dmljZSBpbiBzeXN0ZW0gdGFibGUuIEFsbCBrZXkNCj4gKyAgcHJlc3NlcyB3aWxsIGJlIGlnbm9y ZWQgdW50aWwgdGhlIFBhc3N3b3JkIGlzIHR5cGVkIGluLiBUaGUgb25seSB3YXkgdG8NCj4gKyAg ZGlzYWJsZSB0aGUgcGFzc3dvcmQgaXMgdG8gdHlwZSBpdCBpbiB0byBhIENvbkluIGRldmljZS4N Cj4gKw0KPiArICBAcGFyYW0gIFBhc3N3b3JkICAgICAgICBQYXNzd29yZCB1c2VkIHRvIGxvY2sg Q29uSW4gZGV2aWNlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgIGxvY2sgdGhl IENvbnNvbGUgSW4gU3BsaXRlciB2aXJ0dWFsIGhhbmRsZQ0KPiBzdWNjZXNzZnVsbHkuDQo+ICsg IEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEIFBhc3N3b3JkIG5vdCBmb3VuZA0KPiArDQo+ICsqKi8N Cj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTG9ja0tleWJvYXJkcyAoDQo+ICsgIElOICBD SEFSMTYgICAgKlBhc3N3b3JkDQo+ICsgICkNCj4gK3sNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQ UE9SVEVEOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQ29ubmVjdCB0aGUgcHJlZGVmaW5lZCBw bGF0Zm9ybSBkZWZhdWx0IGF1dGhlbnRpY2F0aW9uIGRldmljZXMuDQo+ICsNCj4gKyAgVGhpcyBm dW5jdGlvbiBjb25uZWN0cyB0aGUgcHJlZGVmaW5lZCBkZXZpY2UgcGF0aCBmb3IgYXV0aGVudGlj YXRpb24NCj4gZGV2aWNlLA0KPiArICBhbmQgaWYgdGhlIHByZWRlZmluZWQgZGV2aWNlIHBhdGgg aGFzIGNoaWxkIGRldmljZSBwYXRoLCB0aGUgY2hpbGQgaGFuZGxlDQo+IHdpbGwNCj4gKyAgYmUg Y29ubmVjdGVkIHRvby4gQnV0IHRoZSBjaGlsZCBoYW5kbGUgb2YgdGhlIGNoaWxkIHdpbGwgbm90 IGJlIGNvbm5lY3RlZC4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1BsYXRm b3JtQmRzQ29ubmVjdEF1dGhEZXZpY2UgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAg RUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAg SGFuZGxlSW5kZXg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlQ291 bnQ7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgKkhhbmRsZUJ1ZmZlcjsNCj4g KyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAqQ2hpbGREZXZpY2VQYXRoOw0KPiArICBF RklfVVNFUl9NQU5BR0VSX1BST1RPQ09MICAgICpNYW5hZ2VyOw0KPiArDQo+ICsgIFN0YXR1cyA9 IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlVc2VyTWFu YWdlclByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAg ICAgICAgICAgICAoVk9JRCAqKikgJk1hbmFnZXINCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIEFzIHVz ZXIgbWFuYWdlciBwcm90b2NvbCBpcyBub3QgaW5zdGFsbGVkLCB0aGUgYXV0aGVudGljYXRpb24g ZGV2aWNlcw0KPiArICAgIC8vIHNob3VsZCBub3QgYmUgY29ubmVjdGVkLg0KPiArICAgIC8vDQo+ ICsgICAgcmV0dXJuIDsNCj4gKyAgfQ0KPiArDQo+ICsgIEluZGV4ID0gMDsNCj4gKyAgd2hpbGUg KGdVc2VyQXV0aGVudGljYXRpb25EZXZpY2VbSW5kZXhdICE9IE5VTEwpIHsNCj4gKyAgICAvLw0K PiArICAgIC8vIENvbm5lY3QgdGhlIHBsYXRmb3JtIGN1c3RvbWl6ZWQgZGV2aWNlIHBhdGhzDQo+ ICsgICAgLy8NCj4gKyAgICBCZHNMaWJDb25uZWN0RGV2aWNlUGF0aCAoZ1VzZXJBdXRoZW50aWNh dGlvbkRldmljZVtJbmRleF0pOw0KPiArICAgIEluZGV4Kys7DQo+ICsgIH0NCj4gKw0KPiArICAv Lw0KPiArICAvLyBGaW5kIGFuZCBjb25uZWN0IHRoZSBjaGlsZCBkZXZpY2UgcGF0aHMgb2YgdGhl IHBsYXRmb3JtIGN1c3RvbWl6ZWQNCj4gZGV2aWNlIHBhdGhzDQo+ICsgIC8vDQo+ICsgIEhhbmRs ZUJ1ZmZlciA9IE5VTEw7DQo+ICsgIGZvciAoSW5kZXggPSAwOyBnVXNlckF1dGhlbnRpY2F0aW9u RGV2aWNlW0luZGV4XSAhPSBOVUxMOyBJbmRleCsrKSB7DQo+ICsgICAgSGFuZGxlQ291bnQgPSAw Ow0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4gKyAgICAgICAg ICAgICAgICAgICAgQWxsSGFuZGxlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4g KyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkhhbmRs ZUNvdW50LA0KPiArICAgICAgICAgICAgICAgICAgICAmSGFuZGxlQnVmZmVyDQo+ICsgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUICghRUZJX0VSUk9SIChTdGF0dXMpKTsNCj4g Kw0KPiArICAgIC8vDQo+ICsgICAgLy8gRmluZCBhbmQgY29ubmVjdCB0aGUgY2hpbGQgZGV2aWNl IHBhdGhzIG9mDQo+IGdVc2VySWRlbnRpZmljYXRpb25EZXZpY2VbSW5kZXhdDQo+ICsgICAgLy8N Cj4gKyAgICBmb3IgKEhhbmRsZUluZGV4ID0gMDsgSGFuZGxlSW5kZXggPCBIYW5kbGVDb3VudDsg SGFuZGxlSW5kZXgrKykgew0KPiArICAgICAgQ2hpbGREZXZpY2VQYXRoID0gTlVMTDsNCj4gKyAg ICAgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAg ICAgIEhhbmRsZUJ1ZmZlcltIYW5kbGVJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAg JmdFZmlEZXZpY2VQYXRoUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChW T0lEICoqKSAmQ2hpbGREZXZpY2VQYXRoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgQ2hpbGREZXZpY2VQYXRoID09IE5VTEwp IHsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIGlmIChD b21wYXJlTWVtICgNCj4gKyAgICAgICAgICAgIENoaWxkRGV2aWNlUGF0aCwNCj4gKyAgICAgICAg ICAgIGdVc2VyQXV0aGVudGljYXRpb25EZXZpY2VbSW5kZXhdLA0KPiArICAgICAgICAgICAgKEdl dERldmljZVBhdGhTaXplIChnVXNlckF1dGhlbnRpY2F0aW9uRGV2aWNlW0luZGV4XSkgLSBzaXpl b2YNCj4gKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCkpDQo+ICsgICAgICAgICAgICApICE9IDAp IHsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAgICB9DQo+ICsgICAgICBnQlMtPkNvbm5l Y3RDb250cm9sbGVyICgNCj4gKyAgICAgICAgICAgICBIYW5kbGVCdWZmZXJbSGFuZGxlSW5kZXhd LA0KPiArICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAg ICAgICAgICBUUlVFDQo+ICsgICAgICAgICAgICAgKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0K PiArICBpZiAoSGFuZGxlQnVmZmVyICE9IE5VTEwpIHsNCj4gKyAgICBGcmVlUG9vbCAoSGFuZGxl QnVmZmVyKTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiBp cyB0byBpZGVudGlmeSBhIHVzZXIsIGFuZCByZXR1cm4gd2hldGhlciBkZWZlcnJlZCBpbWFnZXMN Cj4gZXhpc3QuDQo+ICsNCj4gKyAgQHBhcmFtW291dF0gIFVzZXIgICAgICAgICAgICAgICBQb2lu dCB0byB1c2VyIHByb2ZpbGUgaGFuZGxlLg0KPiArICBAcGFyYW1bb3V0XSAgRGVmZXJyZWRJbWFn ZUV4aXN0IE9uIHJldHVybiwgcG9pbnRzIHRvIFRSVUUgaWYgdGhlDQo+IGRlZmVycmVkIGltYWdl DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXhpc3Qgb3IgRkFMU0UgaWYg aXQgZGlkIG5vdCBleGlzdC4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Bs YXRmb3JtQmRzVXNlcklkZW50aWZ5ICgNCj4gKyAgT1VUIEVGSV9VU0VSX1BST0ZJTEVfSEFORExF ICAgICAgICAqVXNlciwNCj4gKyAgT1VUIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAq RGVmZXJyZWRJbWFnZUV4aXN0DQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9ERUZFUlJFRF9JTUFHRV9MT0FEX1BS T1RPQ09MICAgKkRlZmVycmVkSW1hZ2U7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSGFuZGxlQ291bnQ7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAg ICAgICAgKkhhbmRsZUJ1ZjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBJbmRleDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJJ bmRleDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgICAgICAqSW1hZ2VEZXZp Y2VQYXRoOw0KPiArICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpEcml2ZXJJ bWFnZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbWFnZVNpemU7 DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQm9vdE9wdGlvbjsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBQZXJmb3JtIHVzZXIgaWRlbnRpZmljYXRpb24NCj4gKyAgLy8N Cj4gKyAgZG8gew0KPiArICAgIFN0YXR1cyA9IEJkc0xpYlVzZXJJZGVudGlmeSAoVXNlcik7DQo+ ICsgIH0gd2hpbGUgKEVGSV9FUlJPUiAoU3RhdHVzKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g QWZ0ZXIgdXNlciBhdXRoZW50aWNhdGlvbiBub3csIHRyeSB0byBmaW5kIHdoZXRoZXIgZGVmZXJy ZWQgaW1hZ2UNCj4gZXhpc3RzDQo+ICsgIC8vDQo+ICsgIEhhbmRsZUNvdW50ID0gMDsNCj4gKyAg SGFuZGxlQnVmICAgPSBOVUxMOw0KPiArICAqRGVmZXJyZWRJbWFnZUV4aXN0ID0gRkFMU0U7DQo+ ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4gKyAgICAgICAgICAgICAg ICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURlZmVycmVkSW1hZ2VM b2FkUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAg ICAgICAgICAgICZIYW5kbGVDb3VudCwNCj4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGVCdWYN Cj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4gKyAgICByZXR1cm4gOw0KPiArICB9DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4 IDwgSGFuZGxlQ291bnQ7IEluZGV4KyspIHsNCj4gKyAgICBTdGF0dXMgPSBnQlMtPkhhbmRsZVBy b3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAgSGFuZGxlQnVmW0luZGV4XSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgJmdFZmlEZWZlcnJlZEltYWdlTG9hZFByb3RvY29sR3VpZCwNCj4g KyAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZEZWZlcnJlZEltYWdlDQo+ICsgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAg ICAgIC8vDQo+ICsgICAgICAvLyBGaW5kIHdoZXRoZXIgZGVmZXJyZWQgaW1hZ2UgZXhpc3RzIGlu IHRoaXMgaW5zdGFuY2UuDQo+ICsgICAgICAvLw0KPiArICAgICAgRHJpdmVySW5kZXggPSAwOw0K PiArICAgICAgU3RhdHVzID0gRGVmZXJyZWRJbWFnZS0+R2V0SW1hZ2VJbmZvKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBEZWZlcnJlZEltYWdlLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBEcml2ZXJJbmRleCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJkltYWdlRGV2aWNlUGF0aCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKFZPSUQgKiopICZEcml2ZXJJbWFnZSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJkltYWdlU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJkJvb3RPcHRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAg ICAgIC8vIFRoZSBkZWZlcnJlZCBpbWFnZSBpcyBmb3VuZC4NCj4gKyAgICAgICAgLy8NCj4gKyAg ICAgICAgRnJlZVBvb2wgKEhhbmRsZUJ1Zik7DQo+ICsgICAgICAgICpEZWZlcnJlZEltYWdlRXhp c3QgPSBUUlVFOw0KPiArICAgICAgICByZXR1cm4gOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIEZyZWVQb29sIChIYW5kbGVCdWYpOw0KPiArfQ0KPiArDQo+ICtVSU5U TiBnSG90S2V5ID0gMDsNCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtTaG93UHJvZ3Jlc3NI b3RLZXkgKA0KPiArICBJTiBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgIFRpbWVvdXREZWZh dWx0DQo+ICsgICkNCj4gK3sNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgKlRt cFN0cjsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgVGltZW91dFJlbWFpbjsN Cj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfSU5Q VVRfS0VZICAgICAgICAgICAgICAgICBLZXk7DQo+ICsgIEVGSV9HUkFQSElDU19PVVRQVVRfQkxU X1BJWEVMIEZvcmVncm91bmQ7DQo+ICsgIEVGSV9HUkFQSElDU19PVVRQVVRfQkxUX1BJWEVMIEJh Y2tncm91bmQ7DQo+ICsgIEVGSV9HUkFQSElDU19PVVRQVVRfQkxUX1BJWEVMIENvbG9yOw0KPiAr ICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBHcGlvVmFsdWU7DQo+ICsgIENIQVIxNiAg ICAgICAgICAgICAgICAgICAgICAgICpUbXBTdHIxOw0KPiArICBDSEFSMTYgICAgICAgICAgICAg ICAgICAgICAgICAqVG1wU3RyMjsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAg KlRtcFN0cjM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIFRtcFN0clNpemU7 DQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXI7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgIFNpemU7DQo+ICsNCj4gKyAgaWYgKFRpbWVvdXREZWZh dWx0ID09IDApIHsNCj4gKyAgICByZXR1cm4gRUZJX1RJTUVPVVQ7DQo+ICsgIH0NCj4gKw0KPiAr ICBnU1QtPkNvbk91dC0+U2V0QXR0cmlidXRlKGdTVC0+Q29uT3V0LCBFRklfVEVYVF9BVFRSDQo+ IChFRklfTElHSFRHUkFZLCBFRklfQkxBQ0spKTsNCj4gKw0KPiArICBpZiAoRGVidWdBc3NlcnRF bmFibGVkKCkpDQo+ICsgIHsNCj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICJcblxuU3RhcnQg c2hvd2luZyBwcm9ncmVzcyBiYXIuLi4gUHJlc3MgYW55IGtleSB0bw0KPiBzdG9wIGl0LCBvciBw cmVzcyA8RjI+IG9yIDxERUw+IHRvIGVudGVyIHNldHVwIHBhZ2UhIC4uLlp6ei4uLi5cbiIpKTsN Cj4gKyAgfQ0KPiArICBlbHNlDQo+ICsgIHsNCj4gKyAgICAjaWZkZWYgX19HTlVDX18NCj4gKyAg ICBTZXJpYWxQb3J0V3JpdGUoKFVJTlQ4ICopIlxuXG4+Pj4+U3RhcnQgYm9vdCBvcHRpb24sIFBy ZXNzIDxGMj4gb3IgPERFTD4NCj4gdG8gZW50ZXIgc2V0dXAgcGFnZSg1IFNlYylbR0NDXSIsIDc2 KTsNCj4gKyAgICAjZWxzZQ0KPiArICAgIFNlcmlhbFBvcnRXcml0ZSgoVUlOVDggKikiXG5cbj4+ Pj5TdGFydCBib290IG9wdGlvbiwgUHJlc3MgPEYyPiBvciA8REVMPg0KPiB0byBlbnRlciBzZXR1 cCBwYWdlKDUgU2VjKSIsIDcxKTsNCj4gKyAgICAjZW5kaWYNCj4gKyAgfQ0KPiArICBTZXRNZW0g KCZGb3JlZ3JvdW5kLCBzaXplb2YgKEVGSV9HUkFQSElDU19PVVRQVVRfQkxUX1BJWEVMKSwgMHhm Zik7DQo+ICsgIFNldE1lbSAoJkJhY2tncm91bmQsIHNpemVvZiAoRUZJX0dSQVBISUNTX09VVFBV VF9CTFRfUElYRUwpLCAweDApOw0KPiArICBTZXRNZW0gKCZDb2xvciwgc2l6ZW9mIChFRklfR1JB UEhJQ1NfT1VUUFVUX0JMVF9QSVhFTCksIDB4ZmYpOw0KPiArDQo+ICsgIFRtcFN0cjIgPSBOVUxM Ow0KPiArICBUbXBTdHIzID0gTlVMTDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVjayBpZiB0 aGUgcGxhdGZvcm0gaXMgdXNpbmcgdGVzdCBrZXkuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IEdl dFNlY3Rpb25Gcm9tQW55RnYoDQo+ICsgICAgICAgICAgICAgUGNkR2V0UHRyKFBjZEVka2lpUnNh MjA0OFNoYTI1NlRlc3RQdWJsaWNLZXlGaWxlR3VpZCksDQo+ICsgICAgICAgICAgICAgRUZJX1NF Q1RJT05fUkFXLA0KPiArICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgJkJ1ZmZlciwN Cj4gKyAgICAgICAgICAgICAmU2l6ZQ0KPiArICAgICAgICAgICAgICk7DQo+ICsgIGlmICghRUZJ X0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICBpZiAoKFNpemUgPT0gUGNkR2V0U2l6ZShQY2RSc2Ey MDQ4U2hhMjU2UHVibGljS2V5QnVmZmVyKSkgJiYNCj4gKyAgICAgICAgKENvbXBhcmVNZW0oQnVm ZmVyLCBQY2RHZXRQdHIoUGNkUnNhMjA0OFNoYTI1NlB1YmxpY0tleUJ1ZmZlciksDQo+IFNpemUp ID09IDApKSB7DQo+ICsgICAgICBUbXBTdHIyID0gTCJXQVJOSU5HOiBSZWNvdmVyeSBUZXN0IEtl eSBpcyB1c2VkLlxyXG4iOw0KPiArICAgICAgaWYgKERlYnVnQXNzZXJ0RW5hYmxlZCgpKSB7DQo+ ICsgICAgICAgIERFQlVHICgoREVCVUdfSU5GTywgIlxuXG5XQVJOSU5HOiBSZWNvdmVyeSBUZXN0 IEtleSBpcw0KPiB1c2VkLlxuIikpOw0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgU2Vy aWFsUG9ydFdyaXRlKChVSU5UOCAqKSJcblxuV0FSTklORzogUmVjb3ZlcnkgVGVzdCBLZXkgaXMg dXNlZC4iLA0KPiBzaXplb2YoIlxuXG5XQVJOSU5HOiBSZWNvdmVyeSBUZXN0IEtleSBpcyB1c2Vk LiIpKTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIFBjZFNldEJvb2xTKFBjZFRlc3RLZXlVc2VkLCBU UlVFKTsNCj4gKyAgICB9DQo+ICsgICAgRnJlZVBvb2woQnVmZmVyKTsNCj4gKyAgfQ0KPiArICBT dGF0dXMgPSBHZXRTZWN0aW9uRnJvbUFueUZ2KA0KPiArICAgICAgICAgICAgIFBjZEdldFB0cihQ Y2RFZGtpaVBrY3M3VGVzdFB1YmxpY0tleUZpbGVHdWlkKSwNCj4gKyAgICAgICAgICAgICBFRklf U0VDVElPTl9SQVcsDQo+ICsgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAmQnVmZmVy LA0KPiArICAgICAgICAgICAgICZTaXplDQo+ICsgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKCFF RklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIGlmICgoU2l6ZSA9PSBQY2RHZXRTaXplKFBjZFBr Y3M3Q2VydEJ1ZmZlcikpICYmDQo+ICsgICAgICAgIChDb21wYXJlTWVtKEJ1ZmZlciwgUGNkR2V0 UHRyKFBjZFBrY3M3Q2VydEJ1ZmZlciksIFNpemUpID09IDApKSB7DQo+ICsgICAgICBUbXBTdHIz ID0gTCJXQVJOSU5HOiBDYXBzdWxlIFRlc3QgS2V5IGlzIHVzZWQuXHJcbiI7DQo+ICsgICAgICBp ZiAoRGVidWdBc3NlcnRFbmFibGVkKCkpIHsNCj4gKyAgICAgICAgREVCVUcgKChERUJVR19JTkZP LCAiXG5cbldBUk5JTkc6IENhcHN1bGUgVGVzdCBLZXkgaXMNCj4gdXNlZC5cclxuIikpOw0KPiAr ICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgU2VyaWFsUG9ydFdyaXRlKChVSU5UOCAqKSJcblxu V0FSTklORzogQ2Fwc3VsZSBUZXN0IEtleSBpcyB1c2VkLiIsDQo+IHNpemVvZigiXG5cbldBUk5J Tkc6IENhcHN1bGUgVGVzdCBLZXkgaXMgdXNlZC4iKSk7DQo+ICsgICAgICB9DQo+ICsgICAgICBQ Y2RTZXRCb29sUyhQY2RUZXN0S2V5VXNlZCwgVFJVRSk7DQo+ICsgICAgfQ0KPiArICAgIEZyZWVQ b29sKEJ1ZmZlcik7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBDbGVhciB0aGUgcHJv Z3Jlc3Mgc3RhdHVzIGJhciBmaXJzdA0KPiArICAvLw0KPiArICBUbXBTdHIxID0gTCJTdGFydCBi b290IG9wdGlvbiwgUHJlc3MgPEYyPiBvciA8REVMPiB0byBlbnRlciBzZXR1cA0KPiBwYWdlLlxy XG4iOw0KPiArICBUbXBTdHJTaXplID0gU3RyU2l6ZShUbXBTdHIxKTsNCj4gKyAgaWYgKFRtcFN0 cjIgIT0gTlVMTCkgew0KPiArICAgIFRtcFN0clNpemUgKz0gU3RyU2l6ZShUbXBTdHIyKTsNCj4g KyAgfQ0KPiArICBpZiAoVG1wU3RyMyAhPSBOVUxMKSB7DQo+ICsgICAgVG1wU3RyU2l6ZSArPSBT dHJTaXplKFRtcFN0cjMpOw0KPiArICB9DQo+ICsgIFRtcFN0ciA9IEFsbG9jYXRlUG9vbCAoVG1w U3RyU2l6ZSk7DQo+ICsgIGlmIChUbXBTdHIgPT0gTlVMTCkgew0KPiArICAgIFRtcFN0ciA9IFRt cFN0cjE7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgU3RyQ3B5UyhUbXBTdHIsIFRtcFN0clNpemUv c2l6ZW9mKENIQVIxNiksIFRtcFN0cjEpOw0KPiArICAgIGlmIChUbXBTdHIyICE9IE5VTEwpIHsN Cj4gKyAgICAgIFN0ckNhdFMoVG1wU3RyLCBUbXBTdHJTaXplL3NpemVvZihDSEFSMTYpLCBUbXBT dHIyKTsNCj4gKyAgICB9DQo+ICsgICAgaWYgKFRtcFN0cjMgIT0gTlVMTCkgew0KPiArICAgICAg U3RyQ2F0UyhUbXBTdHIsIFRtcFN0clNpemUvc2l6ZW9mKENIQVIxNiksIFRtcFN0cjMpOw0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArICBQbGF0Zm9ybUJkc1Nob3dQcm9ncmVzcyAoRm9yZWdyb3VuZCwg QmFja2dyb3VuZCwgVG1wU3RyLCBDb2xvciwgMCwgMCk7DQo+ICsNCj4gKyAgVGltZW91dFJlbWFp biA9IFRpbWVvdXREZWZhdWx0Ow0KPiArICB3aGlsZSAoVGltZW91dFJlbWFpbiAhPSAwKSB7DQo+ ICsgICAgaWYgKERlYnVnQXNzZXJ0RW5hYmxlZCgpKQ0KPiArICAgIHsNCj4gKyAgICBERUJVRyAo KEVGSV9EX0lORk8sICJTaG93aW5nIHByb2dyZXNzIGJhci4uLlJlbWFpbmluZyAlZCBzZWNvbmQh XG4iLA0KPiBUaW1lb3V0UmVtYWluKSk7DQo+ICsgICAgfQ0KPiArICAgIGVsc2UNCj4gKyAgICB7 DQo+ICsgICAgU2VyaWFsUG9ydFdyaXRlICgoVUlOVDggKikiLiIsIDEpOw0KPiArICAgIH0NCj4g KyAgICBTdGF0dXMgPSBXYWl0Rm9yU2luZ2xlRXZlbnQgKGdTVC0+Q29uSW4tPldhaXRGb3JLZXks IE9ORV9TRUNPTkQpOw0KPiArICAgIGlmIChTdGF0dXMgIT0gRUZJX1RJTUVPVVQpIHsNCj4gKyAg ICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgICBUaW1lb3V0UmVtYWluLS07DQo+ICsNCj4gKyAg ICAvLw0KPiArICAgIC8vIFNob3cgcHJvZ3Jlc3MNCj4gKyAgICAvLw0KPiArICAgIGlmIChUbXBT dHIgIT0gTlVMTCkgew0KPiArICAgICAgUGxhdGZvcm1CZHNTaG93UHJvZ3Jlc3MgKA0KPiArICAg ICAgICBGb3JlZ3JvdW5kLA0KPiArICAgICAgICBCYWNrZ3JvdW5kLA0KPiArICAgICAgICBUbXBT dHIsDQo+ICsgICAgICAgIENvbG9yLA0KPiArICAgICAgICAoKFRpbWVvdXREZWZhdWx0IC0gVGlt ZW91dFJlbWFpbikgKiAxMDAgLyBUaW1lb3V0RGVmYXVsdCksDQo+ICsgICAgICAgIDANCj4gKyAg ICAgICAgKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBUaW1lb3V0 IGV4cGlyZWQNCj4gKyAgLy8NCj4gKyAgaWYgKFRpbWVvdXRSZW1haW4gPT0gMCkgew0KPiArICAg IGlmIChEZWJ1Z0Fzc2VydEVuYWJsZWQoKSkNCj4gKwl7DQo+ICsJfQ0KPiArICAgIGVsc2UNCj4g KyAgICB7DQo+ICsgICAgU2VyaWFsUG9ydFdyaXRlICgoVUlOVDggKikiXHJcbiIsIDIpOw0KPiAr ICAgIH0NCj4gKyAgICByZXR1cm4gRUZJX1RJTUVPVVQ7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0K PiArICAvLyBVc2VyIHByZXNzZWQgc29tZSBrZXkNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ1NU LT5Db25Jbi0+UmVhZEtleVN0cm9rZSAoZ1NULT5Db25JbiwgJktleSk7DQo+ICsgIGlmIChFRklf RVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gQ2hlY2sgVm9sdW1lIFVwIEtleSB0byBlbnRlciBTZXR1cA0KPiArICAv Lw0KPiArICBHcGlvVmFsdWUgPSBNbWlvUmVhZDMyIChJT19CQVNFX0FERFJFU1MgKyAweDA2Njgp OyAgLy8gVGhlIHZhbHVlIG9mDQo+IEdQSU9DXzUNCj4gKyAgaWYgKCgoR3Bpb1ZhbHVlICYgQklU MCkgPT0gMCkgJiYgKEtleS5TY2FuQ29kZSA9PSBTQ0FOX1VQKSkgew0KPiArICAgIGdIb3RLZXkg PSAwOw0KPiArICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChL ZXkuVW5pY29kZUNoYXIgPT0gQ0hBUl9DQVJSSUFHRV9SRVRVUk4pIHsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIFVzZXIgcHJlc3NlZCBlbnRlciwgZXF1aXZhbGVudCB0byBzZWxlY3QgImNvbnRpbnVl Ig0KPiArICAgIC8vDQo+ICsgICAgcmV0dXJuIEVGSV9USU1FT1VUOw0KPiArICB9DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy9GMiAtLSAgRnJvbnQgUGFnZQ0KPiArICAvL0Y1IC0tICBEZXZpY2UgTWFu YWdlcg0KPiArICAvL0Y3IC0tICBCb290IE1hbmFnZXINCj4gKyAgLy8gZG8gbm90IHVzZSBGOC4g Z2VuZXJhbGx5IHBlb3BsZSBhc3N1bWUgaXQgaXMgd2luZG93cyBzYWZlIG1vZGUga2V5Lg0KPiAr ICAvL0Y5IC0tICBCb290IG9yZGVyDQo+ICsgIC8vDQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTywg IltLZXkgUHJlc3NlZF06IFNjYW5Db2RlIDB4JXhcbiIsIEtleS5TY2FuQ29kZSkpOw0KPiArICBz d2l0Y2goS2V5LlNjYW5Db2RlKSB7DQo+ICsgICAgICBjYXNlIFNDQU5fRjI6DQo+ICsgICAgICAg ICAgZ0hvdEtleSA9IDA7DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgIGNhc2Ug U0NBTl9ERUxFVEU6DQo+ICsgICAgICAgICAgZ0hvdEtleSA9IDA7DQo+ICsgICAgICAgICAgYnJl YWs7DQo+ICsNCj4gKyAgICAgIGNhc2UgU0NBTl9GNToNCj4gKyAgICAgICAgICBnSG90S2V5ID0g RlJPTlRfUEFHRV9LRVlfREVWSUNFX01BTkFHRVI7DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsN Cj4gKyAgICAgIGNhc2UgU0NBTl9GNzoNCj4gKyAgICAgICAgICBnSG90S2V5ID0gRlJPTlRfUEFH RV9LRVlfQk9PVF9NQU5BR0VSOw0KPiArICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICBj YXNlIFNDQU5fRjk6DQo+ICsgICAgICAgICAgZ0hvdEtleSA9IEZST05UX1BBR0VfS0VZX0JPT1Rf TUFJTlRBSU47DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgIGRlZmF1bHQ6DQo+ ICsgICAgICAgICAgLy9zZXQgZ0hvdEtleSB0byBjb250aW51ZSBzbyB0aGF0IGZsb3cgd2lsbCBu b3QgZ28gaW50byBDYWxsRnJvbnRQYWdlDQo+ICsgICAgICAgICAgZ0hvdEtleSA9IEZST05UX1BB R0VfS0VZX0NPTlRJTlVFOw0KPiArICAgICAgICAgIHJldHVybiBFRklfVElNRU9VVDsNCj4gKyAg ICAgICAgICBicmVhazsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4g K30NCj4gKw0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIGlzIHRoZSBtYWlu IGVudHJ5IG9mIHRoZSBwbGF0Zm9ybSBzZXR1cCBlbnRyeS4NCj4gKyAgVGhlIGZ1bmN0aW9uIHdp bGwgcHJlc2VudCB0aGUgbWFpbiBtZW51IG9mIHRoZSBzeXN0ZW0gc2V0dXAsDQo+ICsgIHRoaXMg aXMgdGhlIHBsYXRmb3JtIHJlZmVyZW5jZSBwYXJ0IGFuZCBjYW4gYmUgY3VzdG9taXplLg0KPiAr DQo+ICsNCj4gKyAgQHBhcmFtIFRpbWVvdXREZWZhdWx0ICAgICBUaGUgZmF1bHQgdGltZSBvdXQg dmFsdWUgYmVmb3JlIHRoZSBzeXN0ZW0NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj b250aW51ZSB0byBib290Lg0KPiArICBAcGFyYW0gQ29ubmVjdEFsbEhhcHBlbmVkIFRoZSBpbmRp Y2F0ZXIgdG8gY2hlY2sgaWYgdGhlIGNvbm5lY3QgYWxsDQo+IGhhdmUNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBhbHJlYWR5IGhhcHBlbmVkLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQN Cj4gK1BsYXRmb3JtQmRzRW50ZXJGcm9udFBhZ2VXaXRoSG90S2V5ICgNCj4gKyAgSU4gVUlOVDE2 ICAgICAgICAgICAgICAgICAgICAgICBUaW1lb3V0RGVmYXVsdCwNCj4gKyAgSU4gQk9PTEVBTiAg ICAgICAgICAgICAgICAgICAgICBDb25uZWN0QWxsSGFwcGVuZWQNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgICAgICAgICAgICBMb2dvU3RhdHVzOw0KPiArICBFRklfQk9PVF9M T0dPX1BST1RPQ09MICAgICAgICAgICAgICpCb290TG9nbzsNCj4gKyAgRUZJX0dSQVBISUNTX09V VFBVVF9QUk9UT0NPTCAgICAgICAqR3JhcGhpY3NPdXRwdXQ7DQo+ICsgIEVGSV9TSU1QTEVfVEVY VF9PVVRQVVRfUFJPVE9DT0wgICAgKlNpbXBsZVRleHRPdXQ7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQm9vdFRleHRDb2x1bW47DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgQm9vdFRleHRSb3c7DQo+ICsNCj4gKyAgR3JhcGhpY3NPdXRw dXQgPSBOVUxMOw0KPiArICBTaW1wbGVUZXh0T3V0ID0gTlVMTDsNCj4gKw0KPiArICBQRVJGX1NU QVJUIChOVUxMLCAiQmRzVGltZU91dCIsICJCRFMiLCAwKTsNCj4gKw0KPiArICAvLw0KPiArICAv LyBJbmRpY2F0ZSBpZiB3ZSBuZWVkIGNvbm5lY3QgYWxsIGluIHRoZSBwbGF0Zm9ybSBzZXR1cA0K PiArICAvLw0KPiArICBpZiAoQ29ubmVjdEFsbEhhcHBlbmVkKSB7DQo+ICsgICAgZ0Nvbm5lY3RB bGxIYXBwZW5lZCA9IFRSVUU7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoIW1Nb2RlSW5pdGlhbGl6 ZWQpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIEFmdGVyIHRoZSBjb25zb2xlIGlzIHJlYWR5LCBn ZXQgY3VycmVudCB2aWRlbyByZXNvbHV0aW9uDQo+ICsgICAgLy8gYW5kIHRleHQgbW9kZSBiZWZv cmUgbGF1bmNoaW5nIHNldHVwIGF0IGZpcnN0IHRpbWUuDQo+ICsgICAgLy8NCj4gKyAgICBTdGF0 dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAgZ1NULT5D b25zb2xlT3V0SGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaUdyYXBoaWNzT3V0 cHV0UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAoVk9JRCoqKSZHcmFwaGlj c091dHB1dA0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCj4gKyAgICAgIEdyYXBoaWNzT3V0cHV0ID0gTlVMTDsNCj4gKyAgICB9DQo+ ICsNCj4gKyAgICBTdGF0dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAg ICAgICAgICAgZ1NULT5Db25zb2xlT3V0SGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAm Z0VmaVNpbXBsZVRleHRPdXRQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIChW T0lEKiopJlNpbXBsZVRleHRPdXQNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBTaW1wbGVUZXh0T3V0ID0gTlVMTDsN Cj4gKyAgICB9DQo+ICsNCj4gKyAgICBpZiAoR3JhcGhpY3NPdXRwdXQgIT0gTlVMTCkgew0KPiAr ICAgICAgLy8NCj4gKyAgICAgIC8vIEdldCBjdXJyZW50IHZpZGVvIHJlc29sdXRpb24gYW5kIHRl eHQgbW9kZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBtQm9vdEhvcml6b250YWxSZXNvbHV0aW9u ID0gR3JhcGhpY3NPdXRwdXQtPk1vZGUtPkluZm8tDQo+ID5Ib3Jpem9udGFsUmVzb2x1dGlvbjsN Cj4gKyAgICAgIG1Cb290VmVydGljYWxSZXNvbHV0aW9uICAgPSBHcmFwaGljc091dHB1dC0+TW9k ZS0+SW5mby0NCj4gPlZlcnRpY2FsUmVzb2x1dGlvbjsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBp ZiAoU2ltcGxlVGV4dE91dCAhPSBOVUxMKSB7DQo+ICsgICAgICBTdGF0dXMgPSBTaW1wbGVUZXh0 T3V0LT5RdWVyeU1vZGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaW1w bGVUZXh0T3V0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaW1wbGVUZXh0 T3V0LT5Nb2RlLT5Nb2RlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQm9v dFRleHRDb2x1bW4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZCb290VGV4 dFJvdw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgbUJv b3RUZXh0TW9kZUNvbHVtbiA9IChVSU5UMzIpQm9vdFRleHRDb2x1bW47DQo+ICsgICAgICBtQm9v dFRleHRNb2RlUm93ICAgID0gKFVJTlQzMilCb290VGV4dFJvdzsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vIEdldCB1c2VyIGRlZmluZWQgdGV4dCBtb2RlIGZvciBzZXR1cC4N Cj4gKyAgICAvLw0KPiArICAgIG1TZXR1cEhvcml6b250YWxSZXNvbHV0aW9uID0gUGNkR2V0MzIN Cj4gKFBjZFNldHVwVmlkZW9Ib3Jpem9udGFsUmVzb2x1dGlvbik7DQo+ICsgICAgbVNldHVwVmVy dGljYWxSZXNvbHV0aW9uICAgPSBQY2RHZXQzMg0KPiAoUGNkU2V0dXBWaWRlb1ZlcnRpY2FsUmVz b2x1dGlvbik7DQo+ICsgICAgbVNldHVwVGV4dE1vZGVDb2x1bW4gICAgICAgPSBQY2RHZXQzMiAo UGNkU2V0dXBDb25PdXRDb2x1bW4pOw0KPiArICAgIG1TZXR1cFRleHRNb2RlUm93ICAgICAgICAg ID0gUGNkR2V0MzIgKFBjZFNldHVwQ29uT3V0Um93KTsNCj4gKw0KPiArICAgIG1Nb2RlSW5pdGlh bGl6ZWQgICAgICAgICAgID0gVFJVRTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChUaW1lb3V0RGVm YXVsdCAhPSAweGZmZmYpIHsNCj4gKyAgICBTdGF0dXMgPSBTaG93UHJvZ3Jlc3NIb3RLZXkgKFRp bWVvdXREZWZhdWx0KTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gRW5zdXJlIHNjcmVlbiBp cyBjbGVhciB3aGVuIHN3aXRjaCBDb25zb2xlIGZyb20gR3JhcGhpY3MgbW9kZSB0bw0KPiBUZXh0 IG1vZGUNCj4gKyAgICAvLw0KPiArICAgIGdTVC0+Q29uT3V0LT5FbmFibGVDdXJzb3IgKGdTVC0+ Q29uT3V0LCBUUlVFKTsNCj4gKyAgICBnU1QtPkNvbk91dC0+Q2xlYXJTY3JlZW4gKGdTVC0+Q29u T3V0KTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gQm9vdCBMb2dvIGlzIGNvcnJ1cHRlZCwg cmVwb3J0IGl0IHVzaW5nIEJvb3QgTG9nbyBwcm90b2NvbC4NCj4gKyAgICAvLw0KPiArICAgIExv Z29TdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaUJvb3RMb2dvUHJvdG9jb2xHdWlk LCBOVUxMLA0KPiAoVk9JRCAqKikgJkJvb3RMb2dvKTsNCj4gKyAgICBpZiAoIUVGSV9FUlJPUiAo TG9nb1N0YXR1cykgJiYgKEJvb3RMb2dvICE9IE5VTEwpKSB7DQo+ICsgICAgICBCb290TG9nby0+ U2V0Qm9vdExvZ28gKEJvb3RMb2dvLCBOVUxMLCAwLCAwLCAwLCAwKTsNCj4gKyAgICB9DQo+ICsN Cj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAg Ly8gVGltZW91dCBvciB1c2VyIHByZXNzIGVudGVyIHRvIGNvbnRpbnVlDQo+ICsgICAgICAvLw0K PiArICAgICAgZ290byBFeGl0Ow0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIEluc3RhbGwgQk0gSGlpUGFja2FnZXMuDQo+ICsgIC8vIEtlZXAgQm9vdE1haW50IEhpaVBh Y2thZ2UsIHNvIHRoYXQgaXQgY2FuIGJlIGNvdmVyZWQgYnkgZ2xvYmFsIHNldHRpbmcuDQo+ICsg IC8vDQo+ICsJSW5pdEJNUGFja2FnZSAoKTsNCj4gKyAgZG8gew0KPiArDQo+ICsgICAgQmRzU2V0 Q29uc29sZU1vZGUgKFRSVUUpOw0KPiArDQo+ICsgICAgSW5pdGlhbGl6ZUZyb250UGFnZSAoRkFM U0UpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBVcGRhdGUgRnJvbnQgUGFnZSBzdHJpbmdz DQo+ICsgICAgLy8NCj4gKyAgICBVcGRhdGVGcm9udFBhZ2VTdHJpbmdzICgpOw0KPiArDQo+ICsg ICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsgICAgZ0NhbGxiYWNrS2V5ID0gMDsNCj4gKyAg ICBpZiAoZ0hvdEtleSA9PSAwKSB7DQo+ICsgICAgICBTdGF0dXMgPSBDYWxsRnJvbnRQYWdlICgp Ow0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBnQ2FsbGJhY2tLZXkgPSBnSG90S2V5Ow0KPiAr ICAgICAgZ0hvdEtleSA9IDA7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBJ ZiBnQ2FsbGJhY2tLZXkgaXMgZ3JlYXRlciB0aGFuIDEgYW5kIGxlc3Mgb3IgZXF1YWwgdG8gNSwN Cj4gKyAgICAvLyBpdCB3aWxsIGxhdW5jaCBjb25maWd1cmF0aW9uIHV0aWxpdGllcy4NCj4gKyAg ICAvLyAyID0gc2V0IGxhbmd1YWdlDQo+ICsgICAgLy8gMyA9IGJvb3QgbWFuYWdlcg0KPiArICAg IC8vIDQgPSBkZXZpY2UgbWFuYWdlcg0KPiArICAgIC8vIDUgPSBib290IG1haW50ZW5hbmNlIG1h bmFnZXINCj4gKyAgICAvLw0KPiArICAgIGlmIChnQ2FsbGJhY2tLZXkgIT0gMCkgew0KPiArICAg ICAgUkVQT1JUX1NUQVRVU19DT0RFICgNCj4gKyAgICAgICAgRUZJX1BST0dSRVNTX0NPREUsDQo+ ICsgICAgICAgIChFRklfU09GVFdBUkVfRFhFX0JTX0RSSVZFUiB8IEVGSV9TV19QQ19VU0VSX1NF VFVQKQ0KPiArICAgICAgICApOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8g QmFzZWQgb24gdGhlIGtleSB0aGF0IHdhcyBzZXQsIHdlIGNhbiBkZXRlcm1pbmUgd2hhdCB0byBk bw0KPiArICAgIC8vDQo+ICsgICAgc3dpdGNoIChnQ2FsbGJhY2tLZXkpIHsNCj4gKyAgICAvLw0K PiArICAgIC8vIFRoZSBmaXJzdCA0IGVudHJpZXMgaW4gdGhlIEZyb250IFBhZ2UgYXJlIHRvIGJl IEdVQVJBTlRFRUQgdG8gcmVtYWluDQo+IGNvbnN0YW50IHNvIElIVidzIGNhbg0KPiArICAgIC8v IGRlc2NyaWJlIHRvIHRoZWlyIGN1c3RvbWVycyBpbiBkb2N1bWVudGF0aW9uIGhvdyB0byBmaW5k IHRoZWlyIHNldHVwDQo+IGluZm9ybWF0aW9uIChuYW1lbHkNCj4gKyAgICAvLyB1bmRlciB0aGUg ZGV2aWNlIG1hbmFnZXIgYW5kIHNwZWNpZmljIGJ1Y2tldHMpDQo+ICsgICAgLy8NCj4gKyAgICAv LyBUaGVzZSBlbnRyaWVzIGNvbnNpc3Qgb2YgdGhlIENvbnRpbnVlLCBTZWxlY3QgbGFuZ3VhZ2Us IEJvb3QgTWFuYWdlciwNCj4gYW5kIERldmljZSBNYW5hZ2VyDQo+ICsgICAgLy8NCj4gKyAgICBj YXNlIEZST05UX1BBR0VfS0VZX0NPTlRJTlVFOg0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAg Ly8gVXNlciBoaXQgY29udGludWUNCj4gKyAgICAgIC8vDQo+ICsgICAgICBicmVhazsNCj4gKw0K PiArICAgIGNhc2UgRlJPTlRfUEFHRV9LRVlfTEFOR1VBR0U6DQo+ICsNCj4gKyAgICAgIC8vDQo+ ICsgICAgICAvLyBVc2VyIG1hZGUgYSBsYW5ndWFnZSBzZXR0aW5nIGNoYW5nZSAtIGRpc3BsYXkg ZnJvbnQgcGFnZSBhZ2Fpbg0KPiArICAgICAgLy8NCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsg ICAgY2FzZSBGUk9OVF9QQUdFX0tFWV9CT09UX01BTkFHRVI6DQo+ICsgICAgICAvLw0KPiArCSAg Ly8gUmVtb3ZlIHRoZSBpbnN0YWxsZWQgQm9vdE1haW50IEhpaVBhY2thZ2VzIHdoZW4gZXhpdC4N Cj4gKyAgICAgIC8vDQo+ICsgICAgICBGcmVlQk1QYWNrYWdlICgpOw0KPiArDQo+ICsgICAgICAv Lw0KPiArICAgICAgLy8gVXNlciBjaG9zZSB0byBydW4gdGhlIEJvb3QgTWFuYWdlcg0KPiArICAg ICAgLy8NCj4gKyAgICAgIENhbGxCb290TWFuYWdlciAoKTsNCj4gKw0KPiArCSAgLy8NCj4gKyAg ICAgIC8vIFJlaW5zdGFsbCBCb290TWFpbnQgSGlpUGFja2FnZXMgYWZ0ZXIgZXhpdGluZyBmcm9t IEJvb3QgTWFuYWdlci4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBJbml0Qk1QYWNrYWdlICgpOw0K PiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEZST05UX1BBR0VfS0VZX0RFVklDRV9N QU5BR0VSOg0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRGlzcGxheSB0aGUgRGV2aWNl IE1hbmFnZXINCj4gKyAgICAgIC8vDQo+ICsgICAgICBkbyB7DQo+ICsgICAgICAgIENhbGxEZXZp Y2VNYW5hZ2VyICgpOw0KPiArICAgICAgfSB3aGlsZSAoZ0NhbGxiYWNrS2V5ID09IEZST05UX1BB R0VfS0VZX0RFVklDRV9NQU5BR0VSKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2Fz ZSBGUk9OVF9QQUdFX0tFWV9CT09UX01BSU5UQUlOOg0KPiArDQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gRGlzcGxheSB0aGUgQm9vdCBNYWludGVuYW5jZSBNYW5hZ2VyDQo+ICsgICAgICAvLw0K PiArICAgICAgQmRzU3RhcnRCb290TWFpbnQgKCk7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9 DQo+ICsNCj4gKyAgfSB3aGlsZSAoKChVSU5UTilnQ2FsbGJhY2tLZXkpICE9IEZST05UX1BBR0Vf S0VZX0NPTlRJTlVFKTsNCj4gKw0KPiArICAvLw0KPiArICAvL1dpbGwgbGVhdmUgYnJvd3Nlciwg Y2hlY2sgYW55IHJlc2V0IHJlcXVpcmVkIGNoYW5nZSBpcyBhcHBsaWVkPyBpZiB5ZXMsDQo+IHJl c2V0IHN5c3RlbQ0KPiArICAvLw0KPiArICBTZXR1cFJlc2V0UmVtaW5kZXIgKCk7DQo+ICsgIC8v DQo+ICsgIC8vIFJlbW92ZSB0aGUgaW5zdGFsbGVkIEJvb3RNYWludCBIaWlQYWNrYWdlcyB3aGVu IGV4aXQuDQo+ICsgIC8vDQo+ICsgIEZyZWVCTVBhY2thZ2UgKCk7DQo+ICsNCj4gK0V4aXQ6DQo+ ICsgIC8vDQo+ICsgIC8vIEF1dG9tYXRpY2FsbHkgbG9hZCBjdXJyZW50IGVudHJ5DQo+ICsgIC8v IE5vdGU6IFRoZSBmb2xsb3dpbmcgbGluZXMgb2YgY29kZSBvbmx5IGV4ZWN1dGUgd2hlbiBBdXRv IGJvb3QNCj4gKyAgLy8gdGFrZXMgYWZmZWN0DQo+ICsgIC8vDQo+ICsgIFBFUkZfRU5EIChOVUxM LCAiQmRzVGltZU91dCIsICJCRFMiLCAwKTsNCj4gK30NCj4gKw0KPiArDQo+ICtWT0lEDQo+ICtC b290SW50b0Zpcm13YXJlSW50ZXJmYWNlKA0KPiArVk9JRA0KPiArKQ0KPiArew0KPiArICBFRklf U1RBVFVTICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgIERhdGFTaXplOw0K PiArICBVSU5UMTYgICAgICAgICAgICBUaW1lb3V0Ow0KPiArICBVSU5UNjQgICAgICAgICAgICBP c0luZGljYXRpb247DQo+ICsNCj4gKw0KPiArICBPc0luZGljYXRpb24gPSAwOw0KPiArICBEYXRh U2l6ZSA9IHNpemVvZihVSU5UNjQpOw0KPiArICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlICgN Cj4gKyAgICAgICAgICAgICAgICAgIEwiT3NJbmRpY2F0aW9ucyIsDQo+ICsgICAgICAgICAgICAg ICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAgICAgICAgICAmRGF0YVNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAm T3NJbmRpY2F0aW9uDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIERFQlVHICgo RUZJX0RfSU5GTywgIk9TSW5kaWNhdGlvbiBWYXJpYWJsZSBWYWx1ZSAlZFxuIiwgT3NJbmRpY2F0 aW9uKSk7DQo+ICsgIC8vDQo+ICsgIC8vR290byBGcm9udFBhZ2UgZGlyZWN0bHkgd2hlbiBiaXQN Cj4gRUZJX09TX0lORElDQVRJT05TX0JPT1RfVE9fRldfVUkgaW4gT1NJbmRpY2F0aW9uIFZhcmlh YmxlIGlzIHNldHRlZC4NCj4gKyAgLy8NCj4gKyAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSAmJiAo T3NJbmRpY2F0aW9uICE9IDApKSB7DQo+IA0KPiArICAgVGltZW91dCA9IDB4ZmZmZjsNCj4gKyAg IFBsYXRmb3JtQmRzRW50ZXJGcm9udFBhZ2UgKFRpbWVvdXQsIEZBTFNFKTsNCj4gKyAgIH0NCj4g K30NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtQbGF0Zm9ybUJkc0Nvbm5lY3RTaW1wbGVD b25zb2xlICgNCj4gKyAgSU4gQkRTX0NPTlNPTEVfQ09OTkVDVF9FTlRSWSAgICpQbGF0Zm9ybUNv bnNvbGUNCj4gKykNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAg ICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7 DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICAgICAgKlZhckNvbm91dDsNCj4g KyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgICAgICAqVmFyQ29uaW47DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlUGF0aFNpemU7DQo+ICsNCj4g Kw0KPiArICBJbmRleCA9IDA7DQo+ICsgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiArICBEZXZp Y2VQYXRoU2l6ZSA9IDA7DQo+ICsgIFZhckNvbm91dCA9IEJkc0xpYkdldFZhcmlhYmxlQW5kU2l6 ZSAoDQo+ICsgICAgICAgICAgICAgICAgTCJDb25PdXQiLA0KPiArICAgICAgICAgICAgICAgICZn RWZpR2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICZEZXZpY2VQYXRoU2l6 ZQ0KPiArICAgICAgICAgICAgICAgICk7DQo+ICsgIFZhckNvbmluID0gQmRzTGliR2V0VmFyaWFi bGVBbmRTaXplICgNCj4gKyAgICAgICAgICAgICAgIEwiQ29uSW4iLA0KPiArICAgICAgICAgICAg ICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAmRGV2aWNlUGF0 aFNpemUNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChWYXJDb25vdXQgPT0gTlVMTCB8 fCBWYXJDb25pbiA9PSBOVUxMKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBIYXZlIGNoYW5jZSB0 byBjb25uZWN0IHRoZSBwbGF0Zm9ybSBkZWZhdWx0IGNvbnNvbGUsDQo+ICsgICAgLy8gdGhlIHBs YXRmb3JtIGRlZmF1bHQgY29uc29sZSBpcyB0aGUgbWluaW11bSBkZXZpY2UgZ3JvdXANCj4gKyAg ICAvLyB0aGUgcGxhdGZvcm0gc2hvdWxkIHN1cHBvcnQNCj4gKyAgICAvLw0KPiArICAgIHdoaWxl IChQbGF0Zm9ybUNvbnNvbGVbSW5kZXhdLkRldmljZVBhdGggIT0gTlVMTCkgew0KPiArDQo+ICsg ICAgICAvLw0KPiArICAgICAgLy8gVXBkYXRlIHRoZSBjb25zb2xlIHZhcmlhYmxlIHdpdGggdGhl IGNvbm5lY3QgdHlwZQ0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICgoUGxhdGZvcm1Db25zb2xl W0luZGV4XS5Db25uZWN0VHlwZSAmIENPTlNPTEVfSU4pID09DQo+IENPTlNPTEVfSU4pIHsNCj4g KyAgICAgICAgQmRzTGliVXBkYXRlQ29uc29sZVZhcmlhYmxlIChMIkNvbkluIiwNCj4gUGxhdGZv cm1Db25zb2xlW0luZGV4XS5EZXZpY2VQYXRoLCBOVUxMKTsNCj4gKyAgICAgIH0NCj4gKw0KPiAr ICAgICAgaWYgKChQbGF0Zm9ybUNvbnNvbGVbSW5kZXhdLkNvbm5lY3RUeXBlICYgQ09OU09MRV9P VVQpID09DQo+IENPTlNPTEVfT1VUKSB7DQo+ICsgICAgICAgIEJkc0xpYlVwZGF0ZUNvbnNvbGVW YXJpYWJsZSAoTCJDb25PdXQiLA0KPiBQbGF0Zm9ybUNvbnNvbGVbSW5kZXhdLkRldmljZVBhdGgs IE5VTEwpOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBpZiAoKFBsYXRmb3JtQ29uc29sZVtJ bmRleF0uQ29ubmVjdFR5cGUgJiBTVERfRVJST1IpID09IFNURF9FUlJPUikNCj4gew0KPiArICAg ICAgICBCZHNMaWJVcGRhdGVDb25zb2xlVmFyaWFibGUgKEwiRXJyT3V0IiwNCj4gUGxhdGZvcm1D b25zb2xlW0luZGV4XS5EZXZpY2VQYXRoLCBOVUxMKTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAg ICAgSW5kZXggKys7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ29u bmVjdCBDb25JbiBmaXJzdCB0byBnaXZlIGtleWJvYXJkIHRpbWUgdG8gcGFyc2UgaG90IGtleSBl dmVudC4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gQmRzTGliQ29ubmVjdENvbnNvbGVWYXJpYWJs ZSAoTCJDb25JbiIpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0 dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2Ugc3VyZSB3ZSBo YXZlIGF0IGxlYXN0IG9uZSBhY3RpdmUgVkdBLCBhbmQgaGF2ZSB0aGUgcmlnaHQNCj4gKyAgLy8g YWN0aXZlIFZHQSBpbiBjb25zb2xlIHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IFBs YXRmb3JtQmRzRm9yY2VBY3RpdmVWZ2EgKCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSXQgc2Vl bXMgaW1wb3NzaWJsZSBub3QgdG8gaGF2ZSBhbnkgQ29uT3V0IGRldmljZSBvbiBwbGF0Zm9ybSwN Cj4gKyAgLy8gc28gd2UgY2hlY2sgdGhlIHN0YXR1cyBoZXJlLg0KPiArICAvLw0KPiArICBTdGF0 dXMgPSBCZHNMaWJDb25uZWN0Q29uc29sZVZhcmlhYmxlIChMIkNvbk91dCIpOw0KPiArICBpZiAo RUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiAr DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAg VGltZXIgaGFuZGxlciB0byBjb252ZXJ0IHRoZSBrZXkgZnJvbSBVU0IuDQo+ICsNCj4gKyAgQHBh cmFtICBFdmVudCAgICAgICAgICAgICAgICAgICAgSW5kaWNhdGVzIHRoZSBldmVudCB0aGF0IGlu dm9rZSB0aGlzIGZ1bmN0aW9uLg0KPiArICBAcGFyYW0gIENvbnRleHQgICAgICAgICAgICAgICAg ICBJbmRpY2F0ZXMgdGhlIGNhbGxpbmcgY29udGV4dC4NCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJ QVBJDQo+ICtIb3RLZXlUaW1lckhhbmRsZXIgKA0KPiArICBJTiAgRUZJX0VWRU5UICAgICAgICAg ICAgICAgICBFdmVudCwNCj4gKyAgSU4gIFZPSUQgICAgICAgICAgICAgICAgICAgICAgKkNvbnRl eHQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0 dXM7DQo+ICsgIEVGSV9JTlBVVF9LRVkgICAgICAgICAgICAgICAgIEtleTsNCj4gKw0KPiArICBT dGF0dXMgPSBnU1QtPkNvbkluLT5SZWFkS2V5U3Ryb2tlIChnU1QtPkNvbkluLCAmS2V5KTsNCj4g KyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiAr DQo+ICsgIHN3aXRjaChLZXkuU2NhbkNvZGUpIHsNCj4gKyAgY2FzZSBTQ0FOX0YyOg0KPiArICAg IGdIb3RLZXkgPSAwOw0KPiArICAgIG1Ib3RLZXlQcmVzc2VkID0gVFJVRTsNCj4gKyAgICBicmVh azsNCj4gKw0KPiArICBjYXNlIFNDQU5fRjU6DQo+ICsgICAgZ0hvdEtleSA9IEZST05UX1BBR0Vf S0VZX0RFVklDRV9NQU5BR0VSOw0KPiArICAgIG1Ib3RLZXlQcmVzc2VkID0gVFJVRTsNCj4gKyAg ICBicmVhazsNCj4gKw0KPiArICBjYXNlIFNDQU5fRjc6DQo+ICsgICAgZ0hvdEtleSA9IEZST05U X1BBR0VfS0VZX0JPT1RfTUFOQUdFUjsNCj4gKyAgICBtSG90S2V5UHJlc3NlZCA9IFRSVUU7DQo+ ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBTQ0FOX0Y5Og0KPiArICAgIGdIb3RLZXkgPSBG Uk9OVF9QQUdFX0tFWV9CT09UX01BSU5UQUlOOw0KPiArICAgIG1Ib3RLZXlQcmVzc2VkID0gVFJV RTsNCj4gKyAgICBicmVhazsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChtSG90S2V5UHJlc3NlZCkg ew0KPiArICAgIGdCUy0+U2V0VGltZXIgKA0KPiArICAgICAgICAgICBtSG90S2V5VGltZXJFdmVu dCwNCj4gKyAgICAgICAgICAgVGltZXJDYW5jZWwsDQo+ICsgICAgICAgICAgIDANCj4gKyAgICAg ICAgICAgKTsNCj4gKyAgICBnQlMtPkNsb3NlRXZlbnQgKG1Ib3RLZXlUaW1lckV2ZW50KTsNCj4g KyAgICBtSG90S2V5VGltZXJFdmVudCA9IE5VTEw7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm47 DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIENhbGxiYWNrIGZ1bmN0aW9uIGZvciBTaW1w bGVUZXh0SW5FeCBwcm90b2NvbCBpbnN0YWxsIGV2ZW50cw0KPiArDQo+ICsgIEBwYXJhbSBFdmVu dCAgICAgICAgICAgdGhlIGV2ZW50IHRoYXQgaXMgc2lnbmFsZWQuDQo+ICsgIEBwYXJhbSBDb250 ZXh0ICAgICAgICAgbm90IHVzZWQgaGVyZS4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklB UEkNCj4gK0hpdEhvdGtleUV2ZW50ICgNCj4gKyAgSU4gRUZJX0VWRU5UICAgIEV2ZW50LA0KPiAr ICBJTiBWT0lEICAgICAgICAgKkNvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiArICBTdGF0dXMgPSBnQlMt PkNsb3NlRXZlbnQobUhpdEhvdGtleUV2ZW50KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2 ZW50ICgNCj4gKyAgICAgICAgICAgICAgICAgIEVWVF9USU1FUiB8IEVWVF9OT1RJRllfU0lHTkFM LA0KPiArICAgICAgICAgICAgICAgICAgVFBMX05PVElGWSwNCj4gKyAgICAgICAgICAgICAgICAg IEhvdEtleVRpbWVySGFuZGxlciwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgICAgICAmbUhvdEtleVRpbWVyRXZlbnQNCj4gKyAgICAgICAgICAgICAgICAgICk7 DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0N Cj4gKyAgU3RhdHVzID0gZ0JTLT5TZXRUaW1lciAoDQo+ICsgICAgICAgICAgICAgICAgICBtSG90 S2V5VGltZXJFdmVudCwNCj4gKyAgICAgICAgICAgICAgICAgIFRpbWVyUGVyaW9kaWMsDQo+ICsg ICAgICAgICAgICAgICAgICBLRVlCT0FSRF9USU1FUl9JTlRFUlZBTA0KPiArICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybjsN Cj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybjsNCj4gK30NCj4gKw0KPiArDQo+ICtWT0lEDQo+ICtF RklBUEkNCj4gK1BsYXRmb3JtQmRzSW5pdEhvdEtleUV2ZW50ICgNCj4gKyAgVk9JRA0KPiArICAp DQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gUmVnaXN0ZXIgUHJvdG9jb2wgbm90aWZ5IGZvciBIb3RrZXkgc2VydmljZQ0KPiArICAvLw0K PiArICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50ICgNCj4gKyAgICAgICAgICAgICAgICAgIEVW VF9OT1RJRllfU0lHTkFMLA0KPiArICAgICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KPiAr ICAgICAgICAgICAgICAgICAgSGl0SG90a2V5RXZlbnQsDQo+ICsgICAgICAgICAgICAgICAgICBO VUxMLA0KPiArICAgICAgICAgICAgICAgICAgJm1IaXRIb3RrZXlFdmVudA0KPiArICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBSZWdpc3RlciBmb3IgcHJvdG9jb2wgbm90aWZpY2F0aW9ucyBvbiB0aGlzIGV2 ZW50DQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+UmVnaXN0ZXJQcm90b2NvbE5vdGlmeSAo DQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaVNpbXBsZVRleHRJbnB1dEV4UHJvdG9jb2xHdWlk LA0KPiArICAgICAgICAgICAgICAgICAgbUhpdEhvdGtleUV2ZW50LA0KPiArICAgICAgICAgICAg ICAgICAgJm1IaXRIb3RrZXlSZWdpc3RyYXRpb24NCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL0Jk c1BsYXRmb3JtLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L1BsYXRmb3JtQmRzTGliL0Jkc1BsYXRmb3JtLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uYjViYjUxOTc0Nw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGxhdGZvcm1CZHNMaWIv QmRzUGxhdGZvcm0uaA0KPiBAQCAtMCwwICsxLDUxNiBAQA0KPiArLyorKw0KPiArDQo+ICsgIENv cHlyaWdodCAoYykgMjAwNCAgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBCZHNQbGF0Zm9ybS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEhl YWQgZmlsZSBmb3IgQkRTIFBsYXRmb3JtIHNwZWNpZmljIGNvZGUNCj4gKw0KPiArLS0qLw0KPiAr DQo+ICsjaWZuZGVmIF9CRFNfUExBVEZPUk1fSA0KPiArI2RlZmluZSBfQkRTX1BMQVRGT1JNX0gN Cj4gKw0KPiArI2luY2x1ZGUgPEZyYW1ld29ya0R4ZS5oPg0KPiArDQo+ICsjaW5jbHVkZSA8UHJv dG9jb2wvRmlybXdhcmVWb2x1bWUyLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRGV2aWNlUGF0 aC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1NpbXBsZU5ldHdvcmsuaD4NCj4gKyNpbmNsdWRl IDxQcm90b2NvbC9QY2lSb290QnJpZGdlSW8uaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9Mb2Fk RmlsZS5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0xlZ2FjeUJpb3MuaD4NCj4gKyNpbmNsdWRl IDxQcm90b2NvbC9QY2lJby5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1NtbUFjY2VzczIuaD4N Cj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EeGVTbW1SZWFkeVRvTG9jay5oPg0KPiArI2luY2x1ZGUg PFByb3RvY29sL1VzZXJNYW5hZ2VyLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRGVmZXJyZWRJ bWFnZUxvYWQuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9BY3BpUzNTYXZlLmg+DQo+ICsjaW5j bHVkZSA8UHJvdG9jb2wvRXhpdFBtQXV0aC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL01taW9E ZXZpY2UuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9JMmNCdXNNY2cuaD4NCj4gKyNpbmNsdWRl IDxQcm90b2NvbC9JMmNIb3N0TWNnLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9DYXBzdWxlVmVuZG9y Lmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9NZW1vcnlUeXBlSW5mb3JtYXRpb24uaD4NCj4gKyNpbmNs dWRlIDxHdWlkL0dsb2JhbFZhcmlhYmxlLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9EZWJ1Z0FnZW50 R3VpZC5oPg0KPiArDQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9V ZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlSdW50 aW1lU2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxsb2Nh dGlvbkxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1ZGUg PExpYnJhcnkvUGNkTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvR2VuZXJpY0Jkc0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGxh dGZvcm1CZHNMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RldmljZVBhdGhMaWIuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0hvYkxp Yi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUHJpbnRMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJy YXJ5L1BlcmZvcm1hbmNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9SZXBvcnRTdGF0dXND b2RlTGliLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL1BjaS5oPg0KPiAr DQo+ICtleHRlcm4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqZ1BsYXRmb3JtUm9vdEJyaWRn ZXMgW107DQo+ICtleHRlcm4gQkRTX0NPTlNPTEVfQ09OTkVDVF9FTlRSWSBnUGxhdGZvcm1Db25z b2xlIFtdOw0KPiArZXh0ZXJuIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKmdQbGF0Zm9ybUFs bFBvc3NpYmxlUGNpVmdhQ29uc29sZQ0KPiBbXTsNCj4gK2V4dGVybiBFRklfREVWSUNFX1BBVEhf UFJPVE9DT0wgICpnUGxhdGZvcm1Db25uZWN0U2VxdWVuY2UgW107DQo+ICtleHRlcm4gRUZJX0RF VklDRV9QQVRIX1BST1RPQ09MICAqZ1BsYXRmb3JtRHJpdmVyT3B0aW9uIFtdOw0KPiArZXh0ZXJu IEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKmdQbGF0Zm9ybUJvb3RPcHRpb24gW107DQo+ICtl eHRlcm4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqZ1VzZXJBdXRoZW50aWNhdGlvbkRldmlj ZVtdOw0KPiArZXh0ZXJuIEJEU19DT05TT0xFX0NPTk5FQ1RfRU5UUlkgZ1BsYXRmb3JtU2ltcGxl Q29uc29sZSBbXTsNCj4gK2V4dGVybiBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpnUGxhdGZv cm1TaW1wbGVCb290T3B0aW9uIFtdOw0KPiArDQo+ICtleHRlcm4gQk9PTEVBTiBtRW51bUJvb3RE ZXZpY2U7DQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIHRoZSBzaG9ydCBmb3JtIGRldmljZSBwYXRo IGZvciBVc2Iga2V5Ym9hcmQNCj4gKy8vDQo+ICsjZGVmaW5lIENMQVNTX0hJRCAgICAgICAgICAg Mw0KPiArI2RlZmluZSBTVUJDTEFTU19CT09UICAgICAgIDENCj4gKyNkZWZpbmUgUFJPVE9DT0xf S0VZQk9BUkQgICAxDQo+ICsNCj4gKyNkZWZpbmUgUENJX0RFVklDRV9QQVRIX05PREUoRnVuYywg RGV2KSBcDQo+ICsgIHsgXA0KPiArICAgIEhBUkRXQVJFX0RFVklDRV9QQVRILCBcDQo+ICsgICAg SFdfUENJX0RQLCBcDQo+ICsgICAgeyBcDQo+ICsgICAgICAoVUlOVDgpIChzaXplb2YgKFBDSV9E RVZJQ0VfUEFUSCkpLCBcDQo+ICsgICAgICAoVUlOVDgpICgoc2l6ZW9mIChQQ0lfREVWSUNFX1BB VEgpKSA+PiA4KSBcDQo+ICsgICAgfSwgXA0KPiArICAgIChGdW5jKSwgXA0KPiArICAgIChEZXYp IFwNCj4gKyAgfQ0KPiArDQo+ICsjZGVmaW5lIFBOUElEX0RFVklDRV9QQVRIX05PREUoUG5wSWQp IFwNCj4gKyAgeyBcDQo+ICsgICAgeyBcDQo+ICsgICAgICBBQ1BJX0RFVklDRV9QQVRILCBcDQo+ ICsgICAgICBBQ1BJX0RQLCBcDQo+ICsgICAgICB7IFwNCj4gKyAgICAgICAgKFVJTlQ4KSAoc2l6 ZW9mIChBQ1BJX0hJRF9ERVZJQ0VfUEFUSCkpLCBcDQo+ICsgICAgICAgIChVSU5UOCkgKChzaXpl b2YgKEFDUElfSElEX0RFVklDRV9QQVRIKSkgPj4gOCkgXA0KPiArICAgICAgfSBcDQo+ICsgICAg fSwgXA0KPiArICAgIEVJU0FfUE5QX0lEKChQbnBJZCkpLCBcDQo+ICsgICAgMCBcDQo+ICsgIH0N Cj4gKw0KPiArI2RlZmluZSBnVWFydChCYXVkUmF0ZSwgRGF0YUJpdHMsIFBhcml0eSwgU3RvcEJp dHMpIFwNCj4gKyAgeyBcDQo+ICsgICAgeyBcDQo+ICsgICAgICBNRVNTQUdJTkdfREVWSUNFX1BB VEgsIFwNCj4gKyAgICAgIE1TR19VQVJUX0RQLCBcDQo+ICsgICAgICB7IFwNCj4gKyAgICAgICAg KFVJTlQ4KSAoc2l6ZW9mIChVQVJUX0RFVklDRV9QQVRIKSksIFwNCj4gKyAgICAgICAgKFVJTlQ4 KSAoKHNpemVvZiAoVUFSVF9ERVZJQ0VfUEFUSCkpID4+IDgpIFwNCj4gKyAgICAgIH0gXA0KPiAr ICAgIH0sIFwNCj4gKyAgICAwLCBcDQo+ICsgICAgKEJhdWRSYXRlKSwgXA0KPiArICAgIChEYXRh Qml0cyksIFwNCj4gKyAgICAoUGFyaXR5KSwgXA0KPiArICAgIChTdG9wQml0cykgXA0KPiArICB9 DQo+ICsNCj4gKyNkZWZpbmUgZ1BjQW5zaVRlcm1pbmFsIFwNCj4gKyAgeyBcDQo+ICsgICAgeyBc DQo+ICsgICAgICBNRVNTQUdJTkdfREVWSUNFX1BBVEgsIFwNCj4gKyAgICAgIE1TR19WRU5ET1Jf RFAsIFwNCj4gKyAgICAgIHsgXA0KPiArICAgICAgICAoVUlOVDgpIChzaXplb2YgKFZFTkRPUl9E RVZJQ0VfUEFUSCkpLCBcDQo+ICsgICAgICAgIChVSU5UOCkgKChzaXplb2YgKFZFTkRPUl9ERVZJ Q0VfUEFUSCkpID4+IDgpIFwNCj4gKyAgICAgIH0gXA0KPiArICAgIH0sIFwNCj4gKyAgICBERVZJ Q0VfUEFUSF9NRVNTQUdJTkdfUENfQU5TSSBcDQo+ICsgIH0NCj4gKw0KPiArI2RlZmluZSBnVXNi S2V5Ym9hcmRNb3VzZSBcDQo+ICsgIHsgXA0KPiArICAgIHsgXA0KPiArICAgICAgTUVTU0FHSU5H X0RFVklDRV9QQVRILCBcDQo+ICsgICAgICBNU0dfVVNCX0NMQVNTX0RQLCBcDQo+ICsgICAgICAo VUlOVDgpIChzaXplb2YgKFVTQl9DTEFTU19ERVZJQ0VfUEFUSCkpLCBcDQo+ICsgICAgICAoVUlO VDgpICgoc2l6ZW9mIChVU0JfQ0xBU1NfREVWSUNFX1BBVEgpKSA+PiA4KSBcDQo+ICsgICAgfSwg XA0KPiArICAgIDB4ZmZmZiwgXA0KPiArICAgIDB4ZmZmZiwgXA0KPiArICAgIENMQVNTX0hJRCwg XA0KPiArICAgIFNVQkNMQVNTX0JPT1QsIFwNCj4gKyAgICBQUk9UT0NPTF9LRVlCT0FSRCBcDQo+ ICsgIH0NCj4gKw0KPiArI2RlZmluZSBnRW5kRW50aXJlIFwNCj4gKyAgeyBcDQo+ICsgICAgRU5E X0RFVklDRV9QQVRIX1RZUEUsIFwNCj4gKyAgICBFTkRfRU5USVJFX0RFVklDRV9QQVRIX1NVQlRZ UEUsIFwNCj4gKyAgICB7IFwNCj4gKyAgICAgIEVORF9ERVZJQ0VfUEFUSF9MRU5HVEgsIFwNCj4g KyAgICAgIDAgXA0KPiArICAgIH0gXA0KPiArICB9DQo+ICsNCj4gKyNkZWZpbmUgZ1BjaVJvb3RC cmlkZ2UgXA0KPiArICBQTlBJRF9ERVZJQ0VfUEFUSF9OT0RFKDB4MEEwMykNCj4gKw0KPiArI2Rl ZmluZSBnUG5wUHMyS2V5Ym9hcmQgXA0KPiArICBQTlBJRF9ERVZJQ0VfUEFUSF9OT0RFKDB4MDMw MykNCj4gKw0KPiArI2RlZmluZSBnUG5wMTY1NTBDb21Qb3J0IFwNCj4gKyAgUE5QSURfREVWSUNF X1BBVEhfTk9ERSgweDA1MDEpDQo+ICsNCj4gKyNkZWZpbmUgZ1BjaWVQb3J0MEJyaWRnZSBcDQo+ ICsgIFBDSV9ERVZJQ0VfUEFUSF9OT0RFKDAsIDB4MUMpDQo+ICsNCj4gKyNkZWZpbmUgZ1BjaWVQ b3J0MUJyaWRnZSBcDQo+ICsgIFBDSV9ERVZJQ0VfUEFUSF9OT0RFKDEsIDB4MUMpDQo+ICsNCj4g KyNkZWZpbmUgZ1BjaWVQb3J0MkJyaWRnZSBcDQo+ICsgIFBDSV9ERVZJQ0VfUEFUSF9OT0RFKDIs IDB4MUMpDQo+ICsNCj4gKyNkZWZpbmUgZ1BjaWVQb3J0M0JyaWRnZSBcDQo+ICsgIFBDSV9ERVZJ Q0VfUEFUSF9OT0RFKDMsIDB4MUMpDQo+ICsNCj4gKyNkZWZpbmUgZ1BjaUlzYUJyaWRnZSBcDQo+ ICsgIFBDSV9ERVZJQ0VfUEFUSF9OT0RFKDAsIDB4MWYpDQo+ICsNCj4gKy8vDQo+ICsvLyBQbGF0 Zm9ybSBSb290IEJyaWRnZQ0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgQUNQSV9I SURfREVWSUNFX1BBVEggICAgICBQY2lSb290QnJpZGdlOw0KPiArICBFRklfREVWSUNFX1BBVEhf UFJPVE9DT0wgIEVuZDsNCj4gK30gUExBVEZPUk1fUk9PVF9CUklER0VfREVWSUNFX1BBVEg7DQo+ ICsNCj4gKy8vDQo+ICsvLyBCZWxvdyBpcyB0aGUgcGxhdGZvcm0gY29uc29sZSBkZXZpY2UgcGF0 aA0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgQUNQSV9ISURfREVWSUNFX1BBVEgg ICAgICBQY2lSb290QnJpZGdlOw0KPiArICBQQ0lfREVWSUNFX1BBVEggICAgICAgICAgIElzYUJy aWRnZTsNCj4gKyAgQUNQSV9ISURfREVWSUNFX1BBVEggICAgICBLZXlib2FyZDsNCj4gKyAgRUZJ X0RFVklDRV9QQVRIX1BST1RPQ09MICBFbmQ7DQo+ICt9IFBMQVRGT1JNX0lTQV9LRVlCT0FSRF9E RVZJQ0VfUEFUSDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBWRU5ET1JfREVWSUNF X1BBVEggICAgICAgICAgICAgVmVuZG9yRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRI X1BST1RPQ09MICAgICAgIEVuZDsNCj4gK30gSElJX1ZFTkRPUl9ERVZJQ0VfUEFUSDsNCj4gKw0K PiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVU0JfQ0xBU1NfREVWSUNFX1BBVEggICAgICAgICAg IFVzYkNsYXNzOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAgIEVuZDsNCj4g K30gVVNCX0NMQVNTX0ZPUk1BVF9ERVZJQ0VfUEFUSDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qg ew0KPiArICBBQ1BJX0hJRF9ERVZJQ0VfUEFUSCAgICAgIFBjaVJvb3RCcmlkZ2U7DQo+ICsgIFBD SV9ERVZJQ0VfUEFUSCAgICAgICAgICAgT25ib2FyZFZnYTsNCj4gKyAgRUZJX0RFVklDRV9QQVRI X1BST1RPQ09MICBFbmQ7DQo+ICt9IFBMQVRGT1JNX09OQk9BUkRfVkdBX0RFVklDRV9QQVRIOw0K PiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEFDUElfSElEX0RFVklDRV9QQVRIICAgICAg UGNpUm9vdEJyaWRnZTsNCj4gKyAgUENJX0RFVklDRV9QQVRIICAgICAgICAgICBBZ3BCcmlkZ2U7 DQo+ICsgIFBDSV9ERVZJQ0VfUEFUSCAgICAgICAgICAgQWdwRGV2aWNlOw0KPiArICBFRklfREVW SUNFX1BBVEhfUFJPVE9DT0wgIEVuZDsNCj4gK30gUExBVEZPUk1fT0ZGQk9BUkRfVkdBX0RFVklD RV9QQVRIOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEFDUElfSElEX0RFVklDRV9Q QVRIICAgICAgUGNpUm9vdEJyaWRnZTsNCj4gKyAgUENJX0RFVklDRV9QQVRIICAgICAgICAgICBJ c2FCcmlkZ2U7DQo+ICsgIEFDUElfSElEX0RFVklDRV9QQVRIICAgICAgSXNhU2VyaWFsOw0KPiAr ICBVQVJUX0RFVklDRV9QQVRIICAgICAgICAgIFVhcnQ7DQo+ICsgIFZFTkRPUl9ERVZJQ0VfUEFU SCAgICAgICAgVGVybWluYWxUeXBlOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgIEVu ZDsNCj4gK30gUExBVEZPUk1fSVNBX1NFUklBTF9ERVZJQ0VfUEFUSDsNCj4gKw0KPiArLy8NCj4g Ky8vIEJlbG93IGlzIHRoZSBib290IG9wdGlvbiBkZXZpY2UgcGF0aA0KPiArLy8NCj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gKyAgQkJTX0JCU19ERVZJQ0VfUEFUSCAgICAgICAgICAgICBMZWdhY3lI RDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgICBFbmQ7DQo+ICt9IExFR0FD WV9IRF9ERVZJQ0VfUEFUSDsNCj4gKw0KPiArLy8NCj4gKy8vIEJlbG93IGlzIHRoZSBwbGF0Zm9y bSBJREUgZGV2aWNlIHBhdGgNCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEFDUElf SElEX0RFVklDRV9QQVRIICAgICAgUGNpUm9vdEJyaWRnZTsNCj4gKyAgUENJX0RFVklDRV9QQVRI ICAgICAgICAgICBJc2FCcmlkZ2U7DQo+ICsgIEFUQVBJX0RFVklDRV9QQVRIICAgICAgICAgSWRl Ow0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgIEVuZDsNCj4gK30gUExBVEZPUk1fSURF X0RFVklDRV9QQVRIOw0KPiArDQo+ICsvLw0KPiArLy8gRmxvcHB5IGRldmljZSBwYXRoIGRlZmlu aXRpb24NCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEFDUElfSElEX0RFVklDRV9Q QVRIICAgICAgUGNpUm9vdEJyaWRnZTsNCj4gKyAgUENJX0RFVklDRV9QQVRIICAgICAgICAgICBJ c2FCcmlkZ2U7DQo+ICsgIEFDUElfSElEX0RFVklDRV9QQVRIICAgICAgRmxvcHB5Ow0KPiArICBF RklfREVWSUNFX1BBVEhfUFJPVE9DT0wgIEVuZDsNCj4gK30gUExBVEZPUk1fRkxPUFBZX0RFVklD RV9QQVRIOw0KPiArDQo+ICsvLw0KPiArLy8gQmVsb3cgaXMgdGhlIHBsYXRmb3JtIFVTQiBjb250 cm9sbGVyIGRldmljZSBwYXRoIGZvcg0KPiArLy8gVVNCIGRpc2sgYXMgdXNlciBhdXRoZW50aWNh dGlvbiBkZXZpY2UuDQo+ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBBQ1BJX0hJRF9E RVZJQ0VfUEFUSCAgICAgIFBjaVJvb3RCcmlkZ2U7DQo+ICsgIFBDSV9ERVZJQ0VfUEFUSCAgICAg ICAgICAgUGNpRGV2aWNlOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgIEVuZDsNCj4g K30gUExBVEZPUk1fVVNCX0RFVklDRV9QQVRIOw0KPiArDQo+ICsvLw0KPiArLy8gRGVidWcgQWdl bnQgVUFSVCBDb25zb2xlIGRldmljZSBwYXRoIGRlZmluaXRpb24NCj4gKy8vDQo+ICt0eXBlZGVm IHN0cnVjdCB7DQo+ICsgIFZFTkRPUl9ERVZJQ0VfUEFUSCAgICAgICAgVmVuZG9ySGFyZHdhcmU7 DQo+ICsgIFVBUlRfREVWSUNFX1BBVEggICAgICAgICAgVWFydDsNCj4gKyAgVkVORE9SX0RFVklD RV9QQVRIICAgICAgICBUZXJtaW5hbFR5cGU7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NP TCAgRW5kOw0KPiArfSBWRU5ET1JfVUFSVF9ERVZJQ0VfUEFUSDsNCj4gKw0KPiArLy8NCj4gKy8v IEJlbG93IGlzIHRoZSBwbGF0Zm9ybSBQQ0kgZGV2aWNlIHBhdGgNCj4gKy8vDQo+ICt0eXBlZGVm IHN0cnVjdCB7DQo+ICsgIEFDUElfSElEX0RFVklDRV9QQVRIICAgICAgUGNpUm9vdEJyaWRnZTsN Cj4gKyAgUENJX0RFVklDRV9QQVRIICAgICAgICAgICBQY2lEZXZpY2U7DQo+ICsgIEVGSV9ERVZJ Q0VfUEFUSF9QUk9UT0NPTCAgRW5kOw0KPiArfSBQTEFURk9STV9QQ0lfREVWSUNFX1BBVEg7DQo+ ICsNCj4gK3R5cGVkZWYgZW51bSB7DQo+ICsgIFBNSUNfRXF1YWwgICAgICAgICA9IDAsIC8vID0J CTANCj4gKyAgUE1JQ19HcmVhdGVyX1RoYW4sCSAgLy8gPgkJMQ0KPiArICBQTUlDX1NtYWxsZXJf VGhhbiwJICAvLyA8CQkyDQo+ICsgIFBNSUNfR3JlYXRlcl9FcXVhbCwJICAvLyA+PQkJMw0KPiAr ICBQTUlDX1NtYWxsZXJfRXF1YWwsCSAgLy8gPD0JCTQNCj4gKyAgUE1JQ19BbnkJCQkJICAvLyBk b24ndCBjYXJlIDUNCj4gK30gUE1JQ19Db25kaXRpb25fbGlzdDsNCj4gKw0KPiArdHlwZWRlZiBl bnVtIHsNCj4gKyAgUE1JQ19XaGl0ZV9MaXN0CT0gMCwgIC8vV2hpdGUgbGlzdA0KPiArICBQTUlD X0JsYWNrX0xpc3QJPSAxICAgLy9CbGFjayBsaXN0DQo+ICt9IFBNSUNfQ29tcGxpYW5jZV9tb2Rl Ow0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4CQlDb25kX0Nob2ljZTsJLy8g UE1JQ19Db25kaXRpb25fbGlzdA0KPiArICBVSU5UOAkJQ29uZF9OdW1iZXI7CQkvLyB0aGUgbnVt YmVyDQo+ICt9UE1JQ19Db25kaXRpb25fSXRlbTsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0K PiArICBQTUlDX0NvbmRpdGlvbl9JdGVtDQo+IAlQTUlDX0JvYXJkSUQ7DQo+ICsgIFBNSUNfQ29u ZGl0aW9uX0l0ZW0gICAJCQkJCVBNSUNfRmFiSUQ7DQo+ICsgIFBNSUNfQ29uZGl0aW9uX0l0ZW0N Cj4gCVNvY19TdGVwcGluZzsvL2RlZmluZSBQTUlDIHR5cGUsIDE6RGlhbG9nICwgMjpSb2htDQo+ ICsgIFBNSUNfQ29uZGl0aW9uX0l0ZW0NCj4gCVBNSUNfVmVuZElEOw0KPiArICBQTUlDX0NvbmRp dGlvbl9JdGVtICAgCQkJCQlQTUlDX1JldklEOw0KPiArICBQTUlDX0NvbXBsaWFuY2VfbW9kZSAJ CQkJICAgICAgICBtb2RlOyAgICAgICAgLy9pZiAxLA0KPiBibGFja2xpc3Q7IGlmIDAsIHdoaXRl IGxpc3QuDQo+ICt9IFBNSUNfQ29tcGxpYW5jZV9JdGVtOw0KPiArDQo+ICsvLw0KPiArLy8gUGxh dGZvcm0gQkRTIEZ1bmN0aW9ucw0KPiArLy8NCj4gK1ZPSUQNCj4gK1BsYXRmb3JtQmRzR2V0RHJp dmVyT3B0aW9uICgNCj4gKyAgSU4gTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgICAqQmRzRHJp dmVyTGlzdHMNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArUGxhdGZvcm1CZHNQcmVkaWN0Qm9v dE9wdGlvbiAoDQo+ICsgIElOICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgICAgKkJkc0Jv b3RPcHRpb25MaXN0DQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1BsYXRmb3JtQmRz U2hvd1Byb2dyZXNzICgNCj4gKyAgRUZJX0dSQVBISUNTX09VVFBVVF9CTFRfUElYRUwgVGl0bGVG b3JlZ3JvdW5kLA0KPiArICBFRklfR1JBUEhJQ1NfT1VUUFVUX0JMVF9QSVhFTCBUaXRsZUJhY2tn cm91bmQsDQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICpUaXRsZSwNCj4gKyAg RUZJX0dSQVBISUNTX09VVFBVVF9CTFRfUElYRUwgUHJvZ3Jlc3NDb2xvciwNCj4gKyAgVUlOVE4g ICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3Jlc3MsDQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgIFByZXZpb3VzVmFsdWUNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArUGxh dGZvcm1CZHNDb25uZWN0U2VxdWVuY2UgKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gK0VG SV9TVEFUVVMNCj4gK1BsYXRmb3JtQmRzQ29ubmVjdENvbnNvbGUgKA0KPiArICBJTiBCRFNfQ09O U09MRV9DT05ORUNUX0VOVFJZICAgKlBsYXRmb3JtQ29uc29sZQ0KPiArICApOw0KPiArDQo+ICtF RklfU1RBVFVTDQo+ICtQbGF0Zm9ybUJkc05vQ29uc29sZUFjdGlvbiAoDQo+ICsgIFZPSUQNCj4g KyAgKTsNCj4gKw0KPiArVk9JRA0KPiArUGxhdGZvcm1CZHNFbnRlckZyb250UGFnZSAoDQo+ICsg IElOIFVJTlQxNiAgICAgICAgICAgICAgICAgVGltZW91dERlZmF1bHQsDQo+ICsgIElOIEJPT0xF QU4gICAgICAgICAgICAgICAgQ29ubmVjdEFsbEhhcHBlbmVkDQo+ICsgICk7DQo+ICsNCj4gK1ZP SUQNCj4gK0VGSUFQSQ0KPiArUGxhdGZvcm1CZHNVc2VySWRlbnRpZnkgKA0KPiArICBPVVQgRUZJ X1VTRVJfUFJPRklMRV9IQU5ETEUgICAgICAgICpVc2VyLA0KPiArICBPVVQgQk9PTEVBTiAgICAg ICAgICAgICAgICAgICAgICAgICpEZWZlcnJlZEltYWdlDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQN Cj4gK0VGSUFQSQ0KPiArUGxhdGZvcm1CZHNDb25uZWN0QXV0aERldmljZSAoDQo+ICsgIFZPSUQN Cj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArUGxhdGZvcm1CZHNFbnRlckZyb250UGFnZVdpdGhI b3RLZXkgKA0KPiArICBJTiBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgIFRpbWVvdXREZWZh dWx0LA0KPiArICBJTiBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgIENvbm5lY3RBbGxIYXBw ZW5lZA0KPiArICApOw0KPiArDQo+ICsgRUZJX1NUQVRVUw0KPiArIFNob3dQcm9ncmVzcyAoDQo+ ICsgICBJTiBVSU5UMTYJCQkJCSAgIFRpbWVvdXREZWZhdWx0DQo+ICsgICApOw0KPiArDQo+ICsg RUZJX1NUQVRVUw0KPiArIEluaXRpYWxpemVGcm9udFBhZ2UgKA0KPiArICAgSU4gQk9PTEVBTgkJ CQkJCSAgSW5pdGlhbGl6ZUhpaURhdGENCj4gKyAgICk7DQo+ICsNCj4gKyBWT0lEDQo+ICsgVXBk YXRlRnJvbnRQYWdlU3RyaW5ncyAoDQo+ICsgICBWT0lEDQo+ICsgICApOw0KPiArDQo+ICsNCj4g KyBFRklfU1RBVFVTDQo+ICsgSW5pdEJNUGFja2FnZSAgKA0KPiArICAgVk9JRA0KPiArICAgKTsN Cj4gKw0KPiArDQo+ICsgVk9JRA0KPiArIEZyZWVCTVBhY2thZ2UgICgNCj4gKyAgIFZPSUQNCj4g KyAgICk7DQo+ICsNCj4gKw0KPiArIEVGSV9TVEFUVVMNCj4gKyBDYWxsRnJvbnRQYWdlICgNCj4g KyAgIFZPSUQNCj4gKyAgICk7DQo+ICsNCj4gKw0KPiArIFZPSUQNCj4gKyBDYWxsQm9vdE1hbmFn ZXIgKA0KPiArICAgVk9JRA0KPiArICAgKTsNCj4gKw0KPiArVk9JRA0KPiArQ2FsbERldmljZU1h bmFnZXIgKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0Jkc1N0YXJ0Qm9v dE1haW50ICgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICtDSEFSMTYgKg0KPiArR2V0U3Ry aW5nQnlJZCAoDQo+ICsgIElOICBFRklfU1RSSU5HX0lEICAgSWQNCj4gKyAgKTsNCj4gKw0KPiAr RUZJX1NUQVRVUw0KPiArV2FpdEZvclNpbmdsZUV2ZW50ICgNCj4gKyAgSU4gRUZJX0VWRU5UICAg ICAgICAgICAgICAgICAgRXZlbnQsDQo+ICsgIElOIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAg IFRpbWVvdXQgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQmRzTGli RGVsZXRlT3B0aW9uRnJvbUhhbmRsZSAoDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAg ICAgICBIYW5kbGUNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQmRzRGVsZXRlQWxs SW52YWxpZEVmaUJvb3RPcHRpb24gKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gKw0KPiAr I2RlZmluZSBPTkVfU0VDT05EICAxMDAwMDAwMA0KPiArI2RlZmluZSBGUk9OVF9QQUdFX0tFWV9D T05USU5VRSAgICAgICAgMHgxMDAwDQo+ICsjZGVmaW5lIEZST05UX1BBR0VfS0VZX0xBTkdVQUdF ICAgICAgICAweDEyMzQNCj4gKyNkZWZpbmUgRlJPTlRfUEFHRV9LRVlfQk9PVF9NQU5BR0VSICAg IDB4MTA2NA0KPiArI2RlZmluZSBGUk9OVF9QQUdFX0tFWV9ERVZJQ0VfTUFOQUdFUiAgMHg4NTY3 DQo+ICsjZGVmaW5lIEZST05UX1BBR0VfS0VZX0JPT1RfTUFJTlRBSU4gICAweDk4NzYNCj4gKw0K PiArI2RlZmluZSBQT1JUX0FfRFZPICAgICAgICAgICAgICAgICAgICAgMCAgICAgICAgICAgLy8g OyBEVk8gQQ0KPiArI2RlZmluZSBQT1JUX0JfRFZPICAgICAgICAgICAgICAgICAgICAgMSAgICAg ICAgICAgLy8gOyBEVk8gQg0KPiArI2RlZmluZSBQT1JUX0NfRFZPICAgICAgICAgICAgICAgICAg ICAgMiAgICAgICAgICAgLy8gOyBEVk8gQw0KPiArI2RlZmluZSBQT1JUX0RfRFZPICAgICAgICAg ICAgICAgICAgICAgMyAgICAgICAgICAgLy8gOyBEVk8gRA0KPiArI2RlZmluZSBQT1JUX0xWRFMg ICAgICAgICAgICAgICAgICAgICAgNCAgICAgICAgICAgLy8gOyBJbnRlZ3JhdGVkIExWRFMgcG9y dA0KPiArI2RlZmluZSBQT1JUX0FOQUxPR19UViAgICAgICAgICAgICAgICAgNSAgICAgICAgICAg Ly8gOyBJbnRlZ3JhdGVkIFRWIHBvcnQNCj4gKyNkZWZpbmUgUE9SVF9DUlQgICAgICAgICAgICAg ICAgICAgICAgIDYgICAgICAgICAgIC8vIDsgaW50ZWdyYXRlZCBBbmFsb2cgcG9ydA0KPiArI2Rl ZmluZSBQT1JUX0JfRFAgICAgICAgICAgICAgICAgICAgICAgNyAgICAgICAgICAgLy8gOyBEaXNw bGF5UG9ydCBCDQo+ICsjZGVmaW5lIFBPUlRfQ19EUCAgICAgICAgICAgICAgICAgICAgICA4ICAg ICAgICAgICAvLyA7IERpc3BsYXlQb3J0IEMNCj4gKyNkZWZpbmUgUE9SVF9EX0RQICAgICAgICAg ICAgICAgICAgICAgIDkgICAgICAgICAgIC8vIDsgRGlzcGxheVBvcnQgRA0KPiArI2RlZmluZSBQ T1JUX0FfRFAgICAgICAgICAgICAgICAgICAgICAgMTAgICAgICAgICAgLy8gOyBEaXNwbGF5UG9y dCBBIChmb3IgZURQIG9uIElMSykNCj4gKyNkZWZpbmUgUE9SVF9CX0hETUkgICAgICAgICAgICAg ICAgICAgIDExICAgICAgICAgIC8vIDsgSERNSSBCDQo+ICsjZGVmaW5lIFBPUlRfQ19IRE1JICAg ICAgICAgICAgICAgICAgICAxMiAgICAgICAgICAvLyA7IEhETUkgQw0KPiArI2RlZmluZSBQT1JU X0RfSERNSSAgICAgICAgICAgICAgICAgICAgMTMgICAgICAgICAgLy8gOyBIRE1JIEQNCj4gKyNk ZWZpbmUgUE9SVF9CX0RWSSAgICAgICAgICAgICAgICAgICAgIDE0ICAgICAgICAgIC8vIDsgRFZJ IEINCj4gKyNkZWZpbmUgUE9SVF9DX0RWSSAgICAgICAgICAgICAgICAgICAgIDE1ICAgICAgICAg IC8vIDsgRFZJIEMNCj4gKyNkZWZpbmUgUE9SVF9EX0RWSSAgICAgICAgICAgICAgICAgICAgIDE2 ICAgICAgICAgIC8vIDsgRFZJIEQNCj4gKyNkZWZpbmUgUE9SVF9NSVBJX0EgICAgICAgICAgICAg ICAgICAgIDIxICAgICAgICAgIC8vIDsgTUlQSQ0KPiArI2RlZmluZSBQT1JUX01JUElfQiAgICAg ICAgICAgICAgICAgICAgMjINCj4gKyNkZWZpbmUgUE9SVF9NSVBJX0MgICAgICAgICAgICAgICAg ICAgIDIzDQo+ICsNCj4gKw0KPiArZXh0ZXJuIEJPT0xFQU4gZ0Nvbm5lY3RBbGxIYXBwZW5lZDsN Cj4gK2V4dGVybiBVSU5UTiBnQ2FsbGJhY2tLZXk7DQo+ICsNCj4gK1ZPSUQNCj4gK0Jkc0Jvb3RE ZXZpY2VTZWxlY3QgKA0KPiArICBWT0lEDQo+ICspOw0KPiArVk9JRCBGYXN0Qm9vdChWT0lEKTsN Cj4gKw0KPiArZXh0ZXJuIEJPT0xFQU4gICAgbU1vZGVJbml0aWFsaXplZDsNCj4gKw0KPiArLy8N Cj4gKy8vIEJvb3QgdmlkZW8gcmVzb2x1dGlvbiBhbmQgdGV4dCBtb2RlLg0KPiArLy8NCj4gK2V4 dGVybiBVSU5UMzIgICAgIG1Cb290SG9yaXpvbnRhbFJlc29sdXRpb24gICAgOw0KPiArZXh0ZXJu IFVJTlQzMiAgICAgbUJvb3RWZXJ0aWNhbFJlc29sdXRpb24gICAgICA7DQo+ICtleHRlcm4gVUlO VDMyICAgICBtQm9vdFRleHRNb2RlQ29sdW1uICAgICAgICAgIDsNCj4gK2V4dGVybiBVSU5UMzIg ICAgIG1Cb290VGV4dE1vZGVSb3cgICAgICAgICAgICAgOw0KPiArDQo+ICsvLw0KPiArLy8gQklP UyBzZXR1cCB2aWRlbyByZXNvbHV0aW9uIGFuZCB0ZXh0IG1vZGUuDQo+ICsvLw0KPiArZXh0ZXJu IFVJTlQzMiAgICAgbVNldHVwVGV4dE1vZGVDb2x1bW4gICAgICAgICA7DQo+ICtleHRlcm4gVUlO VDMyICAgICBtU2V0dXBUZXh0TW9kZVJvdyAgICAgICAgICAgIDsNCj4gK2V4dGVybiBVSU5UMzIg ICAgIG1TZXR1cEhvcml6b250YWxSZXNvbHV0aW9uICAgOw0KPiArZXh0ZXJuIFVJTlQzMiAgICAg bVNldHVwVmVydGljYWxSZXNvbHV0aW9uICAgICA7DQo+ICtleHRlcm4gRUZJX1NUQVRVUyBCZHNT ZXRDb25zb2xlTW9kZSAoQk9PTEVBTik7DQo+ICsjZW5kaWYgLy8gX0JEU19QTEFURk9STV9IDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L1BsYXRmb3JtQmRzTGliL1BsYXRmb3JtQmRzTGliLmkNCj4gbmYNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL1BsYXRmb3JtQmRzTGli LmkNCj4gbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZDNi ZWYwZmEzOQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0xpYnJhcnkvUGxhdGZvcm1CZHNMaWIvUGxhdGZvcm1CZHNMaWIuaQ0KPiBu Zg0KPiBAQCAtMCwwICsxLDEyNyBAQA0KPiArIy8qKiBAZmlsZQ0KPiArIyBDb21wb25lbnQgbmFt ZSBmb3IgbW9kdWxlIFBsYXRmb3JtQm9vdE1hbmFnZXJMaWINCj4gKyMNCj4gKyMgQ29weXJpZ2h0 IChjKSAyMDA4ICAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gKyMNCj4gKw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KPiArDQo+ICsjDQo+ICsNCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMqKi8NCj4g Kw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4 MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gUGxhdGZvcm1C ZHNMaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gQTZCQzM4NUQtNTlF NS00Yjc3LTg3RDctMjAwQUJBQTgzQzE1DQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAg ICAgICA9IERYRV9EUklWRVINCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0g MS4wDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IFBsYXRmb3JtQm9vdE1h bmFnZXJMaWJ8RFhFX0RSSVZFUg0KPiArICBFREtfUkVMRUFTRV9WRVJTSU9OICAgICAgICAgICAg PSAweDAwMDIwMDAwDQo+ICsgIEVGSV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT04gICAgICA9IDB4MDAw MjAwMEENCj4gKw0KPiArDQo+ICsjDQo+ICsjIFRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gaXMg Zm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQgYnkgdGhlDQo+IGJ1aWxkIHRvb2xz Lg0KPiArIw0KPiArIyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJQTMyIFg2NCBF QkMNCj4gKyMNCj4gKw0KPiArW1NvdXJjZXNdDQo+ICsgIEJkc1BsYXRmb3JtLmMNCj4gKyAgQmRz UGxhdGZvcm0uaA0KPiArICBQbGF0Zm9ybURhdGEuYw0KPiArICBQbGF0Zm9ybUJkc1N0cmluZ3Mu dW5pDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgTWRl TW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtQa2cvSW50ZWxG cmFtZXdvcmtQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0ludGVsRnJhbWV3 b3JrTW9kdWxlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMN Cj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ICsg IFNoZWxsUGtnL1NoZWxsUGtnLmRlYw0KPiArICBDcnlwdG9Qa2cvQ3J5cHRvUGtnLmRlYw0KPiAr ICBTZWN1cml0eVBrZy9TZWN1cml0eVBrZy5kZWMNCj4gKyAgU2lnbmVkQ2Fwc3VsZVBrZy9TaWdu ZWRDYXBzdWxlUGtnLmRlYw0KPiArICBTb3VyY2VMZXZlbERlYnVnUGtnL1NvdXJjZUxldmVsRGVi dWdQa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgRHhlU2VydmljZXNUYWJs ZUxpYg0KPiArICBCYXNlTGliDQo+ICsgIE1lbW9yeUFsbG9jYXRpb25MaWINCj4gKyAgVWVmaUJv b3RTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIFVlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYg0KPiAr ICBCYXNlTWVtb3J5TGliDQo+ICsgIERlYnVnTGliDQo+ICsgIFBjZExpYg0KPiArICBHZW5lcmlj QmRzTGliDQo+ICsgIERldmljZVBhdGhMaWINCj4gKyAgTmV0TGliDQo+ICsgIFVlZmlMaWINCj4g KyAgSG9iTGliDQo+ICsgIFBjaUxpYg0KPiArICBQcmludExpYg0KPiArICBCYXNlQ3J5cHRMaWIN Cj4gKyMgIFRjZ1BoeXNpY2FsUHJlc2VuY2VMaWINCj4gKyAgVGNnMlBoeXNpY2FsUHJlc2VuY2VM aWINCj4gKyAgRmlsZUhhbmRsZUxpYg0KPiArICBTM0Jvb3RTY3JpcHRMaWINCj4gKyAgU2VyaWFs UG9ydExpYg0KPiArICBDYXBzdWxlTGliDQo+ICsNCj4gK1tQcm90b2NvbHNdDQo+ICsgIGdFZmlG aXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaVNpbXBsZU5ldHdvcmtQcm90b2Nv bEd1aWQNCj4gKyAgZ0VmaUxvYWRGaWxlUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlQY2lJb1Byb3Rv Y29sR3VpZA0KPiArICBnRWZpU21tQWNjZXNzMlByb3RvY29sR3VpZA0KPiArICBnRWZpRHhlU21t UmVhZHlUb0xvY2tQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaVVzZXJNYW5hZ2VyUHJvdG9jb2xHdWlk DQo+ICsgIGdFZmlEZWZlcnJlZEltYWdlTG9hZFByb3RvY29sR3VpZA0KPiArICBnRWZpQWNwaVMz U2F2ZVByb3RvY29sR3VpZA0KPiArICBnRWZpU3BpUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAg ICAgICAgICAgICAgIyMgUFJPVE9DT0wgQ09OU1VNRVMNCj4gKyAgZ0V4aXRQbUF1dGhQcm90b2Nv bEd1aWQNCj4gKyAgZ0VmaVRkdE9wZXJhdGlvblByb3RvY29sR3VpZA0KPiArICBnRWZpR2xvYmFs TnZzQXJlYVByb3RvY29sR3VpZA0KPiArICBnRWZpTW1pb0RldmljZVByb3RvY29sR3VpZA0KPiAr ICBnRWZpSTJjTWFzdGVyUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlJMmNIb3N0UHJvdG9jb2xHdWlk DQo+ICsgIGdFc3J0TWFuYWdlbWVudFByb3RvY29sR3VpZA0KPiArDQo+ICtbR3VpZHNdDQo+ICsg IGdFZmlNZW1vcnlUeXBlSW5mb3JtYXRpb25HdWlkDQo+ICsgIGdFZmlDYXBzdWxlVmVuZG9yR3Vp ZA0KPiArICBnRWZpR2xvYmFsVmFyaWFibGVHdWlkDQo+ICsgIGdFZmlOb3JtYWxTZXR1cEd1aWQN Cj4gKyAgZ0VmaVBhcnRUeXBlU3lzdGVtUGFydEd1aWQNCj4gKyAgZ0VmaUVuZE9mRHhlRXZlbnRH cm91cEd1aWQNCj4gKyAgZ1VlZmlTaGVsbEZpbGVHdWlkDQo+ICsNCj4gK1tQY2RdDQo+ICsNCj4g Z0VmaVNpZ25lZENhcHN1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFZGtpaVJzYTIwNDhTaGEyNTZU ZXN0UHVibGljS2V5DQo+IEZpbGVHdWlkDQo+ICsNCj4gZ0VmaVNpZ25lZENhcHN1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RFZGtpaVBrY3M3VGVzdFB1YmxpY0tleUZpbGVHdWlkDQo+ICsgIGdFZmlT ZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJzYTIwNDhTaGEyNTZQdWJsaWNLZXlCdWZmZXIN Cj4gKyAgZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQuUGNkUGtjczdDZXJ0QnVmZmVyDQo+ ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RUZXN0S2V5VXNlZA0KPiArICBn UGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnkyQmFzZQ0KPiAr ICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2TWFpbkJhc2UNCj4gKyAg Z1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdlJlY292ZXJ5QmFzZQ0KPiAr ICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2U2hlbGxCYXNlDQo+ICsg IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZTaGVsbFNpemUNCj4gKyAg Z0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBsYXRmb3JtQm9vdFRpbWVPdXQNCj4gKyAgZ0Vm aUludGVsRnJhbWV3b3JrTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTG9nb0ZpbGUNCj4gKyAg Z1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkSUZXSVNpZ0Jhc2VBZGRyZXNzDQo+ICsg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDb25PdXRSb3cNCj4gKyAgZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENvbk91dENvbHVtbg0KPiArICBnRWZpTWRlTW9k dWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmlkZW9Ib3Jpem9udGFsUmVzb2x1dGlvbg0KPiArICBn RWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmlkZW9WZXJ0aWNhbFJlc29sdXRpb24N Cj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjaUV4cHJlc3NCYXNlQWRkcmVzcw0K PiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2V0dXBDb25PdXRDb2x1bW4N Cj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldHVwQ29uT3V0Um93DQo+ ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXR1cFZpZGVvSG9yaXpvbnRh bFJlc29sdXRpb24NCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldHVw VmlkZW9WZXJ0aWNhbFJlc29sdXRpb24NCj4gKyAgZ0VmaUludGVsRnJhbWV3b3JrTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkQm9vdFN0YXRlDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL1BsYXRmb3JtQmRz U3RyaQ0KPiBuZ3MudW5pDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGli cmFyeS9QbGF0Zm9ybUJkc0xpYi9QbGF0Zm9ybUJkc1N0cmkNCj4gbmdzLnVuaQ0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xMDExMDZmOWY0DQo+IC0tLSAvZGV2 L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9QbGF0Zm9ybUJkc0xpYi9QbGF0Zm9ybUJkc1N0cmkNCj4gbmdzLnVuaQ0KPiBAQCAtMCwwICsx LDMwIEBADQo+ICsvLy8qKiBAZmlsZQ0KPiArLy8NCj4gKy8vICBTdHJpbmcgZGVmaW5pdGlvbnMg Zm9yIEJvb3QgT3B0aW9uIGRlc2NyaXB0aW9uLg0KPiArLy8NCj4gKy8vICBDb3B5cmlnaHQgKGMp IDIwMTAgLSAyMDExLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsvLyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Ky8vDQo+ICsvLyoqLw0KPiArDQo+ICsvPSMNCj4gKw0KPiArI2xhbmdkZWYgICBlbi1VUyAiRW5n bGlzaCINCj4gKyNsYW5nZGVmICAgZnItRlIgIkZyYW7Dp2FpcyINCj4gKw0KPiArI3N0cmluZyBT VFJfREVTQ1JJUFRJT05fRkxPUFBZICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRUZJIEZsb3Bw eSINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBm ci1GUiAgImZyLUZSOiBFRkkgRmxvcHB5Ig0KPiArI3N0cmluZyBTVFJfREVTQ1JJUFRJT05fQ0Rf RFZEICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRUZJDQo+IERWRC9DRFJPTSINCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1GUiAgImZyLUZS OiBFRkkgRFZEL0NEUk9NIg0KPiArI3N0cmluZyBTVFJfREVTQ1JJUFRJT05fSEFSRERSSVZFICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiRUZJIEhhcmQgRHJpdmUiDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgICJmci1GUjogRUZJIEhhcmQg RHJpdmUiDQo+ICsjc3RyaW5nIFNUUl9ERVNDUklQVElPTl9VU0IgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgICJFRkkgVVNCIERldmljZSINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBmci1GUiAgImZyLUZSOiBFRkkgVVNCIERldmljZSINCj4g KyNzdHJpbmcgU1RSX0RFU0NSSVBUSU9OX1NDU0kgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAg IkVGSSBTQ1NJIERldmljZSINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBmci1GUiAgImZyLUZSOiBFRkkgU0NTSSBEZXZpY2UiDQo+ICsjc3RyaW5n IFNUUl9ERVNDUklQVElPTl9NSVNDICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJFRkkgTWlz YyBEZXZpY2UiDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZnItRlIgICJmci1GUjogRUZJIE1pc2MgRGV2aWNlIg0KPiArI3N0cmluZyBTVFJfREVT Q1JJUFRJT05fTkVUV09SSyAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRUZJIE5ldHdvcmsiDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIg ICJmci1GUjogRUZJIE5ldHdvcmsiDQo+ICsjc3RyaW5nIFNUUl9ERVNDUklQVElPTl9OT05fQkxP Q0sgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJFRkkgTm9uLUJsb2NrDQo+IEJvb3QgRGV2aWNlIg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZS ICAiZnItRlI6IEVGSSBOb24tQmxvY2sgQm9vdCBEZXZpY2UiDQo+IGRpZmYgLS1naXQNCj4gYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL1Bs YXRmb3JtRGF0YS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9QbGF0Zm9ybUJkc0xpYi9QbGF0Zm9ybURhdGEuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi45ZGZmOTNmNTJiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QbGF0Zm9ybUJkc0xp Yi9QbGF0Zm9ybURhdGEuYw0KPiBAQCAtMCwwICsxLDMwNiBAQA0KPiArLyoqIEBmaWxlDQo+ICsN Cj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFt ZToNCj4gKw0KPiArICBQbGF0Zm9ybURhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiAr ICBEZWZpbmVkIHRoZSBwbGF0Zm9ybSBzcGVjaWZpYyBkZXZpY2UgcGF0aCB3aGljaCB3aWxsIGJl IHVzZWQgYnkNCj4gKyAgcGxhdGZvcm0gQmJkIHRvIHBlcmZvcm0gdGhlIHBsYXRmb3JtIHBvbGlj eSBjb25uZWN0Lg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJCZHNQbGF0Zm9ybS5o Ig0KPiArDQo+ICsvLw0KPiArLy8gUHJlZGVmaW5lZCBwbGF0Zm9ybSBkZWZhdWx0IHRpbWUgb3V0 IHZhbHVlDQo+ICsvLw0KPiArVUlOVDE2ICBnUGxhdGZvcm1Cb290VGltZU91dERlZmF1bHQgPSAx MDsNCj4gKw0KPiArLy8NCj4gKy8vIFByZWRlZmluZWQgcGxhdGZvcm0gcm9vdCBicmlkZ2UNCj4g Ky8vDQo+ICtQTEFURk9STV9ST09UX0JSSURHRV9ERVZJQ0VfUEFUSCBnUGxhdGZvcm1Sb290QnJp ZGdlMCA9IHsNCj4gKyAgZ1BjaVJvb3RCcmlkZ2UsDQo+ICsgIGdFbmRFbnRpcmUNCj4gK307DQo+ ICsNCj4gK0VGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCogZ1BsYXRmb3JtUm9vdEJyaWRnZXMgW10g PSB7DQo+ICsgIChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wqKSZnUGxhdGZvcm1Sb290QnJpZGdl MCwNCj4gKyAgTlVMTA0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIFBsYXRmb3JtIHNwZWNpZmlj IElTQSBrZXlib2FyZCBkZXZpY2UgcGF0aA0KPiArLy8NCj4gK1BMQVRGT1JNX0lTQV9LRVlCT0FS RF9ERVZJQ0VfUEFUSCBnSXNhS2V5Ym9hcmREZXZpY2VQYXRoID0gew0KPiArICBnUGNpUm9vdEJy aWRnZSwNCj4gKyAgZ1BjaUlzYUJyaWRnZSwNCj4gKyAgZ1BucFBzMktleWJvYXJkLA0KPiArICBn RW5kRW50aXJlDQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gUGxhdGZvcm0gc3BlY2lmaWMgb24g Y2hpcCBQQ0kgVkdBIGRldmljZSBwYXRoDQo+ICsvLw0KPiArUExBVEZPUk1fT05CT0FSRF9WR0Ff REVWSUNFX1BBVEggZ09uQ2hpcFBjaVZnYURldmljZVBhdGggPSB7DQo+ICsgIGdQY2lSb290QnJp ZGdlLA0KPiArICBQQ0lfREVWSUNFX1BBVEhfTk9ERSgwLCAweDIpLA0KPiArICBnRW5kRW50aXJl DQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gUGxhdGZvcm0gc3BlY2lmaWMgcGx1ZyBpbiBQQ0kg VkdBIGRldmljZSBwYXRoDQo+ICsvLw0KPiArUExBVEZPUk1fT0ZGQk9BUkRfVkdBX0RFVklDRV9Q QVRIIGdQbHVnSW5QY2lWZ2FEZXZpY2VQYXRoID0gew0KPiArICBnUGNpUm9vdEJyaWRnZSwNCj4g KyAgUENJX0RFVklDRV9QQVRIX05PREUoMCwgMHgxKSwNCj4gKyAgUENJX0RFVklDRV9QQVRIX05P REUoMCwgMHgwKSwNCj4gKyAgZ0VuZEVudGlyZQ0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIFBs YXRmb3JtIHNwZWNpZmljIElTQSBzZXJpYWwgZGV2aWNlIHBhdGgNCj4gKy8vDQo+ICtQTEFURk9S TV9JU0FfU0VSSUFMX0RFVklDRV9QQVRIIGdJc2FTZXJpYWxEZXZpY2VQYXRoID0gew0KPiArICBn UGNpUm9vdEJyaWRnZSwNCj4gKyAgZ1BjaUlzYUJyaWRnZSwNCj4gKyAgZ1BucDE2NTUwQ29tUG9y dCwNCj4gKyAgZ1VhcnQoMTE1MjAwLCA4LCAxLCAxKSwNCj4gKyAgZ1BjQW5zaVRlcm1pbmFsLA0K PiArICBnRW5kRW50aXJlDQo+ICt9Ow0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBQbGF0Zm9ybSBz cGVjaWZpYyBCdXR0b24gQXJyYXkgZGV2aWNlIHBhdGgNCj4gKy8vDQo+ICtISUlfVkVORE9SX0RF VklDRV9QQVRIICBnSGlpVmVuZG9yRGV2aWNlUGF0aDAgPSB7DQo+ICsgIHsNCj4gKyAgICB7DQo+ ICsgICAgICBIQVJEV0FSRV9ERVZJQ0VfUEFUSCwNCj4gKyAgICAgIEhXX1ZFTkRPUl9EUCwNCj4g KyAgICAgIHsNCj4gKyAgICAgICAgKFVJTlQ4KSAoc2l6ZW9mIChWRU5ET1JfREVWSUNFX1BBVEgp KSwNCj4gKyAgICAgICAgKFVJTlQ4KSAoKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSkgPj4g OCkNCj4gKyAgICAgIH0NCj4gKyAgICB9LA0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyB7Qzg3 NTJGREUtQjVDOC00NTI4LTg5N0QtNjkyMEZFNzcxRTM4fQ0KPiArICAgIC8vDQo+ICsgICAgeyAw eEM4NzUyRkRFLCAweEI1QzgsIDB4NDUyOCwgeyAweDg5LCAweDdELCAweDY5LCAweDIwLCAweEZF LCAweDc3LCAweDFFLA0KPiAweDM4IH0gfQ0KPiArICB9LA0KPiArICB7DQo+ICsgICAgRU5EX0RF VklDRV9QQVRIX1RZUEUsDQo+ICsgICAgRU5EX0VOVElSRV9ERVZJQ0VfUEFUSF9TVUJUWVBFLA0K PiArICAgIHsNCj4gKyAgICAgIChVSU5UOCkgKEVORF9ERVZJQ0VfUEFUSF9MRU5HVEgpLA0KPiAr ICAgICAgKFVJTlQ4KSAoKEVORF9ERVZJQ0VfUEFUSF9MRU5HVEgpID4+IDgpDQo+ICsgICAgfQ0K PiArICB9DQo+ICt9Ow0KPiArDQo+ICtVU0JfQ0xBU1NfRk9STUFUX0RFVklDRV9QQVRIIGdVc2JD bGFzc0tleWJvYXJkRGV2aWNlUGF0aCA9IHsNCj4gKyAgZ1VzYktleWJvYXJkTW91c2UsDQo+ICsg IGdFbmRFbnRpcmUNCj4gK307DQo+ICsNCj4gKy8vDQo+ICsvLyBEZWJ1ZyBBZ2VudCBVQVJUIENv bnNvbGUgZGV2aWNlIHBhdGgNCj4gKy8vDQo+ICtWRU5ET1JfVUFSVF9ERVZJQ0VfUEFUSCBnRGVi dWdBZ2VudFVhcnREZXZpY2VQYXRoID0gew0KPiArICB7DQo+ICsgICAgew0KPiArICAgICAgSEFS RFdBUkVfREVWSUNFX1BBVEgsDQo+ICsgICAgICBIV19WRU5ET1JfRFAsDQo+ICsgICAgICB7DQo+ ICsgICAgICAgIChVSU5UOCkgKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSksDQo+ICsgICAg ICAgIChVSU5UOCkgKChzaXplb2YgKFZFTkRPUl9ERVZJQ0VfUEFUSCkpID4+IDgpDQo+ICsgICAg ICB9DQo+ICsgICAgfSwNCj4gKyAgICBFRklfREVCVUdfQUdFTlRfR1VJRCwNCj4gKyAgfSwNCj4g KyAgew0KPiArICAgIHsNCj4gKyAgICAgIE1FU1NBR0lOR19ERVZJQ0VfUEFUSCwNCj4gKyAgICAg IE1TR19VQVJUX0RQLA0KPiArICAgICAgew0KPiArICAgICAgICAoVUlOVDgpIChzaXplb2YgKFVB UlRfREVWSUNFX1BBVEgpKSwNCj4gKyAgICAgICAgKFVJTlQ4KSAoKHNpemVvZiAoVUFSVF9ERVZJ Q0VfUEFUSCkpID4+IDgpDQo+ICsgICAgICB9DQo+ICsgICAgfSwNCj4gKyAgICAwLCAgLy8gUmVz ZXJ2ZWQNCj4gKyAgICAwLCAgLy8gQmF1ZFJhdGUgLSBEZWZhdWx0DQo+ICsgICAgMCwgIC8vIERh dGFCaXRzIC0gRGVmYXVsdA0KPiArICAgIDAsICAvLyBQYXJpdHkgICAtIERlZmF1bHQNCj4gKyAg ICAwLCAgLy8gU3RvcEJpdHMgLSBEZWZhdWx0DQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICB7DQo+ ICsgICAgICBNRVNTQUdJTkdfREVWSUNFX1BBVEgsDQo+ICsgICAgICBNU0dfVkVORE9SX0RQLA0K PiArICAgICAgew0KPiArICAgICAgICAoVUlOVDgpKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRI KSksDQo+ICsgICAgICAgIChVSU5UOCkoKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSkgPj4g OCkNCj4gKyAgICAgIH0NCj4gKyAgICB9LA0KPiArICAgIERFVklDRV9QQVRIX01FU1NBR0lOR19Q Q19BTlNJDQo+ICsgIH0sDQo+ICsgIGdFbmRFbnRpcmUNCj4gK307DQo+ICsNCj4gKy8vDQo+ICsv LyBQcmVkZWZpbmVkIHBsYXRmb3JtIGRlZmF1bHQgY29uc29sZSBkZXZpY2UgcGF0aA0KPiArLy8N Cj4gK0JEU19DT05TT0xFX0NPTk5FQ1RfRU5UUlkgZ1BsYXRmb3JtQ29uc29sZSBbXSA9IHsNCj4g KyAgeyhFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wqKSZnSXNhU2VyaWFsRGV2aWNlUGF0aCwgQ09O U09MRV9BTEx9LA0KPiArICB7KEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCopJmdIaWlWZW5kb3JE ZXZpY2VQYXRoMCwgQ09OU09MRV9JTn0sDQo+ICsgIHsoRUZJX0RFVklDRV9QQVRIX1BST1RPQ09M KikmZ0lzYUtleWJvYXJkRGV2aWNlUGF0aCwNCj4gQ09OU09MRV9JTn0sDQo+ICsgIHsoRUZJX0RF VklDRV9QQVRIX1BST1RPQ09MKikmZ0RlYnVnQWdlbnRVYXJ0RGV2aWNlUGF0aCwNCj4gQ09OU09M RV9BTEx9LA0KPiArICB7KEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCopJmdVc2JDbGFzc0tleWJv YXJkRGV2aWNlUGF0aCwNCj4gQ09OU09MRV9JTn0sDQo+ICsgIHtOVUxMLCAwfQ0KPiArfTsNCj4g Kw0KPiArLy8NCj4gKy8vIEFsbCB0aGUgcG9zc2libGUgcGxhdGZvcm0gUENJIFZHQSBkZXZpY2Ug cGF0aA0KPiArLy8NCj4gK0VGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCogZ1BsYXRmb3JtQWxsUG9z c2libGVQY2lWZ2FDb25zb2xlIFtdID0gew0KPiArICAoRUZJX0RFVklDRV9QQVRIX1BST1RPQ09M KikmZ09uQ2hpcFBjaVZnYURldmljZVBhdGgsDQo+ICsgIChFRklfREVWSUNFX1BBVEhfUFJPVE9D T0wqKSZnUGx1Z0luUGNpVmdhRGV2aWNlUGF0aCwNCj4gKyAgTlVMTA0KPiArfTsNCj4gKw0KPiAr Ly8NCj4gKy8vIExlZ2FjeSBoYXJkIGRpc2sgYm9vdCBvcHRpb24NCj4gKy8vDQo+ICtMRUdBQ1lf SERfREVWSUNFX1BBVEggZ0xlZ2FjeUhkID0gew0KPiArICB7DQo+ICsgICAgQkJTX0RFVklDRV9Q QVRILA0KPiArICAgIEJCU19CQlNfRFAsDQo+ICsgICAgKFVJTlQ4KShzaXplb2YoQkJTX0JCU19E RVZJQ0VfUEFUSCkpLA0KPiArICAgIChVSU5UOCkoKHNpemVvZihCQlNfQkJTX0RFVklDRV9QQVRI KSkgPj4gOCksDQo+ICsgICAgQkJTX1RZUEVfSEFSRERSSVZFLA0KPiArICAgIDAsDQo+ICsgICAg MA0KPiArICB9LA0KPiArICBnRW5kRW50aXJlDQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gTGVn YWN5IGNkcm9tIGJvb3Qgb3B0aW9uDQo+ICsvLw0KPiArTEVHQUNZX0hEX0RFVklDRV9QQVRIIGdM ZWdhY3lDZHJvbSA9IHsNCj4gKyAgew0KPiArICAgIEJCU19ERVZJQ0VfUEFUSCwNCj4gKyAgICBC QlNfQkJTX0RQLA0KPiArICAgIChVSU5UOCkoc2l6ZW9mKEJCU19CQlNfREVWSUNFX1BBVEgpKSwN Cj4gKyAgICAoVUlOVDgpKChzaXplb2YoQkJTX0JCU19ERVZJQ0VfUEFUSCkpID4+IDgpLA0KPiAr ICAgIEJCU19UWVBFX0NEUk9NLA0KPiArICAgIDAsDQo+ICsgICAgMA0KPiArICB9LA0KPiArICBn RW5kRW50aXJlDQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gUHJlZGVmaW5lZCBwbGF0Zm9ybSBz cGVjaWZpYyBwZXJkaWN0IGJvb3Qgb3B0aW9uDQo+ICsvLw0KPiArRUZJX0RFVklDRV9QQVRIX1BS T1RPQ09MKiBnUGxhdGZvcm1Cb290T3B0aW9uIFtdID0gew0KPiArICAoRUZJX0RFVklDRV9QQVRI X1BST1RPQ09MKikmZ0xlZ2FjeUhkLA0KPiArICAoRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MKikm Z0xlZ2FjeUNkcm9tLA0KPiArICBOVUxMDQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gUHJlZGVm aW5lZCBwbGF0Zm9ybSBzcGVjaWZpYyBkcml2ZXIgb3B0aW9uDQo+ICsvLw0KPiArRUZJX0RFVklD RV9QQVRIX1BST1RPQ09MKiBnUGxhdGZvcm1Ecml2ZXJPcHRpb24gW10gPSB7DQo+ICsgIE5VTEwN Cj4gK307DQo+ICsNCj4gKy8vDQo+ICsvLyBQcmVkZWZpbmVkIHBsYXRmb3JtIGNvbm5lY3Qgc2Vx dWVuY2UNCj4gKy8vDQo+ICtFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wqIGdQbGF0Zm9ybUNvbm5l Y3RTZXF1ZW5jZSBbXSA9IHsNCj4gKyAgKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSZnUGxh dGZvcm1Sb290QnJpZGdlMCwgIC8vIEZvcmNlIFBDSQ0KPiBlbnVtZXIgYmVmb3JlIExlZ2FjeSBP cFJPTSBzaGFkb3cNCj4gKyAgTlVMTA0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIFBsYXRmb3Jt IHNwZWNpZmljIFVTQiBjb250cm9sbGVyIGRldmljZSBwYXRoDQo+ICsvLw0KPiArUExBVEZPUk1f VVNCX0RFVklDRV9QQVRIIGdVc2JEZXZpY2VQYXRoMCA9IHsNCj4gKyAgZ1BjaVJvb3RCcmlkZ2Us DQo+ICsgIFBDSV9ERVZJQ0VfUEFUSF9OT0RFKDAsIDB4MUQpLA0KPiArICBnRW5kRW50aXJlDQo+ ICt9Ow0KPiArDQo+ICtQTEFURk9STV9VU0JfREVWSUNFX1BBVEggZ1VzYkRldmljZVBhdGgxID0g ew0KPiArICBnUGNpUm9vdEJyaWRnZSwNCj4gKyAgUENJX0RFVklDRV9QQVRIX05PREUoMSwgMHgx RCksDQo+ICsgIGdFbmRFbnRpcmUNCj4gK307DQo+ICsNCj4gK1BMQVRGT1JNX1VTQl9ERVZJQ0Vf UEFUSCBnVXNiRGV2aWNlUGF0aDIgPSB7DQo+ICsgIGdQY2lSb290QnJpZGdlLA0KPiArICBQQ0lf REVWSUNFX1BBVEhfTk9ERSgyLCAweDFEKSwNCj4gKyAgZ0VuZEVudGlyZQ0KPiArfTsNCj4gKw0K PiArUExBVEZPUk1fVVNCX0RFVklDRV9QQVRIIGdVc2JEZXZpY2VQYXRoMyA9IHsNCj4gKyAgZ1Bj aVJvb3RCcmlkZ2UsDQo+ICsgIFBDSV9ERVZJQ0VfUEFUSF9OT0RFKDMsIDB4MUQpLA0KPiArICBn RW5kRW50aXJlDQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gUHJlZGVmaW5lZCBwbGF0Zm9ybSBk ZXZpY2UgcGF0aCBmb3IgdXNlciBhdXRodGljYXRpb24NCj4gKy8vDQo+ICtFRklfREVWSUNFX1BB VEhfUFJPVE9DT0wqIGdVc2VyQXV0aGVudGljYXRpb25EZXZpY2VbXSA9IHsNCj4gKyAgLy8NCj4g KyAgLy8gUHJlZGVmaW5lZCBkZXZpY2UgcGF0aCBmb3Igc2VjdXJlIGNhcmQgKFVTQiBkaXNrKS4N Cj4gKyAgLy8NCj4gKyAgKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCopJmdVc2JEZXZpY2VQYXRo MCwNCj4gKyAgKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCopJmdVc2JEZXZpY2VQYXRoMSwNCj4g KyAgKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCopJmdVc2JEZXZpY2VQYXRoMiwNCj4gKyAgKEVG SV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCopJmdVc2JEZXZpY2VQYXRoMywNCj4gKyAgTlVMTA0KPiAr fTsNCj4gKw0KPiArLy8NCj4gKy8vIFByZWRlZmluZWQgcGxhdGZvcm0gY29uc29sZSBkZXZpY2Ug cGF0aA0KPiArLy8NCj4gK0JEU19DT05TT0xFX0NPTk5FQ1RfRU5UUlkgZ1BsYXRmb3JtU2ltcGxl Q29uc29sZSBbXSA9IHsNCj4gKyAgeyhFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wqKSZnT25DaGlw UGNpVmdhRGV2aWNlUGF0aCwNCj4gQ09OU09MRV9PVVR9LA0KPiArICB7KEVGSV9ERVZJQ0VfUEFU SF9QUk9UT0NPTCopJmdJc2FTZXJpYWxEZXZpY2VQYXRoLCBDT05TT0xFX0FMTH0sDQo+ICsgIHso RUZJX0RFVklDRV9QQVRIX1BST1RPQ09MKikmZ0hpaVZlbmRvckRldmljZVBhdGgwLCBDT05TT0xF X0lOfSwNCj4gKyAgeyhFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wqKSZnRGVidWdBZ2VudFVhcnRE ZXZpY2VQYXRoLA0KPiBDT05TT0xFX0FMTH0sDQo+ICsgIHsoRUZJX0RFVklDRV9QQVRIX1BST1RP Q09MKikmZ1VzYkNsYXNzS2V5Ym9hcmREZXZpY2VQYXRoLA0KPiBDT05TT0xFX0lOfSwNCj4gKyAg e05VTEwsIDB9DQo+ICt9Ow0KPiArDQo+ICsvLw0KPiArLy8gZU1NQyBkZXZpY2UgYXQgQkRGKDB4 MCwgMHgxNywgMHgwKQ0KPiArLy8NCj4gK1BMQVRGT1JNX1BDSV9ERVZJQ0VfUEFUSCBnRW1tY0Jv b3REZXZQYXRoMCA9IHsNCj4gKyAgZ1BjaVJvb3RCcmlkZ2UsDQo+ICsgIFBDSV9ERVZJQ0VfUEFU SF9OT0RFICgweDAwLCAweDEwKSwNCj4gKyAgZ0VuZEVudGlyZQ0KPiArfTsNCj4gKw0KPiArLy8N Cj4gKy8vIFByZWRlZmluZWQgcGxhdGZvcm0gc3BlY2lmaWMgcGVyZGljdCBib290IG9wdGlvbg0K PiArLy8NCj4gK0VGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCogZ1BsYXRmb3JtU2ltcGxlQm9vdE9w dGlvbiBbXSA9IHsNCj4gKyAgKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCopJmdFbW1jQm9vdERl dlBhdGgwLA0KPiArICBOVUxMDQo+ICt9Ow0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQ21vc0xpYi9QbGF0Zm9y bUNtb3MNCj4gTGliLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L1BsYXRmb3JtQ21vc0xpYi9QbGF0Zm9ybUNtb3MNCj4gTGliLmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMmEwMmNhYmNhZg0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGxh dGZvcm1DbW9zTGliL1BsYXRmb3JtQ21vcw0KPiBMaWIuYw0KPiBAQCAtMCwwICsxLDEwNiBAQA0K PiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE0LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiAr DQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBDbW9zVGFibGUuaA0KPiArDQo+ICtBYnN0cmFj dDoNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSA8QmFzZS5oPg0KPiArI2luY2x1ZGUg PExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BsYXRmb3JtQ21vc0xpYi5o Pg0KPiArI2luY2x1ZGUgIkNtb3NNYXAuaCINCj4gKyNpbmNsdWRlIDxQY2hBY2Nlc3MuaD4NCj4g KyNpbmNsdWRlICJQbGF0Zm9ybUJhc2VBZGRyZXNzZXMuaCINCj4gKw0KPiArI2RlZmluZSBERUZB VUxUX1ZBTFVFICAgICAgICAgIDANCj4gKyNkZWZpbmUgIERFRkFVTFRfQVRUUklCVVRFUyAgICAg MA0KPiArI2RlZmluZSAgRVhDTFVERV9GUk9NX0NIRUNLU1VNDQo+IENNT1NfQVRUUklCVVRFX0VY Q0xVREVfRlJPTV9DSEVDS1NVTQ0KPiArDQo+ICsjZGVmaW5lIENNT1NfREVCVUdfUFJJTlRfTEVW RUxfREVGQVVMVF9WQUxVRSAgICAgIDB4NDYgICAvLw0KPiBFRklfRF9XQVJOfEVGSV9EX0lORk98 RUZJX0RfTE9BRA0KPiArI2RlZmluZSBDTU9TX0RFQlVHX1BSSU5UX0xFVkVMXzNfREVGQVVMVF9W QUxVRSAgICAweDgwICAgLy8NCj4gRUZJX0RfRVJST1INCj4gKw0KPiArLy8NCj4gKy8vIEFkZCB0 aGUgQ01PUyBlbnRyeSBiZWxvdw0KPiArLy8NCj4gK0NNT1NfRU5UUlkgbUNtb3NUYWJsZVtdID0g ew0KPiAreyBDUFVfSFRfUE9MSUNZLCBDUFVfSFRfUE9MSUNZX0VOQUJMRUQsDQo+IEVYQ0xVREVf RlJPTV9DSEVDS1NVTSB9LA0KPiAreyBUUE1fUE9MSUNZLCBUUE1fUE9MSUNZX0VOQUJMRUQsIERF RkFVTFRfQVRUUklCVVRFUyB9LA0KPiAreyBDTU9TX0xDRFBBTkVMVFlQRV9SRUcsIERFRkFVTFRf VkFMVUUsIERFRkFVTFRfQVRUUklCVVRFUyB9LA0KPiAreyBDTU9TX0xDRFBBTkVMU0NBTElOR19S RUcsIERFRkFVTFRfVkFMVUUsDQo+IERFRkFVTFRfQVRUUklCVVRFUyB9LA0KPiAreyBDTU9TX0lH REJPT1RUWVBFX1JFRywgREVGQVVMVF9WQUxVRSwgREVGQVVMVF9BVFRSSUJVVEVTIH0sDQo+ICt7 IENNT1NfQkFDS0xJR0hUX1JFRywgREVGQVVMVF9WQUxVRSwgREVGQVVMVF9BVFRSSUJVVEVTIH0s DQo+ICt7IENNT1NfTEZQX1BBTkVMX0NPTE9SX0RFUFRIX1JFRywgREVGQVVMVF9WQUxVRSwNCj4g REVGQVVMVF9BVFRSSUJVVEVTIH0sDQo+ICt7IENNT1NfRURQX0FDVElWRV9MRlBfQ09ORklHX1JF RywgREVGQVVMVF9WQUxVRSwNCj4gREVGQVVMVF9BVFRSSUJVVEVTIH0sDQo+ICt7IENNT1NfUFJJ TUFSWV9ESVNQTEFZX1JFRywgREVGQVVMVF9WQUxVRSwNCj4gREVGQVVMVF9BVFRSSUJVVEVTIH0s DQo+ICt7IENNT1NfSUdEX0RJU1BMQVlfUElQRV9CX1JFRywgREVGQVVMVF9WQUxVRSwNCj4gREVG QVVMVF9BVFRSSUJVVEVTIH0sDQo+ICt7IENNT1NfU0RWT1BBTkVMVFlQRV9SRUcsIERFRkFVTFRf VkFMVUUsIERFRkFVTFRfQVRUUklCVVRFUyB9LA0KPiAreyBDTU9TX1BMQVRGT1JNX1JFU0VUX09T LCBERUZBVUxUX1ZBTFVFLCBERUZBVUxUX0FUVFJJQlVURVMgfSwNCj4gK3sgQ01PU19DUFVfQlNQ X1NFTEVDVCwgREVGQVVMVF9WQUxVRSwgREVGQVVMVF9BVFRSSUJVVEVTIH0sDQo+ICt7IENNT1Nf Q1BVX1JBVElPX09GRlNFVCwgREVGQVVMVF9WQUxVRSwgREVGQVVMVF9BVFRSSUJVVEVTIH0sDQo+ ICt7IENNT1NfSUNIX1BPUlQ4MF9PRkZTRVQsIERFRkFVTFRfVkFMVUUsIERFRkFVTFRfQVRUUklC VVRFUyB9LA0KPiAreyBDTU9TX01BWFJBVElPX0NPTkZJR19SRUcsIERFRkFVTFRfVkFMVUUsDQo+ IERFRkFVTFRfQVRUUklCVVRFUyB9LA0KPiAreyBSVENfQUREUkVTU19DRU5UVVJZLCBSVENfQURE UkVTU19DRU5UVVJZX0RFRkFVTFQsDQo+IENNT1NfQVRUUklCVVRFX0VYQ0xVREVfRlJPTV9DSEVD S1NVTSB9LA0KPiAreyBDTU9TX1BPU1RfQ09ERV9CUkVBS19SRUcsIERFRkFVTFRfVkFMVUUsDQo+ IEVYQ0xVREVfRlJPTV9DSEVDS1NVTSB9LA0KPiAreyBDTU9TX1BPU1RfQ09ERV9CUkVBS18xX1JF RywgREVGQVVMVF9WQUxVRSwNCj4gRVhDTFVERV9GUk9NX0NIRUNLU1VNIH0sDQo+ICt7IENNT1Nf UE9TVF9DT0RFX0JSRUFLXzJfUkVHLCBERUZBVUxUX1ZBTFVFLA0KPiBFWENMVURFX0ZST01fQ0hF Q0tTVU0gfSwNCj4gK3sgQ01PU19QT1NUX0NPREVfQlJFQUtfM19SRUcsIERFRkFVTFRfVkFMVUUs DQo+IEVYQ0xVREVfRlJPTV9DSEVDS1NVTSB9LA0KPiAreyBDTU9TX0RFQlVHX1BSSU5UX0xFVkVM X1JFRywNCj4gQ01PU19ERUJVR19QUklOVF9MRVZFTF9ERUZBVUxUX1ZBTFVFLA0KPiBFWENMVURF X0ZST01fQ0hFQ0tTVU0gfSwNCj4gK3sgQ01PU19ERUJVR19QUklOVF9MRVZFTF8xX1JFRywgREVG QVVMVF9WQUxVRSwNCj4gRVhDTFVERV9GUk9NX0NIRUNLU1VNIH0sDQo+ICt7IENNT1NfREVCVUdf UFJJTlRfTEVWRUxfMl9SRUcsIERFRkFVTFRfVkFMVUUsDQo+IEVYQ0xVREVfRlJPTV9DSEVDS1NV TSB9LA0KPiAreyBDTU9TX0RFQlVHX1BSSU5UX0xFVkVMXzNfUkVHLA0KPiBDTU9TX0RFQlVHX1BS SU5UX0xFVkVMXzNfREVGQVVMVF9WQUxVRSwNCj4gRVhDTFVERV9GUk9NX0NIRUNLU1VNIH0sDQo+ ICt9Ow0KPiArDQo+ICsvKioNCj4gKyAgRnVudGlvbiB0byByZXR1cm4gcGxhdGZvcm0gQ01PUyBl bnRyeS4NCj4gKw0KPiArICBAcGFyYW0gW291dF0gIENtb3NFbnRyeSAgUGxhdGZvcm0gQ01PUyBl bnRyeS4NCj4gKw0KPiArICBAcGFyYW0gW291dF0gIENtb3NFbnRyeUNvdW50IE51bWJlciBvZiBw bGF0Zm9ybSBDTU9TIGVudHJ5Lg0KPiArDQo+ICsgIEByZXR1cm4gU3RhdHVzLg0KPiArKiovDQo+ ICtSRVRVUk5fU1RBVFVTDQo+ICtFRklBUEkNCj4gK0dldFBsYXRmb3JtQ21vc0VudHJ5ICgNCj4g KyAgT1VUIENNT1NfRU5UUlkgICoqQ21vc0VudHJ5LA0KPiArICBPVVQgVUlOVE4gICAgICAgKkNt b3NFbnRyeUNvdW50DQo+ICsgICkNCj4gK3sNCj4gKyAgKkNtb3NFbnRyeSA9IG1DbW9zVGFibGU7 DQo+ICsgICpDbW9zRW50cnlDb3VudCA9IHNpemVvZihtQ21vc1RhYmxlKS9zaXplb2YobUNtb3NU YWJsZVswXSk7DQo+ICsgIHJldHVybiBSRVRVUk5fU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoq DQo+ICsgIEZ1bmN0aW9uIHRvIGNoZWNrIGlmIEJhdHRlcnkgbG9zdCBvciBDTU9TIGNsZWFyZWQu DQo+ICsNCj4gKyAgQHJldmFsIFRSVUUgIEJhdHRlcnkgaXMgYWx3YXlzIHByZXNlbnQuDQo+ICsg IEByZXZhbCBGQUxTRSBDTU9TIGlzIGNsZWFyZWQuDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0VG SUFQSQ0KPiArQ2hlY2tDbW9zQmF0dGVyeVN0YXR1cyAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiAr ew0KPiArICAvLw0KPiArICAvLyBDaGVjayBpZiB0aGUgQ01PUyBiYXR0ZXJ5IGlzIHByZXNlbnQN Cj4gKyAgLy8gQ2hlY2tzIFJUQ19QV1JfU1RTIGJpdCBpbiB0aGUgR0VOX1BNQ09OXzEgcmVnaXN0 ZXINCj4gKyAgLy8NCj4gKw0KPiArICBpZiAoKE1taW9SZWFkOCAoUE1DX0JBU0VfQUREUkVTUyAr IFJfUENIX1BNQ19HRU5fUE1DT05fMSkgJg0KPiBCX1BDSF9QTUNfR0VOX1BNQ09OX1JUQ19QV1Jf U1RTKSA9PSAwKSB7DQo+ICsgICAgcmV0dXJuIFRSVUU7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAg cmV0dXJuIEZBTFNFOw0KPiArICB9DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtQ21vc0xpYi9QbGF0Zm9ybUNt b3MNCj4gTGliLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJh cnkvUGxhdGZvcm1DbW9zTGliL1BsYXRmb3JtQ21vcw0KPiBMaWIuaW5mDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmM1ZDhiNjY1OTENCj4gLS0tIC9kZXYvbnVs bA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1Bs YXRmb3JtQ21vc0xpYi9QbGF0Zm9ybUNtb3MNCj4gTGliLmluZg0KPiBAQCAtMCwwICsxLDMwIEBA DQo+ICsjLyoqIEBmaWxlDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTQsIElu dGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gDQo+ICsj IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyMN Cj4gDQo+ICsjDQo+ICsjDQo+ICsjKiovDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBJTkZfVkVS U0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAg ICAgICAgICAgICAgICAgICA9IFBsYXRmb3JtQ21vc0xpYg0KPiArICBGSUxFX0dVSUQgICAgICAg ICAgICAgICAgICAgICAgPSBFQ0E4ODNFRi0wQ0JFLTQwYjYtODRCQy1GQTRBNzA5NzgyRjcNCj4g KyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gQkFTRQ0KPiArICBWRVJTSU9OX1NU UklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAg ICAgICAgID0gUGxhdGZvcm1DbW9zTGliDQo+ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBQbGF0Zm9y bUNtb3NMaWIuYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIElvTGliDQo+ICsNCj4g K1tQYWNrYWdlc10NCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQ a2cuZGVjDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiBkaWZm IC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QbGF0 Zm9ybUZzcExpYi9QbGF0Zm9ybUZzcExpYi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvTGlicmFyeS9QbGF0Zm9ybUZzcExpYi9QbGF0Zm9ybUZzcExpYi5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmI5OWMzYjAxMjINCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L1BsYXRmb3JtRnNwTGliL1BsYXRmb3JtRnNwTGliLmMNCj4gQEAgLTAsMCArMSw0NCBAQA0K PiArLyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0K PiArDQo+ICsqKi8NCj4gKyNpbmNsdWRlICJQaVBlaS5oIg0KPiArI2luY2x1ZGUgPExpYnJhcnkv SG9iTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPEd1aWQvTWVtb3J5Q29uZmlnRGF0YS5o Pg0KPiArI2luY2x1ZGUgPFBsYXRmb3JtRnNwTGliLmg+DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4g K1BsYXRmb3JtSG9iQ3JlYXRlRnJvbUZzcCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklD RVMgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAg ICpIb2JMaXN0DQo+ICsgICkNCj4gK3sNCj4gKyAgVk9JRCAgICAgICAqSG9iRGF0YTsNCj4gKyAg Vk9JRCAgICAgICAqTmV3SG9iRGF0YTsNCj4gKyAgVUlOVE4gICAgICBEYXRhU2l6ZTsNCj4gKw0K PiArICAvLw0KPiArICAvLyBPdGhlciBob2IsIHRvZG86IHB1dCB0aGlzIGludG8gRnNwV3JhcFBs YXRmb3JtTGliDQo+ICsgIC8vDQo+ICsgIGlmICgoSG9iTGlzdCA9IEdldE5leHRHdWlkSG9iICgm Z0VmaU1lbW9yeUNvbmZpZ0RhdGFHdWlkLCBIb2JMaXN0KSkgIT0NCj4gTlVMTCkgew0KPiArICAg IEhvYkRhdGEgPSBHRVRfR1VJRF9IT0JfREFUQSAoSG9iTGlzdCk7DQo+ICsgICAgRGF0YVNpemUg PSBHRVRfR1VJRF9IT0JfREFUQV9TSVpFKEhvYkxpc3QpOw0KPiArICAgIERFQlVHKChFRklfRF9F UlJPUiwgImdFZmlNZW1vcnlDb25maWdEYXRhR3VpZCBIb2IgZm91bmQ6DQo+IDB4JXguXG4iLCBE YXRhU2l6ZSkpOw0KPiArDQo+ICsgICAgTmV3SG9iRGF0YSA9IEJ1aWxkR3VpZEhvYiAoJmdFZmlN ZW1vcnlDb25maWdEYXRhR3VpZCwgRGF0YVNpemUpOw0KPiArICAgICgqUGVpU2VydmljZXMpLT5D b3B5TWVtICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBOZXdIb2JEYXRhLA0KPiArICAgICAg ICAgICAgICAgICAgICAgIEhvYkRhdGEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgRGF0YVNp emUNCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJu IEVGSV9TVUNDRVNTOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvTGlicmFyeS9QbGF0Zm9ybUZzcExpYi9QbGF0Zm9ybUZzcExpYi5pDQo+ IG5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9QbGF0Zm9y bUZzcExpYi9QbGF0Zm9ybUZzcExpYi5pDQo+IG5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLmRkZDk3YzVhZDkNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BsYXRmb3JtRnNwTGli L1BsYXRmb3JtRnNwTGliLmkNCj4gbmYNCj4gQEAgLTAsMCArMSw0OSBAQA0KPiArIw0KPiArIw0K PiArIyBDb3B5cmlnaHQgKGMpIDIwMTQgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+IA0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+IA0KPiArIw0KPiArIw0KPiArIw0K PiArIyAgICBGU1AgUGxhdGZvcm0gSE9CIExpYnJhcnkNCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMj DQo+ICsNCj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAg ICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0g UGxhdGZvcm1Gc3BMaWINCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gMTMw NUE3MTItMzNBNi00ZmE3LUJBNTktQUVBQzMzNjI5MzFBDQo+ICsgIE1PRFVMRV9UWVBFICAgICAg ICAgICAgICAgICAgICA9IEJBU0UNCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAg ID0gMS4wDQo+ICsgIExJQlJBUllfQ0xBU1MgICAgICAgICAgICAgICAgICA9IFBsYXRmb3JtRnNw TGliDQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVm ZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsj DQo+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQw0KPiAr Iw0KPiArDQo+ICtbU291cmNlc10NCj4gKyAgUGxhdGZvcm1Gc3BMaWIuYw0KPiArDQo+ICtbUGFj a2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrUGtnL0lu dGVsRnJhbWV3b3JrUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5k ZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ ICsgIEludGVsRnNwV3JhcHBlclBrZy9JbnRlbEZzcFdyYXBwZXJQa2cuZGVjDQo+ICsNCj4gK1tM aWJyYXJ5Q2xhc3Nlc10NCj4gKyAgQmFzZUxpYg0KPiArICBEZWJ1Z0xpYg0KPiArICBIb2JMaWIN Cj4gKw0KPiArW0d1aWRzXQ0KPiArICBnRWZpTWVtb3J5Q29uZmlnRGF0YUd1aWQNCj4gKw0KPiBk aWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9S ZXNldFN5c3RlbUxpYi9SZXNldFN5c3RlbUxpDQo+IGIuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUmVzZXRTeXN0ZW1MaWIvUmVzZXRTeXN0ZW1MaQ0KPiBi LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZmFjOTk4ZmVm YQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL0xpYnJhcnkvUmVzZXRTeXN0ZW1MaWIvUmVzZXRTeXN0ZW1MaQ0KPiBiLmMNCj4gQEAg LTAsMCArMSwyMzUgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAw NyAtIDIwMTksIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g KyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiAr DQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIElkZUJ1cy5oDQo+ICsN Cj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFN5c3RlbSByZXNldCBMaWJyYXJ5IFNlcnZpY2VzLiAg VGhpcyBsaWJyYXJ5IGNsYXNzIHByb3ZpZGVzIGEgc2V0IG9mDQo+ICsgIG1ldGhvZHMgdG8gcmVz ZXQgd2hvbGUgc3lzdGVtIHdpdGggbWFuaXB1bGF0ZSBJQ0guDQo+ICsNCj4gKyoqLw0KPiArDQo+ ICsNCj4gKyNpbmNsdWRlIDxCYXNlLmg+DQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkv UmVzZXRTeXN0ZW1MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNp bmNsdWRlIDxMaWJyYXJ5L0lvTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNpTGliLmg+DQo+ICsNCj4gKyNpbmNsdWRlICJQY2hS ZWdzLmgiDQo+ICsjaW5jbHVkZSAiUnNjaS5oIg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtLmgiDQo+ ICsNCj4gKyNkZWZpbmUgUkVTRVRfR0VORVJBVE9SX1BPUlQgUl9QQ0hfUlNUX0NOVA0KPiArDQo+ ICtWT0lEDQo+ICtFRklBUEkNCj4gK1BsYXRmb3JtUmVzZXRIb29rICgNCj4gKyAgVUlOVDggUmVz ZXRUeXBlDQo+ICsgICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gUGxhdGZvcm0gbmVlZCB0byBz YXZlIE9TIHJlc2V0IHJlcXVlc3QvdHlwZXMgZm9yIG5leHQgQW5kcm9pZCBib290DQo+ICsgIC8v DQo+ICsgIElvV3JpdGU4ICgweDcyLCBDTU9TX1JFU0VUX1RZUEVfQllfT1MpOw0KPiArICBJb1dy aXRlOCAoMHg3MywgUmVzZXRUeXBlKTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIENhbGxpbmcg dGhpcyBmdW5jdGlvbiBjYXVzZXMgYSBzeXN0ZW0td2lkZSByZXNldC4gVGhpcyBzZXRzDQo+ICsg IGFsbCBjaXJjdWl0cnkgd2l0aGluIHRoZSBzeXN0ZW0gdG8gaXRzIGluaXRpYWwgc3RhdGUuIFRo aXMgdHlwZSBvZiByZXNldA0KPiArICBpcyBhc3luY2hyb25vdXMgdG8gc3lzdGVtIG9wZXJhdGlv biBhbmQgb3BlcmF0ZXMgd2l0aG91dCByZWdhcmQgdG8NCj4gKyAgY3ljbGUgYm91bmRhcmllcy4N Cj4gKw0KPiArICBTeXN0ZW0gcmVzZXQgc2hvdWxkIG5vdCByZXR1cm4sIGlmIGl0IHJldHVybnMs IGl0IG1lYW5zIHRoZSBzeXN0ZW0gZG9lcw0KPiArICBub3Qgc3VwcG9ydCBjb2xkIHJlc2V0Lg0K PiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Jlc2V0Q29sZCAoDQo+ICsgIFZPSUQNCj4g KyAgKQ0KPiArew0KPiArICBQbGF0Zm9ybVJlc2V0SG9vayhDT0xEX1JFU0VUKTsNCj4gKyAgSW9X cml0ZTggKFJFU0VUX0dFTkVSQVRPUl9QT1JULCAweDIpOw0KPiArICBJb1dyaXRlOCAoUkVTRVRf R0VORVJBVE9SX1BPUlQsIDB4Nik7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBDYWxsaW5nIHRo aXMgZnVuY3Rpb24gY2F1c2VzIGEgc3lzdGVtLXdpZGUgaW5pdGlhbGl6YXRpb24uIFRoZSBwcm9j ZXNzb3JzDQo+ICsgIGFyZSBzZXQgdG8gdGhlaXIgaW5pdGlhbCBzdGF0ZSwgYW5kIHBlbmRpbmcg Y3ljbGVzIGFyZSBub3QgY29ycnVwdGVkLg0KPiArDQo+ICsgIFN5c3RlbSByZXNldCBzaG91bGQg bm90IHJldHVybiwgaWYgaXQgcmV0dXJucywgaXQgbWVhbnMgdGhlIHN5c3RlbSBkb2VzDQo+ICsg IG5vdCBzdXBwb3J0IHdhcm0gcmVzZXQuDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiAr UmVzZXRXYXJtICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIFBsYXRmb3JtUmVzZXRI b29rKFdBUk1fUkVTRVQpOw0KPiArICBJb1dyaXRlOCAoUkVTRVRfR0VORVJBVE9SX1BPUlQsIDB4 MCk7DQo+ICsgIElvV3JpdGU4IChSRVNFVF9HRU5FUkFUT1JfUE9SVCwgMHg0KTsNCj4gK30NCj4g Kw0KPiArLyoqDQo+ICsgIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBjYXVzZXMgdGhlIHN5c3RlbSB0 byBlbnRlciBhIHBvd2VyIHN0YXRlIGVxdWl2YWxlbnQNCj4gKyAgdG8gdGhlIEFDUEkgRzIvUzUg b3IgRzMgc3RhdGVzLg0KPiArDQo+ICsgIFN5c3RlbSBzaHV0ZG93biBzaG91bGQgbm90IHJldHVy biwgaWYgaXQgcmV0dXJucywgaXQgbWVhbnMgdGhlIHN5c3RlbQ0KPiBkb2VzDQo+ICsgIG5vdCBz dXBwb3J0IHNodXQgZG93biByZXNldC4NCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtS ZXNldFNodXRkb3duICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQxNiAgUGNo UG1pb0Jhc2U7DQo+ICsgIFVJTlQxNiAgRGF0YTE2Ow0KPiArICBVSU5UMzIgIERhdGEzMjsNCj4g Kw0KPiArICBQY2hQbWlvQmFzZSA9IChVSU5UMTYpIChQY2lSZWFkMTYgKFBDSV9MSUJfQUREUkVT UygwLA0KPiBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBDLCAwLCBSX1BDSF9MUENfQUNQSV9CQVNF KSkgJiB+QklUMCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlbiwgR1BFMF9FTiBzaG91bGQg YmUgZGlzYWJsZWQgdG8gYXZvaWQgYW55IEdQSSB3YWtpbmcgdXAgdGhlDQo+IHN5c3RlbSBmcm9t IFM1DQo+ICsgIC8vDQo+ICsgIERhdGExNiA9IDA7DQo+ICsgIElvV3JpdGUxNiAoDQo+ICsgICAg KFVJTlROKShQY2hQbWlvQmFzZSArIFJfUENIX0FDUElfR1BFMGFfRU4pLA0KPiArICAgIChVSU5U MTYpRGF0YTE2DQo+ICsgICAgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDbGVhciBTbGVlcCBT TUkgU3RhdHVzDQo+ICsgIC8vDQo+ICsgIElvV3JpdGUxNiAoUGNoUG1pb0Jhc2UgKyBSX1BDSF9T TUlfU1RTLA0KPiArICAgICAgICAgICAgIChVSU5UMTYpKElvUmVhZDE2IChQY2hQbWlvQmFzZSAr IFJfUENIX1NNSV9TVFMpIHwNCj4gQl9QQ0hfU01JX1NUU19PTl9TTFBfRU4pKTsNCj4gKyAgLy8N Cj4gKyAgLy8gQ2xlYXIgU2xlZXAgVHlwZSBFbmFibGUNCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTE2 IChQY2hQbWlvQmFzZSArIFJfUENIX1NNSV9FTiwNCj4gKyAgICAgICAgICAgICAoVUlOVDE2KShJ b1JlYWQxNiAoUGNoUG1pb0Jhc2UgKyBSX1BDSF9TTUlfRU4pICYNCj4gKH5CX1BDSF9TTUlfRU5f T05fU0xQX0VOKSkpOw0KPiArICAvLw0KPiArICAvLyBDbGVhciBQb3dlciBCdXR0b24gU3RhdHVz DQo+ICsgIC8vDQo+ICsgIElvV3JpdGUxNihQY2hQbWlvQmFzZSArIFJfUENIX0FDUElfUE0xX1NU UywNCj4gQl9QQ0hfQUNQSV9QTTFfU1RTX1BXUkJUTik7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g U2Vjb25kbHksIFBvd2VyIEJ1dHRvbiBTdGF0dXMgYml0IG11c3QgYmUgY2xlYXJlZA0KPiArICAv Lw0KPiArICAvLyBXcml0ZSBhICIxIiB0byBiaXRbOF0gb2YgcG93ZXIgYnV0dG9uIHN0YXR1cyBy ZWdpc3RlciBhdA0KPiArICAvLyAoQUJBU0UgKyBQTTFfU1RTKSB0byBjbGVhciB0aGlzIGJpdA0K PiArICAvLyBDbGVhciBpdCB0aHJvdWdoIFNNSSBTdGF0dXMgcmVnaXN0ZXINCj4gKyAgLy8NCj4g KyAgRGF0YTE2ID0gQl9QQ0hfU01JX1NUU19QTTFfU1RTX1JFRzsNCj4gKyAgSW9Xcml0ZTE2ICgo VUlOVE4pIChQY2hQbWlvQmFzZSArIFJfUENIX1NNSV9TVFMpLCBEYXRhMTYpOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIEZpbmFsbHksIHRyYW5zZm9ybSBzeXN0ZW0gaW50byBTNSBzbGVlcCBzdGF0 ZQ0KPiArICAvLw0KPiArICBEYXRhMzIgID0gSW9SZWFkMzIgKChVSU5UTikgKFBjaFBtaW9CYXNl ICsgUl9QQ0hfQUNQSV9QTTFfQ05UKSk7DQo+ICsNCj4gKyAgRGF0YTMyICA9IChVSU5UMzIpICgo RGF0YTMyICZ+KEJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQICsNCj4gQl9QQ0hfQUNQSV9QTTFf Q05UX1NMUF9FTikpIHwgVl9QQ0hfQUNQSV9QTTFfQ05UX1M1KTsNCj4gKw0KPiArICBJb1dyaXRl MzIgKChVSU5UTikgKFBjaFBtaW9CYXNlICsgUl9QQ0hfQUNQSV9QTTFfQ05UKSwgRGF0YTMyKTsN Cj4gKw0KPiArICBEYXRhMzIgPSBEYXRhMzIgfCBCX1BDSF9BQ1BJX1BNMV9DTlRfU0xQX0VOOw0K PiArDQo+ICsgIElvV3JpdGUzMiAoKFVJTlROKSAoUGNoUG1pb0Jhc2UgKyBSX1BDSF9BQ1BJX1BN MV9DTlQpLCBEYXRhMzIpOw0KPiArDQo+ICsgIHJldHVybjsNCj4gK30NCj4gKw0KPiArLyoqDQo+ ICsgIENhbGxpbmcgdGhpcyBmdW5jdGlvbiBjYXVzZXMgdGhlIHN5c3RlbSB0byBlbnRlciBhIHBv d2VyIHN0YXRlIGZvciBjYXBzdWxlDQo+ICsgIHVwZGF0ZS4NCj4gKw0KPiArICBSZXNldCB1cGRh dGUgc2hvdWxkIG5vdCByZXR1cm4sIGlmIGl0IHJldHVybnMsIGl0IG1lYW5zIHRoZSBzeXN0ZW0g ZG9lcw0KPiArICBub3Qgc3VwcG9ydCBjYXBzdWxlIHVwZGF0ZS4NCj4gKw0KPiArKiovDQo+ICtW T0lEDQo+ICtFRklBUEkNCj4gK0VudGVyUzNXaXRoSW1tZWRpYXRlV2FrZSAoDQo+ICsgIFZPSUQN Cj4gKyAgKQ0KPiArew0KPiArICBBU1NFUlQgKEZBTFNFKTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ ICsgIFRoaXMgZnVuY3Rpb24gY2F1c2VzIGEgc3lzdGVtd2lkZSByZXNldC4gVGhlIGV4YWN0IHR5 cGUgb2YgdGhlIHJlc2V0IGlzDQo+ICsgIGRlZmluZWQgYnkgdGhlIEVGSV9HVUlEIHRoYXQgZm9s bG93cyB0aGUgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nDQo+IHBhc3NlZA0KPiArICBp bnRvIFJlc2V0RGF0YS4gSWYgdGhlIHBsYXRmb3JtIGRvZXMgbm90IHJlY29nbml6ZSB0aGUgRUZJ X0dVSUQgaW4NCj4gUmVzZXREYXRhDQo+ICsgIHRoZSBwbGF0Zm9ybSBtdXN0IHBpY2sgYSBzdXBw b3J0ZWQgcmVzZXQgdHlwZSB0byBwZXJmb3JtLlRoZSBwbGF0Zm9ybQ0KPiBtYXkNCj4gKyAgb3B0 aW9uYWxseSBsb2cgdGhlIHBhcmFtZXRlcnMgZnJvbSBhbnkgbm9uLW5vcm1hbCByZXNldCB0aGF0 IG9jY3Vycy4NCj4gKw0KPiArICBAcGFyYW1baW5dICBEYXRhU2l6ZSAgIFRoZSBzaXplLCBpbiBi eXRlcywgb2YgUmVzZXREYXRhLg0KPiArICBAcGFyYW1baW5dICBSZXNldERhdGEgIFRoZSBkYXRh IGJ1ZmZlciBzdGFydHMgd2l0aCBhIE51bGwtdGVybWluYXRlZA0KPiBzdHJpbmcsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgZm9sbG93ZWQgYnkgdGhlIEVGSV9HVUlELg0KPiArKiovDQo+ ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Jlc2V0UGxhdGZvcm1TcGVjaWZpYyAoDQo+ICsgIElOIFVJ TlROICAgRGF0YVNpemUsDQo+ICsgIElOIFZPSUQgICAgKlJlc2V0RGF0YQ0KPiArICApDQo+ICt7 DQo+ICsgIFJlc2V0Q29sZCAoKTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoZSBSZXNldFN5 c3RlbSBmdW5jdGlvbiByZXNldHMgdGhlIGVudGlyZSBwbGF0Zm9ybS4NCj4gKw0KPiArICBAcGFy YW1baW5dIFJlc2V0VHlwZSAgICAgIFRoZSB0eXBlIG9mIHJlc2V0IHRvIHBlcmZvcm0uDQo+ICsg IEBwYXJhbVtpbl0gUmVzZXRTdGF0dXMgICAgVGhlIHN0YXR1cyBjb2RlIGZvciB0aGUgcmVzZXQu DQo+ICsgIEBwYXJhbVtpbl0gRGF0YVNpemUgICAgICAgVGhlIHNpemUsIGluIGJ5dGVzLCBvZiBS ZXNldERhdGEuDQo+ICsgIEBwYXJhbVtpbl0gUmVzZXREYXRhICAgICAgRm9yIGEgUmVzZXRUeXBl IG9mIEVmaVJlc2V0Q29sZCwgRWZpUmVzZXRXYXJtLA0KPiBvciBFZmlSZXNldFNodXRkb3duDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlIGRhdGEgYnVmZmVyIHN0YXJ0cyB3aXRo IGEgTnVsbC10ZXJtaW5hdGVkIHN0cmluZywgb3B0aW9uYWxseQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGZvbGxvd2VkIGJ5IGFkZGl0aW9uYWwgYmluYXJ5IGRhdGEuIFRoZSBzdHJp bmcgaXMgYSBkZXNjcmlwdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoYXQg dGhlIGNhbGxlciBtYXkgdXNlIHRvIGZ1cnRoZXIgaW5kaWNhdGUgdGhlIHJlYXNvbiBmb3IgdGhl DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lzdGVtIHJlc2V0Lg0KPiArKiovDQo+ ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Jlc2V0U3lzdGVtICgNCj4gKyAgSU4gRUZJX1JFU0VUX1RZ UEUgICAgICAgICAgICAgICBSZXNldFR5cGUsDQo+ICsgIElOIEVGSV9TVEFUVVMgICAgICAgICAg ICAgICAgICAgUmVzZXRTdGF0dXMsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgRGF0YVNpemUsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgKlJlc2V0 RGF0YSBPUFRJT05BTA0KPiArICApDQo+ICt7DQo+ICsgIHN3aXRjaCAoUmVzZXRUeXBlKSB7DQo+ ICsgIGNhc2UgRWZpUmVzZXRXYXJtOg0KPiArICAgIFJlc2V0V2FybSAoKTsNCj4gKyAgICBicmVh azsNCj4gKw0KPiArICBjYXNlIEVmaVJlc2V0Q29sZDoNCj4gKyAgICBSZXNldENvbGQgKCk7DQo+ ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBFZmlSZXNldFNodXRkb3duOg0KPiArICAgIFJl c2V0U2h1dGRvd24gKCk7DQo+ICsgICAgcmV0dXJuOw0KPiArDQo+ICsgIGNhc2UgRWZpUmVzZXRQ bGF0Zm9ybVNwZWNpZmljOg0KPiArICAgIFJlc2V0UGxhdGZvcm1TcGVjaWZpYyAoRGF0YVNpemUs IFJlc2V0RGF0YSk7DQo+ICsgICAgcmV0dXJuOw0KPiArDQo+ICsgIGRlZmF1bHQ6DQo+ICsgICAg cmV0dXJuOw0KPiArICB9DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1Jlc2V0U3lzdGVtTGliL1Jlc2V0U3lzdGVtTGkNCj4g Yi5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1Jlc2V0 U3lzdGVtTGliL1Jlc2V0U3lzdGVtTGkNCj4gYi5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uZGIxYTkyYjM0ZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUmVzZXRTeXN0ZW1M aWIvUmVzZXRTeXN0ZW1MaQ0KPiBiLmluZg0KPiBAQCAtMCwwICsxLDQ3IEBADQo+ICsjLyoqIEBm aWxlDQo+ICsjIENvbXBvbmVudCBkZXNjcmlwdGlvbiBmaWxlIGZvciBJbnRlbCBJY2g3IFJlc2V0 IFN5c3RlbSBMaWJyYXJ5Lg0KPiArIw0KPiArIyBSZXNldCBTeXN0ZW0gTGlicmFyeSB0aGF0IGxh eWVycyBvbiB0b3Agb2YgdGhlIEkvTyBMaWJyYXJ5IHRvIGRpcmVjdGx5DQo+ICsjICBhY2Nlc3Mg YSBzdGFuZGFyZCBTTUJVUyBob3N0IGNvbnRyb2xsZXIuDQo+ICsjIENvcHlyaWdodCAoYykgMjAw NyAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g KyMNCj4gDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsNCj4gKyMNCj4gDQo+ICsjDQo+ICsjDQo+ICsjDQo+ICsjKiovDQo+ICsNCj4gK1tEZWZp bmVzXQ0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAgICA9IFJlc2V0U3lzdGVtTGliDQo+ICsg IEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IEQ0RkYwNUFBLTNDN0QtNGI4YS1BMUVF LUFBNUVGQTBCMTczMg0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBCQVNF DQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBMSUJSQVJZ X0NMQVNTICAgICAgICAgICAgICAgICAgPSBSZXNldFN5c3RlbUxpYg0KPiArICBFREtfUkVMRUFT RV9WRVJTSU9OICAgICAgICAgICAgPSAweDAwMDIwMDAwDQo+ICsgIEVGSV9TUEVDSUZJQ0FUSU9O X1ZFUlNJT04gICAgICA9IDB4MDAwMjAwMDANCj4gKw0KPiArDQo+ICsjDQo+ICsjIFRoZSBmb2xs b3dpbmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQg YnkgdGhlDQo+IGJ1aWxkIHRvb2xzLg0KPiArIw0KPiArIyAgVkFMSURfQVJDSElURUNUVVJFUyAg ICAgICAgICAgPSBJQTMyIFg2NA0KPiArIw0KPiArDQo+ICtbU291cmNlcy5jb21tb25dDQo+ICsg IFJlc2V0U3lzdGVtTGliLmMNCj4gKw0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIFZsdjJUYmx0 RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBN ZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9W bHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBJ b0xpYg0KPiArICBCYXNlTGliDQo+ICsgIERlYnVnTGliDQo+ICsgIFBjaUxpYg0KPiBkaWZmIC0t Z2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TZXJpYWxQ b3J0TGliL1BsYXRmb3JtU2VyaWFsUG9ydA0KPiBMaWIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9QbGF0Zm9ybVNlcmlhbFBvcnQN Cj4gTGliLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZmU0 N2U4ZjY4ZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9QbGF0Zm9ybVNlcmlhbFBvcnQNCj4g TGliLmgNCj4gQEAgLTAsMCArMSw1MyBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIEhlYWRlciBmaWxl IG9mIFNlcmlhbCBwb3J0IGhhcmR3YXJlIGRlZmluaXRpb24uDQo+ICsNCj4gKyAgQ29weXJpZ2h0 IChjKSAyMDA2IC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaWZuZGVmIF9fUExBVEZPUk1fU0VSSUFMX1BPUlRf TElCX0hfDQo+ICsjZGVmaW5lIF9fUExBVEZPUk1fU0VSSUFMX1BPUlRfTElCX0hfDQo+ICsNCj4g KyNpbmNsdWRlIDxCYXNlLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9TZXJpYWxQb3J0TGliLmg+DQo+ICsNCj4gKy8vDQo+ICsv LyBVQVJUIFJlZ2lzdGVyIE9mZnNldHMNCj4gKy8vDQo+ICsjZGVmaW5lIEJBVURfTE9XX09GRlNF VCAgIDB4MDANCj4gKyNkZWZpbmUgQkFVRF9ISUdIX09GRlNFVCAgMHgwMQ0KPiArI2RlZmluZSBJ RVJfT0ZGU0VUICAgICAgICAweDAxDQo+ICsjZGVmaW5lIExDUl9TSEFET1dfT0ZGU0VUIDB4MDEN Cj4gKyNkZWZpbmUgRkNSX1NIQURPV19PRkZTRVQgMHgwMg0KPiArI2RlZmluZSBJUl9DT05UUk9M X09GRlNFVCAweDAyDQo+ICsjZGVmaW5lIEZDUl9PRkZTRVQgICAgICAgIDB4MDINCj4gKyNkZWZp bmUgRUlSX09GRlNFVCAgICAgICAgMHgwMg0KPiArI2RlZmluZSBCU1JfT0ZGU0VUICAgICAgICAw eDAzDQo+ICsjZGVmaW5lIExDUl9PRkZTRVQgICAgICAgIDB4MDMNCj4gKyNkZWZpbmUgTUNSX09G RlNFVCAgICAgICAgMHgwNA0KPiArI2RlZmluZSBMU1JfT0ZGU0VUICAgICAgICAweDA1DQo+ICsj ZGVmaW5lIE1TUl9PRkZTRVQgICAgICAgIDB4MDYNCj4gKw0KPiArLy8NCj4gKy8vIFVBUlQgUmVn aXN0ZXIgQml0IERlZmluZXMNCj4gKy8vDQo+ICsjZGVmaW5lIExTUl9UWFJEWSAweDIwDQo+ICsj ZGVmaW5lIExTUl9SWERBICAweDAxDQo+ICsjZGVmaW5lIERMQUIgICAgICAweDAxDQo+ICsNCj4g KyNkZWZpbmUgVUFSVF9EQVRBICAgIDgNCj4gKyNkZWZpbmUgVUFSVF9TVE9QICAgIDENCj4gKyNk ZWZpbmUgVUFSVF9QQVJJVFkgIDANCj4gKyNkZWZpbmUgVUFSVF9CUkVBS19TRVQgIDANCj4gKw0K PiArVk9JRA0KPiArSW5pdGlhbGl6ZVNpbyAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiAr I2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExpYi5jDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TZXJpYWxQb3J0TGliL1NlcmlhbFBvcnRMaWIu Yw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5mNjAxMjU5M2Qw DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvTGlicmFyeS9TZXJpYWxQb3J0TGliL1NlcmlhbFBvcnRMaWIuYw0KPiBAQCAtMCwwICsxLDI0 NiBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIFNlcmlhbCBJL08gUG9ydCBsaWJyYXJ5IGZ1bmN0aW9u cyB3aXRoIG5vIGxpYnJhcnkgY29uc3RydWN0b3IvZGVzdHJ1Y3Rvcg0KPiArDQo+ICsgIENvcHly aWdodCAoYykgMjAwNiAtIDIwMTcsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gKw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtU2VyaWFsUG9y dExpYi5oIg0KPiArDQo+ICtVSU5UMTYgZ0NvbUJhc2UgID0gMHgzZjg7DQo+ICtVSU5UTiAgZ0Jw cyAgICAgID0gMTE1MjAwOw0KPiArVUlOVDggIGdEYXRhICAgICA9IDg7DQo+ICtVSU5UOCAgZ1N0 b3AgICAgID0gMTsNCj4gK1VJTlQ4ICBnUGFyaXR5ICAgPSAwOw0KPiArVUlOVDggIGdCcmVha1Nl dCA9IDA7DQo+ICsNCj4gKy8qKg0KPiArICBJbml0aWFsaXplIFNlcmlhbCBQb3J0DQo+ICsNCj4g KyAgVGhlIEJhdWQgUmF0ZSBEaXZpc29yIHJlZ2lzdGVycyBhcmUgcHJvZ3JhbW1lZCBhbmQgdGhl IExDUg0KPiArICBpcyB1c2VkIHRvIGNvbmZpZ3VyZSB0aGUgY29tbXVuaWNhdGlvbnMgZm9ybWF0 LiBIYXJkIGNvZGVkDQo+ICsgIFVBUlQgY29uZmlnIGNvbWVzIGZyb20gZ2xvYmFscyBpbiBEZWJ1 Z1NlcmlhbFBsYXRmb3JtIGxpYi4NCj4gKw0KPiArICBAcGFyYW0gTm9uZQ0KPiArDQo+ICsgIEBy ZXR2YWwgTm9uZQ0KPiArDQo+ICsqKi8NCj4gK1JFVFVSTl9TVEFUVVMNCj4gK0VGSUFQSQ0KPiAr VUFSVEluaXRpYWxpemUgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gRGl2 aXNvcjsNCj4gKyAgVUlOVDggT3V0cHV0RGF0YTsNCj4gKyAgVUlOVDggRGF0YTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBNYXAgNS4uOCB0byAwLi4zDQo+ICsgIC8vDQo+ICsgIERhdGEgPSAoVUlO VDgpIChnRGF0YSAtIChVSU5UOCkgNSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2FsY3VsYXRl IGRpdmlzb3IgZm9yIGJhdWQgZ2VuZXJhdG9yDQo+ICsgIC8vDQo+ICsgIERpdmlzb3IgPSAxMTUy MDAgLyBnQnBzOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCBjb21tdW5pY2F0aW9ucyBmb3Jt YXQNCj4gKyAgLy8NCj4gKyAgT3V0cHV0RGF0YSA9IChVSU5UOCkgKChETEFCIDw8IDcpIHwgKChn QnJlYWtTZXQgPDwgNikgfCAoKGdQYXJpdHkgPDwgMykgfA0KPiAoKGdTdG9wIDw8IDIpIHwgRGF0 YSkpKSk7DQo+ICsgIElvV3JpdGU4IChnQ29tQmFzZSArIExDUl9PRkZTRVQsIE91dHB1dERhdGEp Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENvbmZpZ3VyZSBiYXVkIHJhdGUNCj4gKyAgLy8NCj4g KyAgSW9Xcml0ZTggKGdDb21CYXNlICsgQkFVRF9ISUdIX09GRlNFVCwgKFVJTlQ4KSAoRGl2aXNv ciA+PiA4KSk7DQo+ICsgIElvV3JpdGU4IChnQ29tQmFzZSArIEJBVURfTE9XX09GRlNFVCwgKFVJ TlQ4KSAoRGl2aXNvciAmIDB4ZmYpKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTd2l0Y2ggYmFj ayB0byBiYW5rIDANCj4gKyAgLy8NCj4gKyAgT3V0cHV0RGF0YSA9IChVSU5UOCkgKCh+RExBQiA8 PCA3KSB8ICgoZ0JyZWFrU2V0IDw8IDYpIHwgKChnUGFyaXR5IDw8IDMpIHwNCj4gKChnU3RvcCA8 PCAyKSB8IERhdGEpKSkpOw0KPiArICBJb1dyaXRlOCAoZ0NvbUJhc2UgKyBMQ1JfT0ZGU0VULCBP dXRwdXREYXRhKTsNCj4gKw0KPiArICByZXR1cm4gUkVUVVJOX1NVQ0NFU1M7DQo+ICt9DQo+ICsN Cj4gKy8qKg0KPiArICBDb21tb24gZnVuY3Rpb24gdG8gaW5pdGlhbGl6ZSBVQVJUIFNlcmlhbCBk ZXZpY2UgYW5kIFVTQiBTZXJpYWwgZGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSBOb25lDQo+ICsN Cj4gKyAgQHJldHZhbCBOb25lDQo+ICsNCj4gKyoqLw0KPiArUkVUVVJOX1NUQVRVUw0KPiArRUZJ QVBJDQo+ICtTZXJpYWxQb3J0SW5pdGlhbGl6ZSAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0K PiArDQo+ICsgIFVBUlRJbml0aWFsaXplICgpOw0KPiArDQo+ICsNCj4gKyAgcmV0dXJuIFJFVFVS Tl9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgV3JpdGUgZGF0YSB0byBzZXJpYWwg ZGV2aWNlLg0KPiArDQo+ICsgIElmIHRoZSBidWZmZXIgaXMgTlVMTCwgdGhlbiByZXR1cm4gMDsN Cj4gKyAgaWYgTnVtYmVyT2ZCeXRlcyBpcyB6ZXJvLCB0aGVuIHJldHVybiAwLg0KPiArDQo+ICsg IEBwYXJhbSAgQnVmZmVyICAgICAgICAgICBQb2ludCBvZiBkYXRhIGJ1ZmZlciB3aGljaCBuZWVk IHRvIGJlIHdyaXRlZC4NCj4gKyAgQHBhcmFtICBOdW1iZXJPZkJ5dGVzICAgIE51bWJlciBvZiBv dXRwdXQgYnl0ZXMgd2hpY2ggYXJlIGNhY2hlZCBpbg0KPiBCdWZmZXIuDQo+ICsNCj4gKyAgQHJl dHZhbCAwICAgICAgICAgICAgICAgIFdyaXRlIGRhdGEgZmFpbGVkLg0KPiArICBAcmV0dmFsICEw ICAgICAgICAgICAgICAgQWN0dWFsIG51bWJlciBvZiBieXRlcyB3cml0ZWQgdG8gc2VyaWFsIGRl dmljZS4NCj4gKw0KPiArKiovDQo+ICtVSU5UTg0KPiArRUZJQVBJDQo+ICtVQVJURGJnT3V0ICgN Cj4gKyAgSU4gVUlOVDggICAgICpCdWZmZXIsDQo+ICsgIElOIFVJTlROICAgICBOdW1iZXJPZkJ5 dGVzDQo+ICspDQo+ICt7DQo+ICsgIFVJTlROIFJlc3VsdDsNCj4gKyAgVUlOVDggRGF0YTsNCj4g Kw0KPiArICBpZiAoTlVMTCA9PSBCdWZmZXIpIHsNCj4gKyAgICByZXR1cm4gMDsNCj4gKyAgfQ0K PiArDQo+ICsgIFJlc3VsdCA9IE51bWJlck9mQnl0ZXM7DQo+ICsNCj4gKyAgd2hpbGUgKE51bWJl ck9mQnl0ZXMtLSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gV2FpdCBmb3IgdGhlIHNlcmlhbCBw b3J0IHRvIGJlIHJlYWR5Lg0KPiArICAgIC8vDQo+ICsgICAgZG8gew0KPiArICAgICAgRGF0YSA9 IElvUmVhZDggKChVSU5UMTYpIFBjZEdldDY0IChQY2RTZXJpYWxSZWdpc3RlckJhc2UpICsNCj4g TFNSX09GRlNFVCk7DQo+ICsgICAgfSB3aGlsZSAoKERhdGEgJiBMU1JfVFhSRFkpID09IDApOw0K PiArICAgIElvV3JpdGU4ICgoVUlOVDE2KSBQY2RHZXQ2NCAoUGNkU2VyaWFsUmVnaXN0ZXJCYXNl KSwgKkJ1ZmZlcisrKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBSZXN1bHQ7DQo+ICt9DQo+ ICsNCj4gKy8qKg0KPiArICBDb21tb24gZnVuY3Rpb24gdG8gd3JpdGUgZGF0YSB0byBVQVJUIFNl cmlhbCBkZXZpY2UgYW5kIFVTQiBTZXJpYWwgZGV2aWNlLg0KPiArDQo+ICsgIEBwYXJhbSAgQnVm ZmVyICAgICAgICAgICBQb2ludCBvZiBkYXRhIGJ1ZmZlciB3aGljaCBuZWVkIHRvIGJlIHdyaXRl ZC4NCj4gKyAgQHBhcmFtICBOdW1iZXJPZkJ5dGVzICAgIE51bWJlciBvZiBvdXRwdXQgYnl0ZXMg d2hpY2ggYXJlIGNhY2hlZCBpbg0KPiBCdWZmZXIuDQo+ICsNCj4gKyoqLw0KPiArVUlOVE4NCj4g K0VGSUFQSQ0KPiArU2VyaWFsUG9ydFdyaXRlICgNCj4gKyAgSU4gVUlOVDggICAgICpCdWZmZXIs DQo+ICsgIElOIFVJTlROICAgICBOdW1iZXJPZkJ5dGVzDQo+ICspDQo+ICt7DQo+ICsgIGlmIChG ZWF0dXJlUGNkR2V0IChQY2RTdGF0dXNDb2RlVXNlSXNhU2VyaWFsKSkgew0KPiArICAgIFVBUlRE YmdPdXQgKEJ1ZmZlciwgTnVtYmVyT2ZCeXRlcyk7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4g UkVUVVJOX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBSZWFkIGRhdGEgZnJvbSBz ZXJpYWwgZGV2aWNlIGFuZCBzYXZlIHRoZSBkYXRhcyBpbiBidWZmZXIuDQo+ICsNCj4gKyAgSWYg dGhlIGJ1ZmZlciBpcyBOVUxMLCB0aGVuIHJldHVybiAwOw0KPiArICBpZiBOdW1iZXJPZkJ5dGVz IGlzIHplcm8sIHRoZW4gcmV0dXJuIDAuDQo+ICsNCj4gKyAgQHBhcmFtICBCdWZmZXIgICAgICAg ICAgIFBvaW50IG9mIGRhdGEgYnVmZmVyIHdoaWNoIG5lZWQgdG8gYmUgd3JpdGVkLg0KPiArICBA cGFyYW0gIE51bWJlck9mQnl0ZXMgICAgTnVtYmVyIG9mIG91dHB1dCBieXRlcyB3aGljaCBhcmUg Y2FjaGVkIGluDQo+IEJ1ZmZlci4NCj4gKw0KPiArICBAcmV0dmFsIDAgICAgICAgICAgICAgICAg UmVhZCBkYXRhIGZhaWxlZC4NCj4gKyAgQHJldHZhbCAhMCAgICAgICAgICAgICAgIEFjdHVhbCBu dW1iZXIgb2YgYnl0ZXMgcmFlZCB0byBzZXJpYWwgZGV2aWNlLg0KPiArDQo+ICsqKi8NCj4gK1VJ TlRODQo+ICtFRklBUEkNCj4gK1VBUlREYmdJbiAoDQo+ICsgIE9VVCBVSU5UOCAgICAgKkJ1ZmZl ciwNCj4gKyAgSU4gIFVJTlROICAgICBOdW1iZXJPZkJ5dGVzDQo+ICspDQo+ICt7DQo+ICsgIFVJ TlROIFJlc3VsdDsNCj4gKyAgVUlOVDggRGF0YTsNCj4gKw0KPiArICBpZiAoTlVMTCA9PSBCdWZm ZXIpIHsNCj4gKyAgICByZXR1cm4gMDsNCj4gKyAgfQ0KPiArDQo+ICsgIFJlc3VsdCA9IE51bWJl ck9mQnl0ZXM7DQo+ICsNCj4gKyAgd2hpbGUgKE51bWJlck9mQnl0ZXMtLSkgew0KPiArICAgIC8v DQo+ICsgICAgLy8gV2FpdCBmb3IgdGhlIHNlcmlhbCBwb3J0IHRvIGJlIHJlYWR5Lg0KPiArICAg IC8vDQo+ICsgICAgZG8gew0KPiArICAgICAgRGF0YSA9IElvUmVhZDggKChVSU5UMTYpIFBjZEdl dDY0IChQY2RTZXJpYWxSZWdpc3RlckJhc2UpICsNCj4gTFNSX09GRlNFVCk7DQo+ICsgICAgfSB3 aGlsZSAoKERhdGEgJiBMU1JfUlhEQSkgPT0gMCk7DQo+ICsNCj4gKyAgICAqQnVmZmVyKysgPSBJ b1JlYWQ4ICgoVUlOVDE2KSBQY2RHZXQ2NCAoUGNkU2VyaWFsUmVnaXN0ZXJCYXNlKSk7DQo+ICsg IH0NCj4gKw0KPiArICByZXR1cm4gUmVzdWx0Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQ29t bW9uIGZ1bmN0aW9uIHRvIFJlYWQgZGF0YSBmcm9tIFVBUlQgc2VyaWFsIGRldmljZSwgVVNCIHNl cmlhbCBkZXZpY2UNCj4gYW5kIHNhdmUgdGhlIGRhdGFzIGluIGJ1ZmZlci4NCj4gKw0KPiArICBA cGFyYW0gIEJ1ZmZlciAgICAgICAgICAgUG9pbnQgb2YgZGF0YSBidWZmZXIgd2hpY2ggbmVlZCB0 byBiZSB3cml0ZWQuDQo+ICsgIEBwYXJhbSAgTnVtYmVyT2ZCeXRlcyAgICBOdW1iZXIgb2Ygb3V0 cHV0IGJ5dGVzIHdoaWNoIGFyZSBjYWNoZWQgaW4NCj4gQnVmZmVyLg0KPiArDQo+ICsqKi8NCj4g K1VJTlRODQo+ICtFRklBUEkNCj4gK1NlcmlhbFBvcnRSZWFkICgNCj4gKyAgT1VUIFVJTlQ4ICAg ICAqQnVmZmVyLA0KPiArICBJTiAgVUlOVE4gICAgIE51bWJlck9mQnl0ZXMNCj4gKykNCj4gK3sN Cj4gKyAgaWYgKEZlYXR1cmVQY2RHZXQgKFBjZFN0YXR1c0NvZGVVc2VJc2FTZXJpYWwpKSB7DQo+ ICsgICAgVUFSVERiZ0luIChCdWZmZXIsIE51bWJlck9mQnl0ZXMpOw0KPiArICB9DQo+ICsNCj4g KyAgcmV0dXJuIFJFVFVSTl9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBQ b2xscyBhIHNlcmlhbCBkZXZpY2UgdG8gc2VlIGlmIHRoZXJlIGlzIGFueSBkYXRhIHdhaXRpbmcg dG8gYmUgcmVhZC4NCj4gKw0KPiArICBQb2xscyBhc2VyaWFsIGRldmljZSB0byBzZWUgaWYgdGhl cmUgaXMgYW55IGRhdGEgd2FpdGluZyB0byBiZSByZWFkLg0KPiArICBJZiB0aGVyZSBpcyBkYXRh IHdhaXRpbmcgdG8gYmUgcmVhZCBmcm9tIHRoZSBzZXJpYWwgZGV2aWNlLCB0aGVuIFRSVUUgaXMN Cj4gcmV0dXJuZWQuDQo+ICsgIElmIHRoZXJlIGlzIG5vIGRhdGEgd2FpdGluZyB0byBiZSByZWFk IGZyb20gdGhlIHNlcmlhbCBkZXZpY2UsIHRoZW4gRkFMU0UgaXMNCj4gcmV0dXJuZWQuDQo+ICsN Cj4gKyAgQHJldHZhbCBUUlVFICAgICAgICAgICAgIERhdGEgaXMgd2FpdGluZyB0byBiZSByZWFk IGZyb20gdGhlIHNlcmlhbCBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRkFMU0UgICAgICAgICAgICBU aGVyZSBpcyBubyBkYXRhIHdhaXRpbmcgdG8gYmUgcmVhZCBmcm9tIHRoZSBzZXJpYWwNCj4gZGV2 aWNlLg0KPiArDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArU2VyaWFsUG9ydFBv bGwgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDggIERhdGE7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gUmVhZCB0aGUgc2VyaWFsIHBvcnQgc3RhdHVzLg0KPiArICAvLw0KPiAr ICBEYXRhID0gSW9SZWFkOCAoKFVJTlQxNikgUGNkR2V0NjQgKFBjZFNlcmlhbFJlZ2lzdGVyQmFz ZSkgKw0KPiBMU1JfT0ZGU0VUKTsNCj4gKw0KPiArICByZXR1cm4gKEJPT0xFQU4pICgoRGF0YSAm IExTUl9SWERBKSAhPSAwKTsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9TZXJpYWxQb3J0TGliLmlu Zg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvU2VyaWFsUG9y dExpYi9TZXJpYWxQb3J0TGliLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi4wZTdhNmQzY2ZjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TZXJpYWxQb3J0TGliL1NlcmlhbFBv cnRMaWIuaW5mDQo+IEBAIC0wLDAgKzEsNTIgQEANCj4gKyMvKiogQGZpbGUNCj4gKyMNCj4gKyMg Q29weXJpZ2h0IChjKSAyMDA4IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMq Ki8NCj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAg ICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gU2Vy aWFsUG9ydExpYg0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSAxNUIyNkY0 My1BMzg5LTRiYWUtQkRFMy00QkIwNzE5QjdENEYNCj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAg ICAgICAgICAgID0gQkFTRQ0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAx LjANCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gU2VyaWFsUG9ydExpYg0K PiArDQo+ICsjDQo+ICsjIFRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVyZW5j ZSBvbmx5IGFuZCBub3QgcmVxdWlyZWQgYnkgdGhlDQo+IGJ1aWxkIHRvb2xzLg0KPiArIw0KPiAr IyAgVkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJQTMyIFg2NA0KPiArIw0KPiArDQo+ ICtbU291cmNlc10NCj4gKyAgU2VyaWFsUG9ydExpYi5jDQo+ICsgIFNpb0luaXQuYw0KPiArDQo+ ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIE1kZU1vZHVsZVBrZy9N ZGVNb2R1bGVQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrUGtnL0ludGVsRnJhbWV3b3JrUGtn LmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgVmx2MkRl dmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5 Q2xhc3Nlc10NCj4gKyAgQmFzZUxpYg0KPiArICBQY2RMaWINCj4gKyAgSW9MaWINCj4gKyAgUGNp TGliDQo+ICsgIFRpbWVyTGliDQo+ICsNCj4gK1tGaXhlZFBjZC5jb21tb25dDQo+ICsgIGdFZmlT ZXJpYWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU2VyaWFsQm91ZFJhdGUNCj4gKyAgZ0VmaVNlcmlh bFBvcnRUb2tlblNwYWNlR3VpZC5QY2RTZXJpYWxSZWdpc3RlckJhc2UNCj4gKw0KPiArW0ZlYXR1 cmVQY2RdDQo+ICsgIGdFZmlTZXJpYWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVz ZUlzYVNlcmlhbA0KPiArICBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0Nv ZGVVc2VVc2JTZXJpYWwNCj4gKyAgZ0VmaVNlcmlhbFBvcnRUb2tlblNwYWNlR3VpZC5QY2RTdGF0 dXNDb2RlVXNlUmFtDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2lvSW5pdC5jDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TZXJpYWxQb3J0TGliL1Npb0luaXQuYw0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5kOWQ0ODUzOWRjDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9TZXJpYWxQb3J0TGliL1Npb0luaXQuYw0KPiBAQCAtMCwwICsxLDEyNyBAQA0KPiArLyoqIEBm aWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtN b2R1bGUgTmFtZToNCj4gKw0KPiArICAgIFNpb0luaXQuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4g Kw0KPiArICAgIEZ1bmN0aW9ucyBmb3IgTHBjU2lvIGluaXRpYWxpemF0aW9uDQo+ICsNCj4gKy0t Ki8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtU2VyaWFsUG9ydExpYi5oIg0KPiArI2luY2x1 ZGUgIlNpb0luaXQuaCINCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCBSZWdp c3RlcjsNCj4gKyAgVUlOVDggVmFsdWU7DQo+ICt9IEVGSV9TSU9fVEFCTEU7DQo+ICsNCj4gK0VG SV9TSU9fVEFCTEUgbVNpb1RhYmxlV3BjbjM4MXVbXSA9IHsNCj4gKyAgICB7MHgyOSwgMHgwQTB9 LA0KPiArICAgIHtXUENOMzgxVV9MRF9TRUxfUkVHSVNURVIsIFdQQ04zODFVX0xETl9VQVJUMH0s DQo+IC8vIFNlbGVjdCBVQVJUMCBkZXZpY2UNCj4gKyAgICB7V1BDTjM4MVVfQkFTRTFfSElfUkVH SVNURVIsDQo+IChVSU5UOCkoV1BDTjM4MVVfU0VSSUFMX1BPUlQwX0JBU0VfQUREUkVTUyA+PiA4 KX0sICAgICAgIC8vIFNldCBCYXNlDQo+IEFkZHJlc3MgTVNCDQo+ICsgICAge1dQQ04zODFVX0JB U0UxX0xPX1JFR0lTVEVSLA0KPiAoVUlOVDgpKFdQQ04zODFVX1NFUklBTF9QT1JUMF9CQVNFX0FE RFJFU1MgJiAweDAwRkYpfSwgICAvLyBTZXQNCj4gQmFzZSBBZGRyZXNzIExTQg0KPiArICAgIHtX UENOMzgxVV9JUlExX1JFR0lTVEVSLCAweDAxNH0sICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHRvDQo+IElSUTQNCj4gKyAgICB7V1BD TjM4MVVfQUNUSVZBVEVfUkVHSVNURVIsIFdQQ04zODFVX0FDVElWQVRFX1ZBTFVFfSwNCj4gLy8g RW5hYmxlIGl0IHdpdGggQWN0aXZhdGlvbiBiaXQNCj4gKyAgICB7V1BDTjM4MVVfTERfU0VMX1JF R0lTVEVSLCBXUENOMzgxVV9MRE5fVUFSVDF9LA0KPiAvLyBTZWxlY3QgVUFSVDEgZGV2aWNlDQo+ ICsgICAge1dQQ04zODFVX0JBU0UxX0hJX1JFR0lTVEVSLA0KPiAoVUlOVDgpKFdQQ04zODFVX1NF UklBTF9QT1JUMV9CQVNFX0FERFJFU1MgPj4gOCl9LCAgICAgICAvLyBTZXQgQmFzZQ0KPiBBZGRy ZXNzIE1TQg0KPiArICAgIHtXUENOMzgxVV9CQVNFMV9MT19SRUdJU1RFUiwNCj4gKFVJTlQ4KShX UENOMzgxVV9TRVJJQUxfUE9SVDFfQkFTRV9BRERSRVNTICYgMHgwMEZGKX0sICAgLy8gU2V0DQo+ IEJhc2UgQWRkcmVzcyBMU0INCj4gKyAgICB7V1BDTjM4MVVfSVJRMV9SRUdJU1RFUiwgMHgwMTN9 LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IFNldCB0bw0KPiBJUlEzDQo+ICsgICAge1dQQ04zODFVX0FDVElWQVRFX1JFR0lTVEVSLCBXUENO MzgxVV9BQ1RJVkFURV9WQUxVRX0sDQo+IC8vIEVuYWJsZSBpdCB3aXRoIEFjdGl2YXRpb24gYml0 DQo+ICsgICAge1dQQ04zODFVX0xEX1NFTF9SRUdJU1RFUiwgV1BDTjM4MVVfTEROX0dQSU99LA0K PiAvLyBTZWxlY3QgR1BJTyBkZXZpY2UNCj4gKyAgICB7V1BDTjM4MVVfQkFTRTFfSElfUkVHSVNU RVIsDQo+IChVSU5UOCkoV1BDTjM4MVVfR1BJT19CQVNFX0FERFJFU1MgPj4gOCl9LCAgICAgICAg ICAgICAgIC8vIFNldCBCYXNlDQo+IEFkZHJlc3MgTVNCDQo+ICsgICAge1dQQ04zODFVX0JBU0Ux X0xPX1JFR0lTVEVSLA0KPiAoVUlOVDgpKFdQQ04zODFVX0dQSU9fQkFTRV9BRERSRVNTICYgMHgw MEZGKX0sICAgICAgICAgICAvLyBTZXQgQmFzZQ0KPiBBZGRyZXNzIExTQg0KPiArICAgIHtXUENO MzgxVV9BQ1RJVkFURV9SRUdJU1RFUiwgV1BDTjM4MVVfQUNUSVZBVEVfVkFMVUV9LA0KPiAvLyBF bmFibGUgaXQgd2l0aCBBY3RpdmF0aW9uIGJpdA0KPiArICAgIHsweDIxLCAweDAwMX0sICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gR2xvYmFsIERldmljZSBFbmFibGUNCj4gKyAgICB7MHgyNiwgMHgwMDB9DQo+ ICt9Ow0KPiArDQo+ICtFRklfU0lPX1RBQkxFIG1TaW9UYWJsZVdkY3AzNzZbXSA9IHsNCj4gKyAg ICB7MHgyOSwgMHgwQTB9LA0KPiArICAgIHtXUENOMzgxVV9MRF9TRUxfUkVHSVNURVIsIFdQQ04z ODFVX0xETl9VQVJUMH0sDQo+IC8vIFNlbGVjdCBVQVJUMCBkZXZpY2UNCj4gKyAgICB7V1BDTjM4 MVVfQkFTRTFfSElfUkVHSVNURVIsDQo+IChVSU5UOCkoV1BDTjM4MVVfU0VSSUFMX1BPUlQwX0JB U0VfQUREUkVTUyA+PiA4KX0sICAgICAgIC8vIFNldCBCYXNlDQo+IEFkZHJlc3MgTVNCDQo+ICsg ICAge1dQQ04zODFVX0JBU0UxX0xPX1JFR0lTVEVSLA0KPiAoVUlOVDgpKFdQQ04zODFVX1NFUklB TF9QT1JUMF9CQVNFX0FERFJFU1MgJiAweDAwRkYpfSwgICAvLyBTZXQNCj4gQmFzZSBBZGRyZXNz IExTQg0KPiArICAgIHtXUENOMzgxVV9JUlExX1JFR0lTVEVSLCAweDAxNH0sICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2V0IHRvDQo+IElS UTQNCj4gKyAgICB7V1BDTjM4MVVfQUNUSVZBVEVfUkVHSVNURVIsIFdQQ04zODFVX0FDVElWQVRF X1ZBTFVFfSwNCj4gLy8gRW5hYmxlIGl0IHdpdGggQWN0aXZhdGlvbiBiaXQNCj4gKyAgICB7V1BD TjM4MVVfTERfU0VMX1JFR0lTVEVSLCBXUENOMzgxVV9MRE5fVUFSVDF9LA0KPiAvLyBTZWxlY3Qg VUFSVDEgZGV2aWNlDQo+ICsgICAge1dQQ04zODFVX0JBU0UxX0hJX1JFR0lTVEVSLA0KPiAoVUlO VDgpKFdQQ04zODFVX1NFUklBTF9QT1JUMV9CQVNFX0FERFJFU1MgPj4gOCl9LCAgICAgICAvLyBT ZXQgQmFzZQ0KPiBBZGRyZXNzIE1TQg0KPiArICAgIHtXUENOMzgxVV9CQVNFMV9MT19SRUdJU1RF UiwNCj4gKFVJTlQ4KShXUENOMzgxVV9TRVJJQUxfUE9SVDFfQkFTRV9BRERSRVNTICYgMHgwMEZG KX0sICAgLy8gU2V0DQo+IEJhc2UgQWRkcmVzcyBMU0INCj4gKyAgICB7V1BDTjM4MVVfSVJRMV9S RUdJU1RFUiwgMHgwMTN9LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFNldCB0bw0KPiBJUlEzDQo+ICsgICAge1dQQ04zODFVX0FDVElWQVRF X1JFR0lTVEVSLCBXUENOMzgxVV9BQ1RJVkFURV9WQUxVRX0sDQo+IC8vIEVuYWJsZSBpdCB3aXRo IEFjdGl2YXRpb24gYml0DQo+ICsgICAge1dQQ04zODFVX0xEX1NFTF9SRUdJU1RFUiwgV1BDTjM4 MVVfTEROX0dQSU99LA0KPiAvLyBTZWxlY3QgR1BJTyBkZXZpY2UNCj4gKyAgICB7V1BDTjM4MVVf QkFTRTFfSElfUkVHSVNURVIsDQo+IChVSU5UOCkoV1BDTjM4MVVfR1BJT19CQVNFX0FERFJFU1Mg Pj4gOCl9LCAgICAgICAgICAgICAgIC8vIFNldCBCYXNlDQo+IEFkZHJlc3MgTVNCDQo+ICsgICAg e1dQQ04zODFVX0JBU0UxX0xPX1JFR0lTVEVSLA0KPiAoVUlOVDgpKFdQQ04zODFVX0dQSU9fQkFT RV9BRERSRVNTICYgMHgwMEZGKX0sICAgICAgICAgICAvLyBTZXQgQmFzZQ0KPiBBZGRyZXNzIExT Qg0KPiArICAgIHtXUENOMzgxVV9BQ1RJVkFURV9SRUdJU1RFUiwgV1BDTjM4MVVfQUNUSVZBVEVf VkFMVUV9LA0KPiAvLyBFbmFibGUgaXQgd2l0aCBBY3RpdmF0aW9uIGJpdA0KPiArICAgIHsweDIx LCAweDAwMX0sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gR2xvYmFsIERldmljZSBFbmFibGUNCj4gKyAgICB7 MHgyNiwgMHgwMDB9LA0KPiArICAgIHtXUENOMzgxVV9MRF9TRUxfUkVHSVNURVIsIFdQQ04zODFV X0xETl9QUzJLfSwNCj4gLy8gU2VsZWN0IFBTMiBLZXlib2FyZA0KPiArICAgIHtXUENOMzgxVV9C QVNFMV9ISV9SRUdJU1RFUiwNCj4gKFVJTlQ4KShXUENOMzgxVV9LQl9CQVNFMV9BRERSRVNTID4+ IDgpfSwgICAgICAgICAgICAgICAgLy8gU2V0IEJhc2UgQWRkcmVzcw0KPiBNU0INCj4gKyAgICB7 V1BDTjM4MVVfQkFTRTFfTE9fUkVHSVNURVIsDQo+IChVSU5UOCkoV1BDTjM4MVVfS0JfQkFTRTFf QUREUkVTUyAmIDB4MDBGRil9LCAgICAgICAgICAgIC8vIFNldCBCYXNlDQo+IEFkZHJlc3MgTFNC DQo+ICsgICAge1dQQ04zODFVX0JBU0UyX0hJX1JFR0lTVEVSLA0KPiAoVUlOVDgpKFdQQ04zODFV X0tCX0JBU0UyX0FERFJFU1MgPj4gOCl9LCAgICAgICAgICAgICAgICAvLyBTZXQgQmFzZSBBZGRy ZXNzDQo+IE1TQg0KPiArICAgIHtXUENOMzgxVV9CQVNFMl9MT19SRUdJU1RFUiwNCj4gKFVJTlQ4 KShXUENOMzgxVV9LQl9CQVNFMl9BRERSRVNTICYgMHgwMEZGKX0sICAgICAgICAgICAgLy8gU2V0 IEJhc2UNCj4gQWRkcmVzcyBMU0INCj4gKyAgICB7V1BDTjM4MVVfSVJRMV9SRUdJU1RFUiwgMHgw MTF9LCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IC8vIFNldCB0bw0KPiBJUlExDQo+ICsgICAgezB4RjAsIChTSU9fS0JDX0NMT0NLIDw8IDYpfSwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBTZWxlY3QgS0JDDQo+IENsb2NrIFNvdXJjZQ0KPiArICAgIHtXUENOMzgxVV9BQ1RJVkFURV9S RUdJU1RFUiwgV1BDTjM4MVVfQUNUSVZBVEVfVkFMVUV9LA0KPiAvLyBFbmFibGUgaXQgd2l0aCBB Y3RpdmF0aW9uIGJpdA0KPiArICAgIHtXUENOMzgxVV9MRF9TRUxfUkVHSVNURVIsIFdQQ04zODFV X0xETl9QUzJNfSwNCj4gLy8gU2VsZWN0IFBTMiBNb3VzZQ0KPiArICAgIHtXUENOMzgxVV9JUlEx X1JFR0lTVEVSLCAweDAxY30sICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgLy8gU2V0IHRvDQo+IElSUTEyDQo+ICsgICAge1dQQ04zODFVX0FDVElW QVRFX1JFR0lTVEVSLCBXUENOMzgxVV9BQ1RJVkFURV9WQUxVRX0NCj4gLy8gRW5hYmxlIGl0IHdp dGggQWN0aXZhdGlvbiBiaXQNCj4gK307DQo+ICsNCj4gKy8qKg0KPiArICBJbml0aWFsaXphdGlv biBmb3IgU0lPLg0KPiArDQo+ICsgIEBwYXJhbSBGZnNIZWFkZXIgICAgIEZWIHRoaXMgUEVJTSB3 YXMgbG9hZGVkIGZyb20uDQo+ICsgIEBwYXJhbSBQZWlTZXJ2aWNlcyAgIEdlbmVyYWwgcHVycG9z ZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkgUEVJTS4NCj4gKw0KPiArICBOb25lDQo+ICsN Cj4gKyoqLw0KPiArVk9JRA0KPiArSW5pdGlhbGl6ZVNpbyAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0K PiArew0KPiArICBVSU5UMTYgICAgICAgICAgSW5kZXg7DQo+ICsgIFVJTlQxNiAgICAgICAgICBJ bmRleFBvcnQ7DQo+ICsgIFVJTlQxNiAgICAgICAgICBEYXRhUG9ydDsNCj4gKw0KPiArICAvLw0K PiArICAvLyBTdXBlciBJL08gaW5pdGlhbGl6YXRpb24gZm9yIFdpbmJvbmQgV1BDTjM4MVUNCj4g KyAgLy8NCj4gKyAgSW5kZXhQb3J0ICA9IFdQQ04zODFVX0NPTkZJR19JTkRFWDsNCj4gKyAgRGF0 YVBvcnQgICA9IFdQQ04zODFVX0NPTkZJR19EQVRBOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENo ZWNrIGZvciBXaW5ib25kIFdQQ04zODFVDQo+ICsgIC8vDQo+ICsgIElvV3JpdGU4IChJbmRleFBv cnQsIFdQQ04zODFVX0RFVl9JRF9SRUdJU1RFUik7ICAgLy8gV2luYm9uZA0KPiBXUENOMzgxVSBE ZXZpY2UgSUQgcmVnaXN0ZXIgaXMgMHgyMA0KPiArDQo+ICsgIGlmIChJb1JlYWQ4IChEYXRhUG9y dCkgPT0gV1BDTjM4MVVfQ0hJUF9JRCkgeyAgIC8vIFdpbmJvbmQgV1BDTjM4MVUNCj4gRGV2aWNl IElEIGlzIDB4RjQNCj4gKyAgICAvLw0KPiArICAgIC8vIENvbmZpZ3VyZSBXUENOMzgxVSBTSU8N Cj4gKyAgICAvLw0KPiArICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IHNpemVvZiAobVNpb1Rh YmxlV3BjbjM4MXUpIC8gc2l6ZW9mDQo+IChFRklfU0lPX1RBQkxFKTsgSW5kZXgrKykgew0KPiAr ICAgICAgSW9Xcml0ZTggKEluZGV4UG9ydCwgbVNpb1RhYmxlV3BjbjM4MXVbSW5kZXhdLlJlZ2lz dGVyKTsNCj4gKyAgICAgIElvV3JpdGU4IChEYXRhUG9ydCwgbVNpb1RhYmxlV3BjbjM4MXVbSW5k ZXhdLlZhbHVlKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoSW9SZWFkOCAoRGF0 YVBvcnQpID09IFdEQ1AzNzZfQ0hJUF9JRCkgeyAgIC8vIFdpbmJvbmQgV0RDUDM3Ng0KPiBEZXZp Y2UgSUQgaXMgMHhGMQ0KPiArICAgIC8vDQo+ICsgICAgLy8gQ29uZmlndXJlIFdEQ1AzNzYgU0lP DQo+ICsgICAgLy8NCj4gKyAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBzaXplb2YgKG1TaW9U YWJsZVdkY3AzNzYpIC8gc2l6ZW9mDQo+IChFRklfU0lPX1RBQkxFKTsgSW5kZXgrKykgew0KPiAr ICAgICAgSW9Xcml0ZTggKEluZGV4UG9ydCwgbVNpb1RhYmxlV2RjcDM3NltJbmRleF0uUmVnaXN0 ZXIpOw0KPiArICAgICAgSW9Xcml0ZTggKERhdGFQb3J0LCBtU2lvVGFibGVXZGNwMzc2W0luZGV4 XS5WYWx1ZSk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsgIHJldHVybjsNCj4gK30NCj4gZGlmZiAt LWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvU2VyaWFsUG9y dExpYi9TaW9Jbml0LmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L1NlcmlhbFBvcnRMaWIvU2lvSW5pdC5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAuLjA2ZmExOWI5M2QNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2lvSW5p dC5oDQo+IEBAIC0wLDAgKzEsNjIgQEANCj4gKy8qKiBAZmlsZQ0KPiArICBIZWFkZXIgZmlsZSBv ZiBTZXJpYWwgcG9ydCBoYXJkd2FyZSBkZWZpbml0aW9uLg0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAxMiAgLSAyMDE3LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gKw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX1NJT19JTklUX0hfDQo+ICsjZGVmaW5l IF9TSU9fSU5JVF9IXw0KPiArDQo+ICsjZGVmaW5lIFdQQ04zODFVX0NPTkZJR19JTkRFWCAgICAg ICAgICAgICAgIDB4MkUNCj4gKyNkZWZpbmUgV1BDTjM4MVVfQ09ORklHX0RBVEEgICAgICAgICAg ICAgICAgMHgyRg0KPiArI2RlZmluZSBXUENOMzgxVV9DT05GSUdfSU5ERVgxICAgICAgICAgICAg ICAweDE2NEUNCj4gKyNkZWZpbmUgV1BDTjM4MVVfQ09ORklHX0RBVEExICAgICAgICAgICAgICAg MHgxNjRGDQo+ICsjZGVmaW5lIFdQQ04zODFVX0NISVBfSUQgICAgICAgICAgICAgICAgICAgIDB4 RjQNCj4gKyNkZWZpbmUgV0RDUDM3Nl9DSElQX0lEICAgICAgICAgICAgICAgICAgICAgMHhGMQ0K PiArDQo+ICsvLw0KPiArLy8gU0lPIExvZ2ljYWwgRGV2aWNlcyBOdW1iZXJzDQo+ICsvLw0KPiAr I2RlZmluZSBXUENOMzgxVV9MRE5fVUFSVDAgICAgICAgICAgICAgICAgICAweDAzICAgLy8gTERO IGZvciBTZXJpYWwgUG9ydA0KPiBDb250cm9sbGVyDQo+ICsjZGVmaW5lIFdQQ04zODFVX0xETl9V QVJUMSAgICAgICAgICAgICAgICAgIDB4MDIgICAvLyBMRE4gZm9yIFBhcmFsbGVsIFBvcnQNCj4g Q29udHJvbGxlcg0KPiArI2RlZmluZSBXUENOMzgxVV9MRE5fUFMySyAgICAgICAgICAgICAgICAg ICAweDA2ICAgLy8gTEROIGZvciBQUzIgS2V5Ym9hcmQNCj4gQ29udHJvbGxlcg0KPiArI2RlZmlu ZSBXUENOMzgxVV9MRE5fUFMyTSAgICAgICAgICAgICAgICAgICAweDA1ICAgLy8gTEROIGZvciBQ UzIgTW91c2UNCj4gQ29udHJvbGxlcg0KPiArI2RlZmluZSBXUENOMzgxVV9LQl9CQVNFMV9BRERS RVNTICAgICAgICAgICAweDYwICAgLy8gQmFzZSBBZGRyZXNzIG9mIEtCDQo+IGNvbnRyb2xsZXIN Cj4gKyNkZWZpbmUgV1BDTjM4MVVfS0JfQkFTRTJfQUREUkVTUyAgICAgICAgICAgMHg2NCAgIC8v IEJhc2UgQWRkcmVzcyBvZiBLQg0KPiBjb250cm9sbGVyDQo+ICsjZGVmaW5lIFNJT19LQkNfQ0xP Q0sgICAgICAgICAgICAgICAgICAgICAgIDB4MDEgICAvLyAwLzEvMiAtIDgvMTIvMTYgTUh6IEtC QyBDbG9jaw0KPiBTb3VyY2UNCj4gKyNkZWZpbmUgV1BDTjM4MVVfTEROX0dQSU8gICAgICAgICAg ICAgICAgICAgMHgwNyAgIC8vIExETiBmb3IgR1BJTw0KPiArDQo+ICsvLw0KPiArLy8gU0lPIFJl Z2lzdGVycyBMYXlvdXQNCj4gKy8vDQo+ICsjZGVmaW5lIFdQQ04zODFVX0xEX1NFTF9SRUdJU1RF UiAgICAgICAgICAgIDB4MDcgICAvLyBMb2dpY2FsIERldmljZSBTZWxlY3QNCj4gUmVnaXN0ZXIg QWRkcmVzcw0KPiArI2RlZmluZSBXUENOMzgxVV9ERVZfSURfUkVHSVNURVIgICAgICAgICAgICAw eDIwICAgLy8gRGV2aWNlIElkZW50aWZpY2F0aW9uDQo+IFJlZ2lzdGVyIEFkZHJlc3MNCj4gKyNk ZWZpbmUgV1BDTjM4MVVfQUNUSVZBVEVfUkVHSVNURVIgICAgICAgICAgMHgzMCAgIC8vIERldmlj ZSBJZGVudGlmaWNhdGlvbg0KPiBSZWdpc3RlciBBZGRyZXNzDQo+ICsjZGVmaW5lIFdQQ04zODFV X0JBU0UxX0hJX1JFR0lTVEVSICAgICAgICAgIDB4NjAgICAvLyBEZXZpY2UgQmFzZUFkZHJlcw0K PiBSZWdpc3RlciAjMSBNU0IgQWRkcmVzcw0KPiArI2RlZmluZSBXUENOMzgxVV9CQVNFMV9MT19S RUdJU1RFUiAgICAgICAgICAweDYxICAgLy8gRGV2aWNlIEJhc2VBZGRyZXMNCj4gUmVnaXN0ZXIg IzEgTFNCIEFkZHJlc3MNCj4gKyNkZWZpbmUgV1BDTjM4MVVfQkFTRTJfSElfUkVHSVNURVIgICAg ICAgICAgMHg2MiAgIC8vIERldmljZSBCYXNlQWRkcmVzDQo+IFJlZ2lzdGVyICMxIE1TQiBBZGRy ZXNzDQo+ICsjZGVmaW5lIFdQQ04zODFVX0JBU0UyX0xPX1JFR0lTVEVSICAgICAgICAgIDB4NjMg ICAvLyBEZXZpY2UgQmExZUFkZHJlcw0KPiBSZWdpc3RlciAjMSBMU0IgQWRkcmVzcw0KPiArI2Rl ZmluZSBXUENOMzgxVV9JUlExX1JFR0lTVEVSICAgICAgICAgICAgICAweDcwICAgLy8gRGV2aWNl IElSUSBSZWdpc3RlciAjMQ0KPiBBZGRyZXNzDQo+ICsjZGVmaW5lIFdQQ04zODFVX0lSUTJfUkVH SVNURVIgICAgICAgICAgICAgIDB4NzEgICAvLyBEZXZpY2UgSVJRIFJlZ2lzdGVyICMyDQo+IEFk ZHJlc3MNCj4gKw0KPiArLy8NCj4gKy8vIFNJTyBBY3RpdmF0aW9uIFZhbHVlcw0KPiArLy8NCj4g KyNkZWZpbmUgV1BDTjM4MVVfQUNUSVZBVEVfVkFMVUUgICAgICAgICAgICAgMHgwMSAgIC8vIFZh bHVlIHRvIGFjdGl2YXRlDQo+IERldmljZQ0KPiArI2RlZmluZSBXUENOMzgxVV9ERUFDVElWQVRF X1ZBTFVFICAgICAgICAgICAweDAwICAgLy8gVmFsdWUgdG8gZGVhY3RpdmF0ZQ0KPiBEZXZpY2UN Cj4gKw0KPiArLy8NCj4gKy8vIFNJTyBHUElPDQo+ICsvLw0KPiArI2RlZmluZSBXUENOMzgxVV9H UElPX0JBU0VfQUREUkVTUyAgICAgICAgICAweDBBMjAgLy8gU0lPIEdQSU8gQmFzZQ0KPiBBZGRy ZXNzDQo+ICsNCj4gKy8vDQo+ICsvLyBTSU8gU2VyaWFsIFBvcnQgU2V0dGluZ3MNCj4gKy8vDQo+ ICsjZGVmaW5lIFdQQ04zODFVX1NFUklBTF9QT1JUMF9CQVNFX0FERFJFU1MgIDB4MDNGOCAvLyBC YXNlDQo+IEFkZHJlc3Mgb2YgU2VyaWFsIFBvcnQgMCAoQ09NQSAvIFVBUlQwKQ0KPiArI2RlZmlu ZSBXUENOMzgxVV9TRVJJQUxfUE9SVDFfQkFTRV9BRERSRVNTICAweDAyRjggLy8gQmFzZQ0KPiBB ZGRyZXNzIG9mIFNlcmlhbCBQb3J0IDEgKENPTUIgLyBVQVJUMSkNCj4gKw0KPiArI2VuZGlmDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5 L1NtYnVzTGliL0NvbW1vbkhlYWRlci5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvTGlicmFyeS9TbWJ1c0xpYi9Db21tb25IZWFkZXIuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5kMzRkZDk0MmQzDQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TbWJ1c0xp Yi9Db21tb25IZWFkZXIuaA0KPiBAQCAtMCwwICsxLDI2IEBADQo+ICsvKipAZmlsZQ0KPiArICBD b21tb24gaGVhZGVyIGZpbGUgc2hhcmVkIGJ5IGFsbCBzb3VyY2UgZmlsZXMuDQo+ICsNCj4gKyAg VGhpcyBmaWxlIGluY2x1ZGVzIHBhY2thZ2UgaGVhZGVyIGZpbGVzLCBsaWJyYXJ5IGNsYXNzZXMu DQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsqKi8NCj4gKw0K PiArI2lmbmRlZiBfX0NPTU1PTl9IRUFERVJfSF8NCj4gKyNkZWZpbmUgX19DT01NT05fSEVBREVS X0hfDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgPEJhc2UuaD4NCj4gKyNpbmNsdWRlIDxQY2hBY2Nl c3MuaD4NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvU21idXNMaWIuaD4NCj4gKyNpbmNsdWRl IDxMaWJyYXJ5L0lvTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2lMaWIuaD4NCj4gKyNp bmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2RMaWIu aD4NCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L1NtYnVzTGliL1NtYnVzTGliLmMNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1NtYnVzTGliL1NtYnVzTGliLmMNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNDA1MjcyNDgxMg0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkv U21idXNMaWIvU21idXNMaWIuYw0KPiBAQCAtMCwwICsxLDg3MyBAQA0KPiArLyoqIEBmaWxlDQo+ ICsgIEludGVsIElDSDkgU01CVVMgbGlicmFyeSBpbXBsZW1lbnRhdGlvbiBidWlsdCB1cG9uIEkv TyBsaWJyYXJ5Lg0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTQsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiAr DQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ICsvKioN Cj4gKyAgR2V0cyBJbyBwb3J0IGJhc2UgYWRkcmVzcyBvZiBTbWJ1cyBIb3N0IENvbnRyb2xsZXIu DQo+ICsNCj4gKyAgVGhpcyBpbnRlcm5hbCBmdW5jdGlvbiBkZXBlbmRzIG9uIGEgZmVhdHVyZSBm bGFnIG5hbWVkDQo+IFBjZEljaFNtYnVzRml4ZWRJb1BvcnRCYXNlQWRkcmVzcw0KPiArICB0byBy ZXRyaWV2ZSBTbWJ1cyBJbyBwb3J0IGJhc2UuIElmIHRoYXQgZmVhdHVyZSBmbGFnIGlzIHRydWUs IGl0IHdpbGwgZ2V0IFNtYnVzDQo+IElvIHBvcnQgYmFzZQ0KPiArICBhZGRyZXNzIGZyb20gYSBw cmVzZXQgUGNkIGVudHJ5IG5hbWVkIFBjZEljaFNtYnVzSW9Qb3J0QmFzZUFkZHJlc3M7DQo+IG90 aGVyd2lzZSwgaXQgd2lsbCBhbHdheXMNCj4gKyAgcmVhZCBQY2kgY29uZmlndXJhdGlvbiBzcGFj ZSB0byBnZXQgdGhhdCB2YWx1ZSBpbiBlYWNoIFNtYnVzIGJ1cw0KPiB0cmFuc2FjdGlvbi4NCj4g Kw0KPiArICBAcmV0dXJuIFRoZSBJbyBwb3J0IGJhc2UgYWRkcmVzcyBvZiBTbWJ1cyBob3N0IGNv bnRyb2xsZXIuDQo+ICsNCj4gKyoqLw0KPiArVUlOVE4NCj4gK0ludGVybmFsR2V0U21idXNJb1Bv cnRCYXNlQWRkcmVzcyAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiAgICAg SW9Qb3J0QmFzZUFkZHJlc3M7DQo+ICsNCj4gKyAgSW9Qb3J0QmFzZUFkZHJlc3MgPSAoVUlOVE4p IE1taW9SZWFkMzIgKE1tUGNpQWRkcmVzcyAoMCwNCj4gREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9Q Q0gsIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9TTUJVUywNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9Q Q0hfU01CVVMsIFJfUENIX1NNQlVTX0JBU0UpKSAmDQo+IEJfUENIX1NNQlVTX0JBU0VfQkFSOw0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2Ugc3VyZSB0aGF0IHRoZSBJTyBwb3J0IGJhc2UgYWRk cmVzcyBoYXMgYmVlbiBwcm9wZXJseSBzZXQuDQo+ICsgIC8vDQo+ICsgIEFTU0VSVCAoSW9Qb3J0 QmFzZUFkZHJlc3MgIT0gMCk7DQo+ICsNCj4gKyAgcmV0dXJuIElvUG9ydEJhc2VBZGRyZXNzOw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQWNxdWlyZXMgdGhlIG93bmVyc2hpcCBvZiBTTUJVUy4N Cj4gKw0KPiArICBUaGlzIGludGVybmFsIGZ1bmN0aW9uIHJlYWRzIHRoZSBob3N0IHN0YXRlIHJl Z2lzdGVyLg0KPiArICBJZiB0aGUgU01CVVMgaXMgbm90IGF2YWlsYWJsZSwgUkVUVVJOX1RJTUVP VVQgaXMgcmV0dXJuZWQ7DQo+ICsgIE90aGVyd2lzZSwgaXQgcGVyZm9ybXMgc29tZSBiYXNpYyBp bml0aWFsaXphdGlvbnMgYW5kIHJldHVybnMNCj4gKyAgUkVUVVJOX1NVQ0NFU1MuDQo+ICsNCj4g KyAgQHBhcmFtICBJb1BvcnRCYXNlQWRkcmVzcyBUaGUgSW8gcG9ydCBiYXNlIGFkZHJlc3Mgb2Yg U21idXMgSG9zdA0KPiBjb250cm9sbGVyLg0KPiArDQo+ICsgIEByZXR2YWwgUkVUVVJOX1NVQ0NF U1MgICAgVGhlIFNNQlVTIGNvbW1hbmQgd2FzIGV4ZWN1dGVkDQo+IHN1Y2Nlc3NmdWxseS4NCj4g KyAgQHJldHZhbCBSRVRVUk5fVElNRU9VVCAgICBBIHRpbWVvdXQgb2NjdXJyZWQgd2hpbGUgZXhl Y3V0aW5nIHRoZQ0KPiBTTUJVUyBjb21tYW5kLg0KPiArDQo+ICsqKi8NCj4gK1JFVFVSTl9TVEFU VVMNCj4gK0ludGVybmFsU21CdXNBY3F1aXJlICgNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBJb1BvcnRCYXNlQWRkcmVzcw0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQ4ICAgSG9zdFN0 YXR1czsNCj4gKw0KPiArICBIb3N0U3RhdHVzID0gSW9SZWFkOCAoSW9Qb3J0QmFzZUFkZHJlc3Mg KyBSX1BDSF9TTUJVU19IU1RTKTsNCj4gKyAgaWYgKChIb3N0U3RhdHVzICYgQl9QQ0hfU01CVVNf SVVTKSAhPSAwKSB7DQo+ICsgICAgcmV0dXJuIFJFVFVSTl9USU1FT1VUOw0KPiArICB9IGVsc2Ug aWYgKChIb3N0U3RhdHVzICYgQl9QQ0hfU01CVVNfSEJTWSkgIT0gMCkgew0KPiArICAgIC8vDQo+ ICsgICAgLy8gQ2xlYXIgaG9zdCBzdGF0dXMgcmVnaXN0ZXIgYW5kIGV4aXQuDQo+ICsgICAgLy8N Cj4gKyAgICBJb1dyaXRlOCAoSW9Qb3J0QmFzZUFkZHJlc3MgKyBSX1BDSF9TTUJVU19IU1RTLA0K PiBCX1BDSF9TTUJVU19IU1RTX0FMTCk7DQo+ICsgICAgcmV0dXJuIFJFVFVSTl9USU1FT1VUOw0K PiArICB9DQo+ICsgIC8vDQo+ICsgIC8vIENsZWFyIG91dCBhbnkgb2RkIHN0YXR1cyBpbmZvcm1h dGlvbiAoV2lsbCBOb3QgQ2xlYXIgSW4gVXNlKS4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTggKElv UG9ydEJhc2VBZGRyZXNzICsgUl9QQ0hfU01CVVNfSFNUUywgSG9zdFN0YXR1cyk7DQo+ICsNCj4g KyAgcmV0dXJuIFJFVFVSTl9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgU3RhcnRz IHRoZSBTTUJVUyB0cmFuc2FjdGlvbiBhbmQgd2FpdHMgdW50aWwgdGhlIGVuZC4NCj4gKw0KPiAr ICBUaGlzIGludGVybmFsIGZ1bmN0aW9uIHN0YXJ0IHRoZSBTTUJVUyB0cmFuc2FjdGlvbiBhbmQg d2FpdHMgdW50aWwgdGhlDQo+IHRyYW5zYWN0aW9uDQo+ICsgIG9mIFNNQlVTIGlzIG92ZXIgYnkg cG9sbGluZyB0aGUgSU5UUiBiaXQgb2YgSG9zdCBzdGF0dXMgcmVnaXN0ZXIuDQo+ICsgIElmIHRo ZSBTTUJVUyBpcyBub3QgYXZhaWxhYmxlLCBSRVRVUk5fVElNRU9VVCBpcyByZXR1cm5lZDsNCj4g KyAgT3RoZXJ3aXNlLCBpdCBwZXJmb3JtcyBzb21lIGJhc2ljIGluaXRpYWxpemF0aW9ucyBhbmQg cmV0dXJucw0KPiArICBSRVRVUk5fU1VDQ0VTUy4NCj4gKw0KPiArICBAcGFyYW0gIElvUG9ydEJh c2VBZGRyZXNzICAgVGhlIElvIHBvcnQgYmFzZSBhZGRyZXNzIG9mIFNtYnVzIEhvc3QNCj4gY29u dHJvbGxlci4NCj4gKyAgQHBhcmFtICBIb3N0Q29udHJvbCAgICAgICAgIFRoZSBIb3N0IGNvbnRy b2wgY29tbWFuZCB0byBzdGFydCBTTUJVUw0KPiB0cmFuc2FjdGlvbi4NCj4gKw0KPiArICBAcmV0 dmFsIFJFVFVSTl9TVUNDRVNTICAgICAgVGhlIFNNQlVTIGNvbW1hbmQgd2FzIGV4ZWN1dGVkDQo+ IHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBSRVRVUk5fQ1JDX0VSUk9SICAgIFRoZSBjaGVj a3N1bSBpcyBub3QgY29ycmVjdCAoUEVDIGlzDQo+IGluY29ycmVjdCkuDQo+ICsgIEByZXR2YWwg UkVUVVJOX0RFVklDRV9FUlJPUiBUaGUgcmVxdWVzdCB3YXMgbm90IGNvbXBsZXRlZCBiZWNhdXNl DQo+IGEgZmFpbHVyZSByZWZsZWN0ZWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGluIHRoZSBIb3N0IFN0YXR1cyBSZWdpc3RlciBiaXQuICBEZXZpY2UgZXJyb3JzIGFyZQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYSByZXN1bHQgb2YgYSB0cmFuc2FjdGlvbiBj b2xsaXNpb24sIGlsbGVnYWwgY29tbWFuZCBmaWVsZCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHVuY2xhaW1lZCBjeWNsZSAoaG9zdCBpbml0aWF0ZWQpLCBvciBidXMgZXJyb3Jz IChjb2xsaXNpb25zKS4NCj4gKw0KPiArKiovDQo+ICtSRVRVUk5fU1RBVFVTDQo+ICtJbnRlcm5h bFNtQnVzU3RhcnQgKA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAgSW9Qb3J0QmFz ZUFkZHJlc3MsDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAgICAgICAgICBIb3N0Q29udHJvbA0K PiArICApDQo+ICt7DQo+ICsgIFVJTlQ4ICAgSG9zdFN0YXR1czsNCj4gKyAgVUlOVDggICBBdXhp bGlhcnlTdGF0dXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0IEhvc3QgQ29udHJvbCBSZWdp c3RlciAoSW5pdGlhdGUgT3BlcmF0aW9uLCBJbnRlcnJ1cHQgZGlzYWJsZWQpLg0KPiArICAvLw0K PiArICBJb1dyaXRlOCAoSW9Qb3J0QmFzZUFkZHJlc3MgKyBSX1BDSF9TTUJVU19IQ1RMLA0KPiAo VUlOVDgpKEhvc3RDb250cm9sICsgQl9QQ0hfU01CVVNfU1RBUlQpKTsNCj4gKw0KPiArICBkbyB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBQb2xsIElOVFIgYml0IG9mIEhvc3QgU3RhdHVzIFJlZ2lz dGVyLg0KPiArICAgIC8vDQo+ICsgICAgSG9zdFN0YXR1cyA9IElvUmVhZDggKElvUG9ydEJhc2VB ZGRyZXNzICsgUl9QQ0hfU01CVVNfSFNUUyk7DQo+ICsgIH0gd2hpbGUgKChIb3N0U3RhdHVzICYg KEJfUENIX1NNQlVTX0lOVFIgfCBCX1BDSF9TTUJVU19FUlJPUlMgfA0KPiBCX1BDSF9TTUJVU19C WVRFX0RPTkVfU1RTKSkgPT0gMCk7DQo+ICsNCj4gKyAgaWYgKChIb3N0U3RhdHVzICYgQl9QQ0hf U01CVVNfRVJST1JTKSA9PSAwKSB7DQo+ICsgICAgcmV0dXJuIFJFVFVSTl9TVUNDRVNTOw0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2xlYXIgZXJyb3IgYml0cyBvZiBIb3N0IFN0YXR1 cyBSZWdpc3Rlci4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTggKElvUG9ydEJhc2VBZGRyZXNzICsg Ul9QQ0hfU01CVVNfSFNUUywNCj4gQl9QQ0hfU01CVVNfRVJST1JTKTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBSZWFkIEF1eGlsaWFyeSBTdGF0dXMgUmVnaXN0ZXIgdG8ganVkZ2UgQ1JDIGVycm9y Lg0KPiArICAvLw0KPiArICBBdXhpbGlhcnlTdGF0dXMgPSBJb1JlYWQ4IChJb1BvcnRCYXNlQWRk cmVzcyArIFJfUENIX1NNQlVTX0FVWFMpOw0KPiArICBpZiAoKEF1eGlsaWFyeVN0YXR1cyAmIEJf UENIX1NNQlVTX0NSQ0UpICE9IDApIHsNCj4gKyAgICByZXR1cm4gUkVUVVJOX0NSQ19FUlJPUjsN Cj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBSRVRVUk5fREVWSUNFX0VSUk9SOw0KPiArfQ0KPiAr DQo+ICsvKioNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMgcXVpY2ssIGJ5dGUgb3Igd29yZCBjb21t YW5kLg0KPiArDQo+ICsgIFRoaXMgaW50ZXJuYWwgZnVuY3Rpb24gZXhlY3V0ZXMgYW4gU01CVVMg cXVpY2ssIGJ5dGUgb3Igd29yZCBjb21tb25kLg0KPiArICBJZiBTdGF0dXMgaXMgbm90IE5VTEws IHRoZW4gdGhlIHN0YXR1cyBvZiB0aGUgZXhlY3V0ZWQgY29tbWFuZCBpcyByZXR1cm5lZA0KPiBp biBTdGF0dXMuDQo+ICsNCj4gKyAgQHBhcmFtICBIb3N0Q29udHJvbCAgICAgVGhlIHZhbHVlIG9m IEhvc3QgQ29udHJvbCBSZWdpc3RlciB0byBzZXQuDQo+ICsgIEBwYXJhbSAgU21CdXNBZGRyZXNz ICAgIEFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBTTUJVUyBTbGF2ZSBBZGRyZXNzLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICBTTUJVUyBDb21tYW5kLCBTTUJVUyBEYXRhIExlbmd0aCwg YW5kIFBFQy4NCj4gKyAgQHBhcmFtICBWYWx1ZSAgICAgICAgICAgVGhlIGJ5dGUvd29yZCB3cml0 ZSB0byB0aGUgU01CVVMuDQo+ICsgIEBwYXJhbSAgU3RhdHVzICAgICAgICAgIFJldHVybiBzdGF0 dXMgZm9yIHRoZSBleGVjdXRlZCBjb21tYW5kLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICBUaGlzIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRlciBhbmQgbWF5IGJlIE5VTEwuDQo+ICsNCj4g KyAgQHJldHVybiBUaGUgYnl0ZS93b3JkIHJlYWQgZnJvbSB0aGUgU01CVVMuDQo+ICsNCj4gKyoq Lw0KPiArVUlOVDE2DQo+ICtJbnRlcm5hbFNtQnVzTm9uQmxvY2sgKA0KPiArICBJTiAgVUlOVDgg ICAgICAgICAgICAgICAgICAgICBIb3N0Q29udHJvbCwNCj4gKyAgSU4gIFVJTlROICAgICAgICAg ICAgICAgICAgICAgU21CdXNBZGRyZXNzLA0KPiArICBJTiAgVUlOVDE2ICAgICAgICAgICAgICAg ICAgICBWYWx1ZSwNCj4gKyAgT1VUIFJFVFVSTl9TVEFUVVMgICAgICAgICAgICAgKlN0YXR1cw0K PiArICApDQo+ICt7DQo+ICsgIFJFVFVSTl9TVEFUVVMgICAgICAgICAgICAgICAgIFJldHVyblN0 YXR1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgSW9Qb3J0QmFzZUFkZHJl c3M7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIEF1eGlsaWFyeUNvbnRyb2w7 DQo+ICsNCj4gKyAgSW9Qb3J0QmFzZUFkZHJlc3MgPSBJbnRlcm5hbEdldFNtYnVzSW9Qb3J0QmFz ZUFkZHJlc3MgKCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHJ5IHRvIGFjcXVpcmUgdGhlIG93 bmVyc2hpcCBvZiBJQ0ggU01CVVMuDQo+ICsgIC8vDQo+ICsgIFJldHVyblN0YXR1cyA9IEludGVy bmFsU21CdXNBY3F1aXJlIChJb1BvcnRCYXNlQWRkcmVzcyk7DQo+ICsgIGlmIChSRVRVUk5fRVJS T1IgKFJldHVyblN0YXR1cykpIHsNCj4gKyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKw0KPiAr ICAvLw0KPiArICAvLyBTZXQgdGhlIGFwcHJvcHJpYXRlIEhvc3QgQ29udHJvbCBSZWdpc3RlciBh bmQgYXV4aWxpYXJ5IENvbnRyb2wgUmVnaXN0ZXIuDQo+ICsgIC8vDQo+ICsgIEF1eGlsaWFyeUNv bnRyb2wgPSAwOw0KPiArICBpZiAoU01CVVNfTElCX1BFQyAoU21CdXNBZGRyZXNzKSkgew0KPiAr ICAgIEF1eGlsaWFyeUNvbnRyb2wgfD0gQl9QQ0hfU01CVVNfQUFDOw0KPiArICAgIEhvc3RDb250 cm9sICAgICAgfD0gQl9QQ0hfU01CVVNfUEVDX0VOOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gU2V0IEhvc3QgQ29tbWFuZCBSZWdpc3Rlci4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTgg KElvUG9ydEJhc2VBZGRyZXNzICsgUl9QQ0hfU01CVVNfSENNRCwgKFVJTlQ4KQ0KPiBTTUJVU19M SUJfQ09NTUFORCAoU21CdXNBZGRyZXNzKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gV3JpdGUg dmFsdWUgdG8gSG9zdCBEYXRhIDAgYW5kIEhvc3QgRGF0YSAxIFJlZ2lzdGVycy4NCj4gKyAgLy8N Cj4gKyAgSW9Xcml0ZTggKElvUG9ydEJhc2VBZGRyZXNzICsgUl9QQ0hfU01CVVNfSEQwLCAoVUlO VDgpIFZhbHVlKTsNCj4gKyAgSW9Xcml0ZTggKElvUG9ydEJhc2VBZGRyZXNzICsgUl9QQ0hfU01C VVNfSEQxLCAoVUlOVDgpIChWYWx1ZSA+PiA4KSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0 IEF1eGlsaWFyeSBDb250cm9sIFJlZ2lzdGVyLg0KPiArICAvLw0KPiArICBJb1dyaXRlOCAoSW9Q b3J0QmFzZUFkZHJlc3MgKyBSX1BDSF9TTUJVU19BVVhDLCBBdXhpbGlhcnlDb250cm9sKTsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBTZXQgU01CVVMgc2xhdmUgYWRkcmVzcyBmb3IgdGhlIGRldmlj ZSB0byBzZW5kL3JlY2VpdmUgZnJvbS4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTggKElvUG9ydEJh c2VBZGRyZXNzICsgUl9QQ0hfU01CVVNfVFNBLCAoVUlOVDgpDQo+IFNtQnVzQWRkcmVzcyk7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gU3RhcnQgdGhlIFNNQlVTIHRyYW5zYWN0aW9uIGFuZCB3YWl0 IGZvciB0aGUgZW5kLg0KPiArICAvLw0KPiArICBSZXR1cm5TdGF0dXMgPSBJbnRlcm5hbFNtQnVz U3RhcnQgKElvUG9ydEJhc2VBZGRyZXNzLCBIb3N0Q29udHJvbCk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gUmVhZCB2YWx1ZSBmcm9tIEhvc3QgRGF0YSAwIGFuZCBIb3N0IERhdGEgMSBSZWdpc3Rl cnMuDQo+ICsgIC8vDQo+ICsgIFZhbHVlID0gKFVJTlQxNikoSW9SZWFkOCAoSW9Qb3J0QmFzZUFk ZHJlc3MgKyBSX1BDSF9TTUJVU19IRDEpIDw8DQo+IDgpOw0KPiArICBWYWx1ZSA9IChVSU5UMTYp KFZhbHVlIHwgSW9SZWFkOCAoSW9Qb3J0QmFzZUFkZHJlc3MgKw0KPiBSX1BDSF9TTUJVU19IRDAp KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDbGVhciBIb3N0IFN0YXR1cyBSZWdpc3RlciBhbmQg QXV4aWxpYXJ5IFN0YXR1cyBSZWdpc3Rlci4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTggKElvUG9y dEJhc2VBZGRyZXNzICsgUl9QQ0hfU01CVVNfSFNUUywNCj4gQl9QQ0hfU01CVVNfSFNUU19BTEwp Ow0KPiArICBJb1dyaXRlOCAoSW9Qb3J0QmFzZUFkZHJlc3MgKyBSX1BDSF9TTUJVU19BVVhTLA0K PiBCX1BDSF9TTUJVU19DUkNFKTsNCj4gKw0KPiArRG9uZToNCj4gKyAgaWYgKFN0YXR1cyAhPSBO VUxMKSB7DQo+ICsgICAgKlN0YXR1cyA9IFJldHVyblN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsg IHJldHVybiBWYWx1ZTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVT IHF1aWNrIHJlYWQgY29tbWFuZC4NCj4gKw0KPiArICBFeGVjdXRlcyBhbiBTTUJVUyBxdWljayBy ZWFkIGNvbW1hbmQgb24gdGhlIFNNQlVTIGRldmljZSBzcGVjaWZpZWQNCj4gYnkgU21CdXNBZGRy ZXNzLg0KPiArICBPbmx5IHRoZSBTTUJVUyBzbGF2ZSBhZGRyZXNzIGZpZWxkIG9mIFNtQnVzQWRk cmVzcyBpcyByZXF1aXJlZC4NCj4gKyAgSWYgU3RhdHVzIGlzIG5vdCBOVUxMLCB0aGVuIHRoZSBz dGF0dXMgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMgcmV0dXJuZWQNCj4gaW4gU3RhdHVzLg0K PiArICBJZiBQRUMgaXMgc2V0IGluIFNtQnVzQWRkcmVzcywgdGhlbiBBU1NFUlQoKS4NCj4gKyAg SWYgQ29tbWFuZCBpbiBTbUJ1c0FkZHJlc3MgaXMgbm90IHplcm8sIHRoZW4gQVNTRVJUKCkuDQo+ ICsgIElmIExlbmd0aCBpbiBTbUJ1c0FkZHJlc3MgaXMgbm90IHplcm8sIHRoZW4gQVNTRVJUKCku DQo+ICsgIElmIGFueSByZXNlcnZlZCBiaXRzIG9mIFNtQnVzQWRkcmVzcyBhcmUgc2V0LCB0aGVu IEFTU0VSVCgpLg0KPiArDQo+ICsgIEBwYXJhbSAgU21CdXNBZGRyZXNzICAgIEFkZHJlc3MgdGhh dCBlbmNvZGVzIHRoZSBTTUJVUyBTbGF2ZSBBZGRyZXNzLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICBTTUJVUyBDb21tYW5kLCBTTUJVUyBEYXRhIExlbmd0aCwgYW5kIFBFQy4NCj4gKyAg QHBhcmFtICBTdGF0dXMgICAgICAgICAgUmV0dXJuIHN0YXR1cyBmb3IgdGhlIGV4ZWN1dGVkIGNv bW1hbmQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgaXMgYW4gb3B0aW9uYWwg cGFyYW1ldGVyIGFuZCBtYXkgYmUgTlVMTC4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklB UEkNCj4gK1NtQnVzUXVpY2tSZWFkICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAg ICAgU21CdXNBZGRyZXNzLA0KPiArICBPVVQgUkVUVVJOX1NUQVRVUyAgICAgICAgICAgICAqU3Rh dHVzICAgICAgIE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAgQVNTRVJUICghU01CVVNfTElC X1BFQyAoU21CdXNBZGRyZXNzKSk7DQo+ICsgIEFTU0VSVCAoU01CVVNfTElCX0NPTU1BTkQgKFNt QnVzQWRkcmVzcykgICA9PSAwKTsNCj4gKyAgQVNTRVJUIChTTUJVU19MSUJfTEVOR1RIIChTbUJ1 c0FkZHJlc3MpICAgID09IDApOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9SRVNFUlZFRCAoU21C dXNBZGRyZXNzKSAgPT0gMCk7DQo+ICsNCj4gKyAgSW50ZXJuYWxTbUJ1c05vbkJsb2NrICgNCj4g KyAgICBWX1BDSF9TTUJVU19TTUJfQ01EX1FVSUNLLA0KPiArICAgIFNtQnVzQWRkcmVzcyB8IEJf UENIX1NNQlVTX1JXX1NFTF9SRUFELA0KPiArICAgIDAsDQo+ICsgICAgU3RhdHVzDQo+ICsgICAg KTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVTIHF1aWNrIHdyaXRl IGNvbW1hbmQuDQo+ICsNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMgcXVpY2sgd3JpdGUgY29tbWFu ZCBvbiB0aGUgU01CVVMgZGV2aWNlIHNwZWNpZmllZA0KPiBieSBTbUJ1c0FkZHJlc3MuDQo+ICsg IE9ubHkgdGhlIFNNQlVTIHNsYXZlIGFkZHJlc3MgZmllbGQgb2YgU21CdXNBZGRyZXNzIGlzIHJl cXVpcmVkLg0KPiArICBJZiBTdGF0dXMgaXMgbm90IE5VTEwsIHRoZW4gdGhlIHN0YXR1cyBvZiB0 aGUgZXhlY3V0ZWQgY29tbWFuZCBpcyByZXR1cm5lZA0KPiBpbiBTdGF0dXMuDQo+ICsgIElmIFBF QyBpcyBzZXQgaW4gU21CdXNBZGRyZXNzLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBDb21tYW5k IGluIFNtQnVzQWRkcmVzcyBpcyBub3QgemVybywgdGhlbiBBU1NFUlQoKS4NCj4gKyAgSWYgTGVu Z3RoIGluIFNtQnVzQWRkcmVzcyBpcyBub3QgemVybywgdGhlbiBBU1NFUlQoKS4NCj4gKyAgSWYg YW55IHJlc2VydmVkIGJpdHMgb2YgU21CdXNBZGRyZXNzIGFyZSBzZXQsIHRoZW4gQVNTRVJUKCku DQo+ICsNCj4gKyAgQHBhcmFtICBTbUJ1c0FkZHJlc3MgICAgQWRkcmVzcyB0aGF0IGVuY29kZXMg dGhlIFNNQlVTIFNsYXZlIEFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFNN QlVTIENvbW1hbmQsIFNNQlVTIERhdGEgTGVuZ3RoLCBhbmQgUEVDLg0KPiArICBAcGFyYW0gIFN0 YXR1cyAgICAgICAgICBSZXR1cm4gc3RhdHVzIGZvciB0aGUgZXhlY3V0ZWQgY29tbWFuZC4NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgVGhpcyBpcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIg YW5kIG1heSBiZSBOVUxMLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArU21C dXNRdWlja1dyaXRlICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAgU21CdXNB ZGRyZXNzLA0KPiArICBPVVQgUkVUVVJOX1NUQVRVUyAgICAgICAgICAgICAqU3RhdHVzICAgICAg IE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAgQVNTRVJUICghU01CVVNfTElCX1BFQyAoU21C dXNBZGRyZXNzKSk7DQo+ICsgIEFTU0VSVCAoU01CVVNfTElCX0NPTU1BTkQgKFNtQnVzQWRkcmVz cykgICA9PSAwKTsNCj4gKyAgQVNTRVJUIChTTUJVU19MSUJfTEVOR1RIIChTbUJ1c0FkZHJlc3Mp ICAgID09IDApOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9SRVNFUlZFRCAoU21CdXNBZGRyZXNz KSA9PSAwKTsNCj4gKw0KPiArICBJbnRlcm5hbFNtQnVzTm9uQmxvY2sgKA0KPiArICAgIFZfUENI X1NNQlVTX1NNQl9DTURfUVVJQ0ssDQo+ICsgICAgU21CdXNBZGRyZXNzIHwgQl9QQ0hfU01CVVNf UldfU0VMX1dSSVRFLA0KPiArICAgIDAsDQo+ICsgICAgU3RhdHVzDQo+ICsgICAgKTsNCj4gK30N Cj4gKw0KPiArLyoqDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVTIHJlY2VpdmUgYnl0ZSBjb21tYW5k Lg0KPiArDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVTIHJlY2VpdmUgYnl0ZSBjb21tYW5kIG9uIHRo ZSBTTUJVUyBkZXZpY2Ugc3BlY2lmaWVkDQo+IGJ5IFNtQnVzQWRkcmVzcy4NCj4gKyAgT25seSB0 aGUgU01CVVMgc2xhdmUgYWRkcmVzcyBmaWVsZCBvZiBTbUJ1c0FkZHJlc3MgaXMgcmVxdWlyZWQu DQo+ICsgIFRoZSBieXRlIHJlY2VpdmVkIGZyb20gdGhlIFNNQlVTIGlzIHJldHVybmVkLg0KPiAr ICBJZiBTdGF0dXMgaXMgbm90IE5VTEwsIHRoZW4gdGhlIHN0YXR1cyBvZiB0aGUgZXhlY3V0ZWQg Y29tbWFuZCBpcyByZXR1cm5lZA0KPiBpbiBTdGF0dXMuDQo+ICsgIElmIENvbW1hbmQgaW4gU21C dXNBZGRyZXNzIGlzIG5vdCB6ZXJvLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBMZW5ndGggaW4g U21CdXNBZGRyZXNzIGlzIG5vdCB6ZXJvLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBhbnkgcmVz ZXJ2ZWQgYml0cyBvZiBTbUJ1c0FkZHJlc3MgYXJlIHNldCwgdGhlbiBBU1NFUlQoKS4NCj4gKw0K PiArICBAcGFyYW0gIFNtQnVzQWRkcmVzcyAgICBBZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgU01C VVMgU2xhdmUgQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgU01CVVMgQ29t bWFuZCwgU01CVVMgRGF0YSBMZW5ndGgsIGFuZCBQRUMuDQo+ICsgIEBwYXJhbSAgU3RhdHVzICAg ICAgICAgIFJldHVybiBzdGF0dXMgZm9yIHRoZSBleGVjdXRlZCBjb21tYW5kLg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRlciBhbmQgbWF5 IGJlIE5VTEwuDQo+ICsNCj4gKyAgQHJldHVybiBUaGUgYnl0ZSByZWNlaXZlZCBmcm9tIHRoZSBT TUJVUy4NCj4gKw0KPiArKiovDQo+ICtVSU5UOA0KPiArRUZJQVBJDQo+ICtTbUJ1c1JlY2VpdmVC eXRlICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAgIFNtQnVzQWRkcmVzcywNCj4gKyAgT1VUIFJF VFVSTl9TVEFUVVMgICpTdGF0dXMgICAgICAgIE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAg VUlOVDggVmFsdWVSZXR1cm4gPSAwOw0KPiArDQo+ICsgIEFTU0VSVCAoU01CVVNfTElCX0NPTU1B TkQgKFNtQnVzQWRkcmVzcykgICA9PSAwKTsNCj4gKyAgQVNTRVJUIChTTUJVU19MSUJfTEVOR1RI IChTbUJ1c0FkZHJlc3MpICAgID09IDApOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9SRVNFUlZF RCAoU21CdXNBZGRyZXNzKSA9PSAwKTsNCj4gKw0KPiArICBWYWx1ZVJldHVybiA9IChVSU5UOCkg SW50ZXJuYWxTbUJ1c05vbkJsb2NrICgNCj4gKyAgICAgICAgICAgICAgICAgICBWX1BDSF9TTUJV U19TTUJfQ01EX0JZVEUsDQo+ICsgICAgICAgICAgICAgICAgICAgU21CdXNBZGRyZXNzIHwgQl9Q Q0hfU01CVVNfUldfU0VMX1JFQUQsDQo+ICsgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAg ICAgICAgICAgICAgICBTdGF0dXMNCj4gKyAgICAgICAgICAgICAgICAgICApOw0KPiArICByZXR1 cm4gVmFsdWVSZXR1cm47DQo+ICsNCj4gKyAgfQ0KPiArDQo+ICsvKioNCj4gKyAgRXhlY3V0ZXMg YW4gU01CVVMgc2VuZCBieXRlIGNvbW1hbmQuDQo+ICsNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMg c2VuZCBieXRlIGNvbW1hbmQgb24gdGhlIFNNQlVTIGRldmljZSBzcGVjaWZpZWQNCj4gYnkgU21C dXNBZGRyZXNzLg0KPiArICBUaGUgYnl0ZSBzcGVjaWZpZWQgYnkgVmFsdWUgaXMgc2VudC4NCj4g KyAgT25seSB0aGUgU01CVVMgc2xhdmUgYWRkcmVzcyBmaWVsZCBvZiBTbUJ1c0FkZHJlc3MgaXMg cmVxdWlyZWQuICBWYWx1ZSBpcw0KPiByZXR1cm5lZC4NCj4gKyAgSWYgU3RhdHVzIGlzIG5vdCBO VUxMLCB0aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMgcmV0dXJuZWQN Cj4gaW4gU3RhdHVzLg0KPiArICBJZiBDb21tYW5kIGluIFNtQnVzQWRkcmVzcyBpcyBub3QgemVy bywgdGhlbiBBU1NFUlQoKS4NCj4gKyAgSWYgTGVuZ3RoIGluIFNtQnVzQWRkcmVzcyBpcyBub3Qg emVybywgdGhlbiBBU1NFUlQoKS4NCj4gKyAgSWYgYW55IHJlc2VydmVkIGJpdHMgb2YgU21CdXNB ZGRyZXNzIGFyZSBzZXQsIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtICBTbUJ1c0Fk ZHJlc3MgICAgQWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFNNQlVTIFNsYXZlIEFkZHJlc3MsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQlVTIENvbW1hbmQsIFNNQlVTIERhdGEgTGVu Z3RoLCBhbmQgUEVDLg0KPiArICBAcGFyYW0gIFZhbHVlICAgICAgICAgICBUaGUgOC1iaXQgdmFs dWUgdG8gc2VuZC4NCj4gKyAgQHBhcmFtICBTdGF0dXMgICAgICAgICAgUmV0dXJuIHN0YXR1cyBm b3IgdGhlIGV4ZWN1dGVkIGNvbW1hbmQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFRo aXMgaXMgYW4gb3B0aW9uYWwgcGFyYW1ldGVyIGFuZCBtYXkgYmUgTlVMTC4NCj4gKw0KPiArICBA cmV0dXJuIFRoZSBwYXJhbWV0ZXIgb2YgVmFsdWUuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDgNCj4g K0VGSUFQSQ0KPiArU21CdXNTZW5kQnl0ZSAoDQo+ICsgIElOICBVSU5UTiAgICAgICAgICBTbUJ1 c0FkZHJlc3MsDQo+ICsgIElOICBVSU5UOCAgICAgICAgICBWYWx1ZSwNCj4gKyAgT1VUIFJFVFVS Tl9TVEFUVVMgICpTdGF0dXMgICAgICAgIE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlO VDggVmFsdWVSZXR1cm4gPSAwOw0KPiArDQo+ICsgIEFTU0VSVCAoU01CVVNfTElCX0NPTU1BTkQg KFNtQnVzQWRkcmVzcykgICA9PSAwKTsNCj4gKyAgQVNTRVJUIChTTUJVU19MSUJfTEVOR1RIIChT bUJ1c0FkZHJlc3MpICAgID09IDApOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9SRVNFUlZFRCAo U21CdXNBZGRyZXNzKSA9PSAwKTsNCj4gKw0KPiArICBWYWx1ZVJldHVybiA9IChVSU5UOCkgSW50 ZXJuYWxTbUJ1c05vbkJsb2NrICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgVl9QQ0hf U01CVVNfU01CX0NNRF9CWVRFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBTbUJ1c0Fk ZHJlc3MgfCBCX1BDSF9TTUJVU19SV19TRUxfV1JJVEUsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgIFZhbHVlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXMNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgcmV0dXJuIFZhbHVlUmV0dXJuOw0KPiAr DQo+ICsgIH0NCj4gKw0KPiArLyoqDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVTIHJlYWQgZGF0YSBi eXRlIGNvbW1hbmQuDQo+ICsNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMgcmVhZCBkYXRhIGJ5dGUg Y29tbWFuZCBvbiB0aGUgU01CVVMgZGV2aWNlDQo+IHNwZWNpZmllZCBieSBTbUJ1c0FkZHJlc3Mu DQo+ICsgIE9ubHkgdGhlIFNNQlVTIHNsYXZlIGFkZHJlc3MgYW5kIFNNQlVTIGNvbW1hbmQgZmll bGRzIG9mDQo+IFNtQnVzQWRkcmVzcyBhcmUgcmVxdWlyZWQuDQo+ICsgIFRoZSA4LWJpdCB2YWx1 ZSByZWFkIGZyb20gdGhlIFNNQlVTIGlzIHJldHVybmVkLg0KPiArICBJZiBTdGF0dXMgaXMgbm90 IE5VTEwsIHRoZW4gdGhlIHN0YXR1cyBvZiB0aGUgZXhlY3V0ZWQgY29tbWFuZCBpcyByZXR1cm5l ZA0KPiBpbiBTdGF0dXMuDQo+ICsgIElmIExlbmd0aCBpbiBTbUJ1c0FkZHJlc3MgaXMgbm90IHpl cm8sIHRoZW4gQVNTRVJUKCkuDQo+ICsgIElmIGFueSByZXNlcnZlZCBiaXRzIG9mIFNtQnVzQWRk cmVzcyBhcmUgc2V0LCB0aGVuIEFTU0VSVCgpLg0KPiArDQo+ICsgIEBwYXJhbSAgU21CdXNBZGRy ZXNzICAgIEFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBTTUJVUyBTbGF2ZSBBZGRyZXNzLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICBTTUJVUyBDb21tYW5kLCBTTUJVUyBEYXRhIExlbmd0 aCwgYW5kIFBFQy4NCj4gKyAgQHBhcmFtICBTdGF0dXMgICAgICAgICAgUmV0dXJuIHN0YXR1cyBm b3IgdGhlIGV4ZWN1dGVkIGNvbW1hbmQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFRo aXMgaXMgYW4gb3B0aW9uYWwgcGFyYW1ldGVyIGFuZCBtYXkgYmUgTlVMTC4NCj4gKw0KPiArICBA cmV0dXJuIFRoZSBieXRlIHJlYWQgZnJvbSB0aGUgU01CVVMuDQo+ICsNCj4gKyoqLw0KPiArVUlO VDgNCj4gK0VGSUFQSQ0KPiArU21CdXNSZWFkRGF0YUJ5dGUgKA0KPiArICBJTiAgVUlOVE4gICAg ICAgICAgU21CdXNBZGRyZXNzLA0KPiArICBPVVQgUkVUVVJOX1NUQVRVUyAgKlN0YXR1cyAgICAg ICAgT1BUSU9OQUwNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UOCBWYWx1ZVJldHVybiA9IDA7DQo+ ICsNCj4gKyAgQVNTRVJUIChTTUJVU19MSUJfTEVOR1RIIChTbUJ1c0FkZHJlc3MpICAgID09IDAp Ow0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9SRVNFUlZFRCAoU21CdXNBZGRyZXNzKSA9PSAwKTsN Cj4gKyAgIFZhbHVlUmV0dXJuID0gKFVJTlQ4KSBJbnRlcm5hbFNtQnVzTm9uQmxvY2sgKA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgVl9QQ0hfU01CVVNfU01CX0NNRF9CWVRFX0RBVEEs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBTbUJ1c0FkZHJlc3MgfCBCX1BDSF9TTUJV U19SV19TRUxfUkVBRCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICk7DQo+ICsgIHJldHVybiBWYWx1ZVJldHVybjsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsg IEV4ZWN1dGVzIGFuIFNNQlVTIHdyaXRlIGRhdGEgYnl0ZSBjb21tYW5kLg0KPiArDQo+ICsgIEV4 ZWN1dGVzIGFuIFNNQlVTIHdyaXRlIGRhdGEgYnl0ZSBjb21tYW5kIG9uIHRoZSBTTUJVUyBkZXZp Y2UNCj4gc3BlY2lmaWVkIGJ5IFNtQnVzQWRkcmVzcy4NCj4gKyAgVGhlIDgtYml0IHZhbHVlIHNw ZWNpZmllZCBieSBWYWx1ZSBpcyB3cml0dGVuLg0KPiArICBPbmx5IHRoZSBTTUJVUyBzbGF2ZSBh ZGRyZXNzIGFuZCBTTUJVUyBjb21tYW5kIGZpZWxkcyBvZg0KPiBTbUJ1c0FkZHJlc3MgYXJlIHJl cXVpcmVkLg0KPiArICBWYWx1ZSBpcyByZXR1cm5lZC4NCj4gKyAgSWYgU3RhdHVzIGlzIG5vdCBO VUxMLCB0aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMgcmV0dXJuZWQN Cj4gaW4gU3RhdHVzLg0KPiArICBJZiBMZW5ndGggaW4gU21CdXNBZGRyZXNzIGlzIG5vdCB6ZXJv LCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBhbnkgcmVzZXJ2ZWQgYml0cyBvZiBTbUJ1c0FkZHJl c3MgYXJlIHNldCwgdGhlbiBBU1NFUlQoKS4NCj4gKw0KPiArICBAcGFyYW0gIFNtQnVzQWRkcmVz cyAgICBBZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgU01CVVMgU2xhdmUgQWRkcmVzcywNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgU01CVVMgQ29tbWFuZCwgU01CVVMgRGF0YSBMZW5ndGgs IGFuZCBQRUMuDQo+ICsgIEBwYXJhbSAgVmFsdWUgICAgICAgICAgIFRoZSA4LWJpdCB2YWx1ZSB0 byB3cml0ZS4NCj4gKyAgQHBhcmFtICBTdGF0dXMgICAgICAgICAgUmV0dXJuIHN0YXR1cyBmb3Ig dGhlIGV4ZWN1dGVkIGNvbW1hbmQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMg aXMgYW4gb3B0aW9uYWwgcGFyYW1ldGVyIGFuZCBtYXkgYmUgTlVMTC4NCj4gKw0KPiArICBAcmV0 dXJuIFRoZSBwYXJhbWV0ZXIgb2YgVmFsdWUuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDgNCj4gK0VG SUFQSQ0KPiArU21CdXNXcml0ZURhdGFCeXRlICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAgIFNt QnVzQWRkcmVzcywNCj4gKyAgSU4gIFVJTlQ4ICAgICAgICAgIFZhbHVlLA0KPiArICBPVVQgUkVU VVJOX1NUQVRVUyAgKlN0YXR1cyAgICAgICAgT1BUSU9OQUwNCj4gKyAgKQ0KPiArew0KPiArICBV SU5UOCBWYWx1ZVJldHVybiA9IDA7DQo+ICsNCj4gKyAgQVNTRVJUIChTTUJVU19MSUJfTEVOR1RI IChTbUJ1c0FkZHJlc3MpICAgID09IDApOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9SRVNFUlZF RCAoU21CdXNBZGRyZXNzKSA9PSAwKTsNCj4gKw0KPiArICBWYWx1ZVJldHVybiA9IChVSU5UOCkg SW50ZXJuYWxTbUJ1c05vbkJsb2NrICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgVl9Q Q0hfU01CVVNfU01CX0NNRF9CWVRFX0RBVEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg IFNtQnVzQWRkcmVzcyB8IEJfUENIX1NNQlVTX1JXX1NFTF9XUklURSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgVmFsdWUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1 cw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICByZXR1cm4gVmFsdWVSZXR1 cm47DQo+ICsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVTIHJlYWQg ZGF0YSB3b3JkIGNvbW1hbmQuDQo+ICsNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMgcmVhZCBkYXRh IHdvcmQgY29tbWFuZCBvbiB0aGUgU01CVVMgZGV2aWNlDQo+IHNwZWNpZmllZCBieSBTbUJ1c0Fk ZHJlc3MuDQo+ICsgIE9ubHkgdGhlIFNNQlVTIHNsYXZlIGFkZHJlc3MgYW5kIFNNQlVTIGNvbW1h bmQgZmllbGRzIG9mDQo+IFNtQnVzQWRkcmVzcyBhcmUgcmVxdWlyZWQuDQo+ICsgIFRoZSAxNi1i aXQgdmFsdWUgcmVhZCBmcm9tIHRoZSBTTUJVUyBpcyByZXR1cm5lZC4NCj4gKyAgSWYgU3RhdHVz IGlzIG5vdCBOVUxMLCB0aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMg cmV0dXJuZWQNCj4gaW4gU3RhdHVzLg0KPiArICBJZiBMZW5ndGggaW4gU21CdXNBZGRyZXNzIGlz IG5vdCB6ZXJvLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBhbnkgcmVzZXJ2ZWQgYml0cyBvZiBT bUJ1c0FkZHJlc3MgYXJlIHNldCwgdGhlbiBBU1NFUlQoKS4NCj4gKw0KPiArICBAcGFyYW0gIFNt QnVzQWRkcmVzcyAgICBBZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgU01CVVMgU2xhdmUgQWRkcmVz cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgU01CVVMgQ29tbWFuZCwgU01CVVMgRGF0 YSBMZW5ndGgsIGFuZCBQRUMuDQo+ICsgIEBwYXJhbSAgU3RhdHVzICAgICAgICAgIFJldHVybiBz dGF0dXMgZm9yIHRoZSBleGVjdXRlZCBjb21tYW5kLg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICBUaGlzIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRlciBhbmQgbWF5IGJlIE5VTEwuDQo+ICsN Cj4gKyAgQHJldHVybiBUaGUgYnl0ZSByZWFkIGZyb20gdGhlIFNNQlVTLg0KPiArDQo+ICsqKi8N Cj4gK1VJTlQxNg0KPiArRUZJQVBJDQo+ICtTbUJ1c1JlYWREYXRhV29yZCAoDQo+ICsgIElOICBV SU5UTiAgICAgICAgICBTbUJ1c0FkZHJlc3MsDQo+ICsgIE9VVCBSRVRVUk5fU1RBVFVTICAqU3Rh dHVzICAgICAgICBPUFRJT05BTA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQxNiBWYWx1ZVJldHVy biA9IDA7DQo+ICsgIEFTU0VSVCAoU01CVVNfTElCX0xFTkdUSCAoU21CdXNBZGRyZXNzKSAgICA9 PSAwKTsNCj4gKyAgQVNTRVJUIChTTUJVU19MSUJfUkVTRVJWRUQgKFNtQnVzQWRkcmVzcykgPT0g MCk7DQo+ICsNCj4gKyAgVmFsdWVSZXR1cm4gPSBJbnRlcm5hbFNtQnVzTm9uQmxvY2sgKA0KPiAr ICAgICAgICAgICAgICAgICAgVl9QQ0hfU01CVVNfU01CX0NNRF9XT1JEX0RBVEEsDQo+ICsgICAg ICAgICAgICAgICAgICBTbUJ1c0FkZHJlc3MgfCBCX1BDSF9TTUJVU19SV19TRUxfUkVBRCwNCj4g KyAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICBTdGF0dXMNCj4gKyAg ICAgICAgICAgICAgICAgICk7DQo+ICsgIHJldHVybiBWYWx1ZVJldHVybjsNCj4gKw0KPiArfQ0K PiArDQo+ICsvKioNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMgd3JpdGUgZGF0YSB3b3JkIGNvbW1h bmQuDQo+ICsNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMgd3JpdGUgZGF0YSB3b3JkIGNvbW1hbmQg b24gdGhlIFNNQlVTIGRldmljZQ0KPiBzcGVjaWZpZWQgYnkgU21CdXNBZGRyZXNzLg0KPiArICBU aGUgMTYtYml0IHZhbHVlIHNwZWNpZmllZCBieSBWYWx1ZSBpcyB3cml0dGVuLg0KPiArICBPbmx5 IHRoZSBTTUJVUyBzbGF2ZSBhZGRyZXNzIGFuZCBTTUJVUyBjb21tYW5kIGZpZWxkcyBvZg0KPiBT bUJ1c0FkZHJlc3MgYXJlIHJlcXVpcmVkLg0KPiArICBWYWx1ZSBpcyByZXR1cm5lZC4NCj4gKyAg SWYgU3RhdHVzIGlzIG5vdCBOVUxMLCB0aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGV4ZWN1dGVkIGNv bW1hbmQgaXMgcmV0dXJuZWQNCj4gaW4gU3RhdHVzLg0KPiArICBJZiBMZW5ndGggaW4gU21CdXNB ZGRyZXNzIGlzIG5vdCB6ZXJvLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBhbnkgcmVzZXJ2ZWQg Yml0cyBvZiBTbUJ1c0FkZHJlc3MgYXJlIHNldCwgdGhlbiBBU1NFUlQoKS4NCj4gKw0KPiArICBA cGFyYW0gIFNtQnVzQWRkcmVzcyAgICBBZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgU01CVVMgU2xh dmUgQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgU01CVVMgQ29tbWFuZCwg U01CVVMgRGF0YSBMZW5ndGgsIGFuZCBQRUMuDQo+ICsgIEBwYXJhbSAgVmFsdWUgICAgICAgICAg IFRoZSAxNi1iaXQgdmFsdWUgdG8gd3JpdGUuDQo+ICsgIEBwYXJhbSAgU3RhdHVzICAgICAgICAg IFJldHVybiBzdGF0dXMgZm9yIHRoZSBleGVjdXRlZCBjb21tYW5kLg0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICBUaGlzIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRlciBhbmQgbWF5IGJlIE5V TEwuDQo+ICsNCj4gKyAgQHJldHVybiBUaGUgcGFyYW1ldGVyIG9mIFZhbHVlLg0KPiArDQo+ICsq Ki8NCj4gK1VJTlQxNg0KPiArRUZJQVBJDQo+ICtTbUJ1c1dyaXRlRGF0YVdvcmQgKA0KPiArICBJ TiAgVUlOVE4gICAgICAgICAgU21CdXNBZGRyZXNzLA0KPiArICBJTiAgVUlOVDE2ICAgICAgICAg VmFsdWUsDQo+ICsgIE9VVCBSRVRVUk5fU1RBVFVTICAqU3RhdHVzICAgICAgICBPUFRJT05BTA0K PiArICApDQo+ICt7DQo+ICsgIFVJTlQxNiBWYWx1ZVJldHVybiA9IDA7DQo+ICsgIEFTU0VSVCAo U01CVVNfTElCX0xFTkdUSCAoU21CdXNBZGRyZXNzKSAgICA9PSAwKTsNCj4gKyAgQVNTRVJUIChT TUJVU19MSUJfUkVTRVJWRUQgKFNtQnVzQWRkcmVzcykgPT0gMCk7DQo+ICsNCj4gKyAgVmFsdWVS ZXR1cm4gPSBJbnRlcm5hbFNtQnVzTm9uQmxvY2sgKA0KPiArICAgICAgICAgICAgICAgICAgVl9Q Q0hfU01CVVNfU01CX0NNRF9XT1JEX0RBVEEsDQo+ICsgICAgICAgICAgICAgICAgICBTbUJ1c0Fk ZHJlc3MgfCBCX1BDSF9TTUJVU19SV19TRUxfV1JJVEUsDQo+ICsgICAgICAgICAgICAgICAgICBW YWx1ZSwNCj4gKyAgICAgICAgICAgICAgICAgIFN0YXR1cw0KPiArICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgcmV0dXJuIFZhbHVlUmV0dXJuOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgRXhl Y3V0ZXMgYW4gU01CVVMgcHJvY2VzcyBjYWxsIGNvbW1hbmQuDQo+ICsNCj4gKyAgRXhlY3V0ZXMg YW4gU01CVVMgcHJvY2VzcyBjYWxsIGNvbW1hbmQgb24gdGhlIFNNQlVTIGRldmljZSBzcGVjaWZp ZWQNCj4gYnkgU21CdXNBZGRyZXNzLg0KPiArICBUaGUgMTYtYml0IHZhbHVlIHNwZWNpZmllZCBi eSBWYWx1ZSBpcyB3cml0dGVuLg0KPiArICBPbmx5IHRoZSBTTUJVUyBzbGF2ZSBhZGRyZXNzIGFu ZCBTTUJVUyBjb21tYW5kIGZpZWxkcyBvZg0KPiBTbUJ1c0FkZHJlc3MgYXJlIHJlcXVpcmVkLg0K PiArICBUaGUgMTYtYml0IHZhbHVlIHJldHVybmVkIGJ5IHRoZSBwcm9jZXNzIGNhbGwgY29tbWFu ZCBpcyByZXR1cm5lZC4NCj4gKyAgSWYgU3RhdHVzIGlzIG5vdCBOVUxMLCB0aGVuIHRoZSBzdGF0 dXMgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMgcmV0dXJuZWQNCj4gaW4gU3RhdHVzLg0KPiAr ICBJZiBMZW5ndGggaW4gU21CdXNBZGRyZXNzIGlzIG5vdCB6ZXJvLCB0aGVuIEFTU0VSVCgpLg0K PiArICBJZiBhbnkgcmVzZXJ2ZWQgYml0cyBvZiBTbUJ1c0FkZHJlc3MgYXJlIHNldCwgdGhlbiBB U1NFUlQoKS4NCj4gKw0KPiArICBAcGFyYW0gIFNtQnVzQWRkcmVzcyAgICBBZGRyZXNzIHRoYXQg ZW5jb2RlcyB0aGUgU01CVVMgU2xhdmUgQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgU01CVVMgQ29tbWFuZCwgU01CVVMgRGF0YSBMZW5ndGgsIGFuZCBQRUMuDQo+ICsgIEBw YXJhbSAgVmFsdWUgICAgICAgICAgIFRoZSAxNi1iaXQgdmFsdWUgdG8gd3JpdGUuDQo+ICsgIEBw YXJhbSAgU3RhdHVzICAgICAgICAgIFJldHVybiBzdGF0dXMgZm9yIHRoZSBleGVjdXRlZCBjb21t YW5kLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIGFuIG9wdGlvbmFsIHBh cmFtZXRlciBhbmQgbWF5IGJlIE5VTEwuDQo+ICsNCj4gKyAgQHJldHVybiBUaGUgMTYtYml0IHZh bHVlIHJldHVybmVkIGJ5IHRoZSBwcm9jZXNzIGNhbGwgY29tbWFuZC4NCj4gKw0KPiArKiovDQo+ ICtVSU5UMTYNCj4gK0VGSUFQSQ0KPiArU21CdXNQcm9jZXNzQ2FsbCAoDQo+ICsgIElOICBVSU5U TiAgICAgICAgICBTbUJ1c0FkZHJlc3MsDQo+ICsgIElOICBVSU5UMTYgICAgICAgICBWYWx1ZSwN Cj4gKyAgT1VUIFJFVFVSTl9TVEFUVVMgICpTdGF0dXMgICAgICAgIE9QVElPTkFMDQo+ICsgICkN Cj4gK3sNCj4gKyAgVUlOVDE2IFZhbHVlUmV0dXJuID0gMDsNCj4gKyAgQVNTRVJUIChTTUJVU19M SUJfTEVOR1RIIChTbUJ1c0FkZHJlc3MpICAgID09IDApOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJ Ql9SRVNFUlZFRCAoU21CdXNBZGRyZXNzKSA9PSAwKTsNCj4gKw0KPiArICBWYWx1ZVJldHVybiA9 IEludGVybmFsU21CdXNOb25CbG9jayAoDQo+ICsgICAgICAgICAgICAgICAgICBWX1BDSF9TTUJV U19TTUJfQ01EX1BST0NFU1NfQ0FMTCwNCj4gKyAgICAgICAgICAgICAgICAgIFNtQnVzQWRkcmVz cyB8IEJfUENIX1NNQlVTX1JXX1NFTF9XUklURSwNCj4gKyAgICAgICAgICAgICAgICAgIFZhbHVl LA0KPiArICAgICAgICAgICAgICAgICAgU3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICApOw0K PiArICByZXR1cm4gVmFsdWVSZXR1cm47DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBFeGVjdXRl cyBhbiBTTUJVUyBibG9jayBjb21tYW5kLg0KPiArDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVTIGJs b2NrIHJlYWQsIGJsb2NrIHdyaXRlIGFuZCBibG9jayB3cml0ZS1ibG9jayByZWFkDQo+IGNvbW1h bmQNCj4gKyAgb24gdGhlIFNNQlVTIGRldmljZSBzcGVjaWZpZWQgYnkgU21CdXNBZGRyZXNzLg0K PiArICBCeXRlcyBhcmUgcmVhZCBmcm9tIHRoZSBTTUJVUyBhbmQgc3RvcmVkIGluIEJ1ZmZlci4N Cj4gKyAgVGhlIG51bWJlciBvZiBieXRlcyByZWFkIGlzIHJldHVybmVkLCBhbmQgd2lsbCBuZXZl ciByZXR1cm4gYSB2YWx1ZSBsYXJnZXINCj4gdGhhbiAzMi1ieXRlcy4NCj4gKyAgSWYgU3RhdHVz IGlzIG5vdCBOVUxMLCB0aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMg cmV0dXJuZWQNCj4gaW4gU3RhdHVzLg0KPiArICBJdCBpcyB0aGUgY2FsbGVyJ3MgcmVzcG9uc2li aWxpdHkgdG8gbWFrZSBzdXJlIEJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggZm9yIHRoZQ0KPiB0b3Rh bCBudW1iZXIgb2YgYnl0ZXMgcmVhZC4NCj4gKyAgU01CVVMgc3VwcG9ydHMgYSBtYXhpbXVtIHRy YW5zZmVyIHNpemUgb2YgMzIgYnl0ZXMsIHNvIEJ1ZmZlciBkb2VzIG5vdA0KPiBuZWVkIHRvIGJl IGFueSBsYXJnZXIgdGhhbiAzMiBieXRlcy4NCj4gKw0KPiArICBAcGFyYW0gIEhvc3RDb250cm9s ICAgICBUaGUgdmFsdWUgb2YgSG9zdCBDb250cm9sIFJlZ2lzdGVyIHRvIHNldC4NCj4gKyAgQHBh cmFtICBTbUJ1c0FkZHJlc3MgICAgQWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFNNQlVTIFNsYXZl IEFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFNNQlVTIENvbW1hbmQsIFNN QlVTIERhdGEgTGVuZ3RoLCBhbmQgUEVDLg0KPiArICBAcGFyYW0gIFdyaXRlQnVmZmVyICAgICBQ b2ludGVyIHRvIHRoZSBidWZmZXIgb2YgYnl0ZXMgdG8gd3JpdGUgdG8gdGhlDQo+IFNNQlVTLg0K PiArICBAcGFyYW0gIFJlYWRCdWZmZXIgICAgICBQb2ludGVyIHRvIHRoZSBidWZmZXIgb2YgYnl0 ZXMgdG8gcmVhZCBmcm9tIHRoZQ0KPiBTTUJVUy4NCj4gKyAgQHBhcmFtICBTdGF0dXMgICAgICAg ICAgUmV0dXJuIHN0YXR1cyBmb3IgdGhlIGV4ZWN1dGVkIGNvbW1hbmQuDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgIFRoaXMgaXMgYW4gb3B0aW9uYWwgcGFyYW1ldGVyIGFuZCBtYXkgYmUg TlVMTC4NCj4gKw0KPiArICBAcmV0dXJuIFRoZSBudW1iZXIgb2YgYnl0ZXMgcmVhZCBmcm9tIHRo ZSBTTUJVUy4NCj4gKw0KPiArKiovDQo+ICtVSU5UTg0KPiArSW50ZXJuYWxTbUJ1c0Jsb2NrICgN Cj4gKyAgSU4gIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgSG9zdENvbnRyb2wsDQo+ICsgIElO ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFNtQnVzQWRkcmVzcywNCj4gKyAgSU4gIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgKldyaXRlQnVmZmVyLA0KPiArICBPVVQgVUlOVDggICAgICAg ICAgICAgICAgICAgICAqUmVhZEJ1ZmZlciwNCj4gKyAgT1VUIFJFVFVSTl9TVEFUVVMgICAgICAg ICAgICAgKlN0YXR1cw0KPiArICApDQo+ICt7DQo+ICsgIFJFVFVSTl9TVEFUVVMgICAgICAgICAg ICAgICAgIFJldHVyblN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg SW5kZXg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIEJ5dGVzQ291bnQ7DQo+ ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIElvUG9ydEJhc2VBZGRyZXNzOw0KPiAr ICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBBdXhpbGlhcnlDb250cm9sOw0KPiArDQo+ ICsgIElvUG9ydEJhc2VBZGRyZXNzID0gSW50ZXJuYWxHZXRTbWJ1c0lvUG9ydEJhc2VBZGRyZXNz ICgpOw0KPiArDQo+ICsgIEJ5dGVzQ291bnQgPSBTTUJVU19MSUJfTEVOR1RIIChTbUJ1c0FkZHJl c3MpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRyeSB0byBhY3F1aXJlIHRoZSBvd25lcnNoaXAg b2YgSUNIIFNNQlVTLg0KPiArICAvLw0KPiArICBSZXR1cm5TdGF0dXMgPSBJbnRlcm5hbFNtQnVz QWNxdWlyZSAoSW9Qb3J0QmFzZUFkZHJlc3MpOw0KPiArICBpZiAoUkVUVVJOX0VSUk9SIChSZXR1 cm5TdGF0dXMpKSB7DQo+ICsgICAgZ290byBEb25lOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gU2V0IHRoZSBhcHByb3ByaWF0ZSBIb3N0IENvbnRyb2wgUmVnaXN0ZXIgYW5kIGF1eGls aWFyeSBDb250cm9sIFJlZ2lzdGVyLg0KPiArICAvLw0KPiArICBBdXhpbGlhcnlDb250cm9sID0g Ql9QQ0hfU01CVVNfRTMyQjsNCj4gKyAgaWYgKFNNQlVTX0xJQl9QRUMgKFNtQnVzQWRkcmVzcykp IHsNCj4gKyAgICBBdXhpbGlhcnlDb250cm9sIHw9IEJfUENIX1NNQlVTX0FBQzsNCj4gKyAgICBI b3N0Q29udHJvbCAgICAgIHw9IEJfUENIX1NNQlVTX1BFQ19FTjsNCj4gKyAgfQ0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFNldCBIb3N0IENvbW1hbmQgUmVnaXN0ZXIuDQo+ICsgIC8vDQo+ICsgIElv V3JpdGU4IChJb1BvcnRCYXNlQWRkcmVzcyArIFJfUENIX1NNQlVTX0hDTUQsIChVSU5UOCkNCj4g U01CVVNfTElCX0NPTU1BTkQgKFNtQnVzQWRkcmVzcykpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFNldCBBdXhpbGlhcnkgQ29udHJvbCBSZWdpZXN0ZXIuDQo+ICsgIC8vDQo+ICsgIElvV3JpdGU4 IChJb1BvcnRCYXNlQWRkcmVzcyArIFJfUENIX1NNQlVTX0FVWEMsIEF1eGlsaWFyeUNvbnRyb2wp Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENsZWFyIGJ5dGUgcG9pbnRlciBvZiAzMi1ieXRlIGJ1 ZmZlci4NCj4gKyAgLy8NCj4gKyAgSW9SZWFkOCAoSW9Qb3J0QmFzZUFkZHJlc3MgKyBSX1BDSF9T TUJVU19IQ1RMKTsNCj4gKw0KPiArICBpZiAoV3JpdGVCdWZmZXIgIT0gTlVMTCkgew0KPiArICAg IC8vDQo+ICsgICAgLy8gV3JpdGUgdGhlIG51bWJlciBvZiBibG9jayB0byBIb3N0IEJsb2NrIERh dGEgQnl0ZSBSZWdpc3Rlci4NCj4gKyAgICAvLw0KPiArICAgIElvV3JpdGU4IChJb1BvcnRCYXNl QWRkcmVzcyArIFJfUENIX1NNQlVTX0hEMCwgKFVJTlQ4KQ0KPiBCeXRlc0NvdW50KTsNCj4gKw0K PiArICAgIC8vDQo+ICsgICAgLy8gV3JpdGUgZGF0YSBibG9jayB0byBIb3N0IEJsb2NrIERhdGEg UmVnaXN0ZXIuDQo+ICsgICAgLy8NCj4gKyAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBCeXRl c0NvdW50OyBJbmRleCsrKSB7DQo+ICsgICAgICBJb1dyaXRlOCAoSW9Qb3J0QmFzZUFkZHJlc3Mg KyBSX1BDSF9TTUJVU19IQkQsDQo+IFdyaXRlQnVmZmVyW0luZGV4XSk7DQo+ICsgICAgfQ0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0IFNNQlVTIHNsYXZlIGFkZHJlc3MgZm9yIHRo ZSBkZXZpY2UgdG8gc2VuZC9yZWNlaXZlIGZyb20uDQo+ICsgIC8vDQo+ICsgIElvV3JpdGU4IChJ b1BvcnRCYXNlQWRkcmVzcyArIFJfUENIX1NNQlVTX1RTQSwgKFVJTlQ4KQ0KPiBTbUJ1c0FkZHJl c3MpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFN0YXJ0IHRoZSBTTUJVUyB0cmFuc2FjdGlvbiBh bmQgd2FpdCBmb3IgdGhlIGVuZC4NCj4gKyAgLy8NCj4gKyAgUmV0dXJuU3RhdHVzID0gSW50ZXJu YWxTbUJ1c1N0YXJ0IChJb1BvcnRCYXNlQWRkcmVzcywgSG9zdENvbnRyb2wpOw0KPiArICBpZiAo UkVUVVJOX0VSUk9SIChSZXR1cm5TdGF0dXMpKSB7DQo+ICsgICAgZ290byBEb25lOw0KPiArICB9 DQo+ICsNCj4gKyAgaWYgKFJlYWRCdWZmZXIgIT0gTlVMTCkgew0KPiArICAgIC8vDQo+ICsgICAg Ly8gUmVhZCB0aGUgbnVtYmVyIG9mIGJsb2NrIGZyb20gaG9zdCBibG9jayBkYXRhIGJ5dGUgcmVn aXN0ZXIuDQo+ICsgICAgLy8NCj4gKyAgICBCeXRlc0NvdW50ID0gSW9SZWFkOCAoSW9Qb3J0QmFz ZUFkZHJlc3MgKyBSX1BDSF9TTUJVU19IRDApOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBX cml0ZSBkYXRhIGJsb2NrIGZyb20gSG9zdCBCbG9jayBEYXRhIFJlZ2lzdGVyLg0KPiArICAgIC8v DQo+ICsgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQnl0ZXNDb3VudDsgSW5kZXgrKykgew0K PiArICAgICAgUmVhZEJ1ZmZlcltJbmRleF0gPSBJb1JlYWQ4IChJb1BvcnRCYXNlQWRkcmVzcyAr DQo+IFJfUENIX1NNQlVTX0hCRCk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gK0RvbmU6DQo+ ICsgIC8vDQo+ICsgIC8vIENsZWFyIEhvc3QgU3RhdHVzIFJlZ2lzdGVyIGFuZCBBdXhpbGlhcnkg U3RhdHVzIFJlZ2lzdGVyLg0KPiArICAvLw0KPiArICBJb1dyaXRlOCAoSW9Qb3J0QmFzZUFkZHJl c3MgKyBSX1BDSF9TTUJVU19IU1RTLA0KPiBCX1BDSF9TTUJVU19IU1RTX0FMTCk7DQo+ICsgIElv V3JpdGU4IChJb1BvcnRCYXNlQWRkcmVzcyArIFJfUENIX1NNQlVTX0FVWFMsDQo+IEJfUENIX1NN QlVTX0NSQ0UpOw0KPiArDQo+ICsgIGlmIChTdGF0dXMgIT0gTlVMTCkgew0KPiArICAgICpTdGF0 dXMgPSBSZXR1cm5TdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gQnl0ZXNDb3VudDsN Cj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEV4ZWN1dGVzIGFuIFNNQlVTIHJlYWQgYmxvY2sgY29t bWFuZC4NCj4gKw0KPiArICBFeGVjdXRlcyBhbiBTTUJVUyByZWFkIGJsb2NrIGNvbW1hbmQgb24g dGhlIFNNQlVTIGRldmljZSBzcGVjaWZpZWQNCj4gYnkgU21CdXNBZGRyZXNzLg0KPiArICBPbmx5 IHRoZSBTTUJVUyBzbGF2ZSBhZGRyZXNzIGFuZCBTTUJVUyBjb21tYW5kIGZpZWxkcyBvZg0KPiBT bUJ1c0FkZHJlc3MgYXJlIHJlcXVpcmVkLg0KPiArICBCeXRlcyBhcmUgcmVhZCBmcm9tIHRoZSBT TUJVUyBhbmQgc3RvcmVkIGluIEJ1ZmZlci4NCj4gKyAgVGhlIG51bWJlciBvZiBieXRlcyByZWFk IGlzIHJldHVybmVkLCBhbmQgd2lsbCBuZXZlciByZXR1cm4gYSB2YWx1ZSBsYXJnZXINCj4gdGhh biAzMi1ieXRlcy4NCj4gKyAgSWYgU3RhdHVzIGlzIG5vdCBOVUxMLCB0aGVuIHRoZSBzdGF0dXMg b2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMgcmV0dXJuZWQNCj4gaW4gU3RhdHVzLg0KPiArICBJ dCBpcyB0aGUgY2FsbGVyJ3MgcmVzcG9uc2liaWxpdHkgdG8gbWFrZSBzdXJlIEJ1ZmZlciBpcyBs YXJnZSBlbm91Z2ggZm9yIHRoZQ0KPiB0b3RhbCBudW1iZXIgb2YgYnl0ZXMgcmVhZC4NCj4gKyAg U01CVVMgc3VwcG9ydHMgYSBtYXhpbXVtIHRyYW5zZmVyIHNpemUgb2YgMzIgYnl0ZXMsIHNvIEJ1 ZmZlciBkb2VzIG5vdA0KPiBuZWVkIHRvIGJlIGFueSBsYXJnZXIgdGhhbiAzMiBieXRlcy4NCj4g KyAgSWYgTGVuZ3RoIGluIFNtQnVzQWRkcmVzcyBpcyBub3QgemVybywgdGhlbiBBU1NFUlQoKS4N Cj4gKyAgSWYgQnVmZmVyIGlzIE5VTEwsIHRoZW4gQVNTRVJUKCkuDQo+ICsgIElmIGFueSByZXNl cnZlZCBiaXRzIG9mIFNtQnVzQWRkcmVzcyBhcmUgc2V0LCB0aGVuIEFTU0VSVCgpLg0KPiArDQo+ ICsgIEBwYXJhbSAgU21CdXNBZGRyZXNzICAgIEFkZHJlc3MgdGhhdCBlbmNvZGVzIHRoZSBTTUJV UyBTbGF2ZSBBZGRyZXNzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBTTUJVUyBDb21t YW5kLCBTTUJVUyBEYXRhIExlbmd0aCwgYW5kIFBFQy4NCj4gKyAgQHBhcmFtICBCdWZmZXIgICAg ICAgICAgUG9pbnRlciB0byB0aGUgYnVmZmVyIHRvIHN0b3JlIHRoZSBieXRlcyByZWFkIGZyb20g dGhlDQo+IFNNQlVTLg0KPiArICBAcGFyYW0gIFN0YXR1cyAgICAgICAgICBSZXR1cm4gc3RhdHVz IGZvciB0aGUgZXhlY3V0ZWQgY29tbWFuZC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg VGhpcyBpcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgYW5kIG1heSBiZSBOVUxMLg0KPiArDQo+ICsg IEByZXR1cm4gVGhlIG51bWJlciBvZiBieXRlcyByZWFkLg0KPiArDQo+ICsqKi8NCj4gK1VJTlRO DQo+ICtFRklBUEkNCj4gK1NtQnVzUmVhZEJsb2NrICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAg IFNtQnVzQWRkcmVzcywNCj4gKyAgT1VUIFZPSUQgICAgICAgICAgICpCdWZmZXIsDQo+ICsgIE9V VCBSRVRVUk5fU1RBVFVTICAqU3RhdHVzICAgICAgICBPUFRJT05BTA0KPiArICApDQo+ICt7DQo+ ICsgIFVJTlROIEJ5dGVzQ291bnQgPSAwOw0KPiArDQo+ICsgIEFTU0VSVCAoQnVmZmVyICE9IE5V TEwpOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9MRU5HVEggKFNtQnVzQWRkcmVzcykgPT0gMCk7 DQo+ICsgIEFTU0VSVCAoU01CVVNfTElCX1JFU0VSVkVEIChTbUJ1c0FkZHJlc3MpID09IDApOw0K PiArDQo+ICsNCj4gKyAgQnl0ZXNDb3VudCA9IEludGVybmFsU21CdXNCbG9jayAoDQo+ICsgICAg ICAgICAgICAgICAgIFZfUENIX1NNQlVTX1NNQl9DTURfQkxPQ0ssDQo+ICsgICAgICAgICAgICAg ICAgIFNtQnVzQWRkcmVzcyB8IEJfUENIX1NNQlVTX1JXX1NFTF9SRUFELA0KPiArICAgICAgICAg ICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICBCdWZmZXIsDQo+ICsgICAgICAgICAg ICAgICAgIFN0YXR1cw0KPiArICAgICAgICAgICAgICAgICApOw0KPiArICByZXR1cm4gQnl0ZXND b3VudDsNCj4gKw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgRXhlY3V0ZXMgYW4gU01CVVMgd3Jp dGUgYmxvY2sgY29tbWFuZC4NCj4gKw0KPiArICBFeGVjdXRlcyBhbiBTTUJVUyB3cml0ZSBibG9j ayBjb21tYW5kIG9uIHRoZSBTTUJVUyBkZXZpY2Ugc3BlY2lmaWVkDQo+IGJ5IFNtQnVzQWRkcmVz cy4NCj4gKyAgVGhlIFNNQlVTIHNsYXZlIGFkZHJlc3MsIFNNQlVTIGNvbW1hbmQsIGFuZCBTTUJV UyBsZW5ndGggZmllbGRzIG9mDQo+IFNtQnVzQWRkcmVzcyBhcmUgcmVxdWlyZWQuDQo+ICsgIEJ5 dGVzIGFyZSB3cml0dGVuIHRvIHRoZSBTTUJVUyBmcm9tIEJ1ZmZlci4NCj4gKyAgVGhlIG51bWJl ciBvZiBieXRlcyB3cml0dGVuIGlzIHJldHVybmVkLCBhbmQgd2lsbCBuZXZlciByZXR1cm4gYSB2 YWx1ZQ0KPiBsYXJnZXIgdGhhbiAzMi1ieXRlcy4NCj4gKyAgSWYgU3RhdHVzIGlzIG5vdCBOVUxM LCB0aGVuIHRoZSBzdGF0dXMgb2YgdGhlIGV4ZWN1dGVkIGNvbW1hbmQgaXMgcmV0dXJuZWQNCj4g aW4gU3RhdHVzLg0KPiArICBJZiBMZW5ndGggaW4gU21CdXNBZGRyZXNzIGlzIHplcm8gb3IgZ3Jl YXRlciB0aGFuIDMyLCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBCdWZmZXIgaXMgTlVMTCwgdGhl biBBU1NFUlQoKS4NCj4gKyAgSWYgYW55IHJlc2VydmVkIGJpdHMgb2YgU21CdXNBZGRyZXNzIGFy ZSBzZXQsIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtICBTbUJ1c0FkZHJlc3MgICAg QWRkcmVzcyB0aGF0IGVuY29kZXMgdGhlIFNNQlVTIFNsYXZlIEFkZHJlc3MsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgIFNNQlVTIENvbW1hbmQsIFNNQlVTIERhdGEgTGVuZ3RoLCBhbmQg UEVDLg0KPiArICBAcGFyYW0gIEJ1ZmZlciAgICAgICAgICBQb2ludGVyIHRvIHRoZSBidWZmZXIg dG8gc3RvcmUgdGhlIGJ5dGVzIHJlYWQgZnJvbSB0aGUNCj4gU01CVVMuDQo+ICsgIEBwYXJhbSAg U3RhdHVzICAgICAgICAgIFJldHVybiBzdGF0dXMgZm9yIHRoZSBleGVjdXRlZCBjb21tYW5kLg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICBUaGlzIGlzIGFuIG9wdGlvbmFsIHBhcmFtZXRl ciBhbmQgbWF5IGJlIE5VTEwuDQo+ICsNCj4gKyAgQHJldHVybiBUaGUgbnVtYmVyIG9mIGJ5dGVz IHdyaXR0ZW4uDQo+ICsNCj4gKyoqLw0KPiArVUlOVE4NCj4gK0VGSUFQSQ0KPiArU21CdXNXcml0 ZUJsb2NrICgNCj4gKyAgSU4gIFVJTlROICAgICAgICAgIFNtQnVzQWRkcmVzcywNCj4gKyAgT1VU IFZPSUQgICAgICAgICAgICpCdWZmZXIsDQo+ICsgIE9VVCBSRVRVUk5fU1RBVFVTICAqU3RhdHVz ICAgICAgICBPUFRJT05BTA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlROCUJ5dGVzQ291bnQgPSAw Ow0KPiArDQo+ICsgIEFTU0VSVCAoQnVmZmVyICE9IE5VTEwpOw0KPiArICBBU1NFUlQgKFNNQlVT X0xJQl9MRU5HVEggKFNtQnVzQWRkcmVzcykgPj0gMSk7DQo+ICsgIEFTU0VSVCAoU01CVVNfTElC X0xFTkdUSCAoU21CdXNBZGRyZXNzKSA8PSAzMik7DQo+ICsgIEFTU0VSVCAoU01CVVNfTElCX1JF U0VSVkVEIChTbUJ1c0FkZHJlc3MpID09IDApOw0KPiArDQo+ICsNCj4gKyBCeXRlc0NvdW50ID0g SW50ZXJuYWxTbUJ1c0Jsb2NrICgNCj4gKw0KPiArICAgICAgICAgICAgICAgIFZfUENIX1NNQlVT X1NNQl9DTURfQkxPQ0ssDQo+ICsgICAgICAgICAgICAgICAgU21CdXNBZGRyZXNzIHwgQl9QQ0hf U01CVVNfUldfU0VMX1dSSVRFLA0KPiArICAgICAgICAgICAgICAgIEJ1ZmZlciwNCj4gKyAgICAg ICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgIFN0YXR1cw0KPiArICAgICAgICAg ICAgICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuIEJ5dGVzQ291bnQ7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBFeGVjdXRlcyBhbiBTTUJVUyBibG9jayBwcm9jZXNzIGNhbGwgY29tbWFuZC4NCj4g Kw0KPiArICBFeGVjdXRlcyBhbiBTTUJVUyBibG9jayBwcm9jZXNzIGNhbGwgY29tbWFuZCBvbiB0 aGUgU01CVVMgZGV2aWNlDQo+IHNwZWNpZmllZCBieSBTbUJ1c0FkZHJlc3MuDQo+ICsgIFRoZSBT TUJVUyBzbGF2ZSBhZGRyZXNzLCBTTUJVUyBjb21tYW5kLCBhbmQgU01CVVMgbGVuZ3RoIGZpZWxk cyBvZg0KPiBTbUJ1c0FkZHJlc3MgYXJlIHJlcXVpcmVkLg0KPiArICBCeXRlcyBhcmUgd3JpdHRl biB0byB0aGUgU01CVVMgZnJvbSBXcml0ZUJ1ZmZlci4gIEJ5dGVzIGFyZSB0aGVuIHJlYWQNCj4g ZnJvbSB0aGUgU01CVVMgaW50byBSZWFkQnVmZmVyLg0KPiArICBJZiBTdGF0dXMgaXMgbm90IE5V TEwsIHRoZW4gdGhlIHN0YXR1cyBvZiB0aGUgZXhlY3V0ZWQgY29tbWFuZCBpcyByZXR1cm5lZA0K PiBpbiBTdGF0dXMuDQo+ICsgIEl0IGlzIHRoZSBjYWxsZXIncyByZXNwb25zaWJpbGl0eSB0byBt YWtlIHN1cmUgUmVhZEJ1ZmZlciBpcyBsYXJnZSBlbm91Z2ggZm9yDQo+IHRoZSB0b3RhbCBudW1i ZXIgb2YgYnl0ZXMgcmVhZC4NCj4gKyAgU01CVVMgc3VwcG9ydHMgYSBtYXhpbXVtIHRyYW5zZmVy IHNpemUgb2YgMzIgYnl0ZXMsIHNvIEJ1ZmZlciBkb2VzIG5vdA0KPiBuZWVkIHRvIGJlIGFueSBs YXJnZXIgdGhhbiAzMiBieXRlcy4NCj4gKyAgSWYgTGVuZ3RoIGluIFNtQnVzQWRkcmVzcyBpcyB6 ZXJvIG9yIGdyZWF0ZXIgdGhhbiAzMiwgdGhlbiBBU1NFUlQoKS4NCj4gKyAgSWYgV3JpdGVCdWZm ZXIgaXMgTlVMTCwgdGhlbiBBU1NFUlQoKS4NCj4gKyAgSWYgUmVhZEJ1ZmZlciBpcyBOVUxMLCB0 aGVuIEFTU0VSVCgpLg0KPiArICBJZiBhbnkgcmVzZXJ2ZWQgYml0cyBvZiBTbUJ1c0FkZHJlc3Mg YXJlIHNldCwgdGhlbiBBU1NFUlQoKS4NCj4gKw0KPiArICBAcGFyYW0gIFNtQnVzQWRkcmVzcyAg ICBBZGRyZXNzIHRoYXQgZW5jb2RlcyB0aGUgU01CVVMgU2xhdmUgQWRkcmVzcywNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgU01CVVMgQ29tbWFuZCwgU01CVVMgRGF0YSBMZW5ndGgsIGFu ZCBQRUMuDQo+ICsgIEBwYXJhbSAgV3JpdGVCdWZmZXIgICAgIFBvaW50ZXIgdG8gdGhlIGJ1ZmZl ciBvZiBieXRlcyB0byB3cml0ZSB0byB0aGUNCj4gU01CVVMuDQo+ICsgIEBwYXJhbSAgUmVhZEJ1 ZmZlciAgICAgIFBvaW50ZXIgdG8gdGhlIGJ1ZmZlciBvZiBieXRlcyB0byByZWFkIGZyb20gdGhl DQo+IFNNQlVTLg0KPiArICBAcGFyYW0gIFN0YXR1cyAgICAgICAgICBSZXR1cm4gc3RhdHVzIGZv ciB0aGUgZXhlY3V0ZWQgY29tbWFuZC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgVGhp cyBpcyBhbiBvcHRpb25hbCBwYXJhbWV0ZXIgYW5kIG1heSBiZSBOVUxMLg0KPiArDQo+ICsgIEBy ZXR1cm4gVGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuLg0KPiArDQo+ICsqKi8NCj4gK1VJTlRO DQo+ICtFRklBUEkNCj4gK1NtQnVzQmxvY2tQcm9jZXNzQ2FsbCAoDQo+ICsgIElOICBVSU5UTiAg ICAgICAgICBTbUJ1c0FkZHJlc3MsDQo+ICsgIElOICBWT0lEICAgICAgICAgICAqV3JpdGVCdWZm ZXIsDQo+ICsgIE9VVCBWT0lEICAgICAgICAgICAqUmVhZEJ1ZmZlciwNCj4gKyAgT1VUIFJFVFVS Tl9TVEFUVVMgICpTdGF0dXMgICAgICAgIE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlO VE4gQnl0ZXNDb3VudCA9IDA7DQo+ICsNCj4gKyAgQVNTRVJUIChXcml0ZUJ1ZmZlciAhPSBOVUxM KTsNCj4gKyAgQVNTRVJUIChSZWFkQnVmZmVyICAhPSBOVUxMKTsNCj4gKyAgQVNTRVJUIChTTUJV U19MSUJfTEVOR1RIIChTbUJ1c0FkZHJlc3MpID49IDEpOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJ Ql9MRU5HVEggKFNtQnVzQWRkcmVzcykgPD0gMzIpOw0KPiArICBBU1NFUlQgKFNNQlVTX0xJQl9S RVNFUlZFRCAoU21CdXNBZGRyZXNzKSA9PSAwKTsNCj4gKw0KPiArICBCeXRlc0NvdW50ID0gSW50 ZXJuYWxTbUJ1c0Jsb2NrICgNCj4gKyAgICAgICAgICAgICAgICAgVl9QQ0hfU01CVVNfU01CX0NN RF9CTE9DS19QUk9DRVNTLA0KPiArICAgICAgICAgICAgICAgICBTbUJ1c0FkZHJlc3MgfCBCX1BD SF9TTUJVU19SV19TRUxfV1JJVEUsDQo+ICsgICAgICAgICAgICAgICAgIFdyaXRlQnVmZmVyLA0K PiArICAgICAgICAgICAgICAgICBSZWFkQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICBTdGF0 dXMNCj4gKyAgICAgICAgICAgICAgICAgKTsNCj4gKyAgcmV0dXJuIEJ5dGVzQ291bnQ7DQo+ICsN Cj4gKyAgfQ0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9TbWJ1c0xpYi9TbWJ1c0xpYi5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L1NtYnVzTGliL1NtYnVzTGliLmluZg0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5iMTNlM2RlMGNjDQo+IC0tLSAvZGV2L251bGwN Cj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TbWJ1c0xp Yi9TbWJ1c0xpYi5pbmYNCj4gQEAgLTAsMCArMSw0NiBAQA0KPiArIyMgQGZpbGUNCj4gKyMgQ29t cG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yIEludGVsIEljaDkgU21idXMgTGlicmFyeS4NCj4g KyMNCj4gKyMgU01CVVMgTGlicmFyeSB0aGF0IGxheWVycyBvbiB0b3Agb2YgdGhlIEkvTyBMaWJy YXJ5IHRvIGRpcmVjdGx5DQo+ICsjICBhY2Nlc3MgYSBzdGFuZGFyZCBTTUJVUyBob3N0IGNvbnRy b2xsZXIuDQo+ICsjIENvcHlyaWdodCAoYykgMjAxMCAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gDQo+ICsjIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyMNCj4gDQo+ICsjDQo+ICsj DQo+ICsjDQo+ICsjIw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAg ICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAg ICAgICAgPSBTbWJ1c0xpYg0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSAw NTU4Q0FFQS1GRUYzLTRiNmQtOTE1RS04NzQyRUZFNkRFRTENCj4gKyAgTU9EVUxFX1RZUEUgICAg ICAgICAgICAgICAgICAgID0gQkFTRQ0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAg ICAgPSAxLjANCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gU21idXNMaWIN Cj4gKw0KPiArIw0KPiArIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVu Y2Ugb25seSBhbmQgbm90IHJlcXVpcmVkIGJ5IHRoZQ0KPiBidWlsZCB0b29scy4NCj4gKyMNCj4g KyMgIFZBTElEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEzMiBYNjQgRUJDDQo+ICsjDQo+ ICsNCj4gK1tTb3VyY2VzXQ0KPiArICBTbWJ1c0xpYi5jDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4g KyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ICsgIE1k ZVBrZy9NZGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0K PiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIFBjZExpYg0KPiArICBEZWJ1Z0xpYg0KPiAr ICBQY2lMaWINCj4gKyAgSW9MaWINCj4gKw0KPiArW1BjZC5jb21tb25dDQo+ICsgIGdFZmlNZGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MNCj4gKw0KPiBkaWZmIC0t Z2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TdGFsbFNtbUxp Yi9TdGFsbFNtbS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFy eS9TdGFsbFNtbUxpYi9TdGFsbFNtbS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLjA2Mjk5NGYwODgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1N0YWxsU21tTGliL1N0YWxsU21tLmMN Cj4gQEAgLTAsMCArMSw4OSBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5 ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4g DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsN Cj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBTbW1Jby5jDQo+ ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFNNTSBJL08gYWNjZXNzIHV0aWxpdHkgaW1wbGVt ZW50YXRpb24gZmlsZSwgZm9yIElhMzINCj4gKw0KPiArLS0qLw0KPiArDQo+ICsvLw0KPiArLy8g SW5jbHVkZSBmaWxlcw0KPiArLy8NCj4gKyNpbmNsdWRlICJMaWJyYXJ5L1N0YWxsU21tTGliLmgi DQo+ICsjaW5jbHVkZSAiUGkvUGlTbW1DaXMuaCINCj4gKyNpbmNsdWRlICJQaUR4ZS5oIg0KPiAr I2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjZExpYi5o Pg0KPiArI2luY2x1ZGUgIlBjaEFjY2Vzcy5oIg0KPiArDQo+ICsvKioNCj4gKyAgRGVsYXkgZm9y IGF0IGxlYXN0IHRoZSByZXF1ZXN0IG51bWJlciBvZiBtaWNyb3NlY29uZHMuDQo+ICsgIFRpbWVy IHVzZWQgaXMgQUNQSSB0aW1lIGNvdW50ZXIsIHdoaWNoIGhhcyAxdXMgZ3JhbnVsYXJpdHkuDQo+ ICsNCj4gKyAgQHBhcmFtIE1pY3Jvc2Vjb25kcyAgTnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyB0byBk ZWxheS4NCj4gKw0KPiArICBAcmV0dmFsIE5vbmUNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtT bW1TdGFsbCAoDQo+ICsgIElOICBVSU5UTiAgIE1pY3Jvc2Vjb25kcw0KPiArICApDQo+ICt7DQo+ ICsgIFVJTlROICAgVGlja3M7DQo+ICsgIFVJTlROICAgQ291bnRzOw0KPiArICBVSU5UTiAgIEN1 cnJlbnRUaWNrOw0KPiArICBVSU5UTiAgIE9yaWdpbmFsVGljazsNCj4gKyAgVUlOVE4gICBSZW1h aW5pbmdUaWNrOw0KPiArICBVSU5UMTYgIEFjcGlCYXNlQWRkcjsNCj4gKw0KPiArICBpZiAoTWlj cm9zZWNvbmRzID09IDApIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICBBY3Bp QmFzZUFkZHIgPSBQY2hMcGNQY2lDZmcxNiAoUl9QQ0hfTFBDX0FDUElfQkFTRSkgJg0KPiBCX1BD SF9MUENfQUNQSV9CQVNFX0JBUjsNCj4gKw0KPiArICBPcmlnaW5hbFRpY2sgPSBJb1JlYWQzMiAo QWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9QTTFfVE1SKTsNCj4gKyAgQ3VycmVudFRpY2sgPSBP cmlnaW5hbFRpY2s7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIHRpbWVyIGZyZXF1ZW5jeSBp cyAzLjU3OTU0NSBNSHosIHNvIDEgbXMgY29ycmVzcG9uZHMgMy41OCBjbG9ja3MNCj4gKyAgLy8N Cj4gKyAgVGlja3MgPSBNaWNyb3NlY29uZHMgKiAzNTggLyAxMDAgKyBPcmlnaW5hbFRpY2sgKyAx Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBsb29wcyBuZWVkZWQgYnkgdGltZXIgb3ZlcmZs b3cNCj4gKyAgLy8NCj4gKyAgQ291bnRzID0gVGlja3MgLyBWX1BDSF9BQ1BJX1BNMV9UTVJfTUFY X1ZBTDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZW1haW5pbmcgY2xvY2tzIHdpdGhpbiBvbmUg bG9vcA0KPiArICAvLw0KPiArICBSZW1haW5pbmdUaWNrID0gVGlja3MgJSBWX1BDSF9BQ1BJX1BN MV9UTVJfTUFYX1ZBTDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBub3QgaW50ZW5kIHRvIHVzZSBU TVJPRl9TVFMgYml0IG9mIHJlZ2lzdGVyIFBNMV9TVFMsIGJlY2F1c2UgdGhpcw0KPiBhZGRzIGV4 dHJhDQo+ICsgIC8vIG9uZSBJL08gb3BlcmF0aW9uLCBhbmQgbWF5YmUgZ2VuZXJhdGUgU01JDQo+ ICsgIC8vDQo+ICsgIHdoaWxlICgoQ291bnRzICE9IDApIHx8IChSZW1haW5pbmdUaWNrID4gQ3Vy cmVudFRpY2spKSB7DQo+ICsgICAgQ3VycmVudFRpY2sgPSBJb1JlYWQzMiAoQWNwaUJhc2VBZGRy ICsgUl9QQ0hfQUNQSV9QTTFfVE1SKTsNCj4gKyAgICAvLw0KPiArICAgIC8vIENoZWNrIGlmIHRp bWVyIG92ZXJmbG93DQo+ICsgICAgLy8NCj4gKyAgICBpZiAoQ3VycmVudFRpY2sgPCBPcmlnaW5h bFRpY2spIHsNCj4gKyAgICAgIENvdW50cy0tOw0KPiArICAgIH0NCj4gKyAgICBPcmlnaW5hbFRp Y2sgPSBDdXJyZW50VGljazsNCj4gKyAgfQ0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TdGFsbFNtbUxpYi9TdGFsbFNtbUxp Yi5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1N0YWxs U21tTGliL1N0YWxsU21tTGliLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi43MDNlYTMyMzhjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9TdGFsbFNtbUxpYi9TdGFsbFNtbUxp Yi5pbmYNCj4gQEAgLTAsMCArMSw1MSBAQA0KPiArIy8qKysNCj4gKyMNCj4gKyMgQ29weXJpZ2h0 IChjKSAyMDE0IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKw0KPiArIw0KPiArIyAgTW9kdWxlIE5hbWU6DQo+ ICsjDQo+ICsjICAgU21tU3RhbGxMaWIuaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4gKyMN Cj4gKyMgICAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yIFNtbVN0YWxsIGxpYnJhcnkN Cj4gKyMNCj4gKyMtLSovDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBJTkZfVkVSU0lPTiAgICAg ICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAg ICAgICAgICA9IFN0YWxsU21tTGliDQo+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAg ICA9IEE2QTE2Q0NCLTkxQjAtNDJmNC1CNEYzLUQxNkQ3QTg2NjJFNg0KPiArICBNT0RVTEVfVFlQ RSAgICAgICAgICAgICAgICAgICAgPSBCQVNFDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAg ICAgICAgICA9IDEuMA0KPiArICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBTdGFs bFNtbUxpYg0KPiArDQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBp cyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9v bHMuDQo+ICsjDQo+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0 IEVCQw0KPiArIw0KPiArDQo+ICtbU291cmNlc10NCj4gKyBTdGFsbFNtbS5jDQo+ICsNCj4gKw0K PiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmlj ZVJlZkNvZGVQa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgUGNkTGliDQo+ ICsgIFBjaUxpYg0KPiArICBJb0xpYg0KPiArICBCYXNlTGliDQo+ICsNCj4gK1tQY2QuY29tbW9u XQ0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNz DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJy YXJ5L1RwbTJEZXZpY2VMaWJTZUNEeGUvVHBtMkRlDQo+IHZpY2VMaWJTZUMuYw0KPiBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ0R4ZS9U cG0yRGUNCj4gdmljZUxpYlNlQy5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLmFkM2QyMDFlMDcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJTZUNEeGUvVHBt MkRlDQo+IHZpY2VMaWJTZUMuYw0KPiBAQCAtMCwwICsxLDExNyBAQA0KPiArLyorKw0KPiArDQo+ ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTUsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkDQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSA8VWVmaS5oPg0KPiAr I2luY2x1ZGUgPFByb3RvY29sL1B0dFBhc3NUaHJ1Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Q Y2RMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5o Pg0KPiArLy8jaW5jbHVkZSA8TGlicmFyeS9UcG0yRGV2aWNlTGliLmg+DQo+ICsNCj4gKw0KPiAr UFRUX1BBU1NfVEhSVV9QUk9UT0NPTCAqbVB0dFBhc3NUaHJ1UHJvdG9jb2w7DQo+ICsNCj4gKw0K PiArLyoqDQo+ICsgIFRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiBjYWNoZXMgdGhlIHBvaW50ZXIg dG8gUEVJIHNlcnZpY2VzLg0KPiArDQo+ICsgIFRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiBjYWNo ZXMgdGhlIHBvaW50ZXIgdG8gUEVJIHNlcnZpY2VzLg0KPiArICBJdCB3aWxsIGFsd2F5cyByZXR1 cm4gRUZJX1NVQ0NFU1MuDQo+ICsNCj4gKyAgQHBhcmFtICBGZnNIZWFkZXIgICBQb2ludGVyIHRv IEZGUyBoZWFkZXIgdGhlIGxvYWRlZCBkcml2ZXIuDQo+ICsgIEBwYXJhbSAgUGVpU2VydmljZXMg UG9pbnRlciB0byB0aGUgUEVJIHNlcnZpY2VzLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NF U1MgICBUaGUgY29uc3RydWN0b3IgYWx3YXlzIHJldHVybnMgRUZJX1NVQ0NFU1MuDQo+ICsNCj4g KyoqLw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1RwbTJEZXZpY2VMaWJDb25z dHJ1Y3RvciAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTIFN0YXR1 cyA9IEVGSV9TVUNDRVNTOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wg KCZnUHR0UGFzc1RocnVQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEDQo+ICoqKSAmbVB0dFBhc3NU aHJ1UHJvdG9jb2wpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBUaGlzIHNlcnZpY2UgZW5hYmxlcyB0aGUgc2VuZGluZyBvZiBjb21tYW5kcyB0byB0 aGUgVFBNMi4NCj4gKw0KPiArICBAcGFyYW1baW5dICBJbnB1dFBhcmFtZXRlckJsb2NrU2l6ZSAg U2l6ZSBvZiB0aGUgVFBNMiBpbnB1dCBwYXJhbWV0ZXINCj4gYmxvY2suDQo+ICsgIEBwYXJhbVtp bl0gIElucHV0UGFyYW1ldGVyQmxvY2sgICAgICBQb2ludGVyIHRvIHRoZSBUUE0yIGlucHV0IHBh cmFtZXRlcg0KPiBibG9jay4NCj4gKyAgQHBhcmFtW2luXSAgT3V0cHV0UGFyYW1ldGVyQmxvY2tT aXplIFNpemUgb2YgdGhlIFRQTTIgb3V0cHV0DQo+IHBhcmFtZXRlciBibG9jay4NCj4gKyAgQHBh cmFtW2luXSAgT3V0cHV0UGFyYW1ldGVyQmxvY2sgICAgIFBvaW50ZXIgdG8gdGhlIFRQTTIgb3V0 cHV0DQo+IHBhcmFtZXRlciBibG9jay4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAg ICAgICAgICAgVGhlIGNvbW1hbmQgYnl0ZSBzdHJlYW0gd2FzIHN1Y2Nlc3NmdWxseQ0KPiBzZW50 IHRvIHRoZSBkZXZpY2UgYW5kIGEgcmVzcG9uc2Ugd2FzIHN1Y2Nlc3NmdWxseSByZWNlaXZlZC4N Cj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAgICAgIFRoZSBjb21tYW5kIHdhcyBub3Qg c3VjY2Vzc2Z1bGx5IHNlbnQgdG8NCj4gdGhlIGRldmljZSBvciBhIHJlc3BvbnNlIHdhcyBub3Qg c3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGZyb20gdGhlIGRldmljZS4NCj4gKyAgQHJldHZhbCBFRklf QlVGRkVSX1RPT19TTUFMTCAgIFRoZSBvdXRwdXQgcGFyYW1ldGVyIGJsb2NrIGlzIHRvbw0KPiBz bWFsbC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtUcG0yU3VibWl0Q29t bWFuZCAoDQo+ICsgIElOIFVJTlQzMiAgICAgICAgICAgIElucHV0UGFyYW1ldGVyQmxvY2tTaXpl LA0KPiArICBJTiBVSU5UOCAgICAgICAgICAgICAqSW5wdXRQYXJhbWV0ZXJCbG9jaywNCj4gKyAg SU4gT1VUIFVJTlQzMiAgICAgICAgKk91dHB1dFBhcmFtZXRlckJsb2NrU2l6ZSwNCj4gKyAgSU4g VUlOVDggICAgICAgICAgICAgKk91dHB1dFBhcmFtZXRlckJsb2NrDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX1NUQVRVUyBTdGF0dXM7DQo+ICsNCj4gKyAgU3RhdHVzID0gbVB0dFBhc3NUaHJ1UHJv dG9jb2wtPlRwbTJTdWJtaXRDb21tYW5kICgNCj4gKyAgICAgICAgICAgICBtUHR0UGFzc1RocnVQ cm90b2NvbCwNCj4gKyAgICAgICAgICAgICBJbnB1dFBhcmFtZXRlckJsb2NrU2l6ZSwNCj4gKyAg ICAgICAgICAgICBJbnB1dFBhcmFtZXRlckJsb2NrLA0KPiArICAgICAgICAgICAgIE91dHB1dFBh cmFtZXRlckJsb2NrU2l6ZSwNCj4gKyAgICAgICAgICAgICBPdXRwdXRQYXJhbWV0ZXJCbG9jaw0K PiArICAgICAgICAgICApOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4g Ky8qKg0KPiArICBUaGlzIHNlcnZpY2UgcmVxdWVzdHMgdXNlIFRQTTIuDQo+ICsNCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgIEdldCB0aGUgY29udHJvbCBvZiBUUE0yIGNoaXAuDQo+ICsg IEByZXR2YWwgRUZJX05PVF9GT1VORCAgICBUUE0yIG5vdCBmb3VuZC4NCj4gKyAgQHJldHZhbCBF RklfREVWSUNFX0VSUk9SIFVuZXhwZWN0ZWQgZGV2aWNlIGJlaGF2aW9yLg0KPiArKiovDQo+ICtF RklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1RwbTJSZXF1ZXN0VXNlVHBtICgNCj4gKyAgVk9JRA0K PiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgU3RhdHVzOw0KPiArDQo+ICsgIFN0YXR1cyA9 IG1QdHRQYXNzVGhydVByb3RvY29sLT5UcG0yUmVxdWVzdFVzZVRwbQ0KPiAobVB0dFBhc3NUaHJ1 UHJvdG9jb2wpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0K PiArICBUaGlzIHNlcnZpY2UgcmVnaXN0ZXIgVFBNMiBkZXZpY2UuDQo+ICsNCj4gKyAgQFBhcmFt IFRwbTJEZXZpY2UgIFRQTTIgZGV2aWNlDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAg ICAgICAgICBUaGlzIFRQTTIgZGV2aWNlIGlzIHJlZ2lzdGVyZWQgc3VjY2Vzc2Z1bGx5Lg0KPiAr ICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgIFN5c3RlbSBkb2VzIG5vdCBzdXBwb3J0IHJl Z2lzdGVyIHRoaXMgVFBNMg0KPiBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX0FMUkVBRFlfU1RB UlRFRCAgU3lzdGVtIGFscmVhZHkgcmVnaXN0ZXIgdGhpcyBUUE0yIGRldmljZS4NCj4gKyoqLw0K PiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtUcG0yUmVnaXN0ZXJUcG0yRGV2aWNlTGliICgN Cj4gKyAgSU4gUFRUX1RQTTJfREVWSUNFX0lOVEVSRkFDRSAgICpUcG0yRGV2aWNlDQo+ICsgICkN Cj4gK3sNCj4gKyAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gK30NCj4gKw0KPiArDQo+IGRp ZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1Rw bTJEZXZpY2VMaWJTZUNEeGUvVHBtMkRlDQo+IHZpY2VMaWJTZUMuaW5mDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliU2VDRHhlL1RwbTJE ZQ0KPiB2aWNlTGliU2VDLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwLi45ZWU5MTUyN2MxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliU2VDRHhlL1RwbTJE ZQ0KPiB2aWNlTGliU2VDLmluZg0KPiBAQCAtMCwwICsxLDYxIEBADQo+ICsjLyoqIEBmaWxlDQo+ ICsjDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAwNyAtIDIwMTgsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMNCj4g KyMqKi8NCj4gKw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAg ICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAg ICAgPSBUcG0yRGV2aWNlTGliU2VDDQo+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAg ICA9IDI5NEIxOTZBLUEzQ0MtNGE0My04NTdGLUVFQzI2MTQ3ODU3Qg0KPiArICBNT0RVTEVfVFlQ RSAgICAgICAgICAgICAgICAgICAgPSBCQVNFDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAg ICAgICAgICA9IDEuMA0KPiArICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBUcG0y RGV2aWNlTGliIHwgRFhFX0RSSVZFUg0KPiBEWEVfU01NX0RSSVZFUg0KPiArICBDT05TVFJVQ1RP UiAgICAgICAgICAgICAgICAgICAgPSBUcG0yRGV2aWNlTGliQ29uc3RydWN0b3INCj4gKw0KPiAr Iw0KPiArIyBUaGUgZm9sbG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBh bmQgbm90IHJlcXVpcmVkIGJ5IHRoZQ0KPiBidWlsZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElE X0FSQ0hJVEVDVFVSRVMgICAgICAgICAgID0gSUEzMiBYNjQgRUJDDQo+ICsjDQo+ICsNCj4gK1tT b3VyY2VzLmNvbW1vbl0NCj4gKyAgVHBtMkRldmljZUxpYlNlQy5jDQo+ICsNCj4gK1tQYWNrYWdl c10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBr Zy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVj DQo+ICsgIFNlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBr Zy9QbGF0Zm9ybVBrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBCYXNlTGli DQo+ICsgIFBjZExpYg0KPiArICBVZWZpQm9vdFNlcnZpY2VzVGFibGVMaWINCj4gKw0KPiArDQo+ ICtbR3VpZHNdDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZA0KPiArDQo+ICtbUGNkXQ0KPiAr ICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkTWVhc3VyZWRCb290RW5hYmxlDQo+ICsgIGdFZmlW TFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNRXJyb3JPY2N1cg0KPiArICBnRWZpVkxWVG9rZW5TcGFj ZUd1aWQuUGNkRlRQTUNvbW1hbmQNCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZEZUUE1S ZXNwb25zZQ0KPiArICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkRlRQTU5vdFJlc3BvbmQNCj4g KyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZEZUUE1TdGF0dXMNCj4gKw0KPiArW1Byb3RvY29s c10NCj4gKyAgZ1B0dFBhc3NUaHJ1UHJvdG9jb2xHdWlkDQo+ICsNCj4gK1tEZXBleF0NCj4gKyAg Z1B0dFBhc3NUaHJ1UHJvdG9jb2xHdWlkDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ1BlaS9UcG0y RGV2DQo+IGljZUxpYlNlQy5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv TGlicmFyeS9UcG0yRGV2aWNlTGliU2VDUGVpL1RwbTJEZXYNCj4gaWNlTGliU2VDLmMNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMTI3MTdhNWY2OQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xp YnJhcnkvVHBtMkRldmljZUxpYlNlQ1BlaS9UcG0yRGV2DQo+IGljZUxpYlNlQy5jDQo+IEBAIC0w LDAgKzEsMTQ1IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAx NSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKw0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gKy0t Ki8NCj4gKw0KPiArI2luY2x1ZGUgPFVlZmkuaD4NCj4gKyNpbmNsdWRlIDxQaVBlaS5oPg0KPiAr I2luY2x1ZGUgPFBwaS9QdHRQYXNzVGhydVBwaS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFz ZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1 ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ ICsjaW5jbHVkZSA8TGlicmFyeS9QZWlTZXJ2aWNlc0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJh cnkvUGNkTGliLmg+DQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArDQo+ICtQVFRfUEFTU19U SFJVX1BQSSAgKlNlY1B0dFBhc3NUaHJ1UHBpID0gTlVMTDsNCj4gKw0KPiArLyoqDQo+ICsgIFRo ZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiBjYWNoZXMgdGhlIHBvaW50ZXIgdG8gUEVJIHNlcnZpY2Vz Lg0KPiArDQo+ICsgIFRoZSBjb25zdHJ1Y3RvciBmdW5jdGlvbiBjYWNoZXMgdGhlIHBvaW50ZXIg dG8gUEVJIHNlcnZpY2VzLg0KPiArICBJdCB3aWxsIGFsd2F5cyByZXR1cm4gRUZJX1NVQ0NFU1Mu DQo+ICsNCj4gKyAgQHBhcmFtICBGZnNIZWFkZXIgICBQb2ludGVyIHRvIEZGUyBoZWFkZXIgdGhl IGxvYWRlZCBkcml2ZXIuDQo+ICsgIEBwYXJhbSAgUGVpU2VydmljZXMgUG9pbnRlciB0byB0aGUg UEVJIHNlcnZpY2VzLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICBUaGUgY29uc3Ry dWN0b3IgYWx3YXlzIHJldHVybnMgRUZJX1NVQ0NFU1MuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtUcG0yRGV2aWNlTGliQ29uc3RydWN0b3IgKA0KPiArICBWT0lE DQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ ICsNCj4gKyAgU3RhdHVzID0gUGVpU2VydmljZXNMb2NhdGVQcGkgKCZnUHR0UGFzc1RocnVQcGlH dWlkLCAwLCBOVUxMLCAoVk9JRCAqKikNCj4gJlNlY1B0dFBhc3NUaHJ1UHBpKTsNCj4gKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAvLyBMb2NhdGUgdGhlIFBQSSBmYWlsZWQN Cj4gKyAgICAgU2VjUHR0UGFzc1RocnVQcGkgPSBOVUxMOw0KPiArICB9DQo+ICsgIHJldHVybiBT dGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIHNlcnZpY2UgZW5hYmxlcyB0aGUg c2VuZGluZyBvZiBjb21tYW5kcyB0byB0aGUgVFBNMi4NCj4gKw0KPiArICBAcGFyYW1baW5dICBJ bnB1dFBhcmFtZXRlckJsb2NrU2l6ZSAgU2l6ZSBvZiB0aGUgVFBNMiBpbnB1dCBwYXJhbWV0ZXIN Cj4gYmxvY2suDQo+ICsgIEBwYXJhbVtpbl0gIElucHV0UGFyYW1ldGVyQmxvY2sgICAgICBQb2lu dGVyIHRvIHRoZSBUUE0yIGlucHV0IHBhcmFtZXRlcg0KPiBibG9jay4NCj4gKyAgQHBhcmFtW2lu XSAgT3V0cHV0UGFyYW1ldGVyQmxvY2tTaXplIFNpemUgb2YgdGhlIFRQTTIgb3V0cHV0DQo+IHBh cmFtZXRlciBibG9jay4NCj4gKyAgQHBhcmFtW2luXSAgT3V0cHV0UGFyYW1ldGVyQmxvY2sgICAg IFBvaW50ZXIgdG8gdGhlIFRQTTIgb3V0cHV0DQo+IHBhcmFtZXRlciBibG9jay4NCj4gKw0KPiAr ICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGNvbW1hbmQgYnl0ZSBzdHJlYW0g d2FzIHN1Y2Nlc3NmdWxseQ0KPiBzZW50IHRvIHRoZSBkZXZpY2UgYW5kIGEgcmVzcG9uc2Ugd2Fz IHN1Y2Nlc3NmdWxseSByZWNlaXZlZC4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SICAg ICAgIFRoZSBjb21tYW5kIHdhcyBub3Qgc3VjY2Vzc2Z1bGx5IHNlbnQgdG8NCj4gdGhlIGRldmlj ZSBvciBhIHJlc3BvbnNlIHdhcyBub3Qgc3VjY2Vzc2Z1bGx5IHJlY2VpdmVkIGZyb20gdGhlIGRl dmljZS4NCj4gKyAgQHJldHZhbCBFRklfQlVGRkVSX1RPT19TTUFMTCAgIFRoZSBvdXRwdXQgcGFy YW1ldGVyIGJsb2NrIGlzIHRvbw0KPiBzbWFsbC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtUcG0yU3VibWl0Q29tbWFuZCAoDQo+ICsgIElOIFVJTlQzMiAgICAgICAgICAg IElucHV0UGFyYW1ldGVyQmxvY2tTaXplLA0KPiArICBJTiBVSU5UOCAgICAgICAgICAgICAqSW5w dXRQYXJhbWV0ZXJCbG9jaywNCj4gKyAgSU4gT1VUIFVJTlQzMiAgICAgICAgKk91dHB1dFBhcmFt ZXRlckJsb2NrU2l6ZSwNCj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgKk91dHB1dFBhcmFtZXRl ckJsb2NrDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzID0gRUZJX1NVQ0NF U1M7DQo+ICsNCj4gKyAgaWYoTlVMTCA9PSBJbnB1dFBhcmFtZXRlckJsb2NrIHx8IE5VTEwgPT0g T3V0cHV0UGFyYW1ldGVyQmxvY2sgfHwgMA0KPiA9PSBJbnB1dFBhcmFtZXRlckJsb2NrU2l6ZSkg ew0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJCdWZmZXIgPT0gTlVMTCBvciBJbnB1dFBh cmFtZXRlckJsb2NrU2l6ZSA9PQ0KPiAwXG4iKSk7DQo+ICsgICAgU3RhdHVzID0gRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBp ZiAoTlVMTCA9PSBTZWNQdHRQYXNzVGhydVBwaSkgew0KPiArICAgIC8vIERvbid0IGxvY2F0ZSBQ UEkgYnkgY2FsbGluZyBUcG0yRGV2aWNlTGliQ29uc3RydWN0b3IoKSBmdW5jdGlvbj8/DQo+ICsg ICAgU3RhdHVzID0gRUZJX0RFVklDRV9FUlJPUjsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiAr ICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gU2VjUHR0UGFzc1RocnVQcGktPlRwbTJTdWJtaXRDb21t YW5kICgNCj4gKyAgICAgICAgICAgICBTZWNQdHRQYXNzVGhydVBwaSwNCj4gKyAgICAgICAgICAg ICBJbnB1dFBhcmFtZXRlckJsb2NrU2l6ZSwNCj4gKyAgICAgICAgICAgICBJbnB1dFBhcmFtZXRl ckJsb2NrLA0KPiArICAgICAgICAgICAgIE91dHB1dFBhcmFtZXRlckJsb2NrU2l6ZSwNCj4gKyAg ICAgICAgICAgICBPdXRwdXRQYXJhbWV0ZXJCbG9jaw0KPiArICAgICAgICAgICApOw0KPiArDQo+ ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIHNlcnZpY2Ug cmVxdWVzdHMgdXNlIFRQTTIuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgIEdl dCB0aGUgY29udHJvbCBvZiBUUE0yIGNoaXAuDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAg ICBUUE0yIG5vdCBmb3VuZC4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNFX0VSUk9SIFVuZXhwZWN0 ZWQgZGV2aWNlIGJlaGF2aW9yLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4g K1RwbTJSZXF1ZXN0VXNlVHBtICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9T VEFUVVMgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiArDQo+ICsgIGlmIChOVUxMID09IFNlY1B0 dFBhc3NUaHJ1UHBpKSB7DQo+ICsgICAgLy8gRG9uJ3QgbG9jYXRlIFBQSSBieSBjYWxsaW5nIFRw bTJEZXZpY2VMaWJDb25zdHJ1Y3RvcigpIGZ1bmN0aW9uPz8NCj4gKyAgICBTdGF0dXMgPSBFRklf REVWSUNFX0VSUk9SOw0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBT dGF0dXMgPSBTZWNQdHRQYXNzVGhydVBwaS0+VHBtMlJlcXVlc3RVc2VUcG0gKFNlY1B0dFBhc3NU aHJ1UHBpKTsNCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4g KyAgVGhpcyBzZXJ2aWNlIHJlZ2lzdGVyIFRQTTIgZGV2aWNlLg0KPiArDQo+ICsgIEBQYXJhbSBU cG0yRGV2aWNlICBUUE0yIGRldmljZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAg ICAgICAgVGhpcyBUUE0yIGRldmljZSBpcyByZWdpc3RlcmVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAg QHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICBTeXN0ZW0gZG9lcyBub3Qgc3VwcG9ydCByZWdp c3RlciB0aGlzIFRQTTINCj4gZGV2aWNlLg0KPiArICBAcmV0dmFsIEVGSV9BTFJFQURZX1NUQVJU RUQgIFN5c3RlbSBhbHJlYWR5IHJlZ2lzdGVyIHRoaXMgVFBNMiBkZXZpY2UuDQo+ICsqKi8NCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArVHBtMlJlZ2lzdGVyVHBtMkRldmljZUxpYiAoDQo+ ICsgIElOIFBUVF9UUE0yX0RFVklDRV9JTlRFUkZBQ0UgICAqVHBtMkRldmljZQ0KPiArICApDQo+ ICt7DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gKw0KPiBkaWZm IC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9UcG0y RGV2aWNlTGliU2VDUGVpL1RwbTJEZXYNCj4gaWNlTGliU2VDLmluZg0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ1BlaS9UcG0yRGV2 DQo+IGljZUxpYlNlQy5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uYTliMjk0ODU5Nw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ1BlaS9UcG0yRGV2 DQo+IGljZUxpYlNlQy5pbmYNCj4gQEAgLTAsMCArMSw2MCBAQA0KPiArIy8qKiBAZmlsZQ0KPiAr Iw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjDQo+ICsjDQo+ICsjDQo+ICsj KiovDQo+ICsNCj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAg ICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAg ID0gVHBtMkRldmljZUxpYlNlQw0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAg PSAxRUVBMkJGRS0wMUNCLTQwY2MtQTM0RS1DQjIyNEM4MDBBQTINCj4gKyAgTU9EVUxFX1RZUEUg ICAgICAgICAgICAgICAgICAgID0gQkFTRQ0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAg ICAgICAgPSAxLjANCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gVHBtMkRl dmljZUxpYiB8IFBFSV9EUklWRVIgUEVJTQ0KPiArICBDT05TVFJVQ1RPUiAgICAgICAgICAgICAg ICAgICAgPSBUcG0yRGV2aWNlTGliQ29uc3RydWN0b3INCj4gKw0KPiArIw0KPiArIyBUaGUgZm9s bG93aW5nIGluZm9ybWF0aW9uIGlzIGZvciByZWZlcmVuY2Ugb25seSBhbmQgbm90IHJlcXVpcmVk IGJ5IHRoZQ0KPiBidWlsZCB0b29scy4NCj4gKyMNCj4gKyMgIFZBTElEX0FSQ0hJVEVDVFVSRVMg ICAgICAgICAgID0gSUEzMiBYNjQgRUJDDQo+ICsjDQo+ICsNCj4gK1tTb3VyY2VzLmNvbW1vbl0N Cj4gKyAgVHBtMkRldmljZUxpYlNlQy5jDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtn L01kZVBrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKyAgVmx2 MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ICsgIFNlY3VyaXR5 UGtnL1NlY3VyaXR5UGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5k ZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBCYXNlTGliDQo+ICsgIEJhc2VNZW1v cnlMaWINCj4gKyAgTWVtb3J5QWxsb2NhdGlvbkxpYg0KPiArICBEZWJ1Z0xpYg0KPiArICBJb0xp Yg0KPiArICBQY2lMaWINCj4gKyAgVGltZXJMaWINCj4gKyAgUGNkTGliDQo+ICsgIFBlaVNlcnZp Y2VzTGliDQo+ICsgIFBlaW1FbnRyeVBvaW50DQo+ICsNCj4gKw0KPiArW0d1aWRzXQ0KPiArDQo+ ICtbUHBpc10NCj4gKyAgZ1B0dFBhc3NUaHJ1UHBpR3VpZA0KPiArDQo+ICtbRGVwZXhdDQo+ICsg IGdQdHRQYXNzVGhydVBwaUd1aWQNCj4gKw0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9Mb2dvL0xvZ28uYm1wDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTG9nby9Mb2dvLmJtcA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleA0KPiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yNmFj MWE4MWRhZDFkZTZjNmY5NGMyN2I5MQ0KPiBkNDQ4MzAwYTMzOTA1OQ0KPiBHSVQgYmluYXJ5IHBh dGNoDQo+IGxpdGVyYWwgOTQ0MzQNCj4gemNtZUk1MllnalVfUXhPVXM9TXk0eUtaeDx5Nnh8X3xO Z2hIK2pte0o3Z3Q0RUQya3xIMGFPJGJQXjRIPA0KPiBRR3R+JQ0KPiB6Ql95RSowdHFEfmdha3Ek QnEwZF9RVjFjMWdmdkpZOXNsMW1eV00kUGVKP0xCJHBhRXtAOD1Ua3lMYXh+bg0KPiBLUzElDQo+ IHpiSXpHRlhhNFpkbGpIaDE8b0dIN1pzcCVxe0N0LQ0KPiBHYCNFbXB1ZndzSD1ieVVIcTVpMkd7 MFNPeXQkb0BRdXFqfHUNCj4genpAfnNyMGg8Q2cxI0FrfjZ0RjJeUV4yTnhPI3p6JUhVKEA3KmM3 bFNVe2s9Unp+eFBXKXgpb2BvUkBjZj8NCj4gYmBKQA0KPiB6M2Mlc1J0X35ifVJiYXBzdEE7cE00 UikqPz12WG5wdkhWYGdgfWZHWD81QF54SWR8Pz5yQEFtNiQ8MkVsSlk4DQo+IHxHDQo+IHp5dHtJ YzxSaUhTVG9FfColRGBiQ1QwUSpnSzFXITQ3TzRrUXp9YyUwYHcqUEpZRGhtZzdLVUdUSCUhfWEm DQo+IDRWez0NCj4gejlSSm51PVlHNm4jX3dYXjhJLQ0KPiB2NCQrUWkjR05UcX0kR2wmWjdGbT9L cWNDOyo+OHlsYGxqIytDWD55KVNEP2YzRg0KPiB6TjhDU153aj0qdyp3TSlVOSpiTyU5UTUzUTY7 SDt6YjxkOE9lfjZnO2xkenw1VUhgfXpMbXYxel95Ujl7ag0KPiB0Z0p7DQo+IHo/a0VFbylKM3Zr VnBISXZRR2prNF9GR0F4S2dkQlp6Mj9EQiFLRT44Xi0NCj4gbTYmYSReN2JsQjBWbjNYWXlUVGko KiMNCj4gemJwOFlEKGVsOXUmaHp7UyYyM05Qa141V1JYPSFPYHNJOTZoJWBlWU9GRllLNUI3VilH d2JTO0BBRip9biYNCj4gbz9+Jg0KPiB6bUVaQGk0LQ0KPiBCfUhAPXoqNCRJdlY3dkUhb2dMdHAh bGxtQXRSak5CNEI/dnxLMD8jaFVHdDI4SSFUeEdHRDxBclp3DQo+IHpeNSZMP2hRQH5haEkpPVZl YiZ8MmJAcjZFJCUxQDFvMGBiPXlnTzFfbnd4NyVQbktySkFLU1RiLQ0KPiB7UjJgUSt+RT8NCj4g el5vPGt9cCRqUHNiYndxdllWQF5NditMX0czTWkzLQ0KPiBBPmN+KllRO2R1aFIxSjtkd2J5VnhX TVg/O3xCOUx3fHZtbA0KPiB6KVNAXlpoUFNmMVZxP3dCZSkjTDJ6ZCF8fkcmRDlmcFFqfG8hUjQ3 I25GVDNabFk9SmpuMGZvZ0BtfnVaKGgNCj4gblUoDQo+IHoxflMwfjhpIzFee3Z3b30mKmU9NDcp R1JeIUgpSGhkX0d+eD0peXpXJnomdVUrMzEkeHg8PmtHSF9xMzANCj4ge0xCQ0MNCj4gejw8e1FV XzVEVmAoSVEzRjErSl5FRUl0O1d4cFUjSipaO050dWBlLTNYbFk3YFFaXiFOLSVpZ0lwdHEjd1Q7 NTswDQo+IHooNVA0Y299VT1uK3w7T2VPOFM1NGc8VE02azR0O1BlV1E+Zm97NGJQSSViQDJYe3BG Zk1tTFh+Xn5iZGoNCj4gZS0zNHoNCj4geiU4SDZIPj8oVnR4VipifS0NCj4gKW09fUFhdllVNTNR UzRjamh6QGZRUlR+NGM2KWplQk9tSjgwRlVqbF81PWAqT1g9QA0KPiB6cV5fVTdfNChVRU10JSR7 dHwlOW5xLQ0KPiArVlEyT0JWYlhYJm5fV0dvblpCXnRye0YqaEZHRzg9T1pEMWMjbCVQOE9ADQo+ IHpJJDlDbzhycCFsOXh5T2NSVGRtTTU7MTRUdGxOWGBgelRgfkJMen1vU0JUa1h4djJNN29FRkRX emsydyFNPFUNCj4gKjgNCj4gelptYjZkQWA2TS1NLQ0KPiAqV24rMDAxaCZUc3lgVnw+VWo3cH02 Ml9SU2Nmazg+NDtPb2dDdkdmfjFVaDZhVCNLMyg0Mw0KPiB6MF9gaHVhPTtZe09DRCpnS0w7bG07 KmdKPT1IZXk4ZD9kekMoT2E4YTcqO2ZReG1lN31YfTxyKml7I01LZl9lNWwNCj4geiozYHlFV3Vm KENwN3BWYFVYbUZWQSZxT1NffjJZK05vTTRHVGNgYnM/Z0hCXl9CMEkzSFloR1hQKyZfDQo+IERx M0gzTw0KPiB6bT5QcFd1fVBadyEzKjIpJGVnbVZ2NioreDlGQj5wdUJ4SkB5eSl6eT57QSlMQCgq cX54X3YmQSRWdEpJNg0KPiBJWUIrDQo+IHpUPTY5NSFCdFExZVEpSU1jTHBifWRScEolP3x+S0xr M190RWJqUTV4VH11bTdjYSQ4QnQxM1FUVTB6c3dybkoNCj4gN2MNCj4gejhicH1DIVZrdFR6VFZL KnFVRjhoLWslIXZRV3kyaVcjfSlTJmZkUiYrMmQ9KyskaHVCTGx7R0M0LQ0KPiBuNldtdEZARw0K PiB6ZE4jQyFfeG41STdtVTtzUzI4MiFSVTklZ2k4QUohPTkzJWlZTzBFfTNsNDJmU3ZQJn15a1Vf cS1MZChaQDIoczMNCj4gemRIUFpXNDZITzM9T1VTXihDMHY+dDVXTTcrP00pXzg8S2J+c1RZfG5X N3JDTDtRRys5SCVDblZADQo+IHk/aDI2IS0zcw0KPiB6cX05KTZNbEM4aXd6c3d7cFJieiUoJHNY bXBgcHBGPTZKN3tGVkh9SSh2VjxBRkRLXnhAWDBAK2thUXpqI3ENCj4gTT5qDQo+IHpaeGA2MGZY R0VkcSNnNTxIcDR+cXRENFV9YSlraV9wMyhfQlMpIUAyc3lIaHZXX2lObWhyKn0pYmpfJHdxR2AN Cj4gZSMNCj4gel5xRiNzNkowO0MrcT5xb3gqfUFWVTA2Kz9lbHArVGBqQzhha09UTFJFemtXQmhv dXk4e3xLISptMDRkP3NuSg0KPiAxYw0KPiB6PkRaT2oqRSoxTzBVRTdEWGxUK29TRHNBQTtVeEl9 a0QrSnZTVlRiZnUyOD1CPiVSdThkJXU3PEBESns3DQo+IFdqUDBFDQo+IHpSYDBgczxeZ3l+R2VB PmFaREdweF89T0xJS2x7VnJgPno4fmFIRlVqVnU1cnojYSNzQT5uMnV6dVNVJHs+eSQoDQo+IFEN Cj4gemc1QFhSaXMxVnt4XmV2MXFoOUA2YWAwcChvb21tWVpnJE5xRmwzLQ0KPiB7dkAqOFN3WnFy aGFNT3pveD0qT2cmcSFROA0KPiB6WnVQTE1fJXl9dlBXZy1jbCNZbXxRUjE5RWxqdVI1Z01hQTlI YSs9R1R6Nm5eLQ0KPiBNSD88ZndSJTtrKEx6KiZiUTx6DQo+IHpaSGIqVFZCUDQ/aUY/bGdwfEZ+ az5SRFEoTWhBfDkkVyQ7VkhDNkp9bUVxNio1VjB5TmM0aFZINlBreXENCj4gNiQqfi0NCj4gejJp aFpvSjZWaTcyN1BwSHdHfkFObU9VIVVeKzVFOTk+SThZNXkyeHJ4X3t7LQ0KPiB5V2hIN2o5QCpa UjJSODdAYlduYg0KPiB6MCo3cHdeYUIoR1dGM3pAO0pXR1RfcyRkXi0NCj4gTTR0bXg8QF9ffEVz UEtEQHU9T1ljSklfS2Nja0tKdSsoR3lzQzhHDQo+IHooRDdmM2VTMUs1VDtTUV85NmlgVTNNXkVI MFR+SnlKbTJBa0NSZHxVb3RUa3tlRUhBN3VxVGlSODh2Kjs1MiMNCj4gPjYNCj4gelR7VWdqNk4r U1Jtckh2TUhSdkJ1S2U2cjUqfUhoWWpkLQ0KPiBBTClAekdVYE57TT5eTShmOWNPOF99P2MxeUFO I1cmMA0KPiB6cGJFR2A8aG1nYVJ6UGZoO2dfanZyPExXVmZDYm93UFFLTmk+QHktWEM0bXctPG0/ STdNJVBRKilfZmYtDQo+IFk8fks/DQo+IHo2c2Z3UjJ2Y3ljWmFjcGQ2Q01iQEA0N1JFJERqfCpY WCl7ciZ9YX4rcWpQNlkkR3NaPjFPeEBqNn5YVT94DQo+ICNTcyYNCj4gel5FcTBeVjZqPWZmMHR3 OTZXQHFtSUVyT05PJH5LV2ZDSHlqVzJDVXElSHZONiRYaSpfJUwwY29GOEYNCj4gRzBnKyhjYg0K PiB6aDt4fEVUcWs3NUtBXmRtTDUqdktKcSZBTnhwSSFxUFFgPXw9XzwlMGo5TEwjQHs9QGJEQ356 UmswTW88DQo+IG9tfjkpDQo+IHoqNE1vY1RWeURvUXpnLTJmTWtmXnJ6WVEjaWxyTklsfSRHeTw+ IW0yWC0xbiRzZk1VQnQ5LQ0KPiA7XlVMMXArNShWYEYNCj4genJgKGhraXowMElsaW9AN3gyX3l5 REElPT9nXmd+dGJ8diRtMHtIVFglKm5JKE5HIXkwdmJ7LQ0KPiBkUkNuc049JGpIVQ0KPiB6ZEcp WXNqT3pRNmQyZGY2dHJPND4zNXJePzdMTyUoYz9VTFhKRlNjcTRMPDRHVUJINmszV2xmYTxLN3ZS elcNCj4gSF9MDQo+IHpVeWcye2NYLQ0KPiBSMk5yQkhxenk0M085eWx1S3o3T3d3PjVqdTt1Tzhk XlVQa3leJSlkbXh7KlFISVpqP1QxbTtobk4NCj4gempOZk8zem1YbGk3fkE7VGhkO0NKZzxxeHdQ WVFZUDI2I3poZnU0PWs5N25na2c5Jj43dlBWTjd6bG9ZXnBqakcNCj4gRA0KPiB6QXFaRUB6dXxr MzlrcG9wb2M/UGJgYyZsMStZP3RqITU5azF2TDU3TTtEbzRHe3p9MWc0aXNhPCpxYyg7T2hxMmsN Cj4gemFOcks1O14oMXRGQzNGKWlTSCFeSi0NCj4gY1ZfNVp2M08ldndyK19XUTZ8X08yeD9icXQk dUR+cXM1NlpaN0NgOSNuTg0KPiB6b0k9ST84MT4zdVFiVDhETUo8OUxpS2B8PXp4dm04VzQ9SFJt Tkl3dHIhSyZPckhASz89UWZFVEsmWTRUDQo+IHtZPTQ7DQo+IHpARl9uTGd2eFRULWxQPENtTE1M fVEpTjBkPk1tLQ0KPiA8VTxhMHt7cUspMEpEdjw+SU1naHBTWTxzOTNmJH1oNzY5T2UNCj4genZB M0tsJUc5NFF8MyR+QWtpZ2AwKTt7eG5lU0tgbEpiRUBkK1hFfWNuVjs1SW16X0lYJUFGbEVmNnFf PzdQUkhWDQo+IHpvVGoxblowdEomWD1PX2pPV2d5bU5aYV9iSWROVDg4N0Z0YnA3ezxMTSFvdTF0 fUY2Vnh6P3trRGByYyVuRw0KPiB5YmANCj4geit7OWB6P0NQVzI9YkFJbypTc1lpJkw5V2lJJldI dWJeZChJKzJaNCpObkpOaHJ1RWV0YEdTLQ0KPiBQX1oqSUdtcykjbA0KPiB6Skt0fjhNUW5RTlJ4 KVM4JGtMa2ZRXmBleyhUZ1pYZHAoQmwtDQo+ID98Sl5ZRWFQMihLTzV3aEVNdVkjXiV9UUR2QlQ9 DQo+IHohLVFkYXZWZndxU2x9eCNXWHxzOFdMdEpURFFAMS0NCj4gKnRaOFZCeXNNWUthNz4jM3tz alVpalQoTzdQVzJLdWVaUFcNCj4gem8xSEtKOEg0dUxzWHdFb1NlbiRfKnVkKyUtQGJSbFZfKVZi N30yWFd3b1VzRGc/RWslWFVpZ3t7Qi1sdi0NCj4gQCRtOA0KPiB6NTxHP1U5M2k4dzJsZUwwZj5G YUplMX1Ka14pKnFpe2hqcTQrbyU1fkN1U0xVU2YjdD1uZVcydGo4T2I2JVN8Pw0KPiA4DQo+IHpm cyU2KjVXJVMyUGd5Z1dwQTFHVWMtJF4he3h5WVhgWmZCc2V9WGtTbmFZQzBCdUwtDQo+ICVHRypU VSU9WiNrakJCV3MNCj4geiQpTSFtPVhmMmt1dVBKbDwje1BsRmFMR3h2fG16cXsxQ1g0OE5DcFok ejB+blVKRnpNdHwmUGNQajJvJiZ8DQo+IFd0Tw0KPiB6UzUyVEk3VUZkRkx6aVdHSUZ7eFVpRTtR ZnlXaEkhUkMrV0VBRTJiTkozME5ZRyQ9WlkxJHYmZjR9WXF2QiR3DQo+IFFmDQo+IHpUY24/Tk8o MWRzT2tpfiRSaURtZjVqVHVZRip4YmdjbmFTbHI0Ujt6MVYhbWx1bjw0dEJGPSk7OW8jZnlwfUlW Tw0KPiB6KmAxUHJiSUZ+S1cwQ1ZvYTRfJjAlaDE1UGFxa1N+NWk0WFZqRU1BTlZZczVRQWNHIVl2 bDxzJVNWOzFXMQ0KPiA/MnlNDQo+IHo0KC0NCj4geSRJMEUwY0RZTnFVTWV0KUdPeEBZaUg0b2gm NiZkMUtkWiVPRzspblN6U2lzRXkzPDM9JV9tVEljVVczSQ0KPiBkDQo+IHp6SVZhPkIqQChQVU5e Qm9tMUV9JGF4SyE0RihNIWRQPEo0NlN1KFI8RGdfV2taQilgQCNOOzB4LQ0KPiB5NzdAQjZnPSUN Cj4genFmX1QpQnpoaXZSQjk/cSRSfWp2JDFSZERvVm58Yko5JmkyNFR0YmteT2M0SmowelY7Sm9q U35wenAmb2JhekBnDQo+IHpFanFsNW57QlhBUTMjWiUwO0dXYmNEP1oqNjZDfU0yRFd2bjUtDQo+ IGh4e3Y5TGZvIygqb3lHaWJ6eiZsRnwoaHl9e1kNCj4gel5iP3QlRGJBcnQhcy0NCj4gZ1kjJFJT NkEhOEcwSWE0QnozSk0qMz4lZytkY25kNW5gO1RNV3Z8bip1YlUyIX5QPjNpcQ0KPiB6V1okPCR6 fHVgRGtRPzdKakh0JTJ0X0tNNi0NCj4gI2RTVjApbnIwNTVLVGh1Z3llRlJuU3hZaGVoOUNJa2F3 aWJGKW14DQo+IHpFOVo2QEJlP2U2andEelp7a2EreUZkPH5yQ3B9PXtPfkZEPSt7JiNse0RLYklJ SE8rdjZHMTs8bD97KTVNU0l1DQo+IHANCj4gem4qQUApWlEtDQo+IDJ6SzJucSgmMEZuYVZVU358 bEtCaE1CSSo0IXYrM3I1XkhHc194MmRUU2tGVmc3QUVPV0ZAMHBAdw0KPiB6TmNYO3Mzeip+OUts KCotQWh5cjg3az9mMyhqU2Q3TjR8N048amctKE1+Y2w7KHhqfD9LNGpEPFNSKClpQHAkQTgNCj4g elNZVjdtLQ0KPiBzQWRZO3ptSj1HUk9HXjN2Pm0xRENYP31XVWtHRiMlUnQzSGBCdmojVyZBUGtZ M0JCVHtOJEN0LWNUeg0KPiB6RFRPdiNgX1FMVEhfWHU1ckprWTRpZUJvWVAxUSMlJmBqPEpVYnsj bUc7WnxsSX4oaDNOZFVYblJhZXdpbSsNCj4gTkE5DQo+IHohMi1HZj0/aFl+dU84WTQzc1J7ZWp5 P1khcCtERXNhLUl5JlJoOG95K3x0ektEOzZJNGZfckk9SkRCdC1eWDh8Jg0KPiB6am9fem0qNDNQ O3QxNTMkdTllQmJsYX5HKUVDez5pQ3gtYk0zISo3cFMkc0dLMGFwKE0xe1V9bjktYjc7KGo5ZTsN Cj4gekh+UXZWRmJ7cEhBWSNtbzhDJjFjWUhXN1Fhe3BvQkV9QUpQY0V6P0FldTRVbGBET2N5em0w byRBVUJ5DQo+IFk3Wm5DMA0KPiB6SmJxPTVlbVFwVDtJeGYxKD9lJmFnLSQ8dmBVREJVMCNiQHxl IShtd0YpcUNGN1pUKGorRy0NCj4gZ1dYaGl5OTFlO0EwDQo+IHpaZUA7QDRBVms2WE1oTm5gO2lx SCgkRGo1UyNCR0JBQDwhTisoZFZsYXBBRXFhWlRfeSljaFNZe3k+PkFgDQo+IDcrQXINCj4gekRT ampfV0YqUnJlR0g+PD5lfWJncGJ4RWBUOTYjaFRZNm0zbDN8e3wjfDI9JWBQdSpERGAqTzQ+NC0N Cj4gN0M7YW9NdA0KPiB6ODNSX3xXTWU8cFN8YjlmMzN9IXd0anBjRVIoUTtaeHdhMCpnfjRMeXJ8 b2lMU0hmZlA0fj5PRDlgPn1EZGRoDQo+IE1SDQo+IHpFPn1pVHtkRWBeTSVCfCYxPDZ9VXV6bVYo LQ0KPiBMTjJAVzhCbmNwTnhwTiQmKSk0UWdCQnNwUk5vK2RTJCt0ZVpuU3UNCj4genlBPXpeNlpz WT9iJXkmRWk3K29SI0Amd0syUl9hPC0NCj4gZFZeU3FJJkN6enYwKkYqamJRODV5diZYJGFMR2lq PlozVQ0KPiB6Pnxae1B3Xkcoakt9YDtTP25rSTZyKmpnZWMqQERTYCFiUilYU3k7TTgtDQo+IG9I RGRNYVZoe05hM3BHIXwwV0tmNmMpDQo+IHolfGU1YTtsSD9nI0R7JCR0YW1JaFVaWSlOaHNXeHxe Y2hUb1NfZ0wjZWlPRHkreFVgYmQzO24mTnV3SW1uDQo+IHl9KjkNCj4geihWd1gpJU99QngkRzsz ZUpBRSlwUGNIdDRCIUtiZzk8XzNmMkpNYW9HREk+Vm5VVWY4TjR8aWolYW53VXgNCj4gfjlqNA0K PiB6aWolMilVN3ItDQo+IGAjUXFJQEc1KT4jeGR0UFpNZEh7SHp1KkJLVDc8dF5IUCYobmE5fVZz S0VWYUUmeE1EIUBkfD94DQo+IHpLaTUzP2k3RipRNXViIXdRPDVlQmFfcFR5b0NJQ2dvelZneVJO MyhxUC0NCj4gZXlnZXJWWTdBUVloTVYhUVZsPWwwSWcNCj4geiQybkUhWWUqVUlTUC0NCj4gQHg8 VmY4eDlVaURaU0N0VnkyVzdLQkBlR19QTEM9JlVFYDNeZCUoNnI0cnpmd1Rjd3FVcw0KPiB6KTdj NTZYTF5welk1Z3JxRG5QK1VzVWZ4JVA5YE9wVnBee3tlUylWSjJIPVlYUWNHQWUyOWBVdGVnOyMk JW0NCj4gcjV9DQo+IHpKdlRkY2g1ajVeJjtiaWlYWUZPLQ0KPiBWTiVjfVRfa3UrTzwyaE02cWFX YCFJOENWRGElUDEqWXI8ak1nU1RYdSZwb0wNCj4gemM2PzdETWRJb0hySHwjdHVPUmBVdEpYakkx XnR4KyVnMXNEWFBDXlcxPDdsc0ZzWGVpVj5mcClxcT1CUVd1KQ0KPiA4bQ0KPiB6KVZHakB3QX5M R05nK2F9Vz58cURTZzszJE9BMmM1U09BOWJEeEVuSFhncWg4Uj98bW1fSV9OYT16Jg0KPiBTVlF3 OWp2DQo+IHo2WCpZTURmU3MhcE9GUHVqbmJTJVZfQjA8UUUrSmNuZz40I1BnOy0NCj4gO0tRTCs+ aSZ8Kk9AWmBadyVyYTB+STJrTyENCj4gel9JMCZxWXMkcG9VbXJDVWcqJkdJTXZwUk5MZk5vdW5H K0RZYU0kZEFZcTFJcD93VCQzRzRvTWZrYHANCj4gb1lYSHFIVQ0KPiB6SlcwS2hSIT9qJilta1Vr U2x8PSVeUkI7SyRqT1ZBPlg/NjBIcjlFTzJfUF8zV3xaajRxRC0NCj4gaHs9QFpOXmM2e3lpDQo+ IHp5Qil1Tk5qWHAjUGJrXjt5IWdmTDVET0hFV30rU0dhPEBIeTg+O0IwQzt0YV9nXmVrXkpWbzla XzkxMyghemMNCj4gZVoNCj4gemFefi0NCj4gdXM+Ykk+clhHfT05QkVLZ1g9fFc/dzJ1eXBSVEQq OVZCKlFFVG9Icn11T2RjaCNNR2FOc3lfWDxwXng3DQo+IFQNCj4gejFqcXo4QSZtdCU+aCFVXzJz NnhMbE9hNWVieDF9VDdndGEhZDFjcyMhWUJQT2FAT3JFaFVJbDVmc3smdGx6REs5DQo+IHpNNDJ+ RntKeEIwRShhJTdZbCZ4d2UkN2xlaFNeT3x7U1ZPS3lJTXZmMk9nMD5lXnNrcExyNSN7YTZwXygz dw0KPiB1cWwNCj4gejtCdWtpZn1lKnIlbWtze2FpbChCd05tT0BLeCNeRVJOUDJPdDlkP01CcjtN TzduSHg5U0EzZjZran15U1ENCj4gUnl5Pg0KPiB6ezVAWHEzYW1vWUt5QzkkVFg/TE8kNHE+PURZ ZiVqNyM5eyEoSjFjbzMmdG0wV0xOVzZabjJVMTNaX0J8DQo+IDVCcEltDQo+IHpWUkFKO3JDO1k9 ZWhNb3hQd2g7QStnck5AbGwxTnhpWEF8eFlHNDY3NS1jUjM2UFpXWS0NCj4gY25RYlRedExZMzhh fSENCj4genF+S2FIenEzZHJ2bjFlS0R2ZXNKczRORCFvajk+QHc+VkU4LQ0KPiBhSCVBMGJecHlu aW1vbGokKyF7Mz8ra2YjPkxZQQ0KPiB6cGUhNlR0Zl8oc3dSKE5pZ20zZThCYmhIMygxJSk2ZVU9 cm9eZDZqQXMhdl8kOUQ/cUBqPTNLNSR5Jj95U2MzDQo+IGFsDQo+IHoqaHBZYiYkWmw5SilYeWNY JVpwZXA7Zl5IRUhYNy0NCj4gbStLSzlYfEpLVjU0cTRUeHVFPSFHeVZ8MlhjWTFAQ3pSWWgNCj4g ej1pY3ppS1NIOVExN1UjbjlUYlhsdUFuQGNIO2doJT9TQH1WPWMoR3IkeEZzbGVJWnlGYjdRUnZQ ODslfGIqew0KPiB+bA0KPiB6eEZgSG5Tb2prPlMkLW1ncytybVFmKTxZIU5teDJZdW5AST9jNHQt DQo+ICpiJVU5Ujskd1NANG9CZ3ZtQUxXPSVHTz9hDQo+IHpYYllPUHJzNVJLZUQlMSVVbkQmdUI/ YENydFRqOH5Jb0pefl8yKEUyYnlWVFFuX21NTz0xOz4zQ2t8fD0NCj4gRjNVZjINCj4gekQkNip9 N0gyY3g5Ul9lcnA2eVBlQXlxUWxgMk9SeTxwb0IxZU5rSWNofkZiVXdtVyZMNmUxLQ0KPiBmSmBU VnE2VnxiNw0KPiB6Mzc7QHR1ZE9KXmo5I0taK0diZHhvTTR8YVk/PTZkVC0NCj4gUjhwaHFXQlN4 KnpxbVJtRGVrQ29Gd3I/TChofXtfVmpeDQo+IHo3ZmZYPHRkM1orWEl7WEdfK1oyc3FtI2s8aytF Zz1Ad2lwdCY7RWNpSjl7bHQtJCo3UkR2Yld6blN6WV4+UGlINw0KPiB6Z2NKOEZfb3pFR0k8XzY/ UitAYzQ9K219MzdwfHl1SFR4RGwjQ0oxeUV9KH54ZGdhZ1RVeFdKIXtFUiM5QGphDQo+IGBODQo+ IHpmNHUwdygzIVFhamRrWjVufjhsVlpwUXAyeEFaTTx6LQ0KPiBCKHlmQEl7Z2EpOHJza2s+VTI1 b0ZiWjErNDNnbjxTdWsNCj4geiM+cjJQRWZjP0lhN1poO0Ztdy0NCj4gYTk5c1YoMzVAam1mOyVg MExoOURVTzIyP0p4cnlUPDVudj09YihyN2YxfklAQA0KPiB6bSk/cDY0V0czU2VKMjBsQ0s3WS0N Cj4gbShiZngmTmo2PF99TG5GM0JCKXReM2tIPzklO28qSTI/T3Blb35sck1JK34hDQo+IHpIXm9Z K2klc1duSmEmY3BwcU51d1JmQGdjR1Rle30jYWxjMnZySjY1M2tqQyRfa15EYDBldiNGOSRPfjxG Tg0KPiAzbTINCj4geiUzTyRZTExCRHpGIz5PVD5ZR3FGYUBITCZaezQrSigqSkZye3lRRlI5Q3Ip emZHfSElPClJdEkrQ1c/QWJ0bg0KPiBjRg0KPiB6bkN6NEdAKHQwe295NThFTEZBKnRzdGBiO2sh ejF3SUdxXn1uQEl9U0xDYCFCcWF1MDQwKnNCaE9pSXw7PGEmZXUNCj4geiNrfmpIcGFsIVVkO1Bf dCFjJmUkSlo5VnU/dz5wdVd9ZnBFQWwmUFNuYlRqckIpZyYqRlNXc2U+eGIqOUd3DQo+IE1AVw0K PiB6X0l9aC0NCj4gY1ZSI1ohO0Y9aHwwUVJrajlNUVd7bzNFblNqZFQ0Tzh2RHpKanN8b0NWQzdu TFJFdWQkY2pldih2QypUDQo+IHo5JiRuOT0+fG5CQHJ7TjJSY3ZAM0RNJGtsYzJkYH00PEpvVTRg YjxNRUZVRjM7SDMkU1htVWljPDdlcEQNCj4gdVg+UEoNCj4gekpRO1NWRWFNSn5LNm5kZWZsdVVi bGtsb1hFUjwmTCheJH0pTVMzNXg7Tm5FKnxLdn5ISlBRezE4OD1zNEQ0ODcNCj4gNQ0KPiB6Qzkl QjRPYGUqdUFSSWZ1djBwNztHQypwNmkmeEJ0K2FzeElUfitETVMkQ0xhUTZiQTwkTSRLeiFwdl5Z bQ0KPiBjO0hADQo+IHpBT1hYJWpMVHw7TmQ0SzsqdHRVKFBgdE9Ecjc3KjctDQo+IEp9NUUjZTs8 Z0c2Vz4pZShVUUl3JntnQCRzOG9vV0pGQ1ENCj4gejZMPzBtJHxiPTlDN31uPCVlOVA+N180alhH dnpkfXBuKTdZXkFGcn5obVl9IWRuVDRVeXBHJTBZS2VIfT8NCj4gOUF6aQ0KPiB6NyU1TzUmMUIm JWV6dTFOSnQpJTxTX3NSSFRMcWRkTFomWSpWeUVkRTEpdyUhNiVBeHkwZGN0Y2JseXNhNg0KPiA8 NCEqDQo+IHombHhMUip3ZiEtJTJHPjVubl5BYDdJWiV4e3JiTnd5aG5NMnI0PHdNTkZPLQ0KPiA4 dDFlZn1qTShHPnpqPiV+elFUWTcNCj4gekpVa3RgclVwXy1RZD9RUFh+TVRhcTlJajY3TUVrUWJG OT5xQStaLQ0KPiBNODFwK2doTFE0WVE2fH05K0BOO2VUZnUoWA0KPiB6ZUcwZl4wcFhucFp8PjQ+ ZCo0RnpqZWhNUEdATnJ0UCkmWCp1cGtwUiRNPnZ+bERMS14mREdqRHhqZ1INCj4gPiVpZFlsDQo+ IHplbXJnXkEmVWQ/THNuZ1BgZXZEMXZBbStvJnglRSljUzBtNz1UQ2c+fEZuMWhQOzVTV3ZBQGIo YGd6Pg0KPiBSdSlhYkUNCj4gemdKWmNzIW9mP3lrfjZQeCN8O1poJj0rKUhxX0pRTzVRNU9VWVN5 O2ZhQT1TSHtDTUF0MSk0KCFYc31SbCNDSSYNCj4gdg0KPiB6PTwmKnNiJjBXe1g0QUAhQUYlZkRp djVtbW4rdmFeKllLQURZcUpsNzAreU0ySmRJN3RoM0BVKSp6KC0NCj4gdUV0N3ItDQo+IHo5WV96 QTxtNm95e1UtDQo+IEVAdWJ0UXtoNWA8SmVsfFZ2TyRAJlY1Tkk5MiFUYHN5P2VqQHNNd3YkfTxm XlBKU1RNdFoNCj4gek90d3pGJkcjMVpCWVg2enRsJGIoUlpFayhCQyYlNyFkeiVhVXRkVDh0TCQ0 aU5eK3AzVUJ8XkE3cUdmQil5DQo+IH5vbg0KPiB6YGRCbWpBPHdYOGNKMEhUKX4wKjdSRyRibHVx emYoWXNyO3pVMEhhOV5xeT9kQDtYR3JCQCQwQ1oyclZUYVplDQo+IF4jDQo+IHp4RURgUlNxXlY1 NENMWENkMGdQI3hPdX17bm5qfkd1YzkmITVPfmg+Ym9aUEFHNlFHfU9QJmxrekEkUXMNCj4gWClx UkgNCj4geik3REw5OFclYnRCbFEkNEZqNFpyXik9LQ0KPiB1dHlubE9pe2tOV3d3TUI3RHg4Rmkp Y1NYV1VBZlJrRW4rZzVXZ2Q0ag0KPiB6cUQrQjQ9RHQwZTRLKV4rRlZLV19eJF93dWNnJEVJQl9x enBDJTsqa0JIcVhkY09DfV9sc0ZjLQ0KPiBCUEBZbTh4SFF4DQo+IHo7Zz5zYjI7Q189Knl5PTdr JiY4PmFpUF98P2Q0bE4xUGlQZDQ8MzFhYiRPbCNFUl5RcjZKb2BKbm89alF3bUNnDQo+IG0NCj4g emZGWChKej8+bDNncUs/TGh5Ky0NCj4gIUphVlMqU1d4Kz4wMiVgdj5CPWpOYW9IbXI1YWJhNWFF SjJfUXR4SDlwTChHSA0KPiB6dCVtMURaRiFPUSFKcms7RytBNFUoKyp3PVVTMmRGXihaWFZjKmVw QmNQeG5jPiZhVztkX0ErS3lLYXF6DQo+ICliJXNLDQo+IHowdiYjKlBuUiFacj84K1kzOU1NcFBI Y3pmYGRaLQ0KPiBXNWV7STFaQ3BhWWJ3S0MqI0VpeldGVDdLTGJ9dTsrMyFSfXENCj4genJ7KUow ZCQzSn1zUDsxSHR5cXdXdXdSUTxWdj1CVi1Qc1FkaGxrTHl3ey0zdE5CV3lWZmotDQo+IGR9ZTM2 bU5ST0xtfg0KPiB6MlEwRG1ScHNyJGZkWmV7emZMNDItDQo+IHo/dGR7TyMpd0RTJnxAYj5xdHJT enwjKmZrdlNnWXE8fTROXml1MWFOU15MDQo+IHpzRTFnd0FoPjhJcTdna3FYSFQtS3RFcFczQE1q VW0kaUU5JWZaRj1TRXpmP1IpbXlyRUdMJmQtDQo+IFM8Pj9rRVRYcCsNCj4gejJWYT04dnVXVXAk ZH4+c1NXcyh1S21ed3FIKys7IWRvTERuR19feT5CJmNENmlOajh4O0hTUShMSk1QDQo+IEUjKTU3 Ow0KPiB6Xz8pT3A+PGEyV0k/eV9SbTE1KDVpOC1zWVpFZEliUDY1cDlFQzkjTCs4b0wxU2skNys5 fTl+fHlKSkQlO00qWiUNCj4gemkwT2JzPiNFRUFmKDA0MiphK3NDQDhRZCY4XnN0TV53Pj9ZdnYp Ni1TclNgUEA8RFgqJmowNDgqaDNJZ2khKS0NCj4gTw0KPiB6dXFITGxpcUFoVyV1KHBmRExyMkkt ZkA5bG5jVDRlNG9uUSo/aj95VkRhSE8lVTlzbGpQal5RfkdBSWxqbWB6ey0NCj4gemt1LXtPcSZM R3N5WU92Jnt1ZSstDQo+IEZDe1p4dkBnMHowUzBCM25IWDVXIWImaFMwJmU+PDNpbmJoO1BWemVg YD1YQQ0KPiB6IXRPOVJmX2pJQys0KU42ZlEoZEtueF9JUGMzb2RFdzxDUU5ZWj0le2Z4XiY3OENj TVkxMj43Q0JFYndodmkNCj4gK0wjDQo+IHp3NjhtKTBMRFdNKk10ekshIWJ4cj5gRX13O2smJk4z c2VkJHV3V2RIR0dsP1JvO3lkanpRWnlvbVpFcQ0KPiAoaTYkNUcNCj4geiMrYChCMTJWP1l6eSZ8 ZzxmcWYwPnEmPk0+Q1A1dml8Z1A2QUZEM09sfGpiQDJmMD9SXiNzYlo5YSR8ej4qaQ0KPiAxVA0K PiB6N0tWV1EjRXNmXjBqYXF0T3h4K3BxPD01UGZAbiNQZUhxU29wST1CS2JuVTt9dG9LSjBGOzRv MjtFfnI9bUUNCj4gPkJtDQo+IHpLdnBNeyFkQSZMRT9GfH43YzU5ViNCekt8KSgqUHxLai0NCj4g SDBfJShjcFdaaCV7YCpuaT81Ujxtdkh1V3x8YjZNdHoNCj4gekoldmdDJjlkJllnUTRNNFZxdG1m U3teO2A/RTczQjlFK0F6UyROYylyT1NeZXNkO0Q1M315QHs5ellae2t2dCkNCj4gJA0KPiB6QE5u bm43bVZnR1V5djFaYVFWcXdidkk+NU8wKkgwNGVjZFgreUl8dWczUV80KklwPDlae1FlUWspTg0K PiBVTWN6VHYwDQo+IHpJYjxeM0FrRT9CI1M0dUV5YVdsJE14JEdGVEpEKEZ3UklpfipSYS0NCj4g QHQ8NUI3bSVodmV2a1RuOCFqR3hoejJlO0ENCj4gekVqQjUkeko9IXMzKFRrZ2o8LS18TiMtdnNL elpfSCNWJUd9QnZfRy1UJjhjWGBEcHlZMldiTkxxSXpqRWAlI0EhDQo+IHo1RGkpZDY0d3JzXz02 RTJWK0FiWCl0WXFTdXQ1N19Hbyk5eyohR1UlSitvKnBUX1ZkNjQyYEM8U2IhU3pAUHkNCj4gU08N Cj4gekFOTC08PGo4SiUyOCQ+ejk2cGRwcUBOe3RJfDk1Skt7eU5IUjQzXmJ0XkE3eGh5V2I0OD0t DQo+ICooTCNAazgrfDBPTw0KPiB6OCZeQUk/QGxHNDlhang8b1gqP19kcTh2RD9kKkU8RjdNcnJ6 cHl+QzItdSFwKkwpKG01b2J4Km00KS1KLQ0KPiBkalYwDQo+IHpvNiljU2pSZC1tVWEoTUFvSkRM eSteJnFBYiZjUjNCKjBUZzs+Z08jb0NeLQ0KPiBfNmQmQ2tJe3hkdDBeRT4lYyFsZHQNCj4gelBr ZSkmViRBNiZqODE9Sz4pVkVVPCEzQT80Qy0NCj4gTG9iVz4oQXNpQzJYMiNSPGJXQnVxPFRpYn57 cXlVWXNCUDdjPg0KPiB6VHZ2eTxLIV9YRktlcyM0KDB3ZXhQVn1vTTt6S2Z7N0defithaDszdHw3 VkxhSGs5RWh7QVA+X1QrNXlNYkcNCj4gU01pDQo+IHpKa1RCJW41Q18rSik2RHplZkIpbklwXitL I1JqUmV6WG1GVVkhKWQpMUZqZHdDJUU4YSstDQo+IHh7a01IJStLY1IhSTANCj4gelYmNUgxQCM8 Xk9YZHN2cSVOUzh0QlZpanxFXzQzSDA8RmZKMV4oZVI2LUFiKkgqaTZEMi0NCj4gMGl4Ml59YEVv eG4jNQ0KPiB6JFokTiFrKyhrLTNkXyktDQo+IE5XSlRneTlgbXBKKWRyM0xIRGJnX3hQeSQ7WFdl M2hhQEFtNDVmbWZiJj1ZYDAqTWlVDQo+IHpFWkxzUWh8JWt2ZDdiai1DOUVaWiFRUmR5RGEyVmAp VGxJNGE9fTVHKVg8cWBkeWUwK0shJnRTUE9QazhyQ3JRSg0KPiB6MTkjWDUxY31iUVkzd2BRcCNV X2Vyd3R6WWFwak01VVdOdUQmekkkYzVzVXg3QHM7amxMM2o5P3VSUSlXDQo+IE1nK35KDQo+IHpk aV5ydjd3a2NTYnhHUjhnMkM4RSZNKiZnRmpmc0ViZE1ONnNUYjA/LQ0KPiBiWHtIRitTJmYjcjUw JERObzNhNz14XnkNCj4gekhxKGJ9e2lyKXJLe0JNVyZKZlVUdjRETjRDfmM/aj5reTVHdm9BV04w QSMwPShlWi0NCj4geEhhIz9WUXVfdWFlX19HSg0KPiB6YW8reGk4I1ZpNz9wJW1LVnBiVHZWOE5V dEljT3t4dkJIR1MyMEtFPi0NCj4gQDs1OGs0VVYpViFXanhwI1FlSHNlbkt6DQo+IHola19fbG47 aUtWd0JfMnJTUmlObUQ3TGV3Z2dUT3k5dmJNWjgxIW1OXlZOZHU0aStDNyNqYEpicnZOKyNaDQo+ IFN4TG4NCj4gemd6YGB1RFRCXzNVMzVMcEhHbD19SFVwb1UqQGt5TCN0TChmbmBlSEArcUtJKHFC SnshUDcpITxUcTdAN3U7Zlg+DQo+IHpqUUJgSzRySXU3dXw/QFNjYDdwdzllQyhEPDQ3YF5ZIzRX b28+TVRnO15JUEowbX13ZUszNyRWJFkrUjJUcg0KPiBkKl4NCj4gekYyd2k0d3xHfE9hQHlBJlEk Ul5kdG9eSmlJV0RmcSU4cCVfOG1ZUXNzfWM8c3czOGNMV0k1Nnx5PCN5LQ0KPiBHS1c9Pg0KPiB6 bXVnQW9gX0hQOVlfPkUpT3xTcSMqaVd0VGJmMFNqMi0NCj4gP1pue0ZUREFENktDVHE9MCp8T2ZK MzR2M3BNY2lvNnReDQo+IHo3KkhUMEdVR3JGb0x1bHpBQn1aWSR3QUxEcHdLXjxNK0JZVzE7SyZ9 RWxhUm1scGlZPThYREY9YFh6aEQNCj4gJjFnO2sNCj4gelVlS0J9d0I5ZFhid3B5WElKa051Oyor SzZWVFE8O3smWF5GYk1DJTF4JSl6bEdlMm9fPzdNPikrMEUmDQo+IFo4fl9NPQ0KPiB6QCoycn14 TEFgTEFDZXlTM1NMMGlRbHUwMUd+ZHg0N0ZkWnVoI31jNEZne3ArPnR5MDRIaTlHKkwrPl5pbV4l eQ0KPiAqDQo+IHpndjgoZD0zUSk7VHZMOUUyYCg0PXZtNU1yajlTRXNOZVlee2Fva3R3MVgldVd1 QVJ7WS0NCj4gMU5KUU00a2pJQ2BnVz0NCj4gekpaM0JhYn5ja2BsUE87dURVQX1eN29ETzIjSyZP MWNZKE1LR3ZnX2UoKWtiQUpQe3IrcVFqOVAkelhXO1lXDQo+IEd2ZA0KPiB6NXQ5X0g2VEB1b0RM Y0h3O3lXYzVkRkRPSXh0KCFBKygoUEVWUkJIY3phbSpWPWFnRnxlMWtHbDlrclYoJCgNCj4gV1Uz DQo+IHo+czZ7dVNQWj0yOzVUQndRK0BjSFpBdlV2R2poPD9eZzk7Rm1nZGwjbnB2PHd5Rl5VK3NZ ZU9jVHFec3pJDQo+IH4xVX4NCj4gekBkYGN8SH5+MGRVbk0+T3ZndWtAUkpHbVdtU3BYbj9xNj4m clQ2PTBedHRFQjlkQjVXSTJibzVwe1QNCj4gVy05bEhIWA0KPiB6ZERPUG9ARUctDQo+ICN6c3tZ OCtURT9qQz5aWnY1Rz5yfCRsTXxFJDI/JFJzKk1IZnshbTc5YDBFMEdwY2lGdDRoO3dYDQo+IHp2 aVR6Y3ZkbyRxWTJYdzBsUWVMSnplP2dnQUZvKk81Q19BMVprREdTcjxSKnVlcUpDZkFSezRPeTIo aDBmaTNLDQo+IF8NCj4gelgzWD8/RFZZN0puLQ0KPiBxWWg4NjklPnUyd3lnQz1PZXZ7bUt9VDBS az5NY3VGOGJtYF9CRDRIdDNtajA9aXwmSnlySw0KPiB6VjFZYzVrKGYkdyN7eVBYZj8+TWI2Rk9V TEpIME95MDFoYXY4NCteO2Y/ej4qUyNuTnZpWENhJDxOQ2hrWisNCj4gaDc0DQo+IHo3Q1Z3Si0N Cj4gfEFZTFVYMkFjPyNOYn5iU3p3WnF5VUMpTSY3RV5DdmxgVCVTZztUKjROZ0U3VnBXVjs0diV2 VztaRTcNCj4gend9WmxuU0MzJWZnPGwjZjE2YWBVUkIwNHJEb1JmY3lVI0NsdmtZRWRANFotbmBD KVE2ZEVMWEc0WjgwLU9hdmFgDQo+IHpLekdDPjA+c0JpWXttaistDQo+IFpNcCt3MVVNZj03bT1G cXdaNkg9REBtPThNT3BnWFBRckVYa2VsM3tGRkUrVHpvOWwNCj4gelJ1PUdHVD5iRTMoa0lzVitW WHQmeE92XkRoTDs+Klc/eXdAUVZ3TGI+MX16NW49bmRhQDc9ZH1eencNCj4gViQ7VUlBKQ0KPiB6 QmM3TVZSdSklUD93bStpPWpvTFR1MWs4TUt3byU3X2t9N1FYeGpQTGowSXl7KDd0dlQ3WWlRPjhG ajslZzJPDQo+IG5NDQo+IHopPm9Hc0N6RTIjP2xFWiZrU3wmVGBIbHE/VVgoMCRIRFY0MGxXK0Yh V2ZnXil5V2hVb1clWUlQR1pgWUlyZiENCj4gKDINCj4genV3ZURnT0FkTENLQl9+QCpoUTs7LX13 O2ohZkRqRXIoaSpxRCloMGhncFIkNUkwbllhJi0NCj4gSVVnI1pxUllARTdRVQ0KPiB6Ji0NCj4g cGtta1NydE9FaGY4fSoyaTZ6VHxgJXBfO0NLZyV+RGBmPj82NyRXWXA1KiQjQD9iMCtNbmBZQ3VM fTE2aTxoDQo+IHpmJEN5cz5wS00kNzlPTyghcT5yVlR6SylLPkNPfXd7KClnfE1YO1coa2lXaUhz KyVjJiN7eDVlKj5OazAkaQ0KPiBhVHgNCj4gek40Q3ZuZkl3ZTNuSGFgQyZTcVUwT0dWZyhANXJE fiZwc0s+PHZmNmJScTNAQU1RWVMqPERKI2JeNHENCj4gVT5qUkloeQ0KPiB6SiU2T01PKXA8ZUVP ZjI+N3ZlMW83TD9aX2oqSElpUDBqbCshMTtVVTEhUDRwRG9UeWFpQ0khfEcmWFU/NlhfZQ0KPiA8 DQo+IHooMmQqPmZzUkdXKHJvamZ6JV9TcjtzT2J+WjdhP2ZxOCZTJUN0V2R7R3t3eWcqZ2ZaNzxC WFllWmB7MHEmMWBqDQo+IGoNCj4gejV2U1dhVGs7RStVU2swajBBNilKViYxJDkyPFdkUDIoMkRe Um8xUjA8JDArRXNvUyU1RWh8amhmaT1tai0NCj4gUWVQfg0KPiB6VmVDIXBQYiVoOSpXdnxyKExt PEFYNVpQSz5GTDUlKDlYRiUzSUdTMSF+THs0PUMkfHc8IyEofXBjRl5Ge08NCj4gNXpLDQo+IHpw NHp8Y0c0cStVPlojQnR6N0VCVlN+SU54PjkjJXBeTW9hJWNnX0JuMnphS2FXUUI4WVg1PDNjLQ0K PiBUKHEoNjQkdW8NCj4geiltNHteWE91bSY7TWJfQ00kYEVIZzRSP3NLXj9wQ2AyRXdERmhoYUU1 S21yK1k2bytSZGxlRTZIZmooZA0KPiBCQmU9WA0KPiB6Q0sqYWAqd2NETHoxRHkqM0pjLQ0KPiBA YUE0JkdXS19PJjMyU1A5K0Q4aHxPIVFocnNNRWIpbn0rVHNTb1gxfD8jWk8/DQo+IHpvPXl1OF5v dSZCPHE/dCstDQo+IEZge3RLQ3xEMkYofW02b0N6OEVRUyVfO1VJelA0JiFHVEtPbX15OV5YIyp5 dklzQXUNCj4gejlqREYwYUwqfWZQYiYkNzFyQTY9NnxoSzBWNCtURiU/RmxgWE5zKy03MjdVUGRs VjJYNDBJZT9fYVk2LVFKJEJFDQo+IHptUThFe0srIWtWPmg9Z194ZXdoNCRFMF5sX1pVZ0ZCeTth LTdEM3laTGhxMy0NCj4gMVBnOzVpS3swODFtPW5LOGNGdCMNCj4gei0NCj4gblp4PlRBIUkjX3df eSZ1SVBoNUFzVXB+SXpAKjhaKFpIMnI2WCohNVZPNH5td2t8Mnl7TzlRMnJHdjs7e1NYDQo+IDkN Cj4genh5b1cxUUZoUGVLZGQ0KGxeSSohTTNyRW1YWTZRaXk8eyh7c2I3a1VYYXFyYSZib3V1WUZM VWF3aiYqQ3s9DQo+IG9hPQ0KPiB6Nys4VWZVJXFIKGF4cDBZOUtfcik7K25MTEZSfVU8QWg2dkRB Pmc8Oy0NCj4gfF8odFh9akxNOD4yY3dldn0hdVome3AtDQo+IHpoSmQkYDgoQXRzJXcme2hpQE9E JiY7ZyZicTgxQWYlO3UpdkJQU1NAP2FMUmNwfDUxPEMpUSVsPyZVSHRzDQo+IEFiZjgNCj4genlD dHFHXjNzeG1DYjU/O1g7OE5Aa015YTJrSUdfRCNTRSgqQE5qNmNqMGhTQ0w+TGFiPzwyUEQ9clZ3 aw0KPiB3RF4jSQ0KPiB6dFd7KnMtMjgpSzNKPy1sZlFIdEI2TDwySCEoLTxMdXRGSy0NCj4gUURp M3AjcE42WU9aTzZsSzR6VX1kQ28hQU1NeUFQDQo+IHp2OyV6X0Jme3ktDQo+IDFrQHxUVG1DWk8y ZkdUbzRAN0RMNWh3UENIYUFIdUpMZUxXMkhFVjFnQ0dNWl9KemRFPkNaXlANCj4gekZyaCNwdEVW fEZNKT0tS1BwSjtsO3tacDxnRXlxQ25NJHFjNWE8PlJBU2VfNzNofWlkI3R0PzA5KUZ8dmxBPSRT DQo+IHpUKTZzYnF5bnI9O2dmJW82VDNuSEFSISNaWXl2K0pmPTF0QW5gMn11ZTBiUGJSSyV4JjV8 NHVVSXtgJittWGxFDQo+IHANCj4genomTWdXTEEpeXFqIzYzTzg/KnZKSWErOX5EckBIZz5NSXJS PCtia0JPP0lJUnVNeHFkNShYdjBofUJuPiENCj4geGJ7aw0KPiB6cylGODJBUjQ3JllnYGExMyV3 RnEwdUBfIU1uSG02LQ0KPiBaO0k4TGxfODxiMHxFN1d2WnBKRm9VWExZQm1vQytJQ3VoDQo+IHpQ VFd3Tm8xNWJvSiVqe2hQZiVXSFJfcjE5T1EjcG1rM042KEBNfkcqJGZnZWpzZT0+NUdnRWJzdW0N Cj4ge25+d0RgcFINCj4geml1QHkpaz8qbUs1Yis7XkA0Sm9fRmB7bSg/UDx0THBGTzgpc3lxWkw3 dDtZayZaWn43bkgpVSVUOyhZejNTMVINCj4gNQ0KPiB6WCRRYHwqaDtoWlorWjN5KWI4QHVuMGlQ e157OFVOR3hVQmlPd2pPYXdAdiVpaVRHZmd7JFVzbnk7WWVPcA0KPiBPQnlSDQo+IHpvRWBUWSZz N3k0aURNVnFVMm9oO1AmKl9wVVQzXk9gbnUjcGhPVWx5PW4tDQo+IGxVclFtXzw8S18peiYwNTFi dV99d24NCj4gelJINDhTaXU3PXh3RjQ1UWhyUX1fOzxEd1UtWWc3djJWJkJUNWAxajE+PExBbUFO JSY4Oy0NCj4gaGlyKXN9KiZtZkdsfg0KPiB6S3B8VkQ9dCk+T007fms7bTZ4IWR5JCpOMnsxP0pN MkgqRClJI3JSVFAmNT1lIzQ0cENzcSZUWDZ3PmAmDQo+IFUyTCFuDQo+IHoyREt1OUU8b2dwQEpU O1BUPWk3UihMSnMqVEote19MP25oSShVQ2NGX1hkVEl5Iz18NTsyeEthcH0/SkRfOHMzVA0KPiB6 cCEtDQo+ICRuPGNJVk45ZGA/d0xUVURYQV9jPU8ydXE7QTszRDAlJUtWK2dlMDNmfiNqWXRZJXVm bkd2VU5fdihubGpfDQo+IHp7eE5qeSZGZTtnSHUoUFFraktEP05MRmVEO1VfI1M3P0phOEliREw1 K2w2ezZYPUwqZVVJZXEwa2FjSkw0STElYg0KPiB6bVJvS2R8TWkkUj8+UV9YbHRiJlBEfEtsPUZ+ dV9xJSFQNEg7V2VUdWQwfXp7MUVRYG5wWjErcmNGTWokMA0KPiBwVWg9DQo+IHoxcSElPVprQTRS JWYkYT5YLXhUdjZrfFJEPHl2cGc7VCRaSzhBX048eWdnYz5mZGJNKlBfNDUzOy0NCj4gaDx5Pytx c0kNCj4gelN5Skd7Km1ubCluMGZvQXJAaj8zPlhXRCZfPSslbTJ6ekA5bGBNbWMhVmJ3dU9nUWRN UHV8TEl2d1ANCj4gK1pPSWg9TA0KPiB6WDRFMmZocCNASiQ1JUF9IWBvbiEtDQo+IGReail4X0Qr M0BXfDxwZzMwdD8qdFFwYkRQQHJPTlBUcVh5KVc+eXp2QFZEDQo+IHolb3FWckdGdWxpPkp1Pzxe O2VQTV5OcTI8ZyRwcyF3Pnt4VjVGX0UpVUVfdl97fkt6bmsrTnpsUEwqYVJsd30NCj4ge1YNCj4g em8+PlA3Rkg/ODZ3NjNibSFeYFJ4PTtKSHFLSHRwekU7dXc4I1ctDQo+IDclJVdWN2xGPChGOzAq MFg4VSRuQ0c9XzM/aQ0KPiB6dW5ARDE+Wk9yUEZ0I0tHUFJOYTRUVEBuYFhZT0UzXmxLJFl3ZHQx STA+bkFEK2JIYklESzFqPDxTOzZUDQo+IEBxRCgzDQo+IHp6YTBDTGtYVzcwczEpWEclfEl+amdH MzZXJEZpMkA9SVhOaXc2SXNVUHlhb1VybF5JZWBMO3lWUn4yTUdWTw0KPiBBI1cNCj4geilMPGJK SX5FJX1IOzYkO2VBblojRTJ+Y0RuUns9TVNWV3FsKC0NCj4gc2VoM3dfRlA7NUgwWm9JSVNpVmFF MHV6b1ZRSw0KPiB6U1BjWmRlJHZvU089KEJAXkN0enNoM0s8dGxgKEc1VnVyZl5JPkkwV2pVKElW b2pTNiZ6UGlqOUg0Szx3cGtoRmYNCj4gek9+Vy16I0woJDNWdEstDQo+IGpOfmxGSVVlfitZOFFJ RmYpWTV8YmtlOVNNSWI9JVl0VUVBalE2I2g7dkc/fUxARXxzNw0KPiB6RShyeGg8NXNnM1NgcFR3 STlwdDg3PCtUJSVzVWJtazUxaCVCWVhGWFF8WnhfMTteXm5vK2syU1EpNjlBaV8NCj4gYEpMDQo+ IHolK2xWa1ZmZCFUYGk5IUdiIVNTLWEjUHRBQGtxcCsxSXghbnp4dDFqUGtjamBvfmJEfDNTamc5 Q0UqMTdxaDw8ZA0KPiB6VCE8QlBtQEB0PUdtKGZXU1pzen05V3dHYD4+bSsyeyVoZnJlO2hnTV9Q QlFrQDBtWTVEZSZvKGtqDQo+IFd7KmxoYExODQo+IHpKNyNIQ15rVUJKVH16SF9wVTBNa0ArZkgx cDd8czglbmN4WkJsfDtQQD9HPUxyP0Qmdj1WTT5oWnMqIVINCj4gTHxKSWYNCj4gejwqfjFBM2lL IW54QiRZZzJVbyRzWHMteFleeGdtaldmbz16RU9QYzJTPDUqMnNxWUtKNC0NCj4gXndDdWthJFRP U2lBNQ0KPiB6Q3V9WCkpYEQjYypjN2xTVXtrPVJmSzM2TDB5WUl+M2ZMNXxEUFU4O3JocldXbip1 ZmtZem8qRXVxanx1ekB+c3INCj4gZTBoPENnMSNBa342dEYyXlFeMk54TyN6eiVIVTtfOzFeeXAy KnFPeHUNCj4gDQo+IGxpdGVyYWwgMA0KPiBIY21WP2QwMDAwMQ0KPiANCj4gZGlmZiAtLWdpdA0K PiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01ldHJvbm9tZS9MZWdhY3lNZXRy b25vbWUuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01ldHJvbm9tZS9M ZWdhY3lNZXRyb25vbWUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi5iMWZiNGFkYjM0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTWV0cm9ub21lL0xlZ2FjeU1ldHJvbm9tZS5jDQo+IEBAIC0wLDAg KzEsMTg1IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0g MjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgTGVnYWN5TWV0 cm9ub21lLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBjb250YWlucyB0aGUg aW5zdGFsbGF0aW9uIGZ1bmN0aW9uIGZvciB0aGUgZHJpdmVyLg0KPiArDQo+ICstLSovDQo+ICsN Cj4gKyNpbmNsdWRlICJMZWdhY3lNZXRyb25vbWUuaCINCj4gKw0KPiArLy8NCj4gKy8vIEhhbmRs ZSBmb3IgdGhlIE1ldHJvbm9tZSBBcmNoaXRlY3R1cmFsIFByb3RvY29sIGluc3RhbmNlIHByb2R1 Y2VkIGJ5DQo+IHRoaXMgZHJpdmVyDQo+ICsvLw0KPiArRUZJX0hBTkRMRSAgICAgICAgICAgICAg ICAgIG1NZXRyb25vbWVIYW5kbGUgPSBOVUxMOw0KPiArDQo+ICsvLw0KPiArLy8gVGhlIE1ldHJv bm9tZSBBcmNoaXRlY3R1cmFsIFByb3RvY29sIGluc3RhbmNlIHByb2R1Y2VkIGJ5IHRoaXMgZHJp dmVyDQo+ICsvLw0KPiArRUZJX01FVFJPTk9NRV9BUkNIX1BST1RPQ09MIG1NZXRyb25vbWUgPSB7 DQo+ICsgIFdhaXRGb3JUaWNrLA0KPiArICBUSUNLX1BFUklPRA0KPiArfTsNCj4gKw0KPiArLy8N Cj4gKy8vIFRoZSBDUFUgSS9PIFByb3RvY29sIHVzZWQgdG8gYWNjZXNzIHN5c3RlbSBoYXJkd2Fy ZQ0KPiArLy8NCj4gK0VGSV9DUFVfSU9fUFJPVE9DT0wgICAgICAgICAqbUNwdUlvID0gTlVMTDsN Cj4gKw0KPiArLy8NCj4gKy8vIFdvcmtlciBGdW5jdGlvbnMNCj4gKy8vDQo+ICsNCj4gKy8qKg0K PiArICBXcml0ZSBhbiA4IGJpdCB2YWx1ZSB0byBhbiBJL08gcG9ydCBhbmQgc2F2ZSBpdCB0byB0 aGUgUzMgc2NyaXB0DQo+ICsNCj4gKyAgQHBhcmFtIFBvcnQgIElPIFBvcnQNCj4gKyAgQHBhcmFt IERhdGEgIERhdGEgaW4gSU8gUG9ydA0KPiArDQo+ICsgIEByZXR2YWwgTm9uZS4NCj4gKw0KPiAr KiovDQo+ICtWT0lEDQo+ICtTY3JpcHRXcml0ZUlvOCAoDQo+ICsgIFVJTlQxNiAgUG9ydCwNCj4g KyAgVUlOVDggICBEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgbUNwdUlvLT5Jby5Xcml0ZSAoDQo+ ICsgICAgICAgICAgICAgICBtQ3B1SW8sDQo+ICsgICAgICAgICAgICAgICBFZmlDcHVJb1dpZHRo VWludDgsDQo+ICsgICAgICAgICAgICAgICBQb3J0LA0KPiArICAgICAgICAgICAgICAgMSwNCj4g KyAgICAgICAgICAgICAgICZEYXRhDQo+ICsgICAgICAgICAgICAgICApOw0KPiArDQo+ICt9DQo+ ICsNCj4gKy8qKg0KPiArDQo+ICsgIFJlYWQgdGhlIHJlZnJlc2ggYml0IGZyb20gdGhlIFJFRlJF U0hfUE9SVA0KPiArDQo+ICsgIEBwYXJhbSBOb25lLg0KPiArDQo+ICsgIEByZXR2YWwgUmVmcmVz aCBiaXQuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDgNCj4gK1JlYWRSZWZyZXNoICgNCj4gKyAgVk9J RA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQ4IERhdGE7DQo+ICsNCj4gKyAgbUNwdUlvLT5Jby5S ZWFkICgNCj4gKyAgICAgICAgICAgICAgIG1DcHVJbywNCj4gKyAgICAgICAgICAgICAgIEVmaUNw dUlvV2lkdGhVaW50OCwNCj4gKyAgICAgICAgICAgICAgIFJFRlJFU0hfUE9SVCwNCj4gKyAgICAg ICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAmRGF0YQ0KPiArICAgICAgICAgICAgICAg KTsNCj4gKyAgcmV0dXJuIChVSU5UOCkgKERhdGEgJiBSRUZSRVNIX09OKTsNCj4gK30NCj4gKw0K PiArLyoqDQo+ICsNCj4gKyAgV2FpdHMgZm9yIHRoZSBUaWNrTnVtYmVyIG9mIHRpY2tzIGZyb20g YSBrbm93biBwbGF0Zm9ybSB0aW1lIHNvdXJjZS4NCj4gKw0KPiArICBAcGFyYW0gVGhpcyAgICAg ICAgICAgICAgICBQb2ludGVyIHRvIHRoZSBwcm90b2NvbCBpbnN0YW5jZS4NCj4gKyAgQHBhcmFt IFRpY2tOdW1iZXIgICAgICAgICAgVGljayBOdW1iZXIgdG8gYmUgd2FpdGVkDQo+ICsNCj4gKw0K PiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgSWYgbnVtYmVyIG9mIHRpY2tzIG9jY3Vy cmVkLg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgQ291bGQgbm90IGxvY2F0ZSBD UFUgSU8gcHJvdG9jb2wNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4g K1dhaXRGb3JUaWNrICgNCj4gKyAgSU4gRUZJX01FVFJPTk9NRV9BUkNIX1BST1RPQ09MICAqVGhp cywNCj4gKyAgSU4gVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICBUaWNrTnVtYmVyDQo+ICsg ICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gV2FpdCBmb3IgVGlja051bWJlciB0b2dnbGVzIG9m IHRoZSBSZWZyZXNoIGJpdA0KPiArICAvLw0KPiArICBmb3IgKDsgVGlja051bWJlciAhPSAweDAw OyBUaWNrTnVtYmVyLS0pIHsNCj4gKyAgICB3aGlsZSAoUmVhZFJlZnJlc2ggKCkgPT0gUkVGUkVT SF9PTikNCj4gKyAgICAgIDsNCj4gKyAgICB3aGlsZSAoUmVhZFJlZnJlc2ggKCkgPT0gUkVGUkVT SF9PRkYpDQo+ICsgICAgICA7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7 DQo+ICt9DQo+ICsNCj4gKy8vDQo+ICsvLyBEcml2ZXIgRW50cnkgUG9pbnQNCj4gKy8vDQo+ICsv KioNCj4gKyAgSW5zdGFsbCB0aGUgTGVnYWN5TWV0cm9ub21lIGRyaXZlci4gIExvYWRzIGEgTWV0 cm9ub21lIEFyY2ggUHJvdG9jb2wNCj4gYmFzZWQNCj4gKyAgb24gdGhlIFBvcnQgNjEgdGltZXIu DQo+ICsNCj4gKyAgQHBhcmFtIEltYWdlSGFuZGxlICAgICAgSGFuZGxlIGZvciB0aGUgaW1hZ2Ug b2YgdGhpcyBkcml2ZXINCj4gKyAgQHBhcmFtIFN5c3RlbVRhYmxlICAgICAgUG9pbnRlciB0byB0 aGUgRUZJIFN5c3RlbSBUYWJsZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgIE1l dHJvbm9tZSBBcmNoaXRlY3R1cmFsIFByb3RvY29sIEluc3RhbGxlZA0KPiArDQo+ICsqKi8NCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArSW5zdGFsbExlZ2FjeU1ldHJvbm9tZSAoDQo+ICsg IElOIEVGSV9IQU5ETEUgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RB QkxFICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICBTdGF0dXM7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWFrZSBzdXJlIHRoZSBNZXRyb25vbWUgQXJjaGl0ZWN0 dXJhbCBQcm90b2NvbCBpcyBub3QgYWxyZWFkeSBpbnN0YWxsZWQNCj4gaW4gdGhlIHN5c3RlbQ0K PiArICAvLw0KPiArICBBU1NFUlRfUFJPVE9DT0xfQUxSRUFEWV9JTlNUQUxMRUQgKE5VTEwsDQo+ ICZnRWZpTWV0cm9ub21lQXJjaFByb3RvY29sR3VpZCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g R2V0IHRoZSBDUFUgSS9PIFByb3RvY29sIHRoYXQgdGhpcyBkcml2ZXIgcmVxdWlyZXMNCj4gKyAg Ly8gSWYgdGhlIENQVSBJL08gUHJvdG9jb2wgaXMgbm90IGZvdW5kLCB0aGVuIEFTU0VSVCBiZWNh dXNlIHRoZQ0KPiBkZXBlbmRlbmN5IGV4cHJlc3Npb24NCj4gKyAgLy8gc2hvdWxkIGd1YXJhbnRl ZSB0aGF0IGl0IGlzIHByZXNlbnQgaW4gdGhlIGhhbmRsZSBkYXRhYmFzZS4NCj4gKyAgLy8NCj4g KyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAm Z0VmaUNwdUlvUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAg ICAgICAgICAgICAgICAgICh2b2lkICoqKSZtQ3B1SW8NCj4gKyAgICAgICAgICAgICAgICAgICk7 DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g UHJvZ3JhbSBwb3J0IDYxIHRpbWVyIDEgYXMgcmVmcmVzaCB0aW1lci4gV2UgY291bGQgdXNlIEFD UEkgdGltZXIgaW4gdGhlDQo+ICsgIC8vIGZ1dHVyZS4NCj4gKyAgLy8NCj4gKyAgU2NyaXB0V3Jp dGVJbzggKFRJTUVSMV9DT05UUk9MX1BPUlQsIExPQURfQ09VTlRFUjFfTFNCKTsNCj4gKyAgU2Ny aXB0V3JpdGVJbzggKFRJTUVSMV9DT1VOVF9QT1JULCBDT1VOVEVSMV9DT1VOVCk7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gSW5zdGFsbCBvbiBhIG5ldyBoYW5kbGUNCj4gKyAgLy8NCj4gKyAgU3Rh dHVzID0gZ0JTLT5JbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFjZXMgKA0KPiArICAgICAg ICAgICAgICAgICAgJm1NZXRyb25vbWVIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0Vm aU1ldHJvbm9tZUFyY2hQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAmbU1ldHJv bm9tZSwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICAgICk7 DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1 czsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL01ldHJvbm9tZS9MZWdhY3lNZXRyb25vbWUuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL01ldHJvbm9tZS9MZWdhY3lNZXRyb25vbWUuaA0KPiBuZXcgZmlsZSBtb2Rl IDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45NTk5ZWNhNzAyDQo+IC0tLSAvZGV2L251bGwN Cj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTWV0cm9ub21lL0xlZ2Fj eU1ldHJvbm9tZS5oDQo+IEBAIC0wLDAgKzEsNjQgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5 cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ ICsgIExlZ2FjeU1ldHJvbm9tZS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIERyaXZl ciBpbXBsZW1lbnRpbmcgdGhlIEVGSSAyLjAgbWV0cm9ub21lIHByb3RvY29sIHVzaW5nIHRoZSBs ZWdhY3kNCj4gUE9SVCA2MQ0KPiArICB0aW1lci4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZu ZGVmIF9MRUdBQ1lfTUVUUk9OT01FX0gNCj4gKyNkZWZpbmUgX0xFR0FDWV9NRVRST05PTUVfSA0K PiArDQo+ICsvLw0KPiArLy8gU3RhdGVtZW50cyB0aGF0IGluY2x1ZGUgb3RoZXIgZmlsZXMNCj4g Ky8vDQo+ICsjaW5jbHVkZSAiUHJvdG9jb2wvTWV0cm9ub21lLmgiDQo+ICsjaW5jbHVkZSAiUHJv dG9jb2wvQ3B1SW8uaCINCj4gKyNpbmNsdWRlICJMaWJyYXJ5L0RlYnVnTGliLmgiDQo+ICsjaW5j bHVkZSAiTGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaCINCj4gKw0KPiArDQo+ICsv Lw0KPiArLy8gUHJpdmF0ZSBkZWZpbml0aW9ucw0KPiArLy8NCj4gKyNkZWZpbmUgVElDS19QRVJJ T0QgICAgICAgICAzMDANCj4gKyNkZWZpbmUgUkVGUkVTSF9QT1JUICAgICAgICAweDYxDQo+ICsj ZGVmaW5lIFJFRlJFU0hfT04gICAgICAgICAgMHgxMA0KPiArI2RlZmluZSBSRUZSRVNIX09GRiAg ICAgICAgIDB4MDANCj4gKyNkZWZpbmUgVElNRVIxX0NPTlRST0xfUE9SVCAweDQzDQo+ICsjZGVm aW5lIFRJTUVSMV9DT1VOVF9QT1JUICAgMHg0MQ0KPiArI2RlZmluZSBMT0FEX0NPVU5URVIxX0xT QiAgIDB4NTQNCj4gKyNkZWZpbmUgQ09VTlRFUjFfQ09VTlQgICAgICAweDEyDQo+ICsNCj4gKy8v DQo+ICsvLyBGdW5jdGlvbiBQcm90b3R5cGVzDQo+ICsvLw0KPiArLyoqDQo+ICsgIFdhaXRzIGZv ciB0aGUgVGlja051bWJlciBvZiB0aWNrcyBmcm9tIGEga25vd24gcGxhdGZvcm0gdGltZSBzb3Vy Y2UuDQo+ICsNCj4gKyAgQHBhcmFtIFRoaXMgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhl IHByb3RvY29sIGluc3RhbmNlLg0KPiArICBAcGFyYW0gVGlja051bWJlciAgICAgICAgICAgVGlj ayBOdW1iZXIgdG8gYmUgd2FpdGVkDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgIElmIG51bWJlciBvZiB0aWNrcyBvY2N1cnJlZC4NCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZP VU5EICAgICAgIENvdWxkIG5vdCBsb2NhdGUgQ1BVIElPIHByb3RvY29sDQo+ICsNCj4gKyoqLw0K PiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtXYWl0Rm9yVGljayAoDQo+ICsgIElOIEVGSV9N RVRST05PTUVfQVJDSF9QUk9UT0NPTCAgKlRoaXMsDQo+ICsgIElOIFVJTlQzMiAgICAgICAgICAg ICAgICAgICAgICAgVGlja051bWJlcg0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAt LWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01ldHJvbm9tZS9NZXRyb25v bWUuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTWV0cm9ub21lL01l dHJvbm9tZS5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u MTczMzcwZDY1Mg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL01ldHJvbm9tZS9NZXRyb25vbWUuaW5mDQo+IEBAIC0wLDAgKzEsNDkgQEAN Cj4gKyMNCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKyMNCj4g Kw0KPiArIyAgTW9kdWxlIE5hbWU6DQo+ICsjDQo+ICsjICAgIExlZ2FjeU1ldHJvbm9tZS5pbmYN Cj4gKyMNCj4gKyMgIEFic3RyYWN0Og0KPiArIw0KPiArIyAgICBDb21wb25lbnQgZGVzY3JpcHRp b24gZmlsZSBmb3IgTGVnYWN5TWV0cm9ub21lIG1vZHVsZQ0KPiArIw0KPiArIy0tKi8NCj4gK1tk ZWZpbmVzXQ0KPiArICBJTkZfVkVSU0lPTgkgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0Vf TkFNRSAgICAgICAgICAgID0gTGVnYWN5TWV0cm9ub21lDQo+ICsgIEZJTEVfR1VJRCAgICAgICAg ICAgID0gMDdBOTMzMEEtRjM0Ny0xMWQ0LTlBNDktMDA5MDI3M0ZDMTREDQo+ICsgIE1PRFVMRV9U WVBFICAgICAgICAgID0gRFhFX0RSSVZFUg0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICA9IDEu MA0KPiArICBFTlRSWV9QT0lOVAkgICAgICAgPSBJbnN0YWxsTGVnYWN5TWV0cm9ub21lDQo+ICsN Cj4gK1tzb3VyY2VzLmNvbW1vbl0NCj4gKyAgTGVnYWN5TWV0cm9ub21lLmMNCj4gKyAgTGVnYWN5 TWV0cm9ub21lLmgNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0K PiArICBJbnRlbEZyYW1ld29ya1BrZy9JbnRlbEZyYW1ld29ya1BrZy5kZWMNCj4gKw0KPiArW0xp YnJhcnlDbGFzc2VzXQ0KPiArICBVZWZpRHJpdmVyRW50cnlQb2ludA0KPiArICBVZWZpQm9vdFNl cnZpY2VzVGFibGVMaWINCj4gKyAgRGV2aWNlUGF0aExpYg0KPiArICBVZWZpTGliDQo+ICsNCj4g K1tQcm90b2NvbHNdDQo+ICsNCj4gK2dFZmlNZXRyb25vbWVBcmNoUHJvdG9jb2xHdWlkDQo+ICtn RWZpQ3B1SW9Qcm90b2NvbEd1aWQNCj4gKw0KPiArW0RlcGV4XQ0KPiArZ0VmaUNwdUlvUHJvdG9j b2xHdWlkICBBTkQgIGdFZmlCb290U2NyaXB0U2F2ZVByb3RvY29sR3VpZA0KPiArDQo+ICsNCj4g ZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01vbm9TdGF0 dXNDb2RlL0VmaVN0YXR1c0NvZGUuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL01vbm9TdGF0dXNDb2RlL0VmaVN0YXR1c0NvZGUuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4xZDM5NmZmZGUyDQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTW9ub1N0YXR1c0NvZGUvRWZpU3Rh dHVzQ29kZS5oDQo+IEBAIC0wLDAgKzEsMTc4IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJp Z2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNs YXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiAr ICBFZmlTdGF0dXNDb2RlLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgU3RhdHVzIENv ZGUgRGVmaW5pdGlvbnMsIGFjY29yZGluZyB0byBJbnRlbCBQbGF0Zm9ybSBJbm5vdmF0aW9uIEZy YW1ld29yaw0KPiArICBmb3IgRUZJIFN0YXR1cyBDb2RlcyBTcGVjaWZpY2F0aW9uDQo+ICsgIFJl dmlzaW9uIDAuOTINCj4gKw0KPiArICBUaGUgZmlsZSBpcyBkaXZpZGVkIGludG8gc2VjdGlvbnMg Zm9yIGVhc2Ugb2YgdXNlLg0KPiArDQo+ICsgIFNlY3Rpb246ICAgIENvbnRlbnRzOg0KPiArICAg IDEgICAgICAgICAgIEdlbmVyYWwgU3RhdHVzIENvZGUgRGVmaW5pdGlvbnMNCj4gKyAgICAyICAg ICAgICAgICBDbGFzcyBkZWZpbml0aW9ucw0KPiArICAgIDMgICAgICAgICAgIENvbXB1dGluZyBV bml0IFN1YmNsYXNzZXMsIFByb2dyZXNzIGFuZCBFcnJvciBDb2Rlcw0KPiArICAgIDQgICAgICAg ICAgIFBlcmlwaGVyYWwgU3ViY2xhc3NlcywgUHJvZ3Jlc3MgYW5kIEVycm9yIENvZGVzLg0KPiAr ICAgIDUgICAgICAgICAgIElPIEJ1cyBTdWJjbGFzc2VzLCBQcm9ncmVzcyBhbmQgRXJyb3IgQ29k ZXMuDQo+ICsgICAgNiAgICAgICAgICAgU29mdHdhcmUgU3ViY2xhc3NlcywgUHJvZ3Jlc3MgYW5k IEVycm9yIENvZGVzLg0KPiArICAgIDcgICAgICAgICAgIERlYnVnIENvZGVzDQo+ICsNCj4gKy0t Ki8NCj4gKw0KPiArI2lmbmRlZiBfRUZJX1NUQVRVU19DT0RFX0hfDQo+ICsjZGVmaW5lIF9FRklf U1RBVFVTX0NPREVfSF8NCj4gKw0KPiArDQo+ICsNCj4gKyNkZWZpbmUgRUZJX1NXX1BFSU1fRUNf Tk9fUkVDT1ZFUllfQ0FQU1VMRQ0KPiAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwgMHgwMDAwMDAw MCkNCj4gKyNkZWZpbmUgRUZJX1NXX1BFSU1fRUNfSU5WQUxJRF9DQVBTVUxFX0RFU0NSSVBUT1IN Cj4gKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8IDB4MDAwMDAwMDEpDQo+ICsNCj4gKw0KPiArDQo+ ICsjZGVmaW5lIEVGSV9TV19QRUlNX1BDX1JFQ09WRVJZX0JFR0lOIChFRklfU1VCQ0xBU1NfU1BF Q0lGSUMgfA0KPiAweDAwMDAwMDAwKQ0KPiArI2RlZmluZSBFRklfU1dfUEVJTV9QQ19DQVBTVUxF X0xPQUQgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAwMSkNCj4gKyNkZWZp bmUgRUZJX1NXX1BFSU1fUENfQ0FQU1VMRV9TVEFSVCAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8 DQo+IDB4MDAwMDAwMDIpDQo+ICsjZGVmaW5lIEVGSV9TV19QRUlNX1BDX1JFQ09WRVJZX1VTRVIg IChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDAzKQ0KPiArI2RlZmluZSBFRklf U1dfUEVJTV9QQ19SRUNPVkVSWV9BVVRPICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwNCj4gMHgw MDAwMDAwNCkNCj4gKw0KPiArDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0NVX01FTU9SWV9QQ19TUERf UkVBRCAgICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDAwKQ0KPiAr I2RlZmluZSBFRklfQ1VfTUVNT1JZX1BDX1BSRVNFTkNFX0RFVEVDVA0KPiAoRUZJX1NVQkNMQVNT X1NQRUNJRklDIHwgMHgwMDAwMDAwMSkNCj4gKyNkZWZpbmUgRUZJX0NVX01FTU9SWV9QQ19USU1J TkcgICAgICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDAyKQ0KPiAr I2RlZmluZSBFRklfQ1VfTUVNT1JZX1BDX0NPTkZJR1VSSU5HICAgICAgKEVGSV9TVUJDTEFTU19T UEVDSUZJQw0KPiB8IDB4MDAwMDAwMDMpDQo+ICsjZGVmaW5lIEVGSV9DVV9NRU1PUllfUENfT1BU SU1JWklORyAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAwNCkNCj4g KyNkZWZpbmUgRUZJX0NVX01FTU9SWV9QQ19JTklUICAgICAgICAgICAgIChFRklfU1VCQ0xBU1Nf U1BFQ0lGSUMgfA0KPiAweDAwMDAwMDA1KQ0KPiArI2RlZmluZSBFRklfQ1VfTUVNT1JZX1BDX1RF U1QgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMDYpDQo+ ICsjZGVmaW5lIEVGSV9DVV9NRU1PUllfUENfQ09NUExFVEUgICAgICAgICAoRUZJX1NVQkNMQVNT X1NQRUNJRklDIHwNCj4gMHgwMDAwMDAwNykNCj4gKyNkZWZpbmUgRUZJX0NVX01FTU9SWV9QQ19J TklUX0JFR0lOICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDA4KQ0K PiArDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0RDX1VOU1BFQ0lGSUVEICAweDANCj4gKw0KPiArLy8N Cj4gKy8vIENQVSBQRUkNCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19QRUlfSU5JVCAg ICAgICAgICAgICAgICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDEw KQ0KPiArI2RlZmluZSBFRklfQ1VfSFBfUENfUEVJX1NURVAxICAgICAgICAgICAgICAgICAgICAo RUZJX1NVQkNMQVNTX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAxMSkNCj4gKyNkZWZpbmUgRUZJX0NV X0hQX1BDX1BFSV9TVEVQMiAgICAgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJ QyB8DQo+IDB4MDAwMDAwMTIpDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19QRUlfU1RFUDMgICAg ICAgICAgICAgICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDEzKQ0K PiArI2RlZmluZSBFRklfQ1VfSFBfUENfUEVJX1NURVA0ICAgICAgICAgICAgICAgICAgICAoRUZJ X1NVQkNMQVNTX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAxNCkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQ X1BDX1BFSV9TVEVQNSAgICAgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8 DQo+IDB4MDAwMDAwMTUpDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19QRUlfU1RFUDYgICAgICAg ICAgICAgICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDE2KQ0KPiAr I2RlZmluZSBFRklfQ1VfSFBfUENfUEVJX1NURVA3ICAgICAgICAgICAgICAgICAgICAoRUZJX1NV QkNMQVNTX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAxNykNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BD X1BFSV9TVEVQOCAgICAgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+ IDB4MDAwMDAwMTgpDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19QRUlfU1RFUDkgICAgICAgICAg ICAgICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDE5KQ0KPiArI2Rl ZmluZSBFRklfQ1VfSFBfUENfUEVJX1NURVAxMCAgICAgICAgICAgICAgICAgICAoRUZJX1NVQkNM QVNTX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAxQSkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX1BF SV9TVEVQMTEgICAgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4 MDAwMDAwMUIpDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19QRUlfU1RFUDEyICAgICAgICAgICAg ICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDFDKQ0KPiArI2RlZmlu ZSBFRklfQ1VfSFBfUENfUEVJX1NURVAxMyAgICAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNT X1NQRUNJRklDIHwNCj4gMHgwMDAwMDAxRCkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX1BFSV9T VEVQMTQgICAgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAw MDAwMUUpDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19QRUlfRU5EICAgICAgICAgICAgICAgICAg ICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDFGKQ0KPiArDQo+ICsvLw0K PiArLy8gQ1BVIERYRQ0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX0RYRV9JTklUICAg ICAgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMjAp DQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19EWEVfU1RFUDEgICAgICAgICAgICAgICAgICAgIChF RklfU1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDIxKQ0KPiArI2RlZmluZSBFRklfQ1Vf SFBfUENfRFhFX1NURVAyICAgICAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklD IHwNCj4gMHgwMDAwMDAyMikNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX0RYRV9TVEVQMyAgICAg ICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMjMpDQo+ ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19EWEVfU1RFUDQgICAgICAgICAgICAgICAgICAgIChFRklf U1VCQ0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDI0KQ0KPiArI2RlZmluZSBFRklfQ1VfSFBf UENfRFhFX1NURVA1ICAgICAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwN Cj4gMHgwMDAwMDAyNSkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX0RYRV9TVEVQNiAgICAgICAg ICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMjYpDQo+ICsj ZGVmaW5lIEVGSV9DVV9IUF9QQ19EWEVfU1RFUDcgICAgICAgICAgICAgICAgICAgIChFRklfU1VC Q0xBU1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDI3KQ0KPiArI2RlZmluZSBFRklfQ1VfSFBfUENf RFhFX1NURVA4ICAgICAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwNCj4g MHgwMDAwMDAyOCkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX0RYRV9TVEVQOSAgICAgICAgICAg ICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMjkpDQo+ICsjZGVm aW5lIEVGSV9DVV9IUF9QQ19EWEVfU1RFUDEwICAgICAgICAgICAgICAgICAgIChFRklfU1VCQ0xB U1NfU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDJBKQ0KPiArI2RlZmluZSBFRklfQ1VfSFBfUENfRFhF X1NURVAxMSAgICAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwNCj4gMHgw MDAwMDAyQikNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX0RYRV9TVEVQMTIgICAgICAgICAgICAg ICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMkMpDQo+ICsjZGVmaW5l IEVGSV9DVV9IUF9QQ19EWEVfU1RFUDEzICAgICAgICAgICAgICAgICAgIChFRklfU1VCQ0xBU1Nf U1BFQ0lGSUMgfA0KPiAweDAwMDAwMDJEKQ0KPiArI2RlZmluZSBFRklfQ1VfSFBfUENfRFhFX1NU RVAxNCAgICAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDIHwNCj4gMHgwMDAw MDAyRSkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX0RYRV9FTkQgICAgICAgICAgICAgICAgICAg ICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMkYpDQo+ICsNCj4gKy8vDQo+ ICsvLyBDUFUgU01NIFBFSQ0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX1NNTV9QRUlf SU5JVCAgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8DQo+IDB4MDAwMDAw MzApDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19TTU1fUEVJX1NURVAxICAgICAgICAgICAgICAg IChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMNCj4gfCAweDAwMDAwMDMxKQ0KPiArI2RlZmluZSBFRklf Q1VfSFBfUENfU01NX1BFSV9TVEVQMiAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJ RklDDQo+IHwgMHgwMDAwMDAzMikNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX1NNTV9QRUlfU1RF UDMgICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQw0KPiB8IDB4MDAwMDAwMzMp DQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19TTU1fUEVJX1NURVA0ICAgICAgICAgICAgICAgIChF RklfU1VCQ0xBU1NfU1BFQ0lGSUMNCj4gfCAweDAwMDAwMDM0KQ0KPiArI2RlZmluZSBFRklfQ1Vf SFBfUENfU01NX1BFSV9TVEVQNSAgICAgICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklD DQo+IHwgMHgwMDAwMDAzNSkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX1NNTV9QRUlfU1RFUDYg ICAgICAgICAgICAgICAgKEVGSV9TVUJDTEFTU19TUEVDSUZJQw0KPiB8IDB4MDAwMDAwMzYpDQo+ ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19TTU1fUEVJX0VORCAgICAgICAgICAgICAgICAgIChFRklf U1VCQ0xBU1NfU1BFQ0lGSUMNCj4gfCAweDAwMDAwMDNGKQ0KPiArDQo+ICsvLw0KPiArLy8gQ1BV IFNNTSBEWEUNCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9DVV9IUF9QQ19TTU1fRFhFX0lOSVQgICAg ICAgICAgICAgICAgIChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMNCj4gfCAweDAwMDAwMDQwKQ0KPiAr I2RlZmluZSBFRklfQ1VfSFBfUENfU01NX0RYRV9TVEVQMQ0KPiAoRUZJX1NVQkNMQVNTX1NQRUNJ RklDIHwgMHgwMDAwMDA0MSkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX1NNTV9EWEVfU1RFUDIN Cj4gKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8IDB4MDAwMDAwNDIpDQo+ICsjZGVmaW5lIEVGSV9D VV9IUF9QQ19TTU1fRFhFX1NURVAzDQo+IChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMgfCAweDAwMDAw MDQzKQ0KPiArI2RlZmluZSBFRklfQ1VfSFBfUENfU01NX0RYRV9TVEVQNA0KPiAoRUZJX1NVQkNM QVNTX1NQRUNJRklDIHwgMHgwMDAwMDA0NCkNCj4gKyNkZWZpbmUgRUZJX0NVX0hQX1BDX1NNTV9E WEVfU1RFUDUNCj4gKEVGSV9TVUJDTEFTU19TUEVDSUZJQyB8IDB4MDAwMDAwNDUpDQo+ICsjZGVm aW5lIEVGSV9DVV9IUF9QQ19TTU1fRFhFX1NURVA2DQo+IChFRklfU1VCQ0xBU1NfU1BFQ0lGSUMg fCAweDAwMDAwMDQ2KQ0KPiArI2RlZmluZSBFRklfQ1VfSFBfUENfU01NX0RYRV9FTkQgICAgICAg ICAgICAgICAgICAoRUZJX1NVQkNMQVNTX1NQRUNJRklDDQo+IHwgMHgwMDAwMDA0RikNCj4gKw0K PiArLy8NCj4gKy8vIFBFSSBiZWZvcmUgbWVtb3J5IGluaXRpYWxpemF0aW9uDQo+ICsvLw0KPiAr I2RlZmluZSBFRklfQ1VfUExBVEZPUk1fUEVJX0lOSVQgICAgICAgICAgICAgICAgICAgICAoRUZJ X09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMDEpDQo+ICsjZGVmaW5lIEVGSV9DVV9QTEFURk9S TV9QRUlfU1RFUDEgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgw MDAwMDAwMikNCj4gKyNkZWZpbmUgRUZJX0NVX1BMQVRGT1JNX1BFSV9TVEVQMiAgICAgICAgICAg ICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDAzKQ0KPiArI2RlZmluZSBF RklfQ1VfUExBVEZPUk1fUEVJX1NURVAzICAgICAgICAgICAgICAgICAgICAoRUZJX09FTV9TUEVD SUZJQyB8DQo+IDB4MDAwMDAwMDQpDQo+ICsjZGVmaW5lIEVGSV9DVV9QTEFURk9STV9QRUlfU1RF UDQgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAwNSkN Cj4gKyNkZWZpbmUgRUZJX0NVX1NNQlVTX1BFSV9JTklUICAgICAgICAgICAgICAgICAgICAgICAg KEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDA2KQ0KPiArI2RlZmluZSBFRklfQ1VfU01C VVNfUEVJX0VYRUNfRU5UUlkgICAgICAgICAgICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8DQo+ IDB4MDAwMDAwMDcpDQo+ICsjZGVmaW5lIEVGSV9DVV9TTUJVU19QRUlfRVhFQ19FWElUICAgICAg ICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAwOCkNCj4gKyNkZWZp bmUgRUZJX0NVX0NMT0NLX1BFSV9JTklUX0VOVFJZICAgICAgICAgICAgICAgICAgKEVGSV9PRU1f U1BFQ0lGSUMgfA0KPiAweDAwMDAwMDA5KQ0KPiArI2RlZmluZSBFRklfQ1VfQ0xPQ0tfUEVJX0lO SVRfRVhJVCAgICAgICAgICAgICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAw MEEpDQo+ICsjZGVmaW5lIEVGSV9DVV9NRU1PUllfUENfUFJPR19NVFJSICAgICAgICAgICAgICAg ICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAwQikNCj4gKyNkZWZpbmUgRUZJX0NV X01FTU9SWV9QQ19QUk9HX01UUlJfRU5EDQo+IChFRklfT0VNX1NQRUNJRklDIHwgMHgwMDAwMDAw QykNCj4gKyNkZWZpbmUgRUZJX0NVX1BMQVRGT1JNX1BFSV9TVEVQMTIgICAgICAgICAgICAgICAg ICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDBEKQ0KPiArI2RlZmluZSBFRklfQ1Vf UExBVEZPUk1fUEVJX1NURVAxMyAgICAgICAgICAgICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8 DQo+IDB4MDAwMDAwMEUpDQo+ICsjZGVmaW5lIEVGSV9DVV9QTEFURk9STV9QRUlfRU5EICAgICAg ICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAwRikNCj4gKw0K PiArI2RlZmluZSBFRklfQ1VfUExBVEZPUk1fRFhFX0lOSVQgICAgICAgICAgICAgICAgICAgICAo RUZJX09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMTEpDQo+ICsjZGVmaW5lIEVGSV9DVV9QTEFU Rk9STV9EWEVfU1RFUDEgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4g MHgwMDAwMDAxMikNCj4gKyNkZWZpbmUgRUZJX0NVX1BMQVRGT1JNX0RYRV9TVEVQMiAgICAgICAg ICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDEzKQ0KPiArI2RlZmlu ZSBFRklfQ1VfUExBVEZPUk1fRFhFX1NURVAzICAgICAgICAgICAgICAgICAgICAoRUZJX09FTV9T UEVDSUZJQyB8DQo+IDB4MDAwMDAwMTQpDQo+ICsjZGVmaW5lIEVGSV9DVV9QTEFURk9STV9EWEVf U1RFUDQgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAx NSkNCj4gKyNkZWZpbmUgRUZJX0NVX1BMQVRGT1JNX0RYRV9JTklUX0RPTkUgICAgICAgICAgICAg ICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDE2KQ0KPiArDQo+ICsjZGVmaW5lIEVG SV9DVV9PVkVSQ0xPQ0tfUEVJX0lOSVRfRU5UUlkgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJ RklDIHwNCj4gMHgwMDAwMDAxNykNCj4gKyNkZWZpbmUgRUZJX0NVX09WRVJDTE9DS19QRUlfSU5J VF9FWElUICAgICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDE4KQ0K PiArDQo+ICsvLw0KPiArLy8gQkRTDQo+ICsvLw0KPiArI2RlZmluZSBFRklfQ1VfQkRTX0lOSVQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8IDB4MDAwMDAw NjApDQo+ICsjZGVmaW5lIEVGSV9DVV9CRFNfU1RFUDEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDA2MSkNCj4gKyNkZWZpbmUgRUZJX0NV X0JEU19TVEVQMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMg fA0KPiAweDAwMDAwMDYyKQ0KPiArI2RlZmluZSBFRklfQ1VfQkRTX1NURVAzICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAwNjMpDQo+ICsj ZGVmaW5lIEVGSV9DVV9CRFNfU1RFUDQgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChFRklf T0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDA2NCkNCj4gKyNkZWZpbmUgRUZJX0NVX0JEU19TVEVQ NSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAw MDAwMDY1KQ0KPiArI2RlZmluZSBFRklfQ1VfQkRTX1NURVA2ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAwNjYpDQo+ICsjZGVmaW5lIEVG SV9DVV9CRFNfU1RFUDcgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJ RklDIHwNCj4gMHgwMDAwMDA2NykNCj4gKyNkZWZpbmUgRUZJX0NVX0JEU19TVEVQOCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDY4KQ0K PiArI2RlZmluZSBFRklfQ1VfQkRTX1NURVA5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAo RUZJX09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAwNjkpDQo+ICsjZGVmaW5lIEVGSV9DVV9CRFNf U1RFUDEwICAgICAgICAgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4g MHgwMDAwMDA2QSkNCj4gKyNkZWZpbmUgRUZJX0NVX0JEU19TVEVQMTEgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDZCKQ0KPiArI2RlZmlu ZSBFRklfQ1VfQkRTX1NURVAxMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRUZJX09FTV9T UEVDSUZJQyB8DQo+IDB4MDAwMDAwNkMpDQo+ICsjZGVmaW5lIEVGSV9DVV9CRFNfU1RFUDEzICAg ICAgICAgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDA2 RCkNCj4gKyNkZWZpbmUgRUZJX0NVX0JEU19TVEVQMTQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDZFKQ0KPiArI2RlZmluZSBFRklfQ1Vf QkRTX0VORCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8 IDB4MDAwMDAwNkYpDQo+ICsNCj4gKw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdA0KPiBh L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01vbm9TdGF0dXNDb2RlL01vbm9TdGF0 dXNDb2RlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Nb25vU3RhdHVz Q29kZS9Nb25vU3RhdHVzQ29kZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjgyODM0ODNmZjgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Nb25vU3RhdHVzQ29kZS9Nb25vU3RhdHVzQ29kZS5j DQo+IEBAIC0wLDAgKzEsMTMyIEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQg KGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4g KyAgTW9ub1N0YXR1c0NvZGUuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBQRUlNIHRv IHByb3ZpZGUgdGhlIHN0YXR1cyBjb2RlIGZ1bmN0aW9uYWxpdHksIHRvIGFpZCBpbiBzeXN0ZW0g ZGVidWcuDQo+ICsgIEl0IGluY2x1ZGVzIG91dHB1dCB0byAweDgwIHBvcnQgYW5kL29yIHRvIHNl cmlhbCBwb3J0Lg0KPiArICBUaGlzIFBFSU0gaXMgbW9ub2xpdGhpYy4gRGlmZmVyZW50IHBsYXRm b3JtIHNob3VsZCBwcm92aWRlIGRpZmZlcmVudCBsaWJyYXJ5Lg0KPiArDQo+ICstLSovDQo+ICsN Cj4gKyNpbmNsdWRlICJNb25vU3RhdHVzQ29kZS5oIg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtU3Rh dHVzQ29kZS5oIg0KPiArI2RlZmluZSBDTU9TX0VGSV9ERUJVRyAgICAgICAgICAgICAgMHgxNA0K PiArDQo+ICsvLw0KPiArLy8gTW9kdWxlIGdsb2JhbHMNCj4gKy8vDQo+ICtFRklfUEVJX1BST0dS RVNTX0NPREVfUFBJICAgICBtU3RhdHVzQ29kZVBwaSA9DQo+IHsgUGxhdGZvcm1SZXBvcnRTdGF0 dXNDb2RlIH07DQo+ICsNCj4gK0VGSV9QRUlfUFBJX0RFU0NSSVBUT1IgIG1QcGlMaXN0U3RhdHVz Q29kZSA9IHsNCj4gKyAgKEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJIHwNCj4gRUZJX1BFSV9Q UElfREVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCksDQo+ICsgICZnRWZpUGVpU3RhdHVzQ29kZVBw aUd1aWQsDQo+ICsgICZtU3RhdHVzQ29kZVBwaQ0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIEZ1 bmN0aW9uIGltcGxlbWVuYXRpb25zDQo+ICsvLw0KPiArDQo+ICsvKioNCj4gKyAgVHJhbnNsYXRl IGZyb20gYSBEWEUgc3RhdHVzIGNvZGUgaW50ZXJmYWNlIGludG8gYSBQRUktY2FsbGFibGUNCj4g KyAgaW50ZXJmYWNlLCBtYWtpbmcgdGhlIFBFSSB0aGUgbGVhc3QgY29tbW9uIGRlbm9taW5hdG9y Li4NCj4gKw0KPiArICBTYW1lIGFzIERYRSBSZXBvcnRTdGF0dXNDb2RlIFJUIHNlcnZpY2UNCj4g Kw0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArVHJhbnNsYXRlRHhl U3RhdHVzQ29kZVRvUGVpU3RhdHVzQ29kZSAoDQo+ICsgIElOIEVGSV9TVEFUVVNfQ09ERV9UWVBF ICAgICBDb2RlVHlwZSwNCj4gKyAgSU4gRUZJX1NUQVRVU19DT0RFX1ZBTFVFICAgIFZhbHVlLA0K PiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAgSW5zdGFuY2UsDQo+ICsgIElOIEVGSV9H VUlEICAgICAgICAgICAgICAgICAqIENhbGxlcklkLA0KPiArICBJTiBFRklfU1RBVFVTX0NPREVf REFUQSAgICAgKiBEYXRhIE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAgcmV0dXJuIFBsYXRm b3JtUmVwb3J0U3RhdHVzQ29kZSAoTlVMTCwgQ29kZVR5cGUsIFZhbHVlLCBJbnN0YW5jZSwNCj4g Q2FsbGVySWQsIERhdGEpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQnVpbGQgYSBob2IgZGVz Y3JpYmluZyB0aGUgc3RhdHVzIGNvZGUgbGlzdGVuZXIgdGhhdCBoYXMgYmVlbiBpbnN0YWxsZWQu DQo+ICsgIFRoaXMgd2lsbCBiZSB1c2VkIGJ5IERYRSBjb2RlIHVudGlsIGEgcnVudGltZSBzdGF0 dXMgY29kZSBsaXN0ZW5lciBpcw0KPiArICBpbnN0YWxsZWQuDQo+ICsNCj4gKyAgQHBhcmFtIFBl aVNlcnZpY2VzICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVy eSBQRUlNLg0KPiArDQo+ICsgIEByZXR2YWwgU3RhdHVzICAgICAgICAgIEVGSV9TVUNDRVNTIGlm IHRoZSBpbnRlcmZhY2UgY291bGQgYmUgc3VjY2Vzc2Z1bGx5DQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgIGluc3RhbGxlZA0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArSW5pdGlhbGl6ZUR4ZVJlcG9ydFN0YXR1c0NvZGUgKA0KPiArICBJTiBjb25zdCBFRklf UEVJX1NFUlZJQ0VTICAgICAgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklf U1RBVFVTICBTdGF0dXMgPSBFRklfVU5TVVBQT1JURUQ7DQo+ICsNCj4gKyAgVk9JRCAgICAgICAg Kkluc3RhbmNlOw0KPiArDQo+ICsgIFZPSUQgICAgICAgICpSZXN1bHQ7DQo+ICsNCj4gKyAgSW5z dGFuY2UgPSAoVk9JRCAqKSAoVUlOVE4pIFRyYW5zbGF0ZUR4ZVN0YXR1c0NvZGVUb1BlaVN0YXR1 c0NvZGU7DQo+ICsNCj4gKyAgUmVzdWx0ID0gQnVpbGRHdWlkRGF0YUhvYiAoDQo+ICsgICAgICAg ICAgICAgJmdFZmlTdGF0dXNDb2RlUnVudGltZVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAg ICAmSW5zdGFuY2UsDQo+ICsgICAgICAgICAgICAgc2l6ZW9mIChWT0lEICopDQo+ICsgICAgICAg ICAgICAgKTsNCj4gKyAgaWYgKFJlc3VsdCAhPSBOVUxMKSB7DQo+ICsgICAgU3RhdHVzID0gRUZJ X1NVQ0NFU1M7DQo+ICsgIH0NCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArLyoq DQo+ICsgIEluaXRpYWxpemUgdGhlIHBsYXRmb3JtIHN0YXR1cyBjb2RlcyBhbmQgcHVibGlzaCB0 aGUgcGxhdGZvcm0gc3RhdHVzIGNvZGUNCj4gKyAgUFBJLg0KPiArDQo+ICsgIEBwYXJhbSAgRmZz SGVhZGVyICAgICAgRlYgdGhpcyBQRUlNIHdhcyBsb2FkZWQgZnJvbS4NCj4gKyAgQHBhcmFtICBQ ZWlTZXJ2aWNlcyAgICBHZW5lcmFsIHB1cnBvc2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5 IFBFSU0uDQo+ICsNCj4gKyAgQHJldHZhbCBTdGF0dXMgICAgICAgICBFRklfU1VDQ0VTUw0KPiAr DQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArSW5pdGlhbGl6ZU1vbm9TdGF0dXNDb2Rl ICgNCj4gKyAgSU4gRUZJX0ZGU19GSUxFX0hFQURFUiAgICAgICAqRmZzSGVhZGVyLA0KPiArICBJ TiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0K PiArew0KPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5p dGlhbGl6ZSBzdGF0dXMgY29kZSBsaXN0ZW5lcnMuDQo+ICsgIC8vDQo+ICsgIFBsYXRmb3JtSW5p dGlhbGl6ZVN0YXR1c0NvZGUgKEZmc0hlYWRlciwgUGVpU2VydmljZXMpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFB1Ymxpc2ggdGhlIHN0YXR1cyBjb2RlIGNhcGFiaWxpdHkgdG8gb3RoZXIgbW9k dWxlcw0KPiArICAvLw0KPiArICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+SW5zdGFsbFBwaSAo UGVpU2VydmljZXMsICZtUHBpTGlzdFN0YXR1c0NvZGUpOw0KPiArDQo+ICsgIEFTU0VSVF9FRklf RVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgREVCVUcgKChERUJVR19FUlJPUiwgIlxuTW9ubyBT dGF0dXMgQ29kZSBQRUlNIExvYWRlZFxuIikpOw0KPiArDQo+ICsgIHJldHVybiA7DQo+ICt9DQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Nb25vU3Rh dHVzQ29kZS9Nb25vU3RhdHVzQ29kZS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvTW9ub1N0YXR1c0NvZGUvTW9ub1N0YXR1c0NvZGUuaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wYjI1NjA5M2E2DQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTW9ub1N0YXR1c0NvZGUv TW9ub1N0YXR1c0NvZGUuaA0KPiBAQCAtMCwwICsxLDEyOCBAQA0KPiArLyorKw0KPiArDQo+ICsg IENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ ICsNCj4gKyAgTW9ub1N0YXR1c0NvZGUuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBN b25vbGl0aGljIHNpbmdsZSBQRUlNIHRvIHByb3ZpZGUgdGhlIHN0YXR1cyBjb2RlIGZ1bmN0aW9u YWxpdHkuDQo+ICsgIFRoZSBQRUlNIGlzIGEgYmxlbmQgb2YgbGlicmFyaWVzIHRoYXQgY29ycmVz cG9uZCB0byB0aGUgZGlmZmVyZW50IHN0YXR1cw0KPiBjb2RlDQo+ICsgIGxpc3RlbmVycyB0aGF0 IGEgcGxhdGZvcm0gaW5zdGFsbHMuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfTU9O T19TVEFUVVNfQ09ERV9IXw0KPiArI2RlZmluZSBfTU9OT19TVEFUVVNfQ09ERV9IXw0KPiArDQo+ ICsvLw0KPiArLy8gU3RhdGVtZW50cyB0aGF0IGluY2x1ZGUgb3RoZXIgZmlsZXMuDQo+ICsvLw0K PiArI2luY2x1ZGUgIlBpUGVpLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJQaS9QaUJvb3RNb2RlLmgi DQo+ICsNCj4gKyNpbmNsdWRlICJQcGkvU3RhdHVzQ29kZS5oIg0KPiArI2luY2x1ZGUgIlBwaS9N ZW1vcnlEaXNjb3ZlcmVkLmgiDQo+ICsjaW5jbHVkZSAiUHBpL0Z2TG9hZEZpbGUuaCINCj4gKw0K PiArI2luY2x1ZGUgIkxpYnJhcnkvSG9iTGliLmgiDQo+ICsjaW5jbHVkZSAiTGlicmFyeS9EZWJ1 Z0xpYi5oIg0KPiArI2luY2x1ZGUgIkxpYnJhcnkvSW9MaWIuaCINCj4gKyNpbmNsdWRlICJMaWJy YXJ5L1NlcmlhbFBvcnRMaWIuaCINCj4gKyNpbmNsdWRlICJQcm90b2NvbC9TdGF0dXNDb2RlLmgi DQo+ICsNCj4gKw0KPiArI2lmbmRlZiBfU1RBVFVTX0NPREVfRU5BQkxFUl9IXw0KPiArI2RlZmlu ZSBfU1RBVFVTX0NPREVfRU5BQkxFUl9IXw0KPiArDQo+ICsjaWZkZWYgRUZJX0RFQlVHDQo+ICsN Cj4gKyNkZWZpbmUgRUZJX1NUQVRVU19DT0RFX0VOQUJMRVJfSE9CX0dVSUQgXA0KPiArICB7IFwN Cj4gKyAgICAweDVmZmM2Y2YzLCAweDcxYWQsIDB4NDZmNSwgMHhiZCwgMHg4YiwgMHg3ZSwgMHg4 ZiwgMHhmZSwgMHgxOSwgMHg3LCAweGQ3IFwNCj4gKyAgfQ0KPiArDQo+ICtleHRlcm4gRUZJX0dV SUQgZ0VmaVNlcmlhbFN0YXR1c0NvZGVFbmFibGVySG9iR3VpZDsNCj4gKw0KPiArdHlwZWRlZiBz dHJ1Y3QgX0VGSV9TVEFUVVNfQ09ERV9JTkZPIHsNCj4gKyAgQk9PTEVBTiAgICBTdGF0dXNDb2Rl RGlzYWJsZTsNCj4gK30gRUZJX1NUQVRVU19DT0RFX0lORk87DQo+ICsNCj4gKyNlbmRpZg0KPiAr I2VuZGlmDQo+ICsNCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gUGxhdGZvcm0gc3BlY2lmaWMgZnVu Y3Rpb24gRGVjbGFyYXRpb25zLiAgVGhlc2UgbXVzdCBiZSBpbXBsZW1lbnRlZCBpbiBhDQo+ICsv LyBzdWJkaXJlY3RvcnkgbmFtZWQgUGxhdGZvcm1OYW1lIGluIGEgZmlsZSBuYW1lZCBQbGF0Zm9y bVN0YXR1c0NvZGUuYy4NCj4gKy8vDQo+ICsNCj4gKy8vDQo+ICsvLyBUaGlzIGlzIHRoZSBwbGF0 Zm9ybSBmdW5jdGlvbiB0byBpbml0aWFsaXplIHRoZSBsaXN0ZW5lcnMgZGVzaXJlZCBieSB0aGUN Cj4gKy8vIHBsYXRmb3JtLg0KPiArLy8NCj4gK1ZPSUQNCj4gK1BsYXRmb3JtSW5pdGlhbGl6ZVN0 YXR1c0NvZGUgKA0KPiArICBJTiBFRklfRkZTX0ZJTEVfSEVBREVSICAgICAgICpGZnNIZWFkZXIs DQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgKipQZWlTZXJ2aWNlcw0K PiArICApOw0KPiArDQo+ICsvLw0KPiArLy8gVGhpcyBpcyB0aGUgcGxhdGZvcm0gZnVuY3Rpb24g dGhhdCBjYWxscyBhbGwgb2YgdGhlIGxpc3RlbmVycyBkZXNpcmVkIGJ5IHRoZQ0KPiArLy8gcGxh dGZvcm0uDQo+ICsvLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtQbGF0Zm9ybVJlcG9y dFN0YXR1c0NvZGUgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICoqUGVp U2VydmljZXMsDQo+ICsgIElOIEVGSV9TVEFUVVNfQ09ERV9UWVBFICAgICAgICAgQ29kZVR5cGUs DQo+ICsgIElOIEVGSV9TVEFUVVNfQ09ERV9WQUxVRSAgICAgICAgVmFsdWUsDQo+ICsgIElOIFVJ TlQzMiAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFuY2UsDQo+ICsgIElOIENPTlNUIEVGSV9H VUlEICAgICAgICAgICAgICAgKiBDYWxsZXJJZCwNCj4gKyAgSU4gQ09OU1QgRUZJX1NUQVRVU19D T0RFX0RBVEEgICAqIERhdGEgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIFBs YXRmb3JtIGluZGVwZW5kZW50IGZ1bmN0aW9uIERlY2xhcmF0aW9ucw0KPiArLy8NCj4gKy8vDQo+ ICsvLyBJbml0aWFsaXplIHRoZSBzdGF0dXMgY29kZSBsaXN0ZW5lcnMgYW5kIHB1Ymxpc2ggdGhl IHN0YXR1cyBjb2RlIFBQSS4NCj4gKy8vDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0luaXRpYWxp emVNb25vU3RhdHVzQ29kZSAoDQo+ICsgIElOIEVGSV9GRlNfRklMRV9IRUFERVIgICAgICAgKkZm c0hlYWRlciwNCj4gKyAgSU4gY29uc3QgRUZJX1BFSV9TRVJWSUNFUyAgICAqKlBlaVNlcnZpY2Vz DQo+ICsgICk7DQo+ICsNCj4gKy8vDQo+ICsvLyBDb252ZXJ0IGEgRFhFIHN0YXR1cyBjb2RlIGNh bGwgaW50byBhIFBFSSBzdGF0dXMgY29kZSBjYWxsLg0KPiArLy8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArVHJhbnNsYXRlRHhlU3RhdHVzQ29kZVRvUGVpU3RhdHVzQ29kZSAoDQo+ICsg IElOIEVGSV9TVEFUVVNfQ09ERV9UWVBFICAgICBDb2RlVHlwZSwNCj4gKyAgSU4gRUZJX1NUQVRV U19DT0RFX1ZBTFVFICAgIFZhbHVlLA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAg SW5zdGFuY2UsDQo+ICsgIElOIEVGSV9HVUlEICAgICAgICAgICAgICAgICAqIENhbGxlcklkLA0K PiArICBJTiBFRklfU1RBVFVTX0NPREVfREFUQSAgICAgKiBEYXRhIE9QVElPTkFMDQo+ICsgICk7 DQo+ICsNCj4gKy8vDQo+ICsvLyBQdWJsaXNoIGEgSE9CIHRoYXQgY29udGFpbnMgdGhlIGxpc3Rl bmVyIHRvIGJlIHVzZWQgYnkgRFhFLg0KPiArLy8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0K PiArSW5pdGlhbGl6ZUR4ZVJlcG9ydFN0YXR1c0NvZGUgKA0KPiArICBJTiBjb25zdCBFRklfUEVJ X1NFUlZJQ0VTICAgICAgICoqUGVpU2VydmljZXMNCj4gKyAgKTsNCj4gKw0KPiArI2VuZGlmDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Nb25vU3Rh dHVzQ29kZS9Nb25vU3RhdHVzQ29kZS5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9Nb25vU3RhdHVzQ29kZS9Nb25vU3RhdHVzQ29kZS5pbmYNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZjFiZTViOGQ2Yw0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01vbm9TdGF0dXND b2RlL01vbm9TdGF0dXNDb2RlLmluZg0KPiBAQCAtMCwwICsxLDcyIEBADQo+ICsjDQo+ICsjDQo+ ICsjIENvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQNCj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKyMgIE1vZHVsZSBOYW1lOg0KPiArIw0KPiAr IyAgICBNb25vU3RhdHVzQ29kZS5pbmYNCj4gKyMNCj4gKyMgIEFic3RyYWN0Og0KPiArIw0KPiAr IyAgICBDb21wb25lbnQgZGVzY3JpcHRpb24gZmlsZSBmb3IgU3RhdHVzIENvZGUgUEVJIG1vZHVs ZQ0KPiArIw0KPiArIy0tKi8NCj4gKw0KPiArW2RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAg ICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAg ICAgICAgICAgID0gTW9ub1N0YXR1c0NvZGUNCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAg ICAgICAgID0gNEJCMzQ2RDItODA3Ni00NjcxLThCQzktN0I5NUNCQjlBNkRGDQo+ICsgIE1PRFVM RV9UWVBFICAgICAgICAgICAgICAgICAgICA9IFBFSU0NCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAg ICAgICAgICAgICAgID0gMS4wDQo+ICsjICBFTlRSWV9QT0lOVCAgICAgICAgICAgICAgICAgICAg PSBJbnN0YWxsTW9ub1N0YXR1c0NvZGUNCj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAg ICAgID0gTW9ub1N0YXR1c0NvZGVMaWINCj4gKw0KPiArW3NvdXJjZXMuY29tbW9uXQ0KPiArICBN b25vU3RhdHVzQ29kZS5jDQo+ICsgIE1vbm9TdGF0dXNDb2RlLmgNCj4gKyAgUGxhdGZvcm1TdGF0 dXNDb2RlLmMNCj4gKyAgUGxhdGZvcm1TdGF0dXNDb2RlLmgNCj4gKyAgUGVpUG9zdENvZGUuYw0K PiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIE1kZU1vZHVs ZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ICsgIFZsdjJTb2NCaW5Qa2cvVmx2MlNvY0JpblBrZy5k ZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsgIFZsdjJEZXZp Y2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VSZWZDb2RlUGtnLmRlYw0KPiArICBJbnRlbEZyYW1ld29y a1BrZy9JbnRlbEZyYW1ld29ya1BrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiAr ICBQZWltRW50cnlQb2ludA0KPiArICBIb2JMaWINCj4gKyAgRGVidWdMaWINCj4gKyAgU2VyaWFs UG9ydExpYg0KPiArICBSZXBvcnRTdGF0dXNDb2RlTGliDQo+ICsgIFByaW50TGliDQo+ICsgIEJh c2VNZW1vcnlMaWINCj4gKyAgUGNoUGxhdGZvcm1MaWINCj4gKw0KPiArW1BwaXNdDQo+ICsgIGdF ZmlQZWlNZW1vcnlEaXNjb3ZlcmVkUHBpR3VpZA0KPiArICBnRWZpUGVpU3RhdHVzQ29kZVBwaUd1 aWQNCj4gKyAgZ0VmaVBlaUZ2RmlsZUxvYWRlclBwaUd1aWQNCj4gKw0KPiArW1Byb3RvY29sc10N Cj4gKyAgZ0VmaVN0YXR1c0NvZGVSdW50aW1lUHJvdG9jb2xHdWlkDQo+ICsNCj4gK1tQY2RdDQo+ ICsgIGdFZmlTZXJpYWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVJhbQ0KPiAr DQo+ICtbR3VpZHNdDQo+ICsgIGdFZmlQbGF0Zm9ybUNwdUluZm9HdWlkDQo+ICsgIGdFZmlIdEJp c3RIb2JHdWlkDQo+ICsgIGdFZmlTdGF0dXNDb2RlRGF0YVR5cGVTdHJpbmdHdWlkICAgICAgICAg ICAgICAjIyBDT05TVU1FUw0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIFRSVUUNCj4gKw0KPiArDQo+ ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01v bm9TdGF0dXNDb2RlL1BlaVBvc3RDb2RlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9Nb25vU3RhdHVzQ29kZS9QZWlQb3N0Q29kZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjkyZGJlZjU1MWUNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Nb25vU3RhdHVzQ29kZS9QZWlQ b3N0Q29kZS5jDQo+IEBAIC0wLDAgKzEsMTIxIEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBD b3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiAr DQo+ICsNCj4gKyAgUGVpUG9zdENvZGUuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBX b3JrZXIgZnVuY3Rpb25zIGZvciBQb3N0Q29kZQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNs dWRlICJFZmlTdGF0dXNDb2RlLmgiDQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArdHlwZWRl ZiBzdHJ1Y3Qgew0KPiArICBFRklfU1RBVFVTX0NPREVfVkFMVUUgICBTdGF0dXNWYWx1ZTsNCj4g KyAgVUlOVDggICAgICAgICAgICAgICAgICAgUG9ydDgwVmFsdWU7DQo+ICt9IEVGSV9TVEFUVVNf Q09ERV9UT19QT1JUXzgwOw0KPiArI3ByYWdtYSBwYWNrKCkNCj4gKw0KPiArLy8NCj4gKy8vIHNl ZSBFZGtcRm91bmRhdGlvblxMaWJyYXJ5XEVmaUNvbW1vbkxpYlxQb3N0Q29kZS5jIGZvciBEWEUv QkRTDQo+IFBPU1QgY29kZXMuDQo+ICsvLw0KPiArRUZJX1NUQVRVU19DT0RFX1RPX1BPUlRfODAg IG1QZWlQb3J0ODBUYWJsZVtdID0gew0KPiArICAvLw0KPiArICAvLyBQbGF0Zm9ybSBpbml0DQo+ ICsgIC8vDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfQ0hJUFNFVCB8IEVGSV9DVV9QTEFURk9S TV9QRUlfSU5JVCwNCj4gMHgxMX0sDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfQ0hJUFNFVCB8 IEVGSV9DVV9QTEFURk9STV9QRUlfU1RFUDEsDQo+IDB4MTJ9LA0KPiArICB7RUZJX0NPTVBVVElO R19VTklUX0NISVBTRVQgfCBFRklfQ1VfUExBVEZPUk1fUEVJX1NURVAyLA0KPiAweDEzfSwNCj4g KyAge0VGSV9DT01QVVRJTkdfVU5JVF9DSElQU0VUIHwgRUZJX0NVX1BMQVRGT1JNX1BFSV9TVEVQ MywNCj4gMHgxNH0sDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfQ0hJUFNFVCB8IEVGSV9DVV9Q TEFURk9STV9QRUlfU1RFUDQsDQo+IDB4MTV9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNNQlVT DQo+ICsgIC8vDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfQ0hJUFNFVCB8IEVGSV9DVV9TTUJV U19QRUlfSU5JVCwgICAgICAgICAgICAgMHgxNn0sDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRf Q0hJUFNFVCB8IEVGSV9DVV9TTUJVU19QRUlfRVhFQ19FTlRSWSwNCj4gMHgxN30sDQo+ICsgIHtF RklfQ09NUFVUSU5HX1VOSVRfQ0hJUFNFVCB8IEVGSV9DVV9TTUJVU19QRUlfRVhFQ19FWElULA0K PiAweDE4fSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBDbG9jaw0KPiArICAvLw0KPiArICB7RUZJ X0NPTVBVVElOR19VTklUX0NISVBTRVQgfCBFRklfQ1VfQ0xPQ0tfUEVJX0lOSVRfRU5UUlksDQo+ IDB4MTl9LA0KPiArICB7RUZJX0NPTVBVVElOR19VTklUX0NISVBTRVQgfCBFRklfQ1VfQ0xPQ0tf UEVJX0lOSVRfRVhJVCwNCj4gMHgxQX0sDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gT3ZlciBjbG9j a2luZyBzdXBwb3J0DQo+ICsgIC8vDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfQ0hJUFNFVCB8 IEVGSV9DVV9PVkVSQ0xPQ0tfUEVJX0lOSVRfRU5UUlksDQo+IDB4MUJ9LA0KPiArICB7RUZJX0NP TVBVVElOR19VTklUX0NISVBTRVQgfCBFRklfQ1VfT1ZFUkNMT0NLX1BFSV9JTklUX0VYSVQsDQo+ IDB4MUN9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1SQw0KPiArICAvLw0KPiArICB7RUZJX0NP TVBVVElOR19VTklUX01FTU9SWSB8IEVGSV9DVV9NRU1PUllfUENfSU5JVF9CRUdJTiwNCj4gMHgy MX0sDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfTUVNT1JZIHwgRUZJX0NVX01FTU9SWV9QQ19T UERfUkVBRCwNCj4gMHgyM30sDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfTUVNT1JZIHwNCj4g RUZJX0NVX01FTU9SWV9QQ19QUkVTRU5DRV9ERVRFQ1QsICAgMHgyNH0sDQo+ICsgIHtFRklfQ09N UFVUSU5HX1VOSVRfTUVNT1JZIHwgRUZJX0NVX01FTU9SWV9QQ19USU1JTkcsDQo+IDB4MjV9LA0K PiArICB7RUZJX0NPTVBVVElOR19VTklUX01FTU9SWSB8IEVGSV9DVV9NRU1PUllfUENfT1BUSU1J WklORywNCj4gMHgyNn0sDQo+ICsgIHtFRklfQ09NUFVUSU5HX1VOSVRfTUVNT1JZIHwNCj4gRUZJ X0NVX01FTU9SWV9QQ19DT05GSUdVUklORywgICAgICAgMHgyN30sDQo+ICsgIHtFRklfQ09NUFVU SU5HX1VOSVRfTUVNT1JZIHwgRUZJX0NVX01FTU9SWV9QQ19URVNULA0KPiAweDI4fSwNCj4gKyAg e0VGSV9DT01QVVRJTkdfVU5JVF9NRU1PUlkgfCBFRklfQ1VfTUVNT1JZX1BDX0NPTVBMRVRFLA0K PiAweDI5fSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBQbGF0Zm9ybSBJbml0IGFmdGVyIE1SQw0K PiArICAvLw0KPiArICB7RUZJX0NPTVBVVElOR19VTklUX01FTU9SWSB8IEVGSV9DVV9NRU1PUllf UENfUFJPR19NVFJSLA0KPiAweDJBfSwNCj4gKyAge0VGSV9DT01QVVRJTkdfVU5JVF9NRU1PUlkg fA0KPiBFRklfQ1VfTUVNT1JZX1BDX1BST0dfTVRSUl9FTkQsICAgICAweDJCfSwNCj4gKw0KPiAr ICB7RUZJX1NPRlRXQVJFX1BFSV9NT0RVTEUgfCBFRklfU1dfUEVJTV9QQ19SRUNPVkVSWV9CRUdJ TiwNCj4gMHgzMX0sDQo+ICsgIHtFRklfU09GVFdBUkVfUEVJX01PRFVMRSB8IEVGSV9TV19QRUlN X1BDX1JFQ09WRVJZX0FVVE8sDQo+IDB4MzJ9LA0KPiArICB7RUZJX1NPRlRXQVJFX1BFSV9NT0RV TEUgfCBFRklfU1dfUEVJTV9QQ19DQVBTVUxFX0xPQUQsDQo+IDB4MzN9LA0KPiArICB7RUZJX1NP RlRXQVJFX1BFSV9NT0RVTEUgfCBFRklfU1dfUEVJTV9QQ19DQVBTVUxFX1NUQVJULA0KPiAweDM0 fSwNCj4gKyAge0VGSV9TT0ZUV0FSRV9QRUlfTU9EVUxFIHwNCj4gRUZJX1NXX1BFSU1fRUNfTk9f UkVDT1ZFUllfQ0FQU1VMRSwgICAweDM1fSwNCj4gKw0KPiArICB7RUZJX0NPTVBVVElOR19VTklU X0hPU1RfUFJPQ0VTU09SIHwgRUZJX0NVX0hQX1BDX1BFSV9JTklULA0KPiAweDQxfSwNCj4gKyAg e0VGSV9DT01QVVRJTkdfVU5JVF9IT1NUX1BST0NFU1NPUiB8IEVGSV9DVV9IUF9QQ19QRUlfU1RF UDEsDQo+IDB4NDJ9LA0KPiArICB7RUZJX0NPTVBVVElOR19VTklUX0hPU1RfUFJPQ0VTU09SIHwg RUZJX0NVX0hQX1BDX1BFSV9FTkQsDQo+IDB4NDN9LA0KPiArICB7RUZJX0NPTVBVVElOR19VTklU X0hPU1RfUFJPQ0VTU09SIHwNCj4gRUZJX0NVX0hQX1BDX1NNTV9QRUlfSU5JVCwgIDB4NDR9LA0K PiArICB7RUZJX0NPTVBVVElOR19VTklUX0hPU1RfUFJPQ0VTU09SIHwNCj4gRUZJX0NVX0hQX1BD X1NNTV9QRUlfU1RFUDEsIDB4NDV9LA0KPiArICB7RUZJX0NPTVBVVElOR19VTklUX0hPU1RfUFJP Q0VTU09SIHwNCj4gRUZJX0NVX0hQX1BDX1NNTV9QRUlfRU5ELCAgIDB4NDZ9DQo+ICt9Ow0KPiAr DQo+ICtCT09MRUFODQo+ICtQZWlDb2RlVHlwZVRvUG9zdENvZGUgKA0KPiArICBJTiAgRUZJX1NU QVRVU19DT0RFX1RZUEUgICAgQ29kZVR5cGUsDQo+ICsgIElOICBFRklfU1RBVFVTX0NPREVfVkFM VUUgICBWYWx1ZSwNCj4gKyAgT1VUIFVJTlQ4ICAgICAgICAgICAgICAgICAgICpQb3N0Q29kZQ0K PiArICApDQo+ICt7DQo+ICsgIFVJTlROICAgICAgICAgICAgIEluZGV4Ow0KPiArDQo+ICsgIGlm IChDb2RlVHlwZSA9PSBFRklfUFJPR1JFU1NfQ09ERSkgew0KPiArICAgIGlmICgoVmFsdWUgPT0g KEVGSV9TT0ZUV0FSRV9QRUlfQ09SRSB8IEVGSV9TV19QQ19JTklUX0JFR0lOKSkgfHwNCj4gKyAg ICAgICAgKFZhbHVlID09IChFRklfU09GVFdBUkVfUEVJX0NPUkUgfCBFRklfU1dfUENfSU5JVF9F TkQpKSB8fA0KPiArICAgICAgICAoVmFsdWUgPT0gKEVGSV9TT0ZUV0FSRV9EWEVfQ09SRSB8IEVG SV9TV19QQ19JTklUX0JFR0lOKSkgfHwNCj4gKyAgICAgICAgKFZhbHVlID09IChFRklfU09GVFdB UkVfRFhFX0NPUkUgfCBFRklfU1dfUENfSU5JVF9FTkQpKSkgew0KPiArICAgICAgcmV0dXJuIEZB TFNFOw0KPiArICAgIH0NCj4gKyAgfSBlbHNlIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsg IH0NCj4gKw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPA0KPiBzaXplb2YobVBlaVBvcnQ4 MFRhYmxlKS9zaXplb2YoRUZJX1NUQVRVU19DT0RFX1RPX1BPUlRfODApOyBJbmRleCsrKQ0KPiB7 DQo+ICsgICAgaWYgKG1QZWlQb3J0ODBUYWJsZVtJbmRleF0uU3RhdHVzVmFsdWUgPT0gVmFsdWUp IHsNCj4gKyAgICAgICpQb3N0Q29kZSA9IG1QZWlQb3J0ODBUYWJsZVtJbmRleF0uUG9ydDgwVmFs dWU7DQo+ICsgICAgICByZXR1cm4gVFJVRTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBy ZXR1cm4gRkFMU0U7DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9Nb25vU3RhdHVzQ29kZS9QbGF0Zm9ybVN0YXR1c0NvZGUuYw0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL01vbm9TdGF0dXNDb2RlL1BsYXRmb3JtU3Rh dHVzQ29kZS4NCj4gYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li5hMWFiZGRjNTEyDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvTW9ub1N0YXR1c0NvZGUvUGxhdGZvcm1TdGF0dXNDb2RlLg0KPiBj DQo+IEBAIC0wLDAgKzEsMzgxIEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQg KGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4g KyAgUGxhdGZvcm1TdGF0dXNDb2RlLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgQ29u dGFpbnMgUGxhdGZvcm0gc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zIHJlcXVpcmVkIHRvIHVzZSBz dGF0dXMgY29kZXMuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtU3Rh dHVzQ29kZS5oIg0KPiArI2luY2x1ZGUgPFBjaFJlZ3MuaD4NCj4gKyNpbmNsdWRlIDxQbGF0Zm9y bUJhc2VBZGRyZXNzZXMuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BlaVNlcnZpY2VzTGliLmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2RMaWIuaD4NCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qg ew0KPiArICBFRklfU1RBVFVTX0NPREVfREFUQSAgRGF0YUhlYWRlcjsNCj4gKyAgRUZJX0hBTkRM RSAgICAgICAgICAgIEhhbmRsZTsNCj4gK30gUEVJTV9GSUxFX0hBTkRMRV9FWFRFTkRFRF9EQVRB Ow0KPiArDQo+ICsjZGVmaW5lIENPTkZJR19QT1JUMCAgICAweDRFDQo+ICsjZGVmaW5lIFBDSV9J RFggICAgICAgICAweENGOA0KPiArI2RlZmluZSBQQ0lfREFUICAgICAgICAgMHhDRkMNCj4gKw0K PiArI2RlZmluZSBQQ0lfTFBDX0JBU0UgICAgKDB4ODAwMEY4MDApDQo+ICsjZGVmaW5lIFBDSV9M UENfUkVHKHgpICAoUENJX0xQQ19CQVNFICsgKHgpKQ0KPiArDQo+ICsvLw0KPiArLy8gRnVuY3Rp b24gaW1wbGVtZW50YXRpb25zDQo+ICsvLw0KPiArQk9PTEVBTg0KPiArUGVpQ29kZVR5cGVUb1Bv c3RDb2RlICgNCj4gKyAgSU4gIEVGSV9TVEFUVVNfQ09ERV9UWVBFICAgIENvZGVUeXBlLA0KPiAr ICBJTiAgRUZJX1NUQVRVU19DT0RFX1ZBTFVFICAgVmFsdWUsDQo+ICsgIE9VVCBVSU5UOCAgICAg ICAgICAgICAgICAgICAqUG9zdENvZGUNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFByb3Zp ZGUgYSBwb3J0IDgwIHN0YXR1cyBjb2RlDQo+ICsNCj4gKyAgQHBhcmFtIFNhbWUgYXMgUmVwb3J0 U3RhdHVzQ29kZSBQUEkNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgQWx3YXlzIHJl dHVybnMgc3VjY2Vzcy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4g K1BvcnQ4MFJlcG9ydFN0YXR1c0NvZGUgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VT ICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1NUQVRVU19DT0RFX1RZUEUgICAg ICAgICAgIENvZGVUeXBlLA0KPiArICBJTiBFRklfU1RBVFVTX0NPREVfVkFMVUUgICAgICAgICAg VmFsdWUsDQo+ICsgIElOIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZSwN Cj4gKyAgSU4gQ09OU1QgRUZJX0dVSUQgICAgICAgICAgICAgICAgICpDYWxsZXJJZCwNCj4gKyAg SU4gQ09OU1QgRUZJX1NUQVRVU19DT0RFX0RBVEEgICAgICpEYXRhIE9QVElPTkFMDQo+ICsgICkN Cj4gKw0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBF RklfRlZfRklMRV9JTkZPICAgICAgICAgRnZGaWxlSW5mbzsNCj4gKyAgVUlOVDE2ICAgICAgICAg ICAgICAgICAgIFBvcnQ4MENvZGUgPSAwOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2dyZXNz IG9yIGVycm9yIGNvZGUsIE91dHB1dCBQb3J0IDgwaCBjYXJkLg0KPiArICAvLw0KPiArICBpZiAo IVBlaUNvZGVUeXBlVG9Qb3N0Q29kZSAoQ29kZVR5cGUsIFZhbHVlLCAoVUlOVDggKikmUG9ydDgw Q29kZSkpIHsNCj4gKyAgICBpZiAoKERhdGEgIT0gTlVMTCkgJiYgKFZhbHVlID09KEVGSV9TT0ZU V0FSRV9QRUlfQ09SRSB8DQo+IEVGSV9TV19QQ19JTklUX0JFR0lOKSkpew0KPiArICAgICAgU3Rh dHVzID0gUGVpU2VydmljZXNGZnNHZXRGaWxlSW5mbyAoDQo+ICsgICAgICAgICAgICAgICAgICgo UEVJTV9GSUxFX0hBTkRMRV9FWFRFTkRFRF9EQVRBICopIChEYXRhICsgMSkpLT5IYW5kbGUsDQo+ ICsgICAgICAgICAgICAgICAgICZGdkZpbGVJbmZvDQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ ICsgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBQb3J0ODBDb2Rl ID0gKEZ2RmlsZUluZm8uRmlsZU5hbWUuRGF0YTRbNl08PDgpICsNCj4gKEZ2RmlsZUluZm8uRmls ZU5hbWUuRGF0YTRbN10pOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArICBpZiAo UG9ydDgwQ29kZSAhPSAwKXsNCj4gKyAgICBJb1dyaXRlMTYgKDB4ODAsIChVSU5UMTYpIFBvcnQ4 MENvZGUpOw0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJQT1NUQ09ERT08JTA0eD5cbiIs IFBvcnQ4MENvZGUpKTsNCj4gKyAgfQ0KPiArICByZXR1cm4gIEVGSV9TVUNDRVNTOw0KPiArfQ0K PiArDQo+ICsvKioNCj4gKyAgUHJvdmlkZSBhIHNlcmlhbCBzdGF0dXMgY29kZQ0KPiArDQo+ICsg IEBwYXJhbSBTYW1lIGFzIFJlcG9ydFN0YXR1c0NvZGUgUFBJDQo+ICsNCj4gKyAgQHJldHZhbCBF RklfU1VDQ0VTUyAgIEFsd2F5cyByZXR1cm5zIHN1Y2Nlc3MuDQo+ICsNCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTZXJpYWxSZXBvcnRTdGF0dXNDb2RlICgNCj4gKyAgSU4g Q09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIEVG SV9TVEFUVVNfQ09ERV9UWVBFICAgICAgICAgICBDb2RlVHlwZSwNCj4gKyAgSU4gRUZJX1NUQVRV U19DT0RFX1ZBTFVFICAgICAgICAgIFZhbHVlLA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAg ICAgICAgICAgICAgSW5zdGFuY2UsDQo+ICsgIElOIENPTlNUIEVGSV9HVUlEICAgICAgICAgICAg ICAgICAqIENhbGxlcklkLA0KPiArICBJTiBDT05TVCBFRklfU1RBVFVTX0NPREVfREFUQSAgICAg KiBEYXRhIE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAgQ0hBUjggICAgICAgICAgICpGaWxl bmFtZTsNCj4gKyAgQ0hBUjggICAgICAgICAgICpEZXNjcmlwdGlvbjsNCj4gKyAgQ0hBUjggICAg ICAgICAgICpGb3JtYXQ7DQo+ICsgIENIQVI4ICAgICAgICAgICBCdWZmZXJbRUZJX1NUQVRVU19D T0RFX0RBVEFfTUFYX1NJWkVdOw0KPiArICBVSU5UMzIgICAgICAgICAgRXJyb3JMZXZlbDsNCj4g KyAgVUlOVDMyICAgICAgICAgIExpbmVOdW1iZXI7DQo+ICsgIFVJTlROICAgICAgICAgICBDaGFy Q291bnQ7DQo+ICsgIEJBU0VfTElTVCAgICAgICBNYXJrZXI7DQo+ICsNCj4gKyAgQnVmZmVyWzBd ID0gJ1wwJzsNCj4gKw0KPiArICBpZiAoRGF0YSAhPSBOVUxMICYmDQo+ICsgICAgICBSZXBvcnRT dGF0dXNDb2RlRXh0cmFjdEFzc2VydEluZm8gKENvZGVUeXBlLCBWYWx1ZSwgRGF0YSwgJkZpbGVu YW1lLA0KPiAmRGVzY3JpcHRpb24sICZMaW5lTnVtYmVyKSkgew0KPiArICAgIC8vDQo+ICsgICAg Ly8gUHJpbnQgQVNTRVJUKCkgaW5mb3JtYXRpb24gaW50byBvdXRwdXQgYnVmZmVyLg0KPiArICAg IC8vDQo+ICsgICAgQ2hhckNvdW50ID0gQXNjaWlTUHJpbnQgKA0KPiArICAgICAgICAgICAgICAg ICAgQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAgc2l6ZW9mIChCdWZmZXIpLA0KPiArICAg ICAgICAgICAgICAgICAgIlxuXHJQRUlfQVNTRVJUITogJWEgKCVkKTogJWFcblxyIiwNCj4gKyAg ICAgICAgICAgICAgICAgIEZpbGVuYW1lLA0KPiArICAgICAgICAgICAgICAgICAgTGluZU51bWJl ciwNCj4gKyAgICAgICAgICAgICAgICAgIERlc2NyaXB0aW9uDQo+ICsgICAgICAgICAgICAgICAg ICApOw0KPiArICB9IGVsc2UgaWYgKERhdGEgIT0gTlVMTCAmJg0KPiArICAgICAgICAgICAgIFJl cG9ydFN0YXR1c0NvZGVFeHRyYWN0RGVidWdJbmZvIChEYXRhLCAmRXJyb3JMZXZlbCwgJk1hcmtl ciwNCj4gJkZvcm1hdCkpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFByaW50IERFQlVHKCkgaW5m b3JtYXRpb24gaW50byBvdXRwdXQgYnVmZmVyLg0KPiArICAgIC8vDQo+ICsgICAgQ2hhckNvdW50 ID0gQXNjaWlCU1ByaW50ICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ1ZmZlciwNCj4gKyAgICAg ICAgICAgICAgICAgIHNpemVvZiAoQnVmZmVyKSwNCj4gKyAgICAgICAgICAgICAgICAgIEZvcm1h dCwNCj4gKyAgICAgICAgICAgICAgICAgIE1hcmtlcg0KPiArICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgfSBlbHNlIGlmICgoQ29kZVR5cGUgJiBFRklfU1RBVFVTX0NPREVfVFlQRV9NQVNLKSA9 PQ0KPiBFRklfRVJST1JfQ09ERSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gUHJpbnQgRVJST1Ig aW5mb3JtYXRpb24gaW50byBvdXRwdXQgYnVmZmVyLg0KPiArICAgIC8vDQo+ICsgICAgQ2hhckNv dW50ID0gQXNjaWlTUHJpbnQgKA0KPiArICAgICAgICAgICAgICAgICAgQnVmZmVyLA0KPiArICAg ICAgICAgICAgICAgICAgc2l6ZW9mIChCdWZmZXIpLA0KPiArICAgICAgICAgICAgICAgICAgIkVS Uk9SOiBDJXg6ViV4IEkleCIsDQo+ICsgICAgICAgICAgICAgICAgICBDb2RlVHlwZSwNCj4gKyAg ICAgICAgICAgICAgICAgIFZhbHVlLA0KPiArICAgICAgICAgICAgICAgICAgSW5zdGFuY2UNCj4g KyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICBBU1NFUlQoQ2hhckNvdW50ID4gMCk7 DQo+ICsNCj4gKyAgICBpZiAoQ2FsbGVySWQgIT0gTlVMTCkgew0KPiArICAgICAgQ2hhckNvdW50 ICs9IEFzY2lpU1ByaW50ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICZCdWZmZXJbQ2hhckNv dW50XSwNCj4gKyAgICAgICAgICAgICAgICAgICAgIChzaXplb2YgKEJ1ZmZlcikgLSAoc2l6ZW9m IChCdWZmZXJbMF0pICogQ2hhckNvdW50KSksDQo+ICsgICAgICAgICAgICAgICAgICAgICAiICVn IiwNCj4gKyAgICAgICAgICAgICAgICAgICAgIENhbGxlcklkDQo+ICsgICAgICAgICAgICAgICAg ICAgICApOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlmIChEYXRhICE9IE5VTEwpIHsNCj4gKyAg ICAgIENoYXJDb3VudCArPSBBc2NpaVNQcmludCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAm QnVmZmVyW0NoYXJDb3VudF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAoc2l6ZW9mIChCdWZm ZXIpIC0gKHNpemVvZiAoQnVmZmVyWzBdKSAqIENoYXJDb3VudCkpLA0KPiArICAgICAgICAgICAg ICAgICAgICAgIiAleCIsDQo+ICsgICAgICAgICAgICAgICAgICAgICBEYXRhDQo+ICsgICAgICAg ICAgICAgICAgICAgICApOw0KPiArICAgIH0NCj4gKw0KPiArICAgIENoYXJDb3VudCArPSBBc2Np aVNQcmludCAoDQo+ICsgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcltDaGFyQ291bnRdLA0KPiAr ICAgICAgICAgICAgICAgICAgIChzaXplb2YgKEJ1ZmZlcikgLSAoc2l6ZW9mIChCdWZmZXJbMF0p ICogQ2hhckNvdW50KSksDQo+ICsgICAgICAgICAgICAgICAgICAgIlxuXHIiDQo+ICsgICAgICAg ICAgICAgICAgICAgKTsNCj4gKyAgfSBlbHNlIGlmICgoQ29kZVR5cGUgJiBFRklfU1RBVFVTX0NP REVfVFlQRV9NQVNLKSA9PQ0KPiBFRklfUFJPR1JFU1NfQ09ERSkgew0KPiArICAgIC8vDQo+ICsg ICAgLy8gUHJpbnQgUFJPR1JFU1MgaW5mb3JtYXRpb24gaW50byBvdXRwdXQgYnVmZmVyLg0KPiAr ICAgIC8vDQo+ICsgICAgQ2hhckNvdW50ID0gQXNjaWlTUHJpbnQgKA0KPiArICAgICAgICAgICAg ICAgICAgQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAgc2l6ZW9mIChCdWZmZXIpLA0KPiAr ICAgICAgICAgICAgICAgICAgIlBST0dSRVNTIENPREU6IFYleCBJJXhcblxyIiwNCj4gKyAgICAg ICAgICAgICAgICAgIFZhbHVlLA0KPiArICAgICAgICAgICAgICAgICAgSW5zdGFuY2UNCj4gKyAg ICAgICAgICAgICAgICAgICk7DQo+ICsgIH0gZWxzZSBpZiAoRGF0YSAhPSBOVUxMICYmDQo+ICsg ICAgICAgICAgICAgQ29tcGFyZUd1aWQgKCZEYXRhLT5UeXBlLCAmZ0VmaVN0YXR1c0NvZGVEYXRh VHlwZVN0cmluZ0d1aWQpDQo+ICYmDQo+ICsgICAgICAgICAgICAgKChFRklfU1RBVFVTX0NPREVf U1RSSU5HX0RBVEEgKikgRGF0YSktPlN0cmluZ1R5cGUgPT0NCj4gRWZpU3RyaW5nQXNjaWkpIHsN Cj4gKyAgICAvLw0KPiArICAgIC8vIEVGSV9TVEFUVVNfQ09ERV9TVFJJTkdfREFUQQ0KPiArICAg IC8vDQo+ICsgICAgQ2hhckNvdW50ID0gQXNjaWlTUHJpbnQgKA0KPiArICAgICAgICAgICAgICAg ICAgQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAgc2l6ZW9mIChCdWZmZXIpLA0KPiArICAg ICAgICAgICAgICAgICAgIiVhXG5cciIsDQo+ICsgICAgICAgICAgICAgICAgICAoKEVGSV9TVEFU VVNfQ09ERV9TVFJJTkdfREFUQSAqKSBEYXRhKS0+U3RyaW5nLkFzY2lpDQo+ICsgICAgICAgICAg ICAgICAgICApOw0KPiArICB9IGVsc2Ugew0KPiArICAgIC8vDQo+ICsgICAgLy8gQ29kZSB0eXBl IGlzIG5vdCBkZWZpbmVkLg0KPiArICAgIC8vDQo+ICsgICAgQ2hhckNvdW50ID0gQXNjaWlTUHJp bnQgKA0KPiArICAgICAgICAgICAgICAgICAgQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAg c2l6ZW9mIChCdWZmZXIpLA0KPiArICAgICAgICAgICAgICAgICAgIlVuZGVmaW5lZDogQyV4OlYl eCBJJXhcblxyIiwNCj4gKyAgICAgICAgICAgICAgICAgIENvZGVUeXBlLA0KPiArICAgICAgICAg ICAgICAgICAgVmFsdWUsDQo+ICsgICAgICAgICAgICAgICAgICBJbnN0YW5jZQ0KPiArICAgICAg ICAgICAgICAgICAgKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENhbGwgU2VyaWFs UG9ydCBMaWIgZnVuY3Rpb24gdG8gZG8gcHJpbnQuDQo+ICsgIC8vDQo+ICsgIFNlcmlhbFBvcnRX cml0ZSAoKFVJTlQ4ICopIEJ1ZmZlciwgQ2hhckNvdW50KTsNCj4gKw0KPiArICByZXR1cm4gRUZJ X1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIENhbGwgYWxsIHN0YXR1cyBj b2RlIGxpc3RlbmVycyBpbiB0aGUgTW9ub1N0YXR1c0NvZGUuDQo+ICsNCj4gKyAgQHBhcmFtIFBl aVNlcnZpY2VzICAgIFRoZSBQRUkgY29yZSBzZXJ2aWNlcyB0YWJsZS4NCj4gKyAgQHBhcmFtIENv ZGVUeXBlICAgICAgIFR5cGUgb2YgU3RhdHVzIENvZGUuDQo+ICsgIEBwYXJhbSBWYWx1ZSAgICAg ICAgICBWYWx1ZSB0byBvdXRwdXQgZm9yIFN0YXR1cyBDb2RlLg0KPiArICBAcGFyYW0gSW5zdGFu Y2UgICAgICAgSW5zdGFuY2UgTnVtYmVyIG9mIHRoaXMgc3RhdHVzIGNvZGUuDQo+ICsgIEBwYXJh bSBDYWxsZXJJZCAgICAgICBJRCBvZiB0aGUgY2FsbGVyIG9mIHRoaXMgc3RhdHVzIGNvZGUuDQo+ ICsgIEBwYXJhbSBEYXRhICAgICAgICAgICBPcHRpb25hbCBkYXRhIGFzc29jaWF0ZWQgd2l0aCB0 aGlzIHN0YXR1cyBjb2RlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg ICAgIElmIHN0YXR1cyBjb2RlIGlzIHN1Y2Nlc3NmdWxseSByZXBvcnRlZC4NCj4gKyAgQHJldHZh bCBFRklfTk9UX0FWQUlMQUJMRV9ZRVQgICAgSWYgU3RhdHVzQ29kZVBwaSBoYXMgbm90IGJlZW4N Cj4gaW5zdGFsbGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiAr UGxhdGZvcm1SZXBvcnRTdGF0dXNDb2RlICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklD RVMgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIEVGSV9TVEFUVVNfQ09ERV9UWVBFICAg ICAgICAgICBDb2RlVHlwZSwNCj4gKyAgSU4gRUZJX1NUQVRVU19DT0RFX1ZBTFVFICAgICAgICAg IFZhbHVlLA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgSW5zdGFuY2Us DQo+ICsgIElOIENPTlNUIEVGSV9HVUlEICAgICAgICAgICAgICAgICAqIENhbGxlcklkLA0KPiAr ICBJTiBDT05TVCBFRklfU1RBVFVTX0NPREVfREFUQSAgICAgKiBEYXRhIE9QVElPTkFMDQo+ICsg ICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAgLy8gSWYgd2UgYXJlIGluIGRlYnVnIG1vZGUsIHdlIHdp bGwgYWxsb3cgc2VyaWFsIHN0YXR1cyBjb2Rlcw0KPiArICAvLw0KPiArICBTZXJpYWxSZXBvcnRT dGF0dXNDb2RlIChQZWlTZXJ2aWNlcywgQ29kZVR5cGUsIFZhbHVlLCBJbnN0YW5jZSwgQ2FsbGVy SWQsDQo+IERhdGEpOw0KPiArDQo+ICsgIFBvcnQ4MFJlcG9ydFN0YXR1c0NvZGUgKFBlaVNlcnZp Y2VzLCBDb2RlVHlwZSwgVmFsdWUsIEluc3RhbmNlLCBDYWxsZXJJZCwNCj4gRGF0YSk7DQo+ICsN Cj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgSW5zdGFs bCB0aGUgUEVJTS4gIEluaXRpYWxpemUgbGlzdGVuZXJzLCBwdWJsaXNoIHRoZSBQUEkgYW5kIEhP QiBmb3IgUEVJIGFuZA0KPiArICBEWEUgdXNlIHJlc3BlY3RpdmVseS4NCj4gKw0KPiArICBAcGFy YW0gRmZzSGVhZGVyICAgICAgRlYgdGhpcyBQRUlNIHdhcyBsb2FkZWQgZnJvbS4NCj4gKyAgQHBh cmFtIFBlaVNlcnZpY2VzICAgIEdlbmVyYWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8g ZXZlcnkgUEVJTS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgVGhlIGZ1bmN0aW9u IGFsd2F5cyByZXR1cm5zIHN1Y2Nlc3MuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtJbnN0YWxsTW9ub1N0YXR1c0NvZGUgKA0KPiArICBJTiBFRklfRkZTX0ZJTEVf SEVBREVSICAgICAgICpGZnNIZWFkZXIsDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMg ICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5p dGlhbGl6ZSBhbGwgbGlzdGVuZXJzDQo+ICsgIC8vDQo+ICsgIEluaXRpYWxpemVNb25vU3RhdHVz Q29kZSAoRmZzSGVhZGVyLCBQZWlTZXJ2aWNlcyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUHVi bGlzaCB0aGUgbGlzdGVuZXIgaW4gYSBIT0IgZm9yIERYRSB1c2UuDQo+ICsgIC8vDQo+ICsgIElu aXRpYWxpemVEeGVSZXBvcnRTdGF0dXNDb2RlIChQZWlTZXJ2aWNlcyk7DQo+ICsNCj4gKyAgcmV0 dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsjZGVmaW5lIFZfUENIX0lMQl9JUlFFX1VB UlRJUlFFTl9JUlEzICAgICAgICAgICAgIEJJVDMgLy8gVUFSVCBJUlEzDQo+IEVuYWJsZQ0KPiAr I2RlZmluZSBWX1BDSF9JTEJfSVJRRV9VQVJUSVJRRU5fSVJRNCAgICAgICAgICAgICBCSVQ0IC8v IFVBUlQgSVJRNA0KPiBFbmFibGUNCj4gKyNkZWZpbmUgUENJRVhfQkFTRV9BRERSRVNTICAgICAg ICAgICAgICAgICAgICAgICAgMHhFMDAwMDAwMA0KPiArI2RlZmluZSBQY2lEMzFGMFJlZ0Jhc2Ug ICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lFWF9CQVNFX0FERFJFU1MgKyAoVUlOVDMyKQ0K PiAoMzEgPDwgMTUpDQo+ICsjZGVmaW5lIFNCX1JDQkEgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIDB4ZmVkMWMwMDANCj4gKw0KPiArZXh0ZXJuIFBDSF9TVEVQUElORyBFRklBUEkg UGNoU3RlcHBpbmcgKFZPSUQpOw0KPiArDQo+ICtWT0lEDQo+ICtSYW1EZWJ1Z0luaXQgKA0KPiAr ICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBFbmFibGUgbGVnYWN5IGRlY29kaW5n IG9uIElDSDYNCj4gKw0KPiArICBAcGFyYW0gbm9uZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgIEFsd2F5cyByZXR1cm5zIHN1Y2Nlc3MuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArRW5hYmxlSW50ZXJuYWxVYXJ0KA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4g Kw0KPiArICAvLw0KPiArICAvLyBQcm9ncmFtIGFuZCBlbmFibGUgUE1DIEJhc2UuDQo+ICsgIC8v DQo+ICsgIElvV3JpdGUzMiAoUENJX0lEWCwgIFBDSV9MUENfUkVHKFJfUENIX0xQQ19QTUNfQkFT RSkpOw0KPiArICBJb1dyaXRlMzIgKFBDSV9EQVQsICAoUE1DX0JBU0VfQUREUkVTUyB8DQo+IEJf UENIX0xQQ19QTUNfQkFTRV9FTikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEVuYWJsZSBDT00x IGZvciBkZWJ1ZyBtZXNzYWdlIG91dHB1dC4NCj4gKyAgLy8NCj4gKyAgTW1pb0FuZFRoZW5PcjMy IChQTUNfQkFTRV9BRERSRVNTICsNCj4gUl9QQ0hfUE1DX0dFTl9QTUNPTl8xLCAoVUlOVDMyKQ0K PiAofihCX1BDSF9QTUNfR0VOX1BNQ09OX1NVU19QV1JfRkxSICsNCj4gQl9QQ0hfUE1DX0dFTl9Q TUNPTl9QV1JPS19GTFIpKSwgQklUMjQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNpbGljb24g U3RlcHBpbmdzDQo+ICsgIC8vDQo+ICsgIGlmIChQY2hTdGVwcGluZygpPj0gUGNoQjApDQo+ICsg ICAgTW1pb09yOCAoSUxCX0JBU0VfQUREUkVTUyArIFJfUENIX0lMQl9JUlFFLCAoVUlOVDgpDQo+ IFZfUENIX0lMQl9JUlFFX1VBUlRJUlFFTl9JUlE0KTsNCj4gKyAgZWxzZQ0KPiArICAgIE1taW9P cjggKElMQl9CQVNFX0FERFJFU1MgKyBSX1BDSF9JTEJfSVJRRSwgKFVJTlQ4KQ0KPiBWX1BDSF9J TEJfSVJRRV9VQVJUSVJRRU5fSVJRMyk7DQo+ICsgIE1taW9BbmQzMihJT19CQVNFX0FERFJFU1Mg KyAweDA1MjAsIChVSU5UMzIpfigweDAwMDAwMTg3KSk7DQo+ICsgIE1taW9PcjMyIChJT19CQVNF X0FERFJFU1MgKyAweDA1MjAsIChVSU5UMzIpMHg4MSk7IC8vIFVBUlQzX1JYRC1MDQo+ICsgIE1t aW9BbmQzMihJT19CQVNFX0FERFJFU1MgKyAweDA1MzAsIChVSU5UMzIpfigweDAwMDAwMDA3KSk7 DQo+ICsgIE1taW9PcjMyIChJT19CQVNFX0FERFJFU1MgKyAweDA1MzAsIChVSU5UMzIpMHgxKTsg Ly8gVUFSVDNfUlhELUwNCj4gKyAgTW1pb09yOCAoUGNpRDMxRjBSZWdCYXNlICsgUl9QQ0hfTFBD X1VBUlRfQ1RSTCwgKFVJTlQ4KQ0KPiBCX1BDSF9MUENfVUFSVF9DVFJMX0NPTTFfRU4pOw0KPiAr DQo+ICsgIHJldHVybiAgRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBJTklU IHRoZSBTSU8uIFBvcnRlZCB0aGlzIGNvZGUgYW5kIEkgZG9uJ3QgdW5kZXJ0YW5kIHRoZSBjb21t ZW50cyBlaXRoZXIuDQo+ICsNCj4gKyAgQHBhcmFtIEZmc0hlYWRlciAgICBGViB0aGlzIFBFSU0g d2FzIGxvYWRlZCBmcm9tLg0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgIEdlbmVyYWwgcHVycG9z ZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkgUEVJTS4NCj4gKw0KPiArICBOb25lDQo+ICsN Cj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtQbGF0Zm9ybUluaXRpYWxpemVTdGF0dXND b2RlICgNCj4gKyAgSU4gRUZJX0ZGU19GSUxFX0hFQURFUiAgICAgICAqRmZzSGVhZGVyLA0KPiAr ICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0KPiAr ew0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEVuYWJsZSBpbnRlcm5hbCBDT00xIG9uIFNvdXRoIENs dXN0ZXIuDQo+ICsgIC8vDQo+ICsJRW5hYmxlSW50ZXJuYWxVYXJ0KCk7DQo+ICsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBJbml0aWFsaXplIGFkZGl0aW9uYWwgZGVidWcgc3RhdHVzIGNvZGUgbGlz dGVuZXJzLg0KPiArICAvLw0KPiArICAgU2VyaWFsUG9ydEluaXRpYWxpemUoKTsNCj4gKw0KPiAr fQ0KPiArLy8jZW5kaWYgLy9FRklfREVCVUcNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTW9ub1N0YXR1c0NvZGUvUGxhdGZvcm1TdGF0dXND b2RlLg0KPiBoDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvTW9ub1N0YXR1 c0NvZGUvUGxhdGZvcm1TdGF0dXNDb2RlLg0KPiBoDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLjQyYjdjOWEyYzgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Nb25vU3RhdHVzQ29kZS9QbGF0Zm9y bVN0YXR1c0NvZGUuDQo+IGgNCj4gQEAgLTAsMCArMSwxMzggQEANCj4gKy8qKysNCj4gKw0KPiAr ICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNywgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdo dHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgUGxh dGZvcm1TdGF0dXNDb2RlLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgQ29udGFpbnMg UGxhdGZvcm0gc3BlY2lmaWMgaW1wbGVtZW50YXRpb25zIHJlcXVpcmVkIHRvIHVzZSBzdGF0dXMg Y29kZXMuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfUExBVEZPUk1fU1RBVFVTX0NP REVfSF8NCj4gKyNkZWZpbmUgX1BMQVRGT1JNX1NUQVRVU19DT0RFX0hfDQo+ICsNCj4gKw0KPiAr I2RlZmluZSBDT05GSUdfUE9SVDAgICAgMHg0RQ0KPiArI2RlZmluZSBJTkRFWF9QT1JUMCAgICAg MHg0RQ0KPiArI2RlZmluZSBEQVRBX1BPUlQwICAgICAgMHg0Rg0KPiArI2RlZmluZSBQQ0lfSURY ICAgICAgICAweENGOA0KPiArI2RlZmluZSBQQ0lfREFUICAgICAgICAweENGQw0KPiArDQo+ICsj aW5jbHVkZSAiTW9ub1N0YXR1c0NvZGUuaCINCj4gKyNpZm5kZWYgX1BFSV9QT1JUXzgwX1NUQVRV U19DT0RFX0hfDQo+ICsjZGVmaW5lIF9QRUlfUE9SVF84MF9TVEFUVVNfQ09ERV9IXw0KPiArDQo+ ICsNCj4gKw0KPiArLy8NCj4gKy8vIFN0YXR1cyBjb2RlIHJlcG9ydGluZyBmdW5jdGlvbg0KPiAr Ly8NCj4gK0VGSV9TVEFUVVMNCj4gK1BvcnQ4MFJlcG9ydFN0YXR1c0NvZGUgKA0KPiArICBJTiBD T05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJ X1NUQVRVU19DT0RFX1RZUEUgICAgICAgICAgIENvZGVUeXBlLA0KPiArICBJTiBFRklfU1RBVFVT X0NPREVfVkFMVUUgICAgICAgICAgVmFsdWUsDQo+ICsgIElOIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgICAgICBJbnN0YW5jZSwNCj4gKyAgSU4gQ09OU1QgRUZJX0dVSUQgICAgICAgICAgICAg ICAgICogQ2FsbGVySWQsDQo+ICsgIElOIENPTlNUIEVGSV9TVEFUVVNfQ09ERV9EQVRBICAgICAq IERhdGEgT1BUSU9OQUwNCj4gKyAgKTsNCj4gKw0KPiArI2VuZGlmDQo+ICsNCj4gKyNpZm5kZWYg X1BFSV9TRVJJQUxfU1RBVFVTX0NPREVfTElCX0hfDQo+ICsjZGVmaW5lIF9QRUlfU0VSSUFMX1NU QVRVU19DT0RFX0xJQl9IXw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlIDxHdWlkL1N0YXR1c0NvZGVE YXRhVHlwZUlkLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9TdGF0dXNDb2RlRGF0YVR5cGVEZWJ1Zy5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUmVwb3J0U3RhdHVzQ29kZUxpYi5oPg0KPiArI2luY2x1 ZGUgPExpYnJhcnkvUHJpbnRMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlM aWIuaD4NCj4gKw0KPiArLy8NCj4gKy8vIEluaXRpYWxpemF0aW9uIGZ1bmN0aW9uDQo+ICsvLw0K PiArVk9JRA0KPiArU2VyaWFsSW5pdGlhbGl6ZVN0YXR1c0NvZGUgKA0KPiArICBWT0lEDQo+ICsg ICk7DQo+ICsNCj4gKy8vDQo+ICsvLyBTdGF0dXMgY29kZSByZXBvcnRpbmcgZnVuY3Rpb24NCj4g Ky8vDQo+ICtFRklfU1RBVFVTDQo+ICtTZXJpYWxSZXBvcnRTdGF0dXNDb2RlICgNCj4gKyAgSU4g Q09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIEVG SV9TVEFUVVNfQ09ERV9UWVBFICAgICBDb2RlVHlwZSwNCj4gKyAgSU4gRUZJX1NUQVRVU19DT0RF X1ZBTFVFICAgIFZhbHVlLA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAgICAgICAgSW5zdGFu Y2UsDQo+ICsgIElOIENPTlNUIEVGSV9HVUlEICAgICAgICAgICAgICAgICAqIENhbGxlcklkLA0K PiArICBJTiBDT05TVCBFRklfU1RBVFVTX0NPREVfREFUQSAgICAgKiBEYXRhIE9QVElPTkFMDQo+ ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiArDQo+ICtleHRlcm4gRUZJX1BFSV9QUk9HUkVTU19D T0RFX1BQSSAgICBtU3RhdHVzQ29kZVBwaTsNCj4gK2V4dGVybiBFRklfUEVJX1BQSV9ERVNDUklQ VE9SIG1QcGlMaXN0U3RhdHVzQ29kZTsNCj4gKyNkZWZpbmUgRUZJX1NJR05BVFVSRV8xNihBLCBC KSAgICAgICAgKChBKSB8IChCIDw8IDgpKQ0KPiArI2RlZmluZSBFRklfU0lHTkFUVVJFXzMyKEEs IEIsIEMsIEQpICAoRUZJX1NJR05BVFVSRV8xNiAoQSwgQikgfA0KPiAoRUZJX1NJR05BVFVSRV8x NiAoQywgRCkgPDwgMTYpKQ0KPiArI2RlZmluZSBTVEFUVVNDT0RFX1BFSU1fU0lHTkFUVVJFIEVG SV9TSUdOQVRVUkVfMzIgKCdwJywgJ3MnLCAndCcsICdjJykNCj4gKw0KPiArdHlwZWRlZiBzdHJ1 Y3Qgew0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgIFNpZ25hdHVyZTsNCj4gKyAgRUZJ X0ZGU19GSUxFX0hFQURFUiAgICAgICAqRmZzSGVhZGVyOw0KPiArICBFRklfUEVJX05PVElGWV9E RVNDUklQVE9SIFN0YXR1c0NvZGVOb3RpZnk7DQo+ICt9IFNUQVRVU0NPREVfQ0FMTEJBQ0tfU1RB VEVfSU5GT1JNQVRJT047DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygxKQ0KPiArdHlwZWRlZiBzdHJ1 Y3Qgew0KPiArICBVSU5UMTYgIExpbWl0Ow0KPiArICBVSU5UMzIgIEJhc2U7DQo+ICt9IEdEVF9E U0NSSVBUT1I7DQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsjZGVmaW5lIFNUQVRVU0NPREVf UEVJTV9GUk9NX1RISVMoYSkgXA0KPiArICBCQVNFX0NSICggXA0KPiArICBhLCBcDQo+ICsgIFNU QVRVU0NPREVfQ0FMTEJBQ0tfU1RBVEVfSU5GT1JNQVRJT04sIFwNCj4gKyAgU3RhdHVzQ29kZU5v dGlmeSBcDQo+ICsgICkNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtQbGF0Zm9ybUluaXRp YWxpemVTdGF0dXNDb2RlICgNCj4gKyAgSU4gRUZJX0ZGU19GSUxFX0hFQURFUiAgICAgICAqRmZz SGVhZGVyLA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICoqUGVpU2VydmljZXMN Cj4gKyAgKTsNCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gRnVuY3Rpb24gZGVjbGFyYXRpb25zDQo+ ICsvLw0KPiArLyoqDQo+ICsgIEluc3RhbGwgRmlybXdhcmUgVm9sdW1lIEhvYidzIG9uY2UgdGhl cmUgaXMgbWFpbiBtZW1vcnkNCj4gKw0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgICAgICAgIEdl bmVyYWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkgUEVJTS4NCj4gKyAgQHBh cmFtIE5vdGlmeURlc2NyaXB0b3IgICBOb3QgVXNlZA0KPiArICBAcGFyYW0gUHBpICAgICAgICAg ICAgICAgIE5vdCBVc2VkDQo+ICsNCj4gKyAgQHJldHZhbCBTdGF0dXMgICAgICAgICAgICBFRklf U1VDQ0VTUyBpZiB0aGUgaW50ZXJmYWNlIGNvdWxkIGJlIHN1Y2Nlc3NmdWxseQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxlZA0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFU VVMNCj4gK0VGSUFQSQ0KPiArTWVtb3J5RGlzY292ZXJlZFBwaU5vdGlmeUNhbGxiYWNrICgNCj4g KyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4g RUZJX1BFSV9OT1RJRllfREVTQ1JJUFRPUiAgKk5vdGlmeURlc2NyaXB0b3IsDQo+ICsgIElOIFZP SUQgICAgICAgICAgICAgICAgICAgICAgICpQcGkNCj4gKyAgKTsNCj4gKw0KPiArI2VuZGlmDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVycmlk ZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGliL0Jkc0Jv b3QuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJyaWRlL0ludGVs RnJhbWV3b3JrTW9kdWxlUGtnL0xpDQo+IGJyYXJ5L0dlbmVyaWNCZHNMaWIvQmRzQm9vdC5jDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjMwMzQ4NTM2OTUNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9PdmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRz TGliL0Jkc0Jvb3QuYw0KPiBAQCAtMCwwICsxLDQ0OTAgQEANCj4gKy8qKiBAZmlsZQ0KPiArICBC RFMgTGliIGZ1bmN0aW9ucyB3aGljaCByZWxhdGUgd2l0aCBjcmVhdGUgb3IgcHJvY2VzcyB0aGUg Ym9vdCBvcHRpb24uDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNCAtIDIwMTksIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK1NQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVk ZSAiSW50ZXJuYWxCZHNMaWIuaCINCj4gKyNpbmNsdWRlICJTdHJpbmcuaCINCj4gKyNpbmNsdWRl IDxMaWJyYXJ5L05ldExpYi5oPg0KPiArI2luY2x1ZGUgIkxpYnJhcnkvRGVidWdMaWIuaCINCj4g Kw0KPiArQk9PTEVBTiBtRW51bUJvb3REZXZpY2UgPSBGQUxTRTsNCj4gK0VGSV9ISUlfSEFORExF IGdCZHNMaWJTdHJpbmdQYWNrSGFuZGxlID0gTlVMTDsNCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAg RW5kIFBlcmYgZW50cnkgb2YgQkRTDQo+ICsNCj4gKyAgQHBhcmFtICBFdmVudCAgICAgICAgICAg ICAgICAgVGhlIHRyaWdnZXJlZCBldmVudC4NCj4gKyAgQHBhcmFtICBDb250ZXh0ICAgICAgICAg ICAgICAgQ29udGV4dCBmb3IgdGhpcyBldmVudC4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtF RklBUEkNCj4gK0JtRW5kT2ZCZHNQZXJmQ29kZSAoDQo+ICsgIElOIEVGSV9FVkVOVCAgRXZlbnQs DQo+ICsgIElOIFZPSUQgICAgICAgKkNvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiAr ICAvLyBSZWNvcmQgdGhlIHBlcmZvcm1hbmNlIGRhdGEgZm9yIEVuZCBvZiBCRFMNCj4gKyAgLy8N Cj4gKyAgUEVSRl9FTkQoTlVMTCwgIkJEUyIsIE5VTEwsIDApOw0KPiArDQo+ICsgIHJldHVybiA7 DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGUgY29uc3RydWN0b3IgZnVuY3Rpb24gcmVnaXN0 ZXIgVU5JIHN0cmluZ3MgaW50byBpbWFnZUhhbmRsZS4NCj4gKw0KPiArICBJdCB3aWxsIEFTU0VS VCgpIGlmIHRoYXQgb3BlcmF0aW9uIGZhaWxzIGFuZCBpdCB3aWxsIGFsd2F5cyByZXR1cm4gRUZJ X1NVQ0NFU1MuDQo+ICsNCj4gKyAgQHBhcmFtICBJbWFnZUhhbmRsZSAgIFRoZSBmaXJtd2FyZSBh bGxvY2F0ZWQgaGFuZGxlIGZvciB0aGUgRUZJIGltYWdlLg0KPiArICBAcGFyYW0gIFN5c3RlbVRh YmxlICAgQSBwb2ludGVyIHRvIHRoZSBFRkkgU3lzdGVtIFRhYmxlLg0KPiArDQo+ICsgIEByZXR2 YWwgRUZJX1NVQ0NFU1MgICBUaGUgY29uc3RydWN0b3Igc3VjY2Vzc2Z1bGx5IGFkZGVkIHN0cmlu ZyBwYWNrYWdlLg0KPiArICBAcmV0dmFsIE90aGVyIHZhbHVlICAgVGhlIGNvbnN0cnVjdG9yIGNh bid0IGFkZCBzdHJpbmcgcGFja2FnZS4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK0dlbmVyaWNCZHNMaWJDb25zdHJ1Y3RvciAoDQo+ICsgIElOIEVGSV9IQU5ETEUg ICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAqU3lzdGVtVGFi bGUNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIGdCZHNMaWJTdHJpbmdQYWNrSGFuZGxlID0gSGlp QWRkUGFja2FnZXMgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdCZHNMaWJT dHJpbmdQYWNrYWdlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdl SGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgR2VuZXJpY0Jkc0xpYlN0 cmluZ3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIEFTU0VSVCAoZ0Jkc0xpYlN0cmlu Z1BhY2tIYW5kbGUgIT0gTlVMTCk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiAr fQ0KPiArDQo+ICsvKioNCj4gKyAgRGVsZXRldGUgdGhlIEJvb3QgT3B0aW9uIGZyb20gRUZJIFZh cmlhYmxlLiBUaGUgQm9vdCBPcmRlciBBcnJyYXkNCj4gKyAgaXMgYWxzbyB1cGRhdGVkLg0KPiAr DQo+ICsgIEBwYXJhbSBPcHRpb25OdW1iZXIgICAgVGhlIG51bWJlciBvZiBCb290IG9wdGlvbiB3 YW50IHRvIGJlIGRlbGV0ZWQuDQo+ICsgIEBwYXJhbSBCb290T3JkZXIgICAgICAgVGhlIEJvb3Qg T3JkZXIgYXJyYXkuDQo+ICsgIEBwYXJhbSBCb290T3JkZXJTaXplICAgVGhlIHNpemUgb2YgdGhl IEJvb3QgT3JkZXIgQXJyYXkuDQo+ICsNCj4gKyAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgICAgICAg ICAgIFRoZSBCb290IE9wdGlvbiBWYXJpYWJsZSB3YXMgZm91bmQgYW5kDQo+IHJlbW92ZWQNCj4g KyAgQHJldHZhbCAgRUZJX1VOU1VQUE9SVEVEICAgICAgIFRoZSBCb290IE9wdGlvbiBWYXJpYWJs ZSBzdG9yZSB3YXMNCj4gaW5hY2Nlc3NpYmxlDQo+ICsgIEByZXR2YWwgIEVGSV9OT1RfRk9VTkQg ICAgICAgICBUaGUgQm9vdCBPcHRpb24gVmFyaWFibGUgd2FzIG5vdCBmb3VuZA0KPiArKiovDQo+ ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0RlbGV0ZUJvb3RPcHRpb24gKA0KPiArICBJ TiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uTnVtYmVyLA0KPiArICBJTiBPVVQg VUlOVDE2ICAgICAgICAgICAgICAgICAgKkJvb3RPcmRlciwNCj4gKyAgSU4gT1VUIFVJTlROICAg ICAgICAgICAgICAgICAgICpCb290T3JkZXJTaXplDQo+ICsgICkNCj4gK3sNCj4gKyAgQ0hBUjE2 ICAgICAgQm9vdE9wdGlvbls5XTsNCj4gKyAgVUlOVE4gICAgICAgSW5kZXg7DQo+ICsgIEVGSV9T VEFUVVMgIFN0YXR1czsNCj4gKw0KPiArICBVbmljb2RlU1ByaW50IChCb290T3B0aW9uLCBzaXpl b2YgKEJvb3RPcHRpb24pLCBMIkJvb3QlMDR4IiwNCj4gT3B0aW9uTnVtYmVyKTsNCj4gKyAgU3Rh dHVzID0gZ1JULT5TZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICBCb290T3B0aW9u LA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsgICAg ICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAg ICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIC8vDQo+ICsgIC8vIERl bGV0aW5nIHZhcmlhYmxlIHdpdGggZXhpc3RpbmcgdmFyaWFibGUgaW1wbGVtZW50YXRpb24gc2hv dWxkbid0IGZhaWwuDQo+ICsgIC8vDQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gYWRqdXN0IGJvb3Qgb3JkZXIgYXJyYXkNCj4gKyAgLy8NCj4g KyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgKkJvb3RPcmRlclNpemUgLyBzaXplb2YgKFVJTlQx Nik7IEluZGV4KyspIHsNCj4gKyAgICBpZiAoQm9vdE9yZGVyW0luZGV4XSA9PSBPcHRpb25OdW1i ZXIpIHsNCj4gKyAgICAgIENvcHlNZW0gKCZCb290T3JkZXJbSW5kZXhdLCAmQm9vdE9yZGVyW0lu ZGV4KzFdLCAqQm9vdE9yZGVyU2l6ZQ0KPiAtIChJbmRleCsxKSAqIHNpemVvZiAoVUlOVDE2KSk7 DQo+ICsgICAgICAqQm9vdE9yZGVyU2l6ZSAtPSBzaXplb2YgKFVJTlQxNik7DQo+ICsgICAgICBi cmVhazsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0K PiArLyoqDQo+ICsNCj4gKyAgVHJhbnNsYXRlIHRoZSBmaXJzdCBuIGNoYXJhY3RlcnMgb2YgYW4g QXNjaWkgc3RyaW5nIHRvDQo+ICsgIFVuaWNvZGUgY2hhcmFjdGVycy4gVGhlIGNvdW50IG4gaXMg aW5kaWNhdGVkIGJ5IHBhcmFtZXRlcg0KPiArICBTaXplLiBJZiBTaXplIGlzIGdyZWF0ZXIgdGhh biB0aGUgbGVuZ3RoIG9mIHN0cmluZywgdGhlbg0KPiArICB0aGUgZW50aXJlIHN0cmluZyBpcyB0 cmFuc2xhdGVkLg0KPiArDQo+ICsNCj4gKyAgQHBhcmFtIEFTdHIgICAgICAgICAgICAgICBQb2lu dGVyIHRvIGlucHV0IEFzY2lpIHN0cmluZy4NCj4gKyAgQHBhcmFtIFNpemUgICAgICAgICAgICAg ICBUaGUgbnVtYmVyIG9mIGNoYXJhY3RlcnMgdG8gdHJhbnNsYXRlLg0KPiArICBAcGFyYW0gVVN0 ciAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gb3V0cHV0IFVuaWNvZGUgc3RyaW5nIGJ1ZmZlci4N Cj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtBc2NpaVRvVW5pY29kZVNpemUgKA0KPiArICBJTiBV SU5UOCAgICAgICAgICAgICAgKkFTdHIsDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICBTaXpl LA0KPiArICBPVVQgVUlOVDE2ICAgICAgICAgICAgKlVTdHINCj4gKyAgKQ0KPiArew0KPiArICBV SU5UTiBJZHg7DQo+ICsNCj4gKyAgSWR4ID0gMDsNCj4gKyAgd2hpbGUgKEFTdHJbSWR4XSAhPSAw KSB7DQo+ICsgICAgVVN0cltJZHhdID0gKENIQVIxNikgQVN0cltJZHhdOw0KPiArICAgIGlmIChJ ZHggPT0gU2l6ZSkgew0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgSWR4 Kys7DQo+ICsgIH0NCj4gKyAgVVN0cltJZHhdID0gMDsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsg IEJ1aWxkIExlZ2FjeSBEZXZpY2UgTmFtZSBTdHJpbmcgYWNjb3JkaW5nLg0KPiArDQo+ICsgIEBw YXJhbSBDdXJCQlNFbnRyeSAgICAgQkJTIFRhYmxlLg0KPiArICBAcGFyYW0gSW5kZXggICAgICAg ICAgIEluZGV4Lg0KPiArICBAcGFyYW0gQnVmU2l6ZSAgICAgICAgIFRoZSBidWZmZXIgc2l6ZS4N Cj4gKyAgQHBhcmFtIEJvb3RTdHJpbmcgICAgICBUaGUgb3V0cHV0IHN0cmluZy4NCj4gKw0KPiAr KiovDQo+ICtWT0lEDQo+ICtCZHNCdWlsZExlZ2FjeURldk5hbWVTdHJpbmcgKA0KPiArICBJTiAg QkJTX1RBQkxFICAgICAgICAgICAgICAgICAqQ3VyQkJTRW50cnksDQo+ICsgIElOICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgIEluZGV4LA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICBCdWZTaXplLA0KPiArICBPVVQgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAqQm9vdFN0 cmluZw0KPiArICApDQo+ICt7DQo+ICsgIENIQVIxNiAgKkZtdDsNCj4gKyAgQ0hBUjE2ICAqVHlw ZTsNCj4gKyAgVUlOVDggICAqU3RyaW5nRGVzYzsNCj4gKyAgQ0hBUjE2ICBUZW1wWzgwXTsNCj4g Kw0KPiArICBzd2l0Y2ggKEluZGV4KSB7DQo+ICsgIC8vDQo+ICsgIC8vIFByaW1hcnkgTWFzdGVy DQo+ICsgIC8vDQo+ICsgIGNhc2UgMToNCj4gKyAgICBGbXQgPSBMIlByaW1hcnkgTWFzdGVyICVz IjsNCj4gKyAgICBicmVhazsNCj4gKw0KPiArIC8vDQo+ICsgLy8gUHJpbWFyeSBTbGF2ZQ0KPiAr IC8vDQo+ICsgIGNhc2UgMjoNCj4gKyAgICBGbXQgPSBMIlByaW1hcnkgU2xhdmUgJXMiOw0KPiAr ICAgIGJyZWFrOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNlY29uZGFyeSBNYXN0ZXINCj4gKyAg Ly8NCj4gKyAgY2FzZSAzOg0KPiArICAgIEZtdCA9IEwiU2Vjb25kYXJ5IE1hc3RlciAlcyI7DQo+ ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2Vjb25kYXJ5IFNsYXZlDQo+ICsg IC8vDQo+ICsgIGNhc2UgNDoNCj4gKyAgICBGbXQgPSBMIlNlY29uZGFyeSBTbGF2ZSAlcyI7DQo+ ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgZGVmYXVsdDoNCj4gKyAgICBGbXQgPSBMIiVzIjsNCj4g KyAgICBicmVhazsNCj4gKyAgfQ0KPiArDQo+ICsgIHN3aXRjaCAoQ3VyQkJTRW50cnktPkRldmlj ZVR5cGUpIHsNCj4gKyAgY2FzZSBCQlNfRkxPUFBZOg0KPiArICAgIFR5cGUgPSBMIkZsb3BweSI7 DQo+ICsgICAgYnJlYWs7DQo+ICsNCj4gKyAgY2FzZSBCQlNfSEFSRERJU0s6DQo+ICsgICAgVHlw ZSA9IEwiSGFyZGRpc2siOw0KPiArICAgIGJyZWFrOw0KPiArDQo+ICsgIGNhc2UgQkJTX0NEUk9N Og0KPiArICAgIFR5cGUgPSBMIkNEUk9NIjsNCj4gKyAgICBicmVhazsNCj4gKw0KPiArICBjYXNl IEJCU19QQ01DSUE6DQo+ICsgICAgVHlwZSA9IEwiUENNQ0lBZSI7DQo+ICsgICAgYnJlYWs7DQo+ ICsNCj4gKyAgY2FzZSBCQlNfVVNCOg0KPiArICAgIFR5cGUgPSBMIlVTQiI7DQo+ICsgICAgYnJl YWs7DQo+ICsNCj4gKyAgY2FzZSBCQlNfRU1CRURfTkVUV09SSzoNCj4gKyAgICBUeXBlID0gTCJO ZXR3b3JrIjsNCj4gKyAgICBicmVhazsNCj4gKw0KPiArICBjYXNlIEJCU19CRVZfREVWSUNFOg0K PiArICAgIFR5cGUgPSBMIkJFVmUiOw0KPiArICAgIGJyZWFrOw0KPiArDQo+ICsgIGNhc2UgQkJT X1VOS05PV046DQo+ICsgIGRlZmF1bHQ6DQo+ICsgICAgVHlwZSA9IEwiVW5rbm93biI7DQo+ICsg ICAgYnJlYWs7DQo+ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8gSWYgY3VycmVudCBCQlMgZW50cnkg aGFzIGl0cyBkZXNjcmlwdGlvbiB0aGVuIHVzZSBpdC4NCj4gKyAgLy8NCj4gKyAgU3RyaW5nRGVz YyA9IChVSU5UOCAqKSAoVUlOVE4pICgoQ3VyQkJTRW50cnktPkRlc2NTdHJpbmdTZWdtZW50IDw8 IDQpDQo+ICsgQ3VyQkJTRW50cnktPkRlc2NTdHJpbmdPZmZzZXQpOw0KPiArICBpZiAoTlVMTCAh PSBTdHJpbmdEZXNjKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBPbmx5IGdldCBmaXNydCAzMiBj aGFyYWN0ZXJzLCB0aGlzIGlzIHN1Z2dlc3RlZCBieSBCQlMgc3BlYw0KPiArICAgIC8vDQo+ICsg ICAgQXNjaWlUb1VuaWNvZGVTaXplIChTdHJpbmdEZXNjLCAzMiwgVGVtcCk7DQo+ICsgICAgRm10 ICAgPSBMIiVzIjsNCj4gKyAgICBUeXBlICA9IFRlbXA7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0K PiArICAvLyBCYnNUYWJsZSAxNiBlbnRyaWVzIGFyZSBmb3Igb25ib2FyZCBJREUuDQo+ICsgIC8v IFNldCBkZXNjcmlwdGlvbiBzdHJpbmcgZm9yIFNBVEEgaGFyZGRpc2tzLCBIYXJkZGlzayAwIH4g SGFyZGRpc2sgMTENCj4gKyAgLy8NCj4gKyAgaWYgKEluZGV4ID49IDUgJiYgSW5kZXggPD0gMTYg JiYgKEN1ckJCU0VudHJ5LT5EZXZpY2VUeXBlID09DQo+IEJCU19IQVJERElTSyB8fCBDdXJCQlNF bnRyeS0+RGV2aWNlVHlwZSA9PSBCQlNfQ0RST00pKSB7DQo+ICsgICAgRm10ID0gTCIlcyAlZCI7 DQo+ICsgICAgVW5pY29kZVNQcmludCAoQm9vdFN0cmluZywgQnVmU2l6ZSwgRm10LCBUeXBlLCBJ bmRleCAtIDUpOw0KPiArICB9IGVsc2Ugew0KPiArICAgIFVuaWNvZGVTUHJpbnQgKEJvb3RTdHJp bmcsIEJ1ZlNpemUsIEZtdCwgVHlwZSk7DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArLyoqDQo+ICsN Cj4gKyAgQ3JlYXRlIGEgbGVnYWN5IGJvb3Qgb3B0aW9uIGZvciB0aGUgc3BlY2lmaWVkIGVudHJ5 IG9mDQo+ICsgIEJCUyB0YWJsZSwgc2F2ZSBpdCBhcyB2YXJpYWJsZSwgYW5kIGFwcGVuZCBpdCB0 byB0aGUgYm9vdA0KPiArICBvcmRlciBsaXN0Lg0KPiArDQo+ICsNCj4gKyAgQHBhcmFtIEN1cnJl bnRCYnNFbnRyeSAgICBQb2ludGVyIHRvIGN1cnJlbnQgQkJTIHRhYmxlLg0KPiArICBAcGFyYW0g Q3VycmVudEJic0RldlBhdGggIFBvaW50ZXIgdG8gdGhlIERldmljZSBQYXRoIFByb3RvY29sIGlu c3RhbmNlDQo+IG9mIEJCUw0KPiArICBAcGFyYW0gSW5kZXggICAgICAgICAgICAgIEluZGV4IG9m IHRoZSBzcGVjaWZpZWQgZW50cnkgaW4gQkJTIHRhYmxlLg0KPiArICBAcGFyYW0gQm9vdE9yZGVy TGlzdCAgICAgIE9uIGlucHV0LCB0aGUgb3JpZ2luYWwgYm9vdCBvcmRlciBsaXN0Lg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE9uIG91dHB1dCwgdGhlIG5ldyBib290IG9yZGVyIGxp c3QgYXR0YWNoZWQgd2l0aCB0aGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBjcmVh dGVkIG5vZGUuDQo+ICsgIEBwYXJhbSBCb290T3JkZXJMaXN0U2l6ZSAgT24gaW5wdXQsIHRoZSBv cmlnaW5hbCBzaXplIG9mIGJvb3Qgb3JkZXIgbGlzdC4NCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBPbiBvdXRwdXQsIHRoZSBzaXplIG9mIG5ldyBib290IG9yZGVyIGxpc3QuDQo+ICsN Cj4gKyAgQHJldHZhbCAgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgQm9vdCBPcHRpb24gc3VjY2Vz c2Z1bGx5IGNyZWF0ZWQuDQo+ICsgIEByZXR2YWwgIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgIEZh aWwgdG8gYWxsb2NhdGUgbmVjZXNzYXJ5IG1lbW9yeS4NCj4gKyAgQHJldHZhbCAgT3RoZXIgICAg ICAgICAgICAgICAgICAgRXJyb3Igb2NjdXJzIHdoaWxlIHNldHRpbmcgdmFyaWFibGUuDQo+ICsN Cj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQmRzQ3JlYXRlTGVnYWN5Qm9vdE9wdGlvbiAoDQo+ ICsgIElOIEJCU19UQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICpDdXJyZW50QmJzRW50cnks DQo+ICsgIElOIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICAgICpDdXJyZW50QmJzRGV2 UGF0aCwNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgsDQo+ ICsgIElOIE9VVCBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICoqQm9vdE9yZGVyTGlzdCwN Cj4gKyAgSU4gT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgKkJvb3RPcmRlckxpc3RT aXplDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgU3RhdHVzOw0KPiAr ICBVSU5UMTYgICAgICAgICAgICAgICBDdXJyZW50Qm9vdE9wdGlvbk5vOw0KPiArICBVSU5UMTYg ICAgICAgICAgICAgICBCb290U3RyaW5nWzEwXTsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAg Qm9vdERlc2NbMTAwXTsNCj4gKyAgQ0hBUjggICAgICAgICAgICAgICAgSGVscFN0cmluZ1sxMDBd Ow0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAqTmV3Qm9vdE9yZGVyTGlzdDsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgQnVmZmVyU2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg U3RyaW5nTGVuOw0KPiArICBWT0lEICAgICAgICAgICAgICAgICAqQnVmZmVyOw0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAqUHRyOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICBDdXJyZW50 QmJzRGV2UGF0aFNpemU7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgIEJvb3RPcmRlckluZGV4 Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICBCb290T3JkZXJMYXN0SW5kZXg7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgIEFycmF5SW5kZXg7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAg IEluZGV4Tm90Rm91bmQ7DQo+ICsgIEJCU19CQlNfREVWSUNFX1BBVEggICpOZXdCYnNEZXZQYXRo Tm9kZTsNCj4gKw0KPiArICBpZiAoKCpCb290T3JkZXJMaXN0KSA9PSBOVUxMKSB7DQo+ICsgICAg Q3VycmVudEJvb3RPcHRpb25ObyA9IDA7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgZm9yIChBcnJh eUluZGV4ID0gMDsgQXJyYXlJbmRleCA8IChVSU5UTikgKCpCb290T3JkZXJMaXN0U2l6ZSAvIHNp emVvZg0KPiAoVUlOVDE2KSk7IEFycmF5SW5kZXgrKykgew0KPiArICAgICAgSW5kZXhOb3RGb3Vu ZCA9IFRSVUU7DQo+ICsgICAgICBmb3IgKEJvb3RPcmRlckluZGV4ID0gMDsgQm9vdE9yZGVySW5k ZXggPCAoVUlOVE4pICgqQm9vdE9yZGVyTGlzdFNpemUNCj4gLyBzaXplb2YgKFVJTlQxNikpOyBC b290T3JkZXJJbmRleCsrKSB7DQo+ICsgICAgICAgIGlmICgoKkJvb3RPcmRlckxpc3QpW0Jvb3RP cmRlckluZGV4XSA9PSBBcnJheUluZGV4KSB7DQo+ICsgICAgICAgICAgSW5kZXhOb3RGb3VuZCA9 IEZBTFNFOw0KPiArICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ ICsNCj4gKyAgICAgIGlmICghSW5kZXhOb3RGb3VuZCkgew0KPiArICAgICAgICBjb250aW51ZTsN Cj4gKyAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAg IH0NCj4gKw0KPiArICAgIEN1cnJlbnRCb290T3B0aW9uTm8gPSAoVUlOVDE2KSBBcnJheUluZGV4 Ow0KPiArICB9DQo+ICsNCj4gKyAgVW5pY29kZVNQcmludCAoDQo+ICsgICAgQm9vdFN0cmluZywN Cj4gKyAgICBzaXplb2YgKEJvb3RTdHJpbmcpLA0KPiArICAgIEwiQm9vdCUwNHgiLA0KPiArICAg IEN1cnJlbnRCb290T3B0aW9uTm8NCj4gKyAgICApOw0KPiArDQo+ICsgIEJkc0J1aWxkTGVnYWN5 RGV2TmFtZVN0cmluZyAoQ3VycmVudEJic0VudHJ5LCBJbmRleCwgc2l6ZW9mIChCb290RGVzYyks DQo+IEJvb3REZXNjKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDcmVhdGUgbmV3IEJCUyBkZXZp Y2UgcGF0aCBub2RlIHdpdGggZGVzY3JpcHRpb24gc3RyaW5nDQo+ICsgIC8vDQo+ICsgIFVuaWNv ZGVTdHJUb0FzY2lpU3RyIChCb290RGVzYywgSGVscFN0cmluZyk7DQo+ICsNCj4gKyAgU3RyaW5n TGVuID0gQXNjaWlTdHJMZW4gKEhlbHBTdHJpbmcpOw0KPiArICBOZXdCYnNEZXZQYXRoTm9kZSA9 IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAoQkJTX0JCU19ERVZJQ0VfUEFUSCkNCj4gKyBTdHJp bmdMZW4pOw0KPiArICBpZiAoTmV3QmJzRGV2UGF0aE5vZGUgPT0gTlVMTCkgew0KPiArICAgIHJl dHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgfQ0KPiArICBDb3B5TWVtIChOZXdCYnNE ZXZQYXRoTm9kZSwgQ3VycmVudEJic0RldlBhdGgsIHNpemVvZg0KPiAoQkJTX0JCU19ERVZJQ0Vf UEFUSCkpOw0KPiArICBDb3B5TWVtIChOZXdCYnNEZXZQYXRoTm9kZS0+U3RyaW5nLCBIZWxwU3Ry aW5nLCBTdHJpbmdMZW4gKyAxKTsNCj4gKyAgU2V0RGV2aWNlUGF0aE5vZGVMZW5ndGggKCYoTmV3 QmJzRGV2UGF0aE5vZGUtPkhlYWRlciksIHNpemVvZg0KPiAoQkJTX0JCU19ERVZJQ0VfUEFUSCkg KyBTdHJpbmdMZW4pOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENyZWF0ZSBlbnRpcmUgbmV3IEN1 cnJlbnRCYnNEZXZQYXRoIHdpdGggZW5kIG5vZGUNCj4gKyAgLy8NCj4gKyAgQ3VycmVudEJic0Rl dlBhdGggPSBBcHBlbmREZXZpY2VQYXRoTm9kZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKEVGSV9ERVZJQ0VfUEFUSF9QUk9U T0NPTCAqKSBOZXdCYnNEZXZQYXRoTm9kZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgIGlmIChDdXJyZW50QmJzRGV2UGF0aCA9PSBOVUxMKSB7DQo+ICsgICAgRnJlZVBvb2wg KE5ld0Jic0RldlBhdGhOb2RlKTsNCj4gKyAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7 DQo+ICsgIH0NCj4gKw0KPiArICBDdXJyZW50QmJzRGV2UGF0aFNpemUgPSAoVUlOVDE2KSAoR2V0 RGV2aWNlUGF0aFNpemUNCj4gKEN1cnJlbnRCYnNEZXZQYXRoKSk7DQo+ICsNCj4gKyAgQnVmZmVy U2l6ZSA9IHNpemVvZiAoVUlOVDMyKSArDQo+ICsgICAgc2l6ZW9mIChVSU5UMTYpICsNCj4gKyAg ICBTdHJTaXplIChCb290RGVzYykgKw0KPiArICAgIEN1cnJlbnRCYnNEZXZQYXRoU2l6ZSArDQo+ ICsgICAgc2l6ZW9mIChCQlNfVEFCTEUpICsNCj4gKyAgICBzaXplb2YgKFVJTlQxNik7DQo+ICsN Cj4gKyAgQnVmZmVyID0gQWxsb2NhdGVaZXJvUG9vbCAoQnVmZmVyU2l6ZSk7DQo+ICsgIGlmIChC dWZmZXIgPT0gTlVMTCkgew0KPiArICAgIEZyZWVQb29sIChOZXdCYnNEZXZQYXRoTm9kZSk7DQo+ ICsgICAgRnJlZVBvb2wgKEN1cnJlbnRCYnNEZXZQYXRoKTsNCj4gKyAgICByZXR1cm4gRUZJX09V VF9PRl9SRVNPVVJDRVM7DQo+ICsgIH0NCj4gKw0KPiArICBQdHIgICAgICAgICAgICAgICA9IChV SU5UOCAqKSBCdWZmZXI7DQo+ICsNCj4gKyAgKigoVUlOVDMyICopIFB0cikgPSBMT0FEX09QVElP Tl9BQ1RJVkU7DQo+ICsgIFB0ciArPSBzaXplb2YgKFVJTlQzMik7DQo+ICsNCj4gKyAgKigoVUlO VDE2ICopIFB0cikgPSBDdXJyZW50QmJzRGV2UGF0aFNpemU7DQo+ICsgIFB0ciArPSBzaXplb2Yg KFVJTlQxNik7DQo+ICsNCj4gKyAgQ29weU1lbSAoDQo+ICsgICAgUHRyLA0KPiArICAgIEJvb3RE ZXNjLA0KPiArICAgIFN0clNpemUgKEJvb3REZXNjKQ0KPiArICAgICk7DQo+ICsgIFB0ciArPSBT dHJTaXplIChCb290RGVzYyk7DQo+ICsNCj4gKyAgQ29weU1lbSAoDQo+ICsgICAgUHRyLA0KPiAr ICAgIEN1cnJlbnRCYnNEZXZQYXRoLA0KPiArICAgIEN1cnJlbnRCYnNEZXZQYXRoU2l6ZQ0KPiAr ICAgICk7DQo+ICsgIFB0ciArPSBDdXJyZW50QmJzRGV2UGF0aFNpemU7DQo+ICsNCj4gKyAgQ29w eU1lbSAoDQo+ICsgICAgUHRyLA0KPiArICAgIEN1cnJlbnRCYnNFbnRyeSwNCj4gKyAgICBzaXpl b2YgKEJCU19UQUJMRSkNCj4gKyAgICApOw0KPiArDQo+ICsgIFB0ciArPSBzaXplb2YgKEJCU19U QUJMRSk7DQo+ICsgICooKFVJTlQxNiAqKSBQdHIpID0gKFVJTlQxNikgSW5kZXg7DQo+ICsNCj4g KyAgU3RhdHVzID0gZ1JULT5TZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICBCb290 U3RyaW5nLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4g RUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTIHwgRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSwN Cj4gKyAgICAgICAgICAgICAgICAgIEJ1ZmZlclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICBC dWZmZXINCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgRnJlZVBvb2wgKEJ1ZmZl cik7DQo+ICsNCj4gKyAgQnVmZmVyID0gTlVMTDsNCj4gKw0KPiArICBOZXdCb290T3JkZXJMaXN0 ID0gQWxsb2NhdGVaZXJvUG9vbCAoKkJvb3RPcmRlckxpc3RTaXplICsgc2l6ZW9mDQo+IChVSU5U MTYpKTsNCj4gKyAgaWYgKE5VTEwgPT0gTmV3Qm9vdE9yZGVyTGlzdCkgew0KPiArICAgIEZyZWVQ b29sIChOZXdCYnNEZXZQYXRoTm9kZSk7DQo+ICsgICAgRnJlZVBvb2wgKEN1cnJlbnRCYnNEZXZQ YXRoKTsNCj4gKyAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ICsgIH0NCj4gKw0K PiArICBpZiAoKkJvb3RPcmRlckxpc3QgIT0gTlVMTCkgew0KPiArICAgIENvcHlNZW0gKE5ld0Jv b3RPcmRlckxpc3QsICpCb290T3JkZXJMaXN0LCAqQm9vdE9yZGVyTGlzdFNpemUpOw0KPiArICAg IEZyZWVQb29sICgqQm9vdE9yZGVyTGlzdCk7DQo+ICsgIH0NCj4gKw0KPiArICBCb290T3JkZXJM YXN0SW5kZXggICAgICAgICAgICAgICAgICAgID0gKFVJTlROKSAoKkJvb3RPcmRlckxpc3RTaXpl IC8gc2l6ZW9mDQo+IChVSU5UMTYpKTsNCj4gKyAgTmV3Qm9vdE9yZGVyTGlzdFtCb290T3JkZXJM YXN0SW5kZXhdICA9IEN1cnJlbnRCb290T3B0aW9uTm87DQo+ICsgICpCb290T3JkZXJMaXN0U2l6 ZSArPSBzaXplb2YgKFVJTlQxNik7DQo+ICsgICpCb290T3JkZXJMaXN0ID0gTmV3Qm9vdE9yZGVy TGlzdDsNCj4gKw0KPiArICBGcmVlUG9vbCAoTmV3QmJzRGV2UGF0aE5vZGUpOw0KPiArICBGcmVl UG9vbCAoQ3VycmVudEJic0RldlBhdGgpOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiAr DQo+ICsvKioNCj4gKyAgQ2hlY2sgaWYgdGhlIGJvb3Qgb3B0aW9uIGlzIGEgbGVnYWN5IG9uZS4N Cj4gKw0KPiArICBAcGFyYW0gQm9vdE9wdGlvblZhciAgIFRoZSBib290IG9wdGlvbiBkYXRhIHBh eWxvYWQuDQo+ICsgIEBwYXJhbSBCYnNFbnRyeSAgICAgICAgVGhlIEJCUyBUYWJsZS4NCj4gKyAg QHBhcmFtIEJic0luZGV4ICAgICAgICBUaGUgdGFibGUgaW5kZXguDQo+ICsNCj4gKyAgQHJldHZh bCBUUlVFICAgICAgICAgICBJdCBpcyBhIGxlZ2FjeSBib290IG9wdGlvbi4NCj4gKyAgQHJldHZh bCBGQUxTRSAgICAgICAgICBJdCBpcyBub3QgYSBsZWdhY3kgYm9vdCBvcHRpb24uDQo+ICsNCj4g KyoqLw0KPiArQk9PTEVBTg0KPiArQmRzSXNMZWdhY3lCb290T3B0aW9uICgNCj4gKyAgSU4gVUlO VDggICAgICAgICAgICAgICAgICpCb290T3B0aW9uVmFyLA0KPiArICBPVVQgQkJTX1RBQkxFICAg ICAgICAgICAgKipCYnNFbnRyeSwNCj4gKyAgT1VUIFVJTlQxNiAgICAgICAgICAgICAgICpCYnNJ bmRleA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgKlB0cjsN Cj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqRGV2aWNlUGF0aDsNCj4gKyAgQk9PTEVB TiAgICAgICAgICAgICAgICAgICBSZXQ7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg RGV2UGF0aExlbjsNCj4gKw0KPiArICBQdHIgPSBCb290T3B0aW9uVmFyOw0KPiArICBQdHIgKz0g c2l6ZW9mIChVSU5UMzIpOw0KPiArICBEZXZQYXRoTGVuID0gKihVSU5UMTYgKikgUHRyOw0KPiAr ICBQdHIgKz0gc2l6ZW9mIChVSU5UMTYpOw0KPiArICBQdHIgKz0gU3RyU2l6ZSAoKFVJTlQxNiAq KSBQdHIpOw0KPiArICBEZXZpY2VQYXRoID0gKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSBQ dHI7DQo+ICsgIGlmICgoQkJTX0RFVklDRV9QQVRIID09IERldmljZVBhdGgtPlR5cGUpICYmIChC QlNfQkJTX0RQID09DQo+IERldmljZVBhdGgtPlN1YlR5cGUpKSB7DQo+ICsgICAgUHRyICs9IERl dlBhdGhMZW47DQo+ICsgICAgKkJic0VudHJ5ID0gKEJCU19UQUJMRSAqKSBQdHI7DQo+ICsgICAg UHRyICs9IHNpemVvZiAoQkJTX1RBQkxFKTsNCj4gKyAgICAqQmJzSW5kZXggPSAqKFVJTlQxNiAq KSBQdHI7DQo+ICsgICAgUmV0ICAgICAgID0gVFJVRTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICAq QmJzRW50cnkgPSBOVUxMOw0KPiArICAgIFJldCAgICAgICA9IEZBTFNFOw0KPiArICB9DQo+ICsN Cj4gKyAgcmV0dXJuIFJldDsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIERlbGV0ZSBhbGwgdGhl IGludmFsaWQgbGVnYWN5IGJvb3Qgb3B0aW9ucy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICAgICAgIEFsbCBpbnZhbGlkZSBsZWdhY3kgYm9vdCBvcHRpb25zIGFyZSBkZWxl dGVkLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgIEZhaWwgdG8gYWxsb2Nh dGUgbmVjZXNzYXJ5IG1lbW9yeS4NCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAg ICBGYWlsIHRvIHJldHJpdmUgdmFyaWFibGUgb2YgYm9vdCBvcmRlci4NCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtCZHNEZWxldGVBbGxJbnZhbGlkTGVnYWN5Qm9vdE9wdGlv bnMgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAg ICAgICAqQm9vdE9yZGVyOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICpCb290T3B0 aW9uVmFyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEJvb3RPcmRlclNpemU7DQo+ ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQm9vdE9wdGlvblNpemU7DQo+ICsgIEVGSV9T VEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAg ICAgIEhkZENvdW50Ow0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIEJic0NvdW50Ow0K PiArICBIRERfSU5GTyAgICAgICAgICAgICAgICAgICpMb2NhbEhkZEluZm87DQo+ICsgIEJCU19U QUJMRSAgICAgICAgICAgICAgICAgKkxvY2FsQmJzVGFibGU7DQo+ICsgIEJCU19UQUJMRSAgICAg ICAgICAgICAgICAgKkJic0VudHJ5Ow0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIEJi c0luZGV4Ow0KPiArICBFRklfTEVHQUNZX0JJT1NfUFJPVE9DT0wgICpMZWdhY3lCaW9zOw0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBVSU5UMTYgICAgICAgICAg ICAgICAgICAgIEJvb3RPcHRpb25bMTBdOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAg IEJvb3REZXNjWzEwMF07DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgRGVzY1N0cmlu Z01hdGNoOw0KPiArDQo+ICsgIFN0YXR1cyAgICAgICAgPSBFRklfU1VDQ0VTUzsNCj4gKyAgQm9v dE9yZGVyICAgICA9IE5VTEw7DQo+ICsgIEJvb3RPcmRlclNpemUgPSAwOw0KPiArICBIZGRDb3Vu dCAgICAgID0gMDsNCj4gKyAgQmJzQ291bnQgICAgICA9IDA7DQo+ICsgIExvY2FsSGRkSW5mbyAg PSBOVUxMOw0KPiArICBMb2NhbEJic1RhYmxlID0gTlVMTDsNCj4gKyAgQmJzRW50cnkgICAgICA9 IE5VTEw7DQo+ICsNCj4gKyAgU3RhdHVzICAgICAgICA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZn RWZpTGVnYWN5Qmlvc1Byb3RvY29sR3VpZCwgTlVMTCwNCj4gKFZPSUQgKiopICZMZWdhY3lCaW9z KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7 DQo+ICsgIH0NCj4gKw0KPiArICBCb290T3JkZXIgPSBCZHNMaWJHZXRWYXJpYWJsZUFuZFNpemUg KA0KPiArICAgICAgICAgICAgICAgIEwiQm9vdE9yZGVyIiwNCj4gKyAgICAgICAgICAgICAgICAm Z0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAmQm9vdE9yZGVyU2l6 ZQ0KPiArICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChCb290T3JkZXIgPT0gTlVMTCkgew0K PiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgTGVnYWN5Qmlv cy0+R2V0QmJzSW5mbyAoDQo+ICsgICAgICAgICAgICAgICAgTGVnYWN5QmlvcywNCj4gKyAgICAg ICAgICAgICAgICAmSGRkQ291bnQsDQo+ICsgICAgICAgICAgICAgICAgJkxvY2FsSGRkSW5mbywN Cj4gKyAgICAgICAgICAgICAgICAmQmJzQ291bnQsDQo+ICsgICAgICAgICAgICAgICAgJkxvY2Fs QmJzVGFibGUNCj4gKyAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIEluZGV4ID0gMDsNCj4g KyAgd2hpbGUgKEluZGV4IDwgQm9vdE9yZGVyU2l6ZSAvIHNpemVvZiAoVUlOVDE2KSkgew0KPiAr ICAgIFVuaWNvZGVTUHJpbnQgKEJvb3RPcHRpb24sIHNpemVvZiAoQm9vdE9wdGlvbiksIEwiQm9v dCUwNHgiLA0KPiBCb290T3JkZXJbSW5kZXhdKTsNCj4gKyAgICBCb290T3B0aW9uVmFyID0gQmRz TGliR2V0VmFyaWFibGVBbmRTaXplICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBCb290T3B0 aW9uLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgICAgICZCb290T3B0aW9uU2l6ZQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICk7DQo+ICsgICAgaWYgKE5VTEwgPT0gQm9vdE9wdGlvblZhcikgew0KPiArICAg ICAgQm9vdE9wdGlvblNpemUgPSAwOw0KPiArICAgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJs ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgQm9vdE9wdGlvbiwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZCb290T3B0aW9uU2l6ZSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICBCb290T3B0aW9uVmFyDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICAgIGlmIChTdGF0dXMgPT0gRUZJX05PVF9GT1VORCkgew0KPiArICAg ICAgICAvLw0KPiArICAgICAgICAvLyBVcGRhdGUgQm9vdE9yZGVyDQo+ICsgICAgICAgIC8vDQo+ ICsgICAgICAgIEJkc0RlbGV0ZUJvb3RPcHRpb24gKA0KPiArICAgICAgICAgIEJvb3RPcmRlcltJ bmRleF0sDQo+ICsgICAgICAgICAgQm9vdE9yZGVyLA0KPiArICAgICAgICAgICZCb290T3JkZXJT aXplDQo+ICsgICAgICAgICAgKTsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAgICB9IGVs c2Ugew0KPiArICAgICAgICBGcmVlUG9vbCAoQm9vdE9yZGVyKTsNCj4gKyAgICAgICAgcmV0dXJu IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy8gU2tpcCBOb24tTGVnYWN5IGJvb3Qgb3B0aW9uDQo+ICsgICAgLy8NCj4g KyAgICBpZiAoIUJkc0lzTGVnYWN5Qm9vdE9wdGlvbiAoQm9vdE9wdGlvblZhciwgJkJic0VudHJ5 LCAmQmJzSW5kZXgpKSB7DQo+ICsgICAgICBpZiAoQm9vdE9wdGlvblZhciE9IE5VTEwpIHsNCj4g KyAgICAgICAgRnJlZVBvb2wgKEJvb3RPcHRpb25WYXIpOw0KPiArICAgICAgfQ0KPiArICAgICAg SW5kZXgrKzsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlmIChC YnNJbmRleCA8IEJic0NvdW50KSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gQ2hlY2sgaWYg QkJTIERlc2NyaXB0aW9uIFN0cmluZyBpcyBjaGFuZ2VkDQo+ICsgICAgICAvLw0KPiArICAgICAg RGVzY1N0cmluZ01hdGNoID0gRkFMU0U7DQo+ICsgICAgICBCZHNCdWlsZExlZ2FjeURldk5hbWVT dHJpbmcgKA0KPiArICAgICAgICAmTG9jYWxCYnNUYWJsZVtCYnNJbmRleF0sDQo+ICsgICAgICAg IEJic0luZGV4LA0KPiArICAgICAgICBzaXplb2YgKEJvb3REZXNjKSwNCj4gKyAgICAgICAgQm9v dERlc2MNCj4gKyAgICAgICAgKTsNCj4gKw0KPiArICAgICAgaWYgKFN0ckNtcCAoQm9vdERlc2Ms IChVSU5UMTYqKShCb290T3B0aW9uVmFyICsgc2l6ZW9mIChVSU5UMzIpICsNCj4gc2l6ZW9mIChV SU5UMTYpKSkgPT0gMCkgew0KPiArICAgICAgICBEZXNjU3RyaW5nTWF0Y2ggPSBUUlVFOw0KPiAr ICAgICAgfQ0KPiArDQo+ICsgICAgICBpZiAoISgoTG9jYWxCYnNUYWJsZVtCYnNJbmRleF0uQm9v dFByaW9yaXR5ID09IEJCU19JR05PUkVfRU5UUlkpIHx8DQo+ICsgICAgICAgICAgICAoTG9jYWxC YnNUYWJsZVtCYnNJbmRleF0uQm9vdFByaW9yaXR5ID09DQo+IEJCU19ET19OT1RfQk9PVF9GUk9N KSkgJiYNCj4gKyAgICAgICAgICAoTG9jYWxCYnNUYWJsZVtCYnNJbmRleF0uRGV2aWNlVHlwZSA9 PSBCYnNFbnRyeS0+RGV2aWNlVHlwZSkgJiYNCj4gKyAgICAgICAgICBEZXNjU3RyaW5nTWF0Y2gp IHsNCj4gKyAgICAgICAgSW5kZXgrKzsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAgICB9 DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKEJvb3RPcHRpb25WYXIgIT0gTlVMTCkgew0KPiAr ICAgICAgRnJlZVBvb2wgKEJvb3RPcHRpb25WYXIpOw0KPiArICAgIH0NCj4gKyAgICAvLw0KPiAr ICAgIC8vIHNob3VsZCBkZWxldGUNCj4gKyAgICAvLw0KPiArICAgIEJkc0RlbGV0ZUJvb3RPcHRp b24gKA0KPiArICAgICAgQm9vdE9yZGVyW0luZGV4XSwNCj4gKyAgICAgIEJvb3RPcmRlciwNCj4g KyAgICAgICZCb290T3JkZXJTaXplDQo+ICsgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gQWRqdXN0IHRoZSBudW1iZXIgb2YgYm9vdCBvcHRpb25zLg0KPiArICAvLw0KPiAr ICBTdGF0dXMgPSBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgIEwiQm9v dE9yZGVyIiwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8DQo+ IEVGSV9WQVJJQUJMRV9SVU5USU1FX0FDQ0VTUyB8IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUs DQo+ICsgICAgICAgICAgICAgICAgICBCb290T3JkZXJTaXplLA0KPiArICAgICAgICAgICAgICAg ICAgQm9vdE9yZGVyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICAvLw0KPiArICAvLyBT aHJpbmtpbmcgdmFyaWFibGUgd2l0aCBleGlzdGluZyB2YXJpYWJsZSBpbXBsZW1lbnRhdGlvbiBz aG91bGRuJ3QgZmFpbC4NCj4gKyAgLy8NCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsN Cj4gKyAgRnJlZVBvb2wgKEJvb3RPcmRlcik7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4g K30NCj4gKw0KPiArLyoqDQo+ICsgIEZpbmQgYWxsIGxlZ2FjeSBib290IG9wdGlvbiBieSBkZXZp Y2UgdHlwZS4NCj4gKw0KPiArICBAcGFyYW0gQm9vdE9yZGVyICAgICAgIFRoZSBib290IG9yZGVy IGFycmF5Lg0KPiArICBAcGFyYW0gQm9vdE9wdGlvbk51bSAgIFRoZSBudW1iZXIgb2YgYm9vdCBv cHRpb24uDQo+ICsgIEBwYXJhbSBEZXZUeXBlICAgICAgICAgRGV2aWNlIHR5cGUuDQo+ICsgIEBw YXJhbSBEZXZOYW1lICAgICAgICAgRGV2aWNlIG5hbWUuDQo+ICsgIEBwYXJhbSBBdHRyaWJ1dGUg ICAgICAgVGhlIGJvb3Qgb3B0aW9uIGF0dHJpYnV0ZS4NCj4gKyAgQHBhcmFtIEJic0luZGV4ICAg ICAgICBUaGUgQkJTIHRhYmxlIGluZGV4Lg0KPiArICBAcGFyYW0gT3B0aW9uTnVtYmVyICAgIFRo ZSBib290IG9wdGlvbiBpbmRleC4NCj4gKw0KPiArICBAcmV0dmFsIFRSVUUgICAgICAgICAgIFRo ZSBMZWdhY3kgYm9vdCBvcHRpb24gaXMgZm91bmQuDQo+ICsgIEByZXR2YWwgRkFMU0UgICAgICAg ICAgVGhlIGxlZ2FjeSBib290IG9wdGlvbiBpcyBub3QgZm91bmQuDQo+ICsNCj4gKyoqLw0KPiAr Qk9PTEVBTg0KPiArQmRzRmluZExlZ2FjeUJvb3RPcHRpb25CeURldlR5cGVBbmROYW1lICgNCj4g KyAgSU4gVUlOVDE2ICAgICAgICAgICAgICAgICAqQm9vdE9yZGVyLA0KPiArICBJTiBVSU5UTiAg ICAgICAgICAgICAgICAgIEJvb3RPcHRpb25OdW0sDQo+ICsgIElOIFVJTlQxNiAgICAgICAgICAg ICAgICAgRGV2VHlwZSwNCj4gKyAgSU4gQ0hBUjE2ICAgICAgICAgICAgICAgICAqRGV2TmFtZSwN Cj4gKyAgT1VUIFVJTlQzMiAgICAgICAgICAgICAgICAqQXR0cmlidXRlLA0KPiArICBPVVQgVUlO VDE2ICAgICAgICAgICAgICAgICpCYnNJbmRleCwNCj4gKyAgT1VUIFVJTlQxNiAgICAgICAgICAg ICAgICAqT3B0aW9uTnVtYmVyDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgIEluZGV4Ow0K PiArICBDSEFSMTYgICAgQm9vdE9wdGlvbls5XTsNCj4gKyAgVUlOVE4gICAgIEJvb3RPcHRpb25T aXplOw0KPiArICBVSU5UOCAgICAgKkJvb3RPcHRpb25WYXI7DQo+ICsgIEJCU19UQUJMRSAqQmJz RW50cnk7DQo+ICsgIEJPT0xFQU4gICBGb3VuZDsNCj4gKw0KPiArICBCYnNFbnRyeSAgPSBOVUxM Ow0KPiArICBGb3VuZCAgICAgPSBGQUxTRTsNCj4gKw0KPiArICBpZiAoTlVMTCA9PSBCb290T3Jk ZXIpIHsNCj4gKyAgICByZXR1cm4gRm91bmQ7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBMb29wIGFsbCBib290IG9wdGlvbiBmcm9tIHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsgIGZvciAo SW5kZXggPSAwOyBJbmRleCA8IEJvb3RPcHRpb25OdW07IEluZGV4KyspIHsNCj4gKyAgICBVbmlj b2RlU1ByaW50IChCb290T3B0aW9uLCBzaXplb2YgKEJvb3RPcHRpb24pLCBMIkJvb3QlMDR4Iiwg KFVJTlROKQ0KPiBCb290T3JkZXJbSW5kZXhdKTsNCj4gKyAgICBCb290T3B0aW9uVmFyID0gQmRz TGliR2V0VmFyaWFibGVBbmRTaXplICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBCb290T3B0 aW9uLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgICAgICZCb290T3B0aW9uU2l6ZQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICk7DQo+ICsgICAgaWYgKE5VTEwgPT0gQm9vdE9wdGlvblZhcikgew0KPiArICAg ICAgY29udGludWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTa2lwIE5v bi1sZWdhY3kgYm9vdCBvcHRpb24NCj4gKyAgICAvLw0KPiArICAgIGlmICghQmRzSXNMZWdhY3lC b290T3B0aW9uIChCb290T3B0aW9uVmFyLCAmQmJzRW50cnksIEJic0luZGV4KSkgew0KPiArICAg ICAgRnJlZVBvb2wgKEJvb3RPcHRpb25WYXIpOw0KPiArICAgICAgY29udGludWU7DQo+ICsgICAg fQ0KPiArDQo+ICsgICAgaWYgKA0KPiArICAgICAgICAoQmJzRW50cnktPkRldmljZVR5cGUgIT0g RGV2VHlwZSkgfHwNCj4gKyAgICAgICAgKFN0ckNtcCAoRGV2TmFtZSwgKENIQVIxNiopKEJvb3RP cHRpb25WYXIgKyBzaXplb2YgKFVJTlQzMikgKw0KPiBzaXplb2YgKFVJTlQxNikpKSAhPSAwKQ0K PiArICAgICAgICkgew0KPiArICAgICAgRnJlZVBvb2wgKEJvb3RPcHRpb25WYXIpOw0KPiArICAg ICAgY29udGludWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgKkF0dHJpYnV0ZSAgICA9ICooVUlO VDMyICopIEJvb3RPcHRpb25WYXI7DQo+ICsgICAgKk9wdGlvbk51bWJlciA9IEJvb3RPcmRlcltJ bmRleF07DQo+ICsgICAgRm91bmQgICAgICAgICA9IFRSVUU7DQo+ICsgICAgRnJlZVBvb2wgKEJv b3RPcHRpb25WYXIpOw0KPiArICAgIGJyZWFrOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEZv dW5kOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQ3JlYXRlIGEgbGVnYWN5IGJvb3Qgb3B0aW9u Lg0KPiArDQo+ICsgIEBwYXJhbSBCYnNJdGVtICAgICAgICAgVGhlIEJCUyBUYWJsZSBlbnRyeS4N Cj4gKyAgQHBhcmFtIEluZGV4ICAgICAgICAgICBJbmRleCBvZiB0aGUgc3BlY2lmaWVkIGVudHJ5 IGluIEJCUyB0YWJsZS4NCj4gKyAgQHBhcmFtIEJvb3RPcmRlckxpc3QgICBUaGUgYm9vdCBvcmRl ciBsaXN0Lg0KPiArICBAcGFyYW0gQm9vdE9yZGVyTGlzdFNpemUgVGhlIHNpemUgb2YgYm9vdCBv cmRlciBsaXN0Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRSAgTm8gZW5v dWdoIG1lbW9yeS4NCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICBUaGUgZnVuY3Rp b24gY29tcGxldGUgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dXJuIE90aGVyIHZhbHVlIGlmIHRo ZSBsZWdhY3kgYm9vdCBvcHRpb24gaXMgbm90IGNyZWF0ZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArQmRzQ3JlYXRlT25lTGVnYWN5Qm9vdE9wdGlvbiAoDQo+ICsgIElOIEJCU19U QUJMRSAgICAgICAgICAgICAgKkJic0l0ZW0sDQo+ICsgIElOIFVJTlROICAgICAgICAgICAgICAg ICAgSW5kZXgsDQo+ICsgIElOIE9VVCBVSU5UMTYgICAgICAgICAgICAgKipCb290T3JkZXJMaXN0 LA0KPiArICBJTiBPVVQgVUlOVE4gICAgICAgICAgICAgICpCb290T3JkZXJMaXN0U2l6ZQ0KPiAr ICApDQo+ICt7DQo+ICsgIEJCU19CQlNfREVWSUNFX1BBVEggICAgICAgQmJzRGV2UGF0aE5vZGU7 DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfREVWSUNF X1BBVEhfUFJPVE9DT0wgICpEZXZQYXRoOw0KPiArDQo+ICsgIERldlBhdGggICAgICAgICAgICAg ICAgICAgICAgID0gTlVMTDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDcmVhdGUgZGV2aWNlIHBh dGggbm9kZS4NCj4gKyAgLy8NCj4gKyAgQmJzRGV2UGF0aE5vZGUuSGVhZGVyLlR5cGUgICAgPSBC QlNfREVWSUNFX1BBVEg7DQo+ICsgIEJic0RldlBhdGhOb2RlLkhlYWRlci5TdWJUeXBlID0gQkJT X0JCU19EUDsNCj4gKyAgU2V0RGV2aWNlUGF0aE5vZGVMZW5ndGggKCZCYnNEZXZQYXRoTm9kZS5I ZWFkZXIsIHNpemVvZg0KPiAoQkJTX0JCU19ERVZJQ0VfUEFUSCkpOw0KPiArICBCYnNEZXZQYXRo Tm9kZS5EZXZpY2VUeXBlID0gQmJzSXRlbS0+RGV2aWNlVHlwZTsNCj4gKyAgQ29weU1lbSAoJkJi c0RldlBhdGhOb2RlLlN0YXR1c0ZsYWcsICZCYnNJdGVtLT5TdGF0dXNGbGFncywgc2l6ZW9mDQo+ IChVSU5UMTYpKTsNCj4gKw0KPiArICBEZXZQYXRoID0gQXBwZW5kRGV2aWNlUGF0aE5vZGUgKA0K PiArICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAoRUZJX0RFVklDRV9QQVRI X1BST1RPQ09MICopICZCYnNEZXZQYXRoTm9kZQ0KPiArICAgICAgICAgICAgICApOw0KPiArICBp ZiAoTlVMTCA9PSBEZXZQYXRoKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VT Ow0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gQmRzQ3JlYXRlTGVnYWN5Qm9vdE9wdGlvbiAo DQo+ICsgICAgICAgICAgICBCYnNJdGVtLA0KPiArICAgICAgICAgICAgRGV2UGF0aCwNCj4gKyAg ICAgICAgICAgIEluZGV4LA0KPiArICAgICAgICAgICAgQm9vdE9yZGVyTGlzdCwNCj4gKyAgICAg ICAgICAgIEJvb3RPcmRlckxpc3RTaXplDQo+ICsgICAgICAgICAgICApOw0KPiArICBCYnNJdGVt LT5Cb290UHJpb3JpdHkgPSAweDAwOw0KPiArDQo+ICsgIEZyZWVQb29sIChEZXZQYXRoKTsNCj4g Kw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQWRkIHRoZSBs ZWdhY3kgYm9vdCBvcHRpb25zIGZyb20gQkJTIHRhYmxlIGlmIHRoZXkgZG8gbm90IGV4aXN0Lg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgVGhlIGJvb3Qgb3B0aW9ucyBh cmUgYWRkZWQgc3VjY2Vzc2Z1bGx5DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg b3IgdGhleSBhcmUgYWxyZWFkeSBpbiBib290IG9wdGlvbnMuDQo+ICsgIEByZXR2YWwgRUZJX05P VF9GT1VORCAgICAgICAgTm8gbGVnYWN5IGJvb3Qgb3B0aW9ucyBpcyBmb3VuZC4NCj4gKyAgQHJl dHZhbCBFRklfT1VUX09GX1JFU09VUkNFICBObyBlbm91Z2ggbWVtb3J5Lg0KPiArICBAcmV0dXJu IE90aGVyIHZhbHVlICAgICAgICAgIExlZ2FjeUJvb3Qgb3B0aW9ucyBhcmUgbm90IGFkZGVkLg0K PiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0FkZE5vbkV4aXN0aW5nTGVn YWN5Qm9vdE9wdGlvbnMgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDE2ICAg ICAgICAgICAgICAgICAgICAqQm9vdE9yZGVyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgIEJvb3RPcmRlclNpemU7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVz Ow0KPiArICBDSEFSMTYgICAgICAgICAgICAgICAgICAgIERlc2NbMTAwXTsNCj4gKyAgVUlOVDE2 ICAgICAgICAgICAgICAgICAgICBIZGRDb3VudDsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAg ICAgICBCYnNDb3VudDsNCj4gKyAgSEREX0lORk8gICAgICAgICAgICAgICAgICAqTG9jYWxIZGRJ bmZvOw0KPiArICBCQlNfVEFCTEUgICAgICAgICAgICAgICAgICpMb2NhbEJic1RhYmxlOw0KPiAr ICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIEJic0luZGV4Ow0KPiArICBFRklfTEVHQUNZX0JJ T1NfUFJPVE9DT0wgICpMZWdhY3lCaW9zOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAg IEluZGV4Ow0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgIEF0dHJpYnV0ZTsNCj4gKyAg VUlOVDE2ICAgICAgICAgICAgICAgICAgICBPcHRpb25OdW1iZXI7DQo+ICsgIEJPT0xFQU4gICAg ICAgICAgICAgICAgICAgRXhpc3Q7DQo+ICsNCj4gKyAgSGRkQ291bnQgICAgICA9IDA7DQo+ICsg IEJic0NvdW50ICAgICAgPSAwOw0KPiArICBMb2NhbEhkZEluZm8gID0gTlVMTDsNCj4gKyAgTG9j YWxCYnNUYWJsZSA9IE5VTEw7DQo+ICsNCj4gKyAgU3RhdHVzICAgICAgICA9IGdCUy0+TG9jYXRl UHJvdG9jb2wgKCZnRWZpTGVnYWN5Qmlvc1Byb3RvY29sR3VpZCwgTlVMTCwNCj4gKFZPSUQgKiop ICZMZWdhY3lCaW9zKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJl dHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBMZWdhY3lCaW9zLT5HZXRCYnNJbmZvICgN Cj4gKyAgICAgICAgICAgICAgICBMZWdhY3lCaW9zLA0KPiArICAgICAgICAgICAgICAgICZIZGRD b3VudCwNCj4gKyAgICAgICAgICAgICAgICAmTG9jYWxIZGRJbmZvLA0KPiArICAgICAgICAgICAg ICAgICZCYnNDb3VudCwNCj4gKyAgICAgICAgICAgICAgICAmTG9jYWxCYnNUYWJsZQ0KPiArICAg ICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgQm9vdE9yZGVyID0gQmRzTGliR2V0VmFyaWFibGVB bmRTaXplICgNCj4gKyAgICAgICAgICAgICAgICBMIkJvb3RPcmRlciIsDQo+ICsgICAgICAgICAg ICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgJkJvb3RP cmRlclNpemUNCj4gKyAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoQm9vdE9yZGVyID09IE5V TEwpIHsNCj4gKyAgICBCb290T3JkZXJTaXplID0gMDsNCj4gKyAgfQ0KPiArDQo+ICsgIGZvciAo SW5kZXggPSAwOyBJbmRleCA8IEJic0NvdW50OyBJbmRleCsrKSB7DQo+ICsgICAgaWYgKChMb2Nh bEJic1RhYmxlW0luZGV4XS5Cb290UHJpb3JpdHkgPT0gQkJTX0lHTk9SRV9FTlRSWSkgfHwNCj4g KyAgICAgICAgKExvY2FsQmJzVGFibGVbSW5kZXhdLkJvb3RQcmlvcml0eSA9PSBCQlNfRE9fTk9U X0JPT1RfRlJPTSkNCj4gKyAgICAgICAgKSB7DQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAgICB9 DQo+ICsNCj4gKyAgICBCZHNCdWlsZExlZ2FjeURldk5hbWVTdHJpbmcgKCZMb2NhbEJic1RhYmxl W0luZGV4XSwgSW5kZXgsIHNpemVvZg0KPiAoRGVzYyksIERlc2MpOw0KPiArDQo+ICsgICAgRXhp c3QgPSBCZHNGaW5kTGVnYWN5Qm9vdE9wdGlvbkJ5RGV2VHlwZUFuZE5hbWUgKA0KPiArICAgICAg ICAgICAgICBCb290T3JkZXIsDQo+ICsgICAgICAgICAgICAgIEJvb3RPcmRlclNpemUgLyBzaXpl b2YgKFVJTlQxNiksDQo+ICsgICAgICAgICAgICAgIExvY2FsQmJzVGFibGVbSW5kZXhdLkRldmlj ZVR5cGUsDQo+ICsgICAgICAgICAgICAgIERlc2MsDQo+ICsgICAgICAgICAgICAgICZBdHRyaWJ1 dGUsDQo+ICsgICAgICAgICAgICAgICZCYnNJbmRleCwNCj4gKyAgICAgICAgICAgICAgJk9wdGlv bk51bWJlcg0KPiArICAgICAgICAgICAgICApOw0KPiArICAgIGlmICghRXhpc3QpIHsNCj4gKyAg ICAgIC8vDQo+ICsgICAgICAvLyBOb3QgZm91bmQgc3VjaCB0eXBlIG9mIGxlZ2FjeSBkZXZpY2Ug aW4gYm9vdCBvcHRpb25zIG9yIHdlIGZvdW5kIGJ1dA0KPiBpdCdzIGRpc2FibGVkDQo+ICsgICAg ICAvLyBzbyB3ZSBoYXZlIHRvIGNyZWF0ZSBvbmUgYW5kIHB1dCBpdCB0byB0aGUgdGFpbCBvZiBi b290IG9yZGVyIGxpc3QNCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdGF0dXMgPSBCZHNDcmVhdGVP bmVMZWdhY3lCb290T3B0aW9uICgNCj4gKyAgICAgICAgICAgICAgICAmTG9jYWxCYnNUYWJsZVtJ bmRleF0sDQo+ICsgICAgICAgICAgICAgICAgSW5kZXgsDQo+ICsgICAgICAgICAgICAgICAgJkJv b3RPcmRlciwNCj4gKyAgICAgICAgICAgICAgICAmQm9vdE9yZGVyU2l6ZQ0KPiArICAgICAgICAg ICAgICAgICk7DQo+ICsgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAg ICBBU1NFUlQgKEJvb3RPcmRlciAhPSBOVUxMKTsNCj4gKyAgICAgICAgQmJzSW5kZXggICAgID0g SW5kZXg7DQo+ICsgICAgICAgIE9wdGlvbk51bWJlciA9IEJvb3RPcmRlcltCb290T3JkZXJTaXpl IC8gc2l6ZW9mIChVSU5UMTYpIC0gMV07DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsg ICAgQVNTRVJUIChCYnNJbmRleCA9PSBJbmRleCk7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMg PSBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgIEwiQm9vdE9yZGVyIiwN Cj4gKyAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8DQo+IEVGSV9WQVJJ QUJMRV9SVU5USU1FX0FDQ0VTUyB8IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUsDQo+ICsgICAg ICAgICAgICAgICAgICBCb290T3JkZXJTaXplLA0KPiArICAgICAgICAgICAgICAgICAgQm9vdE9y ZGVyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoQm9vdE9yZGVyICE9IE5VTEwp IHsNCj4gKyAgICBGcmVlUG9vbCAoQm9vdE9yZGVyKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVy biBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBGaWxsIHRoZSBkZXZpY2Ugb3JkZXIg YnVmZmVyLg0KPiArDQo+ICsgIEBwYXJhbSBCYnNUYWJsZSAgICAgICAgVGhlIEJCUyB0YWJsZS4N Cj4gKyAgQHBhcmFtIEJic1R5cGUgICAgICAgICBUaGUgQkJTIFR5cGUuDQo+ICsgIEBwYXJhbSBC YnNDb3VudCAgICAgICAgVGhlIEJCUyBDb3VudC4NCj4gKyAgQHBhcmFtIEJ1ZiAgICAgICAgICAg ICBkZXZpY2Ugb3JkZXIgYnVmZmVyLg0KPiArDQo+ICsgIEByZXR1cm4gVGhlIGRldmljZSBvcmRl ciBidWZmZXIuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDE2ICoNCj4gK0Jkc0ZpbGxEZXZPcmRlckJ1 ZiAoDQo+ICsgIElOIEJCU19UQUJMRSAgICAgICAgICAgICAgICAgICAgKkJic1RhYmxlLA0KPiAr ICBJTiBCQlNfVFlQRSAgICAgICAgICAgICAgICAgICAgIEJic1R5cGUsDQo+ICsgIElOIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgQmJzQ291bnQsDQo+ICsgIE9VVCBVSU5UMTYgICAgICAg ICAgICAgICAgICAgICAgKkJ1Zg0KPiArICApDQo+ICt7DQo+ICsgIFVJTlROIEluZGV4Ow0KPiAr DQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEJic0NvdW50OyBJbmRleCsrKSB7DQo+ICsg ICAgaWYgKEJic1RhYmxlW0luZGV4XS5Cb290UHJpb3JpdHkgPT0gQkJTX0lHTk9SRV9FTlRSWSkg ew0KPiArICAgICAgY29udGludWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKEJic1RhYmxl W0luZGV4XS5EZXZpY2VUeXBlICE9IEJic1R5cGUpIHsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiAr ICAgIH0NCj4gKw0KPiArICAgICpCdWYgPSAoVUlOVDE2KSAoSW5kZXggJiAweEZGKTsNCj4gKyAg ICBCdWYrKzsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBCdWY7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBDcmVhdGUgdGhlIGRldmljZSBvcmRlciBidWZmZXIuDQo+ICsNCj4gKyAgQHBhcmFt IEJic1RhYmxlICAgICAgICBUaGUgQkJTIHRhYmxlLg0KPiArICBAcGFyYW0gQmJzQ291bnQgICAg ICAgIFRoZSBCQlMgQ291bnQuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTICAgICAgICAg ICAgIFRoZSBidWZmZXIgaXMgY3JlYXRlZCBhbmQgdGhlIEVGSSB2YXJpYWJsZQ0KPiBuYW1lZA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVkFSX0xFR0FDWV9ERVZfT1JERVIg YW5kDQo+IGdFZmlMZWdhY3lEZXZPcmRlclZhcmlhYmxlR3VpZCBpcw0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2V0IGNvcnJlY3RseS4NCj4gKyAgQHJldHZhbCBFRklfT1VU X09GX1JFU09VUkNFUyAgIE1lbW1vcnkgb3Igc3RvcmFnZSBpcyBub3QgZW5vdWdoLg0KPiArICBA cmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgRmFpbCB0byBhZGQgdGhlIGRldmljZSBvcmRl ciBpbnRvIEVGSSB2YXJpYWJsZQ0KPiBmYWlsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBiZWNhdXNlIG9mIGhhcmR3YXJlIGVycm9yLg0KPiArKiovDQo+ICtFRklfU1RBVFVT DQo+ICtCZHNDcmVhdGVEZXZPcmRlciAoDQo+ICsgIElOIEJCU19UQUJMRSAgICAgICAgICAgICAg ICAgICpCYnNUYWJsZSwNCj4gKyAgSU4gVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgQmJzQ291 bnQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7 DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBGRENvdW50Ow0KPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgSERDb3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgIENEQ291bnQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBORVRDb3Vu dDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEJFVkNvdW50Ow0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgVG90YWxTaXplOw0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgSGVhZGVyU2l6ZTsNCj4gKyAgTEVHQUNZX0RFVl9PUkRFUl9FTlRSWSAgICAg ICpEZXZPcmRlcjsNCj4gKyAgTEVHQUNZX0RFVl9PUkRFUl9FTlRSWSAgICAgICpEZXZPcmRlclB0 cjsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiArICBG RENvdW50ICAgICA9IDA7DQo+ICsgIEhEQ291bnQgICAgID0gMDsNCj4gKyAgQ0RDb3VudCAgICAg PSAwOw0KPiArICBORVRDb3VudCAgICA9IDA7DQo+ICsgIEJFVkNvdW50ICAgID0gMDsNCj4gKyAg VG90YWxTaXplICAgPSAwOw0KPiArICBIZWFkZXJTaXplICA9IHNpemVvZiAoQkJTX1RZUEUpICsg c2l6ZW9mIChVSU5UMTYpOw0KPiArICBEZXZPcmRlciAgICA9IE5VTEw7DQo+ICsgIFN0YXR1cyAg ICAgID0gRUZJX1NVQ0NFU1M7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ291bnQgYWxsIGJvb3Qg ZGV2aWNlcw0KPiArICAvLw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBCYnNDb3VudDsg SW5kZXgrKykgew0KPiArICAgIGlmIChCYnNUYWJsZVtJbmRleF0uQm9vdFByaW9yaXR5ID09IEJC U19JR05PUkVfRU5UUlkpIHsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiAr ICAgIHN3aXRjaCAoQmJzVGFibGVbSW5kZXhdLkRldmljZVR5cGUpIHsNCj4gKyAgICBjYXNlIEJC U19GTE9QUFk6DQo+ICsgICAgICBGRENvdW50Kys7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiAr ICAgIGNhc2UgQkJTX0hBUkRESVNLOg0KPiArICAgICAgSERDb3VudCsrOw0KPiArICAgICAgYnJl YWs7DQo+ICsNCj4gKyAgICBjYXNlIEJCU19DRFJPTToNCj4gKyAgICAgIENEQ291bnQrKzsNCj4g KyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBCQlNfRU1CRURfTkVUV09SSzoNCj4gKyAg ICAgIE5FVENvdW50Kys7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgQkJTX0JF Vl9ERVZJQ0U6DQo+ICsgICAgICBCRVZDb3VudCsrOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4g KyAgICBkZWZhdWx0Og0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4g KyAgVG90YWxTaXplICs9IChIZWFkZXJTaXplICsgc2l6ZW9mIChVSU5UMTYpICogRkRDb3VudCk7 DQo+ICsgIFRvdGFsU2l6ZSArPSAoSGVhZGVyU2l6ZSArIHNpemVvZiAoVUlOVDE2KSAqIEhEQ291 bnQpOw0KPiArICBUb3RhbFNpemUgKz0gKEhlYWRlclNpemUgKyBzaXplb2YgKFVJTlQxNikgKiBD RENvdW50KTsNCj4gKyAgVG90YWxTaXplICs9IChIZWFkZXJTaXplICsgc2l6ZW9mIChVSU5UMTYp ICogTkVUQ291bnQpOw0KPiArICBUb3RhbFNpemUgKz0gKEhlYWRlclNpemUgKyBzaXplb2YgKFVJ TlQxNikgKiBCRVZDb3VudCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ3JlYXRlIGJ1ZmZlciB0 byBob2xkIGFsbCBib290IGRldmljZSBvcmRlcg0KPiArICAvLw0KPiArICBEZXZPcmRlciA9IEFs bG9jYXRlWmVyb1Bvb2wgKFRvdGFsU2l6ZSk7DQo+ICsgIGlmIChOVUxMID09IERldk9yZGVyKSB7 DQo+ICsgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPiArICB9DQo+ICsgIERldk9y ZGVyUHRyICAgICAgICAgID0gRGV2T3JkZXI7DQo+ICsNCj4gKyAgRGV2T3JkZXJQdHItPkJic1R5 cGUgPSBCQlNfRkxPUFBZOw0KPiArICBEZXZPcmRlclB0ci0+TGVuZ3RoICA9IChVSU5UMTYpIChz aXplb2YgKERldk9yZGVyUHRyLT5MZW5ndGgpICsNCj4gRkRDb3VudCAqIHNpemVvZiAoVUlOVDE2 KSk7DQo+ICsgIERldk9yZGVyUHRyICAgICAgICAgID0gKExFR0FDWV9ERVZfT1JERVJfRU5UUlkg KikgQmRzRmlsbERldk9yZGVyQnVmDQo+IChCYnNUYWJsZSwgQkJTX0ZMT1BQWSwgQmJzQ291bnQs IERldk9yZGVyUHRyLT5EYXRhKTsNCj4gKw0KPiArICBEZXZPcmRlclB0ci0+QmJzVHlwZSA9IEJC U19IQVJERElTSzsNCj4gKyAgRGV2T3JkZXJQdHItPkxlbmd0aCAgPSAoVUlOVDE2KSAoc2l6ZW9m IChVSU5UMTYpICsgSERDb3VudCAqIHNpemVvZg0KPiAoVUlOVDE2KSk7DQo+ICsgIERldk9yZGVy UHRyICAgICAgICAgID0gKExFR0FDWV9ERVZfT1JERVJfRU5UUlkgKikgQmRzRmlsbERldk9yZGVy QnVmDQo+IChCYnNUYWJsZSwgQkJTX0hBUkRESVNLLCBCYnNDb3VudCwgRGV2T3JkZXJQdHItPkRh dGEpOw0KPiArDQo+ICsgIERldk9yZGVyUHRyLT5CYnNUeXBlID0gQkJTX0NEUk9NOw0KPiArICBE ZXZPcmRlclB0ci0+TGVuZ3RoICA9IChVSU5UMTYpIChzaXplb2YgKFVJTlQxNikgKyBDRENvdW50 ICogc2l6ZW9mDQo+IChVSU5UMTYpKTsNCj4gKyAgRGV2T3JkZXJQdHIgICAgICAgICAgPSAoTEVH QUNZX0RFVl9PUkRFUl9FTlRSWSAqKSBCZHNGaWxsRGV2T3JkZXJCdWYNCj4gKEJic1RhYmxlLCBC QlNfQ0RST00sIEJic0NvdW50LCBEZXZPcmRlclB0ci0+RGF0YSk7DQo+ICsNCj4gKyAgRGV2T3Jk ZXJQdHItPkJic1R5cGUgPSBCQlNfRU1CRURfTkVUV09SSzsNCj4gKyAgRGV2T3JkZXJQdHItPkxl bmd0aCAgPSAoVUlOVDE2KSAoc2l6ZW9mIChVSU5UMTYpICsgTkVUQ291bnQgKiBzaXplb2YNCj4g KFVJTlQxNikpOw0KPiArICBEZXZPcmRlclB0ciAgICAgICAgICA9IChMRUdBQ1lfREVWX09SREVS X0VOVFJZICopIEJkc0ZpbGxEZXZPcmRlckJ1Zg0KPiAoQmJzVGFibGUsIEJCU19FTUJFRF9ORVRX T1JLLCBCYnNDb3VudCwgRGV2T3JkZXJQdHItPkRhdGEpOw0KPiArDQo+ICsgIERldk9yZGVyUHRy LT5CYnNUeXBlID0gQkJTX0JFVl9ERVZJQ0U7DQo+ICsgIERldk9yZGVyUHRyLT5MZW5ndGggID0g KFVJTlQxNikgKHNpemVvZiAoVUlOVDE2KSArIEJFVkNvdW50ICogc2l6ZW9mDQo+IChVSU5UMTYp KTsNCj4gKyAgRGV2T3JkZXJQdHIgICAgICAgICAgPSAoTEVHQUNZX0RFVl9PUkRFUl9FTlRSWSAq KSBCZHNGaWxsRGV2T3JkZXJCdWYNCj4gKEJic1RhYmxlLCBCQlNfQkVWX0RFVklDRSwgQmJzQ291 bnQsIERldk9yZGVyUHRyLT5EYXRhKTsNCj4gKw0KPiArICBBU1NFUlQgKFRvdGFsU2l6ZSA9PSAo VUlOVE4pICgoVUlOVDggKikgRGV2T3JkZXJQdHIgLSAoVUlOVDggKikNCj4gRGV2T3JkZXIpKTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBTYXZlIGRldmljZSBvcmRlciBmb3IgbGVnYWN5IGJvb3Qg ZGV2aWNlIHRvIHZhcmlhYmxlLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnUlQtPlNldFZhcmlh YmxlICgNCj4gKyAgICAgICAgICAgICAgICAgIFZBUl9MRUdBQ1lfREVWX09SREVSLA0KPiArICAg ICAgICAgICAgICAgICAgJmdFZmlMZWdhY3lEZXZPcmRlclZhcmlhYmxlR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgIEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBFRklfVkFS SUFCTEVfTk9OX1ZPTEFUSUxFLA0KPiArICAgICAgICAgICAgICAgICAgVG90YWxTaXplLA0KPiAr ICAgICAgICAgICAgICAgICAgRGV2T3JkZXINCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsg IEZyZWVQb29sIChEZXZPcmRlcik7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4g Kw0KPiArLyoqDQo+ICsgIEFkZCB0aGUgbGVnYWN5IGJvb3QgZGV2aWNlcyBmcm9tIEJCUyB0YWJs ZSBpbnRvDQo+ICsgIHRoZSBsZWdhY3kgZGV2aWNlIGJvb3Qgb3JkZXIuDQo+ICsNCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGJvb3QgZGV2aWNlcyBhcmUgYWRkZWQgc3Vj Y2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICBUaGUgbGVnYWN5 IGJvb3QgZGV2aWNlcyBhcmUgbm90IGZvdW5kLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVT T1VSQ0VTICBNZW1tb3J5IG9yIHN0b3JhZ2UgaXMgbm90IGVub3VnaC4NCj4gKyAgQHJldHZhbCBF RklfREVWSUNFX0VSUk9SICAgICAgRmFpbCB0byBhZGQgdGhlIGxlZ2FjeSBkZXZpY2UgYm9vdCBv cmRlciBpbnRvDQo+IEVGSSB2YXJpYWJsZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBiZWNhdXNlIG9mIGhhcmR3YXJlIGVycm9yLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ ICtFRklBUEkNCj4gK0Jkc1VwZGF0ZUxlZ2FjeURldk9yZGVyICgNCj4gKyAgVk9JRA0KPiArICAp DQo+ICt7DQo+ICsgIExFR0FDWV9ERVZfT1JERVJfRU5UUlkgICAgICAqRGV2T3JkZXI7DQo+ICsg IExFR0FDWV9ERVZfT1JERVJfRU5UUlkgICAgICAqTmV3RGV2T3JkZXI7DQo+ICsgIExFR0FDWV9E RVZfT1JERVJfRU5UUlkgICAgICAqUHRyOw0KPiArICBMRUdBQ1lfREVWX09SREVSX0VOVFJZICAg ICAgKk5ld1B0cjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIERldk9yZGVyU2l6 ZTsNCj4gKyAgRUZJX0xFR0FDWV9CSU9TX1BST1RPQ09MICAgICpMZWdhY3lCaW9zOw0KPiArICBF RklfU1RBVFVTICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UMTYgICAgICAgICAg ICAgICAgICAgICAgSGRkQ291bnQ7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICBC YnNDb3VudDsNCj4gKyAgSEREX0lORk8gICAgICAgICAgICAgICAgICAgICpMb2NhbEhkZEluZm87 DQo+ICsgIEJCU19UQUJMRSAgICAgICAgICAgICAgICAgICAqTG9jYWxCYnNUYWJsZTsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgSW5kZXgyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgKklk eDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEZEQ291bnQ7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICBIRENvdW50Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgICAgQ0RDb3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIE5FVENv dW50Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgQkVWQ291bnQ7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICBUb3RhbFNpemU7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICBIZWFkZXJTaXplOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAg ICAgKk5ld0ZEUHRyOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgKk5ld0hEUHRy Ow0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgKk5ld0NEUHRyOw0KPiArICBVSU5U MTYgICAgICAgICAgICAgICAgICAgICAgKk5ld05FVFB0cjsNCj4gKyAgVUlOVDE2ICAgICAgICAg ICAgICAgICAgICAgICpOZXdCRVZQdHI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg ICAqTmV3RGV2UHRyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgRkRJbmRleDsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEhESW5kZXg7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICBDREluZGV4Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgTkVUSW5kZXg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBCRVZJbmRl eDsNCj4gKw0KPiArICBJZHggICAgICAgICAgID0gTlVMTDsNCj4gKyAgRkRDb3VudCAgICAgICA9 IDA7DQo+ICsgIEhEQ291bnQgICAgICAgPSAwOw0KPiArICBDRENvdW50ICAgICAgID0gMDsNCj4g KyAgTkVUQ291bnQgICAgICA9IDA7DQo+ICsgIEJFVkNvdW50ICAgICAgPSAwOw0KPiArICBUb3Rh bFNpemUgICAgID0gMDsNCj4gKyAgSGVhZGVyU2l6ZSAgICA9IHNpemVvZiAoQkJTX1RZUEUpICsg c2l6ZW9mIChVSU5UMTYpOw0KPiArICBGREluZGV4ICAgICAgID0gMDsNCj4gKyAgSERJbmRleCAg ICAgICA9IDA7DQo+ICsgIENESW5kZXggICAgICAgPSAwOw0KPiArICBORVRJbmRleCAgICAgID0g MDsNCj4gKyAgQkVWSW5kZXggICAgICA9IDA7DQo+ICsgIE5ld0RldlB0ciAgICAgPSBOVUxMOw0K PiArDQo+ICsgIFN0YXR1cyAgICAgICAgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaUxlZ2Fj eUJpb3NQcm90b2NvbEd1aWQsIE5VTEwsDQo+IChWT0lEICoqKSAmTGVnYWN5Qmlvcyk7DQo+ICsg IGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9 DQo+ICsNCj4gKyAgU3RhdHVzID0gTGVnYWN5Qmlvcy0+R2V0QmJzSW5mbyAoDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgTGVnYWN5QmlvcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAmSGRkQ291bnQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgJkxvY2FsSGRkSW5mbywN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmQmJzQ291bnQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgJkxvY2FsQmJzVGFibGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsN Cj4gKyAgfQ0KPiArDQo+ICsgIERldk9yZGVyID0gQmRzTGliR2V0VmFyaWFibGVBbmRTaXplICgN Cj4gKyAgICAgICAgICAgICAgIFZBUl9MRUdBQ1lfREVWX09SREVSLA0KPiArICAgICAgICAgICAg ICAgJmdFZmlMZWdhY3lEZXZPcmRlclZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICZE ZXZPcmRlclNpemUNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChOVUxMID09IERldk9y ZGVyKSB7DQo+ICsgICAgcmV0dXJuIEJkc0NyZWF0ZURldk9yZGVyIChMb2NhbEJic1RhYmxlLCBC YnNDb3VudCk7DQo+ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3Qgd2UgZmlndXJlIG91dCBo b3cgbWFueSBib290IGRldmljZXMgd2l0aCBzYW1lIGRldmljZSB0eXBlDQo+IHJlc3BlY3RpdmVs eQ0KPiArICAvLw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBCYnNDb3VudDsgSW5kZXgr Kykgew0KPiArICAgIGlmICgoTG9jYWxCYnNUYWJsZVtJbmRleF0uQm9vdFByaW9yaXR5ID09IEJC U19JR05PUkVfRU5UUlkpIHx8DQo+ICsgICAgICAgIChMb2NhbEJic1RhYmxlW0luZGV4XS5Cb290 UHJpb3JpdHkgPT0gQkJTX0RPX05PVF9CT09UX0ZST00pDQo+ICsgICAgICAgICkgew0KPiArICAg ICAgY29udGludWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgc3dpdGNoIChMb2NhbEJic1RhYmxl W0luZGV4XS5EZXZpY2VUeXBlKSB7DQo+ICsgICAgY2FzZSBCQlNfRkxPUFBZOg0KPiArICAgICAg RkRDb3VudCsrOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEJCU19IQVJERElT SzoNCj4gKyAgICAgIEhEQ291bnQrKzsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2Fz ZSBCQlNfQ0RST006DQo+ICsgICAgICBDRENvdW50Kys7DQo+ICsgICAgICBicmVhazsNCj4gKw0K PiArICAgIGNhc2UgQkJTX0VNQkVEX05FVFdPUks6DQo+ICsgICAgICBORVRDb3VudCsrOw0KPiAr ICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEJCU19CRVZfREVWSUNFOg0KPiArICAgICAg QkVWQ291bnQrKzsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgZGVmYXVsdDoNCj4gKyAg ICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIFRvdGFsU2l6ZSArPSAoSGVh ZGVyU2l6ZSArIEZEQ291bnQgKiBzaXplb2YgKFVJTlQxNikpOw0KPiArICBUb3RhbFNpemUgKz0g KEhlYWRlclNpemUgKyBIRENvdW50ICogc2l6ZW9mIChVSU5UMTYpKTsNCj4gKyAgVG90YWxTaXpl ICs9IChIZWFkZXJTaXplICsgQ0RDb3VudCAqIHNpemVvZiAoVUlOVDE2KSk7DQo+ICsgIFRvdGFs U2l6ZSArPSAoSGVhZGVyU2l6ZSArIE5FVENvdW50ICogc2l6ZW9mIChVSU5UMTYpKTsNCj4gKyAg VG90YWxTaXplICs9IChIZWFkZXJTaXplICsgQkVWQ291bnQgKiBzaXplb2YgKFVJTlQxNikpOw0K PiArDQo+ICsgIE5ld0Rldk9yZGVyID0gQWxsb2NhdGVaZXJvUG9vbCAoVG90YWxTaXplKTsNCj4g KyAgaWYgKE5VTEwgPT0gTmV3RGV2T3JkZXIpIHsNCj4gKyAgICByZXR1cm4gRUZJX09VVF9PRl9S RVNPVVJDRVM7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gY29weSBG RA0KPiArICAvLw0KPiArICBQdHIgICAgICAgICAgICAgPSBEZXZPcmRlcjsNCj4gKyAgTmV3UHRy ICAgICAgICAgID0gTmV3RGV2T3JkZXI7DQo+ICsgIE5ld1B0ci0+QmJzVHlwZSA9IFB0ci0+QmJz VHlwZTsNCj4gKyAgTmV3UHRyLT5MZW5ndGggID0gKFVJTlQxNikgKHNpemVvZiAoVUlOVDE2KSAr IEZEQ291bnQgKiBzaXplb2YgKFVJTlQxNikpOw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXgg PCBQdHItPkxlbmd0aCAvIHNpemVvZiAoVUlOVDE2KSAtIDE7IEluZGV4KyspIHsNCj4gKyAgICBp ZiAoTG9jYWxCYnNUYWJsZVtQdHItPkRhdGFbSW5kZXhdICYgMHhGRl0uQm9vdFByaW9yaXR5ID09 DQo+IEJCU19JR05PUkVfRU5UUlkgfHwNCj4gKyAgICAgICAgTG9jYWxCYnNUYWJsZVtQdHItPkRh dGFbSW5kZXhdICYgMHhGRl0uQm9vdFByaW9yaXR5ID09DQo+IEJCU19ET19OT1RfQk9PVF9GUk9N IHx8DQo+ICsgICAgICAgIExvY2FsQmJzVGFibGVbUHRyLT5EYXRhW0luZGV4XSAmIDB4RkZdLkRl dmljZVR5cGUgIT0gQkJTX0ZMT1BQWQ0KPiArICAgICAgICApIHsNCj4gKyAgICAgIGNvbnRpbnVl Ow0KPiArICAgIH0NCj4gKw0KPiArICAgIE5ld1B0ci0+RGF0YVtGREluZGV4XSA9IFB0ci0+RGF0 YVtJbmRleF07DQo+ICsgICAgRkRJbmRleCsrOw0KPiArICB9DQo+ICsgIE5ld0ZEUHRyID0gTmV3 UHRyLT5EYXRhOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIGNvcHkgSEQNCj4gKyAgLy8NCj4gKyAg UHRyICAgICAgICAgICAgID0gKExFR0FDWV9ERVZfT1JERVJfRU5UUlkgKikgKCZQdHItPkRhdGFb UHRyLT5MZW5ndGggLw0KPiBzaXplb2YgKFVJTlQxNikgLSAxXSk7DQo+ICsgIE5ld1B0ciAgICAg ICAgICA9IChMRUdBQ1lfREVWX09SREVSX0VOVFJZICopICgmTmV3UHRyLT5EYXRhW05ld1B0ci0N Cj4gPkxlbmd0aCAvIHNpemVvZiAoVUlOVDE2KSAtMV0pOw0KPiArICBOZXdQdHItPkJic1R5cGUg PSBQdHItPkJic1R5cGU7DQo+ICsgIE5ld1B0ci0+TGVuZ3RoICA9IChVSU5UMTYpIChzaXplb2Yg KFVJTlQxNikgKyBIRENvdW50ICogc2l6ZW9mDQo+IChVSU5UMTYpKTsNCj4gKyAgZm9yIChJbmRl eCA9IDA7IEluZGV4IDwgUHRyLT5MZW5ndGggLyBzaXplb2YgKFVJTlQxNikgLSAxOyBJbmRleCsr KSB7DQo+ICsgICAgaWYgKExvY2FsQmJzVGFibGVbUHRyLT5EYXRhW0luZGV4XSAmIDB4RkZdLkJv b3RQcmlvcml0eSA9PQ0KPiBCQlNfSUdOT1JFX0VOVFJZIHx8DQo+ICsgICAgICAgIExvY2FsQmJz VGFibGVbUHRyLT5EYXRhW0luZGV4XSAmIDB4RkZdLkJvb3RQcmlvcml0eSA9PQ0KPiBCQlNfRE9f Tk9UX0JPT1RfRlJPTSB8fA0KPiArICAgICAgICBMb2NhbEJic1RhYmxlW1B0ci0+RGF0YVtJbmRl eF0gJiAweEZGXS5Cb290UHJpb3JpdHkgPT0NCj4gQkJTX0xPV0VTVF9QUklPUklUWSB8fA0KPiAr ICAgICAgICBMb2NhbEJic1RhYmxlW1B0ci0+RGF0YVtJbmRleF0gJiAweEZGXS5EZXZpY2VUeXBl ICE9IEJCU19IQVJERElTSw0KPiArICAgICAgICApIHsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiAr ICAgIH0NCj4gKw0KPiArICAgIE5ld1B0ci0+RGF0YVtIREluZGV4XSA9IFB0ci0+RGF0YVtJbmRl eF07DQo+ICsgICAgSERJbmRleCsrOw0KPiArICB9DQo+ICsgIE5ld0hEUHRyID0gTmV3UHRyLT5E YXRhOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIGNvcHkgQ0QNCj4gKyAgLy8NCj4gKyAgUHRyICAg ID0gKExFR0FDWV9ERVZfT1JERVJfRU5UUlkgKikgKCZQdHItPkRhdGFbUHRyLT5MZW5ndGggLyBz aXplb2YNCj4gKFVJTlQxNikgLSAxXSk7DQo+ICsgIE5ld1B0ciA9IChMRUdBQ1lfREVWX09SREVS X0VOVFJZICopICgmTmV3UHRyLT5EYXRhW05ld1B0ci0NCj4gPkxlbmd0aCAvIHNpemVvZiAoVUlO VDE2KSAtMV0pOw0KPiArICBOZXdQdHItPkJic1R5cGUgPSBQdHItPkJic1R5cGU7DQo+ICsgIE5l d1B0ci0+TGVuZ3RoICA9IChVSU5UMTYpIChzaXplb2YgKFVJTlQxNikgKyBDRENvdW50ICogc2l6 ZW9mDQo+IChVSU5UMTYpKTsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgUHRyLT5MZW5n dGggLyBzaXplb2YgKFVJTlQxNikgLSAxOyBJbmRleCsrKSB7DQo+ICsgICAgaWYgKExvY2FsQmJz VGFibGVbUHRyLT5EYXRhW0luZGV4XSAmIDB4RkZdLkJvb3RQcmlvcml0eSA9PQ0KPiBCQlNfSUdO T1JFX0VOVFJZIHx8DQo+ICsgICAgICAgIExvY2FsQmJzVGFibGVbUHRyLT5EYXRhW0luZGV4XSAm IDB4RkZdLkJvb3RQcmlvcml0eSA9PQ0KPiBCQlNfRE9fTk9UX0JPT1RfRlJPTSB8fA0KPiArICAg ICAgICBMb2NhbEJic1RhYmxlW1B0ci0+RGF0YVtJbmRleF0gJiAweEZGXS5Cb290UHJpb3JpdHkg PT0NCj4gQkJTX0xPV0VTVF9QUklPUklUWSB8fA0KPiArICAgICAgICBMb2NhbEJic1RhYmxlW1B0 ci0+RGF0YVtJbmRleF0gJiAweEZGXS5EZXZpY2VUeXBlICE9IEJCU19DRFJPTQ0KPiArICAgICAg ICApIHsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiArICAgIE5ld1B0ci0+ RGF0YVtDREluZGV4XSA9IFB0ci0+RGF0YVtJbmRleF07DQo+ICsgICAgQ0RJbmRleCsrOw0KPiAr ICB9DQo+ICsgIE5ld0NEUHRyID0gTmV3UHRyLT5EYXRhOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IGNvcHkgTkVUDQo+ICsgIC8vDQo+ICsgIFB0ciAgICA9IChMRUdBQ1lfREVWX09SREVSX0VOVFJZ ICopICgmUHRyLT5EYXRhW1B0ci0+TGVuZ3RoIC8gc2l6ZW9mDQo+IChVSU5UMTYpIC0gMV0pOw0K PiArICBOZXdQdHIgPSAoTEVHQUNZX0RFVl9PUkRFUl9FTlRSWSAqKSAoJk5ld1B0ci0+RGF0YVtO ZXdQdHItDQo+ID5MZW5ndGggLyBzaXplb2YgKFVJTlQxNikgLTFdKTsNCj4gKyAgTmV3UHRyLT5C YnNUeXBlID0gUHRyLT5CYnNUeXBlOw0KPiArICBOZXdQdHItPkxlbmd0aCAgPSAoVUlOVDE2KSAo c2l6ZW9mIChVSU5UMTYpICsgTkVUQ291bnQgKiBzaXplb2YNCj4gKFVJTlQxNikpOw0KPiArICBm b3IgKEluZGV4ID0gMDsgSW5kZXggPCBQdHItPkxlbmd0aCAvIHNpemVvZiAoVUlOVDE2KSAtIDE7 IEluZGV4KyspIHsNCj4gKyAgICBpZiAoTG9jYWxCYnNUYWJsZVtQdHItPkRhdGFbSW5kZXhdICYg MHhGRl0uQm9vdFByaW9yaXR5ID09DQo+IEJCU19JR05PUkVfRU5UUlkgfHwNCj4gKyAgICAgICAg TG9jYWxCYnNUYWJsZVtQdHItPkRhdGFbSW5kZXhdICYgMHhGRl0uQm9vdFByaW9yaXR5ID09DQo+ IEJCU19ET19OT1RfQk9PVF9GUk9NIHx8DQo+ICsgICAgICAgIExvY2FsQmJzVGFibGVbUHRyLT5E YXRhW0luZGV4XSAmIDB4RkZdLkJvb3RQcmlvcml0eSA9PQ0KPiBCQlNfTE9XRVNUX1BSSU9SSVRZ IHx8DQo+ICsgICAgICAgIExvY2FsQmJzVGFibGVbUHRyLT5EYXRhW0luZGV4XSAmIDB4RkZdLkRl dmljZVR5cGUgIT0NCj4gQkJTX0VNQkVEX05FVFdPUksNCj4gKyAgICAgICAgKSB7DQo+ICsgICAg ICBjb250aW51ZTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBOZXdQdHItPkRhdGFbTkVUSW5kZXhd ID0gUHRyLT5EYXRhW0luZGV4XTsNCj4gKyAgICBORVRJbmRleCsrOw0KPiArICB9DQo+ICsgIE5l d05FVFB0ciA9IE5ld1B0ci0+RGF0YTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBjb3B5IEJFVg0K PiArICAvLw0KPiArICBQdHIgICAgPSAoTEVHQUNZX0RFVl9PUkRFUl9FTlRSWSAqKSAoJlB0ci0+ RGF0YVtQdHItPkxlbmd0aCAvIHNpemVvZg0KPiAoVUlOVDE2KSAtIDFdKTsNCj4gKyAgTmV3UHRy ID0gKExFR0FDWV9ERVZfT1JERVJfRU5UUlkgKikgKCZOZXdQdHItPkRhdGFbTmV3UHRyLQ0KPiA+ TGVuZ3RoIC8gc2l6ZW9mIChVSU5UMTYpIC0xXSk7DQo+ICsgIE5ld1B0ci0+QmJzVHlwZSA9IFB0 ci0+QmJzVHlwZTsNCj4gKyAgTmV3UHRyLT5MZW5ndGggID0gKFVJTlQxNikgKHNpemVvZiAoVUlO VDE2KSArIEJFVkNvdW50ICogc2l6ZW9mDQo+IChVSU5UMTYpKTsNCj4gKyAgZm9yIChJbmRleCA9 IDA7IEluZGV4IDwgUHRyLT5MZW5ndGggLyBzaXplb2YgKFVJTlQxNikgLSAxOyBJbmRleCsrKSB7 DQo+ICsgICAgaWYgKExvY2FsQmJzVGFibGVbUHRyLT5EYXRhW0luZGV4XSAmIDB4RkZdLkJvb3RQ cmlvcml0eSA9PQ0KPiBCQlNfSUdOT1JFX0VOVFJZIHx8DQo+ICsgICAgICAgIExvY2FsQmJzVGFi bGVbUHRyLT5EYXRhW0luZGV4XSAmIDB4RkZdLkJvb3RQcmlvcml0eSA9PQ0KPiBCQlNfRE9fTk9U X0JPT1RfRlJPTSB8fA0KPiArICAgICAgICBMb2NhbEJic1RhYmxlW1B0ci0+RGF0YVtJbmRleF0g JiAweEZGXS5Cb290UHJpb3JpdHkgPT0NCj4gQkJTX0xPV0VTVF9QUklPUklUWSB8fA0KPiArICAg ICAgICBMb2NhbEJic1RhYmxlW1B0ci0+RGF0YVtJbmRleF0gJiAweEZGXS5EZXZpY2VUeXBlICE9 DQo+IEJCU19CRVZfREVWSUNFDQo+ICsgICAgICAgICkgew0KPiArICAgICAgY29udGludWU7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgTmV3UHRyLT5EYXRhW0JFVkluZGV4XSA9IFB0ci0+RGF0YVtJ bmRleF07DQo+ICsgICAgQkVWSW5kZXgrKzsNCj4gKyAgfQ0KPiArICBOZXdCRVZQdHIgPSBOZXdQ dHItPkRhdGE7DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQmJzQ291bnQ7IElu ZGV4KyspIHsNCj4gKyAgICBpZiAoKExvY2FsQmJzVGFibGVbSW5kZXhdLkJvb3RQcmlvcml0eSA9 PSBCQlNfSUdOT1JFX0VOVFJZKSB8fA0KPiArICAgICAgICAoTG9jYWxCYnNUYWJsZVtJbmRleF0u Qm9vdFByaW9yaXR5ID09IEJCU19ET19OT1RfQk9PVF9GUk9NKQ0KPiArICAgICAgICApIHsNCj4g KyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiArICAgIHN3aXRjaCAoTG9jYWxCYnNU YWJsZVtJbmRleF0uRGV2aWNlVHlwZSkgew0KPiArICAgIGNhc2UgQkJTX0ZMT1BQWToNCj4gKyAg ICAgIElkeCAgICAgICA9ICZGREluZGV4Ow0KPiArICAgICAgTmV3RGV2UHRyID0gTmV3RkRQdHI7 DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2UgQkJTX0hBUkRESVNLOg0KPiArICAg ICAgSWR4ICAgICAgID0gJkhESW5kZXg7DQo+ICsgICAgICBOZXdEZXZQdHIgPSBOZXdIRFB0cjsN Cj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBCQlNfQ0RST006DQo+ICsgICAgICBJ ZHggICAgICAgPSAmQ0RJbmRleDsNCj4gKyAgICAgIE5ld0RldlB0ciA9IE5ld0NEUHRyOw0KPiAr ICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEJCU19FTUJFRF9ORVRXT1JLOg0KPiArICAg ICAgSWR4ICAgICAgID0gJk5FVEluZGV4Ow0KPiArICAgICAgTmV3RGV2UHRyID0gTmV3TkVUUHRy Ow0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEJCU19CRVZfREVWSUNFOg0KPiAr ICAgICAgSWR4ICAgICAgID0gJkJFVkluZGV4Ow0KPiArICAgICAgTmV3RGV2UHRyID0gTmV3QkVW UHRyOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgSWR4 ID0gTlVMTDsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgICAvLw0KPiArICAgIC8v IGF0IHRoaXMgcG9pbnQgd2UgaGF2ZSBjb3BpZWQgdGhvc2UgdmFsaWQgaW5kZXhlcyB0byBuZXcg YnVmZmVyDQo+ICsgICAgLy8gYW5kIHdlIHNob3VsZCBjaGVjayBpZiB0aGVyZSBpcyBhbnkgbmV3 IGFwcGVhcmVkIGJvb3QgZGV2aWNlDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoSWR4ICE9IE5VTEwp IHsNCj4gKyAgICAgIGZvciAoSW5kZXgyID0gMDsgSW5kZXgyIDwgKklkeDsgSW5kZXgyKyspIHsN Cj4gKyAgICAgICAgaWYgKChOZXdEZXZQdHJbSW5kZXgyXSAmIDB4RkYpID09IChVSU5UMTYpIElu ZGV4KSB7DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4g Kw0KPiArICAgICAgaWYgKEluZGV4MiA9PSAqSWR4KSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAg ICAgIC8vIEluZGV4MiA9PSAqSWR4IG1lYW5zIHdlIGRpZG4ndCBmaW5kIEluZGV4DQo+ICsgICAg ICAgIC8vIHNvIEluZGV4IGlzIGEgbmV3IGFwcGVhcmVkIGRldmljZSdzIGluZGV4IGluIEJCUyB0 YWJsZQ0KPiArICAgICAgICAvLyBpbnNlcnQgaXQgYmVmb3JlIGRpc2FibGVkIGluZGV4ZXMuDQo+ ICsgICAgICAgIC8vDQo+ICsgICAgICAgIGZvciAoSW5kZXgyID0gMDsgSW5kZXgyIDwgKklkeDsg SW5kZXgyKyspIHsNCj4gKyAgICAgICAgICBpZiAoKE5ld0RldlB0cltJbmRleDJdICYgMHhGRjAw KSA9PSAweEZGMDApIHsNCj4gKyAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICAgIH0NCj4g KyAgICAgICAgfQ0KPiArICAgICAgICBDb3B5TWVtICgmTmV3RGV2UHRyW0luZGV4MiArIDFdLCAm TmV3RGV2UHRyW0luZGV4Ml0sICgqSWR4IC0NCj4gSW5kZXgyKSAqIHNpemVvZiAoVUlOVDE2KSk7 DQo+ICsgICAgICAgIE5ld0RldlB0cltJbmRleDJdID0gKFVJTlQxNikgKEluZGV4ICYgMHhGRik7 DQo+ICsgICAgICAgICgqSWR4KSsrOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiAr DQo+ICsgIEZyZWVQb29sIChEZXZPcmRlcik7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ1JULT5TZXRW YXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICBWQVJfTEVHQUNZX0RFVl9PUkRFUiwNCj4g KyAgICAgICAgICAgICAgICAgICZnRWZpTGVnYWN5RGV2T3JkZXJWYXJpYWJsZUd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4gRUZJ X1ZBUklBQkxFX05PTl9WT0xBVElMRSwNCj4gKyAgICAgICAgICAgICAgICAgIFRvdGFsU2l6ZSwN Cj4gKyAgICAgICAgICAgICAgICAgIE5ld0Rldk9yZGVyDQo+ICsgICAgICAgICAgICAgICAgICAp Ow0KPiArICBGcmVlUG9vbCAoTmV3RGV2T3JkZXIpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7 DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBTZXQgQm9vdCBQcmlvcml0eSBmb3Igc3BlY2lmaWVk IGRldmljZSB0eXBlLg0KPiArDQo+ICsgIEBwYXJhbSBEZXZpY2VUeXBlICAgICAgVGhlIGRldmlj ZSB0eXBlLg0KPiArICBAcGFyYW0gQmJzSW5kZXggICAgICAgIFRoZSBCQlMgaW5kZXggdG8gc2V0 IHRoZSBoaWdoZXN0IHByaW9yaXR5LiBJZ25vcmUNCj4gd2hlbiAtMS4NCj4gKyAgQHBhcmFtIExv Y2FsQmJzVGFibGUgICBUaGUgQkJTIHRhYmxlLg0KPiArICBAcGFyYW0gUHJpb3JpdHkgICAgICAg IFRoZSBwcm9yaXR5IHRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgIFRoZSBmdW5jdGlvbiBjb21wbGV0ZXMgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVG SV9OT1RfRk9VTkQgICAgICAgICBGYWlsZWQgdG8gZmluZCBkZXZpY2UuDQo+ICsgIEByZXR2YWwg RUZJX09VVF9PRl9SRVNPVVJDRVMgIEZhaWxlZCB0byBnZXQgdGhlIGVmaSB2YXJpYWJsZSBvZiBk ZXZpY2UNCj4gb3JkZXIuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQmRzU2V0Qm9v dFByaW9yaXR5NFNhbWVUeXBlRGV2ICgNCj4gKyAgSU4gVUlOVDE2ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZVR5cGUsDQo+ICsgIElOIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCYnNJbmRleCwNCj4g KyAgSU4gT1VUIEJCU19UQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICpMb2NhbEJic1RhYmxlLA0KPiArICBJTiBPVVQgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKlByaW9yaXR5DQo+ICsgICkNCj4gK3sNCj4gKyAgTEVHQUNZ X0RFVl9PUkRFUl9FTlRSWSAgICAgICpEZXZPcmRlcjsNCj4gKyAgTEVHQUNZX0RFVl9PUkRFUl9F TlRSWSAgICAgICpEZXZPcmRlclB0cjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg IERldk9yZGVyU2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0K PiArDQo+ICsgIERldk9yZGVyID0gQmRzTGliR2V0VmFyaWFibGVBbmRTaXplICgNCj4gKyAgICAg ICAgICAgICAgIFZBUl9MRUdBQ1lfREVWX09SREVSLA0KPiArICAgICAgICAgICAgICAgJmdFZmlM ZWdhY3lEZXZPcmRlclZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICZEZXZPcmRlclNp emUNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChOVUxMID09IERldk9yZGVyKSB7DQo+ ICsgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPiArICB9DQo+ICsNCj4gKyAgRGV2 T3JkZXJQdHIgPSBEZXZPcmRlcjsNCj4gKyAgd2hpbGUgKChVSU5UOCAqKSBEZXZPcmRlclB0ciA8 IChVSU5UOCAqKSBEZXZPcmRlciArIERldk9yZGVyU2l6ZSkgew0KPiArICAgIGlmIChEZXZPcmRl clB0ci0+QmJzVHlwZSA9PSBEZXZpY2VUeXBlKSB7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9 DQo+ICsNCj4gKyAgICBEZXZPcmRlclB0ciA9IChMRUdBQ1lfREVWX09SREVSX0VOVFJZICopICgo VUlOVE4pIERldk9yZGVyUHRyICsNCj4gc2l6ZW9mIChCQlNfVFlQRSkgKyBEZXZPcmRlclB0ci0+ TGVuZ3RoKTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmICgoVUlOVDggKikgRGV2T3JkZXJQdHIgPj0g KFVJTlQ4ICopIERldk9yZGVyICsgRGV2T3JkZXJTaXplKSB7DQo+ICsgICAgRnJlZVBvb2wgKERl dk9yZGVyKTsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArDQo+ICsg IGlmIChCYnNJbmRleCAhPSAoVUlOVE4pIC0xKSB7DQo+ICsgICAgTG9jYWxCYnNUYWJsZVtCYnNJ bmRleF0uQm9vdFByaW9yaXR5ID0gKlByaW9yaXR5Ow0KPiArICAgICgqUHJpb3JpdHkpKys7DQo+ ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8gSWYgdGhlIGhpZ2ggYnl0ZSBvZiB0aGUgRGV2SW5kZXgg aXMgMHhGRiwgaXQgaW5kaWNhdGVzIHRoYXQgdGhpcyBkZXZpY2UgaGFzDQo+IGJlZW4gZGlzYWJs ZWQuDQo+ICsgIC8vDQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IERldk9yZGVyUHRyLT5M ZW5ndGggLyBzaXplb2YgKFVJTlQxNikgLSAxOyBJbmRleCsrKQ0KPiB7DQo+ICsgICAgaWYgKChE ZXZPcmRlclB0ci0+RGF0YVtJbmRleF0gJiAweEZGMDApID09IDB4RkYwMCkgew0KPiArICAgICAg Ly8NCj4gKyAgICAgIC8vIExvY2FsQmJzVGFibGVbRGV2SW5kZXhbSW5kZXhdICYgMHhGRl0uQm9v dFByaW9yaXR5ID0NCj4gQkJTX0RJU0FCTEVEX0VOVFJZOw0KPiArICAgICAgLy8NCj4gKyAgICB9 IGVsc2UgaWYgKERldk9yZGVyUHRyLT5EYXRhW0luZGV4XSAhPSBCYnNJbmRleCkgew0KPiArICAg ICAgTG9jYWxCYnNUYWJsZVtEZXZPcmRlclB0ci0+RGF0YVtJbmRleF1dLkJvb3RQcmlvcml0eSA9 ICpQcmlvcml0eTsNCj4gKyAgICAgICgqUHJpb3JpdHkpKys7DQo+ICsgICAgfQ0KPiArICB9DQo+ ICsNCj4gKyAgRnJlZVBvb2wgKERldk9yZGVyKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUHJpbnQgdGhlIEJCUyBUYWJsZS4NCj4gKw0KPiArICBA cGFyYW0gTG9jYWxCYnNUYWJsZSAgIFRoZSBCQlMgdGFibGUuDQo+ICsgIEBwYXJhbSBCYnNDb3Vu dCAgICAgICAgVGhlIGNvdW50IG9mIGVudHJ5IGluIEJCUyB0YWJsZS4NCj4gKyoqLw0KPiArVk9J RA0KPiArUHJpbnRCYnNUYWJsZSAoDQo+ICsgIElOIEJCU19UQUJMRSAgKkxvY2FsQmJzVGFibGUs DQo+ICsgIElOIFVJTlQxNiAgICAgQmJzQ291bnQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMTYg IElkeDsNCj4gKw0KPiArICBERUJVRyAoKERFQlVHX0VSUk9SLCAiXG4iKSk7DQo+ICsgIERFQlVH ICgoREVCVUdfRVJST1IsICIgTk8gIFByaW8gYmIvZGQvZmYgY2wvc2MgVHlwZSBTdGF0DQo+IHNl Z206b2Zmc1xuIikpOw0KPiArICBERUJVRyAoKERFQlVHX0VSUk9SLA0KPiAiPT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4iKSk7DQo+ICsgIGZvciAoSWR4ID0g MDsgSWR4IDwgQmJzQ291bnQ7IElkeCsrKSB7DQo+ICsgICAgaWYgKChMb2NhbEJic1RhYmxlW0lk eF0uQm9vdFByaW9yaXR5ID09IEJCU19JR05PUkVfRU5UUlkpIHx8DQo+ICsgICAgICAgIChMb2Nh bEJic1RhYmxlW0lkeF0uQm9vdFByaW9yaXR5ID09IEJCU19ET19OT1RfQk9PVF9GUk9NKSB8fA0K PiArICAgICAgICAoTG9jYWxCYnNUYWJsZVtJZHhdLkJvb3RQcmlvcml0eSA9PSBCQlNfTE9XRVNU X1BSSU9SSVRZKQ0KPiArICAgICAgICApIHsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0N Cj4gKw0KPiArICAgIERFQlVHICgNCj4gKyAgICAgIChERUJVR19FUlJPUiwNCj4gKyAgICAgICIg JTAyeDogJTA0eCAlMDJ4LyUwMngvJTAyeCAlMDJ4LyUwMnggJTA0eCAlMDR4ICUwNHg6JTA0eFxu IiwNCj4gKyAgICAgIChVSU5UTikgSWR4LA0KPiArICAgICAgKFVJTlROKSBMb2NhbEJic1RhYmxl W0lkeF0uQm9vdFByaW9yaXR5LA0KPiArICAgICAgKFVJTlROKSBMb2NhbEJic1RhYmxlW0lkeF0u QnVzLA0KPiArICAgICAgKFVJTlROKSBMb2NhbEJic1RhYmxlW0lkeF0uRGV2aWNlLA0KPiArICAg ICAgKFVJTlROKSBMb2NhbEJic1RhYmxlW0lkeF0uRnVuY3Rpb24sDQo+ICsgICAgICAoVUlOVE4p IExvY2FsQmJzVGFibGVbSWR4XS5DbGFzcywNCj4gKyAgICAgIChVSU5UTikgTG9jYWxCYnNUYWJs ZVtJZHhdLlN1YkNsYXNzLA0KPiArICAgICAgKFVJTlROKSBMb2NhbEJic1RhYmxlW0lkeF0uRGV2 aWNlVHlwZSwNCj4gKyAgICAgIChVSU5UTikgKiAoVUlOVDE2ICopICZMb2NhbEJic1RhYmxlW0lk eF0uU3RhdHVzRmxhZ3MsDQo+ICsgICAgICAoVUlOVE4pIExvY2FsQmJzVGFibGVbSWR4XS5Cb290 SGFuZGxlclNlZ21lbnQsDQo+ICsgICAgICAoVUlOVE4pIExvY2FsQmJzVGFibGVbSWR4XS5Cb290 SGFuZGxlck9mZnNldCwNCj4gKyAgICAgIChVSU5UTikgKChMb2NhbEJic1RhYmxlW0lkeF0uTWZn U3RyaW5nU2VnbWVudCA8PCA0KSArDQo+IExvY2FsQmJzVGFibGVbSWR4XS5NZmdTdHJpbmdPZmZz ZXQpLA0KPiArICAgICAgKFVJTlROKSAoKExvY2FsQmJzVGFibGVbSWR4XS5EZXNjU3RyaW5nU2Vn bWVudCA8PCA0KSArDQo+IExvY2FsQmJzVGFibGVbSWR4XS5EZXNjU3RyaW5nT2Zmc2V0KSkNCj4g KyAgICAgICk7DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRyAoKERFQlVHX0VSUk9SLCAiXG4iKSk7 DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBTZXQgdGhlIGJvb3QgcHJpb3JpdHkgZm9yIEJCUyBl bnRyaWVzIGJhc2VkIG9uIGJvb3Qgb3B0aW9uIGVudHJ5IGFuZCBib290DQo+IG9yZGVyLg0KPiAr DQo+ICsgIEBwYXJhbSAgRW50cnkgICAgICAgICAgICAgVGhlIGJvb3Qgb3B0aW9uIGlzIHRvIGJl IGNoZWNrZWQgZm9yIHJlZnJlc2ggQkJTDQo+IHRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgIFRoZSBib290IHByaW9yaXR5IGZvciBCQlMgZW50cmllcyBpcyBy ZWZyZXNoZWQNCj4gc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAg ICAgICBCQlMgZW50cmllcyBjYW4ndCBiZSBmb3VuZC4NCj4gKyAgQHJldHZhbCBFRklfT1VUX09G X1JFU09VUkNFUyAgRmFpbGVkIHRvIGdldCB0aGUgbGVnYWN5IGRldmljZSBib290DQo+IG9yZGVy Lg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc1JlZnJlc2hCYnNUYWJs ZUZvckJvb3QgKA0KPiArICBJTiBCRFNfQ09NTU9OX09QVElPTiAgICAgICAgKkVudHJ5DQo+ICsg ICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJ TlQxNiAgICAgICAgICAgICAgICAgICAgQmJzSW5kZXg7DQo+ICsgIFVJTlQxNiAgICAgICAgICAg ICAgICAgICAgSGRkQ291bnQ7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgQmJzQ291 bnQ7DQo+ICsgIEhERF9JTkZPICAgICAgICAgICAgICAgICAgKkxvY2FsSGRkSW5mbzsNCj4gKyAg QkJTX1RBQkxFICAgICAgICAgICAgICAgICAqTG9jYWxCYnNUYWJsZTsNCj4gKyAgVUlOVDE2ICAg ICAgICAgICAgICAgICAgICBEZXZUeXBlOw0KPiArICBFRklfTEVHQUNZX0JJT1NfUFJPVE9DT0wg ICpMZWdhY3lCaW9zOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiAr ICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIFByaW9yaXR5Ow0KPiArICBVSU5UMTYgICAgICAg ICAgICAgICAgICAgICpCb290T3JkZXI7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg Qm9vdE9yZGVyU2l6ZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAqQm9vdE9wdGlv blZhcjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBCb290T3B0aW9uU2l6ZTsNCj4g KyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICBCb290T3B0aW9uWzldOw0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICpQdHI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg RGV2UGF0aExlbjsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqRGV2UGF0aDsNCj4g KyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAqRGV2aWNlVHlwZTsNCj4gKyAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICBEZXZpY2VUeXBlQ291bnQ7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgRGV2aWNlVHlwZUluZGV4Ow0KPiArDQo+ICsgIEhkZENvdW50ICAgICAgPSAwOw0K PiArICBCYnNDb3VudCAgICAgID0gMDsNCj4gKyAgTG9jYWxIZGRJbmZvICA9IE5VTEw7DQo+ICsg IExvY2FsQmJzVGFibGUgPSBOVUxMOw0KPiArICBEZXZUeXBlICAgICAgID0gQkJTX1VOS05PV047 DQo+ICsNCj4gKyAgU3RhdHVzICAgICAgICA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpTGVn YWN5Qmlvc1Byb3RvY29sR3VpZCwgTlVMTCwNCj4gKFZPSUQgKiopICZMZWdhY3lCaW9zKTsNCj4g KyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsg IH0NCj4gKw0KPiArICBMZWdhY3lCaW9zLT5HZXRCYnNJbmZvICgNCj4gKyAgICAgICAgICAgICAg ICBMZWdhY3lCaW9zLA0KPiArICAgICAgICAgICAgICAgICZIZGRDb3VudCwNCj4gKyAgICAgICAg ICAgICAgICAmTG9jYWxIZGRJbmZvLA0KPiArICAgICAgICAgICAgICAgICZCYnNDb3VudCwNCj4g KyAgICAgICAgICAgICAgICAmTG9jYWxCYnNUYWJsZQ0KPiArICAgICAgICAgICAgICAgICk7DQo+ ICsgIC8vDQo+ICsgIC8vIEZpcnN0LCBzZXQgYWxsIHRoZSBwcmVzZW50IGRldmljZXMnIGJvb3Qg cHJpb3JpdHkgdG8NCj4gQkJTX1VOUFJJT1JJVElaRURfRU5UUlkNCj4gKyAgLy8gV2Ugd2lsbCBz ZXQgdGhlbSBhY2NvcmRpbmcgdG8gdGhlIHNldHRpbmdzIHNldHVwIGJ5IHVzZXINCj4gKyAgLy8N Cj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgQmJzQ291bnQ7IEluZGV4KyspIHsNCj4gKyAg ICBpZiAoISgoQkJTX0lHTk9SRV9FTlRSWSA9PSBMb2NhbEJic1RhYmxlW0luZGV4XS5Cb290UHJp b3JpdHkpIHx8DQo+ICsgICAgICAgIChCQlNfRE9fTk9UX0JPT1RfRlJPTSA9PSBMb2NhbEJic1Rh YmxlW0luZGV4XS5Cb290UHJpb3JpdHkpIHx8DQo+ICsgICAgICAgICAoQkJTX0xPV0VTVF9QUklP UklUWSA9PSBMb2NhbEJic1RhYmxlW0luZGV4XS5Cb290UHJpb3JpdHkpKSkgew0KPiArICAgICAg TG9jYWxCYnNUYWJsZVtJbmRleF0uQm9vdFByaW9yaXR5ID0gQkJTX1VOUFJJT1JJVElaRURfRU5U Ulk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsgIC8vDQo+ICsgIC8vIGJvb3QgcHJpb3JpdHkgYWx3 YXlzIHN0YXJ0cyBhdCAwDQo+ICsgIC8vDQo+ICsgIFByaW9yaXR5ID0gMDsNCj4gKyAgaWYgKEVu dHJ5LT5Mb2FkT3B0aW9uc1NpemUgPT0gc2l6ZW9mIChCQlNfVEFCTEUpICsgc2l6ZW9mIChVSU5U MTYpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiBFbnRyeSBzdGFuZHMgZm9yIGEgbGVnYWN5 IGJvb3Qgb3B0aW9uLCB3ZSBwcmlvcml0aXplIHRoZSBkZXZpY2VzIHdpdGgNCj4gdGhlIHNhbWUg dHlwZSBmaXJzdC4NCj4gKyAgICAvLw0KPiArICAgIERldlR5cGUgID0gKChCQlNfVEFCTEUgKikg RW50cnktPkxvYWRPcHRpb25zKS0+RGV2aWNlVHlwZTsNCj4gKyAgICBCYnNJbmRleCA9ICooVUlO VDE2ICopICgoQkJTX1RBQkxFICopIEVudHJ5LT5Mb2FkT3B0aW9ucyArIDEpOw0KPiArICAgIFN0 YXR1cyA9IEJkc1NldEJvb3RQcmlvcml0eTRTYW1lVHlwZURldiAoDQo+ICsgICAgICAgICAgICAg IERldlR5cGUsDQo+ICsgICAgICAgICAgICAgIEJic0luZGV4LA0KPiArICAgICAgICAgICAgICBM b2NhbEJic1RhYmxlLA0KPiArICAgICAgICAgICAgICAmUHJpb3JpdHkNCj4gKyAgICAgICAgICAg ICAgKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICByZXR1cm4g U3RhdHVzOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArICAvLw0KPiArICAvLyB3ZSBoYXZlIHRvIHNl dCB0aGUgYm9vdCBwcmlvcml0eSBmb3Igb3RoZXIgQkJTIGVudHJpZXMgd2l0aCBkaWZmZXJlbnQN Cj4gZGV2aWNlIHR5cGVzDQo+ICsgIC8vDQo+ICsgIEJvb3RPcmRlciA9IEJkc0xpYkdldFZhcmlh YmxlQW5kU2l6ZSAoDQo+ICsgICAgICAgICAgICAgICAgTCJCb290T3JkZXIiLA0KPiArICAgICAg ICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICZC b290T3JkZXJTaXplDQo+ICsgICAgICAgICAgICAgICAgKTsNCj4gKyAgRGV2aWNlVHlwZSA9IEFs bG9jYXRlUG9vbCAoQm9vdE9yZGVyU2l6ZSArIHNpemVvZiAoVUlOVDE2KSk7DQo+ICsgIEFTU0VS VCAoRGV2aWNlVHlwZSAhPSBOVUxMKTsNCj4gKw0KPiArICBEZXZpY2VUeXBlWzBdICAgPSBEZXZU eXBlOw0KPiArICBEZXZpY2VUeXBlQ291bnQgPSAxOw0KPiArICBmb3IgKEluZGV4ID0gMDsgKChC b290T3JkZXIgIT0gTlVMTCkgJiYgKEluZGV4IDwgQm9vdE9yZGVyU2l6ZSAvIHNpemVvZg0KPiAo VUlOVDE2KSkpOyBJbmRleCsrKSB7DQo+ICsgICAgVW5pY29kZVNQcmludCAoQm9vdE9wdGlvbiwg c2l6ZW9mIChCb290T3B0aW9uKSwgTCJCb290JTA0eCIsDQo+IEJvb3RPcmRlcltJbmRleF0pOw0K PiArICAgIEJvb3RPcHRpb25WYXIgPSBCZHNMaWJHZXRWYXJpYWJsZUFuZFNpemUgKA0KPiArICAg ICAgICAgICAgICAgICAgICAgIEJvb3RPcHRpb24sDQo+ICsgICAgICAgICAgICAgICAgICAgICAg JmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJkJvb3RP cHRpb25TaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoTlVMTCA9 PSBCb290T3B0aW9uVmFyKSB7DQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICBQdHIgPSBCb290T3B0aW9uVmFyOw0KPiArDQo+ICsgICAgUHRyICs9IHNpemVvZiAoVUlO VDMyKTsNCj4gKyAgICBEZXZQYXRoTGVuID0gKihVSU5UMTYgKikgUHRyOw0KPiArICAgIFB0ciAr PSBzaXplb2YgKFVJTlQxNik7DQo+ICsgICAgUHRyICs9IFN0clNpemUgKChVSU5UMTYgKikgUHRy KTsNCj4gKyAgICBEZXZQYXRoID0gKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSBQdHI7DQo+ ICsgICAgaWYgKEJCU19ERVZJQ0VfUEFUSCAhPSBEZXZQYXRoLT5UeXBlIHx8IEJCU19CQlNfRFAg IT0gRGV2UGF0aC0NCj4gPlN1YlR5cGUpIHsNCj4gKyAgICAgIEZyZWVQb29sIChCb290T3B0aW9u VmFyKTsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFB0ciArPSBE ZXZQYXRoTGVuOw0KPiArICAgIERldlR5cGUgPSAoKEJCU19UQUJMRSAqKSBQdHIpLT5EZXZpY2VU eXBlOw0KPiArICAgIGZvciAoRGV2aWNlVHlwZUluZGV4ID0gMDsgRGV2aWNlVHlwZUluZGV4IDwg RGV2aWNlVHlwZUNvdW50Ow0KPiBEZXZpY2VUeXBlSW5kZXgrKykgew0KPiArICAgICAgaWYgKERl dmljZVR5cGVbRGV2aWNlVHlwZUluZGV4XSA9PSBEZXZUeXBlKSB7DQo+ICsgICAgICAgIGJyZWFr Ow0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBpZiAoRGV2aWNlVHlwZUluZGV4IDwgRGV2 aWNlVHlwZUNvdW50KSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gV2UgZG9uJ3Qgd2FudCB0 byBwcm9jZXNzIHR3aWNlIGZvciBhIGRldmljZSB0eXBlDQo+ICsgICAgICAvLw0KPiArICAgICAg RnJlZVBvb2wgKEJvb3RPcHRpb25WYXIpOw0KPiArICAgICAgY29udGludWU7DQo+ICsgICAgfQ0K PiArDQo+ICsgICAgRGV2aWNlVHlwZVtEZXZpY2VUeXBlQ291bnRdID0gRGV2VHlwZTsNCj4gKyAg ICBEZXZpY2VUeXBlQ291bnQrKzsNCj4gKw0KPiArICAgIFN0YXR1cyA9IEJkc1NldEJvb3RQcmlv cml0eTRTYW1lVHlwZURldiAoDQo+ICsgICAgICAgICAgICAgIERldlR5cGUsDQo+ICsgICAgICAg ICAgICAgIChVSU5UTikgLTEsDQo+ICsgICAgICAgICAgICAgIExvY2FsQmJzVGFibGUsDQo+ICsg ICAgICAgICAgICAgICZQcmlvcml0eQ0KPiArICAgICAgICAgICAgICApOw0KPiArICAgIEZyZWVQ b29sIChCb290T3B0aW9uVmFyKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBGcmVlUG9vbCAoRGV2 aWNlVHlwZSk7DQo+ICsNCj4gKyAgaWYgKEJvb3RPcmRlciAhPSBOVUxMKSB7DQo+ICsgICAgRnJl ZVBvb2wgKEJvb3RPcmRlcik7DQo+ICsgIH0NCj4gKw0KPiArICBERUJVR19DT0RFX0JFR0lOKCk7 DQo+ICsgICAgUHJpbnRCYnNUYWJsZSAoTG9jYWxCYnNUYWJsZSwgQmJzQ291bnQpOw0KPiArICBE RUJVR19DT0RFX0VORCgpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4g Ky8qKg0KPiArICBCb290IHRoZSBsZWdhY3kgc3lzdGVtIHdpdGggdGhlIGJvb3Qgb3B0aW9uDQo+ ICsNCj4gKyAgQHBhcmFtICBPcHRpb24gICAgICAgICAgICAgICAgIFRoZSBsZWdhY3kgYm9vdCBv cHRpb24gd2hpY2ggaGF2ZSBCQlMgZGV2aWNlDQo+IHBhdGgNCj4gKw0KPiArICBAcmV0dmFsIEVG SV9VTlNVUFBPUlRFRCAgICAgICAgVGhlcmUgaXMgbm8gbGVnYWN5YmlvcyBwcm90b2NvbCwgZG8g bm90DQo+IHN1cHBvcnQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxlZ2Fj eSBib290Lg0KPiArICBAcmV0dmFsIEVGSV9TVEFUVVMgICAgICAgICAgICAgUmV0dXJuIHRoZSBz dGF0dXMgb2YgTGVnYWN5Qmlvcy0+TGVnYWN5Qm9vdCAoKS4NCj4gKw0KPiArKiovDQo+ICtFRklf U1RBVFVTDQo+ICtCZHNMaWJEb0xlZ2FjeUJvb3QgKA0KPiArICBJTiAgQkRTX0NPTU1PTl9PUFRJ T04gICAgICAgICAgICpPcHRpb24NCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAg ICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0xFR0FDWV9CSU9TX1BST1RPQ09MICAqTGVnYWN5 QmlvczsNCj4gKyAgRUZJX0VWRU5UICAgICAgICAgICAgICAgICBMZWdhY3lCb290RXZlbnQ7DQo+ ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlMZWdhY3lCaW9zUHJv dG9jb2xHdWlkLCBOVUxMLCAoVk9JRA0KPiAqKikgJkxlZ2FjeUJpb3MpOw0KPiArICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiBubyBMZWdhY3lCaW9z IHByb3RvY29sIHdlIGRvIG5vdCBzdXBwb3J0IGxlZ2FjeSBib290DQo+ICsgICAgLy8NCj4gKyAg ICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsgIC8vDQo+ICsgIC8vIE5vdGVz OiBpZiB3ZSBzZXBhcmF0ZSB0aGUgaW50IDE5LCB0aGVuIHdlIGRvbid0IG5lZWQgdG8gcmVmcmVz aCBCQlMNCj4gKyAgLy8NCj4gKyAgQmRzUmVmcmVzaEJic1RhYmxlRm9yQm9vdCAoT3B0aW9uKTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBXcml0ZSBib290IHRvIE9TIHBlcmZvcm1hbmNlIGRhdGEg Zm9yIGxlZ2FjeSBib290Lg0KPiArICAvLw0KPiArICBQRVJGX0NPREUgKA0KPiArICAgIC8vDQo+ ICsgICAgLy8gQ3JlYXRlIGFuIGV2ZW50IHRvIGJlIHNpZ25hbGxlZCB3aGVuIExlZ2FjeSBCb290 IG9jY3VycyB0byB3cml0ZQ0KPiBwZXJmb3JtYW5jZSBkYXRhLg0KPiArICAgIC8vDQo+ICsgICAg U3RhdHVzID0gRWZpQ3JlYXRlRXZlbnRMZWdhY3lCb290RXgoDQo+ICsgICAgICAgICAgICAgICBU UExfTk9USUZZLA0KPiArICAgICAgICAgICAgICAgQm1FbmRPZkJkc1BlcmZDb2RlLA0KPiArICAg ICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICZMZWdhY3lCb290RXZlbnQNCj4g KyAgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4g KyAgKTsNCj4gKw0KPiArICBERUJVRyAoKERFQlVHX0lORk8gfCBERUJVR19MT0FELCAiTGVnYWN5 IEJvb3Q6ICVTXG4iLCBPcHRpb24tDQo+ID5EZXNjcmlwdGlvbikpOw0KPiArICByZXR1cm4gTGVn YWN5Qmlvcy0+TGVnYWN5Qm9vdCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgTGVnYWN5Qmlv cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAoQkJTX0JCU19ERVZJQ0VfUEFUSCAqKSBPcHRp b24tPkRldmljZVBhdGgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uLT5Mb2FkT3B0 aW9uc1NpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgT3B0aW9uLT5Mb2FkT3B0aW9ucw0K PiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBJbnRl cm5hbCBmdW5jdGlvbiB0byBjaGVjayBpZiB0aGUgaW5wdXQgYm9vdCBvcHRpb24gaXMgYSB2YWxp ZCBFRkkgTlYNCj4gQm9vdCMjIyMuDQo+ICsNCj4gKyAgQHBhcmFtIE9wdGlvblRvQ2hlY2sgIEJv b3Qgb3B0aW9uIHRvIGJlIGNoZWNrZWQuDQo+ICsNCj4gKyAgQHJldHZhbCBUUlVFICAgICAgVGhp cyBib290IG9wdGlvbiBtYXRjaGVzIGEgdmFsaWQgRUZJIE5WIEJvb3QjIyMjLg0KPiArICBAcmV0 dmFsIEZBTFNFICAgICBJZiBub3QuDQo+ICsNCj4gKyoqLw0KPiArQk9PTEVBTg0KPiArSXNCb290 T3B0aW9uVmFsaWROVlZhcmlhbGJlICgNCj4gKyAgSU4gIEJEU19DT01NT05fT1BUSU9OICAgICAg ICAgICAgICpPcHRpb25Ub0NoZWNrDQo+ICsgICkNCj4gK3sNCj4gKyAgTElTVF9FTlRSWSAgICAg ICAgVGVtcExpc3Q7DQo+ICsgIEJEU19DT01NT05fT1BUSU9OICpCb290T3B0aW9uOw0KPiArICBC T09MRUFOICAgICAgICAgICBWYWxpZDsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgT3B0aW9uTmFt ZVsyMF07DQo+ICsNCj4gKyAgVmFsaWQgPSBGQUxTRTsNCj4gKw0KPiArICBJbml0aWFsaXplTGlz dEhlYWQgKCZUZW1wTGlzdCk7DQo+ICsgIFVuaWNvZGVTUHJpbnQgKE9wdGlvbk5hbWUsIHNpemVv ZiAoT3B0aW9uTmFtZSksIEwiQm9vdCUwNHgiLA0KPiBPcHRpb25Ub0NoZWNrLT5Cb290Q3VycmVu dCk7DQo+ICsNCj4gKyAgQm9vdE9wdGlvbiA9IEJkc0xpYlZhcmlhYmxlVG9PcHRpb24gKCZUZW1w TGlzdCwgT3B0aW9uTmFtZSk7DQo+ICsgIGlmIChCb290T3B0aW9uID09IE5VTEwpIHsNCj4gKyAg ICByZXR1cm4gRkFMU0U7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBJZiB0aGUgQm9v dCBPcHRpb24gTnVtYmVyIGFuZCBEZXZpY2UgUGF0aCBtYXRjaGVzLCBPcHRpb25Ub0NoZWNrDQo+ IG1hdGNoZXMgYQ0KPiArICAvLyB2YWxpZCBFRkkgTlYgQm9vdCMjIyMuDQo+ICsgIC8vDQo+ICsg IGlmICgoT3B0aW9uVG9DaGVjay0+Qm9vdEN1cnJlbnQgPT0gQm9vdE9wdGlvbi0+Qm9vdEN1cnJl bnQpICYmDQo+ICsgICAgICAoQ29tcGFyZU1lbSAoT3B0aW9uVG9DaGVjay0+RGV2aWNlUGF0aCwg Qm9vdE9wdGlvbi0+RGV2aWNlUGF0aCwNCj4gR2V0RGV2aWNlUGF0aFNpemUgKE9wdGlvblRvQ2hl Y2stPkRldmljZVBhdGgpKSA9PSAwKSkNCj4gKyAgICAgIHsNCj4gKyAgICBWYWxpZCA9IFRSVUU7 DQo+ICsgIH0NCj4gKw0KPiArICBGcmVlUG9vbCAoQm9vdE9wdGlvbik7DQo+ICsNCj4gKyAgcmV0 dXJuIFZhbGlkOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQ2hlY2sgd2hldGhlciBhIFVTQiBk ZXZpY2UgbWF0Y2ggdGhlIHNwZWNpZmllZCBVU0IgQ2xhc3MgZGV2aWNlIHBhdGguDQo+IFRoaXMN Cj4gKyAgZnVuY3Rpb24gZm9sbG93cyAiTG9hZCBPcHRpb24gUHJvY2Vzc2luZyIgYmVoYXZpb3Ig aW4gVUVGSSBzcGVjaWZpY2F0aW9uLg0KPiArDQo+ICsgIEBwYXJhbSBVc2JJbyAgICAgICBVU0Ig SS9PIHByb3RvY29sIGFzc29jaWF0ZWQgd2l0aCB0aGUgVVNCIGRldmljZS4NCj4gKyAgQHBhcmFt IFVzYkNsYXNzICAgIFRoZSBVU0IgQ2xhc3MgZGV2aWNlIHBhdGggdG8gbWF0Y2guDQo+ICsNCj4g KyAgQHJldHZhbCBUUlVFICAgICAgIFRoZSBVU0IgZGV2aWNlIG1hdGNoIHRoZSBVU0IgQ2xhc3Mg ZGV2aWNlIHBhdGguDQo+ICsgIEByZXR2YWwgRkFMU0UgICAgICBUaGUgVVNCIGRldmljZSBkb2Vz IG5vdCBtYXRjaCB0aGUgVVNCIENsYXNzIGRldmljZSBwYXRoLg0KPiArDQo+ICsqKi8NCj4gK0JP T0xFQU4NCj4gK0Jkc01hdGNoVXNiQ2xhc3MgKA0KPiArICBJTiBFRklfVVNCX0lPX1BST1RPQ09M ICAgICAgICAqVXNiSW8sDQo+ICsgIElOIFVTQl9DTEFTU19ERVZJQ0VfUEFUSCAgICAgICpVc2JD bGFzcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0 YXR1czsNCj4gKyAgRUZJX1VTQl9ERVZJQ0VfREVTQ1JJUFRPUiAgICAgRGV2RGVzYzsNCj4gKyAg RUZJX1VTQl9JTlRFUkZBQ0VfREVTQ1JJUFRPUiAgSWZEZXNjOw0KPiArICBVSU5UOCAgICAgICAg ICAgICAgICAgICAgICAgICBEZXZpY2VDbGFzczsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgICAgICAgRGV2aWNlU3ViQ2xhc3M7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAg ICAgIERldmljZVByb3RvY29sOw0KPiArDQo+ICsgIGlmICgoRGV2aWNlUGF0aFR5cGUgKFVzYkNs YXNzKSAhPSBNRVNTQUdJTkdfREVWSUNFX1BBVEgpIHx8DQo+ICsgICAgICAoRGV2aWNlUGF0aFN1 YlR5cGUgKFVzYkNsYXNzKSAhPSBNU0dfVVNCX0NMQVNTX0RQKSl7DQo+ICsgICAgcmV0dXJuIEZB TFNFOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgVmVuZG9yIElkIGFuZCBQ cm9kdWN0IElkLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBVc2JJby0+VXNiR2V0RGV2aWNlRGVz Y3JpcHRvciAoVXNiSW8sICZEZXZEZXNjKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KPiArICAgIHJldHVybiBGQUxTRTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmICgoVXNiQ2xhc3Mt PlZlbmRvcklkICE9IDB4ZmZmZikgJiYNCj4gKyAgICAgIChVc2JDbGFzcy0+VmVuZG9ySWQgIT0g RGV2RGVzYy5JZFZlbmRvcikpIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsgIH0NCj4gKw0K PiArICBpZiAoKFVzYkNsYXNzLT5Qcm9kdWN0SWQgIT0gMHhmZmZmKSAmJg0KPiArICAgICAgKFVz YkNsYXNzLT5Qcm9kdWN0SWQgIT0gRGV2RGVzYy5JZFByb2R1Y3QpKSB7DQo+ICsgICAgcmV0dXJu IEZBTFNFOw0KPiArICB9DQo+ICsNCj4gKyAgRGV2aWNlQ2xhc3MgICAgPSBEZXZEZXNjLkRldmlj ZUNsYXNzOw0KPiArICBEZXZpY2VTdWJDbGFzcyA9IERldkRlc2MuRGV2aWNlU3ViQ2xhc3M7DQo+ ICsgIERldmljZVByb3RvY29sID0gRGV2RGVzYy5EZXZpY2VQcm90b2NvbDsNCj4gKyAgaWYgKERl dmljZUNsYXNzID09IDApIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIElmIENsYXNzIGluIERldmlj ZSBEZXNjcmlwdG9yIGlzIHNldCB0byAwLCB1c2UgdGhlIENsYXNzLCBTdWJDbGFzcyBhbmQNCj4g KyAgICAvLyBQcm90b2NvbCBpbiBJbnRlcmZhY2UgRGVzY3JpcHRvciBpbnN0ZWFkLg0KPiArICAg IC8vDQo+ICsgICAgU3RhdHVzID0gVXNiSW8tPlVzYkdldEludGVyZmFjZURlc2NyaXB0b3IgKFVz YklvLCAmSWZEZXNjKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAg ICByZXR1cm4gRkFMU0U7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgRGV2aWNlQ2xhc3MgICAgPSBJ ZkRlc2MuSW50ZXJmYWNlQ2xhc3M7DQo+ICsgICAgRGV2aWNlU3ViQ2xhc3MgPSBJZkRlc2MuSW50 ZXJmYWNlU3ViQ2xhc3M7DQo+ICsgICAgRGV2aWNlUHJvdG9jb2wgPSBJZkRlc2MuSW50ZXJmYWNl UHJvdG9jb2w7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVjayBDbGFzcywgU3Vi Q2xhc3MgYW5kIFByb3RvY29sLg0KPiArICAvLw0KPiArICBpZiAoKFVzYkNsYXNzLT5EZXZpY2VD bGFzcyAhPSAweGZmKSAmJg0KPiArICAgICAgKFVzYkNsYXNzLT5EZXZpY2VDbGFzcyAhPSBEZXZp Y2VDbGFzcykpIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAo KFVzYkNsYXNzLT5EZXZpY2VTdWJDbGFzcyAhPSAweGZmKSAmJg0KPiArICAgICAgKFVzYkNsYXNz LT5EZXZpY2VTdWJDbGFzcyAhPSBEZXZpY2VTdWJDbGFzcykpIHsNCj4gKyAgICByZXR1cm4gRkFM U0U7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoKFVzYkNsYXNzLT5EZXZpY2VQcm90b2NvbCAhPSAw eGZmKSAmJg0KPiArICAgICAgKFVzYkNsYXNzLT5EZXZpY2VQcm90b2NvbCAhPSBEZXZpY2VQcm90 b2NvbCkpIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4g VFJVRTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIENoZWNrIHdoZXRoZXIgYSBVU0IgZGV2aWNl IG1hdGNoIHRoZSBzcGVjaWZpZWQgVVNCIFdXSUQgZGV2aWNlIHBhdGguDQo+IFRoaXMNCj4gKyAg ZnVuY3Rpb24gZm9sbG93cyAiTG9hZCBPcHRpb24gUHJvY2Vzc2luZyIgYmVoYXZpb3IgaW4gVUVG SSBzcGVjaWZpY2F0aW9uLg0KPiArDQo+ICsgIEBwYXJhbSBVc2JJbyAgICAgICBVU0IgSS9PIHBy b3RvY29sIGFzc29jaWF0ZWQgd2l0aCB0aGUgVVNCIGRldmljZS4NCj4gKyAgQHBhcmFtIFVzYld3 aWQgICAgIFRoZSBVU0IgV1dJRCBkZXZpY2UgcGF0aCB0byBtYXRjaC4NCj4gKw0KPiArICBAcmV0 dmFsIFRSVUUgICAgICAgVGhlIFVTQiBkZXZpY2UgbWF0Y2ggdGhlIFVTQiBXV0lEIGRldmljZSBw YXRoLg0KPiArICBAcmV0dmFsIEZBTFNFICAgICAgVGhlIFVTQiBkZXZpY2UgZG9lcyBub3QgbWF0 Y2ggdGhlIFVTQiBXV0lEIGRldmljZQ0KPiBwYXRoLg0KPiArDQo+ICsqKi8NCj4gK0JPT0xFQU4N Cj4gK0Jkc01hdGNoVXNiV3dpZCAoDQo+ICsgIElOIEVGSV9VU0JfSU9fUFJPVE9DT0wgICAgICAg ICpVc2JJbywNCj4gKyAgSU4gVVNCX1dXSURfREVWSUNFX1BBVEggICAgICAgKlVzYld3aWQNCj4g KyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4g KyAgRUZJX1VTQl9ERVZJQ0VfREVTQ1JJUFRPUiAgICBEZXZEZXNjOw0KPiArICBFRklfVVNCX0lO VEVSRkFDRV9ERVNDUklQVE9SIElmRGVzYzsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAg ICAgICAqTGFuZ0lkVGFibGU7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgVGFi bGVTaXplOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBD SEFSMTYgICAgICAgICAgICAgICAgICAgICAgICpDb21wYXJlU3RyOw0KPiArICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICAgIENvbXBhcmVMZW47DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAg ICAgICAgICAgKlNlcmlhbE51bWJlclN0cjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICBMZW5ndGg7DQo+ICsNCj4gKyAgaWYgKChEZXZpY2VQYXRoVHlwZSAoVXNiV3dpZCkgIT0g TUVTU0FHSU5HX0RFVklDRV9QQVRIKSB8fA0KPiArICAgICAgKERldmljZVBhdGhTdWJUeXBlIChV c2JXd2lkKSAhPSBNU0dfVVNCX1dXSURfRFAgKSl7DQo+ICsgICAgcmV0dXJuIEZBTFNFOw0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgVmVuZG9yIElkIGFuZCBQcm9kdWN0IElk Lg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBVc2JJby0+VXNiR2V0RGV2aWNlRGVzY3JpcHRvciAo VXNiSW8sICZEZXZEZXNjKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAg IHJldHVybiBGQUxTRTsNCj4gKyAgfQ0KPiArICBpZiAoKERldkRlc2MuSWRWZW5kb3IgIT0gVXNi V3dpZC0+VmVuZG9ySWQpIHx8DQo+ICsgICAgICAoRGV2RGVzYy5JZFByb2R1Y3QgIT0gVXNiV3dp ZC0+UHJvZHVjdElkKSkgew0KPiArICAgIHJldHVybiBGQUxTRTsNCj4gKyAgfQ0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIENoZWNrIEludGVyZmFjZSBOdW1iZXIuDQo+ICsgIC8vDQo+ICsgIFN0YXR1 cyA9IFVzYklvLT5Vc2JHZXRJbnRlcmZhY2VEZXNjcmlwdG9yIChVc2JJbywgJklmRGVzYyk7DQo+ ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsg IH0NCj4gKyAgaWYgKElmRGVzYy5JbnRlcmZhY2VOdW1iZXIgIT0gVXNiV3dpZC0+SW50ZXJmYWNl TnVtYmVyKSB7DQo+ICsgICAgcmV0dXJuIEZBTFNFOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gQ2hlY2sgU2VyaWFsIE51bWJlci4NCj4gKyAgLy8NCj4gKyAgaWYgKERldkRlc2MuU3Ry U2VyaWFsTnVtYmVyID09IDApIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsgIH0NCj4gKw0K PiArICAvLw0KPiArICAvLyBHZXQgYWxsIHN1cHBvcnRlZCBsYW5ndWFnZXMuDQo+ICsgIC8vDQo+ ICsgIFRhYmxlU2l6ZSA9IDA7DQo+ICsgIExhbmdJZFRhYmxlID0gTlVMTDsNCj4gKyAgU3RhdHVz ID0gVXNiSW8tPlVzYkdldFN1cHBvcnRlZExhbmd1YWdlcyAoVXNiSW8sICZMYW5nSWRUYWJsZSwN Cj4gJlRhYmxlU2l6ZSk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgKFRhYmxlU2l6 ZSA9PSAwKSB8fCAoTGFuZ0lkVGFibGUgPT0gTlVMTCkpIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7 DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXJpYWwgbnVtYmVyIGluIFVTQiBXV0lE IGRldmljZSBwYXRoIGlzIHRoZSBsYXN0IDY0LW9yLWxlc3MgVVRGLTE2DQo+IGNoYXJhY3RlcnMu DQo+ICsgIC8vDQo+ICsgIENvbXBhcmVTdHIgPSAoQ0hBUjE2ICopIChVSU5UTikgKFVzYld3aWQg KyAxKTsNCj4gKyAgQ29tcGFyZUxlbiA9IChEZXZpY2VQYXRoTm9kZUxlbmd0aCAoVXNiV3dpZCkg LSBzaXplb2YNCj4gKFVTQl9XV0lEX0RFVklDRV9QQVRIKSkgLyBzaXplb2YgKENIQVIxNik7DQo+ ICsgIGlmIChDb21wYXJlU3RyW0NvbXBhcmVMZW4gLSAxXSA9PSBMJ1wwJykgew0KPiArICAgIENv bXBhcmVMZW4tLTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENvbXBhcmUgc2VyaWFs IG51bWJlciBpbiBlYWNoIHN1cHBvcnRlZCBsYW5ndWFnZS4NCj4gKyAgLy8NCj4gKyAgZm9yIChJ bmRleCA9IDA7IEluZGV4IDwgVGFibGVTaXplIC8gc2l6ZW9mIChVSU5UMTYpOyBJbmRleCsrKSB7 DQo+ICsgICAgU2VyaWFsTnVtYmVyU3RyID0gTlVMTDsNCj4gKyAgICBTdGF0dXMgPSBVc2JJby0+ VXNiR2V0U3RyaW5nRGVzY3JpcHRvciAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgVXNiSW8s DQo+ICsgICAgICAgICAgICAgICAgICAgICAgTGFuZ0lkVGFibGVbSW5kZXhdLA0KPiArICAgICAg ICAgICAgICAgICAgICAgIERldkRlc2MuU3RyU2VyaWFsTnVtYmVyLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICZTZXJpYWxOdW1iZXJTdHINCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0K PiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgKFNlcmlhbE51bWJlclN0ciA9PSBOVUxM KSkgew0KPiArICAgICAgY29udGludWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTGVuZ3RoID0g U3RyTGVuIChTZXJpYWxOdW1iZXJTdHIpOw0KPiArICAgIGlmICgoTGVuZ3RoID49IENvbXBhcmVM ZW4pICYmDQo+ICsgICAgICAgIChDb21wYXJlTWVtIChTZXJpYWxOdW1iZXJTdHIgKyBMZW5ndGgg LSBDb21wYXJlTGVuLCBDb21wYXJlU3RyLA0KPiBDb21wYXJlTGVuICogc2l6ZW9mIChDSEFSMTYp KSA9PSAwKSkgew0KPiArICAgICAgRnJlZVBvb2wgKFNlcmlhbE51bWJlclN0cik7DQo+ICsgICAg ICByZXR1cm4gVFJVRTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBGcmVlUG9vbCAoU2VyaWFsTnVt YmVyU3RyKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBGQUxTRTsNCj4gK30NCj4gKw0KPiAr LyoqDQo+ICsgIEZpbmQgYSBVU0IgZGV2aWNlIHBhdGggd2hpY2ggbWF0Y2ggdGhlIHNwZWNpZmll ZCBzaG9ydC1mb3JtIGRldmljZSBwYXRoDQo+IHN0YXJ0DQo+ICsgIHdpdGggVVNCIENsYXNzIG9y IFVTQiBXV0lEIGRldmljZSBwYXRoIGFuZCBsb2FkIHRoZSBib290IGZpbGUgdGhlbiByZXR1cm4N Cj4gdGhlDQo+ICsgIGltYWdlIGhhbmRsZS4gSWYgUGFyZW50RGV2aWNlUGF0aCBpcyBOVUxMLCB0 aGlzIGZ1bmN0aW9uIHdpbGwgc2VhcmNoIGluIGFsbA0KPiBVU0INCj4gKyAgZGV2aWNlcyBvZiB0 aGUgcGxhdGZvcm0uIElmIFBhcmVudERldmljZVBhdGggaXMgbm90IE5VTEwsdGhpcyBmdW5jdGlv biB3aWxsDQo+IG9ubHkNCj4gKyAgc2VhcmNoIGluIGl0cyBjaGlsZCBkZXZpY2VzLg0KPiArDQo+ ICsgIEBwYXJhbSBQYXJlbnREZXZpY2VQYXRoICAgICAgVGhlIGRldmljZSBwYXRoIG9mIHRoZSBw YXJlbnQuDQo+ICsgIEBwYXJhbSBTaG9ydEZvcm1EZXZpY2VQYXRoICAgVGhlIFVTQiBDbGFzcyBv ciBVU0IgV1dJRCBkZXZpY2UgcGF0aA0KPiB0byBtYXRjaC4NCj4gKw0KPiArICBAcmV0dXJuICBU aGUgaW1hZ2UgSGFuZGxlIGlmIGZpbmQgbG9hZCBmaWxlIGZyb20gc3BlY2lmaWVkIHNob3J0LWZv cm0NCj4gZGV2aWNlIHBhdGgNCj4gKyAgICAgICAgICAgb3IgTlVMTCBpZiBub3QgZm91bmQuDQo+ ICsNCj4gKyoqLw0KPiArRUZJX0hBTkRMRSAqDQo+ICtCZHNGaW5kVXNiRGV2aWNlICgNCj4gKyAg SU4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgKlBhcmVudERldmljZVBhdGgsDQo+ICsgIElO IEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICpTaG9ydEZvcm1EZXZpY2VQYXRoDQo+ICsgICkN Cj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgVXNiSW9IYW5kbGVDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAg ICAgICAgICAgICAgICAqVXNiSW9IYW5kbGVCdWZmZXI7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9Q Uk9UT0NPTCAgKlVzYklvRGV2aWNlUGF0aDsNCj4gKyAgRUZJX1VTQl9JT19QUk9UT0NPTCAgICAg ICAqVXNiSW87DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgUGFyZW50U2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICBTaXplOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgIEltYWdlSGFu ZGxlOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgIEhhbmRsZTsNCj4gKyAgRUZJX0RF VklDRV9QQVRIX1BST1RPQ09MICAqRnVsbERldmljZVBhdGg7DQo+ICsgIEVGSV9ERVZJQ0VfUEFU SF9QUk9UT0NPTCAgKk5leHREZXZpY2VQYXRoOw0KPiArDQo+ICsgIEZ1bGxEZXZpY2VQYXRoID0g TlVMTDsNCj4gKyAgSW1hZ2VIYW5kbGUgICAgPSBOVUxMOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEdldCBhbGwgVXNiSW8gSGFuZGxlcy4NCj4gKyAgLy8NCj4gKyAgVXNiSW9IYW5kbGVDb3VudCA9 IDA7DQo+ICsgIFVzYklvSGFuZGxlQnVmZmVyID0gTlVMTDsNCj4gKyAgU3RhdHVzID0gZ0JTLT5M b2NhdGVIYW5kbGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgQnlQcm90b2NvbCwNCj4g KyAgICAgICAgICAgICAgICAgICZnRWZpVXNiSW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAg ICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJlVzYklvSGFuZGxlQ291bnQsDQo+ ICsgICAgICAgICAgICAgICAgICAmVXNiSW9IYW5kbGVCdWZmZXINCj4gKyAgICAgICAgICAgICAg ICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgKFVzYklvSGFuZGxlQ291bnQg PT0gMCkgfHwgKFVzYklvSGFuZGxlQnVmZmVyDQo+ID09IE5VTEwpKSB7DQo+ICsgICAgcmV0dXJu IE5VTEw7DQo+ICsgIH0NCj4gKw0KPiArICBQYXJlbnRTaXplID0gKFBhcmVudERldmljZVBhdGgg PT0gTlVMTCkgPyAwIDogR2V0RGV2aWNlUGF0aFNpemUNCj4gKFBhcmVudERldmljZVBhdGgpOw0K PiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBVc2JJb0hhbmRsZUNvdW50OyBJbmRleCsrKSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBHZXQgdGhlIFVzYiBJTyBpbnRlcmZhY2UuDQo+ICsgICAg Ly8NCj4gKyAgICBTdGF0dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sKA0KPiArICAgICAgICAgICAg ICAgICAgICBVc2JJb0hhbmRsZUJ1ZmZlcltJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAg ICZnRWZpVXNiSW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIChWT0lEICoq KSAmVXNiSW8NCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9S IChTdGF0dXMpKSB7DQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBV c2JJb0RldmljZVBhdGggPSBEZXZpY2VQYXRoRnJvbUhhbmRsZSAoVXNiSW9IYW5kbGVCdWZmZXJb SW5kZXhdKTsNCj4gKyAgICBpZiAoVXNiSW9EZXZpY2VQYXRoID09IE5VTEwpIHsNCj4gKyAgICAg IGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlmIChQYXJlbnREZXZpY2VQYXRoICE9 IE5VTEwpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBDb21wYXJlIHN0YXJ0aW5nIHBhcnQg b2YgVXNiSW9IYW5kbGUncyBkZXZpY2UgcGF0aCB3aXRoDQo+IFBhcmVudERldmljZVBhdGguDQo+ ICsgICAgICAvLw0KPiArICAgICAgU2l6ZSA9IEdldERldmljZVBhdGhTaXplIChVc2JJb0Rldmlj ZVBhdGgpOw0KPiArICAgICAgaWYgKChTaXplIDwgUGFyZW50U2l6ZSkgfHwNCj4gKyAgICAgICAg ICAoQ29tcGFyZU1lbSAoVXNiSW9EZXZpY2VQYXRoLCBQYXJlbnREZXZpY2VQYXRoLCBQYXJlbnRT aXplIC0NCj4gRU5EX0RFVklDRV9QQVRIX0xFTkdUSCkgIT0gMCkpIHsNCj4gKyAgICAgICAgY29u dGludWU7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKEJkc01hdGNoVXNi Q2xhc3MgKFVzYklvLCAoVVNCX0NMQVNTX0RFVklDRV9QQVRIICopDQo+IFNob3J0Rm9ybURldmlj ZVBhdGgpIHx8DQo+ICsgICAgICAgIEJkc01hdGNoVXNiV3dpZCAoVXNiSW8sIChVU0JfV1dJRF9E RVZJQ0VfUEFUSCAqKQ0KPiBTaG9ydEZvcm1EZXZpY2VQYXRoKSkgew0KPiArICAgICAgLy8NCj4g KyAgICAgIC8vIFRyeSB0byBmaW5kIGlmIHRoZXJlIGlzIHRoZSBib290IGZpbGUgaW4gdGhpcyBE ZXZpY2VQYXRoDQo+ICsgICAgICAvLw0KPiArICAgICAgTmV4dERldmljZVBhdGggPSBOZXh0RGV2 aWNlUGF0aE5vZGUgKFNob3J0Rm9ybURldmljZVBhdGgpOw0KPiArICAgICAgaWYgKCFJc0Rldmlj ZVBhdGhFbmQgKE5leHREZXZpY2VQYXRoKSkgew0KPiArICAgICAgICBGdWxsRGV2aWNlUGF0aCA9 IEFwcGVuZERldmljZVBhdGggKFVzYklvRGV2aWNlUGF0aCwNCj4gTmV4dERldmljZVBhdGgpOw0K PiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBDb25uZWN0IHRoZSBmdWxsIGRldmljZSBwYXRo LCBzbyB0aGF0IFNpbXBsZSBGaWxlIFN5c3RlbSBwcm90b2NvbA0KPiArICAgICAgICAvLyBjb3Vs ZCBiZSBpbnN0YWxsZWQgZm9yIHRoaXMgVVNCIGRldmljZS4NCj4gKyAgICAgICAgLy8NCj4gKyAg ICAgICAgQmRzTGliQ29ubmVjdERldmljZVBhdGggKEZ1bGxEZXZpY2VQYXRoKTsNCj4gKyAgICAg ICAgUkVQT1JUX1NUQVRVU19DT0RFIChFRklfUFJPR1JFU1NfQ09ERSwgUGNkR2V0MzINCj4gKFBj ZFByb2dyZXNzQ29kZU9zTG9hZGVyTG9hZCkpOw0KPiArICAgICAgICBTdGF0dXMgPSBnQlMtPkxv YWRJbWFnZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgIGdJbWFnZUhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgRnVs bERldmljZVBhdGgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICZJbWFnZUhhbmRs ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICBGcmVlUG9vbCAoRnVs bERldmljZVBhdGgpOw0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgRnVsbERldmljZVBh dGggPSBVc2JJb0RldmljZVBhdGg7DQo+ICsgICAgICAgIFN0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7 DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBJZiB3ZSBkaWRuJ3Qg ZmluZCBhbiBpbWFnZSBkaXJlY3RseSwgd2UgbmVlZCB0byB0cnkgYXMgaWYgaXQgaXMgYSByZW1v dmFibGUNCj4gZGV2aWNlIGJvb3Qgb3B0aW9uDQo+ICsgICAgICAvLyBhbmQgbG9hZCB0aGUgaW1h Z2UgYWNjb3JkaW5nIHRvIHRoZSBkZWZhdWx0IGJvb3QgYmVoYXZpb3IgZm9yDQo+IHJlbW92YWJs ZSBkZXZpY2UuDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBjaGVjayBpZiB0aGVyZSBpcyBhIGJvb3Rh YmxlIHJlbW92YWJsZSBtZWRpYSBjb3VsZCBiZSBmb3VuZCBpbiB0aGlzDQo+IGRldmljZSBwYXRo ICwNCj4gKyAgICAgICAgLy8gYW5kIGdldCB0aGUgYm9vdGFibGUgbWVkaWEgaGFuZGxlDQo+ICsg ICAgICAgIC8vDQo+ICsgICAgICAgIEhhbmRsZSA9IEJkc0xpYkdldEJvb3RhYmxlSGFuZGxlKFVz YklvRGV2aWNlUGF0aCk7DQo+ICsgICAgICAgIGlmIChIYW5kbGUgPT0gTlVMTCkgew0KPiArICAg ICAgICAgIGNvbnRpbnVlOw0KPiArICAgICAgICB9DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAg IC8vIExvYWQgdGhlIGRlZmF1bHQgYm9vdCBmaWxlIFxFRklcQk9PVFxib290e21hY2hpbmVuYW1l fS5FRkkgZnJvbQ0KPiByZW1vdmFibGUgTWVkaWENCj4gKyAgICAgICAgLy8gIG1hY2hpbmVuYW1l IGlzIGlhMzIsIGlhNjQsIHg2NCwgLi4uDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIEZ1bGxE ZXZpY2VQYXRoID0gRmlsZURldmljZVBhdGggKEhhbmRsZSwNCj4gRUZJX1JFTU9WQUJMRV9NRURJ QV9GSUxFX05BTUUpOw0KPiArICAgICAgICBpZiAoRnVsbERldmljZVBhdGggIT0gTlVMTCkgew0K PiArICAgICAgICAgIFJFUE9SVF9TVEFUVVNfQ09ERSAoRUZJX1BST0dSRVNTX0NPREUsIFBjZEdl dDMyDQo+IChQY2RQcm9ncmVzc0NvZGVPc0xvYWRlckxvYWQpKTsNCj4gKyAgICAgICAgICBTdGF0 dXMgPSBnQlMtPkxvYWRJbWFnZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIGdJbWFnZUhhbmRsZSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgRnVsbERldmljZVBhdGgsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICZJbWFnZUhhbmRsZQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICApOw0KPiArICAgICAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAg ICAgICAgIC8vDQo+ICsgICAgICAgICAgICAvLyBUaGUgRGV2aWNlUGF0aCBmYWlsZWQsIGFuZCBp dCdzIG5vdCBhIHZhbGlkDQo+ICsgICAgICAgICAgICAvLyByZW1vdmFibGUgbWVkaWEgZGV2aWNl Lg0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIGNvbnRpbnVlOw0KPiArICAgICAg ICAgIH0NCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICBjb250aW51ZTsNCj4gKyAg ICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArICB9DQo+ ICsNCj4gKyAgRnJlZVBvb2wgKFVzYklvSGFuZGxlQnVmZmVyKTsNCj4gKyAgcmV0dXJuIEltYWdl SGFuZGxlOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgRXhwYW5kIFVTQiBDbGFzcyBvciBVU0Ig V1dJRCBkZXZpY2UgcGF0aCBub2RlIHRvIGJlIGZ1bGwgZGV2aWNlIHBhdGggb2YNCj4gYSBVU0IN Cj4gKyAgZGV2aWNlIGluIHBsYXRmb3JtIHRoZW4gbG9hZCB0aGUgYm9vdCBmaWxlIG9uIHRoaXMg ZnVsbCBkZXZpY2UgcGF0aCBhbmQNCj4gcmV0dXJuIHRoZQ0KPiArICBpbWFnZSBoYW5kbGUuDQo+ ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiBzdXBwb3J0IGZvbGxvd2luZyA0IGNhc2VzOg0KPiArICAx KSBCb290IE9wdGlvbiBkZXZpY2UgcGF0aCBzdGFydHMgd2l0aCBhIFVTQiBDbGFzcyBvciBVU0Ig V1dJRCBkZXZpY2UNCj4gcGF0aCwNCj4gKyAgICAgYW5kIHRoZXJlIGlzIG5vIE1lZGlhIEZpbGVQ YXRoIGRldmljZSBwYXRoIGluIHRoZSBlbmQuDQo+ICsgICAgIEluIHRoaXMgY2FzZSwgaXQgd2ls bCBmb2xsb3cgUmVtb3ZhYmxlIE1lZGlhIEJvb3QgQmVoYXZpb3IuDQo+ICsgIDIpIEJvb3QgT3B0 aW9uIGRldmljZSBwYXRoIHN0YXJ0cyB3aXRoIGEgVVNCIENsYXNzIG9yIFVTQiBXV0lEIGRldmlj ZQ0KPiBwYXRoLA0KPiArICAgICBhbmQgZW5kZWQgd2l0aCBNZWRpYSBGaWxlUGF0aCBkZXZpY2Ug cGF0aC4NCj4gKyAgMykgQm9vdCBPcHRpb24gZGV2aWNlIHBhdGggc3RhcnRzIHdpdGggYSBmdWxs IGRldmljZSBwYXRoIHRvIGEgVVNCIEhvc3QNCj4gQ29udHJvbGxlciwNCj4gKyAgICAgY29udGFp bnMgYSBVU0IgQ2xhc3Mgb3IgVVNCIFdXSUQgZGV2aWNlIHBhdGggbm9kZSwgd2hpbGUgbm90IGVu ZGVkDQo+IHdpdGggTWVkaWENCj4gKyAgICAgRmlsZVBhdGggZGV2aWNlIHBhdGguIEluIHRoaXMg Y2FzZSwgaXQgd2lsbCBmb2xsb3cgUmVtb3ZhYmxlIE1lZGlhIEJvb3QNCj4gQmVoYXZpb3IuDQo+ ICsgIDQpIEJvb3QgT3B0aW9uIGRldmljZSBwYXRoIHN0YXJ0cyB3aXRoIGEgZnVsbCBkZXZpY2Ug cGF0aCB0byBhIFVTQiBIb3N0DQo+IENvbnRyb2xsZXIsDQo+ICsgICAgIGNvbnRhaW5zIGEgVVNC IENsYXNzIG9yIFVTQiBXV0lEIGRldmljZSBwYXRoIG5vZGUsIGFuZCBlbmRlZCB3aXRoDQo+IE1l ZGlhDQo+ICsgICAgIEZpbGVQYXRoIGRldmljZSBwYXRoLg0KPiArDQo+ICsgIEBwYXJhbSAgRGV2 aWNlUGF0aCAgICBUaGUgQm9vdCBPcHRpb24gZGV2aWNlIHBhdGguDQo+ICsNCj4gKyAgQHJldHVy biAgVGhlIGltYWdlIGhhbmRsZSBvZiBib290IGZpbGUsIG9yIE5VTEwgaWYgdGhlcmUgaXMgbm8g Ym9vdCBmaWxlDQo+IGZvdW5kIGluDQo+ICsgICAgICAgICAgIHRoZSBzcGVjaWZpZWQgVVNCIENs YXNzIG9yIFVTQiBXV0lEIGRldmljZSBwYXRoLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9IQU5ETEUg Kg0KPiArQmRzRXhwYW5kVXNiU2hvcnRGb3JtRGV2aWNlUGF0aCAoDQo+ICsgIElOIEVGSV9ERVZJ Q0VfUEFUSF9QUk9UT0NPTCAgICAgICAqRGV2aWNlUGF0aA0KPiArICApDQo+ICt7DQo+ICsgIEVG SV9IQU5ETEUgICAgICAgICAgICAgICAgKkltYWdlSGFuZGxlOw0KPiArICBFRklfREVWSUNFX1BB VEhfUFJPVE9DT0wgICpUZW1wRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RP Q09MICAqU2hvcnRGb3JtRGV2aWNlUGF0aDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZWFyY2gg Zm9yIFVTQiBDbGFzcyBvciBVU0IgV1dJRCBkZXZpY2UgcGF0aCBub2RlLg0KPiArICAvLw0KPiAr ICBTaG9ydEZvcm1EZXZpY2VQYXRoID0gTlVMTDsNCj4gKyAgSW1hZ2VIYW5kbGUgICAgICAgICA9 IE5VTEw7DQo+ICsgIFRlbXBEZXZpY2VQYXRoICAgICAgPSBEZXZpY2VQYXRoOw0KPiArICB3aGls ZSAoIUlzRGV2aWNlUGF0aEVuZCAoVGVtcERldmljZVBhdGgpKSB7DQo+ICsgICAgaWYgKChEZXZp Y2VQYXRoVHlwZSAoVGVtcERldmljZVBhdGgpID09IE1FU1NBR0lOR19ERVZJQ0VfUEFUSCkNCj4g JiYNCj4gKyAgICAgICAgKChEZXZpY2VQYXRoU3ViVHlwZSAoVGVtcERldmljZVBhdGgpID09IE1T R19VU0JfQ0xBU1NfRFApIHx8DQo+ICsgICAgICAgICAoRGV2aWNlUGF0aFN1YlR5cGUgKFRlbXBE ZXZpY2VQYXRoKSA9PSBNU0dfVVNCX1dXSURfRFApKSkgew0KPiArICAgICAgU2hvcnRGb3JtRGV2 aWNlUGF0aCA9IFRlbXBEZXZpY2VQYXRoOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiAr ICAgIFRlbXBEZXZpY2VQYXRoID0gTmV4dERldmljZVBhdGhOb2RlIChUZW1wRGV2aWNlUGF0aCk7 DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoU2hvcnRGb3JtRGV2aWNlUGF0aCA9PSBOVUxMKSB7DQo+ ICsgICAgLy8NCj4gKyAgICAvLyBObyBVU0IgQ2xhc3Mgb3IgVVNCIFdXSUQgZGV2aWNlIHBhdGgg bm9kZSBmb3VuZCwgZG8gbm90aGluZy4NCj4gKyAgICAvLw0KPiArICAgIHJldHVybiBOVUxMOw0K PiArICB9DQo+ICsNCj4gKyAgaWYgKFNob3J0Rm9ybURldmljZVBhdGggPT0gRGV2aWNlUGF0aCkg ew0KPiArICAgIC8vDQo+ICsgICAgLy8gQm9vdCBPcHRpb24gZGV2aWNlIHBhdGggc3RhcnRzIHdp dGggVVNCIENsYXNzIG9yIFVTQiBXV0lEIGRldmljZQ0KPiBwYXRoLg0KPiArICAgIC8vDQo+ICsg ICAgSW1hZ2VIYW5kbGUgPSBCZHNGaW5kVXNiRGV2aWNlIChOVUxMLCBTaG9ydEZvcm1EZXZpY2VQ YXRoKTsNCj4gKyAgICBpZiAoSW1hZ2VIYW5kbGUgPT0gTlVMTCkgew0KPiArICAgICAgLy8NCj4g KyAgICAgIC8vIEZhaWxlZCB0byBmaW5kIGEgbWF0Y2ggaW4gZXhpc3RpbmcgZGV2aWNlcywgY29u bmVjdCB0aGUgc2hvcnQgZm9ybSBVU0INCj4gKyAgICAgIC8vIGRldmljZSBwYXRoIGFuZCB0cnkg YWdhaW4uDQo+ICsgICAgICAvLw0KPiArICAgICAgQmRzTGliQ29ubmVjdFVzYkRldkJ5U2hvcnRG b3JtRFAgKDB4ZmYsIFNob3J0Rm9ybURldmljZVBhdGgpOw0KPiArICAgICAgSW1hZ2VIYW5kbGUg PSBCZHNGaW5kVXNiRGV2aWNlIChOVUxMLCBTaG9ydEZvcm1EZXZpY2VQYXRoKTsNCj4gKyAgICB9 DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBCb290IE9wdGlvbiBkZXZpY2Ug cGF0aCBjb250YWlucyBVU0IgQ2xhc3Mgb3IgVVNCIFdXSUQgZGV2aWNlIHBhdGgNCj4gbm9kZS4N Cj4gKyAgICAvLw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBQcmVwYXJlIHRoZSBwYXJlbnQg ZGV2aWNlIHBhdGggZm9yIHNlYXJjaC4NCj4gKyAgICAvLw0KPiArICAgIFRlbXBEZXZpY2VQYXRo ID0gRHVwbGljYXRlRGV2aWNlUGF0aCAoRGV2aWNlUGF0aCk7DQo+ICsgICAgQVNTRVJUIChUZW1w RGV2aWNlUGF0aCAhPSBOVUxMKTsNCj4gKyAgICBTZXREZXZpY2VQYXRoRW5kTm9kZSAoKChVSU5U OCAqKSBUZW1wRGV2aWNlUGF0aCkgKyAoKFVJTlROKQ0KPiBTaG9ydEZvcm1EZXZpY2VQYXRoIC0g KFVJTlROKSBEZXZpY2VQYXRoKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRoZSBVU0Ig SG9zdCBDb250cm9sbGVyIGRldmljZSBwYXRoIGlzIGFscmVhZHkgaW4gQm9vdCBPcHRpb24gZGV2 aWNlDQo+IHBhdGgNCj4gKyAgICAvLyBhbmQgVVNCIEJ1cyBkcml2ZXIgYWxyZWFkeSBzdXBwb3J0 IFJlbWFpbmluZ0RldmljZVBhdGggc3RhcnRzIHdpdGgNCj4gVVNCDQo+ICsgICAgLy8gQ2xhc3Mg b3IgVVNCIFdXSUQgZGV2aWNlIHBhdGgsIHNvIGp1c3Qgc2VhcmNoIGluIGV4aXN0aW5nIFVTQiBk ZXZpY2VzDQo+IGFuZA0KPiArICAgIC8vIGRvZXNuJ3QgcGVyZm9ybSBDb25uZWN0Q29udHJvbGxl ciBoZXJlLg0KPiArICAgIC8vDQo+ICsgICAgSW1hZ2VIYW5kbGUgPSBCZHNGaW5kVXNiRGV2aWNl IChUZW1wRGV2aWNlUGF0aCwNCj4gU2hvcnRGb3JtRGV2aWNlUGF0aCk7DQo+ICsgICAgRnJlZVBv b2wgKFRlbXBEZXZpY2VQYXRoKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBJbWFnZUhhbmRs ZTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFByb2Nlc3MgdGhlIGJvb3Qgb3B0aW9uIGZvbGxv dyB0aGUgVUVGSSBzcGVjaWZpY2F0aW9uIGFuZA0KPiArICBzcGVjaWFsIHRyZWF0IHRoZSBsZWdh Y3kgYm9vdCBvcHRpb24gd2l0aCBCQlNfREVWSUNFX1BBVEguDQo+ICsNCj4gKyAgQHBhcmFtICBP cHRpb24gICAgICAgICAgICAgICAgIFRoZSBib290IG9wdGlvbiBuZWVkIHRvIGJlIHByb2Nlc3Nl ZA0KPiArICBAcGFyYW0gIERldmljZVBhdGggICAgICAgICAgICAgVGhlIGRldmljZSBwYXRoIHdo aWNoIGRlc2NyaWJlIHdoZXJlIHRvIGxvYWQNCj4gdGhlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBib290IGltYWdlIG9yIHRoZSBsZWdhY3kgQkJTIGRldmljZSBwYXRoIHRv IGJvb3QNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBsZWdhY3kgT1MN Cj4gKyAgQHBhcmFtICBFeGl0RGF0YVNpemUgICAgICAgICAgIFRoZSBzaXplIG9mIGV4aXQgZGF0 YS4NCj4gKyAgQHBhcmFtICBFeGl0RGF0YSAgICAgICAgICAgICAgIERhdGEgcmV0dXJuZWQgd2hl biBCb290IGltYWdlIGZhaWxlZC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICAgQm9vdCBmcm9tIHRoZSBpbnB1dCBib290IG9wdGlvbiBzdWNjZXNzZnVsbHkuDQo+ICsg IEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgICBJZiB0aGUgRGV2aWNlIFBhdGggaXMgbm90 IGZvdW5kIGluIHRoZQ0KPiBzeXN0ZW0NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK0Jkc0xpYkJvb3RWaWFCb290T3B0aW9uICgNCj4gKyAgSU4gIEJEU19DT01NT05f T1BUSU9OICAgICAgICAgICAgICpPcHRpb24sDQo+ICsgIElOICBFRklfREVWSUNFX1BBVEhfUFJP VE9DT0wgICAgICAqRGV2aWNlUGF0aCwNCj4gKyAgT1VUIFVJTlROICAgICAgICAgICAgICAgICAg ICAgICAgICpFeGl0RGF0YVNpemUsDQo+ICsgIE9VVCBDSEFSMTYgICAgICAgICAgICAgICAgICAg ICAgICAqKkV4aXREYXRhIE9QVElPTkFMDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3Rh dHVzTG9nbzsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICBIYW5kbGU7DQo+ICsgIEVG SV9IQU5ETEUgICAgICAgICAgICAgICAgSW1hZ2VIYW5kbGU7DQo+ICsgIEVGSV9ERVZJQ0VfUEFU SF9QUk9UT0NPTCAgKkZpbGVQYXRoOw0KPiArICBFRklfTE9BREVEX0lNQUdFX1BST1RPQ09MICpJ bWFnZUluZm87DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKldvcmtpbmdEZXZpY2VQ YXRoOw0KPiArICBFRklfQUNQSV9TM19TQVZFX1BST1RPQ09MICpBY3BpUzNTYXZlOw0KPiArICBM SVNUX0VOVFJZICAgICAgICAgICAgICAgIFRlbXBCb290TGlzdHM7DQo+ICsgIEVGSV9CT09UX0xP R09fUFJPVE9DT0wgICAgKkJvb3RMb2dvOw0KPiArDQo+ICsgICpFeGl0RGF0YVNpemUgPSAwOw0K PiArICAqRXhpdERhdGEgICAgID0gTlVMTDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBOb3Rlczog dGhpcyBjb2RlIGNhbiBiZSByZW1vdmUgYWZ0ZXIgdGhlIHMzIHNjcmlwdCB0YWJsZQ0KPiArICAv LyBob29rIG9uIHRoZSBldmVudCBFVlRfU0lHTkFMX1JFQURZX1RPX0JPT1Qgb3INCj4gKyAgLy8g RVZUX1NJR05BTF9MRUdBQ1lfQk9PVA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0 ZVByb3RvY29sICgmZ0VmaUFjcGlTM1NhdmVQcm90b2NvbEd1aWQsIE5VTEwsIChWT0lEDQo+ICoq KSAmQWNwaVMzU2F2ZSk7DQo+ICsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAg QWNwaVMzU2F2ZS0+UzNTYXZlIChBY3BpUzNTYXZlLCBOVUxMKTsNCj4gKyAgfQ0KPiArICAvLw0K PiArICAvLyBJZiBpdCdzIERldmljZSBQYXRoIHRoYXQgc3RhcnRzIHdpdGggYSBoYXJkIGRyaXZl IHBhdGgsIGFwcGVuZCBpdCB3aXRoIHRoZQ0KPiBmcm9udCBwYXJ0IHRvIGNvbXBvc2UgYQ0KPiAr ICAvLyBmdWxsIGRldmljZSBwYXRoDQo+ICsgIC8vDQo+ICsgIFdvcmtpbmdEZXZpY2VQYXRoID0g TlVMTDsNCj4gKyAgaWYgKChEZXZpY2VQYXRoVHlwZSAoRGV2aWNlUGF0aCkgPT0gTUVESUFfREVW SUNFX1BBVEgpICYmDQo+ICsgICAgICAoRGV2aWNlUGF0aFN1YlR5cGUgKERldmljZVBhdGgpID09 IE1FRElBX0hBUkREUklWRV9EUCkpIHsNCj4gKyAgICBXb3JraW5nRGV2aWNlUGF0aCA9IEJkc0V4 cGFuZFBhcnRpdGlvblBhcnRpYWxEZXZpY2VQYXRoVG9GdWxsICgNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgKEhBUkREUklWRV9ERVZJQ0VfUEFUSCAqKURldmljZVBhdGgNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoV29ya2luZ0RldmljZVBhdGggIT0g TlVMTCkgew0KPiArICAgICAgRGV2aWNlUGF0aCA9IFdvcmtpbmdEZXZpY2VQYXRoOw0KPiArICAg IH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCBCb290IEN1cnJlbnQNCj4gKyAg Ly8NCj4gKyAgaWYgKElzQm9vdE9wdGlvblZhbGlkTlZWYXJpYWxiZSAoT3B0aW9uKSkgew0KPiAr ICAgIC8vDQo+ICsgICAgLy8gRm9yIGEgdGVtcG9yYXJ5IGJvb3QgKGkuZS4gYSBib290IGJ5IHNl bGVjdGVkIGEgRUZJIFNoZWxsIHVzaW5nICJCb290DQo+IEZyb20gRmlsZSIpLCBCb290IEN1cnJl bnQgaXMgYWN0dWFsbHkgbm90IHZhbGlkLg0KPiArICAgIC8vIEluIHRoaXMgY2FzZSwgIkJvb3RD dXJyZW50IiBpcyBub3QgY3JlYXRlZC4NCj4gKyAgICAvLyBPbmx5IGNyZWF0ZSB0aGUgQm9vdEN1 cnJlbnQgdmFyaWFibGUgd2hlbiBpdCBwb2ludHMgdG8gYSB2YWxpZCBCb290IyMjIw0KPiB2YXJp YWJsZS4NCj4gKyAgICAvLw0KPiArICAgIFNldFZhcmlhYmxlQW5kUmVwb3J0U3RhdHVzQ29kZU9u RXJyb3IgKA0KPiArICAgICAgICAgIEwiQm9vdEN1cnJlbnQiLA0KPiArICAgICAgICAgICZnRWZp R2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgIEVGSV9WQVJJQUJMRV9CT09UU0VSVklD RV9BQ0NFU1MgfA0KPiBFRklfVkFSSUFCTEVfUlVOVElNRV9BQ0NFU1MsDQo+ICsgICAgICAgICAg c2l6ZW9mIChVSU5UMTYpLA0KPiArICAgICAgICAgICZPcHRpb24tPkJvb3RDdXJyZW50DQo+ICsg ICAgICAgICAgKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlcG9ydCBTdGF0dXMg Q29kZSB0byBpbmRpY2F0ZSBSZWFkeVRvQm9vdCBldmVudCB3aWxsIGJlIHNpZ25hbGxlZA0KPiAr ICAvLw0KPiArICBSRVBPUlRfU1RBVFVTX0NPREUgKEVGSV9QUk9HUkVTU19DT0RFLA0KPiAoRUZJ X1NPRlRXQVJFX0RYRV9CU19EUklWRVIgfA0KPiBFRklfU1dfRFhFX0JTX1BDX1JFQURZX1RPX0JP T1RfRVZFTlQpKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTaWduYWwgdGhlIEVWVF9TSUdOQUxf UkVBRFlfVE9fQk9PVCBldmVudA0KPiArICAvLw0KPiArICBFZmlTaWduYWxFdmVudFJlYWR5VG9C b290KCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRXhwYW5kIFVTQiBDbGFzcyBvciBVU0IgV1dJ RCBkZXZpY2UgcGF0aCBub2RlIHRvIGJlIGZ1bGwgZGV2aWNlIHBhdGgNCj4gb2YgYSBVU0INCj4g KyAgLy8gZGV2aWNlIGluIHBsYXRmb3JtIHRoZW4gbG9hZCB0aGUgYm9vdCBmaWxlIG9uIHRoaXMg ZnVsbCBkZXZpY2UgcGF0aCBhbmQgZ2V0DQo+IHRoZQ0KPiArICAvLyBpbWFnZSBoYW5kbGUuDQo+ ICsgIC8vDQo+ICsgIEltYWdlSGFuZGxlID0gQmRzRXhwYW5kVXNiU2hvcnRGb3JtRGV2aWNlUGF0 aCAoRGV2aWNlUGF0aCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQWRqdXN0IHRoZSBkaWZmZXJl bnQgdHlwZSBtZW1vcnkgcGFnZSBudW1iZXIganVzdCBiZWZvcmUgYm9vdGluZw0KPiArICAvLyBh bmQgc2F2ZSB0aGUgdXBkYXRlZCBpbmZvIGludG8gdGhlIHZhcmlhYmxlIGZvciBuZXh0IGJvb3Qg dG8gdXNlDQo+ICsgIC8vDQo+ICsgIEJkc1NldE1lbW9yeVR5cGVJbmZvcm1hdGlvblZhcmlhYmxl ICgpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJ5IGV4cGFuZGluZyB0aGUgVVNCIENsYXNzIG9y IFdXSUQgZGV2aWNlIHBhdGgsIHRoZSBJbWFnZUhhbmRsZSBoYXMNCj4gcmV0dXJubmVkLg0KPiAr ICAvLyBIZXJlIGdldCB0aGUgSW1hZ2VIYW5kbGUgZm9yIHRoZSBub24gVVNCIGNsYXNzIG9yIFdX SUQgZGV2aWNlIHBhdGguDQo+ICsgIC8vDQo+ICsgIGlmIChJbWFnZUhhbmRsZSA9PSBOVUxMKSB7 DQo+ICsgICAgQVNTRVJUIChPcHRpb24tPkRldmljZVBhdGggIT0gTlVMTCk7DQo+ICsgICAgaWYg KChEZXZpY2VQYXRoVHlwZSAoT3B0aW9uLT5EZXZpY2VQYXRoKSA9PSBCQlNfREVWSUNFX1BBVEgp ICYmDQo+ICsgICAgICAgIChEZXZpY2VQYXRoU3ViVHlwZSAoT3B0aW9uLT5EZXZpY2VQYXRoKSA9 PSBCQlNfQkJTX0RQKQ0KPiArICAgICAgICkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIENo ZWNrIHRvIHNlZSBpZiB3ZSBzaG91bGQgbGVnYWN5IEJPT1QuIElmIHllcyB0aGVuIGRvIHRoZSBs ZWdhY3kgYm9vdA0KPiArICAgICAgLy8NCj4gKyAgICAgIHJldHVybiBCZHNMaWJEb0xlZ2FjeUJv b3QgKE9wdGlvbik7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiB0aGUg Ym9vdCBvcHRpb24gcG9pbnQgdG8gSW50ZXJuYWwgRlYgc2hlbGwsIG1ha2Ugc3VyZSBpdCBpcyB2 YWxpZA0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gQmRzTGliVXBkYXRlRnZGaWxlRGV2aWNl UGF0aCAoJkRldmljZVBhdGgsDQo+ICZnVWVmaVNoZWxsRmlsZUd1aWQpOw0KPiArICAgIGlmICgh RUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICAgIGlmIChPcHRpb24tPkRldmljZVBhdGggIT0g TlVMTCkgew0KPiArICAgICAgICBGcmVlUG9vbChPcHRpb24tPkRldmljZVBhdGgpOw0KPiArICAg ICAgfQ0KPiArICAgICAgT3B0aW9uLT5EZXZpY2VQYXRoICA9IEFsbG9jYXRlWmVyb1Bvb2wgKEdl dERldmljZVBhdGhTaXplDQo+IChEZXZpY2VQYXRoKSk7DQo+ICsgICAgICBBU1NFUlQoT3B0aW9u LT5EZXZpY2VQYXRoICE9IE5VTEwpOw0KPiArICAgICAgQ29weU1lbSAoT3B0aW9uLT5EZXZpY2VQ YXRoLCBEZXZpY2VQYXRoLCBHZXREZXZpY2VQYXRoU2l6ZQ0KPiAoRGV2aWNlUGF0aCkpOw0KPiAr ICAgICAgLy8NCj4gKyAgICAgIC8vIFVwZGF0ZSB0aGUgc2hlbGwgYm9vdCBvcHRpb24NCj4gKyAg ICAgIC8vDQo+ICsgICAgICBJbml0aWFsaXplTGlzdEhlYWQgKCZUZW1wQm9vdExpc3RzKTsNCj4g KyAgICAgIEJkc0xpYlJlZ2lzdGVyTmV3T3B0aW9uICgmVGVtcEJvb3RMaXN0cywgRGV2aWNlUGF0 aCwgTCJFRkkgSW50ZXJuYWwNCj4gU2hlbGwiLCBMIkJvb3RPcmRlciIpOw0KPiArDQo+ICsgICAg ICAvLw0KPiArICAgICAgLy8gZnJlZSB0aGUgdGVtcG9yYXJ5IGRldmljZSBwYXRoIGNyZWF0ZWQg YnkNCj4gQmRzTGliVXBkYXRlRnZGaWxlRGV2aWNlUGF0aCgpDQo+ICsgICAgICAvLw0KPiArICAg ICAgRnJlZVBvb2wgKERldmljZVBhdGgpOw0KPiArICAgICAgRGV2aWNlUGF0aCA9IE9wdGlvbi0+ RGV2aWNlUGF0aDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBERUJVR19DT0RFX0JFR0lOKCk7DQo+ ICsNCj4gKyAgICBpZiAoT3B0aW9uLT5EZXNjcmlwdGlvbiA9PSBOVUxMKSB7DQo+ICsgICAgICBE RUJVRyAoKERFQlVHX0lORk8gfCBERUJVR19MT0FELCAiQm9vdGluZyBmcm9tIHVua25vd24gZGV2 aWNlDQo+IHBhdGhcbiIpKTsNCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgREVCVUcgKChERUJV R19JTkZPIHwgREVCVUdfTE9BRCwgIkJvb3RpbmcgJVNcbiIsIE9wdGlvbi0NCj4gPkRlc2NyaXB0 aW9uKSk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgREVCVUdfQ09ERV9FTkQoKTsNCj4gKw0KPiAr ICAgIC8vDQo+ICsgICAgLy8gUmVwb3J0IHN0YXR1cyBjb2RlIGZvciBPUyBMb2FkZXIgTG9hZElt YWdlLg0KPiArICAgIC8vDQo+ICsgICAgUkVQT1JUX1NUQVRVU19DT0RFIChFRklfUFJPR1JFU1Nf Q09ERSwgUGNkR2V0MzINCj4gKFBjZFByb2dyZXNzQ29kZU9zTG9hZGVyTG9hZCkpOw0KPiArICAg IFN0YXR1cyA9IGdCUy0+TG9hZEltYWdlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgVFJVRSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgZ0ltYWdlSGFuZGxlLA0KPiArICAgICAgICAgICAgICAg ICAgICBEZXZpY2VQYXRoLA0KPiArICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAg ICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgICAmSW1hZ2VIYW5kbGUNCj4g KyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gSWYgd2Ug ZGlkbid0IGZpbmQgYW4gaW1hZ2UgZGlyZWN0bHksIHdlIG5lZWQgdG8gdHJ5IGFzIGlmIGl0IGlz IGEgcmVtb3ZhYmxlDQo+IGRldmljZSBib290IG9wdGlvbg0KPiArICAgIC8vIGFuZCBsb2FkIHRo ZSBpbWFnZSBhY2NvcmRpbmcgdG8gdGhlIGRlZmF1bHQgYm9vdCBiZWhhdmlvciBmb3INCj4gcmVt b3ZhYmxlIGRldmljZS4NCj4gKyAgICAvLw0KPiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykp IHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBjaGVjayBpZiB0aGVyZSBpcyBhIGJvb3RhYmxl IHJlbW92YWJsZSBtZWRpYSBjb3VsZCBiZSBmb3VuZCBpbiB0aGlzDQo+IGRldmljZSBwYXRoICwN Cj4gKyAgICAgIC8vIGFuZCBnZXQgdGhlIGJvb3RhYmxlIG1lZGlhIGhhbmRsZQ0KPiArICAgICAg Ly8NCj4gKyAgICAgIEhhbmRsZSA9IEJkc0xpYkdldEJvb3RhYmxlSGFuZGxlKERldmljZVBhdGgp Ow0KPiArICAgICAgaWYgKEhhbmRsZSAhPSBOVUxMKSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAg ICAgIC8vIExvYWQgdGhlIGRlZmF1bHQgYm9vdCBmaWxlIFxFRklcQk9PVFxib290e21hY2hpbmVu YW1lfS5FRkkgZnJvbQ0KPiByZW1vdmFibGUgTWVkaWENCj4gKyAgICAgICAgLy8gIG1hY2hpbmVu YW1lIGlzIGlhMzIsIGlhNjQsIHg2NCwgLi4uDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIEZp bGVQYXRoID0gRmlsZURldmljZVBhdGggKEhhbmRsZSwNCj4gRUZJX1JFTU9WQUJMRV9NRURJQV9G SUxFX05BTUUpOw0KPiArICAgICAgICBpZiAoRmlsZVBhdGggIT0gTlVMTCkgew0KPiArICAgICAg ICAgIFJFUE9SVF9TVEFUVVNfQ09ERSAoRUZJX1BST0dSRVNTX0NPREUsIFBjZEdldDMyDQo+IChQ Y2RQcm9ncmVzc0NvZGVPc0xvYWRlckxvYWQpKTsNCj4gKyAgICAgICAgICBTdGF0dXMgPSBnQlMt PkxvYWRJbWFnZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFRSVUUsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIGdJbWFnZUhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgRmlsZVBhdGgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICZJbWFnZUhhbmRsZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAg ICAgICB9DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsgIC8vDQo+ICsgIC8vIFBy b3ZpZGUgdGhlIGltYWdlIHdpdGggaXQncyBsb2FkIG9wdGlvbnMNCj4gKyAgLy8NCj4gKyAgaWYg KChJbWFnZUhhbmRsZSA9PSBOVUxMKSB8fCAoRUZJX0VSUk9SKFN0YXR1cykpKSB7DQo+ICsgICAg Ly8NCj4gKyAgICAvLyBSZXBvcnQgU3RhdHVzIENvZGUgdG8gaW5kaWNhdGUgdGhhdCB0aGUgZmFp bHVyZSB0byBsb2FkIGJvb3Qgb3B0aW9uDQo+ICsgICAgLy8NCj4gKyAgICBSRVBPUlRfU1RBVFVT X0NPREUgKA0KPiArICAgICAgRUZJX0VSUk9SX0NPREUgfCBFRklfRVJST1JfTUlOT1IsDQo+ICsg ICAgICAoRUZJX1NPRlRXQVJFX0RYRV9CU19EUklWRVIgfA0KPiBFRklfU1dfRFhFX0JTX0VDX0JP T1RfT1BUSU9OX0xPQURfRVJST1IpDQo+ICsgICAgICApOw0KPiArICAgIGdvdG8gRG9uZTsNCj4g KyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKEltYWdlSGFuZGxl LA0KPiAmZ0VmaUxvYWRlZEltYWdlUHJvdG9jb2xHdWlkLCAoVk9JRCAqKikgJkltYWdlSW5mbyk7 DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgaWYgKE9wdGlvbi0+ TG9hZE9wdGlvbnNTaXplICE9IDApIHsNCj4gKyAgICBJbWFnZUluZm8tPkxvYWRPcHRpb25zU2l6 ZSAgPSBPcHRpb24tPkxvYWRPcHRpb25zU2l6ZTsNCj4gKyAgICBJbWFnZUluZm8tPkxvYWRPcHRp b25zICAgICAgPSBPcHRpb24tPkxvYWRPcHRpb25zOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gQ2xlYW4gdG8gTlVMTCBiZWNhdXNlIHRoZSBpbWFnZSBpcyBsb2FkZWQgZGlyZWN0bHkg ZnJvbSB0aGUgZmlybXdhcmVzDQo+IGJvb3QgbWFuYWdlci4NCj4gKyAgLy8NCj4gKyAgSW1hZ2VJ bmZvLT5QYXJlbnRIYW5kbGUgPSBOVUxMOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJlZm9yZSBj YWxsaW5nIHRoZSBpbWFnZSwgZW5hYmxlIHRoZSBXYXRjaGRvZyBUaW1lciBmb3INCj4gKyAgLy8g dGhlIDUgTWludXRlIHBlcmlvZA0KPiArICAvLw0KPiArICBnQlMtPlNldFdhdGNoZG9nVGltZXIg KDUgKiA2MCwgMHgwMDAwLCAweDAwLCBOVUxMKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBXcml0 ZSBib290IHRvIE9TIHBlcmZvcm1hbmNlIGRhdGEgZm9yIFVFRkkgYm9vdA0KPiArICAvLw0KPiAr ICBQRVJGX0NPREUgKA0KPiArICAgIEJtRW5kT2ZCZHNQZXJmQ29kZSAoTlVMTCwgTlVMTCk7DQo+ ICsgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVwb3J0IHN0YXR1cyBjb2RlIGZvciBPUyBM b2FkZXIgU3RhcnRJbWFnZS4NCj4gKyAgLy8NCj4gKyAgUkVQT1JUX1NUQVRVU19DT0RFIChFRklf UFJPR1JFU1NfQ09ERSwgUGNkR2V0MzINCj4gKFBjZFByb2dyZXNzQ29kZU9zTG9hZGVyU3RhcnQp KTsNCj4gKw0KPiArICBTdGF0dXMgPSBnQlMtPlN0YXJ0SW1hZ2UgKEltYWdlSGFuZGxlLCBFeGl0 RGF0YVNpemUsIEV4aXREYXRhKTsNCj4gKyAgREVCVUcgKChERUJVR19JTkZPIHwgREVCVUdfTE9B RCwgIkltYWdlIFJldHVybiBTdGF0dXMgPSAlclxuIiwNCj4gU3RhdHVzKSk7DQo+ICsgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFJlcG9ydCBTdGF0dXMg Q29kZSB0byBpbmRpY2F0ZSB0aGF0IGJvb3QgZmFpbHVyZQ0KPiArICAgIC8vDQo+ICsgICAgUkVQ T1JUX1NUQVRVU19DT0RFICgNCj4gKyAgICAgIEVGSV9FUlJPUl9DT0RFIHwgRUZJX0VSUk9SX01J Tk9SLA0KPiArICAgICAgKEVGSV9TT0ZUV0FSRV9EWEVfQlNfRFJJVkVSIHwNCj4gRUZJX1NXX0RY RV9CU19FQ19CT09UX09QVElPTl9GQUlMRUQpDQo+ICsgICAgICApOw0KPiArICB9DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gQ2xlYXIgdGhlIFdhdGNoZG9nIFRpbWVyIGFmdGVyIHRoZSBpbWFnZSBy ZXR1cm5zDQo+ICsgIC8vDQo+ICsgIGdCUy0+U2V0V2F0Y2hkb2dUaW1lciAoMHgwMDAwLCAweDAw MDAsIDB4MDAwMCwgTlVMTCk7DQo+ICsNCj4gK0RvbmU6DQo+ICsgIC8vDQo+ICsgIC8vIFNldCBM b2dvIHN0YXR1cyBpbnZhbGlkIGFmdGVyIHRyeWluZyBvbmUgYm9vdCBvcHRpb24NCj4gKyAgLy8N Cj4gKyAgQm9vdExvZ28gPSBOVUxMOw0KPiArICBTdGF0dXNMb2dvID0gZ0JTLT5Mb2NhdGVQcm90 b2NvbCAoJmdFZmlCb290TG9nb1Byb3RvY29sR3VpZCwgTlVMTCwNCj4gKFZPSUQgKiopICZCb290 TG9nbyk7DQo+ICsgIGlmICghRUZJX0VSUk9SIChTdGF0dXNMb2dvKSAmJiAoQm9vdExvZ28gIT0g TlVMTCkpIHsNCj4gKyAgICBCb290TG9nby0+U2V0Qm9vdExvZ28gKEJvb3RMb2dvLCBOVUxMLCAw LCAwLCAwLCAwKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENsZWFyIEJvb3QgQ3Vy cmVudA0KPiArICAvLyBEZWxldGluZyB2YXJpYWJsZSB3aXRoIGN1cnJlbnQgaW1wbGVtZW50YXRp b24gc2hvdWxkbid0IGZhaWwuDQo+ICsgIC8vDQo+ICsgIGdSVC0+U2V0VmFyaWFibGUgKA0KPiAr ICAgICAgICBMIkJvb3RDdXJyZW50IiwNCj4gKyAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1 aWQsDQo+ICsgICAgICAgIEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBFRklf VkFSSUFCTEVfUlVOVElNRV9BQ0NFU1MsDQo+ICsgICAgICAgIDAsDQo+ICsgICAgICAgIE5VTEwN Cj4gKyAgICAgICAgKTsNCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsN Cj4gKy8qKg0KPiArICBFeHBhbmQgYSBkZXZpY2UgcGF0aCB0aGF0IHN0YXJ0cyB3aXRoIGEgaGFy ZCBkcml2ZSBtZWRpYSBkZXZpY2UgcGF0aCBub2RlDQo+IHRvIGJlIGENCj4gKyAgZnVsbCBkZXZp Y2UgcGF0aCB0aGF0IGluY2x1ZGVzIHRoZSBmdWxsIGhhcmR3YXJlIHBhdGggdG8gdGhlIGRldmlj ZS4gV2UNCj4gbmVlZA0KPiArICB0byBkbyB0aGlzIHNvIGl0IGNhbiBiZSBib290ZWQuIEFzIGFu IG9wdGltaXphdGlvbiB0aGUgZnJvbnQgbWF0Y2ggKHRoZSBwYXJ0DQo+IHBvaW50DQo+ICsgIHRv IHRoZSBwYXJ0aXRpb24gbm9kZS4gRS5nLiBBQ1BJKCkgL1BDSSgpL0FUQSgpL1BhcnRpdGlvbigp ICkgaXMgc2F2ZWQgaW4gYQ0KPiB2YXJpYWJsZQ0KPiArICBzbyBhIGNvbm5lY3QgYWxsIGlzIG5v dCByZXF1aXJlZCBvbiBldmVyeSBib290LiBBbGwgc3VjY2Vzc2Z1bCBoaXN0b3J5IGRldmljZQ0K PiBwYXRoDQo+ICsgIHdoaWNoIHBvaW50IHRvIHBhcnRpdGlvbiBub2RlICh0aGUgZnJvbnQgcGFy dCkgd2lsbCBiZSBzYXZlZC4NCj4gKw0KPiArICBAcGFyYW0gIEhhcmREcml2ZURldmljZVBhdGgg ICAgRUZJIERldmljZSBQYXRoIHRvIGJvb3QsIGlmIGl0IHN0YXJ0cyB3aXRoIGENCj4gaGFyZA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZHJpdmUgbWVkaWEgZGV2aWNlIHBh dGguDQo+ICsgIEByZXR1cm4gQSBQb2ludGVyIHRvIHRoZSBmdWxsIGRldmljZSBwYXRoIG9yIE5V TEwgaWYgYSB2YWxpZCBIYXJkIERyaXZlIGRldmljDQo+IHBhdGgNCj4gKyAgICAgICAgICBjYW5u b3QgYmUgZm91bmQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICoN Cj4gK0VGSUFQSQ0KPiArQmRzRXhwYW5kUGFydGl0aW9uUGFydGlhbERldmljZVBhdGhUb0Z1bGwg KA0KPiArICBJTiAgSEFSRERSSVZFX0RFVklDRV9QQVRIICAgICAgKkhhcmREcml2ZURldmljZVBh dGgNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgIFN0YXR1czsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBCbG9ja0lvSGFuZGxlQ291bnQ7DQo+ICsg IEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgKkJsb2NrSW9CdWZmZXI7DQo+ICsgIEVGSV9ERVZJ Q0VfUEFUSF9QUk9UT0NPTCAgKkZ1bGxEZXZpY2VQYXRoOw0KPiArICBFRklfREVWSUNFX1BBVEhf UFJPVE9DT0wgICpCbG9ja0lvRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RP Q09MICAqRGV2aWNlUGF0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJbmRleDsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZU51bTsNCj4gKyAgRUZJX0RF VklDRV9QQVRIX1BST1RPQ09MICAqQ2FjaGVkRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9Q QVRIX1BST1RPQ09MICAqVGVtcE5ld0RldmljZVBhdGg7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgQ2FjaGVkRGV2aWNlUGF0aFNpemU7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAg ICAgICAgRGV2aWNlRXhpc3Q7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgTmVlZEFk anVzdDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqSW5zdGFuY2U7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgU2l6ZTsNCj4gKw0KPiArICBGdWxsRGV2aWNlUGF0aCA9 IE5VTEw7DQo+ICsgIC8vDQo+ICsgIC8vIENoZWNrIGlmIHRoZXJlIGlzIHByZXN0b3JlIEhEX0JP T1RfREVWSUNFX1BBVEhfVkFSSUFCTEVfTkFNRQ0KPiB2YXJpYWJsZS4NCj4gKyAgLy8gSWYgZXhp c3QsIHNlYXJjaCB0aGUgZnJvbnQgcGF0aCB3aGljaCBwb2ludCB0byBwYXJ0aXRpb24gbm9kZSBp biB0aGUNCj4gdmFyaWFibGUgaW5zdGFudHMuDQo+ICsgIC8vIElmIGZhaWwgdG8gZmluZCBvciBI RF9CT09UX0RFVklDRV9QQVRIX1ZBUklBQkxFX05BTUUgbm90IGV4aXN0LA0KPiByZWNvbm5lY3Qg YWxsIGFuZCBzZWFyY2ggaW4gYWxsIHN5c3RlbQ0KPiArICAvLw0KPiArICBHZXRWYXJpYWJsZTIg KA0KPiArICAgIEhEX0JPT1RfREVWSUNFX1BBVEhfVkFSSUFCTEVfTkFNRSwNCj4gKyAgICAmZ0hk Qm9vdERldmljZVBhdGhWYXJpYWJsR3VpZCwNCj4gKyAgICAoVk9JRCAqKikgJkNhY2hlZERldmlj ZVBhdGgsDQo+ICsgICAgJkNhY2hlZERldmljZVBhdGhTaXplDQo+ICsgICAgKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBEZWxldGUgdGhlIGludmFsaWQgSERfQk9PVF9ERVZJQ0VfUEFUSF9WQVJJ QUJMRV9OQU1FIHZhcmlhYmxlLg0KPiArICAvLw0KPiArICBpZiAoKENhY2hlZERldmljZVBhdGgg IT0gTlVMTCkgJiYgIUlzRGV2aWNlUGF0aFZhbGlkIChDYWNoZWREZXZpY2VQYXRoLA0KPiBDYWNo ZWREZXZpY2VQYXRoU2l6ZSkpIHsNCj4gKyAgICBGcmVlUG9vbCAoQ2FjaGVkRGV2aWNlUGF0aCk7 DQo+ICsgICAgQ2FjaGVkRGV2aWNlUGF0aCA9IE5VTEw7DQo+ICsgICAgU3RhdHVzID0gZ1JULT5T ZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgIEhEX0JPT1RfREVWSUNFX1BBVEhf VkFSSUFCTEVfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgJmdIZEJvb3REZXZpY2VQYXRo VmFyaWFibEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAg ICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArICB9DQo+ICsN Cj4gKyAgaWYgKENhY2hlZERldmljZVBhdGggIT0gTlVMTCkgew0KPiArICAgIFRlbXBOZXdEZXZp Y2VQYXRoID0gQ2FjaGVkRGV2aWNlUGF0aDsNCj4gKyAgICBEZXZpY2VFeGlzdCA9IEZBTFNFOw0K PiArICAgIE5lZWRBZGp1c3QgPSBGQUxTRTsNCj4gKyAgICBkbyB7DQo+ICsgICAgICAvLw0KPiAr ICAgICAgLy8gQ2hlY2sgZXZlcnkgaW5zdGFuY2Ugb2YgdGhlIHZhcmlhYmxlDQo+ICsgICAgICAv LyBGaXJzdCwgY2hlY2sgd2hldGhlciB0aGUgaW5zdGFuY2UgY29udGFpbiB0aGUgcGFydGl0aW9u IG5vZGUsIHdoaWNoIGlzDQo+IG5lZWRlZCBmb3IgZGlzdGluZ3Vpc2hpbmcgIG11bHRpDQo+ICsg ICAgICAvLyBwYXJ0aWFsIHBhcnRpdGlvbiBib290IG9wdGlvbi4gU2Vjb25kLCBjaGVjayB3aGV0 aGVyIHRoZSBpbnN0YW5jZQ0KPiBjb3VsZCBiZSBjb25uZWN0ZWQuDQo+ICsgICAgICAvLw0KPiAr ICAgICAgSW5zdGFuY2UgID0gR2V0TmV4dERldmljZVBhdGhJbnN0YW5jZSAoJlRlbXBOZXdEZXZp Y2VQYXRoLCAmU2l6ZSk7DQo+ICsgICAgICBpZiAoTWF0Y2hQYXJ0aXRpb25EZXZpY2VQYXRoTm9k ZSAoSW5zdGFuY2UsIEhhcmREcml2ZURldmljZVBhdGgpKSB7DQo+ICsgICAgICAgIC8vDQo+ICsg ICAgICAgIC8vIENvbm5lY3QgdGhlIGRldmljZSBwYXRoIGluc3RhbmNlLCB0aGUgZGV2aWNlIHBh dGggcG9pbnQgdG8gaGFyZCBkcml2ZQ0KPiBtZWRpYSBkZXZpY2UgcGF0aCBub2RlDQo+ICsgICAg ICAgIC8vIGUuZy4gQUNQSSgpIC9QQ0koKS9BVEEoKS9QYXJ0aXRpb24oKQ0KPiArICAgICAgICAv Lw0KPiArICAgICAgICBTdGF0dXMgPSBCZHNMaWJDb25uZWN0RGV2aWNlUGF0aCAoSW5zdGFuY2Up Ow0KPiArICAgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICAgIERl dmljZUV4aXN0ID0gVFJVRTsNCj4gKyAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgfQ0KPiAr ICAgICAgfQ0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIENvbWUgaGVyZSBtZWFucyB0aGUgZmly c3QgaW5zdGFuY2UgaXMgbm90IG1hdGNoZWQNCj4gKyAgICAgIC8vDQo+ICsgICAgICBOZWVkQWRq dXN0ID0gVFJVRTsNCj4gKyAgICAgIEZyZWVQb29sKEluc3RhbmNlKTsNCj4gKyAgICB9IHdoaWxl IChUZW1wTmV3RGV2aWNlUGF0aCAhPSBOVUxMKTsNCj4gKw0KPiArICAgIGlmIChEZXZpY2VFeGlz dCkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEZpbmQgdGhlIG1hdGNoZWQgZGV2aWNlIHBh dGguDQo+ICsgICAgICAvLyBBcHBlbmQgdGhlIGZpbGUgcGF0aCBpbmZvcm1hdGlvbiBmcm9tIHRo ZSBib290IG9wdGlvbiBhbmQgcmV0dXJuIHRoZQ0KPiBmdWxseSBleHBhbmRlZCBkZXZpY2UgcGF0 aC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBEZXZpY2VQYXRoICAgICA9IE5leHREZXZpY2VQYXRo Tm9kZSAoKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKQ0KPiBIYXJkRHJpdmVEZXZpY2VQYXRo KTsNCj4gKyAgICAgIEZ1bGxEZXZpY2VQYXRoID0gQXBwZW5kRGV2aWNlUGF0aCAoSW5zdGFuY2Us IERldmljZVBhdGgpOw0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gQWRqdXN0IHRoZSBI RF9CT09UX0RFVklDRV9QQVRIX1ZBUklBQkxFX05BTUUgaW5zdGFuY2VzDQo+IHNlcXVlbmNlIGlm IHRoZSBtYXRjaGVkIG9uZSBpcyBub3QgZmlyc3Qgb25lLg0KPiArICAgICAgLy8NCj4gKyAgICAg IGlmIChOZWVkQWRqdXN0KSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIEZpcnN0IGRl bGV0ZSB0aGUgbWF0Y2hlZCBpbnN0YW5jZS4NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgVGVt cE5ld0RldmljZVBhdGggPSBDYWNoZWREZXZpY2VQYXRoOw0KPiArICAgICAgICBDYWNoZWREZXZp Y2VQYXRoICA9IEJkc0xpYkRlbFBhcnRNYXRjaEluc3RhbmNlIChDYWNoZWREZXZpY2VQYXRoLA0K PiBJbnN0YW5jZSApOw0KPiArICAgICAgICBGcmVlUG9vbCAoVGVtcE5ld0RldmljZVBhdGgpOw0K PiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFNlY29uZCwgYXBwZW5kIHRoZSByZW1h aW5pbmcgcGF0aCBhZnRlciB0aGUgbWF0Y2hlZCBpbnN0YW5jZQ0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICBUZW1wTmV3RGV2aWNlUGF0aCA9IENhY2hlZERldmljZVBhdGg7DQo+ICsgICAgICAg IENhY2hlZERldmljZVBhdGggPSBBcHBlbmREZXZpY2VQYXRoSW5zdGFuY2UgKEluc3RhbmNlLA0K PiBDYWNoZWREZXZpY2VQYXRoICk7DQo+ICsgICAgICAgIEZyZWVQb29sIChUZW1wTmV3RGV2aWNl UGF0aCk7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFNhdmUgdGhlIG1hdGNoaW5nIERl dmljZSBQYXRoIHNvIHdlIGRvbid0IG5lZWQgdG8gZG8gYSBjb25uZWN0IGFsbA0KPiBuZXh0IHRp bWUNCj4gKyAgICAgICAgLy8gRmFpbHVyZSB0byBzZXQgdGhlIHZhcmlhYmxlIG9ubHkgaW1wYWN0 cyB0aGUgcGVyZm9ybWFuY2Ugd2hlbiBuZXh0DQo+IHRpbWUgZXhwYW5kaW5nIHRoZSBzaG9ydC1m b3JtIGRldmljZSBwYXRoLg0KPiArICAgICAgICAvLw0KPiArICAgICAgICBTdGF0dXMgPSBnUlQt PlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIEhEX0JPT1RfREVWSUNF X1BBVEhfVkFSSUFCTEVfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICZnSGRCb290 RGV2aWNlUGF0aFZhcmlhYmxHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1ZB UklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8DQo+IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBHZXREZXZpY2VQYXRoU2l6ZSAoQ2FjaGVkRGV2 aWNlUGF0aCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBDYWNoZWREZXZpY2VQYXRoDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBG cmVlUG9vbCAoSW5zdGFuY2UpOw0KPiArICAgICAgRnJlZVBvb2wgKENhY2hlZERldmljZVBhdGgp Ow0KPiArICAgICAgcmV0dXJuIEZ1bGxEZXZpY2VQYXRoOw0KPiArICAgIH0NCj4gKyAgfQ0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIElmIHdlIGdldCBoZXJlIHdlIGZhaWwgdG8gZmluZCBvcg0KPiBI RF9CT09UX0RFVklDRV9QQVRIX1ZBUklBQkxFX05BTUUgbm90IGV4aXN0LCBhbmQgbm93IHdlIG5l ZWQNCj4gKyAgLy8gdG8gc2VhcmNoIGFsbCBkZXZpY2VzIGluIHRoZSBzeXN0ZW0gZm9yIGEgbWF0 Y2hlZCBwYXJ0aXRpb24NCj4gKyAgLy8NCj4gKyAgQmRzTGliQ29ubmVjdEFsbERyaXZlcnNUb0Fs bENvbnRyb2xsZXJzICgpOw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAo QnlQcm90b2NvbCwgJmdFZmlCbG9ja0lvUHJvdG9jb2xHdWlkLA0KPiBOVUxMLCAmQmxvY2tJb0hh bmRsZUNvdW50LCAmQmxvY2tJb0J1ZmZlcik7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykg fHwgQmxvY2tJb0hhbmRsZUNvdW50ID09IDAgfHwgQmxvY2tJb0J1ZmZlciA9PQ0KPiBOVUxMKSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiB0aGVyZSB3YXMgYW4gZXJyb3Igb3IgdGhlcmUgYXJl IG5vIGRldmljZSBoYW5kbGVzIHRoYXQgc3VwcG9ydA0KPiArICAgIC8vIHRoZSBCTE9DS19JTyBQ cm90b2NvbCwgdGhlbiByZXR1cm4uDQo+ICsgICAgLy8NCj4gKyAgICByZXR1cm4gTlVMTDsNCj4g KyAgfQ0KPiArICAvLw0KPiArICAvLyBMb29wIHRocm91Z2ggYWxsIHRoZSBkZXZpY2UgaGFuZGxl cyB0aGF0IHN1cHBvcnQgdGhlIEJMT0NLX0lPIFByb3RvY29sDQo+ICsgIC8vDQo+ICsgIGZvciAo SW5kZXggPSAwOyBJbmRleCA8IEJsb2NrSW9IYW5kbGVDb3VudDsgSW5kZXgrKykgew0KPiArDQo+ ICsgICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoQmxvY2tJb0J1ZmZlcltJbmRleF0s DQo+ICZnRWZpRGV2aWNlUGF0aFByb3RvY29sR3VpZCwgKFZPSUQgKikgJkJsb2NrSW9EZXZpY2VQ YXRoKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IEJsb2NrSW9EZXZpY2VQYXRo ID09IE5VTEwpIHsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlm IChNYXRjaFBhcnRpdGlvbkRldmljZVBhdGhOb2RlIChCbG9ja0lvRGV2aWNlUGF0aCwNCj4gSGFy ZERyaXZlRGV2aWNlUGF0aCkpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBGaW5kIHRoZSBt YXRjaGVkIHBhcnRpdGlvbiBkZXZpY2UgcGF0aA0KPiArICAgICAgLy8NCj4gKyAgICAgIERldmlj ZVBhdGggICAgPSBOZXh0RGV2aWNlUGF0aE5vZGUgKChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wg KikNCj4gSGFyZERyaXZlRGV2aWNlUGF0aCk7DQo+ICsgICAgICBGdWxsRGV2aWNlUGF0aCA9IEFw cGVuZERldmljZVBhdGggKEJsb2NrSW9EZXZpY2VQYXRoLCBEZXZpY2VQYXRoKTsNCj4gKw0KPiAr ICAgICAgLy8NCj4gKyAgICAgIC8vIFNhdmUgdGhlIG1hdGNoZWQgcGFydGl0aW9uIGRldmljZSBw YXRoIGluDQo+IEhEX0JPT1RfREVWSUNFX1BBVEhfVkFSSUFCTEVfTkFNRSB2YXJpYWJsZQ0KPiAr ICAgICAgLy8NCj4gKyAgICAgIGlmIChDYWNoZWREZXZpY2VQYXRoICE9IE5VTEwpIHsNCj4gKyAg ICAgICAgLy8NCj4gKyAgICAgICAgLy8gU2F2ZSB0aGUgbWF0Y2hlZCBwYXJ0aXRpb24gZGV2aWNl IHBhdGggYXMgZmlyc3QgaW5zdGFuY2Ugb2YNCj4gSERfQk9PVF9ERVZJQ0VfUEFUSF9WQVJJQUJM RV9OQU1FIHZhcmlhYmxlDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIGlmIChCZHNMaWJNYXRj aERldmljZVBhdGhzIChDYWNoZWREZXZpY2VQYXRoLCBCbG9ja0lvRGV2aWNlUGF0aCkpIHsNCj4g KyAgICAgICAgICBUZW1wTmV3RGV2aWNlUGF0aCA9IENhY2hlZERldmljZVBhdGg7DQo+ICsgICAg ICAgICAgQ2FjaGVkRGV2aWNlUGF0aCA9IEJkc0xpYkRlbFBhcnRNYXRjaEluc3RhbmNlIChDYWNo ZWREZXZpY2VQYXRoLA0KPiBCbG9ja0lvRGV2aWNlUGF0aCk7DQo+ICsgICAgICAgICAgRnJlZVBv b2woVGVtcE5ld0RldmljZVBhdGgpOw0KPiArICAgICAgICB9DQo+ICsNCj4gKyAgICAgICAgaWYg KENhY2hlZERldmljZVBhdGggIT0gTlVMTCkgew0KPiArICAgICAgICAgIFRlbXBOZXdEZXZpY2VQ YXRoID0gQ2FjaGVkRGV2aWNlUGF0aDsNCj4gKyAgICAgICAgICBDYWNoZWREZXZpY2VQYXRoID0g QXBwZW5kRGV2aWNlUGF0aEluc3RhbmNlIChCbG9ja0lvRGV2aWNlUGF0aCwNCj4gQ2FjaGVkRGV2 aWNlUGF0aCk7DQo+ICsgICAgICAgICAgRnJlZVBvb2woVGVtcE5ld0RldmljZVBhdGgpOw0KPiAr ICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgIENhY2hlZERldmljZVBhdGggPSBEdXBsaWNh dGVEZXZpY2VQYXRoIChCbG9ja0lvRGV2aWNlUGF0aCk7DQo+ICsgICAgICAgIH0NCj4gKw0KPiAr ICAgICAgICAvLw0KPiArICAgICAgICAvLyBIZXJlIGxpbWl0IHRoZSBkZXZpY2UgcGF0aCBpbnN0 YW5jZSBudW1iZXIgdG8gMTIsIHdoaWNoIGlzIG1heA0KPiBudW1iZXIgZm9yIGEgc3lzdGVtIHN1 cHBvcnQgMyBJREUgY29udHJvbGxlcg0KPiArICAgICAgICAvLyBJZiB0aGUgdXNlciB0cnkgdG8g Ym9vdCBtYW55IE9TIGluIGRpZmZlcmVudCBIRHMgb3IgcGFydGl0aW9ucywgaW4NCj4gdGhlb3J5 LA0KPiArICAgICAgICAvLyB0aGUgSERfQk9PVF9ERVZJQ0VfUEFUSF9WQVJJQUJMRV9OQU1FIHZh cmlhYmxlIG1heWJlDQo+IGJlY29tZSBsYXJnZXIgYW5kIGxhcmdlci4NCj4gKyAgICAgICAgLy8N Cj4gKyAgICAgICAgSW5zdGFuY2VOdW0gPSAwOw0KPiArICAgICAgICBBU1NFUlQgKENhY2hlZERl dmljZVBhdGggIT0gTlVMTCk7DQo+ICsgICAgICAgIFRlbXBOZXdEZXZpY2VQYXRoID0gQ2FjaGVk RGV2aWNlUGF0aDsNCj4gKyAgICAgICAgd2hpbGUgKCFJc0RldmljZVBhdGhFbmQgKFRlbXBOZXdE ZXZpY2VQYXRoKSkgew0KPiArICAgICAgICAgIFRlbXBOZXdEZXZpY2VQYXRoID0gTmV4dERldmlj ZVBhdGhOb2RlIChUZW1wTmV3RGV2aWNlUGF0aCk7DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAg ICAgICAvLyBQYXJzZSBvbmUgaW5zdGFuY2UNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAg IHdoaWxlICghSXNEZXZpY2VQYXRoRW5kVHlwZSAoVGVtcE5ld0RldmljZVBhdGgpKSB7DQo+ICsg ICAgICAgICAgICBUZW1wTmV3RGV2aWNlUGF0aCA9IE5leHREZXZpY2VQYXRoTm9kZSAoVGVtcE5l d0RldmljZVBhdGgpOw0KPiArICAgICAgICAgIH0NCj4gKyAgICAgICAgICBJbnN0YW5jZU51bSsr Ow0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gSWYgdGhlIENhY2hlZERldmljZVBh dGggdmFyaWFibGUgY29udGFpbiB0b28gbXVjaCBpbnN0YW5jZSwgb25seQ0KPiByZW1haW4gMTIg aW5zdGFuY2VzLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgaWYgKEluc3RhbmNlTnVt ID49IDEyKSB7DQo+ICsgICAgICAgICAgICBTZXREZXZpY2VQYXRoRW5kTm9kZSAoVGVtcE5ld0Rl dmljZVBhdGgpOw0KPiArICAgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgICAgfQ0KPiArICAg ICAgICB9DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAgICAgICBDYWNoZWREZXZpY2VQYXRoID0g RHVwbGljYXRlRGV2aWNlUGF0aCAoQmxvY2tJb0RldmljZVBhdGgpOw0KPiArICAgICAgfQ0KPiAr DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gU2F2ZSB0aGUgbWF0Y2hpbmcgRGV2aWNlIFBhdGgg c28gd2UgZG9uJ3QgbmVlZCB0byBkbyBhIGNvbm5lY3QgYWxsDQo+IG5leHQgdGltZQ0KPiArICAg ICAgLy8gRmFpbHVyZSB0byBzZXQgdGhlIHZhcmlhYmxlIG9ubHkgaW1wYWN0cyB0aGUgcGVyZm9y bWFuY2Ugd2hlbiBuZXh0DQo+IHRpbWUgZXhwYW5kaW5nIHRoZSBzaG9ydC1mb3JtIGRldmljZSBw YXRoLg0KPiArICAgICAgLy8NCj4gKyAgICAgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0K PiArICAgICAgICAgICAgICAgICAgICAgIEhEX0JPT1RfREVWSUNFX1BBVEhfVkFSSUFCTEVfTkFN RSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmZ0hkQm9vdERldmljZVBhdGhWYXJpYWJsR3Vp ZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUND RVNTIHwNCj4gRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICBHZXREZXZpY2VQYXRoU2l6ZSAoQ2FjaGVkRGV2aWNlUGF0aCksDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgQ2FjaGVkRGV2aWNlUGF0aA0KPiArICAgICAgICAgICAgICAgICAgICAgICk7 DQo+ICsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChD YWNoZWREZXZpY2VQYXRoICE9IE5VTEwpIHsNCj4gKyAgICBGcmVlUG9vbCAoQ2FjaGVkRGV2aWNl UGF0aCk7DQo+ICsgIH0NCj4gKyAgaWYgKEJsb2NrSW9CdWZmZXIgIT0gTlVMTCkgew0KPiArICAg IEZyZWVQb29sIChCbG9ja0lvQnVmZmVyKTsNCj4gKyAgfQ0KPiArICByZXR1cm4gRnVsbERldmlj ZVBhdGg7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBDaGVjayB3aGV0aGVyIHRoZXJlIGlzIGEg aW5zdGFuY2UgaW4gQmxvY2tJb0RldmljZVBhdGgsIHdoaWNoIGNvbnRhaW4NCj4gbXVsdGkgZGV2 aWNlIHBhdGgNCj4gKyAgaW5zdGFuY2VzLCBoYXMgdGhlIHNhbWUgcGFydGl0aW9uIG5vZGUgd2l0 aCBIYXJkRHJpdmVEZXZpY2VQYXRoIGRldmljZQ0KPiBwYXRoDQo+ICsNCj4gKyAgQHBhcmFtICBC bG9ja0lvRGV2aWNlUGF0aCAgICAgIE11bHRpIGRldmljZSBwYXRoIGluc3RhbmNlcyB3aGljaCBu ZWVkIHRvDQo+IGNoZWNrDQo+ICsgIEBwYXJhbSAgSGFyZERyaXZlRGV2aWNlUGF0aCAgICBBIGRl dmljZSBwYXRoIHdoaWNoIHN0YXJ0cyB3aXRoIGEgaGFyZA0KPiBkcml2ZSBtZWRpYQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlIHBhdGguDQo+ICsNCj4gKyAgQHJl dHZhbCBUUlVFICAgICAgICAgICAgICAgICAgIFRoZXJlIGlzIGEgbWF0Y2hlZCBkZXZpY2UgcGF0 aCBpbnN0YW5jZS4NCj4gKyAgQHJldHZhbCBGQUxTRSAgICAgICAgICAgICAgICAgIFRoZXJlIGlz IG5vIG1hdGNoZWQgZGV2aWNlIHBhdGggaW5zdGFuY2UuDQo+ICsNCj4gKyoqLw0KPiArQk9PTEVB Tg0KPiArRUZJQVBJDQo+ICtNYXRjaFBhcnRpdGlvbkRldmljZVBhdGhOb2RlICgNCj4gKyAgSU4g IEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICpCbG9ja0lvRGV2aWNlUGF0aCwNCj4gKyAgSU4g IEhBUkREUklWRV9ERVZJQ0VfUEFUSCAgICAgICpIYXJkRHJpdmVEZXZpY2VQYXRoDQo+ICsgICkN Cj4gK3sNCj4gKyAgSEFSRERSSVZFX0RFVklDRV9QQVRIICAgICAqVG1wSGRQYXRoOw0KPiArICBF RklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpEZXZpY2VQYXRoOw0KPiArICBCT09MRUFOICAgICAg ICAgICAgICAgICAgIE1hdGNoOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpCbG9j a0lvSGREZXZpY2VQYXRoTm9kZTsNCj4gKw0KPiArICBpZiAoKEJsb2NrSW9EZXZpY2VQYXRoID09 IE5VTEwpIHx8IChIYXJkRHJpdmVEZXZpY2VQYXRoID09IE5VTEwpKSB7DQo+ICsgICAgcmV0dXJu IEZBTFNFOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWFrZSBQcmV2aW91c0Rldmlj ZVBhdGggPT0gdGhlIGRldmljZSBwYXRoIG5vZGUgYmVmb3JlIHRoZSBlbmQNCj4gbm9kZQ0KPiAr ICAvLw0KPiArICBEZXZpY2VQYXRoICAgICAgICAgICAgICA9IEJsb2NrSW9EZXZpY2VQYXRoOw0K PiArICBCbG9ja0lvSGREZXZpY2VQYXRoTm9kZSA9IE5VTEw7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gZmluZCB0aGUgcGFydGl0aW9uIGRldmljZSBwYXRoIG5vZGUNCj4gKyAgLy8NCj4gKyAgd2hp bGUgKCFJc0RldmljZVBhdGhFbmQgKERldmljZVBhdGgpKSB7DQo+ICsgICAgaWYgKChEZXZpY2VQ YXRoVHlwZSAoRGV2aWNlUGF0aCkgPT0gTUVESUFfREVWSUNFX1BBVEgpICYmDQo+ICsgICAgICAg IChEZXZpY2VQYXRoU3ViVHlwZSAoRGV2aWNlUGF0aCkgPT0gTUVESUFfSEFSRERSSVZFX0RQKQ0K PiArICAgICAgICApIHsNCj4gKyAgICAgIEJsb2NrSW9IZERldmljZVBhdGhOb2RlID0gRGV2aWNl UGF0aDsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIERldmljZVBhdGgg PSBOZXh0RGV2aWNlUGF0aE5vZGUgKERldmljZVBhdGgpOw0KPiArICB9DQo+ICsNCj4gKyAgaWYg KEJsb2NrSW9IZERldmljZVBhdGhOb2RlID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7 DQo+ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8gU2VlIGlmIHRoZSBoYXJkZHJpdmUgZGV2aWNlIHBh dGggaW4gYmxvY2tpbyBtYXRjaGVzIHRoZSBvcmlnIEhhcmQgRHJpdmUNCj4gTm9kZQ0KPiArICAv Lw0KPiArICBUbXBIZFBhdGggPSAoSEFSRERSSVZFX0RFVklDRV9QQVRIICopIEJsb2NrSW9IZERl dmljZVBhdGhOb2RlOw0KPiArICBNYXRjaCA9IEZBTFNFOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IENoZWNrIGZvciB0aGUgbWF0Y2gNCj4gKyAgLy8NCj4gKyAgaWYgKChUbXBIZFBhdGgtPk1CUlR5 cGUgPT0gSGFyZERyaXZlRGV2aWNlUGF0aC0+TUJSVHlwZSkgJiYNCj4gKyAgICAgIChUbXBIZFBh dGgtPlNpZ25hdHVyZVR5cGUgPT0gSGFyZERyaXZlRGV2aWNlUGF0aC0+U2lnbmF0dXJlVHlwZSkp DQo+IHsNCj4gKyAgICBzd2l0Y2ggKFRtcEhkUGF0aC0+U2lnbmF0dXJlVHlwZSkgew0KPiArICAg IGNhc2UgU0lHTkFUVVJFX1RZUEVfR1VJRDoNCj4gKyAgICAgIE1hdGNoID0gQ29tcGFyZUd1aWQg KChFRklfR1VJRCAqKVRtcEhkUGF0aC0+U2lnbmF0dXJlLCAoRUZJX0dVSUQNCj4gKilIYXJkRHJp dmVEZXZpY2VQYXRoLT5TaWduYXR1cmUpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBT SUdOQVRVUkVfVFlQRV9NQlI6DQo+ICsgICAgICBNYXRjaCA9IChCT09MRUFOKSgqKChVSU5UMzIg KikoJihUbXBIZFBhdGgtPlNpZ25hdHVyZVswXSkpKSA9PQ0KPiBSZWFkVW5hbGlnbmVkMzIoKFVJ TlQzMiAqKSgmKEhhcmREcml2ZURldmljZVBhdGgtPlNpZ25hdHVyZVswXSkpKSk7DQo+ICsgICAg ICBicmVhazsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgTWF0Y2ggPSBGQUxTRTsNCj4gKyAg ICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBNYXRjaDsNCj4g K30NCj4gKw0KPiArLyoqDQo+ICsgIERlbGV0ZSB0aGUgYm9vdCBvcHRpb24gYXNzb2NpYXRlZCB3 aXRoIHRoZSBoYW5kbGUgcGFzc2VkIGluLg0KPiArDQo+ICsgIEBwYXJhbSAgSGFuZGxlICAgICAg ICAgICAgICAgICBUaGUgaGFuZGxlIHdoaWNoIHByZXNlbnQgdGhlIGRldmljZSBwYXRoIHRvDQo+ IGNyZWF0ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9vdCBvcHRpb24N Cj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgRGVsZXRlIHRoZSBib290 IG9wdGlvbiBzdWNjZXNzDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgICBJZiB0 aGUgRGV2aWNlIFBhdGggaXMgbm90IGZvdW5kIGluIHRoZQ0KPiBzeXN0ZW0NCj4gKyAgQHJldHZh bCBFRklfT1VUX09GX1JFU09VUkNFUyAgIExhY2sgb2YgbWVtb3J5IHJlc291cmNlDQo+ICsgIEBy ZXR2YWwgT3RoZXIgICAgICAgICAgICAgICAgICBFcnJvciByZXR1cm4gdmFsdWUgZnJvbSBTZXRW YXJpYWJsZSgpDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArQmRzTGliRGVsZXRlT3B0 aW9uRnJvbUhhbmRsZSAoDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICBIYW5k bGUNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICpCb290T3Jk ZXI7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgKkJvb3RPcHRpb25WYXI7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICAgICAgQm9vdE9yZGVyU2l6ZTsNCj4gKyAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICBCb290T3B0aW9uU2l6ZTsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgQm9vdE9wdGlvbltCT09UX09QVElPTl9NQVhf Q0hBUl07DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgRGV2aWNlUGF0aFNpemU7DQo+ ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgT3B0aW9uRGV2aWNlUGF0aFNpemU7DQo+ICsg IEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkRldmljZVBhdGg7DQo+ICsgIEVGSV9ERVZJQ0Vf UEFUSF9QUk9UT0NPTCAgKk9wdGlvbkRldmljZVBhdGg7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgKlRlbXBQdHI7DQo+ICsNCj4gKyAgU3RhdHVzICAgICAgICA9IEVGSV9TVUNDRVNT Ow0KPiArICBCb290T3JkZXIgICAgID0gTlVMTDsNCj4gKyAgQm9vdE9yZGVyU2l6ZSA9IDA7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgIkJvb3RPcmRlciIgdmFyaWFibGUsIGlmIG5vLCBt ZWFucyB0aGVyZSBpcyBubyBhbnkgYm9vdCBvcmRlci4NCj4gKyAgLy8NCj4gKyAgQm9vdE9yZGVy ID0gQmRzTGliR2V0VmFyaWFibGVBbmRTaXplICgNCj4gKyAgICAgICAgICAgICAgICBMIkJvb3RP cmRlciIsDQo+ICsgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgJkJvb3RPcmRlclNpemUNCj4gKyAgICAgICAgICAgICAgICApOw0KPiAr ICBpZiAoQm9vdE9yZGVyID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsN Cj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENvbnZlcnQgZGV2aWNlIGhhbmRsZSB0byBk ZXZpY2UgcGF0aCBwcm90b2NvbCBpbnN0YW5jZQ0KPiArICAvLw0KPiArICBEZXZpY2VQYXRoID0g RGV2aWNlUGF0aEZyb21IYW5kbGUgKEhhbmRsZSk7DQo+ICsgIGlmIChEZXZpY2VQYXRoID09IE5V TEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArICBEZXZpY2VQ YXRoU2l6ZSA9IEdldERldmljZVBhdGhTaXplIChEZXZpY2VQYXRoKTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBMb29wIGFsbCBib290IG9yZGVyIHZhcmlhYmxlIGFuZCBmaW5kIHRoZSBtYXRjaGlu ZyBkZXZpY2UgcGF0aA0KPiArICAvLw0KPiArICBJbmRleCA9IDA7DQo+ICsgIHdoaWxlIChJbmRl eCA8IEJvb3RPcmRlclNpemUgLyBzaXplb2YgKFVJTlQxNikpIHsNCj4gKyAgICBVbmljb2RlU1By aW50IChCb290T3B0aW9uLCBzaXplb2YgKEJvb3RPcHRpb24pLCBMIkJvb3QlMDR4IiwNCj4gQm9v dE9yZGVyW0luZGV4XSk7DQo+ICsgICAgQm9vdE9wdGlvblZhciA9IEJkc0xpYkdldFZhcmlhYmxl QW5kU2l6ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgQm9vdE9wdGlvbiwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAmQm9vdE9wdGlvblNpemUNCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0K PiArDQo+ICsgICAgaWYgKEJvb3RPcHRpb25WYXIgPT0gTlVMTCkgew0KPiArICAgICAgRnJlZVBv b2wgKEJvb3RPcmRlcik7DQo+ICsgICAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKCFWYWxpZGF0ZU9wdGlvbihCb290T3B0aW9uVmFyLCBC b290T3B0aW9uU2l6ZSkpIHsNCj4gKyAgICAgIEJkc0RlbGV0ZUJvb3RPcHRpb24gKEJvb3RPcmRl cltJbmRleF0sIEJvb3RPcmRlciwgJkJvb3RPcmRlclNpemUpOw0KPiArICAgICAgRnJlZVBvb2wg KEJvb3RPcHRpb25WYXIpOw0KPiArICAgICAgSW5kZXgrKzsNCj4gKyAgICAgIGNvbnRpbnVlOw0K PiArICAgIH0NCj4gKw0KPiArICAgIFRlbXBQdHIgPSBCb290T3B0aW9uVmFyOw0KPiArICAgIFRl bXBQdHIgKz0gc2l6ZW9mIChVSU5UMzIpICsgc2l6ZW9mIChVSU5UMTYpOw0KPiArICAgIFRlbXBQ dHIgKz0gU3RyU2l6ZSAoKENIQVIxNiAqKSBUZW1wUHRyKTsNCj4gKyAgICBPcHRpb25EZXZpY2VQ YXRoID0gKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAqKSBUZW1wUHRyOw0KPiArICAgIE9wdGlv bkRldmljZVBhdGhTaXplID0gR2V0RGV2aWNlUGF0aFNpemUgKE9wdGlvbkRldmljZVBhdGgpOw0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgcGF0aCBt YXRjaA0KPiArICAgIC8vDQo+ICsgICAgaWYgKChPcHRpb25EZXZpY2VQYXRoU2l6ZSA9PSBEZXZp Y2VQYXRoU2l6ZSkgJiYNCj4gKyAgICAgICAgKENvbXBhcmVNZW0gKERldmljZVBhdGgsIE9wdGlv bkRldmljZVBhdGgsIERldmljZVBhdGhTaXplKSA9PSAwKSkNCj4gew0KPiArICAgICAgQmRzRGVs ZXRlQm9vdE9wdGlvbiAoQm9vdE9yZGVyW0luZGV4XSwgQm9vdE9yZGVyLCAmQm9vdE9yZGVyU2l6 ZSk7DQo+ICsgICAgICBGcmVlUG9vbCAoQm9vdE9wdGlvblZhcik7DQo+ICsgICAgICBicmVhazsN Cj4gKyAgICB9DQo+ICsNCj4gKyAgICBGcmVlUG9vbCAoQm9vdE9wdGlvblZhcik7DQo+ICsgICAg SW5kZXgrKzsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEFkanVzdCBudW1iZXIgb2Yg Ym9vdCBvcHRpb24gZm9yICJCb290T3JkZXIiIHZhcmlhYmxlLg0KPiArICAvLw0KPiArICBTdGF0 dXMgPSBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgIEwiQm9vdE9yZGVy IiwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAg ICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8DQo+IEVGSV9W QVJJQUJMRV9SVU5USU1FX0FDQ0VTUyB8IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUsDQo+ICsg ICAgICAgICAgICAgICAgICBCb290T3JkZXJTaXplLA0KPiArICAgICAgICAgICAgICAgICAgQm9v dE9yZGVyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICAvLw0KPiArICAvLyBTaHJpbmtp bmcgdmFyaWFibGUgd2l0aCBleGlzdGluZyB2YXJpYWJsZSBpbXBsZW1lbnRhdGlvbiBzaG91bGRu J3QgZmFpbC4NCj4gKyAgLy8NCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0K PiArICBGcmVlUG9vbCAoQm9vdE9yZGVyKTsNCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiAr fQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBEZWxldGUgYWxsIGludmFsaWQgRUZJIGJvb3Qgb3B0 aW9ucy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgRGVsZXRlIGFs bCBpbnZhbGlkIGJvb3Qgb3B0aW9uIHN1Y2Nlc3MNCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5E ICAgICAgICAgIFZhcmlhYmxlICJCb290T3JkZXIiIGlzIG5vdCBmb3VuZA0KPiArICBAcmV0dmFs IEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICAgTGFjayBvZiBtZW1vcnkgcmVzb3VyY2UNCj4gKyAgQHJl dHZhbCBPdGhlciAgICAgICAgICAgICAgICAgIEVycm9yIHJldHVybiB2YWx1ZSBmcm9tIFNldFZh cmlhYmxlKCkNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtCZHNEZWxldGVBbGxJbnZh bGlkRWZpQm9vdE9wdGlvbiAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMTYg ICAgICAgICAgICAgICAgICAgICpCb290T3JkZXI7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAg ICAgICAgKkJvb3RPcHRpb25WYXI7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgQm9v dE9yZGVyU2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBCb290T3B0aW9uU2l6 ZTsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg SW5kZXgyOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgIEJvb3RPcHRpb25bQk9PVF9P UFRJT05fTUFYX0NIQVJdOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpPcHRpb25E ZXZpY2VQYXRoOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICpUZW1wUHRyOw0KPiAr ICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICpEZXNjcmlwdGlvbjsNCj4gKyAgQk9PTEVBTiAg ICAgICAgICAgICAgICAgICBDb3JydXB0ZWQ7DQo+ICsNCj4gKyAgU3RhdHVzICAgICAgICAgICA9 IEVGSV9TVUNDRVNTOw0KPiArICBCb290T3JkZXIgICAgICAgID0gTlVMTDsNCj4gKyAgRGVzY3Jp cHRpb24gICAgICA9IE5VTEw7DQo+ICsgIE9wdGlvbkRldmljZVBhdGggPSBOVUxMOw0KPiArICBC b290T3JkZXJTaXplICAgID0gMDsNCj4gKyAgQ29ycnVwdGVkICAgICAgICA9IEZBTFNFOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIENoZWNrICJCb290T3JkZXIiIHZhcmlhYmxlIGZpcnN0bHksIHRo aXMgdmFyaWFibGUgaG9sZCB0aGUgbnVtYmVyIG9mIGJvb3QNCj4gb3B0aW9ucw0KPiArICAvLw0K PiArICBCb290T3JkZXIgPSBCZHNMaWJHZXRWYXJpYWJsZUFuZFNpemUgKA0KPiArICAgICAgICAg ICAgICAgIEwiQm9vdE9yZGVyIiwNCj4gKyAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbFZhcmlh YmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAmQm9vdE9yZGVyU2l6ZQ0KPiArICAgICAgICAg ICAgICAgICk7DQo+ICsgIGlmIChOVUxMID09IEJvb3RPcmRlcikgew0KPiArICAgIHJldHVybiBF RklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgSW5kZXggPSAwOw0KPiArICB3aGlsZSAo SW5kZXggPCBCb290T3JkZXJTaXplIC8gc2l6ZW9mIChVSU5UMTYpKSB7DQo+ICsgICAgVW5pY29k ZVNQcmludCAoQm9vdE9wdGlvbiwgc2l6ZW9mIChCb290T3B0aW9uKSwgTCJCb290JTA0eCIsDQo+ IEJvb3RPcmRlcltJbmRleF0pOw0KPiArICAgIEJvb3RPcHRpb25WYXIgPSBCZHNMaWJHZXRWYXJp YWJsZUFuZFNpemUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEJvb3RPcHRpb24sDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgJkJvb3RPcHRpb25TaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgICBpZiAoTlVMTCA9PSBCb290T3B0aW9uVmFyKSB7DQo+ICsgICAgICBGcmVlUG9v bCAoQm9vdE9yZGVyKTsNCj4gKyAgICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICBpZiAoIVZhbGlkYXRlT3B0aW9uKEJvb3RPcHRpb25WYXIsIEJv b3RPcHRpb25TaXplKSkgew0KPiArICAgICAgQ29ycnVwdGVkID0gVFJVRTsNCj4gKyAgICB9IGVs c2Ugew0KPiArICAgICAgVGVtcFB0ciA9IEJvb3RPcHRpb25WYXI7DQo+ICsgICAgICBUZW1wUHRy ICs9IHNpemVvZiAoVUlOVDMyKSArIHNpemVvZiAoVUlOVDE2KTsNCj4gKyAgICAgIERlc2NyaXB0 aW9uID0gKENIQVIxNiAqKSBUZW1wUHRyOw0KPiArICAgICAgVGVtcFB0ciArPSBTdHJTaXplICgo Q0hBUjE2ICopIFRlbXBQdHIpOw0KPiArICAgICAgT3B0aW9uRGV2aWNlUGF0aCA9IChFRklfREVW SUNFX1BBVEhfUFJPVE9DT0wgKikgVGVtcFB0cjsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAg IC8vIFNraXAgbGVnYWN5IGJvb3Qgb3B0aW9uIChCQlMgYm9vdCBkZXZpY2UpDQo+ICsgICAgICAv Lw0KPiArICAgICAgaWYgKChEZXZpY2VQYXRoVHlwZSAoT3B0aW9uRGV2aWNlUGF0aCkgPT0gQkJT X0RFVklDRV9QQVRIKSAmJg0KPiArICAgICAgICAgIChEZXZpY2VQYXRoU3ViVHlwZSAoT3B0aW9u RGV2aWNlUGF0aCkgPT0gQkJTX0JCU19EUCkpIHsNCj4gKyAgICAgICAgRnJlZVBvb2wgKEJvb3RP cHRpb25WYXIpOw0KPiArICAgICAgICBJbmRleCsrOw0KPiArICAgICAgICBjb250aW51ZTsNCj4g KyAgICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBpZiAoQ29ycnVwdGVkIHx8ICFCZHNMaWJJ c1ZhbGlkRUZJQm9vdE9wdERldmljZVBhdGhFeHQNCj4gKE9wdGlvbkRldmljZVBhdGgsIEZBTFNF LCBEZXNjcmlwdGlvbikpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBEZWxldGUgdGhpcyBp bnZhbGlkIGJvb3Qgb3B0aW9uICJCb290IyMjIyINCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdGF0 dXMgPSBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBCb290T3B0 aW9uLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgICAgIEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1Mg fA0KPiBFRklfVkFSSUFCTEVfUlVOVElNRV9BQ0NFU1MgfCBFRklfVkFSSUFCTEVfTk9OX1ZPTEFU SUxFLA0KPiArICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgTlVMTA0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gRGVsZXRpbmcgdmFyaWFibGUgd2l0aCBjdXJyZW50IHZhcmlhYmxlIGltcGxlbWVudGF0 aW9uIHNob3VsZG4ndCBmYWlsLg0KPiArICAgICAgLy8NCj4gKyAgICAgIEFTU0VSVF9FRklfRVJS T1IgKFN0YXR1cyk7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gTWFyayB0aGlzIGJvb3Qgb3B0 aW9uIGluIGJvb3Qgb3JkZXIgYXMgZGVsZXRlZA0KPiArICAgICAgLy8NCj4gKyAgICAgIEJvb3RP cmRlcltJbmRleF0gPSAweGZmZmY7DQo+ICsgICAgICBDb3JydXB0ZWQgICAgICAgID0gRkFMU0U7 DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgRnJlZVBvb2wgKEJvb3RPcHRpb25WYXIpOw0KPiArICAg IEluZGV4Kys7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBBZGp1c3QgYm9vdCBvcmRl ciBhcnJheQ0KPiArICAvLw0KPiArICBJbmRleDIgPSAwOw0KPiArICBmb3IgKEluZGV4ID0gMDsg SW5kZXggPCBCb290T3JkZXJTaXplIC8gc2l6ZW9mIChVSU5UMTYpOyBJbmRleCsrKSB7DQo+ICsg ICAgaWYgKEJvb3RPcmRlcltJbmRleF0gIT0gMHhmZmZmKSB7DQo+ICsgICAgICBCb290T3JkZXJb SW5kZXgyXSA9IEJvb3RPcmRlcltJbmRleF07DQo+ICsgICAgICBJbmRleDIgKys7DQo+ICsgICAg fQ0KPiArICB9DQo+ICsgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAgICAg ICAgICAgICAgTCJCb290T3JkZXIiLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxW YXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfQk9PVFNFUlZJ Q0VfQUNDRVNTIHwNCj4gRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTIHwgRUZJX1ZBUklBQkxF X05PTl9WT0xBVElMRSwNCj4gKyAgICAgICAgICAgICAgICAgIEluZGV4MiAqIHNpemVvZiAoVUlO VDE2KSwNCj4gKyAgICAgICAgICAgICAgICAgIEJvb3RPcmRlcg0KPiArICAgICAgICAgICAgICAg ICAgKTsNCj4gKyAgLy8NCj4gKyAgLy8gU2hyaW5raW5nIHZhcmlhYmxlIHdpdGggY3VycmVudCB2 YXJpYWJsZSBpbXBsZW1lbnRhdGlvbiBzaG91bGRuJ3QgZmFpbC4NCj4gKyAgLy8NCj4gKyAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBGcmVlUG9vbCAoQm9vdE9yZGVyKTsN Cj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBG b3IgRUZJIGJvb3Qgb3B0aW9uLCBCRFMgc2VwYXJhdGUgdGhlbSBhcyBzaXggdHlwZXM6DQo+ICsg IDEuIE5ldHdvcmsgLSBUaGUgYm9vdCBvcHRpb24gcG9pbnRzIHRvIHRoZSBTaW1wbGVOZXR3b3Jr UHJvdG9jb2wgZGV2aWNlLg0KPiArICAgICAgICAgICAgICAgQmRzIHdpbGwgdHJ5IHRvIGF1dG9t YXRpY2FsbHkgY3JlYXRlIHRoaXMgdHlwZSBib290IG9wdGlvbiB3aGVuDQo+IGVudW1lcmF0ZS4N Cj4gKyAgMi4gU2hlbGwgICAtIFRoZSBib290IG9wdGlvbiBwb2ludHMgdG8gaW50ZXJuYWwgZmxh c2ggc2hlbGwuDQo+ICsgICAgICAgICAgICAgICBCZHMgd2lsbCB0cnkgdG8gYXV0b21hdGljYWxs eSBjcmVhdGUgdGhpcyB0eXBlIGJvb3Qgb3B0aW9uIHdoZW4NCj4gZW51bWVyYXRlLg0KPiArICAz LiBSZW1vdmFibGUgQmxvY2tJbyAgICAgIC0gVGhlIGJvb3Qgb3B0aW9uIG9ubHkgcG9pbnRzIHRv IHRoZSByZW1vdmFibGUNCj4gbWVkaWENCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGRldmljZSwgbGlrZSBVU0IgZmxhc2ggZGlzaywgRFZELCBGbG9wcHkgZXRjLg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVGhlc2UgZGV2aWNlIHNob3VsZCBjb250YWluIGEgKnJl bW92YWJsZSogYmxvY2tJbw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcHJvdG9j b2wgaW4gdGhlaXIgZGV2aWNlIGhhbmRsZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJkcyB3aWxsIHRyeSB0byBhdXRvbWF0aWNhbGx5IGNyZWF0ZSB0aGlzIHR5cGUgYm9vdCBv cHRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdoZW4gZW51bWVyYXRlLg0K PiArICA0LiBGaXhlZCBCbG9ja0lvICAgICAgICAgIC0gVGhlIGJvb3Qgb3B0aW9uIG9ubHkgcG9p bnRzIHRvIGEgRml4ZWQgYmxvY2tJbyBkZXZpY2UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsaWtlIEhhcmREaXNrLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg VGhlc2UgZGV2aWNlIHNob3VsZCBjb250YWluIGEgKmZpeGVkKiBibG9ja0lvDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwcm90b2NvbCBpbiB0aGVpciBkZXZpY2UgaGFuZGxlLg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQkRTIHdpbGwgc2tpcCBmaXhlZCBibG9j a0lvIGRldmljZXMsIGFuZCBOT1QNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGF1 dG9tYXRpY2FsbHkgY3JlYXRlIGJvb3Qgb3B0aW9uIGZvciB0aGVtLiBCdXQgQkRTDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICB3aWxsIGhlbHAgdG8gZGVsZXRlIHRob3NlIGZpeGVk IGJsb2NrSW8gYm9vdCBvcHRpb24sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3 aG9zZSBkZXNjcmlwdGlvbiBydWxlIGNvbmZsaWN0IHdpdGggb3RoZXIgYXV0by1jcmVhdGVkDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib290IG9wdGlvbnMuDQo+ICsgIDUuIE5v bi1CbG9ja0lvIFNpbXBsZWZpbGUgLSBUaGUgYm9vdCBvcHRpb24gcG9pbnRzIHRvIGEgZGV2aWNl IHdob3NlDQo+IGhhbmRsZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFzIFNp bXBsZUZpbGVTeXN0ZW0gUHJvdG9jb2wsIGJ1dCBoYXMgbm8gYmxvY2tpbw0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgcHJvdG9jb2wuIFRoZXNlIGRldmljZXMgZG8gbm90IG9mZmVy IGJsb2NrSW8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb3RvY29sLCBidXQg QkRTIHN0aWxsIGNhbiBnZXQgdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBc RUZJXEJPT1RcYm9vdHttYWNoaW5lbmFtZX0uRUZJIGJ5IFNpbXBsZUZpbGVTeXN0ZW0NCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sLg0KPiArICA2LiBGaWxlICAgIC0g VGhlIGJvb3Qgb3B0aW9uIHBvaW50cyB0byBhIGZpbGUuIFRoZXNlIGJvb3Qgb3B0aW9ucyBhcmUg dXN1YWxseQ0KPiArICAgICAgICAgICAgICAgY3JlYXRlZCBieSB1c2VyIG1hbnVhbGx5IG9yIE9T IGxvYWRlci4gQkRTIHdpbGwgbm90IGRlbGV0ZSBvciBtb2RpZnkNCj4gKyAgICAgICAgICAgICAg IHRoZXNlIGJvb3Qgb3B0aW9ucy4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHdpbGwgZW51bWVy YXRlIGFsbCBwb3NzaWJsZSBib290IGRldmljZSBpbiB0aGUgc3lzdGVtLCBhbmQNCj4gKyAgYXV0 b21hdGljYWxseSBjcmVhdGUgYm9vdCBvcHRpb25zIGZvciBOZXR3b3JrLCBTaGVsbCwgUmVtb3Zh YmxlIEJsb2NrSW8sDQo+ICsgIGFuZCBOb24tQmxvY2tJbyBTaW1wbGVmaWxlIGRldmljZXMuDQo+ ICsgIEl0IHdpbGwgb25seSBleGVjdXRlIG9uY2Ugb2YgZXZlcnkgYm9vdC4NCj4gKw0KPiArICBA cGFyYW0gIEJkc0Jvb3RPcHRpb25MaXN0ICAgICAgVGhlIGhlYWRlciBvZiB0aGUgbGluayBsaXN0 IHdoaWNoIGluZGV4ZWQgYWxsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBj dXJyZW50IGJvb3Qgb3B0aW9ucw0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICBGaW5pc2hlZCBhbGwgdGhlIGJvb3QgZGV2aWNlIGVudW1lcmF0ZSBhbmQNCj4gY3JlYXRl DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUgYm9vdCBvcHRpb24gYmFz ZSBvbiB0aGF0IGJvb3QgZGV2aWNlDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09V UkNFUyAgIEZhaWxlZCB0byBlbnVtZXJhdGUgdGhlIGJvb3QgZGV2aWNlDQo+IGFuZCBjcmVhdGUg dGhlIGJvb3Qgb3B0aW9uIGxpc3QNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtCZHNMaWJFbnVtZXJhdGVBbGxCb290T3B0aW9uICgNCj4gKyAgSU4gT1VUIExJU1RfRU5UUlkg ICAgICAgICAgKkJkc0Jvb3RPcHRpb25MaXN0DQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRV UyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAg ICAgICAgICBGbG9wcHlOdW1iZXI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAg IEhhcmRkcml2ZU51bWJlcjsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgQ2Ry b21OdW1iZXI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgIFVzYk51bWJlcjsN Cj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgTWlzY051bWJlcjsNCj4gKyAgVUlO VDE2ICAgICAgICAgICAgICAgICAgICAgICAgU2NzaU51bWJlcjsNCj4gKyAgVUlOVDE2ICAgICAg ICAgICAgICAgICAgICAgICAgTm9uQmxvY2tOdW1iZXI7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgIE51bWJlckJsb2NrSW9IYW5kbGVzOw0KPiArICBFRklfSEFORExFICAgICAg ICAgICAgICAgICAgICAqQmxvY2tJb0hhbmRsZXM7DQo+ICsgIEVGSV9CTE9DS19JT19QUk9UT0NP TCAgICAgICAgICpCbGtJbzsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgUmVt b3ZhYmxlWzJdOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBSZW1vdmFibGVJ bmRleDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgIE51bU9mTG9hZEZpbGVIYW5kbGVzOw0KPiArICBF RklfSEFORExFICAgICAgICAgICAgICAgICAgICAqTG9hZEZpbGVIYW5kbGVzOw0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgICAgICAgICBGdkhhbmRsZUNvdW50Ow0KPiArICBFRklfSEFORExF ICAgICAgICAgICAgICAgICAgICAqRnZIYW5kbGVCdWZmZXI7DQo+ICsgIEVGSV9GVl9GSUxFVFlQ RSAgICAgICAgICAgICAgIFR5cGU7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAg IFNpemU7DQo+ICsgIEVGSV9GVl9GSUxFX0FUVFJJQlVURVMgICAgICAgIEF0dHJpYnV0ZXM7DQo+ ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhlbnRpY2F0aW9uU3RhdHVzOw0K PiArICBFRklfRklSTVdBUkVfVk9MVU1FMl9QUk9UT0NPTCAqRnY7DQo+ICsgIEVGSV9ERVZJQ0Vf UEFUSF9QUk9UT0NPTCAgICAgICpEZXZpY2VQYXRoOw0KPiArICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgICAgICBEZXZpY2VQYXRoVHlwZTsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAg ICAgICAgQnVmZmVyWzQwXTsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgKkZp bGVTeXN0ZW1IYW5kbGVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBOdW1i ZXJGaWxlU3lzdGVtSGFuZGxlczsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAg TmVlZERlbGV0ZTsNCj4gKyAgRUZJX0lNQUdFX0RPU19IRUFERVIgICAgICAgICAgRG9zSGVhZGVy Ow0KPiArICBDSEFSOCAgICAgICAgICAgICAgICAgICAgICAgICAqUGxhdExhbmc7DQo+ICsgIENI QVI4ICAgICAgICAgICAgICAgICAgICAgICAgICpMYXN0TGFuZzsNCj4gKyAgRUZJX0lNQUdFX09Q VElPTkFMX0hFQURFUl9VTklPTiAgICAgICBIZHJEYXRhOw0KPiArICBFRklfSU1BR0VfT1BUSU9O QUxfSEVBREVSX1BUUl9VTklPTiAgIEhkcjsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAg ICAgICAgKk1hY1N0cjsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgKklQdmVy U3RyOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAqTmV0d29ya0hhbmRsZXM7 DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlclNpemU7DQo+ICsNCj4g KyAgRmxvcHB5TnVtYmVyICAgID0gMDsNCj4gKyAgSGFyZGRyaXZlTnVtYmVyID0gMDsNCj4gKyAg Q2Ryb21OdW1iZXIgICAgID0gMDsNCj4gKyAgVXNiTnVtYmVyICAgICAgID0gMDsNCj4gKyAgTWlz Y051bWJlciAgICAgID0gMDsNCj4gKyAgU2NzaU51bWJlciAgICAgID0gMDsNCj4gKyAgUGxhdExh bmcgICAgICAgID0gTlVMTDsNCj4gKyAgTGFzdExhbmcgICAgICAgID0gTlVMTDsNCj4gKyAgWmVy b01lbSAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlcikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIElm IHRoZSBib290IGRldmljZSBlbnVtZXJhdGUgaGFwcGVuZWQsIGp1c3QgZ2V0IHRoZSBib290DQo+ ICsgIC8vIGRldmljZSBmcm9tIHRoZSBib290IG9yZGVyIHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsg IGlmIChtRW51bUJvb3REZXZpY2UpIHsNCj4gKyAgICBHZXRWYXJpYWJsZTIgKExBU1RfRU5VTV9M QU5HVUFHRV9WQVJJQUJMRV9OQU1FLA0KPiAmZ0xhc3RFbnVtTGFuZ0d1aWQsIChWT0lEKiopJkxh c3RMYW5nLCBOVUxMKTsNCj4gKyAgICBHZXRFZmlHbG9iYWxWYXJpYWJsZTIgKEwiUGxhdGZvcm1M YW5nIiwgKFZPSUQqKikmUGxhdExhbmcsIE5VTEwpOw0KPiArICAgIEFTU0VSVCAoUGxhdExhbmcg IT0gTlVMTCk7DQo+ICsgICAgaWYgKChMYXN0TGFuZyAhPSBOVUxMKSAmJiAoQXNjaWlTdHJDbXAg KExhc3RMYW5nLCBQbGF0TGFuZykgPT0gMCkpIHsNCj4gKyAgICAgIFN0YXR1cyA9IEJkc0xpYkJ1 aWxkT3B0aW9uRnJvbVZhciAoQmRzQm9vdE9wdGlvbkxpc3QsIEwiQm9vdE9yZGVyIik7DQo+ICsg ICAgICBGcmVlUG9vbCAoTGFzdExhbmcpOw0KPiArICAgICAgRnJlZVBvb2wgKFBsYXRMYW5nKTsN Cj4gKyAgICAgIHJldHVybiBTdGF0dXM7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgIFN0YXR1 cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAgICBMQVNUX0VOVU1fTEFOR1VBR0VfVkFS SUFCTEVfTkFNRSwNCj4gKyAgICAgICAgJmdMYXN0RW51bUxhbmdHdWlkLA0KPiArICAgICAgICBF RklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwgRUZJX1ZBUklBQkxFX05PTl9WT0xBVElM RSwNCj4gKyAgICAgICAgQXNjaWlTdHJTaXplIChQbGF0TGFuZyksDQo+ICsgICAgICAgIFBsYXRM YW5nDQo+ICsgICAgICAgICk7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRmFpbHVyZSB0byBz ZXQgdGhlIHZhcmlhYmxlIG9ubHkgaW1wYWN0cyB0aGUgcGVyZm9ybWFuY2UgbmV4dCB0aW1lDQo+ IGVudW1lcmF0aW5nIHRoZSBib290IG9wdGlvbnMuDQo+ICsgICAgICAvLw0KPiArDQo+ICsgICAg ICBpZiAoTGFzdExhbmcgIT0gTlVMTCkgew0KPiArICAgICAgICBGcmVlUG9vbCAoTGFzdExhbmcp Ow0KPiArICAgICAgfQ0KPiArICAgICAgRnJlZVBvb2wgKFBsYXRMYW5nKTsNCj4gKyAgICB9DQo+ ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBOb3RlczogdGhpcyBkaXJ0eSBjb2RlIGlzIHRv IGdldCB0aGUgbGVnYWN5IGJvb3Qgb3B0aW9uIGZyb20gdGhlDQo+ICsgIC8vIEJCUyB0YWJsZSBh bmQgY3JlYXRlIHRvIHZhcmlhYmxlIGFzIHRoZSBFRkkgYm9vdCBvcHRpb24sIGl0IHNob3VsZA0K PiArICAvLyBiZSByZW1vdmVkIGFmdGVyIHRoZSBDU00gY2FuIHByb3ZpZGUgbGVnYWN5IGJvb3Qg b3B0aW9uIGRpcmVjdGx5DQo+ICsgIC8vDQo+ICsgIFJFRlJFU0hfTEVHQUNZX0JPT1RfT1BUSU9O UzsNCj4gKw0KPiArICAvLw0KPiArICAvLyBEZWxldGUgaW52YWxpZCBib290IG9wdGlvbg0KPiAr ICAvLw0KPiArICBCZHNEZWxldGVBbGxJbnZhbGlkRWZpQm9vdE9wdGlvbiAoKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBQYXJzZSByZW1vdmFibGUgbWVkaWEgZm9sbG93ZWQgYnkgZml4ZWQgbWVk aWEuDQo+ICsgIC8vIFRoZSBSZW1vdmFibGVbXSBhcnJheSBpcyB1c2VkIGJ5IHRoZSBmb3ItbG9v cCBiZWxvdyB0byBjcmVhdGUNCj4gcmVtb3ZhYmxlIG1lZGlhIGJvb3Qgb3B0aW9ucw0KPiArICAv LyBhdCBmaXJzdCwgYW5kIHRoZW4gdG8gY3JlYXRlIGZpeGVkIG1lZGlhIGJvb3Qgb3B0aW9ucy4N Cj4gKyAgLy8NCj4gKyAgUmVtb3ZhYmxlWzBdICA9IEZBTFNFOw0KPiArICBSZW1vdmFibGVbMV0g ID0gVFJVRTsNCj4gKw0KPiArICBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAgICAg IEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICZnRWZpQmxvY2tJb1Byb3RvY29sR3VpZCwNCj4gKyAg ICAgICAgTlVMTCwNCj4gKyAgICAgICAgJk51bWJlckJsb2NrSW9IYW5kbGVzLA0KPiArICAgICAg ICAmQmxvY2tJb0hhbmRsZXMNCj4gKyAgICAgICAgKTsNCj4gKw0KPiArICBmb3IgKFJlbW92YWJs ZUluZGV4ID0gMDsgUmVtb3ZhYmxlSW5kZXggPCAyOyBSZW1vdmFibGVJbmRleCsrKSB7DQo+ICsg ICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgTnVtYmVyQmxvY2tJb0hhbmRsZXM7IEluZGV4Kysp IHsNCj4gKyAgICAgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAg ICAgICAgICAgICAgIEJsb2NrSW9IYW5kbGVzW0luZGV4XSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAmZ0VmaUJsb2NrSW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg KFZPSUQgKiopICZCbGtJbw0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICAv Lw0KPiArICAgICAgLy8gc2tpcCB0aGUgbG9naWNhbCBwYXJ0aXRpb24NCj4gKyAgICAgIC8vDQo+ ICsgICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IEJsa0lvLT5NZWRpYS0+TG9naWNhbFBh cnRpdGlvbikgew0KPiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAg ICAgLy8NCj4gKyAgICAgIC8vIGZpcnN0bHkgZml4ZWQgYmxvY2sgaW8gdGhlbiB0aGUgcmVtb3Zh YmxlIGJsb2NrIGlvDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKEJsa0lvLT5NZWRpYS0+UmVt b3ZhYmxlTWVkaWEgPT0gUmVtb3ZhYmxlW1JlbW92YWJsZUluZGV4XSkgew0KPiArICAgICAgICBj b250aW51ZTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIERldmljZVBhdGggID0gRGV2aWNlUGF0aEZy b21IYW5kbGUgKEJsb2NrSW9IYW5kbGVzW0luZGV4XSk7DQo+ICsgICAgICBEZXZpY2VQYXRoVHlw ZSA9IEJkc0dldEJvb3RUeXBlRnJvbURldmljZVBhdGggKERldmljZVBhdGgpOw0KPiArDQo+ICsg ICAgICBzd2l0Y2ggKERldmljZVBhdGhUeXBlKSB7DQo+ICsgICAgICBjYXNlIEJEU19FRklfQUNQ SV9GTE9QUFlfQk9PVDoNCj4gKyAgICAgICAgaWYgKEZsb3BweU51bWJlciAhPSAwKSB7DQo+ICsg ICAgICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgJWQi LCBCZHNMaWJHZXRTdHJpbmdCeUlkDQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9G TE9QUFkpKSwgRmxvcHB5TnVtYmVyKTsNCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAg ICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlcyIsIEJkc0xpYkdl dFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX0ZMT1BQWSkpKTsN Cj4gKyAgICAgICAgfQ0KPiArICAgICAgICBCZHNMaWJCdWlsZE9wdGlvbkZyb21IYW5kbGUgKEJs b2NrSW9IYW5kbGVzW0luZGV4XSwNCj4gQmRzQm9vdE9wdGlvbkxpc3QsIEJ1ZmZlcik7DQo+ICsg ICAgICAgIEZsb3BweU51bWJlcisrOw0KPiArICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAg Ly8NCj4gKyAgICAgIC8vIEFzc3VtZSBhIHJlbW92YWJsZSBTQVRBIGRldmljZSBzaG91bGQgYmUg dGhlIERWRC9DRCBkZXZpY2UsIGENCj4gZml4ZWQgU0FUQSBkZXZpY2Ugc2hvdWxkIGJlIHRoZSBI YXJkIERyaXZlIGRldmljZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBjYXNlIEJEU19FRklfTUVT U0FHRV9BVEFQSV9CT09UOg0KPiArICAgICAgY2FzZSBCRFNfRUZJX01FU1NBR0VfU0FUQV9CT09U Og0KPiArICAgICAgICBpZiAoQmxrSW8tPk1lZGlhLT5SZW1vdmFibGVNZWRpYSkgew0KPiArICAg ICAgICAgIGlmIChDZHJvbU51bWJlciAhPSAwKSB7DQo+ICsgICAgICAgICAgICBVbmljb2RlU1By aW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlcyAlZCIsIEJkc0xpYkdldFN0cmluZ0J5 SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX0NEX0RWRCkpLCBDZHJvbU51bWJl cik7DQo+ICsgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAgIFVuaWNvZGVTUHJpbnQg KEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzIiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAo U1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05fQ0RfRFZEKSkpOw0KPiArICAgICAgICAgIH0N Cj4gKyAgICAgICAgICBDZHJvbU51bWJlcisrOw0KPiArICAgICAgICB9IGVsc2Ugew0KPiArICAg ICAgICAgIGlmIChIYXJkZHJpdmVOdW1iZXIgIT0gMCkgew0KPiArICAgICAgICAgICAgVW5pY29k ZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgJWQiLCBCZHNMaWJHZXRTdHJp bmdCeUlkDQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9IQVJERFJJVkUpKSwgSGFy ZGRyaXZlTnVtYmVyKTsNCj4gKyAgICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgICAgVW5p Y29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMiLCBCZHNMaWJHZXRTdHJp bmdCeUlkDQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9IQVJERFJJVkUpKSk7DQo+ ICsgICAgICAgICAgfQ0KPiArICAgICAgICAgIEhhcmRkcml2ZU51bWJlcisrOw0KPiArICAgICAg ICB9DQo+ICsgICAgICAgIERFQlVHICgoREVCVUdfSU5GTyB8IERFQlVHX0xPQUQsICJCdWZmZXI6 ICVTXG4iLCBCdWZmZXIpKTsNCj4gKyAgICAgICAgQmRzTGliQnVpbGRPcHRpb25Gcm9tSGFuZGxl IChCbG9ja0lvSGFuZGxlc1tJbmRleF0sDQo+IEJkc0Jvb3RPcHRpb25MaXN0LCBCdWZmZXIpOw0K PiArICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAgY2FzZSBCRFNfRUZJX01FU1NBR0VfVVNC X0RFVklDRV9CT09UOg0KPiArICAgICAgICBpZiAoVXNiTnVtYmVyICE9IDApIHsNCj4gKyAgICAg ICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlcyAlZCIsIEJk c0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX1VTQikp LCBVc2JOdW1iZXIpOw0KPiArICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgIFVuaWNvZGVT UHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzIiwgQmRzTGliR2V0U3RyaW5nQnlJ ZA0KPiAoU1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05fVVNCKSkpOw0KPiArICAgICAgICB9 DQo+ICsgICAgICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbUhhbmRsZSAoQmxvY2tJb0hhbmRsZXNb SW5kZXhdLA0KPiBCZHNCb290T3B0aW9uTGlzdCwgQnVmZmVyKTsNCj4gKyAgICAgICAgVXNiTnVt YmVyKys7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICBjYXNlIEJEU19FRklfTUVT U0FHRV9TQ1NJX0JPT1Q6DQo+ICsgICAgICAgIGlmIChTY3NpTnVtYmVyICE9IDApIHsNCj4gKyAg ICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlcyAlZCIs IEJkc0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RFU0NSSVBUSU9OX1ND U0kpKSwgU2NzaU51bWJlcik7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgVW5p Y29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMiLCBCZHNMaWJHZXRTdHJp bmdCeUlkDQo+IChTVFJJTkdfVE9LRU4gKFNUUl9ERVNDUklQVElPTl9TQ1NJKSkpOw0KPiArICAg ICAgICB9DQo+ICsgICAgICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbUhhbmRsZSAoQmxvY2tJb0hh bmRsZXNbSW5kZXhdLA0KPiBCZHNCb290T3B0aW9uTGlzdCwgQnVmZmVyKTsNCj4gKyAgICAgICAg U2NzaU51bWJlcisrOw0KPiArICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAgY2FzZSBCRFNf RUZJX01FU1NBR0VfTUlTQ19CT09UOg0KPiArICAgICAgZGVmYXVsdDoNCj4gKyAgICAgICAgaWYg KE1pc2NOdW1iZXIgIT0gMCkgew0KPiArICAgICAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwg c2l6ZW9mIChCdWZmZXIpLCBMIiVzICVkIiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAoU1RSSU5H X1RPS0VOIChTVFJfREVTQ1JJUFRJT05fTUlTQykpLCBNaXNjTnVtYmVyKTsNCj4gKyAgICAgICAg fSBlbHNlIHsNCj4gKyAgICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVm ZmVyKSwgTCIlcyIsIEJkc0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RF U0NSSVBUSU9OX01JU0MpKSk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgQmRzTGliQnVpbGRP cHRpb25Gcm9tSGFuZGxlIChCbG9ja0lvSGFuZGxlc1tJbmRleF0sDQo+IEJkc0Jvb3RPcHRpb25M aXN0LCBCdWZmZXIpOw0KPiArICAgICAgICBNaXNjTnVtYmVyKys7DQo+ICsgICAgICAgIGJyZWFr Ow0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChOdW1iZXJCbG9j a0lvSGFuZGxlcyAhPSAwKSB7DQo+ICsgICAgRnJlZVBvb2wgKEJsb2NrSW9IYW5kbGVzKTsNCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIElmIHRoZXJlIGlzIHNpbXBsZSBmaWxlIHByb3Rv Y29sIHdoaWNoIGRvZXMgbm90IGNvbnN1bWUgYmxvY2sgSW8gcHJvdG9jb2wsDQo+IGNyZWF0ZSBh IGJvb3Qgb3B0aW9uIGZvciBpdCBoZXJlLg0KPiArICAvLw0KPiArICBOb25CbG9ja051bWJlciA9 IDA7DQo+ICsgIGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4gKyAgICAgICAgQnlQcm90b2Nv bCwNCj4gKyAgICAgICAgJmdFZmlTaW1wbGVGaWxlU3lzdGVtUHJvdG9jb2xHdWlkLA0KPiArICAg ICAgICBOVUxMLA0KPiArICAgICAgICAmTnVtYmVyRmlsZVN5c3RlbUhhbmRsZXMsDQo+ICsgICAg ICAgICZGaWxlU3lzdGVtSGFuZGxlcw0KPiArICAgICAgICApOw0KPiArICBmb3IgKEluZGV4ID0g MDsgSW5kZXggPCBOdW1iZXJGaWxlU3lzdGVtSGFuZGxlczsgSW5kZXgrKykgew0KPiArICAgIFN0 YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICBGaWxl U3lzdGVtSGFuZGxlc1tJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpQmxvY2tJ b1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZCbGtJbw0K PiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vICBTa2lwIGlmIHRoZSBmaWxlIHN5c3RlbSBo YW5kbGUgc3VwcG9ydHMgYSBCbGtJbyBwcm90b2NvbCwNCj4gKyAgICAgIC8vDQo+ICsgICAgICBj b250aW51ZTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIERvIHRoZSByZW1v dmFibGUgTWVkaWEgdGhpbmcuIFxFRklcQk9PVFxib290e21hY2hpbmVuYW1lfS5FRkkNCj4gKyAg ICAvLyAgbWFjaGluZW5hbWUgaXMgaWEzMiwgaWE2NCwgeDY0LCAuLi4NCj4gKyAgICAvLw0KPiAr ICAgIEhkci5VbmlvbiAgPSAmSGRyRGF0YTsNCj4gKyAgICBOZWVkRGVsZXRlID0gVFJVRTsNCj4g KyAgICBTdGF0dXMgICAgID0gQmRzTGliR2V0SW1hZ2VIZWFkZXIgKA0KPiArICAgICAgICAgICAg ICAgICAgIEZpbGVTeXN0ZW1IYW5kbGVzW0luZGV4XSwNCj4gKyAgICAgICAgICAgICAgICAgICBF RklfUkVNT1ZBQkxFX01FRElBX0ZJTEVfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICAmRG9z SGVhZGVyLA0KPiArICAgICAgICAgICAgICAgICAgIEhkcg0KPiArICAgICAgICAgICAgICAgICAg ICk7DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykgJiYNCj4gKyAgICAgICAgRUZJX0lN QUdFX01BQ0hJTkVfVFlQRV9TVVBQT1JURUQgKEhkci5QZTMyLQ0KPiA+RmlsZUhlYWRlci5NYWNo aW5lKSAmJg0KPiArICAgICAgICBIZHIuUGUzMi0+T3B0aW9uYWxIZWFkZXIuU3Vic3lzdGVtID09 DQo+IEVGSV9JTUFHRV9TVUJTWVNURU1fRUZJX0FQUExJQ0FUSU9OKSB7DQo+ICsgICAgICBOZWVk RGVsZXRlID0gRkFMU0U7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKE5lZWREZWxldGUpIHsN Cj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBObyBzdWNoIGZpbGUgb3IgdGhlIGZpbGUgaXMgbm90 IGEgRUZJIGFwcGxpY2F0aW9uLCBkZWxldGUgdGhpcyBib290IG9wdGlvbg0KPiArICAgICAgLy8N Cj4gKyAgICAgIEJkc0xpYkRlbGV0ZU9wdGlvbkZyb21IYW5kbGUgKEZpbGVTeXN0ZW1IYW5kbGVz W0luZGV4XSk7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgIGlmIChOb25CbG9ja051bWJlciAh PSAwKSB7DQo+ICsgICAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIp LCBMIiVzICVkIiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAoU1RSSU5HX1RPS0VOIChTVFJfREVT Q1JJUFRJT05fTk9OX0JMT0NLKSksIE5vbkJsb2NrTnVtYmVyKTsNCj4gKyAgICAgIH0gZWxzZSB7 DQo+ICsgICAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVz IiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAoU1RSSU5HX1RPS0VOIChTVFJfREVTQ1JJUFRJT05f Tk9OX0JMT0NLKSkpOw0KPiArICAgICAgfQ0KPiArICAgICAgQmRzTGliQnVpbGRPcHRpb25Gcm9t SGFuZGxlIChGaWxlU3lzdGVtSGFuZGxlc1tJbmRleF0sDQo+IEJkc0Jvb3RPcHRpb25MaXN0LCBC dWZmZXIpOw0KPiArICAgICAgTm9uQmxvY2tOdW1iZXIrKzsNCj4gKyAgICB9DQo+ICsgIH0NCj4g Kw0KPiArICBpZiAoTnVtYmVyRmlsZVN5c3RlbUhhbmRsZXMgIT0gMCkgew0KPiArICAgIEZyZWVQ b29sIChGaWxlU3lzdGVtSGFuZGxlcyk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBQ YXJzZSBOZXR3b3JrIEJvb3QgRGV2aWNlDQo+ICsgIC8vDQo+ICsgIE51bU9mTG9hZEZpbGVIYW5k bGVzID0gMDsNCj4gKyAgLy8NCj4gKyAgLy8gU2VhcmNoIExvYWQgRmlsZSBwcm90b2NvbCBmb3Ig UFhFIGJvb3Qgb3B0aW9uLg0KPiArICAvLw0KPiArICBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAo DQo+ICsgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICZnRWZpTG9hZEZpbGVQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICZOdW1PZkxvYWRGaWxlSGFuZGxl cywNCj4gKyAgICAgICAgJkxvYWRGaWxlSGFuZGxlcw0KPiArICAgICAgICApOw0KPiArDQo+ICsg IGZvciAoSW5kZXggPSAwOyBJbmRleCA8IE51bU9mTG9hZEZpbGVIYW5kbGVzOyBJbmRleCsrKSB7 DQo+ICsNCj4gKy8vDQo+ICsvL0xvY2F0ZSBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgdG8gZHlu YW1pY2FsbHkgZ2V0IElQdjQvSVB2Ng0KPiBwcm90b2NvbCBpbmZvcm1hdGlvbi4NCj4gKy8vDQo+ ICsNCj4gKyBTdGF0dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAg ICAgIExvYWRGaWxlSGFuZGxlc1tJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURl dmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkRl dmljZVBhdGgNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyBBU1NFUlRfRUZJX0VS Uk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIHdoaWxlICghSXNEZXZpY2VQYXRoRW5kIChEZXZpY2VQ YXRoKSkgew0KPiArICAgIGlmICgoRGV2aWNlUGF0aC0+VHlwZSA9PSBNRVNTQUdJTkdfREVWSUNF X1BBVEgpICYmDQo+ICsgICAgICAgIChEZXZpY2VQYXRoLT5TdWJUeXBlID09IE1TR19JUHY0X0RQ KSkgew0KPiArDQo+ICsgIC8vDQo+ICsgIC8vR2V0IGhhbmRsZSBpbmZvbWF0aW9uDQo+ICsgIC8v DQo+ICsgIEJ1ZmZlclNpemUgPSAwOw0KPiArICBOZXR3b3JrSGFuZGxlcyA9IE5VTEw7DQo+ICsg IFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ5UHJv dG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaVNpbXBsZU5ldHdvcmtQcm90b2NvbEd1 aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJkJ1 ZmZlclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICBOZXR3b3JrSGFuZGxlcw0KPiArICAgICAg ICAgICAgICAgICAgKTsNCj4gKw0KPiArICBpZiAoU3RhdHVzID09IEVGSV9CVUZGRVJfVE9PX1NN QUxMKSB7DQo+ICsgICAgTmV0d29ya0hhbmRsZXMgPSBBbGxvY2F0ZVplcm9Qb29sKEJ1ZmZlclNp emUpOw0KPiArICAgIGlmIChOZXR3b3JrSGFuZGxlcyA9PSBOVUxMKSB7DQo+ICsgICAgICByZXR1 cm4gKEVGSV9PVVRfT0ZfUkVTT1VSQ0VTKTsNCj4gKyAgICB9DQo+ICsgICAgU3RhdHVzID0gZ0JT LT5Mb2NhdGVIYW5kbGUoDQo+ICsgICAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsg ICAgICAgICAgICAgICAgICAgICZnRWZpU2ltcGxlTmV0d29ya1Byb3RvY29sR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlclNp emUsDQo+ICsgICAgICAgICAgICAgICAgICAgIE5ldHdvcmtIYW5kbGVzDQo+ICsgICAgICAgICAg ICAgICAgICAgICk7DQo+ICsgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vR2V0IHRoZSBNQUMgc3Ry aW5nDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IE5ldExpYkdldE1hY1N0cmluZyAoDQo+ICsgICAg ICAgICAgICAgKk5ldHdvcmtIYW5kbGVzLA0KPiArICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgJk1hY1N0cg0KPiArICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsgIElQdmVyU3Ry ID0gTCIgSVB2NCI7DQo+ICsgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIp LCBMIiVzJXMlcyIsIEJkc0xpYkdldFN0cmluZ0J5SWQNCj4gKFNUUklOR19UT0tFTiAoU1RSX0RF U0NSSVBUSU9OX05FVFdPUkspKSxNYWNTdHIsSVB2ZXJTdHIpOw0KPiArICBicmVhazsNCj4gKyAg fQ0KPiArICAgIGlmKChEZXZpY2VQYXRoLT5UeXBlID09IE1FU1NBR0lOR19ERVZJQ0VfUEFUSCkg JiYNCj4gKyAgICAgICAgKERldmljZVBhdGgtPlN1YlR5cGUgPT0gTVNHX0lQdjZfRFApKSB7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy9HZXQgaGFuZGxlIGluZm9tYXRpb24NCj4gKyAgLy8NCj4gKyAg QnVmZmVyU2l6ZSA9IDA7DQo+ICsgIE5ldHdvcmtIYW5kbGVzID0gTlVMTDsNCj4gKyAgU3RhdHVz ID0gZ0JTLT5Mb2NhdGVIYW5kbGUgKA0KPiArICAgICAgICAgICAgICAgICAgQnlQcm90b2NvbCwN Cj4gKyAgICAgICAgICAgICAgICAgICZnRWZpU2ltcGxlTmV0d29ya1Byb3RvY29sR3VpZCwNCj4g KyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmQnVmZmVyU2l6 ZSwNCj4gKyAgICAgICAgICAgICAgICAgIE5ldHdvcmtIYW5kbGVzDQo+ICsgICAgICAgICAgICAg ICAgICApOw0KPiArDQo+ICsgIGlmIChTdGF0dXMgPT0gRUZJX0JVRkZFUl9UT09fU01BTEwpIHsN Cj4gKyAgICBOZXR3b3JrSGFuZGxlcyA9IEFsbG9jYXRlWmVyb1Bvb2woQnVmZmVyU2l6ZSk7DQo+ ICsgICAgaWYgKE5ldHdvcmtIYW5kbGVzID09IE5VTEwpIHsNCj4gKyAgICAgICByZXR1cm4gKEVG SV9PVVRfT0ZfUkVTT1VSQ0VTKTsNCj4gKyAgICB9DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5Mb2Nh dGVIYW5kbGUoDQo+ICsgICAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAg ICAgICAgICAgICAgICZnRWZpU2ltcGxlTmV0d29ya1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAg ICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlclNpemUsDQo+ ICsgICAgICAgICAgICAgICAgICAgIE5ldHdvcmtIYW5kbGVzDQo+ICsgICAgICAgICAgICAgICAg ICAgICk7DQo+ICsgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vR2V0IHRoZSBNQUMgc3RyaW5nDQo+ ICsgIC8vDQo+ICsgIFN0YXR1cyA9IE5ldExpYkdldE1hY1N0cmluZyAoDQo+ICsgICAgICAgICAg ICAgKk5ldHdvcmtIYW5kbGVzLA0KPiArICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAg ICAgJk1hY1N0cg0KPiArICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1 cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsgICAgICBJUHZlclN0ciA9 IEwiIElQdjYiOw0KPiArICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZl ciksIEwiJXMlcyVzIiwgQmRzTGliR2V0U3RyaW5nQnlJZA0KPiAoU1RSSU5HX1RPS0VOIChTVFJf REVTQ1JJUFRJT05fTkVUV09SSykpLE1hY1N0cixJUHZlclN0cik7DQo+ICsgICAgICBicmVhazsN Cj4gKyAgICB9DQo+ICsgICAgRGV2aWNlUGF0aCA9IE5leHREZXZpY2VQYXRoTm9kZSAoRGV2aWNl UGF0aCk7DQo+ICsgIH0NCj4gKw0KPiArICAgIEJkc0xpYkJ1aWxkT3B0aW9uRnJvbUhhbmRsZSAo TG9hZEZpbGVIYW5kbGVzW0luZGV4XSwNCj4gQmRzQm9vdE9wdGlvbkxpc3QsIEJ1ZmZlcik7DQo+ ICsgIH0NCj4gKw0KPiArICBpZiAoTnVtT2ZMb2FkRmlsZUhhbmRsZXMgIT0gMCkgew0KPiArICAg IEZyZWVQb29sIChMb2FkRmlsZUhhbmRsZXMpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQ2hlY2sgaWYgd2UgaGF2ZSBvbiBmbGFzaCBzaGVsbA0KPiArICAvLw0KPiArICBnQlMtPkxv Y2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICZn RWZpRmlybXdhcmVWb2x1bWUyUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICBOVUxMLA0KPiArICAg ICAgICAmRnZIYW5kbGVDb3VudCwNCj4gKyAgICAgICAgJkZ2SGFuZGxlQnVmZmVyDQo+ICsgICAg ICAgICk7DQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEZ2SGFuZGxlQ291bnQ7IEluZGV4 KyspIHsNCj4gKyAgICBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICBGdkhhbmRs ZUJ1ZmZlcltJbmRleF0sDQo+ICsgICAgICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZTJQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgKFZPSUQgKiopICZGdg0KPiArICAgICAgICAgICk7DQo+ICsN Cj4gKyAgICBTdGF0dXMgPSBGdi0+UmVhZEZpbGUgKA0KPiArICAgICAgICAgICAgICAgICAgRnYs DQo+ICsgICAgICAgICAgICAgICAgICAmZ1VlZmlTaGVsbEZpbGVHdWlkLA0KPiArICAgICAgICAg ICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZTaXplLA0KPiArICAgICAgICAg ICAgICAgICAgJlR5cGUsDQo+ICsgICAgICAgICAgICAgICAgICAmQXR0cmlidXRlcywNCj4gKyAg ICAgICAgICAgICAgICAgICZBdXRoZW50aWNhdGlvblN0YXR1cw0KPiArICAgICAgICAgICAgICAg ICAgKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAvLw0KPiAr ICAgICAgLy8gU2tpcCBpZiBubyBzaGVsbCBmaWxlIGluIHRoZSBGVg0KPiArICAgICAgLy8NCj4g KyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKyAgICAvLw0KPiArICAgIC8vIEJ1aWxkIHRo ZSBzaGVsbCBib290IG9wdGlvbg0KPiArICAgIC8vDQo+ICsgICAgQmRzTGliQnVpbGRPcHRpb25G cm9tU2hlbGwgKEZ2SGFuZGxlQnVmZmVyW0luZGV4XSwgQmRzQm9vdE9wdGlvbkxpc3QpOw0KPiAr ICB9DQo+ICsNCj4gKyAgaWYgKEZ2SGFuZGxlQ291bnQgIT0gMCkgew0KPiArICAgIEZyZWVQb29s IChGdkhhbmRsZUJ1ZmZlcik7DQo+ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8gTWFrZSBzdXJlIGV2 ZXJ5IGJvb3Qgb25seSBoYXZlIG9uZSB0aW1lDQo+ICsgIC8vIGJvb3QgZGV2aWNlIGVudW1lcmF0 ZQ0KPiArICAvLw0KPiArICBTdGF0dXMgPSBCZHNMaWJCdWlsZE9wdGlvbkZyb21WYXIgKEJkc0Jv b3RPcHRpb25MaXN0LCBMIkJvb3RPcmRlciIpOw0KPiArICBtRW51bUJvb3REZXZpY2UgPSBUUlVF Ow0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBCdWls ZCB0aGUgYm9vdCBvcHRpb24gd2l0aCB0aGUgaGFuZGxlIHBhcnNlZCBpbg0KPiArDQo+ICsgIEBw YXJhbSAgSGFuZGxlICAgICAgICAgICAgICAgICBUaGUgaGFuZGxlIHdoaWNoIHByZXNlbnQgdGhl IGRldmljZSBwYXRoIHRvDQo+IGNyZWF0ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgYm9vdCBvcHRpb24NCj4gKyAgQHBhcmFtICBCZHNCb290T3B0aW9uTGlzdCAgICAgIFRo ZSBoZWFkZXIgb2YgdGhlIGxpbmsgbGlzdCB3aGljaCBpbmRleGVkIGFsbA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgY3VycmVudCBib290IG9wdGlvbnMNCj4gKyAgQHBhcmFt ICBTdHJpbmcgICAgICAgICAgICAgICAgIFRoZSBkZXNjcmlwdGlvbiBvZiB0aGUgYm9vdCBvcHRp b24uDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtCZHNMaWJCdWlsZE9wdGlv bkZyb21IYW5kbGUgKA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgSGFuZGxl LA0KPiArICBJTiAgTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgKkJkc0Jvb3RPcHRpb25MaXN0 LA0KPiArICBJTiAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgKlN0cmluZw0KPiArICApDQo+ ICt7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkRldmljZVBhdGg7DQo+ICsNCj4g KyAgRGV2aWNlUGF0aCA9IERldmljZVBhdGhGcm9tSGFuZGxlIChIYW5kbGUpOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIENyZWF0ZSBhbmQgcmVnaXN0ZXIgbmV3IGJvb3Qgb3B0aW9uDQo+ICsgIC8v DQo+ICsgIEJkc0xpYlJlZ2lzdGVyTmV3T3B0aW9uIChCZHNCb290T3B0aW9uTGlzdCwgRGV2aWNl UGF0aCwgU3RyaW5nLA0KPiBMIkJvb3RPcmRlciIpOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0K PiArICBCdWlsZCB0aGUgb24gZmxhc2ggc2hlbGwgYm9vdCBvcHRpb24gd2l0aCB0aGUgaGFuZGxl IHBhcnNlZCBpbi4NCj4gKw0KPiArICBAcGFyYW0gIEhhbmRsZSAgICAgICAgICAgICAgICAgVGhl IGhhbmRsZSB3aGljaCBwcmVzZW50IHRoZSBkZXZpY2UgcGF0aCB0bw0KPiBjcmVhdGUNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uIGZsYXNoIHNoZWxsIGJvb3Qgb3B0aW9u DQo+ICsgIEBwYXJhbSAgQmRzQm9vdE9wdGlvbkxpc3QgICAgICBUaGUgaGVhZGVyIG9mIHRoZSBs aW5rIGxpc3Qgd2hpY2ggaW5kZXhlZCBhbGwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIGN1cnJlbnQgYm9vdCBvcHRpb25zDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJ QVBJDQo+ICtCZHNMaWJCdWlsZE9wdGlvbkZyb21TaGVsbCAoDQo+ICsgIElOIEVGSV9IQU5ETEUg ICAgICAgICAgICAgICAgICBIYW5kbGUsDQo+ICsgIElOIE9VVCBMSVNUX0VOVFJZICAgICAgICAg ICAgICAqQmRzQm9vdE9wdGlvbkxpc3QNCj4gKyAgKQ0KPiArew0KPiArICBFRklfREVWSUNFX1BB VEhfUFJPVE9DT0wgICAgICAgICAgKkRldmljZVBhdGg7DQo+ICsgIE1FRElBX0ZXX1ZPTF9GSUxF UEFUSF9ERVZJQ0VfUEFUSCBTaGVsbE5vZGU7DQo+ICsNCj4gKyAgRGV2aWNlUGF0aCA9IERldmlj ZVBhdGhGcm9tSGFuZGxlIChIYW5kbGUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJ1aWxkIHRo ZSBzaGVsbCBkZXZpY2UgcGF0aA0KPiArICAvLw0KPiArICBFZmlJbml0aWFsaXplRndWb2xEZXZp Y2VwYXRoTm9kZSAoJlNoZWxsTm9kZSwgJmdVZWZpU2hlbGxGaWxlR3VpZCk7DQo+ICsNCj4gKyAg RGV2aWNlUGF0aCA9IEFwcGVuZERldmljZVBhdGhOb2RlIChEZXZpY2VQYXRoLA0KPiAoRUZJX0RF VklDRV9QQVRIX1BST1RPQ09MICopICZTaGVsbE5vZGUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IENyZWF0ZSBhbmQgcmVnaXN0ZXIgdGhlIHNoZWxsIGJvb3Qgb3B0aW9uDQo+ICsgIC8vDQo+ICsg IEJkc0xpYlJlZ2lzdGVyTmV3T3B0aW9uIChCZHNCb290T3B0aW9uTGlzdCwgRGV2aWNlUGF0aCwg TCJFRkkgSW50ZXJuYWwNCj4gU2hlbGwiLCBMIkJvb3RPcmRlciIpOw0KPiArDQo+ICt9DQo+ICsN Cj4gKy8qKg0KPiArICBCb290IGZyb20gdGhlIFVFRkkgc3BlYyBkZWZpbmVkICJCb290TmV4dCIg dmFyaWFibGUuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtCZHNMaWJCb290 TmV4dCAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICBT dGF0dXM7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICpCb290TmV4dDsNCj4gKyAgVUlOVE4gICAg ICAgICAgICAgQm9vdE5leHRTaXplOw0KPiArICBDSEFSMTYgICAgICAgICAgICBCdWZmZXJbMjBd Ow0KPiArICBCRFNfQ09NTU9OX09QVElPTiAqQm9vdE9wdGlvbjsNCj4gKyAgTElTVF9FTlRSWSAg ICAgICAgVGVtcExpc3Q7DQo+ICsgIFVJTlROICAgICAgICAgICAgIEV4aXREYXRhU2l6ZTsNCj4g KyAgQ0hBUjE2ICAgICAgICAgICAgKkV4aXREYXRhOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIElu aXQgdGhlIGJvb3Qgb3B0aW9uIG5hbWUgYnVmZmVyIGFuZCB0ZW1wIGxpbmsgbGlzdA0KPiArICAv Lw0KPiArICBJbml0aWFsaXplTGlzdEhlYWQgKCZUZW1wTGlzdCk7DQo+ICsgIFplcm9NZW0gKEJ1 ZmZlciwgc2l6ZW9mIChCdWZmZXIpKTsNCj4gKw0KPiArICBCb290TmV4dCA9IEJkc0xpYkdldFZh cmlhYmxlQW5kU2l6ZSAoDQo+ICsgICAgICAgICAgICAgIEwiQm9vdE5leHQiLA0KPiArICAgICAg ICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgJkJvb3RO ZXh0U2l6ZQ0KPiArICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENsZWFy IHRoZSBib290IG5leHQgdmFyaWFibGUgZmlyc3QNCj4gKyAgLy8NCj4gKyAgaWYgKEJvb3ROZXh0 ICE9IE5VTEwpIHsNCj4gKyAgICBTdGF0dXMgPSBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAg ICAgICAgICAgICAgICAgTCJCb290TmV4dCIsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZp R2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVf Qk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4gRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTIHwgRUZJ X1ZBUklBQkxFX05PTl9WT0xBVElMRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgTlVMTA0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAg IC8vDQo+ICsgICAgLy8gRGVsZXRpbmcgdmFyaWFibGUgd2l0aCBjdXJyZW50IHZhcmlhYmxlIGlt cGxlbWVudGF0aW9uIHNob3VsZG4ndCBmYWlsLg0KPiArICAgIC8vDQo+ICsgICAgQVNTRVJUX0VG SV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gU3RhcnQgdG8gYnVp bGQgdGhlIGJvb3Qgb3B0aW9uIGFuZCB0cnkgdG8gYm9vdA0KPiArICAgIC8vDQo+ICsgICAgVW5p Y29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiQm9vdCUwNHgiLCAqQm9vdE5l eHQpOw0KPiArICAgIEJvb3RPcHRpb24gPSBCZHNMaWJWYXJpYWJsZVRvT3B0aW9uICgmVGVtcExp c3QsIEJ1ZmZlcik7DQo+ICsgICAgQVNTRVJUIChCb290T3B0aW9uICE9IE5VTEwpOw0KPiArICAg IEJkc0xpYkNvbm5lY3REZXZpY2VQYXRoIChCb290T3B0aW9uLT5EZXZpY2VQYXRoKTsNCj4gKyAg ICBCZHNMaWJCb290VmlhQm9vdE9wdGlvbiAoQm9vdE9wdGlvbiwgQm9vdE9wdGlvbi0+RGV2aWNl UGF0aCwNCj4gJkV4aXREYXRhU2l6ZSwgJkV4aXREYXRhKTsNCj4gKyAgICBGcmVlUG9vbChCb290 T3B0aW9uKTsNCj4gKyAgICBGcmVlUG9vbChCb290TmV4dCk7DQo+ICsgIH0NCj4gKw0KPiArfQ0K PiArDQo+ICsvKioNCj4gKyAgUmV0dXJuIHRoZSBib290YWJsZSBtZWRpYSBoYW5kbGUuDQo+ICsg IEZpcnN0LCBjaGVjayB0aGUgZGV2aWNlIGlzIGNvbm5lY3RlZA0KPiArICBTZWNvbmQsIGNoZWNr IHdoZXRoZXIgdGhlIGRldmljZSBwYXRoIHBvaW50IHRvIGEgZGV2aWNlIHdoaWNoIHN1cHBvcnQN Cj4gU2ltcGxlRmlsZVN5c3RlbVByb3RvY29sLA0KPiArICBUaGlyZCwgZGV0ZWN0IHRoZSB0aGUg ZGVmYXVsdCBib290IGZpbGUgaW4gdGhlIE1lZGlhLCBhbmQgcmV0dXJuIHRoZQ0KPiByZW1vdmFi bGUgTWVkaWEgaGFuZGxlLg0KPiArDQo+ICsgIEBwYXJhbSAgRGV2aWNlUGF0aCAgRGV2aWNlIFBh dGggdG8gYSAgYm9vdGFibGUgZGV2aWNlDQo+ICsNCj4gKyAgQHJldHVybiAgVGhlIGJvb3RhYmxl IG1lZGlhIGhhbmRsZS4gSWYgdGhlIG1lZGlhIG9uIHRoZSBEZXZpY2VQYXRoIGlzDQo+IG5vdCBi b290YWJsZSwgTlVMTCB3aWxsIHJldHVybi4NCj4gKw0KPiArKiovDQo+ICtFRklfSEFORExFDQo+ ICtFRklBUEkNCj4gK0Jkc0xpYkdldEJvb3RhYmxlSGFuZGxlICgNCj4gKyAgSU4gIEVGSV9ERVZJ Q0VfUEFUSF9QUk9UT0NPTCAgICAgICpEZXZpY2VQYXRoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9UUEwgICAgICAg ICAgICAgICAgICAgICAgICAgT2xkVHBsOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wg ICAgICAgICpVcGRhdGVkRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09M ICAgICAgICAqRHVwRGV2aWNlUGF0aDsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAg ICAgICBIYW5kbGU7DQo+ICsgIEVGSV9CTE9DS19JT19QUk9UT0NPTCAgICAgICAgICAgKkJsb2Nr SW87DQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcjsNCj4gKyAg RUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgICAqVGVtcERldmljZVBhdGg7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZTsNCj4gKyAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgICBUZW1wU2l6ZTsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAg ICAgICAgICBSZXR1cm5IYW5kbGU7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAg ICAgKlNpbXBsZUZpbGVTeXN0ZW1IYW5kbGVzOw0KPiArDQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgICAgTnVtYmVyU2ltcGxlRmlsZVN5c3RlbUhhbmRsZXM7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIEVGSV9JTUFHRV9ET1NfSEVB REVSICAgICAgICAgICAgRG9zSGVhZGVyOw0KPiArICBFRklfSU1BR0VfT1BUSU9OQUxfSEVBREVS X1VOSU9OICAgICAgIEhkckRhdGE7DQo+ICsgIEVGSV9JTUFHRV9PUFRJT05BTF9IRUFERVJfUFRS X1VOSU9OICAgSGRyOw0KPiArDQo+ICsgIFVwZGF0ZWREZXZpY2VQYXRoID0gRGV2aWNlUGF0aDsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBFbnRlciB0byBjcml0aWNhbCBzZWN0aW9uIHRvIHByb3Rl Y3QgdGhlIGFjcXVpcmVkIEJsb2NrSW8gaW5zdGFuY2UNCj4gKyAgLy8gZnJvbSBnZXR0aW5nIHJl bGVhc2VkIGR1ZSB0byB0aGUgVVNCIG1hc3Mgc3RvcmFnZSBob3RwbHVnIGV2ZW50DQo+ICsgIC8v DQo+ICsgIE9sZFRwbCA9IGdCUy0+UmFpc2VUUEwgKFRQTF9DQUxMQkFDSyk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gQ2hlY2sgd2hldGhlciB0aGUgZGV2aWNlIGlzIGNvbm5lY3RlZA0KPiArICAv Lw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZURldmljZVBhdGggKCZnRWZpQmxvY2tJb1Byb3Rv Y29sR3VpZCwNCj4gJlVwZGF0ZWREZXZpY2VQYXRoLCAmSGFuZGxlKTsNCj4gKyAgaWYgKEVGSV9F UlJPUiAoU3RhdHVzKSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gU2tpcCB0aGUgY2FzZSB0aGF0 IHRoZSBib290IG9wdGlvbiBwb2ludCB0byBhIHNpbXBsZSBmaWxlIHByb3RvY29sIHdoaWNoDQo+ IGRvZXMgbm90IGNvbnN1bWUgYmxvY2sgSW8gcHJvdG9jb2wsDQo+ICsgICAgLy8NCj4gKyAgICBT dGF0dXMgPSBnQlMtPkxvY2F0ZURldmljZVBhdGggKCZnRWZpU2ltcGxlRmlsZVN5c3RlbVByb3Rv Y29sR3VpZCwNCj4gJlVwZGF0ZWREZXZpY2VQYXRoLCAmSGFuZGxlKTsNCj4gKyAgICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRmFpbCB0byBmaW5k IHRoZSBwcm9wZXIgQmxvY2tJbyBhbmQgc2ltcGxlIGZpbGUgcHJvdG9jb2wsIG1heWJlIGJlY2F1 c2UNCj4gZGV2aWNlIG5vdCBwcmVzZW50LCAgd2UgbmVlZCB0byBjb25uZWN0IGl0IGZpcnN0bHkN Cj4gKyAgICAgIC8vDQo+ICsgICAgICBVcGRhdGVkRGV2aWNlUGF0aCA9IERldmljZVBhdGg7DQo+ ICsgICAgICBTdGF0dXMgICAgICAgICAgICA9IGdCUy0+TG9jYXRlRGV2aWNlUGF0aCAoJmdFZmlE ZXZpY2VQYXRoUHJvdG9jb2xHdWlkLA0KPiAmVXBkYXRlZERldmljZVBhdGgsICZIYW5kbGUpOw0K PiArICAgICAgZ0JTLT5Db25uZWN0Q29udHJvbGxlciAoSGFuZGxlLCBOVUxMLCBOVUxMLCBUUlVF KTsNCj4gKyAgICB9DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBGb3IgcmVt b3ZhYmxlIGRldmljZSBib290IG9wdGlvbiwgaXRzIGNvbnRhaW5lZCBkZXZpY2UgcGF0aCBvbmx5 IHBvaW50DQo+IHRvIHRoZSByZW1vdmFibGUgZGV2aWNlIGhhbmRsZSwNCj4gKyAgICAvLyBzaG91 bGQgbWFrZSBzdXJlIGFsbCBpdHMgY2hpbGRyZW4gaGFuZGxlcyAoaXRzIGNoaWxkIHBhcnRpb24g b3IgbWVkaWENCj4gaGFuZGxlcykgYXJlIGNyZWF0ZWQgYW5kIGNvbm5lY3RlZC4NCj4gKyAgICAv Lw0KPiArICAgIGdCUy0+Q29ubmVjdENvbnRyb2xsZXIgKEhhbmRsZSwgTlVMTCwgTlVMTCwgVFJV RSk7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBHZXQgQmxvY2tJbyBwcm90b2NvbCBhbmQgY2hlY2sg cmVtb3ZhYmxlIGF0dHJpYnV0ZQ0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gZ0JTLT5IYW5k bGVQcm90b2NvbCAoSGFuZGxlLCAmZ0VmaUJsb2NrSW9Qcm90b2NvbEd1aWQsIChWT0lEDQo+ICoq KSZCbG9ja0lvKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsg ICAgLy8NCj4gKyAgICAvLyBJc3N1ZSBhIGR1bW15IHJlYWQgdG8gdGhlIGRldmljZSB0byBjaGVj ayBmb3IgbWVkaWEgY2hhbmdlLg0KPiArICAgIC8vIFdoZW4gdGhlIHJlbW92YWJsZSBtZWRpYSBp cyBjaGFuZ2VkLCBhbnkgQmxvY2sgSU8gcmVhZC93cml0ZSB3aWxsDQo+ICsgICAgLy8gY2F1c2Ug dGhlIEJsb2NrSW8gcHJvdG9jb2wgYmUgcmVpbnN0YWxsZWQgYW5kIEVGSV9NRURJQV9DSEFOR0VE IGlzDQo+ICsgICAgLy8gcmV0dXJuZWQuIEFmdGVyIHRoZSBCbG9jayBJTyBwcm90b2NvbCBpcyBy ZWluc3RhbGxlZCwgc3Vic2VxdWVudA0KPiArICAgIC8vIEJsb2NrIElPIHJlYWQvd3JpdGUgd2ls bCBzdWNjZXNzLg0KPiArICAgIC8vDQo+ICsgICAgQnVmZmVyID0gQWxsb2NhdGVQb29sIChCbG9j a0lvLT5NZWRpYS0+QmxvY2tTaXplKTsNCj4gKyAgICBpZiAoQnVmZmVyICE9IE5VTEwpIHsNCj4g KyAgICAgIEJsb2NrSW8tPlJlYWRCbG9ja3MgKA0KPiArICAgICAgICAgICAgICAgQmxvY2tJbywN Cj4gKyAgICAgICAgICAgICAgIEJsb2NrSW8tPk1lZGlhLT5NZWRpYUlkLA0KPiArICAgICAgICAg ICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgIEJsb2NrSW8tPk1lZGlhLT5CbG9ja1NpemUsDQo+ ICsgICAgICAgICAgICAgICBCdWZmZXINCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBG cmVlUG9vbChCdWZmZXIpOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IERldGVjdCB0aGUgdGhlIGRlZmF1bHQgYm9vdCBmaWxlIGZyb20gcmVtb3ZhYmxlIE1lZGlhDQo+ ICsgIC8vDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSWYgZmFpbCB0byBnZXQgYm9vdGFibGUgaGFu ZGxlIHNwZWNpZmllZCBieSBhIFVTQiBib290IG9wdGlvbiwgdGhlIEJEUw0KPiBzaG91bGQgdHJ5 IHRvIGZpbmQgb3RoZXIgYm9vdGFibGUgZGV2aWNlIGluIHRoZSBzYW1lIFVTQiBidXMNCj4gKyAg Ly8gVHJ5IHRvIGxvY2F0ZSB0aGUgVVNCIG5vZGUgZGV2aWNlIHBhdGggZmlyc3QsIGlmIGZhaWwg dGhlbiB1c2UgaXRzIHByZXZpb3VzDQo+IFBDSSBub2RlIHRvIHNlYXJjaA0KPiArICAvLw0KPiAr ICBEdXBEZXZpY2VQYXRoID0gRHVwbGljYXRlRGV2aWNlUGF0aCAoRGV2aWNlUGF0aCk7DQo+ICsg IEFTU0VSVCAoRHVwRGV2aWNlUGF0aCAhPSBOVUxMKTsNCj4gKw0KPiArICBVcGRhdGVkRGV2aWNl UGF0aCA9IER1cERldmljZVBhdGg7DQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlRGV2aWNlUGF0 aCAoJmdFZmlEZXZpY2VQYXRoUHJvdG9jb2xHdWlkLA0KPiAmVXBkYXRlZERldmljZVBhdGgsICZI YW5kbGUpOw0KPiArICAvLw0KPiArICAvLyBpZiB0aGUgcmVzdWx0aW5nIGRldmljZSBwYXRoIHBv aW50IHRvIGEgdXNiIG5vZGUsIGFuZCB0aGUgdXNiIG5vZGUgaXMgYQ0KPiBkdW1teSBub2RlLCBz aG91bGQgb25seSBsZXQgZGV2aWNlIHBhdGggb25seSBwb2ludCB0byB0aGUgcHJldmlvdXMgUGNp IG5vZGUNCj4gKyAgLy8gQWNwaSgpL1BjaSgpL1VzYigpIC0tPiBBY3BpKCkvUGNpKCkNCj4gKyAg Ly8NCj4gKyAgaWYgKChEZXZpY2VQYXRoVHlwZSAoVXBkYXRlZERldmljZVBhdGgpID09IE1FU1NB R0lOR19ERVZJQ0VfUEFUSCkNCj4gJiYNCj4gKyAgICAgIChEZXZpY2VQYXRoU3ViVHlwZSAoVXBk YXRlZERldmljZVBhdGgpID09IE1TR19VU0JfRFApKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBS ZW1vdmUgdGhlIHVzYiBub2RlLCBsZXQgdGhlIGRldmljZSBwYXRoIG9ubHkgcG9pbnQgdG8gUENJ IG5vZGUNCj4gKyAgICAvLw0KPiArICAgIFNldERldmljZVBhdGhFbmROb2RlIChVcGRhdGVkRGV2 aWNlUGF0aCk7DQo+ICsgICAgVXBkYXRlZERldmljZVBhdGggPSBEdXBEZXZpY2VQYXRoOw0KPiAr ICB9IGVsc2Ugew0KPiArICAgIFVwZGF0ZWREZXZpY2VQYXRoID0gRGV2aWNlUGF0aDsNCj4gKyAg fQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCB0aGUgZGV2aWNlIHBhdGggc2l6ZSBvZiBib290 IG9wdGlvbg0KPiArICAvLw0KPiArICBTaXplID0gR2V0RGV2aWNlUGF0aFNpemUoVXBkYXRlZERl dmljZVBhdGgpIC0gc2l6ZW9mDQo+IChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wpOyAvLyBtaW51 cyB0aGUgZW5kIG5vZGUNCj4gKyAgUmV0dXJuSGFuZGxlID0gTlVMTDsNCj4gKyAgZ0JTLT5Mb2Nh dGVIYW5kbGVCdWZmZXIgKA0KPiArICAgICAgQnlQcm90b2NvbCwNCj4gKyAgICAgICZnRWZpU2lt cGxlRmlsZVN5c3RlbVByb3RvY29sR3VpZCwNCj4gKyAgICAgIE5VTEwsDQo+ICsgICAgICAmTnVt YmVyU2ltcGxlRmlsZVN5c3RlbUhhbmRsZXMsDQo+ICsgICAgICAmU2ltcGxlRmlsZVN5c3RlbUhh bmRsZXMNCj4gKyAgICAgICk7DQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IE51bWJlclNp bXBsZUZpbGVTeXN0ZW1IYW5kbGVzOyBJbmRleCsrKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBH ZXQgdGhlIGRldmljZSBwYXRoIHNpemUgb2YgU2ltcGxlRmlsZVN5c3RlbSBoYW5kbGUNCj4gKyAg ICAvLw0KPiArICAgIFRlbXBEZXZpY2VQYXRoID0gRGV2aWNlUGF0aEZyb21IYW5kbGUNCj4gKFNp bXBsZUZpbGVTeXN0ZW1IYW5kbGVzW0luZGV4XSk7DQo+ICsgICAgVGVtcFNpemUgPSBHZXREZXZp Y2VQYXRoU2l6ZSAoVGVtcERldmljZVBhdGgpLSBzaXplb2YNCj4gKEVGSV9ERVZJQ0VfUEFUSF9Q Uk9UT0NPTCk7IC8vIG1pbnVzIHRoZSBlbmQgbm9kZQ0KPiArICAgIC8vDQo+ICsgICAgLy8gQ2hl Y2sgd2hldGhlciB0aGUgZGV2aWNlIHBhdGggb2YgYm9vdCBvcHRpb24gaXMgcGFydCBvZiB0aGUN Cj4gU2ltcGxlRmlsZVN5c3RlbSBoYW5kbGUncyBkZXZpY2UgcGF0aA0KPiArICAgIC8vDQo+ICsg ICAgaWYgKFNpemUgPD0gVGVtcFNpemUgJiYgQ29tcGFyZU1lbSAoVGVtcERldmljZVBhdGgsDQo+ IFVwZGF0ZWREZXZpY2VQYXRoLCBTaXplKT09MCkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8v IExvYWQgdGhlIGRlZmF1bHQgYm9vdCBmaWxlIFxFRklcQk9PVFxib290e21hY2hpbmVuYW1lfS5F RkkgZnJvbQ0KPiByZW1vdmFibGUgTWVkaWENCj4gKyAgICAgIC8vICBtYWNoaW5lbmFtZSBpcyBp YTMyLCBpYTY0LCB4NjQsIC4uLg0KPiArICAgICAgLy8NCj4gKyAgICAgIEhkci5VbmlvbiA9ICZI ZHJEYXRhOw0KPiArICAgICAgU3RhdHVzID0gQmRzTGliR2V0SW1hZ2VIZWFkZXIgKA0KPiArICAg ICAgICAgICAgICAgICBTaW1wbGVGaWxlU3lzdGVtSGFuZGxlc1tJbmRleF0sDQo+ICsgICAgICAg ICAgICAgICAgIEVGSV9SRU1PVkFCTEVfTUVESUFfRklMRV9OQU1FLA0KPiArICAgICAgICAgICAg ICAgICAmRG9zSGVhZGVyLA0KPiArICAgICAgICAgICAgICAgICBIZHINCj4gKyAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpICYmDQo+ICsgICAgICAg IEVGSV9JTUFHRV9NQUNISU5FX1RZUEVfU1VQUE9SVEVEIChIZHIuUGUzMi0NCj4gPkZpbGVIZWFk ZXIuTWFjaGluZSkgJiYNCj4gKyAgICAgICAgSGRyLlBlMzItPk9wdGlvbmFsSGVhZGVyLlN1YnN5 c3RlbSA9PQ0KPiBFRklfSU1BR0VfU1VCU1lTVEVNX0VGSV9BUFBMSUNBVElPTikgew0KPiArICAg ICAgICBSZXR1cm5IYW5kbGUgPSBTaW1wbGVGaWxlU3lzdGVtSGFuZGxlc1tJbmRleF07DQo+ICsg ICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIEZy ZWVQb29sKER1cERldmljZVBhdGgpOw0KPiArDQo+ICsgIGlmIChTaW1wbGVGaWxlU3lzdGVtSGFu ZGxlcyAhPSBOVUxMKSB7DQo+ICsgICAgRnJlZVBvb2woU2ltcGxlRmlsZVN5c3RlbUhhbmRsZXMp Ow0KPiArICB9DQo+ICsNCj4gKyAgZ0JTLT5SZXN0b3JlVFBMIChPbGRUcGwpOw0KPiArDQo+ICsg IHJldHVybiBSZXR1cm5IYW5kbGU7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBDaGVjayB0byBz ZWUgaWYgdGhlIG5ldHdvcmsgY2FibGUgaXMgcGx1Z2dlZCBpbi4gSWYgdGhlIERldmljZVBhdGgg aXMgbm90DQo+ICsgIGNvbm5lY3RlZCBpdCB3aWxsIGJlIGNvbm5lY3RlZC4NCj4gKw0KPiArICBA cGFyYW0gIERldmljZVBhdGggICAgICAgICAgICAgRGV2aWNlIFBhdGggdG8gY2hlY2sNCj4gKw0K PiArICBAcmV0dmFsIFRSVUUgICAgICAgICAgICAgICAgICAgRGV2aWNlUGF0aCBwb2ludHMgdG8g YW4gTmV0d29yayB0aGF0IGlzIGNvbm5lY3RlZA0KPiArICBAcmV0dmFsIEZBTFNFICAgICAgICAg ICAgICAgICAgRGV2aWNlUGF0aCBkb2VzIG5vdCBwb2ludCB0byBhIGJvb3RhYmxlIG5ldHdvcmsN Cj4gKw0KPiArKiovDQo+ICtCT09MRUFODQo+ICtCZHNMaWJOZXR3b3JrQm9vdFdpdGhNZWRpYVBy ZXNlbnQgKA0KPiArICBJTiAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgKkRldmljZVBh dGgNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0 YXR1czsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgICAqVXBkYXRlZERldmlj ZVBhdGg7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlOw0KPiAr ICBFRklfU0lNUExFX05FVFdPUktfUFJPVE9DT0wgICAgICpTbnA7DQo+ICsgIEJPT0xFQU4gICAg ICAgICAgICAgICAgICAgICAgICAgTWVkaWFQcmVzZW50Ow0KPiArICBVSU5UMzIgICAgICAgICAg ICAgICAgICAgICAgICAgIEludGVycnVwdFN0YXR1czsNCj4gKw0KPiArICBNZWRpYVByZXNlbnQg PSBGQUxTRTsNCj4gKw0KPiArICBVcGRhdGVkRGV2aWNlUGF0aCA9IERldmljZVBhdGg7DQo+ICsg IC8vDQo+ICsgIC8vIExvY2F0ZSBMb2FkIEZpbGUgUHJvdG9jb2wgZm9yIFBYRSBib290IG9wdGlv biBmaXJzdA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZURldmljZVBhdGggKCZn RWZpTG9hZEZpbGVQcm90b2NvbEd1aWQsDQo+ICZVcGRhdGVkRGV2aWNlUGF0aCwgJkhhbmRsZSk7 DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIERl dmljZSBub3QgcHJlc2VudCBzbyBzZWUgaWYgd2UgbmVlZCB0byBjb25uZWN0IGl0DQo+ICsgICAg Ly8NCj4gKyAgICBTdGF0dXMgPSBCZHNMaWJDb25uZWN0RGV2aWNlUGF0aCAoRGV2aWNlUGF0aCk7 DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAg ICAvLyBUaGlzIG9uZSBzaG91bGQgd29yayBhZnRlciB3ZSBkaWQgdGhlIGNvbm5lY3QNCj4gKyAg ICAgIC8vDQo+ICsgICAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZURldmljZVBhdGggKCZnRWZpTG9h ZEZpbGVQcm90b2NvbEd1aWQsDQo+ICZVcGRhdGVkRGV2aWNlUGF0aCwgJkhhbmRsZSk7DQo+ICsg ICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAg ICBTdGF0dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sIChIYW5kbGUsICZnRWZpU2ltcGxlTmV0d29y a1Byb3RvY29sR3VpZCwNCj4gKFZPSUQgKiopJlNucCk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEZhaWxlZCB0byBvcGVuIFNOUCBm cm9tIHRoaXMgaGFuZGxlLCB0cnkgdG8gZ2V0IFNOUCBmcm9tIHBhcmVudA0KPiBoYW5kbGUNCj4g KyAgICAgIC8vDQo+ICsgICAgICBVcGRhdGVkRGV2aWNlUGF0aCA9IERldmljZVBhdGhGcm9tSGFu ZGxlIChIYW5kbGUpOw0KPiArICAgICAgaWYgKFVwZGF0ZWREZXZpY2VQYXRoICE9IE5VTEwpIHsN Cj4gKyAgICAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVEZXZpY2VQYXRoICgmZ0VmaVNpbXBsZU5l dHdvcmtQcm90b2NvbEd1aWQsDQo+ICZVcGRhdGVkRGV2aWNlUGF0aCwgJkhhbmRsZSk7DQo+ICsg ICAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgICAgLy8NCj4gKyAg ICAgICAgICAvLyBTTlAgaGFuZGxlIGZvdW5kLCBnZXQgU05QIGZyb20gaXQNCj4gKyAgICAgICAg ICAvLw0KPiArICAgICAgICAgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKEhhbmRsZSwN Cj4gJmdFZmlTaW1wbGVOZXR3b3JrUHJvdG9jb2xHdWlkLCAoVk9JRCAqKikgJlNucCk7DQo+ICsg ICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBpZiAoIUVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiArICAgICAgaWYgKFNucC0+TW9kZS0+TWVkaWFQcmVzZW50U3VwcG9y dGVkKSB7DQo+ICsgICAgICAgIGlmIChTbnAtPk1vZGUtPlN0YXRlID09IEVmaVNpbXBsZU5ldHdv cmtJbml0aWFsaXplZCkgew0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gSW52b2tl IFNucC0+R2V0U3RhdHVzKCkgdG8gcmVmcmVzaCB0aGUgbWVkaWEgc3RhdHVzDQo+ICsgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICBTbnAtPkdldFN0YXR1cyAoU25wLCAmSW50ZXJydXB0U3RhdHVz LCBOVUxMKTsNCj4gKw0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gSW4gY2FzZSBz b21lIG9uZSBlbHNlIGlzIHVzaW5nIHRoZSBTTlAgY2hlY2sgdG8gc2VlIGlmIGl0J3MgY29ubmVj dGVkDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBNZWRpYVByZXNlbnQgPSBTbnAtPk1v ZGUtPk1lZGlhUHJlc2VudDsNCj4gKyAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAvLw0K PiArICAgICAgICAgIC8vIE5vIG9uZSBpcyB1c2luZyBTTlAgc28gd2UgbmVlZCB0byBTdGFydCBh bmQgSW5pdGlhbGl6ZSBzbw0KPiArICAgICAgICAgIC8vIE1lZGlhUHJlc2VudCB3aWxsIGJlIHZh bGlkLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgU3RhdHVzID0gU25wLT5TdGFydCAo U25wKTsNCj4gKyAgICAgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAg ICAgICAgU3RhdHVzID0gU25wLT5Jbml0aWFsaXplIChTbnAsIDAsIDApOw0KPiArICAgICAgICAg ICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgICAgICAgTWVkaWFQcmVz ZW50ID0gU25wLT5Nb2RlLT5NZWRpYVByZXNlbnQ7DQo+ICsgICAgICAgICAgICAgIFNucC0+U2h1 dGRvd24gKFNucCk7DQo+ICsgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICBTbnAtPlN0b3Ag KFNucCk7DQo+ICsgICAgICAgICAgfQ0KPiArICAgICAgICB9DQo+ICsgICAgICB9IGVsc2Ugew0K PiArICAgICAgICBNZWRpYVByZXNlbnQgPSBUUlVFOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIHJldHVybiBNZWRpYVByZXNlbnQ7DQo+ICt9DQo+ICsNCj4gKy8qKg0K PiArICBGb3IgYSBib290YWJsZSBEZXZpY2UgcGF0aCwgcmV0dXJuIGl0cyBib290IHR5cGUuDQo+ ICsNCj4gKyAgQHBhcmFtICBEZXZpY2VQYXRoICAgICAgICAgICAgICAgICAgICAgIFRoZSBib290 YWJsZSBkZXZpY2UgUGF0aCB0byBjaGVjaw0KPiArDQo+ICsgIEByZXR2YWwgQkRTX0VGSV9NRURJ QV9IRF9CT09UICAgICAgICAgICBJZiBnaXZlbiBkZXZpY2UgcGF0aCBjb250YWlucw0KPiBNRURJ QV9ERVZJQ0VfUEFUSCB0eXBlIGRldmljZSBwYXRoIG5vZGUNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHdoaWNoIHN1YnR5cGUgaXMgTUVESUFfSEFSRERSSVZF X0RQDQo+ICsgIEByZXR2YWwgQkRTX0VGSV9NRURJQV9DRFJPTV9CT09UICAgICAgICBJZiBnaXZl biBkZXZpY2UgcGF0aCBjb250YWlucw0KPiBNRURJQV9ERVZJQ0VfUEFUSCB0eXBlIGRldmljZSBw YXRoIG5vZGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdo aWNoIHN1YnR5cGUgaXMgTUVESUFfQ0RST01fRFANCj4gKyAgQHJldHZhbCBCRFNfRUZJX0FDUElf RkxPUFBZX0JPT1QgICAgICAgIElmIGdpdmVuIGRldmljZSBwYXRoIGNvbnRhaW5zDQo+IEFDUElf REVWSUNFX1BBVEggdHlwZSBkZXZpY2UgcGF0aCBub2RlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB3aGljaCBISUQgaXMgZmxvcHB5IGRldmljZS4NCj4gKyAg QHJldHZhbCBCRFNfRUZJX01FU1NBR0VfQVRBUElfQk9PVCAgICAgIElmIGdpdmVuIGRldmljZSBw YXRoIGNvbnRhaW5zDQo+IE1FU1NBR0lOR19ERVZJQ0VfUEFUSCB0eXBlIGRldmljZSBwYXRoIG5v ZGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCBpdHMg bGFzdCBkZXZpY2UgcGF0aCBub2RlJ3Mgc3VidHlwZSBpcw0KPiBNU0dfQVRBUElfRFAuDQo+ICsg IEByZXR2YWwgQkRTX0VGSV9NRVNTQUdFX1NDU0lfQk9PVCAgICAgICBJZiBnaXZlbiBkZXZpY2Ug cGF0aCBjb250YWlucw0KPiBNRVNTQUdJTkdfREVWSUNFX1BBVEggdHlwZSBkZXZpY2UgcGF0aCBu b2RlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgaXRz IGxhc3QgZGV2aWNlIHBhdGggbm9kZSdzIHN1YnR5cGUgaXMNCj4gTVNHX1NDU0lfRFAuDQo+ICsg IEByZXR2YWwgQkRTX0VGSV9NRVNTQUdFX1VTQl9ERVZJQ0VfQk9PVCBJZiBnaXZlbiBkZXZpY2Ug cGF0aA0KPiBjb250YWlucyBNRVNTQUdJTkdfREVWSUNFX1BBVEggdHlwZSBkZXZpY2UgcGF0aCBu b2RlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBhbmQgaXRz IGxhc3QgZGV2aWNlIHBhdGggbm9kZSdzIHN1YnR5cGUgaXMNCj4gTVNHX1VTQl9EUC4NCj4gKyAg QHJldHZhbCBCRFNfRUZJX01FU1NBR0VfTUlTQ19CT09UICAgICAgIElmIHRoZSBkZXZpY2UgcGF0 aCBub3QNCj4gY29udGFpbnMgYW55IG1lZGlhIGRldmljZSBwYXRoIG5vZGUsICBhbmQNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGl0cyBsYXN0IGRldmljZSBw YXRoIG5vZGUgcG9pbnQgdG8gYSBtZXNzYWdlIGRldmljZQ0KPiBwYXRoIG5vZGUuDQo+ICsgIEBy ZXR2YWwgQkRTX0xFR0FDWV9CQlNfQk9PVCAgICAgICAgICAgICBJZiBnaXZlbiBkZXZpY2UgcGF0 aCBjb250YWlucw0KPiBCQlNfREVWSUNFX1BBVEggdHlwZSBkZXZpY2UgcGF0aCBub2RlLg0KPiAr ICBAcmV0dmFsIEJEU19FRklfVU5TVVBQT1JUICAgICAgICAgICAgICAgQW4gRUZJIFJlbW92YWJs ZSBCbG9ja0lPIGRldmljZQ0KPiBwYXRoIG5vdCBwb2ludCB0byBhIG1lZGlhIGFuZCBtZXNzYWdl IGRldmljZSwNCj4gKw0KPiArKiovDQo+ICtVSU5UMzINCj4gK0VGSUFQSQ0KPiArQmRzR2V0Qm9v dFR5cGVGcm9tRGV2aWNlUGF0aCAoDQo+ICsgIElOICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wg ICAgICpEZXZpY2VQYXRoDQo+ICsgICkNCj4gK3sNCj4gKyAgQUNQSV9ISURfREVWSUNFX1BBVEgg ICAgICAgICAgKkFjcGk7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICpUZW1w RGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgKkxhc3REZXZp Y2VOb2RlOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBCb290VHlwZTsNCj4g Kw0KPiArICBpZiAoTlVMTCA9PSBEZXZpY2VQYXRoKSB7DQo+ICsgICAgcmV0dXJuIEJEU19FRklf VU5TVVBQT1JUOw0KPiArICB9DQo+ICsNCj4gKyAgVGVtcERldmljZVBhdGggPSBEZXZpY2VQYXRo Ow0KPiArDQo+ICsgIHdoaWxlICghSXNEZXZpY2VQYXRoRW5kVHlwZSAoVGVtcERldmljZVBhdGgp KSB7DQo+ICsgICAgc3dpdGNoIChEZXZpY2VQYXRoVHlwZSAoVGVtcERldmljZVBhdGgpKSB7DQo+ ICsgICAgICBjYXNlIEJCU19ERVZJQ0VfUEFUSDoNCj4gKyAgICAgICAgIHJldHVybiBCRFNfTEVH QUNZX0JCU19CT09UOw0KPiArICAgICAgY2FzZSBNRURJQV9ERVZJQ0VfUEFUSDoNCj4gKyAgICAg ICAgaWYgKERldmljZVBhdGhTdWJUeXBlIChUZW1wRGV2aWNlUGF0aCkgPT0gTUVESUFfSEFSRERS SVZFX0RQKSB7DQo+ICsgICAgICAgICAgcmV0dXJuIEJEU19FRklfTUVESUFfSERfQk9PVDsNCj4g KyAgICAgICAgfSBlbHNlIGlmIChEZXZpY2VQYXRoU3ViVHlwZSAoVGVtcERldmljZVBhdGgpID09 IE1FRElBX0NEUk9NX0RQKQ0KPiB7DQo+ICsgICAgICAgICAgcmV0dXJuIEJEU19FRklfTUVESUFf Q0RST01fQk9PVDsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAgIGNh c2UgQUNQSV9ERVZJQ0VfUEFUSDoNCj4gKyAgICAgICAgQWNwaSA9IChBQ1BJX0hJRF9ERVZJQ0Vf UEFUSCAqKSBUZW1wRGV2aWNlUGF0aDsNCj4gKyAgICAgICAgaWYgKEVJU0FfSURfVE9fTlVNIChB Y3BpLT5ISUQpID09IDB4MDYwNCkgew0KPiArICAgICAgICAgIHJldHVybiBCRFNfRUZJX0FDUElf RkxPUFBZX0JPT1Q7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgICBj YXNlIE1FU1NBR0lOR19ERVZJQ0VfUEFUSDoNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8g R2V0IHRoZSBsYXN0IGRldmljZSBwYXRoIG5vZGUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAg TGFzdERldmljZU5vZGUgPSBOZXh0RGV2aWNlUGF0aE5vZGUgKFRlbXBEZXZpY2VQYXRoKTsNCj4g KyAgICAgICAgaWYgKERldmljZVBhdGhTdWJUeXBlKExhc3REZXZpY2VOb2RlKSA9PQ0KPiBNU0df REVWSUNFX0xPR0lDQUxfVU5JVF9EUCkgew0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAg Ly8gaWYgdGhlIG5leHQgbm9kZSB0eXBlIGlzIERldmljZSBMb2dpY2FsIFVuaXQsIHdoaWNoIHNw ZWNpZnkgdGhlIExvZ2ljYWwNCj4gVW5pdCBOdW1iZXIgKExVTiksDQo+ICsgICAgICAgICAgLy8g c2tpcCBpdA0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgTGFzdERldmljZU5vZGUgPSBO ZXh0RGV2aWNlUGF0aE5vZGUgKExhc3REZXZpY2VOb2RlKTsNCj4gKyAgICAgICAgfQ0KPiArICAg ICAgICAvLw0KPiArICAgICAgICAvLyBpZiB0aGUgZGV2aWNlIHBhdGggbm90IG9ubHkgcG9pbnQg dG8gZHJpdmVyIGRldmljZSwgaXQgaXMgbm90IGEgbWVzc2FnaW5nDQo+IGRldmljZSBwYXRoLA0K PiArICAgICAgICAvLw0KPiArICAgICAgICBpZiAoIUlzRGV2aWNlUGF0aEVuZFR5cGUgKExhc3RE ZXZpY2VOb2RlKSkgew0KPiArICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICB9DQo+ICsNCj4g KyAgICAgICAgc3dpdGNoIChEZXZpY2VQYXRoU3ViVHlwZSAoVGVtcERldmljZVBhdGgpKSB7DQo+ ICsgICAgICAgIGNhc2UgTVNHX0FUQVBJX0RQOg0KPiArICAgICAgICAgIEJvb3RUeXBlID0gQkRT X0VGSV9NRVNTQUdFX0FUQVBJX0JPT1Q7DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAg ICAgICAgY2FzZSBNU0dfVVNCX0RQOg0KPiArICAgICAgICAgIEJvb3RUeXBlID0gQkRTX0VGSV9N RVNTQUdFX1VTQl9ERVZJQ0VfQk9PVDsNCj4gKyAgICAgICAgICBicmVhazsNCj4gKw0KPiArICAg ICAgICBjYXNlIE1TR19TQ1NJX0RQOg0KPiArICAgICAgICAgIEJvb3RUeXBlID0gQkRTX0VGSV9N RVNTQUdFX1NDU0lfQk9PVDsNCj4gKyAgICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAgICBj YXNlIE1TR19TQVRBX0RQOg0KPiArICAgICAgICAgIEJvb3RUeXBlID0gQkRTX0VGSV9NRVNTQUdF X1NBVEFfQk9PVDsNCj4gKyAgICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAgICBjYXNlIE1T R19NQUNfQUREUl9EUDoNCj4gKyAgICAgICAgY2FzZSBNU0dfVkxBTl9EUDoNCj4gKyAgICAgICAg Y2FzZSBNU0dfSVB2NF9EUDoNCj4gKyAgICAgICAgY2FzZSBNU0dfSVB2Nl9EUDoNCj4gKyAgICAg ICAgICBCb290VHlwZSA9IEJEU19FRklfTUVTU0FHRV9NQUNfQk9PVDsNCj4gKyAgICAgICAgICBi cmVhazsNCj4gKw0KPiArICAgICAgICBkZWZhdWx0Og0KPiArICAgICAgICAgIEJvb3RUeXBlID0g QkRTX0VGSV9NRVNTQUdFX01JU0NfQk9PVDsNCj4gKyAgICAgICAgICBicmVhazsNCj4gKyAgICAg ICAgfQ0KPiArICAgICAgICByZXR1cm4gQm9vdFR5cGU7DQo+ICsNCj4gKyAgICAgIGRlZmF1bHQ6 DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgICBUZW1wRGV2aWNlUGF0aCA9IE5l eHREZXZpY2VQYXRoTm9kZSAoVGVtcERldmljZVBhdGgpOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0 dXJuIEJEU19FRklfVU5TVVBQT1JUOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQ2hlY2sgd2hl dGhlciB0aGUgRGV2aWNlIHBhdGggaW4gYSBib290IG9wdGlvbiBwb2ludCB0byBhIHZhbGlkIGJv b3RhYmxlDQo+IGRldmljZSwNCj4gKyAgQW5kIGlmIENoZWNrTWVkaWEgaXMgdHJ1ZSwgY2hlY2sg dGhlIGRldmljZSBpcyByZWFkeSB0byBib290IG5vdy4NCj4gKw0KPiArICBAcGFyYW0gIERldlBh dGggICAgIHRoZSBEZXZpY2UgcGF0aCBpbiBhIGJvb3Qgb3B0aW9uDQo+ICsgIEBwYXJhbSAgQ2hl Y2tNZWRpYSAgaWYgdHJ1ZSwgY2hlY2sgdGhlIGRldmljZSBpcyByZWFkeSB0byBib290IG5vdy4N Cj4gKw0KPiArICBAcmV0dmFsIFRSVUUgICAgICAgIHRoZSBEZXZpY2UgcGF0aCAgaXMgdmFsaWQN Cj4gKyAgQHJldHZhbCBGQUxTRSAgICAgICB0aGUgRGV2aWNlIHBhdGggIGlzIGludmFsaWQgLg0K PiArDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArQmRzTGliSXNWYWxpZEVGSUJv b3RPcHREZXZpY2VQYXRoICgNCj4gKyAgSU4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAq RGV2UGF0aCwNCj4gKyAgSU4gQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICBDaGVja01lZGlh DQo+ICsgICkNCj4gK3sNCj4gKyAgcmV0dXJuIEJkc0xpYklzVmFsaWRFRklCb290T3B0RGV2aWNl UGF0aEV4dCAoRGV2UGF0aCwgQ2hlY2tNZWRpYSwNCj4gTlVMTCk7DQo+ICt9DQo+ICsNCj4gKy8q Kg0KPiArICBDaGVjayB3aGV0aGVyIHRoZSBEZXZpY2UgcGF0aCBpbiBhIGJvb3Qgb3B0aW9uIHBv aW50IHRvIGEgdmFsaWQgYm9vdGFibGUNCj4gZGV2aWNlLA0KPiArICBBbmQgaWYgQ2hlY2tNZWRp YSBpcyB0cnVlLCBjaGVjayB0aGUgZGV2aWNlIGlzIHJlYWR5IHRvIGJvb3Qgbm93Lg0KPiArICBJ ZiBEZXNjcmlwdGlvbiBpcyBub3QgTlVMTCBhbmQgdGhlIGRldmljZSBwYXRoIHBvaW50IHRvIGEg Zml4ZWQgQmxvY2tJbw0KPiArICBkZXZpY2UsIGNoZWNrIHRoZSBkZXNjcmlwdGlvbiB3aGV0aGVy IGNvbmZsaWN0IHdpdGggb3RoZXIgYXV0by1jcmVhdGVkDQo+ICsgIGJvb3Qgb3B0aW9ucy4NCj4g Kw0KPiArICBAcGFyYW0gIERldlBhdGggICAgIHRoZSBEZXZpY2UgcGF0aCBpbiBhIGJvb3Qgb3B0 aW9uDQo+ICsgIEBwYXJhbSAgQ2hlY2tNZWRpYSAgaWYgdHJ1ZSwgY2hlY2sgdGhlIGRldmljZSBp cyByZWFkeSB0byBib290IG5vdy4NCj4gKyAgQHBhcmFtICBEZXNjcmlwdGlvbiB0aGUgZGVzY3Jp cHRpb24gaW4gYSBib290IG9wdGlvbg0KPiArDQo+ICsgIEByZXR2YWwgVFJVRSAgICAgICAgdGhl IERldmljZSBwYXRoICBpcyB2YWxpZA0KPiArICBAcmV0dmFsIEZBTFNFICAgICAgIHRoZSBEZXZp Y2UgcGF0aCAgaXMgaW52YWxpZCAuDQo+ICsNCj4gKyoqLw0KPiArQk9PTEVBTg0KPiArRUZJQVBJ DQo+ICtCZHNMaWJJc1ZhbGlkRUZJQm9vdE9wdERldmljZVBhdGhFeHQgKA0KPiArICBJTiBFRklf REVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICpEZXZQYXRoLA0KPiArICBJTiBCT09MRUFOICAgICAg ICAgICAgICAgICAgICAgIENoZWNrTWVkaWEsDQo+ICsgIElOIENIQVIxNiAgICAgICAgICAgICAg ICAgICAgICAgKkRlc2NyaXB0aW9uDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgSGFuZGxl Ow0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpUZW1wRGV2aWNlUGF0aDsNCj4gKyAg RUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqTGFzdERldmljZU5vZGU7DQo+ICsgIEVGSV9CTE9D S19JT19QUk9UT0NPTCAgICAgKkJsb2NrSW87DQo+ICsNCj4gKyAgVGVtcERldmljZVBhdGggPSBE ZXZQYXRoOw0KPiArICBMYXN0RGV2aWNlTm9kZSA9IERldlBhdGg7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gQ2hlY2sgaWYgaXQncyBhIHZhbGlkIGJvb3Qgb3B0aW9uIGZvciBuZXR3b3JrIGJvb3Qg ZGV2aWNlLg0KPiArICAvLyBDaGVjayBpZiB0aGVyZSBpcyBFZmlMb2FkRmlsZVByb3RvY29sIGlu c3RhbGxlZC4NCj4gKyAgLy8gSWYgeWVzLCB0aGF0IG1lYW5zIHRoZXJlIGlzIGEgYm9vdCBvcHRp b24gZm9yIG5ldHdvcmsuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlRGV2aWNl UGF0aCAoDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUxvYWRGaWxlUHJvdG9jb2xHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgJlRlbXBEZXZpY2VQYXRoLA0KPiArICAgICAgICAgICAgICAg ICAgJkhhbmRsZQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gRGV2aWNlIG5vdCBwcmVzZW50IHNvIHNl ZSBpZiB3ZSBuZWVkIHRvIGNvbm5lY3QgaXQNCj4gKyAgICAvLw0KPiArICAgIFRlbXBEZXZpY2VQ YXRoID0gRGV2UGF0aDsNCj4gKyAgICBCZHNMaWJDb25uZWN0RGV2aWNlUGF0aCAoVGVtcERldmlj ZVBhdGgpOw0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlRGV2aWNlUGF0aCAoDQo+ICsgICAg ICAgICAgICAgICAgICAgICZnRWZpTG9hZEZpbGVQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAg ICAgICAgICAgICZUZW1wRGV2aWNlUGF0aCwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkhhbmRs ZQ0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKCFFRklf RVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBpZiAoIUlzRGV2aWNlUGF0aEVuZCAoVGVtcERldmlj ZVBhdGgpKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gTG9hZEZpbGUgcHJvdG9jb2wgaXMg bm90IGluc3RhbGxlZCBvbiBoYW5kbGUgd2l0aCBleGFjdGx5IHRoZSBzYW1lDQo+IERldlBhdGgN Cj4gKyAgICAgIC8vDQo+ICsgICAgICByZXR1cm4gRkFMU0U7DQo+ICsgICAgfQ0KPiArDQo+ICsg ICAgaWYgKENoZWNrTWVkaWEpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBUZXN0IGlmIGl0 IGlzIHJlYWR5IHRvIGJvb3Qgbm93DQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKEJkc0xpYk5l dHdvcmtCb290V2l0aE1lZGlhUHJlc2VudChEZXZQYXRoKSkgew0KPiArICAgICAgICByZXR1cm4g VFJVRTsNCj4gKyAgICAgIH0NCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgcmV0dXJuIFRSVUU7 DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSWYgdGhlIGJvb3Qgb3B0 aW9uIHBvaW50IHRvIGEgZmlsZSwgaXQgaXMgYSB2YWxpZCBFRkkgYm9vdCBvcHRpb24sDQo+ICsg IC8vIGFuZCBhc3N1bWUgaXQgaXMgcmVhZHkgdG8gYm9vdCBub3cNCj4gKyAgLy8NCj4gKyAgd2hp bGUgKCFJc0RldmljZVBhdGhFbmQgKFRlbXBEZXZpY2VQYXRoKSkgew0KPiArICAgIC8vDQo+ICsg ICAgLy8gSWYgdGhlcmUgaXMgVVNCIENsYXNzIG9yIFVTQiBXV0lEIGRldmljZSBwYXRoIG5vZGUs IHRyZWF0IGl0IGFzIHZhbGlkIEVGSQ0KPiArICAgIC8vIEJvb3QgT3B0aW9uLiBCZHNFeHBhbmRV c2JTaG9ydEZvcm1EZXZpY2VQYXRoICgpIHdpbGwgYmUgdXNlZCB0bw0KPiBleHBhbmQgaXQNCj4g KyAgICAvLyB0byBmdWxsIGRldmljZSBwYXRoLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKChEZXZp Y2VQYXRoVHlwZSAoVGVtcERldmljZVBhdGgpID09IE1FU1NBR0lOR19ERVZJQ0VfUEFUSCkNCj4g JiYNCj4gKyAgICAgICAgKChEZXZpY2VQYXRoU3ViVHlwZSAoVGVtcERldmljZVBhdGgpID09IE1T R19VU0JfQ0xBU1NfRFApIHx8DQo+ICsgICAgICAgICAoRGV2aWNlUGF0aFN1YlR5cGUgKFRlbXBE ZXZpY2VQYXRoKSA9PSBNU0dfVVNCX1dXSURfRFApKSkgew0KPiArICAgICAgcmV0dXJuIFRSVUU7 DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgTGFzdERldmljZU5vZGUgPSBUZW1wRGV2aWNlUGF0aDsN Cj4gKyAgICBUZW1wRGV2aWNlUGF0aCA9IE5leHREZXZpY2VQYXRoTm9kZSAoVGVtcERldmljZVBh dGgpOw0KPiArICB9DQo+ICsgIGlmICgoRGV2aWNlUGF0aFR5cGUgKExhc3REZXZpY2VOb2RlKSA9 PSBNRURJQV9ERVZJQ0VfUEFUSCkgJiYNCj4gKyAgICAoRGV2aWNlUGF0aFN1YlR5cGUgKExhc3RE ZXZpY2VOb2RlKSA9PSBNRURJQV9GSUxFUEFUSF9EUCkpIHsNCj4gKyAgICByZXR1cm4gVFJVRTsN Cj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENoZWNrIGlmIGl0J3MgYSB2YWxpZCBib290 IG9wdGlvbiBmb3IgaW50ZXJuYWwgRlYgYXBwbGljYXRpb24NCj4gKyAgLy8NCj4gKyAgaWYgKEVm aUdldE5hbWVHdWlkRnJvbUZ3Vm9sRGV2aWNlUGF0aE5vZGUNCj4gKChNRURJQV9GV19WT0xfRklM RVBBVEhfREVWSUNFX1BBVEggKikgTGFzdERldmljZU5vZGUpICE9IE5VTEwpIHsNCj4gKyAgICAv Lw0KPiArICAgIC8vIElmIHRoZSBib290IG9wdGlvbiBwb2ludCB0byBpbnRlcm5hbCBGViBhcHBs aWNhdGlvbiwgbWFrZSBzdXJlIGl0IGlzIHZhbGlkDQo+ICsgICAgLy8NCj4gKyAgICBUZW1wRGV2 aWNlUGF0aCA9IERldlBhdGg7DQo+ICsgICAgU3RhdHVzID0gQmRzTGliVXBkYXRlRnZGaWxlRGV2 aWNlUGF0aCAoDQo+ICsgICAgICAgICAgICAgICAmVGVtcERldmljZVBhdGgsDQo+ICsgICAgICAg ICAgICAgICBFZmlHZXROYW1lR3VpZEZyb21Gd1ZvbERldmljZVBhdGhOb2RlDQo+ICgoTUVESUFf RldfVk9MX0ZJTEVQQVRIX0RFVklDRV9QQVRIICopIExhc3REZXZpY2VOb2RlKQ0KPiArICAgICAg ICAgICAgICAgKTsNCj4gKyAgICBpZiAoU3RhdHVzID09IEVGSV9BTFJFQURZX1NUQVJURUQpIHsN Cj4gKyAgICAgIHJldHVybiBUUlVFOw0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBpZiAoU3Rh dHVzID09IEVGSV9TVUNDRVNTKSB7DQo+ICsgICAgICAgIEZyZWVQb29sIChUZW1wRGV2aWNlUGF0 aCk7DQo+ICsgICAgICB9DQo+ICsgICAgICByZXR1cm4gRkFMU0U7DQo+ICsgICAgfQ0KPiArICB9 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSWYgdGhlIGJvb3Qgb3B0aW9uIHBvaW50IHRvIGEgYmxv Y2tJTyBkZXZpY2U6DQo+ICsgIC8vICAgIGlmIGl0IGlzIGEgcmVtb3ZhYmxlIGJsb2NrSW8gZGV2 aWNlLCBpdCBpcyB2YWxpZC4NCj4gKyAgLy8gICAgaWYgaXQgaXMgYSBmaXhlZCBibG9ja0lvIGRl dmljZSwgY2hlY2sgaXRzIGRlc2NyaXB0aW9uIGNvbmZsaWN0aW9uLg0KPiArICAvLw0KPiArICBU ZW1wRGV2aWNlUGF0aCA9IERldlBhdGg7DQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlRGV2aWNl UGF0aCAoJmdFZmlCbG9ja0lvUHJvdG9jb2xHdWlkLA0KPiAmVGVtcERldmljZVBhdGgsICZIYW5k bGUpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAv LyBEZXZpY2Ugbm90IHByZXNlbnQgc28gc2VlIGlmIHdlIG5lZWQgdG8gY29ubmVjdCBpdA0KPiAr ICAgIC8vDQo+ICsgICAgU3RhdHVzID0gQmRzTGliQ29ubmVjdERldmljZVBhdGggKERldlBhdGgp Ow0KPiArICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gVHJ5IGFnYWluIHRvIGdldCB0aGUgQmxvY2sgSW8gcHJvdG9jb2wgYWZ0ZXIgd2UgZGlk IHRoZSBjb25uZWN0DQo+ICsgICAgICAvLw0KPiArICAgICAgVGVtcERldmljZVBhdGggPSBEZXZQ YXRoOw0KPiArICAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVEZXZpY2VQYXRoICgmZ0VmaUJsb2Nr SW9Qcm90b2NvbEd1aWQsDQo+ICZUZW1wRGV2aWNlUGF0aCwgJkhhbmRsZSk7DQo+ICsgICAgfQ0K PiArICB9DQo+ICsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBTdGF0 dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sIChIYW5kbGUsICZnRWZpQmxvY2tJb1Byb3RvY29sR3Vp ZCwgKFZPSUQNCj4gKiopJkJsb2NrSW8pOw0KPiArICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMp KSB7DQo+ICsgICAgICBpZiAoQ2hlY2tNZWRpYSkgew0KPiArICAgICAgICAvLw0KPiArICAgICAg ICAvLyBUZXN0IGlmIGl0IGlzIHJlYWR5IHRvIGJvb3Qgbm93DQo+ICsgICAgICAgIC8vDQo+ICsg ICAgICAgIGlmIChCZHNMaWJHZXRCb290YWJsZUhhbmRsZSAoRGV2UGF0aCkgIT0gTlVMTCkgew0K PiArICAgICAgICAgIHJldHVybiBUUlVFOw0KPiArICAgICAgICB9DQo+ICsgICAgICB9IGVsc2Ug ew0KPiArICAgICAgICByZXR1cm4gVFJVRTsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0g ZWxzZSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBpZiB0aGUgYm9vdCBvcHRpb24gcG9pbnQgdG8g YSBzaW1wbGUgZmlsZSBwcm90b2NvbCB3aGljaCBkb2VzIG5vdA0KPiBjb25zdW1lIGJsb2NrIElv IHByb3RvY29sLCBpdCBpcyBhbHNvIGEgdmFsaWQgRUZJIGJvb3Qgb3B0aW9uLA0KPiArICAgIC8v DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVEZXZpY2VQYXRoICgmZ0VmaVNpbXBsZUZpbGVT eXN0ZW1Qcm90b2NvbEd1aWQsDQo+ICZUZW1wRGV2aWNlUGF0aCwgJkhhbmRsZSk7DQo+ICsgICAg aWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIGlmIChDaGVja01lZGlhKSB7DQo+ ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFRlc3QgaWYgaXQgaXMgcmVhZHkgdG8gYm9vdCBu b3cNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgaWYgKEJkc0xpYkdldEJvb3RhYmxlSGFuZGxl IChEZXZQYXRoKSAhPSBOVUxMKSB7DQo+ICsgICAgICAgICAgcmV0dXJuIFRSVUU7DQo+ICsgICAg ICAgIH0NCj4gKyAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgIHJldHVybiBUUlVFOw0KPiArICAg ICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBGQUxTRTsNCj4gK30NCj4g Kw0KPiArDQo+ICsvKioNCj4gKyAgQWNjb3JkaW5nIHRvIGEgZmlsZSBndWlsZCwgY2hlY2sgYSBG diBmaWxlIGRldmljZSBwYXRoIGlzIHZhbGlkLiBJZiBpdCBpcyBpbnZhbGlkLA0KPiArICB0cnkg dG8gcmV0dXJuIHRoZSB2YWxpZCBkZXZpY2UgcGF0aC4NCj4gKyAgRlYgYWRkcmVzcyBtYXliZSBj aGFuZ2VzIGZvciBtZW1vcnkgbGF5b3V0IGFkanVzdCBmcm9tIHRpbWUgdG8gdGltZSwNCj4gdXNl IHRoaXMgZnVuY3Rpb24NCj4gKyAgY291bGQgcHJvbWlzZSB0aGUgRnYgZmlsZSBkZXZpY2UgcGF0 aCBpcyByaWdodC4NCj4gKw0KPiArICBAcGFyYW0gIERldmljZVBhdGggICAgICAgICAgICAgb24g aW5wdXQsIHRoZSBGdiBmaWxlIGRldmljZSBwYXRoIG5lZWQgdG8gY2hlY2sNCj4gb24NCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dCwgdGhlIHVwZGF0ZWQgdmFsaWQg RnYgZmlsZSBkZXZpY2UgcGF0aA0KPiArICBAcGFyYW0gIEZpbGVHdWlkICAgICAgICAgICAgICAg dGhlIEZ2IGZpbGUgZ3VpbGQNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRF UiAgdGhlIGlucHV0IERldmljZVBhdGggb3IgRmlsZUd1aWQgaXMNCj4gaW52YWxpZA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1ldGVyDQo+ICsgIEByZXR2YWwgRUZJ X1VOU1VQUE9SVEVEICAgICAgICB0aGUgaW5wdXQgRGV2aWNlUGF0aCBkb2VzIG5vdCBjb250YWlu IEZ2DQo+IGZpbGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGd1aWxkIGF0 IGFsbA0KPiArICBAcmV0dmFsIEVGSV9BTFJFQURZX1NUQVJURUQgICAgdGhlIGlucHV0IERldmlj ZVBhdGggaGFzIHBvaW50ZWQgdG8gRnYNCj4gZmlsZSwgaXQgaXMNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHZhbGlkDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICBoYXMgc3VjY2Vzc2Z1bGx5IHVwZGF0ZWQgdGhlIGludmFsaWQgRGV2aWNlUGF0aCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGFuZCByZXR1cm4gdGhlIHVwZGF0ZWQg ZGV2aWNlIHBhdGggaW4gRGV2aWNlUGF0aA0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArQmRzTGliVXBkYXRlRnZGaWxlRGV2aWNlUGF0aCAoDQo+ICsgIElOICBPVVQg RUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAgKiogRGV2aWNlUGF0aCwNCj4gKyAgSU4gIEVG SV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAgICAqRmlsZUd1aWQNCj4gKyAgKQ0KPiArew0K PiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAqVGVtcERldmljZVBhdGg7DQo+ICsg IEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICpMYXN0RGV2aWNlTm9kZTsNCj4gKyAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfR1VJRCAgICAgICAg ICAgICAgICAgICAgICAqR3VpZFBvaW50Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICBJbmRleDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgRnZIYW5kbGVD b3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgKkZ2SGFuZGxlQnVmZmVy Ow0KPiArICBFRklfRlZfRklMRVRZUEUgICAgICAgICAgICAgICBUeXBlOw0KPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgICAgICBTaXplOw0KPiArICBFRklfRlZfRklMRV9BVFRSSUJVVEVT ICAgICAgICBBdHRyaWJ1dGVzOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICBB dXRoZW50aWNhdGlvblN0YXR1czsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAg RmluZEZ2RmlsZTsNCj4gKyAgRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NPTCAgICAgKkxvYWRlZElt YWdlOw0KPiArICBFRklfRklSTVdBUkVfVk9MVU1FMl9QUk9UT0NPTCAqRnY7DQo+ICsgIE1FRElB X0ZXX1ZPTF9GSUxFUEFUSF9ERVZJQ0VfUEFUSCBGdkZpbGVOb2RlOw0KPiArICBFRklfSEFORExF ICAgICAgICAgICAgICAgICAgICBGb3VuZEZ2SGFuZGxlOw0KPiArICBFRklfREVWSUNFX1BBVEhf UFJPVE9DT0wgICAgICAqTmV3RGV2aWNlUGF0aDsNCj4gKw0KPiArICBpZiAoKERldmljZVBhdGgg PT0gTlVMTCkgfHwgKCpEZXZpY2VQYXRoID09IE5VTEwpKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9J TlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0KPiArICBpZiAoRmlsZUd1aWQgPT0gTlVMTCkgew0K PiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICAv Lw0KPiArICAvLyBDaGVjayB3aGV0aGVyIHRoZSBkZXZpY2UgcGF0aCBwb2ludCB0byB0aGUgZGVm YXVsdCB0aGUgaW5wdXQgRnYgZmlsZQ0KPiArICAvLw0KPiArICBUZW1wRGV2aWNlUGF0aCA9ICpE ZXZpY2VQYXRoOw0KPiArICBMYXN0RGV2aWNlTm9kZSA9IFRlbXBEZXZpY2VQYXRoOw0KPiArICB3 aGlsZSAoIUlzRGV2aWNlUGF0aEVuZCAoVGVtcERldmljZVBhdGgpKSB7DQo+ICsgICAgIExhc3RE ZXZpY2VOb2RlID0gVGVtcERldmljZVBhdGg7DQo+ICsgICAgIFRlbXBEZXZpY2VQYXRoID0gTmV4 dERldmljZVBhdGhOb2RlIChUZW1wRGV2aWNlUGF0aCk7DQo+ICsgIH0NCj4gKyAgR3VpZFBvaW50 ID0gRWZpR2V0TmFtZUd1aWRGcm9tRndWb2xEZXZpY2VQYXRoTm9kZSAoDQo+ICsgICAgICAgICAg ICAgICAgKE1FRElBX0ZXX1ZPTF9GSUxFUEFUSF9ERVZJQ0VfUEFUSCAqKSBMYXN0RGV2aWNlTm9k ZQ0KPiArICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChHdWlkUG9pbnQgPT0gTlVMTCkgew0K PiArICAgIC8vDQo+ICsgICAgLy8gaWYgdGhpcyBvcHRpb24gZG9lcyBub3QgcG9pbnRzIHRvIGEg RnYgZmlsZSwganVzdCByZXR1cm4gRUZJX1VOU1VQUE9SVEVEDQo+ICsgICAgLy8NCj4gKyAgICBy ZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsgIGlmICghQ29tcGFyZUd1aWQgKEd1 aWRQb2ludCwgRmlsZUd1aWQpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiB0aGUgRnYgZmls ZSBpcyBub3QgdGhlIGlucHV0IGZpbGUgZ3VpZCwganVzdCByZXR1cm4gRUZJX1VOU1VQUE9SVEVE DQo+ICsgICAgLy8NCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgd2hldGhlciB0aGUgaW5wdXQgRnYgZmlsZSBkZXZpY2Ug cGF0aCBpcyB2YWxpZA0KPiArICAvLw0KPiArICBUZW1wRGV2aWNlUGF0aCA9ICpEZXZpY2VQYXRo Ow0KPiArICBGb3VuZEZ2SGFuZGxlID0gTlVMTDsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVE ZXZpY2VQYXRoICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpRmlybXdhcmVWb2x1bWUyUHJv dG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgJlRlbXBEZXZpY2VQYXRoLA0KPiArICAg ICAgICAgICAgICAgICAgJkZvdW5kRnZIYW5kbGUNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5IYW5k bGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgIEZvdW5kRnZIYW5kbGUsDQo+ICsg ICAgICAgICAgICAgICAgICAgICZnRWZpRmlybXdhcmVWb2x1bWUyUHJvdG9jb2xHdWlkLA0KPiAr ICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkZ2DQo+ICsgICAgICAgICAgICAgICAgICAg ICk7DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIC8vDQo+ICsg ICAgICAvLyBTZXQgRlYgUmVhZEZpbGUgQnVmZmVyIGFzIE5VTEwsIG9ubHkgbmVlZCB0byBjaGVj ayB3aGV0aGVyIGlucHV0IEZ2DQo+IGZpbGUgZXhpc3QgdGhlcmUNCj4gKyAgICAgIC8vDQo+ICsg ICAgICBTdGF0dXMgPSBGdi0+UmVhZEZpbGUgKA0KPiArICAgICAgICAgICAgICAgICAgICBGdiwN Cj4gKyAgICAgICAgICAgICAgICAgICAgRmlsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAg IE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICZTaXplLA0KPiArICAgICAgICAgICAgICAg ICAgICAmVHlwZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkF0dHJpYnV0ZXMsDQo+ICsgICAg ICAgICAgICAgICAgICAgICZBdXRoZW50aWNhdGlvblN0YXR1cw0KPiArICAgICAgICAgICAgICAg ICAgICApOw0KPiArICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAg cmV0dXJuIEVGSV9BTFJFQURZX1NUQVJURUQ7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTG9vayBmb3IgdGhlIGlucHV0IHdhbnRlZCBGViBmaWxl IGluIGN1cnJlbnQgRlYNCj4gKyAgLy8gRmlyc3QsIHRyeSB0byBsb29rIGZvciBpbiBCZHMgb3du IEZWLiBCZHMgYW5kIGlucHV0IHdhbnRlZCBGViBmaWxlIHVzdWFsbHkNCj4gYXJlIGluIHRoZSBz YW1lIEZWDQo+ICsgIC8vDQo+ICsgIEZpbmRGdkZpbGUgPSBGQUxTRTsNCj4gKyAgRm91bmRGdkhh bmRsZSA9IE5VTEw7DQo+ICsgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAg ICAgICAgICAgIGdJbWFnZUhhbmRsZSwNCj4gKyAgICAgICAgICAgICAmZ0VmaUxvYWRlZEltYWdl UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgIChWT0lEICoqKSAmTG9hZGVkSW1hZ2UNCj4g KyAgICAgICAgICAgICApOw0KPiArICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAg IFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICBM b2FkZWRJbWFnZS0+RGV2aWNlSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaUZp cm13YXJlVm9sdW1lMlByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgKFZPSUQg KiopICZGdg0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmICghRUZJX0VSUk9S IChTdGF0dXMpKSB7DQo+ICsgICAgICBTdGF0dXMgPSBGdi0+UmVhZEZpbGUgKA0KPiArICAgICAg ICAgICAgICAgICAgICBGdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgRmlsZUd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICZTaXplLA0K PiArICAgICAgICAgICAgICAgICAgICAmVHlwZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgJkF0 dHJpYnV0ZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICZBdXRoZW50aWNhdGlvblN0YXR1cw0K PiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1 cykpIHsNCj4gKyAgICAgICAgRmluZEZ2RmlsZSA9IFRSVUU7DQo+ICsgICAgICAgIEZvdW5kRnZI YW5kbGUgPSBMb2FkZWRJbWFnZS0+RGV2aWNlSGFuZGxlOw0KPiArICAgICAgfQ0KPiArICAgIH0N Cj4gKyAgfQ0KPiArICAvLw0KPiArICAvLyBTZWNvbmQsIGlmIGZhaWwgdG8gZmluZCwgdHJ5IHRv IGVudW1lcmF0ZSBhbGwgRlYNCj4gKyAgLy8NCj4gKyAgaWYgKCFGaW5kRnZGaWxlKSB7DQo+ICsg ICAgRnZIYW5kbGVCdWZmZXIgPSBOVUxMOw0KPiArICAgIGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVy ICgNCj4gKyAgICAgICAgICBCeVByb3RvY29sLA0KPiArICAgICAgICAgICZnRWZpRmlybXdhcmVW b2x1bWUyUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgJkZ2 SGFuZGxlQ291bnQsDQo+ICsgICAgICAgICAgJkZ2SGFuZGxlQnVmZmVyDQo+ICsgICAgICAgICAg KTsNCj4gKyAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBGdkhhbmRsZUNvdW50OyBJbmRleCsr KSB7DQo+ICsgICAgICBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgIEZ2SGFu ZGxlQnVmZmVyW0luZGV4XSwNCj4gKyAgICAgICAgICAgICZnRWZpRmlybXdhcmVWb2x1bWUyUHJv dG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgKFZPSUQgKiopICZGdg0KPiArICAgICAgICAgICAg KTsNCj4gKw0KPiArICAgICAgU3RhdHVzID0gRnYtPlJlYWRGaWxlICgNCj4gKyAgICAgICAgICAg ICAgICAgICAgRnYsDQo+ICsgICAgICAgICAgICAgICAgICAgIEZpbGVHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAmU2l6ZSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgJlR5cGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZBdHRyaWJ1 dGVzLA0KPiArICAgICAgICAgICAgICAgICAgICAmQXV0aGVudGljYXRpb25TdGF0dXMNCj4gKyAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gU2tpcCBpZiBpbnB1dCBGdiBmaWxlIG5vdCBp biB0aGUgRlYNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAgICB9 DQo+ICsgICAgICBGaW5kRnZGaWxlID0gVFJVRTsNCj4gKyAgICAgIEZvdW5kRnZIYW5kbGUgPSBG dkhhbmRsZUJ1ZmZlcltJbmRleF07DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICBpZiAoRnZIYW5kbGVCdWZmZXIgIT0gTlVMTCkgew0KPiArICAgICAgRnJlZVBvb2wgKEZ2 SGFuZGxlQnVmZmVyKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoRmluZEZ2Rmls ZSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gQnVpbGQgdGhlIHNoZWxsIGRldmljZSBwYXRoDQo+ ICsgICAgLy8NCj4gKyAgICBOZXdEZXZpY2VQYXRoID0gRGV2aWNlUGF0aEZyb21IYW5kbGUgKEZv dW5kRnZIYW5kbGUpOw0KPiArICAgIEVmaUluaXRpYWxpemVGd1ZvbERldmljZXBhdGhOb2RlICgm RnZGaWxlTm9kZSwgRmlsZUd1aWQpOw0KPiArICAgIE5ld0RldmljZVBhdGggPSBBcHBlbmREZXZp Y2VQYXRoTm9kZSAoTmV3RGV2aWNlUGF0aCwNCj4gKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAq KSAmRnZGaWxlTm9kZSk7DQo+ICsgICAgQVNTRVJUIChOZXdEZXZpY2VQYXRoICE9IE5VTEwpOw0K PiArICAgICpEZXZpY2VQYXRoID0gTmV3RGV2aWNlUGF0aDsNCj4gKyAgICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICt9DQo+IGRpZmYg LS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVycmlkZS9JbnRl bEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGliL0Jkc0Nvbm5lY3Qu Yw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJyaWRlL0ludGVsRnJh bWV3b3JrTW9kdWxlUGtnL0xpDQo+IGJyYXJ5L0dlbmVyaWNCZHNMaWIvQmRzQ29ubmVjdC5jDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmRmZWVmYzAxYjgNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9PdmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRz TGliL0Jkc0Nvbm5lY3QuYw0KPiBAQCAtMCwwICsxLDQyOSBAQA0KPiArLyoqIEBmaWxlDQo+ICsg IEJEUyBMaWIgZnVuY3Rpb25zIHdoaWNoIHJlbGF0ZSB3aXRoIGNvbm5lY3QgdGhlIGRldmljZQ0K PiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgLSAyMDEzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgIkludGVybmFsQmRz TGliLmgiDQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gd2lsbCBjb25uZWN0 IGFsbCB0aGUgc3lzdGVtIGRyaXZlciB0byBjb250cm9sbGVyDQo+ICsgIGZpcnN0LCBhbmQgdGhl biBzcGVjaWFsIGNvbm5lY3QgdGhlIGRlZmF1bHQgY29uc29sZSwgdGhpcyBtYWtlDQo+ICsgIHN1 cmUgYWxsIHRoZSBzeXN0ZW0gY29udHJvbGxlciBhdmFpbGFibGUgYW5kIHRoZSBwbGF0Zm9ybSBk ZWZhdWx0DQo+ICsgIGNvbnNvbGUgY29ubmVjdGVkLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4g K0VGSUFQSQ0KPiArQmRzTGliQ29ubmVjdEFsbCAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0K PiArICAvLw0KPiArICAvLyBDb25uZWN0IHRoZSBwbGF0Zm9ybSBjb25zb2xlIGZpcnN0DQo+ICsg IC8vDQo+ICsgIEJkc0xpYkNvbm5lY3RBbGxEZWZhdWx0Q29uc29sZXMgKCk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gR2VuZXJpYyB3YXkgdG8gY29ubmVjdCBhbGwgdGhlIGRyaXZlcnMNCj4gKyAg Ly8NCj4gKyAgQmRzTGliQ29ubmVjdEFsbERyaXZlcnNUb0FsbENvbnRyb2xsZXJzICgpOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIEhlcmUgd2UgaGF2ZSB0aGUgYXNzdW1wdGlvbiB0aGF0IHdlIGhh dmUgYWxyZWFkeSBoYWQNCj4gKyAgLy8gcGxhdGZvcm0gZGVmYXVsdCBjb25zb2xlDQo+ICsgIC8v DQo+ICsgIEJkc0xpYkNvbm5lY3RBbGxEZWZhdWx0Q29uc29sZXMgKCk7DQo+ICt9DQo+ICsNCj4g Kw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gd2lsbCBjb25uZWN0IGFsbCB0aGUgc3lzdGVt IGRyaXZlcnMgdG8gYWxsIGNvbnRyb2xsZXJzDQo+ICsgIGZpcnN0LCBhbmQgdGhlbiBjb25uZWN0 IGFsbCB0aGUgY29uc29sZSBkZXZpY2VzIHRoZSBzeXN0ZW0gY3VycmVudA0KPiArICBoYXZlLiBB ZnRlciB0aGlzIHdlIHNob3VsZCBnZXQgYWxsIHRoZSBkZXZpY2Ugd29yayBhbmQgY29uc29sZSBh dmFpbGFibGUNCj4gKyAgaWYgdGhlIHN5c3RlbSBoYXZlIGNvbnNvbGUgZGV2aWNlLg0KPiArDQo+ ICsqKi8NCj4gK1ZPSUQNCj4gK0Jkc0xpYkdlbmVyaWNDb25uZWN0QWxsICgNCj4gKyAgVk9JRA0K PiArICApDQo+ICt7DQo+ICsgIC8vDQo+ICsgIC8vIE1vc3QgZ2VuZXJpYyB3YXkgdG8gY29ubmVj dCBhbGwgdGhlIGRyaXZlcnMNCj4gKyAgLy8NCj4gKyAgQmRzTGliQ29ubmVjdEFsbERyaXZlcnNU b0FsbENvbnRyb2xsZXJzICgpOw0KPiArICBCZHNMaWJDb25uZWN0QWxsQ29uc29sZXMgKCk7DQo+ ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHdpbGwgY3JlYXRlIGFsbCBoYW5k bGVzIGFzc29jaWF0ZSB3aXRoIGV2ZXJ5IGRldmljZQ0KPiArICBwYXRoIG5vZGUuIElmIHRoZSBo YW5kbGUgYXNzb2NpYXRlIHdpdGggb25lIGRldmljZSBwYXRoIG5vZGUgY2FuIG5vdA0KPiArICBi ZSBjcmVhdGVkIHN1Y2Nlc3NmdWxseSwgdGhlbiBzdGlsbCBnaXZlIGNoYW5jZSB0byBkbyB0aGUg ZGlzcGF0Y2gsDQo+ICsgIHdoaWNoIGxvYWQgdGhlIG1pc3NpbmcgZHJpdmVycyBpZiBwb3NzaWJs ZS4NCj4gKw0KPiArICBAcGFyYW0gIERldmljZVBhdGhUb0Nvbm5lY3QgICBUaGUgZGV2aWNlIHBh dGggd2hpY2ggd2lsbCBiZSBjb25uZWN0ZWQsDQo+IGl0IGNhbiBiZQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBhIG11bHRpLWluc3RhbmNlIGRldmljZSBwYXRoDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgQWxsIGhhbmRsZXMgYXNzb2NpYXRlIHdp dGggZXZlcnkgZGV2aWNlIHBhdGgNCj4gbm9kZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBoYXZlIGJlZW4gY3JlYXRlZA0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VS Q0VTICBUaGVyZSBpcyBubyByZXNvdXJjZSB0byBjcmVhdGUgbmV3DQo+IGhhbmRsZXMNCj4gKyAg QHJldHZhbCBFRklfTk9UX0ZPVU5EICAgICAgICAgQ3JlYXRlIHRoZSBoYW5kbGUgYXNzb2NpYXRl IHdpdGggb25lIGRldmljZQ0KPiBwYXRoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIG5vZGUgZmFpbGVkDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtCZHNMaWJDb25uZWN0RGV2aWNlUGF0aCAoDQo+ICsgIElOIEVGSV9ERVZJQ0VfUEFUSF9QUk9U T0NPTCAgKkRldmljZVBhdGhUb0Nvbm5lY3QNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAq RGV2aWNlUGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqQ29weU9mRGV2aWNl UGF0aDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqSW5zdGFuY2U7DQo+ICsgIEVG SV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKlJlbWFpbmluZ0RldmljZVBhdGg7DQo+ICsgIEVGSV9E RVZJQ0VfUEFUSF9QUk9UT0NPTCAgKk5leHQ7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAg ICAgSGFuZGxlOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgIFByZXZpb3VzSGFuZGxl Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIFNpemU7DQo+ICsgIEVGSV9UUEwgICAg ICAgICAgICAgICAgICAgQ3VycmVudFRwbDsNCj4gKw0KPiArICBpZiAoRGV2aWNlUGF0aFRvQ29u bmVjdCA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArICB9DQo+ICsN Cj4gKyAgQ3VycmVudFRwbCAgPSBFZmlHZXRDdXJyZW50VHBsICgpOw0KPiArDQo+ICsgIERldmlj ZVBhdGggICAgICAgID0gRHVwbGljYXRlRGV2aWNlUGF0aCAoRGV2aWNlUGF0aFRvQ29ubmVjdCk7 DQo+ICsgIGlmIChEZXZpY2VQYXRoID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX09VVF9P Rl9SRVNPVVJDRVM7DQo+ICsgIH0NCj4gKyAgQ29weU9mRGV2aWNlUGF0aCAgPSBEZXZpY2VQYXRo Ow0KPiArDQo+ICsgIGRvIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRoZSBvdXRlciBsb29wIGhh bmRsZXMgbXVsdGkgaW5zdGFuY2UgZGV2aWNlIHBhdGhzLg0KPiArICAgIC8vIE9ubHkgY29uc29s ZSB2YXJpYWJsZXMgY29udGFpbiBtdWx0aXBsZSBpbnN0YW5jZSBkZXZpY2UgcGF0aHMuDQo+ICsg ICAgLy8NCj4gKyAgICAvLyBBZnRlciB0aGlzIGNhbGwgRGV2aWNlUGF0aCBwb2ludHMgdG8gdGhl IG5leHQgSW5zdGFuY2UNCj4gKyAgICAvLw0KPiArICAgIEluc3RhbmNlICA9IEdldE5leHREZXZp Y2VQYXRoSW5zdGFuY2UgKCZEZXZpY2VQYXRoLCAmU2l6ZSk7DQo+ICsgICAgaWYgKEluc3RhbmNl ID09IE5VTEwpIHsNCj4gKyAgICAgIEZyZWVQb29sIChDb3B5T2ZEZXZpY2VQYXRoKTsNCj4gKyAg ICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBO ZXh0ICAgICAgPSBJbnN0YW5jZTsNCj4gKyAgICB3aGlsZSAoIUlzRGV2aWNlUGF0aEVuZFR5cGUg KE5leHQpKSB7DQo+ICsgICAgICBOZXh0ID0gTmV4dERldmljZVBhdGhOb2RlIChOZXh0KTsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICBTZXREZXZpY2VQYXRoRW5kTm9kZSAoTmV4dCk7DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vIFN0YXJ0IHRoZSByZWFsIHdvcmsgb2YgY29ubmVjdCB3aXRoIFJl bWFpbmluZ0RldmljZVBhdGgNCj4gKyAgICAvLw0KPiArICAgIFByZXZpb3VzSGFuZGxlID0gTlVM TDsNCj4gKyAgICBkbyB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRmluZCB0aGUgaGFuZGxl IHRoYXQgYmVzdCBtYXRjaGVzIHRoZSBEZXZpY2UgUGF0aC4gSWYgaXQgaXMgb25seSBhDQo+ICsg ICAgICAvLyBwYXJ0aWFsIG1hdGNoIHRoZSByZW1haW5pbmcgcGFydCBvZiB0aGUgZGV2aWNlIHBh dGggaXMgcmV0dXJuZWQgaW4NCj4gKyAgICAgIC8vIFJlbWFpbmluZ0RldmljZVBhdGguDQo+ICsg ICAgICAvLw0KPiArICAgICAgUmVtYWluaW5nRGV2aWNlUGF0aCA9IEluc3RhbmNlOw0KPiArICAg ICAgU3RhdHVzICAgICAgICAgICAgICA9IGdCUy0+TG9jYXRlRGV2aWNlUGF0aCAoJmdFZmlEZXZp Y2VQYXRoUHJvdG9jb2xHdWlkLA0KPiAmUmVtYWluaW5nRGV2aWNlUGF0aCwgJkhhbmRsZSk7DQo+ ICsNCj4gKyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgIGlmIChI YW5kbGUgPT0gUHJldmlvdXNIYW5kbGUpIHsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAg IC8vIElmIG5vIGZvcndhcmQgcHJvZ3Jlc3MgaXMgbWFkZSB0cnkgaW52b2tpbmcgdGhlIERpc3Bh dGNoZXIuDQo+ICsgICAgICAgICAgLy8gQSBuZXcgRlYgbWF5IGhhdmUgYmVlbiBhZGRlZCB0byB0 aGUgc3lzdGVtIGFuIG5ldyBkcml2ZXJzDQo+ICsgICAgICAgICAgLy8gbWF5IG5vdyBiZSBmb3Vu ZC4NCj4gKyAgICAgICAgICAvLyBTdGF0dXMgPT0gRUZJX1NVQ0NFU1MgbWVhbnMgYSBkcml2ZXIg d2FzIGRpc3BhdGNoZWQNCj4gKyAgICAgICAgICAvLyBTdGF0dXMgPT0gRUZJX05PVF9GT1VORCBt ZWFucyBubyBuZXcgZHJpdmVycyB3ZXJlIGRpc3BhdGNoZWQNCj4gKyAgICAgICAgICAvLw0KPiAr ICAgICAgICAgIGlmIChDdXJyZW50VHBsID09IFRQTF9BUFBMSUNBVElPTikgew0KPiArICAgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vIERpc3BhdGNoIGNhbGxzIExvYWRJbWFnZS9TdGFy dEltYWdlIHdoaWNoIGNhbm5vdCBydW4gYXQgVFBMID4NCj4gVFBMX0FQUExJQ0FUSU9ODQo+ICsg ICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgU3RhdHVzID0gZ0RTLT5EaXNwYXRjaCAoKTsN Cj4gKyAgICAgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAg IC8vIEFsd2F5cyByZXR1cm4gRUZJX05PVF9GT1VORCBoZXJlDQo+ICsgICAgICAgICAgICAvLyB0 byBwcmV2ZW50IGRlYWQgbG9vcCB3aGVuIGNvbnRyb2wgaGFuZGxlIGlzIGZvdW5kIGJ1dCBjb25u ZWN0aW9uDQo+IGZhaWxkZWQgY2FzZQ0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAg IFN0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7DQo+ICsgICAgICAgICAgfQ0KPiArICAgICAgICB9DQo+ ICsNCj4gKyAgICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgICBQ cmV2aW91c0hhbmRsZSA9IEhhbmRsZTsNCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8v IENvbm5lY3QgYWxsIGRyaXZlcnMgdGhhdCBhcHBseSB0byBIYW5kbGUgYW5kIFJlbWFpbmluZ0Rl dmljZVBhdGgsDQo+ICsgICAgICAgICAgLy8gdGhlIFJlY3Vyc2l2ZSBmbGFnIGlzIEZBTFNFIHNv IG9ubHkgb25lIGxldmVsIHdpbGwgYmUgZXhwYW5kZWQuDQo+ICsgICAgICAgICAgLy8NCj4gKyAg ICAgICAgICAvLyBEbyBub3QgY2hlY2sgdGhlIGNvbm5lY3Qgc3RhdHVzIGhlcmUsIGlmIHRoZSBj b25uZWN0IGNvbnRyb2xsZXIgZmFpbCwNCj4gKyAgICAgICAgICAvLyB0aGVuIHN0aWxsIGdpdmUg dGhlIGNoYW5jZSB0byBkbyBkaXNwYXRjaCwgYmVjYXVzZSBwYXJ0aWFsDQo+ICsgICAgICAgICAg Ly8gUmVtYWluaW5nRGV2aWNlcGF0aCBtYXkgYmUgaW4gdGhlIG5ldyBGVg0KPiArICAgICAgICAg IC8vDQo+ICsgICAgICAgICAgLy8gMS4gSWYgdGhlIGNvbm5lY3QgZmFpbCwgUmVtYWluaW5nRGV2 aWNlcGF0aCBhbmQgaGFuZGxlIHdpbGwgbm90DQo+ICsgICAgICAgICAgLy8gICAgY2hhbmdlLCBz byBuZXh0IHRpbWUgd2lsbCBkbyB0aGUgZGlzcGF0Y2gsIHRoZW4gZGlzcGF0Y2gncyBzdGF0dXMN Cj4gKyAgICAgICAgICAvLyAgICB3aWxsIHRha2UgZWZmZWN0DQo+ICsgICAgICAgICAgLy8gMi4g SWYgdGhlIGNvbm5lY3Qgc3VjY2VzcywgdGhlIFJlbWFpbmluZ0RldmljZXBhdGggYW5kIGhhbmRs ZSB3aWxsDQo+ICsgICAgICAgICAgLy8gICAgY2hhbmdlLCB0aGVuIGF2b2lkIHRoZSBkaXNwYXRj aCwgd2UgaGF2ZSBjaGFuY2UgdG8gY29udGludWUgdGhlDQo+ICsgICAgICAgICAgLy8gICAgbmV4 dCBjb25uZWN0aW9uDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBnQlMtPkNvbm5lY3RD b250cm9sbGVyIChIYW5kbGUsIE5VTEwsIFJlbWFpbmluZ0RldmljZVBhdGgsIEZBTFNFKTsNCj4g KyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIExvb3AgdW50 aWwgUmVtYWluaW5nRGV2aWNlUGF0aCBpcyBhbiBlbXB0eSBkZXZpY2UgcGF0aA0KPiArICAgICAg Ly8NCj4gKyAgICB9IHdoaWxlICghRUZJX0VSUk9SIChTdGF0dXMpICYmICFJc0RldmljZVBhdGhF bmQNCj4gKFJlbWFpbmluZ0RldmljZVBhdGgpKTsNCj4gKw0KPiArICB9IHdoaWxlIChEZXZpY2VQ YXRoICE9IE5VTEwpOw0KPiArDQo+ICsgIGlmIChDb3B5T2ZEZXZpY2VQYXRoICE9IE5VTEwpIHsN Cj4gKyAgICBGcmVlUG9vbCAoQ29weU9mRGV2aWNlUGF0aCk7DQo+ICsgIH0NCj4gKyAgLy8NCj4g KyAgLy8gQWxsIGhhbmRsZSB3aXRoIERldmljZVBhdGggZXhpc3RzIGluIHRoZSBoYW5kbGUgZGF0 YWJhc2UNCj4gKyAgLy8NCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArLyoqDQo+ ICsgIFRoaXMgZnVuY3Rpb24gd2lsbCBjb25uZWN0IGFsbCBjdXJyZW50IHN5c3RlbSBoYW5kbGVz IHJlY3Vyc2l2ZWx5Lg0KPiArDQo+ICsgIGdCUy0+Q29ubmVjdENvbnRyb2xsZXIoKSBzZXJ2aWNl IGlzIGludm9rZWQgZm9yIGVhY2ggaGFuZGxlIGV4aXN0IGluDQo+IHN5c3RlbSBoYW5kbGVyIGJ1 ZmZlci4NCj4gKyAgSWYgdGhlIGhhbmRsZSBpcyBidXMgdHlwZSBoYW5kbGVyLCBhbGwgY2hpbGRy ZW5zIGFsc28gd2lsbCBiZSBjb25uZWN0ZWQNCj4gcmVjdXJzaXZlbHkNCj4gKyAgYnkgZ0JTLT5D b25uZWN0Q29udHJvbGxlcigpLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgIEFsbCBoYW5kbGVzIGFuZCBpdCdzIGNoaWxkIGhhbmRsZSBoYXZlIGJlZW4NCj4gY29ubmVj dGVkDQo+ICsgIEByZXR2YWwgRUZJX1NUQVRVUyAgICAgICAgICAgIEVycm9yIHN0YXR1cyByZXR1 cm5lZCBieSBvZiBnQlMtDQo+ID5Mb2NhdGVIYW5kbGVCdWZmZXIoKS4NCj4gKw0KPiArKiovDQo+ ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0xpYkNvbm5lY3RBbGxFZmkgKA0KPiArICBW T0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiArICBVSU5UTiAg ICAgICBIYW5kbGVDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgKkhhbmRsZUJ1ZmZlcjsNCj4gKyAg VUlOVE4gICAgICAgSW5kZXg7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGVC dWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgQWxsSGFuZGxlcywNCj4gKyAgICAgICAgICAg ICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAg ICAgICAgJkhhbmRsZUNvdW50LA0KPiArICAgICAgICAgICAgICAgICAgJkhhbmRsZUJ1ZmZlcg0K PiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0K PiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBmb3IgKEluZGV4ID0gMDsg SW5kZXggPCBIYW5kbGVDb3VudDsgSW5kZXgrKykgew0KPiArICAgIFN0YXR1cyA9IGdCUy0+Q29u bmVjdENvbnRyb2xsZXIgKEhhbmRsZUJ1ZmZlcltJbmRleF0sIE5VTEwsIE5VTEwsDQo+IFRSVUUp Ow0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEhhbmRsZUJ1ZmZlciAhPSBOVUxMKSB7DQo+ICsgICAg RnJlZVBvb2wgKEhhbmRsZUJ1ZmZlcik7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHdpbGwgZGlzY29u bmVjdCBhbGwgY3VycmVudCBzeXN0ZW0gaGFuZGxlcy4NCj4gKw0KPiArICBnQlMtPkRpc2Nvbm5l Y3RDb250cm9sbGVyKCkgaXMgaW52b2tlZCBmb3IgZWFjaCBoYW5kbGUgZXhpc3RzIGluIHN5c3Rl bQ0KPiBoYW5kbGUgYnVmZmVyLg0KPiArICBJZiBoYW5kbGUgaXMgYSBidXMgdHlwZSBoYW5kbGUs IGFsbCBjaGlsZHJlbnMgYWxzbyBhcmUgZGlzY29ubmVjdGVkDQo+IHJlY3Vyc2l2ZWx5IGJ5DQo+ ICsgIGdCUy0+RGlzY29ubmVjdENvbnRyb2xsZXIoKS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTICAgICAgICAgICBBbGwgaGFuZGxlcyBoYXZlIGJlZW4gZGlzY29ubmVjdGVkDQo+ICsg IEByZXR2YWwgRUZJX1NUQVRVUyAgICAgICAgICAgIEVycm9yIHN0YXR1cyByZXR1cm5lZCBieSBv ZiBnQlMtDQo+ID5Mb2NhdGVIYW5kbGVCdWZmZXIoKS4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0Jkc0xpYkRpc2Nvbm5lY3RBbGxFZmkgKA0KPiArICBWT0lEDQo+ ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICBI YW5kbGVDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgKkhhbmRsZUJ1ZmZlcjsNCj4gKyAgVUlOVE4g ICAgICAgSW5kZXg7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRGlzY29ubmVjdCBhbGwNCj4gKyAg Ly8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGVCdWZmZXIgKA0KPiArICAgICAgICAg ICAgICAgICAgQWxsSGFuZGxlcywNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJkhhbmRsZUNvdW50LA0K PiArICAgICAgICAgICAgICAgICAgJkhhbmRsZUJ1ZmZlcg0KPiArICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7 DQo+ICsgIH0NCj4gKw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBIYW5kbGVDb3VudDsg SW5kZXgrKykgew0KPiArICAgIFN0YXR1cyA9IGdCUy0+RGlzY29ubmVjdENvbnRyb2xsZXIgKEhh bmRsZUJ1ZmZlcltJbmRleF0sIE5VTEwsIE5VTEwpOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEhh bmRsZUJ1ZmZlciAhPSBOVUxMKSB7DQo+ICsgICAgRnJlZVBvb2wgKEhhbmRsZUJ1ZmZlcik7DQo+ ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoqDQo+ICsgIENvbm5lY3RzIGFsbCBkcml2ZXJzIHRvIGFsbCBjb250cm9sbGVycy4NCj4gKyAg VGhpcyBmdW5jdGlvbiBtYWtlIHN1cmUgYWxsIHRoZSBjdXJyZW50IHN5c3RlbSBkcml2ZXIgd2ls bCBtYW5hZ2UNCj4gKyAgdGhlIGNvcnJlc3BvaW5kaW5nIGNvbnRyb2xsZXJzIGlmIGhhdmUuIEFu ZCBhdCB0aGUgc2FtZSB0aW1lLCBtYWtlDQo+ICsgIHN1cmUgYWxsIHRoZSBzeXN0ZW0gY29udHJv bGxlcnMgaGF2ZSBkcml2ZXIgdG8gbWFuYWdlIGl0IGlmIGhhdmUuDQo+ICsNCj4gKyoqLw0KPiAr Vk9JRA0KPiArRUZJQVBJDQo+ICtCZHNMaWJDb25uZWN0QWxsRHJpdmVyc1RvQWxsQ29udHJvbGxl cnMgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0K PiArDQo+ICsgIGRvIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIENvbm5lY3QgQWxsIEVGSSAxLjEw IGRyaXZlcnMgZm9sbG93aW5nIEVGSSAxLjEwIGFsZ29yaXRobQ0KPiArICAgIC8vDQo+ICsgICAg QmRzTGliQ29ubmVjdEFsbEVmaSAoKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gQ2hlY2sg dG8gc2VlIGlmIGl0J3MgcG9zc2libGUgdG8gZGlzcGF0Y2ggYW4gbW9yZSBEWEUgZHJpdmVycy4N Cj4gKyAgICAvLyBUaGUgQmRzTGliQ29ubmVjdEFsbEVmaSAoKSBtYXkgaGF2ZSBtYWRlIG5ldyBE WEUgZHJpdmVycyBzaG93IHVwLg0KPiArICAgIC8vIElmIGFueXRoaW5nIGlzIERpc3BhdGNoZWQg U3RhdHVzID09IEVGSV9TVUNDRVNTIGFuZCB3ZSB3aWxsIHRyeQ0KPiArICAgIC8vIHRoZSBjb25u ZWN0IGFnYWluLg0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gZ0RTLT5EaXNwYXRjaCAoKTsN Cj4gKw0KPiArICB9IHdoaWxlICghRUZJX0VSUk9SIChTdGF0dXMpKTsNCj4gKw0KPiArfQ0KPiAr DQo+ICsNCj4gKy8qKg0KPiArICBDb25uZWN0IHRoZSBzcGVjaWZpYyBVc2IgZGV2aWNlIHdoaWNo IG1hdGNoIHRoZSBzaG9ydCBmb3JtIGRldmljZSBwYXRoLA0KPiArICBhbmQgd2hvc2UgYnVzIGlz IGRldGVybWluZWQgYnkgSG9zdCBDb250cm9sbGVyIChVaGNpIG9yIEVoY2kpLg0KPiArDQo+ICsg IEBwYXJhbSAgSG9zdENvbnRyb2xsZXJQSSAgICAgIFVoY2kgKDB4MDApIG9yIEVoY2kgKDB4MjAp IG9yIEJvdGggdWhjaSBhbmQNCj4gZWhjaQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAoMHhGRikNCj4gKyAgQHBhcmFtICBSZW1haW5pbmdEZXZpY2VQYXRoICAgYSBzaG9ydC1m b3JtIGRldmljZSBwYXRoIHRoYXQgc3RhcnRzIHdpdGgNCj4gdGhlIGZpcnN0DQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGVsZW1lbnQgIGJlaW5nIGEgVVNCIFdXSUQgb3IgYSBV U0IgQ2xhc3MgZGV2aWNlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhdGgN Cj4gKw0KPiArICBAcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgUmVtYWluaW5nRGV2aWNl UGF0aCBpcyBOVUxMIHBvaW50ZXIuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBSZW1haW5pbmdEZXZpY2VQYXRoIGlzIG5vdCBhIFVTQiBkZXZpY2UgcGF0aC4NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludmFsaWQgSG9zdENvbnRyb2xsZXJQSSB0eXBl Lg0KPiArICBAcmV0dXJuIEVGSV9TVUNDRVNTICAgICAgICAgICAgU3VjY2VzcyB0byBjb25uZWN0 IFVTQiBkZXZpY2UNCj4gKyAgQHJldHVybiBFRklfTk9UX0ZPVU5EICAgICAgICAgIEZhaWwgdG8g ZmluZCBoYW5kbGUgZm9yIFVTQiBjb250cm9sbGVyIHRvDQo+IGNvbm5lY3QuDQo+ICsNCj4gKyoq Lw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtCZHNMaWJDb25uZWN0VXNiRGV2QnlTaG9y dEZvcm1EUCgNCj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgICAgICAgICAgSG9zdENvbnRyb2xs ZXJQSSwNCj4gKyAgSU4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgKlJlbWFpbmluZ0Rldmlj ZVBhdGgNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAqSGFuZGxlQXJyYXk7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgSGFuZGxlQXJyYXlDb3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBJbmRleDsNCj4gKyAgRUZJX1BDSV9JT19QUk9UT0NPTCAgICAgICAgICAgICAgICAg ICAqUGNpSW87DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xh c3NbM107DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXRMZWFz dE9uZUNvbm5lY3RlZDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVjayB0aGUgcGFzc2VkIGlu IHBhcmFtZXRlcnMNCj4gKyAgLy8NCj4gKyAgaWYgKFJlbWFpbmluZ0RldmljZVBhdGggPT0gTlVM TCkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0K PiArICBpZiAoKERldmljZVBhdGhUeXBlIChSZW1haW5pbmdEZXZpY2VQYXRoKSAhPSBNRVNTQUdJ TkdfREVWSUNFX1BBVEgpDQo+IHx8DQo+ICsgICAgICAoKERldmljZVBhdGhTdWJUeXBlIChSZW1h aW5pbmdEZXZpY2VQYXRoKSAhPSBNU0dfVVNCX0NMQVNTX0RQKQ0KPiArICAgICAgJiYgKERldmlj ZVBhdGhTdWJUeXBlIChSZW1haW5pbmdEZXZpY2VQYXRoKSAhPQ0KPiBNU0dfVVNCX1dXSURfRFAp DQo+ICsgICAgICApKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4g KyAgfQ0KPiArDQo+ICsgIGlmIChIb3N0Q29udHJvbGxlclBJICE9IDB4RkYgJiYNCj4gKyAgICAg IEhvc3RDb250cm9sbGVyUEkgIT0gMHgwMCAmJg0KPiArICAgICAgSG9zdENvbnRyb2xsZXJQSSAh PSAweDIwKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpbmQgdGhlIHVzYiBob3N0IGNvbnRyb2xsZXIgZmlyc3Rs eSwgdGhlbiBjb25uZWN0IHdpdGggdGhlIHJlbWFpbmluZw0KPiBkZXZpY2UgcGF0aA0KPiArICAv Lw0KPiArICBBdExlYXN0T25lQ29ubmVjdGVkID0gRkFMU0U7DQo+ICsgIFN0YXR1cyA9IGdCUy0+ TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ ICsgICAgICAgICAgICAgICAgICAmZ0VmaVBjaUlvUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAg ICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGVBcnJheUNvdW50LA0K PiArICAgICAgICAgICAgICAgICAgJkhhbmRsZUFycmF5DQo+ICsgICAgICAgICAgICAgICAgICAp Ow0KPiArICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIGZvciAoSW5kZXggPSAw OyBJbmRleCA8IEhhbmRsZUFycmF5Q291bnQ7IEluZGV4KyspIHsNCj4gKyAgICAgIFN0YXR1cyA9 IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZUFy cmF5W0luZGV4XSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmZ0VmaVBjaUlvUHJvdG9jb2xH dWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZQY2lJbw0KPiArICAgICAg ICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0K PiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBDaGVjayB3aGV0aGVyIHRoZSBQY2kgZGV2aWNl IGlzIHRoZSB3YW50ZWQgdXNiIGhvc3QgY29udHJvbGxlcg0KPiArICAgICAgICAvLw0KPiArICAg ICAgICBTdGF0dXMgPSBQY2lJby0+UGNpLlJlYWQgKFBjaUlvLCBFZmlQY2lJb1dpZHRoVWludDgs IDB4MDksIDMsICZDbGFzcyk7DQo+ICsgICAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+ICsgICAgICAgICAgaWYgKChQQ0lfQ0xBU1NfU0VSSUFMID09IENsYXNzWzJdKSAmJg0KPiAr ICAgICAgICAgICAgICAoUENJX0NMQVNTX1NFUklBTF9VU0IgPT0gQ2xhc3NbMV0pKSB7DQo+ICsg ICAgICAgICAgICBpZiAoSG9zdENvbnRyb2xsZXJQSSA9PSBDbGFzc1swXSB8fCBIb3N0Q29udHJv bGxlclBJID09IDB4RkYpIHsNCj4gKyAgICAgICAgICAgICAgU3RhdHVzID0gZ0JTLT5Db25uZWN0 Q29udHJvbGxlciAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kbGVBcnJh eVtJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVtYWluaW5nRGV2aWNlUGF0aCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEZBTFNFDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICApOw0KPiArICAgICAgICAgICAgICBpZiAoIUVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ ICsgICAgICAgICAgICAgICAgQXRMZWFzdE9uZUNvbm5lY3RlZCA9IFRSVUU7DQo+ICsgICAgICAg ICAgICAgIH0NCj4gKyAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgIH0N Cj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBpZiAoSGFuZGxlQXJyYXkgIT0gTlVM TCkgew0KPiArICAgICAgRnJlZVBvb2wgKEhhbmRsZUFycmF5KTsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICBpZiAoQXRMZWFzdE9uZUNvbm5lY3RlZCkgew0KPiArICAgICAgcmV0dXJuIEVGSV9TVUND RVNTOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0K PiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv T3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xp Yi9CZHNDb25zb2xlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVy cmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGliL0Jk c0NvbnNvbGUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4y ZmZmZDllNGJjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJh cnkvR2VuZXJpY0Jkc0xpYi9CZHNDb25zb2xlLmMNCj4gQEAgLTAsMCArMSwxMDYxIEBADQo+ICsv KiogQGZpbGUNCj4gKyAgQkRTIExpYiBmdW5jdGlvbnMgd2hpY2ggY29udGFpbiBhbGwgdGhlIGNv ZGUgdG8gY29ubmVjdCBjb25zb2xlIGRldmljZQ0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQg LSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8N Cj4gKw0KPiArI2luY2x1ZGUgIkludGVybmFsQmRzTGliLmgiDQo+ICsNCj4gKw0KPiArLyoqDQo+ ICsgIENoZWNrIGlmIHdlIG5lZWQgdG8gc2F2ZSB0aGUgRUZJIHZhcmlhYmxlIHdpdGggIkNvblZh ck5hbWUiIGFzIG5hbWUNCj4gKyAgYXMgTlYgdHlwZQ0KPiArICBJZiBDb25WYXJOYW1lIGlzIE5V TEwsIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtIENvblZhck5hbWUgVGhlIG5hbWUg b2YgdGhlIEVGSSB2YXJpYWJsZS4NCj4gKw0KPiArICBAcmV0dmFsIFRSVUUgICAgU2V0IHRoZSBF RkkgdmFyaWFibGUgYXMgTlYgdHlwZS4NCj4gKyAgQHJldHZhbCBGQUxTRSAgIEVGSSB2YXJpYWJs ZSBhcyBOViB0eXBlIGNhbiBiZSBzZXQgTm9uTlYuDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0lz TnZOZWVkICgNCj4gKyAgSU4gQ0hBUjE2ICpDb25WYXJOYW1lDQo+ICsgICkNCj4gK3sNCj4gKyAg Q0hBUjE2ICpQdHI7DQo+ICsNCj4gKyAgQVNTRVJUIChDb25WYXJOYW1lICE9IE5VTEwpOw0KPiAr DQo+ICsgIFB0ciA9IENvblZhck5hbWU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSWYgdGhlIHZh cmlhYmxlIGluY2x1ZGVzICJEZXYiIGF0IGxhc3QsIHdlIGNvbnNpZGVyDQo+ICsgIC8vIGl0IGRv ZXMgbm90IHN1cHBvcnQgTlYgYXR0cmlidXRlLg0KPiArICAvLw0KPiArICB3aGlsZSAoKlB0ciAh PSBMJ1wwJykgew0KPiArICAgIFB0cisrOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKCgoSU5UTiko KFVJTlROKVB0ciAtIChVSU5UTilDb25WYXJOYW1lKSAvIHNpemVvZiAoQ0hBUjE2KSkgPD0gMykg ew0KPiArICAgIHJldHVybiBUUlVFOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKCgqKFB0ciAtIDMp ID09ICdEJykgJiYgKCooUHRyIC0gMikgPT0gJ2UnKSAmJiAoKihQdHIgLSAxKSA9PSAndicpKSB7 DQo+ICsgICAgcmV0dXJuIEZBTFNFOw0KPiArICB9IGVsc2Ugew0KPiArICAgIHJldHVybiBUUlVF Ow0KPiArICB9DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBGaWxsIGNvbnNvbGUgaGFuZGxlIGlu IFN5c3RlbSBUYWJsZSBpZiB0aGVyZSBhcmUgbm8gdmFsaWQgY29uc29sZSBoYW5kbGUgaW4uDQo+ ICsNCj4gKyAgRmlyc3RseSwgY2hlY2sgdGhlIHZhbGlkYXRpb24gb2YgY29uc29sZSBoYW5kbGUg aW4gU3lzdGVtIFRhYmxlLiBJZiBpdCBpcyBpbnZhbGlkLA0KPiArICB1cGRhdGUgaXQgYnkgdGhl IGZpcnN0IGNvbnNvbGUgZGV2aWNlIGhhbmRsZSBmcm9tIEVGSSBjb25zb2xlIHZhcmlhYmxlLg0K PiArDQo+ICsgIEBwYXJhbSAgVmFyTmFtZSAgICAgICAgICAgIFRoZSBuYW1lIG9mIHRoZSBFRkkg Y29uc29sZSB2YXJpYWJsZS4NCj4gKyAgQHBhcmFtICBDb25zb2xlR3VpZCAgICAgICAgU3BlY2lm aWVkIENvbnNvbGUgcHJvdG9jb2wgR1VJRC4NCj4gKyAgQHBhcmFtICBDb25zb2xlSGFuZGxlICAg ICAgT24gSU4sICBjb25zb2xlIGhhbmRsZSBpbiBTeXN0ZW0gVGFibGUgdG8gYmUNCj4gY2hlY2tl ZC4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT24gT1VULCBuZXcgY29uc29sZSBo YW5kbGUgaW4gc3lzdGVtIHRhYmxlLg0KPiArICBAcGFyYW0gIFByb3RvY29sSW50ZXJmYWNlICBP biBJTiwgIGNvbnNvbGUgcHJvdG9jb2wgb24gY29uc29sZSBoYW5kbGUgaW4NCj4gU3lzdGVtIFRh YmxlIHRvIGJlIGNoZWNrZWQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIE9V VCwgbmV3IGNvbnNvbGUgcHJvdG9jb2wgb24gbmV3IGNvbnNvbGUgaGFuZGxlIGluDQo+IHN5c3Rl bSB0YWJsZS4NCj4gKw0KPiArICBAcmV0dmFsIFRSVUUgICAgICAgICAgICAgICBTeXN0ZW0gVGFi bGUgaGFzIGJlZW4gdXBkYXRlZC4NCj4gKyAgQHJldHZhbCBGQUxTRSAgICAgICAgICAgICAgU3lz dGVtIFRhYmxlIGhhc24ndCBiZWVuIHVwZGF0ZWQuDQo+ICsNCj4gKyoqLw0KPiArQk9PTEVBTg0K PiArVXBkYXRlU3lzdGVtVGFibGVDb25zb2xlICgNCj4gKyAgSU4gICAgIENIQVIxNiAgICAgICAg ICAgICAgICAgICAgICAgICAgKlZhck5hbWUsDQo+ICsgIElOICAgICBFRklfR1VJRCAgICAgICAg ICAgICAgICAgICAgICAgICpDb25zb2xlR3VpZCwNCj4gKyAgSU4gT1VUIEVGSV9IQU5ETEUgICAg ICAgICAgICAgICAgICAgICAgKkNvbnNvbGVIYW5kbGUsDQo+ICsgIElOIE9VVCBWT0lEICAgICAg ICAgICAgICAgICAgICAgICAgICAgICoqUHJvdG9jb2xJbnRlcmZhY2UNCj4gKyAgKQ0KPiArew0K PiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICBEZXZpY2VQYXRoU2l6ZTsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RP Q09MICAqRnVsbERldmljZVBhdGg7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKlZh ckNvbnNvbGU7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkluc3RhbmNlOw0KPiAr ICBWT0lEICAgICAgICAgICAgICAgICAgICAgICpJbnRlcmZhY2U7DQo+ICsgIEVGSV9IQU5ETEUg ICAgICAgICAgICAgICAgTmV3SGFuZGxlOw0KPiArICBFRklfU0lNUExFX1RFWFRfT1VUUFVUX1BS T1RPQ09MICpUZXh0T3V0Ow0KPiArDQo+ICsgIEFTU0VSVCAoVmFyTmFtZSAhPSBOVUxMKTsNCj4g KyAgQVNTRVJUIChDb25zb2xlSGFuZGxlICE9IE5VTEwpOw0KPiArICBBU1NFUlQgKENvbnNvbGVH dWlkICE9IE5VTEwpOw0KPiArICBBU1NFUlQgKFByb3RvY29sSW50ZXJmYWNlICE9IE5VTEwpOw0K PiArDQo+ICsgIGlmICgqQ29uc29sZUhhbmRsZSAhPSBOVUxMKSB7DQo+ICsgICAgU3RhdHVzID0g Z0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgKkNvbnNvbGVIYW5k bGUsDQo+ICsgICAgICAgICAgICAgICAgICAgQ29uc29sZUd1aWQsDQo+ICsgICAgICAgICAgICAg ICAgICAgJkludGVyZmFjZQ0KPiArICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKFN0 YXR1cyA9PSBFRklfU1VDQ0VTUyAmJiBJbnRlcmZhY2UgPT0gKlByb3RvY29sSW50ZXJmYWNlKSB7 DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gSWYgQ29uc29sZUhhbmRsZSBpcyB2YWxpZCBhbmQg Y29uc29sZSBwcm90b2NvbCBvbiB0aGlzIGhhbmRsZSBhbHNvDQo+ICsgICAgICAvLyBhbHNvIG1h dGNoZWQsIGp1c3QgcmV0dXJuLg0KPiArICAgICAgLy8NCj4gKyAgICAgIHJldHVybiBGQUxTRTsN Cj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgYWxsIHBvc3NpYmxl IGNvbnNvbGVzIGRldmljZSBwYXRoIGZyb20gRUZJIHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsgIFZh ckNvbnNvbGUgPSBCZHNMaWJHZXRWYXJpYWJsZUFuZFNpemUgKA0KPiArICAgICAgICAgICAgICAg IFZhck5hbWUsDQo+ICsgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgJkRldmljZVBhdGhTaXplDQo+ICsgICAgICAgICAgICAgICAgKTsN Cj4gKyAgaWYgKFZhckNvbnNvbGUgPT0gTlVMTCkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gSWYg dGhlcmUgaXMgbm8gYW55IGNvbnNvbGUgZGV2aWNlLCBqdXN0IHJldHVybi4NCj4gKyAgICAvLw0K PiArICAgIHJldHVybiBGQUxTRTsNCj4gKyAgfQ0KPiArDQo+ICsgIEZ1bGxEZXZpY2VQYXRoID0g VmFyQ29uc29sZTsNCj4gKw0KPiArICBkbyB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBDaGVjayBl dmVyeSBpbnN0YW5jZSBvZiB0aGUgY29uc29sZSB2YXJpYWJsZQ0KPiArICAgIC8vDQo+ICsgICAg SW5zdGFuY2UgID0gR2V0TmV4dERldmljZVBhdGhJbnN0YW5jZSAoJlZhckNvbnNvbGUsICZEZXZp Y2VQYXRoU2l6ZSk7DQo+ICsgICAgaWYgKEluc3RhbmNlID09IE5VTEwpIHsNCj4gKyAgICAgIEZy ZWVQb29sIChGdWxsRGV2aWNlUGF0aCk7DQo+ICsgICAgICBBU1NFUlQgKEZBTFNFKTsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEZpbmQgY29uc29sZSBkZXZpY2UgaGFuZGxl IGJ5IGRldmljZSBwYXRoIGluc3RhbmNlDQo+ICsgICAgLy8NCj4gKyAgICBTdGF0dXMgPSBnQlMt PkxvY2F0ZURldmljZVBhdGggKA0KPiArICAgICAgICAgICAgICAgICAgIENvbnNvbGVHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgICZJbnN0YW5jZSwNCj4gKyAgICAgICAgICAgICAgICAgICAm TmV3SGFuZGxlDQo+ICsgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoIUVGSV9FUlJP UiAoU3RhdHVzKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEdldCB0aGUgY29uc29sZSBw cm90b2NvbCBvbiB0aGlzIGNvbnNvbGUgZGV2aWNlIGhhbmRsZQ0KPiArICAgICAgLy8NCj4gKyAg ICAgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAg ICAgTmV3SGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgQ29uc29sZUd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAmSW50ZXJmYWNlDQo+ICsgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgLy8NCj4g KyAgICAgICAgLy8gVXBkYXRlIG5ldyBjb25zb2xlIGhhbmRsZSBpbiBTeXN0ZW0gVGFibGUuDQo+ ICsgICAgICAgIC8vDQo+ICsgICAgICAgICpDb25zb2xlSGFuZGxlICAgICA9IE5ld0hhbmRsZTsN Cj4gKyAgICAgICAgKlByb3RvY29sSW50ZXJmYWNlID0gSW50ZXJmYWNlOw0KPiArICAgICAgICBp ZiAoQ29tcGFyZUd1aWQgKENvbnNvbGVHdWlkLCAmZ0VmaVNpbXBsZVRleHRPdXRQcm90b2NvbEd1 aWQpKSB7DQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAvLyBJZiBpdCBpcyBjb25zb2xl IG91dCBkZXZpY2UsIHNldCBjb25zb2xlIG1vZGUgODB4MjUgaWYgY3VycmVudCBtb2RlIGlzDQo+ IGludmFsaWQuDQo+ICsgICAgICAgICAgLy8NCj4gKyAgICAgICAgICBUZXh0T3V0ID0gKEVGSV9T SU1QTEVfVEVYVF9PVVRQVVRfUFJPVE9DT0wgKikgSW50ZXJmYWNlOw0KPiArICAgICAgICAgIGlm IChUZXh0T3V0LT5Nb2RlLT5Nb2RlID09IC0xKSB7DQo+ICsgICAgICAgICAgICBUZXh0T3V0LT5T ZXRNb2RlIChUZXh0T3V0LCAwKTsNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgIH0NCj4gKyAg ICAgICAgcmV0dXJuIFRSVUU7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgIH0gd2hp bGUgKEluc3RhbmNlICE9IE5VTEwpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE5vIGFueSBhdmFp bGFibGUgY29uc29sZSBkZXZjaWUgZm91bmQuDQo+ICsgIC8vDQo+ICsgIHJldHVybiBGQUxTRTsN Cj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gdXBkYXRlIGNvbnNvbGUgdmFy aWFibGUgYmFzZWQgb24gQ29uVmFyTmFtZSwgaXQgY2FuDQo+ICsgIGFkZCBvciByZW1vdmUgb25l IHNwZWNpZmljIGNvbnNvbGUgZGV2aWNlIHBhdGggZnJvbSB0aGUgdmFyaWFibGUNCj4gKw0KPiAr ICBAcGFyYW0gIENvblZhck5hbWUgICAgICAgICAgICAgICBDb25zb2xlIHJlbGF0ZWQgdmFyaWFi bGUgbmFtZSwgQ29uSW4sDQo+IENvbk91dCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRXJyT3V0Lg0KPiArICBAcGFyYW0gIEN1c3RvbWl6ZWRDb25EZXZpY2VQYXRoICBU aGUgY29uc29sZSBkZXZpY2UgcGF0aCB3aGljaCB3aWxsDQo+IGJlIGFkZGVkIHRvDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBjb25zb2xlIHZhcmlhYmxlIENvblZh ck5hbWUsIHRoaXMgcGFyYW1ldGVyDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGNhbiBub3QgYmUgbXVsdGktaW5zdGFuY2UuDQo+ICsgIEBwYXJhbSAgRXhjbHVzaXZlRGV2 aWNlUGF0aCAgICAgIFRoZSBjb25zb2xlIGRldmljZSBwYXRoIHdoaWNoIHdpbGwgYmUNCj4gcmVt b3ZlZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmcm9tIHRoZSBjb25z b2xlIHZhcmlhYmxlIENvblZhck5hbWUsIHRoaXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgcGFyYW1ldGVyIGNhbiBub3QgYmUgbXVsdGktaW5zdGFuY2UuDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAgVGhlIGFkZGVkIGRldmljZSBwYXRo IGlzIHNhbWUgdG8gdGhlDQo+IHJlbW92ZWQgb25lLg0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICAgICAgICBTdWNjZXNzIGFkZCBvciByZW1vdmUgdGhlIGRldmljZSBwYXRoIGZyb20N Cj4gdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnNvbGUgdmFy aWFibGUuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtCZHNMaWJV cGRhdGVDb25zb2xlVmFyaWFibGUgKA0KPiArICBJTiAgQ0hBUjE2ICAgICAgICAgICAgICAgICAg ICAqQ29uVmFyTmFtZSwNCj4gKyAgSU4gIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkN1c3Rv bWl6ZWRDb25EZXZpY2VQYXRoLA0KPiArICBJTiAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAq RXhjbHVzaXZlRGV2aWNlUGF0aA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAg ICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpWYXJDb25z b2xlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIERldmljZVBhdGhTaXplOw0KPiAr ICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpOZXdEZXZpY2VQYXRoOw0KPiArICBFRklfREVW SUNFX1BBVEhfUFJPVE9DT0wgICpUZW1wTmV3RGV2aWNlUGF0aDsNCj4gKyAgVUlOVDMyICAgICAg ICAgICAgICAgICAgICBBdHRyaWJ1dGVzOw0KPiArDQo+ICsgIFZhckNvbnNvbGUgICAgICA9IE5V TEw7DQo+ICsgIERldmljZVBhdGhTaXplICA9IDA7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTm90 ZXM6IGNoZWNrIHRoZSBkZXZpY2UgcGF0aCBwb2ludCwgaGVyZSBzaG91bGQgY2hlY2sNCj4gKyAg Ly8gd2l0aCBjb21wYXJlIG1lbW9yeQ0KPiArICAvLw0KPiArICBpZiAoQ3VzdG9taXplZENvbkRl dmljZVBhdGggPT0gRXhjbHVzaXZlRGV2aWNlUGF0aCkgew0KPiArICAgIHJldHVybiBFRklfVU5T VVBQT1JURUQ7DQo+ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8gRGVsZXRlIHRoZSBFeGNsdXNpdmVE ZXZpY2VQYXRoIGZyb20gY3VycmVudCBkZWZhdWx0IGNvbnNvbGUNCj4gKyAgLy8NCj4gKyAgVmFy Q29uc29sZSA9IEJkc0xpYkdldFZhcmlhYmxlQW5kU2l6ZSAoDQo+ICsgICAgICAgICAgICAgICAg Q29uVmFyTmFtZSwNCj4gKyAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwN Cj4gKyAgICAgICAgICAgICAgICAmRGV2aWNlUGF0aFNpemUNCj4gKyAgICAgICAgICAgICAgICAp Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgTmV3RGV2aWNlUGF0aA0KPiArICAv Lw0KPiArICBOZXdEZXZpY2VQYXRoICA9IFZhckNvbnNvbGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gSWYgRXhjbHVzaXZlRGV2aWNlUGF0aCBpcyBldmVuIHRoZSBwYXJ0IG9mIHRoZSBpbnN0YW5j ZSBpbiBWYXJDb25zb2xlLA0KPiBkZWxldGUgaXQuDQo+ICsgIC8vIEluIHRoZSBlbmQsIE5ld0Rl dmljZVBhdGggaXMgdGhlIGZpbmFsIGRldmljZSBwYXRoLg0KPiArICAvLw0KPiArICBpZiAoRXhj bHVzaXZlRGV2aWNlUGF0aCAhPSBOVUxMICYmIFZhckNvbnNvbGUgIT0gTlVMTCkgew0KPiArICAg ICAgTmV3RGV2aWNlUGF0aCA9IEJkc0xpYkRlbFBhcnRNYXRjaEluc3RhbmNlIChWYXJDb25zb2xl LA0KPiBFeGNsdXNpdmVEZXZpY2VQYXRoKTsNCj4gKyAgfQ0KPiArICAvLw0KPiArICAvLyBUcnkg dG8gYXBwZW5kIGN1c3RvbWl6ZWQgZGV2aWNlIHBhdGggdG8gTmV3RGV2aWNlUGF0aC4NCj4gKyAg Ly8NCj4gKyAgaWYgKEN1c3RvbWl6ZWRDb25EZXZpY2VQYXRoICE9IE5VTEwpIHsNCj4gKyAgICBp ZiAoIUJkc0xpYk1hdGNoRGV2aWNlUGF0aHMgKE5ld0RldmljZVBhdGgsDQo+IEN1c3RvbWl6ZWRD b25EZXZpY2VQYXRoKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIENoZWNrIGlmIHRoZXJl IGlzIHBhcnQgb2YgQ3VzdG9taXplZENvbkRldmljZVBhdGggaW4gTmV3RGV2aWNlUGF0aCwNCj4g ZGVsZXRlIGl0Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIE5ld0RldmljZVBhdGggPSBCZHNMaWJE ZWxQYXJ0TWF0Y2hJbnN0YW5jZSAoTmV3RGV2aWNlUGF0aCwNCj4gQ3VzdG9taXplZENvbkRldmlj ZVBhdGgpOw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEluIHRoZSBmaXJzdCBjaGVjaywgdGhl IGRlZmF1bHQgY29uc29sZSB2YXJpYWJsZSB3aWxsIGJlDQo+IF9Nb2R1bGVFbnRyeVBvaW50LA0K PiArICAgICAgLy8ganVzdCBhcHBlbmQgY3VycmVudCBjdXN0b21pemVkIGRldmljZSBwYXRoDQo+ ICsgICAgICAvLw0KPiArICAgICAgVGVtcE5ld0RldmljZVBhdGggPSBOZXdEZXZpY2VQYXRoOw0K PiArICAgICAgTmV3RGV2aWNlUGF0aCA9IEFwcGVuZERldmljZVBhdGhJbnN0YW5jZSAoTmV3RGV2 aWNlUGF0aCwNCj4gQ3VzdG9taXplZENvbkRldmljZVBhdGgpOw0KPiArICAgICAgaWYgKFRlbXBO ZXdEZXZpY2VQYXRoICE9IE5VTEwpIHsNCj4gKyAgICAgICAgRnJlZVBvb2woVGVtcE5ld0Rldmlj ZVBhdGgpOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFRoZSBhdHRyaWJ1dGUgZm9yIENvbkluRGV2LCBDb25PdXREZXYgYW5kIEVyck91dERldiBk b2VzIG5vdCBpbmNsdWRlDQo+IE5WLg0KPiArICAvLw0KPiArICBpZiAoSXNOdk5lZWQoQ29uVmFy TmFtZSkpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIENvblZhck5hbWUgaGFzIE5WIGF0dHJpYnV0 ZS4NCj4gKyAgICAvLw0KPiArICAgIEF0dHJpYnV0ZXMgPSBFRklfVkFSSUFCTEVfQk9PVFNFUlZJ Q0VfQUNDRVNTIHwNCj4gRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTIHwgRUZJX1ZBUklBQkxF X05PTl9WT0xBVElMRTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIENvblZh ck5hbWUgZG9lcyBub3QgaGF2ZSBOViBhdHRyaWJ1dGUuDQo+ICsgICAgLy8NCj4gKyAgICBBdHRy aWJ1dGVzID0gRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8DQo+IEVGSV9WQVJJQUJM RV9SVU5USU1FX0FDQ0VTUzsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpbmFsbHks IFVwZGF0ZSB0aGUgdmFyaWFibGUgb2YgdGhlIGRlZmF1bHQgY29uc29sZSBieSBOZXdEZXZpY2VQ YXRoDQo+ICsgIC8vDQo+ICsgIERldmljZVBhdGhTaXplID0gR2V0RGV2aWNlUGF0aFNpemUgKE5l d0RldmljZVBhdGgpOw0KPiArICBTdGF0dXMgPSBTZXRWYXJpYWJsZUFuZFJlcG9ydFN0YXR1c0Nv ZGVPbkVycm9yICgNCj4gKyAgICAgICAgICAgICBDb25WYXJOYW1lLA0KPiArICAgICAgICAgICAg ICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgIEF0dHJpYnV0ZXMsDQo+ ICsgICAgICAgICAgICAgRGV2aWNlUGF0aFNpemUsDQo+ICsgICAgICAgICAgICAgTmV3RGV2aWNl UGF0aA0KPiArICAgICAgICAgICAgICk7DQo+ICsgIGlmICgoRGV2aWNlUGF0aFNpemUgPT0gMCkg JiYgKFN0YXR1cyA9PSBFRklfTk9UX0ZPVU5EKSkgew0KPiArICAgIFN0YXR1cyA9IEVGSV9TVUND RVNTOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKFZhckNvbnNvbGUgPT0gTmV3RGV2aWNlUGF0aCkg ew0KPiArICAgIGlmIChWYXJDb25zb2xlICE9IE5VTEwpIHsNCj4gKyAgICAgIEZyZWVQb29sKFZh ckNvbnNvbGUpOw0KPiArICAgIH0NCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBpZiAoVmFyQ29uc29s ZSAhPSBOVUxMKSB7DQo+ICsgICAgICBGcmVlUG9vbChWYXJDb25zb2xlKTsNCj4gKyAgICB9DQo+ ICsgICAgaWYgKE5ld0RldmljZVBhdGggIT0gTlVMTCkgew0KPiArICAgICAgRnJlZVBvb2woTmV3 RGV2aWNlUGF0aCk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsN Cj4gKw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBDb25uZWN0IHRoZSBjb25zb2xlIGRl dmljZSBiYXNlIG9uIHRoZSB2YXJpYWJsZSBDb25WYXJOYW1lLCBpZg0KPiArICBkZXZpY2UgcGF0 aCBvZiB0aGUgQ29uVmFyTmFtZSBpcyBtdWx0aS1pbnN0YW5jZSBkZXZpY2UgcGF0aCBhbmQNCj4g KyAgYW55b25lIG9mIHRoZSBpbnN0YW5jZXMgaXMgY29ubmVjdGVkIHN1Y2Nlc3MsIHRoZW4gdGhp cyBmdW5jdGlvbg0KPiArICB3aWxsIHJldHVybiBzdWNjZXNzLg0KPiArICBJZiB0aGUgaGFuZGxl IGFzc29jaWF0ZSB3aXRoIG9uZSBkZXZpY2UgcGF0aCBub2RlIGNhbiBub3QNCj4gKyAgYmUgY3Jl YXRlZCBzdWNjZXNzZnVsbHksIHRoZW4gc3RpbGwgZ2l2ZSBjaGFuY2UgdG8gZG8gdGhlIGRpc3Bh dGNoLA0KPiArICB3aGljaCBsb2FkIHRoZSBtaXNzaW5nIGRyaXZlcnMgaWYgcG9zc2libGUuLg0K PiArDQo+ICsgIEBwYXJhbSAgQ29uVmFyTmFtZSAgICAgICAgICAgICAgIENvbnNvbGUgcmVsYXRl ZCB2YXJpYWJsZSBuYW1lLCBDb25JbiwNCj4gQ29uT3V0LA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBFcnJPdXQuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5E ICAgICAgICAgICAgVGhlcmUgaXMgbm90IGFueSBjb25zb2xlIGRldmljZXMNCj4gY29ubmVjdGVk DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN1Y2Nlc3MNCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgU3VjY2VzcyBjb25uZWN0IGFueSBvbmUgaW5z dGFuY2Ugb2YgdGhlDQo+IGNvbnNvbGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgZGV2aWNlIHBhdGggYmFzZSBvbiB0aGUgdmFyaWFibGUgQ29uVmFyTmFtZS4NCj4gKw0K PiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0xpYkNvbm5lY3RDb25zb2xl VmFyaWFibGUgKA0KPiArICBJTiAgQ0hBUjE2ICAgICAgICAgICAgICAgICAqQ29uVmFyTmFtZQ0K PiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiAr ICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpTdGFydERldmljZVBhdGg7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVTaXplOw0KPiArICBFRklfREVWSUNFX1BBVEhf UFJPVE9DT0wgICpJbnN0YW5jZTsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqTmV4 dDsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqQ29weU9mRGV2aWNlUGF0aDsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTaXplOw0KPiArICBCT09MRUFOICAgICAgICAg ICAgICAgICAgIERldmljZUV4aXN0Ow0KPiArDQo+ICsgIFN0YXR1cyAgICAgID0gRUZJX1NVQ0NF U1M7DQo+ICsgIERldmljZUV4aXN0ID0gRkFMU0U7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hl Y2sgaWYgdGhlIGNvbnNvbGUgdmFyaWFibGUgZXhpc3QNCj4gKyAgLy8NCj4gKyAgU3RhcnREZXZp Y2VQYXRoID0gQmRzTGliR2V0VmFyaWFibGVBbmRTaXplICgNCj4gKyAgICAgICAgICAgICAgICAg ICAgICBDb25WYXJOYW1lLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFy aWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZWYXJpYWJsZVNpemUNCj4gKyAg ICAgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoU3RhcnREZXZpY2VQYXRoID09IE5VTEwp IHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4gKyAgQ29w eU9mRGV2aWNlUGF0aCA9IFN0YXJ0RGV2aWNlUGF0aDsNCj4gKyAgZG8gew0KPiArICAgIC8vDQo+ ICsgICAgLy8gQ2hlY2sgZXZlcnkgaW5zdGFuY2Ugb2YgdGhlIGNvbnNvbGUgdmFyaWFibGUNCj4g KyAgICAvLw0KPiArICAgIEluc3RhbmNlICA9IEdldE5leHREZXZpY2VQYXRoSW5zdGFuY2UgKCZD b3B5T2ZEZXZpY2VQYXRoLCAmU2l6ZSk7DQo+ICsgICAgaWYgKEluc3RhbmNlID09IE5VTEwpIHsN Cj4gKyAgICAgIEZyZWVQb29sIChTdGFydERldmljZVBhdGgpOw0KPiArICAgICAgcmV0dXJuIEVG SV9VTlNVUFBPUlRFRDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBOZXh0ICAgICAgPSBJbnN0YW5j ZTsNCj4gKyAgICB3aGlsZSAoIUlzRGV2aWNlUGF0aEVuZFR5cGUgKE5leHQpKSB7DQo+ICsgICAg ICBOZXh0ID0gTmV4dERldmljZVBhdGhOb2RlIChOZXh0KTsNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICBTZXREZXZpY2VQYXRoRW5kTm9kZSAoTmV4dCk7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBDb25u ZWN0IHRoZSBVU0IgY29uc29sZQ0KPiArICAgIC8vIFVTQiBjb25zb2xlIGRldmljZSBwYXRoIGlz IGEgc2hvcnQtZm9ybSBkZXZpY2UgcGF0aCB0aGF0DQo+ICsgICAgLy8gIHN0YXJ0cyB3aXRoIHRo ZSBmaXJzdCBlbGVtZW50IGJlaW5nIGEgVVNCIFdXSUQNCj4gKyAgICAvLyAgb3IgYSBVU0IgQ2xh c3MgZGV2aWNlIHBhdGgNCj4gKyAgICAvLw0KPiArICAgIGlmICgoRGV2aWNlUGF0aFR5cGUgKElu c3RhbmNlKSA9PSBNRVNTQUdJTkdfREVWSUNFX1BBVEgpICYmDQo+ICsgICAgICAgKChEZXZpY2VQ YXRoU3ViVHlwZSAoSW5zdGFuY2UpID09IE1TR19VU0JfQ0xBU1NfRFApDQo+ICsgICAgICAgfHwg KERldmljZVBhdGhTdWJUeXBlIChJbnN0YW5jZSkgPT0gTVNHX1VTQl9XV0lEX0RQKQ0KPiArICAg ICAgICkpIHsNCj4gKyAgICAgIFN0YXR1cyA9IEJkc0xpYkNvbm5lY3RVc2JEZXZCeVNob3J0Rm9y bURQICgweEZGLCBJbnN0YW5jZSk7DQo+ICsgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkg ew0KPiArICAgICAgICBEZXZpY2VFeGlzdCA9IFRSVUU7DQo+ICsgICAgICB9DQo+ICsgICAgfSBl bHNlIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBDb25uZWN0IHRoZSBpbnN0YW5jZSBkZXZp Y2UgcGF0aA0KPiArICAgICAgLy8NCj4gKyAgICAgIFN0YXR1cyA9IEJkc0xpYkNvbm5lY3REZXZp Y2VQYXRoIChJbnN0YW5jZSk7DQo+ICsNCj4gKyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykp IHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gRGVsZXRlIHRoZSBpbnN0YW5jZSBmcm9t IHRoZSBjb25zb2xlIHZhcmlhbGJlDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIEJkc0xpYlVw ZGF0ZUNvbnNvbGVWYXJpYWJsZSAoQ29uVmFyTmFtZSwgTlVMTCwgSW5zdGFuY2UpOw0KPiArICAg ICAgfSBlbHNlIHsNCj4gKyAgICAgICAgRGV2aWNlRXhpc3QgPSBUUlVFOw0KPiArICAgICAgfQ0K PiArICAgIH0NCj4gKyAgICBGcmVlUG9vbChJbnN0YW5jZSk7DQo+ICsgIH0gd2hpbGUgKENvcHlP ZkRldmljZVBhdGggIT0gTlVMTCk7DQo+ICsNCj4gKyAgRnJlZVBvb2wgKFN0YXJ0RGV2aWNlUGF0 aCk7DQo+ICsNCj4gKyAgaWYgKCFEZXZpY2VFeGlzdCkgew0KPiArICAgIHJldHVybiBFRklfTk9U X0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiAr DQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiB3aWxsIHNlYXJjaCBldmVyeSBzaW1wbGV0ZXh0 IGRldmljZSBpbiBjdXJyZW50IHN5c3RlbSwNCj4gKyAgYW5kIG1ha2UgZXZlcnkgc2ltcGxldGV4 dCBkZXZpY2UgYXMgcGVydGFudGlhbCBjb25zb2xlIGRldmljZS4NCj4gKw0KPiArKiovDQo+ICtW T0lEDQo+ICtFRklBUEkNCj4gK0Jkc0xpYkNvbm5lY3RBbGxDb25zb2xlcyAoDQo+ICsgIFZPSUQN Cj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiAr ICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpDb25EZXZpY2VQYXRoOw0KPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgICAgIEhhbmRsZUNvdW50Ow0KPiArICBFRklfSEFORExFICAgICAgICAg ICAgICAgICpIYW5kbGVCdWZmZXI7DQo+ICsNCj4gKyAgSW5kZXggICAgICAgICA9IDA7DQo+ICsg IEhhbmRsZUNvdW50ICAgPSAwOw0KPiArICBIYW5kbGVCdWZmZXIgID0gTlVMTDsNCj4gKyAgQ29u RGV2aWNlUGF0aCA9IE5VTEw7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIGFsbCB0aGUg Y29uc29sZSB2YXJpYWJsZXMNCj4gKyAgLy8NCj4gKyAgZ0JTLT5Mb2NhdGVIYW5kbGVCdWZmZXIg KA0KPiArICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgJmdFZmlTaW1wbGVUZXh0 SW5Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAmSGFuZGxl Q291bnQsDQo+ICsgICAgICAgICAgJkhhbmRsZUJ1ZmZlcg0KPiArICAgICAgICAgICk7DQo+ICsN Cj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgSGFuZGxlQ291bnQ7IEluZGV4KyspIHsNCj4g KyAgICBnQlMtPkhhbmRsZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgIEhhbmRsZUJ1ZmZlcltJ bmRleF0sDQo+ICsgICAgICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsg ICAgICAgICAgICAoVk9JRCAqKikgJkNvbkRldmljZVBhdGgNCj4gKyAgICAgICAgICAgICk7DQo+ ICsgICAgQmRzTGliVXBkYXRlQ29uc29sZVZhcmlhYmxlIChMIkNvbkluIiwgQ29uRGV2aWNlUGF0 aCwgTlVMTCk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoSGFuZGxlQnVmZmVyICE9IE5VTEwpIHsN Cj4gKyAgICBGcmVlUG9vbChIYW5kbGVCdWZmZXIpOw0KPiArICAgIEhhbmRsZUJ1ZmZlciA9IE5V TEw7DQo+ICsgIH0NCj4gKw0KPiArICBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAg ICAgICAgQnlQcm90b2NvbCwNCj4gKyAgICAgICAgICAmZ0VmaVNpbXBsZVRleHRPdXRQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAmSGFuZGxlQ291bnQsDQo+ ICsgICAgICAgICAgJkhhbmRsZUJ1ZmZlcg0KPiArICAgICAgICAgICk7DQo+ICsgIGZvciAoSW5k ZXggPSAwOyBJbmRleCA8IEhhbmRsZUNvdW50OyBJbmRleCsrKSB7DQo+ICsgICAgZ0JTLT5IYW5k bGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICBIYW5kbGVCdWZmZXJbSW5kZXhdLA0KPiArICAg ICAgICAgICAgJmdFZmlEZXZpY2VQYXRoUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgKFZP SUQgKiopICZDb25EZXZpY2VQYXRoDQo+ICsgICAgICAgICAgICApOw0KPiArICAgIEJkc0xpYlVw ZGF0ZUNvbnNvbGVWYXJpYWJsZSAoTCJDb25PdXQiLCBDb25EZXZpY2VQYXRoLCBOVUxMKTsNCj4g KyAgICBCZHNMaWJVcGRhdGVDb25zb2xlVmFyaWFibGUgKEwiRXJyT3V0IiwgQ29uRGV2aWNlUGF0 aCwgTlVMTCk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoSGFuZGxlQnVmZmVyICE9IE5VTEwpIHsN Cj4gKyAgICBGcmVlUG9vbChIYW5kbGVCdWZmZXIpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gQ29ubmVjdCBhbGwgY29uc29sZSB2YXJpYWJsZXMNCj4gKyAgLy8NCj4gKyAgQmRzTGli Q29ubmVjdEFsbERlZmF1bHRDb25zb2xlcyAoKTsNCj4gKw0KPiArfQ0KPiArDQo+ICsvKioNCj4g KyAgVGhpcyBmdW5jdGlvbiB3aWxsIGNvbm5lY3QgY29uc29sZSBkZXZpY2UgYmFzZSBvbiB0aGUg Y29uc29sZQ0KPiArICBkZXZpY2UgdmFyaWFibGUgQ29uSW4sIENvbk91dCBhbmQgRXJyT3V0Lg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgIEF0IGxlYXN0IG9uZSBv ZiB0aGUgQ29uSW4gYW5kIENvbk91dCBkZXZpY2UNCj4gaGF2ZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiZWVuIGNvbm5lY3RlZCBzdWNjZXNzLg0KPiArICBAcmV0dmFs IEVGSV9TVEFUVVMgICAgICAgICAgICAgICBSZXR1cm4gdGhlIHN0YXR1cyBvZg0KPiBCZHNMaWJD b25uZWN0Q29uc29sZVZhcmlhYmxlICgpLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArQmRzTGliQ29ubmVjdEFsbERlZmF1bHRDb25zb2xlcyAoDQo+ICsgIFZPSUQN Cj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgIFN0YXR1czsNCj4g KyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICBTeXN0ZW1UYWJsZVVwZGF0ZWQ7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gQ29ubmVjdCBhbGwgZGVmYXVsdCBjb25zb2xlIHZhcmlhYmxlcw0KPiAr ICAvLw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEl0IHNlZW1zIGltcG9zc2libGUgbm90IHRvIGhh dmUgYW55IENvbk91dCBkZXZpY2Ugb24gcGxhdGZvcm0sDQo+ICsgIC8vIHNvIHdlIGNoZWNrIHRo ZSBzdGF0dXMgaGVyZS4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gQmRzTGliQ29ubmVjdENvbnNv bGVWYXJpYWJsZSAoTCJDb25PdXQiKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0K PiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBJbnNl cnQgdGhlIHBlcmZvcm1hbmNlIHByb2JlIGZvciBDb25zb2xlIE91dA0KPiArICAvLw0KPiArICBQ RVJGX1NUQVJUIChOVUxMLCAiQ29uT3V0IiwgIkJEUyIsIDEpOw0KPiArICBQRVJGX0VORCAoTlVM TCwgIkNvbk91dCIsICJCRFMiLCAwKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBCZWNhdXNlIHBv c3NpYmx5IHRoZSBwbGF0Zm9ybSBpcyBsZWdhY3kgZnJlZSwgaW4gc3VjaCBjYXNlLA0KPiArICAv LyBDb25JbiBkZXZpY2VzIChTZXJpYWwgUG9ydCBhbmQgUFMyIEtleWJvYXJkICkgZG9lcyBub3Qg ZXhpc3QsDQo+ICsgIC8vIHNvIHdlIG5lZWQgbm90IGNoZWNrIHRoZSBzdGF0dXMuDQo+ICsgIC8v DQo+ICsgIEJkc0xpYkNvbm5lY3RDb25zb2xlVmFyaWFibGUgKEwiQ29uSW4iKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBUaGUgX01vZHVsZUVudHJ5UG9pbnQgZXJyIG91dCB2YXIgaXMgbGVnYWwu DQo+ICsgIC8vDQo+ICsgIEJkc0xpYkNvbm5lY3RDb25zb2xlVmFyaWFibGUgKEwiRXJyT3V0Iik7 DQo+ICsNCj4gKyAgU3lzdGVtVGFibGVVcGRhdGVkID0gRkFMU0U7DQo+ICsgIC8vDQo+ICsgIC8v IEZpbGwgY29uc29sZSBoYW5kbGVzIGluIFN5c3RlbSBUYWJsZSBpZiBubyBjb25zb2xlIGRldmlj ZSBhc3NpZ25kLg0KPiArICAvLw0KPiArICBpZiAoVXBkYXRlU3lzdGVtVGFibGVDb25zb2xlIChM IkNvbkluIiwgJmdFZmlTaW1wbGVUZXh0SW5Qcm90b2NvbEd1aWQsDQo+ICZnU1QtPkNvbnNvbGVJ bkhhbmRsZSwgKFZPSUQgKiopICZnU1QtPkNvbkluKSkgew0KPiArICAgIFN5c3RlbVRhYmxlVXBk YXRlZCA9IFRSVUU7DQo+ICsgIH0NCj4gKyAgaWYgKFVwZGF0ZVN5c3RlbVRhYmxlQ29uc29sZSAo TCJDb25PdXQiLA0KPiAmZ0VmaVNpbXBsZVRleHRPdXRQcm90b2NvbEd1aWQsICZnU1QtPkNvbnNv bGVPdXRIYW5kbGUsIChWT0lEICoqKQ0KPiAmZ1NULT5Db25PdXQpKSB7DQo+ICsgICAgU3lzdGVt VGFibGVVcGRhdGVkID0gVFJVRTsNCj4gKyAgfQ0KPiArICBpZiAoVXBkYXRlU3lzdGVtVGFibGVD b25zb2xlIChMIkVyck91dCIsDQo+ICZnRWZpU2ltcGxlVGV4dE91dFByb3RvY29sR3VpZCwgJmdT VC0+U3RhbmRhcmRFcnJvckhhbmRsZSwgKFZPSUQgKiopDQo+ICZnU1QtPlN0ZEVycikpIHsNCj4g KyAgICBTeXN0ZW1UYWJsZVVwZGF0ZWQgPSBUUlVFOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKFN5 c3RlbVRhYmxlVXBkYXRlZCkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gVXBkYXRlIHRoZSBDUkMz MiBpbiB0aGUgRUZJIFN5c3RlbSBUYWJsZSBoZWFkZXINCj4gKyAgICAvLw0KPiArICAgIGdTVC0+ SGRyLkNSQzMyID0gMDsNCj4gKyAgICBnQlMtPkNhbGN1bGF0ZUNyYzMyICgNCj4gKyAgICAgICAg ICAoVUlOVDggKikgJmdTVC0+SGRyLA0KPiArICAgICAgICAgIGdTVC0+SGRyLkhlYWRlclNpemUs DQo+ICsgICAgICAgICAgJmdTVC0+SGRyLkNSQzMyDQo+ICsgICAgICAgICAgKTsNCj4gKyAgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIElmIGFueSBjb21wb25lbnQgc2V0IFBjZFRlc3RLZXlVc2Vk IHRvIFRSVUUgYmVjYXVzZSB1c2Ugb2YgYSB0ZXN0DQo+IGtleQ0KPiArICAvLyB3YXMgZGV0ZWN0 ZWQsIHRoZW4gZGlzcGxheSBhIHdhcm5pbmcgbWVzc2FnZSBvbiB0aGUgZGVidWcgbG9nIGFuZCB0 aGUNCj4gY29uc29sZQ0KPiArICAvLw0KPiArICBpZiAoUGNkR2V0Qm9vbCAoUGNkVGVzdEtleVVz ZWQpID09IFRSVUUpIHsNCj4gKyAgICBERUJVRyAoKERFQlVHX0VSUk9SLA0KPiAiKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKlxuIikpOw0KPiArICAgIERFQlVHICgoREVCVUdfRVJS T1IsICIqKiAgV0FSTklORzogVGVzdCBLZXkgaXMgdXNlZC4gICoqXG4iKSk7DQo+ICsgICAgREVC VUcgKChERUJVR19FUlJPUiwNCj4gIioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipc biIpKTsNCj4gKyAgICBQcmludCAoTCIqKiAgV0FSTklORzogVGVzdCBLZXkgaXMgdXNlZC4gICoq XG4iKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKw0KPiArfQ0K PiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiB3aWxsIGNvbm5lY3QgY29uc29sZSBkZXZp Y2UgZXhjZXB0IENvbkluIGJhc2Ugb24gdGhlIGNvbnNvbGUNCj4gKyAgZGV2aWNlIHZhcmlhYmxl ICBDb25PdXQgYW5kIEVyck91dC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICAgICBBdCBsZWFzdCBvbmUgb2YgdGhlIENvbk91dCBkZXZpY2UgaGF2ZQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiZWVuIGNvbm5lY3RlZCBzdWNjZXNzLg0KPiAr ICBAcmV0dmFsIEVGSV9TVEFUVVMgICAgICAgICAgICAgICBSZXR1cm4gdGhlIHN0YXR1cyBvZg0K PiBCZHNMaWJDb25uZWN0Q29uc29sZVZhcmlhYmxlICgpLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9T VEFUVVMNCj4gK0VGSUFQSQ0KPiArQmRzTGliQ29ubmVjdEFsbERlZmF1bHRDb25zb2xlc1dpdGhP dXRDb25JbiAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAg ICAgICAgICAgIFN0YXR1czsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICBTeXN0ZW1U YWJsZVVwZGF0ZWQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ29ubmVjdCBhbGwgZGVmYXVsdCBj b25zb2xlIHZhcmlhYmxlcyBleGNlcHQgQ29uSW4NCj4gKyAgLy8NCj4gKw0KPiArICAvLw0KPiAr ICAvLyBJdCBzZWVtcyBpbXBvc3NpYmxlIG5vdCB0byBoYXZlIGFueSBDb25PdXQgZGV2aWNlIG9u IHBsYXRmb3JtLA0KPiArICAvLyBzbyB3ZSBjaGVjayB0aGUgc3RhdHVzIGhlcmUuDQo+ICsgIC8v DQo+ICsgIFN0YXR1cyA9IEJkc0xpYkNvbm5lY3RDb25zb2xlVmFyaWFibGUgKEwiQ29uT3V0Iik7 DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0K PiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5zZXJ0IHRoZSBwZXJmb3JtYW5jZSBwcm9i ZSBmb3IgQ29uc29sZSBPdXQNCj4gKyAgLy8NCj4gKyAgUEVSRl9TVEFSVCAoTlVMTCwgIkNvbk91 dCIsICJCRFMiLCAxKTsNCj4gKyAgUEVSRl9FTkQgKE5VTEwsICJDb25PdXQiLCAiQkRTIiwgMCk7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIF9Nb2R1bGVFbnRyeVBvaW50IGVyciBvdXQgdmFy IGlzIGxlZ2FsLg0KPiArICAvLw0KPiArICBCZHNMaWJDb25uZWN0Q29uc29sZVZhcmlhYmxlIChM IkVyck91dCIpOw0KPiArDQo+ICsgIFN5c3RlbVRhYmxlVXBkYXRlZCA9IEZBTFNFOw0KPiArICAv Lw0KPiArICAvLyBGaWxsIGNvbnNvbGUgaGFuZGxlcyBpbiBTeXN0ZW0gVGFibGUgaWYgbm8gY29u c29sZSBkZXZpY2UgYXNzaWduZC4NCj4gKyAgLy8NCj4gKyAgaWYgKFVwZGF0ZVN5c3RlbVRhYmxl Q29uc29sZSAoTCJDb25PdXQiLA0KPiAmZ0VmaVNpbXBsZVRleHRPdXRQcm90b2NvbEd1aWQsICZn U1QtPkNvbnNvbGVPdXRIYW5kbGUsIChWT0lEICoqKQ0KPiAmZ1NULT5Db25PdXQpKSB7DQo+ICsg ICAgU3lzdGVtVGFibGVVcGRhdGVkID0gVFJVRTsNCj4gKyAgfQ0KPiArICBpZiAoVXBkYXRlU3lz dGVtVGFibGVDb25zb2xlIChMIkVyck91dCIsDQo+ICZnRWZpU2ltcGxlVGV4dE91dFByb3RvY29s R3VpZCwgJmdTVC0+U3RhbmRhcmRFcnJvckhhbmRsZSwgKFZPSUQgKiopDQo+ICZnU1QtPlN0ZEVy cikpIHsNCj4gKyAgICBTeXN0ZW1UYWJsZVVwZGF0ZWQgPSBUUlVFOw0KPiArICB9DQo+ICsNCj4g KyAgaWYgKFN5c3RlbVRhYmxlVXBkYXRlZCkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gVXBkYXRl IHRoZSBDUkMzMiBpbiB0aGUgRUZJIFN5c3RlbSBUYWJsZSBoZWFkZXINCj4gKyAgICAvLw0KPiAr ICAgIGdTVC0+SGRyLkNSQzMyID0gMDsNCj4gKyAgICBnQlMtPkNhbGN1bGF0ZUNyYzMyICgNCj4g KyAgICAgICAgICAoVUlOVDggKikgJmdTVC0+SGRyLA0KPiArICAgICAgICAgIGdTVC0+SGRyLkhl YWRlclNpemUsDQo+ICsgICAgICAgICAgJmdTVC0+SGRyLkNSQzMyDQo+ICsgICAgICAgICAgKTsN Cj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKw0KPiArfQ0KPiArDQo+ ICsvKioNCj4gKyAgVXNlIFN5c3RlbVRhYmxlIENvbm91dCB0byBzdG9wIHZpZGVvIGJhc2VkIFNp bXBsZSBUZXh0IE91dCBjb25zb2xlcw0KPiBmcm9tIGdvaW5nDQo+ICsgIHRvIHRoZSB2aWRlbyBk ZXZpY2UuIFB1dCB1cCBMb2dvRmlsZSBvbiBldmVyeSB2aWRlbyBkZXZpY2UgdGhhdCBpcyBhIGNv bnNvbGUuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgTG9nb0ZpbGUgICBGaWxlIG5hbWUgb2YgbG9n byB0byBkaXNwbGF5IG9uIHRoZSBjZW50ZXIgb2YgdGhlDQo+IHNjcmVlbi4NCj4gKw0KPiArICBA cmV0dmFsIEVGSV9TVUNDRVNTICAgICBDb25zb2xlQ29udHJvbCBoYXMgYmVlbiBmbGlwcGVkIHRv IGdyYXBoaWNzIGFuZA0KPiBsb2dvIGRpc3BsYXllZC4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQ T1JURUQgTG9nbyBub3QgZm91bmQNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklB UEkNCj4gK0VuYWJsZVF1aWV0Qm9vdCAoDQo+ICsgIElOICBFRklfR1VJRCAgKkxvZ29GaWxlDQo+ ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0K PiArICBFRklfT0VNX0JBREdJTkdfUFJPVE9DT0wgICAgICAqQmFkZ2luZzsNCj4gKyAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZU9mWDsNCj4gKyAgVUlOVDMyICAgICAgICAgICAg ICAgICAgICAgICAgU2l6ZU9mWTsNCj4gKyAgSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg RGVzdFg7DQo+ICsgIElOVE4gICAgICAgICAgICAgICAgICAgICAgICAgIERlc3RZOw0KPiArICBV SU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAqSW1hZ2VEYXRhOw0KPiArICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICAgICBJbWFnZVNpemU7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgIEJsdFNpemU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgIElu c3RhbmNlOw0KPiArICBFRklfQkFER0lOR19GT1JNQVQgICAgICAgICAgICBGb3JtYXQ7DQo+ICsg IEVGSV9CQURHSU5HX0RJU1BMQVlfQVRUUklCVVRFIEF0dHJpYnV0ZTsNCj4gKyAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICAgICAgQ29vcmRpbmF0ZVg7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgIENvb3JkaW5hdGVZOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICBIZWlnaHQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIFdpZHRoOw0K PiArICBFRklfR1JBUEhJQ1NfT1VUUFVUX0JMVF9QSVhFTCAqQmx0Ow0KPiArICBFRklfVUdBX0RS QVdfUFJPVE9DT0wgICAgICAgICAqVWdhRHJhdzsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAg ICAgICAgICAgQ29sb3JEZXB0aDsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAg UmVmcmVzaFJhdGU7DQo+ICsgIEVGSV9HUkFQSElDU19PVVRQVVRfUFJPVE9DT0wgICpHcmFwaGlj c091dHB1dDsNCj4gKyAgRUZJX0JPT1RfTE9HT19QUk9UT0NPTCAgICAgICAgKkJvb3RMb2dvOw0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBOdW1iZXJPZkxvZ29zOw0KPiArICBF RklfR1JBUEhJQ1NfT1VUUFVUX0JMVF9QSVhFTCAqTG9nb0JsdDsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgTG9nb0Rlc3RYOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICBMb2dvRGVzdFk7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIExv Z29IZWlnaHQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIExvZ29XaWR0aDsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgTmV3RGVzdFg7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgIE5ld0Rlc3RZOw0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgICBOZXdIZWlnaHQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgIE5ld1dpZHRoOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJT aXplOw0KPiArDQo+ICsgIFVnYURyYXcgPSBOVUxMOw0KPiArICAvLw0KPiArICAvLyBUcnkgdG8g b3BlbiBHT1AgZmlyc3QNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2Nv bCAoZ1NULT5Db25zb2xlT3V0SGFuZGxlLA0KPiAmZ0VmaUdyYXBoaWNzT3V0cHV0UHJvdG9jb2xH dWlkLCAoVk9JRCAqKikgJkdyYXBoaWNzT3V0cHV0KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3Rh dHVzKSAmJiBGZWF0dXJlUGNkR2V0IChQY2RVZ2FDb25zdW1lU3VwcG9ydCkpIHsNCj4gKyAgICBH cmFwaGljc091dHB1dCA9IE5VTEw7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBPcGVuIEdPUCBmYWls ZWQsIHRyeSB0byBvcGVuIFVHQQ0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gZ0JTLT5IYW5k bGVQcm90b2NvbCAoZ1NULT5Db25zb2xlT3V0SGFuZGxlLA0KPiAmZ0VmaVVnYURyYXdQcm90b2Nv bEd1aWQsIChWT0lEICoqKSAmVWdhRHJhdyk7DQo+ICsgIH0NCj4gKyAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0K PiArICAvLw0KPiArICAvLyBUcnkgdG8gb3BlbiBCb290IExvZ28gUHJvdG9jb2wuDQo+ICsgIC8v DQo+ICsgIEJvb3RMb2dvID0gTlVMTDsNCj4gKyAgZ0JTLT5Mb2NhdGVQcm90b2NvbCAoJmdFZmlC b290TG9nb1Byb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKiopDQo+ICZCb290TG9nbyk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gRXJhc2UgQ3Vyc29yIGZyb20gc2NyZWVuDQo+ICsgIC8vDQo+ICsg IGdTVC0+Q29uT3V0LT5FbmFibGVDdXJzb3IgKGdTVC0+Q29uT3V0LCBGQUxTRSk7DQo+ICsNCj4g KyAgQmFkZ2luZyA9IE5VTEw7DQo+ICsgIFN0YXR1cyAgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgm Z0VmaU9FTUJhZGdpbmdQcm90b2NvbEd1aWQsIE5VTEwsDQo+IChWT0lEICoqKSAmQmFkZ2luZyk7 DQo+ICsNCj4gKyAgaWYgKEdyYXBoaWNzT3V0cHV0ICE9IE5VTEwpIHsNCj4gKyAgICBTaXplT2ZY ID0gR3JhcGhpY3NPdXRwdXQtPk1vZGUtPkluZm8tPkhvcml6b250YWxSZXNvbHV0aW9uOw0KPiAr ICAgIFNpemVPZlkgPSBHcmFwaGljc091dHB1dC0+TW9kZS0+SW5mby0+VmVydGljYWxSZXNvbHV0 aW9uOw0KPiArDQo+ICsgIH0gZWxzZSBpZiAoVWdhRHJhdyAhPSBOVUxMICYmIEZlYXR1cmVQY2RH ZXQgKFBjZFVnYUNvbnN1bWVTdXBwb3J0KSkNCj4gew0KPiArICAgIFN0YXR1cyA9IFVnYURyYXct PkdldE1vZGUgKFVnYURyYXcsICZTaXplT2ZYLCAmU2l6ZU9mWSwNCj4gJkNvbG9yRGVwdGgsICZS ZWZyZXNoUmF0ZSk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAg cmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgICB9DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAg cmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIEJsdCA9IE5VTEw7DQo+ ICsgIE51bWJlck9mTG9nb3MgPSAwOw0KPiArICBMb2dvRGVzdFggPSAwOw0KPiArICBMb2dvRGVz dFkgPSAwOw0KPiArICBMb2dvSGVpZ2h0ID0gMDsNCj4gKyAgTG9nb1dpZHRoID0gMDsNCj4gKyAg TmV3RGVzdFggPSAwOw0KPiArICBOZXdEZXN0WSA9IDA7DQo+ICsgIE5ld0hlaWdodCA9IDA7DQo+ ICsgIE5ld1dpZHRoID0gMDsNCj4gKyAgSW5zdGFuY2UgPSAwOw0KPiArICB3aGlsZSAoMSkgew0K PiArICAgIEltYWdlRGF0YSA9IE5VTEw7DQo+ICsgICAgSW1hZ2VTaXplID0gMDsNCj4gKw0KPiAr ICAgIGlmIChCYWRnaW5nICE9IE5VTEwpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBHZXQg aW1hZ2UgZnJvbSBPRU1CYWRnaW5nIHByb3RvY29sLg0KPiArICAgICAgLy8NCj4gKyAgICAgIFN0 YXR1cyA9IEJhZGdpbmctPkdldEltYWdlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg QmFkZ2luZywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgJkluc3RhbmNlLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAmRm9ybWF0LA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAmSW1hZ2VEYXRhLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmSW1hZ2VTaXpl LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmQXR0cmlidXRlLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAmQ29vcmRpbmF0ZVgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICZDb29yZGluYXRlWQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAg ICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBnb3RvIERvbmU7DQo+ICsg ICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBDdXJyZW50bHkgb25seSBzdXBw b3J0IEJNUCBmb3JtYXQuDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKEZvcm1hdCAhPSBFZmlC YWRnaW5nRm9ybWF0Qk1QKSB7DQo+ICsgICAgICAgIGlmIChJbWFnZURhdGEgIT0gTlVMTCkgew0K PiArICAgICAgICAgIEZyZWVQb29sIChJbWFnZURhdGEpOw0KPiArICAgICAgICB9DQo+ICsgICAg ICAgIGNvbnRpbnVlOw0KPiArICAgICAgfQ0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICAvLw0K PiArICAgICAgLy8gR2V0IHRoZSBzcGVjaWZpZWQgaW1hZ2UgZnJvbSBGVi4NCj4gKyAgICAgIC8v DQo+ICsgICAgICBTdGF0dXMgPSBHZXRTZWN0aW9uRnJvbUFueUZ2IChMb2dvRmlsZSwgRUZJX1NF Q1RJT05fUkFXLCAwLCAoVk9JRA0KPiAqKikgJkltYWdlRGF0YSwgJkltYWdlU2l6ZSk7DQo+ICsg ICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgIHJldHVybiBFRklfVU5T VVBQT1JURUQ7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIENvb3JkaW5hdGVYID0gMDsNCj4g KyAgICAgIENvb3JkaW5hdGVZID0gMDsNCj4gKyAgICAgIGlmICghRmVhdHVyZVBjZEdldChQY2RC b290bG9nb09ubHlFbmFibGUpKSB7DQo+ICsgICAgICAgIEF0dHJpYnV0ZSAgID0gRWZpQmFkZ2lu Z0Rpc3BsYXlBdHRyaWJ1dGVDZW50ZXI7DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAgICAgICBB dHRyaWJ1dGUgICA9IEVmaUJhZGdpbmdEaXNwbGF5QXR0cmlidXRlQ3VzdG9taXplZDsNCj4gKyAg ICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBpZiAoQmx0ICE9IE5VTEwpIHsNCj4gKyAgICAg IEZyZWVQb29sIChCbHQpOw0KPiArICAgIH0NCj4gKyAgICBCbHQgPSBOVUxMOw0KPiArICAgIFN0 YXR1cyA9IFRyYW5zbGF0ZUJtcFRvR29wQmx0ICgNCj4gKyAgICAgICAgICAgICAgSW1hZ2VEYXRh LA0KPiArICAgICAgICAgICAgICBJbWFnZVNpemUsDQo+ICsgICAgICAgICAgICAgICZCbHQsDQo+ ICsgICAgICAgICAgICAgICZCbHRTaXplLA0KPiArICAgICAgICAgICAgICAmSGVpZ2h0LA0KPiAr ICAgICAgICAgICAgICAmV2lkdGgNCj4gKyAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBGcmVlUG9vbCAoSW1hZ2VEYXRhKTsNCj4gKw0K PiArICAgICAgaWYgKEJhZGdpbmcgPT0gTlVMTCkgew0KPiArICAgICAgICByZXR1cm4gU3RhdHVz Ow0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgY29udGludWU7DQo+ICsgICAgICB9DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBDYWxjdWxhdGUgdGhlIGRpc3BsYXkg cG9zaXRpb24gYWNjb3JkaW5nIHRvIEF0dHJpYnV0ZS4NCj4gKyAgICAvLw0KPiArICAgIHN3aXRj aCAoQXR0cmlidXRlKSB7DQo+ICsgICAgY2FzZSBFZmlCYWRnaW5nRGlzcGxheUF0dHJpYnV0ZUxl ZnRUb3A6DQo+ICsgICAgICBEZXN0WCA9IENvb3JkaW5hdGVYOw0KPiArICAgICAgRGVzdFkgPSBD b29yZGluYXRlWTsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBFZmlCYWRnaW5n RGlzcGxheUF0dHJpYnV0ZUNlbnRlclRvcDoNCj4gKyAgICAgIERlc3RYID0gKFNpemVPZlggLSBX aWR0aCkgLyAyOw0KPiArICAgICAgRGVzdFkgPSBDb29yZGluYXRlWTsNCj4gKyAgICAgIGJyZWFr Ow0KPiArDQo+ICsgICAgY2FzZSBFZmlCYWRnaW5nRGlzcGxheUF0dHJpYnV0ZVJpZ2h0VG9wOg0K PiArICAgICAgRGVzdFggPSAoU2l6ZU9mWCAtIFdpZHRoIC0gQ29vcmRpbmF0ZVgpOw0KPiArICAg ICAgRGVzdFkgPSBDb29yZGluYXRlWTs7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNh c2UgRWZpQmFkZ2luZ0Rpc3BsYXlBdHRyaWJ1dGVDZW50ZXJSaWdodDoNCj4gKyAgICAgIERlc3RY ID0gKFNpemVPZlggLSBXaWR0aCAtIENvb3JkaW5hdGVYKTsNCj4gKyAgICAgIERlc3RZID0gKFNp emVPZlkgLSBIZWlnaHQpIC8gMjsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBF ZmlCYWRnaW5nRGlzcGxheUF0dHJpYnV0ZVJpZ2h0Qm90dG9tOg0KPiArICAgICAgRGVzdFggPSAo U2l6ZU9mWCAtIFdpZHRoIC0gQ29vcmRpbmF0ZVgpOw0KPiArICAgICAgRGVzdFkgPSAoU2l6ZU9m WSAtIEhlaWdodCAtIENvb3JkaW5hdGVZKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAg Y2FzZSBFZmlCYWRnaW5nRGlzcGxheUF0dHJpYnV0ZUNlbnRlckJvdHRvbToNCj4gKyAgICAgIERl c3RYID0gKFNpemVPZlggLSBXaWR0aCkgLyAyOw0KPiArICAgICAgRGVzdFkgPSAoU2l6ZU9mWSAt IEhlaWdodCAtIENvb3JkaW5hdGVZKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2Fz ZSBFZmlCYWRnaW5nRGlzcGxheUF0dHJpYnV0ZUxlZnRCb3R0b206DQo+ICsgICAgICBEZXN0WCA9 IENvb3JkaW5hdGVYOw0KPiArICAgICAgRGVzdFkgPSAoU2l6ZU9mWSAtIEhlaWdodCAtIENvb3Jk aW5hdGVZKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBFZmlCYWRnaW5nRGlz cGxheUF0dHJpYnV0ZUNlbnRlckxlZnQ6DQo+ICsgICAgICBEZXN0WCA9IENvb3JkaW5hdGVYOw0K PiArICAgICAgRGVzdFkgPSAoU2l6ZU9mWSAtIEhlaWdodCkgLyAyOw0KPiArICAgICAgYnJlYWs7 DQo+ICsNCj4gKyAgICBjYXNlIEVmaUJhZGdpbmdEaXNwbGF5QXR0cmlidXRlQ2VudGVyOg0KPiAr ICAgICAgRGVzdFggPSAoU2l6ZU9mWCAtIFdpZHRoKSAvIDI7DQo+ICsgICAgICBEZXN0WSA9IChT aXplT2ZZIC0gSGVpZ2h0KSAvIDI7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGNhc2Ug RWZpQmFkZ2luZ0Rpc3BsYXlBdHRyaWJ1dGVDdXN0b21pemVkOg0KPiArICAgICAgRGVzdFggPSAo U2l6ZU9mWCAtIFdpZHRoKSAvIDI7DQo+ICsgICAgICBEZXN0WSA9ICgoU2l6ZU9mWSAqIDM4Mikg LyAxMDAwKSAtIEhlaWdodCAvIDI7DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGRlZmF1 bHQ6DQo+ICsgICAgICBEZXN0WCA9IENvb3JkaW5hdGVYOw0KPiArICAgICAgRGVzdFkgPSBDb29y ZGluYXRlWTsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIGlmICgoRGVz dFggPj0gMCkgJiYgKERlc3RZID49IDApKSB7DQo+ICsgICAgICBpZiAoR3JhcGhpY3NPdXRwdXQg IT0gTlVMTCkgew0KPiArICAgICAgICBTdGF0dXMgPSBHcmFwaGljc091dHB1dC0+Qmx0ICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBHcmFwaGljc091dHB1dCwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCbHQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg RWZpQmx0QnVmZmVyVG9WaWRlbywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKFVJTlROKSBEZXN0WCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAo VUlOVE4pIERlc3RZLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIFdpZHRoLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhlaWdodCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICBXaWR0aCAqIHNpemVvZiAoRUZJX0dSQVBISUNTX09VVFBVVF9CTFRfUElYRUwp DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIH0gZWxzZSBpZiAo VWdhRHJhdyAhPSBOVUxMICYmIEZlYXR1cmVQY2RHZXQgKFBjZFVnYUNvbnN1bWVTdXBwb3J0KSkN Cj4gew0KPiArICAgICAgICBTdGF0dXMgPSBVZ2FEcmF3LT5CbHQgKA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFVnYURyYXcsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg KEVGSV9VR0FfUElYRUwgKikgQmx0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIEVm aVVnYUJsdEJ1ZmZlclRvVmlkZW8sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgIChVSU5UTikgRGVzdFgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg KFVJTlROKSBEZXN0WSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBXaWR0aCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICBIZWlnaHQsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgV2lkdGggKiBzaXplb2YgKEVGSV9VR0FfUElYRUwpDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgIFN0YXR1 cyA9IEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgLy8NCj4gKyAg ICAgIC8vIFJlcG9ydCBkaXNwbGF5ZWQgTG9nbyBpbmZvcm1hdGlvbi4NCj4gKyAgICAgIC8vDQo+ ICsgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICBOdW1iZXJPZkxv Z29zKys7DQo+ICsNCj4gKyAgICAgICAgaWYgKExvZ29XaWR0aCA9PSAwKSB7DQo+ICsgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICAvLyBUaGUgZmlyc3QgTG9nby4NCj4gKyAgICAgICAgICAvLw0K PiArICAgICAgICAgIExvZ29EZXN0WCA9IChVSU5UTikgRGVzdFg7DQo+ICsgICAgICAgICAgTG9n b0Rlc3RZID0gKFVJTlROKSBEZXN0WTsNCj4gKyAgICAgICAgICBMb2dvV2lkdGggPSBXaWR0aDsN Cj4gKyAgICAgICAgICBMb2dvSGVpZ2h0ID0gSGVpZ2h0Ow0KPiArICAgICAgICB9IGVsc2Ugew0K PiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgLy8gTWVyZ2UgbmV3IGxvZ28gd2l0aCBvbGQg b25lLg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgTmV3RGVzdFggPSBNSU4gKChVSU5U TikgRGVzdFgsIExvZ29EZXN0WCk7DQo+ICsgICAgICAgICAgTmV3RGVzdFkgPSBNSU4gKChVSU5U TikgRGVzdFksIExvZ29EZXN0WSk7DQo+ICsgICAgICAgICAgTmV3V2lkdGggPSBNQVggKChVSU5U TikgRGVzdFggKyBXaWR0aCwgTG9nb0Rlc3RYICsgTG9nb1dpZHRoKSAtDQo+IE5ld0Rlc3RYOw0K PiArICAgICAgICAgIE5ld0hlaWdodCA9IE1BWCAoKFVJTlROKSBEZXN0WSArIEhlaWdodCwgTG9n b0Rlc3RZICsgTG9nb0hlaWdodCkgLQ0KPiBOZXdEZXN0WTsNCj4gKw0KPiArICAgICAgICAgIExv Z29EZXN0WCA9IE5ld0Rlc3RYOw0KPiArICAgICAgICAgIExvZ29EZXN0WSA9IE5ld0Rlc3RZOw0K PiArICAgICAgICAgIExvZ29XaWR0aCA9IE5ld1dpZHRoOw0KPiArICAgICAgICAgIExvZ29IZWln aHQgPSBOZXdIZWlnaHQ7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsN Cj4gKyAgICBGcmVlUG9vbCAoSW1hZ2VEYXRhKTsNCj4gKw0KPiArICAgIGlmIChCYWRnaW5nID09 IE5VTEwpIHsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICtEb25l Og0KPiArICBpZiAoQm9vdExvZ28gPT0gTlVMTCB8fCBOdW1iZXJPZkxvZ29zID09IDApIHsNCj4g KyAgICAvLw0KPiArICAgIC8vIE5vIGxvZ28gZGlzcGxheWVkLg0KPiArICAgIC8vDQo+ICsgICAg aWYgKEJsdCAhPSBOVUxMKSB7DQo+ICsgICAgICBGcmVlUG9vbCAoQmx0KTsNCj4gKyAgICB9DQo+ ICsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g QWR2ZXJ0aXNlIGRpc3BsYXllZCBMb2dvIGluZm9ybWF0aW9uLg0KPiArICAvLw0KPiArICBpZiAo TnVtYmVyT2ZMb2dvcyA9PSAxKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBPbmx5IG9uZSBsb2dv IGRpc3BsYXllZCwgdXNlIGl0cyBCbHQgYnVmZmVyIGRpcmVjdGx5IGZvciBCb290TG9nbw0KPiBw cm90b2NvbC4NCj4gKyAgICAvLw0KPiArICAgIExvZ29CbHQgPSBCbHQ7DQo+ICsgICAgU3RhdHVz ID0gRUZJX1NVQ0NFU1M7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBNb3Jl IHRoYW4gb25lIExvZ28gZGlzcGxheWVkLCBnZXQgbWVyZ2VkIEJsdEJ1ZmZlciB1c2luZw0KPiBW aWRlb1RvQnVmZmVyIG9wZXJhdGlvbi4NCj4gKyAgICAvLw0KPiArICAgIGlmIChCbHQgIT0gTlVM TCkgew0KPiArICAgICAgRnJlZVBvb2wgKEJsdCk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8N Cj4gKyAgICAvLyBFbnN1cmUgdGhlIExvZ29IZWlnaHQgKiBMb2dvV2lkdGggZG9lc24ndCBvdmVy Zmxvdw0KPiArICAgIC8vDQo+ICsgICAgaWYgKExvZ29IZWlnaHQgPiBEaXZVNjR4NjRSZW1haW5k ZXIgKChVSU5UTikgfjAsIExvZ29XaWR0aCwgTlVMTCkpIHsNCj4gKyAgICAgIHJldHVybiBFRklf VU5TVVBQT1JURUQ7DQo+ICsgICAgfQ0KPiArICAgIEJ1ZmZlclNpemUgPSBNdWx0VTY0eDY0IChM b2dvV2lkdGgsIExvZ29IZWlnaHQpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBFbnN1cmUg dGhlIEJ1ZmZlclNpemUgKiBzaXplb2YgKEVGSV9HUkFQSElDU19PVVRQVVRfQkxUX1BJWEVMKQ0K PiBkb2Vzbid0IG92ZXJmbG93DQo+ICsgICAgLy8NCj4gKyAgICBpZiAoQnVmZmVyU2l6ZSA+IERp dlU2NHgzMiAoKFVJTlROKSB+MCwgc2l6ZW9mDQo+IChFRklfR1JBUEhJQ1NfT1VUUFVUX0JMVF9Q SVhFTCkpKSB7DQo+ICsgICAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICAgIH0NCj4g Kw0KPiArICAgIExvZ29CbHQgPSBBbGxvY2F0ZVplcm9Qb29sICgoVUlOVE4pQnVmZmVyU2l6ZSAq IHNpemVvZg0KPiAoRUZJX0dSQVBISUNTX09VVFBVVF9CTFRfUElYRUwpKTsNCj4gKyAgICBpZiAo TG9nb0JsdCA9PSBOVUxMKSB7DQo+ICsgICAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7 DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKEdyYXBoaWNzT3V0cHV0ICE9IE5VTEwpIHsNCj4g KyAgICAgIFN0YXR1cyA9IEdyYXBoaWNzT3V0cHV0LT5CbHQgKA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICBHcmFwaGljc091dHB1dCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg TG9nb0JsdCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgRWZpQmx0VmlkZW9Ub0JsdEJ1 ZmZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nb0Rlc3RYLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICBMb2dvRGVzdFksDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgIExvZ29XaWR0aCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTG9n b0hlaWdodCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nb1dpZHRoICogc2l6ZW9m IChFRklfR1JBUEhJQ1NfT1VUUFVUX0JMVF9QSVhFTCkNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICB9IGVsc2UgaWYgKFVnYURyYXcgIT0gTlVMTCAmJiBGZWF0dXJlUGNk R2V0IChQY2RVZ2FDb25zdW1lU3VwcG9ydCkpDQo+IHsNCj4gKyAgICAgIFN0YXR1cyA9IFVnYURy YXctPkJsdCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIFVnYURyYXcsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIChFRklfVUdBX1BJWEVMICopIExvZ29CbHQsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIEVmaVVnYVZpZGVvVG9CbHRCdWZmZXIsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgIExvZ29EZXN0WCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgTG9nb0Rlc3RZLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dv V2lkdGgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIExvZ29IZWlnaHQsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgIExvZ29XaWR0aCAqIHNpemVvZiAoRUZJX1VHQV9QSVhFTCkN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICB9IGVsc2Ugew0KPiArICAg ICAgU3RhdHVzID0gRUZJX1VOU1VQUE9SVEVEOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsg IGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgQm9vdExvZ28tPlNldEJvb3RMb2dv IChCb290TG9nbywgTG9nb0JsdCwgTG9nb0Rlc3RYLCBMb2dvRGVzdFksDQo+IExvZ29XaWR0aCwg TG9nb0hlaWdodCk7DQo+ICsgIH0NCj4gKyAgRnJlZVBvb2wgKExvZ29CbHQpOw0KPiArDQo+ICsg IHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBVc2UgU3lzdGVtVGFibGUg Q29ub3V0IHRvIHR1cm4gb24gdmlkZW8gYmFzZWQgU2ltcGxlIFRleHQgT3V0IGNvbnNvbGVzLg0K PiBUaGUNCj4gKyAgU2ltcGxlIFRleHQgT3V0IHNjcmVlbnMgd2lsbCBub3cgYmUgc3luY2VkIHVw IHdpdGggYWxsIG5vbiB2aWRlbyBvdXRwdXQNCj4gZGV2aWNlcw0KPiArDQo+ICsgIEByZXR2YWwg RUZJX1NVQ0NFU1MgICAgIFVHQSBkZXZpY2VzIGFyZSBiYWNrIGluIHRleHQgbW9kZSBhbmQgc3lu Y2VkIHVwLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArRGlzYWJs ZVF1aWV0Qm9vdCAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIEVuYWJsZSBDdXJzb3Igb24gU2NyZWVuDQo+ICsgIC8vDQo+ICsgIGdTVC0+Q29uT3V0LT5F bmFibGVDdXJzb3IgKGdTVC0+Q29uT3V0LCBUUlVFKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KPiArfQ0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9PdmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5l cmljQmRzTGliL0Jkc01pc2MuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L092ZXJyaWRlL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpDQo+IGJyYXJ5L0dlbmVyaWNCZHNM aWIvQmRzTWlzYy5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LjMxM2ExZWE5ZjYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9PdmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBi cmFyeS9HZW5lcmljQmRzTGliL0Jkc01pc2MuYw0KPiBAQCAtMCwwICsxLDE1NzUgQEANCj4gKy8q KiBAZmlsZQ0KPiArICBNaXNjIEJEUyBsaWJyYXJ5IGZ1bmN0aW9uDQo+ICsNCj4gK0NvcHlyaWdo dCAoYykgMjAwNCAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gK1NQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSAiSW50ZXJuYWxCZHNMaWIuaCINCj4gKw0KPiAr DQo+ICsjZGVmaW5lIE1BWF9TVFJJTkdfTEVOICAgICAgICAyMDANCj4gKw0KPiArQk9PTEVBTiAg IG1GZWF0dXJlclN3aXRjaCA9IFRSVUU7DQo+ICtCT09MRUFOICAgbVJlc2V0UmVxdWlyZWQgID0g RkFMU0U7DQo+ICsNCj4gK2V4dGVybiBVSU5UMTYgZ1BsYXRmb3JtQm9vdFRpbWVPdXREZWZhdWx0 Ow0KPiArDQo+ICsvKioNCj4gKyAgVGhlIGZ1bmN0aW9uIHdpbGwgZ28gdGhyb3VnaCB0aGUgZHJp dmVyIG9wdGlvbiBsaW5rIGxpc3QsIGxvYWQgYW5kIHN0YXJ0DQo+ICsgIGV2ZXJ5IGRyaXZlciB0 aGUgZHJpdmVyIG9wdGlvbiBkZXZpY2UgcGF0aCBwb2ludCB0by4NCj4gKw0KPiArICBAcGFyYW0g IEJkc0RyaXZlckxpc3RzICAgICAgICBUaGUgaGVhZGVyIG9mIHRoZSBjdXJyZW50IGRyaXZlciBv cHRpb24gbGluayBsaXN0DQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtCZHNM aWJMb2FkRHJpdmVycyAoDQo+ICsgIElOIExJU1RfRU5UUlkgICAgICAgICAgICAgICAgICAgKkJk c0RyaXZlckxpc3RzDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAg ICBTdGF0dXM7DQo+ICsgIExJU1RfRU5UUlkgICAgICAgICAgICAgICAgKkxpbms7DQo+ICsgIEJE U19DT01NT05fT1BUSU9OICAgICAgICAgKk9wdGlvbjsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAg ICAgICAgICBJbWFnZUhhbmRsZTsNCj4gKyAgRUZJX0xPQURFRF9JTUFHRV9QUk9UT0NPTCAqSW1h Z2VJbmZvOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIEV4aXREYXRhU2l6ZTsNCj4g KyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAqRXhpdERhdGE7DQo+ICsgIEJPT0xFQU4gICAg ICAgICAgICAgICAgICAgUmVjb25uZWN0QWxsOw0KPiArDQo+ICsgIFJlY29ubmVjdEFsbCA9IEZB TFNFOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2Nlc3MgdGhlIGRyaXZlciBvcHRpb24NCj4g KyAgLy8NCj4gKyAgZm9yIChMaW5rID0gQmRzRHJpdmVyTGlzdHMtPkZvcndhcmRMaW5rOyBMaW5r ICE9IEJkc0RyaXZlckxpc3RzOyBMaW5rID0gTGluay0NCj4gPkZvcndhcmRMaW5rKSB7DQo+ICsg ICAgT3B0aW9uID0gQ1IgKExpbmssIEJEU19DT01NT05fT1BUSU9OLCBMaW5rLA0KPiBCRFNfTE9B RF9PUFRJT05fU0lHTkFUVVJFKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gSWYgYSBsb2Fk IG9wdGlvbiBpcyBub3QgbWFya2VkIGFzIExPQURfT1BUSU9OX0FDVElWRSwNCj4gKyAgICAvLyB0 aGUgYm9vdCBtYW5hZ2VyIHdpbGwgbm90IGF1dG9tYXRpY2FsbHkgbG9hZCB0aGUgb3B0aW9uLg0K PiArICAgIC8vDQo+ICsgICAgaWYgKCFJU19MT0FEX09QVElPTl9UWVBFIChPcHRpb24tPkF0dHJp YnV0ZSwgTE9BRF9PUFRJT05fQUNUSVZFKSkNCj4gew0KPiArICAgICAgY29udGludWU7DQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiBhIGRyaXZlciBsb2FkIG9wdGlvbiBp cyBtYXJrZWQgYXMgTE9BRF9PUFRJT05fRk9SQ0VfUkVDT05ORUNULA0KPiArICAgIC8vIHRoZW4g YWxsIG9mIHRoZSBFRkkgZHJpdmVycyBpbiB0aGUgc3lzdGVtIHdpbGwgYmUgZGlzY29ubmVjdGVk IGFuZA0KPiArICAgIC8vIHJlY29ubmVjdGVkIGFmdGVyIHRoZSBsYXN0IGRyaXZlciBsb2FkIG9w dGlvbiBpcyBwcm9jZXNzZWQuDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoSVNfTE9BRF9PUFRJT05f VFlQRSAoT3B0aW9uLT5BdHRyaWJ1dGUsDQo+IExPQURfT1BUSU9OX0ZPUkNFX1JFQ09OTkVDVCkp IHsNCj4gKyAgICAgIFJlY29ubmVjdEFsbCA9IFRSVUU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg Ly8NCj4gKyAgICAvLyBNYWtlIHN1cmUgdGhlIGRyaXZlciBwYXRoIGlzIGNvbm5lY3RlZC4NCj4g KyAgICAvLw0KPiArICAgIEJkc0xpYkNvbm5lY3REZXZpY2VQYXRoIChPcHRpb24tPkRldmljZVBh dGgpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBMb2FkIGFuZCBzdGFydCB0aGUgaW1hZ2Ug dGhhdCBEcml2ZXIjIyMjIGRlc2NyaWJlcw0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gZ0JT LT5Mb2FkSW1hZ2UgKA0KPiArICAgICAgICAgICAgICAgICAgICBGQUxTRSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgZ0ltYWdlSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICBPcHRpb24t PkRldmljZVBhdGgsDQo+ICsgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAg ICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICZJbWFnZUhhbmRsZQ0KPiArICAg ICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykp IHsNCj4gKyAgICAgIGdCUy0+SGFuZGxlUHJvdG9jb2wgKEltYWdlSGFuZGxlLCAmZ0VmaUxvYWRl ZEltYWdlUHJvdG9jb2xHdWlkLA0KPiAoVk9JRCAqKikgJkltYWdlSW5mbyk7DQo+ICsNCj4gKyAg ICAgIC8vDQo+ICsgICAgICAvLyBWZXJpZnkgd2hldGhlciB0aGlzIGltYWdlIGlzIGEgZHJpdmVy LCBpZiBub3QsDQo+ICsgICAgICAvLyBleGl0IGl0IGFuZCBjb250aW51ZSB0byBwYXJzZSBuZXh0 IGxvYWQgb3B0aW9uDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKEltYWdlSW5mby0+SW1hZ2VD b2RlVHlwZSAhPSBFZmlCb290U2VydmljZXNDb2RlICYmIEltYWdlSW5mby0NCj4gPkltYWdlQ29k ZVR5cGUgIT0gRWZpUnVudGltZVNlcnZpY2VzQ29kZSkgew0KPiArICAgICAgICBnQlMtPkV4aXQg KEltYWdlSGFuZGxlLCBFRklfSU5WQUxJRF9QQVJBTUVURVIsIDAsIE5VTEwpOw0KPiArICAgICAg ICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgaWYgKE9wdGlvbi0+TG9hZE9w dGlvbnNTaXplICE9IDApIHsNCj4gKyAgICAgICAgSW1hZ2VJbmZvLT5Mb2FkT3B0aW9uc1NpemUg ID0gT3B0aW9uLT5Mb2FkT3B0aW9uc1NpemU7DQo+ICsgICAgICAgIEltYWdlSW5mby0+TG9hZE9w dGlvbnMgICAgICA9IE9wdGlvbi0+TG9hZE9wdGlvbnM7DQo+ICsgICAgICB9DQo+ICsgICAgICAv Lw0KPiArICAgICAgLy8gQmVmb3JlIGNhbGxpbmcgdGhlIGltYWdlLCBlbmFibGUgdGhlIFdhdGNo ZG9nIFRpbWVyIGZvcg0KPiArICAgICAgLy8gdGhlIDUgTWludXRlIHBlcmlvZA0KPiArICAgICAg Ly8NCj4gKyAgICAgIGdCUy0+U2V0V2F0Y2hkb2dUaW1lciAoNSAqIDYwLCAweDAwMDAsIDB4MDAs IE5VTEwpOw0KPiArDQo+ICsgICAgICBTdGF0dXMgPSBnQlMtPlN0YXJ0SW1hZ2UgKEltYWdlSGFu ZGxlLCAmRXhpdERhdGFTaXplLCAmRXhpdERhdGEpOw0KPiArICAgICAgREVCVUcgKChERUJVR19J TkZPIHwgREVCVUdfTE9BRCwgIkRyaXZlciBSZXR1cm4gU3RhdHVzID0gJXJcbiIsDQo+IFN0YXR1 cykpOw0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gQ2xlYXIgdGhlIFdhdGNoZG9nIFRp bWVyIGFmdGVyIHRoZSBpbWFnZSByZXR1cm5zDQo+ICsgICAgICAvLw0KPiArICAgICAgZ0JTLT5T ZXRXYXRjaGRvZ1RpbWVyICgweDAwMDAsIDB4MDAwMCwgMHgwMDAwLCBOVUxMKTsNCj4gKyAgICB9 DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBQcm9jZXNzIHRoZSBMT0FEX09QVElPTl9G T1JDRV9SRUNPTk5FQ1QgZHJpdmVyIG9wdGlvbg0KPiArICAvLw0KPiArICBpZiAoUmVjb25uZWN0 QWxsKSB7DQo+ICsgICAgQmRzTGliRGlzY29ubmVjdEFsbEVmaSAoKTsNCj4gKyAgICBCZHNMaWJD b25uZWN0QWxsICgpOw0KPiArICB9DQo+ICsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEdldCB0 aGUgT3B0aW9uIE51bWJlciB0aGF0IGRvZXMgbm90IHVzZWQuDQo+ICsgIFRyeSB0byBsb2NhdGUg dGhlIHNwZWNpZmljIG9wdGlvbiB2YXJpYWJsZSBvbmUgYnkgb25lIHV0aWxlIGZpbmQgYSBmcmVl DQo+IG51bWJlci4NCj4gKw0KPiArICBAcGFyYW0gIFZhcmlhYmxlTmFtZSAgICAgICAgICBJbmRp Y2F0ZSBpZiB0aGUgYm9vdCMjIyMgb3IgZHJpdmVyIyMjIyBvcHRpb24NCj4gKw0KPiArICBAcmV0 dXJuIFRoZSBNaW5pbWFsIEZyZWUgT3B0aW9uIE51bWJlcg0KPiArDQo+ICsqKi8NCj4gK1VJTlQx Ng0KPiArQmRzTGliR2V0RnJlZU9wdGlvbk51bWJlciAoDQo+ICsgIElOICBDSEFSMTYgICAgKlZh cmlhYmxlTmFtZQ0KPiArICApDQo+ICt7DQo+ICsgIFVJTlROICAgICAgICAgSW5kZXg7DQo+ICsg IENIQVIxNiAgICAgICAgU3RyVGVtcFsxMF07DQo+ICsgIFVJTlQxNiAgICAgICAgKk9wdGlvbkJ1 ZmZlcjsNCj4gKyAgVUlOVE4gICAgICAgICBPcHRpb25TaXplOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFRyeSB0byBmaW5kIHRoZSBtaW5pbXVtIGZyZWUgbnVtYmVyIGZyb20gMCwgMSwgMiwgMy4u Li4NCj4gKyAgLy8NCj4gKyAgSW5kZXggPSAwOw0KPiArICBkbyB7DQo+ICsgICAgaWYgKCpWYXJp YWJsZU5hbWUgPT0gJ0InKSB7DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChTdHJUZW1wLCBzaXpl b2YgKFN0clRlbXApLCBMIkJvb3QlMDR4IiwgSW5kZXgpOw0KPiArICAgIH0gZWxzZSB7DQo+ICsg ICAgICBVbmljb2RlU1ByaW50IChTdHJUZW1wLCBzaXplb2YgKFN0clRlbXApLCBMIkRyaXZlciUw NHgiLCBJbmRleCk7DQo+ICsgICAgfQ0KPiArICAgIC8vDQo+ICsgICAgLy8gdHJ5IGlmIHRoZSBv cHRpb24gbnVtYmVyIGlzIHVzZWQNCj4gKyAgICAvLw0KPiArICAgIE9wdGlvbkJ1ZmZlciA9IEJk c0xpYkdldFZhcmlhYmxlQW5kU2l6ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICBTdHJUZW1w LA0KPiArICAgICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAmT3B0aW9uU2l6ZQ0KPiArICAgICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgICBpZiAoT3B0aW9uQnVmZmVyID09IE5VTEwpIHsNCj4gKyAgICAgIGJyZWFrOw0K PiArICAgIH0NCj4gKyAgICBGcmVlUG9vbChPcHRpb25CdWZmZXIpOw0KPiArICAgIEluZGV4Kys7 DQo+ICsgIH0gd2hpbGUgKFRSVUUpOw0KPiArDQo+ICsgIHJldHVybiAoKFVJTlQxNikgSW5kZXgp Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHdpbGwgcmVnaXN0 ZXIgdGhlIG5ldyBib290IyMjIyBvciBkcml2ZXIjIyMjIG9wdGlvbiBiYXNlIG9uDQo+ICsgIHRo ZSBWYXJpYWJsZU5hbWUuIFRoZSBuZXcgcmVnaXN0ZXJlZCBib290IyMjIyBvciBkcml2ZXIjIyMj IHdpbGwgYmUNCj4gbGlua2VkDQo+ICsgIHRvIEJkc09wdGlvbkxpc3QgYW5kIGFsc28gdXBkYXRl IHRvIHRoZSBWYXJpYWJsZU5hbWUuIEFmdGVyIHRoZQ0KPiBib290IyMjIyBvcg0KPiArICBkcml2 ZXIjIyMjIHVwZGF0ZWQsIHRoZSBCb290T3JkZXIgb3IgRHJpdmVyT3JkZXIgd2lsbCBhbHNvIGJl IHVwZGF0ZWQuDQo+ICsNCj4gKyAgQHBhcmFtICBCZHNPcHRpb25MaXN0ICAgICAgICAgVGhlIGhl YWRlciBvZiB0aGUgYm9vdCMjIyMgb3IgZHJpdmVyIyMjIyBsaW5rDQo+IGxpc3QNCj4gKyAgQHBh cmFtICBEZXZpY2VQYXRoICAgICAgICAgICAgVGhlIGRldmljZSBwYXRoIHdoaWNoIHRoZSBib290 IyMjIyBvcg0KPiBkcml2ZXIjIyMjDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG9wdGlvbiBwcmVzZW50DQo+ICsgIEBwYXJhbSAgU3RyaW5nICAgICAgICAgICAgICAgIFRoZSBk ZXNjcmlwdGlvbiBvZiB0aGUgYm9vdCMjIyMgb3IgZHJpdmVyIyMjIw0KPiArICBAcGFyYW0gIFZh cmlhYmxlTmFtZSAgICAgICAgICBJbmRpY2F0ZSBpZiB0aGUgYm9vdCMjIyMgb3IgZHJpdmVyIyMj IyBvcHRpb24NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICBUaGUgYm9v dCMjIyMgb3IgZHJpdmVyIyMjIyBoYXZlIGJlZW4gc3VjY2Vzcw0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICByZWdpc3RlcmVkDQo+ICsgIEByZXR2YWwgRUZJX1NUQVRVUyAgICAg ICAgICAgIFJldHVybiB0aGUgc3RhdHVzIG9mIGdSVC0+U2V0VmFyaWFibGUgKCkuDQo+ICsNCj4g KyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtCZHNMaWJSZWdpc3Rlck5ld09wdGlv biAoDQo+ICsgIElOICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgICAgKkJkc09wdGlvbkxp c3QsDQo+ICsgIElOICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAgKkRldmljZVBhdGgs DQo+ICsgIElOICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAgKlN0cmluZywNCj4gKyAg SU4gIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAqVmFyaWFibGVOYW1lDQo+ICsgICkN Cj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAg ICAgUmVnaXN0ZXJPcHRpb25OdW1iZXI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg KlRlbXBPcHRpb25QdHI7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgVGVtcE9wdGlv blNpemU7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgKk9wdGlvbk9yZGVyUHRyOw0K PiArICBWT0lEICAgICAgICAgICAgICAgICAgICAgICpPcHRpb25QdHI7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgT3B0aW9uU2l6ZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgICAqVGVtcFB0cjsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqT3B0aW9uRGV2 aWNlUGF0aDsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAqRGVzY3JpcHRpb247DQo+ ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgT3B0aW9uTmFtZVsxMF07DQo+ICsgIEJPT0xF QU4gICAgICAgICAgICAgICAgICAgVXBkYXRlRGVzY3JpcHRpb247DQo+ICsgIFVJTlQxNiAgICAg ICAgICAgICAgICAgICAgQm9vdE9yZGVyRW50cnk7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgT3JkZXJJdGVtTnVtOw0KPiArDQo+ICsgIGlmIChEZXZpY2VQYXRoID09IE5VTEwpIHsN Cj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAg T3B0aW9uUHRyICAgICAgICAgICAgID0gTlVMTDsNCj4gKyAgT3B0aW9uU2l6ZSAgICAgICAgICAg ID0gMDsNCj4gKyAgVGVtcFB0ciAgICAgICAgICAgICAgID0gTlVMTDsNCj4gKyAgT3B0aW9uRGV2 aWNlUGF0aCAgICAgID0gTlVMTDsNCj4gKyAgRGVzY3JpcHRpb24gICAgICAgICAgID0gTlVMTDsN Cj4gKyAgT3B0aW9uT3JkZXJQdHIgICAgICAgID0gTlVMTDsNCj4gKyAgVXBkYXRlRGVzY3JpcHRp b24gICAgID0gRkFMU0U7DQo+ICsgIFN0YXR1cyAgICAgICAgICAgICAgICA9IEVGSV9TVUNDRVNT Ow0KPiArICBaZXJvTWVtIChPcHRpb25OYW1lLCBzaXplb2YgKE9wdGlvbk5hbWUpKTsNCj4gKw0K PiArICBUZW1wT3B0aW9uU2l6ZSA9IDA7DQo+ICsgIFRlbXBPcHRpb25QdHIgPSBCZHNMaWJHZXRW YXJpYWJsZUFuZFNpemUgKA0KPiArICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZU5hbWUsDQo+ ICsgICAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgICAmVGVtcE9wdGlvblNpemUNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgLy8NCj4gKyAgLy8gQ29tcGFyZSB3aXRoIGN1cnJlbnQgb3B0aW9uIHZhcmlhYmxlIGlm IHRoZSBwcmV2aW91cyBvcHRpb24gaXMgc2V0IGluDQo+IGdsb2JhbCB2YXJpYWJsZS4NCj4gKyAg Ly8NCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgVGVtcE9wdGlvblNpemUgLyBzaXplb2Yg KFVJTlQxNik7IEluZGV4KyspIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRlbXBPcHRpb25QdHIg bXVzdCBub3QgYmUgTlVMTCBpZiB3ZSBoYXZlIG5vbi16ZXJvDQo+IFRlbXBPcHRpb25TaXplLg0K PiArICAgIC8vDQo+ICsgICAgQVNTRVJUIChUZW1wT3B0aW9uUHRyICE9IE5VTEwpOw0KPiArDQo+ ICsgICAgaWYgKCpWYXJpYWJsZU5hbWUgPT0gJ0InKSB7DQo+ICsgICAgICBVbmljb2RlU1ByaW50 IChPcHRpb25OYW1lLCBzaXplb2YgKE9wdGlvbk5hbWUpLCBMIkJvb3QlMDR4IiwNCj4gVGVtcE9w dGlvblB0cltJbmRleF0pOw0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBVbmljb2RlU1ByaW50 IChPcHRpb25OYW1lLCBzaXplb2YgKE9wdGlvbk5hbWUpLCBMIkRyaXZlciUwNHgiLA0KPiBUZW1w T3B0aW9uUHRyW0luZGV4XSk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgT3B0aW9uUHRyID0gQmRz TGliR2V0VmFyaWFibGVBbmRTaXplICgNCj4gKyAgICAgICAgICAgICAgICAgIE9wdGlvbk5hbWUs DQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgICZPcHRpb25TaXplDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICAg IGlmIChPcHRpb25QdHIgPT0gTlVMTCkgew0KPiArICAgICAgY29udGludWU7DQo+ICsgICAgfQ0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBWYWxpZGF0ZSB0aGUgdmFyaWFibGUuDQo+ICsgICAg Ly8NCj4gKyAgICBpZiAoIVZhbGlkYXRlT3B0aW9uKE9wdGlvblB0ciwgT3B0aW9uU2l6ZSkpIHsN Cj4gKyAgICAgIEZyZWVQb29sKE9wdGlvblB0cik7DQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgICBUZW1wUHRyICAgICAgICAgPSAgIE9wdGlvblB0cjsNCj4gKyAgICBU ZW1wUHRyICAgICAgICAgKz0gIHNpemVvZiAoVUlOVDMyKSArIHNpemVvZiAoVUlOVDE2KTsNCj4g KyAgICBEZXNjcmlwdGlvbiAgICAgPSAgIChDSEFSMTYgKikgVGVtcFB0cjsNCj4gKyAgICBUZW1w UHRyICAgICAgICAgKz0gIFN0clNpemUgKChDSEFSMTYgKikgVGVtcFB0cik7DQo+ICsgICAgT3B0 aW9uRGV2aWNlUGF0aCA9ICAoRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICopIFRlbXBQdHI7DQo+ ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE5vdGVzOiB0aGUgZGVzY3JpcHRpb24gbWF5IHdpbGwg Y2hhbmdlIGJhc2Ugb24gdGhlIEdldFN0cmluZ1Rva2VuDQo+ICsgICAgLy8NCj4gKyAgICBpZiAo Q29tcGFyZU1lbSAoT3B0aW9uRGV2aWNlUGF0aCwgRGV2aWNlUGF0aCwgR2V0RGV2aWNlUGF0aFNp emUNCj4gKE9wdGlvbkRldmljZVBhdGgpKSA9PSAwKSB7DQo+ICsgICAgICBpZiAoQ29tcGFyZU1l bSAoRGVzY3JpcHRpb24sIFN0cmluZywgU3RyU2l6ZSAoRGVzY3JpcHRpb24pKSA9PSAwKSB7DQo+ ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIEdvdCB0aGUgb3B0aW9uLCBzbyBqdXN0IHJldHVy bg0KPiArICAgICAgICAvLw0KPiArICAgICAgICBGcmVlUG9vbCAoT3B0aW9uUHRyKTsNCj4gKyAg ICAgICAgRnJlZVBvb2wgKFRlbXBPcHRpb25QdHIpOw0KPiArICAgICAgICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBP cHRpb24gZGVzY3JpcHRpb24gY2hhbmdlZCwgbmVlZCB1cGRhdGUuDQo+ICsgICAgICAgIC8vDQo+ ICsgICAgICAgIFVwZGF0ZURlc2NyaXB0aW9uID0gVFJVRTsNCj4gKyAgICAgICAgRnJlZVBvb2wg KE9wdGlvblB0cik7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4g Kw0KPiArICAgIEZyZWVQb29sIChPcHRpb25QdHIpOw0KPiArICB9DQo+ICsNCj4gKyAgT3B0aW9u U2l6ZSAgICAgICAgICA9IHNpemVvZiAoVUlOVDMyKSArIHNpemVvZiAoVUlOVDE2KSArIFN0clNp emUgKFN0cmluZyk7DQo+ICsgIE9wdGlvblNpemUgICAgICAgICAgKz0gR2V0RGV2aWNlUGF0aFNp emUgKERldmljZVBhdGgpOw0KPiArICBPcHRpb25QdHIgICAgICAgICAgID0gQWxsb2NhdGVaZXJv UG9vbCAoT3B0aW9uU2l6ZSk7DQo+ICsgIEFTU0VSVCAoT3B0aW9uUHRyICE9IE5VTEwpOw0KPiAr DQo+ICsgIFRlbXBQdHIgICAgICAgICAgICAgPSBPcHRpb25QdHI7DQo+ICsgICooVUlOVDMyICop IFRlbXBQdHIgPSBMT0FEX09QVElPTl9BQ1RJVkU7DQo+ICsgIFRlbXBQdHIgICAgICAgICAgICAg Kz0gc2l6ZW9mIChVSU5UMzIpOw0KPiArICAqKFVJTlQxNiAqKSBUZW1wUHRyID0gKFVJTlQxNikg R2V0RGV2aWNlUGF0aFNpemUgKERldmljZVBhdGgpOw0KPiArICBUZW1wUHRyICAgICAgICAgICAg ICs9IHNpemVvZiAoVUlOVDE2KTsNCj4gKyAgQ29weU1lbSAoVGVtcFB0ciwgU3RyaW5nLCBTdHJT aXplIChTdHJpbmcpKTsNCj4gKyAgVGVtcFB0ciAgICAgICAgICAgICArPSBTdHJTaXplIChTdHJp bmcpOw0KPiArICBDb3B5TWVtIChUZW1wUHRyLCBEZXZpY2VQYXRoLCBHZXREZXZpY2VQYXRoU2l6 ZSAoRGV2aWNlUGF0aCkpOw0KPiArDQo+ICsgIGlmIChVcGRhdGVEZXNjcmlwdGlvbikgew0KPiAr ICAgIC8vDQo+ICsgICAgLy8gVGhlIG51bWJlciBpbiBvcHRpb24jIyMjIHRvIGJlIHVwZGF0ZWQu DQo+ICsgICAgLy8gSW4gdGhpcyBjYXNlLCB3ZSBtdXN0IGhhdmUgbm9uLU5VTEwgVGVtcE9wdGlv blB0ci4NCj4gKyAgICAvLw0KPiArICAgIEFTU0VSVCAoVGVtcE9wdGlvblB0ciAhPSBOVUxMKTsN Cj4gKyAgICBSZWdpc3Rlck9wdGlvbk51bWJlciA9IFRlbXBPcHRpb25QdHJbSW5kZXhdOw0KPiAr ICB9IGVsc2Ugew0KPiArICAgIC8vDQo+ICsgICAgLy8gVGhlIG5ldyBvcHRpb24jIyMjIG51bWJl cg0KPiArICAgIC8vDQo+ICsgICAgUmVnaXN0ZXJPcHRpb25OdW1iZXIgPSBCZHNMaWJHZXRGcmVl T3B0aW9uTnVtYmVyKFZhcmlhYmxlTmFtZSk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoKlZhcmlh YmxlTmFtZSA9PSAnQicpIHsNCj4gKyAgICBVbmljb2RlU1ByaW50IChPcHRpb25OYW1lLCBzaXpl b2YgKE9wdGlvbk5hbWUpLCBMIkJvb3QlMDR4IiwNCj4gUmVnaXN0ZXJPcHRpb25OdW1iZXIpOw0K PiArICB9IGVsc2Ugew0KPiArICAgIFVuaWNvZGVTUHJpbnQgKE9wdGlvbk5hbWUsIHNpemVvZiAo T3B0aW9uTmFtZSksIEwiRHJpdmVyJTA0eCIsDQo+IFJlZ2lzdGVyT3B0aW9uTnVtYmVyKTsNCj4g KyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAgICAg ICAgICAgICAgT3B0aW9uTmFtZSwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsVmFy aWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNF X0FDQ0VTUyB8DQo+IEVGSV9WQVJJQUJMRV9SVU5USU1FX0FDQ0VTUyB8IEVGSV9WQVJJQUJMRV9O T05fVk9MQVRJTEUsDQo+ICsgICAgICAgICAgICAgICAgICBPcHRpb25TaXplLA0KPiArICAgICAg ICAgICAgICAgICAgT3B0aW9uUHRyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICAvLw0K PiArICAvLyBSZXR1cm4gaWYgb25seSBuZWVkIHRvIHVwZGF0ZSBhIGNoYW5nZWQgZGVzY3JpcHRp b24gb3IgZmFpbCB0byBzZXQgb3B0aW9uLg0KPiArICAvLw0KPiArICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpIHx8IFVwZGF0ZURlc2NyaXB0aW9uKSB7DQo+ICsgICAgRnJlZVBvb2wgKE9wdGlvblB0 cik7DQo+ICsgICAgaWYgKFRlbXBPcHRpb25QdHIgIT0gTlVMTCkgew0KPiArICAgICAgRnJlZVBv b2wgKFRlbXBPcHRpb25QdHIpOw0KPiArICAgIH0NCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiAr ICB9DQo+ICsNCj4gKyAgRnJlZVBvb2wgKE9wdGlvblB0cik7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gVXBkYXRlIHRoZSBvcHRpb24gb3JkZXIgdmFyaWFibGUNCj4gKyAgLy8NCj4gKw0KPiArICAv Lw0KPiArICAvLyBJZiBubyBvcHRpb24gb3JkZXINCj4gKyAgLy8NCj4gKyAgaWYgKFRlbXBPcHRp b25TaXplID09IDApIHsNCj4gKyAgICBCb290T3JkZXJFbnRyeSA9IDA7DQo+ICsgICAgU3RhdHVz ID0gZ1JULT5TZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlTmFt ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICAgIEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBF RklfVkFSSUFCTEVfUlVOVElNRV9BQ0NFU1MgfCBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFLA0K PiArICAgICAgICAgICAgICAgICAgICBzaXplb2YgKFVJTlQxNiksDQo+ICsgICAgICAgICAgICAg ICAgICAgICZCb290T3JkZXJFbnRyeQ0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAg IGlmIChUZW1wT3B0aW9uUHRyICE9IE5VTEwpIHsNCj4gKyAgICAgIEZyZWVQb29sIChUZW1wT3B0 aW9uUHRyKTsNCj4gKyAgICB9DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFRlbXBPcHRpb25QdHIgbXVzdCBub3QgYmUgTlVMTCBpZiBUZW1wT3B0 aW9uU2l6ZSBpcyBub3QgemVyby4NCj4gKyAgLy8NCj4gKyAgQVNTRVJUIChUZW1wT3B0aW9uUHRy ICE9IE5VTEwpOw0KPiArICAvLw0KPiArICAvLyBBcHBlbmQgdGhlIG5ldyBvcHRpb24gbnVtYmVy IHRvIHRoZSBvcmlnaW5hbCBvcHRpb24gb3JkZXINCj4gKyAgLy8NCj4gKyAgT3JkZXJJdGVtTnVt ID0gKFRlbXBPcHRpb25TaXplIC8gc2l6ZW9mIChVSU5UMTYpKSArIDEgOw0KPiArICBPcHRpb25P cmRlclB0ciA9IEFsbG9jYXRlWmVyb1Bvb2wgKCBPcmRlckl0ZW1OdW0gKiBzaXplb2YgKFVJTlQx NikpOw0KPiArICBBU1NFUlQgKE9wdGlvbk9yZGVyUHRyIT0gTlVMTCk7DQo+ICsgIENvcHlNZW0g KE9wdGlvbk9yZGVyUHRyLCBUZW1wT3B0aW9uUHRyLCAoT3JkZXJJdGVtTnVtIC0gMSkgKiBzaXpl b2YNCj4gKFVJTlQxNikpOw0KPiArDQo+ICsgIE9wdGlvbk9yZGVyUHRyW0luZGV4XSA9IFJlZ2lz dGVyT3B0aW9uTnVtYmVyOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0K PiArICAgICAgICAgICAgICAgICAgVmFyaWFibGVOYW1lLA0KPiArICAgICAgICAgICAgICAgICAg JmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBFRklfVkFSSUFC TEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4gRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTIHwg RUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSwNCj4gKyAgICAgICAgICAgICAgICAgIE9yZGVySXRl bU51bSAqIHNpemVvZiAoVUlOVDE2KSwNCj4gKyAgICAgICAgICAgICAgICAgIE9wdGlvbk9yZGVy UHRyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBGcmVlUG9vbCAoVGVtcE9wdGlvblB0 cik7DQo+ICsgIEZyZWVQb29sIChPcHRpb25PcmRlclB0cik7DQo+ICsNCj4gKyAgcmV0dXJuIFN0 YXR1czsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFJldHVybnMgdGhlIHNpemUgb2YgYSBkZXZp Y2UgcGF0aCBpbiBieXRlcy4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIHNp emUsIGluIGJ5dGVzLCBvZiB0aGUgZGV2aWNlIHBhdGggZGF0YSBzdHJ1Y3R1cmUNCj4gKyAgc3Bl Y2lmaWVkIGJ5IERldmljZVBhdGggaW5jbHVkaW5nIHRoZSBlbmQgb2YgZGV2aWNlIHBhdGggbm9k ZS4gSWYNCj4gRGV2aWNlUGF0aA0KPiArICBpcyBOVUxMLCB0aGVuIDAgaXMgcmV0dXJuZWQuIElm IHRoZSBsZW5ndGggb2YgdGhlIGRldmljZSBwYXRoIGlzIGJpZ2dlciB0aGFuDQo+ICsgIE1heFNp emUsIGFsc28gcmV0dXJuIDAgdG8gaW5kaWNhdGUgdGhpcyBpcyBhbiBpbnZhbGlkYXRlIGRldmlj ZSBwYXRoLg0KPiArDQo+ICsgIEBwYXJhbSAgRGV2aWNlUGF0aCAgICAgICAgIEEgcG9pbnRlciB0 byBhIGRldmljZSBwYXRoIGRhdGEgc3RydWN0dXJlLg0KPiArICBAcGFyYW0gIE1heFNpemUgICAg ICAgICAgICBNYXggdmFsaWQgZGV2aWNlIHBhdGggc2l6ZS4gSWYgYmlnIHRoYW4gdGhpcyBzaXpl LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZXJyb3IuDQo+ICsNCj4g KyAgQHJldHZhbCAwICAgICAgICAgICAgICAgICAgQW4gaW52YWxpZCBkZXZpY2UgcGF0aC4NCj4g KyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgICAgVGhlIHNpemUgb2YgYSBkZXZpY2UgcGF0aCBp biBieXRlcy4NCj4gKw0KPiArKiovDQo+ICtVSU5UTg0KPiArR2V0RGV2aWNlUGF0aFNpemVFeCAo DQo+ICsgIElOIENPTlNUIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgKkRldmljZVBhdGgsDQo+ ICsgIElOIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgTWF4U2l6ZQ0KPiArICApDQo+ ICt7DQo+ICsgIFVJTlROICBTaXplOw0KPiArICBVSU5UTiAgTm9kZVNpemU7DQo+ICsNCj4gKyAg aWYgKERldmljZVBhdGggPT0gTlVMTCkgew0KPiArICAgIHJldHVybiAwOw0KPiArICB9DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gU2VhcmNoIGZvciB0aGUgZW5kIG9mIHRoZSBkZXZpY2UgcGF0aCBz dHJ1Y3R1cmUNCj4gKyAgLy8NCj4gKyAgU2l6ZSA9IDA7DQo+ICsgIHdoaWxlICghSXNEZXZpY2VQ YXRoRW5kIChEZXZpY2VQYXRoKSkgew0KPiArICAgIE5vZGVTaXplID0gRGV2aWNlUGF0aE5vZGVM ZW5ndGggKERldmljZVBhdGgpOw0KPiArICAgIGlmIChOb2RlU2l6ZSA8IEVORF9ERVZJQ0VfUEFU SF9MRU5HVEgpIHsNCj4gKyAgICAgIHJldHVybiAwOw0KPiArICAgIH0NCj4gKyAgICBTaXplICs9 IE5vZGVTaXplOw0KPiArICAgIGlmIChTaXplID4gTWF4U2l6ZSkgew0KPiArICAgICAgcmV0dXJu IDA7DQo+ICsgICAgfQ0KPiArICAgIERldmljZVBhdGggPSBOZXh0RGV2aWNlUGF0aE5vZGUgKERl dmljZVBhdGgpOw0KPiArICB9DQo+ICsgIFNpemUgKz0gRGV2aWNlUGF0aE5vZGVMZW5ndGggKERl dmljZVBhdGgpOw0KPiArICBpZiAoU2l6ZSA+IE1heFNpemUpIHsNCj4gKyAgICByZXR1cm4gMDsN Cj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBTaXplOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAg UmV0dXJucyB0aGUgbGVuZ3RoIG9mIGEgTnVsbC10ZXJtaW5hdGVkIFVuaWNvZGUgc3RyaW5nLiBJ ZiB0aGUgbGVuZ3RoIGlzDQo+ICsgIGJpZ2dlciB0aGFuIE1heFN0cmluZ0xlbiwgcmV0dXJuIGxl bmd0aCAwIHRvIGluZGljYXRlIHRoYXQgdGhpcyBpcyBhbg0KPiArICBpbnZhbGlkYXRlIHN0cmlu Zy4NCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHJldHVybnMgdGhlIGJ5dGUgbGVuZ3RoIG9mIFVu aWNvZGUgY2hhcmFjdGVycyBpbiB0aGUgTnVsbC0NCj4gdGVybWluYXRlZA0KPiArICBVbmljb2Rl IHN0cmluZyBzcGVjaWZpZWQgYnkgU3RyaW5nLg0KPiArDQo+ICsgIElmIFN0cmluZyBpcyBOVUxM LCB0aGVuIEFTU0VSVCgpLg0KPiArICBJZiBTdHJpbmcgaXMgbm90IGFsaWduZWQgb24gYSAxNi1i aXQgYm91bmRhcnksIHRoZW4gQVNTRVJUKCkuDQo+ICsNCj4gKyAgQHBhcmFtICBTdHJpbmcgICAg ICAgICAgIEEgcG9pbnRlciB0byBhIE51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZy4NCj4g KyAgQHBhcmFtICBNYXhTdHJpbmdMZW4gICAgIE1heCBzdHJpbmcgbGVuIGluIHRoaXMgc3RyaW5n Lg0KPiArDQo+ICsgIEByZXR2YWwgMCAgICAgICAgICAgICAgICBBbiBpbnZhbGlkIHN0cmluZy4N Cj4gKyAgQHJldHZhbCBPdGhlcnMgICAgICAgICAgIFRoZSBsZW5ndGggb2YgU3RyaW5nLg0KPiAr DQo+ICsqKi8NCj4gK1VJTlRODQo+ICtTdHJTaXplRXggKA0KPiArICBJTiAgICAgIENPTlNUIENI QVIxNiAgICAgICAgICAgICAgKlN0cmluZywNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgIE1heFN0cmluZ0xlbg0KPiArICApDQo+ICt7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBMZW5ndGg7DQo+ICsNCj4gKyAgQVNTRVJUIChTdHJpbmcgIT0g TlVMTCAmJiBNYXhTdHJpbmdMZW4gIT0gMCk7DQo+ICsgIEFTU0VSVCAoKChVSU5UTikgU3RyaW5n ICYgQklUMCkgPT0gMCk7DQo+ICsNCj4gKyAgZm9yIChMZW5ndGggPSAwOyAqU3RyaW5nICE9IEwn XDAnICYmIE1heFN0cmluZ0xlbiAhPSBMZW5ndGg7IFN0cmluZysrLA0KPiBMZW5ndGgrPTIpOw0K PiArDQo+ICsgIGlmICgqU3RyaW5nICE9IEwnXDAnICYmIE1heFN0cmluZ0xlbiA9PSBMZW5ndGgp IHsNCj4gKyAgICByZXR1cm4gMDsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBMZW5ndGggKyAy Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVmFsaWRhdGUgdGhlIEVGSSBCb290IyMjIyB2YXJp YWJsZSAoVmVuZG9yR3VpZC9OYW1lKQ0KPiArDQo+ICsgIEBwYXJhbSAgVmFyaWFibGUgICAgICAg ICAgICAgIEJvb3QjIyMjIHZhcmlhYmxlIGRhdGEuDQo+ICsgIEBwYXJhbSAgVmFyaWFibGVTaXpl ICAgICAgICAgIFJldHVybnMgdGhlIHNpemUgb2YgdGhlIEVGSSB2YXJpYWJsZSB0aGF0IHdhcw0K PiByZWFkDQo+ICsNCj4gKyAgQHJldHZhbCBUUlVFICAgICAgICAgICAgICAgICAgVGhlIHZhcmlh YmxlIGRhdGEgaXMgY29ycmVjdC4NCj4gKyAgQHJldHZhbCBGQUxTRSAgICAgICAgICAgICAgICAg VGhlIHZhcmlhYmxlIGRhdGEgaXMgY29ycnVwdGVkLg0KPiArDQo+ICsqKi8NCj4gK0JPT0xFQU4N Cj4gK1ZhbGlkYXRlT3B0aW9uICgNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAqVmFy aWFibGUsDQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVTaXplDQo+ICsg ICkNCj4gK3sNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICBGaWxlUGF0aFNpemU7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgKlRlbXBQdHI7DQo+ICsgIEVGSV9ERVZJQ0Vf UEFUSF9QUk9UT0NPTCAgKkRldmljZVBhdGg7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAg ICAgVGVtcFNpemU7DQo+ICsNCj4gKyAgaWYgKFZhcmlhYmxlU2l6ZSA8PSBzaXplb2YgKFVJTlQx NikgKyBzaXplb2YgKFVJTlQzMikpIHsNCj4gKyAgICByZXR1cm4gRkFMU0U7DQo+ICsgIH0NCj4g Kw0KPiArICAvLw0KPiArICAvLyBTa2lwIHRoZSBvcHRpb24gYXR0cmlidXRlDQo+ICsgIC8vDQo+ ICsgIFRlbXBQdHIgICAgPSBWYXJpYWJsZTsNCj4gKyAgVGVtcFB0ciAgICs9IHNpemVvZiAoVUlO VDMyKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgdGhlIG9wdGlvbidzIGRldmljZSBwYXRo IHNpemUNCj4gKyAgLy8NCj4gKyAgRmlsZVBhdGhTaXplICA9ICooVUlOVDE2ICopIFRlbXBQdHI7 DQo+ICsgIFRlbXBQdHIgICAgICArPSBzaXplb2YgKFVJTlQxNik7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gR2V0IHRoZSBvcHRpb24ncyBkZXNjcmlwdGlvbiBzdHJpbmcgc2l6ZQ0KPiArICAvLw0K PiArICBUZW1wU2l6ZSA9IFN0clNpemVFeCAoKENIQVIxNiAqKSBUZW1wUHRyLCBWYXJpYWJsZVNp emUgLSBzaXplb2YgKFVJTlQxNikgLQ0KPiBzaXplb2YgKFVJTlQzMikpOw0KPiArICBUZW1wUHRy ICs9IFRlbXBTaXplOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCB0aGUgb3B0aW9uJ3MgZGV2 aWNlIHBhdGgNCj4gKyAgLy8NCj4gKyAgRGV2aWNlUGF0aCA9ICAoRUZJX0RFVklDRV9QQVRIX1BS T1RPQ09MICopIFRlbXBQdHI7DQo+ICsgIFRlbXBQdHIgICArPSBGaWxlUGF0aFNpemU7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gVmFsaWRhdGlvbiBib290IG9wdGlvbiB2YXJpYWJsZS4NCj4gKyAg Ly8NCj4gKyAgaWYgKChGaWxlUGF0aFNpemUgPT0gMCkgfHwgKFRlbXBTaXplID09IDApKSB7DQo+ ICsgICAgcmV0dXJuIEZBTFNFOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKFRlbXBTaXplICsgRmls ZVBhdGhTaXplICsgc2l6ZW9mIChVSU5UMTYpICsgc2l6ZW9mIChVSU5UMzIpID4NCj4gVmFyaWFi bGVTaXplKSB7DQo+ICsgICAgcmV0dXJuIEZBTFNFOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJu IChCT09MRUFOKSAoR2V0RGV2aWNlUGF0aFNpemVFeCAoRGV2aWNlUGF0aCwgRmlsZVBhdGhTaXpl KSAhPSAwKTsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIENvbnZlcnQgYSBzaW5nbGUgY2hhcmFj dGVyIHRvIG51bWJlci4NCj4gKyAgSXQgYXNzdW1lcyB0aGUgaW5wdXQgQ2hhciBpcyBpbiB0aGUg c2NvcGUgb2YgTCcwJyB+IEwnOScgYW5kIEwnQScgfiBMJ0YnDQo+ICsNCj4gKyAgQHBhcmFtIENo YXIgICAgVGhlIGlucHV0IGNoYXIgd2hpY2ggbmVlZCB0byBjaGFuZ2UgdG8gYSBoZXggbnVtYmVy Lg0KPiArDQo+ICsqKi8NCj4gK1VJTlRODQo+ICtDaGFyVG9VaW50ICgNCj4gKyAgSU4gQ0hBUjE2 ICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhcg0KPiArICApDQo+ICt7DQo+ICsgIGlmICgo Q2hhciA+PSBMJzAnKSAmJiAoQ2hhciA8PSBMJzknKSkgew0KPiArICAgIHJldHVybiAoVUlOVE4p IChDaGFyIC0gTCcwJyk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoKENoYXIgPj0gTCdBJykgJiYg KENoYXIgPD0gTCdGJykpIHsNCj4gKyAgICByZXR1cm4gKFVJTlROKSAoQ2hhciAtIEwnQScgKyAw eEEpOw0KPiArICB9DQo+ICsNCj4gKyAgQVNTRVJUIChGQUxTRSk7DQo+ICsgIHJldHVybiAwOw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKyAgQnVpbGQgdGhlIGJvb3QjIyMjIG9yIGRyaXZlciMjIyMg b3B0aW9uIGZyb20gdGhlIFZhcmlhYmxlTmFtZSwgdGhlDQo+ICsgIGJ1aWxkIGJvb3QjIyMjIG9y IGRyaXZlciMjIyMgd2lsbCBhbHNvIGJlIGxpbmtlZCB0byBCZHNDb21tb25PcHRpb25MaXN0Lg0K PiArDQo+ICsgIEBwYXJhbSAgQmRzQ29tbW9uT3B0aW9uTGlzdCAgIFRoZSBoZWFkZXIgb2YgdGhl IGJvb3QjIyMjIG9yDQo+IGRyaXZlciMjIyMgb3B0aW9uDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGxpbmsgbGlzdA0KPiArICBAcGFyYW0gIFZhcmlhYmxlTmFtZSAgICAgICAg ICBFRkkgVmFyaWFibGUgbmFtZSBpbmRpY2F0ZSBpZiBpdCBpcyBib290IyMjIyBvcg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkcml2ZXIjIyMjDQo+ICsNCj4gKyAgQHJldHZh bCBCRFNfQ09NTU9OX09QVElPTiAgICAgR2V0IHRoZSBvcHRpb24ganVzdCBiZWVuIGNyZWF0ZWQN Cj4gKyAgQHJldHZhbCBOVUxMICAgICAgICAgICAgICAgICAgRmFpbGVkIHRvIGdldCB0aGUgbmV3 IG9wdGlvbg0KPiArDQo+ICsqKi8NCj4gK0JEU19DT01NT05fT1BUSU9OICoNCj4gK0VGSUFQSQ0K PiArQmRzTGliVmFyaWFibGVUb09wdGlvbiAoDQo+ICsgIElOIE9VVCBMSVNUX0VOVFJZICAgICAg ICAgICAgICAgICAgICpCZHNDb21tb25PcHRpb25MaXN0LA0KPiArICBJTiAgQ0hBUjE2ICAgICAg ICAgICAgICAgICAgICAgICAgICAqVmFyaWFibGVOYW1lDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlO VDMyICAgICAgICAgICAgICAgICAgICBBdHRyaWJ1dGU7DQo+ICsgIFVJTlQxNiAgICAgICAgICAg ICAgICAgICAgRmlsZVBhdGhTaXplOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICpW YXJpYWJsZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAqVGVtcFB0cjsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZVNpemU7DQo+ICsgIEVGSV9ERVZJQ0Vf UEFUSF9QUk9UT0NPTCAgKkRldmljZVBhdGg7DQo+ICsgIEJEU19DT01NT05fT1BUSU9OICAgICAg ICAgKk9wdGlvbjsNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAgICAgICAqTG9hZE9wdGlvbnM7 DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgTG9hZE9wdGlvbnNTaXplOw0KPiArICBD SEFSMTYgICAgICAgICAgICAgICAgICAgICpEZXNjcmlwdGlvbjsNCj4gKyAgVUlOVDggICAgICAg ICAgICAgICAgICAgICBOdW1PZmY7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVhZCB0aGUgdmFy aWFibGUuIFdlIHdpbGwgbmV2ZXIgZnJlZSB0aGlzIGRhdGEuDQo+ICsgIC8vDQo+ICsgIFZhcmlh YmxlID0gQmRzTGliR2V0VmFyaWFibGVBbmRTaXplICgNCj4gKyAgICAgICAgICAgICAgVmFyaWFi bGVOYW1lLA0KPiArICAgICAgICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAg ICAgICAgICAgICAgJlZhcmlhYmxlU2l6ZQ0KPiArICAgICAgICAgICAgICApOw0KPiArICBpZiAo VmFyaWFibGUgPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBOVUxMOw0KPiArICB9DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gVmFsaWRhdGUgQm9vdCMjIyMgdmFyaWFibGUgZGF0YS4NCj4gKyAgLy8N Cj4gKyAgaWYgKCFWYWxpZGF0ZU9wdGlvbihWYXJpYWJsZSwgVmFyaWFibGVTaXplKSkgew0KPiAr ICAgIEZyZWVQb29sIChWYXJpYWJsZSk7DQo+ICsgICAgcmV0dXJuIE5VTEw7DQo+ICsgIH0NCj4g Kw0KPiArICAvLw0KPiArICAvLyBOb3RlczogY2FyZWZ1bCBkZWZpbmVkIHRoZSB2YXJpYWJsZSBv ZiBCb290IyMjIyBvcg0KPiArICAvLyBEcml2ZXIjIyMjLCBjb25zaWRlciB1c2Ugc29tZSBtYWNy byB0byBhYnN0cmFjdCB0aGUgY29kZQ0KPiArICAvLw0KPiArICAvLw0KPiArICAvLyBHZXQgdGhl IG9wdGlvbiBhdHRyaWJ1dGUNCj4gKyAgLy8NCj4gKyAgVGVtcFB0ciAgID0gIFZhcmlhYmxlOw0K PiArICBBdHRyaWJ1dGUgPSAgKihVSU5UMzIgKikgVmFyaWFibGU7DQo+ICsgIFRlbXBQdHIgICAr PSBzaXplb2YgKFVJTlQzMik7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IHRoZSBvcHRpb24n cyBkZXZpY2UgcGF0aCBzaXplDQo+ICsgIC8vDQo+ICsgIEZpbGVQYXRoU2l6ZSA9ICAqKFVJTlQx NiAqKSBUZW1wUHRyOw0KPiArICBUZW1wUHRyICAgICAgKz0gc2l6ZW9mIChVSU5UMTYpOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIEdldCB0aGUgb3B0aW9uJ3MgZGVzY3JpcHRpb24gc3RyaW5nDQo+ ICsgIC8vDQo+ICsgIERlc2NyaXB0aW9uID0gKENIQVIxNiAqKSBUZW1wUHRyOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIEdldCB0aGUgb3B0aW9uJ3MgZGVzY3JpcHRpb24gc3RyaW5nIHNpemUNCj4g KyAgLy8NCj4gKyAgVGVtcFB0ciArPSBTdHJTaXplKChDSEFSMTYgKikgVGVtcFB0cik7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gR2V0IHRoZSBvcHRpb24ncyBkZXZpY2UgcGF0aA0KPiArICAvLw0K PiArICBEZXZpY2VQYXRoID0gIChFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgKikgVGVtcFB0cjsN Cj4gKyAgVGVtcFB0ciAgICArPSBGaWxlUGF0aFNpemU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g R2V0IGxvYWQgb3Bpb24gZGF0YS4NCj4gKyAgLy8NCj4gKyAgTG9hZE9wdGlvbnMgICAgID0gVGVt cFB0cjsNCj4gKyAgTG9hZE9wdGlvbnNTaXplID0gKFVJTlQzMikgKFZhcmlhYmxlU2l6ZSAtIChV SU5UTikgKFRlbXBQdHIgLSBWYXJpYWJsZSkpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBD b25zb2xlIHZhcmlhYmxlcyBtYXkgaGF2ZSBtdWx0aXBsZSBkZXZpY2UgcGF0aHMsIHNvIG1ha2UN Cj4gKyAgLy8gYW4gRW50cnkgZm9yIGVhY2ggb25lLg0KPiArICAvLw0KPiArICBPcHRpb24gPSBB bGxvY2F0ZVplcm9Qb29sIChzaXplb2YgKEJEU19DT01NT05fT1BUSU9OKSk7DQo+ICsgIGlmIChP cHRpb24gPT0gTlVMTCkgew0KPiArICAgIEZyZWVQb29sIChWYXJpYWJsZSk7DQo+ICsgICAgcmV0 dXJuIE5VTEw7DQo+ICsgIH0NCj4gKw0KPiArICBPcHRpb24tPlNpZ25hdHVyZSAgID0gQkRTX0xP QURfT1BUSU9OX1NJR05BVFVSRTsNCj4gKyAgT3B0aW9uLT5EZXZpY2VQYXRoICA9IEFsbG9jYXRl WmVyb1Bvb2wgKEdldERldmljZVBhdGhTaXplIChEZXZpY2VQYXRoKSk7DQo+ICsgIEFTU0VSVChP cHRpb24tPkRldmljZVBhdGggIT0gTlVMTCk7DQo+ICsgIENvcHlNZW0gKE9wdGlvbi0+RGV2aWNl UGF0aCwgRGV2aWNlUGF0aCwgR2V0RGV2aWNlUGF0aFNpemUNCj4gKERldmljZVBhdGgpKTsNCj4g Kw0KPiArICBPcHRpb24tPkF0dHJpYnV0ZSAgID0gQXR0cmlidXRlOw0KPiArICBPcHRpb24tPkRl c2NyaXB0aW9uID0gQWxsb2NhdGVaZXJvUG9vbCAoU3RyU2l6ZSAoRGVzY3JpcHRpb24pKTsNCj4g KyAgQVNTRVJUKE9wdGlvbi0+RGVzY3JpcHRpb24gIT0gTlVMTCk7DQo+ICsgIENvcHlNZW0gKE9w dGlvbi0+RGVzY3JpcHRpb24sIERlc2NyaXB0aW9uLCBTdHJTaXplIChEZXNjcmlwdGlvbikpOw0K PiArDQo+ICsgIE9wdGlvbi0+TG9hZE9wdGlvbnMgPSBBbGxvY2F0ZVplcm9Qb29sIChMb2FkT3B0 aW9uc1NpemUpOw0KPiArICBBU1NFUlQoT3B0aW9uLT5Mb2FkT3B0aW9ucyAhPSBOVUxMKTsNCj4g KyAgQ29weU1lbSAoT3B0aW9uLT5Mb2FkT3B0aW9ucywgTG9hZE9wdGlvbnMsIExvYWRPcHRpb25z U2l6ZSk7DQo+ICsgIE9wdGlvbi0+TG9hZE9wdGlvbnNTaXplID0gTG9hZE9wdGlvbnNTaXplOw0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCB0aGUgdmFsdWUgZnJvbSBWYXJpYWJsZU5hbWUgVW5p Y29kZSBzdHJpbmcNCj4gKyAgLy8gc2luY2UgdGhlIElTTyBzdGFuZGFyZCBhc3N1bWVzIEFTQ0lJ IGVxdWl2YWxlbnQgYWJicmV2aWF0aW9ucywgd2UgY2FuDQo+IGJlIHNhZmUgaW4gY29udmVydGlu ZyB0aGlzDQo+ICsgIC8vIFVuaWNvZGUgc3RyZWFtIHRvIEFTQ0lJIHdpdGhvdXQgYW55IGxvc3Mg aW4gbWVhbmluZy4NCj4gKyAgLy8NCj4gKyAgaWYgKCpWYXJpYWJsZU5hbWUgPT0gJ0InKSB7DQo+ ICsgICAgTnVtT2ZmID0gKFVJTlQ4KSAoc2l6ZW9mIChMIkJvb3QiKSAvIHNpemVvZiAoQ0hBUjE2 KSAtIDEpOw0KPiArICAgIE9wdGlvbi0+Qm9vdEN1cnJlbnQgPSAoVUlOVDE2KSAoQ2hhclRvVWlu dCAoVmFyaWFibGVOYW1lW051bU9mZiswXSkNCj4gKiAweDEwMDApDQo+ICsgICAgICAgICAgICAg ICArIChVSU5UMTYpIChDaGFyVG9VaW50IChWYXJpYWJsZU5hbWVbTnVtT2ZmKzFdKSAqIDB4MTAw KQ0KPiArICAgICAgICAgICAgICAgKyAoVUlOVDE2KSAoQ2hhclRvVWludCAoVmFyaWFibGVOYW1l W051bU9mZisyXSkgKiAweDEwKQ0KPiArICAgICAgICAgICAgICAgKyAoVUlOVDE2KSAoQ2hhclRv VWludCAoVmFyaWFibGVOYW1lW051bU9mZiszXSkgKiAweDEpOw0KPiArICB9DQo+ICsgIEluc2Vy dFRhaWxMaXN0IChCZHNDb21tb25PcHRpb25MaXN0LCAmT3B0aW9uLT5MaW5rKTsNCj4gKyAgRnJl ZVBvb2wgKFZhcmlhYmxlKTsNCj4gKyAgcmV0dXJuIE9wdGlvbjsNCj4gK30NCj4gKw0KPiArLyoq DQo+ICsgIFByb2Nlc3MgQm9vdE9yZGVyLCBvciBEcml2ZXJPcmRlciB2YXJpYWJsZXMsIGJ5IGNh bGxpbmcNCj4gKyAgQmRzTGliVmFyaWFibGVUb09wdGlvbiAoKSBmb3IgZWFjaCBVSU5UMTYgaW4g dGhlIHZhcmlhYmxlcy4NCj4gKw0KPiArICBAcGFyYW0gIEJkc0NvbW1vbk9wdGlvbkxpc3QgICBU aGUgaGVhZGVyIG9mIHRoZSBvcHRpb24gbGlzdCBiYXNlIG9uDQo+IHZhcmlhYmxlDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlTmFtZQ0KPiArICBAcGFyYW0gIFZh cmlhYmxlTmFtZSAgICAgICAgICBFRkkgVmFyaWFibGUgbmFtZSBpbmRpY2F0ZSB0aGUgQm9vdE9y ZGVyIG9yDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERyaXZlck9yZGVyDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgU3VjY2VzcyBjcmVhdGUgdGhl IGJvb3Qgb3B0aW9uIG9yIGRyaXZlciBvcHRpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgbGlzdA0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBGYWlsZWQg dG8gZ2V0IHRoZSBib290IG9wdGlvbiBvciBkcml2ZXINCj4gb3B0aW9uIGxpc3QNCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0xpYkJ1aWxkT3B0aW9uRnJvbVZh ciAoDQo+ICsgIElOICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgICAgICpCZHNDb21tb25P cHRpb25MaXN0LA0KPiArICBJTiAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqVmFy aWFibGVOYW1lDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgKk9wdGlvbk9y ZGVyOw0KPiArICBVSU5UTiAgICAgICAgICAgICBPcHRpb25PcmRlclNpemU7DQo+ICsgIFVJTlRO ICAgICAgICAgICAgIEluZGV4Ow0KPiArICBCRFNfQ09NTU9OX09QVElPTiAqT3B0aW9uOw0KPiAr ICBDSEFSMTYgICAgICAgICAgICBPcHRpb25OYW1lWzIwXTsNCj4gKw0KPiArICAvLw0KPiArICAv LyBaZXJvIEJ1ZmZlciBpbiBvcmRlciB0byBnZXQgYWxsIEJPT1QjIyMjIHZhcmlhYmxlcw0KPiAr ICAvLw0KPiArICBaZXJvTWVtIChPcHRpb25OYW1lLCBzaXplb2YgKE9wdGlvbk5hbWUpKTsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBSZWFkIHRoZSBCb290T3JkZXIsIG9yIERyaXZlck9yZGVyIHZh cmlhYmxlLg0KPiArICAvLw0KPiArICBPcHRpb25PcmRlciA9IEJkc0xpYkdldFZhcmlhYmxlQW5k U2l6ZSAoDQo+ICsgICAgICAgICAgICAgICAgICBWYXJpYWJsZU5hbWUsDQo+ICsgICAgICAgICAg ICAgICAgICAmZ0VmaUdsb2JhbFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICZP cHRpb25PcmRlclNpemUNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChPcHRpb25P cmRlciA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPiAr ICB9DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgT3B0aW9uT3JkZXJTaXplIC8g c2l6ZW9mIChVSU5UMTYpOyBJbmRleCsrKSB7DQo+ICsgICAgaWYgKCpWYXJpYWJsZU5hbWUgPT0g J0InKSB7DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChPcHRpb25OYW1lLCBzaXplb2YgKE9wdGlv bk5hbWUpLCBMIkJvb3QlMDR4IiwNCj4gT3B0aW9uT3JkZXJbSW5kZXhdKTsNCj4gKyAgICB9IGVs c2Ugew0KPiArICAgICAgVW5pY29kZVNQcmludCAoT3B0aW9uTmFtZSwgc2l6ZW9mIChPcHRpb25O YW1lKSwgTCJEcml2ZXIlMDR4IiwNCj4gT3B0aW9uT3JkZXJbSW5kZXhdKTsNCj4gKyAgICB9DQo+ ICsNCj4gKyAgICBPcHRpb24gICAgICAgICAgICAgID0gQmRzTGliVmFyaWFibGVUb09wdGlvbiAo QmRzQ29tbW9uT3B0aW9uTGlzdCwNCj4gT3B0aW9uTmFtZSk7DQo+ICsgICAgaWYgKE9wdGlvbiAh PSBOVUxMKSB7DQo+ICsgICAgICBPcHRpb24tPkJvb3RDdXJyZW50ID0gT3B0aW9uT3JkZXJbSW5k ZXhdOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIEZyZWVQb29sIChPcHRpb25PcmRlcik7 DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAg R2V0IGJvb3QgbW9kZSBieSBsb29raW5nIHVwIGNvbmZpZ3VyYXRpb24gdGFibGUgYW5kIHBhcnNp bmcgSE9CIGxpc3QNCj4gKw0KPiArICBAcGFyYW0gIEJvb3RNb2RlICAgICAgICAgICAgICBCb290 IG1vZGUgZnJvbSBQRUkgaGFuZG9mZiBIT0IuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgICAgU3VjY2Vzc2Z1bGx5IGdldCBib290IG1vZGUNCj4gKw0KPiArKiovDQo+ICtF RklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0xpYkdldEJvb3RNb2RlICgNCj4gKyAgT1VUIEVG SV9CT09UX01PREUgICAgICAgKkJvb3RNb2RlDQo+ICsgICkNCj4gK3sNCj4gKyAgKkJvb3RNb2Rl ID0gR2V0Qm9vdE1vZGVIb2IgKCk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiAr fQ0KPiArDQo+ICsvKioNCj4gKyAgUmVhZCB0aGUgRUZJIHZhcmlhYmxlIChWZW5kb3JHdWlkL05h bWUpIGFuZCByZXR1cm4gYSBkeW5hbWljYWxseQ0KPiBhbGxvY2F0ZWQNCj4gKyAgYnVmZmVyLCBh bmQgdGhlIHNpemUgb2YgdGhlIGJ1ZmZlci4gSWYgZmFpbHVyZSByZXR1cm4gTlVMTC4NCj4gKw0K PiArICBAcGFyYW0gIE5hbWUgICAgICAgICAgICAgICAgICBTdHJpbmcgcGFydCBvZiBFRkkgdmFy aWFibGUgbmFtZQ0KPiArICBAcGFyYW0gIFZlbmRvckd1aWQgICAgICAgICAgICBHVUlEIHBhcnQg b2YgRUZJIHZhcmlhYmxlIG5hbWUNCj4gKyAgQHBhcmFtICBWYXJpYWJsZVNpemUgICAgICAgICAg UmV0dXJucyB0aGUgc2l6ZSBvZiB0aGUgRUZJIHZhcmlhYmxlIHRoYXQgd2FzDQo+IHJlYWQNCj4g Kw0KPiArICBAcmV0dXJuICAgICAgICAgICAgICAgICAgICAgICBEeW5hbWljYWxseSBhbGxvY2F0 ZWQgbWVtb3J5IHRoYXQgY29udGFpbnMgYSBjb3B5IG9mDQo+IHRoZSBFRkkgdmFyaWFibGUNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2FsbGVyIGlzIHJlc3BvbnNpYmxlIGZy ZWVpbmcgdGhlIGJ1ZmZlci4NCj4gKyAgQHJldHZhbCBOVUxMICAgICAgICAgICAgICAgICAgVmFy aWFibGUgd2FzIG5vdCByZWFkDQo+ICsNCj4gKyoqLw0KPiArVk9JRCAqDQo+ICtFRklBUEkNCj4g K0Jkc0xpYkdldFZhcmlhYmxlQW5kU2l6ZSAoDQo+ICsgIElOICBDSEFSMTYgICAgICAgICAgICAg ICpOYW1lLA0KPiArICBJTiAgRUZJX0dVSUQgICAgICAgICAgICAqVmVuZG9yR3VpZCwNCj4gKyAg T1VUIFVJTlROICAgICAgICAgICAgICAgKlZhcmlhYmxlU2l6ZQ0KPiArICApDQo+ICt7DQo+ICsg IEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAgQnVmZmVyU2l6ZTsNCj4gKyAg Vk9JRCAgICAgICAgKkJ1ZmZlcjsNCj4gKw0KPiArICBCdWZmZXIgPSBOVUxMOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFBhc3MgaW4gYSB6ZXJvIHNpemUgYnVmZmVyIHRvIGZpbmQgdGhlIHJlcXVp cmVkIGJ1ZmZlciBzaXplLg0KPiArICAvLw0KPiArICBCdWZmZXJTaXplICA9IDA7DQo+ICsgIFN0 YXR1cyAgICAgID0gZ1JULT5HZXRWYXJpYWJsZSAoTmFtZSwgVmVuZG9yR3VpZCwgTlVMTCwgJkJ1 ZmZlclNpemUsDQo+IEJ1ZmZlcik7DQo+ICsgIGlmIChTdGF0dXMgPT0gRUZJX0JVRkZFUl9UT09f U01BTEwpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIEFsbG9jYXRlIHRoZSBidWZmZXIgdG8gcmV0 dXJuDQo+ICsgICAgLy8NCj4gKyAgICBCdWZmZXIgPSBBbGxvY2F0ZVplcm9Qb29sIChCdWZmZXJT aXplKTsNCj4gKyAgICBpZiAoQnVmZmVyID09IE5VTEwpIHsNCj4gKyAgICAgICpWYXJpYWJsZVNp emUgPSAwOw0KPiArICAgICAgcmV0dXJuIE5VTEw7DQo+ICsgICAgfQ0KPiArICAgIC8vDQo+ICsg ICAgLy8gUmVhZCB2YXJpYWJsZSBpbnRvIHRoZSBhbGxvY2F0ZWQgYnVmZmVyLg0KPiArICAgIC8v DQo+ICsgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSAoTmFtZSwgVmVuZG9yR3VpZCwgTlVM TCwgJkJ1ZmZlclNpemUsDQo+IEJ1ZmZlcik7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgRnJlZVBvb2wgKEJ1ZmZlcik7DQo+ICsgICAgICBCdWZmZXJTaXplID0g MDsNCj4gKyAgICAgIEJ1ZmZlciAgICAgPSBOVUxMOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ ICsgIEFTU0VSVCAoKChCdWZmZXIgPT0gTlVMTCkgJiYgKEJ1ZmZlclNpemUgPT0gMCkpIHx8DQo+ ICsgICAgICAgICAgKChCdWZmZXIgIT0gTlVMTCkgJiYgKEJ1ZmZlclNpemUgIT0gMCkpDQo+ICsg ICAgICAgICAgKTsNCj4gKyAgKlZhcmlhYmxlU2l6ZSA9IEJ1ZmZlclNpemU7DQo+ICsgIHJldHVy biBCdWZmZXI7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBEZWxldGUgdGhlIGluc3RhbmNlIGlu IE11bHRpIHdoaWNoIG1hdGNoZXMgcGFydGx5IHdpdGggU2luZ2xlIGluc3RhbmNlDQo+ICsNCj4g KyAgQHBhcmFtICBNdWx0aSAgICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIGEgbXVsdGktaW5z dGFuY2UgZGV2aWNlIHBhdGggZGF0YQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzdHJ1Y3R1cmUuDQo+ICsgIEBwYXJhbSAgU2luZ2xlICAgICAgICAgICAgICAgIEEgcG9pbnRl ciB0byBhIHNpbmdsZS1pbnN0YW5jZSBkZXZpY2UgcGF0aCBkYXRhDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHN0cnVjdHVyZS4NCj4gKw0KPiArICBAcmV0dXJuIFRoaXMgZnVu Y3Rpb24gd2lsbCByZW1vdmUgdGhlIGRldmljZSBwYXRoIGluc3RhbmNlcyBpbiBNdWx0aSB3aGlj aA0KPiBwYXJ0bHkNCj4gKyAgICAgICAgICBtYXRjaCB3aXRoIHRoZSBTaW5nbGUsIGFuZCByZXR1 cm4gdGhlIHJlc3VsdCBkZXZpY2UgcGF0aC4gSWYgdGhlcmUgaXMgbm8NCj4gKyAgICAgICAgICBy ZW1haW5pbmcgZGV2aWNlIHBhdGggYXMgYSByZXN1bHQsIHRoaXMgZnVuY3Rpb24gd2lsbCByZXR1 cm4gTlVMTC4NCj4gKw0KPiArKiovDQo+ICtFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgKg0KPiAr RUZJQVBJDQo+ICtCZHNMaWJEZWxQYXJ0TWF0Y2hJbnN0YW5jZSAoDQo+ICsgIElOICAgICBFRklf REVWSUNFX1BBVEhfUFJPVE9DT0wgICpNdWx0aSwNCj4gKyAgSU4gICAgIEVGSV9ERVZJQ0VfUEFU SF9QUk9UT0NPTCAgKlNpbmdsZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9Q Uk9UT0NPTCAgKkluc3RhbmNlOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpOZXdE ZXZpY2VQYXRoOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpUZW1wTmV3RGV2aWNl UGF0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBJbnN0YW5jZVNpemU7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICAgICAgU2luZ2xlRHBTaXplOw0KPiArICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIFNpemU7DQo+ICsNCj4gKyAgTmV3RGV2aWNlUGF0aCAgICAgPSBOVUxM Ow0KPiArICBUZW1wTmV3RGV2aWNlUGF0aCA9IE5VTEw7DQo+ICsNCj4gKyAgaWYgKE11bHRpID09 IE5VTEwgfHwgU2luZ2xlID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gTXVsdGk7DQo+ICsgIH0N Cj4gKw0KPiArICBJbnN0YW5jZSAgICAgICAgPSAgR2V0TmV4dERldmljZVBhdGhJbnN0YW5jZSAo Jk11bHRpLCAmSW5zdGFuY2VTaXplKTsNCj4gKyAgU2luZ2xlRHBTaXplICAgID0gIEdldERldmlj ZVBhdGhTaXplIChTaW5nbGUpIC0gRU5EX0RFVklDRV9QQVRIX0xFTkdUSDsNCj4gKyAgSW5zdGFu Y2VTaXplICAgIC09IEVORF9ERVZJQ0VfUEFUSF9MRU5HVEg7DQo+ICsNCj4gKyAgd2hpbGUgKElu c3RhbmNlICE9IE5VTEwpIHsNCj4gKw0KPiArICAgIFNpemUgPSAoU2luZ2xlRHBTaXplIDwgSW5z dGFuY2VTaXplKSA/IFNpbmdsZURwU2l6ZSA6IEluc3RhbmNlU2l6ZTsNCj4gKw0KPiArICAgIGlm ICgoQ29tcGFyZU1lbSAoSW5zdGFuY2UsIFNpbmdsZSwgU2l6ZSkgIT0gMCkpIHsNCj4gKyAgICAg IC8vDQo+ICsgICAgICAvLyBBcHBlbmQgdGhlIGRldmljZSBwYXRoIGluc3RhbmNlIHdoaWNoIGRv ZXMgbm90IG1hdGNoIHdpdGggU2luZ2xlDQo+ICsgICAgICAvLw0KPiArICAgICAgVGVtcE5ld0Rl dmljZVBhdGggPSBOZXdEZXZpY2VQYXRoOw0KPiArICAgICAgTmV3RGV2aWNlUGF0aCA9IEFwcGVu ZERldmljZVBhdGhJbnN0YW5jZSAoTmV3RGV2aWNlUGF0aCwNCj4gSW5zdGFuY2UpOw0KPiArICAg ICAgaWYgKFRlbXBOZXdEZXZpY2VQYXRoICE9IE5VTEwpIHsNCj4gKyAgICAgICAgRnJlZVBvb2wo VGVtcE5ld0RldmljZVBhdGgpOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBGcmVlUG9v bChJbnN0YW5jZSk7DQo+ICsgICAgSW5zdGFuY2UgPSBHZXROZXh0RGV2aWNlUGF0aEluc3RhbmNl ICgmTXVsdGksICZJbnN0YW5jZVNpemUpOw0KPiArICAgIEluc3RhbmNlU2l6ZSAgLT0gRU5EX0RF VklDRV9QQVRIX0xFTkdUSDsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBOZXdEZXZpY2VQYXRo Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgRnVuY3Rpb24gY29tcGFyZXMgYSBkZXZpY2UgcGF0 aCBkYXRhIHN0cnVjdHVyZSB0byB0aGF0IG9mIGFsbCB0aGUgbm9kZXMgb2YgYQ0KPiArICBzZWNv bmQgZGV2aWNlIHBhdGggaW5zdGFuY2UuDQo+ICsNCj4gKyAgQHBhcmFtICBNdWx0aSAgICAgICAg ICAgICAgICAgQSBwb2ludGVyIHRvIGEgbXVsdGktaW5zdGFuY2UgZGV2aWNlIHBhdGggZGF0YQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUuDQo+ICsgIEBwYXJh bSAgU2luZ2xlICAgICAgICAgICAgICAgIEEgcG9pbnRlciB0byBhIHNpbmdsZS1pbnN0YW5jZSBk ZXZpY2UgcGF0aCBkYXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cnVj dHVyZS4NCj4gKw0KPiArICBAcmV0dmFsIFRSVUUgICAgICAgICAgICAgICAgICBJZiB0aGUgU2lu Z2xlIGRldmljZSBwYXRoIGlzIGNvbnRhaW5lZCB3aXRoaW4gTXVsdGkNCj4gZGV2aWNlIHBhdGgu DQo+ICsgIEByZXR2YWwgRkFMU0UgICAgICAgICAgICAgICAgIFRoZSBTaW5nbGUgZGV2aWNlIHBh dGggaXMgbm90IG1hdGNoIHdpdGhpbiBNdWx0aQ0KPiBkZXZpY2UgcGF0aC4NCj4gKw0KPiArKiov DQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK0Jkc0xpYk1hdGNoRGV2aWNlUGF0aHMgKA0KPiAr ICBJTiAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAqTXVsdGksDQo+ICsgIElOICBFRklfREVW SUNFX1BBVEhfUFJPVE9DT0wgICpTaW5nbGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklfREVWSUNF X1BBVEhfUFJPVE9DT0wgICpEZXZpY2VQYXRoOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9D T0wgICpEZXZpY2VQYXRoSW5zdDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICBTaXpl Ow0KPiArDQo+ICsgIGlmIChNdWx0aSA9PSBOVUxMIHx8IFNpbmdsZSAgPT0gTlVMTCkgew0KPiAr ICAgIHJldHVybiBGQUxTRTsNCj4gKyAgfQ0KPiArDQo+ICsgIERldmljZVBhdGggICAgICA9IE11 bHRpOw0KPiArICBEZXZpY2VQYXRoSW5zdCAgPSBHZXROZXh0RGV2aWNlUGF0aEluc3RhbmNlICgm RGV2aWNlUGF0aCwgJlNpemUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNlYXJjaCBmb3IgdGhl IG1hdGNoIG9mICdTaW5nbGUnIGluICdNdWx0aScNCj4gKyAgLy8NCj4gKyAgd2hpbGUgKERldmlj ZVBhdGhJbnN0ICE9IE5VTEwpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIElmIHRoZSBzaW5nbGUg ZGV2aWNlIHBhdGggaXMgZm91bmQgaW4gbXVsdGlwbGUgZGV2aWNlIHBhdGhzLA0KPiArICAgIC8v IHJldHVybiBzdWNjZXNzDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoQ29tcGFyZU1lbSAoU2luZ2xl LCBEZXZpY2VQYXRoSW5zdCwgU2l6ZSkgPT0gMCkgew0KPiArICAgICAgRnJlZVBvb2wgKERldmlj ZVBhdGhJbnN0KTsNCj4gKyAgICAgIHJldHVybiBUUlVFOw0KPiArICAgIH0NCj4gKw0KPiArICAg IEZyZWVQb29sIChEZXZpY2VQYXRoSW5zdCk7DQo+ICsgICAgRGV2aWNlUGF0aEluc3QgPSBHZXRO ZXh0RGV2aWNlUGF0aEluc3RhbmNlICgmRGV2aWNlUGF0aCwgJlNpemUpOw0KPiArICB9DQo+ICsN Cj4gKyAgcmV0dXJuIEZBTFNFOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlv biBwcmludHMgYSBzZXJpZXMgb2Ygc3RyaW5ncy4NCj4gKw0KPiArICBAcGFyYW0gIENvbk91dCAg ICAgICAgICAgICAgICBQb2ludGVyIHRvDQo+IEVGSV9TSU1QTEVfVEVYVF9PVVRQVVRfUFJPVE9D T0wNCj4gKyAgQHBhcmFtICAuLi4gICAgICAgICAgICAgICAgICAgQSB2YXJpYWJsZSBhcmd1bWVu dCBsaXN0IGNvbnRhaW5pbmcgc2VyaWVzIG9mDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHN0cmluZ3MsIHRoZSBsYXN0IHN0cmluZyBtdXN0IGJlIE5VTEwuDQo+ICsNCj4gKyAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgU3VjY2VzcyBwcmludCBvdXQgdGhlIHN0cmlu ZyB1c2luZyBDb25PdXQuDQo+ICsgIEByZXR2YWwgRUZJX1NUQVRVUyAgICAgICAgICAgIFJldHVy biB0aGUgc3RhdHVzIG9mIHRoZSBDb25PdXQtPk91dHB1dFN0cmluZw0KPiAoKS4NCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0xpYk91dHB1dFN0cmluZ3MgKA0K PiArICBJTiBFRklfU0lNUExFX1RFWFRfT1VUUFVUX1BST1RPQ09MICAgKkNvbk91dCwNCj4gKyAg Li4uDQo+ICsgICkNCj4gK3sNCj4gKyAgVkFfTElTVCAgICAgQXJnczsNCj4gKyAgRUZJX1NUQVRV UyAgU3RhdHVzOw0KPiArICBDSEFSMTYgICAgICAqU3RyaW5nOw0KPiArDQo+ICsgIFN0YXR1cyA9 IEVGSV9TVUNDRVNTOw0KPiArICBWQV9TVEFSVCAoQXJncywgQ29uT3V0KTsNCj4gKw0KPiArICB3 aGlsZSAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gSWYgU3Ry aW5nIGlzIE5VTEwsIHRoZW4gaXQncyB0aGUgZW5kIG9mIHRoZSBsaXN0DQo+ICsgICAgLy8NCj4g KyAgICBTdHJpbmcgPSBWQV9BUkcgKEFyZ3MsIENIQVIxNiAqKTsNCj4gKyAgICBpZiAoU3RyaW5n ID09IE5VTEwpIHsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFN0YXR1 cyA9IENvbk91dC0+T3V0cHV0U3RyaW5nIChDb25PdXQsIFN0cmluZyk7DQo+ICsNCj4gKyAgICBp ZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsg IH0NCj4gKw0KPiArICBWQV9FTkQoQXJncyk7DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ ICsNCj4gKy8vDQo+ICsvLyAgRm9sbG93aW5nIGFyZSBCRFMgTGliIGZ1bmN0aW9ucyB3aGljaCBj b250YWluIGFsbCB0aGUgY29kZSBhYm91dCBzZXR1cA0KPiBicm93c2VyIHJlc2V0IHJlbWluZGVy IGZlYXR1cmUuDQo+ICsvLyAgU2V0dXAgQnJvd3NlciByZXNldCByZW1pbmRlciBmZWF0dXJlIGlz IHRoYXQgYW4gcmVzZXQgcmVtaW5kZXIgd2lsbCBiZQ0KPiBnaXZlbiBiZWZvcmUgdXNlciBsZWF2 ZXMgdGhlIHNldHVwIGJyb3dzZXIgIGlmDQo+ICsvLyAgdXNlciBjaGFuZ2UgYW55IG9wdGlvbiBz ZXR0aW5nIHdoaWNoIG5lZWRzIGEgcmVzZXQgdG8gYmUgZWZmZWN0aXZlLCBhbmQNCj4gdGhlIHJl c2V0IHdpbGwgYmUgYXBwbGllZCBhY2NvcmRpbmcgdG8gIHRoZSB1c2VyIHNlbGVjdGlvbi4NCj4g Ky8vDQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEVuYWJsZSB0aGUgc2V0dXAgYnJvd3NlciByZXNl dCByZW1pbmRlciBmZWF0dXJlLg0KPiArICBUaGlzIHJvdXRpbmUgaXMgdXNlZCBpbiBwbGF0Zm9y bSB0aXAuIElmIHRoZSBwbGF0Zm9ybSBwb2xpY3kgbmVlZCB0aGUgZmVhdHVyZSwNCj4gdXNlIHRo ZSByb3V0aW5lIHRvIGVuYWJsZSBpdC4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkN Cj4gK0VuYWJsZVJlc2V0UmVtaW5kZXJGZWF0dXJlICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7 DQo+ICsgIG1GZWF0dXJlclN3aXRjaCA9IFRSVUU7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ ICsgIERpc2FibGUgdGhlIHNldHVwIGJyb3dzZXIgcmVzZXQgcmVtaW5kZXIgZmVhdHVyZS4NCj4g KyAgVGhpcyByb3V0aW5lIGlzIHVzZWQgaW4gcGxhdGZvcm0gdGlwLiBJZiB0aGUgcGxhdGZvcm0g cG9saWN5IGRvIG5vdCB3YW50IHRoZQ0KPiBmZWF0dXJlLCB1c2UgdGhlIHJvdXRpbmUgdG8gZGlz YWJsZSBpdC4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0Rpc2FibGVSZXNl dFJlbWluZGVyRmVhdHVyZSAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiArICBtRmVhdHVy ZXJTd2l0Y2ggPSBGQUxTRTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgUmVjb3JkIHRo ZSBpbmZvIHRoYXQgIGEgcmVzZXQgaXMgcmVxdWlyZWQuDQo+ICsgIEEgIG1vZHVsZSBib29sZWFu IHZhcmlhYmxlIGlzIHVzZWQgdG8gcmVjb3JkIHdoZXRoZXIgYSByZXNldCBpcyByZXF1aXJlZC4N Cj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0VuYWJsZVJlc2V0UmVxdWlyZWQg KA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgbVJlc2V0UmVxdWlyZWQgPSBUUlVFOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBSZWNvcmQgdGhlIGluZm8gdGhhdCAgbm8gcmVz ZXQgaXMgcmVxdWlyZWQuDQo+ICsgIEEgIG1vZHVsZSBib29sZWFuIHZhcmlhYmxlIGlzIHVzZWQg dG8gcmVjb3JkIHdoZXRoZXIgYSByZXNldCBpcyByZXF1aXJlZC4NCj4gKw0KPiArKiovDQo+ICtW T0lEDQo+ICtFRklBUEkNCj4gK0Rpc2FibGVSZXNldFJlcXVpcmVkICgNCj4gKyAgVk9JRA0KPiAr ICApDQo+ICt7DQo+ICsgIG1SZXNldFJlcXVpcmVkID0gRkFMU0U7DQo+ICt9DQo+ICsNCj4gKw0K PiArLyoqDQo+ICsgIENoZWNrIHdoZXRoZXIgcGxhdGZvcm0gcG9saWN5IGVuYWJsZSB0aGUgcmVz ZXQgcmVtaW5kZXIgZmVhdHVyZS4gVGhlDQo+IGRlZmF1bHQgaXMgZW5hYmxlZC4NCj4gKw0KPiAr KiovDQo+ICtCT09MRUFODQo+ICtFRklBUEkNCj4gK0lzUmVzZXRSZW1pbmRlckZlYXR1cmVFbmFi bGUgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgcmV0dXJuIG1GZWF0dXJlclN3aXRj aDsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgQ2hlY2sgaWYgIHVzZXIgY2hhbmdlZCBh bnkgb3B0aW9uIHNldHRpbmcgd2hpY2ggbmVlZHMgYSBzeXN0ZW0gcmVzZXQgdG8gYmUNCj4gZWZm ZWN0aXZlLg0KPiArDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0VGSUFQSQ0KPiArSXNSZXNldFJl cXVpcmVkICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIHJldHVybiBtUmVzZXRSZXF1 aXJlZDsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgQ2hlY2sgd2hldGhlciBhIHJlc2V0 IGlzIG5lZWRlZCwgYW5kIGZpbmlzaCB0aGUgcmVzZXQgcmVtaW5kZXIgZmVhdHVyZS4NCj4gKyAg SWYgYSByZXNldCBpcyBuZWVkZWQsIFBvcHVwIGEgbWVudSB0byBub3RpY2UgdXNlciwgYW5kIGZp bmlzaCB0aGUgZmVhdHVyZQ0KPiArICBhY2NvcmRpbmcgdG8gdGhlIHVzZXIgc2VsZWN0aW9uLg0K PiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArU2V0dXBSZXNldFJlbWluZGVyICgN Cj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9JTlBVVF9LRVkgICAgICAgICAgICAg ICAgIEtleTsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgKlN0cmluZ0J1ZmZl cjE7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICpTdHJpbmdCdWZmZXIyOw0K PiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9jaGVjayBhbnkgcmVzZXQgcmVxdWlyZWQgY2hhbmdl IGlzIGFwcGxpZWQ/IGlmIHllcywgcmVzZXQgc3lzdGVtDQo+ICsgIC8vDQo+ICsgIGlmIChJc1Jl c2V0UmVtaW5kZXJGZWF0dXJlRW5hYmxlICgpKSB7DQo+ICsgICAgaWYgKElzUmVzZXRSZXF1aXJl ZCAoKSkgew0KPiArDQo+ICsgICAgICBTdHJpbmdCdWZmZXIxID0gQWxsb2NhdGVaZXJvUG9vbCAo TUFYX1NUUklOR19MRU4gKiBzaXplb2YgKENIQVIxNikpOw0KPiArICAgICAgQVNTRVJUIChTdHJp bmdCdWZmZXIxICE9IE5VTEwpOw0KPiArICAgICAgU3RyaW5nQnVmZmVyMiA9IEFsbG9jYXRlWmVy b1Bvb2wgKE1BWF9TVFJJTkdfTEVOICogc2l6ZW9mIChDSEFSMTYpKTsNCj4gKyAgICAgIEFTU0VS VCAoU3RyaW5nQnVmZmVyMiAhPSBOVUxMKTsNCj4gKyAgICAgIFN0ckNweSAoU3RyaW5nQnVmZmVy MSwgTCJDb25maWd1cmF0aW9uIGNoYW5nZWQuIFJlc2V0IHRvIGFwcGx5IGl0IE5vdy4iKTsNCj4g KyAgICAgIFN0ckNweSAoU3RyaW5nQnVmZmVyMiwgTCJQcmVzcyBFTlRFUiB0byByZXNldCIpOw0K PiArICAgICAgLy8NCj4gKyAgICAgIC8vIFBvcHVwIGEgbWVudSB0byBub3RpY2UgdXNlcg0KPiAr ICAgICAgLy8NCj4gKyAgICAgIGRvIHsNCj4gKyAgICAgICAgQ3JlYXRlUG9wVXAgKEVGSV9MSUdI VEdSQVkgfCBFRklfQkFDS0dST1VORF9CTFVFLCAmS2V5LA0KPiBTdHJpbmdCdWZmZXIxLCBTdHJp bmdCdWZmZXIyLCBOVUxMKTsNCj4gKyAgICAgIH0gd2hpbGUgKEtleS5Vbmljb2RlQ2hhciAhPSBD SEFSX0NBUlJJQUdFX1JFVFVSTik7DQo+ICsNCj4gKyAgICAgIEZyZWVQb29sIChTdHJpbmdCdWZm ZXIxKTsNCj4gKyAgICAgIEZyZWVQb29sIChTdHJpbmdCdWZmZXIyKTsNCj4gKw0KPiArICAgICAg Z1JULT5SZXNldFN5c3RlbSAoRWZpUmVzZXRDb2xkLCBFRklfU1VDQ0VTUywgMCwgTlVMTCk7DQo+ ICsgICAgfQ0KPiArICB9DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBHZXQgdGhlIGhlYWRlcnMg KGRvcywgaW1hZ2UsIG9wdGlvbmFsIGhlYWRlcikgZnJvbSBhbiBpbWFnZQ0KPiArDQo+ICsgIEBw YXJhbSAgRGV2aWNlICAgICAgICAgICAgICAgIFNpbXBsZUZpbGVTeXN0ZW0gZGV2aWNlIGhhbmRs ZQ0KPiArICBAcGFyYW0gIEZpbGVOYW1lICAgICAgICAgICAgICBGaWxlIG5hbWUgZm9yIHRoZSBp bWFnZQ0KPiArICBAcGFyYW0gIERvc0hlYWRlciAgICAgICAgICAgICBQb2ludGVyIHRvIGRvcyBo ZWFkZXINCj4gKyAgQHBhcmFtICBIZHIgICAgICAgICAgICAgICAgICAgVGhlIGJ1ZmZlciBpbiB3 aGljaCB0byByZXR1cm4gdGhlIFBFMzIsIFBFMzIrLCBvciBURQ0KPiBoZWFkZXIuDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgU3VjY2Vzc2Z1bGx5IGdldCB0aGUgbWFj aGluZSB0eXBlLg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICBUaGUgZmlsZSBp cyBub3QgZm91bmQuDQo+ICsgIEByZXR2YWwgRUZJX0xPQURfRVJST1IgICAgICAgIEZpbGUgaXMg bm90IGEgdmFsaWQgaW1hZ2UgZmlsZS4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK0Jkc0xpYkdldEltYWdlSGVhZGVyICgNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAg ICAgICAgICAgICAgICBEZXZpY2UsDQo+ICsgIElOICBDSEFSMTYgICAgICAgICAgICAgICAgICAg ICAgKkZpbGVOYW1lLA0KPiArICBPVVQgRUZJX0lNQUdFX0RPU19IRUFERVIgICAgICAgICpEb3NI ZWFkZXIsDQo+ICsgIE9VVCBFRklfSU1BR0VfT1BUSU9OQUxfSEVBREVSX1BUUl9VTklPTiAgIEhk cg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgIFN0 YXR1czsNCj4gKyAgRUZJX1NJTVBMRV9GSUxFX1NZU1RFTV9QUk9UT0NPTCAgKlZvbHVtZTsNCj4g KyAgRUZJX0ZJTEVfSEFORExFICAgICAgICAgICAgICAgICAgUm9vdDsNCj4gKyAgRUZJX0ZJTEVf SEFORExFICAgICAgICAgICAgICAgICAgVGhpc0ZpbGU7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJ1ZmZlclNpemU7DQo+ICsgIFVJTlQ2NCAgICAgICAgICAgICAgICAg ICAgICAgICAgIEZpbGVTaXplOw0KPiArICBFRklfRklMRV9JTkZPICAgICAgICAgICAgICAgICAg ICAqSW5mbzsNCj4gKw0KPiArICBSb290ICAgICA9IE5VTEw7DQo+ICsgIFRoaXNGaWxlID0gTlVM TDsNCj4gKyAgLy8NCj4gKyAgLy8gSGFuZGxlIHRoZSBmaWxlIHN5c3RlbSBpbnRlcmZhY2UgdG8g dGhlIGRldmljZQ0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkhhbmRsZVByb3RvY29sICgN Cj4gKyAgICAgICAgICAgICAgICAgIERldmljZSwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZp U2ltcGxlRmlsZVN5c3RlbVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIChWT0lE ICopICZWb2x1bWUNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCj4gKyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMg PSBWb2x1bWUtPk9wZW5Wb2x1bWUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgVm9sdW1lLA0K PiArICAgICAgICAgICAgICAgICAgICAgJlJvb3QNCj4gKyAgICAgICAgICAgICAgICAgICAgICk7 DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBSb290ID0gTlVMTDsNCj4g KyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKyAgQVNTRVJUIChSb290ICE9IE5VTEwpOw0KPiAr ICBTdGF0dXMgPSBSb290LT5PcGVuIChSb290LCAmVGhpc0ZpbGUsIEZpbGVOYW1lLCBFRklfRklM RV9NT0RFX1JFQUQsIDApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAg Z290byBEb25lOw0KPiArICB9DQo+ICsgIEFTU0VSVCAoVGhpc0ZpbGUgIT0gTlVMTCk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gR2V0IGZpbGUgc2l6ZQ0KPiArICAvLw0KPiArICBCdWZmZXJTaXpl ICA9IFNJWkVfT0ZfRUZJX0ZJTEVfSU5GTyArIDIwMDsNCj4gKyAgZG8gew0KPiArICAgIEluZm8g ICA9IE5VTEw7DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5BbGxvY2F0ZVBvb2wgKEVmaUJvb3RTZXJ2 aWNlc0RhdGEsIEJ1ZmZlclNpemUsIChWT0lEICoqKQ0KPiAmSW5mbyk7DQo+ICsgICAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgZ290byBEb25lOw0KPiArICAgIH0NCj4gKyAg ICBTdGF0dXMgPSBUaGlzRmlsZS0+R2V0SW5mbyAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgVGhpc0ZpbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlGaWxlSW5mb0d1 aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlclNpemUsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgSW5mbw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAg IH0NCj4gKyAgICBpZiAoU3RhdHVzICE9IEVGSV9CVUZGRVJfVE9PX1NNQUxMKSB7DQo+ICsgICAg ICBGcmVlUG9vbCAoSW5mbyk7DQo+ICsgICAgICBnb3RvIERvbmU7DQo+ICsgICAgfQ0KPiArICAg IEZyZWVQb29sIChJbmZvKTsNCj4gKyAgfSB3aGlsZSAoVFJVRSk7DQo+ICsNCj4gKyAgRmlsZVNp emUgPSBJbmZvLT5GaWxlU2l6ZTsNCj4gKyAgRnJlZVBvb2wgKEluZm8pOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFJlYWQgZG9zIGhlYWRlcg0KPiArICAvLw0KPiArICBCdWZmZXJTaXplID0gc2l6 ZW9mIChFRklfSU1BR0VfRE9TX0hFQURFUik7DQo+ICsgIFN0YXR1cyA9IFRoaXNGaWxlLT5SZWFk IChUaGlzRmlsZSwgJkJ1ZmZlclNpemUsIERvc0hlYWRlcik7DQo+ICsgIGlmIChFRklfRVJST1Ig KFN0YXR1cykgfHwNCj4gKyAgICAgIEJ1ZmZlclNpemUgPCBzaXplb2YgKEVGSV9JTUFHRV9ET1Nf SEVBREVSKSB8fA0KPiArICAgICAgRmlsZVNpemUgPD0gRG9zSGVhZGVyLT5lX2xmYW5ldyB8fA0K PiArICAgICAgRG9zSGVhZGVyLT5lX21hZ2ljICE9IEVGSV9JTUFHRV9ET1NfU0lHTkFUVVJFKSB7 DQo+ICsgICAgU3RhdHVzID0gRUZJX0xPQURfRVJST1I7DQo+ICsgICAgZ290byBEb25lOw0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTW92ZSB0byBQRSBzaWduYXR1cmUNCj4gKyAgLy8N Cj4gKyAgU3RhdHVzID0gVGhpc0ZpbGUtPlNldFBvc2l0aW9uIChUaGlzRmlsZSwgRG9zSGVhZGVy LT5lX2xmYW5ldyk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBTdGF0 dXMgPSBFRklfTE9BRF9FUlJPUjsNCj4gKyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4gKw0KPiAr ICAvLw0KPiArICAvLyBSZWFkIGFuZCBjaGVjayBQRSBzaWduYXR1cmUNCj4gKyAgLy8NCj4gKyAg QnVmZmVyU2l6ZSA9IHNpemVvZiAoRUZJX0lNQUdFX09QVElPTkFMX0hFQURFUl9VTklPTik7DQo+ ICsgIFN0YXR1cyA9IFRoaXNGaWxlLT5SZWFkIChUaGlzRmlsZSwgJkJ1ZmZlclNpemUsIEhkci5Q ZTMyKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8fA0KPiArICAgICAgQnVmZmVyU2l6 ZSA8IHNpemVvZiAoRUZJX0lNQUdFX09QVElPTkFMX0hFQURFUl9VTklPTikgfHwNCj4gKyAgICAg IEhkci5QZTMyLT5TaWduYXR1cmUgIT0gRUZJX0lNQUdFX05UX1NJR05BVFVSRSkgew0KPiArICAg IFN0YXR1cyA9IEVGSV9MT0FEX0VSUk9SOw0KPiArICAgIGdvdG8gRG9uZTsNCj4gKyAgfQ0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIENoZWNrIFBFMzIgb3IgUEUzMisgbWFnaWMNCj4gKyAgLy8NCj4g KyAgaWYgKEhkci5QZTMyLT5PcHRpb25hbEhlYWRlci5NYWdpYyAhPQ0KPiBFRklfSU1BR0VfTlRf T1BUSU9OQUxfSERSMzJfTUFHSUMgJiYNCj4gKyAgICAgIEhkci5QZTMyLT5PcHRpb25hbEhlYWRl ci5NYWdpYyAhPQ0KPiBFRklfSU1BR0VfTlRfT1BUSU9OQUxfSERSNjRfTUFHSUMpIHsNCj4gKyAg ICBTdGF0dXMgPSBFRklfTE9BRF9FUlJPUjsNCj4gKyAgICBnb3RvIERvbmU7DQo+ICsgIH0NCj4g Kw0KPiArIERvbmU6DQo+ICsgIGlmIChUaGlzRmlsZSAhPSBOVUxMKSB7DQo+ICsgICAgVGhpc0Zp bGUtPkNsb3NlIChUaGlzRmlsZSk7DQo+ICsgIH0NCj4gKyAgaWYgKFJvb3QgIT0gTlVMTCkgew0K PiArICAgIFJvb3QtPkNsb3NlIChSb290KTsNCj4gKyAgfQ0KPiArICByZXR1cm4gU3RhdHVzOw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyByb3V0aW5lIGFkanVzdCB0aGUgbWVtb3J5IGlu Zm9ybWF0aW9uIGZvciBkaWZmZXJlbnQgbWVtb3J5IHR5cGUNCj4gYW5kDQo+ICsgIHNhdmUgdGhl bSBpbnRvIHRoZSB2YXJpYWJsZXMgZm9yIG5leHQgYm9vdC4NCj4gKyoqLw0KPiArVk9JRA0KPiAr QmRzU2V0TWVtb3J5VHlwZUluZm9ybWF0aW9uVmFyaWFibGUgKA0KPiArICBWT0lEDQo+ICsgICkN Cj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVG SV9NRU1PUllfVFlQRV9JTkZPUk1BVElPTiAgKlByZXZpb3VzTWVtb3J5VHlwZUluZm9ybWF0aW9u Ow0KPiArICBFRklfTUVNT1JZX1RZUEVfSU5GT1JNQVRJT04gICpDdXJyZW50TWVtb3J5VHlwZUlu Zm9ybWF0aW9uOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlU2l6 ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4gKyAgVUlOVE4g ICAgICAgICAgICAgICAgICAgICAgICBJbmRleDE7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgICAgUHJldmlvdXM7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgQ3Vy cmVudDsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICBOZXh0Ow0KPiArICBFRklf SE9CX0dVSURfVFlQRSAgICAgICAgICAgICpHdWlkSG9iOw0KPiArICBCT09MRUFOICAgICAgICAg ICAgICAgICAgICAgIE1lbW9yeVR5cGVJbmZvcm1hdGlvbk1vZGlmaWVkOw0KPiArICBCT09MRUFO ICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVR5cGVJbmZvcm1hdGlvblZhcmlhYmxlRXhpc3Rz Ow0KPiArICBFRklfQk9PVF9NT0RFICAgICAgICAgICAgICAgIEJvb3RNb2RlOw0KPiArDQo+ICsg IE1lbW9yeVR5cGVJbmZvcm1hdGlvbk1vZGlmaWVkICAgICAgID0gRkFMU0U7DQo+ICsgIE1lbW9y eVR5cGVJbmZvcm1hdGlvblZhcmlhYmxlRXhpc3RzID0gRkFMU0U7DQo+ICsNCj4gKw0KPiArICBC b290TW9kZSA9IEdldEJvb3RNb2RlSG9iICgpOw0KPiArICAvLw0KPiArICAvLyBJbiBCT09UX0lO X1JFQ09WRVJZX01PREUsIFZhcmlhYmxlIHJlZ2lvbiBpcyBub3QgcmVsaWFibGUuDQo+ICsgIC8v DQo+ICsgIGlmIChCb290TW9kZSA9PSBCT09UX0lOX1JFQ09WRVJZX01PREUpIHsNCj4gKyAgICBy ZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBPbmx5IGNoZWNrIHRoZSB0aGUg TWVtb3J5IFR5cGUgSW5mb3JtYXRpb24gdmFyaWFibGUgaW4gdGhlIGJvb3QgbW9kZQ0KPiArICAv LyBvdGhlciB0aGFuIEJPT1RfV0lUSF9ERUZBVUxUX1NFVFRJTkdTIGJlY2F1c2UgdGhlIE1lbW9y eSBUeXBlDQo+ICsgIC8vIEluZm9ybWF0aW9uIGlzIG5vdCB2YWxpZCBpbiB0aGlzIGJvb3QgbW9k ZS4NCj4gKyAgLy8NCj4gKyAgaWYgKEJvb3RNb2RlICE9IEJPT1RfV0lUSF9ERUZBVUxUX1NFVFRJ TkdTKSB7DQo+ICsgICAgVmFyaWFibGVTaXplID0gMDsNCj4gKyAgICBTdGF0dXMgPSBnUlQtPkdl dFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgRUZJX01FTU9SWV9UWVBFX0lORk9S TUFUSU9OX1ZBUklBQkxFX05BTUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpTWVtb3J5 VHlwZUluZm9ybWF0aW9uR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgJlZhcmlhYmxlU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAg TlVMTA0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmIChTdGF0dXMgPT0gRUZJ X0JVRkZFUl9UT09fU01BTEwpIHsNCj4gKyAgICAgIE1lbW9yeVR5cGVJbmZvcm1hdGlvblZhcmlh YmxlRXhpc3RzID0gVFJVRTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBSZXRyaWV2ZSB0aGUgY3VycmVudCBtZW1vcnkgdXNhZ2Ugc3RhdGlzdGljcy4gIElmIHRoZXkg YXJlIG5vdCBmb3VuZCwNCj4gdGhlbg0KPiArICAvLyBubyBhZGp1c3RtZW50cyBjYW4gYmUgbWFk ZSB0byB0aGUgTWVtb3J5IFR5cGUgSW5mb3JtYXRpb24gdmFyaWFibGUuDQo+ICsgIC8vDQo+ICsg IFN0YXR1cyA9IEVmaUdldFN5c3RlbUNvbmZpZ3VyYXRpb25UYWJsZSAoDQo+ICsgICAgICAgICAg ICAgJmdFZmlNZW1vcnlUeXBlSW5mb3JtYXRpb25HdWlkLA0KPiArICAgICAgICAgICAgIChWT0lE ICoqKSAmQ3VycmVudE1lbW9yeVR5cGVJbmZvcm1hdGlvbg0KPiArICAgICAgICAgICAgICk7DQo+ ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgQ3VycmVudE1lbW9yeVR5cGVJbmZvcm1hdGlv biA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gR2V0IHRoZSBNZW1vcnkgVHlwZSBJbmZvcm1hdGlvbiBzZXR0aW5ncyBmcm9tIEhvYiBpZiB0 aGV5IGV4aXN0LA0KPiArICAvLyBQRUkgaXMgcmVzcG9uc2libGUgZm9yIGdldHRpbmcgdGhlbSBm cm9tIHZhcmlhYmxlIGFuZCBidWlsZCBhIEhvYiB0byBzYXZlDQo+IHRoZW0uDQo+ICsgIC8vIElm IHRoZSBwcmV2aW91cyBNZW1vcnkgVHlwZSBJbmZvcm1hdGlvbiBpcyBub3QgYXZhaWxhYmxlLCB0 aGVuIHNldA0KPiBkZWZhdWx0cw0KPiArICAvLw0KPiArICBHdWlkSG9iID0gR2V0Rmlyc3RHdWlk SG9iICgmZ0VmaU1lbW9yeVR5cGVJbmZvcm1hdGlvbkd1aWQpOw0KPiArICBpZiAoR3VpZEhvYiA9 PSBOVUxMKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiBQbGF0Zm9ybSBoYXMgbm90IGJ1aWx0 IE1lbW9yeSBUeXBlIEluZm8gaW50byB0aGUgSG9iLCBqdXN0IHJldHVybi4NCj4gKyAgICAvLw0K PiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArICBQcmV2aW91c01lbW9yeVR5cGVJbmZvcm1hdGlv biA9IEdFVF9HVUlEX0hPQl9EQVRBIChHdWlkSG9iKTsNCj4gKyAgVmFyaWFibGVTaXplID0gR0VU X0dVSURfSE9CX0RBVEFfU0laRSAoR3VpZEhvYik7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXNl IGEgaGV1cmlzdGljIHRvIGFkanVzdCB0aGUgTWVtb3J5IFR5cGUgSW5mb3JtYXRpb24gZm9yIHRo ZSBuZXh0DQo+IGJvb3QNCj4gKyAgLy8NCj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAiTWVtb3J5 ICBQcmV2aW91cyAgQ3VycmVudCAgICBOZXh0ICAgXG4iKSk7DQo+ICsgIERFQlVHICgoRUZJX0Rf SU5GTywgIiBUeXBlICAgIFBhZ2VzICAgICBQYWdlcyAgICAgUGFnZXMgIFxuIikpOw0KPiArICBE RUJVRyAoKEVGSV9EX0lORk8sICI9PT09PT0gID09PT09PT09ICA9PT09PT09PSAgPT09PT09PT1c biIpKTsNCj4gKw0KPiArICBmb3IgKEluZGV4ID0gMDsgUHJldmlvdXNNZW1vcnlUeXBlSW5mb3Jt YXRpb25bSW5kZXhdLlR5cGUgIT0NCj4gRWZpTWF4TWVtb3J5VHlwZTsgSW5kZXgrKykgew0KPiAr DQo+ICsgICAgZm9yIChJbmRleDEgPSAwOyBDdXJyZW50TWVtb3J5VHlwZUluZm9ybWF0aW9uW0lu ZGV4MV0uVHlwZSAhPQ0KPiBFZmlNYXhNZW1vcnlUeXBlOyBJbmRleDErKykgew0KPiArICAgICAg aWYgKFByZXZpb3VzTWVtb3J5VHlwZUluZm9ybWF0aW9uW0luZGV4XS5UeXBlID09DQo+IEN1cnJl bnRNZW1vcnlUeXBlSW5mb3JtYXRpb25bSW5kZXgxXS5UeXBlKSB7DQo+ICsgICAgICAgIGJyZWFr Ow0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBpZiAoQ3VycmVudE1lbW9yeVR5cGVJbmZv cm1hdGlvbltJbmRleDFdLlR5cGUgPT0NCj4gRWZpTWF4TWVtb3J5VHlwZSkgew0KPiArICAgICAg Y29udGludWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBQcmV2aW91cyBp cyB0aGUgbnVtYmVyIG9mIHBhZ2VzIHByZS1hbGxvY2F0ZWQNCj4gKyAgICAvLyBDdXJyZW50IGlz IHRoZSBudW1iZXIgb2YgcGFnZXMgYWN0dWFsbHkgbmVlZGVkDQo+ICsgICAgLy8NCj4gKyAgICBQ cmV2aW91cyA9IFByZXZpb3VzTWVtb3J5VHlwZUluZm9ybWF0aW9uW0luZGV4XS5OdW1iZXJPZlBh Z2VzOw0KPiArICAgIEN1cnJlbnQgID0gQ3VycmVudE1lbW9yeVR5cGVJbmZvcm1hdGlvbltJbmRl eDFdLk51bWJlck9mUGFnZXM7DQo+ICsgICAgTmV4dCAgICAgPSBQcmV2aW91czsNCj4gKw0KPiAr ICAgIC8vDQo+ICsgICAgLy8gSW5jb25zaXN0ZW50IE1lbW9yeSBSZXNlcnZlZCBhY3Jvc3MgYm9v dGluZ3MgbWF5IGxlYWQgdG8gUzQgZmFpbA0KPiArICAgIC8vIFdyaXRlIG5leHQgdmFyaWJsZSB0 byAxMjUlICogY3VycmVudCB3aGVuIHRoZSBwcmUtYWxsb2NhdGVkIG1lbW9yeSBpczoNCj4gKyAg ICAvLyAgMS4gTW9yZSB0aGFuIDE1MCUgb2YgbmVlZGVkIG1lbW9yeSBhbmQgYm9vdCBtb2RlIGlz DQo+IEJPT1RfV0lUSF9ERUZBVUxUX1NFVFRJTkcNCj4gKyAgICAvLyAgMi4gTGVzcyB0aGFuIHRo ZSBuZWVkZWQgbWVtb3J5DQo+ICsgICAgLy8NCj4gKyAgICBpZiAoKEN1cnJlbnQgKyAoQ3VycmVu dCA+PiAxKSkgPCBQcmV2aW91cykgew0KPiArICAgICAgaWYgKEJvb3RNb2RlID09IEJPT1RfV0lU SF9ERUZBVUxUX1NFVFRJTkdTKSB7DQo+ICsgICAgICAgIE5leHQgPSBDdXJyZW50ICsgKEN1cnJl bnQgPj4gMik7DQo+ICsgICAgICB9DQo+ICsgICAgfSBlbHNlIGlmIChDdXJyZW50ID4gUHJldmlv dXMpIHsNCj4gKyAgICAgIE5leHQgPSBDdXJyZW50ICsgKEN1cnJlbnQgPj4gMik7DQo+ICsgICAg fQ0KPiArICAgIGlmIChOZXh0ID4gMCAmJiBOZXh0IDwgNCkgew0KPiArICAgICAgTmV4dCA9IDQ7 DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKE5leHQgIT0gUHJldmlvdXMpIHsNCj4gKyAgICAg IFByZXZpb3VzTWVtb3J5VHlwZUluZm9ybWF0aW9uW0luZGV4XS5OdW1iZXJPZlBhZ2VzID0gTmV4 dDsNCj4gKyAgICAgIE1lbW9yeVR5cGVJbmZvcm1hdGlvbk1vZGlmaWVkID0gVFJVRTsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICIgICUwMnggICAgJTA4eCAgJTA4 eCAgJTA4eFxuIiwNCj4gUHJldmlvdXNNZW1vcnlUeXBlSW5mb3JtYXRpb25bSW5kZXhdLlR5cGUs IFByZXZpb3VzLCBDdXJyZW50LCBOZXh0KSk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBJZiBhbnkgY2hhbmdlcyB3ZXJlIG1hZGUgdG8gdGhlIE1lbW9yeSBUeXBlIEluZm9ybWF0aW9u IHNldHRpbmdzLA0KPiB0aGVuIHNldCB0aGUgbmV3IHZhcmlhYmxlIHZhbHVlOw0KPiArICAvLyBP ciBjcmVhdGUgdGhlIHZhcmlhYmxlIGluIGZpcnN0IGJvb3QuDQo+ICsgIC8vDQo+ICsgIGlmIChN ZW1vcnlUeXBlSW5mb3JtYXRpb25Nb2RpZmllZA0KPiB8fCAhTWVtb3J5VHlwZUluZm9ybWF0aW9u VmFyaWFibGVFeGlzdHMpIHsNCj4gKyAgICBTdGF0dXMgPSBTZXRWYXJpYWJsZUFuZFJlcG9ydFN0 YXR1c0NvZGVPbkVycm9yICgNCj4gKyAgICAgICAgICAgICAgIEVGSV9NRU1PUllfVFlQRV9JTkZP Uk1BVElPTl9WQVJJQUJMRV9OQU1FLA0KPiArICAgICAgICAgICAgICAgJmdFZmlNZW1vcnlUeXBl SW5mb3JtYXRpb25HdWlkLA0KPiArICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX05PTl9WT0xB VElMRSAgfA0KPiBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTLA0KPiArICAgICAgICAg ICAgICAgVmFyaWFibGVTaXplLA0KPiArICAgICAgICAgICAgICAgUHJldmlvdXNNZW1vcnlUeXBl SW5mb3JtYXRpb24NCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICBpZiAoIUVGSV9F UlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIElmIHRoZSBNZW1vcnkg VHlwZSBJbmZvcm1hdGlvbiBzZXR0aW5ncyBoYXZlIGJlZW4gbW9kaWZpZWQsIHRoZW4NCj4gcmVz ZXQgdGhlIHBsYXRmb3JtDQo+ICsgICAgICAvLyBzbyB0aGUgbmV3IE1lbW9yeSBUeXBlIEluZm9y bWF0aW9uIHNldHRpbmcgd2lsbCBiZSB1c2VkIHRvDQo+IGd1YXJhbnRlZSB0aGF0IGFuIFM0DQo+ ICsgICAgICAvLyBlbnRyeS9yZXN1bWUgY3ljbGUgd2lsbCBub3QgZmFpbC4NCj4gKyAgICAgIC8v DQo+ICsgICAgICBpZiAoTWVtb3J5VHlwZUluZm9ybWF0aW9uTW9kaWZpZWQgJiYgUGNkR2V0Qm9v bA0KPiAoUGNkUmVzZXRPbk1lbW9yeVR5cGVJbmZvcm1hdGlvbkNoYW5nZSkpIHsNCj4gKyAgICAg ICAgREVCVUcgKChFRklfRF9JTkZPLCAiTWVtb3J5IFR5cGUgSW5mb3JtYXRpb24gc2V0dGluZ3Mg Y2hhbmdlLg0KPiBXYXJtIFJlc2V0ISEhXG4iKSk7DQo+ICsgICAgICAgIGdSVC0+UmVzZXRTeXN0 ZW0gKEVmaVJlc2V0V2FybSwgRUZJX1NVQ0NFU1MsIDAsIE5VTEwpOw0KPiArICAgICAgfQ0KPiAr ICAgIH0gZWxzZSB7DQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiTWVtb3J5IFR5cGUg SW5mb3JtYXRpb24gc2V0dGluZ3MgY2Fubm90IGJlDQo+IHNhdmVkLiBPUyBTNCBtYXkgZmFpbCFc biIpKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgcm91 dGluZSBpcyBrZXB0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5Lg0KPiArKiovDQo+ICtWT0lE DQo+ICtFRklBUEkNCj4gK0Jkc0xpYlNhdmVNZW1vcnlUeXBlSW5mb3JtYXRpb24gKA0KPiArICBW T0lEDQo+ICsgICkNCj4gK3sNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgSWRlbnRpZnkg YSB1c2VyIGFuZCwgaWYgYXV0aGVudGljYXRlZCwgcmV0dXJucyB0aGUgY3VycmVudCB1c2VyIHBy b2ZpbGUNCj4gaGFuZGxlLg0KPiArDQo+ICsgIEBwYXJhbVtvdXRdICBVc2VyICAgICAgICAgICBQ b2ludCB0byB1c2VyIHByb2ZpbGUgaGFuZGxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NF U1MgICAgICAgICBVc2VyIGlzIHN1Y2Nlc3NmdWxseSBpZGVudGlmaWVkLCBvciB1c2VyDQo+IGlk ZW50aWZpY2F0aW9uDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpcyBub3Qgc3Vw cG9ydGVkLg0KPiArICBAcmV0dmFsIEVGSV9BQ0NFU1NfREVOSUVEICAgVXNlciBpcyBub3Qgc3Vj Y2Vzc2Z1bGx5IGlkZW50aWZpZWQNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklB UEkNCj4gK0Jkc0xpYlVzZXJJZGVudGlmeSAoDQo+ICsgIE9VVCBFRklfVVNFUl9QUk9GSUxFX0hB TkRMRSAgICAgICAgICpVc2VyDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfVVNFUl9NQU5BR0VSX1BST1RPQ09M ICAgICAgICAgICAqTWFuYWdlcjsNCj4gKw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3Rv Y29sICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpVXNlck1hbmFnZXJQcm90b2NvbEd1aWQs DQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQg KiopICZNYW5hZ2VyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9S IChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArICB9DQo+ICsNCj4g KyAgcmV0dXJuIE1hbmFnZXItPklkZW50aWZ5IChNYW5hZ2VyLCBVc2VyKTsNCj4gK30NCj4gKw0K PiArLyoqDQo+ICsgIFNldCB0aGUgdmFyaWFibGUgYW5kIHJlcG9ydCB0aGUgZXJyb3IgdGhyb3Vn aCBzdGF0dXMgY29kZSB1cG9uIGZhaWx1cmUuDQo+ICsNCj4gKyAgQHBhcmFtICBWYXJpYWJsZU5h bWUgICAgICAgICAgIEEgTnVsbC10ZXJtaW5hdGVkIHN0cmluZyB0aGF0IGlzIHRoZSBuYW1lIG9m DQo+IHRoZSB2ZW5kb3IncyB2YXJpYWJsZS4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEVhY2ggVmFyaWFibGVOYW1lIGlzIHVuaXF1ZSBmb3IgZWFjaCBWZW5kb3JHdWlkLg0K PiBWYXJpYWJsZU5hbWUgbXVzdA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg Y29udGFpbiAxIG9yIG1vcmUgY2hhcmFjdGVycy4gSWYgVmFyaWFibGVOYW1lIGlzIGFuIGVtcHR5 DQo+IHN0cmluZywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZW4gRUZJ X0lOVkFMSURfUEFSQU1FVEVSIGlzIHJldHVybmVkLg0KPiArICBAcGFyYW0gIFZlbmRvckd1aWQg ICAgICAgICAgICAgQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHZlbmRvci4NCj4gKyAgQHBh cmFtICBBdHRyaWJ1dGVzICAgICAgICAgICAgIEF0dHJpYnV0ZXMgYml0bWFzayB0byBzZXQgZm9y IHRoZSB2YXJpYWJsZS4NCj4gKyAgQHBhcmFtICBEYXRhU2l6ZSAgICAgICAgICAgICAgIFRoZSBz aXplIGluIGJ5dGVzIG9mIHRoZSBEYXRhIGJ1ZmZlci4gVW5sZXNzIHRoZQ0KPiBFRklfVkFSSUFC TEVfQVBQRU5EX1dSSVRFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJ X1ZBUklBQkxFX0FVVEhFTlRJQ0FURURfV1JJVEVfQUNDRVNTLCBvcg0KPiArDQo+IEVGSV9WQVJJ QUJMRV9USU1FX0JBU0VEX0FVVEhFTlRJQ0FURURfV1JJVEVfQUNDRVNTIGF0dHJpYnV0ZSBpcw0K PiBzZXQsIGEgc2l6ZSBvZiB6ZXJvDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBjYXVzZXMgdGhlIHZhcmlhYmxlIHRvIGJlIGRlbGV0ZWQuIFdoZW4gdGhlDQo+IEVGSV9WQVJJ QUJMRV9BUFBFTkRfV1JJVEUgYXR0cmlidXRlIGlzDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzZXQsIHRoZW4gYSBTZXRWYXJpYWJsZSgpIGNhbGwgd2l0aCBhIERhdGFTaXpl IG9mIHplcm8gd2lsbCBub3QNCj4gY2F1c2UgYW55IGNoYW5nZSB0bw0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgdGhlIHZhcmlhYmxlIHZhbHVlICh0aGUgdGltZXN0YW1wIGFz c29jaWF0ZWQgd2l0aCB0aGUNCj4gdmFyaWFibGUgbWF5IGJlIHVwZGF0ZWQgaG93ZXZlcg0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZXZlbiBpZiBubyBuZXcgZGF0YSB2YWx1 ZSBpcyBwcm92aWRlZCxzZWUgdGhlIGRlc2NyaXB0aW9uDQo+IG9mIHRoZQ0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0FVVEhFTlRJQ0FUSU9OXzIgZGVz Y3JpcHRvciBiZWxvdy4gSW4NCj4gdGhpcyBjYXNlIHRoZSBEYXRhU2l6ZSB3aWxsIG5vdA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmUgemVybyBzaW5jZSB0aGUgRUZJX1ZB UklBQkxFX0FVVEhFTlRJQ0FUSU9OXzINCj4gZGVzY3JpcHRvciB3aWxsIGJlIHBvcHVsYXRlZCku DQo+ICsgIEBwYXJhbSAgRGF0YSAgICAgICAgICAgICAgICAgICBUaGUgY29udGVudHMgZm9yIHRo ZSB2YXJpYWJsZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhl IGZpcm13YXJlIGhhcyBzdWNjZXNzZnVsbHkgc3RvcmVkIHRoZQ0KPiB2YXJpYWJsZSBhbmQgaXRz IGRhdGEgYXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRlZmluZWQgYnkg dGhlIEF0dHJpYnV0ZXMuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBBbiBp bnZhbGlkIGNvbWJpbmF0aW9uIG9mIGF0dHJpYnV0ZSBiaXRzLA0KPiBuYW1lLCBhbmQgR1VJRCB3 YXMgc3VwcGxpZWQsIG9yIHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGF0YVNpemUgZXhjZWVkcyB0aGUgbWF4aW11bSBhbGxvd2VkLg0KPiArICBAcmV0dmFsIEVGSV9J TlZBTElEX1BBUkFNRVRFUiAgVmFyaWFibGVOYW1lIGlzIGFuIGVtcHR5IHN0cmluZy4NCj4gKyAg QHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgIE5vdCBlbm91Z2ggc3RvcmFnZSBpcyBhdmFp bGFibGUgdG8gaG9sZA0KPiB0aGUgdmFyaWFibGUgYW5kIGl0cyBkYXRhLg0KPiArICBAcmV0dmFs IEVGSV9ERVZJQ0VfRVJST1IgICAgICAgVGhlIHZhcmlhYmxlIGNvdWxkIG5vdCBiZSByZXRyaWV2 ZWQgZHVlIHRvDQo+IGEgaGFyZHdhcmUgZXJyb3IuDQo+ICsgIEByZXR2YWwgRUZJX1dSSVRFX1BS T1RFQ1RFRCAgICBUaGUgdmFyaWFibGUgaW4gcXVlc3Rpb24gaXMgcmVhZC1vbmx5Lg0KPiArICBA cmV0dmFsIEVGSV9XUklURV9QUk9URUNURUQgICAgVGhlIHZhcmlhYmxlIGluIHF1ZXN0aW9uIGNh bm5vdCBiZQ0KPiBkZWxldGVkLg0KPiArICBAcmV0dmFsIEVGSV9TRUNVUklUWV9WSU9MQVRJT04g VGhlIHZhcmlhYmxlIGNvdWxkIG5vdCBiZSB3cml0dGVuIGR1ZQ0KPiB0byBFRklfVkFSSUFCTEVf QVVUSEVOVElDQVRFRF9XUklURV9BQ0NFU1MNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9yDQo+IEVGSV9WQVJJQUJMRV9USU1FX0JBU0VEX0FVVEhFTlRJQ0FURURfV1JJVEVf QUNFU1MgYmVpbmcgc2V0LCBidXQNCj4gdGhlIEF1dGhJbmZvDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBkb2VzIE5PVCBwYXNzIHRoZSB2YWxpZGF0aW9uIGNoZWNrIGNhcnJp ZWQgb3V0IGJ5IHRoZQ0KPiBmaXJtd2FyZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9V TkQgICAgICAgICAgVGhlIHZhcmlhYmxlIHRyeWluZyB0byBiZSB1cGRhdGVkIG9yDQo+IGRlbGV0 ZWQgd2FzIG5vdCBmb3VuZC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArU2V0VmFyaWFibGVB bmRSZXBvcnRTdGF0dXNDb2RlT25FcnJvciAoDQo+ICsgIElOIENIQVIxNiAgICAgKlZhcmlhYmxl TmFtZSwNCj4gKyAgSU4gRUZJX0dVSUQgICAqVmVuZG9yR3VpZCwNCj4gKyAgSU4gVUlOVDMyICAg ICBBdHRyaWJ1dGVzLA0KPiArICBJTiBVSU5UTiAgICAgIERhdGFTaXplLA0KPiArICBJTiBWT0lE ICAgICAgICpEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAg ICAgU3RhdHVzOw0KPiArICBFREtJSV9TRVRfVkFSSUFCTEVfU1RBVFVTICAqU2V0VmFyaWFibGVT dGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgIE5hbWVTaXplOw0KPiArDQo+ ICsgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICAgICAgVmFy aWFibGVOYW1lLA0KPiArICAgICAgICAgICAgICAgICAgVmVuZG9yR3VpZCwNCj4gKyAgICAgICAg ICAgICAgICAgIEF0dHJpYnV0ZXMsDQo+ICsgICAgICAgICAgICAgICAgICBEYXRhU2l6ZSwNCj4g KyAgICAgICAgICAgICAgICAgIERhdGENCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlm IChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBOYW1lU2l6ZSA9IFN0clNpemUgKFZhcmlh YmxlTmFtZSk7DQo+ICsgICAgU2V0VmFyaWFibGVTdGF0dXMgPSBBbGxvY2F0ZVBvb2wgKHNpemVv ZiAoRURLSUlfU0VUX1ZBUklBQkxFX1NUQVRVUykgKw0KPiBOYW1lU2l6ZSArIERhdGFTaXplKTsN Cj4gKyAgICBpZiAoU2V0VmFyaWFibGVTdGF0dXMgIT0gTlVMTCkgew0KPiArICAgICAgQ29weUd1 aWQgKCZTZXRWYXJpYWJsZVN0YXR1cy0+R3VpZCwgVmVuZG9yR3VpZCk7DQo+ICsgICAgICBTZXRW YXJpYWJsZVN0YXR1cy0+TmFtZVNpemUgICA9IE5hbWVTaXplOw0KPiArICAgICAgU2V0VmFyaWFi bGVTdGF0dXMtPkRhdGFTaXplICAgPSBEYXRhU2l6ZTsNCj4gKyAgICAgIFNldFZhcmlhYmxlU3Rh dHVzLT5TZXRTdGF0dXMgID0gU3RhdHVzOw0KPiArICAgICAgU2V0VmFyaWFibGVTdGF0dXMtPkF0 dHJpYnV0ZXMgPSBBdHRyaWJ1dGVzOw0KPiArICAgICAgQ29weU1lbSAoU2V0VmFyaWFibGVTdGF0 dXMgKyAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGVOYW1lLCBOYW1lU2l6ZSk7 DQo+ICsgICAgICBpZiAoKERhdGEgIT0gTlVMTCkgJiYgKERhdGFTaXplICE9IDApKSB7DQo+ICsg ICAgICAgIENvcHlNZW0gKCgoVUlOVDggKikgKFNldFZhcmlhYmxlU3RhdHVzICsgMSkpICsgTmFt ZVNpemUsIERhdGEsDQo+IERhdGFTaXplKTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgUkVQ T1JUX1NUQVRVU19DT0RFX0VYICgNCj4gKyAgICAgICAgRUZJX0VSUk9SX0NPREUsDQo+ICsgICAg ICAgIFBjZEdldDMyIChQY2RFcnJvckNvZGVTZXRWYXJpYWJsZSksDQo+ICsgICAgICAgIDAsDQo+ ICsgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICZnRWRraWlTdGF0dXNDb2RlRGF0YVR5cGVWYXJp YWJsZUd1aWQsDQo+ICsgICAgICAgIFNldFZhcmlhYmxlU3RhdHVzLA0KPiArICAgICAgICBzaXpl b2YgKEVES0lJX1NFVF9WQVJJQUJMRV9TVEFUVVMpICsgTmFtZVNpemUgKyBEYXRhU2l6ZQ0KPiAr ICAgICAgICApOw0KPiArDQo+ICsgICAgICBGcmVlUG9vbCAoU2V0VmFyaWFibGVTdGF0dXMpOw0K PiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4g ZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJyaWRl L0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpDQo+IGJyYXJ5L0dlbmVyaWNCZHNMaWIvRGV2aWNl UGF0aC5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xpYi9EZXZpY2VQYXRo LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYTBiOWRhODgw ZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL092ZXJyaWRlL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpDQo+IGJyYXJ5L0dlbmVy aWNCZHNMaWIvRGV2aWNlUGF0aC5jDQo+IEBAIC0wLDAgKzEsMjcgQEANCj4gKy8qKiBAZmlsZQ0K PiArICBCRFMgaW50ZXJuYWwgZnVuY3Rpb24gZGVmaW5lIHRoZSBkZWZhdWx0IGRldmljZSBwYXRo IHN0cmluZywgaXQgY2FuIGJlDQo+ICsgIHJlcGxhY2VkIGJ5IHBsYXRmb3JtIGRldmljZSBwYXRo Lg0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgLSAyMDEzLCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgIkludGVybmFs QmRzTGliLmgiDQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIGNvbnZlcnRzIGFuIGlu cHV0IGRldmljZSBzdHJ1Y3R1cmUgdG8gYSBVbmljb2RlIHN0cmluZy4NCj4gKw0KPiArICBAcGFy YW0gRGV2UGF0aCAgICAgICAgICAgICAgICAgIEEgcG9pbnRlciB0byB0aGUgZGV2aWNlIHBhdGgg c3RydWN0dXJlLg0KPiArDQo+ICsgIEByZXR1cm4gQSBuZXcgYWxsb2NhdGVkIFVuaWNvZGUgc3Ry aW5nIHRoYXQgcmVwcmVzZW50cyB0aGUgZGV2aWNlIHBhdGguDQo+ICsNCj4gKyoqLw0KPiArQ0hB UjE2ICoNCj4gK0VGSUFQSQ0KPiArRGV2aWNlUGF0aFRvU3RyICgNCj4gKyAgSU4gRUZJX0RFVklD RV9QQVRIX1BST1RPQ09MICAgICAqRGV2UGF0aA0KPiArICApDQo+ICt7DQo+ICsgIHJldHVybiBD b252ZXJ0RGV2aWNlUGF0aFRvVGV4dCAoRGV2UGF0aCwgVFJVRSwgVFJVRSk7DQo+ICt9DQo+IGRp ZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVycmlkZS9J bnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGliL0dlbmVyaWNC ZHNMaWIuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUv SW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xpYi9HZW5lcmlj QmRzTGliLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5l M2M4YTZmYTI3DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJh cnkvR2VuZXJpY0Jkc0xpYi9HZW5lcmljQmRzTGliLmluZg0KPiBAQCAtMCwwICsxLDE0MiBAQA0K PiArIyMgQGZpbGUNCj4gKyMgIEdlbmVyYWwgQkRTIGxpYnJhcnkuDQo+ICsjDQo+ICsjICBHZW5l cmFsIEJEUyBkZWZpbmVzIGFuZCBwcm9kdWNlIGdlbmVyYWwgaW50ZXJmYWNlcyBmb3IgcGxhdGZv cm0gQkRTDQo+IGRyaXZlciBpbmNsdWRpbmc6DQo+ICsjICAxKSBCRFMgYm9vdCBwb2xpY3kgaW50 ZXJmYWNlOw0KPiArIyAgMikgQkRTIGJvb3QgZGV2aWNlIGNvbm5lY3QgaW50ZXJmYWNlOw0KPiAr IyAgMykgQkRTIE1pc2MgaW50ZXJmYWNlcyBmb3IgbWFpbnRpbmcgYm9vdCB2YXJpYWJsZSwgb3Vw dXQgc3RyaW5nLCBldGMuDQo+ICsjDQo+ICsjICBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE5LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIyMNCj4gKw0K PiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAw MTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gR2VuZXJpY0Jkc0xp Yg0KPiArICBNT0RVTEVfVU5JX0ZJTEUgICAgICAgICAgICAgICAgPSBHZW5lcmljQmRzTGliLnVu aQ0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSBlNDA1ZWMzMS1jY2FhLTRk ZDQtODNlOC0wYWVjMDE3MDNmN2UNCj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAg ID0gRFhFX0RSSVZFUg0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjAN Cj4gKyAgTElCUkFSWV9DTEFTUyAgICAgICAgICAgICAgICAgID0gR2VuZXJpY0Jkc0xpYnxEWEVf RFJJVkVSDQo+IERYRV9SVU5USU1FX0RSSVZFUiBVRUZJX0FQUExJQ0FUSU9ODQo+ICsgIENPTlNU UlVDVE9SICAgICAgICAgICAgICAgICAgICA9IEdlbmVyaWNCZHNMaWJDb25zdHJ1Y3Rvcg0KPiAr DQo+ICsjDQo+ICsjIFRoZSBmb2xsb3dpbmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVyZW5jZSBv bmx5IGFuZCBub3QgcmVxdWlyZWQgYnkgdGhlDQo+IGJ1aWxkIHRvb2xzLg0KPiArIw0KPiArIyAg VkFMSURfQVJDSElURUNUVVJFUyAgICAgICAgICAgPSBJQTMyIFg2NCBFQkMNCj4gKyMNCj4gKw0K PiArW1NvdXJjZXNdDQo+ICsgIERldmljZVBhdGguYw0KPiArICBCZHNDb25uZWN0LmMNCj4gKyAg QmRzTWlzYy5jDQo+ICsgIEJkc0NvbnNvbGUuYw0KPiArICBCZHNCb290LmMNCj4gKyAgSW50ZXJu YWxCZHNMaWIuaA0KPiArICBTdHJpbmcuaA0KPiArICBTdHJpbmcuYw0KPiArICBHZW5lcmljQmRz U3RyaW5ncy51bmkNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0K PiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBJbnRlbEZyYW1ld29ya1Br Zy9JbnRlbEZyYW1ld29ya1BrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cuZGVjDQo+ICsgIFNoZWxsUGtnL1NoZWxsUGtnLmRlYw0KPiAr DQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIERldmljZVBhdGhMaWINCj4gKyAgUGVDb2ZmR2V0 RW50cnlQb2ludExpYg0KPiArICBCYXNlTGliDQo+ICsgIEhvYkxpYg0KPiArICBVZWZpUnVudGlt ZVNlcnZpY2VzVGFibGVMaWINCj4gKyAgRHhlU2VydmljZXNUYWJsZUxpYg0KPiArICBNZW1vcnlB bGxvY2F0aW9uTGliDQo+ICsgIFVlZmlMaWINCj4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGli DQo+ICsgIEJhc2VNZW1vcnlMaWINCj4gKyAgRGVidWdMaWINCj4gKyAgUHJpbnRMaWINCj4gKyAg UGNkTGliDQo+ICsgIFBlcmZvcm1hbmNlTGliDQo+ICsgIFRpbWVyTGliDQo+ICsgIER4ZVNlcnZp Y2VzTGliDQo+ICsgIEhpaUxpYg0KPiArICBSZXBvcnRTdGF0dXNDb2RlTGliDQo+ICsgIE5ldExp Yg0KPiArICBCbXBTdXBwb3J0TGliDQo+ICsNCj4gK1tHdWlkc10NCj4gKyAgIyMgU09NRVRJTUVT X0NPTlNVTUVTICMjIEhPQiAgICAgICAgICMgVGhlIGhvYiBob2xkaW5nIG1lbW9yeSB0eXBlDQo+ IGluZm9ybWF0aW9uDQo+ICsgICMjIFNPTUVUSU1FU19DT05TVU1FUyAjIyBTeXN0ZW1UYWJsZSAj IFRoZSBpZGVudGlmaWVyIG9mIG1lbW9yeQ0KPiB0eXBlIGluZm9ybWF0aW9uIHR5cGUgaW4gc3lz dGVtIHRhYmxlDQo+ICsgICMjIFNPTUVUSU1FU19DT05TVU1FUyAjIyBWYXJpYWJsZTpMIk1lbW9y eVR5cGVJbmZvcm1hdGlvbiINCj4gKyAgIyMgU09NRVRJTUVTX1BST0RVQ0VTICMjIFZhcmlhYmxl OkwiTWVtb3J5VHlwZUluZm9ybWF0aW9uIg0KPiArICBnRWZpTWVtb3J5VHlwZUluZm9ybWF0aW9u R3VpZA0KPiArICAjIyBTT01FVElNRVNfQ09OU1VNRVMgIyMgVmFyaWFibGU6TCJCb290WFhYWCIg ICAgIyBCb290IG9wdGlvbg0KPiB2YXJpYWJsZQ0KPiArICAjIyBTT01FVElNRVNfUFJPRFVDRVMg IyMgVmFyaWFibGU6TCJCb290WFhYWCIgICAgIyBCb290IG9wdGlvbg0KPiB2YXJpYWJsZQ0KPiAr ICAjIyBTT01FVElNRVNfQ09OU1VNRVMgIyMgVmFyaWFibGU6TCJEcml2ZXJYWFhYIiAgIyBEcml2 ZXIgbG9hZA0KPiBvcHRpb24uDQo+ICsgICMjIFNPTUVUSU1FU19QUk9EVUNFUyAjIyBWYXJpYWJs ZTpMIkRyaXZlclhYWFgiICAjIERyaXZlciBsb2FkDQo+IG9wdGlvbi4NCj4gKyAgIyMgU09NRVRJ TUVTX0NPTlNVTUVTICMjIFZhcmlhYmxlOkwiQm9vdE5leHQiICAgICMgTmV4dCBCb290DQo+IE9w dGlvbg0KPiArICAjIyBTT01FVElNRVNfUFJPRFVDRVMgIyMgVmFyaWFibGU6TCJCb290TmV4dCIg ICAgIyBOZXh0IEJvb3QgT3B0aW9uDQo+ICsgICMjIFNPTUVUSU1FU19DT05TVU1FUyAjIyBWYXJp YWJsZTpMIkJvb3RPcmRlciIgICAjIFRoZSBib290IG9wdGlvbg0KPiBhcnJheQ0KPiArICAjIyBT T01FVElNRVNfUFJPRFVDRVMgIyMgVmFyaWFibGU6TCJCb290T3JkZXIiICAgIyBUaGUgYm9vdCBv cHRpb24NCj4gYXJyYXkNCj4gKyAgIyMgU09NRVRJTUVTX0NPTlNVTUVTICMjIFZhcmlhYmxlOkwi RHJpdmVyT3JkZXIiICMgVGhlIGRyaXZlciBvcmRlcg0KPiBsaXN0DQo+ICsgICMjIFNPTUVUSU1F U19DT05TVU1FUyAjIyBWYXJpYWJsZTpMIkNvbkluIiAgICAgICAjIFRoZSBkZXZpY2UgcGF0aCBv Zg0KPiBjb25zb2xlIGluIGRldmljZQ0KPiArICAjIyBTT01FVElNRVNfUFJPRFVDRVMgIyMgVmFy aWFibGU6TCJDb25JbiIgICAgICAgIyBUaGUgZGV2aWNlIHBhdGggb2YNCj4gY29uc29sZSBpbiBk ZXZpY2UNCj4gKyAgIyMgU09NRVRJTUVTX0NPTlNVTUVTICMjIFZhcmlhYmxlOkwiQ29uT3V0IiAg ICAgICMgVGhlIGRldmljZSBwYXRoDQo+IG9mIGNvbnNvbGUgb3V0IGRldmljZQ0KPiArICAjIyBT T01FVElNRVNfUFJPRFVDRVMgIyMgVmFyaWFibGU6TCJDb25PdXQiICAgICAgIyBUaGUgZGV2aWNl IHBhdGggb2YNCj4gY29uc29sZSBvdXQgZGV2aWNlDQo+ICsgICMjIFNPTUVUSU1FU19DT05TVU1F UyAjIyBWYXJpYWJsZTpMIkVyck91dCIgICAgICAjIFRoZSBkZXZpY2UgcGF0aCBvZg0KPiBlcnJv ciBvdXQgZGV2aWNlDQo+ICsgICMjIFNPTUVUSU1FU19QUk9EVUNFUyAjIyBWYXJpYWJsZTpMIkVy ck91dCIgICAgICAjIFRoZSBkZXZpY2UgcGF0aCBvZg0KPiBlcnJvciBvdXQgZGV2aWNlDQo+ICsg ICMjIFNPTUVUSU1FU19QUk9EVUNFUyAjIyBWYXJpYWJsZTpMIkJvb3RDdXJyZW50IiAjIFRoZSBi b290IG9wdGlvbg0KPiBvZiBjdXJyZW50IGJvb3QNCj4gKyAgIyMgU09NRVRJTUVTX1BST0RVQ0VT ICMjIFZhcmlhYmxlOkwiQm9vdE5leHQiICAgICMgVGhlIG51bWJlciBvZg0KPiBuZXh0IGJvb3Qg b3B0aW9uDQo+ICsgIGdFZmlHbG9iYWxWYXJpYWJsZUd1aWQNCj4gKyAgZ0VmaUZpbGVJbmZvR3Vp ZCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUyAjIyBH VUlEDQo+ICsgIGdMYXN0RW51bUxhbmdHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj IyBTT01FVElNRVNfUFJPRFVDRVMgIyMNCj4gVmFyaWFibGU6TCJMYXN0RW51bUxhbmciICMgUGxh dGZvcm0gbGFuZ3VhZ2UgYXQgbGFzdCB0aW1lIGVudW1lcmF0aW9uLg0KPiArICBnSGRCb290RGV2 aWNlUGF0aFZhcmlhYmxHdWlkICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX1BST0RVQ0VT ICMjDQo+IFZhcmlhYmxlOkwiSEREUCIgIyBUaGUgZGV2aWNlIHBhdGggb2YgQm9vdCBmaWxlIG9u IEhhcmQgZGV2aWNlLg0KPiArICBnQmRzTGliU3RyaW5nUGFja2FnZUd1aWQgICAgICAgICAgICAg ICAgICAgICAgIyMgQ09OU1VNRVMgIyMgSElJICMgSElJIFN0cmluZw0KPiBQYWNrYWdlTGlzdCBH dWlkDQo+ICsgICMjIFNPTUVUSU1FU19QUk9EVUNFUyAjIyBWYXJpYWJsZTpMIkxlZ2FjeURldk9y ZGVyIg0KPiArICAjIyBTT01FVElNRVNfQ09OU1VNRVMgIyMgVmFyaWFibGU6TCJMZWdhY3lEZXZP cmRlciINCj4gKyAgZ0VmaUxlZ2FjeURldk9yZGVyVmFyaWFibGVHdWlkDQo+ICsgIGdFZGtpaVN0 YXR1c0NvZGVEYXRhVHlwZVZhcmlhYmxlR3VpZCAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VN RVMNCj4gIyMgR1VJRA0KPiArICBnVWVmaVNoZWxsRmlsZUd1aWQNCj4gKw0KPiArW1Byb3RvY29s c10NCj4gKyAgZ0VmaVNpbXBsZUZpbGVTeXN0ZW1Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICMj IFNPTUVUSU1FU19DT05TVU1FUw0KPiArICBnRWZpTG9hZEZpbGVQcm90b2NvbEd1aWQgICAgICAg ICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ICsgIGdFZmlTaW1wbGVUZXh0 T3V0UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAjIyBDT05TVU1FUw0KPiArICBnRWZpUGNp SW9Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNV TUVTDQo+ICsgIGdFZmlMb2FkZWRJbWFnZVByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAj IyBTT01FVElNRVNfQ09OU1VNRVMNCj4gKyAgZ0VmaVNpbXBsZU5ldHdvcmtQcm90b2NvbEd1aWQg ICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiArICBnRWZpRGVidWdQb3J0 UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ ICsgIGdFZmlTaW1wbGVUZXh0SW5Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAjIyBDT05T VU1FUw0KPiArICBnRWZpQmxvY2tJb1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgICAg IyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ICsgIGdFZmlGaXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1 aWQgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gKyAgZ0VmaUxlZ2FjeUJp b3NQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0K PiArICBnRWZpQ3B1QXJjaFByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgICAgIyMgQ09O U1VNRVMNCj4gKyAgZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAg ICMjIENPTlNVTUVTDQo+ICsgIGdFZmlBY3BpUzNTYXZlUHJvdG9jb2xHdWlkICAgICAgICAgICAg ICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gKyAgZ0VmaUdyYXBoaWNzT3V0cHV0UHJv dG9jb2xHdWlkICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0KPiArICBnRWZp VWdhRHJhd1Byb3RvY29sR3VpZA0KPiB8Z0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVnYUNv bnN1bWVTdXBwb3J0ICMjDQo+IFNPTUVUSU1FU19DT05TVU1FUw0KPiArICBnRWZpT0VNQmFkZ2lu Z1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ ICsgIGdFZmlIaWlGb250UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICAjIyBDT05T VU1FUw0KPiArICBnRWZpVXNlck1hbmFnZXJQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAg IyMgU09NRVRJTUVTX0NPTlNVTUVTDQo+ICsgIGdFZmlVc2JJb1Byb3RvY29sR3VpZCAgICAgICAg ICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gKyAgZ0VmaUJvb3RMb2dv UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FUw0K PiArDQo+ICtbRmVhdHVyZVBjZF0NCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVn YUNvbnN1bWVTdXBwb3J0ICAgICAgICAgICAgICAgICAgICMjDQo+IENPTlNVTUVTDQo+ICsgIGdF ZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJvb3Rsb2dvT25seUVu YWJsZQ0KPiAjIyBDT05TVU1FUw0KPiArDQo+ICtbUGNkXQ0KPiArDQo+IGdFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RSZXNldE9uTWVtb3J5VHlwZUluZm9ybWF0aW9uQw0KPiBoYW5n ZSAjIyBTT01FVElNRVNfQ09OU1VNRVMNCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFByb2dyZXNzQ29kZU9zTG9hZGVyTG9hZCAgIyMNCj4gU09NRVRJTUVTX0NPTlNVTUVT DQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQcm9ncmVzc0NvZGVPc0xv YWRlclN0YXJ0ICMjDQo+IFNPTUVUSU1FU19DT05TVU1FUw0KPiArICBnRWZpTWRlTW9kdWxlUGtn VG9rZW5TcGFjZUd1aWQuUGNkRXJyb3JDb2RlU2V0VmFyaWFibGUgICAgICAjIw0KPiBDT05TVU1F Uw0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVGVzdEtleVVzZWQgICAg ICAgICAgICAgICAgICAgICAgICMjDQo+IENPTlNVTUVTDQo+ICsNCj4gKyMNCj4gKyMgW0Jvb3RN b2RlXQ0KPiArIyAgIFJFQ09WRVJZX0ZVTEwgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVTICMgTWVt b3J5IFR5cGUNCj4gSW5mb3JtYXRpb24gdmFyaWFibGUNCj4gKyMNCj4gKw0KPiBkaWZmIC0tZ2l0 DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFt ZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xpYi9HZW5lcmljQmRzTGliLnVu aQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJyaWRlL0ludGVsRnJh bWV3b3JrTW9kdWxlUGtnL0xpDQo+IGJyYXJ5L0dlbmVyaWNCZHNMaWIvR2VuZXJpY0Jkc0xpYi51 bmkNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYzg1M2QzNDA5 ZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL092ZXJyaWRlL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpDQo+IGJyYXJ5L0dlbmVy aWNCZHNMaWIvR2VuZXJpY0Jkc0xpYi51bmkNCj4gQEAgLTAsMCArMSwxOSBAQA0KPiArLy8gLyoq IEBmaWxlDQo+ICsvLyBHZW5lcmFsIEJEUyBsaWJyYXJ5Lg0KPiArLy8NCj4gKy8vIEdlbmVyYWwg QkRTIGRlZmluZXMgYW5kIHByb2R1Y2UgZ2VuZXJhbCBpbnRlcmZhY2VzIGZvciBwbGF0Zm9ybSBC RFMNCj4gZHJpdmVyIGluY2x1ZGluZzoNCj4gKy8vIDEpIEJEUyBib290IHBvbGljeSBpbnRlcmZh Y2U7DQo+ICsvLyAyKSBCRFMgYm9vdCBkZXZpY2UgY29ubmVjdCBpbnRlcmZhY2U7DQo+ICsvLyAz KSBCRFMgTWlzYyBpbnRlcmZhY2VzIGZvciBtYWludGluZyBib290IHZhcmlhYmxlLCBvdXB1dCBz dHJpbmcsIGV0Yy4NCj4gKy8vDQo+ICsvLyBDb3B5cmlnaHQgKGMpIDIwMDcgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsvLw0KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLyAq Ki8NCj4gKw0KPiArDQo+ICsjc3RyaW5nIFNUUl9NT0RVTEVfQUJTVFJBQ1QgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICJHZW5lcmFsIEJEUw0KPiBsaWJyYXJ5Ig0KPiArDQo+ICsjc3RyaW5n IFNUUl9NT0RVTEVfREVTQ1JJUFRJT04gICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJHZW5lcmFs IEJEUw0KPiBkZWZpbmVzIGFuZCBwcm9kdWNlcyBnZW5lcmFsIGludGVyZmFjZXMgZm9yIGEgcGxh dGZvcm0gQkRTIGRyaXZlciBpbmNsdWRpbmc6IDEpDQo+IEJEUyBib290IHBvbGljeSBpbnRlcmZh Y2U7IDIpIEJEUyBib290IGRldmljZSBjb25uZWN0IGludGVyZmFjZTsgMykgQkRTIE1pc2MNCj4g aW50ZXJmYWNlcyBmb3IgbWFpbnRhaW5pbmcgYm9vdCB2YXJpYWJsZSwgb3V0cHV0IHN0cmluZywg ZXRjLiINCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJp Y0Jkc0xpYi9HZW5lcmljQmRzU3RyaW5ncy51bmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9PdmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9H ZW5lcmljQmRzTGliL0dlbmVyaWNCZHNTdHJpbmdzLnVuaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41OWE3NWU1NDhiDQo+IC0tLSAvZGV2L251bGwNCj4gKysr DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFt ZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xpYi9HZW5lcmljQmRzU3RyaW5n cy51bmkNCj4gQEAgLTAsMCArMSwzMCBAQA0KPiArLy8vKiogQGZpbGUNCj4gKy8vDQo+ICsvLyAg U3RyaW5nIGRlZmluaXRpb25zIGZvciBCb290IE9wdGlvbiBkZXNjcmlwdGlvbi4NCj4gKy8vDQo+ ICsvLyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxMSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsvLw0KPiArLy8qKi8NCj4gKw0KPiArLz0jDQo+ICsNCj4gKyNs YW5nZGVmICAgZW4tVVMgIkVuZ2xpc2giDQo+ICsjbGFuZ2RlZiAgIGZyLUZSICJGcmFuw6dhaXMi DQo+ICsNCj4gKyNzdHJpbmcgU1RSX0RFU0NSSVBUSU9OX0ZMT1BQWSAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAgIkVGSSBGbG9wcHkiDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgICJmci1GUjogRUZJIEZsb3BweSINCj4gKyNzdHJpbmcg U1RSX0RFU0NSSVBUSU9OX0NEX0RWRCAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkVGSQ0KPiBE VkQvQ0RST00iDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZnItRlIgICJmci1GUjogRUZJIERWRC9DRFJPTSINCj4gKyNzdHJpbmcgU1RSX0RFU0NS SVBUSU9OX0hBUkREUklWRSAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkVGSSBIYXJkIERyaXZlIg0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZS ICAiZnItRlI6IEVGSSBIYXJkIERyaXZlIg0KPiArI3N0cmluZyBTVFJfREVTQ1JJUFRJT05fVVNC ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRUZJIFVTQiBEZXZpY2UiDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgICJmci1GUjog RUZJIFVTQiBEZXZpY2UiDQo+ICsjc3RyaW5nIFNUUl9ERVNDUklQVElPTl9TQ1NJICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICJFRkkgU0NTSSBEZXZpY2UiDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgICJmci1GUjogRUZJIFNDU0kg RGV2aWNlIg0KPiArI3N0cmluZyBTVFJfREVTQ1JJUFRJT05fTUlTQyAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICAiRUZJIE1pc2MgRGV2aWNlIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICAiZnItRlI6IEVGSSBNaXNjIERldmljZSIN Cj4gKyNzdHJpbmcgU1RSX0RFU0NSSVBUSU9OX05FVFdPUksgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIkVGSSBOZXR3b3JrICINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBmci1GUiAgImZyLUZSOiBFRkkgTmV0d29yayAiDQo+ICsjc3RyaW5nIFNU Ul9ERVNDUklQVElPTl9OT05fQkxPQ0sgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJFRkkgTm9uLUJs b2NrDQo+IEJvb3QgRGV2aWNlIg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGZyLUZSICAiZnItRlI6IEVGSSBOb24tQmxvY2sgQm9vdCBEZXZpY2Ui DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVy cmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGliL0lu dGVybmFsQmRzTGliLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVy cmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGliL0lu dGVybmFsQmRzTGliLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MC4uMDI1ZjA2NTcyYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL092ZXJyaWRlL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpDQo+ IGJyYXJ5L0dlbmVyaWNCZHNMaWIvSW50ZXJuYWxCZHNMaWIuaA0KPiBAQCAtMCwwICsxLDE3MyBA QA0KPiArLyoqIEBmaWxlDQo+ICsgIEJEUyBsaWJyYXJ5IGRlZmluaXRpb24sIGluY2x1ZGUgdGhl IGZpbGUgYW5kIGRhdGEgc3RydWN0dXJlDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNCAtIDIw MTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK1NQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyoqLw0KPiAr DQo+ICsjaWZuZGVmIF9JTlRFUk5BTF9CRFNfTElCX0hfDQo+ICsjZGVmaW5lIF9JTlRFUk5BTF9C RFNfTElCX0hfDQo+ICsNCj4gKyNpbmNsdWRlIDxGcmFtZXdvcmtEeGUuaD4NCj4gKw0KPiArI2lu Y2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvUGNpLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFu ZGFyZC9QZUltYWdlLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9CbG9ja0lvLmg+DQo+ ICsjaW5jbHVkZSA8UHJvdG9jb2wvTG9hZGVkSW1hZ2UuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2Nv bC9DcHUuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVGaWxlU3lzdGVtLmg+DQo+ICsj aW5jbHVkZSA8UHJvdG9jb2wvTG9hZEZpbGUuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EZWJ1 Z1BvcnQuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EZXZpY2VQYXRoLmg+DQo+ICsjaW5jbHVk ZSA8UHJvdG9jb2wvU2ltcGxlVGV4dEluLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvTGVnYWN5 Qmlvcy5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1NpbXBsZVRleHRPdXQuaD4NCj4gKyNpbmNs dWRlIDxQcm90b2NvbC9TaW1wbGVOZXR3b3JrLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRmly bXdhcmVWb2x1bWUyLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNpSW8uaD4NCj4gKyNpbmNs dWRlIDxQcm90b2NvbC9BY3BpUzNTYXZlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvT0VNQmFk Z2luZy5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0dyYXBoaWNzT3V0cHV0Lmg+DQo+ICsjaW5j bHVkZSA8UHJvdG9jb2wvVWdhRHJhdy5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0hpaUZvbnQu aD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9IaWlJbWFnZS5oPg0KPiArI2luY2x1ZGUgPFByb3Rv Y29sL1VzYklvLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQm9vdExvZ28uaD4NCj4gKw0KPiAr I2luY2x1ZGUgPEd1aWQvTWVtb3J5VHlwZUluZm9ybWF0aW9uLmg+DQo+ICsjaW5jbHVkZSA8R3Vp ZC9GaWxlSW5mby5oPg0KPiArI2luY2x1ZGUgPEd1aWQvR2xvYmFsVmFyaWFibGUuaD4NCj4gKyNp bmNsdWRlIDxHdWlkL1BjQW5zaS5oPg0KPiArI2luY2x1ZGUgPEd1aWQvQmRzTGliSGlpLmg+DQo+ ICsjaW5jbHVkZSA8R3VpZC9IZEJvb3RWYXJpYWJsZS5oPg0KPiArI2luY2x1ZGUgPEd1aWQvTGFz dEVudW1MYW5nLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9MZWdhY3lEZXZPcmRlci5oPg0KPiArI2lu Y2x1ZGUgPEd1aWQvU3RhdHVzQ29kZURhdGFUeXBlVmFyaWFibGUuaD4NCj4gKw0KPiArI2luY2x1 ZGUgPExpYnJhcnkvUHJpbnRMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1Vl ZmlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L0R4ZVNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJh cnkvSG9iTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9EZXZpY2VQYXRoTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QZXJmb3Jt YW5jZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9QZUNvZmZHZXRFbnRyeVBvaW50TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9H ZW5lcmljQmRzTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9UaW1lckxpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EeGVTZXJ2aWNl c0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUmVwb3J0U3RhdHVzQ29kZUxpYi5oPg0KPiAr I2luY2x1ZGUgPExpYnJhcnkvQm1wU3VwcG9ydExpYi5oPg0KPiArDQo+ICsjaWYgIWRlZmluZWQg KEVGSV9SRU1PVkFCTEVfTUVESUFfRklMRV9OQU1FKQ0KPiArICAgICNpZiBkZWZpbmVkIChNREVf Q1BVX0VCQykNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gVWVmaSBzcGVjaWZpY2F0aW9u IG9ubHkgZGVmaW5lcyB0aGUgZGVmYXVsdCBib290IGZpbGUgbmFtZSBmb3IgSUEzMiwNCj4gWDY0 DQo+ICsgICAgICAgIC8vIGFuZCBJUEYgcHJvY2Vzc29yLCBzbyBuZWVkIGRlZmluZSBib290IGZp bGUgbmFtZSBmb3IgRUJDIGFyY2hpdGVjdHVyZQ0KPiBoZXJlLg0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICAjZGVmaW5lIEVGSV9SRU1PVkFCTEVfTUVESUFfRklMRV9OQU1FDQo+IEwiXFxFRklc XEJPT1RcXEJPT1RFQkMuRUZJIg0KPiArICAgICNlbHNlDQo+ICsgICAgICAgICNlcnJvciAiQ2Fu IG5vdCBkZXRlcm1pbmUgdGhlIGRlZmF1bHQgYm9vdCBmaWxlIG5hbWUgZm9yIHVua25vd24NCj4g cHJvY2Vzc29yIHR5cGUhIg0KPiArICAgICNlbmRpZg0KPiArI2VuZGlmDQo+ICsNCj4gKy8qKg0K PiArICBHZXQgdGhlIGhlYWRlcnMgKGRvcywgaW1hZ2UsIG9wdGlvbmFsIGhlYWRlcikgZnJvbSBh biBpbWFnZQ0KPiArDQo+ICsgIEBwYXJhbSAgRGV2aWNlICAgICAgICAgICAgICAgIFNpbXBsZUZp bGVTeXN0ZW0gZGV2aWNlIGhhbmRsZQ0KPiArICBAcGFyYW0gIEZpbGVOYW1lICAgICAgICAgICAg ICBGaWxlIG5hbWUgZm9yIHRoZSBpbWFnZQ0KPiArICBAcGFyYW0gIERvc0hlYWRlciAgICAgICAg ICAgICBQb2ludGVyIHRvIGRvcyBoZWFkZXINCj4gKyAgQHBhcmFtICBIZHIgICAgICAgICAgICAg ICAgICAgVGhlIGJ1ZmZlciBpbiB3aGljaCB0byByZXR1cm4gdGhlIFBFMzIsIFBFMzIrLCBvciBU RQ0KPiBoZWFkZXIuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgU3Vj Y2Vzc2Z1bGx5IGdldCB0aGUgbWFjaGluZSB0eXBlLg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9V TkQgICAgICAgICBUaGUgZmlsZSBpcyBub3QgZm91bmQuDQo+ICsgIEByZXR2YWwgRUZJX0xPQURf RVJST1IgICAgICAgIEZpbGUgaXMgbm90IGEgdmFsaWQgaW1hZ2UgZmlsZS4NCj4gKw0KPiArKiov DQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Jkc0xpYkdldEltYWdlSGVhZGVyICgNCj4g KyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICBEZXZpY2UsDQo+ICsgIElOICBDSEFS MTYgICAgICAgICAgICAgICAgICAgICAgKkZpbGVOYW1lLA0KPiArICBPVVQgRUZJX0lNQUdFX0RP U19IRUFERVIgICAgICAgICpEb3NIZWFkZXIsDQo+ICsgIE9VVCBFRklfSU1BR0VfT1BUSU9OQUxf SEVBREVSX1BUUl9VTklPTiAgIEhkcg0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBy b3V0aW5lIGFkanVzdCB0aGUgbWVtb3J5IGluZm9ybWF0aW9uIGZvciBkaWZmZXJlbnQgbWVtb3J5 IHR5cGUNCj4gYW5kDQo+ICsgIHNhdmUgdGhlbSBpbnRvIHRoZSB2YXJpYWJsZXMgZm9yIG5leHQg Ym9vdC4NCj4gKyoqLw0KPiArVk9JRA0KPiArQmRzU2V0TWVtb3J5VHlwZUluZm9ybWF0aW9uVmFy aWFibGUgKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBWYWxpZGF0ZSB0 aGUgRUZJIEJvb3QjIyMjIG9yIERyaXZlciMjIyMgdmFyaWFibGUgKFZlbmRvckd1aWQvTmFtZSkN Cj4gKw0KPiArICBAcGFyYW0gIFZhcmlhYmxlICAgICAgICAgICAgICBCb290IyMjIyB2YXJpYWJs ZSBkYXRhLg0KPiArICBAcGFyYW0gIFZhcmlhYmxlU2l6ZSAgICAgICAgICBSZXR1cm5zIHRoZSBz aXplIG9mIHRoZSBFRkkgdmFyaWFibGUgdGhhdCB3YXMNCj4gcmVhZA0KPiArDQo+ICsgIEByZXR2 YWwgVFJVRSAgICAgICAgICAgICAgICAgIFRoZSB2YXJpYWJsZSBkYXRhIGlzIGNvcnJlY3QuDQo+ ICsgIEByZXR2YWwgRkFMU0UgICAgICAgICAgICAgICAgIFRoZSB2YXJpYWJsZSBkYXRhIGlzIGNv cnJ1cHRlZC4NCj4gKw0KPiArKiovDQo+ICtCT09MRUFODQo+ICtWYWxpZGF0ZU9wdGlvbiAoDQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgKlZhcmlhYmxlLA0KPiArICBVSU5UTiAgICAg ICAgICAgICAgICAgICAgIFZhcmlhYmxlU2l6ZQ0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAg U2V0IHRoZSB2YXJpYWJsZSBhbmQgcmVwb3J0IHRoZSBlcnJvciB0aHJvdWdoIHN0YXR1cyBjb2Rl IHVwb24gZmFpbHVyZS4NCj4gKw0KPiArICBAcGFyYW0gIFZhcmlhYmxlTmFtZSAgICAgICAgICAg QSBOdWxsLXRlcm1pbmF0ZWQgc3RyaW5nIHRoYXQgaXMgdGhlIG5hbWUgb2YNCj4gdGhlIHZlbmRv cidzIHZhcmlhYmxlLg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRWFjaCBW YXJpYWJsZU5hbWUgaXMgdW5pcXVlIGZvciBlYWNoIFZlbmRvckd1aWQuDQo+IFZhcmlhYmxlTmFt ZSBtdXN0DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250YWluIDEgb3Ig bW9yZSBjaGFyYWN0ZXJzLiBJZiBWYXJpYWJsZU5hbWUgaXMgYW4gZW1wdHkNCj4gc3RyaW5nLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdGhlbiBFRklfSU5WQUxJRF9QQVJB TUVURVIgaXMgcmV0dXJuZWQuDQo+ICsgIEBwYXJhbSAgVmVuZG9yR3VpZCAgICAgICAgICAgICBB IHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgdmVuZG9yLg0KPiArICBAcGFyYW0gIEF0dHJpYnV0 ZXMgICAgICAgICAgICAgQXR0cmlidXRlcyBiaXRtYXNrIHRvIHNldCBmb3IgdGhlIHZhcmlhYmxl Lg0KPiArICBAcGFyYW0gIERhdGFTaXplICAgICAgICAgICAgICAgVGhlIHNpemUgaW4gYnl0ZXMg b2YgdGhlIERhdGEgYnVmZmVyLiBVbmxlc3MgdGhlDQo+IEVGSV9WQVJJQUJMRV9BUFBFTkRfV1JJ VEUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfQVVU SEVOVElDQVRFRF9XUklURV9BQ0NFU1MsIG9yDQo+ICsNCj4gRUZJX1ZBUklBQkxFX1RJTUVfQkFT RURfQVVUSEVOVElDQVRFRF9XUklURV9BQ0NFU1MgYXR0cmlidXRlIGlzDQo+IHNldCwgYSBzaXpl IG9mIHplcm8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNhdXNlcyB0aGUg dmFyaWFibGUgdG8gYmUgZGVsZXRlZC4gV2hlbiB0aGUNCj4gRUZJX1ZBUklBQkxFX0FQUEVORF9X UklURSBhdHRyaWJ1dGUgaXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNl dCwgdGhlbiBhIFNldFZhcmlhYmxlKCkgY2FsbCB3aXRoIGEgRGF0YVNpemUgb2YgemVybyB3aWxs IG5vdA0KPiBjYXVzZSBhbnkgY2hhbmdlIHRvDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICB0aGUgdmFyaWFibGUgdmFsdWUgKHRoZSB0aW1lc3RhbXAgYXNzb2NpYXRlZCB3aXRo IHRoZQ0KPiB2YXJpYWJsZSBtYXkgYmUgdXBkYXRlZCBob3dldmVyDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBldmVuIGlmIG5vIG5ldyBkYXRhIHZhbHVlIGlzIHByb3ZpZGVk LHNlZSB0aGUgZGVzY3JpcHRpb24NCj4gb2YgdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBFRklfVkFSSUFCTEVfQVVUSEVOVElDQVRJT05fMiBkZXNjcmlwdG9yIGJlbG93 LiBJbg0KPiB0aGlzIGNhc2UgdGhlIERhdGFTaXplIHdpbGwgbm90DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBiZSB6ZXJvIHNpbmNlIHRoZSBFRklfVkFSSUFCTEVfQVVUSEVO VElDQVRJT05fMg0KPiBkZXNjcmlwdG9yIHdpbGwgYmUgcG9wdWxhdGVkKS4NCj4gKyAgQHBhcmFt ICBEYXRhICAgICAgICAgICAgICAgICAgIFRoZSBjb250ZW50cyBmb3IgdGhlIHZhcmlhYmxlLg0K PiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICBUaGUgZmlybXdhcmUgaGFz IHN1Y2Nlc3NmdWxseSBzdG9yZWQgdGhlDQo+IHZhcmlhYmxlIGFuZCBpdHMgZGF0YSBhcw0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGVmaW5lZCBieSB0aGUgQXR0cmlidXRl cy4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIEFuIGludmFsaWQgY29tYmlu YXRpb24gb2YgYXR0cmlidXRlIGJpdHMsDQo+IG5hbWUsIGFuZCBHVUlEIHdhcyBzdXBwbGllZCwg b3IgdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhU2l6ZSBleGNl ZWRzIHRoZSBtYXhpbXVtIGFsbG93ZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1F VEVSICBWYXJpYWJsZU5hbWUgaXMgYW4gZW1wdHkgc3RyaW5nLg0KPiArICBAcmV0dmFsIEVGSV9P VVRfT0ZfUkVTT1VSQ0VTICAgTm90IGVub3VnaCBzdG9yYWdlIGlzIGF2YWlsYWJsZSB0byBob2xk DQo+IHRoZSB2YXJpYWJsZSBhbmQgaXRzIGRhdGEuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklDRV9F UlJPUiAgICAgICBUaGUgdmFyaWFibGUgY291bGQgbm90IGJlIHJldHJpZXZlZCBkdWUgdG8NCj4g YSBoYXJkd2FyZSBlcnJvci4NCj4gKyAgQHJldHZhbCBFRklfV1JJVEVfUFJPVEVDVEVEICAgIFRo ZSB2YXJpYWJsZSBpbiBxdWVzdGlvbiBpcyByZWFkLW9ubHkuDQo+ICsgIEByZXR2YWwgRUZJX1dS SVRFX1BST1RFQ1RFRCAgICBUaGUgdmFyaWFibGUgaW4gcXVlc3Rpb24gY2Fubm90IGJlDQo+IGRl bGV0ZWQuDQo+ICsgIEByZXR2YWwgRUZJX1NFQ1VSSVRZX1ZJT0xBVElPTiBUaGUgdmFyaWFibGUg Y291bGQgbm90IGJlIHdyaXR0ZW4gZHVlDQo+IHRvIEVGSV9WQVJJQUJMRV9BVVRIRU5USUNBVEVE X1dSSVRFX0FDQ0VTUw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb3INCj4g RUZJX1ZBUklBQkxFX1RJTUVfQkFTRURfQVVUSEVOVElDQVRFRF9XUklURV9BQ0VTUyBiZWluZyBz ZXQsIGJ1dA0KPiB0aGUgQXV0aEluZm8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRvZXMgTk9UIHBhc3MgdGhlIHZhbGlkYXRpb24gY2hlY2sgY2FycmllZCBvdXQgYnkgdGhl DQo+IGZpcm13YXJlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgICBU aGUgdmFyaWFibGUgdHJ5aW5nIHRvIGJlIHVwZGF0ZWQgb3INCj4gZGVsZXRlZCB3YXMgbm90IGZv dW5kLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtTZXRWYXJpYWJsZUFuZFJlcG9ydFN0YXR1 c0NvZGVPbkVycm9yICgNCj4gKyAgSU4gQ0hBUjE2ICAgICAqVmFyaWFibGVOYW1lLA0KPiArICBJ TiBFRklfR1VJRCAgICpWZW5kb3JHdWlkLA0KPiArICBJTiBVSU5UMzIgICAgIEF0dHJpYnV0ZXMs DQo+ICsgIElOIFVJTlROICAgICAgRGF0YVNpemUsDQo+ICsgIElOIFZPSUQgICAgICAgKkRhdGEN Cj4gKyAgKTsNCj4gKw0KPiArI2VuZGlmIC8vIF9CRFNfTElCX0hfDQo+IGRpZmYgLS1naXQNCj4g YS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9PdmVycmlkZS9JbnRlbEZyYW1ld29y a01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGliL1N0cmluZy5jDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQ a2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xpYi9TdHJpbmcuYw0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5mMzY4NjBkNWExDQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUvSW50ZWxG cmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xpYi9TdHJpbmcuYw0KPiBA QCAtMCwwICsxLDI2IEBADQo+ICsvKiogQGZpbGUNCj4gKyAgU3RyaW5nIHN1cHBvcnQNCj4gKw0K PiArQ29weXJpZ2h0IChjKSAyMDEwLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsqKi8NCj4gKyNpbmNsdWRlICJTdHJpbmcuaCINCj4gKw0KPiArLyoqDQo+ICsg IEdldCBzdHJpbmcgYnkgc3RyaW5nIGlkIGZyb20gSElJIEludGVyZmFjZQ0KPiArDQo+ICsNCj4g KyAgQHBhcmFtIElkICAgICAgICAgICAgICBTdHJpbmcgSUQuDQo+ICsNCj4gKyAgQHJldHZhbCAg Q0hBUjE2ICogIFN0cmluZyBmcm9tIElELg0KPiArICBAcmV0dmFsICBOVUxMICAgICAgSWYgZXJy b3Igb2NjdXJzLg0KPiArDQo+ICsqKi8NCj4gK0NIQVIxNiAqDQo+ICtCZHNMaWJHZXRTdHJpbmdC eUlkICgNCj4gKyAgSU4gIEVGSV9TVFJJTkdfSUQgICBJZA0KPiArICApDQo+ICt7DQo+ICsgIHJl dHVybiBIaWlHZXRTdHJpbmcgKGdCZHNMaWJTdHJpbmdQYWNrSGFuZGxlLCBJZCwgTlVMTCk7DQo+ ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9P dmVycmlkZS9JbnRlbEZyYW1ld29ya01vZHVsZVBrZy9MaQ0KPiBicmFyeS9HZW5lcmljQmRzTGli L1N0cmluZy5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvT3ZlcnJpZGUv SW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJpY0Jkc0xpYi9TdHJpbmcu aA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41M2NhYmU2NGE5 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvTGkNCj4gYnJhcnkvR2VuZXJp Y0Jkc0xpYi9TdHJpbmcuaA0KPiBAQCAtMCwwICsxLDQyIEBADQo+ICsvKiogQGZpbGUNCj4gKyAg U3RyaW5nIHN1cHBvcnQNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDEwLCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICtTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfU1RS SU5HX0hfDQo+ICsjZGVmaW5lIF9TVFJJTkdfSF8NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkv SGlpTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUg PExpYnJhcnkvRGV2aWNlUGF0aExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUxpYi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsN Cj4gK2V4dGVybiBFRklfSElJX0hBTkRMRSBnQmRzTGliU3RyaW5nUGFja0hhbmRsZTsNCj4gKw0K PiArLy8NCj4gKy8vIFRoaXMgaXMgdGhlIFZGUiBjb21waWxlciBnZW5lcmF0ZWQgaGVhZGVyIGZp bGUgd2hpY2ggZGVmaW5lcyB0aGUNCj4gKy8vIHN0cmluZyBpZGVudGlmaWVycy4NCj4gKy8vDQo+ ICsNCj4gK2V4dGVybiBVSU5UOCAgR2VuZXJpY0Jkc0xpYlN0cmluZ3NbXTsNCj4gKw0KPiArLyoq DQo+ICsgIEdldCBzdHJpbmcgYnkgc3RyaW5nIGlkIGZyb20gSElJIEludGVyZmFjZQ0KPiArDQo+ ICsNCj4gKyAgQHBhcmFtIElkICAgICAgICAgICAgICBTdHJpbmcgSUQuDQo+ICsNCj4gKyAgQHJl dHZhbCAgQ0hBUjE2ICogIFN0cmluZyBmcm9tIElELg0KPiArICBAcmV0dmFsICBOVUxMICAgICAg SWYgZXJyb3Igb2NjdXJzLg0KPiArDQo+ICsqKi8NCj4gK0NIQVIxNiAqDQo+ICtCZHNMaWJHZXRT dHJpbmdCeUlkICgNCj4gKyAgSU4gIEVGSV9TVFJJTkdfSUQgICBJZA0KPiArICApOw0KPiArDQo+ ICsjZW5kaWYgLy8gX1NUUklOR19IXw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGNpUGxhdGZvcm0vQm9hcmRQY2lQbGF0Zm9ybS5jDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGNpUGxhdGZvcm0vQm9hcmRQY2lQbGF0Zm9ybS5j DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjAzNzJjMTc1YTYN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9QY2lQbGF0Zm9ybS9Cb2FyZFBjaVBsYXRmb3JtLmMNCj4gQEAgLTAsMCArMSw1NSBAQA0KPiAr LyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiAr DQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArDQo+ICsgICAgQm9hcmRQY2lQbGF0Zm9ybS5jDQo+ ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICtSZXZpc2lvbiBIaXN0b3J5Og0KPiArLS0qLw0KPiAr DQo+ICsNCj4gKyNpbmNsdWRlICJQY2lQbGF0Zm9ybS5oIg0KPiArI2luY2x1ZGUgIlBjaFJlZ3Mu aCINCj4gKyNpbmNsdWRlICJWbHZBY2Nlc3MuaCINCj4gKw0KPiArI2RlZmluZSBSX0lOVEVMX0xB Tl9WRU5ET1JfSUQgICAgICAgICAgIDB4MDANCj4gKyNkZWZpbmUgICBWX0lOVEVMX0xBTl9WRU5E T1JfSUQgICAgICAgICAweDgwODYgICAgIC8vIElOVEVMIDgyNTc0IEdiZQ0KPiBDb250cm9sbGVy IFZlbmRvciBJRA0KPiArI2RlZmluZSBSX0lOVEVMX0xBTl9ERVZJQ0VfSUQgICAgICAgICAgIDB4 MDINCj4gKyNkZWZpbmUgICBWX0lOVEVMX0xBTl9ERVZJQ0VfSUQgICAgICAgICAweDE1M0UgICAg IC8vIElOVEVMIDgyNTc0IEdiZQ0KPiBDb250cm9sbGVyIERldmljZSBJRA0KPiArDQo+ICsvLw0K PiArLy8gR2xvYmFsIHZhcmlhYmxlcyBmb3IgT3B0aW9uIFJPTXMNCj4gKy8vDQo+ICsNCj4gKyNk ZWZpbmUgT05CT0FSRF9WSURFT19PUFRJT05fUk9NX0ZJTEVfR1VJRCBcDQo+ICt7IDB4RjJGRTFG QUEsIDB4RjA0QSwgMHg0YmExLCAweEFFLCAweDczLCAweEQxLCAweDg0LCAweDZBLCAweDZDLCAw eEQ2LA0KPiAweEQ4IH0NCj4gKw0KPiArI2RlZmluZSBQWEVfVU5ESV9PUFRJT05fUk9NX0lOVEVM UFhFX0dVSUQgXA0KPiArezB4NDlGMkM0OEIsIDB4NEQ4RSwgMHg0MjM4LCAweDhELCAweDgyLCAw eDlCLCAweDI3LCAweEY0LCAweDM4LCAweDQ0LCAweEIwfQ0KPiArDQo+ICsjZGVmaW5lIFNBVEFf QUhDSV9ST01fR1VJRCBcDQo+ICsgIHsweDU5MmJmYzYyLCAweGQ4MTcsIDB4NGQxYSwgMHg4Niwg MHhmOCwgMHgzMywgMHgzMywgMHg0YywgMHg5ZSwgMHg5MCwgMHhkOH0NCj4gKw0KPiArI2RlZmlu ZSBOVUxMX1JPTV9GSUxFX0dVSUQgXA0KPiAreyAweDAwMDAwMDAwLCAweDAwMDAsIDB4MDAwMCwg MHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCB9DQo+ICsNCj4g K1BDSV9PUFRJT05fUk9NX1RBQkxFIG1QY2lPcHRpb25Sb21UYWJsZVtdID0gew0KPiArICB7IE9O Qk9BUkRfVklERU9fT1BUSU9OX1JPTV9GSUxFX0dVSUQsICAgICAwLCAwLCAweDAyLCAwLCBJR0Rf VklELA0KPiBJR0RfRElEX1ZMVl9BMCwgMH0sDQo+ICsgIHsgT05CT0FSRF9WSURFT19PUFRJT05f Uk9NX0ZJTEVfR1VJRCwgICAgIDAsIDAsIDB4MDIsIDAsIElHRF9WSUQsDQo+IElHRF9ESUQsIDB9 LCAgLy8gRGVza3RvcC9Nb2JpbGUgSUdEDQo+ICsgIHsgT05CT0FSRF9WSURFT19PUFRJT05fUk9N X0ZJTEVfR1VJRCwgICAgIDAsIDAsIDB4MDIsIDAsIElHRF9WSUQsDQo+IElHRF9ESURfSUksIDB9 LCAgLy8gRGVza3RvcC9Nb2JpbGUgSUdEDQo+ICsgIHsgT05CT0FSRF9WSURFT19PUFRJT05fUk9N X0ZJTEVfR1VJRCwgICAgIDAsIDAsIDB4MDIsIDAsIElHRF9WSUQsDQo+IElHRF9ESURfUVMsIDB9 LA0KPiArICB7IE5VTExfUk9NX0ZJTEVfR1VJRCwgICAgICAgICAgICAgICAgICAgICAwLCAwLCAw LCAwLCAweGZmZmYsIDB4ZmZmZiwgMH0NCj4gK307DQo+ICsNCj4gK1VJTlROIG1TaXplT3B0aW9u Um9tVGFibGUgPQ0KPiBzaXplb2YobVBjaU9wdGlvblJvbVRhYmxlKS9zaXplb2YoUENJX09QVElP Tl9ST01fVEFCTEUpOw0KPiArDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BjaVBsYXRmb3JtL1BjaVBsYXRmb3JtLmMNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QY2lQbGF0Zm9ybS9QY2lQbGF0Zm9ybS5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmIxMzVlMjY0NmMNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QY2lQbGF0 Zm9ybS9QY2lQbGF0Zm9ybS5jDQo+IEBAIC0wLDAgKzEsMzY3IEBADQo+ICsvKiogQGZpbGUNCj4g Kw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBO YW1lOg0KPiArDQo+ICsNCj4gKyAgICBQY2lQbGF0Zm9ybS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0K PiArLS0qLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJQY2lQbGF0Zm9ybS5oIg0KPiArI2luY2x1 ZGUgIlBjaFJlZ3MuaCINCj4gKyNpbmNsdWRlICJQY2hBY2Nlc3MuaCINCj4gKyNpbmNsdWRlICJW bHZDb21tb25EZWZpbml0aW9ucy5oIg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtQm9vdE1vZGUuaCIN Cj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJh cnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0NwdUlvLmg+DQo+ICsj aW5jbHVkZSA8UHJvdG9jb2wvUGNpSW8uaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1NldHVwVmFyaWFi bGUuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9QY2lSb290QnJpZGdlSW8uaD4NCj4gKyNpbmNs dWRlICJTZXR1cE1vZGUuaCINCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNU YWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxl TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPFBy b3RvY29sL0Zpcm13YXJlVm9sdW1lMi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+ DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9QY2kyMi5oPg0KPiArDQo+ICtleHRlcm4g IFBDSV9PUFRJT05fUk9NX1RBQkxFICBtUGNpT3B0aW9uUm9tVGFibGVbXTsNCj4gK2V4dGVybiAg VUlOVE4gICAgICAgICAgICAgICAgIG1TaXplT3B0aW9uUm9tVGFibGU7DQo+ICsNCj4gK0VGSV9Q Q0lfUExBVEZPUk1fUFJPVE9DT0wgbVBjaVBsYXRmb3JtID0gew0KPiArICBQaGFzZU5vdGlmeSwN Cj4gKyAgUGxhdGZvcm1QcmVwQ29udHJvbGxlciwNCj4gKyAgR2V0UGxhdGZvcm1Qb2xpY3ksDQo+ ICsgIEdldFBjaVJvbQ0KPiArfTsNCj4gKw0KPiArRUZJX0hBTkRMRSBtUGNpUGxhdGZvcm1IYW5k bGUgPSBOVUxMOw0KPiArDQo+ICsNCj4gK1NZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICAgIG1T eXN0ZW1Db25maWd1cmF0aW9uOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXRSYXdJbWFnZSAo DQo+ICsgIElOIEVGSV9HVUlEICAgKk5hbWVHdWlkLA0KPiArICBJTiBPVVQgVk9JRCAgICoqQnVm ZmVyLA0KPiArICBJTiBPVVQgVUlOVE4gICpTaXplDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfSEFORExFICAgICAgICAg ICAgICAgICAgICAqSGFuZGxlQnVmZmVyOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICBIYW5kbGVDb3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgSW5k ZXg7DQo+ICsgIEVGSV9GSVJNV0FSRV9WT0xVTUUyX1BST1RPQ09MICAqRnY7DQo+ICsgIFVJTlQz MiAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhlbnRpY2F0aW9uU3RhdHVzOw0KPiArDQo+ICsg IFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4gKyAgICAgICAgICAgICAgICAg IEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUZpcm13YXJlVm9sdW1lMlBy b3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAg ICAgICAmSGFuZGxlQ291bnQsDQo+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlQnVmZmVyDQo+ ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IEhh bmRsZUNvdW50ID09IDApIHsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpbmQgZGVzaXJlZCBpbWFnZSBpbiBhbGwgRnZzDQo+ICsg IC8vDQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEhhbmRsZUNvdW50OyBJbmRleCsrKSB7 DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCgNCj4gKyAgICAgICAgICAgICAg ICAgICAgSGFuZGxlQnVmZmVyW0luZGV4XSwNCj4gKyAgICAgICAgICAgICAgICAgICAgJmdFZmlG aXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIChWT0lE ICoqKSAmRnYNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIGlmICggRUZJ X0VSUk9SICggU3RhdHVzICkgKSB7DQo+ICsgICAgICByZXR1cm4gRUZJX0xPQURfRVJST1I7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBUcnkgYSByYXcgZmlsZQ0KPiArICAg IC8vDQo+ICsgICAgKkJ1ZmZlciA9IE5VTEw7DQo+ICsgICAgKlNpemUgPSAwOw0KPiArICAgIFN0 YXR1cyA9IEZ2LT5SZWFkU2VjdGlvbiAoDQo+ICsgICAgICAgICAgICAgICAgICAgRnYsDQo+ICsg ICAgICAgICAgICAgICAgICAgTmFtZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgRUZJX1NF Q1RJT05fUkFXLA0KPiArICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAg ICAgQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAgIFNpemUsDQo+ICsgICAgICAgICAgICAg ICAgICAgJkF1dGhlbnRpY2F0aW9uU3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICAgKTsNCj4g Kw0KPiArICAgIGlmICggIUVGSV9FUlJPUiAoIFN0YXR1cyApKSB7DQo+ICsgICAgICAgIGJyZWFr Ow0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIGlmICggSW5kZXggPj0gSGFuZGxlQ291bnQg KSB7DQo+ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiAr UGhhc2VOb3RpZnkgKA0KPiArICBJTiBFRklfUENJX1BMQVRGT1JNX1BST1RPQ09MICAgICAgICAg ICAgICAqVGhpcywNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSG9zdEJyaWRnZSwNCj4gKyAgSU4gIEVGSV9QQ0lfSE9TVF9CUklER0VfUkVT T1VSQ0VfQUxMT0NBVElPTl9QSEFTRSAgUGhhc2UsDQo+ICsgIElOICBFRklfUENJX0NISVBTRVRf RVhFQ1VUSU9OX1BIQVNFICAgICAgICAgICAgICAgIENoaXBzZXRQaGFzZQ0KPiArICApDQo+ICt7 DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gKw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtQbGF0Zm9ybVByZXBDb250cm9sbGVyICgNCj4gKyAgSU4gRUZJ X1BDSV9QTEFURk9STV9QUk9UT0NPTCAgICAgICAgICAgICAgICAgICAgICAqVGhpcywNCj4gKyAg SU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSG9zdEJy aWRnZSwNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUm9vdEJyaWRnZSwNCj4gKyAgSU4gIEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9D T0xfUENJX0FERFJFU1MgICAgUGNpQWRkcmVzcywNCj4gKyAgSU4gIEVGSV9QQ0lfQ09OVFJPTExF Ul9SRVNPVVJDRV9BTExPQ0FUSU9OX1BIQVNFICAgUGhhc2UsDQo+ICsgIElOICBFRklfUENJX0NI SVBTRVRfRVhFQ1VUSU9OX1BIQVNFICAgICAgICAgICAgICAgIENoaXBzZXRQaGFzZQ0KPiArICAp DQo+ICt7DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gK0VGSV9T VEFUVVMNCj4gK0VGSUFQSQ0KPiArR2V0UGxhdGZvcm1Qb2xpY3kgKA0KPiArICBJTiBDT05TVCBF RklfUENJX1BMQVRGT1JNX1BST1RPQ09MICAgICAgICAqVGhpcywNCj4gKyAgT1VUIEVGSV9QQ0lf UExBVEZPUk1fUE9MSUNZICAgICAgICAgICAgICAgKlBjaVBvbGljeQ0KPiArICApDQo+ICt7DQo+ ICsgICpQY2lQb2xpY3kgPSBFRklfUkVTRVJWRV9WR0FfSU9fQUxJQVM7DQo+ICsgIHJldHVybiBF RklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEdldFBjaVJvbSBmcm9tIHBsYXRm b3JtIHNwZWNpZmljIGxvY2F0aW9uIGZvciBzcGVjaWZpYyBQQ0kgZGV2aWNlDQo+ICsNCj4gKyAg QHBhcmFtIFRoaXMgICAgICAgIFByb3RvY29sIGluc3RhbmNlDQo+ICsgIEBwYXJhbSBQY2lIYW5k bGUgICBJZGVudGlmeSB0aGUgc3BlY2lmaWMgUENJIGRldmljDQo+ICsgIEBwYXJhbSBSb21JbWFn ZSAgICBSZXR1cm5zIHRoZSBST00gSW1hZ2UgbWVtb3J5IGxvY2F0aW9uDQo+ICsgIEBwYXJhbSBS b21TaXplICAgICBSZXR1cm5zIFJvbSBJbWFnZSBzaXplDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUw0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQNCj4gKyAgQHJldHZhbCAgRUZJX09V VF9PRl9SRVNPVVJDRVMNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4g K0dldFBjaVJvbSAoDQo+ICsgIElOIENPTlNUIEVGSV9QQ0lfUExBVEZPUk1fUFJPVE9DT0wgICAg ICpUaGlzLA0KPiArICBJTiBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNp SGFuZGxlLA0KPiArICBPVVQgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipS b21JbWFnZSwNCj4gKyAgT1VUICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpS b21TaXplDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAg U3RhdHVzOw0KPiArICBFRklfUENJX0lPX1BST1RPQ09MICAgICAgICAgICAqUGNpSW87DQo+ICsg IEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9DT0wgKlBjaVJvb3RCcmlkZ2VJbzsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgU2VnbWVudDsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgQnVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICBEZXZpY2U7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIEZ1bmN0aW9uOw0K PiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICBWZW5kb3JJZDsNCj4gKyAgVUlOVDE2 ICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlSWQ7DQo+ICsgIFVJTlQxNiAgICAgICAgICAg ICAgICAgICAgICAgIERldmljZUNsYXNzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICBUYWJsZUluZGV4Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBEYXRh ODsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgTWZnTW9kZTsNCj4gKyAgRUZJ X1BMQVRGT1JNX1NFVFVQX0lEICAgICAgICAgKkJvb3RNb2RlQnVmZmVyOw0KPiArDQo+ICsgIEVG SV9QRUlfSE9CX1BPSU5URVJTICAgICAgICBHdWlkSG9iOw0KPiArDQo+ICsgIE1mZ01vZGUgPSBG QUxTRTsNCj4gKw0KPiArLy8NCj4gKy8vIENoZWNrIGlmIHN5c3RlbSBpcyBpbiBtYW51ZmFjdHVy aW5nIG1vZGUuDQo+ICsvLw0KPiArICBHdWlkSG9iLlJhdyA9IEdldEhvYkxpc3QgKCk7DQo+ICsg IGlmIChHdWlkSG9iLlJhdyA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7 DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoKEd1aWRIb2IuUmF3ID0gR2V0TmV4dEd1aWRIb2IgKCZn RWZpUGxhdGZvcm1Cb290TW9kZUd1aWQsDQo+IEd1aWRIb2IuUmF3KSkgIT0gTlVMTCkgew0KPiAr ICAgIEJvb3RNb2RlQnVmZmVyID0gR0VUX0dVSURfSE9CX0RBVEEgKEd1aWRIb2IuR3VpZCk7DQo+ ICsgICAgaWYgKCFDb21wYXJlTWVtICgmQm9vdE1vZGVCdWZmZXItPlNldHVwTmFtZSwNCj4gTUFO VUZBQ1RVUkVfU0VUVVBfTkFNRSwNCj4gKyAgICAgICAgU3RyU2l6ZSAoTUFOVUZBQ1RVUkVfU0VU VVBfTkFNRSkpKQ0KPiArICAgICAgew0KPiArICAgICAgCS8vDQo+ICsgICAgICAgIC8vIFN5c3Rl bSBpcyBpbiBtYW51ZmFjdHVyaW5nIG1vZGUuDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIE1m Z01vZGUgPSBUUlVFOw0KPiArICAgICAgfQ0KPiArICAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IGdC Uy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgUGNpSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgJmdFZmlQY2lJb1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAg ICAgICAgICh2b2lkICoqKSZQY2lJbw0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYg KEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiAr ICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAg ICAgICAgICAgICAmZ0VmaVBjaVJvb3RCcmlkZ2VJb1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAg ICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAodm9pZCAqKikmUGNpUm9vdEJy aWRnZUlvDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJST1Ig KFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArDQo+ ICsgIFBjaUlvLT5QY2kuUmVhZCAoUGNpSW8sIEVmaVBjaUlvV2lkdGhVaW50MTYsIDB4MEEsIDEs ICZEZXZpY2VDbGFzcyk7DQo+ICsNCj4gKyAgUGNpSW8tPkdldExvY2F0aW9uIChQY2lJbywgJlNl Z21lbnQsICZCdXMsICZEZXZpY2UsICZGdW5jdGlvbik7DQo+ICsNCj4gKyAgUGNpSW8tPlBjaS5S ZWFkIChQY2lJbywgRWZpUGNpSW9XaWR0aFVpbnQxNiwgMCwgMSwgJlZlbmRvcklkKTsNCj4gKw0K PiArICBQY2lJby0+UGNpLlJlYWQgKFBjaUlvLCBFZmlQY2lJb1dpZHRoVWludDE2LCAyLCAxLCAm RGV2aWNlSWQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFdBIGZvciBQQ0llIFNBVEEgY2FyZCAo U1lCQSBTWS1QRVg0MDAtNDApDQo+ICsgIC8vDQo+ICsgIGlmICgoVmVuZG9ySWQgPT0gMHgxQjIx KSAmJiAoRGV2aWNlSWQgPT0gMHgwNjEyKSkgew0KPiArICAgIERhdGE4ID0gMHgwNzsNCj4gKyAg ICBQY2lJby0+UGNpLldyaXRlIChQY2lJbywgRWZpUGNpSW9XaWR0aFVpbnQ4LCA0LCAxLCAmRGF0 YTgpOw0KPiArICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIERvIG5vdCBydW4gUkFJRCBv ciBBSENJIE9wdGlvbiBST00gaWYgSURFDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoIChEZXZpY2VD bGFzcyA9PSAoKFBDSV9DTEFTU19NQVNTX1NUT1JBR0UgPDwgOCApIHwNCj4gUENJX0NMQVNTX01B U1NfU1RPUkFHRV9JREUpKSApIHsNCj4gKyAgICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiAr ICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gUnVuIFBYRSBST00gb25seSBpZiBCb290 IG5ldHdvcmsgaXMgZW5hYmxlZCBhbmQgbm90IGluIE1GRyBtb2RlDQo+ICsgICAgLy8NCj4gKyAg ICBpZiAoRGV2aWNlQ2xhc3MgPT0gKChQQ0lfQ0xBU1NfTkVUV09SSyA8PCA4ICkgfA0KPiBQQ0lf Q0xBU1NfTkVUV09SS19FVEhFUk5FVCkpIHsNCj4gKyAgICAgIGlmICgoKG1TeXN0ZW1Db25maWd1 cmF0aW9uLkJvb3ROZXR3b3JrID09IDApICYmIChNZmdNb2RlID09DQo+IEZBTFNFICkpIHx8ICht U3lzdGVtQ29uZmlndXJhdGlvbi5GYXN0Qm9vdCA9PSAxKSkgew0KPiArICAgICAgcmV0dXJuIEVG SV9OT1RfRk9VTkQ7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAg ICAvLyBMb29wIHRocm91Z2ggdGFibGUgb2YgT25ib2FyZCBvcHRpb24gcm9tIGRlc2NyaXB0aW9u cw0KPiArICAgIC8vDQo+ICsgICAgZm9yIChUYWJsZUluZGV4ID0gMDsgbVBjaU9wdGlvblJvbVRh YmxlW1RhYmxlSW5kZXhdLlZlbmRvcklkICE9IDB4ZmZmZjsNCj4gVGFibGVJbmRleCsrKSB7DQo+ ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBTZWUgaWYgdGhlIFBDSSBkZXZpY2Ugc3BlY2lm aWVkIGJ5IFBjaUhhbmRsZSBtYXRjaGVzIGF0IGRldmljZSBpbg0KPiBtUGNpT3B0aW9uUm9tVGFi bGUNCj4gKyAgICAgIC8vDQo+ICsgICAgICBpZiAoVmVuZG9ySWQgIT0gbVBjaU9wdGlvblJvbVRh YmxlW1RhYmxlSW5kZXhdLlZlbmRvcklkIHx8DQo+ICsgICAgICAgICAgRGV2aWNlSWQgIT0gbVBj aU9wdGlvblJvbVRhYmxlW1RhYmxlSW5kZXhdLkRldmljZUlkIHx8DQo+ICsgICAgICAgICAgKChE ZXZpY2VDbGFzcyA9PSAoKFBDSV9DTEFTU19ORVRXT1JLIDw8IDggKSB8DQo+IFBDSV9DTEFTU19O RVRXT1JLX0VUSEVSTkVUKSkgJiYNCj4gKyAgICAgICAgICAgKG1QY2lPcHRpb25Sb21UYWJsZVtU YWJsZUluZGV4XS5GbGFnICE9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkJvb3ROZXR3b3JrKSkg ICkgew0KPiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgU3Rh dHVzID0gR2V0UmF3SW1hZ2UoDQo+ICsgICAgICAgICAgICAgICAgICZtUGNpT3B0aW9uUm9tVGFi bGVbVGFibGVJbmRleF0uRmlsZU5hbWUsDQo+ICsgICAgICAgICAgICAgICAgIFJvbUltYWdlLA0K PiArICAgICAgICAgICAgICAgICBSb21TaXplDQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ICsN Cj4gKyAgICAgIGlmICgoVmVuZG9ySWQgPT0gSUdEX1ZJRCkgJiYgKERldmljZUlkID09IElHRF9E SURfVkxWX0EwKSkgew0KPiArICAgICAgICAqKFVJTlQxNiAqKSgoKFVJTlROKSAqUm9tSW1hZ2Up ICsgT1BST01fRElEX09GRlNFVCkgPQ0KPiBJR0RfRElEX1ZMVl9BMDsNCj4gKyAgICAgIH0NCj4g Kw0KPiArICAgICAgaWYgKChWZW5kb3JJZCA9PSBJR0RfVklEKSAmJiAoRGV2aWNlSWQgPT0gSUdE X0RJRF9JSSkpIHsNCj4gKyAgICAgICAgKihVSU5UMTYgKikoKChVSU5UTikgKlJvbUltYWdlKSAr IE9QUk9NX0RJRF9PRkZTRVQpID0NCj4gSUdEX0RJRF9JSTsNCj4gKyAgICAgIH0NCj4gKw0KPiAr ICAgICAgaWYgKChWZW5kb3JJZCA9PSBJR0RfVklEKSAmJiAoRGV2aWNlSWQgPT0gSUdEX0RJRF8w QkU0KSkgew0KPiArICAgICAgICAqKFVJTlQxNiAqKSgoKFVJTlROKSAqUm9tSW1hZ2UpICsgT1BS T01fRElEX09GRlNFVCkgPQ0KPiBJR0RfRElEXzBCRTQ7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAg ICAgIGlmICgoVmVuZG9ySWQgPT0gSUdEX1ZJRCkgJiYgKERldmljZUlkID09IElHRF9ESURfUVMp KSB7DQo+ICsgICAgICAgICooVUlOVDE2ICopKCgoVUlOVE4pICpSb21JbWFnZSkgKyBPUFJPTV9E SURfT0ZGU0VUKSA9DQo+IElHRF9ESURfUVM7DQo+ICsgICAgICB9DQo+ICsNCj4gKw0KPiArICAg ICAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgICAgY29udGludWU7DQo+ ICsgICAgICAgIH0NCj4gKyAgICAgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArICAgICAgfQ0K PiArDQo+ICsgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0K PiArICBAcGFyYW0gIChTdGFuZGFyZCBFRkkgSW1hZ2UgZW50cnkgLSBFRklfSU1BR0VfRU5UUllf UE9JTlQpDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1RBVFVTDQo+ICsNCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtQY2lQbGF0Zm9ybURyaXZlckVudHJ5ICgNCj4gKyAgSU4g RUZJX0hBTkRMRSAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUg ICpTeXN0ZW1UYWJsZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4g KyAgVUlOVE4gICAgICAgVmFyU2l6ZTsNCj4gKw0KPiArICBWYXJTaXplID0gc2l6ZW9mKFNZU1RF TV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgNCj4gKyAg ICAgICAgICAgICAgICAgIEwiU2V0dXAiLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlOb3Jt YWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAg ICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAmbVN5c3RlbUNvbmZpZ3VyYXRp b24NCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykg fHwgVmFyU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKSB7DQo+ICsgICAgLy9U aGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ICsgICAgVmFyU2l6ZSA9IHNpemVvZihT WVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgN Cj4gKyAgICAgICAgICAgICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4gKyAgICAgICAgICAgICAgJmdF ZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAg ICAgICZWYXJTaXplLA0KPiArICAgICAgICAgICAgICAmbVN5c3RlbUNvbmZpZ3VyYXRpb24NCj4g KyAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5zdGFsbCBvbiBhIG5ldyBoYW5kbGUNCj4gKyAg Ly8NCj4gKyAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KPiArICAg ICAgICAgICAgICAgICAgJm1QY2lQbGF0Zm9ybUhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAg ICZnRWZpUGNpUGxhdGZvcm1Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBFRklf TkFUSVZFX0lOVEVSRkFDRSwNCj4gKyAgICAgICAgICAgICAgICAgICZtUGNpUGxhdGZvcm0NCj4g KyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4g Kw0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q Y2lQbGF0Zm9ybS9QY2lQbGF0Zm9ybS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvUGNpUGxhdGZvcm0vUGNpUGxhdGZvcm0uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi5jZDg0NmVhZTc1DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGNpUGxhdGZvcm0vUGNpUGxhdGZvcm0u aA0KPiBAQCAtMCwwICsxLDgzIEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAy MDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICAgIFBjaVBs YXRmb3JtLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKy0tKi8NCj4gKyNpZm5kZWYgUENJ X1BMQVRGT1JNX0hfDQo+ICsjZGVmaW5lIFBDSV9QTEFURk9STV9IXw0KPiArDQo+ICsNCj4gKyNp bmNsdWRlIDxQaUR4ZS5oPg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtLmgiDQo+ICsNCj4gKy8vDQo+ ICsvLyBQcm9kdWNlZCBQcm90b2NvbHMNCj4gKy8vDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNp UGxhdGZvcm0uaD4NCj4gKw0KPiArI2RlZmluZSBJR0RfRElEX0lJICAgICAgICAgICAgICAgICAg ICAgMHgwQkUxDQo+ICsjZGVmaW5lIElHRF9ESURfMEJFNCAgICAgICAgICAgICAgICAgICAweDBC RTQNCj4gKyNkZWZpbmUgSUdEX0RJRF9WTFZfQTAgICAgICAgICAgICAgICAgIDB4MEYzMQ0KPiAr I2RlZmluZSBPUFJPTV9ESURfT0ZGU0VUICAgICAgICAgICAgICAgMHg0Ng0KPiArDQo+ICt0eXBl ZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9HVUlEICBGaWxlTmFtZTsNCj4gKyAgVUlOVE4gICAgIFNl Z21lbnQ7DQo+ICsgIFVJTlROICAgICBCdXM7DQo+ICsgIFVJTlROICAgICBEZXZpY2U7DQo+ICsg IFVJTlROICAgICBGdW5jdGlvbjsNCj4gKyAgVUlOVDE2ICAgIFZlbmRvcklkOw0KPiArICBVSU5U MTYgICAgRGV2aWNlSWQ7DQo+ICsgIFVJTlQ4ICAgICBGbGFnOw0KPiArfSBQQ0lfT1BUSU9OX1JP TV9UQUJMRTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtQaGFzZU5vdGlmeSAo DQo+ICsgIElOICBFRklfUENJX1BMQVRGT1JNX1BST1RPQ09MICAgICAgICAgICAgICAgICAgICAg KlRoaXMsDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSG9zdEJyaWRnZSwNCj4gKyAgSU4gIEVGSV9QQ0lfSE9TVF9CUklER0VfUkVTT1VSQ0Vf QUxMT0NBVElPTl9QSEFTRSBQaGFzZSwNCj4gKyAgSU4gIEVGSV9QQ0lfQ0hJUFNFVF9FWEVDVVRJ T05fUEhBU0UgICAgICAgICAgICAgICBDaGlwc2V0UGhhc2UNCj4gKyAgKTsNCj4gKw0KPiArDQo+ ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1BsYXRmb3JtUHJlcENvbnRyb2xsZXIgKA0KPiAr ICBJTiBFRklfUENJX1BMQVRGT1JNX1BST1RPQ09MICAgICAgICAgICAgICAgICAgICAgICpUaGlz LA0KPiArICBJTiAgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IEhvc3RCcmlkZ2UsDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgUm9vdEJyaWRnZSwNCj4gKyAgSU4gIEVGSV9QQ0lfUk9PVF9CUklER0VfSU9f UFJPVE9DT0xfUENJX0FERFJFU1MgICBQY2lBZGRyZXNzLA0KPiArICBJTiAgRUZJX1BDSV9DT05U Uk9MTEVSX1JFU09VUkNFX0FMTE9DQVRJT05fUEhBU0UgIFBoYXNlLA0KPiArICBJTiAgRUZJX1BD SV9DSElQU0VUX0VYRUNVVElPTl9QSEFTRSAgICAgICAgICAgICAgIENoaXBzZXRQaGFzZQ0KPiAr ICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0dldFBsYXRmb3JtUG9saWN5 ICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BDSV9QTEFURk9STV9QUk9UT0NPTCAgICAgICAgICAgICAg ICAgICAgICAqVGhpcywNCj4gKyAgT1VUIEVGSV9QQ0lfUExBVEZPUk1fUE9MSUNZICAgICAgICAg ICAgICAgICAgICAgICAqUGNpUG9saWN5DQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArR2V0UGNpUm9tICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BDSV9QTEFURk9STV9Q Uk9UT0NPTCAgICAgICAgICAgICAgICAgICAgICAqVGhpcywNCj4gKyAgSU4gRUZJX0hBTkRMRSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQY2lIYW5kbGUsDQo+ICsgIE9VVCAg Vk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKipSb21JbWFnZSwN Cj4gKyAgT1VUICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAq Um9tU2l6ZQ0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4gKw0KPiArDQo+IGRpZmYgLS1naXQg YS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QY2lQbGF0Zm9ybS9QY2lQbGF0Zm9y bS5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QY2lQbGF0Zm9ybS9Q Y2lQbGF0Zm9ybS5pbmYNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MC4uYTA4Mzc5MTdkOA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BjaVBsYXRmb3JtL1BjaVBsYXRmb3JtLmluZg0KPiBAQCAtMCwwICsx LDY1IEBADQo+ICsjLyorKw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpICAyMDAzICAtIDIwMTgs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsjDQo+IA0KPiArIyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+ IA0KPiArDQo+ICsjDQo+ICsjICBNb2R1bGUgTmFtZToNCj4gKyMNCj4gKyMgICAgUGNpUGxhdGZv cm0uaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4gKyMNCj4gKyMgICAgQ29tcG9uZW50IGRl c2NyaXB0aW9uIGZpbGUgZm9yIFBjaVBsYXRmb3JtIG1vZHVsZS4NCj4gKyMNCj4gKy0tKi8NCj4g Kw0KPiArW2RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgID0gMHgwMDAxMDAwNQ0K PiArICBCQVNFX05BTUUgICAgICAgICAgICA9IFBjaVBsYXRmb3JtDQo+ICsgIEZJTEVfR1VJRCAg ICAgICAgICAgID0gRTI0NDFCNjQtN0VGNC00MWZlLUIzQTMtOENBQTdGOEQzMDE3DQo+ICsgIE1P RFVMRV9UWVBFICAgICAgICAgID0gRFhFX0RSSVZFUg0KPiArICBWRVJTSU9OX1NUUklORyAgICAg ICA9IDEuMA0KPiArICBFTlRSWV9QT0lOVCAgICAgICAgICA9IFBjaVBsYXRmb3JtRHJpdmVyRW50 cnkNCj4gKw0KPiArW3NvdXJjZXMuY29tbW9uXQ0KPiArICBCb2FyZFBjaVBsYXRmb3JtLmMNCj4g KyAgUGNpUGxhdGZvcm0uYw0KPiArICBQY2lQbGF0Zm9ybS5oDQo+ICsNCj4gK1tHdWlkc10NCj4g KyAgZ0VmaU5vcm1hbFNldHVwR3VpZA0KPiArICBnRWZpUGxhdGZvcm1Cb290TW9kZUd1aWQNCj4g Kw0KPiArW1Byb3RvY29sc10NCj4gKyAgZ0VmaVBjaVBsYXRmb3JtUHJvdG9jb2xHdWlkDQo+ICsg IGdFZmlDcHVJb1Byb3RvY29sR3VpZA0KPiArICBnRWZpRmlybXdhcmVWb2x1bWUyUHJvdG9jb2xH dWlkDQo+ICsgIGdFZmlQY2lSb290QnJpZGdlSW9Qcm90b2NvbEd1aWQNCj4gKyAgZ0VmaVBjaUlv UHJvdG9jb2xHdWlkDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMN Cj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQ a2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnLmRlYw0KPiArICBJbnRlbEZyYW1ld29ya1BrZy9JbnRlbEZyYW1ld29ya1BrZy5k ZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBIb2JMaWINCj4gKyAgVWVmaURyaXZl ckVudHJ5UG9pbnQNCj4gKyAgQmFzZUxpYg0KPiArICBCYXNlTWVtb3J5TGliDQo+ICsgIFVlZmlE cml2ZXJFbnRyeVBvaW50DQo+ICsgIFVlZmlCb290U2VydmljZXNUYWJsZUxpYg0KPiArICBVZWZp UnVudGltZVNlcnZpY2VzVGFibGVMaWINCj4gKyAgRHhlU2VydmljZXNUYWJsZUxpYg0KPiArDQo+ ICtbQnVpbGRPcHRpb25zXQ0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIGdFZmlWYXJpYWJsZUFyY2hQ cm90b2NvbEd1aWQgQU5EDQo+ICsgIGdFZmlWYXJpYWJsZVdyaXRlQXJjaFByb3RvY29sR3VpZA0K PiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1D YXBzdWxlLmRzYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt Q2Fwc3VsZS5kc2MNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u NTI0YmI3NGUyYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtQ2Fwc3VsZS5kc2MNCj4gQEAgLTAsMCArMSwzOSBAQA0KPiAr Iy8qKiBAZmlsZQ0KPiArIyBQbGF0Zm9ybSBjYXBzdWxlIGRlc2NyaXB0aW9uLg0KPiArIw0KPiAr IyBDb3B5cmlnaHQgKGMpIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKyMqKi8NCj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIFBM QVRGT1JNX05BTUUgICAgICAgICAgICAgICAgICA9IFZsdjJUYmx0RGV2aWNlUGtnDQo+ICsgIFBM QVRGT1JNX0dVSUQgICAgICAgICAgICAgICAgICA9IEVFODdGMjU4LTZFQ0MtNDQxNS1CMUQ4LTIz NzcxQkVFMjZFNw0KPiArICBQTEFURk9STV9WRVJTSU9OICAgICAgICAgICAgICAgPSAwLjENCj4g KyAgRkxBU0hfREVGSU5JVElPTiAgICAgICAgICAgICAgID0gVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1DYXBzdWxlLmZkZg0KPiArICBPVVRQVVRfRElSRUNUT1JZICAgICAgICAgICAgICAgPSBC dWlsZC9WbHYyVGJsdERldmljZVBrZw0KPiArICBTVVBQT1JURURfQVJDSElURUNUVVJFUyAgICAg ICAgPSBJQTMyfFg2NA0KPiArICBCVUlMRF9UQVJHRVRTICAgICAgICAgICAgICAgICAgPSBERUJV R3xSRUxFQVNFDQo+ICsgIFNLVUlEX0lERU5USUZJRVIgICAgICAgICAgICAgICA9IERFRkFVTFQN Cj4gKyAgUE9TVEJVSUxEICAgICAgICAgICAgICAgICAgICAgID0NCj4gVmx2MlRibHREZXZpY2VQ a2cvRmVhdHVyZS9DYXBzdWxlL0dlbmVyYXRlQ2Fwc3VsZS9HZW5DYXBzdWxlQWxsLmJhdA0KPiAr DQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICsj DQo+ICsjIENvbXBvbmVudHMgU2VjdGlvbiAtIGxpc3Qgb2YgdGhlIG1vZHVsZXMgYW5kIGNvbXBv bmVudHMgdGhhdCB3aWxsIGJlDQo+IHByb2Nlc3NlZCBieSBjb21waWxhdGlvbg0KPiArIyAgICAg ICAgICAgICAgICAgICAgICB0b29scyBhbmQgdGhlIEVESyBJSSB0b29scyB0byBnZW5lcmF0ZSBQ RTMyL1BFMzIrL0NvZmYgaW1hZ2UNCj4gZmlsZXMuDQo+ICsjDQo+ICsjIE5vdGU6IFRoZSBFREsg SUkgRFNDIGZpbGUgaXMgbm90IHVzZWQgdG8gc3BlY2lmeSBob3cgY29tcGlsZWQgYmluYXJ5DQo+ IGltYWdlcyBnZXQgcGxhY2VkDQo+ICsjICAgICAgIGludG8gZmlybXdhcmUgdm9sdW1lIGltYWdl cy4gVGhpcyBzZWN0aW9uIGlzIGp1c3QgYSBsaXN0IG9mIG1vZHVsZXMgdG8NCj4gY29tcGlsZSBm cm9tDQo+ICsjICAgICAgIHNvdXJjZSBpbnRvIFVFRkktY29tcGxpYW50IGJpbmFyaWVzLg0KPiAr IyAgICAgICBJdCBpcyB0aGUgRkRGIGZpbGUgdGhhdCBjb250YWlucyBpbmZvcm1hdGlvbiBvbiBj b21iaW5pbmcgYmluYXJ5IGZpbGVzIGludG8NCj4gZmlybXdhcmUNCj4gKyMgICAgICAgdm9sdW1l IGltYWdlcywgd2hvc2UgY29uY2VwdCBpcyBiZXlvbmQgVUVGSSBhbmQgaXMgZGVzY3JpYmVkIGlu IFBJDQo+IHNwZWNpZmljYXRpb24uDQo+ICsjICAgICAgIEJpbmFyeSBtb2R1bGVzIGRvIG5vdCBu ZWVkIHRvIGJlIGxpc3RlZCBpbiB0aGlzIHNlY3Rpb24sIGFzIHRoZXkgc2hvdWxkDQo+IGJlDQo+ ICsjICAgICAgIHNwZWNpZmllZCBpbiB0aGUgRkRGIGZpbGUuIEZvciBleGFtcGxlOiBTaGVsbCBi aW5hcnksIEZBVCBiaW5hcnkgKEZhdC5lZmkpLA0KPiArIyAgICAgICBMb2dvIChMb2dvLmJtcCks IGFuZCBldGMuDQo+ICsjICAgICAgIFRoZXJlIG1heSBhbHNvIGJlIG1vZHVsZXMgbGlzdGVkIGlu IHRoaXMgc2VjdGlvbiB0aGF0IGFyZSBub3QgcmVxdWlyZWQNCj4gaW4gdGhlIEZERiBmaWxlLA0K PiArIyAgICAgICBXaGVuIGEgbW9kdWxlIGxpc3RlZCBoZXJlIGlzIGV4Y2x1ZGVkIGZyb20gRkRG IGZpbGUsIHRoZW4gVUVGSS0NCj4gY29tcGxpYW50IGJpbmFyeSB3aWxsIGJlDQo+ICsjICAgICAg IGdlbmVyYXRlZCBmb3IgaXQsIGJ1dCB0aGUgYmluYXJ5IHdpbGwgbm90IGJlIHB1dCBpbnRvIGFu eSBmaXJtd2FyZQ0KPiB2b2x1bWUuDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9QbGF0Zm9ybUNhcHN1bGUuZmRmDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1DYXBzdWxlLmZkZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40M2RkOTg3ZWFmDQo+IC0tLSAvZGV2L251bGwNCj4gKysr IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1DYXBzdWxlLmZkZg0K PiBAQCAtMCwwICsxLDUyIEBADQo+ICsjIyBAZmlsZQ0KPiArIyBGREYgZmlsZSBvZiBQbGF0Zm9y bSBjYXBzdWxlLg0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMTYgSW50ZWwgQ29ycG9yYXRp b24uDQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsjDQo+ICsjIw0KPiArDQo+ICtbRlYuU3lzdGVtRmlybXdhcmVVcGRhdGVDYXJnb10N Cj4gK0Z2QWxpZ25tZW50ICAgICAgICA9IDE2DQo+ICtFUkFTRV9QT0xBUklUWSAgICAgPSAxDQo+ ICtNRU1PUllfTUFQUEVEICAgICAgPSBUUlVFDQo+ICtTVElDS1lfV1JJVEUgICAgICAgPSBUUlVF DQo+ICtMT0NLX0NBUCAgICAgICAgICAgPSBUUlVFDQo+ICtMT0NLX1NUQVRVUyAgICAgICAgPSBU UlVFDQo+ICtXUklURV9ESVNBQkxFRF9DQVAgPSBUUlVFDQo+ICtXUklURV9FTkFCTEVEX0NBUCAg PSBUUlVFDQo+ICtXUklURV9TVEFUVVMgICAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX0NBUCAg ICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX1NUQVRVUyAgPSBUUlVFDQo+ICtSRUFEX0RJU0FCTEVE X0NBUCAgPSBUUlVFDQo+ICtSRUFEX0VOQUJMRURfQ0FQICAgPSBUUlVFDQo+ICtSRUFEX1NUQVRV UyAgICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfQ0FQICAgICAgPSBUUlVFDQo+ICtSRUFEX0xP Q0tfU1RBVFVTICAgPSBUUlVFDQo+ICsNCj4gK0ZJTEUgUkFXID0gQUY5QzlFQjItMTJBRC00RDNF LUE0RDQtOTZGNkM5OTY2MjE1IHsgIw0KPiBQY2RFZGtpaVN5c3RlbUZpcm13YXJlRmlsZUd1aWQN Cj4gKw0KPiAkKFdPUktTUEFDRSkvJChPVVRQVVRfRElSRUNUT1JZKS8kKFRBUkdFVClfJChUT09M X0NIQUlOX1RBRykvRg0KPiBWL1Zsdi5ST00NCj4gKyAgfQ0KPiArDQo+ICtGSUxFIFJBVyA9IDgx MjEzNkQzLTREM0EtNDMzQS05NDE4LTI5QkI5QkY3OEY2RSB7ICMNCj4gZ0Vka2lpU3lzdGVtRm1w Q2Fwc3VsZUNvbmZpZ0ZpbGVHdWlkDQo+ICsNCj4gVmx2MlRibHREZXZpY2VQa2cvRmVhdHVyZS9D YXBzdWxlL1N5c3RlbUZpcm13YXJlVXBkYXRlQ29uZmlnL1N5c3RlbQ0KPiBGaXJtd2FyZVVwZGF0 ZUNvbmZpZy5pbmkNCj4gKyAgfQ0KPiArDQo+ICtbRm1wUGF5bG9hZC5GbXBQYXlsb2FkU3lzdGVt RmlybXdhcmVSc2EyMDQ4XQ0KPiArSU1BR0VfSEVBREVSX0lOSVRfVkVSU0lPTiA9IDB4MDINCj4g K0lNQUdFX1RZUEVfSUQgICAgICAgICAgICAgPSA0MDk2MjY3Yi1kYTBhLTQyZWItYjVlYi1mZWYz MWQyMDdjYjQgIw0KPiBQY2RTeXN0ZW1GbXBDYXBzdWxlSW1hZ2VUeXBlSWRHdWlkDQo+ICtJTUFH RV9JTkRFWCAgICAgICAgICAgICAgID0gMHgxDQo+ICtIQVJEV0FSRV9JTlNUQU5DRSAgICAgICAg ID0gMHgwDQo+ICtNT05PVE9OSUNfQ09VTlQgICAgICAgICAgID0gMHgyDQo+ICtDRVJUSUZJQ0FU RV9HVUlEICAgICAgICAgID0gQTc3MTc0MTQtQzYxNi00OTc3LTk0MjAtODQ0NzEyQTczNUJGICMN Cj4gUlNBMjA0OFNIQTI1Ng0KPiArDQo+ICtGSUxFIERBVEEgPQ0KPiAkKFdPUktTUEFDRSkvJChP VVRQVVRfRElSRUNUT1JZKS8kKFRBUkdFVClfJChUT09MX0NIQUlOX1RBRykvRg0KPiBWL1NZU1RF TUZJUk1XQVJFVVBEQVRFQ0FSR08uRnYNCj4gKw0KPiArW0NhcHN1bGUuVmx2MlJlY10NCj4gK0NB UFNVTEVfR1VJRCAgICAgICAgICAgICAgICA9IDZkY2JkNWVkLWU4MmQtNGM0NC1iZGExLTcxOTQx OTlhZDkyYSAjDQo+IGdFZmlGbXBDYXBzdWxlR3VpZA0KPiArQ0FQU1VMRV9GTEFHUyAgICAgICAg ICAgICAgID0gUGVyc2lzdEFjcm9zc1Jlc2V0LEluaXRpYXRlUmVzZXQNCj4gK0NBUFNVTEVfSEVB REVSX1NJWkUgICAgICAgICA9IDB4MjANCj4gK0NBUFNVTEVfSEVBREVSX0lOSVRfVkVSU0lPTiA9 IDB4MQ0KPiArDQo+ICtGTVBfUEFZTE9BRCA9IEZtcFBheWxvYWRTeXN0ZW1GaXJtd2FyZVJzYTIw NDgNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtQ2Fwc3VsZUdjYy5kc2MNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q bGF0Zm9ybUNhcHN1bGVHY2MuZHNjDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjE4NTZhYzM0OWINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNhcHN1bGVHY2MuZHNjDQo+IEBAIC0wLDAg KzEsMzggQEANCj4gKyMvKiogQGZpbGUNCj4gKyMgUGxhdGZvcm0gY2Fwc3VsZSBkZXNjcmlwdGlv bi4NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjKiovDQo+ICsNCj4gK1tEZWZpbmVzXQ0K PiArICBQTEFURk9STV9OQU1FICAgICAgICAgICAgICAgICAgPSBWbHYyVGJsdERldmljZVBrZw0K PiArICBQTEFURk9STV9HVUlEICAgICAgICAgICAgICAgICAgPSBFRTg3RjI1OC02RUNDLTQ0MTUt QjFEOC0yMzc3MUJFRTI2RTcNCj4gKyAgUExBVEZPUk1fVkVSU0lPTiAgICAgICAgICAgICAgID0g MC4xDQo+ICsgIEZMQVNIX0RFRklOSVRJT04gICAgICAgICAgICAgICA9IFZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtQ2Fwc3VsZUdjYy5mZGYNCj4gKyAgT1VUUFVUX0RJUkVDVE9SWSAgICAgICAg ICAgICAgID0gQnVpbGQvVmx2MlRibHREZXZpY2VQa2cNCj4gKyAgU1VQUE9SVEVEX0FSQ0hJVEVD VFVSRVMgICAgICAgID0gSUEzMnxYNjQNCj4gKyAgQlVJTERfVEFSR0VUUyAgICAgICAgICAgICAg ICAgID0gREVCVUd8UkVMRUFTRQ0KPiArICBTS1VJRF9JREVOVElGSUVSICAgICAgICAgICAgICAg PSBERUZBVUxUDQo+ICsgIFBPU1RCVUlMRCAgICAgICAgICAgICAgICAgICAgICA9DQo+IFZsdjJU Ymx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9HZW5lcmF0ZUNhcHN1bGUvR2VuQ2Fwc3VsZUFs bC5zaA0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjDQo+ICsjDQo+ICsjIENvbXBvbmVudHMgU2VjdGlvbiAtIGxpc3Qgb2YgdGhlIG1vZHVsZXMg YW5kIGNvbXBvbmVudHMgdGhhdCB3aWxsIGJlDQo+IHByb2Nlc3NlZCBieSBjb21waWxhdGlvbg0K PiArIyAgICAgICAgICAgICAgICAgICAgICB0b29scyBhbmQgdGhlIEVESyBJSSB0b29scyB0byBn ZW5lcmF0ZSBQRTMyL1BFMzIrL0NvZmYgaW1hZ2UNCj4gZmlsZXMuDQo+ICsjDQo+ICsjIE5vdGU6 IFRoZSBFREsgSUkgRFNDIGZpbGUgaXMgbm90IHVzZWQgdG8gc3BlY2lmeSBob3cgY29tcGlsZWQg YmluYXJ5DQo+IGltYWdlcyBnZXQgcGxhY2VkDQo+ICsjICAgICAgIGludG8gZmlybXdhcmUgdm9s dW1lIGltYWdlcy4gVGhpcyBzZWN0aW9uIGlzIGp1c3QgYSBsaXN0IG9mIG1vZHVsZXMgdG8NCj4g Y29tcGlsZSBmcm9tDQo+ICsjICAgICAgIHNvdXJjZSBpbnRvIFVFRkktY29tcGxpYW50IGJpbmFy aWVzLg0KPiArIyAgICAgICBJdCBpcyB0aGUgRkRGIGZpbGUgdGhhdCBjb250YWlucyBpbmZvcm1h dGlvbiBvbiBjb21iaW5pbmcgYmluYXJ5IGZpbGVzIGludG8NCj4gZmlybXdhcmUNCj4gKyMgICAg ICAgdm9sdW1lIGltYWdlcywgd2hvc2UgY29uY2VwdCBpcyBiZXlvbmQgVUVGSSBhbmQgaXMgZGVz Y3JpYmVkIGluIFBJDQo+IHNwZWNpZmljYXRpb24uDQo+ICsjICAgICAgIEJpbmFyeSBtb2R1bGVz IGRvIG5vdCBuZWVkIHRvIGJlIGxpc3RlZCBpbiB0aGlzIHNlY3Rpb24sIGFzIHRoZXkgc2hvdWxk DQo+IGJlDQo+ICsjICAgICAgIHNwZWNpZmllZCBpbiB0aGUgRkRGIGZpbGUuIEZvciBleGFtcGxl OiBTaGVsbCBiaW5hcnksIEZBVCBiaW5hcnkgKEZhdC5lZmkpLA0KPiArIyAgICAgICBMb2dvIChM b2dvLmJtcCksIGFuZCBldGMuDQo+ICsjICAgICAgIFRoZXJlIG1heSBhbHNvIGJlIG1vZHVsZXMg bGlzdGVkIGluIHRoaXMgc2VjdGlvbiB0aGF0IGFyZSBub3QgcmVxdWlyZWQNCj4gaW4gdGhlIEZE RiBmaWxlLA0KPiArIyAgICAgICBXaGVuIGEgbW9kdWxlIGxpc3RlZCBoZXJlIGlzIGV4Y2x1ZGVk IGZyb20gRkRGIGZpbGUsIHRoZW4gVUVGSS0NCj4gY29tcGxpYW50IGJpbmFyeSB3aWxsIGJlDQo+ ICsjICAgICAgIGdlbmVyYXRlZCBmb3IgaXQsIGJ1dCB0aGUgYmluYXJ5IHdpbGwgbm90IGJlIHB1 dCBpbnRvIGFueSBmaXJtd2FyZQ0KPiB2b2x1bWUuDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNhcHN1bGVHY2MuZmRmDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1DYXBzdWxlR2NjLmZkZg0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43OTE3YmUzZDY4DQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1DYXBzdWxlR2NjLmZkZg0KPiBAQCAtMCwwICsxLDUyIEBADQo+ICsjIyBAZmlsZQ0KPiArIyBG REYgZmlsZSBvZiBQbGF0Zm9ybSBjYXBzdWxlLg0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIw MTYgSW50ZWwgQ29ycG9yYXRpb24uDQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjIw0KPiArDQo+ICtbRlYuU3lzdGVtRmly bXdhcmVVcGRhdGVDYXJnb10NCj4gK0Z2QWxpZ25tZW50ICAgICAgICA9IDE2DQo+ICtFUkFTRV9Q T0xBUklUWSAgICAgPSAxDQo+ICtNRU1PUllfTUFQUEVEICAgICAgPSBUUlVFDQo+ICtTVElDS1lf V1JJVEUgICAgICAgPSBUUlVFDQo+ICtMT0NLX0NBUCAgICAgICAgICAgPSBUUlVFDQo+ICtMT0NL X1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ICtXUklURV9ESVNBQkxFRF9DQVAgPSBUUlVFDQo+ICtX UklURV9FTkFCTEVEX0NBUCAgPSBUUlVFDQo+ICtXUklURV9TVEFUVVMgICAgICAgPSBUUlVFDQo+ ICtXUklURV9MT0NLX0NBUCAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX1NUQVRVUyAgPSBUUlVF DQo+ICtSRUFEX0RJU0FCTEVEX0NBUCAgPSBUUlVFDQo+ICtSRUFEX0VOQUJMRURfQ0FQICAgPSBU UlVFDQo+ICtSRUFEX1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfQ0FQICAgICAg PSBUUlVFDQo+ICtSRUFEX0xPQ0tfU1RBVFVTICAgPSBUUlVFDQo+ICsNCj4gK0ZJTEUgUkFXID0g QUY5QzlFQjItMTJBRC00RDNFLUE0RDQtOTZGNkM5OTY2MjE1IHsgIw0KPiBQY2RFZGtpaVN5c3Rl bUZpcm13YXJlRmlsZUd1aWQNCj4gKw0KPiAkKFdPUktTUEFDRSkvJChPVVRQVVRfRElSRUNUT1JZ KS8kKFRBUkdFVClfJChUT09MX0NIQUlOX1RBRykvRg0KPiBWL1Zsdi5ST00NCj4gKyAgfQ0KPiAr DQo+ICtGSUxFIFJBVyA9IDgxMjEzNkQzLTREM0EtNDMzQS05NDE4LTI5QkI5QkY3OEY2RSB7ICMN Cj4gZ0Vka2lpU3lzdGVtRm1wQ2Fwc3VsZUNvbmZpZ0ZpbGVHdWlkDQo+ICsNCj4gVmx2MlRibHRE ZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL1N5c3RlbUZpcm13YXJlVXBkYXRlQ29uZmlnL1N5c3Rl bQ0KPiBGaXJtd2FyZVVwZGF0ZUNvbmZpZ0djYy5pbmkNCj4gKyAgfQ0KPiArDQo+ICtbRm1wUGF5 bG9hZC5GbXBQYXlsb2FkU3lzdGVtRmlybXdhcmVSc2EyMDQ4XQ0KPiArSU1BR0VfSEVBREVSX0lO SVRfVkVSU0lPTiA9IDB4MDINCj4gK0lNQUdFX1RZUEVfSUQgICAgICAgICAgICAgPSA0MDk2MjY3 Yi1kYTBhLTQyZWItYjVlYi1mZWYzMWQyMDdjYjQgIw0KPiBQY2RTeXN0ZW1GbXBDYXBzdWxlSW1h Z2VUeXBlSWRHdWlkDQo+ICtJTUFHRV9JTkRFWCAgICAgICAgICAgICAgID0gMHgxDQo+ICtIQVJE V0FSRV9JTlNUQU5DRSAgICAgICAgID0gMHgwDQo+ICtNT05PVE9OSUNfQ09VTlQgICAgICAgICAg ID0gMHgyDQo+ICtDRVJUSUZJQ0FURV9HVUlEICAgICAgICAgID0gQTc3MTc0MTQtQzYxNi00OTc3 LTk0MjAtODQ0NzEyQTczNUJGICMNCj4gUlNBMjA0OFNIQTI1Ng0KPiArDQo+ICtGSUxFIERBVEEg PQ0KPiAkKFdPUktTUEFDRSkvJChPVVRQVVRfRElSRUNUT1JZKS8kKFRBUkdFVClfJChUT09MX0NI QUlOX1RBRykvRg0KPiBWL1NZU1RFTUZJUk1XQVJFVVBEQVRFQ0FSR08uRnYNCj4gKw0KPiArW0Nh cHN1bGUuVmx2MlJlY10NCj4gK0NBUFNVTEVfR1VJRCAgICAgICAgICAgICAgICA9IDZkY2JkNWVk LWU4MmQtNGM0NC1iZGExLTcxOTQxOTlhZDkyYSAjDQo+IGdFZmlGbXBDYXBzdWxlR3VpZA0KPiAr Q0FQU1VMRV9GTEFHUyAgICAgICAgICAgICAgID0gUGVyc2lzdEFjcm9zc1Jlc2V0LEluaXRpYXRl UmVzZXQNCj4gK0NBUFNVTEVfSEVBREVSX1NJWkUgICAgICAgICA9IDB4MjANCj4gK0NBUFNVTEVf SEVBREVSX0lOSVRfVkVSU0lPTiA9IDB4MQ0KPiArDQo+ICtGTVBfUEFZTE9BRCA9IEZtcFBheWxv YWRTeXN0ZW1GaXJtd2FyZVJzYTIwNDgNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtQ3B1SW5mb0R4ZS9QbGF0Zm9ybUNwdUluZm9EDQo+ IHhlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNwdUlu Zm9EeGUvUGxhdGZvcm1DcHVJbmZvRA0KPiB4ZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLmQzNWExNTgxODENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNwdUluZm9EeGUvUGxh dGZvcm1DcHVJbmZvRA0KPiB4ZS5jDQo+IEBAIC0wLDAgKzEsNjAgQEANCj4gKy8qKiBAZmlsZQ0K PiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKyAgUGxhdGZvcm1DcHVJbmZvRHhlLmMNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsgIFBsYXRmb3JtIENwdSBJbmZvIGRyaXZlciB0byBwdWJsaWMgcGxhdGZvcm0gcmVsYXRl ZCBIT0IgZGF0YQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJQbGF0Zm9ybUNwdUlu Zm9EeGUuaCINCj4gKw0KPiArQ0hBUjE2ICAgIEVmaVBsYXRmb3JtQ3B1SW5mb1ZhcmlhYmxlW10g PSBMIlBsYXRmb3JtQ3B1SW5mbyI7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiAr UGxhdGZvcm1DcHVJbmZvSW5pdCAoDQo+ICsgIElOIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAg ICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgICAgICAgICAg ICAgICAgICAgKlN5c3RlbVRhYmxlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1BMQVRGT1JNX0NQVV9JTkZPICAgICAgICpQ bGF0Zm9ybUNwdUluZm9QdHI7DQo+ICsgIEVGSV9QRUlfSE9CX1BPSU5URVJTICAgICAgICBHdWlk SG9iOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCBQbGF0Zm9ybSBDcHUgSW5mbyBIT0INCj4g KyAgLy8NCj4gKyAgR3VpZEhvYi5SYXcgPSBHZXRIb2JMaXN0ICgpOw0KPiArICB3aGlsZSAoKEd1 aWRIb2IuUmF3ID0gR2V0TmV4dEd1aWRIb2IgKCZnRWZpUGxhdGZvcm1DcHVJbmZvR3VpZCwNCj4g R3VpZEhvYi5SYXcpKSAhPSBOVUxMKSB7DQo+ICsgICAgUGxhdGZvcm1DcHVJbmZvUHRyID0gR0VU X0dVSURfSE9CX0RBVEEgKEd1aWRIb2IuR3VpZCk7DQo+ICsgICAgR3VpZEhvYi5SYXcgPSBHRVRf TkVYVF9IT0IgKEd1aWRIb2IpOw0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gV3JpdGUg dGhlIFBsYXRmb3JtIENQVSBJbmZvIHRvIHZvbGF0aWxlIG1lbW9yeSBmb3IgcnVudGltZSBwdXJw b3Nlcy4NCj4gKyAgICAgIC8vIFRoaXMgbXVzdCBiZSBkb25lIGluIGl0cyBvd24gZHJpdmVyIGJl Y2F1c2UgU2V0VmFyaWFibGUgcHJvdG9jb2wgaXMNCj4gZGVwZW5kZW50IG9uIGNoaXBzZXQsDQo+ ICsgICAgICAvLyB3aGljaCBpcyBkZXBlbmRlbnQgb24gQ3B1SW8sIFBsYXRmb3JtSW5mbywgYW5k IE1ldHJvbm9tZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdGF0dXMgPSBnUlQtPlNldFZhcmlh YmxlKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEVmaVBsYXRmb3JtQ3B1SW5mb1ZhcmlhYmxl LA0KPiArICAgICAgICAgICAgICAgICAgICAgICZnRWZpVmx2MlZhcmlhYmxlR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTIHwNCj4g RUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTLA0KPiArICAgICAgICAgICAgICAgICAgICAgIHNp emVvZihFRklfUExBVEZPUk1fQ1BVX0lORk8pLA0KPiArICAgICAgICAgICAgICAgICAgICAgIFBs YXRmb3JtQ3B1SW5mb1B0cg0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBp ZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICAgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAg ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsN Cj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtQ3B1SW5mb0R4ZS9QbGF0Zm9ybUNwdUluZm9EDQo+IHhlLmgNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUNwdUluZm9EeGUvUGxhdGZvcm1DcHVJbmZvRA0K PiB4ZS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmIxMzYx MWY0ZjgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9QbGF0Zm9ybUNwdUluZm9EeGUvUGxhdGZvcm1DcHVJbmZvRA0KPiB4ZS5oDQo+ IEBAIC0wLDAgKzEsMjkgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQg IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAr DQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsgIFBsYXRmb3JtQ3B1 SW5mb0R4ZS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArICBQbGF0Zm9ybSBDcHUgSW5mbyBEcml2 ZXIuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfUExBVEZPUk1fQ1BVX0lORk9fRFJJ VkVSX0hfDQo+ICsjZGVmaW5lIF9QTEFURk9STV9DUFVfSU5GT19EUklWRVJfSF8NCj4gKw0KPiAr I2luY2x1ZGUgIlBpRHhlLmgiDQo+ICsjaW5jbHVkZSAiTGlicmFyeS9Ib2JMaWIuaCINCj4gKyNp bmNsdWRlICJHdWlkL0dsb2JhbFZhcmlhYmxlLmgiDQo+ICsjaW5jbHVkZSAiR3VpZC9BY3BpVmFy aWFibGVDb21wYXRpYmlsaXR5LmgiDQo+ICsjaW5jbHVkZSAiR3VpZC9QbGF0Zm9ybUNwdUluZm8u aCINCj4gKyNpbmNsdWRlICJMaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYi5oIg0K PiArI2luY2x1ZGUgPEd1aWQvVmx2MlZhcmlhYmxlLmg+DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZm IC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1DcHVJ bmZvRHhlL1BsYXRmb3JtQ3B1SW5mb0QNCj4geGUuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1DcHVJbmZvRHhlL1BsYXRmb3JtQ3B1SW5mb0QNCj4geGUu aW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmYyYWRlMWIx MDUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9QbGF0Zm9ybUNwdUluZm9EeGUvUGxhdGZvcm1DcHVJbmZvRA0KPiB4ZS5pbmYNCj4g QEAgLTAsMCArMSw1NSBAQA0KPiArIy8qKysNCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAgMTk5 OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArIw0K PiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0K PiArDQo+ICsjDQo+ICsjICBNb2R1bGUgTmFtZToNCj4gKyMNCj4gKyMgICBQbGF0Zm9ybUNwdUlu Zm9EeGUuaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4gKyMNCj4gKyMNCj4gKy0tKi8NCj4g Kw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgPSAweDAwMDEw MDA1DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgID0gUGxhdGZvcm1DcHVJbmZvRHhlDQo+ICsg IEZJTEVfR1VJRCAgICAgICAgICAgID0gMDI1RjczOEItNEVCRC00ZDU1LUI3MjgtNUY0MjFCNjAx RjIwDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgID0gRFhFX0RSSVZFUg0KPiArICBWRVJTSU9O X1NUUklORyAgICAgICA9IDEuMA0KPiArICBFTlRSWV9QT0lOVCAgICAgICAgICA9IFBsYXRmb3Jt Q3B1SW5mb0luaXQNCj4gKw0KPiArW1NvdXJjZXNdDQo+ICsgIFBsYXRmb3JtQ3B1SW5mb0R4ZS5j DQo+ICsgIFBsYXRmb3JtQ3B1SW5mb0R4ZS5oDQo+ICsNCj4gK1tHdWlkc10NCj4gKyAgZ0VmaVBs YXRmb3JtQ3B1SW5mb0d1aWQNCj4gKyAgZ0VmaVZsdjJWYXJpYWJsZUd1aWQNCj4gKw0KPiArW1Bh Y2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9k dWxlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAg Vmx2MlNvY0JpblBrZy9WbHYyU29jQmluUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBr Zy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cv SW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4g KyAgSG9iTGliDQo+ICsgIFVlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYg0KPiArICBVZWZpRHJp dmVyRW50cnlQb2ludA0KPiArDQo+ICtbQnVpbGRPcHRpb25zXQ0KPiArICBNU0ZUOipfKl8qX0ND X0ZMQUdTID0gL09kIC9HTC0NCj4gKyAgSU5URUw6Kl8qXypfQ0NfRkxBR1MgPSAvT2QgL0dMLQ0K PiArDQo+ICtbRGVwZXhdDQo+ICsgIGdFZmlWYXJpYWJsZUFyY2hQcm90b2NvbEd1aWQgQU5EDQo+ ICsgIGdFZmlWYXJpYWJsZVdyaXRlQXJjaFByb3RvY29sR3VpZA0KPiArDQo+IGRpZmYgLS1naXQg YS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9BemFsaWFWZXJi VGFibGUuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhl L0F6YWxpYVZlcmJUYWJsZS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjMzMWQwY2JlZGUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9BemFsaWFWZXJiVGFibGUuaA0KPiBAQCAt MCwwICsxLDI0NyBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4g DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsN Cj4gKw0KPiANCj4gKw0KPiArLS0qLw0KPiArDQo+ICtVSU5UMzIgbUF6YWxpYVZlcmJUYWJsZURh dGExMltdID0gew0KPiArICAvLw0KPiArICAvLyBBdWRpbyBWZXJiIFRhYmxlIC0gMHg4MDg2Mjgw NQ0KPiArICAvLw0KPiArICAvLyBQaW4gV2lkZ2V0IDUgLSBQT1JUIEINCj4gKyAgMHgyMDQ3MUMx MCwNCj4gKyAgMHgyMDQ3MUQwMCwNCj4gKyAgMHgyMDQ3MUU1NiwNCj4gKyAgMHgyMDQ3MUYxOCwN Cj4gKw0KPiArICAvLyBQaW4gV2lkZ2V0IDYgLSBQT1JUIEMNCj4gKyAgMHgyMDU3MUMyMCwNCj4g KyAgMHgyMDU3MUQwMCwNCj4gKyAgMHgyMDU3MUU1NiwNCj4gKyAgMHgyMDU3MUYxOCwNCj4gKw0K PiArICAvLyBQaW4gV2lkZ2V0IDcgLSBQT1JUIEQNCj4gKyAgMHgyMDY3MUMzMCwNCj4gKyAgMHgy MDY3MUQwMCwNCj4gKyAgMHgyMDY3MUU1NiwNCj4gKyAgMHgyMDY3MUY1OA0KPiArfTsNCj4gKw0K PiArDQo+ICtQQ0hfQVpBTElBX1ZFUkJfVEFCTEUgbUF6YWxpYVZlcmJUYWJsZVtdID0gew0KPiAr ICB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBWZXJiVGFibGU6DQo+ICsgICAgLy8gIFJldmlzaW9u IElEID0gMHhGRiwgc3VwcG9ydCBhbGwgc3RlcHMNCj4gKyAgICAvLyAgQ29kZWMgVmVyYiBUYWJs ZSBGb3IgQVpBTElBDQo+ICsgICAgLy8gIENvZGVjIEFkZHJlc3M6IENBZCB2YWx1ZSAoMC8xLzIp DQo+ICsgICAgLy8gIENvZGVjIFZlbmRvcjogIDB4MTBFQzA4ODANCj4gKyAgICAvLw0KPiArICAg IHsNCj4gKyAgICAgIDB4MTBFQzA4ODAsICAgICAvLyBWZW5kb3IgSUQvRGV2aWNlIElEDQo+ICsg ICAgICAweDAwMDAsICAgICAgICAgLy8gU3ViU3lzdGVtIElEDQo+ICsgICAgICAweEZGLCAgICAg ICAgICAgLy8gUmV2aXNpb24gSUQNCj4gKyAgICAgIDB4MDEsICAgICAgICAgICAvLyBGcm9udCBw YW5lbCBzdXBwb3J0ICgxPXllcywgMj1ubykNCj4gKyAgICAgIDB4MDAwQSwgICAgICAgICAvLyBO dW1iZXIgb2YgUmVhciBKYWNrcyA9IDEwDQo+ICsgICAgICAweDAwMDIgICAgICAgICAgLy8gTnVt YmVyIG9mIEZyb250IEphY2tzID0gMg0KPiArICAgIH0sDQo+ICsgICAgMCAgICAgICAgICAgICAg ICAgLy8gUG9pbnRlciB0byB2ZXJiIHRhYmxlIGRhdGEsIG5lZWQgdG8gYmUgaW5pdGVkIGluIHRo ZSBjb2RlLg0KPiArICB9LA0KPiArICB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZXZpc2lvbiBJ RCA+PSAweDAzDQo+ICsgICAgLy8gQ29kZWMgVmVyYiBUYWJsZSBGb3IgQVpBTElBDQo+ICsgICAg Ly8gQ29kZWMgQWRkcmVzczogQ0FkIHZhbHVlICgwLzEvMikNCj4gKyAgICAvLyBDb2RlYyBWZW5k b3I6IDB4NDM0RDQ5ODANCj4gKyAgICAvLw0KPiArICAgIHsNCj4gKyAgICAgIDB4NDM0RDQ5ODAs ICAgICAvLyBWZW5kb3IgSUQvRGV2aWNlIElEDQo+ICsgICAgICAweDAwMDAsICAgICAgICAgLy8g U3ViU3lzdGVtIElEDQo+ICsgICAgICAweDAwLCAgICAgICAgICAgLy8gUmV2aXNpb24gSUQNCj4g KyAgICAgIDB4MDEsICAgICAgICAgICAvLyBGcm9udCBwYW5lbCBzdXBwb3J0ICgxPXllcywgMj1u bykNCj4gKyAgICAgIDB4MDAwOSwgICAgICAgICAvLyBOdW1iZXIgb2YgUmVhciBKYWNrcyA9IDkN Cj4gKyAgICAgIDB4MDAwMiAgICAgICAgICAvLyBOdW1iZXIgb2YgRnJvbnQgSmFja3MgPSAyDQo+ ICsgICAgfSwNCj4gKyAgICAwICAgICAgICAgICAgICAgICAvLyBQb2ludGVyIHRvIHZlcmIgdGFi bGUgZGF0YSwgbmVlZCB0byBiZSBpbml0ZWQgaW4gdGhlIGNvZGUuDQo+ICsgIH0sDQo+ICsgIHsN Cj4gKyAgICAvLw0KPiArICAgIC8vIExhd25kYWxlIEF6YWxpYSBBdWRpbyBDb2RlYyBWZXJiIFRh YmxlDQo+ICsgICAgLy8gUmV2aXNpb24gSUQgPSAweDAwDQo+ICsgICAgLy8gQ29kZWMgQWRkcmVz czogQ0FkIHZhbHVlICgwLzEvMikNCj4gKyAgICAvLyBDb2RlYyBWZW5kb3I6IDB4MTFENDE5ODQN Cj4gKyAgICAvLw0KPiArICAgIHsNCj4gKyAgICAgIDB4MTFENDE5ODQsICAgICAvLyBWZW5kb3Ig SUQvRGV2aWNlIElEDQo+ICsgICAgICAweDAwMDAsICAgICAgICAgLy8gU3ViU3lzdGVtIElEDQo+ ICsgICAgICAweDA0LCAgICAgICAgICAgLy8gUmV2aXNpb24gSUQNCj4gKyAgICAgIDB4MDEsICAg ICAgICAgICAvLyBGcm9udCBwYW5lbCBzdXBwb3J0ICgxPXllcywgMj1ubykNCj4gKyAgICAgIDB4 MDAwOSwgICAgICAgICAvLyBOdW1iZXIgb2YgUmVhciBKYWNrcyA9IDkNCj4gKyAgICAgIDB4MDAw MiAgICAgICAgICAvLyBOdW1iZXIgb2YgRnJvbnQgSmFja3MgPSAyDQo+ICsgICAgfSwNCj4gKyAg ICAwICAgICAgICAgICAgICAgICAvLyBQb2ludGVyIHRvIHZlcmIgdGFibGUgZGF0YSwgbmVlZCB0 byBiZSBpbml0ZWQgaW4gdGhlIGNvZGUuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIFZlcmJUYWJsZToNCj4gKyAgICAvLyAgUmV2aXNpb24gSUQgPSAweEZGLCBzdXBwb3J0 IGFsbCBzdGVwcw0KPiArICAgIC8vICBDb2RlYyBWZXJiIFRhYmxlIEZvciBBWkFMSUENCj4gKyAg ICAvLyAgQ29kZWMgQWRkcmVzczogQ0FkIHZhbHVlICgwLzEvMikNCj4gKyAgICAvLyAgQ29kZWMg VmVuZG9yOiAweDExRDQxOTg2DQo+ICsgICAgLy8NCj4gKyAgICB7DQo+ICsgICAgICAweDExRDQx OTg2LCAgICAgLy8gVmVuZG9yIElEL0RldmljZSBJRA0KPiArICAgICAgMHgwMDAxLCAgICAgICAg IC8vIFN1YlN5c3RlbSBJRA0KPiArICAgICAgMHhGRiwgICAgICAgICAgIC8vIFJldmlzaW9uIElE DQo+ICsgICAgICAweDAxLCAgICAgICAgICAgLy8gRnJvbnQgcGFuZWwgc3VwcG9ydCAoMT15ZXMs IDI9bm8pDQo+ICsgICAgICAweDAwMEEsICAgICAgICAgLy8gTnVtYmVyIG9mIFJlYXIgSmFja3Mg PSA4DQo+ICsgICAgICAweDAwMDIgICAgICAgICAgLy8gTnVtYmVyIG9mIEZyb250IEphY2tzID0g Mg0KPiArICAgIH0sDQo+ICsgICAgMCAgICAgICAgICAgICAgICAgLy8gUG9pbnRlciB0byB2ZXJi IHRhYmxlIGRhdGEsIG5lZWQgdG8gYmUgaW5pdGVkIGluIHRoZSBjb2RlLg0KPiArICB9LA0KPiAr ICB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBWZXJiVGFibGU6IChmb3IgU2xpbSBSaXZlciwgRkZE UzMpDQo+ICsgICAgLy8gIFJldmlzaW9uIElEID0gMHgwMA0KPiArICAgIC8vICBDb2RlYyBWZXJi IFRhYmxlIEZvciBBWkFMSUENCj4gKyAgICAvLyAgQ29kZWMgQWRkcmVzczogQ0FkIHZhbHVlICgw LzEvMikNCj4gKyAgICAvLyAgQ29kZWMgVmVuZG9yOiAweDEwRUMwMjcyDQo+ICsgICAgLy8NCj4g KyAgICB7DQo+ICsgICAgICAweDEwRUMwMjcyLCAgICAgLy8gVmVuZG9yIElEL0RldmljZSBJRA0K PiArICAgICAgMHgwMDAwLCAgICAgICAgIC8vIFN1YlN5c3RlbSBJRA0KPiArICAgICAgMHgwMCwg ICAgICAgICAgIC8vIFJldmlzaW9uIElEDQo+ICsgICAgICAweDAxLCAgICAgICAgICAgLy8gRnJv bnQgcGFuZWwgc3VwcG9ydCAoMT15ZXMsIDI9bm8pDQo+ICsgICAgICAweDAwMEUsICAgICAgICAg Ly8gTnVtYmVyIG9mIFJlYXIgSmFja3MNCj4gKyAgICAgIDB4MDAwMiAgICAgICAgICAvLyBOdW1i ZXIgb2YgRnJvbnQgSmFja3MNCj4gKyAgICB9LA0KPiArICAgIDAgICAgICAgICAgICAgICAgIC8v IFBvaW50ZXIgdG8gdmVyYiB0YWJsZSBkYXRhLCBuZWVkIHRvIGJlIGluaXRlZCBpbiB0aGUgY29k ZS4NCj4gKyAgfSwNCj4gKyAgew0KPiArICAgIC8vDQo+ICsgICAgLy8gIFZlcmJUYWJsZTogKGZv ciBCdWZmYWxvIFRyYWlsKQ0KPiArICAgIC8vICBSZXZpc2lvbiBJRCA9IDB4MDANCj4gKyAgICAv LyAgQ29kZWMgVmVyYiBUYWJsZSBGb3IgQVpBTElBDQo+ICsgICAgLy8gIENvZGVjIEFkZHJlc3M6 IENBZCB2YWx1ZSAoMC8xLzIpDQo+ICsgICAgLy8gIENvZGVjIFZlbmRvcjogMHgxMEVDMDI2OQ0K PiArICAgIC8vDQo+ICsgICAgew0KPiArICAgICAgMHgxMEVDMDI2OSwgICAgIC8vIFZlbmRvciBJ RC9EZXZpY2UgSUQNCj4gKyAgICAgIDB4MDAwMCwgICAgICAgICAvLyBTdWJTeXN0ZW0gSUQNCj4g KyAgICAgIDB4MDAsICAgICAgICAgICAvLyBSZXZpc2lvbiBJRA0KPiArICAgICAgMHgwMSwgICAg ICAgICAgIC8vIEZyb250IHBhbmVsIHN1cHBvcnQgKDE9eWVzLCAyPW5vKQ0KPiArICAgICAgMHgw MDBBLCAgICAgICAgIC8vIE51bWJlciBvZiBSZWFyIEphY2tzDQo+ICsgICAgICAweDAwMDIgICAg ICAgICAgLy8gTnVtYmVyIG9mIEZyb250IEphY2tzDQo+ICsgICAgfSwNCj4gKyAgICAwICAgICAg ICAgICAgICAgICAvLyBQb2ludGVyIHRvIHZlcmIgdGFibGUgZGF0YSwgbmVlZCB0byBiZSBpbml0 ZWQgaW4gdGhlIGNvZGUuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8vICBW ZXJiVGFibGU6IChSZWFsVGVrIEFMQzg4OCkNCj4gKyAgICAvLyAgUmV2aXNpb24gSUQgPSAweEZG DQo+ICsgICAgLy8gIENvZGVjIFZlcmIgVGFibGUgRm9yIFJlZGZvcnQNCj4gKyAgICAvLyAgQ29k ZWMgQWRkcmVzczogQ0FkIHZhbHVlICgwLzEvMikNCj4gKyAgICAvLyAgQ29kZWMgVmVuZG9yOiAw eDEwRUMwODg4DQo+ICsgICAgLy8NCj4gKyAgICB7DQo+ICsgICAgICAweDEwRUMwODg4LCAgICAg Ly8gVmVuZG9yIElEL0RldmljZSBJRA0KPiArICAgICAgMHgwMDAwLCAgICAgICAgIC8vIFN1YlN5 c3RlbSBJRA0KPiArICAgICAgMHhGRiwgICAgICAgICAgIC8vIFJldmlzaW9uIElEDQo+ICsgICAg ICAweDAxLCAgICAgICAgICAgLy8gRnJvbnQgcGFuZWwgc3VwcG9ydCAoMT15ZXMsIDI9bm8pDQo+ ICsgICAgICAweDAwMEIsICAgICAgICAgLy8gTnVtYmVyIG9mIFJlYXIgSmFja3MNCj4gKyAgICAg IDB4MDAwMiAgICAgICAgICAvLyBOdW1iZXIgb2YgRnJvbnQgSmFja3MNCj4gKyAgICB9LA0KPiAr ICAgIDAgICAgICAgICAgICAgICAgIC8vIFBvaW50ZXIgdG8gdmVyYiB0YWJsZSBkYXRhLCBuZWVk IHRvIGJlIGluaXRlZCBpbiB0aGUgY29kZS4NCj4gKyAgfSwNCj4gKyAgew0KPiArICAgIC8vDQo+ ICsgICAgLy8gIFZlcmJUYWJsZTogKFJlYWxUZWsgQUxDODg1KQ0KPiArICAgIC8vICBSZXZpc2lv biBJRCA9IDB4RkYNCj4gKyAgICAvLyAgQ29kZWMgVmVyYiBUYWJsZSBGb3IgUmVkZm9ydA0KPiAr ICAgIC8vICBDb2RlYyBBZGRyZXNzOiBDQWQgdmFsdWUgKDAvMS8yKQ0KPiArICAgIC8vICBDb2Rl YyBWZW5kb3I6IDB4MTBFQzA4ODUNCj4gKyAgICAvLw0KPiArICAgIHsNCj4gKyAgICAgIDB4MTBF QzA4ODUsICAgICAvLyBWZW5kb3IgSUQvRGV2aWNlIElEDQo+ICsgICAgICAweDAwMDAsICAgICAg ICAgLy8gU3ViU3lzdGVtIElEDQo+ICsgICAgICAweEZGLCAgICAgICAgICAgLy8gUmV2aXNpb24g SUQNCj4gKyAgICAgIDB4MDEsICAgICAgICAgICAvLyBGcm9udCBwYW5lbCBzdXBwb3J0ICgxPXll cywgMj1ubykNCj4gKyAgICAgIDB4MDAwQiwgICAgICAgICAvLyBOdW1iZXIgb2YgUmVhciBKYWNr cw0KPiArICAgICAgMHgwMDAyICAgICAgICAgIC8vIE51bWJlciBvZiBGcm9udCBKYWNrcw0KPiAr ICAgIH0sDQo+ICsgICAgMCAgICAgICAgICAgICAgICAgLy8gUG9pbnRlciB0byB2ZXJiIHRhYmxl IGRhdGEsIG5lZWQgdG8gYmUgaW5pdGVkIGluIHRoZSBjb2RlLg0KPiArICB9LA0KPiArICB7DQo+ ICsgICAgLy8NCj4gKyAgICAvLyAgVmVyYlRhYmxlOiAoSURUIDkySEQ4MSkNCj4gKyAgICAvLyAg UmV2aXNpb24gSUQgPSAweEZGDQo+ICsgICAgLy8gIENvZGVjIFZlbmRvcjogMHgxMTFENzYwNQ0K PiArICAgIC8vDQo+ICsgICAgew0KPiArICAgICAgMHgxMTFENzZkNSwgICAgIC8vIFZlbmRvciBJ RC9EZXZpY2UgSUQNCj4gKyAgICAgIDB4MDAwMCwgICAgICAgICAvLyBTdWJTeXN0ZW0gSUQNCj4g KyAgICAgIDB4RkYsICAgICAgICAgICAvLyBSZXZpc2lvbiBJRA0KPiArICAgICAgMHgwMSwgICAg ICAgICAgIC8vIEZyb250IHBhbmVsIHN1cHBvcnQgKDE9eWVzLCAyPW5vKQ0KPiArICAgICAgMHgw MDA4LCAgICAgICAgIC8vIE51bWJlciBvZiBSZWFyIEphY2tzDQo+ICsgICAgICAweDAwMDIgICAg ICAgICAgLy8gTnVtYmVyIG9mIEZyb250IEphY2tzDQo+ICsgICAgfSwNCj4gKyAgICAwICAgICAg ICAgICAgICAgICAvLyBQb2ludGVyIHRvIHZlcmIgdGFibGUgZGF0YSwgbmVlZCB0byBiZSBpbml0 ZWQgaW4gdGhlIGNvZGUuDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8vICBW ZXJiVGFibGU6IChJbnRlbCBWTFYgSERNSSkNCj4gKyAgICAvLyAgUmV2aXNpb24gSUQgPSAweEZG DQo+ICsgICAgLy8gIENvZGVjIFZlcmIgVGFibGUgRm9yIEVtZXJhbGRMYWtlL0xvc0x1bmFzDQo+ ICsgICAgLy8gIENvZGVjIFZlbmRvcjogMHg4MDg2MjgwNA0KPiArICAgIC8vDQo+ICsgICAgew0K PiArICAgICAgMHg4MDg2Mjg4MiwgICAgIC8vIFZlbmRvciBJRC9EZXZpY2UgSUQNCj4gKyAgICAg IDB4MDAwMCwgICAgICAgICAvLyBTdWJTeXN0ZW0gSUQNCj4gKyAgICAgIDB4RkYsICAgICAgICAg ICAvLyBSZXZpc2lvbiBJRA0KPiArICAgICAgMHgwMiwgICAgICAgICAgIC8vIEZyb250IHBhbmVs IHN1cHBvcnQgKDE9eWVzLCAyPW5vKQ0KPiArICAgICAgMHgwMDAzLCAgICAgICAgIC8vIE51bWJl ciBvZiBSZWFyIEphY2tzDQo+ICsgICAgICAweDAwMDAgICAgICAgICAgLy8gTnVtYmVyIG9mIEZy b250IEphY2tzDQo+ICsgICAgfSwNCj4gKyAgICAwICAgICAgICAgICAgICAgICAvLyBQb2ludGVy IHRvIHZlcmIgdGFibGUgZGF0YSwgbmVlZCB0byBiZSBpbml0ZWQgaW4gdGhlIGNvZGUuDQo+ICsg IH0sDQo+ICsgIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFZlcmJUYWJsZTogKFJlYWxUZWsgQUxD MjYyKQ0KPiArICAgIC8vICBSZXZpc2lvbiBJRCA9IDB4RkYsIHN1cHBvcnQgYWxsIHN0ZXBzDQo+ ICsgICAgLy8gIENvZGVjIFZlcmIgVGFibGUgRm9yIEFaQUxJQQ0KPiArICAgIC8vICBDb2RlYyBB ZGRyZXNzOiBDQWQgdmFsdWUgKDAvMS8yKQ0KPiArICAgIC8vICBDb2RlYyBWZW5kb3I6ICAweDEw RUMwMjYyDQo+ICsgICAgLy8NCj4gKyAgICB7DQo+ICsgICAgICAweDEwRUMwMjYyLCAgICAgLy8g VmVuZG9yIElEL0RldmljZSBJRA0KPiArICAgICAgMHgwMDAwLCAgICAgICAgIC8vIFN1YlN5c3Rl bSBJRA0KPiArICAgICAgMHhGRiwgICAgICAgICAgIC8vIFJldmlzaW9uIElEDQo+ICsgICAgICAw eDAxLCAgICAgICAgICAgLy8gRnJvbnQgcGFuZWwgc3VwcG9ydCAoMT15ZXMsIDI9bm8pDQo+ICsg ICAgICAweDAwMEIsICAgICAgICAgLy8gTnVtYmVyIG9mIFJlYXIgSmFja3MgPSAxMQ0KPiArICAg ICAgMHgwMDAyICAgICAgICAgIC8vIE51bWJlciBvZiBGcm9udCBKYWNrcyA9IDINCj4gKyAgICB9 LA0KPiArICAgIDAgICAgICAgICAgICAgICAgIC8vIFBvaW50ZXIgdG8gdmVyYiB0YWJsZSBkYXRh LCBuZWVkIHRvIGJlIGluaXRlZCBpbiB0aGUgY29kZS4NCj4gKyAgfSwNCj4gKyAgew0KPiArICAg IC8vDQo+ICsgICAgLy8gIFZlcmJUYWJsZTogKFJlYWxUZWsgQUxDMjgyKQ0KPiArICAgIC8vICBS ZXZpc2lvbiBJRCA9IDB4ZmYNCj4gKyAgICAvLyAgQ29kZWMgVmVyYiBUYWJsZSBGb3IgQXphbGlh IG9uIFNoYXJrQmF5LVdoaXRlQmx1ZmYgcmVmcmVzaCBhbmQNCj4gSGFzd2VsbCBVTFQgRkZSRCBI YXJyaXMgQmVhY2gsIFdUTTEsIFdUTTJpQ1JCDQo+ICsgICAgLy8gIENvZGVjIEFkZHJlc3M6IENB ZCB2YWx1ZSAoMC8xLzIpDQo+ICsgICAgLy8gIENvZGVjIFZlbmRvcjogMHgxMEVDMDI4Mg0KPiAr ICAgIC8vDQo+ICsgICAgew0KPiArICAgICAgMHgxMEVDMDI4MiwgLy8gVmVuZG9yIElEL0Rldmlj ZSBJRA0KPiArICAgICAgMHgwMDAwLCAgICAgLy8gU3ViU3lzdGVtIElEDQo+ICsgICAgICAweGZm LCAgICAgICAvLyBSZXZpc2lvbiBJRA0KPiArICAgICAgMHgwMSwgICAgICAgLy8gRnJvbnQgcGFu ZWwgc3VwcG9ydCAoMT15ZXMsIDI9bm8pDQo+ICsgICAgICAweDAwMEMsICAgICAvLyBOdW1iZXIg b2YgUmVhciBKYWNrcywgMHgwMDEwIGZvciBIYXJyaXMgQmVhY2gsIDB4MDAwQiBmb3INCj4gV1RN MSAmIFdUTTJpQ1JCDQo+ICsgICAgICAweDAwMDIgICAgICAvLyBOdW1iZXIgb2YgRnJvbnQgSmFj a3MNCj4gKyAgICB9LA0KPiArICAgIDAgICAgICAgICAgICAgLy8gUG9pbnRlciB0byB2ZXJiIHRh YmxlIGRhdGEsIG5lZWQgdG8gYmUgaW5pdGVkIGluIHRoZSBjb2RlLg0KPiArICB9DQo+ICt9Ow0K PiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1E eGUvQm9hcmRJZC5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1EeGUvQm9hcmRJZC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLjdkNzc0NTY4ZTMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9Cb2FyZElkLmMNCj4gQEAgLTAsMCArMSwyMjMg QEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsg IFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0K PiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKw0KPiArICBCb2FyZElkLmMNCj4gKw0K PiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgSW5pdGlhbGl6YXRpb24gZm9yIHRoZSBib2FyZCBJRC4N Cj4gKw0KPiArICBUaGlzIGNvZGUgc2hvdWxkIGJlIGNvbW1vbiBhY3Jvc3MgYSBjaGlwc2V0IGZh bWlseSBvZiBwcm9kdWN0cy4NCj4gKw0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1 ZGUgIlBjaFJlZ3MuaCINCj4gKyNpbmNsdWRlICJQbGF0Zm9ybUR4ZS5oIg0KPiArI2luY2x1ZGUg PEd1aWQvSWRjY0RhdGEuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0VmaVZwZERhdGEuaD4NCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9EYXRhSHViLmg+DQo+ICsNCj4gKw0KPiArZXh0ZXJuIEVGSV9HVUlE IG1QbGF0Zm9ybURyaXZlckd1aWQ7DQo+ICsNCj4gKy8vDQo+ICsvLyBHbG9iYWwgbW9kdWxlIGRh dGENCj4gKy8vDQo+ICtVSU5UMzIgbUJvYXJkSWQ7DQo+ICtVSU5UOCAgbUJvYXJkSWRJbmRleDsN Cj4gK0VGSV9CT0FSRF9GRUFUVVJFUyBtQm9hcmRGZWF0dXJlczsNCj4gK1VJTlQxNiBtU3Vic3lz dGVtRGV2aWNlSWQ7DQo+ICtVSU5UMTYgbVN1YnN5c3RlbUF1ZGlvRGV2aWNlSWQ7DQo+ICtDSEFS OCAgQm9hcmRBYU51bWJlcls3XTsNCj4gK0JPT0xFQU4gbUZvdW5kQUFOdW07DQo+ICsNCj4gKy8q Kg0KPiArDQo+ICsgIFdyaXRlIHRoZSBib2FyZGlkIHZhcmlhYmxlIGlmIGl0IGRvZXMgbm90IGFs cmVhZHkgZXhpc3QuDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArSW5pdGlhbGl6ZUJvYXJkSWQg KA0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAg Qm9hcmRJZEJ1ZmZlclNpemU7DQo+ICsgIEVGSV9JRENDX0JPQVJEX0ZPUk1fRkFDVE9SICAgIElk Y2NCb2FyZEZvcm1GYWN0b3I7DQo+ICsgIEVGSV9EQVRBX0hVQl9QUk9UT0NPTCAgICAgICAgICpE YXRhSHViOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsg IERNSV9EQVRBICAgICAgICAgICAgICAgICAgICAgIERtaURhdGFWYXJpYWJsZTsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZTsNCj4gKyNpZiBkZWZpbmVkKERVUExJQ0FU RV9BQV9OT19CQVNFX0FERFIpDQo+ICsgIENIQVI4DQo+IER1cGxpY2F0ZUFhTm9Bc2NpaVtzaXpl b2YoRG1pRGF0YVZhcmlhYmxlLkJhc2VCb2FyZFZlcnNpb24pXTsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgaXRlcjsNCj4gKyNlbmRpZg0KPiArI2lmIGRlZmluZWQoR1BJT19C T0FSRF9JRF9TVVBQT1JUKSAmJiBHUElPX0JPQVJEX0lEX1NVUFBPUlQgIT0NCj4gMA0KPiArICBV SU5UOCAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhODsNCj4gKyNlbmRpZg0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFVwZGF0ZSBkYXRhIGZyb20gdGhlIHVwZGF0YWJsZSBETUkgZGF0YSBhcmVh DQo+ICsgIC8vDQo+ICsgIFNpemUgPSBzaXplb2YgKERNSV9EQVRBKTsNCj4gKyAgU2V0TWVtKCZE bWlEYXRhVmFyaWFibGUsIFNpemUsIDB4RkYpOw0KPiArICBTdGF0dXMgPSBnUlQtPkdldFZhcmlh YmxlICgNCj4gKyAgICAgICAgICAgICAgICAgIERNSV9EQVRBX05BTUUsDQo+ICsgICAgICAgICAg ICAgICAgICAmZ0RtaURhdGFHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAg ICAgICAgICAgICAgICAgICZTaXplLA0KPiArICAgICAgICAgICAgICAgICAgJkRtaURhdGFWYXJp YWJsZQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArI2lmIGRlZmluZWQoRFVQTElD QVRFX0FBX05PX0JBU0VfQUREUikNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IEFBIyBmcm9tIGZsYXNo IGRlc2NyaXB0b3IgcmVnaW9uDQo+ICsgIC8vDQo+ICsgIEVmaVNldE1lbShEdXBsaWNhdGVBYU5v QXNjaWksIHNpemVvZihEdXBsaWNhdGVBYU5vQXNjaWkpLCAweEZGKTsNCj4gKyAgRmxhc2hSZWFk KChVSU5UOCAqKShVSU5UTilEVVBMSUNBVEVfQUFfTk9fQkFTRV9BRERSLA0KPiArICAgICAgICAg ICAgKFVJTlQ4ICopRHVwbGljYXRlQWFOb0FzY2lpLA0KPiArICAgICAgICAgICAgc2l6ZW9mKER1 cGxpY2F0ZUFhTm9Bc2NpaSkpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFZhbGlkYXRlIEFBIyBy ZWFkIGZyb20gVlBEDQo+ICsgIC8vDQo+ICsgIGZvciAoaXRlciA9IDA7IGl0ZXIgPCBzaXplb2Yo RHVwbGljYXRlQWFOb0FzY2lpKTsgaXRlcisrKSB7DQo+ICsgICAgIGlmICgoRHVwbGljYXRlQWFO b0FzY2lpW2l0ZXJdICE9IDB4RkYpICYmDQo+ICsgICAgICAgICAoRHVwbGljYXRlQWFOb0FzY2lp W2l0ZXJdICE9IERtaURhdGFWYXJpYWJsZS5CYXNlQm9hcmRWZXJzaW9uW2l0ZXJdKSkNCj4gew0K PiArICAgICAgIERtaURhdGFWYXJpYWJsZS5CYXNlQm9hcmRWZXJzaW9uW2l0ZXJdID0gRHVwbGlj YXRlQWFOb0FzY2lpW2l0ZXJdOw0KPiArICAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMg PSBFRklfU1VDQ0VTUzsNCj4gKyNlbmRpZg0KPiArDQo+ICsgIG1Gb3VuZEFBTnVtID0gRkFMU0U7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTm8gdmFyaWFibGUuLi5ubyBjb3B5DQo+ICsgIC8vDQo+ ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBtQm9hcmRJZEluZGV4ID0gMDsg Ly8gSWYgd2UgY2FuJ3QgZmluZCB0aGUgQm9hcmRJZCBpbiB0aGUgdGFibGUsIHVzZSB0aGUNCj4g Zmlyc3QgZW50cnkNCj4gKyAgfSBlbHNlIHsNCj4gKyAgCS8vDQo+ICsgICAgLy8gVGhpcyBpcyB0 aGUgY29ycmVjdCBtZXRob2Qgb2YgY2hlY2tpbmcgZm9yIEFBIy4NCj4gKyAgICAvLw0KPiArICAg IENvcHlNZW0oJkJvYXJkQWFOdW1iZXIsDQo+ICgoKChVSU5UOCopJkRtaURhdGFWYXJpYWJsZS5C YXNlQm9hcmRWZXJzaW9uKSsyKSksIDYpOw0KPiArICAgIEJvYXJkQWFOdW1iZXJbNl0gPSAwOw0K PiArICAgIGZvciAobUJvYXJkSWRJbmRleCA9IDA7IG1Cb2FyZElkSW5kZXggPCBtQm9hcmRJZERl Y29kZVRhYmxlU2l6ZTsNCj4gbUJvYXJkSWRJbmRleCsrKSB7DQo+ICsgICAgICBpZiAoQXNjaWlT dHJuQ21wKG1Cb2FyZElkRGVjb2RlVGFibGVbbUJvYXJkSWRJbmRleF0uQWFOdW1iZXIsDQo+IEJv YXJkQWFOdW1iZXIsIDYpID09IDApIHsNCj4gKyAgICAgICAgbUZvdW5kQUFOdW0gPSBUUlVFOw0K PiArICAgICAgICBicmVhazsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsNCj4gKyAgICBpZigh bUZvdW5kQUFOdW0pIHsNCj4gKyAgICAJLy8NCj4gKyAgICAgIC8vIEFkZCBjaGVjayBmb3IgQUEj J3MgdGhhdCBpcyBwcm9ncmFtbWVkIHdpdGhvdXQgdGhlIEFBIGFzIGxlYWRpbmcNCj4gY2hhcnMu DQo+ICsgICAgICAvLw0KPiArICAgICAgQ29weU1lbSgmQm9hcmRBYU51bWJlciwNCj4gKCgoVUlO VDgqKSZEbWlEYXRhVmFyaWFibGUuQmFzZUJvYXJkVmVyc2lvbikpLCA2KTsNCj4gKyAgICAgIEJv YXJkQWFOdW1iZXJbNl0gPSAwOw0KPiArICAgICAgZm9yIChtQm9hcmRJZEluZGV4ID0gMDsgbUJv YXJkSWRJbmRleCA8IG1Cb2FyZElkRGVjb2RlVGFibGVTaXplOw0KPiBtQm9hcmRJZEluZGV4Kysp IHsNCj4gKyAgICAgICAgaWYgKEFzY2lpU3RybkNtcChtQm9hcmRJZERlY29kZVRhYmxlW21Cb2Fy ZElkSW5kZXhdLkFhTnVtYmVyLA0KPiBCb2FyZEFhTnVtYmVyLCA2KSA9PSAwKSB7DQo+ICsgICAg ICAgICAgbUZvdW5kQUFOdW0gPSBUUlVFOw0KPiArICAgICAgICAgIGJyZWFrOw0KPiArICAgICAg ICB9DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyNpZiBkZWZpbmVkKEdQ SU9fQk9BUkRfSURfU1VQUE9SVCkgJiYgR1BJT19CT0FSRF9JRF9TVVBQT1JUICE9DQo+IDANCj4g KyAgLy8NCj4gKyAgLy8gSWYgd2UgY2FuJ3QgZmluZCB0aGUgQm9hcmRBQSMgaW4gdGhlIHRhYmxl LCBmaW5kIEJvYXJkSWQNCj4gKyAgLy8NCj4gKyAgaWYgKG1Gb3VuZEFBTnVtICE9IFRSVUUpIHsN Cj4gKyAgICAvLw0KPiArICAgIC8vIEJvYXJkSUQgQklUICAgIExvY2F0aW9uDQo+ICsgICAgLy8g IDAgICAgICAgICAgICAgR1BJTzMzICAoSUNIKQ0KPiArICAgIC8vICAxICAgICAgICAgICAgIEdQ SU8zNCAgKElDSCkNCj4gKyAgICAvLw0KPiArICAgIERhdGE4ID0gSW9SZWFkOChHUElPX0JBU0Vf QUREUkVTUyArIFJfUENIX0dQSU9fU0NfTFZMMik7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8v IEJvYXJkSWRbMF0NCj4gKyAgICAvLw0KPiArICAgIG1Cb2FyZElkID0gKFVJTlQzMikoKERhdGE4 ID4+IDEpICYgQklUMCk7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBCb2FyZElkWzFdDQo+ICsgICAg Ly8NCj4gKyAgICBtQm9hcmRJZCB8PSAoVUlOVDMyKSgoRGF0YTggPj4gMSkgJiBCSVQxKTsNCj4g Kw0KPiArICAgIGZvciAobUJvYXJkSWRJbmRleCA9IDA7IG1Cb2FyZElkSW5kZXggPCBtQm9hcmRJ ZERlY29kZVRhYmxlU2l6ZTsNCj4gbUJvYXJkSWRJbmRleCsrKSB7DQo+ICsgICAgICBpZiAobUJv YXJkSWREZWNvZGVUYWJsZVttQm9hcmRJZEluZGV4XS5Cb2FyZElkID09IG1Cb2FyZElkKSB7DQo+ ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyNlbmRpZg0KPiArICAg IGlmIChtQm9hcmRJZEluZGV4ID09IG1Cb2FyZElkRGVjb2RlVGFibGVTaXplKSB7DQo+ICsgICAg ICBtQm9hcmRJZEluZGV4ID0gMDsgLy8gSWYgd2UgY2FuJ3QgZmluZCB0aGUgQm9hcmRJZCBpbiB0 aGUgdGFibGUsIHVzZSB0aGUNCj4gZmlyc3QgZW50cnkNCj4gKyAgICB9DQo+ICsjaWYgZGVmaW5l ZChHUElPX0JPQVJEX0lEX1NVUFBPUlQpICYmIEdQSU9fQk9BUkRfSURfU1VQUE9SVCAhPQ0KPiAw DQo+ICsgIH0NCj4gKyNlbmRpZg0KPiArDQo+ICsgIG1Cb2FyZEZlYXR1cmVzID0gbUJvYXJkSWRE ZWNvZGVUYWJsZVttQm9hcmRJZEluZGV4XS5GZWF0dXJlczsNCj4gKyAgbVN1YnN5c3RlbURldmlj ZUlkID0NCj4gbUJvYXJkSWREZWNvZGVUYWJsZVttQm9hcmRJZEluZGV4XS5TdWJzeXN0ZW1EZXZp Y2VJZDsNCj4gKyAgbVN1YnN5c3RlbUF1ZGlvRGV2aWNlSWQgPQ0KPiBtQm9hcmRJZERlY29kZVRh YmxlW21Cb2FyZElkSW5kZXhdLkF1ZGlvU3Vic3lzdGVtRGV2aWNlSWQ7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gU2V0IHRoZSBCb2FyZEZlYXR1cmVzIHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsgIEJv YXJkSWRCdWZmZXJTaXplID0gc2l6ZW9mIChtQm9hcmRGZWF0dXJlcyk7DQo+ICsgIGdSVC0+U2V0 VmFyaWFibGUgKA0KPiArICAgICAgICAgQk9BUkRfRkVBVFVSRVNfTkFNRSwNCj4gKyAgICAgICAg ICZnRWZpQm9hcmRGZWF0dXJlc0d1aWQsDQo+ICsgICAgICAgICBFRklfVkFSSUFCTEVfTk9OX1ZP TEFUSUxFIHwNCj4gKyAgICAgICAgIEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0K PiArICAgICAgICAgRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTLA0KPiArICAgICAgICAgQm9h cmRJZEJ1ZmZlclNpemUsDQo+ICsgICAgICAgICAmbUJvYXJkRmVhdHVyZXMNCj4gKyAgICAgICAg ICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IHRoZSBEYXRhIEh1YiBwcm90b2NvbA0KPiAr ICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAg ICAgICAgICZnRWZpRGF0YUh1YlByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5V TEwsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkRhdGFIdWINCj4gKyAgICAgICAg ICAgICAgICAgICk7DQo+ICsgIGlmICghKEVGSV9FUlJPUihTdGF0dXMpKSkgew0KPiArICAgIC8v DQo+ICsgICAgLy8gRmlsbCBvdXQgZGF0YQ0KPiArICAgIC8vDQo+ICsgICAgSWRjY0JvYXJkRm9y bUZhY3Rvci5JZGNjSGVhZGVyLlR5cGUgPQ0KPiBFRklfSURDQ19CT0FSRF9GT1JNX0ZBQ1RPUl9U WVBFOw0KPiArICAgIElkY2NCb2FyZEZvcm1GYWN0b3IuSWRjY0hlYWRlci5SZWNvcmRMZW5ndGgg PQ0KPiBzaXplb2YoRUZJX0lEQ0NfQk9BUkRfRk9STV9GQUNUT1IpOw0KPiArICAgIGlmICgobUJv YXJkRmVhdHVyZXMgJiBCX0JPQVJEX0ZFQVRVUkVTX0ZPUk1fRkFDVE9SX0FUWCkgfHwNCj4gKG1C b2FyZEZlYXR1cmVzICYgQl9CT0FSRF9GRUFUVVJFU19GT1JNX0ZBQ1RPUl9NSUNST19BVFgpKSB7 DQo+ICsgICAgICAgIElkY2NCb2FyZEZvcm1GYWN0b3IuQm9hcmRGb3JtRmFjdG9yID0gQVRYX0ZP Uk1fRkFDVE9SOyAvLyBBVFgNCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgICBJZGNjQm9hcmRG b3JtRmFjdG9yLkJvYXJkRm9ybUZhY3RvciA9IEJUWF9GT1JNX0ZBQ1RPUjsgLy8gQlRYDQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBQdWJsaXNoIHRoZSBCb2FyZCBGb3JtIEZh Y3RvciB2YWx1ZSBmb3IgSURDQw0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gRGF0YUh1Yi0+ TG9nRGF0YSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBEYXRhSHViLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgJmdJZGNjRGF0YUh1Ykd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAmbVBsYXRmb3JtRHJpdmVyR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IEVGSV9EQVRBX1JFQ09SRF9DTEFTU19EQVRBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg JklkY2NCb2FyZEZvcm1GYWN0b3IsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yo RUZJX0lEQ0NfQk9BUkRfRk9STV9GQUNUT1IpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICB9DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0JvYXJkSWREZWNvZGUuYw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0JvYXJkSWREZWNvZGUuYw0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5kNGJmNWRmNjkwDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1EeGUvQm9hcmRJZERlY29kZS5jDQo+IEBAIC0wLDAgKzEsMTI5IEBADQo+ICsvKiogQGZpbGUN Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgQm9hcmRJZERlY29kZS5jDQo+ICsNCj4gK0Fic3RyYWN0 Og0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJQY2hSZWdzLmgiDQo+ICsjaW5jbHVk ZSAiUGxhdGZvcm1EeGUuaCINCj4gKyNpbmNsdWRlICJQbGF0Zm9ybS5oIg0KPiArDQo+ICsNCj4g Ky8vDQo+ICsvLyBEZWZpbmUgbWFjcm9zIHRvIGJ1aWxkIGRhdGEgc3RydWN0dXJlIHNpZ25hdHVy ZXMgZnJvbSBjaGFyYWN0ZXJzLg0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX1NJR05BVFVSRV8xNihB LCBCKSAgICAgICAgKChBKSB8IChCIDw8IDgpKQ0KPiArI2RlZmluZSBFRklfU0lHTkFUVVJFXzMy KEEsIEIsIEMsIEQpICAoRUZJX1NJR05BVFVSRV8xNiAoQSwgQikgfA0KPiAoRUZJX1NJR05BVFVS RV8xNiAoQywgRCkgPDwgMTYpKQ0KPiArI2RlZmluZSBFRklfU0lHTkFUVVJFXzY0KEEsIEIsIEMs IEQsIEUsIEYsIEcsIEgpIFwNCj4gKyAgICAoRUZJX1NJR05BVFVSRV8zMiAoQSwgQiwgQywgRCkg fCAoKFVJTlQ2NCkgKEVGSV9TSUdOQVRVUkVfMzIgKEUsIEYsIEcsDQo+IEgpKSA8PCAzMikpDQo+ ICsNCj4gK0JPQVJEX0lEX0RFQ09ERSBtQm9hcmRJZERlY29kZVRhYmxlW10gPSB7DQo+ICsgIC8v DQo+ICsgIC8vIEJvYXJkIElELCBCb2FyZCBGZWF0dXJlcyBiaXRtYXAsIFN1YnN5c3RlbSBEZXZp Y2UgSUQNCj4gKyAgLy8gVGhpcyBpcyBhIGR1bW15IGVudHJ5IHRoYXQgaGFzIHRvIGV4aXN0LiBE byBub3QgZGVsZXRlLCBqdXN0IG1ha2UgYQ0KPiBnZW5lcmljIGVudHJ5IHRoYXQgZml0IGZvciBw cm9kdWN0Lg0KPiArICAvLw0KPiArICB7DQo+ICsgIAlNV19JVFhfTVBDSUVfTFZEU19MT0VNX0FB LA0KPiArICAgIE1XX0lUWF9NUENJRV9MVkRTX0xPRU1fSUQsDQo+ICsgICAgQl9CT0FSRF9GRUFU VVJFU19GT1JNX0ZBQ1RPUl9BVFggfA0KPiArICAgIEJfQk9BUkRfRkVBVFVSRVNfU0lPX0NPTTIg fA0KPiArICAgIEJfQk9BUkRfRkVBVFVSRVNfMl9DMF9NRU1PUllfU0xPVCB8DQo+ICsgICAgVl9C T0FSRF9GRUFUVVJFU19TTEVFUF9TMyB8DQo+ICsgICAgQl9CT0FSRF9GRUFUVVJFU19QUzJXQUtF RlJPTVM1IHwNCj4gKyAgICBCX0JPQVJEX0ZFQVRVUkVTX0xWRFMgfA0KPiArICAgIEJfQk9BUkRf RkVBVFVSRVNfVkVSQl9UQUJMRTEsDQo+ICsgICAgVl9ERUZBVUxUX1NVQlNZU1RFTV9ERVZJQ0Vf SUQsDQo+ICsgICAgMHhENjI1LA0KPiArICAgIEVGSV9TSUdOQVRVUkVfNjQoJ00nLCdXJywnUCcs J04nLCdUJywnMScsJzAnLCdOJykNCj4gKyAgfSwNCj4gKw0KPiArICB7DQo+ICsgIAkgTVdfSVRY X01QQ0lFX0xWRFNfQ0hBTk5FTF9BQSwNCj4gKyAgICBNV19JVFhfTVBDSUVfTFZEU19DSEFOTkVM X0lELA0KPiArICAgIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfQVRYIHwNCj4gKyAgICBC X0JPQVJEX0ZFQVRVUkVTX1NJT19DT00yIHwNCj4gKyAgICBCX0JPQVJEX0ZFQVRVUkVTXzJfQzBf TUVNT1JZX1NMT1QgfA0KPiArICAgIFZfQk9BUkRfRkVBVFVSRVNfU0xFRVBfUzMgfA0KPiArICAg IEJfQk9BUkRfRkVBVFVSRVNfUFMyV0FLRUZST01TNSB8DQo+ICsgICAgQl9CT0FSRF9GRUFUVVJF U19MVkRTIHwNCj4gKyAgICBCX0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEUxLA0KPiArICAgIFZf REVGQVVMVF9TVUJTWVNURU1fREVWSUNFX0lELA0KPiArICAgIDB4RDYyNSwNCj4gKyAgICBFRklf U0lHTkFUVVJFXzY0KCdNJywnVycsJ1AnLCdOJywnVCcsJzEnLCcwJywnTicpDQo+ICsgIH0sDQo+ ICsNCj4gKyAgew0KPiArICAJTVdfSVRYX01QQ0lFX0NIQU5ORUxfQUEsDQo+ICsgICAgTVdfSVRY X01QQ0lFX0NIQU5ORUxfSUQsDQo+ICsgICAgQl9CT0FSRF9GRUFUVVJFU19GT1JNX0ZBQ1RPUl9B VFggfA0KPiArICAgIEJfQk9BUkRfRkVBVFVSRVNfU0lPX0NPTTIgfA0KPiArICAgIEJfQk9BUkRf RkVBVFVSRVNfMl9DMF9NRU1PUllfU0xPVCB8DQo+ICsgICAgVl9CT0FSRF9GRUFUVVJFU19TTEVF UF9TMyB8DQo+ICsgICAgQl9CT0FSRF9GRUFUVVJFU19QUzJXQUtFRlJPTVM1IHwNCj4gKyAgICBC X0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEUxLA0KPiArICAgIFZfREVGQVVMVF9TVUJTWVNURU1f REVWSUNFX0lELA0KPiArICAgIDB4RDYyNSwNCj4gKyAgICBFRklfU0lHTkFUVVJFXzY0KCdNJywn VycsJ1AnLCdOJywnVCcsJzEnLCcwJywnTicpDQo+ICsgIH0sDQo+ICsNCj4gKyAgew0KPiArICAJ S1RfSVRYX01QQ0lFX0xWRFNfTE9FTV9BQSwNCj4gKyAgICBLVF9JVFhfTVBDSUVfTFZEU19MT0VN X0lELA0KPiArICAgIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfQVRYIHwNCj4gKyAgICBC X0JPQVJEX0ZFQVRVUkVTX1NJT19DT00yIHwNCj4gKyAgICBCX0JPQVJEX0ZFQVRVUkVTXzJfQzBf TUVNT1JZX1NMT1QgfA0KPiArICAgIFZfQk9BUkRfRkVBVFVSRVNfU0xFRVBfUzMgfA0KPiArICAg IEJfQk9BUkRfRkVBVFVSRVNfUFMyV0FLRUZST01TNSB8DQo+ICsgICAgQl9CT0FSRF9GRUFUVVJF U19MVkRTIHwNCj4gKyAgICBCX0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEUyLA0KPiArICAgIFZf REVGQVVMVF9TVUJTWVNURU1fREVWSUNFX0lEX0tULA0KPiArICAgIDB4RDYyNiwNCj4gKyAgICBF RklfU0lHTkFUVVJFXzY0KCdLJywnVCcsJ1AnLCdOJywnVCcsJzEnLCcwJywnTicpDQo+ICsgIH0s DQo+ICsNCj4gKyAgew0KPiArICAJS1RfSVRYX0NIQU5ORUxfQUEsDQo+ICsgICAgS1RfSVRYX0NI QU5ORUxfSUQsDQo+ICsgICAgQl9CT0FSRF9GRUFUVVJFU19GT1JNX0ZBQ1RPUl9BVFggfA0KPiAr ICAgIEJfQk9BUkRfRkVBVFVSRVNfU0lPX0NPTTIgfA0KPiArICAgIEJfQk9BUkRfRkVBVFVSRVNf Ml9DMF9NRU1PUllfU0xPVCB8DQo+ICsgICAgVl9CT0FSRF9GRUFUVVJFU19TTEVFUF9TMyB8DQo+ ICsgICAgQl9CT0FSRF9GRUFUVVJFU19QUzJXQUtFRlJPTVM1IHwNCj4gKyAgICBCX0JPQVJEX0ZF QVRVUkVTX05PX01JTklQQ0lFIHwNCj4gKyAgICBCX0JPQVJEX0ZFQVRVUkVTX1ZFUkJfVEFCTEUy LA0KPiArICAgIFZfREVGQVVMVF9TVUJTWVNURU1fREVWSUNFX0lEX0tULA0KPiArICAgIDB4RDYy NiwNCj4gKyAgICBFRklfU0lHTkFUVVJFXzY0KCdLJywnVCcsJ1AnLCdOJywnVCcsJzEnLCcwJywn TicpDQo+ICsgIH0sDQo+ICsNCj4gKyAgew0KPiArICAJS1RfSVRYX0xPRU1fQUEsDQo+ICsgICAg S1RfSVRYX0xPRU1fSUQsDQo+ICsgICAgQl9CT0FSRF9GRUFUVVJFU19GT1JNX0ZBQ1RPUl9BVFgg fA0KPiArICAgIEJfQk9BUkRfRkVBVFVSRVNfU0lPX0NPTTIgfA0KPiArICAgIEJfQk9BUkRfRkVB VFVSRVNfMl9DMF9NRU1PUllfU0xPVCB8DQo+ICsgICAgVl9CT0FSRF9GRUFUVVJFU19TTEVFUF9T MyB8DQo+ICsgICAgQl9CT0FSRF9GRUFUVVJFU19QUzJXQUtFRlJPTVM1IHwNCj4gKyAgICBCX0JP QVJEX0ZFQVRVUkVTX05PX01JTklQQ0lFIHwNCj4gKyAgICBCX0JPQVJEX0ZFQVRVUkVTX1ZFUkJf VEFCTEUyLA0KPiArICAgIFZfREVGQVVMVF9TVUJTWVNURU1fREVWSUNFX0lEX0tULA0KPiArICAg IDB4RDYyNiwNCj4gKyAgICBFRklfU0lHTkFUVVJFXzY0KCdLJywnVCcsJ1AnLCdOJywnVCcsJzEn LCcwJywnTicpDQo+ICsgIH0NCj4gK307DQo+ICsNCj4gK1VJTlROIG1Cb2FyZElkRGVjb2RlVGFi bGVTaXplID0gc2l6ZW9mIChtQm9hcmRJZERlY29kZVRhYmxlKSAvDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZiAobUJvYXJkSWREZWNvZGVUYWJsZVswXSk7DQo+ICsN Cj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1EeGUvQm9hcmRJZERlY29kZS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvUGxhdGZvcm1EeGUvQm9hcmRJZERlY29kZS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjgwNjg3NjhhM2ENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysg Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9Cb2FyZElkRGVj b2RlLmgNCj4gQEAgLTAsMCArMSw2MSBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgQm9h cmRJZERlY29kZS5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEhlYWRlciBmaWxlIGZv ciBQbGF0Zm9ybSBJbml0aWFsaXphdGlvbiBEcml2ZXIuDQo+ICsNCj4gK1JldmlzaW9uIEhpc3Rv cnkNCj4gKw0KPiArKysqLw0KPiArDQo+ICsvLw0KPiArLy8gQm9hcmQgQUEjIGFuZCBCb2FyZCBJ RA0KPiArLy8NCj4gKyNkZWZpbmUgREVGQVVMVF9CT0FSRF9BQSAgICAgICAgICAgICAgICAgICJG RkZGRkYiDQo+ICsNCj4gKy8vDQo+ICsvLyBNb3VudCBXYXNoaW5ndG9uIChMVkRTKSBMT0VNDQo+ ICsvLw0KPiArI2RlZmluZSBNV19JVFhfTVBDSUVfTFZEU19MT0VNX0FBICAgICAgICAgIkU5MzA4 MSINCj4gKyNkZWZpbmUgTVdfSVRYX01QQ0lFX0xWRFNfTE9FTV9JRCAgICAgICAgIDMNCj4gKw0K PiArLy8NCj4gKy8vIE1vdW50IFdhc2hpbmd0b24gKExWRFMpIENoYW5uZWwNCj4gKy8vDQo+ICsj ZGVmaW5lIE1XX0lUWF9NUENJRV9MVkRTX0NIQU5ORUxfQUEgICAgICAiRTkzMDgwIg0KPiArI2Rl ZmluZSBNV19JVFhfTVBDSUVfTFZEU19DSEFOTkVMX0lEICAgICAgMw0KPiArDQo+ICsvLw0KPiAr Ly8gTW91bnQgV2FzaGluZ3RvbiBDaGFubmVsDQo+ICsvLw0KPiArI2RlZmluZSBNV19JVFhfTVBD SUVfQ0hBTk5FTF9BQSAgICAgICAgICAgIkU5MzA4MiINCj4gKyNkZWZpbmUgTVdfSVRYX01QQ0lF X0NIQU5ORUxfSUQgICAgICAgICAgIDENCj4gKw0KPiArLy8NCj4gKy8vIEtpbnN0b24gKG1QQ0ll ICsgTFZEUykgTE9FTQ0KPiArLy8NCj4gKyNkZWZpbmUgS1RfSVRYX01QQ0lFX0xWRFNfTE9FTV9B QSAgICAgICAgICJFOTMwODUiDQo+ICsjZGVmaW5lIEtUX0lUWF9NUENJRV9MVkRTX0xPRU1fSUQg ICAgICAgICAyDQo+ICsNCj4gKy8vDQo+ICsvLyBLaW5zdG9uIChMVkRTKSBDaGFubmVsDQo+ICsv Lw0KPiArI2RlZmluZSBLVF9JVFhfQ0hBTk5FTF9BQSAgICAgICAgICAgICAgICAgIkU5MzA4MyIN Cj4gKyNkZWZpbmUgS1RfSVRYX0NIQU5ORUxfSUQgICAgICAgICAgICAgICAgIDANCj4gKw0KPiAr Ly8NCj4gKy8vIEtpbnN0b24gTE9FTQ0KPiArLy8NCj4gKyNkZWZpbmUgS1RfSVRYX0xPRU1fQUEg ICAgICAgICAgICAgICAgICAgICJFOTMwODQiDQo+ICsjZGVmaW5lIEtUX0lUWF9MT0VNX0lEICAg ICAgICAgICAgICAgICAgICAwDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0Nsb2NrQ29udHJvbC5jDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvQ2xvY2tDb250cm9sLmMNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMTY2OWYwMzU3Zg0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtRHhlL0Nsb2NrQ29udHJvbC5jDQo+IEBAIC0wLDAgKzEsMjAyIEBADQo+ICsvKiogQGZpbGUN Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgQ2xvY2tDb250cm9sLmMNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgU2V0cyBwbGF0Zm9ybS9TS1Ugc3BlY2lmaWMgY2xvY2sgcm91dGluZyBpbmZv cm1hdGlvbi4NCj4gKw0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRm b3JtRHhlLmgiDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQ0s1MDVDbG9ja1BsYXRmb3JtSW5mby5o Pg0KPiArDQo+ICsvLw0KPiArLy8gRGVmYXVsdCBjbG9jayByb3V0aW5nIGluZm9ybXRpb24gKEFs bCBPbikNCj4gKy8vDQo+ICtFRklfQ0xPQ0tfUExBVEZPUk1fSU5GTyBtRGVmQ2xvY2tQb2xpY3kg PSB7TlVMTCwgMCwgTlVMTCwgMCwgTlVMTCwgMH07DQo+ICsNCj4gKy8vDQo+ICsvLyBDbG9jayBT ZXR0aW5ncw0KPiArLy8NCj4gKy8vIFN0YXRpYyBjbG9jayB0YWJsZS4NCj4gKy8vICBUaGlzIHNo b3VsZCBiZSB1c2VkIHRvIGRlZmluZSBhbnkgY2xvY2sgc2V0dGluZ3MgdGhhdCBhcmUgc3RhdGlj DQo+ICsvLyAgKEFsd2F5cyBPbiBvciBBbHdheXMgT2ZmKS4gIER5bmFtaWMgY2xvY2tzIHNob3Vs ZCBiZSBzZXQgdG8gZW5hYmxlZA0KPiArLy8gIGluIHRoaXMgdGFibGUuDQo+ICsvLw0KPiArRUZJ X1NUQVRJQ19TSUdOQUxTIG1BdHhTdGF0aWNDbG9ja3NbXSA9IHsNCj4gKyAge1NyY0NsazgsICAg RW5hYmxlZCwgIEFsbH0sDQo+ICsgIHtTcmNDbGs3LCAgIEVuYWJsZWQsICBBbGx9LA0KPiArICB7 U3JjQ2xrNiwgICBFbmFibGVkLCAgQWxsfSwNCj4gKyAge1NyY0NsazUsICAgRW5hYmxlZCwgIEFs bH0sDQo+ICsgIHtTcmNDbGs0LCAgIEVuYWJsZWQsICBBbGx9LA0KPiArICB7U3JjQ2xrMywgICBF bmFibGVkLCAgQWxsfSwNCj4gKyAge1NyY0NsazIsICAgRW5hYmxlZCwgIEFsbH0sDQo+ICsgIHtT cmNDbGsxLCAgIEVuYWJsZWQsICBBbGx9LA0KPiArICB7U3JjQ2xrMCwgICBFbmFibGVkLCAgQWxs fSwNCj4gKyAge1JlZjAsICAgICAgRW5hYmxlZCwgIEFsbH0sDQo+ICsgIHtEb3Q5NiwgICAgIEVu YWJsZWQsICBBbGx9LA0KPiArICB7VXNiNDgsICAgICBFbmFibGVkLCAgQWxsfSwNCj4gKyAge1Bj aUNsa0Y1LCAgRW5hYmxlZCwgIEFsbH0sDQo+ICsgIHtQY2lDbGswLCAgIEVuYWJsZWQsICBBbGx9 LA0KPiArICB7UGNpQ2xrMiwgICBFbmFibGVkLCAgQWxsfSwNCj4gKyAge1BjaUNsazMsICAgRW5h YmxlZCwgIEFsbH0sDQo+ICsgIHtQY2lDbGs0LCAgIERpc2FibGVkLCAgQWxsfSwNCj4gKyAge0Ny X0IsICAgRW5hYmxlZFdpdGhTd2l0Y2gsICBBbGx9LA0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8v IENsb2NrU3hJbmZvIFRhYmxlDQo+ICsvLyAgVGhpcyBpcyBhIGxpc3Qgb2YgY2xvY2tzIHRoYXQg bmVlZCB0byBiZSBzZXQgdG8gYSBrbm93biBzdGF0ZSB3aGVuIHRoZQ0KPiArLy8gIHN5c3RlbSBl bnRlcnMgUzQgb3IgUzUuDQo+ICsvLw0KPiArRUZJX1NUQVRJQ19TSUdOQUxTIG1BdHhTeENsb2Nr c1tdID0gew0KPiArICB7U2F2ZUNsb2NrQ29uZmlndXJhdGlvbiwgRGlzYWJsZWQsIEFsbH0NCj4g K307DQo+ICsNCj4gKy8vDQo+ICsvLyBBVFggc2V0dGluZ3Mgc3RydWN0dXJlDQo+ICsvLw0KPiAr RUZJX0NMT0NLX1BMQVRGT1JNX0lORk8gbUF0eENsb2NrU2V0dGluZ3MgPSB7DQo+ICsgIG1BdHhT dGF0aWNDbG9ja3MsDQo+ICsgIHNpemVvZihtQXR4U3RhdGljQ2xvY2tzKSAvIHNpemVvZihtQXR4 U3RhdGljQ2xvY2tzWzBdKSwNCj4gKyAgbUF0eFN4Q2xvY2tzLA0KPiArICBzaXplb2YobUF0eFN4 Q2xvY2tzKSAvIHNpemVvZihtQXR4U3hDbG9ja3NbMF0pDQo+ICt9Ow0KPiArDQo+ICsjaWYgZGVm aW5lZCggUlZQX1NVUFBPUlQgKSAmJiBSVlBfU1VQUE9SVA0KPiArLy8NCj4gKy8vIFJWUCBDbG9j ayBTZXR0aW5ncw0KPiArLy8NCj4gKy8vIFN0YXRpYyBjbG9jayB0YWJsZS4NCj4gKy8vICBUaGlz IHNob3VsZCBiZSB1c2VkIHRvIGRlZmluZSBhbnkgY2xvY2sgc2V0dGluZ3MgdGhhdCBhcmUgc3Rh dGljDQo+ICsvLyAgKEFsd2F5cyBPbiBvciBBbHdheXMgT2ZmKS4gIER5bmFtaWMgY2xvY2tzIHNo b3VsZCBiZSBzZXQgdG8gZW5hYmxlZA0KPiArLy8gIGluIHRoaXMgdGFibGUuDQo+ICsvLw0KPiAr Ly9VUFNEX1RCRCBDaGVjayB3aXRoIEphbiBpZiBhbnkgcG9ydGluZyByZXF1aXJlZC4NCj4gKy8v DQo+ICtFRklfU1RBVElDX1NJR05BTFMgbVJ2cFN0YXRpY0Nsb2Nrc1tdID0gew0KPiArICB7U3Jj Q2xrMTEsICBFbmFibGVkLCAgQWxsfSwgICAgIC8vIE5vdCB1c2VkL25vdCBwcmVzZW50IGJ1dCBs ZWF2ZSBjb2RpbmcNCj4gZW5hYmxlZA0KPiArICB7U3JjQ2xrMTAsICBFbmFibGVkLCAgQWxsfSwg ICAgIC8vIE5vdCB1c2VkL25vdCBwcmVzZW50IGJ1dCBsZWF2ZSBjb2RpbmcNCj4gZW5hYmxlZA0K PiArICB7U3JjQ2xrOSwgICBFbmFibGVkLCAgQWxsfSwgICAgIC8vIE5vdCB1c2VkL25vdCBwcmVz ZW50IGJ1dCBsZWF2ZSBjb2RpbmcNCj4gZW5hYmxlZA0KPiArICB7U3JjQ2xrOCwgICBFbmFibGVk LCAgQWxsfSwgICAgIC8vIElDSFNBVEFJSQ0KPiArICB7U3JjQ2xrNywgICBFbmFibGVkLCAgQWxs fSwgICAgIC8vIERQTF9SRUZTU0NMS0lODQo+ICsgIHtTcmNDbGs2LCAgIEVuYWJsZWQsICBBbGx9 LCAgICAgLy8gMTAwTV9NQ0gNCj4gKyAge1NyY0NsazUsICAgRW5hYmxlZCwgIEFsbH0sICAgICAv LyBNaW5pLVBDSWUgIC8vVE9ETyBQTlY6IE5lZWQgdG8gY2hlY2sgSUNIDQo+IEdQSU8zODoNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIDA6IHR1 cm4gb247IDE6IHR1cm4gb2ZmDQo+ICsgIHtTcmNDbGs0LCAgIEVuYWJsZWQsICBBbGx9LCAgICAg Ly8gSUNIU0FUQQ0KPiArICB7U3JjQ2xrMywgICBFbmFibGVkLCAgQWxsfSwgICAgIC8vIDEwME1f SUNIDQo+ICsgIHtTcmNDbGsyLCAgIEVuYWJsZWQsICBBbGx9LCAgICAgLy8gMTAwTV9MQU4NCj4g KyAge1NyY0NsazEsICAgRW5hYmxlZCwgIEFsbH0sICAgICAvLyAyNU1fTEFODQo+ICsgIHtTcmND bGswLCAgIEVuYWJsZWQsICBBbGx9LCAgICAgLy8gOTZNX0RSRUYNCj4gKyAge1JlZjAsICAgICAg RW5hYmxlZCwgIEFsbH0sDQo+ICsgIHtEb3Q5NiwgICAgIEVuYWJsZWQsICBBbGx9LA0KPiArICB7 VXNiNDgsICAgICBFbmFibGVkLCAgQWxsfSwNCj4gKyAge1BjaUNsa0Y1LCAgRW5hYmxlZCwgIEFs bH0sICAgICAvLyAzM01fSUNIDQo+ICsgIHtQY2lDbGswLCAgIEVuYWJsZWQsICBBbGx9LCAgICAg Ly8gMzNNX1JJU0VSDQo+ICsgIHtQY2lDbGsxLCAgIEVuYWJsZWQsICBBbGx9LCAgICAgLy8gMzNN X1JJU0VSDQo+ICsgIHtQY2lDbGsyLCAgIEVuYWJsZWQsICBBbGx9LCAgICAgLy8gVkREX0Nsb2Nr DQo+ICsgIHtQY2lDbGszLCAgIEVuYWJsZWQsICBBbGx9LCAgICAgLy8gMzNNX1MxDQo+ICsgIHtQ Y2lDbGs0LCAgIEVuYWJsZWQsICBBbGx9LCAgICAgLy8gMzNNX1BBDQo+ICt9Ow0KPiArDQo+ICsv Lw0KPiArLy8gRHluYW1pYyBjbG9jayB0YWJsZQ0KPiArLy8gVGhpcyBpcyB1c2VkIHRvIGRldGVy bWluZSBpZiBhIGNsb2NrIHNob3VsZCBiZSBsZWZ0IG9uIG9yIHR1cm5lZCBvZmYgYmFzZWQNCj4g Ky8vIG9uIHRoZSBwcmVzZW5jZSBvZiBhIGRldmljZS4gIFRoZSBicmlkZ2UgaW5mb3JtYXRpb24g aXMgdXNlZCBzbyB0aGUgYnVzDQo+ICsvLyBudW1iZXIgZm9yIHRoZSBkZXZpY2UgdG8gYmUgZGV0 ZWN0ZWQgY2FuIGJlIGZvdW5kLg0KPiArLy8NCj4gKw0KPiArLy8NCj4gKy8vIENsb2NrU3hJbmZv IFRhYmxlDQo+ICsvLyBUaGlzIGlzIGEgbGlzdCBvZiBjbG9ja3MgdGhhdCBuZWVkIHRvIGJlIHNl dCB0byBhIGtub3duIHN0YXRlIHdoZW4gdGhlDQo+ICsvLyBzeXN0ZW0gZW50ZXJzIFM0IG9yIFM1 Lg0KPiArLy8NCj4gK0VGSV9TVEFUSUNfU0lHTkFMUyBtUnZwU3hDbG9ja3NbXSA9IHsNCj4gKyAg e1NhdmVDbG9ja0NvbmZpZ3VyYXRpb24sIERpc2FibGVkLCBBbGx9DQo+ICt9Ow0KPiArDQo+ICsv Lw0KPiArLy8gUlZQIHNldHRpbmdzIHN0cnVjdHVyZQ0KPiArLy8NCj4gK0VGSV9DTE9DS19QTEFU Rk9STV9JTkZPIG1SdnBDbG9ja1NldHRpbmdzID0gew0KPiArICBtUnZwU3RhdGljQ2xvY2tzLA0K PiArICBzaXplb2YobVJ2cFN0YXRpY0Nsb2NrcykgLyBzaXplb2YobVJ2cFN0YXRpY0Nsb2Nrc1sw XSksDQo+ICsgIDAsICAvLyBObyBjbG9ja3Mgd2lsbCBiZSB0dXJuZWQgb2ZmIG1SdnBEeW5hbWlj Q2xvY2tzLA0KPiArICAwLCAvLyBObyBjbG9ja3Mgd2lsbCBiZSB0dXJuZWQgb2ZmIHNpemVvZiht UnZwRHluYW1pY0Nsb2NrcykgLw0KPiBzaXplb2YobVJ2cER5bmFtaWNDbG9ja3NbMF0pLA0KPiAr ICBtUnZwU3hDbG9ja3MsDQo+ICsgIHNpemVvZihtUnZwU3hDbG9ja3MpIC8gc2l6ZW9mKG1SdnBT eENsb2Nrc1swXSkNCj4gK307DQo+ICsjZW5kaWYNCj4gKw0KPiArVk9JRA0KPiArSW5pdGlhbGl6 ZUNsb2NrUm91dGluZygNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAg ICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBC b2FyZElkVmFyU2l6ZTsNCj4gKyAgRUZJX0JPQVJEX0ZFQVRVUkVTICAgICAgICAgICAgICBCb2Fy ZElkVmFyOw0KPiArICBFRklfQ0xPQ0tfUExBVEZPUk1fSU5GTyAgICAgICAgICpDbG9ja1BvbGlj eTsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICBIYW5kbGU7DQo+ICsNCj4g KyAgQ2xvY2tQb2xpY3kgPSAmbURlZkNsb2NrUG9saWN5Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IERvIG1vZGlmaWNhdGlvbnMgYmFzZWQgb24gYm9hcmQgdHlwZQ0KPiArICAvLw0KPiArICBCb2Fy ZElkVmFyU2l6ZSA9IHNpemVvZiAoRUZJX0JPQVJEX0ZFQVRVUkVTKTsNCj4gKyAgU3RhdHVzID0g Z1JULT5HZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICBCT0FSRF9GRUFUVVJFU19O QU1FLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlCb2FyZEZlYXR1cmVzR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmQm9hcmRJZFZhclNp emUsDQo+ICsgICAgICAgICAgICAgICAgICAmQm9hcmRJZFZhcg0KPiArICAgICAgICAgICAgICAg ICAgKTsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKw0KPiArI2lmIGRlZmlu ZWQoIFJWUF9TVVBQT1JUICkgJiYgUlZQX1NVUFBPUlQNCj4gKyAgICBpZiAoQm9hcmRJZFZhciAm IEJfQk9BUkRfRkVBVFVSRVNfUlZQKSB7DQo+ICsgICAgICBDbG9ja1BvbGljeSA9ICZtUnZwQ2xv Y2tTZXR0aW5nczsNCj4gKyAgICB9DQo+ICsjZWxzZQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAv LyBJc29sYXRlIGJvYXJkIHR5cGUgaW5mb3JtYXRpb24NCj4gKyAgICAvLw0KPiArICAgIEJvYXJk SWRWYXIgPSBCb2FyZElkVmFyICYgKEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfQVRYIHwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCX0JPQVJEX0ZFQVRVUkVTX0ZPUk1f RkFDVE9SX0JUWCB8DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQl9CT0FSRF9G RUFUVVJFU19GT1JNX0ZBQ1RPUl9NSUNST19BVFggfA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfTUlDUk9fQlRYKTsNCj4gKw0K PiArICAgIGlmIChCb2FyZElkVmFyID09IEJfQk9BUkRfRkVBVFVSRVNfRk9STV9GQUNUT1JfQVRY IHx8DQo+ICsgICAgICAgIEJvYXJkSWRWYXIgPT0gQl9CT0FSRF9GRUFUVVJFU19GT1JNX0ZBQ1RP Ul9NSUNST19BVFgpIHsNCj4gKyAgICAgIENsb2NrUG9saWN5ID0gJm1BdHhDbG9ja1NldHRpbmdz Ow0KPiArICAgIH0NCj4gKw0KPiArI2VuZGlmDQo+ICsNCj4gKyAgfQ0KPiArDQo+ICsgIEhhbmRs ZSA9IE5VTEw7DQo+ICsgIFN0YXR1cyA9IGdCUy0+SW5zdGFsbFByb3RvY29sSW50ZXJmYWNlICgN Cj4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0Vm aUNrNTA1Q2xvY2tQbGF0Zm9ybUluZm9HdWlkLA0KPiArICAgICAgICAgICAgICAgICAgRUZJX05B VElWRV9JTlRFUkZBQ0UsDQo+ICsgICAgICAgICAgICAgICAgICBDbG9ja1BvbGljeQ0KPiArICAg ICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0KPiArDQo+ ICt9DQo+ICsNCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvUGxhdGZvcm1EeGUvQ29uZmlndXJhdGlvbi5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvQ29uZmlndXJhdGlvbi5oDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjIzZTAzMTExYzkNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9D b25maWd1cmF0aW9uLmgNCj4gQEAgLTAsMCArMSw2OTIgQEANCj4gKy8qKysNCj4gKw0KPiArICBD b3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiAr DQo+ICsgICAgQ29uZmlndXJhdGlvbi5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgICAg RHJpdmVyIGNvbmZpZ3VyYXRpb24gaW5jbHVkZSBmaWxlDQo+ICsNCj4gKw0KPiArLS0qLw0KPiAr DQo+ICsjaWZuZGVmIF9DT05GSUdVUkFUSU9OX0gNCj4gKyNkZWZpbmUgX0NPTkZJR1VSQVRJT05f SA0KPiArDQo+ICsjZGVmaW5lIEVGSV9OT05fREVWSUNFX0NMQVNTICAgICAgICAgICAgICAgMHgw MA0KPiArI2RlZmluZSBFRklfRElTS19ERVZJQ0VfQ0xBU1MgICAgICAgICAgICAgIDB4MDENCj4g KyNkZWZpbmUgRUZJX1ZJREVPX0RFVklDRV9DTEFTUyAgICAgICAgICAgICAweDAyDQo+ICsjZGVm aW5lIEVGSV9ORVRXT1JLX0RFVklDRV9DTEFTUyAgICAgICAgICAgMHgwNA0KPiArI2RlZmluZSBF RklfSU5QVVRfREVWSUNFX0NMQVNTICAgICAgICAgICAgIDB4MDgNCj4gKyNkZWZpbmUgRUZJX09O X0JPQVJEX0RFVklDRV9DTEFTUyAgICAgICAgICAweDEwDQo+ICsjZGVmaW5lIEVGSV9PVEhFUl9E RVZJQ0VfQ0xBU1MgICAgICAgICAgICAgMHgyMA0KPiArDQo+ICsvLw0KPiArLy8gUHJvY2Vzc29y IGxhYmVscw0KPiArLy8NCj4gKyNkZWZpbmUgUFJPQ0VTU09SX0hUX01PREUgICAgICAgICAgIDB4 MDEwMA0KPiArI2RlZmluZSBQUk9DRVNTT1JfRlNCX01VTFRJUExJRVIgICAgMHgwMTAxDQo+ICsj ZGVmaW5lIFBST0NFU1NPUl9NVUxUSVBMSUVSX09WRVJSSURFX0NPTlRST0wgIDB4MDIxMQ0KPiAr DQo+ICsvLw0KPiArLy8gTWVtb3J5IGxhYmVscw0KPiArLy8NCj4gKyNkZWZpbmUgTUVNT1JZX1NM T1QxX1NQRUVEICAgICAgICAgIDB4MDIwMA0KPiArI2RlZmluZSBNRU1PUllfU0xPVDJfU1BFRUQg ICAgICAgICAgMHgwMjAxDQo+ICsjZGVmaW5lIE1FTU9SWV9TTE9UM19TUEVFRCAgICAgICAgICAw eDAyMDINCj4gKyNkZWZpbmUgTUVNT1JZX1NMT1Q0X1NQRUVEICAgICAgICAgIDB4MDIwMw0KPiAr I2RlZmluZSBFTkRfTUVNT1JZX1NMT1RfU1BFRUQgICAgICAgMHgwMjBGDQo+ICsjZGVmaW5lIFBF UkZPUk1BTkNFX01FTU9SWV9QUk9GSUxFX0NPTlRST0wgIDB4MDIxMA0KPiArI2RlZmluZSBVQ0xL X1JBVElPX0NPTlRST0wgICAgICAgICAgMHgwMjEyDQo+ICsNCj4gKy8vDQo+ICsvLyBMYW5ndWFn ZSBsYWJlbA0KPiArLy8NCj4gKyNkZWZpbmUgRlJPTlRfUEFHRV9JVEVNX0xBTkdVQUdFICAgIDB4 MzAwDQo+ICsNCj4gKy8vDQo+ICsvLyBCb290IExhYmVscw0KPiArLy8NCj4gKyNkZWZpbmUgQk9P VF9ERVZJQ0VfUFJJT1JJVFlfQkVHSU4gIDB4MDQwMA0KPiArI2RlZmluZSBCT09UX0RFVklDRV9Q UklPUklUWV9FTkQgICAgMHgwNDAxDQo+ICsjZGVmaW5lIEJPT1RfT1BUSUNBTF9ERVZJQ0VfQkVH SU4gICAweDA0MTANCj4gKyNkZWZpbmUgQk9PVF9PUFRJQ0FMX0RFVklDRV9FTkQgICAgIDB4MDQx MQ0KPiArI2RlZmluZSBCT09UX1JFTU9WQUJMRV9ERVZJQ0VfQkVHSU4gMHgwNDIwDQo+ICsjZGVm aW5lIEJPT1RfUkVNT1ZBQkxFX0RFVklDRV9FTkQgICAweDA0MjENCj4gKyNkZWZpbmUgQk9PVF9Q WEVfREVWSUNFX0JFR0lOICAgICAgIDB4MDQzMA0KPiArI2RlZmluZSBCT09UX1BYRV9ERVZJQ0Vf RU5EICAgICAgICAgMHgwNDMxDQo+ICsjZGVmaW5lIEJPT1RfTUVOVV9UWVBFX0JFR0lOICAgICAg ICAweDA0NDANCj4gKyNkZWZpbmUgQk9PVF9NRU5VX1RZUEVfRU5EICAgICAgICAgIDB4MDQ0MQ0K PiArI2RlZmluZSBCT09UX1VTQl9ERVZJQ0VfQkVHSU4gICAgICAgMHgwNDUwDQo+ICsjZGVmaW5l IEJPT1RfVVNCX0RFVklDRV9FTkQgICAgICAgICAweDA0NTENCj4gKyNkZWZpbmUgQk9PVF9VU0Jf RklSU1RfQkVHSU4gICAgICAgIDB4MDQ2MA0KPiArI2RlZmluZSBCT09UX1VTQl9GSVJTVF9FTkQg ICAgICAgICAgMHgwNDYxDQo+ICsjZGVmaW5lIEJPT1RfVUVGSV9CRUdJTiAgICAgICAgICAgICAw eDA0NzANCj4gKyNkZWZpbmUgQk9PVF9VRUZJX0VORCAgICAgICAgICAgICAgIDB4MDQ3MQ0KPiAr I2RlZmluZSBCT09UX1VTQl9VTkFWQUlMQUJMRV9CRUdJTiAgMHgwNDgwDQo+ICsjZGVmaW5lIEJP T1RfVVNCX1VOQVZBSUxBQkxFX0VORCAgICAweDA0ODENCj4gKyNkZWZpbmUgQk9PVF9DRF9VTkFW QUlMQUJMRV9CRUdJTiAgIDB4MDQ5MA0KPiArI2RlZmluZSBCT09UX0NEX1VOQVZBSUxBQkxFX0VO RCAgICAgMHgwNDkxDQo+ICsjZGVmaW5lIEJPT1RfRkREX1VOQVZBSUxBQkxFX0JFR0lOICAweDA0 QTANCj4gKyNkZWZpbmUgQk9PVF9GRERfVU5BVkFJTEFCTEVfRU5EICAgIDB4MDRBMQ0KPiArI2Rl ZmluZSBCT09UX0RFVklDRV9QUklPUklUWV9ERUZBVUxUX0JFR0lOICAweDA0QjANCj4gKyNkZWZp bmUgQk9PVF9ERVZJQ0VfUFJJT1JJVFlfREVGQVVMVF9FTkQgICAgMHgwNEIxDQo+ICsjZGVmaW5l IEJPT1RfVVNCX09QVF9MQUJFTF9CRUdJTiAgICAweDA0QzANCj4gKyNkZWZpbmUgQk9PVF9VU0Jf T1BUX0xBQkVMX0VORCAgICAgIDB4MDRDMQ0KPiArDQo+ICsjZGVmaW5lIFZBUl9FUV9BRE1JTl9O QU1FICAgICAgICAgICAgICAgMHgwMDQxICAvLyBBDQo+ICsjZGVmaW5lIFZBUl9FUV9BRE1JTl9E RUNJTUFMX05BTUUgICAgICAgTCI2NSINCj4gKyNkZWZpbmUgVkFSX0VRX1ZJRVdfT05MWV9OQU1F ICAgICAgICAgICAweDAwNDIgIC8vIEINCj4gKyNkZWZpbmUgVkFSX0VRX1ZJRVdfT05MWV9ERUNJ TUFMX05BTUUgICBMIjY2Ig0KPiArI2RlZmluZSBWQVJfRVFfQ09ORklHX01PREVfTkFNRSAgICAg ICAgIDB4MDA0MyAgLy8gQw0KPiArI2RlZmluZSBWQVJfRVFfQ09ORklHX01PREVfREVDSU1BTF9O QU1FIEwiNjciDQo+ICsjZGVmaW5lIFZBUl9FUV9DUFVfRUVfTkFNRSAgICAgICAgICAgICAgMHgw MDQ1ICAvLyBFDQo+ICsjZGVmaW5lIFZBUl9FUV9DUFVfRUVfREVDSU1BTF9OQU1FICBMIjY5Ig0K PiArI2RlZmluZSBWQVJfRVFfRkxPUFBZX01PREVfTkFNRSAgICAgICAgIDB4MDA0NiAgLy8gRg0K PiArI2RlZmluZSBWQVJfRVFfRkxPUFBZX01PREVfREVDSU1BTF9OQU1FIEwiNzAiDQo+ICsjZGVm aW5lIFZBUl9FUV9IVF9NT0RFX05BTUUgICAgICAgICAgICAgMHgwMDQ4ICAvLyBIDQo+ICsjZGVm aW5lIFZBUl9FUV9IVF9NT0RFX0RFQ0lNQUxfTkFNRSAgICAgTCI3MiINCj4gKyNkZWZpbmUgVkFS X0VRX0FIQ0lfTU9ERV9OQU1FICAgICAgICAgICAweDAwNDkgIC8vIEkNCj4gKyNkZWZpbmUgVkFS X0VRX0FIQ0lfTU9ERV9ERUNJTUFMX05BTUUgICBMIjczIg0KPiArI2RlZmluZSBWQVJfRVFfQ1BV X0xPQ0tfTkFNRSAgICAgICAgICAgIDB4MDA0QyAgLy8gTA0KPiArI2RlZmluZSBWQVJfRVFfQ1BV X0xPQ0tfREVDSU1BTF9OQU1FICAgIEwiNzYiDQo+ICsjZGVmaW5lIFZBUl9FUV9OWF9NT0RFX05B TUUgICAgICAgICAgICAgMHgwMDRFICAvLyBODQo+ICsjZGVmaW5lIFZBUl9FUV9OWF9NT0RFX0RF Q0lNQUxfTkFNRSAgICAgTCI3OCINCj4gKyNkZWZpbmUgVkFSX0VRX1JBSURfTU9ERV9OQU1FICAg ICAgICAgICAweDAwNTIgIC8vIFINCj4gKyNkZWZpbmUgVkFSX0VRX1JBSURfTU9ERV9ERUNJTUFM X05BTUUgICBMIjgyIg0KPiArI2RlZmluZSBWQVJfRVFfMTM5NF9NT0RFX05BTUUgICAgICAgICAg IDB4MDA1NCAgLy8gVA0KPiArI2RlZmluZSBWQVJfRVFfMTM5NF9NT0RFX0RFQ0lNQUxfTkFNRSAg IEwiODQiDQo+ICsjZGVmaW5lIFZBUl9FUV9VU0VSX05BTUUgICAgICAgICAgICAgICAgMHgwMDU1 ICAvLyBVDQo+ICsjZGVmaW5lIFZBUl9FUV9VU0VSX0RFQ0lNQUxfTkFNRSAgICAgICAgTCI4NSIN Cj4gKyNkZWZpbmUgVkFSX0VRX1ZJREVPX01PREVfTkFNRSAgICAgICAgICAweDAwNTYgIC8vIFYN Cj4gKyNkZWZpbmUgVkFSX0VRX1ZJREVPX01PREVfREVDSU1BTF9OQU1FICBMIjg2Ig0KPiArI2Rl ZmluZSBWQVJfRVFfTEVHQUNZX0ZQX0FVRElPX05BTUUgICAgIDB4MDA1NyAgLy8gVw0KPiArI2Rl ZmluZSBWQVJfRVFfTEVHQUNZX0ZQX0FVRElPX0RFQ0lNQUxfTkFNRSBMIjg3Ig0KPiArI2RlZmlu ZSBWQVJfRVFfRU02NFRfQ0FQQUJMRV9OQU1FICAgICAgIDB4MDA1OCAgLy8gWA0KPiArI2RlZmlu ZSBWQVJfRVFfRU02NFRfQ0FQQUJMRV9ERUNJTUFMX05BTUUgTCI4OCINCj4gKyNkZWZpbmUgVkFS X0VRX0JPQVJEX0ZPUk1GQUNUT1JfTkFNRSAgICAweDAwNTkgIC8vIFkNCj4gKyNkZWZpbmUgVkFS X0VRX0JPQVJEX0ZPUk1GQUNUT1JfREVDSU1BTF9OQU1FIEwiODkiDQo+ICsjZGVmaW5lIFZBUl9F UV9VTkNPTl9DUFVfTkFNRSAgICAgICAgICAgMHgwMDVCICAvLyA/Pw0KPiArI2RlZmluZSBWQVJf RVFfVU5DT05fQ1BVX0RFQ0lNQUxfTkFNRSAgIEwiOTEiDQo+ICsjZGVmaW5lIFZBUl9FUV9WQVJf SElERV9OQU1FICAgICAgICAgICAgMHgwMDVDICAvLyA/Pw0KPiArI2RlZmluZSBWQVJfRVFfVkFS X0hJREVfREVDSU1BTF9OQU1FICAgIEwiOTIiDQo+ICsjZGVmaW5lIFZBUl9FUV9FTkVSR1lfTEFL RV9OQU1FICAgICAgICAgMHgwMDVEICAvLyA/Pw0KPiArI2RlZmluZSBWQVJfRVFfRU5FUkdZX0xB S0VfREVDSU1BTF9OQU1FIEwiOTMiDQo+ICsjZGVmaW5lIFZBUl9FUV9UUE1fTU9ERV9OQU1FICAg ICAgICAgICAgMHgwMDVFICAvLyBeDQo+ICsjZGVmaW5lIFZBUl9FUV9UUE1fTU9ERV9ERUNJTUFM X05BTUUgICAgTCI5NCINCj4gKyNkZWZpbmUgVkFSX0VRX0RJU0NSRVRFX1NBVEFfTkFNRSAgICAg ICAweDAwNUYgIC8vID8/DQo+ICsjZGVmaW5lIFZBUl9FUV9ESVNDUkVURV9TQVRBX0RFQ0lNQUxf TkFNRSBMIjk1Ig0KPiArI2RlZmluZSBWQVJfRVFfUk9FTV9TS1VfTkFNRSAgICAgICAgICAgIDB4 MDA2MCAgLy8gPz8NCj4gKyNkZWZpbmUgVkFSX0VRX1JPRU1fU0tVX0RFQ0lNQUxfTkFNRSAgICBM Ijk2Ig0KPiArI2RlZmluZSBWQVJfRVFfQU1UU09MX01PREVfTkFNRSAgICAgICAgIDB4MDA2MSAg Ly8gPz8NCj4gKyNkZWZpbmUgVkFSX0VRX0FNVFNPTF9NT0RFX0RFQ0lNQUxfTkFNRSBMIjk3Ig0K PiArI2RlZmluZSBWQVJfRVFfTk9fUEVHX01PREVfTkFNRSAgICAgICAgIDB4MDA2MiAgLy8gPz8N Cj4gKyNkZWZpbmUgVkFSX0VRX05PX1BFR19NT0RFX0RFQ0lNQUxfTkFNRSBMIjk4Ig0KPiArI2Rl ZmluZSBWQVJfRVFfU0lOR0xFX1BST0NFU1NPUl9NT0RFX05BTUUgMHgwMDYzICAvLyA/Pw0KPiAr I2RlZmluZSBWQVJfRVFfU0lOR0xFX1BST0NFU1NPUl9NT0RFX0RFQ0lNQUxfTkFNRSBMIjk5Ig0K PiArI2RlZmluZSBWQVJfRVFfRkxPUFBZX0hJREVfTkFNRSAgICAgICAgIDB4MDA2NCAgLy8gPz8N Cj4gKyNkZWZpbmUgVkFSX0VRX0ZMT1BQWV9ISURFX0RFQ0lNQUxfTkFNRSBMIjEwMCINCj4gKyNk ZWZpbmUgVkFSX0VRX1NFUklBTF9ISURFX05BTUUgICAgICAgICAweDAwNjUgIC8vID8/DQo+ICsj ZGVmaW5lIFZBUl9FUV9TRVJJQUxfSElERV9ERUNJTUFMX05BTUUgTCIxMDEiDQo+ICsjZGVmaW5l IFZBUl9FUV9HVjNfQ0FQQUJMRV9OQU1FICAgICAgICAgMHgwMDY2IC8vIGYNCj4gKyNkZWZpbmUg VkFSX0VRX0dWM19DQVBBQkxFX0RFQ0lNQUxfTkFNRSBMIjEwMiINCj4gKyNkZWZpbmUgVkFSX0VR XzJfTUVNT1JZX05BTUUgICAgICAgICAgICAweDAwNjcgLy8gPz8NCj4gKyNkZWZpbmUgVkFSX0VR XzJfTUVNT1JZX0RFQ0lNQUxfTkFNRSAgICBMIjEwMyINCj4gKyNkZWZpbmUgVkFSX0VRXzJfU0FU QV9OQU1FICAgICAgICAgICAgICAweDAwNjggLy8gPz8NCj4gKyNkZWZpbmUgVkFSX0VRXzJfU0FU QV9ERUNJTUFMX05BTUUgICAgICBMIjEwNCINCj4gKyNkZWZpbmUgVkFSX0VRX05FQ19TS1VfTkFN RSAgICAgICAgICAgIDB4MDA2OSAgLy8gPz8NCj4gKyNkZWZpbmUgVkFSX0VRX05FQ19TS1VfREVD SU1BTF9OQU1FICAgIEwiMTA1Ig0KPiArI2RlZmluZSBWQVJfRVFfQU1UX01PREVfTkFNRSAgICAg ICAgICAgIDB4MDA2QSAgLy8gPz8NCj4gKyNkZWZpbmUgVkFSX0VRX0FNVF9NT0RFX0RFQ0lNQUxf TkFNRSAgICBMIjEwNiINCj4gKyNkZWZpbmUgVkFSX0VRX0xDTFhfU0tVX05BTUUgICAgICAgICAg ICAweDAwNkIgIC8vID8/DQo+ICsjZGVmaW5lIFZBUl9FUV9MQ0xYX1NLVV9ERUNJTUFMX05BTUUg ICAgTCIxMDciDQo+ICsjZGVmaW5lIFZBUl9FUV9WVF9OQU1FICAgICAgICAgICAgICAgICAgMHgw MDZDDQo+ICsjZGVmaW5lIFZBUl9FUV9WVF9ERUNJTUFMX05BTUUgICAgICAgICAgTCIxMDgiDQo+ ICsjZGVmaW5lIFZBUl9FUV9MVF9OQU1FICAgICAgICAgICAgICAgICAgMHgwMDZEDQo+ICsjZGVm aW5lIFZBUl9FUV9MVF9ERUNJTUFMX05BTUUgICAgICAgICAgTCIxMDkiDQo+ICsjZGVmaW5lIFZB Ul9FUV9JVEtfQklPU19NT0RfTkFNRSAgICAgICAgIDB4MDA2RSAgLy8gPz8NCj4gKyNkZWZpbmUg VkFSX0VRX0lUS19CSU9TX01PRF9ERUNJTUFMX05BTUUgTCIxMTAiDQo+ICsjZGVmaW5lIFZBUl9F UV9IUEVUX05BTUUgICAgICAgICAgICAgICAgMHgwMDZGDQo+ICsjZGVmaW5lIFZBUl9FUV9IUEVU X0RFQ0lNQUxfTkFNRSAgICAgICAgTCIxMTEiDQo+ICsjZGVmaW5lIFZBUl9FUV9BRE1JTl9JTlNU QUxMRURfTkFNRSAgICAgICAgICAweDAwNzAgIC8vID8/DQo+ICsjZGVmaW5lIFZBUl9FUV9BRE1J Tl9JTlNUQUxMRURfREVDSU1BTF9OQU1FICBMIjExMiINCj4gKyNkZWZpbmUgVkFSX0VRX1VTRVJf SU5TVEFMTEVEX05BTUUgICAgICAgICAgMHgwMDcxICAvLyA/Pw0KPiArI2RlZmluZSBWQVJfRVFf VVNFUl9JTlNUQUxMRURfREVDSU1BTF9OQU1FICBMIjExMyINCj4gKyNkZWZpbmUgVkFSX0VRX0NQ VV9DTVBfTkFNRSAgICAgICAgICAgICAweDAwNzINCj4gKyNkZWZpbmUgVkFSX0VRX0NQVV9DTVBf REVDSU1BTF9OQU1FICAgICBMIjExNCINCj4gKyNkZWZpbmUgVkFSX0VRX0xBTl9NQUNfQUREUl9O QU1FICAgICAgICAgIDB4MDA3MyAgLy8gPz8NCj4gKyNkZWZpbmUgVkFSX0VRX0xBTl9NQUNfQURE Ul9ERUNJTUFMX05BTUUgIEwiMTE1Ig0KPiArI2RlZmluZSBWQVJfRVFfUEFSQUxMRUxfSElERV9O QU1FICAgICAgICAgMHgwMDc0ICAvLyA/Pw0KPiArI2RlZmluZSBWQVJfRVFfUEFSQUxMRUxfSElE RV9ERUNJTUFMX05BTUUgTCIxMTYiDQo+ICsjZGVmaW5lIFZBUl9FUV9BRlNDX1NFVFVQX05BTUUg ICAgICAgICAgMHgwMDc1DQo+ICsjZGVmaW5lIFZBUl9FUV9BRlNDX1NFVFVQX0RFQ0lNQUxfTkFN RSAgTCIxMTciDQo+ICsjZGVmaW5lIFZBUl9FUV9NSU5JQ0FSRF9NT0RFX05BTUUgICAgICAgMHgw MDc2ICAvLw0KPiArI2RlZmluZSBWQVJfRVFfTUlOSUNBUkRfTU9ERV9ERUNJTUFMX05BTUUgICBM IjExOCINCj4gKyNkZWZpbmUgVkFSX0VRX1ZJREVPX0lHRF9OQU1FICAgICAgICAgIDB4MDA3NyAg Ly8NCj4gKyNkZWZpbmUgVkFSX0VRX1ZJREVPX0lHRF9ERUNJTUFMX05BTUUgIEwiMTE5Ig0KPiAr I2RlZmluZSBWQVJfRVFfQUxXQVlTX0VOQUJMRV9MQU5fTkFNRSAgICAgICAgICAgIDB4MDA3OCAg Ly8NCj4gKyNkZWZpbmUgVkFSX0VRX0FMV0FZU19FTkFCTEVfTEFOX0RFQ0lNQUxfTkFNRSAgICBM IjEyMCINCj4gKyNkZWZpbmUgVkFSX0VRX0xFR0FDWV9GUkVFX05BTUUgICAgICAgICAgMHgwMDc5 ICAvLw0KPiArI2RlZmluZSBWQVJfRVFfTEVHQUNZX0ZSRUVfREVDSU1BTF9OQU1FICAgTCIxMjEi DQo+ICsjZGVmaW5lIFZBUl9FUV9DTEVBUl9DSEFTU0lTX0lOU1RSVVNJT05fU1RBVFVTX05BTUUN Cj4gMHgwMDdBDQo+ICsjZGVmaW5lIFZBUl9FUV9DTEVBUl9DSEFTU0lTX0lOU1RSVVNJT05fU1RB VFVTX0RFQ0lNQUxfTkFNRQ0KPiBMIjEyMiINCj4gKyNkZWZpbmUgVkFSX0VRX0NQVV9GU0JfTkFN RSAgICAgICAgICAgIDB4MDA3QiAgLy8NCj4gKyNkZWZpbmUgVkFSX0VRX0NQVV9GU0JfREVDSU1B TF9OQU1FICAgIEwiMTIzIg0KPiArI2RlZmluZSBWQVJfRVFfU0FUQTBfREVWSUNFX05BTUUgICAg ICAgICAgICAweDAwN0MgIC8vDQo+ICsjZGVmaW5lIFZBUl9FUV9TQVRBMF9EVklDRV9ERUNJTUFM X05BTUUgICAgTCIxMjQiDQo+ICsjZGVmaW5lIFZBUl9FUV9TQVRBMV9ERVZJQ0VfTkFNRSAgICAg ICAgICAgIDB4MDA3RCAgLy8NCj4gKyNkZWZpbmUgVkFSX0VRX1NBVEExX0RWSUNFX0RFQ0lNQUxf TkFNRSAgICBMIjEyNSINCj4gKyNkZWZpbmUgVkFSX0VRX1NBVEEyX0RFVklDRV9OQU1FICAgICAg ICAgICAgMHgwMDdFICAvLw0KPiArI2RlZmluZSBWQVJfRVFfU0FUQTJfRFZJQ0VfREVDSU1BTF9O QU1FICAgIEwiMTI2Ig0KPiArI2RlZmluZSBWQVJfRVFfU0FUQTNfREVWSUNFX05BTUUgICAgICAg ICAgICAweDAwN0YgIC8vDQo+ICsjZGVmaW5lIFZBUl9FUV9TQVRBM19EVklDRV9ERUNJTUFMX05B TUUgICAgTCIxMjciDQo+ICsjZGVmaW5lIFZBUl9FUV9TQVRBNF9ERVZJQ0VfTkFNRSAgICAgICAg ICAgIDB4MDA4MCAgLy8NCj4gKyNkZWZpbmUgVkFSX0VRX1NBVEE0X0RWSUNFX0RFQ0lNQUxfTkFN RSAgICBMIjEyOCINCj4gKyNkZWZpbmUgVkFSX0VRX1NBVEE1X0RFVklDRV9OQU1FICAgICAgICAg ICAgMHgwMDgxICAvLw0KPiArI2RlZmluZSBWQVJfRVFfU0FUQTVfRFZJQ0VfREVDSU1BTF9OQU1F ICAgIEwiMTI5Ig0KPiArI2RlZmluZSBWQVJfRVFfVFBNX1NUQVRVU19OQU1FICAgICAgICAgICAg ICAweDAwODIgICAgICAvLyBUbyBpbmRpY2F0ZSBpZg0KPiBUUE0gaXMgZW5hYmxlZA0KPiArI2Rl ZmluZSBWQVJfRVFfVFBNX1NUQVRVU19ERUNJTUFMX05BTUUgICAgIEwiMTMwIg0KPiArI2RlZmlu ZSBWQVJfRVFfSEVDRVRBNkVfUEVDSV9DUFVfTkFNRSAgIDB4MDA4Mw0KPiArI2RlZmluZSBWQVJf RVFfSEVDRVRBNkVfUEVDSV9DUFVfREVDSU1BTF9OQU1FIEwiMTMxIg0KPiArI2RlZmluZSBWQVJf RVFfVVNCXzJfTkFNRSAgICAgICAgICAgICAgICAgICAweDAwODQgIC8vDQo+ICsjZGVmaW5lIFZB Ul9FUV9VU0JfMl9ERUNJTUFMX05BTUUgICAgICAgICAgTCIxMzIiDQo+ICsjZGVmaW5lIFZBUl9F UV9SVlBfTkFNRSAgICAgICAgICAgICAgICAgICAweDAwODUgIC8vDQo+ICsjZGVmaW5lIFZBUl9F UV9SVlBfREVDSU1BTF9OQU1FICAgICAgICAgIEwiMTMzIg0KPiArI2RlZmluZSBWQVJfRVFfRUNJ Ul9OQU1FICAgICAgICAgICAgICAgICAgICAweDAwODYNCj4gKyNkZWZpbmUgVkFSX0VRX0VDSVJf REVDSU1BTF9OQU1FICAgICAgICAgICBMIjEzNCINCj4gKyNkZWZpbmUgVkFSX0VRX1dBS09OUzVL Ql9OQU1FICAgICAgICAgICAgICAgMHgwMDg3DQo+ICsjZGVmaW5lIFZBUl9FUV9XQUtPTlM1S0Jf REVDSU1BTF9OQU1FICAgICAgTCIxMzUiDQo+ICsjZGVmaW5lIFZBUl9FUV9IREFVRElPTElOS0JQ X05BTUUgICAgICAgICAgIDB4MDA4OA0KPiArI2RlZmluZSBWQVJfRVFfSERBVURJT0xJTktCUF9E RUNJTUFMX05BTUUgIEwiMTM2Ig0KPiArI2RlZmluZSBWQVJfRVFfRklOR0VSUFJJTlRfTkFNRSAg ICAgICAgICAgICAweDAwODkNCj4gKyNkZWZpbmUgVkFSX0VRX0ZJTkdFUlBSSU5UX0RFQ0lNQUxf TkFNRSAgICBMIjEzNyINCj4gKyNkZWZpbmUgVkFSX0VRX0JMVUVUT09USF9OQU1FICAgICAgICAg ICAgICAgMHgwMDhBDQo+ICsjZGVmaW5lIFZBUl9FUV9CTFVFVE9PVEhfREVDSU1BTF9OQU1FICAg ICAgTCIxMzgiDQo+ICsjZGVmaW5lIFZBUl9FUV9XTEFOX05BTUUgICAgICAgICAgICAgICAgICAg IDB4MDA4Qg0KPiArI2RlZmluZSBWQVJfRVFfV0xBTl9ERUNJTUFMX05BTUUgICAgICAgICAgIEwi MTM5Ig0KPiArI2RlZmluZSBWQVJfRVFfMV9QQVRBX05BTUUgICAgICAgICAgICAgICAgICAweDAw OEMNCj4gKyNkZWZpbmUgVkFSX0VRXzFfUEFUQV9ERUNJTUFMX05BTUUgICAgICAgICBMIjE0MCIN Cj4gKyNkZWZpbmUgVkFSX0VRX0FDVElWRV9QUk9DRVNTT1JfQ09SRV9OQU1FICAgICAgICAgIDB4 MDA4RA0KPiArI2RlZmluZSBWQVJfRVFfQUNUSVZFX1BST0NFU1NPUl9DT1JFX0RFQ0lNQUxfTkFN RSAgTCIxNDEiDQo+ICsjZGVmaW5lIFZBUl9FUV9UVVJCT19NT0RFX0NBUF9OQU1FICAgICAgICAg IDB4MDA4RQ0KPiArI2RlZmluZSBWQVJfRVFfVFVSQk9fTU9ERV9DQVBfREVDSU1BTF9OQU1FICBM IjE0MiINCj4gKyNkZWZpbmUgVkFSX0VRX1hFX01PREVfQ0FQX05BTUUgICAgICAgICAgICAgMHgw MDhGDQo+ICsjZGVmaW5lIFZBUl9FUV9YRV9NT0RFX0NBUF9ERUNJTUFMX05BTUUgICAgIEwiMTQz Ig0KPiArI2RlZmluZSBWQVJfRVFfTlBJX1FQSV9WT0xUQUdFX05BTUUgICAgICAgICAweDAwOTAN Cj4gKyNkZWZpbmUgVkFSX0VRX05QSV9RUElfVk9MVEFHRV9ERUNJTUFMX05BTUUgTCIxNDQiDQo+ ICsjZGVmaW5lIFZBUl9FUV9QUkVfUFJPRF9OT05fWEVfTkFNRSAgICAgICAgIDB4MDA5MQ0KPiAr I2RlZmluZSBWQVJfRVFfUFJFX1BST0RfTk9OX1hFX0RFQ0lNQUxfTkFNRSBMIjE0NSINCj4gKyNk ZWZpbmUgVkFSX0VRXzJfQzBfTUVNT1JZX05BTUUgICAgICAgICAgICAweDAwOTIgLy8gPz8NCj4g KyNkZWZpbmUgVkFSX0VRXzJfQzBfTUVNT1JZX0RFQ0lNQUxfTkFNRSAgICBMIjE0NiINCj4gKyNk ZWZpbmUgVkFSX0VRX0xWRFNfTkFNRSAgICAgICAgICAgICAgICAgICAgMHgwMDkzDQo+ICsjZGVm aW5lIFZBUl9FUV9MVkRTX0RFQ0lNQUxfTkFNRSAgICAgICAgICAgIEwiMTQ3Ig0KPiArI2RlZmlu ZSBWQVJfRVFfVVNCX09QVElPTl9TSE9XX05BTUUgICAgICAgICAgICAgICAgICAgIDB4MDA5NA0K PiArI2RlZmluZSBWQVJfRVFfVVNCX09QVElPTl9TSE9XX0RFQ0lNQUxfTkFNRSAgICAgICAgICAg IEwiMTQ4Ig0KPiArI2RlZmluZSBWQVJfRVFfSEREX01BU1RFUl9JTlNUQUxMRURfTkFNRSAgICAg IDB4MDA5NQ0KPiArI2RlZmluZSBWQVJfRVFfSEREX01BU1RFUl9JTlNUQUxMRURfREVDSU1BTF9O QU1FICAgICAgTCIxNDkiDQo+ICsjZGVmaW5lIFZBUl9FUV9IRERfVVNFUl9JTlNUQUxMRURfTkFN RSAgICAgICAgMHgwMDk2DQo+ICsjZGVmaW5lIFZBUl9FUV9IRERfVVNFUl9JTlNUQUxMRURfREVD SU1BTF9OQU1FICAgICAgIEwiMTUwIg0KPiArI2RlZmluZSBWQVJfRVFfUFMyX0hJREVfTkFNRSAg ICAgICAgIDB4MDA5NyAgLy8gPz8NCj4gKyNkZWZpbmUgVkFSX0VRX1BTMl9ISURFX0RFQ0lNQUxf TkFNRSBMIjE1MSINCj4gKyNkZWZpbmUgVkFSX0VRX1ZJREVPX1NMT1RfTkFNRSAgICAgICAweDAw OTgNCj4gKyNkZWZpbmUgVkFSX0VRX1ZJREVPX1NMT1RfREVDSU1BTF9OQU1FICAgICAgIEwiMTUy Ig0KPiArI2RlZmluZSBWQVJfRVFfSERNSV9TTE9UX05BTUUgICAgICAgMHgwMDk5DQo+ICsjZGVm aW5lIFZBUl9FUV9IRE1JX1NMT1RfREVDSU1BTF9OQU1FICAgICAgIEwiMTUzIg0KPiArI2RlZmlu ZSBWQVJfRVFfU0VSSUFMMl9ISURFX05BTUUgICAgICAgICAweDAwOWENCj4gKyNkZWZpbmUgVkFS X0VRX1NFUklBTDJfSElERV9ERUNJTUFMX05BTUUgTCIxNTQiDQo+ICsNCj4gKw0KPiArI2RlZmlu ZSBWQVJfRVFfTFZEU19XQVJOSU5HX0hJREVfTkFNRSAgICAweDAwOWUNCj4gKyNkZWZpbmUgVkFS X0VRX0xWRFNfV0FSTklOR19ISURFX0RFQ0lNQUxfTkFNRSBMIjE1OCINCj4gKw0KPiArDQo+ICsj ZGVmaW5lIFZBUl9FUV9NU0FUQV9ISURFX05BTUUgICAgMHgwMDlmDQo+ICsjZGVmaW5lIFZBUl9F UV9NU0FUQV9ISURFX0RFQ0lNQUxfTkFNRSBMIjE1OSINCj4gKw0KPiArDQo+ICsjZGVmaW5lIFZB Ul9FUV9QQ0lfU0xPVDFfTkFNRSAgICAweDAwYTANCj4gKyNkZWZpbmUgVkFSX0VRX1BDSV9TTE9U MV9ERUNJTUFMX05BTUUgTCIxNjAiDQo+ICsjZGVmaW5lIFZBUl9FUV9QQ0lfU0xPVDJfTkFNRSAg ICAweDAwYTENCj4gKyNkZWZpbmUgVkFSX0VRX1BDSV9TTE9UMl9ERUNJTUFMX05BTUUgTCIxNjEi DQo+ICsNCj4gKy8vDQo+ICsvLyBHZW5lcmljIEZvcm0gSWRzDQo+ICsvLw0KPiArI2RlZmluZSBS T09UX0ZPUk1fSUQgICAgICAgICAgICAgICAgICAgIDENCj4gKw0KPiArLy8NCj4gKy8vIEFkdmFu Y2UgUGFnZS4gRG8gbm90IGhhdmUgdG8gYmUgc2VxdWVudGlhbCBidXQgaGF2ZSB0byBiZSB1bmlx dWUNCj4gKy8vDQo+ICsjZGVmaW5lIENPTkZJR1VSQVRJT05fUk9PVF9GT1JNX0lEICAgICAgICAg IDINCj4gKyNkZWZpbmUgQk9PVF9DT05GSUdVUkFUSU9OX0lEICAgICAgICAgICAgICAgMw0KPiAr I2RlZmluZSBPTkJPQVJEREVWSUNFX0NPTkZJR1VSQVRJT05fSUQgICAgICA0DQo+ICsjZGVmaW5l IERSSVZFX0NPTkZJR1VSQVRJT05fSUQgICAgICAgICAgICAgIDUNCj4gKyNkZWZpbmUgRkxPUFBZ X0NPTkZJR1VSQVRJT05fSUQgICAgICAgICAgICAgNg0KPiArI2RlZmluZSBFVkVOVF9MT0dfQ09O RklHVVJBVElPTl9JRCAgICAgICAgICA3DQo+ICsjZGVmaW5lIFZJREVPX0NPTkZJR1VSQVRJT05f SUQgICAgICAgICAgICAgIDgNCj4gKyNkZWZpbmUgVVNCX0NPTkZJR1VSQVRJT05fSUQgICAgICAg ICAgICAgICAgOQ0KPiArI2RlZmluZSBIQVJEV0FSRV9NT05JVE9SX0NPTkZJR1VSQVRJT05fSUQg ICAxMA0KPiArI2RlZmluZSBWSUVXX0VWRU5UX0xPR19DT05GSUdVUkFUSU9OX0lEICAgICAxMQ0K PiArI2RlZmluZSBNRU1PUllfT1ZFUlJJREVfSUQgICAgICAgICAgICAgICAgICAxMg0KPiArI2Rl ZmluZSBDSElQU0VUX0NPTkZJR1VSQVRJT05fSUQgICAgICAgICAgICAxMw0KPiArI2RlZmluZSBC VVJOX0lOX01PREVfSUQgICAgICAgICAgICAgICAgICAgICAxNA0KPiArI2RlZmluZSBQQ0lfRVhQ UkVTU19JRCAgICAgICAgICAgICAgICAgICAgICAxNQ0KPiArI2RlZmluZSBNQU5BR0VNRU5UX0NP TkZJR1VSQVRJT05fSUQgICAgICAgICAxNg0KPiArI2RlZmluZSBDUFVfQ09ORklHVVJBVElPTl9J RCAgICAgICAgICAgICAgICAxNw0KPiArI2RlZmluZSBQQ0lfQ09ORklHVVJBVElPTl9JRCAgICAg ICAgICAgICAgICAxOA0KPiArI2RlZmluZSBTRUNVUklUWV9DT05GSUdVUkFUSU9OX0lEICAgICAg ICAgICAxOQ0KPiArI2RlZmluZSBaSVBfQ09ORklHVVJBVElPTl9JRCAgICAgICAgICAgICAgICAy MA0KPiArI2RlZmluZSBBRlNDX0ZBTl9DT05UUk9MX0lEICAgICAgICAgICAgICAgICAyMQ0KPiAr I2RlZmluZSBWRlJfRk9STUlEX0NTSSAgICAgICAgICAgICAgICAgICAgICAyMg0KPiArI2RlZmlu ZSBWRlJfRk9STUlEX01FTU9SWSAgICAgICAgICAgICAgICAgICAyMw0KPiArI2RlZmluZSBWRlJf Rk9STUlEX0lPSCAgICAgICAgICAgICAgICAgICAgICAyNA0KPiArI2RlZmluZSBWRlJfRk9STUlE X0NQVV9DU0kgICAgICAgICAgICAgICAgICAyNQ0KPiArI2RlZmluZSBWRlJfRk9STUlEX0lPSF9D T05GSUcgICAgICAgICAgICAgICAyNg0KPiArI2RlZmluZSBWRlJfRk9STUlEX1ZURCAgICAgICAg ICAgICAgICAgICAgICAyNw0KPiArI2RlZmluZSBWRlJfRk9STUlEX1BDSUVfUDAgICAgICAgICAg ICAgICAgICAyOA0KPiArI2RlZmluZSBWRlJfRk9STUlEX1BDSUVfUDEgICAgICAgICAgICAgICAg ICAyOQ0KPiArI2RlZmluZSBWRlJfRk9STUlEX1BDSUVfUDIgICAgICAgICAgICAgICAgICAzMA0K PiArI2RlZmluZSBWRlJfRk9STUlEX1BDSUVfUDMgICAgICAgICAgICAgICAgICAzMQ0KPiArI2Rl ZmluZSBWRlJfRk9STUlEX1BDSUVfUDQgICAgICAgICAgICAgICAgICAzMg0KPiArI2RlZmluZSBW RlJfRk9STUlEX1BDSUVfUDUgICAgICAgICAgICAgICAgICAzMw0KPiArI2RlZmluZSBWRlJfRk9S TUlEX1BDSUVfUDYgICAgICAgICAgICAgICAgICAzNA0KPiArI2RlZmluZSBWRlJfRk9STUlEX1BD SUVfUDcgICAgICAgICAgICAgICAgICAzNQ0KPiArI2RlZmluZSBWRlJfRk9STUlEX1BDSUVfUDgg ICAgICAgICAgICAgICAgICAzNg0KPiArI2RlZmluZSBWRlJfRk9STUlEX1BDSUVfUDkgICAgICAg ICAgICAgICAgICAzNw0KPiArI2RlZmluZSBWRlJfRk9STUlEX1BDSUVfUDEwICAgICAgICAgICAg ICAgICAzOA0KPiArI2RlZmluZSBWRlJfRklEX1NLVDAgICAgICAgICAgICAgICAgICAgICAgICAz OQ0KPiArI2RlZmluZSBWRlJfRklEX0lPSDAgICAgICAgICAgICAgICAgICAgICAgICA0MA0KPiAr I2RlZmluZSBWRlJfRklEX0lPSF9ERVZfSElERSAgICAgICAgICAgICAgICA0MQ0KPiArI2RlZmlu ZSBQUk9DRVNTT1JfT1ZFUlJJREVTX0ZPUk1fSUQgICAgICAgICA0Mg0KPiArI2RlZmluZSBCVVNf T1ZFUlJJREVTX0ZPUk1fSUQgICAgICAgICAgICAgICA0Mw0KPiArI2RlZmluZSBSRUZfT1ZFUlJJ REVTX0ZPUk1fSUQgICAgICAgICAgICAgICA0NA0KPiArI2RlZmluZSBNRU1PUllfSU5GT1JNQVRJ T05fSUQgICAgICAgICAgICAgICA0NQ0KPiArI2RlZmluZSBMVkRTX1dBUk5JTkdfSUQgICAgICAg ICAgICAgICAgICAgICA0Ng0KPiArI2RlZmluZSBMVkRTX0NPTkZJR1VSQVRJT05fSUQgICAgICAg ICAgICAgICA0Nw0KPiArI2RlZmluZSBQQ0lfU0xPVF9DT05GSUdVUkFUSU9OX0lEICAgICAgICAg ICA0OA0KPiArI2RlZmluZSBIRUNFVEFfQ09ORklHVVJBVElPTl9JRCAgICAgICAgICAgICA0OQ0K PiArI2RlZmluZSBMVkRTX0VYUEVSVF9DT05GSUdVUkFUSU9OX0lEICAgICAgICA1MA0KPiArI2Rl ZmluZSBQQ0lfU0xPVF83X0lEICAgICAgICAgICAgICAgICAgICAgICA1MQ0KPiArI2RlZmluZSBQ Q0lfU0xPVF82X0lEICAgICAgICAgICAgICAgICAgICAgICA1Mg0KPiArI2RlZmluZSBQQ0lfU0xP VF81X0lEICAgICAgICAgICAgICAgICAgICAgICA1Mw0KPiArI2RlZmluZSBQQ0lfU0xPVF80X0lE ICAgICAgICAgICAgICAgICAgICAgICA1NA0KPiArI2RlZmluZSBQQ0lfU0xPVF8zX0lEICAgICAg ICAgICAgICAgICAgICAgICA1NQ0KPiArI2RlZmluZSBQQ0lfU0xPVF8yX0lEICAgICAgICAgICAg ICAgICAgICAgICA1Ng0KPiArI2RlZmluZSBQQ0lfU0xPVF8xX0lEICAgICAgICAgICAgICAgICAg ICAgICA1Nw0KPiArI2RlZmluZSBCT09UX0RJU1BMQVlfSUQgICAgICAgICAgICAgICAgICAgICA1 OA0KPiArI2RlZmluZSBDUFVfUFdSX0NPTkZJR1VSQVRJT05fSUQgICAgICAgICAgICA1OQ0KPiAr DQo+ICsjZGVmaW5lIEZTQ19DT05GSUdVUkFUSU9OX0lEICAgICAgICAgICAgICAgIDYwDQo+ICsj ZGVmaW5lIEZTQ19DUFVfVEVNUEVSQVRVUkVfRk9STV9JRCAgICAgICAgIDYxDQo+ICsjZGVmaW5l IEZTQ19WVFRfVk9MVEFHRV9GT1JNX0lEICAgICAgICAgICAgIDYyDQo+ICsjZGVmaW5lIEZTQ19G RUFUVVJFU19DT05UUk9MX0lEICAgICAgICAgICAgIDYzDQo+ICsjZGVmaW5lIEZTQ19GQU5fQ09O RklHVVJBVElPTl9JRCAgICAgICAgICAgIDY0DQo+ICsjZGVmaW5lIEZTQ19QUk9DRVNTT1JfRkFO X0NPTkZJR1VSQVRJT05fSUQgIDY1DQo+ICsjZGVmaW5lIEZTQ19GUk9OVF9GQU5fQ09ORklHVVJB VElPTl9JRCAgICAgIDY2DQo+ICsjZGVmaW5lIEZTQ19SRUFSX0ZBTl9DT05GSUdVUkFUSU9OX0lE ICAgICAgIDY3DQo+ICsjZGVmaW5lIEZTQ19BVVhfRkFOX0NPTkZJR1VSQVRJT05fSUQgICAgICAg IDY4DQo+ICsjZGVmaW5lIEZTQ18xMl9WT0xUQUdFX0ZPUk1fSUQgICAgICAgICAgICAgIDY5DQo+ ICsjZGVmaW5lIEZTQ181X1ZPTFRBR0VfRk9STV9JRCAgICAgICAgICAgICAgIDcwDQo+ICsjZGVm aW5lIEZTQ18zUDNfVk9MVEFHRV9GT1JNX0lEICAgICAgICAgICAgIDcxDQo+ICsjZGVmaW5lIEZT Q18yUDVfVk9MVEFHRV9GT1JNX0lEICAgICAgICAgICAgIDcyDQo+ICsjZGVmaW5lIEZTQ19WQ0Nf Vk9MVEFHRV9GT1JNX0lEICAgICAgICAgICAgIDczDQo+ICsjZGVmaW5lIEZTQ19QQ0hfVEVNUEVS QVRVUkVfRk9STV9JRCAgICAgICAgIDc0DQo+ICsjZGVmaW5lIEZTQ19NRU1fVEVNUEVSQVRVUkVf Rk9STV9JRCAgICAgICAgIDc1DQo+ICsjZGVmaW5lIEZTQ19WUl9URU1QRVJBVFVSRV9GT1JNX0lE ICAgICAgICAgIDc2DQo+ICsjZGVmaW5lIEZTQ18zUDNTVEFOREJZX1ZPTFRBR0VfRk9STV9JRCAg ICAgIDc3DQo+ICsjZGVmaW5lIEZTQ181QkFDS1VQX1ZPTFRBR0VfRk9STV9JRCAgICAgICAgIDc4 DQo+ICsjZGVmaW5lIFJPT1RfTUFJTl9GT1JNX0lEICAgICAgICAgICAgICAgICAgIDc5DQo+ICsj ZGVmaW5lIFJPT1RfQk9PVF9GT1JNX0lEICAgICAgICAgICAgICAgICAgIDgwDQo+ICsjZGVmaW5l IFJPT1RfTUFJTlRFTkFOQ0VfSUQgICAgICAgICAgICAgICAgIDgxDQo+ICsjZGVmaW5lIFJPT1Rf UE9XRVJfRk9STV9JRCAgICAgICAgICAgICAgICAgIDgyDQo+ICsjZGVmaW5lIFJPT1RfU0VDVVJJ VFlfRk9STV9JRCAgICAgICAgICAgICAgIDgzDQo+ICsjZGVmaW5lIFJPT1RfUEVSRk9STUFOQ0Vf Rk9STV9JRCAgICAgICAgICAgIDg0DQo+ICsjZGVmaW5lIFJPT1RfU1lTVEVNX1NFVFVQX0ZPUk1f SUQgICAgICAgICAgIDg1DQo+ICsNCj4gKyNkZWZpbmUgQURESVRJT05BTF9TWVNURU1fSU5GT19G T1JNX0lEICAgICAgODYNCj4gKw0KPiArI2RlZmluZSBUSEVSTUFMX0NPTkZJR19GT1JNX0lEICAg ICAgICAgICAgICA4Nw0KPiArDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF8x ICAgICAgICAgICAgMHgzMDBBDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF8y ICAgICAgICAgICAgMHgzMDBCDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF8z ICAgICAgICAgICAgMHgzMDBDDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF80 ICAgICAgICAgICAgMHgzMDBEDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF81 ICAgICAgICAgICAgMHgzMDBFDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF82 ICAgICAgICAgICAgMHgzMDBGDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF83 ICAgICAgICAgICAgMHgzMDEwDQo+ICsjZGVmaW5lIFBDSV9TTE9UX0NPTkZJR19MQUJFTF9JRF84 ICAgICAgICAgICAgMHgzMDExDQo+ICsNCj4gKy8vDQo+ICsvLyBBZHZhbmNlIEhhcmR3YXJlIE1v bml0b3IgQ2FsbGJhY2sgS2V5cy4gRG8gbm90IGhhdmUgdG8gYmUgc2VxdWVudGlhbA0KPiBidXQg aGF2ZSB0byBiZSB1bmlxdWUNCj4gKy8vDQo+ICsjZGVmaW5lIENPTkZJR1VSQVRJT05fSEFSRFdB UkVfQ0FMTEJBQ0tfS0VZICAgICAgICAgICAgMHgyMDAwDQo+ICsjZGVmaW5lIEFEVkFOQ0VfVklE RU9fQ0FMTEJBQ0tfS0VZICAgICAgICAgICAgICAgICAgICAgMHgyMDAxDQo+ICsjZGVmaW5lIENP TkZJR1VSQVRJT05fRlNDX0NBTExCQUNLX0tFWSAgICAgICAgICAgICAgICAgMHgyMDAyDQo+ICsj ZGVmaW5lIENPTkZJR1VSQVRJT05fUkVTVE9SRV9GQU5fQ09OVFJPTF9DQUxMQkFDS19LRVkNCj4g MHgyMDAzDQo+ICsjZGVmaW5lIENPTkZJR1VSQVRJT05fTFZEU19DQUxMQkFDS19LRVkgICAgICAg ICAgICAgICAgMHgyMDA0DQo+ICsjZGVmaW5lIENPTkZJR1VSQVRJT05fUFJFREVGSU5FRF9FRElE X0NBTExCQUNLX0tFWSAgICAgMHgyMDA1DQo+ICsjZGVmaW5lIEFEVkFOQ0VfTFZEU19DQUxMQkFD S19LRVkgICAgICAgICAgIDB4MjAxMA0KPiArDQo+ICsvLw0KPiArLy8gTWFpbiBDYWxsYmFjayBL ZXlzLiBEbyBub3QgaGF2ZSB0byBiZSBzZXF1ZW50aWFsIGJ1dCBoYXZlIHRvIGJlIHVuaXF1ZQ0K PiArLy8NCj4gKyNkZWZpbmUgTUFJTl9MQU5HVUFHRV9DQUxMQkFDS19LRVkgICAgICAgICAgMHgz MDAwDQo+ICsNCj4gKy8vDQo+ICsvLyBQb3dlciBIYXJkd2FyZSBNb25pdG9yIENhbGxiYWNrIEtl eXMuIERvIG5vdCBoYXZlIHRvIGJlIHNlcXVlbnRpYWwgYnV0DQo+IGhhdmUgdG8gYmUgdW5pcXVl DQo+ICsvLw0KPiArI2RlZmluZSBQT1dFUl9IQVJEV0FSRV9DQUxMQkFDS19LRVkgICAgICAgICAw eDQwMDANCj4gKw0KPiArLy8NCj4gKy8vIFBlcmZvcm1hbmNlIENhbGxiYWNrIEtleXMuIERvIG5v dCBoYXZlIHRvIGJlIHNlcXVlbnRpYWwgYnV0IGhhdmUgdG8gYmUNCj4gdW5pcXVlDQo+ICsvLw0K PiArI2RlZmluZSBQUk9DRVNTT1JfT1ZFUlJJREVTX0NBTExCQUNLX0tFWSAweDUwMDANCj4gKyNk ZWZpbmUgUEVSRk9STUFOQ0VfQ0FMTEJBQ0tfS0VZICAgICAgICAgMHg1MDAxDQo+ICsjZGVmaW5l IEJVU19PVkVSUklERVNfQ0FMTEJBQ0tfS0VZICAgICAgIDB4NTAwMg0KPiArI2RlZmluZSBNRU1P UllfQ0ZHX0NBTExCQUNLX0tFWSAgICAgICAgICAweDUwMDMNCj4gKyNkZWZpbmUgUEVSRk9STUFO Q0VfU1RBVFVTX0NBTExCQUNLX0tFWSAgMHg1MDA0DQo+ICsjZGVmaW5lIE1FTU9SWV9SQVRJT19D QUxMQkFDS19LRVkgICAgICAgIDB4NTAwNQ0KPiArI2RlZmluZSBNRU1PUllfTU9ERV9DQUxMQkFD S19LRVkgICAgICAgICAweDUwMDYNCj4gKw0KPiArLy8NCj4gKy8vIFNlY3VyaXR5IENhbGxiYWNr IEtleXMuIERvIG5vdCBoYXZlIHRvIGJlIHNlcXVlbnRpYWwgYnV0IGhhdmUgdG8gYmUNCj4gdW5p cXVlDQo+ICsvLw0KPiArI2RlZmluZSBTRUNVUklUWV9TVVBFUlZJU09SX0NBTExCQUNLX0tFWSAg ICAweDEwMDANCj4gKyNkZWZpbmUgU0VDVVJJVFlfVVNFUl9DQUxMQkFDS19LRVkgICAgICAgICAg MHgxMDAxDQo+ICsjZGVmaW5lIFNFQ1VSSVRZX0NMRUFSX0FMTF9DQUxMQkFDS19LRVkgICAgIDB4 MTAwMg0KPiArI2RlZmluZSBTRUNVUklUWV9DTEVBUl9VU0VSX0NBTExCQUNLX0tFWSAgICAweDEw MDQNCj4gKyNkZWZpbmUgU0VDVVJJVFlfUkVTRVRfQU1UX0NBTExCQUNLX0tFWSAgICAgMHgxMDA4 DQo+ICsjZGVmaW5lIFNFQ1VSSVRZX0NIQU5HRV9WVF9DQUxMQkFDS19LRVkgICAgIDB4MTAxMA0K PiArI2RlZmluZSBTRUNVUklUWV9NQVNURVJfSEREX0NBTExCQUNLX0tFWSAgICAweDEwMjANCj4g KyNkZWZpbmUgU0VDVVJJVFlfVVNFUl9IRERfQ0FMTEJBQ0tfS0VZICAgICAgMHgxMDQwDQo+ICsN Cj4gKy8vDQo+ICsvLyBCb290IENhbGxiYWNrIEtleXMuIERvIG5vdCBoYXZlIHRvIGJlIHNlcXVl bnRpYWwgYnV0IGhhdmUgdG8gYmUgdW5pcXVlDQo+ICsvLw0KPiArI2RlZmluZSBCT09UX0hZUEVS Qk9PVF9DQUxMQkFDS19LRVkgICAgICAgICAgICAgICAgIDB4NjAwMw0KPiArI2RlZmluZSBCT09U X0hZUEVSQk9PVF9DQUxMQkFDS19LRVlfRElTQUJMRSAgICAgICAgIDB4NjAwNA0KPiArI2RlZmlu ZSBCT09UX0hZUEVSQk9PVF9DQUxMQkFDS19LRVlfVVNCICAgICAgICAgICAgIDB4NjAwNQ0KPiAr I2RlZmluZSBCT09UX0hZUEVSQk9PVF9DQUxMQkFDS19LRVlfRElTQUJMRV9VU0JfT1BUIDB4NjAw Ng0KPiArDQo+ICsvLw0KPiArLy8gSURDQy9TZXR1cCBGU0IgRnJlcXVlbmN5IE92ZXJyaWRlIFJh bmdlDQo+ICsvLw0KPiArI2RlZmluZSBFRklfSURDQ19GU0JfTUlOICAgMTMzDQo+ICsjZGVmaW5l IEVGSV9JRENDX0ZTQl9NQVggICAyNDANCj4gKyNkZWZpbmUgRUZJX0lEQ0NfRlNCX1NURVAgIDEN Cj4gKw0KPiArLy8NCj4gKy8vIFJlZmVyZW5jZSB2b2x0YWdlDQo+ICsvLw0KPiArI2RlZmluZSBF RklfUkVGX0RBQ19NSU4gICAgIDANCj4gKyNkZWZpbmUgRUZJX1JFRl9EQUNfTUFYICAgICAyNTUN Cj4gKyNkZWZpbmUgRUZJX0dUTFJFRl9ERUYgICAgICAxNzANCj4gKyNkZWZpbmUgRUZJX0REUlJF Rl9ERUYgICAgICAxMjgNCj4gKyNkZWZpbmUgRUZJX0RJTU1SRUZfREVGICAgICAxMjgNCj4gKw0K PiArLy8NCj4gKy8vIFNldHVwIEZTQiBGcmVxdWVuY3kgT3ZlcnJpZGUgUmFuZ2UNCj4gKy8vDQo+ ICsjZGVmaW5lIEVGSV9GU0JfTUlOICAgICAgIDEzMw0KPiArI2RlZmluZSBFRklfRlNCX01BWCAg ICAgICAyNDANCj4gKyNkZWZpbmUgRUZJX0ZTQl9TVEVQICAgICAgMQ0KPiArI2RlZmluZSBFRklf RlNCX0FVVE9NQVRJQyAwDQo+ICsjZGVmaW5lIEVGSV9GU0JfTUFOVUFMICAgIDENCj4gKyNkZWZp bmUgRlNCX0ZSRVFfRU5UUllfQ09VTlQgKChFRklfRlNCX01BWCAtDQo+IEVGSV9GU0JfTUlOKS9F RklfRlNCX1NURVApICsgMQ0KPiArI2RlZmluZSBGU0JfRlJFUV9FTlRSWV9UWVBFICBVSU5UMTZf VFlQRQ0KPiArDQo+ICsvLw0KPiArLy8gU2V0dXAgcHJvY2Vzc29yIG11bHRpcGxpZXIgcmFuZ2UN Cj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9QUk9DX01VTFRfTUlOICAgNQ0KPiArI2RlZmluZSBFRklf UFJPQ19NVUxUX01BWCAgIDQwDQo+ICsjZGVmaW5lIEVGSV9QUk9DX01VTFRfU1RFUCAgMQ0KPiAr I2RlZmluZSBFRklfUFJPQ19BVVRPTUFUSUMgIDANCj4gKyNkZWZpbmUgRUZJX1BST0NfTUFOVUFM ICAgICAxDQo+ICsjZGVmaW5lIFBST0NfTVVMVF9FTlRSWV9DT1VOVCAoKEVGSV9QUk9DX01VTFRf TUFYIC0NCj4gRUZJX1BST0NfTVVMVF9NSU4pL0VGSV9QUk9DX01VTFRfU1RFUCkgKyAxDQo+ICsj ZGVmaW5lIFBST0NfTVVMVF9FTlRSWV9UWVBFICBVSU5UOF9UWVBFDQo+ICsNCj4gKy8vDQo+ICsv LyBQQ0kgRXhwcmVzcyBEZWZpbml0aW9ucw0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX1BDSUVfRlJF UV9ERUYgICAgICAgMHgwDQo+ICsNCj4gKyNkZWZpbmUgUENJRV9GUkVRX0VOVFJZX1RZUEUgIFVJ TlQ4X1RZUEUNCj4gKyNkZWZpbmUgUENJRV9GUkVRX0VOVFJZXzcgICAgICAgMHg3DQo+ICsjZGVm aW5lIFBDSUVfRlJFUV9FTlRSWV82ICAgICAgIDB4Ng0KPiArI2RlZmluZSBQQ0lFX0ZSRVFfRU5U UllfNSAgICAgICAweDUNCj4gKyNkZWZpbmUgUENJRV9GUkVRX0VOVFJZXzQgICAgICAgMHg0DQo+ ICsjZGVmaW5lIFBDSUVfRlJFUV9FTlRSWV8zICAgICAgIDB4Mw0KPiArI2RlZmluZSBQQ0lFX0ZS RVFfRU5UUllfMiAgICAgICAweDINCj4gKyNkZWZpbmUgUENJRV9GUkVRX0VOVFJZXzEgICAgICAg MHgxDQo+ICsjZGVmaW5lIFBDSUVfRlJFUV9FTlRSWV8wICAgICAgIDB4MA0KPiArDQo+ICsjZGVm aW5lIFBDSUVfRlJFUV9UUkFOU0xBVElPTl9UQUJMRV9FTlRSSUVTIDgNCj4gKyNkZWZpbmUgUENJ RV9GUkVRX1RSQU5TTEFUSU9OX1RBQkxFICAgICB7IFBDSUVfRlJFUV9FTlRSWV8wLCBcDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lFX0ZSRVFfRU5UUllf MSwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9G UkVRX0VOVFJZXzIsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBDSUVfRlJFUV9FTlRSWV8zLCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQQ0lFX0ZSRVFfRU5UUllfNCwgXA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX0VOVFJZXzUsIFwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSUVfRlJFUV9FTlRSWV82LCBcDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lFX0ZSRVFfRU5U UllfNyB9DQo+ICsNCj4gKw0KPiArI2RlZmluZSBQQ0lFX0ZSRVFfUFJFQ0lTSU9OICAgICAyDQo+ ICsjZGVmaW5lIFBDSUVfRlJFUV9WQUxVRV83ICAgICAgIDEwOTI0DQo+ICsjZGVmaW5lIFBDSUVf RlJFUV9WQUxVRV82ICAgICAgIDEwNzkyDQo+ICsjZGVmaW5lIFBDSUVfRlJFUV9WQUxVRV81ICAg ICAgIDEwNjYwDQo+ICsjZGVmaW5lIFBDSUVfRlJFUV9WQUxVRV80ICAgICAgIDEwNTI4DQo+ICsj ZGVmaW5lIFBDSUVfRlJFUV9WQUxVRV8zICAgICAgIDEwMzk2DQo+ICsjZGVmaW5lIFBDSUVfRlJF UV9WQUxVRV8yICAgICAgIDEwMjY0DQo+ICsjZGVmaW5lIFBDSUVfRlJFUV9WQUxVRV8xICAgICAg IDEwMTMyDQo+ICsjZGVmaW5lIFBDSUVfRlJFUV9WQUxVRV8wICAgICAgIDEwMDAwDQo+ICsNCj4g KyNkZWZpbmUgUENJRV9GUkVRX1ZBTFVFUyAgICAgIHsgUENJRV9GUkVRX1ZBTFVFXzAsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX1ZBTFVFXzEsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX1ZBTFVFXzIsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX1ZBTFVFXzMsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX1ZBTFVFXzQsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX1ZBTFVFXzUsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX1ZBTFVFXzYsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJRV9GUkVRX1ZBTFVFXzcgfQ0KPiAr DQo+ICsvLw0KPiArLy8gTWVtb3J5IEZyZXF1ZW5jeSBEZWZpbml0aW9ucw0KPiArLy8NCj4gKyNk ZWZpbmUgTUVNT1JZX1JFRl9GUkVRX0VOVFJZX0RFRiAgICAgMHgwOA0KPiArDQo+ICsjZGVmaW5l IE1FTU9SWV9SRUZfRlJFUV9FTlRSWV9UWVBFICAgIFVJTlQ4X1RZUEUNCj4gKyNkZWZpbmUgTUVN T1JZX1JFRl9GUkVRX0VOVFJZXzMgICAgICAgMHgwNA0KPiArI2RlZmluZSBNRU1PUllfUkVGX0ZS RVFfRU5UUllfMiAgICAgICAweDAwDQo+ICsjZGVmaW5lIE1FTU9SWV9SRUZfRlJFUV9FTlRSWV8x ICAgICAgIDB4MDINCj4gKyNkZWZpbmUgTUVNT1JZX1JFRl9GUkVRX0VOVFJZXzAgICAgICAgMHgw MQ0KPiArDQo+ICsjZGVmaW5lIE1FTU9SWV9SRUZfRlJFUV9UUkFOU0xBVElPTl9UQUJMRV9FTlRS SUVTIDQNCj4gKyNkZWZpbmUgTUVNT1JZX1JFRl9GUkVRX1RSQU5TTEFUSU9OX1RBQkxFDQo+IHsg TUVNT1JZX1JFRl9GUkVRX0VOVFJZXzAsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIE1FTU9SWV9SRUZfRlJFUV9FTlRSWV8xLCBcDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfUkVGX0ZS RVFfRU5UUllfMiwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTUVNT1JZX1JFRl9GUkVRX0VOVFJZXzMgfQ0KPiArDQo+ICsjZGVmaW5lIE1FTU9S WV9SRUZfRlJFUV9QUkVDSVNJT04gICAgIDANCj4gKyNkZWZpbmUgTUVNT1JZX1JFRl9GUkVRX1ZB TFVFXzMgICAgICAgMzMzDQo+ICsjZGVmaW5lIE1FTU9SWV9SRUZfRlJFUV9WQUxVRV8yICAgICAg IDI2Nw0KPiArI2RlZmluZSBNRU1PUllfUkVGX0ZSRVFfVkFMVUVfMSAgICAgICAyMDANCj4gKyNk ZWZpbmUgTUVNT1JZX1JFRl9GUkVRX1ZBTFVFXzAgICAgICAgMTMzDQo+ICsNCj4gKyNkZWZpbmUg TUVNT1JZX1JFRl9GUkVRX1ZBTFVFUyAgICAgIHsgTUVNT1JZX1JFRl9GUkVRX1ZBTFVFXzAsDQo+ IFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVNT1JZX1JFRl9G UkVRX1ZBTFVFXzEsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg TUVNT1JZX1JFRl9GUkVRX1ZBTFVFXzIsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTUVNT1JZX1JFRl9GUkVRX1ZBTFVFXzMgfQ0KPiArDQo+ICsNCj4gKy8vDQo+ ICsvLyBNZW1vcnkgUmVmZXJlbmNlIEZyZXF1ZW5jeSBEZWZpbml0aW9ucw0KPiArLy8NCj4gKw0K PiArI2RlZmluZSBNRU1PUllfRlJFUV9FTlRSWV9UWVBFICAgIFVJTlQ4X1RZUEUNCj4gKyNkZWZp bmUgTUVNT1JZX0ZSRVFfRU5UUllfMyAgICAgICAweDQNCj4gKyNkZWZpbmUgTUVNT1JZX0ZSRVFf RU5UUllfMiAgICAgICAweDMNCj4gKyNkZWZpbmUgTUVNT1JZX0ZSRVFfRU5UUllfMSAgICAgICAw eDINCj4gKyNkZWZpbmUgTUVNT1JZX0ZSRVFfRU5UUllfMCAgICAgICAweDENCj4gKw0KPiArI2Rl ZmluZSBNRU1PUllfRlJFUV9UUkFOU0xBVElPTl9UQUJMRV9FTlRSSUVTIDQNCj4gKyNkZWZpbmUg TUVNT1JZX0ZSRVFfVFJBTlNMQVRJT05fVEFCTEUNCj4geyBNRU1PUllfRlJFUV9FTlRSWV8wLCBc DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FTU9SWV9G UkVRX0VOVFJZXzEsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTUVNT1JZX0ZSRVFfRU5UUllfMiwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNRU1PUllfRlJFUV9FTlRSWV8zIH0NCj4gKw0KPiArDQo+ICsj ZGVmaW5lIE1FTU9SWV9GUkVRX01VTFRfUFJFQ0lTSU9OICAgICAgICAgICAgIDINCj4gKyNkZWZp bmUgTUVNT1JZX0ZSRVFfTVVMVF8zMzNNSFpfVkFMVUVfMyAgICAgICAgMjQwDQo+ICsjZGVmaW5l IE1FTU9SWV9GUkVRX01VTFRfMzMzTUhaX1ZBTFVFXzIgICAgICAgIDIwMA0KPiArI2RlZmluZSBN RU1PUllfRlJFUV9NVUxUXzMzM01IWl9WQUxVRV8xICAgICAgICAxNjANCj4gKyNkZWZpbmUgTUVN T1JZX0ZSRVFfTVVMVF8zMzNNSFpfVkFMVUVfMCAgICAgICAgMTIwDQo+ICsNCj4gKyNkZWZpbmUg TUVNT1JZX0ZSRVFfTVVMVF8yNjZNSFpfVkFMVUVfMyAgICAgICAgMzAwDQo+ICsjZGVmaW5lIE1F TU9SWV9GUkVRX01VTFRfMjY2TUhaX1ZBTFVFXzIgICAgICAgIDI1MA0KPiArI2RlZmluZSBNRU1P UllfRlJFUV9NVUxUXzI2Nk1IWl9WQUxVRV8xICAgICAgICAyMDANCj4gKyNkZWZpbmUgTUVNT1JZ X0ZSRVFfTVVMVF8yNjZNSFpfVkFMVUVfMCAgICAgICAgMTUwDQo+ICsNCj4gKyNkZWZpbmUgTUVN T1JZX0ZSRVFfTVVMVF8yMDBNSFpfVkFMVUVfMyAgICAgICAgNDAwDQo+ICsjZGVmaW5lIE1FTU9S WV9GUkVRX01VTFRfMjAwTUhaX1ZBTFVFXzIgICAgICAgIDMzMw0KPiArI2RlZmluZSBNRU1PUllf RlJFUV9NVUxUXzIwME1IWl9WQUxVRV8xICAgICAgICAyNjcNCj4gKyNkZWZpbmUgTUVNT1JZX0ZS RVFfTVVMVF8yMDBNSFpfVkFMVUVfMCAgICAgICAgMjAwDQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZ X0ZSRVFfTVVMVF8xMzNNSFpfVkFMVUVfMyAgICAgICAgNjAwDQo+ICsjZGVmaW5lIE1FTU9SWV9G UkVRX01VTFRfMTMzTUhaX1ZBTFVFXzIgICAgICAgIDUwMA0KPiArI2RlZmluZSBNRU1PUllfRlJF UV9NVUxUXzEzM01IWl9WQUxVRV8xICAgICAgICA0MDANCj4gKyNkZWZpbmUgTUVNT1JZX0ZSRVFf TVVMVF8xMzNNSFpfVkFMVUVfMCAgICAgICAgMzAwDQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZX0ZS RVFfTVVMVF8zMzNNSFpfVkFMVUVTDQo+IHsgTUVNT1JZX0ZSRVFfTVVMVF8zMzNNSFpfVkFMVUVf MCwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1F TU9SWV9GUkVRX01VTFRfMzMzTUhaX1ZBTFVFXzEsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfRlJFUV9NVUxUXzMzM01IWl9WQUxVRV8y LCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVN T1JZX0ZSRVFfTVVMVF8zMzNNSFpfVkFMVUVfMyB9DQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZX0ZS RVFfTVVMVF8yNjZNSFpfVkFMVUVTDQo+IHsgTUVNT1JZX0ZSRVFfTVVMVF8yNjZNSFpfVkFMVUVf MCwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1F TU9SWV9GUkVRX01VTFRfMjY2TUhaX1ZBTFVFXzEsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfRlJFUV9NVUxUXzI2Nk1IWl9WQUxVRV8y LCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVN T1JZX0ZSRVFfTVVMVF8yNjZNSFpfVkFMVUVfMyB9DQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZX0ZS RVFfTVVMVF8yMDBNSFpfVkFMVUVTDQo+IHsgTUVNT1JZX0ZSRVFfTVVMVF8yMDBNSFpfVkFMVUVf MCwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1F TU9SWV9GUkVRX01VTFRfMjAwTUhaX1ZBTFVFXzEsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfRlJFUV9NVUxUXzIwME1IWl9WQUxVRV8y LCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVN T1JZX0ZSRVFfTVVMVF8yMDBNSFpfVkFMVUVfMyB9DQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZX0ZS RVFfTVVMVF8xMzNNSFpfVkFMVUVTDQo+IHsgTUVNT1JZX0ZSRVFfTVVMVF8xMzNNSFpfVkFMVUVf MCwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1F TU9SWV9GUkVRX01VTFRfMTMzTUhaX1ZBTFVFXzEsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfRlJFUV9NVUxUXzEzM01IWl9WQUxVRV8y LCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVN T1JZX0ZSRVFfTVVMVF8xMzNNSFpfVkFMVUVfMyB9DQo+ICsNCj4gKy8vDQo+ICsvLyBDQVMgTWVt b3J5IFRpbWluZyBEZWZpbml0aW9ucw0KPiArLy8NCj4gKw0KPiArI2RlZmluZSBNRU1PUllfVENM X0VOVFJZX1RZUEUgICAgVUlOVDhfVFlQRQ0KPiArI2RlZmluZSBNRU1PUllfVENMX0VOVFJZXzMg ICAgICAgMHgyDQo+ICsjZGVmaW5lIE1FTU9SWV9UQ0xfRU5UUllfMiAgICAgICAweDENCj4gKyNk ZWZpbmUgTUVNT1JZX1RDTF9FTlRSWV8xICAgICAgIDB4MA0KPiArI2RlZmluZSBNRU1PUllfVENM X0VOVFJZXzAgICAgICAgMHgzDQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZX1RDTF9UUkFOU0xBVElP Tl9UQUJMRV9FTlRSSUVTIDQNCj4gKyNkZWZpbmUgTUVNT1JZX1RDTF9UUkFOU0xBVElPTl9UQUJM RSAgICAgeyBNRU1PUllfVENMX0VOVFJZXzAsDQo+IFwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfVENMX0VOVFJZXzEsIFwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfVENMX0VOVFJZXzIsIFwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfVENM X0VOVFJZXzMgfQ0KPiArDQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZX1RDTF9QUkVDSVNJT04gICAg IDANCj4gKyNkZWZpbmUgTUVNT1JZX1RDTF9WQUxVRV8zICAgICAgIDMNCj4gKyNkZWZpbmUgTUVN T1JZX1RDTF9WQUxVRV8yICAgICAgIDQNCj4gKyNkZWZpbmUgTUVNT1JZX1RDTF9WQUxVRV8xICAg ICAgIDUNCj4gKyNkZWZpbmUgTUVNT1JZX1RDTF9WQUxVRV8wICAgICAgIDYNCj4gKw0KPiArI2Rl ZmluZSBNRU1PUllfVENMX1ZBTFVFUyAgICAgIHsgTUVNT1JZX1RDTF9WQUxVRV8wLCBcDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfVENMX1ZBTFVFXzEsIFwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FTU9SWV9UQ0xfVkFMVUVfMiwgXA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVNT1JZX1RDTF9WQUxVRV8zIH0N Cj4gKw0KPiArDQo+ICsvLw0KPiArLy8gVFJDRCBNZW1vcnkgVGltaW5nIERlZmluaXRpb25zDQo+ ICsvLw0KPiArDQo+ICsjZGVmaW5lIE1FTU9SWV9UUkNEX0VOVFJZX1RZUEUgICAgVUlOVDhfVFlQ RQ0KPiArI2RlZmluZSBNRU1PUllfVFJDRF9FTlRSWV8zICAgICAgIDB4MA0KPiArI2RlZmluZSBN RU1PUllfVFJDRF9FTlRSWV8yICAgICAgIDB4MQ0KPiArI2RlZmluZSBNRU1PUllfVFJDRF9FTlRS WV8xICAgICAgIDB4Mg0KPiArI2RlZmluZSBNRU1PUllfVFJDRF9FTlRSWV8wICAgICAgIDB4Mw0K PiArDQo+ICsjZGVmaW5lIE1FTU9SWV9UUkNEX1RSQU5TTEFUSU9OX1RBQkxFX0VOVFJJRVMgNA0K PiArI2RlZmluZSBNRU1PUllfVFJDRF9UUkFOU0xBVElPTl9UQUJMRQ0KPiB7IE1FTU9SWV9UUkNE X0VOVFJZXzAsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTUVNT1JZX1RSQ0RfRU5UUllfMSwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBNRU1PUllfVFJDRF9FTlRSWV8yLCBcDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FTU9SWV9UUkNEX0VOVFJZXzMgfQ0KPiAr DQo+ICsNCj4gKyNkZWZpbmUgTUVNT1JZX1RSQ0RfUFJFQ0lTSU9OICAgICAwDQo+ICsjZGVmaW5l IE1FTU9SWV9UUkNEX1ZBTFVFXzMgICAgICAgMg0KPiArI2RlZmluZSBNRU1PUllfVFJDRF9WQUxV RV8yICAgICAgIDMNCj4gKyNkZWZpbmUgTUVNT1JZX1RSQ0RfVkFMVUVfMSAgICAgICA0DQo+ICsj ZGVmaW5lIE1FTU9SWV9UUkNEX1ZBTFVFXzAgICAgICAgNQ0KPiArDQo+ICsjZGVmaW5lIE1FTU9S WV9UUkNEX1ZBTFVFUyAgICAgIHsgTUVNT1JZX1RSQ0RfVkFMVUVfMCwgXA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIE1FTU9SWV9UUkNEX1ZBTFVFXzEsIFwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNRU1PUllfVFJDRF9WQUxVRV8yLCBcDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTUVNT1JZX1RSQ0RfVkFMVUVfMyB9DQo+ ICsNCj4gKw0KPiArLy8NCj4gKy8vIFRSUCBNZW1vcnkgVGltaW5nIERlZmluaXRpb25zDQo+ICsv Lw0KPiArDQo+ICsjZGVmaW5lIE1FTU9SWV9UUlBfRU5UUllfVFlQRSAgICBVSU5UOF9UWVBFDQo+ ICsjZGVmaW5lIE1FTU9SWV9UUlBfRU5UUllfMyAgICAgICAweDANCj4gKyNkZWZpbmUgTUVNT1JZ X1RSUF9FTlRSWV8yICAgICAgIDB4MQ0KPiArI2RlZmluZSBNRU1PUllfVFJQX0VOVFJZXzEgICAg ICAgMHgyDQo+ICsjZGVmaW5lIE1FTU9SWV9UUlBfRU5UUllfMCAgICAgICAweDMNCj4gKw0KPiAr I2RlZmluZSBNRU1PUllfVFJQX1RSQU5TTEFUSU9OX1RBQkxFX0VOVFJJRVMgNA0KPiArI2RlZmlu ZSBNRU1PUllfVFJQX1RSQU5TTEFUSU9OX1RBQkxFICAgICB7IE1FTU9SWV9UUlBfRU5UUllfMCwN Cj4gXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE1FTU9S WV9UUlBfRU5UUllfMSwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1FTU9SWV9UUlBfRU5UUllfMiwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE1FTU9SWV9UUlBfRU5UUllfMyB9DQo+ICsNCj4gKw0KPiArI2Rl ZmluZSBNRU1PUllfVFJQX1BSRUNJU0lPTiAgICAgMA0KPiArI2RlZmluZSBNRU1PUllfVFJQX1ZB TFVFXzMgICAgICAgMg0KPiArI2RlZmluZSBNRU1PUllfVFJQX1ZBTFVFXzIgICAgICAgMw0KPiAr I2RlZmluZSBNRU1PUllfVFJQX1ZBTFVFXzEgICAgICAgNA0KPiArI2RlZmluZSBNRU1PUllfVFJQ X1ZBTFVFXzAgICAgICAgNQ0KPiArDQo+ICsjZGVmaW5lIE1FTU9SWV9UUlBfVkFMVUVTICAgICAg eyBNRU1PUllfVFJQX1ZBTFVFXzAsIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE1FTU9SWV9UUlBfVkFMVUVfMSwgXA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTUVNT1JZX1RSUF9WQUxVRV8yLCBcDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBNRU1PUllfVFJQX1ZBTFVFXzMgfQ0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBUUkFT IE1lbW9yeSBUaW1pbmcgRGVmaW5pdGlvbnMNCj4gKy8vDQo+ICsjZGVmaW5lIE1FTU9SWV9UUkFT X01JTiAgICAgNA0KPiArI2RlZmluZSBNRU1PUllfVFJBU19NQVggICAgIDE4DQo+ICsjZGVmaW5l IE1FTU9SWV9UUkFTX1NURVAgICAgMQ0KPiArI2RlZmluZSBNRU1PUllfVFJBU19ERUZBVUxUIDEz DQo+ICsjZGVmaW5lIE1FTU9SWV9UUkFTX0NPVU5UICgoTUVNT1JZX1RSQVNfTUFYIC0NCj4gTUVN T1JZX1RSQVNfTUlOKS9NRU1PUllfVFJBU19TVEVQKSArIDENCj4gKyNkZWZpbmUgTUVNT1JZX1RS QVNfVFlQRSAgVUlOVDhfVFlQRQ0KPiArDQo+ICsvLw0KPiArLy8gVW5jb3JlIE11bHRpcGxpZXIg RGVmaW5pdGlvbnMNCj4gKy8vDQo+ICsjZGVmaW5lIFVDTEtfUkFUSU9fTUlOICAgICAxMg0KPiAr I2RlZmluZSBVQ0xLX1JBVElPX01BWCAgICAgMzANCj4gKyNkZWZpbmUgVUNMS19SQVRJT19ERUZB VUxUIDIwDQo+ICsNCj4gKyNlbmRpZiAvLyAjaWZuZGVmIF9DT05GSUdVUkFUSU9OX0gNCj4gZGlm ZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0V4 SS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvRXhJ LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYWQ2NjdiMGJk OA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtRHhlL0V4SS5jDQo+IEBAIC0wLDAgKzEsODkgQEANCj4gKy8qKiBAZmlsZQ0K PiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKw0KPiArICBFeEkuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiAr ICBFeEkgY29uZmlndXJhdGlvbiBiYXNlZCBvbiBzZXR1cCBvcHRpb24NCj4gKw0KPiArDQo+ICst LSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRHhlLmgiDQo+ICsNCj4gKyNkZWZp bmUgUGNoTHBjUGNpQ2ZnMzIoUmVnaXN0ZXIpICBNbWlvUmVhZDMyIChNbVBjaUFkZHJlc3MgKDAs DQo+IERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILCBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBD LCAwLA0KPiBSZWdpc3RlcikpDQo+ICsNCj4gKy8vDQo+ICsvLyBQcm9jZWR1cmU6IEdldFBtY0Jh c2UNCj4gKy8vDQo+ICsvLyBEZXNjcmlwdGlvbjogVGhpcyBmdW5jdGlvbiByZWFkIGNvbnRlbnQg b2YgQjpEOkYgMDozMTowLCBvZmZzZXQgNDRoIChmb3INCj4gKy8vIFBtY0Jhc2UpDQo+ICsvLw0K PiArLy8gSW5wdXQ6IE5vbmUNCj4gKy8vDQo+ICsvLyBPdXRwdXQ6ICAzMiBiaXQgUG1jQmFzZQ0K PiArLy8NCj4gK1VJTlQzMg0KPiArR2V0UG1jQmFzZSAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiAr ew0KPiArICByZXR1cm4gKFBjaExwY1BjaUNmZzMyIChSX1BDSF9MUENfUE1DX0JBU0UpICYNCj4g Ql9QQ0hfTFBDX1BNQ19CQVNFX0JBUik7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBDb25maWd1 cmUgRXhJLg0KPiArDQo+ICsgIEBwYXJhbSBJbWFnZUhhbmRsZSAgICBQb2ludGVyIHRvIHRoZSBs b2FkZWQgaW1hZ2UgcHJvdG9jb2wgZm9yIHRoaXMNCj4gZHJpdmVyDQo+ICsgIEBwYXJhbSBTeXN0 ZW1UYWJsZSAgICBQb2ludGVyIHRvIHRoZSBFRkkgU3lzdGVtIFRhYmxlDQo+ICsNCj4gKyAgQHJl dHZhbCBFRklfU1VDQ0VTUyAgIFRoZSBkcml2ZXIgaW5pdGlhbGl6ZXMgY29ycmVjdGx5Lg0KPiAr KiovDQo+ICtWT0lEDQo+ICtJbml0RXhJICgNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArDQo+ICsgIFNZU1RFTV9DT05GSUdVUkFUSU9O ICAgICAgICAgIFN5c3RlbUNvbmZpZ3VyYXRpb247DQo+ICsgIFVJTlROICAgICAgIFZhclNpemU7 DQo+ICsNCj4gKyAgVmFyU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsN Cj4gKyAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgNCj4gKyAgICAgICAgICAgICAgICAgIEwi U2V0dXAiLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJlZhclNpemUsDQo+ ICsgICAgICAgICAgICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAg ICAgICAgKTsNCj4gKw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IFZhclNpemUgIT0g c2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKSkgew0KPiArICAgIC8vVGhlIHNldHVwIHZhcmlh YmxlIGlzIGNvcnJ1cHRlZA0KPiArICAgIFZhclNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VS QVRJT04pOw0KPiArICAgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAg ICAgIEwiU2V0dXBSZWNvdmVyeSIsDQo+ICsgICAgICAgICAgICAgICZnRWZpTm9ybWFsU2V0dXBH dWlkLA0KPiArICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAmVmFyU2l6ZSwN Cj4gKyAgICAgICAgICAgICAgJlN5c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgICAgICAgICAgICAg KTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArICB9DQo+ICsNCj4gKyAg aWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24uRXhJU3VwcG9ydCA9PSAxKSB7DQo+ICsJICBNbWlvT3Iz MiAoKFVJTlROKSAoR2V0UG1jQmFzZSgpICsgUl9QQ0hfUE1DX01UUE1DMSksDQo+IChVSU5UMzIp IEJJVDArQklUMStCSVQyKTsNCj4gKyAgfSBlbHNlIGlmIChTeXN0ZW1Db25maWd1cmF0aW9uLkV4 SVN1cHBvcnQgPT0gMCkgew0KPiArICAgIE1taW9BbmQzMiAoKFVJTlROKSAoR2V0UG1jQmFzZSgp ICsgUl9QQ0hfUE1DX01UUE1DMSksDQo+IH4oKFVJTlQzMikgQklUMCtCSVQxK0JJVDIpKTsgLy9j bGVhciBiaXQgMCwxLDINCj4gKyAgfQ0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvSWNoUGxhdGZvcm1Qb2xpY3kuYw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0ljaFBsYXRm b3JtUG9saWN5LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u ZmMxOTYzNWY5OQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0ljaFBsYXRmb3JtUG9saWN5LmMNCj4gQEAgLTAsMCAr MSw0ODQgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4g Kw0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArDQo+ICsgIFBjaFBsYXRm b3JtUG9saWN5LmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ ICsjaW5jbHVkZSAiUGxhdGZvcm1EeGUuaCINCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9QY2hQbGF0 Zm9ybVBvbGljeS5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1ZsdlBsYXRmb3JtUG9saWN5Lmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2hQbGF0Zm9ybUxpYi5oPg0KPiArDQo+ICsjaW5jbHVk ZSAiQXphbGlhVmVyYlRhYmxlLmgiDQo+ICsjaW5jbHVkZSAiUHJvdG9jb2wvR2xvYmFsTnZzQXJl YS5oIg0KPiArI2luY2x1ZGUgIlByb3RvY29sL0R4ZVBjaFBvbGljeVVwZGF0ZVByb3RvY29sLmgi DQo+ICsNCj4gKyNkZWZpbmUgTU9CSUxFX1BMQVRGT1JNIDENCj4gKyNkZWZpbmUgREVTS1RPUF9Q TEFURk9STSAyDQo+ICsNCj4gK0VGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAgZ0R4ZVBj aFBvbGljeVVwZGF0ZVByb3RvY29sR3VpZCA9DQo+IERYRV9QQ0hfUE9MSUNZX1VQREFURV9QUk9U T0NPTF9HVUlEOw0KPiArRFhFX1BDSF9QT0xJQ1lfVVBEQVRFX1BST1RPQ09MICBtRHhlUGNoUG9s aWN5VXBkYXRlID0geyAwIH07DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIFVwZGF0ZXMgdGhlIGZl YXR1cmUgcG9saWNpZXMgYWNjb3JkaW5nIHRvIHRoZSBzZXR1cCB2YXJpYWJsZS4NCj4gKw0KPiAr ICBAcmV0dmFsIFZPSUQNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtJbml0UGNoUGxhdGZvcm1Q b2xpY3kgKA0KPiArICBJTiBFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAqUGxhdGZvcm1JbmZv DQo+ICsgICkNCj4gK3sNCj4gKyAgRFhFX1BDSF9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0wgKkR4 ZVBsYXRmb3JtUGNoUG9saWN5Ow0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAg ICBTdGF0dXM7DQo+ICsgIEVGSV9HTE9CQUxfTlZTX0FSRUFfUFJPVE9DT0wgICAgICpHbG9iYWxO dnNBcmVhOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICBQb3J0SW5kZXg7 DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZTsNCj4gKyAgUENI X1NURVBQSU5HICAgICAgICAgICAgICAgICAgICAgU29jU3RlcHBpbmcgPSBQY2hBMDsNCj4gKyAg Qk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgTW9kaWZ5VmFyaWFibGU7DQo+ICsNCj4g KyAgTW9kaWZ5VmFyaWFibGUgPSBGQUxTRTsNCj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAiSW5p dFBjaFBsYXRmb3JtUG9saWN5KCkgLSBTdGFydFxuIikpOw0KPiArDQo+ICsgIFN0YXR1cyAgPSBn QlMtPkxvY2F0ZVByb3RvY29sICgmZ0R4ZVBjaFBsYXRmb3JtUG9saWN5UHJvdG9jb2xHdWlkLA0K PiBOVUxMLCAoVk9JRCAqKikgJkR4ZVBsYXRmb3JtUGNoUG9saWN5KTsNCj4gKyAgQVNTRVJUX0VG SV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyAgTG9jYXRlIHRoZSBHbG9i YWwgTlZTIFByb3RvY29sLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3Rv Y29sICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpR2xvYmFsTnZzQXJlYVByb3RvY29sR3Vp ZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9J RCAqKikgJkdsb2JhbE52c0FyZWENCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VS VF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIHN5c3Rl bSBpbmZvcm1hdGlvbg0KPiArICAvLw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+UmV2aXNp b24gID0NCj4gRFhFX1BDSF9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0xfUkVWSVNJT05fMTI7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2VuZXJhbCBpbml0aWFsaXphdGlvbg0KPiArICAvLw0KPiAr ICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+QnVzTnVtYmVyID0gMDsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBWTFYgQklPUyBTcGVjIFNlY3Rpb24gMy42IEZsYXNoIFNlY3VyaXR5IFJlY29tbWVuZGF0 aW9uLA0KPiArICAvLyBJbnRlbCBzdHJvbmdseSByZWNvbW1lbmRzIHRoYXQgQklPUyBzZXRzIHRo ZSBCSU9TIEludGVyZmFjZSBMb2NrIERvd24NCj4gYml0LiBFbmFibGluZyB0aGlzIGJpdA0KPiAr ICAvLyB3aWxsIG1pdGlnYXRlIG1hbGljaW91cyBzb2Z0d2FyZSBhdHRlbXB0cyB0byByZXBsYWNl IHRoZSBzeXN0ZW0gQklPUw0KPiBvcHRpb24gUk9NIHdpdGggaXRzIG93biBjb2RlLg0KPiArICAv LyBXZSBhbHdheXMgZW5hYmxlIHRoaXMgYXMgYSBwbGF0Zm9ybSBwb2xpY3kuDQo+ICsgIC8vDQo+ ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5Mb2NrRG93bkNvbmZpZy0+Qmlvc0ludGVyZmFjZSA9 DQo+IFBDSF9ERVZJQ0VfRU5BQkxFOw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+TG9ja0Rv d25Db25maWctPkJpb3NMb2NrID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uU3BpUndQcm90ZWN0 Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIERldmljZUVuYWJsZXMNCj4gKyAgLy8NCj4gKyAgRHhl UGxhdGZvcm1QY2hQb2xpY3ktPkRldmljZUVuYWJsaW5nLT5MYW4gPSBtU3lzdGVtQ29uZmlndXJh dGlvbi5MYW47DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5EZXZpY2VFbmFibGluZy0+QXph bGlhICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBjaEF6YWxpYTsNCj4gKyAgRHhl UGxhdGZvcm1QY2hQb2xpY3ktPkRldmljZUVuYWJsaW5nLT5TYXRhICAgICAgICAgID0NCj4gbVN5 c3RlbUNvbmZpZ3VyYXRpb24uU2F0YTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPkRldmlj ZUVuYWJsaW5nLT5TbWJ1cyAgICAgICAgID0NCj4gUENIX0RFVklDRV9FTkFCTEU7DQo+ICsgIER4 ZVBsYXRmb3JtUGNoUG9saWN5LT5EZXZpY2VFbmFibGluZy0+THBlRW5hYmxlZCAgICA9DQo+IG1T eXN0ZW1Db25maWd1cmF0aW9uLkxwZTsNCj4gKw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+ VXNiQ29uZmlnLT5FaGNpMVVzYnIgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNFX0RJU0FCTEU7DQo+ ICsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+VXNiWGhjaUxwbVN1cHBv cnQNCj4gPW1TeXN0ZW1Db25maWd1cmF0aW9uLlVzYlhoY2lMcG1TdXBwb3J0Ow0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIERpc2FibGUgRkZSRCBQUjAgVVNCIHBvcnQyIGZvciBwb3dlciBzYXZpbmcg c2luY2UgUFIwIHVzZXMgbm9uLVBPUg0KPiBXV0FOIChidXQgZW5hYmxlIG9uIFBSMC4zL1BSMC41 L1BSMSkNCj4gKyAgLy8NCj4gKyAgaWYgKChQbGF0Zm9ybUluZm8tPkJvYXJkSWQgPT0gQk9BUkRf SURfQkxfRkZSRCkgJiYgKFBsYXRmb3JtSW5mby0NCj4gPkJvYXJkUmV2ID09IFBSMCkpDQo+ICsg ICAgaWYgKG1TeXN0ZW1Db25maWd1cmF0aW9uLlBjaFVzYlBvcnRbMl0gIT0wKSB7DQo+ICsgICAg ICBtU3lzdGVtQ29uZmlndXJhdGlvbi5QY2hVc2JQb3J0WzJdPTA7DQo+ICsgICAgICBNb2RpZnlW YXJpYWJsZSA9IFRSVUU7DQo+ICsgICAgfQ0KPiArDQo+ICsNCj4gKyAgaWYgKE1vZGlmeVZhcmlh YmxlKSB7DQo+ICsgICAgU3RhdHVzID0gZ1JULT5TZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAg ICAgICAgICAgIE5PUk1BTF9TRVRVUF9OQU1FLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0Vm aU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX05P Tl9WT0xBVElMRSB8DQo+IEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MsDQo+ICsgICAg ICAgICAgICAgICAgICAgIHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTiksDQo+ICsgICAgICAg ICAgICAgICAgICAgICZtU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAg ICApOw0KPiArICB9DQo+ICsNCj4gKyAgU29jU3RlcHBpbmcgPSBQY2hTdGVwcGluZygpOw0KPiAr ICBpZiAobVN5c3RlbUNvbmZpZ3VyYXRpb24uVXNiQXV0b01vZGUgPT0gMSkgeyAgIC8vIGF1dG8g bW9kZSBpcyBlbmFibGVkDQo+ICsgICAgaWYgKFBjaEEwID09IFNvY1N0ZXBwaW5nKSB7DQo+ICsg ICAgCS8vDQo+ICsgICAgICAvLyAgRm9yIEEwLCBFSENJIGlzIGVuYWJsZWQgYXMgZGVmYXVsdC4N Cj4gKyAgICAgIC8vDQo+ICsgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbi5QY2hVc2IyMCAgICAg ICA9IDE7DQo+ICsgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbi5QY2hVc2IzME1vZGUgICA9IDA7 DQo+ICsgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbi5Vc2JYaGNpU3VwcG9ydCA9IDA7DQo+ICsg ICAgICBERUJVRyAoKEVGSV9EX0lORk8sICJFSENJIGlzIGVuYWJsZWQgYXMgZGVmYXVsdC4gU09D IDB4JXhcbiIsDQo+IFNvY1N0ZXBwaW5nKSk7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAJLy8N Cj4gKyAgICAgIC8vICBGb3IgQTEgYW5kIGxhdGVyLCBYSENJIGlzIGVuYWJsZWQgYXMgZGVmYXVs dC4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbi5QY2hVc2IyMCAg ICAgICA9IDA7DQo+ICsgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbi5QY2hVc2IzME1vZGUgICA9 IDE7DQo+ICsgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbi5Vc2JYaGNpU3VwcG9ydCA9IDE7DQo+ ICsgICAgICBERUJVRyAoKEVGSV9EX0lORk8sICJYSENJIGlzIGVuYWJsZWQgYXMgZGVmYXVsdC4g U09DIDB4JXhcbiIsDQo+IFNvY1N0ZXBwaW5nKSk7DQo+ICsgICAgfQ0KPiArICAgIC8vDQo+ICsg ICAgLy9vdmVyd3JpdGUgdGhlIHNldHRpbmcNCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdS VC0+U2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgICAgICAgIE5PUk1BTF9TRVRVUF9OQU1F LA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSB8DQo+IEVGSV9WQVJJQUJM RV9CT09UU0VSVklDRV9BQ0NFU1MsDQo+ICsgICAgICAgICAgICAgICAgICAgIHNpemVvZihTWVNU RU1fQ09ORklHVVJBVElPTiksDQo+ICsgICAgICAgICAgICAgICAgICAgICZtU3lzdGVtQ29uZmln dXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gVVNCIERldmljZSAyOSBjb25maWd1cmF0aW9uDQo+ICsgIC8vDQo+ICsgIER4ZVBs YXRmb3JtUGNoUG9saWN5LT5Vc2JDb25maWctPlVzYjIwU2V0dGluZ3NbMF0uRW5hYmxlID0NCj4g bVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoVXNiMjA7DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5 LT5Vc2JDb25maWctPlVzYlBlclBvcnRDdGwgICAgICAgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3Vy YXRpb24uUGNoVXNiUGVyUG9ydEN0bDsNCj4gKyAgaWYgKG1TeXN0ZW1Db25maWd1cmF0aW9uLlBj aFVzYlBlclBvcnRDdGwgIT0gUENIX0RFVklDRV9ESVNBQkxFKSB7DQo+ICsgICAgZm9yIChQb3J0 SW5kZXggPSAwOyBQb3J0SW5kZXggPCBQQ0hfVVNCX01BWF9QSFlTSUNBTF9QT1JUUzsNCj4gUG9y dEluZGV4KyspIHsNCj4gKyAgICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5Vc2JDb25maWctPlBv cnRTZXR0aW5nc1tQb3J0SW5kZXhdLkVuYWJsZSA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBj aFVzYlBvcnRbUG9ydEluZGV4XTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBEeGVQbGF0 Zm9ybVBjaFBvbGljeS0+VXNiQ29uZmlnLT5FaGNpRGVidWcgICAgICAgICAgICAgICA9DQo+IG1T eXN0ZW1Db25maWd1cmF0aW9uLlBjaEVoY2lEZWJ1ZzsNCj4gKw0KPiArICAvLw0KPiArICAvLyB4 SENJIChVU0IgMy4wKSByZWxhdGVkIHNldHRpbmdzIGZyb20gc2V0dXAgdmFyaWFibGUNCj4gKyAg Ly8NCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+VXNiMzBTZXR0aW5ncy5Y aGNpU3RyZWFtcyAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBjaFVzYjMwU3RyZWFtczsN Cj4gKw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+VXNiQ29uZmlnLT5Vc2IzMFNldHRpbmdz Lk1vZGUgICAgICAgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoVXNiMzBNb2RlOw0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlbW92ZSBYSENJIFByZS1Cb290IERyaXZlciBzZXR1cCBv cHRpb24gc2VsZWN0aW9uIGZyb20gZW5kLXVzZXINCj4gdmlldyBhbmQgYXV0b21hdGUgbG9hZGlu ZyBvZiBVU0IgMy4wIEJJT1MgZHJpdmVyIGJhc2VkIG9uIFhoY2lNb2RlDQo+IHNlbGVjdGlvbg0K PiArICAvLw0KPiArICBzd2l0Y2ggKG1TeXN0ZW1Db25maWd1cmF0aW9uLlBjaFVzYjMwTW9kZSkg ew0KPiArICAgIGNhc2UgMDogLy8gRGlzYWJsZWQNCj4gKyAgICAgIER4ZVBsYXRmb3JtUGNoUG9s aWN5LT5Vc2JDb25maWctPlVzYjMwU2V0dGluZ3MuUHJlQm9vdFN1cHBvcnQgPSAwOw0KPiArICAg ICAgYnJlYWs7DQo+ICsgICAgY2FzZSAxOiAvLyBFbmFibGVkDQo+ICsgICAgICBEeGVQbGF0Zm9y bVBjaFBvbGljeS0+VXNiQ29uZmlnLT5Vc2IzMFNldHRpbmdzLlByZUJvb3RTdXBwb3J0ID0gMTsN Cj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGNhc2UgMjogLy8gQXV0bw0KPiArICAgICAgRHhlUGxh dGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+VXNiMzBTZXR0aW5ncy5QcmVCb290U3VwcG9ydCA9 IDA7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIDM6IC8vIFNtYXJ0IEF1dG8NCj4gKyAg ICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5Vc2JDb25maWctPlVzYjMwU2V0dGluZ3MuUHJlQm9v dFN1cHBvcnQgPSAxOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgZGVmYXVsdDoNCj4gKyAgICAg IER4ZVBsYXRmb3JtUGNoUG9saWN5LT5Vc2JDb25maWctPlVzYjMwU2V0dGluZ3MuUHJlQm9vdFN1 cHBvcnQgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5Vc2JYaGNpU3VwcG9ydDsNCj4gKyAgICAg IGJyZWFrOw0KPiArICB9DQo+ICsNCj4gKw0KPiArDQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5 LT5Vc2JDb25maWctPlVzYk90Z1NldHRpbmdzLkVuYWJsZSAgPQ0KPiBtU3lzdGVtQ29uZmlndXJh dGlvbi5QY2hVc2JPdGc7DQo+ICsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZp Zy0+UG9ydFNldHRpbmdzWzBdLkRvY2sgICA9DQo+IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAg RHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+UG9ydFNldHRpbmdzWzFdLkRvY2sgICA9 DQo+IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNv bmZpZy0+UG9ydFNldHRpbmdzWzJdLkRvY2sgICA9DQo+IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4g KyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+UG9ydFNldHRpbmdzWzNdLkRvY2sg ICA9DQo+IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGlj eS0+VXNiQ29uZmlnLT5Qb3J0U2V0dGluZ3NbMF0uUGFuZWwgID0NCj4gUENIX1VTQl9GUk9OVF9Q QU5FTDsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+UG9ydFNldHRpbmdz WzFdLlBhbmVsICA9DQo+IFBDSF9VU0JfRlJPTlRfUEFORUw7DQo+ICsgIER4ZVBsYXRmb3JtUGNo UG9saWN5LT5Vc2JDb25maWctPlBvcnRTZXR0aW5nc1syXS5QYW5lbCAgPQ0KPiBQQ0hfVVNCX0JB Q0tfUEFORUw7DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5Vc2JDb25maWctPlBvcnRTZXR0 aW5nc1szXS5QYW5lbCAgPQ0KPiBQQ0hfVVNCX0JBQ0tfUEFORUw7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8NCj4gKyAgLy8gRW5hYmxlIFVTQiBUb3BvbG9neSBjb250cm9sIGFuZCBwcm9ncmFtIHRo ZSB0b3BvbG9neSBzZXR0aW5nIGZvciBldmVyeQ0KPiBVU0IgcG9ydA0KPiArICAvLyBTZWUgUGxh dGZvcm0gRGVzaWduIEd1aWRlIGZvciBkZXNjcmlwdGlvbiBvZiB0b3BvbG9naWVzDQo+ICsgIC8v DQo+ICsgIC8vDQo+ICsgIC8vIFBvcnQgMDogfjUuMyIsIFBvcnQgMTogfjQuOSIsIFBvcnQgMjog fjQuNyIsIFBvcnQgMzogfjguMCINCj4gKyAgLy8NCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3kt PlVzYkNvbmZpZy0+VXNiMjBQb3J0TGVuZ3RoWzBdICA9IDB4NTM7DQo+ICsgIER4ZVBsYXRmb3Jt UGNoUG9saWN5LT5Vc2JDb25maWctPlVzYjIwUG9ydExlbmd0aFsxXSAgPSAweDQ5Ow0KPiArICBE eGVQbGF0Zm9ybVBjaFBvbGljeS0+VXNiQ29uZmlnLT5Vc2IyMFBvcnRMZW5ndGhbMl0gID0gMHg0 NzsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+VXNiMjBQb3J0TGVuZ3Ro WzNdICA9IDB4ODA7DQo+ICsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+ VXNiMjBPdmVyQ3VycmVudFBpbnNbMF0gID0NCj4gUGNoVXNiT3ZlckN1cnJlbnRQaW4wOw0KPiAr ICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+VXNiQ29uZmlnLT5Vc2IyME92ZXJDdXJyZW50UGluc1sx XSAgPQ0KPiBQY2hVc2JPdmVyQ3VycmVudFBpbjA7DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5 LT5Vc2JDb25maWctPlVzYjIwT3ZlckN1cnJlbnRQaW5zWzJdICA9DQo+IFBjaFVzYk92ZXJDdXJy ZW50UGluMTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlVzYkNvbmZpZy0+VXNiMjBPdmVy Q3VycmVudFBpbnNbM10gID0NCj4gUGNoVXNiT3ZlckN1cnJlbnRQaW4xOw0KPiArDQo+ICsgIER4 ZVBsYXRmb3JtUGNoUG9saWN5LT5Vc2JDb25maWctPlVzYjMwT3ZlckN1cnJlbnRQaW5zWzBdICA9 DQo+IFBjaFVzYk92ZXJDdXJyZW50UGluU2tpcDsvL1BjaFVzYk92ZXJDdXJyZW50UGluMDsNCj4g Kw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+RWhjaVBsbENmZ0VuYWJsZSA9DQo+IG1TeXN0 ZW1Db25maWd1cmF0aW9uLkVoY2lQbGxDZmdFbmFibGU7DQo+ICsgIERFQlVHICgoRUZJX0RfSU5G TywgIkluaXRQY2hQbGF0Zm9ybVBvbGljeSgpIER4ZVBsYXRmb3JtUGNoUG9saWN5LQ0KPiA+RWhj aVBsbENmZ0VuYWJsZSA9IDB4JXggXG4iLER4ZVBsYXRmb3JtUGNoUG9saWN5LT5FaGNpUGxsQ2Zn RW5hYmxlKSk7DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlBjaUV4cHJlc3NDb25maWct PlBjaWVEeW5hbWljR2F0aW5nDQo+ID0gbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNpZUR5bmFtaWNH YXRpbmc7DQo+ICsgIGZvciAoUG9ydEluZGV4ID0gMDsgUG9ydEluZGV4IDwgUENIX1BDSUVfTUFY X1JPT1RfUE9SVFM7DQo+IFBvcnRJbmRleCsrKSB7DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQb2xp Y3ktPlBjaUV4cHJlc3NDb25maWctPlJvb3RQb3J0W1BvcnRJbmRleF0uRW5hYmxlDQo+ID0gbVN5 c3RlbUNvbmZpZ3VyYXRpb24uSWNoUGNpRXhwW1BvcnRJbmRleF07DQo+ICsgICAgRHhlUGxhdGZv cm1QY2hQb2xpY3ktPlBjaUV4cHJlc3NDb25maWctDQo+ID5Sb290UG9ydFtQb3J0SW5kZXhdLlNs b3RJbXBsZW1lbnRlZCAgICAgICAgICAgICAgID0gUENIX0RFVklDRV9FTkFCTEU7DQo+ICsgICAg RHhlUGxhdGZvcm1QY2hQb2xpY3ktPlBjaUV4cHJlc3NDb25maWctDQo+ID5Sb290UG9ydFtQb3J0 SW5kZXhdLkZ1bmN0aW9uTnVtYmVyICAgICAgICAgICAgICAgID0gUG9ydEluZGV4Ow0KPiArICAg IER4ZVBsYXRmb3JtUGNoUG9saWN5LT5QY2lFeHByZXNzQ29uZmlnLQ0KPiA+Um9vdFBvcnRbUG9y dEluZGV4XS5QaHlzaWNhbFNsb3ROdW1iZXIgICAgICAgICAgICA9IFBvcnRJbmRleDsNCj4gKyAg ICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+UGNpRXhwcmVzc0NvbmZpZy0+Um9vdFBvcnRbUG9ydElu ZGV4XS5Bc3BtDQo+ID0gNDsNCj4gKyAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+UGNpRXhwcmVz c0NvbmZpZy0+Um9vdFBvcnRbUG9ydEluZGV4XS5QbVNjaQ0KPiA9IFBDSF9ERVZJQ0VfRElTQUJM RTsNCj4gKyAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+UGNpRXhwcmVzc0NvbmZpZy0+Um9vdFBv cnRbUG9ydEluZGV4XS5FeHRTeW5jDQo+ID0gUENIX0RFVklDRV9ESVNBQkxFOw0KPiArICAgIER4 ZVBsYXRmb3JtUGNoUG9saWN5LT5QY2lFeHByZXNzQ29uZmlnLT5Sb290UG9ydFtQb3J0SW5kZXhd LkhvdFBsdWcNCj4gPSBQQ0hfREVWSUNFX0RJU0FCTEU7DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQ b2xpY3ktPlBjaUV4cHJlc3NDb25maWctDQo+ID5Sb290UG9ydFtQb3J0SW5kZXhdLkFkdmFuY2Vk RXJyb3JSZXBvcnRpbmcgICAgICAgID0gUENIX0RFVklDRV9ESVNBQkxFOw0KPiArICAgIER4ZVBs YXRmb3JtUGNoUG9saWN5LT5QY2lFeHByZXNzQ29uZmlnLQ0KPiA+Um9vdFBvcnRbUG9ydEluZGV4 XS5VbnN1cHBvcnRlZFJlcXVlc3RSZXBvcnQgICAgICA9DQo+IFBDSF9ERVZJQ0VfRElTQUJMRTsN Cj4gKyAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+UGNpRXhwcmVzc0NvbmZpZy0NCj4gPlJvb3RQ b3J0W1BvcnRJbmRleF0uRmF0YWxFcnJvclJlcG9ydCAgICAgICAgICAgICAgPSBQQ0hfREVWSUNF X0RJU0FCTEU7DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlBjaUV4cHJlc3NDb25maWct DQo+ID5Sb290UG9ydFtQb3J0SW5kZXhdLk5vRmF0YWxFcnJvclJlcG9ydCAgICAgICAgICAgID0g UENIX0RFVklDRV9ESVNBQkxFOw0KPiArICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5QY2lFeHBy ZXNzQ29uZmlnLQ0KPiA+Um9vdFBvcnRbUG9ydEluZGV4XS5Db3JyZWN0YWJsZUVycm9yUmVwb3J0 ICAgICAgICA9IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgICBEeGVQbGF0Zm9ybVBjaFBvbGlj eS0+UGNpRXhwcmVzc0NvbmZpZy0NCj4gPlJvb3RQb3J0W1BvcnRJbmRleF0uUG1lSW50ZXJydXB0 ICAgICAgICAgICAgICAgICAgPSAwOw0KPiArICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5QY2lF eHByZXNzQ29uZmlnLQ0KPiA+Um9vdFBvcnRbUG9ydEluZGV4XS5TeXN0ZW1FcnJvck9uRmF0YWxF cnJvciAgICAgICA9IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgICBEeGVQbGF0Zm9ybVBjaFBv bGljeS0+UGNpRXhwcmVzc0NvbmZpZy0NCj4gPlJvb3RQb3J0W1BvcnRJbmRleF0uU3lzdGVtRXJy b3JPbk5vbkZhdGFsRXJyb3IgICAgPQ0KPiBQQ0hfREVWSUNFX0RJU0FCTEU7DQo+ICsgICAgRHhl UGxhdGZvcm1QY2hQb2xpY3ktPlBjaUV4cHJlc3NDb25maWctDQo+ID5Sb290UG9ydFtQb3J0SW5k ZXhdLlN5c3RlbUVycm9yT25Db3JyZWN0YWJsZUVycm9yID0NCj4gUENIX0RFVklDRV9ESVNBQkxF Ow0KPiArICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5QY2lFeHByZXNzQ29uZmlnLQ0KPiA+Um9v dFBvcnRbUG9ydEluZGV4XS5Db21wbGV0aW9uVGltZW91dCAgICAgICAgICAgICA9DQo+IFBjaFBj aUVDb21wbGV0aW9uVE9fRGVmYXVsdDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNB VEEgY29uZmlndXJhdGlvbg0KPiArICAvLw0KPiArICBmb3IgKFBvcnRJbmRleCA9IDA7IFBvcnRJ bmRleCA8IFBDSF9BSENJX01BWF9QT1JUUzsgUG9ydEluZGV4KyspIHsNCj4gKyAgICBpZiAobVN5 c3RlbUNvbmZpZ3VyYXRpb24uU2F0YVR5cGUgPT0gMCkgew0KPiArICAgICAgRHhlUGxhdGZvcm1Q Y2hQb2xpY3ktPlNhdGFDb25maWctPlBvcnRTZXR0aW5nc1tQb3J0SW5kZXhdLkVuYWJsZSAgID0N Cj4gUENIX0RFVklDRV9FTkFCTEU7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2F0 YUNvbmZpZy0+TGVnYWN5TW9kZSAgICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNF X0VOQUJMRTsNCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3kt PlNhdGFDb25maWctPlBvcnRTZXR0aW5nc1tQb3J0SW5kZXhdLkVuYWJsZSAgID0NCj4gUENIX0RF VklDRV9FTkFCTEU7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2F0YUNvbmZpZy0+ TGVnYWN5TW9kZSAgICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNFX0RJU0FCTEU7 DQo+ICsgICAgfQ0KPiArICAgIGlmKG1TeXN0ZW1Db25maWd1cmF0aW9uLlNhdGEgPT0gMSl7DQo+ ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2F0YUNvbmZpZy0+UG9ydFNldHRpbmdzW1Bv cnRJbmRleF0uRW5hYmxlICAgPQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgICB9IGVsc2Ug ew0KPiArICAgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPlBvcnRTZXR0aW5n c1tQb3J0SW5kZXhdLkVuYWJsZSAgID0NCj4gUENIX0RFVklDRV9ESVNBQkxFOw0KPiArICAgIH0N Cj4gKyAgICBpZigwID09IFBvcnRJbmRleCl7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGlj eS0+U2F0YUNvbmZpZy0+UG9ydFNldHRpbmdzW1BvcnRJbmRleF0uSG90UGx1ZyAgICA9DQo+IFBD SF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgICB9IGVsc2UgaWYoMSA9PSBQb3J0SW5kZXgpew0KPiAr ICAgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPlBvcnRTZXR0aW5nc1tQb3J0 SW5kZXhdLkhvdFBsdWcgICAgPQ0KPiBQQ0hfREVWSUNFX0RJU0FCTEU7DQo+ICsgICAgfQ0KPiAr DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPlBvcnRTZXR0aW5nc1tQ b3J0SW5kZXhdLlNwaW5VcCAgICAgPQ0KPiBQQ0hfREVWSUNFX0RJU0FCTEU7DQo+ICsgICAgRHhl UGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPlBvcnRTZXR0aW5nc1tQb3J0SW5kZXhdLk1l Y2hTdw0KPiA9IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgfQ0KPiArICBEeGVQbGF0Zm9ybVBj aFBvbGljeS0+U2F0YUNvbmZpZy0+UmFpZEFsdGVybmF0ZUlkICAgICAgICAgICAgICAgICA9DQo+ IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25m aWctPlJhaWQwICAgICAgICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNFX0VOQUJM RTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPlJhaWQxICAgICAgICAg ICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgRHhlUGxhdGZv cm1QY2hQb2xpY3ktPlNhdGFDb25maWctPlJhaWQxMCAgICAgICAgICAgICAgICAgICAgICAgICAg PQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFD b25maWctPlJhaWQ1ICAgICAgICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNFX0VO QUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPklycnQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgRHhlUGxh dGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPk9yb21VaUJhbm5lciAgICAgICAgICAgICAgICAg ICAgPQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNh dGFDb25maWctPkhkZFVubG9jayAgICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNF X0VOQUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPkxlZExvY2F0 ZSAgICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgRHhl UGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPklycnRPbmx5ICAgICAgICAgICAgICAgICAg ICAgICAgPQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3kt PlNhdGFDb25maWctPlNhbHBTdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgPQ0KPiBQQ0hfREVW SUNFX0VOQUJMRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNhdGFDb25maWctPlRlc3RN b2RlICAgICAgICAgICAgICAgICAgICAgICAgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5TYXRh VGVzdE1vZGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQXphbGlhQ29uZmlnDQo+ICsgIC8vDQo+ ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5BemFsaWFDb25maWctPlBtZSAgICAgICA9DQo+IG1T eXN0ZW1Db25maWd1cmF0aW9uLkF6YWxpYVBtZTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3kt PkF6YWxpYUNvbmZpZy0+SGRtaUNvZGVjID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uSGRtaUNv ZGVjOw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+QXphbGlhQ29uZmlnLT5EUyAgICAgICAg PQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5BemFsaWFEczsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQ b2xpY3ktPkF6YWxpYUNvbmZpZy0+QXphbGlhVkNpID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24u QXphbGlhVkNpRW5hYmxlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCBMUFNTIGNvbmZpZ3Vy YXRpb24gYWNjb3JkaW5nIHRvIHNldHVwIHZhbHVlLg0KPiArICAvLw0KPiArICBEeGVQbGF0Zm9y bVBjaFBvbGljeS0+THBzc0NvbmZpZy0+THBzc1BjaU1vZGVFbmFibGVkICAgPQ0KPiBtU3lzdGVt Q29uZmlndXJhdGlvbi5McHNzUGNpTW9kZUVuYWJsZWQ7DQo+ICsNCj4gKyAgRHhlUGxhdGZvcm1Q Y2hQb2xpY3ktPkxwc3NDb25maWctPkRtYTFFbmFibGVkICAgID0NCj4gbVN5c3RlbUNvbmZpZ3Vy YXRpb24uTHBzc0RtYTFFbmFibGVkOw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+THBzc0Nv bmZpZy0+STJDMEVuYWJsZWQgICAgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzSTJDMEVu YWJsZWQ7DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5McHNzQ29uZmlnLT5JMkMxRW5hYmxl ZCAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NJMkMxRW5hYmxlZDsNCj4gKyAgRHhl UGxhdGZvcm1QY2hQb2xpY3ktPkxwc3NDb25maWctPkkyQzJFbmFibGVkICAgID0NCj4gbVN5c3Rl bUNvbmZpZ3VyYXRpb24uTHBzc0kyQzJFbmFibGVkOw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGlj eS0+THBzc0NvbmZpZy0+STJDM0VuYWJsZWQgICAgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5M cHNzSTJDM0VuYWJsZWQ7DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5McHNzQ29uZmlnLT5J MkM0RW5hYmxlZCAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NJMkM0RW5hYmxlZDsN Cj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPkxwc3NDb25maWctPkkyQzVFbmFibGVkICAgID0N Cj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc0kyQzVFbmFibGVkOw0KPiArICBEeGVQbGF0Zm9y bVBjaFBvbGljeS0+THBzc0NvbmZpZy0+STJDNkVuYWJsZWQgICAgPQ0KPiBtU3lzdGVtQ29uZmln dXJhdGlvbi5McHNzSTJDNkVuYWJsZWQ7DQo+ICsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3kt Pkxwc3NDb25maWctPkRtYTBFbmFibGVkICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBz c0RtYTBFbmFibGVkOzsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPkxwc3NDb25maWctPlB3 bTBFbmFibGVkICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc1B3bTBFbmFibGVkOw0K PiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+THBzc0NvbmZpZy0+UHdtMUVuYWJsZWQgICAgPQ0K PiBtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzUHdtMUVuYWJsZWQ7DQo+ICsgIER4ZVBsYXRmb3Jt UGNoUG9saWN5LT5McHNzQ29uZmlnLT5Ic3VhcnQwRW5hYmxlZCA9DQo+IG1TeXN0ZW1Db25maWd1 cmF0aW9uLkxwc3NIc3VhcnQwRW5hYmxlZDsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPkxw c3NDb25maWctPkhzdWFydDFFbmFibGVkID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc0hz dWFydDFFbmFibGVkOw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+THBzc0NvbmZpZy0+U3Bp RW5hYmxlZCAgICAgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzU3BpRW5hYmxlZDsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBTZXQgU0NDIGNvbmZpZ3VyYXRpb24gYWNjb3JkaW5nIHRvIHNl dHVwIHZhbHVlLg0KPiArICAvLw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmln LT5TZGlvRW5hYmxlZCAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc1NkaW9FbmFibGVk Ow0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmlnLT5TZGNhcmRFbmFibGVkID0g VFJVRTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+U2RDYXJkU0RSMjVF bmFibGVkID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc1NkQ2FyZFNEUjI1RW5hYmxlZDsN Cj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+U2RDYXJkRERSNTBFbmFibGVk ID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc1NkQ2FyZEREUjUwRW5hYmxlZDsNCj4gKyAg RHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+SHNpRW5hYmxlZCAgICA9DQo+IG1TeXN0 ZW1Db25maWd1cmF0aW9uLkxwc3NNaXBpSHNpOw0KPiArDQo+ICsgIGlmIChtU3lzdGVtQ29uZmln dXJhdGlvbi5lTU1DQm9vdE1vZGU9PSAxKSB7Ly8gQXV0byBkZXRlY3Rpb24gbW9kZQ0KPiArICAv Lw0KPiArICAvLyBTaWxpY29uIFN0ZXBwaW5nDQo+ICsgIC8vDQo+ICsgIHN3aXRjaCAoUGNoU3Rl cHBpbmcoKSkgew0KPiArICAgIGNhc2UgUGNoQTA6IC8vIEEwIGFuZCBBMQ0KPiArICAgIGNhc2Ug UGNoQTE6DQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiQXV0byBEZXRlY3Q6IFNPQyBB MC9BMTogU0NDIGVNTUMgNC40MQ0KPiBDb25maWd1cmF0aW9uXG4iKSk7DQo+ICsgICAgICBEeGVQ bGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmlnLT5lTU1DRW5hYmxlZCAgICAgICAgICAgID0gMTsN Cj4gKyAgICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5TY2NDb25maWctPmVNTUM0NUVuYWJsZWQg ICAgICAgICAgPSAwOw0KPiArICAgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ ZU1NQzQ1RERSNTBFbmFibGVkICAgICA9IDA7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGlj eS0+U2NjQ29uZmlnLT5lTU1DNDVIUzIwMEVuYWJsZWQgICAgID0gMDsNCj4gKyAgICAgIER4ZVBs YXRmb3JtUGNoUG9saWN5LT5TY2NDb25maWctPmVNTUM0NVJldHVuZVRpbWVyVmFsdWUgPSAwOw0K PiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBQY2hCMDogLy8gQjAgYW5kIGxhdGVyDQo+ICsg ICAgZGVmYXVsdDoNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJBdXRvIERldGVjdDog U09DIEIwIGFuZCBsYXRlcjogU0NDIGVNTUMgNC41DQo+IENvbmZpZ3VyYXRpb25cbiIpKTsNCj4g KyAgICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5TY2NDb25maWctPmVNTUNFbmFibGVkICAgICAg ICAgICAgPSAwOw0KPiArICAgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1N QzQ1RW5hYmxlZCAgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NlTU1DNDVF bmFibGVkOw0KPiArICAgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1NQzQ1 RERSNTBFbmFibGVkICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NlTU1DNDVERFI1 MEVuYWJsZWQ7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmlnLT5lTU1D NDVIUzIwMEVuYWJsZWQgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc2VNTUM0NUhT MjAwRW5hYmxlZDsNCj4gKyAgICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5TY2NDb25maWctPmVN TUM0NVJldHVuZVRpbWVyVmFsdWUgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzZU1NQzQ1 UmV0dW5lVGltZXJWYWx1ZTsNCj4gKyAgICAgIGJyZWFrOw0KPiArICB9DQo+ICsgfSBlbHNlIGlm IChtU3lzdGVtQ29uZmlndXJhdGlvbi5lTU1DQm9vdE1vZGUgPT0gMikgeyAvLyBlTU1DIDQuNDEN Cj4gKyAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRm9yY2UgdG8gU0NDIGVNTUMgNC40MSBDb25m aWd1cmF0aW9uXG4iKSk7DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ ZU1NQ0VuYWJsZWQgICAgICAgICAgICA9IDE7DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3kt PlNjY0NvbmZpZy0+ZU1NQzQ1RW5hYmxlZCAgICAgICAgICA9IDA7DQo+ICsgICAgRHhlUGxhdGZv cm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1NQzQ1RERSNTBFbmFibGVkICAgICA9IDA7DQo+ICsg ICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1NQzQ1SFMyMDBFbmFibGVkICAg ICA9IDA7DQo+ICsgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1NQzQ1UmV0 dW5lVGltZXJWYWx1ZSA9IDA7DQo+ICsNCj4gKyB9IGVsc2UgaWYgKG1TeXN0ZW1Db25maWd1cmF0 aW9uLmVNTUNCb290TW9kZSA9PSAzKSB7IC8vIGVNTUMgNC41DQo+ICsgICAgICBERUJVRyAoKEVG SV9EX0VSUk9SLCAiRm9yY2UgdG8gZU1NQyA0LjUgQ29uZmlndXJhdGlvblxuIikpOw0KPiArICAg ICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1NQ0VuYWJsZWQgICAgICAgICAg ICA9IDA7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmlnLT5lTU1DNDVF bmFibGVkICAgICAgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc2VNTUM0NUVuYWJs ZWQ7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmlnLT5lTU1DNDVERFI1 MEVuYWJsZWQgICAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uTHBzc2VNTUM0NUREUjUwRW5h YmxlZDsNCj4gKyAgICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5TY2NDb25maWctPmVNTUM0NUhT MjAwRW5hYmxlZCAgICAgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzZU1NQzQ1SFMyMDBF bmFibGVkOw0KPiArICAgICAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1NQzQ1 UmV0dW5lVGltZXJWYWx1ZSA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwc3NlTU1DNDVSZXR1 bmVUaW1lclZhbHVlOw0KPiArDQo+ICsgfSBlbHNlIHsgLy8gRGlzYWJsZSBlTU1DIGNvbnRyb2xs ZXJzDQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRGlzYWJsZSBlTU1DIGNvbnRyb2xs ZXJzXG4iKSk7DQo+ICsgICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmlnLT5lTU1D RW5hYmxlZCAgICAgICAgICAgID0gMDsNCj4gKyAgICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5T Y2NDb25maWctPmVNTUM0NUVuYWJsZWQgICAgICAgICAgPSAwOw0KPiArICAgICAgRHhlUGxhdGZv cm1QY2hQb2xpY3ktPlNjY0NvbmZpZy0+ZU1NQzQ1RERSNTBFbmFibGVkICAgICA9IDA7DQo+ICsg ICAgICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+U2NjQ29uZmlnLT5lTU1DNDVIUzIwMEVuYWJsZWQg ICAgID0gMDsNCj4gKyAgICAgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5TY2NDb25maWctPmVNTUM0 NVJldHVuZVRpbWVyVmFsdWUgPSAwOw0KPiArIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBSZXNl cnZlZCBTTUJ1cyBBZGRyZXNzDQo+ICsgIC8vDQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5T bWJ1c0NvbmZpZy0+TnVtUnN2ZFNtYnVzQWRkcmVzc2VzICA9IDQ7DQo+ICsgIER4ZVBsYXRmb3Jt UGNoUG9saWN5LT5TbWJ1c0NvbmZpZy0+UnN2ZFNtYnVzQWRkcmVzc1RhYmxlICA9DQo+IG1TbWJ1 c1JzdmRBZGRyZXNzZXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWlzY1BtIENvbmZpZ3VyYXRp b24NCj4gKyAgLy8NCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPk1pc2NQbUNvbmZpZy0+V2Fr ZUNvbmZpZy5Xb2xFbmFibGVPdmVycmlkZQ0KPiA9IG1TeXN0ZW1Db25maWd1cmF0aW9uLldha2VP bkxhblM1Ow0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+TWlzY1BtQ29uZmlnLT5TbHBMYW5M b3dEYyAgICAgICAgICAgICAgICAgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlNs cExhbkxvd0RjOw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+TWlzY1BtQ29uZmlnLQ0KPiA+ UG93ZXJSZXNldFN0YXR1c0NsZWFyLk1lV2FrZVN0cyAgICAgPSBQQ0hfREVWSUNFX0VOQUJMRTsN Cj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPk1pc2NQbUNvbmZpZy0NCj4gPlBvd2VyUmVzZXRT dGF0dXNDbGVhci5NZUhyc3RDb2xkU3RzID0gUENIX0RFVklDRV9FTkFCTEU7DQo+ICsgIER4ZVBs YXRmb3JtUGNoUG9saWN5LT5NaXNjUG1Db25maWctDQo+ID5Qb3dlclJlc2V0U3RhdHVzQ2xlYXIu TWVIcnN0V2FybVN0cyA9IFBDSF9ERVZJQ0VfRU5BQkxFOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEVuYWJsZSAvIGRpc2FibGUgc2VyaWFsIElSUSBhY2NvcmRpbmcgdG8gc2V0dXAgdmFsdWUuDQo+ ICsgIC8vDQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5TZXJpYWxJcnFDb25maWctPlNpcnFF bmFibGUgPQ0KPiBQQ0hfREVWSUNFX0VOQUJMRTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQg U2VyaWFsIElSUSBNb2RlIFNlbGVjdCBhY2NvcmRpbmcgdG8gc2V0dXAgdmFsdWUuDQo+ICsgIC8v DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5TZXJpYWxJcnFDb25maWctPlNpcnFNb2RlID0g UGNoUXVpZXRNb2RlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2dyYW0gdGhlIGRlZmF1bHQg U3ViIFN5c3RlbSBWZW5kb3IgRGV2aWNlIElkDQo+ICsgIC8vDQo+ICsgIER4ZVBsYXRmb3JtUGNo UG9saWN5LT5EZWZhdWx0U3ZpZFNpZC0+U3ViU3lzdGVtVmVuZG9ySWQgPQ0KPiBWX1BDSF9JTlRF TF9WRU5ET1JfSUQ7DQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5EZWZhdWx0U3ZpZFNpZC0+ U3ViU3lzdGVtSWQgICAgICAgPQ0KPiBWX1BDSF9ERUZBVUxUX1NJRDsNCj4gKw0KPiArICBtQXph bGlhVmVyYlRhYmxlWzldLlZlcmJUYWJsZURhdGEgPSBtQXphbGlhVmVyYlRhYmxlRGF0YTEyOw0K PiArDQo+ICsgIER4ZVBsYXRmb3JtUGNoUG9saWN5LT5BemFsaWFDb25maWctPkF6YWxpYVZlcmJU YWJsZU51bSAgPSBzaXplb2YNCj4gKG1BemFsaWFWZXJiVGFibGUpIC8gc2l6ZW9mIChQQ0hfQVpB TElBX1ZFUkJfVEFCTEUpOw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+QXphbGlhQ29uZmln LT5BemFsaWFWZXJiVGFibGUgICAgID0NCj4gbUF6YWxpYVZlcmJUYWJsZTsNCj4gKyAgRHhlUGxh dGZvcm1QY2hQb2xpY3ktPkF6YWxpYUNvbmZpZy0+UmVzZXRXYWl0VGltZXIgICAgICA9IDMwMDsN Cj4gKw0KPiArICBEeGVQbGF0Zm9ybVBjaFBvbGljeS0+SWRsZVJlc2VydmUgPSBtU3lzdGVtQ29u ZmlndXJhdGlvbi5JZGxlUmVzZXJ2ZTsNCj4gKyAgRHhlUGxhdGZvcm1QY2hQb2xpY3ktPkFjcGlI V1JlZCA9IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbnN0YWxs IER4ZVBjaFBvbGljeVVwZGF0ZVByb3RvY29sDQo+ICsgIC8vDQo+ICsgIEhhbmRsZSAgICAgICAg ICAgICAgICAgICAgICAgID0gTlVMTDsNCj4gKw0KPiArICBtRHhlUGNoUG9saWN5VXBkYXRlLlJl dmlzaW9uICA9DQo+IERYRV9QQ0hfUE9MSUNZX1VQREFURV9QUk9UT0NPTF9SRVZJU0lPTl8xOw0K PiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZhY2Vz ICgNCj4gKyAgICAgICAgICAgICAgICAgICZIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAm Z0R4ZVBjaFBvbGljeVVwZGF0ZVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICZt RHhlUGNoUG9saWN5VXBkYXRlLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTA0KPiArICAgICAg ICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiAr ICBERUJVRyAoKEVGSV9EX0lORk8sICJJbml0UGNoUGxhdGZvcm1Qb2xpY3koKSAtIEVuZFxuIikp Ow0KPiArfQ0KPiArDQo+ICsNCj4gK0RYRV9WTFZfUExBVEZPUk1fUE9MSUNZX1BST1RPQ09MIG1E eGVQbGF0Zm9ybVZsdlBvbGljeTsNCj4gKw0KPiArVk9JRA0KPiArSW5pdFZsdlBsYXRmb3JtUG9s aWN5ICgNCj4gKyAgKQ0KPiArew0KPiArICBEWEVfVkxWX1BMQVRGT1JNX1BPTElDWV9QUk9UT0NP TCAqRHhlUGxhdGZvcm1WbHZQb2xpY3k7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAg ICAgICAgU3RhdHVzOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgIEhhbmRs ZTsNCj4gKw0KPiArICBaZXJvTWVtICgmbUR4ZVBsYXRmb3JtVmx2UG9saWN5LA0KPiBzaXplb2Yo RFhFX1ZMVl9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0wpKTsNCj4gKw0KPiArICBEeGVQbGF0Zm9y bVZsdlBvbGljeSA9ICZtRHhlUGxhdGZvcm1WbHZQb2xpY3k7DQo+ICsNCj4gKw0KPiArICBEeGVQ bGF0Zm9ybVZsdlBvbGljeS0+R3JhcGhpY1Jlc2VydmUwMCA9DQo+IG1TeXN0ZW1Db25maWd1cmF0 aW9uLkdyYXBoaWNSZXNlcnZlMDA7DQo+ICsgIER4ZVBsYXRmb3JtVmx2UG9saWN5LT5QYXZwTW9k ZSA9IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBhdnBNb2RlOw0KPiArICBEeGVQbGF0Zm9ybVZsdlBv bGljeS0+R3JhcGhpY1Jlc2VydmUwMSA9IDE7DQo+ICsgIER4ZVBsYXRmb3JtVmx2UG9saWN5LT5H cmFwaGljUmVzZXJ2ZTAyID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uR3JhcGhpY1Jlc2VydmUw MjsNCj4gKyAgRHhlUGxhdGZvcm1WbHZQb2xpY3ktPkdyYXBoaWNSZXNlcnZlMDMgPSAxOw0KPiAr ICBEeGVQbGF0Zm9ybVZsdlBvbGljeS0+R3JhcGhpY1Jlc2VydmUwNCA9IDA7DQo+ICsgIER4ZVBs YXRmb3JtVmx2UG9saWN5LT5HcmFwaGljUmVzZXJ2ZTA1ID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRp b24uR3JhcGhpY1Jlc2VydmUwNTsNCj4gKyAgRHhlUGxhdGZvcm1WbHZQb2xpY3ktPklnZFBhbmVs RmVhdHVyZXMuUEZJVFN0YXR1cyA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBhbmVsU2NhbGlu ZzsNCj4gKw0KPiArICBEeGVQbGF0Zm9ybVZsdlBvbGljeS0+SWdkUGFuZWxGZWF0dXJlcy5MaWRT dGF0dXMgPSAxOw0KPiArICBEeGVQbGF0Zm9ybVZsdlBvbGljeS0+SWRsZVJlc2VydmUgPSBtU3lz dGVtQ29uZmlndXJhdGlvbi5JZGxlUmVzZXJ2ZTsNCj4gKw0KPiArICBEeGVQbGF0Zm9ybVZsdlBv bGljeS0+R3JhcGhpY1Jlc2VydmUwNiA9IDE7DQo+ICsNCj4gKyAgaWYgKCAobVN5c3RlbUNvbmZp Z3VyYXRpb24uTHBlID09IDEpIHx8IG1TeXN0ZW1Db25maWd1cmF0aW9uLkxwZSA9PSAyKSB7DQo+ ICsgICAgRHhlUGxhdGZvcm1WbHZQb2xpY3kgLT5BdWRpb1R5cGVTdXBwb3J0ID0gTFBFX0FVRElP IDsNCj4gKyAgfSBlbHNlIGlmICggbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoQXphbGlhID09IDEg KSB7DQo+ICsgICAgRHhlUGxhdGZvcm1WbHZQb2xpY3kgLT5BdWRpb1R5cGVTdXBwb3J0ID0gSERf QVVESU87DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgRHhlUGxhdGZvcm1WbHZQb2xpY3kgLT5BdWRp b1R5cGVTdXBwb3J0ID0gTk9fQVVESU87DQo+ICsgIH0NCj4gKw0KPiArICBIYW5kbGUgPSBOVUxM Ow0KPiArICBTdGF0dXMgPSBnQlMtPkluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQo+ICsgICAg ICAgICAgICAgICAgICAmSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdEeGVWbHZQbGF0 Zm9ybVBvbGljeUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBFRklfTkFUSVZFX0lOVEVSRkFD RSwNCj4gKyAgICAgICAgICAgICAgICAgIER4ZVBsYXRmb3JtVmx2UG9saWN5DQo+ICsgICAgICAg ICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4gK30N Cj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt RHhlL0ljaFJlZ1RhYmxlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q bGF0Zm9ybUR4ZS9JY2hSZWdUYWJsZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLmNhYzYxYmZmZDANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9JY2hSZWdUYWJsZS5jDQo+IEBA IC0wLDAgKzEsMTM0IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIw MDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgSWNo UmVnVGFibGUuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBSZWdpc3RlciBpbml0aWFs aXphdGlvbiB0YWJsZSBmb3IgSWNoLg0KPiArDQo+ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsj aW5jbHVkZSA8TGlicmFyeS9FZmlSZWdUYWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgIlBsYXRmb3Jt RHhlLmgiDQo+ICtleHRlcm4gRUZJX1BMQVRGT1JNX0lORk9fSE9CICAgICAgbVBsYXRmb3JtSW5m bzsNCj4gKw0KPiArI2RlZmluZSBSX0VGSV9QQ0lfU1ZJRCAweDJDDQo+ICsNCj4gK0VGSV9SRUdf VEFCTEUgbVN1YnN5c3RlbUlkUmVncyBbXSA9IHsNCj4gKw0KPiArICAvLw0KPiArICAvLyBQcm9n cmFtIFNWSUQgYW5kIFNJRCBmb3IgUENJIGRldmljZXMuDQo+ICsgIC8vIENvbWJpbmUgdHdvIDE2 IGJpdCBQQ0lfV1JJVEUgaW50byBvbmUgMzIgYml0IFBDSV9XUklURSBpbiBvcmRlciB0bw0KPiBi b29zdCBwZXJmb3JtYW5jZQ0KPiArICAvLw0KPiArICBQQ0lfV1JJVEUgKA0KPiArICAgICAgTUNf QlVTLCBNQ19ERVYsIE1DX0ZVTiwgUl9FRklfUENJX1NWSUQsIEVmaVBjaVdpZHRoVWludDMyLA0K PiArICAgICAgVl9QQ0hfREVGQVVMVF9TVklEX1NJRCwgT1BDT0RFX0ZMQUdfUzNTQVZFDQo+ICsg ICAgKSwNCj4gKw0KPiArICBQQ0lfV1JJVEUgKA0KPiArICAgICAgSUdEX0JVUywgSUdEX0RFViwg SUdEX0ZVTl8wLCBSX0VGSV9QQ0lfU1ZJRCwgRWZpUGNpV2lkdGhVaW50MzIsDQo+ICsgICAgICBW X1BDSF9ERUZBVUxUX1NWSURfU0lELCBPUENPREVfRkxBR19TM1NBVkUNCj4gKyAgICApLA0KPiAr DQo+ICsgIFBDSV9XUklURSgNCj4gKyAgICAgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILCAw LCAwLCBSX0VGSV9QQ0lfU1ZJRCwNCj4gRWZpUGNpV2lkdGhVaW50MzIsDQo+ICsgICAgICBWX1BD SF9ERUZBVUxUX1NWSURfU0lELCBPUENPREVfRkxBR19TM1NBVkUNCj4gKyAgICApLA0KPiArICBQ Q0lfV1JJVEUgKA0KPiArICAgICAgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsIFBDSV9ERVZJ Q0VfTlVNQkVSX1BDSF9MUEMsDQo+IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQywgUl9QQ0hf TFBDX1NTLCBFZmlQY2lXaWR0aFVpbnQzMiwNCj4gKyAgICAgIFZfUENIX0RFRkFVTFRfU1ZJRF9T SUQsIE9QQ09ERV9GTEFHX1MzU0FWRQ0KPiArICAgICksDQo+ICsgIFBDSV9XUklURSAoDQo+ICsg ICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwgUENJX0RFVklDRV9OVU1CRVJfUENIX1NB VEEsDQo+IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NBVEEsIFJfUENIX1NBVEFfU1MsIEVmaVBj aVdpZHRoVWludDMyLA0KPiArICAgICAgVl9QQ0hfREVGQVVMVF9TVklEX1NJRCwgT1BDT0RFX0ZM QUdfUzNTQVZFDQo+ICsgICAgKSwNCj4gKyAgUENJX1dSSVRFICgNCj4gKyAgICAgIERFRkFVTFRf UENJX0JVU19OVU1CRVJfUENILCBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU01CVVMsDQo+IFBDSV9G VU5DVElPTl9OVU1CRVJfUENIX1NNQlVTLCBSX1BDSF9TTUJVU19TVklELA0KPiBFZmlQY2lXaWR0 aFVpbnQzMiwNCj4gKyAgICAgIFZfUENIX0RFRkFVTFRfU1ZJRF9TSUQsIE9QQ09ERV9GTEFHX1Mz U0FWRQ0KPiArICAgICksDQo+ICsgIFBDSV9XUklURSAoDQo+ICsgICAgICBERUZBVUxUX1BDSV9C VVNfTlVNQkVSX1BDSCwgUENJX0RFVklDRV9OVU1CRVJfUENIX1VTQiwNCj4gUENJX0ZVTkNUSU9O X05VTUJFUl9QQ0hfRUhDSSwgUl9QQ0hfRUhDSV9TVklELCBFZmlQY2lXaWR0aFVpbnQzMiwNCj4g KyAgICAgIFZfUENIX0RFRkFVTFRfU1ZJRF9TSUQsIE9QQ09ERV9GTEFHX1MzU0FWRQ0KPiArICAg ICksDQo+ICsgIFBDSV9XUklURSAoDQo+ICsgICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BD SCwNCj4gUENJX0RFVklDRV9OVU1CRVJfUENIX1BDSUVfUk9PVF9QT1JUUywNCj4gUENJX0ZVTkNU SU9OX05VTUJFUl9QQ0hfUENJRV9ST09UX1BPUlRfMSwgUl9QQ0hfUENJRV9TVklELA0KPiBFZmlQ Y2lXaWR0aFVpbnQzMiwNCj4gKyAgICAgIFZfUENIX0RFRkFVTFRfU1ZJRF9TSUQsIE9QQ09ERV9G TEFHX1MzU0FWRQ0KPiArICAgICksDQo+ICsgIFBDSV9XUklURSAoDQo+ICsgICAgICBERUZBVUxU X1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4gUENJX0RFVklDRV9OVU1CRVJfUENIX1BDSUVfUk9PVF9Q T1JUUywNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfUENJRV9ST09UX1BPUlRfMiwgUl9QQ0hf UENJRV9TVklELA0KPiBFZmlQY2lXaWR0aFVpbnQzMiwNCj4gKyAgICAgIFZfUENIX0RFRkFVTFRf U1ZJRF9TSUQsIE9QQ09ERV9GTEFHX1MzU0FWRQ0KPiArICAgICksDQo+ICsgIFBDSV9XUklURSAo DQo+ICsgICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4gUENJX0RFVklDRV9OVU1C RVJfUENIX1BDSUVfUk9PVF9QT1JUUywNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfUENJRV9S T09UX1BPUlRfMywgUl9QQ0hfUENJRV9TVklELA0KPiBFZmlQY2lXaWR0aFVpbnQzMiwNCj4gKyAg ICAgIFZfUENIX0RFRkFVTFRfU1ZJRF9TSUQsIE9QQ09ERV9GTEFHX1MzU0FWRQ0KPiArICAgICks DQo+ICsgIFBDSV9XUklURSAoDQo+ICsgICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwN Cj4gUENJX0RFVklDRV9OVU1CRVJfUENIX1BDSUVfUk9PVF9QT1JUUywNCj4gUENJX0ZVTkNUSU9O X05VTUJFUl9QQ0hfUENJRV9ST09UX1BPUlRfNCwgUl9QQ0hfUENJRV9TVklELA0KPiBFZmlQY2lX aWR0aFVpbnQzMiwNCj4gKyAgICAgIFZfUENIX0RFRkFVTFRfU1ZJRF9TSUQsIE9QQ09ERV9GTEFH X1MzU0FWRQ0KPiArICAgICksDQo+ICsgIFRFUk1JTkFURV9UQUJMRQ0KPiArfTsNCj4gKw0KPiAr LyoqDQo+ICsgIFVwZGF0ZXMgdGhlIG1TdWJzeXN0ZW1JZFJlZ3MgdGFibGUsIGFuZCBwcm9jZXNz ZXMgaXQuICBUaGlzIHNob3VsZA0KPiBwcm9ncmFtDQo+ICsgIHRoZSBTdWJzeXN0ZW0gVmVuZG9y IGFuZCBEZXZpY2UgSURzLg0KPiArDQo+ICsgIEByZXR2YWwgUmV0dXJucyAgVk9JRA0KPiArDQo+ ICsqKi8NCj4gK1ZPSUQNCj4gK0luaXRpYWxpemVTdWJzeXN0ZW1JZHMgKA0KPiArICApDQo+ICt7 DQo+ICsNCj4gKyAgRUZJX1JFR19UQUJMRSAqUmVnVGFibGVQdHI7DQo+ICsgIFVJTlQzMiBTdWJz eXN0ZW1WaWREaWQ7DQo+ICsNCj4gKyAgU3Vic3lzdGVtVmlkRGlkID0gbVBsYXRmb3JtSW5mby5T c2lkU3ZpZDsNCj4gKw0KPiArICBSZWdUYWJsZVB0ciA9IG1TdWJzeXN0ZW1JZFJlZ3M7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gV2hpbGUgd2UgYXJlIG5vdCBhdCB0aGUgZW5kIG9mIHRoZSB0YWJs ZQ0KPiArICAvLw0KPiArICB3aGlsZSAoUmVnVGFibGVQdHItPkdlbmVyaWMuT3BDb2RlICE9IE9Q X1RFUk1JTkFURV9UQUJMRSkgew0KPiArICAJLy8NCj4gKyAgICAvLyBJZiB0aGUgZGF0YSB0byB3 cml0ZSBpcyB0aGUgb3JpZ2luYWwgU1NJRA0KPiArICAgIC8vDQo+ICsgICAgaWYgKFJlZ1RhYmxl UHRyLT5QY2lXcml0ZS5EYXRhID09DQo+ICsgICAgICAgICAgKChWX1BDSF9ERUZBVUxUX1NJRCA8 PCAxNikgfA0KPiArICAgICAgICAgICBWX1BDSF9JTlRFTF9WRU5ET1JfSUQpDQo+ICsgICAgICAg KSB7DQo+ICsNCj4gKyAgICAJLy8NCj4gKyAgICAgIC8vIFRoZW4gb3ZlcndyaXRlIGl0IHRvIHVz ZSB0aGUgYWx0ZXJuYXRlIFNTSUQNCj4gKyAgICAgIC8vDQo+ICsgICAgICBSZWdUYWJsZVB0ci0+ UGNpV3JpdGUuRGF0YSA9IFN1YnN5c3RlbVZpZERpZDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAv Lw0KPiArICAgIC8vIEdvIHRvIG5leHQgdGFibGUgZW50cnkNCj4gKyAgICAvLw0KPiArICAgIFJl Z1RhYmxlUHRyKys7DQo+ICsgICAgfQ0KPiArDQo+ICsgIFJlZ1RhYmxlUHRyID0gbVN1YnN5c3Rl bUlkUmVnczsNCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2dyYW0gdGhlIFNTVklEL1NT RElEDQo+ICsgIC8vDQo+ICsgIFByb2Nlc3NSZWdUYWJsZVBjaSAobVN1YnN5c3RlbUlkUmVncywg bVBjaVJvb3RCcmlkZ2VJbywgTlVMTCk7DQo+ICsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0ljaFRjb1Jlc2V0LmMNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9JY2hUY29SZXNl dC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjViNzgyMmRl ZGENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybUR4ZS9JY2hUY29SZXNldC5jDQo+IEBAIC0wLDAgKzEsMjExIEBADQo+ICsv KiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsN Cj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgSWNoVGNvUmVzZXQuYw0KPiArDQo+ICtB YnN0cmFjdDoNCj4gKyAgSW1wbGVtZW50cyB0aGUgcHJvZ3JhbW1pbmcgb2YgZXZlbnRzIGluIFRD TyBSZXNldA0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRHhl LmgiDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvVGNvUmVzZXQuaD4NCj4gKyNpbmNsdWRlIDxQcm90 b2NvbC9Id1dhdGNoZG9nVGltZXIuaD4NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklB UEkNCj4gK0VuYWJsZVRjb1Jlc2V0ICgNCj4gKyAgSU4gICAgICBVSU5UMzIgICAgICAgICAgICAq UmNyYkdjc1NhdmVWYWx1ZQ0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK0Rpc2FibGVUY29SZXNldCAoDQo+ICsgIE9VVCAgICAgVUlOVDMyICAgIFJjcmJHY3NSZXN0 b3JlVmFsdWUNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1RDT19SRVNFVF9QUk9UT0NPTCAgbVRjb1Jl c2V0UHJvdG9jb2wgPSB7DQo+ICsgIEVuYWJsZVRjb1Jlc2V0LA0KPiArICBEaXNhYmxlVGNvUmVz ZXQNCj4gK307DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIEVuYWJsZXMgdGhlIFRDTyB0aW1lciB0 byByZXNldCB0aGUgc3lzdGVtIGluIGNhc2Ugb2YgYSBzeXN0ZW0gaGFuZy4gIFRoaXMgaXMNCj4g KyAgdXNlZCB3aGVuIHdyaXRpbmcgdGhlIGNsb2NrIHJlZ2lzdGVycy4NCj4gKw0KPiArICBAcGFy YW0gUmNyYkdjc1NhdmVWYWx1ZSAgIFRoaXMgaXMgdGhlIHZhbHVlIG9mIHRoZSBSQ1JCIEdDUyBy ZWdpc3Rlcg0KPiBiZWZvcmUgaXQgaXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBj aGFuZ2VkIGJ5IHRoaXMgcHJvY2VkdXJlLiAgVGhpcyB3aWxsIGJlIHVzZWQgdG8gcmVzdG9yZQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZSBzZXR0aW5ncyBvZiB0aGlzIHJlZ2lz dGVyIGluIFBwaURpc2FibGVUY29SZXNldC4NCj4gKw0KPiArICBAcmV0dmFsICBFRklfU1RBVFVT DQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtFbmFibGVUY29SZXNl dCAoDQo+ICsgIElOICAgICAgVUlOVDMyICAgICAgICAgICAgKlJjcmJHY3NTYXZlVmFsdWUNCj4g KyAgKQ0KPiArew0KPiArICBVSU5UMTYgICAgICAgICAgVG1wV29yZDsNCj4gKyAgVUlOVDE2ICAg ICAgICAgIEFjcGlCYXNlOw0KPiArICBFRklfV0FUQ0hET0dfVElNRVJfRFJJVkVSX1BST1RPQ09M ICAqV2F0Y2hkb2dUaW1lclByb3RvY29sOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgIFN0YXR1 czsNCj4gKyAgVUlOVE4gICAgICAgICAgIFBidG5EaXNhYmxlSW50ZXJ2YWwgPSA0OyAgLy9EZWZh dWx0IHZhbHVlDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IFdhdGNoZG9nIFRpbWVyIHByb3Rv Y29sLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAg ICAgICAgICAgICAgICAgICZnRWZpV2F0Y2hkb2dUaW1lckRyaXZlclByb3RvY29sR3VpZCwNCj4g KyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikm V2F0Y2hkb2dUaW1lclByb3RvY29sDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIElmIHRoZSBwcm90b2NvbCBpcyBwcmVzZW50LCBzaHV0IG9mZiB0aGUgVGlt ZXIgYXMgd2UgZW50ZXIgQkRTDQo+ICsgIC8vDQo+ICsgIGlmICghRUZJX0VSUk9SKFN0YXR1cykp IHsNCj4gKyAgICBXYXRjaGRvZ1RpbWVyUHJvdG9jb2wtPlJlc3RhcnRXYXRjaGRvZ1RpbWVyKCk7 DQo+ICsgICAgV2F0Y2hkb2dUaW1lclByb3RvY29sLT5BbGxvd0tub3duUmVzZXQoVFJVRSk7DQo+ ICsgIH0NCj4gKw0KPiArICBpZiAoKlJjcmJHY3NTYXZlVmFsdWUgPT0gMCkgew0KPiArICAgIFBi dG5EaXNhYmxlSW50ZXJ2YWwgPSBQY2RHZXQzMihQY2RQQlRORGlzYWJsZUludGVydmFsKTsNCj4g KyAgfSBlbHNlIHsNCj4gKyAgICBQYnRuRGlzYWJsZUludGVydmFsID0gKlJjcmJHY3NTYXZlVmFs dWUgKiAxMCAvIDY7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWFkIEFDUEkgQmFz ZSBBZGRyZXNzDQo+ICsgIC8vDQo+ICsgIEFjcGlCYXNlID0gUGNoTHBjUGNpQ2ZnMTYoUl9QQ0hf TFBDX0FDUElfQkFTRSkgJg0KPiBCX1BDSF9MUENfQUNQSV9CQVNFX0JBUjsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBTdG9wIFRDTyBpZiBub3QgYWxyZWFkeSBzdG9wcGVkDQo+ICsgIC8vDQo+ICsg IFRtcFdvcmQgPSBJb1JlYWQxNihBY3BpQmFzZSArIFJfUENIX1RDT19DTlQpOw0KPiArICBUbXBX b3JkIHw9IEJfUENIX1RDT19DTlRfVE1SX0hMVDsNCj4gKyAgSW9Xcml0ZTE2KEFjcGlCYXNlICsg Ul9QQ0hfVENPX0NOVCwgVG1wV29yZCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2xlYXIgc2Vj b25kIFRDTyBzdGF0dXMNCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTMyKEFjcGlCYXNlICsgUl9QQ0hf VENPX1NUUywgQl9QQ0hfVENPX1NUU19TRUNPTkRfVE8pOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEVuYWJsZSByZWJvb3Qgb24gVENPIHRpbWVvdXQNCj4gKyAgLy8NCj4gKyAgKlJjcmJHY3NTYXZl VmFsdWUgPSBNbWlvUmVhZDMyIChQTUNfQkFTRV9BRERSRVNTICsNCj4gUl9QQ0hfUE1DX1BNX0NG Ryk7DQo+ICsgIE1taW9BbmQ4IChQTUNfQkFTRV9BRERSRVNTICsgUl9QQ0hfUE1DX1BNX0NGRywg KFVJTlQ4KQ0KPiB+Ql9QQ0hfUE1DX1BNX0NGR19OT19SRUJPT1QpOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIFNldCBUQ08gcmVsb2FkIHZhbHVlIChpbnRlcnZhbCAqLjZzKQ0KPiArICAvLw0KPiAr ICBJb1dyaXRlMzIoQWNwaUJhc2UgKyBSX1BDSF9UQ09fVE1SLA0KPiAoVUlOVDMyKShQYnRuRGlz YWJsZUludGVydmFsPDwxNikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZvcmNlIFRDTyB0byBs b2FkIG5ldyB2YWx1ZQ0KPiArICAvLw0KPiArICBJb1dyaXRlOChBY3BpQmFzZSArIFJfUENIX1RD T19STEQsIDQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENsZWFyIHNlY29uZCBUQ08gc3RhdHVz DQo+ICsgIC8vDQo+ICsgIElvV3JpdGUzMihBY3BpQmFzZSArIFJfUENIX1RDT19TVFMsIEJfUENI X1RDT19TVFNfU0VDT05EX1RPKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTdGFydCBUQ08gdGlt ZXIgcnVubmluZw0KPiArICAvLw0KPiArICBUbXBXb3JkID0gSW9SZWFkMTYoQWNwaUJhc2UgKyBS X1BDSF9UQ09fQ05UKTsNCj4gKyAgVG1wV29yZCAmPSB+KEJfUENIX1RDT19DTlRfVE1SX0hMVCk7 DQo+ICsgIElvV3JpdGUxNihBY3BpQmFzZSArIFJfUENIX1RDT19DTlQsIFRtcFdvcmQpOw0KPiAr DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIERpc2Fi bGVzIHRoZSBUQ08gdGltZXIuICBUaGlzIGlzIHVzZWQgYWZ0ZXIgd3JpdGluZyB0aGUgY2xvY2sg cmVnaXN0ZXJzLg0KPiArDQo+ICsgIEBwYXJhbSBSY3JiR2NzUmVzdG9yZVZhbHVlICAgVmFsdWUg c2F2ZWQgaW4gUHBpRW5hYmxlVGNvUmVzZXQgc28gdGhhdA0KPiBpdCBjYW4NCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICByZXN0b3JlZC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9T VEFUVVMNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0Rpc2FibGVU Y29SZXNldCAoDQo+ICsgIE9VVCAgICAgVUlOVDMyICAgIFJjcmJHY3NSZXN0b3JlVmFsdWUNCj4g KyAgKQ0KPiArew0KPiArICBVSU5UMTYgICAgICAgICAgVG1wV29yZDsNCj4gKyAgVUlOVDE2ICAg ICAgICAgIEFjcGlCYXNlOw0KPiArICBFRklfV0FUQ0hET0dfVElNRVJfRFJJVkVSX1BST1RPQ09M ICAqV2F0Y2hkb2dUaW1lclByb3RvY29sOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgIFN0YXR1 czsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWFkIEFDUEkgQmFzZSBBZGRyZXNzDQo+ICsgIC8v DQo+ICsgIEFjcGlCYXNlID0gUGNoTHBjUGNpQ2ZnMTYoUl9QQ0hfTFBDX0FDUElfQkFTRSkgJg0K PiBCX1BDSF9MUENfQUNQSV9CQVNFX0JBUjsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTdG9wIHRo ZSBUQ08gdGltZXINCj4gKyAgLy8NCj4gKyAgVG1wV29yZCA9IElvUmVhZDE2KEFjcGlCYXNlICsg Ul9QQ0hfVENPX0NOVCk7DQo+ICsgIFRtcFdvcmQgfD0gQl9QQ0hfVENPX0NOVF9UTVJfSExUOw0K PiArICBJb1dyaXRlMTYoQWNwaUJhc2UgKyBSX1BDSF9UQ09fQ05ULCBUbXBXb3JkKTsNCj4gKw0K PiArICAvLw0KPiArICAvLyBHZXQgV2F0Y2hkb2cgVGltZXIgcHJvdG9jb2wuDQo+ICsgIC8vDQo+ ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAg JmdFZmlXYXRjaGRvZ1RpbWVyRHJpdmVyUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAg ICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZXYXRjaGRvZ1RpbWVyUHJv dG9jb2wNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSWYg dGhlIHByb3RvY29sIGlzIHByZXNlbnQsIHNodXQgb2ZmIHRoZSBUaW1lciBhcyB3ZSBlbnRlciBC RFMNCj4gKyAgLy8NCj4gKyAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIFdhdGNo ZG9nVGltZXJQcm90b2NvbC0+QWxsb3dLbm93blJlc2V0KEZBTFNFKTsNCj4gKyAgfQ0KPiArDQo+ ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgVXBk YXRlcyB0aGUgZmVhdHVyZSBwb2xpY2llcyBhY2NvcmRpbmcgdG8gdGhlIHNldHVwIHZhcmlhYmxl Lg0KPiArDQo+ICsgIEByZXR2YWwgUmV0dXJucyAgIFZPSUQNCj4gKw0KPiArKiovDQo+ICtWT0lE DQo+ICtJbml0VGNvUmVzZXQgKA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAg ICAgICAgICAgICAgICAgICBIYW5kbGU7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAg ICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgSGFuZGxlID0gTlVMTDsNCj4gKyAgU3RhdHVzID0g Z0JTLT5JbnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KPiArICAgICAgICAgICAgICAgICAgJkhh bmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpVGNvUmVzZXRQcm90b2NvbEd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgICBFRklfTkFUSVZFX0lOVEVSRkFDRSwNCj4gKyAgICAgICAgICAg ICAgICAgICZtVGNvUmVzZXRQcm90b2NvbA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg QVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0KPiArDQo+ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9JZGNjSW5mby5jDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvSWRjY0luZm8uYw0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zYjNlNGI0YzgyDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1EeGUvSWRjY0luZm8uYw0KPiBAQCAtMCwwICsxLDcyIEBADQo+ICsvKiogQGZpbGUN Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgSWRjY0luZm8uYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4g Kw0KPiArICBQbGF0Zm9ybSBpbmZvcm1hdGlvbiB1c2VkIGJ5IElEQ0MuDQo+ICsNCj4gK1Jldmlz aW9uIEhpc3RvcnkNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1EeGUu aCINCj4gKw0KPiArI2luY2x1ZGUgPEd1aWQvSWRjY0RhdGEuaD4NCj4gKw0KPiArZXh0ZXJuIEVG SV9HVUlEIG1QbGF0Zm9ybURyaXZlckd1aWQ7DQo+ICsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiAr V3JpdGVJZGNjSW5mbyAoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAg ICAgICBTdGF0dXM7DQo+ICsgIEVGSV9EQVRBX0hVQl9QUk9UT0NPTCAgICAgKkRhdGFIdWI7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgUmF0aW87DQo+ICsgIEVGSV9JRENDX1BST0NF U1NPUl9SQVRJTyAgUHJvY1JhdGlvOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIExvY2F0ZSB0aGUg ZGF0YSBodWIgcHJvdG9jb2wNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90 b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURhdGFIdWJQcm90b2NvbEd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQgKiop ICZEYXRhSHViDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEZpbmQgcHJvY2Vzc29yIGFjdHVhbCByYXRpbw0KPiArICAvLw0KPiArICBSYXRpbyA9IDE1OyAv L1RlbXBvcmFyeSAtIHNvbWUgZHVtbXkgdmFsdWUuDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmls bCBpbiBJRENDIFR5cGUgNSBzdHJ1Y3R1cmUNCj4gKyAgLy8NCj4gKyAgUHJvY1JhdGlvLklkY2NI ZWFkZXIuVHlwZSA9IEVGSV9JRENDX1BST0NfUkFUSU9fVFlQRTsNCj4gKyAgUHJvY1JhdGlvLklk Y2NIZWFkZXIuUmVjb3JkTGVuZ3RoID0NCj4gc2l6ZW9mKEVGSV9JRENDX1BST0NFU1NPUl9SQVRJ Tyk7DQo+ICsgIFByb2NSYXRpby5Qcm9jZXNzb3JSYXRpbyA9IFJhdGlvOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFdyaXRlIGRhdGEgdG8gdGhlIGRhdGEgaHViDQo+ICsgIC8vDQo+ICsgIFN0YXR1 cyA9IERhdGFIdWItPkxvZ0RhdGEgKA0KPiArICAgICAgICAgICAgICAgICAgICAgIERhdGFIdWIs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgJmdJZGNjRGF0YUh1Ykd1aWQsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgJm1QbGF0Zm9ybURyaXZlckd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgRUZJX0RBVEFfUkVDT1JEX0NMQVNTX0RBVEEsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgJlByb2NSYXRpbywNCj4gKyAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoRUZJX0lEQ0Nf UFJPQ0VTU09SX1JBVElPKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAg cmV0dXJuIFN0YXR1czsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0xlZ2FjeVNwZWFrZXIuYw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL0xlZ2FjeVNwZWFrZXIuYw0KPiBuZXcg ZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wOWU3ZmUzMTEzDQo+IC0tLSAv ZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1EeGUvTGVnYWN5U3BlYWtlci5jDQo+IEBAIC0wLDAgKzEsMTYxIEBADQo+ICsvKiogQGZpbGUN Cj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVs ZSBOYW1lOg0KPiArDQo+ICsgTGVnYWN5U3BlYWtlci5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiAr DQo+ICsgIFRoaXMgZmlsZSBpbXBsZW1lbnRzIERYRSBmb3IgTGVnYWN5IFNwZWFrZXIuDQo+ICsN Cj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIkxlZ2FjeVNwZWFrZXIuaCINCj4gKw0KPiArLyoq DQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiB3aWxsIGVuYWJsZSB0aGUgc3BlYWtlciB0byBnZW5l cmF0ZSBiZWVwDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1RBVFVTDQo+ICsNCj4gKyoqLw0KPiAr RUZJX1NUQVRVUw0KPiArVHVybk9uU3BlYWtlciAoDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgRGF0YTsNCj4gKyAgRGF0YSA9IElvUmVhZDggKEVGSV9TUEVBS0VS X0NPTlRST0xfUE9SVCk7DQo+ICsgIERhdGEgfD0gMHgwMzsNCj4gKyAgSW9Xcml0ZTgoRUZJX1NQ RUFLRVJfQ09OVFJPTF9QT1JULCBEYXRhKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiAr fQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBUaGlzIGZ1bmN0aW9uIHdpbGwgc3RvcCBiZWVwIGZy b20gc3BlYWtlci4NCj4gKw0KPiArICBAcmV0dmFsIFN0YXR1cw0KPiArDQo+ICsqKi8NCj4gK0VG SV9TVEFUVVMNCj4gK1R1cm5PZmZTcGVha2VyICgNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICBEYXRhOw0KPiArDQo+ICsgIERhdGEgPSBJb1JlYWQ4IChFRklfU1BF QUtFUl9DT05UUk9MX1BPUlQpOw0KPiArICBEYXRhICY9IDB4RkM7DQo+ICsgIElvV3JpdGU4KEVG SV9TUEVBS0VSX0NPTlRST0xfUE9SVCwgRGF0YSk7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsN Cj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEdlbmVyYXRlIGJlZXAgc291bmQgYmFzZWQgdXBvbiBu dW1iZXIgb2YgYmVlcHMgYW5kIGR1cmF0aW9uIG9mIHRoZQ0KPiBiZWVwDQo+ICsNCj4gKyAgQHBh cmFtIE51bWJlck9mQmVlcHMgICAgIE51bWJlciBvZiBiZWVwcyB3aGljaCB1c2VyIHdhbnQgdG8g cHJvZHVjZQ0KPiArICBAcGFyYW0gQmVlcER1cmF0aW9uICAgICAgRHVyYXRpb24gZm9yIHNwZWFr ZXIgZ2F0ZSBuZWVkIHRvIGJlIGVuYWJsZWQNCj4gKyAgQHBhcmFtIFRpbWVJbnRlcnZhbCAgICAg IEludGVydmFsIGJldHdlZW4gZWFjaCBiZWVwDQo+ICsNCj4gKyAgQHJldHZhbCAgICAgIERvZXMg bm90IHJldHVybiBpZiB0aGUgcmVzZXQgdGFrZXMgcGxhY2UuDQo+ICsgICAgICAgICAgICAgICBF RklfSU5WQUxJRF9QQVJBTUVURVIgICBJZiBSZXNldFR5cGUgaXMgaW52YWxpZC4NCj4gKw0KPiAr KiovDQo+ICtFRklfU1RBVFVTDQo+ICtPdXRwdXRCZWVwICgNCj4gKyAgSU4gICAgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZCZWVwLA0KPiArICBJTiAgICAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCZWVwRHVyYXRpb24sDQo+ICsgIElOICAg ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpbWVJbnRlcnZhbA0KPiArICAp DQo+ICt7DQo+ICsgIFVJTlROICAgICAgICAgICBOdW07DQo+ICsNCj4gKyAgZm9yIChOdW09MDsg TnVtIDwgTnVtYmVyT2ZCZWVwOyBOdW0rKykgew0KPiArICAgIFR1cm5PblNwZWFrZXIgKCk7DQo+ ICsgICAgLy8NCj4gKyAgICAvLyB3YWl0IHNvbWUgdGltZSxhdCBsZWFzdCAxMjB1cw0KPiArICAg IC8vDQo+ICsgICAgZ0JTLT5TdGFsbCAoQmVlcER1cmF0aW9uKTsNCj4gKyAgICBUdXJuT2ZmU3Bl YWtlcigpOw0KPiArICAgIGdCUy0+U3RhbGwgKFRpbWVJbnRlcnZhbCk7DQo+ICsgIH0NCj4gKw0K PiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1 bmN0aW9uIHdpbGwgcHJvZ3JhbSB0aGUgc3BlYWtlciB0b25lIGZyZXF1ZW5jeS4gVGhlIHZhbHVl IHNob3VsZA0KPiBiZSB3aXRoIDY0aw0KPiArICBib3VuZGFyeSBzaW5jZSBpdCB0YWtlcyBvbmx5 IDE2IGJpdCB2YWx1ZSB3aGljaCBnZXRzIHByb2dyYW1tZWQgaW4gdHdvDQo+IHN0ZXAgSU8gb3Bl YXJhdHRpb24NCj4gKw0KPiArICBAcGFyYW0gIEZyZXF1ZW5jeSAgICAgQSB2YWx1ZSB3aGljaCBz aG91bGQgYmUgMTYgYml0IG9ubHkuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDRVNTDQo+ICsN Cj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtQcm9ncmFtVG9uZUZyZXF1ZW5j eSAoDQo+ICsgIElOIEVGSV9TUEVBS0VSX0lGX1BST1RPQ09MICAgICAgICAgICAgKiBUaGlzLA0K PiArICBJTiAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZyZXF1ZW5jeQ0KPiAr ICApDQo+ICt7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIERhdGE7DQo+ICsNCj4gKyAg RGF0YSA9IDB4QjY7DQo+ICsgIElvV3JpdGU4KEVGSV9USU1FUl9DT05UUk9MX1BPUlQsIERhdGEp Ow0KPiArDQo+ICsgIERhdGEgPSAoVUlOVDgpKEZyZXF1ZW5jeSAmIDB4MDBGRik7DQo+ICsgIElv V3JpdGU4KEVGSV9USU1FUl8yX1BPUlQsIERhdGEpOw0KPiArICBEYXRhID0gKFVJTlQ4KSgoRnJl cXVlbmN5ICYgMHhGRjAwKSA+PiA4KTsNCj4gKyAgSW9Xcml0ZTgoRUZJX1RJTUVSXzJfUE9SVCwg RGF0YSk7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsg IFRoaXMgZnVuY3Rpb24gd2lsbCBnZW5lcmF0ZSB0aGUgYmVlcCBmb3Igc3BlY2lmaWVkIGR1cmF0 aW9uLg0KPiArDQo+ICsgIEBwYXJhbSBOdW1iZXJPZkJlZXBzICAgICBOdW1iZXIgb2YgYmVlcHMg d2hpY2ggdXNlciB3YW50IHRvIHByb2R1Y2UNCj4gKyAgQHBhcmFtIEJlZXBEdXJhdGlvbiAgICAg IER1cmF0aW9uIGZvciBzcGVha2VyIGdhdGUgbmVlZCB0byBiZSBlbmFibGVkDQo+ICsgIEBwYXJh bSBUaW1lSW50ZXJ2YWwgICAgICBJbnRlcnZhbCBiZXR3ZWVuIGVhY2ggYmVlcA0KPiArDQo+ICsg IEByZXR2YWwgRUZJX1NUQVRVUw0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArR2VuZXJhdGVCZWVwVG9uZSAoDQo+ICsgIElOIEVGSV9TUEVBS0VSX0lGX1BST1RPQ09M ICAgICAgICAgICAgKiBUaGlzLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIE51bWJlck9mQmVlcHMsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmVlcER1cmF0aW9uLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRpbWVJbnRlcnZhbA0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgaWYgKChOdW1i ZXJPZkJlZXBzID09IDEpICYmIChCZWVwRHVyYXRpb24gPT0gMCkgJiYgKFRpbWVJbnRlcnZhbCA9 PSAwKSkNCj4gew0KPiArICAgIFR1cm5PblNwZWFrZXIgKCk7DQo+ICsgICAgcmV0dXJuIEVGSV9T VUNDRVNTOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKChOdW1iZXJPZkJlZXBzID09IDApICYmIChC ZWVwRHVyYXRpb24gPT0gMCkgJiYgKFRpbWVJbnRlcnZhbCA9PSAwKSkNCj4gew0KPiArICAgIFR1 cm5PZmZTcGVha2VyICgpOw0KPiArICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgfQ0KPiAr DQo+ICsgIGlmIChCZWVwRHVyYXRpb24gPT0gMCkgew0KPiArICAgIEJlZXBEdXJhdGlvbiA9IEVG SV9ERUZBVUxUX1NIT1JUX0JFRVBfRFVSQVRJT047DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoVGlt ZUludGVydmFsID09IDApIHsNCj4gKyAgICBUaW1lSW50ZXJ2YWwgPSBFRklfREVGQVVMVF9CRUVQ X1RJTUVfSU5URVJWQUw7DQo+ICsgIH0NCj4gKw0KPiArICBPdXRwdXRCZWVwIChOdW1iZXJPZkJl ZXBzLCBCZWVwRHVyYXRpb24sIFRpbWVJbnRlcnZhbCk7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VT UzsNCj4gKw0KPiArDQo+ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9QbGF0Zm9ybUR4ZS9MZWdhY3lTcGVha2VyLmgNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9MZWdhY3lTcGVha2VyLmgNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMGFiMzliNzhmYQ0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt RHhlL0xlZ2FjeVNwZWFrZXIuaA0KPiBAQCAtMCwwICsxLDY5IEBADQo+ICsvKisrDQo+ICsNCj4g KyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArIExlZ2FjeVNwZWFrZXIuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBT cGVha2VyIGVuYWJsaW5nIHJlbGF0ZWQgZGF0YQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5k ZWYgX0RYRV9MRUdBQ1lfU1BFQUtFUl9IDQo+ICsjZGVmaW5lIF9EWEVfTEVHQUNZX1NQRUFLRVJf SA0KPiArDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1EeGUuaCINCj4gKw0KPiArLy8NCj4gKy8vIFNw ZWFrZXIgUmVsYXRlZCBQb3J0IEluZm9ybWF0aW9uDQo+ICsvLw0KPiArI2RlZmluZSBFRklfVElN RVJfQ09VTlRFUl9QT1JUICAgICAgICAgICAgMHg0MA0KPiArI2RlZmluZSBFRklfVElNRVJfQ09O VFJPTF9QT1JUICAgICAgICAgICAgMHg0Mw0KPiArI2RlZmluZSBFRklfVElNRVJfMl9QT1JUICAg ICAgICAgICAgICAgICAgMHg0Mg0KPiArI2RlZmluZSBFRklfU1BFQUtFUl9DT05UUk9MX1BPUlQg ICAgICAgICAgMHg2MQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9TUEVBS0VSX09GRl9NQVNLICAgICAg ICAgICAgICAweEZDDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0RFRkFVTFRfQkVFUF9GUkVRVUVOQ1kg ICAgICAgIDB4NTAwDQo+ICsNCj4gKy8vDQo+ICsvLyBEZWZhdWx0IEludGVydmFscy9CZWVwIER1 cmF0aW9uDQo+ICsvLw0KPiArI2RlZmluZSBFRklfREVGQVVMVF9MT05HX0JFRVBfRFVSQVRJT04g ICAgMHg3MDAwMA0KPiArI2RlZmluZSBFRklfREVGQVVMVF9TSE9SVF9CRUVQX0RVUkFUSU9OICAg MHg1MDAwMA0KPiArI2RlZmluZSBFRklfREVGQVVMVF9CRUVQX1RJTUVfSU5URVJWQUwgICAgMHgy MDAwMA0KPiArDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUHJvZ3JhbVRvbmVG cmVxdWVuY3kgKA0KPiArICBJTiAgRUZJX1NQRUFLRVJfSUZfUFJPVE9DT0wgICAgICAgICAgICog VGhpcywNCj4gKyAgSU4gIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmVxdWVu Y3kNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0dlbmVy YXRlQmVlcFRvbmUgKA0KPiArICBJTiAgRUZJX1NQRUFLRVJfSUZfUFJPVE9DT0wgICAgICAgICAg ICogVGhpcywNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1i ZXJPZkJlZXBzLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJl ZXBEdXJhdGlvbiwNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU aW1lSW50ZXJ2YWwNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArVHVybk9uU3BlYWtl ciAoDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1R1cm5PZmZTcGVha2VyICgNCj4g KyAgKTsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9PYnNlcnZhYmxlL09ic2VydmFibGUuYw0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL09ic2VydmFibGUv T2JzZXJ2YWJsZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LmFmNDY2Y2U5NmQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9PYnNlcnZhYmxlL09ic2VydmFibGUuYw0KPiBA QCAtMCwwICsxLDU4MiBAQA0KPiArLyorKw0KPiArICBUaGlzIGZpbGUgY29udGFpbnMgJ0ZyYW1l d29yayBDb2RlJyBhbmQgaXMgbGljZW5zZWQgYXMgc3VjaA0KPiArICB1bmRlciB0aGUgdGVybXMg b2YgeW91ciBsaWNlbnNlIGFncmVlbWVudCB3aXRoIEludGVsIG9yIHlvdXINCj4gKyAgdmVuZG9y LiAgVGhpcyBmaWxlIG1heSBub3QgYmUgbW9kaWZpZWQsIGV4Y2VwdCBhcyBhbGxvd2VkIGJ5DQo+ ICsgIGFkZGl0aW9uYWwgdGVybXMgb2YgeW91ciBsaWNlbnNlIGFncmVlbWVudC4NCj4gKy0tKi8N Cj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMjAxMCAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0K PiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgT2JzZXJ2YWJsZS5jDQo+ICsNCj4gK0Fic3RyYWN0 Og0KPiArDQo+ICsgIFRoZSBmb2xsb3dpbmcgY29udGFpbnMgYWxsIG9mIHRoZSBpbXBsZW1lbnRh dGlvbiBmb3IgdGhlIE9ic2VydmFibGUNCj4gcHJvdG9jb2wuIFRoZQ0KPiArICBwcm90b2NvbCB1 c2VzIHRoZSBvYnNlcnZlciBkZXNpZ24gcGF0dGVybiB0byBwcm92aWRlIGEgd2F5IHRvIHB1Ymxp c2gNCj4gZXZlbnRzIGFuZA0KPiArICB0byBzdWJzY3JpYmUgdG8gdGhvc2UgZXZlbnRzIHNvIHRo YXQgYSBjYWxsYmFjayB3aWxsIGJlIHBlcmZvcm1lZCBhdCB0aGUNCj4gdGltZSBvZg0KPiArICB0 aGUgZXZlbnQuIFRoZSBvYnNlcnZhYmxlcyBhbmQgc3Vic2NyaWJlcnMgYXJlIG1haW50YWluZWQg YnkgdGhlIHN0YXRpYw0KPiB0cmVlLA0KPiArICBtT2JzZXJ2YWJsZURiLiBUaGUgZGlmZmVyZW5j ZSBiZXR3ZWVuIHRoaXMgcHJvdG9jb2wgYW5kIHRoZSBleGlzdGluZw0KPiBldmVudCBwcm90b2Nv bA0KPiArICB0aGF0IGV4aXN0cyB3aXRoaW4gdGhlIEVGSSBmcmFtZXdvcmsgaXMgdGhhdCB0aGlz IHByb3RvY29sIGFsbG93cyBmb3INCj4gcGFyYW1ldGVycw0KPiArICB0byBiZSBwYXNzZWQgdG8g dGhlIHN1YnNjcmliZWQgY2FsbGJhY2tzIHRoYXQgY2FuIGNvbnRhaW4gdXAgdG8gZGF0ZQ0KPiBj b250ZXh0Lg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJPYnNlcnZhYmxlLmgiDQo+ ICsNCj4gK3N0YXRpYyBPQlNfVFJFRSogICAgICAgICAgICAgICAgbU9ic2VydmFibGVEYiA9IE5V TEw7DQo+ICtzdGF0aWMgRUZJX0hBTkRMRSAgICAgICAgICAgICAgIG1PYnNlcnZhYmxlSGFuZGxl ID0gTlVMTDsNCj4gK3N0YXRpYyBPQlNfT0JTRVJWQUJMRV9QUk9UT0NPTCAgbU9ic2VydmFibGUg PSB7DQo+ICsgIEFkZE9ic2VydmFibGUsDQo+ICsgIFJlbW92ZU9ic2VydmFibGUsDQo+ICsgIFN1 YnNjcmliZSwNCj4gKyAgVW5zdWJzY3JpYmUsDQo+ICsgIFB1Ymxpc2gsDQo+ICsgIFJlbW92ZUFs bE9ic2VydmFibGVzDQo+ICt9Ow0KPiArDQo+ICsvKiogSW5zdGFsbCBvYnNlcnZhYmxlIHByb3Rv Y29sLg0KPiArICoNCj4gKyAqIEluc3RhbGwgaW50ZXJmYWNlIGFuZCBpbml0aWFsaXplIHRoZSBv YnNlcnZhYmxlIHByb3RvY29sLg0KPiArICoNCj4gKyAqIEBwYXJhbSAgIFZPSUQgICAgICAgICAg Tm8gcGFyYW1ldGVycy4NCj4gKyAqDQo+ICsgKiBAcmV0dXJuICBFRklfU1VDQ0VTUyAgIFN1Y2Nl c3NmdWxseSBpbnN0YWxsZWQgYW5kIGluaXRpYWxpemVkIHRoZSBwcm90b2NvbC4NCj4gKyAqKi8N Cj4gK0VGSV9TVEFUVVMNCj4gK0luaXRpYWxpemVPYnNlcnZhYmxlUHJvdG9jb2woDQo+ICsgIFZP SUQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICBTdGF0dXM7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gSW5zdGFsbCBwcm90b2NvbC4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5J bnN0YWxsUHJvdG9jb2xJbnRlcmZhY2UgKA0KPiArICAgICAgICAgICAgICAgICAgJm1PYnNlcnZh YmxlSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdPYnNlcnZhYmxlUHJvdG9jb2xHdWlk LA0KPiArICAgICAgICAgICAgICAgICAgRUZJX05BVElWRV9JTlRFUkZBQ0UsDQo+ICsgICAgICAg ICAgICAgICAgICAmbU9ic2VydmFibGUNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4g KyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArLyoqIERlbGV0ZXMgYSBzdWJzY3JpYmVy DQo+ICsgKg0KPiArICogVGhpcyBmdW5jdGlvbiByZW1vdmVzIHRoZSBzdWJzY3JpYmVyIHBvaW50 ZWQgdG8gYnkgSGVhZC4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gICBPQlNfVFJFRSogICAgIEhlYWQg ICAgUG9pbnRzIHRvIHRoZSBjdXJyZW50IHN1YnNjcmliZXIuDQo+ICsgKg0KPiArICogQHJldHVy biAgT0JTX1RSRUUqICAgICBSZXR1cm5zIHRoZSB0cmVlIGFmdGVyIHN1Y2Nlc3NmdWxseSByZW1v dmluZyB0aGUNCj4gc3Vic2NyaWJlci4NCj4gKyAqKi8NCj4gK09CU19MRUFGKg0KPiArRGVsZXRl U3Vic2NyaWJlcigNCj4gKyAgT0JTX0xFQUYqIEhlYWQNCj4gKyAgKQ0KPiArew0KPiArICBPQlNf TEVBRiogVGVtcDsNCj4gKw0KPiArICBpZiAoSGVhZCkgew0KPiArICAgIFRlbXAgPSBIZWFkOw0K PiArICAgIEhlYWQgPSBIZWFkLT5OZXh0Ow0KPiArICAgIGdCUy0+RnJlZVBvb2woVGVtcCk7DQo+ ICsgIH0NCj4gKw0KPiArICByZXR1cm4gSGVhZDsNCj4gK30NCj4gKw0KPiArLyoqIEZpbmRzIGFu ZCBkZWxldGVzIGFsbCBzdWJzY3JpYmVycw0KPiArICoNCj4gKyAqIFRoaXMgZnVuY3Rpb24gaXRl cmF0ZXMgcmVjdXJzaXZlbHkgdGhyb3VnaCB0aGUgZXhpc3Rpbmcgc3Vic2NyaWJlcnMgYW5kDQo+ IGRlbGV0cyB0aGVtIGFsbC4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gICBPQlNfVFJFRSogICAgIEhl YWQgICAgUG9pbnRzIHRvIHRoZSBjdXJyZW50IHN1YnNjcmliZXIuDQo+ICsgKg0KPiArICogQHJl dHVybiAgT0JTX1RSRUUqICAgICBSZXR1cm5zIHRoZSB0cmVlIGFmdGVyIHN1Y2Nlc3NmdWxseSBy ZW1vdmluZyB0aGUNCj4gc3Vic2NyaWJlcnMuDQo+ICsgKiovDQo+ICtPQlNfTEVBRioNCj4gK0Rl bGV0ZUFsbFN1YnNjcmliZXJzKA0KPiArICBPQlNfTEVBRiogSGVhZA0KPiArICApDQo+ICt7DQo+ ICsgIGlmIChIZWFkKSB7DQo+ICsgICAgaWYgKEhlYWQtPk5leHQpIHsNCj4gKyAgICAgIC8vDQo+ ICsgICAgICAvLyBXZSBhcmVuJ3QgYXQgdGhlIGVuZCBvZiB0aGUgbGlzdCB5ZXQuDQo+ICsgICAg ICAvLw0KPiArICAgICAgSGVhZC0+TmV4dCA9IERlbGV0ZUFsbFN1YnNjcmliZXJzKEhlYWQtPk5l eHQpOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gQXQgdGhlIGVuZCwgc28g ZGVsZXRlIHRoZSBzdWJzY3JpYmVyLg0KPiArICAgIC8vDQo+ICsgICAgSGVhZCA9IERlbGV0ZVN1 YnNjcmliZXIoSGVhZCk7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gSGVhZDsNCj4gK30NCj4g Kw0KPiArLyoqIERlbGV0ZXMgYW4gb2JzZXJ2YWJsZQ0KPiArICoNCj4gKyAqIFRoaXMgZnVuY3Rp b24gcmVtb3ZlcyB0aGUgb2JzZXJ2YWJsZSBwb2ludGVkIHRvIGJ5IEhlYWQuDQo+ICsgKg0KPiAr ICogQHBhcmFtICAgT0JTX1RSRUUqICAgICBIZWFkICAgIFBvaW50cyB0byB0aGUgY3VycmVudCBv YnNlcnZhYmxlLg0KPiArICoNCj4gKyAqIEByZXR1cm4gIE9CU19UUkVFKiAgICAgUmV0dXJucyB0 aGUgdHJlZSBhZnRlciBzdWNjZXNzZnVsbHkgcmVtb3ZpbmcgdGhlDQo+IG9ic2VydmFibGUuDQo+ ICsgKiovDQo+ICtPQlNfVFJFRSoNCj4gK0RlbGV0ZU9ic2VydmFibGUoDQo+ICsgIE9CU19UUkVF KiBIZWFkDQo+ICsgICkNCj4gK3sNCj4gKyAgT0JTX1RSRUUqIFRlbXA7DQo+ICsNCj4gKyAgaWYg KEhlYWQpIHsNCj4gKyAgICBUZW1wID0gSGVhZDsNCj4gKyAgICBIZWFkID0gSGVhZC0+TmV4dDsN Cj4gKyAgICBnQlMtPkZyZWVQb29sKFRlbXApOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEhl YWQ7DQo+ICt9DQo+ICsNCj4gKy8qKiBGaW5kcyBhbmQgZGVsZXRlcyBhbGwgb2JzZXJ2YWJsZXMN Cj4gKyAqDQo+ICsgKiBUaGlzIGZ1bmN0aW9uIGl0ZXJhdGVzIHJlY3Vyc2l2ZWx5IHRocm91Z2gg dGhlIGV4aXN0aW5nIG9ic2VydmFibGVzDQo+IGRhdGFiYXNlIGFuZCwgc3RhcnRpbmcgd2l0aA0K PiArICogdGhlIGxhc3QgbW9zdCBvYnNlcnZhYmxlLCBkZWxldGVzIGFsbCBvZiBpdHMgc3Vic2Ny aWJlcnMsIHRoZW4gZGVsZXRlcyB0aGUNCj4gb2JzZXJ2YWJsZSBpdHNlbGYuDQo+ICsgKg0KPiAr ICogQHBhcmFtICAgT0JTX1RSRUUqICAgICBIZWFkICAgIFBvaW50cyB0byB0aGUgY3VycmVudCBv YnNlcnZhYmxlLg0KPiArICoNCj4gKyAqIEByZXR1cm4gIE9CU19UUkVFKiAgICAgUmV0dXJucyB0 aGUgdHJlZSBhZnRlciBzdWNjZXNzZnVsbHkgcmVtb3ZpbmcgdGhlDQo+IG9ic2VydmFibGVzLg0K PiArICoqLw0KPiArT0JTX1RSRUUqDQo+ICtEZWxldGVBbGxPYnNlcnZhYmxlcygNCj4gKyAgT0JT X1RSRUUqIEhlYWQNCj4gKyAgKQ0KPiArew0KPiArICBpZiAoSGVhZCkgew0KPiArICAgIGlmIChI ZWFkLT5OZXh0KSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gV2UgYXJlbid0IGF0IHRoZSBl bmQgb2YgdGhlIGxpc3QgeWV0Lg0KPiArICAgICAgLy8NCj4gKyAgICAgIEhlYWQtPk5leHQgPSBE ZWxldGVBbGxPYnNlcnZhYmxlcyhIZWFkLT5OZXh0KTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAv Lw0KPiArICAgIC8vIFRoaXMgaXMgdGhlIGVuZCBvZiB0aGUgbGlzdCBvZiBvYnNlcnZhYmxlcy4N Cj4gKyAgICAvLw0KPiArICAgIEhlYWQtPkxlYWYgPSBEZWxldGVBbGxTdWJzY3JpYmVycyhIZWFk LT5MZWFmKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gU3Vic2NyaWJlcnMgYXJlIGRlbGV0 ZWQsIHNvIG5vdyBkZWxldGUgdGhlIG9ic2VydmFibGUuDQo+ICsgICAgLy8NCj4gKyAgICBIZWFk ID0gRGVsZXRlT2JzZXJ2YWJsZShIZWFkKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBIZWFk Ow0KPiArfQ0KPiArDQo+ICsvKiogRmluZHMgYW5kIGRlbGV0ZXMgb2JzZXJ2YWJsZQ0KPiArICoN Cj4gKyAqIFRoaXMgZnVuY3Rpb24gaXRlcmF0ZXMgcmVjdXJzaXZlbHkgdGhyb3VnaCB0aGUgZXhp c3Rpbmcgb2JzZXJ2YWJsZQ0KPiBkYXRhYmFzZSBpbiBvcmRlciB0byBmaW5kIHRoZSBvbmUNCj4g KyAqIHNwZWNpZmllZCBieSBSZWZlcmVuY2VHdWlkIHNvIHRoYXQgaXQgY2FuIGJlIGRlbGV0ZWQu IElmIHRoZSByZXF1ZXN0ZWQNCj4gb2JzZXJ2YWJsZSBpcyBmb3VuZCwgYmVmb3JlIGl0DQo+ICsg KiBpcyBkZWxldGVkLCBhbGwgb2YgdGhlIHN1YnNjcmliZXJzIHRoYXQgYXJlIGxpc3RlbmluZyB0 byB0aGlzIG9ic2VydmFibGUgYXJlDQo+IGRlbGV0ZWQuDQo+ICsgKg0KPiArICogQHBhcmFtICAg T0JTX1RSRUUqICAgICBIZWFkICAgICAgICAgICAgICBQb2ludHMgdG8gdGhlIGN1cnJlbnQgb2Jz ZXJ2YWJsZS4NCj4gKyAqICAgICAgICAgIEVGSV9HVUlEICAgICAgUmVmZXJlbmNlR3VpZCAgICAg Q29ycmVzcG9uZHMgdG8gdGhlIG9ic2VydmFibGUgdGhhdA0KPiB3ZSdyZSBsb29raW5nIGZvci4N Cj4gKyAqDQo+ICsgKiBAcmV0dXJuICBPQlNfVFJFRSogICAgIFJldHVybnMgdGhlIHRyZWUgYWZ0 ZXIgc3VjY2Vzc2Z1bGx5IHJlbW92aW5nIChvcg0KPiBub3QgZmluZGluZykgdGhlIG9ic2VydmFi bGUuDQo+ICsgKiovDQo+ICtPQlNfVFJFRSoNCj4gK0ZpbmRBbmREZWxldGVPYnNlcnZhYmxlKA0K PiArICBPQlNfVFJFRSogSGVhZCwNCj4gKyAgRUZJX0dVSUQgIFJlZmVyZW5jZUd1aWQNCj4gKyAg KQ0KPiArew0KPiArICBpZiAoSGVhZCkgew0KPiArICAgIGlmIChDb21wYXJlTWVtKCYoSGVhZC0+ T2JzZXJ2YWJsZUd1aWQpLCAmUmVmZXJlbmNlR3VpZCwNCj4gc2l6ZW9mKFJlZmVyZW5jZUd1aWQp KSA9PSAwKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gV2UgZm91bmQgdGhlIG9ic2VydmFi bGUuIERlbGV0ZSBhbGwgb2YgaXQncyBzdWJzY3JpYmVycywgZmlyc3QuDQo+ICsgICAgICAvLw0K PiArICAgICAgSGVhZC0+TGVhZiA9IERlbGV0ZUFsbFN1YnNjcmliZXJzKEhlYWQtPkxlYWYpOw0K PiArICAgICAgLy8NCj4gKyAgICAgIC8vIE5vdyB3ZSBjYW4gc2FmZWx5IHJlbW92ZSB0aGUgb2Jz ZXJ2YWJsZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBIZWFkID0gRGVsZXRlT2JzZXJ2YWJsZShI ZWFkKTsNCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIE5vdCBmb3Vu ZC4gS2VlcCBzZWFyY2hpbmcuDQo+ICsgICAgICAvLw0KPiArICAgICAgSGVhZC0+TmV4dCA9IEZp bmRBbmREZWxldGVPYnNlcnZhYmxlKEhlYWQtPk5leHQsIFJlZmVyZW5jZUd1aWQpOw0KPiArICAg IH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBIZWFkOw0KPiArfQ0KPiArDQo+ICsvKiogRmlu ZHMgYW5kIGRlbGV0ZXMgc3Vic2NyaWJlcg0KPiArICoNCj4gKyAqIFRoaXMgZnVuY3Rpb24gaXRl cmF0ZXMgcmVjdXJzaXZlbHkgdGhyb3VnaCB0aGUgZXhpc3Rpbmcgc3Vic2NyaWJlcnMgdGhhdCBh cmUNCj4gbGlzdGVuaW5nIHRvIHRoZQ0KPiArICogb2JzZXJ2YWJsZSB0aGF0IHdhcyBmb3VuZCB3 aGVuIHRoaXMgZnVuY3Rpb24gd2FzIGNhbGxlZC4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gICBPQlNf VFJFRSogICAgIEhlYWQgICAgICAgICAgICAgIFBvaW50cyB0byB0aGUgY3VycmVudCBzdWJzY3Jp YmVyLg0KPiArICogICAgICAgICAgT0JTX0NBTExCQUNLICBDYWxsYmFja0ludGVyZmFjZSBUaGlz IGlzIHRoZSBzdWJzY3JpYmVyIHRoYXQgaXMNCj4gcmVxdWVzdGVkIGJlIHJlbW92ZWQuDQo+ICsg Kg0KPiArICogQHJldHVybiAgT0JTX1RSRUUqICAgICBSZXR1cm5zIHRoZSB0cmVlIGFmdGVyIHN1 Y2Nlc3NmdWxseSByZW1vdmluZyAob3INCj4gbm90IGZpbmRpbmcpIHRoZSBzdWJzY3JpYmVyLg0K PiArICoqLw0KPiArT0JTX0xFQUYqDQo+ICtfRmluZEFuZERlbGV0ZVN1YnNjcmliZXIoDQo+ICsg IE9CU19MRUFGKiAgICAgSGVhZCwNCj4gKyAgT0JTX0NBTExCQUNLICBDYWxsYmFja0ludGVyZmFj ZQ0KPiArICApDQo+ICt7DQo+ICsgIGlmIChIZWFkKSB7DQo+ICsgICAgaWYgKEhlYWQtPk9ic2Vy dmVyID09IENhbGxiYWNrSW50ZXJmYWNlKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRm91 bmQgaXQuIE5vdyBsZXQncyBkZWxldGUgaXQuDQo+ICsgICAgICAvLw0KPiArICAgICAgSGVhZCA9 IERlbGV0ZVN1YnNjcmliZXIoSGVhZCk7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgIC8vDQo+ ICsgICAgICAvLyBOb3QgZm91bmQuIEtlZXAgc2VhcmNoaW5nLg0KPiArICAgICAgLy8NCj4gKyAg ICAgIEhlYWQtPk5leHQgPSBfRmluZEFuZERlbGV0ZVN1YnNjcmliZXIoSGVhZC0+TmV4dCwNCj4g Q2FsbGJhY2tJbnRlcmZhY2UpOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBI ZWFkOw0KPiArfQ0KPiArDQo+ICsvKiogRmluZHMgYW5kIGRlbGV0ZXMgc3Vic2NyaWJlcg0KPiAr ICoNCj4gKyAqIFRoaXMgZnVuY3Rpb24gaXRlcmF0ZXMgcmVjdXJzaXZlbHkgdGhyb3VnaCB0aGUg ZXhpc3Rpbmcgb2JzZXJ2YWJsZXMNCj4gZGF0YWJhc2UgdW50aWwgaXQgZWl0aGVyIGZpbmRzDQo+ ICsgKiBhIG1hdGNoaW5nIGd1aWQgb3IgcmVhY2hlcyB0aGUgZW5kIG9mIHRoZSBsaXN0LiBBZnRl ciBmaW5kaW5nIGEgbWF0Y2gsIGl0DQo+IGNhbGxzIGEgaGVscGVyIGZ1bmN0aW9uLA0KPiArICog X0ZpbmRBbmREZWxldGVTdWJzY3JpYmVyLiBBdCB0aGlzIHBvaW50LCBhbGwgcmVzcG9uc2liaWxp dHkgZm9yIGZpbmRpbmcgYW5kDQo+IGRlbGV0aW5nIHRoZSBzdWJzY3JpYmVyDQo+ICsgKiBsaWVz IG9uIHRoZSBoZWxwZXIgZnVuY3Rpb24uDQo+ICsgKg0KPiArICogQHBhcmFtICAgT0JTX1RSRUUq ICAgICBIZWFkICAgICAgICAgICAgICBQb2ludHMgdG8gdGhlIGN1cnJlbnQgb2JzZXJ2YWJsZS4N Cj4gKyAqICAgICAgICAgIEVGSV9HVUlEICAgICAgUmVmZXJlbmNlR3VpZCAgICAgQ29ycmVzcG9u ZHMgdG8gdGhlIG9ic2VydmFibGUgdGhhdA0KPiB3ZSdyZSBsb29raW5nIGZvci4NCj4gKyAqICAg ICAgICAgIE9CU19DQUxMQkFDSyAgQ2FsbGJhY2tJbnRlcmZhY2UgVGhpcyBpcyB0aGUgc3Vic2Ny aWJlciB0aGF0IGlzDQo+IHJlcXVlc3RlZCBiZSByZW1vdmVkLg0KPiArICoNCj4gKyAqIEByZXR1 cm4gIE9CU19UUkVFKiAgICAgUmV0dXJucyB0aGUgdHJlZSBhZnRlciBzdWNjZXNzZnVsbHkgcmVt b3ZpbmcgKG9yDQo+IG5vdCBmaW5kaW5nKSB0aGUgc3Vic2NyaWJlci4NCj4gKyAqKi8NCj4gK09C U19UUkVFKg0KPiArRmluZEFuZERlbGV0ZVN1YnNjcmliZXIoDQo+ICsgIElOICBPVVQgT0JTX1RS RUUqICAgICBIZWFkLA0KPiArICBJTiAgICAgIEVGSV9HVUlEICAgICAgUmVmZXJlbmNlR3VpZCwN Cj4gKyAgSU4gICAgICBPQlNfQ0FMTEJBQ0sgIENhbGxiYWNrSW50ZXJmYWNlDQo+ICsgICkNCj4g K3sNCj4gKyAgaWYgKEhlYWQpIHsNCj4gKyAgICBpZiAoQ29tcGFyZU1lbSgmKEhlYWQtPk9ic2Vy dmFibGVHdWlkKSwgJlJlZmVyZW5jZUd1aWQsDQo+IHNpemVvZihSZWZlcmVuY2VHdWlkKSkgPT0g MCkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFdlIGZvdW5kIHRoZSBvYnNlcnZlciB0aGF0 IG1hdGNoZXMgUmVmZXJlbmNlR3VpZC4gRmluZCBhbmQgZGVsZXRlDQo+IHRoZSBzdWJzY3JpYmVy IHRoYXQgaXMNCj4gKyAgICAgIC8vIGxpc3RlbmluZyB0byBpdC4NCj4gKyAgICAgIC8vDQo+ICsg ICAgICBIZWFkLT5MZWFmID0gX0ZpbmRBbmREZWxldGVTdWJzY3JpYmVyKEhlYWQtPkxlYWYsIENh bGxiYWNrSW50ZXJmYWNlKTsNCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgLy8NCj4gKyAgICAg IC8vIE5vdCBmb3VuZC4gS2VlcCBzZWFyY2hpbmcuDQo+ICsgICAgICAvLw0KPiArICAgICAgSGVh ZC0+TmV4dCA9IEZpbmRBbmREZWxldGVTdWJzY3JpYmVyKEhlYWQtPk5leHQsIFJlZmVyZW5jZUd1 aWQsDQo+IENhbGxiYWNrSW50ZXJmYWNlKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBy ZXR1cm4gSGVhZDsNCj4gK30NCj4gKw0KPiArLyoqIFJlbW92ZSBhbGwgb2JzZXJ2YWJsZXMuDQo+ ICsgKg0KPiArICogUmVtb3ZlIGFsbCBvYnNlcnZhYmxlIGd1aWRzIGFuZCBhbGwgaW50ZXJmYWNl cyBzdWJzY3JpYmVkIHRvIHRoZW0uDQo+ICsgKg0KPiArICogQHBhcmFtICAgVk9JRCAgICAgICAg ICBObyBwYXJhbWV0ZXJzLg0KPiArICoNCj4gKyAqIEByZXR1cm4gIEVGSV9TVUNDRVNTICAgU3Vj Y2Vzc2Z1bGx5IHJlbW92ZWQgYWxsIG9ic2VydmFibGVzIGFuZA0KPiBzdWJzY3JpYmVkIGludGVy ZmFjZXMuDQo+ICsgKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1JlbW92ZUFsbE9i c2VydmFibGVzKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgbU9ic2VydmFibGVEYiA9 IERlbGV0ZUFsbE9ic2VydmFibGVzKG1PYnNlcnZhYmxlRGIpOw0KPiArDQo+ICsgIHJldHVybiBF RklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqIFN1YnNjcmliZSBhbiBpbnRlcmZhY2Ugd2l0 aCBhbiBvYnNlcnZhYmxlIGd1aWQuDQo+ICsgKg0KPiArICogVXNlIHRoaXMgdG8gcmVnaXN0ZXIg YSBjYWxsYmFjayBmdW5jdGlvbiB3aXRoIGEgZ3VpZC4gVGhlIGZ1bmN0aW9uIHByb3ZpZGVkDQo+ IGJ5IENhbGxiYWNrSW50ZXJmYWNlIHdpbGwgYmUgZXhlY3V0ZWQNCj4gKyAqIHdoZW5ldmVyIHRo ZSBhcHByb3ByaWF0ZSBvYnNlcnZhYmxlIGluc3RhbmNlIHNwZWNpZmllZCBieQ0KPiBSZWZlcmVu Y2VHdWlkIGNhbGxzIFB1Ymxpc2guDQo+ICsgKg0KPiArICogQHBhcmFtICAgRUZJX0dVSUQgICAg ICAgICAgICAgIFJlZmVyZW5jZUd1aWQgICAgICAgVGhlIG9ic2VydmFibGUgZ3VpZCB0aGF0DQo+ IHRoZSBjYWxsYmFjayBpbnRlcmZhY2Ugd2lsbCBzdWJzY3JpYmUgdG8uDQo+ICsgKiAgICAgICAg ICBPQlNfQ0FTTExCQUNLICAgICAgICAgQ2FsbGJhY2tJbnRlcmZhY2UgICBBIHBvaW50ZXIgdG8g dGhlIGZ1bmN0aW9uDQo+IHRoYXQgaXMgc3Vic2NyaWJpbmcgdG8gdGhlIG9ic2VydmFibGUuDQo+ ICsgKg0KPiArICogQHJldHVybiAgRUZJX1NVQ0NFU1MgICAgICAgICAgIFN1Y2Nlc3NmdWxseSBz dWJzY3JpYmVkIHRoZSBpbnRlcmZhY2UgdG8gdGhlDQo+IG9ic2VydmFibGUgZ3VpZC4NCj4gKyAq ICAgICAgICAgIEVGSV9OT1RfRk9VTkQgICAgICAgICBObyBtYXRjaCBjb3VsZCBiZSBmb3VuZCBi ZXR3ZWVuIHRoZQ0KPiBwcm92aWRlZCBndWlkIGFuZCBleGlzdGluZyBvYnNlcnZhYmxlcy4NCj4g KyAqICAgICAgICAgIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTICBDb3VsZCBub3Qgc3Vic2NyaWJlIHRv IHRoaXMgb2JzZXJ2ZXIgZHVlDQo+IHRvIHJlc291cmNlIGxpbWl0YXRpb25zLg0KPiArICogICAg ICAgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIEludGVyZmFjZSBpcyBhbHJlYWR5IHN1YnNjcmli ZWQgdG8gdGhpcw0KPiBvYnNlcnZlci4NCj4gKyAqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArU3Vic2NyaWJlICgNCj4gKyAgSU4gICAgICBFRklfR1VJRCAgICAgICAgUmVmZXJlbmNl R3VpZCwNCj4gKyAgSU4gICAgICBPQlNfQ0FMTEJBQ0sgICAgQ2FsbGJhY2tJbnRlcmZhY2UNCj4g KyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICBTdGF0dXMgICAgPSBFRklfU1VDQ0VTUzsNCj4g KyAgT0JTX1RSRUUqICAgVGVtcFRyZWUgID0gTlVMTDsNCj4gKyAgT0JTX0xFQUYqICAgTGFzdCAg ICAgID0gTlVMTDsNCj4gKyAgT0JTX0xFQUYqICAgVGVtcExlYWYgID0gTlVMTDsNCj4gKyAgT0JT X0xFQUYqICAgTmV3TGVhZiAgID0gTlVMTDsNCj4gKyAgQk9PTEVBTiAgICAgRm91bmQgICAgID0g RkFMU0U7DQo+ICsNCj4gKyAgaWYgKG1PYnNlcnZhYmxlRGIgIT0gTlVMTCkgew0KPiArICAgIC8v DQo+ICsgICAgLy8gRmluZCB0aGUgb2JzZXJ2YWJsZSBndWlkIHRoYXQgd2UncmUgbG9va2luZyBm b3IuDQo+ICsgICAgLy8NCj4gKyAgICBmb3IgKFRlbXBUcmVlID0gbU9ic2VydmFibGVEYjsgVGVt cFRyZWUgIT0gTlVMTDsgVGVtcFRyZWUgPQ0KPiBUZW1wVHJlZS0+TmV4dCkgew0KPiArICAgICAg aWYgKENvbXBhcmVNZW0oJihUZW1wVHJlZS0+T2JzZXJ2YWJsZUd1aWQpLCAmUmVmZXJlbmNlR3Vp ZCwNCj4gc2l6ZW9mKFJlZmVyZW5jZUd1aWQpKSA9PSAwKSB7DQo+ICsgICAgICAgIEZvdW5kID0g VFJVRTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgIGlm IChGb3VuZCkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFByZXBhcmUgdG8gYWRkIGEgbmV3 IGxlYWYuDQo+ICsgICAgICAvLw0KPiArICAgICAgTmV3TGVhZiA9IEFsbG9jYXRlWmVyb1Bvb2wo c2l6ZW9mKE9CU19MRUFGKSk7DQo+ICsgICAgICBpZiAoIU5ld0xlYWYpIHsNCj4gKyAgICAgICAg U3RhdHVzID0gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAg ICAgICBOZXdMZWFmLT5OZXh0ID0gTlVMTDsNCj4gKyAgICAgICAgTmV3TGVhZi0+T2JzZXJ2ZXIg PSBDYWxsYmFja0ludGVyZmFjZTsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gR28gdG8g dGhlIGVuZCBvZiB0aGUgbGlzdCBvZiBvYnNlcnZlcnMuDQo+ICsgICAgICAgIC8vDQo+ICsgICAg ICAgIGlmIChUZW1wVHJlZS0+TGVhZiAhPSBOVUxMKSB7DQo+ICsgICAgICAgICAgLy8NCj4gKyAg ICAgICAgICAvLyBGaXJzdCBjaGVjayB0byBzZWUgaWYgdGhpcyBpcyBhIGR1cGxpY2F0ZSBvYnNl cnZlci4NCj4gKyAgICAgICAgICAvLw0KPiArICAgICAgICAgIEZvdW5kID0gRkFMU0U7DQo+ICsg ICAgICAgICAgVGVtcExlYWYgPSBUZW1wVHJlZS0+TGVhZjsNCj4gKyAgICAgICAgICBkbyB7DQo+ ICsgICAgICAgICAgICBMYXN0ID0gVGVtcExlYWY7DQo+ICsgICAgICAgICAgICBpZiAoVGVtcExl YWYtPk9ic2VydmVyID09IENhbGxiYWNrSW50ZXJmYWNlKSB7DQo+ICsgICAgICAgICAgICAgIC8v DQo+ICsgICAgICAgICAgICAgIC8vIEl0IGlzLCBzbyBsZXQncyBhYm9ydCB0aGlzIHByb2Nlc3Mu DQo+ICsgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAgIEZvdW5kID0gVFJVRTsNCj4g KyAgICAgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICBU ZW1wTGVhZiA9IFRlbXBMZWFmLT5OZXh0Ow0KPiArICAgICAgICAgIH0gd2hpbGUgKFRlbXBMZWFm ICE9IE5VTEwpOw0KPiArICAgICAgICAgIFRlbXBMZWFmID0gTGFzdDsNCj4gKw0KPiArICAgICAg ICAgIC8vDQo+ICsgICAgICAgICAgLy8gQ2hlY2sgZm9yIGR1cGxpY2F0ZXMuDQo+ICsgICAgICAg ICAgLy8NCj4gKyAgICAgICAgICBpZiAoRm91bmQpIHsNCj4gKyAgICAgICAgICAgIGdCUy0+RnJl ZVBvb2woTmV3TGVhZik7DQo+ICsgICAgICAgICAgICBTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJB TUVURVI7DQo+ICsgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAg ICAgICAgICAvLyBBdCB0aGlzIHBvaW50LCBUZW1wTGVhZi0+TmV4dCB3aWxsIGJlIHRoZSBlbmQg b2YgdGhlIGxpc3QuDQo+ICsgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgVGVtcExlYWYt Pk5leHQgPSBOZXdMZWFmOw0KPiArICAgICAgICAgIH0NCj4gKyAgICAgICAgfSBlbHNlIHsNCj4g KyAgICAgICAgICAvLw0KPiArICAgICAgICAgIC8vIFRoZXJlIGFyZSBubyBvYnNlcnZlcnMgbGlz dGVuaW5nIHRvIHRoaXMgZ3VpZC4gU3RhcnQgYSBuZXcgbGlzdC4NCj4gKyAgICAgICAgICAvLw0K PiArICAgICAgICAgIFRlbXBUcmVlLT5MZWFmID0gTmV3TGVhZjsNCj4gKyAgICAgICAgfQ0KPiAr ICAgICAgfQ0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5E Ow0KPiArICAgIH0NCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5E Ow0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArLyoqIFVu c3Vic2NyaWJlIGFuIGludGVyZmFjZSB3aXRoIGFuIG9ic2VydmFibGUgZ3VpZC4NCj4gKyAqDQo+ ICsgKiBVc2UgdGhpcyB0byByZW1vdmUgYW4gaW50ZXJmYWNlIGZyb20gdGhlIGNhbGxiYWNrIGxp c3QgYXNzb2NpYXRlZCB3aXRoIGFuDQo+IG9ic2VydmFibGUgZ3VpZC4NCj4gKyAqDQo+ICsgKiBA cGFyYW0gICBFRklfR1VJRCAgICAgICAgICAgICAgICBSZWZlcmVuY2VHdWlkICAgVGhlIG9ic2Vy dmFibGUgZ3VpZCB0bw0KPiB1bnN1YnNjcmliZSB0aGUgaW50ZXJmYWNlIGZyb20uDQo+ICsgKiAg ICAgICAgICBPQlNfTk9USUZZX0lOVEVSRkFDRSAgICBOb3RpZnlDYWxsYmFjayAgQSBwb2ludGVy IHRvIHRoZSBpbnRlcmZhY2UNCj4gdGhhdCBpcyBiZWluZyB1bnN1YnNjcmliZWQuDQo+ICsgKg0K PiArICogQHJldHVybiAgRUZJX1NVQ0NFU1MgICAgICAgICAgIFN1Y2Nlc3NmdWxseSB1bnN1YnNj cmliZWQgdGhlIGludGVyZmFjZSBmcm9tDQo+IHRoZSBvYnNlcnZhYmxlIGd1aWQuDQo+ICsgKiov DQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1Vuc3Vic2NyaWJlICgNCj4gKyAgSU4gICAg ICBFRklfR1VJRCAgICAgICAgUmVmZXJlbmNlR3VpZCwNCj4gKyAgSU4gICAgICBPQlNfQ0FMTEJB Q0sgICAgQ2FsbGJhY2tJbnRlcmZhY2UNCj4gKyAgKQ0KPiArew0KPiArICBtT2JzZXJ2YWJsZURi ID0gRmluZEFuZERlbGV0ZVN1YnNjcmliZXIobU9ic2VydmFibGVEYiwNCj4gUmVmZXJlbmNlR3Vp ZCwgQ2FsbGJhY2tJbnRlcmZhY2UpOw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4g K30NCj4gKw0KPiArLyoqIE5vdGlmeSBvYnNlcnZpbmcgZnVuY3Rpb25zLg0KPiArICoNCj4gKyAq IFVzZSB0aGlzIHRvIG5vdGlmeSBhbGwgZnVuY3Rpb25zIHdobyBhcmUgc3Vic2NyaWJlZCB0byB0 aGUgZ3VpZCBzcGVjaWZpZWQgYnkNCj4gUmVmZXJlbmNlR3VpZC4NCj4gKyAqDQo+ICsgKiBAcGFy YW0gICBFRklfR1VJRCAgICAgICAgICBSZWZlcmVuY2VHdWlkICAgVGhlIG9ic2VydmFibGUgZ3Vp ZCB0aGF0DQo+IGNvbnRhaW5zIHRoZSB0aGUgbGlzdCBvZiBpbnRlcmZhY2VzIHRvIGJlIG5vdGlm aWVkLg0KPiArICogICAgICAgICAgVk9JRCogICAgICAgICAgICAgRGF0YSAgICAgICAgICAgIFBh cmFtZXRlciBjb250ZXh0IHRvIGJlIHBhc3NlZCB0byB0aGUNCj4gbm90aWZpY2F0aW9uIGZ1bmN0 aW9uLg0KPiArICoNCj4gKyAqIEByZXR1cm4gIEVGSV9TVUNDRVNTICAgICAgIFN1Y2Nlc3NmdWxs eSBub3RpZmllZCBhbGwgb2JzZXJ2ZXJzIGxpc3RlbmluZyB0bw0KPiB0aGlzIGd1aWQuDQo+ICsg KiAgICAgICAgICBFRklfTk9UX0ZPVU5EICAgICBObyBtYXRjaCBjb3VsZCBiZSBmb3VuZCBiZXR3 ZWVuIHRoZSBwcm92aWRlZA0KPiBndWlkIGFuZCBleGlzdGluZyBvYnNlcnZhYmxlcy4NCj4gKyAq Ki8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUHVibGlzaCAoDQo+ICsgIElOICAgICAg RUZJX0dVSUQgICAgICAgICAgICAgICAgICBSZWZlcmVuY2VHdWlkLA0KPiArICBJTiAgT1VUIFZP SUQqICAgICAgICAgICAgICAgICAgICAgRGF0YQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFU VVMgIFN0YXR1cyAgICA9IEVGSV9TVUNDRVNTOw0KPiArICBPQlNfVFJFRSogICBUZW1wVHJlZSAg PSBOVUxMOw0KPiArICBPQlNfTEVBRiogICBUZW1wTGVhZiAgPSBOVUxMOw0KPiArICBCT09MRUFO ICAgICBGb3VuZCAgICAgPSBGQUxTRTsNCj4gKw0KPiArICBpZiAobU9ic2VydmFibGVEYiAhPSBO VUxMKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBGaW5kIHRoZSBvYnNlcnZhYmxlIGd1aWQgdGhh dCB3ZSdyZSBsb29raW5nIGZvci4NCj4gKyAgICAvLw0KPiArICAgIGZvciAoVGVtcFRyZWUgPSBt T2JzZXJ2YWJsZURiOyBUZW1wVHJlZSAhPSBOVUxMOyBUZW1wVHJlZSA9DQo+IFRlbXBUcmVlLT5O ZXh0KSB7DQo+ICsgICAgICBpZiAoQ29tcGFyZU1lbSgmKFRlbXBUcmVlLT5PYnNlcnZhYmxlR3Vp ZCksICZSZWZlcmVuY2VHdWlkLA0KPiBzaXplb2YoUmVmZXJlbmNlR3VpZCkpID09IDApIHsNCj4g KyAgICAgICAgRm91bmQgPSBUUlVFOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAgIH0NCj4g KyAgICB9DQo+ICsgICAgaWYgKEZvdW5kKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gTm90 aWZ5IGV2ZXJ5IGxpc3RlbmVyIGJ5IHBlcmZvcm1pbmcgZWFjaCBwcm92aWRlZCBjYWxsYmFjay4N Cj4gKyAgICAgIC8vDQo+ICsgICAgICBmb3IgKFRlbXBMZWFmID0gVGVtcFRyZWUtPkxlYWY7IFRl bXBMZWFmICE9IE5VTEw7IFRlbXBMZWFmID0NCj4gVGVtcExlYWYtPk5leHQpIHsNCj4gKyAgICAg ICAgaWYgKFRlbXBMZWFmLT5PYnNlcnZlciAhPSBOVUxMKSB7DQo+ICsgICAgICAgICAgLy8NCj4g KyAgICAgICAgICAvLyBFeGVjdXRlIHRoZSBjYWxsYmFjay4NCj4gKyAgICAgICAgICAvLw0KPiAr ICAgICAgICAgIFRlbXBMZWFmLT5PYnNlcnZlcihEYXRhKTsNCj4gKyAgICAgICAgfQ0KPiArICAg ICAgfQ0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0K PiArICAgIH0NCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0K PiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArLyoqIENyZWF0 ZXMgYSBuZXcgb2JzZXJ2YWJsZS4NCj4gKyAqDQo+ICsgKiBDcmVhdGUgYSBuZXcgb2JzZXJ2YWJs ZSB0aGF0IGNhbiBiZSBvYnNlcnZlZCB3aXRoIHRoZSB1c2Ugb2YgU3Vic2NyaWJlDQo+IGZ1bmN0 aW9uLg0KPiArICoNCj4gKyAqIEBwYXJhbSAgIEVGSV9HVUlEICAgICAgICAgICAgICBSZWZlcmVu Y2VHdWlkICAgVGhlIG9ic2VydmFibGUgZ3VpZCB0byBhZGQuDQo+ICsgKg0KPiArICogQHJldHVy biAgRUZJX1NVQ0NFU1MgICAgICAgICAgIFN1Y2Nlc3NmdWxseSBhZGRlZCBvYnNlcnZhYmxlLg0K PiArICogICAgICAgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIE9ic2VydmFibGUgYWxyZWFkeSBl eGlzdHMuDQo+ICsgKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0FkZE9ic2VydmFi bGUgKA0KPiArICBJTiAgICAgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgUmVmZXJlbmNlR3Vp ZA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgIFN0YXR1cyAgICA9IEVGSV9TVUNDRVNT Ow0KPiArICBPQlNfVFJFRSogICBUZW1wVHJlZSAgPSBOVUxMOw0KPiArICBPQlNfVFJFRSogICBM YXN0ICAgICAgPSBOVUxMOw0KPiArICBPQlNfVFJFRSogICBOZXdUcmVlICAgPSBOVUxMOw0KPiAr ICBCT09MRUFOICAgICBGb3VuZCAgICAgPSBGQUxTRTsNCj4gKw0KPiArICBpZiAobU9ic2VydmFi bGVEYiAhPSBOVUxMKSB7DQo+ICsgICAgaWYgKG1PYnNlcnZhYmxlRGItPk5leHQgIT0gTlVMTCkg ew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEl0ZXJhdGUgdG8gdGhlIGVuZCBvZiB0aGUgb2Jz ZXJ2YWJsZSBsaXN0IHdoaWxlIGNoZWNraW5nIHRvIHNlZSBpZiB3ZQ0KPiBhcmVuJ3QgY3JlYXRp bmcgYSBkdXBsaWNhdGUuDQo+ICsgICAgICAvLw0KPiArICAgICAgVGVtcFRyZWUgPSBtT2JzZXJ2 YWJsZURiLT5OZXh0Ow0KPiArICAgICAgZG8gew0KPiArICAgICAgICBMYXN0ID0gVGVtcFRyZWU7 DQo+ICsgICAgICAgIGlmIChDb21wYXJlTWVtKCYoVGVtcFRyZWUtPk9ic2VydmFibGVHdWlkKSwg JlJlZmVyZW5jZUd1aWQsDQo+IHNpemVvZihSZWZlcmVuY2VHdWlkKSkgPT0gMCkgew0KPiArICAg ICAgICAgIEZvdW5kID0gVFJVRTsNCj4gKyAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgfQ0K PiArICAgICAgICBUZW1wVHJlZSA9IFRlbXBUcmVlLT5OZXh0Ow0KPiArICAgICAgfSB3aGlsZSAo VGVtcFRyZWUgIT0gTlVMTCk7DQo+ICsgICAgICBUZW1wVHJlZSA9IExhc3Q7DQo+ICsgICAgfSBl bHNlIHsNCj4gKyAgICAgIFRlbXBUcmVlID0gbU9ic2VydmFibGVEYjsNCj4gKyAgICB9DQo+ICsg ICAgaWYgKEZvdW5kKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRHVwbGljYXRlLCBzbyBy ZWplY3QgdGhlIHBhcmFtZXRlci4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdGF0dXMgPSBFRklf SU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgIC8vDQo+ICsgICAg ICAvLyBUZW1wVHJlZS0+TmV4dCBpcyBvdXIgdGFyZ2V0LiBQcmVwYXJlIHRvIGFkZCBhIG5ldyB0 cmVlIGxpbmsuDQo+ICsgICAgICAvLw0KPiArICAgICAgTmV3VHJlZSA9IEFsbG9jYXRlWmVyb1Bv b2woc2l6ZW9mKE9CU19UUkVFKSk7DQo+ICsgICAgICBpZiAoTmV3VHJlZSkgew0KPiArICAgICAg ICBOZXdUcmVlLT5OZXh0ID0gTlVMTDsNCj4gKyAgICAgICAgTmV3VHJlZS0+TGVhZiA9IE5VTEw7 DQo+ICsgICAgICAgIENvcHlNZW0oJihOZXdUcmVlLT5PYnNlcnZhYmxlR3VpZCksICZSZWZlcmVu Y2VHdWlkLA0KPiBzaXplb2YoUmVmZXJlbmNlR3VpZCkpOw0KPiArICAgICAgICBUZW1wVHJlZS0+ TmV4dCA9IE5ld1RyZWU7DQo+ICsgICAgICB9IGVsc2Ugew0KPiArICAgICAgICBTdGF0dXMgPSBF RklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0gZWxzZSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBtT2JzZXJ2YWJsZURiIGhhcyBub3QgYmVlbiBjcmVhdGVk IHlldC4gTGV0J3MgZG8gdGhhdC4NCj4gKyAgICAvLw0KPiArICAgIE5ld1RyZWUgPSBBbGxvY2F0 ZVplcm9Qb29sKHNpemVvZihPQlNfVFJFRSkpOw0KPiArICAgIGlmIChOZXdUcmVlKSB7DQo+ICsg ICAgICBOZXdUcmVlLT5OZXh0ID0gTlVMTDsNCj4gKyAgICAgIE5ld1RyZWUtPkxlYWYgPSBOVUxM Ow0KPiArICAgICAgQ29weU1lbSgmKE5ld1RyZWUtPk9ic2VydmFibGVHdWlkKSwgJlJlZmVyZW5j ZUd1aWQsDQo+IHNpemVvZihSZWZlcmVuY2VHdWlkKSk7DQo+ICsgICAgICBtT2JzZXJ2YWJsZURi ID0gTmV3VHJlZTsNCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgU3RhdHVzID0gRUZJX09VVF9P Rl9SRVNPVVJDRVM7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsN Cj4gK30NCj4gKw0KPiArLyoqIFJlbW92ZSBhbiBvYnNlcnZhYmxlLg0KPiArICoNCj4gKyAqIFJl bW92ZSBhbiBvYnNlcnZhYmxlIHNvIHRoYXQgaXQgY2FuIG5vIGxvbmdlciBiZSBzdWJzY3JpYmVk IHRvLiBJbg0KPiBhZGRpdGlvbiwgdW5zdWJzY3JpYmUgYW55IGZ1bmN0aW9ucw0KPiArICogdGhh dCBhcmUgc3Vic2NyaWJlZCB0byB0aGlzIGd1aWQuDQo+ICsgKg0KPiArICogQHBhcmFtICAgRUZJ X0dVSUQgICAgICAgICAgICAgIFJlZmVyZW5jZUd1aWQgICBUaGUgb2JzZXJ2YWJsZSBndWlkIHRv DQo+IHJlbW92ZS4NCj4gKyAqDQo+ICsgKiBAcmV0dXJuICBFRklfU1VDQ0VTUyAgICAgICAgICAg U3VjY2Vzc2Z1bGx5IHJlbW92ZWQgb2JzZXJ2YWJsZS4NCj4gKyAqKi8NCj4gK0VGSV9TVEFUVVMN Cj4gK0VGSUFQSQ0KPiArUmVtb3ZlT2JzZXJ2YWJsZSAoDQo+ICsgIElOICAgICAgRUZJX0dVSUQg ICAgICAgIFJlZmVyZW5jZUd1aWQNCj4gKyAgKQ0KPiArew0KPiArICBtT2JzZXJ2YWJsZURiID0g RmluZEFuZERlbGV0ZU9ic2VydmFibGUobU9ic2VydmFibGVEYiwNCj4gUmVmZXJlbmNlR3VpZCk7 DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvT2JzZXJ2YWJsZS9P YnNlcnZhYmxlLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bUR4ZS9PYnNlcnZhYmxlL09ic2VydmFibGUuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi5mNDZlZmUwZjFiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvT2JzZXJ2YWJsZS9P YnNlcnZhYmxlLmgNCj4gQEAgLTAsMCArMSwxMzcgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5 cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ ICsgIE9ic2VydmFibGUuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBQcm90b3R5cGVz IGZvciBPYnNlcnZhYmxlIHByb3RvY29sIGltcGxlbWVudGF0aW9uDQo+ICstLSovDQo+ICsNCj4g KyNpZm5kZWYgX09CU0VSVkFCTEVfSF8NCj4gKyNkZWZpbmUgX09CU0VSVkFCTEVfSF8NCj4gKyNp bmNsdWRlICJQbGF0Zm9ybUR4ZS5oIg0KPiArI2luY2x1ZGUgIlByb3RvY29sL09ic2VydmFibGUu aCINCj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlwZXMNCj4gKy8vDQo+ICsNCj4gKy8qKiBJbnN0 YWxsIG9ic2VydmFibGUgcHJvdG9jb2wuDQo+ICsgKg0KPiArICogSW5zdGFsbCBpbnRlcmZhY2Ug YW5kIGluaXRpYWxpemUgdGhlIG9ic2VydmFibGUgcHJvdG9jb2wuDQo+ICsgKg0KPiArICogQHBh cmFtICAgVk9JRCAgICAgICAgICBObyBwYXJhbWV0ZXJzLg0KPiArICoNCj4gKyAqIEByZXR1cm4g IEVGSV9TVUNDRVNTICAgU3VjY2Vzc2Z1bGx5IGluc3RhbGxlZCBhbmQgaW5pdGlhbGl6ZWQgdGhl IHByb3RvY29sLg0KPiArICoqLw0KPiArRUZJX1NUQVRVUw0KPiArSW5pdGlhbGl6ZU9ic2VydmFi bGVQcm90b2NvbCgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICsvKiogUmVtb3ZlIGFsbCBv YnNlcnZhYmxlcy4NCj4gKyAqDQo+ICsgKiBSZW1vdmUgYWxsIG9ic2VydmFibGUgZ3VpZHMgYW5k IGFsbCBpbnRlcmZhY2VzIHN1YnNjcmliZWQgdG8gdGhlbS4NCj4gKyAqDQo+ICsgKiBAcGFyYW0g ICBWT0lEICAgICAgICAgIE5vIHBhcmFtZXRlcnMuDQo+ICsgKg0KPiArICogQHJldHVybiAgRUZJ X1NVQ0NFU1MgICBTdWNjZXNzZnVsbHkgcmVtb3ZlZCBhbGwgb2JzZXJ2YWJsZXMgYW5kDQo+IHN1 YnNjcmliZWQgaW50ZXJmYWNlcy4NCj4gKyAqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0K PiArUmVtb3ZlQWxsT2JzZXJ2YWJsZXMoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArLyoq IFN1YnNjcmliZSBhbiBpbnRlcmZhY2Ugd2l0aCBhbiBvYnNlcnZhYmxlIGd1aWQuDQo+ICsgKg0K PiArICogVXNlIHRoaXMgdG8gcmVnaXN0ZXIgYSBjYWxsYmFjayBmdW5jdGlvbiB3aXRoIGEgZ3Vp ZC4gVGhlIGZ1bmN0aW9uIHByb3ZpZGVkDQo+IGJ5IENhbGxiYWNrSW50ZXJmYWNlIHdpbGwgYmUg ZXhlY3V0ZWQNCj4gKyAqIHdoZW5ldmVyIHRoZSBhcHByb3ByaWF0ZSBvYnNlcnZhYmxlIGluc3Rh bmNlIHNwZWNpZmllZCBieQ0KPiBSZWZlcmVuY2VHdWlkIGNhbGxzIFB1Ymxpc2guDQo+ICsgKg0K PiArICogQHBhcmFtICAgRUZJX0dVSUQgICAgICAgICAgICAgIFJlZmVyZW5jZUd1aWQgICAgICAg VGhlIG9ic2VydmFibGUgZ3VpZCB0aGF0DQo+IHRoZSBjYWxsYmFjayBpbnRlcmZhY2Ugd2lsbCBz dWJzY3JpYmUgdG8uDQo+ICsgKiAgICAgICAgICBPQlNfQ0FMTEJBQ0sgICAgICAgICAgQ2FsbGJh Y2tJbnRlcmZhY2UgICBBIHBvaW50ZXIgdG8gdGhlIGZ1bmN0aW9uIHRoYXQNCj4gaXMgc3Vic2Ny aWJpbmcgdG8gdGhlIG9ic2VydmFibGUuDQo+ICsgKg0KPiArICogQHJldHVybiAgRUZJX1NVQ0NF U1MgICAgICAgICAgIFN1Y2Nlc3NmdWxseSBzdWJzY3JpYmVkIHRoZSBpbnRlcmZhY2UgdG8gdGhl DQo+IG9ic2VydmFibGUgZ3VpZC4NCj4gKyAqICAgICAgICAgIEVGSV9OT1RfRk9VTkQgICAgICAg ICBObyBtYXRjaCBjb3VsZCBiZSBmb3VuZCBiZXR3ZWVuIHRoZQ0KPiBwcm92aWRlZCBndWlkIGFu ZCBleGlzdGluZyBvYnNlcnZhYmxlcy4NCj4gKyAqICAgICAgICAgIEVGSV9PVVRfT0ZfUkVTT1VS Q0VTICBDb3VsZCBub3Qgc3Vic2NyaWJlIHRvIHRoaXMgb2JzZXJ2ZXIgZHVlDQo+IHRvIHJlc291 cmNlIGxpbWl0YXRpb25zLg0KPiArICogICAgICAgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIElu dGVyZmFjZSBpcyBhbHJlYWR5IHN1YnNjcmliZWQgdG8gdGhpcw0KPiBvYnNlcnZlci4NCj4gKyAq Ki8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArU3Vic2NyaWJlICgNCj4gKyAgSU4gICAg ICBFRklfR1VJRCAgICAgICAgUmVmZXJlbmNlR3VpZCwNCj4gKyAgSU4gICAgICBPQlNfQ0FMTEJB Q0sgICAgQ2FsbGJhY2tJbnRlcmZhY2UNCj4gKyAgKTsNCj4gKw0KPiArLyoqIFVuc3Vic2NyaWJl IGFuIGludGVyZmFjZSB3aXRoIGFuIG9ic2VydmFibGUgZ3VpZC4NCj4gKyAqDQo+ICsgKiBVc2Ug dGhpcyB0byByZW1vdmUgYW4gaW50ZXJmYWNlIGZyb20gdGhlIGNhbGxiYWNrIGxpc3QgYXNzb2Np YXRlZCB3aXRoIGFuDQo+IG9ic2VydmFibGUgZ3VpZC4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gICBF RklfR1VJRCAgICAgICAgICAgICAgUmVmZXJlbmNlR3VpZCAgICAgIFRoZSBvYnNlcnZhYmxlIGd1 aWQgdG8NCj4gdW5zdWJzY3JpYmUgdGhlIGludGVyZmFjZSBmcm9tLg0KPiArICogICAgICAgICAg T0JTX0NBTExCQUNLICAgICAgICAgIENhbGxiYWNrSW50ZXJmYWNlICBBIHBvaW50ZXIgdG8gdGhl IGludGVyZmFjZSB0aGF0DQo+IGlzIGJlaW5nIHVuc3Vic2NyaWJlZC4NCj4gKyAqDQo+ICsgKiBA cmV0dXJuICBFRklfU1VDQ0VTUyAgICAgICAgICAgU3VjY2Vzc2Z1bGx5IHVuc3Vic2NyaWJlZCB0 aGUgaW50ZXJmYWNlIGZyb20NCj4gdGhlIG9ic2VydmFibGUgZ3VpZC4NCj4gKyAqKi8NCj4gK0VG SV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArVW5zdWJzY3JpYmUgKA0KPiArICBJTiAgICAgIEVGSV9H VUlEICAgICAgICAgICAgUmVmZXJlbmNlR3VpZCwNCj4gKyAgSU4gICAgICBPQlNfQ0FMTEJBQ0sg ICAgQ2FsbGJhY2tJbnRlcmZhY2UNCj4gKyAgKTsNCj4gKw0KPiArLyoqIE5vdGlmeSBvYnNlcnZp bmcgZnVuY3Rpb25zLg0KPiArICoNCj4gKyAqIFVzZSB0aGlzIHRvIG5vdGlmeSBhbGwgZnVuY3Rp b25zIHdobyBhcmUgc3Vic2NyaWJlZCB0byB0aGUgZ3VpZCBzcGVjaWZpZWQgYnkNCj4gUmVmZXJl bmNlR3VpZC4NCj4gKyAqDQo+ICsgKiBAcGFyYW0gICBFRklfR1VJRCAgICAgICAgICBSZWZlcmVu Y2VHdWlkICAgVGhlIG9ic2VydmFibGUgZ3VpZCB0aGF0DQo+IGNvbnRhaW5zIHRoZSBsaXN0IG9m IGludGVyZmFjZXMgdG8gYmUgbm90aWZpZWQuDQo+ICsgKiAgICAgICAgICBWT0lEKiAgICAgICAg ICAgICBEYXRhICAgICAgICAgICAgUGFyYW1ldGVyIGNvbnRleHQgdG8gYmUgcGFzc2VkIHRvIHRo ZQ0KPiBzdWJzY3JpYmVkIGZ1bmN0aW9uLg0KPiArICoNCj4gKyAqIEByZXR1cm4gIEVGSV9TVUND RVNTICAgICAgIFN1Y2Nlc3NmdWxseSBub3RpZmllZCBhbGwgb2JzZXJ2ZXJzIGxpc3RlbmluZyB0 bw0KPiB0aGlzIGd1aWQuDQo+ICsgKiAgICAgICAgICBFRklfTk9UX0ZPVU5EICAgICBObyBtYXRj aCBjb3VsZCBiZSBmb3VuZCBiZXR3ZWVuIHRoZSBwcm92aWRlZA0KPiBndWlkIGFuZCBleGlzdGlu ZyBvYnNlcnZhYmxlcy4NCj4gKyAqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUHVi bGlzaCAoDQo+ICsgIElOICAgICAgRUZJX0dVSUQgICAgICAgIFJlZmVyZW5jZUd1aWQsDQo+ICsg IElOICBPVVQgVk9JRCogICAgICAgICAgIERhdGENCj4gKyAgKTsNCj4gKw0KPiArLyoqIENyZWF0 ZXMgYSBuZXcgb2JzZXJ2YWJsZS4NCj4gKyAqDQo+ICsgKiBDcmVhdGUgYSBuZXcgb2JzZXJ2YWJs ZSB0aGF0IGNhbiBiZSBvYnNlcnZlZCB3aXRoIHRoZSB1c2Ugb2YgU3Vic2NyaWJlDQo+IGZ1bmN0 aW9uLg0KPiArICoNCj4gKyAqIEBwYXJhbSAgIEVGSV9HVUlEICAgICAgICAgICAgICBSZWZlcmVu Y2VHdWlkICAgVGhlIG9ic2VydmFibGUgZ3VpZCB0byBhZGQuDQo+ICsgKg0KPiArICogQHJldHVy biAgRUZJX1NVQ0NFU1MgICAgICAgICAgIFN1Y2Nlc3NmdWxseSBhZGRlZCBvYnNlcnZhYmxlLg0K PiArICogICAgICAgICAgRUZJX0lOVkFMSURfUEFSQU1FVEVSIE9ic2VydmFibGUgYWxyZWFkeSBl eGlzdHMuDQo+ICsgKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0FkZE9ic2VydmFi bGUgKA0KPiArICBJTiAgICAgIEVGSV9HVUlEICAgICAgICBSZWZlcmVuY2VHdWlkDQo+ICsgICk7 DQo+ICsNCj4gKy8qKiBSZW1vdmUgYW4gb2JzZXJ2YWJsZS4NCj4gKyAqDQo+ICsgKiBSZW1vdmUg YW4gb2JzZXJ2YWJsZSBzbyB0aGF0IGl0IGNhbiBubyBsb25nZXIgYmUgc3Vic2NyaWJlZCB0by4g SW4NCj4gYWRkaXRpb24sIHVuc3Vic2NyaWJlIGFueSBmdW5jdGlvbnMNCj4gKyAqIHRoYXQgYXJl IHN1YnNjcmliZWQgdG8gdGhpcyBndWlkLg0KPiArICoNCj4gKyAqIEBwYXJhbSAgIEVGSV9HVUlE ICAgICAgICAgICAgICBSZWZlcmVuY2VHdWlkICAgVGhlIG9ic2VydmFibGUgZ3VpZCB0bw0KPiBy ZW1vdmUuDQo+ICsgKg0KPiArICogQHJldHVybiAgRUZJX1NVQ0NFU1MgICAgICAgICAgIFN1Y2Nl c3NmdWxseSByZW1vdmVkIG9ic2VydmFibGUuDQo+ICsgKiovDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK1JlbW92ZU9ic2VydmFibGUgKA0KPiArICBJTiAgICAgIEVGSV9HVUlEICAgICAg ICBSZWZlcmVuY2VHdWlkDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvUGNpQnVzLmgNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9QY2lCdXMuaA0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40MGMwZDk5MzkyDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1EeGUvUGNpQnVzLmgNCj4gQEAgLTAsMCArMSwzNzkgQEANCj4gKy8qKysNCj4gKw0K PiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ ICsNCj4gKyNpZm5kZWYgX0VGSV9QQ0lfQlVTX0hfDQo+ICsjZGVmaW5lIF9FRklfUENJX0JVU19I Xw0KPiArDQo+ICsjaW5jbHVkZSA8UGlEeGUuaD4NCj4gKw0KPiArI2luY2x1ZGUgPFByb3RvY29s L0xvYWRlZEltYWdlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNpSG9zdEJyaWRnZVJlc291 cmNlQWxsb2NhdGlvbi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1BjaUlvLmg+DQo+ICsjaW5j bHVkZSA8UHJvdG9jb2wvTG9hZEZpbGUyLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNpUm9v dEJyaWRnZUlvLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNpSG90UGx1Z1JlcXVlc3QuaD4N Cj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EZXZpY2VQYXRoLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9j b2wvUGNpUGxhdGZvcm0uaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9QY2lIb3RQbHVnSW5pdC5o Pg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0RlY29tcHJlc3MuaD4NCj4gKyNpbmNsdWRlIDxQcm90 b2NvbC9CdXNTcGVjaWZpY0RyaXZlck92ZXJyaWRlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wv SW5jb21wYXRpYmxlUGNpRGV2aWNlU3VwcG9ydC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1Bj aU92ZXJyaWRlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNpRW51bWVyYXRpb25Db21wbGV0 ZS5oPg0KPiArDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUg PExpYnJhcnkvVWVmaURyaXZlckVudHJ5UG9pbnQuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jh c2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlMaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1JlcG9ydFN0YXR1 c0NvZGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L01lbW9yeUFsbG9jYXRpb25MaWIuaD4N Cj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvRGV2aWNlUGF0aExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNk TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QZUNvZmZMaWIuaD4NCj4gKw0KPiArI2luY2x1 ZGUgPEluZHVzdHJ5U3RhbmRhcmQvUGNpLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFy ZC9QZUltYWdlLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9BY3BpLmg+DQo+ICsN Cj4gK3R5cGVkZWYgc3RydWN0IF9QQ0lfSU9fREVWSUNFICAgICAgICAgICAgICBQQ0lfSU9fREVW SUNFOw0KPiArdHlwZWRlZiBzdHJ1Y3QgX1BDSV9CQVIgICAgICAgICAgICAgICAgICAgIFBDSV9C QVI7DQo+ICsNCj4gKyNkZWZpbmUgRUZJX1BDSV9SSUQoQnVzLCBEZXZpY2UsIEZ1bmN0aW9uKSAg KCgoVUlOVDMyKUJ1cyA8PCA4KSArDQo+ICgoVUlOVDMyKURldmljZSA8PCAzKSArIChVSU5UMzIp RnVuY3Rpb24pDQo+ICsjZGVmaW5lIEVGSV9QQ0lfQlVTX09GX1JJRChSSUQpICAgICAgICAgICAg ICgoVUlOVDMyKVJJRCA+PiA4KQ0KPiArDQo+ICsjZGVmaW5lICAgICBFRklfUENJX0lPVl9QT0xJ Q1lfQVJJICAgICAgICAgICAweDAwMDENCj4gKyNkZWZpbmUgICAgIEVGSV9QQ0lfSU9WX1BPTElD WV9TUklPViAgICAgICAgIDB4MDAwMg0KPiArI2RlZmluZSAgICAgRUZJX1BDSV9JT1ZfUE9MSUNZ X01SSU9WICAgICAgICAgMHgwMDA0DQo+ICsNCj4gK3R5cGVkZWYgZW51bSB7DQo+ICsgIFBjaUJh clR5cGVVbmtub3duID0gMCwNCj4gKyAgUGNpQmFyVHlwZUlvMTYsDQo+ICsgIFBjaUJhclR5cGVJ bzMyLA0KPiArICBQY2lCYXJUeXBlTWVtMzIsDQo+ICsgIFBjaUJhclR5cGVQTWVtMzIsDQo+ICsg IFBjaUJhclR5cGVNZW02NCwNCj4gKyAgUGNpQmFyVHlwZVBNZW02NCwNCj4gKyAgUGNpQmFyVHlw ZUlvLA0KPiArICBQY2lCYXJUeXBlTWVtLA0KPiArICBQY2lCYXJUeXBlTWF4VHlwZQ0KPiArfSBQ Q0lfQkFSX1RZUEU7DQo+ICsNCj4gKw0KPiArI2RlZmluZSBWR0FCQVNFMSAgMHgzQjANCj4gKyNk ZWZpbmUgVkdBTElNSVQxIDB4M0JCDQo+ICsNCj4gKyNkZWZpbmUgVkdBQkFTRTIgIDB4M0MwDQo+ ICsjZGVmaW5lIFZHQUxJTUlUMiAweDNERg0KPiArDQo+ICsjZGVmaW5lIElTQUJBU0UgICAweDEw MA0KPiArI2RlZmluZSBJU0FMSU1JVCAgMHgzRkYNCj4gKw0KPiArLy8NCj4gKy8vIFBDSSBCQVIg cGFyYW1ldGVycw0KPiArLy8NCj4gK3N0cnVjdCBfUENJX0JBUiB7DQo+ICsgIFVJTlQ2NCAgICAg ICAgQmFzZUFkZHJlc3M7DQo+ICsgIFVJTlQ2NCAgICAgICAgTGVuZ3RoOw0KPiArICBVSU5UNjQg ICAgICAgIEFsaWdubWVudDsNCj4gKyAgUENJX0JBUl9UWVBFICBCYXJUeXBlOw0KPiArICBCT09M RUFOICAgICAgIFByZWZldGNoYWJsZTsNCj4gKyAgVUlOVDggICAgICAgICBNZW1UeXBlOw0KPiAr ICBVSU5UMTYgICAgICAgIE9mZnNldDsNCj4gK307DQo+ICsNCj4gKy8vDQo+ICsvLyBkZWZpbmVk IGluIFBDSSBDYXJkIFNwZWNpZmljYXRpb24sIDguMA0KPiArLy8NCj4gKyNkZWZpbmUgUENJX0NB UkRfTUVNT1JZX0JBU0VfMCAgICAgICAgICAgICAgICAweDFDDQo+ICsjZGVmaW5lIFBDSV9DQVJE X01FTU9SWV9MSU1JVF8wICAgICAgICAgICAgICAgMHgyMA0KPiArI2RlZmluZSBQQ0lfQ0FSRF9N RU1PUllfQkFTRV8xICAgICAgICAgICAgICAgIDB4MjQNCj4gKyNkZWZpbmUgUENJX0NBUkRfTUVN T1JZX0xJTUlUXzEgICAgICAgICAgICAgICAweDI4DQo+ICsjZGVmaW5lIFBDSV9DQVJEX0lPX0JB U0VfMF9MT1dFUiAgICAgICAgICAgICAgMHgyQw0KPiArI2RlZmluZSBQQ0lfQ0FSRF9JT19CQVNF XzBfVVBQRVIgICAgICAgICAgICAgIDB4MkUNCj4gKyNkZWZpbmUgUENJX0NBUkRfSU9fTElNSVRf MF9MT1dFUiAgICAgICAgICAgICAweDMwDQo+ICsjZGVmaW5lIFBDSV9DQVJEX0lPX0xJTUlUXzBf VVBQRVIgICAgICAgICAgICAgMHgzMg0KPiArI2RlZmluZSBQQ0lfQ0FSRF9JT19CQVNFXzFfTE9X RVIgICAgICAgICAgICAgIDB4MzQNCj4gKyNkZWZpbmUgUENJX0NBUkRfSU9fQkFTRV8xX1VQUEVS ICAgICAgICAgICAgICAweDM2DQo+ICsjZGVmaW5lIFBDSV9DQVJEX0lPX0xJTUlUXzFfTE9XRVIg ICAgICAgICAgICAgMHgzOA0KPiArI2RlZmluZSBQQ0lfQ0FSRF9JT19MSU1JVF8xX1VQUEVSICAg ICAgICAgICAgIDB4M0ENCj4gKyNkZWZpbmUgUENJX0NBUkRfQlJJREdFX0NPTlRST0wgICAgICAg ICAgICAgICAweDNFDQo+ICsNCj4gKyNkZWZpbmUgUENJX0NBUkRfUFJFRkVUQ0hBQkxFX01FTU9S WV8wX0VOQUJMRSBCSVQ4DQo+ICsjZGVmaW5lIFBDSV9DQVJEX1BSRUZFVENIQUJMRV9NRU1PUllf MV9FTkFCTEUgQklUOQ0KPiArDQo+ICsjZGVmaW5lIFBQQl9CQVJfMCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgMA0KPiArI2RlZmluZSBQUEJfQkFSXzEgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIDENCj4gKyNkZWZpbmUgUFBCX0lPX1JBTkdFICAgICAgICAgICAgICAgICAgICAgICAg ICAyDQo+ICsjZGVmaW5lIFBQQl9NRU0zMl9SQU5HRSAgICAgICAgICAgICAgICAgICAgICAgMw0K PiArI2RlZmluZSBQUEJfUE1FTTMyX1JBTkdFICAgICAgICAgICAgICAgICAgICAgIDQNCj4gKyNk ZWZpbmUgUFBCX1BNRU02NF9SQU5HRSAgICAgICAgICAgICAgICAgICAgICA1DQo+ICsjZGVmaW5l IFBQQl9NRU02NF9SQU5HRSAgICAgICAgICAgICAgICAgICAgICAgMHhGRg0KPiArDQo+ICsjZGVm aW5lIFAyQ19CQVJfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMA0KPiArI2RlZmluZSBQ MkNfTUVNXzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDENCj4gKyNkZWZpbmUgUDJDX01F TV8yICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyDQo+ICsjZGVmaW5lIFAyQ19JT18xICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgMw0KPiArI2RlZmluZSBQMkNfSU9fMiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIDQNCj4gKw0KPiArI2RlZmluZSBFRklfQlJJREdFX0lPMzJf REVDT0RFX1NVUFBPUlRFRCAgICAgIDB4MDAwMQ0KPiArI2RlZmluZSBFRklfQlJJREdFX1BNRU0z Ml9ERUNPREVfU1VQUE9SVEVEICAgIDB4MDAwMg0KPiArI2RlZmluZSBFRklfQlJJREdFX1BNRU02 NF9ERUNPREVfU1VQUE9SVEVEICAgIDB4MDAwNA0KPiArI2RlZmluZSBFRklfQlJJREdFX0lPMTZf REVDT0RFX1NVUFBPUlRFRCAgICAgIDB4MDAwOA0KPiArI2RlZmluZSBFRklfQlJJREdFX1BNRU1f TUVNX0NPTUJJTkVfU1VQUE9SVEVEIDB4MDAxMA0KPiArI2RlZmluZSBFRklfQlJJREdFX01FTTY0 X0RFQ09ERV9TVVBQT1JURUQgICAgIDB4MDAyMA0KPiArI2RlZmluZSBFRklfQlJJREdFX01FTTMy X0RFQ09ERV9TVVBQT1JURUQgICAgIDB4MDA0MA0KPiArDQo+ICsjZGVmaW5lIFBDSV9NQVhfSE9T VF9CUklER0VfTlVNICAgICAgICAgICAgICAgMHgwMDEwDQo+ICsNCj4gKy8vDQo+ICsvLyBEZWZp bmUgb3B0aW9uIGZvciBhdHRyaWJ1dGUNCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9TRVRfU1VQUE9S VFMgICAgMA0KPiArI2RlZmluZSBFRklfU0VUX0FUVFJJQlVURVMgIDENCj4gKw0KPiArI2RlZmlu ZSBQQ0lfSU9fREVWSUNFX1NJR05BVFVSRSAgICAgICAgICAgICAgIFNJR05BVFVSRV8zMiAoJ3An LCAnYycsICdpJywgJ28nKQ0KPiArDQo+ICtzdHJ1Y3QgX1BDSV9JT19ERVZJQ0Ugew0KPiArICBV SU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTaWduYXR1cmU7DQo+ICsg IEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZTsNCj4gKyAg RUZJX1BDSV9JT19QUk9UT0NPTCAgICAgICAgICAgICAgICAgICAgICAgUGNpSW87DQo+ICsgIExJ U1RfRU5UUlkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExpbms7DQo+ICsNCj4gKyAg RUZJX0JVU19TUEVDSUZJQ19EUklWRVJfT1ZFUlJJREVfUFJPVE9DT0wgUGNpRHJpdmVyT3ZlcnJp ZGU7DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICAgICAgICAgICAgICpEZXZp Y2VQYXRoOw0KPiArICBFRklfUENJX1JPT1RfQlJJREdFX0lPX1BST1RPQ09MICAgICAgICAgICAq UGNpUm9vdEJyaWRnZUlvOw0KPiArICBFRklfTE9BRF9GSUxFMl9QUk9UT0NPTCAgICAgICAgICAg ICAgICAgICBMb2FkRmlsZTI7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUENJIGNvbmZpZ3VyYXRp b24gc3BhY2UgaGVhZGVyIHR5cGUNCj4gKyAgLy8NCj4gKyAgUENJX1RZUEUwMCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgUGNpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJ1cyBudW1i ZXIsIERldmljZSBudW1iZXIsIEZ1bmN0aW9uIG51bWJlcg0KPiArICAvLw0KPiArICBVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdXNOdW1iZXI7DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZU51bWJlcjsNCj4gKyAg VUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRnVuY3Rpb25OdW1iZXI7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQkFSIGZvciB0aGlzIFBDSSBEZXZpY2UNCj4gKyAgLy8N Cj4gKyAgUENJX0JBUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNpQmFyW1BD SV9NQVhfQkFSXTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgYnJpZGdlIGRldmljZSB0aGlz IHBjaSBkZXZpY2UgaXMgc3ViamVjdCB0bw0KPiArICAvLw0KPiArICBQQ0lfSU9fREVWSUNFICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAqUGFyZW50Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEEgbGlua2VkIGxpc3QgZm9yIGNoaWxkcmVuIFBjaSBEZXZpY2UgaWYgaXQgaXMgYnJpZGdlIGRl dmljZQ0KPiArICAvLw0KPiArICBMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBDaGlsZExpc3Q7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVFJVRSBpZiB0aGUgUENJIGJ1 cyBkcml2ZXIgY3JlYXRlcyB0aGUgaGFuZGxlIGZvciB0aGlzIFBDSSBkZXZpY2UNCj4gKyAgLy8N Cj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVnaXN0ZXJl ZDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBUUlVFIGlmIHRoZSBQQ0kgYnVzIGRyaXZlciBzdWNj ZXNzZnVsbHkgYWxsb2NhdGVzIHRoZSByZXNvdXJjZSByZXF1aXJlZCBieQ0KPiArICAvLyB0aGlz IFBDSSBkZXZpY2UNCj4gKyAgLy8NCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQWxsb2NhdGVkOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBhdHRyaWJ1 dGUgdGhpcyBQQ0kgZGV2aWNlIGN1cnJlbnRseSBzZXQNCj4gKyAgLy8NCj4gKyAgVUlOVDY0ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQXR0cmlidXRlczsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBUaGUgYXR0cmlidXRlcyB0aGlzIFBDSSBkZXZpY2UgYWN0dWFsbHkgc3VwcG9y dHMNCj4gKyAgLy8NCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgU3VwcG9ydHM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIHJlc291cmNlIGRlY29kZSB0 aGUgYnJpZGdlIHN1cHBvcnRzDQo+ICsgIC8vDQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIERlY29kZXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVFJVRSBp ZiB0aGUgUk9NIGltYWdlIGlzIGZyb20gdGhlIFBDSSBPcHRpb24gUk9NIEJBUg0KPiArICAvLw0K PiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBFbWJlZGRlZFJv bTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgT3B0aW9uUm9tIFNpemUNCj4gKyAgLy8NCj4g KyAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tU2l6ZTsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBUaGUgT3B0aW9uUm9tIFNpemUNCj4gKyAgLy8NCj4gKyAgVUlO VDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUm9tQmFzZTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBUUlVFIGlmIGFsbCBPcFJPTSAoaW4gZGV2aWNlIG9yIGluIHBsYXRmb3Jt IHNwZWNpZmljIHBvc2l0aW9uKSBoYXZlIGJlZW4NCj4gcHJvY2Vzc2VkDQo+ICsgIC8vDQo+ICsg IEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEFsbE9wUm9tUHJvY2Vz c2VkOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRSVUUgaWYgdGhlcmUgaXMgYW55IEVGSSBkcml2 ZXIgaW4gdGhlIE9wdGlvblJvbQ0KPiArICAvLw0KPiArICBCT09MRUFOICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBCdXNPdmVycmlkZTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBB IGxpc3QgdHJhY2tpbmcgcmVzZXJ2ZWQgcmVzb3VyY2Ugb24gYSBicmlkZ2UgZGV2aWNlDQo+ICsg IC8vDQo+ICsgIExJU1RfRU5UUlkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlc2Vy dmVkUmVzb3VyY2VMaXN0Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEEgbGlzdCB0cmFja2luZyBp bWFnZSBoYW5kbGUgb2YgcGxhdGZvcm0gc3BlY2lmaWMgb3ZlcnJpZGluZyBkcml2ZXINCj4gKyAg Ly8NCj4gKyAgTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3B0aW9u Um9tRHJpdmVyTGlzdDsNCj4gKw0KPiArICBFRklfQUNQSV9BRERSRVNTX1NQQUNFX0RFU0NSSVBU T1INCj4gKlJlc291cmNlUGFkZGluZ0Rlc2NyaXB0b3JzOw0KPiArICBFRklfSFBDX1BBRERJTkdf QVRUUklCVVRFUyAgICAgICAgICAgICAgICBQYWRkaW5nQXR0cmlidXRlczsNCj4gKw0KPiArICBC T09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc1BjaUV4cDsNCj4gKw0K PiArICAvLw0KPiArICAvLyBGb3IgU1ItSU9WDQo+ICsgIC8vDQo+ICsgIFVJTlQ4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBjaUV4cHJlc3NDYXBhYmlsaXR5T2Zmc2V0Ow0K PiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcmlDYXBhYmls aXR5T2Zmc2V0Ow0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBTcklvdkNhcGFiaWxpdHlPZmZzZXQ7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1ySW92Q2FwYWJpbGl0eU9mZnNldDsNCj4gKyAgUENJX0JBUiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmZQY2lCYXJbUENJX01BWF9CQVJdOw0KPiAr ICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBTeXN0ZW1QYWdlU2l6 ZTsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5pdGlh bFZGczsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVz ZXJ2ZWRCdXNOdW07DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUGVyIFBDSSB0byBQQ0kgQnJpZGdl IHNwZWMsIEkvTyB3aW5kb3cgaXMgNEsgYWxpZ25lZCwNCj4gKyAgLy8gYnV0IHNvbWUgY2hpcHNl dHMgc3VwcG9ydCBub24tc3RhbmRhcmQgSS9PIHdpbmRvdyBhbGlnbm1lbnRzIGxlc3MNCj4gdGhh biA0Sy4NCj4gKyAgLy8gVGhpcyBmaWVsZCBpcyB1c2VkIHRvIHN1cHBvcnQgdGhpcyBjYXNlLg0K PiArICAvLw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBC cmlkZ2VJb0FsaWdubWVudDsNCj4gK307DQo+ICsNCj4gKyNkZWZpbmUgUENJX0lPX0RFVklDRV9G Uk9NX1BDSV9JT19USElTKGEpIFwNCj4gKyAgQ1IgKGEsIFBDSV9JT19ERVZJQ0UsIFBjaUlvLCBQ Q0lfSU9fREVWSUNFX1NJR05BVFVSRSkNCj4gKw0KPiArI2RlZmluZSBQQ0lfSU9fREVWSUNFX0ZS T01fUENJX0RSSVZFUl9PVkVSUklERV9USElTKGEpIFwNCj4gKyAgQ1IgKGEsIFBDSV9JT19ERVZJ Q0UsIFBjaURyaXZlck92ZXJyaWRlLCBQQ0lfSU9fREVWSUNFX1NJR05BVFVSRSkNCj4gKw0KPiAr I2RlZmluZSBQQ0lfSU9fREVWSUNFX0ZST01fTElOSyhhKSBcDQo+ICsgIENSIChhLCBQQ0lfSU9f REVWSUNFLCBMaW5rLCBQQ0lfSU9fREVWSUNFX1NJR05BVFVSRSkNCj4gKw0KPiArI2RlZmluZSBQ Q0lfSU9fREVWSUNFX0ZST01fTE9BRF9GSUxFMl9USElTKGEpIFwNCj4gKyAgQ1IgKGEsIFBDSV9J T19ERVZJQ0UsIExvYWRGaWxlMiwgUENJX0lPX0RFVklDRV9TSUdOQVRVUkUpDQo+ICsNCj4gKw0K PiArDQo+ICsvLw0KPiArLy8gR2xvYmFsIFZhcmlhYmxlcw0KPiArLy8NCj4gK2V4dGVybiBFRklf SU5DT01QQVRJQkxFX1BDSV9ERVZJQ0VfU1VQUE9SVF9QUk9UT0NPTA0KPiAqZ0VmaUluY29tcGF0 aWJsZVBjaURldmljZVN1cHBvcnQ7DQo+ICtleHRlcm4gRUZJX0RSSVZFUl9CSU5ESU5HX1BST1RP Q09MICAgICAgICAgICAgICAgICAgZ1BjaUJ1c0RyaXZlckJpbmRpbmc7DQo+ICtleHRlcm4gRUZJ X0NPTVBPTkVOVF9OQU1FX1BST1RPQ09MDQo+IGdQY2lCdXNDb21wb25lbnROYW1lOw0KPiArZXh0 ZXJuIEVGSV9DT01QT05FTlRfTkFNRTJfUFJPVE9DT0wNCj4gZ1BjaUJ1c0NvbXBvbmVudE5hbWUy Ow0KPiArZXh0ZXJuIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IGdGdWxsRW51bWVyYXRpb247DQo+ICtleHRlcm4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgZ1BjaUhvc3RCcmlkZ2VOdW1iZXI7DQo+ICtleHRlcm4gRUZJX0hB TkRMRQ0KPiBnUGNpSG9zdEJyaWdlSGFuZGxlc1tQQ0lfTUFYX0hPU1RfQlJJREdFX05VTV07DQo+ ICtleHRlcm4gVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ0Fs bE9uZTsNCj4gK2V4dGVybiBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBnQWxsWmVybzsNCj4gK2V4dGVybiBFRklfUENJX1BMQVRGT1JNX1BST1RPQ09MICAgICAg ICAgICAgICAgICAgICAqZ1BjaVBsYXRmb3JtUHJvdG9jb2w7DQo+ICtleHRlcm4gRUZJX1BDSV9P VkVSUklERV9QUk9UT0NPTCAgICAgICAgICAgICAgICAgICAgKmdQY2lPdmVycmlkZVByb3RvY29s Ow0KPiArZXh0ZXJuIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IG1SZXNlcnZlSXNhQWxpYXNlczsNCj4gK2V4dGVybiBCT09MRUFOICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBtUmVzZXJ2ZVZnYUFsaWFzZXM7DQo+ICsNCj4gKy8qKg0KPiAr ICBNYWNybyB0aGF0IGNoZWNrcyB3aGV0aGVyIGRldmljZSBpcyBhIEdGWCBkZXZpY2UuDQo+ICsN Cj4gKyAgQHBhcmFtICBfcCAgICAgIFNwZWNpZmllZCBkZXZpY2UuDQo+ICsNCj4gKyAgQHJldHZh bCBUUlVFICAgIERldmljZSBpcyBhIEdGWCBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRkFMU0UgICBE ZXZpY2UgaXMgbm90IGEgR0ZYIGRldmljZS4NCj4gKw0KPiArKiovDQo+ICsjZGVmaW5lIElTX1BD SV9HRlgoX3ApICAgICBJU19DTEFTUzIgKF9wLCBQQ0lfQ0xBU1NfRElTUExBWSwNCj4gUENJX0NM QVNTX0RJU1BMQVlfT1RIRVIpDQo+ICsNCj4gKy8qKg0KPiArICBUZXN0IHRvIHNlZSBpZiB0aGlz IGRyaXZlciBzdXBwb3J0cyBDb250cm9sbGVySGFuZGxlLiBBbnkgQ29udHJvbGxlckhhbmRsZQ0K PiArICB0aGFuIGNvbnRhaW5zIGEgZ0VmaVBjaVJvb3RCcmlkZ2VJb1Byb3RvY29sR3VpZCBwcm90 b2NvbCBjYW4gYmUNCj4gc3VwcG9ydGVkLg0KPiArDQo+ICsgIEBwYXJhbSAgVGhpcyAgICAgICAg ICAgICAgICBQcm90b2NvbCBpbnN0YW5jZSBwb2ludGVyLg0KPiArICBAcGFyYW0gIENvbnRyb2xs ZXIgICAgICAgICAgSGFuZGxlIG9mIGRldmljZSB0byB0ZXN0Lg0KPiArICBAcGFyYW0gIFJlbWFp bmluZ0RldmljZVBhdGggT3B0aW9uYWwgcGFyYW1ldGVyIHVzZSB0byBwaWNrIGEgc3BlY2lmaWMN Cj4gY2hpbGQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldmljZSB0byBzdGFy dC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgVGhpcyBkcml2ZXIgc3Vw cG9ydHMgdGhpcyBkZXZpY2UuDQo+ICsgIEByZXR2YWwgRUZJX0FMUkVBRFlfU1RBUlRFRCBUaGlz IGRyaXZlciBpcyBhbHJlYWR5IHJ1bm5pbmcgb24gdGhpcw0KPiBkZXZpY2UuDQo+ICsgIEByZXR2 YWwgb3RoZXIgICAgICAgICAgICAgICBUaGlzIGRyaXZlciBkb2VzIG5vdCBzdXBwb3J0IHRoaXMg ZGV2aWNlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUGNpQnVz RHJpdmVyQmluZGluZ1N1cHBvcnRlZCAoDQo+ICsgIElOIEVGSV9EUklWRVJfQklORElOR19QUk9U T0NPTCAgICAqVGhpcywNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgIENv bnRyb2xsZXIsDQo+ICsgIElOIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCAgICAgICAqUmVtYWlu aW5nRGV2aWNlUGF0aA0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgU3RhcnQgdGhpcyBkcml2 ZXIgb24gQ29udHJvbGxlckhhbmRsZSBhbmQgZW51bWVyYXRlIFBjaSBidXMgYW5kIHN0YXJ0DQo+ ICsgIGFsbCBkZXZpY2UgdW5kZXIgUENJIGJ1cy4NCj4gKw0KPiArICBAcGFyYW0gIFRoaXMgICAg ICAgICAgICAgICAgIFByb3RvY29sIGluc3RhbmNlIHBvaW50ZXIuDQo+ICsgIEBwYXJhbSAgQ29u dHJvbGxlciAgICAgICAgICAgSGFuZGxlIG9mIGRldmljZSB0byBiaW5kIGRyaXZlciB0by4NCj4g KyAgQHBhcmFtICBSZW1haW5pbmdEZXZpY2VQYXRoICBPcHRpb25hbCBwYXJhbWV0ZXIgdXNlIHRv IHBpY2sgYSBzcGVjaWZpYw0KPiBjaGlsZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRldmljZSB0byBzdGFydC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgIFRoaXMgZHJpdmVyIGlzIGFkZGVkIHRvIENvbnRyb2xsZXJIYW5kbGUuDQo+ICsgIEByZXR2 YWwgRUZJX0FMUkVBRFlfU1RBUlRFRCAgVGhpcyBkcml2ZXIgaXMgYWxyZWFkeSBydW5uaW5nIG9u DQo+IENvbnRyb2xsZXJIYW5kbGUuDQo+ICsgIEByZXR2YWwgb3RoZXIgICAgICAgICAgICAgICAg VGhpcyBkcml2ZXIgZG9lcyBub3Qgc3VwcG9ydCB0aGlzIGRldmljZS4NCj4gKw0KPiArKiovDQo+ ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1BjaUJ1c0RyaXZlckJpbmRpbmdTdGFydCAoDQo+ ICsgIElOIEVGSV9EUklWRVJfQklORElOR19QUk9UT0NPTCAgICAqVGhpcywNCj4gKyAgSU4gRUZJ X0hBTkRMRSAgICAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXIsDQo+ICsgIElOIEVGSV9ERVZJ Q0VfUEFUSF9QUk9UT0NPTCAgICAgICAqUmVtYWluaW5nRGV2aWNlUGF0aA0KPiArICApOw0KPiAr DQo+ICsvKioNCj4gKyAgU3RvcCB0aGlzIGRyaXZlciBvbiBDb250cm9sbGVySGFuZGxlLiBTdXBw b3J0IHN0b3BwaW5nIGFueSBjaGlsZCBoYW5kbGVzDQo+ICsgIGNyZWF0ZWQgYnkgdGhpcyBkcml2 ZXIuDQo+ICsNCj4gKyAgQHBhcmFtICBUaGlzICAgICAgICAgICAgICBQcm90b2NvbCBpbnN0YW5j ZSBwb2ludGVyLg0KPiArICBAcGFyYW0gIENvbnRyb2xsZXIgICAgICAgIEhhbmRsZSBvZiBkZXZp Y2UgdG8gc3RvcCBkcml2ZXIgb24uDQo+ICsgIEBwYXJhbSAgTnVtYmVyT2ZDaGlsZHJlbiAgTnVt YmVyIG9mIEhhbmRsZXMgaW4gQ2hpbGRIYW5kbGVCdWZmZXIuIElmDQo+IG51bWJlciBvZg0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNoaWxkcmVuIGlzIHplcm8gc3RvcCB0aGUgZW50 aXJlIGJ1cyBkcml2ZXIuDQo+ICsgIEBwYXJhbSAgQ2hpbGRIYW5kbGVCdWZmZXIgTGlzdCBvZiBD aGlsZCBIYW5kbGVzIHRvIFN0b3AuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICBUaGlzIGRyaXZlciBpcyByZW1vdmVkIENvbnRyb2xsZXJIYW5kbGUuDQo+ICsgIEByZXR2YWwg b3RoZXIgICAgICAgICAgICAgVGhpcyBkcml2ZXIgd2FzIG5vdCByZW1vdmVkIGZyb20gdGhpcyBk ZXZpY2UuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtQY2lCdXNE cml2ZXJCaW5kaW5nU3RvcCAoDQo+ICsgIElOICBFRklfRFJJVkVSX0JJTkRJTkdfUFJPVE9DT0wg ICAqVGhpcywNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIENvbnRyb2xs ZXIsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBOdW1iZXJPZkNoaWxk cmVuLA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgKkNoaWxkSGFuZGxl QnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvUGNpRGV2aWNlLmMNCj4gYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9QY2lEZXZpY2UuYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41ODJkODYyN2NkDQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1EeGUvUGNpRGV2aWNlLmMNCj4gQEAgLTAsMCArMSw1MDYgQEANCj4gKy8qKiBAZmlsZQ0K PiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKw0KPiArICBQY2lEZXZpY2UuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4g Kw0KPiArICBQbGF0Zm9ybSBJbml0aWFsaXphdGlvbiBEcml2ZXIuDQo+ICsNCj4gK1JldmlzaW9u IEhpc3RvcnkNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1EeGUuaCIN Cj4gKyNpbmNsdWRlICJMaWJyYXJ5L0R4ZVNlcnZpY2VzVGFibGVMaWIuaCINCj4gKyNpbmNsdWRl ICJQY2lCdXMuaCINCj4gKyNpbmNsdWRlICJHdWlkL1BjaUxhbkluZm8uaCINCj4gKw0KPiArZXh0 ZXJuICBWT0lEICAgICptUGNpTGFuSW5mbzsNCj4gK2V4dGVybiAgVUlOVE4gICBtUGNpTGFuQ291 bnQ7DQo+ICsNCj4gK2V4dGVybiAgRUZJX0hBTkRMRSAgbUltYWdlSGFuZGxlOw0KPiArZXh0ZXJu ICBTWVNURU1fQ09ORklHVVJBVElPTiAgICBtU3lzdGVtQ29uZmlndXJhdGlvbjsNCj4gKw0KPiAr DQo+ICtWT0lEICAgICAgICptUGNpUmVnaXN0cmF0aW9uOw0KPiArI2RlZmluZSBOQ1JfVkVORE9S X0lEICAweDEwMDANCj4gKyNkZWZpbmUgQVRJX1ZFTkRPUl9JRCAgMHgxMDAyDQo+ICsjZGVmaW5l IElOVEVMX1ZFTkRPUl9JRCAweDgwODYNCj4gKyNkZWZpbmUgQVRJX1JWNDIzX0lEICAgMHg1NTQ4 DQo+ICsjZGVmaW5lIEFUSV9SVjQyM19JRDIgIDB4NWQ1Nw0KPiArI2RlZmluZSBBVElfUlYzODBf SUQgICAweDNlNTANCj4gKyNkZWZpbmUgQVRJX1JWMzcwX0lEICAgMHg1YjYwDQo+ICsjZGVmaW5l IFNJX1ZFTkRPUl9JRCAgIDB4MTA5NQ0KPiArI2RlZmluZSBTSV9TSVNBVEFfSUQgICAweDMxMTQN Cj4gKyNkZWZpbmUgU0lfU0lSQUlEX1BDSVVOTCAweDQwDQo+ICsjZGVmaW5lIElOVEVMXzgyNTcz RV9JREVSIDB4MTA4RA0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgQ2xhc3NDb2RlOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgIFN1YkNsYXNzQ29k ZTsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICBWZW5kb3JJZDsNCj4gKyAgVUlOVDE2ICAgICAg ICAgICAgICBEZXZpY2VJZDsNCj4gK30gQkFEX0RFVklDRV9UQUJMRTsNCj4gKw0KPiArQkFEX0RF VklDRV9UQUJMRSBCYWREZXZpY2VUYWJsZVtdID0gew0KPiArDQo+IHsoVUlOVDgpUENJX0NMQVNT X01BU1NfU1RPUkFHRSwoVUlOVDgpUENJX0NMQVNTX01BU1NfU1RPUkFHRV9TDQo+IENTSSwoVUlO VDE2KU5DUl9WRU5ET1JfSUQsIChVSU5UMTYpMHhmZmZmfSwgLy8gQW55IE5DUiBjYXJkcw0KPiAr DQo+IHsoVUlOVDgpUENJX0NMQVNTX01BU1NfU1RPUkFHRSwoVUlOVDgpUENJX0NMQVNTX01BU1Nf U1RPUkFHRV9JDQo+IERFLChVSU5UMTYpSU5URUxfVkVORE9SX0lELCAoVUlOVDE2KUlOVEVMXzgy NTczRV9JREVSfSwgIC8vIEludGVsDQo+IGk4MjU3M0UgVGVrb2EgR0JpdCBMYW4gSURFLVINCj4g KyAgICAgICAgICAgICAgICAgICAgeyhVSU5UOCkweGZmLChVSU5UOCkweGZmLChVSU5UMTYpMHhm ZmZmLChVSU5UMTYpMHhmZmZmfQ0KPiArICAgICAgICAgICAgICAgICAgfTsNCj4gKw0KPiArRUZJ X1NUQVRVUw0KPiArUGNpQnVzRHJpdmVySG9vayAoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9FVkVOVCAgICAgICAgICAgICAg ICAgRmlsdGVyRXZlbnQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVnaXN0ZXIgZm9yIGNhbGxi YWNrIHRvIFBDSSBJL08gcHJvdG9jb2wNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5DcmVh dGVFdmVudCAoDQo+ICsgICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCwNCj4gKyAg ICAgICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCj4gKyAgICAgICAgICAgICAgICAgIFBjaUJ1 c0V2ZW50LA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAg ICZGaWx0ZXJFdmVudA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9F UlJPUihTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlZ2lzdGVyIGZvciBwcm90b2Nv bCBub3RpZmljYXRpb25zIG9uIHRoaXMgZXZlbnQNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JT LT5SZWdpc3RlclByb3RvY29sTm90aWZ5ICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpUGNp SW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBGaWx0ZXJFdmVudCwNCj4gKyAg ICAgICAgICAgICAgICAgICZtUGNpUmVnaXN0cmF0aW9uDQo+ICsgICAgICAgICAgICAgICAgICAp Ow0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIHJldHVybiAgRUZJ X1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK0luaXRCYWRCYXJzKA0KPiArICBJTiAg ICBFRklfUENJX0lPX1BST1RPQ09MICAgICAgICAgICAqUGNpSW8sDQo+ICsgIElOICAgIFVJTlQx NiAgICAgICAgICAgICAgICAgICAgICAgIFZlbmRvcklkLA0KPiArICBJTiAgICBVSU5UMTYgICAg ICAgICAgICAgICAgICAgICAgICBEZXZpY2VJZA0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgVUlO VDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQmFzZUFkZHJlc3MgPSAwOw0KPiArICBV SU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUZW1wQmFzZUFkZHJlc3MgPSAwOw0K PiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZXZJZCA9IDA7DQo+ICsg IFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJhcjsNCj4gKyAgVUlOVDY0ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW9TaXplOw0KPiArICBVSU5UNjQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNZW1TaXplOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBNZW1TaXplQml0czsNCj4gKw0KPiArICBzd2l0Y2ggKCBWZW5kb3JJZCkg ew0KPiArICAgIGNhc2UgQVRJX1ZFTkRPUl9JRDoNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyAg QVRJIGZpeC11cHMuIEF0IHRoaXMgdGltZSBhbGwgQVRJIGNhcmRzIGluIEJhZERldmljZVRhYmxl DQo+ICsgICAgICAvLyAgaGF2ZSBzYW1lIHByb2JsZW0gaW4gdGhhdCBPUFJPTSBCQVIgbmVlZHMg dG8gYmUgaW5jcmVhc2VkLg0KPiArICAgICAgLy8NCj4gKyAgICAgIEJhciA9IDB4MzAgOw0KPiAr ICAgICAgLy8NCj4gKyAgICAgIC8vIEdldCBvcmlnaW5hbCBCQVIgYWRkcmVzcw0KPiArICAgICAg Ly8NCj4gKyAgICAgIFBjaUlvLT5QY2kuUmVhZCAoDQo+ICsgICAgICAgICAgICAgICAgICAgUGNp SW8sDQo+ICsgICAgICAgICAgICAgICAgICAgRWZpUGNpSW9XaWR0aFVpbnQzMiwNCj4gKyAgICAg ICAgICAgICAgICAgICBCYXIsDQo+ICsgICAgICAgICAgICAgICAgICAgMSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgKFZPSUQgKikgJkJhc2VBZGRyZXNzDQo+ICsgICAgICAgICAgICAgICAg ICAgKTsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBGaW5kIEJBUiBzaXplDQo+ICsgICAgICAv Lw0KPiArICAgICAgVGVtcEJhc2VBZGRyZXNzID0gMHhmZmZmZmZmZjsNCj4gKyAgICAgIFBjaUlv LT5QY2kuV3JpdGUgKA0KPiArICAgICAgICAgICAgICAgICAgIFBjaUlvLA0KPiArICAgICAgICAg ICAgICAgICAgIEVmaVBjaUlvV2lkdGhVaW50MzIsDQo+ICsgICAgICAgICAgICAgICAgICAgQmFy LA0KPiArICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAo Vk9JRCAqKSAmVGVtcEJhc2VBZGRyZXNzDQo+ICsgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg ICAgIFBjaUlvLT5QY2kuUmVhZCAoDQo+ICsgICAgICAgICAgICAgICAgICAgUGNpSW8sDQo+ICsg ICAgICAgICAgICAgICAgICAgRWZpUGNpSW9XaWR0aFVpbnQzMiwNCj4gKyAgICAgICAgICAgICAg ICAgICBCYXIsDQo+ICsgICAgICAgICAgICAgICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgKFZPSUQgKikgJlRlbXBCYXNlQWRkcmVzcw0KPiArICAgICAgICAgICAgICAgICAgICk7 DQo+ICsgICAgICBUZW1wQmFzZUFkZHJlc3MgJj0gMHhmZmZmZmZmZTsNCj4gKyAgICAgIE1lbVNp emUgPSAxOw0KPiArICAgICAgd2hpbGUgKChUZW1wQmFzZUFkZHJlc3MgJiAweDAxKSA9PSAwKSB7 DQo+ICsgICAgICAgIFRlbXBCYXNlQWRkcmVzcyA9IFRlbXBCYXNlQWRkcmVzcyA+PiAxOw0KPiAr ICAgICAgICBNZW1TaXplID0gTWVtU2l6ZSA8PCAxOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAg ICAvLw0KPiArICAgICAgLy8gRnJlZSB1cCBhbGxvY2F0ZWQgbWVtb3J5IG1lbW9yeSBhbmQgcmUt YWxsb2NhdGUgd2l0aCBpbmNyZWFzZWQgc2l6ZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBnRFMt PkZyZWVNZW1vcnlTcGFjZSAoDQo+ICsgICAgICAgICAgICAgQmFzZUFkZHJlc3MsDQo+ICsgICAg ICAgICAgICAgTWVtU2l6ZQ0KPiArICAgICAgICAgICAgICk7DQo+ICsgICAgICAvLw0KPiArICAg ICAgLy8gRm9yY2UgbmV3IGFsaWdubWVudA0KPiArICAgICAgLy8NCj4gKyAgICAgIE1lbVNpemUg PSAweDgwMDAwMDA7DQo+ICsgICAgICBNZW1TaXplQml0cyA9IDI4Ow0KPiArDQo+ICsgICAgICBn RFMtPkFsbG9jYXRlTWVtb3J5U3BhY2UgKA0KPiArICAgICAgICAgICAgIEVmaUdjZEFsbG9jYXRl QW55U2VhcmNoQm90dG9tVXAsDQo+ICsgICAgICAgICAgICAgRWZpR2NkTWVtb3J5VHlwZU1lbW9y eU1hcHBlZElvLA0KPiArICAgICAgICAgICAgIE1lbVNpemVCaXRzLCAgICAgICAgICAgLy8gQWxp Z25tZW50DQo+ICsgICAgICAgICAgICAgTWVtU2l6ZSwNCj4gKyAgICAgICAgICAgICAmQmFzZUFk ZHJlc3MsDQo+ICsgICAgICAgICAgICAgbUltYWdlSGFuZGxlLA0KPiArICAgICAgICAgICAgIE5V TEwNCj4gKyAgICAgICAgICAgICApOw0KPiArICAgICAgUGNpSW8tPlBjaS5Xcml0ZSAoDQo+ICsg ICAgICAgICAgICAgICAgICAgUGNpSW8sDQo+ICsgICAgICAgICAgICAgICAgICAgRWZpUGNpSW9X aWR0aFVpbnQzMiwNCj4gKyAgICAgICAgICAgICAgICAgICBCYXIsDQo+ICsgICAgICAgICAgICAg ICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIChWT0lEICopICZCYXNlQWRkcmVz cw0KPiArICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAg IGNhc2UgICAgTkNSX1ZFTkRPUl9JRDoNCj4gKyNkZWZpbmUgTUlOX05DUl9JT19TSVpFICAweDgw MA0KPiArI2RlZmluZSBOQ1JfR1JBTiAgMTEgIC8vIDIqKjExID0gMHg4MDANCj4gKyAgLy8NCj4g KyAgLy8gTkNSIFNDU0kgY2FyZHMgbGlrZSA4MjUwUyBsaWUgYWJvdXQgSU8gbmVlZGVkLiBBc3Np Z24gYXMgbGVhc3QgMHg4MC4NCj4gKyAgLy8NCj4gKyAgZm9yIChCYXIgPSAweDEwOyBCYXIgPCAw eDI4OyBCYXIrPSA0KSB7DQo+ICsNCj4gKyAgICBQY2lJby0+UGNpLlJlYWQgKA0KPiArICAgICAg ICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAgICAgICAgRWZpUGNpSW9XaWR0aFVpbnQz MiwNCj4gKyAgICAgICAgICAgICAgICAgQmFyLA0KPiArICAgICAgICAgICAgICAgICAxLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKikgJkJhc2VBZGRyZXNzDQo+ICsgICAgICAgICAg ICAgICAgICk7DQo+ICsgICAgaWYgKEJhc2VBZGRyZXNzICYmIDB4MDEpIHsNCj4gKyAgICAgIFRl bXBCYXNlQWRkcmVzcyA9IDB4ZmZmZmZmZmY7DQo+ICsgICAgICBQY2lJby0+UGNpLldyaXRlICgN Cj4gKyAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAgICAgICAgICBFZmlQ Y2lJb1dpZHRoVWludDMyLA0KPiArICAgICAgICAgICAgICAgICAgIEJhciwNCj4gKyAgICAgICAg ICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKikgJlRlbXBC YXNlQWRkcmVzcw0KPiArICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBUZW1wQmFzZUFk ZHJlc3MgJj0gMHhmZmZmZmZmYzsNCj4gKyAgICAgIElvU2l6ZSA9IDE7DQo+ICsgICAgICB3aGls ZSAoKFRlbXBCYXNlQWRkcmVzcyAmIDB4MDEpID09IDApIHsNCj4gKyAgICAgICAgVGVtcEJhc2VB ZGRyZXNzID0gVGVtcEJhc2VBZGRyZXNzID4+IDE7DQo+ICsgICAgICAgIElvU2l6ZSA9IElvU2l6 ZSA8PCAxOw0KPiArICAgICAgfQ0KPiArICAgICAgaWYgKElvU2l6ZSA8IE1JTl9OQ1JfSU9fU0la RSkgew0KPiArICAgICAgICBnRFMtPkZyZWVJb1NwYWNlICgNCj4gKyAgICAgICAgICAgICAgIEJh c2VBZGRyZXNzLA0KPiArICAgICAgICAgICAgICAgSW9TaXplDQo+ICsgICAgICAgICAgICAgICAp Ow0KPiArDQo+ICsgICAgICAgIGdEUy0+QWxsb2NhdGVJb1NwYWNlICgNCj4gKyAgICAgICAgICAg ICAgIEVmaUdjZEFsbG9jYXRlQW55U2VhcmNoVG9wRG93biwNCj4gKyAgICAgICAgICAgICAgIEVm aUdjZElvVHlwZUlvLA0KPiArICAgICAgICAgICAgICAgTkNSX0dSQU4sICAgICAgICAgICAvLyBB bGlnbm1lbnQNCj4gKyAgICAgICAgICAgICAgIE1JTl9OQ1JfSU9fU0laRSwNCj4gKyAgICAgICAg ICAgICAgICZCYXNlQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgIG1JbWFnZUhhbmRsZSwNCj4g KyAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgICAgICAgIFRl bXBCYXNlQWRkcmVzcyA9IEJhc2VBZGRyZXNzICsgMTsNCj4gKyAgICAgICAgUGNpSW8tPlBjaS5X cml0ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAgICAg ICAgICAgIEVmaVBjaUlvV2lkdGhVaW50MzIsDQo+ICsgICAgICAgICAgICAgICAgICAgICBCYXIs DQo+ICsgICAgICAgICAgICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAoVk9JRCAqKSAmVGVtcEJhc2VBZGRyZXNzDQo+ICsgICAgICAgICAgICAgICAgICAgICApOw0K PiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgICAgICBicmVhazsNCj4gKw0K PiArICAgIGNhc2UgSU5URUxfVkVORE9SX0lEOg0KPiArICAgICAgaWYgKERldmljZUlkID09IElO VEVMXzgyNTczRV9JREVSKSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vICBUZWtvYSBp ODI1NzNFIElERS1SIGZpeC11cHMuIEF0IHRoaXMgdGltZSBBMiBzdGVwIGFuZCBlYXJsaWVyIHBh cnRzIGRvDQo+IG5vdA0KPiArICAgICAgICAvLyAgc3VwcG9ydCBhbnkgQkFScyBleGNlcHQgQkFS MC4gT3RoZXIgQkFSUyB3aWxsIGFjdHVhbHkgbWFwIHRvIEJBUjANCj4gc28gZGlzYWJsZQ0KPiAr ICAgICAgICAvLyAgdGhlbSBhbGwgZm9yIENvbnRyb2wgQmxvY2tzIGFuZCBCdXMgbWFzdGVyaW5n IG9wcyBhcyB3ZWxsIGFzDQo+IFNlY29uZGFyeSBJREUNCj4gKyAgICAgICAgLy8gIENvbnRyb2xs ZXIuDQo+ICsgICAgICAgIC8vICBBbGwgVGVrb2EgQTIgb3IgZWFybGllciBzdGVwIGNoaXBzIGZv ciBub3cuDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFBjaUlvLT5QY2kuUmVhZCAoDQo+ICsg ICAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAgICAgICAgICAgIEVmaVBj aUlvV2lkdGhVaW50OCwNCj4gKyAgICAgICAgICAgICAgICAgICAgIFBDSV9SRVZJU0lPTl9JRF9P RkZTRVQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAgICAg ICAgJlJldklkDQo+ICsgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICBpZiAoUmV2 SWQgPD0gMHgwMikgew0KPiArICAgICAgICAgIGZvciAoQmFyID0gMHgxNDsgQmFyIDwgMHgyNDsg QmFyKz0gNCkgew0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vIE1heWJlIHdh bnQgdG8gY2xlYW4gdGhpcyB1cCBhIGJpdCBsYXRlciBidXQgZm9yIG5vdyBqdXN0IGNsZWFyIG91 dA0KPiB0aGUgc2Vjb25kYXJ5DQo+ICsgICAgICAgICAgICAvLyBCYXJzIGRvbid0IHdvcnJ5IGFi b3l1dCBmcmVlaW5nIHVwIHRoZ2UgYWxsb2NzLg0KPiArICAgICAgICAgICAgLy8NCj4gKyAgICAg ICAgICAgIFRlbXBCYXNlQWRkcmVzcyA9IDB4MDsNCj4gKyAgICAgICAgICAgIFBjaUlvLT5QY2ku V3JpdGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIFBjaUlvLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgIEVmaVBjaUlvV2lkdGhVaW50MzIsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgQmFyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKSAmVGVtcEJhc2VBZGRyZXNzDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgICB9IC8vIGVuZCBmb3INCj4gKyAg ICAgICAgfQ0KPiArICAgICAgICBlbHNlDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgCS8vDQo+ ICsgICAgICAgICAgLy9UZWtvYSBBMyBvciBhYm92ZToNCj4gKyAgICAgICAgICAvL0NsZWFyIGJ1 cyBtYXN0ZXIgYmFzZSBhZGRyZXNzIChQQ0kgcmVnaXN0ZXIgMHgyMCkNCj4gKyAgICAgICAgICAv L3NpbmNlIFRla29hIGRvZXMgbm90IGZ1bGx5IHN1cHBvcnQgSURFIEJ1cyBNYXN0ZXJpbmcNCj4g KyAgICAgICAgICAvLw0KPiArICAgICAgICAgIFRlbXBCYXNlQWRkcmVzcyA9IDB4MDsNCj4gKyAg ICAgICAgICBQY2lJby0+UGNpLldyaXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgUGNp SW8sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIEVmaVBjaUlvV2lkdGhVaW50MzIsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgIDB4MjAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIDEs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKikgJlRlbXBCYXNlQWRkcmVz cw0KPiArICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICB9DQo+ICsgICAgICB9 DQo+ICsgICAgICBicmVhazsNCj4gKw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICBicmVhazsN Cj4gKyAgfQ0KPiArICByZXR1cm47DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK1Byb2dyYW1QY2lM YXRlbmN5KA0KPiArICBJTiAgICBFRklfUENJX0lPX1BST1RPQ09MICAgICAgICAgICAqUGNpSW8N Cj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBQcm9ncmFtIE1hc3RlciBMYXRlbmN5IFRp bWVyDQo+ICsgIC8vDQo+ICsgIGlmIChtU3lzdGVtQ29uZmlndXJhdGlvbi5QY2lMYXRlbmN5ICE9 IDApIHsNCj4gKyAgICAgUGNpSW8tPlBjaS5Xcml0ZSAoDQo+ICsgICAgICAgICAgICAgICAgICBQ Y2lJbywNCj4gKyAgICAgICAgICAgICAgICAgIEVmaVBjaUlvV2lkdGhVaW50OCwNCj4gKyAgICAg ICAgICAgICAgICAgIFBDSV9MQVRFTkNZX1RJTUVSX09GRlNFVCwNCj4gKyAgICAgICAgICAgICAg ICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAmbVN5c3RlbUNvbmZpZ3VyYXRpb24uUGNpTGF0 ZW5jeQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgfQ0KPiArICByZXR1cm47DQo+ICt9 DQo+ICsNCj4gKy8qKg0KPiArRHVyaW5nIFM1IHNodXRkb3duLCB3ZSBuZWVkIHRvIHByb2dyYW0g UE1FIGluIGFsbCBMQU4gZGV2aWNlcy4NCj4gK0hlcmUgd2UgaWRlbnRpZnkgTEFOIGRldmljZXMg YW5kIHNhdmUgdGhlaXIgYnVzL2Rldi9mdW5jLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK1Nh dmVQY2lMYW5BZGRyZXNzKA0KPiArICBJTiBFRklfUENJX0lPX1BST1RPQ09MICAgICpQY2lJbw0K PiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVE4g ICAgICAgICAgICAgUGNpU2VnbWVudCwNCj4gKyAgICAgICAgICAgICAgICAgICAgUGNpQnVzLA0K PiArICAgICAgICAgICAgICAgICAgICBQY2lEZXZpY2UsDQo+ICsgICAgICAgICAgICAgICAgICAg IFBjaUZ1bmN0aW9uOw0KPiArICBWT0lEICAgICAgICAgICAgICAqTmV3QnVmZmVyOw0KPiArICBQ Q0lfTEFOX0lORk8gICAgICAqeDsNCj4gKw0KPiArICBTdGF0dXMgPSBQY2lJby0+R2V0TG9jYXRp b24gKA0KPiArICAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAgICAgICAg ICAgJlBjaVNlZ21lbnQsDQo+ICsgICAgICAgICAgICAgICAgICAgICZQY2lCdXMsDQo+ICsgICAg ICAgICAgICAgICAgICAgICZQY2lEZXZpY2UsDQo+ICsgICAgICAgICAgICAgICAgICAgICZQY2lG dW5jdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChT dGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgbVBjaUxhbkNvdW50 ICsrOw0KPiArICBTdGF0dXMgPSBnQlMtPkFsbG9jYXRlUG9vbCAoDQo+ICsgICAgICAgICAgICAg ICAgICBFZmlCb290U2VydmljZXNEYXRhLA0KPiArICAgICAgICAgICAgICAgICAgbVBjaUxhbkNv dW50ICogc2l6ZW9mKFBDSV9MQU5fSU5GTyksDQo+ICsgICAgICAgICAgICAgICAgICAmTmV3QnVm ZmVyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKG1QY2lMYW5Db3VudCA+ IDEpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIGNvcHkgb2xkIGRhdGEgaW50byBuZXcsIGxhcmdl ciBidWZmZXINCj4gKyAgICAvLw0KPiArICAgIGdCUy0+Q29weU1lbSAoDQo+ICsgICAgICAgICAg IE5ld0J1ZmZlciwNCj4gKyAgICAgICAgICAgbVBjaUxhbkluZm8sDQo+ICsgICAgICAgICAgICht UGNpTGFuQ291bnQgLSAxKSAqIHNpemVvZihQQ0lfTEFOX0lORk8pDQo+ICsgICAgICAgICAgICk7 DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIGZyZWUgdGhlIG9sZCBtZW1vcnkgYnVmZmVyDQo+ ICsgICAgLy8NCj4gKyAgICBnQlMtPkZyZWVQb29sIChtUGNpTGFuSW5mbyk7DQo+ICsNCj4gKyAg fQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIGluaXQgdGhlIG5ldyBlbnRyeQ0KPiArICAvLw0KPiAr ICB4ID0gKFBDSV9MQU5fSU5GTyAqKU5ld0J1ZmZlciArIChtUGNpTGFuQ291bnQgLSAxKTsNCj4g KyAgeC0+UGNpQnVzID0gKFVJTlQ4KVBjaUJ1czsNCj4gKyAgeC0+UGNpRGV2aWNlID0gKFVJTlQ4 KVBjaURldmljZTsNCj4gKyAgeC0+UGNpRnVuY3Rpb24gPSAoVUlOVDgpUGNpRnVuY3Rpb247DQo+ ICsNCj4gKyAgbVBjaUxhbkluZm8gPSBOZXdCdWZmZXI7DQo+ICsNCj4gKyAgcmV0dXJuOw0KPiAr fQ0KPiArDQo+ICsvKioNCj4gKyAgQHBhcmFtICBFdmVudCAgICAgICAgICB0aGUgZXZlbnQgdGhh dCBpcyBzaWduYWxlZC4NCj4gKyAgQHBhcmFtIENvbnRleHQgICAgICAgIG5vdCB1c2VkIGhlcmUu DQo+ICsNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1BjaUJ1c0V2ZW50ICgN Cj4gKyAgSU4gRUZJX0VWRU5UICAgIEV2ZW50LA0KPiArICBJTiBWT0lEKiAgICAgICAgQ29udGV4 dA0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAg U3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJTaXplOw0K PiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICBIYW5kbGU7DQo+ICsgIEVGSV9QQ0lf SU9fUFJPVE9DT0wgICAgICAgICAgICpQY2lJbzsNCj4gKyAgUENJX0lPX0RFVklDRSAgICAgICAg ICAgICAgICAgKlBjaUlvRGV2aWNlOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAg ICBTdXBwb3J0czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIG1DYWNoZUxpbmVTaXplID0gMHgxMDsN Cj4gKw0KPiArICB3aGlsZSAoVFJVRSkgew0KPiArICAgIEJ1ZmZlclNpemUgPSBzaXplb2YgKEVG SV9IQU5ETEUpOw0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlICgNCj4gKyAgICAg ICAgICAgICAgICAgICAgQnlSZWdpc3Rlck5vdGlmeSwNCj4gKyAgICAgICAgICAgICAgICAgICAg TlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgbVBjaVJlZ2lzdHJhdGlvbiwNCj4gKyAgICAg ICAgICAgICAgICAgICAgJkJ1ZmZlclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZIYW5k bGUNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0 dXMpKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gSWYgbm8gbW9yZSBub3RpZmljYXRpb24g ZXZlbnRzIGV4aXN0DQo+ICsgICAgICAvLw0KPiArICAgICAgcmV0dXJuOw0KPiArICAgIH0NCj4g Kw0KPiArICAgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAg ICAgICAgICBIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpUGNpSW9Qcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZQY2lJbw0KPiArICAgICAg ICAgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgUGNpSW9EZXZpY2UgPSBQQ0lfSU9fREVWSUNF X0ZST01fUENJX0lPX1RISVMgKFBjaUlvKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gRW5h YmxlIEkvTyBmb3IgYnJpZGdlIHNvIHBvcnQgMHg4MCBjb2RlcyB3aWxsIGNvbWUgb3V0DQo+ICsg ICAgLy8NCj4gKyAgICBpZiAoUGNpSW9EZXZpY2UtPlBjaS5IZHIuVmVuZG9ySWQgPT0gVl9QQ0hf SU5URUxfVkVORE9SX0lEKQ0KPiArICAgIHsNCj4gKyAgICAgIFN0YXR1cyA9IFBjaUlvLT5BdHRy aWJ1dGVzKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUGNpSW8sDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICBFZmlQY2lJb0F0dHJpYnV0ZU9wZXJhdGlvblN1cHBvcnRlZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmU3Vw cG9ydHMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBTdXBwb3J0cyAm PSBFRklfUENJX0RFVklDRV9FTkFCTEU7DQo+ICsgICAgICBTdGF0dXMgPSBQY2lJby0+QXR0cmli dXRlcyAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIEVmaVBjaUlvQXR0cmlidXRlT3BlcmF0aW9uRW5hYmxlLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgU3VwcG9ydHMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBO VUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgYnJlYWs7DQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBQcm9ncmFtIFBDSSBMYXRlbmN5IFRpbWVy DQo+ICsgICAgLy8NCj4gKyAgICBQcm9ncmFtUGNpTGF0ZW5jeShQY2lJbyk7DQo+ICsNCj4gKyAg ICAvLw0KPiArICAgIC8vIFByb2dyYW0gQ2FjaGUgTGluZSBTaXplIHRvIDY0IGJ5dGVzICgweDEw IERXT1JEcykNCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IFBjaUlvLT5QY2kuV3JpdGUgKA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICBQY2lJbywNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgRWZpUGNpSW9XaWR0aFVpbnQ4LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICBQQ0lfQ0FDSEVMSU5FX1NJWkVfT0ZGU0VULA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmbUNhY2hlTGluZVNpemUNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gSWYg UENJIExBTiBkZXZpY2UsIHNhdmUgYnVzL2Rldi9mdW5jIGluZm8NCj4gKyAgICAvLyBzbyB3ZSBj YW4gcHJvZ3JhbSBQTUUgZHVyaW5nIFM1IHNodXRkb3duDQo+ICsgICAgLy8NCj4gKyAgICBpZiAo UGNpSW9EZXZpY2UtPlBjaS5IZHIuQ2xhc3NDb2RlWzJdID09IFBDSV9DTEFTU19ORVRXT1JLKSB7 DQo+ICsgICAgICBTYXZlUGNpTGFuQWRkcmVzcyhQY2lJbyk7DQo+ICsgICAgICBicmVhazsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFdvcmthcm91bmQgZm9yIGNhcmRzIHdp dGggYmFkIEJBUnMNCj4gKyAgICAvLw0KPiArICAgIEluZGV4ID0gMDsNCj4gKyAgICB3aGlsZSAo QmFkRGV2aWNlVGFibGVbSW5kZXhdLkNsYXNzQ29kZSAhPSAweGZmKSB7DQo+ICsgICAgICBpZiAo QmFkRGV2aWNlVGFibGVbSW5kZXhdLkRldmljZUlkID09IDB4ZmZmZikgew0KPiArICAgICAgICBp ZiAoKFBjaUlvRGV2aWNlLT5QY2kuSGRyLkNsYXNzQ29kZVsyXSA9PQ0KPiBCYWREZXZpY2VUYWJs ZVtJbmRleF0uQ2xhc3NDb2RlKSAmJg0KPiArICAgICAgICAgICAgKFBjaUlvRGV2aWNlLT5QY2ku SGRyLkNsYXNzQ29kZVsxXSA9PQ0KPiBCYWREZXZpY2VUYWJsZVtJbmRleF0uU3ViQ2xhc3NDb2Rl KSAmJg0KPiArICAgICAgICAgICAgKFBjaUlvRGV2aWNlLT5QY2kuSGRyLlZlbmRvcklkID09IEJh ZERldmljZVRhYmxlW0luZGV4XS5WZW5kb3JJZCkpDQo+IHsNCj4gKw0KPiBJbml0QmFkQmFycyhQ Y2lJbyxCYWREZXZpY2VUYWJsZVtJbmRleF0uVmVuZG9ySWQsQmFkRGV2aWNlVGFibGVbSW5kZXhd LkQNCj4gZXZpY2VJZCk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0gZWxzZSB7DQo+ICsgICAg ICAgIGlmICgoUGNpSW9EZXZpY2UtPlBjaS5IZHIuQ2xhc3NDb2RlWzJdID09DQo+IEJhZERldmlj ZVRhYmxlW0luZGV4XS5DbGFzc0NvZGUpICYmDQo+ICsgICAgICAgICAgICAoUGNpSW9EZXZpY2Ut PlBjaS5IZHIuQ2xhc3NDb2RlWzFdID09DQo+IEJhZERldmljZVRhYmxlW0luZGV4XS5TdWJDbGFz c0NvZGUpICYmDQo+ICsgICAgICAgICAgICAoUGNpSW9EZXZpY2UtPlBjaS5IZHIuVmVuZG9ySWQg PT0gQmFkRGV2aWNlVGFibGVbSW5kZXhdLlZlbmRvcklkKQ0KPiAmJg0KPiArICAgICAgICAgICAg KFBjaUlvRGV2aWNlLT5QY2kuSGRyLkRldmljZUlkID09IEJhZERldmljZVRhYmxlW0luZGV4XS5E ZXZpY2VJZCkpDQo+IHsNCj4gKw0KPiArDQo+IEluaXRCYWRCYXJzKFBjaUlvLEJhZERldmljZVRh YmxlW0luZGV4XS5WZW5kb3JJZCxCYWREZXZpY2VUYWJsZVtJbmRleF0uRA0KPiBldmljZUlkKTsN Cj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgKytJbmRleDsNCj4gKyAgICB9DQo+ ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsNCj4gKyAgcmV0dXJuOw0KPiArfQ0KPiArDQo+ IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4 ZS9QbGF0Zm9ybS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1EeGUvUGxhdGZvcm0uYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi4yYTRhMGI5MmUxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm0uYw0KPiBAQCAtMCwwICsxLDE4 MjAgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE1 LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKw0K PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArDQo+ICsgIFBsYXRmb3JtLmMN Cj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUGxhdGZvcm0gSW5pdGlhbGl6YXRpb24gRHJp dmVyLg0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRHhlLmgi DQo+ICsjaW5jbHVkZSAiUGxhdGZvcm0uaCINCj4gKyNpbmNsdWRlICJQY2hDb21tb25EZWZpbml0 aW9ucy5oIg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1VzYlBvbGljeS5oPg0KPiArI2luY2x1ZGUg PFByb3RvY29sL1BjaFBsYXRmb3JtUG9saWN5Lmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvVHBt TXAuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9DcHVJbzIuaD4NCj4gKyNpbmNsdWRlIDxMaWJy YXJ5L1MzQm9vdFNjcmlwdExpYi5oPg0KPiArI2luY2x1ZGUgPEd1aWQvUGNpTGFuSW5mby5oPg0K PiArI2luY2x1ZGUgPEd1aWQvSXRrRGF0YS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNpTGli Lmg+DQo+ICsjaW5jbHVkZSA8UGxhdGZvcm1Cb290TW9kZS5oPg0KPiArI2luY2x1ZGUgPEd1aWQv RXZlbnRHcm91cC5oPg0KPiArI2luY2x1ZGUgPEd1aWQvVmx2MlZhcmlhYmxlLmg+DQo+ICsjaW5j bHVkZSA8UHJvdG9jb2wvR2xvYmFsTnZzQXJlYS5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0ln ZE9wUmVnaW9uLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2RMaWIuaD4NCj4gKyNpbmNsdWRl IDxQcm90b2NvbC9WYXJpYWJsZUxvY2suaD4NCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gVkxWMiBH UElPIEdST1VQIE9GRlNFVA0KPiArLy8NCj4gKyNkZWZpbmUgR1BJT19TQ09SRV9PRkZTRVQJMHgw MDAwDQo+ICsjZGVmaW5lIEdQSU9fTkNPUkVfT0ZGU0VUCTB4MTAwMA0KPiArI2RlZmluZSBHUElP X1NTVVNfT0ZGU0VUCTB4MjAwMA0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQz MiBvZmZzZXQ7DQo+ICsgIFVJTlQzMiB2YWw7DQo+ICt9IENGSU9fUE5QX0lOSVQ7DQo+ICsNCj4g K0dQSU9fQ09ORl9QQURfSU5JVCBtVEJfQkxfR3Bpb0luaXREYXRhX1NDX1RSSV9FeGl0X2Jvb3Rf U2VydmljZVtdDQo+ID0NCj4gK3sNCj4gKy8vICAgICAgICAgICAgICBQYWQgTmFtZSAgICAgICAg ICBHUElPIE51bWJlciAgICAgVXNlZCBBcyAgIEdQTyBEZWZhdWx0ICBGdW5jdGlvbiMNCj4gSU5U IENhcGFibGUgICBJbnRlcnJ1cHQgVHlwZSAgIFBVTEwgSC9MICAgIE1NSU8gT2Zmc2V0DQo+ICsg IEdQSU9fSU5JVF9JVEVNKCJMUENfQ0xLT1VUMCAgICAgICBHUElPQ180Nw0KPiAiICAgICAsVFJJ U1RTICAgLE5BICAgICAgICAgICAsRjAgICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAg ICAgICAgICAsTk9ORSAgICAgICAsMHg0NyksDQo+ICsgIEdQSU9fSU5JVF9JVEVNKCJMUENfQ0xL T1VUMSAgICAgICBHUElPQ180OA0KPiAiICAgICAsVFJJU1RTICAgLE5BICAgICAgICAgICAsRjAg ICAgICAgICAgICwgICAgICAgICAgICAgLCAgICAgICAgICAgICAgICAsTk9ORSAgICAgICAsMHg0 MSksDQo+ICt9Ow0KPiArDQo+ICsNCj4gK0VGSV9HVUlEIG1TeXN0ZW1IaWlFeHBvcnREYXRhYmFz ZSA9IEVGSV9ISUlfRVhQT1JUX0RBVEFCQVNFX0dVSUQ7DQo+ICtFRklfR1VJRCBtUGxhdGZvcm1E cml2ZXJHdWlkID0gRUZJX1BMQVRGT1JNX0RSSVZFUl9HVUlEOw0KPiArU1lTVEVNX0NPTkZJR1VS QVRJT04gIG1TeXN0ZW1Db25maWd1cmF0aW9uOw0KPiArU1lTVEVNX1BBU1NXT1JEUyAgICAgIG1T eXN0ZW1QYXNzd29yZDsNCj4gK0VGSV9IQU5ETEUgICAgICAgICAgICBtSW1hZ2VIYW5kbGU7DQo+ ICtCT09MRUFOICAgICAgICAgICAgICAgbU1mZ01vZGUgPSBGQUxTRTsNCj4gK1ZPSUQgICAgICAg ICAgICAgICAgICAqbUR4ZVBsYXRmb3JtU3RyaW5nUGFjazsNCj4gK1VJTlQzMiAgICAgICAgICAg ICAgICBtUGxhdGZvcm1Cb290TW9kZSA9IFBMQVRGT1JNX05PUk1BTF9NT0RFOw0KPiArZXh0ZXJu IENIQVIxNiBnSXRrRGF0YVZhck5hbWVbXTsNCj4gKw0KPiArDQo+ICtFRklfUExBVEZPUk1fSU5G T19IT0IgICAgICBtUGxhdGZvcm1JbmZvOw0KPiArRUZJX1BDSV9ST09UX0JSSURHRV9JT19QUk9U T0NPTCAqbVBjaVJvb3RCcmlkZ2VJbzsNCj4gK0VGSV9FVkVOVCAgbVJlYWR5VG9Cb290RXZlbnQ7 DQo+ICsNCj4gK1VJTlQ4IG1TbWJ1c1JzdmRBZGRyZXNzZXNbXSA9IFBMQVRGT1JNX1NNQlVTX1JT VkRfQUREUkVTU0VTOw0KPiArVUlOVDggbU51bWJlclNtYnVzQWRkcmVzcyA9IHNpemVvZiggbVNt YnVzUnN2ZEFkZHJlc3NlcyApIC8NCj4gc2l6ZW9mKCBtU21idXNSc3ZkQWRkcmVzc2VzWzBdICk7 DQo+ICtVSU5UMzIgbVN1YnN5c3RlbVZpZERpZDsNCj4gK1VJTlQzMiBtU3Vic3lzdGVtQXVkaW9W aWREaWQ7DQo+ICsNCj4gK1VJTlROICAgbVBjaUxhbkNvdW50ID0gMDsNCj4gK1ZPSUQgICAgKm1Q Y2lMYW5JbmZvID0gTlVMTDsNCj4gK1VJTlROICAgU3BpQmFzZTsNCj4gKw0KPiArc3RhdGljIEVG SV9TUEVBS0VSX0lGX1BST1RPQ09MIG1TcGVha2VySW50ZXJmYWNlID0gew0KPiArICBQcm9ncmFt VG9uZUZyZXF1ZW5jeSwNCj4gKyAgR2VuZXJhdGVCZWVwVG9uZQ0KPiArfTsNCj4gKw0KPiArRUZJ X1VTQl9QT0xJQ1lfUFJPVE9DT0wgICAgICAgICBtVXNiUG9saWN5RGF0YSA9IHswfTsNCj4gKw0K PiArDQo+ICtDRklPX1BOUF9JTklUIG1UQl9CTF9HcGlvSW5pdERhdGFfU0NfVFJJX1MwaXhfRXhp dF9ib290X1NlcnZpY2VbXSA9DQo+ICt7DQo+ICsgIHsweDQxMCAsMHgyMDAzOGUxMH0sDQo+IC8v dmx2LmdwaW8uZ3BzY29yZS5jZmlvX3JlZ3NfcGFkX2xwY19jbGtvdXQxX3Bjb25mMA0KPiArICB7 MHg0NzAgLDB4MjAwMzhlMTB9LA0KPiAvL3Zsdi5ncGlvLmdwc2NvcmUuY2Zpb19yZWdzX3BhZF9s cGNfY2xrb3V0MF9wY29uZjANCj4gKyAgezB4NTYwICwweDIwMDM4ZTEwfSwgIC8vdmx2LmdwaW8u Z3BzY29yZS5jZmlvX3JlZ3NfcGFkX2lsYl9zZXJpcnFfcGNvbmYwDQo+ICsgIHsweDQ1MCAsMHgy MDAzOGUxMH0sDQo+IC8vdmx2LmdwaW8uZ3BzY29yZS5jZmlvX3JlZ3NfcGFkX2xwY19mcmFtZWJf cGNvbmYwDQo+ICsgIHsweDQ4MCAsMHgyMDAzOGUxMH0sDQo+IC8vdmx2LmdwaW8uZ3BzY29yZS5j ZmlvX3JlZ3NfcGFkX2xwY19jbGtydW5iX3Bjb25mMA0KPiArICB7MHg0MjAgLDB4MjAwMzhlMTB9 LCAgLy92bHYuZ3Bpby5ncHNjb3JlLmNmaW9fcmVnc19wYWRfbHBjX2FkM19wY29uZjANCj4gKyAg ezB4NDMwICwweDIwMDM4ZTEwfSwgIC8vdmx2LmdwaW8uZ3BzY29yZS5jZmlvX3JlZ3NfcGFkX2xw Y19hZDJfcGNvbmYwDQo+ICsgIHsweDQ0MCAsMHgyMDAzOGUxMH0sICAvL3Zsdi5ncGlvLmdwc2Nv cmUuY2Zpb19yZWdzX3BhZF9scGNfYWQxX3Bjb25mMA0KPiArICB7MHg0NjAgLDB4MjAwMzhlMTB9 LCAgLy92bHYuZ3Bpby5ncHNjb3JlLmNmaW9fcmVnc19wYWRfbHBjX2FkMF9wY29uZjANCj4gKyAg ezB4NDE4ICwweDAwMDAwMDA2fSwNCj4gLy92bHYuZ3Bpby5ncHNjb3JlLmNmaW9fcmVnc19wYWRf bHBjX2Nsa291dDFfcGFkX3ZhbA0KPiArICB7MHg0NzggLDB4MDAwMDAwMDZ9LA0KPiAvL3Zsdi5n cGlvLmdwc2NvcmUuY2Zpb19yZWdzX3BhZF9scGNfY2xrb3V0MF9wYWRfdmFsDQo+ICsgIHsweDU2 OCAsMHgwMDAwMDAwNn0sICAvL3Zsdi5ncGlvLmdwc2NvcmUuY2Zpb19yZWdzX3BhZF9pbGJfc2Vy aXJxX3BhZF92YWwNCj4gKyAgezB4NDU4ICwweDAwMDAwMDA2fSwNCj4gLy92bHYuZ3Bpby5ncHNj b3JlLmNmaW9fcmVnc19wYWRfbHBjX2ZyYW1lYl9wYWRfdmFsDQo+ICsgIHsweDQ4OCAsMHgwMDAw MDAwNn0sDQo+IC8vdmx2LmdwaW8uZ3BzY29yZS5jZmlvX3JlZ3NfcGFkX2xwY19jbGtydW5iX3Bh ZF92YWwNCj4gKyAgezB4NDI4ICwweDAwMDAwMDA2fSwgIC8vdmx2LmdwaW8uZ3BzY29yZS5jZmlv X3JlZ3NfcGFkX2xwY19hZDNfcGFkX3ZhbA0KPiArICB7MHg0MzggLDB4MDAwMDAwMDZ9LCAgLy92 bHYuZ3Bpby5ncHNjb3JlLmNmaW9fcmVnc19wYWRfbHBjX2FkMl9wYWRfdmFsDQo+ICsgIHsweDQ0 OCAsMHgwMDAwMDAwNn0sICAvL3Zsdi5ncGlvLmdwc2NvcmUuY2Zpb19yZWdzX3BhZF9scGNfYWQx X3BhZF92YWwNCj4gKyAgezB4NDY4ICwweDAwMDAwMDA2fSwgIC8vdmx2LmdwaW8uZ3BzY29yZS5j ZmlvX3JlZ3NfcGFkX2xwY19hZDBfcGFkX3ZhbA0KPiArfTsNCj4gKw0KPiArVk9JRA0KPiArRWZp T3JNZW0gKA0KPiArICBJTiBWT0lEICAgKkRlc3RpbmF0aW9uLA0KPiArICBJTiBWT0lEICAgKlNv dXJjZSwNCj4gKyAgSU4gVUlOVE4gIExlbmd0aA0KPiArICApOw0KPiArDQo+ICsjaWYgZGVmaW5l ZChGSVJNV0FSRV9JRF9CQUNLV0FSRF9DT01QQVRJQkxFKSAmJg0KPiAoRklSTVdBUkVfSURfQkFD S1dBUkRfQ09NUEFUSUJMRSAhPSAwKQ0KPiArU1RBVElDDQo+ICtWT0lEDQo+ICtJbml0RmlybXdh cmVJZCgpOw0KPiArI2VuZGlmDQo+ICsNCj4gKw0KPiArVk9JRA0KPiArSW5pdGlhbGl6ZUNsb2Nr Um91dGluZygNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArSW5pdGlhbGl6ZVNsb3RJbmZvICgN Cj4gKyAgKTsNCj4gKw0KPiArI2lmIGRlZmluZWQoU0VOU09SX0lORk9fVkFSX1NVUFBPUlQpICYm DQo+IFNFTlNPUl9JTkZPX1ZBUl9TVVBQT1JUICE9IDANCj4gK1ZPSUQNCj4gK0luaXRpYWxpemVT ZW5zb3JJbmZvVmFyaWFibGUgKA0KPiArICApOw0KPiArI2VuZGlmDQo+ICsNCj4gK1ZPSUQNCj4g K0luaXRUY29SZXNldCAoDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0luaXRFeEkgKCk7DQo+ ICsNCj4gK1ZPSUQNCj4gK0luaXRJdGsoKTsNCj4gKw0KPiArVk9JRA0KPiArSW5pdFBsYXRmb3Jt Qm9vdE1vZGUoKTsNCj4gKw0KPiArVk9JRA0KPiArSW5pdE1mZ0FuZENvbmZpZ01vZGVTdGF0ZVZh cigpOw0KPiArDQo+ICtWT0lEDQo+ICtJbml0UGNoUGxhdGZvcm1Qb2xpY3kgKA0KPiArICBJTiBF RklfUExBVEZPUk1fSU5GT19IT0IgICAgICAqUGxhdGZvcm1JbmZvDQo+ICsgICk7DQo+ICsNCj4g K1ZPSUQNCj4gK0luaXRWbHZQbGF0Zm9ybVBvbGljeSAoDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQN Cj4gK0luaXRTaW9QbGF0Zm9ybVBvbGljeSgNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArUGNo SW5pdEJlZm9yZUJvb3QoDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1VwZGF0ZURWTVRTZXR1 cCgNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArSW5pdFBsYXRmb3JtVXNiUG9saWN5ICgNCj4g KyAgVk9JRA0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtJbml0UkM2UG9saWN5KA0KPiArICBW T0lEDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTYXZl U2V0dXBSZWNvdmVyeVZhcigNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICAgU2l6ZU9mTnZTdG9yZSA9IDA7DQo+ICsgIFVJTlROICAgICAg ICAgICAgICAgICAgICAgICAgU2l6ZU9mU2V0dXBWYXIgPSAwOw0KPiArICBTWVNURU1fQ09ORklH VVJBVElPTiAgICAgICAgICpTZXR1cERhdGEgPSBOVUxMOw0KPiArICBTWVNURU1fQ09ORklHVVJB VElPTiAgICAgICAgICpSZWNvdmVyeU52RGF0YSA9IE5VTEw7DQo+ICsgIEVES0lJX1ZBUklBQkxF X0xPQ0tfUFJPVE9DT0wgKlZhcmlhYmxlTG9jayA9IE5VTEw7DQo+ICsNCj4gKw0KPiArICBERUJV RyAoKEVGSV9EX0lORk8sICJTYXZlU2V0dXBSZWNvdmVyeVZhcigpIEVudHJ5IFxuIikpOw0KPiAr ICBTaXplT2ZOdlN0b3JlID0gc2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgUmVj b3ZlcnlOdkRhdGEgPSBBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJ T04pKTsNCj4gKyAgaWYgKE5VTEwgPT0gUmVjb3ZlcnlOdkRhdGEpIHsNCj4gKyAgICBTdGF0dXMg PSBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgICBnb3RvIEV4aXQ7DQo+ICsgIH0NCj4gKw0K PiArICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAgICAgIEwiU2V0 dXBSZWNvdmVyeSIsDQo+ICsgICAgICAgICAgICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAmU2l6ZU9mTnZTdG9y ZSwNCj4gKyAgICAgICAgICAgICAgICBSZWNvdmVyeU52RGF0YQ0KPiArICAgICAgICAgICAgICAg ICk7DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIC8vIERvbid0 IGZpbmQgdGhlICJTZXR1cFJlY292ZXJ5IiB2YXJpYWJsZS4NCj4gKyAgICAvLyBoYXZlIHRvIGNv cHkgIlNldHVwIiB2YXJpYWJsZSB0byAiU2V0dXBSZWNvdmVyeSIgdmFyaWFibGUuDQo+ICsgICAg U2V0dXBEYXRhID0gQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9O KSk7DQo+ICsgICAgaWYgKE5VTEwgPT0gU2V0dXBEYXRhKSB7DQo+ICsgICAgICBTdGF0dXMgPSBF RklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgICAgIGdvdG8gRXhpdDsNCj4gKyAgICB9DQo+ICsg ICAgU2l6ZU9mU2V0dXBWYXIgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pOw0KPiArICAg IFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgICAgICAgIE5PUk1B TF9TRVRVUF9OQU1FLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaU5vcm1hbFNldHVwR3Vp ZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAg JlNpemVPZlNldHVwVmFyLA0KPiArICAgICAgICAgICAgICAgICAgICBTZXR1cERhdGENCj4gKyAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0K PiArDQo+ICsgICAgU3RhdHVzID0gZ1JULT5TZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAg ICAgICAgIEwiU2V0dXBSZWNvdmVyeSIsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpTm9y bWFsU2V0dXBHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfTk9OX1ZP TEFUSUxFIHwNCj4gRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUywNCj4gKyAgICAgICAg ICAgICAgICAgICAgc2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKSwNCj4gKyAgICAgICAgICAg ICAgICAgICAgU2V0dXBEYXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRl UHJvdG9jb2wgKCZnRWRraWlWYXJpYWJsZUxvY2tQcm90b2NvbEd1aWQsIE5VTEwsDQo+IChWT0lE ICoqKSAmVmFyaWFibGVMb2NrKTsNCj4gKyAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+ICsgICAgICAgIFN0YXR1cyA9IFZhcmlhYmxlTG9jay0+UmVxdWVzdFRvTG9jayAoVmFyaWFi bGVMb2NrLCBMIlNldHVwUmVjb3ZlcnkiLA0KPiAmZ0VmaU5vcm1hbFNldHVwR3VpZCk7DQo+ICsg ICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgICAgfQ0KPiArDQo+ICsgIH0N Cj4gKw0KPiArRXhpdDoNCj4gKyAgaWYgKFJlY292ZXJ5TnZEYXRhKQ0KPiArICAgIEZyZWVQb29s IChSZWNvdmVyeU52RGF0YSk7DQo+ICsgIGlmIChTZXR1cERhdGEpDQo+ICsgICAgRnJlZVBvb2wg KFNldHVwRGF0YSk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gKw0KPiArfQ0KPiArDQo+ ICsNCj4gK1ZPSUQNCj4gK1RyaXN0YXRlTHBjR3Bpb0NvbmZpZyAoDQo+ICsgIElOIFVJTlQzMiAg ICAgICAgICAgICBHcGlvX01taW9fT2Zmc2V0LA0KPiArICBJTiBVSU5UMzIgICAgICAgICAgICAg R3Bpb19QaW5fTnVtLA0KPiArICBHUElPX0NPTkZfUEFEX0lOSVQqICAgR3Bpb19Db25mX0RhdGEN Cj4gKyAgKQ0KPiArDQo+ICt7DQo+ICsgIFVJTlQzMiAgICBpbmRleDsNCj4gKyAgVUlOVDMyICAg IG1taW9fY29uZjA7DQo+ICsgIFVJTlQzMiAgICBtbWlvX3BhZHZhbDsNCj4gKyAgUEFEX0NPTkYw IGNvbmYwX3ZhbDsNCj4gKyAgUEFEX1ZBTCAgIHBhZF92YWw7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gR1BJTyBXRUxMIC0tIE1lbW9yeSBiYXNlIHJlZ2lzdGVycw0KPiArICAvLw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIEEwIEJJT1MgU3BlYyBkb2Vzbid0IG1lbnRpb24gaXQgYWx0aG91Z2ggWDAg ZG9lcy4gY29tbWVudCBvdXQgbm93Lg0KPiArICAvLyBHUElPIHdyaXRlIDB4MDEwMDEwMDIgdG8g SU9CQVNFICsgR3Bpb19NbWlvX09mZnNldCArIDB4MDkwMA0KPiArICAvLw0KPiArDQo+ICsgIGZv cihpbmRleD0wOyBpbmRleCA8IEdwaW9fUGluX051bTsgaW5kZXgrKykNCj4gKyAgew0KPiArICAg IC8vDQo+ICsgICAgLy8gQ2FsY3VsYXRlIHRoZSBNTUlPIEFkZHJlc3MgZm9yIHNwZWNpZmljIEdQ SU8gcGluIENPTkYwIHJlZ2lzdGVyDQo+IHBvaW50ZWQgYnkgaW5kZXguDQo+ICsgICAgLy8NCj4g KyAgICBtbWlvX2NvbmYwID0gSU9fQkFTRV9BRERSRVNTICsgR3Bpb19NbWlvX09mZnNldCArDQo+ IFJfUENIX0NGSU9fUEFEX0NPTkYwICsgR3Bpb19Db25mX0RhdGFbaW5kZXhdLm9mZnNldCAqIDE2 Ow0KPiArICAgIG1taW9fcGFkdmFsPSBJT19CQVNFX0FERFJFU1MgKyBHcGlvX01taW9fT2Zmc2V0 ICsNCj4gUl9QQ0hfQ0ZJT19QQURfVkFMICAgKyBHcGlvX0NvbmZfRGF0YVtpbmRleF0ub2Zmc2V0 ICogMTY7DQo+ICsNCj4gKyNpZmRlZiBFRklfREVCVUcNCj4gKyAgICBERUJVRyAoKEVGSV9EX0lO Rk8sICIlcywgIiwgR3Bpb19Db25mX0RhdGFbaW5kZXhdLnBhZF9uYW1lKSk7DQo+ICsNCj4gKyNl bmRpZg0KPiArICAgIERFQlVHICgoRUZJX0RfSU5GTywgIlVzYWdlID0gJWQsIEZ1bmMjID0gJWQs IEludFR5cGUgPSAlZCwgUHVsbA0KPiBVcC9Eb3duID0gJWQsIE1NSU8gQmFzZSA9IDB4JTA4eCwg IiwNCj4gKyAgICAgIEdwaW9fQ29uZl9EYXRhW2luZGV4XS51c2FnZSwNCj4gKyAgICAgIEdwaW9f Q29uZl9EYXRhW2luZGV4XS5mdW5jLA0KPiArICAgICAgR3Bpb19Db25mX0RhdGFbaW5kZXhdLmlu dF90eXBlLA0KPiArICAgICAgR3Bpb19Db25mX0RhdGFbaW5kZXhdLnB1bGwsDQo+ICsgICAgICBt bWlvX2NvbmYwKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFN0ZXAgMTogUGFkVmFsIFBy b2dyYW1taW5nDQo+ICsgICAgLy8NCj4gKyAgICBwYWRfdmFsLmR3ID0gTW1pb1JlYWQzMihtbWlv X3BhZHZhbCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIENvbmZpZyBQQURfVkFMIG9ubHkg Zm9yIEdQSU8gKE5vbi1OYXRpdmUpIFBpbg0KPiArICAgIC8vDQo+ICsgICAgaWYoTmF0aXZlICE9 IEdwaW9fQ29uZl9EYXRhW2luZGV4XS51c2FnZSkNCj4gKyAgICB7DQo+ICsgICAgICBwYWRfdmFs LmR3ICY9IH4weDY7IC8vIENsZWFyIGJpdHMgMToyDQo+ICsgICAgICBwYWRfdmFsLmR3IHw9IChH cGlvX0NvbmZfRGF0YVtpbmRleF0udXNhZ2UgJiAweDYpOyAgLy8gU2V0IGJpdHMgMToyDQo+IGFj Y29yZGluZyB0byBQYWRWYWwNCj4gKw0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBzZXQg R1BPIGRlZmF1bHQgdmFsdWUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgaWYoR3Bpb19Db25m X0RhdGFbaW5kZXhdLnVzYWdlID09IEdQTyAmJg0KPiBHcGlvX0NvbmZfRGF0YVtpbmRleF0uZ3Bv ZDQgIT0gTkEpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgcGFkX3ZhbC5yLnBhZF92YWwgPSBH cGlvX0NvbmZfRGF0YVtpbmRleF0uZ3BvZDQ7DQo+ICsgICAgICAgIH0NCj4gKyAgICB9DQo+ICsN Cj4gKw0KPiArICAgIERFQlVHICgoRUZJX0RfSU5GTywgIlNldCBQQURfVkFMID0gMHglMDh4LCAi LCBwYWRfdmFsLmR3KSk7DQo+ICsNCj4gKyAgICBNbWlvV3JpdGUzMihtbWlvX3BhZHZhbCwgcGFk X3ZhbC5kdyk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFN0ZXAgMjogQ09ORjAgUHJvZ3Jh bW1pbmcNCj4gKyAgICAvLyBSZWFkIEdQSU8gZGVmYXVsdCBDT05GMCB2YWx1ZSwgd2hpY2ggaXMg YXNzdW1lZCB0byBiZSBkZWZhdWx0IHZhbHVlDQo+IGFmdGVyIHJlc2V0Lg0KPiArICAgIC8vDQo+ ICsgICAgY29uZjBfdmFsLmR3ID0gTW1pb1JlYWQzMihtbWlvX2NvbmYwKTsNCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy8gU2V0IEZ1bmN0aW9uICMNCj4gKyAgICAvLw0KPiArICAgIGNvbmYwX3Zh bC5yLkZ1bmNfUGluX011eCA9IEdwaW9fQ29uZl9EYXRhW2luZGV4XS5mdW5jOw0KPiArDQo+ICsg ICAgaWYoR1BPID09IEdwaW9fQ29uZl9EYXRhW2luZGV4XS51c2FnZSkNCj4gKyAgICB7DQo+ICsg ICAgICAvLw0KPiArICAgICAgLy8gSWYgdXNlZCBhcyBHUE8sIHRoZW4gaW50ZXJuYWwgcHVsbCBu ZWVkIHRvIGJlIGRpc2FibGVkDQo+ICsgICAgICAvLw0KPiArICAgICAgY29uZjBfdmFsLnIuUHVs bF9hc3NpZ24gPSAwOyAgLy8gTm9uLXB1bGwNCj4gKyAgICB9DQo+ICsgICAgZWxzZQ0KPiArICAg IHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBTZXQgUHVsbFVwIC8gUHVsbERvd24NCj4gKyAg ICAgIC8vDQo+ICsgICAgICBpZihQXzIwS19IID09IEdwaW9fQ29uZl9EYXRhW2luZGV4XS5wdWxs KQ0KPiArICAgICAgew0KPiArICAgICAgICBjb25mMF92YWwuci5QdWxsX2Fzc2lnbiA9IDB4MTsg IC8vIFB1bGxVcA0KPiArICAgICAgICBjb25mMF92YWwuci5QdWxsX3N0cmVuZ3RoID0gMHgyOy8v IDIwSw0KPiArICAgICAgfQ0KPiArICAgICAgZWxzZSBpZihQXzIwS19MID09IEdwaW9fQ29uZl9E YXRhW2luZGV4XS5wdWxsKQ0KPiArICAgICAgew0KPiArICAgICAgICBjb25mMF92YWwuci5QdWxs X2Fzc2lnbiA9IDB4MjsgIC8vIFB1bGxEb3duDQo+ICsgICAgICAgIGNvbmYwX3ZhbC5yLlB1bGxf c3RyZW5ndGggPSAweDI7Ly8gMjBLDQo+ICsgICAgICB9DQo+ICsgICAgICBlbHNlIGlmKFBfTk9O RSA9PSBHcGlvX0NvbmZfRGF0YVtpbmRleF0ucHVsbCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAg Y29uZjBfdmFsLnIuUHVsbF9hc3NpZ24gPSAwOwkvLyBOb24tcHVsbA0KPiArICAgICAgfQ0KPiAr ICAgICAgZWxzZQ0KPiArICAgICAgew0KPiArICAgICAgICBBU1NFUlQoRkFMU0UpOyAgLy8gSW52 YWxpZCB2YWx1ZQ0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAg Ly8gU2V0IElOVCBUcmlnZ2VyIFR5cGUNCj4gKyAgICAvLw0KPiArICAgIGNvbmYwX3ZhbC5kdyAm PSB+MHgwZjAwMDAwMDsgIC8vIENsZWFyIGJpdHMgMjc6MjQNCj4gKw0KPiArICAgIC8vDQo+ICsg ICAgLy8gU2V0IElOVCBUcmlnZ2VyIFR5cGUNCj4gKyAgICAvLw0KPiArICAgIGlmKFRSSUdfID09 IEdwaW9fQ29uZl9EYXRhW2luZGV4XS5pbnRfdHlwZSkNCj4gKyAgICB7DQo+ICsgICAgICAvLw0K PiArICAgICAgLy8gSW50ZXJydXB0IG5vdCBjYXBhYmxlLCBjbGVhciBiaXRzIDI3OjI0DQo+ICsg ICAgICAvLw0KPiArICAgIH0NCj4gKyAgICBlbHNlDQo+ICsgICAgew0KPiArICAgICAgY29uZjBf dmFsLmR3IHw9IChHcGlvX0NvbmZfRGF0YVtpbmRleF0uaW50X3R5cGUgJiAweDBmKTw8MjQ7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgREVCVUcgKChFRklfRF9JTkZPLCAiU2V0IENPTkYwID0gMHgl MDh4XG4iLCBjb25mMF92YWwuZHcpKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gV3JpdGUg YmFjayB0aGUgdGFyZ2V0ZWQgR1BJTyBjb25maWcgdmFsdWUgYWNjb3JkaW5nIHRvIHBsYXRmb3Jt IChib2FyZCkNCj4gR1BJTyBzZXR0aW5nDQo+ICsgICAgLy8NCj4gKyAgICBNbWlvV3JpdGUzMiAo bW1pb19jb25mMCwgY29uZjBfdmFsLmR3KTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vIEEwIEJJT1Mg U3BlYyBkb2Vzbid0IG1lbnRpb24gaXQgYWx0aG91Z2ggWDAgZG9lcy4gY29tbWVudCBvdXQgbm93 Lg0KPiArICAvLyBHUElPIFNDT1JFIHdyaXRlIDB4MDEwMDEwMDIgdG8gSU9CQVNFICsgMHgwOTAw DQo+ICsgIC8vDQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArU3BpQmlvc1Byb3Rl Y3Rpb25GdW5jdGlvbigNCj4gKyAgRUZJX0VWRU5UIEV2ZW50LA0KPiArICBWT0lEICAgICAgKkNv bnRleHQNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBtUGNpRDMxRjBSZWdCYXNlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgQmlvc0ZsYUxvd2VyMDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIEJpb3NGbGFMaW1pdDA7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBCaW9zRmxhTG93ZXIxOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmlvc0ZsYUxpbWl0MTsNCj4gKw0KPiArDQo+ICsgIEJpb3NGbGFMb3dlcjAgPSBQY2RHZXQz MihQY2RGbGFzaE1pY3JvQ29kZUFkZHJlc3MpLQ0KPiBQY2RHZXQzMihQY2RGbGFzaEFyZWFCYXNl QWRkcmVzcyk7DQo+ICsgIEJpb3NGbGFMaW1pdDAgPSBQY2RHZXQzMihQY2RGbGFzaE1pY3JvQ29k ZVNpemUpLTE7DQo+ICsgICNpZmRlZiBNSU5OT1cyX0ZTUF9CVUlMRA0KPiArICBCaW9zRmxhTG93 ZXIxID0gUGNkR2V0MzIoUGNkRmxhc2hGdkZzcEJhc2UpLQ0KPiBQY2RHZXQzMihQY2RGbGFzaEFy ZWFCYXNlQWRkcmVzcyk7DQo+ICsgIEJpb3NGbGFMaW1pdDEgPSAoUGNkR2V0MzIoUGNkRmxhc2hG dlJlY292ZXJ5QmFzZSktDQo+IFBjZEdldDMyKFBjZEZsYXNoRnZGc3BCYXNlKStQY2RHZXQzMihQ Y2RGbGFzaEZ2UmVjb3ZlcnlTaXplKSktMTsNCj4gKyAgI2Vsc2UNCj4gKyAgQmlvc0ZsYUxvd2Vy MSA9IFBjZEdldDMyKFBjZEZsYXNoRnZNYWluQmFzZSktDQo+IFBjZEdldDMyKFBjZEZsYXNoQXJl YUJhc2VBZGRyZXNzKTsNCj4gKyAgQmlvc0ZsYUxpbWl0MSA9IChQY2RHZXQzMihQY2RGbGFzaEZ2 UmVjb3ZlcnlCYXNlKS0NCj4gUGNkR2V0MzIoUGNkRmxhc2hGdk1haW5CYXNlKStQY2RHZXQzMihQ Y2RGbGFzaEZ2UmVjb3ZlcnlTaXplKSktMTsNCj4gKyAgI2VuZGlmDQo+ICsNCj4gKw0KPiArICBt UGNpRDMxRjBSZWdCYXNlID0gTW1QY2lBZGRyZXNzICgwLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBDLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgIDANCj4gKyAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgU3BpQmFzZSAgICAg ICAgICA9IE1taW9SZWFkMzIobVBjaUQzMUYwUmVnQmFzZSArIFJfUENIX0xQQ19TUElfQkFTRSkN Cj4gJiBCX1BDSF9MUENfU1BJX0JBU0VfQkFSOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vU2V0IFNN TV9CV1AsIFdQRCBhbmQgTEUgYml0DQo+ICsgIC8vDQo+ICsgIE1taW9PcjMyICgoVUlOVE4pIChT cGlCYXNlICsgUl9QQ0hfU1BJX0JDUiksIChVSU5UOCkNCj4gQl9QQ0hfU1BJX0JDUl9TTU1fQldQ KTsNCj4gKyAgTW1pb0FuZDMyICgoVUlOVE4pIChTcGlCYXNlICsgUl9QQ0hfU1BJX0JDUiksDQo+ IChVSU5UOCkofkJfUENIX1NQSV9CQ1JfQklPU1dFKSk7DQo+ICsgIE1taW9PcjMyICgoVUlOVE4p IChTcGlCYXNlICsgUl9QQ0hfU1BJX0JDUiksIChVSU5UOCkNCj4gQl9QQ0hfU1BJX0JDUl9CTEUp Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vRmlyc3QgY2hlY2sgaWYgRkxPQ0tETiBvciBQUjBGTE9D S0ROIGlzIHNldC4gTm8gYWN0aW9uIGlmIGVpdGhlciBvZiB0aGVtDQo+IHNldCBhbHJlYWR5Lg0K PiArICAvLw0KPiArICBpZiggKE1taW9SZWFkMTYoU3BpQmFzZSArIFJfUENIX1NQSV9IU0ZTKSAm DQo+IEJfUENIX1NQSV9IU0ZTX0ZMT0NLRE4pICE9IDAgfHwNCj4gKyAgICAgIChNbWlvUmVhZDMy KFNwaUJhc2UgKyBSX1BDSF9TUElfSU5EX0xPQ0spJg0KPiBCX1BDSF9TUElfSU5EX0xPQ0tfUFIw KSAhPSAwKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvL0FscmVhZHkgbG9ja2VkLiB3ZSBjb3VsZCB0 YWtlIG5vIGFjdGlvbiBoZXJlDQo+ICsgICAgLy8NCj4gKyAgICBERUJVRygoRUZJX0RfSU5GTywg IlBSMCBhbHJlYWR5IGxvY2tlZCBkb3duLiBTdG9wIGNvbmZpZ3VyaW5nDQo+IFBSMC5cbiIpKTsN Cj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvL1NldCBQUjANCj4g KyAgLy8NCj4gKyAgTW1pb09yMzIoKFVJTlROKShTcGlCYXNlICsgUl9QQ0hfU1BJX1BSMCksDQo+ ICsgICAgQl9QQ0hfU1BJX1BSMF9SUEV8Ql9QQ0hfU1BJX1BSMF9XUEV8XA0KPiArDQo+IChCX1BD SF9TUElfUFIwX1BSQl9NQVNLJihCaW9zRmxhTG93ZXIwPj4xMikpfChCX1BDSF9TUElfUFIwX1BS TA0KPiBfTUFTSyYoQmlvc0ZsYUxpbWl0MD4+MTIpPDwxNikpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vU2V0IFBSMQ0KPiArICAvLw0KPiArDQo+ICsgIE1taW9PcjMyKChVSU5UTikoU3BpQmFzZSAr IFJfUENIX1NQSV9QUjEpLA0KPiArICAgIEJfUENIX1NQSV9QUjFfUlBFfEJfUENIX1NQSV9QUjFf V1BFfFwNCj4gKw0KPiAoQl9QQ0hfU1BJX1BSMV9QUkJfTUFTSyYoQmlvc0ZsYUxvd2VyMT4+MTIp KXwoQl9QQ0hfU1BJX1BSMV9QUkwNCj4gX01BU0smKEJpb3NGbGFMaW1pdDE+PjEyKTw8MTYpKTsN Cj4gKw0KPiArICAvLw0KPiArICAvL0xvY2sgZG93biBQUngNCj4gKyAgLy8NCj4gKyAgTW1pb09y MTYgKChVSU5UTikgKFNwaUJhc2UgKyBSX1BDSF9TUElfSFNGUyksIChVSU5UMTYpDQo+IChCX1BD SF9TUElfSFNGU19GTE9DS0ROKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVmVyaWZ5IGlmIGl0 J3MgcmVhbGx5IGxvY2tlZC4NCj4gKyAgLy8NCj4gKyAgaWYgKChNbWlvUmVhZDE2IChTcGlCYXNl ICsgUl9QQ0hfU1BJX0hTRlMpICYNCj4gQl9QQ0hfU1BJX0hTRlNfRkxPQ0tETikgPT0gMCkgew0K PiArICAgIERFQlVHKChFRklfRF9FUlJPUiwgIkZhaWxlZCB0byBsb2NrIGRvd24gUFJ4LlxuIikp Ow0KPiArICB9DQo+ICsgIHJldHVybjsNCj4gKw0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtFRklB UEkNCj4gK0luaXRQY2lEZXZQTUUgKA0KPiArICBFRklfRVZFTlQgIEV2ZW50LA0KPiArICBWT0lE ICAgICAgICpDb250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICBWYXJTaXplOw0KPiArDQo+ICsgIFZhclNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJ T04pOw0KPiArICBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAgICAgICAgTk9STUFMX1NFVFVQX05B TUUsDQo+ICsgICAgICAgICAmZ0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICZtU3lzdGVtQ29uZmlndXJhdGlv bg0KPiArICAgICAgICAgKTsNCj4gKw0KPiArICAvLw0KPiArICAvL1Byb2dyYW0gSERBIFBNRV9F Tg0KPiArICAvLw0KPiArICBQY2hBemFsaWFQY2lDZmczMk9yIChSX1BDSF9IREFfUENTLCBCX1BD SF9IREFfUENTX1BNRUUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vUHJvZ3JhbSBTQVRBIFBNRV9F Tg0KPiArICAvLw0KPiArICBQY2hTYXRhUGNpQ2ZnMzJPciAoUl9QQ0hfU0FUQV9QTUNTLCBCX1BD SF9TQVRBX1BNQ1NfUE1FRSk7DQo+ICsNCj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAiSW5pdFBj aURldlBNRQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5FaGNpUGxsQ2ZnRW5hYmxlID0gMHgleA0K PiBcbiIsbVN5c3RlbUNvbmZpZ3VyYXRpb24uRWhjaVBsbENmZ0VuYWJsZSkpOw0KPiArIGlmICht U3lzdGVtQ29uZmlndXJhdGlvbi5FaGNpUGxsQ2ZnRW5hYmxlICE9IDEpIHsNCj4gKyAgLy8NCj4g KyAgLy9Qcm9ncmFtIEVIQ0kgUE1FX0VODQo+ICsgIC8vDQo+ICsgIFBjaE1tUGNpMzJPciAoDQo+ ICsgICAgMCwNCj4gKyAgICAwLA0KPiArICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9VU0IsDQo+ ICsgICAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfRUhDSSwNCj4gKyAgICBSX1BDSF9FSENJX1BX Ul9DTlRMX1NUUywNCj4gKyAgICBCX1BDSF9FSENJX1BXUl9DTlRMX1NUU19QTUVfRU4NCj4gKyAg ICApOw0KPiArIH0NCj4gKyAgIHsNCj4gKyAgICAgVUlOVE4gICAgICAgICAgICAgICAgIEVoY2lQ Y2lNbUJhc2U7DQo+ICsgICAgIFVJTlQzMiAgICAgICAgICAgICAgICBCdWZmZXIzMiA9IDA7DQo+ ICsNCj4gKyAgICBFaGNpUGNpTW1CYXNlID0gTW1QY2lBZGRyZXNzICgwLA0KPiArICAgICAgICAg ICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgUENJX0RFVklDRV9OVU1C RVJfUENIX1VTQiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBQQ0lfRlVOQ1RJT05fTlVNQkVS X1BDSF9FSENJLA0KPiArICAgICAgICAgICAgICAgICAgICAgIDANCj4gKyAgICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICJDb25maWd1cmVBZGRpdGlvbmFs UG0oKSBFaGNpUGNpTW1CYXNlID0gMHgleA0KPiBcbiIsRWhjaVBjaU1tQmFzZSkpOw0KPiArICAg IEJ1ZmZlcjMyID0gTW1pb1JlYWQzMihFaGNpUGNpTW1CYXNlICsgUl9QQ0hfRUhDSV9QV1JfQ05U TF9TVFMpOw0KPiArICAgIERFQlVHICgoRUZJX0RfSU5GTywgIkNvbmZpZ3VyZUFkZGl0aW9uYWxQ bSgpDQo+IFJfUENIX0VIQ0lfUFdSX0NOVExfU1RTID0gMHgleCBcbiIsQnVmZmVyMzIpKTsNCj4g KyAgfQ0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0luaXRUaGVybWFsWm9uZSAo DQo+ICsgIEVGSV9FVkVOVCAgRXZlbnQsDQo+ICsgIFZPSUQgICAgICAgKkNvbnRleHQNCj4gKyAg KQ0KPiArew0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgIFZhclNpemU7DQo+ICsgIEVGSV9H TE9CQUxfTlZTX0FSRUFfUFJPVE9DT0wgICAgICAgKkdsb2JhbE52c0FyZWE7DQo+ICsgIFZhclNp emUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pOw0KPiArICBnUlQtPkdldFZhcmlhYmxl KA0KPiArICAgICAgICAgTk9STUFMX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAmZ0VmaU5vcm1h bFNldHVwR3VpZCwNCj4gKyAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAmVmFyU2l6ZSwNCj4g KyAgICAgICAgICZtU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgKTsNCj4gKyAgZ0JT LT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAmZ0VmaUdsb2JhbE52c0FyZWFQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgKHZvaWQgKiopJkdsb2JhbE52 c0FyZWENCj4gKyAgICAgICAgICk7DQo+ICsgIEdsb2JhbE52c0FyZWEtPkFyZWEtPkNyaXRpY2Fs VGhlcm1hbFRyaXBQb2ludCA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLkNyaXRpY2FsVGhlcm1h bFRyaXBQb2ludDsNCj4gKyAgR2xvYmFsTnZzQXJlYS0+QXJlYS0+UGFzc2l2ZVRoZXJtYWxUcmlw UG9pbnQgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5QYXNzaXZlVGhlcm1hbFRyaXBQb2ludDsN Cj4gK30NCj4gKyNpZiBkZWZpbmVkIFNVUFBPUlRfTFZEU19ESVNQTEFZICYmIFNVUFBPUlRfTFZE U19ESVNQTEFZDQo+ICsNCj4gKyNlbmRpZg0KPiArDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArVHJpc3RhdGVMcGNHcGlvUzBpM0NvbmZpZyAoDQo+ICsgIFVJTlQzMiAgICAgICAg ICAgICBHcGlvX01taW9fT2Zmc2V0LA0KPiArICBVSU5UMzIgICAgICAgICAgICAgR3Bpb19QaW5f TnVtLA0KPiArICBDRklPX1BOUF9JTklUKiAgIEdwaW9fQ29uZl9EYXRhDQo+ICsgICkNCj4gK3sN Cj4gKw0KPiArICBVSU5UMzIJICBpbmRleDsNCj4gKyAgVUlOVDMyCSAgbW1pb19yZWc7DQo+ICsg IFVJTlQzMgkgIG1taW9fdmFsOw0KPiArDQo+ICsgICAgREVCVUcgKChERUJVR19JTkZPLCAiVHJp c3RhdGVMcGNHcGlvUzBpM0NvbmZpZ1xuIikpOw0KPiArDQo+ICsgICAgZm9yKGluZGV4PTA7IGlu ZGV4IDwgR3Bpb19QaW5fTnVtOyBpbmRleCsrKQ0KPiArICAgIHsNCj4gKyAgICAgIG1taW9fcmVn ID0gSU9fQkFTRV9BRERSRVNTICsgR3Bpb19NbWlvX09mZnNldCArDQo+IEdwaW9fQ29uZl9EYXRh W2luZGV4XS5vZmZzZXQ7DQo+ICsNCj4gKyAgICAgIE1taW9Xcml0ZTMyKG1taW9fcmVnLCBHcGlv X0NvbmZfRGF0YVtpbmRleF0udmFsKTsNCj4gKyAgICAgIG1taW9fdmFsID0gMDsNCj4gKyAgICAg IG1taW9fdmFsID0gTW1pb1JlYWQzMihtbWlvX3JlZyk7DQo+ICsNCj4gKyAgICAgIERFQlVHICgo RUZJX0RfSU5GTywgIlNldCBNTUlPPTB4JTA4eCAgUEFEX1ZBTCA9IDB4JTA4eCxcbiIsDQo+IG1t aW9fcmVnLCBtbWlvX3ZhbCkpOw0KPiArICAgIH0NCj4gKw0KPiArICAgICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ICt9DQo+ICsNCj4gKw0KPiArRUZJX0JPT1RfU0NSSVBUX1NBVkVfUFJPVE9DT0wg Km1Cb290U2NyaXB0U2F2ZTsNCj4gKw0KPiArLyoqDQo+ICsgIEV2ZW50IE5vdGlmaWNhdGlvbiBk dXJpbmcgZXhpdCBib290IHNlcnZpY2UgdG8gZW5hYmVsIEFDUEkgbW9kZQ0KPiArDQo+ICsgICBE aXNhYmxlIFNXIFNNSSBUaW1lciwgU01JIGZyb20gVVNCICYgSW50ZWwgU3BlY2lmaWMgVVNCIDIN Cj4gKw0KPiArICAgQ2xlYXIgYWxsIEFDUEkgZXZlbnQgc3RhdHVzIGFuZCBkaXNhYmxlIGFsbCBB Q1BJIGV2ZW50cw0KPiArICAgRGlzYWJsZSBQTSBzb3VyY2VzIGV4Y2VwdCBwb3dlciBidXR0b24N Cj4gKyAgIENsZWFyIHN0YXR1cyBiaXRzDQo+ICsNCj4gKyAgIEd1YXJhbnRlZSBkYXktb2YtbW9u dGggYWxhcm0gaXMgaW52YWxpZCAoQUNQSSA1LjAgU2VjdGlvbiA0LjguMi40ICJSZWFsDQo+IFRp bWUgQ2xvY2sgQWxhcm0iKQ0KPiArDQo+ICsgICBVcGRhdGUgRUMgdG8gZGlzYWJsZSBTTUkgYW5k IGVuYWJsZSBTQ0kNCj4gKw0KPiArICAgRW5hYmxlIFNDSQ0KPiArDQo+ICsgICBFbmFibGUgUE1F X0IwX0VOIGluIEdQRTBhX0VODQo+ICsNCj4gKyAgQHBhcmFtIEV2ZW50ICAtIEVGSSBFdmVudCBI YW5kbGUNCj4gKyAgQHBhcmFtIENvbnRleHQgLSBQb2ludGVyIHRvIE5vdGlmeSBDb250ZXh0DQo+ ICsNCj4gKyAgQHJldHZhbCAgTm90aGluZw0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQ SQ0KPiArRW5hYmxlQWNwaUNhbGxiYWNrICgNCj4gKyAgSU4gRUZJX0VWRU5UICAgICAgICBFdmVu dCwNCj4gKyAgSU4gVk9JRCAgICAgICAgICAgICAqQ29udGV4dA0KPiArICApDQo+ICt7DQo+ICsg IFVJTlQzMiAgUmVnRGF0YTMyOw0KPiArICBVSU5UMTYgIFBtMUNudDsNCj4gKyAgVUlOVDE2ICBB Y3BpQmFzZTsNCj4gKyAgVUlOVDMyICBHcGUwYUVuOw0KPiArDQo+ICsgIEFjcGlCYXNlID0gTW1p b1JlYWQxNiAoDQo+ICsgICAgICAgICAgICAgICBQY2hQY2lEZXZpY2VNbUJhc2UgKERFRkFVTFRf UENJX0JVU19OVU1CRVJfUENILA0KPiArICAgICAgICAgICAgICAgUENJX0RFVklDRV9OVU1CRVJf UENIX0xQQywNCj4gKyAgICAgICAgICAgICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQykg KyBSX1BDSF9MUENfQUNQSV9CQVNFDQo+ICsgICAgICAgICAgICAgICApICYgQl9QQ0hfTFBDX0FD UElfQkFTRV9CQVI7DQo+ICsNCj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAiRW5hYmxlQWNwaUNh bGxiYWNrOiBBY3BpQmFzZSA9ICV4XG4iLCBBY3BpQmFzZSkpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIERpc2FibGUgU1cgU01JIFRpbWVyLCBTTUkgZnJvbSBVU0IgJiBJbnRlbCBTcGVjaWZpYyBV U0IgMg0KPiArICAvLw0KPiArICBSZWdEYXRhMzIgPSBJb1JlYWQzMihBY3BpQmFzZSArIFJfUENI X1NNSV9FTik7DQo+ICsgIFJlZ0RhdGEzMiAmPSB+KEJfUENIX1NNSV9FTl9TV1NNSV9UTVIgfA0K PiBCX1BDSF9TTUlfRU5fTEVHQUNZX1VTQjIgfCBCX1BDSF9TTUlfRU5fSU5URUxfVVNCMik7DQo+ ICsgIElvV3JpdGUzMihBY3BpQmFzZSArIFJfUENIX1NNSV9FTiwgUmVnRGF0YTMyKTsNCj4gKw0K PiArICBSZWdEYXRhMzIgPSBJb1JlYWQzMihBY3BpQmFzZSArIFJfUENIX1NNSV9TVFMpOw0KPiAr ICBSZWdEYXRhMzIgfD0gQl9QQ0hfU01JX1NUU19TV1NNSV9UTVI7DQo+ICsgIElvV3JpdGUzMihB Y3BpQmFzZSArIFJfUENIX1NNSV9TVFMsIFJlZ0RhdGEzMik7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gRGlzYWJsZSBQTSBzb3VyY2VzIGV4Y2VwdCBwb3dlciBidXR0b24NCj4gKyAgLy8gcG93ZXIg YnV0dG9uIGlzIGVuYWJsZWQgb25seSBmb3IgUENBVC4gRGlzYWJsZWQgaXQgb24gVGFibGV0IHBs YXRmb3JtDQo+ICsgIC8vDQo+ICsNCj4gKyAgSW9Xcml0ZTE2KEFjcGlCYXNlICsgUl9QQ0hfQUNQ SV9QTTFfRU4sDQo+IEJfUENIX0FDUElfUE0xX0VOX1BXUkJUTik7DQo+ICsgIElvV3JpdGUxNihB Y3BpQmFzZSArIFJfUENIX0FDUElfUE0xX1NUUywgMHhmZmZmKTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBHdWFyYW50ZWUgZGF5LW9mLW1vbnRoIGFsYXJtIGlzIGludmFsaWQgKEFDUEkgNS4wIFNl Y3Rpb24gNC44LjIuNCAiUmVhbA0KPiBUaW1lIENsb2NrIEFsYXJtIikNCj4gKyAgLy8gQ2xlYXIg U3RhdHVzIEQgcmVnIFZNIGJpdCwgRGF0ZSBvZiBtb250aCBBbGFybSB0byBtYWtlIERhdGEgaW4g Q01PUw0KPiBSQU0gaXMgbm8gbG9uZ2VyIFZhbGlkDQo+ICsgIC8vDQo+ICsgIElvV3JpdGU4IChQ Q0FUX1JUQ19BRERSRVNTX1JFR0lTVEVSLCBSVENfQUREUkVTU19SRUdJU1RFUl9EKTsNCj4gKyAg SW9Xcml0ZTggKFBDQVRfUlRDX0RBVEFfUkVHSVNURVIsIDB4MCk7DQo+ICsNCj4gKyAgUmVnRGF0 YTMyID0gSW9SZWFkMzIoQWNwaUJhc2UgKyBSX1BDSF9BTFRfR1BfU01JX0VOKTsNCj4gKyAgUmVn RGF0YTMyICY9IH4oQklUNyk7DQo+ICsgIElvV3JpdGUzMigoQWNwaUJhc2UgKyBSX1BDSF9BTFRf R1BfU01JX0VOKSwgUmVnRGF0YTMyKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBFbmFibGUgU0NJ DQo+ICsgIC8vDQo+ICsgIFBtMUNudCA9IElvUmVhZDE2KEFjcGlCYXNlICsgUl9QQ0hfQUNQSV9Q TTFfQ05UKTsNCj4gKyAgUG0xQ250IHw9IEJfUENIX0FDUElfUE0xX0NOVF9TQ0lfRU47DQo+ICsg IElvV3JpdGUxNihBY3BpQmFzZSArIFJfUENIX0FDUElfUE0xX0NOVCwgUG0xQ250KTsNCj4gKw0K PiArICBJb1dyaXRlOCgweDgwLCAweEEwKTsJLy9TV19TTUlfQUNQSV9FTkFCTEUNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBFbmFibGUgUE1FX0IwX0VOIGluIEdQRTBhX0VODQo+ICsgIC8vIENhdXRp b246IEVuYWJsZSBQTUVfQjBfRU4gbXVzdCBiZSBwbGFjZWQgYWZ0ZXIgZW5hYmxpbmcgU0NJLg0K PiArICAvLyBPdGhlcndpc2UsIFVTQiBQTUUgY291bGQgbm90IGJlIGhhbmRsZWQgYXMgU01JIGV2 ZW50IHNpbmNlIG5vDQo+IGhhbmRsZXIgaXMgdGhlcmUuDQo+ICsgIC8vDQo+ICsgIEdwZTBhRW4g PSBJb1JlYWQzMiAoQWNwaUJhc2UgKyBSX1BDSF9BQ1BJX0dQRTBhX0VOKTsNCj4gKyAgR3BlMGFF biB8PSBCX1BDSF9BQ1BJX0dQRTBhX0VOX1BNRV9CMDsNCj4gKyAgSW9Xcml0ZTMyKEFjcGlCYXNl ICsgUl9QQ0hfQUNQSV9HUEUwYV9FTiwgR3BlMGFFbik7DQo+ICsNCj4gK30NCj4gKw0KPiArLyoq DQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjoNCj4gKw0KPiArICBUaGlzIGlzIHRoZSBz dGFuZGFyZCBFRkkgZHJpdmVyIHBvaW50IGZvciB0aGUgRHJpdmVyLiBUaGlzDQo+ICsgIGRyaXZl ciBpcyByZXNwb25zaWJsZSBmb3Igc2V0dGluZyB1cCBhbnkgcGxhdGZvcm0gc3BlY2lmaWMgcG9s aWN5IG9yDQo+ICsgIGluaXRpYWxpemF0aW9uIGluZm9ybWF0aW9uLg0KPiArDQo+ICsgIEBwYXJh bSBJbWFnZUhhbmRsZSAgICBIYW5kbGUgZm9yIHRoZSBpbWFnZSBvZiB0aGlzIGRyaXZlci4NCj4g KyAgQHBhcmFtIFN5c3RlbVRhYmxlICAgIFBvaW50ZXIgdG8gdGhlIEVGSSBTeXN0ZW0gVGFibGUu DQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgIFBvbGljeSBkZWNpc2lvbnMgc2V0Lg0K PiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArSW5pdGlhbGl6ZVBsYXRm b3JtICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBF RklfU1lTVEVNX1RBQkxFICAgKlN5c3RlbVRhYmxlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWYXJTaXplOw0KPiArICBFRklfSEFORExFICAgICAgICAg ICAgICAgICAgICAgICAgICBIYW5kbGUgPSBOVUxMOw0KPiArICBFRklfRVZFTlQgICAgICAgICAg ICAgICAgICAgICAgICAgICBtRWZpRXhpdEJvb3RTZXJ2aWNlc0V2ZW50Ow0KPiArICBFRklfRVZF TlQgICAgICAgICAgICAgICAgICAgICAgICAgICBSdGNFdmVudDsNCj4gKyAgVk9JRCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKlJ0Y0NhbGxiYWNrUmVnID0gTlVMTDsNCj4gKw0KPiAr ICBtSW1hZ2VIYW5kbGUgPSBJbWFnZUhhbmRsZTsNCj4gKw0KPiArICBTdGF0dXMgPSBnQlMtPklu c3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQo+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlLA0K PiArICAgICAgICAgICAgICAgICAgJmdFZmlTcGVha2VySW50ZXJmYWNlUHJvdG9jb2xHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgRUZJX05BVElWRV9JTlRFUkZBQ0UsDQo+ICsgICAgICAgICAg ICAgICAgICAmbVNwZWFrZXJJbnRlcmZhY2UNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsN Cj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAg ICAmZ0VmaVBjaVJvb3RCcmlkZ2VJb1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAg IE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJm1QY2lSb290QnJpZGdlSW8N Cj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsNCj4gKyAgVmFyU2l6ZSA9IHNpemVvZihFRklfUExBVEZPUk1fSU5GT19IT0IpOw0KPiAr ICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAgICAgICAgTCJQbGF0 Zm9ybUluZm8iLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlWbHYyVmFyaWFibGVHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZWYXJTaXpl LA0KPiArICAgICAgICAgICAgICAgICAgJm1QbGF0Zm9ybUluZm8NCj4gKyAgICAgICAgICAgICAg ICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5pdGlhbGl6ZSBQcm9kdWN0IEJvYXJkIElE IHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsgIEluaXRNZmdBbmRDb25maWdNb2RlU3RhdGVWYXIoKTsN Cj4gKyAgSW5pdFBsYXRmb3JtQm9vdE1vZGUoKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbnN0 YWxsIE9ic2VydmFibGUgcHJvdG9jb2wNCj4gKyAgLy8NCj4gKyAgSW5pdGlhbGl6ZU9ic2VydmFi bGVQcm90b2NvbCgpOw0KPiArDQo+ICsgIFN0YXR1cyA9IFNhdmVTZXR1cFJlY292ZXJ5VmFyKCk7 DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBERUJVRyAoKEVGSV9EX0VS Uk9SLCAiSW5pdGlhbGl6ZVBsYXRmb3JtKCkgU2F2ZSBTZXR1cFJlY292ZXJ5IHZhcmlhYmxlDQo+ IGZhaWxlZCBcbiIpKTsNCj4gKyAgfQ0KPiArDQo+ICsgIFZhclNpemUgPSBzaXplb2YoU1lTVEVN X0NPTkZJR1VSQVRJT04pOw0KPiArICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAg ICAgICAgICAgICAgICAgTk9STUFMX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAgICAgICAgICAm Z0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICZtU3lzdGVtQ29u ZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAo U3RhdHVzKSB8fCBWYXJTaXplICE9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTikpIHsNCj4g KyAgICAvL1RoZSBzZXR1cCB2YXJpYWJsZSBpcyBjb3JydXB0ZWQNCj4gKyAgICBWYXJTaXplID0g c2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgICBTdGF0dXMgPSBnUlQtPkdldFZh cmlhYmxlKA0KPiArICAgICAgICAgICAgICBMIlNldHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAg ICAgICAmZ0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgTlVMTCwNCj4gKyAg ICAgICAgICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICZtU3lzdGVtQ29uZmlndXJh dGlvbg0KPiArICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1 cyk7DQo+ICsgICAgU3RhdHVzID0gZ1JULT5TZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAg ICAgICAgIE5PUk1BTF9TRVRVUF9OQU1FLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaU5v cm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX05PTl9W T0xBVElMRSB8DQo+IEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MsDQo+ICsgICAgICAg ICAgICAgICAgICAgIHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTiksDQo+ICsgICAgICAgICAg ICAgICAgICAgICZtU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gRWZpQ3JlYXRlRXZlbnRSZWFkeVRvQm9vdEV4 ICgNCj4gKyAgICAgICAgICAgICBUUExfQ0FMTEJBQ0ssDQo+ICsgICAgICAgICAgICAgUmVhZHlU b0Jvb3RGdW5jdGlvbiwNCj4gKyAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICZt UmVhZHlUb0Jvb3RFdmVudA0KPiArICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQ3JlYXRlIGEgUmVhZHlUb0Jvb3QgRXZlbnQgdG8gcnVuIHRoZSBQTUUgaW5pdCBwcm9jZXNz DQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IEVmaUNyZWF0ZUV2ZW50UmVhZHlUb0Jvb3RFeCAoDQo+ ICsgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KPiArICAgICAgICAgICAgIEluaXRQY2lEZXZQ TUUsDQo+ICsgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAmbVJlYWR5VG9Cb290 RXZlbnQNCj4gKyAgICAgICAgICAgICApOw0KPiArICAvLw0KPiArICAvLyBDcmVhdGUgYSBSZWFk eVRvQm9vdCBFdmVudCB0byBydW4gZW5hYmxlIFBSMC9QUjEgYW5kIGxvY2sNCj4gZG93bix1bmxv Y2sgdmFyaWFibGUgcmVnaW9uDQo+ICsgIC8vDQo+ICsgIGlmKG1TeXN0ZW1Db25maWd1cmF0aW9u LlNwaVJ3UHJvdGVjdD09MSkgew0KPiArICAgIFN0YXR1cyA9IEVmaUNyZWF0ZUV2ZW50UmVhZHlU b0Jvb3RFeCAoDQo+ICsgICAgICAgICAgICAgICBUUExfQ0FMTEJBQ0ssDQo+ICsgICAgICAgICAg ICAgICBTcGlCaW9zUHJvdGVjdGlvbkZ1bmN0aW9uLA0KPiArICAgICAgICAgICAgICAgTlVMTCwN Cj4gKyAgICAgICAgICAgICAgICZtUmVhZHlUb0Jvb3RFdmVudA0KPiArICAgICAgICAgICAgICAg KTsNCj4gKyAgfQ0KPiArICAvLw0KPiArICAvLyBDcmVhdGUgYSBSZWFkeVRvQm9vdCBFdmVudCB0 byBydW4gdGhlIHRoZXJtYWx6b25lIGluaXQgcHJvY2Vzcw0KPiArICAvLw0KPiArICBTdGF0dXMg PSBFZmlDcmVhdGVFdmVudFJlYWR5VG9Cb290RXggKA0KPiArICAgICAgICAgICAgIFRQTF9DQUxM QkFDSywNCj4gKyAgICAgICAgICAgICBJbml0VGhlcm1hbFpvbmUsDQo+ICsgICAgICAgICAgICAg TlVMTCwNCj4gKyAgICAgICAgICAgICAmbVJlYWR5VG9Cb290RXZlbnQNCj4gKyAgICAgICAgICAg ICApOw0KPiArDQo+ICsgIFJlcG9ydFN0YXR1c0NvZGVFeCAoDQo+ICsgICAgRUZJX1BST0dSRVNT X0NPREUsDQo+ICsgICAgRUZJX0NPTVBVVElOR19VTklUX0NISVBTRVQgfCBFRklfQ1VfUExBVEZP Uk1fRFhFX1NURVAxLA0KPiArICAgIDAsDQo+ICsgICAgJmdFZmlDYWxsZXJJZEd1aWQsDQo+ICsg ICAgTlVMTCwNCj4gKyAgICBOVUxMLA0KPiArICAgIDANCj4gKyAgICApOw0KPiArDQo+ICsjaWYg ZGVmaW5lZChTRU5TT1JfSU5GT19WQVJfU1VQUE9SVCkgJiYNCj4gU0VOU09SX0lORk9fVkFSX1NV UFBPUlQgIT0gMA0KPiArICAvLw0KPiArICAvLyBJbml0aWFsaXplIFNlbnNvciBJbmZvIHZhcmlh YmxlDQo+ICsgIC8vDQo+ICsgIEluaXRpYWxpemVTZW5zb3JJbmZvVmFyaWFibGUoKTsNCj4gKyNl bmRpZg0KPiArICBJbml0UGNoUGxhdGZvcm1Qb2xpY3koJm1QbGF0Zm9ybUluZm8pOw0KPiArICBJ bml0Vmx2UGxhdGZvcm1Qb2xpY3koKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyAgQWRkIHVzYiBw b2xpY3kNCj4gKyAgLy8NCj4gKyAgSW5pdFBsYXRmb3JtVXNiUG9saWN5KCk7DQo+ICsgIEluaXRT aW9QbGF0Zm9ybVBvbGljeSgpOw0KPiArICBJbml0aWFsaXplQ2xvY2tSb3V0aW5nKCk7DQo+ICsg IEluaXRpYWxpemVTbG90SW5mbygpOw0KPiArICBJbml0VGNvUmVzZXQoKTsNCj4gKw0KPiArICAv Lw0KPiArICAvL0luaXQgRXhJDQo+ICsgIC8vDQo+ICsgIEluaXRFeEkoKTsNCj4gKw0KPiArICBS ZXBvcnRTdGF0dXNDb2RlRXggKA0KPiArICAgIEVGSV9QUk9HUkVTU19DT0RFLA0KPiArICAgIEVG SV9DT01QVVRJTkdfVU5JVF9DSElQU0VUIHwgRUZJX0NVX1BMQVRGT1JNX0RYRV9TVEVQMiwNCj4g KyAgICAwLA0KPiArICAgICZnRWZpQ2FsbGVySWRHdWlkLA0KPiArICAgIE5VTEwsDQo+ICsgICAg TlVMTCwNCj4gKyAgICAwDQo+ICsgICAgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbnN0YWxs IFBDSSBCdXMgRHJpdmVyIEhvb2sNCj4gKyAgLy8NCj4gKyAgUGNpQnVzRHJpdmVySG9vaygpOw0K PiArDQo+ICsgIEluaXRJdGsoKTsNCj4gKw0KPiArICBSZXBvcnRTdGF0dXNDb2RlRXggKA0KPiAr ICAgIEVGSV9QUk9HUkVTU19DT0RFLA0KPiArICAgIEVGSV9DT01QVVRJTkdfVU5JVF9DSElQU0VU IHwgRUZJX0NVX1BMQVRGT1JNX0RYRV9TVEVQMywNCj4gKyAgICAwLA0KPiArICAgICZnRWZpQ2Fs bGVySWRHdWlkLA0KPiArICAgIE5VTEwsDQo+ICsgICAgTlVMTCwNCj4gKyAgICAwDQo+ICsgICAg KTsNCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgUGFzc3dvcmQgU3RhdGVz IGFuZCBDYWxsYmFja3MNCj4gKyAgLy8NCj4gKyAgUGNoSW5pdEJlZm9yZUJvb3QoKTsNCj4gKw0K PiArI2lmIGRlZmluZWQgU1VQUE9SVF9MVkRTX0RJU1BMQVkgJiYgU1VQUE9SVF9MVkRTX0RJU1BM QVkNCj4gKw0KPiArI2VuZGlmDQo+ICsNCj4gKyNpZiBkZWZpbmVkKEZJUk1XQVJFX0lEX0JBQ0tX QVJEX0NPTVBBVElCTEUpICYmDQo+IChGSVJNV0FSRV9JRF9CQUNLV0FSRF9DT01QQVRJQkxFICE9 IDApDQo+ICsgIC8vDQo+ICsgIC8vIFJlLXdyaXRlIEZpcm13YXJlIElEIGlmIGl0IGlzIGNoYW5n ZWQNCj4gKyAgLy8NCj4gKyAgSW5pdEZpcm13YXJlSWQoKTsNCj4gKyNlbmRpZg0KPiArDQo+ICsg IFJlcG9ydFN0YXR1c0NvZGVFeCAoDQo+ICsgICAgRUZJX1BST0dSRVNTX0NPREUsDQo+ICsgICAg RUZJX0NPTVBVVElOR19VTklUX0NISVBTRVQgfCBFRklfQ1VfUExBVEZPUk1fRFhFX1NURVA0LA0K PiArICAgIDAsDQo+ICsgICAgJmdFZmlDYWxsZXJJZEd1aWQsDQo+ICsgICAgTlVMTCwNCj4gKyAg ICBOVUxMLA0KPiArICAgIDANCj4gKyAgICApOw0KPiArDQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JT LT5DcmVhdGVFdmVudEV4ICgNCj4gKyAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFM LA0KPiArICAgICAgICAgICAgICAgICAgVFBMX05PVElGWSwNCj4gKyAgICAgICAgICAgICAgICAg IEVuYWJsZUFjcGlDYWxsYmFjaywNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgICAgICAmZ0VmaUV2ZW50RXhpdEJvb3RTZXJ2aWNlc0d1aWQsDQo+ICsgICAgICAg ICAgICAgICAgICAmbUVmaUV4aXRCb290U2VydmljZXNFdmVudA0KPiArICAgICAgICAgICAgICAg ICAgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBBZGp1c3QgUlRDIGRlYWZ1bHQgdGltZSB0byBi ZSBCSU9TLWJ1aWx0IHRpbWUuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+Q3JlYXRlRXZl bnQgKA0KPiArICAgICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KPiArICAgICAgICAgICAgICAgICAgICBBZGp1 c3REZWZhdWx0UnRjVGltZUNhbGxiYWNrLA0KPiArICAgICAgICAgICAgICAgICAgICBOVUxMLA0K PiArICAgICAgICAgICAgICAgICAgICAmUnRjRXZlbnQNCj4gKyAgICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIFN0YXR1cyA9IGdC Uy0+UmVnaXN0ZXJQcm90b2NvbE5vdGlmeSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJmdF eGl0UG1BdXRoUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgIFJ0Y0V2ZW50 LA0KPiArICAgICAgICAgICAgICAgICAgICAgICZSdGNDYWxsYmFja1JlZw0KPiArICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VT UzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFNvdXJjZSBPciBEZXN0aW5hdGlvbiB3aXRoIExl bmd0aCBieXRlcy4NCj4gKw0KPiArICBAcGFyYW1baW5dIERlc3RpbmF0aW9uICAgVGFyZ2V0IG1l bW9yeQ0KPiArICBAcGFyYW1baW5dIFNvdXJjZSAgICAgICAgU291cmNlIG1lbW9yeQ0KPiArICBA cGFyYW1baW5dIExlbmd0aCAgICAgICAgTnVtYmVyIG9mIGJ5dGVzDQo+ICsNCj4gKyAgQHJldHZh bCBOb25lDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRWZpT3JNZW0gKA0KPiArICBJTiBWT0lE ICAgKkRlc3RpbmF0aW9uLA0KPiArICBJTiBWT0lEICAgKlNvdXJjZSwNCj4gKyAgSU4gVUlOVE4g IExlbmd0aA0KPiArICApDQo+ICt7DQo+ICsgIENIQVI4ICpEZXN0aW5hdGlvbjg7DQo+ICsgIENI QVI4ICpTb3VyY2U4Ow0KPiArDQo+ICsgIGlmIChTb3VyY2UgPCBEZXN0aW5hdGlvbikgew0KPiAr ICAgIERlc3RpbmF0aW9uOCAgPSAoQ0hBUjggKikgRGVzdGluYXRpb24gKyBMZW5ndGggLSAxOw0K PiArICAgIFNvdXJjZTggICAgICAgPSAoQ0hBUjggKikgU291cmNlICsgTGVuZ3RoIC0gMTsNCj4g KyAgICB3aGlsZSAoTGVuZ3RoLS0pIHsNCj4gKyAgICAgICooRGVzdGluYXRpb244LS0pIHw9ICoo U291cmNlOC0tKTsNCj4gKyAgICB9DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgRGVzdGluYXRpb244 ICA9IChDSEFSOCAqKSBEZXN0aW5hdGlvbjsNCj4gKyAgICBTb3VyY2U4ICAgICAgID0gKENIQVI4 ICopIFNvdXJjZTsNCj4gKyAgICB3aGlsZSAoTGVuZ3RoLS0pIHsNCj4gKyAgICAgICooRGVzdGlu YXRpb244KyspIHw9ICooU291cmNlOCsrKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4gKw0K PiArVk9JRA0KPiArUGNoSW5pdEJlZm9yZUJvb3QoKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBT YXZlZCBTUEkgT3Bjb2RlIG1lbnUgdG8gZml4IEVGSSB2YXJpYWJsZSB1bmFibGUgdG8gd3JpdGUg YWZ0ZXIgUzMNCj4gcmVzdW1lLg0KPiArICAvLw0KPiArICBTM0Jvb3RTY3JpcHRTYXZlTWVtV3Jp dGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIEVmaUJvb3RTY3JpcHRXaWR0aFVpbnQz MiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAoVUlOVE4pKFNQSV9CQVNFX0FERFJFU1Mg KyAoUl9QQ0hfU1BJX09QTUVOVTApKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAxLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgIChWT0lEICopKFVJTlROKShTUElfQkFTRV9BRERS RVNTICsNCj4gKFJfUENIX1NQSV9PUE1FTlUwKSkpOw0KPiArDQo+ICsgIFMzQm9vdFNjcmlwdFNh dmVNZW1Xcml0ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgRWZpQm9vdFNjcmlwdFdp ZHRoVWludDMyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIChVSU5UTikoU1BJX0JBU0Vf QUREUkVTUyArIChSX1BDSF9TUElfT1BNRU5VMSkpLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKikoVUlOVE4pKFNQSV9C QVNFX0FERFJFU1MgKw0KPiAoUl9QQ0hfU1BJX09QTUVOVTEpKSk7DQo+ICsNCj4gKyAgUzNCb290 U2NyaXB0U2F2ZU1lbVdyaXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBFZmlCb290 U2NyaXB0V2lkdGhVaW50MTYsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgKFVJTlROKShT UElfQkFTRV9BRERSRVNTICsgUl9QQ0hfU1BJX09QVFlQRSksDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKShVSU5UTiko U1BJX0JBU0VfQUREUkVTUyArIFJfUENIX1NQSV9PUFRZUEUpKTsNCj4gKw0KPiArICBTM0Jvb3RT Y3JpcHRTYXZlTWVtV3JpdGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIEVmaUJvb3RT Y3JpcHRXaWR0aFVpbnQxNiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAoVUlOVE4pKFNQ SV9CQVNFX0FERFJFU1MgKyBSX1BDSF9TUElfUFJFT1ApLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKikoVUlOVE4pKFNQ SV9CQVNFX0FERFJFU1MgKyBSX1BDSF9TUElfUFJFT1ApKTsNCj4gKw0KPiArICAvLw0KPiArICAv LyBTYXZlZCBNVFBNQ18xIGZvciBTMyByZXN1bWUuDQo+ICsgIC8vDQo+ICsgIFMzQm9vdFNjcmlw dFNhdmVNZW1Xcml0ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgRWZpQm9vdFNjcmlw dFdpZHRoVWludDMyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIChVSU5UTikoUE1DX0JB U0VfQUREUkVTUyArIFJfUENIX1BNQ19NVFBNQzEpLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgIDEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKikoVUlOVE4pKFBNQ19C QVNFX0FERFJFU1MgKw0KPiBSX1BDSF9QTUNfTVRQTUMxKSk7DQo+ICsgIHJldHVybjsNCj4gK30N Cj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtSZWFkeVRvQm9vdEZ1bmN0aW9uICgNCj4gKyAg RUZJX0VWRU5UICBFdmVudCwNCj4gKyAgVk9JRCAgICAgICAqQ29udGV4dA0KPiArICApDQo+ICt7 DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklf SVNBX0FDUElfUFJPVE9DT0wgICAgICAgICAgICpJc2FBY3BpOw0KPiArICBFRklfSVNBX0FDUElf REVWSUNFX0lEICAgICAgICAgIElzYURldmljZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICBTaXplOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 YXRlOw0KPiArICBFRklfVFBNX01QX0RSSVZFUl9QUk9UT0NPTCAgICAgICpUcG1NcERyaXZlcjsN Cj4gKyAgRUZJX0NQVV9JT19QUk9UT0NPTCAgICAgICAgICAgICAqQ3B1SW87DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YTsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgICBSZWNlaXZlQnVmZmVyIFs2NF07DQo+ICsgIFVJTlQzMiAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVjZWl2ZUJ1ZmZlclNpemU7DQo+ICsNCj4gKyAgVUlOVDggVHBtRm9y Y2VDbGVhckNvbW1hbmQgW10gPSAgICAgICAgICAgICAgezB4MDAsIDB4QzEsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAw LCAweDBBLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgMHgwMCwgMHgwMCwgMHgwMCwgMHg1RH07DQo+ICsgIFVJTlQ4IFRwbVBoeXNpY2FsUHJlc2Vu Y2VDb21tYW5kIFtdID0gICAgICAgIHsweDAwLCAweEMxLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwQywNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4NDAsIDB4 MDAsIDB4MDAsIDB4MEEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAweDAwLCAweDAwfTsNCj4gKyAgVUlOVDggVHBtUGh5c2ljYWxEaXNhYmxlQ29t bWFuZCBbXSA9ICAgICAgICAgezB4MDAsIDB4QzEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDBBLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwg MHgwMCwgMHg3MH07DQo+ICsgIFVJTlQ4IFRwbVBoeXNpY2FsRW5hYmxlQ29tbWFuZCBbXSA9ICAg ICAgICAgIHsweDAwLCAweEMxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwQSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4NkZ9 Ow0KPiArICBVSU5UOCBUcG1QaHlzaWNhbFNldERlYWN0aXZhdGVkQ29tbWFuZCBbXSA9ICB7MHgw MCwgMHhDMSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4MEIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAweDAwLCAweDAwLCAweDAwLCAweDcyLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMH07DQo+ICsgIFVJ TlQ4IFRwbVNldE93bmVySW5zdGFsbENvbW1hbmQgW10gPSAgICAgICAgIHsweDAwLCAweEMxLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMHgwMCwg MHgwMCwgMHgwMCwgMHgwQiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDB4MDAsIDB4MDAsIDB4MDAsIDB4NzEsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAweDAwfTsNCj4gKw0KPiArICBTaXplID0g c2l6ZW9mKFVJTlQxNik7DQo+ICsgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUgKA0KPiArICAg ICAgICAgICAgICAgICAgVkFSX0VRX0ZMT1BQWV9NT0RFX0RFQ0lNQUxfTkFNRSwNCj4gKyAgICAg ICAgICAgICAgICAgICZnRWZpTm9ybWFsU2V0dXBHdWlkLA0KPiArICAgICAgICAgICAgICAgICAg TlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZTaXplLA0KPiArICAgICAgICAgICAgICAgICAg JlN0YXRlDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIERp c2FibGUgRmxvcHB5IENvbnRyb2xsZXIgaWYgbmVlZGVkDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9 IGdCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpSXNhQWNwaVByb3RvY29sR3VpZCwgTlVMTCwgKFZP SUQgKiopDQo+ICZJc2FBY3BpKTsNCj4gKyAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSAmJiAoU3Rh dGUgPT0gMHgwMCkpIHsNCj4gKyAgICBJc2FEZXZpY2UuSElEID0gRUlTQV9QTlBfSUQoMHg2MDQp Ow0KPiArICAgIElzYURldmljZS5VSUQgPSAwOw0KPiArICAgIFN0YXR1cyA9IElzYUFjcGktPkVu YWJsZURldmljZShJc2FBY3BpLCAmSXNhRGV2aWNlLCBGQUxTRSk7DQo+ICsgIH0NCj4gKw0KPiAr ICAvLw0KPiArICAvLyBzYXZlIExBTiBpbmZvIHRvIGEgdmFyaWFibGUNCj4gKyAgLy8NCj4gKyAg aWYgKE5VTEwgIT0gbVBjaUxhbkluZm8pIHsNCj4gKyAgICBnUlQtPlNldFZhcmlhYmxlICgNCj4g KyAgICAgICAgICAgTCJQY2lMYW5JbmZvIiwNCj4gKyAgICAgICAgICAgJmdFZmlQY2lMYW5JbmZv R3VpZCwNCj4gKyAgICAgICAgICAgRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSB8DQo+IEVGSV9W QVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfCBFRklfVkFSSUFCTEVfUlVOVElNRV9BQ0NFU1Ms DQo+ICsgICAgICAgICAgIG1QY2lMYW5Db3VudCAqIHNpemVvZihQQ0lfTEFOX0lORk8pLA0KPiAr ICAgICAgICAgICBtUGNpTGFuSW5mbw0KPiArICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4g KyAgaWYgKE5VTEwgIT0gbVBjaUxhbkluZm8pIHsNCj4gKyAgICBnQlMtPkZyZWVQb29sIChtUGNp TGFuSW5mbyk7DQo+ICsgICAgbVBjaUxhbkluZm8gPSBOVUxMOw0KPiArICB9DQo+ICsNCj4gKw0K PiArICAvLw0KPiArICAvLyBIYW5kbGUgQUNQSSBPUyBUUE0gcmVxdWVzdHMgaGVyZQ0KPiArICAv Lw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAg ICAgICZnRWZpQ3B1SW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0K PiArICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJkNwdUlvDQo+ICsgICAgICAgICAgICAgICAg ICApOw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAg ICAgICAgICZnRWZpVHBtTXBEcml2ZXJQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJlRwbU1wRHJpdmVyDQo+ICsg ICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkNCj4gKyAg ew0KPiArICAgIERhdGEgPSBSZWFkQ21vc0JhbmsxQnl0ZSAoQ3B1SW8sIEFDUElfVFBNX1JFUVVF U1QpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBDbGVhciBwZW5kaW5nIEFDUEkgVFBNIHJl cXVlc3QgaW5kaWNhdG9yDQo+ICsgICAgLy8NCj4gKyAgICBXcml0ZUNtb3NCYW5rMUJ5dGUgKENw dUlvLCBBQ1BJX1RQTV9SRVFVRVNULCAweDAwKTsNCj4gKyAgICBpZiAoRGF0YSAhPSAwKQ0KPiAr ICAgIHsNCj4gKyAgICAgIFdyaXRlQ21vc0JhbmsxQnl0ZSAoQ3B1SW8sIEFDUElfVFBNX0xBU1Rf UkVRVUVTVCwgRGF0YSk7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBBc3NlcnQgUGh5 c2ljYWwgUHJlc2VuY2UgZm9yIHRoZXNlIGNvbW1hbmRzDQo+ICsgICAgICAvLw0KPiArICAgICAg VHBtUGh5c2ljYWxQcmVzZW5jZUNvbW1hbmQgWzExXSA9IDB4MjA7DQo+ICsgICAgICBSZWNlaXZl QnVmZmVyU2l6ZSA9IHNpemVvZihSZWNlaXZlQnVmZmVyKTsNCj4gKyAgICAgIFN0YXR1cyA9IFRw bU1wRHJpdmVyLT5UcmFuc21pdCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBU cG1NcERyaXZlciwgVHBtUGh5c2ljYWxQcmVzZW5jZUNvbW1hbmQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplb2YgKFRwbVBoeXNpY2FsUHJlc2VuY2VDb21tYW5kKSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmVCdWZmZXIsICZSZWNlaXZlQnVm ZmVyU2l6ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIC8v DQo+ICsgICAgICAvLyBQRiBQaHlzaWNhbFByZXNlbmNlID0gVFJVRQ0KPiArICAgICAgLy8NCj4g KyAgICAgIFRwbVBoeXNpY2FsUHJlc2VuY2VDb21tYW5kIFsxMV0gPSAweDA4Ow0KPiArICAgICAg UmVjZWl2ZUJ1ZmZlclNpemUgPSBzaXplb2YoUmVjZWl2ZUJ1ZmZlcik7DQo+ICsgICAgICBTdGF0 dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVHBtTXBEcml2ZXIsIFRwbVBoeXNpY2FsUHJlc2VuY2VDb21tYW5kLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChUcG1QaHlzaWNhbFByZXNlbmNlQ29tbWFu ZCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlQnVmZmVyLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgaWYgKERhdGEgPT0gMHgwMSkN Cj4gKyAgICAgIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gVFBNX1BoeXNpY2FsRW5h YmxlDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9m KFJlY2VpdmVCdWZmZXIpOw0KPiArICAgICAgICBTdGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNt aXQgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcG1NcERyaXZlciwgVHBt UGh5c2ljYWxFbmFibGVDb21tYW5kLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplb2YgKFRwbVBoeXNpY2FsRW5hYmxlQ29tbWFuZCksDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFJlY2VpdmVCdWZmZXIsICZSZWNlaXZlQnVmZmVyU2l6ZQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgfQ0KPiArICAgICAgaWYg KERhdGEgPT0gMHgwMikNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8g VFBNX1BoeXNpY2FsRGlzYWJsZQ0KPiArICAgICAgICAvLw0KPiArICAgICAgICBSZWNlaXZlQnVm ZmVyU2l6ZSA9IHNpemVvZihSZWNlaXZlQnVmZmVyKTsNCj4gKyAgICAgICAgU3RhdHVzID0gVHBt TXBEcml2ZXItPlRyYW5zbWl0ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg VHBtTXBEcml2ZXIsIFRwbVBoeXNpY2FsRGlzYWJsZUNvbW1hbmQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZiAoVHBtUGh5c2ljYWxEaXNhYmxlQ29tbWFuZCksDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmVCdWZmZXIsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICZSZWNlaXZlQnVmZmVyU2l6ZQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgfQ0KPiArICAgICAgaWYgKERh dGEgPT0gMHgwMykNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gVFBN X1BoeXNpY2FsU2V0RGVhY3RpdmF0ZWQ9RkFMU0UNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAg UmVjZWl2ZUJ1ZmZlclNpemUgPSBzaXplb2YoUmVjZWl2ZUJ1ZmZlcik7DQo+ICsgICAgICAgIFRw bVBoeXNpY2FsU2V0RGVhY3RpdmF0ZWRDb21tYW5kIFsxMF0gPSAweDAwOw0KPiArICAgICAgICBT dGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUcG1NcERyaXZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVHBtUGh5c2ljYWxTZXREZWFjdGl2YXRlZENvbW1hbmQsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVvZiAoVHBtUGh5c2ljYWxTZXREZWFjdGl2YXRlZENvbW1hbmQp LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlQnVmZmVyLCAmUmVj ZWl2ZUJ1ZmZlclNpemUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgICAgICAgZ1JULT5SZXNldFN5c3RlbSAoRWZpUmVzZXRXYXJtLCBFRklfU1VDQ0VTUywgMCwg TlVMTCk7DQo+ICsgICAgICB9DQo+ICsgICAgICBpZiAoRGF0YSA9PSAweDA0KQ0KPiArICAgICAg ew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBUUE1fUGh5c2ljYWxTZXREZWFjdGl2YXRl ZD1UUlVFDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6 ZW9mKFJlY2VpdmVCdWZmZXIpOw0KPiArICAgICAgICBUcG1QaHlzaWNhbFNldERlYWN0aXZhdGVk Q29tbWFuZCBbMTBdID0gMHgwMTsNCj4gKyAgICAgICAgU3RhdHVzID0gVHBtTXBEcml2ZXItPlRy YW5zbWl0ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBtTXBEcml2ZXIs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRwbVBoeXNpY2FsU2V0RGVhY3Rp dmF0ZWRDb21tYW5kLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2Yg KFRwbVBoeXNpY2FsU2V0RGVhY3RpdmF0ZWRDb21tYW5kKSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUmVjZWl2ZUJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJlJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICk7DQo+ICsgICAgICAgIGdSVC0+UmVzZXRTeXN0ZW0gKA0KPiArICAgICAgICAgICAg ICAgRWZpUmVzZXRXYXJtLA0KPiArICAgICAgICAgICAgICAgRUZJX1NVQ0NFU1MsDQo+ICsgICAg ICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgTlVMTA0KPiArICAgICAgICAgICAgICAg KTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmIChEYXRhID09IDB4MDUpDQo+ICsgICAgICB7DQo+ ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFRQTV9Gb3JjZUNsZWFyDQo+ICsgICAgICAgIC8v DQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJlY2VpdmVCdWZmZXIpOw0K PiArICAgICAgICBTdGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUcG1NcERyaXZlciwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVHBtRm9yY2VDbGVhckNvbW1hbmQsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHNpemVvZiAoVHBtRm9yY2VDbGVhckNvbW1hbmQpLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlQnVmZmVyLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZUJ1ZmZlclNpemUNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgZ1JULT5SZXNldFN5c3RlbSAoDQo+ICsg ICAgICAgICAgICAgICBFZmlSZXNldFdhcm0sDQo+ICsgICAgICAgICAgICAgICBFRklfU1VDQ0VT UywNCj4gKyAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICBOVUxMDQo+ICsgICAg ICAgICAgICAgICApOw0KPiArICAgICAgfQ0KPiArICAgICAgaWYgKERhdGEgPT0gMHgwNikNCj4g KyAgICAgIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gVFBNX1BoeXNpY2FsRW5hYmxl DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJl Y2VpdmVCdWZmZXIpOw0KPiArICAgICAgICBTdGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQg KA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcG1NcERyaXZlciwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBtUGh5c2ljYWxFbmFibGVDb21tYW5kLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKFRwbVBoeXNpY2FsRW5h YmxlQ29tbWFuZCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmVC dWZmZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZSZWNlaXZlQnVmZmVy U2l6ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICAv Lw0KPiArICAgICAgICAvLyBUUE1fUGh5c2ljYWxTZXREZWFjdGl2YXRlZD1GQUxTRQ0KPiArICAg ICAgICAvLw0KPiArICAgICAgICBSZWNlaXZlQnVmZmVyU2l6ZSA9IHNpemVvZihSZWNlaXZlQnVm ZmVyKTsNCj4gKyAgICAgICAgVHBtUGh5c2ljYWxTZXREZWFjdGl2YXRlZENvbW1hbmQgWzEwXSA9 IDB4MDA7DQo+ICsgICAgICAgIFN0YXR1cyA9IFRwbU1wRHJpdmVyLT5UcmFuc21pdCAoDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRwbU1wRHJpdmVyLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUcG1QaHlzaWNhbFNldERlYWN0aXZhdGVkQ29tbWFuZCwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChUcG1QaHlzaWNhbFNl dERlYWN0aXZhdGVkQ29tbWFuZCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IFJlY2VpdmVCdWZmZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZSZWNl aXZlQnVmZmVyU2l6ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiAr ICAgICAgICBnUlQtPlJlc2V0U3lzdGVtICgNCj4gKyAgICAgICAgICAgICAgIEVmaVJlc2V0V2Fy bSwNCj4gKyAgICAgICAgICAgICAgIEVGSV9TVUNDRVNTLA0KPiArICAgICAgICAgICAgICAgMCwN Cj4gKyAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICk7DQo+ICsgICAgICB9 DQo+ICsgICAgICBpZiAoRGF0YSA9PSAweDA3KQ0KPiArICAgICAgew0KPiArICAgICAgICAvLw0K PiArICAgICAgICAvLyBUUE1fUGh5c2ljYWxTZXREZWFjdGl2YXRlZD1UUlVFDQo+ICsgICAgICAg IC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJlY2VpdmVCdWZmZXIp Ow0KPiArICAgICAgICBUcG1QaHlzaWNhbFNldERlYWN0aXZhdGVkQ29tbWFuZCBbMTBdID0gMHgw MTsNCj4gKyAgICAgICAgU3RhdHVzID0gVHBtTXBEcml2ZXItPlRyYW5zbWl0ICgNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBtTXBEcml2ZXIsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFRwbVBoeXNpY2FsU2V0RGVhY3RpdmF0ZWRDb21tYW5kLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKFRwbVBoeXNpY2FsU2V0RGVh Y3RpdmF0ZWRDb21tYW5kKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVj ZWl2ZUJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJlY2VpdmVC dWZmZXJTaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIC8vIFRQTV9QaHlzaWNhbERpc2FibGUNCj4gKyAgICAgICAgLy8N Cj4gKyAgICAgICAgUmVjZWl2ZUJ1ZmZlclNpemUgPSBzaXplb2YoUmVjZWl2ZUJ1ZmZlcik7DQo+ ICsgICAgICAgIFN0YXR1cyA9IFRwbU1wRHJpdmVyLT5UcmFuc21pdCAoDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRwbU1wRHJpdmVyLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUcG1QaHlzaWNhbERpc2FibGVDb21tYW5kLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplb2YgKFRwbVBoeXNpY2FsRGlzYWJsZUNvbW1hbmQpLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlQnVmZmVyLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZUJ1ZmZlclNpemUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgZ1JULT5SZXNldFN5c3Rl bSAoDQo+ICsgICAgICAgICAgICAgICBFZmlSZXNldFdhcm0sDQo+ICsgICAgICAgICAgICAgICBF RklfU1VDQ0VTUywNCj4gKyAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICBOVUxM DQo+ICsgICAgICAgICAgICAgICApOw0KPiArICAgICAgfQ0KPiArICAgICAgaWYgKERhdGEgPT0g MHgwOCkNCj4gKyAgICAgIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gVFBNX1NldE93 bmVySW5zdGFsbD1UUlVFDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJT aXplID0gc2l6ZW9mKFJlY2VpdmVCdWZmZXIpOw0KPiArICAgICAgICBUcG1TZXRPd25lckluc3Rh bGxDb21tYW5kIFsxMF0gPSAweDAxOw0KPiArICAgICAgICBTdGF0dXMgPSBUcG1NcERyaXZlci0+ VHJhbnNtaXQgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcG1NcERyaXZl ciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBtU2V0T3duZXJJbnN0YWxs Q29tbWFuZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChUcG1T ZXRPd25lckluc3RhbGxDb21tYW5kKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUmVjZWl2ZUJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJl Y2VpdmVCdWZmZXJTaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgICAgICB9DQo+ICsgICAgICBpZiAoRGF0YSA9PSAweDA5KQ0KPiArICAgICAgew0KPiArICAg ICAgICAvLw0KPiArICAgICAgICAvLyBUUE1fU2V0T3duZXJJbnN0YWxsPUZBTFNFDQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJlY2VpdmVCdWZm ZXIpOw0KPiArICAgICAgICBUcG1TZXRPd25lckluc3RhbGxDb21tYW5kIFsxMF0gPSAweDAwOw0K PiArICAgICAgICBTdGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBUcG1NcERyaXZlciwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVHBtU2V0T3duZXJJbnN0YWxsQ29tbWFuZCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChUcG1TZXRPd25lckluc3RhbGxDb21tYW5kKSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZUJ1ZmZlciwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICB9DQo+ICsgICAgICBpZiAo RGF0YSA9PSAweDBBKQ0KPiArICAgICAgew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBU UE1fUGh5c2ljYWxFbmFibGUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgUmVjZWl2ZUJ1ZmZl clNpemUgPSBzaXplb2YoUmVjZWl2ZUJ1ZmZlcik7DQo+ICsgICAgICAgIFN0YXR1cyA9IFRwbU1w RHJpdmVyLT5UcmFuc21pdCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRw bU1wRHJpdmVyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcG1QaHlzaWNh bEVuYWJsZUNvbW1hbmQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv ZiAoVHBtUGh5c2ljYWxFbmFibGVDb21tYW5kKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUmVjZWl2ZUJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgJlJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICk7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFRQTV9QaHlzaWNhbFNldERlYWN0aXZh dGVkPUZBTFNFDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0g c2l6ZW9mKFJlY2VpdmVCdWZmZXIpOw0KPiArICAgICAgICBUcG1QaHlzaWNhbFNldERlYWN0aXZh dGVkQ29tbWFuZCBbMTBdID0gMHgwMDsNCj4gKyAgICAgICAgU3RhdHVzID0gVHBtTXBEcml2ZXIt PlRyYW5zbWl0ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBtTXBEcml2 ZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRwbVBoeXNpY2FsU2V0RGVh Y3RpdmF0ZWRDb21tYW5kLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXpl b2YgKFRwbVBoeXNpY2FsU2V0RGVhY3RpdmF0ZWRDb21tYW5kKSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUmVjZWl2ZUJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgJlJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICk7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIERvIFRQTV9TZXRPd25l ckluc3RhbGw9VFJVRSBvbiBuZXh0IHJlYm9vdA0KPiArICAgICAgICAvLw0KPiArDQo+ICsgICAg ICAgIFdyaXRlQ21vc0JhbmsxQnl0ZSAoQ3B1SW8sIEFDUElfVFBNX1JFUVVFU1QsIDB4RjApOw0K PiArDQo+ICsgICAgICAgIGdSVC0+UmVzZXRTeXN0ZW0gKA0KPiArICAgICAgICAgICAgICAgRWZp UmVzZXRXYXJtLA0KPiArICAgICAgICAgICAgICAgRUZJX1NVQ0NFU1MsDQo+ICsgICAgICAgICAg ICAgICAwLA0KPiArICAgICAgICAgICAgICAgTlVMTA0KPiArICAgICAgICAgICAgICAgKTsNCj4g KyAgICAgIH0NCj4gKyAgICAgIGlmIChEYXRhID09IDB4MEIpDQo+ICsgICAgICB7DQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIC8vIFRQTV9TZXRPd25lckluc3RhbGw9RkFMU0UNCj4gKyAgICAg ICAgLy8NCj4gKyAgICAgICAgUmVjZWl2ZUJ1ZmZlclNpemUgPSBzaXplb2YoUmVjZWl2ZUJ1ZmZl cik7DQo+ICsgICAgICAgIFRwbVNldE93bmVySW5zdGFsbENvbW1hbmQgWzEwXSA9IDB4MDA7DQo+ ICsgICAgICAgIFN0YXR1cyA9IFRwbU1wRHJpdmVyLT5UcmFuc21pdCAoDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRwbU1wRHJpdmVyLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBUcG1TZXRPd25lckluc3RhbGxDb21tYW5kLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBzaXplb2YgKFRwbVNldE93bmVySW5zdGFsbENvbW1hbmQpLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlQnVmZmVyLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZUJ1ZmZlclNpemUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAg Ly8gVFBNX1BoeXNpY2FsU2V0RGVhY3RpdmF0ZWQ9VFJVRQ0KPiArICAgICAgICAvLw0KPiArICAg ICAgICBSZWNlaXZlQnVmZmVyU2l6ZSA9IHNpemVvZihSZWNlaXZlQnVmZmVyKTsNCj4gKyAgICAg ICAgVHBtUGh5c2ljYWxTZXREZWFjdGl2YXRlZENvbW1hbmQgWzEwXSA9IDB4MDE7DQo+ICsgICAg ICAgIFN0YXR1cyA9IFRwbU1wRHJpdmVyLT5UcmFuc21pdCAoDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFRwbU1wRHJpdmVyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBUcG1QaHlzaWNhbFNldERlYWN0aXZhdGVkQ29tbWFuZCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChUcG1QaHlzaWNhbFNldERlYWN0aXZhdGVkQ29t bWFuZCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmVCdWZmZXIs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZSZWNlaXZlQnVmZmVyU2l6ZQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICAvLyBUUE1fUGh5c2ljYWxEaXNhYmxlDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAg IFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJlY2VpdmVCdWZmZXIpOw0KPiArICAgICAgICBT dGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBUcG1NcERyaXZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVHBtUGh5c2ljYWxEaXNhYmxlQ29tbWFuZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgc2l6ZW9mIChUcG1QaHlzaWNhbERpc2FibGVDb21tYW5kKSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZUJ1ZmZlciwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgJlJlY2VpdmVCdWZmZXJTaXplDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICAgIGdSVC0+UmVzZXRTeXN0ZW0gKA0KPiArICAg ICAgICAgICAgICAgRWZpUmVzZXRXYXJtLA0KPiArICAgICAgICAgICAgICAgRUZJX1NVQ0NFU1Ms DQo+ICsgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgTlVMTA0KPiArICAgICAg ICAgICAgICAgKTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmIChEYXRhID09IDB4MEUpDQo+ICsg ICAgICB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFRQTV9Gb3JjZUNsZWFyDQo+ICsg ICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJlY2VpdmVC dWZmZXIpOw0KPiArICAgICAgICBTdGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcG1NcERyaXZlciwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgVHBtRm9yY2VDbGVhckNvbW1hbmQsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVvZiAoVHBtRm9yY2VDbGVhckNvbW1hbmQpLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBSZWNlaXZlQnVmZmVyLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZUJ1ZmZlclNpemUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAg Ly8gVFBNX1BoeXNpY2FsRW5hYmxlDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVC dWZmZXJTaXplID0gc2l6ZW9mKFJlY2VpdmVCdWZmZXIpOw0KPiArICAgICAgICBTdGF0dXMgPSBU cG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBUcG1NcERyaXZlciwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVHBtUGh5 c2ljYWxFbmFibGVDb21tYW5kLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBz aXplb2YgKFRwbVBoeXNpY2FsRW5hYmxlQ29tbWFuZCksDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFJlY2VpdmVCdWZmZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZSZWNlaXZlQnVmZmVyU2l6ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICApOw0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBUUE1fUGh5c2ljYWxTZXREZWFj dGl2YXRlZD1GQUxTRQ0KPiArICAgICAgICAvLw0KPiArICAgICAgICBSZWNlaXZlQnVmZmVyU2l6 ZSA9IHNpemVvZihSZWNlaXZlQnVmZmVyKTsNCj4gKyAgICAgICAgVHBtUGh5c2ljYWxTZXREZWFj dGl2YXRlZENvbW1hbmQgWzEwXSA9IDB4MDA7DQo+ICsgICAgICAgIFN0YXR1cyA9IFRwbU1wRHJp dmVyLT5UcmFuc21pdCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRwbU1w RHJpdmVyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcG1QaHlzaWNhbFNl dERlYWN0aXZhdGVkQ29tbWFuZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg c2l6ZW9mIChUcG1QaHlzaWNhbFNldERlYWN0aXZhdGVkQ29tbWFuZCksDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmVCdWZmZXIsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICZSZWNlaXZlQnVmZmVyU2l6ZQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICApOw0KPiArICAgICAgICBnUlQtPlJlc2V0U3lzdGVtICgNCj4gKyAgICAg ICAgICAgICAgIEVmaVJlc2V0V2FybSwNCj4gKyAgICAgICAgICAgICAgIEVGSV9TVUNDRVNTLA0K PiArICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAg ICAgICAgICk7DQo+ICsgICAgICB9DQo+ICsgICAgICBpZiAoRGF0YSA9PSAweEYwKQ0KPiArICAg ICAgew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBTZWNvbmQgcGFydCBvZiBBQ1BJIFRQ TSByZXF1ZXN0IDB4MEE6IE9FTSBjdXN0b20NCj4gVFBNX1NldE93bmVySW5zdGFsbD1UUlVFDQo+ ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJlY2Vp dmVCdWZmZXIpOw0KPiArICAgICAgICBUcG1TZXRPd25lckluc3RhbGxDb21tYW5kIFsxMF0gPSAw eDAxOw0KPiArICAgICAgICBTdGF0dXMgPSBUcG1NcERyaXZlci0+VHJhbnNtaXQgKA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUcG1NcERyaXZlciwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgVHBtU2V0T3duZXJJbnN0YWxsQ29tbWFuZCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChUcG1TZXRPd25lckluc3RhbGxDb21t YW5kKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUmVjZWl2ZUJ1ZmZlciwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlJlY2VpdmVCdWZmZXJTaXplDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICAgIFdyaXRlQ21v c0JhbmsxQnl0ZSAoQ3B1SW8sIEFDUElfVFBNX0xBU1RfUkVRVUVTVCwgMHgwQSk7DQo+ICsgICAg ICB9DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRGVhc3NlcnQgUGh5c2ljYWwgUHJlc2VuY2UN Cj4gKyAgICAgIC8vDQo+ICsgICAgICBUcG1QaHlzaWNhbFByZXNlbmNlQ29tbWFuZCBbMTFdID0g MHgxMDsNCj4gKyAgICAgIFJlY2VpdmVCdWZmZXJTaXplID0gc2l6ZW9mKFJlY2VpdmVCdWZmZXIp Ow0KPiArICAgICAgU3RhdHVzID0gVHBtTXBEcml2ZXItPlRyYW5zbWl0ICgNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFRwbU1wRHJpdmVyLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgVHBtUGh5c2ljYWxQcmVzZW5jZUNvbW1hbmQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBzaXplb2YgKFRwbVBoeXNpY2FsUHJlc2VuY2VDb21tYW5kKSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY2VpdmVCdWZmZXIsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmUmVjZWl2ZUJ1ZmZlclNpemUNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJu Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBJbml0aWFsaXplcyBtYW51ZmFjdHVyaW5n IGFuZCBjb25maWcgbW9kZSBzZXR0aW5nLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0luaXRN ZmdBbmRDb25maWdNb2RlU3RhdGVWYXIoKQ0KPiArew0KPiArICBFRklfUExBVEZPUk1fU0VUVVBf SUQgICAgICAgICAgICpCb290TW9kZUJ1ZmZlcjsNCj4gKyAgVk9JRCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAqSG9iTGlzdDsNCj4gKw0KPiArDQo+ICsgIEhvYkxpc3QgPSBHZXRGaXJzdEd1 aWRIb2IoJmdFZmlQbGF0Zm9ybUJvb3RNb2RlR3VpZCk7DQo+ICsgIGlmIChIb2JMaXN0ICE9IE5V TEwpIHsNCj4gKyAgICBCb290TW9kZUJ1ZmZlciA9IEdFVF9HVUlEX0hPQl9EQVRBIChIb2JMaXN0 KTsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIENoZWNrIGlmIGluIE1hbnVmYWN0dXJp bmcgbW9kZQ0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICggIUNvbXBhcmVNZW0gKA0KPiArICAg ICAgICAgICAgICAmQm9vdE1vZGVCdWZmZXItPlNldHVwTmFtZSwNCj4gKyAgICAgICAgICAgICAg TUFOVUZBQ1RVUkVfU0VUVVBfTkFNRSwNCj4gKyAgICAgICAgICAgICAgU3RyU2l6ZSAoTUFOVUZB Q1RVUkVfU0VUVVBfTkFNRSkNCj4gKyAgICAgICAgICAgICAgKSApIHsNCj4gKyAgICAgICAgbU1m Z01vZGUgPSBUUlVFOw0KPiArICAgICAgfQ0KPiArDQo+ICsNCj4gKw0KPiArICB9DQo+ICsNCj4g K30NCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgSW5pdGlhbGl6ZXMgbWFudWZhY3R1cmluZyBhbmQg Y29uZmlnIG1vZGUgc2V0dGluZy4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtJbml0UGxhdGZv cm1Cb290TW9kZSgpDQo+ICt7DQo+ICsgIEVGSV9QTEFURk9STV9TRVRVUF9JRCAgICAgICAgICAg KkJvb3RNb2RlQnVmZmVyOw0KPiArICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICpI b2JMaXN0Ow0KPiArDQo+ICsgIEhvYkxpc3QgPSBHZXRGaXJzdEd1aWRIb2IoJmdFZmlQbGF0Zm9y bUJvb3RNb2RlR3VpZCk7DQo+ICsgIGlmIChIb2JMaXN0ICE9IE5VTEwpIHsNCj4gKyAgICBCb290 TW9kZUJ1ZmZlciA9IEdFVF9HVUlEX0hPQl9EQVRBIChIb2JMaXN0KTsNCj4gKyAgICBtUGxhdGZv cm1Cb290TW9kZSA9IEJvb3RNb2RlQnVmZmVyLT5QbGF0Zm9ybUJvb3RNb2RlOw0KPiArICB9DQo+ ICt9DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIEluaXRpYWxpemVzIElUSy4NCj4gKw0KPiArKiov DQo+ICtWT0lEDQo+ICtJbml0SXRrKA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgSXRrTW9kQmlvc1N0YXRlOw0KPiArICBVSU5UOCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBWYWx1ZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRGF0YVNpemU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEF0dHJpYnV0ZXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0dXAgbG9jYWwgdmFyaWFi bGUgYWNjb3JkaW5nIHRvIElUSyB2YXJpYWJsZQ0KPiArICAvLw0KPiArICAvLw0KPiArICAvLyBS ZWFkIEl0a0Jpb3NNb2RWYXIgdG8gZGV0ZXJtaW5lIGlmIEJJT1MgaGFzIGJlZW4gbW9kaWZpZWQg YnkgSVRLDQo+ICsgIC8vIElmIEl0a0Jpb3NNb2RWYXIgPSAwIG9yIGlmIHZhcmlhYmxlIGhhc24n dCBiZWVuIGluaXRpYWxpemVkIHRoZW4gQklPUyBoYXMNCj4gbm90IGJlZW4gbW9kaWZpZWQgYnkg SVRLIG1vZGlmaWVkDQo+ICsgIC8vIFNldCBsb2NhbCB2YXJpYWJsZSBWQVJfRVFfSVRLX0JJT1Nf TU9EX0RFQ0lNQUxfTkFNRT0wIGlmIEJJT1MNCj4gaGFzIG5vdCBiZWVuIG1vZGlmaWVkIGJ5IElU Sw0KPiArICAvLw0KPiArICBEYXRhU2l6ZSA9IHNpemVvZiAoVmFsdWUpOw0KPiArICBTdGF0dXMg PSBnUlQtPkdldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgIElUS19CSU9TX01PRF9W QVJfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICZnSXRrRGF0YVZhckd1aWQsDQo+ICsgICAg ICAgICAgICAgICAgICAmQXR0cmlidXRlcywNCj4gKyAgICAgICAgICAgICAgICAgICZEYXRhU2l6 ZSwNCj4gKyAgICAgICAgICAgICAgICAgICZWYWx1ZQ0KPiArICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgaWYgKFN0YXR1cyA9PSBFRklfTk9UX0ZPVU5EKSB7DQo+ICsgICAgLy8NCj4gKyAgICAv LyBWYXJpYWJsZSBub3QgZm91bmQsIGhhc24ndCBiZWVuIGluaXRpYWxpemVkLCBpbnRpYWxpemUg dG8gMA0KPiArICAgIC8vDQo+ICsgICAgVmFsdWU9MHgwMDsNCj4gKyAgLy8NCj4gKyAgLy8gV3Jp dGUgdmFyaWFibGUgdG8gZmxhc2guDQo+ICsgIC8vDQo+ICsgIGdSVC0+U2V0VmFyaWFibGUgKA0K PiArICAgICAgICAgSVRLX0JJT1NfTU9EX1ZBUl9OQU1FLA0KPiArICAgICAgICAgJmdJdGtEYXRh VmFyR3VpZCwNCj4gKyAgICAgICAgIEVGSV9WQVJJQUJMRV9SVU5USU1FX0FDQ0VTUyB8DQo+ICsg ICAgICAgICBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFIHwNCj4gKyAgICAgICAgIEVGSV9WQVJJ QUJMRV9CT09UU0VSVklDRV9BQ0NFU1MsDQo+ICsgICAgICAgICBzaXplb2YgKFZhbHVlKSwNCj4g KyAgICAgICAgICZWYWx1ZQ0KPiArICAgICAgICAgKTsNCj4gKw0KPiArfQ0KPiArICBpZiAoICgh RUZJX0VSUk9SIChTdGF0dXMpKSB8fCAoU3RhdHVzID09IEVGSV9OT1RfRk9VTkQpICkgew0KPiAr ICAgIGlmIChWYWx1ZSA9PSAweDAwKSB7DQo+ICsgICAgICBJdGtNb2RCaW9zU3RhdGUgPSAweDAw Ow0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBJdGtNb2RCaW9zU3RhdGUgPSAweDAxOw0KPiAr ICAgIH0NCj4gKyAgICBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgVkFSX0VRX0lU S19CSU9TX01PRF9ERUNJTUFMX05BTUUsDQo+ICsgICAgICAgICAgICZnRWZpTm9ybWFsU2V0dXBH dWlkLA0KPiArICAgICAgICAgICBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTLA0KPiAr ICAgICAgICAgICAyLA0KPiArICAgICAgICAgICAodm9pZCAqKSZJdGtNb2RCaW9zU3RhdGUNCj4g KyAgICAgICAgICAgKTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsjaWYgZGVmaW5lZChGSVJNV0FS RV9JRF9CQUNLV0FSRF9DT01QQVRJQkxFKSAmJg0KPiAoRklSTVdBUkVfSURfQkFDS1dBUkRfQ09N UEFUSUJMRSAhPSAwKQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBJbml0aWFsaXplcyB0aGUgQklP UyBGSVJNV0FSRSBJRCBmcm9tIHRoZSBGSVJNV0FSRV9JRCBidWlsZCB2YXJpYWJsZS4NCj4gKw0K PiArKiovDQo+ICtTVEFUSUMNCj4gK1ZPSUQNCj4gK0luaXRGaXJtd2FyZUlkKA0KPiArICApDQo+ ICt7DQo+ICsgIEVGSV9TVEFUVVMgICBTdGF0dXM7DQo+ICsgIENIQVIxNiAgICAgICBGaXJtd2Fy ZUlkTmFtZVdpdGhQYXNzd29yZFtdID0NCj4gRklSTVdBUkVfSURfTkFNRV9XSVRIX1BBU1NXT1JE Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpcnN0IHRyeSB3cml0aW5nIHRoZSB2YXJpYWJsZSB3 aXRob3V0IGEgcGFzc3dvcmQgaW4gY2FzZSB3ZSBhcmUNCj4gKyAgLy8gdXBncmFkaW5nIGZyb20g YSBCSU9TIHdpdGhvdXQgcGFzc3dvcmQgcHJvdGVjdGlvbiBvbiB0aGUgRmlybXdhcmVJZA0KPiAr ICAvLw0KPiArICBTdGF0dXMgPSBnUlQtPlNldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAgICAg ICAgKENIQVIxNiAqKSZnRmlybXdhcmVJZE5hbWUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0Zp cm13YXJlSWRHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX05PTl9WT0xB VElMRSB8DQo+IEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiArICAgICAgICAg ICAgICAgICAgRUZJX1ZBUklBQkxFX1JVTlRJTUVfQUNDRVNTLA0KPiArICAgICAgICAgICAgICAg ICAgc2l6ZW9mKCBGSVJNV0FSRV9JRCApIC0gMSwNCj4gKyAgICAgICAgICAgICAgICAgIEZJUk1X QVJFX0lEDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlmIChTdGF0dXMgPT0g RUZJX0lOVkFMSURfUEFSQU1FVEVSKSB7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFNpbmNl IHNldHRpbmcgdGhlIGZpcm13YXJlIGlkIHdpdGhvdXQgdGhlIHBhc3N3b3JkIGZhaWxlZCwNCj4g KyAgICAvLyBhIHBhc3N3b3JkIG11c3QgYmUgcmVxdWlyZWQuDQo+ICsgICAgLy8NCj4gKyAgICBT dGF0dXMgPSBnUlQtPlNldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAgICAgICAgICAoQ0hBUjE2 ICopJkZpcm13YXJlSWROYW1lV2l0aFBhc3N3b3JkLA0KPiArICAgICAgICAgICAgICAgICAgICAm Z0Zpcm13YXJlSWRHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICBFRklfVkFSSUFCTEVfTk9O X1ZPTEFUSUxFIHwNCj4gRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8DQo+ICsgICAg ICAgICAgICAgICAgICAgIEVGSV9WQVJJQUJMRV9SVU5USU1FX0FDQ0VTUywNCj4gKyAgICAgICAg ICAgICAgICAgICAgc2l6ZW9mKCBGSVJNV0FSRV9JRCApIC0gMSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgRklSTVdBUkVfSUQNCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgfQ0KPiAr fQ0KPiArI2VuZGlmDQo+ICsNCj4gK1ZPSUQNCj4gK1VwZGF0ZURWTVRTZXR1cCgNCj4gKyAgKQ0K PiArew0KPiArICAgIC8vDQo+ICsgIC8vIFdvcmthcm91bmQgdG8gc3VwcG9ydCBJSUEgYnVnLg0K PiArICAvLyBJSUEgcmVxdWVzdCB0byBjaGFuZ2Ugb3B0aW9uIHZhbHVlIHRvIDQsIDUgYW5kIDcg cmVsYXRpdmVseQ0KPiArICAvLyBpbnN0ZWFkIG9mIDEsIDIsIGFuZCAzIHdoaWNoIGZvbGxvdyBM YWtlcG9ydCBTcGVjcy4NCj4gKyAgLy8gQ2hlY2sgb3B0aW9uIHZhbHVlLCB0ZW1wb3JhcnkgaGFy ZGNvZGUgR3JhcGhpY3NEcml2ZXJNZW1vcnlTaXplDQo+ICsgIC8vIE9wdGlvbiB2YWx1ZSB0byBm dWxmaWxsIElJQSByZXF1aXJtZW50LiBTbyB0aGF0IHVzZXIgbm8gbmVlZCB0bw0KPiArICAvLyBs b2FkIGRlZmF1bHQgYW5kIHVwZGF0ZSBzZXR1cHZhcmlhYmxlIGFmdGVyIHVwZGF0ZSBCSU9TLg0K PiArICAvLyAgIE9wdGlvbiB2YWx1ZSBoYXJkY29kZWQgYXM6IDEgdG8gNCwgMiB0byA1LCAzIHRv IDcuDQo+ICsgIC8vICpUaGlzIGlzIGZvciBicm9hZHdhdGVyIGFuZCBhYm92ZSBwcm9kdWN0IG9u bHkuDQo+ICsgIC8vDQo+ICsNCj4gKyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgIFN5c3Rl bUNvbmZpZ3VyYXRpb247DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBWYXJTaXpl Ow0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArDQo+ICsgIFZh clNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pOw0KPiArICBTdGF0dXMgPSBnUlQt PkdldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAgICAgICAgTk9STUFMX1NFVFVQX05BTUUsDQo+ ICsgICAgICAgICAgICAgICAgICAmZ0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAg ICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAg ICAgICAgICAgICZTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICAgICAgICAgICAgICAgICApOw0K PiArDQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgVmFyU2l6ZSAhPSBzaXplb2YoU1lT VEVNX0NPTkZJR1VSQVRJT04pKSB7DQo+ICsgICAgLy9UaGUgc2V0dXAgdmFyaWFibGUgaXMgY29y cnVwdGVkDQo+ICsgICAgVmFyU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ ICsgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgNCj4gKyAgICAgICAgICAgICAgTCJTZXR1 cFJlY292ZXJ5IiwNCj4gKyAgICAgICAgICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsg ICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICZWYXJTaXplLA0KPiArICAgICAg ICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICApOw0KPiArICAg IEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgIH0NCj4gKw0KPiArICBpZigoU3lzdGVt Q29uZmlndXJhdGlvbi5HcmFwaGljc0RyaXZlck1lbW9yeVNpemUgPCA0KQ0KPiAmJiAhRUZJX0VS Uk9SKFN0YXR1cykgKSB7DQo+ICsgICAgc3dpdGNoIChTeXN0ZW1Db25maWd1cmF0aW9uLkdyYXBo aWNzRHJpdmVyTWVtb3J5U2l6ZSl7DQo+ICsgICAgICBjYXNlIDE6DQo+ICsgICAgICAgIFN5c3Rl bUNvbmZpZ3VyYXRpb24uR3JhcGhpY3NEcml2ZXJNZW1vcnlTaXplID0gNDsNCj4gKyAgICAgICAg YnJlYWs7DQo+ICsgICAgICBjYXNlIDI6DQo+ICsgICAgICAgIFN5c3RlbUNvbmZpZ3VyYXRpb24u R3JhcGhpY3NEcml2ZXJNZW1vcnlTaXplID0gNTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAg ICBjYXNlIDM6DQo+ICsgICAgICAgIFN5c3RlbUNvbmZpZ3VyYXRpb24uR3JhcGhpY3NEcml2ZXJN ZW1vcnlTaXplID0gNzsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgICBkZWZhdWx0Og0KPiAr ICAgICAgICBicmVhazsNCj4gKyAgICAgfQ0KPiArDQo+ICsgICAgU3RhdHVzID0gZ1JULT5TZXRW YXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgIE5PUk1BTF9TRVRVUF9OQU1FLA0KPiAr ICAgICAgICAgICAgICAgICAgICAmZ0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSB8DQo+IEVGSV9WQVJJQUJMRV9CT09U U0VSVklDRV9BQ0NFU1MsDQo+ICsgICAgICAgICAgICAgICAgICAgIHNpemVvZihTWVNURU1fQ09O RklHVVJBVElPTiksDQo+ICsgICAgICAgICAgICAgICAgICAgICZTeXN0ZW1Db25maWd1cmF0aW9u DQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArVk9JRA0K PiArSW5pdFBsYXRmb3JtVXNiUG9saWN5ICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICsNCj4gK3sN Cj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgSGFuZGxlOw0KPiArICBFRklfU1RBVFVTICAg ICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgSGFuZGxlID0gTlVMTDsNCj4gKw0KPiArICBt VXNiUG9saWN5RGF0YS5WZXJzaW9uICAgICAgICAgICAgICAgICAgICAgICA9DQo+IChVSU5UOClV U0JfUE9MSUNZX1BST1RPQ09MX1JFVklTSU9OXzI7DQo+ICsgIG1Vc2JQb2xpY3lEYXRhLlVzYk1h c3NTdG9yYWdlRW11bGF0aW9uVHlwZSAgID0NCj4gbVN5c3RlbUNvbmZpZ3VyYXRpb24uVXNiQklP U0lOVDEzRGV2aWNlRW11bGF0aW9uOw0KPiArICBpZihtVXNiUG9saWN5RGF0YS5Vc2JNYXNzU3Rv cmFnZUVtdWxhdGlvblR5cGUgPT0gMykgew0KPiArICAgIG1Vc2JQb2xpY3lEYXRhLlVzYkVtdWxh dGlvblNpemUgPQ0KPiBtU3lzdGVtQ29uZmlndXJhdGlvbi5Vc2JCSU9TSU5UMTNEZXZpY2VFbXVs YXRpb25TaXplOw0KPiArICB9IGVsc2Ugew0KPiArICAgIG1Vc2JQb2xpY3lEYXRhLlVzYkVtdWxh dGlvblNpemUgPSAwOw0KPiArICB9DQo+ICsgIG1Vc2JQb2xpY3lEYXRhLlVzYlppcEVtdWxhdGlv blR5cGUgICAgICAgICA9DQo+IG1TeXN0ZW1Db25maWd1cmF0aW9uLlVzYlppcEVtdWxhdGlvbjsN Cj4gKyAgbVVzYlBvbGljeURhdGEuVXNiT3BlcmF0aW9uTW9kZSAgICAgICAgICAgICAgPSBISUdI X1NQRUVEOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBTb21lIGNoaXBzZXQgbmVlZCBQZXJpb2Qg c21pLCAwID0gTEVHQUNZX1BFUklPRF9VTl9TVVBQDQo+ICsgIC8vDQo+ICsgIG1Vc2JQb2xpY3lE YXRhLlVTQlBlcmlvZFN1cHBvcnQgICAgICA9IExFR0FDWV9QRVJJT0RfVU5fU1VQUDsNCj4gKw0K PiArICAvLw0KPiArICAvLyAgU29tZSBwbGF0Zm9ybSBuZWVkIGxlZ2FjeWZyZWUsIDAgPSBMRUdB Q1lfRlJFRV9VTl9TVVBQDQo+ICsgIC8vDQo+ICsgIG1Vc2JQb2xpY3lEYXRhLkxlZ2FjeUZyZWVT dXBwb3J0ICAgID0gTEVHQUNZX0ZSRUVfVU5fU1VQUDsNCj4gKw0KPiArICAvLw0KPiArICAvLyAg U2V0IENvZGUgYmFzZSAsIFRJQU5PX0NPREVfQkFTRSA9MHgwMSwgSUNCRCA9MHgwMA0KPiArICAv Lw0KPiArICBtVXNiUG9saWN5RGF0YS5Db2RlQmFzZSAgICA9IChVSU5UOClJQ0JEX0NPREVfQkFT RTsNCj4gKw0KPiArICAvLw0KPiArICAvLyAgU29tZSBjaGlzcGV0ICdzIExwY0FjcGliYXNlIGFy ZSBkaWZmcmVudCxzZXQgYnkgcGxhdGZvcm0gb3IgY2hpcHNldCwNCj4gKyAgLy8gIGRlZmF1bHQg aXMgSWNoICBhY3BpYmFzZSA9MHgwNDAuIGFjcGl0aW1lcnJlZz0weDA4Lg0KPiArICBtVXNiUG9s aWN5RGF0YS5McGNBY3BpQmFzZSAgICAgPSAweDQwOw0KPiArICBtVXNiUG9saWN5RGF0YS5BY3Bp VGltZXJSZWcgICAgPSAweDA4Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBTZXQgZm9yIHJlZHVj ZSB1c2IgcG9zdCB0aW1lDQo+ICsgIC8vDQo+ICsgIG1Vc2JQb2xpY3lEYXRhLlVzYlRpbWVUdWUg ICAgICAgICAgID0gMHgwMDsNCj4gKyAgbVVzYlBvbGljeURhdGEuSW50ZXJuZWxIdWJFeGlzdCAg ICAgPSAweDAwOyAgLy9UaWdlclBvaW50IGRvZXNuJ3QgaGF2ZQ0KPiBSTUgNCj4gKyAgbVVzYlBv bGljeURhdGEuRW51bVdhaXRQb3J0U3RhYmxlU3RhbGwgICAgPSAxMDA7DQo+ICsNCj4gKw0KPiAr ICBTdGF0dXMgPSBnQlMtPkluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQo+ICsgICAgICAgICAg ICAgICAgICAmSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdVc2JQb2xpY3lHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgRUZJX05BVElWRV9JTlRFUkZBQ0UsDQo+ICsgICAgICAgICAg ICAgICAgICAmbVVzYlBvbGljeURhdGENCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFT U0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArfQ0KPiArDQo+ICtVSU5UOA0KPiArUmVh ZENtb3NCYW5rMUJ5dGUgKA0KPiArICBJTiAgRUZJX0NQVV9JT19QUk9UT0NPTCAgICAgICAgICAg ICAqQ3B1SW8sDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4 DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGF0YTsNCj4gKw0KPiArICBDcHVJby0+SW8uV3JpdGUgKENwdUlvLCBFZmlDcHVJb1dpZHRoVWlu dDgsIDB4NzIsIDEsICZJbmRleCk7DQo+ICsgIENwdUlvLT5Jby5SZWFkIChDcHVJbywgRWZpQ3B1 SW9XaWR0aFVpbnQ4LCAweDczLCAxLCAmRGF0YSk7DQo+ICsgIHJldHVybiBEYXRhOw0KPiArfQ0K PiArDQo+ICtWT0lEDQo+ICtXcml0ZUNtb3NCYW5rMUJ5dGUgKA0KPiArICBJTiAgRUZJX0NQVV9J T19QUk9UT0NPTCAgICAgICAgICAgICAqQ3B1SW8sDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAg ICAgICAgICAgICAgICAgIEluZGV4LA0KPiArICBJTiAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgICAgICBEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgQ3B1SW8tPklvLldyaXRlICgNCj4gKyAg ICAgICAgICAgICAgQ3B1SW8sDQo+ICsgICAgICAgICAgICAgIEVmaUNwdUlvV2lkdGhVaW50OCwN Cj4gKyAgICAgICAgICAgICAgMHg3MiwNCj4gKyAgICAgICAgICAgICAgMSwNCj4gKyAgICAgICAg ICAgICAgJkluZGV4DQo+ICsgICAgICAgICAgICAgICk7DQo+ICsgIENwdUlvLT5Jby5Xcml0ZSAo DQo+ICsgICAgICAgICAgICAgIENwdUlvLA0KPiArICAgICAgICAgICAgICBFZmlDcHVJb1dpZHRo VWludDgsDQo+ICsgICAgICAgICAgICAgIDB4NzMsDQo+ICsgICAgICAgICAgICAgIDEsDQo+ICsg ICAgICAgICAgICAgICZEYXRhDQo+ICsgICAgICAgICAgICAgICk7DQo+ICt9DQo+ICsNCj4gZGlm ZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1Bs YXRmb3JtRHhlLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bUR4ZS9QbGF0Zm9ybUR4ZS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjhmNWRmMzI1N2UNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybUR4ZS5oDQo+IEBAIC0wLDAg KzEsNzIyIEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTUs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g Kw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgUGxhdGZvcm1EeGUuaA0KPiArDQo+ICtBYnN0 cmFjdDoNCj4gKw0KPiArICBIZWFkZXIgZmlsZSBmb3IgUGxhdGZvcm0gSW5pdGlhbGl6YXRpb24g RHJpdmVyLg0KPiArDQo+ICsNCj4gKw0KPiArKysqLw0KPiArDQo+ICsjaWZuZGVmIF9QTEFURk9S TV9EUklWRVJfSA0KPiArI2RlZmluZSBfUExBVEZPUk1fRFJJVkVSX0gNCj4gKw0KPiArI2luY2x1 ZGUgPFBpRHhlLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaUxpYi5oPg0K PiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaURyaXZlckVudHJ5UG9pbnQuaD4NCj4gKyNpbmNsdWRl IDxMaWJyYXJ5L1BjZExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jh c2VNZW1vcnlMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNU YWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L1JlcG9ydFN0YXR1c0NvZGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0hvYkxp Yi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRWZpUmVnVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRl IDxMaWJyYXJ5L1RwbTJDb21tYW5kTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9UcG0yRGV2 aWNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlQ3J5cHRMaWIuaD4NCj4gKyNpbmNs dWRlIDxMaWJyYXJ5L0Jpb3NJZExpYi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0dsb2JhbE52 c0FyZWEuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9QY2lSb290QnJpZGdlSW8uaD4NCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9Jc2FBY3BpLmg+DQo+ICsjaW5jbHVkZSA8RnJhbWV3b3JrL0ZyYW1l d29ya0ludGVybmFsRm9ybVJlcHJlc2VudGF0aW9uLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wv RnJhbWV3b3JrSGlpLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRnJhbWV3b3JrRm9ybUNhbGxi YWNrLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQ3B1SW8uaD4NCj4gKyNpbmNsdWRlIDxQcm90 b2NvbC9Cb290U2NyaXB0U2F2ZS5oPg0KPiArI2luY2x1ZGUgPEZyYW1ld29yay9Cb290U2NyaXB0 Lmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9HbG9iYWxWYXJpYWJsZS5oPg0KPiArI2luY2x1ZGUgPEd1 aWQvQm9hcmRGZWF0dXJlcy5oPg0KPiArI2luY2x1ZGUgPEd1aWQvRGF0YUh1YlJlY29yZHMuaD4N Cj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EYXRhSHViLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wv UGNpSW8uaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9TcGVha2VyLmg+DQo+ICsjaW5jbHVkZSA8 UHJvdG9jb2wvRXhpdFBtQXV0aC5oPg0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvUGNp MjIuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1NldHVwVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxH dWlkL1BsYXRmb3JtSW5mby5oPg0KPiArI2luY2x1ZGUgIkNvbmZpZ3VyYXRpb24uaCINCj4gKyNk ZWZpbmUgX0VGSV9IXyAgICAvL3NraXAgZWZpLmgNCj4gKyNpbmNsdWRlICJQY2hBY2Nlc3MuaCIN Cj4gKyNpbmNsdWRlICJWbHZBY2Nlc3MuaCINCj4gKyNpbmNsdWRlICJCb2FyZElkRGVjb2RlLmgi DQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1CYXNlQWRkcmVzc2VzLmgiDQo+ICsjaW5jbHVkZSAiU2V0 dXBNb2RlLmgiDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1Cb290TW9kZS5oIg0KPiArI2luY2x1ZGUg IkNwdVR5cGUuaCINCj4gKw0KPiArI2RlZmluZSBQQ0FUX1JUQ19BRERSRVNTX1JFR0lTVEVSICAg MHg3NA0KPiArI2RlZmluZSBQQ0FUX1JUQ19EQVRBX1JFR0lTVEVSICAgICAgMHg3NQ0KPiArDQo+ ICsjZGVmaW5lIFJUQ19BRERSRVNTX1NFQ09ORF9BTEFSTSAgICAweDAxDQo+ICsjZGVmaW5lIFJU Q19BRERSRVNTX01JTlVURV9BTEFSTSAgICAweDAzDQo+ICsjZGVmaW5lIFJUQ19BRERSRVNTX0hP VVJfQUxBUk0gICAgICAweDA1DQo+ICsNCj4gKyNkZWZpbmUgUlRDX0FERFJFU1NfUkVHSVNURVJf QSAgICAgIDB4MEENCj4gKyNkZWZpbmUgUlRDX0FERFJFU1NfUkVHSVNURVJfQiAgICAgIDB4MEIN Cj4gKyNkZWZpbmUgUlRDX0FERFJFU1NfUkVHSVNURVJfQyAgICAgIDB4MEMNCj4gKyNkZWZpbmUg UlRDX0FERFJFU1NfUkVHSVNURVJfRCAgICAgIDB4MEQNCj4gKw0KPiArI2RlZmluZSBCX1JUQ19B TEFSTV9JTlRfRU5BQkxFICAgICAgMHgyMA0KPiArI2RlZmluZSBCX1JUQ19BTEFSTV9JTlRfU1RB VFVTICAgICAgMHgyMA0KPiArDQo+ICsjZGVmaW5lIEJfUlRDX0RBVEVfQUxBUk1fTUFTSyAgICAg ICAweDNGDQo+ICsNCj4gKy8vDQo+ICsvLyBEZWZhdWx0IENQVSBBbHRlcm5hdGUgRHV0eSBDeWNs ZSAoMjU1PTEwMCUsIDA9MCUpDQo+ICsvLw0KPiArI2RlZmluZSBERUZfQ1BVX0FMVF9EVVRZX0NZ Q0xFIDB4RkYNCj4gKw0KPiArI2RlZmluZSBNQVhfT05CT0FSRF9TQVRBX0RFVklDRSAyDQo+ICsN Cj4gKyNkZWZpbmUgRFhFX0RFVklDRV9FTkFCTEVEICAxDQo+ICsjZGVmaW5lIERYRV9ERVZJQ0Vf RElTQUJMRUQgMA0KPiArDQo+ICsjZGVmaW5lIEFaQUxJQV9NQVhfTE9PUF9USU1FICAweDEwMDAw DQo+ICsNCj4gKy8vDQo+ICsvLyBQbGF0Zm9ybSBkcml2ZXIgR1VJRA0KPiArLy8NCj4gKyNkZWZp bmUgRUZJX1BMQVRGT1JNX0RSSVZFUl9HVUlEIFwNCj4gKyAgeyAweDA1NkU3MzI0LCAweEE3MTgs IDB4NDY1YiwgMHg5QSwgMHg4NCwgMHgyMiwgMHg4RiwgMHgwNiwgMHg2NCwgMHgyQiwNCj4gMHg0 RiB9DQo+ICsNCj4gKyNkZWZpbmUgUEFTU1dPUkRfTUFYX1NJWkUgICAgICAgICAgICAgICAyMA0K PiArI2RlZmluZSBQTEFURk9STV9OT1JNQUxfTU9ERSAgICAgICAgICAweDAxDQo+ICsjZGVmaW5l IFBMQVRGT1JNX1NBRkVfTU9ERSAgICAgICAgICAgIDB4MDINCj4gKyNkZWZpbmUgUExBVEZPUk1f UkVDT1ZFUllfTU9ERSAgICAgICAgMHgwNA0KPiArI2RlZmluZSBQTEFURk9STV9NQU5VRkFDVFVS SU5HX01PREUgICAweDA4DQo+ICsjZGVmaW5lIFBMQVRGT1JNX0JBQ0tfVE9fQklPU19NT0RFICAg IDB4MTANCj4gKw0KPiArI2RlZmluZSBFRklfT0VNX1NQRUNJRklDICAgICAgMHg4MDAwDQo+ICsj ZGVmaW5lIEVGSV9DVV9QTEFURk9STV9EWEVfSU5JVCAgICAgICAgICAgICAgICAgICAgIChFRklf T0VNX1NQRUNJRklDIHwNCj4gMHgwMDAwMDAxMSkNCj4gKyNkZWZpbmUgRUZJX0NVX1BMQVRGT1JN X0RYRV9TVEVQMSAgICAgICAgICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAw MDAwMDEyKQ0KPiArI2RlZmluZSBFRklfQ1VfUExBVEZPUk1fRFhFX1NURVAyICAgICAgICAgICAg ICAgICAgICAoRUZJX09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMTMpDQo+ICsjZGVmaW5lIEVG SV9DVV9QTEFURk9STV9EWEVfU1RFUDMgICAgICAgICAgICAgICAgICAgIChFRklfT0VNX1NQRUNJ RklDIHwNCj4gMHgwMDAwMDAxNCkNCj4gKyNkZWZpbmUgRUZJX0NVX1BMQVRGT1JNX0RYRV9TVEVQ NCAgICAgICAgICAgICAgICAgICAgKEVGSV9PRU1fU1BFQ0lGSUMgfA0KPiAweDAwMDAwMDE1KQ0K PiArI2RlZmluZSBFRklfQ1VfUExBVEZPUk1fRFhFX0lOSVRfRE9ORSAgICAgICAgICAgICAgICAo RUZJX09FTV9TUEVDSUZJQyB8DQo+IDB4MDAwMDAwMTYpDQo+ICsNCj4gKw0KPiArI2RlZmluZSBF RklfU0VDVElPTl9TVFJJTkcgICAgICAgICAgICAgICAgICAweDFDDQo+ICsjZGVmaW5lIEVGSV9G T1JXQVJEX0RFQ0xBUkFUSU9OKHgpIHR5cGVkZWYgc3RydWN0IF8jI3ggeA0KPiArI2RlZmluZSBQ UkVGSVhfQkxBTksgICAgICAgICAgICAgICAgICAgICAgICAweDA0DQo+ICsNCj4gKyNwcmFnbWEg cGFjaygxKQ0KPiArDQo+ICt0eXBlZGVmIFVJTlQ2NCBFRklfQk9BUkRfRkVBVFVSRVM7DQo+ICsN Cj4gKy8vDQo+ICsvL0JVR0JVRzogc2hvdWxkIHJlbW92ZSB0aGVzZSBFREsgaGlpIGRlZmluaXRp b24gb25jZSBIaWkgdHJhbnN0aW9uIGlzDQo+IGRvbmUNCj4gKy8vDQo+ICt0eXBlZGVmIFVJTlQx NiAgU1RSSU5HX1JFRjsNCj4gK3R5cGVkZWYgVUlOVDE2ICBFRklfRk9STV9MQUJFTDsNCj4gKw0K PiArdHlwZWRlZiBlbnVtIHsNCj4gKyAgRWZpVXNlclBhc3N3b3JkLA0KPiArICBFZmlBZG1pblBh c3N3b3JkDQo+ICt9IEVGSV9QQVNTV09SRF9UWVBFOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7 DQo+ICsgIENIQVIxNiAgICAgICAgICAgIFRlbXBQYXNzd29yZFtQQVNTV09SRF9NQVhfU0laRV07 DQo+ICsgIENIQVIxNiAgICAgICAgICAgIEVuY29kZWRQYXNzd29yZFtQQVNTV09SRF9NQVhfU0la RV07DQo+ICsgIFZPSUQgICAgICAgICAgICAgICpQYXNzd29yZExvY2F0aW9uOw0KPiArICBFRklf UEFTU1dPUkRfVFlQRSBQYXNzd29yZFR5cGU7DQo+ICt9IEVGSV9QQVNTV09SRF9EQVRBOw0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIENIQVI4IEFhTnVtYmVyWzddOw0KPiArICBVSU5U OCBCb2FyZElkOw0KPiArICBFRklfQk9BUkRfRkVBVFVSRVMgRmVhdHVyZXM7DQo+ICsgIFVJTlQx NiBTdWJzeXN0ZW1EZXZpY2VJZDsNCj4gKyAgVUlOVDE2IEF1ZGlvU3Vic3lzdGVtRGV2aWNlSWQ7 DQo+ICsgIFVJTlQ2NCBBY3BpT2VtVGFibGVJZDsNCj4gK30gQk9BUkRfSURfREVDT0RFOw0KPiAr DQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ICsoRUZJQVBJICpFRklfRk9STV9ST1VUSU5F KSAoDQo+ICsgIFNZU1RFTV9DT05GSUdVUkFUSU9OICpTZXR1cEJ1ZmZlcg0KPiArICApOw0KPiAr DQo+ICt0eXBlZGVmIHN0cnVjdHsNCj4gKyAgVUlOVDE2IERldmljZU51bWJlcjsNCj4gKyAgVUlO VDE2IEZ1bmN0aW9uTnVtYmVyOw0KPiArfVBDSV9ERVZJQ0VfRlVOQ19JTkZPOw0KPiArDQo+ICt0 eXBlZGVmIHN0cnVjdHsNCj4gKyAgQ0hBUjE2IFBvcnROdW1iZXJbNF07DQo+ICsgIFNUUklOR19S RUYgU2F0YURldmljZUluZm9TdHJpbmdJZDsNCj4gK31TQVRBX0RFVklDRV9TVFJJTkdfSU5GTzsN Cj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMTYgIFNpZ25hdHVyZTsNCj4gKyAg VUlOVDggICBTaXplOw0KPiArICBVSU5UMzIgIEVudHJ5UG9pbnQ7DQo+ICsgIFVJTlQ4ICAgUmVz ZXJ2ZVsxN107DQo+ICsgIFVJTlQxNiAgUGNpRGF0YU9mZjsNCj4gKyAgVUlOVDE2ICBFeHBhbnNp b25PZmY7DQo+ICt9IFBOUF9PUFRJT05fUk9NX0hFQURFUjsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1 Y3Qgew0KPiArICBVSU5UMzIgIFNpZ25hdHVyZTsNCj4gKyAgVUlOVDggICBSZXZpc2lvbjsNCj4g KyAgVUlOVDggICBMZW5ndGg7DQo+ICsgIFVJTlQxNiAgTmV4dEhlYWRlcjsNCj4gKyAgVUlOVDgg ICBSZXNlcnZlOw0KPiArICBVSU5UOCAgIENoZWNrU3VtOw0KPiArICBVSU5UMzIgIERldmljZUlk Ow0KPiArICBVSU5UMTYgIE1hbnVmYWN0dXJlU3RyT2ZmOw0KPiArICBVSU5UMTYgIFByb2R1Y3RT dHJPZmY7DQo+ICt9IFBOUF9FWFBBTlNJT05fSEVBREVSOw0KPiArDQo+ICt0eXBlZGVmIHN0cnVj dCB7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgRW5hYmxlOw0KPiArICBV SU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcmJUYWJsZU51bTsNCj4gKyAgVUlOVDE2 ICAgICAgICAgICAgICAgICAgICAgICAgICBDb2RlY1NTSUQ7DQo+ICsgIEVGSV9QSFlTSUNBTF9B RERSRVNTICAgICAgICAgICAgSERBQmFyOw0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAg ICAgICAgIFVwcGVySERBQmFyOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAg IFNESVByZXNlbnQ7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgUG1lOw0K PiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAgICAgIExlZ2FjeUZyb250UGFuZWxBdWRp bzsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICBIaWdoRGVmaW5pdGlvbkZy b250UGFuZWxBdWRpbzsNCj4gK30gRUZJX0FaQUxJQV9TMzsNCj4gKw0KPiArLy8NCj4gKy8vZm9s bG93aW5nIHN0cnVjdHMgYXJlIGZyb20gUjguIFJlbW92ZSB0aGVtIG9uY2UgUjgtPlI5IHRyYW5z aXRpb24gaXMNCj4gZG9uZQ0KPiArLy8NCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgQ0hBUjE2 ICAgICAgKk9wdGlvblN0cmluZzsgIC8vIFBhc3NlZCBpbiBzdHJpbmcgdG8gZ2VuZXJhdGUgYSB0 b2tlbiBmb3IgaW4gYQ0KPiB0cnVseSBkeW5hbWljIGZvcm0gY3JlYXRpb24NCj4gKyAgU1RSSU5H X1JFRiAgU3RyaW5nVG9rZW47ICAgIC8vIFRoaXMgaXMgdXNlZCB3aGVuIGNyZWF0aW5nIGEgc2lu Z2xlIG9wLWNvZGUNCj4gd2l0aG91dCBnZW5lcmF0aW5nIGEgU3RyaW5nVG9rZW4gKGhhdmUgb25l IGFscmVhZHkpDQo+ICsgIFVJTlQxNiAgICAgIFZhbHVlOw0KPiArICBVSU5UOCAgICAgICBGbGFn czsNCj4gKyAgVUlOVDE2ICAgICAgS2V5Ow0KPiArfSBJRlJfT1BUSU9OOw0KPiArDQo+ICsNCj4g Kw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgIE51bWJlcjsNCj4gKyAgVUlOVDMy ICBIb3Jpem9udGFsUmVzb2x1dGlvbjsNCj4gKyAgVUlOVDMyICBWZXJ0aWNhbFJlc29sdXRpb247 DQo+ICt9IFBBTkVMX1JFU09MVVRJT047DQo+ICsNCj4gKyNwcmFnbWEgcGFjaygpDQo+ICsNCj4g Ky8vDQo+ICsvLyBQcm90b3R5cGVzDQo+ICsvLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtFZmlNYWluICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgIEltYWdlSGFuZGxlLA0KPiAr ICBJTiBFRklfU1lTVEVNX1RBQkxFICAgKlN5c3RlbVRhYmxlDQo+ICsgICk7DQo+ICsNCj4gK0VG SV9TVEFUVVMNCj4gK1Byb2Nlc3NFdmVudExvZyAoDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFU VVMNCj4gK0ZpbmREYXRhUmVjb3JkcyAoDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4g K1Byb2Nlc3NQYXNzd29yZHMoDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK01lbW9yeVNldHVw KA0KPiArICApOw0KPiArDQo+ICsNCj4gK1VJTlRODQo+ICtFZmlWYWx1ZVRvU3RyaW5nICgNCj4g KyAgSU4gIE9VVCBDSEFSMTYgICpCdWZmZXIsDQo+ICsgIElOICBJTlQ2NCAgICAgICBWYWx1ZSwN Cj4gKyAgSU4gIFVJTlROICAgICAgIEZsYWdzLA0KPiArICBJTiAgVUlOVE4gICAgICAgV2lkdGgN Cj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtSZWFkeVRvQm9vdEZ1bmN0aW9u ICgNCj4gKyAgRUZJX0VWRU5UICBFdmVudCwNCj4gKyAgVk9JRCAgICAgICAqQ29udGV4dA0KPiAr ICApOw0KPiArDQo+ICtWT0lEDQo+ICtJbnN0YWxsSGlpRGF0YUFuZEdldFNldHRpbmdzKA0KPiAr ICBJTiBFRklfSElJX1NUUklOR19QQUNLICAgICAgICAgICAgKlN0cmluZ1BhY2ssDQo+ICsgICAg ICAvLw0KPiArICAuLi4gLy8gMCBvciBtb3JlIG9mID0+IElOIEVGSV9ISUlfSUZSX1BBQ0sgKklm clBhY2ssDQo+ICsgICAgICAvLyBUZXJtaW5hdGUgbGlzdCB3aXRoIE5VTEwNCj4gKyAgICAgIC8v DQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1JlYWRPckluaXRTZXR1cFZhcmlhYmxl KA0KPiArICBJTiBVSU5UTiAgICAgICAgIFJlcXVpcmVkVmFyaWFibGVTaXplLA0KPiArICBJTiBV SU5UTiAgICAgICAgIFJlcXVpcmVkUGFzc3dvcmRTaXplLA0KPiArICBJTiBWT0lEICAgICAgICAg ICpEZWZhdWx0RGF0YSwNCj4gKyAgSU4gVk9JRCAgICAgICAgICAqTWZnRGVmYXVsdERhdGEsDQo+ ICsgIE9VVCBWT0lEICAgICAgICAgKlNldHVwVmFyaWFibGVEYXRhLA0KPiArICBPVVQgVk9JRCAg ICAgICAgICpTeXN0ZW1QYXNzd29yZA0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtFZmlMb2dp Y2FsT3JNZW0oDQo+ICsgIElOIFZPSUQgICAqRGVzdGluYXRpb24sDQo+ICsgIElOIFZPSUQgICAq U291cmNlLA0KPiArICBJTiBVSU5UTiAgTGVuZ3RoDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFU VVMNCj4gK0dldFN0cmluZ0Zyb21Ub2tlbiAoDQo+ICsgIElOICAgICAgRUZJX0dVSUQgICAgICAg ICAgICAgICAgICAqUHJvZHVjZXJHdWlkLA0KPiArICBJTiAgICAgIFNUUklOR19SRUYgICAgICAg ICAgICAgICAgVG9rZW4sDQo+ICsgIE9VVCAgICAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAq KlN0cmluZw0KPiArICApOw0KPiArDQo+ICtVSU5UMzINCj4gK0NvbnZlcnRCYXNlMlRvUmF3ICgN Cj4gKyAgSU4gIEVGSV9FWFBfQkFTRTJfREFUQSAgICAgICAgICAgICAqRGF0YSk7DQo+ICsNCj4g K1VJTlQzMg0KPiArQ29udmVydEJhc2UxMFRvUmF3ICgNCj4gKyAgSU4gIEVGSV9FWFBfQkFTRTEw X0RBVEEgICAgICAgICAgICAgKkRhdGEpOw0KPiArDQo+ICtDSEFSMTYgKg0KPiArR2V0U3RyaW5n QnlJZCAoDQo+ICsgIElOICBTVFJJTkdfUkVGICAgSWQsDQo+ICsgIEVGSV9ISUlfSEFORExFICAg U3RyaW5nUGFja0hhbmRsZQ0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Nl dHVwRGF0YUZpbHRlciAoDQo+ICsgIElOIEVGSV9FVkVOVCAgICBFdmVudCwNCj4gKyAgSU4gVk9J RCogICAgICAgIENvbnRleHQNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtJ ZGVEYXRhRmlsdGVyICgNCj4gKyAgSU4gRUZJX0VWRU5UICAgIEV2ZW50LA0KPiArICBJTiBWT0lE KiAgICAgICAgQ29udGV4dA0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Vw ZGF0ZUFoY2lSYWlkRGlza0luZm8gKA0KPiArICBJTiBFRklfRVZFTlQgICAgRXZlbnQsDQo+ICsg IElOIFZPSUQqICAgICAgICBDb250ZXh0DQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0VGSUFQ SQ0KPiArRXZlbnRMb2dGaWx0ZXIgKA0KPiArICBJTiBFRklfRVZFTlQgICAgRXZlbnQsDQo+ICsg IElOIFZPSUQqICAgICAgICBDb250ZXh0DQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1N3YXBF bnRyaWVzICgNCj4gKyAgSU4gIENIQVI4ICpEYXRhDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4g K0FzY2lpVG9Vbmljb2RlICgNCj4gKyAgSU4gICAgQ0hBUjggICAgICpBc2NpaVN0cmluZywNCj4g KyAgSU4gICAgQ0hBUjE2ICAgICpVbmljb2RlU3RyaW5nDQo+ICsgICk7DQo+ICsNCj4gK1VJTlQx Ng0KPiArQ29uZmlnTW9kZVN0YXRlR2V0KCk7DQo+ICsNCj4gK1ZPSUQNCj4gK1NldFNrdXMoKTsN Cj4gKw0KPiArVk9JRA0KPiArQ1BVU2V0dXBJdGVtcygpOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ ICtTZWN1cml0eURyaXZlckNhbGxiYWNrICgNCj4gKyAgSU4gRUZJX0ZPUk1fQ0FMTEJBQ0tfUFJP VE9DT0wgICAgICAgKlRoaXMsDQo+ICsgIElOIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAg ICAgIEtleVZhbHVlLA0KPiArICBJTiBFRklfSUZSX0RBVEFfQVJSQVkgICAgICAgICAgICAgICAq RGF0YSwNCj4gKyAgT1VUIEVGSV9ISUlfQ0FMTEJBQ0tfUEFDS0VUICAgICAgICAgKipQYWNrZXQN Cj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArU2V0UGFzc3dvcmRTdGF0ZSAoDQo+ICsgICk7DQo+ ICsNCj4gK1ZPSUQNCj4gK0VuY29kZVBhc3N3b3JkICgNCj4gKyAgSU4gIENIQVIxNiAgICAgICAg ICAgICAgICAgICAgICAqUGFzc3dvcmQNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJ DQo+ICtQY2lCdXNFdmVudCAoDQo+ICsgIElOIEVGSV9FVkVOVCAgICBFdmVudCwNCj4gKyAgSU4g Vk9JRCogICAgICAgIENvbnRleHQNCj4gKyAgKTsNCj4gK1ZPSUQNCj4gK0FzZkluaXRpYWxpemUo DQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0luaXRpYWxpemVBc2YgKA0KPiArICApOw0KPiAr DQo+ICtVSU5UOA0KPiArUmVhZENtb3NCYW5rMUJ5dGUgKA0KPiArICBJTiAgRUZJX0NQVV9JT19Q Uk9UT0NPTCAgICAgICAgICAgICAqQ3B1SW8sDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAgICAg ICAgICAgICAgICAgIEluZGV4DQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1dyaXRlQ21vc0Jh bmsxQnl0ZSAoDQo+ICsgIElOICBFRklfQ1BVX0lPX1BST1RPQ09MICAgICAgICAgICAgICpDcHVJ bywNCj4gKyAgSU4gIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgsDQo+ICsg IElOICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGENCj4gKyAgKTsNCj4gKw0K PiArVk9JRA0KPiArSW5pdGlhbGl6ZUJvYXJkSWQgKA0KPiArICApOw0KPiArDQo+ICtFRklfU1RB VFVTDQo+ICtJbnN0YWxsQm9vdENhbGxiYWNrUm91dGluZSgNCj4gKyAgKTsNCj4gKw0KPiArRUZJ X1NUQVRVUw0KPiArSW5zdGFsbENvbmZpZ3VyYXRpb25DYWxsYmFja1JvdXRpbmUoDQo+ICsgICk7 DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0luc3RhbGxQZXJmb3JtYW5jZUNhbGxiYWNrUm91dGlu ZSgNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArSW5zdGFsbFNlY3VyaXR5Q2FsbGJh Y2tSb3V0aW5lICgNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArSW5zdGFsbE1haW5D YWxsYmFja1JvdXRpbmUgKA0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtNZW1vcnlD b25maWd1cmF0aW9uVXBkYXRlICgNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICpLZXksDQo+ ICsgIEVGSV9GT1JNX0xBQkVMICAgICAgICAqTGFiZWwsDQo+ICsgIFVJTlQxNiAgICAgICAgICAg ICAgICAqT3Bjb2RlQ291bnQsDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAqKk9wY29kZURh dGEsDQo+ICsgIEVGSV9GT1JNX1JPVVRJTkUgICAgICAqUm91dGluZQ0KPiArICApOw0KPiArDQo+ ICtFRklfU1RBVFVTDQo+ICtNZW1vcnlDb25maWd1cmF0aW9uQ2FsbGJhY2tSb3V0aW5lICgNCj4g KyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICpTZXR1cEJ1ZmZlcg0KPiArICApOw0KPiArDQo+ICtF RklfU1RBVFVTDQo+ICtNZW1vcnlDb25maWd1cmF0aW9uQ2FsY3VsYXRlU3BlZWQoDQo+ICsgIFNZ U1RFTV9DT05GSUdVUkFUSU9OICAqU2V0dXBCdWZmZXINCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0K PiArVXBkYXRlTWVtb3J5U3RyaW5nKA0KPiArICBJTiAgU1RSSU5HX1JFRiAgICAgICAgICAgICAg ICAgIFRva2VuVG9VcGRhdGUsDQo+ICsgIElOICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAg Kk5ld1N0cmluZw0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtJbml0RmVhdHVyZVBvbGljeSAo DQo+ICsgIElOIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICpQbGF0Zm9ybUluZm8NCj4gKyAg KTsNCj4gKw0KPiArVk9JRA0KPiArSW5pdGlhbGl6ZVNldHVwVmFySGlkZSAoDQo+ICsgICk7DQo+ ICsNCj4gK1ZPSUQNCj4gK1ByZXBhcmVQQ0llUENJU2xvdEluZm9ybWF0aW9uKA0KPiArICBWT0lE DQo+ICsgICk7DQo+ICsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQm9vdENvbmZpZ3VyYXRpb25V cGRhdGUgKA0KPiArICBJTiAgT1VUIFNZU1RFTV9DT05GSUdVUkFUSU9OICAqU3lzdGVtQ29uZmln dXJhdGlvbg0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtJbml0aWFsaXplQm9vdENv bmZpZ3VyYXRpb24oDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArVUlOVDE2DQo+ICtHZXRT dHJpbmdTaXplKA0KPiArICBJTiAgICAgIENIQVIxNiAqVGhpc1N0cmluZw0KPiArICApOw0KPiAr DQo+ICtVSU5UMTYNCj4gK0dldERyaXZlQ291bnQgKA0KPiArICBJTiAgICAgIFNUUklOR19SRUYg KkJvb3RNYXANCj4gKyAgKTsNCj4gKw0KPiArQ0hBUjE2ICoNCj4gK0dldEJvb3RTdHJpbmcgKA0K PiArICBJTiAgICAgIFNUUklOR19SRUYgICAgSWQsDQo+ICsgICAgICBPVVQgVUlOVE4gICAgICAg ICpMZW5ndGgNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQm9vdENmZ0NyZWF0ZVR3 b09wdGlvbk9uZU9mKA0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAgICBRdWVzdGlv bklkLA0KPiArICBJTiAgICAgIEVGSV9GT1JNX0xBQkVMICAgICAgICBMYWJlbCwNCj4gKyAgSU4g ICAgICBTVFJJTkdfUkVGICAgICAgICAgICAgT3B0aW9uUHJvbXB0LA0KPiArICBJTiAgICAgIFNU UklOR19SRUYgICAgICAgICAgICBPcHRpb25IZWxwLA0KPiArICBJTiAgICAgIFNUUklOR19SRUYg ICAgICAgICAgICBPcHRpb25PbmVTdHJpbmcsDQo+ICsgIElOICAgICAgU1RSSU5HX1JFRiAgICAg ICAgICAgIE9wdGlvblR3b1N0cmluZywNCj4gKyAgSU4gICAgICBVSU5UOCAgICAgICAgICAgICAg ICAgT3B0aW9uT25lRmxhZ3MsDQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgIE9w dGlvblR3b0ZsYWdzLA0KPiArICBJTiAgICAgIFVJTlQxNiAgICAgICAgICAgICAgICBLZXlWYWx1 ZU9uZSwNCj4gKyAgSU4gICAgICBVSU5UMTYgICAgICAgICAgICAgICAgS2V5VmFsdWVUd28NCj4g KyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArUmVwbGFjZU9wY29kZVdpdGhUZXh0KA0KPiAr ICBJTiAgICAgIFNUUklOR19SRUYgICAgICAgICAgICBPcHRpb25Qcm9tcHQsDQo+ICsgIElOICAg ICAgU1RSSU5HX1JFRiAgICAgICAgICAgIE9wdGlvbkhlbHAsDQo+ICsgIElOICAgICAgU1RSSU5H X1JFRiAgICAgICAgICAgIE9wdGlvbk9uZVN0cmluZywNCj4gKyAgSU4gICAgICBFRklfRk9STV9M QUJFTCAgICAgICAgTGFiZWwNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQ3JlYXRl RHJpdmVCb290T3JkZXJPcGNvZGUoDQo+ICsgIElOICAgICAgVk9JRCAgICAgICAgICAgICAgICAg KkRhdGEsDQo+ICsgIElOICAgICAgU1RSSU5HX1JFRiAgICAgICAgICAgKkJvb3RNYXAsDQo+ICsg IElOICAgICAgRUZJX0ZPUk1fTEFCRUwgICAgICAgIExhYmVsLA0KPiArICBJTiAgICAgIFVJTlQx NiAgICAgICAgICAgICAgICBRdWVzdGlvbklkLA0KPiArICBJTiAgICAgIFNUUklOR19SRUYgICAg ICAgICAgICBPcHRpb25PbmVTdHJpbmcsDQo+ICsgIElOICAgICAgU1RSSU5HX1JFRiAgICAgICAg ICAgIE9wdGlvblR3b1N0cmluZw0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtTZXRIeXBlckJv b3RDZmdGbGFncygNCj4gKyAgSU4gIE9VVCBTWVNURU1fQ09ORklHVVJBVElPTiAqU3lzdGVtQ29u ZmlndXJhdGlvbg0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtHZXRIeXBlckJvb3RDZmdGbGFn cygNCj4gKyAgSU4gIE9VVCBTWVNURU1fQ09ORklHVVJBVElPTiAqU3lzdGVtQ29uZmlndXJhdGlv bg0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtQcmVwYXJlQm9vdENmZ0Zvckh5cGVyQm9vdCgN Cj4gKyAgSU4gIE9VVCBTWVNURU1fQ09ORklHVVJBVElPTiAqU3lzdGVtQ29uZmlndXJhdGlvbg0K PiArICApOw0KPiArDQo+ICtCT09MRUFODQo+ICtCb290Q2ZnQ2hhbmdlZCgNCj4gKyAgSU4gICAg ICBTWVNURU1fQ09ORklHVVJBVElPTiAqU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICApOw0KPiAr DQo+ICtFRklfU1RBVFVTDQo+ICtJbnNlcnRPcGNvZGVBdEluZGV4KA0KPiArICBJTiAgICAgIFNZ U1RFTV9DT05GSUdVUkFUSU9OICpTeXN0ZW1Db25maWd1cmF0aW9uLA0KPiArICBJTiAgT1VUIElG Ul9PUFRJT04gICAgICAgICAgICpPcHRpb25MaXN0LA0KPiArICBJTiAgICAgIElGUl9PUFRJT04g ICAgICAgICAgICBJZnJPcHRpb24sDQo+ICsgIElOICAgICAgVUlOVDE2ICAgICAgICAgICAgICAg IE9wdGlvbkNvdW50DQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0NvbmZpZ3VyZUJvb3RPcmRl clN0cmluZ3MoDQo+ICsgIElOICAgICAgU1lTVEVNX0NPTkZJR1VSQVRJT04gKlN5c3RlbUNvbmZp Z3VyYXRpb24NCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArSW5pdGlhbGl6ZUFsbEJvb3RTdHJp bmdzKA0KPiArICBWT0lEDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1NhdmVVc2JDZmdTZXR0 aW5ncygNCj4gKyAgSU4gIE9VVCBTWVNURU1fQ09ORklHVVJBVElPTiAqU3lzdGVtQ29uZmlndXJh dGlvbg0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtSZXN0b3JlVXNiQ2ZnU2V0dGluZ3MoDQo+ ICsgIElOICBPVVQgU1lTVEVNX0NPTkZJR1VSQVRJT04gKlN5c3RlbUNvbmZpZ3VyYXRpb24NCj4g KyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArVXBkYXRlQm9vdERldmljZVByaW9yaXR5KA0K PiArICBJTiAgT1VUIFNZU1RFTV9DT05GSUdVUkFUSU9OICpTeXN0ZW1Db25maWd1cmF0aW9uDQo+ ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0Rpc2FibGVIeXBlckJvb3QoDQo+ICsgIElO ICBPVVQgU1lTVEVNX0NPTkZJR1VSQVRJT04gKlN5c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgKTsN Cj4gKw0KPiArQk9PTEVBTg0KPiArQ2hlY2tGb3JVc2VyUGFzc3dvcmQoDQo+ICsgIFZPSUQNCj4g KyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtIeXBlckJvb3RQYXNzd29y ZENhbGxiYWNrKA0KPiArICBJTiAgT1VUIFZPSUQqICBEYXRhDQo+ICsgICk7DQo+ICsNCj4gK0VG SV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArSHlwZXJCb290RjlDYWxsYmFjayAoDQo+ICsgIElOIFZP SUQqICBEYXRhDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0luc3RhbGxIaWlFdmVu dHMoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtQcm9ncmFtVG9uZUZyZXF1ZW5jeSAoDQo+ICsgIElOICBFRklfU1BFQUtFUl9JRl9QUk9UT0NP TCAgICAgICAgICAgKlRoaXMsDQo+ICsgIElOICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAg ICAgICAgRnJlcXVlbmN5DQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0K PiArR2VuZXJhdGVCZWVwVG9uZSAoDQo+ICsgIElOICBFRklfU1BFQUtFUl9JRl9QUk9UT0NPTCAg ICAgICAgICAgKlRoaXMsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTnVtYmVyT2ZCZWVwcywNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBCZWVwRHVyYXRpb24sDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgVGltZUludGVydmFsDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0luaXRp YWxpemVPYnNlcnZhYmxlUHJvdG9jb2woKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArUGNpQnVz RHJpdmVySG9vaygpOw0KPiArDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0FkanVzdERlZmF1bHRS dGNUaW1lQ2FsbGJhY2sgKA0KPiArICBJTiBFRklfRVZFTlQgICAgICAgIEV2ZW50LA0KPiArICBJ TiBWT0lEICAgICAgICAgICAgICpDb250ZXh0DQo+ICsgICk7DQo+ICsNCj4gK3R5cGVkZWYgc3Ry dWN0IF9HT1BfRElTUExBWV9CUklHSFRORVNTX1BST1RPQ09MDQo+IEdPUF9ESVNQTEFZX0JSSUdI VE5FU1NfUFJPVE9DT0w7DQo+ICsNCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4gKyhFRklB UEkgKkdFVF9NQVhJTVVNX0JSSUdIVE5FU1NfTEVWRUwpICgNCj4gKyAgSU4gIEdPUF9ESVNQTEFZ X0JSSUdIVE5FU1NfUFJPVE9DT0wgKlRoaXMsDQo+ICsgIE9VVCBVSU5UMzIgKk1heEJyaWdodG5l c3NMZXZlbA0KPiArICApOw0KPiArDQo+ICsNCj4gK3R5cGVkZWYNCj4gK0VGSV9TVEFUVVMNCj4g KyhFRklBUEkgKkdFVF9DVVJSRU5UX0JSSUdIVE5FU1NfTEVWRUwpICgNCj4gKyAgSU4gIEdPUF9E SVNQTEFZX0JSSUdIVE5FU1NfUFJPVE9DT0wgKlRoaXMsDQo+ICsgIE9VVCBVSU5UMzIgKk1heEJy aWdodG5lc3NMZXZlbA0KPiArICApOw0KPiArDQo+ICt0eXBlZGVmDQo+ICtFRklfU1RBVFVTDQo+ ICsoRUZJQVBJICpTRVRfQlJJR0hUTkVTU19MRVZFTCkgKA0KPiArICBJTiAgR09QX0RJU1BMQVlf QlJJR0hUTkVTU19QUk9UT0NPTCAqVGhpcywNCj4gKyAgSU4gIFVJTlQzMiAgQnJpZ2h0bmVzc0xl dmVsDQo+ICsgICk7DQo+ICsNCj4gK3N0cnVjdCBfR09QX0RJU1BMQVlfQlJJR0hUTkVTU19QUk9U T0NPTCB7DQo+ICsgIFVJTlQzMiAgUmV2aXNpb247DQo+ICsgIEdFVF9NQVhJTVVNX0JSSUdIVE5F U1NfTEVWRUwgR2V0TWF4QnJpZ2h0bmVzc0xldmVsOw0KPiArICBHRVRfQ1VSUkVOVF9CUklHSFRO RVNTX0xFVkVMIEdldEN1cnJlbnRCcmlnaHRuZXNzTGV2ZWw7DQo+ICsgIFNFVF9CUklHSFRORVNT X0xFVkVMIFNldEJyaWdodG5lc3NMZXZlbDsNCj4gK307DQo+ICsNCj4gKy8vDQo+ICsvLyBHbG9i YWwgZXh0ZXJucw0KPiArLy8NCj4gK2V4dGVybiBVSU5UOCBNYWludGVuYW5jZUJpbltdOw0KPiAr ZXh0ZXJuIFVJTlQ4IE1haW5CaW5bXTsNCj4gK2V4dGVybiBVSU5UOCBDb25maWd1cmF0aW9uQmlu W107DQo+ICtleHRlcm4gVUlOVDggTWVtb3J5Q29uZmlndXJhdGlvbkJpbltdOw0KPiArZXh0ZXJu IFVJTlQ4IFBlcmZvcm1hbmNlQmluW107DQo+ICtleHRlcm4gVUlOVDggU2VjdXJpdHlCaW5bXTsN Cj4gK2V4dGVybiBVSU5UOCBCb290QmluW107DQo+ICtleHRlcm4gVUlOVDggUG93ZXJCaW5bXTsN Cj4gK2V4dGVybiBVSU5UOCBTeXN0ZW1TZXR1cEJpbltdOw0KPiArDQo+ICtleHRlcm4gVk9JRCAg ICAgICAgICAgICAgICAgKm1EeGVQbGF0Zm9ybVN0cmluZ1BhY2s7DQo+ICtleHRlcm4gRUZJX0hJ SV9QUk9UT0NPTCAgICAgKm1IaWk7DQo+ICtleHRlcm4gU1lTVEVNX0NPTkZJR1VSQVRJT04gbVN5 c3RlbUNvbmZpZ3VyYXRpb247DQo+ICtleHRlcm4gRlJBTUVXT1JLX0VGSV9ISUlfSEFORExFICAg ICAgIG1NYWludGVuYW5jZUhpaUhhbmRsZTsNCj4gK2V4dGVybiBGUkFNRVdPUktfRUZJX0hJSV9I QU5ETEUgICAgICAgbU1haW5IaWlIYW5kbGU7DQo+ICtleHRlcm4gRlJBTUVXT1JLX0VGSV9ISUlf SEFORExFICAgICAgIG1Db25maWd1cmF0aW9uSGlpSGFuZGxlOw0KPiArZXh0ZXJuIEZSQU1FV09S S19FRklfSElJX0hBTkRMRSAgICAgICBtUGVyZm9ybWFuY2VIaWlIYW5kbGU7DQo+ICtleHRlcm4g RlJBTUVXT1JLX0VGSV9ISUlfSEFORExFICAgICAgIG1Qb3dlckhpaUhhbmRsZTsNCj4gK2V4dGVy biBGUkFNRVdPUktfRUZJX0hJSV9IQU5ETEUgICAgICAgbUJvb3RIaWlIYW5kbGU7DQo+ICtleHRl cm4gRlJBTUVXT1JLX0VGSV9ISUlfSEFORExFICAgICAgIG1TZWN1cml0eUhpaUhhbmRsZTsNCj4g Kw0KPiArZXh0ZXJuIFNZU1RFTV9QQVNTV09SRFMgICAgIG1TeXN0ZW1QYXNzd29yZDsNCj4gK2V4 dGVybiBFRklfUEFTU1dPUkRfREFUQSAgICBtQWRtaW5QYXNzd29yZDsNCj4gK2V4dGVybiBFRklf UEFTU1dPUkRfREFUQSAgICBtVXNlclBhc3N3b3JkOw0KPiArDQo+ICtleHRlcm4gRUZJX1BDSV9S T09UX0JSSURHRV9JT19QUk9UT0NPTCAqbVBjaVJvb3RCcmlkZ2VJbzsNCj4gKw0KPiArLy8NCj4g Ky8vZXh0ZXJuIEVGSV9SRUdfVEFCTEUgbVN1YnN5c3RlbUlkUmVnc1tdOw0KPiArLy8NCj4gK2V4 dGVybiBVSU5UMzIgbVN1YnN5c3RlbVZpZERpZDsNCj4gK2V4dGVybiBVSU5UMzIgbVN1YnN5c3Rl bUF1ZGlvVmlkRGlkOw0KPiArDQo+ICtleHRlcm4gVUlOVDggbUJvYXJkSWRJbmRleDsNCj4gK2V4 dGVybiBCT09MRUFOIG1Gb3VuZEFBTnVtOw0KPiArZXh0ZXJuIEVGSV9CT0FSRF9GRUFUVVJFUyBt Qm9hcmRGZWF0dXJlczsNCj4gK2V4dGVybiBVSU5UMTYgbVN1YnN5c3RlbURldmljZUlkOw0KPiAr ZXh0ZXJuIFVJTlQxNiBtU3Vic3lzdGVtQXVkaW9EZXZpY2VJZDsNCj4gK2V4dGVybiBCT0FSRF9J RF9ERUNPREUgbUJvYXJkSWREZWNvZGVUYWJsZVtdOw0KPiArZXh0ZXJuIFVJTlROIG1Cb2FyZElk RGVjb2RlVGFibGVTaXplOw0KPiArDQo+ICtleHRlcm4gVUlOVDggbVNtYnVzUnN2ZEFkZHJlc3Nl c1tdOw0KPiArZXh0ZXJuIFVJTlQ4IG1OdW1iZXJTbWJ1c0FkZHJlc3M7DQo+ICtleHRlcm4gQk9P TEVBTiBtTWZnTW9kZTsNCj4gK2V4dGVybiBVSU5UMzIgbVBsYXRmb3JtQm9vdE1vZGU7DQo+ICtl eHRlcm4gQ0hBUjggQm9hcmRBYU51bWJlcltdOw0KPiArDQo+ICtleHRlcm4gRUZJX0dVSUQgZ0Vm aUdsb2JhbE52c0FyZWFQcm90b2NvbEd1aWQ7DQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1BsYXRmb3JtRHhlLmlu Zg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1BsYXRm b3JtRHhlLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40 ZDE5NDlkMDVkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvUGxhdGZvcm1EeGUuaW5mDQo+IEBAIC0wLDAgKzEsMTQ5 IEBADQo+ICsjIyBAZmlsZQ0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE2 LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArIw0KPiArIyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIw0KPiAr IyAgTW9kdWxlIE5hbWU6DQo+ICsjDQo+ICsjICAgIFBsYXRmb3JtQkIuaW5mDQo+ICsjDQo+ICsj ICBBYnN0cmFjdDoNCj4gKyMNCj4gKyMgICAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9y IHBsYXRmb3JtIERYRSBkcml2ZXINCj4gKyMgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArIyAg UmV2ICAgRGF0ZTxNTS9ERC9ZWVlZPiAgICBOYW1lICAgIERlc2NyaXB0aW9uDQo+ICsjICAtLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0NCj4gKyMgIFIwMSAgICAgPDA0LzIyLzIwMTE+ICAgICAgIExCICAg ICBVcGRhdGUgY29kZSBmb3IgU0lPODM2MjdVSEcgc3VwcG9ydC4NCj4gKyMgIC0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLQ0KPiArIw0KPiArIyMNCj4gKw0KPiArW2RlZmluZXNdDQo+ICsgIElORl9WRVJT SU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAg ICAgICAgICAgICAgICAgID0gUGxhdGZvcm1EeGUNCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAg ICAgICAgICAgID0gMDU2RTczMjQtQTcxOC00NjViLTlBODQtMjI4RjA2NjQyQjRGDQo+ICsgIE1P RFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVINCj4gKyAgVkVSU0lPTl9T VFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIFBJX1NQRUNJRklDQVRJT05fVkVSU0lP TiAgICAgICA9IDB4MDAwMTAwMEENCj4gKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAgICAg ID0gSW5pdGlhbGl6ZVBsYXRmb3JtDQo+ICsNCj4gK1tzb3VyY2VzLmNvbW1vbl0NCj4gKyAgQm9h cmRJZC5jDQo+ICsgIEJvYXJkSWREZWNvZGUuYw0KPiArICBDbG9ja0NvbnRyb2wuYw0KPiArICBQ bGF0Zm9ybS5jDQo+ICsgIEljaFJlZ1RhYmxlLmMNCj4gKyAgSWRjY0luZm8uYw0KPiArICBTaW9Q bGF0Zm9ybVBvbGljeS5jDQo+ICsgIEljaFBsYXRmb3JtUG9saWN5LmMNCj4gKyAgUGNpRGV2aWNl LmMNCj4gKyAgU2xvdENvbmZpZy5jDQo+ICsgIEljaFRjb1Jlc2V0LmMNCj4gKyAgU2Vuc29yVmFy LmMNCj4gKyAgTGVnYWN5U3BlYWtlci5jDQo+ICsgIE9ic2VydmFibGUvT2JzZXJ2YWJsZS5jDQo+ ICsgIEV4SS5jDQo+ICsgIFJ0Yy5jDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAgTWRlUGtnL01k ZVBrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBrZy5kZWMNCj4gKyAgSW50ZWxG cmFtZXdvcmtQa2cvSW50ZWxGcmFtZXdvcmtQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrTW9k dWxlUGtnL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBr Zy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJl ZkNvZGVQa2cuZGVjDQo+ICsgIFNlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRlYw0KPiArICBDcnlw dG9Qa2cvQ3J5cHRvUGtnLmRlYw0KPiArICBJbnRlbEZzcFdyYXBwZXJQa2cvSW50ZWxGc3BXcmFw cGVyUGtnLmRlYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIEJhc2VMaWINCj4gKyAg QmFzZU1lbW9yeUxpYg0KPiArICBNZW1vcnlBbGxvY2F0aW9uTGliDQo+ICsgIFVlZmlCb290U2Vy dmljZXNUYWJsZUxpYg0KPiArICBVZWZpRHJpdmVyRW50cnlQb2ludA0KPiArICBVZWZpUnVudGlt ZVNlcnZpY2VzVGFibGVMaWINCj4gKyAgRHhlU2VydmljZXNUYWJsZUxpYg0KPiArICBQY2hQbGF0 Zm9ybUxpYg0KPiArDQo+ICsgIERlYnVnTGliDQo+ICsgIEhpaUxpYg0KPiArICBQcmludExpYg0K PiArICBVZWZpTGliDQo+ICsgIFMzQm9vdFNjcmlwdExpYg0KPiArICBSZXBvcnRTdGF0dXNDb2Rl TGliDQo+ICsgIEVmaVJlZ1RhYmxlTGliDQo+ICsgIEJpb3NJZExpYg0KPiArICBCYXNlQ3J5cHRM aWINCj4gKw0KPiArW0d1aWRzXQ0KPiArICBnRWZpQmlvc0lkR3VpZA0KPiArICBnRWZpUGxhdGZv cm1Cb290TW9kZUd1aWQNCj4gKyAgZ0VmaUJvYXJkRmVhdHVyZXNHdWlkDQo+ICsgIGdJdGtEYXRh VmFyR3VpZA0KPiArICBnRG1pRGF0YUd1aWQNCj4gKyAgZ0lkY2NEYXRhSHViR3VpZA0KPiArICBn RWZpUGNpTGFuSW5mb0d1aWQNCj4gKyAgZ0VmaU5vcm1hbFNldHVwR3VpZA0KPiArICBnRWZpR2xv YmFsVmFyaWFibGVHdWlkDQo+ICsgIGdFZmlFdmVudEV4aXRCb290U2VydmljZXNHdWlkDQo+ICsg IGdFZmlWbHYyVmFyaWFibGVHdWlkDQo+ICsgIGdFZmlTZWN1cmVCb290RW5hYmxlRGlzYWJsZUd1 aWQNCj4gKw0KPiArW1Byb3RvY29sc10NCj4gKyAgZ0VmaVBjaVJvb3RCcmlkZ2VJb1Byb3RvY29s R3VpZCAgICAjIENPTlNVTUVTICAjIyBHVUlEDQo+ICsgIGdFZmlWYXJpYWJsZUFyY2hQcm90b2Nv bEd1aWQNCj4gKyAgZ0VmaVZhcmlhYmxlV3JpdGVBcmNoUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlI aWlDb25maWdBY2Nlc3NQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaUJvb3RTY3JpcHRTYXZlUHJvdG9j b2xHdWlkDQo+ICsgIGdFZmlDcHVJb1Byb3RvY29sR3VpZA0KPiArICBnRWZpRGV2aWNlUGF0aFBy b3RvY29sR3VpZA0KPiArICBnRWZpRGlza0luZm9Qcm90b2NvbEd1aWQNCj4gKyAgZ0VmaVBzMlBv bGljeVByb3RvY29sR3VpZA0KPiArICBnRWZpSXNhQWNwaVByb3RvY29sR3VpZA0KPiArICBnRWZp RGF0YUh1YlByb3RvY29sR3VpZA0KPiArICBnRWZpUGNpSW9Qcm90b2NvbEd1aWQNCj4gKyAgZ0R4 ZVBjaFBsYXRmb3JtUG9saWN5UHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlUcG1NcERyaXZlclByb3Rv Y29sR3VpZA0KPiArICBnRWZpTHBjV3BjZTc5MVBvbGljeVByb3RvY29sR3VpZA0KPiArICBnVXNi UG9saWN5R3VpZA0KPiArICBnRWZpU3BlYWtlckludGVyZmFjZVByb3RvY29sR3VpZA0KPiArICBn RHhlVmx2UGxhdGZvcm1Qb2xpY3lHdWlkDQo+ICsgIGdFZmlTbWJpb3NTbG90UG9wdWxhdGlvbkd1 aWQNCj4gKyAgZ09ic2VydmFibGVQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaUNrNTA1Q2xvY2tQbGF0 Zm9ybUluZm9HdWlkDQo+ICsgIGdFZmlMcGNXcGM4MzYyN1BvbGljeVByb3RvY29sR3VpZA0KPiAr ICBnRWZpVGNvUmVzZXRQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaVdhdGNoZG9nVGltZXJEcml2ZXJQ cm90b2NvbEd1aWQNCj4gKyAgZ0VmaVBsYXRmb3JtSWRlSW5pdFByb3RvY29sR3VpZA0KPiArICBn RWZpR2xvYmFsTnZzQXJlYVByb3RvY29sR3VpZA0KPiArICBnRWZpQ3B1SW8yUHJvdG9jb2xHdWlk DQo+ICsgIGdJZ2RPcFJlZ2lvblByb3RvY29sR3VpZA0KPiArICBnRXhpdFBtQXV0aFByb3RvY29s R3VpZA0KPiArICBnRWRraWlWYXJpYWJsZUxvY2tQcm90b2NvbEd1aWQNCj4gKw0KPiArW1BjZC5j b21tb25dDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFBCVE5EaXNhYmxl SW50ZXJ2YWwNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjaUV4cHJlc3NCYXNl QWRkcmVzcw0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEFyZWFC YXNlQWRkcmVzcw0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE1p Y3JvQ29kZUFkZHJlc3MNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxh c2hNaWNyb0NvZGVTaXplDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RG YXN0UFMyRGV0ZWN0aW9uDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZs YXNoRnZNYWluQmFzZQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFz aEZ2UmVjb3ZlcnlCYXNlDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZs YXNoRnZSZWNvdmVyeVNpemUNCj4gKyAgZ0ZzcFdyYXBwZXJUb2tlblNwYWNlR3VpZC5QY2RGbGFz aEZ2RnNwQmFzZQ0KPiArDQo+ICsNCj4gK1tEZXBleF0NCj4gKyAgZ0VmaVBjaVJvb3RCcmlkZ2VJ b1Byb3RvY29sR3VpZCAgICAgQU5EDQo+ICsgIGdFZmlWYXJpYWJsZUFyY2hQcm90b2NvbEd1aWQg ICAgICAgIEFORA0KPiArICBnRWZpVmFyaWFibGVXcml0ZUFyY2hQcm90b2NvbEd1aWQgICBBTkQN Cj4gKyAgZ0VmaUJvb3RTY3JpcHRTYXZlUHJvdG9jb2xHdWlkICAgICAgQU5EDQo+ICsgIGdFZmlD cHVJb1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgIEFORA0KPiArICBnRHhlUGNoUGxhdGZvcm1Q b2xpY3lQcm90b2NvbEd1aWQgICBBTkQNCj4gKyAgZ0VmaUdsb2JhbE52c0FyZWFQcm90b2NvbEd1 aWQNCj4gKw0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybUR4ZS9SdGMuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtRHhlL1J0Yy5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLmY3YmU1OTI5NjANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUR4ZS9SdGMuYw0KPiBAQCAtMCwwICsxLDE1 NCBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIEFkanVzdCBEZWZhdWx0IFN5c3RlbSBUaW1lLg0KPiAr DQo+ICsgIENvcHlyaWdodCAoYykgMjAxNSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgPFBsYXRmb3JtRHhl Lmg+DQo+ICsNCj4gKy8vDQo+ICsvLyBEYXRlIGFuZCB0aW1lIGluaXRpYWwgdmFsdWVzLg0KPiAr Ly8gVGhleSBhcmUgdXNlZCBpZiB0aGUgUlRDIHZhbHVlcyBhcmUgaW52YWxpZCBkdXJpbmcgZHJp dmVyIGluaXRpYWxpemF0aW9uDQo+ICsvLw0KPiArI2RlZmluZSBSVENfSU5JVF9TRUNPTkQgMA0K PiArI2RlZmluZSBSVENfSU5JVF9NSU5VVEUgMA0KPiArI2RlZmluZSBSVENfSU5JVF9IT1VSICAg MA0KPiArDQo+ICtDSEFSMTYgIG1CaW9zUmVsZWFzZURhdGVbMjBdOw0KPiArDQo+ICsvKioNCj4g KyAgQ29udmVydCBhIHNpbmdsZSBjaGFyYWN0ZXIgdG8gbnVtYmVyLg0KPiArICBJdCBhc3N1bWVz IHRoZSBpbnB1dCBDaGFyIGlzIGluIHRoZSBzY29wZSBvZiBMJzAnIH4gTCc5JyBhbmQgTCdBJyB+ IEwnRicNCj4gKw0KPiArICBAcGFyYW0gQ2hhciAgICBUaGUgaW5wdXQgY2hhciB3aGljaCBuZWVk IHRvIGNoYW5nZSB0byBhIGhleCBudW1iZXIuDQo+ICsNCj4gKyoqLw0KPiArVUlOVE4NCj4gK0No YXJUb1VpbnQgKA0KPiArICBJTiBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAgICBDaGFy DQo+ICsgICkNCj4gK3sNCj4gKyAgaWYgKChDaGFyID49IEwnMCcpICYmIChDaGFyIDw9IEwnOScp KSB7DQo+ICsgICAgcmV0dXJuIChVSU5UTikgKENoYXIgLSBMJzAnKTsNCj4gKyAgfQ0KPiArDQo+ ICsgIGlmICgoQ2hhciA+PSBMJ0EnKSAmJiAoQ2hhciA8PSBMJ0YnKSkgew0KPiArICAgIHJldHVy biAoVUlOVE4pIChDaGFyIC0gTCdBJyArIDB4QSk7DQo+ICsgIH0NCj4gKw0KPiArICBBU1NFUlQg KEZBTFNFKTsNCj4gKyAgcmV0dXJuIDA7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBTZWUgaWYg WUVBUiBmaWVsZCBvZiBhIHZhcmlhYmxlIG9mIEVGSV9USU1FIHR5cGUgaXMgY29ycmVjdC4NCj4g Kw0KPiArICBAcGFyYW0gICBUaW1lICAgVGhlIHRpbWUgdG8gYmUgY2hlY2tlZC4NCj4gKw0KPiAr ICBAcmV0dmFsICBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFNvbWUgZmllbGRzIG9mIFRpbWUgYXJl IG5vdCBjb3JyZWN0Lg0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAgICAgICAgIFRpbWUg aXMgYSB2YWxpZCBFRklfVElNRSB2YXJpYWJsZS4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVT DQo+ICtDaGVja1J0Y1RpbWVGaWVsZHMgKA0KPiArICBJTiBFRklfVElNRSAqVGltZQ0KPiArICAp DQo+ICt7DQo+ICsgIFVJTlQxNiBZZWFyQnVpbHQ7DQo+ICsNCj4gKyAgWWVhckJ1aWx0ID0gKFVJ TlQxNikoQ2hhclRvVWludChtQmlvc1JlbGVhc2VEYXRlWzhdKSoxMCArDQo+IENoYXJUb1VpbnQo bUJpb3NSZWxlYXNlRGF0ZVs5XSkgKyAyMDAwKTsNCj4gKw0KPiArICBpZiAoKFRpbWUtPlllYXIp IDwgWWVhckJ1aWx0KSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4g KyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ ICsgIEV4aXRQbUF1dGggUHJvdG9jb2wgbm90aWZpY2F0aW9uIGV2ZW50IGhhbmRsZXIsIHdoaWNo IHNldCBpbml0aWFsIHN5c3RlbQ0KPiB0aW1lIHRvIGJlDQo+ICsgIHRoZSB0aW1lIHdoZW4gQklP UyB3YXMgYnVpbHQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBFdmVudCAgICBFdmVudCB3aG9zZSBu b3RpZmljYXRpb24gZnVuY3Rpb24gaXMgYmVpbmcgaW52b2tlZC4NCj4gKyAgQHBhcmFtW2luXSBD b250ZXh0ICBQb2ludGVyIHRvIHRoZSBub3RpZmljYXRpb24gZnVuY3Rpb24ncyBjb250ZXh0Lg0K PiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArQWRqdXN0RGVmYXVsdFJ0Y1RpbWVD YWxsYmFjayAoDQo+ICsgIElOIEVGSV9FVkVOVCAgICAgICAgRXZlbnQsDQo+ICsgIElOIFZPSUQg ICAgICAgICAgICAgKkNvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAg U3RhdHVzOw0KPiArICBFRklfVElNRSAgICAgICAgRWZpVGltZTsNCj4gKyAgQ0hBUjE2ICAgICAg ICAgIEJpb3NWZXJzaW9uWzYwXTsNCj4gKyAgQ0hBUjE2ICAgICAgICAgIEJpb3NSZWxlYXNlVGlt ZVsyMF07DQo+ICsgIC8vDQo+ICsgIC8vIEdldCBCSU9TIGJ1aWx0IHRpbWUgZnJvbSBCaW9zLUlE Lg0KPiArICAvLw0KPiArDQo+ICsgIFNldE1lbShCaW9zVmVyc2lvbiwgc2l6ZW9mKEJpb3NWZXJz aW9uKSwgMCk7DQo+ICsgIFNldE1lbShtQmlvc1JlbGVhc2VEYXRlLCBzaXplb2YobUJpb3NSZWxl YXNlRGF0ZSksIDApOw0KPiArICBTZXRNZW0oQmlvc1JlbGVhc2VUaW1lLCBzaXplb2YoQmlvc1Jl bGVhc2VUaW1lKSwgMCk7DQo+ICsNCj4gKyAgU3RhdHVzID0gR2V0Qmlvc1ZlcnNpb25EYXRlVGlt ZSAoQmlvc1ZlcnNpb24sIG1CaW9zUmVsZWFzZURhdGUsDQo+IEJpb3NSZWxlYXNlVGltZSk7DQo+ ICsgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCBj dXJyZW50IFJUQyB0aW1lLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnUlQtPkdldFRpbWUgKCZF ZmlUaW1lLCBOVUxMKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBWYWxpZGF0ZSBSVEMgdGltZSBm aWVsZHMNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gQ2hlY2tSdGNUaW1lRmllbGRzICgmRWZpVGlt ZSk7DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIC8vDQo+ICsg ICAgLy8gRGF0ZSBzdWNoIGFzIERlYyAyOHRoIG9mIDIwMTUNCj4gKyAgICAvLw0KPiArICAgIC8v IE1vbnRoDQo+ICsgICAgLy8gQmlvc1JlbGVhc2VEYXRlWzBdID0gJzEnOw0KPiArICAgIC8vIEJp b3NSZWxlYXNlRGF0ZVsxXSA9ICcyJzsNCj4gKyAgICAvLw0KPiArICAgIC8vIERheQ0KPiArICAg IC8vIEJpb3NSZWxlYXNlRGF0ZVszXSA9ICcyJzsNCj4gKyAgICAvLyBCaW9zUmVsZWFzZURhdGVb NF0gPSAnOCc7DQo+ICsgICAgLy8NCj4gKyAgICAvLw0KPiArICAgIC8vIFllYXINCj4gKyAgICAv Lw0KPiArICAgIC8vIEJpb3NSZWxlYXNlRGF0ZVs2XSA9ICcyJzsNCj4gKyAgICAvLyBCaW9zUmVs ZWFzZURhdGVbN10gPSAnMCc7DQo+ICsgICAgLy8gQmlvc1JlbGVhc2VEYXRlWzhdID0gJzEnDQo+ ICsgICAgLy8gQmlvc1JlbGVhc2VEYXRlWzldID0gJzUnOw0KPiArDQo+ICsgICAgRWZpVGltZS5T ZWNvbmQgPSBSVENfSU5JVF9TRUNPTkQ7DQo+ICsgICAgRWZpVGltZS5NaW51dGUgPSBSVENfSU5J VF9NSU5VVEU7DQo+ICsgICAgRWZpVGltZS5Ib3VyICAgPSBSVENfSU5JVF9IT1VSOw0KPiArICAg IEVmaVRpbWUuRGF5ICAgID0gKFVJTlQ4KShDaGFyVG9VaW50KG1CaW9zUmVsZWFzZURhdGVbM10p KjEwICsNCj4gQ2hhclRvVWludChtQmlvc1JlbGVhc2VEYXRlWzRdKSk7DQo+ICsgICAgRWZpVGlt ZS5Nb250aCAgPSAoVUlOVDgpKENoYXJUb1VpbnQobUJpb3NSZWxlYXNlRGF0ZVswXSkqMTAgKw0K PiBDaGFyVG9VaW50KG1CaW9zUmVsZWFzZURhdGVbMV0pKTsNCj4gKyAgICBFZmlUaW1lLlllYXIg ICA9IChVSU5UMTYpKENoYXJUb1VpbnQobUJpb3NSZWxlYXNlRGF0ZVs4XSkqMTAgKw0KPiBDaGFy VG9VaW50KG1CaW9zUmVsZWFzZURhdGVbOV0pICsgMjAwMCk7DQo+ICsgICAgRWZpVGltZS5OYW5v c2Vjb25kICA9IDA7DQo+ICsgICAgRWZpVGltZS5UaW1lWm9uZSA9IEVGSV9VTlNQRUNJRklFRF9U SU1FWk9ORTsNCj4gKyAgICBFZmlUaW1lLkRheWxpZ2h0ID0gMTsNCj4gKw0KPiArICAgIERFQlVH ICgoRUZJX0RfSU5GTywgIkRheTolZCBNb250aDolZCBZZWFyOiVkIFxuIiwNCj4gKFVJTlQzMilF ZmlUaW1lLkRheSwgKFVJTlQzMilFZmlUaW1lLk1vbnRoLCAoVUlOVDMyKUVmaVRpbWUuWWVhcikp Ow0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZXNldCB0aW1lIHZhbHVlIGFjY29yZGluZyB0 byBuZXcgUlRDIGNvbmZpZ3VyYXRpb24NCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdSVC0+ U2V0VGltZSAoJkVmaVRpbWUpOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4g KyAgfQ0KPiArDQo+ICsgIHJldHVybjsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1NlbnNvclZhci5jDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvU2Vuc29yVmFyLmMNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNWQxM2U5OTQ0Mw0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtRHhlL1NlbnNvclZhci5jDQo+IEBAIC0wLDAgKzEsMTEyIEBADQo+ICsvKiogQGZpbGUNCj4g Kw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRp ZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBO YW1lOg0KPiArDQo+ICsNCj4gKyAgU2Vuc29yVmFyLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsN Cj4gKyAgSW5pdGlhbGl6YXRpb24gZm9yIHRoZSBTZW5zb3IgSW5mbyB2YXJpYWJsZS4NCj4gKw0K PiArUmV2aXNpb24gSGlzdG9yeQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJQbGF0 Zm9ybUR4ZS5oIg0KPiArI2luY2x1ZGUgIkd1aWQvU2Vuc29ySW5mb1ZhcmlhYmxlLmgiDQo+ICsN Cj4gKy8vDQo+ICsvLyBTZW5zb3IgSW5mb3JtYXRpb24gKGJvYXJkIHNwZWNpZmljKQ0KPiArLy8N Cj4gKw0KPiArI2RlZmluZSBURU1QRVJBVFVSRV9TRU5TT1JTX0NPVU5UICAgICAgIDQNCj4gKyNk ZWZpbmUgVk9MVEFHRV9TRU5TT1JTX0NPVU5UICAgICAgICAgICA2DQo+ICsjZGVmaW5lIEZBTl9T RU5TT1JTX0NPVU5UICAgICAgICAgICAgICAgNA0KPiArI2RlZmluZSBGQU5fQ09OVFJPTExFUlNf Q09VTlQgICAgICAgICAgIDMNCj4gKw0KPiArVFlQRURFRl9URU1QX1NFTlNPUl9TRUNUSU9OKFRF TVBFUkFUVVJFX1NFTlNPUlNfQ09VTlQpOw0KPiArVFlQRURFRl9WT0xUX1NFTlNPUl9TRUNUSU9O KFZPTFRBR0VfU0VOU09SU19DT1VOVCk7DQo+ICtUWVBFREVGX0ZBTl9TRU5TT1JfU0VDVElPTihG QU5fU0VOU09SU19DT1VOVCk7DQo+ICtUWVBFREVGX0ZBTl9DT05UUk9MTEVSX1NFQ1RJT04oRkFO X0NPTlRST0xMRVJTX0NPVU5UKTsNCj4gK1RZUEVERUZfU0VOU09SX0lORk9fVkFSOw0KPiArDQo+ ICtTRU5TT1JfSU5GT19WQVIgICAgICAgICAgICAgICBtU2Vuc29ySW5mb0RhdGEgPQ0KPiArew0K PiArCSAgLy8NCj4gKyAgICAvLyBUZW1wZXJhdHVyZSBTZW5zb3JzDQo+ICsgICAgLy8NCj4gKyAg ICBURU1QRVJBVFVSRV9TRU5TT1JTX0NPVU5ULA0KPiArICAgIHsNCj4gKyAgICAgICAgeyAwLCAz LCBDUFVfQ09SRV9URU1QRVJBVFVSRSwgICAgICAgICAgICBUUlVFICB9LA0KPiArICAgICAgICB7 IDAsIDEsIE1PVEhFUkJPQVJEX0FNQklFTlRfVEVNUEVSQVRVUkUsIEZBTFNFIH0sDQo+ICsgICAg ICAgIHsgMCwgMiwgVlJfVEVNUEVSQVRVUkUsICAgICAgICAgICAgICAgICAgRkFMU0UgfSwNCj4g KyAgICAgICAgeyAwLCAwLCBJT0hfVEVNUEVSQVRVUkUsICAgICAgICAgICAgICAgICBGQUxTRSB9 DQo+ICsgICAgfSwNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gVm9sdGFnZSBTZW5zb3JzDQo+ ICsgICAgLy8NCj4gKyAgICBWT0xUQUdFX1NFTlNPUlNfQ09VTlQsDQo+ICsgICAgew0KPiArICAg ICAgICB7IDAsIDAsIFBMVVNfMTJfVk9MVFMgICAgICAgfSwNCj4gKyAgICAgICAgeyAwLCAxLCBQ TFVTXzVfVk9MVFMgICAgICAgIH0sDQo+ICsgICAgICAgIHsgMCwgMiwgUExVU18zUDNfVk9MVFMg ICAgICB9LA0KPiArICAgICAgICB7IDAsIDMsIE1DSF9WQ0NfVk9MVEFHRSAgICAgfSwNCj4gKyAg ICAgICAgeyAwLCA0LCBDUFVfMV9WQ0NQX1ZPTFRBR0UgIH0sDQo+ICsgICAgICAgIHsgMCwgNSwg Q1BVX1ZUVF9WT0xUQUdFICAgICB9DQo+ICsgICAgfSwNCj4gKw0KPiArICAgIC8vDQo+ICsgICAg Ly8gRmFuIFNwZWVkIFNlbnNvcnMNCj4gKyAgICAvLw0KPiArICAgIEZBTl9TRU5TT1JTX0NPVU5U LA0KPiArICAgIHsNCj4gKyAgICAgICAgeyAwLCAwLCBDUFVfQ09PTElOR19GQU4sICAgIEZBTl80 V0lSRSwgICAgICAgICAwIH0sDQo+ICsgICAgICAgIHsgMCwgMSwgQVVYX0NPT0xJTkdfRkFOLCAg ICBGQU5fNFdJUkUsICAgICAgICAgMSB9LA0KPiArICAgICAgICB7IDAsIDIsIENIQVNTSVNfSU5M RVRfRkFOLCAgRkFOXzNXSVJFX1ZPTFRBR0UsIDEgfSwNCj4gKyAgICAgICAgeyAwLCAzLCBDSEFT U0lTX09VVExFVF9GQU4sIEZBTl8zV0lSRV9WT0xUQUdFLCAyIH0NCj4gKyAgICB9LA0KPiArDQo+ ICsgICAgLy8NCj4gKyAgICAvLyBGYW4gU3BlZWQgQ29udHJvbGxlcnMNCj4gKyAgICAvLw0KPiAr ICAgIEZBTl9DT05UUk9MTEVSU19DT1VOVCwNCj4gKyAgICB7DQo+ICsgICAgICAgIHsgMCwgMCwg Q1BVX0NPT0xJTkdfRkFOLCAgICAgeyAwLCAweGZmLCAweGZmLCAweGZmIH0gfSwNCj4gKyAgICAg ICAgeyAwLCAxLCBDSEFTU0lTX0NPT0xJTkdfRkFOLCB7IDEsICAgIDIsIDB4ZmYsIDB4ZmYgfSB9 LA0KPiArICAgICAgICB7IDAsIDIsIENIQVNTSVNfQ09PTElOR19GQU4sIHsgMywgMHhmZiwgMHhm ZiwgMHhmZiB9IH0NCj4gKyAgICB9DQo+ICt9Ow0KPiArDQo+ICsvKioNCj4gKw0KPiArICBXcml0 ZSB0aGUgU2Vuc29yIEluZm8gdmFyaWFibGUgaWYgaXQgZG9lcyBub3QgYWxyZWFkeSBleGlzdC4N Cj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtJbml0aWFsaXplU2Vuc29ySW5mb1ZhcmlhYmxlICgN Cj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBTZXQgdGhlIFNlbnNvciBJbmZvIHZhcmlh YmxlLiAgSWYgaXQgYWxyZWFkeSBleGlzdHMgYW5kIHRoZSBkYXRhIG1hdGNoZXMsDQo+ICsgIC8v IHRoZSB2YXJpYWJsZSBkcml2ZXIgd2lsbCBzaW1wbHkgcmV0dXJuIHdpdGhvdXQgd3JpdGluZzsg b3RoZXJ3aXNlLCB0aGUNCj4gKyAgLy8gZHJpdmVyIHdpbGwgd3JpdGUgdGhlIHZhcmlhYmxlLg0K PiArICAvLw0KPiArICBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgIGdFZmlTZW5zb3JJ bmZvVmFyTmFtZVdpdGhQYXNzd29yZCwNCj4gKyAgICAgICAgICZnRWZpU2Vuc29ySW5mb1Zhckd1 aWQsDQo+ICsgICAgICAgICBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFIHwNCj4gKyAgICAgICAg IEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiArICAgICAgICAgRUZJX1ZBUklB QkxFX1JVTlRJTUVfQUNDRVNTLA0KPiArICAgICAgICAgc2l6ZW9mIChTRU5TT1JfSU5GT19WQVIp LA0KPiArICAgICAgICAgJm1TZW5zb3JJbmZvRGF0YQ0KPiArICAgICAgICAgKTsNCj4gK30NCj4g Kw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1EeGUvU2lvUGxhdGZvcm1Qb2xpY3kuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1Npb1BsYXRmb3JtUG9saWN5LmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMzJiZWU3NWY5NQ0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtRHhlL1Np b1BsYXRmb3JtUG9saWN5LmMNCj4gQEAgLTAsMCArMSw4MiBAQA0KPiArLyoqIEBmaWxlDQo+ICsN Cj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFt ZToNCj4gKw0KPiArDQo+ICsgIFNpb1BsYXRmb3JtUG9saWN5LmMNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgU2lvIFBsYXRmb3JtIFBvbGljeSBTZXR0aW5nLg0KPiArDQo+ICsNCj4gKy0t Ki8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRHhlLmgiDQo+ICsjaW5jbHVkZSA8UHJvdG9j b2wvTHBjV3BjODM2MjdQb2xpY3kuaD4NCj4gKw0KPiArDQo+ICtFRklfV1BDODM2MjdfUE9MSUNZ X1BST1RPQ09MICBtU2lvODM2MjdQb2xpY3lEYXRhID0gew0KPiArICB7IEVGSV9XUEM4MzYyN19D T00xX0VOQUJMRSwgICAgICAgLy8gQ29tMQ0KPiArICAgIEVGSV9XUEM4MzYyN19MUFQxX0VOQUJM RSwgICAgICAgLy8gTHB0MQ0KPiArICAgIEVGSV9XUEM4MzYyN19GRERfRElTQUJMRSwgICAgICAg Ly8gRmxvcHB5DQo+ICsgICAgRUZJX1dQQzgzNjI3X0ZERF9XUklURV9FTkFCTEUsICAvLyBGbG9w cHlXcml0ZVByb3RlY3QNCj4gKyAgICBFRklfV1BDODM2MjdfUkVTRVJWRURfREVGQVVMVCwgIC8v IFBvcnQ4MA0KPiArICAgIEVGSV9XUEM4MzYyN19FQ0lSX0RJU0FCTEUsICAgICAgLy8gQ0lSDQo+ ICsgICAgRUZJX1dQQzgzNjI3X1BTMl9LQkNfRU5BQkxFLCAgICAvLyBQczJLZXlib2FyZA0KPiAr ICAgIEVGSV9XUEM4MzYyN19SRVNFUlZFRF9ERUZBVUxULCAgLy8gUHMyTW91c2UNCj4gKyAgICBF RklfV1BDODM2MjdfQ09NMl9FTkFCTEUsICAgICAgIC8vIENvbTINCj4gKyAgICBFRklfV1BDODM2 MjdfQ09NM19FTkFCTEUsICAgICAgIC8vIENvbTMNCj4gKyAgICBFRklfV1BDODM2MjdfQ09NNF9F TkFCTEUsICAgICAgIC8vIENvbTQNCj4gKyAgICBFRklfV1BDODM2MjdfUkVTRVJWRURfREVGQVVM VCwgIC8vIERhYw0KPiArICAgIDB4MDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUnN2 ZA0KPiArICAgIH0sDQo+ICsgIExwdE1vZGVFY3AsICAgICAgICAgICAgICAgICAgICAgICAvLyBM cHRNb2RlDQo+ICt9Ow0KPiArDQo+ICsvKioNCj4gKw0KPiArICBQdWJsaXNoIHRoZSBwbGF0Zm9y bSBTSU8gcG9saWN5IHNldHRpbmcuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUw0KPiAr DQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0luaXRTaW9QbGF0Zm9ybVBvbGljeSgNCj4gKyAgKQ0KPiAr ew0KPiArDQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgIEhhbmRsZTsNCj4gKyAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgU3RhdHVzOw0KPiArDQo+ICsgIEhhbmRsZSA9IE5VTEw7DQo+ICsN Cj4gKyAgaWYoKG1TeXN0ZW1Db25maWd1cmF0aW9uLlNlcmlhbCkgfHwgKG1Cb2FyZEZlYXR1cmVz ICYNCj4gQl9CT0FSRF9GRUFUVVJFU19TSU9fTk9fQ09NMSkpIHsNCj4gKyAgICBtU2lvODM2MjdQ b2xpY3lEYXRhLkRldmljZUVuYWJsZXMuQ29tMSA9DQo+IEVGSV9XUEM4MzYyN19DT00xX0RJU0FC TEU7DQo+ICsgIH0NCj4gKw0KPiArICBpZigobVN5c3RlbUNvbmZpZ3VyYXRpb24uU2VyaWFsMikg fHwgKChtQm9hcmRGZWF0dXJlcyAmDQo+IEJfQk9BUkRfRkVBVFVSRVNfU0lPX0NPTTIpPT0wKSkg ew0KPiArICAgIG1TaW84MzYyN1BvbGljeURhdGEuRGV2aWNlRW5hYmxlcy5Db20yID0NCj4gRUZJ X1dQQzgzNjI3X0NPTTJfRElTQUJMRTsNCj4gKyAgfQ0KPiArDQo+ICsgIG1TaW84MzYyN1BvbGlj eURhdGEuTHB0TW9kZSA9IG1TeXN0ZW1Db25maWd1cmF0aW9uLlBhcmFsbGVsTW9kZTsNCj4gKyAg aWYoKCFtU3lzdGVtQ29uZmlndXJhdGlvbi5QYXJhbGxlbCkgfHwgKG1Cb2FyZEZlYXR1cmVzICYN Cj4gQl9CT0FSRF9GRUFUVVJFU19TSU9fTk9fUEFSQUxMRUwpKSB7DQo+ICsgICAgbVNpbzgzNjI3 UG9saWN5RGF0YS5EZXZpY2VFbmFibGVzLkxwdDEgPSBFRklfV1BDODM2MjdfTFBUMV9ESVNBQkxF Ow0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5JbnN0YWxsUHJvdG9jb2xJbnRlcmZh Y2UgKA0KPiArICAgICAgICAgICAgICAgICAgJkhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAg ICZnRWZpTHBjV3BjODM2MjdQb2xpY3lQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICBFRklfTkFUSVZFX0lOVEVSRkFDRSwNCj4gKyAgICAgICAgICAgICAgICAgICZtU2lvODM2MjdQ b2xpY3lEYXRhDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9S KFN0YXR1cyk7DQo+ICsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvU2xvdENvbmZpZy5jDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvU2xvdENvbmZpZy5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmY5YjUzZWFkOTUNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bUR4ZS9TbG90Q29uZmlnLmMNCj4gQEAgLTAsMCArMSwxNDggQEANCj4gKy8qKiBAZmlsZQ0KPiAr DQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxs IHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5h bWU6DQo+ICsNCj4gKyAgU2xvdENvbmZpZy5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsg IFNldHMgcGxhdGZvcm0vU0tVIHNwZWNpZmljIGV4cGFuc2lvbiBzbG90IGluZm9ybWF0aW9uLg0K PiArDQo+ICsNCj4gKw0KPiArLS0qLw0KPiArI2luY2x1ZGUgIlNsb3RDb25maWcuaCINCj4gKw0K PiArLy8NCj4gKy8vIEltcGxlbWVudGF0aW9uDQo+ICsvLw0KPiArVk9JRA0KPiArSW5pdGlhbGl6 ZVNsb3RJbmZvICgNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBCdXNTYXZlU3RhdGU7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFZlbmRvcjsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQ3VycmVudEJ1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg aTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgajsNCj4gKyAgRUZJ X0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlOw0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEJPT0xFQU4gICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFJ1bk5leHQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTG9vcCB0 aHJvdWdoIHRoZSBzbG90IHRhYmxlIGFuZCBzZWUgaWYgYW55IHNsb3RzIGhhdmUgY2FyZHMgaW4g dGhlbQ0KPiArICAvLw0KPiArICBmb3IgKGkgPSAwOyBpIDwgbVNsb3RCcmlkZ2VUYWJsZVNpemU7 IGkrKykgew0KPiArICAgIC8vDQo+ICsgICAgLy8gSW5pdGlhbGl6ZSB2YXJpYWJsZQ0KPiArICAg IC8vDQo+ICsgICAgUnVuTmV4dCA9IEZBTFNFOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBI aWRlIG1pbmkgUENJZSBzbG90cyBwZXIgU0tVDQo+ICsgICAgLy8NCj4gKyAgICBmb3IgKGogPSAw OyBqIDwgbVNsb3RJbmZvcm1hdGlvbi5OdW1iZXJPZkVudHJpZXM7IGorKykgew0KPiArICAgICAg aWYgKG1TbG90SW5mb3JtYXRpb24uU2xvdEVudHJpZXNbal0uU21iaW9zU2xvdElkID09DQo+IG1T bG90QnJpZGdlVGFibGVbaV0uU21iaW9zU2xvdElkKSB7DQo+ICsgICAgICAgIGlmICgobVNsb3RJ bmZvcm1hdGlvbi5TbG90RW50cmllc1tqXS5TbWJpb3NTbG90SWQgPT0gMHgwMikgJiYNCj4gKyAg ICAgICAgICAgIChtQm9hcmRGZWF0dXJlcyAmIEJfQk9BUkRfRkVBVFVSRVNfTk9fTUlOSVBDSUUp DQo+ICsgICAgICAgICAgKSB7DQo+ICsgICAgICAgICAgbVNsb3RJbmZvcm1hdGlvbi5TbG90RW50 cmllc1tqXS5EaXNhYmxlZCA9IFRSVUU7DQo+ICsgICAgICAgICAgUnVuTmV4dCA9IFRSVUU7DQo+ ICsgICAgICAgIH0NCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiAr DQo+ICsgICAgaWYgKFJ1bk5leHQpIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBTa2lwIHNs b3QgZGV2aWNlIGRldGVjdGlvbiBzaW5jZSB0aGUgc2xvdCBpcyBkaXNhYmxlZC4NCj4gKyAgICAg IC8vDQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAg IC8vIENoZWNrIHRvIHNlZSBpZiB0aGUgYnJpZGdlIGhhcyBhIGJ1cyBudW1iZXIgYW5kIGFzc2ln biBvbmUgaWYgbm90DQo+ICsgICAgLy8NCj4gKyAgICBCdXNTYXZlU3RhdGUgPSBNbVBjaTE2ICgN Cj4gKyAgICAgIDAsDQo+ICsgICAgICBtU2xvdEJyaWRnZVRhYmxlW2ldLkJ1cywNCj4gKyAgICAg IG1TbG90QnJpZGdlVGFibGVbaV0uRGV2LA0KPiArICAgICAgbVNsb3RCcmlkZ2VUYWJsZVtpXS5G dW5jdGlvbiwNCj4gKyAgICAgIFBDSV9CUklER0VfU0VDT05EQVJZX0JVU19SRUdJU1RFUl9PRkZT RVQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmIChCdXNTYXZl U3RhdGUgPT0gMCkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEFzc2lnbiB0ZW1wIGJ1cyBu dW1iZXINCj4gKyAgICAgIC8vDQo+ICsgICAgICBNbVBjaTE2ICgNCj4gKyAgICAgICAgMCwNCj4g KyAgICAgICAgbVNsb3RCcmlkZ2VUYWJsZVtpXS5CdXMsDQo+ICsgICAgICAgIG1TbG90QnJpZGdl VGFibGVbaV0uRGV2LA0KPiArICAgICAgICBtU2xvdEJyaWRnZVRhYmxlW2ldLkZ1bmN0aW9uLA0K PiArICAgICAgICBQQ0lfQlJJREdFX1NFQ09OREFSWV9CVVNfUkVHSVNURVJfT0ZGU0VUDQo+ICsg ICAgICAgICkgPSBERUZfQlVTX0NPTkZJRzsNCj4gKyAgICAgIEN1cnJlbnRCdXMgPSBERUZfQlVT Ow0KPiArICAgIH0gZWxzZSBpZiAoQnVzU2F2ZVN0YXRlID09IDB4RkZGRikgew0KPiArICAgICAg Ly8NCj4gKyAgICAgIC8vIEJyaWRnZSBpcyBkaXNhYmxlZCBzbyBjb250aW51ZSB3aXRoIG5leHQg ZW50cnkgaW4gdGhlIHRhYmxlDQo+ICsgICAgICAvLw0KPiArICAgICAgY29udGludWU7DQo+ICsg ICAgfSBlbHNlIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBVc2UgZXhpc3RpbmcgYnVzIG51 bWJlcg0KPiArICAgICAgLy8NCj4gKyAgICAgIEN1cnJlbnRCdXMgPSAoVUlOVDgpIEJ1c1NhdmVT dGF0ZSAmIDB4RkY7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBDaGVjayB0 byBzZWUgaWYgYSBkZXZpY2UgaXMgYmVoaW5kIHRoZSBicmlkZ2UNCj4gKyAgICAvLw0KPiArICAg IFZlbmRvciA9IE1tUGNpMTYgKA0KPiArICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAg ICAgIEN1cnJlbnRCdXMsDQo+ICsgICAgICAgICAgICAgICBtU2xvdEJyaWRnZVRhYmxlW2ldLlRh cmdldERldmljZSwNCj4gKyAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAwDQo+ ICsgICAgICAgICAgICAgICApOw0KPiArICAgIGlmIChWZW5kb3IgIT0gMHhGRkZGKSB7DQo+ICsg ICAgICAvLw0KPiArICAgICAgLy8gRGV2aWNlIGZvdW5kIHNvIG1ha2Ugc3VyZSB0aGUgc2xvdCBp cyBtYXJrZWQgdGhhdCB3YXkNCj4gKyAgICAgIC8vDQo+ICsgICAgICBmb3IgKGogPSAwOyBqIDwg bVNsb3RJbmZvcm1hdGlvbi5OdW1iZXJPZkVudHJpZXM7IGorKykgew0KPiArICAgICAgICBpZiAo bVNsb3RJbmZvcm1hdGlvbi5TbG90RW50cmllc1tqXS5TbWJpb3NTbG90SWQgPT0NCj4gbVNsb3RC cmlkZ2VUYWJsZVtpXS5TbWJpb3NTbG90SWQpIHsNCj4gKyAgICAgICAgICBtU2xvdEluZm9ybWF0 aW9uLlNsb3RFbnRyaWVzW2pdLkluVXNlID0gVFJVRTsNCj4gKyAgICAgICAgICBicmVhazsNCj4g KyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAg Ly8gUmVzdG9yZSBwcmV2aW91cyBidXMgaW5mb3JtYXRpb24NCj4gKyAgICAvLw0KPiArICAgIGlm IChCdXNTYXZlU3RhdGUgPT0gMCkgew0KPiArICAgICAgTW1QY2kxNiAoDQo+ICsgICAgICAgIDAs DQo+ICsgICAgICAgIG1TbG90QnJpZGdlVGFibGVbaV0uQnVzLA0KPiArICAgICAgICBtU2xvdEJy aWRnZVRhYmxlW2ldLkRldiwNCj4gKyAgICAgICAgbVNsb3RCcmlkZ2VUYWJsZVtpXS5GdW5jdGlv biwNCj4gKyAgICAgICAgUENJX0JSSURHRV9TRUNPTkRBUllfQlVTX1JFR0lTVEVSX09GRlNFVA0K PiArICAgICAgICApID0gMDsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBIYW5kbGUgPSBO VUxMOw0KPiArICBTdGF0dXMgPSBnQlMtPkluc3RhbGxQcm90b2NvbEludGVyZmFjZSAoDQo+ICsg ICAgICAgICAgICAgICAgICAmSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlTbWJp b3NTbG90UG9wdWxhdGlvbkd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBFRklfTkFUSVZFX0lO VEVSRkFDRSwNCj4gKyAgICAgICAgICAgICAgICAgICZtU2xvdEluZm9ybWF0aW9uDQo+ICsgICAg ICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4g K30NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtRHhlL1Nsb3RDb25maWcuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1BsYXRmb3JtRHhlL1Nsb3RDb25maWcuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwLi43Mzg3OTgyNjFiDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1EeGUvU2xvdENvbmZpZy5oDQo+IEBA IC0wLDAgKzEsODAgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0g MjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFNsb3RDb25maWcuYw0K PiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBTZXRzIHBsYXRmb3JtL1NLVSBzcGVjaWZpYyBl eHBhbnNpb24gc2xvdCBpbmZvcm1hdGlvbi4NCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArLS0qLw0K PiArDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1EeGUuaCINCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9T bWJpb3NTbG90UG9wdWxhdGlvbi5oPg0KPiArI2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvUGNp MjIuaD4NCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gRGVmYXVsdCBidXMgbnVtYmVyIGZvciB0aGUg YnJpZGdlDQo+ICsvLw0KPiArI2RlZmluZSBERUZfQlVTX0NPTkZJRyAgMHgwMTAxDQo+ICsjZGVm aW5lIERFRl9CVVMgICAgICAgICAweDAxDQo+ICsNCj4gKy8vDQo+ICsvLyBEYXRhIHN0cnVjdHVy ZXMgZm9yIHNsb3QgaW5mb3JtYXRpb24NCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsg IFVJTlQxNiAgU21iaW9zU2xvdElkOw0KPiArICBVSU5UOCAgIEJ1czsNCj4gKyAgVUlOVDggICBE ZXY7DQo+ICsgIFVJTlQ4ICAgRnVuY3Rpb247DQo+ICsgIFVJTlQ4ICAgVGFyZ2V0RGV2aWNlOw0K PiArfSBFRklfUENJX1NMT1RfQlJJREdFX0lORk87DQo+ICsNCj4gKy8vDQo+ICsvLyBQcm9kdWN0 IHNwZWNpZmljIGJyaWRnZSB0byBzbG90IHJvdXRpbmcgaW5mb3JtYXRpb24NCj4gKy8vDQo+ICtF RklfUENJX1NMT1RfQlJJREdFX0lORk8gbVNsb3RCcmlkZ2VUYWJsZVtdID0gew0KPiArICB7DQo+ ICsgICAgMHgwMSwgICAgICAgICAgICAgLy9QQ0llIHgxIElDSCAoQnJpZGdlIEIwOkQyODpGMSkN Cj4gKyAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4gKyAgICBQQ0lfREVWSUNFX05V TUJFUl9QQ0hfUENJRV9ST09UX1BPUlRTLA0KPiArICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENI X1BDSUVfUk9PVF9QT1JUXzIsDQo+ICsgICAgMA0KPiArICB9DQo+ICt9Ow0KPiArDQo+ICtVSU5U TiBtU2xvdEJyaWRnZVRhYmxlU2l6ZSA9DQo+ICsgIHNpemVvZihtU2xvdEJyaWRnZVRhYmxlKSAv IHNpemVvZihFRklfUENJX1NMT1RfQlJJREdFX0lORk8pOw0KPiArDQo+ICsvLw0KPiArLy8gU2xv dCBlbnRyeSB0YWJsZSBmb3IgSUJYIFJWUA0KPiArLy8NCj4gK0VGSV9TTUJJT1NfU0xPVF9FTlRS WSBtU2xvdEVudHJpZXNbXSA9IHsNCj4gKyAgezB4MDYsIEZBTFNFLCBUUlVFfSwgICAgLy8gUENJ ZSB4MTYgU2xvdCAxIChOT1QgVVNFRCkNCj4gKyAgezB4MDQsIEZBTFNFLCBUUlVFfSwgICAgLy8g UENJZSB4MTYgU2xvdCAyIChOT1QgVVNFRCkNCj4gKyAgezB4MDMsIEZBTFNFLCBUUlVFfSwgICAg Ly8gUENJZSB4NCBTbG90IChOT1QgVVNFRCkNCj4gKyAgezB4MDIsIEZBTFNFLCBGQUxTRX0sICAg Ly8gTWluaSBQQ0llIHgxIFNsb3QNCj4gKyAgezB4MTUsIEZBTFNFLCBUUlVFfSwgICAgLy8gUENJ ZSB4MSBTbG90IDIgKE5PVCBVU0VEKQ0KPiArICB7MHgxNiwgRkFMU0UsIFRSVUV9LCAgICAvLyBQ Q0llIHgxIFNsb3QgMyAoTk9UIFVTRUQpDQo+ICsgIHsweDA3LCBGQUxTRSwgRkFMU0V9LCAgIC8v IFBDSSBTbG90IDENCj4gKyAgezB4MTgsIEZBTFNFLCBUUlVFfSwgICAgLy8gUENJIFNsb3QgMiAo Tk9UIFVTRUQpDQo+ICsgIHsweDE3LCBGQUxTRSwgVFJVRX0sICAgIC8vIFBDSSBTbG90IDMgKE5P VCBVU0VEKQ0KPiArfTsNCj4gKw0KPiArRUZJX1NNQklPU19TTE9UX1BPUFVMQVRJT05fSU5GTyBt U2xvdEluZm9ybWF0aW9uID0gew0KPiArICBzaXplb2YobVNsb3RFbnRyaWVzKSAvIHNpemVvZihF RklfU01CSU9TX1NMT1RfRU5UUlkpLA0KPiArICBtU2xvdEVudHJpZXMNCj4gK307DQo+ICsNCj4g Kw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1Hb3BQb2xpY3kvUGxhdGZvcm1Hb3BQb2xpY3kuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtR29wUG9saWN5L1BsYXRmb3JtR29wUG9saWN5LmMNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMzkwMDYwM2Q2OA0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1BsYXRmb3JtR29wUG9saWN5L1BsYXRmb3JtR29wUG9saWN5LmMNCj4gQEAgLTAsMCArMSwyMDEg QEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4g Ky0tKi8NCj4gKw0KPiArLyoqIEBmaWxlDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJh cnkvQmFzZU1lbW9yeUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvRGVidWdMaWIuaD4NCj4g KyNpbmNsdWRlIDxQcm90b2NvbC9GaXJtd2FyZVZvbHVtZTIuaD4NCj4gKyNpbmNsdWRlIDxQcm90 b2NvbC9QbGF0Zm9ybUdvcFBvbGljeS5oPg0KPiArDQo+ICsjaW5jbHVkZSA8R3VpZC9TZXR1cFZh cmlhYmxlLmg+DQo+ICsjaW5jbHVkZSA8U2V0dXBNb2RlLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFy eS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlS dW50aW1lU2VydmljZXNUYWJsZUxpYi5oPg0KPiArDQo+ICtQTEFURk9STV9HT1BfUE9MSUNZX1BS T1RPQ09MICBtUGxhdGZvcm1HT1BQb2xpY3k7DQo+ICsNCj4gKy8vDQo+ICsvLyBGdW5jdGlvbiBp bXBsZW1lbnRhdGlvbnMNCj4gKy8vDQo+ICsNCj4gKy8qKg0KPiArICBUaGUgZnVuY3Rpb24gd2ls bCBleGVjdXRlIHdpdGggYXMgdGhlIHBsYXRmb3JtIHBvbGljeSwgYW5kIGdpdmVzDQo+ICsgIHRo ZSBQbGF0Zm9ybSBMaWQgU3RhdHVzLiBJQlYvT0VNIGNhbiBjdXN0b21pemUgdGhpcyBjb2RlIGZv ciB0aGVpciBzcGVjaWZpYw0KPiArICBwb2xpY3kgYWN0aW9uLg0KPiArDQo+ICsgIEBwYXJhbSBD dXJyZW50TGlkU3RhdHVzICBHaXZlcyB0aGUgY3VycmVudCBMSUQgU3RhdHVzDQo+ICsNCj4gKyAg QHJldHZhbCBFRklfU1VDQ0VTUy4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklB UEkNCj4gK0dldFBsYXRmb3JtTGlkU3RhdHVzICgNCj4gKyAgIE9VVCBMSURfU1RBVFVTICpDdXJy ZW50TGlkU3RhdHVzDQo+ICspDQo+ICt7DQo+ICsgICpDdXJyZW50TGlkU3RhdHVzID0gTGlkT3Bl bjsNCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiAr ICBUaGUgZnVuY3Rpb24gd2lsbCBleGVjdXRlIGFuZCBnaXZlcyB0aGUgVmlkZW8gQmlvcyBUYWJs ZSBTaXplIGFuZCBBZGRyZXNzLg0KPiArDQo+ICsgIEBwYXJhbSBWYnRBZGRyZXNzICBHaXZlcyB0 aGUgUGh5c2ljYWwgQWRkcmVzcyBvZiBWaWRlbyBCSU9TIFRhYmxlDQo+ICsNCj4gKyAgQHBhcmFt IFZidFNpemUgICAgIEdpdmVzIHRoZSBTaXplIG9mIFZpZGVvIEJJT1MgVGFibGUNCj4gKw0KPiAr ICBAcmV0dmFsIEVGSV9TVEFUVVMuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ ICtFRklBUEkNCj4gK0dldFZidERhdGEgKA0KPiArICAgT1VUIEVGSV9QSFlTSUNBTF9BRERSRVNT ICpWYnRBZGRyZXNzLA0KPiArICAgT1VUIFVJTlQzMiAqVmJ0U2l6ZQ0KPiArKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAg ICAgICAgICAgICAgICAgICAgIEZ2UHJvdG9jb2xDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgICAg ICAgICAgICAgICAgICAgKkZ2SGFuZGxlczsNCj4gKyAgRUZJX0ZJUk1XQVJFX1ZPTFVNRTJfUFJP VE9DT0wgICpGdjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgIEF1dGhlbnRpY2F0aW9uU3RhdHVzOw0K PiArDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXI7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgIFZidEJ1ZmZlclNpemU7DQo+ICsNCj4gKyAgQnVm ZmVyID0gMDsNCj4gKyAgRnZIYW5kbGVzICAgICAgID0gTlVMTDsNCj4gKw0KPiArICBpZiAoVmJ0 QWRkcmVzcyA9PSBOVUxMIHx8IFZidFNpemUgPT0gTlVMTCl7DQo+ICsgICAgcmV0dXJuIEVGSV9J TlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZUhhbmRs ZUJ1ZmZlciAoDQo+ICsgICAgICAgICAgICAgICAgICBCeVByb3RvY29sLA0KPiArICAgICAgICAg ICAgICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZTJQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAg ICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJkZ2UHJvdG9jb2xDb3VudCwNCj4g KyAgICAgICAgICAgICAgICAgICZGdkhhbmRsZXMNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ICsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBmb3IgKEluZGV4ID0g MDsgSW5kZXggPCBGdlByb3RvY29sQ291bnQ7IEluZGV4KyspIHsNCj4gKyAgICAgIFN0YXR1cyA9 IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEZ2SGFuZGxl c1tJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJmdFZmlGaXJtd2FyZVZvbHVtZTJQ cm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZGdg0KPiAr ICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBWYnRCdWZmZXJTaXplID0gMDsNCj4g KyAgICAgIFN0YXR1cyA9IEZ2LT5SZWFkU2VjdGlvbiAoDQo+ICsgICAgICAgICAgICAgICAgICAg ICBGdiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICZnQm1wSW1hZ2VHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgICAgRUZJX1NFQ1RJT05fUkFXLA0KPiArICAgICAgICAgICAgICAgICAgICAg MCwNCj4gKyAgICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJkJ1ZmZlciwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICZWYnRCdWZmZXJTaXplLA0KPiArICAgICAgICAgICAgICAgICAgICAgJkF1 dGhlbnRpY2F0aW9uU3RhdHVzDQo+ICsgICAgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsg ICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgICAqVmJ0QWRkcmVzcyA9 IChFRklfUEhZU0lDQUxfQUREUkVTUykoVUlOVE4pQnVmZmVyOw0KPiArICAgICAgICAqVmJ0U2l6 ZSA9IChVSU5UMzIpVmJ0QnVmZmVyU2l6ZTsNCj4gKyAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NF U1M7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfSBlbHNl IHsNCj4gKyAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgaWYg KEZ2SGFuZGxlcyAhPSBOVUxMKSB7DQo+ICsgICAgZ0JTLT5GcmVlUG9vbCAoRnZIYW5kbGVzKTsN Cj4gKyAgICBGdkhhbmRsZXMgPSBOVUxMOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1 czsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEVudHJ5IHBvaW50IGZvciB0aGUgUGxhdGZvcm0g R09QIFBvbGljeSBEcml2ZXIuDQo+ICsNCj4gKyAgQHBhcmFtIEltYWdlSGFuZGxlICAgICAgIElt YWdlIGhhbmRsZSBvZiB0aGlzIGRyaXZlci4NCj4gKyAgQHBhcmFtIFN5c3RlbVRhYmxlICAgICAg IEdsb2JhbCBzeXN0ZW0gc2VydmljZSB0YWJsZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUND RVNTICAgICAgICAgICBJbml0aWFsaXphdGlvbiBjb21wbGV0ZS4NCj4gKyAgQHJldHZhbCBFRklf T1VUX09GX1JFU09VUkNFUyAgRG8gbm90IGhhdmUgZW5vdWdoIHJlc291cmNlcyB0bw0KPiBpbml0 aWFsaXplIHRoZSBkcml2ZXIuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK1BsYXRmb3JtR09QUG9saWN5RW50cnlQb2ludCAoDQo+ICsgIElOIEVGSV9IQU5E TEUgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgKlN5c3RlbVRh YmxlDQo+ICsgICkNCj4gKw0KPiArew0KPiArICBFRklfU1RBVFVTICBTdGF0dXMgPSBFRklfU1VD Q0VTUzsNCj4gKyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICAgU3lzdGVtQ29uZmlndXJh dGlvbjsNCj4gKyAgVUlOVE4gICAgICAgVmFyU2l6ZTsNCj4gKw0KPiArDQo+ICsgIGdCUyA9IFN5 c3RlbVRhYmxlLT5Cb290U2VydmljZXM7DQo+ICsNCj4gKyAgZ0JTLT5TZXRNZW0gKA0KPiArICAg ICAgICAgJm1QbGF0Zm9ybUdPUFBvbGljeSwNCj4gKyAgICAgICAgIHNpemVvZiAoUExBVEZPUk1f R09QX1BPTElDWV9QUk9UT0NPTCksDQo+ICsgICAgICAgICAwDQo+ICsgICAgICAgICApOw0KPiAr DQo+ICsgIG1QbGF0Zm9ybUdPUFBvbGljeS5SZXZpc2lvbiAgICAgICAgICAgICAgICA9DQo+IFBM QVRGT1JNX0dPUF9QT0xJQ1lfUFJPVE9DT0xfUkVWSVNJT05fMDE7DQo+ICsgIG1QbGF0Zm9ybUdP UFBvbGljeS5HZXRQbGF0Zm9ybUxpZFN0YXR1cyAgICA9IEdldFBsYXRmb3JtTGlkU3RhdHVzOw0K PiArICBtUGxhdGZvcm1HT1BQb2xpY3kuR2V0VmJ0RGF0YSAgICAgICAgICAgICAgPSBHZXRWYnRE YXRhOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluc3RhbGwgcHJvdG9jb2wgdG8gYWxsb3cgYWNj ZXNzIHRvIHRoaXMgUG9saWN5Lg0KPiArICAvLw0KPiArICBWYXJTaXplID0gc2l6ZW9mKFNZU1RF TV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgNCj4gKyAg ICAgICAgICAgICAgICAgIEwiU2V0dXAiLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlOb3Jt YWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAg ICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlv bg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSB8 fCBWYXJTaXplICE9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTikpIHsNCj4gKyAgICAvL1Ro ZSBzZXR1cCB2YXJpYWJsZSBpcyBjb3JydXB0ZWQNCj4gKyAgICBWYXJTaXplID0gc2l6ZW9mKFNZ U1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0K PiArICAgICAgICAgICAgICBMIlNldHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAgICAgICAmZ0Vm aU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAg ICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICZTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsg ICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAg fQ0KPiArDQo+ICsgIGlmIChTeXN0ZW1Db25maWd1cmF0aW9uLkdPUEVuYWJsZSA9PSAxKQ0KPiAr ICB7DQo+ICsgIFN0YXR1cyA9IGdCUy0+SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJbnRlcmZhY2Vz ICgNCj4gKyAgICAgICAgICAgICAgICAgICZJbWFnZUhhbmRsZSwNCj4gKyAgICAgICAgICAgICAg ICAgICZnUGxhdGZvcm1HT1BQb2xpY3lHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgJm1QbGF0 Zm9ybUdPUFBvbGljeSwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAg ICAgICAgICk7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiBkaWZm IC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Hb3BQ b2xpY3kvUGxhdGZvcm1Hb3BQb2xpY3kuaQ0KPiBuZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtR29wUG9saWN5L1BsYXRmb3JtR29wUG9saWN5LmkNCj4gbmYN Cj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uOTQ4NzkzZjcxOQ0K PiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtR29wUG9saWN5L1BsYXRmb3JtR29wUG9saWN5LmkNCj4gbmYNCj4gQEAgLTAs MCArMSw1MSBAQA0KPiArIw0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsjDQo+IA0KPiArIyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+ IA0KPiArIw0KPiArIw0KPiArIyMNCj4gKw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZF UlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAg ICAgICAgICAgICAgICAgICAgPSBQbGF0Zm9ybUdPUFBvbGljeQ0KPiArICBGSUxFX0dVSUQgICAg ICAgICAgICAgICAgICAgICAgPSA5NzM3RDdDQS1EODY5LTQ1ZTUtQTVFRi03NUQ5NDM4Njg4REUN Cj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gRFhFX0RSSVZFUg0KPiArICBW RVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgRU5UUllfUE9JTlQgICAg ICAgICAgICAgICAgICAgID0gUGxhdGZvcm1HT1BQb2xpY3lFbnRyeVBvaW50DQo+ICsNCj4gKyMN Cj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5k IG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ICsjICBWQUxJRF9B UkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzINCj4gKyMNCj4gKw0KPiArW1NvdXJjZXMuY29t bW9uXQ0KPiArICBQbGF0Zm9ybUdvcFBvbGljeS5jDQo+ICsNCj4gK1tQYWNrYWdlc10NCj4gKyAg TWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtQa2cvSW50ZWxGcmFtZXdvcmtQ a2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiArW0xpYnJh cnlDbGFzc2VzXQ0KPiArICBCYXNlTGliDQo+ICsgIERlYnVnTGliDQo+ICsgIFVlZmlEcml2ZXJF bnRyeVBvaW50DQo+ICsgIFVlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYg0KPiArIyAgRHhlS3Nj TGliDQo+ICsNCj4gK1tHdWlkc10NCj4gKyAgZ0JtcEltYWdlR3VpZA0KPiArICBnRWZpTm9ybWFs U2V0dXBHdWlkDQo+ICsNCj4gK1tQcm90b2NvbHNdDQo+ICsgIGdFZmlDcHVJb1Byb3RvY29sR3Vp ZA0KPiArICBnRWZpRmlybXdhcmVWb2x1bWUyUHJvdG9jb2xHdWlkDQo+ICsgIGdQbGF0Zm9ybUdP UFBvbGljeUd1aWQNCj4gKw0KPiArW0RlcGV4XQ0KPiArICBnRWZpQ3B1SW9Qcm90b2NvbEd1aWQg QU5EIGdFZmlWYXJpYWJsZUFyY2hQcm90b2NvbEd1aWQNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5mb0R4ZS9QbGF0Zm9ybUluZm9E eGUuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5mb0R4 ZS9QbGF0Zm9ybUluZm9EeGUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwLi5mYzc4NDAzNGNkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1JbmZvRHhlL1BsYXRmb3JtSW5mb0R4ZS5j DQo+IEBAIC0wLDAgKzEsMTY5IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQg KGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFBs YXRmb3JtSW5mb0R4ZS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArICBQbGF0Zm9ybSBJbmZvIGRy aXZlciB0byBwdWJsaWMgcGxhdGZvcm0gcmVsYXRlZCBIT0IgZGF0YQ0KPiArDQo+ICstLSovDQo+ ICsNCj4gKyNpbmNsdWRlICJQbGF0Zm9ybUluZm9EeGUuaCINCj4gKw0KPiArLyoqDQo+ICsgIEVu dHJ5IHBvaW50IGZvciB0aGUgZHJpdmVyLg0KPiArDQo+ICsgIFRoaXMgcm91dGluZSBnZXQgdGhl IHBsYXRmb3JtIEhPQiBkYXRhIGZyb20gUEVJIGFuZCBwdWJsaXNoDQo+ICsgIGFzIFBsYXRmb3Jt IEluZm8gdmFyaWFibGUgdGhhdCBjYW4gYmUgYWNjZXNzZWQgZHVyaW5nIGJvb3Qgc2VydmljZSBh bmQNCj4gKyAgcnVudGltZS4NCj4gKw0KPiArICBAcGFyYW0gSW1hZ2VIYW5kbGUgICAgSW1hZ2Ug SGFuZGxlLg0KPiArICBAcGFyYW0gU3lzdGVtVGFibGUgICAgRUZJIFN5c3RlbSBUYWJsZS4NCj4g Kw0KPiArICBAcmV0dmFsIFN0YXR1cyAgICAgICAgRnVuY3Rpb24gZXhlY3V0aW9uIHN0YXR1cy4N Cj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1BsYXRmb3JtSW5mb0lu aXQgKA0KPiArICBJTiBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAgIEltYWdlSGFu ZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAgICAgICAgICAgICAgICAgICpTeXN0ZW1U YWJsZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICBTdGF0 dXM7DQo+ICsgIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAqUGxhdGZvcm1JbmZvSG9iUHRy Ow0KPiArICBFRklfUEVJX0hPQl9QT0lOVEVSUyAgICAgICAgR3VpZEhvYjsNCj4gKyAgRUZJX1BM QVRGT1JNX0lORk9fSE9CICAgICAgIFRtcEhvYjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgIFZhclNpemU7DQo+ICsgIEVGSV9PU19TRUxFQ1RJT05fSE9CICAgICAgICAqT3NTbGVj dGlvbkhvYlB0cjsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgIFNlbGVjdGlvbjsN Cj4gKyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgIFN5c3RlbUNvbmZpZ3VyYXRpb247DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAqTHBzc0RhdGFIb2JQdHI7DQo+ICsgIFVJ TlQ4ICAgICAgICAgICAgICAgICAgICAgICAqTHBzc0RhdGFWYXJQdHI7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICBpOw0KPiArDQo+ICsgIFZhclNpemUgPSBzaXplb2YoU1lTVEVN X0NPTkZJR1VSQVRJT04pOw0KPiArICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAg ICAgICAgICAgICAgICAgTk9STUFMX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAgICAgICAgICAm Z0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICZTeXN0ZW1Db25m aWd1cmF0aW9uDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJS T1IgKFN0YXR1cykgfHwgVmFyU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKSB7 DQo+ICsgICAgLy9UaGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ICsgICAgVmFyU2l6 ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVzID0gZ1JULT5H ZXRWYXJpYWJsZSgNCj4gKyAgICAgICAgICAgICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4gKyAgICAg ICAgICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgIE5VTEwsDQo+ ICsgICAgICAgICAgICAgICZWYXJTaXplLA0KPiArICAgICAgICAgICAgICAmU3lzdGVtQ29uZmln dXJhdGlvbg0KPiArICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0 YXR1cyk7DQo+ICsgIH0NCj4gKw0KPiArICBWYXJTaXplID0gc2l6ZW9mKFNlbGVjdGlvbik7DQo+ ICsgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgICAgICBMIk9z U2VsZWN0aW9uIiwNCj4gKyAgICAgICAgICAgICAgICAgICZnT3NTZWxlY3Rpb25WYXJpYWJsZUd1 aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJlZh clNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAmU2VsZWN0aW9uDQo+ICsgICAgICAgICAgICAg ICAgICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIFNlbGVj dGlvbiA9IFN5c3RlbUNvbmZpZ3VyYXRpb24uUmVzZXJ2ZWRPOw0KPiArICAgIFN0YXR1cyA9IGdS VC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICAgICAgICBMIk9zU2VsZWN0aW9uIiwN Cj4gKyAgICAgICAgICAgICAgICAgICAgJmdPc1NlbGVjdGlvblZhcmlhYmxlR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8DQo+IEVG SV9WQVJJQUJMRV9SVU5USU1FX0FDQ0VTUyB8IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUsDQo+ ICsgICAgICAgICAgICAgICAgICAgIHNpemVvZihTZWxlY3Rpb24pLA0KPiArICAgICAgICAgICAg ICAgICAgICAmU2VsZWN0aW9uDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIH0NCj4g Kw0KPiArICBHdWlkSG9iLlJhdyA9IEdldEhvYkxpc3QgKCk7DQo+ICsgIGlmIChHdWlkSG9iLlJh dyAhPSBOVUxMKSB7DQo+ICsgICAgaWYgKChHdWlkSG9iLlJhdyA9IEdldE5leHRHdWlkSG9iICgm Z09zU2VsZWN0aW9uVmFyaWFibGVHdWlkLA0KPiBHdWlkSG9iLlJhdykpICE9IE5VTEwpIHsNCj4g KyAgICAgIE9zU2xlY3Rpb25Ib2JQdHIgPSBHRVRfR1VJRF9IT0JfREFUQSAoR3VpZEhvYi5HdWlk KTsNCj4gKw0KPiArICAgICAgaWYgKE9zU2xlY3Rpb25Ib2JQdHItPk9zU2VsZWN0aW9uQ2hhbmdl ZCkgew0KPiArICAgICAgICBTeXN0ZW1Db25maWd1cmF0aW9uLlJlc2VydmVkTyA9IE9zU2xlY3Rp b25Ib2JQdHItPk9zU2VsZWN0aW9uOw0KPiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8v IExvYWQgQXVkaW8gZGVmYXVsdCBjb25maWd1cmF0aW9uDQo+ICsgICAgICAgIC8vDQo+ICsgICAg ICAgIFN5c3RlbUNvbmZpZ3VyYXRpb24uTHBlICAgICAgICAgPSBPc1NsZWN0aW9uSG9iUHRyLT5M cGU7DQo+ICsgICAgICAgIFN5c3RlbUNvbmZpZ3VyYXRpb24uUGNoQXphbGlhICAgPSBPc1NsZWN0 aW9uSG9iUHRyLT5QY2hBemFsaWE7DQo+ICsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8g TG9hZCBMUFNTIGFuZCBTQ0MgZGVmYXVsdCBjb25maWd1cmF0aW9ucw0KPiArICAgICAgICAvLw0K PiArICAgICAgICBMcHNzRGF0YUhvYlB0ciA9ICZPc1NsZWN0aW9uSG9iUHRyLT5McHNzRGF0YS5M cHNzUGNpTW9kZUVuYWJsZWQ7DQo+ICsgICAgICAgIExwc3NEYXRhVmFyUHRyID0gJlN5c3RlbUNv bmZpZ3VyYXRpb24uTHBzc1BjaU1vZGVFbmFibGVkOw0KPiArICAgICAgICBmb3IgKGkgPSAwOyBp IDwgc2l6ZW9mKEVGSV9QTEFURk9STV9MUFNTX0RBVEEpOyBpKyspIHsNCj4gKyAgICAgICAgICAq THBzc0RhdGFWYXJQdHIgPSAqTHBzc0RhdGFIb2JQdHI7DQo+ICsgICAgICAgICAgTHBzc0RhdGFW YXJQdHIrKzsNCj4gKyAgICAgICAgICBMcHNzRGF0YUhvYlB0cisrOw0KPiArICAgICAgICB9DQo+ ICsNCj4gKyAgICAgICAgU3lzdGVtQ29uZmlndXJhdGlvbi5HT1BFbmFibGUgPSBUUlVFOw0KPiAr DQo+ICsgICAgICAgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgTk9STUFMX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAmZ0VmaU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9W QVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxF LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9O KSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICZTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICBBU1NFUlRfRUZJX0VSUk9SIChT dGF0dXMpOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIEd1aWRIb2Iu UmF3ID0gR2V0SG9iTGlzdCAoKTsNCj4gKyAgaWYgKEd1aWRIb2IuUmF3ID09IE5VTEwpIHsNCj4g KyAgCXJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKChHdWlkSG9i LlJhdyA9IEdldE5leHRHdWlkSG9iICgmZ0VmaVBsYXRmb3JtSW5mb0d1aWQsDQo+IEd1aWRIb2Iu UmF3KSkgIT0gTlVMTCkgew0KPiArICAgIFBsYXRmb3JtSW5mb0hvYlB0ciA9IEdFVF9HVUlEX0hP Ql9EQVRBIChHdWlkSG9iLkd1aWQpOw0KPiArICAgIFZhclNpemUgPSBzaXplb2YoRUZJX1BMQVRG T1JNX0lORk9fSE9CKTsNCj4gKyAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAg ICAgICAgICAgICAgICAgICBMIlBsYXRmb3JtSW5mbyIsDQo+ICsgICAgICAgICAgICAgICAgICAg ICZnRWZpVmx2MlZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4g KyAgICAgICAgICAgICAgICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZU bXBIb2INCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIGlmIChFRklfRVJS T1IoU3RhdHVzKSB8fCBDb21wYXJlTWVtICgmVG1wSG9iLCBQbGF0Zm9ybUluZm9Ib2JQdHIsDQo+ IFZhclNpemUpKSB7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBXcml0ZSB0aGUgUGxh dGZvcm0gSW5mbyB0byB2b2xhdGlsZSBtZW1vcnkNCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdGF0 dXMgPSBnUlQtPlNldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEwiUGxhdGZv cm1JbmZvIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmZ0VmaVZsdjJWYXJpYWJsZUd1aWQs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VT UyB8DQo+IEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mKEVGSV9QTEFURk9STV9JTkZPX0hPQiksDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgUGxhdGZvcm1JbmZvSG9iUHRyDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg ICAgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgICAgICByZXR1cm4gU3RhdHVzOw0K PiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VT UzsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvUGxhdGZvcm1JbmZvRHhlL1BsYXRmb3JtSW5mb0R4ZS5oDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1JbmZvRHhlL1BsYXRmb3JtSW5mb0R4ZS5o DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjYxNWIzMmJiMDgN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybUluZm9EeGUvUGxhdGZvcm1JbmZvRHhlLmgNCj4gQEAgLTAsMCArMSwzMCBA QA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4g Kw0KPiArTW9kdWxlIE5hbWU6DQo+ICsgIFBsYXRmb3JtSW5mb0R4ZS5oDQo+ICsNCj4gK0Fic3Ry YWN0Og0KPiArICBQbGF0Zm9ybSBJbmZvIERyaXZlci4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsj aWZuZGVmIF9QTEFURk9STV9JTkZPX0RSSVZFUl9IXw0KPiArI2RlZmluZSBfUExBVEZPUk1fSU5G T19EUklWRVJfSF8NCj4gKw0KPiArI2luY2x1ZGUgPFBpRHhlLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9Ib2JMaWIuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1BsYXRmb3JtSW5mby5oPg0KPiArI2lu Y2x1ZGUgPEd1aWQvR2xvYmFsVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlS dW50aW1lU2VydmljZXNUYWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgPEd1aWQvVmx2MlZhcmlhYmxl Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsjaW5jbHVkZSA8 U2V0dXBNb2RlLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9Pc1NlbGVjdGlvbi5oPg0KPiArI2luY2x1 ZGUgPEd1aWQvU2V0dXBWYXJpYWJsZS5oPg0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluZm9EeGUvUGxhdGZvcm1J bmZvRHhlLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt SW5mb0R4ZS9QbGF0Zm9ybUluZm9EeGUuaW5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAuLmFlM2MyYmY0MWINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluZm9EeGUvUGxhdGZvcm1J bmZvRHhlLmluZg0KPiBAQCAtMCwwICsxLDUyIEBADQo+ICsjDQo+ICsjDQo+ICsjIENvcHlyaWdo dCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQNCj4gKyMNCj4gDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKyMNCj4gDQo+ICsjDQo+ICsjDQo+ICsjICBNb2R1bGUgTmFtZToNCj4g KyMNCj4gKyMgICBQbGF0Zm9ybUluZm9EeGUuaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4g KyMNCj4gKyMNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICtbZGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJ T04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAg ICAgICAgICAgICAgICAgPSBQbGF0Zm9ybUluZm9EeGUNCj4gKyAgRklMRV9HVUlEICAgICAgICAg ICAgICAgICAgICAgID0gMDI1RjczOEItNEVCRC00ZDU1LUI3MjgtNUY0MjFCNjAxRjFGDQo+ICsg IE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVINCj4gKyAgVkVSU0lP Tl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIEVOVFJZX1BPSU5UICAgICAgICAg ICAgICAgICAgICA9IFBsYXRmb3JtSW5mb0luaXQNCj4gKw0KPiArW3NvdXJjZXNdDQo+ICsgIFBs YXRmb3JtSW5mb0R4ZS5jDQo+ICsgIFBsYXRmb3JtSW5mb0R4ZS5oDQo+ICsNCj4gK1tHdWlkc10N Cj4gKyAgZ0VmaUFjcGlWYXJpYWJsZUd1aWQgICAgICAgICAgICAgICAgICAgICAjIEFMV0FZU19D T05TVU1FRA0KPiArICBnRWZpUGxhdGZvcm1JbmZvR3VpZCAgICAgICAgICAgICAgICAgICAgICMg QUxXQVlTX0NPTlNVTUVEDQo+ICsgIGdFZmlWbHYyVmFyaWFibGVHdWlkDQo+ICsgIGdFZmlOb3Jt YWxTZXR1cEd1aWQNCj4gKyAgZ09zU2VsZWN0aW9uVmFyaWFibGVHdWlkDQo+ICsNCj4gK1tQYWNr YWdlc10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVs ZVBrZy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsgIFZs djJEZXZpY2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VSZWZDb2RlUGtnLmRlYw0KPiArDQo+ICtbTGli cmFyeUNsYXNzZXNdDQo+ICsgIEhvYkxpYg0KPiArICBVZWZpUnVudGltZVNlcnZpY2VzVGFibGVM aWINCj4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gKyAgQmFzZU1lbW9yeUxpYg0KPiArDQo+ ICtbRGVwZXhdDQo+ICsgIGdFZmlWYXJpYWJsZUFyY2hQcm90b2NvbEd1aWQgQU5EIGdFZmlWYXJp YWJsZVdyaXRlQXJjaFByb3RvY29sR3VpZA0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL0Jvb3RNb2RlLmMNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvQm9vdE1vZGUuYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jOTA2NTYyYzdlDQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1Jbml0UGVpL0Jvb3RNb2RlLmMNCj4gQEAgLTAsMCArMSw0MzQgQEANCj4gKy8qKiBAZmls ZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9k dWxlIE5hbWU6DQo+ICsNCj4gKw0KPiArICBCb290TW9kZS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0K PiArDQo+ICsgIEVGSSBQRUlNIHRvIHByb3ZpZGUgdGhlIHBsYXRmb3JtIHN1cHBvcnQgZnVuY3Rp b25hbGl0eSBvbiB0aGUgVGh1cmxleS4NCj4gKw0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNs dWRlICJQbGF0Zm9ybUVhcmx5SW5pdC5oIg0KPiArDQo+ICsNCj4gKyNkZWZpbmUgTk9STUFMTU9E RSAgICAgICAgMA0KPiArI2RlZmluZSBSRUNPVkVSWU1PREUgICAgICAxDQo+ICsjZGVmaW5lIFNB RkVNT0RFICAgICAgICAgIDINCj4gKyNkZWZpbmUgTUFOVUZBQ1RVUklOR01PREUgMw0KPiArDQo+ ICsjZGVmaW5lIEdQSU9fU1NVU19PRkZTRVQgICAgMHgyMDAwDQo+ICsjZGVmaW5lIFBNVV9QV1JC VE5fQl9PRkZTRVQgMHg4OA0KPiArDQo+ICtFRklfUEVJX1BQSV9ERVNDUklQVE9SICBtUHBpTGlz dFJlY292ZXJ5Qm9vdE1vZGUgPSB7DQo+ICsgIChFRklfUEVJX1BQSV9ERVNDUklQVE9SX1BQSSB8 DQo+IEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfVEVSTUlOQVRFX0xJU1QpLA0KPiArICAmZ0VmaVBl aUJvb3RJblJlY292ZXJ5TW9kZVBwaUd1aWQsDQo+ICsgIE5VTEwNCj4gK307DQo+ICsNCj4gKy8q Kg0KPiArICBSZXR1cm4gdGhlIHNldHRpbmcgb2YgdGhlIEJpb3MgY29uZmlndXJhdGlvbiBqdW1w ZXINCj4gKw0KPiArICBAcGFyYW0gIFZPSUQNCj4gKw0KPiArICBAcmV0dmFsIFJFQ09WRVJZTU9E RSAgICAgICBqdW1wZXIgc2V0IHRvIHJlY292ZXJ5IG1vZGUNCj4gKyAgQHJldHZhbCBTQUZFTU9E RSAgICAgICAgICAganVtcGVyIHNldCB0byBjb25maWcgbW9kZQ0KPiArICBAcmV0dmFsIE5PUk1B TE1PREUgICAgICAgICBqdW1wZXIgaW4gbm9ybWFsIG1vZGUNCj4gKw0KPiArKiovDQo+ICtVSU5U Tg0KPiArR2V0Q29uZmlnSnVtcGVyKA0KPiArICAgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMg ICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgICAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZP X0hPQiAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBEbyB0 aGUgRm9yY2VkIHJlY292ZXJ5IGRldGVjdGlvbiBiYXNlZCBvbiBsb2dpYyBjaGFydCBhYm92ZQ0K PiArICAvLw0KPiArICBpZiAoSXNSZWNvdmVyeUp1bXBlcihQZWlTZXJ2aWNlcywgUGxhdGZvcm1J bmZvSG9iKSkgew0KPiArICAgIHJldHVybiBSRUNPVkVSWU1PREU7DQo+ICsgIH0gZWxzZSB7DQo+ ICsgICAgcmV0dXJuIE5PUk1BTE1PREU7DQo+ICsgIH0NCj4gK30NCj4gKw0KPiArQk9PTEVBTg0K PiArQ2hlY2tJZlJlY292ZXJ5TW9kZSgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAg ICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZPX0hP QiAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgKQ0KPiArew0KPiArICBpZiAoR2V0Q29uZmlnSnVtcGVy KFBlaVNlcnZpY2VzLCBQbGF0Zm9ybUluZm9Ib2IpID09IFJFQ09WRVJZTU9ERSkgew0KPiArICAg IHJldHVybiBUUlVFOw0KPiArICB9DQo+ICsgIHJldHVybiBGQUxTRTsNCj4gK30NCj4gKw0KPiAr Qk9PTEVBTg0KPiArQ2hlY2tJZlNhZmVNb2RlKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJ Q0VTICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBPVVQgRUZJX1BMQVRGT1JNX0lO Rk9fSE9CICpQbGF0Zm9ybUluZm9Ib2INCj4gKyApDQo+ICt7DQo+ICsgIGlmIChHZXRDb25maWdK dW1wZXIoUGVpU2VydmljZXMsIFBsYXRmb3JtSW5mb0hvYikgPT0gU0FGRU1PREUpIHsNCj4gKyAg ICByZXR1cm4gVFJVRTsNCj4gKyAgfQ0KPiArICByZXR1cm4gRkFMU0U7DQo+ICt9DQo+ICsNCj4g K0JPT0xFQU4NCj4gK0NoZWNrSWZNYW51ZmFjdHVyaW5nTW9kZSAoDQo+ICsgIElOIENPTlNUIEVG SV9QRUlfU0VSVklDRVMgICoqUGVpU2VydmljZXMNCj4gKyApDQo+ICt7DQo+ICsgIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9QRUlfUkVBRF9PTkxZX1ZBUklB QkxFMl9QUEkgICpWYXJpYWJsZTsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgIEF0 dHJpYnV0ZXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICBEYXRhU2l6ZTsNCj4g KyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgIFZhck5hbWVbXSA9IE1GR01PREVfVkFSSUFC TEVfTkFNRTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgIE1mZ01vZGU7DQo+ICsN Cj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkxvY2F0ZVBwaSAoDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAmZ0VmaVBlaVJlYWRPbmx5VmFyaWFibGUyUHBpR3VpZCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJlZhcmlhYmxlDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgaWYgU1cgTU1KIG1vZGUNCj4g KyAgLy8NCj4gKyAgQXR0cmlidXRlcyA9IChFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFIHwNCj4g RUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUyB8IEVGSV9WQVJJQUJMRV9SVU5USU1FX0FD Q0VTUyk7DQo+ICsgIERhdGFTaXplID0gc2l6ZW9mIChNRkdfTU9ERV9WQVIpOw0KPiArDQo+ICsg IFN0YXR1cyA9IFZhcmlhYmxlLT5HZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgIFZhcmlhYmxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICBWYXJOYW1lLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAmZ01mZ01vZGVWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICZBdHRyaWJ1dGVzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAmRGF0 YVNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICZNZmdNb2RlDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsgIGlmICghKEVGSV9FUlJPUiAoU3RhdHVzKSkpIHsNCj4gKyAg ICByZXR1cm4gVFJVRTsNCj4gKyAgfQ0KPiArICByZXR1cm4gRkFMU0U7DQo+ICt9DQo+ICsNCj4g K0VGSV9TVEFUVVMNCj4gK1VwZGF0ZUJvb3RNb2RlICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9T RVJWSUNFUyAgICAgICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VU IEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAgICAgICAgICAgICAgKlBsYXRmb3JtSW5mb0hv Yg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICBT dGF0dXM7DQo+ICsgIEVGSV9CT09UX01PREUgICAgICAgICAgICAgICAgICAgICBCb290TW9kZTsN Cj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFNsZWVwVHlwZTsNCj4gKyAg Q0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgICpzdHJCb290TW9kZTsNCj4gKyAgUEVJ X0NBUFNVTEVfUFBJICAgICAgICAgICAgICAgICAgICpDYXBzdWxlOw0KPiArICBFRklfUEVJX1JF QURfT05MWV9WQVJJQUJMRTJfUFBJICAgKlZhcmlhYmxlOw0KPiArICBTWVNURU1fQ09ORklHVVJB VElPTiAgICAgICAgICAgICAgU3lzdGVtQ29uZmlndXJhdGlvbjsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFZhclNpemU7DQo+ICsgIHZvbGF0aWxlIFVJTlQzMiAgICAg ICAgICAgICAgICAgICBHcGlvVmFsdWU7DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAg ICAgICAgICBJc0ZpcnN0Qm9vdDsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAg ICAgIERhdGEzMjsNCj4gKw0KPiArICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+R2V0Qm9vdE1v ZGUoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAmQm9vdE1vZGUNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgaWYg KEJvb3RNb2RlICA9PSBCT09UX0lOX1JFQ09WRVJZX01PREUpew0KPiArICAgIHJldHVybiBTdGF0 dXM7DQo+ICsgIH0NCj4gKyAgR2V0V2FrZXVwRXZlbnRBbmRTYXZlVG9Ib2IgKFBlaVNlcnZpY2Vz KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBMZXQncyBhc3N1bWUgdGhpbmdzIGFyZSBPSyBpZiBu b3QgdG9sZCBvdGhlcndpc2UNCj4gKyAgLy8NCj4gKyAgQm9vdE1vZGUgPSBCT09UX1dJVEhfRlVM TF9DT05GSUdVUkFUSU9OOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFdoZW4gdGhpcyBib290IGlz IFdEVCByZXNldCwgdGhlIHN5c3RlbSBuZWVkcyBib290aW5nIHdpdGgNCj4gQ3Jhc2hEdW1wIGZ1 bmN0aW9uIGVhbmJsZWQuDQo+ICsgIC8vDQo+ICsgIERhdGEzMiA9IElvUmVhZDMyIChBQ1BJX0JB U0VfQUREUkVTUyArIFJfUENIX1RDT19TVFMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENoZWNr IFBvd2VyIEJ1dHRvbiwgY2xpY2sgdGhlIHBvd2VyIGJ1dHRvbiwgdGhlIHN5c3RlbSB3aWxsIGJv b3QgaW4gZmFzdA0KPiBib290IG1vZGUsDQo+ICsgIC8vIGlmIGl0IGlzIHByZXNzZWQgYW5kIGhv bGQgZm9yIGEgc2Vjb25kLCBpdCB3aWxsIGJvb3QgaW4NCj4gRnVsbENvbmZpZ3VyYXRpb24vc2V0 dXAgbW9kZS4NCj4gKyAgLy8NCj4gKyAgR3Bpb1ZhbHVlID0gTW1pb1JlYWQzMiAoSU9fQkFTRV9B RERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArDQo+IFBNVV9QV1JCVE5fQl9PRkZTRVQpOyAgICAv LyBUaGUgdmFsdWUgb2YgR1BJT1NfMTYgKFBNVV9QV1JCVE5fQikNCj4gKyAgaWYgKCgoR3Bpb1Zh bHVlICYgQklUMCkgIT0gMCkmJigoRGF0YTMyICYNCj4gQl9QQ0hfVENPX1NUU19TRUNPTkRfVE8p ICE9IEJfUENIX1RDT19TVFNfU0VDT05EX1RPKSl7DQo+ICsgICAgSXNGaXJzdEJvb3QgPSBQY2RH ZXRCb29sKFBjZEJvb3RTdGF0ZSk7DQo+ICsgICAgaWYgKCFJc0ZpcnN0Qm9vdCl7DQo+ICsgICAg ICBWYXJTaXplID0gc2l6ZW9mIChTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgICBaZXJv TWVtICgmU3lzdGVtQ29uZmlndXJhdGlvbiwgc2l6ZW9mIChTWVNURU1fQ09ORklHVVJBVElPTikp Ow0KPiArDQo+ICsgICAgICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+TG9jYXRlUHBpICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlQZWlSZWFkT25seVZhcmlhYmxlMlBwaUd1 aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZWYXJpYWJsZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBVc2Ugbm9ybWFsIHNldHVwIGRlZmF1bHQg ZnJvbSBOVlJBTSB2YXJpYWJsZSwNCj4gKyAgICAgIC8vIHRoZSBQbGF0Zm9ybSBNb2RlIChtYW51 ZmFjdHVyaW5nL3NhZmUvbm9ybWFsKSBpcyBoYW5kbGUgaW4NCj4gUGVpR2V0VmFyaWFibGUuDQo+ ICsgICAgICAvLw0KPiArICAgICAgVmFyU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElP Tik7DQo+ICsgICAgICBTdGF0dXMgPSBWYXJpYWJsZS0+R2V0VmFyaWFibGUgKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICBMIlNldHVwIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZnRWZpU2V0dXBW YXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgKTsNCj4gKyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgVmFyU2l6ZSAhPSBzaXpl b2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKSB7DQo+ICsgICAgICAgIC8vVGhlIHNldHVwIHZhcmlh YmxlIGlzIGNvcnJ1cHRlZA0KPiArICAgICAgICBWYXJTaXplID0gc2l6ZW9mKFNZU1RFTV9DT05G SUdVUkFUSU9OKTsNCj4gKyAgICAgICAgU3RhdHVzID0gVmFyaWFibGUtPkdldFZhcmlhYmxlKA0K PiArICAgICAgICAgICAgICAgICAgVmFyaWFibGUsDQo+ICsgICAgICAgICAgICAgICAgICBMIlNl dHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlTZXR1cFZhcmlhYmxlR3Vp ZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmVmFy U2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICZTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICAg ICAgICAgICAgICAgICApOw0KPiArICAgICAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0K PiArICAgICAgfQ0KPiArDQo+ICsgICAgICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi5GYXN0Qm9v dCA9PSAxKSB7DQo+ICsgICAgICAgICAgICBCb290TW9kZSA9IEJPT1RfV0lUSF9NSU5JTUFMX0NP TkZJR1VSQVRJT047DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gQ2hlY2sgaWYgd2UgbmVlZCB0byBib290IGluIGZvcmNlZCByZWNvdmVyeSBtb2Rl DQo+ICsgIC8vDQo+ICsgIGlmIChDaGVja0lmUmVjb3ZlcnlNb2RlKFBlaVNlcnZpY2VzLCBQbGF0 Zm9ybUluZm9Ib2IpKSB7DQo+ICsgICAgQm9vdE1vZGUgID0gQk9PVF9JTl9SRUNPVkVSWV9NT0RF Ow0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEJvb3RNb2RlICA9PSBCT09UX0lOX1JFQ09WRVJZX01P REUpIHsNCj4gKyAgICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+SW5zdGFsbFBwaSAoDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgJm1QcGlMaXN0UmVjb3ZlcnlCb290TW9kZQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3Rh dHVzKTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBpZiAoR2V0U2xlZXBUeXBlQWZ0ZXJXYWtldXAg KFBlaVNlcnZpY2VzLCAmU2xlZXBUeXBlKSkgew0KPiArICAgICAgc3dpdGNoIChTbGVlcFR5cGUp IHsNCj4gKyAgICAgICAgY2FzZSBWX1BDSF9BQ1BJX1BNMV9DTlRfUzM6DQo+ICsgICAgICAgICAg Qm9vdE1vZGUgPSBCT09UX09OX1MzX1JFU1VNRTsNCj4gKw0KPiArICAgICAgICAgIC8vDQo+ICsg ICAgICAgICAgLy8gRGV0ZXJtaW5lIGlmIHdlJ3JlIGluIGNhcHN1bGUgdXBkYXRlIG1vZGUNCj4g KyAgICAgICAgICAvLw0KPiArICAgICAgICAgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5Mb2Nh dGVQcGkgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZp Y2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZnUGVpQ2Fwc3Vs ZVBwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZDYXBzdWxlDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgICAgICAgIGlmIChT dGF0dXMgPT0gRUZJX1NVQ0NFU1MpIHsNCj4gKyAgICAgICAgICAgIGlmIChDYXBzdWxlLT5DaGVj a0NhcHN1bGVVcGRhdGUgKChFRklfUEVJX1NFUlZJQ0VTKiopUGVpU2VydmljZXMpDQo+ID09IEVG SV9TVUNDRVNTKSB7DQo+ICsgICAgICAgICAgICAgIEJvb3RNb2RlID0gQk9PVF9PTl9GTEFTSF9V UERBVEU7DQo+ICsgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgfQ0KPiArDQo+ICsgICAgICAg ICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgICAgY2FzZSBWX1BDSF9BQ1BJX1BNMV9DTlRfUzQ6DQo+ ICsgICAgICAgICAgQm9vdE1vZGUgPSBCT09UX09OX1M0X1JFU1VNRTsNCj4gKyAgICAgICAgICBi cmVhazsNCj4gKw0KPiArICAgICAgICBjYXNlIFZfUENIX0FDUElfUE0xX0NOVF9TNToNCj4gKyAg ICAgICAgICBCb290TW9kZSA9IEJPT1RfT05fUzVfUkVTVU1FOw0KPiArICAgICAgICAgIGJyZWFr Ow0KPiArICAgICAgfSAvLyBzd2l0Y2ggKFNsZWVwVHlwZSkNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICAvLw0KPiArICAgIC8vIENoZWNrIGZvciBTYWZlIE1vZGUNCj4gKyAgICAvLw0KPiArICB9DQo+ ICsNCj4gKyAgc3dpdGNoIChCb290TW9kZSkgew0KPiArICAgIGNhc2UgQk9PVF9XSVRIX0ZVTExf Q09ORklHVVJBVElPTjoNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09UX1dJVEhfRlVMTF9D T05GSUdVUkFUSU9OIjsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGNhc2UgQk9PVF9XSVRIX01J TklNQUxfQ09ORklHVVJBVElPTjoNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09UX1dJVEhf TUlOSU1BTF9DT05GSUdVUkFUSU9OIjsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGNhc2UgQk9P VF9BU1NVTUlOR19OT19DT05GSUdVUkFUSU9OX0NIQU5HRVM6DQo+ICsgICAgICBzdHJCb290TW9k ZSA9IEwiQk9PVF9BU1NVTUlOR19OT19DT05GSUdVUkFUSU9OX0NIQU5HRVMiOw0KPiArICAgICAg YnJlYWs7DQo+ICsgICAgY2FzZSBCT09UX1dJVEhfRlVMTF9DT05GSUdVUkFUSU9OX1BMVVNfRElB R05PU1RJQ1M6DQo+ICsgICAgICBzdHJCb290TW9kZSA9DQo+IEwiQk9PVF9XSVRIX0ZVTExfQ09O RklHVVJBVElPTl9QTFVTX0RJQUdOT1NUSUNTIjsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGNh c2UgQk9PVF9XSVRIX0RFRkFVTFRfU0VUVElOR1M6DQo+ICsgICAgICBzdHJCb290TW9kZSA9IEwi Qk9PVF9XSVRIX0RFRkFVTFRfU0VUVElOR1MiOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2Fz ZSBCT09UX09OX1M0X1JFU1VNRToNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09UX09OX1M0 X1JFU1VNRSI7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIEJPT1RfT05fUzVfUkVTVU1F Og0KPiArICAgICAgc3RyQm9vdE1vZGUgPSBMIkJPT1RfT05fUzVfUkVTVU1FIjsNCj4gKyAgICAg IGJyZWFrOw0KPiArICAgIGNhc2UgQk9PVF9PTl9TMl9SRVNVTUU6DQo+ICsgICAgICBzdHJCb290 TW9kZSA9IEwiQk9PVF9PTl9TMl9SRVNVTUUiOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2Fz ZSBCT09UX09OX1MzX1JFU1VNRToNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09UX09OX1Mz X1JFU1VNRSI7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIEJPT1RfT05fRkxBU0hfVVBE QVRFOg0KPiArICAgICAgc3RyQm9vdE1vZGUgPSBMIkJPT1RfT05fRkxBU0hfVVBEQVRFIjsNCj4g KyAgICAgIGJyZWFrOw0KPiArICAgIGNhc2UgQk9PVF9JTl9SRUNPVkVSWV9NT0RFOg0KPiArICAg ICAgc3RyQm9vdE1vZGUgPSBMIkJPT1RfSU5fUkVDT1ZFUllfTU9ERSI7DQo+ICsgICAgICBicmVh azsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgc3RyQm9vdE1vZGUgPSBMIlVua25vd24gYm9v dCBtb2RlIjsNCj4gKyAgfSAvLyBzd2l0Y2ggKEJvb3RNb2RlKQ0KPiArDQo+ICsgIERFQlVHICgo RUZJX0RfRVJST1IsICJTZXR0aW5nIEJvb3RNb2RlIHRvICVzXG4iLCBzdHJCb290TW9kZSkpOw0K PiArICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+U2V0Qm9vdE1vZGUoDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBCb290TW9kZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiAr ICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ ICt9DQo+ICsNCj4gKy8qKg0KPiArICBHZXQgc2xlZXAgdHlwZSBhZnRlciB3YWtldXANCj4gKw0K PiArICBAcGFyYW0gUGVpU2VydmljZXMgICAgICAgIFBvaW50ZXIgdG8gdGhlIFBFSSBTZXJ2aWNl IFRhYmxlLg0KPiArICBAcGFyYW0gU2xlZXBUeXBlICAgICAgICAgIFNsZWVwIHR5cGUgdG8gYmUg cmV0dXJuZWQuDQo+ICsNCj4gKyAgQHJldHZhbCBUUlVFICAgICAgICAgICAgICBBIHdha2UgZXZl bnQgb2NjdXJlZCB3aXRob3V0IHBvd2VyIGZhaWx1cmUuDQo+ICsgIEByZXR2YWwgRkFMU0UgICAg ICAgICAgICAgUG93ZXIgZmFpbHVyZSBvY2N1cmVkIG9yIG5vdCBhIHdha2V1cC4NCj4gKw0KPiAr KiovDQo+ICtCT09MRUFODQo+ICtHZXRTbGVlcFR5cGVBZnRlcldha2V1cCAoDQo+ICsgIElOICBD T05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIE9VVCBV SU5UMTYgICAgICAgICAgICAgICAgICAgICpTbGVlcFR5cGUNCj4gKyAgKQ0KPiArew0KPiArICBV SU5UMTYgIFBtMVN0czsNCj4gKyAgVUlOVDE2ICBQbTFDbnQ7DQo+ICsgIFVJTlQxNiAgR2VuUG1D b24xOw0KPiArICBHZW5QbUNvbjEgPSBNbWlvUmVhZDE2IChQTUNfQkFTRV9BRERSRVNTICsNCj4g Ul9QQ0hfUE1DX0dFTl9QTUNPTl8xKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWFkIHRoZSBB Q1BJIHJlZ2lzdGVycw0KPiArICAvLw0KPiArICBQbTFTdHMgID0gSW9SZWFkMTYgKEFDUElfQkFT RV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFfU1RTKTsNCj4gKyAgUG0xQ250ICA9IElvUmVhZDE2 IChBQ1BJX0JBU0VfQUREUkVTUyArIFJfUENIX0FDUElfUE0xX0NOVCk7DQo+ICsNCj4gKyAgaWYg KChHZW5QbUNvbjEgJiAoQl9QQ0hfUE1DX0dFTl9QTUNPTl9TVVNfUFdSX0ZMUiB8DQo+IEJfUENI X1BNQ19HRU5fUE1DT05fR0VOX1JTVF9TVFMpKSB8fA0KPiArICAgICAoUG0xU3RzICYgQl9QQ0hf QUNQSV9QTTFfU1RTX1BSQlROT1IpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiBwb3dlciBm YWlsdXJlIGluZGljYXRvciwgdGhlbiBkb24ndCBhdHRlbXB0IHMzIHJlc3VtZS4NCj4gKyAgICAv LyBDbGVhciBQTTFfQ05UIG9mIFMzIGFuZCBzZXQgaXQgdG8gUzUgYXMgd2UganVzdCBoYWQgYSBw b3dlciBmYWlsdXJlLCBhbmQNCj4gbWVtb3J5IGhhcw0KPiArICAgIC8vIGxvc3QgYWxyZWFkeS4g IFRoaXMgaXMgdG8gbWFrZSBzdXJlIG5vIG9uZSB3aWxsIHVzZSBQTTFfQ05UIHRvIGNoZWNrIGZv cg0KPiBTMyBhZnRlcg0KPiArICAgIC8vIHBvd2VyIGZhaWx1cmUuDQo+ICsgICAgLy8NCj4gKyAg ICBpZiAoKFBtMUNudCAmIEJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQKSA9PQ0KPiBWX1BDSF9B Q1BJX1BNMV9DTlRfUzMpIHsNCj4gKyAgICAgIFBtMUNudCA9ICgoUG0xQ250ICYgfkJfUENIX0FD UElfUE0xX0NOVF9TTFBfVFlQKSB8DQo+IFZfUENIX0FDUElfUE0xX0NOVF9TNSk7DQo+ICsgICAg ICBJb1dyaXRlMTYgKEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFfQ05ULCBQbTFD bnQpOw0KPiArICAgIH0NCj4gKyAgICAvLw0KPiArICAgIC8vIENsZWFyIFdha2UgU3RhdHVzIChX QUtfU1RTKQ0KPiArICAgIC8vDQo+ICsgICAgSW9Xcml0ZTE2ICgoQUNQSV9CQVNFX0FERFJFU1Mg KyBSX1BDSF9BQ1BJX1BNMV9TVFMpLA0KPiBCX1BDSF9BQ1BJX1BNMV9TVFNfV0FLKTsNCj4gKyAg IH0NCj4gKyAgLy8NCj4gKyAgLy8gR2V0IHNsZWVwIHR5cGUgaWYgYSB3YWtlIGV2ZW50IG9jY3Vy cmVkIGFuZCB0aGVyZSBpcyBubyBwb3dlciBmYWlsdXJlDQo+ICsgIC8vDQo+ICsgIGlmICgoUG0x Q250ICYgQl9QQ0hfQUNQSV9QTTFfQ05UX1NMUF9UWVApID09DQo+IFZfUENIX0FDUElfUE0xX0NO VF9TMykgew0KPiArICAgICpTbGVlcFR5cGUgPSBQbTFDbnQgJiBCX1BDSF9BQ1BJX1BNMV9DTlRf U0xQX1RZUDsNCj4gKyAgICByZXR1cm4gVFJVRTsNCj4gKyAgfSBlbHNlIGlmICgoUG0xQ250ICYg Ql9QQ0hfQUNQSV9QTTFfQ05UX1NMUF9UWVApID09DQo+IFZfUENIX0FDUElfUE0xX0NOVF9TNCl7 DQo+ICsgICAgKlNsZWVwVHlwZSA9IFBtMUNudCAmIEJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQ Ow0KPiArICAgIHJldHVybiBUUlVFOw0KPiArICB9DQo+ICsgIHJldHVybiBGQUxTRTsNCj4gK30N Cj4gKw0KPiArVk9JRA0KPiArU2V0UGxhdGZvcm1Cb290TW9kZSAoDQo+ICsgIElOIENPTlNUIEVG SV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VUIEVG SV9QTEFURk9STV9JTkZPX0hPQiAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgICkNCj4gK3sNCj4gKyAg RUZJX1BMQVRGT1JNX1NFVFVQX0lEICAgICAgIFBsYXRmb3JtU2V0dXBJZDsNCj4gKw0KPiArICBa ZXJvTWVtKCZQbGF0Zm9ybVNldHVwSWQsIHNpemVvZiAoRUZJX1BMQVRGT1JNX1NFVFVQX0lEKSk7 DQo+ICsNCj4gKyAgQ29weU1lbSAoJlBsYXRmb3JtU2V0dXBJZC5TZXR1cEd1aWQsDQo+ICsgICAg ICAgICAgICZnRWZpTm9ybWFsU2V0dXBHdWlkLA0KPiArICAgICAgICAgICBzaXplb2YgKEVGSV9H VUlEKSk7DQo+ICsNCj4gKyAgaWYgKENoZWNrSWZSZWNvdmVyeU1vZGUoUGVpU2VydmljZXMsIFBs YXRmb3JtSW5mb0hvYikpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFJlY292ZXJ5IG1vZGUNCj4g KyAgICAvLw0KPiArICAgIENvcHlNZW0gKCZQbGF0Zm9ybVNldHVwSWQuU2V0dXBOYW1lLA0KPiAr ICAgICAgICAgICAgICZOT1JNQUxfU0VUVVBfTkFNRSwNCj4gKyAgICAgICAgICAgICBTdHJTaXpl IChOT1JNQUxfU0VUVVBfTkFNRSkpOw0KPiArICAgIFBsYXRmb3JtU2V0dXBJZC5QbGF0Zm9ybUJv b3RNb2RlID0gUExBVEZPUk1fUkVDT1ZFUllfTU9ERTsNCj4gKyAgfSBlbHNlIGlmIChDaGVja0lm U2FmZU1vZGUoUGVpU2VydmljZXMsIFBsYXRmb3JtSW5mb0hvYikpIHsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIFNhZmUgbW9kZSBhbHNvIGNhbGxlZCBjb25maWcgbW9kZSBvciBtYWludGVuYWNlIG1v ZGUuDQo+ICsgICAgLy8NCj4gKyAgICBDb3B5TWVtICgmUGxhdGZvcm1TZXR1cElkLlNldHVwTmFt ZSwNCj4gKyAgICAgICAgICAgICAmTk9STUFMX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAgICAg U3RyU2l6ZSAoTk9STUFMX1NFVFVQX05BTUUpKTsNCj4gKyAgICBQbGF0Zm9ybVNldHVwSWQuUGxh dGZvcm1Cb290TW9kZSA9IFBMQVRGT1JNX1NBRkVfTU9ERTsNCj4gKw0KPiArICB9IGVsc2UgaWYo MCkgeyAvLyBlbHNlIGlmIChDaGVja0lmTWFudWZhY3R1cmluZ01vZGUoUGVpU2VydmljZXMpKSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBNYW51ZmFjdHVyaW5nIG1vZGUNCj4gKyAgICAvLw0KPiAr ICAgIENvcHlNZW0gKCZQbGF0Zm9ybVNldHVwSWQuU2V0dXBOYW1lLA0KPiArICAgICAgICAgICAg IE1BTlVGQUNUVVJFX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAgICAgU3RyU2l6ZSAoTUFOVUZB Q1RVUkVfU0VUVVBfTkFNRSkpOw0KPiArICAgIFBsYXRmb3JtU2V0dXBJZC5QbGF0Zm9ybUJvb3RN b2RlID0NCj4gUExBVEZPUk1fTUFOVUZBQ1RVUklOR19NT0RFOw0KPiArDQo+ICsgIH0gZWxzZSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBEZWZhdWx0IHRvIG5vcm1hbCBtb2RlLg0KPiArICAgIC8v DQo+ICsgICAgQ29weU1lbSAoJlBsYXRmb3JtU2V0dXBJZC5TZXR1cE5hbWUsDQo+ICsgICAgICAg ICAgICAgJk5PUk1BTF9TRVRVUF9OQU1FLA0KPiArICAgICAgICAgICAgIFN0clNpemUgKE5PUk1B TF9TRVRVUF9OQU1FKSk7DQo+ICsgICAgUGxhdGZvcm1TZXR1cElkLlBsYXRmb3JtQm9vdE1vZGUg PSBQTEFURk9STV9OT1JNQUxfTU9ERTsNCj4gKyAgfQ0KPiArDQo+ICsgIEJ1aWxkR3VpZERhdGFI b2IgKA0KPiArICAgICZnRWZpUGxhdGZvcm1Cb290TW9kZUd1aWQsDQo+ICsgICAgJlBsYXRmb3Jt U2V0dXBJZCwNCj4gKyAgICBzaXplb2YgKEVGSV9QTEFURk9STV9TRVRVUF9JRCkNCj4gKyAgICAp Ow0KPiArICByZXR1cm47DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvQ3B1SW5pdFBlaW0uYw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9DcHVJbml0UGVpbS5jDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmEzYTNkNWNiYzkNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q bGF0Zm9ybUluaXRQZWkvQ3B1SW5pdFBlaW0uYw0KPiBAQCAtMCwwICsxLDQ0IEBADQo+ICsvKiog QGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4g K01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgICBDcHVJbml0UGVpbS5jDQo+ICsNCj4gK0Fi c3RyYWN0Og0KPiArDQo+ICsgICAgRnVuY3Rpb25zIGZvciBMcGNTaW8gaW5pdGlsaXphdGlvbg0K PiArICAgIEl0IGlzIG5lZWRlZCBmb3IgZWFybHkgb25ib2FyZCBMQU4gY29udHJvbGxlciBkaXNh YmxlL2VuYWJsZSBpbiBwbGF0Zm9ybQ0KPiBzZXR1cC4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsj aW5jbHVkZSAiUGxhdGZvcm1FYXJseUluaXQuaCINCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ ICtQbGF0Zm9ybUNwdUluaXQgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAg ICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAg ICpTeXN0ZW1Db25maWd1cmF0aW9uLA0KPiArICBJTiBFRklfUExBVEZPUk1fQ1BVX0lORk8gICAg ICAgKlBsYXRmb3JtQ3B1SW5mbw0KPiArICApDQo+ICt7DQo+ICsgIEJPT0xFQU4gICAgICAgICAg ICAgICAgICAgICBSZXNldFJlcXVpcmVkOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFZhcmlhYmxl IGluaXRpYWxpemF0aW9uDQo+ICsgIC8vDQo+ICsgIFJlc2V0UmVxdWlyZWQgPSBGQUxTRTsNCj4g Kw0KPiArDQo+ICsgIGlmIChSZXNldFJlcXVpcmVkKSB7DQo+ICsgICAgQ3B1T25seVJlc2V0KFBl aVNlcnZpY2VzKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30N Cj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt SW5pdFBlaS9EaW1tLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0 Zm9ybUluaXRQZWkvRGltbS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjNmZGE2MzEzZDANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvRGltbS5jDQo+IEBAIC0wLDAgKzEs MzE5IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAx NCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0K PiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgRGltbS5jDQo+ICsN Cj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFBQSSBmb3IgcmVhZGluZyBTUEQgbW9kdWxlcyBvbiBE SU1Ncy4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBIZWFkZXIgRmlsZXMN Cj4gKy8vDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1lYXJseWluaXQuaCINCj4gKw0KPiArI2RlZmlu ZSBESU1NX1NPQ0tFVFMgICAgIDQgIC8vIFRvdGFsIG51bWJlciBvZiBESU1NIHNvY2tldHMgYWxs b3dlZCBvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vICAgdGhlIHBsYXRmb3Jt DQo+ICsjZGVmaW5lIERJTU1fU0VHTUVOVFMgICAgMSAgLy8gVG90YWwgbnVtYmVyIG9mIFNlZ21l bnRzIFBlciBESU1NLg0KPiArI2RlZmluZSBNRU1PUllfQ0hBTk5FTFMgIDIgIC8vIFRvdGFsIG51 bWJlciBvZiBtZW1vcnkgY2hhbm5lbHMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAv LyAgIHBvcHVsYXRlZCBvbiB0aGUgc3lzdGVtIGJvYXJkDQo+ICsvLw0KPiArLy8gUHJvdG90eXBl cw0KPiArLy8NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtHZXREaW1tU3RhdGUg KA0KPiArICBJTiAgICAgIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICoqUGVpU2VydmljZXMsDQo+ ICsgIElOICAgICAgUEVJX1BMQVRGT1JNX0RJTU1fUFBJICAgKlRoaXMsDQo+ICsgIElOICAgICAg VUlOVDggICAgICAgICAgICAgICAgICAgRGltbSwNCj4gKyAgT1VUICAgICBQRUlfUExBVEZPUk1f RElNTV9TVEFURSAqU3RhdGUNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJ DQo+ICtTZXREaW1tU3RhdGUgKA0KPiArICBJTiAgICAgIEVGSV9QRUlfU0VSVklDRVMgICAgICAg ICoqUGVpU2VydmljZXMsDQo+ICsgIElOICAgICAgUEVJX1BMQVRGT1JNX0RJTU1fUFBJICAgKlRo aXMsDQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgICAgRGltbSwNCj4gKyAgSU4g ICAgICBQRUlfUExBVEZPUk1fRElNTV9TVEFURSAqU3RhdGUNCj4gKyAgKTsNCj4gKw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtSZWFkU3BkICgNCj4gKyAgSU4gICAgICBFRklfUEVJX1NF UlZJQ0VTICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gICAgICBQRUlfUExBVEZPUk1fRElN TV9QUEkgKlRoaXMsDQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgIERpbW0sDQo+ ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgIE9mZnNldCwNCj4gKyAgSU4gICAgICBV SU5UTiAgICAgICAgICAgICAgICAgQ291bnQsDQo+ICsgIElOIE9VVCAgVUlOVDggICAgICAgICAg ICAgICAgICpCdWZmZXINCj4gKyAgKTsNCj4gKw0KPiArc3RhdGljIFBFSV9QTEFURk9STV9ESU1N X1BQSSBtR2NoRGltbVBwaSA9IHsNCj4gKyAgRElNTV9TT0NLRVRTLA0KPiArICBESU1NX1NFR01F TlRTLA0KPiArICBNRU1PUllfQ0hBTk5FTFMsDQo+ICsgIEdldERpbW1TdGF0ZSwNCj4gKyAgU2V0 RGltbVN0YXRlLA0KPiArICBSZWFkU3BkDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgRUZJX1BFSV9Q UElfREVTQ1JJUFRPUiBtUHBpUGxhdGZvcm1EaW1tID0gew0KPiArICAoRUZJX1BFSV9QUElfREVT Q1JJUFRPUl9QUEkgfA0KPiBFRklfUEVJX1BQSV9ERVNDUklQVE9SX1RFUk1JTkFURV9MSVNUKSwN Cj4gKyAgJmdQZWlQbGF0Zm9ybURpbW1QcGlHdWlkLA0KPiArICAmbUdjaERpbW1QcGkNCj4gK307 DQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIEZ1bmN0aW9ucw0KPiArLy8NCj4gKw0KPiArLyoqDQo+ ICsgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgY3VycmVudCBzdGF0ZSBvZiBhIHNpbmdsZSBE SU1NLiAgUHJlc2VudCBpbmRpY2F0ZXMNCj4gKyAgdGhhdCB0aGUgRElNTSBzbG90IGlzIHBoeXNp Y2FsbHkgcG9wdWxhdGVkLiAgRGlzYWJsZWQgaW5kaWNhdGVzIHRoYXQgdGhlDQo+IERJTU0NCj4g KyAgc2hvdWxkIG5vdCBiZSB1c2VkLg0KPiArDQo+ICsgIEBwYXJhbSBQZWlTZXJ2aWNlcyAgIFBF SSBzZXJ2aWNlcyB0YWJsZSBwb2ludGVyDQo+ICsgIEBwYXJhbSBUaGlzICAgICAgICAgIFBQSSBw b2ludGVyDQo+ICsgIEBwYXJhbSBEaW1tICAgICAgICAgIERJTU0gdG8gcmVhZCBmcm9tDQo+ICsg IEBwYXJhbSBTdGF0ZSAgICAgICAgIFBvaW50ZXIgdG8gYSByZXR1cm4gYnVmZmVyIHRvIGJlIHVw ZGF0ZWQgd2l0aCB0aGUNCj4gY3VycmVudCBzdGF0ZQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICBvZiB0aGUgRElNTQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICBUaGUg ZnVuY3Rpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0dldERpbW1TdGF0ZSAoDQo+ICsgIElOICAgICAgRUZJX1BFSV9T RVJWSUNFUyAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gICAgICBQRUlfUExBVEZPUk1f RElNTV9QUEkgICAqVGhpcywNCj4gKyAgSU4gICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICBE aW1tLA0KPiArICBPVVQgICAgIFBFSV9QTEFURk9STV9ESU1NX1NUQVRFICpTdGF0ZQ0KPiArICAp DQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAg VUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyOw0KPiArDQo+ICsgIFBFSV9BU1NF UlQgKFBlaVNlcnZpY2VzLCAoRGltbSA8IFRoaXMtPkRpbW1Tb2NrZXRzKSk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gQSBmYWlsdXJlIGhlcmUgZG9lcyBub3QgbmVjZXNzYXJpbHkgbWVhbiB0aGF0 IG5vIERJTU0gaXMgcHJlc2VudC4NCj4gKyAgLy8gUmVhZCBhIHNpbmdsZSBieXRlLiAgQWxsIHdl IGNhcmUgYWJvdXQgaXMgdGhlIHJldHVybiBzdGF0dXMuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9 IFJlYWRTcGQgKA0KPiArICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAg IFRoaXMsDQo+ICsgICAgICAgICAgICAgRGltbSwNCj4gKyAgICAgICAgICAgICAwLA0KPiArICAg ICAgICAgICAgIDEsDQo+ICsgICAgICAgICAgICAgJkJ1ZmZlcg0KPiArICAgICAgICAgICAgICk7 DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIFN0YXRlLT5QcmVz ZW50ID0gMDsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBTdGF0ZS0+UHJlc2VudCA9IDE7DQo+ICsg IH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBCVUdCVUc6IFVwZGF0ZSB0byBjaGVjayBwbGF0Zm9y bSB2YXJpYWJsZSB3aGVuIGl0IGlzIGF2YWlsYWJsZQ0KPiArICAvLw0KPiArICBTdGF0ZS0+RGlz YWJsZWQgPSAwOw0KPiArICBTdGF0ZS0+UmVzZXJ2ZWQgPSAwOw0KPiArDQo+ICsgIHJldHVybiBF RklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgVGhpcyBmdW5jdGlvbiB1 cGRhdGVzIHRoZSBzdGF0ZSBvZiBhIHNpbmdsZSBESU1NLg0KPiArDQo+ICsgIEBwYXJhbSBQZWlT ZXJ2aWNlcyAgICAgICAgICBQRUkgc2VydmljZXMgdGFibGUgcG9pbnRlcg0KPiArICBAcGFyYW0g VGhpcyAgICAgICAgICAgICAgICAgUFBJIHBvaW50ZXINCj4gKyAgQHBhcmFtIERpbW0gICAgICAg ICAgICAgICAgIERJTU0gdG8gc2V0IHN0YXRlIGZvcg0KPiArICBAcGFyYW0gU3RhdGUgICAgICAg ICAgICAgICAgUG9pbnRlciB0byB0aGUgc3RhdGUgaW5mb3JtYXRpb24gdG8gc2V0Lg0KPiArDQo+ ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICBUaGUgZnVuY3Rpb24gY29tcGxldGVkIHN1 Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgIFRoZSBmdW5jdGlv biBpcyBub3Qgc3VwcG9ydGVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArU2V0RGltbVN0YXRlICgNCj4gKyAgSU4gICAgICBFRklfUEVJX1NFUlZJQ0VTICAgICAg ICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiAgICAgIFBFSV9QTEFURk9STV9ESU1NX1BQSSAgICpU aGlzLA0KPiArICBJTiAgICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIERpbW0sDQo+ICsgIElO ICAgICAgUEVJX1BMQVRGT1JNX0RJTU1fU1RBVEUgKlN0YXRlDQo+ICsgICkNCj4gK3sNCj4gKyAg cmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVu Y3Rpb24gcmVhZHMgU1BEIGluZm9ybWF0aW9uIGZyb20gYSBESU1NLg0KPiArDQo+ICsgIFBlaVNl cnZpY2VzICAgUEVJIHNlcnZpY2VzIHRhYmxlIHBvaW50ZXINCj4gKyAgVGhpcyAgICAgICAgICBQ UEkgcG9pbnRlcg0KPiArICBEaW1tICAgICAgICAgIERJTU0gdG8gcmVhZCBmcm9tDQo+ICsgIE9m ZnNldCAgICAgICAgT2Zmc2V0IGluIERJTU0NCj4gKyAgQ291bnQgICAgICAgICBOdW1iZXIgb2Yg Ynl0ZXMNCj4gKyAgQnVmZmVyICAgICAgICBSZXR1cm4gYnVmZmVyDQo+ICsNCj4gKyAgQHBhcmFt IEVGSV9TVUNDRVNTICAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gY29tcGxldGVkIHN1Y2Nlc3Nm dWxseS4NCj4gKyAgQHBhcmFtIEVGSV9ERVZJQ0VfRVJST1IgICAgICAgICBUaGUgRElNTSBiZWlu ZyBhY2Nlc3NlZCByZXBvcnRlZCBhDQo+IGRldmljZSBlcnJvciwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBkb2VzIG5vdCBoYXZlIGFuIFNQRCBtb2R1bGUsIG9yIGlzIG5v dCBpbnN0YWxsZWQgaW4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGUg c3lzdGVtLg0KPiArICBAcmV0dmFsIEVGSV9USU1FT1VUICAgICAgICAgICAgIFRpbWUgb3V0IHRy eWluZyB0byByZWFkIHRoZSBTUEQgbW9kdWxlLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BB UkFNRVRFUiAgIEEgcGFyYW1ldGVyIHdhcyBvdXRzaWRlIHRoZSBsZWdhbA0KPiBsaW1pdHMuDQo+ ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtSZWFkU3BkICgNCj4gKyAg SU4gICAgICBFRklfUEVJX1NFUlZJQ0VTICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gICAg ICBQRUlfUExBVEZPUk1fRElNTV9QUEkgKlRoaXMsDQo+ICsgIElOICAgICAgVUlOVDggICAgICAg ICAgICAgICAgIERpbW0sDQo+ICsgIElOICAgICAgVUlOVDggICAgICAgICAgICAgICAgIE9mZnNl dCwNCj4gKyAgSU4gICAgICBVSU5UTiAgICAgICAgICAgICAgICAgQ291bnQsDQo+ICsgIElOIE9V VCAgVUlOVDggICAgICAgICAgICAgICAgICpCdWZmZXINCj4gKyAgKQ0KPiArew0KPiArICBFRklf U1RBVFVTICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgUEVJX1NNQlVTX1BQSSAgICAgICAg ICAgICAqU21idXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICAgICAgSW5kZXgxOw0KPiArICBFRklfU01CVVNfREVWSUNF X0FERFJFU1MgIFNsYXZlQWRkcmVzczsNCj4gKyAgRUZJX1NNQlVTX0RFVklDRV9DT01NQU5EICBD b21tYW5kOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIExlbmd0aDsNCj4gKw0KPiAr ICBTdGF0dXMgPSAoKipQZWlTZXJ2aWNlcykuTG9jYXRlUHBpICgNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICZnUGVpU21idXNQcGlHdWlkLCAgIC8vIEdVSUQNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgLy8gSU5TVEFOQ0UNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCwgICAgICAgICAgICAgICAgLy8gRUZJX1BFSV9QUElfREVT Q1JJUFRPUg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU21idXMgICAgICAgICAg ICAgICAvLyBQUEkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNT RVJUX1BFSV9FUlJPUiAoUGVpU2VydmljZXMsIFN0YXR1cyk7DQo+ICsNCj4gKyAgc3dpdGNoIChE aW1tKSB7DQo+ICsgIGNhc2UgMDoNCj4gKyAgICBTbGF2ZUFkZHJlc3MuU21idXNEZXZpY2VBZGRy ZXNzID0gU01CVVNfQUREUl9DSF9BXzEgPj4gMTsNCj4gKyAgICBicmVhazsNCj4gKyAgY2FzZSAx Og0KPiArICAgIFNsYXZlQWRkcmVzcy5TbWJ1c0RldmljZUFkZHJlc3MgPSBTTUJVU19BRERSX0NI X0FfMiA+PiAxOw0KPiArICAgIGJyZWFrOw0KPiArICBjYXNlIDI6DQo+ICsgICAgU2xhdmVBZGRy ZXNzLlNtYnVzRGV2aWNlQWRkcmVzcyA9IFNNQlVTX0FERFJfQ0hfQl8xID4+IDE7DQo+ICsgICAg YnJlYWs7DQo+ICsgIGNhc2UgMzoNCj4gKyAgICBTbGF2ZUFkZHJlc3MuU21idXNEZXZpY2VBZGRy ZXNzID0gU01CVVNfQUREUl9DSF9CXzIgPj4gMTsNCj4gKyAgICBicmVhazsNCj4gKyAgZGVmYXVs dDoNCj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4g KyAgSW5kZXggPSBDb3VudCAlIDQ7DQo+ICsgIGlmIChJbmRleCAhPSAwKSB7DQo+ICsgICAgLy8N Cj4gKyAgICAvLyByZWFkIHRoZSBmaXJzdCBzZXJ2ZXJhbCBieXRlcyB0byBzcGVlZCB1cCBmb2xs b3dpbmcgcmVhZGluZw0KPiArICAgIC8vDQo+ICsgICAgZm9yIChJbmRleDEgPSAwOyBJbmRleDEg PCBJbmRleDsgSW5kZXgxKyspIHsNCj4gKyAgICAgIExlbmd0aCA9IDE7DQo+ICsgICAgICBDb21t YW5kID0gT2Zmc2V0ICsgSW5kZXgxOw0KPiArICAgICAgU3RhdHVzID0gU21idXMtPkV4ZWN1dGUg KA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICBTbWJ1cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFNsYXZlQWRk cmVzcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIENvbW1hbmQsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICBFZmlTbWJ1c1JlYWRCeXRlLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgRkFMU0UsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmTGVuZ3RoLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgJkJ1ZmZlcltJbmRleDFdDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICApOw0KPiArICAgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgICAgIHJl dHVybiBTdGF0dXM7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gTm93IGNvbGxlY3QgYWxsIHRoZSByZW1haW5pbmcgYnl0ZXMgb24gNCBieXRlcyBi bG9jaw0KPiArICAvLw0KPiArICBmb3IgKDsgSW5kZXggPCBDb3VudDsgSW5kZXggKz0gMikgew0K PiArICAgIENvbW1hbmQgPSBJbmRleCArIE9mZnNldDsNCj4gKyAgICBMZW5ndGggPSAyOw0KPiAr ICAgIFN0YXR1cyA9IFNtYnVzLT5FeGVjdXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBQ ZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICBTbWJ1cywNCj4gKyAgICAgICAg ICAgICAgICAgICAgICBTbGF2ZUFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgQ29t bWFuZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBFZmlTbWJ1c1JlYWRXb3JkLA0KPiArICAg ICAgICAgICAgICAgICAgICAgIEZBTFNFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZMZW5n dGgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcltJbmRleF0NCj4gKyAgICAgICAg ICAgICAgICAgICAgICApOw0KPiArICAgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAg ICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBJbmRleCArPSAyOw0KPiAr ICAgIENvbW1hbmQgPSBJbmRleCArIE9mZnNldDsNCj4gKyAgICBMZW5ndGggPSAyOw0KPiArICAg IFN0YXR1cyA9IFNtYnVzLT5FeGVjdXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBQZWlT ZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICBTbWJ1cywNCj4gKyAgICAgICAgICAg ICAgICAgICAgICBTbGF2ZUFkZHJlc3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgQ29tbWFu ZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBFZmlTbWJ1c1JlYWRXb3JkLA0KPiArICAgICAg ICAgICAgICAgICAgICAgIEZBTFNFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZMZW5ndGgs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgJkJ1ZmZlcltJbmRleF0NCj4gKyAgICAgICAgICAg ICAgICAgICAgICApOw0KPiArICAgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgICAg cmV0dXJuIFN0YXR1czsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplcyB0aGUg UEVJTS4gIEl0IHNpbXBseSBpbnN0YWxscyB0aGUgRElNTSBQUEkuDQo+ICsNCj4gKyAgQHBhcmFt IEZmc0hlYWRlciAgICAgICBOb3QgdXNlZCBieSB0aGlzIGZ1bmN0aW9uDQo+ICsgIEBwYXJhbSBQ ZWlTZXJ2aWNlcyAgICAgUG9pbnRlciB0byBQRUkgc2VydmljZXMgdGFibGUNCj4gKw0KPiArICBA cmV0dmFsIEVGSV9TVUNDRVNTICAgIFRoZSBmdW5jdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5 Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUGVpbUluaXRpYWxp emVEaW1tICgNCj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNl cywNCj4gKyAgSU4gRUZJX1BFSV9OT1RJRllfREVTQ1JJUFRPUiAgKk5vdGlmeURlc2NyaXB0b3Is DQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICpTbWJ1c1BwaQ0KPiArICApDQo+ ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiAr ICBTdGF0dXMgPSAoKipQZWlTZXJ2aWNlcykuSW5zdGFsbFBwaSAoDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAmbVBwaVBsYXRmb3JtRGltbQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICBBU1NFUlRfUEVJX0VSUk9SIChQZWlTZXJ2aWNlcywgU3RhdHVzKTsNCj4gKw0KPiAr ICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9GbGFzaE1hcC5jDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL0ZsYXNoTWFw LmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZjMyZWFhYzQ3 OQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtSW5pdFBlaS9GbGFzaE1hcC5jDQo+IEBAIC0wLDAgKzEsMTQzIEBADQo+ICsv KiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsN Cj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBGbGFzaE1hcC5jDQo+ICsNCj4g K0Fic3RyYWN0Og0KPiArDQo+ICsgIEJ1aWxkIEdVSURlZCBIT0JzIGZvciBwbGF0Zm9ybSBzcGVj aWZpYyBmbGFzaCBtYXAuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIkVmaS5oIg0K PiArI2luY2x1ZGUgIlBlaS5oIg0KPiArI2luY2x1ZGUgIlBlaUxpYi5oIg0KPiArI2luY2x1ZGUg IlBlaUxpYi5oIg0KPiArI2luY2x1ZGUgIkVmaUZsYXNoTWFwLmgiDQo+ICsjaW5jbHVkZSBFRklf UFJPVE9DT0xfQ09OU1VNRVIgKEZpcm13YXJlVm9sdW1lQmxvY2spDQo+ICsjaW5jbHVkZSBFRklf R1VJRF9ERUZJTklUSU9OIChGbGFzaE1hcEhvYikNCj4gKyNpbmNsdWRlIEVGSV9HVUlEX0RFRklO SVRJT04gKFN5c3RlbU52RGF0YUd1aWQpDQo+ICsjaW5jbHVkZSBFRklfR1VJRF9ERUZJTklUSU9O IChGaXJtd2FyZUZpbGVTeXN0ZW0pDQo+ICsNCj4gK0VGSV9HVUlEICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1GdkJsb2NrR3VpZCAgICAgID0NCj4gRUZJX0ZJUk1XQVJFX1ZPTFVNRV9CTE9D S19QUk9UT0NPTF9HVUlEOw0KPiArRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAg bUZmc0d1aWQgICAgICAgICAgPQ0KPiBFRklfRklSTVdBUkVfRklMRV9TWVNURU1fR1VJRDsNCj4g K0VGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TeXN0ZW1EYXRhR3VpZCAgID0N Cj4gRUZJX1NZU1RFTV9OVl9EQVRBX0hPQl9HVUlEOw0KPiArDQo+ICtzdGF0aWMgRUZJX0ZMQVNI X0FSRUFfREFUQSAgICAgICAgICBtRmxhc2hBcmVhRGF0YVtdICA9IHsNCj4gKwkvLw0KPiArICAv LyBWYXJpYWJsZSBhcmVhDQo+ICsgIC8vDQo+ICsgIHsgRml4ZWRQY2RHZXQzMiAoUGNkRmxhc2hO dlN0b3JhZ2VWYXJpYWJsZUJhc2UpLA0KPiArICAgIEZpeGVkUGNkR2V0MzIgKFBjZEZsYXNoTnZT dG9yYWdlVmFyaWFibGVTaXplKSwNCj4gKyAgICBFRklfRkxBU0hfQVJFQV9TVUJGViB8IEVGSV9G TEFTSF9BUkVBX01FTU1BUFBFRF9GViwNCj4gKyAgICBFRklfRkxBU0hfQVJFQV9FRklfVkFSSUFC TEVTIH0sDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQm9vdCBibG9jayAybmQgcGFydA0KPiArICAv Lw0KPiArICB7IEZpeGVkUGNkR2V0MzIgKFBjZEZsYXNoRnZSZWNvdmVyeTJCYXNlKSwNCj4gKyAg ICBGaXhlZFBjZEdldDMyIChQY2RGbGFzaEZ2UmVjb3ZlcnkyU2l6ZSksDQo+ICsgICAgRUZJX0ZM QVNIX0FSRUFfU1VCRlYgfCBFRklfRkxBU0hfQVJFQV9NRU1NQVBQRURfRlYsDQo+ICsgICAgRUZJ X0ZMQVNIX0FSRUFfRlRXX0JBQ0tVUCB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlY292ZXJ5 IEZWDQo+ICsgIC8vDQo+ICsgIHsgRml4ZWRQY2RHZXQzMiAoUGNkRmxhc2hGdlJlY292ZXJ5QmFz ZSksDQo+ICsgICAgRml4ZWRQY2RHZXQzMiAoUGNkRmxhc2hGdlJlY292ZXJ5U2l6ZSksDQo+ICsg ICAgRUZJX0ZMQVNIX0FSRUFfRlYgfCBFRklfRkxBU0hfQVJFQV9NRU1NQVBQRURfRlYsDQo+ICsg ICAgRUZJX0ZMQVNIX0FSRUFfUkVDT1ZFUllfQklPUyB9LA0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IE1haW4gRlYNCj4gKyAgLy8NCj4gKyAgeyBGaXhlZFBjZEdldDMyIChQY2RGbGFzaEZ2TWFpbkJh c2UpLA0KPiArICAgIEZpeGVkUGNkR2V0MzIgKFBjZEZsYXNoRnZNYWluU2l6ZSksDQo+ICsgICAg RUZJX0ZMQVNIX0FSRUFfRlYgfCBFRklfRkxBU0hfQVJFQV9NRU1NQVBQRURfRlYsDQo+ICsgICAg RUZJX0ZMQVNIX0FSRUFfTUFJTl9CSU9TIH0NCj4gKw0KPiArfTsNCj4gKw0KPiArI2RlZmluZSBO VU1fRkxBU0hfQVJFQV9EQVRBIChBUlJBWV9TSVpFIChtRmxhc2hBcmVhRGF0YSkpDQo+ICsNCj4g Ky8qKg0KPiArICBCdWlsZCBHVUlEIEhPQnMgZm9yIHBsYXRmb3JtIHNwZWNpZmljIGZsYXNoIG1h cC4NCj4gKw0KPiArICBAcGFyYW0gRmZzSGVhZGVyICAgICBQb2ludGVyIHRoaXMgRkZTIGZpbGUg aGVhZGVyLg0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgICBHZW5lcmFsIHB1cnBvc2Ugc2Vydmlj ZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBFSU0uDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgIEd1aWQgSE9CcyBmb3IgcGxhdGZvcm0gZmxhc2ggbWFwIGlzIGJ1aWx0Lg0KPiArICBAcmV0 dmFsIE90aGVyd2lzZSAgICAgRmFpbGVkIHRvIGJ1aWxkIHRoZSBHdWlkIEhPQiBkYXRhLg0KPiAr DQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK1BlaW1Jbml0aWFsaXplRmxhc2hNYXAgKA0KPiAr ICBJTiBFRklfRkZTX0ZJTEVfSEVBREVSICAgICAgICpGZnNIZWFkZXIsDQo+ICsgIElOIEVGSV9Q RUlfU0VSVklDRVMgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ICt7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBFRklfRkxBU0hfQVJFQV9I T0JfREFUQSAgICAgICBGbGFzaEhvYkRhdGE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQnVpbGQg Zmxhc2ggYXJlYSBlbnRyaWVzIGFzIEdVSURlZCBIT0JzLg0KPiArICAvLw0KPiArICBmb3IgKElu ZGV4ID0gMDsgSW5kZXggPCBOVU1fRkxBU0hfQVJFQV9EQVRBOyBJbmRleCsrKSB7DQo+ICsgICAg WmVyb01lbSgmRmxhc2hIb2JEYXRhLCBzaXplb2YgKEVGSV9GTEFTSF9BUkVBX0hPQl9EQVRBKSk7 DQo+ICsNCj4gKyAgICBGbGFzaEhvYkRhdGEuQXJlYVR5cGUgICAgICAgICAgICAgICA9IG1GbGFz aEFyZWFEYXRhW0luZGV4XS5BcmVhVHlwZTsNCj4gKyAgICBGbGFzaEhvYkRhdGEuTnVtYmVyT2ZF bnRyaWVzICAgICAgICA9IDE7DQo+ICsgICAgRmxhc2hIb2JEYXRhLlN1YkFyZWFEYXRhLkF0dHJp YnV0ZXMgPQ0KPiBtRmxhc2hBcmVhRGF0YVtJbmRleF0uQXR0cmlidXRlczsNCj4gKyAgICBGbGFz aEhvYkRhdGEuU3ViQXJlYURhdGEuQmFzZSAgICAgICA9IChFRklfUEhZU0lDQUxfQUREUkVTUykg KFVJTlROKQ0KPiBtRmxhc2hBcmVhRGF0YVtJbmRleF0uQmFzZTsNCj4gKyAgICBGbGFzaEhvYkRh dGEuU3ViQXJlYURhdGEuTGVuZ3RoICAgICA9IChFRklfUEhZU0lDQUxfQUREUkVTUykgKFVJTlRO KQ0KPiBtRmxhc2hBcmVhRGF0YVtJbmRleF0uTGVuZ3RoOw0KPiArDQo+ICsgICAgc3dpdGNoIChG bGFzaEhvYkRhdGEuQXJlYVR5cGUpIHsNCj4gKyAgICBjYXNlIEVGSV9GTEFTSF9BUkVBX1JFQ09W RVJZX0JJT1M6DQo+ICsgICAgY2FzZSBFRklfRkxBU0hfQVJFQV9NQUlOX0JJT1M6DQo+ICsgICAg ICBDb3B5TWVtICgNCj4gKyAgICAgICAgJkZsYXNoSG9iRGF0YS5BcmVhVHlwZUd1aWQsDQo+ICsg ICAgICAgICZtRmZzR3VpZCwNCj4gKyAgICAgICAgc2l6ZW9mIChFRklfR1VJRCkNCj4gKyAgICAg ICAgKTsNCj4gKyAgICAgIENvcHlNZW0gKA0KPiArICAgICAgICAmRmxhc2hIb2JEYXRhLlN1YkFy ZWFEYXRhLkZpbGVTeXN0ZW0sDQo+ICsgICAgICAgICZtRnZCbG9ja0d1aWQsDQo+ICsgICAgICAg IHNpemVvZiAoRUZJX0dVSUQpDQo+ICsgICAgICAgICk7DQo+ICsgICAgICBicmVhazsNCj4gKw0K PiArICAgIGNhc2UgRUZJX0ZMQVNIX0FSRUFfR1VJRF9ERUZJTkVEOg0KPiArICAgICAgQ29weU1l bSAoDQo+ICsgICAgICAgICZGbGFzaEhvYkRhdGEuQXJlYVR5cGVHdWlkLA0KPiArICAgICAgICAm bVN5c3RlbURhdGFHdWlkLA0KPiArICAgICAgICBzaXplb2YgKEVGSV9HVUlEKQ0KPiArICAgICAg ICApOw0KPiArICAgICAgQ29weU1lbSAoDQo+ICsgICAgICAgICZGbGFzaEhvYkRhdGEuU3ViQXJl YURhdGEuRmlsZVN5c3RlbSwNCj4gKyAgICAgICAgJm1GdkJsb2NrR3VpZCwNCj4gKyAgICAgICAg c2l6ZW9mIChFRklfR1VJRCkNCj4gKyAgICAgICAgKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArDQo+ ICsgICAgZGVmYXVsdDoNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFBl aUJ1aWxkSG9iR3VpZERhdGEoUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAmZ0VmaUZsYXNoTWFwSG9iR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICZGbGFz aEhvYkRhdGEsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YgKEVGSV9GTEFTSF9B UkVBX0hPQl9EQVRBKQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgfQ0KPiAr ICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9MZWdhY3lTcGVha2Vy LmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkv TGVnYWN5U3BlYWtlci5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLjY3MTFmNTQ4NjMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvTGVnYWN5U3BlYWtlci5jDQo+IEBAIC0w LDAgKzEsMTY4IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQg IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAr DQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyBMZWdhY3lT cGVha2VyLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBmaWxlIGltcGxlbWVu dHMgUEVJTSBmb3IgTGVnYWN5IFNwZWFrZXIuIFRoaXMgZmlsZSBpcyB2YWxpZCBmb3IgcGxhdGZv cm1zDQo+IGJvdGgNCj4gKyAgb24gSUEzMiBhbmQgSXRhbml1bSBQcm9kdWN0IEZhbWlseQ0KPiAr DQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJQbGF0Zm9ybUVhcmx5SW5pdC5oIg0KPiArDQo+ ICtFRklfU1RBVFVTDQo+ICtPdXRwdXRCZWVwICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VS VklDRVMgICoqUGVpU2VydmljZXMsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICBOdW1iZXJP ZkJlZXAsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICBCZWVwRHVyYXRpb24sDQo+ICsgIElO ICBVSU5UTiAgICAgICAgICAgICBUaW1lckludGVydmFsDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0K PiArICBUaGlzIGZ1bmN0aW9uIHdpbGwgZW5hYmxlIHRoZSBzcGVha2VyIHRvIGdlbmVyYXRlIGJl ZXANCj4gKw0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgICAgIFBlaVNlcnZpY2VzIHRvIGxvY2F0 ZSBQUEkNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVEFUVVMNCj4gKw0KPiArKiovDQo+ICtFRklf U1RBVFVTDQo+ICtUdXJuT25TcGVha2VyICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklD RVMgICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgIERhdGE7DQo+ICsgIERhdGEgPSBJb1JlYWQ4IChFRklfU1BFQUtFUl9DT05UUk9MX1BP UlQpOw0KPiArICBEYXRhIHw9IDB4MDM7DQo+ICsgIElvV3JpdGU4KEVGSV9TUEVBS0VSX0NPTlRS T0xfUE9SVCwgRGF0YSk7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiAr LyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gd2lsbCBzdG9wIGJlZXAgZnJvbSBzcGVha2VyLg0KPiAr DQo+ICsgIEBwYXJhbSAgUGVpU2VydmljZXMgICAgIFBlaVNlcnZpY2VzIHRvIGxvY2F0ZSBQUEkN Cj4gKw0KPiArICBAcmV0dmFsIFN0YXR1cw0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K1R1cm5PZmZTcGVha2VyICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgKipQ ZWlTZXJ2aWNlcw0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIERh dGE7DQo+ICsNCj4gKyAgRGF0YSA9IElvUmVhZDggKEVGSV9TUEVBS0VSX0NPTlRST0xfUE9SVCk7 DQo+ICsgIERhdGEgJj0gMHhGQzsNCj4gKyAgSW9Xcml0ZTgoRUZJX1NQRUFLRVJfQ09OVFJPTF9Q T1JULCBEYXRhKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsNCj4g K0VGSV9TVEFUVVMNCj4gK091dHB1dEJlZXAgKA0KPiArICBJTiAgQ09OU1QgRUZJX1BFSV9TRVJW SUNFUyAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgIE51bWJlck9m QmVlcCwNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgIEJlZXBEdXJhdGlvbiwNCj4gKyAgSU4g IFVJTlROICAgICAgICAgICAgIFRpbWVJbnRlcnZhbA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlRO ICAgICAgICAgICBOdW07DQo+ICsgIEVGSV9QRUlfU1RBTExfUFBJKiAgU3RhbGxQcGk7DQo+ICsN Cj4gKyAgKCoqUGVpU2VydmljZXMpLkxvY2F0ZVBwaSAoUGVpU2VydmljZXMsICZnRWZpUGVpU3Rh bGxQcGlHdWlkLCAwLCBOVUxMLA0KPiAodm9pZCAqKikmU3RhbGxQcGkpOw0KPiArDQo+ICsgIGZv ciAoTnVtPTA7IE51bSA8IE51bWJlck9mQmVlcDsgTnVtKyspIHsNCj4gKyAgICBUdXJuT25TcGVh a2VyIChQZWlTZXJ2aWNlcyk7DQo+ICsgICAgU3RhbGxQcGktPlN0YWxsKFBlaVNlcnZpY2VzLCBT dGFsbFBwaSwgQmVlcER1cmF0aW9uKTsNCj4gKyAgICBUdXJuT2ZmU3BlYWtlcihQZWlTZXJ2aWNl cyk7DQo+ICsgICAgU3RhbGxQcGktPlN0YWxsKFBlaVNlcnZpY2VzLCBTdGFsbFBwaSwgVGltZUlu dGVydmFsKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4g Kw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gd2lsbCBwcm9ncmFtIHRoZSBzcGVha2VyIHRv bmUgZnJlcXVlbmN5LiBUaGUgdmFsdWUgc2hvdWxkDQo+IGJlIHdpdGggNjRrDQo+ICsgIGJvdW5k YXJ5IHNpbmNlIGl0IHRha2VzIG9ubHkgMTYgYml0IHZhbHVlIHdoaWNoIGdldHMgcHJvZ3JhbW1l ZCBpbiB0d28NCj4gc3RlcCBJTyBvcGVhcmF0dGlvbg0KPiArDQo+ICsgIEZyZXF1ZW5jeSAgICAg LSBBIHZhbHVlIHdoaWNoIHNob3VsZCBiZSAxNiBiaXQgb25seS4NCj4gKw0KPiArICBFRklfU1VD RVNTDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtQcm9ncmFtVG9u ZUZyZXF1ZW5jeSAoDQo+ICsgIElOICBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAg ICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gIFVJTlQxNiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGcmVxdWVuY3kNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UOCAgICAgICAgICAgICAg ICAgICBEYXRhOw0KPiArDQo+ICsgIERhdGEgPSAweEI2Ow0KPiArICBJb1dyaXRlOChFRklfVElN RVJfQ09OVFJPTF9QT1JULCBEYXRhKTsNCj4gKw0KPiArICBEYXRhID0gKFVJTlQ4KShGcmVxdWVu Y3kgJiAweDAwRkYpOw0KPiArICBJb1dyaXRlOChFRklfVElNRVJfMl9QT1JULCBEYXRhKTsNCj4g KyAgRGF0YSA9IChVSU5UOCkoKEZyZXF1ZW5jeSAmIDB4RkYwMCkgPj4gOCk7DQo+ICsgIElvV3Jp dGU4KEVGSV9USU1FUl8yX1BPUlQsIERhdGEpOw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHdpbGwgZ2VuZXJhdGUgdGhlIGJl ZXAgZm9yIHNwZWNpZmllZCBkdXJhdGlvbi4NCj4gKw0KPiArICBAcGFyYW0gIFBlaVNlcnZpY2Vz ICAgICAgIFBlaVNlcnZpY2VzIHRvIGxvY2F0ZSB2YXJpb3VzIFBQSXMNCj4gKyAgQHBhcmFtICBO dW1iZXJPZkJlZXBzICAgICBOdW1iZXIgb2YgYmVlcHMgd2hpY2ggdXNlciB3YW50IHRvDQo+IHBy b2R1Y2UNCj4gKyAgQHBhcmFtICBCZWVwRHVyYXRpb24gICAgICBEdXJhdGlvbiBmb3Igc3BlYWtl ciBnYXRlIG5lZWQgdG8gYmUgZW5hYmxlZA0KPiArICBAcGFyYW0gIFRpbWVJbnRlcnZhbCAgICAg IEludGVydmFsIGJldHdlZW4gZWFjaCBiZWVwDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1RBVFVT DQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtHZW5lcmF0ZUJlZXBU b25lICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAgICAq KlBlaVNlcnZpY2VzLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAg IE51bWJlck9mQmVlcHMsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgQmVlcER1cmF0aW9uLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFRpbWVJbnRlcnZhbA0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgaWYgKChOdW1iZXJPZkJl ZXBzID09IDEpICYmIChCZWVwRHVyYXRpb24gPT0gMCkgJiYgKFRpbWVJbnRlcnZhbCA9PSAwKSkN Cj4gew0KPiArICAgIFR1cm5PblNwZWFrZXIgKFBlaVNlcnZpY2VzKTsNCj4gKyAgICByZXR1cm4g RUZJX1NVQ0NFU1M7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoKE51bWJlck9mQmVlcHMgPT0gMCkg JiYgKEJlZXBEdXJhdGlvbiA9PSAwKSAmJiAoVGltZUludGVydmFsID09IDApKQ0KPiB7DQo+ICsg ICAgVHVybk9mZlNwZWFrZXIgKFBlaVNlcnZpY2VzKTsNCj4gKyAgICByZXR1cm4gRUZJX1NVQ0NF U1M7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoQmVlcER1cmF0aW9uID09IDApIHsNCj4gKyAgICBC ZWVwRHVyYXRpb24gPSBFRklfREVGQVVMVF9TSE9SVF9CRUVQX0RVUkFUSU9OOw0KPiArICB9DQo+ ICsNCj4gKyAgaWYgKFRpbWVJbnRlcnZhbCA9PSAwKSB7DQo+ICsgICAgVGltZUludGVydmFsID0g RUZJX0RFRkFVTFRfQkVFUF9USU1FX0lOVEVSVkFMOw0KPiArICB9DQo+ICsNCj4gKyAgT3V0cHV0 QmVlcCAoUGVpU2VydmljZXMsIE51bWJlck9mQmVlcHMsIEJlZXBEdXJhdGlvbiwgVGltZUludGVy dmFsKTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArDQo+ICsNCj4gK30NCj4gKw0KPiBk aWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1J bml0UGVpL0xlZ2FjeVNwZWFrZXIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtSW5pdFBlaS9MZWdhY3lTcGVha2VyLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZGVlMDIyYmY5Yg0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9MZWdh Y3lTcGVha2VyLmgNCj4gQEAgLTAsMCArMSw3MSBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHly aWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4g Kw0KPiArIExlZ2FjeVNwZWFrZXIuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBTcGVh a2VyIGVuYWJsaW5nIHJlbGF0ZWQgZGF0YQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYg X1BFSV9MRUdBQ1lfU1BFQUtFUl9IDQo+ICsjZGVmaW5lIF9QRUlfTEVHQUNZX1NQRUFLRVJfSA0K PiArDQo+ICsNCj4gKy8vDQo+ICsvLyBTcGVha2VyIFJlbGF0ZWQgUG9ydCBJbmZvcm1hdGlvbg0K PiArLy8NCj4gKyNkZWZpbmUgRUZJX1RJTUVSX0NPVU5URVJfUE9SVCAgICAgICAgICAgIDB4NDAN Cj4gKyNkZWZpbmUgRUZJX1RJTUVSX0NPTlRST0xfUE9SVCAgICAgICAgICAgIDB4NDMNCj4gKyNk ZWZpbmUgRUZJX1RJTUVSXzJfUE9SVCAgICAgICAgICAgICAgICAgIDB4NDINCj4gKyNkZWZpbmUg RUZJX1NQRUFLRVJfQ09OVFJPTF9QT1JUICAgICAgICAgIDB4NjENCj4gKw0KPiArI2RlZmluZSBF RklfU1BFQUtFUl9PRkZfTUFTSyAgICAgICAgICAgICAgMHhGQw0KPiArDQo+ICsjZGVmaW5lIEVG SV9ERUZBVUxUX0JFRVBfRlJFUVVFTkNZICAgICAgICAweDUwMA0KPiArDQo+ICsvLw0KPiArLy8g RGVmYXVsdCBJbnRlcnZhbHMvQmVlcCBEdXJhdGlvbg0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX0RF RkFVTFRfTE9OR19CRUVQX0RVUkFUSU9OICAgIDB4NzAwMDANCj4gKyNkZWZpbmUgRUZJX0RFRkFV TFRfU0hPUlRfQkVFUF9EVVJBVElPTiAgIDB4NTAwMDANCj4gKyNkZWZpbmUgRUZJX0RFRkFVTFRf QkVFUF9USU1FX0lOVEVSVkFMICAgIDB4MjAwMDANCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ ICtFRklBUEkNCj4gK1Byb2dyYW1Ub25lRnJlcXVlbmN5ICgNCj4gKyAgSU4gIENPTlNUIEVGSV9Q RUlfU0VSVklDRVMgICoqUGVpU2VydmljZXMsDQo+ICsgIElOICBVSU5UMTYgRnJlcXVlbmN5DQo+ ICsgICk7DQo+ICsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtHZW5lcmF0ZUJl ZXBUb25lICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAg ICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE51bWJlck9mQmVlcHMsDQo+ICsgIElOICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQmVlcER1cmF0aW9uLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFRpbWVJbnRlcnZhbA0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtUdXJu T25TcGVha2VyICgNCj4gKyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICoqUGVpU2Vydmlj ZXMNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArVHVybk9mZlNwZWFrZXIgKA0KPiAr ICBJTiAgQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgKipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiAr DQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtSW5pdFBlaS9NY2hJbml0LmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvTWNoSW5pdC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjdkMWEyMGMxMDQNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvTWNo SW5pdC5jDQo+IEBAIC0wLDAgKzEsNzIgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHly aWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4g Kw0KPiArICAgIE1jaEluaXQuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArDQo+ICstLSov DQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRWFybHlJbml0LmgiDQo+ICsNCj4gKyNk ZWZpbmUgUFNFX1BBR0VfU0laRSAweDQwMDAwMCAgIC8vIDRNQg0KPiArDQo+ICtleHRlcm4gIEJP T0xFQU4gSW1hZ2VJbk1lbW9yeTsNCj4gKw0KPiArDQo+ICtWT0lEDQo+ICtFZmlDb21tb25MaWJF bmFibGVQc2VQYWdpbmcgKA0KPiArICBJTiBVSU5UMzIgICBQREJSDQo+ICsgICk7DQo+ICsNCj4g K1ZPSUQNCj4gK0VmaUNvbW1vbkxpYkRpc2FibGVQc2VQYWdpbmcgKA0KPiArICApOw0KPiArDQo+ ICsvKioNCj4gKw0KPiArICBJbml0aWFsaXplIHRoZSBNQ0ggVGhlcm1hbCBTZW5zb3INCj4gKw0K PiArKiovDQo+ICtWT0lEDQo+ICtJbml0TWNoVGhlcm1hbFNlbnNvcigpDQo+ICt7DQo+ICt9DQo+ ICsNCj4gKy8qKg0KPiArDQo+ICsgIFByb2dyYW1zIGFuZCBlbmFibGVzIHRoZSBDUklEIGZvciBN Q0ggYW5kIElDSA0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK1Byb2dyYW1NY2hDUklEKA0KPiAr ICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiAr ICApDQo+ICt7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIEluaXRpYWxpemUgdGhlIEdQ SU8gSU8gc2VsZWN0aW9uLCBHUElPIFVTRSBzZWxlY3Rpb24sIGFuZCBHUElPIHNpZ25hbA0KPiBp bnZlcnNpb24gcmVnaXN0ZXJzDQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArTWNoSW5pdCAoDQo+ ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiAr ICApDQo+ICt7DQo+ICsNCj4gKyAgcmV0dXJuOw0KPiArfQ0KPiArDQo+ICsNCj4gZGlmZiAtLWdp dA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9N ZW1vcnlDYWxsYmFjay5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1Jbml0UGVpL01lbW9yeUNhbGxiYWNrLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uMDcwODQ4ZWQxZQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9NZW1vcnlDYWxs YmFjay5jDQo+IEBAIC0wLDAgKzEsMzM4IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5 cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ ICsgIE1lbW9yeUNhbGxiYWNrLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgRUZJIDIu MCBQRUlNIHRvIHByb3ZpZGUgdGhlIHBsYXRmb3JtIHN1cHBvcnQgZnVuY3Rpb25hbGl0eSBvbiB0 aGUNCj4gQnJpZGdlcG9ydC4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiUGxhdGZv cm1FYXJseUluaXQuaCINCj4gKw0KPiArDQo+ICtWT0lEDQo+ICtVcGRhdGVEZWZhdWx0U2V0dXBW YWx1ZSAoDQo+ICsgIElOICBFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAgKlBsYXRmb3JtSW5m bw0KPiArICApDQo+ICt7DQo+ICtyZXR1cm47DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBQRUkg dGVybWluYXRpb24gY2FsbGJhY2suDQo+ICsNCj4gKyAgQHBhcmFtIFBlaVNlcnZpY2VzICAgICAg ICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeSBQRUlNLg0KPiAr ICBAcGFyYW0gTm90aWZ5RGVzY3JpcHRvciAgICBOb3QgdWVzZWQuDQo+ICsgIEBwYXJhbSBQcGkg ICAgICAgICAgICAgICAgIE5vdCB1ZXNlZC4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNT ICAgICAgICBJZiB0aGUgaW50ZXJmYWNlIGNvdWxkIGJlIHN1Y2Nlc3NmdWxseQ0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBpbnN0YWxsZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtFbmRPZlBlaVBwaU5vdGlmeUNhbGxiYWNrICgNCj4gKyAgSU4g Q09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4g RUZJX1BFSV9OT1RJRllfREVTQ1JJUFRPUiAgKk5vdGlmeURlc2NyaXB0b3IsDQo+ICsgIElOIFZP SUQgICAgICAgICAgICAgICAgICAgICAgICpQcGkNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RB VFVTICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAg ICAgICAgTG93VW5jYWJsZUJhc2U7DQo+ICsgIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAq UGxhdGZvcm1JbmZvOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgSGVjQmFzZUhp Z2g7DQo+ICsgIEVGSV9CT09UX01PREUgICAgICAgICAgICAgICBCb290TW9kZTsNCj4gKyAgRUZJ X1BFSV9IT0JfUE9JTlRFUlMgICAgICAgIEhvYjsNCj4gKw0KPiArICBTdGF0dXMgPSAoKlBlaVNl cnZpY2VzKS0+R2V0Qm9vdE1vZGUoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBl aVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmQm9vdE1vZGUNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICBBU1NFUlRfRUZJX0VS Uk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCB0aGUgc29tZSBQQ0kgYW5k IGNoaXBzZXQgcmFuZ2UgYXMgVUMNCj4gKyAgLy8gQW5kIGFsaWduIHRvIDFNIGF0IGxlYXNldA0K PiArICAvLw0KPiArICBIb2IuUmF3ID0gR2V0Rmlyc3RHdWlkSG9iICgmZ0VmaVBsYXRmb3JtSW5m b0d1aWQpOw0KPiArICBBU1NFUlQgKEhvYi5SYXcgIT0gTlVMTCk7DQo+ICsgIFBsYXRmb3JtSW5m byA9IEdFVF9HVUlEX0hPQl9EQVRBKEhvYi5SYXcpOw0KPiArDQo+ICsgIFVwZGF0ZURlZmF1bHRT ZXR1cFZhbHVlIChQbGF0Zm9ybUluZm8pOw0KPiArDQo+ICsgIERFQlVHICgoRUZJX0RfRVJST1Is ICJNZW1vcnkgVE9MTTogJVhcbiIsIFBsYXRmb3JtSW5mby0NCj4gPk1lbURhdGEuTWVtVG9sbSkp Ow0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiUENJRSBPU0JBU0U6ICVsWFxuIiwgUGxhdGZv cm1JbmZvLQ0KPiA+UGNpRGF0YS5QY2lFeHByZXNzQmFzZSkpOw0KPiArICBERUJVRyAoDQo+ICsg ICAgKEVGSV9EX0VSUk9SLA0KPiArICAgICJQQ0lFICAgQkFTRTogJWxYICAgICBTaXplIDogJVhc biIsDQo+ICsgICAgUGxhdGZvcm1JbmZvLT5QY2lEYXRhLlBjaUV4cHJlc3NCYXNlLA0KPiArICAg IFBsYXRmb3JtSW5mby0+UGNpRGF0YS5QY2lFeHByZXNzU2l6ZSkNCj4gKyAgICApOw0KPiArICBE RUJVRyAoDQo+ICsgICAgKEVGSV9EX0VSUk9SLA0KPiArICAgICJQQ0kzMiAgQkFTRTogJVggICAg IExpbWl0OiAlWFxuIiwNCj4gKyAgICBQbGF0Zm9ybUluZm8tPlBjaURhdGEuUGNpUmVzb3VyY2VN ZW0zMkJhc2UsDQo+ICsgICAgUGxhdGZvcm1JbmZvLT5QY2lEYXRhLlBjaVJlc291cmNlTWVtMzJM aW1pdCkNCj4gKyAgICApOw0KPiArICBERUJVRyAoDQo+ICsgICAgKEVGSV9EX0VSUk9SLA0KPiAr ICAgICJQQ0k2NCAgQkFTRTogJWxYICAgICBMaW1pdDogJWxYXG4iLA0KPiArICAgIFBsYXRmb3Jt SW5mby0+UGNpRGF0YS5QY2lSZXNvdXJjZU1lbTY0QmFzZSwNCj4gKyAgICBQbGF0Zm9ybUluZm8t PlBjaURhdGEuUGNpUmVzb3VyY2VNZW02NExpbWl0KQ0KPiArICAgICk7DQo+ICsgIERFQlVHICgo RUZJX0RfRVJST1IsICJVQyAgICBTVEFSVDogJWxYICAgICBFbmQgIDogJWxYXG4iLCBQbGF0Zm9y bUluZm8tDQo+ID5NZW1EYXRhLk1lbU1pcjAsIFBsYXRmb3JtSW5mby0+TWVtRGF0YS5NZW1NaXIx KSk7DQo+ICsNCj4gKyAgTG93VW5jYWJsZUJhc2UgPSBQbGF0Zm9ybUluZm8tPk1lbURhdGEuTWVt TWF4VG9sbTsNCj4gKyAgTG93VW5jYWJsZUJhc2UgJj0gKDB4MEZGRjAwMDAwKTsNCj4gKw0KPiAr ICBpZiAoQm9vdE1vZGUgIT0gQk9PVF9PTl9TM19SRVNVTUUpIHsNCj4gKyAgICAvLw0KPiArICAg IC8vIEluIEJJT1MsIEhFQ0JBU0Ugd2lsbCBiZSBhbHdheXMgYmVsb3cgNEdCDQo+ICsgICAgLy8N Cj4gKyAgICBIZWNCYXNlSGlnaCA9IChVSU5UMzIpIFJTaGlmdFU2NCAoUGxhdGZvcm1JbmZvLQ0K PiA+UGNpRGF0YS5QY2lFeHByZXNzQmFzZSwgMjgpOw0KPiArICAgIEFTU0VSVCAoSGVjQmFzZUhp Z2ggPCAxNik7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ ICsvKioNCj4gKyAgSW5zdGFsbCBGaXJtd2FyZSBWb2x1bWUgSG9iJ3Mgb25jZSB0aGVyZSBpcyBt YWluIG1lbW9yeQ0KPiArDQo+ICsgIEBwYXJhbSBQZWlTZXJ2aWNlcyAgICAgICBHZW5lcmFsIHB1 cnBvc2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBFSU0uDQo+ICsgIEBwYXJhbSBOb3Rp ZnlEZXNjcmlwdG9yICBOb3RpZnkgdGhhdCB0aGlzIG1vZHVsZSBwdWJsaXNoZWQuDQo+ICsgIEBw YXJhbSBQcGkgICAgICAgICAgICAgICBQUEkgdGhhdCB3YXMgaW5zdGFsbGVkLg0KPiArDQo+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgIFRoZSBmdW5jdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1 bGx5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTWVtb3J5RGlz Y292ZXJlZFBwaU5vdGlmeUNhbGxiYWNrICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNF UyAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1BFSV9OT1RJRllfREVTQ1JJ UFRPUiAgKk5vdGlmeURlc2NyaXB0b3IsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAg ICAgICpQcGkNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAg U3RhdHVzOw0KPiArICBFRklfQk9PVF9NT0RFICAgICAgICAgICAgICAgQm9vdE1vZGU7DQo+ICsg IEVGSV9DUFVJRF9SRUdJU1RFUiAgICAgICAgICBGZWF0dXJlSW5mbzsNCj4gKyAgVUlOVDggICAg ICAgICAgICAgICAgICAgICAgIENwdUFkZHJlc3NXaWR0aDsNCj4gKyAgVUlOVDE2ICAgICAgICAg ICAgICAgICAgICAgIFBtMUNudDsNCj4gKyAgRUZJX1BFSV9IT0JfUE9JTlRFUlMgICAgICAgIEhv YjsNCj4gKyAgRUZJX1BMQVRGT1JNX0lORk9fSE9CICAgICAgICpQbGF0Zm9ybUluZm87DQo+ICsg IFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBSb290Q29tcGxleEJhcjsNCj4gKyAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICAgIFBtY0Jhc2U7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgICBJb0Jhc2U7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBJbGJCYXNl Ow0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgU3BpQmFzZTsNCj4gKyAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICAgIE1waHlCYXNlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdl dCBQbGF0Zm9ybSBJbmZvIEhPQg0KPiArICAvLw0KPiArICBIb2IuUmF3ID0gR2V0Rmlyc3RHdWlk SG9iICgmZ0VmaVBsYXRmb3JtSW5mb0d1aWQpOw0KPiArICBBU1NFUlQgKEhvYi5SYXcgIT0gTlVM TCk7DQo+ICsgIFBsYXRmb3JtSW5mbyA9IEdFVF9HVUlEX0hPQl9EQVRBKEhvYi5SYXcpOw0KPiAr DQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5HZXRCb290TW9kZSAoUGVpU2VydmljZXMs ICZCb290TW9kZSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgaWYgdXNlciB3YW50cyB0 byB0dXJuIG9mZiBpbiBQRUkgcGhhc2UNCj4gKyAgLy8NCj4gKyAgaWYgKChCb290TW9kZSAhPSBC T09UX09OX1MzX1JFU1VNRSkgJiYgKEJvb3RNb2RlICE9DQo+IEJPT1RfT05fRkxBU0hfVVBEQVRF KSkgew0KPiArICAgIENoZWNrUG93ZXJPZmZOb3coKTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBQ bTFDbnQgID0gSW9SZWFkMTYgKEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFfQ05U KTsNCj4gKyAgICBQbTFDbnQgJj0gfkJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQOw0KPiArICAg IElvV3JpdGUxNiAoQUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9BQ1BJX1BNMV9DTlQsIFBtMUNu dCk7DQo+ICsgIH0NCj4gKw0KPiArICAjaWZuZGVmIE1JTk5PVzJfRlNQX0JVSUxEDQo+ICsgIC8v DQo+ICsgIC8vIFNldCBQRUkgY2FjaGUgbW9kZSBoZXJlDQo+ICsgIC8vDQo+ICsgIFNldFBlaUNh Y2hlTW9kZSAoUGVpU2VydmljZXMpOw0KPiArICAjZW5kaWYNCj4gKw0KPiArICAvLw0KPiArICAv LyAgUHVsaXNoIG1lbW9yeSB0eW9lIGluZm8NCj4gKyAgLy8NCj4gKyAgUHVibGlzaE1lbW9yeVR5 cGVJbmZvICgpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFdvcmsgZG9uZSBpZiBvbiBhIFMzIHJl c3VtZQ0KPiArICAvLw0KPiArICBpZiAoQm9vdE1vZGUgPT0gQk9PVF9PTl9TM19SRVNVTUUpIHsN Cj4gKyAgICAvLw0KPiArICAgIC8vUHJvZ3JhbSB0aGUgc2lkZSBiYW5kIHBhY2tldCByZWdpc3Rl ciB0byBzZW5kIGEgc2lkZWJhbmQgbWVzc2FnZSB0bw0KPiBQdW5pdA0KPiArICAgIC8vVG8gaW5k aWNhdGUgdGhhdCBEUkFNIGhhcyBiZWVuIGluaXRpYWxpemVkIGFuZCBQVU5JVCBGVyBiYXNlIGFk ZHJlc3MNCj4gaW4gbWVtb3J5Lg0KPiArICAgIC8vDQo+ICsgICAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KPiArICB9DQo+ICsNCj4gKyAgUm9vdENvbXBsZXhCYXIgPSBNbVBjaTMyKCAwLCBERUZBVUxU X1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4gUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywgMCwgUl9Q Q0hfTFBDX1JDQkEgKSAmDQo+IEJfUENIX0xQQ19SQ0JBX0JBUjsNCj4gKyAgQnVpbGRSZXNvdXJj ZURlc2NyaXB0b3JIb2IgKA0KPiArICAgIEVGSV9SRVNPVVJDRV9NRU1PUllfTUFQUEVEX0lPLA0K PiArICAgIChFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1BSRVNFTlQgfA0KPiBFRklfUkVTT1VSQ0Vf QVRUUklCVVRFX0lOSVRJQUxJWkVEIHwNCj4gRUZJX1JFU09VUkNFX0FUVFJJQlVURV9VTkNBQ0hF QUJMRSksDQo+ICsgICAgUm9vdENvbXBsZXhCYXIsDQo+ICsgICAgMHgxMDAwDQo+ICsgICAgKTsN Cj4gKyAgREVCVUcgKChFRklfRF9JTkZPLCAiUm9vdENvbXBsZXhCYXIgICAgIDogMHgleFxuIiwg Um9vdENvbXBsZXhCYXIpKTsNCj4gKw0KPiArICBQbWNCYXNlID0gTW1QY2kzMiggMCwgREVGQVVM VF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsIDAsIFJf UENIX0xQQ19QTUNfQkFTRSApICYNCj4gQl9QQ0hfTFBDX1BNQ19CQVNFX0JBUjsNCj4gKyAgQnVp bGRSZXNvdXJjZURlc2NyaXB0b3JIb2IgKA0KPiArICAgIEVGSV9SRVNPVVJDRV9NRU1PUllfTUFQ UEVEX0lPLA0KPiArICAgIChFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1BSRVNFTlQgfA0KPiBFRklf UkVTT1VSQ0VfQVRUUklCVVRFX0lOSVRJQUxJWkVEIHwNCj4gRUZJX1JFU09VUkNFX0FUVFJJQlVU RV9VTkNBQ0hFQUJMRSksDQo+ICsgICAgUG1jQmFzZSwNCj4gKyAgICAweDEwMDANCj4gKyAgICAp Ow0KPiArICBERUJVRyAoKEVGSV9EX0lORk8sICJQbWNCYXNlICAgICAgICAgICAgOiAweCV4XG4i LCBQbWNCYXNlKSk7DQo+ICsNCj4gKyAgSW9CYXNlID0gTW1QY2kzMiggMCwgREVGQVVMVF9QQ0lf QlVTX05VTUJFUl9QQ0gsDQo+IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsIDAsIFJfUENIX0xQ Q19JT19CQVNFICkgJg0KPiBCX1BDSF9MUENfSU9fQkFTRV9CQVI7DQo+ICsgIEJ1aWxkUmVzb3Vy Y2VEZXNjcmlwdG9ySG9iICgNCj4gKyAgICBFRklfUkVTT1VSQ0VfTUVNT1JZX01BUFBFRF9JTywN Cj4gKyAgICAoRUZJX1JFU09VUkNFX0FUVFJJQlVURV9QUkVTRU5UIHwNCj4gRUZJX1JFU09VUkNF X0FUVFJJQlVURV9JTklUSUFMSVpFRCB8DQo+IEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfVU5DQUNI RUFCTEUpLA0KPiArICAgIElvQmFzZSwNCj4gKyAgICAweDQwMDANCj4gKyAgICApOw0KPiArICBE RUJVRyAoKEVGSV9EX0lORk8sICJJb0Jhc2UgICAgICAgICAgICAgOiAweCV4XG4iLCBJb0Jhc2Up KTsNCj4gKw0KPiArICBJbGJCYXNlID0gTW1QY2kzMiggMCwgREVGQVVMVF9QQ0lfQlVTX05VTUJF Ul9QQ0gsDQo+IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsIDAsIFJfUENIX0xQQ19JTEJfQkFT RSApICYNCj4gQl9QQ0hfTFBDX0lMQl9CQVNFX0JBUjsNCj4gKyAgQnVpbGRSZXNvdXJjZURlc2Ny aXB0b3JIb2IgKA0KPiArICAgIEVGSV9SRVNPVVJDRV9NRU1PUllfTUFQUEVEX0lPLA0KPiArICAg IChFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1BSRVNFTlQgfA0KPiBFRklfUkVTT1VSQ0VfQVRUUklC VVRFX0lOSVRJQUxJWkVEIHwNCj4gRUZJX1JFU09VUkNFX0FUVFJJQlVURV9VTkNBQ0hFQUJMRSks DQo+ICsgICAgSWxiQmFzZSwNCj4gKyAgICAweDEwMDANCj4gKyAgICApOw0KPiArICBERUJVRyAo KEVGSV9EX0lORk8sICJJbGJCYXNlICAgICAgICAgICAgOiAweCV4XG4iLCBJbGJCYXNlKSk7DQo+ ICsNCj4gKyAgU3BpQmFzZSA9IE1tUGNpMzIoIDAsIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENI LA0KPiBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBDLCAwLCBSX1BDSF9MUENfU1BJX0JBU0UgKSAm DQo+IEJfUENIX0xQQ19TUElfQkFTRV9CQVI7DQo+ICsgIEJ1aWxkUmVzb3VyY2VEZXNjcmlwdG9y SG9iICgNCj4gKyAgICBFRklfUkVTT1VSQ0VfTUVNT1JZX01BUFBFRF9JTywNCj4gKyAgICAoRUZJ X1JFU09VUkNFX0FUVFJJQlVURV9QUkVTRU5UIHwNCj4gRUZJX1JFU09VUkNFX0FUVFJJQlVURV9J TklUSUFMSVpFRCB8DQo+IEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfVU5DQUNIRUFCTEUpLA0KPiAr ICAgIFNwaUJhc2UsDQo+ICsgICAgMHgxMDAwDQo+ICsgICAgKTsNCj4gKyAgREVCVUcgKChFRklf RF9JTkZPLCAiU3BpQmFzZSAgICAgICAgICAgIDogMHgleFxuIiwgU3BpQmFzZSkpOw0KPiArDQo+ ICsgIE1waHlCYXNlID0gTW1QY2kzMiggMCwgREVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+ IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsIDAsIFJfUENIX0xQQ19NUEhZX0JBU0UgKSAmDQo+ IEJfUENIX0xQQ19NUEhZX0JBU0VfQkFSOw0KPiArICBCdWlsZFJlc291cmNlRGVzY3JpcHRvckhv YiAoDQo+ICsgICAgRUZJX1JFU09VUkNFX01FTU9SWV9NQVBQRURfSU8sDQo+ICsgICAgKEVGSV9S RVNPVVJDRV9BVFRSSUJVVEVfUFJFU0VOVCB8DQo+IEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfSU5J VElBTElaRUQgfA0KPiBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1VOQ0FDSEVBQkxFKSwNCj4gKyAg ICBNcGh5QmFzZSwNCj4gKyAgICAweDEwMDAwMA0KPiArICAgICk7DQo+ICsgIERFQlVHICgoRUZJ X0RfSU5GTywgIk1waHlCYXNlICAgICAgICAgICA6IDB4JXhcbiIsIE1waHlCYXNlKSk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gTG9jYWwgQVBJQw0KPiArICAvLw0KPiArICBCdWlsZFJlc291cmNl RGVzY3JpcHRvckhvYiAoDQo+ICsgICAgRUZJX1JFU09VUkNFX01FTU9SWV9NQVBQRURfSU8sDQo+ ICsgICAgKEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfUFJFU0VOVCB8DQo+IEVGSV9SRVNPVVJDRV9B VFRSSUJVVEVfSU5JVElBTElaRUQgfA0KPiBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1VOQ0FDSEVB QkxFKSwNCj4gKyAgICBMT0NBTF9BUElDX0FERFJFU1MsDQo+ICsgICAgMHgxMDAwDQo+ICsgICk7 DQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTywgIkxPQ0FMX0FQSUNfQUREUkVTUyA6IDB4JXhcbiIs DQo+IExPQ0FMX0FQSUNfQUREUkVTUykpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIElPIEFQSUMN Cj4gKyAgLy8NCj4gKyAgQnVpbGRSZXNvdXJjZURlc2NyaXB0b3JIb2IgKA0KPiArICAgIEVGSV9S RVNPVVJDRV9NRU1PUllfTUFQUEVEX0lPLA0KPiArICAgIChFRklfUkVTT1VSQ0VfQVRUUklCVVRF X1BSRVNFTlQgfA0KPiBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX0lOSVRJQUxJWkVEIHwNCj4gRUZJ X1JFU09VUkNFX0FUVFJJQlVURV9VTkNBQ0hFQUJMRSksDQo+ICsgICAgSU9fQVBJQ19BRERSRVNT LA0KPiArICAgIDB4MTAwMA0KPiArICApOw0KPiArICBERUJVRyAoKEVGSV9EX0lORk8sICJJT19B UElDX0FERFJFU1MgICAgOiAweCV4XG4iLA0KPiBJT19BUElDX0FERFJFU1MpKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBBZGRpbmcgdGhlIFBDSUUgRXhwcmVzcyBhcmVhIHRvIHRoZSBFODIwIG1l bW9yeSB0YWJsZSBhcyB0eXBlIDINCj4gbWVtb3J5Lg0KPiArICAvLw0KPiArICBCdWlsZFJlc291 cmNlRGVzY3JpcHRvckhvYiAoDQo+ICsgICAgRUZJX1JFU09VUkNFX01FTU9SWV9NQVBQRURfSU8s DQo+ICsgICAgKEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfUFJFU0VOVCB8DQo+IEVGSV9SRVNPVVJD RV9BVFRSSUJVVEVfSU5JVElBTElaRUQgfA0KPiBFRklfUkVTT1VSQ0VfQVRUUklCVVRFX1VOQ0FD SEVBQkxFKSwNCj4gKyAgICBQbGF0Zm9ybUluZm8tPlBjaURhdGEuUGNpRXhwcmVzc0Jhc2UsDQo+ ICsgICAgUGxhdGZvcm1JbmZvLT5QY2lEYXRhLlBjaUV4cHJlc3NTaXplDQo+ICsgICAgKTsNCj4g KyAgREVCVUcgKChFRklfRF9JTkZPLCAiUGNpRXhwcmVzc0Jhc2UgICAgIDogMHgleFxuIiwgUGxh dGZvcm1JbmZvLQ0KPiA+UGNpRGF0YS5QY2lFeHByZXNzQmFzZSkpOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIEFkZGluZyB0aGUgRmxhc2hwYXJ0IHRvIHRoZSBFODIwIG1lbW9yeSB0YWJsZSBhcyB0 eXBlIDIgbWVtb3J5Lg0KPiArICAvLw0KPiArICBCdWlsZFJlc291cmNlRGVzY3JpcHRvckhvYiAo DQo+ICsgICAgRUZJX1JFU09VUkNFX0ZJUk1XQVJFX0RFVklDRSwNCj4gKyAgICAoRUZJX1JFU09V UkNFX0FUVFJJQlVURV9QUkVTRU5UIHwNCj4gRUZJX1JFU09VUkNFX0FUVFJJQlVURV9JTklUSUFM SVpFRCB8DQo+IEVGSV9SRVNPVVJDRV9BVFRSSUJVVEVfVU5DQUNIRUFCTEUpLA0KPiArICAgIEZp eGVkUGNkR2V0MzIgKFBjZEZsYXNoQXJlYUJhc2VBZGRyZXNzKSwNCj4gKyAgICBGaXhlZFBjZEdl dDMyIChQY2RGbGFzaEFyZWFTaXplKQ0KPiArICAgICk7DQo+ICsgIERFQlVHICgoRUZJX0RfSU5G TywgIkZMQVNIX0JBU0VfQUREUkVTUyA6IDB4JXhcbiIsIEZpeGVkUGNkR2V0MzINCj4gKFBjZEZs YXNoQXJlYUJhc2VBZGRyZXNzKSkpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENyZWF0ZSBhIENQ VSBoYW5kLW9mZiBpbmZvcm1hdGlvbg0KPiArICAvLw0KPiArICBDcHVBZGRyZXNzV2lkdGggPSAz MjsNCj4gKyAgQXNtQ3B1aWQgKEVGSV9DUFVJRF9FWFRFTkRFRF9GVU5DVElPTiwgJkZlYXR1cmVJ bmZvLlJlZ0VheCwNCj4gJkZlYXR1cmVJbmZvLlJlZ0VieCwgJkZlYXR1cmVJbmZvLlJlZ0VjeCwg JkZlYXR1cmVJbmZvLlJlZ0VkeCk7DQo+ICsgIGlmIChGZWF0dXJlSW5mby5SZWdFYXggPj0gRUZJ X0NQVUlEX1ZJUlRfUEhZU19BRERSRVNTX1NJWkUpIHsNCj4gKyAgICBBc21DcHVpZCAoRUZJX0NQ VUlEX1ZJUlRfUEhZU19BRERSRVNTX1NJWkUsICZGZWF0dXJlSW5mby5SZWdFYXgsDQo+ICZGZWF0 dXJlSW5mby5SZWdFYngsICZGZWF0dXJlSW5mby5SZWdFY3gsICZGZWF0dXJlSW5mby5SZWdFZHgp Ow0KPiArICAgIENwdUFkZHJlc3NXaWR0aCA9IChVSU5UOCkgKEZlYXR1cmVJbmZvLlJlZ0VheCAm IDB4RkYpOw0KPiArICB9DQo+ICsNCj4gKyAgQnVpbGRDcHVIb2IoQ3B1QWRkcmVzc1dpZHRoLCAx Nik7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0 YXR1czsNCj4gKw0KPiArfQ0KPiArDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1ZhbGlkYXRlRnZI ZWFkZXIgKA0KPiArICBJTiBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUiAgICAgICAgICAgICpG d1ZvbEhlYWRlcg0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQxNiAgKlB0cjsNCj4gKyAgVUlOVDE2 ICBIZWFkZXJMZW5ndGg7DQo+ICsgIFVJTlQxNiAgQ2hlY2tzdW07DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gVmVyaWZ5IHRoZSBoZWFkZXIgcmV2aXNpb24sIGhlYWRlciBzaWduYXR1cmUsIGxlbmd0 aA0KPiArICAvLyBMZW5ndGggb2YgRnZCbG9jayBjYW5ub3QgYmUgMioqNjQtMQ0KPiArICAvLyBI ZWFkZXJMZW5ndGggY2Fubm90IGJlIGFuIG9kZCBudW1iZXINCj4gKyAgLy8NCj4gKyAgaWYgKChG d1ZvbEhlYWRlci0+UmV2aXNpb24gIT0gRUZJX0ZWSF9SRVZJU0lPTikgfHwNCj4gKyAgICAgIChG d1ZvbEhlYWRlci0+U2lnbmF0dXJlICE9IEVGSV9GVkhfU0lHTkFUVVJFKSB8fA0KPiArICAgICAg KEZ3Vm9sSGVhZGVyLT5Gdkxlbmd0aCA9PSAoKFVJTlQ2NCkgLTEpKSB8fA0KPiArICAgICAgKChG d1ZvbEhlYWRlci0+SGVhZGVyTGVuZ3RoICYgMHgwMSkgIT0gMCkNCj4gKyAgICAgICkgew0KPiAr ICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g VmVyaWZ5IHRoZSBoZWFkZXIgY2hlY2tzdW0NCj4gKyAgLy8NCj4gKyAgSGVhZGVyTGVuZ3RoICA9 IChVSU5UMTYpIChGd1ZvbEhlYWRlci0+SGVhZGVyTGVuZ3RoIC8gMik7DQo+ICsgIFB0ciAgICAg ICAgICAgPSAoVUlOVDE2ICopIEZ3Vm9sSGVhZGVyOw0KPiArICBDaGVja3N1bSAgICAgID0gMDsN Cj4gKyAgd2hpbGUgKEhlYWRlckxlbmd0aCA+IDApIHsNCj4gKyAgICBDaGVja3N1bSA9ICpQdHIr KzsNCj4gKyAgICBIZWFkZXJMZW5ndGgtLTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChDaGVja3N1 bSAhPSAwKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICsgIH0NCj4gKw0KPiAr ICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvTWVtb3J5UGVpbS5jDQo+IGIvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL01lbW9yeVBlaW0u Yw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5lNjE4OWI3NzEz DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvUGxhdGZvcm1Jbml0UGVpL01lbW9yeVBlaW0uYw0KPiBAQCAtMCwwICsxLDQwOCBAQA0KPiAr LyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTYsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1M aWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiAr DQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArDQo+ICsgIE1lbW9yeVBlaW0uYw0KPiArDQo+ICtB YnN0cmFjdDoNCj4gKw0KPiArICBUaWFubyBQRUlNIHRvIHByb3ZpZGUgdGhlIHBsYXRmb3JtIHN1 cHBvcnQgZnVuY3Rpb25hbGl0eS4NCj4gKyAgVGhpcyBmaWxlIGltcGxlbWVudHMgdGhlIFBsYXRm b3JtIE1lbW9yeSBSYW5nZSBQUEkNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiUGxh dGZvcm1FYXJseUluaXQuaCINCj4gKw0KPiArLy8NCj4gKy8vIE5lZWQgbWluLiBvZiA0OE1CIFBF SSBwaGFzZQ0KPiArLy8NCj4gKyNkZWZpbmUgIFBFSV9NSU5fTUVNT1JZX1NJWkUgICAgICAgICAg ICAgICAoNiAqIDB4ODAwMDAwKQ0KPiArI2RlZmluZSAgUEVJX1JFQ09WRVJZX01JTl9NRU1PUllf U0laRSAgICAgICg2ICogMHg4MDAwMDApDQo+ICsNCj4gKy8vDQo+ICsvLyBUaGlzIGlzIHRoZSBt ZW1vcnkgbmVlZGVkIGZvciBQRUkgdG8gc3RhcnQgdXAgRFhFLg0KPiArLy8NCj4gKy8vIE92ZXIt ZXN0aW1hdGluZyB0aGlzIHNpemUgd2lsbCBsZWFkIHRvIGhpZ2hlciBmcmFnbWVudGF0aW9uDQo+ ICsvLyBvZiBtYWluIG1lbW9yeS4gIFVuZGVyLWVzdGltYXRpb24gb2YgdGhpcyB3aWxsIGNhdXNl IGNhdGFzdHJvcGhpYw0KPiArLy8gZmFpbHVyZSBvZiBQRUkgdG8gbG9hZCBEWEUuICBHZW5lcmFs bHksIHRoZSBmYWlsdXJlIG1heSBvbmx5IGJlDQo+ICsvLyByZWFsaXplZCBkdXJpbmcgY2Fwc3Vs ZSB1cGRhdGVzLg0KPiArLy8NCj4gKyNkZWZpbmUgUFJFUkVTRVJWRURfUEVJX01FTU9SWSAoIFwN Cj4gKyAgRUZJX1NJWkVfVE9fUEFHRVMgKDMgKiAweDgwMDAwMCkgICAvKiBQRUkgQ29yZSBtZW1v cnkgYmFzZWQgc3RhY2sNCj4gKi8gXA0KPiArICApDQo+ICsNCj4gK0VGSV9NRU1PUllfVFlQRV9J TkZPUk1BVElPTiBtRGVmYXVsdE1lbW9yeVR5cGVJbmZvcm1hdGlvbltdID0NCj4gew0KPiArICB7 IEVmaUFDUElSZWNsYWltTWVtb3J5LCAgICAgICAweDQwICB9LCAgICAvLyAweDQwIHBhZ2VzID0g MjU2ayBmb3IgQVNMDQo+ICsgIHsgRWZpQUNQSU1lbW9yeU5WUywgICAgICAgICAgIDB4MTAwIH0s ICAgIC8vIDB4MTAwIHBhZ2VzID0gMSBNQiBmb3IgUzMsIFNNTSwNCj4gSElJLCBldGMNCj4gKyAg eyBFZmlSZXNlcnZlZE1lbW9yeVR5cGUsICAgICAgMHg2MDAgfSwgICAgLy8gNDhrIGZvciBCSU9T IFJlc2VydmVkDQo+ICsgIHsgRWZpTWVtb3J5TWFwcGVkSU8sICAgICAgICAgIDAgICAgIH0sDQo+ ICsgIHsgRWZpTWVtb3J5TWFwcGVkSU9Qb3J0U3BhY2UsIDAgICAgIH0sDQo+ICsgIHsgRWZpUGFs Q29kZSwgICAgICAgICAgICAgICAgIDAgICAgIH0sDQo+ICsgIHsgRWZpUnVudGltZVNlcnZpY2Vz Q29kZSwgICAgIDB4MjAwIH0sDQo+ICsgIHsgRWZpUnVudGltZVNlcnZpY2VzRGF0YSwgICAgIDB4 MTAwIH0sDQo+ICsgIHsgRWZpTG9hZGVyQ29kZSwgICAgICAgICAgICAgIDB4MTAwIH0sDQo+ICsg IHsgRWZpTG9hZGVyRGF0YSwgICAgICAgICAgICAgIDB4MTAwIH0sDQo+ICsgIHsgRWZpQm9vdFNl cnZpY2VzQ29kZSwgICAgICAgIDB4ODAwIH0sDQo+ICsgIHsgRWZpQm9vdFNlcnZpY2VzRGF0YSwg ICAgICAgIDB4MjUwMH0sDQo+ICsgIHsgRWZpQ29udmVudGlvbmFsTWVtb3J5LCAgICAgIDAgICAg IH0sDQo+ICsgIHsgRWZpVW51c2FibGVNZW1vcnksICAgICAgICAgIDAgICAgIH0sDQo+ICsgIHsg RWZpTWF4TWVtb3J5VHlwZSwgICAgICAgICAgIDAgICAgIH0NCj4gK307DQo+ICsNCj4gK1NUQVRJ Qw0KPiArRUZJX1NUQVRVUw0KPiArR2V0TWVtb3J5U2l6ZSAoDQo+ICsgIElOICBDT05TVCBFRklf UEVJX1NFUlZJQ0VTICAgICoqUGVpU2VydmljZXMsDQo+ICsgIE9VVCBVSU5UNjQgICAgICAgICAg ICAgICpMb3dNZW1vcnlMZW5ndGgsDQo+ICsgIE9VVCBVSU5UNjQgICAgICAgICAgICAgICpIaWdo TWVtb3J5TGVuZ3RoDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEluaXRpYWxpemVz IHRoZSB2YWxpZCBhZGRyZXNzIG1hc2sgZm9yIE1UUlJzLg0KPiArDQo+ICsgIFRoaXMgZnVuY3Rp b24gaW5pdGlhbGl6ZXMgdGhlIHZhbGlkIGJpdHMgbWFzayBhbmQgdmFsaWQgYWRkcmVzcyBtYXNr IGZvcg0KPiBNVFJScy4NCj4gKw0KPiArKiovDQo+ICtVSU5UNjQNCj4gK0luaXRpYWxpemVBZGRy ZXNzTXRyck1hc2sgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICAgICAg ICAgICAgICAgICAgICBSZWdFYXg7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgUGh5 c2ljYWxBZGRyZXNzQml0czsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICBWYWxpZE10 cnJCaXRzTWFzazsNCj4gKw0KPiArICBBc21DcHVpZCAoMHg4MDAwMDAwMCwgJlJlZ0VheCwgTlVM TCwgTlVMTCwgTlVMTCk7DQo+ICsNCj4gKyAgaWYgKFJlZ0VheCA+PSAweDgwMDAwMDA4KSB7DQo+ ICsgICAgQXNtQ3B1aWQgKDB4ODAwMDAwMDgsICZSZWdFYXgsIE5VTEwsIE5VTEwsIE5VTEwpOw0K PiArDQo+ICsgICAgUGh5c2ljYWxBZGRyZXNzQml0cyA9IChVSU5UOCkgUmVnRWF4Ow0KPiArICB9 IGVsc2Ugew0KPiArICAgIFBoeXNpY2FsQWRkcmVzc0JpdHMgPSAzNjsNCj4gKyAgfQ0KPiArDQo+ ICsgIFZhbGlkTXRyckJpdHNNYXNrICAgID0gTFNoaWZ0VTY0ICgxLCBQaHlzaWNhbEFkZHJlc3NC aXRzKSAtIDE7DQo+ICsgIHJldHVybiAoVmFsaWRNdHJyQml0c01hc2sgJiAweGZmZmZmZmZmZmZm ZmYwMDBVTEwpOw0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NldFBl aUNhY2hlTW9kZSAoDQo+ICsgIElOICBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICoqUGVpU2Vy dmljZXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICBTdGF0dXM7 DQo+ICsgIFBFSV9DQUNIRV9QUEkgICAgICAgICAgICpDYWNoZVBwaTsNCj4gKw0KPiArICBFRklf Qk9PVF9NT0RFICAgICAgICAgICBCb290TW9kZTsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAg ICAgTWVtb3J5TGVuZ3RoOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICBNZW1PdmVyZmxv dzsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgICAgTWVtb3J5TGVuZ3RoVWM7DQo+ICsgIFVJ TlQ2NCAgICAgICAgICAgICAgICAgIE1heE1lbW9yeUxlbmd0aDsNCj4gKyAgVUlOVDY0ICAgICAg ICAgICAgICAgICAgTG93TWVtb3J5TGVuZ3RoOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAg ICBIaWdoTWVtb3J5TGVuZ3RoOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICBJbmRleDsN Cj4gKyAgTVRSUl9TRVRUSU5HUyAgICAgICAgICAgTXRyclNldHRpbmc7DQo+ICsgIFVJTlQ2NCAg ICAgICAgICAgICAgICAgIFZhbGlkTXRyckFkZHJlc3NNYXNrOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIExvYWQgQ2FjaGUgUFBJDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9ICgqKlBlaVNlcnZpY2Vz KS5Mb2NhdGVQcGkgKA0KPiArICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAg ICAgICZnUGVpQ2FjaGVQcGlHdWlkLCAgICAvLyBHVUlEDQo+ICsgICAgICAgICAgICAgMCwgICAg ICAgICAgICAgICAgICAgIC8vIEluc3RhbmNlDQo+ICsgICAgICAgICAgICAgTlVMTCwgICAgICAg ICAgICAgICAgIC8vIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1INCj4gKyAgICAgICAgICAgICAodm9p ZCAqKikmQ2FjaGVQcGkgICAgICAgICAgICAgLy8gUFBJDQo+ICsgICAgICAgICAgICAgKTsNCj4g KyAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gQ2xlYXIg dGhlIENBUiBTZXR0aW5ncyAoRGVmYXVsdCBDYWNoZSBUeXBlID0+IFVDKQ0KPiArICAgIC8vDQo+ ICsgICAgREVCVUcgKChFRklfRF9JTkZPLCAiUmVzZXQgY2FjaGUgYXR0cmlidXRlIGFuZCBkaXNh YmxlIENBUi4gXG4iKSk7DQo+ICsgICAgQ2FjaGVQcGktPlJlc2V0Q2FjaGUoDQo+ICsgICAgICAg ICAgICAgICAgKEVGSV9QRUlfU0VSVklDRVMqKilQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAg ICAgICBDYWNoZVBwaQ0KPiArICAgICAgICAgICAgICAgICk7DQo+ICsgfQ0KPiArDQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gVmFyaWFibGUgaW5pdGlhbGl6YXRpb24NCj4gKyAgLy8NCj4gKyAgTG93 TWVtb3J5TGVuZ3RoID0gMDsNCj4gKyAgSGlnaE1lbW9yeUxlbmd0aCA9IDA7DQo+ICsgIE1lbW9y eUxlbmd0aFVjID0gMDsNCj4gKw0KPiArICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+R2V0Qm9v dE1vZGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkJvb3RNb2RlDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgVmFsaWRNdHJyQWRkcmVzc01hc2sgPSBJbml0 aWFsaXplQWRkcmVzc010cnJNYXNrICgpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIERldGVybWlu ZSBtZW1vcnkgdXNhZ2UNCj4gKyAgLy8NCj4gKyAgR2V0TWVtb3J5U2l6ZSAoDQo+ICsgICAgUGVp U2VydmljZXMsDQo+ICsgICAgJkxvd01lbW9yeUxlbmd0aCwNCj4gKyAgICAmSGlnaE1lbW9yeUxl bmd0aA0KPiArICAgICk7DQo+ICsNCj4gKyAgTG93TWVtb3J5TGVuZ3RoICA9IChFRklfUEhZU0lD QUxfQUREUkVTUylNbVBjaTMyKCAwLCAwLCAyLCAwLCAweDcwKTsNCj4gKyAgTG93TWVtb3J5TGVu Z3RoICAgJj0gIDB4RkZGMDAwMDBVTEw7DQo+ICsNCj4gKyAgTWF4TWVtb3J5TGVuZ3RoID0gTG93 TWVtb3J5TGVuZ3RoOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJvdW5kIHVwIHRvIG5lYXJlc3Qg MjU2TUIgd2l0aCBoaWdoIG1lbW9yeSBhbmQgNjRNQiB3L28gaGlnaA0KPiBtZW1vcnkNCj4gKyAg Ly8NCj4gKyAgaWYgKEhpZ2hNZW1vcnlMZW5ndGggIT0gMCApIHsNCj4gKyAgICBNZW1PdmVyZmxv dyA9IChMb3dNZW1vcnlMZW5ndGggJiAweDBmZmZmZmZmKTsNCj4gKyAgICBpZiAoTWVtT3ZlcmZs b3cgIT0gMCkgew0KPiArICAgICAgTWF4TWVtb3J5TGVuZ3RoID0gTG93TWVtb3J5TGVuZ3RoICsg KDB4MTAwMDAwMDAgLQ0KPiBNZW1PdmVyZmxvdyk7DQo+ICsgICAgfQ0KPiArICB9IGVsc2Ugew0K PiArICAgIE1lbU92ZXJmbG93ID0gKExvd01lbW9yeUxlbmd0aCAmIDB4MDNmZmZmZmYpOw0KPiAr ICAgIGlmIChNZW1PdmVyZmxvdyAhPSAwKSB7DQo+ICsgICAgICBNYXhNZW1vcnlMZW5ndGggPSBM b3dNZW1vcnlMZW5ndGggKyAoMHg0MDAwMDAwIC0gTWVtT3ZlcmZsb3cpOw0KPiArICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIFplcm9NZW0gKCZNdHJyU2V0dGluZywgc2l6ZW9mKE1UUlJfU0VUVElO R1MpKTsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgMjsgSW5kZXgrKykgew0KPiArICAg IE10cnJTZXR0aW5nLkZpeGVkLk10cnJbSW5kZXhdPTB4MDYwNjA2MDYwNjA2MDYwNjsNCj4gKyAg IH0NCj4gKyAgZm9yIChJbmRleCA9IDI7IEluZGV4IDwgMTE7IEluZGV4KyspIHsNCj4gKyAgICBN dHJyU2V0dGluZy5GaXhlZC5NdHJyW0luZGV4XT0weDA1MDUwNTA1MDUwNTA1MDU7DQo+ICsgICB9 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2FjaGUgdGhlIGZsYXNoIGFyZWEgdG8gaW1wcm92ZSB0 aGUgYm9vdCBwZXJmb3JtYW5jZSBpbiBQRUkgcGhhc2UNCj4gKyAgLy8NCj4gKyAgSW5kZXggPSAw Ow0KPiArICAoKE1TUl9JQTMyX01UUlJfUEhZU0JBU0VfUkVHSVNURVIgKikNCj4gJk10cnJTZXR0 aW5nLlZhcmlhYmxlcy5NdHJyWzBdLkJhc2UpLT5VaW50NjQgPSBGaXhlZFBjZEdldDMyDQo+IChQ Y2RGbGFzaEFyZWFCYXNlQWRkcmVzcyk7DQo+ICsgICgoTVNSX0lBMzJfTVRSUl9QSFlTQkFTRV9S RUdJU1RFUiAqKQ0KPiAmTXRyclNldHRpbmcuVmFyaWFibGVzLk10cnJbMF0uQmFzZSktPkJpdHMu VHlwZSA9IENhY2hlV3JpdGVQcm90ZWN0ZWQ7DQo+ICsgICgoTVNSX0lBMzJfTVRSUl9QSFlTTUFT S19SRUdJU1RFUiAqKQ0KPiAmTXRyclNldHRpbmcuVmFyaWFibGVzLk10cnJbMF0uTWFzayktPlVp bnQ2NCA9ICh+KChVSU5UNjQpKEZpeGVkUGNkR2V0MzINCj4gKFBjZEZsYXNoQXJlYVNpemUpIC0g MSkpKSAmIFZhbGlkTXRyckFkZHJlc3NNYXNrOw0KPiArICAoKE1TUl9JQTMyX01UUlJfUEhZU01B U0tfUkVHSVNURVIgKikNCj4gJk10cnJTZXR0aW5nLlZhcmlhYmxlcy5NdHJyWzBdLk1hc2spLT5C aXRzLlYgPSAxOw0KPiArDQo+ICsgIEluZGV4ICsrOw0KPiArDQo+ICsgIE1lbU92ZXJmbG93ID0w Ow0KPiArICB3aGlsZSAoTWF4TWVtb3J5TGVuZ3RoID4gTWVtT3ZlcmZsb3cpew0KPiArICAgIE1l bW9yeUxlbmd0aCA9IE1heE1lbW9yeUxlbmd0aCAtIE1lbU92ZXJmbG93Ow0KPiArICAgIE1lbW9y eUxlbmd0aCA9IEdldFBvd2VyT2ZUd282NCAoTWVtb3J5TGVuZ3RoKTsNCj4gKw0KPiArICAgICgo TVNSX0lBMzJfTVRSUl9QSFlTQkFTRV9SRUdJU1RFUiAqKQ0KPiAmTXRyclNldHRpbmcuVmFyaWFi bGVzLk10cnJbSW5kZXhdLkJhc2UpLT5VaW50NjQgPSBNZW1PdmVyZmxvdyAmDQo+IFZhbGlkTXRy ckFkZHJlc3NNYXNrOw0KPiArICAgICgoTVNSX0lBMzJfTVRSUl9QSFlTQkFTRV9SRUdJU1RFUiAq KQ0KPiAmTXRyclNldHRpbmcuVmFyaWFibGVzLk10cnJbSW5kZXhdLkJhc2UpLT5CaXRzLlR5cGUg PSBDYWNoZVdyaXRlQmFjazsNCj4gKyAgICAoKE1TUl9JQTMyX01UUlJfUEhZU01BU0tfUkVHSVNU RVIgKikNCj4gJk10cnJTZXR0aW5nLlZhcmlhYmxlcy5NdHJyW0luZGV4XS5NYXNrKS0+VWludDY0 ID0gKH4oTWVtb3J5TGVuZ3RoIC0gMSkpDQo+ICYgVmFsaWRNdHJyQWRkcmVzc01hc2s7DQo+ICsg ICAgKChNU1JfSUEzMl9NVFJSX1BIWVNNQVNLX1JFR0lTVEVSICopDQo+ICZNdHJyU2V0dGluZy5W YXJpYWJsZXMuTXRycltJbmRleF0uTWFzayktPkJpdHMuViA9IDE7DQo+ICsNCj4gKyAgICBNZW1P dmVyZmxvdyArPSBNZW1vcnlMZW5ndGg7DQo+ICsgICAgSW5kZXgrKzsNCj4gKyAgfQ0KPiArDQo+ ICsgIE1lbW9yeUxlbmd0aCA9IExvd01lbW9yeUxlbmd0aDsNCj4gKw0KPiArICB3aGlsZSAoTWF4 TWVtb3J5TGVuZ3RoICE9IE1lbW9yeUxlbmd0aCkgew0KPiArICAgIE1lbW9yeUxlbmd0aFVjID0g R2V0UG93ZXJPZlR3bzY0IChNYXhNZW1vcnlMZW5ndGggLQ0KPiBNZW1vcnlMZW5ndGgpOw0KPiAr DQo+ICsgICAgKChNU1JfSUEzMl9NVFJSX1BIWVNCQVNFX1JFR0lTVEVSICopDQo+ICZNdHJyU2V0 dGluZy5WYXJpYWJsZXMuTXRycltJbmRleF0uQmFzZSktPlVpbnQ2NCA9IChNYXhNZW1vcnlMZW5n dGggLQ0KPiBNZW1vcnlMZW5ndGhVYykgJiBWYWxpZE10cnJBZGRyZXNzTWFzazsNCj4gKyAgICAo KE1TUl9JQTMyX01UUlJfUEhZU0JBU0VfUkVHSVNURVIgKikNCj4gJk10cnJTZXR0aW5nLlZhcmlh Ymxlcy5NdHJyW0luZGV4XS5CYXNlKS0+Qml0cy5UeXBlID0gQ2FjaGVVbmNhY2hlYWJsZTsNCj4g KyAgICAoKE1TUl9JQTMyX01UUlJfUEhZU01BU0tfUkVHSVNURVIgKikNCj4gJk10cnJTZXR0aW5n LlZhcmlhYmxlcy5NdHJyW0luZGV4XS5NYXNrKS0+VWludDY0ID0gKH4oTWVtb3J5TGVuZ3RoVWMg ICAtDQo+IDEpKSAmIFZhbGlkTXRyckFkZHJlc3NNYXNrOw0KPiArICAgICgoTVNSX0lBMzJfTVRS Ul9QSFlTTUFTS19SRUdJU1RFUiAqKQ0KPiAmTXRyclNldHRpbmcuVmFyaWFibGVzLk10cnJbSW5k ZXhdLk1hc2spLT5CaXRzLlYgPSAxOw0KPiArDQo+ICsgICAgTWF4TWVtb3J5TGVuZ3RoIC09IE1l bW9yeUxlbmd0aFVjOw0KPiArICAgIEluZGV4Kys7DQo+ICsgIH0NCj4gKw0KPiArICBNZW1PdmVy ZmxvdyA9MHgxMDAwMDAwMDA7DQo+ICsgIHdoaWxlIChIaWdoTWVtb3J5TGVuZ3RoID4gMCkgew0K PiArDQo+ICsgICAgTWVtb3J5TGVuZ3RoID0gSGlnaE1lbW9yeUxlbmd0aDsNCj4gKyAgICBNZW1v cnlMZW5ndGggPSBHZXRQb3dlck9mVHdvNjQgKE1lbW9yeUxlbmd0aCk7DQo+ICsgICAgaWYgKE1l bW9yeUxlbmd0aCA+IE1lbU92ZXJmbG93KXsNCj4gKyAgICAgIE1lbW9yeUxlbmd0aCA9IE1lbU92 ZXJmbG93Ow0KPiArICAgIH0NCj4gKw0KPiArICAgICgoTVNSX0lBMzJfTVRSUl9QSFlTQkFTRV9S RUdJU1RFUiAqKQ0KPiAmTXRyclNldHRpbmcuVmFyaWFibGVzLk10cnJbSW5kZXhdLkJhc2UpLT5V aW50NjQgPSBNZW1PdmVyZmxvdyAmDQo+IFZhbGlkTXRyckFkZHJlc3NNYXNrOw0KPiArICAgICgo TVNSX0lBMzJfTVRSUl9QSFlTQkFTRV9SRUdJU1RFUiAqKQ0KPiAmTXRyclNldHRpbmcuVmFyaWFi bGVzLk10cnJbSW5kZXhdLkJhc2UpLT5CaXRzLlR5cGUgPSBDYWNoZVdyaXRlQmFjazsNCj4gKyAg ICAoKE1TUl9JQTMyX01UUlJfUEhZU01BU0tfUkVHSVNURVIgKikNCj4gJk10cnJTZXR0aW5nLlZh cmlhYmxlcy5NdHJyW0luZGV4XS5NYXNrKS0+VWludDY0ID0gKH4oTWVtb3J5TGVuZ3RoIC0gMSkp DQo+ICYgVmFsaWRNdHJyQWRkcmVzc01hc2s7DQo+ICsgICAgKChNU1JfSUEzMl9NVFJSX1BIWVNN QVNLX1JFR0lTVEVSICopDQo+ICZNdHJyU2V0dGluZy5WYXJpYWJsZXMuTXRycltJbmRleF0uTWFz ayktPkJpdHMuViA9IDE7DQo+ICsNCj4gKyAgICBNZW1PdmVyZmxvdyArPSBNZW1vcnlMZW5ndGg7 DQo+ICsgICAgSGlnaE1lbW9yeUxlbmd0aCAtPSBNZW1vcnlMZW5ndGg7DQo+ICsgICAgSW5kZXgr KzsNCj4gKyAgfQ0KPiArDQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgTVRSUl9O VU1CRVJfT0ZfVkFSSUFCTEVfTVRSUjsgSW5kZXgrKykgew0KPiArICAgIGlmIChNdHJyU2V0dGlu Zy5WYXJpYWJsZXMuTXRycltJbmRleF0uQmFzZSA9PSAwKXsNCj4gKyAgICAgIGJyZWFrOw0KPiAr ICAgIH0NCj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICJCYXNlPSVseCwNCj4gTWFzaz0lbHhc biIsTXRyclNldHRpbmcuVmFyaWFibGVzLk10cnJbSW5kZXhdLkJhc2UgLE10cnJTZXR0aW5nLlZh cmlhYmxlcy4NCj4gTXRycltJbmRleF0uTWFzaykpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gc2V0IEZFL0UgYml0cyBmb3IgSUEzMl9NVFJSX0RFRl9UWVBFDQo+ICsgIC8vDQo+ICsg IE10cnJTZXR0aW5nLk10cnJEZWZUeXBlIHw9ICAzIDw8MTA7DQo+ICsNCj4gKyAgTXRyclNldEFs bE10cnJzKCZNdHJyU2V0dGluZyk7DQo+ICsgIC8vDQo+ICsgIC8vIER1bXAgTVRSUiBTZXR0aW5n DQo+ICsgIC8vDQo+ICsgIE10cnJEZWJ1Z1ByaW50QWxsTXRycnMgKCk7DQo+ICsNCj4gKyAgcmV0 dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4g K1NldER4ZUNhY2hlTW9kZSAoDQo+ICsgIElOICBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICoq UGVpU2VydmljZXMNCj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAvLyBUaGlzIGlzIG5vdCBu ZWVkZWQgZm9yIG5vdy4NCj4gKyAgLy8NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0K PiArDQo+ICtTVEFUSUMNCj4gK0VGSV9TVEFUVVMNCj4gK0dldE1lbW9yeVNpemUgKA0KPiArICBJ TiAgQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBPVVQgVUlO VDY0ICAgICAgICAgICAgICAqTG93TWVtb3J5TGVuZ3RoLA0KPiArICBPVVQgVUlOVDY0ICAgICAg ICAgICAgICAqSGlnaE1lbW9yeUxlbmd0aA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMg ICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1BFSV9IT0JfUE9JTlRFUlMgICAgSG9iOw0K PiArDQo+ICsgICpIaWdoTWVtb3J5TGVuZ3RoID0gMDsNCj4gKyAgKkxvd01lbW9yeUxlbmd0aCA9 IDB4MTAwMDAwOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCB0aGUgSE9CIGxpc3QgZm9yIHBy b2Nlc3NpbmcNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkdldEhvYkxp c3QgKFBlaVNlcnZpY2VzLCAodm9pZCAqKikmSG9iLlJhdyk7DQo+ICsgIGlmIChFRklfRVJST1Io U3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0K PiArICAvLyBDb2xsZWN0IG1lbW9yeSByYW5nZXMNCj4gKyAgLy8NCj4gKyAgd2hpbGUgKCFFTkRf T0ZfSE9CX0xJU1QgKEhvYikpIHsNCj4gKyAgICBpZiAoSG9iLkhlYWRlci0+SG9iVHlwZSA9PSBF RklfSE9CX1RZUEVfUkVTT1VSQ0VfREVTQ1JJUFRPUikgew0KPiArICAgICAgaWYgKEhvYi5SZXNv dXJjZURlc2NyaXB0b3ItPlJlc291cmNlVHlwZSA9PQ0KPiBFRklfUkVTT1VSQ0VfU1lTVEVNX01F TU9SWSkgew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBOZWVkIG1lbW9yeSBhYm92ZSAx TUIgdG8gYmUgY29sbGVjdGVkIGhlcmUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgaWYgKEhv Yi5SZXNvdXJjZURlc2NyaXB0b3ItPlBoeXNpY2FsU3RhcnQgPj0gMHgxMDAwMDAgJiYNCj4gKyAg ICAgICAgICAgIEhvYi5SZXNvdXJjZURlc2NyaXB0b3ItPlBoeXNpY2FsU3RhcnQgPCAoRUZJX1BI WVNJQ0FMX0FERFJFU1MpDQo+IDB4MTAwMDAwMDAwKSB7DQo+ICsgICAgICAgICAgKkxvd01lbW9y eUxlbmd0aCArPSAoVUlOVDY0KSAoSG9iLlJlc291cmNlRGVzY3JpcHRvci0NCj4gPlJlc291cmNl TGVuZ3RoKTsNCj4gKyAgICAgICAgfSBlbHNlIGlmIChIb2IuUmVzb3VyY2VEZXNjcmlwdG9yLT5Q aHlzaWNhbFN0YXJ0ID49DQo+IChFRklfUEhZU0lDQUxfQUREUkVTUykgMHgxMDAwMDAwMDApIHsN Cj4gKyAgICAgICAgICAqSGlnaE1lbW9yeUxlbmd0aCArPSAoVUlOVDY0KSAoSG9iLlJlc291cmNl RGVzY3JpcHRvci0NCj4gPlJlc291cmNlTGVuZ3RoKTsNCj4gKyAgICAgICAgfQ0KPiArICAgICAg fQ0KPiArICAgIH0NCj4gKyAgICBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpOw0KPiArICB9 DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0K PiArICBQdWJsaXNoIE1lbW9yeSBUeXBlIEluZm9ybWF0aW9uLg0KPiArDQo+ICsgIEBwYXJhbSAg TlVMTA0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgU3VjY2Vzcy4NCj4gKyAgQHJl dHZhbCBPdGhlcnMgICAgICAgICBFcnJvcnMgaGF2ZSBvY2N1cnJlZC4NCj4gKyoqLw0KPiArDQo+ ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1B1Ymxpc2hNZW1vcnlUeXBlSW5mbyAoDQo+ICsg IHZvaWQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAg IFN0YXR1czsNCj4gKyAgRUZJX1BFSV9SRUFEX09OTFlfVkFSSUFCTEUyX1BQSSAqVmFyaWFibGU7 DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YVNpemU7DQo+ICsgIEVG SV9NRU1PUllfVFlQRV9JTkZPUk1BVElPTiAgICAgTWVtb3J5RGF0YVtFZmlNYXhNZW1vcnlUeXBl DQo+ICsgMV07DQo+ICsNCj4gKyAgU3RhdHVzID0gUGVpU2VydmljZXNMb2NhdGVQcGkgKA0KPiAr ICAgICAgICAgICAgICZnRWZpUGVpUmVhZE9ubHlWYXJpYWJsZTJQcGlHdWlkLA0KPiArICAgICAg ICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICh2b2lkICoq KSZWYXJpYWJsZQ0KPiArICAgICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVz KSkgew0KPiArICAgIERFQlVHKChFRklfRF9FUlJPUiwgIldBUk5JTkc6IExvY2F0aW5nIFBlaSB2 YXJpYWJsZSBmYWlsZWQgMHgleCBcbiIsDQo+IFN0YXR1cykpOw0KPiArICAgIERFQlVHKChFRklf RF9FUlJPUiwgIkJ1aWxkIEhvYiBmcm9tIGRlZmF1bHRcbiIpKTsNCj4gKyAgICAvLw0KPiArICAg IC8vIEJ1aWxkIHRoZSBkZWZhdWx0IEdVSUQnZCBIT0IgZm9yIERYRQ0KPiArICAgIC8vDQo+ICsg ICAgQnVpbGRHdWlkRGF0YUhvYiAoDQo+ICsgICAgICAmZ0VmaU1lbW9yeVR5cGVJbmZvcm1hdGlv bkd1aWQsDQo+ICsgICAgICBtRGVmYXVsdE1lbW9yeVR5cGVJbmZvcm1hdGlvbiwNCj4gKyAgICAg IHNpemVvZiAobURlZmF1bHRNZW1vcnlUeXBlSW5mb3JtYXRpb24pDQo+ICsgICAgICApOw0KPiAr DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsNCj4gKyAgRGF0YVNpemUg PSBzaXplb2YgKE1lbW9yeURhdGEpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoaXMgdmFyaWFi bGUgaXMgc2F2ZWQgaW4gQkRTIHN0YWdlLiBOb3cgcmVhZCBpdCBiYWNrDQo+ICsgIC8vDQo+ICsg IFN0YXR1cyA9IFZhcmlhYmxlLT5HZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgIFZhcmlhYmxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICBFRklfTUVNT1JZX1RZUEVf SU5GT1JNQVRJT05fVkFSSUFCTEVfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJmdF ZmlNZW1vcnlUeXBlSW5mb3JtYXRpb25HdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICBO VUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAmRGF0YVNpemUsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICZNZW1vcnlEYXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgCS8vDQo+ICsgICAgLy9idWlsZCBk ZWZhdWx0DQo+ICsgICAgLy8NCj4gKyAgICBERUJVRygoRUZJX0RfRVJST1IsICJCdWlsZCBIb2Ig ZnJvbSBkZWZhdWx0XG4iKSk7DQo+ICsgICAgQnVpbGRHdWlkRGF0YUhvYiAoDQo+ICsgICAgICAm Z0VmaU1lbW9yeVR5cGVJbmZvcm1hdGlvbkd1aWQsDQo+ICsgICAgICBtRGVmYXVsdE1lbW9yeVR5 cGVJbmZvcm1hdGlvbiwNCj4gKyAgICAgIHNpemVvZiAobURlZmF1bHRNZW1vcnlUeXBlSW5mb3Jt YXRpb24pDQo+ICsgICAgICApOw0KPiArDQo+ICsgIH0gZWxzZSB7DQo+ICsgIAkvLw0KPiArICAg IC8vIEJ1aWxkIHRoZSBHVUlEJ2QgSE9CIGZvciBEWEUgZnJvbSB2YXJpYWJsZQ0KPiArICAgIC8v DQo+ICsgICAgREVCVUcoKEVGSV9EX0VSUk9SLCAiQnVpbGQgSG9iIGZyb20gdmFyaWFibGUgXG4i KSk7DQo+ICsgICAgQnVpbGRHdWlkRGF0YUhvYiAoDQo+ICsgICAgICAmZ0VmaU1lbW9yeVR5cGVJ bmZvcm1hdGlvbkd1aWQsDQo+ICsgICAgICBNZW1vcnlEYXRhLA0KPiArICAgICAgRGF0YVNpemUN Cj4gKyAgICAgICk7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiAr DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bUluaXRQZWkvUGNoSW5pdFBlaW0uYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtSW5pdFBlaS9QY2hJbml0UGVpbS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjM4YjE3MTU2ZjQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysg Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGNoSW5p dFBlaW0uYw0KPiBAQCAtMCwwICsxLDgwOCBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29w eXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgIFBjaEluaXRQZWltLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgRG8g RWFybHkgUENIIHBsYXRmb3JtIGluaXRpYWxpemF0aW9uLg0KPiArDQo+ICsNCj4gKy0tKi8NCj4g Kw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRWFybHlJbml0LmgiDQo+ICsjaW5jbHVkZSAiUHBpL1Bj aFBsYXRmb3JtUG9saWN5LmgiDQo+ICsjaW5jbHVkZSAiUGNoUmVncy5oIg0KPiArI2luY2x1ZGUg PFBwaS9QY2hVc2JQb2xpY3kuaD4NCj4gKyNpbmNsdWRlICJQcGkvUGNoSW5pdC5oIg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ICsNCj4gK0VGSV9HVUlEICBnUGNoUGxhdGZvcm1Q b2xpY3lQcGlHdWlkID0NCj4gUENIX1BMQVRGT1JNX1BPTElDWV9QUElfR1VJRDsNCj4gKw0KPiAr I2RlZmluZSBNQ19QTVNUU19PRkZTRVQgICAgICAgICAgICAgICAgIDB4Qw0KPiArDQo+ICsjZGVm aW5lIERFRkFVTFRfQlVTX0lORk8gICAgICAgICAgICAgICAgMHgyMDIwDQo+ICsNCj4gKw0KPiAr I2RlZmluZSBQQ0lfTFBDX0JBU0UgICAgKDB4ODAwMEY4MDApDQo+ICsjZGVmaW5lIFBDSV9MUENf UkVHKHgpICAoUENJX0xQQ19CQVNFICsgKHgpKQ0KPiArI2RlZmluZSBQQ0lFWF9CQVNFX0FERFJF U1MgICAgICAgICAgICAgICAgICAgICAgICAweEUwMDAwMDAwDQo+ICsjZGVmaW5lIFBjaUQzMUYw UmVnQmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAgIFBDSUVYX0JBU0VfQUREUkVTUyArIChV SU5UMzIpDQo+ICgzMSA8PCAxNSkNCj4gKw0KPiArVk9JRA0KPiArUGNoUG9saWN5U2V0dXBJbml0 ICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAqKlBlaVNlcnZpY2VzLA0KPiArICBJ TiBTWVNURU1fQ09ORklHVVJBVElPTiAgICpTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICk7DQo+ ICsNCj4gK1ZPSUQNCj4gK1BjaEluaXRJbnRlcnJ1cHQgKA0KPiArICBJTiBTWVNURU1fQ09ORklH VVJBVElPTiAgKlN5c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRV Uw0KPiArSW5zdGFsbFBlaVBjaFVzYlBvbGljeSAoDQo+ICsgIElOIENPTlNUICBFRklfUEVJX1NF UlZJQ0VTICAqKlBlaVNlcnZpY2VzDQo+ICsgICk7DQo+ICsNCj4gKyNpZm5kZWYgX19HTlVDX18N Cj4gKyNwcmFnbWEgd2FybmluZyAocHVzaCkNCj4gKyNwcmFnbWEgd2FybmluZyAoZGlzYWJsZSA6 IDQyNDUpDQo+ICsjcHJhZ21hIHdhcm5pbmcgKHBvcCkNCj4gKyNlbmRpZg0KPiArDQo+ICtVSU5U OA0KPiArUmVhZENtb3NCYW5rMUJ5dGUgKA0KPiArICBJTiBVSU5UOCAgICAgICAgICAgICAgICAg ICAgICBBZGRyZXNzDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgICAgICBEYXRhOw0KPiArDQo+ICsgIElvV3JpdGU4KFJfUENIX1JUQ19FWFRfSU5ERVgsIEFk ZHJlc3MpOw0KPiArICBEYXRhID0gSW9SZWFkOCAoUl9QQ0hfUlRDX0VYVF9UQVJHRVQpOw0KPiAr ICByZXR1cm4gRGF0YTsNCj4gK30NCj4gKw0KPiArVk9JRA0KPiArV3JpdGVDbW9zQmFuazFCeXRl ICgNCj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgICAgICAgICBBZGRyZXNzLA0KPiArICBJTiBV SU5UOCAgICAgICAgICAgICAgICAgICAgIERhdGENCj4gKyAgKQ0KPiArew0KPiArICBJb1dyaXRl OChSX1BDSF9SVENfRVhUX0lOREVYLCBBZGRyZXNzKTsNCj4gKyAgSW9Xcml0ZTgoUl9QQ0hfUlRD X0VYVF9UQVJHRVQsIERhdGEpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVHVybiBvZmYgc3lz dGVtIGlmIG5lZWRlZC4NCj4gKw0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgUG9pbnRlciB0byBQ RUkgU2VydmljZXMNCj4gKyAgQHBhcmFtIENwdUlvICAgICAgIFBvaW50ZXIgdG8gQ1BVIEkvTyBQ cm90b2NvbA0KPiArDQo+ICsgIEByZXR2YWwgTm9uZS4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ ICtDaGVja1Bvd2VyT2ZmTm93ICgNCj4gKyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQx NiAgUG0xU3RzOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlYWQgYW5kIGNoZWNrIHRoZSBBQ1BJ IHJlZ2lzdGVycw0KPiArICAvLw0KPiArICBQbTFTdHMgPSBJb1JlYWQxNiAoQUNQSV9CQVNFX0FE RFJFU1MgKyBSX1BDSF9BQ1BJX1BNMV9TVFMpOw0KPiArICBpZiAoKFBtMVN0cyAmIEJfUENIX0FD UElfUE0xX1NUU19QV1JCVE4pID09DQo+IEJfUENIX0FDUElfUE0xX1NUU19QV1JCVE4pIHsNCj4g KyAgICBJb1dyaXRlMTYgKEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFfU1RTLA0K PiBCX1BDSF9BQ1BJX1BNMV9TVFNfUFdSQlROKTsNCj4gKyAgICBJb1dyaXRlMTYgKEFDUElfQkFT RV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFfQ05ULA0KPiBWX1BDSF9BQ1BJX1BNMV9DTlRfUzUp Ow0KPiArICAgIElvV3JpdGUxNiAoQUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9BQ1BJX1BNMV9D TlQsDQo+IFZfUENIX0FDUElfUE0xX0NOVF9TNSArIEJfUENIX0FDUElfUE0xX0NOVF9TTFBfRU4p Ow0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTaG91bGQgbm90IHJldHVybg0KPiArICAgIC8v DQo+ICsgICAgQ3B1RGVhZExvb3AoKTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtD bGVhclBvd2VyU3RhdGUgKA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICAgKlN5 c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgKQ0KPiArew0KPiArICBVSU5UOCAgIERhdGE4Ow0KPiAr ICBVSU5UMTYgIERhdGExNjsNCj4gKyAgVUlOVDMyICBEYXRhMzI7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gQ2hlY2sgZm9yIFBvd2VyU3RhdGUgb3B0aW9uIGZvciBBQyBwb3dlciBsb3NzIGFuZCBw cm9ncmFtIHRoZSBjaGlwc2V0DQo+ICsgIC8vDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2xlYXIg UFdST0sgKFNldCB0byBDbGVhcikNCj4gKyAgLy8NCj4gKyAgTW1pb09yMzIgKFBNQ19CQVNFX0FE RFJFU1MgKyBSX1BDSF9QTUNfR0VOX1BNQ09OXzEsDQo+IEJfUENIX1BNQ19HRU5fUE1DT05fUFdS T0tfRkxSKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDbGVhciBQb3dlciBGYWlsdXJlIEJpdCAo U2V0IHRvIENsZWFyKQ0KPiArICAvLw0KPiArICAvLyBUT0RPOiBDaGVjayBpZiBpdCBpcyBPSyB0 byBjbGVhciBoZXJlDQo+ICsgIC8vDQo+ICsNCj4gKyAgTW1pb09yMzIgKFBNQ19CQVNFX0FERFJF U1MgKyBSX1BDSF9QTUNfR0VOX1BNQ09OXzEsDQo+IEJfUENIX1BNQ19HRU5fUE1DT05fU1VTX1BX Ul9GTFIpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENsZWFyIHRoZSBHUEUgYW5kIFBNIGVuYWJs ZQ0KPiArICAvLw0KPiArICBJb1dyaXRlMTYgKEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUNQ SV9QTTFfRU4sIChVSU5UMTYpIDB4MDApOw0KPiArICBJb1dyaXRlMzIgKEFDUElfQkFTRV9BRERS RVNTICsgUl9QQ0hfQUNQSV9HUEUwYV9FTiwgKFVJTlQzMikNCj4gMHgwMCk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gSGFsdCB0aGUgVENPIHRpbWVyDQo+ICsgIC8vDQo+ICsgIERhdGExNiA9IElv UmVhZDE2IChBQ1BJX0JBU0VfQUREUkVTUyArIFJfUENIX1RDT19DTlQpOw0KPiArICBEYXRhMTYg fD0gQl9QQ0hfVENPX0NOVF9UTVJfSExUOw0KPiArICBJb1dyaXRlMTYgKEFDUElfQkFTRV9BRERS RVNTICsgUl9QQ0hfVENPX0NOVCwgRGF0YTE2KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBpZiBO TUlfTk9XX1NUUyBpcyBzZXQNCj4gKyAgLy8gTk1JIE5PVyBiaXQgaXMgIldyaXRlICcxJyB0byBj bGVhciINCj4gKyAgLy8NCj4gKyAgRGF0YTggPSBNbWlvUmVhZDgoSUxCX0JBU0VfQUREUkVTUyAr IFJfUENIX0lMQl9HTk1JKTsNCj4gKyAgaWYgKChEYXRhOCAmIEJfUENIX0lMQl9HTk1JX05NSU5T KSA9PSBCX1BDSF9JTEJfR05NSV9OTUlOUykgew0KPiArICAgIE1taW9PcjggKElMQl9CQVNFX0FE RFJFU1MgKyBSX1BDSF9JTEJfR05NSSwNCj4gQl9QQ0hfSUxCX0dOTUlfTk1JTik7DQo+ICsgIH0N Cj4gKw0KPiArICAvLw0KPiArICAvLyBCZWZvcmUgd2UgY2xlYXIgdGhlIFRPIHN0YXR1cyBiaXQg aGVyZSB3ZSBuZWVkIHRvIHNhdmUgdGhlIHJlc3VsdHMgaW4gYQ0KPiBDTU9TIGJpdCBmb3IgbGF0 ZXIgdXNlLg0KPiArICAvLw0KPiArICBEYXRhMzIgPSBJb1JlYWQzMiAoQUNQSV9CQVNFX0FERFJF U1MgKyBSX1BDSF9UQ09fU1RTKTsNCj4gKyAgaWYgKChEYXRhMzIgJiBCX1BDSF9UQ09fU1RTX1NF Q09ORF9UTykgPT0NCj4gQl9QQ0hfVENPX1NUU19TRUNPTkRfVE8pDQo+ICsgIHsNCj4gKyNpZiAo ZGVmaW5lZChIV19XQVRDSERPR19USU1FUl9TVVBQT1JUKSAmJg0KPiAoSFdfV0FUQ0hET0dfVElN RVJfU1VQUE9SVCAhPSAwKSkNCj4gKyAgICBXcml0ZUNtb3NCYW5rMUJ5dGUgKA0KPiArICAgICAg RUZJX0NNT1NfUEVSRk9STUFOQ0VfRkxBR1MsDQo+ICsgICAgICBSZWFkQ21vc0JhbmsxQnl0ZSAo RUZJX0NNT1NfUEVSRk9STUFOQ0VfRkxBR1MpIHwNCj4gQl9DTU9TX1RDT19XRFRfUkVTRVQNCj4g KyAgICAgICk7DQo+ICsjZW5kaWYNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvKisrDQo+ICsNCj4g KyAgQ2xlYXIgYW55IFNNSSBzdGF0dXMgb3Igd2FrZSBzdGF0dXMgbGVmdCBvdmVyIGZyb20gYm9v dC4NCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtDbGVhclNtaUFuZFdha2UgKA0KPiArICBWT0lE DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDE2ICBQbTFTdHM7DQo+ICsgIFVJTlQzMiAgR3BlMFN0 czsNCj4gKyAgVUlOVDMyICBTbWlTdHM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVhZCB0aGUg QUNQSSByZWdpc3RlcnMNCj4gKyAgLy8NCj4gKyAgUG0xU3RzICA9IElvUmVhZDE2IChBQ1BJX0JB U0VfQUREUkVTUyArIFJfUENIX0FDUElfUE0xX1NUUyk7DQo+ICsgIEdwZTBTdHMgPSBJb1JlYWQz MiAoQUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9BQ1BJX0dQRTBhX1NUUyk7DQo+ICsgIFNtaVN0 cyAgPSBJb1JlYWQzMiAoQUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9TTUlfU1RTKTsNCj4gKw0K PiArICAvLw0KPiArICAvLyBSZWdpc3RlciBXYWtlIHVwIHJlYXNvbiBmb3IgUzQuICBUaGlzIGlu Zm9ybWF0aW9uIGlzIHVzZWQgdG8gbm90aWZ5DQo+ICsgIC8vIFdpblhwIG9mIHdha2UgdXAgcmVh c29uIGJlY2F1c2UgUzQgd2FrZSB1cCBwYXRoIGRvZXNuJ3Qga2VlcCBTQ0kuDQo+ICsgIC8vIFRo aXMgaXMgaW1wb3J0YW50IGZvciBWaWl2KFF1aWNrIHJlc3VtZSkgcGxhdGZvcm0uDQo+ICsgIC8v DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3QgQ2xlYXIgQ01PUyBTNCBXYWtlIHVwIGZsYWcu DQo+ICsgIC8vDQo+ICsgIFdyaXRlQ21vc0JhbmsxQnl0ZShDTU9TX1M0X1dBS0VVUF9GTEFHX0FE RFJFU1MsIDApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENoZWNrIHdha2UgdXAgcmVhc29uIGFu ZCBzZXQgQ01PUyBhY2NvcmRpbmdseS4gIEN1cnJlbnRseSBjaGVja3MNCj4gKyAgLy8gUG93ZXIg YnV0dG9uLCBVU0IsIFBTLzIuDQo+ICsgIC8vIE5vdGUgOiBQUy8yIHdha2UgdXAgaXMgdXNpbmcg R1BJMTMgKElPX1BNRSkuICBUaGlzIG11c3QgYmUgY2hhbmdlZA0KPiBkZXBlbmRpbmcNCj4gKyAg Ly8gb24gYm9hcmQgZGVzaWduLg0KPiArICAvLw0KPiArICBpZiAoKFBtMVN0cyAmIEJfUENIX0FD UElfUE0xX1NUU19QV1JCVE4pIHx8IChHcGUwU3RzICYNCj4gKEJfUENIX0FDUElfR1BFMGFfU1RT X0NPUkVfR1BJTyB8DQo+IEJfUENIX0FDUElfR1BFMGFfU1RTX1NVU19HUElPKSkpIHsNCj4gKyAg ICBXcml0ZUNtb3NCYW5rMUJ5dGUoQ01PU19TNF9XQUtFVVBfRkxBR19BRERSRVNTLCAxKTsNCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENsZWFyIGFueSBTTUkgb3Igd2FrZSBzdGF0ZSBm cm9tIHRoZSBib290DQo+ICsgIC8vDQo+ICsgIFBtMVN0cyA9IChCX1BDSF9BQ1BJX1BNMV9TVFNf UFJCVE5PUiB8DQo+IEJfUENIX0FDUElfUE0xX1NUU19QV1JCVE4pOw0KPiArDQo+ICsgIEdwZTBT dHMgfD0NCj4gKyAgICAoDQo+ICsgICAgICBCX1BDSF9BQ1BJX0dQRTBhX1NUU19DT1JFX0dQSU8g fA0KPiArICAgICAgQl9QQ0hfQUNQSV9HUEUwYV9TVFNfU1VTX0dQSU8gfA0KPiArICAgICAgQl9Q Q0hfQUNQSV9HUEUwYV9TVFNfUE1FX0IwIHwNCj4gKyAgICAgIEJfUENIX0FDUElfR1BFMGFfU1RT X0JBVExPVyB8DQo+ICsgICAgICBCX1BDSF9BQ1BJX0dQRTBhX1NUU19QQ0lfRVhQIHwNCj4gKyAg ICAgIEJfUENIX0FDUElfR1BFMGFfU1RTX0dVTklUX1NDSSB8DQo+ICsgICAgICBCX1BDSF9BQ1BJ X0dQRTBhX1NUU19QVU5JVF9TQ0kgfA0KPiArICAgICAgQl9QQ0hfQUNQSV9HUEUwYV9TVFNfU1dH UEUgfA0KPiArICAgICAgQl9QQ0hfQUNQSV9HUEUwYV9TVFNfSE9UX1BMVUcNCj4gKyAgICApOw0K PiArDQo+ICsgIFNtaVN0cyB8PQ0KPiArICAgICgNCj4gKyAgICAgIEJfUENIX1NNSV9TVFNfU01C VVMgfA0KPiArICAgICAgQl9QQ0hfU01JX1NUU19QRVJJT0RJQyB8DQo+ICsgICAgICBCX1BDSF9T TUlfU1RTX1RDTyB8DQo+ICsgICAgICBCX1BDSF9TTUlfU1RTX1NXU01JX1RNUiB8DQo+ICsgICAg ICBCX1BDSF9TTUlfU1RTX0FQTSB8DQo+ICsgICAgICBCX1BDSF9TTUlfU1RTX09OX1NMUF9FTiB8 DQo+ICsgICAgICBCX1BDSF9TTUlfU1RTX0JJT1MNCj4gKyAgICApOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIFdyaXRlIHRoZW0gYmFjaw0KPiArICAvLw0KPiArICBJb1dyaXRlMTYgKEFDUElfQkFT RV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFfU1RTLCBQbTFTdHMpOw0KPiArICBJb1dyaXRlMzIg KEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUNQSV9HUEUwYV9TVFMsIEdwZTBTdHMpOw0KPiAr ICBJb1dyaXRlMzIgKEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfU01JX1NUUywgU21pU3RzKTsN Cj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIElzc3VlIFBDSS1FIFNlY29uZGFyeSBCdXMgUmVzZXQN Cj4gKw0KPiArICBAcGFyYW0gQnVzICBCdXMgbnVtYmVyIG9mIHRoZSBicmlkZ2UNCj4gKyAgQHBh cmFtIERldiAgRGV2aWNlcyBudW1iZXIgb2YgdGhlIGJyaWRnZQ0KPiArICBAcGFyYW0gRnVuICBG dW5jdGlvbiBudW1iZXIgb2YgdGhlIGJyaWRnZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NF U1MNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtQY2llU2Vjb25kYXJ5QnVzUmVzZXQg KA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAqKlBlaVNlcnZpY2VzLA0KPiArICBJ TiBVSU5UOCAgICAgICAgICAgICBCdXMsDQo+ICsgIElOIFVJTlQ4ICAgICAgICAgICAgIERldiwN Cj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgRnVuDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1BF SV9TVEFMTF9QUEkgICAqUGVpU3RhbGw7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgU3RhdHVz Ow0KPiArDQo+ICsgIFN0YXR1cyA9ICgqKlBlaVNlcnZpY2VzKS5Mb2NhdGVQcGkgKA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmdFZmlQZWlTdGFsbFBwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ ICsgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZQZWlTdGFsbA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIElzc3VlIHNlY29uZGFyeSBidXMgcmVzZXQNCj4gKyAgLy8NCj4g KyAgTW1QY2kxNk9yKDAsIEJ1cywgRGV2LCBGdW4sIFBDSV9CUklER0VfQ09OVFJPTF9SRUdJU1RF Ul9PRkZTRVQsDQo+IEVGSV9QQ0lfQlJJREdFX0NPTlRST0xfUkVTRVRfU0VDT05EQVJZX0JVUyk7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gV2FpdCAxbXMNCj4gKyAgLy8NCj4gKyAgUGVpU3RhbGwt PlN0YWxsIChQZWlTZXJ2aWNlcywgUGVpU3RhbGwsIDEwMDApOw0KPiArDQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gQ2xlYXIgdGhlIHJlc2V0IGJpdA0KPiArICAvLyBOb3RlOiBUaGUgUENJZSBzcGVj IHN1Z2dlc3RzIDEwMG1zIGRlbGF5IGJldHdlZW4gY2xlYXJpbmcgdGhpcyBiaXQgYW5kDQo+IGFj Y2Vzc2luZw0KPiArICAvLyB0aGUgZGV2aWNlJ3MgY29uZmlnIHNwYWNlLiBTaW5jZSB3ZSB3aWxs IG5vdCBhY2Nlc3MgdGhlIGNvbmZpZyBzcGFjZSB1bnRpbA0KPiB3ZSBlbnRlciBEWEUNCj4gKyAg Ly8gd2UgZG9uJ3QgcHV0IGRlbGF5IGV4cHJlc3NseSBoZXJlLg0KPiArICAvLw0KPiArICBNbVBj aTE2QW5kKDAsIEJ1cywgRGV2LCBGdW4sIFBDSV9CUklER0VfQ09OVFJPTF9SRUdJU1RFUl9PRkZT RVQsDQo+IH4oRUZJX1BDSV9CUklER0VfQ09OVFJPTF9SRVNFVF9TRUNPTkRBUllfQlVTKSk7DQo+ ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUHJv dmlkZSBoYXJkIHJlc2V0IFBQSSBzZXJ2aWNlLg0KPiArICBUbyBnZW5lcmF0ZSBmdWxsIGhhcmQg cmVzZXQsIHdyaXRlIDB4MEUgdG8gSUNIIFJFU0VUX0dFTkVSQVRPUl9QT1JUDQo+ICgweENGOSku DQo+ICsNCj4gKyAgQHBhcmFtIFBlaVNlcnZpY2VzICAgICAgICBHZW5lcmFsIHB1cnBvc2Ugc2Vy dmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBFSU0uDQo+ICsNCj4gKyAgQHJldHZhbCBOb3QgcmV0 dXJuICAgICAgICBTeXN0ZW0gcmVzZXQgb2NjdXJlZC4NCj4gKyAgQHJldHZhbCBFRklfREVWSUNF X0VSUk9SICBEZXZpY2UgZXJyb3IsIGNvdWxkIG5vdCByZXNldCB0aGUgc3lzdGVtLg0KPiArDQo+ ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArSWNoUmVzZXQgKA0KPiArICBJTiBD T05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0KPiAr ew0KPiArICBJb1dyaXRlOCAoDQo+ICsgICAgUl9QQ0hfUlNUX0NOVCwNCj4gKyAgICBWX1BDSF9S U1RfQ05UX0hBUkRTVEFSVFNUQVRFDQo+ICsgICAgKTsNCj4gKw0KPiArICBJb1dyaXRlOCAoDQo+ ICsgICAgUl9QQ0hfUlNUX0NOVCwNCj4gKyAgICBWX1BDSF9SU1RfQ05UX0hBUkRSRVNFVA0KPiAr ICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU3lzdGVtIHJlc2V0IG9jY3VyZWQsIHNob3Vs ZCBuZXZlciByZWFjaCBhdCB0aGlzIGxpbmUuDQo+ICsgIC8vDQo+ICsgIEFTU0VSVF9FRklfRVJS T1IgKEVGSV9ERVZJQ0VfRVJST1IpOw0KPiArICBDcHVEZWFkTG9vcCgpOw0KPiArDQo+ICsgIHJl dHVybiBFRklfREVWSUNFX0VSUk9SOw0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtQY2hQbGF0Zm9y bUxwY0luaXQgKA0KPiArICBJTiAgQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAqKlBl aVNlcnZpY2VzLA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICAqU3lzdGVtQ29u ZmlndXJhdGlvbg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9CT09UX01PREUgQm9vdE1vZGU7DQo+ ICsgIFVJTlQ4ICAgICAgICAgRGF0YTg7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICBEYXRh MTY7DQo+ICsNCj4gKyAgKCpQZWlTZXJ2aWNlcyktPkdldEJvb3RNb2RlKFBlaVNlcnZpY2VzLCAm Qm9vdE1vZGUpOw0KPiArDQo+ICsgIGlmICgoQm9vdE1vZGUgIT0gQk9PVF9PTl9TM19SRVNVTUUp KSB7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIENsZWFyIGFsbCBwZW5kaW5nIFNNSS4gT24g UzMgY2xlYXIgcG93ZXIgYnV0dG9uIGVuYWJsZSBzbyBpdCB3bGwgbm90DQo+IGdlbmVyYXRlIGFu IFNNSQ0KPiArICAgIC8vDQo+ICsgICAgQ2xlYXJTbWlBbmRXYWtlICgpOw0KPiArICB9DQo+ICsN Cj4gKyAgQ2xlYXJQb3dlclN0YXRlIChTeXN0ZW1Db25maWd1cmF0aW9uKTsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBOZWVkIHRvIHNldCBhbmQgY2xlYXIgU0VUIGJpdCAoUlRDX1JFR0IgQml0IDcp IGFzIHJlcXVlc3RlZCBieSB0aGUgSUNIDQo+IEVEUw0KPiArICAvLyBlYXJseSBpbiBQT1NUIGFm dGVyIGVhY2ggcG93ZXIgdXAgZGlyZWN0bHkgYWZ0ZXIgY29pbi1jZWxsIGJhdHRlcnkNCj4gaW5z ZXJ0aW9uLg0KPiArICAvLyBUaGlzIGlzIHRvIGF2b2lkIHRoZSBVSVAgYml0IChSVENfUkVHQSBC aXQgNykgZnJvbSBzdHVjayBhdCAiMSIuDQo+ICsgIC8vIFRoZSBVSVAgYml0IHN0YXR1cyBtYXkg YmUgcG9sbGVkIGJ5IHNvZnR3YXJlIChpLmUgTUUgRlcpIGR1cmluZyBQT1NULg0KPiArICAvLw0K PiArICBpZiAoTW1pb1JlYWQ4IChQTUNfQkFTRV9BRERSRVNTICsgUl9QQ0hfUE1DX0dFTl9QTUNP Tl8xKSAmDQo+IEJfUENIX1BNQ19HRU5fUE1DT05fUlRDX1BXUl9TVFMpIHsNCj4gKyAgCS8vDQo+ ICsgICAgLy8gU2V0IGFuZCBjbGVhciBTRVQgYml0IGluIFJUQ19SRUdCDQo+ICsgICAgLy8NCj4g KyAgICBJb1dyaXRlOChSX1BDSF9SVENfSU5ERVgsIFJfUENIX1JUQ19SRUdJU1RFUkIpOw0KPiAr ICAgIERhdGE4ID0gSW9SZWFkOChSX1BDSF9SVENfVEFSR0VUKTsNCj4gKyAgICBEYXRhOCB8PSBC X1BDSF9SVENfUkVHSVNURVJCX1NFVDsNCj4gKyAgICBJb1dyaXRlOChSX1BDSF9SVENfVEFSR0VU LCBEYXRhOCk7DQo+ICsNCj4gKyAgICBJb1dyaXRlOChSX1BDSF9SVENfSU5ERVgsIFJfUENIX1JU Q19SRUdJU1RFUkIpOw0KPiArICAgIERhdGE4ICY9ICh+Ql9QQ0hfUlRDX1JFR0lTVEVSQl9TRVQp Ow0KPiArICAgIElvV3JpdGU4KFJfUENIX1JUQ19UQVJHRVQsIERhdGE4KTsNCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy8gQ2xlYXIgdGhlIFVJUCBiaXQgaW4gUlRDX1JFR0ENCj4gKyAgICAvLw0K PiArICAgIElvV3JpdGU4KFJfUENIX1JUQ19JTkRFWCwgUl9QQ0hfUlRDX1JFR0lTVEVSQSk7DQo+ ICsgICAgSW9Xcml0ZTgoUl9QQ0hfUlRDX1RBUkdFVCwgMHgwMCk7DQo+ICsgIH0NCj4gKw0KPiAr ICAvLw0KPiArICAvLyBEaXNhYmxlIFNFUlIgTk1JIGFuZCBJT0NISyMgTk1JIGluIHBvcnQgNjEN Cj4gKyAgLy8NCj4gKyAgRGF0YTggPSBJb1JlYWQ4IChSX1BDSF9OTUlfU0MpOw0KPiArICBJb1dy aXRlOChSX1BDSF9OTUlfU0MsIChVSU5UOCkgKERhdGE4IHwNCj4gQl9QQ0hfTk1JX1NDX1BDSV9T RVJSX0VOIHwgQl9QQ0hfTk1JX1NDX0lPQ0hLX05NSV9FTikpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIEVuYWJsZSBCdXMgTWFzdGVyLCBJL08sIE1lbSwgYW5kIFNFUlIgb24gTFBDIGJyaWRnZQ0K PiArICAvLw0KPiArICBEYXRhMTYgPSBQY2hMcGNQY2lDZmcxNiAoUl9QQ0hfTFBDX0NPTU1BTkQp Ow0KPiArICBNbWlvV3JpdGUxNiAoDQo+ICsgICAgTW1QY2lBZGRyZXNzICgwLA0KPiArICAgICAg REVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+ICsgICAgICBQQ0lfREVWSUNFX05VTUJFUl9Q Q0hfTFBDLA0KPiArICAgICAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBDLA0KPiArICAgICAg Ul9QQ0hfTFBDX0NPTU1BTkQNCj4gKyAgICApLA0KPiArICAgIChEYXRhMTYgfA0KPiArICAgICBC X1BDSF9MUENfQ09NTUFORF9JT1NFIHwNCj4gKyAgICAgQl9QQ0hfTFBDX0NPTU1BTkRfTVNFIHwN Cj4gKyAgICAgQl9QQ0hfTFBDX0NPTU1BTkRfQk1FIHwNCj4gKyAgICAgQl9QQ0hfTFBDX0NPTU1B TkRfU0VSUl9FTikNCj4gKyAgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgU3RyZXRjaCBT NCB0byAxLTJzIHBlciBtYXJrZXRpbmcgcmVxdWVzdC4NCj4gKyAgLy8gTm90ZTogVGhpcyByZWdp c3RlciBpcyBwb3dlcmVkIGJ5IFJUQyB3ZWxsLg0KPiArICAvLw0KPiArICBNbWlvQW5kVGhlbk9y OCAoDQo+ICsgICAgUE1DX0JBU0VfQUREUkVTUyArIFJfUENIX1BNQ19HRU5fUE1DT05fMSAsDQo+ ICsgICAgKFVJTlQ4KSAofkJfUENIX1BNQ19HRU5fUE1DT05fU0xQX1M0X01BVyksDQo+ICsgICAg KFVJTlQ4KSAoQl9QQ0hfUE1DX0dFTl9QTUNPTl9TTFBfUzRfQVNFIHwNCj4gVl9QQ0hfUE1DX0dF Tl9QTUNPTl9TTFBfUzRfTUFXXzRTKQ0KPiArICAgICk7DQo+ICsNCj4gK30NCj4gKw0KPiArI2Rl ZmluZSBWX1BDSF9JTEJfSVJRRV9VQVJUSVJRRU5fSVJRMyAgICAgICAgICAgICBCSVQzIC8vIFVB UlQgSVJRMw0KPiBFbmFibGUNCj4gKw0KPiArVk9JRA0KPiArVUFSVEluaXQgKA0KPiArICBJTiBT WVNURU1fQ09ORklHVVJBVElPTiAgICAgICAgKlN5c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgKQ0K PiArew0KPiArICBpZiAoMCkgeyAvLyBmb3IgZml4IGNyNCBpc3N1ZQ0KPiArICAgIC8vDQo+ICsg ICAgLy8gUHJvZ3JhbSBhbmQgZW5hYmxlIFBNQyBCYXNlLg0KPiArICAgIC8vDQo+ICsgICAgSW9X cml0ZTMyICgweENGOCwgIFBDSV9MUENfUkVHKFJfUENIX0xQQ19QTUNfQkFTRSkpOw0KPiArICAg IElvV3JpdGUzMiAoMHhDRkMsICAoUE1DX0JBU0VfQUREUkVTUyB8IEJfUENIX0xQQ19QTUNfQkFT RV9FTikpOw0KPiArDQo+ICsgICAgaWYoIChTeXN0ZW1Db25maWd1cmF0aW9uLT5QY3VVYXJ0MSA9 PSAxKSAmJg0KPiArICAgICAgICAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0hzdWFydDBFbmFi bGVkID09IDApKXsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBFbmFibGUgQ09NMSBmb3IgZGVi dWcgbWVzc2FnZSBvdXRwdXQuDQo+ICsgICAgICAvLw0KPiArICAgICAgTW1pb09yMzIgKFBNQ19C QVNFX0FERFJFU1MgKyBSX1BDSF9QTUNfR0VOX1BNQ09OXzEsDQo+IEJJVDI0KTsNCj4gKw0KPiAr ICAgICAgLy8NCj4gKyAgICAgIC8vRW5hYmxlIGludGVybmFsIFVBUlQzIHBvcnQoQ09NMSkNCj4g KyAgICAgIC8vDQo+ICsgICAgICBNbWlvT3I4IChJTEJfQkFTRV9BRERSRVNTICsgUl9QQ0hfSUxC X0lSUUUsIChVSU5UOCkNCj4gVl9QQ0hfSUxCX0lSUUVfVUFSVElSUUVOX0lSUTMpOw0KPiArICAg ICAgTW1pb09yMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDUyMCwgMHgwMSk7IC8vIFVBUlQzX1JY RC1MDQo+ICsgICAgICBNbWlvT3IzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwNTMwLCAweDAxKTsg Ly8gVUFSVDNfVFhELTANCj4gKyAgICAgIE1taW9PcjggKFBjaUQzMUYwUmVnQmFzZSArIFJfUENI X0xQQ19VQVJUX0NUUkwsIChVSU5UOCkNCj4gQl9QQ0hfTFBDX1VBUlRfQ1RSTF9DT00xX0VOKTsN Cj4gKyAgICB9IGVsc2Ugew0KPiArICAgIAkvLw0KPiArICAgICAgLy9EaXNhYmxlIFVBUlQzKENP TTEpDQo+ICsgICAgICAvLw0KPiArICAgICAgTW1pb0FuZDggKElMQl9CQVNFX0FERFJFU1MgKyBS X1BDSF9JTEJfSVJRRSwgKFVJTlQ4KQ0KPiB+Vl9QQ0hfSUxCX0lSUUVfVUFSVElSUUVOX0lSUTMp Ow0KPiArICAgICAgTW1pb0FuZDMyIChJT19CQVNFX0FERFJFU1MgKyAweDA1MjAsIH4oVUlOVDMy KTB4MDcpOw0KPiArICAgICAgTW1pb0FuZDMyIChJT19CQVNFX0FERFJFU1MgKyAweDA1MzAsIH4o VUlOVDMyKTB4MDcpOw0KPiArICAgICAgTW1pb0FuZDggKFBjaUQzMUYwUmVnQmFzZSArIFJfUENI X0xQQ19VQVJUX0NUUkwsIChVSU5UOCkNCj4gfkJfUENIX0xQQ19VQVJUX0NUUkxfQ09NMV9FTik7 DQo+ICsNCj4gKw0KPiArICAgICAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NIc3VhcnQw RW5hYmxlZCA9PSAxKXsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy9WYWxsZXl2aWV3IEJJ T1MgU3BlY2lmaWNhdGlvbiBWb2wyLDE3LjINCj4gKyAgICAgICAgLy9MUFNTX1VBUlQxIO+/vUMg c2V0IGVhY2ggcGFkIFBBRF9DT05GMC5GdW5jX1Bpbl9NdXggdG8gZnVuY3Rpb24NCj4gMToNCj4g KyAgICAgICAgLy8NCj4gKyAgICAgICAgTW1pb0FuZDggKElPX0JBU0VfQUREUkVTUyArIDB4MDA5 MCwgKFVJTlQ4KX4weDA3KTsNCj4gKyAgICAgICAgTW1pb09yOCAoSU9fQkFTRV9BRERSRVNTICsg MHgwMDkwLCAweDAxKTsNCj4gKyAgICAgICAgTW1pb0FuZDggKElPX0JBU0VfQUREUkVTUyArIDB4 MDBEMCwgKFVJTlQ4KX4weDA3KTsNCj4gKyAgICAgICAgTW1pb09yOCAoSU9fQkFTRV9BRERSRVNT ICsgMHgwMEQwLCAweDAxKTsNCj4gKw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArDQo+ ICsgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkVuYWJsZUludGVybmFsVWFydFxuIikpOw0KPiAr ICB9IGVsc2Ugew0KPiArICAJLy8NCj4gKyAgICAvLyBJZiBTSU8gVUFSVCBpbnRlcmZhY2Ugc2Vs ZWN0ZWQNCj4gKyAgICAvL0Rpc2FibGUgaW50ZXJuYWwgVUFSVCBwb3J0KENPTTEpDQo+ICsgICAg Ly8NCj4gKyAgICBpZiAoMCkgezsgLy8gRm9yIGZpeCBDUjQgaXNzdWUNCj4gKyAgICAgIE1taW9B bmQ4IChJTEJfQkFTRV9BRERSRVNTICsgUl9QQ0hfSUxCX0lSUUUsIChVSU5UOCkNCj4gflZfUENI X0lMQl9JUlFFX1VBUlRJUlFFTl9JUlEzKTsNCj4gKyAgICAgIE1taW9BbmQ4IChJT19CQVNFX0FE RFJFU1MgKyAweDAwOTAsIChVSU5UOCl+MHgwNyk7DQo+ICsgICAgICBNbWlvQW5kOCAoSU9fQkFT RV9BRERSRVNTICsgMHgwMEQwLCAoVUlOVDgpfjB4MDcpOw0KPiArICAgICAgTW1pb0FuZDggKFBj aUQzMUYwUmVnQmFzZSArIFJfUENIX0xQQ19VQVJUX0NUUkwsIChVSU5UOCkNCj4gfkJfUENIX0xQ Q19VQVJUX0NUUkxfQ09NMV9FTik7DQo+ICsNCj4gKyAgICB9DQo+ICsgIH0NCj4gK30NCj4gKw0K PiArVk9JRA0KPiArSWNoUmNyYkluaXQgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VT ICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJT04g ICAgICAgICpTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX0JPT1Rf TU9ERSAgICAgICAgICAgICAgICAgICBCb290TW9kZTsNCj4gKw0KPiArICAoKlBlaVNlcnZpY2Vz KS0+R2V0Qm9vdE1vZGUoUGVpU2VydmljZXMsICZCb290TW9kZSk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gSWYgbm90IHJlY292ZXJ5IG9yIGZsYXNoIHVwZGF0ZSBib290IHBhdGguIHNldCB0aGUg QklPUyBpbnRlcmZhY2UgbG9jaw0KPiBkb3duIGJpdC4NCj4gKyAgLy8gSXQgbG9ja3MgdGhlIHRv cCBzd2FwIGJpdCBhbmQgQklPUyBib290IHN0cmFwIGJpdHMgZnJvbSBiZWluZyBjaGFuZ2VkLg0K PiArICAvLw0KPiArICBpZiAoKEJvb3RNb2RlICE9IEJPT1RfSU5fUkVDT1ZFUllfTU9ERSkgJiYg KEJvb3RNb2RlICE9DQo+IEJPT1RfT05fRkxBU0hfVVBEQVRFKSkgew0KPiArICAgIE1taW9Pcjgg KFJDQkFfQkFTRV9BRERSRVNTICsgUl9QQ0hfUkNSQl9HQ1MsDQo+IEJfUENIX1JDUkJfR0NTX0JJ TEQpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRGlzYWJsZSB0aGUgV2F0Y2hkb2cg dGltZXIgZXhwaXJhdGlvbiBmcm9tIGNhdXNpbmcgYSBzeXN0ZW0gcmVzZXQNCj4gKyAgLy8NCj4g KyAgTW1pb09yOCAoUE1DX0JBU0VfQUREUkVTUyArIFJfUENIX1BNQ19QTV9DRkcsDQo+IEJfUENI X1BNQ19QTV9DRkdfTk9fUkVCT09UKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbml0aWFsIFJD QkEgYWNjb3JkaW5nIHRvIHRoZSBQZWlSQ0JBIHRhYmxlDQo+ICsgIC8vDQo+ICsgIGlmICgoQm9v dE1vZGUgPT0gQk9PVF9PTl9TM19SRVNVTUUpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBXZSBh cmUgcmVzdW1pbmcgZnJvbSBTMw0KPiArICAgIC8vIEVuYWJsZSBIUEVUIGlmIGVuYWJsZWQgaW4g U2V0dXANCj4gKyAgICAvLyBJQ0ggQ29uZmlnIHJlZ2lzdGVyIE9mZnNldCAweDM0MDQgYml0IDcg KEVuYWJsZSkgPSAxLA0KPiArICAgIC8vIEJpdCAxOjAgKE1lbSBJL08gYWRkcmVzcykgPSAwICgw eEZFRDAwMDAwKQ0KPiArICAgIC8vDQo+ICsgICAgTW1pb09yOCAoUl9QQ0hfUENIX0hQRVQgKyBS X1BDSF9QQ0hfSFBFVF9HQ0ZHLA0KPiBCX1BDSF9QQ0hfSFBFVF9HQ0ZHX0VOKTsNCj4gKw0KPiAr ICB9DQo+ICsNCj4gK30NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtQbGF0Zm9ybVBjaElu aXQgKA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICAgKlN5c3RlbUNvbmZpZ3Vy YXRpb24sDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAqKlBlaVNlcnZpY2Vz LA0KPiArICBJTiBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgUGxhdGZvcm1UeXBlDQo+ICsg ICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgU3RhdHVzOw0KPiArICBFRklfQk9PVF9NT0RF ICBCb290TW9kZTsNCj4gKw0KPiArICBTdGF0dXMgPSBQZWlTZXJ2aWNlc0dldEJvb3RNb2RlICgm Qm9vdE1vZGUpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIElj aFJjcmJJbml0IChQZWlTZXJ2aWNlcywgU3lzdGVtQ29uZmlndXJhdGlvbik7DQo+ICsNCj4gKyAg aWYgKEJvb3RNb2RlID09IEJPT1RfSU5fUkVDT1ZFUllfTU9ERSkgew0KPiArICAgIEluc3RhbGxQ ZWlQY2hVc2JQb2xpY3koUGVpU2VydmljZXMpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gUENIIFBvbGljeSBJbml0aWFsaXphdGlvbiBiYXNlZCBvbiBTZXR1cCB2YXJpYWJsZS4NCj4g KyAgLy8NCj4gKyAgUGNoUG9saWN5U2V0dXBJbml0IChQZWlTZXJ2aWNlcywgU3lzdGVtQ29uZmln dXJhdGlvbik7DQo+ICsNCj4gKyAgVUFSVEluaXQoU3lzdGVtQ29uZmlndXJhdGlvbik7DQo+ICsN Cj4gKyAgUGNoUGxhdGZvcm1McGNJbml0IChQZWlTZXJ2aWNlcywgU3lzdGVtQ29uZmlndXJhdGlv bik7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4g Kw0KPiArICBSZXR1cm5zIHRoZSBzdGF0ZSBvZiBBMTYgaW52ZXJzaW9uDQo+ICsNCj4gKyAgQHJl dHZhbCBUUlVFICAgIEExNiBpcyBpbnZlcnRlZA0KPiArICBAcmV0dmFsIEZBTFNFICAgQTE2IGlz IG5vdCBpbnZlcnRlZA0KPiArDQo+ICsqKi8NCj4gK0JPT0xFQU4NCj4gK0lzQTE2SW52ZXJ0ZWQg KA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQ4ICBEYXRhOw0KPiArICBEYXRhID0gTW1pb1JlYWQ4 IChSQ0JBX0JBU0VfQUREUkVTUyArIFJfUENIX1JDUkJfR0NTKTsNCj4gKyAgcmV0dXJuIChEYXRh ICYgQl9QQ0hfUkNSQl9HQ1NfVFMpID8gVFJVRSA6IEZBTFNFOw0KPiArfQ0KPiArDQo+ICtWT0lE DQo+ICtQY2hQb2xpY3lTZXR1cEluaXQgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VT ICoqUGVpU2VydmljZXMsDQo+ICsgIElOIFNZU1RFTV9DT05GSUdVUkFUSU9OICAgKlN5c3RlbUNv bmZpZ3VyYXRpb24NCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAg ICAgU3RhdHVzOw0KPiArICBFRklfUEVJX1BQSV9ERVNDUklQVE9SICAgICAgKlBjaFBsYXRmb3Jt UG9saWN5UHBpRGVzYzsNCj4gKyAgUENIX1BMQVRGT1JNX1BPTElDWV9QUEkgICAgICpQY2hQbGF0 Zm9ybVBvbGljeVBwaTsNCj4gKyAgUENIX0hQRVRfQ09ORklHICAgICAgICAgICAgICpIcGV0Q29u ZmlnOw0KPiArICBQQ0hfUENJRV9DT05GSUcgICAgICAgICAgICAgKlBjaWVDb25maWc7DQo+ICsg IFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4gKyAgUENIX0lPQVBJQ19DT05G SUcgICAgICAgICAgICpJb0FwaWNDb25maWc7DQo+ICsgIFBDSF9MUFNTX0NPTkZJRyAgICAgICAg ICAgICAqTHBzc0NvbmZpZzsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgIFNwaUhz ZnNSZWc7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBTcGlGZG9kUmVnOw0KPiAr DQo+ICsvLw0KPiArLy8gRGlzYWJsZSBjb2RlYyBBTEMtMjYyDQo+ICsvLw0KPiArICBVSU5UMzIg ICAgICAgICAgICAgICAgICAgICAgSW9CYXNlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluc3Rh bGwgUGNoIFBsYXRmb3JtIFBvbGljeSBQUEkuIEFzIHdlIGRlcGVuZCBvbiBQY2ggSW5pdCBQUEkg c28gd2UgYXJlDQo+IGV4ZWN1dGVkIGFmdGVyDQo+ICsgIC8vIFBjaEluaXQgUEVJTS4gVGh1cyB3 ZSBjYW4gaW5zdXJlIFBDSCBJbml0aWFsaXphdGlvbiBpcyBwZXJmb3JtZWQgd2hlbg0KPiB3ZSBp bnN0YWxsIHRoZSBQY2ggUGxhdGZvcm0gUG9saWN5IFBQSSwNCj4gKyAgLy8gYXMgUGNoSW5pdCBQ RUlNIHJlZ2lzdGVyZWQgYSBub3RpZmljYXRpb24gZnVuY3Rpb24gb24gb3VyIHBvbGljeSBQUEku DQo+ICsgIC8vDQo+ICsgIC8vIC0tY3ItLSBGb3IgYmV0dGVyIGNvZGUgc3RydWN0dXJlIC8gbW9k dWxhcml0eSwgd2Ugc2hvdWxkIHVzZSBhDQo+IG5vdGlmaWNhdGlvbiBmdW5jdGlvbiBvbiBQY2gg SW5pdCBQUEkgdG8gcGVyZm9ybQ0KPiArICAvLyBhY3Rpb25zIHRoYXQgZGVwZW5kIG9uIFBjaElu aXQgUEVJTSdzIGluaXRpYWxpemF0aW9uLg0KPiArICAvLw0KPiArICAvL1RvZG86IGNvbmZpcm0g aWYgd2UgbmVlZCB1cGRhdGUgdG8NCj4gUENIX1BMQVRGT1JNX1BPTElDWV9QUElfUkVWSVNJT05f NQ0KPiArICAvLw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiUGNoUG9saWN5U2V0dXBJbml0 KCkgLSBTdGFydFxuIikpOw0KPiArDQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5BbGxv Y2F0ZVBvb2wgKFBlaVNlcnZpY2VzLCBzaXplb2YNCj4gKEVGSV9QRUlfUFBJX0RFU0NSSVBUT1Ip LCAodm9pZCAqKikmUGNoUGxhdGZvcm1Qb2xpY3lQcGlEZXNjKTsNCj4gKyAgQVNTRVJUX0VGSV9F UlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+QWxsb2Nh dGVQb29sIChQZWlTZXJ2aWNlcywgc2l6ZW9mDQo+IChQQ0hfUExBVEZPUk1fUE9MSUNZX1BQSSks ICh2b2lkICoqKSZQY2hQbGF0Zm9ybVBvbGljeVBwaSk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+ICsNCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkFsbG9jYXRlUG9v bCAoUGVpU2VydmljZXMsIHNpemVvZg0KPiAoUENIX0hQRVRfQ09ORklHKSwgKHZvaWQgKiopJkhw ZXRDb25maWcpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIFN0 YXR1cyA9ICgqUGVpU2VydmljZXMpLT5BbGxvY2F0ZVBvb2wgKFBlaVNlcnZpY2VzLCBzaXplb2YN Cj4gKFBDSF9QQ0lFX0NPTkZJRyksICh2b2lkICoqKSZQY2llQ29uZmlnKTsNCj4gKyAgQVNTRVJU X0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+ QWxsb2NhdGVQb29sIChQZWlTZXJ2aWNlcywgc2l6ZW9mDQo+IChQQ0hfSU9BUElDX0NPTkZJRyks ICh2b2lkICoqKSZJb0FwaWNDb25maWcpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMp Ow0KPiArDQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5BbGxvY2F0ZVBvb2wgKFBlaVNl cnZpY2VzLCBzaXplb2YNCj4gKFBDSF9MUFNTX0NPTkZJRyksICh2b2lkICoqKSZMcHNzQ29uZmln KTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBQY2hQbGF0Zm9y bVBvbGljeVBwaS0+UmV2aXNpb24gICAgICAgICAgICAgICAgPQ0KPiBQQ0hfUExBVEZPUk1fUE9M SUNZX1BQSV9SRVZJU0lPTl8xOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+QnVzTnVtYmVy ICAgICAgICAgICAgICAgPQ0KPiBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSDsNCj4gKyAgUGNo UGxhdGZvcm1Qb2xpY3lQcGktPlNwaUJhc2UgICAgICAgICAgICAgICAgID0gU1BJX0JBU0VfQURE UkVTUzsNCj4gKyAgUGNoUGxhdGZvcm1Qb2xpY3lQcGktPlBtY0Jhc2UgICAgICAgICAgICAgICAg ID0gUE1DX0JBU0VfQUREUkVTUzsNCj4gKyAgUGNoUGxhdGZvcm1Qb2xpY3lQcGktPklvQmFzZSAg ICAgICAgICAgICAgICAgID0gSU9fQkFTRV9BRERSRVNTOw0KPiArICBQY2hQbGF0Zm9ybVBvbGlj eVBwaS0+SWxiQmFzZSAgICAgICAgICAgICAgICAgPSBJTEJfQkFTRV9BRERSRVNTOw0KPiArICBQ Y2hQbGF0Zm9ybVBvbGljeVBwaS0+UFVuaXRCYXNlICAgICAgICAgICAgICAgPSBQVU5JVF9CQVNF X0FERFJFU1M7DQo+ICsgIFBjaFBsYXRmb3JtUG9saWN5UHBpLT5NcGh5QmFzZSAgICAgICAgICAg ICAgICA9IE1QSFlfQkFTRV9BRERSRVNTOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+UmNi YSAgICAgICAgICAgICAgICAgICAgPSBSQ0JBX0JBU0VfQUREUkVTUzsNCj4gKyAgUGNoUGxhdGZv cm1Qb2xpY3lQcGktPkFjcGlCYXNlICAgICAgICAgICAgICAgID0gQUNQSV9CQVNFX0FERFJFU1M7 DQo+ICsgIFBjaFBsYXRmb3JtUG9saWN5UHBpLT5HcGlvQmFzZSAgICAgICAgICAgICAgICA9IEdQ SU9fQkFTRV9BRERSRVNTOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+U2F0YU1vZGUgICAg ICAgICAgICAgICAgPSBTeXN0ZW1Db25maWd1cmF0aW9uLQ0KPiA+U2F0YVR5cGU7DQo+ICsgIFBj aFBsYXRmb3JtUG9saWN5UHBpLT5FbmFibGVSbWggICAgICAgICAgICAgICA9IFN5c3RlbUNvbmZp Z3VyYXRpb24tDQo+ID5QY2hVc2JSbWg7DQo+ICsNCj4gKyAgUGNoUGxhdGZvcm1Qb2xpY3lQcGkt PkVoY2lQbGxDZmdFbmFibGUgICAgICAgID0gU3lzdGVtQ29uZmlndXJhdGlvbi0NCj4gPkVoY2lQ bGxDZmdFbmFibGU7DQo+ICsNCj4gKw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+SHBldENv bmZpZyAgICAgICAgICAgICAgPSBIcGV0Q29uZmlnOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBw aS0+UGNpZUNvbmZpZyAgICAgICAgICAgICAgPSBQY2llQ29uZmlnOw0KPiArICBQY2hQbGF0Zm9y bVBvbGljeVBwaS0+SW9BcGljQ29uZmlnICAgICAgICAgICAgPSBJb0FwaWNDb25maWc7DQo+ICsN Cj4gKyAgUGNoUGxhdGZvcm1Qb2xpY3lQcGktPkhwZXRDb25maWctPkVuYWJsZSAgICAgID0gU3lz dGVtQ29uZmlndXJhdGlvbi0NCj4gPkhwZXQ7DQo+ICsgIFBjaFBsYXRmb3JtUG9saWN5UHBpLT5I cGV0Q29uZmlnLT5CYXNlICAgICAgICA9IEhQRVRfQkFTRV9BRERSRVNTOw0KPiArICBQY2hQbGF0 Zm9ybVBvbGljeVBwaS0+SW9BcGljQ29uZmlnLT5Jb0FwaWNJZCAgPSAweDAxOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFNldCBMUFNTIGNvbmZpZ3VyYXRpb24gYWNjb3JkaW5nIHRvIHNldHVwIHZh bHVlLg0KPiArICAvLw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+THBzc0NvbmZpZy0+THBz c1BjaU1vZGVFbmFibGVkICAgPQ0KPiBTeXN0ZW1Db25maWd1cmF0aW9uLT5McHNzUGNpTW9kZUVu YWJsZWQ7DQo+ICsNCj4gKyAgUGNoUGxhdGZvcm1Qb2xpY3lQcGktPkxwc3NDb25maWctPkRtYTFF bmFibGVkICAgID0NCj4gU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0RtYTFFbmFibGVkOw0KPiAr ICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+THBzc0NvbmZpZy0+STJDMEVuYWJsZWQgICAgPSBTeXN0 ZW1Db25maWd1cmF0aW9uLQ0KPiA+THBzc0kyQzBFbmFibGVkOw0KPiArICBQY2hQbGF0Zm9ybVBv bGljeVBwaS0+THBzc0NvbmZpZy0+STJDMUVuYWJsZWQgICAgPSBTeXN0ZW1Db25maWd1cmF0aW9u LQ0KPiA+THBzc0kyQzFFbmFibGVkOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+THBzc0Nv bmZpZy0+STJDMkVuYWJsZWQgICAgPSBTeXN0ZW1Db25maWd1cmF0aW9uLQ0KPiA+THBzc0kyQzJF bmFibGVkOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+THBzc0NvbmZpZy0+STJDM0VuYWJs ZWQgICAgPSBTeXN0ZW1Db25maWd1cmF0aW9uLQ0KPiA+THBzc0kyQzNFbmFibGVkOw0KPiArICBQ Y2hQbGF0Zm9ybVBvbGljeVBwaS0+THBzc0NvbmZpZy0+STJDNEVuYWJsZWQgICAgPSBTeXN0ZW1D b25maWd1cmF0aW9uLQ0KPiA+THBzc0kyQzRFbmFibGVkOw0KPiArICBQY2hQbGF0Zm9ybVBvbGlj eVBwaS0+THBzc0NvbmZpZy0+STJDNUVuYWJsZWQgICAgPSBTeXN0ZW1Db25maWd1cmF0aW9uLQ0K PiA+THBzc0kyQzVFbmFibGVkOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+THBzc0NvbmZp Zy0+STJDNkVuYWJsZWQgICAgPSBTeXN0ZW1Db25maWd1cmF0aW9uLQ0KPiA+THBzc0kyQzZFbmFi bGVkOw0KPiArDQo+ICsgIFBjaFBsYXRmb3JtUG9saWN5UHBpLT5McHNzQ29uZmlnLT5EbWEwRW5h YmxlZCAgICA9DQo+IFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NEbWEwRW5hYmxlZDs7DQo+ICsg IFBjaFBsYXRmb3JtUG9saWN5UHBpLT5McHNzQ29uZmlnLT5Qd20wRW5hYmxlZCAgICA9DQo+IFN5 c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NQd20wRW5hYmxlZDsNCj4gKyAgUGNoUGxhdGZvcm1Qb2xp Y3lQcGktPkxwc3NDb25maWctPlB3bTFFbmFibGVkICAgID0NCj4gU3lzdGVtQ29uZmlndXJhdGlv bi0+THBzc1B3bTFFbmFibGVkOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+THBzc0NvbmZp Zy0+SHN1YXJ0MEVuYWJsZWQgPQ0KPiBTeXN0ZW1Db25maWd1cmF0aW9uLT5McHNzSHN1YXJ0MEVu YWJsZWQ7DQo+ICsgIFBjaFBsYXRmb3JtUG9saWN5UHBpLT5McHNzQ29uZmlnLT5Ic3VhcnQxRW5h YmxlZCA9DQo+IFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NIc3VhcnQxRW5hYmxlZDsNCj4gKyAg UGNoUGxhdGZvcm1Qb2xpY3lQcGktPkxwc3NDb25maWctPlNwaUVuYWJsZWQgICAgID0gU3lzdGVt Q29uZmlndXJhdGlvbi0NCj4gPkxwc3NTcGlFbmFibGVkOw0KPiArDQo+ICsNCj4gKyAgZm9yIChJ bmRleCA9IDA7IEluZGV4IDwgUENIX1BDSUVfTUFYX1JPT1RfUE9SVFM7IEluZGV4KyspIHsNCj4g KyAgICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+UGNpZUNvbmZpZy0+UGNpZVNwZWVkW0luZGV4XSA9 DQo+IFN5c3RlbUNvbmZpZ3VyYXRpb24tPlBjaWVSb290UG9ydFNwZWVkW0luZGV4XTsNCj4gKyAg fQ0KPiArDQo+ICsgIFNwaUhzZnNSZWcgPSBNbWlvUmVhZDMyIChTUElfQkFTRV9BRERSRVNTICsg Ul9QQ0hfU1BJX0hTRlMpOw0KPiArICBpZiAoKFNwaUhzZnNSZWcgJiBCX1BDSF9TUElfSFNGU19G RFYpID09IEJfUENIX1NQSV9IU0ZTX0ZEVikgew0KPiArICAgIE1taW9Xcml0ZTMyIChTUElfQkFT RV9BRERSRVNTICsgUl9QQ0hfU1BJX0ZET0MsDQo+IFZfUENIX1NQSV9GRE9DX0ZEU1NfRlNETSk7 DQo+ICsgICAgU3BpRmRvZFJlZyA9IE1taW9SZWFkMzIgKFNQSV9CQVNFX0FERFJFU1MgKyBSX1BD SF9TUElfRkRPRCk7DQo+ICsgICAgaWYgKFNwaUZkb2RSZWcgPT0gVl9QQ0hfU1BJX0ZEQkFSX0ZM VkFMU0lHKSB7DQo+ICsgICAgfQ0KPiArICAvLw0KPiArICAvLyBEaXNhYmxlIGNvZGVjIEFMQy0y NjINCj4gKyAgLy8NCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkRpc2FibGVDb2RlYzI2 MiA9PSAxKSB7DQo+ICsgICAgICBJb0Jhc2UgPSBNbWlvUmVhZDMyIChNbVBjaUFkZHJlc3MgKDAs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBQY2hQbGF0Zm9ybVBvbGljeVBwaS0+QnVzTnVt YmVyLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQ QywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQ QywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIDANCj4gKyAgICAgICAgICAgICAgICAgICAg ICApICsgUl9QQ0hfTFBDX0lPX0JBU0UpICYgQl9QQ0hfTFBDX0lPX0JBU0VfQkFSOw0KPiArICAg ICAgTW1pb0FuZDMyICgoVUlOVE4pIChJb0Jhc2UgKyAweDI3MCksIChVSU5UMzIpICh+MHgwNykp Ow0KPiArICB9DQo+ICsgIH0NCj4gKw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaURlc2MtPkZs YWdzID0gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9QUEkgfA0KPiBFRklfUEVJX1BQSV9ERVNDUklQ VE9SX1RFUk1JTkFURV9MSVNUOw0KPiArICBQY2hQbGF0Zm9ybVBvbGljeVBwaURlc2MtPkd1aWQg PSAmZ1BjaFBsYXRmb3JtUG9saWN5UHBpR3VpZDsNCj4gKyAgUGNoUGxhdGZvcm1Qb2xpY3lQcGlE ZXNjLT5QcGkgPSBQY2hQbGF0Zm9ybVBvbGljeVBwaTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJ bnN0YWxsIFBDSCBQbGF0Zm9ybSBQb2xpY3kgUFBJDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9ICgq KlBlaVNlcnZpY2VzKS5JbnN0YWxsUHBpICgNCj4gKyAgICAgICAgICAgICAgUGVpU2VydmljZXMs DQo+ICsgICAgICAgICAgICAgIFBjaFBsYXRmb3JtUG9saWN5UHBpRGVzYw0KPiArICAgICAgICAg ICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIERFQlVH ICgoRUZJX0RfRVJST1IsICJQY2hQb2xpY3lTZXR1cEluaXQoKSAtIEVuZFxuIikpOw0KPiArfQ0K PiArDQo+ICtFRklfU1RBVFVTDQo+ICtJbnN0YWxsUGVpUGNoVXNiUG9saWN5ICgNCj4gKyAgSU4g Q09OU1QgIEVGSV9QRUlfU0VSVklDRVMgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gKw0KPiAr ICBFRklfUEVJX1BQSV9ERVNDUklQVE9SICAqUGVpUGNoVXNiUG9saWN5UHBpRGVzYzsNCj4gKyAg UENIX1VTQl9QT0xJQ1lfUFBJICAgICAgKlBlaVBjaFVzYlBvbGljeVBwaTsNCj4gKyAgUENIX1VT Ql9DT05GSUcgICAgICAgICAgKlVzYkNvbmZpZzsNCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0lO Rk8sICJJbnN0YWxsUGVpUGNoVXNiUG9saWN5Li4uXG4iKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQWxsb2NhdGUgZGVzY3JpcHRvciBhbmQgUFBJIHN0cnVjdHVyZXMuICBTaW5jZSB0aGVzZSBh cmUgZHluYW1pY2FsbHkNCj4gdXBkYXRlZA0KPiArICAvLyB3ZSBjYW5ub3QgZG8gYSBnbG9iYWwg dmFyaWFibGUgUFBJLg0KPiArICAvLw0KPiArICBTdGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+QWxs b2NhdGVQb29sIChQZWlTZXJ2aWNlcywgc2l6ZW9mDQo+IChFRklfUEVJX1BQSV9ERVNDUklQVE9S KSwgKHZvaWQgKiopJlBlaVBjaFVzYlBvbGljeVBwaURlc2MpOw0KPiArDQo+ICsNCj4gKyAgU3Rh dHVzID0gKCpQZWlTZXJ2aWNlcyktPkFsbG9jYXRlUG9vbCAoUGVpU2VydmljZXMsIHNpemVvZg0K PiAoUENIX1VTQl9QT0xJQ1lfUFBJKSwgKHZvaWQgKiopJlBlaVBjaFVzYlBvbGljeVBwaSk7DQo+ ICsNCj4gKw0KPiArDQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5BbGxvY2F0ZVBvb2wg KFBlaVNlcnZpY2VzLCBzaXplb2YNCj4gKFBDSF9VU0JfQ09ORklHKSwgKHZvaWQgKiopJlVzYkNv bmZpZyk7DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbml0aWF0ZSBQQ0ggVVNCIHBvbGlj eS4NCj4gKyAgLy8NCj4gKyAgUGVpUGNoVXNiUG9saWN5UHBpLT5SZXZpc2lvbiA9IFBDSF9VU0Jf UE9MSUNZX1BQSV9SRVZJU0lPTl8xOw0KPiArICBVc2JDb25maWctPlVzYjIwU2V0dGluZ3NbMF0u RW5hYmxlICA9IFBDSF9ERVZJQ0VfRU5BQkxFOw0KPiArICBVc2JDb25maWctPlVzYlBlclBvcnRD dGwgICAgICAgICAgICA9IFBDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgVXNiQ29uZmlnLT5FaGNp MVVzYnIgICAgICAgICAgICAgICAgPSBQQ0hfREVWSUNFX0RJU0FCTEU7DQo+ICsNCj4gKyAgVXNi Q29uZmlnLT5Vc2IyME92ZXJDdXJyZW50UGluc1swXSA9IFBjaFVzYk92ZXJDdXJyZW50UGluMDsN Cj4gKw0KPiArICBVc2JDb25maWctPlVzYjIwT3ZlckN1cnJlbnRQaW5zWzFdID0gUGNoVXNiT3Zl ckN1cnJlbnRQaW4wOw0KPiArDQo+ICsgIFVzYkNvbmZpZy0+VXNiMjBPdmVyQ3VycmVudFBpbnNb Ml0gPSBQY2hVc2JPdmVyQ3VycmVudFBpbjE7DQo+ICsNCj4gKyAgVXNiQ29uZmlnLT5Vc2IyME92 ZXJDdXJyZW50UGluc1szXSA9IFBjaFVzYk92ZXJDdXJyZW50UGluMTsNCj4gKw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIEVuYWJsZSBVU0IgVG9wb2xvZ3kgY29udHJvbCBhbmQgcHJvZ3JhbSB0aGUg dG9wb2xvZ3kgc2V0dGluZyBmb3IgZXZlcnkNCj4gVVNCIHBvcnQNCj4gKyAgLy8gU2VlIFBsYXRm b3JtIERlc2lnbiBHdWlkZSBmb3IgZGVzY3JpcHRpb24gb2YgdG9wb2xvZ2llcw0KPiArICAvLw0K PiArICAgIC8vDQo+ICsgICAgLy8gUG9ydCAwOiB+MTAuOSIsIFBvcnQgMTogfjEwLjEiLCBQb3J0 IDI6IH4xMS4yIiwgUG9ydCAzOiB+MTEuNSIsIFBvcnQgNDogfjMuNyIsDQo+IFBvcnQgNTogfjIu NyIsIFBvcnQgNjogfjQuMSINCj4gKyAgICAvLyBQb3J0IDc6IH40LjUiLCBQb3J0IDg6IH4xMC43 IiwgUG9ydCA5OiB+MTAuNSIsIFBvcnQgMTA6IH40LjIiLCBQb3J0IDExOiB+NC4zIiwNCj4gUG9y dCAxMjogfjMuMSIsIFBvcnQgMTM6IH4yLjkiDQo+ICsgICAgLy8NCj4gKw0KPiArICAgIC8vDQo+ ICsgICAgLy8gUG9ydCAwOiB+My41IiwgUG9ydCAxOiB+NC4xIiwgUG9ydCAyOiB+NC42IiwgUG9y dCAzOiB+NC42IiwgUG9ydCA0OiB+MTIuNSIsDQo+IFBvcnQgNTogfjEyIiwgUG9ydCA2OiB+NS4x Ig0KPiArICAgIC8vIFBvcnQgNzogfjUuMSIsIFBvcnQgODogfjQuMSIsIFBvcnQgOTogfjQuMSIs IFBvcnQgMTA6IH4xNC41IiwgUG9ydCAxMTogfjEyLjgiLA0KPiBQb3J0IDEyOiB+MTIuOSIsIFBv cnQgMTM6IH4xNC42Ig0KPiArICAgIC8vDQo+ICsgIFVzYkNvbmZpZy0+VXNiMjBQb3J0TGVuZ3Ro WzBdICA9IDB4NTM7DQo+ICsgIFVzYkNvbmZpZy0+VXNiMjBQb3J0TGVuZ3RoWzFdICA9IDB4NDk7 DQo+ICsgIFVzYkNvbmZpZy0+VXNiMjBQb3J0TGVuZ3RoWzJdICA9IDB4NDc7DQo+ICsgIFVzYkNv bmZpZy0+VXNiMjBQb3J0TGVuZ3RoWzNdICA9IDB4ODA7DQo+ICsNCj4gKyAgUGVpUGNoVXNiUG9s aWN5UHBpLT5Nb2RlID0gRUhDSV9NT0RFOw0KPiArDQo+ICsgIFBlaVBjaFVzYlBvbGljeVBwaS0+ RWhjaU1lbUJhc2VBZGRyID0NCj4gUGNkR2V0MzIoUGNkUGVpSWNoRWhjaUNvbnRyb2xsZXJNZW1v cnlCYXNlQWRkcmVzcyk7DQo+ICsNCj4gKyAgUGVpUGNoVXNiUG9saWN5UHBpLT5FaGNpTWVtTGVu Z3RoICAgPSAoVUlOVDMyKSAweDQwMCAqDQo+IFBjaEVoY2lDb250cm9sbGVyTWF4Ow0KPiArDQo+ ICsgIFBlaVBjaFVzYlBvbGljeVBwaS0+WGhjaU1lbUJhc2VBZGRyID0gMDsNCj4gKw0KPiArICBQ ZWlQY2hVc2JQb2xpY3lQcGktPlVzYkNvbmZpZyAgICAgICA9IFVzYkNvbmZpZzsNCj4gKw0KPiAr ICBQZWlQY2hVc2JQb2xpY3lQcGlEZXNjLT5GbGFncyAgICAgICA9IEVGSV9QRUlfUFBJX0RFU0NS SVBUT1JfUFBJIHwNCj4gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVDsNCj4g Kw0KPiArICBQZWlQY2hVc2JQb2xpY3lQcGlEZXNjLT5HdWlkICAgICAgICA9ICZnUGNoVXNiUG9s aWN5UHBpR3VpZDsNCj4gKw0KPiArICBQZWlQY2hVc2JQb2xpY3lQcGlEZXNjLT5QcGkgICAgICAg ICA9IFBlaVBjaFVzYlBvbGljeVBwaTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbnN0YWxsIFBD SCBVU0IgUG9saWN5IFBQSQ0KPiArICAvLw0KPiArICBTdGF0dXMgPSAoKipQZWlTZXJ2aWNlcyku SW5zdGFsbFBwaSAoUGVpU2VydmljZXMsIFBlaVBjaFVzYlBvbGljeVBwaURlc2MpOw0KPiArDQo+ ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGxhdGZvcm1FYXJseUluaXQuYw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9QbGF0 Zm9ybUVhcmx5SW5pdC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLmEzNTljOTU5MjANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGxhdGZvcm1FYXJseUluaXQuYw0KPiBA QCAtMCwwICsxLDExOTUgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykg MjAwNCAgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQ bGF0Zm9ybUVhcmx5SW5pdC5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIERvIHBsYXRm b3JtIHNwZWNpZmljIFBFSSBzdGFnZSBpbml0aWFsaXphdGlvbnMuDQo+ICsNCj4gKy0tKi8NCj4g Kw0KPiArDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1FYXJseUluaXQuaCINCj4gKw0KPiArI2lmZGVm IF9fR05VQ19fDQo+ICsjcHJhZ21hIEdDQyBwdXNoX29wdGlvbnMNCj4gKyNwcmFnbWEgR0NDIG9w dGltaXplICgiTzAiKQ0KPiArI2Vsc2UNCj4gKyNwcmFnbWEgb3B0aW1pemUgKCIiLCBvZmYpDQo+ ICsjZW5kaWYNCj4gKw0KPiArDQo+ICsNCj4gK3N0YXRpYyBFRklfUEVJX1NUQUxMX1BQSSAgbVN0 YWxsUHBpID0gew0KPiArICBQRUlfU1RBTExfUkVTT0xVVElPTiwNCj4gKyAgU3RhbGwNCj4gK307 DQo+ICsNCj4gK3N0YXRpYyBFRklfUEVJX1BQSV9ERVNDUklQVE9SIG1JbnN0YWxsU3RhbGxQcGkg PSB7DQo+ICsgIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJIHwNCj4gRUZJX1BFSV9QUElfREVT Q1JJUFRPUl9URVJNSU5BVEVfTElTVCwNCj4gKyAgJmdFZmlQZWlTdGFsbFBwaUd1aWQsDQo+ICsg ICZtU3RhbGxQcGkNCj4gK307DQo+ICsNCj4gKy8vDQo+ICsvLyBUaGUgcmVzZXJ2ZWQgU01CdXMg YWRkcmVzc2VzIGFyZSBkZWZpbmVkIGluIFBsYXRmb3JtRHhlLmggZmlsZS4NCj4gKy8vDQo+ICtz dGF0aWMgVUlOVDggbVNtYnVzUnN2ZEFkZHJlc3Nlc1tdID0NCj4gUExBVEZPUk1fU01CVVNfUlNW RF9BRERSRVNTRVM7DQo+ICtzdGF0aWMgUEVJX1NNQlVTX1BPTElDWV9QUEkgICAgICAgICBtU21i dXNQb2xpY3lQcGkgPSB7DQo+ICsgIFNNQlVTX0JBU0VfQUREUkVTUywNCj4gKyAgU01CVVNfQlVT X0RFVl9GVU5DLA0KPiArICBQTEFURk9STV9OVU1fU01CVVNfUlNWRF9BRERSRVNTRVMsDQo+ICsg IG1TbWJ1c1JzdmRBZGRyZXNzZXMNCj4gK307DQo+ICsNCj4gK3N0YXRpYyBFRklfUEVJX1BQSV9E RVNDUklQVE9SICAgICAgIG1JbnN0YWxsU21idXNQb2xpY3lQcGkgPSB7DQo+ICsgIEVGSV9QRUlf UFBJX0RFU0NSSVBUT1JfUFBJIHwNCj4gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9URVJNSU5BVEVf TElTVCwNCj4gKyAgJmdQZWlTbWJ1c1BvbGljeVBwaUd1aWQsDQo+ICsgICZtU21idXNQb2xpY3lQ cGkNCj4gK307DQo+ICtzdGF0aWMgUEVJX1NQRUFLRVJfSUZfUFBJICAgIG1TcGVha2VySW50ZXJm YWNlUHBpID0gew0KPiArICBQcm9ncmFtVG9uZUZyZXF1ZW5jeSwNCj4gKyAgR2VuZXJhdGVCZWVw VG9uZQ0KPiArfTsNCj4gKw0KPiArc3RhdGljIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1IgICAgICAg bUluc3RhbGxTcGVha2VySW50ZXJmYWNlUHBpID0gew0KPiArICBFRklfUEVJX1BQSV9ERVNDUklQ VE9SX1BQSSB8DQo+IEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfVEVSTUlOQVRFX0xJU1QsDQo+ICsg ICZnUGVpU3BlYWtlckludGVyZmFjZVBwaUd1aWQsDQo+ICsgICZtU3BlYWtlckludGVyZmFjZVBw aQ0KPiArfTsNCj4gKw0KPiArc3RhdGljIEVGSV9QRUlfUkVTRVRfUFBJICAgICAgICAgICAgbVJl c2V0UHBpID0geyBJY2hSZXNldCB9Ow0KPiArDQo+ICsNCj4gK3N0YXRpYyBFRklfUEVJX0ZJTkRf RlZfUFBJIG1FZmlGaW5kRnZQcGkgPSB7DQo+ICsgIChFRklfUEVJX0ZJTkRfRlZfRklOREZWKUZp bmRGdg0KPiArfTsNCj4gKw0KPiArc3RhdGljIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1IgICAgICAg bVBwaUxpc3RbXSA9IHsNCj4gKyAgew0KPiArICAgIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJ LA0KPiArICAgICZnRWZpUGVpTWFzdGVyQm9vdE1vZGVQcGlHdWlkLA0KPiArICAgIE5VTEwNCj4g KyAgfSwNCj4gKyAgew0KPiArICAgIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJLA0KPiArICAg ICZnRWZpUGVpUmVzZXRQcGlHdWlkLA0KPiArICAgICZtUmVzZXRQcGkNCj4gKyAgfSwNCj4gKyAg ew0KPiArICAgIChFRklfUEVJX1BQSV9ERVNDUklQVE9SX1BQSSB8DQo+IEVGSV9QRUlfUFBJX0RF U0NSSVBUT1JfVEVSTUlOQVRFX0xJU1QpLA0KPiArICAgICZnRWZpRmluZEZ2UHBpR3VpZCwNCj4g KyAgICAmbUVmaUZpbmRGdlBwaQ0KPiArICB9DQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgRUZJX1BF SV9OT1RJRllfREVTQ1JJUFRPUiAgICBtTm90aWZ5TGlzdFtdID0gew0KPiArICB7DQo+ICsgICAg RUZJX1BFSV9QUElfREVTQ1JJUFRPUl9OT1RJRllfQ0FMTEJBQ0ssDQo+ICsgICAgJmdFZmlFbmRP ZlBlaVNpZ25hbFBwaUd1aWQsDQo+ICsgICAgKEVGSV9QRUlNX05PVElGWV9FTlRSWV9QT0lOVClF bmRPZlBlaVBwaU5vdGlmeUNhbGxiYWNrDQo+ICsgIH0sDQo+ICsgIHsNCj4gKyAgICAoRUZJX1BF SV9QUElfREVTQ1JJUFRPUl9OT1RJRllfQ0FMTEJBQ0t8DQo+IEVGSV9QRUlfUFBJX0RFU0NSSVBU T1JfVEVSTUlOQVRFX0xJU1QpLA0KPiArICAgICZnRWZpUGVpTWVtb3J5RGlzY292ZXJlZFBwaUd1 aWQsDQo+ICsgICAgKEVGSV9QRUlNX05PVElGWV9FTlRSWV9QT0lOVClNZW1vcnlEaXNjb3ZlcmVk UHBpTm90aWZ5Q2FsbGJhY2sNCj4gKyAgfQ0KPiArDQo+ICt9Ow0KPiArDQo+ICsNCj4gKy8qKg0K PiArDQo+ICsgIFBhcnNlIHRoZSBzdGF0dXMgcmVnaXN0ZXJzIGZvciBmaWd1cmluZyBvdXQgdGhl IHdha2UtdXAgZXZlbnQgYW5kIHNhdmUgaXQNCj4gaW50bw0KPiArICBhbiBHVUlEIEhPQiB3aGlj aCB3aWxsIGJlIHJlZmVyZW5jZWQgbGF0ZXIuIEhvd2V2ZXIsIG1vZGlmaWNhdGlvbiBpcw0KPiBy ZXF1aXJlZA0KPiArICB0byBtZWV0IHRoZSBjaGlwc2V0IHJlZ2lzdGVyIGRlZmluaXRpb24gYW5k IHRoZSBwcmFjdGljYWwgaGFyZHdhcmUgZGVzaWduLg0KPiBUaHVzLA0KPiArICB0aGlzIGlzIGp1 c3QgYW4gZXhhbXBsZS4NCj4gKw0KPiArDQo+ICsgIEBwYXJhbSBQZWlTZXJ2aWNlcyAgICBwb2lu dGVyIHRvIHRoZSBQRUkgU2VydmljZSBUYWJsZQ0KPiArICBAcGFyYW0gRUZJX1NVQ0NFU1MgICAg QWx3YXlzIHJldHVybiBTdWNjZXNzDQo+ICsNCj4gKyAgQHJldHZhbCBOb25lDQo+ICsNCj4gKw0K PiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0dldFdha2V1cEV2ZW50QW5kU2F2 ZVRvSG9iICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICoqUGVpU2VydmljZXMN Cj4gKyAgKQ0KPiArew0KPiArICBVSU5UMTYgIFBtMVN0czsNCj4gKyAgVUlOVE4gICBHcGUwU3Rz Ow0KPiArICBVSU5UTiAgIFdha2VFdmVudERhdGE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVh ZCB0aGUgQUNQSSByZWdpc3RlcnMNCj4gKyAgLy8NCj4gKyAgUG0xU3RzICA9IElvUmVhZDE2IChB Q1BJX0JBU0VfQUREUkVTUyArIFJfUENIX0FDUElfUE0xX1NUUyk7DQo+ICsgIEdwZTBTdHMgPSBJ b1JlYWQzMiAoQUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9BQ1BJX0dQRTBhX1NUUyk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gRmlndXJlIG91dCB0aGUgd2FrZS11cCBldmVudA0KPiArICAvLw0K PiArICBpZiAoKFBtMVN0cyAmIEJfUENIX0FDUElfUE0xX1NUU19QV1JCVE4pICE9IDApIHsNCj4g KyAgICBXYWtlRXZlbnREYXRhID0gU01CSU9TX1dBS0VVUF9UWVBFX1BPV0VSX1NXSVRDSDsNCj4g KyAgfSBlbHNlIGlmICgoKFBtMVN0cyAmIEJfUENIX0FDUElfUE0xX1NUU19XQUspICE9IDApKSB7 DQo+ICsgICAgV2FrZUV2ZW50RGF0YSA9IFNNQklPU19XQUtFVVBfVFlQRV9QQ0lfUE1FOw0KPiAr ICB9IGVsc2UgaWYgKEdwZTBTdHMgIT0gMCkgew0KPiArICAgIFdha2VFdmVudERhdGEgPSBTTUJJ T1NfV0FLRVVQX1RZUEVfT1RIRVJTOw0KPiArICB9IGVsc2Ugew0KPiArICAgIFdha2VFdmVudERh dGEgPSBTTUJJT1NfV0FLRVVQX1RZUEVfVU5LTk9XTjsNCj4gKyAgfQ0KPiArDQo+ICsgIERFQlVH ICgoRUZJX0RfRVJST1IsICJBQ1BJIFdha2UgU3RhdHVzIFJlZ2lzdGVyOiAlMDR4XG4iLCBQbTFT dHMpKTsNCj4gKyAgREVCVUcgKChFRklfRF9FUlJPUiwgIkFDUEkgV2FrZSBFdmVudCBEYXRhOiAl MDJ4XG4iLA0KPiBXYWtlRXZlbnREYXRhKSk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXRTZXR1cFZhcmlhYmxlICgNCj4gKyAg SU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0K PiArICBJTiAgIFNZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICAgICpTeXN0ZW1Db25maWd1cmF0 aW9uDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICBWYXJp YWJsZVNpemU7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiAr ICBFRklfUEVJX1JFQURfT05MWV9WQVJJQUJMRTJfUFBJICAgKlZhcmlhYmxlOw0KPiArDQo+ICsg IFZhcmlhYmxlU2l6ZSA9IHNpemVvZiAoU1lTVEVNX0NPTkZJR1VSQVRJT04pOw0KPiArICBaZXJv TWVtIChTeXN0ZW1Db25maWd1cmF0aW9uLCBzaXplb2YgKFNZU1RFTV9DT05GSUdVUkFUSU9OKSk7 DQo+ICsNCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkxvY2F0ZVBwaSAoDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmZ0VmaVBlaVJlYWRPbmx5VmFyaWFibGUyUHBpR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQg KiopJlZhcmlhYmxlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFT U0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXNlIG5vcm1h bCBzZXR1cCBkZWZhdWx0IGZyb20gTlZSQU0gdmFyaWFibGUsDQo+ICsgIC8vIHRoZSBQbGF0Zm9y bSBNb2RlIChtYW51ZmFjdHVyaW5nL3NhZmUvbm9ybWFsKSBpcyBoYW5kbGUgaW4NCj4gUGVpR2V0 VmFyaWFibGUuDQo+ICsgIC8vDQo+ICsgIFZhcmlhYmxlU2l6ZSA9IHNpemVvZihTWVNURU1fQ09O RklHVVJBVElPTik7DQo+ICsgIFN0YXR1cyA9IFZhcmlhYmxlLT5HZXRWYXJpYWJsZSAoDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICBMIlNldHVwIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlTZXR1cFZhcmlhYmxl R3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgJlZhcmlhYmxlU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgU3lzdGVt Q29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpIHx8IFZhcmlhYmxlU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VS QVRJT04pKQ0KPiB7DQo+ICsgICAgLy9UaGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ ICsgICAgVmFyaWFibGVTaXplID0gc2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAg ICBTdGF0dXMgPSBWYXJpYWJsZS0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgIFZhcmlh YmxlLA0KPiArICAgICAgICAgICAgICBMIlNldHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAgICAg ICAmZ0VmaVNldHVwVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICBOVUxMLA0KPiArICAg ICAgICAgICAgICAmVmFyaWFibGVTaXplLA0KPiArICAgICAgICAgICAgICBTeXN0ZW1Db25maWd1 cmF0aW9uDQo+ICsgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3Rh dHVzKTsNCj4gKyAgfQ0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICtFRklfU1RB VFVTDQo+ICtWbHZQb2xpY3lJbml0ICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAg ICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElPTiAg ICAgICAgICpTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRV UyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9QRUlfUFBJX0RFU0NSSVBU T1IgICAgICAgICAgKm1WbHZQb2xpY3lQcGlEZXNjOw0KPiArICBWTFZfUE9MSUNZX1BQSSAgICAg ICAgICAgICAgICAgICAqbVZsdlBvbGljeVBwaTsNCj4gKw0KPiArICBTdGF0dXMgPSAoKlBlaVNl cnZpY2VzKS0+QWxsb2NhdGVQb29sKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ ZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2l6ZW9mIChFRklf UEVJX1BQSV9ERVNDUklQVE9SKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZv aWQgKiopJm1WbHZQb2xpY3lQcGlEZXNjDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgU3RhdHVzID0g KCpQZWlTZXJ2aWNlcyktPkFsbG9jYXRlUG9vbCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv ZiAoVkxWX1BPTElDWV9QUEkpLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9p ZCAqKikmbVZsdlBvbGljeVBwaQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0K PiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIElu aXRpYWxpemUgUFBJDQo+ICsgIC8vDQo+ICsgICgqUGVpU2VydmljZXMpLT5TZXRNZW0gKChWT0lE ICopbVZsdlBvbGljeVBwaSwgc2l6ZW9mDQo+IChWTFZfUE9MSUNZX1BQSSksIDApOw0KPiArICBt Vmx2UG9saWN5UHBpRGVzYy0+RmxhZ3MgPSBFRklfUEVJX1BQSV9ERVNDUklQVE9SX1BQSSB8DQo+ IEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfVEVSTUlOQVRFX0xJU1Q7DQo+ICsgIG1WbHZQb2xpY3lQ cGlEZXNjLT5HdWlkID0gJmdWbHZQb2xpY3lQcGlHdWlkOw0KPiArICBtVmx2UG9saWN5UHBpRGVz Yy0+UHBpID0gbVZsdlBvbGljeVBwaTsNCj4gKyAgbVZsdlBvbGljeVBwaS0+R3RDb25maWcuUHJp bWFyeURpc3BsYXkgPSBTeXN0ZW1Db25maWd1cmF0aW9uLQ0KPiA+UHJpbWFyeVZpZGVvQWRhcHRv cjsNCj4gKyAgbVZsdlBvbGljeVBwaS0+R3RDb25maWcuSWdkRHZtdDUwUHJlQWxsb2MgPSBTeXN0 ZW1Db25maWd1cmF0aW9uLQ0KPiA+SWdkRHZtdDUwUHJlQWxsb2M7DQo+ICsgIG1WbHZQb2xpY3lQ cGktPkd0Q29uZmlnLkFwZXJ0dXJlU2l6ZSA9IFN5c3RlbUNvbmZpZ3VyYXRpb24tDQo+ID5JZ2RB cGVydHVyZVNpemU7DQo+ICsgIG1WbHZQb2xpY3lQcGktPkd0Q29uZmlnLkd0dFNpemUgPSBTeXN0 ZW1Db25maWd1cmF0aW9uLT5HVFRTaXplOw0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+ UHJpbWFyeVZpZGVvQWRhcHRvciAhPSAyKSB7DQo+ICsgICAgbVZsdlBvbGljeVBwaS0+R3RDb25m aWcuSW50ZXJuYWxHcmFwaGljcyA9IFN5c3RlbUNvbmZpZ3VyYXRpb24tPklnZDsNCj4gKyAgfSBl bHNlIHsNCj4gKyAgICBtVmx2UG9saWN5UHBpLT5HdENvbmZpZy5JbnRlcm5hbEdyYXBoaWNzID0g MDsNCj4gKyAgfQ0KPiArDQo+ICsNCj4gKyAgbVZsdlBvbGljeVBwaS0+R3RDb25maWcuSWdkVHVy Ym9FbiA9IDE7DQo+ICsNCj4gKw0KPiArICBtVmx2UG9saWN5UHBpLT5QbGF0Zm9ybURhdGEuRmFz dEJvb3QgPSBTeXN0ZW1Db25maWd1cmF0aW9uLT5GYXN0Qm9vdDsNCj4gKyAgbVZsdlBvbGljeVBw aS0+UGxhdGZvcm1EYXRhLkR5blNSID0gMTsNCj4gKyAgREVCVUcgKChFRklfRF9FUlJPUiwgIlNl dHVwIE9wdGlvbiBJU1BFbjogMHgleFxuIiwNCj4gU3lzdGVtQ29uZmlndXJhdGlvbi0+SVNQRW4p KTsNCj4gKyAgbVZsdlBvbGljeVBwaS0+SVNQRW4gICAgICAgICAgICAgICAgICAgICAgPSBTeXN0 ZW1Db25maWd1cmF0aW9uLT5JU1BFbjsNCj4gKyAgREVCVUcgKChFRklfRF9FUlJPUiwgIlNldHVw IE9wdGlvbiBJU1BEZXZTZWw6IDB4JXhcbiIsDQo+IFN5c3RlbUNvbmZpZ3VyYXRpb24tPklTUERl dlNlbCkpOw0KPiArICBtVmx2UG9saWN5UHBpLT5JU1BQY2lEZXZDb25maWcgICAgICAgICAgICA9 IFN5c3RlbUNvbmZpZ3VyYXRpb24tPklTUERldlNlbDsNCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3Vy YXRpb24tPklTUEVuID09IDApIHsNCj4gKyAgICBtVmx2UG9saWN5UHBpLT5JU1BQY2lEZXZDb25m aWcgICAgICAgICAgPSAwOw0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJVcGRhdGUgU2V0 dXAgT3B0aW9uIElTUERldlNlbDogMHgleFxuIiwNCj4gbVZsdlBvbGljeVBwaS0+SVNQUGNpRGV2 Q29uZmlnKSk7DQo+ICsgIH0NCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkluc3RhbGxQ cGkoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtVmx2UG9saWN5UHBpRGVzYw0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0K PiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ICtFRklfU1RB VFVTDQo+ICtDb25maWd1cmVTb0NHcGlvICgNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJT04g ICpTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICkNCj4gK3sNCj4gKw0KPiArICAgIERFQlVHICgo RUZJX0RfRVJST1IsICJDb25maWd1cmVTb0NHcGlvLS0tLS0tLS0tLS0tc3RhcnRcbiIpKTsNCj4g KyAgICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+ZU1NQ0Jvb3RNb2RlPT0gMSkgey8vIEF1dG8g ZGV0ZWN0aW9uIG1vZGUNCj4gKyAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkF1dG8gZGV0ZWN0 aW9uIG1vZGUtLS0tLS0tLS0tLS1zdGFydFxuIikpOw0KPiArDQo+ICsgICAgIC8vDQo+ICsgICAg IC8vU2lsaWNvbiBTdGVwcGluZ3MNCj4gKyAgICAgLy8NCj4gKyAgICAgc3dpdGNoIChQY2hTdGVw cGluZygpKSB7DQo+ICsgICAgICAgY2FzZSBQY2hBMDogIC8vIFNPQyBBMCBhbmQgQTENCj4gKyAg ICAgICBjYXNlIFBjaEExOg0KPiArICAgICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIlNPQyBB MC9BMTogZU1NQyA0LjQxIEdQSU8NCj4gQ29uZmlndXJhdGlvblxuIikpOw0KPiArICAgICAgICAg U3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc2VNTUNFbmFibGVkICAgICAgICAgICAgPSAxOw0KPiAr ICAgICAgICAgU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc2VNTUM0NUVuYWJsZWQgICAgICAgICAg PSAwOw0KPiArICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgY2FzZSBQY2hCMDogIC8vIFNPQyBC MCBhbmQgbGF0ZXINCj4gKyAgICAgICBkZWZhdWx0Og0KPiArICAgICAgICAgREVCVUcgKChFRklf RF9FUlJPUiwgIlNPQyBCMCBhbmQgbGF0ZXI6IGVNTUMgNC41IEdQSU8NCj4gQ29uZmlndXJhdGlv blxuIikpOw0KPiArICAgICAgICAgU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc2VNTUNFbmFibGVk ICAgICAgICAgICAgPSAwOw0KPiArICAgICAgICAgU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc2VN TUM0NUVuYWJsZWQgICAgICAgICAgPSAxOw0KPiArICAgICAgICAgYnJlYWs7DQo+ICsgICAgIH0N Cj4gKyAgICB9IGVsc2UgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPmVNTUNCb290TW9kZSA9PSAy KSB7IC8vIGVNTUMgNC40MQ0KPiArICAgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRm9yY2Ug dG8gZU1NQyA0LjQxIEdQSU8gQ29uZmlndXJhdGlvblxuIikpOw0KPiArICAgICAgICBTeXN0ZW1D b25maWd1cmF0aW9uLT5McHNzZU1NQ0VuYWJsZWQgICAgICAgICAgICA9IDE7DQo+ICsgICAgICAg IFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NlTU1DNDVFbmFibGVkICAgICAgICAgID0gMDsNCj4g KyAgICB9IGVsc2UgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPmVNTUNCb290TW9kZSA9PSAzKSB7 IC8vIGVNTUMgNC41DQo+ICsgICAgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRm9yY2UgdG8g ZU1NQyA0LjUgR1BJTyBDb25maWd1cmF0aW9uXG4iKSk7DQo+ICsgICAgICAgICBTeXN0ZW1Db25m aWd1cmF0aW9uLT5McHNzZU1NQ0VuYWJsZWQgICAgICAgICAgICA9IDA7DQo+ICsgICAgICAgICBT eXN0ZW1Db25maWd1cmF0aW9uLT5McHNzZU1NQzQ1RW5hYmxlZCAgICAgICAgICA9IDE7DQo+ICsN Cj4gKyAgICB9IGVsc2UgeyAvLyBEaXNhYmxlIGVNTUMgY29udHJvbGxlcnMNCj4gKyAgICAgICAg IERFQlVHICgoRUZJX0RfRVJST1IsICJEaXNhYmxlIGVNTUMgR1BJTyBjb250cm9sbGVyc1xuIikp Ow0KPiArICAgICAgICAgU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc2VNTUNFbmFibGVkICAgICAg ICAgICAgPSAwOw0KPiArICAgICAgICAgU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc2VNTUM0NUVu YWJsZWQgICAgICAgICAgPSAwOw0KPiArICAgIH0NCj4gKw0KPiArICAvKg0KPiArICAyMC4xLjEg IEVNTUMNCj4gKyAgU0RNTUMxX0NMSyAtICAgICAgICAgd3JpdGUgMHgyMDAzRUQwMSB0byBJT0JB U0UgKyAweDAzRTANCj4gKyAgU0RNTUMxX0NNRCAtICAgICAgICB3cml0ZSAweDIwMDNFQzgxIHRv IElPQkFTRSArIDB4MDM5MA0KPiArICBTRE1NQzFfRDAgLSAgICAgICAgICAgd3JpdGUgMHgyMDAz RUM4MSB0byBJT0JBU0UgKyAweDAzRDANCj4gKyAgU0RNTUMxX0QxIC0gICAgICAgICAgIHdyaXRl IDB4MjAwM0VDODEgdG8gSU9CQVNFICsgMHgwNDAwDQo+ICsgIFNETU1DMV9EMiAtICAgICAgICAg ICB3cml0ZSAweDIwMDNFQzgxIHRvIElPQkFTRSArIDB4MDNCMA0KPiArICBTRE1NQzFfRDNfQ0Rf QiAtIHdyaXRlIDB4MjAwM0VDODEgdG8gSU9CQVNFICsgMHgwMzYwDQo+ICsgIE1NQzFfRDRfU0Rf V0UgLSAgIHdyaXRlIDB4MjAwM0VDODEgdG8gSU9CQVNFICsgMHgwMzgwDQo+ICsgIE1NQzFfRDUg LSAgICAgICAgICAgICAgICB3cml0ZSAweDIwMDNFQzgxIHRvIElPQkFTRSArIDB4MDNDMA0KPiAr ICBNTUMxX0Q2IC0gICAgICAgICAgICAgICAgd3JpdGUgMHgyMDAzRUM4MSB0byBJT0JBU0UgKyAw eDAzNzANCj4gKyAgTU1DMV9ENyAtICAgICAgICAgICAgICAgIHdyaXRlIDB4MjAwM0VDODEgdG8g SU9CQVNFICsgMHgwM0YwDQo+ICsgIE1NQzFfUkVTRVRfQiAtICAgICAgIHdyaXRlIDB4MjAwM0VE MDEgdG8gSU9CQVNFICsgMHgwMzMwDQo+ICsgICovDQo+ICsgIGlmIChTeXN0ZW1Db25maWd1cmF0 aW9uLT5McHNzZU1NQ0VuYWJsZWQ9PSAxKSB7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0Vf QUREUkVTUyArIDB4MDNFMCwgMHgyMDAzRUQwMSk7IC8vRU1NQyA0LjQxDQo+ICsgICAgTW1pb1dy aXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDM5MCwgMHgyMDAzRUM4MSk7DQo+ICsgICAgTW1p b1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDNEMCwgMHgyMDAzRUM4MSk7DQo+ICsgICAg TW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDQwMCwgMHgyMDAzRUM4MSk7DQo+ICsg ICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDNCMCwgMHgyMDAzRUM4MSk7DQo+ ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDM2MCwgMHgyMDAzRUM4MSk7 DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDM4MCwgMHgyMDAzRUM4 MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDNDMCwgMHgyMDAz RUM4MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDM3MCwgMHgy MDAzRUM4MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDNGMCwg MHgyMDAzRUM4MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDMz MCwgMHgyMDAzRUQwMSk7DQo+ICsgIH0NCj4gKw0KPiArICAvKg0KPiArICBlTU1DIDQuNSBjb250 cm9sbGVyDQo+ICsgIFNETU1DMV9DTEsgLSAgICAgICAgIHdyaXRlIDB4MjAwM0VEMDMgdG8gSU9C QVNFICsgMHgwM0UwDQo+ICsgIFNETU1DMV9DTUQgLSAgICAgICAgd3JpdGUgMHgyMDAzRUM4MyB0 byBJT0JBU0UgKyAweDAzOTANCj4gKyAgU0RNTUMxX0QwIC0gICAgICAgICAgIHdyaXRlIDB4MjAw M0VDODMgdG8gSU9CQVNFICsgMHgwM0QwDQo+ICsgIFNETU1DMV9EMSAtICAgICAgICAgICB3cml0 ZSAweDIwMDNFQzgzIHRvIElPQkFTRSArIDB4MDQwMA0KPiArICBTRE1NQzFfRDIgLSAgICAgICAg ICAgd3JpdGUgMHgyMDAzRUM4MyB0byBJT0JBU0UgKyAweDAzQjANCj4gKyAgU0RNTUMxX0QzX0NE X0IgLSAgd3JpdGUgMHgyMDAzRUM4MyB0byBJT0JBU0UgKyAweDAzNjANCj4gKyAgTU1DMV9ENF9T RF9XRSAtICAgd3JpdGUgMHgyMDAzRUM4MyB0byBJT0JBU0UgKyAweDAzODANCj4gKyAgTU1DMV9E NSAtICAgICAgICAgICAgICAgIHdyaXRlIDB4MjAwM0VDODMgdG8gSU9CQVNFICsgMHgwM0MwDQo+ ICsgIE1NQzFfRDYgLSAgICAgICAgICAgICAgICB3cml0ZSAweDIwMDNFQzgzIHRvIElPQkFTRSAr IDB4MDM3MA0KPiArICBNTUMxX0Q3IC0gICAgICAgICAgICAgICAgd3JpdGUgMHgyMDAzRUM4MyB0 byBJT0JBU0UgKyAweDAzRjANCj4gKyAgTU1DMV9SRVNFVF9CIC0gICAgICAgd3JpdGUgMHgyMDAz RUQwMyB0byBJT0JBU0UgKyAweDAzMzANCj4gKyAgKi8NCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3Vy YXRpb24tPkxwc3NlTU1DNDVFbmFibGVkPT0gMSkgew0KPiArICAgIE1taW9Xcml0ZTMyIChJT19C QVNFX0FERFJFU1MgKyAweDAzRTAsIDB4MjAwM0VEMDMpOyAvLyBFTU1DIDQuNQ0KPiArICAgIE1t aW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAzOTAsIDB4MjAwM0VDODMpOw0KPiArICAg IE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAzRDAsIDB4MjAwM0VDODMpOw0KPiAr ICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDA0MDAsIDB4MjAwM0VDODMpOw0K PiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAzQjAsIDB4MjAwM0VDODMp Ow0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAzNjAsIDB4MjAwM0VD ODMpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAzODAsIDB4MjAw M0VDODMpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAzQzAsIDB4 MjAwM0VDODMpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAzNzAs IDB4MjAwM0VDODMpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAz RjAsIDB4MjAwM0VDODMpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAw eDAzMzAsIDB4MjAwM0VEMDMpOw0KPiArDQo+ICsgIH0NCj4gKw0KPiArLy8NCj4gKy8vIENoYW5n ZSBHUElPQ18wIHNldHRpbmcgdG8gYWxsb3cgTU1JTyBhY2Nlc3MgdW5kZXIgQW5kcm9pZC4NCj4g Ky8vDQo+ICsgIElvV3JpdGUzMiAoR1BJT19CQVNFX0FERFJFU1MgKyBSX1BDSF9HUElPX1NDX1VT RV9TRUwsDQo+ICsgICAgICAgICAgIChJb1JlYWQzMihHUElPX0JBU0VfQUREUkVTUyArIFJfUENI X0dQSU9fU0NfVVNFX1NFTCkgJg0KPiAoVUlOVDMyKX5CSVQwKSk7DQo+ICsgIERFQlVHICgoRUZJ X0RfRVJST1IsICJDb25maWd1cmVTb0NHcGlvLS0tLS0tLS0tLS0tZW5kXG4iKSk7DQo+ICsgIHJl dHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArTWVhc3VyZWRC b290SW5pdCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICoqUGVpU2Vy dmljZXMsDQo+ICsgIElOIFNZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICAgICAqU3lzdGVtQ29u ZmlndXJhdGlvbg0KPiArICApDQo+ICt7DQo+ICsgIGlmIChTeXN0ZW1Db25maWd1cmF0aW9uLT5N ZWFzdXJlZEJvb3RFbmFibGUpIHsNCj4gKyAgICBQY2RTZXRCb29sIChQY2RNZWFzdXJlZEJvb3RF bmFibGUsIFRSVUUpOw0KPiArICB9IGVsc2Ugew0KPiArICAgIFBjZFNldEJvb2wgKFBjZE1lYXN1 cmVkQm9vdEVuYWJsZSwgRkFMU0UpOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUND RVNTOw0KPiArfQ0KPiArDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0NvbmZpZ3VyZUxwc3NBbmRT Y2NHcGlvICgNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICpTeXN0ZW1Db25m aWd1cmF0aW9uLA0KPiArICBJTiBFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAgKlBsYXRmb3Jt SW5mbw0KPiArICApDQo+ICt7DQo+ICsgIC8qT25lIHRpbWUgY29uZmlndXJhdGlvbiB0byBlYWNo IEdQSU8gY29udHJvbGxlciBQU0JfQ09ORiByZWdpc3Rlcg0KPiBzaG91bGQgYmUgZG9uZSBiZWZv cmUgc3RhcnRpbmcgcGFkIGNvbmZpZ3VyYXRpb246DQo+ICsgIEdQSU8gU0NPUkUgLSAgd3JpdGUg MHgwMTAwMTAwMiB0byBJT0JBU0UgKyAweDA3MDANCj4gKyAgR1BJTyBOQ09SRSAtICB3cml0ZSAw eDAxMDAxMDAyIHRvIElPQkFTRSArIDB4MEYwMA0KPiArICBHUElPIFNTVVMgLSAgICB3cml0ZSAw eDAxMDAxMDAyIHRvIElPQkFTRSArIDB4MTcwMA0KPiArICAqLw0KPiArICAgIERFQlVHICgoRUZJ X0RfRVJST1IsICJDb25maWd1cmVMcHNzQW5kU2NjR3Bpby0tLS0tLS0tLS0tLXN0YXJ0XG4iKSk7 DQo+ICsNCj4gKyAgLyoNCj4gKyAgMTkuMS4xICBQV00wDQo+ICsgIFBXTTAgLSB3cml0ZSAweDIw MDNDRDAxIHRvIElPQkFTRSArIDB4MDBBMA0KPiArICAxOS4xLjIgIFBXTTENCj4gKyAgUFdNMCAt IHdyaXRlIDB4MjAwM0NEMDEgdG8gSU9CQVNFICsgMHgwMEIwDQo+ICsgICovDQo+ICsgIGlmIChT eXN0ZW1Db25maWd1cmF0aW9uLT5McHNzUHdtMEVuYWJsZWQ9PSAxKSB7DQo+ICsgICAgTW1pb1dy aXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDBBMCwgMHgyMDAzQ0QwMSk7DQo+ICsgIH0gZWxz ZSBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc1B3bTBFbmFibGVkPT0gMCkgew0KPiArICAg IE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAwQTAsIDB4MjAwM0NEMDApOw0KPiAr ICB9DQo+ICsNCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NQd20xRW5hYmxlZD09 IDEpIHsNCj4gKyAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwMEIwLCAweDIw MDNDQzAxKTsNCj4gKyAgfSBlbHNlIGlmIChTeXN0ZW1Db25maWd1cmF0aW9uLT5McHNzUHdtMUVu YWJsZWQ9PSAwKSB7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDBC MCwgMHgyMDAzQ0QwMCk7DQo+ICsgIH0NCj4gKw0KPiArICAvKg0KPiArICAxOS4xLjMgIFVBUlQx DQo+ICsgIFVBUlQxX1JYRC1MIC0gICAgIHdyaXRlIDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgw MDIwDQo+ICsgIFVBUlQxX1RYRC0wIC0gICAgIHdyaXRlIDB4MjAwM0NDODEgdG8gSU9CQVNFICsg MHgwMDEwDQo+ICsgIFVBUlQxX1JUU19CLTEgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSAr IDB4MDAwMA0KPiArICBVQVJUMV9DVFNfQi1IIC0gd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0Ug KyAweDAwNDANCj4gKyAgKi8NCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NIc3Vh cnQwRW5hYmxlZD09IDEpIHsNCj4gKyAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsg MHgwMDIwLCAweDIwMDNDQzgxKTsgLy8gdWFydDENCj4gKyAgICBNbWlvV3JpdGUzMiAoSU9fQkFT RV9BRERSRVNTICsgMHgwMDEwLCAweDIwMDNDQzgxKTsNCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3Vy YXRpb24tPkxwc3NIc3VhcnQwRmxvd0NvbnRyb2xFbmFibGVkPT0gMCkgew0KPiArICAgIERFQlVH ICgoRUZJX0RfRVJST1IsICJMcHNzSHN1YXJ0MEZsb3dDb250cm9sRW5hYmxlZFswXVxuIikpOw0K PiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAwMDAsIDB4MjAwM0NDODAp Ow0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAwNDAsIDB4MjAwM0ND ODApOw0KPiArICB9IGVsc2Ugew0KPiArICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJMcHNzSHN1 YXJ0MEZsb3dDb250cm9sRW5hYmxlZFsxXVxuIikpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19C QVNFX0FERFJFU1MgKyAweDAwMDAsIDB4MjAwM0NDODEpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJ T19CQVNFX0FERFJFU1MgKyAweDAwNDAsIDB4MjAwM0NDMDEpOy8vVy9BIEhTRA0KPiA0NzUyNjE3 IDB4MjAwM0NDODENCj4gKyAgICB9DQo+ICsgIH0gZWxzZSBpZiAoU3lzdGVtQ29uZmlndXJhdGlv bi0+THBzc0hzdWFydDBFbmFibGVkPT0gMCkgew0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNF X0FERFJFU1MgKyAweDAwMjAsIDB4MjAwM0NDODApOyAvLyB1YXJ0MQ0KPiArICAgIE1taW9Xcml0 ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAwMTAsIDB4MjAwM0NDODApOw0KPiArICB9DQo+ICsN Cj4gKw0KPiArICAvKg0KPiArICAxOS4xLjQgIFVBUlQyDQo+ICsgIFVBUlQyX1JUU19CLTEgLSAg d3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAwOTANCj4gKyAgVUFSVDJfQ1RTX0ItSCAt IHdyaXRlIDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgwMDgwDQo+ICsgIFVBUlQyX1JYRC1IIC0g ICAgd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAwNjANCj4gKyAgVUFSVDJfVFhELTAg LSAgICAgd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAwNzANCj4gKyAgKi8NCj4gKyAg aWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NIc3VhcnQxRW5hYmxlZD09IDEpIHsNCj4gKyAg ICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwMDYwLCAweDIwMDNDQzgxKTsNCj4g KyAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwMDcwLCAweDIwMDNDQzgxKTsN Cj4gKw0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0hzdWFydDFGbG93Q29udHJv bEVuYWJsZWQ9PSAwKSB7DQo+ICsgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkxwc3NIc3VhcnQx Rmxvd0NvbnRyb2xFbmFibGVkWzBdXG4iKSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0Vf QUREUkVTUyArIDB4MDA5MCwgMHgyMDAzQ0M4MCk7IC8vDQo+IFVBUlQyX1JUU19CDQo+ICsgICAg TW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDA4MCwgMHgyMDAzQ0M4MCk7IC8vDQo+ IFVBUlQyX0NUU19CDQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgREVCVUcgKChFRklfRF9FUlJPUiwg Ikxwc3NIc3VhcnQxRmxvd0NvbnRyb2xFbmFibGVkWzFdXG4iKSk7DQo+ICsgICAgTW1pb1dyaXRl MzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDA5MCwgMHgyMDAzQ0M4MSk7IC8vIHVhcnQyDQo+ICsg ICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDA4MCwgMHgyMDAzQ0MwMSk7IC8v Vy9BIEhTRA0KPiA0NzUyNjE3IDB4MjAwM0NDODENCj4gKyAgfQ0KPiArICB9IGVsc2UgaWYgKFN5 c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NIc3VhcnQxRW5hYmxlZD09IDApIHsNCj4gKyAgTW1pb1dy aXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDA2MCwgMHgyMDAzQ0M4MCk7DQo+ICsgIE1taW9X cml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAwNzAsIDB4MjAwM0NDODApOw0KPiArICB9DQo+ ICsNCj4gKyAgLyoNCj4gKyAgMTkuMS41ICBTUEkNCj4gKyAgU1BJMV9DUzBfQiAtIHdyaXRlIDB4 MjAwM0NDODEgdG8gSU9CQVNFICsgMHgwMTEwDQo+ICsgIFNQSTFfQ0xLIC0gICAgIHdyaXRlIDB4 MjAwM0NEMDEgdG8gSU9CQVNFICsgMHgwMTAwDQo+ICsgIFNQSTFfTU9TSSAtICAgd3JpdGUgMHgy MDAzQ0M4MSB0byBJT0JBU0UgKyAweDAxMzANCj4gKyAgU1BJMV9NSVNPIC0gICB3cml0ZSAweDIw MDNDQzgxIHRvIElPQkFTRSArIDB4MDEyMA0KPiArICAqLw0KPiArICBpZiAoU3lzdGVtQ29uZmln dXJhdGlvbi0+THBzc1NwaUVuYWJsZWQ9PSAxKSB7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JB U0VfQUREUkVTUyArIDB4MDExMCwgMHgyMDAzQ0M4MSk7IC8vIFNQSQ0KPiArICAgIE1taW9Xcml0 ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxMDAsIDB4MjAwM0NEMDEpOw0KPiArICAgIE1taW9X cml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxMzAsIDB4MjAwM0NDODEpOw0KPiArICAgIE1t aW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxMjAsIDB4MjAwM0NDODEpOw0KPiArICB9 IGVsc2UgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NTcGlFbmFibGVkPT0gMCkgew0KPiAr ICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxMTAsIDB4MjAwM2NjODApOw0K PiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxMDAsIDB4MjAwM2NjODAp Ow0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxMzAsIDB4MjAwM2Nj ODApOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxMjAsIDB4MjAw M2NjODApOw0KPiArICB9DQo+ICsNCj4gKyAgLyoNCj4gKyAgMTkuMS42ICBJMkMwDQo+ICsgIEky QzBfU0RBLU9ELU8gLSAgICB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDIxMA0KPiAr ICBJMkMwX1NDTC1PRC1PIC0gICAgd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAyMDAN Cj4gKyAgKi8NCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NJMkMwRW5hYmxlZD09 IDEpIHsNCj4gKyAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwMjEwLCAweDIw MDNDODgxKTsNCj4gKyAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwMjAwLCAw eDIwMDNDODgxKTsNCj4gKyAgfQ0KPiArICAvKg0KPiArICAxOS4xLjcgIEkyQzENCj4gKyAgSTJD MV9TREEtT0QtTy9JIC0gd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAxRjANCj4gKyAg STJDMV9TQ0wtT0QtTy9JIC0gd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAxRTANCj4g KyAgKi8NCj4gKw0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0kyQzFFbmFibGVk PT0gMSkgew0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxRjAsIDB4 MjAwM0M4ODEpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxRTAs IDB4MjAwM0M4ODEpOw0KPiArICB9DQo+ICsgIC8qDQo+ICsgIDE5LjEuOCAgSTJDMg0KPiArICBJ MkMyX1NEQS1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDFEMA0KPiAr ICBJMkMyX1NDTC1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDFCMA0K PiArICAqLw0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0kyQzJFbmFibGVkPT0g MSkgew0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxRDAsIDB4MjAw M0M4ODEpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxQjAsIDB4 MjAwM0M4ODEpOw0KPiArICB9DQo+ICsgIC8qDQo+ICsgIDE5LjEuOSAgSTJDMw0KPiArICBJMkMz X1NEQS1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDE5MA0KPiArICBJ MkMzX1NDTC1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDFDMA0KPiAr ICAqLw0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0kyQzNFbmFibGVkPT0gMSkg ew0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxOTAsIDB4MjAwM0M4 ODEpOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxQzAsIDB4MjAw M0M4ODEpOw0KPiArICB9DQo+ICsgIC8qDQo+ICsgIDE5LjEuMTAgSTJDNA0KPiArICBJMkM0X1NE QS1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDFBMA0KPiArICBJMkM0 X1NDTC1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDE3MA0KPiArICAq Lw0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0kyQzRFbmFibGVkPT0gMSkgew0K PiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxQTAsIDB4MjAwM0M4ODEp Ow0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxNzAsIDB4MjAwM0M4 ODEpOw0KPiArICB9DQo+ICsgIC8qDQo+ICsgIDE5LjEuMTEgSTJDNQ0KPiArICBJMkM1X1NEQS1P RC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDE1MA0KPiArICBJMkM1X1ND TC1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDE0MA0KPiArICAqLw0K PiArICAvL3RvdWNoIDEuN00gc3VwcG9ydCBvbiBpMmM1KGZyb20gMCkgbmVlZCAyayBQVUxMLVVQ Lg0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0kyQzVFbmFibGVkPT0gMSkgew0K PiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxNTAsIDB4MjAwM0M4ODEp Ow0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxNDAsIDB4MjAwM0M4 ODEpOw0KPiArICB9IGVsc2UgaWYoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc0kyQzVFbmFibGVk PT0gMCkgew0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxNTAsIDB4 MjAwM0M4ODApOw0KPiArICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1MgKyAweDAxNDAs IDB4MjAwM0M4ODApOw0KPiArICB9DQo+ICsgIC8qDQo+ICsgIDE5LjEuMTIgSTJDNg0KPiArICBJ MkM2X1NEQS1PRC1PL0kgLSB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDE4MA0KPiAr ICBJMkM2X1NDTC1PRC1PL0kgLSAgd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAxNjAN Cj4gKyAgKi8NCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPkxwc3NJMkM2RW5hYmxlZD09 IDEpIHsNCj4gKyAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwMTgwLCAweDIw MDNDODgxKTsNCj4gKyAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwMTYwLCAw eDIwMDNDODgxKTsNCj4gKyAgfSBlbHNlIGlmIChTeXN0ZW1Db25maWd1cmF0aW9uLT5McHNzSTJD NkVuYWJsZWQ9PSAwKSB7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4 MDE4MCwgMHgyMDAzQzg4MCk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyAr IDB4MDE2MCwgMHgyMDAzQzg4MCk7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIC8qDQo+ICsgIDIw LjEuMiAgU0RJTw0KPiArICBTRE1NQzJfQ0xLIC0gIHdyaXRlIDB4MjAwM0VEMDEgdG8gSU9CQVNF ICsgMHgwMzIwDQo+ICsgIFNETU1DMl9DTUQgLSB3cml0ZSAweDIwMDNFQzgxIHRvIElPQkFTRSAr IDB4MDMwMA0KPiArICBTRE1NQzJfRDAgLSAgICB3cml0ZSAweDIwMDNFQzgxIHRvIElPQkFTRSAr IDB4MDM1MA0KPiArICBTRE1NQzJfRDEgLSAgICB3cml0ZSAweDIwMDNFQzgxIHRvIElPQkFTRSAr IDB4MDJGMA0KPiArICBTRE1NQzJfRDIgLSAgICB3cml0ZSAweDIwMDNFQzgxIHRvIElPQkFTRSAr IDB4MDM0MA0KPiArICBTRE1NQzJfRDNfQ0RfQiAtIHdyaXRlIDB4MjAwM0VDODEgdG8gSU9CQVNF ICsgMHgwMzEwDQo+ICsgICovDQo+ICsgIGlmIChTeXN0ZW1Db25maWd1cmF0aW9uLT5McHNzU2Rp b0VuYWJsZWQ9PSAxKSB7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4 MDMyMCwgMHgyMDAzRUQwMSk7Ly9TRElPDQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQURE UkVTUyArIDB4MDMwMCwgMHgyMDAzRUM4MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JBU0Vf QUREUkVTUyArIDB4MDM1MCwgMHgyMDAzRUM4MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElPX0JB U0VfQUREUkVTUyArIDB4MDJGMCwgMHgyMDAzRUM4MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIgKElP X0JBU0VfQUREUkVTUyArIDB4MDM0MCwgMHgyMDAzRUM4MSk7DQo+ICsgICAgTW1pb1dyaXRlMzIg KElPX0JBU0VfQUREUkVTUyArIDB4MDMxMCwgMHgyMDAzRUM4MSk7DQo+ICsgIH0NCj4gKw0KPiAr ICAvKg0KPiArICAyMC4xLjMgIFNEIENhcmQNCj4gKyAgU0RNTUMzXzFQOF9FTiAtIHdyaXRlIDB4 MjAwM0NEMDEgdG8gSU9CQVNFICsgMHgwM0YwDQo+ICsgIFNETU1DM19DRF9CIC0gICAgd3JpdGUg MHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAzQTANCj4gKyAgU0RNTUMzX0NMSyAtICAgICAgIHdy aXRlIDB4MjAwM0NEMDEgdG8gSU9CQVNFICsgMHgwMkIwDQo+ICsgIFNETU1DM19DTUQgLSAgICAg IHdyaXRlIDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgwMkMwDQo+ICsgIFNETU1DM19EMCAtICAg ICAgICAgd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAyRTANCj4gKyAgU0RNTUMzX0Qx IC0gICAgICAgICB3cml0ZSAweDIwMDNDQzgxIHRvIElPQkFTRSArIDB4MDI5MA0KPiArICBTRE1N QzNfRDIgLSAgICAgICAgIHdyaXRlIDB4MjAwM0NDODEgdG8gSU9CQVNFICsgMHgwMkQwDQo+ICsg IFNETU1DM19EMyAtICAgICAgICAgd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDAyQTAN Cj4gKyAgU0RNTUMzX1BXUl9FTl9CIC0gd3JpdGUgMHgyMDAzQ0M4MSB0byBJT0JBU0UgKyAweDA2 OTANCj4gKyAgU0RNTUMzX1dQIC0gICAgICAgICAgICB3cml0ZSAweDIwMDNDQzgyIHRvIElPQkFT RSArIDB4MDE2MA0KPiArICAqLw0KPiArICBpZiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+THBzc1Nk Y2FyZEVuYWJsZWQgPT0gMSkgew0KPiArICAgIGlmICghKChQbGF0Zm9ybUluZm8tPkJvYXJkSWQg PT0gQk9BUkRfSURfQkxfRkZSRCAmJiBQbGF0Zm9ybUluZm8tDQo+ID5Cb2FyZFJldj09IFBSMTEp ICYmIChTeXN0ZW1Db25maWd1cmF0aW9uLT5DZmlvUG5wU2V0dGluZ3MgPT0gMSkpKSB7DQo+ICsg ICAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwNUYwLCAweDIwMDNDRDAxKTsv L1NEQ0FSRA0KPiArICAgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDJCMCwg MHgyMDAzQ0QwMSk7DQo+ICsgICAgICBNbWlvV3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgw MkMwLCAweDIwMDNDQzgxKTsNCj4gKyAgICAgIE1taW9Xcml0ZTMyIChJT19CQVNFX0FERFJFU1Mg KyAweDAyRTAsIDB4MjAwM0NDODEpOw0KPiArICAgICAgTW1pb1dyaXRlMzIgKElPX0JBU0VfQURE UkVTUyArIDB4MDI5MCwgMHgyMDAzQ0M4MSk7DQo+ICsgICAgICBNbWlvV3JpdGUzMiAoSU9fQkFT RV9BRERSRVNTICsgMHgwMkQwLCAweDIwMDNDQzgxKTsNCj4gKyAgICAgIE1taW9Xcml0ZTMyIChJ T19CQVNFX0FERFJFU1MgKyAweDAyQTAsIDB4MjAwM0NDODEpOw0KPiArICAgICAgTW1pb1dyaXRl MzIgKElPX0JBU0VfQUREUkVTUyArIDB4MDY5MCwgMHgyMDAzQ0M4MSk7DQo+ICsgICAgICBNbWlv V3JpdGUzMiAoSU9fQkFTRV9BRERSRVNTICsgMHgwNjUwLCAweDIwMDNDQzgyKTsgLy9HUElPQ183 DQo+IHNldCB0byBXUCBQaW4NCj4gKyAgICAgfQ0KPiArICB9DQo+ICsNCj4gKw0KPiArICAgICBE RUJVRyAoKEVGSV9EX0VSUk9SLCAiQ29uZmlndXJlTHBzc0FuZFNjY0dwaW8tLS0tLS0tLS0tLS1l bmRcbiIpKTsNCj4gKyAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK0VGSV9T VEFUVVMNCj4gK0NvbmZpZ3VyZUxwZUdwaW8gKA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElP TiAgKlN5c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgKQ0KPiArew0KPiArICBERUJVRyAoKEVGSV9E X0VSUk9SLCAiQ29uZmlndXJlTHBlR3Bpby0tLS0tLS0tLS0tLXN0YXJ0XG4iKSk7DQo+ICsNCj4g KyAgaWYgKFN5c3RlbUNvbmZpZ3VyYXRpb24tPlBjaEF6YWxpYSA9PSAwKSB7DQo+ICsgICAgTW1p b0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyAweDIyMCwgKFVJTlQzMil+KDB4NyksDQo+ IChVSU5UMzIpICgweDAxKSk7DQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJF U1MgKyAweDI1MCwgKFVJTlQzMil+KDB4NyksDQo+IChVSU5UMzIpICgweDAxKSk7DQo+ICsgICAg TW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyAweDI0MCwgKFVJTlQzMil+KDB4Nyks DQo+IChVSU5UMzIpICgweDAxKSk7DQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FE RFJFU1MgKyAweDI2MCwgKFVJTlQzMil+KDB4NyksDQo+IChVSU5UMzIpICgweDAxKSk7DQo+ICsg ICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyAweDI3MCwgKFVJTlQzMil+KDB4 NyksDQo+IChVSU5UMzIpICgweDAxKSk7DQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNF X0FERFJFU1MgKyAweDIzMCwgKFVJTlQzMil+KDB4NyksDQo+IChVSU5UMzIpICgweDAxKSk7DQo+ ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyAweDI4MCwgKFVJTlQzMil+ KDB4NyksDQo+IChVSU5UMzIpICgweDAxKSk7DQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19C QVNFX0FERFJFU1MgKyAweDU0MCwgKFVJTlQzMil+KDB4NyksDQo+IChVSU5UMzIpICgweDAxKSk7 DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiQ29uZmlndXJlTHBlR3Bp by0tLS0tLS0tLS0tLWVuZFxuIikpOw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4g K30NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQ29uZmlndXJlU2NpU21pR3Bpb1JvdXQgKA0KPiAr ICBJTiBFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAgKlBsYXRmb3JtSW5mbykNCj4gK3sNCj4g KwlVSU5UMzIgCUdQSV9Sb3V0aW5nOw0KPiArDQo+ICsJR1BJX1JvdXRpbmcgPSBNbWlvUmVhZDMy IChQTUNfQkFTRV9BRERSRVNTICsNCj4gUl9QQ0hfUE1DX0dQSV9ST1VUKTsNCj4gKw0KPiArCS8v DQo+ICsJLy8gRm9yIEZBQjMsIFJvdXRlIEdQSU9fQ09SRSAwIHRvIGNhdXNlIFJ1bnRpbWUgU0NJ LCBHUElPX1NVUyAwDQo+IHRvIGNhdXNlIFdha2UgU0NJIGFuZCBHUElPX1NVUyA3IHRvIGNhdXNl IEVYVFNNSQ0KPiArCS8vDQo+ICsJaWYoUGxhdGZvcm1JbmZvLT5Cb2FyZFJldiA9PSAzKSB7DQo+ ICsJR1BJX1JvdXRpbmcgPSBHUElfUm91dGluZyAmIDB4ZmZmYzNmZmM7DQo+ICsJR1BJX1JvdXRp bmcgPSBHUElfUm91dGluZyB8IDB4MDAwMjQwMDI7DQo+ICsJfQ0KPiArDQo+ICsJLy8NCj4gKwkv LyBGb3IgRkFCMi8xLCBSb3V0ZSBHUElPX0NPUkUgNyB0byBjYXVzZSBSdW50aW1lIFNDSSwgR1BJ T19TVVMNCj4gMCB0byBjYXVzZSBXYWtlIFNDSSBhbmQgR1BJT19TVVMgNyB0byBjYXVzZSBFWFRT TUkNCj4gKwkvLw0KPiArCWVsc2Ugew0KPiArCUdQSV9Sb3V0aW5nID0gR1BJX1JvdXRpbmcgJiAw eDNmZmYzZmZjOw0KPiArCUdQSV9Sb3V0aW5nID0gR1BJX1JvdXRpbmcgfCAweDgwMDA0MDAyOw0K PiArCX0NCj4gKwlNbWlvV3JpdGUzMigoUE1DX0JBU0VfQUREUkVTUyArIFJfUENIX1BNQ19HUElf Uk9VVCksDQo+IEdQSV9Sb3V0aW5nKTsNCj4gKw0KPiArCXJldHVybiBFRklfU1VDQ0VTUzsNCj4g K30NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQ29uZmlndXJlTWlwaUNzaSAoDQo+ICsgIFZPSUQp DQo+ICt7DQo+ICsJICAvLw0KPiArICAgIC8vQ29uZmlndXJlIHRoZSBwbGF0Zm9ybSBjbG9jayBm b3IgTUlQSS1DU0kgdXNhZ2UNCj4gKyAgICAvL1BMVF9DTEswDQo+ICsgICAgLy8NCj4gKyAgICBN bWlvQW5kVGhlbk9yMzIgKElPX0JBU0VfQUREUkVTUyArIDB4NmEwLCAoVUlOVDMyKX4oMHg3KSwN Cj4gKFVJTlQzMikgKDB4MDEpKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9QTFRfQ0xLMQ0K PiArICAgIC8vDQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyAweDU3 MCwgKFVJTlQzMil+KDB4NyksDQo+IChVSU5UMzIpICgweDAxKSk7DQo+ICsNCj4gKyAgICAvLw0K PiArICAgIC8vUExUX0NMSzINCj4gKyAgICAvLw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAoSU9f QkFTRV9BRERSRVNTICsgMHg1QjAsIChVSU5UMzIpfigweDcpLA0KPiAoVUlOVDMyKSAoMHgwMSkp Ow0KPiArDQo+ICsgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtFRklfU1RB VFVTDQo+ICtDb25maWd1cmVVU0JVTFBJICgNCj4gKyAgVk9JRCkNCj4gK3sNCj4gKwkgIC8vDQo+ ICsgICAgLy9Db25maWd1cmUgVVNCIFVMUEkNCj4gKyAgICAvL1VTQl9VTFBJXzBfQ0xLDQo+ICsg ICAgLy8NCj4gKyAgICBNbWlvQW5kVGhlbk9yMzIgKElPX0JBU0VfQUREUkVTUyArIEdQSU9fU1NV U19PRkZTRVQgKyAweDMzOCwNCj4gKFVJTlQzMil+KDB4NyksIChVSU5UMzIpIChHUEkpKTsNCj4g KyAgICBNbWlvQW5kVGhlbk9yMzIgKElPX0JBU0VfQUREUkVTUyArIEdQSU9fU1NVU19PRkZTRVQg KyAweDMzMCwNCj4gKFVJTlQzMil+KDB4MTg3KSwgKFVJTlQzMikgKDB4MTAxKSk7DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vVVNCX1VMUElfMF9EQVRBMA0KPiArICAgIC8vDQo+ICsgICAgTW1p b0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgzODgs DQo+IChVSU5UMzIpfigweDcpLCAoVUlOVDMyKSAoR1BJKSk7DQo+ICsgICAgTW1pb0FuZFRoZW5P cjMyIChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgzODAsDQo+IChVSU5U MzIpfigweDE4NyksIChVSU5UMzIpICgweDEwMSkpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAv L1VTQl9VTFBJXzBfREFUQTENCj4gKyAgICAvLw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAoSU9f QkFTRV9BRERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4MzY4LA0KPiAoVUlOVDMyKX4oMHg3 KSwgKFVJTlQzMikgKEdQSSkpOw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAoSU9fQkFTRV9BRERS RVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4MzYwLA0KPiAoVUlOVDMyKX4oMHgxODcpLCAoVUlO VDMyKSAoMHgxMDEpKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9VU0JfVUxQSV8wX0RBVEEy DQo+ICsgICAgLy8NCj4gKyAgICBNbWlvQW5kVGhlbk9yMzIgKElPX0JBU0VfQUREUkVTUyArIEdQ SU9fU1NVU19PRkZTRVQgKyAweDMxOCwNCj4gKFVJTlQzMil+KDB4NyksIChVSU5UMzIpIChHUEkp KTsNCj4gKyAgICBNbWlvQW5kVGhlbk9yMzIgKElPX0JBU0VfQUREUkVTUyArIEdQSU9fU1NVU19P RkZTRVQgKyAweDMxMCwNCj4gKFVJTlQzMil+KDB4MTg3KSwgKFVJTlQzMikgKDB4MTAxKSk7DQo+ ICsNCj4gKyAgICAvLw0KPiArICAgIC8vVVNCX1VMUElfMF9EQVRBMw0KPiArICAgIC8vDQo+ICsg ICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsg MHgzNzgsDQo+IChVSU5UMzIpfigweDcpLCAoVUlOVDMyKSAoR1BJKSk7DQo+ICsgICAgTW1pb0Fu ZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgzNzAsDQo+ IChVSU5UMzIpfigweDE4NyksIChVSU5UMzIpICgweDEwMSkpOw0KPiArDQo+ICsgICAgLy8NCj4g KyAgICAvL1VTQl9VTFBJXzBfREFUQTQNCj4gKyAgICAvLw0KPiArICAgIE1taW9BbmRUaGVuT3Iz MiAoSU9fQkFTRV9BRERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4MzA4LA0KPiAoVUlOVDMy KX4oMHg3KSwgKFVJTlQzMikgKEdQSSkpOw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAoSU9fQkFT RV9BRERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4MzAwLA0KPiAoVUlOVDMyKX4oMHgxODcp LCAoVUlOVDMyKSAoMHgxMDEpKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9VU0JfVUxQSV8w X0RBVEE1DQo+ICsgICAgLy8NCj4gKyAgICBNbWlvQW5kVGhlbk9yMzIgKElPX0JBU0VfQUREUkVT UyArIEdQSU9fU1NVU19PRkZTRVQgKyAweDM5OCwNCj4gKFVJTlQzMil+KDB4NyksIChVSU5UMzIp IChHUEkpKTsNCj4gKyAgICBNbWlvQW5kVGhlbk9yMzIgKElPX0JBU0VfQUREUkVTUyArIEdQSU9f U1NVU19PRkZTRVQgKyAweDM5MCwNCj4gKFVJTlQzMil+KDB4MTg3KSwgKFVJTlQzMikgKDB4MTAx KSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vVVNCX1VMUElfMF9EQVRBNg0KPiArICAgIC8v DQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZG U0VUICsgMHgzMjgsDQo+IChVSU5UMzIpfigweDcpLCAoVUlOVDMyKSAoR1BJKSk7DQo+ICsgICAg TW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgz MjAsDQo+IChVSU5UMzIpfigweDE4NyksIChVSU5UMzIpICgweDEwMSkpOw0KPiArDQo+ICsgICAg Ly8NCj4gKyAgICAvL1VTQl9VTFBJXzBfREFUQTcNCj4gKyAgICAvLw0KPiArICAgIE1taW9BbmRU aGVuT3IzMiAoSU9fQkFTRV9BRERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4M2E4LA0KPiAo VUlOVDMyKX4oMHg3KSwgKFVJTlQzMikgKEdQSSkpOw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAo SU9fQkFTRV9BRERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4M2EwLA0KPiAoVUlOVDMyKX4o MHgxODcpLCAoVUlOVDMyKSAoMHgxMDEpKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9VU0Jf VUxQSV8wX0RJUg0KPiArICAgIC8vDQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FE RFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgzNDgsDQo+IChVSU5UMzIpfigweDcpLCAoVUlO VDMyKSAoR1BJKSk7DQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyBH UElPX1NTVVNfT0ZGU0VUICsgMHgzNDAsDQo+IChVSU5UMzIpfigweDE4NyksIChVSU5UMzIpICgw eDgxKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vVVNCX1VMUElfMF9OWFQNCj4gKyAgICAv Lw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAoSU9fQkFTRV9BRERSRVNTICsgR1BJT19TU1VTX09G RlNFVCArIDB4MzU4LA0KPiAoVUlOVDMyKX4oMHg3KSwgKFVJTlQzMikgKEdQSSkpOw0KPiArICAg IE1taW9BbmRUaGVuT3IzMiAoSU9fQkFTRV9BRERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4 MzUwLA0KPiAoVUlOVDMyKX4oMHgxODcpLCAoVUlOVDMyKSAoMHgxMDEpKTsNCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy9VU0JfVUxQSV8wX1NUUA0KPiArICAgIC8vDQo+ICsgICAgTW1pb0FuZFRo ZW5PcjMyIChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgzYjgsDQo+IChV SU5UMzIpfigweDcpLCAoVUlOVDMyKSAoR1BJKSk7DQo+ICsgICAgTW1pb0FuZFRoZW5PcjMyIChJ T19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgzYjAsDQo+IChVSU5UMzIpfigw eDE4NyksIChVSU5UMzIpICgweDgxKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vVVNCX1VM UElfMF9SRUZDTEsNCj4gKyAgICAvLw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAoSU9fQkFTRV9B RERSRVNTICsgR1BJT19TU1VTX09GRlNFVCArIDB4Mjg4LA0KPiAoVUlOVDMyKX4oMHg3KSwgKFVJ TlQzMikgKEdQSSkpOw0KPiArICAgIE1taW9BbmRUaGVuT3IzMiAoSU9fQkFTRV9BRERSRVNTICsg R1BJT19TU1VTX09GRlNFVCArIDB4MjgwLA0KPiAoVUlOVDMyKX4oMHgxODcpLCAoVUlOVDMyKSAo MHgxMDEpKTsNCj4gKw0KPiArICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiAr RUZJX1NUQVRVUw0KPiArRGlzYWJsZVJURDMgKA0KPiArICBWT0lEKQ0KPiArew0KPiArCSAgLy8N Cj4gKyAgICAvL0Rpc2FibGUgUlREMw0KPiArICAgIC8vDQo+ICsgICAgTW1pb0FuZFRoZW5PcjMy IChJT19CQVNFX0FERFJFU1MgKyBHUElPX1NTVVNfT0ZGU0VUICsgMHgyMTAsDQo+IChVSU5UMzIp figweDBmMDAwMDA3KSwgKFVJTlQzMikgKDB4MDApKTsNCj4gKyAgICBNbWlvQW5kVGhlbk9yMzIg KElPX0JBU0VfQUREUkVTUyArIEdQSU9fU1NVU19PRkZTRVQgKyAweDFlMCwNCj4gKFVJTlQzMil+ KDB4MGYwMDAwMDcpLCAoVUlOVDMyKSAoMHgwMCkpOw0KPiArDQo+ICsgICAgcmV0dXJuIEVGSV9T VUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUGxhdGZvcm0gc3BlY2lmaWMgaW5pdGlh bGl6YXRpb25zIGluIHN0YWdlMS4NCj4gKw0KPiArICBAcGFyYW0gRmZzSGVhZGVyICAgICAgICAg UG9pbnRlciB0byB0aGUgUEVJTSBGRlMgZmlsZSBoZWFkZXIuDQo+ICsgIEBwYXJhbSBQZWlTZXJ2 aWNlcyAgICAgICBHZW5lcmFsIHB1cnBvc2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBF SU0uDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBPcGVyYXRpb24gY29tcGxl dGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCBPdGhlcndpc2UgICAgICAgICBQbGF0Zm9y bSBpbml0aWFsaXphdGlvbiBmYWlsZWQuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArUGxhdGZvcm1FYXJseUluaXRFbnRyeSAoDQo+ICsNCj4gKyAgSU4gICAgICAgRUZJX1BF SV9GSUxFX0hBTkRMRSAgRmlsZUhhbmRsZSwNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNF UyAgICAqKlBlaVNlcnZpY2VzDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICAgIFN0YXR1czsNCj4gKyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgIFN5c3Rl bUNvbmZpZ3VyYXRpb247DQo+ICsgIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAqUGxhdGZv cm1JbmZvOw0KPiArICBFRklfUEVJX0hPQl9QT0lOVEVSUyAgICAgICAgSG9iOw0KPiArICBFRklf UExBVEZPUk1fQ1BVX0lORk8gICAgICAgUGxhdGZvcm1DcHVJbmZvOw0KPiArICBFRklfU01SQU1f SE9CX0RFU0NSSVBUT1JfQkxPQ0sgICpEZXNjcmlwdG9yQmxvY2s7DQo+ICsgIEVGSV9TTVJBTV9I T0JfREVTQ1JJUFRPUl9CTE9DSyAgKk5ld0Rlc2NyaXB0b3JCbG9jazsNCj4gKyAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICBNYXhJbmRleDsNCj4gKyAgVUlOVDY0ICAgICAgICAgICAgICAgICAgICAgICAg ICBCYXNlOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgIFNpemU7DQo+ICsg IFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgTmV3U2l6ZTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBNYWtlIHN1cmUgYmFzZSBhbmQgc2l6ZSBvZiB0aGUgU01SQU0gcmVnaW9uIGlzIGFs aWduZWQNCj4gKyAgLy8NCj4gKyAgSG9iLlJhdyA9IEdldEZpcnN0R3VpZEhvYiAoJmdFZmlTbW1Q ZWlTbXJhbU1lbW9yeVJlc2VydmVHdWlkKTsNCj4gKyAgaWYgKEhvYi5SYXcgIT0gTlVMTCkgew0K PiArICAgIERlc2NyaXB0b3JCbG9jayA9IEdFVF9HVUlEX0hPQl9EQVRBIChIb2IuUmF3KTsNCj4g KyAgICBERUJVRyAoKERFQlVHX0lORk8sICJTTU0gUEVJIFNNUkFNIE1lbW9yeSBSZXNlcnZlZCBI T0JcbiIpKTsNCj4gKyAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBEZXNjcmlwdG9yQmxvY2st Pk51bWJlck9mU21tUmVzZXJ2ZWRSZWdpb25zOw0KPiBJbmRleCsrKSB7DQo+ICsgICAgICBERUJV RygoREVCVUdfSU5GTywgIiAgU01SQU0gRGVzY3JpcHRvclslMDJ4XTogU3RhcnQ9JTAxNmx4DQo+ IFNpemU9JTAxNmx4ICBTdGF0ZT0lMDJ4XG4iLA0KPiArICAgICAgICBJbmRleCwNCj4gKyAgICAg ICAgRGVzY3JpcHRvckJsb2NrLT5EZXNjcmlwdG9yW0luZGV4XS5QaHlzaWNhbFN0YXJ0LA0KPiAr ICAgICAgICBEZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbSW5kZXhdLlBoeXNpY2FsU2l6ZSwN Cj4gKyAgICAgICAgRGVzY3JpcHRvckJsb2NrLT5EZXNjcmlwdG9yW0luZGV4XS5SZWdpb25TdGF0 ZQ0KPiArICAgICAgICApKTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEZp bmQgdGhlIGxhcmdlc3QgdXNhYmxlIHJhbmdlIG9mIFNNUkFNIGJldHdlZW4gMU1CIGFuZCA0R0IN Cj4gKyAgICAvLw0KPiArICAgIGZvciAoSW5kZXggPSAwLCBNYXhJbmRleCA9IDAsIFNpemUgPSAw OyBJbmRleCA8IERlc2NyaXB0b3JCbG9jay0NCj4gPk51bWJlck9mU21tUmVzZXJ2ZWRSZWdpb25z OyBJbmRleCsrKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gU2tpcCBhbnkgU01SQU0gcmVn aW9uIHRoYXQgaXMgYWxyZWFkeSBhbGxvY2F0ZWQsIG5lZWRzIHRlc3RpbmcsIG9yDQo+IG5lZWRz IEVDQyBpbml0aWFsaXphdGlvbg0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmICgoRGVzY3JpcHRv ckJsb2NrLT5EZXNjcmlwdG9yW0luZGV4XS5SZWdpb25TdGF0ZSAmIChFRklfQUxMT0NBVEVEIHwN Cj4gRUZJX05FRURTX1RFU1RJTkcgfCBFRklfTkVFRFNfRUNDX0lOSVRJQUxJWkFUSU9OKSkgIT0g MCkgew0KPiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIC8vDQo+ICsg ICAgICAvLyBTa2lwIGFueSBTTVJBTSByZWdpb24gYmVsb3cgMU1CDQo+ICsgICAgICAvLw0KPiAr ICAgICAgaWYgKERlc2NyaXB0b3JCbG9jay0+RGVzY3JpcHRvcltJbmRleF0uQ3B1U3RhcnQgPCBC QVNFXzFNQikgew0KPiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIC8v DQo+ICsgICAgICAvLyBTa2lwIGFueSBTTVJBTSByZWdpb24gdGhhdCBpcyBhYm92ZSA0R0Igb3Ig Y3Jvc3NlcyB0aGUgNEdCDQo+IGJvdW5kYXJ5DQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKChE ZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbSW5kZXhdLkNwdVN0YXJ0ICsgRGVzY3JpcHRvckJs b2NrLQ0KPiA+RGVzY3JpcHRvcltJbmRleF0uUGh5c2ljYWxTaXplKSA+PSBCQVNFXzRHQikgew0K PiArICAgICAgICBjb250aW51ZTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIC8vDQo+ICsgICAgICAv LyBDYWNoZSB0aGUgbGFyZ2VzdCBTTVJBTSByZWdpb24gaW5kZXgNCj4gKyAgICAgIC8vDQo+ICsg ICAgICBpZiAoRGVzY3JpcHRvckJsb2NrLT5EZXNjcmlwdG9yW0luZGV4XS5QaHlzaWNhbFNpemUg Pj0gRGVzY3JpcHRvckJsb2NrLQ0KPiA+RGVzY3JpcHRvcltNYXhJbmRleF0uUGh5c2ljYWxTaXpl KSB7DQo+ICsgICAgICAgIE1heEluZGV4ID0gSW5kZXg7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBGaW5kIHRoZSBleHRlbnQgb2YgdGhlIGNvbnRpZ3Vv dXMgU01SQU0gcmVnaW9uIHRoYXQgc3Vycm91bmRzIHRoZQ0KPiBsYXJnZXN0IHVzYWJsZSBTTVJB TSByYW5nZQ0KPiArICAgIC8vDQo+ICsgICAgQmFzZSA9IERlc2NyaXB0b3JCbG9jay0+RGVzY3Jp cHRvcltNYXhJbmRleF0uQ3B1U3RhcnQ7DQo+ICsgICAgU2l6ZSA9IERlc2NyaXB0b3JCbG9jay0+ RGVzY3JpcHRvcltNYXhJbmRleF0uUGh5c2ljYWxTaXplOw0KPiArICAgIGZvciAoSW5kZXggPSAw OyBJbmRleCA8IERlc2NyaXB0b3JCbG9jay0+TnVtYmVyT2ZTbW1SZXNlcnZlZFJlZ2lvbnM7DQo+ IEluZGV4KyspIHsNCj4gKyAgICAgIGlmIChEZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbSW5k ZXhdLkNwdVN0YXJ0IDwgQmFzZSAmJg0KPiArICAgICAgICAgIEJhc2UgPT0gKERlc2NyaXB0b3JC bG9jay0+RGVzY3JpcHRvcltJbmRleF0uQ3B1U3RhcnQgKw0KPiBEZXNjcmlwdG9yQmxvY2stPkRl c2NyaXB0b3JbSW5kZXhdLlBoeXNpY2FsU2l6ZSkpIHsNCj4gKyAgICAgICAgQmFzZSAgPSBEZXNj cmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbSW5kZXhdLkNwdVN0YXJ0Ow0KPiArICAgICAgICBTaXpl ICs9IERlc2NyaXB0b3JCbG9jay0+RGVzY3JpcHRvcltJbmRleF0uUGh5c2ljYWxTaXplOw0KPiAr ICAgICAgfSBlbHNlIGlmICgoQmFzZSArIFNpemUpID09IERlc2NyaXB0b3JCbG9jay0+RGVzY3Jp cHRvcltJbmRleF0uQ3B1U3RhcnQpIHsNCj4gKyAgICAgICAgU2l6ZSArPSBEZXNjcmlwdG9yQmxv Y2stPkRlc2NyaXB0b3JbSW5kZXhdLlBoeXNpY2FsU2l6ZTsNCj4gKyAgICAgIH0NCj4gKyAgICB9 DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFJvdW5kIFNNUkFNIHJlZ2lvbiB1cCB0byBuZWFy ZXN0IHBvd2VyIG9mIDIgdGhhdCBpcyBhdCBsZWFzdCA0S0INCj4gKyAgICAvLw0KPiArICAgIE5l d1NpemUgPSBNQVggKExTaGlmdFU2NCAoMSwgSGlnaEJpdFNldDY0IChTaXplIC0gMSkgKyAxKSwg U0laRV80S0IpOw0KPiArICAgIGlmICgoQmFzZSAmIH4oTmV3U2l6ZSAtIDEpKSAhPSBCYXNlKSB7 DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gU01SQU0gcmVnaW9uIEJhc2UgQWRkcmVzcyBoYXMg c21hbGxlciBhbGlnbm1lbnQgdGhhbiBTTVJBTQ0KPiByZWdpb24gU2l6ZQ0KPiArICAgICAgLy8g VGhpcyBpcyBub3QgY29tcGF0aWJsZSB3aXRoIFNNUlIgc2V0dGluZ3MNCj4gKyAgICAgIC8vDQo+ ICsgICAgICBERUJVRygoREVCVUdfRVJST1IsICJFUlJPUjogU01SQU0gUmVnaW9uIFNpemUgaGFz IGxhcmdlcg0KPiBhbGlnbm1lbnQgdGhhbiBTTVJBTSBSZWdpb24gQmFzZVxuIikpOw0KPiArICAg ICAgREVCVUcoKERFQlVHX0VSUk9SLCAiICBTTVJBTSBSZWdpb24gQmFzZT0lMDE2bHggIFNpemU9 JTAxNmx4XG4iLA0KPiBCYXNlLCBOZXdTaXplKSk7DQo+ICsgICAgICBBU1NFUlQgKEZBTFNFKTsN Cj4gKyAgICB9IGVsc2UgaWYgKFNpemUgIT0gTmV3U2l6ZSkgew0KPiArICAgICAgLy8NCj4gKyAg ICAgIC8vIFNlZSBpZiB0aGUgc2l6ZSBkaWZmZXJlbmNlIGNhbiBiZSBhZGRlZCB0byBhbiBhZGph Y2VudCBkZXNjcmlwdG9yIHRoYXQNCj4gaXMgYWxyZWFkeSBhbGxvY2F0ZWQNCj4gKyAgICAgIC8v DQo+ICsgICAgICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBEZXNjcmlwdG9yQmxvY2stDQo+ID5O dW1iZXJPZlNtbVJlc2VydmVkUmVnaW9uczsgSW5kZXgrKykgew0KPiArICAgICAgICBpZiAoKERl c2NyaXB0b3JCbG9jay0+RGVzY3JpcHRvcltJbmRleF0uQ3B1U3RhcnQgKyBEZXNjcmlwdG9yQmxv Y2stDQo+ID5EZXNjcmlwdG9yW0luZGV4XS5QaHlzaWNhbFNpemUpID09IChCYXNlICsgU2l6ZSkp IHsNCj4gKyAgICAgICAgICBpZiAoKChEZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbSW5kZXhd LlJlZ2lvblN0YXRlKSAmDQo+IEVGSV9BTExPQ0FURUQpICE9IDApIHsNCj4gKyAgICAgICAgICAg IERlc2NyaXB0b3JCbG9jay0+RGVzY3JpcHRvcltJbmRleF0uUGh5c2ljYWxTaXplICs9IChOZXdT aXplIC0gU2l6ZSk7DQo+ICsgICAgICAgICAgICBTaXplID0gTmV3U2l6ZTsNCj4gKyAgICAgICAg ICAgIGJyZWFrOw0KPiArICAgICAgICAgIH0NCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiAr DQo+ICsgICAgICBpZiAoU2l6ZSAhPSBOZXdTaXplKSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAg ICAgIC8vIEFkZCBhbiBhbGxvY2F0ZWQgZGVzY3JpcHRvciB0byB0aGUgU01NIFBFSSBTTVJBTSBN ZW1vcnkNCj4gUmVzZXJ2ZWQgSE9CIHRvIGFjY29tb2RhdGUgdGhlIGxhcmdlciBzaXplLg0KPiAr ICAgICAgICAvLw0KPiArICAgICAgICBJbmRleCA9IERlc2NyaXB0b3JCbG9jay0+TnVtYmVyT2ZT bW1SZXNlcnZlZFJlZ2lvbnM7DQo+ICsgICAgICAgIE5ld0Rlc2NyaXB0b3JCbG9jayA9IChFRklf U01SQU1fSE9CX0RFU0NSSVBUT1JfQkxPQ0sNCj4gKilCdWlsZEd1aWRIb2IgKA0KPiArICAgICAg ICAgICZnRWZpU21tUGVpU21yYW1NZW1vcnlSZXNlcnZlR3VpZCwNCj4gKyAgICAgICAgICBzaXpl b2YgKEVGSV9TTVJBTV9IT0JfREVTQ1JJUFRPUl9CTE9DSykgKyAoKEluZGV4ICsgMSkgKiBzaXpl b2YNCj4gKEVGSV9TTVJBTV9ERVNDUklQVE9SKSkNCj4gKyAgICAgICAgICApOw0KPiArICAgICAg ICBBU1NFUlQgKE5ld0Rlc2NyaXB0b3JCbG9jayAhPSBOVUxMKTsNCj4gKw0KPiArICAgICAgICAv Lw0KPiArICAgICAgICAvLyBDb3B5IG9sZCBFRklfU01SQU1fSE9CX0RFU0NSSVBUT1JfQkxPQ0sg dG8gbmV3IGFsbG9jYXRlZA0KPiByZWdpb24NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgQ29w eU1lbSAoDQo+ICsgICAgICAgICAgTmV3RGVzY3JpcHRvckJsb2NrLA0KPiArICAgICAgICAgIERl c2NyaXB0b3JCbG9jaywNCj4gKyAgICAgICAgICBzaXplb2YgKEVGSV9TTVJBTV9IT0JfREVTQ1JJ UFRPUl9CTE9DSykgKyAoSW5kZXggKiBzaXplb2YNCj4gKEVGSV9TTVJBTV9ERVNDUklQVE9SKSkN Cj4gKyAgICAgICAgICApOw0KPiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIE1ha2Ug c3VyZSBsYXN0IGRlc2NyaXB0b3IgaW4gTmV3RGVzY3JpcHRvckJsb2NrIGNvbnRhaW5zIGxhc3QN Cj4gZGVzY3JpcHRvciBmcm9tIERlc2NyaXB0b3JCbG9jaw0KPiArICAgICAgICAvLw0KPiArICAg ICAgICBDb3B5TWVtICgNCj4gKyAgICAgICAgICAmTmV3RGVzY3JpcHRvckJsb2NrLT5EZXNjcmlw dG9yW0luZGV4XSwNCj4gKyAgICAgICAgICAmTmV3RGVzY3JpcHRvckJsb2NrLT5EZXNjcmlwdG9y W0luZGV4IC0gMV0sDQo+ICsgICAgICAgICAgc2l6ZW9mIChFRklfU01SQU1fREVTQ1JJUFRPUikN Cj4gKyAgICAgICAgICApOw0KPiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIEZpbGwg bmV4dCB0byBsYXN0IGRlc2NyaXB0b3Igd2l0aCBhbiBhbGxvY2F0ZWQgZGVzY3JpcHRvciB0aGF0 IGFsaWducyB0aGUNCj4gdG90YWwgc2l6ZSBvZiBTTVJBTQ0KPiArICAgICAgICAvLw0KPiArICAg ICAgICBOZXdEZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbSW5kZXggLSAxXS5DcHVTdGFydCAg ICAgID0gQmFzZSArIFNpemU7DQo+ICsgICAgICAgIE5ld0Rlc2NyaXB0b3JCbG9jay0+RGVzY3Jp cHRvcltJbmRleCAtIDFdLlBoeXNpY2FsU3RhcnQgPSBCYXNlICsgU2l6ZTsNCj4gKyAgICAgICAg TmV3RGVzY3JpcHRvckJsb2NrLT5EZXNjcmlwdG9yW0luZGV4IC0gMV0uUGh5c2ljYWxTaXplICA9 IE5ld1NpemUgLQ0KPiBTaXplOw0KPiArICAgICAgICBOZXdEZXNjcmlwdG9yQmxvY2stPkRlc2Ny aXB0b3JbSW5kZXggLSAxXS5SZWdpb25TdGF0ZSAgID0NCj4gRGVzY3JpcHRvckJsb2NrLT5EZXNj cmlwdG9yW01heEluZGV4XS5SZWdpb25TdGF0ZSB8IEVGSV9BTExPQ0FURUQ7DQo+ICsgICAgICAg IE5ld0Rlc2NyaXB0b3JCbG9jay0+TnVtYmVyT2ZTbW1SZXNlcnZlZFJlZ2lvbnMrKzsNCj4gKw0K PiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBJbnZhbGlkYXRlIHRoZSBvcmlnaW5hbCBnRWZp U21tUGVpU21yYW1NZW1vcnlSZXNlcnZlR3VpZCBIT0INCj4gKyAgICAgICAgLy8NCj4gKyAgICAg ICAgWmVyb01lbSAoJkhvYi5HdWlkLT5OYW1lLCBzaXplb2YgKCZIb2IuR3VpZC0+TmFtZSkpOw0K PiArICAgICAgfQ0KPiArDQo+ICsgICAgICBIb2IuUmF3ID0gR2V0Rmlyc3RHdWlkSG9iICgmZ0Vm aVNtbVBlaVNtcmFtTWVtb3J5UmVzZXJ2ZUd1aWQpOw0KPiArICAgICAgRGVzY3JpcHRvckJsb2Nr ID0gR0VUX0dVSURfSE9CX0RBVEEgKEhvYi5SYXcpOw0KPiArICAgICAgREVCVUcgKChERUJVR19J TkZPLCAiU01NIFBFSSBTTVJBTSBNZW1vcnkgUmVzZXJ2ZWQgSE9CIC0NCj4gVXBkYXRlZFxuIikp Ow0KPiArICAgICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgRGVzY3JpcHRvckJsb2NrLQ0KPiA+ TnVtYmVyT2ZTbW1SZXNlcnZlZFJlZ2lvbnM7IEluZGV4KyspIHsNCj4gKyAgICAgICAgREVCVUco KERFQlVHX0lORk8sICIgIFNNUkFNIERlc2NyaXB0b3JbJTAyeF06IFN0YXJ0PSUwMTZseA0KPiBT aXplPSUwMTZseCAgU3RhdGU9JTAyeFxuIiwNCj4gKyAgICAgICAgICBJbmRleCwNCj4gKyAgICAg ICAgICBEZXNjcmlwdG9yQmxvY2stPkRlc2NyaXB0b3JbSW5kZXhdLlBoeXNpY2FsU3RhcnQsDQo+ ICsgICAgICAgICAgRGVzY3JpcHRvckJsb2NrLT5EZXNjcmlwdG9yW0luZGV4XS5QaHlzaWNhbFNp emUsDQo+ICsgICAgICAgICAgRGVzY3JpcHRvckJsb2NrLT5EZXNjcmlwdG9yW0luZGV4XS5SZWdp b25TdGF0ZQ0KPiArICAgICAgICAgICkpOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgU21idXNQb2xpY3kgUFBJDQo+ICsgIC8v DQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5JbnN0YWxsUHBpKFBlaVNlcnZpY2VzLCAm bUluc3RhbGxTbWJ1c1BvbGljeVBwaSk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5pdGlhbGl6ZSBTdGFsbCBQUElzDQo+ICsgIC8vDQo+ ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5JbnN0YWxsUHBpIChQZWlTZXJ2aWNlcywgJm1J bnN0YWxsU3RhbGxQcGkpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgcGxhdGZvcm0gUFBJcw0KPiArICAvLw0KPiArICBT dGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+SW5zdGFsbFBwaSAoUGVpU2VydmljZXMsDQo+ICZtSW5z dGFsbFNwZWFrZXJJbnRlcmZhY2VQcGkpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMp Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFZhcmlhYmxlIGluaXRpYWxpemF0aW9uDQo+ICsgIC8v DQo+ICsgIFplcm9NZW0oJlBsYXRmb3JtQ3B1SW5mbywgc2l6ZW9mKEVGSV9QTEFURk9STV9DUFVf SU5GTykpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCB0aGUgc29tZSBQQ0kgYW5kIGNoaXBz ZXQgcmFuZ2UgYXMgVUMNCj4gKyAgLy8gQW5kIGFsaWduIHRvIDFNIGF0IGxlYXNldA0KPiArICAv Lw0KPiArICBIb2IuUmF3ID0gR2V0Rmlyc3RHdWlkSG9iICgmZ0VmaVBsYXRmb3JtSW5mb0d1aWQp Ow0KPiArICBBU1NFUlQgKEhvYi5SYXcgIT0gTlVMTCk7DQo+ICsgIFBsYXRmb3JtSW5mbyA9IEdF VF9HVUlEX0hPQl9EQVRBKEhvYi5SYXcpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxp emUgUGxhdGZvcm1JbmZvIEhPQg0KPiArICAvLw0KPiArICBNdWx0aVBsYXRmb3JtSW5mb0luaXQo UGVpU2VydmljZXMsIFBsYXRmb3JtSW5mbyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRG8gYmFz aWMgTUNIIGluaXQNCj4gKyAgLy8NCj4gKyAgTWNoSW5pdCAoUGVpU2VydmljZXMpOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFNldCB0aGUgbmV3IGJvb3QgbW9kZQ0KPiArICAvLw0KPiArICBTdGF0 dXMgPSBVcGRhdGVCb290TW9kZSAoUGVpU2VydmljZXMsIFBsYXRmb3JtSW5mbyk7DQo+ICsgIEFT U0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgU2V0UGxhdGZvcm1Cb290TW9kZSAo UGVpU2VydmljZXMsIFBsYXRmb3JtSW5mbyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IHNl dHVwIHZhcmlhYmxlLiBUaGlzIGNhbiBvbmx5IGJlIGRvbmUgYWZ0ZXIgQm9vdE1vZGUgaXMgdXBk YXRlZA0KPiArICAvLw0KPiArICBHZXRTZXR1cFZhcmlhYmxlIChQZWlTZXJ2aWNlcywgJlN5c3Rl bUNvbmZpZ3VyYXRpb24pOw0KPiArDQo+ICsgIENoZWNrT3NTZWxlY3Rpb24oUGVpU2VydmljZXMs ICZTeXN0ZW1Db25maWd1cmF0aW9uKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBVcGRhdGUgUGxh dGZvcm1JbmZvIEhPQiBhY2NvcmRpbmcgdG8gc2V0dXAgdmFyaWFibGUNCj4gKyAgLy8NCj4gKyAg UGxhdGZvcm1JbmZvVXBkYXRlKFBlaVNlcnZpY2VzLCBQbGF0Zm9ybUluZm8sICZTeXN0ZW1Db25m aWd1cmF0aW9uKTsNCj4gKw0KPiArICBJbml0aWFsaXplUGxhdGZvcm0gKFBlaVNlcnZpY2VzLCBQ bGF0Zm9ybUluZm8sICZTeXN0ZW1Db25maWd1cmF0aW9uKTsNCj4gKw0KPiArICAvLw0KPiArICAv LyBJbml0aWFsaXplIFZsdlBvbGljeSBQUEkNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gVmx2UG9s aWN5SW5pdCAoUGVpU2VydmljZXMsICZTeXN0ZW1Db25maWd1cmF0aW9uKTsNCj4gKyAgQVNTRVJU X0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTb2Mgc3BlY2lmaWMg R1BJTyBzZXR0aW5nDQo+ICsgIC8vDQo+ICsgIENvbmZpZ3VyZVNvQ0dwaW8oJlN5c3RlbUNvbmZp Z3VyYXRpb24pOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBCYXlsYWtlIEJvYXJkIHNwZWNpZmlj Lg0KPiArICAvLw0KPiArICBpZiAoUGxhdGZvcm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0JM X1JWUCAgfHwNCj4gKyAgICAgIFBsYXRmb3JtSW5mby0+Qm9hcmRJZCA9PSBCT0FSRF9JRF9CTF9G RlJEIHx8DQo+ICsJICAgIFBsYXRmb3JtSW5mby0+Qm9hcmRJZCA9PSBCT0FSRF9JRF9CTF9GRlJE OCB8fA0KPiArICAgICAgUGxhdGZvcm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0JMX1JWUF9E RFIzTCB8fA0KPiArICAgICAgUGxhdGZvcm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0JMX1NU SEkgfHwNCj4gKyAgICAgIFBsYXRmb3JtSW5mby0+Qm9hcmRJZCA9PSBCT0FSRF9JRF9CQl9SVlAg fHwNCj4gKyAgICAgIFBsYXRmb3JtSW5mby0+Qm9hcmRJZCA9PSBCT0FSRF9JRF9CU19SVlAgfHwN Cj4gKyAgICAgIFBsYXRmb3JtSW5mby0+Qm9hcmRJZCA9PSBCT0FSRF9JRF9NSU5OT1cyIHx8DQo+ ICsgICAgICBQbGF0Zm9ybUluZm8tPkJvYXJkSWQgPT0gQk9BUkRfSURfTUlOTk9XMl9UVVJCT1R8 fA0KPiArICAgICAgUGxhdGZvcm1JbmZvLT5Cb2FyZElkID09IEJPQVJEX0lEX0NWSCkgew0KPiAr ICAgIENvbmZpZ3VyZUxwc3NBbmRTY2NHcGlvKCZTeXN0ZW1Db25maWd1cmF0aW9uLCBQbGF0Zm9y bUluZm8pOw0KPiArDQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBDb25maWd1 cmUgTFBFDQo+ICsgIC8vICBBbHBpbmUgVmFsbGV5IGFuZCBCYXlsZXkgQmF5IGJvYXJkIHNwZWNp ZmljDQo+ICsgIC8vDQo+ICsgIENvbmZpZ3VyZUxwZUdwaW8oJlN5c3RlbUNvbmZpZ3VyYXRpb24p Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBCYXlsZXkgQmF5IEJvYXJkIHNwZWNpZmljLg0KPiAr ICAvLw0KPiArICBDb25maWd1cmVTY2lTbWlHcGlvUm91dChQbGF0Zm9ybUluZm8pOw0KPiArICBp ZiAoU3lzdGVtQ29uZmlndXJhdGlvbi5McHNzSTJDM0VuYWJsZWQgPT0gMSkgew0KPiArICAgIENv bmZpZ3VyZU1pcGlDc2koKTsNCj4gKyAgfQ0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRG8g YmFzaWMgQ1BVIGluaXQNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gUGxhdGZvcm1DcHVJbml0IChQ ZWlTZXJ2aWNlcywgJlN5c3RlbUNvbmZpZ3VyYXRpb24sDQo+ICZQbGF0Zm9ybUNwdUluZm8pOw0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIFBlcmZvcm0gYmFzaWMgU1NBIHJlbGF0ZWQgcGxhdGZvcm0g aW5pdGlhbGl6YXRpb24NCj4gKyAgLy8NCj4gKyAgUGxhdGZvcm1Tc2FJbml0ICgmU3lzdGVtQ29u ZmlndXJhdGlvbixQZWlTZXJ2aWNlcyk7DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBEbyBi YXNpYyBQQ0ggaW5pdA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBQbGF0Zm9ybVBjaEluaXQgKCZT eXN0ZW1Db25maWd1cmF0aW9uLCBQZWlTZXJ2aWNlcywNCj4gUGxhdGZvcm1JbmZvLT5QbGF0Zm9y bVR5cGUpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIEluaXRpYWxpemUgcGxhdGZvcm0gUFBJcw0KPiArICAvLw0KPiArICBTdGF0dXMgPSAo KlBlaVNlcnZpY2VzKS0+SW5zdGFsbFBwaSAoUGVpU2VydmljZXMsICZtUHBpTGlzdFswXSk7DQo+ ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgaWYgKFBsYXRmb3JtSW5m by0+Qm9hcmRJZCAhPSBCT0FSRF9JRF9DVkgpIHsNCj4gKyAgICBJbnN0YWxsUGxhdGZvcm1DbG9j a3NOb3RpZnkgKFBlaVNlcnZpY2VzKTsNCj4gKyAgICBJbnN0YWxsUGxhdGZvcm1TeXNDdHJsR1BJ T05vdGlmeShQZWlTZXJ2aWNlcyk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBJbml0 aWFsaXplIHBsYXRmb3JtIFBQSXMNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNl cyktPk5vdGlmeVBwaShQZWlTZXJ2aWNlcywgJm1Ob3RpZnlMaXN0WzBdKTsNCj4gKyAgQVNTRVJU X0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbml0aWFsaXplIE1l YXN1cmVkIEJvb3QNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gTWVhc3VyZWRCb290SW5pdCAoUGVp U2VydmljZXMsICZTeXN0ZW1Db25maWd1cmF0aW9uKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAo U3RhdHVzKTsNCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4g Kw0KPiArICBSZXR1cm4gdGhlIG1haW5ibG9ja2NvbXBhY3QgRnYuDQo+ICsNCj4gKyAgQHBhcmFt IEZ2TnVtYmVyICAgIE91ciBlbnVtZXJhdGlvbiBvZiB0aGUgZmlybXdhcmUgdm9sdW1lcyB3ZSBj YXJlDQo+IGFib3V0Lg0KPiArDQo+ICsgIEBwYXJhbSBGdkFkZHJlc3MgIEJhc2UgQWRkcmVzcyBv ZiB0aGUgbWVtb3J5IGNvbnRhaW5pbmcgdGhlIGZpcm13YXJlDQo+IHZvbHVtZQ0KPiArDQo+ICsg IEByZXR2YWwgRUZJX1NVQ0NFU1MNCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EDQo+ICsNCj4g KyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtGaW5kRnYgKA0KPiArICBJTiBFRklf UEVJX0ZJTkRfRlZfUFBJICAgICAgICAgICpUaGlzLA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NF UlZJQ0VTICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIE9VVCBVSU5UOCAgICAg ICAgICAgICAgICAgICAgKkZ2TnVtYmVyLA0KPiArICBPVVQgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9I RUFERVIgICoqRlZBZGRyZXNzDQo+ICsgICkNCj4gK3sNCj4gKwkvLw0KPiArICAvLyBBdCBwcmVz ZW50LCB3ZSBvbmx5IGhhdmUgb25lIEZ2IHRvIHNlYXJjaA0KPiArICAvLw0KPiArICBpZiAoKkZ2 TnVtYmVyID09IDApIHsNCj4gKyAgICAqRnZOdW1iZXIgPSAxOw0KPiArICAgICpGVkFkZHJlc3Mg PSAoRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVINCj4gKikoVUlOVE4pRml4ZWRQY2RHZXQzMiAo UGNkRmxhc2hGdk1haW5CYXNlKTsNCj4gKyAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICsgIH0N Cj4gKyAgZWxzZSBpZiAoKkZ2TnVtYmVyID09IDEpIHsNCj4gKyAgICAqRnZOdW1iZXIgPSAyOw0K PiArICAgICpGVkFkZHJlc3MgPSAoRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVINCj4gKikoVUlO VE4pRml4ZWRQY2RHZXQzMiAoUGNkRmxhc2hGdlJlY292ZXJ5MkJhc2UpOw0KPiArICAgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gKyAgfQ0KPiArICBlbHNlIHsgLy8gTm90IHRoZSBvbmUgRnYgd2Ug Y2FyZSBhYm91dA0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICt9DQo+ ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArQ3B1T25seVJlc2V0ICgNCj4gKyAgSU4g Q09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0KPiArew0KPiAr Ly8gIE1zZ0J1czMyV3JpdGUoQ0RWX1VOSVRfUFVOSVQsIFBVTklUX0NQVV9SU1QsIDB4MDEpDQo+ ICsjaWZkZWYgX19HTlVDX18NCj4gKyAgX19hc21fXw0KPiArICAoDQo+ICsgICAieG9ybCAlZWN4 LCAlZWN4XG4iDQo+ICsgICAiMTpobHQ7IGhsdDsgaGx0XG4iDQo+ICsgICAiam1wIDFiXG4iDQo+ ICsgICk7DQo+ICsjZWxzZQ0KPiArICBfYXNtIHsNCj4gKyAgICB4b3IgICBlY3gsIGVjeA0KPiAr ICBIbHRMb29wOg0KPiArICAgIGhsdA0KPiArICAgIGhsdA0KPiArICAgIGhsdA0KPiArICAgIGxv b3AgIEhsdExvb3ANCj4gKyAgfQ0KPiArI2VuZGlmDQo+ICsgIC8vDQo+ICsgIC8vIElmIHdlIGdl dCBoZXJlIHdlIG5lZWQgdG8gbWFyayBpdCBhcyBhIGZhaWx1cmUuDQo+ICsgIC8vDQo+ICsgIHJl dHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gKw0KPiArI2lmZGVmIF9fR05VQ19f DQo+ICsjcHJhZ21hIEdDQyBwb3Bfb3B0aW9ucw0KPiArI2Vsc2UNCj4gKyNwcmFnbWEgb3B0aW1p emUgKCIiLCBvbikNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1BsYXRmb3JtRWFybHlJbml0LmgNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGxhdGZv cm1FYXJseUluaXQuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li4yOTc0OTI3N2Q3DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1BsYXRmb3JtRWFybHlJbml0LmgNCj4gQEAg LTAsMCArMSwxNDk5IEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAt IDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0K PiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQbGF0Zm9ybUVhcmx5 SW5pdC5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFBsYXRmb3JtIEVhcmx5IFN0YWdl IGhlYWRlciBmaWxlDQo+ICsNCj4gKw0KPiArDQo+ICstLSovDQo+ICsNCj4gKy8qKysNCj4gKyBU aGlzIGZpbGUgY29udGFpbnMgYW4gJ0ludGVsIFBlcmlwaGVyYWwgRHJpdmVyJyBhbmQgaXMNCj4g KyBsaWNlbnNlZCBmb3IgSW50ZWwgQ1BVcyBhbmQgY2hpcHNldHMgdW5kZXIgdGhlIHRlcm1zIG9m IHlvdXINCj4gKyBsaWNlbnNlIGFncmVlbWVudCB3aXRoIEludGVsIG9yIHlvdXIgdmVuZG9yLiAg VGhpcyBmaWxlIG1heQ0KPiArIGJlIG1vZGlmaWVkIGJ5IHRoZSB1c2VyLCBzdWJqZWN0IHRvIGFk ZGl0aW9uYWwgdGVybXMgb2YgdGhlDQo+ICsgbGljZW5zZSBhZ3JlZW1lbnQNCj4gKy0tKi8NCj4g Kw0KPiArI2lmbmRlZiBfRUZJX1BMQVRGT1JNX0VBUkxZX0lOSVRfSF8NCj4gKyNkZWZpbmUgX0VG SV9QTEFURk9STV9FQVJMWV9JTklUX0hfDQo+ICsNCj4gKyNkZWZpbmUgRUZJX0ZPUldBUkRfREVD TEFSQVRJT04oeCkgdHlwZWRlZiBzdHJ1Y3QgXyMjeCB4DQo+ICsjaW5jbHVkZSA8RnJhbWV3b3Jr UGVpLmg+DQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1CYXNlQWRkcmVzc2VzLmgiDQo+ICsjaW5jbHVk ZSAiUGNoQWNjZXNzLmgiDQo+ICsjaW5jbHVkZSAiVmx2QWNjZXNzLmgiDQo+ICsjaW5jbHVkZSAi U2V0dXBNb2RlLmgiDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1Cb290TW9kZS5oIg0KPiArI2luY2x1 ZGUgIlBsYXRmb3JtLmgiDQo+ICsjaW5jbHVkZSAiTGVnYWN5U3BlYWtlci5oIg0KPiArDQo+ICsj aW5jbHVkZSA8UHBpL1N0YWxsLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9QbGF0Zm9ybUluZm8uaD4N Cj4gKyNpbmNsdWRlIDxHdWlkL1NldHVwVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxQcGkvQXRh Q29udHJvbGxlci5oPg0KPiArI2luY2x1ZGUgPFBwaS9GaW5kRnYuaD4NCj4gKyNpbmNsdWRlIDxQ cGkvQm9vdEluUmVjb3ZlcnlNb2RlLmg+DQo+ICsjaW5jbHVkZSA8UHBpL1JlYWRPbmx5VmFyaWFi bGUyLmg+DQo+ICsjaW5jbHVkZSA8UHBpL0NhcHN1bGUuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0Vm aVZwZERhdGEuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2RMaWIu aD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0lvTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9I b2JMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L1BlaVNlcnZpY2VzTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9NdHJyTGliLmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9DcHVJQTMyLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxJbmR1 c3RyeVN0YW5kYXJkL1BjaTIyLmg+DQo+ICsjaW5jbHVkZSA8UHBpL1NwZWFrZXIuaD4NCj4gKyNp bmNsdWRlIDxHdWlkL0Zpcm13YXJlRmlsZVN5c3RlbS5oPg0KPiArI2luY2x1ZGUgPEd1aWQvTWVt b3J5VHlwZUluZm9ybWF0aW9uLmg+DQo+ICsjaW5jbHVkZSA8UHBpL0NhY2hlLmg+DQo+ICsjaW5j bHVkZSA8UHBpL1NtYnVzLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2hQbGF0Zm9ybUxpYi5o Pg0KPiArI2luY2x1ZGUgPFBwaS9TbWJ1c1BvbGljeS5oPg0KPiArI2luY2x1ZGUgPFBwaS9SZXNl dC5oPg0KPiArI2luY2x1ZGUgPFBwaS9FbmRPZlBlaVBoYXNlLmg+DQo+ICsjaW5jbHVkZSA8UHBp L01lbW9yeURpc2NvdmVyZWQuaD4NCj4gKyNpbmNsdWRlIDxQcGkvVmx2UG9saWN5Lmg+DQo+ICsj aW5jbHVkZSA8R3VpZC9HbG9iYWxWYXJpYWJsZS5oPg0KPiArI2luY2x1ZGUgPFBwaS9SZWNvdmVy eU1vZHVsZS5oPg0KPiArI2luY2x1ZGUgPFBwaS9EZXZpY2VSZWNvdmVyeU1vZHVsZS5oPg0KPiAr I2luY2x1ZGUgPEd1aWQvQ2Fwc3VsZS5oPg0KPiArI2luY2x1ZGUgPEd1aWQvUmVjb3ZlcnlEZXZp Y2UuaD4NCj4gKyNpbmNsdWRlIDxQcGkvTWFzdGVyQm9vdE1vZGUuaD4NCj4gKyNpbmNsdWRlIDxH dWlkL1BsYXRmb3JtQ3B1SW5mby5oPg0KPiArI2luY2x1ZGUgPEd1aWQvT3NTZWxlY3Rpb24uaD4N Cj4gKyNpbmNsdWRlIDxHdWlkL1NtcmFtTWVtb3J5UmVzZXJ2ZS5oPg0KPiArI2luY2x1ZGUgPFJl Z2lzdGVyL01zci5oPg0KPiArDQo+ICsjZGVmaW5lIFNNQ19MQU5fT04gICAgICAgMHg0Ng0KPiAr I2RlZmluZSBTTUNfTEFOX09GRiAgICAweDQ3DQo+ICsjZGVmaW5lIFNNQ19ERUVQX1MzX1NUUyAg ICAweEIyDQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBXYWtlIEV2ZW50IFR5cGVz DQo+ICsvLw0KPiArI2RlZmluZSBTTUJJT1NfV0FLRVVQX1RZUEVfUkVTRVJWRUQgICAgICAgICAg IDB4MDANCj4gKyNkZWZpbmUgU01CSU9TX1dBS0VVUF9UWVBFX09USEVSUyAgICAgICAgICAgICAw eDAxDQo+ICsjZGVmaW5lIFNNQklPU19XQUtFVVBfVFlQRV9VTktOT1dOICAgICAgICAgICAgMHgw Mg0KPiArI2RlZmluZSBTTUJJT1NfV0FLRVVQX1RZUEVfQVBNX1RJTUVSICAgICAgICAgIDB4MDMN Cj4gKyNkZWZpbmUgU01CSU9TX1dBS0VVUF9UWVBFX01PREVNX1JJTkcgICAgICAgICAweDA0DQo+ ICsjZGVmaW5lIFNNQklPU19XQUtFVVBfVFlQRV9MQU5fUkVNT1RFICAgICAgICAgMHgwNQ0KPiAr I2RlZmluZSBTTUJJT1NfV0FLRVVQX1RZUEVfUE9XRVJfU1dJVENIICAgICAgIDB4MDYNCj4gKyNk ZWZpbmUgU01CSU9TX1dBS0VVUF9UWVBFX1BDSV9QTUUgICAgICAgICAgICAweDA3DQo+ICsjZGVm aW5lIFNNQklPU19XQUtFVVBfVFlQRV9BQ19QT1dFUl9SRVNUT1JFRCAgMHgwOA0KPiArDQo+ICsj ZGVmaW5lIEVGSV9DUFVJRF9WSVJUX1BIWVNfQUREUkVTU19TSVpFICAgICAgIDB4ODAwMDAwMDgN Cj4gKw0KPiArLy8NCj4gKy8vIERlZmluZXMgZm9yIHN0YWxsIHBwaQ0KPiArLy8NCj4gKyNkZWZp bmUgUEVJX1NUQUxMX1JFU09MVVRJT04gIDENCj4gKw0KPiArLy8NCj4gKy8vIFVzZWQgaW4gUEVJ IG1lbW9yeSB0ZXN0IHJvdXRpbmVzDQo+ICsvLw0KPiArI2RlZmluZSBNRU1PUllfVEVTVF9DT1ZF Ul9TUEFOICAweDQwMDAwDQo+ICsjZGVmaW5lIE1FTU9SWV9URVNUX1BBVFRFUk4gICAgIDB4NUE1 QTVBNUENCj4gKw0KPiArI2RlZmluZSBFRklfTE9XX0JFRVBfRlJFUVVFTkNZICAgICAgICAgICAg MHgzMUINCj4gKyNkZWZpbmUgRUZJX0hJR0hfQkVFUF9GUkVRVUVOQ1kgICAgICAgICAgIDB4MjU0 DQo+ICsNCj4gKy8vDQo+ICsvLyBHZW5lcmFsIFB1cnBvc2UgQ29uc3RhbnRzDQo+ICsvLw0KPiAr I2RlZmluZSBJQ0hfQUNQSV9USU1FUl9NQVhfVkFMVUUgIDB4MTAwMDAwMCAvL1RoZSB0aW1lciBp cyAyNCBiaXQNCj4gb3ZlcmZsb3cNCj4gKw0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLw0KPiArLy8g ICAgICAgICAgICAgIEdQSU8gUmVnaXN0ZXIgU2V0dGluZ3MgZm9yIFZhbGxleUZhbGxzIChUYWJs ZXQpDQo+ICsvLw0KPiArLy8NCj4gKy8vICAgICAgICAgICAgICAgICAgIElPIFNwYWNlIGNvbmZp Z3l1cmF0aW9uIHJlZ2lzdGVycw0KPiArLy8gRmllbGQgRGVzY3JpcHRpb25zOg0KPiArLy8gICAg VVNFOiBEZWZpbmVzIHRoZSBwaW4ncyB1c2FnZSBtb2RlbDogIEdQSU8gKEcpIG9yIE5hdGl2ZSAo TikgbW9kZS4NCj4gKy8vICAgIEkvTzogRGVmaW5lcyB3aGV0aGVyIEdQSU9zIGFyZSBpbnB1dHMg KEkpIG9yIG91dHB1dHMgKE8pLg0KPiArLy8gICAgICAgICAoTm90ZTogIE9ubHkgbWVhbmluZ2Z1 bCBmb3IgcGlucyB1c2VkIGFzIEdQSU9zLikNCj4gKy8vICAgIExWTDogVGhpcyBmaWVsZCBnaXZl cyB5b3UgdGhlIGluaXRpYWwgdmFsdWUgZm9yICJvdXRwdXQiIEdQSU8ncy4NCj4gKy8vICAgICAg ICAgKE5vdGU6IFRoZSBvdXRwdXQgbGV2ZWwgaXMgZGVwZW5kZW50IHVwb24gd2hldGhlciB0aGUg cGluIGlzDQo+IGludmVydGVkLikNCj4gKy8vICAgIFRQRTogRGVmaW5lcyB3aGV0aGVyIFRyaWdn ZXIgUG9zaXRpdmUgRWRnZSBFbmFibGUuDQo+ICsvLyAgICBUTkU6IERlZmluZXMgd2hldGhlciBU cmlnZ2VyIE5lZ2F0aXZlIEVkZ2UgRW5hYmxlLg0KPiArLy8gICAgV0FLRV9FTjogb25seSBzdXBw b3J0IGluIFNVUyBjb21tdW5pdHkNCj4gKy8vICAgICAgICAgKE5vdGU6ICBPbmx5IGFmZmVjdHMg dGhlIGxldmVsIHNlbnQgdG8gdGhlIEdQRSBsb2dpYyBhbmQgZG9lcyBub3QNCj4gKy8vICAgICAg ICAgYWZmZWN0IHRoZSBsZXZlbCByZWFkIHRocm91Z2ggdGhlIEdQSU8gcmVnaXN0ZXJzLikNCj4g Ky8vDQo+ICsvLw0KPiArLy8gICAgICAgICAgICAgICAgICAgIE1lbW9yeSBzcGNhZSBjb25maWd1 cmF0aW9uIHJlZ2lzdGVycw0KPiArLy8NCj4gKy8vIEZpZWxkIERlc2NyaXB0aW9uczoNCj4gKy8v ICAgUEFEIHJlbGVhdGVkOg0KPiArLy8gICAgUEFEX0NPTkYwDQo+ICsvLyAgICAgIFBBRF9DT05G MQ0KPiArLy8gICAgICBQQURfVkFMDQo+ICsvLyAgICAgIFBBRF9ERlQNCj4gKy8vDQo+ICsvLyBO b3RlczoNCj4gKy8vICAgIDEuIE4gPSBOYXRpdmUgLCBHID0gR1BJTyAsIEkgPSBJbnB1dCwgTyA9 IE91dHB1dCwgLSA9IEJPVEgvTk9UIFNVUkUNCj4gKy8vDQo+ICsvLyBTaWduYWwgICAgICAgICAg VXNlZEFzICAgICAgICAgICAgICAgICAgICAgICBVU0UgICAgIEkvTyAgICAgIExWTCAgICAgVFBF ICAgICBUTkUgICBQQ09ORjANCj4gUENPTkYxICAgUFZBTCAgUERGVA0KPiArLy8gLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gKy8vIEdQSU8wICAgICAgICAgICBVQVJUMV9SWEQtTCAgICAgICAgICAgICAgICAgICBO ICAgICAgIEkgICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICBjZDI5aCAgICAtICAgICAgICAg LQ0KPiAtDQo+ICsvLyBHUElPMSAgICAgICAgICAgVUFSVDFfVFhELTAgICAgICAgICAgICAgICAg ICAgTiAgICAgICBPICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgY2QyOWggICAgLSAgICAg ICAgIC0NCj4gLQ0KPiArLy8gKkdQSU8yICAgICAgICAgICBVQVJUMV9SVFNfQi0xICAgICAgICAg ICAgICAgIE4gICAgICAgSSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIGNjYTloICAgIC0g ICAgICAgICAtDQo+IC0NCj4gKy8vICpHUElPMyAgICAgICAgICAgVUFSVDFfQ1RTX0ItSCAgICAg ICAgICAgICAgICBOICAgICAgIE8gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICBjY2E5aCAg ICAtDQo+IC0gICAgIC0NCj4gKw0KPiArLy8gR1BJTzQgICAgICAgICAgIEkyQzFfU0RBLU9ELU8g ICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIGNj YTloICAgIC0gICAgICAgICAtDQo+IC0NCj4gKy8vIEdQSU81ICAgICAgICAgICBJMkMxX1NDTC1P RC1PICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAg ICBjY2E5aCAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsvLyBHUElPNiAgICAgICAgICAgSTJTX1NZ U0NMSy0wICAgICAgICAgICAgICAgICAgTiAgICAgICBPICAgICAgICAtICAgICAgIC0gICAgICAg LSAgICAgOGQ1MWggICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzcgICAgICAgICAgIEky U19MX1ItMCAoU1ApICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAgLSAgICAgICAtICAg ICAgIC0gICAgIDhjZDFoICAgIC0gICAgICAgICAtDQo+IC0NCj4gKy8vIEdQSU84ICAgICAgICAg ICBJMlNfREFUQV9PVVQtMCAgICAgICAgICAgICAgICBOICAgICAgIE8gICAgICAgIC0gICAgICAg LSAgICAgICAtICAgICA4Y2QxaCAgICAtDQo+IC0gICAgIC0NCj4gKy8vIEdQSU85ICAgICAgICAg ICBJMlNfU0RBVEFfSU4tTCAgICAgICAgICAgICAgICBOICAgICAgIEkgICAgICAgIC0gICAgICAg LSAgICAgICAtICAgICA4Y2QxaCAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsNCj4gKy8vIEdQSU8x MCAgICAgICAgICBQQ01fQ0xLLTAgICAgICAgICAgICAgICAgICAgICBOICAgICAgIE8gICAgICAg IC0gICAgICAgLSAgICAgICAtICAgICA4ZDUxaCAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsvLyBH UElPMTEgICAgICAgICAgUENNX0ZTWU5DLTAgKFNQKSAgICAgICAgICAgICAgTiAgICAgICBPICAg ICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgLQ0KPiAtICAgICAtDQo+ICsvLyBH UElPMTIgICAgICAgICAgUENNX0RBVEFfT1VULTAgKFNQKSAgICAgICAgICAgTiAgICAgICBPICAg ICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgLQ0KPiAtICAgICAtDQo+ICsvLyBH UElPMTMgICAgICAgICAgUENNX0RBVEFfSU4tTCAgICAgICAgICAgICAgICAgTiAgICAgICBJICAg ICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGQ1MWggICAgLQ0KPiAtICAgICAtDQo+ICsNCj4g Ky8vIEdQSU8xNCAgICAgICAgICBTQVRBX0dQMCAgICAgICAgICAgICAgICAgICAgICBOICAgICAg IC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAgLSAgICAgICAtICAgICAgICAgLSAgICAg LQ0KPiArLy8gR1BJTzE1ICAgICAgICAgIEkyQzJfU0RBLU9ELU8vSSAgICAgICAgICAgICAgIE4g ICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIGNjYWFoICAgIC0gICAgICAgICAt DQo+IC0NCj4gKw0KPiArLy8gR1BJTzE2ICAgICAgICAgIFNBVEFfTEVETiAgICAgICAgICAgICAg ICAgICAgIE4gICAgICAgTyAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0g ICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPMTcgICAgICAgICAgVUFSVDJfUlRTX0ItMSAgICAg ICAgICAgICAgICAgTiAgICAgICBJICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgY2QyYWgg ICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzE4ICAgICAgICAgIFVBUlQyX0NUU19CLUgg ICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIGNj YWFoICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzE5ICAgICAgICAgIFVBUlQyX1JYRC1IICAg ICAgICAgICAgICAgICAgIE4gICAgICAgSSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIGNj YWFoICAgIC0gICAgICAgICAtDQo+IC0NCj4gKw0KPiArLy8gR1BJTzIwICAgICAgICAgIEkyQzJf U0NMLU9ELU8vSSAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAg IC0gICAgIGNjYWFoICAgIC0gICAgICAgICAtDQo+IC0NCj4gKy8vIEdQSU8yMSAgICAgICAgICAq KlBDSUVfQ0xLUkVRNEIgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAg ICAgICAtICAgICAgLSAgICAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsvLyBHUElPMjIgICAgICAg ICAgVUFSVDJfVFhELTAgICAgICAgICAgICAgICAgICAgTiAgICAgICBPICAgICAgICAtICAgICAg IC0gICAgICAgLSAgICAgY2NhYWggICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzIzICAg ICAgICAgIEZMRVhfQ0xLX1NFMSAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsNCj4gKy8v IEdQSU8yNCAgICAgICAgICBTUEkwX1NDSy0wICAgICAgICAgICAgICAgICAgICBOICAgICAgIE8g ICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4ZDAyaCAgICAtICAgICAgICAgLQ0KPiAtDQo+ ICsvLyBHUElPMjUgICAgICAgICAgU1BJMF9DUy0xICAgICAgICAgICAgICAgICAgICAgTiAgICAg ICBPICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGQwMmggICAgLSAgICAgICAgIC0gICAg IC0NCj4gKy8vIEdQSU8yNiAgICAgICAgICBTUEkwX01PU0ktMCAgICAgICAgICAgICAgICAgICBO ICAgICAgIE8gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4ZDAyaCAgICAtICAgICAgICAg LQ0KPiAtDQo+ICsvLyBHUElPMjcgICAgICAgICAgU1BJMF9NSVNPLUwgICAgICAgICAgICAgICAg ICAgTiAgICAgICBJICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGQwMmggICAgLSAgICAg ICAgIC0NCj4gLQ0KPiArDQo+ICsvLyBHUElPMjggICAgICAgICAgVUFSVDNfUlhELUwgICAgICAg ICAgICAgICAgICAgTiAgICAgICBJICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIC0gICAg ICAgLSAgICAgICAgIC0gICAgIC0NCj4gKy8vIEdQSU8yOSAgICAgICAgICBVQVJUM19UWEQtMCAg ICAgICAgICAgICAgICAgICBOICAgICAgIE8gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAg LSAgICAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzMwICAgICAgICAgIFVBUlQ0X1JY RC1MICAgICAgICAgICAgICAgICAgIE4gICAgICAgSSAgICAgICAgLSAgICAgICAtICAgICAgIC0g ICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPMzEgICAgICAgICAgVUFS VDRfVFhELTAgICAgICAgICAgICAgICAgICAgTiAgICAgICBPICAgICAgICAtICAgICAgIC0gICAg ICAgLSAgICAgIC0gICAgICAgLSAgICAgICAgIC0gICAgIC0NCj4gKw0KPiArLy8gR1BJTzMyICAg ICAgICAgIFNETU1DMV9DTEsgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgIDIwOGQ1MWggICAtDQo+IC0gICAgIC0NCj4gKy8vIEdQSU8zMyAg ICAgICAgICBTRE1NQzFfRDAgICAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0g ICAgICAgLSAgICAgICAtICAgICA4Y2QxaCAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJ TzM0ICAgICAgICAgIFNETU1DMV9EMSAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAg ICAgLSAgICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsv LyBHUElPMzUgICAgICAgICAgU0RNTUMxX0QyICAgICAgICAgICAgICAgICAgICAgTiAgICAgICAt ICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgIC0gICAgICAgICAtDQo+IC0N Cj4gKy8vIEdQSU8zNiAgICAgICAgICBTRE1NQzFfRDNfQ0RfQiAgICAgICAgICAgICAgICBOICAg ICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4Y2QxaCAgICAgLQ0KPiAtICAgICAt DQo+ICsvLyBHUElPMzcgICAgICAgICAgTU1DMV9ENF9TRF9XRSAgICAgICAgICAgICAgICAgTiAg ICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgIC0NCj4gLSAgICAg LQ0KPiArLy8gR1BJTzM4ICAgICAgICAgIE1NQzFfRDUgICAgICAgICAgICAgICAgICAgICAgIE4g ICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAtICAgICAgICAg LQ0KPiAtDQo+ICsvLyBHUElPMzkgICAgICAgICAgTU1DMV9ENiAgICAgICAgICAgICAgICAgICAg ICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgIC0gICAg ICAgICAtDQo+IC0NCj4gKy8vIEdQSU80MCAgICAgICAgICBNTUMxX0Q3ICAgICAgICAgICAgICAg ICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4Y2QxaCAgICAg LSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzQxICAgICAgICAgIFNETU1DMV9DTUQgICAgICAg ICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIDhjZDFo ICAgICAtDQo+IC0gICAgIC0NCj4gKy8vIEdQSU80MiAgICAgICAgICBNTUMxX1JFU0VUX0IgICAg ICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAyMDhk NTFoICAgLQ0KPiAtICAgICAtDQo+ICsNCj4gKy8vIEdQSU80MyAgICAgICAgICBTRE1NQzJfQ0xL ICAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAg ICAyMDhkNTFoICAgLQ0KPiAtICAgICAtDQo+ICsvLyBHUElPNDQgICAgICAgICAgU0RNTUMyX0Qw ICAgICAgICAgICAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAg ICAgOGNkMWggICAgIC0gICAgICAgICAtDQo+IC0NCj4gKy8vIEdQSU80NSAgICAgICAgICBTRE1N QzJfRDEgICAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAg ICAtICAgICA4Y2QxaCAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzQ2ICAgICAgICAg IFNETU1DMl9EMiAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAt ICAgICAgIC0gICAgIDhjZDFoICAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsvLyBHUElPNDcgICAg ICAgICAgU0RNTUMyX0QzX0NEX0IgICAgICAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAg ICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzQ4ICAg ICAgICAgIFNETU1DMl9DTUQgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAtDQo+IC0gICAgIC0NCj4gKw0KPiArLy8gR1BJ TzQ5ICAgICAgICAgIFNETU1DM19DTEsgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAg ICAgLSAgICAgICAtICAgICAgIC0gICAgIDhkNTFoICAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiAr Ly8gR1BJTzUwICAgICAgICAgIFNETU1DM19EMCAgICAgICAgICAgICAgICAgICAgIE4gICAgICAg LSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAgLSAgICAgICAgIC0NCj4g LQ0KPiArLy8gR1BJTzUxICAgICAgICAgIFNETU1DM19EMSAgICAgICAgICAgICAgICAgICAgIE4g ICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICA4Y2QxaCAgICAgIC0gICAgICAg ICAtDQo+IC0NCj4gKy8vIEdQSU81MiAgICAgICAgICBTRE1NQzNfRDIgICAgICAgICAgICAgICAg ICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAgOGNkMWggICAgICAt ICAgICAgICAgLQ0KPiAtDQo+ICsvLyBHUElPNTMgICAgICAgICAgU0RNTUMzX0QzICAgICAgICAg ICAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIDhjZDFo ICAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzU0ICAgICAgICAgIFNETU1DM19DRF9C ICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAg ICBjY2E5aCAgICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzU1ICAgICAgICAgIFNETU1DM19D TUQgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0g ICAgICA4Y2QxaCAgICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzU2ICAgICAgICAgIFNETU1D M18xUDhfRU4gICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAg IC0gICAgICBjZDI5aCAgIC0NCj4gLSAgICAgLQ0KPiArDQo+ICsvLyBHUElPNTcgICAgICAgICAg ICBMUENfQUQwICAgICAgICAgICAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0g ICAgICAgLSAgICAgIC0gICAgICAgLSAgICAgICAgIC0gICAgIC0NCj4gKy8vIEdQSU81OCAgICAg ICAgICAgIExQQ19BRDEgICAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAg ICAgLSAgICAgICAtICAgICAgLSAgICAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzU5 ICAgICAgICAgICAgTFBDX0FEMiAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAg LSAgICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBH UElPNjAgICAgICAgICAgICBMUENfQUQzICAgICAgICAgICAgICAgICAgICAgTiAgICAgICAtICAg ICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIC0gICAgICAgLSAgICAgICAgIC0gICAgIC0NCj4g Ky8vIEdQSU82MSAgICAgICAgICAgIExQQ19GUkFNRUIgICAgICAgICAgICAgICAgICBOICAgICAg IE8gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAgLSAgICAgICAtICAgICAgICAgLSAgICAg LQ0KPiArLy8gR1BJTzYyICAgICAgICAgICAgTFBDX0NMS09VVDAgICAgICAgICAgICAgICAgIE4g ICAgICAgTyAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAt ICAgICAtDQo+ICsvLyBHUElPNjMgICAgICAgICAgICBMUENfQ0xLT1VUMSAgICAgICAgICAgICAg ICAgTiAgICAgICBPICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIC0gICAgICAgLSAgICAg ICAgIC0gICAgIC0NCj4gKy8vIEdQSU82NCAgICAgICAgICAgIExQQ19DTEtSVU5CICAgICAgICAg ICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAgLSAgICAgICAt ICAgICAgICAgLSAgICAgLQ0KPiArDQo+ICsvLyBHUElPNjUgICAgICAgICAgICBTTUJfREFUQSAg ICAgICAgICAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAg IC0gICAgICAgLSAgICAgICAgIC0gICAgIC0NCj4gKy8vIEdQSU82NiAgICAgICAgICAgIFNNQl9D TEsgICAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAt ICAgICAgLSAgICAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzY3ICAgICAgICAgICAg U01CX0FMRVJUQiAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAg ICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsNCj4gKy8vIEdQSU82OCAg ICAgICAgICAgIElMQl9TRUlSUSAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgLSAg ICAgICAgLSAgICAgICAtICAgICAgLSAgICAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJ TzY5ICAgICAgICAgICAgU1BLUiAgICAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAg ICAtICAgICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsN Cj4gKy8vU1VTIFdFTEwNCj4gKw0KPiArLy9HUElPX1NVUzAgICAgICAgICAgICAgQlRfV0FLRVVQ X1ZMViAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAg Q0NBOGgNCj4gLSAgICAgICAgIC0gICAgIC0NCj4gKy8vR1BJT19TVVMxICAgICAgICAgICAgIEJU X0NMT0NLX1JFUSAgICAgICAgICAgICAgICBOICAgICAgIE8gICAgICAgLSAgICAgICAgLSAgICAg ICAtICAgIENDQThoDQo+IC0gICAgICAgICAtICAgICAtDQo+ICsvL0dQSU9fU1VTMiAgICAgICAg ICAgICBXSUZJX1BXUl9FTiAgICAgICAgICAgICAgICAgTiAgICAgICBPICAgICAgIC0gICAgICAg IC0gICAgICAgLSAgICBDQ0E4aA0KPiAtICAgICAgICAgLSAgICAgLQ0KPiArLy9HUElPX1NVUzMg ICAgICAgICAgICAgU0RfQ0FSRF9QV1JfRU4gICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAt ICAgICAgICAtICAgICAgIC0gICAgQ0QyOGgNCj4gLSAgICAgICAgIC0gICAgIC0NCj4gKy8vR1BJ T19TVVM0ICAgICAgICAgICAgIEdQSU9fU1VTNCAgICAgICAgICAgICAgICAgICBOICAgICAgIE8g ICAgICAgLSAgICAgICAgLSAgICAgICAtICAgIENEMjhoICAgICAgIC0NCj4gLSAgICAgLQ0KPiAr Ly9HUElPX1NVUzUgICAgICAgICAgICAgR1BJT19TVVM1ICAgICAgICAgICAgICAgICAgIE4gICAg ICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgQ0QyOGggICAgICAgLQ0KPiAtICAgICAt DQo+ICsvL0dQSU9fU1VTNiAgICAgICAgICAgICBTVVNQV1JETkFDSyAgICAgICAgICAgICAgICAg TiAgICAgICBPICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICA4ODUwaA0KPiAtICAgICAgICAg LSAgICAgLQ0KPiArLy9HUElPX1NVUzcgICAgICAgICAgICAgUE1VX1NMUF9ERFJWVFRfQiAgICAg ICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgODg1MGgNCj4gLSAg ICAgICAgIC0gICAgIC0NCj4gKy8vR1BJT19TVVM4ICAgICAgICAgICAgIFBNVV9XQUtFX0IgICAg ICAgICAgICAgICAgICBOICAgICAgIE8gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgIENDQTho DQo+IC0gICAgICAgICAtICAgICAtDQo+ICsvL0dQSU9fU1VTOSAgICAgICAgICAgICBQTVVfUFdS QlROX0IgICAgICAgICAgICAgICAgTiAgICAgICBPICAgICAgIC0gICAgICAgIC0gICAgICAgLSAg ICBDQ0E4aA0KPiAtICAgICAgICAgLSAgICAgLQ0KPiArLy9HUElPX1NVUzEwICAgICAgICAgICAg UE1VX1dBS0VfTEFOX0IgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAg ICAgIC0NCj4gQ0NBOGggICAgICAgLSAgICAgICAgIC0gICAgIC0NCj4gKy8vR1BJT19TVVMxMSAg ICAgICAgICAgIFNVU19TVEFUX0IgICAgICAgICAgICAgICAgICBOICAgICAgIE8gICAgICAgLSAg ICAgICAgLSAgICAgICAtICAgIEM4MjhoICAgICAgIC0NCj4gLSAgICAgLQ0KPiArLy9HUElPX1NV UzEyICAgICAgICAgICAgR1BJT19TVVMxMiAgICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAg ICAtICAgICAgICAtICAgICAgIC0gICAgQzgyOGggICAgICAtDQo+IC0gICAgIC0NCj4gKy8vR1BJ T19TVVMxMyAgICAgICAgICAgIFVTQl9PQzBfQi0yMEssSCAgICAgICAgICAgICBOICAgICAgIE8g ICAgICAgLSAgICAgICAgLSAgICAgICAtICAgIENDQThoDQo+IC0gICAgICAgICAtICAgICAtDQo+ ICsvL0dQSU9fU1VTMTQgICAgICAgICAgICBHUElPX1NVUzE0ICAgICAgICAgICAgICAgICAgTiAg ICAgICBPICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICBDQ0E4aCAgICAgICAtDQo+IC0gICAg IC0NCj4gKy8vR1BJT19TVVMxNSAgICAgICAgICAgIFNQSV9DUzFfQi0yMEssSCAgICAgICAgICAg ICBOICAgICAgIE8gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgIDhDODBoDQo+IC0gICAgICAg ICAtICAgICAtDQo+ICsvL0dQSU9fU1VTMTYgICAgICAgICAgICBQTVVfU1VTQ0xLICAgICAgICAg ICAgICAgICAgTiAgICAgICBPICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICBDODI4aCAgICAg ICAtDQo+IC0gICAgIC0NCj4gKy8vDQo+ICsNCj4gKw0KPiArI2RlZmluZSBWRl9UQUJfR1BJT19V U0VfU0VMX1ZBTF8wXzMxICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX1RBQl9HUElP X1VTRV9TRUxfVkFMXzMyXzYzICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgVkZfVEFCX0dQ SU9fVVNFX1NFTF9WQUxfNjRfNzAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBWRl9UQUJf R1BJT19VU0VfU0VMX1ZBTF9TVVMgICAgICAgICAweDAwMDAwMDAwDQo+ICsNCj4gKy8vDQo+ICsv LzEwMTAgLS0wMCAwMTAwIDAxLS0gMDEwMSAtLTAtIDAwMDEgMTAxMA0KPiArLy8NCj4gKyNkZWZp bmUgVkZfVEFCX0dQSU9fSU9fU0VMX1ZBTF8wXzMxICAgICAgICAgMHgwMDAwMDAwMCAvLyBCSVQz MCB8IEJJVDI4IHwNCj4gQklUMjcgfCBCSVQxOSB8IEJJVDE3IHwgQklUMTMgfCBCSVQ5IHwgQklU MiB8IEJJVDANCj4gKyNkZWZpbmUgVkZfVEFCX0dQSU9fSU9fU0VMX1ZBTF8zMl82MyAgICAgICAg MHgwMDAwMDAwMA0KPiArI2RlZmluZSBWRl9UQUJfR1BJT19JT19TRUxfVkFMXzY0XzcwICAgICAg ICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX1RBQl9HUElPX0lPX1NFTF9WQUxfU1VTICAgICAg ICAgIDB4MDAwMDAwMDANCj4gKw0KPiArDQo+ICsjZGVmaW5lIFZGX1RBQl9HUElPX0xWTF9WQUxf MF8zMSAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgVkZfVEFCX0dQSU9fTFZMX1ZB TF8zMl82MyAgICAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBWRl9UQUJfR1BJT19MVkxf VkFMXzY0XzcwICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX1RBQl9HUElPX0xW TF9WQUxfU1VTICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0KPiArI2RlZmluZSBWRl9UQUJf R1BJT19UUEVfVkFMXzBfMzEgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX1RB Ql9HUElPX1RQRV9WQUxfU1VTICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0KPiArI2RlZmlu ZSBWRl9UQUJfR1BJT19UTkVfVkFMXzBfMzEgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVm aW5lIFZGX1RBQl9HUElPX1RORV9WQUxfU1VTICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0K PiArI2RlZmluZSBWRl9UQUJfR1BJT19UU19WQUxfMF8zMSAgICAgICAgICAgICAweDAwMDAwMDAw DQo+ICsjZGVmaW5lIFZGX1RBQl9HUElPX1RTX1ZBTF9TVVMgICAgICAgICAgICAgIDB4MDAwMDAw MDANCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gTWVtb3J5IHNwYWNlIHJlZ2lzdGVycw0KPiArLy8N Cj4gKw0KPiArLy8NCj4gKy8vIENPTkYwDQo+ICsvLw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9D T05GMF9HUElPMCAgMHhjZDI5DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8xICAw eGNkMjkNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJTzIgIDB4Y2NhOQ0KPiArI2Rl ZmluZSAgVkZfVEFCX1BBRF9DT05GMF9HUElPMyAgMHhjY2E5DQo+ICsjZGVmaW5lICBWRl9UQUJf UEFEX0NPTkYwX0dQSU80ICAweGNjYTkNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJ TzUgIDB4Y2NhOQ0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMF9HUElPNiAgMHg4ZDUxDQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU83ICAweDhjZDENCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfQ09ORjBfR1BJTzggIDB4OGNkMQ0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05G MF9HUElPOSAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8xMCAgMHg4 ZDUxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8xMSAgMHg4Y2QxDQo+ICsjZGVm aW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8xMiAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJf UEFEX0NPTkYwX0dQSU8xMyAgMHg4ZDUxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQ SU8xNCAgMHhDQ0E4DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8xNSAgMHhjY2Fh DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8xNiAgMHhDODI4DQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8xNyAgMHhjZDJhDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFE X0NPTkYwX0dQSU8xOCAgMHhjY2FhDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8x OSAgMHhjY2FhDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8yMCAgMHhjY2FhDQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8yMSAgMHhDQ0E5DQo+ICsjZGVmaW5lICBW Rl9UQUJfUEFEX0NPTkYwX0dQSU8yMiAgMHhjY2FhDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NP TkYwX0dQSU8yMyAgMHhDRDJBDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8yNCAg MHg4ZDAyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8yNSAgMHg4ZDAyDQo+ICsj ZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8yNiAgMHg4ZDAyDQo+ICsjZGVmaW5lICBWRl9U QUJfUEFEX0NPTkYwX0dQSU8yNyAgMHg4ZDAyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYw X0dQSU8yOCAgMHg4RDAyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8yOSAgMHg4 RDAyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8zMCAgMHg4RDAwDQo+ICsjZGVm aW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU8zMSAgMHhDRDJBDQo+ICsjZGVmaW5lICBWRl9UQUJf UEFEX0NPTkYwX0dQSU8zMiAgMHgyMDhkNTENCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBf R1BJTzMzICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJTzM0ICAweDhj ZDENCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJTzM1ICAweDhjZDENCj4gKyNkZWZp bmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJTzM2ICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX1RBQl9Q QURfQ09ORjBfR1BJTzM3ICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJ TzM4ICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJTzM5ICAweDhjZDEN Cj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJTzQwICAweDhjZDENCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfQ09ORjBfR1BJTzQxICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURf Q09ORjBfR1BJTzQyICAweDIwOGQ1MQ0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMF9HUElP NDMgIDB4MjA4ZDUxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU80NCAgMHg4Y2Qx DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU80NSAgMHg4Y2QxDQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX0NPTkYwX0dQSU80NiAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFE X0NPTkYwX0dQSU80NyAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU80 OCAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU80OSAgMHg4ZDUxDQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU81MCAgMHg4Y2QxDQo+ICsjZGVmaW5lICBW Rl9UQUJfUEFEX0NPTkYwX0dQSU81MSAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NP TkYwX0dQSU81MiAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU81MyAg MHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU81NCAgMHhjY2E5DQo+ICsj ZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU81NSAgMHg4Y2QxDQo+ICsjZGVmaW5lICBWRl9U QUJfUEFEX0NPTkYwX0dQSU81NiAgMHhjZDI5DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYw X0dQSU81NyAgMHg4QzgwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU81OCAgMHg4 QzgwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU81OSAgMHg4QzgwDQo+ICsjZGVm aW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU82MCAgMHg4QzgwDQo+ICsjZGVmaW5lICBWRl9UQUJf UEFEX0NPTkYwX0dQSU82MSAgMHg4ODAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQ SU82MiAgMHg4RDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU82MyAgMHg4ODAw DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU82NCAgMHg4ODAwDQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX0NPTkYwX0dQSU82NSAgMHhDODI4DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFE X0NPTkYwX0dQSU82NiAgMHhDODI4DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU82 NyAgMHhDODI4DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU82OCAgMHhDQ0E4DQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU82OSAgMHhDODI4DQo+ICsjZGVmaW5lICBW Rl9UQUJfUEFEX0NPTkYwX0dQSU83MCAgMHhDQ0E4DQo+ICsNCj4gKw0KPiArDQo+ICsvLw0KPiAr Ly8gUEFEX0NPTkYxDQo+ICsvLw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMCAg MHgyMDAwMg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMSAgMHgyMDAwMg0KPiAr I2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMiAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZf VEFCX1BBRF9DT05GMV9HUElPMyAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05G MV9HUElPNCAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNSAgMHgy MDAwMg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNiAgMHgxRjAwMEYNCj4gKyNk ZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzcgIDB4MUYwMDBGDQo+ICsjZGVmaW5lICBWRl9U QUJfUEFEX0NPTkYxX0dQSU84ICAweDFGMDAwRg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05G MV9HUElPOSAgMHgxRjAwMEYNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzEwICAw eDFGMDAwRg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMTEgIDB4MUYwMDBGDQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU8xMiAgMHgxRjAwMEYNCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfQ09ORjFfR1BJTzEzICAweDFGMDAwRg0KPiArI2RlZmluZSAgVkZfVEFCX1BB RF9DT05GMV9HUElPMTQgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJ TzE1ICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU8xNiAgMHgyMDAw Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMTcgIDB4MjAwMDINCj4gKyNkZWZp bmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzE4ICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9UQUJf UEFEX0NPTkYxX0dQSU8xOSAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9H UElPMjAgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzIxICAweDIw MDAyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU8yMiAgMHgyMDAwMg0KPiArI2Rl ZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMjMgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX1RB Ql9QQURfQ09ORjFfR1BJTzI0ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYx X0dQSU8yNSAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMjYgIDB4 MDAwMDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzI3ICAweDAwMDAwDQo+ICsj ZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU8yOCAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZf VEFCX1BBRF9DT05GMV9HUElPMjkgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09O RjFfR1BJTzMwICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU8zMSAg MHgyMDAwMg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMzIgIDB4MDAwMDANCj4g KyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzMzICAweDAwMDAwDQo+ICsjZGVmaW5lICBW Rl9UQUJfUEFEX0NPTkYxX0dQSU8zNCAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9D T05GMV9HUElPMzUgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzM2 ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU8zNyAgMHgwMDAwMA0K PiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPMzggIDB4MDAwMDANCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfQ09ORjFfR1BJTzM5ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFE X0NPTkYxX0dQSU80MCAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElP NDEgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzQyICAweDAwMDAw DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU80MyAgMHgwMDAwMA0KPiArI2RlZmlu ZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNDQgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX1RBQl9Q QURfQ09ORjFfR1BJTzQ1ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQ SU80NiAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNDcgIDB4MDAw MDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzQ4ICAweDAwMDAwDQo+ICsjZGVm aW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU80OSAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfVEFC X1BBRF9DT05GMV9HUElPNTAgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFf R1BJTzUxICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU81MiAgMHgw MDAwMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNTMgIDB4MDAwMDANCj4gKyNk ZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzU0ICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9U QUJfUEFEX0NPTkYxX0dQSU81NSAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05G MV9HUElPNTYgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzU3ICAw eDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU81OCAgMHgwMDAwMA0KPiAr I2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNTkgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfQ09ORjFfR1BJTzYwICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NP TkYxX0dQSU82MSAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNjIg IDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzYzICAweDAwMDAwDQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU82NCAgMHgwMDAwMA0KPiArI2RlZmluZSAg VkZfVEFCX1BBRF9DT05GMV9HUElPNjUgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURf Q09ORjFfR1BJTzY2ICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU82 NyAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPNjggIDB4MjAwMDIN Cj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJTzY5ICAweDIwMDAyDQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX0NPTkYxX0dQSU83MCAgMHgyMDAwMg0KPiArDQo+ICsNCj4gKy8vDQo+ICsv LyBQQURfVkFMDQo+ICsvLw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzAgIDB4Mg0K PiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzEgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFC X1BBRF9WQUxfR1BJTzIgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzMgIDB4 Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzQgIDB4Mg0KPiArI2RlZmluZSAgVkZf VEFCX1BBRF9WQUxfR1BJTzUgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzYg IDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzcgIDB4Mg0KPiArI2RlZmluZSAg VkZfVEFCX1BBRF9WQUxfR1BJTzggIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJ TzkgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzEwICAweDINCj4gKyNkZWZp bmUgIFZGX1RBQl9QQURfVkFMX0dQSU8xMSAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZB TF9HUElPMTIgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzEzICAweDINCj4g KyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU8xNCAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJf UEFEX1ZBTF9HUElPMTUgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzE2ICAw eDQNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU8xNyAgMHgyDQo+ICsjZGVmaW5lICBW Rl9UQUJfUEFEX1ZBTF9HUElPMTggIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJ TzE5ICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU8yMCAgMHgyDQo+ICsjZGVm aW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPMjEgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9W QUxfR1BJTzIyICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU8yMyAgMHgyDQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPMjQgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFC X1BBRF9WQUxfR1BJTzI1ICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU8yNiAg MHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPMjcgIDB4Mg0KPiArI2RlZmluZSAg VkZfVEFCX1BBRF9WQUxfR1BJTzI4ICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQ SU8yOSAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPMzAgIDB4Mg0KPiArI2Rl ZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzMxICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURf VkFMX0dQSU8zMiAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPMzMgIDB4Mg0K PiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzM0ICAweDINCj4gKyNkZWZpbmUgIFZGX1RB Ql9QQURfVkFMX0dQSU8zNSAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPMzYg IDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzM3ICAweDINCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfVkFMX0dQSU8zOCAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9H UElPMzkgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzQwICAweDINCj4gKyNk ZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU80MSAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFE X1ZBTF9HUElPNDIgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzQzICAweDIN Cj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU80NCAgMHgyDQo+ICsjZGVmaW5lICBWRl9U QUJfUEFEX1ZBTF9HUElPNDUgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzQ2 ICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU80NyAgMHgyDQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX1ZBTF9HUElPNDggIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxf R1BJTzQ5ICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU81MCAgMHgyDQo+ICsj ZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPNTEgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BB RF9WQUxfR1BJTzUyICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU81MyAgMHgy DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPNTQgIDB4Mg0KPiArI2RlZmluZSAgVkZf VEFCX1BBRF9WQUxfR1BJTzU1ICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU81 NiAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPNTcgIDB4Mg0KPiArI2RlZmlu ZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzU4ICAweDINCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFM X0dQSU81OSAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPNjAgIDB4Mg0KPiAr I2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzYxICAweDQNCj4gKyNkZWZpbmUgIFZGX1RBQl9Q QURfVkFMX0dQSU82MiAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPNjMgIDB4 Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzY0ICAweDINCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfVkFMX0dQSU82NSAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElP NjYgIDB4Mg0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzY3ICAweDANCj4gKyNkZWZp bmUgIFZGX1RBQl9QQURfVkFMX0dQSU82OCAgMHgyDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZB TF9HUElPNjkgIDB4NA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxfR1BJTzcwICAweDINCj4g Kw0KPiArDQo+ICsvLw0KPiArLy8gUEFEX0RGVA0KPiArLy8NCj4gKyNkZWZpbmUgIFZGX1RBQl9Q QURfREZUX0dQSU8wICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8xICAweEMN Cj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8yICAweEMNCj4gKyNkZWZpbmUgIFZGX1RB Ql9QQURfREZUX0dQSU8zICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU80ICAw eEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU81ICAweEMNCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfREZUX0dQSU82ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU83 ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU84ICAweEMNCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfREZUX0dQSU85ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQ SU8xMCAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPMTEgIDB4Qw0KPiArI2Rl ZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzEyICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURf REZUX0dQSU8xMyAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPMTQgIDB4Qw0K PiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzE1ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RB Ql9QQURfREZUX0dQSU8xNiAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPMTcg IDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzE4ICAweEMNCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfREZUX0dQSU8xOSAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9H UElPMjAgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzIxICAweEMNCj4gKyNk ZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8yMiAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFE X0RGVF9HUElPMjMgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzI0ICAweEMN Cj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8yNSAgMHhDDQo+ICsjZGVmaW5lICBWRl9U QUJfUEFEX0RGVF9HUElPMjYgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzI3 ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8yOCAgMHhDDQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX0RGVF9HUElPMjkgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRf R1BJTzMwICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8zMSAgMHhDDQo+ICsj ZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPMzIgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BB RF9ERlRfR1BJTzMzICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8zNCAgMHhD DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPMzUgIDB4Qw0KPiArI2RlZmluZSAgVkZf VEFCX1BBRF9ERlRfR1BJTzM2ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU8z NyAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPMzggIDB4Qw0KPiArI2RlZmlu ZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzM5ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZU X0dQSU80MCAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPNDEgIDB4Qw0KPiAr I2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzQyICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9Q QURfREZUX0dQSU80MyAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPNDQgIDB4 Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzQ1ICAweEMNCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfREZUX0dQSU80NiAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElP NDcgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzQ4ICAweEMNCj4gKyNkZWZp bmUgIFZGX1RBQl9QQURfREZUX0dQSU80OSAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RG VF9HUElPNTAgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzUxICAweEMNCj4g KyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU81MiAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJf UEFEX0RGVF9HUElPNTMgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzU0ICAw eEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU81NSAgMHhDDQo+ICsjZGVmaW5lICBW Rl9UQUJfUEFEX0RGVF9HUElPNTYgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJ TzU3ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU81OCAgMHhDDQo+ICsjZGVm aW5lICBWRl9UQUJfUEFEX0RGVF9HUElPNTkgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9E RlRfR1BJTzYwICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU82MSAgMHhDDQo+ ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPNjIgIDB4Qw0KPiArI2RlZmluZSAgVkZfVEFC X1BBRF9ERlRfR1BJTzYzICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU82NCAg MHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPNjUgIDB4Qw0KPiArI2RlZmluZSAg VkZfVEFCX1BBRF9ERlRfR1BJTzY2ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQ SU82NyAgMHhDDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPNjggIDB4Qw0KPiArI2Rl ZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJTzY5ICAweEMNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURf REZUX0dQSU83MCAgMHhDDQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vU1VTIFdFTEwNCj4gKy8vDQo+ ICsNCj4gKy8vDQo+ICsvLyBDT05GMA0KPiArLy8NCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09O RjBfR1BJT19TVVMwICAweENDQTgNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19T VVMxICAweENDQTgNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19TVVMyICAweEND QTgNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19TVVMzICAweENEMjgNCj4gKyNk ZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19TVVM0ICAweENEMjgNCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfQ09ORjBfR1BJT19TVVM1ICAweENEMjgNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURf Q09ORjBfR1BJT19TVVM2ICAweDg4NTANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJ T19TVVM3ICAweDg4NTANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19TVVM4ICAw eENDQTgNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19TVVM5ICAweENDQTgNCj4g KyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19TVVMxMCAgMHhDQ0E4DQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX0NPTkYwX0dQSU9fU1VTMTEgIDB4QzgyOA0KPiArI2RlZmluZSAgVkZfVEFC X1BBRF9DT05GMF9HUElPX1NVUzEyICAweEM4MjgNCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09O RjBfR1BJT19TVVMxMyAgMHhDQ0E4DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYwX0dQSU9f U1VTMTQgIDB4Q0NBOA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMF9HUElPX1NVUzE1ICAw eDhDODANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjBfR1BJT19TVVMxNiAgMHhDODI4DQo+ ICsNCj4gKy8vDQo+ICsvLyBDT05GMQ0KPiArLy8NCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09O RjFfR1BJT19TVVMwICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU9fU1VTMSAg MA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPX1NVUzIgIDANCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfQ09ORjFfR1BJT19TVVMzICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NP TkYxX0dQSU9fU1VTNCAgMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPX1NVUzUg IDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJT19TVVM2ICAwDQo+ICsjZGVmaW5l ICBWRl9UQUJfUEFEX0NPTkYxX0dQSU9fU1VTNyAgMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9D T05GMV9HUElPX1NVUzggIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJT19TVVM5 ICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU9fU1VTMTAgIDANCj4gKyNkZWZp bmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJT19TVVMxMSAgMA0KPiArI2RlZmluZSAgVkZfVEFCX1BB RF9DT05GMV9HUElPX1NVUzEyICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0NPTkYxX0dQSU9f U1VTMTMgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfQ09ORjFfR1BJT19TVVMxNCAgMA0KPiAr I2RlZmluZSAgVkZfVEFCX1BBRF9DT05GMV9HUElPX1NVUzE1ICAwDQo+ICsjZGVmaW5lICBWRl9U QUJfUEFEX0NPTkYxX0dQSU9fU1VTMTYgIDANCj4gKw0KPiArLy8NCj4gKy8vIFBBRF9WQUwNCj4g Ky8vDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPX1NVUzAgIDANCj4gKyNkZWZpbmUg IFZGX1RBQl9QQURfVkFMX0dQSU9fU1VTMSAgMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9WQUxf R1BJT19TVVMyICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPX1NVUzMgIDANCj4g KyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU9fU1VTNCAgMA0KPiArI2RlZmluZSAgVkZfVEFC X1BBRF9WQUxfR1BJT19TVVM1ICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZBTF9HUElPX1NV UzYgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU9fU1VTNyAgMA0KPiArI2RlZmlu ZSAgVkZfVEFCX1BBRF9WQUxfR1BJT19TVVM4ICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX1ZB TF9HUElPX1NVUzkgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU9fU1VTMTAgIDAN Cj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU9fU1VTMTEgIDANCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfVkFMX0dQSU9fU1VTMTIgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQ SU9fU1VTMTMgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU9fU1VTMTQgIDANCj4g KyNkZWZpbmUgIFZGX1RBQl9QQURfVkFMX0dQSU9fU1VTMTUgIDANCj4gKyNkZWZpbmUgIFZGX1RB Ql9QQURfVkFMX0dQSU9fU1VTMTYgIDANCj4gKw0KPiArLy8NCj4gKy8vIFBBRF9ERlQNCj4gKy8v DQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPX1NVUzAgIDANCj4gKyNkZWZpbmUgIFZG X1RBQl9QQURfREZUX0dQSU9fU1VTMSAgMA0KPiArI2RlZmluZSAgVkZfVEFCX1BBRF9ERlRfR1BJ T19TVVMyICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPX1NVUzMgIDANCj4gKyNk ZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU9fU1VTNCAgMA0KPiArI2RlZmluZSAgVkZfVEFCX1BB RF9ERlRfR1BJT19TVVM1ICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9HUElPX1NVUzYg IDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU9fU1VTNyAgMA0KPiArI2RlZmluZSAg VkZfVEFCX1BBRF9ERlRfR1BJT19TVVM4ICAwDQo+ICsjZGVmaW5lICBWRl9UQUJfUEFEX0RGVF9H UElPX1NVUzkgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU9fU1VTMTAgIDANCj4g KyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU9fU1VTMTEgIDANCj4gKyNkZWZpbmUgIFZGX1RB Ql9QQURfREZUX0dQSU9fU1VTMTIgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU9f U1VTMTMgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU9fU1VTMTQgIDANCj4gKyNk ZWZpbmUgIFZGX1RBQl9QQURfREZUX0dQSU9fU1VTMTUgIDANCj4gKyNkZWZpbmUgIFZGX1RBQl9Q QURfREZUX0dQSU9fU1VTMTYgIDANCj4gKw0KPiArDQo+ICsvLw0KPiArLy8NCj4gKy8vICAgICAg ICAgICAgICBHUElPIFJlZ2lzdGVyIFNldHRpbmdzIGZvciBWYWxsZXlGYWxscyAoTmV0Ym9vaykN Cj4gKy8vDQo+ICsvLw0KPiArLy8gICAgICAgICAgICAgICAgICAgSU8gU3BhY2UgY29uZmlneXVy YXRpb24gcmVnaXN0ZXJzDQo+ICsvLyBGaWVsZCBEZXNjcmlwdGlvbnM6DQo+ICsvLyAgICBVU0U6 IERlZmluZXMgdGhlIHBpbidzIHVzYWdlIG1vZGVsOiAgR1BJTyAoRykgb3IgTmF0aXZlIChOKSBt b2RlLg0KPiArLy8gICAgSS9POiBEZWZpbmVzIHdoZXRoZXIgR1BJT3MgYXJlIGlucHV0cyAoSSkg b3Igb3V0cHV0cyAoTykuDQo+ICsvLyAgICAgICAgIChOb3RlOiAgT25seSBtZWFuaW5nZnVsIGZv ciBwaW5zIHVzZWQgYXMgR1BJT3MuKQ0KPiArLy8gICAgTFZMOiBUaGlzIGZpZWxkIGdpdmVzIHlv dSB0aGUgaW5pdGlhbCB2YWx1ZSBmb3IgIm91dHB1dCIgR1BJTydzLg0KPiArLy8gICAgICAgICAo Tm90ZTogVGhlIG91dHB1dCBsZXZlbCBpcyBkZXBlbmRlbnQgdXBvbiB3aGV0aGVyIHRoZSBwaW4g aXMNCj4gaW52ZXJ0ZWQuKQ0KPiArLy8gICAgVFBFOiBEZWZpbmVzIHdoZXRoZXIgVHJpZ2dlciBQ b3NpdGl2ZSBFZGdlIEVuYWJsZS4NCj4gKy8vICAgIFRORTogRGVmaW5lcyB3aGV0aGVyIFRyaWdn ZXIgTmVnYXRpdmUgRWRnZSBFbmFibGUuDQo+ICsvLyAgICBXQUtFX0VOOiBvbmx5IHN1cHBvcnQg aW4gU1VTIGNvbW11bml0eQ0KPiArLy8gICAgICAgICAoTm90ZTogIE9ubHkgYWZmZWN0cyB0aGUg bGV2ZWwgc2VudCB0byB0aGUgR1BFIGxvZ2ljIGFuZCBkb2VzIG5vdA0KPiArLy8gICAgICAgICBh ZmZlY3QgdGhlIGxldmVsIHJlYWQgdGhyb3VnaCB0aGUgR1BJTyByZWdpc3RlcnMuKQ0KPiArLy8N Cj4gKy8vDQo+ICsvLyAgICAgICAgICAgICAgICAgICAgTWVtb3J5IHNwY2FlIGNvbmZpZ3VyYXRp b24gcmVnaXN0ZXJzDQo+ICsvLw0KPiArLy8gRmllbGQgRGVzY3JpcHRpb25zOg0KPiArLy8gICBQ QUQgcmVsZWF0ZWQ6DQo+ICsvLyAgICBQQURfQ09ORjANCj4gKy8vICAgICAgUEFEX0NPTkYxDQo+ ICsvLyAgICAgIFBBRF9WQUwNCj4gKy8vICAgICAgUEFEX0RGVA0KPiArLy8NCj4gKy8vIE5vdGVz Og0KPiArLy8gICAgMS4gTiA9IE5hdGl2ZSAsIEcgPSBHUElPICwgSSA9IElucHV0LCBPID0gT3V0 cHV0LCAtID0gQk9USC9OT1QgU1VSRQ0KPiArLy8NCj4gKy8vIFNpZ25hbCAgICAgICAgICBVc2Vk QXMgICAgICAgICAgICAgICAgICAgICAgIFVTRSAgICAgSS9PICAgICAgTFZMICAgICBUUEUgICAg IFRORSAgIFBDT05GMA0KPiBQQ09ORjEgICBQVkFMICBQREZUDQo+ICsvLyAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0K PiArLy8gR1BJTzAgICAgICAgICAgIFVBUlQxX1JYRC1MICAgICAgICAgICAgICAgICAgIE4gICAg ICAgSSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIGNkMjloICAgIC0gICAgICAgICAtDQo+ IC0NCj4gKy8vIEdQSU8xICAgICAgICAgICBVQVJUMV9UWEQtMCAgICAgICAgICAgICAgICAgICBO ICAgICAgIE8gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICBjZDI5aCAgICAtICAgICAgICAg LQ0KPiAtDQo+ICsvLyAqR1BJTzIgICAgICAgICAgIFVBUlQxX1JUU19CLTEgICAgICAgICAgICAg ICAgTiAgICAgICBJICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgY2NhOWggICAgLSAgICAg ICAgIC0NCj4gLQ0KPiArLy8gKkdQSU8zICAgICAgICAgICBVQVJUMV9DVFNfQi1IICAgICAgICAg ICAgICAgIE4gICAgICAgTyAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIGNjYTloICAgIC0N Cj4gLSAgICAgLQ0KPiArDQo+ICsvLyBHUElPNCAgICAgICAgICAgTk1JX0ItSCAgICAgICAgICAg ICAgICAgICAgICAgRyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgY2NhOWgg ICAgLSAgICAgICAgIC0gICAgIC0NCj4gKy8vIEdQSU81ICAgICAgICAgICBHUElPX0Q1ICAgICAg ICAgICAgICAgICAgICAgICBHICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICBj Y2E5aCAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzYgICAgICAgICAgIEdQSU9fRDYg ICAgICAgICAgICAgICAgICAgICAgIEcgICAgICAgTyAgICAgICAgLSAgICAgICAtICAgICAgIC0g ICAgIDhkNTFoICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPNyAgICAgICAgICAgR1BJ T19ENyAgICAgICAgICAgICAgICAgICAgICAgRyAgICAgICBPICAgICAgICAtICAgICAgIC0gICAg ICAgLSAgICAgOGNkMWggICAgLSAgICAgICAgIC0gICAgIC0NCj4gKy8vIEdQSU84ICAgICAgICAg ICBHUElPX0Q4ICAgICAgICAgICAgICAgICAgICAgICBHICAgICAgIE8gICAgICAgIC0gICAgICAg LSAgICAgICAtICAgICA4Y2QxaCAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzkgICAg ICAgICAgIEdQSU9fRDkgICAgICAgICAgICAgICAgICAgICAgIEcgICAgICAgSSAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgIC0gICAgICAgICAtICAgICAtDQo+ICsNCj4gKy8v IEdQSU8xMCAgICAgICAgICBHUElPX0QxMCAgICAgICAgICAgICAgICAgICAgICBHICAgICAgIE8g ICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4ZDUxaCAgICAtICAgICAgICAgLQ0KPiAtDQo+ ICsvLyBHUElPMTEgICAgICAgICAgR1BJT19EMTEgICAgICAgICAgICAgICAgICAgICAgRyAgICAg ICBPICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgLSAgICAgICAgIC0gICAg IC0NCj4gKy8vIEdQSU8xMiAgICAgICAgICBHUElPX0QxMiAgICAgICAgICAgICAgICAgICAgICBH ICAgICAgIE8gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4Y2QxaCAgICAtICAgICAgICAg LSAgICAgLQ0KPiArLy8gR1BJTzEzICAgICAgICAgIEdQSU9fRDEzICAgICAgICAgICAgICAgICAg ICAgIEcgICAgICAgSSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIDhkNTFoICAgIC0gICAg ICAgICAtICAgICAtDQo+ICsNCj4gKy8vIEdQSU8xNCAgICAgICAgICBTQVRBX0dQMCAgICAgICAg ICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAgLSAg ICAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzE1ICAgICAgICAgIFNBVEFfR1AxLUwg ICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAg IGNjYWFoICAgIC0gICAgICAgICAtICAgICAtDQo+ICsNCj4gKy8vIEdQSU8xNiAgICAgICAgICBT QVRBX0xFRE4tT0QtTyAgICAgICAgICAgICAgICBOICAgICAgIE8gICAgICAgIC0gICAgICAgLSAg ICAgICAtICAgICAgLSAgICAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsvLyBHUElPMTcgICAgICAg ICAgUENJRV9DTEtSRVEwQi0yMEssSCAgICAgICAgICAgTiAgICAgICBJICAgICAgICAtICAgICAg IC0gICAgICAgLSAgICAgY2QyYWggICAgLQ0KPiAtICAgICAtDQo+ICsvLyBHUElPMTggICAgICAg ICAgUENJRV9DTEtSRVExQi0yMEssSCAgICAgICAgICAgTiAgICAgICBPICAgICAgICAtICAgICAg IC0gICAgICAgLSAgICAgY2NhYWggICAgLQ0KPiAtICAgICAtDQo+ICsvLyBHUElPMTkgICAgICAg ICAgUENJRV9DTEtSRVEyQi0yMEssSCAgICAgICAgICAgTiAgICAgICBJICAgICAgICAtICAgICAg IC0gICAgICAgLSAgICAgY2NhYWggICAgLQ0KPiAtICAgICAtDQo+ICsvLyBHUElPMjAgICAgICAg ICAgUENJRV9DTEtSRVEzQi0yMEssSCAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAg IC0gICAgICAgLSAgICAgY2NhYWggICAgLQ0KPiAtICAgICAtDQo+ICsvLyBHUElPMjEgICAgICAg ICAgUENJRV9DTEtSRVE0Qi0yMEssSCAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAg IC0gICAgICAgLSAgICAgIC0gICAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzIyICAg ICAgICAgIEZMRVhfQ0xLX1NFMC0yMEssTCAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgIGNjYWFoICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzIzICAg ICAgICAgIEZMRVhfQ0xLX1NFMS0yMEssTCAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtDQo+IC0NCj4gKw0KPiArLy8g R1BJTzI0ICAgICAgICAgIEhEQV9SU1RCICAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgTyAg ICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIDhkMDJoICAgIC0gICAgICAgICAtDQo+IC0NCj4g Ky8vIEdQSU8yNSAgICAgICAgICBIREFfU1lOQyAgICAgICAgICAgICAgICAgICAgICBOICAgICAg IE8gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4ZDAyaCAgICAtICAgICAgICAgLQ0KPiAt DQo+ICsvLyBHUElPMjYgICAgICAgICAgSERBX0NMSyAgICAgICAgICAgICAgICAgICAgICAgTiAg ICAgICBPICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGQwMmggICAgLSAgICAgICAgIC0g ICAgIC0NCj4gKy8vIEdQSU8yNyAgICAgICAgICBIREFfU0RPICAgICAgICAgICAgICAgICAgICAg ICBOICAgICAgIEkgICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4ZDAyaCAgICAtICAgICAg ICAgLSAgICAgLQ0KPiArLy8gR1BJTzI4ICAgICAgICAgIEhEQV9TREkwICAgICAgICAgICAgICAg ICAgICAgIE4gICAgICAgSSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0g ICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPMjkgICAgICAgICAgSERBX1NESTEgICAgICAgICAg ICAgICAgICAgICAgTiAgICAgICBPICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIC0gICAg ICAgLSAgICAgICAgIC0gICAgIC0NCj4gKy8vIEdQSU8zMCAgICAgICAgICBIREFfRE9DS1JTVEIg ICAgICAgICAgICAgICAgICBOICAgICAgIEkgICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAg LSAgICAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzMxICAgICAgICAgIEhEQV9ET0NL RU5CICAgICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAgLSAgICAgICAtICAgICAgIC0g ICAgICAtICAgICAgIC0gICAgICAgICAtDQo+IC0NCj4gKw0KPiArLy8gR1BJTzMyICAgICAgICAg IFNETU1DMV9DTEsgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAt ICAgICAgIC0gICAgIDIwOGQ1MWggICAtDQo+IC0gICAgIC0NCj4gKy8vIEdQSU8zMyAgICAgICAg ICBTRE1NQzFfRDAgICAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAg LSAgICAgICAtICAgICA4Y2QxaCAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzM0ICAg ICAgICAgIFNETU1DMV9EMSAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsvLyBHUElP MzUgICAgICAgICAgU0RNTUMxX0QyICAgICAgICAgICAgICAgICAgICAgTiAgICAgICAtICAgICAg ICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgIC0gICAgICAgICAtDQo+IC0NCj4gKy8v IEdQSU8zNiAgICAgICAgICBTRE1NQzFfRDNfQ0RfQiAgICAgICAgICAgICAgICBOICAgICAgIC0g ICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4Y2QxaCAgICAgLQ0KPiAtICAgICAtDQo+ICsv LyBHUElPMzcgICAgICAgICAgTU1DMV9ENF9TRF9XRSAgICAgICAgICAgICAgICAgTiAgICAgICAt ICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgIC0NCj4gLSAgICAgLQ0KPiAr Ly8gR1BJTzM4ICAgICAgICAgIE1NQzFfRDUgICAgICAgICAgICAgICAgICAgICAgIE4gICAgICAg LSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAtICAgICAgICAgLQ0KPiAt DQo+ICsvLyBHUElPMzkgICAgICAgICAgTU1DMV9ENiAgICAgICAgICAgICAgICAgICAgICAgTiAg ICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNkMWggICAgIC0gICAgICAgICAt DQo+IC0NCj4gKy8vIEdQSU80MCAgICAgICAgICBNTUMxX0Q3ICAgICAgICAgICAgICAgICAgICAg ICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICA4Y2QxaCAgICAgLSAgICAg ICAgIC0NCj4gLQ0KPiArLy8gR1BJTzQxICAgICAgICAgIFNETU1DMV9DTUQgICAgICAgICAgICAg ICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAt DQo+IC0gICAgIC0NCj4gKy8vIEdQSU80MiAgICAgICAgICBNTUMxX1JFU0VUX0IgICAgICAgICAg ICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAyMDhkNTFoICAg LQ0KPiAtICAgICAtDQo+ICsNCj4gKy8vIEdQSU80MyAgICAgICAgICBTRE1NQzJfQ0xLICAgICAg ICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAyMDhk NTFoICAgLQ0KPiAtICAgICAtDQo+ICsvLyBHUElPNDQgICAgICAgICAgU0RNTUMyX0QwICAgICAg ICAgICAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgOGNk MWggICAgIC0gICAgICAgICAtDQo+IC0NCj4gKy8vIEdQSU80NSAgICAgICAgICBTRE1NQzJfRDEg ICAgICAgICAgICAgICAgICAgICBOICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAg ICA4Y2QxaCAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzQ2ICAgICAgICAgIFNETU1D Ml9EMiAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAg IC0gICAgIDhjZDFoICAgICAtICAgICAgICAgLQ0KPiAtDQo+ICsvLyBHUElPNDcgICAgICAgICAg U0RNTUMyX0QzX0NEX0IgICAgICAgICAgICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0g ICAgICAgLSAgICAgOGNkMWggICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzQ4ICAgICAgICAg IFNETU1DMl9DTUQgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAt ICAgICAgIC0gICAgIDhjZDFoICAgICAtDQo+IC0gICAgIC0NCj4gKw0KPiArLy8gR1BJTzQ5ICAg ICAgICAgIFNETU1DM19DTEsgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgIDhkNTFoICAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJ TzUwICAgICAgICAgIFNETU1DM19EMCAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAg ICAgLSAgICAgICAtICAgICAgIC0gICAgIDhjZDFoICAgICAgLSAgICAgICAgIC0NCj4gLQ0KPiAr Ly8gR1BJTzUxICAgICAgICAgIFNETU1DM19EMSAgICAgICAgICAgICAgICAgICAgIE4gICAgICAg LSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICA4Y2QxaCAgICAgIC0gICAgICAgICAtDQo+ IC0NCj4gKy8vIEdQSU81MiAgICAgICAgICBTRE1NQzNfRDIgICAgICAgICAgICAgICAgICAgICBO ICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgICAtICAgICAgOGNkMWggICAgICAtICAgICAg ICAgLQ0KPiAtDQo+ICsvLyBHUElPNTMgICAgICAgICAgU0RNTUMzX0QzICAgICAgICAgICAgICAg ICAgICAgTiAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIDhjZDFoICAgICAg LSAgICAgICAgIC0NCj4gLQ0KPiArLy8gR1BJTzU0ICAgICAgICAgIFNETU1DM19DRF9CICAgICAg ICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICBjY2E5 aCAgICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzU1ICAgICAgICAgIFNETU1DM19DTUQgICAg ICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAgICA4 Y2QxaCAgICAgIC0NCj4gLSAgICAgLQ0KPiArLy8gR1BJTzU2ICAgICAgICAgIFNETU1DM18xUDhf RU4gICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0gICAg ICBjZDI5aCAgIC0NCj4gLSAgICAgLQ0KPiArDQo+ICsvLyBHUElPNTcgICAgICAgICAgTFBDX0FE MCAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgIC0g ICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPNTggICAgICAgICAgTFBD X0FEMSAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAg IC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPNTkgICAgICAgICAg TFBDX0FEMiAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAtICAg ICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPNjAgICAgICAg ICAgTFBDX0FEMyAgICAgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAgICAgLSAgICAgICAt ICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPNjEgICAg ICAgICAgTFBDX0ZSQU1FQiAgICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAgLSAgICAg ICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElPNjIg ICAgICAgICAgTFBDX0NMS09VVDAgICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAgLSAg ICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBHUElP NjMgICAgICAgICAgTFBDX0NMS09VVDEgICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAg LSAgICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsvLyBH UElPNjQgICAgICAgICAgTFBDX0NMS1JVTkIgICAgICAgICAgICAgICAgIE4gICAgICAgLSAgICAg ICAgLSAgICAgICAtICAgICAgIC0gICAgICAtICAgICAgIC0gICAgICAgICAtICAgICAtDQo+ICsN Cj4gKy8vIEdQSU82NSAgICAgICAgICBTTUJfREFUQSAgICAgICAgICAgICAgICAgICAgTiAgICAg ICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIC0gICAgICAgLSAgICAgICAgIC0gICAg IC0NCj4gKy8vIEdQSU82NiAgICAgICAgICBTTUJfQ0xLICAgICAgICAgICAgICAgICAgICAgTiAg ICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIC0gICAgICAgLSAgICAgICAgIC0g ICAgIC0NCj4gKy8vIEdQSU82NyAgICAgICAgICBTTUJfQUxFUlRCICAgICAgICAgICAgICAgICAg TiAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgICAgLSAgICAgIC0gICAgICAgLSAgICAgICAg IC0gICAgIC0NCj4gKw0KPiArLy8gR1BJTzY4ICAgICAgICAgIElMQl9TRUlSUSAgICAgICAgICAg ICAgICAgICBOICAgICAgIC0gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgLSAgICAgICAt ICAgICAgICAgLSAgICAgLQ0KPiArLy8gR1BJTzY5ICAgICAgICAgIFNQS1IgICAgICAgICAgICAg ICAgICAgICAgICBOICAgICAgIE8gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICAgLSAgICAg ICAtICAgICAgICAgLSAgICAgLQ0KPiArDQo+ICsvL1NVUyBXRUxMDQo+ICsNCj4gKw0KPiArLy9H UElPX1NVUzAgICAgICAgICAgICAgR1BJT19TVVMwICAgICAgICAgICAgICAgICAgIE4gICAgICAg TyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgIENDQThoICAgICAgIC0NCj4gLSAgICAgLQ0K PiArLy9HUElPX1NVUzEgICAgICAgICAgICAgR1BJT19TVVMxICAgICAgICAgICAgICAgICAgIE4g ICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgIENDQThoICAgICAgIC0NCj4gLSAg ICAgLQ0KPiArLy9HUElPX1NVUzIgICAgICAgICAgICAgR1BJT19TVVMyICAgICAgICAgICAgICAg ICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgIENDQThoICAgICAgIC0N Cj4gLSAgICAgLQ0KPiArLy9HUElPX1NVUzMgICAgICAgICAgICAgR1BJT19TVVMzICAgICAgICAg ICAgICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgIENEMjhoICAg ICAgIC0NCj4gLSAgICAgLQ0KPiArLy9HUElPX1NVUzQgICAgICAgICAgICAgR1BJT19TVVM0ICAg ICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAgIENE MjhoICAgICAgIC0NCj4gLSAgICAgLQ0KPiArLy9HUElPX1NVUzUgICAgICAgICAgICAgR1BJT19T VVM1ICAgICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0g ICAgIENEMjhoICAgICAgIC0NCj4gLSAgICAgLQ0KPiArLy9HUElPX1NVUzYgICAgICAgICAgICAg U1VTUFdSRE5BQ0stMCAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAg ICAgIC0gICAgIDg4NTBoDQo+IC0gICAgICAgICAtICAgICAtDQo+ICsvL0dQSU9fU1VTNyAgICAg ICAgICAgICBQTVVfU0xQX0REUlZUVF9CLTAgICAgICAgICAgTiAgICAgICBPICAgICAgIC0gICAg ICAgIC0gICAgICAgLQ0KPiA4ODUwaCAgICAgICAtICAgICAgICAgLSAgICAgLQ0KPiArLy9HUElP X1NVUzggICAgICAgICAgICAgUE1VX1dBS0VfQi0yMEssSCAgICAgICAgICAgIE4gICAgICAgTyAg ICAgICAtICAgICAgICAtICAgICAgIC0NCj4gQ0NBOGggICAgICAgLSAgICAgICAgIC0gICAgIC0N Cj4gKy8vR1BJT19TVVM5ICAgICAgICAgICAgIFBNVV9QV1JCVE5fQi0yMEssSCAgICAgICAgICBO ICAgICAgIE8gICAgICAgLSAgICAgICAgLSAgICAgICAtDQo+IENDQThoICAgICAgIC0gICAgICAg ICAtICAgICAtDQo+ICsvL0dQSU9fU1VTMTAgICAgICAgICAgICBQTVVfV0FLRV9MQU5fQi0yMEss SCAgICAgICAgTiAgICAgICBPICAgICAgIC0gICAgICAgIC0gICAgICAgLQ0KPiBDQ0E4aCAgICAg ICAtICAgICAgICAgLSAgICAgLQ0KPiArLy9HUElPX1NVUzExICAgICAgICAgICAgU1VTX1NUQVRf Qi0xICAgICAgICAgICAgICAgIE4gICAgICAgTyAgICAgICAtICAgICAgICAtICAgICAgIC0gICAg IEM4MjhoDQo+IC0gICAgICAgICAtICAgICAtDQo+ICsvL0dQSU9fU1VTMTIgICAgICAgICAgICBQ TVVfU1VTQ0xLLTAgICAgICAgICAgICAgICAgTiAgICAgICBPICAgICAgIC0gICAgICAgIC0gICAg ICAgLSAgICAgQzgyOGgNCj4gLSAgICAgICAgIC0gICAgIC0NCj4gKy8vR1BJT19TVVMxMyAgICAg ICAgICAgIFVTQl9PQzBfQi0yMEssSCAgICAgICAgICAgICBOICAgICAgIE8gICAgICAgLSAgICAg ICAgLSAgICAgICAtICAgICBDQ0E4aA0KPiAtICAgICAgICAgLSAgICAgLQ0KPiArLy9HUElPX1NV UzE0ICAgICAgICAgICAgVVNCX09DMV9CLTIwSyxIICAgICAgICAgICAgIE4gICAgICAgTyAgICAg ICAtICAgICAgICAtICAgICAgIC0gICAgIENDQThoDQo+IC0gICAgICAgICAtICAgICAtDQo+ICsv L0dQSU9fU1VTMTUgICAgICAgICAgICBTUElfQ1MxX0ItMjBLLEggICAgICAgICAgICAgTiAgICAg ICBPICAgICAgIC0gICAgICAgIC0gICAgICAgLSAgICAgOEM4MGgNCj4gLSAgICAgICAgIC0gICAg IC0NCj4gKy8vR1BJT19TVVMxNiAgICAgICAgICAgIFNQSV9DUzFfQi0yMEssSCAgICAgICAgICAg ICBOICAgICAgIE8gICAgICAgLSAgICAgICAgLSAgICAgICAtICAgICBDODI4aA0KPiAtICAgICAg ICAgLSAgICAgLQ0KPiArLy8NCj4gKw0KPiArI2RlZmluZSBWRl9ORVRfR1BJT19VU0VfU0VMX1ZB TF8wXzMxICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX05FVF9HUElPX1VTRV9TRUxf VkFMXzMyXzYzICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgVkZfTkVUX0dQSU9fVVNFX1NF TF9WQUxfNjRfNzAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBWRl9ORVRfR1BJT19VU0Vf U0VMX1ZBTF9TVVMgICAgICAgICAweDAwMDAwMDAwDQo+ICsNCj4gKy8vDQo+ICsvLzEwMTAgLS0w MCAwMTAwIDAxLS0gMDEwMSAtLTAtIDAwMDEgMTAxMA0KPiArLy8NCj4gKyNkZWZpbmUgVkZfTkVU X0dQSU9fSU9fU0VMX1ZBTF8wXzMxICAgICAgICAgMHgwMDAwMDAwMCAvLyBCSVQzMCB8IEJJVDI4 IHwNCj4gQklUMjcgfCBCSVQxOSB8IEJJVDE3IHwgQklUMTMgfCBCSVQ5IHwgQklUMiB8IEJJVDAN Cj4gKyNkZWZpbmUgVkZfTkVUX0dQSU9fSU9fU0VMX1ZBTF8zMl82MyAgICAgICAgMHgwMDAwMDAw MA0KPiArI2RlZmluZSBWRl9ORVRfR1BJT19JT19TRUxfVkFMXzY0XzcwICAgICAgICAweDAwMDAw MDAwDQo+ICsjZGVmaW5lIFZGX05FVF9HUElPX0lPX1NFTF9WQUxfU1VTICAgICAgICAgIDB4MDAw MDAwMDANCj4gKw0KPiArDQo+ICsjZGVmaW5lIFZGX05FVF9HUElPX0xWTF9WQUxfMF8zMSAgICAg ICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgVkZfTkVUX0dQSU9fTFZMX1ZBTF8zMl82MyAg ICAgICAgICAgMHgwMDAwMDAwMA0KPiArI2RlZmluZSBWRl9ORVRfR1BJT19MVkxfVkFMXzY0Xzcw ICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX05FVF9HUElPX0xWTF9WQUxfU1VT ICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0KPiArI2RlZmluZSBWRl9ORVRfR1BJT19UUEVf VkFMXzBfMzEgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX05FVF9HUElPX1RQ RV9WQUxfU1VTICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0KPiArI2RlZmluZSBWRl9ORVRf R1BJT19UTkVfVkFMXzBfMzEgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVmaW5lIFZGX05F VF9HUElPX1RORV9WQUxfU1VTICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0KPiArI2RlZmlu ZSBWRl9ORVRfR1BJT19UU19WQUxfMF8zMSAgICAgICAgICAgICAweDAwMDAwMDAwDQo+ICsjZGVm aW5lIFZGX05FVF9HUElPX1RTX1ZBTF9TVVMgICAgICAgICAgICAgIDB4MDAwMDAwMDANCj4gKw0K PiArDQo+ICsvLw0KPiArLy8gTWVtb3J5IHNwYWNlIHJlZ2lzdGVycw0KPiArLy8NCj4gKw0KPiAr DQo+ICsvLw0KPiArLy8gQ09ORjANCj4gKy8vDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYw X0dQSU8wICAweGNkMjkNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzEgIDB4Y2Qy OQ0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPMiAgMHhjY2E5DQo+ICsjZGVmaW5l ICBWRl9ORVRfUEFEX0NPTkYwX0dQSU8zICAweGNjYTkNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf Q09ORjBfR1BJTzQgIDB4Y2NhOA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPNSAg MHhjY2E4DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU82ICAweDhkNTANCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzcgIDB4OGNkMA0KPiArI2RlZmluZSAgVkZfTkVU X1BBRF9DT05GMF9HUElPOCAgMHg4Y2QwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQ SU85ICAweDhjZDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzEwICAweDhkNTAN Cj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzExICAweDhjZDANCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfQ09ORjBfR1BJTzEyICAweDhjZDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf Q09ORjBfR1BJTzEzICAweDhkNTANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzE0 ICAweENDQTgNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzE1ICAweGNjYWENCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzE2ICAweEM4MjgNCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfQ09ORjBfR1BJTzE3ICAweGNkMmENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09O RjBfR1BJTzE4ICAweGNjYWENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzE5ICAw eGNjYWENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzIwICAweGNjYWENCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzIxICAweENDQTkNCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfQ09ORjBfR1BJTzIyICAweGNjYWENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBf R1BJTzIzICAweENEMkENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzI0ICAweDhk MDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzI1ICAweDhkMDINCj4gKyNkZWZp bmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzI2ICAweDhkMDINCj4gKyNkZWZpbmUgIFZGX05FVF9Q QURfQ09ORjBfR1BJTzI3ICAweDhkMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJ TzI4ICAweDhEMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzI5ICAweDhEMDIN Cj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzMwICAweDhEMDANCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfQ09ORjBfR1BJTzMxICAweENEMkENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf Q09ORjBfR1BJTzMyICAweDIwOGQ1MQ0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElP MzMgIDB4OGNkMQ0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPMzQgIDB4OGNkMQ0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPMzUgIDB4OGNkMQ0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9DT05GMF9HUElPMzYgIDB4OGNkMQ0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9D T05GMF9HUElPMzcgIDB4OGNkMQ0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPMzgg IDB4OGNkMQ0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPMzkgIDB4OGNkMQ0KPiAr I2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPNDAgIDB4OGNkMQ0KPiArI2RlZmluZSAgVkZf TkVUX1BBRF9DT05GMF9HUElPNDEgIDB4OGNkMQ0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05G MF9HUElPNDIgIDB4MjA4ZDUxDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU80MyAg MHgyMDhkNTENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzQ0ICAweDhjZDENCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzQ1ICAweDhjZDENCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfQ09ORjBfR1BJTzQ2ICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09O RjBfR1BJTzQ3ICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzQ4ICAw eDhjZDENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzQ5ICAweDhkNTENCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzUwICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfQ09ORjBfR1BJTzUxICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBf R1BJTzUyICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzUzICAweDhj ZDENCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzU0ICAweGNjYTkNCj4gKyNkZWZp bmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzU1ICAweDhjZDENCj4gKyNkZWZpbmUgIFZGX05FVF9Q QURfQ09ORjBfR1BJTzU2ICAweGNkMjkNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJ TzU3ICAweDhDODANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzU4ICAweDhDODAN Cj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzU5ICAweDhDODANCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfQ09ORjBfR1BJTzYwICAweDhDODANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf Q09ORjBfR1BJTzYxICAweDg4MDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzYy ICAweDhEMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzYzICAweDg4MDANCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzY0ICAweDg4MDANCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfQ09ORjBfR1BJTzY1ICAweEM4MjgNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09O RjBfR1BJTzY2ICAweEM4MjgNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzY3ICAw eEM4MjgNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzY4ICAweENDQTgNCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJTzY5ICAweEM4MjgNCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfQ09ORjBfR1BJTzcwICAweENDQTgNCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArLy8NCj4g Ky8vIFBBRF9DT05GMQ0KPiArLy8NCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzAg IDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzEgIDB4MjAwMDINCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzIgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfQ09ORjFfR1BJTzMgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09O RjFfR1BJTzQgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzUgIDB4 MjAwMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzYgIDB4MUYwMDBGDQo+ICsj ZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU83ICAweDFGMDAwRg0KPiArI2RlZmluZSAgVkZf TkVUX1BBRF9DT05GMV9HUElPOCAgMHgxRjAwMEYNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09O RjFfR1BJTzkgIDB4MUYwMDBGDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8xMCAg MHgxRjAwMEYNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzExICAweDFGMDAwRg0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPMTIgIDB4MUYwMDBGDQo+ICsjZGVmaW5l ICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8xMyAgMHgxRjAwMEYNCj4gKyNkZWZpbmUgIFZGX05FVF9Q QURfQ09ORjFfR1BJTzE0ICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQ SU8xNSAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPMTYgIDB4MjAw MDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzE3ICAweDIwMDAyDQo+ICsjZGVm aW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8xOCAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZfTkVU X1BBRF9DT05GMV9HUElPMTkgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFf R1BJTzIwICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8yMSAgMHgy MDAwMg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPMjIgIDB4MjAwMDINCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzIzICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9O RVRfUEFEX0NPTkYxX0dQSU8yNCAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05G MV9HUElPMjUgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzI2ICAw eDAwMDAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8yNyAgMHgwMDAwMA0KPiAr I2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPMjggIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfQ09ORjFfR1BJTzI5ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NP TkYxX0dQSU8zMCAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPMzEg IDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzMyICAweDAwMDAwDQo+ ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8zMyAgMHgwMDAwMA0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9DT05GMV9HUElPMzQgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf Q09ORjFfR1BJTzM1ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8z NiAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPMzcgIDB4MDAwMDAN Cj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzM4ICAweDAwMDAwDQo+ICsjZGVmaW5l ICBWRl9ORVRfUEFEX0NPTkYxX0dQSU8zOSAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BB RF9DT05GMV9HUElPNDAgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJ TzQxICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU80MiAgMHgwMDAw MA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPNDMgIDB4MDAwMDANCj4gKyNkZWZp bmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzQ0ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9ORVRf UEFEX0NPTkYxX0dQSU80NSAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9H UElPNDYgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzQ3ICAweDAw MDAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU80OCAgMHgwMDAwMA0KPiArI2Rl ZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPNDkgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfQ09ORjFfR1BJTzUwICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYx X0dQSU81MSAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPNTIgIDB4 MDAwMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzUzICAweDAwMDAwDQo+ICsj ZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU81NCAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZf TkVUX1BBRF9DT05GMV9HUElPNTUgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09O RjFfR1BJTzU2ICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU81NyAg MHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPNTggIDB4MDAwMDANCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzU5ICAweDAwMDAwDQo+ICsjZGVmaW5lICBW Rl9ORVRfUEFEX0NPTkYxX0dQSU82MCAgMHgwMDAwMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9D T05GMV9HUElPNjEgIDB4MDAwMDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzYy ICAweDAwMDAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU82MyAgMHgwMDAwMA0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPNjQgIDB4MDAwMDANCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfQ09ORjFfR1BJTzY1ICAweDIwMDAyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFE X0NPTkYxX0dQSU82NiAgMHgyMDAwMg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElP NjcgIDB4MjAwMDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJTzY4ICAweDIwMDAy DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU82OSAgMHgyMDAwMg0KPiArI2RlZmlu ZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPNzAgIDB4MjAwMDINCj4gKw0KPiArDQo+ICsNCj4gKy8v DQo+ICsvLyBQQURfVkFMDQo+ICsvLw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzAg IDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzEgIDB4Mg0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9WQUxfR1BJTzIgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJ TzMgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzQgIDB4Mg0KPiArI2RlZmlu ZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzUgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxf R1BJTzYgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzcgIDB4Mg0KPiArI2Rl ZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzggIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9W QUxfR1BJTzkgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzEwICAweDINCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU8xMSAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRf UEFEX1ZBTF9HUElPMTIgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzEzICAw eDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU8xNCAgMHgyDQo+ICsjZGVmaW5lICBW Rl9ORVRfUEFEX1ZBTF9HUElPMTUgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJ TzE2ICAweDQNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU8xNyAgMHgyDQo+ICsjZGVm aW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPMTggIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9W QUxfR1BJTzE5ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU8yMCAgMHgyDQo+ ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPMjEgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVU X1BBRF9WQUxfR1BJTzIyICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU8yMyAg MHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPMjQgIDB4Mg0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9WQUxfR1BJTzI1ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQ SU8yNiAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPMjcgIDB4Mg0KPiArI2Rl ZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzI4ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf VkFMX0dQSU8yOSAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPMzAgIDB4Mg0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzMxICAweDINCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfVkFMX0dQSU8zMiAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPMzMg IDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzM0ICAweDINCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfVkFMX0dQSU8zNSAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9H UElPMzYgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzM3ICAweDINCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU8zOCAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFE X1ZBTF9HUElPMzkgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzQwICAweDIN Cj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU80MSAgMHgyDQo+ICsjZGVmaW5lICBWRl9O RVRfUEFEX1ZBTF9HUElPNDIgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzQz ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU80NCAgMHgyDQo+ICsjZGVmaW5l ICBWRl9ORVRfUEFEX1ZBTF9HUElPNDUgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxf R1BJTzQ2ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU80NyAgMHgyDQo+ICsj ZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPNDggIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BB RF9WQUxfR1BJTzQ5ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU81MCAgMHgy DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPNTEgIDB4Mg0KPiArI2RlZmluZSAgVkZf TkVUX1BBRF9WQUxfR1BJTzUyICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU81 MyAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPNTQgIDB4Mg0KPiArI2RlZmlu ZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzU1ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFM X0dQSU81NiAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPNTcgIDB4Mg0KPiAr I2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzU4ICAweDINCj4gKyNkZWZpbmUgIFZGX05FVF9Q QURfVkFMX0dQSU81OSAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPNjAgIDB4 Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzYxICAweDQNCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfVkFMX0dQSU82MiAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZBTF9HUElP NjMgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzY0ICAweDINCj4gKyNkZWZp bmUgIFZGX05FVF9QQURfVkFMX0dQSU82NSAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZB TF9HUElPNjYgIDB4Mg0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzY3ICAweDANCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU82OCAgMHgyDQo+ICsjZGVmaW5lICBWRl9ORVRf UEFEX1ZBTF9HUElPNjkgIDB4NA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJTzcwICAw eDINCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gUEFEX0RGVA0KPiArLy8NCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfREZUX0dQSU8wICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8x ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8yICAweEMNCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfREZUX0dQSU8zICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQ SU80ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU81ICAweEMNCj4gKyNkZWZp bmUgIFZGX05FVF9QQURfREZUX0dQSU82ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZU X0dQSU83ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU84ICAweEMNCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU85ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf REZUX0dQSU8xMCAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPMTEgIDB4Qw0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzEyICAweEMNCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfREZUX0dQSU8xMyAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPMTQg IDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzE1ICAweEMNCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfREZUX0dQSU8xNiAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9H UElPMTcgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzE4ICAweEMNCj4gKyNk ZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8xOSAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFE X0RGVF9HUElPMjAgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzIxICAweEMN Cj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8yMiAgMHhDDQo+ICsjZGVmaW5lICBWRl9O RVRfUEFEX0RGVF9HUElPMjMgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzI0 ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8yNSAgMHhDDQo+ICsjZGVmaW5l ICBWRl9ORVRfUEFEX0RGVF9HUElPMjYgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRf R1BJTzI3ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8yOCAgMHhDDQo+ICsj ZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPMjkgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BB RF9ERlRfR1BJTzMwICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8zMSAgMHhD DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPMzIgIDB4Qw0KPiArI2RlZmluZSAgVkZf TkVUX1BBRF9ERlRfR1BJTzMzICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU8z NCAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPMzUgIDB4Qw0KPiArI2RlZmlu ZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzM2ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZU X0dQSU8zNyAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPMzggIDB4Qw0KPiAr I2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzM5ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9Q QURfREZUX0dQSU80MCAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPNDEgIDB4 Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzQyICAweEMNCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfREZUX0dQSU80MyAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElP NDQgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzQ1ICAweEMNCj4gKyNkZWZp bmUgIFZGX05FVF9QQURfREZUX0dQSU80NiAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RG VF9HUElPNDcgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzQ4ICAweEMNCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU80OSAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRf UEFEX0RGVF9HUElPNTAgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzUxICAw eEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU81MiAgMHhDDQo+ICsjZGVmaW5lICBW Rl9ORVRfUEFEX0RGVF9HUElPNTMgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJ TzU0ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU81NSAgMHhDDQo+ICsjZGVm aW5lICBWRl9ORVRfUEFEX0RGVF9HUElPNTYgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9E RlRfR1BJTzU3ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU81OCAgMHhDDQo+ ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPNTkgIDB4Qw0KPiArI2RlZmluZSAgVkZfTkVU X1BBRF9ERlRfR1BJTzYwICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU82MSAg MHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPNjIgIDB4Qw0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9ERlRfR1BJTzYzICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQ SU82NCAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPNjUgIDB4Qw0KPiArI2Rl ZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzY2ICAweEMNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf REZUX0dQSU82NyAgMHhDDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPNjggIDB4Qw0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJTzY5ICAweEMNCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfREZUX0dQSU83MCAgMHhDDQo+ICsNCj4gKy8vDQo+ICsvLyBQQ09ORjANCj4gKy8vDQo+ ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9fU1VTMCAgMHhDQ0E4DQo+ICsjZGVmaW5l ICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9fU1VTMSAgMHhDQ0E4DQo+ICsjZGVmaW5lICBWRl9ORVRf UEFEX0NPTkYwX0dQSU9fU1VTMiAgMHhDQ0E4DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYw X0dQSU9fU1VTMyAgMHhDRDI4DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9fU1VT NCAgMHhDRDI4DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9fU1VTNSAgMHhDRDI4 DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9fU1VTNiAgMHg4ODUwDQo+ICsjZGVm aW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9fU1VTNyAgMHg4ODUwDQo+ICsjZGVmaW5lICBWRl9O RVRfUEFEX0NPTkYwX0dQSU9fU1VTOCAgMHhDQ0E4DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NP TkYwX0dQSU9fU1VTOSAgMHhDQ0E4DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9f U1VTMTAgIDB4Q0NBOA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPX1NVUzExICAw eEM4MjgNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjBfR1BJT19TVVMxMiAgMHhDODI4DQo+ ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYwX0dQSU9fU1VTMTMgIDB4Q0NBOA0KPiArI2RlZmlu ZSAgVkZfTkVUX1BBRF9DT05GMF9HUElPX1NVUzE0ICAweENDQTgNCj4gKyNkZWZpbmUgIFZGX05F VF9QQURfQ09ORjBfR1BJT19TVVMxNSAgMHg4QzgwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NP TkYwX0dQSU9fU1VTMTYgIDB4QzgyOA0KPiArDQo+ICsvLw0KPiArLy8gUENPTkYxDQo+ICsvLw0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPX1NVUzAgIDANCj4gKyNkZWZpbmUgIFZG X05FVF9QQURfQ09ORjFfR1BJT19TVVMxICAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYx X0dQSU9fU1VTMiAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPX1NVUzMgIDAN Cj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJT19TVVM0ICAwDQo+ICsjZGVmaW5lICBW Rl9ORVRfUEFEX0NPTkYxX0dQSU9fU1VTNSAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05G MV9HUElPX1NVUzYgIDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJT19TVVM3ICAw DQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU9fU1VTOCAgMA0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9DT05GMV9HUElPX1NVUzkgIDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09O RjFfR1BJT19TVVMxMCAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9DT05GMV9HUElPX1NVUzEx ICAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU9fU1VTMTIgIDANCj4gKyNkZWZp bmUgIFZGX05FVF9QQURfQ09ORjFfR1BJT19TVVMxMyAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BB RF9DT05GMV9HUElPX1NVUzE0ICAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0NPTkYxX0dQSU9f U1VTMTUgIDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfQ09ORjFfR1BJT19TVVMxNiAgMA0KPiAr DQo+ICsNCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU9fU1VTMCAgMA0KPiArI2RlZmlu ZSAgVkZfTkVUX1BBRF9WQUxfR1BJT19TVVMxICAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX1ZB TF9HUElPX1NVUzIgIDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU9fU1VTMyAgMA0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJT19TVVM0ICAwDQo+ICsjZGVmaW5lICBWRl9O RVRfUEFEX1ZBTF9HUElPX1NVUzUgIDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfVkFMX0dQSU9f U1VTNiAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJT19TVVM3ICAwDQo+ICsjZGVm aW5lICBWRl9ORVRfUEFEX1ZBTF9HUElPX1NVUzggIDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURf VkFMX0dQSU9fU1VTOSAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJT19TVVMxMCAg MA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJT19TVVMxMSAgMA0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9WQUxfR1BJT19TVVMxMiAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxf R1BJT19TVVMxMyAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJT19TVVMxNCAgMA0K PiArI2RlZmluZSAgVkZfTkVUX1BBRF9WQUxfR1BJT19TVVMxNSAgMA0KPiArI2RlZmluZSAgVkZf TkVUX1BBRF9WQUxfR1BJT19TVVMxNiAgMA0KPiArDQo+ICsNCj4gKyNkZWZpbmUgIFZGX05FVF9Q QURfREZUX0dQSU9fU1VTMCAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJT19TVVMx ICAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPX1NVUzIgIDANCj4gKyNkZWZpbmUg IFZGX05FVF9QQURfREZUX0dQSU9fU1VTMyAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRf R1BJT19TVVM0ICAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPX1NVUzUgIDANCj4g KyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU9fU1VTNiAgMA0KPiArI2RlZmluZSAgVkZfTkVU X1BBRF9ERlRfR1BJT19TVVM3ICAwDQo+ICsjZGVmaW5lICBWRl9ORVRfUEFEX0RGVF9HUElPX1NV UzggIDANCj4gKyNkZWZpbmUgIFZGX05FVF9QQURfREZUX0dQSU9fU1VTOSAgMA0KPiArI2RlZmlu ZSAgVkZfTkVUX1BBRF9ERlRfR1BJT19TVVMxMCAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9E RlRfR1BJT19TVVMxMSAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJT19TVVMxMiAg MA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJT19TVVMxMyAgMA0KPiArI2RlZmluZSAg VkZfTkVUX1BBRF9ERlRfR1BJT19TVVMxNCAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRf R1BJT19TVVMxNSAgMA0KPiArI2RlZmluZSAgVkZfTkVUX1BBRF9ERlRfR1BJT19TVVMxNiAgMA0K PiArDQo+ICsNCj4gKy8vDQo+ICsvLyBGdW5jdGlvbiBQcm90b3R5cGVzDQo+ICsvLw0KPiArRUZJ X1NUQVRVUw0KPiArUGxhdGZvcm1QY2hJbml0ICgNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJ T04gICAgICAgICpTeXN0ZW1Db25maWd1cmF0aW9uLA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NF UlZJQ0VTICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gVUlOVDE2ICAgICAgICAgICAgICAg ICAgICAgIFBsYXRmb3JtVHlwZQ0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtQbGF0 Zm9ybUNwdUluaXQgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAg KipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICpTeXN0 ZW1Db25maWd1cmF0aW9uLA0KPiArICBJTiBFRklfUExBVEZPUk1fQ1BVX0lORk8gICAgICAgKlBs YXRmb3JtQ3B1SW5mbw0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtQZWltSW5pdGlh bGl6ZUZsYXNoTWFwICgNCj4gKyAgSU4gRUZJX0ZGU19GSUxFX0hFQURFUiAgICAgICAgKkZmc0hl YWRlciwNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2 aWNlcw0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtQZWltSW5zdGFsbEZsYXNoTWFw UHBpICgNCj4gKyAgSU4gRUZJX0ZGU19GSUxFX0hFQURFUiAgICAgICAgKkZmc0hlYWRlciwNCj4g KyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiAr ICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0ljaFJlc2V0ICgNCj4gKyAg SU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICAp DQo+ICs7DQo+ICsNCj4gK0JPT0xFQU4NCj4gK0dldFNsZWVwVHlwZUFmdGVyV2FrZXVwICgNCj4g KyAgSU4gIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4g KyAgT1VUIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgKlNsZWVwVHlwZQ0KPiArICApOw0KPiAr DQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0dldFdha2V1cEV2ZW50QW5kU2F2ZVRvSG9i ICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICoqUGVpU2VydmljZXMNCj4gKyAg KQ0KPiArOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK01lbW9yeURpc2NvdmVy ZWRQcGlOb3RpZnlDYWxsYmFjayAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAg ICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIEVGSV9QRUlfTk9USUZZX0RFU0NSSVBUT1Ig ICpOb3RpZnlEZXNjcmlwdG9yLA0KPiArICBJTiBWT0lEICAgICAgICAgICAgICAgICAgICAgICAq UHBpDQo+ICsgICkNCj4gKzsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtQZWlH ZXRWYXJpYWJsZSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAg KipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAqVmFy aWFibGVOYW1lLA0KPiArICBJTiBFRklfR1VJRCAgICAgICAgICAgICAgICAgICAgICogVmVuZG9y R3VpZCwNCj4gKyAgT1VUIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAqQXR0cmlidXRlcyBP UFRJT05BTCwNCj4gKyAgSU4gT1VUIFVJTlROICAgICAgICAgICAgICAgICAgICAqRGF0YVNpemUs DQo+ICsgIE9VVCBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgKkRhdGENCj4gKyAgKQ0KPiAr Ow0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1BlaUdldE5leHRWYXJpYWJsZU5h bWUgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgICoqUGVpU2Vy dmljZXMsDQo+ICsgIElOIE9VVCBVSU5UTiAgICAgICAgICAgICAgICAgICAgKlZhcmlhYmxlTmFt ZVNpemUsDQo+ICsgIElOIE9VVCBDSEFSMTYgICAgICAgICAgICAgICAgICAgKlZhcmlhYmxlTmFt ZSwNCj4gKyAgSU4gT1VUIEVGSV9HVUlEICAgICAgICAgICAgICAgICAqVmVuZG9yR3VpZA0KPiAr ICApDQo+ICs7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1VwZGF0ZUJvb3RNb2RlICgNCj4gKyAg SU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2 aWNlcywNCj4gKyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAgICAgICAgICAg ICAgKlBsYXRmb3JtSW5mb0hvYg0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklB UEkNCj4gK0VuZE9mUGVpUHBpTm90aWZ5Q2FsbGJhY2sgKA0KPiArICBJTiBDT05TVCBFRklfUEVJ X1NFUlZJQ0VTICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUEVJX05PVElG WV9ERVNDUklQVE9SICAqTm90aWZ5RGVzY3JpcHRvciwNCj4gKyAgSU4gVk9JRCAgICAgICAgICAg ICAgICAgICAgICAgKlBwaQ0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK1BlaW1Jbml0aWFsaXplUmVjb3ZlcnkgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJ Q0VTICAgICAqKlBlaVNlcnZpY2VzDQo+ICsgICkNCj4gKzsNCj4gKw0KPiArVk9JRA0KPiArQ2hl Y2tQb3dlck9mZk5vdyAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArSWNo R3Bpb0luaXQgKA0KPiArICBJTiBVSU5UMTYgICAgICAgICAgICAgICAgICAgICBQbGF0Zm9ybVR5 cGUsDQo+ICsgIElOIFNZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICpTeXN0ZW1Db25maWd1cmF0 aW9uDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1BjaWVTZWNvbmRhcnlCdXNSZXNl dCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICoqUGVpU2VydmljZXMsDQo+ICsg IElOIFVJTlQ4ICAgICAgICAgICAgIEJ1cywNCj4gKyAgSU4gVUlOVDggICAgICAgICAgICAgRGV2 LA0KPiArICBJTiBVSU5UOCAgICAgICAgICAgICBGdW4NCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0K PiArU2V0UGxhdGZvcm1Cb290TW9kZSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMg ICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZP X0hPQiAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgICk7DQo+ICsNCj4gK0JPT0xFQU4NCj4gK0NoZWNr SWZKdW1wZXJTZXRGb3JSZWNvdmVyeSgNCj4gKyAgVk9JRA0KPiArICApOw0KPiArDQo+ICtFRklf U1RBVFVTDQo+ICtFRklBUEkNCj4gK0ZpbmRGdiAoDQo+ICsgIElOIEVGSV9QRUlfRklORF9GVl9Q UEkgICAgICAgICAgICAgICpUaGlzLA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAg ICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIE9VVCBVSU5UOCAgICAgICAgICAgICAg ICAgICAgKkZ2TnVtYmVyLA0KPiArICBPVVQgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIgICoq RlZBZGRyZXNzDQo+ICsgICk7DQo+ICsNCj4gK0JPT0xFQU4NCj4gK0lzQTE2SW52ZXJ0ZWQgKA0K PiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0NwdU9ubHlSZXNldCAo DQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAqKlBlaVNlcnZpY2VzDQo+ICsgICk7 DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArSW5pdExhbiAoDQo+ICsgIElOIENP TlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gU1lT VEVNX0NPTkZJR1VSQVRJT04gICAgICAqQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFU VVMNCj4gK0VGSUFQSQ0KPiArU3RhbGwgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VT ICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NUQUxMX1BQSSAgICAq VGhpcywNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAgICAgTWljcm9zZWNvbmRzDQo+ ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK011bHRpUGxhdGZvcm1JbmZvSW5pdCAoDQo+ ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4g KyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZPX0hPQiAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgICk7 DQo+ICsNCj4gK0JPT0xFQU4NCj4gK0lzUmVjb3ZlcnlKdW1wZXIgKA0KPiArICBJTiBDT05TVCBF RklfUEVJX1NFUlZJQ0VTICAgICoqUGVpU2VydmljZXMsDQo+ICsgICAgSU4gT1VUIEVGSV9QTEFU Rk9STV9JTkZPX0hPQiAqUGxhdGZvcm1JbmZvSG9iDQo+ICspOw0KPiArDQo+ICtFRklfU1RBVFVT DQo+ICtDaGVja09zU2VsZWN0aW9uICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAg ICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElPTiAgICAg ICAgICAgICpTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMN Cj4gK1BsYXRmb3JtSW5mb1VwZGF0ZSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMg ICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZPX0hP QiAqUGxhdGZvcm1JbmZvSG9iLA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICpT eXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1BsYXRmb3JtU3Nh SW5pdCAoDQo+ICtJTiBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICAgKlN5c3RlbUNvbmZpZ3Vy YXRpb24sDQo+ICtJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgKipQZWlTZXJ2aWNlcw0K PiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtJbml0aWFsaXplUGxhdGZvcm0gKA0KPiAr ICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ ICsgIElOIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAgKlBsYXRmb3JtSW5mb0hvYiwNCj4g KyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICAqU3lzdGVtQ29uZmlndXJhdGlvbg0K PiArKTsNCj4gKw0KPiArVk9JRA0KPiArTWNoSW5pdCAoDQo+ICtJTiBDT05TVCBFRklfUEVJX1NF UlZJQ0VTICAgICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiArDQo+ ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArU2V0UGVpQ2FjaGVNb2RlICgNCj4gKyAg SU4gIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgKipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiAr DQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NldER4ZUNhY2hlTW9kZSAoDQo+ICsgIElO ICBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICoqUGVpU2VydmljZXMNCj4gKyAgKTsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArR1BJT19pbml0aWFsaXphdGlvbiAoDQo+ICsgIElOIEVGSV9QRUlf U0VSVklDRVMgICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1BF SV9OT1RJRllfREVTQ1JJUFRPUiAgICAgICAgICAqTm90aWZ5RGVzY3JpcHRvciwNCj4gKyAgSU4g Vk9JRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqU21idXNQcGkNCj4gKyAgKTsNCj4g Kw0KPiArDQo+ICtCT09MRUFODQo+ICtJc1J0Y1VpcEFsd2F5c1NldCAoDQo+ICsgIElOIENPTlNU IEVGSV9QRUlfU0VSVklDRVMgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiArDQo+ICsN Cj4gKw0KPiArRUZJX1NUQVRVUw0KPiArSW5pdFBjaFVzYiAoDQo+ICsgIElOIENPTlNUIEVGSV9Q RUlfU0VSVklDRVMgICoqUGVpU2VydmljZXMNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0K PiArRUZJQVBJDQo+ICtQdWJsaXNoTWVtb3J5VHlwZUluZm8gKA0KPiArICB2b2lkDQo+ICsgICk7 DQo+ICsNCj4gKw0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGxhdGZvcm1JbmZvSW5pdC5jDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1BsYXRmb3Jt SW5mb0luaXQuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5j Njk0OGQ5OWQ1DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1BsYXRmb3JtSW5mb0luaXQuYw0KPiBAQCAtMCww ICsxLDE4MSBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAt IDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0K PiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBQbGF0Zm9ybUluZm9J bml0LmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsgIFBsYXRmb3JtIEluZm8gRHJpdmVyLg0KPiAr DQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJQbGF0Zm9ybUVhcmx5SW5pdC5oIg0KPiArDQo+ ICsjZGVmaW5lIExFTl82NE0gICAgICAgMHg0MDAwMDAwDQo+ICsNCj4gKy8vDQo+ICsvLyBEZWZh dWx0IFBDSTMyIHJlc291cmNlIHNpemUNCj4gKy8vDQo+ICsjZGVmaW5lIFJFU19NRU0zMl9NSU5f TEVOICAgMHgzODAwMDAwMA0KPiArDQo+ICsjZGVmaW5lIFJFU19JT19CQVNFICAgMHgwRDAwDQo+ ICsjZGVmaW5lIFJFU19JT19MSU1JVCAgMHhGRkZGDQo+ICsNCj4gKyNkZWZpbmUgTWVtb3J5Q2Vp bGluZ1ZhcmlhYmxlICAgTCJNZW1DZWlsLiINCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArQ2hlY2tP c1NlbGVjdGlvbiAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgKipQ ZWlTZXJ2aWNlcywNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICAgICAqU3lz dGVtQ29uZmlndXJhdGlvbg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAg ICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfUEVJX1JFQURfT05MWV9WQVJJQUJMRTJfUFBJICAg KlZhcmlhYmxlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgIFZhcmlhYmxlU2l6 ZTsNCj4gKyAgRUZJX09TX1NFTEVDVElPTl9IT0IgICAgICAgICAqT3NTZWxlY3Rpb25Ib2I7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgT3NTZWxlY3Rpb247DQo+ICsgIFVJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICAgKkxwc3NEYXRhSG9iUHRyOw0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgICpMcHNzRGF0YVZhclB0cjsNCj4gKyAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICBpOw0KPiArDQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5Mb2Nh dGVQcGkgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlQZWlSZWFkT25seVZhcmlhYmxlMlBw aUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICh2b2lkICoqKSZWYXJpYWJsZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICApOw0KPiArICBpZiAoIUVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgVmFyaWFibGVT aXplID0gc2l6ZW9mIChPc1NlbGVjdGlvbik7DQo+ICsgICAgU3RhdHVzID0gVmFyaWFibGUtPkdl dFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICBMIk9zU2VsZWN0aW9uIiwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAmZ09zU2VsZWN0aW9uVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgJlZhcmlhYmxlU2l6 ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmT3NTZWxlY3Rpb24NCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSAm JiAoU3lzdGVtQ29uZmlndXJhdGlvbi0+UmVzZXJ2ZWRPICE9DQo+IE9zU2VsZWN0aW9uKSkgew0K PiArICAgICAgLy8NCj4gKyAgICAgIC8vIEJ1aWxkIEhPQiBmb3IgT3NTZWxlY3Rpb24NCj4gKyAg ICAgIC8vDQo+ICsgICAgICBPc1NlbGVjdGlvbkhvYiA9IEJ1aWxkR3VpZEhvYiAoJmdPc1NlbGVj dGlvblZhcmlhYmxlR3VpZCwgc2l6ZW9mDQo+IChFRklfT1NfU0VMRUNUSU9OX0hPQikpOw0KPiAr ICAgICAgQVNTRVJUIChPc1NlbGVjdGlvbkhvYiAhPSBOVUxMKTsNCj4gKw0KPiArICAgICAgT3NT ZWxlY3Rpb25Ib2ItPk9zU2VsZWN0aW9uQ2hhbmdlZCA9IFRSVUU7DQo+ICsgICAgICBPc1NlbGVj dGlvbkhvYi0+T3NTZWxlY3Rpb24gICAgICAgID0gT3NTZWxlY3Rpb247DQo+ICsgICAgICBTeXN0 ZW1Db25maWd1cmF0aW9uLT5SZXNlcnZlZE8gICA9IE9zU2VsZWN0aW9uSG9iLT5Pc1NlbGVjdGlv bjsNCj4gKw0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIExvYWQgTFBTUyBhbmQgU0NDIGRlZmF1 bHQgY29uZmlndXJhdGlvbnMNCj4gKyAgICAgIC8vDQo+ICsgICAgICBPc1NlbGVjdGlvbkhvYi0+ THBzc0RhdGEuTHBzc2VNTUNFbmFibGVkICAgICAgICAgICAgPSBGQUxTRTsNCj4gKyAgICAgIE9z U2VsZWN0aW9uSG9iLT5McHNzRGF0YS5McHNzU2Rpb0VuYWJsZWQgICAgICAgICAgICA9IFRSVUU7 DQo+ICsgICAgICBPc1NlbGVjdGlvbkhvYi0+THBzc0RhdGEuTHBzc1NkY2FyZEVuYWJsZWQgICAg ICAgICAgPSBUUlVFOw0KPiArICAgICAgT3NTZWxlY3Rpb25Ib2ItPkxwc3NEYXRhLkxwc3NTZENh cmRTRFIyNUVuYWJsZWQgICAgID0gRkFMU0U7DQo+ICsgICAgICBPc1NlbGVjdGlvbkhvYi0+THBz c0RhdGEuTHBzc1NkQ2FyZEREUjUwRW5hYmxlZCAgICAgPSBUUlVFOw0KPiArICAgICAgT3NTZWxl Y3Rpb25Ib2ItPkxwc3NEYXRhLkxwc3NNaXBpSHNpICAgICAgICAgICAgICAgID0gRkFMU0U7DQo+ ICsgICAgICBPc1NlbGVjdGlvbkhvYi0+THBzc0RhdGEuTHBzc2VNTUM0NUVuYWJsZWQgICAgICAg ICAgPSBUUlVFOw0KPiArICAgICAgT3NTZWxlY3Rpb25Ib2ItPkxwc3NEYXRhLkxwc3NlTU1DNDVE RFI1MEVuYWJsZWQgICAgID0gVFJVRTsNCj4gKyAgICAgIE9zU2VsZWN0aW9uSG9iLT5McHNzRGF0 YS5McHNzZU1NQzQ1SFMyMDBFbmFibGVkICAgICA9IEZBTFNFOw0KPiArICAgICAgT3NTZWxlY3Rp b25Ib2ItPkxwc3NEYXRhLkxwc3NlTU1DNDVSZXR1bmVUaW1lclZhbHVlID0gODsNCj4gKyAgICAg IE9zU2VsZWN0aW9uSG9iLT5McHNzRGF0YS5lTU1DQm9vdE1vZGUgICAgICAgICAgICAgICA9IDE7 ICAgICAvLyBBdXRvDQo+IERldGVjdA0KPiArDQo+ICsNCj4gKyAgICAgIFN5c3RlbUNvbmZpZ3Vy YXRpb24tPkxwZSAgICAgICA9IE9zU2VsZWN0aW9uSG9iLT5McGU7DQo+ICsgICAgICBTeXN0ZW1D b25maWd1cmF0aW9uLT5QY2hBemFsaWEgPSBTeXN0ZW1Db25maWd1cmF0aW9uLT5QY2hBemFsaWE7 DQo+ICsgICAgICBMcHNzRGF0YUhvYlB0ciA9ICZPc1NlbGVjdGlvbkhvYi0+THBzc0RhdGEuTHBz c1BjaU1vZGVFbmFibGVkOw0KPiArICAgICAgTHBzc0RhdGFWYXJQdHIgPSAmU3lzdGVtQ29uZmln dXJhdGlvbi0+THBzc1BjaU1vZGVFbmFibGVkOw0KPiArDQo+ICsgICAgICBmb3IgKGkgPSAwOyBp IDwgc2l6ZW9mKEVGSV9QTEFURk9STV9MUFNTX0RBVEEpOyBpKyspIHsNCj4gKyAgICAgICAgKkxw c3NEYXRhVmFyUHRyID0gKkxwc3NEYXRhSG9iUHRyOw0KPiArICAgICAgICBMcHNzRGF0YVZhclB0 cisrOw0KPiArICAgICAgICBMcHNzRGF0YUhvYlB0cisrOw0KPiArICAgICAgfQ0KPiArICAgIH0N Cj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ ICtFRklfU1RBVFVTDQo+ICtQbGF0Zm9ybUluZm9VcGRhdGUgKA0KPiArICBJTiBDT05TVCBFRklf UEVJX1NFUlZJQ0VTICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIE9VVCBFRklfUExB VEZPUk1fSU5GT19IT0IgKlBsYXRmb3JtSW5mb0hvYiwNCj4gKyAgSU4gU1lTVEVNX0NPTkZJR1VS QVRJT04gICAgICAqU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9T VEFUVVMgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfUEVJX1JFQURfT05MWV9W QVJJQUJMRTJfUFBJICAgKlZhcmlhYmxlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgIFZhcmlhYmxlU2l6ZTsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICBNZW1v cnlDZWlsaW5nOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENoZWNraW5nIFBDSTMyIHJlc291cmNl IGZyb20gcHJldmlvdXMgYm9vdCB0byBkZXRlcm1pbmUgdGhlIG1lbW9yeQ0KPiBjZWlsaW5nDQo+ ICsgIC8vDQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5Mb2NhdGVQcGkgKA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmdFZmlQZWlSZWFkT25seVZhcmlhYmxlMlBwaUd1aWQsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lk ICoqKSZWYXJpYWJsZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBp ZiAoIUVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBHZXQgdGhlIG1l bW9yeSBjZWlsaW5nDQo+ICsgICAgLy8NCj4gKyAgICBWYXJpYWJsZVNpemUgPSBzaXplb2YoTWVt b3J5Q2VpbGluZyk7DQo+ICsgICAgU3RhdHVzID0gVmFyaWFibGUtPkdldFZhcmlhYmxlICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICBWYXJpYWJsZSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICBNZW1vcnlDZWlsaW5nVmFyaWFibGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgJmdFZmlHbG9iYWxWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg TlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmVmFyaWFibGVTaXplLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICZNZW1vcnlDZWlsaW5nDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgICBpZighRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICAgIC8v DQo+ICsgICAgICAvLyBTZXQgdGhlIG5ldyBQQ0kzMiByZXNvdXJjZSBCYXNlIGlmIHRoZSB2YXJp YWJsZSBhdmFpbGFibGUNCj4gKyAgICAgIC8vDQo+ICsgICAgICBQbGF0Zm9ybUluZm9Ib2ItPlBj aURhdGEuUGNpUmVzb3VyY2VNZW0zMkJhc2UgPSBNZW1vcnlDZWlsaW5nOw0KPiArICAgICAgUGxh dGZvcm1JbmZvSG9iLT5NZW1EYXRhLk1lbU1heFRvbG0gPSBNZW1vcnlDZWlsaW5nOw0KPiArICAg ICAgUGxhdGZvcm1JbmZvSG9iLT5NZW1EYXRhLk1lbVRvbG0gPSBNZW1vcnlDZWlsaW5nOw0KPiAr DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gUGxhdGZvcm0gUENJIE1NSU8gU2l6ZSBpbiB1bml0 IG9mIDFNQg0KPiArICAgICAgLy8NCj4gKyAgICAgIFBsYXRmb3JtSW5mb0hvYi0+TWVtRGF0YS5N bWlvU2l6ZSA9IDB4MTAwMCAtDQo+IChVSU5UMTYpKFBsYXRmb3JtSW5mb0hvYi0+TWVtRGF0YS5N ZW1NYXhUb2xtID4+IDIwKTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJ X1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBJbml0aWFsaXplIHRoZSBwbGF0Zm9y bSByZWxhdGVkIGluZm8gaG9iIGFjY29yZGluZyB0byB0aGUNCj4gKyAgcHJlLWRldGVybWluZSB2 YWx1ZSBvciBzZXR1cCBvcHRpb24NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgIE1l bW9yeSBpbml0aWFsaXphdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFs IE90aGVycyAgICAgICAgIEFsbCBvdGhlciBlcnJvciBjb25kaXRpb25zIGVuY291bnRlcmVkIHJl c3VsdCBpbiBhbg0KPiBBU1NFUlQuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0luaXRpYWxp emVQbGF0Zm9ybSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgKipQZWlT ZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1BMQVRGT1JNX0lORk9fSE9CICAgICAgICAqUGxhdGZvcm1J bmZvSG9iLA0KPiArICBJTiBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICAgICpTeXN0ZW1Db25m aWd1cmF0aW9uDQo+ICspDQo+ICt7DQo+ICsvLw0KPiArLy8gLS0gY2NoZXcxMCBuZWVkIHRvIHVw ZGF0ZSBoZXJlLg0KPiArLy8NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bUluaXRQZWkvUGxhdGZvcm1Jbml0UGVpLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9QbGF0Zm9ybUluaXRQZWkuaW5mDQo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjU0Mjc3YjFlOGINCj4gLS0tIC9kZXYv bnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUlu aXRQZWkvUGxhdGZvcm1Jbml0UGVpLmluZg0KPiBAQCAtMCwwICsxLDExNyBAQA0KPiArIw0KPiAr Iw0KPiArIyBDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTYsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkDQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjDQo+ICsjDQo+ICsjICBNb2R1bGUgTmFtZToN Cj4gKyMNCj4gKyMgICAgUGxhdGZvcm1FYXJseUluaXQuaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFj dDoNCj4gKyMNCj4gKyMgICAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yIFBsYXRmb3Jt RWFybHlJbml0IG1vZHVsZQ0KPiArIw0KPiArIy0tKi8NCj4gKw0KPiArW2RlZmluZXNdDQo+ICtJ TkZfVkVSU0lPTiAJCQkJICAgPSAweDAwMDEwMDA1DQo+ICtCQVNFX05BTUUJCQkJCSAgID0gUGxh dGZvcm1FYXJseUluaXQNCj4gK0ZJTEVfR1VJRAkJCQkJICAgPSAwQTVFQTJFMS1CRTBCLTQ0YTAt DQo+IEE3NzUtRjQyOUM5QTAxOEEwDQo+ICtNT0RVTEVfVFlQRSAJCQkJICAgPSBQRUlNDQo+ICtW RVJTSU9OX1NUUklORwkJCQkgICA9IDEuMA0KPiArUElfU1BFQ0lGSUNBVElPTl9WRVJTSU9OCSAg ID0gMHgwMDAxMDAwQQ0KPiArRU5UUllfUE9JTlQgCQkJCSAgID0gUGxhdGZvcm1FYXJseUluaXRF bnRyeQ0KPiArDQo+ICtbc291cmNlcy5jb21tb25dDQo+ICsgIEJvb3RNb2RlLmMNCj4gKyAgQ3B1 SW5pdFBlaW0uYw0KPiArICBQY2hJbml0UGVpbS5jDQo+ICsgIE1jaEluaXQuYw0KPiArICBNZW1v cnlDYWxsYmFjay5jDQo+ICsgIE1lbW9yeVBlaW0uYw0KPiArICBQbGF0Zm9ybUVhcmx5SW5pdC5j DQo+ICsgIFBsYXRmb3JtRWFybHlJbml0LmgNCj4gKyAgUGxhdGZvcm1JbmZvSW5pdC5jDQo+ICsg IExlZ2FjeVNwZWFrZXIuYw0KPiArICBMZWdhY3lTcGVha2VyLmgNCj4gKyAgU3RhbGwuYw0KPiAr ICBQbGF0Zm9ybVNzYUluaXRQZWltLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cv TWRlUGtnLmRlYw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBWbHYy VGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtQa2cvSW50 ZWxGcmFtZXdvcmtQa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VS ZWZDb2RlUGtnLmRlYw0KPiArICBWbHYyU29jQmluUGtnL1ZsdjJTb2NCaW5Qa2cuZGVjDQo+ICsg IFVlZmlDcHVQa2cvVWVmaUNwdVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2 MkRldmljZVJlZkNvZGVQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0ludGVs RnJhbWV3b3JrTW9kdWxlUGtnLmRlYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIFBl aW1FbnRyeVBvaW50DQo+ICsgIERlYnVnTGliDQo+ICsgIEhvYkxpYg0KPiArICBJb0xpYg0KPiAr IyAgUGVpS3NjTGliDQo+ICsgIE11bHRpUGxhdGZvcm1MaWINCj4gKyAgUGNkTGliDQo+ICsgIFBj aFBsYXRmb3JtTGliDQo+ICsgIE10cnJMaWINCj4gKw0KPiArW1BwaXNdDQo+ICsgIGdFZmlQZWlT dGFsbFBwaUd1aWQNCj4gKyAgZ1BlaVNwZWFrZXJJbnRlcmZhY2VQcGlHdWlkDQo+ICsgIGdFZmlQ ZWlNZW1vcnlEaXNjb3ZlcmVkUHBpR3VpZA0KPiArICBnVmx2UG9saWN5UHBpR3VpZA0KPiArICBn RWZpUGVpUmVhZE9ubHlWYXJpYWJsZTJQcGlHdWlkDQo+ICsgIGdFZmlQZWlSZXNldFBwaUd1aWQN Cj4gKyAgZ0VmaUVuZE9mUGVpU2lnbmFsUHBpR3VpZA0KPiArICBnUGVpU21idXNQb2xpY3lQcGlH dWlkDQo+ICsgIGdFZmlGaW5kRnZQcGlHdWlkDQo+ICsgIGdQZWlDYXBzdWxlUHBpR3VpZA0KPiAr ICBnRWZpUGVpQm9vdEluUmVjb3ZlcnlNb2RlUHBpR3VpZA0KPiArICBnRWZpUGVpUmVjb3ZlcnlN b2R1bGVQcGlHdWlkDQo+ICsgIGdFZmlQZWlEZXZpY2VSZWNvdmVyeU1vZHVsZVBwaUd1aWQNCj4g KyAgZ1BlaUNhY2hlUHBpR3VpZA0KPiArICBnRWZpUGVpTWFzdGVyQm9vdE1vZGVQcGlHdWlkDQo+ ICsgIGdFZmlQZWlTbWJ1c1BwaUd1aWQNCj4gKyAgZ1BjaEluaXRQcGlHdWlkDQo+ICsgIGdQY2hV c2JQb2xpY3lQcGlHdWlkDQo+ICsNCj4gK1tHdWlkc10NCj4gKyAgZ0VmaVNldHVwVmFyaWFibGVH dWlkDQo+ICsgIGdFZmlQbGF0Zm9ybUluZm9HdWlkDQo+ICsgIGdFZmlQbGF0Zm9ybUJvb3RNb2Rl R3VpZA0KPiArICBnRWZpUGxhdGZvcm1DcHVJbmZvR3VpZA0KPiArICBnRWZpR2xvYmFsVmFyaWFi bGVHdWlkDQo+ICsgIGdSZWNvdmVyeU9uRmF0RmxvcHB5RGlza0d1aWQNCj4gKyAgZ1JlY292ZXJ5 T25GYXRVc2JEaXNrR3VpZA0KPiArICBnUmVjb3ZlcnlPbkZhdElkZURpc2tHdWlkDQo+ICsgIGdS ZWNvdmVyeU9uRGF0YUNkR3VpZA0KPiArICBnTWZnTW9kZVZhcmlhYmxlR3VpZA0KPiArICBnRWZp Tm9ybWFsU2V0dXBHdWlkDQo+ICsgIGdFZmlNZW1vcnlUeXBlSW5mb3JtYXRpb25HdWlkDQo+ICsg IGdPc1NlbGVjdGlvblZhcmlhYmxlR3VpZA0KPiArICBnRWZpU21tUGVpU21yYW1NZW1vcnlSZXNl cnZlR3VpZA0KPiArDQo+ICtbUGNkLmNvbW1vbl0NCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5T cGFjZUd1aWQuUGNkRmxhc2hGdk1haW5CYXNlDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3Bh Y2VHdWlkLlBjZEZsYXNoRnZNYWluU2l6ZQ0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzDQo+ICsgIGdFZmlJY2hUb2tlblNwYWNlR3VpZC5QY2RQ ZWlJY2hFaGNpQ29udHJvbGxlck1lbW9yeUJhc2VBZGRyZXNzDQo+ICsNCj4gKyAgZ1BsYXRmb3Jt TW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hBcmVhQmFzZUFkZHJlc3MNCj4gKyAgZ1BsYXRm b3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hBcmVhU2l6ZQ0KPiArICBnUGxhdGZvcm1N b2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnkyQmFzZQ0KPiArICBnUGxhdGZv cm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnkyU2l6ZQ0KPiArDQo+ICtb UGNkXQ0KPiArICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkTWVhc3VyZWRCb290RW5hYmxlDQo+ ICsgIGdFZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJvb3RTdGF0 ZQ0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIGdFZmlQZWlSZWFkT25seVZhcmlhYmxlMlBwaUd1aWQg IEFORCBnUGVpQ2FjaGVQcGlHdWlkDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvUGxhdGZvcm1Tc2FJbml0UGVpbS5jDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1BsYXRm b3JtU3NhSW5pdFBlaW0uYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAw MDAwLi40ZmZhM2EyMGEyDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1BsYXRmb3JtU3NhSW5pdFBlaW0u Yw0KPiBAQCAtMCwwICsxLDU4IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQg KGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4g KyAgUGxhdGZvcm1Tc2FJbml0UGVpbS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsNCj4g Ky0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRWFybHlJbml0LmgiDQo+ICsNCj4gKy8q Kg0KPiArICBQZXJmb3JtIFNTQSByZWxhdGVkIHBsYXRmb3JtIGluaXRpYWxpemF0aW9uLg0KPiAr DQo+ICsqKi8NCj4gK1ZPSUQNCj4gK1BsYXRmb3JtU3NhSW5pdCAoDQo+ICsgIElOIFNZU1RFTV9D T05GSUdVUkFUSU9OICAgICAgICAqU3lzdGVtQ29uZmlndXJhdGlvbiwNCj4gKyAgSU4gQ09OU1Qg RUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAqKlBlaVNlcnZpY2VzDQo+ICsgICkNCj4gK3sNCj4g Kw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiUGxhdGZvcm1Tc2FJbml0KCkgLSBTdGFydFxu IikpOw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiUGxhdGZvcm1Tc2FJbml0KCkgLSBTeXN0 ZW1Db25maWd1cmF0aW9uLQ0KPiA+SVNQRGV2U2VsIDB4JXhcbiIsU3lzdGVtQ29uZmlndXJhdGlv bi0+SVNQRGV2U2VsKSk7DQo+ICsgIGlmKFN5c3RlbUNvbmZpZ3VyYXRpb24tPklTUERldlNlbCA9 PSAweDAyKQ0KPiArICB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBEZXZpY2UgMyBJbnRlcnJ1cHQg Um91dGUNCj4gKyAgICAvLw0KPiArICAgIE1taW9Xcml0ZTE2ICgNCj4gKyAgICAgIChJTEJfQkFT RV9BRERSRVNTICsgUl9QQ0hfSUxCX0QzSVIpLA0KPiArICAgICAgVl9QQ0hfSUxCX0RYWElSX0lB Ul9QSVJRSCAgIC8vIEZvciBJVU5JVA0KPiArICAgICk7DQo+ICsgICAgTW1pb1JlYWQxNihJTEJf QkFTRV9BRERSRVNTICsgUl9QQ0hfSUxCX0QzSVIpOyAvLyBSZWFkIFBvc3RlZA0KPiBXcml0ZXMg UmVnaXN0ZXINCj4gKyAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiUGxhdGZvcm1Tc2FJbml0KCkg LSBEZXZpY2UgMyBJbnRlcnJ1cHQgUm91dGUNCj4gRG9uZVxuIikpOw0KPiArICB9DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gRGV2aWNlIDIgSW50ZXJydXB0IFJvdXRlDQo+ICsgIC8vDQo+ICsgIE1t aW9Xcml0ZTE2ICgNCj4gKyAgICAoSUxCX0JBU0VfQUREUkVTUyArIFJfUENIX0lMQl9EMklSKSwN Cj4gKyAgICBWX1BDSF9JTEJfRFhYSVJfSUFSX1BJUlFBICAgLy8gRm9yIElHRA0KPiArICApOw0K PiArICBNbWlvUmVhZDE2KElMQl9CQVNFX0FERFJFU1MgKyBSX1BDSF9JTEJfRDJJUik7IC8vIFJl YWQgUG9zdGVkDQo+IFdyaXRlcyBSZWdpc3Rlcg0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAi UGxhdGZvcm1Tc2FJbml0KCkgLSBEZXZpY2UgMiBJbnRlcnJ1cHQgUm91dGUNCj4gRG9uZVxuIikp Ow0KPiArDQo+ICsgIHJldHVybjsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9SZWNvdmVyeS5jDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Jbml0UGVpL1JlY292ZXJ5LmMNCj4g bmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNTNjZDJjNmMwYw0KPiAt LS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Bs YXRmb3JtSW5pdFBlaS9SZWNvdmVyeS5jDQo+IEBAIC0wLDAgKzEsMzYxIEBADQo+ICsvKiogQGZp bGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01v ZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgUmVjb3ZlcnkuYw0KPiArDQo+ICtBYnN0cmFjdDoN Cj4gKw0KPiArICBUaWFubyBQRUlNIHRvIHByb3ZpZGUgdGhlIHBsYXRmb3JtIHJlY292ZXJ5IGZ1 bmN0aW9uYWxpdHkuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3JtRWFy bHlJbml0LmgiDQo+ICsNCj4gKyNkZWZpbmUgUEVJX0ZWTUFJTl9DT01QQUNUX0dVSUQgXA0KPiAr ICB7MHg0QTUzODgxOCwgMHg1QUUwLCAweDRlYjIsIDB4QjIsIDB4RUIsIDB4NDgsIDB4OGIsIDB4 MjMsIDB4NjUsIDB4NzAsDQo+IDB4MjJ9Ow0KPiArDQo+ICtFRklfR1VJRCBGdk1haW5Db21wYWN0 RmlsZUd1aWQgPSBQRUlfRlZNQUlOX0NPTVBBQ1RfR1VJRDsNCj4gKw0KPiArLy8NCj4gKy8vIFJl cXVpcmVkIFNlcnZpY2UNCj4gKy8vDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1BsYXRm b3JtUmVjb3ZlcnlNb2R1bGUgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAg ICAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJTiBFRklfUEVJX1JFQ09WRVJZ X01PRFVMRV9QUEkgICAgICAgICAgKlRoaXMNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIE1v ZHVsZSBnbG9iYWxzDQo+ICsvLw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9H VUlEICBDYXBzdWxlR3VpZDsNCj4gKyAgVUlOVDMyICAgIEhlYWRlclNpemU7DQo+ICsgIFVJTlQz MiAgICBGbGFnczsNCj4gKyAgVUlOVDMyICAgIENhcHN1bGVJbWFnZVNpemU7DQo+ICsgIFVJTlQz MiAgICBTZXF1ZW5jZU51bWJlcjsNCj4gKyAgRUZJX0dVSUQgIEluc3RhbmNlSWQ7DQo+ICsgIFVJ TlQzMiAgICBPZmZzZXRUb1NwbGl0SW5mb3JtYXRpb247DQo+ICsgIFVJTlQzMiAgICBPZmZzZXRU b0NhcHN1bGVCb2R5Ow0KPiArICBVSU5UMzIgICAgT2Zmc2V0VG9PZW1EZWZpbmVkSGVhZGVyOw0K PiArICBVSU5UMzIgICAgT2Zmc2V0VG9BdXRob3JJbmZvcm1hdGlvbjsNCj4gKyAgVUlOVDMyICAg IE9mZnNldFRvUmV2aXNpb25JbmZvcm1hdGlvbjsNCj4gKyAgVUlOVDMyICAgIE9mZnNldFRvU2hv cnREZXNjcmlwdGlvbjsNCj4gKyAgVUlOVDMyICAgIE9mZnNldFRvTG9uZ0Rlc2NyaXB0aW9uOw0K PiArICBVSU5UMzIgICAgT2Zmc2V0VG9BcHBsaWNhYmxlRGV2aWNlczsNCj4gK30gT0xEX0VGSV9D QVBTVUxFX0hFQURFUjsNCj4gKw0KPiArDQo+ICtzdGF0aWMgRUZJX1BFSV9SRUNPVkVSWV9NT0RV TEVfUFBJIG1SZWNvdmVyeVBwaSA9IHsNCj4gKyAgUGxhdGZvcm1SZWNvdmVyeU1vZHVsZQ0KPiAr fTsNCj4gKw0KPiArc3RhdGljIEVGSV9QRUlfUFBJX0RFU0NSSVBUT1IgbVJlY292ZXJ5UHBpTGlz dCA9IHsNCj4gKyAgKEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJIHwNCj4gRUZJX1BFSV9QUElf REVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCksDQo+ICsgICZnRWZpUGVpUmVjb3ZlcnlNb2R1bGVQ cGlHdWlkLA0KPiArICAmbVJlY292ZXJ5UHBpDQo+ICt9Ow0KPiArDQo+ICsvKioNCj4gKyAgUHJv dmlkZSB0aGUgZnVuY3Rpb25hbGl0eSBvZiB0aGUgUmVjb3ZlcnkgTW9kdWxlLg0KPiArDQo+ICsg IEBwYXJhbSBQZWlTZXJ2aWNlcyAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0 byBldmVyeSBQRUlNLg0KPiArDQo+ICsgIEByZXR2YWwgU3RhdHVzICAgICAgRUZJX1NVQ0NFU1Mg aWYgdGhlIGludGVyZmFjZSBjb3VsZCBiZSBzdWNjZXNzZnVsbHkNCj4gKyAgICAgICAgICAgICAg ICAgICAgICBpbnN0YWxsZWQNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK1BlaW1Jbml0aWFsaXplUmVjb3ZlcnkgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJ Q0VTICAgICAqKlBlaVNlcnZpY2VzDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3Rh dHVzOw0KPiArDQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5JbnN0YWxsUHBpICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICZtUmVjb3ZlcnlQcGlMaXN0DQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiAr LyoqDQo+ICsgIFByb3ZpZGUgdGhlIGZ1bmN0aW9uYWxpdHkgb2YgdGhlIEVhIFJlY292ZXJ5IE1v ZHVsZS4NCj4gKw0KPiArICBAcGFyYW0gUGVpU2VydmljZXMgICAgICAgICBHZW5lcmFsIHB1cnBv c2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBFSU0uDQo+ICsgIEBwYXJhbSBUaGlzICAg ICAgICAgICAgICAgIFBvaW50ZXIgdG8gUEVJX1JFQ09WRVJZX01PRFVMRV9JTlRFUkZBQ0UuDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgSWYgdGhlIGludGVyZmFjZSBjb3Vs ZCBiZSBzdWNjZXNzZnVsbHkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFs bGVkLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICBOb3Qgc3VwcG9ydGVkLg0KPiAr DQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUGxhdGZvcm1SZWNvdmVyeU1v ZHVsZSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAqKlBl aVNlcnZpY2VzLA0KPiArICBJTiBFRklfUEVJX1JFQ09WRVJZX01PRFVMRV9QUEkgICAgICAgICAg KlRoaXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1BFSV9ERVZJQ0VfUkVDT1ZFUllfTU9EVUxFX1BQSSAg ICAqRGV2aWNlUmVjb3ZlcnlNb2R1bGU7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgTnVtYmVyT2ZJbWFnZVByb3ZpZGVyczsNCj4gKyAgQk9PTEVBTiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBQcm92aWRlckF2YWlsYWJsZTsNCj4gKyAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1iZXJSZWNvdmVyeUNhcHN1bGVzOw0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFJlY292ZXJ5Q2Fwc3VsZVNp emU7DQo+ICsgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGV2aWNlSWQ7 DQo+ICsgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSW1hZ2VGb3VuZDsN Cj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgICAgICAgICAgICBBZGRyZXNzOw0KPiAr ICBWT0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpCdWZmZXI7DQo+ICsgIE9M RF9FRklfQ0FQU1VMRV9IRUFERVIgICAgICAgICAgICAgICAgKkNhcHN1bGVIZWFkZXI7DQo+ICsg IEVGSV9QRUlfSE9CX1BPSU5URVJTICAgICAgICAgICAgICAgICAgSG9iOw0KPiArICBFRklfUEVJ X0hPQl9QT0lOVEVSUyAgICAgICAgICAgICAgICAgIEhvYk9sZDsNCj4gKyAgRUZJX0hPQl9DQVBT VUxFX1ZPTFVNRSAgICAgICAgICAgICAgICAqQ2Fwc3VsZUhvYjsNCj4gKyAgQk9PTEVBTiAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBIb2JVcGRhdGU7DQo+ICsgIEVGSV9GSVJNV0FSRV9W T0xVTUVfSEVBREVSICAgICAgICAgICAgKkZ2SGVhZGVyOw0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBCT09MRUFOICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBGb3VuZEZ2TWFpbjsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRm91bmRDYXBzdWxlOw0KPiArICBzdGF0aWMgRUZJX0dVSUQgbUVm aUNhcHN1bGVIZWFkZXJHdWlkID0gRUZJX0NBUFNVTEVfR1VJRDsNCj4gKyAgRUZJX1BFSV9TVEFM TF9QUEkgICAgICAgICAgICAgICAgICAgICAgKlN0YWxsUHBpOw0KPiArDQo+ICsgICgqUGVpU2Vy dmljZXMpLT5SZXBvcnRTdGF0dXNDb2RlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgUGVpU2Vy dmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgIEVGSV9QUk9HUkVTU19DT0RFLA0KPiArICAg ICAgICAgICAgICAgICAgICBFRklfU09GVFdBUkVfUEVJX01PRFVMRSB8DQo+IEVGSV9TV19QRUlN X1BDX1JFQ09WRVJZX0JFR0lOLA0KPiArICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAg ICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICBOVUxMDQo+ICsgICAg ICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgU3RhdHVzID0gKCoqUGVpU2VydmljZXMpLkxv Y2F0ZVBwaSAoDQo+ICsgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAg ICAmZ0VmaVBlaVN0YWxsUHBpR3VpZCwNCj4gKyAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAg ICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgJlN0YWxsUHBpDQo+ICsgICAgICAgICAgICAg ICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgU3RhbGxQcGkt PlN0YWxsKA0KPiArICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAg U3RhbGxQcGksDQo+ICsgICAgICAgICAgICAgIDUwMDAwMDANCj4gKyAgICAgICAgICAgICAgKTsN Cj4gKw0KPiArDQo+ICsgIEluZGV4ID0gMDsNCj4gKw0KPiArICBTdGF0dXMgICAgICAgICAgICAg ICAgICA9IEVGSV9TVUNDRVNTOw0KPiArICBIb2JVcGRhdGUgICAgICAgICAgICAgICA9IEZBTFNF Ow0KPiArDQo+ICsgIFByb3ZpZGVyQXZhaWxhYmxlICAgICAgID0gVFJVRTsNCj4gKyAgSW1hZ2VG b3VuZCAgICAgICAgICAgICAgPSBGQUxTRTsNCj4gKyAgTnVtYmVyT2ZJbWFnZVByb3ZpZGVycyAg PSAwOw0KPiArDQo+ICsgIERldmljZVJlY292ZXJ5TW9kdWxlICAgID0gTlVMTDsNCj4gKw0KPiAr ICBGb3VuZENhcHN1bGUgPSBGQUxTRTsNCj4gKyAgRm91bmRGdk1haW4gPSBGQUxTRTsNCj4gKw0K PiArICBERUJVRyAoKEVGSV9EX0VSUk9SIHwgRUZJX0RfTE9BRCwgIlJlY292ZXJ5IEVudHJ5XG4i KSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2VhcmNoIHRoZSBwbGF0Zm9ybSBmb3Igc29tZSBy ZWNvdmVyeSBjYXBzdWxlIGlmIHRoZSBEWEUgSVBMDQo+ICsgIC8vIGRpc2NvdmVyZWQgYSByZWNv dmVyeSBjb25kaXRpb24gYW5kIGhhcyByZXF1ZXN0ZWQgYSBsb2FkLg0KPiArICAvLw0KPiArICB3 aGlsZSAoUHJvdmlkZXJBdmFpbGFibGUgPT0gVFJVRSkgew0KPiArDQo+ICsgICAgU3RhdHVzID0g KCpQZWlTZXJ2aWNlcyktPkxvY2F0ZVBwaSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdF ZmlQZWlEZXZpY2VSZWNvdmVyeU1vZHVsZVBwaUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgSW5kZXgsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRGV2aWNlUmVjb3ZlcnlNb2R1 bGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgaWYg KCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfSU5GTyB8IEVG SV9EX0xPQUQsICJEZXZpY2UgUmVjb3ZlcnkgUFBJIGxvY2F0ZWRcbiIpKTsNCj4gKyAgICAgIE51 bWJlck9mSW1hZ2VQcm92aWRlcnMrKzsNCj4gKw0KPiArICAgICAgU3RhdHVzID0gRGV2aWNlUmVj b3ZlcnlNb2R1bGUtPkdldE51bWJlclJlY292ZXJ5Q2Fwc3VsZXMgKA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKEVGSV9QRUlfU0VSVklDRVMqKilQZWlTZXJ2aWNl cywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERldmljZVJlY292 ZXJ5TW9kdWxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJk51 bWJlclJlY292ZXJ5Q2Fwc3VsZXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICk7DQo+ICsNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfSU5GTyB8IEVGSV9EX0xPQUQs ICJOdW1iZXIgT2YgUmVjb3ZlcnkNCj4gQ2Fwc3VsZXM6ICVkXG4iLCBOdW1iZXJSZWNvdmVyeUNh cHN1bGVzKSk7DQo+ICsNCj4gKyAgICAgIGlmIChOdW1iZXJSZWNvdmVyeUNhcHN1bGVzID09IDAp IHsNCj4gKyAgICAgICAgSW5kZXgrKzsNCj4gKyAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgIGJy ZWFrOw0KPiArICAgICAgfQ0KPiArICAgIH0gZWxzZSB7DQo+ICsgICAgICBQcm92aWRlckF2YWls YWJsZSA9IEZBTFNFOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIElm IHRoZXJlIGlzIGFuIGltYWdlIHByb3ZpZGVyLCBnZXQgdGhlIGNhcHN1bGUgSUQNCj4gKyAgLy8N Cj4gKyAgaWYgKFByb3ZpZGVyQXZhaWxhYmxlKSB7DQo+ICsgICAgUmVjb3ZlcnlDYXBzdWxlU2l6 ZSA9IDA7DQo+ICsNCj4gKyAgICBTdGF0dXMgPSBEZXZpY2VSZWNvdmVyeU1vZHVsZS0+R2V0UmVj b3ZlcnlDYXBzdWxlSW5mbyAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAoRUZJX1BFSV9TRVJWSUNFUyoqKVBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRGV2aWNlUmVjb3ZlcnlNb2R1bGUsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJlJlY292ZXJ5Q2Fwc3VsZVNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAmRGV2aWNlSWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICk7DQo+ICsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAg ICByZXR1cm4gU3RhdHVzOw0KPiArICAgIH0NCj4gKw0KPiArICAgIERFQlVHICgoRUZJX0RfSU5G TyB8IEVGSV9EX0xPQUQsICJSZWNvdmVyeSBDYXBzdWxlIFNpemU6ICVkXG4iLA0KPiBSZWNvdmVy eUNhcHN1bGVTaXplKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE9ubHkgc3VwcG9ydCB0 aGUgMiBjYXBzdWxlIHR5cGVzIGtub3duDQo+ICsgICAgLy8gRnV0dXJlIGVuaGFuY2VtZW50IGlz IHRvIHJhbmstb3JkZXIgdGhlIHNlbGVjdGlvbg0KPiArICAgIC8vDQo+ICsgICAgaWYgKCghQ29t cGFyZUd1aWQgKCZEZXZpY2VJZCwgJmdSZWNvdmVyeU9uRmF0SWRlRGlza0d1aWQpKSAmJg0KPiAr ICAgICAgICAoIUNvbXBhcmVHdWlkICgmRGV2aWNlSWQsICZnUmVjb3ZlcnlPbkZhdEZsb3BweURp c2tHdWlkKSkgJiYNCj4gKyAgICAgICAgKCFDb21wYXJlR3VpZCAoJkRldmljZUlkLCAmZ1JlY292 ZXJ5T25EYXRhQ2RHdWlkKSkgJiYNCj4gKyAgICAgICAoIUNvbXBhcmVHdWlkICgmRGV2aWNlSWQs ICZnUmVjb3ZlcnlPbkZhdFVzYkRpc2tHdWlkKSkNCj4gKyAgICAgICAgKSB7DQo+ICsgICAgICBy ZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICAgIH0NCj4gKw0KPiArICAgIEJ1ZmZlciAgPSBO VUxMOw0KPiArICAgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5BbGxvY2F0ZVBhZ2VzICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBFZmlCb290U2VydmljZXNDb2RlLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChSZWNvdmVyeUNhcHN1bGVTaXplIC0gMSkgLyAweDEwMDAg KyAxLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZBZGRyZXNzDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIERFQlVHICgoRUZJX0Rf SU5GTyB8IEVGSV9EX0xPQUQsICJBbGxvY2F0ZVBhZ2UgUmV0dXJuczogJXJcbiIsDQo+IFN0YXR1 cykpOw0KPiArDQo+ICsgICAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgICByZXR1 cm4gU3RhdHVzOw0KPiArICAgIH0NCj4gKw0KPiArICAgIEJ1ZmZlciA9IChVSU5UOCAqKSAoVUlO VE4pIEFkZHJlc3M7DQo+ICsNCj4gKyAgICAoKlBlaVNlcnZpY2VzKS0+UmVwb3J0U3RhdHVzQ29k ZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgRUZJX1BST0dSRVNTX0NPREUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg RUZJX1NPRlRXQVJFX1BFSV9NT0RVTEUgfA0KPiBFRklfU1dfUEVJTV9QQ19DQVBTVUxFX0xPQUQs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBO VUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICApOw0KPiArDQo+ICsgICAgU3RhdHVzID0gRGV2aWNlUmVjb3ZlcnlNb2R1bGUtPkxvYWRS ZWNvdmVyeUNhcHN1bGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IChFRklfUEVJX1NFUlZJQ0VTKiopUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgRGV2aWNlUmVjb3ZlcnlNb2R1bGUsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBCdWZmZXINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICApOw0KPiArDQo+ICsgICAgREVCVUcgKChFRklfRF9JTkZPIHwgRUZJX0RfTE9BRCwgIkxvYWRS ZWNvdmVyeUNhcHN1bGUNCj4gUmV0dXJuczogJXJcbiIsIFN0YXR1cykpOw0KPiArDQo+ICsgICAg aWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAg ICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFVwZGF0ZSBGViBIb2IgaWYgZm91bmQNCj4g KyAgICAvLw0KPiArICAgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5HZXRIb2JMaXN0IChQZWlT ZXJ2aWNlcywgJkhvYi5SYXcpOw0KPiArICAgIEhvYk9sZC5SYXcgID0gSG9iLlJhdzsNCj4gKyAg ICB3aGlsZSAoIUVORF9PRl9IT0JfTElTVCAoSG9iKSkgew0KPiArICAgICAgaWYgKEhvYi5IZWFk ZXItPkhvYlR5cGUgPT0gRUZJX0hPQl9UWVBFX0ZWKSB7DQo+ICsgICAgICAgIERFQlVHICgoRUZJ X0RfSU5GTyB8IEVGSV9EX0xPQUQsICJIb2IgRlYgTGVuZ3RoOiAleFxuIiwNCj4gSG9iLkZpcm13 YXJlVm9sdW1lLT5MZW5ndGgpKTsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gQlVHQlVH IFdoeSBpcyBpdCBhIEZWIGhvYiBpZiBpdCBpcyBncmVhdGVyIHRoYW4gMHg1MDAwMD8NCj4gKyAg ICAgICAgLy8NCj4gKyAgICAgICAgaWYgKEhvYi5GaXJtd2FyZVZvbHVtZS0+TGVuZ3RoID4gMHg1 MDAwMCkgew0KPiArICAgICAgICAgIEhvYlVwZGF0ZSA9IFRSVUU7DQo+ICsgICAgICAgICAgLy8N Cj4gKyAgICAgICAgICAvLyBUaGlzIGxvb2tzIGxpa2UgdGhlIEhvYiB3ZSBhcmUgaW50ZXJlc3Rl ZCBpbg0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgREVCVUcgKChFRklfRF9JTkZPIHwg RUZJX0RfTE9BRCwgIkhvYiBVcGRhdGVkXG4iKSk7DQo+ICsgICAgICAgICAgSG9iLkZpcm13YXJl Vm9sdW1lLT5CYXNlQWRkcmVzcyA9IChVSU5UTikgQnVmZmVyOw0KPiArICAgICAgICAgIEhvYi5G aXJtd2FyZVZvbHVtZS0+TGVuZ3RoICAgICAgPSBSZWNvdmVyeUNhcHN1bGVTaXplOw0KPiArICAg ICAgICB9DQo+ICsgICAgICB9DQo+ICsgICAgICBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2Ip Ow0KPiArICAgIH0NCj4gKw0KPiArICAgIEZ2SGVhZGVyID0gKEVGSV9GSVJNV0FSRV9WT0xVTUVf SEVBREVSICopQnVmZmVyOw0KPiArICAgIENhcHN1bGVIZWFkZXIgPSAoT0xEX0VGSV9DQVBTVUxF X0hFQURFUiAqKUJ1ZmZlcjsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gQ2hlY2sgaWYgdG9w IG9mIGZpbGUgaXMgYSBjYXBzdWxlDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoQ29tcGFyZUd1aWQg KChFRklfR1VJRCAqKUNhcHN1bGVIZWFkZXIsDQo+ICZtRWZpQ2Fwc3VsZUhlYWRlckd1aWQpKSB7 DQo+ICsgICAgICBGb3VuZENhcHN1bGUgPSBUUlVFOw0KPiArICAgIH0gZWxzZSBpZiAoRnZIZWFk ZXItPlNpZ25hdHVyZSA9PSBFRklfRlZIX1NJR05BVFVSRSkgew0KPiArICAgIAkvLw0KPiArICAg ICAgLy8gQXNzdW1lIHRoZSBGaXJtd2FyZSB2b2x1bWUgaXMgYSAiRlZNQUlOIiBpbWFnZQ0KPiAr ICAgICAgLy8NCj4gKyAgICAgIEZvdW5kRnZNYWluID0gVFJVRTsNCj4gKyAgICB9DQo+ICsNCj4g KyAgICBpZiAoRm91bmRGdk1haW4pIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBidWlsZCBG ViBIb2IgaWYgaXQgaXMgbm90IGJ1aWx0IGJlZm9yZQ0KPiArICAgICAgLy8NCj4gKyAgICAgIGlm ICghSG9iVXBkYXRlKSB7DQo+ICsgICAgICAgIERFQlVHICgoRUZJX0RfSU5GTyB8IEVGSV9EX0xP QUQsICJGViBIb2IgaXMgbm90IGZvdW5kLCBCdWlsZCBGViBIb2INCj4gdGhlbi4uXG4iKSk7DQo+ ICsNCj4gKyAgICAgICBCdWlsZEZ2SG9iICgNCj4gKyAgICAgICAgIChVSU5UTilGdkhlYWRlciwN Cj4gKyAgICAgICAgIEZ2SGVhZGVyLT5Gdkxlbmd0aA0KPiArICAgICAgICAgICk7DQo+ICsgICAg ICB9DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKEZvdW5kQ2Fwc3VsZSkgew0KPiArICAgICAg Ly8NCj4gKyAgICAgIC8vIEJ1aWxkIGNhcHN1bGUgaG9iDQo+ICsgICAgICAvLw0KPiArICAgICAg U3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkNyZWF0ZUhvYiAoDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIEVGSV9IT0JfVFlQRV9DViwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIHNpemVvZiAoRUZJX0hPQl9DQVBTVUxFX1ZPTFVNRSksDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmQ2Fwc3VsZUhvYg0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKTsNCj4gKyAgICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAg ICAgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgICAgIH0NCj4gKyAgICAgIENhcHN1bGVIb2ItPkJh c2VBZGRyZXNzID0gKFVJTlQ2NCkoKFVJTlROKUNhcHN1bGVIZWFkZXIgKw0KPiAoVUlOVE4pQ2Fw c3VsZUhlYWRlci0+T2Zmc2V0VG9DYXBzdWxlQm9keSk7DQo+ICsgICAgICBDYXBzdWxlSG9iLT5M ZW5ndGggPSAoVUlOVDY0KSgoVUlOVE4pQ2Fwc3VsZUhlYWRlci0NCj4gPkNhcHN1bGVJbWFnZVNp emUgLShVSU5UTilDYXBzdWxlSGVhZGVyLT5PZmZzZXRUb0NhcHN1bGVCb2R5KTsNCj4gKyAgICAg ICgqUGVpU2VydmljZXMpLT5SZXBvcnRTdGF0dXNDb2RlICgNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1BST0dS RVNTX0NPREUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBFRklfU09GVFdBUkVfUEVJX01P RFVMRSB8DQo+IEVGSV9TV19QRUlNX1BDX0NBUFNVTEVfU1RBUlQsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgICAgfQ0KPiArICB9DQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTyB8IEVGSV9EX0xPQUQsICJS ZWNvdmVyeSBNb2R1bGUgUmV0dXJuaW5nOiAlclxuIiwNCj4gU3RhdHVzKSk7DQo+ICsgIHJldHVy biBTdGF0dXM7DQo+ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvU3RhbGwuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtSW5pdFBlaS9TdGFsbC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmQ5YzI0YzAxOTQNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybUluaXRQZWkvU3Rh bGwuYw0KPiBAQCAtMCwwICsxLDkxIEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmln aHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBTdGFsbC5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFByb2R1Y2Ug U3RhbGwgUHBpLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIlBsYXRmb3Jt RWFybHlJbml0LmgiDQo+ICsNCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgV2FpdHMgZm9yIGF0IGxl YXN0IHRoZSBnaXZlbiBudW1iZXIgb2YgbWljcm9zZWNvbmRzLg0KPiArDQo+ICsgIEBwYXJhbSBQ ZWlTZXJ2aWNlcyAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVy eSBQRUlNLg0KPiArICBAcGFyYW0gVGhpcyAgICAgICAgICAgIFBQSSBpbnN0YW5jZSBzdHJ1Y3R1 cmUuDQo+ICsgIEBwYXJhbSBNaWNyb3NlY29uZHMgICAgRGVzaXJlZCBsZW5ndGggb2YgdGltZSB0 byB3YWl0Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgSWYgdGhlIGRlc2lyZWQg YW1vdW50IG9mIHRpbWUgd2FzIHBhc3NlZC4NCj4gKw0KPiArKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArU3RhbGwgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgKipQ ZWlTZXJ2aWNlcywNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TVEFMTF9QUEkgICAgICAqVGhpcywN Cj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgIE1pY3Jvc2Vjb25kcw0KPiArICApDQo+ICt7DQo+ ICsgIFVJTlROICAgVGlja3M7DQo+ICsgIFVJTlROICAgQ291bnRzOw0KPiArICBVSU5UMzIgIEN1 cnJlbnRUaWNrOw0KPiArICBVSU5UMzIgIE9yaWdpbmFsVGljazsNCj4gKyAgVUlOVDMyICBSZW1h aW5pbmdUaWNrOw0KPiArDQo+ICsgIGlmIChNaWNyb3NlY29uZHMgPT0gMCkgew0KPiArICAgIHJl dHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgfQ0KPiArDQo+ICsgIE9yaWdpbmFsVGljayA9IElvUmVh ZDMyIChBQ1BJX0JBU0VfQUREUkVTUyArIFJfUENIX0FDUElfUE0xX1RNUik7DQo+ICsgIE9yaWdp bmFsVGljayAmPSAoVl9QQ0hfQUNQSV9QTTFfVE1SX01BWF9WQUwgLSAxKTsNCj4gKyAgQ3VycmVu dFRpY2sgPSBPcmlnaW5hbFRpY2s7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIHRpbWVyIGZy ZXF1ZW5jeSBpcyAzLjU3OTU0NU1Ieiwgc28gMSBtcyBjb3JyZXNwb25kcyB0byAzLjU4IGNsb2Nr cw0KPiArICAvLw0KPiArICBUaWNrcyA9IE1pY3Jvc2Vjb25kcyAqIDM1OCAvIDEwMCArIE9yaWdp bmFsVGljayArIDE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlIGxvb3BzIG5lZWRlZCBmb3Ig dGltZXIgb3ZlcmZsb3cNCj4gKyAgLy8NCj4gKyAgQ291bnRzID0gKFVJTlROKVJTaGlmdFU2NCgo VUlOVDY0KVRpY2tzLCAyNCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVtYWluaW5nIGNsb2Nr cyB3aXRoaW4gb25lIGxvb3ANCj4gKyAgLy8NCj4gKyAgUmVtYWluaW5nVGljayA9IFRpY2tzICYg MHhGRkZGRkY7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRG8gbm90IGludGVuZCB0byB1c2UgVE1S T0ZfU1RTIGJpdCBvZiByZWdpc3RlciBQTTFfU1RTLCBiZWNhdXNlIHRoaXMNCj4gYWRkIGV4dHJh DQo+ICsgIC8vIG9uZSBJL08gb3BlcmF0aW9uLCBhbmQgbWF5IGdlbmVyYXRlIFNNSQ0KPiArICAv Lw0KPiArICB3aGlsZSAoQ291bnRzICE9IDApIHsNCj4gKyAgICBDdXJyZW50VGljayA9IElvUmVh ZDMyIChBQ1BJX0JBU0VfQUREUkVTUyArIFJfUENIX0FDUElfUE0xX1RNUikNCj4gJiBCX1BDSF9B Q1BJX1BNMV9UTVJfVkFMOw0KPiArICAgIGlmIChDdXJyZW50VGljayA8PSBPcmlnaW5hbFRpY2sp IHsNCj4gKyAgICAgIENvdW50cy0tOw0KPiArICAgIH0NCj4gKyAgICBPcmlnaW5hbFRpY2sgPSBD dXJyZW50VGljazsNCj4gKyAgfQ0KPiArDQo+ICsgIHdoaWxlICgoUmVtYWluaW5nVGljayA+IEN1 cnJlbnRUaWNrKSAmJiAoT3JpZ2luYWxUaWNrIDw9IEN1cnJlbnRUaWNrKSkgew0KPiArICAgIE9y aWdpbmFsVGljayAgPSBDdXJyZW50VGljazsNCj4gKyAgICBDdXJyZW50VGljayAgID0gSW9SZWFk MzIgKEFDUElfQkFTRV9BRERSRVNTICsNCj4gUl9QQ0hfQUNQSV9QTTFfVE1SKSAmIEJfUENIX0FD UElfUE0xX1RNUl9WQUw7DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ ICt9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0 Zm9ybVBlaS9Cb290TW9kZS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1QZWkvQm9vdE1vZGUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi45ZmRjYjYyMGEzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1QZWkvQm9vdE1vZGUuYw0KPiBAQCAtMCww ICsxLDM0NiBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAt IDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0K PiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArDQo+ICsgIEJvb3RNb2Rl LmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgRUZJIFBFSU0gdG8gcHJvdmlkZSB0aGUg cGxhdGZvcm0gc3VwcG9ydCBmdW5jdGlvbmFsaXR5IG9uIHRoZSBUaHVybGV5Lg0KPiArDQo+ICsN Cj4gKy0tKi8NCj4gKyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCINCj4gKyNpbmNsdWRlICJQbGF0 Zm9ybS5oIg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtQmFzZUFkZHJlc3Nlcy5oIg0KPiArI2luY2x1 ZGUgIlBjaEFjY2Vzcy5oIg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtQm9vdE1vZGUuaCINCj4gKyNp bmNsdWRlIDxHdWlkL1NldHVwVmFyaWFibGUuaD4NCj4gKw0KPiArLy8NCj4gKy8vIFByaW9yaXR5 IG9mIG91ciBib290IG1vZGVzLCBoaWdoZXN0IHByaW9yaXR5IGZpcnN0DQo+ICsvLw0KPiArRUZJ X0JPT1RfTU9ERSBtQm9vdE1vZGVQcmlvcml0eVtdID0gew0KPiArICBCT09UX0lOX1JFQ09WRVJZ X01PREUsDQo+ICsgIEJPT1RfV0lUSF9ERUZBVUxUX1NFVFRJTkdTLA0KPiArICBCT09UX09OX0ZM QVNIX1VQREFURSwNCj4gKyAgQk9PVF9PTl9TMl9SRVNVTUUsDQo+ICsgIEJPT1RfT05fUzNfUkVT VU1FLA0KPiArICBCT09UX09OX1M0X1JFU1VNRSwNCj4gKyAgQk9PVF9XSVRIX01JTklNQUxfQ09O RklHVVJBVElPTiwNCj4gKyAgQk9PVF9BU1NVTUlOR19OT19DT05GSUdVUkFUSU9OX0NIQU5HRVMs DQo+ICsgIEJPT1RfV0lUSF9GVUxMX0NPTkZJR1VSQVRJT05fUExVU19ESUFHTk9TVElDUywNCj4g KyAgQk9PVF9XSVRIX0ZVTExfQ09ORklHVVJBVElPTiwNCj4gKyAgQk9PVF9PTl9TNV9SRVNVTUUN Cj4gK307DQo+ICsNCj4gK0VGSV9QRUlfTk9USUZZX0RFU0NSSVBUT1IgbUNhcHN1bGVOb3RpZnlM aXN0WzFdID0gew0KPiArICB7DQo+ICsgICAgKEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfTk9USUZZ X0NBTExCQUNLIHwNCj4gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCksDQo+ ICsgICAgJmdQZWlDYXBzdWxlUHBpR3VpZCwNCj4gKyAgICBDYXBzdWxlUHBpTm90aWZ5Q2FsbGJh Y2sNCj4gKyAgfQ0KPiArfTsNCj4gKw0KPiArQk9PTEVBTg0KPiArR2V0U2xlZXBUeXBlQWZ0ZXJX YWtldXAgKA0KPiArICBJTiAgQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAqKlBlaVNl cnZpY2VzLA0KPiArICBPVVQgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAqU2xlZXBUeXBlDQo+ ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArQ2Fwc3VsZVBwaU5vdGlm eUNhbGxiYWNrICgNCj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgKipQZWlTZXJ2 aWNlcywNCj4gKyAgSU4gRUZJX1BFSV9OT1RJRllfREVTQ1JJUFRPUiAgKk5vdGlmeURlc2NyaXB0 b3IsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICpQcGkNCj4gKyAgKQ0KPiAr ew0KPiArICBFRklfU1RBVFVTICAgICAgU3RhdHVzOw0KPiArICBFRklfQk9PVF9NT0RFICAgQm9v dE1vZGU7DQo+ICsgIFBFSV9DQVBTVUxFX1BQSSAqQ2Fwc3VsZTsNCj4gKw0KPiArICBTdGF0dXMg PSAoKlBlaVNlcnZpY2VzKS0+R2V0Qm9vdE1vZGUoKGNvbnN0IEVGSV9QRUlfU0VSVklDRVMNCj4g KiopUGVpU2VydmljZXMsICZCb290TW9kZSk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1 cyk7DQo+ICsNCj4gKyAgaWYgKEJvb3RNb2RlID09IEJPT1RfT05fUzNfUkVTVU1FKSB7DQo+ICsg ICAgLy8NCj4gKyAgICAvLyBEZXRlcm1pbmUgaWYgd2UncmUgaW4gY2Fwc3VsZSB1cGRhdGUgbW9k ZQ0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkxvY2F0ZVBwaSAo KGNvbnN0IEVGSV9QRUlfU0VSVklDRVMNCj4gKiopUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJmdQZWlDYXBzdWxlUHBpR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJkNhcHN1bGUNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgaWYgKFN0YXR1cyA9PSBF RklfU1VDQ0VTUykgew0KPiArICAgICAgaWYgKENhcHN1bGUtPkNoZWNrQ2Fwc3VsZVVwZGF0ZSAo KEVGSV9QRUlfU0VSVklDRVMqKilQZWlTZXJ2aWNlcykNCj4gPT0gRUZJX1NVQ0NFU1MpIHsNCj4g KyAgICAgICAgQm9vdE1vZGUgPSBCT09UX09OX0ZMQVNIX1VQREFURTsNCj4gKyAgICAgICAgU3Rh dHVzID0gKCpQZWlTZXJ2aWNlcyktPlNldEJvb3RNb2RlKChjb25zdCBFRklfUEVJX1NFUlZJQ0VT DQo+ICoqKVBlaVNlcnZpY2VzLCBCb290TW9kZSk7DQo+ICsgICAgICAgIEFTU0VSVF9FRklfRVJS T1IgKFN0YXR1cyk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgcmV0 dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArI2lmZGVmIE5PQ1NfUzNfU1VQUE9SVA0KPiArRUZJ X1NUQVRVUw0KPiArVXBkYXRlQm9vdE1vZGUgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJ Q0VTICAgICAqKlBlaVNlcnZpY2VzDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAg IFN0YXR1czsNCj4gKyAgRUZJX0JPT1RfTU9ERSAgIEJvb3RNb2RlOw0KPiArICBVSU5UMTYgICAg ICAgICAgU2xlZXBUeXBlOw0KPiArICBDSEFSMTYgICAgICAgICAgKnN0ckJvb3RNb2RlOw0KPiAr DQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5HZXRCb290TW9kZShQZWlTZXJ2aWNlcywg JkJvb3RNb2RlKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgaWYgKEJv b3RNb2RlICA9PSBCT09UX0lOX1JFQ09WRVJZX01PREUpew0KPiArICAgIHJldHVybiBTdGF0dXM7 DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBMZXQncyBhc3N1bWUgdGhpbmdzIGFyZSBP SyBpZiBub3QgdG9sZCBvdGhlcndpc2UNCj4gKyAgLy8NCj4gKyAgQm9vdE1vZGUgPSBCT09UX1dJ VEhfRlVMTF9DT05GSUdVUkFUSU9OOw0KPiArDQo+ICsgIGlmIChHZXRTbGVlcFR5cGVBZnRlcldh a2V1cCAoUGVpU2VydmljZXMsICZTbGVlcFR5cGUpKSB7DQo+ICsgICAgc3dpdGNoIChTbGVlcFR5 cGUpIHsNCj4gKyAgICAgIGNhc2UgVl9QQ0hfQUNQSV9QTTFfQ05UX1MzOg0KPiArICAgICAgICBC b290TW9kZSA9IEJPT1RfT05fUzNfUkVTVU1FOw0KPiArICAgICAgICBTdGF0dXMgPSAoKlBlaVNl cnZpY2VzKS0+Tm90aWZ5UHBpIChQZWlTZXJ2aWNlcywNCj4gJm1DYXBzdWxlTm90aWZ5TGlzdFsw XSk7DQo+ICsgICAgICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgICAgICAgIGJy ZWFrOw0KPiArDQo+ICsgICAgICBjYXNlIFZfUENIX0FDUElfUE0xX0NOVF9TNDoNCj4gKyAgICAg ICAgQm9vdE1vZGUgPSBCT09UX09OX1M0X1JFU1VNRTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsN Cj4gKyAgICAgIGNhc2UgVl9QQ0hfQUNQSV9QTTFfQ05UX1M1Og0KPiArICAgICAgICBCb290TW9k ZSA9IEJPT1RfT05fUzVfUkVTVU1FOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICB9IC8vIHN3 aXRjaCAoU2xlZXBUeXBlKQ0KPiArICB9DQo+ICsNCj4gKyAgaWYgKElzRmFzdEJvb3RFbmFibGVk IChQZWlTZXJ2aWNlcykpIHsNCj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICJQcmlvcml0aXpp bmcgQm9vdCBtb2RlIHRvDQo+IEJPT1RfV0lUSF9NSU5JTUFMX0NPTkZJR1VSQVRJT05cbiIpKTsN Cj4gKyAgICBQcmlvcml0aXplQm9vdE1vZGUgKCZCb290TW9kZSwNCj4gQk9PVF9XSVRIX01JTklN QUxfQ09ORklHVVJBVElPTik7DQo+ICsgIH0NCj4gKw0KPiArICBzd2l0Y2ggKEJvb3RNb2RlKSB7 DQo+ICsgICAgY2FzZSBCT09UX1dJVEhfRlVMTF9DT05GSUdVUkFUSU9OOg0KPiArICAgICAgc3Ry Qm9vdE1vZGUgPSBMIkJPT1RfV0lUSF9GVUxMX0NPTkZJR1VSQVRJT04iOw0KPiArICAgICAgYnJl YWs7DQo+ICsgICAgY2FzZSBCT09UX1dJVEhfTUlOSU1BTF9DT05GSUdVUkFUSU9OOg0KPiArICAg ICAgc3RyQm9vdE1vZGUgPSBMIkJPT1RfV0lUSF9NSU5JTUFMX0NPTkZJR1VSQVRJT04iOw0KPiAr ICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBCT09UX0FTU1VNSU5HX05PX0NPTkZJR1VSQVRJT05f Q0hBTkdFUzoNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09UX0FTU1VNSU5HX05PX0NPTkZJ R1VSQVRJT05fQ0hBTkdFUyI7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIEJPT1RfV0lU SF9GVUxMX0NPTkZJR1VSQVRJT05fUExVU19ESUFHTk9TVElDUzoNCj4gKyAgICAgIHN0ckJvb3RN b2RlID0NCj4gTCJCT09UX1dJVEhfRlVMTF9DT05GSUdVUkFUSU9OX1BMVVNfRElBR05PU1RJQ1Mi Ow0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBCT09UX1dJVEhfREVGQVVMVF9TRVRUSU5H UzoNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09UX1dJVEhfREVGQVVMVF9TRVRUSU5HUyI7 DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIEJPT1RfT05fUzRfUkVTVU1FOg0KPiArICAg ICAgc3RyQm9vdE1vZGUgPSBMIkJPT1RfT05fUzRfUkVTVU1FIjsNCj4gKyAgICAgIGJyZWFrOw0K PiArICAgIGNhc2UgQk9PVF9PTl9TNV9SRVNVTUU6DQo+ICsgICAgICBzdHJCb290TW9kZSA9IEwi Qk9PVF9PTl9TNV9SRVNVTUUiOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBCT09UX09O X1MyX1JFU1VNRToNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09UX09OX1MyX1JFU1VNRSI7 DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIEJPT1RfT05fUzNfUkVTVU1FOg0KPiArICAg ICAgc3RyQm9vdE1vZGUgPSBMIkJPT1RfT05fUzNfUkVTVU1FIjsNCj4gKw0KPiArICAgICAgYnJl YWs7DQo+ICsgICAgY2FzZSBCT09UX09OX0ZMQVNIX1VQREFURToNCj4gKyAgICAgIHN0ckJvb3RN b2RlID0gTCJCT09UX09OX0ZMQVNIX1VQREFURSI7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBj YXNlIEJPT1RfSU5fUkVDT1ZFUllfTU9ERToNCj4gKyAgICAgIHN0ckJvb3RNb2RlID0gTCJCT09U X0lOX1JFQ09WRVJZX01PREUiOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgZGVmYXVsdDoNCj4g KyAgICAgIHN0ckJvb3RNb2RlID0gTCJVbmtub3duIGJvb3QgbW9kZSI7DQo+ICsgIH0gLy8gc3dp dGNoIChCb290TW9kZSkNCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiU2V0dGluZyBC b290TW9kZSB0byAlc1xuIiwgc3RyQm9vdE1vZGUpKTsNCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2 aWNlcyktPlNldEJvb3RNb2RlKFBlaVNlcnZpY2VzLCBCb290TW9kZSk7DQo+ICsgIEFTU0VSVF9F RklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKyNl bmRpZg0KPiArDQo+ICsvKioNCj4gKyAgR2V0IHNsZWVwIHR5cGUgYWZ0ZXIgd2FrZXVwDQo+ICsN Cj4gKyAgQHBhcmFtIFBlaVNlcnZpY2VzICAgICAgIFBvaW50ZXIgdG8gdGhlIFBFSSBTZXJ2aWNl IFRhYmxlLg0KPiArICBAcGFyYW0gU2xlZXBUeXBlICAgICAgICAgU2xlZXAgdHlwZSB0byBiZSBy ZXR1cm5lZC4NCj4gKw0KPiArICBAcmV0dmFsIFRSVUUgICAgICAgICAgICAgIEEgd2FrZSBldmVu dCBvY2N1cmVkIHdpdGhvdXQgcG93ZXIgZmFpbHVyZS4NCj4gKyAgQHJldHZhbCBGQUxTRSAgICAg ICAgICAgICBQb3dlciBmYWlsdXJlIG9jY3VyZWQgb3Igbm90IGEgd2FrZXVwLg0KPiArDQo+ICsq Ki8NCj4gK0JPT0xFQU4NCj4gK0dldFNsZWVwVHlwZUFmdGVyV2FrZXVwICgNCj4gKyAgSU4gIENP TlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgT1VUIFVJ TlQxNiAgICAgICAgICAgICAgICAgICAgKlNsZWVwVHlwZQ0KPiArICApDQo+ICt7DQo+ICsgIFVJ TlQxNiAgUG0xU3RzOw0KPiArICBVSU5UMTYgIFBtMUNudDsNCj4gKyAgVUlOVDE2ICBHZW5QbUNv bjE7DQo+ICsgIC8vDQo+ICsgIC8vIFZMViBCSU9TIFNwZWNpZmljYXRpb24gMC42LjIgLSBTZWN0 aW9uIDE4LjQsICJQb3dlciBGYWlsdXJlDQo+IENvbnNpZGVyYXRpb24iDQo+ICsgIC8vDQo+ICsg IC8vIFdoZW4gdGhlIFNVU19QV1JfRkxSIGJpdCBpcyBzZXQsIGl0IGluZGljYXRlcyB0aGUgU1VT IHdlbGwgcG93ZXIgaXMgbG9zdC4NCj4gKyAgLy8gVGhpcyBiaXQgaXMgaW4gdGhlIFNVUyBXZWxs IGFuZCBkZWZhdWx0cyB0byAx77+9YjEgYmFzZWQgb24gUlNNUlNUIw0KPiBhc3NlcnRpb24gKG5v dCBjbGVhcmVkIGJ5IGFueSB0eXBlIG9mIHJlc2V0KS4NCj4gKyAgLy8gU3lzdGVtIEJJT1Mgc2hv dWxkIGZvbGxvdyBjb2xkIGJvb3QgcGF0aCBpZiBTVVNfUFdSX0ZMUiAoUEJBU0UgKw0KPiAweDIw WzE0XSksDQo+ICsgIC8vIEdFTl9SU1RfU1RTIChQQkFTRSArIDB4MjBbOV0pIG9yIFBXUkJUTk9S X1NUUyAoQUJBU0UgKyAweDAwWzExXSkNCj4gaXMgc2V0IHRvIDHvv71iMQ0KPiArICAvLyByZWdh cmRsZXNzIG9mIHRoZSB2YWx1ZSBpbiB0aGUgU0xQX1RZUCAoQUJBU0UgKyAweDA0WzEyOjEwXSkg ZmllbGQuDQo+ICsgIC8vDQo+ICsgIEdlblBtQ29uMSA9IE1taW9SZWFkMTYgKFBNQ19CQVNFX0FE RFJFU1MgKw0KPiBSX1BDSF9QTUNfR0VOX1BNQ09OXzEpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFJlYWQgdGhlIEFDUEkgcmVnaXN0ZXJzDQo+ICsgIC8vDQo+ICsgIFBtMVN0cyAgPSBJb1JlYWQx NiAoQUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9BQ1BJX1BNMV9TVFMpOw0KPiArICBQbTFDbnQg ID0gSW9SZWFkMTYgKEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFfQ05UKTsNCj4g Kw0KPiArICBpZiAoKEdlblBtQ29uMSAmIChCX1BDSF9QTUNfR0VOX1BNQ09OX1NVU19QV1JfRkxS IHwNCj4gQl9QQ0hfUE1DX0dFTl9QTUNPTl9HRU5fUlNUX1NUUykpIHx8DQo+ICsgICAgIChQbTFT dHMgJiBCX1BDSF9BQ1BJX1BNMV9TVFNfUFJCVE5PUikpIHsNCj4gKwkgIC8vDQo+ICsgICAgLy8g SWYgcG93ZXIgZmFpbHVyZSBpbmRpY2F0b3IsIHRoZW4gZG9uJ3QgYXR0ZW1wdCBzMyByZXN1bWUu DQo+ICsgICAgLy8gQ2xlYXIgUE0xX0NOVCBvZiBTMyBhbmQgc2V0IGl0IHRvIFM1IGFzIHdlIGp1 c3QgaGFkIGEgcG93ZXIgZmFpbHVyZSwgYW5kDQo+IG1lbW9yeSBoYXMNCj4gKyAgICAvLyBsb3N0 IGFscmVhZHkuICBUaGlzIGlzIHRvIG1ha2Ugc3VyZSBubyBvbmUgd2lsbCB1c2UgUE0xX0NOVCB0 byBjaGVjayBmb3INCj4gUzMgYWZ0ZXINCj4gKyAgICAvLyBwb3dlciBmYWlsdXJlLg0KPiArCSAg Ly8NCj4gKyAgICBpZiAoKFBtMUNudCAmIEJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQKSA9PQ0K PiBWX1BDSF9BQ1BJX1BNMV9DTlRfUzMpIHsNCj4gKyAgICAgIFBtMUNudCA9ICgoUG0xQ250ICYg fkJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQKSB8DQo+IFZfUENIX0FDUElfUE0xX0NOVF9TNSk7 DQo+ICsgICAgICBJb1dyaXRlMTYgKEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUNQSV9QTTFf Q05ULCBQbTFDbnQpOw0KPiArICAgIH0NCj4gKwkgIC8vDQo+ICsgICAgLy8gQ2xlYXIgV2FrZSBT dGF0dXMgKFdBS19TVFMpDQo+ICsgICAgLy8NCj4gKyAgfQ0KPiArICAvLw0KPiArICAvLyBHZXQg c2xlZXAgdHlwZSBpZiBhIHdha2UgZXZlbnQgb2NjdXJyZWQgYW5kIHRoZXJlIGlzIG5vIHBvd2Vy IGZhaWx1cmUNCj4gKyAgLy8NCj4gKyAgaWYgKChQbTFDbnQgJiBCX1BDSF9BQ1BJX1BNMV9DTlRf U0xQX1RZUCkgPT0NCj4gVl9QQ0hfQUNQSV9QTTFfQ05UX1MzKSB7DQo+ICsgICAgKlNsZWVwVHlw ZSA9IFBtMUNudCAmIEJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQOw0KPiArICAgIHJldHVybiBU UlVFOw0KPiArICB9IGVsc2UgaWYgKChQbTFDbnQgJiBCX1BDSF9BQ1BJX1BNMV9DTlRfU0xQX1RZ UCkgPT0NCj4gVl9QQ0hfQUNQSV9QTTFfQ05UX1M0KSB7DQo+ICsgICAgKlNsZWVwVHlwZSA9IFBt MUNudCAmIEJfUENIX0FDUElfUE0xX0NOVF9TTFBfVFlQOw0KPiArICAgIHJldHVybiBUUlVFOw0K PiArICB9DQo+ICsgIHJldHVybiBGQUxTRTsNCj4gK30NCj4gKw0KPiArQk9PTEVBTg0KPiArRUZJ QVBJDQo+ICtJc0Zhc3RCb290RW5hYmxlZCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklD RVMgICAgICAgICAgICoqUGVpU2VydmljZXMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1BFSV9SRUFEX09OTFlfVkFS SUFCTEUyX1BQSSAqUGVpUmVhZE9ubHlWYXJQcGk7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgVmFyU2l6ZTsNCj4gKyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICAg ICBTeXN0ZW1Db25maWd1cmF0aW9uOw0KPiArICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAg ICAgIEZhc3RCb290RW5hYmxlZFN0YXR1czsNCj4gKw0KPiArICBGYXN0Qm9vdEVuYWJsZWRTdGF0 dXMgPSBGQUxTRTsNCj4gKyAgU3RhdHVzID0gKCoqUGVpU2VydmljZXMpLkxvY2F0ZVBwaSAoDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ0VmaVBlaVJlYWRPbmx5VmFyaWFibGUyUHBpR3VpZCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKiop JlBlaVJlYWRPbmx5VmFyUHBpDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIGlmIChTdGF0dXMgPT0gRUZJX1NVQ0NFU1MpIHsNCj4gKyAgICBWYXJTaXplID0gc2l6ZW9m IChTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVzID0gUGVpUmVhZE9ubHlWYXJQ cGktPkdldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ ZWlSZWFkT25seVZhclBwaSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQ TEFURk9STV9TRVRVUF9WQVJJQUJMRV9OQU1FLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICZnRWZpU2V0dXBWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU3lzdGVt Q29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgICAgaWYgKFN0YXR1cyA9PSBFRklfU1VDQ0VTUykgew0KPiArICAgICAgaWYgKFN5c3RlbUNv bmZpZ3VyYXRpb24uRmFzdEJvb3QgIT0gMCkgew0KPiArICAgICAgICBGYXN0Qm9vdEVuYWJsZWRT dGF0dXMgPSBUUlVFOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJl dHVybiBGYXN0Qm9vdEVuYWJsZWRTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBHaXZl biB0aGUgY3VycmVudCBib290IG1vZGUsIGFuZCBhIHByb3Bvc2VkIG5ldyBib290IG1vZGUsIGRl dGVybWluZQ0KPiArICB3aGljaCBoYXMgcHJpb3JpdHkuIElmIHRoZSBuZXcgYm9vdCBtb2RlIGhh cyBoaWdoZXIgcHJpb3JpdHksIHRoZW4NCj4gKyAgbWFrZSBpdCB0aGUgY3VycmVudCBib290IG1v ZGUuDQo+ICsNCj4gKyAgQHBhcmFtIEN1cnJlbnRCb290TW9kZSAgICBwb2ludGVyIHRvIGN1cnJl bnQgcGxhbm5lZCBib290IG1vZGUNCj4gKyAgQHBhcmFtIE5ld0Jvb3RNb2RlICAgICAgICBwcm9w b3NlZCBib290IG1vZGUNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICBpZiBl aXRoZXIgYm9vdCBtb2RlIGlzIG5vdCByZWNvZ25pemVkDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NF U1MgICAgICAgIGlmIGJvdGggYm9vdCBtb2RlIHZhbHVlcyB3ZXJlIHJlY29nbml6ZWQgYW5kDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdlcmUgcHJvY2Vzc2VkLg0KPiArKiovDQo+ ICtFRklfU1RBVFVTDQo+ICtQcmlvcml0aXplQm9vdE1vZGUgKA0KPiArICBJTiBPVVQgRUZJX0JP T1RfTU9ERSAgICAqQ3VycmVudEJvb3RNb2RlLA0KPiArICBJTiBFRklfQk9PVF9NT0RFICAgICAg ICBOZXdCb290TW9kZQ0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQzMiBDdXJyZW50SW5kZXg7DQo+ ICsgIFVJTlQzMiBOZXdJbmRleDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBGaW5kIHRoZSBwb3Np dGlvbiBvZiB0aGUgY3VycmVudCBib290IG1vZGUgaW4gb3VyIHByaW9yaXR5IGFycmF5DQo+ICsg IC8vDQo+ICsgIGZvciAoIEN1cnJlbnRJbmRleCA9IDA7DQo+ICsgICAgICAgIEN1cnJlbnRJbmRl eCA8IEFSUkFZX1NJWkUgKG1Cb290TW9kZVByaW9yaXR5KTsNCj4gKyAgICAgICAgQ3VycmVudElu ZGV4KyspIHsNCj4gKyAgICBpZiAobUJvb3RNb2RlUHJpb3JpdHlbQ3VycmVudEluZGV4XSA9PSAq Q3VycmVudEJvb3RNb2RlKSB7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsgIH0NCj4g KyAgaWYgKEN1cnJlbnRJbmRleCA+PSBBUlJBWV9TSVpFIChtQm9vdE1vZGVQcmlvcml0eSkpIHsN Cj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIEZpbmQgdGhlIHBvc2l0aW9uIG9mIHRoZSBuZXcgYm9vdCBtb2RlIGluIG91ciBwcmlvcml0 eSBhcnJheQ0KPiArICAvLw0KPiArICBmb3IgKCBOZXdJbmRleCA9IDA7DQo+ICsgICAgICAgIE5l d0luZGV4IDwgQVJSQVlfU0laRSAobUJvb3RNb2RlUHJpb3JpdHkpOw0KPiArICAgICAgICBOZXdJ bmRleCsrKSB7DQo+ICsgICAgaWYgKG1Cb290TW9kZVByaW9yaXR5W05ld0luZGV4XSA9PSBOZXdC b290TW9kZSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIElmIHRoaXMgbmV3IGJvb3QgbW9k ZSBvY2N1cnMgYmVmb3JlIHRoZSBjdXJyZW50IGJvb3QgbW9kZSBpbiB0aGUNCj4gKyAgICAgIC8v IHByaW9yaXR5IGFycmF5LCB0aGVuIHRha2UgaXQuDQo+ICsgICAgICAvLw0KPiArICAgICAgaWYg KE5ld0luZGV4IDwgQ3VycmVudEluZGV4KSB7DQo+ICsgICAgICAgICpDdXJyZW50Qm9vdE1vZGUg PSBOZXdCb290TW9kZTsNCj4gKyAgICAgIH0NCj4gKyAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsN Cj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICt9DQo+IGRp ZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBlaS9D b21tb25IZWFkZXIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtUGVpL0NvbW1vbkhlYWRlci5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjI4Mzk5M2I0NGMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBlaS9Db21tb25IZWFkZXIuaA0KPiBAQCAt MCwwICsxLDYwIEBADQo+ICsvKisrDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiAN Cj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArDQo+IA0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBfX0NPTU1PTl9IRUFERVJfSF8N Cj4gKyNkZWZpbmUgX19DT01NT05fSEVBREVSX0hfDQo+ICsNCj4gKw0KPiArDQo+ICsjaW5jbHVk ZSA8RnJhbWV3b3JrUGVpLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL1Nt QnVzLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9QY2kyMi5oPg0KPiArI2luY2x1 ZGUgPFBwaS9BdGFDb250cm9sbGVyLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9DYXBzdWxlLmg+DQo+ ICsjaW5jbHVkZSA8UHBpL0NhY2hlLmg+DQo+ICsjaW5jbHVkZSA8UHBpL01hc3RlckJvb3RNb2Rl Lmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9NZW1vcnlUeXBlSW5mb3JtYXRpb24uaD4NCj4gKyNpbmNs dWRlIDxHdWlkL1JlY292ZXJ5RGV2aWNlLmg+DQo+ICsjaW5jbHVkZSA8UHBpL1JlYWRPbmx5VmFy aWFibGUyLmg+DQo+ICsjaW5jbHVkZSA8UHBpL0Z2TG9hZEZpbGUuaD4NCj4gKyNpbmNsdWRlIDxQ cGkvRGV2aWNlUmVjb3ZlcnlNb2R1bGUuaD4NCj4gKyNpbmNsdWRlIDxQcGkvQ2Fwc3VsZS5oPg0K PiArI2luY2x1ZGUgPFBwaS9SZXNldC5oPg0KPiArI2luY2x1ZGUgPFBwaS9TdGFsbC5oPg0KPiAr I2luY2x1ZGUgPFBwaS9Cb290SW5SZWNvdmVyeU1vZGUuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0Zp cm13YXJlRmlsZVN5c3RlbTIuaD4NCj4gKyNpbmNsdWRlIDxQcGkvTWVtb3J5RGlzY292ZXJlZC5o Pg0KPiArI2luY2x1ZGUgPFBwaS9SZWNvdmVyeU1vZHVsZS5oPg0KPiArI2luY2x1ZGUgPFBwaS9T bWJ1czIuaD4NCj4gKyNpbmNsdWRlIDxQcGkvRmlybXdhcmVWb2x1bWVJbmZvLmg+DQo+ICsjaW5j bHVkZSA8UHBpL0VuZE9mUGVpUGhhc2UuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGli Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QZWltRW50cnlQb2ludC5oPg0KPiArI2luY2x1ZGUg PExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGVpU2VydmljZXNMaWIu aD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L0hvYkxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNpQ2Y4TGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNpTGliLmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9SZXBvcnRTdGF0dXNDb2RlTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9QY2RMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1NtYnVzTGliLmg+DQo+ ICsjaW5jbHVkZSA8TGlicmFyeS9UaW1lckxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUHJp bnRMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1Jlc2V0U3lzdGVtTGliLmg+DQo+ICsjaW5j bHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFy eS9QZXJmb3JtYW5jZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQ2FjaGVNYWludGVuYW5j ZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvTXRyckxpYi5oPg0KPiArDQo+ICsNCj4gKyNl bmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1QZWkvTWVtb3J5Q2FsbGJhY2suYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1BsYXRmb3JtUGVpL01lbW9yeUNhbGxiYWNrLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uN2RjYzJjM2NlOQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL01lbW9yeUNh bGxiYWNrLmMNCj4gQEAgLTAsMCArMSwxNTQgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENv cHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsgIFRoaXMgZmlsZSBp bmNsdWRlcyBhIG1lbW9yeSBjYWxsIGJhY2sgZnVuY3Rpb24gbm90aWZpZWQgd2hlbiBNUkMgaXMg ZG9uZSwNCj4gKyAgZm9sbG93aW5nIGFjdGlvbiBpcyBwZXJmb3JtZWQgaW4gdGhpcyBmaWxlLA0K PiArICAgIDEuIElDSCBpbml0aWFsaXphdGlvbiBhZnRlciBNUkMuDQo+ICsgICAgMi4gU0lPIGlu aXRpYWxpemF0aW9uLg0KPiArICAgIDMuIEluc3RhbGwgUmVzZXRTeXN0ZW0gYW5kIEZpbnZGdiBQ UEkuDQo+ICsgICAgNC4gU2V0IE1UUlIgZm9yIFBFSQ0KPiArICAgIDUuIENyZWF0ZSBGViBIT0Ig YW5kIEZsYXNoIEhPQg0KPiArDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJD b21tb25IZWFkZXIuaCINCj4gKyNpbmNsdWRlICJQbGF0Zm9ybS5oIg0KPiArI2luY2x1ZGUgPFBw aS9DYWNoZS5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUNyeXB0TGliLmg+DQo+ICsjaW5j bHVkZSA8TGlicmFyeS9QY2lMaWIuaD4NCj4gKyNpbmNsdWRlICJWbHZBY2Nlc3MuaCINCj4gKw0K PiArDQo+ICtFRklfUEVJX1BQSV9ERVNDUklQVE9SICBtUHBpTGlzdFJlY292ZXJ5Qm9vdE1vZGVb XSA9IHsNCj4gK3sgKEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJIHwNCj4gRUZJX1BFSV9QUElf REVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCksDQo+ICsgICZnRWZpUGVpQm9vdEluUmVjb3ZlcnlN b2RlUHBpR3VpZCwNCj4gKyAgTlVMTA0KPiArfQ0KPiArfTsNCj4gKw0KPiArI2lmIDANCj4gK1NU QVRJQw0KPiArRUZJX1NUQVRVUw0KPiArR2V0TWVtb3J5U2l6ZSAoDQo+ICsgIElOICBDT05TVCBF RklfUEVJX1NFUlZJQ0VTICAgICoqUGVpU2VydmljZXMsDQo+ICsgIE9VVCBVSU5UNjQgICAgICAg ICAgICAgICpMb3dNZW1vcnlMZW5ndGgsDQo+ICsgIE9VVCBVSU5UNjQgICAgICAgICAgICAgICpI aWdoTWVtb3J5TGVuZ3RoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAg ICAgU3RhdHVzOw0KPiArICBFRklfUEVJX0hPQl9QT0lOVEVSUyAgICBIb2I7DQo+ICsNCj4gKyAg KkhpZ2hNZW1vcnlMZW5ndGggPSAwOw0KPiArICAqTG93TWVtb3J5TGVuZ3RoID0gMHgxMDAwMDA7 DQo+ICsgIC8vDQo+ICsgIC8vIEdldCB0aGUgSE9CIGxpc3QgZm9yIHByb2Nlc3NpbmcNCj4gKyAg Ly8NCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkdldEhvYkxpc3QgKFBlaVNlcnZpY2Vz LCAodm9pZCAqKikmSG9iLlJhdyk7DQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiAr ICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBDb2xsZWN0 IG1lbW9yeSByYW5nZXMNCj4gKyAgLy8NCj4gKyAgd2hpbGUgKCFFTkRfT0ZfSE9CX0xJU1QgKEhv YikpIHsNCj4gKyAgICBpZiAoSG9iLkhlYWRlci0+SG9iVHlwZSA9PSBFRklfSE9CX1RZUEVfUkVT T1VSQ0VfREVTQ1JJUFRPUikgew0KPiArICAgICAgaWYgKEhvYi5SZXNvdXJjZURlc2NyaXB0b3It PlJlc291cmNlVHlwZSA9PQ0KPiBFRklfUkVTT1VSQ0VfU1lTVEVNX01FTU9SWSkgew0KPiArICAg ICAgICAvLw0KPiArICAgICAgICAvLyBOZWVkIG1lbW9yeSBhYm92ZSAxTUIgdG8gYmUgY29sbGVj dGVkIGhlcmUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgaWYgKEhvYi5SZXNvdXJjZURlc2Ny aXB0b3ItPlBoeXNpY2FsU3RhcnQgPj0gMHgxMDAwMDAgJiYNCj4gKyAgICAgICAgICAgIEhvYi5S ZXNvdXJjZURlc2NyaXB0b3ItPlBoeXNpY2FsU3RhcnQgPCAoRUZJX1BIWVNJQ0FMX0FERFJFU1Mp DQo+IDB4MTAwMDAwMDAwKSB7DQo+ICsgICAgICAgICAgKkxvd01lbW9yeUxlbmd0aCArPSAoVUlO VDY0KSAoSG9iLlJlc291cmNlRGVzY3JpcHRvci0NCj4gPlJlc291cmNlTGVuZ3RoKTsNCj4gKyAg ICAgICAgfSBlbHNlIGlmIChIb2IuUmVzb3VyY2VEZXNjcmlwdG9yLT5QaHlzaWNhbFN0YXJ0ID49 DQo+IChFRklfUEhZU0lDQUxfQUREUkVTUykgMHgxMDAwMDAwMDApIHsNCj4gKyAgICAgICAgICAq SGlnaE1lbW9yeUxlbmd0aCArPSAoVUlOVDY0KSAoSG9iLlJlc291cmNlRGVzY3JpcHRvci0NCj4g PlJlc291cmNlTGVuZ3RoKTsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgIH0NCj4g KyAgICBIb2IuUmF3ID0gR0VUX05FWFRfSE9CIChIb2IpOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0 dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsjZW5kaWYNCj4gKy8qKg0KPiArICBUaGlz IGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIHdoZW4gTVJDIGlzIGRvbmUuDQo+ICsNCj4gKyAgQHBh cmFtICBQZWlTZXJ2aWNlcyBHZW5lcmFsIHB1cnBvc2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2 ZXJ5IFBFSU0uDQo+ICsgIEBwYXJhbSAgTm90aWZ5RGVzY3JpcHRvciBJbmZvcm1hdGlvbiBhYm91 dCB0aGUgbm90aWZ5IGV2ZW50Li4NCj4gKyAgQHBhcmFtICBQcGkgVGhlIG5vdGlmeSBjb250ZXh0 Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgSWYgdGhlIGZ1bmN0aW9uIGNvbXBsZXRl ZCBzdWNjZXNzZnVsbHkuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTWVt b3J5RGlzY292ZXJlZFBwaU5vdGlmeUNhbGxiYWNrICgNCj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNF UyAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1BFSV9OT1RJRllfREVTQ1JJ UFRPUiAgKk5vdGlmeURlc2NyaXB0b3IsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAg ICAgICpQcGkNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIEVGSV9CT09UX01PREUgICAgQm9vdE1v ZGU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgUGFnZXM7DQo+ICsgIFZPSUQqICAgICAgICAgICAg TWVtb3J5Ow0KPiArICBVSU5UTiAgICAgICAgICAgIFNpemU7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQWxsb2NhdGUgTE0gbWVtb3J5IGFuZCBjb25maWd1cmUgUERNIGlmIGVuYWJsZWQgYnkgdXNl ci4NCj4gKyAgLy8gQ29uZmlndXJlTE0oUGVpU2VydmljZXMpOw0KPiArICAvLw0KPiArICAoKlBl aVNlcnZpY2VzKS0+R2V0Qm9vdE1vZGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAoY29uc3Qg RUZJX1BFSV9TRVJWSUNFUyAqKilQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAg JkJvb3RNb2RlDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgaWYgKEJvb3RN b2RlICE9IEJPT1RfT05fUzNfUkVTVU1FKSB7DQo+ICsgICAgU2l6ZSA9IChQY2RHZXQzMiAoUGNk Rmxhc2hGdlJlY292ZXJ5MkJhc2UpIC0gUGNkR2V0MzINCj4gKFBjZEZsYXNoRnZNYWluQmFzZSkp ICsgRml4ZWRQY2RHZXQzMihQY2RGbGFzaEZ2UmVjb3ZlcnkyU2l6ZSk7DQo+ICsgICAgUGFnZXM9 ICBTaXplLzB4MTAwMDsNCj4gKw0KPiArICAgIE1lbW9yeSA9IEFsbG9jYXRlUGFnZXMgKCBQYWdl cyApOw0KPiArICAgIENvcHlNZW0oTWVtb3J5ICwgKFZPSUQgKikgRml4ZWRQY2RHZXQzMihQY2RG bGFzaEZ2TWFpbkJhc2UpICwNCj4gU2l6ZSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFdl IGRvbid0IHZlcmlmeSBqdXN0IGxvYWQNCj4gKyAgICAvLw0KPiArICAgIFBlaVNlcnZpY2VzSW5z dGFsbEZ2SW5mb1BwaSAoDQo+ICsgICAgICBOVUxMLA0KPiArICAgICAgKFZPSUQgKikgKChVSU5U TikgTWVtb3J5ICsgKFBjZEdldDMyIChQY2RGbGFzaEZ2UmVjb3ZlcnkyQmFzZSkgLQ0KPiBQY2RH ZXQzMiAoUGNkRmxhc2hGdk1haW5CYXNlKSkpLA0KPiArICAgICAgUGNkR2V0MzIgKFBjZEZsYXNo RnZSZWNvdmVyeTJTaXplKSwNCj4gKyAgICAgIE5VTEwsDQo+ICsgICAgICBOVUxMDQo+ICsgICAg ICApOw0KPiArDQo+ICsgICAgUGVpU2VydmljZXNJbnN0YWxsRnZJbmZvUHBpICgNCj4gKyAgICAg IE5VTEwsDQo+ICsgICAgICAoVk9JRCAqKSAgTWVtb3J5LA0KPiArICAgICAgUGNkR2V0MzIgKFBj ZEZsYXNoRnZNYWluU2l6ZSksDQo+ICsgICAgICBOVUxMLA0KPiArICAgICAgTlVMTA0KPiArICAg ICAgKTsNCj4gKw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEJvb3RNb2RlID09IEJPT1RfT05fUzNf UkVTVU1FKSB7DQo+ICsgICAgUGVpU2VydmljZXNJbnN0YWxsRnZJbmZvUHBpICgNCj4gKyAgICBO VUxMLA0KPiArICAgIChWT0lEICopIChVSU5UTikgKFBjZEdldDMyIChQY2RGbGFzaEZ2UmVjb3Zl cnkyQmFzZSkpLA0KPiArICAgIFBjZEdldDMyIChQY2RGbGFzaEZ2UmVjb3ZlcnkyU2l6ZSksDQo+ ICsgICAgTlVMTCwNCj4gKyAgICBOVUxMDQo+ICsgICAgKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJl dHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL1BsYXRmb3JtLmMNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybS5jDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmViYTFkZmZmMzANCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBlaS9Q bGF0Zm9ybS5jDQo+IEBAIC0wLDAgKzEsMTE5OCBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gKyAg Q29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1l Og0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ ICsjaW5jbHVkZSAiUGxhdGZvcm0uaCINCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1BjaUNmOExpYi5o Pg0KPiArI2luY2x1ZGUgIlBsYXRmb3JtQmFzZUFkZHJlc3Nlcy5oIg0KPiArI2luY2x1ZGUgIlBj aEFjY2Vzcy5oIg0KPiArI2luY2x1ZGUgPEd1aWQvUGxhdGZvcm1JbmZvLmg+DQo+ICsjaW5jbHVk ZSAiUGNoQ29tbW9uRGVmaW5pdGlvbnMuaCINCj4gKyNpbmNsdWRlIDxQcGkvTWZnTWVtb3J5VGVz dC5oPg0KPiArI2luY2x1ZGUgPEd1aWQvU2V0dXBWYXJpYWJsZS5oPg0KPiArI2luY2x1ZGUgPEd1 aWQvVmx2MlZhcmlhYmxlLmg+DQo+ICsjaW5jbHVkZSA8UHBpL2ZUUE1Qb2xpY3kuaD4NCj4gKw0K PiArLy8NCj4gKy8vIFN0YXJ0OjpBbHBpbmUgVmFsbGV5IHBsYXRmb3JtDQo+ICsvLw0KPiArZW51 bSB7DQo+ICsgIFNNQlVTX1JFQURfQllURSwNCj4gKyAgU01CVVNfV1JJVEVfQllURSwNCj4gKyAg U01CVVNfUkVBRF9CTE9DSywNCj4gKyAgU01CVVNfV1JJVEVfQkxPQ0sNCj4gK307DQo+ICsNCj4g KyNkZWZpbmUgRUNfQkFTRSAgICAgICAgICAgMHhFMDAwMDAwMA0KPiArDQo+ICsvLw0KPiArLy8g REVWSUNFIDAgKE1lbXJveSBDb250cm9sbGVyIEh1YikNCj4gKy8vDQo+ICsjZGVmaW5lIE1DX0JV UyAgICAgICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBNQ19ERVYgICAgICAgICAgICAgIDB4MDAN Cj4gKyNkZWZpbmUgTUNfRlVOICAgICAgICAgICAgICAweDAwDQo+ICsjZGVmaW5lIE1DX0RFVl9G VU4gICAgICAgICAgKE1DX0RFViA8PCAzKQ0KPiArI2RlZmluZSBNQ19CVVNfREVWX0ZVTiAgICAg ICgoTUNfQlVTIDw8IDgpICsgTUNfREVWX0ZVTikNCj4gKw0KPiArLy8NCj4gKy8vIFN5c0N0bCBT TUJ1cyBhZGRyZXNzIGFuZCBibG9jayBzaXplDQo+ICsvLw0KPiArI2RlZmluZSBBVl9TQ19TTUJV U19BRERSRVNTICAgICAgICAJMHg2MA0KPiArI2RlZmluZSBBVl9TQ19CWVRFX0xFTiAgICAgICAg ICAgIAkxDQo+ICsjZGVmaW5lIEFWX1NDX0JMT0NLX0xFTiAgICAgICAgICAgIAk0DQo+ICsjZGVm aW5lIEFWX1NDX1NNQlVTX1dSQ01EICAgICAgICAgICAxDQo+ICsjZGVmaW5lIEFWX1NDX1NNQlVT X1JEQ01EICAgICAgICAgICAwDQo+ICsNCj4gKy8vDQo+ICsvLyBTeXNDdGwgcmVnaXN0ZXJzIG9m ZnNldA0KPiArLy8NCj4gKyNkZWZpbmUgQVZfU0NfUkVHX1BMQVRGT1JNX0lEICAgICAgICAgICAg ICAgMjQgIC8vIDB4MTgNCj4gKyNkZWZpbmUgQVZfU0NfUkVHX0JPQVJEX0lEICAgICAgICAgICAg ICAgICAgMjggIC8vIDB4MUMNCj4gKyNkZWZpbmUgQVZfU0NfUkVHX0ZBQl9JRCAgICAgICAgICAg ICAgICAgICAgMzIgIC8vIDB4MjANCj4gKyNkZWZpbmUgQVZfU0NfUkVHX0VDT19JRCAgICAgICAg ICAgICAgICAgICAgNjggIC8vIDB4NDQNCj4gKyNkZWZpbmUgQVZfU0NfUkVHX0REUl9EQVVHSFRF Ul9DQVJEX0lEICAgICAgMTQ0IC8vIDB4OTANCj4gKyNkZWZpbmUgQVZfU0NfUkVHX1NPRElNTV9D T05GSUcgICAgICAgICAgICAgMzYNCj4gKw0KPiArLy8NCj4gKy8vIElEIHZhbHVlcw0KPiArLy8N Cj4gKyNkZWZpbmUgQVZfU0NfUExBVEZPUk1fSURfVEFCTEVUICAgMA0KPiArI2RlZmluZSBBVl9T Q19QTEFURk9STV9JRF9ORVRCT09LICAyDQo+ICsjZGVmaW5lIEFWX1NDX1BMQVRGT1JNX0lEX0lO VEVSUE9TRVIgMyAvLyBDb25maWd1cmF0aW9uIFRCRA0KPiArI2RlZmluZSBBVl9TQ19CT0FSRF9J RF9BVl9TVlAgICAgICAxNDkyDQo+ICsNCj4gKyNkZWZpbmUgQlVTX1RSSUVTICAgICAgICAgICAg ICAgICAzICAgICAgIC8vIEhvdyBtYW55IHRpbWVzIHRvIHJldHJ5IG9uIEJ1cyBFcnJvcnMNCj4g Kw0KPiArI2RlZmluZSBHVFRfU0laRV8xTUIgICAgICAgIDENCj4gKyNkZWZpbmUgR1RUX1NJWkVf Mk1CICAgICAgICAyDQo+ICsNCj4gKyNkZWZpbmUgUGNpQ2ZnMTZSZWFkKCBQY2lFeHByZXNzQmFz ZSwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciApIFwNCj4gKyAgTW1pb1JlYWQxNihQ Y2lFeHByZXNzQmFzZSArIFwNCj4gKyAgICAoVUlOVE4pKEJ1cyA8PCAyMCkgKyBcDQo+ICsgICAg KFVJTlROKShEZXZpY2UgPDwgMTUpICsgXA0KPiArICAgIChVSU5UTikoRnVuY3Rpb24gPDwgMTIp ICsgXA0KPiArICAgIChVSU5UTikoUmVnaXN0ZXIpKQ0KPiArI2RlZmluZSBQY2lDZmcxNldyaXRl KCBQY2lFeHByZXNzQmFzZSwgQnVzLCBEZXZpY2UsIEZ1bmN0aW9uLCBSZWdpc3RlciwNCj4gRGF0 YSApIFwNCj4gKyAgICBNbWlvV3JpdGUxNihQY2lFeHByZXNzQmFzZSArIFwNCj4gKyAgICAgIChV SU5UTikoQnVzIDw8IDIwKSArIFwNCj4gKyAgICAgIChVSU5UTikoRGV2aWNlIDw8IDE1KSArIFwN Cj4gKyAgICAgIChVSU5UTikoRnVuY3Rpb24gPDwgMTIpICsgXA0KPiArICAgICAgKFVJTlROKShS ZWdpc3RlciksIFwNCj4gKyAgICAgIChVSU5UMTYpRGF0YSkNCj4gKw0KPiArDQo+ICsvLw0KPiAr Ly9NZW1vcnkgVGVzdCBNYW51ZmFjdHVyaW5nIG1vZGUNCj4gKy8vDQo+ICtVSU5UMzIgRGF0YVBh dHRlcm5Gb3JNZW1vcnlUZXN0W10gPSB7DQo+ICsgICAgMHg1NTU1NTU1NSwgMHhBQUFBQUFBQSwg MHg1NTU1NTUxMCwgMHg1NTU1NTVFRiwgMHg1NTU1NTUxMCwNCj4gMHg1NTU1NTVFRiwgMHg1NTU1 NTUxMCwgMHg1NTU1NTVFRiwNCj4gKyAgICAweDU1NTU1NTU1LCAweEFBQUFBQUFBLCAweDU1NTUx MDU1LCAweDU1NTVFRjU1LCAweDU1NTUxMDU1LA0KPiAweDU1NTVFRjU1LCAweDU1NTUxMDU1LCAw eDU1NTVFRjU1LA0KPiArICAgIDB4NTU1NTU1NTUsIDB4QUFBQUFBQUEsIDB4NTUxMDU1NTUsIDB4 NTVFRjU1NTUsIDB4NTUxMDU1NTUsDQo+IDB4NTVFRjU1NTUsIDB4NTUxMDU1NTUsIDB4NTVFRjU1 NTUsDQo+ICsgICAgMHg1NTU1NTU1NSwgMHhBQUFBQUFBQSwgMHgxMDU1NTU1NSwgMHhFRjU1NTU1 NSwgMHgxMDU1NTU1NSwNCj4gMHhFRjU1NTU1NSwgMHgxMDU1NTU1NSwgMHhFRjU1NTU1NQ0KPiAr fTsNCj4gKyNkZWZpbmUgREFUQV9QQVRURVJOX0FSUkFZX1NJWkUgKHNpemVvZihEYXRhUGF0dGVy bkZvck1lbW9yeVRlc3QpDQo+IC8gc2l6ZW9mKFVJTlQzMikpDQo+ICsNCj4gKy8vDQo+ICsvL01l bW9yeSBUZXN0IE1hbnVmYWN0dXJpbmcgbW9kZQ0KPiArLy8NCj4gKy8vDQo+ICsvLyBUaGUgZ2xv YmFsIGluZGljYXRvciwgdGhlIEZ2RmlsZUxvYWRlciBjYWxsYmFjayB3aWxsIG1vZGlmeSBpdCB0 byBUUlVFIGFmdGVyDQo+IGxvYWRpbmcgUEVJTSBpbnRvIG1lbW9yeQ0KPiArLy8NCj4gK0JPT0xF QU4gSW1hZ2VJbk1lbW9yeSA9IEZBTFNFOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK1N0YWxsICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICoqUGVpU2Vydmlj ZXMsDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU1RBTExfUFBJICAgICAgKlRoaXMsDQo+ICsgIElO IFVJTlROICAgICAgICAgICAgICBNaWNyb3NlY29uZHMNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtNZmdNZW1vcnlUZXN0ICgNCj4gKyAgSU4gIENPTlNUIEVGSV9Q RUlfU0VSVklDRVMgICAgICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gIFBF SV9NRkdfTUVNT1JZX1RFU1RfUFBJICAgICAgICAgICAqVGhpcywNCj4gKyAgSU4gIFVJTlQzMiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgQmVnaW5BZGRyZXNzLA0KPiArICBJTiAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlMZW5ndGgNCj4gKyAgKTsNCj4gKw0K PiArc3RhdGljIEVGSV9QRUlfU1RBTExfUFBJICBtU3RhbGxQcGkgPSB7DQo+ICsgIFBFSV9TVEFM TF9SRVNPTFVUSU9OLA0KPiArICBTdGFsbA0KPiArfTsNCj4gKw0KPiArc3RhdGljIFBFSV9NRkdf TUVNT1JZX1RFU1RfUFBJIG1QZWlNZmdNZW1vcnlUZXN0UHBpID0gew0KPiArICBNZmdNZW1vcnlU ZXN0DQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgRUZJX1BFSV9QUElfREVTQ1JJUFRPUiBtSW5zdGFs bFN0YWxsUHBpW10gPSB7DQo+ICsgIHsNCj4gKyAgRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9QUEks DQo+ICsgICZnRWZpUGVpU3RhbGxQcGlHdWlkLA0KPiArICAmbVN0YWxsUHBpDQo+ICsgIH0sDQo+ ICsgIHsNCj4gKyAgICBFRklfUEVJX1BQSV9ERVNDUklQVE9SX1BQSSB8DQo+IEVGSV9QRUlfUFBJ X0RFU0NSSVBUT1JfVEVSTUlOQVRFX0xJU1QsDQo+ICsgICAgJmdQZWlNZmdNZW1vcnlUZXN0UHBp R3VpZCwNCj4gKyAgICAmbVBlaU1mZ01lbW9yeVRlc3RQcGkNCj4gKyAgfQ0KPiArIH07DQo+ICsN Cj4gK0VGSV9QRUlfTk9USUZZX0RFU0NSSVBUT1IgbU1lbW9yeURpc2NvdmVyZWROb3RpZnlMaXN0 WzFdID0gew0KPiArICB7DQo+ICsgICAgKEVGSV9QRUlfUFBJX0RFU0NSSVBUT1JfTk9USUZZX0NB TExCQUNLIHwNCj4gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9URVJNSU5BVEVfTElTVCksDQo+ICsg ICAgJmdFZmlQZWlNZW1vcnlEaXNjb3ZlcmVkUHBpR3VpZCwNCj4gKyAgICBNZW1vcnlEaXNjb3Zl cmVkUHBpTm90aWZ5Q2FsbGJhY2sNCj4gKyAgfQ0KPiArfTsNCj4gKw0KPiArRUZJX1NUQVRVUw0K PiArRUZJQVBJDQo+ICtJbnN0YWxsTW9ub1N0YXR1c0NvZGUgKA0KPiArICBJTiBFRklfRkZTX0ZJ TEVfSEVBREVSICAgICAgICpGZnNIZWFkZXIsDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklD RVMgICAgICAgICAgKipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiArDQo+ICsNCj4gK0VGSV9TVEFU VVMNCj4gK1JlYWRQbGF0Zm9ybUlkcyAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMg ICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gT1VUIEVGSV9QTEFURk9STV9JTkZP X0hPQiAgICAgICAgICAqUGxhdGZvcm1JbmZvSG9iDQo+ICsgICk7DQo+ICsNCj4gKy8vDQo+ICsv LyBTdGFydDo6QWxwaW5lIFZhbGxleSBwbGF0Zm9ybQ0KPiArLy8NCj4gK0VGSV9TVEFUVVMNCj4g K1BlaVNtYnVzRXhlYyAoDQo+ICsgIFVJTlQxNiBTbWJ1c0Jhc2UsDQo+ICsgIFVJTlQ4IFNsdkFk ZHIsDQo+ICsgIFVJTlQ4IE9wZXJhdGlvbiwNCj4gKyAgVUlOVDggT2Zmc2V0LA0KPiArICBVSU5U OCAqTGVuZ3RoLA0KPiArICBVSU5UOCAqQnVmZmVyDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArLyoq DQo+ICsNCj4gKyAgRGV0ZW1pbmUgVHVyYm90IGJvYXJkDQo+ICsgIEByZXR1cm4gMDogTm90IFR1 cmJvdCBib2FyZA0KPiArICAgICAgICAgIDE6IFR1cmJvdCBib2FyZA0KPiArDQo+ICsqKi8NCj4g K1VJTlQzMg0KPiArRGV0ZXJtaW5lVHVyYm90Qm9hcmQgKA0KPiArICB2b2lkDQo+ICsgICkNCj4g K3sNCj4gKyAgVUlOVE4gUGNpRDMxRjBSZWdCYXNlID0gMDsNCj4gKyAgVUlOVDMyIEdwaW9WYWx1 ZSA9IDA7DQo+ICsgIFVJTlQzMiBUbXBWYWwgPSAwOw0KPiArICBVSU5UMzIgTW1pb0NvbmYwID0g MDsNCj4gKyAgVUlOVDMyIE1taW9QYWR2YWwgPSAwOw0KPiArICBVSU5UMzIgUENvbmYwT2Zmc2V0 ID0gMHgyMDA7IC8vR1BJT19TNV80IHBhZF9jb25mMCByZWdpc3RlciBvZmZzZXQNCj4gKyAgVUlO VDMyIFBWYWx1ZU9mZnNldCA9IDB4MjA4OyAvL0dQSU9fUzVfNCBwYWRfdmFsdWUgcmVnaXN0ZXIg b2Zmc2V0DQo+ICsgIFVJTlQzMiBTU1VTT2Zmc2V0ID0gMHgyMDAwOw0KPiArICBVSU5UMzIgSW9C YXNlID0gMDsNCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiRGV0ZXJtaW5lVHVyYm90 Qm9hcmQoKSBFbnRyeVxuIikpOw0KPiArICBQY2lEMzFGMFJlZ0Jhc2UgPSBNbVBjaUFkZHJlc3Mg KDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfTFBDLA0KPiArICAgICAgICAgICAgICAgICAgICAgIFBD SV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAwDQo+ ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIElvQmFzZSA9IE1taW9SZWFkMzIgKFBjaUQz MUYwUmVnQmFzZSArIFJfUENIX0xQQ19JT19CQVNFKSAmDQo+IEJfUENIX0xQQ19JT19CQVNFX0JB UjsNCj4gKw0KPiArICBNbWlvQ29uZjAgPSBJb0Jhc2UgKyBTU1VTT2Zmc2V0ICsgUENvbmYwT2Zm c2V0Ow0KPiArICBNbWlvUGFkdmFsID0gSW9CYXNlICsgU1NVU09mZnNldCArIFBWYWx1ZU9mZnNl dDsNCj4gKyAgLy8weEZFRDBFMjAwLzB4RkVEMEUyMDggaXMgcGFkX0NvbmYvcGFkX3ZhbCByZWdp c3RlciBhZGRyZXNzIG9mDQo+IEdQSU9fUzVfNA0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAi TW1pb0NvbmYwWzB4JXhdLCBNbWlvUGFkdmFsWzB4JXhdXG4iLA0KPiBNbWlvQ29uZjAsIE1taW9Q YWR2YWwpKTsNCj4gKw0KPiArICBNbWlvV3JpdGUzMiAoTW1pb0NvbmYwLCAweDIwMDNDQzAwKTsN Cj4gKw0KPiArICBUbXBWYWwgPSBNbWlvUmVhZDMyIChNbWlvUGFkdmFsKTsNCj4gKyAgVG1wVmFs ICY9IH4weDY7IC8vQ2xlYXIgYml0IDE6Mg0KPiArICBUbXBWYWwgfD0gMHgyOyAvLyBTZXQgdGhl IHBpbiBhcyBHUEkNCj4gKyAgTW1pb1dyaXRlMzIgKE1taW9QYWR2YWwsIFRtcFZhbCk7DQo+ICsN Cj4gKyAgR3Bpb1ZhbHVlID0gTW1pb1JlYWQzMiAoTW1pb1BhZHZhbCk7DQo+ICsNCj4gKyAgREVC VUcgKChFRklfRF9FUlJPUiwgIkdwaW9fUzVfNCB2YWx1ZSBpcyAweCV4XG4iLCBHcGlvVmFsdWUp KTsNCj4gKyAgcmV0dXJuIChHcGlvVmFsdWUgJiAweDEpOw0KPiArfQ0KPiArDQo+ICsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArRnRwbVBvbGljeUluaXQgKA0KPiArICBJTiBDT05TVCBFRklfUEVJ X1NFUlZJQ0VTICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOIFNZU1RFTV9DT05G SUdVUkFUSU9OICAgICAgICAgKnBTeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9QRUlf UFBJX0RFU0NSSVBUT1IgICAgICAgICAgKm1GdHBtUG9saWN5UHBpRGVzYzsNCj4gKyAgU0VDX0ZU UE1fUE9MSUNZX1BQSSAgICAgICAgICAgICAqbUZ0cG1Qb2xpY3lQcGk7DQo+ICsNCj4gKw0KPiAr ICBERUJVRygoRUZJX0RfSU5GTywgIkZ0cG1Qb2xpY3lJbml0IEVudHJ5IFxuIikpOw0KPiArDQo+ ICsgIGlmIChOVUxMID09IFBlaVNlcnZpY2VzIHx8ICBOVUxMID09IHBTeXN0ZW1Db25maWd1cmF0 aW9uKSB7DQo+ICsgICAgREVCVUcoKEVGSV9EX0VSUk9SLCAiSW5wdXQgZXJyb3IuIFxuIikpOw0K PiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICBT dGF0dXMgPSAoKlBlaVNlcnZpY2VzKS0+QWxsb2NhdGVQb29sKA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgc2l6ZW9mIChFRklfUEVJX1BQSV9ERVNDUklQVE9SKSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgKHZvaWQgKiopJm1GdHBtUG9saWN5UHBpRGVzYw0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiAr DQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5BbGxvY2F0ZVBvb2woDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBzaXplb2YgKFNFQ19GVFBNX1BPTElDWV9QUEkpLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAodm9pZCAqKikmbUZ0cG1Qb2xpY3lQcGkNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBJbml0aWFsaXplIFBQSQ0KPiArICAvLw0KPiArICAoKlBlaVNl cnZpY2VzKS0+U2V0TWVtICgoVk9JRCAqKW1GdHBtUG9saWN5UHBpLCBzaXplb2YNCj4gKFNFQ19G VFBNX1BPTElDWV9QUEkpLCAwKTsNCj4gKyAgbUZ0cG1Qb2xpY3lQcGlEZXNjLT5GbGFncyA9IEVG SV9QRUlfUFBJX0RFU0NSSVBUT1JfUFBJIHwNCj4gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9URVJN SU5BVEVfTElTVDsNCj4gKyAgbUZ0cG1Qb2xpY3lQcGlEZXNjLT5HdWlkID0gJmdTZUNmVFBNUG9s aWN5UHBpR3VpZDsNCj4gKyAgbUZ0cG1Qb2xpY3lQcGlEZXNjLT5QcGkgPSBtRnRwbVBvbGljeVBw aTsNCj4gKw0KPiArDQo+ICsgIERFQlVHKChFRklfRF9JTkZPLCAicFN5c3RlbUNvbmZpZ3VyYXRp b24tPmZUUE0gPSAweCV4IFxuIiwNCj4gcFN5c3RlbUNvbmZpZ3VyYXRpb24tPmZUUE0pKTsNCj4g KyAgaWYocFN5c3RlbUNvbmZpZ3VyYXRpb24tPmZUUE0gPT0gMSkgew0KPiArICAgIG1GdHBtUG9s aWN5UHBpLT5mVFBNRW5hYmxlID0gVFJVRTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBtRnRwbVBv bGljeVBwaS0+ZlRQTUVuYWJsZSA9IEZBTFNFOw0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0g KCpQZWlTZXJ2aWNlcyktPkluc3RhbGxQcGkoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtRnRwbVBv bGljeVBwaURlc2MNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBERUJVRygoRUZJX0RfSU5GTywgIkZ0 cG1Qb2xpY3lJbml0IGRvbmUgXG4iKSk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIHJvdXRpbmUgYXR0ZW1wdHMgdG8gYWNx dWlyZSB0aGUgU01CdXMNCj4gKw0KPiArICBAcmV0dmFsIEZBSUxVUkUgYXMgZmFpbGVkDQo+ICsg IEByZXR2YWwgU1VDQ0VTUyBhcyBwYXNzZWQNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ ICtBY3F1aXJlQnVzICgNCj4gKyAgICBVSU5UMTYJU21idXNCYXNlDQo+ICsgICkNCj4gK3sNCj4g KyAgVUlOVDggU3RzUmVnOw0KPiArDQo+ICsgIFN0c1JlZyAgPSAwOw0KPiArICBTdHNSZWcgID0g KFVJTlQ4KUlvUmVhZDgoU21idXNCYXNlICsgUl9QQ0hfU01CVVNfSFNUUyk7DQo+ICsgIGlmIChT dHNSZWcgJiBCX1BDSF9TTUJVU19JVVMpIHsNCj4gKyAgICByZXR1cm4gRUZJX0RFVklDRV9FUlJP UjsNCj4gKyAgfSBlbHNlIGlmIChTdHNSZWcgJiBCX1BDSF9TTUJVU19IQlNZKSB7DQo+ICsgICAg Ly8NCj4gKyAgICAvLyBDbGVhciBTdGF0dXMgUmVnaXN0ZXIgYW5kIGV4aXQNCj4gKyAgICAvLw0K PiArICAgIC8vIFdhaXQgZm9yIEhTVFMuSEJTWSB0byBiZSBjbGVhcg0KPiArCSAgLy8NCj4gKyAg ICBkbyB7IFN0c1JlZyA9IChVSU5UOCkgSW9SZWFkOChTbWJ1c0Jhc2UrUl9QQ0hfU01CVVNfSFNU Uyk7IH0NCj4gd2hpbGUgKChTdHNSZWcgJiBCX1BDSF9TTUJVU19IQlNZKSAhPSAwKTsNCj4gKw0K PiArCSAgLy8NCj4gKyAgICAvLyBDbGVhciBhbGwgc3RhdHVzIGJpdHMNCj4gKwkgIC8vDQo+ICsg ICAgSW9Xcml0ZTgoU21idXNCYXNlK1JfUENIX1NNQlVTX0hTVFMsIDB4RkUpOw0KPiArICAgIHJl dHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIENs ZWFyIG91dCBhbnkgb2RkIHN0YXR1cyBpbmZvcm1hdGlvbiAoV2lsbCBOb3QgQ2xlYXIgSW4gVXNl KQ0KPiArICAgIC8vDQo+ICsgICAgSW9Xcml0ZTgoU21idXNCYXNlK1JfUENIX1NNQlVTX0hTVFMs IFN0c1JlZyk7DQo+ICsgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArICB9DQo+ICt9DQo+ICsv Lw0KPiArLy8gRW5kOjpBbHBpbmUgVmFsbGV5IHBsYXRmb3JtDQo+ICsvLw0KPiArDQo+ICsvKioN Cj4gKyAgVGhpcyBmdW5jdGlvbiBjaGVja3MgdGhlIG1lbW9yeSByYW5nZSBpbiBQRUkuDQo+ICsN Cj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgUG9pbnRlciB0byBQRUkgU2VydmljZXMuDQo+ ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAgIFBlaSBtZW1vcnkgdGVzdCBQUEkgcG9pbnRlci4N Cj4gKyAgQHBhcmFtICBCZWdpbkFkZHJlc3MgICAgQmVnaW5uaW5nIG9mIHRoZSBtZW1vcnkgYWRk cmVzcyB0byBiZSBjaGVja2VkLg0KPiArICBAcGFyYW0gIE1lbW9yeUxlbmd0aCAgICBCeXRlcyBv ZiBtZW1vcnkgcmFuZ2UgdG8gYmUgY2hlY2tlZC4NCj4gKyAgQHBhcmFtICBPcGVyYXRpb24gICAg ICAgVHlwZSBvZiBtZW1vcnkgY2hlY2sgb3BlcmF0aW9uIHRvIGJlIHBlcmZvcm1lZC4NCj4gKyAg QHBhcmFtICBFcnJvckFkZHJlc3MgICAgUmV0dXJuIHRoZSBhZGRyZXNzIG9mIHRoZSBlcnJvciBt ZW1vcnkgYWRkcmVzcy4NCj4gKw0KPiArICBAcmV0dmFsICBFRklfU1VDQ0VTUyAgICAgICAgIFRo ZSBvcGVyYXRpb24gY29tcGxldGVkIHN1Y2Nlc3NmdWxseS4NCj4gKyAgQHJldHZhbCAgRUZJX0RF VklDRV9FUlJPUiAgICBNZW1vcnkgdGVzdCBmYWlsZWQuIEl0J3Mgbm90IHNhZmUgdG8gdXNlIHRo aXMNCj4gcmFuZ2Ugb2YgbWVtb3J5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArTWZnTWVtb3J5VGVzdCAoDQo+ICsgIElOICBDT05TVCBFRklfUEVJX1NFUlZJQ0VT ICAgICAgICAgICAgICAgICAgICoqUGVpU2VydmljZXMsDQo+ICsgIElOICBQRUlfTUZHX01FTU9S WV9URVNUX1BQSSAgICAgICAgICAgKlRoaXMsDQo+ICsgIElOICBVSU5UMzIgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJlZ2luQWRkcmVzcywNCj4gKyAgSU4gIFVJTlQzMiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTWVtb3J5TGVuZ3RoDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMy IGk7DQo+ICsgIFVJTlQzMiBtZW1BZGRyOw0KPiArICBVSU5UMzIgcmVhZERhdGE7DQo+ICsgIFVJ TlQzMiB4b3JEYXRhOw0KPiArICBVSU5UMzIgVGVzdEZsYWcgPSAwOw0KPiArICBtZW1BZGRyID0g QmVnaW5BZGRyZXNzOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vT3V0cHV0IE1lc3NhZ2UgZm9yIE1G Rw0KPiArICAvLw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiTUZHTU9ERSBTRVRcbiIpKTsN Cj4gKw0KPiArICAvLw0KPiArICAvL1dyaXR0aW5nIHRoZSBwYXR0ZXJuIGluIGRlZmluZWQgbG9j YXRpb24uDQo+ICsgIC8vDQo+ICsgIHdoaWxlIChtZW1BZGRyIDwgKEJlZ2luQWRkcmVzcytNZW1v cnlMZW5ndGgpKSB7DQo+ICsgICAgZm9yIChpID0gMDsgaSA8IERBVEFfUEFUVEVSTl9BUlJBWV9T SVpFOyBpKyspIHsNCj4gKyAgICAgIGlmIChtZW1BZGRyID4gKEJlZ2luQWRkcmVzcytNZW1vcnlM ZW5ndGggLTQpKSB7DQo+ICsgICAgICAgIG1lbUFkZHIgPSBtZW1BZGRyICsgNDsNCj4gKyAgICAg ICAgYnJlYWs7DQo+ICsgICAgICB9DQo+ICsgICAgICAqKCh2b2xhdGlsZSBVSU5UMzIqKSBtZW1B ZGRyKSA9IERhdGFQYXR0ZXJuRm9yTWVtb3J5VGVzdFtpXTsNCj4gKyAgICAgIG1lbUFkZHIgPSBt ZW1BZGRyICsgNDsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvL1Zlcmlm eSB0aGUgcGF0dGVybi4NCj4gKyAgLy8NCj4gKyAgbWVtQWRkciA9IEJlZ2luQWRkcmVzczsNCj4g KyAgd2hpbGUgKG1lbUFkZHIgPCAoQmVnaW5BZGRyZXNzK01lbW9yeUxlbmd0aCkpIHsNCj4gKyAg Zm9yIChpID0gMDsgaSA8IERBVEFfUEFUVEVSTl9BUlJBWV9TSVpFOyBpKyspIHsNCj4gKyAgICBp ZiAobWVtQWRkciA+IChCZWdpbkFkZHJlc3MrTWVtb3J5TGVuZ3RoIC00KSkgew0KPiArICAgICAg bWVtQWRkciA9IG1lbUFkZHIgKyA0Ow0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgfQ0KPiArICAg IHJlYWREYXRhID0gKigodm9sYXRpbGUgVUlOVDMyKikgbWVtQWRkcik7DQo+ICsgICAgeG9yRGF0 YSA9IHJlYWREYXRhIF4gRGF0YVBhdHRlcm5Gb3JNZW1vcnlUZXN0W2ldOw0KPiArDQo+ICsJICAv Lw0KPiArICAgIC8vIElmIHhvckRhdGEgaXMgbm9uemVybywgdGhpcyBwYXJ0aWN1bGFyIG1lbUFk ZHIgaGFzIGEgZmFpbHVyZS4NCj4gKwkgIC8vDQo+ICsgICAgaWYgKHhvckRhdGEgIT0gMHgwMDAw MDAwMCkgew0KPiArICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkV4cGVjdGVkIHZhbHVlLi4u LjogJXhcbiIsDQo+IERhdGFQYXR0ZXJuRm9yTWVtb3J5VGVzdFtpXSkpOw0KPiArICAgICAgREVC VUcgKChFRklfRF9FUlJPUiwgIlJlYWREYXRhIHZhbHVlLi4uLjogJXhcbiIsIHJlYWREYXRhKSk7 DQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiUGF0dGVybiBmYWlsdXJlIGF0Li4uLjog JXhcbiIsIG1lbUFkZHIpKTsNCj4gKyAgICAgIFRlc3RGbGFnID0gMTsNCj4gKyAgICB9DQo+ICsg ICAgbWVtQWRkciA9IG1lbUFkZHIgKyA0Ow0KPiArICAgIH0NCj4gKyAgfQ0KPiArICBpZiAoVGVz dEZsYWcpIHsNCj4gKyAgICByZXR1cm4gRUZJX0RFVklDRV9FUlJPUjsNCj4gKyAgfQ0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vT3V0cHV0IE1lc3NhZ2UgZm9yIE1GRw0KPiArICAvLw0KPiArICBERUJV RyAoKEVGSV9EX0VSUk9SLCAiTUZHTU9ERSBNRU1PUlkgVEVTVCBQQVNTRURcbiIpKTsNCj4gKyAg cmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtCT09MRUFODQo+ICtJc1J0Y1VpcEFs d2F5c1NldCAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAgICAgKipQZWlTZXJ2 aWNlcw0KPiArICApDQo+ICt7DQo+ICsNCj4gKyAgRUZJX1BFSV9TVEFMTF9QUEkgKlN0YWxsUHBp Ow0KPiArICBVSU5UTiAgICAgICAgICAgICBDb3VudDsNCj4gKw0KPiArICAoKipQZWlTZXJ2aWNl cykuTG9jYXRlUHBpIChQZWlTZXJ2aWNlcywgJmdFZmlQZWlTdGFsbFBwaUd1aWQsIDAsIE5VTEws DQo+ICh2b2lkICoqKSZTdGFsbFBwaSk7DQo+ICsNCj4gKyAgZm9yIChDb3VudCA9IDA7IENvdW50 IDwgNTAwOyBDb3VudCsrKSB7IC8vIE1heGltdW0gd2FpdGluZyBhcHByb3hpbWF0ZXMNCj4gdG8g MS41IHNlY29uZHMgKD0gMyBtc2VjICogNTAwKQ0KPiArICAgIElvV3JpdGU4IChSX1BDSF9SVENf SU5ERVgyLCBSX1BDSF9SVENfUkVHSVNURVJBKTsNCj4gKyAgICBpZiAoKElvUmVhZDggKFJfUENI X1JUQ19UQVJHRVQyKSAmIEJfUENIX1JUQ19SRUdJU1RFUkFfVUlQKSA9PSAwKQ0KPiB7DQo+ICsg ICAgICByZXR1cm4gRkFMU0U7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgU3RhbGxQcGktPlN0YWxs IChQZWlTZXJ2aWNlcywgU3RhbGxQcGksIDMwMDApOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJu IFRSVUU7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1J0Y1Bvd2VyRmFpbHVyZUhhbmRs ZXIgKA0KPiArICBJTiBDT05TVCBFRklfUEVJX1NFUlZJQ0VTICAgICAgICoqUGVpU2VydmljZXMN Cj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIFVJTlQxNiAgICAgICAgICBEYXRhVWludDE2Ow0KPiAr ICBVSU5UOCAgICAgICAgICAgRGF0YVVpbnQ4Ow0KPiArICBCT09MRUFOICAgICAgICAgUnRjVWlw SXNBbHdheXNTZXQ7DQo+ICsgIERhdGFVaW50MTYgICAgICAgID0gTW1pb1JlYWQxNiAoUE1DX0JB U0VfQUREUkVTUyArDQo+IFJfUENIX1BNQ19HRU5fUE1DT05fMSk7DQo+ICsgIFJ0Y1VpcElzQWx3 YXlzU2V0ID0gSXNSdGNVaXBBbHdheXNTZXQgKFBlaVNlcnZpY2VzKTsNCj4gKyAgaWYgKChEYXRh VWludDE2ICYgQl9QQ0hfUE1DX0dFTl9QTUNPTl9SVENfUFdSX1NUUykgfHwNCj4gKFJ0Y1VpcElz QWx3YXlzU2V0KSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gRXhlY3V0ZSB0aGUgc2VxdWVuY2Ug YmVsb3cuIFRoaXMgd2lsbCBlbnN1cmUgdGhhdCB0aGUgUlRDIHN0YXRlDQo+IG1hY2hpbmUgaGFz IGJlZW4gaW5pdGlhbGl6ZWQuDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTdGVwIDEuDQo+ICsgICAg Ly8gQklPUyBjbGVhcnMgdGhpcyBiaXQgYnkgd3JpdGluZyBhICcwJyB0byBpdC4NCj4gKyAgICAv Lw0KPiArICAgIGlmIChEYXRhVWludDE2ICYgQl9QQ0hfUE1DX0dFTl9QTUNPTl9SVENfUFdSX1NU Uykgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFNldCB0byBpbnZhbGlkIGRhdGUgaW4gb3Jk ZXIgdG8gcmVzZXQgdGhlIHRpbWUgdG8NCj4gKyAgICAgIC8vIEJJT1MgYnVpbGQgdGltZSBsYXRl ciBpbiB0aGUgYm9vdCAoU0JSVU4uYyBmaWxlKS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBJb1dy aXRlOCAoUl9QQ0hfUlRDX0lOREVYMiwgUl9QQ0hfUlRDX1lFQVIpOw0KPiArICAgICAgSW9Xcml0 ZTggKFJfUENIX1JUQ19UQVJHRVQyLCAweDBGRik7DQo+ICsgICAgICBJb1dyaXRlOCAoUl9QQ0hf UlRDX0lOREVYMiwgUl9QQ0hfUlRDX01PTlRIKTsNCj4gKyAgICAgIElvV3JpdGU4IChSX1BDSF9S VENfVEFSR0VUMiwgMHgwRkYpOw0KPiArICAgICAgSW9Xcml0ZTggKFJfUENIX1JUQ19JTkRFWDIs IFJfUENIX1JUQ19EQVlPRk1PTlRIKTsNCj4gKyAgICAgIElvV3JpdGU4IChSX1BDSF9SVENfVEFS R0VUMiwgMHgwRkYpOw0KPiArICAgICAgSW9Xcml0ZTggKFJfUENIX1JUQ19JTkRFWDIsIFJfUENI X1JUQ19EQVlPRldFRUspOw0KPiArICAgICAgSW9Xcml0ZTggKFJfUENIX1JUQ19UQVJHRVQyLCAw eDBGRik7DQo+ICsNCj4gKyAgICAgIElvV3JpdGU4IChSX1BDSF9SVENfSU5ERVgyLCBSX1BDSF9S VENfU0VDT05EU0FMQVJNKTsNCj4gKyAgICAgIElvV3JpdGU4IChSX1BDSF9SVENfVEFSR0VUMiwg MHgwMCk7DQo+ICsgICAgICBJb1dyaXRlOCAoUl9QQ0hfUlRDX0lOREVYMiwgUl9QQ0hfUlRDX01J TlVURVNBTEFSTSk7DQo+ICsgICAgICBJb1dyaXRlOCAoUl9QQ0hfUlRDX1RBUkdFVDIsIDB4MDAp Ow0KPiArICAgICAgSW9Xcml0ZTggKFJfUENIX1JUQ19JTkRFWDIsIFJfUENIX1JUQ19IT1VSU0FM QVJNKTsNCj4gKyAgICAgIElvV3JpdGU4IChSX1BDSF9SVENfVEFSR0VUMiwgMHgwMCk7DQo+ICsg ICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTdGVwIDIuDQo+ICsgICAgLy8gU2V0IFJU QyBSZWdpc3RlciAwQWhbNjo0XSB0byAnMTEwJyBvciAnMTExJy4NCj4gKyAgICAvLw0KPiArICAg IElvV3JpdGU4IChSX1BDSF9SVENfSU5ERVgyLCBSX1BDSF9SVENfUkVHSVNURVJBKTsNCj4gKyAg ICBJb1dyaXRlOCAoUl9QQ0hfUlRDX1RBUkdFVDIsIChWX1BDSF9SVENfUkVHSVNURVJBX0RWX0RJ Vl9SU1QxDQo+IHwgVl9QQ0hfUlRDX1JFR0lTVEVSQV9SU185NzZQNVVTKSk7DQo+ICsNCj4gKyAg ICAvLw0KPiArICAgIC8vIFN0ZXAgMy4NCj4gKyAgICAvLyBTZXQgUlRDIFJlZ2lzdGVyIDBCaFs3 XS4NCj4gKyAgICAvLw0KPiArICAgIElvV3JpdGU4IChSX1BDSF9SVENfSU5ERVgyLCBSX1BDSF9S VENfUkVHSVNURVJCKTsNCj4gKyAgICBEYXRhVWludDggPSAoSW9SZWFkOCAoUl9QQ0hfUlRDX1RB UkdFVDIpIHwNCj4gQl9QQ0hfUlRDX1JFR0lTVEVSQl9TRVQpOw0KPiArICAgIElvV3JpdGU4IChS X1BDSF9SVENfSU5ERVgyLCBSX1BDSF9SVENfUkVHSVNURVJCKTsNCj4gKyAgICBJb1dyaXRlOCAo Ul9QQ0hfUlRDX1RBUkdFVDIsIERhdGFVaW50OCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8v IFN0ZXAgNC4NCj4gKyAgICAvLyBTZXQgUlRDIFJlZ2lzdGVyIDBBaFs2OjRdIHRvICcwMTAnLg0K PiArICAgIC8vDQo+ICsgICAgSW9Xcml0ZTggKFJfUENIX1JUQ19JTkRFWDIsIFJfUENIX1JUQ19S RUdJU1RFUkEpOw0KPiArICAgIElvV3JpdGU4IChSX1BDSF9SVENfVEFSR0VUMiwNCj4gKFZfUENI X1JUQ19SRUdJU1RFUkFfRFZfTk9STV9PUCB8DQo+IFZfUENIX1JUQ19SRUdJU1RFUkFfUlNfOTc2 UDVVUykpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTdGVwIDUuDQo+ICsgICAgLy8gQ2xl YXIgUlRDIFJlZ2lzdGVyIDBCaFs3XS4NCj4gKyAgICAvLw0KPiArICAgIElvV3JpdGU4IChSX1BD SF9SVENfSU5ERVgyLCBSX1BDSF9SVENfUkVHSVNURVJCKTsNCj4gKyAgICBEYXRhVWludDggPSAo SW9SZWFkOCAoUl9QQ0hfUlRDX1RBUkdFVDIpICYNCj4gKFVJTlQ4KX5CX1BDSF9SVENfUkVHSVNU RVJCX1NFVCk7DQo+ICsgICAgSW9Xcml0ZTggKFJfUENIX1JUQ19JTkRFWDIsIFJfUENIX1JUQ19S RUdJU1RFUkIpOw0KPiArICAgIElvV3JpdGU4IChSX1BDSF9SVENfVEFSR0VUMiwgRGF0YVVpbnQ4 KTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiAr DQo+ICtWT0lEDQo+ICtQY2hCYXNlSW5pdCAoDQo+ICsgIFZPSUQNCj4gKyAgKQ0KPiArew0KPiAr ICAvLw0KPiArICAvLyBQcm9ncmFtIEFDUEkgUG93ZXIgTWFuYWdlbWVudCBJL08gU3BhY2UgQmFz ZSBBZGRyZXNzDQo+ICsgIC8vDQo+ICsgIE1taW9Xcml0ZTE2ICgNCj4gKyAgICBNbVBjaUFkZHJl c3MgKDAsDQo+ICsgICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4gKyAgICAgIFBD SV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BD SF9MUEMsDQo+ICsgICAgICBSX1BDSF9MUENfQUNQSV9CQVNFDQo+ICsgICAgKSwNCj4gKyAgICAo VUlOVDE2KSgoQUNQSV9CQVNFX0FERFJFU1MgJiBCX1BDSF9MUENfQUNQSV9CQVNFX0JBUikgfA0K PiBCX1BDSF9MUENfQUNQSV9CQVNFX0VOKQ0KPiArICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFByb2dyYW0gR1BJTyBCYXNlIEFkZHJlc3MNCj4gKyAgLy8NCj4gKyAgTW1pb1dyaXRlMTYgKA0K PiArICAgIE1tUGNpQWRkcmVzcyAoMCwNCj4gKyAgICAgIERFRkFVTFRfUENJX0JVU19OVU1CRVJf UENILA0KPiArICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgIFBDSV9G VU5DVElPTl9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgIFJfUENIX0xQQ19HUElPX0JBU0UNCj4g KyAgICApLA0KPiArICAgIChVSU5UMTYpKChHUElPX0JBU0VfQUREUkVTUyAmIEJfUENIX0xQQ19H UElPX0JBU0VfQkFSKSB8DQo+IEJfUENIX0xQQ19HUElPX0JBU0VfRU4pDQo+ICsgICk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gU2V0IFBNQyBCYXNlIEFkZHJlc3MNCj4gKyAgLy8NCj4gKyAgTW1p b1dyaXRlMzIgKA0KPiArICAgIE1tUGNpQWRkcmVzcyAoMCwNCj4gKyAgICAgIERFRkFVTFRfUENJ X0JVU19OVU1CRVJfUENILA0KPiArICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywNCj4g KyAgICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgIFJfUENIX0xQQ19Q TUNfQkFTRQ0KPiArICAgICksDQo+ICsgICAgKFVJTlQzMikoKFBNQ19CQVNFX0FERFJFU1MgJiBC X1BDSF9MUENfUE1DX0JBU0VfQkFSKSB8DQo+IEJfUENIX0xQQ19QTUNfQkFTRV9FTikNCj4gKyAg KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgSU8gQmFzZSBBZGRyZXNzDQo+ICsgIC8vDQo+ ICsgIE1taW9Xcml0ZTMyICgNCj4gKyAgICBNbVBjaUFkZHJlc3MgKDAsDQo+ICsgICAgICBERUZB VUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4gKyAgICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9M UEMsDQo+ICsgICAgICBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICBSX1BD SF9MUENfSU9fQkFTRQ0KPiArICAgICksDQo+ICsgICAgKFVJTlQzMikoKElPX0JBU0VfQUREUkVT UyAmIEJfUENIX0xQQ19JT19CQVNFX0JBUikgfA0KPiBCX1BDSF9MUENfSU9fQkFTRV9FTikNCj4g KyAgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgSUxCIEJhc2UgQWRkcmVzcw0KPiArICAv Lw0KPiArICBNbWlvV3JpdGUzMiAoDQo+ICsgICAgTW1QY2lBZGRyZXNzICgwLA0KPiArICAgICAg REVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+ICsgICAgICBQQ0lfREVWSUNFX05VTUJFUl9Q Q0hfTFBDLA0KPiArICAgICAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBDLA0KPiArICAgICAg Ul9QQ0hfTFBDX0lMQl9CQVNFDQo+ICsgICAgKSwNCj4gKyAgICAoVUlOVDMyKSgoSUxCX0JBU0Vf QUREUkVTUyAmIEJfUENIX0xQQ19JTEJfQkFTRV9CQVIpIHwNCj4gQl9QQ0hfTFBDX0lMQl9CQVNF X0VOKQ0KPiArICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCBQVW5pdCBCYXNlIEFkZHJl c3MNCj4gKyAgLy8NCj4gKyAgTW1pb1dyaXRlMzIgKA0KPiArICAgIE1tUGNpQWRkcmVzcyAoMCwN Cj4gKyAgICAgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILA0KPiArICAgICAgUENJX0RFVklD RV9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQywN Cj4gKyAgICAgIFJfUENIX0xQQ19QVU5JVF9CQVNFDQo+ICsgICAgKSwNCj4gKyAgICAoVUlOVDMy KSgoUFVOSVRfQkFTRV9BRERSRVNTICYgQl9QQ0hfTFBDX1BVTklUX0JBU0VfQkFSKSB8DQo+IEJf UENIX0xQQ19QVU5JVF9CQVNFX0VOKQ0KPiArICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNl dCBTUEkgQmFzZSBBZGRyZXNzDQo+ICsgIC8vDQo+ICsgIE1taW9Xcml0ZTMyICgNCj4gKyAgICBN bVBjaUFkZHJlc3MgKDAsDQo+ICsgICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4g KyAgICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICBQQ0lfRlVOQ1RJT05f TlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICBSX1BDSF9MUENfU1BJX0JBU0UNCj4gKyAgICApLA0K PiArICAgIChVSU5UMzIpKChTUElfQkFTRV9BRERSRVNTICYgQl9QQ0hfTFBDX1NQSV9CQVNFX0JB UikgfA0KPiBCX1BDSF9MUENfU1BJX0JBU0VfRU4pDQo+ICsgICk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gU2V0IFJvb3QgQ29tcGxleCBCYXNlIEFkZHJlc3MNCj4gKyAgLy8NCj4gKyAgTW1pb1dy aXRlMzIgKA0KPiArICAgIE1tUGNpQWRkcmVzcyAoMCwNCj4gKyAgICAgIERFRkFVTFRfUENJX0JV U19OVU1CRVJfUENILA0KPiArICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywNCj4gKyAg ICAgIFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgIFJfUENIX0xQQ19SQ0JB DQo+ICsgICAgKSwNCj4gKyAgICAoVUlOVDMyKSgoUkNCQV9CQVNFX0FERFJFU1MgJiBCX1BDSF9M UENfUkNCQV9CQVIpIHwNCj4gQl9QQ0hfTFBDX1JDQkFfRU4pDQo+ICsgICk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gU2V0IE1QSFkgQmFzZSBBZGRyZXNzDQo+ICsgIC8vDQo+ICsgIE1taW9Xcml0 ZTMyICgNCj4gKyAgICBNbVBjaUFkZHJlc3MgKDAsDQo+ICsgICAgICBERUZBVUxUX1BDSV9CVVNf TlVNQkVSX1BDSCwNCj4gKyAgICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAg ICBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICBSX1BDSF9MUENfTVBIWV9C QVNFDQo+ICsgICAgKSwNCj4gKyAgICAoVUlOVDMyKSgoTVBIWV9CQVNFX0FERFJFU1MgJiBCX1BD SF9MUENfTVBIWV9CQVNFX0JBUikgfA0KPiBCX1BDSF9MUENfTVBIWV9CQVNFX0VOKQ0KPiArICAp Ow0KPiArICBNbWlvV3JpdGUxNiAoDQo+ICsgICAgTW1QY2lBZGRyZXNzICgwLA0KPiArICAgICAg REVGQVVMVF9QQ0lfQlVTX05VTUJFUl9QQ0gsDQo+ICsgICAgICBQQ0lfREVWSUNFX05VTUJFUl9Q Q0hfU01CVVMsDQo+ICsgICAgICBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9TTUJVUywNCj4gKyAg ICAgIFJfUENIX1NNQlVTX0JBU0UNCj4gKyAgICApLA0KPiArICAgIChVSU5UMTYpKFNNQlVTX0JB U0VfQUREUkVTUyAmIEJfUENIX1NNQlVTX0JBU0VfQkFSKQ0KPiArICApOw0KPiArDQo+ICsgIE1t aW9PcjggKA0KPiArICAgIE1tUGNpQWRkcmVzcyAoMCwNCj4gKyAgICAgIERFRkFVTFRfUENJX0JV U19OVU1CRVJfUENILA0KPiArICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX1NNQlVTLA0KPiAr ICAgICAgUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfU01CVVMsDQo+ICsgICAgICBSX1BDSF9TTUJV U19QQ0lDTUQNCj4gKyAgICApLA0KPiArICAgIEJfUENIX1NNQlVTX1BDSUNNRF9JT1NFDQo+ICsg ICk7DQo+ICsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgaXMgdGhlIGVudHJ5cG9pbnQg b2YgUEVJTQ0KPiArDQo+ICsgIEBwYXJhbSAgRmlsZUhhbmRsZSAgSGFuZGxlIG9mIHRoZSBmaWxl IGJlaW5nIGludm9rZWQuDQo+ICsgIEBwYXJhbSAgUGVpU2VydmljZXMgRGVzY3JpYmVzIHRoZSBs aXN0IG9mIHBvc3NpYmxlIFBFSSBTZXJ2aWNlcy4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUND RVNTIGlmIGl0IGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMN Cj4gK0VGSUFQSQ0KPiArUGVpSW5pdFBsYXRmb3JtICgNCj4gKyAgSU4gICAgICAgRUZJX1BFSV9G SUxFX0hBTkRMRSAgRmlsZUhhbmRsZSwNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAg ICAgKipQZWlTZXJ2aWNlcw0KPiArICApDQo+ICt7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFNtYnVzUmVnQmFzZTsNCj4gKyAgRUZJX1BMQVRGT1JNX0lORk9fSE9CICAg ICAgICAgICAgUGxhdGZvcm1JbmZvOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAg ICAgICBTdGF0dXM9IEVGSV9TVUNDRVNTOw0KPiArICBFRklfUEVJX1JFQURfT05MWV9WQVJJQUJM RTJfUFBJICAqVmFyaWFibGUgPSBOVUxMOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICBWYXJpYWJsZVNpemU7DQo+ICsgIFNZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICAg ICAgIFN5c3RlbUNvbmZpZ3VyYXRpb247DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAg ICAgICAgIEdHQyA9IDA7DQo+ICsNCj4gKyAgRUZJX1BFSV9QUElfREVTQ1JJUFRPUiAgICAgICAg ICAqbVZsdk1taW9Qb2xpY3lQcGlEZXNjOw0KPiArICBWTFZfTU1JT19QT0xJQ1lfUFBJICAgICAg ICAgICAgICptVmx2TW1pb1BvbGljeVBwaTsNCj4gKw0KPiArICBaZXJvTWVtICgmUGxhdGZvcm1J bmZvLCBzaXplb2YoUGxhdGZvcm1JbmZvKSk7DQo+ICsNCj4gKyAgU3RhdHVzID0gIEluc3RhbGxN b25vU3RhdHVzQ29kZShGaWxlSGFuZGxlLCBQZWlTZXJ2aWNlcyk7DQo+ICsgIEFTU0VSVF9FRklf RVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbml0aWFsaXplIFN0 YWxsIFBQSXMNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkluc3RhbGxQ cGkgKFBlaVNlcnZpY2VzLCAmbUluc3RhbGxTdGFsbFBwaVswXSk7DQo+ICsgIEFTU0VSVF9FRklf RVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPk5vdGlm eVBwaSAoUGVpU2VydmljZXMsDQo+ICZtTWVtb3J5RGlzY292ZXJlZE5vdGlmeUxpc3RbMF0pOw0K PiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArICBTbWJ1c1JlZ0Jhc2UgPSBQY2hQ Y2lEZXZpY2VNbUJhc2UgKA0KPiArICAgICAgICAgICAgICAgICAgIERFRkFVTFRfUENJX0JVU19O VU1CRVJfUENILA0KPiArICAgICAgICAgICAgICAgICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9T TUJVUywNCj4gKyAgICAgICAgICAgICAgICAgICBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9TTUJV Uw0KPiArICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIC8vDQo+ICsgIC8vIFNpbmNlIFBFSSBo YXMgbm8gUENJIGVudW1lcmF0b3IsIHNldCB0aGUgQkFSICYgSS9PIHNwYWNlIGVuYWJsZQ0KPiBv dXJzZWx2ZXMNCj4gKyAgLy8NCj4gKyAgTW1pb0FuZFRoZW5PcjMyIChTbWJ1c1JlZ0Jhc2UgKyBS X1BDSF9TTUJVU19CQVNFLA0KPiBCX1BDSF9TTUJVU19CQVNFX0JBUiwgU01CVVNfQkFTRV9BRERS RVNTKTsNCj4gKw0KPiArICBNbWlvT3I4IChTbWJ1c1JlZ0Jhc2UgKyBSX1BDSF9TTUJVU19QQ0lD TUQsDQo+IEJfUENIX1NNQlVTX1BDSUNNRF9JT1NFKTsNCj4gKw0KPiArICBQY2hCYXNlSW5pdCgp Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vVG9kbzogY29uZmlybSBpZiB3ZSBuZWVkIHByb2dyYW0g ODI1NA0KPiArICAvLw0KPiArICAvLyBTZXR0aW5nIDgyNTQNCj4gKyAgLy8gUHJvZ3JhbSB0aW1l ciAxIGFzIHJlZnJlc2ggdGltZXINCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTggKDB4NDMsIDB4NTQp Ow0KPiArICBJb1dyaXRlOCAoMHg0MSwgMHgxMik7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUlRD IHBvd2VyIGZhaWx1cmUgaGFuZGxpbmcNCj4gKyAgLy8NCj4gKyAgUnRjUG93ZXJGYWlsdXJlSGFu ZGxlciAoUGVpU2VydmljZXMpOw0KPiArDQo+ICsNCj4gKyAgUGNoTW1QY2kzMiggMCwgMCwgMiwg MCwgMHg1MCkgPSAweDIxMDsNCj4gKw0KPiArICBWYXJpYWJsZVNpemUgPSBzaXplb2YgKFNZU1RF TV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgWmVyb01lbSAoJlN5c3RlbUNvbmZpZ3VyYXRpb24sIFZh cmlhYmxlU2l6ZSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gT2J0YWluIHZhcmlhYmxlIHNlcnZp Y2VzDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5Mb2NhdGVQcGkoDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBlaVNlcnZpY2VzLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAmZ0VmaVBlaVJlYWRPbmx5VmFyaWFibGUyUHBpR3VpZCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHZvaWQgKiop JlZhcmlhYmxlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VS VF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKyAgU3RhdHVzID0gVmFyaWFibGUtPkdldFZhcmlhYmxl ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgVmFyaWFibGUsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgIEwiU2V0dXAiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAmZ0VmaVNldHVw VmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAmVmFyaWFibGVTaXplLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAmU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArCQkJCQkgICApOw0KPiArICBpZiAoRUZJX0VSUk9S IChTdGF0dXMpIHx8IFZhcmlhYmxlU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04p KQ0KPiB7DQo+ICsgICAgLy9UaGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ICsgICAg VmFyaWFibGVTaXplID0gc2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKTsNCj4gKyAgICBTdGF0 dXMgPSBWYXJpYWJsZS0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgIFZhcmlhYmxlLA0K PiArICAgICAgICAgICAgICBMIlNldHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAgICAgICAmZ0Vm aVNldHVwVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAg ICAgICAmVmFyaWFibGVTaXplLA0KPiArICAgICAgICAgICAgICAmU3lzdGVtQ29uZmlndXJhdGlv bg0KPiArICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgR0dD ID0gKCgyIDw8IDMpIHwgMHgyMDApOw0KPiArICAgIFBjaUNmZzE2V3JpdGUoRUNfQkFTRSwgMCwg MiwgMCwgMHg1MCwgR0dDKTsNCj4gKyAgICBHR0MgPSBQY2lDZmcxNlJlYWQoRUNfQkFTRSwgMCwg MiwgMCwgMHg1MCk7DQo+ICsgICAgREVCVUcoKEVGSV9EX0lORk8gLCAiR0dDOiAweCUwOHggR01T c2l6ZToweCUwOHhcbiIsIEdHQywgKEdHQyAmDQo+IChCSVQ3fEJJVDZ8QklUNXxCSVQ0fEJJVDMp KT4+MykpOw0KPiArICB9IGVsc2Ugew0KPiArICAgIGlmIChTeXN0ZW1Db25maWd1cmF0aW9uLkln ZCA9PSAxICYmDQo+IFN5c3RlbUNvbmZpZ3VyYXRpb24uUHJpbWFyeVZpZGVvQWRhcHRvciAhPSAy KSB7DQo+ICsgICAgICBHR0MgPSAoU3lzdGVtQ29uZmlndXJhdGlvbi5JZ2REdm10NTBQcmVBbGxv YyA8PCAzKSB8DQo+ICsgICAgICAgICAgICAoU3lzdGVtQ29uZmlndXJhdGlvbi5HVFRTaXplID09 IEdUVF9TSVpFXzFNQiA/IDB4MTAwOiAweDIwMCk7DQo+ICsgICAgICBQY2lDZmcxNldyaXRlKEVD X0JBU0UsIDAsIDIsIDAsIDB4NTAsIEdHQyk7DQo+ICsgICAgICBHR0MgPSBQY2lDZmcxNlJlYWQo RUNfQkFTRSwgMCwgMiwgMCwgMHg1MCk7DQo+ICsgICAgICBERUJVRygoRUZJX0RfSU5GTyAsICJH R0M6IDB4JTA4eCBHTVNzaXplOjB4JTA4eFxuIiwgR0dDLCAoR0dDICYNCj4gKEJJVDd8QklUNnxC SVQ1fEJJVDR8QklUMykpPj4zKSk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gSW5pdGlhbGl6ZSBQbGF0Zm9ybUluZm8gSE9CDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9 IFJlYWRQbGF0Zm9ybUlkcyhQZWlTZXJ2aWNlcywgJlBsYXRmb3JtSW5mbyk7DQo+ICsgIEFTU0VS VF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gMCAtPiBEaXNhYmxl ICwgMSAtPiBFbmFibGUNCj4gKyAgLy8NCj4gKyAgaWYoU3lzdGVtQ29uZmlndXJhdGlvbi5DZmlv UG5wU2V0dGluZ3MgPT0gMSkgew0KPiArICAgIERFQlVHKChFRklfRF9JTkZPLCAiQ2hlY2tDZmlv UG5wU2V0dGluZ3M6IENGSU8gUG5wIFNldHRpbmdzDQo+IEVuYWJsZWRcbiIpKTsNCj4gKyAgICBQ bGF0Zm9ybUluZm8uQ2Zpb0VuYWJsZWQgPSAxOw0KPiArICB9IGVsc2Ugew0KPiArICAgIERFQlVH KChFRklfRF9JTkZPLCAiQ2hlY2tDZmlvUG5wU2V0dGluZ3M6IENGSU8gUG5wIFNldHRpbmdzDQo+ IERpc2FibGVkXG4iKSk7DQo+ICsgICAgUGxhdGZvcm1JbmZvLkNmaW9FbmFibGVkID0gMDsNCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJ1aWxkIEhPQiBmb3IgUGxhdGZvcm1JbmZvDQo+ ICsgIC8vDQo+ICsgIEJ1aWxkR3VpZERhdGFIb2IgKA0KPiArICAgICZnRWZpUGxhdGZvcm1JbmZv R3VpZCwNCj4gKyAgICAmUGxhdGZvcm1JbmZvLA0KPiArICAgIHNpemVvZiAoRUZJX1BMQVRGT1JN X0lORk9fSE9CKQ0KPiArICAgICk7DQo+ICsNCj4gKw0KPiArI2lmZGVmIEZUUE1fRU5BQkxFDQo+ ICsgIFN0YXR1cyA9IEZ0cG1Qb2xpY3lJbml0KFBlaVNlcnZpY2VzLCAmU3lzdGVtQ29uZmlndXJh dGlvbik7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBERUJVRygoRUZJ X0RfRVJST1IsICJmVFBNIGluaXQgZmFpbGVkLlxuIikpOw0KPiArICB9DQo+ICsjZW5kaWYNCj4g Kw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNldCB0aGUgbmV3IGJvb3QgbW9kZSBmb3IgTVJDDQo+ ICsgIC8vDQo+ICsjaWZkZWYgTk9DU19TM19TVVBQT1JUDQo+ICsgIFN0YXR1cyA9IFVwZGF0ZUJv b3RNb2RlIChQZWlTZXJ2aWNlcyk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ ICsjZW5kaWYNCj4gKw0KPiArICBERUJVRygoRUZJX0RfSU5GTywgIlNldHVwIE1NSU8gc2l6ZSAu Li4gXG5cbiIpKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXR1cCBNTUlPIHNpemUNCj4gKyAg Ly8NCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkFsbG9jYXRlUG9vbCgNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIHNpemVvZiAoRUZJX1BFSV9QUElfREVTQ1JJUFRPUiksDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZtVmx2TW1pb1BvbGljeVBwaURlc2MNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAo U3RhdHVzKTsNCj4gKyAgU3RhdHVzID0gKCpQZWlTZXJ2aWNlcyktPkFsbG9jYXRlUG9vbCgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGVpU2VydmljZXMsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHNpemVvZiAoVkxWX01NSU9fUE9MSUNZX1BQSSksDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZtVmx2TW1pb1BvbGljeVBwaQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChT dGF0dXMpOw0KPiArICAoKlBlaVNlcnZpY2VzKS0+U2V0TWVtICgNCj4gKyAgICAgICAgICAgICAg ICAgICAgKFZPSUQgKiltVmx2TW1pb1BvbGljeVBwaSwNCj4gKyAgICAgICAgICAgICAgICAgICAg c2l6ZW9mIChWTFZfTU1JT19QT0xJQ1lfUFBJKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgMA0K PiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICBtVmx2TW1pb1BvbGljeVBwaURlc2MtPkZs YWdzID0gRUZJX1BFSV9QUElfREVTQ1JJUFRPUl9QUEkgfA0KPiBFRklfUEVJX1BQSV9ERVNDUklQ VE9SX1RFUk1JTkFURV9MSVNUOw0KPiArICBtVmx2TW1pb1BvbGljeVBwaURlc2MtPkd1aWQgPSAm Z1Zsdk1taW9Qb2xpY3lQcGlHdWlkOw0KPiArICBtVmx2TW1pb1BvbGljeVBwaURlc2MtPlBwaSA9 IG1WbHZNbWlvUG9saWN5UHBpOw0KPiArICBzd2l0Y2ggKFN5c3RlbUNvbmZpZ3VyYXRpb24uTW1p b1NpemUpIHsNCj4gKyAgICBjYXNlIDA6ICAgICAgLy8gNzY4TUINCj4gKyAgICAgIG1WbHZNbWlv UG9saWN5UHBpLT5NbWlvU2l6ZSA9IDB4MzAwOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2Fz ZSAxOiAgICAgIC8vIDFHQg0KPiArICAgICAgbVZsdk1taW9Qb2xpY3lQcGktPk1taW9TaXplID0g MHg0MDA7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIDI6ICAgICAgLy8gMS4yNUdCDQo+ ICsgICAgICBtVmx2TW1pb1BvbGljeVBwaS0+TW1pb1NpemUgPSAweDUwMDsNCj4gKyAgICAgIGJy ZWFrOw0KPiArICAgIGNhc2UgMzogICAgICAvLyAxLjVHQg0KPiArICAgICAgbVZsdk1taW9Qb2xp Y3lQcGktPk1taW9TaXplID0gMHg2MDA7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIDQ6 ICAgICAgLy8gMkdCDQo+ICsgICAgICBtVmx2TW1pb1BvbGljeVBwaS0+TW1pb1NpemUgPSAweDgw MDsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICBtVmx2TW1pb1Bv bGljeVBwaS0+TW1pb1NpemUgPSAweDgwMDsNCj4gKyAgICAgIGJyZWFrOw0KPiArICB9DQo+ICsg IFN0YXR1cyA9ICgqUGVpU2VydmljZXMpLT5JbnN0YWxsUHBpKA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgbVZsdk1taW9Qb2xpY3lQcGlEZXNjDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgcmV0dXJuIFN0 YXR1czsNCj4gK30NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArUmVhZFBsYXRmb3JtSWRzICgNCj4g KyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0K PiArICBJTiBPVVQgRUZJX1BMQVRGT1JNX0lORk9fSE9CICAgICAgICAgICpQbGF0Zm9ybUluZm9I b2INCj4gKyAgKQ0KPiArew0KPiArICB7DQo+ICsgICAgRUZJX1NUQVRVUyAgICAgICAgICAgICAg ICAgICAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gKyAgICBVSU5UOCAgICAgICAgICAgICAg ICAgICAgICAgICAgIEZhYklkID0gMDsNCj4gKyAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgIERhdGFTaXplOw0KPiArICAgIEVGSV9QTEFURk9STV9JTkZPX0hPQiAgICAgICAgICAg VG1wSG9iOw0KPiArICAgIEVGSV9QRUlfUkVBRF9PTkxZX1ZBUklBQkxFMl9QUEkgKlBlaVZhcjsN Cj4gKyAgICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgICAgIENvbXBhdGlibGVCb2FyZCA9 IDA7DQo+ICsNCj4gKyAgICBTdGF0dXMgPSAoKipQZWlTZXJ2aWNlcykuTG9jYXRlUHBpICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQZWlTZXJ2aWNlcywNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAmZ0VmaVBlaVJlYWRPbmx5VmFyaWFibGUyUHBpR3VpZCwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KHZvaWQgKiopJlBlaVZhcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAgIERhdGFTaXplID0g c2l6ZW9mIChFRklfUExBVEZPUk1fSU5GT19IT0IpOw0KPiArICAgIFN0YXR1cyA9IFBlaVZhci0+ R2V0VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICBQZWlWYXIsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgIEwiUGxhdGZvcm1JbmZvIiwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgJmdFZmlWbHYyVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICBO VUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAmRGF0YVNpemUsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICZUbXBIb2INCj4gKwkJCQkJICAgKTsNCj4gKw0KPiArICAgIGlmIChTdGF0 dXMgPT0gRUZJX1NVQ0NFU1MpIHsNCj4gKyAgICAgIFBsYXRmb3JtSW5mb0hvYi0+Qm9hcmRJZCAg ICAgICAgPSBUbXBIb2IuQm9hcmRJZDsNCj4gKyAgICAgIFBsYXRmb3JtSW5mb0hvYi0+TWVtQ2Zn SUQgICAgICAgPSBUbXBIb2IuTWVtQ2ZnSUQ7DQo+ICsgICAgICBQbGF0Zm9ybUluZm9Ib2ItPkJv YXJkUmV2ICAgICAgID0gVG1wSG9iLkJvYXJkUmV2Ow0KPiArICAgICAgUGxhdGZvcm1JbmZvSG9i LT5QbGF0Zm9ybUZsYXZvciA9IFRtcEhvYi5QbGF0Zm9ybUZsYXZvcjsNCj4gKyAgICAgIHJldHVy biBTdGF0dXM7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgQ29tcGF0aWJsZUJvYXJkID0gRGV0ZXJt aW5lVHVyYm90Qm9hcmQoKTsNCj4gKyAgIGlmICgxID09IENvbXBhdGlibGVCb2FyZCkgew0KPiAr ICAgICBQbGF0Zm9ybUluZm9Ib2ItPkJvYXJkSWQgICAgPSBCT0FSRF9JRF9NSU5OT1cyX1RVUkJP VDsNCj4gKyAgICAgREVCVUcgKChFRklfRF9JTkZPLCAgIkknbSBNaW5ub3dCb2FyZCBUdXJib3Qh XG4iKSk7DQo+ICsgICB9IGVsc2Ugew0KPiArICAgICBQbGF0Zm9ybUluZm9Ib2ItPkJvYXJkSWQg ICAgPSBCT0FSRF9JRF9NSU5OT1cyOw0KPiArICAgICBERUJVRyAoKEVGSV9EX0lORk8sICAiSSdt IE1pbm5vd0JvYXJkIE1heCFcbiIpKTsNCj4gKyAgIH0NCj4gKw0KPiArDQo+ICsgICAgUGxhdGZv cm1JbmZvSG9iLT5NZW1DZmdJRCAgID0gMDsNCj4gKyAgICBQbGF0Zm9ybUluZm9Ib2ItPkJvYXJk UmV2ICAgPSBGYWJJZCArIDE7CS8vIEZhYklkID0gMCBtZWFucyBGQUIxDQo+IChCb2FyZFJldiA9 IDEpLCBGYWJJZCA9IDEgbWVhbnMgRkFCMiAoQm9hcmRSZXYgPSAyKS4uLg0KPiArICAgIFBsYXRm b3JtSW5mb0hvYi0+UGxhdGZvcm1GbGF2b3IgPSBGbGF2b3JNb2JpbGU7DQo+ICsgIH0NCj4gKw0K PiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8vDQo+ICsvLyBTdGFydDo6 QWxwaW5lIFZhbGxleSBwbGF0Zm9ybQ0KPiArLy8NCj4gKy8qKg0KPiArICBUaGlzIHJvdXRpbmUg cmVhZHMgU3lzQ3RsIHJlZ2lzdGVycw0KPiArDQo+ICsgIEBwYXJhbSBTbWJ1c0Jhc2UgICBTTUJV UyBCYXNlIEFkZHJlc3MNCj4gKyAgQHBhcmFtIFNsdkFkZHIgICAgIFRhcmdldGVkIFNtYnVzIFNs YXZlIGRldmljZSBhZGRyZXNzDQo+ICsgIEBwYXJhbSBPcGVyYXRpb24gICBXaGljaCBTTUJ1cyBw cm90b2NvbCB3aWxsIGJlIHVzZWQNCj4gKyAgQHBhcmFtIE9mZnNldCAgICAgIE9mZnNldCBvZiB0 aGUgcmVnaXN0ZXINCj4gKyAgQHBhcmFtICBMZW5ndGggICAgIE51bWJlciBvZiBieXRlcw0KPiAr ICBAcGFyYW0gIEJ1ZmZlciAgICAgQnVmZmVyIGNvbnRhaW5zIHZhbHVlcyByZWFkIGZyb20gcmVn aXN0ZXJzDQo+ICsNCj4gKyAgQHJldHZhbCBTVUNDRVNTIGFzIHBhc3NlZA0KPiArICBAcmV0dmFs IE90aGVycyBhcyBmYWlsZWQNCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtQZWlTbWJ1 c0V4ZWMgKA0KPiArICBVSU5UMTYgU21idXNCYXNlLA0KPiArICBVSU5UOCBTbHZBZGRyLA0KPiAr ICBVSU5UOCBPcGVyYXRpb24sDQo+ICsgIFVJTlQ4IE9mZnNldCwNCj4gKyAgVUlOVDggKkxlbmd0 aCwNCj4gKyAgVUlOVDggKkJ1ZmZlcg0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgIFN0 YXR1cz1FRklfU1VDQ0VTUzsNCj4gKyAgVUlOVDggICAgICAgQXV4Y1JlZzsNCj4gKyAgVUlOVDgg ICAgICAgU21idXNPcGVyYXRpb24gPSAwOw0KPiArICBVSU5UOCAgICAgICBTdHNSZWc7DQo+ICsg IFVJTlQ4ICAgICAgIFNsdkFkZHJSZWc7DQo+ICsgIFVJTlQ4ICAgICAgIEhvc3RDbWRSZWc7DQo+ ICsgIFVJTlQ4ICAgICAgIEJsb2NrQ291bnQgPSAwOw0KPiArICBCT09MRUFOICAgICBCdWZmZXJU b29TbWFsbDsNCj4gKyAgVUlOVDggICAgICAgSW5kZXg7DQo+ICsgIFVJTlQ4ICAgICAgICpDYWxs QnVmZmVyOw0KPiArICBVSU5UOCAgCSAgUmV0cnlDb3VudCA9IEJVU19UUklFUzsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBNcmNTbWJ1c0V4ZWMgc3VwcG9ydHMgYnl0ZSBhbmQgYmxvY2sgcmVhZC4N Cj4gKyAgLy8gT25seSBhbGxvdyBCeXRlIG9yIGJsb2NrIGFjY2Vzcw0KPiArICAvLw0KPiArICBp ZiAoISgoKkxlbmd0aCAgPT0gQVZfU0NfQllURV9MRU4pIHx8ICgqTGVuZ3RoID09IEFWX1NDX0JM T0NLX0xFTikpKQ0KPiB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNlZSBpZiBpdHMgb2sgdG8gdXNlIHRoZSBidXMg YmFzZWQgdXBvbiBJTlVTRV9TVFMgYml0Lg0KPiArICAvLw0KPiArICBTdGF0dXMgPSBBY3F1aXJl QnVzIChTbWJ1c0Jhc2UpOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4g KyAgQ2FsbEJ1ZmZlciA9IEJ1ZmZlcjsNCj4gKw0KPiArICAvLw0KPiArICAvL1NtYlN0YXR1cyBC aXRzIG9mIGludGVyZXN0DQo+ICsgIC8vWzZdID0gSVVTIChJbiBVc2UgU3RhdHVzKQ0KPiArICAv L1s0XSA9IEZBSUwNCj4gKyAgLy9bM10gPSBCRVJSIChCdXMgRXJyb3IgPSB0cmFuc2FjdGlvbiBj b2xsaXNpb24pDQo+ICsgIC8vWzJdID0gREVSUiAoRGV2aWNlIEVycm9yID0gSWxsZWdhbCBDb21t YW5kIEZpZWxkLCBVbmNsYWltZWQgQ3ljbGUsIEhvc3QNCj4gRGV2aWNlIFRpbWVvdXQsIENSQyBF cnJvcikNCj4gKyAgLy9bMV0gPSBJTlRSIChTdWNjZXNzZnVsIGNvbXBsZXRpb24gb2YgbGFzdCBj b21tYW5kKQ0KPiArICAvL1swXSA9IEhPU1QgQlVTWQ0KPiArICAvLw0KPiArICAvLw0KPiArICAv LyBUaGlzIGlzIHRoZSBtYWluIG9wZXJhdGlvbiBsb29wLiAgSWYgdGhlIG9wZXJhdGlvbiByZXN1 bHRzIGluIGEgU21idXMNCj4gKyAgLy8gY29sbGlzaW9uIHdpdGggYW5vdGhlciBtYXN0ZXIgb24g dGhlIGJ1cywgaXQgYXR0ZW1wdHMgdGhlIHJlcXVlc3RlZA0KPiArICAvLyB0cmFuc2FjdGlvbiBh Z2FpbiBhdCBsZWFzdCBCVVNfVFJJRVMgYXR0ZW1wdHMuDQo+ICsgIC8vDQo+ICsgIHdoaWxlIChS ZXRyeUNvdW50LS0pIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIE9wZXJhdGlvbiBTcGVjaWZpY3Mg KHByZS1leGVjdXRpb24pDQo+ICsgICAgLy8NCj4gKyAgICBTdGF0dXMgICAgICAgICAgPSBFRklf U1VDQ0VTUzsNCj4gKyAgICBTbHZBZGRyUmVnICAgICAgPSBTbHZBZGRyOw0KPiArICAgIEhvc3RD bWRSZWcgICAgICA9IE9mZnNldDsNCj4gKyAgICBBdXhjUmVnICAgICAgICAgPSAwOw0KPiArDQo+ ICsJc3dpdGNoIChPcGVyYXRpb24pIHsNCj4gKw0KPiArCWNhc2UgU01CVVNfV1JJVEVfQllURToN Cj4gKyAgICBJb1dyaXRlOCAoU21idXNCYXNlK1JfUENIX1NNQlVTX0hEMCwgQ2FsbEJ1ZmZlclsw XSk7DQo+ICsJCVNtYnVzT3BlcmF0aW9uID0gVl9QQ0hfU01CVVNfU01CX0NNRF9CWVRFX0RBVEE7 DQo+ICsJYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIFNNQlVTX1JFQURfQllURToNCj4gKyAgICAg IFNtYnVzT3BlcmF0aW9uID0gVl9QQ0hfU01CVVNfU01CX0NNRF9CWVRFX0RBVEE7DQo+ICsJICAJ U2x2QWRkclJlZyB8PSBCX1BDSF9TTUJVU19SV19TRUxfUkVBRDsNCj4gKyAgICAgIGlmICgqTGVu Z3RoIDwgMSkgew0KPiArICAgICAgICBTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ ICsgICAgICB9DQo+ICsgICAgICAJKkxlbmd0aCA9IDE7DQo+ICsJYnJlYWs7DQo+ICsNCj4gKyAg ICBjYXNlIFNNQlVTX1dSSVRFX0JMT0NLOg0KPiArICAgICAgU21idXNPcGVyYXRpb24gID0gVl9Q Q0hfU01CVVNfU01CX0NNRF9CTE9DSzsNCj4gKyAgICAgIElvV3JpdGU4IChTbWJ1c0Jhc2UrUl9Q Q0hfU01CVVNfSEQwLCAqKFVJTlQ4ICopIExlbmd0aCk7DQo+ICsgICAgIAlCbG9ja0NvdW50ID0g KFVJTlQ4KSAoKkxlbmd0aCk7DQo+ICsgICAgIAlpZiAoKCpMZW5ndGggPCAxKSB8fCAoKkxlbmd0 aCA+IDMyKSkgew0KPiArICAgICAgICBTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ ICsgICAgICAgIGJyZWFrOw0KPiArICAgIAl9DQo+ICsgICAgICAJQXV4Y1JlZyB8PSBCX1BDSF9T TUJVU19FMzJCOw0KPiArCWJyZWFrOw0KPiArDQo+ICsgICAgY2FzZSBTTUJVU19SRUFEX0JMT0NL Og0KPiArICAgICAgU21idXNPcGVyYXRpb24gPSBWX1BDSF9TTUJVU19TTUJfQ01EX0JMT0NLOw0K PiArICAgICAJU2x2QWRkclJlZyB8PSBCX1BDSF9TTUJVU19SV19TRUxfUkVBRDsNCj4gKyAgICAg CWlmICgoKkxlbmd0aCA8IDEpIHx8ICgqTGVuZ3RoID4gMzIpKSB7DQo+ICsgICAgICAgIFN0YXR1 cyA9IEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgIAl9 DQo+ICsgICAgICAJQXV4Y1JlZyB8PSBCX1BDSF9TTUJVU19FMzJCOw0KPiArCWJyZWFrOw0KPiAr DQo+ICsgICAgZGVmYXVsdDoNCj4gKyAgICAgIAlTdGF0dXMgPSBFRklfSU5WQUxJRF9QQVJBTUVU RVI7DQo+ICsJYnJlYWs7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTZXQg QXV4aWxpYXJ5IENvbnRyb2wgcmVnaXN0ZXINCj4gKyAgICAvLw0KPiArICAgIElvV3JpdGU4IChT bWJ1c0Jhc2UrUl9QQ0hfU01CVVNfQVVYQywgQXV4Y1JlZyk7DQo+ICsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIFJlc2V0IHRoZSBwb2ludGVyIG9mIHRoZSBpbnRlcm5hbCBidWZmZXINCj4gKyAgICAv Lw0KPiArICAgIElvUmVhZDggKFNtYnVzQmFzZStSX1BDSF9TTUJVU19IQ1RMKTsNCj4gKw0KPiAr ICAgIC8vDQo+ICsgICAgLy8gTm93IHRoYXQgdGhlIDMyIGJ5dGUgYnVmZmVyIGlzIHR1cm5lZCBv biwgd2UgY2FuIHdyaXRlIHRoIGJsb2NrIGRhdGENCj4gKyAgICAvLyBpbnRvIGl0DQo+ICsgICAg Ly8NCj4gKyAgICBpZiAoT3BlcmF0aW9uID09IFNNQlVTX1dSSVRFX0JMT0NLKSB7DQo+ICsgICAg ICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBCbG9ja0NvdW50OyBJbmRleCsrKSB7DQo+ICsgICAg ICAgIC8vDQo+ICsgICAgICAgIC8vIFdyaXRlIG5leHQgYnl0ZQ0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICBJb1dyaXRlOCAoU21idXNCYXNlK1JfUENIX1NNQlVTX0hCRCwgQ2FsbEJ1ZmZlcltJ bmRleF0pOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8g U2V0IFNNQnVzIHNsYXZlIGFkZHJlc3MgZm9yIHRoZSBkZXZpY2UgdG8gcmVhZA0KPiArICAgIC8v DQo+ICsgICAgSW9Xcml0ZTgoU21idXNCYXNlK1JfUENIX1NNQlVTX1RTQSwgU2x2QWRkclJlZyk7 DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vDQo+ICsgICAgLy8gU2V0IENvbW1hbmQgcmVnaXN0 ZXIgZm9yIHRoZSBvZmZzZXQgdG8gcmVhZA0KPiArICAgIC8vDQo+ICsgICAgSW9Xcml0ZTgoU21i dXNCYXNlK1JfUENIX1NNQlVTX0hDTUQsIEhvc3RDbWRSZWcgKTsNCj4gKw0KPiArICAgIC8vDQo+ ICsgICAgLy8gU2V0IENvbnRyb2wgUmVnaXN0ZXIgdG8gU2V0ICJvcGVyYXRpb24gY29tbWFuZCIg cHJvdG9jb2wgYW5kIHN0YXJ0IGJpdA0KPiArICAgIC8vDQo+ICsgICAgSW9Xcml0ZTgoU21idXNC YXNlK1JfUENIX1NNQlVTX0hDVEwsIChVSU5UOCkgKFNtYnVzT3BlcmF0aW9uICsNCj4gQl9QQ0hf U01CVVNfU1RBUlQpKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gV2FpdCBmb3IgSU8gdG8g Y29tcGxldGUNCj4gKyAgICAvLw0KPiArCWRvIHsgU3RzUmVnID0gKFVJTlQ4KSBJb1JlYWQ4KFNt YnVzQmFzZSswKTsgfSB3aGlsZSAoKFN0c1JlZyAmDQo+IChCSVQ0fEJJVDN8QklUMnxCSVQxKSkg PT0gMCk7DQo+ICsNCj4gKwkgIGlmIChTdHNSZWcgJiBCX1BDSF9TTUJVU19ERVJSKSB7DQo+ICsg ICAgICBTdGF0dXMgPSBFRklfREVWSUNFX0VSUk9SOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAg fSBlbHNlIGlmIChTdHNSZWcgJiBCX1BDSF9TTUJVU19CRVJSKSB7DQo+ICsgICAgICAvLw0KPiAr ICAgICAgLy8gQ2xlYXIgdGhlIEJ1cyBFcnJvciBmb3IgYW5vdGhlciB0cnkNCj4gKyAgICAgIC8v DQo+ICsgICAgICBTdGF0dXMgPSBFRklfREVWSUNFX0VSUk9SOw0KPiArICAgICAgSW9Xcml0ZTgo U21idXNCYXNlK1JfUENIX1NNQlVTX0hTVFMsIEJfUENIX1NNQlVTX0JFUlIpOw0KPiArDQo+ICsg ICAgICAvLw0KPiArICAgICAgLy8gQ2xlYXIgU3RhdHVzIFJlZ2lzdGVycw0KPiArICAgICAgLy8N Cj4gKyAgICAgIElvV3JpdGU4KFNtYnVzQmFzZStSX1BDSF9TTUJVU19IU1RTLCBCX1BDSF9TTUJV U19IU1RTX0FMTCk7DQo+ICsgICAgICBJb1dyaXRlOChTbWJ1c0Jhc2UrUl9QQ0hfU01CVVNfQVVY UywgQl9QQ0hfU01CVVNfQ1JDRSk7DQo+ICsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0N Cj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gc3VjY2Vzc2Z1bGwgY29tcGxldGlvbg0KPiArICAg IC8vIE9wZXJhdGlvbiBTcGVjaWZpY3MgKHBvc3QtZXhlY3V0aW9uKQ0KPiArICAgIC8vDQo+ICsg ICAgc3dpdGNoIChPcGVyYXRpb24pIHsNCj4gKw0KPiArICAgIGNhc2UgU01CVVNfUkVBRF9CWVRF Og0KPiArICAgICAgQ2FsbEJ1ZmZlclswXSA9IChVSU5UOCkoSW9SZWFkOCAoU21idXNCYXNlK1Jf UENIX1NNQlVTX0hEMCkpOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIFNNQlVT X1dSSVRFX0JMT0NLOg0KPiArICAgICAgSW9Xcml0ZTgoU21idXNCYXNlK1JfUENIX1NNQlVTX0hT VFMsDQo+IEJfUENIX1NNQlVTX0JZVEVfRE9ORV9TVFMpOw0KPiArICAgICAgYnJlYWs7DQo+ICsN Cj4gKyAgICBjYXNlIFNNQlVTX1JFQURfQkxPQ0s6DQo+ICsgICAgICBCdWZmZXJUb29TbWFsbCA9 IEZBTFNFOw0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gRmluZCBvdXQgaG93IG1hbnkg Ynl0ZXMgd2lsbCBiZSBpbiB0aGUgYmxvY2sNCj4gKyAgICAgIC8vDQo+ICsgICAgICBCbG9ja0Nv dW50ID0gKFVJTlQ4KShJb1JlYWQ4IChTbWJ1c0Jhc2UrUl9QQ0hfU01CVVNfSEQwKSk7DQo+ICsg ICAgICBpZiAoKkxlbmd0aCA8IEJsb2NrQ291bnQpIHsNCj4gKyAgICAgICAgQnVmZmVyVG9vU21h bGwgPSBUUlVFOw0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgZm9yIChJbmRleCA9IDA7 IEluZGV4IDwgQmxvY2tDb3VudDsgSW5kZXgrKykgew0KPiArICAgICAgICAgIC8vDQo+ICsgICAg ICAgICAgLy8gUmVhZCB0aGUgYnl0ZQ0KPiArICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgQ2Fs bEJ1ZmZlcltJbmRleF0gPSAoVUlOVDgpSW9SZWFkOA0KPiAoU21idXNCYXNlK1JfUENIX1NNQlVT X0hCRCk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgKkxlbmd0aCA9 IEJsb2NrQ291bnQ7DQo+ICsgICAgICBpZiAoQnVmZmVyVG9vU21hbGwpIHsNCj4gKyAgICAgICAg U3RhdHVzID0gRUZJX0JVRkZFUl9UT09fU01BTEw7DQo+ICsgICAgICB9DQo+ICsgICAgICBicmVh azsNCj4gKw0KPiArICAgIGRlZmF1bHQ6DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9Ow0KPiAr DQo+ICsgICAgaWYgKChTdHNSZWcgJiBCX1BDSF9TTUJVU19CRVJSKSAmJiAoU3RhdHVzID09IEVG SV9TVUNDRVNTKSkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIENsZWFyIHRoZSBCdXMgRXJy b3IgZm9yIGFub3RoZXIgdHJ5DQo+ICsgICAgICAvLw0KPiArICAgICAgU3RhdHVzID0gRUZJX0RF VklDRV9FUlJPUjsNCj4gKyAgICAgIElvV3JpdGU4KFNtYnVzQmFzZStSX1BDSF9TTUJVU19IU1RT LCBCX1BDSF9TTUJVU19CRVJSKTsNCj4gKw0KPiArICAgICAgY29udGludWU7DQo+ICsgICAgfSBl bHNlIHsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIENsZWFyIFN0YXR1cyBSZWdpc3RlcnMgYW5kIGV4aXQNCj4gKyAgLy8NCj4gKyAgSW9X cml0ZTgoU21idXNCYXNlK1JfUENIX1NNQlVTX0hTVFMsIEJfUENIX1NNQlVTX0hTVFNfQUxMKTsN Cj4gKyAgSW9Xcml0ZTgoU21idXNCYXNlK1JfUENIX1NNQlVTX0FVWFMsIEJfUENIX1NNQlVTX0NS Q0UpOw0KPiArICBJb1dyaXRlOChTbWJ1c0Jhc2UrUl9QQ0hfU01CVVNfQVVYQywgMCk7DQo+ICsg IHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsvLw0KPiArLy8gRW5kOjpBbHBpbmUgVmFsbGV5IHBs YXRmb3JtDQo+ICsvLw0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1QZWkvUGxhdGZvcm0uaA0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5lMTgxN2IyOGM2DQo+IC0tLSAvZGV2L251bGwNCj4g KysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1QZWkvUGxhdGZv cm0uaA0KPiBAQCAtMCwwICsxLDIxMyBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ICsjaWZu ZGVmIF9fUEVJX1BMQVRGT1JNX0hfXw0KPiArI2RlZmluZSBfX1BFSV9QTEFURk9STV9IX18NCj4g Kw0KPiArI2RlZmluZSBQRUlfU1RBTExfUkVTT0xVVElPTiAgICAgICAgICAgIDENCj4gKyNkZWZp bmUgU1RBTExfUEVJTV9TSUdOQVRVUkUgICBTSUdOQVRVUkVfMzIoJ3AnLCdwJywndScsJ3MnKQ0K PiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAg ICBTaWduYXR1cmU7DQo+ICsgIEVGSV9GRlNfRklMRV9IRUFERVIgICAgICAgICAqRmZzSGVhZGVy Ow0KPiArICBFRklfUEVJX05PVElGWV9ERVNDUklQVE9SICAgU3RhbGxOb3RpZnk7DQo+ICt9IFNU QUxMX0NBTExCQUNLX1NUQVRFX0lORk9STUFUSU9OOw0KPiArDQo+ICsjZGVmaW5lIFNUQUxMX1BF SU1fRlJPTV9USElTKGEpIENSIChhLA0KPiBTVEFMTF9DQUxMQkFDS19TVEFURV9JTkZPUk1BVElP TiwgU3RhbGxOb3RpZnksDQo+IFNUQUxMX1BFSU1fU0lHTkFUVVJFKQ0KPiArDQo+ICsjaWZkZWYg Tk9DU19TM19TVVBQT1JUDQo+ICsNCj4gKy8qKg0KPiArICBQZWZvcm0gdGhlIGJvb3QgbW9kZSBk ZXRlcm1pbmF0aW9uIGxvZ2ljDQo+ICsgIElmIHRoZSBib3ggaXMgY2xvc2VkLCB0aGVuDQo+ICsg IDEuIElmIGl0J3MgZmlyc3QgdGltZSB0byBib290LCBpdCdzIGJvb3Qgd2l0aCBmdWxsIGNvbmZp ZyAuDQo+ICsgIDIuIElmIHRoZSBDaGFzc2lzSW50cnV0aW9uIGlzIHNlbGVjdGVkLCBmb3JjZSB0 byBiZSBhIGJvb3Qgd2l0aCBmdWxsIGNvbmZpZw0KPiArICAzLiBPdGhlcndpc2UgaXQncyBib290 IHdpdGggbm8gY2hhbmdlLg0KPiArDQo+ICsgIEBwYXJhbSAgUGVpU2VydmljZXMgR2VuZXJhbCBw dXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeSBQRUlNLg0KPiArICBAcGFyYW0gIEJv b3RNb2RlIFRoZSBkZXRlY3RlZCBib290IG1vZGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VD Q0VTUyBpZiB0aGUgYm9vdCBtb2RlIGNvdWxkIGJlIHNldA0KPiArKiovDQo+ICtFRklfU1RBVFVT DQo+ICtVcGRhdGVCb290TW9kZSAoDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU0VSVklDRVMgICAg ICoqUGVpU2VydmljZXMNCj4gKyAgKTsNCj4gKyNlbmRpZg0KPiArDQo+ICsvKioNCj4gKyAgVGhp cyBmdW5jdGlvbiByZXNldCB0aGUgZW50aXJlIHBsYXRmb3JtLCBpbmNsdWRpbmcgYWxsIHByb2Nl c3NvciBhbmQgZGV2aWNlcywNCj4gYW5kDQo+ICsgIHJlYm9vdHMgdGhlIHN5c3RlbS4NCj4gKw0K PiArICBEZWNsYXJhdGlvbiBvZiB0aGlzIGZ1bmN0aW9uIGdvZXMgdG8NCj4gTWRlTW9kdWxlUGtn L0luY2x1ZGUvTGlicmFyeS9SZXNldFN5c3RlbUxpYi5oDQo+ICsNCj4gKyAgQHBhcmFtICBQZWlT ZXJ2aWNlcyBHZW5lcmFsIHB1cnBvc2Ugc2VydmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBFSU0u DQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyBpZiBpdCBjb21wbGV0ZWQgc3VjY2Vzc2Z1 bGx5Lg0KPiArKiovDQo+ICsvLyBFRklfU1RBVFVTDQo+ICsvLyBFRklBUEkNCj4gKy8vIFJlc2V0 U3lzdGVtICgNCj4gKyAgLy8gSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICAgICAgICAqKlBl aVNlcnZpY2VzDQo+ICsgIC8vICk7DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHdp bGwgYmUgY2FsbGVkIHdoZW4gTVJDIGlzIGRvbmUuDQo+ICsNCj4gKyAgQHBhcmFtICBQZWlTZXJ2 aWNlcyAgICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeSBQ RUlNLg0KPiArICBAcGFyYW0gIE5vdGlmeURlc2NyaXB0b3IgICBJbmZvcm1hdGlvbiBhYm91dCB0 aGUgbm90aWZ5IGV2ZW50Li4NCj4gKyAgQHBhcmFtICBQcGkgICAgICAgICAgICAgICAgVGhlIG5v dGlmeSBjb250ZXh0Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgIElmIHRo ZSBmdW5jdGlvbiBjb21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArKiovDQo+ICtFRklfU1RBVFVT DQo+ICtFRklBUEkNCj4gK01lbW9yeURpc2NvdmVyZWRQcGlOb3RpZnlDYWxsYmFjayAoDQo+ICsg IElOIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0K PiArICBJTiBFRklfUEVJX05PVElGWV9ERVNDUklQVE9SICAgICAgICAgICAgKk5vdGlmeURlc2Ny aXB0b3IsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqUHBp DQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGlzIHRoZSBjYWxsYmFjayBmdW5jdGlv biBub3RpZmllZCBieSBGdkZpbGVMb2FkZXIgUFBJLCBpdCBkZXBlbmRzIG9uDQo+IEZ2RmlsZUxv YWRlciBQUEkgdG8gbG9hZA0KPiArICB0aGUgUEVJTSBpbnRvIG1lbW9yeS4NCj4gKw0KPiArICBA cGFyYW0gIFBlaVNlcnZpY2VzICAgICAgIEdlbmVyYWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFi bGUgdG8gZXZlcnkgUEVJTS4NCj4gKyAgQHBhcmFtICBOb3RpZnlEZXNjcmlwdG9yICBUaGUgY29u dGV4dCBvZiBub3RpZmljYXRpb24uDQo+ICsgIEBwYXJhbSAgUHBpICAgICAgICAgICAgICAgVGhl IG5vdGlmeSBQUEkuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBpZiBpdCBj b21wbGV0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK0Z2RmlsZUxvYWRlclBwaU5vdGlmeUNhbGxiYWNrICgNCj4gKyAgSU4gRUZJX1BFSV9TRVJW SUNFUyAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4gKyAgSU4gRUZJX1BFSV9OT1RJRllfREVT Q1JJUFRPUiAgKk5vdGlmeURlc2NyaXB0b3IsDQo+ICsgIElOIFZPSUQgICAgICAgICAgICAgICAg ICAgICAgICpQcGkNCj4gKyAgKTsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gcHJv dmlkZXMgYSBibG9ja2luZyBzdGFsbCBmb3IgcmVzZXQgYXQgbGVhc3QgdGhlIGdpdmVuIG51bWJl ciBvZg0KPiBtaWNyb3NlY29uZHMNCj4gKyAgc3RpcHVsYXRlZCBpbiB0aGUgZmluYWwgYXJndW1l bnQuDQo+ICsNCj4gKyAgQHBhcmFtICBQZWlTZXJ2aWNlcyAgICBHZW5lcmFsIHB1cnBvc2Ugc2Vy dmljZXMgYXZhaWxhYmxlIHRvIGV2ZXJ5IFBFSU0uDQo+ICsgIEBwYXJhbSAgdGhpcyBQb2ludGVy ICAgdG8gdGhlIGxvY2FsIGRhdGEgZm9yIHRoZSBpbnRlcmZhY2UuDQo+ICsgIEBwYXJhbSAgTWlj cm9zZWNvbmRzICAgbnVtYmVyIG9mIG1pY3Jvc2Vjb25kcyBmb3Igd2hpY2ggdG8gc3RhbGwuDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICB0aGUgZnVuY3Rpb24gcHJvdmlkZWQgYXQg bGVhc3QgdGhlIHJlcXVpcmVkIHN0YWxsLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklB UEkNCj4gK1N0YWxsICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICoqUGVpU2Vy dmljZXMsDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU1RBTExfUFBJICAqVGhpcywNCj4gKyAgSU4g VUlOVE4gICAgICAgICAgICAgICAgICAgIE1pY3Jvc2Vjb25kcw0KPiArICApOw0KPiArDQo+ICsv KioNCj4gKyAgVGhpcyBmdW5jdGlvbiBpbml0aWFsaXplIHJlY292ZXJ5IGZ1bmN0aW9uYWxpdHkg YnkgaW5zdGFsbGluZyB0aGUgcmVjb3ZlcnkgUFBJLg0KPiArDQo+ICsgIEBwYXJhbSAgUGVpU2Vy dmljZXMgIEdlbmVyYWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFibGUgdG8gZXZlcnkgUEVJTS4N Cj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICBJZiB0aGUgaW50ZXJmYWNlIGNvdWxkIGJl IHN1Y2Nlc3NmdWxseSBpbnN0YWxsZWQuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQ SQ0KPiArSW5pdGlhbGl6ZVJlY292ZXJ5ICgNCj4gKyAgSU4gRUZJX1BFSV9TRVJWSUNFUyAgICAg KipQZWlTZXJ2aWNlcw0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbg0K PiArICAgIDEuIENhbGxpbmcgTVJDIHRvIGluaXRpYWxpemUgbWVtb3J5Lg0KPiArICAgIDIuIElu c3RhbGwgRUZJIE1lbW9yeS4NCj4gKyAgICAzLiBDYXBzdWxlIGNvYWxlc2NlIGlmIGNhcHN1bGUg Ym9vdCBtb2RlLg0KPiArICAgIDQuIENyZWF0ZSBIT0Igb2Ygc3lzdGVtIG1lbW9yeS4NCj4gKw0K PiArICBAcGFyYW0gIFBlaVNlcnZpY2VzIFBvaW50ZXIgdG8gdGhlIFBFSSBTZXJ2aWNlIFRhYmxl DQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyBJZiBpdCBjb21wbGV0ZXMgc3VjY2Vzc2Z1 bGx5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK01lbW9yeUluaXQgKA0KPiArICBJ TiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICoqUGVpU2VydmljZXMNCj4gKyAgKTsNCj4gKw0K PiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgdGhlIGltcGxlbWVudGF0aW9uIG9m IEF0YUNvbnRyb2xsZXIgUFBJIEVuYWJsZQ0KPiBDaGFubmVsIGZ1bmN0aW9uLg0KPiArDQo+ICsg IEBwYXJhbSAgUGVpU2VydmljZXMgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0 byBldmVyeSBQRUlNLg0KPiArICBAcGFyYW0gIHRoaXMgUG9pbnRlciB0byB0aGUgbG9jYWwgZGF0 YSBmb3IgdGhlIGludGVyZmFjZS4NCj4gKyAgQHBhcmFtICBDaGFubmVsTWFzayBUaGlzIHBhcmFt ZXRlciBpcyB1c2VkIHRvIHNwZWNpZnkgcHJpbWFyeSBvciBzbGF2ZXJ5DQo+IElERSBjaGFubmVs Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgIFByb2NlZHVyZSByZXR1cm5lZCBzdWNj ZXNzZnVsbHkuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VuYWJsZUF0YUNoYW5uZWwgKA0K PiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAgICAgKipQZWlTZXJ2aWNlcywNCj4g KyAgSU4gUEVJX0FUQV9DT05UUk9MTEVSX1BQSSAgICAgICAgICpUaGlzLA0KPiArICBJTiBVSU5U OCAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhbm5lbE1hc2sNCj4gKyAgKTsNCj4gKw0KPiAr LyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gcHJvdmlkZXMgdGhlIGltcGxlbWVudGF0aW9uIG9mIEF0 YUNvbnRyb2xsZXIgUFBJIEdldCBJREUNCj4gY2hhbm5lbCBSZWdpc3RlciBCYXNlIEFkZHJlc3MN Cj4gKw0KPiArICBAcGFyYW0gIFBlaVNlcnZpY2VzICAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZp Y2VzIGF2YWlsYWJsZSB0byBldmVyeSBQRUlNLg0KPiArICBAcGFyYW0gIHRoaXMgICAgICAgICAg ICAgUG9pbnRlciB0byB0aGUgbG9jYWwgZGF0YSBmb3IgdGhlIGludGVyZmFjZS4NCj4gKyAgQHBh cmFtICBJZGVSZWdzQmFzZUFkZHIgIFBvaW50ZXIgdG8gSURFX1JFR1NfQkFTRV9BRERSIHN0cnVj dCwNCj4gd2hpY2ggaXMgdXNlZCB0byByZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgIElERSBDb21tYW5kIGFuZCBDb250cm9sIHJlZ2Vpc3RlcnMgQmFzZSBBZGRyZXNzLg0KPiAr DQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgIFByb2NlZHVyZSByZXR1cm5lZCBzdWNjZXNzZnVs bHkuDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0dldElkZVJlZ3NCYXNlQWRkciAoDQo+ICsg IElOIEVGSV9QRUlfU0VSVklDRVMgICAgICAgICAgICAgICAqKlBlaVNlcnZpY2VzLA0KPiArICBJ TiBQRUlfQVRBX0NPTlRST0xMRVJfUFBJICAgICAgICAgKlRoaXMsDQo+ICsgIElOIElERV9SRUdT X0JBU0VfQUREUiAgICAgICAgICAgICAqSWRlUmVnc0Jhc2VBZGRyDQo+ICsgICk7DQo+ICsNCj4g Ky8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIHByb3ZpZGVzIHRoZSBpbXBsZW1lbnRhdGlvbiB0byBw cm9wZXJseSBzZXR1cCBib3RoIExNICYNCj4gUERNIGZ1bmN0aW9uYWxpdHkuDQo+ICsNCj4gKyAg QHBhcmFtICBQZWlTZXJ2aWNlcyAgICAgIEdlbmVyYWwgcHVycG9zZSBzZXJ2aWNlcyBhdmFpbGFi bGUgdG8gZXZlcnkgUEVJTS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICBQcm9jZWR1 cmUgcmV0dXJuZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0NvbmZpZ3VyZUxNKA0KPiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICoqUGVpU2VydmljZXMNCj4g KyAgKTsNCj4gKw0KPiArI2luY2x1ZGUgPFBwaS9WbHZNbWlvUG9saWN5Lmg+DQo+ICsNCj4gK0JP T0xFQU4NCj4gK0VGSUFQSQ0KPiArSXNGYXN0Qm9vdEVuYWJsZWQgKA0KPiArICBJTiBDT05TVCBF RklfUEVJX1NFUlZJQ0VTICoqUGVpU2VydmljZXMNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRV Uw0KPiArUHJpb3JpdGl6ZUJvb3RNb2RlICgNCj4gKyAgSU4gT1VUIEVGSV9CT09UX01PREUgICAg KkN1cnJlbnRCb290TW9kZSwNCj4gKyAgSU4gRUZJX0JPT1RfTU9ERSAgICAgICAgTmV3Qm9vdE1v ZGUNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtDYXBzdWxlUHBp Tm90aWZ5Q2FsbGJhY2sgKA0KPiArICBJTiBFRklfUEVJX1NFUlZJQ0VTICAgICAgICAgICAqKlBl aVNlcnZpY2VzLA0KPiArICBJTiBFRklfUEVJX05PVElGWV9ERVNDUklQVE9SICAqTm90aWZ5RGVz Y3JpcHRvciwNCj4gKyAgSU4gVk9JRCAgICAgICAgICAgICAgICAgICAgICAgKlBwaQ0KPiArICAp Ow0KPiArI2VuZGlmDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybVBlaS5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9QbGF0Zm9ybVBlaS9QbGF0Zm9ybVBlaS5pbmYNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYzk3NjI3M2NlMw0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL1Bs YXRmb3JtUGVpLmluZg0KPiBAQCAtMCwwICsxLDEyOSBAQA0KPiArIw0KPiArIw0KPiArIyBDb3B5 cmlnaHQgKGMpICAxOTk5ICAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkDQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsjDQo+ICsjDQo+ICsjIFRoaXMgUEVJTSBpbmNsdWRlcyAzIHBhcnRzLCBwcmUg bWVtb3J5IGluaXRpYWxpemF0aW9uLCBNUkMNCj4gKyMgIHdyYXBwZXIgYW5kIHBvc3QgbWVtb3J5 IGluaXRpYWxpemF0aW9uLg0KPiArIyAgT24gcHJlIG1lbW9yeSwgZm9sbG93aW5nIGFjdGlvbiBp cyBwZXJmb3JtZWQsDQo+ICsjICAxLiBJbml0aXpsdWl6ZSBHTUNILg0KPiArIyAgMi4gRGV0ZWN0 IGJvb3QgbW9kZS4NCj4gKyMgIDMuIERldGVjdCB2aWRlbyBhZGFwdGVyIHRvIGRldGVybWluZSB3 aGV0aGVyIHdlIG5lZWQgcHJlIGFsbG9jYXRlZA0KPiArIyAgbWVtb3J5Lg0KPiArIw0KPiArIyAg QWZ0ZXIgdGhhdCBNUkMgd3JhcHBlciBjYWxscyBNUkMgdG8gaW5pdGlhbGl6ZSBtZW1vcnkgYW5k IGluc3RhbGwgYSBQUEkNCj4gKyMgIG5vdGlmeSB0byBkbyBwb3N0IG1lbW9yeQ0KPiArIyAgaW5p dGlhbGl6YXRpb24uIE1SQyB3cmFwcGVyIHBlcmZvcm1hbmNlIGZvbGxvd2luZyBhY3Rpb25zLA0K PiArIyAgMS4gSW5zdGFsbCBFRkkgTWVtb3J5Lg0KPiArIyAgMi4gQ2Fwc3VsZSBjb2FsZXNjZSBp ZiBjYXBzdWxlIGJvb3QgbW9kZS4NCj4gKyMgIDMuIENyZWF0ZSBIT0Igb2Ygc3lzdGVtIG1lbW9y eS4NCj4gKyMgIE5vdGU6IE1SQyBzdXBwb3J0cyAzIGtpbmRzIG9mIGNoaXBzZXRzIGluY2x1ZGlu ZyBMYWtlcG9ydCwgR2xlbndvb2QNCj4gYW5kIE11a2lsdGVvLA0KPiArIyAgIHNvIHBsZWFzZSBk b24ndCBkZWZpbmUgTUFDUk8gTVVLSUxURU9fU1VQUE9SVCBvbiBMYWtlcG9ydCBoZXJlLg0KPiAr Iw0KPiArIyAgT24gcG9zdCBtZW1vcnksIGZvbGxvd2luZyBhY3Rpb24gaXMgcGVyZm9ybWVkLA0K PiArIyAgMS4gVEMgaW5pdGlhbGl6YXRpb24gYWZ0ZXIgTVJDLg0KPiArIyAgMi4gU0lPIGluaXRp YWxpemF0aW9uLg0KPiArIyAgMy4gSW5zdGFsbCBSZXNldFN5c3RlbSBhbmQgRmludkZ2IFBQSSwg cmVsb2NhdGUgU3RhbGwgdG8gbWVtb3J5IG9uDQo+ICsjICAgcmVjb3ZlcnkgYm9vdCBtb2RlLg0K PiArIyAgNC4gU2V0IE1UUlIgZm9yIFBFSQ0KPiArIyAgNS4gQ3JlYXRlIEZWIEhPQiBhbmQgRmxh c2ggSE9CDQo+ICsjICA2LiBJbnN0YWxsIFJlY292ZXJ5TW9kdWxlIGFuZCBBdGFDb250cm9sbGVy IFBQSSBpZiBvbiByZWNvdmVyeSBib290DQo+IG1vZGUuDQo+ICsjDQo+ICsjICBUaGlzIFBFSU0g ZG9lcyBub3QgaGF2ZSBhbnkgcmVnaXN0ZXIgYWNjZXNzIGRpcmVjdGx5LCBpdCBkZXBlbmRzIG9u DQo+ICsjICBJbnRlbFRDTGliLCBUQ0FjY2VzcyBsaWJyYXJpZXMgdG8gYWNjZXNzIENoaXBzZXQN Cj4gKyMgIHJlZ2lzdGVycy4NCj4gKyMNCj4gKyMgIFBsYXRmb3JtLmMgLSBQcm92aWRlIG1haW4g ZmxvdyBhbmQgZW50cnlwb2ludCBvZiBQRUlNLg0KPiArIyAgTWVtb3J5Q2FsbGJhY2suYyAtIElu Y2x1ZGVzIGEgbWVtb3J5IGNhbGwgYmFjayBmdW5jdGlvbiBub3RpZmllZCB3aGVuDQo+ICsjICAg ICBNUkMgaXMgZG9uZS4NCj4gKyMNCj4gKyMNCj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9W RVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAg ICAgICAgICAgICAgICAgICAgID0gUGxhdGZvcm1QZWltDQo+ICsgIEZJTEVfR1VJRCAgICAgICAg ICAgICAgICAgICAgICA9IDk2MThDMERDLTUwQTQtNDk2Yy05OTRGLTcyNDFGMjgyRUQwMQ0KPiAr ICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBQRUlNDQo+ICsgIFZFUlNJT05fU1RS SU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBFTlRSWV9QT0lOVCAgICAgICAgICAgICAg ICAgICAgPSBQZWlJbml0UGxhdGZvcm0NCj4gKyAgUElfU1BFQ0lGSUNBVElPTl9WRVJTSU9OCSAg ID0gMHgwMDAxMDAwQQ0KPiArDQo+ICtbc291cmNlcy5jb21tb25dDQo+ICsgIFBsYXRmb3JtLmMN Cj4gKyAgUGxhdGZvcm0uaA0KPiArICBNZW1vcnlDYWxsYmFjay5jDQo+ICsgIENvbW1vbkhlYWRl ci5oDQo+ICsgIFN0YWxsLmMNCj4gKyAgQm9vdE1vZGUuYw0KPiArDQo+ICsNCj4gK1tQYWNrYWdl c10NCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgTWRlTW9kdWxlUGtnL01kZU1vZHVsZVBr Zy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ICsgIEludGVs RnJhbWV3b3JrUGtnL0ludGVsRnJhbWV3b3JrUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29k ZVBrZy9WbHYyRGV2aWNlUmVmQ29kZVBrZy5kZWMNCj4gKyAgVmx2MlNvY0JpblBrZy9WbHYyU29j QmluUGtnLmRlYw0KPiArICBVZWZpQ3B1UGtnL1VlZmlDcHVQa2cuZGVjDQo+ICsgIENyeXB0b1Br Zy9DcnlwdG9Qa2cuZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgUGVpbUVudHJ5 UG9pbnQNCj4gKyAgRGVidWdMaWINCj4gKyAgSG9iTGliDQo+ICsgIElvTGliDQo+ICsgIE11bHRp UGxhdGZvcm1MaWINCj4gKyAgTXRyckxpYg0KPiArICBQZXJmb3JtYW5jZUxpYg0KPiArICBNb25v U3RhdHVzQ29kZUxpYg0KPiArICBCYXNlQ3J5cHRMaWINCj4gKyAgUGNpTGliDQo+ICsNCj4gK1tQ cGlzXQ0KPiArICBnRWZpUGVpU3RhbGxQcGlHdWlkDQo+ICsgIGdQZWlTcGVha2VySW50ZXJmYWNl UHBpR3VpZA0KPiArICBnRWZpUGVpTWVtb3J5RGlzY292ZXJlZFBwaUd1aWQNCj4gKyAgZ1ZsdlBv bGljeVBwaUd1aWQNCj4gKyAgZ0VmaVBlaVJlYWRPbmx5VmFyaWFibGUyUHBpR3VpZA0KPiArICBn RWZpUGVpUmVzZXRQcGlHdWlkDQo+ICsgIGdFZmlFbmRPZlBlaVNpZ25hbFBwaUd1aWQNCj4gKyAg Z0VmaUZpbmRGdlBwaUd1aWQNCj4gKyAgZ1BlaUNhcHN1bGVQcGlHdWlkDQo+ICsgIGdFZmlQZWlC b290SW5SZWNvdmVyeU1vZGVQcGlHdWlkDQo+ICsgIGdFZmlQZWlSZWNvdmVyeU1vZHVsZVBwaUd1 aWQNCj4gKyAgZ0VmaVBlaURldmljZVJlY292ZXJ5TW9kdWxlUHBpR3VpZA0KPiArICBnUGVpQ2Fj aGVQcGlHdWlkDQo+ICsgIGdFZmlQZWlNYXN0ZXJCb290TW9kZVBwaUd1aWQNCj4gKyAgZ0VmaVBl aVNtYnVzUHBpR3VpZA0KPiArICBnUGVpTWZnTWVtb3J5VGVzdFBwaUd1aWQNCj4gKyAgZ1BlaVNo YTI1Nkhhc2hQcGlHdWlkDQo+ICsgIGdWbHZNbWlvUG9saWN5UHBpR3VpZA0KPiArICBnU2VDZlRQ TVBvbGljeVBwaUd1aWQNCj4gKw0KPiArW0d1aWRzXQ0KPiArICBnRWZpU2V0dXBWYXJpYWJsZUd1 aWQNCj4gKyAgZ0VmaVBsYXRmb3JtSW5mb0d1aWQNCj4gKyAgZ0VmaVBsYXRmb3JtQm9vdE1vZGVH dWlkDQo+ICsgIGdFZmlQbGF0Zm9ybUNwdUluZm9HdWlkDQo+ICsgIGdFZmlHbG9iYWxWYXJpYWJs ZUd1aWQNCj4gKyAgZ1JlY292ZXJ5T25GYXRGbG9wcHlEaXNrR3VpZA0KPiArICBnUmVjb3ZlcnlP bkZhdFVzYkRpc2tHdWlkDQo+ICsgIGdSZWNvdmVyeU9uRmF0SWRlRGlza0d1aWQNCj4gKyAgZ1Jl Y292ZXJ5T25EYXRhQ2RHdWlkDQo+ICsgIGdNZmdNb2RlVmFyaWFibGVHdWlkDQo+ICsgIGdFZmlO b3JtYWxTZXR1cEd1aWQNCj4gKyAgZ0VmaVZsdjJWYXJpYWJsZUd1aWQNCj4gKw0KPiArW1BjZC5j b21tb25dDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZNYWlu QmFzZQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2TWFpblNp emUNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdlJlY292ZXJ5 MkJhc2UNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdlJlY292 ZXJ5MlNpemUNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjaUV4cHJlc3NCYXNl QWRkcmVzcw0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEFyZWFC YXNlQWRkcmVzcw0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEFy ZWFTaXplDQo+ICtbRGVwZXhdDQo+ICsgIFRSVUUNCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1QZWkvU3RhbGwuYw0KPiBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGVpL1N0YWxsLmMNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNWU2OGY4MDNkYg0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt UGVpL1N0YWxsLmMNCj4gQEAgLTAsMCArMSw5MCBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gKyAg Q29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1l Og0KPiArDQo+ICsgIFN0YWxsLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUHJvZHVj ZSBTdGFsbCBQcGkuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9u SGVhZGVyLmgiDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1CYXNlQWRkcmVzc2VzLmgiDQo+ICsjaW5j bHVkZSAiUGNoUmVncy5oIg0KPiArDQo+ICsvKioNCj4gKyAgV2FpdHMgZm9yIGF0IGxlYXN0IHRo ZSBnaXZlbiBudW1iZXIgb2YgbWljcm9zZWNvbmRzLg0KPiArDQo+ICsgIEBwYXJhbSBQZWlTZXJ2 aWNlcyAgICAgR2VuZXJhbCBwdXJwb3NlIHNlcnZpY2VzIGF2YWlsYWJsZSB0byBldmVyeSBQRUlN Lg0KPiArICBAcGFyYW0gVGhpcyAgICAgICAgICAgIFBQSSBpbnN0YW5jZSBzdHJ1Y3R1cmUuDQo+ ICsgIEBwYXJhbSBNaWNyb3NlY29uZHMgICAgRGVzaXJlZCBsZW5ndGggb2YgdGltZSB0byB3YWl0 Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgSWYgdGhlIGRlc2lyZWQgYW1vdW50 IG9mIHRpbWUgd2FzIHBhc3NlZC4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklB UEkNCj4gK1N0YWxsICgNCj4gKyAgSU4gQ09OU1QgRUZJX1BFSV9TRVJWSUNFUyAgICoqUGVpU2Vy dmljZXMsDQo+ICsgIElOIENPTlNUIEVGSV9QRUlfU1RBTExfUFBJICAgICAgKlRoaXMsDQo+ICsg IElOIFVJTlROICAgICAgICAgICAgICBNaWNyb3NlY29uZHMNCj4gKyAgKQ0KPiArew0KPiArICBV SU5UTiAgIFRpY2tzOw0KPiArICBVSU5UTiAgIENvdW50czsNCj4gKyAgVUlOVDMyICBDdXJyZW50 VGljazsNCj4gKyAgVUlOVDMyICBPcmlnaW5hbFRpY2s7DQo+ICsgIFVJTlQzMiAgUmVtYWluaW5n VGljazsNCj4gKw0KPiArICBpZiAoTWljcm9zZWNvbmRzID09IDApIHsNCj4gKyAgICByZXR1cm4g RUZJX1NVQ0NFU1M7DQo+ICsgIH0NCj4gKw0KPiArICBPcmlnaW5hbFRpY2sgPSBJb1JlYWQzMiAo QUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9BQ1BJX1BNMV9UTVIpOw0KPiArICBPcmlnaW5hbFRp Y2sgJj0gKFZfUENIX0FDUElfUE0xX1RNUl9NQVhfVkFMIC0gMSk7DQo+ICsgIEN1cnJlbnRUaWNr ID0gT3JpZ2luYWxUaWNrOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSB0aW1lciBmcmVxdWVu Y3kgaXMgMy41Nzk1NDVNSHosIHNvIDEgbXMgY29ycmVzcG9uZHMgdG8gMy41OCBjbG9ja3MNCj4g KyAgLy8NCj4gKyAgVGlja3MgPSBNaWNyb3NlY29uZHMgKiAzNTggLyAxMDAgKyBPcmlnaW5hbFRp Y2sgKyAxOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoZSBsb29wcyBuZWVkZWQgZm9yIHRpbWVy IG92ZXJmbG93DQo+ICsgIC8vDQo+ICsgIENvdW50cyA9IChVSU5UTilSU2hpZnRVNjQoKFVJTlQ2 NClUaWNrcywgMjQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlbWFpbmluZyBjbG9ja3Mgd2l0 aGluIG9uZSBsb29wDQo+ICsgIC8vDQo+ICsgIFJlbWFpbmluZ1RpY2sgPSBUaWNrcyAmIDB4RkZG RkZGOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIERvIG5vdCBpbnRlbmQgdG8gdXNlIFRNUk9GX1NU UyBiaXQgb2YgcmVnaXN0ZXIgUE0xX1NUUywgYmVjYXVzZSB0aGlzDQo+IGFkZCBleHRyYQ0KPiAr ICAvLyBvbmUgSS9PIG9wZXJhdGlvbiwgYW5kIG1heSBnZW5lcmF0ZSBTTUkNCj4gKyAgLy8NCj4g KyAgd2hpbGUgKENvdW50cyAhPSAwKSB7DQo+ICsgICAgQ3VycmVudFRpY2sgPSBJb1JlYWQzMiAo QUNQSV9CQVNFX0FERFJFU1MgKyBSX1BDSF9BQ1BJX1BNMV9UTVIpDQo+ICYgQl9QQ0hfQUNQSV9Q TTFfVE1SX1ZBTDsNCj4gKyAgICBpZiAoQ3VycmVudFRpY2sgPD0gT3JpZ2luYWxUaWNrKSB7DQo+ ICsgICAgICBDb3VudHMtLTsNCj4gKyAgICB9DQo+ICsgICAgT3JpZ2luYWxUaWNrID0gQ3VycmVu dFRpY2s7DQo+ICsgIH0NCj4gKw0KPiArICB3aGlsZSAoKFJlbWFpbmluZ1RpY2sgPiBDdXJyZW50 VGljaykgJiYgKE9yaWdpbmFsVGljayA8PSBDdXJyZW50VGljaykpIHsNCj4gKyAgICBPcmlnaW5h bFRpY2sgID0gQ3VycmVudFRpY2s7DQo+ICsgICAgQ3VycmVudFRpY2sgICA9IElvUmVhZDMyIChB Q1BJX0JBU0VfQUREUkVTUyArDQo+IFJfUENIX0FDUElfUE0xX1RNUikgJiBCX1BDSF9BQ1BJX1BN MV9UTVJfVkFMOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0K PiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Q a2cuZGVjDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cu ZGVjDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjQ2NTNmNjNh NjYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gQEAgLTAsMCArMSwyMTEgQEANCj4gKyMvKiogQGZpbGUN Cj4gKyMgUGxhdGZvcm0gUGFja2FnZQ0KPiArIw0KPiArIyBUaGlzIHBhY2thZ2UgcHJvdmlkZXMg cGxhdGZvcm0gc3BlY2lmaWMgbW9kdWxlcy4NCj4gKyMgQ29weXJpZ2h0IChjKSAyMDA5ICAtIDIw MTUsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4g Kw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsjDQo+ICsNCj4gKyMNCj4gKyMNCj4gKyMqKi8NCj4gKw0KPiArW0RlZmluZXNdDQo+ICsg IERFQ19TUEVDSUZJQ0FUSU9OICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgUEFDS0FH RV9OQU1FICAgICAgICAgICAgICAgICAgID0gUGxhdGZvcm1Qa2cNCj4gKyAgUEFDS0FHRV9HVUlE ICAgICAgICAgICAgICAgICAgID0gNDYzQjNCMDAtMEQxOC00YTVmLTkwQzAtRDVCODUxRDI1NzRC DQo+ICsgIFBBQ0tBR0VfVkVSU0lPTiAgICAgICAgICAgICAgICA9IDAuMQ0KPiArDQo+ICtbSW5j bHVkZXNdDQo+ICsgIC4NCj4gKyAgSW5jbHVkZQ0KPiArICBJbmNsdWRlL0xpYnJhcnkNCj4gKw0K PiArW1BwaXNdDQo+ICsgIGdQZWlTcGVha2VySW50ZXJmYWNlUHBpR3VpZCAgPSB7IDB4MzBhYzI3 NWUsIDB4YmIzMCwgMHg0Yjg0LCB7IDB4YTEsIDB4Y2QsDQo+IDB4MGEsIDB4ZjEsIDB4MzIsIDB4 MmMsIDB4ODksIDB4YzAgfX0NCj4gKyAgZ1BlaVVzYkNvbnRyb2xsZXJQcGlHdWlkICAgICA9IHsg MHgzQkMxRjZERSwgMHg2OTNFLCAweDQ1NDcsIHsgMHhBMywgMHgwMCwNCj4gMHgyMSwgMHg4Miwg MHgzQywgMHhBNCwgMHgyMCwgMHhCMiB9fQ0KPiArICBnUGVpTWZnTWVtb3J5VGVzdFBwaUd1aWQg ICAgID0geyAweGFiMjk0YTkyLCAweGVhZjUsIDB4NGNmMywgeyAweGFiLA0KPiAweDJiLCAweDJk LCAweDRiLCAweGVkLCAweDRkLCAweGI2LCAweDNkIH19DQo+ICsgIGdQZWlTaGEyNTZIYXNoUHBp R3VpZCAgICAgICAgPSB7IDB4OTUwZTE5MWIsIDB4ODUyNCwgMHg0ZjUxLCB7IDB4ODAsIDB4YTEs DQo+IDB4NWMsIDB4NGYsIDB4MWIsIDB4MDMsIDB4ZjMsIDB4NWMgfX0NCj4gKw0KPiArW0d1aWRz XQ0KPiArICBnRWZpUGxhdGZvcm1Cb290TW9kZUd1aWQgICAgICAgICAgICAgICAgPSB7IDB4Y2U4 NDU3MDQsIDB4MTY4MywgMHg0ZDM4LCB7IDB4YTQsDQo+IDB4ZjksIDB4N2QsIDB4MGIsIDB4NTAs IDB4NzcsIDB4NTcsIDB4OTMgfSB9DQo+ICsgIGdFZmlQbGF0Zm9ybUluZm9HdWlkICAgICAgICAg ICAgICAgICAgICA9IHsgMHgxZTJhY2M0MSwgMHhlMjZhLCAweDQ4M2QsIHsgMHhhZiwgMHhjNywN Cj4gMHhhMCwgMHg1NiwgMHhjMywgMHg0ZSwgMHgwOCwgMHg3YiB9IH0NCj4gKyAgZ0VmaU1lbW9y eUNvbmZpZ0RhdGFHdWlkICAgICAgICAgICAgICAgID0geyAweDgwZGJkNTMwLCAweGI3NGMsIDB4 NGYxMSwgeyAweDhjLA0KPiAweDAzLCAweDQxLCAweDg2LCAweDY1LCAweDUzLCAweDI4LCAweDMx IH0gfQ0KPiArICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZCAgICAgICAgICAgPSB7IDB4 NjlkMTNiZjAsIDB4YWY5MSwgMHg0ZDk2LA0KPiB7IDB4YWEsIDB4OWYsIDB4MjEsIDB4ODQsIDB4 YzUsIDB4Y2UsIDB4M2IsIDB4YzAgfSB9DQo+ICsgIGdFZmlTZXJpYWxQb3J0VG9rZW5TcGFjZUd1 aWQgICAgICAgICAgICA9IHsgMHg1ZmFkMjM4OSwgMHgyYmM3LCAweDRiZDIsIHsgMHg4MywNCj4g MHhkMywgMHg0MiwgMHg5ZiwgMHhiNiwgMHhhZSwgMHhhMywgMHgzZiB9IH0NCj4gKyAgZ0VmaUlj aFRva2VuU3BhY2VHdWlkICAgICAgICAgICAgICAgICAgID0geyAweGUzOGMxMWUzLCAweDk2OGYs IDB4NDdiOCwgeyAweGFjLA0KPiAweGVmLCAweGFjLCAweGMwLCAweDY5LCAweDNkLCAweGI5LCAw eGZmIH0gfQ0KPiArICBnRWZpUGNoVG9rZW5TcGFjZUd1aWQgICAgICAgICAgICAgICAgICAgPSB7 IDB4ODlhMWIyNzgsIDB4YTFhMSwgMHg0ZGY3LCB7IDB4YjEsDQo+IDB4MzcsIDB4ZGUsIDB4NWEs IDB4ZDcsIDB4YzQsIDB4NzksIDB4MTMgfSB9DQo+ICsgIGdFZmlTaW9WYXJpYWJsZUd1aWQgICAg ICAgICAgICAgICAgICAgICA9IHsgMHg1NjBiZjU4YSwgMHgxZTBkLCAweDRkN2UsIHsgMHg5NSwg MHgzZiwNCj4gMHgyOSwgMHg4MCwgMHhhMiwgMHg2MSwgMHhlMCwgMHgzMSB9IH0NCj4gKyAgZ1By b2Nlc3NvclByb2R1Y2VyR3VpZCAgICAgICAgICAgICAgICAgID0geyAweDFiZjA2YWVhLCAweDVi ZWMsIDB4NGE4ZCwgeyAweDk1LA0KPiAweDc2LCAweDc0LCAweDliLCAweDA5LCAweDU2LCAweDJk LCAweDMwIH0gfQ0KPiArICBnRWZpUG93ZXJPbkhvYkd1aWQgICAgICAgICAgICAgICAgICAgICAg PSB7IDB4MDQ2OGE2MDEsIDB4YzUzNSwgMHg0NmZkLCB7IDB4YTksDQo+IDB4NWQsIDB4YmIsIDB4 YWIsIDB4OTksIDB4MWIsIDB4MTcsIDB4OGMgfSB9DQo+ICsgIGdFZmlQbGF0Zm9ybUNwdUluZm9H dWlkICAgICAgICAgICAgICAgICA9IHsgMHhiYjljN2FiNywgMHhiOGQ5LCAweDRiZjMsIHsgMHg5 YywNCj4gMHgyOSwgMHg5YiwgMHhmMywgMHg0MSwgMHhlMiwgMHgxNywgMHhiYyB9IH0NCj4gKyAg Z0VmaUJpb3NJZEd1aWQgICAgICAgICAgICAgICAgICAgICAgICAgID0geyAweEMzRTM2RDA5LCAw eDgyOTQsIDB4NGI5NywgeyAweEE4LCAweDU3LA0KPiAweEQ1LCAweDI4LCAweDhGLCAweEUzLCAw eDNFLCAweDI4IH0gfQ0KPiArICBnRWZpUGxhdGZvcm1Cb290TW9kZUd1aWQgICAgICAgICAgICAg ICAgPSB7IDB4Y2U4NDU3MDQsIDB4MTY4MywgMHg0ZDM4LCB7IDB4YTQsDQo+IDB4ZjksIDB4N2Qs IDB4MGIsIDB4NTAsIDB4NzcsIDB4NTcsIDB4OTMgfSB9DQo+ICsgIGdFZmlCb2FyZEZlYXR1cmVz R3VpZCAgICAgICAgICAgICAgICAgICA9IHsgMHg5NGI5ZThhZSwgMHg4ODc3LCAweDQ3OWEsIHsg MHg5OCwNCj4gMHg0MiwgMHhmNSwgMHg5NywgMHg0YiwgMHg4MiwgMHhjZSwgMHhkMyB9IH0NCj4g KyAgZ0l0a0RhdGFWYXJHdWlkICAgICAgICAgICAgICAgICAgICAgICAgID0geyAweDM4MTI3MjNk LCAweDdlNDgsIDB4NGUyOSwgeyAweGJjLCAweDI3LA0KPiAweGY1LCAweGEzLCAweDlhLCAweGM5 LCAweDRlLCAweGYxIH0gfQ0KPiArICBnRG1pRGF0YUd1aWQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgPSB7IDB4NzBlNTZjNWUsIDB4MjgwYywgMHg0NGIwLCB7IDB4YTQsIDB4OTcsDQo+IDB4 MDksIDB4NjgsIDB4MWEsIDB4YmMsIDB4MzcsIDB4NWUgfSB9DQo+ICsgIGdJZGNjRGF0YUh1Ykd1 aWQgICAgICAgICAgICAgICAgICAgICAgICA9IHsgMHg3ODhlMWQ5ZiwgMHgxZWFiLCAweDQ3ZDIs IHsgMHhhMiwgMHhmMywNCj4gMHg3OCwgMHhjYSwgMHhlOCwgMHg3ZCwgMHg2MCwgMHgxMiB9IH0N Cj4gKyAgZ0VmaVNldHVwVmFyaWFibGVHdWlkICAgICAgICAgICAgICAgICAgID0geyAweGVjODdk NjQzLCAweGViYTQsIDB4NGJiNSwgeyAweGExLA0KPiAweGU1LCAweDNmLCAweDNlLCAweDM2LCAw eGIyLCAweDBkLCAweGE5IH0gfQ0KPiArICBnRWZpUGxhdGZvcm1JbmZvR3VpZCAgICAgICAgICAg ICAgICAgICAgPSB7IDB4MWUyYWNjNDEsIDB4ZTI2YSwgMHg0ODNkLCB7IDB4YWYsIDB4YzcsDQo+ IDB4YTAsIDB4NTYsIDB4YzMsIDB4NGUsIDB4MDgsIDB4N2IgfSB9DQo+ICsgIGdNZmdNb2RlVmFy aWFibGVHdWlkICAgICAgICAgICAgICAgICAgICA9IHsgMHhFRjE0RkQ3OCwgMHgwNzkzLCAweDRl MmIsIHsgMHhBQywNCj4gMHg2RCwgMHgwNiwgMHgyOCwgMHg0NywgMHhFMCwgMHgxNywgMHg5MSB9 IH0NCj4gKyAgZ0VmaUFjcGlUYWJsZVN0b3JhZ2VHdWlkICAgICAgICAgICAgICAgID0geyAweDdl Mzc0ZTI1LCAweDhlMDEsIDB4NGZlZSwgeyAweDg3LA0KPiAweGYyLCAweDM5LCAweDBjLCAweDIz LCAweGM2LCAweDA2LCAweGNkIH0gfQ0KPiArICBnQUNQSU9TRlJNZmdTdHJpbmdWYXJpYWJsZUd1 aWQgICAgICAgICAgPSB7IDB4NzIyMzQyMTMsIDB4MGZkNywgMHg0OGExLA0KPiB7IDB4YTUsIDB4 OWYsIDB4YjQsIDB4MWIsIDB4YzEsIDB4MDcsIDB4ZmIsIDB4Y2QgfSB9DQo+ICsgIGdBQ1BJT1NG UlJlZkRhdGFCbG9ja1ZhcmlhYmxlR3VpZCAgICAgICA9IHsgMHg3MjIzNDIxMywgMHgwZmQ3LCAw eDQ4YTEsDQo+IHsgMHhhNSwgMHg5ZiwgMHhiNCwgMHgxYiwgMHhjMSwgMHgwNywgMHhmYiwgMHhj ZCB9IH0NCj4gKyAgZ0FDUElPU0ZSTW9kZWxTdHJpbmdWYXJpYWJsZUd1aWQgICAgICAgID0geyAw eGNhMWJjYWQ5LCAweGUwMjEsIDB4NDU0NywNCj4geyAweGExLCAweGIwLCAweDViLCAweDIyLCAw eGM3LCAweGY2LCAweDg3LCAweGY0IH0gfQ0KPiArICBnRWZpQWNwaVRhYmxlU3RvcmFnZUd1aWQg ICAgICAgICAgICAgICAgPSB7IDB4N2UzNzRlMjUsIDB4OGUwMSwgMHg0ZmVlLCB7IDB4ODcsDQo+ IDB4ZjIsIDB4MzksIDB4MGMsIDB4MjMsIDB4YzYsIDB4MDYsIDB4Y2QgfSB9DQo+ICsgIGdFZmlQ Y2lMYW5JbmZvR3VpZCAgICAgICAgICAgICAgICAgICAgICA9IHsgMHgwZDlhMTQyNywgMHhlMDJh LCAweDQzN2QsIHsgMHg5MiwgMHg2YiwNCj4gMHhhYSwgMHg1MiwgMHgxZiwgMHhkNywgMHgyMiwg MHhiYSB9IH0NCj4gKyAgZ0VmaU5vcm1hbFNldHVwR3VpZCAgICAgICAgICAgICAgICAgICAgID0g eyAweGVjODdkNjQzLCAweGViYTQsIDB4NGJiNSwgeyAweGExLA0KPiAweGU1LCAweDNmLCAweDNl LCAweDM2LCAweGIyLCAweDBkLCAweGE5IH0gfQ0KPiArICBnRmlybXdhcmVJZEd1aWQgICAgICAg ICAgICAgICAgICAgICAgICAgPSB7IDB4NWU1NTljMjMsIDB4MWZhYSwgMHg0YWUxLCB7IDB4OGQs IDB4NGEsDQo+IDB4YzYsIDB4Y2YsIDB4MDIsIDB4NmMsIDB4NzYsIDB4NmYgfSB9DQo+ICsgIGdC bXBJbWFnZUd1aWQgICAgICAgICAgICAgICAgICAgICAgICAgICA9IHsgMHg4NzhBQzJDQywgMHg1 MzQzLCAweDQ2RjIsIHsgMHhCNSwgMHg2MywNCj4gMHg1MSwgMHhGOCwgMHg5RCwgMHhBRiwgMHg1 NiwgMHhCQSB9IH0NCj4gKyAgZ09zU2VsZWN0aW9uVmFyaWFibGVHdWlkICAgICAgICAgICAgICAg ID0geyAweDg2ODQzZjU2LCAweDY3NWQsIDB4NDBhNSwgeyAweDk1LA0KPiAweDMwLCAweGJjLCAw eDg1LCAweDgzLCAweDcyLCAweGYxLCAweDAzIH0gfQ0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiAr ICBnRWZpQWN0aXZlQmlvc1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgPSB7IDB4ZWJiZTJkMWIs IDB4MTY0NywgMHg0YmRhLCB7IDB4YWIsDQo+IDB4OWEsIDB4NzgsIDB4NjMsIDB4ZTMsIDB4OTYs IDB4ZDQsIDB4MWEgfSB9DQo+ICsgIGdFZmlQbGF0Zm9ybUNwdVByb3RvY29sR3VpZCAgICAgICAg ICAgICA9IHsgMHhiZDI2Y2RjOSwgMHhhMDkyLCAweDQ2MmEsIHsgMHg4NywNCj4gMHg3YSwgMHg1 YSwgMHhiNiwgMHhhZCwgMHhjZSwgMHg0OCwgMHgxMiB9IH0NCj4gKyAgZ0R4ZVBjaFBsYXRmb3Jt UG9saWN5UHJvdG9jb2xHdWlkICAgICAgID0geyAweDRiMDE2NWE5LCAweDYxZDYsIDB4NGUyMywN Cj4geyAweGEwLCAweGI1LCAweDNlLCAweGM3LCAweDljLCAweDJlLCAweDMwLCAweGQ1IH0gfQ0K PiArICBnRWZpVHBtTXBEcml2ZXJQcm90b2NvbEd1aWQgICAgICAgICAgICAgPSB7IDB4ZGUxNjFj ZmUsIDB4MWU2MCwgMHg0MmExLCB7IDB4OGMsDQo+IDB4YzMsIDB4ZWUsIDB4N2UsIDB4ZjAsIDB4 NzMsIDB4NTIsIDB4MTIgfSB9DQo+ICsgIGdFZmlMcGNXcGNlNzkxUG9saWN5UHJvdG9jb2xHdWlk ICAgICAgICA9IHsgMHhhYjJiZWUyZiwgMHhjMWE2LCAweDQzOTksDQo+IHsgMHg4NSwgMHgzZCwg MHhjMCwgMHg3YywgMHg3NywgMHg0ZiwgMHhmZCwgMHgwZCB9IH0NCj4gKyAgZ1VzYlBvbGljeUd1 aWQgICAgICAgICAgICAgICAgICAgICAgICAgID0geyAweGY2MTdiMzU4LCAweDEyY2YsIDB4NDE0 YSwgeyAweGEwLCAweDY5LA0KPiAweDYwLCAweDY3LCAweDdiLCAweGRhLCAweDEzLCAweGI0IH0g fQ0KPiArICBnRWZpU3BlYWtlckludGVyZmFjZVByb3RvY29sR3VpZCAgICAgICAgPSB7IDB4NDAw YjQ0NzYsIDB4MzA4MSwgMHgxMWQ2LA0KPiB7IDB4ODcsIDB4ZWQsIDB4MDAsIDB4MDYsIDB4Mjks IDB4NDUsIDB4YzMsIDB4YjkgfSB9DQo+ICsgIGdEeGVWbHZQbGF0Zm9ybVBvbGljeUd1aWQgICAg ICAgICAgICAgICA9IHsgMHg1YmFiODhiYSwgMHhlMGUyLCAweDQ2NzQsIHsgMHhiNiwNCj4gMHhh ZCwgMHhiOCwgMHgxMiwgMHhmNiwgMHg4OCwgMHgxYywgMHhkNiB9IH0NCj4gKyAgZ0VmaVNtYmlv c1Nsb3RQb3B1bGF0aW9uR3VpZCAgICAgICAgICAgID0geyAweGVmN2JmN2Q2LCAweGY4ZmYsIDB4 NGE3NiwgeyAweDgyLA0KPiAweDQ3LCAweGMwLCAweGQwLCAweGQxLCAweGNjLCAweDQ5LCAweGMw IH0gfQ0KPiArICBnT2JzZXJ2YWJsZVByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgPSB7IDB4 ZTIyN2M1MjIsIDB4ZDVmZSwgMHg0YTUzLCB7IDB4ODcsDQo+IDB4YjEsIDB4MGYsIDB4YmUsIDB4 NTcsIDB4MGYsIDB4OTgsIDB4ZTkgfSB9DQo+ICsgIGdFZmlDazUwNUNsb2NrUGxhdGZvcm1JbmZv R3VpZCAgICAgICAgICA9IHsgMHgzYzQ4NWVhNCwgMHg0NDlhLCAweDQ2Y2UsDQo+IHsgMHhiYiwg MHgwOCwgMHgyYSwgMHgzMywgMHg2ZSwgMHhhOSwgMHg2YiwgMHg0ZSB9IH0NCj4gKyAgZ0VmaUxw Y1dwYzgzNjI3UG9saWN5UHJvdG9jb2xHdWlkICAgICAgID0geyAweGQzZWNjNTY3LCAweDlmZDUs IDB4NDRjMSwNCj4geyAweDg2LCAweGNmLCAweDVkLCAweGE3LCAweGEyLCAweDRmLCAweDRiLCAw eDVkIH0gfQ0KPiArICBnRWZpVGNvUmVzZXRQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgPSB7 IDB4YTZhNzkxNjIsIDB4ZTMyNSwgMHg0YzMwLCB7IDB4YmMsDQo+IDB4YzMsIDB4NTksIDB4Mzcs IDB4MzAsIDB4NjQsIDB4ZWYsIDB4YjMgfSB9DQo+ICsgIGdFZmlXYXRjaGRvZ1RpbWVyRHJpdmVy UHJvdG9jb2xHdWlkICAgICA9IHsgMHhkNWIwNmQxNiwgMHgyZWExLCAweDRkZWYsDQo+IHsgMHg5 OCwgMHhkMCwgMHhhMCwgMHg1ZCwgMHg0MCwgMHg3MiwgMHg4NCwgMHgxNyB9IH0NCj4gKyAgZ0Vm aVBsYXRmb3JtSWRlSW5pdFByb3RvY29sR3VpZCAgICAgICAgID0geyAweDM3N2M2NmEzLCAweDhm ZTcsIDB4NGVlOCwgeyAweDg1LA0KPiAweGI4LCAweGYxLCAweGEyLCAweDgyLCAweDU2LCAweDll LCAweDNiIH0gfQ0KPiArICBnRWZpUGNpUGxhdGZvcm1Qcm90b2NvbEd1aWQgICAgICAgICAgICAg PSB7IDB4MDdkNzUyODAsIDB4MjdkNCwgMHg0ZDY5LCB7IDB4OTAsDQo+IDB4ZDAsIDB4NTYsIDB4 NDMsIDB4ZTIsIDB4MzgsIDB4YjMsIDB4NDEgfSB9DQo+ICsgIGdFbmhhbmNlZFNwZWVkc3RlcFBy b3RvY29sR3VpZCAgICAgICAgICA9IHsgMHg5MWExZGRjZiwgMHg1Mzc0LCAweDQ5MzksDQo+IHsg MHg4OSwgMHg1MSwgMHhkNywgMHgyOSwgMHgzZiwgMHgxYSwgMHg3OCwgMHg2ZiB9IH0NCj4gKyAg Z0VmaUFjcGlTdXBwb3J0UHJvdG9jb2xHdWlkICAgICAgICAgICAgID0geyAweGRiZmY5ZDU1LCAw eDg5YjcsIDB4NDZkYSwgeyAweGJkLA0KPiAweGRmLCAweDY3LCAweDdkLCAweDNkLCAweGMwLCAw eDI0LCAweDFkIH0gfQ0KPiArICBnRWZpQWNwaVMzU2F2ZVByb3RvY29sR3VpZCAgICAgICAgICAg ICAgPSB7IDB4MTI1ZjJkZTEsIDB4ZmI4NSwgMHg0NDBjLCB7IDB4YTUsDQo+IDB4NGMsIDB4NGQs IDB4OTksIDB4MzUsIDB4OGEsIDB4OGQsIDB4MzggfSB9DQo+ICsgIGdFZmlDcHVJb1Byb3RvY29s R3VpZCAgICAgICAgICAgICAgICAgICA9IHsgMHhCMDczMjUyNiwgMHgzOEM4LCAweDRiNDAsIHsg MHg4OCwNCj4gMHg3NywgMHg2MSwgMHhDNywgMHhCMCwgMHg2QSwgMHhBQywgMHg0NSB9IH0NCj4g KyAgZ1BsYXRmb3JtR09QUG9saWN5R3VpZCAgICAgICAgICAgICAgICAgID0geyAweGVjMmU5MzFi LCAweDMyODEsIDB4NDhhNSwgeyAweDgxLA0KPiAweDA3LCAweGRmLCAweDhhLCAweDhiLCAweGVk LCAweDNjLCAweDVkIH0gfQ0KPiArICBnRWZpR29wRGlzcGxheUJyaWdodG5lc3NQcm90b2NvbEd1 aWQgICAgPSB7IDB4NmZmMjNmMWQsIDB4ODc3YywgMHg0YjFiLA0KPiB7IDB4OTMsIDB4ZmMsIDB4 ZjEsIDB4NDIsIDB4YjIsIDB4ZWUsIDB4YTYsIDB4YTcgfSB9DQo+ICsgIGdFZmlVc2JLZXlib2Fy ZENvbm5lY3RHdWlkICAgICAgICAgICAgICA9IHsgMHhhZDljNDM4MSwgMHgxZWRlLCAweDQzMGMs DQo+IHsgMHg4ZCwgMHg0MiwgMHgyMywgMHg3NiwgMHg3YywgMHg0NiwgMHg1ZCwgMHg1MiB9IH0N Cj4gKw0KPiArDQo+ICtbUGNkc0ZpeGVkQXRCdWlsZF0NCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVU b2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUJhc2V8MHhGRkY2MDAwMHxVSU4NCj4gVDMy fDB4MjAwMDAwMDcNCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFz aE52U3RvcmFnZVNpemV8MHgwMDAxMDAwMHxVSU4NCj4gVDMyfDB4MjAwMDAwMDgNCj4gKw0KPiBn UGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUV2ZW50TG9nQmFz ZXwweEZGRjYNCj4gQzAwMHxVSU5UMzJ8MHgzMDAwMDAwNw0KPiArDQo+IGdQbGF0Zm9ybU1vZHVs ZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoTnZTdG9yYWdlRXZlbnRMb2dTaXplfDB4MDAwMDINCj4g MDAwfFVJTlQzMnwweDMwMDAwMDA4DQo+ICsNCj4gZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1 aWQuUGNkRmxhc2hGdlJlY292ZXJ5QmFzZXwweEZGRjgwMDAwfFVJDQo+IE5UMzJ8MHgyMDAwMDAw NA0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZSZWNvdmVy eVNpemV8MHgwMDA4MDAwMHxVSQ0KPiBOVDMyfDB4MjAwMDAwMDUNCj4gKw0KPiBnUGxhdGZvcm1N b2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2U2hlbGxCYXNlfDB4RkZGNTAwMDB8VUlOVDMy DQo+IHwweDIwMDAwMDA5DQo+ICsNCj4gZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNk Rmxhc2hGdlNoZWxsU2l6ZXwweDAwMDAwMDAwfFVJTlQzMg0KPiB8MHgyMDAwMDAxMA0KPiArDQo+ IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZNYWluQmFzZXwweEZGODAw MDAwfFVJTlQzDQo+IDJ8MHgyMDAwMDAwMQ0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3Bh Y2VHdWlkLlBjZEZsYXNoRnZNYWluU2l6ZXwweDAwNTAwMDAwfFVJTlQzMg0KPiB8MHgyMDAwMDAw Mg0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoQXJlYUJhc2VB ZGRyZXNzfDB4RkY4MDAwMDB8VQ0KPiBJTlQzMnwweDEwMDAwMDAxDQo+ICsNCj4gZ1BsYXRmb3Jt TW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hBcmVhU2l6ZXwweDAwODAwMDAwfFVJTlQzMnww DQo+IHgxMDAwMDAwMg0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZs YXNoVGVzdE1lbnVCYXNlfDB4RkYwMDAwMDB8VUlODQo+IFQzMnwweDIwMDAwMDExDQo+ICsNCj4g Z1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hUZXN0TWVudVNpemV8MHgwMDAx MDAwMHxVSU5UDQo+IDMyfDB4MjAwMDAwMTINCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNw YWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnkyQmFzZXwweEZGRkEwMDAwfA0KPiBVSU5UMzJ8MHgy MDAwMDAxMw0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZS ZWNvdmVyeTJTaXplfDB4MDAwNDAwMDB8VUkNCj4gTlQzMnwweDIwMDAwMDE0DQo+ICsNCj4gZ1Bs YXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hNaWNyb0NvZGVBZGRyZXNzfDB4RkZG OTAwMDB8DQo+IFVJTlQzMnwweDIwMDAwMDE1DQo+ICsNCj4gZ1BsYXRmb3JtTW9kdWxlVG9rZW5T cGFjZUd1aWQuUGNkRmxhc2hNaWNyb0NvZGVTaXplfDB4MDAwMDIwMDB8VUlODQo+IFQzMnwweDIw MDAwMDE2DQo+ICsNCj4gZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hNaWNy b0NvZGUyQWRkcmVzc3wweEZGRjkyMDAwDQo+IHxVSU5UMzJ8MHgyMDAwMDAxNw0KPiArDQo+IGdQ bGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoTWljcm9Db2RlMlNpemV8MHgwMDAw QzgwMHxVSQ0KPiBOVDMyfDB4MjAwMDAwMTgNCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNw YWNlR3VpZC5QY2RJRldJU2lnQmFzZUFkZHJlc3N8MHgwRjAwfFVJTlQzMnwNCj4gMHgyMDAwMDAx OQ0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFBCVE5EaXNhYmxlSW50 ZXJ2YWx8MHgwMUY0fFVJTlQzMnwNCj4gMHgyMDAwMDAxQQ0KPiArDQo+IGdQbGF0Zm9ybU1vZHVs ZVRva2VuU3BhY2VHdWlkLlBjZFRvdWNoQXR0cmlidXRlc3wyfFVJTlQzMnwweDIwMDAwMA0KPiAy MA0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFRvdWNoQ0lEU3RyaW5n fCJJMkMwNVxcUzAwNEEifFZPSUQNCj4gKnwweDIwMDAwMDIxDQo+ICsgIGdQbGF0Zm9ybU1vZHVs ZVRva2VuU3BhY2VHdWlkLlBjZEZ1bGxJY29uRmlsZSAgICAgICAgICAgICB8eyAweDY5LCAweDAw LA0KPiAweDM5LCAweDgyLCAweDMwLCAweGE2LCAweDRiLCAweDRjLCAweDg1LCAweGZjLCAweDk1 LCAweGU5LCAweDQ5LCAweGM5LCAweGYwLA0KPiAweDc2IH18Vk9JRCp8MHgyMDAwMDAyMg0KPiAr ICBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RTaW1wbGVJY29uRmlsZSAgICAgICAg ICAgfHsgMHg0YiwgMHhmNywNCj4gMHhlZSwgMHg0YiwgMHgzMCwgMHhhMywgMHg0OSwgMHg2Nywg MHhhNCwgMHhhZCwgMHhhNCwgMHhiMSwgMHhjYSwgMHhlNCwgMHg0YiwNCj4gMHgwZCB9fFZPSUQq fDB4MjAwMDAwMjMNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkQ2FwaXRh bExldHRlcktleWJvYXJkRmlsZXx7IDB4ODIsDQo+IDB4MzgsIDB4NzUsIDB4ZDgsIDB4ODMsIDB4 YTIsIDB4NGMsIDB4MzcsIDB4YjYsIDB4ZWEsIDB4MDQsIDB4YWMsIDB4YzMsIDB4MDYsDQo+IDB4 MGYsIDB4MDcgfXxWT0lEKnwweDIwMDAwMDI0DQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3Bh Y2VHdWlkLlBjZFNtYWxsTGV0dGVyS2V5Ym9hcmRGaWxlICB8eyAweDRjLA0KPiAweDY2LCAweDM5 LCAweGEyLCAweDA5LCAweDBlLCAweDRkLCAweGM5LCAweDlmLCAweDU1LCAweDBmLCAweGNiLCAw eDcyLCAweDYwLA0KPiAweDI2LCAweDExIH18Vk9JRCp8MHgyMDAwMDAyNQ0KPiArICBnUGxhdGZv cm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2REaWdpdEtleWJvYXJkRmlsZSAgICAgICAgfHsgMHgz ZiwgMHhmZSwNCj4gMHgyYywgMHgxNywgMHg5MiwgMHg1ZCwgMHg0OSwgMHg3ZCwgMHg4NywgMHgw YSwgMHg0NiwgMHgxNCwgMHhlNCwgMHg1OCwgMHhkOCwNCj4gMHg1ZSB9fFZPSUQqfDB4MjAwMDAw MjYNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkU2ltcGxlS2V5Ym9hcmRG aWxlICAgICAgIHx7IDB4NWMsDQo+IDB4ZDQsIDB4ZmMsIDB4OTgsIDB4YmYsIDB4NzksIDB4NDEs IDB4MTAsIDB4YTIsIDB4ZDMsIDB4ODcsIDB4YmUsIDB4ODIsIDB4ZDAsDQo+IDB4OTAsIDB4NTIg fXxWT0lEKnwweDIwMDAwMDI3DQo+ICsNCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNl R3VpZC5QY2RGbGFzaFNwaWRPZmZzZXR8MHgxMDAwfFVJTlQzMnwweDIwDQo+IDAwMDAyQQ0KPiAr DQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoU3BpZFNpemV8MHgwMDAw MTAwMHxVSU5UMzJ8MHgNCj4gMjAwMDAwMkINCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNw YWNlR3VpZC5QY2RGbGFzaEVtT2Zmc2V0fDB4MzAwMHxVSU5UMzJ8MHgyMDANCj4gMDAwMkMNCj4g Kw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEVtU2l6ZXwweDEwMDB8 VUlOVDMyfDB4MjAwMDANCj4gMDJEDQo+ICsNCj4gKw0KPiBnRWZpU2VyaWFsUG9ydFRva2VuU3Bh Y2VHdWlkLlBjZFNlcmlhbFJlZ2lzdGVyQmFzZXwweDNmOHxVSU5UNjR8MHgwMDAwMA0KPiAwMDEN Cj4gKw0KPiBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFNlcmlhbEJvdWRSYXRlfDEx NTIwMHxVSU5UMzJ8MHgwMDAwMDANCj4gMDINCj4gKw0KPiArDQo+IGdFZmlQY2hUb2tlblNwYWNl R3VpZC5QY2RQY2hBY3BpSW9Qb3J0QmFzZUFkZHJlc3N8MHg0MDB8VUlOVDE2fDB4MDANCj4gMDAw MDBCDQo+ICsNCj4gKyAgICMjIEZGUyBmaWxlbmFtZSB0byBmaW5kIHRoZSBzaGVsbCBhcHBsaWNh dGlvbi4NCj4gKyAgZ0VmaUludGVsRnJhbWV3b3JrTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNk U2hlbGxGaWxlfHsgMHhCNywgMHhENiwNCj4gMHg3QSwgMHhDNSwgMHgxNSwgMHgwNSwgMHhBOCwg MHg0MCwgMHg5RCwgMHgyMSwgMHg1NSwgMHgxNiwgMHg1MiwgMHg4NSwgMHg0RSwNCj4gMHgzNyB9 fFZPSUQqfDB4NDAwMDAwMDQNCj4gKw0KPiArDQo+IGdFZmlJY2hUb2tlblNwYWNlR3VpZC5QY2RQ ZWlJY2hVaGNpQ29udHJvbGxlcklvUG9ydEJhc2VBZGRyZXNzfDB4NDAwMHwNCj4gVUlOVDE2fDB4 MzAwMDAwMTcNCj4gKw0KPiBnRWZpSWNoVG9rZW5TcGFjZUd1aWQuUGNkUGVpSWNoRWhjaUNvbnRy b2xsZXJNZW1vcnlCYXNlQWRkcmVzc3wweEZDMA0KPiAwMDAwMHxVSU5UMzJ8MHgzMDAwMDAxOQ0K PiArDQo+ICsNCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RSYW1Mb2dC YXNlQWRkcmVzc3wweDIwMDAwfFVJTlQzDQo+IDJ8MHgwMDAwMDAxMw0KPiArDQo+IGdQbGF0Zm9y bU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFJhbUxvZ0Jhc2VMZW5ndGh8MHg4MDAwMHxVSU5UMzIN Cj4gfDB4MDAwMDAwMTQNCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RS YW1Mb2dCYXNlQ2FyQWRkcmVzc3wweEZFRjg2MDAwfA0KPiBVSU5UMzJ8MHgwMDAwMDAxNQ0KPiAr DQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFJhbUxvZ0Jhc2VDYXJMZW5ndGh8 MHgyMDAwfFVJTlQzDQo+IDJ8MHgwMDAwMDAxNg0KPiArDQo+ICsNCj4gKyAgI1BjZCBmb3IgRmxh c2ggVXBkYXRlIHRvb2wNCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RG bGFzaENoaXBCYXNlfDB4RkY4MDAwMDB8VUlOVDMyfDANCj4geDQwMDAwMDAxDQo+ICsNCj4gZ1Bs YXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hDaGlwU2l6ZXwweDAwODAwMDAwfFVJ TlQzMnwweA0KPiA0MDAwMDAwMg0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlk LlBjZEZsYXNoRGVzY3JpcHRvckJhc2V8MHhGRjgwMDAwMHxVSU4NCj4gVDMyfDB4NDAwMDAwMDMN Cj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaERlc2NyaXB0b3JT aXplfDB4MDAwMDEwMDB8VUlOVA0KPiAzMnwweDQwMDAwMDA0DQo+ICsNCj4gZ1BsYXRmb3JtTW9k dWxlVG9rZW5TcGFjZUd1aWQuUGNkVHhlUm9tQmFzZXwweEZGODAxMDAwfFVJTlQzMnwweA0KPiA0 MDAwMDAwOQ0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZFR4ZVJvbVNp emV8MHgwMDNGRjAwMHxVSU5UMzJ8MHg0DQo+IDAwMDAwMEENCj4gKw0KPiBnUGxhdGZvcm1Nb2R1 bGVUb2tlblNwYWNlR3VpZC5QY2RCaW9zUm9tQmFzZXwweEZGQzAwMDAwfFVJTlQzMnwweA0KPiA0 MDAwMDAwQg0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEJpb3NSb21T aXplfDB4MDA0MDAwMDB8VUlOVDMyfDB4DQo+IDQwMDAwMDBDDQo+ICsNCj4gKyAgIyBQQ0RzIGZv ciBTeXN0ZW0gRmlybXdhcmUgRk1QIGluc3RhbmNlDQo+ICsNCj4gZ1BsYXRmb3JtTW9kdWxlVG9r ZW5TcGFjZUd1aWQuUGNkU3lzdGVtRmlybXdhcmVGbXBMb3dlc3RTdXBwb3J0ZQ0KPiBkVmVyc2lv bnwweDAwMDAwMDAwfFVJTlQzMnwweDQwMDAwMTAwDQo+ICsNCj4gZ1BsYXRmb3JtTW9kdWxlVG9r ZW5TcGFjZUd1aWQuUGNkU3lzdGVtRmlybXdhcmVGbXBWZXJzaW9ufDB4MDAwMDANCj4gMDAwfFVJ TlQzMnwweDQwMDAwMTAxDQo+ICsNCj4gZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNk U3lzdGVtRmlybXdhcmVGbXBWZXJzaW9uU3RyaW5nfCIiDQo+IHxWT0lEKnwweDQwMDAwMTAyDQo+ ICsNCj4gK1tQY2RzRmVhdHVyZUZsYWddDQo+ICsgICMjIFRoaXMgUENEIHNwZWNpZmllcyB3aGV0 aGVyIFN0YXR1c0NvZGUgaXMgcmVwb3J0ZWQgdmlhIElTQSBTZXJpYWwgcG9ydC4NCj4gKw0KPiBn RWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VJc2FTZXJpYWx8VFJV RXxCT09MRUFOfA0KPiAweDAwMDAwMDIwDQo+ICsNCj4gKyAgIyMgVGhpcyBQQ0Qgc3BlY2lmaWVz IHdoZXRoZXIgU3RhdHVzQ29kZSBpcyByZXBvcnRlZCB2aWEgVVNCIFNlcmlhbCBwb3J0Lg0KPiAr DQo+IGdFZmlTZXJpYWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVVzYlNlcmlh bHxUUlVFfEJPT0xFQU4NCj4gfDB4MDAwMDAwMjENCj4gKw0KPiArICAjIyBUaGlzIFBDRCBzcGVj aWZpZXMgd2hldGhlciBTdGF0dXNDb2RlIGlzIHJlcG9ydGVkIHZpYSBSQU0uDQo+ICsNCj4gZ0Vm aVNlcmlhbFBvcnRUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlUmFtfEZBTFNFfEJPT0xF QU58MHgwDQo+IDAwMDAwMjINCj4gKw0KPiArICAjIyBQbGF0Zm9ybSBCRFMgUENEIHRvIGNvbnRy b2wgd2hldGhlciB0byBkaXNwYXRjaCBhZGRpdGlvbmFsIG9wdGlvbiByb20sDQo+IGUuZy46IFBY RSwgQUhDSQ0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEJkc0Rpc3Bh dGNoQWRkaXRpb25hbE9wcm9tfFRSVUV8Qg0KPiBPT0xFQU58MHgwMDAwMDAyNA0KPiArDQo+ICsg ICNuZXcgYWRkZWQgZmVhdHVyZSBmb3IgQklPUyB1c2IgcmVjb3ZlcnkNCj4gKw0KPiBnRWZpSWNo VG9rZW5TcGFjZUd1aWQuUGNkRWhjaVJlY292ZXJ5RW5hYmxlZHxUUlVFfEJPT0xFQU58MHgwMDAw MDANCj4gMjYNCj4gKw0KPiArW1BjZHNEeW5hbWljLFBjZHNEeW5hbWljRXhdDQo+ICsNCj4gZ1Bs YXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkSW5Db25maWdNb2RlfEZBTFNFfEJPT0xFQU58 MHg4MA0KPiAwMDAwMDENCj4gKw0KPiBnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RD b25uZWN0VVNCS2V5Ym9hcmRvbldhaXRGb3JLZXlTDQo+IHRyb2tlfEZBTFNFfEJPT0xFQU58MHg4 MDAwMDAwMg0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEVuYWJsZVdh dGNoZG9nU3dTbWlJbnB1dFZhbHVlfDB8DQo+IFVJTlQ4fDB4ODAwMDAwMDMNCj4gKyMNCj4gKyNk ZXZpY2UgZmlybXdhcmUgdXBkYXRlIHN1cHBvcnQNCj4gKyMNCj4gKyNJMkMgYW5kIFNQSSBzdXBw b3J0DQo+ICtbUHJvdG9jb2xzXQ0KPiArDQo+ICsgIGdFZmlNbWlvRGV2aWNlUHJvdG9jb2xHdWlk ID0geyAweDI0NDg2MjI2LCAweGY4YzIsIDB4NDFmNSwgeyAweGI5LCAweGRkLA0KPiAweDc4LCAw eDNlLCAweDllLCAweDU2LCAweGRlLCAweGEwIH0gfQ0KPiArICBnRWZpSTJjQnVzQ29uZmlndXJh dGlvbk1hbmFnZW1lbnRQcm90b2NvbEd1aWQgPSB7IDB4NzUwMzIwMTUsIDB4ZDE1NiwNCj4gMHg0 MjNlLCB7IDB4YmYsIDB4YTMsIDB4N2EsIDB4NjUsIDB4YWIsIDB4YTQsIDB4NzEsIDB4NSB9IH0N Cj4gKyAgZ0VmaUkyY0FjcGlQcm90b2NvbEd1aWQgPSB7IDB4ZjMwYzI5MTUsIDB4NTc4MiwgMHg0 ZTZhLCB7IDB4YTgsIDB4NDYsIDB4NSwNCj4gMHhiYSwgMHhiYywgMHhlNywgMHhiNiwgMHhhMCB9 IH0NCj4gKyAgZ0VmaUkyY01hc3RlclByb3RvY29sR3VpZCA9IHsgMHg1NzhjMzE1YSwgMHg2OGNm LCAweDRlODEsIHsgMHhiNSwgMHhjNiwNCj4gMHgyMiwgMHhkYiwgMHg0MCwgMHhkMCwgMHgxMCwg MHhiYyB9IH0NCj4gKyAgZ0VmaUkyY0hvc3RQcm90b2NvbEd1aWQgPSB7IDB4NzBiMjIxYWYsIDB4 ZmRmZiwgMHg0ZmRlLCB7IDB4OTksIDB4NjgsIDB4MWEsDQo+IDB4ZjYsIDB4MjMsIDB4YTksIDB4 NTYsIDB4ZDkgfSB9DQo+ICsgIGdFZmlJMmNCdXNQcm90b2NvbEd1aWQgPSB7IDB4OWZhMWIyMjUs IDB4MzM0NiwgMHg0NjFiLCB7IDB4YTAsIDB4NjksIDB4ZWQsDQo+IDB4MSwgMHhiNiwgMHg3Mywg MHhkMiwgMHg0MCB9IH0NCj4gKyAgZ0VmaUkyY1NsYXZlUHJvdG9jb2xHdWlkID0geyAweGYyYzE5 MTBlLCAweGY1YzksIDB4NGI3MiwgeyAweGIyLCAweDQzLCAweDZkLA0KPiAweDU5LCAweDksIDB4 NmEsIDB4NzksIDB4ZjAgfSB9DQo+ICsNCj4gKyMgIGdFZmlTcGlBY3BpUHJvdG9jb2xHdWlkID0g eyAweDlmNDlhODc5LCAweDNkNzEsIDB4NDJiMywgeyAweGEwLCAweGFkLA0KPiAweGRkLCAweGIx LCAweGYzLCAweDMwLCAweDEwLCAweGEzIH0gfQ0KPiArIyAgZ0VmaVNwaUhvc3RQcm90b2NvbEd1 aWQgPSB7IDB4OTUxYjY1ZTUsIDB4ODg3MiwgMHg0MWVkLCB7IDB4YWQsIDB4MWQsDQo+IDB4ZDUs IDB4NjgsIDB4MWYsIDB4NGEsIDB4ZjAsIDB4MzMgfSB9DQo+ICsjICBnRWZpU3BpQnVzUHJvdG9j b2xHdWlkID0gIHsgMHgxMzdiMzA0NCwgMHhmNmQ3LCAweDQ3M2UsIHsgMHhhNiwgMHgyNSwgMHg5 ZiwNCj4gMHhiOSwgMHgyNSwgMHg1LCAweGMxLCAweDgwIH0gfQ0KPiArDQo+ICsjICBnTHBzc0R1 bW15UHJvdG9jb2xHdWlkID0geyAweGFmNGNjMTYyLCAweGQ0MWMsIDB4NDU1YSwgeyAweGFiLCAw eDQ1LA0KPiAweDZkLCAweGJjLCAweGMxLCAweGNkLCAweDMyLCAweGYzIH0gfQ0KPiArICBnRWZp U3BpUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgPSB7IDB4MTE1NmVmYzYsIDB4ZWEzMiwgMHg0 Mzk2LCB7IDB4YjUsIDB4ZDUsDQo+IDB4MjYsIDB4OTMsIDB4MmUsIDB4ODMsIDB4YzMsIDB4MTMg fX0NCj4gKyAgZ0VmaUdwaW9PcGVyYXRpb25Qcm90b2NvbEd1aWQgICAgID0geyAweDM4RERGRThG LCAweDg5OTEsIDB4NDRBQSwgeyAweDk4LA0KPiAweDg5LCAweDgzLCAweEY0LCAweDkxLCAweDg0 LCAweDY1LCAweEIwIH19DQo+ICsgIGdFZmlFc3J0T3BlcmF0aW9uUHJvdG9jb2xHdWlkICAgICA9 IHsgMHg0NTQ5QUI0NywgMHg2RTYwLCAweDQyOTMsIHsgMHhCOSwNCj4gMHgxRCwgMHgzMSwgMHhC NiwgMHgxMCwgMHhBRCwgMHg4MCwgMHg1NiB9fQ0KPiArDQo+ICtbR3VpZHNdDQo+ICsgIGdFZmlG d0Rpc3BsYXlDYXBzdWxlR3VpZCAgICAgICA9IHsgMHgzYjhjODE2MiwgMHgxODhjLCAweDQ2YTQs IHsgMHhhZSwgMHhjOSwNCj4gMHhiZSwgMHg0MywgMHhmMSwgMHhkNiwgMHg1NiwgMHg5NyB9IH0N Cj4gKyAgZ0VmaUZpcm13YXJlQ2xhc3NHdWlkICAgICAgICAgID0geyAweGIxMjJhMjYyLCAweDM1 NTEsIDB4NGY0OCwgeyAweDg4LCAweDkyLA0KPiAweDU1LCAweGY2LCAweGMwLCAweDYxLCAweDQy LCAweDkwIH0gfQ0KPiArICBnRWZpREZVVmVyR3VpZCAgICAgICAgICAgICAgICAgPSB7IDB4MGRj NzNhZWQsIDB4Y2JmNiwgMHg0YTI1LCB7IDB4YTYsIDB4OGQsIDB4NTksDQo+IDB4YzgsIDB4MGYs IDB4NDQsIDB4YzcsIDB4YzMgfSB9DQo+ICsgIGdFZmlFc3J0VGFibGVHdWlkICAgICAgICAgICAg ICA9IHsgMHhiMTIyYTI2MywgMHgzNjYxLCAweDRmNjgsIHsgMHg5OSwgMHgyOSwgMHg3OCwNCj4g MHhmOCwgMHhiMCwgMHhkNiwgMHgyMSwgMHg4MCB9IH0NCj4gKyAgZ0VmaUNhcHN1bGVDcmFzaExv Z1Zhckd1aWQgICAgID0geyAweGYzZmYxNDY4LCAweDA0YmEsIDB4NDk2NiwgeyAweDlmLCAweGIy LA0KPiAweGU0LCAweGE3LCAweDkwLCAweDA1LCAweDQ2LCAweDUwIH0gfQ0KPiArICBnRWZpQ2Fw c3VsZUNyYXNoR3VpZCAgICAgICAgICAgPSB7IDB4MGUxZDI5NzIsIDB4NjVhZiwgMHg0YWMxLCB7 IDB4YmYsIDB4YTMsDQo+IDB4Y2UsIDB4ZjQsIDB4YWIsIDB4MGMsIDB4MzgsIDB4ZmUgfSB9DQo+ ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtUGtnLmZkZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt UGtnLmZkZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wOTg2 MDJiOWQ4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZmRmDQo+IEBAIC0wLDAgKzEsMTA3MyBAQA0KPiArIy8qKiBA ZmlsZQ0KPiArIyBGREYgZmlsZSBvZiBQbGF0Zm9ybS4NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChj KSAyMDA4IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJS Pg0KPiArIw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArIw0KPiArIw0KPiArIyoqLw0KPiArDQo+ICtbRGVmaW5lc10NCj4gK0RFRklORSBGTEFT SF9CQVNFICAgICAgID0gMHhGRkMwMDAwMCAgICAgI1RoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIDRN Yg0KPiBGTEFTSCBEZXZpY2UuDQo+ICtERUZJTkUgRkxBU0hfU0laRSAgICAgICA9IDB4MDA0MDAw MDAgICAgICNUaGUgZmxhc2ggc2l6ZSBpbiBieXRlcyBvZiB0aGUgNE1iDQo+IEZMQVNIIERldmlj ZS4NCj4gK0RFRklORSBGTEFTSF9CTE9DS19TSVpFID0gMHgxMDAwICAgICAgICAjVGhlIGJsb2Nr IHNpemUgaW4gYnl0ZXMgb2YgdGhlIDRNYg0KPiBGTEFTSCBEZXZpY2UuDQo+ICtERUZJTkUgRkxB U0hfTlVNX0JMT0NLUyA9IDB4NDAwICAgICAgICAgICAjVGhlIG51bWJlciBvZiBibG9ja3MgaW4g NE1iDQo+IEZMQVNIIERldmljZS4NCj4gK0RFRklORSBGTEFTSF9BUkVBX0JBU0VfQUREUkVTUyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweEZGODAwMDAwDQo+ICtERUZJTkUgRkxB U0hfQVJFQV9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgw MDgwMDAwMA0KPiArDQo+ICtERUZJTkUgRkxBU0hfUkVHSU9OX1ZMVk1JQ1JPQ09ERV9PRkZTRVQg ICAgICAgICAgICAgICAgICAgICAgID0gMHgwMDAwMDAwMA0KPiArREVGSU5FIEZMQVNIX1JFR0lP Tl9WTFZNSUNST0NPREVfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAwNDAwMDAN Cj4gK0RFRklORSBGTEFTSF9SRUdJT05fVkxWTUlDUk9DT0RFX0JBU0UgICAgICAgICAgICAgICAg ICAgICAgICAgPSAweEZGQzAwMDAwDQo+ICsNCj4gK0RFRklORSBGTEFTSF9SRUdJT05fVlBEX09G RlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwMDQwMDAwDQo+ICtERUZJ TkUgRkxBU0hfUkVHSU9OX1ZQRF9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ID0gMHgwMDAzRTAwMA0KPiArDQo+ICtERUZJTkUNCj4gRkxBU0hfUkVHSU9OX05WU1RPUkFHRV9T VUJSRUdJT05fTlZfRlRXX1dPUktJTkdfT0ZGU0VUID0NCj4gMHgwMDA3RTAwMA0KPiArREVGSU5F DQo+IEZMQVNIX1JFR0lPTl9OVlNUT1JBR0VfU1VCUkVHSU9OX05WX0ZUV19XT1JLSU5HX1NJWkUg ICA9DQo+IDB4MDAwMDIwMDANCj4gKw0KPiArDQo+ICtERUZJTkUNCj4gRkxBU0hfUkVHSU9OX05W U1RPUkFHRV9TVUJSRUdJT05fTlZfRlRXX1NQQVJFX09GRlNFVCAgID0NCj4gMHgwMDA4MDAwMA0K PiArREVGSU5FIEZMQVNIX1JFR0lPTl9OVlNUT1JBR0VfU1VCUkVHSU9OX05WX0ZUV19TUEFSRV9T SVpFDQo+ID0gMHgwMDA0MDAwMA0KPiArDQo+ICshaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0g VFJVRQ0KPiArREVGSU5FIEZMQVNIX1JFR0lPTl9GU1BCSU5fT0ZGU0VUICAgICAgICAgICAgICAg ICAgICAgICAgICAgICA9IDB4MDAwQzAwMDANCj4gK0RFRklORSBGTEFTSF9SRUdJT05fRlNQQklO X1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwMDQ4MDAwDQo+ICtERUZJ TkUgRkxBU0hfUkVHSU9OX0ZTUEJJTl9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ID0gMHhGRkNDMDAwMA0KPiArDQo+ICtERUZJTkUgRkxBU0hfUkVHSU9OX0FaQUxJQUJJTl9PRkZT RVQgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMDEwODAwMA0KPiArREVGSU5FIEZMQVNI X1JFR0lPTl9BWkFMSUFCSU5fU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAw MDgwMDANCj4gK0RFRklORSBGTEFTSF9SRUdJT05fQVpBTElBQklOX0JBU0UgICAgICAgICAgICAg ICAgICAgICAgICAgICAgPSAweEZGRDA4MDAwDQo+ICsNCj4gKyFlbmRpZg0KPiArDQo+ICtERUZJ TkUgRkxBU0hfUkVHSU9OX0ZWTUFJTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAgICAg ID0gMHgwMDExMDAwMA0KPiArREVGSU5FIEZMQVNIX1JFR0lPTl9GVk1BSU5fU0laRSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAyMTAwMDANCj4gKw0KPiArREVGSU5FIEZMQVNI X1JFR0lPTl9GVl9SRUNPVkVSWTJfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAz MjAwMDANCj4gK0RFRklORSBGTEFTSF9SRUdJT05fRlZfUkVDT1ZFUlkyX1NJWkUgICAgICAgICAg ICAgICAgICAgICAgICAgPSAweDAwMDcwMDAwDQo+ICsNCj4gK0RFRklORSBGTEFTSF9SRUdJT05f RlZfUkVDT1ZFUllfT0ZGU0VUICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwMzkwMDAwDQo+ ICtERUZJTkUgRkxBU0hfUkVHSU9OX0ZWX1JFQ09WRVJZX1NJWkUgICAgICAgICAgICAgICAgICAg ICAgICAgID0gMHgwMDA3MDAwMA0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMN Cj4gKyMNCj4gKyMgRkQgU2VjdGlvbg0KPiArIyBUaGUgW0ZEXSBTZWN0aW9uIGlzIG1hZGUgdXAg b2YgdGhlIGRlZmluaXRpb24gc3RhdGVtZW50cyBhbmQgYQ0KPiArIyBkZXNjcmlwdGlvbiBvZiB3 aGF0IGdvZXMgaW50byAgdGhlIEZsYXNoIERldmljZSBJbWFnZS4gIEVhY2ggRkQgc2VjdGlvbg0K PiArIyBkZWZpbmVzIG9uZSBmbGFzaCAiZGV2aWNlIiBpbWFnZS4gIEEgZmxhc2ggZGV2aWNlIGlt YWdlIG1heSBiZSBvbmUgb2YNCj4gKyMgdGhlIGZvbGxvd2luZzogUmVtb3ZhYmxlIG1lZGlhIGJv b3RhYmxlIGltYWdlIChsaWtlIGEgYm9vdCBmbG9wcHkNCj4gKyMgaW1hZ2UsKSBhbiBPcHRpb24g Uk9NIGltYWdlICh0aGF0IHdvdWxkIGJlICJmbGFzaGVkIiBpbnRvIGFuIGFkZC1pbg0KPiArIyBj YXJkLCkgYSBTeXN0ZW0gIkZsYXNoIiAgaW1hZ2UgKHRoYXQgd291bGQgYmUgYnVybmVkIGludG8g YSBzeXN0ZW0ncw0KPiArIyBmbGFzaCkgb3IgYW4gVXBkYXRlICgiQ2Fwc3VsZSIpIGltYWdlIHRo YXQgd2lsbCBiZSB1c2VkIHRvIHVwZGF0ZSBhbmQNCj4gKyMgZXhpc3Rpbmcgc3lzdGVtIGZsYXNo Lg0KPiArIw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICtbRkQuVmx2XQ0KPiAr QmFzZUFkZHJlc3MgICA9DQo+ICQoRkxBU0hfQkFTRSl8Z1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFj ZUd1aWQuUGNkRmxhc2hBcmVhQmFzZUFkZHJlDQo+IHNzICNUaGUgYmFzZSBhZGRyZXNzIG9mIHRo ZSAzTWIgRkxBU0ggRGV2aWNlLg0KPiArU2l6ZSAgICAgICAgICA9DQo+ICQoRkxBU0hfU0laRSl8 Z1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hBcmVhU2l6ZQ0KPiAjVGhlIGZs YXNoIHNpemUgaW4gYnl0ZXMgb2YgdGhlIDNNYiBGTEFTSCBEZXZpY2UuDQo+ICtFcmFzZVBvbGFy aXR5ID0gMQ0KPiArQmxvY2tTaXplICAgICA9ICQoRkxBU0hfQkxPQ0tfU0laRSkgICAgICAgICAg I1RoZSBibG9jayBzaXplIGluIGJ5dGVzIG9mIHRoZSAzTWINCj4gRkxBU0ggRGV2aWNlLg0KPiAr TnVtQmxvY2tzICAgICA9ICQoRkxBU0hfTlVNX0JMT0NLUykgICAgICAgICAgI1RoZSBudW1iZXIg b2YgYmxvY2tzIGluIDNNYg0KPiBGTEFTSCBEZXZpY2UuDQo+ICsNCj4gKyMNCj4gKyNGbGFzaCBs b2NhdGlvbiBvdmVycmlkZSBiYXNlZCBvbiBhY3R1YWwgZmxhc2ggbWFwDQo+ICsjDQo+ICtTRVQg Z1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hBcmVhQmFzZUFkZHJlc3MgICAg ICAgICAgICA9DQo+ICQoRkxBU0hfQVJFQV9CQVNFX0FERFJFU1MpDQo+ICtTRVQgZ1BsYXRmb3Jt TW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hBcmVhU2l6ZSAgICAgICAgICAgICAgICAgICA9 DQo+ICQoRkxBU0hfQVJFQV9TSVpFKQ0KPiArDQo+ICtTRVQgZ1VlZmlDcHVQa2dUb2tlblNwYWNl R3VpZC5QY2RDcHVNaWNyb2NvZGVQYXRjaEFkZHJlc3MgPQ0KPiAkKEZMQVNIX1JFR0lPTl9WTFZN SUNST0NPREVfQkFTRSkgKyAweDYwDQo+ICtTRVQgZ1VlZmlDcHVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RDcHVNaWNyb2NvZGVQYXRjaFJlZ2lvblNpemUgPQ0KPiAkKEZMQVNIX1JFR0lPTl9WTFZNSUNS T0NPREVfU0laRSkgLSAweDYwDQo+ICsNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBU UlVFDQo+ICsjIHB1dCBiZWxvdyBQQ0QgdmFsdWUgc2V0dGluZyBpbnRvIGRzYyBmaWxlDQo+ICsj U0VUIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkQ3B1TWljcm9jb2RlUGF0Y2hBZGRyZXNz DQo+ID0gJChGTEFTSF9SRUdJT05fVkxWTUlDUk9DT0RFX0JBU0UpDQo+ICsjU0VUIGdGc3BXcmFw cGVyVG9rZW5TcGFjZUd1aWQuUGNkQ3B1TWljcm9jb2RlUGF0Y2hSZWdpb25TaXplDQo+ID0gJChG TEFTSF9SRUdJT05fVkxWTUlDUk9DT0RFX1NJWkUpDQo+ICsjU0VUIGdGc3BXcmFwcGVyVG9rZW5T cGFjZUd1aWQuUGNkRmxhc2hNaWNyb0NvZGVPZmZzZXQgICAgICAgICAgICAgICAgICAgID0NCj4g MHg2MA0KPiArI1NFVCBnRnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZEZsYXNoQ29kZUNhY2hl QWRkcmVzcyAgICAgICAgICAgICAgICAgICA9DQo+ICQoRkxBU0hfQVJFQV9CQVNFX0FERFJFU1Mp DQo+ICsjU0VUIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hDb2RlQ2FjaGVTaXpl ICAgICAgICAgICAgICAgICAgICAgID0NCj4gJChGTEFTSF9BUkVBX1NJWkUpDQo+ICsjU0VUIGdG c3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdkZzcEJhc2UgICAgICAgICAgICAgICAg ICAgICAgICAgID0NCj4gJChGTEFTSF9SRUdJT05fRlNQQklOX0JBU0UpDQo+ICsjU0VUIGdGc3BX cmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdkZzcFNpemUgICAgICAgICAgICAgICAgICAg ICAgICAgID0NCj4gJChGTEFTSF9SRUdJT05fRlNQQklOX1NJWkUpDQo+ICsNCj4gKyFlbmRpZg0K PiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICsjDQo+ICsjIEZvbGxvd2luZyBhcmUg bGlzdHMgb2YgRkQgUmVnaW9uIGxheW91dCB3aGljaCBjb3JyZXNwb25kIHRvIHRoZSBsb2NhdGlv bnMNCj4gb2YgZGlmZmVyZW50DQo+ICsjIGltYWdlcyB3aXRoaW4gdGhlIGZsYXNoIGRldmljZS4N Cj4gKyMNCj4gKyMgUmVnaW9ucyBtdXN0IGJlIGRlZmluZWQgaW4gYXNjZW5kaW5nIG9yZGVyIGFu ZCBtYXkgbm90IG92ZXJsYXAuDQo+ICsjDQo+ICsjIEEgTGF5b3V0IFJlZ2lvbiBzdGFydCB3aXRo IGEgZWlnaHQgZGlnaXQgaGV4IG9mZnNldCAobGVhZGluZyAiMHgiIHJlcXVpcmVkKQ0KPiBmb2xs b3dlZCBieQ0KPiArIyB0aGUgcGlwZSAifCIgY2hhcmFjdGVyLCBmb2xsb3dlZCBieSB0aGUgc2l6 ZSBvZiB0aGUgcmVnaW9uLCBhbHNvIGluIGhleCB3aXRoDQo+IHRoZSBsZWFkaW5nDQo+ICsjICIw eCIgY2hhcmFjdGVycy4gTGlrZToNCj4gKyMgT2Zmc2V0fFNpemUNCj4gKyMgUGNkT2Zmc2V0Q05h bWV8UGNkU2l6ZUNOYW1lDQo+ICsjIFJlZ2lvblR5cGUgPEZWLCBEQVRBLCBvciBGSUxFPg0KPiAr IyBGdiBTaXplIGNhbiBiZSBhZGp1c3RlZDsgRlZNQUlOX0NPTVBBQ1QgY2FuIGJlIHJlZHVjZWQg dG8gMHgxMjAwMDAsDQo+IGFuZCBGVl9SRUNPVkVSWSBjYW4gYmUgZW5sYXJnZWQgdG8gMHg4MDAw MA0KPiArIw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICsgICMNCj4gKyAgIyBD UFUgTWljcm9jb2Rlcw0KPiArICAjDQo+ICsNCj4gKyQoRkxBU0hfUkVHSU9OX1ZMVk1JQ1JPQ09E RV9PRkZTRVQpfCQoRkxBU0hfUkVHSU9OX1ZMVk1JQ1INCj4gT0NPREVfU0laRSkNCj4gK2dQbGF0 Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoTWljcm9Db2RlQWRkcmVzc3xnUGxhdGZv cm0NCj4gTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hNaWNyb0NvZGVTaXplDQo+ICtGViA9 IE1JQ1JPQ09ERV9GVg0KPiArJChGTEFTSF9SRUdJT05fVlBEX09GRlNFVCl8JChGTEFTSF9SRUdJ T05fVlBEX1NJWkUpDQo+ICtnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hO dlN0b3JhZ2VWYXJpYWJsZUJhc2V8Z0VmaQ0KPiBNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RGbGFzaE52U3RvcmFnZVZhcmlhYmxlU2l6ZQ0KPiArI05WX1ZBUklBQkxFX1NUT1JFDQo+ICtE QVRBID0gew0KPiArICAjIyBUaGlzIGlzIHRoZSBFRklfRklSTVdBUkVfVk9MVU1FX0hFQURFUg0K PiArICAjIFplcm9WZWN0b3IgW10NCj4gKyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwgMHgwMCwNCj4gKyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwNCj4gKyAgIyBGaWxlU3lzdGVtR3VpZDogZ0VmaVN5c3RlbU52RGF0YUZ2 R3VpZCAgICAgICAgID0NCj4gKyAgIyAgeyAweEZGRjEyQjhELCAweDc2OTYsIDB4NEM4QiwgeyAw eEE5LCAweDg1LCAweDI3LCAweDQ3LCAweDA3LCAweDVCLCAweDRGLA0KPiAweDUwIH19DQo+ICsg IDB4OEQsIDB4MkIsIDB4RjEsIDB4RkYsIDB4OTYsIDB4NzYsIDB4OEIsIDB4NEMsDQo+ICsgIDB4 QTksIDB4ODUsIDB4MjcsIDB4NDcsIDB4MDcsIDB4NUIsIDB4NEYsIDB4NTAsDQo+ICsgICMgRnZM ZW5ndGg6IDB4ODAwMDANCj4gKyAgMHgwMCwgMHgwMCwgMHgwOCwgMHgwMCwgMHgwMCwgMHgwMCwg MHgwMCwgMHgwMCwNCj4gKyAgI1NpZ25hdHVyZSAiX0ZWSCIgICAgICAgI0F0dHJpYnV0ZXMNCj4g KyAgMHg1ZiwgMHg0NiwgMHg1NiwgMHg0OCwgMHhmZiwgMHhmZSwgMHgwNCwgMHgwMCwNCj4gKyAg I0hlYWRlckxlbmd0aCAjQ2hlY2tTdW0gI0V4dEhlYWRlck9mZnNldCAjUmVzZXJ2ZWQgI1Jldmlz aW9uDQo+ICsgIDB4NDgsIDB4MDAsIDB4MkEsIDB4MDksIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDIs DQo+ICsgICNCbG9ja21hcFswXTogNyBCbG9ja3MgKiAweDEwMDAwIEJ5dGVzIC8gQmxvY2sNCj4g KyAgMHgwOCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMSwgMHgwMCwNCj4gKyAg I0Jsb2NrbWFwWzFdOiBFbmQNCj4gKyAgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgwMCwgMHgw MCwgMHgwMCwgMHgwMCwNCj4gKyAgIyMgVGhpcyBpcyB0aGUgVkFSSUFCTEVfU1RPUkVfSEVBREVS DQo+ICshaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4gKyAgI1NpZ25hdHVyZTog Z0VmaUF1dGhlbnRpY2F0ZWRWYXJpYWJsZUd1aWQgPQ0KPiArICAjICB7IDB4YWFmMzJjNzgsIDB4 OTQ3YiwgMHg0MzlhLCB7IDB4YTEsIDB4ODAsIDB4MmUsIDB4MTQsIDB4NGUsIDB4YzMsIDB4Nzcs DQo+IDB4OTIgfX0NCj4gKyAgMHg3OCwgMHgyYywgMHhmMywgMHhhYSwgMHg3YiwgMHg5NCwgMHg5 YSwgMHg0MywNCj4gKyAgMHhhMSwgMHg4MCwgMHgyZSwgMHgxNCwgMHg0ZSwgMHhjMywgMHg3Nywg MHg5MiwNCj4gKyFlbHNlDQo+ICsgICNTaWduYXR1cmU6IGdFZmlWYXJpYWJsZUd1aWQgPQ0KPiAr ICAjICB7IDB4ZGRjZjM2MTYsIDB4MzI3NSwgMHg0MTY0LCB7IDB4OTgsIDB4YjYsIDB4ZmUsIDB4 ODUsIDB4NzAsIDB4N2YsIDB4ZmUsDQo+IDB4N2QgfX0NCj4gKyAgMHgxNiwgMHgzNiwgMHhjZiwg MHhkZCwgMHg3NSwgMHgzMiwgMHg2NCwgMHg0MSwNCj4gKyAgMHg5OCwgMHhiNiwgMHhmZSwgMHg4 NSwgMHg3MCwgMHg3ZiwgMHhmZSwgMHg3ZCwNCj4gKyFlbmRpZg0KPiArICAjU2l6ZTogMHgzRTAw MA0KPiAoZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZsYXNoTnZTdG9yYWdlVmFy aWFibGVTaXplKSAtIDB4NDgNCj4gKHNpemUgb2YgRUZJX0ZJUk1XQVJFX1ZPTFVNRV9IRUFERVIp ID0gMHgwM0RGQjgNCj4gKyAgIyBUaGlzIGNhbiBzcGVlZCB1cCB0aGUgVmFyaWFibGUgRGlzcGF0 Y2ggYSBiaXQuDQo+ICsgIDB4QjgsIDB4REYsIDB4MDMsIDB4MDAsDQo+ICsgICNGT1JNQVRURUQ6 IDB4NUEgI0hFQUxUSFk6IDB4RkUgI1Jlc2VydmVkOiBVSU5UMTYgI1Jlc2VydmVkMToNCj4gVUlO VDMyDQo+ICsgIDB4NUEsIDB4RkUsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAN Cj4gK30NCj4gKw0KPiArDQo+ICskKEZMQVNIX1JFR0lPTl9OVlNUT1JBR0VfU1VCUkVHSU9OX05W X0ZUV19XT1JLSU5HX09GRlNFVA0KPiApfCQoRkxBU0hfUkVHSU9OX05WU1RPUkFHRV9TVUJSRUdJ T05fTlZfRlRXX1dPUktJTkdfU0laRSkNCj4gK2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RGbGFzaE52U3RvcmFnZUZ0d1dvcmtpbmdCYXNlfGcNCj4gRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRmxhc2hOdlN0b3JhZ2VGdHdXb3JraW5nU2l6ZQ0KPiArI05WX0ZUV19X T1JLSU5HDQo+ICtEQVRBID0gew0KPiArICAjIEVGSV9GQVVMVF9UT0xFUkFOVF9XT1JLSU5HX0JM T0NLX0hFQURFUi0+U2lnbmF0dXJlID0NCj4gZ0Vka2lpV29ya2luZ0Jsb2NrU2lnbmF0dXJlR3Vp ZCAgICAgICAgID0NCj4gKyAgIyAgeyAweDllNTgyOTJiLCAweDdjNjgsIDB4NDk3ZCwgeyAweGEw LCAweGNlLCAweDY1LCAgMHgwLCAweGZkLCAweDlmLCAweDFiLA0KPiAweDk1IH19DQo+ICsgIDB4 MkIsIDB4MjksIDB4NTgsIDB4OUUsIDB4NjgsIDB4N0MsIDB4N0QsIDB4NDksDQo+ICsgIDB4QTAs IDB4Q0UsIDB4NjUsIDB4MCwgIDB4RkQsIDB4OUYsIDB4MUIsIDB4OTUsDQo+ICsNCj4gKyAgIyBD cmM6VUlOVDMyICAgICAgICAgICAgI1dvcmtpbmdCbG9ja1ZhbGlkOjEsIFdvcmtpbmdCbG9ja0lu dmFsaWQ6MSwgUmVzZXJ2ZWQNCj4gKyAgMHhFMiwgMHgzMywgMHhGMiwgMHgzLCAgMHhGRSwgMHhG RiwgMHhGRiwgMHhGRiwNCj4gKyAgIyBXcml0ZVF1ZXVlU2l6ZTogVUlOVDY0ICNTaXplOiAweDIw MDAgLSAweDIwIChGVFdfV09SS0lOR19IRUFERVIpDQo+ID0gMHgxRkUwDQo+ICsgIDB4RTAsIDB4 MUYsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4MDANCj4gK30NCj4gKw0KPiArJChG TEFTSF9SRUdJT05fTlZTVE9SQUdFX1NVQlJFR0lPTl9OVl9GVFdfU1BBUkVfT0ZGU0VUKXwkKA0K PiBGTEFTSF9SRUdJT05fTlZTVE9SQUdFX1NVQlJFR0lPTl9OVl9GVFdfU1BBUkVfU0laRSkNCj4g K2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUZ0d1NwYXJl QmFzZXxnRWZpDQo+IE1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZsYXNoTnZTdG9yYWdl RnR3U3BhcmVTaXplDQo+ICsNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ ICsNCj4gKyAgJChGTEFTSF9SRUdJT05fRlNQQklOX09GRlNFVCl8JChGTEFTSF9SRUdJT05fRlNQ QklOX1NJWkUpDQo+ICsNCj4gZ0ZzcFdyYXBwZXJUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2RnNw QmFzZXxnRnNwV3JhcHBlclRva2VuU3BhY2UNCj4gR3VpZC5QY2RGbGFzaEZ2RnNwU2l6ZQ0KPiAr ICBGSUxFID0gVmx2MlNvY0JpblBrZy9Gc3BCaW5hcnkvRnZGc3AuYmluDQo+ICsNCj4gKw0KPiAr DQo+ICQoRkxBU0hfUkVHSU9OX0FaQUxJQUJJTl9PRkZTRVQpfCQoRkxBU0hfUkVHSU9OX0FaQUxJ QUJJTl9TSVpFKQ0KPiArICBGSUxFID0gVmx2MlRibHREZXZpY2VQa2cvRnNwQXphbGlhQ29uZmln RGF0YS9BemFsaWFDb25maWcuYmluDQo+ICsNCj4gKyFlbmRpZg0KPiArDQo+ICsgICMNCj4gKyAg IyBNYWluIEJsb2NrDQo+ICsgICMNCj4gKyQoRkxBU0hfUkVHSU9OX0ZWTUFJTl9PRkZTRVQpfCQo RkxBU0hfUkVHSU9OX0ZWTUFJTl9TSVpFKQ0KPiArZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1 aWQuUGNkRmxhc2hGdk1haW5CYXNlfGdQbGF0Zm9ybU1vZHVsZQ0KPiBUb2tlblNwYWNlR3VpZC5Q Y2RGbGFzaEZ2TWFpblNpemUNCj4gK0ZWID0gRlZNQUlOX0NPTVBBQ1QNCj4gKw0KPiArICAjDQo+ ICsgICMgRlYgUmVjb3ZlcnkjMg0KPiArICAjDQo+ICskKEZMQVNIX1JFR0lPTl9GVl9SRUNPVkVS WTJfT0ZGU0VUKXwkKEZMQVNIX1JFR0lPTl9GVl9SRUNPVg0KPiBFUlkyX1NJWkUpDQo+ICtnUGxh dGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnkyQmFzZXxnUGxhdGZv cm1NDQo+IG9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdlJlY292ZXJ5MlNpemUNCj4gK0ZW ID0gRlZSRUNPVkVSWTINCj4gKw0KPiArICAjDQo+ICsgICMgRlYgUmVjb3ZlcnkNCj4gKyAgIw0K PiArJChGTEFTSF9SRUdJT05fRlZfUkVDT1ZFUllfT0ZGU0VUKXwkKEZMQVNIX1JFR0lPTl9GVl9S RUNPVkUNCj4gUllfU0laRSkNCj4gK2dQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZs YXNoRnZSZWNvdmVyeUJhc2V8Z1BsYXRmb3JtTW8NCj4gZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZs YXNoRnZSZWNvdmVyeVNpemUNCj4gK0ZWID0gRlZSRUNPVkVSWQ0KPiArDQo+ICsjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gKyMNCj4gKyMgRlYgU2VjdGlvbg0KPiArIw0KPiArIyBbRlZd IHNlY3Rpb24gaXMgdXNlZCB0byBkZWZpbmUgd2hhdCBjb21wb25lbnRzIG9yIG1vZHVsZXMgYXJl IHBsYWNlZA0KPiB3aXRoaW4gYSBmbGFzaA0KPiArIyBkZXZpY2UgZmlsZS4gIFRoaXMgc2VjdGlv biBhbHNvIGRlZmluZXMgb3JkZXIgdGhlIGNvbXBvbmVudHMgYW5kIG1vZHVsZXMNCj4gYXJlIHBv c2l0aW9uZWQNCj4gKyMgd2l0aGluIHRoZSBpbWFnZS4gIFRoZSBbRlZdIHNlY3Rpb24gY29uc2lz dHMgb2YgZGVmaW5lIHN0YXRlbWVudHMsIHNldA0KPiBzdGF0ZW1lbnRzIGFuZA0KPiArIyBtb2R1 bGUgc3RhdGVtZW50cy4NCj4gKyMNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAr W0ZWLk1JQ1JPQ09ERV9GVl0NCj4gK0Jsb2NrU2l6ZSAgICAgICAgICA9ICQoRkxBU0hfQkxPQ0tf U0laRSkNCj4gK0Z2QWxpZ25tZW50ICAgICAgICA9IDE2DQo+ICtFUkFTRV9QT0xBUklUWSAgICAg PSAxDQo+ICtNRU1PUllfTUFQUEVEICAgICAgPSBUUlVFDQo+ICtTVElDS1lfV1JJVEUgICAgICAg PSBUUlVFDQo+ICtMT0NLX0NBUCAgICAgICAgICAgPSBUUlVFDQo+ICtMT0NLX1NUQVRVUyAgICAg ICAgPSBGQUxTRQ0KPiArV1JJVEVfRElTQUJMRURfQ0FQID0gVFJVRQ0KPiArV1JJVEVfRU5BQkxF RF9DQVAgID0gVFJVRQ0KPiArV1JJVEVfU1RBVFVTICAgICAgID0gVFJVRQ0KPiArV1JJVEVfTE9D S19DQVAgICAgID0gVFJVRQ0KPiArV1JJVEVfTE9DS19TVEFUVVMgID0gVFJVRQ0KPiArUkVBRF9E SVNBQkxFRF9DQVAgID0gVFJVRQ0KPiArUkVBRF9FTkFCTEVEX0NBUCAgID0gVFJVRQ0KPiArUkVB RF9TVEFUVVMgICAgICAgID0gVFJVRQ0KPiArUkVBRF9MT0NLX0NBUCAgICAgID0gVFJVRQ0KPiAr UkVBRF9MT0NLX1NUQVRVUyAgID0gVFJVRQ0KPiArDQo+ICtGSUxFIFJBVyA9IDE5N0RCMjM2LUY4 NTYtNDkyNC05MEY4LUNERjEyRkI4NzVGMyB7DQo+ICsNCj4gJChPVVRQVVRfRElSRUNUT1JZKS8k KFRBUkdFVClfJChUT09MX0NIQUlOX1RBRykvJChEWEVfQVJDSElURUMNCj4gVFVSRSkvTWljcm9j b2RlVXBkYXRlcy5iaW4NCj4gK30NCj4gKw0KPiArIWlmICQoUkVDT1ZFUllfRU5BQkxFKQ0KPiAr W0ZWLkZWUkVDT1ZFUllfQ09NUE9ORU5UU10NCj4gK0Z2QWxpZ25tZW50ICAgICAgICA9IDE2ICAg ICAgICAgI0ZWIGFsaWdubWVudCBhbmQgRlYgYXR0cmlidXRlcyBzZXR0aW5nLg0KPiArRVJBU0Vf UE9MQVJJVFkgICAgID0gMQ0KPiArTUVNT1JZX01BUFBFRCAgICAgID0gVFJVRQ0KPiArU1RJQ0tZ X1dSSVRFICAgICAgID0gVFJVRQ0KPiArTE9DS19DQVAgICAgICAgICAgID0gVFJVRQ0KPiArTE9D S19TVEFUVVMgICAgICAgID0gVFJVRQ0KPiArV1JJVEVfRElTQUJMRURfQ0FQID0gVFJVRQ0KPiAr V1JJVEVfRU5BQkxFRF9DQVAgID0gVFJVRQ0KPiArV1JJVEVfU1RBVFVTICAgICAgID0gVFJVRQ0K PiArV1JJVEVfTE9DS19DQVAgICAgID0gVFJVRQ0KPiArV1JJVEVfTE9DS19TVEFUVVMgID0gVFJV RQ0KPiArUkVBRF9ESVNBQkxFRF9DQVAgID0gVFJVRQ0KPiArUkVBRF9FTkFCTEVEX0NBUCAgID0g VFJVRQ0KPiArUkVBRF9TVEFUVVMgICAgICAgID0gVFJVRQ0KPiArUkVBRF9MT0NLX0NBUCAgICAg ID0gVFJVRQ0KPiArUkVBRF9MT0NLX1NUQVRVUyAgID0gVFJVRQ0KPiArDQo+ICtJTkYgIFJ1bGVP dmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNI SVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBjaFVzYi5pbmYNCj4gK0lORiAgTWRlTW9kdWxl UGtnL0J1cy9QY2kvRWhjaVBlaS9FaGNpUGVpLmluZg0KPiArSU5GICBNZGVNb2R1bGVQa2cvQnVz L1VzYi9Vc2JCdXNQZWkvVXNiQnVzUGVpLmluZg0KPiArSU5GICBNZGVNb2R1bGVQa2cvQnVzL1Vz Yi9Vc2JCb3RQZWkvVXNiQm90UGVpLmluZg0KPiArSU5GICBGYXRQa2cvRmF0UGVpL0ZhdFBlaS5p bmYNCj4gK0lORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL0NkRXhwcmVzc1BlaS9DZEV4 cHJlc3NQZWkuaW5mDQo+ICtJTkYNCj4gU2lnbmVkQ2Fwc3VsZVBrZy9Vbml2ZXJzYWwvUmVjb3Zl cnlNb2R1bGVMb2FkUGVpL1JlY292ZXJ5TW9kdWxlTG9hDQo+IGRQZWkuaW5mDQo+ICshZW5kaWYN Cj4gKw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICsjDQo+ICsjIEZWIFNlY3Rp b24NCj4gKyMNCj4gKyMgW0ZWXSBzZWN0aW9uIGlzIHVzZWQgdG8gZGVmaW5lIHdoYXQgY29tcG9u ZW50cyBvciBtb2R1bGVzIGFyZSBwbGFjZWQNCj4gd2l0aGluIGEgZmxhc2gNCj4gKyMgZGV2aWNl IGZpbGUuICBUaGlzIHNlY3Rpb24gYWxzbyBkZWZpbmVzIG9yZGVyIHRoZSBjb21wb25lbnRzIGFu ZCBtb2R1bGVzDQo+IGFyZSBwb3NpdGlvbmVkDQo+ICsjIHdpdGhpbiB0aGUgaW1hZ2UuICBUaGUg W0ZWXSBzZWN0aW9uIGNvbnNpc3RzIG9mIGRlZmluZSBzdGF0ZW1lbnRzLCBzZXQNCj4gc3RhdGVt ZW50cyBhbmQNCj4gKyMgbW9kdWxlIHN0YXRlbWVudHMuDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCj4gK1tGVi5GVlJFQ09WRVJZMl0NCj4gK0Jsb2NrU2l6ZSAgICAgICAg ICA9ICQoRkxBU0hfQkxPQ0tfU0laRSkNCj4gK0Z2QWxpZ25tZW50ICAgICAgICA9IDE2ICAgICAg ICAgI0ZWIGFsaWdubWVudCBhbmQgRlYgYXR0cmlidXRlcyBzZXR0aW5nLg0KPiArRVJBU0VfUE9M QVJJVFkgICAgID0gMQ0KPiArTUVNT1JZX01BUFBFRCAgICAgID0gVFJVRQ0KPiArU1RJQ0tZX1dS SVRFICAgICAgID0gVFJVRQ0KPiArTE9DS19DQVAgICAgICAgICAgID0gVFJVRQ0KPiArTE9DS19T VEFUVVMgICAgICAgID0gVFJVRQ0KPiArV1JJVEVfRElTQUJMRURfQ0FQID0gVFJVRQ0KPiArV1JJ VEVfRU5BQkxFRF9DQVAgID0gVFJVRQ0KPiArV1JJVEVfU1RBVFVTICAgICAgID0gVFJVRQ0KPiAr V1JJVEVfTE9DS19DQVAgICAgID0gVFJVRQ0KPiArV1JJVEVfTE9DS19TVEFUVVMgID0gVFJVRQ0K PiArUkVBRF9ESVNBQkxFRF9DQVAgID0gVFJVRQ0KPiArUkVBRF9FTkFCTEVEX0NBUCAgID0gVFJV RQ0KPiArUkVBRF9TVEFUVVMgICAgICAgID0gVFJVRQ0KPiArUkVBRF9MT0NLX0NBUCAgICAgID0g VFJVRQ0KPiArUkVBRF9MT0NLX1NUQVRVUyAgID0gVFJVRQ0KPiArRnZOYW1lR3VpZCAgICAgICAg ID0gQjczRkU0OTctQjkyRS00MTZlLTgzMjYtNDVBRDBEMjcwMDkyDQo+ICsNCj4gKw0KPiArDQo+ ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUluaXRQZWkvUGxhdGZvcm1Jbml0UGVp LmluZg0KPiArDQo+ICshaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gRkFMU0UNCj4gK0lORiBS dWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVf QVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hTbWJ1c0FycERpc2FibGVkLmluZg0K PiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvVmwNCj4gdkluaXRQZWltLmluZg0K PiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBjaEluaXRQZWltLmluZg0K PiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBjaFNwaVBlaW0uaW5mDQo+ ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0Up LyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9QDQo+IGVpU21tQWNjZXNzLmluZg0K PiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBlaVNtbUNvbnRyb2wuaW5m DQo+ICtJTkYgVWVmaUNwdVBrZy9Vbml2ZXJzYWwvQWNwaS9TM1Jlc3VtZTJQZWkvUzNSZXN1bWUy UGVpLmluZg0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFS WV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvTQ0KPiBwUzMuaW5m DQo+ICshZW5kaWYNCj4gKw0KPiArIyBJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExB VEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9Q aQ0KPiBTbW1Db21tdW5pY2F0aW9uUGVpLmluZg0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRS VUUNCj4gK0lORiBTZWN1cml0eVBrZy9UY2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnUGVpLmluZg0K PiArSU5GIFNlY3VyaXR5UGtnL1RjZy9UY2dQZWkvVGNnUGVpLmluZg0KPiArSU5GIFNlY3VyaXR5 UGtnL1RjZy9QaHlzaWNhbFByZXNlbmNlUGVpL1BoeXNpY2FsUHJlc2VuY2VQZWkuaW5mDQo+ICsh ZW5kaWYNCj4gKyFpZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYgIFNlY3VyaXR5UGtn L1RjZy9UY2cyUGVpL1RjZzJQZWkuaW5mICN1c2UgUENEIGNvbmZpZw0KPiArIWVuZGlmDQo+ICtJ TkYgTWRlTW9kdWxlUGtnL0NvcmUvRHhlSXBsUGVpbS9EeGVJcGwuaW5mDQo+ICsNCj4gKyFpZiAk KEFDUEk1MF9FTkFCTEUpID09IFRSVUUNCj4gKyBJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9BY3BpL0Zpcm13YXJlUGVyZm9ybWFuY2VEYXRhVGFibGVQZWkvRmlybXdhDQo+IHJlUGVyZm9y bWFuY2VQZWkuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0g VFJVRQ0KPiArSU5GDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUmVwb3J0U3RhdHVzQ29kZVJv dXRlci9QZWkvUmVwb3J0U3RhdHVzQ29kZQ0KPiBSb3V0ZXJQZWkuaW5mDQo+ICshZW5kaWYNCj4g Kw0KPiArIWlmICQoUkVDT1ZFUllfRU5BQkxFKQ0KPiArRklMRSBGVl9JTUFHRSA9IDFFOUQ3NjA0 LUVGNDUtNDZhMC1CRDhBLTcxQUM3OEMxN0FDMSB7DQo+ICsgIFNFQ1RJT04gUEVJX0RFUEVYX0VY UCA9IHtnRWZpUGVpTWVtb3J5RGlzY292ZXJlZFBwaUd1aWQgQU5EDQo+IGdFZmlQZWlCb290SW5S ZWNvdmVyeU1vZGVQcGlHdWlkfQ0KPiArICBTRUNUSU9OIEdVSURFRCBFRTRFNTg5OC0zOTE0LTQy NTktOUQ2RS1EQzdCRDc5NDAzQ0YgeyAgICAjIExaTUENCj4gQ09NUFJFU1MgR1VJRA0KPiArICAg IFNFQ1RJT04gRlZfSU1BR0UgPSBGVlJFQ09WRVJZX0NPTVBPTkVOVFMNCj4gKyAgfQ0KPiArfQ0K PiArIWVuZGlmDQo+ICsNCj4gK1tGVi5GVlJFQ09WRVJZXQ0KPiArQmxvY2tTaXplICAgICAgICAg ID0gJChGTEFTSF9CTE9DS19TSVpFKQ0KPiArRnZBbGlnbm1lbnQgICAgICAgID0gMTYgICAgICAg ICAjRlYgYWxpZ25tZW50IGFuZCBGViBhdHRyaWJ1dGVzIHNldHRpbmcuDQo+ICtFUkFTRV9QT0xB UklUWSAgICAgPSAxDQo+ICtNRU1PUllfTUFQUEVEICAgICAgPSBUUlVFDQo+ICtTVElDS1lfV1JJ VEUgICAgICAgPSBUUlVFDQo+ICtMT0NLX0NBUCAgICAgICAgICAgPSBUUlVFDQo+ICtMT0NLX1NU QVRVUyAgICAgICAgPSBUUlVFDQo+ICtXUklURV9ESVNBQkxFRF9DQVAgPSBUUlVFDQo+ICtXUklU RV9FTkFCTEVEX0NBUCAgPSBUUlVFDQo+ICtXUklURV9TVEFUVVMgICAgICAgPSBUUlVFDQo+ICtX UklURV9MT0NLX0NBUCAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX1NUQVRVUyAgPSBUUlVFDQo+ ICtSRUFEX0RJU0FCTEVEX0NBUCAgPSBUUlVFDQo+ICtSRUFEX0VOQUJMRURfQ0FQICAgPSBUUlVF DQo+ICtSRUFEX1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfQ0FQICAgICAgPSBU UlVFDQo+ICtSRUFEX0xPQ0tfU1RBVFVTICAgPSBUUlVFDQo+ICtGdk5hbWVHdWlkICAgICAgICAg PSBCNzNGRTQ5Ny1COTJFLTQxNmUtODMyNi00NUFEMEQyNzAwOTENCj4gKw0KPiArDQo+ICshaWYg JChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArSU5GIEludGVsRnNwV3JhcHBlclBrZy9G c3BXcmFwcGVyU2VjQ29yZS9Gc3BXcmFwcGVyU2VjQ29yZS5pbmYNCj4gKyFlbHNlDQo+ICtJTkYg UnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhF X0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9TDQo+IGVjQ29yZS5pbmYNCj4gKyFlbmRpZg0K PiArDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0NvcmUvUGVpL1BlaU1haW4uaW5mDQo+ICshaWYgJChN SU5OT1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArSU5GIFZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1 cHBvcnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQZWkuaW5mDQo+ICtJTkYgSW50ZWxGc3BXcmFwcGVy UGtnL0ZzcEluaXRQZWkvRnNwSW5pdFBlaS5pbmYNCj4gKyFlbmRpZg0KPiArSU5GIFJ1bGVPdmVy cmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRF Q1RVUkUpJChUQVJHRVQpL0lBMzIvQw0KPiBwdVBlaW0uaW5mDQo+ICtJTkYNCj4gTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVQZWkvRmF1bHRUb2xlcmFudFdyaXRlUGVp LmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUGVpL1ZhcmlhYmxl UGVpLmluZg0KPiArDQo+ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybVBlaS9QbGF0 Zm9ybVBlaS5pbmYNCj4gKw0KPiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IEZBTFNFDQo+ ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0Up LyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9TDQo+IGVDVW1hLmluZg0KPiArIWVu ZGlmDQo+ICsNCj4gKyFpZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYgUnVsZU92ZXJy aWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVD VFVSRSkkKFRBUkdFVCkvSUEzMi9mVA0KPiBQTUluaXRQZWltLmluZg0KPiArIWVuZGlmDQo+ICsN Cj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKyAgSU5GICBTb3VyY2VM ZXZlbERlYnVnUGtnL0RlYnVnQWdlbnRQZWkvRGVidWdBZ2VudFBlaS5pbmYNCj4gKyFlbmRpZg0K PiArDQo+ICsNCj4gKyFpZiAkKENBUFNVTEVfRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYgIE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQ2Fwc3VsZVBlaS9DYXBzdWxlUGVpLmluZg0KPiArIWlmICQoRFhF X0FSQ0hJVEVDVFVSRSkgPT0gIlg2NCINCj4gK0lORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9D YXBzdWxlUGVpL0NhcHN1bGVYNjQuaW5mDQo+ICshZW5kaWYNCj4gKyFlbmRpZg0KPiArDQo+ICsh aWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gRkFMU0UNCj4gKyFpZiAkKFBDSUVTQ19FTkFCTEUp ID09IFRSVUUNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5B UllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hFYXJs eUluaXRQZWltLmluZg0KPiArIWVuZGlmDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv SUEzMi9NDQo+IGVtb3J5SW5pdC5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICtJTkYgTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9QQ0QvUGVpL1BjZC5pbmYNCj4gKw0KPiArW0ZWLkZWTUFJTl0NCj4gK0Js b2NrU2l6ZSAgICAgICAgICA9ICQoRkxBU0hfQkxPQ0tfU0laRSkNCj4gK0Z2QWxpZ25tZW50ICAg ICAgICA9IDE2DQo+ICtFUkFTRV9QT0xBUklUWSAgICAgPSAxDQo+ICtNRU1PUllfTUFQUEVEICAg ICAgPSBUUlVFDQo+ICtTVElDS1lfV1JJVEUgICAgICAgPSBUUlVFDQo+ICtMT0NLX0NBUCAgICAg ICAgICAgPSBUUlVFDQo+ICtMT0NLX1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ICtXUklURV9ESVNB QkxFRF9DQVAgPSBUUlVFDQo+ICtXUklURV9FTkFCTEVEX0NBUCAgPSBUUlVFDQo+ICtXUklURV9T VEFUVVMgICAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX0NBUCAgICAgPSBUUlVFDQo+ICtXUklU RV9MT0NLX1NUQVRVUyAgPSBUUlVFDQo+ICtSRUFEX0RJU0FCTEVEX0NBUCAgPSBUUlVFDQo+ICtS RUFEX0VOQUJMRURfQ0FQICAgPSBUUlVFDQo+ICtSRUFEX1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ ICtSRUFEX0xPQ0tfQ0FQICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfU1RBVFVTICAgPSBUUlVF DQo+ICtGdk5hbWVHdWlkICAgICAgICAgPSBBODgxRDU2Ny02Q0IwLTRlZWUtODQzNS0yRTcyRDMz RTQ1QjUNCj4gKw0KPiArQVBSSU9SSSBEWEUgew0KPiArICBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvUENEL0R4ZS9QY2QuaW5mDQo+ICsgIElORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L1JlcG9ydFN0YXR1c0NvZGVSb3V0ZXIvUnVudGltZUR4ZS9SZXBvcnRTdA0KPiBhdHVzQ29kZVJv dXRlclJ1bnRpbWVEeGUuaW5mDQo+ICsgIElORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1N0 YXR1c0NvZGVIYW5kbGVyL1J1bnRpbWVEeGUvU3RhdHVzQ29kZUhhbg0KPiBkbGVyUnVudGltZUR4 ZS5pbmYNCj4gKyAgfQ0KPiArDQo+ICtGSUxFIEZSRUVGT1JNID0gQzNFMzZEMDktODI5NC00Yjk3 LUE4NTctRDUyODhGRTMzRTI4IHsNCj4gKyAgICBTRUNUSU9OIFJBVyA9DQo+ICQoT1VUUFVUX0RJ UkVDVE9SWSkvJChUQVJHRVQpXyQoVE9PTF9DSEFJTl9UQUcpLyQoRFhFX0FSQ0hJVEVDDQo+IFRV UkUpL0Jpb3NJZC5iaW4NCj4gKyAgfQ0KPiArDQo+ICsgICMNCj4gKyAgIyBFREsgSUkgUmVsYXRl ZCBQbGF0Zm9ybSBjb2Rlcw0KPiArICAjDQo+ICsNCj4gKyAgIWlmICQoTUlOTk9XMl9GU1BfQlVJ TEQpID09IFRSVUUNCj4gKyAgSU5GIEludGVsRnNwV3JhcHBlclBrZy9Gc3BOb3RpZnlEeGUvRnNw Tm90aWZ5RHhlLmluZg0KPiArICAhZW5kaWYNCj4gKw0KPiArSU5GIE1kZU1vZHVsZVBrZy9Db3Jl L0R4ZS9EeGVNYWluLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUENEL0R4ZS9Q Y2QuaW5mDQo+ICshaWYgJChBQ1BJNTBfRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYNCj4gTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9BY3BpL0Zpcm13YXJlUGVyZm9ybWFuY2VEYXRhVGFibGVEeGUvRmly bXcNCj4gYXJlUGVyZm9ybWFuY2VEeGUuaW5mDQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9BY3BpL0Zpcm13YXJlUGVyZm9ybWFuY2VEYXRhVGFibGVTbW0vRmlybQ0KPiB3YXJlUGVy Zm9ybWFuY2VTbW0uaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArDQo+ICtJTkYgSW50ZWxGcmFtZXdv cmtNb2R1bGVQa2cvVW5pdmVyc2FsL0NwdUlvRHhlL0NwdUlvRHhlLmluZg0KPiArSU5GIFVlZmlD cHVQa2cvQ3B1SW8yRHhlL0NwdUlvMkR4ZS5pbmYNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL1JlcG9ydFN0YXR1c0NvZGVSb3V0ZXIvUnVudGltZUR4ZS9SZXBvcnRTdA0KPiBhdHVz Q29kZVJvdXRlclJ1bnRpbWVEeGUuaW5mDQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9TdGF0dXNDb2RlSGFuZGxlci9SdW50aW1lRHhlL1N0YXR1c0NvZGVIYW4NCj4gZGxlclJ1bnRp bWVEeGUuaW5mDQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9SZXBvcnRTdGF0dXND b2RlUm91dGVyL1NtbS9SZXBvcnRTdGF0dXNDb2QNCj4gZVJvdXRlclNtbS5pbmYNCj4gK0lORiBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1NlY3VyaXR5U3R1YkR4ZS9TZWN1cml0eVN0dWJEeGUuaW5m DQo+ICtJTkYgVWVmaUNwdVBrZy9DcHVEeGUvQ3B1RHhlLmluZg0KPiArSU5GICQoUExBVEZPUk1f UEFDS0FHRSkvTWV0cm9ub21lL01ldHJvbm9tZS5pbmYNCj4gK0lORiBJbnRlbEZyYW1ld29ya01v ZHVsZVBrZy9Vbml2ZXJzYWwvQmRzRHhlL0Jkc0R4ZS5pbmYNCj4gKyFpZiAkKEFSQ0gpID09IElB MzINCj4gK0lORiBVU0U9SUEzMiBNZGVNb2R1bGVQa2cvTG9nby9Mb2dvLmluZg0KPiArIWVsc2UN Cj4gK0lORiBVU0U9WDY0IE1kZU1vZHVsZVBrZy9Mb2dvL0xvZ28uaW5mDQo+ICshZW5kaWYNCj4g K0lORiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1dhdGNoZG9nVGltZXJEeGUvV2F0Y2hkb2dUaW1l ci5pbmYNCj4gK0lORiBNZGVNb2R1bGVQa2cvQ29yZS9SdW50aW1lRHhlL1J1bnRpbWVEeGUuaW5m DQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUv RmF1bHRUb2xlcmFudFdyaXRlRHhlLmluDQo+IGYNCj4gK0lORg0KPiBJbnRlbEZyYW1ld29ya01v ZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9BY3BpUzNTYXZlRHhlL0FjcGlTM1NhdmVEeGUuaQ0KPiBu Zg0KPiArDQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1l RHhlL1ZhcmlhYmxlU21tUnVudGltZUR4ZS5pDQo+IG5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmluZg0KPiArSU5GICQoUExB VEZPUk1fUEFDS0FHRSkvRnZiUnVudGltZUR4ZS9GdmJTbW0uaW5mDQo+ICtJTkYNCj4gTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRl U21tLmkNCj4gbmYNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9C SU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJD SElURUNUVVJFKS9QY2hTcGlTbW0uaW5mDQo+ICshaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpDQo+ ICtJTkYNCj4gU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNhdGVkL1NlY3VyZUJvb3RDb25m aWdEeGUvU2VjdXJlQm9vdENvbmZpDQo+IGdEeGUuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArSU5G DQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ2Fwc3VsZVJ1bnRpbWVEeGUvQ2Fwc3VsZVJ1bnRp bWVEeGUuaW5mDQo+ICsNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL01vbm90b25p Y0NvdW50ZXJSdW50aW1lRHhlL01vbm90b25pY0NvdW4NCj4gdGVyUnVudGltZUR4ZS5pbmYNCj4g K0lORg0KPiBQY0F0Q2hpcHNldFBrZy9QY2F0UmVhbFRpbWVDbG9ja1J1bnRpbWVEeGUvUGNhdFJl YWxUaW1lQ2xvY2tSdW50aW1lDQo+IER4ZS5pbmYNCj4gK0lORiBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL0RldmljZVBhdGhEeGUvRGV2aWNlUGF0aER4ZS5pbmYNCj4gK0lORiAkKFBMQVRGT1JNX1BB Q0tBR0UpL0Z2YlJ1bnRpbWVEeGUvRnZiUnVudGltZUR4ZS5pbmYNCj4gKw0KPiArDQo+ICtJTkYg JChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybVNldHVwRHhlL1BsYXRmb3JtU2V0dXBEeGUuaW5m DQo+ICsNCj4gKyFpZiAkKERBVEFIVUJfRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYgSW50ZWxGcmFt ZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL0RhdGFIdWJEeGUvRGF0YUh1YkR4ZS5pbmYNCj4gKyFl bmRpZg0KPiArSU5GDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9TdGF0dXND b2RlL0RhdGFodWJTdGF0dXNDb2RlSGFuZGwNCj4gZXJEeGUvRGF0YWh1YlN0YXR1c0NvZGVIYW5k bGVyRHhlLmluZg0KPiArSU5GDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTWVtb3J5VGVzdC9O dWxsTWVtb3J5VGVzdER4ZS9OdWxsTWVtb3J5VA0KPiBlc3REeGUuaW5mDQo+ICsNCj4gK0lORiBS dWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVf QVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9EcHRmLmluZg0K PiArDQo+ICsgICMNCj4gKyAgIyBFREsgSUkgUmVsYXRlZCBTaWxpY29uIGNvZGVzDQo+ICsgICMN Cj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FH RSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9Q Y2hTM1N1cHBvcnREeGUuaW5mDQo+ICsNCj4gKyFpZiAkKFVTRV9IUEVUX1RJTUVSKSA9PSBUUlVF DQo+ICtJTkYgUGNBdENoaXBzZXRQa2cvSHBldFRpbWVyRHhlL0hwZXRUaW1lckR4ZS5pbmYNCj4g KyFlbHNlDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZ X1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVD VFVSRSkvU21hcnRUaW1lci5pbmYNCj4gKyFlbmRpZg0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJ TkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChU QVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NtbUNvbnRyb2wuaW5mDQo+ICsNCj4gK0lO RiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChE WEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hTbWJ1 c0R4ZS5pbmYNCj4gKw0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBB UkNISVRFQ1RVUkUpL0ludGVsUGNoTGVnYWN5SW50ZXJydXB0LmluZg0KPiArSU5GIFJ1bGVPdmVy cmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRF Q1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFJlc2V0LmluZg0KPiAr DQo+ICshaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gRkFMU0UNCj4gK0lORiBSdWxlT3ZlcnJp ZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNU VVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hJbml0RHhlLmluZg0KPiAr SU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8k KERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaElu aXRTbW0uaW5mDQo+ICshZW5kaWYNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQ TEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERY RV8NCj4gQVJDSElURUNUVVJFKS9QY2hTbWlEaXNwYXRjaGVyLmluZg0KPiArIWlmICQoUENJRVND X0VOQUJMRSkgPT0gVFJVRQ0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRG T1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0K PiBBUkNISVRFQ1RVUkUpL1BjaFBjaWVTbW0uaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArSU5GIFJ1 bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9B UkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNwaVJ1bnRp bWUuaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZ X1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVD VFVSRSkvUGNoUG9saWN5SW5pdER4ZS5pbmYNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkN Cj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VU KS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hCaW9zV3JpdGVQcm90ZWN0LmluZg0KPiArSU5G IFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERY RV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NtbUFjY2Vz cy5pbmYNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllf UEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNU VVJFKS9QY2lIb3N0QnJpZGdlLmluZg0KPiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IEZB TFNFDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BB Q0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVS RSkvVmx2SW5pdER4ZS5pbmYNCj4gKyFlbHNlDQo+ICtJTkYNCj4gSW50ZWxGcmFtZXdvcmtNb2R1 bGVQa2cvVW5pdmVyc2FsL0xlZ2FjeVJlZ2lvbkR4ZS9MZWdhY3lSZWdpb25EeGUuaQ0KPiBuZg0K PiArSU5GIFZsdjJUYmx0RGV2aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0Zm9ybUlu aXREeGUuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBGQUxT RQ0KPiArICAhaWYgJChTRUNfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIElORiAgUnVsZU92ZXJyaWRl ID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVS RSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvSGVjaURydi5pbmYNCj4gKyAgSU5G ICBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChE WEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9TZUNQb2xp Y3lJbml0RHhlLmluZg0KPiArICAhZW5kaWYNCj4gKyFlbmRpZg0KPiArIWlmICQoVFBNX0VOQUJM RUQpID09IFRSVUUNCj4gK0lORiBTZWN1cml0eVBrZy9UY2cvVGNnQ29uZmlnRHhlL1RjZ0NvbmZp Z0R4ZS5pbmYNCj4gK0lORiBTZWN1cml0eVBrZy9UY2cvVGNnRHhlL1RjZ0R4ZS5pbmYNCj4gK0lO RiBSdWxlT3ZlcnJpZGUgPSBEUklWRVJfQUNQSVRBQkxFDQo+IFNlY3VyaXR5UGtnL1RjZy9UY2dT bW0vVGNnU21tLmluZg0KPiArIWVuZGlmDQo+ICshaWYgJChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0K PiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvVA0KPiBwbTJEZXZpY2VTZUNQZWku aW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BB Q0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVS RSkvVHBtMkRldmljZVNlQ0R4ZS5pbmYNCj4gK0lORiBTZWN1cml0eVBrZy9UY2cvTWVtb3J5T3Zl cndyaXRlQ29udHJvbC9UY2dNb3IuaW5mDQo+ICtJTkYgU2VjdXJpdHlQa2cvVGNnL1RjZzJEeGUv VGNnMkR4ZS5pbmYNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9C SU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJD SElURUNUVVJFKS9GdHBtU21tLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKyMNCj4gKyMgRURLIElJ IFJlbGF0ZWQgUGxhdGZvcm0gY29kZXMNCj4gKyMNCj4gK0lORiAkKFBMQVRGT1JNX1BBQ0tBR0Up L1BsYXRmb3JtU21tL1BsYXRmb3JtU21tLmluZg0KPiArSU5GICQoUExBVEZPUk1fUEFDS0FHRSkv UGxhdGZvcm1JbmZvRHhlL1BsYXRmb3JtSW5mb0R4ZS5pbmYNCj4gK0lORiAkKFBMQVRGT1JNX1BB Q0tBR0UpL1BsYXRmb3JtQ3B1SW5mb0R4ZS9QbGF0Zm9ybUNwdUluZm9EeGUuaW5mDQo+ICtJTkYg JChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybUR4ZS5pbmYNCj4gK0lORiAk KFBMQVRGT1JNX1BBQ0tBR0UpL1BjaVBsYXRmb3JtL1BjaVBsYXRmb3JtLmluZg0KPiArSU5GICQo UExBVEZPUk1fUEFDS0FHRSkvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtb3J5Q29uZmlnLmluZg0K PiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1Bs YXRmb3JtQ3B1UG9saWN5LmluZg0KPiArSU5GICQoUExBVEZPUk1fUEFDS0FHRSkvUHBtUG9saWN5 L1BwbVBvbGljeS5pbmYNCj4gK0lORg0KPiAkKFBMQVRGT1JNX1BBQ0tBR0UpL1NtcmFtU2F2ZUlu Zm9IYW5kbGVyU21tL1NtcmFtU2F2ZUluZm9IYW5kDQo+IGxlclNtbS5pbmYNCj4gKyFpZiAkKEdP UF9EUklWRVJfRU5BQkxFKSA9PSBUUlVFDQo+ICsgSU5GICQoUExBVEZPUk1fUEFDS0FHRSkvUGxh dGZvcm1Hb3BQb2xpY3kvUGxhdGZvcm1Hb3BQb2xpY3kuaW5mDQo+ICsgRklMRSBEUklWRVIgPSBG RjBDODc0NS0zMjcwLTQ0MzktQjc0Ri0zRTQ1RjhDNzcwNjQgew0KPiArICBTRUNUSU9OIERYRV9E RVBFWF9FWFAgPSB7Z1BsYXRmb3JtR09QUG9saWN5R3VpZH0NCj4gKyAgU0VDVElPTiBQRTMyID0N Cj4gVmx2MlNvY0JpblBrZy9HT1AvNy4yLjEwMTEvUkVMRUFTRV9WUzIwMDh4ODYvJChEWEVfQVJD SElURUNUVVJFKS9JDQo+IG50ZWxHb3BEcml2ZXIuZWZpDQo+ICsgIFNFQ1RJT04gVUkgPSAiSW50 ZWxHb3BEcml2ZXIiDQo+ICt9DQo+ICshZW5kaWYNCj4gKw0KPiArSU5GIFJ1bGVPdmVycmlkZSA9 IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUp JChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BucER4ZS5pbmYNCj4gKyAgIw0KPiAr ICAjIFNNTQ0KPiArICAjDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21t SXBsLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUNvcmUuaW5m DQo+ICtJTkYgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNtbS5pbmYNCj4g Kw0KPiArSU5GIFVlZmlDcHVQa2cvQ3B1SW8yU21tL0NwdUlvMlNtbS5pbmYNCj4gK0lORiBNZGVN b2R1bGVQa2cvVW5pdmVyc2FsL0xvY2tCb3gvU21tTG9ja0JveC9TbW1Mb2NrQm94LmluZg0KPiAr SU5GIFVlZmlDcHVQa2cvUGlTbW1Db21tdW5pY2F0aW9uL1BpU21tQ29tbXVuaWNhdGlvblNtbS5p bmYNCj4gK0lORg0KPiAkKFBMQVRGT1JNX1BBQ0tBR0UpL1NtbVN3RGlzcGF0Y2gyT25TbW1Td0Rp c3BhdGNoVGh1bmsvU21tUw0KPiB3RGlzcGF0Y2gyT25TbW1Td0Rpc3BhdGNoVGh1bmsuaW5mDQo+ ICsNCj4gKyMNCj4gKyMgUmVtb3ZlIHRoZSBmb2xsb3dpbmcgdHdvIFNNTSBiaW5hcnkgbW9kdWxl cyB0aGF0IHByZXZlbnQgcGxhdGZvcm0NCj4gZnJvbSBib290aW5nIHRvIFVFRkkgU2hlbGwNCj4g KyMNCj4gKyNJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BB Q0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVS RSkvUG93ZXJNYW5hZ2VtZW50Mi5pbmYNCj4gKyNJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv JChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvRGlnaXRhbFRoZXJtYWxTZW5zb3IuaW5mDQo+ICsNCj4g KyAgIw0KPiArICAjIEFDUEkNCj4gKyAgIw0KPiArSU5GDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvQWNwaS9Cb290U2NyaXB0RXhlY3V0b3JEeGUvQm9vdFNjcmlwdEV4ZWN1dG9yDQo+IER4ZS5p bmYNCj4gK0lORiAkKFBMQVRGT1JNX1BBQ0tBR0UpL0Jvb3RTY3JpcHRTYXZlRHhlL0Jvb3RTY3Jp cHRTYXZlRHhlLmluZg0KPiArSU5GDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNh bC9BY3BpL0FjcGlTdXBwb3J0RHhlL0FjcGlTdXBwb3J0RHgNCj4gZS5pbmYNCj4gK0lORiBSdWxl T3ZlcnJpZGUgPSBBQ1BJVEFCTEUyDQo+IFZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZhbGxleVZpZXcy U29jL0NQVS9Qb3dlck1hbmFnZW1lbnQvQWNwaVRhYmxlDQo+IHMvUG93ZXJNYW5hZ2VtZW50QWNw aVRhYmxlcy5pbmYNCj4gKw0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEFDUElUQUJMRQ0KPiAkKFBM QVRGT1JNX1JDX1BBQ0tBR0UpL0FjcGlUYWJsZXNQQ0FUL0FjcGlUYWJsZXMuaW5mDQo+ICsNCj4g K0lORiAkKFBMQVRGT1JNX1BBQ0tBR0UpL0FjcGlQbGF0Zm9ybS9BY3BpUGxhdGZvcm0uaW5mDQo+ ICsNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkvQm9vdEdyYXBoaWNzUmVz b3VyY2VUYWJsZUR4ZS9Cb290R3JhcGgNCj4gaWNzUmVzb3VyY2VUYWJsZUR4ZS5pbmYNCj4gKw0K PiArICAjDQo+ICsgICMgUENJDQo+ICsgICMNCj4gK0lORiBNZGVNb2R1bGVQa2cvQnVzL1BjaS9Q Y2lCdXNEeGUvUGNpQnVzRHhlLmluZg0KPiArDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZ DQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdF VCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvSVNQRHhlLmluZg0KPiArDQo+ICsNCj4gKyMNCj4g KyMgSVNBDQo+ICsjDQo+ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9XcGNlNzkxL1dwY2U3OTEu aW5mDQo+ICtJTkYgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9Jc2FCdXNEeGUvSXNh QnVzRHhlLmluZg0KPiArSU5GIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0J1cy9Jc2EvSXNhSW9E eGUvSXNhSW9EeGUuaW5mDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxFKSAhPSBUUlVFDQo+ ICtJTkYgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0J1cy9Jc2EvSXNhU2VyaWFsRHhlL0lzYVNl cmlhbER4ZS5pbmYNCj4gKyFlbmRpZg0KPiArI0lORiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9C dXMvSXNhL1BzMk1vdXNlRHhlL1BzMk1vdXNlRHhlLmluZg0KPiArI0lORg0KPiBJbnRlbEZyYW1l d29ya01vZHVsZVBrZy9CdXMvSXNhL1BzMktleWJvYXJkRHhlL1BzMmtleWJvYXJkRHhlLmluZg0K PiArDQo+ICsjDQo+ICsjIFNESU8NCj4gKyMNCj4gKyNJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZ DQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdF VCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvTW1jSG9zdC5pbmYNCj4gKyNJTkYgUnVsZU92ZXJy aWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVD VFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvTW1jTWVkaWFEZXZpY2UuaW5m DQo+ICsjDQo+ICsjIElERS9TQ1NJL0FIQ0kNCj4gKyMNCj4gK0lORiBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL0Rpc2svRGlza0lvRHhlL0Rpc2tJb0R4ZS5pbmYNCj4gKw0KPiArSU5GIE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvRGlzay9QYXJ0aXRpb25EeGUvUGFydGl0aW9uRHhlLmluZg0KPiArDQo+ ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL1VuaWNvZGVDb2xsYXRpb24vRW5n bGlzaER4ZS9FbmdsaXNoRHhlLmluZg0KPiArIWlmICQoU0FUQV9FTkFCTEUpID09IFRSVUUNCj4g K0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkv JChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9TYXRh Q29udHJvbGxlci5pbmYNCj4gKyMNCj4gKw0KPiArIw0KPiArSU5GIE1kZU1vZHVsZVBrZy9CdXMv QXRhL0F0YUJ1c0R4ZS9BdGFCdXNEeGUuaW5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0J1cy9BdGEv QXRhQXRhcGlQYXNzVGhydS9BdGFBdGFwaVBhc3NUaHJ1LmluZg0KPiArIWlmICQoU0NTSV9FTkFC TEUpID09IFRSVUUNCj4gK0lORiBNZGVNb2R1bGVQa2cvQnVzL1Njc2kvU2NzaUJ1c0R4ZS9TY3Np QnVzRHhlLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpRGlza0R4ZS9TY3Np RGlza0R4ZS5pbmYNCj4gKyFlbmRpZg0KPiArIw0KPiArIWVuZGlmDQo+ICsjIENvbnNvbGUNCj4g KyMNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvQ29uUGxhdGZvcm1E eGUvQ29uUGxhdGZvcm1EeGUuaW5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Db25z b2xlL0NvblNwbGl0dGVyRHhlL0NvblNwbGl0dGVyRHhlLmluZg0KPiArSU5GDQo+IE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9HcmFwaGljc0NvbnNvbGVEeGUvR3JhcGhpY3NDb25zb2xl RA0KPiB4ZS5pbmYNCj4gK0lORg0KPiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJzYWwv Q29uc29sZS9WZ2FDbGFzc0R4ZS9WZ2FDbGFzc0R4ZS5pbg0KPiBmDQo+ICtJTkYgTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9Db25zb2xlL1Rlcm1pbmFsRHhlL1Rlcm1pbmFsRHhlLmluZg0KPiArSU5G IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvSGlpRGF0YWJhc2VEeGUvSGlpRGF0YWJhc2VEeGUuaW5m DQo+ICtJTkYgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNwbGF5RW5naW5lRHhlL0Rpc3BsYXlF bmdpbmVEeGUuaW5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9TZXR1cEJyb3dzZXJE eGUvU2V0dXBCcm93c2VyRHhlLmluZg0KPiArICAjDQo+ICsgICMgVVNCDQo+ICsgICMNCj4gKyFp ZiAkKFVTQl9FTkFCTEUpID09IFRSVUUNCj4gK0lORiBNZGVNb2R1bGVQa2cvQnVzL1BjaS9FaGNp RHhlL0VoY2lEeGUuaW5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0J1cy9QY2kvVWhjaUR4ZS9VaGNp RHhlLmluZg0KPiArSU5GDQo+IE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1hc3NTdG9yYWdlRHhl L1VzYk1hc3NTdG9yYWdlRHhlLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkti RHhlL1VzYktiRHhlLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1vdXNlRHhl L1VzYk1vdXNlRHhlLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c0R4ZS9V c2JCdXNEeGUuaW5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0J1cy9QY2kvWGhjaUR4ZS9YaGNpRHhl LmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiArICAjDQo+ICsgICMgU01CSU9TDQo+ICsgICMN Cj4gK0lORiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1NtYmlvc0R4ZS9TbWJpb3NEeGUuaW5mDQo+ ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9TbUJpb3NNaXNjRHhlL1NtQmlvc01pc2NEeGUuaW5m DQo+ICsNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllf UEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNU VVJFKS9TbWJpb3NNZW1vcnkuaW5mDQo+ICsNCj4gKw0KPiArIw0KPiArIyBGQVQgZmlsZSBzeXN0 ZW0NCj4gKyMNCj4gK0lORiBGYXRQa2cvRW5oYW5jZWRGYXREeGUvRmF0LmluZg0KPiArDQo+ICsj DQo+ICsjIFVFRkkgU2hlbGwNCj4gKyMNCj4gK0lORiAgU2hlbGxQa2cvQXBwbGljYXRpb24vU2hl bGwvU2hlbGwuaW5mDQo+ICsNCj4gKyMNCj4gKyMgZHAgY29tbWFuZA0KPiArIw0KPiArIWlmICQo UEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYNCj4gU2hlbGxQa2cvRHluYW1pY0Nv bW1hbmQvRHBEeW5hbWljQ29tbWFuZC9EcER5bmFtaWNDb21tYW5kLmluZg0KPiArIWVuZGlmDQo+ ICsNCj4gKyFpZiAkKEdPUF9EUklWRVJfRU5BQkxFKSA9PSBUUlVFDQo+ICtGSUxFIEZSRUVGT1JN ID0gODc4QUMyQ0MtNTM0My00NkYyLUI1NjMtNTFGODlEQUY1NkJBIHsNCj4gKyAgU0VDVElPTiBS QVcgPSBWbHYyU29jQmluUGtnL0dPUC83LjIuMTAxMS9WQlQvTU5XMi9WYnQuYmluDQo+ICsgIFNF Q1RJT04gVUkgPSAiSW50ZWxHb3BWYnQiDQo+ICt9DQo+ICshZW5kaWYNCj4gKw0KPiArIw0KPiAr IyBOZXR3b3JrIE1vZHVsZXMNCj4gKyMNCj4gKyFpZiAkKE5FVFdPUktfRU5BQkxFKSA9PSBUUlVF DQo+ICsgIEZJTEUgRFJJVkVSID0gMjJERTE2OTEtRDY1RC00NTZhLTk5M0UtQTI1M0REMUYzMDhD IHsNCj4gKyAgICBTRUNUSU9OIFBFMzIgPQ0KPiBWbHYyU29jQmluUGtnL1VOREkvUnRrVW5kaUR4 ZS8kKERYRV9BUkNISVRFQ1RVUkUpL1J0a1VuZGlEeGUuZWZpDQo+ICsgICAgU0VDVElPTiBVSSA9 ICJVTkRJIg0KPiArICB9DQo+ICsgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3Jr L1NucER4ZS9TbnBEeGUuaW5mDQo+ICsgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3 b3JrL0RwY0R4ZS9EcGNEeGUuaW5mDQo+ICsgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9O ZXR3b3JrL01ucER4ZS9NbnBEeGUuaW5mDQo+ICsgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNh bC9OZXR3b3JrL0FycER4ZS9BcnBEeGUuaW5mDQo+ICsgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9OZXR3b3JrL0lwNER4ZS9JcDREeGUuaW5mDQo+ICsgIElORiAgTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9OZXR3b3JrL1VkcDREeGUvVWRwNER4ZS5pbmYNCj4gKyAgSU5GICBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL05ldHdvcmsvRGhjcDREeGUvRGhjcDREeGUuaW5mDQo+ICsgIElORiAgTWRl TW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3JrL010ZnRwNER4ZS9NdGZ0cDREeGUuaW5mDQo+ICsg IElORiAgTmV0d29ya1BrZy9VZWZpUHhlQmNEeGUvVWVmaVB4ZUJjRHhlLmluZg0KPiArICBJTkYg IE5ldHdvcmtQa2cvVGNwRHhlL1RjcER4ZS5pbmYNCj4gKyAgIWlmICQoTkVUV09SS19JUDZfRU5B QkxFKSA9PSBUUlVFDQo+ICsgIElORiAgTmV0d29ya1BrZy9JcDZEeGUvSXA2RHhlLmluZg0KPiAr ICBJTkYgIE5ldHdvcmtQa2cvRGhjcDZEeGUvRGhjcDZEeGUuaW5mDQo+ICsgIElORiAgTmV0d29y a1BrZy9VZHA2RHhlL1VkcDZEeGUuaW5mDQo+ICsgIElORiAgTmV0d29ya1BrZy9NdGZ0cDZEeGUv TXRmdHA2RHhlLmluZg0KPiArICAhZW5kaWYNCj4gKyAgIWlmICQoTkVUV09SS19WTEFOX0VOQUJM RSkgPT0gVFJVRQ0KPiArICBJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9OZXR3b3JrL1Zs YW5Db25maWdEeGUvVmxhbkNvbmZpZ0R4ZS5pbmYNCj4gKyAgIWVuZGlmDQo+ICsgICFpZiAkKE5F VFdPUktfSVNDU0lfRU5BQkxFKSA9PSBUUlVFDQo+ICsgICAgSU5GICBOZXR3b3JrUGtnL0lTY3Np RHhlL0lTY3NpRHhlLmluZg0KPiArICAhZW5kaWYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChD QVBTVUxFX0VOQUJMRSkNCj4gK0lORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Fc3J0Rm1wRHhl L0VzcnRGbXBEeGUuaW5mDQo+ICsNCj4gKyMNCj4gKyMgTWlubm93IE1heCBTeXN0ZW0gRmlybXdh cmUgRk1QDQo+ICsjDQo+ICtJTkYgIEZJTEVfR1VJRCA9ICQoRk1QX01JTk5PV19NQVhfU1lTVEVN KQ0KPiBGbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5pbmYNCj4gKw0KPiArIw0KPiArIyBTYW1w bGUgRGV2aWNlIEZNUA0KPiArIw0KPiArSU5GICBGSUxFX0dVSUQgPSAkKEZNUF9HUkVFTl9TQU1Q TEVfREVWSUNFKQ0KPiBGbXBEZXZpY2VQa2cvRm1wRHhlL0ZtcER4ZS5pbmYNCj4gK0lORiAgRklM RV9HVUlEID0gJChGTVBfQkxVRV9TQU1QTEVfREVWSUNFKQ0KPiBGbXBEZXZpY2VQa2cvRm1wRHhl L0ZtcER4ZS5pbmYNCj4gK0lORiAgRklMRV9HVUlEID0gJChGTVBfUkVEX1NBTVBMRV9ERVZJQ0Up DQo+IEZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmluZg0KPiArDQo+ICshZW5kaWYNCj4gKw0K PiArIWlmICQoTUlDT0NPREVfQ0FQU1VMRV9FTkFCTEUpDQo+ICtJTkYNCj4gSW50ZWxTaWxpY29u UGtnL0ZlYXR1cmUvQ2Fwc3VsZS9NaWNyb2NvZGVVcGRhdGVEeGUvTWljcm9jb2RlVXBkYXRlRHgN Cj4gZS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChSRUNPVkVSWV9FTkFCTEUpDQo+ICtG SUxFIEZSRUVGT1JNID0NCj4gUENEKGdFZmlTaWduZWRDYXBzdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkRWRraWlSc2EyMDQ4U2hhMjU2VGVzdFB1YmxpDQo+IGNLZXlGaWxlR3VpZCkgew0KPiArICAg ICBTRUNUSU9OIFJBVyA9DQo+IEJhc2VUb29scy9Tb3VyY2UvUHl0aG9uL1JzYTIwNDhTaGEyNTZT aWduL1Rlc3RTaWduaW5nUHVibGljS2V5LmJpbg0KPiArICAgICBTRUNUSU9OIFVJID0gIlJzYTIw NDhTaGEyNTZUZXN0U2lnbmluZ1B1YmxpY0tleSINCj4gKyAgICAgfQ0KPiArIWVuZGlmDQo+ICsN Cj4gK1tGVi5GVk1BSU5fQ09NUEFDVF0NCj4gK0Jsb2NrU2l6ZSAgICAgICAgICA9ICQoRkxBU0hf QkxPQ0tfU0laRSkNCj4gK0Z2QWxpZ25tZW50ICAgICAgICA9IDE2DQo+ICtFUkFTRV9QT0xBUklU WSAgICAgPSAxDQo+ICtNRU1PUllfTUFQUEVEICAgICAgPSBUUlVFDQo+ICtTVElDS1lfV1JJVEUg ICAgICAgPSBUUlVFDQo+ICtMT0NLX0NBUCAgICAgICAgICAgPSBUUlVFDQo+ICtMT0NLX1NUQVRV UyAgICAgICAgPSBUUlVFDQo+ICtXUklURV9ESVNBQkxFRF9DQVAgPSBUUlVFDQo+ICtXUklURV9F TkFCTEVEX0NBUCAgPSBUUlVFDQo+ICtXUklURV9TVEFUVVMgICAgICAgPSBUUlVFDQo+ICtXUklU RV9MT0NLX0NBUCAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX1NUQVRVUyAgPSBUUlVFDQo+ICtS RUFEX0RJU0FCTEVEX0NBUCAgPSBUUlVFDQo+ICtSRUFEX0VOQUJMRURfQ0FQICAgPSBUUlVFDQo+ ICtSRUFEX1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfQ0FQICAgICAgPSBUUlVF DQo+ICtSRUFEX0xPQ0tfU1RBVFVTICAgPSBUUlVFDQo+ICsNCj4gKw0KPiArDQo+ICtGSUxFIEZW X0lNQUdFID0gOUUyMUZEOTMtOUM3Mi00YzE1LThDNEItRTc3RjFEQjJENzkyIHsNCj4gKyFpZiAk KExaTUFfRU5BQkxFKSA9PSBUUlVFDQo+ICsjIExaTUEgQ29tcHJlc3MNCj4gKyAgICAgICBTRUNU SU9OIEdVSURFRCBFRTRFNTg5OC0zOTE0LTQyNTktOUQ2RS1EQzdCRDc5NDAzQ0YNCj4gUFJPQ0VT U0lOR19SRVFVSVJFRCA9IFRSVUUgew0KPiArICAgICAgICAgIFNFQ1RJT04gRlZfSU1BR0UgPSBG Vk1BSU4NCj4gKyAgICAgICB9DQo+ICshZWxzZQ0KPiArIWlmICQoRFhFX0NPTVBSRVNTX0VOQUJM RSkgPT0gVFJVRQ0KPiArIyBUaWFubyBDb21wcmVzcw0KPiArICAgICAgIFNFQ1RJT04gR1VJREVE IEEzMTI4MEFELTQ4MUUtNDFCNi05NUU4LTEyN0Y0Qzk4NDc3OQ0KPiBQUk9DRVNTSU5HX1JFUVVJ UkVEID0gVFJVRSB7DQo+ICsgICAgICAgICAgU0VDVElPTiBGVl9JTUFHRSA9IEZWTUFJTg0KPiAr ICAgICAgIH0NCj4gKyFlbHNlDQo+ICsjIE5vIENvbXByZXNzDQo+ICsgICAgICAgU0VDVElPTiBD T01QUkVTUyBQSV9OT05FIHsNCj4gKyAgICAgICAgICBTRUNUSU9OIEZWX0lNQUdFID0gRlZNQUlO DQo+ICsgICAgICAgfQ0KPiArIWVuZGlmDQo+ICshZW5kaWYNCj4gKyAgICAgfQ0KPiArDQo+ICtb RlYuU0VUVVBfREFUQV0NCj4gK0Jsb2NrU2l6ZSAgICAgICAgICA9ICQoRkxBU0hfQkxPQ0tfU0la RSkNCj4gKyNOdW1CbG9ja3MgICAgICAgICA9IDB4MTANCj4gK0Z2QWxpZ25tZW50ICAgICAgICA9 IDE2DQo+ICtFUkFTRV9QT0xBUklUWSAgICAgPSAxDQo+ICtNRU1PUllfTUFQUEVEICAgICAgPSBU UlVFDQo+ICtTVElDS1lfV1JJVEUgICAgICAgPSBUUlVFDQo+ICtMT0NLX0NBUCAgICAgICAgICAg PSBUUlVFDQo+ICtMT0NLX1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ICtXUklURV9ESVNBQkxFRF9D QVAgPSBUUlVFDQo+ICtXUklURV9FTkFCTEVEX0NBUCAgPSBUUlVFDQo+ICtXUklURV9TVEFUVVMg ICAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX0NBUCAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NL X1NUQVRVUyAgPSBUUlVFDQo+ICtSRUFEX0RJU0FCTEVEX0NBUCAgPSBUUlVFDQo+ICtSRUFEX0VO QUJMRURfQ0FQICAgPSBUUlVFDQo+ICtSRUFEX1NUQVRVUyAgICAgICAgPSBUUlVFDQo+ICtSRUFE X0xPQ0tfQ0FQICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfU1RBVFVTICAgPSBUUlVFDQo+ICsN Cj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBSdWxlcyBhcmUgdXNl IHdpdGggdGhlIFtGVl0gc2VjdGlvbidzIG1vZHVsZSBJTkYgdHlwZSB0byBkZWZpbmUNCj4gKyMg aG93IGFuIEZGUyBmaWxlIGlzIGNyZWF0ZWQgZm9yIGEgZ2l2ZW4gSU5GIGZpbGUuIFRoZSBmb2xs b3dpbmcgUnVsZSBhcmUgdGhlDQo+IGRlZmF1bHQNCj4gKyMgcnVsZXMgZm9yIHRoZSBkaWZmZXJl bnQgbW9kdWxlIHR5cGUuIFVzZXIgY2FuIGFkZCB0aGUgY3VzdG9taXplZCBydWxlcyB0bw0KPiBk ZWZpbmUgdGhlDQo+ICsjIGNvbnRlbnQgb2YgdGhlIEZGUyBmaWxlLg0KPiArIw0KPiArIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICtbUnVsZS5Db21tb24uU0VDXQ0KPiArICBGSUxFIFNF QyA9ICQoTkFNRURfR1VJRCkgUkVMT0NTX1NUUklQUEVEIHsNCj4gKyAgICBQRTMyICBQRTMyICAg IEFsaWduID0gOCAgICAgICAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmVmaQ0KPiArICAg IFJBVyBCSU4gICAgICAgQWxpZ24gPSAxNiAgICAgIHwuY29tDQo+ICsgIH0NCj4gKw0KPiArW1J1 bGUuQ29tbW9uLlNFQy5CSU5BUlldDQo+ICsgIEZJTEUgU0VDID0gJChOQU1FRF9HVUlEKSBSRUxP Q1NfU1RSSVBQRUQgew0KPiArICAgIFBFMzIgIFBFMzIgICAgQWxpZ24gPSA4ICAgICAgIHwuZWZp DQo+ICsgICAgUkFXIEJJTiAgICAgICBBbGlnbiA9IDE2ICAgICAgfC5jb20NCj4gKyAgfQ0KPiAr DQo+ICtbUnVsZS5Db21tb24uUEVJX0NPUkVdDQo+ICsgIEZJTEUgUEVJX0NPUkUgPSAkKE5BTUVE X0dVSUQpICAgICAgICAgICAgew0KPiArICAgIFBFMzIgICAgICAgUEUzMiAgICBBbGlnbiA9IEF1 dG8gICAgICAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmVmaQ0KPiArICAgIFVJICAgICAg IFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgVkVSU0lPTiAgU1RSSU5H PSIkKElORl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0K PiArICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5QRUlNXQ0KPiArICBGSUxFIFBFSU0gPSAkKE5B TUVEX0dVSUQpIHsNCj4gKyAgICAgUEVJX0RFUEVYIFBFSV9ERVBFWCBPcHRpb25hbA0KPiAkKElO Rl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmRlcGV4DQo+ICsgICAgIFBFMzIgICAgICAgIFBFMzIg ICBBbGlnbiA9IEF1dG8gICAgICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZWZpDQo+ICsg ICAgIFVJICAgICAgICBTVFJJTkc9IiQoTU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAgICBW RVJTSU9OICAgU1RSSU5HPSIkKElORl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQo QlVJTERfTlVNQkVSKQ0KPiArICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5QRUlNLkJJTkFSWV0N Cj4gKyAgRklMRSBQRUlNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgIFBFSV9ERVBFWCBQRUlf REVQRVggT3B0aW9uYWwgICAgICAgIHwuZGVwZXgNCj4gKyAgICAgUEUzMiAgICAgICAgUEUzMiAg IEFsaWduID0gQXV0byAgICAgfC5lZmkNCj4gKyAgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RV TEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgIFZFUlNJT04gICBTVFJJTkc9IiQoSU5GX1ZFUlNJ T04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ICsgIH0NCj4gKw0K PiArW1J1bGUuQ29tbW9uLlBFSU0uQklPU0lEXQ0KPiArICBGSUxFIFBFSU0gPSAkKE5BTUVEX0dV SUQpIHsNCj4gKyAgICAgUkFXICAgICAgIEJJTiAgICAgICAgICAgICAgICAgICAgICAgQmlvc0lk LmJpbg0KPiArICAgICBQRUlfREVQRVggUEVJX0RFUEVYIE9wdGlvbmFsDQo+ICQoSU5GX09VVFBV VCkvJChNT0RVTEVfTkFNRSkuZGVwZXgNCj4gKyAgICAgUEUzMiAgICAgICAgUEUzMiAgIEFsaWdu ID0gQXV0byAgICAgJChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICAgVUkg ICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgIFZFUlNJT04g ICBTVFJJTkc9IiQoSU5GX1ZFUlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9O VU1CRVIpDQo+ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLlVTRVJfREVGSU5FRC5BUElOSVRd DQo+ICsgIEZJTEUgUkFXID0gJChOQU1FRF9HVUlEKSBGaXhlZCBBbGlnbj00SyB7DQo+ICsgICAg IFJBVyBTRUNfQklOIHwuY29tDQo+ICsgICAgIH0NCj4gKyNjamlhIDIwMTEtMDctMjENCj4gK1tS dWxlLkNvbW1vbi5VU0VSX0RFRklORUQuTEVHQUNZMTZdDQo+ICsgIEZJTEUgRlJFRUZPUk0gPSAk KE5BTUVEX0dVSUQpIHsNCj4gKyAgICAgVUkgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlv bmFsDQo+ICsgICAgIFJBVyBCSU4gfC5iaW4NCj4gKyAgICAgfQ0KPiArI2NqaWENCj4gKw0KPiAr W1J1bGUuQ29tbW9uLlVTRVJfREVGSU5FRC5BU00xNl0NCj4gKyAgRklMRSBGUkVFRk9STSA9ICQo TkFNRURfR1VJRCkgew0KPiArICAgICBVSSAgU1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9u YWwNCj4gKyAgICAgUkFXIEJJTiB8LmNvbQ0KPiArICAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24u RFhFX0NPUkVdDQo+ICsgIEZJTEUgRFhFX0NPUkUgPSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBQ RTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgICQoSU5GX09VVFBVVCkvJChNT0RVTEVf TkFNRSkuZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlv bmFsDQo+ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+ IEJVSUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24u VUVGSV9EUklWRVJdDQo+ICsgIEZJTEUgRFJJVkVSID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAg RFhFX0RFUEVYIERYRV9ERVBFWCBPcHRpb25hbA0KPiAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05B TUUpLmRlcGV4DQo+ICsgICAgUEUzMiAgICAgIFBFMzIgICAgICAgICAgICAgICAgICAgICAkKElO Rl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmVmaQ0KPiArICAgIFVJICAgICAgICBTVFJJTkc9IiQo TU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAgIFZFUlNJT04gICBTVFJJTkc9IiQoSU5GX1ZF UlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ICsgIH0NCj4g Kw0KPiArW1J1bGUuQ29tbW9uLlVFRklfRFJJVkVSLkJJTkFSWV0NCj4gKyAgRklMRSBEUklWRVIg PSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFsICAg ICAgIHwuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgIHwu ZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxE X05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uVUVGSV9E UklWRVIuTkFUSVZFX0JJTkFSWV0NCj4gKyAgRklMRSBEUklWRVIgPSAkKE5BTUVEX0dVSUQpIHsN Cj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFsDQo+ICQoV09SS1NQQUNFKS8kKFBM QVRGT1JNX1BBQ0tBR0UpL0ludGVsR29wRGVwZXgvSW50ZWxHb3BEcml2ZXIuZGUNCj4gcGV4DQo+ ICsgICAgUEUzMiAgICAgIFBFMzIgICAgICAgICAgICAgICAgICAgIHwuZWZpDQo+ICsgICAgVUkg ICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgVkVSU0lPTiAg IFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxEX05VTT0kKEJVSUxEX05V TUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uRFhFX0RSSVZFUl0NCj4gKyAgRklM RSBEUklWRVIgPSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9w dGlvbmFsDQo+ICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZGVwZXgNCj4gKyAgICBQRTMy ICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFN RSkuZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFs DQo+ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJV SUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uRFhF X0RSSVZFUi5CSU5BUlldDQo+ICsgIEZJTEUgRFJJVkVSID0gJChOQU1FRF9HVUlEKSB7DQo+ICsg ICAgRFhFX0RFUEVYIERYRV9ERVBFWCBPcHRpb25hbCAgICAgICB8LmRlcGV4DQo+ICsgICAgUEUz MiAgICAgIFBFMzIgICAgICAgICAgICAgICAgICAgICB8LmVmaQ0KPiArICAgIFVJICAgICAgICBT VFJJTkc9IiQoTU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAgIFZFUlNJT04gICBTVFJJTkc9 IiQoSU5GX1ZFUlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLkRYRV9EUklWRVIuRFJJVkVSX0FDUElUQUJMRV0N Cj4gKyAgRklMRSBEUklWRVIgPSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhF X0RFUEVYIE9wdGlvbmFsDQo+ICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZGVwZXgNCj4g KyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgICQoSU5GX09VVFBVVCkvJChN T0RVTEVfTkFNRSkuZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSki IE9wdGlvbmFsDQo+ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlv bmFsDQo+IEJVSUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgICBSQVcgQUNQSSAgT3B0aW9u YWwgICAgICAgICAgICAgICAgfC5hY3BpDQo+ICsgICAgUkFXIEFTTCAgIE9wdGlvbmFsICAgICAg ICAgICAgICAgIHwuYW1sDQo+ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLkRYRV9SVU5USU1F X0RSSVZFUl0NCj4gKyAgRklMRSBEUklWRVIgPSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVf REVQRVggRFhFX0RFUEVYIE9wdGlvbmFsDQo+ICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSku ZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgICQoSU5GX09V VFBVVCkvJChNT0RVTEVfTkFNRSkuZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RV TEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lP TikiIE9wdGlvbmFsDQo+IEJVSUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ ICtbUnVsZS5Db21tb24uRFhFX1JVTlRJTUVfRFJJVkVSLkJJTkFSWV0NCj4gKyAgRklMRSBEUklW RVIgPSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFs ICAgICAgIHwuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAg IHwuZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFs DQo+ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJV SUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uRFhF X1NNTV9EUklWRVJdDQo+ICsgIEZJTEUgU01NID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgRFhF X0RFUEVYIERYRV9ERVBFWCBPcHRpb25hbA0KPiAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUp LmRlcGV4DQo+ICsgICAgUEUzMiAgICAgIFBFMzIgICAgICAgICAgICAgICAgICAgICAkKElORl9P VVRQVVQpLyQoTU9EVUxFX05BTUUpLmVmaQ0KPiArICAgIFVJICAgICAgICBTVFJJTkc9IiQoTU9E VUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAgIFZFUlNJT04gICBTVFJJTkc9IiQoSU5GX1ZFUlNJ T04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ICsgIH0NCj4gKw0K PiArW1J1bGUuQ29tbW9uLkRYRV9TTU1fRFJJVkVSLkJJTkFSWV0NCj4gKyAgRklMRSBTTU0gPSAk KE5BTUVEX0dVSUQpIHsNCj4gKyAgICBTTU1fREVQRVggU01NX0RFUEVYICAgICAgICAgICAgICAg IHwuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgIHwuZWZp DQo+ICsgICAgUkFXICAgICAgIEJJTiAgT3B0aW9uYWwgICAgICAgICAgICB8LmFtbA0KPiArICAg IFVJICAgICAgICBTVFJJTkc9IiQoTU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAgIFZFUlNJ T04gICBTVFJJTkc9IiQoSU5GX1ZFUlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlM RF9OVU1CRVIpDQo+ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLkRYRV9TTU1fRFJJVkVSLkRS SVZFUl9BQ1BJVEFCTEVdDQo+ICsgIEZJTEUgU01NID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAg RFhFX0RFUEVYIERYRV9ERVBFWCBPcHRpb25hbA0KPiAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05B TUUpLmRlcGV4DQo+ICsgICAgUEUzMiAgICAgIFBFMzIgICAgICAgICAgICAgICAgICAgICAkKElO Rl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmVmaQ0KPiArICAgIFVJICAgICAgICBTVFJJTkc9IiQo TU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAgIFZFUlNJT04gICBTVFJJTkc9IiQoSU5GX1ZF UlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ICsgICAgUkFX IEFDUEkgIE9wdGlvbmFsICAgICAgICAgICAgICAgIHwuYWNwaQ0KPiArICAgIFJBVyBBU0wgICBP cHRpb25hbCAgICAgICAgICAgICAgICB8LmFtbA0KPiArICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1v bi5TTU1fQ09SRV0NCj4gKyAgRklMRSBTTU1fQ09SRSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAg IERYRV9ERVBFWCBEWEVfREVQRVggT3B0aW9uYWwNCj4gJChJTkZfT1VUUFVUKS8kKE1PRFVMRV9O QU1FKS5kZXBleA0KPiArICAgIFBFMzIgICAgICBQRTMyICAgICAgICAgICAgICAgICAgICAgJChJ TkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RSSU5HPSIk KE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElORl9W RVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiArICB9DQo+ ICsNCj4gK1tSdWxlLkNvbW1vbi5TTU1fQ09SRS5CSU5BUlldDQo+ICsgIEZJTEUgU01NX0NPUkUg PSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFsICAg ICAgIHwuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgIHwu ZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxE X05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uVUVGSV9B UFBMSUNBVElPTl0NCj4gKyAgRklMRSBBUFBMSUNBVElPTiA9ICQoTkFNRURfR1VJRCkgew0KPiAr ICAgIERYRV9ERVBFWCBEWEVfREVQRVggT3B0aW9uYWwNCj4gJChJTkZfT1VUUFVUKS8kKE1PRFVM RV9OQU1FKS5kZXBleA0KPiArICAgIFBFMzIgICAgICBQRTMyICAgICAgICAgICAgICAgICAgICAg JChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RSSU5H PSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElO Rl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiArICB9 DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5VRUZJX0FQUExJQ0FUSU9OLlVJXQ0KPiArICBGSUxFIEFQ UExJQ0FUSU9OID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgUEUzMiAgICAgIFBFMzIgICAgICAg ICAgICAgICAgICAgICAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmVmaQ0KPiArICAgIFVJ ICAgICAgICBTVFJJTkc9IkVudGVyIFNldHVwIg0KPiArICAgIFZFUlNJT04gICBTVFJJTkc9IiQo SU5GX1ZFUlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ICsg IH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLlVTRVJfREVGSU5FRF0NCj4gKyAgRklMRSBGUkVFRk9S TSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIFVJICBTVFJJTkc9IiQoTU9EVUxFX05BTUUpIiBP cHRpb25hbA0KPiArICAgIFJBVyBCSU4gICAgICAgICAgICAgICAgfC5iaW4NCj4gKyAgfQ0KPiAr DQo+ICtbUnVsZS5Db21tb24uVVNFUl9ERUZJTkVELkJJTkFSWV0NCj4gKyAgRklMRSBGUkVFRk9S TSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIFVJICBTVFJJTkc9IiQoTU9EVUxFX05BTUUpIiBP cHRpb25hbA0KPiArICAgIFJBVyBCSU4gICAgICAgICAgICAgICAgfC5iaW4NCj4gKyAgfQ0KPiAr DQo+ICtbUnVsZS5Db21tb24uVVNFUl9ERUZJTkVELkFDUElUQUJMRV0NCj4gKyAgRklMRSBGUkVF Rk9STSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIFJBVyBBQ1BJICBPcHRpb25hbCAgICAgICAg ICAgIHwuYWNwaQ0KPiArICAgIFJBVyBBU0wgICBPcHRpb25hbCAgICAgICAgICAgIHwuYW1sDQo+ ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLlVTRVJfREVGSU5FRC5BQ1BJVEFCTEUyXQ0KPiAr ICBGSUxFIEZSRUVGT1JNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgUkFXIEFTTCAgIE9wdGlv bmFsICAgICAgICAgICAgfC5hbWwNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uQUNQSVRB QkxFXQ0KPiArICBGSUxFIEZSRUVGT1JNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgUkFXIEFD UEkgIE9wdGlvbmFsICAgICAgICAgICAgfC5hY3BpDQo+ICsgICAgUkFXIEFTTCAgIE9wdGlvbmFs ICAgICAgICAgICAgfC5hbWwNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uUEVJTS5GTVBf SU1BR0VfREVTQ10NCj4gKyAgRklMRSBQRUlNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgIFJB VyBCSU4gICAgICAgICAgICAgICAgICB8LmFjcGkNCj4gKyAgICAgUEVJX0RFUEVYIFBFSV9ERVBF WCBPcHRpb25hbA0KPiAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmRlcGV4DQo+ICsgICAg IFBFMzIgICAgICBQRTMyICAgIEFsaWduPTRLICAgICAgICAgICQoSU5GX09VVFBVVCkvJChNT0RV TEVfTkFNRSkuZWZpDQo+ICsgICAgIFVJICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9w dGlvbmFsDQo+ICsgICAgIFZFUlNJT04gIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFs DQo+IEJVSUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiBkaWZmIC0tZ2l0IGEvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2dDb25maWcuZHNjDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2dDb25maWcuZHNjDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjZkNTU2YzFiZTINCj4g LS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q bGF0Zm9ybVBrZ0NvbmZpZy5kc2MNCj4gQEAgLTAsMCArMSwxMDcgQEANCj4gKyMvKiogQGZpbGUN Cj4gKyMgcGxhdGZvcm0gY29uZmlndXJhdGlvbiBmaWxlLg0KPiArIw0KPiArIyBDb3B5cmlnaHQg KGMpIDIwMTIgIC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKyMNCj4gKyMqKi8NCj4gKw0KPiArIw0KPiArIyBU UlVFIGlzIEVOQUJMRS4gRkFTTEUgaXMgRElTQUJMRS4NCj4gKyMNCj4gKw0KPiArIw0KPiArIyBG U1Agc2VsZWN0aW9uDQo+ICsjDQo+ICtERUZJTkUgTUlOTk9XMl9GU1BfQlVJTEQgPSBGQUxTRQ0K PiArDQo+ICsNCj4gK0RFRklORSBTQ1NJX0VOQUJMRSA9IFRSVUUNCj4gKw0KPiArDQo+ICsjDQo+ ICsjIFRvIGVuYWJsZSBleHRyYSBjb25maWd1cmF0aW9uIGZvciBjbGsgZ2VuDQo+ICsjDQo+ICtE RUZJTkUgQ0xLR0VOX0NPTkZJR19FWFRSQV9FTkFCTEU9VFJVRQ0KPiArDQo+ICsjDQo+ICsjIEZl YXR1cmUgc2VsZWN0aW9uDQo+ICsjDQo+ICsNCj4gKyMNCj4gKyMgU2VsZWN0IHN5c3RlbSB0aW1l ciB3aGljaCBpcyB1c2VkIHRvIHByb2R1Y2UgVGltZXIgQXJjaCBQcm90b2NvbDoNCj4gKyMgVFJV RSAgLSBIUEVUIHRpbWVyIGlzIHVzZWQuDQo+ICsjIEZBTFNFIC0gODI1NCB0aW1lciBpcyB1c2Vk Lg0KPiArIw0KPiArREVGSU5FIFVTRV9IUEVUX1RJTUVSID0gVFJVRQ0KPiArDQo+ICsNCj4gKyMN Cj4gKyMgRmVhdHVyZSBzZWxlY3Rpb24NCj4gKyMNCj4gKw0KPiArREVGSU5FIFRQTV9FTkFCTEVE ID0gRkFMU0UNCj4gKw0KPiArREVGSU5FIEFDUEk1MF9FTkFCTEUgPSBUUlVFDQo+ICtERUZJTkUg UEVSRk9STUFOQ0VfRU5BQkxFID0gRkFMU0UNCj4gKw0KPiArDQo+ICtERUZJTkUgTEZNQV9FTkFC TEUgPSBGQUxTRSAgICAgICAgICAgICAgIyBMb2FkIG1vZHVsZSBhdCBmaXhlZCBhZGRyZXNzDQo+ IGZlYXR1cmUNCj4gK0RFRklORSBEWEVfQ09NUFJFU1NfRU5BQkxFID0gVFJVRQ0KPiArREVGSU5F IERYRV9DUkMzMl9TRUNUSU9OX0VOQUJMRSA9IFRSVUUNCj4gK0RFRklORSBTU0UyX0VOQUJMRSA9 IEZBTFNFDQo+ICsNCj4gK0RFRklORSBTRUNVUkVfQk9PVF9FTkFCTEUgPSBUUlVFDQo+ICtERUZJ TkUgVVNFUl9JREVOVElGSUNBVElPTl9FTkFCTEUgPSBGQUxTRQ0KPiArREVGSU5FIFZBUklBQkxF X0lORk9fRU5BQkxFID0gRkFMU0UNCj4gK0RFRklORSBTM19FTkFCTEUgPSBUUlVFDQo+ICtERUZJ TkUgQ0FQU1VMRV9FTkFCTEUgPSBUUlVFDQo+ICtERUZJTkUgQ0FQU1VMRV9SRVNFVF9FTkFCTEUg PSBUUlVFDQo+ICtERUZJTkUgUkVDT1ZFUllfRU5BQkxFID0gRkFMU0UNCj4gK0RFRklORSBNSUNP Q09ERV9DQVBTVUxFX0VOQUJMRSA9IFRSVUUNCj4gKw0KPiArREVGSU5FIEdPUF9EUklWRVJfRU5B QkxFID0gVFJVRQ0KPiArREVGSU5FIERBVEFIVUJfRU5BQkxFID0gVFJVRQ0KPiArREVGSU5FIERB VEFIVUJfU1RBVFVTX0NPREVfRU5BQkxFID0gVFJVRQ0KPiArREVGSU5FIFVTQl9FTkFCTEUgPSBU UlVFDQo+ICsNCj4gK0RFRklORSBJU0FfU0VSSUFMX1NUQVRVU19DT0RFX0VOQUJMRSA9IFRSVUUN Cj4gK0RFRklORSBVU0JfU0VSSUFMX1NUQVRVU19DT0RFX0VOQUJMRSA9IEZBTFNFDQo+ICtERUZJ TkUgUkFNX1NFUklBTF9TVEFUVVNfQ09ERV9FTkFCTEUgPSBGQUxTRQ0KPiArDQo+ICtERUZJTkUg RU5CRFRfUzNfU1VQUE9SVCA9IFRSVUUNCj4gKw0KPiArREVGSU5FIExaTUFfRU5BQkxFID0gVFJV RQ0KPiArREVGSU5FIFM0X0VOQUJMRSA9IFRSVUUNCj4gK0RFRklORSBORVRXT1JLX0VOQUJMRSA9 IFRSVUUNCj4gK0RFRklORSBORVRXT1JLX0lQNl9FTkFCTEUgPSBUUlVFDQo+ICtERUZJTkUgTkVU V09SS19JU0NTSV9FTkFCTEUgPSBGQUxTRQ0KPiArREVGSU5FIE5FVFdPUktfVkxBTl9FTkFCTEUg PSBGQUxTRQ0KPiArDQo+ICtERUZJTkUgU0FUQV9FTkFCTEUgICAgICAgPSBUUlVFDQo+ICtERUZJ TkUgUENJRVNDX0VOQUJMRSAgICAgPSBUUlVFDQo+ICsNCj4gKyMNCj4gKyMgRW5hYmxlIHNvdXJj ZSBsZXZlbCBkZWJ1ZyBkZWZhdWx0DQo+ICsjDQo+ICtERUZJTkUgU09VUkNFX0RFQlVHX0VOQUJM RSAgICAgPSBGQUxTRQ0KPiArDQo+ICsjDQo+ICsjIENhcHN1bGUgUHViaWMgQ2VydGlmaWNhdGUu ICBEZWZhdWx0IGlzIEVES19URVNULiAgT3B0aW9ucyBhcmU6DQo+ICsjICAgU0FNUExFX0RFVkVM T1BNRU5UICAgICAgICAgICAgICAgICAgICAtIE9ubHkgc2lnbnRvb2wNCj4gU0FNUExFX0RFVkVM T1BNRU5UDQo+ICsjICAgU0FNUExFX0RFVkVMT1BNRU5UX1NBTVBMRV9QUk9EVUNUSU9OICAtIEJv dGggc2lnbnRvb2wNCj4gU0FNUExFX0RFVkVMT1BNRU5UIGFuZCBTQU1QTEVfUFJPRFVDVElPTg0K PiArIyAgIEVES0lJX1RFU1QgICAgICAgICAgICAgICAgICAgICAgICAgICAgLSBPbmx5IG9wZW5z c2wgRURLIElJIHRlc3QgY2VydGlmaWNhdGUNCj4gKyMgICBORVdfUk9PVCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIC0gT25seSBvcGVuc3NsIG5ldyBWTFYyIGNlcnRpZmljYXRlDQo+ICsj DQo+ICtERUZJTkUgQ0FQU1VMRV9QS0NTN19DRVJUID0gRURLSUlfVEVTVA0KPiArDQo+ICsjDQo+ ICsjIERlZmluZSBFU1JUIEdVSURzIGZvciBGaXJtd2FyZSBNYW5hZ2VtZW50IFByb3RvY29sIGlu c3RhbmNlcw0KPiArIw0KPiArREVGSU5FIEZNUF9NSU5OT1dfTUFYX1NZU1RFTSAgID0gNDA5NjI2 N2ItZGEwYS00MmViLWI1ZWItDQo+IGZlZjMxZDIwN2NiNA0KPiArREVGSU5FIEZNUF9SRURfU0FN UExFX0RFVklDRSAgID0gNzJFMjk0NUEtMDBEQS00NDhFLTlBQTctDQo+IDA3NUFEODQwRjlENA0K PiArREVGSU5FIEZNUF9CTFVFX1NBTVBMRV9ERVZJQ0UgID0gMTQ5REE4NTQtN0QxOS00RkFBLUE5 MUUtDQo+IDg2MkVBMTMyNEJFNg0KPiArREVGSU5FIEZNUF9HUkVFTl9TQU1QTEVfREVWSUNFID0g NzkxNzlCRkQtNzA0RC00QzkwLTlFMDItDQo+IDBBQjhEOTY4QzE4QQ0KPiBkaWZmIC0tZ2l0IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2dHY2MuZmRmDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2dHY2MuZmRmDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjFiYTYxMjRhNjkNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0 Zm9ybVBrZ0djYy5mZGYNCj4gQEAgLTAsMCArMSwxMDMzIEBADQo+ICsjLyoqIEBmaWxlDQo+ICsj IEZERiBmaWxlIG9mIFBsYXRmb3JtLg0KPiArIw0KPiArIyBDb3B5cmlnaHQgKGMpIDIwMDggLSAy MDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ ICsjDQo+ICsjKiovDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArREVGSU5FIEZMQVNIX0JBU0UgICAg ICAgPSAweEZGQzAwMDAwICAgICAjVGhlIGJhc2UgYWRkcmVzcyBvZiB0aGUgNE1iDQo+IEZMQVNI IERldmljZS4NCj4gK0RFRklORSBGTEFTSF9TSVpFICAgICAgID0gMHgwMDQwMDAwMCAgICAgI1Ro ZSBmbGFzaCBzaXplIGluIGJ5dGVzIG9mIHRoZSA0TWINCj4gRkxBU0ggRGV2aWNlLg0KPiArREVG SU5FIEZMQVNIX0JMT0NLX1NJWkUgPSAweDEwMDAgICAgICAgICNUaGUgYmxvY2sgc2l6ZSBpbiBi eXRlcyBvZiB0aGUgNE1iDQo+IEZMQVNIIERldmljZS4NCj4gK0RFRklORSBGTEFTSF9OVU1fQkxP Q0tTID0gMHg0MDAgICAgICAgICAgICNUaGUgbnVtYmVyIG9mIGJsb2NrcyBpbiA0TWINCj4gRkxB U0ggRGV2aWNlLg0KPiArREVGSU5FIEZMQVNIX0FSRUFfQkFTRV9BRERSRVNTICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICA9IDB4RkY4MDAwMDANCj4gK0RFRklORSBGTEFTSF9BUkVBX1NJ WkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwODAwMDAwDQo+ ICsNCj4gK0RFRklORSBGTEFTSF9SRUdJT05fVkxWTUlDUk9DT0RFX09GRlNFVCAgICAgICAgICAg ICAgICAgICAgICAgPSAweDAwMDAwMDAwDQo+ICtERUZJTkUgRkxBU0hfUkVHSU9OX1ZMVk1JQ1JP Q09ERV9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMDA0MDAwMA0KPiArREVGSU5F IEZMQVNIX1JFR0lPTl9WTFZNSUNST0NPREVfQkFTRSAgICAgICAgICAgICAgICAgICAgICAgICA9 IDB4RkZDMDAwMDANCj4gKw0KPiArREVGSU5FIEZMQVNIX1JFR0lPTl9WUERfT0ZGU0VUICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAwNDAwMDANCj4gK0RFRklORSBGTEFTSF9S RUdJT05fVlBEX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwMDNF MDAwDQo+ICsNCj4gK0RFRklORQ0KPiBGTEFTSF9SRUdJT05fTlZTVE9SQUdFX1NVQlJFR0lPTl9O Vl9GVFdfV09SS0lOR19PRkZTRVQgPQ0KPiAweDAwMDdFMDAwDQo+ICtERUZJTkUNCj4gRkxBU0hf UkVHSU9OX05WU1RPUkFHRV9TVUJSRUdJT05fTlZfRlRXX1dPUktJTkdfU0laRSAgID0NCj4gMHgw MDAwMjAwMA0KPiArDQo+ICsNCj4gK0RFRklORQ0KPiBGTEFTSF9SRUdJT05fTlZTVE9SQUdFX1NV QlJFR0lPTl9OVl9GVFdfU1BBUkVfT0ZGU0VUICAgPQ0KPiAweDAwMDgwMDAwDQo+ICtERUZJTkUg RkxBU0hfUkVHSU9OX05WU1RPUkFHRV9TVUJSRUdJT05fTlZfRlRXX1NQQVJFX1NJWkUNCj4gPSAw eDAwMDQwMDAwDQo+ICsNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ICtE RUZJTkUgRkxBU0hfUkVHSU9OX0ZTUEJJTl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgID0gMHgwMDBDMDAwMA0KPiArREVGSU5FIEZMQVNIX1JFR0lPTl9GU1BCSU5fU0laRSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAwNDgwMDANCj4gK0RFRklORSBGTEFTSF9S RUdJT05fRlNQQklOX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweEZGQ0Mw MDAwDQo+ICsNCj4gK0RFRklORSBGTEFTSF9SRUdJT05fQVpBTElBQklOX09GRlNFVCAgICAgICAg ICAgICAgICAgICAgICAgICAgPSAweDAwMTA4MDAwDQo+ICtERUZJTkUgRkxBU0hfUkVHSU9OX0Fa QUxJQUJJTl9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMDAwODAwMA0KPiAr REVGSU5FIEZMQVNIX1JFR0lPTl9BWkFMSUFCSU5fQkFTRSAgICAgICAgICAgICAgICAgICAgICAg ICAgICA9IDB4RkZEMDgwMDANCj4gKw0KPiArIWVuZGlmDQo+ICsNCj4gK0RFRklORSBGTEFTSF9S RUdJT05fRlZNQUlOX09GRlNFVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPSAweDAwMTEw MDAwDQo+ICtERUZJTkUgRkxBU0hfUkVHSU9OX0ZWTUFJTl9TSVpFICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgID0gMHgwMDIxNTAwMA0KPiArDQo+ICtERUZJTkUgRkxBU0hfUkVHSU9OX0ZW X1JFQ09WRVJZMl9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgID0gMHgwMDMyNTAwMA0KPiAr REVGSU5FIEZMQVNIX1JFR0lPTl9GVl9SRUNPVkVSWTJfU0laRSAgICAgICAgICAgICAgICAgICAg ICAgICA9IDB4MDAwNkIwMDANCj4gKw0KPiArREVGSU5FIEZMQVNIX1JFR0lPTl9GVl9SRUNPVkVS WV9PRkZTRVQgICAgICAgICAgICAgICAgICAgICAgICA9IDB4MDAzOTAwMDANCj4gK0RFRklORSBG TEFTSF9SRUdJT05fRlZfUkVDT1ZFUllfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICAgPSAw eDAwMDcwMDAwDQo+ICsNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiAr IyBGRCBTZWN0aW9uDQo+ICsjIFRoZSBbRkRdIFNlY3Rpb24gaXMgbWFkZSB1cCBvZiB0aGUgZGVm aW5pdGlvbiBzdGF0ZW1lbnRzIGFuZCBhDQo+ICsjIGRlc2NyaXB0aW9uIG9mIHdoYXQgZ29lcyBp bnRvICB0aGUgRmxhc2ggRGV2aWNlIEltYWdlLiAgRWFjaCBGRCBzZWN0aW9uDQo+ICsjIGRlZmlu ZXMgb25lIGZsYXNoICJkZXZpY2UiIGltYWdlLiAgQSBmbGFzaCBkZXZpY2UgaW1hZ2UgbWF5IGJl IG9uZSBvZg0KPiArIyB0aGUgZm9sbG93aW5nOiBSZW1vdmFibGUgbWVkaWEgYm9vdGFibGUgaW1h Z2UgKGxpa2UgYSBib290IGZsb3BweQ0KPiArIyBpbWFnZSwpIGFuIE9wdGlvbiBST00gaW1hZ2Ug KHRoYXQgd291bGQgYmUgImZsYXNoZWQiIGludG8gYW4gYWRkLWluDQo+ICsjIGNhcmQsKSBhIFN5 c3RlbSAiRmxhc2giICBpbWFnZSAodGhhdCB3b3VsZCBiZSBidXJuZWQgaW50byBhIHN5c3RlbSdz DQo+ICsjIGZsYXNoKSBvciBhbiBVcGRhdGUgKCJDYXBzdWxlIikgaW1hZ2UgdGhhdCB3aWxsIGJl IHVzZWQgdG8gdXBkYXRlIGFuZA0KPiArIyBleGlzdGluZyBzeXN0ZW0gZmxhc2guDQo+ICsjDQo+ ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gK1tGRC5WbHZdDQo+ICtCYXNlQWRkcmVz cyAgID0NCj4gJChGTEFTSF9CQVNFKXxnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RG bGFzaEFyZWFCYXNlQWRkcmUNCj4gc3MgI1RoZSBiYXNlIGFkZHJlc3Mgb2YgdGhlIDNNYiBGTEFT SCBEZXZpY2UuDQo+ICtTaXplICAgICAgICAgID0NCj4gJChGTEFTSF9TSVpFKXxnUGxhdGZvcm1N b2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEFyZWFTaXplDQo+ICNUaGUgZmxhc2ggc2l6ZSBp biBieXRlcyBvZiB0aGUgM01iIEZMQVNIIERldmljZS4NCj4gK0VyYXNlUG9sYXJpdHkgPSAxDQo+ ICtCbG9ja1NpemUgICAgID0gJChGTEFTSF9CTE9DS19TSVpFKSAgICAgICAgICAjVGhlIGJsb2Nr IHNpemUgaW4gYnl0ZXMgb2YgdGhlIDNNYg0KPiBGTEFTSCBEZXZpY2UuDQo+ICtOdW1CbG9ja3Mg ICAgID0gJChGTEFTSF9OVU1fQkxPQ0tTKSAgICAgICAgICAjVGhlIG51bWJlciBvZiBibG9ja3Mg aW4gM01iDQo+IEZMQVNIIERldmljZS4NCj4gKw0KPiArIw0KPiArI0ZsYXNoIGxvY2F0aW9uIG92 ZXJyaWRlIGJhc2VkIG9uIGFjdHVhbCBmbGFzaCBtYXANCj4gKyMNCj4gK1NFVCBnUGxhdGZvcm1N b2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEFyZWFCYXNlQWRkcmVzcyAgICAgICAgICAgID0N Cj4gJChGTEFTSF9BUkVBX0JBU0VfQUREUkVTUykNCj4gK1NFVCBnUGxhdGZvcm1Nb2R1bGVUb2tl blNwYWNlR3VpZC5QY2RGbGFzaEFyZWFTaXplICAgICAgICAgICAgICAgICAgID0NCj4gJChGTEFT SF9BUkVBX1NJWkUpDQo+ICsNCj4gK1NFVCBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENw dU1pY3JvY29kZVBhdGNoQWRkcmVzcyA9DQo+ICQoRkxBU0hfUkVHSU9OX1ZMVk1JQ1JPQ09ERV9C QVNFKSArIDB4NjANCj4gK1NFVCBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdU1pY3Jv Y29kZVBhdGNoUmVnaW9uU2l6ZSA9DQo+ICQoRkxBU0hfUkVHSU9OX1ZMVk1JQ1JPQ09ERV9TSVpF KSAtIDB4NjANCj4gKw0KPiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUNCj4gKyMg cHV0IGJlbG93IFBDRCB2YWx1ZSBzZXR0aW5nIGludG8gZHNjIGZpbGUNCj4gKyNTRVQgZ0ZzcFdy YXBwZXJUb2tlblNwYWNlR3VpZC5QY2RDcHVNaWNyb2NvZGVQYXRjaEFkZHJlc3MNCj4gPSAkKEZM QVNIX1JFR0lPTl9WTFZNSUNST0NPREVfQkFTRSkNCj4gKyNTRVQgZ0ZzcFdyYXBwZXJUb2tlblNw YWNlR3VpZC5QY2RDcHVNaWNyb2NvZGVQYXRjaFJlZ2lvblNpemUNCj4gPSAkKEZMQVNIX1JFR0lP Tl9WTFZNSUNST0NPREVfU0laRSkNCj4gKyNTRVQgZ0ZzcFdyYXBwZXJUb2tlblNwYWNlR3VpZC5Q Y2RGbGFzaE1pY3JvQ29kZU9mZnNldCAgICAgICAgICAgICAgICAgICAgPQ0KPiAweDYwDQo+ICsj U0VUIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hDb2RlQ2FjaGVBZGRyZXNzICAg ICAgICAgICAgICAgICAgID0NCj4gJChGTEFTSF9BUkVBX0JBU0VfQUREUkVTUykNCj4gKyNTRVQg Z0ZzcFdyYXBwZXJUb2tlblNwYWNlR3VpZC5QY2RGbGFzaENvZGVDYWNoZVNpemUgICAgICAgICAg ICAgICAgICAgICAgPQ0KPiAkKEZMQVNIX0FSRUFfU0laRSkNCj4gKyNTRVQgZ0ZzcFdyYXBwZXJU b2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2RnNwQmFzZSAgICAgICAgICAgICAgICAgICAgICAgICAg PQ0KPiAkKEZMQVNIX1JFR0lPTl9GU1BCSU5fQkFTRSkNCj4gKyNTRVQgZ0ZzcFdyYXBwZXJUb2tl blNwYWNlR3VpZC5QY2RGbGFzaEZ2RnNwU2l6ZSAgICAgICAgICAgICAgICAgICAgICAgICAgPQ0K PiAkKEZMQVNIX1JFR0lPTl9GU1BCSU5fU0laRSkNCj4gKw0KPiArIWVuZGlmDQo+ICsjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gKyMNCj4gKyMgRm9sbG93aW5nIGFyZSBsaXN0cyBvZiBG RCBSZWdpb24gbGF5b3V0IHdoaWNoIGNvcnJlc3BvbmQgdG8gdGhlIGxvY2F0aW9ucw0KPiBvZiBk aWZmZXJlbnQNCj4gKyMgaW1hZ2VzIHdpdGhpbiB0aGUgZmxhc2ggZGV2aWNlLg0KPiArIw0KPiAr IyBSZWdpb25zIG11c3QgYmUgZGVmaW5lZCBpbiBhc2NlbmRpbmcgb3JkZXIgYW5kIG1heSBub3Qg b3ZlcmxhcC4NCj4gKyMNCj4gKyMgQSBMYXlvdXQgUmVnaW9uIHN0YXJ0IHdpdGggYSBlaWdodCBk aWdpdCBoZXggb2Zmc2V0IChsZWFkaW5nICIweCIgcmVxdWlyZWQpDQo+IGZvbGxvd2VkIGJ5DQo+ ICsjIHRoZSBwaXBlICJ8IiBjaGFyYWN0ZXIsIGZvbGxvd2VkIGJ5IHRoZSBzaXplIG9mIHRoZSBy ZWdpb24sIGFsc28gaW4gaGV4IHdpdGgNCj4gdGhlIGxlYWRpbmcNCj4gKyMgIjB4IiBjaGFyYWN0 ZXJzLiBMaWtlOg0KPiArIyBPZmZzZXR8U2l6ZQ0KPiArIyBQY2RPZmZzZXRDTmFtZXxQY2RTaXpl Q05hbWUNCj4gKyMgUmVnaW9uVHlwZSA8RlYsIERBVEEsIG9yIEZJTEU+DQo+ICsjIEZ2IFNpemUg Y2FuIGJlIGFkanVzdGVkOyBGVk1BSU5fQ09NUEFDVCBjYW4gYmUgcmVkdWNlZCB0byAweDEyMDAw MCwNCj4gYW5kIEZWX1JFQ09WRVJZIGNhbiBiZSBlbmxhcmdlZCB0byAweDgwMDAwDQo+ICsjDQo+ ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gKyMgU2luY2UgdGhlIEZjZSB0b29sIGRv bid0IGhhdmUgZ2NjIHZlcnNpb24sIHdlIGNhbid0IGhhbmRsZSBkZWZhdWx0IHZhcmlhYmxlDQo+ IGluIExpbnV4LA0KPiArIyBzbyB3ZSBoYXJkY29kZSB0aGUgZGVmYXVsdCB2YWx1ZSBvZiB2YXJp YWJsZSBoZXJlLg0KPiArIyBQbGVhc2Ugbm90ZSB0aGF0IHdlIE1VU1QgdXBkYXRlIHRoZSBiaW5h cnkgb25jZSB0aGUgZGVmYXVsdCB2YWx1ZSBpcw0KPiBjaGFuZ2VkLg0KPiArDQo+ICsjDQo+ICsg ICMgQ1BVIE1pY3JvY29kZXMNCj4gKyAgIw0KPiArDQo+ICskKEZMQVNIX1JFR0lPTl9WTFZNSUNS T0NPREVfT0ZGU0VUKXwkKEZMQVNIX1JFR0lPTl9WTFZNSUNSDQo+IE9DT0RFX1NJWkUpDQo+ICtn UGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE1pY3JvQ29kZUFkZHJlc3N8Z1Bs YXRmb3JtDQo+IE1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEZsYXNoTWljcm9Db2RlU2l6ZQ0KPiAr RlYgPSBNSUNST0NPREVfRlYNCj4gKyQoRkxBU0hfUkVHSU9OX1ZQRF9PRkZTRVQpfCQoRkxBU0hf UkVHSU9OX1ZQRF9TSVpFKQ0KPiArZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZs YXNoTnZTdG9yYWdlVmFyaWFibGVCYXNlfGdFZmkNCj4gTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkRmxhc2hOdlN0b3JhZ2VWYXJpYWJsZVNpemUNCj4gK0ZJTEUgPSBWbHYyVGJsdERldmlj ZVBrZy9TdGl0Y2gvR2NjL052U3RvcmFnZVZhcmlhYmxlLmJpbg0KPiArDQo+ICskKEZMQVNIX1JF R0lPTl9OVlNUT1JBR0VfU1VCUkVHSU9OX05WX0ZUV19XT1JLSU5HX09GRlNFVA0KPiApfCQoRkxB U0hfUkVHSU9OX05WU1RPUkFHRV9TVUJSRUdJT05fTlZfRlRXX1dPUktJTkdfU0laRSkNCj4gK2dF ZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUZ0d1dvcmtpbmdC YXNlfGcNCj4gRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hOdlN0b3JhZ2VG dHdXb3JraW5nU2l6ZQ0KPiArRklMRSA9IFZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9HY2MvTnZT dG9yYWdlRnR3V29ya2luZy5iaW4NCj4gKw0KPiArJChGTEFTSF9SRUdJT05fTlZTVE9SQUdFX1NV QlJFR0lPTl9OVl9GVFdfU1BBUkVfT0ZGU0VUKXwkKA0KPiBGTEFTSF9SRUdJT05fTlZTVE9SQUdF X1NVQlJFR0lPTl9OVl9GVFdfU1BBUkVfU0laRSkNCj4gK2dFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RGbGFzaE52U3RvcmFnZUZ0d1NwYXJlQmFzZXxnRWZpDQo+IE1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZEZsYXNoTnZTdG9yYWdlRnR3U3BhcmVTaXplDQo+ICtGSUxFID0g Vmx2MlRibHREZXZpY2VQa2cvU3RpdGNoL0djYy9OdlN0b3JhZ2VGdHdTcGFyZS5iaW4NCj4gKw0K PiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUNCj4gKw0KPiArICAkKEZMQVNIX1JF R0lPTl9GU1BCSU5fT0ZGU0VUKXwkKEZMQVNIX1JFR0lPTl9GU1BCSU5fU0laRSkNCj4gKw0KPiBn RnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZGc3BCYXNlfGdGc3BXcmFwcGVyVG9r ZW5TcGFjZQ0KPiBHdWlkLlBjZEZsYXNoRnZGc3BTaXplDQo+ICsgIEZJTEUgPSBWbHYyU29jQmlu UGtnL0ZzcEJpbmFyeS9GdkZzcC5iaW4NCj4gKw0KPiArDQo+ICsNCj4gJChGTEFTSF9SRUdJT05f QVpBTElBQklOX09GRlNFVCl8JChGTEFTSF9SRUdJT05fQVpBTElBQklOX1NJWkUpDQo+ICsgIEZJ TEUgPSBWbHYyVGJsdERldmljZVBrZy9Gc3BBemFsaWFDb25maWdEYXRhL0F6YWxpYUNvbmZpZy5i aW4NCj4gKw0KPiArIWVuZGlmDQo+ICsNCj4gKyAgIw0KPiArICAjIE1haW4gQmxvY2sNCj4gKyAg Iw0KPiArJChGTEFTSF9SRUdJT05fRlZNQUlOX09GRlNFVCl8JChGTEFTSF9SRUdJT05fRlZNQUlO X1NJWkUpDQo+ICtnUGxhdGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RGbGFzaEZ2TWFpbkJh c2V8Z1BsYXRmb3JtTW9kdWxlDQo+IFRva2VuU3BhY2VHdWlkLlBjZEZsYXNoRnZNYWluU2l6ZQ0K PiArRlYgPSBGVk1BSU5fQ09NUEFDVA0KPiArDQo+ICsgICMNCj4gKyAgIyBGViBSZWNvdmVyeSMy DQo+ICsgICMNCj4gKyQoRkxBU0hfUkVHSU9OX0ZWX1JFQ09WRVJZMl9PRkZTRVQpfCQoRkxBU0hf UkVHSU9OX0ZWX1JFQ09WDQo+IEVSWTJfU0laRSkNCj4gK2dQbGF0Zm9ybU1vZHVsZVRva2VuU3Bh Y2VHdWlkLlBjZEZsYXNoRnZSZWNvdmVyeTJCYXNlfGdQbGF0Zm9ybU0NCj4gb2R1bGVUb2tlblNw YWNlR3VpZC5QY2RGbGFzaEZ2UmVjb3ZlcnkyU2l6ZQ0KPiArRlYgPSBGVlJFQ09WRVJZMg0KPiAr DQo+ICsgICMNCj4gKyAgIyBGViBSZWNvdmVyeQ0KPiArICAjDQo+ICskKEZMQVNIX1JFR0lPTl9G Vl9SRUNPVkVSWV9PRkZTRVQpfCQoRkxBU0hfUkVHSU9OX0ZWX1JFQ09WRQ0KPiBSWV9TSVpFKQ0K PiArZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdlJlY292ZXJ5QmFzZXxn UGxhdGZvcm1Nbw0KPiBkdWxlVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdlJlY292ZXJ5U2l6ZQ0K PiArRlYgPSBGVlJFQ09WRVJZDQo+ICsNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K PiArIw0KPiArIyBGViBTZWN0aW9uDQo+ICsjDQo+ICsjIFtGVl0gc2VjdGlvbiBpcyB1c2VkIHRv IGRlZmluZSB3aGF0IGNvbXBvbmVudHMgb3IgbW9kdWxlcyBhcmUgcGxhY2VkDQo+IHdpdGhpbiBh IGZsYXNoDQo+ICsjIGRldmljZSBmaWxlLiAgVGhpcyBzZWN0aW9uIGFsc28gZGVmaW5lcyBvcmRl ciB0aGUgY29tcG9uZW50cyBhbmQgbW9kdWxlcw0KPiBhcmUgcG9zaXRpb25lZA0KPiArIyB3aXRo aW4gdGhlIGltYWdlLiAgVGhlIFtGVl0gc2VjdGlvbiBjb25zaXN0cyBvZiBkZWZpbmUgc3RhdGVt ZW50cywgc2V0DQo+IHN0YXRlbWVudHMgYW5kDQo+ICsjIG1vZHVsZSBzdGF0ZW1lbnRzLg0KPiAr Iw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICtbRlYuTUlDUk9DT0RFX0ZWXQ0K PiArQmxvY2tTaXplICAgICAgICAgID0gJChGTEFTSF9CTE9DS19TSVpFKQ0KPiArRnZBbGlnbm1l bnQgICAgICAgID0gMTYNCj4gK0VSQVNFX1BPTEFSSVRZICAgICA9IDENCj4gK01FTU9SWV9NQVBQ RUQgICAgICA9IFRSVUUNCj4gK1NUSUNLWV9XUklURSAgICAgICA9IFRSVUUNCj4gK0xPQ0tfQ0FQ ICAgICAgICAgICA9IFRSVUUNCj4gK0xPQ0tfU1RBVFVTICAgICAgICA9IEZBTFNFDQo+ICtXUklU RV9ESVNBQkxFRF9DQVAgPSBUUlVFDQo+ICtXUklURV9FTkFCTEVEX0NBUCAgPSBUUlVFDQo+ICtX UklURV9TVEFUVVMgICAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX0NBUCAgICAgPSBUUlVFDQo+ ICtXUklURV9MT0NLX1NUQVRVUyAgPSBUUlVFDQo+ICtSRUFEX0RJU0FCTEVEX0NBUCAgPSBUUlVF DQo+ICtSRUFEX0VOQUJMRURfQ0FQICAgPSBUUlVFDQo+ICtSRUFEX1NUQVRVUyAgICAgICAgPSBU UlVFDQo+ICtSRUFEX0xPQ0tfQ0FQICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfU1RBVFVTICAg PSBUUlVFDQo+ICsNCj4gK0ZJTEUgUkFXID0gMTk3REIyMzYtRjg1Ni00OTI0LTkwRjgtQ0RGMTJG Qjg3NUYzIHsNCj4gKw0KPiAkKE9VVFBVVF9ESVJFQ1RPUlkpLyQoVEFSR0VUKV8kKFRPT0xfQ0hB SU5fVEFHKS8kKERYRV9BUkNISVRFQw0KPiBUVVJFKS9NaWNyb2NvZGVVcGRhdGVzLmJpbg0KPiAr fQ0KPiArDQo+ICshaWYgJChSRUNPVkVSWV9FTkFCTEUpDQo+ICtbRlYuRlZSRUNPVkVSWV9DT01Q T05FTlRTXQ0KPiArRnZBbGlnbm1lbnQgICAgICAgID0gMTYgICAgICAgICAjRlYgYWxpZ25tZW50 IGFuZCBGViBhdHRyaWJ1dGVzIHNldHRpbmcuDQo+ICtFUkFTRV9QT0xBUklUWSAgICAgPSAxDQo+ ICtNRU1PUllfTUFQUEVEICAgICAgPSBUUlVFDQo+ICtTVElDS1lfV1JJVEUgICAgICAgPSBUUlVF DQo+ICtMT0NLX0NBUCAgICAgICAgICAgPSBUUlVFDQo+ICtMT0NLX1NUQVRVUyAgICAgICAgPSBU UlVFDQo+ICtXUklURV9ESVNBQkxFRF9DQVAgPSBUUlVFDQo+ICtXUklURV9FTkFCTEVEX0NBUCAg PSBUUlVFDQo+ICtXUklURV9TVEFUVVMgICAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX0NBUCAg ICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX1NUQVRVUyAgPSBUUlVFDQo+ICtSRUFEX0RJU0FCTEVE X0NBUCAgPSBUUlVFDQo+ICtSRUFEX0VOQUJMRURfQ0FQICAgPSBUUlVFDQo+ICtSRUFEX1NUQVRV UyAgICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfQ0FQICAgICAgPSBUUlVFDQo+ICtSRUFEX0xP Q0tfU1RBVFVTICAgPSBUUlVFDQo+ICsNCj4gK0lORiAgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv SUEzMi9QDQo+IGNoVXNiLmluZg0KPiArSU5GICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9FaGNpUGVp L0VoY2lQZWkuaW5mDQo+ICtJTkYgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c1BlaS9Vc2JC dXNQZWkuaW5mDQo+ICtJTkYgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJvdFBlaS9Vc2JCb3RQ ZWkuaW5mDQo+ICtJTkYgIEZhdFBrZy9GYXRQZWkvRmF0UGVpLmluZg0KPiArSU5GICBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0Rpc2svQ2RFeHByZXNzUGVpL0NkRXhwcmVzc1BlaS5pbmYNCj4gK0lO Rg0KPiBTaWduZWRDYXBzdWxlUGtnL1VuaXZlcnNhbC9SZWNvdmVyeU1vZHVsZUxvYWRQZWkvUmVj b3ZlcnlNb2R1bGVMb2ENCj4gZFBlaS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gKyMNCj4gKyMgRlYgU2VjdGlvbg0KPiArIw0KPiArIyBbRlZd IHNlY3Rpb24gaXMgdXNlZCB0byBkZWZpbmUgd2hhdCBjb21wb25lbnRzIG9yIG1vZHVsZXMgYXJl IHBsYWNlZA0KPiB3aXRoaW4gYSBmbGFzaA0KPiArIyBkZXZpY2UgZmlsZS4gIFRoaXMgc2VjdGlv biBhbHNvIGRlZmluZXMgb3JkZXIgdGhlIGNvbXBvbmVudHMgYW5kIG1vZHVsZXMNCj4gYXJlIHBv c2l0aW9uZWQNCj4gKyMgd2l0aGluIHRoZSBpbWFnZS4gIFRoZSBbRlZdIHNlY3Rpb24gY29uc2lz dHMgb2YgZGVmaW5lIHN0YXRlbWVudHMsIHNldA0KPiBzdGF0ZW1lbnRzIGFuZA0KPiArIyBtb2R1 bGUgc3RhdGVtZW50cy4NCj4gKyMNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAr W0ZWLkZWUkVDT1ZFUlkyXQ0KPiArQmxvY2tTaXplICAgICAgICAgID0gJChGTEFTSF9CTE9DS19T SVpFKQ0KPiArRnZBbGlnbm1lbnQgICAgICAgID0gMTYgICAgICAgICAjRlYgYWxpZ25tZW50IGFu ZCBGViBhdHRyaWJ1dGVzIHNldHRpbmcuDQo+ICtFUkFTRV9QT0xBUklUWSAgICAgPSAxDQo+ICtN RU1PUllfTUFQUEVEICAgICAgPSBUUlVFDQo+ICtTVElDS1lfV1JJVEUgICAgICAgPSBUUlVFDQo+ ICtMT0NLX0NBUCAgICAgICAgICAgPSBUUlVFDQo+ICtMT0NLX1NUQVRVUyAgICAgICAgPSBUUlVF DQo+ICtXUklURV9ESVNBQkxFRF9DQVAgPSBUUlVFDQo+ICtXUklURV9FTkFCTEVEX0NBUCAgPSBU UlVFDQo+ICtXUklURV9TVEFUVVMgICAgICAgPSBUUlVFDQo+ICtXUklURV9MT0NLX0NBUCAgICAg PSBUUlVFDQo+ICtXUklURV9MT0NLX1NUQVRVUyAgPSBUUlVFDQo+ICtSRUFEX0RJU0FCTEVEX0NB UCAgPSBUUlVFDQo+ICtSRUFEX0VOQUJMRURfQ0FQICAgPSBUUlVFDQo+ICtSRUFEX1NUQVRVUyAg ICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tfQ0FQICAgICAgPSBUUlVFDQo+ICtSRUFEX0xPQ0tf U1RBVFVTICAgPSBUUlVFDQo+ICtGdk5hbWVHdWlkICAgICAgICAgPSBCNzNGRTQ5Ny1COTJFLTQx NmUtODMyNi00NUFEMEQyNzAwOTINCj4gKw0KPiArDQo+ICsNCj4gK0lORiAkKFBMQVRGT1JNX1BB Q0tBR0UpL1BsYXRmb3JtSW5pdFBlaS9QbGF0Zm9ybUluaXRQZWkuaW5mDQo+ICsNCj4gKyFpZiAk KE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBGQUxTRQ0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFS WQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJH RVQpL0lBMzIvUA0KPiBjaFNtYnVzQXJwRGlzYWJsZWQuaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRl ID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVS RSkkKFRBUkdFVCkvSUEzMi9WbA0KPiB2SW5pdFBlaW0uaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRl ID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVS RSkkKFRBUkdFVCkvSUEzMi9QDQo+IGNoSW5pdFBlaW0uaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRl ID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVS RSkkKFRBUkdFVCkvSUEzMi9QDQo+IGNoU3BpUGVpbS5pbmYNCj4gK0lORiBSdWxlT3ZlcnJpZGUg PSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJF KSQoVEFSR0VUKS9JQTMyL1ANCj4gZWlTbW1BY2Nlc3MuaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRl ID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVS RSkkKFRBUkdFVCkvSUEzMi9QDQo+IGVpU21tQ29udHJvbC5pbmYNCj4gK0lORiBVZWZpQ3B1UGtn L1VuaXZlcnNhbC9BY3BpL1MzUmVzdW1lMlBlaS9TM1Jlc3VtZTJQZWkuaW5mDQo+ICtJTkYgUnVs ZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FS Q0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9NDQo+IHBTMy5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ ICsjIElORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FH RSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1BpDQo+IFNtbUNvbW11bmljYXRp b25QZWkuaW5mDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArSU5GIFNlY3VyaXR5 UGtnL1RjZy9UY2cyQ29uZmlnL1RjZzJDb25maWdQZWkuaW5mDQo+ICtJTkYgU2VjdXJpdHlQa2cv VGNnL1RjZ1BlaS9UY2dQZWkuaW5mDQo+ICtJTkYgU2VjdXJpdHlQa2cvVGNnL1BoeXNpY2FsUHJl c2VuY2VQZWkvUGh5c2ljYWxQcmVzZW5jZVBlaS5pbmYNCj4gKyFlbmRpZg0KPiArIWlmICQoRlRQ TV9FTkFCTEUpID09IFRSVUUNCj4gK0lORiAgU2VjdXJpdHlQa2cvVGNnL1RjZzJQZWkvVGNnMlBl aS5pbmYgI3VzZSBQQ0QgY29uZmlnDQo+ICshZW5kaWYNCj4gK0lORiBNZGVNb2R1bGVQa2cvQ29y ZS9EeGVJcGxQZWltL0R4ZUlwbC5pbmYNCj4gKw0KPiArIWlmICQoQUNQSTUwX0VOQUJMRSkgPT0g VFJVRQ0KPiArIElORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkvRmlybXdhcmVQZXJm b3JtYW5jZURhdGFUYWJsZVBlaS9GaXJtd2ENCj4gcmVQZXJmb3JtYW5jZVBlaS5pbmYNCj4gKyFl bmRpZg0KPiArIWlmICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYNCj4gTWRl TW9kdWxlUGtnL1VuaXZlcnNhbC9SZXBvcnRTdGF0dXNDb2RlUm91dGVyL1BlaS9SZXBvcnRTdGF0 dXNDb2RlDQo+IFJvdXRlclBlaS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChSRUNPVkVS WV9FTkFCTEUpDQo+ICtGSUxFIEZWX0lNQUdFID0gMUU5RDc2MDQtRUY0NS00NmEwLUJEOEEtNzFB Qzc4QzE3QUMxIHsNCj4gKyAgU0VDVElPTiBQRUlfREVQRVhfRVhQID0ge2dFZmlQZWlNZW1vcnlE aXNjb3ZlcmVkUHBpR3VpZCBBTkQNCj4gZ0VmaVBlaUJvb3RJblJlY292ZXJ5TW9kZVBwaUd1aWR9 DQo+ICsgIFNFQ1RJT04gR1VJREVEIEVFNEU1ODk4LTM5MTQtNDI1OS05RDZFLURDN0JENzk0MDND RiB7ICAgICMgTFpNQQ0KPiBDT01QUkVTUyBHVUlEDQo+ICsgICAgU0VDVElPTiBGVl9JTUFHRSA9 IEZWUkVDT1ZFUllfQ09NUE9ORU5UUw0KPiArICB9DQo+ICt9DQo+ICshZW5kaWYNCj4gKw0KPiAr W0ZWLkZWUkVDT1ZFUlldDQo+ICtCbG9ja1NpemUgICAgICAgICAgPSAkKEZMQVNIX0JMT0NLX1NJ WkUpDQo+ICtGdkFsaWdubWVudCAgICAgICAgPSAxNiAgICAgICAgICNGViBhbGlnbm1lbnQgYW5k IEZWIGF0dHJpYnV0ZXMgc2V0dGluZy4NCj4gK0VSQVNFX1BPTEFSSVRZICAgICA9IDENCj4gK01F TU9SWV9NQVBQRUQgICAgICA9IFRSVUUNCj4gK1NUSUNLWV9XUklURSAgICAgICA9IFRSVUUNCj4g K0xPQ0tfQ0FQICAgICAgICAgICA9IFRSVUUNCj4gK0xPQ0tfU1RBVFVTICAgICAgICA9IFRSVUUN Cj4gK1dSSVRFX0RJU0FCTEVEX0NBUCA9IFRSVUUNCj4gK1dSSVRFX0VOQUJMRURfQ0FQICA9IFRS VUUNCj4gK1dSSVRFX1NUQVRVUyAgICAgICA9IFRSVUUNCj4gK1dSSVRFX0xPQ0tfQ0FQICAgICA9 IFRSVUUNCj4gK1dSSVRFX0xPQ0tfU1RBVFVTICA9IFRSVUUNCj4gK1JFQURfRElTQUJMRURfQ0FQ ICA9IFRSVUUNCj4gK1JFQURfRU5BQkxFRF9DQVAgICA9IFRSVUUNCj4gK1JFQURfU1RBVFVTICAg ICAgICA9IFRSVUUNCj4gK1JFQURfTE9DS19DQVAgICAgICA9IFRSVUUNCj4gK1JFQURfTE9DS19T VEFUVVMgICA9IFRSVUUNCj4gK0Z2TmFtZUd1aWQgICAgICAgICA9IEI3M0ZFNDk3LUI5MkUtNDE2 ZS04MzI2LTQ1QUQwRDI3MDA5MQ0KPiArDQo+ICsNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxE KSA9PSBUUlVFDQo+ICtJTkYgSW50ZWxGc3BXcmFwcGVyUGtnL0ZzcFdyYXBwZXJTZWNDb3JlL0Zz cFdyYXBwZXJTZWNDb3JlLmluZg0KPiArIWVsc2UNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5B UlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFS R0VUKS9JQTMyL1MNCj4gZWNDb3JlLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gK0lORiBNZGVNb2R1 bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi5pbmYNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9 PSBUUlVFDQo+ICtJTkYgVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9Cb290TW9kZVBlaS9C b290TW9kZVBlaS5pbmYNCj4gK0lORiBJbnRlbEZzcFdyYXBwZXJQa2cvRnNwSW5pdFBlaS9Gc3BJ bml0UGVpLmluZg0KPiArIWVuZGlmDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQo UExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEz Mi9DDQo+IHB1UGVpbS5pbmYNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0ZhdWx0 VG9sZXJhbnRXcml0ZVBlaS9GYXVsdFRvbGVyYW50V3JpdGVQZWkuaW5mDQo+ICtJTkYgTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9QZWkvVmFyaWFibGVQZWkuaW5mDQo+ICsNCj4gK0lO RiAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtUGVpL1BsYXRmb3JtUGVpLmluZg0KPiArDQo+ ICshaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gRkFMU0UNCj4gK0lORiBSdWxlT3ZlcnJpZGUg PSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJF KSQoVEFSR0VUKS9JQTMyL1MNCj4gZUNVbWEuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQo RlRQTV9FTkFCTEUpID09IFRSVUUNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQ TEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMy L2ZUDQo+IFBNSW5pdFBlaW0uaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoU09VUkNFX0RF QlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBJTkYgIFNvdXJjZUxldmVsRGVidWdQa2cvRGVidWdB Z2VudFBlaS9EZWJ1Z0FnZW50UGVpLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiArIWlmICQo Q0FQU1VMRV9FTkFCTEUpID09IFRSVUUNCj4gK0lORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9D YXBzdWxlUGVpL0NhcHN1bGVQZWkuaW5mDQo+ICshaWYgJChEWEVfQVJDSElURUNUVVJFKSA9PSAi WDY0Ig0KPiArSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NhcHN1bGVQZWkvQ2Fwc3VsZVg2 NC5pbmYNCj4gKyFlbmRpZg0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JV SUxEKSA9PSBGQUxTRQ0KPiArIWlmICQoUENJRVNDX0VOQUJMRSkgPT0gVFJVRQ0KPiArSU5GIFJ1 bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9B UkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBjaEVhcmx5SW5pdFBlaW0uaW5mDQo+ICsh ZW5kaWYNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllf UEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL00NCj4gZW1vcnlJbml0 LmluZg0KPiArIWVuZGlmDQo+ICsNCj4gK0lORiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1BDRC9Q ZWkvUGNkLmluZg0KPiArDQo+ICtbRlYuRlZNQUlOXQ0KPiArQmxvY2tTaXplICAgICAgICAgID0g JChGTEFTSF9CTE9DS19TSVpFKQ0KPiArRnZBbGlnbm1lbnQgICAgICAgID0gMTYNCj4gK0VSQVNF X1BPTEFSSVRZICAgICA9IDENCj4gK01FTU9SWV9NQVBQRUQgICAgICA9IFRSVUUNCj4gK1NUSUNL WV9XUklURSAgICAgICA9IFRSVUUNCj4gK0xPQ0tfQ0FQICAgICAgICAgICA9IFRSVUUNCj4gK0xP Q0tfU1RBVFVTICAgICAgICA9IFRSVUUNCj4gK1dSSVRFX0RJU0FCTEVEX0NBUCA9IFRSVUUNCj4g K1dSSVRFX0VOQUJMRURfQ0FQICA9IFRSVUUNCj4gK1dSSVRFX1NUQVRVUyAgICAgICA9IFRSVUUN Cj4gK1dSSVRFX0xPQ0tfQ0FQICAgICA9IFRSVUUNCj4gK1dSSVRFX0xPQ0tfU1RBVFVTICA9IFRS VUUNCj4gK1JFQURfRElTQUJMRURfQ0FQICA9IFRSVUUNCj4gK1JFQURfRU5BQkxFRF9DQVAgICA9 IFRSVUUNCj4gK1JFQURfU1RBVFVTICAgICAgICA9IFRSVUUNCj4gK1JFQURfTE9DS19DQVAgICAg ICA9IFRSVUUNCj4gK1JFQURfTE9DS19TVEFUVVMgICA9IFRSVUUNCj4gK0Z2TmFtZUd1aWQgICAg ICAgICA9IEE4ODFENTY3LTZDQjAtNGVlZS04NDM1LTJFNzJEMzNFNDVCNQ0KPiArDQo+ICtBUFJJ T1JJIERYRSB7DQo+ICsgIElORiAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvRHhlL1BjZC5p bmYNCj4gKyAgSU5GDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUmVwb3J0U3RhdHVzQ29kZVJv dXRlci9SdW50aW1lRHhlL1JlcG9ydFN0DQo+IGF0dXNDb2RlUm91dGVyUnVudGltZUR4ZS5pbmYN Cj4gKyAgSU5GDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU3RhdHVzQ29kZUhhbmRsZXIvUnVu dGltZUR4ZS9TdGF0dXNDb2RlSGFuDQo+IGRsZXJSdW50aW1lRHhlLmluZg0KPiArICB9DQo+ICsN Cj4gK0ZJTEUgRlJFRUZPUk0gPSBDM0UzNkQwOS04Mjk0LTRiOTctQTg1Ny1ENTI4OEZFMzNFMjgg ew0KPiArICAgIFNFQ1RJT04gUkFXID0NCj4gJChPVVRQVVRfRElSRUNUT1JZKS8kKFRBUkdFVClf JChUT09MX0NIQUlOX1RBRykvJChEWEVfQVJDSElURUMNCj4gVFVSRSkvQmlvc0lkLmJpbg0KPiAr ICB9DQo+ICsNCj4gKyAgIw0KPiArICAjIEVESyBJSSBSZWxhdGVkIFBsYXRmb3JtIGNvZGVzDQo+ ICsgICMNCj4gKw0KPiArICAhaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArICBJ TkYgSW50ZWxGc3BXcmFwcGVyUGtnL0ZzcE5vdGlmeUR4ZS9Gc3BOb3RpZnlEeGUuaW5mDQo+ICsg ICFlbmRpZg0KPiArDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0NvcmUvRHhlL0R4ZU1haW4uaW5mDQo+ ICtJTkYgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvRHhlL1BjZC5pbmYNCj4gKyFpZiAkKEFD UEk1MF9FTkFCTEUpID09IFRSVUUNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Fj cGkvRmlybXdhcmVQZXJmb3JtYW5jZURhdGFUYWJsZUR4ZS9GaXJtdw0KPiBhcmVQZXJmb3JtYW5j ZUR4ZS5pbmYNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkvRmlybXdhcmVQ ZXJmb3JtYW5jZURhdGFUYWJsZVNtbS9GaXJtDQo+IHdhcmVQZXJmb3JtYW5jZVNtbS5pbmYNCj4g KyFlbmRpZg0KPiArDQo+ICsNCj4gK0lORiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJz YWwvQ3B1SW9EeGUvQ3B1SW9EeGUuaW5mDQo+ICtJTkYgVWVmaUNwdVBrZy9DcHVJbzJEeGUvQ3B1 SW8yRHhlLmluZg0KPiArSU5GDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUmVwb3J0U3RhdHVz Q29kZVJvdXRlci9SdW50aW1lRHhlL1JlcG9ydFN0DQo+IGF0dXNDb2RlUm91dGVyUnVudGltZUR4 ZS5pbmYNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1N0YXR1c0NvZGVIYW5kbGVy L1J1bnRpbWVEeGUvU3RhdHVzQ29kZUhhbg0KPiBkbGVyUnVudGltZUR4ZS5pbmYNCj4gK0lORg0K PiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1JlcG9ydFN0YXR1c0NvZGVSb3V0ZXIvU21tL1JlcG9y dFN0YXR1c0NvZA0KPiBlUm91dGVyU21tLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvU2VjdXJpdHlTdHViRHhlL1NlY3VyaXR5U3R1YkR4ZS5pbmYNCj4gK0lORiBVZWZpQ3B1UGtn L0NwdUR4ZS9DcHVEeGUuaW5mDQo+ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9NZXRyb25vbWUv TWV0cm9ub21lLmluZg0KPiArSU5GIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9C ZHNEeGUvQmRzRHhlLmluZg0KPiArIWlmICQoQVJDSCkgPT0gSUEzMg0KPiArSU5GIFVTRT1JQTMy IE1kZU1vZHVsZVBrZy9Mb2dvL0xvZ28uaW5mDQo+ICshZWxzZQ0KPiArSU5GIFVTRT1YNjQgTWRl TW9kdWxlUGtnL0xvZ28vTG9nby5pbmYNCj4gKyFlbmRpZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9V bml2ZXJzYWwvV2F0Y2hkb2dUaW1lckR4ZS9XYXRjaGRvZ1RpbWVyLmluZg0KPiArSU5GIE1kZU1v ZHVsZVBrZy9Db3JlL1J1bnRpbWVEeGUvUnVudGltZUR4ZS5pbmYNCj4gK0lORg0KPiBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVE eGUuaW4NCj4gZg0KPiArSU5GDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9B Y3BpL0FjcGlTM1NhdmVEeGUvQWNwaVMzU2F2ZUR4ZS5pDQo+IG5mDQo+ICsNCj4gK0lORg0KPiBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW1SdW50 aW1lRHhlLmkNCj4gbmYNCj4gK0lORiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1 bnRpbWVEeGUvVmFyaWFibGVTbW0uaW5mDQo+ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9GdmJS dW50aW1lRHhlL0Z2YlNtbS5pbmYNCj4gK0lORg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Zh dWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0uaQ0KPiBuZg0KPiArSU5G IFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERY RV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNwaVNt bS5pbmYNCj4gKyFpZiAkKFNFQ1VSRV9CT09UX0VOQUJMRSkNCj4gK0lORg0KPiBTZWN1cml0eVBr Zy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29u ZmkNCj4gZ0R4ZS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9DYXBzdWxlUnVudGltZUR4ZS9DYXBzdWxlUnVudGltZUR4ZS5pbmYNCj4gKw0KPiAr SU5GDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTW9ub3RvbmljQ291bnRlclJ1bnRpbWVEeGUv TW9ub3RvbmljQ291bg0KPiB0ZXJSdW50aW1lRHhlLmluZg0KPiArSU5GDQo+IFBjQXRDaGlwc2V0 UGtnL1BjYXRSZWFsVGltZUNsb2NrUnVudGltZUR4ZS9QY2F0UmVhbFRpbWVDbG9ja1J1bnRpbWUN Cj4gRHhlLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGV2aWNlUGF0aER4ZS9E ZXZpY2VQYXRoRHhlLmluZg0KPiArSU5GICQoUExBVEZPUk1fUEFDS0FHRSkvRnZiUnVudGltZUR4 ZS9GdmJSdW50aW1lRHhlLmluZg0KPiArDQo+ICsNCj4gK0lORiAkKFBMQVRGT1JNX1BBQ0tBR0Up L1BsYXRmb3JtU2V0dXBEeGUvUGxhdGZvcm1TZXR1cER4ZS5pbmYNCj4gKw0KPiArIWlmICQoREFU QUhVQl9FTkFCTEUpID09IFRSVUUNCj4gK0lORiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2 ZXJzYWwvRGF0YUh1YkR4ZS9EYXRhSHViRHhlLmluZg0KPiArIWVuZGlmDQo+ICtJTkYNCj4gSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL1N0YXR1c0NvZGUvRGF0YWh1YlN0YXR1c0Nv ZGVIYW5kbA0KPiBlckR4ZS9EYXRhaHViU3RhdHVzQ29kZUhhbmRsZXJEeGUuaW5mDQo+ICtJTkYN Cj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9NZW1vcnlUZXN0L051bGxNZW1vcnlUZXN0RHhlL051 bGxNZW1vcnlUDQo+IGVzdER4ZS5pbmYNCj4gKw0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFS WQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJH RVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0RwdGYuaW5mDQo+ICsNCj4gKyAgIw0KPiArICAj IEVESyBJSSBSZWxhdGVkIFNpbGljb24gY29kZXMNCj4gKyAgIw0KPiArSU5GIFJ1bGVPdmVycmlk ZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RV UkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFMzU3VwcG9ydER4ZS5pbmYN Cj4gKw0KPiArIWlmICQoVVNFX0hQRVRfVElNRVIpID09IFRSVUUNCj4gK0lORiBQY0F0Q2hpcHNl dFBrZy9IcGV0VGltZXJEeGUvSHBldFRpbWVyRHhlLmluZg0KPiArIWVsc2UNCj4gK0lORiBSdWxl T3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJD SElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9TbWFydFRpbWVyLmlu Zg0KPiArIWVuZGlmDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1f QklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFS Q0hJVEVDVFVSRSkvU21tQ29udHJvbC5pbmYNCj4gKw0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJ TkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChU QVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNtYnVzRHhlLmluZg0KPiArDQo+ICtJ TkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQo RFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvSW50ZWxQ Y2hMZWdhY3lJbnRlcnJ1cHQuaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQo UExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChE WEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNoUmVzZXQuaW5mDQo+ICsNCj4gKyFpZiAkKE1JTk5PVzJf RlNQX0JVSUxEKSA9PSBGQUxTRQ0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBM QVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhF Xw0KPiBBUkNISVRFQ1RVUkUpL1BjaEluaXREeGUuaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0g QklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkk KFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNoSW5pdFNtbS5pbmYNCj4gKyFlbmRp Zg0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNL QUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUp L1BjaFNtaURpc3BhdGNoZXIuaW5mDQo+ICshaWYgJChQQ0lFU0NfRU5BQkxFKSA9PSBUUlVFDQo+ ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0Up LyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNo UGNpZVNtbS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZ DQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdF VCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNoU3BpUnVudGltZS5pbmYNCj4gK0lORiBSdWxl T3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJD SElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hQb2xpY3lJbml0 RHhlLmluZg0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFS WV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRF Q1RVUkUpL1BjaEJpb3NXcml0ZVByb3RlY3QuaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklO QVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRB UkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvU21tQWNjZXNzLmluZg0KPiArSU5GIFJ1bGVP dmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNI SVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaUhvc3RCcmlkZ2Uu aW5mDQo+ICshaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gRkFMU0UNCj4gK0lORiBSdWxlT3Zl cnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElU RUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9WbHZJbml0RHhlLmluZg0K PiArIWVsc2UNCj4gK0lORg0KPiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJzYWwvTGVn YWN5UmVnaW9uRHhlL0xlZ2FjeVJlZ2lvbkR4ZS5pDQo+IG5mDQo+ICtJTkYgVmx2MlRibHREZXZp Y2VQa2cvVmx2UGxhdGZvcm1Jbml0RHhlL1ZsdlBsYXRmb3JtSW5pdER4ZS5pbmYNCj4gKyFlbmRp Zg0KPiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IEZBTFNFDQo+ICsgICFpZiAkKFNFQ19F TkFCTEUpID09IFRSVUUNCj4gKyAgSU5GICBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFU Rk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8N Cj4gQVJDSElURUNUVVJFKS9IZWNpRHJ2LmluZg0KPiArICBJTkYgIFJ1bGVPdmVycmlkZSA9IEJJ TkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChU QVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NlQ1BvbGljeUluaXREeGUuaW5mDQo+ICsg ICFlbmRpZg0KPiArIWVuZGlmDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArSU5G IFNlY3VyaXR5UGtnL1RjZy9UY2dDb25maWdEeGUvVGNnQ29uZmlnRHhlLmluZg0KPiArSU5GIFNl Y3VyaXR5UGtnL1RjZy9UY2dEeGUvVGNnRHhlLmluZg0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IERS SVZFUl9BQ1BJVEFCTEUNCj4gU2VjdXJpdHlQa2cvVGNnL1RjZ1NtbS9UY2dTbW0uaW5mDQo+ICsh ZW5kaWYNCj4gKyFpZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICtJTkYgUnVsZU92ZXJyaWRl ID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVS RSkkKFRBUkdFVCkvSUEzMi9UDQo+IHBtMkRldmljZVNlQ1BlaS5pbmYNCj4gK0lORiBSdWxlT3Zl cnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElU RUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9UcG0yRGV2aWNlU2VDRHhl LmluZg0KPiArSU5GIFNlY3VyaXR5UGtnL1RjZy9NZW1vcnlPdmVyd3JpdGVDb250cm9sL1RjZ01v ci5pbmYNCj4gK0lORiBTZWN1cml0eVBrZy9UY2cvVGNnMkR4ZS9UY2cyRHhlLmluZg0KPiArSU5G IFJ1bGVPdmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERY RV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0Z0cG1TbW0u aW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIw0KPiArIyBFREsgSUkgUmVsYXRlZCBQbGF0Zm9ybSBj b2Rlcw0KPiArIw0KPiArSU5GICQoUExBVEZPUk1fUEFDS0FHRSkvUGxhdGZvcm1TbW0vUGxhdGZv cm1TbW0uaW5mDQo+ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUluZm9EeGUvUGxh dGZvcm1JbmZvRHhlLmluZg0KPiArSU5GICQoUExBVEZPUk1fUEFDS0FHRSkvUGxhdGZvcm1DcHVJ bmZvRHhlL1BsYXRmb3JtQ3B1SW5mb0R4ZS5pbmYNCj4gK0lORiAkKFBMQVRGT1JNX1BBQ0tBR0Up L1BsYXRmb3JtRHhlL1BsYXRmb3JtRHhlLmluZg0KPiArSU5GICQoUExBVEZPUk1fUEFDS0FHRSkv UGNpUGxhdGZvcm0vUGNpUGxhdGZvcm0uaW5mDQo+ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9T YXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25maWcuaW5mDQo+ICtJTkYgUnVsZU92ZXJyaWRl ID0gQklOQVJZDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVS RSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGxhdGZvcm1DcHVQb2xpY3kuaW5m DQo+ICtJTkYgJChQTEFURk9STV9QQUNLQUdFKS9QcG1Qb2xpY3kvUHBtUG9saWN5LmluZg0KPiAr SU5GDQo+ICQoUExBVEZPUk1fUEFDS0FHRSkvU21yYW1TYXZlSW5mb0hhbmRsZXJTbW0vU21yYW1T YXZlSW5mb0hhbmQNCj4gbGVyU21tLmluZg0KPiArIWlmICQoR09QX0RSSVZFUl9FTkFCTEUpID09 IFRSVUUNCj4gKyBJTkYgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUdvcFBvbGljeS9QbGF0 Zm9ybUdvcFBvbGljeS5pbmYNCj4gKyBGSUxFIERSSVZFUiA9IEZGMEM4NzQ1LTMyNzAtNDQzOS1C NzRGLTNFNDVGOEM3NzA2NCB7DQo+ICsgIFNFQ1RJT04gRFhFX0RFUEVYX0VYUCA9IHtnUGxhdGZv cm1HT1BQb2xpY3lHdWlkfQ0KPiArICBTRUNUSU9OIFBFMzIgPQ0KPiBWbHYyU29jQmluUGtnL0dP UC83LjIuMTAxMS9SRUxFQVNFX1ZTMjAwOHg4Ni8kKERYRV9BUkNISVRFQ1RVUkUpL0kNCj4gbnRl bEdvcERyaXZlci5lZmkNCj4gKyAgU0VDVElPTiBVSSA9ICJJbnRlbEdvcERyaXZlciINCj4gK30N Cj4gKyFlbmRpZg0KPiArDQo+ICtJTkYgUnVsZU92ZXJyaWRlID0gQklOQVJZDQo+ICQoUExBVEZP Uk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+ IEFSQ0hJVEVDVFVSRSkvUG5wRHhlLmluZg0KPiArICAjDQo+ICsgICMgU01NDQo+ICsgICMNCj4g K0lORiBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1JcGwuaW5mDQo+ICtJTkYgTWRl TW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21tQ29yZS5pbmYNCj4gK0lORiBVZWZpQ3B1UGtn L1BpU21tQ3B1RHhlU21tL1BpU21tQ3B1RHhlU21tLmluZg0KPiArDQo+ICtJTkYgVWVmaUNwdVBr Zy9DcHVJbzJTbW0vQ3B1SW8yU21tLmluZg0KPiArSU5GIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv TG9ja0JveC9TbW1Mb2NrQm94L1NtbUxvY2tCb3guaW5mDQo+ICtJTkYgVWVmaUNwdVBrZy9QaVNt bUNvbW11bmljYXRpb24vUGlTbW1Db21tdW5pY2F0aW9uU21tLmluZg0KPiArSU5GDQo+ICQoUExB VEZPUk1fUEFDS0FHRSkvU21tU3dEaXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaHVuay9TbW1TDQo+ IHdEaXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaHVuay5pbmYNCj4gKw0KPiArIw0KPiArIyBSZW1v dmUgdGhlIGZvbGxvd2luZyB0d28gU01NIGJpbmFyeSBtb2R1bGVzIHRoYXQgcHJldmVudCBwbGF0 Zm9ybQ0KPiBmcm9tIGJvb3RpbmcgdG8gVUVGSSBTaGVsbA0KPiArIw0KPiArI0lORiBSdWxlT3Zl cnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElU RUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9Qb3dlck1hbmFnZW1lbnQy LmluZg0KPiArI0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5BUllf UEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNU VVJFKS9EaWdpdGFsVGhlcm1hbFNlbnNvci5pbmYNCj4gKw0KPiArICAjDQo+ICsgICMgQUNQSQ0K PiArICAjDQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9BY3BpL0Jvb3RTY3JpcHRF eGVjdXRvckR4ZS9Cb290U2NyaXB0RXhlY3V0b3INCj4gRHhlLmluZg0KPiArSU5GICQoUExBVEZP Uk1fUEFDS0FHRSkvQm9vdFNjcmlwdFNhdmVEeGUvQm9vdFNjcmlwdFNhdmVEeGUuaW5mDQo+ICtJ TkYNCj4gSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkvQWNwaVN1cHBvcnRE eGUvQWNwaVN1cHBvcnREeA0KPiBlLmluZg0KPiArSU5GIFJ1bGVPdmVycmlkZSA9IEFDUElUQUJM RTINCj4gVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdl bWVudC9BY3BpVGFibGUNCj4gcy9Qb3dlck1hbmFnZW1lbnRBY3BpVGFibGVzLmluZg0KPiArDQo+ ICtJTkYgUnVsZU92ZXJyaWRlID0gQUNQSVRBQkxFDQo+ICQoUExBVEZPUk1fUkNfUEFDS0FHRSkv QWNwaVRhYmxlc1BDQVQvQWNwaVRhYmxlcy5pbmYNCj4gKw0KPiArSU5GICQoUExBVEZPUk1fUEFD S0FHRSkvQWNwaVBsYXRmb3JtL0FjcGlQbGF0Zm9ybS5pbmYNCj4gKw0KPiArSU5GDQo+IE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9Cb290R3JhcGhpY3NSZXNvdXJjZVRhYmxlRHhlL0Jvb3RH cmFwaA0KPiBpY3NSZXNvdXJjZVRhYmxlRHhlLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBQQ0kN Cj4gKyAgIw0KPiArSU5GIE1kZU1vZHVsZVBrZy9CdXMvUGNpL1BjaUJ1c0R4ZS9QY2lCdXNEeGUu aW5mDQo+ICsNCj4gK0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5B UllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElU RUNUVVJFKS9JU1BEeGUuaW5mDQo+ICsNCj4gKw0KPiArIw0KPiArIyBJU0ENCj4gKyMNCj4gK0lO RiAkKFBMQVRGT1JNX1BBQ0tBR0UpL1dwY2U3OTEvV3BjZTc5MS5pbmYNCj4gK0lORiBJbnRlbEZy YW1ld29ya01vZHVsZVBrZy9CdXMvSXNhL0lzYUJ1c0R4ZS9Jc2FCdXNEeGUuaW5mDQo+ICtJTkYg SW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9Jc2FJb0R4ZS9Jc2FJb0R4ZS5pbmYNCj4g KyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpICE9IFRSVUUNCj4gK0lORiAgSW50ZWxGcmFtZXdv cmtNb2R1bGVQa2cvQnVzL0lzYS9Jc2FTZXJpYWxEeGUvSXNhU2VyaWFsRHhlLmluZg0KPiArIWVu ZGlmDQo+ICsjSU5GIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0J1cy9Jc2EvUHMyTW91c2VEeGUv UHMyTW91c2VEeGUuaW5mDQo+ICsjSU5GDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0J1cy9J c2EvUHMyS2V5Ym9hcmREeGUvUHMya2V5Ym9hcmREeGUuaW5mDQo+ICsNCj4gKyMNCj4gKyMgU0RJ Tw0KPiArIw0KPiArI0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQTEFURk9STV9CSU5B UllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElU RUNUVVJFKS9NbWNIb3N0LmluZg0KPiArI0lORiBSdWxlT3ZlcnJpZGUgPSBCSU5BUlkNCj4gJChQ TEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERY RV8NCj4gQVJDSElURUNUVVJFKS9NbWNNZWRpYURldmljZS5pbmYNCj4gKyMNCj4gKyMgSURFL1ND U0kvQUhDSQ0KPiArIw0KPiArSU5GIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9EaXNrSW9E eGUvRGlza0lvRHhlLmluZg0KPiArDQo+ICtJTkYgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNr L1BhcnRpdGlvbkR4ZS9QYXJ0aXRpb25EeGUuaW5mDQo+ICsNCj4gK0lORg0KPiBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL0Rpc2svVW5pY29kZUNvbGxhdGlvbi9FbmdsaXNoRHhlL0VuZ2xpc2hEeGUu aW5mDQo+ICshaWYgJChTQVRBX0VOQUJMRSkgPT0gVFJVRQ0KPiArSU5GIFJ1bGVPdmVycmlkZSA9 IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUp JChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NhdGFDb250cm9sbGVyLmluZg0KPiAr Iw0KPiArDQo+ICsjDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVzRHhlL0F0YUJ1 c0R4ZS5pbmYNCj4gK0lORiBNZGVNb2R1bGVQa2cvQnVzL0F0YS9BdGFBdGFwaVBhc3NUaHJ1L0F0 YUF0YXBpUGFzc1RocnUuaW5mDQo+ICshaWYgJChTQ1NJX0VOQUJMRSkgPT0gVFJVRQ0KPiArSU5G IE1kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpQnVzRHhlL1Njc2lCdXNEeGUuaW5mDQo+ICtJTkYg TWRlTW9kdWxlUGtnL0J1cy9TY3NpL1Njc2lEaXNrRHhlL1Njc2lEaXNrRHhlLmluZg0KPiArIWVu ZGlmDQo+ICsjDQo+ICshZW5kaWYNCj4gKyMgQ29uc29sZQ0KPiArIw0KPiArSU5GDQo+IE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9Db25QbGF0Zm9ybUR4ZS9Db25QbGF0Zm9ybUR4ZS5p bmYNCj4gK0lORiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvQ29uU3BsaXR0ZXJEeGUv Q29uU3BsaXR0ZXJEeGUuaW5mDQo+ICtJTkYNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Db25z b2xlL0dyYXBoaWNzQ29uc29sZUR4ZS9HcmFwaGljc0NvbnNvbGVEDQo+IHhlLmluZg0KPiArSU5G DQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9Db25zb2xlL1ZnYUNsYXNzRHhl L1ZnYUNsYXNzRHhlLmluDQo+IGYNCj4gK0lORiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNv bGUvVGVybWluYWxEeGUvVGVybWluYWxEeGUuaW5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9IaWlEYXRhYmFzZUR4ZS9IaWlEYXRhYmFzZUR4ZS5pbmYNCj4gK0lORiBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL0Rpc3BsYXlFbmdpbmVEeGUvRGlzcGxheUVuZ2luZUR4ZS5pbmYNCj4gK0lO RiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1NldHVwQnJvd3NlckR4ZS9TZXR1cEJyb3dzZXJEeGUu aW5mDQo+ICsgICMNCj4gKyAgIyBVU0INCj4gKyAgIw0KPiArIWlmICQoVVNCX0VOQUJMRSkgPT0g VFJVRQ0KPiArSU5GIE1kZU1vZHVsZVBrZy9CdXMvUGNpL0VoY2lEeGUvRWhjaUR4ZS5pbmYNCj4g K0lORiBNZGVNb2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhlL1VoY2lEeGUuaW5mDQo+ICtJTkYNCj4g TWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3JhZ2VEeGUvVXNiTWFzc1N0b3JhZ2VEeGUu aW5mDQo+ICtJTkYgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiS2JEeGUvVXNiS2JEeGUuaW5mDQo+ ICtJTkYgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTW91c2VEeGUvVXNiTW91c2VEeGUuaW5mDQo+ ICtJTkYgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiQnVzRHhlL1VzYkJ1c0R4ZS5pbmYNCj4gK0lO RiBNZGVNb2R1bGVQa2cvQnVzL1BjaS9YaGNpRHhlL1hoY2lEeGUuaW5mDQo+ICshZW5kaWYNCj4g Kw0KPiArDQo+ICsgICMNCj4gKyAgIyBTTUJJT1MNCj4gKyAgIw0KPiArSU5GIE1kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvU21iaW9zRHhlL1NtYmlvc0R4ZS5pbmYNCj4gK0lORiAkKFBMQVRGT1JNX1BB Q0tBR0UpL1NtQmlvc01pc2NEeGUvU21CaW9zTWlzY0R4ZS5pbmYNCj4gKw0KPiArSU5GIFJ1bGVP dmVycmlkZSA9IEJJTkFSWQ0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNI SVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NtYmlvc01lbW9yeS5p bmYNCj4gKw0KPiArDQo+ICsjDQo+ICsjIEZBVCBmaWxlIHN5c3RlbQ0KPiArIw0KPiArSU5GIEZh dFBrZy9FbmhhbmNlZEZhdER4ZS9GYXQuaW5mDQo+ICsNCj4gKyMNCj4gKyMgVUVGSSBTaGVsbA0K PiArIw0KPiArSU5GICBTaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9TaGVsbC5pbmYNCj4gKw0K PiArIw0KPiArIyBkcCBjb21tYW5kDQo+ICsjDQo+ICshaWYgJChQRVJGT1JNQU5DRV9FTkFCTEUp ID09IFRSVUUNCj4gK0lORg0KPiBTaGVsbFBrZy9EeW5hbWljQ29tbWFuZC9EcER5bmFtaWNDb21t YW5kL0RwRHluYW1pY0NvbW1hbmQuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoR09QX0RS SVZFUl9FTkFCTEUpID09IFRSVUUNCj4gK0ZJTEUgRlJFRUZPUk0gPSA4NzhBQzJDQy01MzQzLTQ2 RjItQjU2My01MUY4OURBRjU2QkEgew0KPiArICBTRUNUSU9OIFJBVyA9IFZsdjJTb2NCaW5Qa2cv R09QLzcuMi4xMDExL1ZCVC9NTlcyL1ZidC5iaW4NCj4gKyAgU0VDVElPTiBVSSA9ICJJbnRlbEdv cFZidCINCj4gK30NCj4gKyFlbmRpZg0KPiArDQo+ICsjDQo+ICsjIE5ldHdvcmsgTW9kdWxlcw0K PiArIw0KPiArIWlmICQoTkVUV09SS19FTkFCTEUpID09IFRSVUUNCj4gKyAgRklMRSBEUklWRVIg PSAyMkRFMTY5MS1ENjVELTQ1NmEtOTkzRS1BMjUzREQxRjMwOEMgew0KPiArICAgIFNFQ1RJT04g UEUzMiA9DQo+IFZsdjJTb2NCaW5Qa2cvVU5ESS9SdGtVbmRpRHhlLyQoRFhFX0FSQ0hJVEVDVFVS RSkvUnRrVW5kaUR4ZS5lZmkNCj4gKyAgICBTRUNUSU9OIFVJID0gIlVOREkiDQo+ICsgIH0NCj4g KyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvU25wRHhlL1NucER4ZS5pbmYN Cj4gKyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvRHBjRHhlL0RwY0R4ZS5p bmYNCj4gKyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvTW5wRHhlL01ucER4 ZS5pbmYNCj4gKyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvQXJwRHhlL0Fy cER4ZS5pbmYNCj4gKyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvSXA0RHhl L0lwNER4ZS5pbmYNCj4gKyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvVWRw NER4ZS9VZHA0RHhlLmluZg0KPiArICBJTkYgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29y ay9EaGNwNER4ZS9EaGNwNER4ZS5pbmYNCj4gKyAgSU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L05ldHdvcmsvTXRmdHA0RHhlL010ZnRwNER4ZS5pbmYNCj4gKyAgSU5GICBOZXR3b3JrUGtnL1Vl ZmlQeGVCY0R4ZS9VZWZpUHhlQmNEeGUuaW5mDQo+ICsgIElORiAgTmV0d29ya1BrZy9UY3BEeGUv VGNwRHhlLmluZg0KPiArICAhaWYgJChORVRXT1JLX0lQNl9FTkFCTEUpID09IFRSVUUNCj4gKyAg SU5GICBOZXR3b3JrUGtnL0lwNkR4ZS9JcDZEeGUuaW5mDQo+ICsgIElORiAgTmV0d29ya1BrZy9E aGNwNkR4ZS9EaGNwNkR4ZS5pbmYNCj4gKyAgSU5GICBOZXR3b3JrUGtnL1VkcDZEeGUvVWRwNkR4 ZS5pbmYNCj4gKyAgSU5GICBOZXR3b3JrUGtnL010ZnRwNkR4ZS9NdGZ0cDZEeGUuaW5mDQo+ICsg ICFlbmRpZg0KPiArICAhaWYgJChORVRXT1JLX1ZMQU5fRU5BQkxFKSA9PSBUUlVFDQo+ICsgIElO Rg0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvVmxhbkNvbmZpZ0R4ZS9WbGFuQ29u ZmlnRHhlLmluZg0KPiArICAhZW5kaWYNCj4gKyAgIWlmICQoTkVUV09SS19JU0NTSV9FTkFCTEUp ID09IFRSVUUNCj4gKyAgICBJTkYgIE5ldHdvcmtQa2cvSVNjc2lEeGUvSVNjc2lEeGUuaW5mDQo+ ICsgICFlbmRpZg0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKENBUFNVTEVfRU5BQkxFKQ0KPiAr SU5GICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0VzcnRGbXBEeGUvRXNydEZtcER4ZS5pbmYNCj4g Kw0KPiArIw0KPiArIyBNaW5ub3cgTWF4IFN5c3RlbSBGaXJtd2FyZSBGTVANCj4gKyMNCj4gK0lO RiAgRklMRV9HVUlEID0gJChGTVBfTUlOTk9XX01BWF9TWVNURU0pDQo+IEZtcERldmljZVBrZy9G bXBEeGUvRm1wRHhlLmluZg0KPiArDQo+ICsjDQo+ICsjIFNhbXBsZSBEZXZpY2UgRk1QDQo+ICsj DQo+ICtJTkYgIEZJTEVfR1VJRCA9ICQoRk1QX0dSRUVOX1NBTVBMRV9ERVZJQ0UpDQo+IEZtcERl dmljZVBrZy9GbXBEeGUvRm1wRHhlLmluZg0KPiArSU5GICBGSUxFX0dVSUQgPSAkKEZNUF9CTFVF X1NBTVBMRV9ERVZJQ0UpDQo+IEZtcERldmljZVBrZy9GbXBEeGUvRm1wRHhlLmluZg0KPiArSU5G ICBGSUxFX0dVSUQgPSAkKEZNUF9SRURfU0FNUExFX0RFVklDRSkNCj4gRm1wRGV2aWNlUGtnL0Zt cER4ZS9GbXBEeGUuaW5mDQo+ICsNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChNSUNPQ09ERV9D QVBTVUxFX0VOQUJMRSkNCj4gK0lORg0KPiBJbnRlbFNpbGljb25Qa2cvRmVhdHVyZS9DYXBzdWxl L01pY3JvY29kZVVwZGF0ZUR4ZS9NaWNyb2NvZGVVcGRhdGVEeA0KPiBlLmluZg0KPiArIWVuZGlm DQo+ICsNCj4gKyFpZiAkKFJFQ09WRVJZX0VOQUJMRSkNCj4gK0ZJTEUgRlJFRUZPUk0gPQ0KPiBQ Q0QoZ0VmaVNpZ25lZENhcHN1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFZGtpaVJzYTIwNDhTaGEy NTZUZXN0UHVibGkNCj4gY0tleUZpbGVHdWlkKSB7DQo+ICsgICAgIFNFQ1RJT04gUkFXID0NCj4g QmFzZVRvb2xzL1NvdXJjZS9QeXRob24vUnNhMjA0OFNoYTI1NlNpZ24vVGVzdFNpZ25pbmdQdWJs aWNLZXkuYmluDQo+ICsgICAgIFNFQ1RJT04gVUkgPSAiUnNhMjA0OFNoYTI1NlRlc3RTaWduaW5n UHVibGljS2V5Ig0KPiArICAgICB9DQo+ICshZW5kaWYNCj4gKw0KPiArW0ZWLkZWTUFJTl9DT01Q QUNUXQ0KPiArQmxvY2tTaXplICAgICAgICAgID0gJChGTEFTSF9CTE9DS19TSVpFKQ0KPiArRnZB bGlnbm1lbnQgICAgICAgID0gMTYNCj4gK0VSQVNFX1BPTEFSSVRZICAgICA9IDENCj4gK01FTU9S WV9NQVBQRUQgICAgICA9IFRSVUUNCj4gK1NUSUNLWV9XUklURSAgICAgICA9IFRSVUUNCj4gK0xP Q0tfQ0FQICAgICAgICAgICA9IFRSVUUNCj4gK0xPQ0tfU1RBVFVTICAgICAgICA9IFRSVUUNCj4g K1dSSVRFX0RJU0FCTEVEX0NBUCA9IFRSVUUNCj4gK1dSSVRFX0VOQUJMRURfQ0FQICA9IFRSVUUN Cj4gK1dSSVRFX1NUQVRVUyAgICAgICA9IFRSVUUNCj4gK1dSSVRFX0xPQ0tfQ0FQICAgICA9IFRS VUUNCj4gK1dSSVRFX0xPQ0tfU1RBVFVTICA9IFRSVUUNCj4gK1JFQURfRElTQUJMRURfQ0FQICA9 IFRSVUUNCj4gK1JFQURfRU5BQkxFRF9DQVAgICA9IFRSVUUNCj4gK1JFQURfU1RBVFVTICAgICAg ICA9IFRSVUUNCj4gK1JFQURfTE9DS19DQVAgICAgICA9IFRSVUUNCj4gK1JFQURfTE9DS19TVEFU VVMgICA9IFRSVUUNCj4gKw0KPiArDQo+ICsNCj4gK0ZJTEUgRlZfSU1BR0UgPSA5RTIxRkQ5My05 QzcyLTRjMTUtOEM0Qi1FNzdGMURCMkQ3OTIgew0KPiArIWlmICQoTFpNQV9FTkFCTEUpID09IFRS VUUNCj4gKyMgTFpNQSBDb21wcmVzcw0KPiArICAgICAgIFNFQ1RJT04gR1VJREVEIEVFNEU1ODk4 LTM5MTQtNDI1OS05RDZFLURDN0JENzk0MDNDRg0KPiBQUk9DRVNTSU5HX1JFUVVJUkVEID0gVFJV RSB7DQo+ICsgICAgICAgICAgU0VDVElPTiBGVl9JTUFHRSA9IEZWTUFJTg0KPiArICAgICAgIH0N Cj4gKyFlbHNlDQo+ICshaWYgJChEWEVfQ09NUFJFU1NfRU5BQkxFKSA9PSBUUlVFDQo+ICsjIFRp YW5vIENvbXByZXNzDQo+ICsgICAgICAgU0VDVElPTiBHVUlERUQgQTMxMjgwQUQtNDgxRS00MUI2 LTk1RTgtMTI3RjRDOTg0Nzc5DQo+IFBST0NFU1NJTkdfUkVRVUlSRUQgPSBUUlVFIHsNCj4gKyAg ICAgICAgICBTRUNUSU9OIEZWX0lNQUdFID0gRlZNQUlODQo+ICsgICAgICAgfQ0KPiArIWVsc2UN Cj4gKyMgTm8gQ29tcHJlc3MNCj4gKyAgICAgICBTRUNUSU9OIENPTVBSRVNTIFBJX05PTkUgew0K PiArICAgICAgICAgIFNFQ1RJT04gRlZfSU1BR0UgPSBGVk1BSU4NCj4gKyAgICAgICB9DQo+ICsh ZW5kaWYNCj4gKyFlbmRpZg0KPiArICAgICB9DQo+ICsNCj4gK1tGVi5TRVRVUF9EQVRBXQ0KPiAr QmxvY2tTaXplICAgICAgICAgID0gJChGTEFTSF9CTE9DS19TSVpFKQ0KPiArI051bUJsb2NrcyAg ICAgICAgID0gMHgxMA0KPiArRnZBbGlnbm1lbnQgICAgICAgID0gMTYNCj4gK0VSQVNFX1BPTEFS SVRZICAgICA9IDENCj4gK01FTU9SWV9NQVBQRUQgICAgICA9IFRSVUUNCj4gK1NUSUNLWV9XUklU RSAgICAgICA9IFRSVUUNCj4gK0xPQ0tfQ0FQICAgICAgICAgICA9IFRSVUUNCj4gK0xPQ0tfU1RB VFVTICAgICAgICA9IFRSVUUNCj4gK1dSSVRFX0RJU0FCTEVEX0NBUCA9IFRSVUUNCj4gK1dSSVRF X0VOQUJMRURfQ0FQICA9IFRSVUUNCj4gK1dSSVRFX1NUQVRVUyAgICAgICA9IFRSVUUNCj4gK1dS SVRFX0xPQ0tfQ0FQICAgICA9IFRSVUUNCj4gK1dSSVRFX0xPQ0tfU1RBVFVTICA9IFRSVUUNCj4g K1JFQURfRElTQUJMRURfQ0FQICA9IFRSVUUNCj4gK1JFQURfRU5BQkxFRF9DQVAgICA9IFRSVUUN Cj4gK1JFQURfU1RBVFVTICAgICAgICA9IFRSVUUNCj4gK1JFQURfTE9DS19DQVAgICAgICA9IFRS VUUNCj4gK1JFQURfTE9DS19TVEFUVVMgICA9IFRSVUUNCj4gKw0KPiArIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjDQo+ICsjDQo+ICsjIFJ1bGVzIGFyZSB1c2Ugd2l0aCB0aGUgW0ZWXSBzZWN0 aW9uJ3MgbW9kdWxlIElORiB0eXBlIHRvIGRlZmluZQ0KPiArIyBob3cgYW4gRkZTIGZpbGUgaXMg Y3JlYXRlZCBmb3IgYSBnaXZlbiBJTkYgZmlsZS4gVGhlIGZvbGxvd2luZyBSdWxlIGFyZSB0aGUN Cj4gZGVmYXVsdA0KPiArIyBydWxlcyBmb3IgdGhlIGRpZmZlcmVudCBtb2R1bGUgdHlwZS4gVXNl ciBjYW4gYWRkIHRoZSBjdXN0b21pemVkIHJ1bGVzIHRvDQo+IGRlZmluZSB0aGUNCj4gKyMgY29u dGVudCBvZiB0aGUgRkZTIGZpbGUuDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCj4gK1tSdWxlLkNvbW1vbi5TRUNdDQo+ICsgIEZJTEUgU0VDID0gJChOQU1FRF9HVUlEKSBS RUxPQ1NfU1RSSVBQRUQgew0KPiArICAgIFBFMzIgIFBFMzIgICAgQWxpZ24gPSA4ICAgICAgICQo SU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZWZpDQo+ICsgICAgUkFXIEJJTiAgICAgICBBbGln biA9IDE2ICAgICAgfC5jb20NCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uU0VDLkJJTkFS WV0NCj4gKyAgRklMRSBTRUMgPSAkKE5BTUVEX0dVSUQpIFJFTE9DU19TVFJJUFBFRCB7DQo+ICsg ICAgUEUzMiAgUEUzMiAgICBBbGlnbiA9IDggICAgICAgfC5lZmkNCj4gKyFpZiAkKE1JTk5PVzJf RlNQX0JVSUxEKSA9PSBUUlVFDQo+ICsgICAgUkFXICAgUkFXICAgICAgICAgICAgICAgICAgICAg fC5yYXcNCj4gKyFlbHNlDQo+ICsgICAgUkFXICAgQklOICAgICBBbGlnbiA9IDE2ICAgICAgfC5j b20NCj4gKyFlbmRpZg0KPiArICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5QRUlfQ09SRV0NCj4g KyAgRklMRSBQRUlfQ09SRSA9ICQoTkFNRURfR1VJRCkgICAgICAgICAgICB7DQo+ICsgICAgUEUz MiAgICAgICBQRTMyICAgIEFsaWduID0gQXV0byAgICAgICQoSU5GX09VVFBVVCkvJChNT0RVTEVf TkFNRSkuZWZpDQo+ICsgICAgVUkgICAgICAgU1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9u YWwNCj4gKyAgICBWRVJTSU9OICBTVFJJTkc9IiQoSU5GX1ZFUlNJT04pIiBPcHRpb25hbA0KPiBC VUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLlBF SU1dDQo+ICsgIEZJTEUgUEVJTSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgICBQRUlfREVQRVgg UEVJX0RFUEVYIE9wdGlvbmFsDQo+ICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZGVwZXgN Cj4gKyAgICAgUEUzMiAgICAgICAgUEUzMiAgIEFsaWduID0gQXV0byAgICAgJChJTkZfT1VUUFVU KS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVf TkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgIFZFUlNJT04gICBTVFJJTkc9IiQoSU5GX1ZFUlNJT04p IiBPcHRpb25hbA0KPiBCVUlMRF9OVU09JChCVUlMRF9OVU1CRVIpDQo+ICsgIH0NCj4gKw0KPiAr W1J1bGUuQ29tbW9uLlBFSU0uQklOQVJZXQ0KPiArICBGSUxFIFBFSU0gPSAkKE5BTUVEX0dVSUQp IHsNCj4gKyAgICAgUEVJX0RFUEVYIFBFSV9ERVBFWCBPcHRpb25hbCAgICAgICAgfC5kZXBleA0K PiArICAgICBQRTMyICAgICAgICBQRTMyICAgQWxpZ24gPSBBdXRvICAgICB8LmVmaQ0KPiArICAg ICBVSSAgICAgICAgU1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICAgVkVS U0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxEX05VTT0kKEJV SUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uUEVJTS5CSU9TSURdDQo+ ICsgIEZJTEUgUEVJTSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgICBSQVcgICAgICAgQklOICAg ICAgICAgICAgICAgICAgICAgICBCaW9zSWQuYmluDQo+ICsgICAgIFBFSV9ERVBFWCBQRUlfREVQ RVggT3B0aW9uYWwNCj4gJChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5kZXBleA0KPiArICAg ICBQRTMyICAgICAgICBQRTMyICAgQWxpZ24gPSBBdXRvICAgICAkKElORl9PVVRQVVQpLyQoTU9E VUxFX05BTUUpLmVmaQ0KPiArICAgICBVSSAgICAgICAgU1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIg T3B0aW9uYWwNCj4gKyAgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlv bmFsDQo+IEJVSUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5D b21tb24uVVNFUl9ERUZJTkVELkFQSU5JVF0NCj4gKyAgRklMRSBSQVcgPSAkKE5BTUVEX0dVSUQp IEZpeGVkIEFsaWduPTRLIHsNCj4gKyAgICAgUkFXIFNFQ19CSU4gfC5jb20NCj4gKyAgICAgfQ0K PiArI2NqaWEgMjAxMS0wNy0yMQ0KPiArW1J1bGUuQ29tbW9uLlVTRVJfREVGSU5FRC5MRUdBQ1kx Nl0NCj4gKyAgRklMRSBGUkVFRk9STSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgICBVSSAgU1RS SU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICAgUkFXIEJJTiB8LmJpbg0KPiAr ICAgICB9DQo+ICsjY2ppYQ0KPiArDQo+ICtbUnVsZS5Db21tb24uVVNFUl9ERUZJTkVELkFTTTE2 XQ0KPiArICBGSUxFIEZSRUVGT1JNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgIFVJICBTVFJJ Tkc9IiQoTU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAgICBSQVcgQklOIHwuY29tDQo+ICsg ICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5EWEVfQ09SRV0NCj4gKyAgRklMRSBEWEVfQ09SRSA9 ICQoTkFNRURfR1VJRCkgew0KPiArICAgIFBFMzIgICAgICBQRTMyICAgICAgICAgICAgICAgICAg ICAgJChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RS SU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIk KElORl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiAr ICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5VRUZJX0RSSVZFUl0NCj4gKyAgRklMRSBEUklWRVIg PSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFsDQo+ ICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUz MiAgICAgICAgICAgICAgICAgICAgICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZWZpDQo+ ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAg VkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxEX05VTT0k KEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uVUVGSV9EUklWRVIu QklOQVJZXQ0KPiArICBGSUxFIERSSVZFUiA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIERYRV9E RVBFWCBEWEVfREVQRVggT3B0aW9uYWwgICAgICAgfC5kZXBleA0KPiArICAgIFBFMzIgICAgICBQ RTMyICAgICAgICAgICAgICAgICAgICAgfC5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RSSU5HPSIk KE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElORl9W RVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiArICB9DQo+ ICsNCj4gK1tSdWxlLkNvbW1vbi5VRUZJX0RSSVZFUi5OQVRJVkVfQklOQVJZXQ0KPiArICBGSUxF IERSSVZFUiA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIERYRV9ERVBFWCBEWEVfREVQRVggT3B0 aW9uYWwNCj4gJChXT1JLU1BBQ0UpLyQoUExBVEZPUk1fUEFDS0FHRSkvSW50ZWxHb3BEZXBleC9J bnRlbEdvcERyaXZlci5kZQ0KPiBwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAg ICAgICAgICAgfC5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIg T3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElORl9WRVJTSU9OKSIgT3B0aW9u YWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiArICB9DQo+ICsNCj4gK1tSdWxlLkNv bW1vbi5EWEVfRFJJVkVSXQ0KPiArICBGSUxFIERSSVZFUiA9ICQoTkFNRURfR1VJRCkgew0KPiAr ICAgIERYRV9ERVBFWCBEWEVfREVQRVggT3B0aW9uYWwNCj4gJChJTkZfT1VUUFVUKS8kKE1PRFVM RV9OQU1FKS5kZXBleA0KPiArICAgIFBFMzIgICAgICBQRTMyICAgICAgICAgICAgICAgICAgICAg JChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RSSU5H PSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElO Rl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiArICB9 DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5EWEVfRFJJVkVSLkJJTkFSWV0NCj4gKyAgRklMRSBEUklW RVIgPSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFs ICAgICAgIHwuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAg IHwuZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFs DQo+ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJV SUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uRFhF X0RSSVZFUi5EUklWRVJfQUNQSVRBQkxFXQ0KPiArICBGSUxFIERSSVZFUiA9ICQoTkFNRURfR1VJ RCkgew0KPiArICAgIERYRV9ERVBFWCBEWEVfREVQRVggT3B0aW9uYWwNCj4gJChJTkZfT1VUUFVU KS8kKE1PRFVMRV9OQU1FKS5kZXBleA0KPiArICAgIFBFMzIgICAgICBQRTMyICAgICAgICAgICAg ICAgICAgICAgJChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICBVSSAgICAg ICAgU1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RS SU5HPSIkKElORl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVS KQ0KPiArICAgIFJBVyBBQ1BJICBPcHRpb25hbCAgICAgICAgICAgICAgICB8LmFjcGkNCj4gKyAg ICBSQVcgQVNMICAgT3B0aW9uYWwgICAgICAgICAgICAgICAgfC5hbWwNCj4gKyAgfQ0KPiArDQo+ ICtbUnVsZS5Db21tb24uRFhFX1JVTlRJTUVfRFJJVkVSXQ0KPiArICBGSUxFIERSSVZFUiA9ICQo TkFNRURfR1VJRCkgew0KPiArICAgIERYRV9ERVBFWCBEWEVfREVQRVggT3B0aW9uYWwNCj4gJChJ TkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5kZXBleA0KPiArICAgIFBFMzIgICAgICBQRTMyICAg ICAgICAgICAgICAgICAgICAgJChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAg ICBVSSAgICAgICAgU1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJT SU9OICAgU1RSSU5HPSIkKElORl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJ TERfTlVNQkVSKQ0KPiArICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5EWEVfUlVOVElNRV9EUklW RVIuQklOQVJZXQ0KPiArICBGSUxFIERSSVZFUiA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIERY RV9ERVBFWCBEWEVfREVQRVggT3B0aW9uYWwgICAgICAgfC5kZXBleA0KPiArICAgIFBFMzIgICAg ICBQRTMyICAgICAgICAgICAgICAgICAgICAgfC5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RSSU5H PSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElO Rl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiArICB9 DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5EWEVfU01NX0RSSVZFUl0NCj4gKyAgRklMRSBTTU0gPSAk KE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFsDQo+ICQo SU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUzMiAg ICAgICAgICAgICAgICAgICAgICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZWZpDQo+ICsg ICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgVkVS U0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxEX05VTT0kKEJV SUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uRFhFX1NNTV9EUklWRVIu QklOQVJZXQ0KPiArICBGSUxFIFNNTSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIFNNTV9ERVBF WCBTTU1fREVQRVggICAgICAgICAgICAgICAgfC5kZXBleA0KPiArICAgIFBFMzIgICAgICBQRTMy ICAgICAgICAgICAgICAgICAgICAgfC5lZmkNCj4gKyAgICBSQVcgICAgICAgQklOICBPcHRpb25h bCAgICAgICAgICAgIHwuYW1sDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFN RSkiIE9wdGlvbmFsDQo+ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9w dGlvbmFsDQo+IEJVSUxEX05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVs ZS5Db21tb24uRFhFX1NNTV9EUklWRVIuRFJJVkVSX0FDUElUQUJMRV0NCj4gKyAgRklMRSBTTU0g PSAkKE5BTUVEX0dVSUQpIHsNCj4gKyAgICBEWEVfREVQRVggRFhFX0RFUEVYIE9wdGlvbmFsDQo+ ICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZGVwZXgNCj4gKyAgICBQRTMyICAgICAgUEUz MiAgICAgICAgICAgICAgICAgICAgICQoSU5GX09VVFBVVCkvJChNT0RVTEVfTkFNRSkuZWZpDQo+ ICsgICAgVUkgICAgICAgIFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAg VkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxEX05VTT0k KEJVSUxEX05VTUJFUikNCj4gKyAgICBSQVcgQUNQSSAgT3B0aW9uYWwgICAgICAgICAgICAgICAg fC5hY3BpDQo+ICsgICAgUkFXIEFTTCAgIE9wdGlvbmFsICAgICAgICAgICAgICAgIHwuYW1sDQo+ ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLlNNTV9DT1JFXQ0KPiArICBGSUxFIFNNTV9DT1JF ID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgRFhFX0RFUEVYIERYRV9ERVBFWCBPcHRpb25hbA0K PiAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmRlcGV4DQo+ICsgICAgUEUzMiAgICAgIFBF MzIgICAgICAgICAgICAgICAgICAgICAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmVmaQ0K PiArICAgIFVJICAgICAgICBTVFJJTkc9IiQoTU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiArICAg IFZFUlNJT04gICBTVFJJTkc9IiQoSU5GX1ZFUlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9OVU09 JChCVUlMRF9OVU1CRVIpDQo+ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLlNNTV9DT1JFLkJJ TkFSWV0NCj4gKyAgRklMRSBTTU1fQ09SRSA9ICQoTkFNRURfR1VJRCkgew0KPiArICAgIERYRV9E RVBFWCBEWEVfREVQRVggT3B0aW9uYWwgICAgICAgfC5kZXBleA0KPiArICAgIFBFMzIgICAgICBQ RTMyICAgICAgICAgICAgICAgICAgICAgfC5lZmkNCj4gKyAgICBVSSAgICAgICAgU1RSSU5HPSIk KE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICBWRVJTSU9OICAgU1RSSU5HPSIkKElORl9W RVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0KPiArICB9DQo+ ICsNCj4gK1tSdWxlLkNvbW1vbi5VRUZJX0FQUExJQ0FUSU9OXQ0KPiArICBGSUxFIEFQUExJQ0FU SU9OID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgRFhFX0RFUEVYIERYRV9ERVBFWCBPcHRpb25h bA0KPiAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmRlcGV4DQo+ICsgICAgUEUzMiAgICAg IFBFMzIgICAgICAgICAgICAgICAgICAgICAkKElORl9PVVRQVVQpLyQoTU9EVUxFX05BTUUpLmVm aQ0KPiArICAgIFVJICAgICAgICBTVFJJTkc9IiQoTU9EVUxFX05BTUUpIiBPcHRpb25hbA0KPiAr ICAgIFZFUlNJT04gICBTVFJJTkc9IiQoSU5GX1ZFUlNJT04pIiBPcHRpb25hbA0KPiBCVUlMRF9O VU09JChCVUlMRF9OVU1CRVIpDQo+ICsgIH0NCj4gKw0KPiArW1J1bGUuQ29tbW9uLlVFRklfQVBQ TElDQVRJT04uVUldDQo+ICsgIEZJTEUgQVBQTElDQVRJT04gPSAkKE5BTUVEX0dVSUQpIHsNCj4g KyAgICBQRTMyICAgICAgUEUzMiAgICAgICAgICAgICAgICAgICAgICQoSU5GX09VVFBVVCkvJChN T0RVTEVfTkFNRSkuZWZpDQo+ICsgICAgVUkgICAgICAgIFNUUklORz0iRW50ZXIgU2V0dXAiDQo+ ICsgICAgVkVSU0lPTiAgIFNUUklORz0iJChJTkZfVkVSU0lPTikiIE9wdGlvbmFsDQo+IEJVSUxE X05VTT0kKEJVSUxEX05VTUJFUikNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uVVNFUl9E RUZJTkVEXQ0KPiArICBGSUxFIEZSRUVGT1JNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgVUkg IFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgUkFXIEJJTiAgICAgICAg ICAgICAgICB8LmJpbg0KPiArICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5VU0VSX0RFRklORUQu QklOQVJZXQ0KPiArICBGSUxFIEZSRUVGT1JNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAgVUkg IFNUUklORz0iJChNT0RVTEVfTkFNRSkiIE9wdGlvbmFsDQo+ICsgICAgUkFXIEJJTiAgICAgICAg ICAgICAgICB8LmJpbg0KPiArICB9DQo+ICsNCj4gK1tSdWxlLkNvbW1vbi5VU0VSX0RFRklORUQu QUNQSVRBQkxFXQ0KPiArICBGSUxFIEZSRUVGT1JNID0gJChOQU1FRF9HVUlEKSB7DQo+ICsgICAg UkFXIEFDUEkgIE9wdGlvbmFsICAgICAgICAgICAgfC5hY3BpDQo+ICsgICAgUkFXIEFTTCAgIE9w dGlvbmFsICAgICAgICAgICAgfC5hbWwNCj4gKyAgfQ0KPiArDQo+ICtbUnVsZS5Db21tb24uVVNF Ul9ERUZJTkVELkFDUElUQUJMRTJdDQo+ICsgIEZJTEUgRlJFRUZPUk0gPSAkKE5BTUVEX0dVSUQp IHsNCj4gKyAgICBSQVcgQVNMICAgT3B0aW9uYWwgICAgICAgICAgICB8LmFtbA0KPiArICB9DQo+ ICsNCj4gK1tSdWxlLkNvbW1vbi5BQ1BJVEFCTEVdDQo+ICsgIEZJTEUgRlJFRUZPUk0gPSAkKE5B TUVEX0dVSUQpIHsNCj4gKyAgICBSQVcgQUNQSSAgT3B0aW9uYWwgICAgICAgICAgICB8LmFjcGkN Cj4gKyAgICBSQVcgQVNMICAgT3B0aW9uYWwgICAgICAgICAgICB8LmFtbA0KPiArICB9DQo+ICsN Cj4gK1tSdWxlLkNvbW1vbi5QRUlNLkZNUF9JTUFHRV9ERVNDXQ0KPiArICBGSUxFIFBFSU0gPSAk KE5BTUVEX0dVSUQpIHsNCj4gKyAgICAgUkFXIEJJTiAgICAgICAgICAgICAgICAgIHwuYWNwaQ0K PiArICAgICBQRUlfREVQRVggUEVJX0RFUEVYIE9wdGlvbmFsDQo+ICQoSU5GX09VVFBVVCkvJChN T0RVTEVfTkFNRSkuZGVwZXgNCj4gKyAgICAgUEUzMiAgICAgIFBFMzIgICAgQWxpZ249NEsgICAg ICAgICAgJChJTkZfT1VUUFVUKS8kKE1PRFVMRV9OQU1FKS5lZmkNCj4gKyAgICAgVUkgICAgICAg U1RSSU5HPSIkKE1PRFVMRV9OQU1FKSIgT3B0aW9uYWwNCj4gKyAgICAgVkVSU0lPTiAgU1RSSU5H PSIkKElORl9WRVJTSU9OKSIgT3B0aW9uYWwNCj4gQlVJTERfTlVNPSQoQlVJTERfTlVNQkVSKQ0K PiArICB9DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q bGF0Zm9ybVBrZ0djY1g2NC5kc2MNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9QbGF0Zm9ybVBrZ0djY1g2NC5kc2MNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uYjlmYWY1NThiNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnR2NjWDY0LmRzYw0KPiBAQCAtMCww ICsxLDE3MTEgQEANCj4gKyMvKiogQGZpbGUNCj4gKyMgUGxhdGZvcm0gZGVzY3JpcHRpb24uDQo+ ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ICsjDQo+ICsjKiovDQo+ICsNCj4gKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K PiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBEZWZpbmVzIFNlY3Rpb24gLSBz dGF0ZW1lbnRzIHRoYXQgd2lsbCBiZSBwcm9jZXNzZWQgdG8gY3JlYXRlIGEgTWFrZWZpbGUuDQo+ ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gK1tEZWZpbmVzXQ0KPiArICBQ TEFURk9STV9OQU1FICAgICAgICAgICAgICAgICAgICAgICA9IFZsdjJUYmx0RGV2aWNlUGtnDQo+ ICsgIFBMQVRGT1JNX0dVSUQgICAgICAgICAgICAgICAgICAgICAgID0gNDY1QjBBMEItN0FDMS00 NDNiLThGNjctN0I4REVDMTQ1RjkwDQo+ICsgIFBMQVRGT1JNX1ZFUlNJT04gICAgICAgICAgICAg ICAgICAgID0gMC4xDQo+ICsgIERTQ19TUEVDSUZJQ0FUSU9OICAgICAgICAgICAgICAgICAgID0g MHgwMDAxMDAwNQ0KPiArDQo+ICsgICMNCj4gKyAgIyBTZXQgcGxhdGZvcm0gc3BlY2lmaWMgcGFj a2FnZS9mb2xkZXIgbmFtZSwgc2FtZSBhcyBwYXNzZWQgZnJvbQ0KPiBQUkVCVUlMRCBzY3JpcHQu DQo+ICsgICMgUExBVEZPUk1fUEFDS0FHRSB3b3VsZCBiZSB0aGUgc2FtZSBhcyBQTEFURk9STV9O QU1FIGFzIHdlbGwNCj4gYXMgcGFja2FnZSBidWlsZCBmb2xkZXINCj4gKyAgIyBERUZJTkUgb25s eSB0YWtlcyBlZmZlY3QgYXQgUjkgRFNDIGFuZCBGREYuDQo+ICsgICMNCj4gKyAgREVGSU5FICAg ICAgUExBVEZPUk1fUEFDS0FHRSAgICAgICAgICAgICAgICA9IFZsdjJUYmx0RGV2aWNlUGtnDQo+ ICsgIERFRklORSAgICAgIFBMQVRGT1JNX1JDX1BBQ0tBR0UgICAgICAgICAgICAgPSBWbHYyRGV2 aWNlUmVmQ29kZVBrZw0KPiArICBERUZJTkUgICAgICBQTEFURk9STV9CSU5BUllfUEFDS0FHRSAg ICAgICAgID0gVmx2MlNvY0JpblBrZw0KPiArICBPVVRQVVRfRElSRUNUT1JZICAgICAgICAgICAg ICAgICAgICA9IEJ1aWxkLyQoUExBVEZPUk1fUEFDS0FHRSkNCj4gKyAgU1VQUE9SVEVEX0FSQ0hJ VEVDVFVSRVMgICAgICAgICAgICAgPSBJQTMyfFg2NA0KPiArICBCVUlMRF9UQVJHRVRTICAgICAg ICAgICAgICAgICAgICAgICA9IERFQlVHfFJFTEVBU0UNCj4gKyAgU0tVSURfSURFTlRJRklFUiAg ICAgICAgICAgICAgICAgICAgPSBERUZBVUxUDQo+ICsNCj4gKyAgREVGSU5FIENQVV9BUkNIICAg ICAgICAgICAgICAgICA9VmFsbGV5VmlldzINCj4gKyAgREVGSU5FIFBST0pFQ1RfU0NfRkFNSUxZ ICAgICAgICA9SW50ZWxQY2gNCj4gKyAgREVGSU5FIFBST0pFQ1RfU0NfUk9PVA0KPiA9Li4vJChQ TEFURk9STV9SQ19QQUNLQUdFKS9WYWxsZXlWaWV3MlNvYy9Tb3V0aENsdXN0ZXINCj4gKyAgREVG SU5FIFBST0pFQ1RfVkxWX1JPT1QNCj4gPS4uLyQoUExBVEZPUk1fUkNfUEFDS0FHRSkvVmFsbGV5 VmlldzJTb2MvTm9ydGhDbHVzdGVyDQo+ICsNCj4gKyAgREVGSU5FIFJDX0JJTkFSWV9SRUxFQVNF ICAgICAgICA9IFRSVUUNCj4gKyAgIw0KPiArICAjIFBsYXRmb3JtIE9uL09mZiBmZWF0dXJlcyBh cmUgZGVmaW5lZCBoZXJlDQo+ICsgICMNCj4gKyAgIw0KPiArICAjIFBsYXRmb3JtIFN1cHBvcnQ6 OiBTZXQgb25seSBvbmUgdG9rZW4gZXhjZXB0IENyZXN0dmlldyBIaWxscw0KPiArICAjDQo+ICsg ICMgICAzLkJheWxleUJheQ0KPiArICAjICAgICBFTkJEVF9QRl9FTkFCTEUgID0gVFJVRQ0KPiAr ICAjDQo+ICsgICFpbmNsdWRlICQoUExBVEZPUk1fUEFDS0FHRSkvQXV0b1BsYXRmb3JtQ0ZHLnR4 dA0KPiArICAhaW5jbHVkZSAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtUGtnQ29uZmlnLmRz Yw0KPiArDQo+ICshaWYgJChYNjRfQ09ORklHKSA9PSBUUlVFDQo+ICsgIERFRklORSAgICAgIERY RV9BUkNISVRFQ1RVUkUgICAgICAgID0gWDY0DQo+ICsgIERFRklORSAgICAgIEVES19EWEVfQVJD SElURUNUVVJFICAgID0gWDY0DQo+ICsgIERFRklORSAgICAgIFVORElfRFhFX0FSQ0hJVEVDVFVS RSAgID0gNjQNCj4gKyFlbHNlDQo+ICsgIERFRklORSAgICAgIERYRV9BUkNISVRFQ1RVUkUgICAg ICAgID0gSUEzMg0KPiArICBERUZJTkUgICAgICBFREtfRFhFX0FSQ0hJVEVDVFVSRSAgICA9IElh MzINCj4gKyAgREVGSU5FICAgICAgVU5ESV9EWEVfQVJDSElURUNUVVJFICAgPSAzMg0KPiArIWVu ZGlmDQo+ICsNCj4gKyAgRkxBU0hfREVGSU5JVElPTiAgICAgICAgICAgICAgICAgICAgPQ0KPiAk KFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtUGtnR2NjLmZkZg0KPiArIWlmICQoTEZNQV9FTkFC TEUpID09IFRSVUUNCj4gKyAgRklYX0xPQURfVE9QX01FTU9SWV9BRERSRVNTICAgICAgICAgPSAw eEZGRkZGRkZGRkZGRkZGRkYNCj4gKyAgREVGSU5FICAgVE9QX01FTU9SWV9BRERSRVNTICAgICAg ICAgPSAweEZGRkZGRkZGRkZGRkZGRkYNCj4gKyFlbHNlDQo+ICsgIEZJWF9MT0FEX1RPUF9NRU1P UllfQUREUkVTUyAgICAgICAgID0gMHgwDQo+ICsgIERFRklORSAgIFRPUF9NRU1PUllfQUREUkVT UyAgICAgICAgID0gMHgwDQo+ICshZW5kaWYNCj4gKw0KPiArICBERUZJTkUgICBQTEFURk9STV9Q Q0lFWFBSRVNTX0JBU0UgICA9IDBFMDAwMDAwMA0KPiArDQo+ICsgIERFRklORSBTRUNfRU5BQkxF ID0gRkFMU0UNCj4gKyAgREVGSU5FIFNFQ19ERUJVR19JTkZPX0VOQUJMRSA9IEZBTFNFDQo+ICsg IERFRklORSBGVFBNX0VOQUJMRSA9IEZBTFNFDQo+ICsNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIw0KPiArIw0KPiArIyBTS1UgSWRlbnRpZmljYXRpb24gc2VjdGlvbiAtIGxpc3Qgb2Yg YWxsIFNLVSBJRHMgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gKyMgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBQbGF0Zm9ybS4NCj4gKyMNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K PiArW1NrdUlkc10NCj4gKyAgMHxERUZBVUxUICAgICAgICAgICAgICAjIFRoZSBlbnRyeTogMHxE RUZBVUxUIGlzIHJlc2VydmVkIGFuZCBhbHdheXMgcmVxdWlyZWQuDQo+ICsNCj4gKyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBMaWJyYXJ5IENsYXNzIHNlY3Rpb24gLSBs aXN0IG9mIGFsbCBMaWJyYXJ5IENsYXNzZXMgbmVlZGVkIGJ5IHRoaXMgUGxhdGZvcm0uDQo+ICsj DQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gK1tMaWJyYXJ5Q2xhc3Nlcy5jb21t b25dDQo+ICsgICMNCj4gKyAgIyBFbnRyeSBwb2ludA0KPiArICAjDQo+ICsNCj4gUGVpQ29yZUVu dHJ5UG9pbnR8TWRlUGtnL0xpYnJhcnkvUGVpQ29yZUVudHJ5UG9pbnQvUGVpQ29yZUVudHJ5UG9p bnQuaW4NCj4gZg0KPiArICBQZWltRW50cnlQb2ludHxNZGVQa2cvTGlicmFyeS9QZWltRW50cnlQ b2ludC9QZWltRW50cnlQb2ludC5pbmYNCj4gKw0KPiBEeGVDb3JlRW50cnlQb2ludHxNZGVQa2cv TGlicmFyeS9EeGVDb3JlRW50cnlQb2ludC9EeGVDb3JlRW50cnlQb2ludA0KPiAuaW5mDQo+ICsN Cj4gVWVmaURyaXZlckVudHJ5UG9pbnR8TWRlUGtnL0xpYnJhcnkvVWVmaURyaXZlckVudHJ5UG9p bnQvVWVmaURyaXZlckVudHJ5DQo+IFBvaW50LmluZg0KPiArDQo+IFVlZmlBcHBsaWNhdGlvbkVu dHJ5UG9pbnR8TWRlUGtnL0xpYnJhcnkvVWVmaUFwcGxpY2F0aW9uRW50cnlQb2ludC9VZWZpQQ0K PiBwcGxpY2F0aW9uRW50cnlQb2ludC5pbmYNCj4gKw0KPiBEeGVTbW1Ecml2ZXJFbnRyeVBvaW50 fEludGVsRnJhbWV3b3JrUGtnL0xpYnJhcnkvRHhlU21tRHJpdmVyRW50cnlQDQo+IG9pbnQvRHhl U21tRHJpdmVyRW50cnlQb2ludC5pbmYNCj4gKw0KPiArICAjDQo+ICsgICMgQmFzaWMNCj4gKyAg Iw0KPiArICBCYXNlTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIvQmFzZUxpYi5pbmYNCj4gKyFp ZiAkKFNTRTJfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gQmFzZU1lbW9yeUxpYnxNZGVQa2cvTGli cmFyeS9CYXNlTWVtb3J5TGliU3NlMi9CYXNlTWVtb3J5TGliU3NlMg0KPiAuaW5mDQo+ICshZWxz ZQ0KPiArDQo+IEJhc2VNZW1vcnlMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZU1lbW9yeUxpYlJlcFN0 ci9CYXNlTWVtb3J5TGliUg0KPiBlcFN0ci5pbmYNCj4gKyFlbmRpZg0KPiArICBQcmludExpYnxN ZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvQmFzZVByaW50TGliLmluZg0KPiArICBDcHVMaWJ8 TWRlUGtnL0xpYnJhcnkvQmFzZUNwdUxpYi9CYXNlQ3B1TGliLmluZg0KPiArICBJb0xpYnxNZGVQ a2cvTGlicmFyeS9CYXNlSW9MaWJJbnRyaW5zaWMvQmFzZUlvTGliSW50cmluc2ljLmluZg0KPiAr ICBQY2lMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjaUxpYkNmOC9CYXNlUGNpTGliQ2Y4LmluZg0K PiArDQo+IFBjaVNlZ21lbnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjaVNlZ21lbnRMaWJQY2kv QmFzZVBjaVNlZ21lbnRMaWJQDQo+IGNpLmluZg0KPiArICBQY2lDZjhMaWJ8TWRlUGtnL0xpYnJh cnkvQmFzZVBjaUNmOExpYi9CYXNlUGNpQ2Y4TGliLmluZg0KPiArICBQY2lFeHByZXNzTGlifE1k ZVBrZy9MaWJyYXJ5L0Jhc2VQY2lFeHByZXNzTGliL0Jhc2VQY2lFeHByZXNzTGliLmluZg0KPiAr DQo+IENhY2hlTWFpbnRlbmFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZUNhY2hlTWFpbnRlbmFu Y2VMaWIvQmFzZUNhYw0KPiBoZU1haW50ZW5hbmNlTGliLmluZg0KPiArICBQZUNvZmZMaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZVBlQ29mZkxpYi9CYXNlUGVDb2ZmTGliLmluZg0KPiArDQo+IFBlQ29m ZkdldEVudHJ5UG9pbnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlQ29mZkdldEVudHJ5UG9pbnRM aWIvQmFzZQ0KPiBQZUNvZmZHZXRFbnRyeVBvaW50TGliLmluZg0KPiArIWlmICQoUkNfQklOQVJZ X1JFTEVBU0UpID09IFRSVUUNCj4gKw0KPiBQY2hQbGF0Zm9ybUxpYnxWbHYyVGJsdERldmljZVBr Zy9MaWJyYXJ5L1BjaFBsYXRmb3JtTGliL1BjaFBsYXRmb3JtTGliLmluDQo+IGYNCj4gKyFlbmRp Zg0KPiArICAjDQo+ICsgICMgVUVGSSAmIFBJDQo+ICsgICMNCj4gKw0KPiBVZWZpQm9vdFNlcnZp Y2VzVGFibGVMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliL1VlZmlC bw0KPiBvdFNlcnZpY2VzVGFibGVMaWIuaW5mDQo+ICsNCj4gVWVmaVJ1bnRpbWVTZXJ2aWNlc1Rh YmxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYg0KPiAvVWVm aVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmluZg0KPiArICBVZWZpUnVudGltZUxpYnxNZGVQa2cv TGlicmFyeS9VZWZpUnVudGltZUxpYi9VZWZpUnVudGltZUxpYi5pbmYNCj4gKyAgVWVmaUxpYnxN ZGVQa2cvTGlicmFyeS9VZWZpTGliL1VlZmlMaWIuaW5mDQo+ICsgIEhpaUxpYnxNZGVNb2R1bGVQ a2cvTGlicmFyeS9VZWZpSGlpTGliL1VlZmlIaWlMaWIuaW5mDQo+ICsNCj4gVWVmaUhpaVNlcnZp Y2VzTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1VlZmlIaWlTZXJ2aWNlc0xpYi9VZWZpSGlpU2Vy dmljZQ0KPiBzTGliLmluZg0KPiArICBEZXZpY2VQYXRoTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlE ZXZpY2VQYXRoTGliL1VlZmlEZXZpY2VQYXRoTGliLmluZg0KPiArDQo+IFVlZmlEZWNvbXByZXNz TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jhc2VVZWZpVGlhbm9DdXN0b21EZWNvbXByDQo+IGVz c0xpYi9CYXNlVWVmaVRpYW5vQ3VzdG9tRGVjb21wcmVzc0xpYi5pbmYNCj4gKw0KPiBQZWlTZXJ2 aWNlc1RhYmxlUG9pbnRlckxpYnxNZGVQa2cvTGlicmFyeS9QZWlTZXJ2aWNlc1RhYmxlUG9pbnRl ckxpYklkdC9QDQo+IGVpU2VydmljZXNUYWJsZVBvaW50ZXJMaWJJZHQuaW5mDQo+ICsgIFBlaVNl cnZpY2VzTGlifE1kZVBrZy9MaWJyYXJ5L1BlaVNlcnZpY2VzTGliL1BlaVNlcnZpY2VzTGliLmlu Zg0KPiArICBEeGVTZXJ2aWNlc0xpYnxNZGVQa2cvTGlicmFyeS9EeGVTZXJ2aWNlc0xpYi9EeGVT ZXJ2aWNlc0xpYi5pbmYNCj4gKw0KPiBEeGVTZXJ2aWNlc1RhYmxlTGlifE1kZVBrZy9MaWJyYXJ5 L0R4ZVNlcnZpY2VzVGFibGVMaWIvRHhlU2VydmljZXNUYWJsDQo+IGVMaWIuaW5mDQo+ICsgIFVl ZmlDcHVMaWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L0Jhc2VVZWZpQ3B1TGliL0Jhc2VVZWZpQ3B1TGli LmluZg0KPiArICBVZWZpVXNiTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlVc2JMaWIvVWVmaVVzYkxp Yi5pbmYNCj4gKw0KPiBHZW5lcmljQmRzTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvT3ZlcnJpZGUv SW50ZWxGcmFtZXdvcmtNb2R1bGVQDQo+IGtnL0xpYnJhcnkvR2VuZXJpY0Jkc0xpYi9HZW5lcmlj QmRzTGliLmluZg0KPiArDQo+IEJtcFN1cHBvcnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFz ZUJtcFN1cHBvcnRMaWIvQmFzZUJtcFN1cHANCj4gb3J0TGliLmluZg0KPiArICBTYWZlSW50TGli fE1kZVBrZy9MaWJyYXJ5L0Jhc2VTYWZlSW50TGliL0Jhc2VTYWZlSW50TGliLmluZg0KPiArDQo+ IFBsYXRmb3JtQmRzTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9QbGF0Zm9ybUJkc0xp Yi9QbGF0Zm9ybUINCj4gZHNMaWIuaW5mDQo+ICsgIE5ldExpYnxNZGVNb2R1bGVQa2cvTGlicmFy eS9EeGVOZXRMaWIvRHhlTmV0TGliLmluZg0KPiArICBEcGNMaWJ8TWRlTW9kdWxlUGtnL0xpYnJh cnkvRHhlRHBjTGliL0R4ZURwY0xpYi5pbmYNCj4gKw0KPiBGbGFzaERldmljZUxpYnwkKFBMQVRG T1JNX1BBQ0tBR0UpL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIvRmxhc2hEZXZpY2UNCj4gTGliLmlu Zg0KPiArDQo+IFVlZmlCb290TWFuYWdlckxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9VZWZpQm9v dE1hbmFnZXJMaWIvVWVmaUJvbw0KPiB0TWFuYWdlckxpYi5pbmYNCj4gKyAgIw0KPiArICAjIEZy YW1ld29yaw0KPiArICAjDQo+ICshaWYgJChTM19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBTM0Jv b3RTY3JpcHRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvUGlEeGVTM0Jvb3RTY3JpcHRMaWIvRHhl UzNCb290U2MNCj4gcmlwdExpYi5pbmYNCj4gKyFlbHNlDQo+ICsNCj4gUzNCb290U2NyaXB0TGli fE1kZVBrZy9MaWJyYXJ5L0Jhc2VTM0Jvb3RTY3JpcHRMaWJOdWxsL0Jhc2VTM0Jvb3RTY3JpcHRM DQo+IGliTnVsbC5pbmYNCj4gKyFlbmRpZg0KPiArICBTM0lvTGlifE1kZVBrZy9MaWJyYXJ5L0Jh c2VTM0lvTGliL0Jhc2VTM0lvTGliLmluZg0KPiArICBTM1BjaUxpYnxNZGVQa2cvTGlicmFyeS9C YXNlUzNQY2lMaWIvQmFzZVMzUGNpTGliLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBHZW5lcmlj IE1vZHVsZXMNCj4gKyAgIw0KPiArIWlmICQoVVNCX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBVZWZp VXNiTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlVc2JMaWIvVWVmaVVzYkxpYi5pbmYNCj4gKyFlbmRp Zg0KPiArIWlmICQoU0NTSV9FTkFCTEUpID09IFRSVUUNCj4gKyAgVWVmaVNjc2lMaWJ8TWRlUGtn L0xpYnJhcnkvVWVmaVNjc2lMaWIvVWVmaVNjc2lMaWIuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAk KE5FVFdPUktfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE5ldExpYnxNZGVNb2R1bGVQa2cvTGlicmFy eS9EeGVOZXRMaWIvRHhlTmV0TGliLmluZg0KPiArICBJcElvTGlifE1kZU1vZHVsZVBrZy9MaWJy YXJ5L0R4ZUlwSW9MaWIvRHhlSXBJb0xpYi5pbmYNCj4gKyAgVWRwSW9MaWJ8TWRlTW9kdWxlUGtn L0xpYnJhcnkvRHhlVWRwSW9MaWIvRHhlVWRwSW9MaWIuaW5mDQo+ICsgIFRjcElvTGlifE1kZU1v ZHVsZVBrZy9MaWJyYXJ5L0R4ZVRjcElvTGliL0R4ZVRjcElvTGliLmluZg0KPiArICBEcGNMaWJ8 TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlRHBjTGliL0R4ZURwY0xpYi5pbmYNCj4gKyFlbmRpZg0K PiArIWlmICQoUzNfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIFMzTGlifEludGVsRnJhbWV3b3JrTW9k dWxlUGtnL0xpYnJhcnkvUGVpUzNMaWIvUGVpUzNMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiAr DQo+IE9lbUhvb2tTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L09lbUhvb2tTdGF0 dXNDb2RlTGliTg0KPiB1bGwvT2VtSG9va1N0YXR1c0NvZGVMaWJOdWxsLmluZg0KPiArIWlmICQo Q0FQU1VMRV9FTkFCTEUpID09IFRSVUUNCj4gKyAgQ2Fwc3VsZUxpYnxNZGVNb2R1bGVQa2cvTGli cmFyeS9EeGVDYXBzdWxlTGliRm1wL0R4ZUNhcHN1bGVMaWIuaW5mDQo+ICshZWxzZQ0KPiArDQo+ IENhcHN1bGVMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlQ2Fwc3VsZUxpYk51bGwvRHhlQ2Fw c3VsZUxpYk51bGwuaQ0KPiBuZg0KPiArIWVuZGlmDQo+ICsNCj4gRm1wQXV0aGVudGljYXRpb25M aWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRm1wQXV0aGVudGljYXRpb25MaWJOdWxsL0YNCj4gbXBB dXRoZW50aWNhdGlvbkxpYk51bGwuaW5mDQo+ICsgIEluaVBhcnNpbmdMaWJ8U2lnbmVkQ2Fwc3Vs ZVBrZy9MaWJyYXJ5L0luaVBhcnNpbmdMaWIvSW5pUGFyc2luZ0xpYi5pbmYNCj4gKw0KPiBQbGF0 Zm9ybUZsYXNoQWNjZXNzTGlifFZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9MaWJy YXJ5L1BsYXRmb3INCj4gbUZsYXNoQWNjZXNzTGliL1BsYXRmb3JtRmxhc2hBY2Nlc3NMaWIuaW5m DQo+ICsNCj4gTWljcm9jb2RlRmxhc2hBY2Nlc3NMaWJ8Vmx2MlRibHREZXZpY2VQa2cvRmVhdHVy ZS9DYXBzdWxlL0xpYnJhcnkvUGxhdGZvDQo+IHJtRmxhc2hBY2Nlc3NMaWIvUGxhdGZvcm1GbGFz aEFjY2Vzc0xpYi5pbmYNCj4gKw0KPiBEaXNwbGF5VXBkYXRlUHJvZ3Jlc3NMaWJ8TWRlTW9kdWxl UGtnL0xpYnJhcnkvRGlzcGxheVVwZGF0ZVByb2dyZXNzTGkNCj4gYkdyYXBoaWNzL0Rpc3BsYXlV cGRhdGVQcm9ncmVzc0xpYkdyYXBoaWNzLmluZg0KPiArDQo+IFN5bmNocm9uaXphdGlvbkxpYnxN ZGVQa2cvTGlicmFyeS9CYXNlU3luY2hyb25pemF0aW9uTGliL0Jhc2VTeW5jaHJvbml6DQo+IGF0 aW9uTGliLmluZg0KPiArDQo+IFNlY3VyaXR5TWFuYWdlbWVudExpYnxNZGVNb2R1bGVQa2cvTGli cmFyeS9EeGVTZWN1cml0eU1hbmFnZW1lbnRMDQo+IGliL0R4ZVNlY3VyaXR5TWFuYWdlbWVudExp Yi5pbmYNCj4gKyAgSW9BcGljTGlifFBjQXRDaGlwc2V0UGtnL0xpYnJhcnkvQmFzZUlvQXBpY0xp Yi9CYXNlSW9BcGljTGliLmluZg0KPiArDQo+IERlYnVnUHJpbnRFcnJvckxldmVsTGlifE1kZVBr Zy9MaWJyYXJ5L0Jhc2VEZWJ1Z1ByaW50RXJyb3JMZXZlbExpYi9CYXMNCj4gZURlYnVnUHJpbnRF cnJvckxldmVsTGliLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBDUFUNCj4gKyAgIw0KPiArICBN dHJyTGlifFVlZmlDcHVQa2cvTGlicmFyeS9NdHJyTGliL010cnJMaWIuaW5mDQo+ICsNCj4gTG9j YWxBcGljTGlifFVlZmlDcHVQa2cvTGlicmFyeS9CYXNlWEFwaWNYMkFwaWNMaWIvQmFzZVhBcGlj WDJBcGljTGliLmluDQo+IGYNCj4gKw0KPiBDcHVFeGNlcHRpb25IYW5kbGVyTGlifFVlZmlDcHVQ a2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUMNCj4gcHVFeGNlcHRpb25IYW5k bGVyTGliLmluZg0KPiArICBNcEluaXRMaWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9E eGVNcEluaXRMaWIuaW5mDQo+ICsNCj4gKyAgIw0KPiArICAjIElDSA0KPiArICAjDQo+ICsgIFNt YnVzTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9TbWJ1c0xpYi9TbWJ1c0xpYi5pbmYN Cj4gKyAgU21tTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9QY2hTbW1MaWIvUGNoU21t TGliLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBQbGF0Zm9ybQ0KPiArICAjDQo+ICsNCj4gVGlt ZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0lu dGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKw0KPiBSZXNldFN5c3RlbUxpYnwkKFBMQVRG T1JNX1BBQ0tBR0UpL0xpYnJhcnkvUmVzZXRTeXN0ZW1MaWIvUmVzZXRTeXMNCj4gdGVtTGliLmlu Zg0KPiArDQo+ICsNCj4gUGxhdGZvcm1DbW9zTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFy eS9QbGF0Zm9ybUNtb3NMaWIvUGxhdGZvcg0KPiBtQ21vc0xpYi5pbmYNCj4gKw0KPiArICAjDQo+ ICsgICMgTWlzYw0KPiArICAjDQo+ICsNCj4gTW9ub1N0YXR1c0NvZGVMaWJ8JChQTEFURk9STV9Q QUNLQUdFKS9Nb25vU3RhdHVzQ29kZS9Nb25vU3RhdA0KPiB1c0NvZGUuaW5mDQo+ICshaWYgJChU QVJHRVQpID09IFJFTEVBU0UNCj4gKyAgRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVn TGliTnVsbC9CYXNlRGVidWdMaWJOdWxsLmluZg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZVNlcmlhbFBvcnRMaWJOdWxsL0Jhc2VTZXJpYWxQb3J0TGliTnVsbC5pbg0K PiBmDQo+ICshZWxzZQ0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xp YlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICsNCj4gU2VyaWFs UG9ydExpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9TZXJpYWxQ b3J0TGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiBQZXJmb3JtYW5jZUxpYnxNZGVQa2cv TGlicmFyeS9CYXNlUGVyZm9ybWFuY2VMaWJOdWxsL0Jhc2VQZXJmb3JtYW5jDQo+IGVMaWJOdWxs LmluZg0KPiArICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBjZExp Yk51bGwuaW5mDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBUcG1Db21tTGli fFNlY3VyaXR5UGtnL0xpYnJhcnkvVHBtQ29tbUxpYi9UcG1Db21tTGliLmluZg0KPiArDQo+IFRw bTEyQ29tbWFuZExpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTEyQ29tbWFuZExpYi9UcG0xMkNv bW1hDQo+IG5kTGliLmluZg0KPiArDQo+IFRwbTEyRGV2aWNlTGlifFNlY3VyaXR5UGtnL0xpYnJh cnkvVHBtMTJEZXZpY2VMaWJEVHBtL1RwbTEyRGV2aWNlTGliDQo+IERUcG0uaW5mDQo+ICsNCj4g KyFlbmRpZg0KPiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxFKSA9PSBUUlVFDQo+ICsN Cj4gUGVDb2ZmRXh0cmFBY3Rpb25MaWJ8U291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L1BlQ29m ZkV4dHJhQWN0aW9uTGliRA0KPiBlYnVnL1BlQ29mZkV4dHJhQWN0aW9uTGliRGVidWcuaW5mDQo+ ICsNCj4gRGVidWdDb21tdW5pY2F0aW9uTGlifFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9E ZWJ1Z0NvbW11bmljYXRpDQo+IG9uTGliU2VyaWFsUG9ydC9EZWJ1Z0NvbW11bmljYXRpb25MaWJT ZXJpYWxQb3J0LmluZg0KPiArDQo+IFBsYXRmb3JtSG9va0xpYnxNZGVNb2R1bGVQa2cvTGlicmFy eS9CYXNlUGxhdGZvcm1Ib29rTGliTnVsbC9CYXNlUGxhDQo+IHRmb3JtSG9va0xpYk51bGwuaW5m DQo+ICsNCj4gU2VyaWFsUG9ydExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlU2VyaWFsUG9y dExpYjE2NTUwL0Jhc2VTZXJpYWxQb3J0DQo+IExpYjE2NTUwLmluZg0KPiArIWVsc2UNCj4gKw0K PiBQZUNvZmZFeHRyYUFjdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGVDb2ZmRXh0cmFBY3Rp b25MaWJOdWxsL0Jhc2VQDQo+IGVDb2ZmRXh0cmFBY3Rpb25MaWJOdWxsLmluZg0KPiArDQo+IERl YnVnQWdlbnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRGVidWdBZ2VudExpYk51bGwvRGVidWdB Z2VudExpDQo+IGJOdWxsLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKyAgIw0KPiArICAjIENyeXB0 TGliDQo+ICsgICMNCj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBUUlVFDQo+ICsgIEludHJpbnNp Y0xpYnxDcnlwdG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvSW50cmluc2ljTGliLmluZg0KPiAr ICBPcGVuc3NsTGlifENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYN Cj4gKyFlbmRpZg0KPiArDQo+ICsgQmlvc0lkTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFy eS9CaW9zSWRMaWIvQmlvc0lkTGliLmluZg0KPiArIENwdUlBMzJMaWJ8JChQTEFURk9STV9QQUNL QUdFKS9MaWJyYXJ5L0NwdUlBMzJMaWIvQ3B1SUEzMkxpYi5pbmYNCj4gKw0KPiArDQo+IFN0YWxs U21tTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9TdGFsbFNtbUxpYi9TdGFsbFNtbUxp Yi5pbmYNCj4gKw0KPiArIWlmICQoU0VDVVJFX0JPT1RfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE9w ZW5zc2xMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZg0KPiAr ICBJbnRyaW5zaWNMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL0ludHJpbnNpY0xp Yi5pbmYNCj4gKw0KPiBQbGF0Zm9ybVNlY3VyZUxpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L1BsYXRm b3JtU2VjdXJlTGliTnVsbC9QbGF0Zm9ybVNlY3UNCj4gcmVMaWJOdWxsLmluZg0KPiArDQo+IFRw bU1lYXN1cmVtZW50TGlifFNlY3VyaXR5UGtnL0xpYnJhcnkvRHhlVHBtTWVhc3VyZW1lbnRMaWIv RHhlVHANCj4gbU1lYXN1cmVtZW50TGliLmluZg0KPiArICBBdXRoVmFyaWFibGVMaWJ8U2VjdXJp dHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlhYmxlTGliLmluZg0KPiArICBG aWxlRXhwbG9yZXJMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRmlsZUV4cGxvcmVyTGliL0ZpbGVF eHBsb3JlckxpYi5pbmYNCj4gKyFlbHNlDQo+ICsNCj4gVHBtTWVhc3VyZW1lbnRMaWJ8TWRlTW9k dWxlUGtnL0xpYnJhcnkvVHBtTWVhc3VyZW1lbnRMaWJOdWxsL1RwDQo+IG1NZWFzdXJlbWVudExp Yk51bGwuaW5mDQo+ICsNCj4gQXV0aFZhcmlhYmxlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0F1 dGhWYXJpYWJsZUxpYk51bGwvQXV0aFZhcmlhYmxlTA0KPiBpYk51bGwuaW5mDQo+ICshZW5kaWYN Cj4gKyAgVmFyQ2hlY2tMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvVmFyQ2hlY2tMaWIvVmFyQ2hl Y2tMaWIuaW5mDQo+ICshaWYgJChSQ19CSU5BUllfUkVMRUFTRSkgPT0gVFJVRQ0KPiArICBJMmNM aWJ8Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWIvSTJDTGliTnVsbC5pbmYNCj4gKyFl bmRpZg0KPiArICBTaGVsbExpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExpYi9VZWZpU2hl bGxMaWIuaW5mDQo+ICsgIEZpbGVIYW5kbGVMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaUZpbGVIYW5k bGVMaWIvVWVmaUZpbGVIYW5kbGVMaWIuaW5mDQo+ICsgIFNvcnRMaWJ8TWRlTW9kdWxlUGtnL0xp YnJhcnkvVWVmaVNvcnRMaWIvVWVmaVNvcnRMaWIuaW5mDQo+ICshaWYgJChGVFBNX0VOQUJMRSkg PT0gVFJVRSB8fCAkKE5FVFdPUktfSVNDU0lfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIEJhc2VDcnlw dExpYnxDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZg0KPiAr ICBPcGVuc3NsTGlifENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYN Cj4gKyAgSW50cmluc2ljTGlifENyeXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JbnRyaW5z aWNMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiBUcG1NZWFzdXJlbWVudExpYnxTZWN1cml0eVBr Zy9MaWJyYXJ5L0R4ZVRwbU1lYXN1cmVtZW50TGliL0R4ZVRwDQo+IG1NZWFzdXJlbWVudExpYi5p bmYNCj4gKw0KPiBUY2cyUGh5c2ljYWxQcmVzZW5jZUxpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4 ZVRjZzJQaHlzaWNhbFByZXNlbmNlTGliL0QNCj4geGVUY2cyUGh5c2ljYWxQcmVzZW5jZUxpYi5p bmYNCj4gKw0KPiBUY2cyUHBWZW5kb3JMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9UY2cyUHBWZW5k b3JMaWJOdWxsL1RjZzJQcFZlbmRvckwNCj4gaWJOdWxsLmluZg0KPiArDQo+ICsNCj4gKw0KPiBU cG0yQ29tbWFuZExpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTJDb21tYW5kTGliL1RwbTJDb21t YW5kTA0KPiBpYi5pbmYNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ICsg IEZzcEFwaUxpYnxJbnRlbEZzcFdyYXBwZXJQa2cvTGlicmFyeS9CYXNlRnNwQXBpTGliL0Jhc2VG c3BBcGlMaWIuaW5mDQo+ICsNCj4gRnNwUGxhdGZvcm1JbmZvTGlifEludGVsRnNwV3JhcHBlclBr Zy9MaWJyYXJ5L0Jhc2VGc3BQbGF0Zm9ybUluZm9MaWJTYQ0KPiBtcGxlL0Jhc2VGc3BQbGF0Zm9y bUluZm9MaWJTYW1wbGUuaW5mDQo+ICsNCj4gRnNwUGxhdGZvcm1TZWNMaWJ8Vmx2MlRibHREZXZp Y2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1NlY0ZzcFBsYXRmb3JtU2UNCj4gY0xpYlZsdjIvRnNw UGxhdGZvcm1TZWNMaWJWbHYyLmluZg0KPiArDQo+IEZzcEhvYlByb2Nlc3NMaWJ8Vmx2MlRibHRE ZXZpY2VQa2cvRnNwU3VwcG9ydC9MaWJyYXJ5L1BlaUZzcEhvYlByb2Nlc3MNCj4gTGliVmx2Mi9G c3BIb2JQcm9jZXNzTGliVmx2Mi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsgIEJvb3RMb2dvTGli fE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jvb3RMb2dvTGliL0Jvb3RMb2dvTGliLmluZg0KPiArDQo+ ICtbTGlicmFyeUNsYXNzZXMuSUEzMi5TRUNdDQo+ICshaWYgJChQRVJGT1JNQU5DRV9FTkFCTEUp ID09IFRSVUUNCj4gKw0KPiBQZXJmb3JtYW5jZUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGVyZm9y bWFuY2VMaWJOdWxsL0Jhc2VQZXJmb3JtYW5jDQo+IGVMaWJOdWxsLmluZg0KPiArIWVuZGlmDQo+ ICsgIERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYk51bGwvQmFzZURlYnVnTGli TnVsbC5pbmYNCj4gKyAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2RMaWJOdWxsL0Jhc2VQ Y2RMaWJOdWxsLmluZg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMuSUEzMi5QRUlNLCBMaWJyYXJ5 Q2xhc3Nlcy5JQTMyLlBFSV9DT1JFLA0KPiBMaWJyYXJ5Q2xhc3Nlcy5JQTMyLlNFQ10NCj4gKyAg Iw0KPiArICAjIFBFSSBwaGFzZSBjb21tb24NCj4gKyAgIw0KPiArDQo+ICsgIFBjZExpYnxNZGVQ a2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9CYXNlUGNkTGliTnVsbC5pbmYNCj4gKyAgSG9iTGli fE1kZVBrZy9MaWJyYXJ5L1BlaUhvYkxpYi9QZWlIb2JMaWIuaW5mDQo+ICsNCj4gTWVtb3J5QWxs b2NhdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9QZWlNZW1vcnlBbGxvY2F0aW9uTGliL1BlaU1lbW9y eQ0KPiBBbGxvY2F0aW9uTGliLmluZg0KPiArDQo+IFJlcG9ydFN0YXR1c0NvZGVMaWJ8TWRlTW9k dWxlUGtnL0xpYnJhcnkvUGVpUmVwb3J0U3RhdHVzQ29kZUxpYi9QZWlSDQo+IGVwb3J0U3RhdHVz Q29kZUxpYi5pbmYNCj4gKw0KPiBFeHRyYWN0R3VpZGVkU2VjdGlvbkxpYnxNZGVQa2cvTGlicmFy eS9QZWlFeHRyYWN0R3VpZGVkU2VjdGlvbkxpYi9QZWlFeA0KPiB0cmFjdEd1aWRlZFNlY3Rpb25M aWIuaW5mDQo+ICsNCj4gTXVsdGlQbGF0Zm9ybUxpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJh cnkvTXVsdGlQbGF0Zm9ybUxpYi9NdWx0aVBsDQo+IGF0Zm9ybUxpYi5pbmYNCj4gKyAgQmFzZUNy eXB0TGlifENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9QZWlDcnlwdExpYi5pbmYNCj4g Kw0KPiBDcHVFeGNlcHRpb25IYW5kbGVyTGlifFVlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRp b25IYW5kbGVyTGliL1NlY1ANCj4gZWlDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZg0KPiArICBN cEluaXRMaWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L01wSW5pdExpYi9QZWlNcEluaXRMaWIuaW5mDQo+ ICsNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IFBlcmZvcm1h bmNlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1BlaVBlcmZvcm1hbmNlTGliL1BlaVBlcmZvcm1h bmMNCj4gZUxpYi5pbmYNCj4gKw0KPiBUaW1lckxpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJh cnkvSW50ZWxQY2hBY3BpVGltZXJMaWIvSW50ZWxQY2hBYw0KPiBwaVRpbWVyTGliLmluZg0KPiAr IWVuZGlmDQo+ICsNCj4gKyFpZiAkKFRBUkdFVCkgPT0gUkVMRUFTRQ0KPiArICBEZWJ1Z0xpYnxN ZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJOdWxsL0Jhc2VEZWJ1Z0xpYk51bGwuaW5mDQo+ICsN Cj4gU2VyaWFsUG9ydExpYnxNZGVQa2cvTGlicmFyeS9CYXNlU2VyaWFsUG9ydExpYk51bGwvQmFz ZVNlcmlhbFBvcnRMaWJOdWxsLmluDQo+IGYNCj4gKyFlbHNlDQo+ICsNCj4gRGVidWdMaWJ8TWRl TW9kdWxlUGtnL0xpYnJhcnkvUGVpRHhlRGVidWdMaWJSZXBvcnRTdGF0dXNDb2RlL1BlaUR4DQo+ IGVEZWJ1Z0xpYlJlcG9ydFN0YXR1c0NvZGUuaW5mDQo+ICsNCj4gU2VyaWFsUG9ydExpYnwkKFBM QVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9TZXJpYWxQb3J0TGliLmluZg0K PiArIWVuZGlmDQo+ICsNCj4gKw0KPiBMb2NrQm94TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1Nt bUxvY2tCb3hMaWIvU21tTG9ja0JveFBlaUxpYi5pbmYNCj4gKw0KPiBIYXNoTGlifFNlY3VyaXR5 UGtnL0xpYnJhcnkvSGFzaExpYkJhc2VDcnlwdG9Sb3V0ZXIvSGFzaExpYkJhc2VDcnlwdG9SDQo+ IG91dGVyUGVpLmluZg0KPiArIWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiAr DQo+IERlYnVnQWdlbnRMaWJ8U291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQv U2VjUGVpRGVidWdBZw0KPiBlbnRMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArICFpZiAkKE1J Tk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ICsNCj4gUGxhdGZvcm1Gc3BMaWJ8Vmx2MlRibHRE ZXZpY2VQa2cvTGlicmFyeS9QbGF0Zm9ybUZzcExpYi9QbGF0Zm9ybUZzcExpYi5pbg0KPiBmDQo+ ICsgIWVuZGlmDQo+ICshaWYgJChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IFRwbTJEZXZp Y2VMaWJ8Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliU2VDUGVpL1RwbTJE ZXZpDQo+IGNlTGliU2VDLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlcy5Y NjRdDQo+ICsgICMNCj4gKyAgIyBEWEUgcGhhc2UgY29tbW9uDQo+ICsgICMNCj4gKyAgSG9iTGli fE1kZVBrZy9MaWJyYXJ5L0R4ZUhvYkxpYi9EeGVIb2JMaWIuaW5mDQo+ICsgIFBjZExpYnxNZGVQ a2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmluZg0KPiArDQo+IE1lbW9yeUFsbG9jYXRp b25MaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaU1lbW9yeUFsbG9jYXRpb25MaWIvVWVmaU1lbW8NCj4g cnlBbGxvY2F0aW9uTGliLmluZg0KPiArDQo+IFJlcG9ydFN0YXR1c0NvZGVMaWJ8TWRlTW9kdWxl UGtnL0xpYnJhcnkvRHhlUmVwb3J0U3RhdHVzQ29kZUxpYi9EeA0KPiBlUmVwb3J0U3RhdHVzQ29k ZUxpYi5pbmYNCj4gKw0KPiBFeHRyYWN0R3VpZGVkU2VjdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9E eGVFeHRyYWN0R3VpZGVkU2VjdGlvbkxpYi9EeGVFDQo+IHh0cmFjdEd1aWRlZFNlY3Rpb25MaWIu aW5mDQo+ICsNCj4gKw0KPiBUY2dQaHlzaWNhbFByZXNlbmNlTGlifFNlY3VyaXR5UGtnL0xpYnJh cnkvRHhlVGNnUGh5c2ljYWxQcmVzZW5jZUxpYi9EeGUNCj4gVGNnUGh5c2ljYWxQcmVzZW5jZUxp Yi5pbmYNCj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBUUlVFDQo+ICsgIEJhc2VDcnlwdExpYnxD cnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZg0KPiArIWVuZGlm DQo+ICsNCj4gKw0KPiBMb2NrQm94TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUxvY2tCb3hM aWIvU21tTG9ja0JveER4ZUxpYi5pbg0KPiBmDQo+ICsNCj4gRWZpUmVnVGFibGVMaWJ8JChQTEFU Rk9STV9QQUNLQUdFKS9MaWJyYXJ5L0VmaVJlZ1RhYmxlTGliL0VmaVJlZ1RhYmxlDQo+IExpYi5p bmYNCj4gKw0KPiArIWlmICQoU0VDVVJFX0JPT1RfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIEJhc2VD cnlwdExpYnxDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvQmFzZUNyeXB0TGliLmluZg0K PiArIWVuZGlmDQo+ICsNCj4gKw0KPiBIYXNoTGlifFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaExp YkJhc2VDcnlwdG9Sb3V0ZXIvSGFzaExpYkJhc2VDcnlwdG9SDQo+IG91dGVyRHhlLmluZg0KPiAr DQo+ICtbTGlicmFyeUNsYXNzZXMuWDY0LkRYRV9EUklWRVJdDQo+ICsNCj4gRGVidWdMaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0 Lg0KPiBpbmYNCj4gKyAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIu aW5mDQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1hbmNl TGliTnVsbC9CYXNlUGVyZm9ybWFuYw0KPiBlTGliTnVsbC5pbmYNCj4gKw0KPiBDdXN0b21pemVk RGlzcGxheUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9DdXN0b21pemVkRGlzcGxheUxpYi9DdXN0 bw0KPiBtaXplZERpc3BsYXlMaWIuaW5mDQo+ICshaWYgJChQRVJGT1JNQU5DRV9FTkFCTEUpID09 IFRSVUUNCj4gKw0KPiBQZXJmb3JtYW5jZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVQZXJm b3JtYW5jZUxpYi9EeGVQZXJmb3JtYQ0KPiBuY2VMaWIuaW5mDQo+ICsNCj4gVGltZXJMaWJ8JChQ TEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWMN Cj4gcGlUaW1lckxpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdf RU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gRGVidWdBZ2VudExpYnxTb3VyY2VMZXZlbERlYnVnUGtn L0xpYnJhcnkvRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW4NCj4gdExpYi5pbmYNCj4gKyFlbmRpZg0K PiArDQo+ICsNCj4gRmxhc2hEZXZpY2VMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0Zs YXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNlDQo+IExpYkR4ZS5pbmYNCj4gKw0KPiArW0xpYnJhcnlD bGFzc2VzLlg2NC5EWEVfQ09SRV0NCj4gKyAgSG9iTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZUNvcmVI b2JMaWIvRHhlQ29yZUhvYkxpYi5pbmYNCj4gKw0KPiBNZW1vcnlBbGxvY2F0aW9uTGlifE1kZU1v ZHVsZVBrZy9MaWJyYXJ5L0R4ZUNvcmVNZW1vcnlBbGxvY2F0aW9uTGkNCj4gYi9EeGVDb3JlTWVt b3J5QWxsb2NhdGlvbkxpYi5pbmYNCj4gKyAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2RM aWJOdWxsL0Jhc2VQY2RMaWJOdWxsLmluZg0KPiArIWlmICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9 PSBUUlVFDQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlQ29y ZVBlcmZvcm1hbmNlTGliL0R4ZUNvcmUNCj4gUGVyZm9ybWFuY2VMaWIuaW5mDQo+ICsNCj4gVGlt ZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0lu dGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChTT1VS Q0VfREVCVUdfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gRGVidWdBZ2VudExpYnxTb3VyY2VMZXZl bERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW4NCj4gdExpYi5pbmYNCj4g KyFlbmRpZg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMuWDY0LkRYRV9TTU1fRFJJVkVSXQ0KPiAr DQo+IE1tU2VydmljZXNUYWJsZUxpYnxNZGVQa2cvTGlicmFyeS9NbVNlcnZpY2VzVGFibGVMaWIv TW1TZXJ2aWNlc1RhYmwNCj4gZUxpYi5pbmYNCj4gKw0KPiBTbW1TZXJ2aWNlc1RhYmxlTGlifE1k ZVBrZy9MaWJyYXJ5L1NtbVNlcnZpY2VzVGFibGVMaWIvU21tU2VydmljZXNUDQo+IGFibGVMaWIu aW5mDQo+ICsNCj4gUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1S ZXBvcnRTdGF0dXNDb2RlTGliL1MNCj4gbW1SZXBvcnRTdGF0dXNDb2RlTGliLmluZg0KPiArDQo+ IE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlUGtnL0xpYnJhcnkvU21tTWVtb3J5QWxsb2NhdGlvbkxp Yi9TbW1NZQ0KPiBtb3J5QWxsb2NhdGlvbkxpYi5pbmYNCj4gKw0KPiBMb2NrQm94TGlifE1kZU1v ZHVsZVBrZy9MaWJyYXJ5L1NtbUxvY2tCb3hMaWIvU21tTG9ja0JveFNtbUxpYi5pDQo+IG5mDQo+ ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1hbmNlTGliTnVs bC9CYXNlUGVyZm9ybWFuYw0KPiBlTGliTnVsbC5pbmYNCj4gKyAgU21tTWVtTGlifE1kZVBrZy9M aWJyYXJ5L1NtbU1lbUxpYi9TbW1NZW1MaWIuaW5mDQo+ICsNCj4gU21tQ3B1UGxhdGZvcm1Ib29r TGlifFVlZmlDcHVQa2cvTGlicmFyeS9TbW1DcHVQbGF0Zm9ybUhvb2tMaWJOdWxsDQo+IC9TbW1D cHVQbGF0Zm9ybUhvb2tMaWJOdWxsLmluZg0KPiArDQo+IFNtbUNwdUZlYXR1cmVzTGlifFVlZmlD cHVQa2cvTGlicmFyeS9TbW1DcHVGZWF0dXJlc0xpYi9TbW1DcHVGZWENCj4gdHVyZXNMaWIuaW5m DQo+ICsNCj4gKyAgQmFzZUNyeXB0TGlifENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9T bW1DcnlwdExpYi5pbmYNCj4gKyAgIWlmICQoVEFSR0VUKSAhPSBSRUxFQVNFDQo+ICsNCj4gRGVi dWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJT ZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyAgIWVuZGlmDQo+ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJV R19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVsRGVidWdQ a2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NtbURlYnVnQWdlDQo+IG50TGliLmluZg0KPiArDQo+IFRp bWVyTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9J bnRlbFBjaEFjDQo+IHBpVGltZXJMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiBDcHVFeGNlcHRp b25IYW5kbGVyTGlifFVlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL1Nt bQ0KPiBDcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMu WDY0LlNNTV9DT1JFXQ0KPiArDQo+IE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlTW9kdWxlUGtnL0xp YnJhcnkvUGlTbW1Db3JlTWVtb3J5QWxsb2NhdGlvDQo+IG5MaWIvUGlTbW1Db3JlTWVtb3J5QWxs b2NhdGlvbkxpYi5pbmYNCj4gKw0KPiBTbW1TZXJ2aWNlc1RhYmxlTGlifE1kZU1vZHVsZVBrZy9M aWJyYXJ5L1BpU21tQ29yZVNtbVNlcnZpY2VzVGFibA0KPiBlTGliL1BpU21tQ29yZVNtbVNlcnZp Y2VzVGFibGVMaWIuaW5mDQo+ICsNCj4gUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cv TGlicmFyeS9TbW1SZXBvcnRTdGF0dXNDb2RlTGliL1MNCj4gbW1SZXBvcnRTdGF0dXNDb2RlTGli LmluZg0KPiArDQo+IFNtbUNvcmVQbGF0Zm9ybUhvb2tMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkv U21tQ29yZVBsYXRmb3JtSG9vaw0KPiBMaWJOdWxsL1NtbUNvcmVQbGF0Zm9ybUhvb2tMaWJOdWxs LmluZg0KPiArICBTbW1NZW1MaWJ8TWRlUGtnL0xpYnJhcnkvU21tTWVtTGliL1NtbU1lbUxpYi5p bmYNCj4gKw0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgQmFzZUNyeXB0TGli fENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExpYi5pbmYNCj4gKyFlbmRp Zg0KPiArDQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1h bmNlTGliTnVsbC9CYXNlUGVyZm9ybWFuYw0KPiBlTGliTnVsbC5pbmYNCj4gKw0KPiArIWlmICQo VEFSR0VUKSAhPSBSRUxFQVNFDQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURl YnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyFlbmRp Zg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMuWDY0LkRYRV9SVU5USU1FX0RSSVZFUl0NCj4gKw0K PiBSZXBvcnRTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1J1bnRpbWVEeGVSZXBv cnRTdGF0dXNDb2QNCj4gZUxpYi9SdW50aW1lRHhlUmVwb3J0U3RhdHVzQ29kZUxpYi5pbmYNCj4g KyFpZiAkKFNFQ1VSRV9CT09UX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBCYXNlQ3J5cHRMaWJ8Q3J5 cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1J1bnRpbWVDcnlwdExpYi5pbmYNCj4gKyFlbmRp Zg0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgQmFzZUNyeXB0TGlifENyeXB0 b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mDQo+ICshZW5kaWYN Cj4gKw0KPiArIWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IERlYnVn QWdlbnRMaWJ8U291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdB Z2VuDQo+IHRMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoQ0FQU1VMRV9FTkFCTEUp ID09IFRSVUUNCj4gKw0KPiBDYXBzdWxlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUNhcHN1 bGVMaWJGbXAvRHhlUnVudGltZUNhcHN1bGUNCj4gTGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4g K1tMaWJyYXJ5Q2xhc3Nlcy5jb21tb24uVUVGSV9EUklWRVJdDQo+ICsgIFBjZExpYnxNZGVQa2cv TGlicmFyeS9CYXNlUGNkTGliTnVsbC9CYXNlUGNkTGliTnVsbC5pbmYNCj4gKw0KPiArIWlmICQo U09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IERlYnVnQWdlbnRMaWJ8U291cmNl TGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdBZ2VuDQo+IHRMaWIuaW5m DQo+ICshZW5kaWYNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzLlg2NC5VRUZJX0FQUExJQ0FUSU9O XQ0KPiArICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYNCj4g Kw0KPiArIWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IERlYnVnQWdl bnRMaWJ8U291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdBZ2Vu DQo+IHRMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjDQo+ICsjDQo+ICsjIFBjZCBTZWN0aW9uIC0gbGlzdCBvZiBhbGwgRURLIElJIFBDRCBFbnRy aWVzIGRlZmluZWQgYnkgdGhpcyBQbGF0Zm9ybQ0KPiArIw0KPiArIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjDQo+ICtbUGNkc0ZlYXR1cmVGbGFnLmNvbW1vbl0NCj4gKyFpZiAkKE1JTklfQklP U19FTkFCTEUpID09IEZBTFNFDQo+ICsgIGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBj ZEJkc0Rpc3BhdGNoQWRkaXRpb25hbE9wcm9tfFRSVUUNCj4gKyFlbHNlDQo+ICsNCj4gZ1BsYXRm b3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQuUGNkQmRzRGlzcGF0Y2hBZGRpdGlvbmFsT3Byb218RkFM U0UNCj4gKyFlbmRpZg0KPiArIw0KPiArIyBJZiBQY2REeGVJcGxTd2l0Y2hUb0xvbmdNb2RlIGlz IFRSVUUsIER4ZUlwbCB3aWxsIGxvYWQgYSA2NC1iaXQgRHhlQ29yZQ0KPiBhbmQgc3dpdGNoIHRv IGxvbmcgbW9kZSB0byBoYW5kIG92ZXIgdG8gRHhlQ29yZS4NCj4gKyMNCj4gKyAgZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZER4ZUlwbFN3aXRjaFRvTG9uZ01vZGV8VFJVRQ0KPiAr DQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJyb3dzZXJHcmF5T3V0 VGV4dFN0YXRlbWVudHxUUg0KPiBVRQ0KPiArDQo+ICshaWYgJChDQVBTVUxFX1JFU0VUX0VOQUJM RSkgPT0gVFJVRQ0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdXBw b3J0VXBkYXRlQ2Fwc3VsZVJlc2V0fFRSVUUNCj4gKyFlbHNlDQo+ICsNCj4gZ0VmaU1kZU1vZHVs ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN1cHBvcnRVcGRhdGVDYXBzdWxlUmVzZXR8RkFMUw0KPiBF DQo+ICshZW5kaWYNCj4gKyAgZ0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZENwdVNtbUVuYWJsZUJz cEVsZWN0aW9ufEZBTFNFDQo+ICshaWYgJChEQVRBSFVCX1NUQVRVU19DT0RFX0VOQUJMRSkgPT0g VFJVRQ0KPiArDQo+IGdFZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZFN0YXR1c0NvZGVVc2VEYXRhSHViDQo+IHxUUlVFDQo+ICshZWxzZQ0KPiArDQo+IGdFZmlJbnRl bEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VEYXRhSHVi DQo+IHxGQUxTRQ0KPiArIWVuZGlmDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFBlaUNvcmVJbWFnZUxvYWRlclNlYXJjaFRlU2VjdGkNCj4gb25GaXJzdHxGQUxTRQ0K PiArIWlmICQoVEFSR0VUKSA9PSBSRUxFQVNFDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlU2VyaWFsfEZBTFNFDQo+ICshZWxzZQ0KPiArICBnRWZp TWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVNlcmlhbHxGQUxTRQ0K PiArIWVuZGlmDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXND b2RlVXNlTWVtb3J5fEZBTFNFDQo+ICshaWYgJChJU0FfU0VSSUFMX1NUQVRVU19DT0RFX0VOQUJM RSkgPT0gVFJVRQ0KPiArICBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0Nv ZGVVc2VJc2FTZXJpYWx8VFJVRQ0KPiArIWVsc2UNCj4gKyAgZ0VmaVNlcmlhbFBvcnRUb2tlblNw YWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlSXNhU2VyaWFsfEZBTFNFDQo+ICshZW5kaWYNCj4gKyFp ZiAkKFVTQl9TRVJJQUxfU1RBVFVTX0NPREVfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIGdFZmlTZXJp YWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVVzYlNlcmlhbHxUUlVFDQo+ICsh ZWxzZQ0KPiArICBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VV c2JTZXJpYWx8RkFMU0UNCj4gKyFlbmRpZg0KPiArIWlmICQoUkFNX1NFUklBTF9TVEFUVVNfQ09E RV9FTkFCTEUpID09IFRSVUUNCj4gKyAgZ0VmaVNlcmlhbFBvcnRUb2tlblNwYWNlR3VpZC5QY2RT dGF0dXNDb2RlVXNlUmFtfFRSVUUNCj4gKyFlbHNlDQo+ICsgIGdFZmlTZXJpYWxQb3J0VG9rZW5T cGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVJhbXxGQUxTRQ0KPiArIWVuZGlmDQo+ICsNCj4gKw0K PiArICAjIyBUaGlzIFBDRCBzcGVjaWZpZXMgd2hldGhlciBQUzIga2V5Ym9hcmQgZG9lcyBhIGV4 dGVuZGVkIHZlcmlmaWNhdGlvbg0KPiBkdXJpbmcgc3RhcnQuDQo+ICsNCj4gZ0VmaU1kZU1vZHVs ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBzMktiZEV4dGVuZGVkVmVyaWZpY2F0aW9ufEZBTFNFDQo+ ICsNCj4gKyAgIyMgVGhpcyBQQ0Qgc3BlY2lmaWVzIHdoZXRoZXIgUFMyIG1vdXNlIGRvZXMgYSBl eHRlbmRlZCB2ZXJpZmljYXRpb24NCj4gZHVyaW5nIHN0YXJ0Lg0KPiArDQo+IGdFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQczJNb3VzZUV4dGVuZGVkVmVyaWZpY2F0aW9ufEZBDQo+ IExTRQ0KPiArDQo+ICshaWYgJChWQVJJQUJMRV9JTkZPX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBn RWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmFyaWFibGVDb2xsZWN0U3RhdGlzdGlj c3xUUlVFDQo+ICshZWxzZQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNk VmFyaWFibGVDb2xsZWN0U3RhdGlzdGljc3xGQUxTRQ0KPiArIWVuZGlmDQo+ICsNCj4gKyAgZ0Vm aUNwdVRva2VuU3BhY2VHdWlkLlBjZENwdVNtbUJsb2NrU3RhcnR1cFRoaXNBcHxUUlVFDQo+ICsN Cj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpDQo+ICsgIGdVZWZpQ3B1UGtnVG9rZW5TcGFj ZUd1aWQuUGNkQ3B1U21tRGVidWd8VFJVRQ0KPiArIWVuZGlmDQo+ICsNCj4gK1tQY2RzRml4ZWRB dEJ1aWxkLmNvbW1vbl0NCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ICsj ICQoRkxBU0hfUkVHSU9OX1ZMVk1JQ1JPQ09ERV9CQVNFKQ0KPiArDQo+IGdGc3BXcmFwcGVyVG9r ZW5TcGFjZUd1aWQuUGNkQ3B1TWljcm9jb2RlUGF0Y2hBZGRyZXNzfDB4RkZDMDAwMDANCj4gKyMg JChGTEFTSF9SRUdJT05fVkxWTUlDUk9DT0RFX1NJWkUpDQo+ICsNCj4gZ0ZzcFdyYXBwZXJUb2tl blNwYWNlR3VpZC5QY2RDcHVNaWNyb2NvZGVQYXRjaFJlZ2lvblNpemV8MHgwMDA0MDAwDQo+IDAN Cj4gKyAgZ0ZzcFdyYXBwZXJUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE1pY3JvQ29kZU9mZnNldHww eDYwDQo+ICsjICQoRkxBU0hfQVJFQV9CQVNFX0FERFJFU1MpDQo+ICsgIGdGc3BXcmFwcGVyVG9r ZW5TcGFjZUd1aWQuUGNkRmxhc2hDb2RlQ2FjaGVBZGRyZXNzfDB4RkY4MDAwMDANCj4gKyMgJChG TEFTSF9BUkVBX1NJWkUpDQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hD b2RlQ2FjaGVTaXplfDB4MDA4MDAwMDANCj4gKyMgJChGTEFTSF9SRUdJT05fRlNQQklOX0JBU0Up DQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdkZzcEJhc2V8MHhGRkND MDAwMA0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJV RQ0KPiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUNCj4gKyAgIyBpbiBGU1AsIHdo ZW4gdGhpcyBnb3QgdXNlZCwgdGhlIG1lbW9yeSBhbHJlYWR5IGlzIHVwDQo+ICsgIGdFZmlDcHVU b2tlblNwYWNlR3VpZC5QY2RUZW1wb3JhcnlSYW1CYXNlfDB4MDAwODAwMDANCj4gKyFlbHNlDQo+ ICsgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5QY2RUZW1wb3JhcnlSYW1CYXNlfDB4RkVGODAwMDAN Cj4gKyFlbmRpZg0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkVGVtcG9yYXJ5UmFtU2l6 ZXwweDAwMDEwMDAwDQo+ICsNCj4gKyFlbHNlDQo+ICsgICFpZiAkKE1JTk5PVzJfRlNQX0JVSUxE KSA9PSBUUlVFDQo+ICsgICAgZ0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZFRlbXBvcmFyeVJhbUJh c2V8MHgwMDA4MDAwMA0KPiArICAhZWxzZQ0KPiArICAgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5Q Y2RUZW1wb3JhcnlSYW1CYXNlfDB4RkVGODAwMDANCj4gKyAgIWVuZGlmDQo+ICsgIGdFZmlDcHVU b2tlblNwYWNlR3VpZC5QY2RUZW1wb3JhcnlSYW1TaXplfDB4MDAwMTAwMDANCj4gKyAgZ0VmaUNw dVRva2VuU3BhY2VHdWlkLlBjZFBlaVRlbXBvcmFyeVJhbVN0YWNrU2l6ZXwweDNDMDANCj4gKyFl bmRpZg0KPiArDQo+ICsNCj4gKyFpZiAkKFNFQ1VSRV9CT09UX0VOQUJMRSkgPT0gVFJVRQ0KPiAr ICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4VmFyaWFibGVTaXplfDB4MjIw MDANCj4gKyFlbHNlDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhW YXJpYWJsZVNpemV8MHg0MDAwDQo+ICshZW5kaWYNCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZEh3RXJyU3RvcmFnZVNpemV8MHgwMDAwMDgwMA0KPiArDQo+IGdFZmlNZGVN b2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhIYXJkd2FyZUVycm9yVmFyaWFibGVTaXplfDB4 NA0KPiAwMA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1SUVEUmFtU2l6ZXwweDQw MDAwMA0KPiArDQo+IGdFZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZFMzQWNwaVJlc2VydmVkTWVtb3J5DQo+IFNpemV8MHgxMDAwMA0KPiArICBnRWZpTWRlTW9kdWxl UGtnVG9rZW5TcGFjZUd1aWQuUGNkU3JJb3ZTdXBwb3J0fEZBTFNFDQo+ICsgIGdFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RBcmlTdXBwb3J0fEZBTFNFDQo+ICsgIGdFZmlDcHVUb2tl blNwYWNlR3VpZC5QY2RDcHVTbW1BcFN5bmNUaW1lb3V0fDEwMDANCj4gKyFpZiAkKFM0X0VOQUJM RSkgPT0gVFJVRQ0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RSZXNl dE9uTWVtb3J5VHlwZUluZm9ybWF0aW9uQw0KPiBoYW5nZXxUUlVFDQo+ICshZWxzZQ0KPiArDQo+ IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RSZXNldE9uTWVtb3J5VHlwZUluZm9y bWF0aW9uQw0KPiBoYW5nZXxGQUxTRQ0KPiArIWVuZGlmDQo+ICshaWYgJChUQVJHRVQpID09IFJF TEVBU0UNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNr fDB4MA0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUmVwb3J0U3RhdHVzQ29kZVBy b3BlcnR5TWFza3wweDMNCj4gKyFlbHNlDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2REZWJ1Z1Byb3BlcnR5TWFza3wweDJGDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RSZXBvcnRTdGF0dXNDb2RlUHJvcGVydHlNYXNrfDB4MDcNCj4gKyFlbmRpZg0KPiArIWlmICQo UEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RQZXJmb3JtYW5jZUxpYnJhcnlQcm9wZXJ0eU1hc2t8MHgxDQo+ICsNCj4gZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heFBlaVBlcmZvcm1hbmNlTG9nRW50cmllc3w2MA0K PiArIWVuZGlmDQo+ICsNCj4gKw0KPiBnRWZpSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RFYmRhUmVzZXJ2ZWRNZW1vcnlTaQ0KPiB6ZXwweDEwMDAwDQo+ICsNCj4gZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZExvYWRNb2R1bGVBdEZpeEFkZHJlc3NFbmFi bGV8JCgNCj4gVE9QX01FTU9SWV9BRERSRVNTKQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkQnJvd3NlclN1YnRpdGxlVGV4dENvbG9yfDB4MA0KPiArICBnRWZpTWRlTW9k dWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkQnJvd3NlckZpZWxkVGV4dENvbG9yfDB4MDENCj4gKyAg Z0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZENwdUlFREVuYWJsZWR8VFJVRQ0KPiArDQo+IGdFZmlJ bnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJpb3NWaWRlb0NoZWNrVmJl RW5hDQo+IGJsZXxUUlVFDQo+ICsNCj4gZ0VmaUludGVsRnJhbWV3b3JrTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkQmlvc1ZpZGVvQ2hlY2tWZ2FFbmFiDQo+IGxlfFRSVUUNCj4gKw0KPiArIWlm ICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHgxNw0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkUmVwb3J0U3RhdHVzQ29kZVByb3BlcnR5TWFza3wweDA3DQo+ICsNCj4gZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlcmlhbFVzZUhhcmR3YXJlRmxvd0NvbnRyb2x8 RkFMDQo+IFNFDQo+ICsNCj4gZ0VmaVNvdXJjZUxldmVsRGVidWdQa2dUb2tlblNwYWNlR3VpZC5Q Y2REZWJ1Z0xvYWRJbWFnZU1ldGhvZHwyDQo+ICshZW5kaWYNCj4gKw0KPiArICAjDQo+ICsgICMg U2V0IFNNTSBzdGFjayBzaXplIHRvIDE2IEtCLg0KPiArICAjDQo+ICsgIGdVZWZpQ3B1UGtnVG9r ZW5TcGFjZUd1aWQuUGNkQ3B1U21tU3RhY2tTaXplfDB4NDAwMA0KPiArDQo+ICsgICMNCj4gKyAg IyBDbGVhciB1bnVzZWQgc2luZ2xlIGNlcnRpZmljYXRlIFBDRA0KPiArICAjDQo+ICsgIGdFZmlT ZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBrY3M3Q2VydEJ1ZmZlcnx7MH0NCj4gKw0KPiAr ICAjDQo+ICsgICMgTG9jayBhbGwgdXBkYXRhYmxlIGZpcm13YXJlIGRldmljZXMgYXQgRW5kIG9m IERYRQ0KPiArICAjDQo+ICsNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERl dmljZUxvY2tFdmVudEd1aWR8e0dVSUQoZ0VmaUUNCj4gbmRPZkR4ZUV2ZW50R3JvdXBHdWlkKX0N Cj4gKyMNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZUxvY2tFdmVu dEd1aWR8e0dVSUQoZ0VmaUUNCj4gdmVudFJlYWR5VG9Cb290R3VpZCl9DQo+ICsNCj4gKyAgIw0K PiArICAjIFNldCBQY2RGbXBEZXZpY2VUZXN0S2V5U2hhMjU2RGlnZXN0IHRvIHswfSB0byBkaXNh YmxlIHRlc3Qga2V5DQo+IGRldGVjdGlvbg0KPiArICAjDQo+ICsjICBnRm1wRGV2aWNlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlVGVzdEtleVNoYTI1NkRpZ2VzdHx7MH0NCj4gKw0KPiAr W1BjZHNGaXhlZEF0QnVpbGQuSUEzMl0NCj4gKyFpZiAkKFRBUkdFVCkgPT0gUkVMRUFTRQ0KPiAr ICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHgwDQo+ICsg IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RSZXBvcnRTdGF0dXNDb2RlUHJvcGVydHlNYXNr fDB4Mw0KPiArIWVsc2UNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJv cGVydHlNYXNrfDB4MkUNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlcG9ydFN0 YXR1c0NvZGVQcm9wZXJ0eU1hc2t8MHgwNw0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKFJFQ09W RVJZX0VOQUJMRSkNCj4gKw0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUmVj b3ZlcnlGaWxlTmFtZXxMIlZMVjJSRUMuQ2FwDQo+ICINCj4gKyFlbmRpZg0KPiArDQo+ICtbUGNk c1BhdGNoYWJsZUluTW9kdWxlLmNvbW1vbl0NCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlk LlBjZERlYnVnUHJpbnRFcnJvckxldmVsfDB4ODAzODA1YzYNCj4gKw0KPiBnRWZpTWRlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzfDB4JChQTEFURk9STV9QQw0KPiBJ RVhQUkVTU19CQVNFKQ0KPiArDQo+IGdFZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZExlZ2FjeUJpb3NDYWNoZUxlZ2FjeQ0KPiBSZWdpb258RkFMU0UNCj4gKw0KPiAr ICAjIyBUaGlzIFBDRCBzcGVjaWZpZXMgd2hldGhlciB0byB1c2UgdGhlIG9wdGltaXplZCB0aW1p bmcgZm9yIGJlc3QgUFMyDQo+IGRldGVjdGlvbiBwZXJmb3JtYW5jZS4NCj4gKyAgIyAgTm90ZSB0 aGlzIFBDRCBjb3VsZCBiZSBzZXQgdG8gVFJVRSBmb3IgYmVzdCBib290IHBlcmZvcm1hbmNlIGFu ZCBzZXQgdG8NCj4gRkFMU0UgZm9yIGJlc3QgZGV2aWNlIGNvbXBhdGliaWxpdHkuDQo+ICsgIGdF ZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGYXN0UFMyRGV0ZWN0aW9ufFRSVUUNCj4g Kw0KPiArDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjDQo+ICsgICMNCj4gKyAgIyBCZWdpbiBvZiBNUkMgcGFyYW1ldGVycw0KPiArICAjDQo+ICsN Cj4gKyAgIyMgTWVtb3J5IFBhcmFtZXRlciBQYXRjaGFibGUuDQo+ICsgICMgIEZBTFNFIC0gTVJD IFBhcmFtZXRlcnMgYXJlIGZpeGVkIGZvciBNaW5ub3dCb2FyZCBNYXg8QlI+DQo+ICsgICMgIFRS VUUgIC0gTVJDIFBhcmFtZXRlcnMgYXJlIHBhdGNoYWJsZSBieSBmb2xsb3dpbmcgUENEczxCUj4N Cj4gKyAgIyBAUHJvbXB0IE1lbW9yeSBQYXJhbWV0ZXIgUGF0Y2hhYmxlLg0KPiArICAjIEBWYWxp ZExpc3QgMHg4MDAwMDAwMSB8IDAsIDENCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RNZW1vcnlQYXJhbWV0ZXJQYXRjaGFibGV8RkFMU0UNCj4gKw0KPiArICAjIyBNZW1vcnkg RG93biBvciBESU1NIHNsb3QuDQo+ICsgICMgIDAgLSBESU1NPEJSPg0KPiArICAjICAxIC0gTWVt b3J5IERvd248QlI+DQo+ICsgICMgQFByb21wdCBFbmFibGUgTWVtb3J5IERvd24NCj4gKyAgIyBA VmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkRW5hYmxlTWVtb3J5RG93bnwxDQo+ICsNCj4gKyAgIyMgVGhlIHNwZWVkIG9mIERS QU0uDQo+ICsgICMgIDAgLSA4MDAgTUh6PEJSPg0KPiArICAjICAxIC0gMTA2NiBNSHo8QlI+DQo+ ICsgICMgIDIgLSAxMzMzIE1IejxCUj4NCj4gKyAgIyAgMyAtIDE2MDAgTUh6PEJSPg0KPiArICAj IEBQcm9tcHQgRFJBTSBTcGVlZA0KPiArICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDEs IDIsIDMNCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REcmFtU3BlZWR8MQ0K PiArDQo+ICsgICMjIERSQU0gVHlwZS4NCj4gKyAgIyAgMCAtIEREUjM8QlI+DQo+ICsgICMgIDEg LSBERFIzTDxCUj4NCj4gKyAgIyAgMiAtIEREUjNVPEJSPg0KPiArICAjICAzIC0gRERSM0FsbDxC Uj4NCj4gKyAgIyAgNCAtIExQRERSMjxCUj4NCj4gKyAgIyAgNSAtIExQRERSMzxCUj4NCj4gKyAg IyAgNiAtIEREUjQ8QlI+DQo+ICsgICMgQFByb21wdCBEUkFNIFR5cGUNCj4gKyAgIyBAVmFsaWRM aXN0IDB4ODAwMDAwMDEgfCAwLCAxLCAyLCAzLCA0LCA1LCA2DQo+ICsgIGdWbHZSZWZDb2RlUGtn VG9rZW5TcGFjZUd1aWQuUGNkRHJhbVR5cGV8MQ0KPiArDQo+ICsgICMjIFBsZWFzZSBwb3B1bGF0 ZSBESU1NIHNsb3QgMCBpZiBvbmx5IG9uZSBESU1NIGlzIHN1cHBvcnRlZC4NCj4gKyAgIyAgMCAt IERpc2FibGU8QlI+DQo+ICsgICMgIDEgLSBFbmFibGU8QlI+DQo+ICsgICMgQFByb21wdCBESU1N IDAgRW5hYmxlDQo+ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMQ0KPiArICBnVmx2 UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZURpbW0wfDENCj4gKw0KPiArICAjIyBE SU1NIDEgaGFzIHRvIGJlIGlkZW50aWNhbCB0byBESU1NIDAuDQo+ICsgICMgIDAgLSBEaXNhYmxl PEJSPg0KPiArICAjICAxIC0gRW5hYmxlPEJSPg0KPiArICAjIEBQcm9tcHQgRElNTSAxIEVuYWJs ZSBUeXBlDQo+ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMQ0KPiArICBnVmx2UmVm Q29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZURpbW0xfDANCj4gKw0KPiArICAjIyBEUkFN IGRldmljZSBkYXRhIHdpZHRoLg0KPiArICAjICAwIC0geDg8QlI+DQo+ICsgICMgIDEgLSB4MTY8 QlI+DQo+ICsgICMgIDIgLSB4MzI8QlI+DQo+ICsgICMgQFByb21wdCBESU1NX0RXSURUSA0KPiAr ICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDEsIDINCj4gKyAgZ1ZsdlJlZkNvZGVQa2dU b2tlblNwYWNlR3VpZC5QY2REaW1tRGF0YVdpZHRofDENCj4gKw0KPiArICAjIyBEUkFNIGRldmlj ZSBkYXRhIGRlbnNpdHkuDQo+ICsgICMgIDAgLSAxIEdiaXQ8QlI+DQo+ICsgICMgIDEgLSAyIEdi aXQ8QlI+DQo+ICsgICMgIDIgLSA0IEdiaXQ8QlI+DQo+ICsgICMgIDMgLSA4IEdiaXQ8QlI+DQo+ ICsgICMgQFByb21wdCBESU1NX0RlbnNpdHkNCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEg fCAwLCAxLCAyLCAzDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGltbURl bnNpdHl8Mg0KPiArDQo+ICsgICMjIERSQU0gZGV2aWNlIGRhdGEgYnVzIHdpZHRoLg0KPiArICAj ICAwIC0gOCBiaXRzPEJSPg0KPiArICAjICAxIC0gMTYgYml0czxCUj4NCj4gKyAgIyAgMiAtIDMy IGJpdHM8QlI+DQo+ICsgICMgIDMgLSA2NCBiaXRzPEJSPg0KPiArICAjIEBQcm9tcHQgRElNTV9C dXNXaWR0aA0KPiArICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDEsIDIsIDMNCj4gKyAg Z1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REaW1tQnVzV2lkdGh8Mw0KPiArDQo+ICsg ICMjIFJhbmtzIFBlciBESU1NIG9yIFNpZGVzIFBlciBESU1NLg0KPiArICAjICAwIC0gMSBSYW5r PEJSPg0KPiArICAjICAxIC0gMiBSYW5rczxCUj4NCj4gKyAgIyBAUHJvbXB0IERJTU1fU2lkZXMN Cj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxDQo+ICsgIGdWbHZSZWZDb2RlUGtn VG9rZW5TcGFjZUd1aWQuUGNkUmFua1BlckRpbW18MA0KPiArDQo+ICsgICMjIHRDTC48QlI+PEJS Pg0KPiArICAjIEBQcm9tcHQgdENMDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQu UGNkVGNsfDExDQo+ICsNCj4gKyAgIyMgdFJQIGFuZCB0UkNEIGluIERSQU0gY2xrIC0gNToxMi41 bnMsIDY6MTVucywgZXRjLg0KPiArICAjIEBQcm9tcHQgdFJQX3RSQ0QNCj4gKyAgZ1ZsdlJlZkNv ZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RUcnBUcmNkfDExDQo+ICsNCj4gKyAgIyMgdFdSIGluIERS QU0gY2xrLg0KPiArICAjIEBQcm9tcHQgdFdSDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFj ZUd1aWQuUGNkVHdyfDEyDQo+ICsNCj4gKyAgIyMgdFdUUiBpbiBEUkFNIGNsay4NCj4gKyAgIyBA UHJvbXB0IHRXVFINCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RUd3RyfDYN Cj4gKw0KPiArICAjIyB0UlJEIGluIERSQU0gY2xrLg0KPiArICAjIEBQcm9tcHQgdFJSRA0KPiAr ICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRycmR8Ng0KPiArDQo+ICsgICMjIHRS VFAgaW4gRFJBTSBjbGsuDQo+ICsgICMgQFByb21wdCB0UlRQDQo+ICsgIGdWbHZSZWZDb2RlUGtn VG9rZW5TcGFjZUd1aWQuUGNkVHJ0cHw2DQo+ICsNCj4gKyAgIyMgdEZBVyBpbiBEUkFNIGNsay4N Cj4gKyAgIyBAUHJvbXB0IHRGQVcNCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RUZmF3fDMyDQo+ICsNCj4gKyAgIw0KPiArICAjIEVuZCBvZiBNUkMgcGFyYW1ldGVycy4NCj4g KyAgIw0KPiArDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K PiArDQo+ICtbUGNkc0R5bmFtaWNIaWkuY29tbW9uLkRFRkFVTFRdDQo+ICsNCj4gZ0VmaU1kZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZFBsYXRmb3JtQm9vdFRpbWVPdXR8TCJUaW1lb3V0InxnRWZpR2xv DQo+IGJhbFZhcmlhYmxlR3VpZHwweDB8NSAjIFZhcmlhYmxlOiBMIlRpbWVvdXQiDQo+ICsNCj4g Z0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEhhcmR3YXJlRXJyb3JSZWNvcmRMZXZlbHxMIkh3 RXJyUmVjU3VwDQo+IHBvcnQifGdFZmlHbG9iYWxWYXJpYWJsZUd1aWR8MHgwfDEgIyBWYXJpYWJs ZTogTCJId0VyclJlY1N1cHBvcnQiDQo+ICsNCj4gK1tQY2RzRHluYW1pY0RlZmF1bHQuY29tbW9u LkRFRkFVTFRdDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFMzQm9v dFNjcmlwdFRhYmxlUHJpdmF0ZURhdGFQdHJ8MHgNCj4gMA0KPiArICAhaWYgJChUUE1fRU5BQkxF RCkgPT0gVFJVRQ0KPiArICAgIGdFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRwbUlu c3RhbmNlR3VpZHx7MHg3YiwgMHgzYSwgMHhjZCwNCj4gMHg3MiwgMHhBNSwgMHhGRSwgMHg1ZSwg MHg0ZiwgMHg5MSwgMHg2NSwgMHg0ZCwgMHhkMSwgMHgyMSwgMHg4NywgMHhiYiwgMHgxM30NCj4g KyAgIWVuZGlmDQo+ICsNCj4gKyAgIyMgVGhpcyBQQ0QgZGVmaW5lcyB0aGUgdmlkZW8gaG9yaXpv bnRhbCByZXNvbHV0aW9uLg0KPiArICAjICBUaGlzIFBDRCBjb3VsZCBiZSBzZXQgdG8gMCB0aGVu IHZpZGVvIHJlc29sdXRpb24gY291bGQgYmUgYXQgaGlnaGVzdA0KPiByZXNvbHV0aW9uLg0KPiAr ICAjZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZpZGVvSG9yaXpvbnRhbFJlc29s dXRpb258MA0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmlkZW9Ib3Jp em9udGFsUmVzb2x1dGlvbnw4MDANCj4gKyAgIyMgVGhpcyBQQ0QgZGVmaW5lcyB0aGUgdmlkZW8g dmVydGljYWwgcmVzb2x1dGlvbi4NCj4gKyAgIyAgVGhpcyBQQ0QgY291bGQgYmUgc2V0IHRvIDAg dGhlbiB2aWRlbyByZXNvbHV0aW9uIGNvdWxkIGJlIGF0IGhpZ2hlc3QNCj4gcmVzb2x1dGlvbi4N Cj4gKyAgI2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RWaWRlb1ZlcnRpY2FsUmVz b2x1dGlvbnwwDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RWaWRlb1Zl cnRpY2FsUmVzb2x1dGlvbnw2MDANCj4gKw0KPiArICAjIyBUaGlzIFBDRCBkZWZpbmVzIHRoZSBD b25zb2xlIG91dHB1dCBjb2x1bW4gYW5kIHRoZSBkZWZhdWx0IHZhbHVlIGlzIDI1DQo+IGFjY29y ZGluZyB0byBVRUZJIHNwZWMuDQo+ICsgICMgIFRoaXMgUENEIGNvdWxkIGJlIHNldCB0byAwIHRo ZW4gY29uc29sZSBvdXRwdXQgY291bGQgYmUgYXQgbWF4IGNvbHVtbg0KPiBhbmQgbWF4IHJvdy4N Cj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENvbk91dFJvd3wzMQ0KPiAr ICAjIyBUaGlzIFBDRCBkZWZpbmVzIHRoZSBDb25zb2xlIG91dHB1dCByb3cgYW5kIHRoZSBkZWZh dWx0IHZhbHVlIGlzIDgwDQo+IGFjY29yZGluZyB0byBVRUZJIHNwZWMuDQo+ICsgICMgIFRoaXMg UENEIGNvdWxkIGJlIHNldCB0byAwIHRoZW4gY29uc29sZSBvdXRwdXQgY291bGQgYmUgYXQgbWF4 IGNvbHVtbg0KPiBhbmQgbWF4IHJvdy4NCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZENvbk91dENvbHVtbnwxMDANCj4gKw0KPiArICAjIyBUaGUgUENEIGlzIHVzZWQgdG8g c3BlY2lmeSB0aGUgdmlkZW8gaG9yaXpvbnRhbCByZXNvbHV0aW9uIG9mIHRleHQgc2V0dXAuDQo+ ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldHVwVmlkZW9Ib3Jpem9u dGFsUmVzb2x1dGlvbnw4MA0KPiAwDQo+ICsgICMjIFRoZSBQQ0QgaXMgdXNlZCB0byBzcGVjaWZ5 IHRoZSB2aWRlbyB2ZXJ0aWNhbCByZXNvbHV0aW9uIG9mIHRleHQgc2V0dXAuDQo+ICsNCj4gZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldHVwVmlkZW9WZXJ0aWNhbFJlc29sdXRp b258NjAwDQo+ICsgICMjIFRoZSBQQ0QgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBjb25zb2xlIG91 dHB1dCBjb2x1bW4gb2YgdGV4dCBzZXR1cC4NCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZFNldHVwQ29uT3V0Q29sdW1ufDEwMA0KPiArICAjIyBUaGUgUENEIGlzIHVzZWQg dG8gc3BlY2lmeSB0aGUgY29uc29sZSBvdXRwdXQgY29sdW1uIG9mIHRleHQgc2V0dXAuDQo+ICsg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXR1cENvbk91dFJvd3wzMQ0KPiAr DQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBnRWZpU2VjdXJpdHlQa2dUb2tl blNwYWNlR3VpZC5QY2RUcG1Jbml0aWFsaXphdGlvblBvbGljeXwxDQo+ICsgIGdFZmlTZWN1cml0 eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRwbVNjcnRtUG9saWN5fDENCj4gKyFlbmRpZg0KPiArDQo+ ICtbUGNkc0R5bmFtaWNFeERlZmF1bHQuY29tbW9uLkRFRkFVTFRdDQo+ICsgIGdFZmlWTFZUb2tl blNwYWNlR3VpZC5QY2RUQ1NtYmFJb0Jhc2VBZGRyZXNzfDB4MTA0MA0KPiArICBnRWZpVkxWVG9r ZW5TcGFjZUd1aWQuUGNkRW1tY01hbnVmYWN0dXJlcklkfDANCj4gKyAgZ0VmaVZMVlRva2VuU3Bh Y2VHdWlkLlBjZFByb2R1Y3RTZXJpYWxOdW1iZXJ8MA0KPiArICBnRWZpVkxWVG9rZW5TcGFjZUd1 aWQuUGNkTWVhc3VyZWRCb290RW5hYmxlfFRSVUUNCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlk LlBjZEZUUE1FcnJvck9jY3VyfEZBTFNFDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RG VFBNRXJyb3JTa2lwfEZBTFNFDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNQ29t bWFuZHwwDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNUmVzcG9uc2V8MA0KPiAr ICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkRlRQTU5vdFJlc3BvbmR8RkFMU0UNCj4gKyAgZ0Vm aVZMVlRva2VuU3BhY2VHdWlkLlBjZEZUUE1TdGF0dXN8MA0KPiArDQo+IGdFZmlNZGVNb2R1bGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RTM0Jvb3RTY3JpcHRUYWJsZVByaXZhdGVTbW1EYXRhUA0KPiB0 cnwwDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFMzQm9vdFNjcmlw dFRhYmxlUHJpdmF0ZURhdGFQdHJ8MA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1 UzNEYXRhQWRkcmVzc3wwDQo+ICsgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5QY2RDcHVIb3RQbHVn RGF0YUFkZHJlc3N8MA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1Q2FsbGJhY2tT aWduYWx8MA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1Q29uZmlnQ29udGV4dEJ1 ZmZlcnwwDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RDcHVMb2NrQm94RGF0YUFkZHJl c3N8MA0KPiArICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkQ3B1U21yYW1DcHVEYXRhQWRkcmVz c3wwDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RDcHVMb2NrQm94U2l6ZXwwDQo+ICsN Cj4gK1tQY2RzRHluYW1pY0V4RGVmYXVsdC5YNjQuREVGQVVMVF0NCj4gKyFpZiAkKFJFQ09WRVJZ X0VOQUJMRSkNCj4gKw0KPiBnRWZpU2lnbmVkQ2Fwc3VsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVk a2lpU3lzdGVtRmlybXdhcmVGaWxlR3VpZHx7Rw0KPiBVSUQoIkFGOUM5RUIyLTEyQUQtNEQzRS1B NEQ0LTk2RjZDOTk2NjIxNSIpfXxWT0lEKnwweDEwDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZFN5c3RlbUZtcENhcHN1bGVJbWFnZVR5cGVJZEd1DQo+IGlkfHtHVUlE KCI0MDk2MjY3Yi1kYTBhLTQyZWItYjVlYi1mZWYzMWQyMDdjYjQiKX18Vk9JRCp8MHgxMA0KPiAr IWVuZGlmDQo+ICsNCj4gK1tDb21wb25lbnRzLklBMzJdDQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUw0KPiBl Y0NvcmUuaW5mDQo+ICsNCj4gKyAgIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUNCj4g KyAgSW50ZWxGc3BXcmFwcGVyUGtnL0ZzcFdyYXBwZXJTZWNDb3JlL0ZzcFdyYXBwZXJTZWNDb3Jl LmluZiB7DQo+ICsgICAgIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiArDQo+ICsgICAgPExpYnJh cnlDbGFzc2VzPg0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNl cmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICsgICAgIWVuZGlmDQo+ ICsgIH0NCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9Cb290TW9kZVBlaS9Cb290 TW9kZVBlaS5pbmYNCj4gKyAgSW50ZWxGc3BXcmFwcGVyUGtnL0ZzcEluaXRQZWkvRnNwSW5pdFBl aS5pbmYgew0KPiArICAgICFpZiAkKFRBUkdFVCkgPT0gREVCVUcNCj4gKyAgICA8TGlicmFyeUNs YXNzZXM+DQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFs UG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyAgICAhZW5kaWYNCj4gKyAg fQ0KPiArICAhZW5kaWYNCj4gKw0KPiArICBNZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFpbi5p bmYgew0KPiArIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiArICAgIDxQY2RzRml4ZWRBdEJ1aWxk Pg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNr fDB4MkUNCj4gKyFlbmRpZg0KPiArICAgIDxQY2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAg ICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHg4MDAw MDA0Ng0KPiArICB9DQo+ICsNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9Nb25vU3RhdHVzQ29k ZS9Nb25vU3RhdHVzQ29kZS5pbmYgew0KPiArIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiArICAg IDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZERlYnVnUHJvcGVydHlNYXNrfDB4MkUNCj4gKyFlbmRpZg0KPiArICB9DQo+ICsNCj4gJChQTEFU Rk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL00N Cj4gZW1vcnlJbml0LmluZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAg ICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgw MDAwMDQ2DQo+ICsgICAgPEJ1aWxkT3B0aW9ucz4NCj4gKyAgICAgICFpZiAkKEZUUE1fRU5BQkxF KT09VFJVRQ0KPiArICAgICAgICAqXypfSUEzMl9DQ19GTEFHUyA9IC9EIEZUUE1fRU5BQkxFDQo+ ICsgICAgICAhZW5kaWYNCj4gKyAgfQ0KPiArDQo+ICshaWYgJChSQ19CSU5BUllfUkVMRUFTRSkg PT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVD VFVSRSkkKFRBUkdFVCkvSUEzMi9TDQo+IGVDVW1hLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKyFp ZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICskKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8k KERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvZg0KPiBUUE1Jbml0UGVpbS5pbmYNCj4g KyFlbmRpZg0KPiArDQo+ICshaWYgJChSQ19CSU5BUllfUkVMRUFTRSkgPT0gVFJVRQ0KPiArICAk KFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtUGVpL1BsYXRmb3JtUGVpLmluZiB7DQo+ICsgICAg PEJ1aWxkT3B0aW9ucz4NCj4gKyAgICAgICpfKl9JQTMyX0NDX0ZMQUdTICAgICAgPSAtRFJDX0JJ TkFSWV9SRUxFQVNFDQo+ICsgICFpZiAkKFRBUkdFVCkgPT0gREVCVUcNCj4gKyAgICAgIDxQY2Rz Rml4ZWRBdEJ1aWxkPg0KPiArICAgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVi dWdQcm9wZXJ0eU1hc2t8MHgyRQ0KPiArICAhZW5kaWYNCj4gKyAgfQ0KPiArIWVuZGlmDQo+ICsN Cj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKyAgU291cmNlTGV2ZWxE ZWJ1Z1BrZy9EZWJ1Z0FnZW50UGVpL0RlYnVnQWdlbnRQZWkuaW5mew0KPiArICAgIDxMaWJyYXJ5 Q2xhc3Nlcz4NCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9C YXNlUGNkTGliTnVsbC5pbmYNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVsRGVidWdQ a2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NlY1BlaURlYnVnQWcNCj4gZW50TGliLmluZg0KPiArDQo+ IFBsYXRmb3JtSG9va0xpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlUGxhdGZvcm1Ib29rTGli TnVsbC9CYXNlUGxhDQo+IHRmb3JtSG9va0xpYk51bGwuaW5mDQo+ICsNCj4gU2VyaWFsUG9ydExp YnxNZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlU2VyaWFsUG9ydExpYjE2NTUwL0Jhc2VTZXJpYWxQ b3J0DQo+IExpYjE2NTUwLmluZg0KPiArICAgIH0NCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChG VFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQo RFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9UDQo+IHBtMkRldmljZVNlQ1BlaS5pbmYN Cj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBTZWN1 cml0eVBrZy9UY2cvUGh5c2ljYWxQcmVzZW5jZVBlaS9QaHlzaWNhbFByZXNlbmNlUGVpLmluZg0K PiArICBTZWN1cml0eVBrZy9UY2cvVGNnUGVpL1RjZ1BlaS5pbmYgew0KPiArICAgIDxMaWJyYXJ5 Q2xhc3Nlcz4NCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNlTGli U2hhMS9IYXNoSW5zdGFuY2VMaWJTaGExLmluZg0KPiArDQo+IE5VTEx8U2VjdXJpdHlQa2cvTGli cmFyeS9IYXNoSW5zdGFuY2VMaWJTaGEyNTYvSGFzaEluc3RhbmNlTGliU2hhMjU2LmluDQo+IGYN Cj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9QZWlQY2RMaWIvUGVpUGNkTGliLmluZg0K PiArfQ0KPiArIWVuZGlmDQo+ICsNCj4gKyAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtSW5p dFBlaS9QbGF0Zm9ybUluaXRQZWkuaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxl Pg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxl dmVsfDB4ODAzODA1YzYNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICshaWYgJChUQVJHRVQp ICE9IFJFTEVBU0UNCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJT ZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArIWVuZGlmDQo+ICsg ICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExpYi5pbmYNCj4gKyAg fQ0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL0Z2SW5mb1BlaS9GdkluZm9QZWkuaW5mDQo+ICsN Cj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChU QVJHRVQpL0lBMzIvVmwNCj4gdkluaXRQZWltLmluZg0KPiArIWlmICQoUENJRVNDX0VOQUJMRSkg PT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVD VFVSRSkkKFRBUkdFVCkvSUEzMi9QDQo+IGNoRWFybHlJbml0UGVpbS5pbmYgew0KPiArICAgIDxQ Y2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHg4MDAwMDA0Ng0KPiArICB9DQo+ICshZW5kaWYNCj4g Kw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJH RVQpL0lBMzIvUA0KPiBjaEluaXRQZWltLmluZg0KPiArDQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBj aFNtYnVzQXJwRGlzYWJsZWQuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkv JChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hTcGlQZWltLmluZg0KPiAr DQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdF VCkvSUEzMi9QDQo+IGVpU21tQWNjZXNzLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BB Q0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9QDQo+IGVpU21tQ29udHJv bC5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvUGVpL1BjZC5pbmYNCj4gKw0K PiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQp L0lBMzIvQw0KPiBwdVBlaW0uaW5mDQo+ICsgIFVlZmlDcHVQa2cvQ3B1SW9QZWkvQ3B1SW9QZWku aW5mDQo+ICsgIFVlZmlDcHVQa2cvVW5pdmVyc2FsL0FjcGkvUzNSZXN1bWUyUGVpL1MzUmVzdW1l MlBlaS5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRF Q1RVUkUpJChUQVJHRVQpL0lBMzIvTQ0KPiBwUzMuaW5mDQo+ICsjDQo+ICQoUExBVEZPUk1fQklO QVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9QaQ0KPiBTbW1D b21tdW5pY2F0aW9uUGVpLmluZg0KPiArDQo+ICshaWYgJChSRUNPVkVSWV9FTkFCTEUpDQo+ICsg ICMNCj4gKyAgIyBSZWNvdmVyeQ0KPiArICAjDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFD S0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hVc2IuaW5mDQo+ ICsgIE1kZU1vZHVsZVBrZy9CdXMvUGNpL0VoY2lQZWkvRWhjaVBlaS5pbmYNCj4gKyAgTWRlTW9k dWxlUGtnL0J1cy9Vc2IvVXNiQnVzUGVpL1VzYkJ1c1BlaS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtn L0J1cy9Vc2IvVXNiQm90UGVpL1VzYkJvdFBlaS5pbmYNCj4gKyAgRmF0UGtnL0ZhdFBlaS9GYXRQ ZWkuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9DZEV4cHJlc3NQZWkvQ2RF eHByZXNzUGVpLmluZg0KPiArDQo+IFNpZ25lZENhcHN1bGVQa2cvVW5pdmVyc2FsL1JlY292ZXJ5 TW9kdWxlTG9hZFBlaS9SZWNvdmVyeU1vZHVsZUxvYQ0KPiBkUGVpLmluZiB7DQo+ICsgICAgPExp YnJhcnlDbGFzc2VzPg0KPiArDQo+IEZtcEF1dGhlbnRpY2F0aW9uTGlifFNlY3VyaXR5UGtnL0xp YnJhcnkvRm1wQXV0aGVudGljYXRpb25MaWJSc2EyMDQ4U2gNCj4gYTI1Ni9GbXBBdXRoZW50aWNh dGlvbkxpYlJzYTIwNDhTaGEyNTYuaW5mDQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkv UGVpUGNkTGliL1BlaVBjZExpYi5pbmYNCj4gKyAgfQ0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAk KENBUFNVTEVfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ2Fw c3VsZVBlaS9DYXBzdWxlUGVpLmluZg0KPiArIWVuZGlmDQo+ICsgIE1kZU1vZHVsZVBrZy9Db3Jl L0R4ZUlwbFBlaW0vRHhlSXBsLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArIWlm ICQoTFpNQV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBOVUxMfE1kZU1vZHVsZVBrZy9MaWJyYXJ5 L0x6bWFDdXN0b21EZWNvbXByZXNzTGliL0x6bWFDdXN0b21EZWMNCj4gb21wcmVzc0xpYi5pbmYN Cj4gKyFlbmRpZg0KPiArICB9DQo+ICsNCj4gKyBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1Zhcmlh YmxlL1BlaS9WYXJpYWJsZVBlaS5pbmYNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Zh dWx0VG9sZXJhbnRXcml0ZVBlaS9GYXVsdFRvbGVyYW50V3JpdGVQZWkuaW5mDQo+ICsNCj4gKyFp ZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICsgICBTZWN1cml0eVBrZy9UY2cvVGNnMlBlaS9U Y2cyUGVpLmluZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAgIGdF ZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgwMDAwMDQ2 DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5 L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ ICsNCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5XEhhc2hJbnN0YW5jZUxpYlNoYTEvSGFzaElu c3RhbmNlTGliU2hhMS5pbmYNCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaElu c3RhbmNlTGliU2hhMjU2L0hhc2hJbnN0YW5jZUxpYlNoYTI1Ni5pbg0KPiBmDQo+ICsgICAgICBQ Y2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExpYi5pbmYNCj4gKyAgfQ0KPiAr IWVuZGlmDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBTZWN1cml0eVBrZy9U Y2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnUGVpLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2Vz Pg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RMaWIuaW5m DQo+ICsgIH0NCj4gKyFlbmRpZg0KPiArIWlmICQoQUNQSTUwX0VOQUJMRSkgPT0gVFJVRQ0KPiAr DQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9GaXJtd2FyZVBlcmZvcm1hbmNlRGF0YVRh YmxlUGVpL0Zpcm13YQ0KPiByZVBlcmZvcm1hbmNlUGVpLmluZnsNCj4gKyAgICA8TGlicmFyeUNs YXNzZXM+DQo+ICsNCj4gVGltZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVs UGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKyAgfQ0KPiAr DQo+ICshZW5kaWYNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+ IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUmVwb3J0U3RhdHVzQ29kZVJvdXRlci9QZWkvUmVwb3J0 U3RhdHVzQ29kZQ0KPiBSb3V0ZXJQZWkuaW5mDQo+ICshZW5kaWYNCj4gK1tDb21wb25lbnRzLlg2 NF0NCj4gKyAgIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUNCj4gKyAgSW50ZWxGc3BX cmFwcGVyUGtnL0ZzcE5vdGlmeUR4ZS9Gc3BOb3RpZnlEeGUuaW5mIHsNCj4gKyAgICAhaWYgJChU QVJHRVQpID09IERFQlVHDQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAg IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgwMDAw MDQ2DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJy YXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5m DQo+ICsgICAgIWVuZGlmDQo+ICsgIH0NCj4gKw0KPiArICAhZW5kaWYNCj4gKyAgIw0KPiArICAj IEVESyBJSSBSZWxhdGVkIFBsYXRmb3JtIGNvZGVzDQo+ICsgICMNCj4gKyAgTWRlTW9kdWxlUGtn L0NvcmUvRHhlL0R4ZU1haW4uaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxlPg0K PiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVs fDB4ODAwMDAwNDYNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICshaWYgJChEWEVfQ1JDMzJf U0VDVElPTl9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBOVUxMfE1kZU1vZHVsZVBrZy9MaWJyYXJ5 L0R4ZUNyYzMyR3VpZGVkU2VjdGlvbkV4dHJhY3RMaWIvRHhlQ3JjMzJHDQo+IHVpZGVkU2VjdGlv bkV4dHJhY3RMaWIuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAkKExaTUFfRU5BQkxFKSA9PSBUUlVF DQo+ICsNCj4gTlVMTHxNZGVNb2R1bGVQa2cvTGlicmFyeS9Mem1hQ3VzdG9tRGVjb21wcmVzc0xp Yi9Mem1hQ3VzdG9tRGVjDQo+IG9tcHJlc3NMaWIuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAkKFRB UkdFVCkgIT0gUkVMRUFTRQ0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1 Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICshZW5kaWYN Cj4gKyAgfQ0KPiArDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9BY3BpL0Fj cGlTM1NhdmVEeGUvQWNwaVMzU2F2ZUR4ZS5pDQo+IG5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJs ZUluTW9kdWxlPg0KPiArICAgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQ cmludEVycm9yTGV2ZWx8MHhGMDAwMDA0Mw0KPiArICAgIDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiAr ICAgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHgy Nw0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAhaWYgJChUQVJHRVQpICE9IFJFTEVB U0UNCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0 L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArICAgICFlbmRpZg0KPiArICAgICAg IDxCdWlsZE9wdGlvbnM+DQo+ICsgICAgICAgIElDQzoqXypfKl9DQ19GTEFHUyA9IC1EIE1ERVBL R19OREVCVUcNCj4gKyAgICAgICAgR0NDOlJFTEVBU0VfKl8qX0NDX0ZMQUdTID0gLUQgTURFUEtH X05ERUJVRw0KPiArICB9DQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUENEL0R4ZS9QY2Qu aW5mIHsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBjZExpYk51bGwuaW5mDQo+ICsgIH0NCj4gKyAgSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL0NwdUlvRHhlL0NwdUlvRHhlLmluZg0KPiAr ICBVZWZpQ3B1UGtnL0NwdUlvMkR4ZS9DcHVJbzJEeGUuaW5mDQo+ICsNCj4gKw0KPiBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL1JlcG9ydFN0YXR1c0NvZGVSb3V0ZXIvUnVudGltZUR4ZS9SZXBvcnRT dA0KPiBhdHVzQ29kZVJvdXRlclJ1bnRpbWVEeGUuaW5mDQo+ICsNCj4gTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9TdGF0dXNDb2RlSGFuZGxlci9SdW50aW1lRHhlL1N0YXR1c0NvZGVIYW4NCj4gZGxl clJ1bnRpbWVEeGUuaW5mICB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArIWlmICQoVEFS R0VUKSAhPSBSRUxFQVNFDQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVn TGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyFlbmRpZg0K PiArICB9DQo+ICsNCj4gKyFpZiAkKENBUFNVTEVfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQ2Fwc3VsZVBlaS9DYXBzdWxlWDY0LmluZiB7DQo+ICsgICAgPExp YnJhcnlDbGFzc2VzPg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9Q ZWlQY2RMaWIuaW5mDQo+ICsNCj4gTWVtb3J5QWxsb2NhdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9Q ZWlNZW1vcnlBbGxvY2F0aW9uTGliL1BlaU1lbW9yeQ0KPiBBbGxvY2F0aW9uTGliLmluZg0KPiAr ICAgICAgSG9iTGlifE1kZVBrZy9MaWJyYXJ5L1BlaUhvYkxpYi9QZWlIb2JMaWIuaW5mDQo+ICsN Cj4gQ3B1RXhjZXB0aW9uSGFuZGxlckxpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9u SGFuZGxlckxpYi9TZWNQDQo+IGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYNCj4gKyFpZiAk KFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJj ZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NlY1BlaURlYnVnQWcNCj4gZW50TGli LmluZg0KPiArIWVuZGlmDQo+ICsgIH0NCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9SZXBvcnRTdGF0dXNDb2RlUm91dGVyL1NtbS9SZXBvcnRTdGF0dXNDb2QN Cj4gZVJvdXRlclNtbS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9TZWN1cml0eVN0 dWJEeGUvU2VjdXJpdHlTdHViRHhlLmluZnsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsh aWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtn L0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWIN Cj4gLmluZg0KPiArIWVuZGlmDQo+ICshaWYgJChVU0VSX0lERU5USUZJQ0FUSU9OX0VOQUJMRSkN Cj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvRHhlRGVmZXJJbWFnZUxvYWRMaWIvRHhl RGVmZXJJbWFnZUxvYWRMaWIuaW4NCj4gZg0KPiArIWVuZGlmDQo+ICshaWYgJChUUE1fRU5BQkxF RCkgPT0gVFJVRQ0KPiArDQo+IE5VTEx8U2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUcG1NZWFzdXJl Qm9vdExpYi9EeGVUcG1NZWFzdXJlQm9vdExpDQo+IGIuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAk KEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4 ZVRwbTJNZWFzdXJlQm9vdExpYi9EeGVUcG0yTWVhc3VyZUJvb3QNCj4gTGliLmluZg0KPiArIWVu ZGlmDQo+ICsgIH0NCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNI SVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL01wQ3B1LmluZg0KPiAr ICAkKFBMQVRGT1JNX1BBQ0tBR0UpL01ldHJvbm9tZS9NZXRyb25vbWUuaW5mDQo+ICsNCj4gKyAg SW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL0Jkc0R4ZS9CZHNEeGUuaW5mew0KPiAr ICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIE9wZW5zc2xMaWJ8Q3J5cHRvUGtnL0xpYnJh cnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZg0KPiArICAgICAgSW50cmluc2ljTGlifENyeXB0 b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JbnRyaW5zaWNMaWIuaW5mDQo+ICsgICAgICBCYXNl Q3J5cHRMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0Jhc2VDcnlwdExpYi5pbmYN Cj4gKw0KPiBQbGF0Zm9ybUJkc0xpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvUGxhdGZv cm1CZHNMaWIvUGxhdGZvcm1CDQo+IGRzTGliLmluZg0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9M aWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4g aW5mDQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5p bmYNCj4gKw0KPiBTZXJpYWxQb3J0TGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9TZXJp YWxQb3J0TGliL1NlcmlhbFBvcnRMaWIuaW5mDQo+ICsgICAgIWlmICQoRlRQTV9FTkFCTEUpID09 IFRSVUUNCj4gKw0KPiBUcG0yRGV2aWNlTGlifFZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBt MkRldmljZUxpYlNlQ0R4ZS9UcG0yRGV2aQ0KPiBjZUxpYlNlQy5pbmYNCj4gKyAgICAhZWxzZQ0K PiArDQo+IFRwbTJEZXZpY2VMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9UcG0yRGV2aWNlTGliVGNn Mi9UcG0yRGV2aWNlTGliVGNnMg0KPiAuaW5mDQo+ICsgICAgIWVuZGlmDQo+ICsgIH0NCj4gKw0K PiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1VpQXBwL1VpQXBwLmluZg0KPiArDQo+ICsgIE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvV2F0Y2hkb2dUaW1lckR4ZS9XYXRjaGRvZ1RpbWVyLmluZg0KPiAr ICBNZGVNb2R1bGVQa2cvQ29yZS9SdW50aW1lRHhlL1J1bnRpbWVEeGUuaW5mDQo+ICsNCj4gTWRl TW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdy aXRlRHhlLmluDQo+IGYNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1 bnRpbWVEeGUvVmFyaWFibGVTbW1SdW50aW1lRHhlLmkNCj4gbmYNCj4gKyAgTWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tLmluZiB7DQo+ICsgICAg PExpYnJhcnlDbGFzc2VzPg0KPiArICAgICAgTlVMTHxNZGVNb2R1bGVQa2cvTGlicmFyeS9WYXJD aGVja1VlZmlMaWIvVmFyQ2hlY2tVZWZpTGliLmluZg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8JChQ TEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExpYi5pbmYN Cj4gKyAgfQ0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL0Z2YlJ1bnRpbWVEeGUvRnZiU21tLmlu Zg0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0Zh dWx0VG9sZXJhbnRXcml0ZVNtbS5pDQo+IG5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFD S0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJF KS9QY2hTcGlTbW0uaW5mDQo+ICshaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4g Kw0KPiBTZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhlbnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4 ZS9TZWN1cmVCb290Q29uZmkNCj4gZ0R4ZS5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4N Cj4gKw0KPiBQbGF0Zm9ybVNlY3VyZUxpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L1BsYXRmb3JtU2Vj dXJlTGliTnVsbC9QbGF0Zm9ybVNlY3UNCj4gcmVMaWJOdWxsLmluZg0KPiArICAgIDxCdWlsZE9w dGlvbnM+DQo+ICsgICAgICAjDQo+ICsgICAgICAjIFNwZWNpZnkgR1VJRCBnRWZpSWZyQm9vdE1h aW50ZW5hbmNlR3VpZCwgdG8gaW5zdGFsbCBTZWN1cmUgQm9vdA0KPiBDb25maWd1cmF0aW9uIG1l bnUNCj4gKyAgICAgICMgaW50byBCb290IE1haW50ZW5hbmNlIE1hbmFnZXIgbWVudQ0KPiArICAg ICAgIw0KPiArICAgICAgKl8qXypfVkZSX0ZMQUdTICAgPSAtZyBiMmRlZGM5MS1kNTlmLTQ4ZDIt ODk4YS0xMjQ5MGM3NGE0ZTANCj4gKyAgfQ0KPiArIWVuZGlmDQo+ICsgICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL0NhcHN1bGVSdW50aW1lRHhlL0NhcHN1bGVSdW50aW1lRHhlLmluZiB7DQo+ICsg ICAgPExpYnJhcnlDbGFzc2VzPg0KPiArICAgICAgRmlsZUhhbmRsZUxpYnxNZGVQa2cvTGlicmFy eS9VZWZpRmlsZUhhbmRsZUxpYi9VZWZpRmlsZUhhbmRsZUxpYi5pbmYNCj4gKyAgfQ0KPiArDQo+ ICsNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Nb25vdG9uaWNDb3VudGVyUnVudGltZUR4ZS9N b25vdG9uaWNDb3VuDQo+IHRlclJ1bnRpbWVEeGUuaW5mDQo+ICsNCj4gUGNBdENoaXBzZXRQa2cv UGNhdFJlYWxUaW1lQ2xvY2tSdW50aW1lRHhlL1BjYXRSZWFsVGltZUNsb2NrUnVudGltZQ0KPiBE eGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGV2aWNlUGF0aER4ZS9EZXZpY2VQ YXRoRHhlLmluZg0KPiArDQo+ICsgICQoUExBVEZPUk1fUEFDS0FHRSkvRnZiUnVudGltZUR4ZS9G dmJSdW50aW1lRHhlLmluZg0KPiArDQo+ICsgICQoUExBVEZPUk1fUEFDS0FHRSkvUGxhdGZvcm1T ZXR1cER4ZS9QbGF0Zm9ybVNldHVwRHhlLmluZg0KPiArDQo+ICshaWYgJChEQVRBSFVCX0VOQUJM RSkgPT0gVFJVRQ0KPiArICBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJzYWwvRGF0YUh1 YkR4ZS9EYXRhSHViRHhlLmluZiB7DQo+ICsgICAgPFBjZHNGaXhlZEF0QnVpbGQ+DQo+ICsgICAg ICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4aW11bUxpbmtlZExpc3RMZW5ndGh8MA0K PiArICB9DQo+ICshZW5kaWYNCj4gKw0KPiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJz YWwvU3RhdHVzQ29kZS9EYXRhaHViU3RhdHVzQ29kZUhhbmRsDQo+IGVyRHhlL0RhdGFodWJTdGF0 dXNDb2RlSGFuZGxlckR4ZS5pbmYNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL01lbW9y eVRlc3QvTnVsbE1lbW9yeVRlc3REeGUvTnVsbE1lbW9yeVQNCj4gZXN0RHhlLmluZg0KPiArDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv JChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNoUzNTdXBwb3J0RHhlLmluZg0KPiArICAhaWYgJChV U0VfSFBFVF9USU1FUikgPT0gVFJVRQ0KPiArICAgIFBjQXRDaGlwc2V0UGtnL0hwZXRUaW1lckR4 ZS9IcGV0VGltZXJEeGUuaW5mDQo+ICsgICFlbHNlDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllf UEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNU VVJFKS9TbWFydFRpbWVyLmluZg0KPiArICAhZW5kaWYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFS WV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRF Q1RVUkUpL1NtbUNvbnRyb2wuaW5mDQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNL QUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUp L1BjaFNtYnVzRHhlLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhF X0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvSW50ZWxQY2hM ZWdhY3lJbnRlcnJ1cHQuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChE WEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hSZXNl dC5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RV UkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaEluaXREeGUuaW5mew0KPiAr ICAgIDxQY2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICAgIGdFZmlNZGVQa2dUb2tlblNw YWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweEYwMDAwMDQzDQo+ICsgIH0NCj4gKw0K PiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQp LyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaEluaXRTbW0uaW5mDQo+ICsNCj4gKw0KPiAkKFBM QVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhF Xw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNtaURpc3BhdGNoZXIuaW5mDQo+ICsNCj4gKyFpZiAkKFBD SUVTQ19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8k KERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFBj aWVTbW0uaW5mDQo+ICshZW5kaWYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8k KERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNw aVJ1bnRpbWUuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJD SElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hQb2xpY3lJbml0 RHhlLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVD VFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNoQmlvc1dyaXRlUHJvdGVj dC5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RV UkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NtbUFjY2Vzcy5pbmYNCj4gKw0K PiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQp LyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaUhvc3RCcmlkZ2UuaW5mDQo+ICsNCj4gJChQTEFU Rk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8N Cj4gQVJDSElURUNUVVJFKS9WbHZJbml0RHhlLmluZg0KPiArDQo+ICsNCj4gSW50ZWxGcmFtZXdv cmtNb2R1bGVQa2cvVW5pdmVyc2FsL0xlZ2FjeVJlZ2lvbkR4ZS9MZWdhY3lSZWdpb25EeGUuaQ0K PiBuZg0KPiArDQo+ICsgICMNCj4gKyAgIyBQZXJmb3JtYW5jZSBBcHBsaWNhdGlvbjsgU2V0IFBF UkZPUk1BTkNFX0VOQUJMRT1UUlVFIGZvciBub3JtYWwNCj4gYm9vdCBwZXJmb3JtYW5jZSBhbmQg c21tIHBlcmZvcm1hbmNlIGRhdGENCj4gKyAgIw0KPiArIWlmICQoUEVSRk9STUFOQ0VfRU5BQkxF KSA9PSBUUlVFDQo+ICsNCj4gU2hlbGxQa2cvRHluYW1pY0NvbW1hbmQvRHBEeW5hbWljQ29tbWFu ZC9EcER5bmFtaWNDb21tYW5kLmluZg0KPiB7DQo+ICsgICAgPFBjZHNGaXhlZEF0QnVpbGQ+DQo+ ICsgICAgICBnRWZpU2hlbGxQa2dUb2tlblNwYWNlR3VpZC5QY2RTaGVsbExpYkF1dG9Jbml0aWFs aXplfEZBTFNFDQo+ICsgIH0NCj4gKyFlbmRpZg0KPiArDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtn L1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0Zm9ybUluaXREeGUuaW5mew0KPiArICAgIDxMaWJy YXJ5Q2xhc3Nlcz4NCj4gKyFpZiAkKFRBUkdFVCkgIT0gUkVMRUFTRQ0KPiArDQo+IERlYnVnTGli fE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFs UG9ydC4NCj4gaW5mDQo+ICshZW5kaWYNCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9E eGVQY2RMaWIvRHhlUGNkTGliLmluZg0KPiArICB9DQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJ TkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNI SVRFQ1RVUkUpL0RwdGYuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChE WEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QbnBEeGUu aW5mDQo+ICsNCj4gKyFpZiAkKFNFQ19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBB UkNISVRFQ1RVUkUpL0hlY2lEcnYuaW5mIHsNCj4gKyFpZiAkKFNFQ19ERUJVR19JTkZPX0VOQUJM RSkgPT0gVFJVRQ0KPiArICAgIDxCdWlsZE9wdGlvbnM+DQo+ICsgICAgICAqXypfWDY0X0NDX0ZM QUdTICAgICAgPSAvRFNFQ19ERUJVR19JTkZPPTENCj4gKyFlbHNlDQo+ICsgICAgPEJ1aWxkT3B0 aW9ucz4NCj4gKyAgICAgICpfKl9YNjRfQ0NfRkxBR1MgICAgICA9IC9EU0VDX0RFQlVHX0lORk89 MA0KPiArIWVuZGlmDQo+ICsgIH0NCj4gKw0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tB R0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkv U2VDUG9saWN5SW5pdER4ZS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChGVFBNX0VOQUJM RSkgPT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJ VEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvVHBtMkRldmljZVNlQ0R4 ZS5pbmYNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL01lbW9yeU92ZXJ3cml0ZUNvbnRyb2wvVGNnTW9y LmluZg0KPiArICBTZWN1cml0eVBrZy9UY2cvVGNnMkR4ZS9UY2cyRHhlLmluZnsNCj4gKyAgICA8 TGlicmFyeUNsYXNzZXM+DQo+ICsNCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0 YW5jZUxpYlNoYTEvSGFzaEluc3RhbmNlTGliU2hhMS5pbmYNCj4gKw0KPiBOVUxMfFNlY3VyaXR5 UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNlTGliU2hhMjU2L0hhc2hJbnN0YW5jZUxpYlNoYTI1Ni5p bg0KPiBmDQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnlcRHhlUGNkTGliL0R4ZVBjZExp Yi5pbmYNCj4gKw0KPiBUcG0yRGV2aWNlTGlifFZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBt MkRldmljZUxpYlNlQ0R4ZS9UcG0yRGV2aQ0KPiBjZUxpYlNlQy5pbmYNCj4gKyAgfQ0KPiArDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv JChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvRnRwbVNtbS5pbmYNCj4gKyFlbmRpZg0KPiArIWlmICQo VFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1RjZzJDb25maWcvVGNn MkNvbmZpZ1BlaS5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIFBjZExp YnxNZGVQa2cvTGlicmFyeS9QZWlQY2RMaWIvUGVpUGNkTGliLmluZg0KPiArICB9DQo+ICsNCj4g KyAgU2VjdXJpdHlQa2cvVGNnL1RjZ0NvbmZpZ0R4ZS9UY2dDb25maWdEeGUuaW5mIHsNCj4gKyAg ICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNk TGliL0R4ZVBjZExpYi5pbmYNCj4gKyAgICA8QnVpbGRPcHRpb25zPg0KPiArICAgICAgIw0KPiAr ICAgICAgIyBzcGVjaWZ5IEdVSUQgZ0VmaUlmck5vdEluVFBWUGFnZUd1aWQsIHRoaXMgcGFnZSB3 aWxsIG5vdA0KPiArICAgICAgIyBiZSBzaG93ZWQgaW4gVFBWIHBhZ2UuDQo+ICsgICAgICAjDQo+ ICsgICAgICAqXypfKl9WRlJfRkxBR1MgICA9IC1nIGU1ODgwOWY4LWZiYzEtNDhlMi04ODNhLWEz MGZkYzRiNDQxZQ0KPiArICB9DQo+ICsNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1RjZ0R4ZS9UY2dE eGUuaW5mIHsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICBQY2RMaWJ8TWRlUGtn L0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYNCj4gKyAgfQ0KPiArICBTZWN1cml0eVBr Zy9UY2cvVGNnU21tL1RjZ1NtbS5pbmYNCj4gKyFlbmRpZg0KPiArICAjDQo+ICsgICMgRURLIElJ IFJlbGF0ZWQgUGxhdGZvcm0gY29kZXMNCj4gKyAgIw0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0Up L1BsYXRmb3JtU21tL1BsYXRmb3JtU21tLmluZnsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ ICsgICAgIWlmICQoVEFSR0VUKSAhPSBSRUxFQVNFDQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBp bmYNCj4gKyAgICAhZW5kaWYNCj4gKyAgICAgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhl UGNkTGliL0R4ZVBjZExpYi5pbmYNCj4gKyAgfQ0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1Bs YXRmb3JtSW5mb0R4ZS9QbGF0Zm9ybUluZm9EeGUuaW5mDQo+ICsgICQoUExBVEZPUk1fUEFDS0FH RSkvUGxhdGZvcm1DcHVJbmZvRHhlL1BsYXRmb3JtQ3B1SW5mb0R4ZS5pbmYNCj4gKyAgJChQTEFU Rk9STV9QQUNLQUdFKS9QbGF0Zm9ybUR4ZS9QbGF0Zm9ybUR4ZS5pbmYNCj4gKw0KPiArICAkKFBM QVRGT1JNX1BBQ0tBR0UpL1BjaVBsYXRmb3JtL1BjaVBsYXRmb3JtLmluZg0KPiArICAkKFBMQVRG T1JNX1BBQ0tBR0UpL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW9yeUNvbmZpZy5pbmYNCj4gKw0K PiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQp LyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BsYXRmb3JtQ3B1UG9saWN5LmluZg0KPiArICAkKFBM QVRGT1JNX1BBQ0tBR0UpL1BwbVBvbGljeS9QcG1Qb2xpY3kuaW5mDQo+ICsNCj4gJChQTEFURk9S TV9QQUNLQUdFKS9TbXJhbVNhdmVJbmZvSGFuZGxlclNtbS9TbXJhbVNhdmVJbmZvSGFuZA0KPiBs ZXJTbW0uaW5mDQo+ICshaWYgJChHT1BfRFJJVkVSX0VOQUJMRSkgPT0gVFJVRQ0KPiArICAkKFBM QVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtR29wUG9saWN5L1BsYXRmb3JtR29wUG9saWN5LmluZg0K PiArDQo+ICshZW5kaWYNCj4gKw0KPiArDQo+ICsgICMNCj4gKyAgIyBTTU0NCj4gKyAgIw0KPiAr ICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1JcGwuaW5mDQo+ICsgIE1kZU1vZHVs ZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUNvcmUuaW5mDQo+ICsgIFVlZmlDcHVQa2cvQ3B1RHhl L0NwdUR4ZS5pbmYNCj4gKyAgVWVmaUNwdVBrZy9QaVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNt bS5pbmYNCj4gKyAgVWVmaUNwdVBrZy9DcHVJbzJTbW0vQ3B1SW8yU21tLmluZg0KPiArICBNZGVN b2R1bGVQa2cvVW5pdmVyc2FsL0xvY2tCb3gvU21tTG9ja0JveC9TbW1Mb2NrQm94LmluZg0KPiAr ICBVZWZpQ3B1UGtnL1BpU21tQ29tbXVuaWNhdGlvbi9QaVNtbUNvbW11bmljYXRpb25TbW0uaW5m DQo+ICsNCj4gJChQTEFURk9STV9QQUNLQUdFKS9TbW1Td0Rpc3BhdGNoMk9uU21tU3dEaXNwYXRj aFRodW5rL1NtbVMNCj4gd0Rpc3BhdGNoMk9uU21tU3dEaXNwYXRjaFRodW5rLmluZg0KPiArDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv JChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUG93ZXJNYW5hZ2VtZW50Mi5pbmYNCj4gKw0KPiAkKFBM QVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhF Xw0KPiBBUkNISVRFQ1RVUkUpL0RpZ2l0YWxUaGVybWFsU2Vuc29yLmluZg0KPiArDQo+ICsgICMN Cj4gKyAgIyBBQ1BJDQo+ICsgICMNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkv Qm9vdFNjcmlwdEV4ZWN1dG9yRHhlL0Jvb3RTY3JpcHRFeGVjdXRvcg0KPiBEeGUuaW5mIHsNCj4g KyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxlPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVsfDB4RjAwMDAwNDMNCj4gKyAgICA8UGNkc0Zp eGVkQXRCdWlsZD4NCj4gKyAgICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1By b3BlcnR5TWFza3wweDI3DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArICAgICAgUGNkTGli fE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsgIH0NCj4gKw0KPiAr ICAkKFBMQVRGT1JNX1BBQ0tBR0UpL0Jvb3RTY3JpcHRTYXZlRHhlL0Jvb3RTY3JpcHRTYXZlRHhl LmluZg0KPiArDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9BY3BpL0FjcGlT dXBwb3J0RHhlL0FjcGlTdXBwb3J0RHgNCj4gZS5pbmYNCj4gKw0KPiBWbHYyRGV2aWNlUmVmQ29k ZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJNYW5hZ2VtZW50L0FjcGlUYWJsZQ0KPiBzL1Bv d2VyTWFuYWdlbWVudEFjcGlUYWJsZXMuaW5mDQo+ICsNCj4gKyAgJChQTEFURk9STV9SQ19QQUNL QUdFKS9BY3BpVGFibGVzUENBVC9BY3BpVGFibGVzLmluZg0KPiArDQo+ICsgICQoUExBVEZPUk1f UEFDS0FHRSkvQWNwaVBsYXRmb3JtL0FjcGlQbGF0Zm9ybS5pbmYNCj4gKw0KPiArDQo+IE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9Cb290R3JhcGhpY3NSZXNvdXJjZVRhYmxlRHhlL0Jvb3RH cmFwaA0KPiBpY3NSZXNvdXJjZVRhYmxlRHhlLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBQQ0kN Cj4gKyAgIw0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9QY2lCdXNEeGUvUGNpQnVzRHhlLmlu Zg0KPiArDQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNI SVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0lTUER4ZS5pbmYNCj4g Kw0KPiArDQo+ICsjDQo+ICsjIElTQQ0KPiArIw0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1dw Y2U3OTEvV3BjZTc5MS5pbmYNCj4gKyAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9J c2FCdXNEeGUvSXNhQnVzRHhlLmluZg0KPiArICBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9CdXMv SXNhL0lzYUlvRHhlL0lzYUlvRHhlLmluZg0KPiArICBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9C dXMvSXNhL0lzYVNlcmlhbER4ZS9Jc2FTZXJpYWxEeGUuaW5mDQo+ICsgIEludGVsRnJhbWV3b3Jr TW9kdWxlUGtnL0J1cy9Jc2EvUHMyTW91c2VEeGUvUHMyTW91c2VEeGUuaW5mDQo+ICsNCj4gSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9QczJLZXlib2FyZER4ZS9QczJrZXlib2FyZER4 ZS5pbmYNCj4gKyMNCj4gKyMgU0RJTw0KPiArIw0KPiArIw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9Q QUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RV UkUpL01tY0hvc3QuaW5mDQo+ICsjDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhF X0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvTW1jTWVkaWFE ZXZpY2UuaW5mDQo+ICshaWYgJChBQ1BJNTBfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9BY3BpL0Zpcm13YXJlUGVyZm9ybWFuY2VEYXRhVGFibGVEeGUvRmly bXcNCj4gYXJlUGVyZm9ybWFuY2VEeGUuaW5mIHsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ ICsNCj4gVGltZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRp bWVyTGliL0ludGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKyAgfQ0KPiArDQo+IE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9GaXJtd2FyZVBlcmZvcm1hbmNlRGF0YVRhYmxlU21tL0Zp cm0NCj4gd2FyZVBlcmZvcm1hbmNlU21tLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0K PiArDQo+IFRpbWVyTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9JbnRlbFBjaEFjcGlU aW1lckxpYi9JbnRlbFBjaEFjDQo+IHBpVGltZXJMaWIuaW5mDQo+ICsgIH0NCj4gKyFlbmRpZg0K PiArDQo+ICsjDQo+ICsjIElERS9TQ1NJL0FIQ0kNCj4gKyMNCj4gKyAgTWRlTW9kdWxlUGtnL0J1 cy9BdGEvQXRhQXRhcGlQYXNzVGhydS9BdGFBdGFwaVBhc3NUaHJ1LmluZg0KPiArICBJbnRlbEZy YW1ld29ya01vZHVsZVBrZy9CdXMvUGNpL0lkZUJ1c0R4ZS9JZGVCdXNEeGUuaW5mDQo+ICsgIE1k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9EaXNrSW9EeGUvRGlza0lvRHhlLmluZg0KPiArICBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svUGFydGl0aW9uRHhlL1BhcnRpdGlvbkR4ZS5pbmYN Cj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svVW5pY29kZUNvbGxhdGlvbi9Fbmds aXNoRHhlL0VuZ2xpc2hEeGUuaW5mDQo+ICsgIEZhdFBrZy9FbmhhbmNlZEZhdER4ZS9GYXQuaW5m DQo+ICsgIFNoZWxsUGtnL0FwcGxpY2F0aW9uL1NoZWxsL1NoZWxsLmluZiB7DQo+ICsgICAgPExp YnJhcnlDbGFzc2VzPg0KPiArDQo+IFNoZWxsQ29tbWFuZExpYnxTaGVsbFBrZy9MaWJyYXJ5L1Vl ZmlTaGVsbENvbW1hbmRMaWIvVWVmaVNoZWxsQ29tbWENCj4gbmRMaWIuaW5mDQo+ICsNCj4gTlVM THxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExldmVsMkNvbW1hbmRzTGliL1VlZmlTaGVsbExl dmVsMkNvbW1hDQo+IG5kc0xpYi5pbmYNCj4gKw0KPiBOVUxMfFNoZWxsUGtnL0xpYnJhcnkvVWVm aVNoZWxsTGV2ZWwxQ29tbWFuZHNMaWIvVWVmaVNoZWxsTGV2ZWwxQ29tbWENCj4gbmRzTGliLmlu Zg0KPiArDQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxMZXZlbDNDb21tYW5kc0xp Yi9VZWZpU2hlbGxMZXZlbDNDb21tYQ0KPiBuZHNMaWIuaW5mDQo+ICsNCj4gTlVMTHxTaGVsbFBr Zy9MaWJyYXJ5L1VlZmlTaGVsbERyaXZlcjFDb21tYW5kc0xpYi9VZWZpU2hlbGxEcml2ZXIxQ29t DQo+IG1hbmRzTGliLmluZg0KPiArDQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxE ZWJ1ZzFDb21tYW5kc0xpYi9VZWZpU2hlbGxEZWJ1ZzFDb20NCj4gbWFuZHNMaWIuaW5mDQo+ICsN Cj4gTlVMTHxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbEluc3RhbGwxQ29tbWFuZHNMaWIvVWVm aVNoZWxsSW5zdGFsbDFDb20NCj4gbWFuZHNMaWIuaW5mDQo+ICsNCj4gTlVMTHxTaGVsbFBrZy9M aWJyYXJ5L1VlZmlTaGVsbE5ldHdvcmsxQ29tbWFuZHNMaWIvVWVmaVNoZWxsTmV0d29yazENCj4g Q29tbWFuZHNMaWIuaW5mDQo+ICsNCj4gSGFuZGxlUGFyc2luZ0xpYnxTaGVsbFBrZy9MaWJyYXJ5 L1VlZmlIYW5kbGVQYXJzaW5nTGliL1VlZmlIYW5kbGVQYXJzaW5nTA0KPiBpYi5pbmYNCj4gKyAg ICAgIFByaW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQcmludExpYi9CYXNlUHJpbnRMaWIuaW5m DQo+ICsNCj4gQmNmZ0NvbW1hbmRMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxCY2ZnQ29t bWFuZExpYi9VZWZpU2hlbGxCY2ZnDQo+IENvbW1hbmRMaWIuaW5mDQo+ICsgICAgPFBjZHNGaXhl ZEF0QnVpbGQ+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9w ZXJ0eU1hc2t8MHhGRg0KPiArICAgICAgZ0VmaVNoZWxsUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2hl bGxMaWJBdXRvSW5pdGlhbGl6ZXxGQUxTRQ0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZFVlZmlMaWJNYXhQcmludEJ1ZmZlclNpemV8ODAwMA0KPiArICB9DQo+ICshaWYgJChT QVRBX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQo RFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvU2F0YUNv bnRyb2xsZXIuaW5mDQo+ICshZW5kaWYNCj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVz RHhlL0F0YUJ1c0R4ZS5pbmYNCj4gKyFpZiAkKFNDU0lfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE1k ZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpQnVzRHhlL1Njc2lCdXNEeGUuaW5mDQo+ICsgIE1kZU1v ZHVsZVBrZy9CdXMvU2NzaS9TY3NpRGlza0R4ZS9TY3NpRGlza0R4ZS5pbmYNCj4gKyFlbmRpZg0K PiArIw0KPiArIyBDb25zb2xlDQo+ICsjDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29u c29sZS9Db25QbGF0Zm9ybUR4ZS9Db25QbGF0Zm9ybUR4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9Db25zb2xlL0NvblNwbGl0dGVyRHhlL0NvblNwbGl0dGVyRHhlLmluZg0KPiAr DQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9HcmFwaGljc0NvbnNvbGVEeGUvR3Jh cGhpY3NDb25zb2xlRA0KPiB4ZS5pbmYNCj4gKw0KPiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9V bml2ZXJzYWwvQ29uc29sZS9WZ2FDbGFzc0R4ZS9WZ2FDbGFzc0R4ZS5pbg0KPiBmDQo+ICsgIE1k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9UZXJtaW5hbER4ZS9UZXJtaW5hbER4ZS5pbmYN Cj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9IaWlEYXRhYmFzZUR4ZS9IaWlEYXRhYmFzZUR4 ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNwbGF5RW5naW5lRHhlL0Rpc3Bs YXlFbmdpbmVEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU2V0dXBCcm93c2Vy RHhlL1NldHVwQnJvd3NlckR4ZS5pbmYNCj4gKw0KPiArICAjDQo+ICsgICMgVVNCDQo+ICsgICMN Cj4gKyFpZiAkKFVTQl9FTkFCTEUpID09IFRSVUUNCj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9QY2kv RWhjaUR4ZS9FaGNpRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhlL1Vo Y2lEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvUGNpL1hoY2lEeGUvWGhjaUR4ZS5pbmYN Cj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiQnVzRHhlL1VzYkJ1c0R4ZS5pbmYNCj4gKyAg TWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiS2JEeGUvVXNiS2JEeGUuaW5mDQo+ICsgIE1kZU1vZHVs ZVBrZy9CdXMvVXNiL1VzYk1vdXNlRHhlL1VzYk1vdXNlRHhlLmluZg0KPiArICBNZGVNb2R1bGVQ a2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9Vc2JNYXNzU3RvcmFnZUR4ZS5pbmYNCj4gKw0K PiArIWVuZGlmDQo+ICsNCj4gKyAgIw0KPiArICAjIFNNQklPUw0KPiArICAjDQo+ICsgIE1kZU1v ZHVsZVBrZy9Vbml2ZXJzYWwvU21iaW9zRHhlL1NtYmlvc0R4ZS5pbmYNCj4gKyAgJChQTEFURk9S TV9QQUNLQUdFKS9TbUJpb3NNaXNjRHhlL1NtQmlvc01pc2NEeGUuaW5mDQo+ICsNCj4gKw0KPiAk KFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQo RFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NtYmlvc01lbW9yeS5pbmYNCj4gKyAgIw0KPiArICAjIENQ VS9GVyBNaWNyb2RlDQo+ICsgICMNCj4gKyAgVmx2MlNvY0JpblBrZy9NaWNyb2NvZGUvTWljcm9j b2RlVXBkYXRlcy5pbmYgew0KPiArICAgIDxCdWlsZE9wdGlvbnM+DQo+ICsgICAgICAqXypfKl9H RU5GV19GTEFHUyA9IC1hIDB4ODAwIC1wIDB4RkYNCj4gKyAgfQ0KPiArDQo+ICsNCj4gKw0KPiAr IWlmICQoTkVUV09SS19FTkFCTEUpID09IFRSVUUNCj4gKyAgIWlmICQoTkVUV09SS19JU0NTSV9F TkFCTEUpID09IFRSVUUNCj4gKyAgICBOZXR3b3JrUGtnL0lTY3NpRHhlL0lTY3NpRHhlLmluZg0K PiArICAhZW5kaWYNCj4gKyAgIWlmICQoTkVUV09SS19WTEFOX0VOQUJMRSkgPT0gVFJVRQ0KPiAr ICAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9WbGFuQ29uZmlnRHhlL1ZsYW5Db25m aWdEeGUuaW5mDQo+ICsgICFlbmRpZg0KPiArICAhaWYgJChDU01fRU5BQkxFKSA9PSBUUlVFDQo+ ICsgICAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQ3NtL0Jpb3NUaHVuay9TbnAxNkR4ZS9TbnAx NkR4ZS5pbmYNCj4gKyAgIWVuZGlmDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoTkVUV09SS19F TkFCTEUpID09IFRSVUUNCj4gKyAgIw0KPiArICAjIFVFRkkgbmV0d29yayBtb2R1bGVzDQo+ICsg ICMNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvRHBjRHhlL0RwY0R4ZS5p bmYNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvU25wRHhlL1NucER4ZS5p bmYNCj4gKw0KPiArICAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9NbnBEeGUvTW5w RHhlLmluZg0KPiArICAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9BcnBEeGUvQXJw RHhlLmluZg0KPiArICAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9EaGNwNER4ZS9E aGNwNER4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvSXA0RHhl L0lwNER4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvTXRmdHA0 RHhlL010ZnRwNER4ZS5pbmYNCj4gKyAgICBOZXR3b3JrUGtnL1VlZmlQeGVCY0R4ZS9VZWZpUHhl QmNEeGUuaW5mDQo+ICsgICAgTmV0d29ya1BrZy9UY3BEeGUvVGNwRHhlLmluZg0KPiArICAgIE1k ZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9VZHA0RHhlL1VkcDREeGUuaW5mDQo+ICsgICAg IWlmICQoTkVUV09SS19JUDZfRU5BQkxFKSA9PSBUUlVFDQo+ICsgICAgICBOZXR3b3JrUGtnL0lw NkR4ZS9JcDZEeGUuaW5mDQo+ICsgICAgICBOZXR3b3JrUGtnL0RoY3A2RHhlL0RoY3A2RHhlLmlu Zg0KPiArICAgICAgTmV0d29ya1BrZy9VZHA2RHhlL1VkcDZEeGUuaW5mDQo+ICsgICAgICBOZXR3 b3JrUGtnL010ZnRwNkR4ZS9NdGZ0cDZEeGUuaW5mDQo+ICsgICAgIWVuZGlmDQo+ICshZW5kaWYN Cj4gKw0KPiArIWlmICQoQ0FQU1VMRV9FTkFCTEUpIHx8ICQoTUlDT0NPREVfQ0FQU1VMRV9FTkFC TEUpDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRXNydEZtcER4ZS9Fc3J0Rm1wRHhlLmlu Zg0KPiArICBNZGVNb2R1bGVQa2cvQXBwbGljYXRpb24vQ2Fwc3VsZUFwcC9DYXBzdWxlQXBwLmlu Zg0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKENBUFNVTEVfRU5BQkxFKQ0KPiArICAhaW5jbHVk ZSBWbHYyVGJsdERldmljZVBrZy9GbXBNaW5ub3dNYXhTeXN0ZW0uZHNjDQo+ICsgICFpbmNsdWRl IFZsdjJUYmx0RGV2aWNlUGtnL0ZtcEdyZWVuU2FtcGxlRGV2aWNlLmRzYw0KPiArICAhaW5jbHVk ZSBWbHYyVGJsdERldmljZVBrZy9GbXBCbHVlU2FtcGxlRGV2aWNlLmRzYw0KPiArICAhaW5jbHVk ZSBWbHYyVGJsdERldmljZVBrZy9GbXBSZWRTYW1wbGVEZXZpY2UuZHNjDQo+ICshZW5kaWYNCj4g Kw0KPiArIWlmICQoTUlDT0NPREVfQ0FQU1VMRV9FTkFCTEUpDQo+ICsNCj4gSW50ZWxTaWxpY29u UGtnL0ZlYXR1cmUvQ2Fwc3VsZS9NaWNyb2NvZGVVcGRhdGVEeGUvTWljcm9jb2RlVXBkYXRlRHgN Cj4gZS5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQ a2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQu DQo+IGluZg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RM aWIuaW5mDQo+ICsNCj4gU2VyaWFsUG9ydExpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkv U2VyaWFsUG9ydExpYi9TZXJpYWxQb3J0TGliLmluZg0KPiArICB9DQo+ICshZW5kaWYNCj4gKw0K PiArW0J1aWxkT3B0aW9uc10NCj4gKyMNCj4gKyMgRGVmaW5lIEJ1aWxkIE9wdGlvbnMgYm90aCBm b3IgRURLIGFuZCBFREtJSSBkcml2ZXJzLg0KPiArIw0KPiArDQo+ICsjDQo+ICsjIERlZmluZSB0 b2tlbiBmb3IgZGlmZmVyZW50IFBsYXRmb3JtDQo+ICsjDQo+ICshaWYgJChNSU5OT1cyX0ZTUF9C VUlMRCkgPT0gVFJVRQ0KPiArICBERUZJTkUgTUlOTk9XMl9GU1BfT1BUSU9OID0gLURNSU5OT1cy X0ZTUF9CVUlMRA0KPiArIWVsc2UNCj4gKyAgREVGSU5FIE1JTk5PVzJfRlNQX09QVElPTiA9DQo+ ICshZW5kaWYNCj4gKw0KPiArIWlmICQoRU5CRFRfUEZfQlVJTEQpID09IFRSVUUNCj4gKyAgREVG SU5FIEVOQkRUX1BGX0VOQUJMRSA9IC1ERU5CRFRfUEZfRU5BQkxFPTENCj4gKyFlbHNlDQo+ICsg IERFRklORSBFTkJEVF9QRl9FTkFCTEUgPSAtREVOQkRUX1BGX0VOQUJMRT0wDQo+ICshZW5kaWYN Cj4gKw0KPiArDQo+ICshaWYgJChDTEtHRU5fQ09ORklHX0VYVFJBX0VOQUJMRSkgPT0gVFJVRQ0K PiArICBERUZJTkUgQ0xLR0VOX0NPTkZJR19FWFRSQV9CVUlMRF9PUFRJT04gPSAtDQo+IERDTEtH RU5fQ09ORklHX0VYVFJBPTENCj4gKyFlbHNlDQo+ICsgIERFRklORSBDTEtHRU5fQ09ORklHX0VY VFJBX0JVSUxEX09QVElPTiA9DQo+ICshZW5kaWYNCj4gKw0KPiArDQo+ICsNCj4gKyFpZiAkKFBD SUVTQ19FTkFCTEUpID09IFRSVUUNCj4gKyAgREVGSU5FIFBDSUVTQ19TVVBQT1JUX0JVSUxEX09Q VElPTiA9IC1EUENJRVNDX1NVUFBPUlQ9MQ0KPiArIWVsc2UNCj4gKyAgREVGSU5FIFBDSUVTQ19T VVBQT1JUX0JVSUxEX09QVElPTiA9DQo+ICshZW5kaWYNCj4gKyFpZiAkKFNBVEFfRU5BQkxFKSA9 PSBUUlVFDQo+ICsgIERFRklORSBTQVRBX1NVUFBPUlRfQlVJTERfT1BUSU9OID0gLURTQVRBX1NV UFBPUlQ9MQ0KPiArIWVsc2UNCj4gKyAgREVGSU5FIFNBVEFfU1VQUE9SVF9CVUlMRF9PUFRJT04g PQ0KPiArIWVuZGlmDQo+ICshaWYgJChFTkJEVF9TM19TVVBQT1JUKSA9PSBUUlVFDQo+ICsgIERF RklORSBFTkJEVF9TM19TVVBQT1JUX09QVElPTlMgPSAtRE5PQ1NfUzNfU1VQUE9SVA0KPiArIWVs c2UNCj4gKyAgREVGSU5FIEVOQkRUX1MzX1NVUFBPUlRfT1BUSU9OUyA9DQo+ICshZW5kaWYNCj4g Kw0KPiArIWlmICQoWDY0X0NPTkZJRykgPT0gVFJVRQ0KPiArICBERUZJTkUgWDY0X0JVSUxEX0VO QUJMRSA9IC1EWDY0X0JVSUxEX0VOQUJMRT0xDQo+ICshZWxzZQ0KPiArICBERUZJTkUgWDY0X0JV SUxEX0VOQUJMRSA9DQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoRlRQTV9FTkFCTEUpID09IFRS VUUNCj4gKyAgREVGSU5FIERTQ19GVFBNX0JVSUxEX09QVElPTlMgPSAtREZUUE1fRU5BQkxFDQo+ ICshZWxzZQ0KPiArICBERUZJTkUgRFNDX0ZUUE1fQlVJTERfT1BUSU9OUyA9DQo+ICshZW5kaWYN Cj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBUUlVFDQo+ICsgIERFRklORSBEU0NfVFBNX0JVSUxE X09QVElPTlMgPSAtRFRQTV9FTkFCTEVEDQo+ICshZWxzZQ0KPiArICBERUZJTkUgRFNDX1RQTV9C VUlMRF9PUFRJT05TID0NCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gKyAgREVGSU5FIEVES19FREtJ SV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJT05TID0NCj4gJChNSU5OT1cyX0ZTUF9PUFRJT04pICQo TUlOTk9XMl9CVUlMRF9PUFRJT04pDQo+ICQoRU5CRFRfUEZfRU5BQkxFKSAkKEVYVEVSTkFMX1ZH QV9CVUlMRF9PUFRJT04pDQo+ICQoUENJRV9FTlVNX1dBX0JVSUxEX09QVElPTikgJChYMF9XQV9F TkFCTEVfQlVJTERfT1BUSU9OKQ0KPiAkKEEwX1dBX0VOQUJMRV9CVUlMRF9PUFRJT04pICQoTUlD Uk9DT0RFX0ZSRUVfQlVJTERfT1BUSU9OUykNCj4gJChTSU1JQ1NfQlVJTERfT1BUSU9OUykgJChI WUJSSURfQlVJTERfT1BUSU9OUykNCj4gJChDT01QQUNUX0JVSUxEX09QVElPTlMpICQoVlBfQlVJ TERfT1BUSU9OUykNCj4gJChTWVNDVExfSURfQlVJTERfT1BUSU9OKSAkKENMS0dFTl9DT05GSUdf RVhUUkFfQlVJTERfT1BUSU9OKQ0KPiAkKFNZU0NUTF9YMF9DT05WRVJUX0JPQVJEX09QVElPTikg JChFTkJEVF9TM19TVVBQT1JUX09QVElPTlMpDQo+ICQoU0FUQV9TVVBQT1JUX0JVSUxEX09QVElP TikgJChQQ0lFU0NfU1VQUE9SVF9CVUlMRF9PUFRJT04pDQo+ICQoRFNDX0ZUUE1fQlVJTERfT1BU SU9OUykgJChEU0NfRlRQTV9FUlJPUl9XUl9CVUlMRF9PUFRJT05TKQ0KPiAkKERTQ19UUE1fQlVJ TERfT1BUSU9OUykgJChEU0NfQllUSV9TRUNVUkVfQk9PVF9CVUlMRF9PUFRJT05TKQ0KPiArIWlm ICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIERFRklORSBQREJfQlVJTERfT1BU SU9OID0gL1ppDQo+ICshZW5kaWYNCj4gKw0KPiArICBHQ0M6Kl8qXypfQ0NfRkxBR1MgPSAtV25v LW1pc3NpbmctYnJhY2VzDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxFKSA9PSBUUlVFDQo+ ICsgIE1TRlQ6Kl8qX1g2NF9HRU5GV19GTEFHUyAgPSAtLWtlZXBleGNlcHRpb250YWJsZQ0KPiAr ICBHQ0M6Kl8qX1g2NF9HRU5GV19GTEFHUyAgID0gLS1rZWVwZXhjZXB0aW9udGFibGUNCj4gKyAg SU5URUw6Kl8qX1g2NF9HRU5GV19GTEFHUyA9IC0ta2VlcGV4Y2VwdGlvbnRhYmxlDQo+ICsgIERF RklORSBTT1VSQ0VfTEVWRUxfREVCVUdfQlVJTERfT1BUSU9OUyA9DQo+ICshZWxzZQ0KPiArICBE RUZJTkUgU09VUkNFX0xFVkVMX0RFQlVHX0JVSUxEX09QVElPTlMgPQ0KPiArDQo+ICshZW5kaWYN Cj4gKw0KPiArIw0KPiArIyBGb3JjZSBQRS9DT0ZGIHNlY3Rpb25zIHRvIGJlIGFsaWduZWQgYXQg NEtCIGJvdW5kYXJpZXMgdG8gc3VwcG9ydCBwYWdlDQo+IGxldmVsDQo+ICsjIHByb3RlY3Rpb24g b2YgRFhFX1JVTlRJTUVfRFJJVkVSIG1vZHVsZXMNCj4gKyMNCj4gK1tCdWlsZE9wdGlvbnMuY29t bW9uLkVES0lJLkRYRV9SVU5USU1FX0RSSVZFUl0NCj4gKyAgTVNGVDoqXypfKl9ETElOS19GTEFH UyA9IC9BTElHTjo0MDk2DQo+ICsgIEdDQzoqXypfKl9ETElOS19GTEFHUyA9IC16IGNvbW1vbi1w YWdlLXNpemU9MHgxMDAwDQo+ICsNCj4gKyMNCj4gKyMgRm9yY2UgUEUvQ09GRiBzZWN0aW9ucyB0 byBiZSBhbGlnbmVkIGF0IDRLQiBib3VuZGFyaWVzIHRvIHN1cHBvcnQgcGFnZQ0KPiBsZXZlbA0K PiArIyBwcm90ZWN0aW9uIG9mIERYRV9TTU1fRFJJVkVSL1NNTV9DT1JFIG1vZHVsZXMNCj4gKyMN Cj4gK1tCdWlsZE9wdGlvbnMuY29tbW9uLkVES0lJLkRYRV9TTU1fRFJJVkVSLA0KPiBCdWlsZE9w dGlvbnMuY29tbW9uLkVES0lJLlNNTV9DT1JFXQ0KPiArICBNU0ZUOipfKl8qX0RMSU5LX0ZMQUdT ID0gL0FMSUdOOjQwOTYNCj4gKyAgR0NDOipfKl8qX0RMSU5LX0ZMQUdTID0gLXogY29tbW9uLXBh Z2Utc2l6ZT0weDEwMDANCj4gKw0KPiArW0J1aWxkT3B0aW9ucy5Db21tb24uRURLXQ0KPiArDQo+ ICsjDQo+ICsjIERlZmluZSB0b2tlbiBmb3IgZGlmZmVyZW50IFBsYXRmb3JtDQo+ICsjDQo+ICsh aWYgJChFTkJEVF9QRl9CVUlMRCkgPT0gVFJVRQ0KPiArICBERUZJTkUgRU5CRFRfUEZfRU5BQkxF ID0gLURFTkJEVF9QRl9FTkFCTEU9MQ0KPiArIWVsc2UNCj4gKyAgREVGSU5FIEVOQkRUX1BGX0VO QUJMRSA9IC1ERU5CRFRfUEZfRU5BQkxFPTANCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChQRVJG T1JNQU5DRV9FTkFCTEUpID09IFRSVUUNCj4gKyAgUkVMRUFTRV8qXypfRExJTktfRkxBR1MgPSAt REVCVUcNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChTM19FTkFCTEUpID09IFRSVUUNCj4gKyAg REVGSU5FIERTQ19TM19CVUlMRF9PUFRJT05TID0gLURFRklfUzNfUkVTVU1FDQo+ICshZWxzZQ0K PiArICBERUZJTkUgRFNDX1MzX0JVSUxEX09QVElPTlMgPQ0KPiArIWVuZGlmDQo+ICsNCj4gKyFp ZiAkKEVOQkRUX1MzX1NVUFBPUlQpID09IFRSVUUNCj4gKyAgREVGSU5FIEVOQkRUX1MzX1NVUFBP UlRfT1BUSU9OUyA9IC1ETk9DU19TM19TVVBQT1JUDQo+ICshZWxzZQ0KPiArICBERUZJTkUgRU5C RFRfUzNfU1VQUE9SVF9PUFRJT05TID0NCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChYNjRfQ09O RklHKSA9PSBUUlVFDQo+ICsgIERFRklORSBYNjRfQlVJTERfRU5BQkxFID0gLURYNjRfQlVJTERf RU5BQkxFPTENCj4gKyFlbHNlDQo+ICsgIERFRklORSBYNjRfQlVJTERfRU5BQkxFID0NCj4gKyFl bmRpZg0KPiArDQo+ICsNCj4gKyAgREVGSU5FIEVES19HTFVFX0xJQl9ERUJVRyAgPQ0KPiArICBE RUZJTkUgREVCVUdfQlVJTERfT1BUSU9OUyA9IC1EIEVGSV9ERUJVRyAtRCBERUJVR19NT0RFPTEN Cj4gL0dMLSAkKEVES19HTFVFX0xJQl9ERUJVRykgLQ0KPiBERURLSUlfR0xVRV9EZWJ1Z1ByaW50 RXJyb3JMZXZlbD0oRUZJX0RfRVJST1IpDQo+ICsgIERFRklORSBFREtfRFNDX0ZFQVRVUkVfQlVJ TERfT1BUSU9OUyA9ICQoRFNDX1MzX0JVSUxEX09QVElPTlMpDQo+ICQoRFNDX0FDUElfQlVJTERf T1BUSU9OUykgJChEU0NfU0VDX0JVSUxEX09QVElPTlMpDQo+ICQoRFNDX0ZUUE1fQlVJTERfT1BU SU9OUykgJChEU0NfRlRQTV9FUlJPUl9XUl9CVUlMRF9PUFRJT05TKQ0KPiAkKERTQ19UUE1fQlVJ TERfT1BUSU9OUykgJChTT0ZUU0RWX0JVSUxEX09QVElPTlMpDQo+ICQoU0lNSUNTX0JVSUxEX09Q VElPTlMpICQoSFlCUklEX0JVSUxEX09QVElPTlMpDQo+ICQoQ09NUEFDVF9CVUlMRF9PUFRJT05T KSAkKFZQX0JVSUxEX09QVElPTlMpDQo+ICQoUVRfQlVJTERfT1BUSU9OUykgJChEU0NfQllUSV9T RUNVUkVfQk9PVF9CVUlMRF9PUFRJT05TKSAtDQo+IEQkKFBST0pFQ1RfU0NfQ0hJUFNFVCkNCj4g Kw0KPiArICBERUZJTkUgRURLX0RTQ19PVEhFUl9CVUlMRF9PUFRJT05TID0NCj4gJChFREtfRURL SUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykgJChTVl9CVUlMRF9PUFRJT05TKQ0KPiAkKElO VEVMX0ZBU1RCT09UX0JVSUxEX09QVElPTikNCj4gKyAgREVGSU5FIEVES19EU0NfR0xPQkFMX0JV SUxEX09QVElPTlMgPSAkKEVOQkRUX1BGX0VOQUJMRSkNCj4gJChFREtfRFNDX0ZFQVRVUkVfQlVJ TERfT1BUSU9OUykNCj4gJChFREtfRFNDX09USEVSX0JVSUxEX09QVElPTlMpIC1EDQo+IEVGSV9T UEVDSUZJQ0FUSU9OX1ZFUlNJT049MHgwMDAyMDAwMCAgLUQNCj4gUElfU1BFQ0lGSUNBVElPTl9W RVJTSU9OPTB4MDAwMDAwMDkgIC1EDQo+IFRJQU5PX1JFTEVBU0VfVkVSU0lPTj0weDAwMDgwMDA2 IC1EDQo+IFNVUFBPUlRfREVQUkVDQVRFRF9QQ0lfQ0ZHX1BQSSAtRCBDU01fU01NRU5UUllfUE9S VDhEQVRBOCAtRA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0weCQoUExBVEZP Uk1fUENJRVhQUkVTU19CQVNFKSAtRA0KPiBNQVhfVkFSSUFCTEVfU0laRT0weDIwMDAgLUQgRUZJ X0ZJUk1XQVJFX1ZFTkRPUj0iTC8iSU5URUwvIiIgLUQNCj4gRUZJX0JVSUxEX1ZFUlNJT049Ikwv IkVES0lJLyIiIC1ERUZJX1BFSV9SRVBPUlRfU1RBVFVTX0NPREVfT04NCj4gJChFTkJEVF9TM19T VVBQT1JUX09QVElPTlMpDQo+ICsNCj4gKyAgKl8qX0lBMzJfQVNNX0ZMQUdTICAgICAgICAgPSAt REVGSTMyIC1EDQo+IEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzPSQoUExBVEZPUk1f UENJRVhQUkVTU19CQVNFKWggLQ0KPiBETk9DU19TM19TVVBQT1JUDQo+ICsgIERFQlVHXypfSUEz Ml9DQ19GTEFHUyAgICAgID0gLUQgRUZJMzINCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJ T05TKSAkKERFQlVHX0JVSUxEX09QVElPTlMpDQo+ICsgIFJFTEVBU0VfKl9JQTMyX0NDX0ZMQUdT ICAgID0gLUQgRUZJMzINCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKQ0KPiArICBE RUJVR18qX0lBMzJfVkZSUFBfRkxBR1MgICA9IC1EIEVGSTMyDQo+ICQoRURLX0RTQ19HTE9CQUxf QlVJTERfT1BUSU9OUykgJChERUJVR19CVUlMRF9PUFRJT05TKQ0KPiArICBSRUxFQVNFXypfSUEz Ml9WRlJQUF9GTEFHUyA9IC1EIEVGSTMyDQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9O UykNCj4gKyAgREVCVUdfKl9JQTMyX0FQUF9GTEFHUyAgICAgPSAtRCBFRkkzMg0KPiAkKEVES19E U0NfR0xPQkFMX0JVSUxEX09QVElPTlMpICQoREVCVUdfQlVJTERfT1BUSU9OUykNCj4gKyAgUkVM RUFTRV8qX0lBMzJfQVBQX0ZMQUdTICAgPSAtRCBFRkkzMg0KPiAkKEVES19EU0NfR0xPQkFMX0JV SUxEX09QVElPTlMpDQo+ICsgIERFQlVHXypfSUEzMl9QUF9GTEFHUyAgICAgID0gLUQgRUZJMzIN Cj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKSAkKERFQlVHX0JVSUxEX09QVElPTlMp DQo+ICsgIFJFTEVBU0VfKl9JQTMyX1BQX0ZMQUdTICAgID0gLUQgRUZJMzINCj4gJChFREtfRFND X0dMT0JBTF9CVUlMRF9PUFRJT05TKQ0KPiArICAqXypfSUEzMl9BU0xQUF9GTEFHUyAgICAgICA9 IC1EDQo+IEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzPTB4JChQTEFURk9STV9QQ0lF WFBSRVNTX0JBU0UpDQo+ICsgICpfKl9JQTMyX0FTTENDX0ZMQUdTICAgICAgID0gLUQNCj4gRURL SUlfR0xVRV9QY2lFeHByZXNzQmFzZUFkZHJlc3M9MHgkKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFT RSkNCj4gKyAgKl8qX0lBMzJfQVNNMTZfRkxBR1MgICAgICAgPSAtRA0KPiBFREtJSV9HTFVFX1Bj aUV4cHJlc3NCYXNlQWRkcmVzcz0kKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFTRSloDQo+ICsNCj4g KyAgKl8qX1g2NF9BU01fRkxBR1MgICAgICAgICAgPSAtREVGSVg2NCAtRA0KPiBFREtJSV9HTFVF X1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0kKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFTRSloIC0NCj4g RE5PQ1NfUzNfU1VQUE9SVA0KPiArICBERUJVR18qX1g2NF9DQ19GTEFHUyAgICAgICA9IC1EIEVG SVg2NA0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMpICQoREVCVUdfQlVJTERfT1BU SU9OUykNCj4gKyAgUkVMRUFTRV8qX1g2NF9DQ19GTEFHUyAgICAgPSAtRCBFRklYNjQNCj4gJChF REtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKQ0KPiArICBERUJVR18qX1g2NF9WRlJQUF9GTEFH UyAgICA9IC1EIEVGSVg2NA0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMpICQoREVC VUdfQlVJTERfT1BUSU9OUykNCj4gKyAgUkVMRUFTRV8qX1g2NF9WRlJQUF9GTEFHUyAgPSAtRCBF RklYNjQNCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKQ0KPiArICBERUJVR18qX1g2 NF9BUFBfRkxBR1MgICAgICA9IC1EIEVGSVg2NA0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09Q VElPTlMpICQoREVCVUdfQlVJTERfT1BUSU9OUykNCj4gKyAgUkVMRUFTRV8qX1g2NF9BUFBfRkxB R1MgICAgPSAtRCBFRklYNjQNCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKQ0KPiAr ICBERUJVR18qX1g2NF9QUF9GTEFHUyAgICAgICA9IC1EIEVGSVg2NA0KPiAkKEVES19EU0NfR0xP QkFMX0JVSUxEX09QVElPTlMpICQoREVCVUdfQlVJTERfT1BUSU9OUykNCj4gKyAgUkVMRUFTRV8q X1g2NF9QUF9GTEFHUyAgICAgPSAtRCBFRklYNjQNCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9P UFRJT05TKQ0KPiArICAqXypfWDY0X0FTTFBQX0ZMQUdTICAgICAgICA9IC1EDQo+IEVES0lJX0dM VUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzPTB4JChQTEFURk9STV9QQ0lFWFBSRVNTX0JBU0UpDQo+ ICsgICpfKl9YNjRfQVNMQ0NfRkxBR1MgICAgICAgID0gLUQNCj4gRURLSUlfR0xVRV9QY2lFeHBy ZXNzQmFzZUFkZHJlc3M9MHgkKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFTRSkNCj4gKyAgKl8qX1g2 NF9BU00xNl9GTEFHUyAgICAgICAgPSAtRA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRk cmVzcz0kKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFTRSloDQo+ICsgIyAqXypfKl9CVUlMRF9GTEFH UyA9IC1zDQo+ICsgICpfKl8qX1ZGUl9GTEFHUyAgID0gLWMNCj4gKyAgKl8qXypfQlVJTERfRkxB R1MgPSAtYw0KPiArDQo+ICtbQnVpbGRPcHRpb25zLkNvbW1vbi5FREtJSV0NCj4gKyAgKl8qX0lB MzJfQVNNX0ZMQUdTICAgICA9ICQoVlBfQlVJTERfT1BUSU9OUykgLUQNCj4gRURLSUlfR0xVRV9Q Y2lFeHByZXNzQmFzZUFkZHJlc3M9JChQTEFURk9STV9QQ0lFWFBSRVNTX0JBU0UpaCAtDQo+IERO T0NTX1MzX1NVUFBPUlQNCj4gKw0KPiArICAqXypfSUEzMl9DQ19GTEFHUyAgICAgID0gJChFREtf RURLSUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykNCj4gKyAgKl8qX0lBMzJfVkZSUFBfRkxB R1MgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICsgICpfKl9J QTMyX0FQUF9GTEFHUyAgICAgPSAkKEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJT05T KQ0KPiArICAqXypfSUEzMl9QUF9GTEFHUyAgICAgID0gJChFREtfRURLSUlfRFNDX0ZFQVRVUkVf QlVJTERfT1BUSU9OUykNCj4gKyAgKl8qX0lBMzJfQVNMUFBfRkxBR1MgICA9ICQoRURLX0VES0lJ X0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICsNCj4gKyAgKl8qX1g2NF9DQ19GTEFHUyAg ICAgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICQoU09VUkNF X0xFVkVMX0RFQlVHX0JVSUxEX09QVElPTlMpDQo+ICsgICpfKl9YNjRfVkZSUFBfRkxBR1MgICAg PSAkKEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJT05TKQ0KPiArICAqXypfWDY0X0FQ UF9GTEFHUyAgICAgID0gJChFREtfRURLSUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykNCj4g KyAgKl8qX1g2NF9QUF9GTEFHUyAgICAgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxE X09QVElPTlMpDQo+ICsgICpfKl9YNjRfQVNMUFBfRkxBR1MgICAgPSAkKEVES19FREtJSV9EU0Nf RkVBVFVSRV9CVUlMRF9PUFRJT05TKQ0KPiArDQo+ICsNCj4gK1tDb21wb25lbnRzLlg2NF0NCj4g Kw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJH RVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0kyY0J1cy5pbmYgew0KPiArICAgIDxQY2RzUGF0 Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVi dWdQcmludEVycm9yTGV2ZWx8MHhGMDAwMDA0Mw0KPiArICB9DQo+ICsNCj4gKw0KPiAkKFBMQVRG T1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0K PiBBUkNISVRFQ1RVUkUpL0kyY0hvc3QuaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9k dWxlPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJv ckxldmVsfDB4RjAwMDAwNDMNCj4gKyAgfQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tB R0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkv STJjUG9ydEEwUGlvLmluZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAg ICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDAw MDAwMDQzDQo+ICsgIH0NCj4gKw0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQo RFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvSTJjTW1p b0RldmljZUR4ZS5pbmYgew0KPiArICAgIDxQY2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAg ICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHgwMDAw MDA0Mw0KPiArICB9DQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1BsYXRmb3JtUGtnSUEzMi5kc2MNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9QbGF0Zm9ybVBrZ0lBMzIuZHNjDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLjIzMjQ3OTQ4NDENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZ0lBMzIuZHNjDQo+IEBA IC0wLDAgKzEsMTY5OSBAQA0KPiArIy8qKiBAZmlsZQ0KPiArIyBQbGF0Zm9ybSBkZXNjcmlwdGlv bi4NCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChjKSAyMDEyICAtIDIwMTksIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKyMqKi8NCj4gKw0K PiArIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICsjDQo+ICsjIERlZmluZXMgU2VjdGlv biAtIHN0YXRlbWVudHMgdGhhdCB3aWxsIGJlIHByb2Nlc3NlZCB0byBjcmVhdGUgYSBNYWtlZmls ZS4NCj4gKyMNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArW0RlZmluZXNdDQo+ ICsgIFBMQVRGT1JNX05BTUUgICAgICAgICAgICAgICAgICAgICAgID0gVmx2MlRibHREZXZpY2VQ a2cNCj4gKyAgUExBVEZPUk1fR1VJRCAgICAgICAgICAgICAgICAgICAgICAgPSA0NjVCMEEwQi03 QUMxLTQ0M2ItOEY2Ny03QjhERUMxNDVGOTANCj4gKyAgUExBVEZPUk1fVkVSU0lPTiAgICAgICAg ICAgICAgICAgICAgPSAwLjENCj4gKyAgRFNDX1NQRUNJRklDQVRJT04gICAgICAgICAgICAgICAg ICAgPSAweDAwMDEwMDA1DQo+ICsNCj4gKyAgIw0KPiArICAjIFNldCBwbGF0Zm9ybSBzcGVjaWZp YyBwYWNrYWdlL2ZvbGRlciBuYW1lLCBzYW1lIGFzIHBhc3NlZCBmcm9tDQo+IFBSRUJVSUxEIHNj cmlwdC4NCj4gKyAgIyBQTEFURk9STV9QQUNLQUdFIHdvdWxkIGJlIHRoZSBzYW1lIGFzIFBMQVRG T1JNX05BTUUgYXMgd2VsbA0KPiBhcyBwYWNrYWdlIGJ1aWxkIGZvbGRlcg0KPiArICAjIERFRklO RSBvbmx5IHRha2VzIGVmZmVjdCBhdCBSOSBEU0MgYW5kIEZERi4NCj4gKyAgIw0KPiArICBERUZJ TkUgICAgICBQTEFURk9STV9QQUNLQUdFICAgICAgICAgICAgICAgID0gVmx2MlRibHREZXZpY2VQ a2cNCj4gKyAgREVGSU5FICAgICAgUExBVEZPUk1fUkNfUEFDS0FHRSAgICAgICAgICAgICA9IFZs djJEZXZpY2VSZWZDb2RlUGtnDQo+ICsgIERFRklORSAgICAgIFBMQVRGT1JNX0JJTkFSWV9QQUNL QUdFICAgICAgICAgPSBWbHYyU29jQmluUGtnDQo+ICsgIE9VVFBVVF9ESVJFQ1RPUlkgICAgICAg ICAgICAgICAgICAgID0gQnVpbGQvJChQTEFURk9STV9QQUNLQUdFKQ0KPiArICBTVVBQT1JURURf QVJDSElURUNUVVJFUyAgICAgICAgICAgICA9IElBMzINCj4gKyAgQlVJTERfVEFSR0VUUyAgICAg ICAgICAgICAgICAgICAgICAgPSBERUJVR3xSRUxFQVNFDQo+ICsgIFNLVUlEX0lERU5USUZJRVIg ICAgICAgICAgICAgICAgICAgID0gREVGQVVMVA0KPiArDQo+ICsgIERFRklORSBDUFVfQVJDSCAg ICAgICAgICAgICAgICAgPVZhbGxleVZpZXcyDQo+ICsgIERFRklORSBQUk9KRUNUX1NDX0ZBTUlM WSAgICAgICAgPUludGVsUGNoDQo+ICsgIERFRklORSBQUk9KRUNUX1NDX1JPT1QNCj4gPS4uLyQo UExBVEZPUk1fUkNfUEFDS0FHRSkvVmFsbGV5VmlldzJTb2MvU291dGhDbHVzdGVyDQo+ICsgIERF RklORSBQUk9KRUNUX1ZMVl9ST09UDQo+ID0uLi8kKFBMQVRGT1JNX1JDX1BBQ0tBR0UpL1ZhbGxl eVZpZXcyU29jL05vcnRoQ2x1c3Rlcg0KPiArDQo+ICsgIERFRklORSBSQ19CSU5BUllfUkVMRUFT RSAgICAgICAgPSBUUlVFDQo+ICsgICMNCj4gKyAgIyBQbGF0Zm9ybSBPbi9PZmYgZmVhdHVyZXMg YXJlIGRlZmluZWQgaGVyZQ0KPiArICAjDQo+ICsgICMNCj4gKyAgIyBQbGF0Zm9ybSBTdXBwb3J0 OjogU2V0IG9ubHkgb25lIHRva2VuIGV4Y2VwdCBDcmVzdHZpZXcgSGlsbHMNCj4gKyAgIw0KPiAr ICAjICAgMy5CYXlsZXlCYXkNCj4gKyAgIyAgICAgRU5CRFRfUEZfRU5BQkxFICA9IFRSVUUNCj4g KyAgIw0KPiArICAhaW5jbHVkZSAkKFBMQVRGT1JNX1BBQ0tBR0UpL0F1dG9QbGF0Zm9ybUNGRy50 eHQNCj4gKyAgIWluY2x1ZGUgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybVBrZ0NvbmZpZy5k c2MNCj4gKw0KPiArIWlmICQoWDY0X0NPTkZJRykgPT0gVFJVRQ0KPiArICBERUZJTkUgICAgICBE WEVfQVJDSElURUNUVVJFICAgICAgICA9IFg2NA0KPiArICBERUZJTkUgICAgICBFREtfRFhFX0FS Q0hJVEVDVFVSRSAgICA9IFg2NA0KPiArICBERUZJTkUgICAgICBVTkRJX0RYRV9BUkNISVRFQ1RV UkUgICA9IDY0DQo+ICshZWxzZQ0KPiArICBERUZJTkUgICAgICBEWEVfQVJDSElURUNUVVJFICAg ICAgICA9IElBMzINCj4gKyAgREVGSU5FICAgICAgRURLX0RYRV9BUkNISVRFQ1RVUkUgICAgPSBJ YTMyDQo+ICsgIERFRklORSAgICAgIFVORElfRFhFX0FSQ0hJVEVDVFVSRSAgID0gMzINCj4gKyFl bmRpZg0KPiArDQo+ICsgIEZMQVNIX0RFRklOSVRJT04gICAgICAgICAgICAgICAgICAgID0gJChQ TEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybVBrZy5mZGYNCj4gKyFpZiAkKExGTUFfRU5BQkxFKSA9 PSBUUlVFDQo+ICsgIEZJWF9MT0FEX1RPUF9NRU1PUllfQUREUkVTUyAgICAgICAgID0gMHhGRkZG RkZGRkZGRkZGRkZGDQo+ICsgIERFRklORSAgIFRPUF9NRU1PUllfQUREUkVTUyAgICAgICAgID0g MHhGRkZGRkZGRkZGRkZGRkZGDQo+ICshZWxzZQ0KPiArICBGSVhfTE9BRF9UT1BfTUVNT1JZX0FE RFJFU1MgICAgICAgICA9IDB4MA0KPiArICBERUZJTkUgICBUT1BfTUVNT1JZX0FERFJFU1MgICAg ICAgICA9IDB4MA0KPiArIWVuZGlmDQo+ICsNCj4gKyAgREVGSU5FICAgUExBVEZPUk1fUENJRVhQ UkVTU19CQVNFICAgPSAwRTAwMDAwMDANCj4gKw0KPiArICBERUZJTkUgU0VDX0VOQUJMRSA9IEZB TFNFDQo+ICsgIERFRklORSBTRUNfREVCVUdfSU5GT19FTkFCTEUgPSBGQUxTRQ0KPiArICBERUZJ TkUgRlRQTV9FTkFCTEUgPSBGQUxTRQ0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCj4gKyMNCj4gKyMgU0tVIElkZW50aWZpY2F0aW9uIHNlY3Rpb24gLSBsaXN0IG9mIGFsbCBT S1UgSURzIHN1cHBvcnRlZCBieSB0aGlzDQo+ICsjICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgUGxhdGZvcm0uDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gK1tT a3VJZHNdDQo+ICsgIDB8REVGQVVMVCAgICAgICAgICAgICAgIyBUaGUgZW50cnk6IDB8REVGQVVM VCBpcyByZXNlcnZlZCBhbmQgYWx3YXlzIHJlcXVpcmVkLg0KPiArDQo+ICsjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCj4gKyMNCj4gKyMgTGlicmFyeSBDbGFzcyBzZWN0aW9uIC0gbGlzdCBv ZiBhbGwgTGlicmFyeSBDbGFzc2VzIG5lZWRlZCBieSB0aGlzIFBsYXRmb3JtLg0KPiArIw0KPiAr IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj DQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICtbTGlicmFyeUNsYXNzZXMuY29tbW9uXQ0K PiArICAjDQo+ICsgICMgRW50cnkgcG9pbnQNCj4gKyAgIw0KPiArDQo+IFBlaUNvcmVFbnRyeVBv aW50fE1kZVBrZy9MaWJyYXJ5L1BlaUNvcmVFbnRyeVBvaW50L1BlaUNvcmVFbnRyeVBvaW50Lmlu DQo+IGYNCj4gKyAgUGVpbUVudHJ5UG9pbnR8TWRlUGtnL0xpYnJhcnkvUGVpbUVudHJ5UG9pbnQv UGVpbUVudHJ5UG9pbnQuaW5mDQo+ICsNCj4gRHhlQ29yZUVudHJ5UG9pbnR8TWRlUGtnL0xpYnJh cnkvRHhlQ29yZUVudHJ5UG9pbnQvRHhlQ29yZUVudHJ5UG9pbnQNCj4gLmluZg0KPiArDQo+IFVl ZmlEcml2ZXJFbnRyeVBvaW50fE1kZVBrZy9MaWJyYXJ5L1VlZmlEcml2ZXJFbnRyeVBvaW50L1Vl ZmlEcml2ZXJFbnRyeQ0KPiBQb2ludC5pbmYNCj4gKw0KPiBVZWZpQXBwbGljYXRpb25FbnRyeVBv aW50fE1kZVBrZy9MaWJyYXJ5L1VlZmlBcHBsaWNhdGlvbkVudHJ5UG9pbnQvVWVmaUENCj4gcHBs aWNhdGlvbkVudHJ5UG9pbnQuaW5mDQo+ICsNCj4gRHhlU21tRHJpdmVyRW50cnlQb2ludHxJbnRl bEZyYW1ld29ya1BrZy9MaWJyYXJ5L0R4ZVNtbURyaXZlckVudHJ5UA0KPiBvaW50L0R4ZVNtbURy aXZlckVudHJ5UG9pbnQuaW5mDQo+ICsNCj4gKyAgIw0KPiArICAjIEJhc2ljDQo+ICsgICMNCj4g KyAgQmFzZUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlTGliL0Jhc2VMaWIuaW5mDQo+ICshaWYgJChT U0UyX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IEJhc2VNZW1vcnlMaWJ8TWRlUGtnL0xpYnJhcnkv QmFzZU1lbW9yeUxpYlNzZTIvQmFzZU1lbW9yeUxpYlNzZTINCj4gLmluZg0KPiArIWVsc2UNCj4g Kw0KPiBCYXNlTWVtb3J5TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VNZW1vcnlMaWJSZXBTdHIvQmFz ZU1lbW9yeUxpYlINCj4gZXBTdHIuaW5mDQo+ICshZW5kaWYNCj4gKyAgUHJpbnRMaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZVByaW50TGliL0Jhc2VQcmludExpYi5pbmYNCj4gKyAgQ3B1TGlifE1kZVBr Zy9MaWJyYXJ5L0Jhc2VDcHVMaWIvQmFzZUNwdUxpYi5pbmYNCj4gKyAgSW9MaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZUlvTGliSW50cmluc2ljL0Jhc2VJb0xpYkludHJpbnNpYy5pbmYNCj4gKyAgUGNp TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lMaWJDZjgvQmFzZVBjaUxpYkNmOC5pbmYNCj4gKw0K PiBQY2lTZWdtZW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lTZWdtZW50TGliUGNpL0Jhc2VQ Y2lTZWdtZW50TGliUA0KPiBjaS5pbmYNCj4gKyAgUGNpQ2Y4TGlifE1kZVBrZy9MaWJyYXJ5L0Jh c2VQY2lDZjhMaWIvQmFzZVBjaUNmOExpYi5pbmYNCj4gKyAgUGNpRXhwcmVzc0xpYnxNZGVQa2cv TGlicmFyeS9CYXNlUGNpRXhwcmVzc0xpYi9CYXNlUGNpRXhwcmVzc0xpYi5pbmYNCj4gKw0KPiBD YWNoZU1haW50ZW5hbmNlTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VDYWNoZU1haW50ZW5hbmNlTGli L0Jhc2VDYWMNCj4gaGVNYWludGVuYW5jZUxpYi5pbmYNCj4gKyAgUGVDb2ZmTGlifE1kZVBrZy9M aWJyYXJ5L0Jhc2VQZUNvZmZMaWIvQmFzZVBlQ29mZkxpYi5pbmYNCj4gKw0KPiBQZUNvZmZHZXRF bnRyeVBvaW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQZUNvZmZHZXRFbnRyeVBvaW50TGliL0Jh c2UNCj4gUGVDb2ZmR2V0RW50cnlQb2ludExpYi5pbmYNCj4gKyFpZiAkKFJDX0JJTkFSWV9SRUxF QVNFKSA9PSBUUlVFDQo+ICsNCj4gUGNoUGxhdGZvcm1MaWJ8Vmx2MlRibHREZXZpY2VQa2cvTGli cmFyeS9QY2hQbGF0Zm9ybUxpYi9QY2hQbGF0Zm9ybUxpYi5pbg0KPiBmDQo+ICshZW5kaWYNCj4g KyAgIw0KPiArICAjIFVFRkkgJiBQSQ0KPiArICAjDQo+ICsNCj4gVWVmaUJvb3RTZXJ2aWNlc1Rh YmxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi9VZWZpQm8NCj4g b3RTZXJ2aWNlc1RhYmxlTGliLmluZg0KPiArDQo+IFVlZmlSdW50aW1lU2VydmljZXNUYWJsZUxp YnxNZGVQa2cvTGlicmFyeS9VZWZpUnVudGltZVNlcnZpY2VzVGFibGVMaWINCj4gL1VlZmlSdW50 aW1lU2VydmljZXNUYWJsZUxpYi5pbmYNCj4gKyAgVWVmaVJ1bnRpbWVMaWJ8TWRlUGtnL0xpYnJh cnkvVWVmaVJ1bnRpbWVMaWIvVWVmaVJ1bnRpbWVMaWIuaW5mDQo+ICsgIFVlZmlMaWJ8TWRlUGtn L0xpYnJhcnkvVWVmaUxpYi9VZWZpTGliLmluZg0KPiArICBIaWlMaWJ8TWRlTW9kdWxlUGtnL0xp YnJhcnkvVWVmaUhpaUxpYi9VZWZpSGlpTGliLmluZg0KPiArDQo+IFVlZmlIaWlTZXJ2aWNlc0xp YnxNZGVNb2R1bGVQa2cvTGlicmFyeS9VZWZpSGlpU2VydmljZXNMaWIvVWVmaUhpaVNlcnZpY2UN Cj4gc0xpYi5pbmYNCj4gKyAgRGV2aWNlUGF0aExpYnxNZGVQa2cvTGlicmFyeS9VZWZpRGV2aWNl UGF0aExpYi9VZWZpRGV2aWNlUGF0aExpYi5pbmYNCj4gKw0KPiBVZWZpRGVjb21wcmVzc0xpYnxN ZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlVWVmaVRpYW5vQ3VzdG9tRGVjb21wcg0KPiBlc3NMaWIv QmFzZVVlZmlUaWFub0N1c3RvbURlY29tcHJlc3NMaWIuaW5mDQo+ICsNCj4gUGVpU2VydmljZXNU YWJsZVBvaW50ZXJMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpU2VydmljZXNUYWJsZVBvaW50ZXJMaWJJ ZHQvUA0KPiBlaVNlcnZpY2VzVGFibGVQb2ludGVyTGliSWR0LmluZg0KPiArICBQZWlTZXJ2aWNl c0xpYnxNZGVQa2cvTGlicmFyeS9QZWlTZXJ2aWNlc0xpYi9QZWlTZXJ2aWNlc0xpYi5pbmYNCj4g KyAgRHhlU2VydmljZXNMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlU2VydmljZXNMaWIvRHhlU2Vydmlj ZXNMaWIuaW5mDQo+ICsNCj4gRHhlU2VydmljZXNUYWJsZUxpYnxNZGVQa2cvTGlicmFyeS9EeGVT ZXJ2aWNlc1RhYmxlTGliL0R4ZVNlcnZpY2VzVGFibA0KPiBlTGliLmluZg0KPiArICBVZWZpQ3B1 TGlifFVlZmlDcHVQa2cvTGlicmFyeS9CYXNlVWVmaUNwdUxpYi9CYXNlVWVmaUNwdUxpYi5pbmYN Cj4gKyAgVWVmaVVzYkxpYnxNZGVQa2cvTGlicmFyeS9VZWZpVXNiTGliL1VlZmlVc2JMaWIuaW5m DQo+ICsNCj4gR2VuZXJpY0Jkc0xpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL092ZXJyaWRlL0ludGVs RnJhbWV3b3JrTW9kdWxlUA0KPiBrZy9MaWJyYXJ5L0dlbmVyaWNCZHNMaWIvR2VuZXJpY0Jkc0xp Yi5pbmYNCj4gKw0KPiBCbXBTdXBwb3J0TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jhc2VCbXBT dXBwb3J0TGliL0Jhc2VCbXBTdXBwDQo+IG9ydExpYi5pbmYNCj4gKyAgU2FmZUludExpYnxNZGVQ a2cvTGlicmFyeS9CYXNlU2FmZUludExpYi9CYXNlU2FmZUludExpYi5pbmYNCj4gKw0KPiBQbGF0 Zm9ybUJkc0xpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvUGxhdGZvcm1CZHNMaWIvUGxh dGZvcm1CDQo+IGRzTGliLmluZg0KPiArICBOZXRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhl TmV0TGliL0R4ZU5ldExpYi5pbmYNCj4gKyAgRHBjTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4 ZURwY0xpYi9EeGVEcGNMaWIuaW5mDQo+ICsNCj4gRmxhc2hEZXZpY2VMaWJ8JChQTEFURk9STV9Q QUNLQUdFKS9MaWJyYXJ5L0ZsYXNoRGV2aWNlTGliL0ZsYXNoRGV2aWNlDQo+IExpYi5pbmYNCj4g Kw0KPiBVZWZpQm9vdE1hbmFnZXJMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvVWVmaUJvb3RNYW5h Z2VyTGliL1VlZmlCb28NCj4gdE1hbmFnZXJMaWIuaW5mDQo+ICsgICMNCj4gKyAgIyBGcmFtZXdv cmsNCj4gKyAgIw0KPiArIWlmICQoUzNfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gUzNCb290U2Ny aXB0TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1BpRHhlUzNCb290U2NyaXB0TGliL0R4ZVMzQm9v dFNjDQo+IHJpcHRMaWIuaW5mDQo+ICshZWxzZQ0KPiArDQo+IFMzQm9vdFNjcmlwdExpYnxNZGVQ a2cvTGlicmFyeS9CYXNlUzNCb290U2NyaXB0TGliTnVsbC9CYXNlUzNCb290U2NyaXB0TA0KPiBp Yk51bGwuaW5mDQo+ICshZW5kaWYNCj4gKyAgUzNJb0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlUzNJ b0xpYi9CYXNlUzNJb0xpYi5pbmYNCj4gKyAgUzNQY2lMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVMz UGNpTGliL0Jhc2VTM1BjaUxpYi5pbmYNCj4gKw0KPiArICAjDQo+ICsgICMgR2VuZXJpYyBNb2R1 bGVzDQo+ICsgICMNCj4gKyFpZiAkKFVTQl9FTkFCTEUpID09IFRSVUUNCj4gKyAgVWVmaVVzYkxp YnxNZGVQa2cvTGlicmFyeS9VZWZpVXNiTGliL1VlZmlVc2JMaWIuaW5mDQo+ICshZW5kaWYNCj4g KyFpZiAkKFNDU0lfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIFVlZmlTY3NpTGlifE1kZVBrZy9MaWJy YXJ5L1VlZmlTY3NpTGliL1VlZmlTY3NpTGliLmluZg0KPiArIWVuZGlmDQo+ICshaWYgJChORVRX T1JLX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBOZXRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhl TmV0TGliL0R4ZU5ldExpYi5pbmYNCj4gKyAgSXBJb0xpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9E eGVJcElvTGliL0R4ZUlwSW9MaWIuaW5mDQo+ICsgIFVkcElvTGlifE1kZU1vZHVsZVBrZy9MaWJy YXJ5L0R4ZVVkcElvTGliL0R4ZVVkcElvTGliLmluZg0KPiArICBUY3BJb0xpYnxNZGVNb2R1bGVQ a2cvTGlicmFyeS9EeGVUY3BJb0xpYi9EeGVUY3BJb0xpYi5pbmYNCj4gKyAgRHBjTGlifE1kZU1v ZHVsZVBrZy9MaWJyYXJ5L0R4ZURwY0xpYi9EeGVEcGNMaWIuaW5mDQo+ICshZW5kaWYNCj4gKyFp ZiAkKFMzX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBTM0xpYnxJbnRlbEZyYW1ld29ya01vZHVsZVBr Zy9MaWJyYXJ5L1BlaVMzTGliL1BlaVMzTGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiBP ZW1Ib29rU3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9PZW1Ib29rU3RhdHVzQ29k ZUxpYk4NCj4gdWxsL09lbUhvb2tTdGF0dXNDb2RlTGliTnVsbC5pbmYNCj4gKyFpZiAkKENBUFNV TEVfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIENhcHN1bGVMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkv RHhlQ2Fwc3VsZUxpYkZtcC9EeGVDYXBzdWxlTGliLmluZg0KPiArIWVsc2UNCj4gKw0KPiBDYXBz dWxlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUNhcHN1bGVMaWJOdWxsL0R4ZUNhcHN1bGVM aWJOdWxsLmkNCj4gbmYNCj4gKyFlbmRpZg0KPiArDQo+IEZtcEF1dGhlbnRpY2F0aW9uTGlifE1k ZU1vZHVsZVBrZy9MaWJyYXJ5L0ZtcEF1dGhlbnRpY2F0aW9uTGliTnVsbC9GDQo+IG1wQXV0aGVu dGljYXRpb25MaWJOdWxsLmluZg0KPiArICBJbmlQYXJzaW5nTGlifFNpZ25lZENhcHN1bGVQa2cv TGlicmFyeS9JbmlQYXJzaW5nTGliL0luaVBhcnNpbmdMaWIuaW5mDQo+ICsNCj4gUGxhdGZvcm1G bGFzaEFjY2Vzc0xpYnxWbHYyVGJsdERldmljZVBrZy9GZWF0dXJlL0NhcHN1bGUvTGlicmFyeS9Q bGF0Zm9yDQo+IG1GbGFzaEFjY2Vzc0xpYi9QbGF0Zm9ybUZsYXNoQWNjZXNzTGliLmluZg0KPiAr DQo+IE1pY3JvY29kZUZsYXNoQWNjZXNzTGlifFZsdjJUYmx0RGV2aWNlUGtnL0ZlYXR1cmUvQ2Fw c3VsZS9MaWJyYXJ5L1BsYXRmbw0KPiBybUZsYXNoQWNjZXNzTGliL1BsYXRmb3JtRmxhc2hBY2Nl c3NMaWIuaW5mDQo+ICsNCj4gRGlzcGxheVVwZGF0ZVByb2dyZXNzTGlifE1kZU1vZHVsZVBrZy9M aWJyYXJ5L0Rpc3BsYXlVcGRhdGVQcm9ncmVzc0xpDQo+IGJHcmFwaGljcy9EaXNwbGF5VXBkYXRl UHJvZ3Jlc3NMaWJHcmFwaGljcy5pbmYNCj4gKw0KPiBTeW5jaHJvbml6YXRpb25MaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZVN5bmNocm9uaXphdGlvbkxpYi9CYXNlU3luY2hyb25peg0KPiBhdGlvbkxp Yi5pbmYNCj4gKw0KPiBTZWN1cml0eU1hbmFnZW1lbnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkv RHhlU2VjdXJpdHlNYW5hZ2VtZW50TA0KPiBpYi9EeGVTZWN1cml0eU1hbmFnZW1lbnRMaWIuaW5m DQo+ICsgIElvQXBpY0xpYnxQY0F0Q2hpcHNldFBrZy9MaWJyYXJ5L0Jhc2VJb0FwaWNMaWIvQmFz ZUlvQXBpY0xpYi5pbmYNCj4gKw0KPiBEZWJ1Z1ByaW50RXJyb3JMZXZlbExpYnxNZGVQa2cvTGli cmFyeS9CYXNlRGVidWdQcmludEVycm9yTGV2ZWxMaWIvQmFzDQo+IGVEZWJ1Z1ByaW50RXJyb3JM ZXZlbExpYi5pbmYNCj4gKw0KPiArICAjDQo+ICsgICMgQ1BVDQo+ICsgICMNCj4gKyAgTXRyckxp YnxVZWZpQ3B1UGtnL0xpYnJhcnkvTXRyckxpYi9NdHJyTGliLmluZg0KPiArDQo+IExvY2FsQXBp Y0xpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvQmFzZVhBcGljWDJBcGljTGliL0Jhc2VYQXBpY1gyQXBp Y0xpYi5pbg0KPiBmDQo+ICsNCj4gQ3B1RXhjZXB0aW9uSGFuZGxlckxpYnxVZWZpQ3B1UGtnL0xp YnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9EeGVDDQo+IHB1RXhjZXB0aW9uSGFuZGxlckxp Yi5pbmYNCj4gKyAgTXBJbml0TGlifFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvRHhlTXBJ bml0TGliLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBJQ0gNCj4gKyAgIw0KPiArICBTbWJ1c0xp YnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvU21idXNMaWIvU21idXNMaWIuaW5mDQo+ICsg IFNtbUxpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvUGNoU21tTGliL1BjaFNtbUxpYi5p bmYNCj4gKw0KPiArICAjDQo+ICsgICMgUGxhdGZvcm0NCj4gKyAgIw0KPiArDQo+IFRpbWVyTGli fCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBj aEFjDQo+IHBpVGltZXJMaWIuaW5mDQo+ICsNCj4gUmVzZXRTeXN0ZW1MaWJ8JChQTEFURk9STV9Q QUNLQUdFKS9MaWJyYXJ5L1Jlc2V0U3lzdGVtTGliL1Jlc2V0U3lzDQo+IHRlbUxpYi5pbmYNCj4g Kw0KPiArDQo+IFBsYXRmb3JtQ21vc0xpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvUGxh dGZvcm1DbW9zTGliL1BsYXRmb3INCj4gbUNtb3NMaWIuaW5mDQo+ICsNCj4gKyAgIw0KPiArICAj IE1pc2MNCj4gKyAgIw0KPiArDQo+IE1vbm9TdGF0dXNDb2RlTGlifCQoUExBVEZPUk1fUEFDS0FH RSkvTW9ub1N0YXR1c0NvZGUvTW9ub1N0YXQNCj4gdXNDb2RlLmluZg0KPiArIWlmICQoVEFSR0VU KSA9PSBSRUxFQVNFDQo+ICsgIERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYk51 bGwvQmFzZURlYnVnTGliTnVsbC5pbmYNCj4gKw0KPiBTZXJpYWxQb3J0TGlifE1kZVBrZy9MaWJy YXJ5L0Jhc2VTZXJpYWxQb3J0TGliTnVsbC9CYXNlU2VyaWFsUG9ydExpYk51bGwuaW4NCj4gZg0K PiArIWVsc2UNCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJp YWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArDQo+IFNlcmlhbFBvcnRM aWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExp Yi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlUGtnL0xpYnJh cnkvQmFzZVBlcmZvcm1hbmNlTGliTnVsbC9CYXNlUGVyZm9ybWFuYw0KPiBlTGliTnVsbC5pbmYN Cj4gKyAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2RMaWJOdWxsL0Jhc2VQY2RMaWJOdWxs LmluZg0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgVHBtQ29tbUxpYnxTZWN1 cml0eVBrZy9MaWJyYXJ5L1RwbUNvbW1MaWIvVHBtQ29tbUxpYi5pbmYNCj4gKw0KPiBUcG0xMkNv bW1hbmRMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9UcG0xMkNvbW1hbmRMaWIvVHBtMTJDb21tYQ0K PiBuZExpYi5pbmYNCj4gKw0KPiBUcG0xMkRldmljZUxpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L1Rw bTEyRGV2aWNlTGliRFRwbS9UcG0xMkRldmljZUxpYg0KPiBEVHBtLmluZg0KPiArDQo+ICshZW5k aWYNCj4gKw0KPiArIWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IFBl Q29mZkV4dHJhQWN0aW9uTGlifFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9QZUNvZmZFeHRy YUFjdGlvbkxpYkQNCj4gZWJ1Zy9QZUNvZmZFeHRyYUFjdGlvbkxpYkRlYnVnLmluZg0KPiArDQo+ IERlYnVnQ29tbXVuaWNhdGlvbkxpYnxTb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdD b21tdW5pY2F0aQ0KPiBvbkxpYlNlcmlhbFBvcnQvRGVidWdDb21tdW5pY2F0aW9uTGliU2VyaWFs UG9ydC5pbmYNCj4gKw0KPiBQbGF0Zm9ybUhvb2tMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFz ZVBsYXRmb3JtSG9va0xpYk51bGwvQmFzZVBsYQ0KPiB0Zm9ybUhvb2tMaWJOdWxsLmluZg0KPiAr DQo+IFNlcmlhbFBvcnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFzZVNlcmlhbFBvcnRMaWIx NjU1MC9CYXNlU2VyaWFsUG9ydA0KPiBMaWIxNjU1MC5pbmYNCj4gKyFlbHNlDQo+ICsNCj4gUGVD b2ZmRXh0cmFBY3Rpb25MaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlQ29mZkV4dHJhQWN0aW9uTGli TnVsbC9CYXNlUA0KPiBlQ29mZkV4dHJhQWN0aW9uTGliTnVsbC5pbmYNCj4gKw0KPiBEZWJ1Z0Fn ZW50TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0RlYnVnQWdlbnRMaWJOdWxsL0RlYnVnQWdlbnRM aQ0KPiBiTnVsbC5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsgICMNCj4gKyAgIyBDcnlwdExpYg0K PiArICAjDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBJbnRyaW5zaWNMaWJ8 Q3J5cHRvUGtnL0xpYnJhcnkvSW50cmluc2ljTGliL0ludHJpbnNpY0xpYi5pbmYNCj4gKyAgT3Bl bnNzbExpYnxDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIuaW5mDQo+ICsh ZW5kaWYNCj4gKw0KPiArIEJpb3NJZExpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvQmlv c0lkTGliL0Jpb3NJZExpYi5pbmYNCj4gKyBDcHVJQTMyTGlifCQoUExBVEZPUk1fUEFDS0FHRSkv TGlicmFyeS9DcHVJQTMyTGliL0NwdUlBMzJMaWIuaW5mDQo+ICsNCj4gKw0KPiBTdGFsbFNtbUxp YnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvU3RhbGxTbW1MaWIvU3RhbGxTbW1MaWIuaW5m DQo+ICsNCj4gKyFpZiAkKFNFQ1VSRV9CT09UX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBPcGVuc3Ns TGlifENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4gKyAgSW50 cmluc2ljTGlifENyeXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JbnRyaW5zaWNMaWIuaW5m DQo+ICsNCj4gUGxhdGZvcm1TZWN1cmVMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9QbGF0Zm9ybVNl Y3VyZUxpYk51bGwvUGxhdGZvcm1TZWN1DQo+IHJlTGliTnVsbC5pbmYNCj4gKw0KPiBUcG1NZWFz dXJlbWVudExpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZVRwbU1lYXN1cmVtZW50TGliL0R4ZVRw DQo+IG1NZWFzdXJlbWVudExpYi5pbmYNCj4gKyAgQXV0aFZhcmlhYmxlTGlifFNlY3VyaXR5UGtn L0xpYnJhcnkvQXV0aFZhcmlhYmxlTGliL0F1dGhWYXJpYWJsZUxpYi5pbmYNCj4gKyAgRmlsZUV4 cGxvcmVyTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0ZpbGVFeHBsb3JlckxpYi9GaWxlRXhwbG9y ZXJMaWIuaW5mDQo+ICshZWxzZQ0KPiArDQo+IFRwbU1lYXN1cmVtZW50TGlifE1kZU1vZHVsZVBr Zy9MaWJyYXJ5L1RwbU1lYXN1cmVtZW50TGliTnVsbC9UcA0KPiBtTWVhc3VyZW1lbnRMaWJOdWxs LmluZg0KPiArDQo+IEF1dGhWYXJpYWJsZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9BdXRoVmFy aWFibGVMaWJOdWxsL0F1dGhWYXJpYWJsZUwNCj4gaWJOdWxsLmluZg0KPiArIWVuZGlmDQo+ICsg IFZhckNoZWNrTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1ZhckNoZWNrTGliL1ZhckNoZWNrTGli LmluZg0KPiArIWlmICQoUkNfQklOQVJZX1JFTEVBU0UpID09IFRSVUUNCj4gKyAgSTJjTGlifFZs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvSTJDTGliL0kyQ0xpYk51bGwuaW5mDQo+ICshZW5kaWYN Cj4gKyAgU2hlbGxMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxMaWIvVWVmaVNoZWxsTGli LmluZg0KPiArICBGaWxlSGFuZGxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlGaWxlSGFuZGxlTGli L1VlZmlGaWxlSGFuZGxlTGliLmluZg0KPiArICBTb3J0TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5 L1VlZmlTb3J0TGliL1VlZmlTb3J0TGliLmluZg0KPiArIWlmICQoRlRQTV9FTkFCTEUpID09IFRS VUUgfHwgJChORVRXT1JLX0lTQ1NJX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBCYXNlQ3J5cHRMaWJ8 Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL0Jhc2VDcnlwdExpYi5pbmYNCj4gKyAgT3Bl bnNzbExpYnxDcnlwdG9Qa2cvTGlicmFyeS9PcGVuc3NsTGliL09wZW5zc2xMaWIuaW5mDQo+ICsg IEludHJpbnNpY0xpYnxDcnlwdG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvSW50cmluc2ljTGli LmluZg0KPiArIWVuZGlmDQo+ICsNCj4gVHBtTWVhc3VyZW1lbnRMaWJ8U2VjdXJpdHlQa2cvTGli cmFyeS9EeGVUcG1NZWFzdXJlbWVudExpYi9EeGVUcA0KPiBtTWVhc3VyZW1lbnRMaWIuaW5mDQo+ ICsNCj4gVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUY2cy UGh5c2ljYWxQcmVzZW5jZUxpYi9EDQo+IHhlVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuaW5mDQo+ ICsNCj4gVGNnMlBwVmVuZG9yTGlifFNlY3VyaXR5UGtnL0xpYnJhcnkvVGNnMlBwVmVuZG9yTGli TnVsbC9UY2cyUHBWZW5kb3JMDQo+IGliTnVsbC5pbmYNCj4gKw0KPiArDQo+ICsNCj4gVHBtMkNv bW1hbmRMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9UcG0yQ29tbWFuZExpYi9UcG0yQ29tbWFuZEwN Cj4gaWIuaW5mDQo+ICshaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArICBGc3BB cGlMaWJ8SW50ZWxGc3BXcmFwcGVyUGtnL0xpYnJhcnkvQmFzZUZzcEFwaUxpYi9CYXNlRnNwQXBp TGliLmluZg0KPiArDQo+IEZzcFBsYXRmb3JtSW5mb0xpYnxJbnRlbEZzcFdyYXBwZXJQa2cvTGli cmFyeS9CYXNlRnNwUGxhdGZvcm1JbmZvTGliU2ENCj4gbXBsZS9CYXNlRnNwUGxhdGZvcm1JbmZv TGliU2FtcGxlLmluZg0KPiArDQo+IEZzcFBsYXRmb3JtU2VjTGlifFZsdjJUYmx0RGV2aWNlUGtn L0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNGc3BQbGF0Zm9ybVNlDQo+IGNMaWJWbHYyL0ZzcFBsYXRm b3JtU2VjTGliVmx2Mi5pbmYNCj4gKw0KPiBGc3BIb2JQcm9jZXNzTGlifFZsdjJUYmx0RGV2aWNl UGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9QZWlGc3BIb2JQcm9jZXNzDQo+IExpYlZsdjIvRnNwSG9i UHJvY2Vzc0xpYlZsdjIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArICBCb290TG9nb0xpYnxNZGVN b2R1bGVQa2cvTGlicmFyeS9Cb290TG9nb0xpYi9Cb290TG9nb0xpYi5pbmYNCj4gKw0KPiArW0xp YnJhcnlDbGFzc2VzLklBMzIuU0VDXQ0KPiArIWlmICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBU UlVFDQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1hbmNl TGliTnVsbC9CYXNlUGVyZm9ybWFuYw0KPiBlTGliTnVsbC5pbmYNCj4gKyFlbmRpZg0KPiArICBE ZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJOdWxsL0Jhc2VEZWJ1Z0xpYk51bGwu aW5mDQo+ICsgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9CYXNlUGNkTGli TnVsbC5pbmYNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzLklBMzIuUEVJTSwgTGlicmFyeUNsYXNz ZXMuSUEzMi5QRUlfQ09SRSwNCj4gTGlicmFyeUNsYXNzZXMuSUEzMi5TRUNdDQo+ICsgICMNCj4g KyAgIyBQRUkgcGhhc2UgY29tbW9uDQo+ICsgICMNCj4gKw0KPiArICBQY2RMaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBjZExpYk51bGwuaW5mDQo+ICsgIEhvYkxpYnxNZGVQ a2cvTGlicmFyeS9QZWlIb2JMaWIvUGVpSG9iTGliLmluZg0KPiArDQo+IE1lbW9yeUFsbG9jYXRp b25MaWJ8TWRlUGtnL0xpYnJhcnkvUGVpTWVtb3J5QWxsb2NhdGlvbkxpYi9QZWlNZW1vcnkNCj4g QWxsb2NhdGlvbkxpYi5pbmYNCj4gKw0KPiBSZXBvcnRTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBr Zy9MaWJyYXJ5L1BlaVJlcG9ydFN0YXR1c0NvZGVMaWIvUGVpUg0KPiBlcG9ydFN0YXR1c0NvZGVM aWIuaW5mDQo+ICsNCj4gRXh0cmFjdEd1aWRlZFNlY3Rpb25MaWJ8TWRlUGtnL0xpYnJhcnkvUGVp RXh0cmFjdEd1aWRlZFNlY3Rpb25MaWIvUGVpRXgNCj4gdHJhY3RHdWlkZWRTZWN0aW9uTGliLmlu Zg0KPiArDQo+IE11bHRpUGxhdGZvcm1MaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L011 bHRpUGxhdGZvcm1MaWIvTXVsdGlQbA0KPiBhdGZvcm1MaWIuaW5mDQo+ICsgIEJhc2VDcnlwdExp YnxDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUGVpQ3J5cHRMaWIuaW5mDQo+ICsNCj4g Q3B1RXhjZXB0aW9uSGFuZGxlckxpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFu ZGxlckxpYi9TZWNQDQo+IGVpQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5pbmYNCj4gKyAgTXBJbml0 TGlifFVlZmlDcHVQa2cvTGlicmFyeS9NcEluaXRMaWIvUGVpTXBJbml0TGliLmluZg0KPiArDQo+ ICshaWYgJChQRVJGT1JNQU5DRV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBQZXJmb3JtYW5jZUxp YnxNZGVNb2R1bGVQa2cvTGlicmFyeS9QZWlQZXJmb3JtYW5jZUxpYi9QZWlQZXJmb3JtYW5jDQo+ IGVMaWIuaW5mDQo+ICsNCj4gVGltZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0lu dGVsUGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKyFlbmRp Zg0KPiArDQo+ICshaWYgJChUQVJHRVQpID09IFJFTEVBU0UNCj4gKyAgRGVidWdMaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZURlYnVnTGliTnVsbC9CYXNlRGVidWdMaWJOdWxsLmluZg0KPiArDQo+IFNl cmlhbFBvcnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVNlcmlhbFBvcnRMaWJOdWxsL0Jhc2VTZXJp YWxQb3J0TGliTnVsbC5pbg0KPiBmDQo+ICshZWxzZQ0KPiArDQo+IERlYnVnTGlifE1kZU1vZHVs ZVBrZy9MaWJyYXJ5L1BlaUR4ZURlYnVnTGliUmVwb3J0U3RhdHVzQ29kZS9QZWlEeA0KPiBlRGVi dWdMaWJSZXBvcnRTdGF0dXNDb2RlLmluZg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8JChQTEFURk9S TV9QQUNLQUdFKS9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExpYi5pbmYNCj4gKyFl bmRpZg0KPiArDQo+ICsNCj4gTG9ja0JveExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1Mb2Nr Qm94TGliL1NtbUxvY2tCb3hQZWlMaWIuaW5mDQo+ICsNCj4gSGFzaExpYnxTZWN1cml0eVBrZy9M aWJyYXJ5L0hhc2hMaWJCYXNlQ3J5cHRvUm91dGVyL0hhc2hMaWJCYXNlQ3J5cHRvUg0KPiBvdXRl clBlaS5pbmYNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBE ZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NlY1Bl aURlYnVnQWcNCj4gZW50TGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKyAhaWYgJChNSU5OT1cy X0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArDQo+IFBsYXRmb3JtRnNwTGlifFZsdjJUYmx0RGV2aWNl UGtnL0xpYnJhcnkvUGxhdGZvcm1Gc3BMaWIvUGxhdGZvcm1Gc3BMaWIuaW4NCj4gZg0KPiArICFl bmRpZg0KPiArIWlmICQoRlRQTV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBUcG0yRGV2aWNlTGli fFZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ1BlaS9UcG0yRGV2aQ0K PiBjZUxpYlNlQy5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMuSUEzMl0N Cj4gKyAgIw0KPiArICAjIERYRSBwaGFzZSBjb21tb24NCj4gKyAgIw0KPiArICBIb2JMaWJ8TWRl UGtnL0xpYnJhcnkvRHhlSG9iTGliL0R4ZUhvYkxpYi5pbmYNCj4gKyAgUGNkTGlifE1kZVBrZy9M aWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsNCj4gTWVtb3J5QWxsb2NhdGlvbkxp YnxNZGVQa2cvTGlicmFyeS9VZWZpTWVtb3J5QWxsb2NhdGlvbkxpYi9VZWZpTWVtbw0KPiByeUFs bG9jYXRpb25MaWIuaW5mDQo+ICsNCj4gUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cv TGlicmFyeS9EeGVSZXBvcnRTdGF0dXNDb2RlTGliL0R4DQo+IGVSZXBvcnRTdGF0dXNDb2RlTGli LmluZg0KPiArDQo+IEV4dHJhY3RHdWlkZWRTZWN0aW9uTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZUV4 dHJhY3RHdWlkZWRTZWN0aW9uTGliL0R4ZUUNCj4geHRyYWN0R3VpZGVkU2VjdGlvbkxpYi5pbmYN Cj4gKw0KPiArDQo+IFRjZ1BoeXNpY2FsUHJlc2VuY2VMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9E eGVUY2dQaHlzaWNhbFByZXNlbmNlTGliL0R4ZQ0KPiBUY2dQaHlzaWNhbFByZXNlbmNlTGliLmlu Zg0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgQmFzZUNyeXB0TGlifENyeXB0 b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIuaW5mDQo+ICshZW5kaWYNCj4g Kw0KPiArDQo+IExvY2tCb3hMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvU21tTG9ja0JveExpYi9T bW1Mb2NrQm94RHhlTGliLmluDQo+IGYNCj4gKw0KPiBFZmlSZWdUYWJsZUxpYnwkKFBMQVRGT1JN X1BBQ0tBR0UpL0xpYnJhcnkvRWZpUmVnVGFibGVMaWIvRWZpUmVnVGFibGUNCj4gTGliLmluZg0K PiArDQo+ICshaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4gKyAgQmFzZUNyeXB0 TGlifENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9CYXNlQ3J5cHRMaWIuaW5mDQo+ICsh ZW5kaWYNCj4gKw0KPiArDQo+IEhhc2hMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9IYXNoTGliQmFz ZUNyeXB0b1JvdXRlci9IYXNoTGliQmFzZUNyeXB0b1INCj4gb3V0ZXJEeGUuaW5mDQo+ICsNCj4g K1tMaWJyYXJ5Q2xhc3Nlcy5JQTMyLkRYRV9EUklWRVJdDQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0K PiBpbmYNCj4gKyAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5m DQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1hbmNlTGli TnVsbC9CYXNlUGVyZm9ybWFuYw0KPiBlTGliTnVsbC5pbmYNCj4gKw0KPiBDdXN0b21pemVkRGlz cGxheUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9DdXN0b21pemVkRGlzcGxheUxpYi9DdXN0bw0K PiBtaXplZERpc3BsYXlMaWIuaW5mDQo+ICshaWYgJChQRVJGT1JNQU5DRV9FTkFCTEUpID09IFRS VUUNCj4gKw0KPiBQZXJmb3JtYW5jZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVQZXJmb3Jt YW5jZUxpYi9EeGVQZXJmb3JtYQ0KPiBuY2VMaWIuaW5mDQo+ICsNCj4gVGltZXJMaWJ8JChQTEFU Rk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWMNCj4g cGlUaW1lckxpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5B QkxFKSA9PSBUUlVFDQo+ICsNCj4gRGVidWdBZ2VudExpYnxTb3VyY2VMZXZlbERlYnVnUGtnL0xp YnJhcnkvRGVidWdBZ2VudC9EeGVEZWJ1Z0FnZW4NCj4gdExpYi5pbmYNCj4gKyFlbmRpZg0KPiAr DQo+ICsNCj4gRmxhc2hEZXZpY2VMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ZsYXNo RGV2aWNlTGliL0ZsYXNoRGV2aWNlDQo+IExpYkR4ZS5pbmYNCj4gKw0KPiArW0xpYnJhcnlDbGFz c2VzLklBMzIuRFhFX0NPUkVdDQo+ICsgIEhvYkxpYnxNZGVQa2cvTGlicmFyeS9EeGVDb3JlSG9i TGliL0R4ZUNvcmVIb2JMaWIuaW5mDQo+ICsNCj4gTWVtb3J5QWxsb2NhdGlvbkxpYnxNZGVNb2R1 bGVQa2cvTGlicmFyeS9EeGVDb3JlTWVtb3J5QWxsb2NhdGlvbkxpDQo+IGIvRHhlQ29yZU1lbW9y eUFsbG9jYXRpb25MaWIuaW5mDQo+ICsgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNkTGli TnVsbC9CYXNlUGNkTGliTnVsbC5pbmYNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0g VFJVRQ0KPiArDQo+IFBlcmZvcm1hbmNlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUNvcmVQ ZXJmb3JtYW5jZUxpYi9EeGVDb3JlDQo+IFBlcmZvcm1hbmNlTGliLmluZg0KPiArDQo+IFRpbWVy TGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRl bFBjaEFjDQo+IHBpVGltZXJMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoU09VUkNF X0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IERlYnVnQWdlbnRMaWJ8U291cmNlTGV2ZWxE ZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdBZ2VuDQo+IHRMaWIuaW5mDQo+ICsh ZW5kaWYNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzLklBMzIuRFhFX1NNTV9EUklWRVJdDQo+ICsN Cj4gTW1TZXJ2aWNlc1RhYmxlTGlifE1kZVBrZy9MaWJyYXJ5L01tU2VydmljZXNUYWJsZUxpYi9N bVNlcnZpY2VzVGFibA0KPiBlTGliLmluZg0KPiArDQo+IFNtbVNlcnZpY2VzVGFibGVMaWJ8TWRl UGtnL0xpYnJhcnkvU21tU2VydmljZXNUYWJsZUxpYi9TbW1TZXJ2aWNlc1QNCj4gYWJsZUxpYi5p bmYNCj4gKw0KPiBSZXBvcnRTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbVJl cG9ydFN0YXR1c0NvZGVMaWIvUw0KPiBtbVJlcG9ydFN0YXR1c0NvZGVMaWIuaW5mDQo+ICsNCj4g TWVtb3J5QWxsb2NhdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9TbW1NZW1vcnlBbGxvY2F0aW9uTGli L1NtbU1lDQo+IG1vcnlBbGxvY2F0aW9uTGliLmluZg0KPiArDQo+IExvY2tCb3hMaWJ8TWRlTW9k dWxlUGtnL0xpYnJhcnkvU21tTG9ja0JveExpYi9TbW1Mb2NrQm94U21tTGliLmkNCj4gbmYNCj4g Kw0KPiBQZXJmb3JtYW5jZUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGVyZm9ybWFuY2VMaWJOdWxs L0Jhc2VQZXJmb3JtYW5jDQo+IGVMaWJOdWxsLmluZg0KPiArICBTbW1NZW1MaWJ8TWRlUGtnL0xp YnJhcnkvU21tTWVtTGliL1NtbU1lbUxpYi5pbmYNCj4gKw0KPiBTbW1DcHVQbGF0Zm9ybUhvb2tM aWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L1NtbUNwdVBsYXRmb3JtSG9va0xpYk51bGwNCj4gL1NtbUNw dVBsYXRmb3JtSG9va0xpYk51bGwuaW5mDQo+ICsNCj4gU21tQ3B1RmVhdHVyZXNMaWJ8VWVmaUNw dVBrZy9MaWJyYXJ5L1NtbUNwdUZlYXR1cmVzTGliL1NtbUNwdUZlYQ0KPiB0dXJlc0xpYi5pbmYN Cj4gKw0KPiArICBCYXNlQ3J5cHRMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGliL1Nt bUNyeXB0TGliLmluZg0KPiArICAhaWYgJChUQVJHRVQpICE9IFJFTEVBU0UNCj4gKw0KPiBEZWJ1 Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNl cmlhbFBvcnQuDQo+IGluZg0KPiArICAhZW5kaWYNCj4gKw0KPiArIWlmICQoU09VUkNFX0RFQlVH X0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IERlYnVnQWdlbnRMaWJ8U291cmNlTGV2ZWxEZWJ1Z1Br Zy9MaWJyYXJ5L0RlYnVnQWdlbnQvU21tRGVidWdBZ2UNCj4gbnRMaWIuaW5mDQo+ICsNCj4gVGlt ZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0lu dGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+IENwdUV4Y2VwdGlv bkhhbmRsZXJMaWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU21t DQo+IENwdUV4Y2VwdGlvbkhhbmRsZXJMaWIuaW5mDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlcy5J QTMyLlNNTV9DT1JFXQ0KPiArDQo+IE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlTW9kdWxlUGtnL0xp YnJhcnkvUGlTbW1Db3JlTWVtb3J5QWxsb2NhdGlvDQo+IG5MaWIvUGlTbW1Db3JlTWVtb3J5QWxs b2NhdGlvbkxpYi5pbmYNCj4gKw0KPiBTbW1TZXJ2aWNlc1RhYmxlTGlifE1kZU1vZHVsZVBrZy9M aWJyYXJ5L1BpU21tQ29yZVNtbVNlcnZpY2VzVGFibA0KPiBlTGliL1BpU21tQ29yZVNtbVNlcnZp Y2VzVGFibGVMaWIuaW5mDQo+ICsNCj4gUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cv TGlicmFyeS9TbW1SZXBvcnRTdGF0dXNDb2RlTGliL1MNCj4gbW1SZXBvcnRTdGF0dXNDb2RlTGli LmluZg0KPiArDQo+IFNtbUNvcmVQbGF0Zm9ybUhvb2tMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkv U21tQ29yZVBsYXRmb3JtSG9vaw0KPiBMaWJOdWxsL1NtbUNvcmVQbGF0Zm9ybUhvb2tMaWJOdWxs LmluZg0KPiArICBTbW1NZW1MaWJ8TWRlUGtnL0xpYnJhcnkvU21tTWVtTGliL1NtbU1lbUxpYi5p bmYNCj4gKw0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgQmFzZUNyeXB0TGli fENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9TbW1DcnlwdExpYi5pbmYNCj4gKyFlbmRp Zg0KPiArDQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1h bmNlTGliTnVsbC9CYXNlUGVyZm9ybWFuYw0KPiBlTGliTnVsbC5pbmYNCj4gKw0KPiArIWlmICQo VEFSR0VUKSAhPSBSRUxFQVNFDQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURl YnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyFlbmRp Zg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMuSUEzMi5EWEVfUlVOVElNRV9EUklWRVJdDQo+ICsN Cj4gUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9SdW50aW1lRHhlUmVw b3J0U3RhdHVzQ29kDQo+IGVMaWIvUnVudGltZUR4ZVJlcG9ydFN0YXR1c0NvZGVMaWIuaW5mDQo+ ICshaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4gKyAgQmFzZUNyeXB0TGlifENy eXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9SdW50aW1lQ3J5cHRMaWIuaW5mDQo+ICshZW5k aWYNCj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBUUlVFDQo+ICsgIEJhc2VDcnlwdExpYnxDcnlw dG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVudGltZUNyeXB0TGliLmluZg0KPiArIWVuZGlm DQo+ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBEZWJ1 Z0FnZW50TGlifFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0R4ZURlYnVn QWdlbg0KPiB0TGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKENBUFNVTEVfRU5BQkxF KSA9PSBUUlVFDQo+ICsNCj4gQ2Fwc3VsZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVDYXBz dWxlTGliRm1wL0R4ZVJ1bnRpbWVDYXBzdWxlDQo+IExpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ ICtbTGlicmFyeUNsYXNzZXMuY29tbW9uLlVFRklfRFJJVkVSXQ0KPiArICBQY2RMaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBjZExpYk51bGwuaW5mDQo+ICsNCj4gKyFpZiAk KFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJj ZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L0R4ZURlYnVnQWdlbg0KPiB0TGliLmlu Zg0KPiArIWVuZGlmDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlcy5JQTMyLlVFRklfQVBQTElDQVRJ T05dDQo+ICsgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmluZg0K PiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gRGVidWdB Z2VudExpYnxTb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9EeGVEZWJ1Z0Fn ZW4NCj4gdExpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMNCj4gKyMNCj4gKyMgUGNkIFNlY3Rpb24gLSBsaXN0IG9mIGFsbCBFREsgSUkgUENEIEVu dHJpZXMgZGVmaW5lZCBieSB0aGlzIFBsYXRmb3JtDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMNCj4gK1tQY2RzRmVhdHVyZUZsYWcuY29tbW9uXQ0KPiArIWlmICQoTUlOSV9C SU9TX0VOQUJMRSkgPT0gRkFMU0UNCj4gKyAgZ1BsYXRmb3JtTW9kdWxlVG9rZW5TcGFjZUd1aWQu UGNkQmRzRGlzcGF0Y2hBZGRpdGlvbmFsT3Byb218VFJVRQ0KPiArIWVsc2UNCj4gKw0KPiBnUGxh dGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RCZHNEaXNwYXRjaEFkZGl0aW9uYWxPcHJvbXxG QUxTRQ0KPiArIWVuZGlmDQo+ICsjDQo+ICsjIElmIFBjZER4ZUlwbFN3aXRjaFRvTG9uZ01vZGUg aXMgVFJVRSwgRHhlSXBsIHdpbGwgbG9hZCBhIDY0LWJpdCBEeGVDb3JlDQo+IGFuZCBzd2l0Y2gg dG8gbG9uZyBtb2RlIHRvIGhhbmQgb3ZlciB0byBEeGVDb3JlLg0KPiArIw0KPiArICBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhlSXBsU3dpdGNoVG9Mb25nTW9kZXxGQUxTRQ0K PiArDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJyb3dzZXJHcmF5 T3V0VGV4dFN0YXRlbWVudHxUUg0KPiBVRQ0KPiArDQo+ICshaWYgJChDQVBTVUxFX1JFU0VUX0VO QUJMRSkgPT0gVFJVRQ0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RT dXBwb3J0VXBkYXRlQ2Fwc3VsZVJlc2V0fFRSVUUNCj4gKyFlbHNlDQo+ICsNCj4gZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN1cHBvcnRVcGRhdGVDYXBzdWxlUmVzZXR8RkFMUw0K PiBFDQo+ICshZW5kaWYNCj4gKyAgZ0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZENwdVNtbUVuYWJs ZUJzcEVsZWN0aW9ufEZBTFNFDQo+ICshaWYgJChEQVRBSFVCX1NUQVRVU19DT0RFX0VOQUJMRSkg PT0gVFJVRQ0KPiArDQo+IGdFZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlk LlBjZFN0YXR1c0NvZGVVc2VEYXRhSHViDQo+IHxUUlVFDQo+ICshZWxzZQ0KPiArDQo+IGdFZmlJ bnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VEYXRh SHViDQo+IHxGQUxTRQ0KPiArIWVuZGlmDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZFBlaUNvcmVJbWFnZUxvYWRlclNlYXJjaFRlU2VjdGkNCj4gb25GaXJzdHxGQUxT RQ0KPiArIWlmICQoVEFSR0VUKSA9PSBSRUxFQVNFDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlU2VyaWFsfEZBTFNFDQo+ICshZWxzZQ0KPiArICBn RWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVNlcmlhbHxGQUxT RQ0KPiArIWVuZGlmDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0 dXNDb2RlVXNlTWVtb3J5fEZBTFNFDQo+ICshaWYgJChJU0FfU0VSSUFMX1NUQVRVU19DT0RFX0VO QUJMRSkgPT0gVFJVRQ0KPiArICBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1 c0NvZGVVc2VJc2FTZXJpYWx8VFJVRQ0KPiArIWVsc2UNCj4gKyAgZ0VmaVNlcmlhbFBvcnRUb2tl blNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlSXNhU2VyaWFsfEZBTFNFDQo+ICshZW5kaWYNCj4g KyFpZiAkKFVTQl9TRVJJQUxfU1RBVFVTX0NPREVfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIGdFZmlT ZXJpYWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVVzYlNlcmlhbHxUUlVFDQo+ ICshZWxzZQ0KPiArICBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVV c2VVc2JTZXJpYWx8RkFMU0UNCj4gKyFlbmRpZg0KPiArIWlmICQoUkFNX1NFUklBTF9TVEFUVVNf Q09ERV9FTkFCTEUpID09IFRSVUUNCj4gKyAgZ0VmaVNlcmlhbFBvcnRUb2tlblNwYWNlR3VpZC5Q Y2RTdGF0dXNDb2RlVXNlUmFtfFRSVUUNCj4gKyFlbHNlDQo+ICsgIGdFZmlTZXJpYWxQb3J0VG9r ZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVJhbXxGQUxTRQ0KPiArIWVuZGlmDQo+ICsNCj4g Kw0KPiArICAjIyBUaGlzIFBDRCBzcGVjaWZpZXMgd2hldGhlciBQUzIga2V5Ym9hcmQgZG9lcyBh IGV4dGVuZGVkIHZlcmlmaWNhdGlvbg0KPiBkdXJpbmcgc3RhcnQuDQo+ICsNCj4gZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBzMktiZEV4dGVuZGVkVmVyaWZpY2F0aW9ufEZBTFNF DQo+ICsNCj4gKyAgIyMgVGhpcyBQQ0Qgc3BlY2lmaWVzIHdoZXRoZXIgUFMyIG1vdXNlIGRvZXMg YSBleHRlbmRlZCB2ZXJpZmljYXRpb24NCj4gZHVyaW5nIHN0YXJ0Lg0KPiArDQo+IGdFZmlNZGVN b2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQczJNb3VzZUV4dGVuZGVkVmVyaWZpY2F0aW9ufEZB DQo+IExTRQ0KPiArDQo+ICshaWYgJChWQVJJQUJMRV9JTkZPX0VOQUJMRSkgPT0gVFJVRQ0KPiAr ICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmFyaWFibGVDb2xsZWN0U3RhdGlz dGljc3xUUlVFDQo+ICshZWxzZQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkVmFyaWFibGVDb2xsZWN0U3RhdGlzdGljc3xGQUxTRQ0KPiArIWVuZGlmDQo+ICsNCj4gKyAg Z0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZENwdVNtbUJsb2NrU3RhcnR1cFRoaXNBcHxUUlVFDQo+ ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpDQo+ICsgIGdVZWZpQ3B1UGtnVG9rZW5T cGFjZUd1aWQuUGNkQ3B1U21tRGVidWd8VFJVRQ0KPiArIWVuZGlmDQo+ICsNCj4gK1tQY2RzRml4 ZWRBdEJ1aWxkLmNvbW1vbl0NCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ ICsjICQoRkxBU0hfUkVHSU9OX1ZMVk1JQ1JPQ09ERV9CQVNFKQ0KPiArDQo+IGdGc3BXcmFwcGVy VG9rZW5TcGFjZUd1aWQuUGNkQ3B1TWljcm9jb2RlUGF0Y2hBZGRyZXNzfDB4RkZDMDAwMDANCj4g KyMgJChGTEFTSF9SRUdJT05fVkxWTUlDUk9DT0RFX1NJWkUpDQo+ICsNCj4gZ0ZzcFdyYXBwZXJU b2tlblNwYWNlR3VpZC5QY2RDcHVNaWNyb2NvZGVQYXRjaFJlZ2lvblNpemV8MHgwMDA0MDAwDQo+ IDANCj4gKyAgZ0ZzcFdyYXBwZXJUb2tlblNwYWNlR3VpZC5QY2RGbGFzaE1pY3JvQ29kZU9mZnNl dHwweDYwDQo+ICsjICQoRkxBU0hfQVJFQV9CQVNFX0FERFJFU1MpDQo+ICsgIGdGc3BXcmFwcGVy VG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hDb2RlQ2FjaGVBZGRyZXNzfDB4RkY4MDAwMDANCj4gKyMg JChGTEFTSF9BUkVBX1NJWkUpDQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxh c2hDb2RlQ2FjaGVTaXplfDB4MDA4MDAwMDANCj4gKyMgJChGTEFTSF9SRUdJT05fRlNQQklOX0JB U0UpDQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkRmxhc2hGdkZzcEJhc2V8MHhG RkNDMDAwMA0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0g VFJVRQ0KPiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUNCj4gKyAgIyBpbiBGU1As IHdoZW4gdGhpcyBnb3QgdXNlZCwgdGhlIG1lbW9yeSBhbHJlYWR5IGlzIHVwDQo+ICsgIGdFZmlD cHVUb2tlblNwYWNlR3VpZC5QY2RUZW1wb3JhcnlSYW1CYXNlfDB4MDAwODAwMDANCj4gKyFlbHNl DQo+ICsgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5QY2RUZW1wb3JhcnlSYW1CYXNlfDB4RkVGODAw MDANCj4gKyFlbmRpZg0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkVGVtcG9yYXJ5UmFt U2l6ZXwweDAwMDEwMDAwDQo+ICsNCj4gKyFlbHNlDQo+ICsgICFpZiAkKE1JTk5PVzJfRlNQX0JV SUxEKSA9PSBUUlVFDQo+ICsgICAgZ0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZFRlbXBvcmFyeVJh bUJhc2V8MHgwMDA4MDAwMA0KPiArICAhZWxzZQ0KPiArICAgIGdFZmlDcHVUb2tlblNwYWNlR3Vp ZC5QY2RUZW1wb3JhcnlSYW1CYXNlfDB4RkVGODAwMDANCj4gKyAgIWVuZGlmDQo+ICsgIGdFZmlD cHVUb2tlblNwYWNlR3VpZC5QY2RUZW1wb3JhcnlSYW1TaXplfDB4MDAwMTAwMDANCj4gKyAgZ0Vm aUNwdVRva2VuU3BhY2VHdWlkLlBjZFBlaVRlbXBvcmFyeVJhbVN0YWNrU2l6ZXwweDNDMDANCj4g KyFlbmRpZg0KPiArDQo+ICsNCj4gKyFpZiAkKFNFQ1VSRV9CT09UX0VOQUJMRSkgPT0gVFJVRQ0K PiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4VmFyaWFibGVTaXplfDB4 MjIwMDANCj4gKyFlbHNlDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RN YXhWYXJpYWJsZVNpemV8MHg0MDAwDQo+ICshZW5kaWYNCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rv a2VuU3BhY2VHdWlkLlBjZEh3RXJyU3RvcmFnZVNpemV8MHgwMDAwMDgwMA0KPiArDQo+IGdFZmlN ZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhIYXJkd2FyZUVycm9yVmFyaWFibGVTaXpl fDB4NA0KPiAwMA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1SUVEUmFtU2l6ZXww eDQwMDAwMA0KPiArDQo+IGdFZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlk LlBjZFMzQWNwaVJlc2VydmVkTWVtb3J5DQo+IFNpemV8MHgxMDAwMA0KPiArICBnRWZpTWRlTW9k dWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3JJb3ZTdXBwb3J0fEZBTFNFDQo+ICsgIGdFZmlNZGVN b2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RBcmlTdXBwb3J0fEZBTFNFDQo+ICsgIGdFZmlDcHVU b2tlblNwYWNlR3VpZC5QY2RDcHVTbW1BcFN5bmNUaW1lb3V0fDEwMDANCj4gKyFpZiAkKFM0X0VO QUJMRSkgPT0gVFJVRQ0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RS ZXNldE9uTWVtb3J5VHlwZUluZm9ybWF0aW9uQw0KPiBoYW5nZXxUUlVFDQo+ICshZWxzZQ0KPiAr DQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RSZXNldE9uTWVtb3J5VHlwZUlu Zm9ybWF0aW9uQw0KPiBoYW5nZXxGQUxTRQ0KPiArIWVuZGlmDQo+ICshaWYgJChUQVJHRVQpID09 IFJFTEVBU0UNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlN YXNrfDB4MA0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUmVwb3J0U3RhdHVzQ29k ZVByb3BlcnR5TWFza3wweDMNCj4gKyFlbHNlDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2REZWJ1Z1Byb3BlcnR5TWFza3wweDJGDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RSZXBvcnRTdGF0dXNDb2RlUHJvcGVydHlNYXNrfDB4MDcNCj4gKyFlbmRpZg0KPiArIWlm ICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNl R3VpZC5QY2RQZXJmb3JtYW5jZUxpYnJhcnlQcm9wZXJ0eU1hc2t8MHgxDQo+ICsNCj4gZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heFBlaVBlcmZvcm1hbmNlTG9nRW50cmllc3w2 MA0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiBnRWZpSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RFYmRhUmVzZXJ2ZWRNZW1vcnlTaQ0KPiB6ZXwweDEwMDAwDQo+ICsNCj4g Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZExvYWRNb2R1bGVBdEZpeEFkZHJlc3NF bmFibGV8JCgNCj4gVE9QX01FTU9SWV9BRERSRVNTKQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkQnJvd3NlclN1YnRpdGxlVGV4dENvbG9yfDB4MA0KPiArICBnRWZpTWRl TW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkQnJvd3NlckZpZWxkVGV4dENvbG9yfDB4MDENCj4g KyAgZ0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZENwdUlFREVuYWJsZWR8VFJVRQ0KPiArDQo+IGdF ZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJpb3NWaWRlb0NoZWNr VmJlRW5hDQo+IGJsZXxUUlVFDQo+ICsNCj4gZ0VmaUludGVsRnJhbWV3b3JrTW9kdWxlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkQmlvc1ZpZGVvQ2hlY2tWZ2FFbmFiDQo+IGxlfFRSVUUNCj4gKw0KPiAr IWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBnRWZpTWRlUGtnVG9rZW5T cGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHgxNw0KPiArICBnRWZpTWRlUGtnVG9rZW5T cGFjZUd1aWQuUGNkUmVwb3J0U3RhdHVzQ29kZVByb3BlcnR5TWFza3wweDA3DQo+ICsNCj4gZ0Vm aU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlcmlhbFVzZUhhcmR3YXJlRmxvd0NvbnRy b2x8RkFMDQo+IFNFDQo+ICsNCj4gZ0VmaVNvdXJjZUxldmVsRGVidWdQa2dUb2tlblNwYWNlR3Vp ZC5QY2REZWJ1Z0xvYWRJbWFnZU1ldGhvZHwyDQo+ICshZW5kaWYNCj4gKw0KPiArICAjDQo+ICsg ICMgU2V0IFNNTSBzdGFjayBzaXplIHRvIDE2IEtCLg0KPiArICAjDQo+ICsgIGdVZWZpQ3B1UGtn VG9rZW5TcGFjZUd1aWQuUGNkQ3B1U21tU3RhY2tTaXplfDB4NDAwMA0KPiArDQo+ICsgICMNCj4g KyAgIyBDbGVhciB1bnVzZWQgc2luZ2xlIGNlcnRpZmljYXRlIFBDRA0KPiArICAjDQo+ICsgIGdF ZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBrY3M3Q2VydEJ1ZmZlcnx7MH0NCj4gKw0K PiArICAjDQo+ICsgICMgTG9jayBhbGwgdXBkYXRhYmxlIGZpcm13YXJlIGRldmljZXMgYXQgRW5k IG9mIERYRQ0KPiArICAjDQo+ICsNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZt cERldmljZUxvY2tFdmVudEd1aWR8e0dVSUQoZ0VmaUUNCj4gbmRPZkR4ZUV2ZW50R3JvdXBHdWlk KX0NCj4gKyMNCj4gZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZUxvY2tF dmVudEd1aWR8e0dVSUQoZ0VmaUUNCj4gdmVudFJlYWR5VG9Cb290R3VpZCl9DQo+ICsNCj4gKyAg Iw0KPiArICAjIFNldCBQY2RGbXBEZXZpY2VUZXN0S2V5U2hhMjU2RGlnZXN0IHRvIHswfSB0byBk aXNhYmxlIHRlc3Qga2V5DQo+IGRldGVjdGlvbg0KPiArICAjDQo+ICsjICBnRm1wRGV2aWNlUGtn VG9rZW5TcGFjZUd1aWQuUGNkRm1wRGV2aWNlVGVzdEtleVNoYTI1NkRpZ2VzdHx7MH0NCj4gKw0K PiArW1BjZHNGaXhlZEF0QnVpbGQuSUEzMl0NCj4gKyFpZiAkKFRBUkdFVCkgPT0gUkVMRUFTRQ0K PiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHgwDQo+ ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RSZXBvcnRTdGF0dXNDb2RlUHJvcGVydHlN YXNrfDB4Mw0KPiArIWVsc2UNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVn UHJvcGVydHlNYXNrfDB4MkUNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlcG9y dFN0YXR1c0NvZGVQcm9wZXJ0eU1hc2t8MHgwNw0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKFJF Q09WRVJZX0VOQUJMRSkNCj4gKw0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNk UmVjb3ZlcnlGaWxlTmFtZXxMIlZMVjJSRUMuQ2FwDQo+ICINCj4gKyFlbmRpZg0KPiArDQo+ICtb UGNkc1BhdGNoYWJsZUluTW9kdWxlLmNvbW1vbl0NCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVsfDB4ODAzODA1YzYNCj4gKw0KPiBnRWZpTWRlUGtn VG9rZW5TcGFjZUd1aWQuUGNkUGNpRXhwcmVzc0Jhc2VBZGRyZXNzfDB4JChQTEFURk9STV9QQw0K PiBJRVhQUkVTU19CQVNFKQ0KPiArDQo+IGdFZmlJbnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZExlZ2FjeUJpb3NDYWNoZUxlZ2FjeQ0KPiBSZWdpb258RkFMU0UNCj4gKw0K PiArICAjIyBUaGlzIFBDRCBzcGVjaWZpZXMgd2hldGhlciB0byB1c2UgdGhlIG9wdGltaXplZCB0 aW1pbmcgZm9yIGJlc3QgUFMyDQo+IGRldGVjdGlvbiBwZXJmb3JtYW5jZS4NCj4gKyAgIyAgTm90 ZSB0aGlzIFBDRCBjb3VsZCBiZSBzZXQgdG8gVFJVRSBmb3IgYmVzdCBib290IHBlcmZvcm1hbmNl IGFuZCBzZXQgdG8NCj4gRkFMU0UgZm9yIGJlc3QgZGV2aWNlIGNvbXBhdGliaWxpdHkuDQo+ICsg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGYXN0UFMyRGV0ZWN0aW9ufFRSVUUN Cj4gKw0KPiArDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjDQo+ICsgICMNCj4gKyAgIyBCZWdpbiBvZiBNUkMgcGFyYW1ldGVycw0KPiArICAjDQo+ ICsNCj4gKyAgIyMgTWVtb3J5IFBhcmFtZXRlciBQYXRjaGFibGUuDQo+ICsgICMgIEZBTFNFIC0g TVJDIFBhcmFtZXRlcnMgYXJlIGZpeGVkIGZvciBNaW5ub3dCb2FyZCBNYXg8QlI+DQo+ICsgICMg IFRSVUUgIC0gTVJDIFBhcmFtZXRlcnMgYXJlIHBhdGNoYWJsZSBieSBmb2xsb3dpbmcgUENEczxC Uj4NCj4gKyAgIyBAUHJvbXB0IE1lbW9yeSBQYXJhbWV0ZXIgUGF0Y2hhYmxlLg0KPiArICAjIEBW YWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDENCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNl R3VpZC5QY2RNZW1vcnlQYXJhbWV0ZXJQYXRjaGFibGV8RkFMU0UNCj4gKw0KPiArICAjIyBNZW1v cnkgRG93biBvciBESU1NIHNsb3QuDQo+ICsgICMgIDAgLSBESU1NPEJSPg0KPiArICAjICAxIC0g TWVtb3J5IERvd248QlI+DQo+ICsgICMgQFByb21wdCBFbmFibGUgTWVtb3J5IERvd24NCj4gKyAg IyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5T cGFjZUd1aWQuUGNkRW5hYmxlTWVtb3J5RG93bnwxDQo+ICsNCj4gKyAgIyMgVGhlIHNwZWVkIG9m IERSQU0uDQo+ICsgICMgIDAgLSA4MDAgTUh6PEJSPg0KPiArICAjICAxIC0gMTA2NiBNSHo8QlI+ DQo+ICsgICMgIDIgLSAxMzMzIE1IejxCUj4NCj4gKyAgIyAgMyAtIDE2MDAgTUh6PEJSPg0KPiAr ICAjIEBQcm9tcHQgRFJBTSBTcGVlZA0KPiArICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAs IDEsIDIsIDMNCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REcmFtU3BlZWR8 MQ0KPiArDQo+ICsgICMjIERSQU0gVHlwZS4NCj4gKyAgIyAgMCAtIEREUjM8QlI+DQo+ICsgICMg IDEgLSBERFIzTDxCUj4NCj4gKyAgIyAgMiAtIEREUjNVPEJSPg0KPiArICAjICAzIC0gRERSM0Fs bDxCUj4NCj4gKyAgIyAgNCAtIExQRERSMjxCUj4NCj4gKyAgIyAgNSAtIExQRERSMzxCUj4NCj4g KyAgIyAgNiAtIEREUjQ8QlI+DQo+ICsgICMgQFByb21wdCBEUkFNIFR5cGUNCj4gKyAgIyBAVmFs aWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxLCAyLCAzLCA0LCA1LCA2DQo+ICsgIGdWbHZSZWZDb2Rl UGtnVG9rZW5TcGFjZUd1aWQuUGNkRHJhbVR5cGV8MQ0KPiArDQo+ICsgICMjIFBsZWFzZSBwb3B1 bGF0ZSBESU1NIHNsb3QgMCBpZiBvbmx5IG9uZSBESU1NIGlzIHN1cHBvcnRlZC4NCj4gKyAgIyAg MCAtIERpc2FibGU8QlI+DQo+ICsgICMgIDEgLSBFbmFibGU8QlI+DQo+ICsgICMgQFByb21wdCBE SU1NIDAgRW5hYmxlDQo+ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMQ0KPiArICBn Vmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZURpbW0wfDENCj4gKw0KPiArICAj IyBESU1NIDEgaGFzIHRvIGJlIGlkZW50aWNhbCB0byBESU1NIDAuDQo+ICsgICMgIDAgLSBEaXNh YmxlPEJSPg0KPiArICAjICAxIC0gRW5hYmxlPEJSPg0KPiArICAjIEBQcm9tcHQgRElNTSAxIEVu YWJsZSBUeXBlDQo+ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMQ0KPiArICBnVmx2 UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZURpbW0xfDANCj4gKw0KPiArICAjIyBE UkFNIGRldmljZSBkYXRhIHdpZHRoLg0KPiArICAjICAwIC0geDg8QlI+DQo+ICsgICMgIDEgLSB4 MTY8QlI+DQo+ICsgICMgIDIgLSB4MzI8QlI+DQo+ICsgICMgQFByb21wdCBESU1NX0RXSURUSA0K PiArICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDEsIDINCj4gKyAgZ1ZsdlJlZkNvZGVQ a2dUb2tlblNwYWNlR3VpZC5QY2REaW1tRGF0YVdpZHRofDENCj4gKw0KPiArICAjIyBEUkFNIGRl dmljZSBkYXRhIGRlbnNpdHkuDQo+ICsgICMgIDAgLSAxIEdiaXQ8QlI+DQo+ICsgICMgIDEgLSAy IEdiaXQ8QlI+DQo+ICsgICMgIDIgLSA0IEdiaXQ8QlI+DQo+ICsgICMgIDMgLSA4IEdiaXQ8QlI+ DQo+ICsgICMgQFByb21wdCBESU1NX0RlbnNpdHkNCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAw MDEgfCAwLCAxLCAyLCAzDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGlt bURlbnNpdHl8Mg0KPiArDQo+ICsgICMjIERSQU0gZGV2aWNlIGRhdGEgYnVzIHdpZHRoLg0KPiAr ICAjICAwIC0gOCBiaXRzPEJSPg0KPiArICAjICAxIC0gMTYgYml0czxCUj4NCj4gKyAgIyAgMiAt IDMyIGJpdHM8QlI+DQo+ICsgICMgIDMgLSA2NCBiaXRzPEJSPg0KPiArICAjIEBQcm9tcHQgRElN TV9CdXNXaWR0aA0KPiArICAjIEBWYWxpZExpc3QgMHg4MDAwMDAwMSB8IDAsIDEsIDIsIDMNCj4g KyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REaW1tQnVzV2lkdGh8Mw0KPiArDQo+ ICsgICMjIFJhbmtzIFBlciBESU1NIG9yIFNpZGVzIFBlciBESU1NLg0KPiArICAjICAwIC0gMSBS YW5rPEJSPg0KPiArICAjICAxIC0gMiBSYW5rczxCUj4NCj4gKyAgIyBAUHJvbXB0IERJTU1fU2lk ZXMNCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxDQo+ICsgIGdWbHZSZWZDb2Rl UGtnVG9rZW5TcGFjZUd1aWQuUGNkUmFua1BlckRpbW18MA0KPiArDQo+ICsgICMjIHRDTC48QlI+ PEJSPg0KPiArICAjIEBQcm9tcHQgdENMDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkVGNsfDExDQo+ICsNCj4gKyAgIyMgdFJQIGFuZCB0UkNEIGluIERSQU0gY2xrIC0gNTox Mi41bnMsIDY6MTVucywgZXRjLg0KPiArICAjIEBQcm9tcHQgdFJQX3RSQ0QNCj4gKyAgZ1ZsdlJl ZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RUcnBUcmNkfDExDQo+ICsNCj4gKyAgIyMgdFdSIGlu IERSQU0gY2xrLg0KPiArICAjIEBQcm9tcHQgdFdSDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5T cGFjZUd1aWQuUGNkVHdyfDEyDQo+ICsNCj4gKyAgIyMgdFdUUiBpbiBEUkFNIGNsay4NCj4gKyAg IyBAUHJvbXB0IHRXVFINCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RUd3Ry fDYNCj4gKw0KPiArICAjIyB0UlJEIGluIERSQU0gY2xrLg0KPiArICAjIEBQcm9tcHQgdFJSRA0K PiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRycmR8Ng0KPiArDQo+ICsgICMj IHRSVFAgaW4gRFJBTSBjbGsuDQo+ICsgICMgQFByb21wdCB0UlRQDQo+ICsgIGdWbHZSZWZDb2Rl UGtnVG9rZW5TcGFjZUd1aWQuUGNkVHJ0cHw2DQo+ICsNCj4gKyAgIyMgdEZBVyBpbiBEUkFNIGNs ay4NCj4gKyAgIyBAUHJvbXB0IHRGQVcNCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RUZmF3fDMyDQo+ICsNCj4gKyAgIw0KPiArICAjIEVuZCBvZiBNUkMgcGFyYW1ldGVycy4N Cj4gKyAgIw0KPiArDQo+ICMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj Iw0KPiArDQo+ICtbUGNkc0R5bmFtaWNIaWkuY29tbW9uLkRFRkFVTFRdDQo+ICsNCj4gZ0VmaU1k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBsYXRmb3JtQm9vdFRpbWVPdXR8TCJUaW1lb3V0InxnRWZp R2xvDQo+IGJhbFZhcmlhYmxlR3VpZHwweDB8NSAjIFZhcmlhYmxlOiBMIlRpbWVvdXQiDQo+ICsN Cj4gZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEhhcmR3YXJlRXJyb3JSZWNvcmRMZXZlbHxM Ikh3RXJyUmVjU3VwDQo+IHBvcnQifGdFZmlHbG9iYWxWYXJpYWJsZUd1aWR8MHgwfDEgIyBWYXJp YWJsZTogTCJId0VyclJlY1N1cHBvcnQiDQo+ICsNCj4gK1tQY2RzRHluYW1pY0RlZmF1bHQuY29t bW9uLkRFRkFVTFRdDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFMz Qm9vdFNjcmlwdFRhYmxlUHJpdmF0ZURhdGFQdHJ8MHgNCj4gMA0KPiArICAhaWYgJChUUE1fRU5B QkxFRCkgPT0gVFJVRQ0KPiArICAgIGdFZmlTZWN1cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRw bUluc3RhbmNlR3VpZHx7MHg3YiwgMHgzYSwgMHhjZCwNCj4gMHg3MiwgMHhBNSwgMHhGRSwgMHg1 ZSwgMHg0ZiwgMHg5MSwgMHg2NSwgMHg0ZCwgMHhkMSwgMHgyMSwgMHg4NywgMHhiYiwgMHgxM30N Cj4gKyAgIWVuZGlmDQo+ICsNCj4gKyAgIyMgVGhpcyBQQ0QgZGVmaW5lcyB0aGUgdmlkZW8gaG9y aXpvbnRhbCByZXNvbHV0aW9uLg0KPiArICAjICBUaGlzIFBDRCBjb3VsZCBiZSBzZXQgdG8gMCB0 aGVuIHZpZGVvIHJlc29sdXRpb24gY291bGQgYmUgYXQgaGlnaGVzdA0KPiByZXNvbHV0aW9uLg0K PiArICAjZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZpZGVvSG9yaXpvbnRhbFJl c29sdXRpb258MA0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVmlkZW9I b3Jpem9udGFsUmVzb2x1dGlvbnw4MDANCj4gKyAgIyMgVGhpcyBQQ0QgZGVmaW5lcyB0aGUgdmlk ZW8gdmVydGljYWwgcmVzb2x1dGlvbi4NCj4gKyAgIyAgVGhpcyBQQ0QgY291bGQgYmUgc2V0IHRv IDAgdGhlbiB2aWRlbyByZXNvbHV0aW9uIGNvdWxkIGJlIGF0IGhpZ2hlc3QNCj4gcmVzb2x1dGlv bi4NCj4gKyAgI2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RWaWRlb1ZlcnRpY2Fs UmVzb2x1dGlvbnwwDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RWaWRl b1ZlcnRpY2FsUmVzb2x1dGlvbnw2MDANCj4gKw0KPiArICAjIyBUaGlzIFBDRCBkZWZpbmVzIHRo ZSBDb25zb2xlIG91dHB1dCBjb2x1bW4gYW5kIHRoZSBkZWZhdWx0IHZhbHVlIGlzIDI1DQo+IGFj Y29yZGluZyB0byBVRUZJIHNwZWMuDQo+ICsgICMgIFRoaXMgUENEIGNvdWxkIGJlIHNldCB0byAw IHRoZW4gY29uc29sZSBvdXRwdXQgY291bGQgYmUgYXQgbWF4IGNvbHVtbg0KPiBhbmQgbWF4IHJv dy4NCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENvbk91dFJvd3wzMQ0K PiArICAjIyBUaGlzIFBDRCBkZWZpbmVzIHRoZSBDb25zb2xlIG91dHB1dCByb3cgYW5kIHRoZSBk ZWZhdWx0IHZhbHVlIGlzIDgwDQo+IGFjY29yZGluZyB0byBVRUZJIHNwZWMuDQo+ICsgICMgIFRo aXMgUENEIGNvdWxkIGJlIHNldCB0byAwIHRoZW4gY29uc29sZSBvdXRwdXQgY291bGQgYmUgYXQg bWF4IGNvbHVtbg0KPiBhbmQgbWF4IHJvdy4NCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZENvbk91dENvbHVtbnwxMDANCj4gKw0KPiArICAjIyBUaGUgUENEIGlzIHVzZWQg dG8gc3BlY2lmeSB0aGUgdmlkZW8gaG9yaXpvbnRhbCByZXNvbHV0aW9uIG9mIHRleHQgc2V0dXAu DQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldHVwVmlkZW9Ib3Jp em9udGFsUmVzb2x1dGlvbnw4MA0KPiAwDQo+ICsgICMjIFRoZSBQQ0QgaXMgdXNlZCB0byBzcGVj aWZ5IHRoZSB2aWRlbyB2ZXJ0aWNhbCByZXNvbHV0aW9uIG9mIHRleHQgc2V0dXAuDQo+ICsNCj4g Z0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNldHVwVmlkZW9WZXJ0aWNhbFJlc29s dXRpb258NjAwDQo+ICsgICMjIFRoZSBQQ0QgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSBjb25zb2xl IG91dHB1dCBjb2x1bW4gb2YgdGV4dCBzZXR1cC4NCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZFNldHVwQ29uT3V0Q29sdW1ufDEwMA0KPiArICAjIyBUaGUgUENEIGlzIHVz ZWQgdG8gc3BlY2lmeSB0aGUgY29uc29sZSBvdXRwdXQgY29sdW1uIG9mIHRleHQgc2V0dXAuDQo+ ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXR1cENvbk91dFJvd3wzMQ0K PiArDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBnRWZpU2VjdXJpdHlQa2dU b2tlblNwYWNlR3VpZC5QY2RUcG1Jbml0aWFsaXphdGlvblBvbGljeXwxDQo+ICsgIGdFZmlTZWN1 cml0eVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRwbVNjcnRtUG9saWN5fDENCj4gKyFlbmRpZg0KPiAr DQo+ICtbUGNkc0R5bmFtaWNFeERlZmF1bHQuY29tbW9uLkRFRkFVTFRdDQo+ICsgIGdFZmlWTFZU b2tlblNwYWNlR3VpZC5QY2RUQ1NtYmFJb0Jhc2VBZGRyZXNzfDB4MTA0MA0KPiArICBnRWZpVkxW VG9rZW5TcGFjZUd1aWQuUGNkRW1tY01hbnVmYWN0dXJlcklkfDANCj4gKyAgZ0VmaVZMVlRva2Vu U3BhY2VHdWlkLlBjZFByb2R1Y3RTZXJpYWxOdW1iZXJ8MA0KPiArICBnRWZpVkxWVG9rZW5TcGFj ZUd1aWQuUGNkTWVhc3VyZWRCb290RW5hYmxlfFRSVUUNCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VH dWlkLlBjZEZUUE1FcnJvck9jY3VyfEZBTFNFDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5Q Y2RGVFBNRXJyb3JTa2lwfEZBTFNFDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBN Q29tbWFuZHwwDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNUmVzcG9uc2V8MA0K PiArICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkRlRQTU5vdFJlc3BvbmR8RkFMU0UNCj4gKyAg Z0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZEZUUE1TdGF0dXN8MA0KPiArDQo+IGdFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTM0Jvb3RTY3JpcHRUYWJsZVByaXZhdGVTbW1EYXRhUA0K PiB0cnwwDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFMzQm9vdFNj cmlwdFRhYmxlUHJpdmF0ZURhdGFQdHJ8MA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNk Q3B1UzNEYXRhQWRkcmVzc3wwDQo+ICsgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5QY2RDcHVIb3RQ bHVnRGF0YUFkZHJlc3N8MA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1Q2FsbGJh Y2tTaWduYWx8MA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1Q29uZmlnQ29udGV4 dEJ1ZmZlcnwwDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RDcHVMb2NrQm94RGF0YUFk ZHJlc3N8MA0KPiArICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkQ3B1U21yYW1DcHVEYXRhQWRk cmVzc3wwDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RDcHVMb2NrQm94U2l6ZXwwDQo+ ICsNCj4gK1tQY2RzRHluYW1pY0V4RGVmYXVsdC5YNjQuREVGQVVMVF0NCj4gKyFpZiAkKFJFQ09W RVJZX0VOQUJMRSkNCj4gKw0KPiBnRWZpU2lnbmVkQ2Fwc3VsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZEVka2lpU3lzdGVtRmlybXdhcmVGaWxlR3VpZHx7Rw0KPiBVSUQoIkFGOUM5RUIyLTEyQUQtNEQz RS1BNEQ0LTk2RjZDOTk2NjIxNSIpfXxWT0lEKnwweDEwDQo+ICsNCj4gZ0VmaU1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZFN5c3RlbUZtcENhcHN1bGVJbWFnZVR5cGVJZEd1DQo+IGlkfHtH VUlEKCI0MDk2MjY3Yi1kYTBhLTQyZWItYjVlYi1mZWYzMWQyMDdjYjQiKX18Vk9JRCp8MHgxMA0K PiArIWVuZGlmDQo+ICsNCj4gK1tDb21wb25lbnRzLklBMzJdDQo+ICsNCj4gKw0KPiAkKFBMQVRG T1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUw0K PiBlY0NvcmUuaW5mDQo+ICsNCj4gKyAgIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUN Cj4gKyAgSW50ZWxGc3BXcmFwcGVyUGtnL0ZzcFdyYXBwZXJTZWNDb3JlL0ZzcFdyYXBwZXJTZWND b3JlLmluZiB7DQo+ICsgICAgIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiArDQo+ICsgICAgPExp YnJhcnlDbGFzc2VzPg0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xp YlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICsgICAgIWVuZGlm DQo+ICsgIH0NCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvRnNwU3VwcG9ydC9Cb290TW9kZVBlaS9C b290TW9kZVBlaS5pbmYNCj4gKyAgSW50ZWxGc3BXcmFwcGVyUGtnL0ZzcEluaXRQZWkvRnNwSW5p dFBlaS5pbmYgew0KPiArICAgICFpZiAkKFRBUkdFVCkgPT0gREVCVUcNCj4gKyAgICA8TGlicmFy eUNsYXNzZXM+DQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2Vy aWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyAgICAhZW5kaWYNCj4g KyAgfQ0KPiArICAhZW5kaWYNCj4gKw0KPiArICBNZGVNb2R1bGVQa2cvQ29yZS9QZWkvUGVpTWFp bi5pbmYgew0KPiArIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiArICAgIDxQY2RzRml4ZWRBdEJ1 aWxkPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlN YXNrfDB4MkUNCj4gKyFlbmRpZg0KPiArICAgIDxQY2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsg ICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHg4 MDAwMDA0Ng0KPiArICB9DQo+ICsNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9Nb25vU3RhdHVz Q29kZS9Nb25vU3RhdHVzQ29kZS5pbmYgew0KPiArIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiAr ICAgIDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlk LlBjZERlYnVnUHJvcGVydHlNYXNrfDB4MkUNCj4gKyFlbmRpZg0KPiArICB9DQo+ICsNCj4gJChQ TEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMy L00NCj4gZW1vcnlJbml0LmluZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4g KyAgICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHww eDgwMDAwMDQ2DQo+ICsgICAgPEJ1aWxkT3B0aW9ucz4NCj4gKyAgICAgICFpZiAkKEZUUE1fRU5B QkxFKT09VFJVRQ0KPiArICAgICAgICAqXypfSUEzMl9DQ19GTEFHUyA9IC9EIEZUUE1fRU5BQkxF DQo+ICsgICAgICAhZW5kaWYNCj4gKyAgfQ0KPiArDQo+ICshaWYgJChSQ19CSU5BUllfUkVMRUFT RSkgPT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJ VEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9TDQo+IGVDVW1hLmluZg0KPiArIWVuZGlmDQo+ICsNCj4g KyFpZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICskKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvZg0KPiBUUE1Jbml0UGVpbS5pbmYN Cj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChSQ19CSU5BUllfUkVMRUFTRSkgPT0gVFJVRQ0KPiAr ICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtUGVpL1BsYXRmb3JtUGVpLmluZiB7DQo+ICsg ICAgPEJ1aWxkT3B0aW9ucz4NCj4gKyAgICAgICpfKl9JQTMyX0NDX0ZMQUdTICAgICAgPSAvRFJD X0JJTkFSWV9SRUxFQVNFDQo+ICsgICFpZiAkKFRBUkdFVCkgPT0gREVCVUcNCj4gKyAgICAgIDxQ Y2RzRml4ZWRBdEJ1aWxkPg0KPiArICAgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNk RGVidWdQcm9wZXJ0eU1hc2t8MHgyRQ0KPiArICAhZW5kaWYNCj4gKyAgfQ0KPiArIWVuZGlmDQo+ ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKyAgU291cmNlTGV2 ZWxEZWJ1Z1BrZy9EZWJ1Z0FnZW50UGVpL0RlYnVnQWdlbnRQZWkuaW5mew0KPiArICAgIDxMaWJy YXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVs bC9CYXNlUGNkTGliTnVsbC5pbmYNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVsRGVi dWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NlY1BlaURlYnVnQWcNCj4gZW50TGliLmluZg0KPiAr DQo+IFBsYXRmb3JtSG9va0xpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlUGxhdGZvcm1Ib29r TGliTnVsbC9CYXNlUGxhDQo+IHRmb3JtSG9va0xpYk51bGwuaW5mDQo+ICsNCj4gU2VyaWFsUG9y dExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlU2VyaWFsUG9ydExpYjE2NTUwL0Jhc2VTZXJp YWxQb3J0DQo+IExpYjE2NTUwLmluZg0KPiArICAgIH0NCj4gKyFlbmRpZg0KPiArDQo+ICshaWYg JChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0Up LyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9UDQo+IHBtMkRldmljZVNlQ1BlaS5p bmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBT ZWN1cml0eVBrZy9UY2cvUGh5c2ljYWxQcmVzZW5jZVBlaS9QaHlzaWNhbFByZXNlbmNlUGVpLmlu Zg0KPiArICBTZWN1cml0eVBrZy9UY2cvVGNnUGVpL1RjZ1BlaS5pbmYgew0KPiArICAgIDxMaWJy YXJ5Q2xhc3Nlcz4NCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNl TGliU2hhMS9IYXNoSW5zdGFuY2VMaWJTaGExLmluZg0KPiArDQo+IE5VTEx8U2VjdXJpdHlQa2cv TGlicmFyeS9IYXNoSW5zdGFuY2VMaWJTaGEyNTYvSGFzaEluc3RhbmNlTGliU2hhMjU2LmluDQo+ IGYNCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9QZWlQY2RMaWIvUGVpUGNkTGliLmlu Zg0KPiArfQ0KPiArIWVuZGlmDQo+ICsNCj4gKyAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3Jt SW5pdFBlaS9QbGF0Zm9ybUluaXRQZWkuaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9k dWxlPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJv ckxldmVsfDB4ODAzODA1YzYNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICshaWYgJChUQVJH RVQpICE9IFJFTEVBU0UNCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdM aWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArIWVuZGlmDQo+ ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExpYi5pbmYNCj4g KyAgfQ0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL0Z2SW5mb1BlaS9GdkluZm9QZWkuaW5mDQo+ ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUp JChUQVJHRVQpL0lBMzIvVmwNCj4gdkluaXRQZWltLmluZg0KPiArIWlmICQoUENJRVNDX0VOQUJM RSkgPT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJ VEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9QDQo+IGNoRWFybHlJbml0UGVpbS5pbmYgew0KPiArICAg IDxQY2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHg4MDAwMDA0Ng0KPiArICB9DQo+ICshZW5kaWYN Cj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChU QVJHRVQpL0lBMzIvUA0KPiBjaEluaXRQZWltLmluZg0KPiArDQo+ICsNCj4gKw0KPiAkKFBMQVRG T1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0K PiBjaFNtYnVzQXJwRGlzYWJsZWQuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FH RSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hTcGlQZWltLmluZg0K PiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRB UkdFVCkvSUEzMi9QDQo+IGVpU21tQWNjZXNzLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZ X1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9QDQo+IGVpU21tQ29u dHJvbC5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9QQ0QvUGVpL1BjZC5pbmYNCj4g Kw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJH RVQpL0lBMzIvQw0KPiBwdVBlaW0uaW5mDQo+ICsgIFVlZmlDcHVQa2cvQ3B1SW9QZWkvQ3B1SW9Q ZWkuaW5mDQo+ICsgIFVlZmlDcHVQa2cvVW5pdmVyc2FsL0FjcGkvUzNSZXN1bWUyUGVpL1MzUmVz dW1lMlBlaS5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNI SVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvTQ0KPiBwUzMuaW5mDQo+ICsjDQo+ICQoUExBVEZPUk1f QklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9QaQ0KPiBT bW1Db21tdW5pY2F0aW9uUGVpLmluZg0KPiArDQo+ICshaWYgJChSRUNPVkVSWV9FTkFCTEUpDQo+ ICsgICMNCj4gKyAgIyBSZWNvdmVyeQ0KPiArICAjDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllf UEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hVc2IuaW5m DQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvUGNpL0VoY2lQZWkvRWhjaVBlaS5pbmYNCj4gKyAgTWRl TW9kdWxlUGtnL0J1cy9Vc2IvVXNiQnVzUGVpL1VzYkJ1c1BlaS5pbmYNCj4gKyAgTWRlTW9kdWxl UGtnL0J1cy9Vc2IvVXNiQm90UGVpL1VzYkJvdFBlaS5pbmYNCj4gKyAgRmF0UGtnL0ZhdFBlaS9G YXRQZWkuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9DZEV4cHJlc3NQZWkv Q2RFeHByZXNzUGVpLmluZg0KPiArDQo+IFNpZ25lZENhcHN1bGVQa2cvVW5pdmVyc2FsL1JlY292 ZXJ5TW9kdWxlTG9hZFBlaS9SZWNvdmVyeU1vZHVsZUxvYQ0KPiBkUGVpLmluZiB7DQo+ICsgICAg PExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IEZtcEF1dGhlbnRpY2F0aW9uTGlifFNlY3VyaXR5UGtn L0xpYnJhcnkvRm1wQXV0aGVudGljYXRpb25MaWJSc2EyMDQ4U2gNCj4gYTI1Ni9GbXBBdXRoZW50 aWNhdGlvbkxpYlJzYTIwNDhTaGEyNTYuaW5mDQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJh cnkvUGVpUGNkTGliL1BlaVBjZExpYi5pbmYNCj4gKyAgfQ0KPiArIWVuZGlmDQo+ICsNCj4gKyFp ZiAkKENBUFNVTEVfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv Q2Fwc3VsZVBlaS9DYXBzdWxlUGVpLmluZg0KPiArIWVuZGlmDQo+ICsgIE1kZU1vZHVsZVBrZy9D b3JlL0R4ZUlwbFBlaW0vRHhlSXBsLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiAr IWlmICQoTFpNQV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBOVUxMfE1kZU1vZHVsZVBrZy9MaWJy YXJ5L0x6bWFDdXN0b21EZWNvbXByZXNzTGliL0x6bWFDdXN0b21EZWMNCj4gb21wcmVzc0xpYi5p bmYNCj4gKyFlbmRpZg0KPiArICB9DQo+ICsNCj4gKyBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1Zh cmlhYmxlL1BlaS9WYXJpYWJsZVBlaS5pbmYNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0ZhdWx0VG9sZXJhbnRXcml0ZVBlaS9GYXVsdFRvbGVyYW50V3JpdGVQZWkuaW5mDQo+ICsNCj4g KyFpZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICsgICBTZWN1cml0eVBrZy9UY2cvVGNnMlBl aS9UY2cyUGVpLmluZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAg IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgwMDAw MDQ2DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJy YXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5m DQo+ICsNCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5XEhhc2hJbnN0YW5jZUxpYlNoYTEvSGFz aEluc3RhbmNlTGliU2hhMS5pbmYNCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFz aEluc3RhbmNlTGliU2hhMjU2L0hhc2hJbnN0YW5jZUxpYlNoYTI1Ni5pbg0KPiBmDQo+ICsgICAg ICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExpYi5pbmYNCj4gKyAgfQ0K PiArIWVuZGlmDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArICBTZWN1cml0eVBr Zy9UY2cvVGNnMkNvbmZpZy9UY2cyQ29uZmlnUGVpLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFz c2VzPg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RMaWIu aW5mDQo+ICsgIH0NCj4gKyFlbmRpZg0KPiArIWlmICQoQUNQSTUwX0VOQUJMRSkgPT0gVFJVRQ0K PiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9GaXJtd2FyZVBlcmZvcm1hbmNlRGF0 YVRhYmxlUGVpL0Zpcm13YQ0KPiByZVBlcmZvcm1hbmNlUGVpLmluZnsNCj4gKyAgICA8TGlicmFy eUNsYXNzZXM+DQo+ICsNCj4gVGltZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0lu dGVsUGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKyAgfQ0K PiArDQo+ICshZW5kaWYNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJVRQ0KPiAr DQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUmVwb3J0U3RhdHVzQ29kZVJvdXRlci9QZWkvUmVw b3J0U3RhdHVzQ29kZQ0KPiBSb3V0ZXJQZWkuaW5mDQo+ICshZW5kaWYNCj4gK1tDb21wb25lbnRz LklBMzJdDQo+ICsgICFpZiAkKE1JTk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ICsgIEludGVs RnNwV3JhcHBlclBrZy9Gc3BOb3RpZnlEeGUvRnNwTm90aWZ5RHhlLmluZiB7DQo+ICsgICAgIWlm ICQoVEFSR0VUKSA9PSBERUJVRw0KPiArICAgIDxQY2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsg ICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHg4 MDAwMDA0Ng0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cv TGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+ IGluZg0KPiArICAgICFlbmRpZg0KPiArICB9DQo+ICsNCj4gKyAgIWVuZGlmDQo+ICsgICMNCj4g KyAgIyBFREsgSUkgUmVsYXRlZCBQbGF0Zm9ybSBjb2Rlcw0KPiArICAjDQo+ICsgIE1kZU1vZHVs ZVBrZy9Db3JlL0R4ZS9EeGVNYWluLmluZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVs ZT4NCj4gKyAgICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JM ZXZlbHwweDgwMDAwMDQ2DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArIWlmICQoRFhFX0NS QzMyX1NFQ1RJT05fRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gTlVMTHxNZGVNb2R1bGVQa2cvTGli cmFyeS9EeGVDcmMzMkd1aWRlZFNlY3Rpb25FeHRyYWN0TGliL0R4ZUNyYzMyRw0KPiB1aWRlZFNl Y3Rpb25FeHRyYWN0TGliLmluZg0KPiArIWVuZGlmDQo+ICshaWYgJChMWk1BX0VOQUJMRSkgPT0g VFJVRQ0KPiArDQo+IE5VTEx8TWRlTW9kdWxlUGtnL0xpYnJhcnkvTHptYUN1c3RvbURlY29tcHJl c3NMaWIvTHptYUN1c3RvbURlYw0KPiBvbXByZXNzTGliLmluZg0KPiArIWVuZGlmDQo+ICshaWYg JChUQVJHRVQpICE9IFJFTEVBU0UNCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNl RGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArIWVu ZGlmDQo+ICsgIH0NCj4gKw0KPiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJzYWwvQWNw aS9BY3BpUzNTYXZlRHhlL0FjcGlTM1NhdmVEeGUuaQ0KPiBuZiB7DQo+ICsgICAgPFBjZHNQYXRj aGFibGVJbk1vZHVsZT4NCj4gKyAgICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERl YnVnUHJpbnRFcnJvckxldmVsfDB4RjAwMDAwNDMNCj4gKyAgICA8UGNkc0ZpeGVkQXRCdWlsZD4N Cj4gKyAgICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNr fDB4MjcNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgIWlmICQoVEFSR0VUKSAhPSBS RUxFQVNFDQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFs UG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyAgICAhZW5kaWYNCj4gKyAg ICAgICA8QnVpbGRPcHRpb25zPg0KPiArICAgICAgICBJQ0M6Kl8qXypfQ0NfRkxBR1MgPSAvRCBN REVQS0dfTkRFQlVHDQo+ICsgICAgICAgIEdDQzoqXypfKl9DQ19GTEFHUyA9IC1EIE1ERVBLR19O REVCVUcNCj4gKyAgfQ0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1BDRC9EeGUvUGNkLmlu ZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJy YXJ5L0Jhc2VQY2RMaWJOdWxsL0Jhc2VQY2RMaWJOdWxsLmluZg0KPiArICB9DQo+ICsgIEludGVs RnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9DcHVJb0R4ZS9DcHVJb0R4ZS5pbmYNCj4gKyAg VWVmaUNwdVBrZy9DcHVJbzJEeGUvQ3B1SW8yRHhlLmluZg0KPiArDQo+ICsNCj4gTWRlTW9kdWxl UGtnL1VuaXZlcnNhbC9SZXBvcnRTdGF0dXNDb2RlUm91dGVyL1J1bnRpbWVEeGUvUmVwb3J0U3QN Cj4gYXR1c0NvZGVSb3V0ZXJSdW50aW1lRHhlLmluZg0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvU3RhdHVzQ29kZUhhbmRsZXIvUnVudGltZUR4ZS9TdGF0dXNDb2RlSGFuDQo+IGRsZXJS dW50aW1lRHhlLmluZiAgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyFpZiAkKFRBUkdF VCkgIT0gUkVMRUFTRQ0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xp YlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICshZW5kaWYNCj4g KyAgfQ0KPiArDQo+ICsNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9SZXBvcnRTdGF0dXNDb2Rl Um91dGVyL1NtbS9SZXBvcnRTdGF0dXNDb2QNCj4gZVJvdXRlclNtbS5pbmYNCj4gKyAgTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9TZWN1cml0eVN0dWJEeGUvU2VjdXJpdHlTdHViRHhlLmluZnsNCj4g KyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICshaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09IFRS VUUNCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvRHhlSW1hZ2VWZXJpZmljYXRpb25M aWIvRHhlSW1hZ2VWZXJpZmljYXRpb25MaWINCj4gLmluZg0KPiArIWVuZGlmDQo+ICshaWYgJChV U0VSX0lERU5USUZJQ0FUSU9OX0VOQUJMRSkNCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJh cnkvRHhlRGVmZXJJbWFnZUxvYWRMaWIvRHhlRGVmZXJJbWFnZUxvYWRMaWIuaW4NCj4gZg0KPiAr IWVuZGlmDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJVRQ0KPiArDQo+IE5VTEx8U2VjdXJp dHlQa2cvTGlicmFyeS9EeGVUcG1NZWFzdXJlQm9vdExpYi9EeGVUcG1NZWFzdXJlQm9vdExpDQo+ IGIuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4g TlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZVRwbTJNZWFzdXJlQm9vdExpYi9EeGVUcG0yTWVh c3VyZUJvb3QNCj4gTGliLmluZg0KPiArIWVuZGlmDQo+ICsgIH0NCj4gKw0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBB UkNISVRFQ1RVUkUpL01wQ3B1LmluZg0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL01ldHJvbm9t ZS9NZXRyb25vbWUuaW5mDQo+ICsNCj4gKyAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvVW5pdmVy c2FsL0Jkc0R4ZS9CZHNEeGUuaW5mew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAg IE9wZW5zc2xMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9PcGVuc3NsTGliLmluZg0K PiArICAgICAgSW50cmluc2ljTGlifENyeXB0b1BrZy9MaWJyYXJ5L0ludHJpbnNpY0xpYi9JbnRy aW5zaWNMaWIuaW5mDQo+ICsgICAgICBCYXNlQ3J5cHRMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvQmFz ZUNyeXB0TGliL0Jhc2VDcnlwdExpYi5pbmYNCj4gKw0KPiBQbGF0Zm9ybUJkc0xpYnwkKFBMQVRG T1JNX1BBQ0tBR0UpL0xpYnJhcnkvUGxhdGZvcm1CZHNMaWIvUGxhdGZvcm1CDQo+IGRzTGliLmlu Zg0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQv QmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xp YnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYNCj4gKw0KPiBTZXJpYWxQb3J0TGlifCQoUExB VEZPUk1fUEFDS0FHRSkvTGlicmFyeS9TZXJpYWxQb3J0TGliL1NlcmlhbFBvcnRMaWIuaW5mDQo+ ICsgICAgIWlmICQoRlRQTV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBUcG0yRGV2aWNlTGlifFZs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ0R4ZS9UcG0yRGV2aQ0KPiBj ZUxpYlNlQy5pbmYNCj4gKyAgICAhZWxzZQ0KPiArDQo+IFRwbTJEZXZpY2VMaWJ8U2VjdXJpdHlQ a2cvTGlicmFyeS9UcG0yRGV2aWNlTGliVGNnMi9UcG0yRGV2aWNlTGliVGNnMg0KPiAuaW5mDQo+ ICsgICAgIWVuZGlmDQo+ICsgIH0NCj4gKw0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1VpQXBw L1VpQXBwLmluZg0KPiArDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvV2F0Y2hkb2dUaW1l ckR4ZS9XYXRjaGRvZ1RpbWVyLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQ29yZS9SdW50aW1lRHhl L1J1bnRpbWVEeGUuaW5mDQo+ICsNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVy YW50V3JpdGVEeGUvRmF1bHRUb2xlcmFudFdyaXRlRHhlLmluDQo+IGYNCj4gKw0KPiBNZGVNb2R1 bGVQa2cvVW5pdmVyc2FsL1ZhcmlhYmxlL1J1bnRpbWVEeGUvVmFyaWFibGVTbW1SdW50aW1lRHhl LmkNCj4gbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhl L1ZhcmlhYmxlU21tLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArICAgICAgTlVM THxNZGVNb2R1bGVQa2cvTGlicmFyeS9WYXJDaGVja1VlZmlMaWIvVmFyQ2hlY2tVZWZpTGliLmlu Zg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L1Nlcmlh bFBvcnRMaWIvU2VyaWFsUG9ydExpYi5pbmYNCj4gKyAgfQ0KPiArICAkKFBMQVRGT1JNX1BBQ0tB R0UpL0Z2YlJ1bnRpbWVEeGUvRnZiU21tLmluZg0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRmF1bHRUb2xlcmFudFdyaXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZVNtbS5pDQo+IG5mDQo+ ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFS R0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hTcGlTbW0uaW5mDQo+ICshaWYgJChTRUNV UkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBTZWN1cml0eVBrZy9WYXJpYWJsZUF1dGhl bnRpY2F0ZWQvU2VjdXJlQm9vdENvbmZpZ0R4ZS9TZWN1cmVCb290Q29uZmkNCj4gZ0R4ZS5pbmYg ew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKw0KPiBQbGF0Zm9ybVNlY3VyZUxpYnxTZWN1 cml0eVBrZy9MaWJyYXJ5L1BsYXRmb3JtU2VjdXJlTGliTnVsbC9QbGF0Zm9ybVNlY3UNCj4gcmVM aWJOdWxsLmluZg0KPiArICAgIDxCdWlsZE9wdGlvbnM+DQo+ICsgICAgICAjDQo+ICsgICAgICAj IFNwZWNpZnkgR1VJRCBnRWZpSWZyQm9vdE1haW50ZW5hbmNlR3VpZCwgdG8gaW5zdGFsbCBTZWN1 cmUgQm9vdA0KPiBDb25maWd1cmF0aW9uIG1lbnUNCj4gKyAgICAgICMgaW50byBCb290IE1haW50 ZW5hbmNlIE1hbmFnZXIgbWVudQ0KPiArICAgICAgIw0KPiArICAgICAgKl8qXypfVkZSX0ZMQUdT ICAgPSAtZyBiMmRlZGM5MS1kNTlmLTQ4ZDItODk4YS0xMjQ5MGM3NGE0ZTANCj4gKyAgfQ0KPiAr IWVuZGlmDQo+ICsgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NhcHN1bGVSdW50aW1lRHhlL0Nh cHN1bGVSdW50aW1lRHhlLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArICAgICAg RmlsZUhhbmRsZUxpYnxNZGVQa2cvTGlicmFyeS9VZWZpRmlsZUhhbmRsZUxpYi9VZWZpRmlsZUhh bmRsZUxpYi5pbmYNCj4gKyAgfQ0KPiArDQo+ICsNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9N b25vdG9uaWNDb3VudGVyUnVudGltZUR4ZS9Nb25vdG9uaWNDb3VuDQo+IHRlclJ1bnRpbWVEeGUu aW5mDQo+ICsNCj4gUGNBdENoaXBzZXRQa2cvUGNhdFJlYWxUaW1lQ2xvY2tSdW50aW1lRHhlL1Bj YXRSZWFsVGltZUNsb2NrUnVudGltZQ0KPiBEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvRGV2aWNlUGF0aER4ZS9EZXZpY2VQYXRoRHhlLmluZg0KPiArDQo+ICsgICQoUExBVEZP Uk1fUEFDS0FHRSkvRnZiUnVudGltZUR4ZS9GdmJSdW50aW1lRHhlLmluZg0KPiArDQo+ICsgICQo UExBVEZPUk1fUEFDS0FHRSkvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9ybVNldHVwRHhlLmluZg0K PiArDQo+ICshaWYgJChEQVRBSFVCX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBJbnRlbEZyYW1ld29y a01vZHVsZVBrZy9Vbml2ZXJzYWwvRGF0YUh1YkR4ZS9EYXRhSHViRHhlLmluZiB7DQo+ICsgICAg PFBjZHNGaXhlZEF0QnVpbGQ+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNk TWF4aW11bUxpbmtlZExpc3RMZW5ndGh8MA0KPiArICB9DQo+ICshZW5kaWYNCj4gKw0KPiBJbnRl bEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJzYWwvU3RhdHVzQ29kZS9EYXRhaHViU3RhdHVzQ29k ZUhhbmRsDQo+IGVyRHhlL0RhdGFodWJTdGF0dXNDb2RlSGFuZGxlckR4ZS5pbmYNCj4gKw0KPiBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL01lbW9yeVRlc3QvTnVsbE1lbW9yeVRlc3REeGUvTnVsbE1l bW9yeVQNCj4gZXN0RHhlLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQo RFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNoUzNT dXBwb3J0RHhlLmluZg0KPiArICAhaWYgJChVU0VfSFBFVF9USU1FUikgPT0gVFJVRQ0KPiArICAg IFBjQXRDaGlwc2V0UGtnL0hwZXRUaW1lckR4ZS9IcGV0VGltZXJEeGUuaW5mDQo+ICsgICFlbHNl DQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQo VEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9TbWFydFRpbWVyLmluZg0KPiArICAhZW5k aWYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUp JChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NtbUNvbnRyb2wuaW5mDQo+ICsNCj4g Kw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJH RVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNtYnVzRHhlLmluZg0KPiArDQo+ICQoUExB VEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVf DQo+IEFSQ0hJVEVDVFVSRSkvSW50ZWxQY2hMZWdhY3lJbnRlcnJ1cHQuaW5mDQo+ICsNCj4gJChQ TEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERY RV8NCj4gQVJDSElURUNUVVJFKS9QY2hSZXNldC5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFS WV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRF Q1RVUkUpL1BjaEluaXREeGUuaW5mew0KPiArICAgIDxQY2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ ICsgICAgICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZl bHwweEYwMDAwMDQzDQo+ICsgIH0NCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8k KERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaElu aXRTbW0uaW5mDQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9B UkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNtaURpc3Bh dGNoZXIuaW5mDQo+ICsNCj4gKyFpZiAkKFBDSUVTQ19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiAk KFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQo RFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFBjaWVTbW0uaW5mDQo+ICshZW5kaWYNCj4gKw0KPiAk KFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQo RFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFNwaVJ1bnRpbWUuaW5mDQo+ICsNCj4gJChQTEFURk9S TV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4g QVJDSElURUNUVVJFKS9QY2hQb2xpY3lJbml0RHhlLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklO QVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJ VEVDVFVSRSkvUGNoQmlvc1dyaXRlUHJvdGVjdC5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFS WV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRF Q1RVUkUpL1NtbUFjY2Vzcy5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8k KERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaUhv c3RCcmlkZ2UuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJD SElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9WbHZJbml0RHhlLmlu Zg0KPiArDQo+ICsNCj4gSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL0xlZ2FjeVJl Z2lvbkR4ZS9MZWdhY3lSZWdpb25EeGUuaQ0KPiBuZg0KPiArDQo+ICsgICMNCj4gKyAgIyBQZXJm b3JtYW5jZSBBcHBsaWNhdGlvbjsgU2V0IFBFUkZPUk1BTkNFX0VOQUJMRT1UUlVFIGZvciBub3Jt YWwNCj4gYm9vdCBwZXJmb3JtYW5jZSBhbmQgc21tIHBlcmZvcm1hbmNlIGRhdGENCj4gKyAgIw0K PiArIWlmICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gU2hlbGxQa2cvRHlu YW1pY0NvbW1hbmQvRHBEeW5hbWljQ29tbWFuZC9EcER5bmFtaWNDb21tYW5kLmluZg0KPiB7DQo+ ICsgICAgPFBjZHNGaXhlZEF0QnVpbGQ+DQo+ICsgICAgICBnRWZpU2hlbGxQa2dUb2tlblNwYWNl R3VpZC5QY2RTaGVsbExpYkF1dG9Jbml0aWFsaXplfEZBTFNFDQo+ICsgIH0NCj4gKyFlbmRpZg0K PiArDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0Zm9y bUluaXREeGUuaW5mew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyFpZiAkKFRBUkdFVCkg IT0gUkVMRUFTRQ0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNl cmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICshZW5kaWYNCj4gKyAg ICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmluZg0KPiArICB9 DQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RV UkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0RwdGYuaW5mDQo+ICsNCj4gJChQ TEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERY RV8NCj4gQVJDSElURUNUVVJFKS9QbnBEeGUuaW5mDQo+ICsNCj4gKyFpZiAkKFNFQ19FTkFCTEUp ID09IFRSVUUNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRF Q1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0hlY2lEcnYuaW5mIHsNCj4g KyFpZiAkKFNFQ19ERUJVR19JTkZPX0VOQUJMRSkgPT0gVFJVRQ0KPiArICAgIDxCdWlsZE9wdGlv bnM+DQo+ICsgICAgICAqXypfWDY0X0NDX0ZMQUdTICAgICAgPSAvRFNFQ19ERUJVR19JTkZPPTEN Cj4gKyFlbHNlDQo+ICsgICAgPEJ1aWxkT3B0aW9ucz4NCj4gKyAgICAgICpfKl9YNjRfQ0NfRkxB R1MgICAgICA9IC9EU0VDX0RFQlVHX0lORk89MA0KPiArIWVuZGlmDQo+ICsgIH0NCj4gKw0KPiAr DQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdF VCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvU2VDUG9saWN5SW5pdER4ZS5pbmYNCj4gKyFlbmRp Zg0KPiArDQo+ICshaWYgJChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+ICQoUExBVEZPUk1f QklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFS Q0hJVEVDVFVSRSkvVHBtMkRldmljZVNlQ0R4ZS5pbmYNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL01l bW9yeU92ZXJ3cml0ZUNvbnRyb2wvVGNnTW9yLmluZg0KPiArICBTZWN1cml0eVBrZy9UY2cvVGNn MkR4ZS9UY2cyRHhlLmluZnsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsNCj4gTlVMTHxT ZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTEvSGFzaEluc3RhbmNlTGliU2hh MS5pbmYNCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNlTGliU2hh MjU2L0hhc2hJbnN0YW5jZUxpYlNoYTI1Ni5pbg0KPiBmDQo+ICsgICAgICBQY2RMaWJ8TWRlUGtn L0xpYnJhcnlcRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYNCj4gKw0KPiBUcG0yRGV2aWNlTGlifFZs djJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvVHBtMkRldmljZUxpYlNlQ0R4ZS9UcG0yRGV2aQ0KPiBj ZUxpYlNlQy5pbmYNCj4gKyAgfQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQo RFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvRnRwbVNt bS5pbmYNCj4gKyFlbmRpZg0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgU2Vj dXJpdHlQa2cvVGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ1BlaS5pbmYgew0KPiArICAgIDxMaWJy YXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9QZWlQY2RMaWIvUGVp UGNkTGliLmluZg0KPiArICB9DQo+ICsNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1RjZ0NvbmZpZ0R4 ZS9UY2dDb25maWdEeGUuaW5mIHsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICBQ Y2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYNCj4gKyAgICA8QnVp bGRPcHRpb25zPg0KPiArICAgICAgIw0KPiArICAgICAgIyBzcGVjaWZ5IEdVSUQgZ0VmaUlmck5v dEluVFBWUGFnZUd1aWQsIHRoaXMgcGFnZSB3aWxsIG5vdA0KPiArICAgICAgIyBiZSBzaG93ZWQg aW4gVFBWIHBhZ2UuDQo+ICsgICAgICAjDQo+ICsgICAgICAqXypfKl9WRlJfRkxBR1MgICA9IC1n IGU1ODgwOWY4LWZiYzEtNDhlMi04ODNhLWEzMGZkYzRiNDQxZQ0KPiArICB9DQo+ICsNCj4gKyAg U2VjdXJpdHlQa2cvVGNnL1RjZ0R4ZS9UY2dEeGUuaW5mIHsNCj4gKyAgICA8TGlicmFyeUNsYXNz ZXM+DQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5p bmYNCj4gKyAgfQ0KPiArICBTZWN1cml0eVBrZy9UY2cvVGNnU21tL1RjZ1NtbS5pbmYNCj4gKyFl bmRpZg0KPiArICAjDQo+ICsgICMgRURLIElJIFJlbGF0ZWQgUGxhdGZvcm0gY29kZXMNCj4gKyAg Iw0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtU21tL1BsYXRmb3JtU21tLmluZnsN Cj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgIWlmICQoVEFSR0VUKSAhPSBSRUxFQVNF DQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9C YXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyAgICAhZW5kaWYNCj4gKyAgICAgICAg ICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYNCj4gKyAgfQ0K PiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtSW5mb0R4ZS9QbGF0Zm9ybUluZm9EeGUu aW5mDQo+ICsgICQoUExBVEZPUk1fUEFDS0FHRSkvUGxhdGZvcm1DcHVJbmZvRHhlL1BsYXRmb3Jt Q3B1SW5mb0R4ZS5pbmYNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUR4ZS9QbGF0 Zm9ybUR4ZS5pbmYNCj4gKw0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BjaVBsYXRmb3JtL1Bj aVBsYXRmb3JtLmluZg0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1NhdmVNZW1vcnlDb25maWcv U2F2ZU1lbW9yeUNvbmZpZy5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8k KERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BsYXRm b3JtQ3B1UG9saWN5LmluZg0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BwbVBvbGljeS9QcG1Q b2xpY3kuaW5mDQo+ICsNCj4gJChQTEFURk9STV9QQUNLQUdFKS9TbXJhbVNhdmVJbmZvSGFuZGxl clNtbS9TbXJhbVNhdmVJbmZvSGFuZA0KPiBsZXJTbW0uaW5mDQo+ICshaWYgJChHT1BfRFJJVkVS X0VOQUJMRSkgPT0gVFJVRQ0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtR29wUG9s aWN5L1BsYXRmb3JtR29wUG9saWN5LmluZg0KPiArDQo+ICshZW5kaWYNCj4gKw0KPiArDQo+ICsg ICMNCj4gKyAgIyBTTU0NCj4gKyAgIw0KPiArICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUv UGlTbW1JcGwuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Db3JlL1BpU21tQ29yZS9QaVNtbUNvcmUu aW5mDQo+ICsgIFVlZmlDcHVQa2cvQ3B1RHhlL0NwdUR4ZS5pbmYNCj4gKyAgVWVmaUNwdVBrZy9Q aVNtbUNwdUR4ZVNtbS9QaVNtbUNwdUR4ZVNtbS5pbmYNCj4gKyAgVWVmaUNwdVBrZy9DcHVJbzJT bW0vQ3B1SW8yU21tLmluZg0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0xvY2tCb3gvU21t TG9ja0JveC9TbW1Mb2NrQm94LmluZg0KPiArICBVZWZpQ3B1UGtnL1BpU21tQ29tbXVuaWNhdGlv bi9QaVNtbUNvbW11bmljYXRpb25TbW0uaW5mDQo+ICsNCj4gJChQTEFURk9STV9QQUNLQUdFKS9T bW1Td0Rpc3BhdGNoMk9uU21tU3dEaXNwYXRjaFRodW5rL1NtbVMNCj4gd0Rpc3BhdGNoMk9uU21t U3dEaXNwYXRjaFRodW5rLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQo RFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUG93ZXJN YW5hZ2VtZW50Mi5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9B UkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0RpZ2l0YWxUaGVy bWFsU2Vuc29yLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBBQ1BJDQo+ICsgICMNCj4gKw0KPiBN ZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkvQm9vdFNjcmlwdEV4ZWN1dG9yRHhlL0Jvb3RTY3Jp cHRFeGVjdXRvcg0KPiBEeGUuaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxlPg0K PiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVs fDB4RjAwMDAwNDMNCj4gKyAgICA8UGNkc0ZpeGVkQXRCdWlsZD4NCj4gKyAgICAgIGdFZmlNZGVQ a2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1Byb3BlcnR5TWFza3wweDI3DQo+ICsgICAgPExpYnJh cnlDbGFzc2VzPg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQ Y2RMaWIuaW5mDQo+ICsgIH0NCj4gKw0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL0Jvb3RTY3Jp cHRTYXZlRHhlL0Jvb3RTY3JpcHRTYXZlRHhlLmluZg0KPiArDQo+IEludGVsRnJhbWV3b3JrTW9k dWxlUGtnL1VuaXZlcnNhbC9BY3BpL0FjcGlTdXBwb3J0RHhlL0FjcGlTdXBwb3J0RHgNCj4gZS5p bmYNCj4gKw0KPiBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WYWxsZXlWaWV3MlNvYy9DUFUvUG93ZXJN YW5hZ2VtZW50L0FjcGlUYWJsZQ0KPiBzL1Bvd2VyTWFuYWdlbWVudEFjcGlUYWJsZXMuaW5mDQo+ ICsNCj4gKyAgJChQTEFURk9STV9SQ19QQUNLQUdFKS9BY3BpVGFibGVzUENBVC9BY3BpVGFibGVz LmluZg0KPiArDQo+ICsgICQoUExBVEZPUk1fUEFDS0FHRSkvQWNwaVBsYXRmb3JtL0FjcGlQbGF0 Zm9ybS5pbmYNCj4gKw0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9Cb290R3Jh cGhpY3NSZXNvdXJjZVRhYmxlRHhlL0Jvb3RHcmFwaA0KPiBpY3NSZXNvdXJjZVRhYmxlRHhlLmlu Zg0KPiArDQo+ICsgICMNCj4gKyAgIyBQQ0kNCj4gKyAgIw0KPiArICBNZGVNb2R1bGVQa2cvQnVz L1BjaS9QY2lCdXNEeGUvUGNpQnVzRHhlLmluZg0KPiArDQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBB UkNISVRFQ1RVUkUpL0lTUER4ZS5pbmYNCj4gKw0KPiArDQo+ICsjDQo+ICsjIElTQQ0KPiArIw0K PiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1dwY2U3OTEvV3BjZTc5MS5pbmYNCj4gKyAgSW50ZWxG cmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9Jc2FCdXNEeGUvSXNhQnVzRHhlLmluZg0KPiArICBJ bnRlbEZyYW1ld29ya01vZHVsZVBrZy9CdXMvSXNhL0lzYUlvRHhlL0lzYUlvRHhlLmluZg0KPiAr ICBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9CdXMvSXNhL0lzYVNlcmlhbER4ZS9Jc2FTZXJpYWxE eGUuaW5mDQo+ICsgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0J1cy9Jc2EvUHMyTW91c2VEeGUv UHMyTW91c2VEeGUuaW5mDQo+ICsNCj4gSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9Q czJLZXlib2FyZER4ZS9QczJrZXlib2FyZER4ZS5pbmYNCj4gKyMNCj4gKyMgU0RJTw0KPiArIw0K PiArIw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChU QVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL01tY0hvc3QuaW5mDQo+ICsjDQo+ICQoUExB VEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVf DQo+IEFSQ0hJVEVDVFVSRSkvTW1jTWVkaWFEZXZpY2UuaW5mDQo+ICshaWYgJChBQ1BJNTBfRU5B QkxFKSA9PSBUUlVFDQo+ICsNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9BY3BpL0Zpcm13YXJl UGVyZm9ybWFuY2VEYXRhVGFibGVEeGUvRmlybXcNCj4gYXJlUGVyZm9ybWFuY2VEeGUuaW5mIHsN Cj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsNCj4gVGltZXJMaWJ8JChQTEFURk9STV9QQUNL QUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWMNCj4gcGlUaW1lckxp Yi5pbmYNCj4gKyAgfQ0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9GaXJtd2Fy ZVBlcmZvcm1hbmNlRGF0YVRhYmxlU21tL0Zpcm0NCj4gd2FyZVBlcmZvcm1hbmNlU21tLmluZiB7 DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IFRpbWVyTGlifCQoUExBVEZPUk1fUEFD S0FHRSkvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEFjDQo+IHBpVGltZXJM aWIuaW5mDQo+ICsgIH0NCj4gKyFlbmRpZg0KPiArDQo+ICsjDQo+ICsjIElERS9TQ1NJL0FIQ0kN Cj4gKyMNCj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQXRhcGlQYXNzVGhydS9BdGFBdGFw aVBhc3NUaHJ1LmluZg0KPiArICBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9CdXMvUGNpL0lkZUJ1 c0R4ZS9JZGVCdXNEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRGlzay9EaXNr SW9EeGUvRGlza0lvRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svUGFy dGl0aW9uRHhlL1BhcnRpdGlvbkR4ZS5pbmYNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0Rpc2svVW5pY29kZUNvbGxhdGlvbi9FbmdsaXNoRHhlL0VuZ2xpc2hEeGUuaW5mDQo+ICsgIEZh dFBrZy9FbmhhbmNlZEZhdER4ZS9GYXQuaW5mDQo+ICsgIFNoZWxsUGtnL0FwcGxpY2F0aW9uL1No ZWxsL1NoZWxsLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IFNoZWxsQ29t bWFuZExpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbENvbW1hbmRMaWIvVWVmaVNoZWxsQ29t bWENCj4gbmRMaWIuaW5mDQo+ICsNCj4gTlVMTHxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExl dmVsMkNvbW1hbmRzTGliL1VlZmlTaGVsbExldmVsMkNvbW1hDQo+IG5kc0xpYi5pbmYNCj4gKw0K PiBOVUxMfFNoZWxsUGtnL0xpYnJhcnkvVWVmaVNoZWxsTGV2ZWwxQ29tbWFuZHNMaWIvVWVmaVNo ZWxsTGV2ZWwxQ29tbWENCj4gbmRzTGliLmluZg0KPiArDQo+IE5VTEx8U2hlbGxQa2cvTGlicmFy eS9VZWZpU2hlbGxMZXZlbDNDb21tYW5kc0xpYi9VZWZpU2hlbGxMZXZlbDNDb21tYQ0KPiBuZHNM aWIuaW5mDQo+ICsNCj4gTlVMTHxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbERyaXZlcjFDb21t YW5kc0xpYi9VZWZpU2hlbGxEcml2ZXIxQ29tDQo+IG1hbmRzTGliLmluZg0KPiArDQo+IE5VTEx8 U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEZWJ1ZzFDb21tYW5kc0xpYi9VZWZpU2hlbGxEZWJ1 ZzFDb20NCj4gbWFuZHNMaWIuaW5mDQo+ICsNCj4gTlVMTHxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlT aGVsbEluc3RhbGwxQ29tbWFuZHNMaWIvVWVmaVNoZWxsSW5zdGFsbDFDb20NCj4gbWFuZHNMaWIu aW5mDQo+ICsNCj4gTlVMTHxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbE5ldHdvcmsxQ29tbWFu ZHNMaWIvVWVmaVNoZWxsTmV0d29yazENCj4gQ29tbWFuZHNMaWIuaW5mDQo+ICsNCj4gSGFuZGxl UGFyc2luZ0xpYnxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlIYW5kbGVQYXJzaW5nTGliL1VlZmlIYW5k bGVQYXJzaW5nTA0KPiBpYi5pbmYNCj4gKyAgICAgIFByaW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jh c2VQcmludExpYi9CYXNlUHJpbnRMaWIuaW5mDQo+ICsNCj4gQmNmZ0NvbW1hbmRMaWJ8U2hlbGxQ a2cvTGlicmFyeS9VZWZpU2hlbGxCY2ZnQ29tbWFuZExpYi9VZWZpU2hlbGxCY2ZnDQo+IENvbW1h bmRMaWIuaW5mDQo+ICsgICAgPFBjZHNGaXhlZEF0QnVpbGQ+DQo+ICsgICAgICBnRWZpTWRlUGtn VG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHhGRg0KPiArICAgICAgZ0VmaVNo ZWxsUGtnVG9rZW5TcGFjZUd1aWQuUGNkU2hlbGxMaWJBdXRvSW5pdGlhbGl6ZXxGQUxTRQ0KPiAr ICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVlZmlMaWJNYXhQcmludEJ1ZmZlclNp emV8ODAwMA0KPiArICB9DQo+ICshaWYgJChTQVRBX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+ICQo UExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChE WEVfDQo+IEFSQ0hJVEVDVFVSRSkvU2F0YUNvbnRyb2xsZXIuaW5mDQo+ICshZW5kaWYNCj4gKyAg TWRlTW9kdWxlUGtnL0J1cy9BdGEvQXRhQnVzRHhlL0F0YUJ1c0R4ZS5pbmYNCj4gKyFpZiAkKFND U0lfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpQnVzRHhl L1Njc2lCdXNEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvU2NzaS9TY3NpRGlza0R4ZS9T Y3NpRGlza0R4ZS5pbmYNCj4gKyFlbmRpZg0KPiArIw0KPiArIyBDb25zb2xlDQo+ICsjDQo+ICsg IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9Db25QbGF0Zm9ybUR4ZS9Db25QbGF0Zm9y bUR4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Db25zb2xlL0NvblNwbGl0dGVy RHhlL0NvblNwbGl0dGVyRHhlLmluZg0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29u c29sZS9HcmFwaGljc0NvbnNvbGVEeGUvR3JhcGhpY3NDb25zb2xlRA0KPiB4ZS5pbmYNCj4gKw0K PiBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9WZ2FDbGFzc0R4ZS9W Z2FDbGFzc0R4ZS5pbg0KPiBmDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9U ZXJtaW5hbER4ZS9UZXJtaW5hbER4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9I aWlEYXRhYmFzZUR4ZS9IaWlEYXRhYmFzZUR4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZl cnNhbC9EaXNwbGF5RW5naW5lRHhlL0Rpc3BsYXlFbmdpbmVEeGUuaW5mDQo+ICsgIE1kZU1vZHVs ZVBrZy9Vbml2ZXJzYWwvU2V0dXBCcm93c2VyRHhlL1NldHVwQnJvd3NlckR4ZS5pbmYNCj4gKw0K PiArICAjDQo+ICsgICMgVVNCDQo+ICsgICMNCj4gKyFpZiAkKFVTQl9FTkFCTEUpID09IFRSVUUN Cj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9QY2kvRWhjaUR4ZS9FaGNpRHhlLmluZg0KPiArICBNZGVN b2R1bGVQa2cvQnVzL1BjaS9VaGNpRHhlL1VoY2lEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9C dXMvUGNpL1hoY2lEeGUvWGhjaUR4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNi QnVzRHhlL1VzYkJ1c0R4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiS2JEeGUv VXNiS2JEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYk1vdXNlRHhlL1VzYk1v dXNlRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNYXNzU3RvcmFnZUR4ZS9V c2JNYXNzU3RvcmFnZUR4ZS5pbmYNCj4gKw0KPiArIWVuZGlmDQo+ICsNCj4gKyAgIw0KPiArICAj IFNNQklPUw0KPiArICAjDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU21iaW9zRHhlL1Nt Ymlvc0R4ZS5pbmYNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9TbUJpb3NNaXNjRHhlL1NtQmlv c01pc2NEeGUuaW5mDQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERY RV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NtYmlvc01l bW9yeS5pbmYNCj4gKyAgIw0KPiArICAjIENQVS9GVyBNaWNyb2RlDQo+ICsgICMNCj4gKyAgVmx2 MlNvY0JpblBrZy9NaWNyb2NvZGUvTWljcm9jb2RlVXBkYXRlcy5pbmYgew0KPiArICAgIDxCdWls ZE9wdGlvbnM+DQo+ICsgICAgICAqXypfKl9HRU5GV19GTEFHUyA9IC1hIDB4ODAwIC1wIDB4RkYN Cj4gKyAgfQ0KPiArDQo+ICsNCj4gKw0KPiArIWlmICQoTkVUV09SS19FTkFCTEUpID09IFRSVUUN Cj4gKyAgIWlmICQoTkVUV09SS19JU0NTSV9FTkFCTEUpID09IFRSVUUNCj4gKyAgICBOZXR3b3Jr UGtnL0lTY3NpRHhlL0lTY3NpRHhlLmluZg0KPiArICAhZW5kaWYNCj4gKyAgIWlmICQoTkVUV09S S19WTEFOX0VOQUJMRSkgPT0gVFJVRQ0KPiArICAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0 d29yay9WbGFuQ29uZmlnRHhlL1ZsYW5Db25maWdEeGUuaW5mDQo+ICsgICFlbmRpZg0KPiArICAh aWYgJChDU01fRU5BQkxFKSA9PSBUUlVFDQo+ICsgICAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cv Q3NtL0Jpb3NUaHVuay9TbnAxNkR4ZS9TbnAxNkR4ZS5pbmYNCj4gKyAgIWVuZGlmDQo+ICshZW5k aWYNCj4gKw0KPiArIWlmICQoTkVUV09SS19FTkFCTEUpID09IFRSVUUNCj4gKyAgIw0KPiArICAj IFVFRkkgbmV0d29yayBtb2R1bGVzDQo+ICsgICMNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL05ldHdvcmsvRHBjRHhlL0RwY0R4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL05ldHdvcmsvU25wRHhlL1NucER4ZS5pbmYNCj4gKw0KPiArICAgIE1kZU1vZHVsZVBrZy9V bml2ZXJzYWwvTmV0d29yay9NbnBEeGUvTW5wRHhlLmluZg0KPiArICAgIE1kZU1vZHVsZVBrZy9V bml2ZXJzYWwvTmV0d29yay9BcnBEeGUvQXJwRHhlLmluZg0KPiArICAgIE1kZU1vZHVsZVBrZy9V bml2ZXJzYWwvTmV0d29yay9EaGNwNER4ZS9EaGNwNER4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL05ldHdvcmsvSXA0RHhlL0lwNER4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQ a2cvVW5pdmVyc2FsL05ldHdvcmsvTXRmdHA0RHhlL010ZnRwNER4ZS5pbmYNCj4gKyAgICBOZXR3 b3JrUGtnL1VlZmlQeGVCY0R4ZS9VZWZpUHhlQmNEeGUuaW5mDQo+ICsgICAgTmV0d29ya1BrZy9U Y3BEeGUvVGNwRHhlLmluZg0KPiArICAgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTmV0d29yay9V ZHA0RHhlL1VkcDREeGUuaW5mDQo+ICsgICAgIWlmICQoTkVUV09SS19JUDZfRU5BQkxFKSA9PSBU UlVFDQo+ICsgICAgICBOZXR3b3JrUGtnL0lwNkR4ZS9JcDZEeGUuaW5mDQo+ICsgICAgICBOZXR3 b3JrUGtnL0RoY3A2RHhlL0RoY3A2RHhlLmluZg0KPiArICAgICAgTmV0d29ya1BrZy9VZHA2RHhl L1VkcDZEeGUuaW5mDQo+ICsgICAgICBOZXR3b3JrUGtnL010ZnRwNkR4ZS9NdGZ0cDZEeGUuaW5m DQo+ICsgICAgIWVuZGlmDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoQ0FQU1VMRV9FTkFCTEUp IHx8ICQoTUlDT0NPREVfQ0FQU1VMRV9FTkFCTEUpDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJz YWwvRXNydEZtcER4ZS9Fc3J0Rm1wRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQXBwbGljYXRp b24vQ2Fwc3VsZUFwcC9DYXBzdWxlQXBwLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKENB UFNVTEVfRU5BQkxFKQ0KPiArICAhaW5jbHVkZSBWbHYyVGJsdERldmljZVBrZy9GbXBNaW5ub3dN YXhTeXN0ZW0uZHNjDQo+ICsgICFpbmNsdWRlIFZsdjJUYmx0RGV2aWNlUGtnL0ZtcEdyZWVuU2Ft cGxlRGV2aWNlLmRzYw0KPiArICAhaW5jbHVkZSBWbHYyVGJsdERldmljZVBrZy9GbXBCbHVlU2Ft cGxlRGV2aWNlLmRzYw0KPiArICAhaW5jbHVkZSBWbHYyVGJsdERldmljZVBrZy9GbXBSZWRTYW1w bGVEZXZpY2UuZHNjDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoTUlDT0NPREVfQ0FQU1VMRV9F TkFCTEUpDQo+ICsNCj4gSW50ZWxTaWxpY29uUGtnL0ZlYXR1cmUvQ2Fwc3VsZS9NaWNyb2NvZGVV cGRhdGVEeGUvTWljcm9jb2RlVXBkYXRlRHgNCj4gZS5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xh c3Nlcz4NCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQ b3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArICAgICAgUGNkTGlifE1kZVBr Zy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsNCj4gU2VyaWFsUG9ydExpYnwk KFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9TZXJpYWxQb3J0TGliLmlu Zg0KPiArICB9DQo+ICshZW5kaWYNCj4gKw0KPiArW0J1aWxkT3B0aW9uc10NCj4gKyMNCj4gKyMg RGVmaW5lIEJ1aWxkIE9wdGlvbnMgYm90aCBmb3IgRURLIGFuZCBFREtJSSBkcml2ZXJzLg0KPiAr Iw0KPiArDQo+ICsjDQo+ICsjIERlZmluZSB0b2tlbiBmb3IgZGlmZmVyZW50IFBsYXRmb3JtDQo+ ICsjDQo+ICshaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArICBERUZJTkUgTUlO Tk9XMl9GU1BfT1BUSU9OID0gL0RNSU5OT1cyX0ZTUF9CVUlMRA0KPiArIWVsc2UNCj4gKyAgREVG SU5FIE1JTk5PVzJfRlNQX09QVElPTiA9DQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoRU5CRFRf UEZfQlVJTEQpID09IFRSVUUNCj4gKyAgREVGSU5FIEVOQkRUX1BGX0VOQUJMRSA9IC9ERU5CRFRf UEZfRU5BQkxFPTENCj4gKyFlbHNlDQo+ICsgIERFRklORSBFTkJEVF9QRl9FTkFCTEUgPSAvREVO QkRUX1BGX0VOQUJMRT0wDQo+ICshZW5kaWYNCj4gKw0KPiArDQo+ICshaWYgJChDTEtHRU5fQ09O RklHX0VYVFJBX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBERUZJTkUgQ0xLR0VOX0NPTkZJR19FWFRS QV9CVUlMRF9PUFRJT04gPQ0KPiAvRENMS0dFTl9DT05GSUdfRVhUUkE9MQ0KPiArIWVsc2UNCj4g KyAgREVGSU5FIENMS0dFTl9DT05GSUdfRVhUUkFfQlVJTERfT1BUSU9OID0NCj4gKyFlbmRpZg0K PiArDQo+ICsNCj4gKw0KPiArIWlmICQoUENJRVNDX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBERUZJ TkUgUENJRVNDX1NVUFBPUlRfQlVJTERfT1BUSU9OID0gL0RQQ0lFU0NfU1VQUE9SVD0xDQo+ICsh ZWxzZQ0KPiArICBERUZJTkUgUENJRVNDX1NVUFBPUlRfQlVJTERfT1BUSU9OID0NCj4gKyFlbmRp Zg0KPiArIWlmICQoU0FUQV9FTkFCTEUpID09IFRSVUUNCj4gKyAgREVGSU5FIFNBVEFfU1VQUE9S VF9CVUlMRF9PUFRJT04gPSAvRFNBVEFfU1VQUE9SVD0xDQo+ICshZWxzZQ0KPiArICBERUZJTkUg U0FUQV9TVVBQT1JUX0JVSUxEX09QVElPTiA9DQo+ICshZW5kaWYNCj4gKyFpZiAkKEVOQkRUX1Mz X1NVUFBPUlQpID09IFRSVUUNCj4gKyAgREVGSU5FIEVOQkRUX1MzX1NVUFBPUlRfT1BUSU9OUyA9 IC9ETk9DU19TM19TVVBQT1JUDQo+ICshZWxzZQ0KPiArICBERUZJTkUgRU5CRFRfUzNfU1VQUE9S VF9PUFRJT05TID0NCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChYNjRfQ09ORklHKSA9PSBUUlVF DQo+ICsgIERFRklORSBYNjRfQlVJTERfRU5BQkxFID0gL0RYNjRfQlVJTERfRU5BQkxFPTENCj4g KyFlbHNlDQo+ICsgIERFRklORSBYNjRfQlVJTERfRU5BQkxFID0NCj4gKyFlbmRpZg0KPiArDQo+ ICshaWYgJChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBERUZJTkUgRFNDX0ZUUE1fQlVJTERf T1BUSU9OUyA9IC9ERlRQTV9FTkFCTEUNCj4gKyFlbHNlDQo+ICsgIERFRklORSBEU0NfRlRQTV9C VUlMRF9PUFRJT05TID0NCj4gKyFlbmRpZg0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUN Cj4gKyAgREVGSU5FIERTQ19UUE1fQlVJTERfT1BUSU9OUyA9IC9EVFBNX0VOQUJMRUQNCj4gKyFl bHNlDQo+ICsgIERFRklORSBEU0NfVFBNX0JVSUxEX09QVElPTlMgPQ0KPiArIWVuZGlmDQo+ICsN Cj4gKw0KPiArICBERUZJTkUgRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMgPQ0K PiAkKE1JTk5PVzJfRlNQX09QVElPTikgJChNSU5OT1cyX0JVSUxEX09QVElPTikNCj4gJChFTkJE VF9QRl9FTkFCTEUpICQoRVhURVJOQUxfVkdBX0JVSUxEX09QVElPTikNCj4gJChQQ0lFX0VOVU1f V0FfQlVJTERfT1BUSU9OKSAkKFgwX1dBX0VOQUJMRV9CVUlMRF9PUFRJT04pDQo+ICQoQTBfV0Ff RU5BQkxFX0JVSUxEX09QVElPTikgJChNSUNST0NPREVfRlJFRV9CVUlMRF9PUFRJT05TKQ0KPiAk KFNJTUlDU19CVUlMRF9PUFRJT05TKSAkKEhZQlJJRF9CVUlMRF9PUFRJT05TKQ0KPiAkKENPTVBB Q1RfQlVJTERfT1BUSU9OUykgJChWUF9CVUlMRF9PUFRJT05TKQ0KPiAkKFNZU0NUTF9JRF9CVUlM RF9PUFRJT04pICQoQ0xLR0VOX0NPTkZJR19FWFRSQV9CVUlMRF9PUFRJT04pDQo+ICQoU1lTQ1RM X1gwX0NPTlZFUlRfQk9BUkRfT1BUSU9OKSAkKEVOQkRUX1MzX1NVUFBPUlRfT1BUSU9OUykNCj4g JChTQVRBX1NVUFBPUlRfQlVJTERfT1BUSU9OKSAkKFBDSUVTQ19TVVBQT1JUX0JVSUxEX09QVElP TikNCj4gJChEU0NfRlRQTV9CVUlMRF9PUFRJT05TKSAkKERTQ19GVFBNX0VSUk9SX1dSX0JVSUxE X09QVElPTlMpDQo+ICQoRFNDX1RQTV9CVUlMRF9PUFRJT05TKSAkKERTQ19CWVRJX1NFQ1VSRV9C T09UX0JVSUxEX09QVElPTlMpDQo+ICshaWYgJChQRVJGT1JNQU5DRV9FTkFCTEUpID09IFRSVUUN Cj4gKyAgREVGSU5FIFBEQl9CVUlMRF9PUFRJT04gPSAvWmkNCj4gKyFlbmRpZg0KPiArDQo+ICsh aWYgJChTT1VSQ0VfREVCVUdfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE1TRlQ6Kl8qX1g2NF9HRU5G V19GTEFHUyAgPSAtLWtlZXBleGNlcHRpb250YWJsZQ0KPiArICBHQ0M6Kl8qX1g2NF9HRU5GV19G TEFHUyAgID0gLS1rZWVwZXhjZXB0aW9udGFibGUNCj4gKyAgSU5URUw6Kl8qX1g2NF9HRU5GV19G TEFHUyA9IC0ta2VlcGV4Y2VwdGlvbnRhYmxlDQo+ICshaWYgJChUQVJHRVQpID09IERFQlVHDQo+ ICsgIERFRklORSBTT1VSQ0VfTEVWRUxfREVCVUdfQlVJTERfT1BUSU9OUyA9IC9PZCAvT3ktDQo+ ICshZW5kaWYNCj4gKyFlbHNlDQo+ICsgIERFRklORSBTT1VSQ0VfTEVWRUxfREVCVUdfQlVJTERf T1BUSU9OUyA9DQo+ICsNCj4gKyFlbmRpZg0KPiArDQo+ICsjDQo+ICsjIEZvcmNlIFBFL0NPRkYg c2VjdGlvbnMgdG8gYmUgYWxpZ25lZCBhdCA0S0IgYm91bmRhcmllcyB0byBzdXBwb3J0IHBhZ2UN Cj4gbGV2ZWwNCj4gKyMgcHJvdGVjdGlvbiBvZiBEWEVfUlVOVElNRV9EUklWRVIgbW9kdWxlcw0K PiArIw0KPiArW0J1aWxkT3B0aW9ucy5jb21tb24uRURLSUkuRFhFX1JVTlRJTUVfRFJJVkVSXQ0K PiArICBNU0ZUOipfKl8qX0RMSU5LX0ZMQUdTID0gL0FMSUdOOjQwOTYNCj4gKyAgR0NDOipfKl8q X0RMSU5LX0ZMQUdTID0gLXogY29tbW9uLXBhZ2Utc2l6ZT0weDEwMDANCj4gKw0KPiArIw0KPiAr IyBGb3JjZSBQRS9DT0ZGIHNlY3Rpb25zIHRvIGJlIGFsaWduZWQgYXQgNEtCIGJvdW5kYXJpZXMg dG8gc3VwcG9ydCBwYWdlDQo+IGxldmVsDQo+ICsjIHByb3RlY3Rpb24gb2YgRFhFX1NNTV9EUklW RVIvU01NX0NPUkUgbW9kdWxlcw0KPiArIw0KPiArW0J1aWxkT3B0aW9ucy5jb21tb24uRURLSUku RFhFX1NNTV9EUklWRVIsDQo+IEJ1aWxkT3B0aW9ucy5jb21tb24uRURLSUkuU01NX0NPUkVdDQo+ ICsgIE1TRlQ6Kl8qXypfRExJTktfRkxBR1MgPSAvQUxJR046NDA5Ng0KPiArICBHQ0M6Kl8qXypf RExJTktfRkxBR1MgPSAteiBjb21tb24tcGFnZS1zaXplPTB4MTAwMA0KPiArDQo+ICtbQnVpbGRP cHRpb25zLkNvbW1vbi5FREtdDQo+ICsNCj4gKyMNCj4gKyMgRGVmaW5lIHRva2VuIGZvciBkaWZm ZXJlbnQgUGxhdGZvcm0NCj4gKyMNCj4gKyFpZiAkKEVOQkRUX1BGX0JVSUxEKSA9PSBUUlVFDQo+ ICsgIERFRklORSBFTkJEVF9QRl9FTkFCTEUgPSAvREVOQkRUX1BGX0VOQUJMRT0xDQo+ICshZWxz ZQ0KPiArICBERUZJTkUgRU5CRFRfUEZfRU5BQkxFID0gL0RFTkJEVF9QRl9FTkFCTEU9MA0KPiAr IWVuZGlmDQo+ICsNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBS RUxFQVNFXypfKl9ETElOS19GTEFHUyA9IC9ERUJVRw0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAk KFMzX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBERUZJTkUgRFNDX1MzX0JVSUxEX09QVElPTlMgPSAv REVGSV9TM19SRVNVTUUNCj4gKyFlbHNlDQo+ICsgIERFRklORSBEU0NfUzNfQlVJTERfT1BUSU9O UyA9DQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoRU5CRFRfUzNfU1VQUE9SVCkgPT0gVFJVRQ0K PiArICBERUZJTkUgRU5CRFRfUzNfU1VQUE9SVF9PUFRJT05TID0gL0ROT0NTX1MzX1NVUFBPUlQN Cj4gKyFlbHNlDQo+ICsgIERFRklORSBFTkJEVF9TM19TVVBQT1JUX09QVElPTlMgPQ0KPiArIWVu ZGlmDQo+ICsNCj4gKyFpZiAkKFg2NF9DT05GSUcpID09IFRSVUUNCj4gKyAgREVGSU5FIFg2NF9C VUlMRF9FTkFCTEUgPSAvRFg2NF9CVUlMRF9FTkFCTEU9MQ0KPiArIWVsc2UNCj4gKyAgREVGSU5F IFg2NF9CVUlMRF9FTkFCTEUgPQ0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiArICBERUZJTkUgRURL X0dMVUVfTElCX0RFQlVHICA9DQo+ICsgIERFRklORSBERUJVR19CVUlMRF9PUFRJT05TID0gL0Qg RUZJX0RFQlVHIC9EIERFQlVHX01PREU9MQ0KPiAvR0wtICQoRURLX0dMVUVfTElCX0RFQlVHKQ0K PiAvREVES0lJX0dMVUVfRGVidWdQcmludEVycm9yTGV2ZWw9KEVGSV9EX0VSUk9SKQ0KPiArICBE RUZJTkUgRURLX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMgPSAkKERTQ19TM19CVUlMRF9PUFRJ T05TKQ0KPiAkKERTQ19BQ1BJX0JVSUxEX09QVElPTlMpICQoRFNDX1NFQ19CVUlMRF9PUFRJT05T KQ0KPiAkKERTQ19GVFBNX0JVSUxEX09QVElPTlMpICQoRFNDX0ZUUE1fRVJST1JfV1JfQlVJTERf T1BUSU9OUykNCj4gJChEU0NfVFBNX0JVSUxEX09QVElPTlMpICQoU09GVFNEVl9CVUlMRF9PUFRJ T05TKQ0KPiAkKFNJTUlDU19CVUlMRF9PUFRJT05TKSAkKEhZQlJJRF9CVUlMRF9PUFRJT05TKQ0K PiAkKENPTVBBQ1RfQlVJTERfT1BUSU9OUykgJChWUF9CVUlMRF9PUFRJT05TKQ0KPiAkKFFUX0JV SUxEX09QVElPTlMpICQoRFNDX0JZVElfU0VDVVJFX0JPT1RfQlVJTERfT1BUSU9OUykNCj4gL0Qk KFBST0pFQ1RfU0NfQ0hJUFNFVCkNCj4gKw0KPiArICBERUZJTkUgRURLX0RTQ19PVEhFUl9CVUlM RF9PUFRJT05TID0NCj4gJChFREtfRURLSUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykgJChT Vl9CVUlMRF9PUFRJT05TKQ0KPiAkKElOVEVMX0ZBU1RCT09UX0JVSUxEX09QVElPTikNCj4gKyAg REVGSU5FIEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMgPSAkKEVOQkRUX1BGX0VOQUJMRSkN Cj4gJChFREtfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykNCj4gJChFREtfRFNDX09USEVSX0JV SUxEX09QVElPTlMpIC9EDQo+IEVGSV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT049MHgwMDAyMDAwMCAg L0QNCj4gUElfU1BFQ0lGSUNBVElPTl9WRVJTSU9OPTB4MDAwMDAwMDkgIC9EDQo+IFRJQU5PX1JF TEVBU0VfVkVSU0lPTj0weDAwMDgwMDA2IC9EDQo+IFNVUFBPUlRfREVQUkVDQVRFRF9QQ0lfQ0ZH X1BQSSAvRCBDU01fU01NRU5UUllfUE9SVDhEQVRBOCAvRA0KPiBFREtJSV9HTFVFX1BjaUV4cHJl c3NCYXNlQWRkcmVzcz0weCQoUExBVEZPUk1fUENJRVhQUkVTU19CQVNFKSAvRA0KPiBNQVhfVkFS SUFCTEVfU0laRT0weDIwMDAgL0QgRUZJX0ZJUk1XQVJFX1ZFTkRPUj0iTC8iSU5URUwvIiIgL0QN Cj4gRUZJX0JVSUxEX1ZFUlNJT049IkwvIkVES0lJLyIiIC9ERUZJX1BFSV9SRVBPUlRfU1RBVFVT X0NPREVfT04NCj4gJChFTkJEVF9TM19TVVBQT1JUX09QVElPTlMpDQo+ICsNCj4gKyAgKl8qX0lB MzJfQVNNX0ZMQUdTICAgICAgICAgPSAvREVGSTMyIC9EDQo+IEVES0lJX0dMVUVfUGNpRXhwcmVz c0Jhc2VBZGRyZXNzPSQoUExBVEZPUk1fUENJRVhQUkVTU19CQVNFKWgNCj4gL0ROT0NTX1MzX1NV UFBPUlQNCj4gKyAgREVCVUdfKl9JQTMyX0NDX0ZMQUdTICAgICAgPSAvRCBFRkkzMg0KPiAkKEVE S19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMpICQoREVCVUdfQlVJTERfT1BUSU9OUykNCj4gKyAg UkVMRUFTRV8qX0lBMzJfQ0NfRkxBR1MgICAgPSAvRCBFRkkzMg0KPiAkKEVES19EU0NfR0xPQkFM X0JVSUxEX09QVElPTlMpDQo+ICsgIERFQlVHXypfSUEzMl9WRlJQUF9GTEFHUyAgID0gL0QgRUZJ MzINCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKSAkKERFQlVHX0JVSUxEX09QVElP TlMpDQo+ICsgIFJFTEVBU0VfKl9JQTMyX1ZGUlBQX0ZMQUdTID0gL0QgRUZJMzINCj4gJChFREtf RFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKQ0KPiArICBERUJVR18qX0lBMzJfQVBQX0ZMQUdTICAg ICA9IC9EIEVGSTMyDQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9OUykgJChERUJVR19C VUlMRF9PUFRJT05TKQ0KPiArICBSRUxFQVNFXypfSUEzMl9BUFBfRkxBR1MgICA9IC9EIEVGSTMy DQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9OUykNCj4gKyAgREVCVUdfKl9JQTMyX1BQ X0ZMQUdTICAgICAgPSAvRCBFRkkzMg0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMp ICQoREVCVUdfQlVJTERfT1BUSU9OUykNCj4gKyAgUkVMRUFTRV8qX0lBMzJfUFBfRkxBR1MgICAg PSAvRCBFRkkzMg0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMpDQo+ICsgICpfKl9J QTMyX0FTTFBQX0ZMQUdTICAgICAgID0gL0QNCj4gRURLSUlfR0xVRV9QY2lFeHByZXNzQmFzZUFk ZHJlc3M9MHgkKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFTRSkNCj4gKyAgKl8qX0lBMzJfQVNMQ0Nf RkxBR1MgICAgICAgPSAvRA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0weCQo UExBVEZPUk1fUENJRVhQUkVTU19CQVNFKQ0KPiArICAqXypfSUEzMl9BU00xNl9GTEFHUyAgICAg ICA9IC9EDQo+IEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzPSQoUExBVEZPUk1fUENJ RVhQUkVTU19CQVNFKWgNCj4gKw0KPiArICAqXypfWDY0X0FTTV9GTEFHUyAgICAgICAgICA9IC9E RUZJWDY0IC9EDQo+IEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzPSQoUExBVEZPUk1f UENJRVhQUkVTU19CQVNFKWgNCj4gL0ROT0NTX1MzX1NVUFBPUlQNCj4gKyAgREVCVUdfKl9YNjRf Q0NfRkxBR1MgICAgICAgPSAvRCBFRklYNjQNCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJ T05TKSAkKERFQlVHX0JVSUxEX09QVElPTlMpDQo+ICsgIFJFTEVBU0VfKl9YNjRfQ0NfRkxBR1Mg ICAgID0gL0QgRUZJWDY0DQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9OUykNCj4gKyAg REVCVUdfKl9YNjRfVkZSUFBfRkxBR1MgICAgPSAvRCBFRklYNjQNCj4gJChFREtfRFNDX0dMT0JB TF9CVUlMRF9PUFRJT05TKSAkKERFQlVHX0JVSUxEX09QVElPTlMpDQo+ICsgIFJFTEVBU0VfKl9Y NjRfVkZSUFBfRkxBR1MgID0gL0QgRUZJWDY0DQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BU SU9OUykNCj4gKyAgREVCVUdfKl9YNjRfQVBQX0ZMQUdTICAgICAgPSAvRCBFRklYNjQNCj4gJChF REtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKSAkKERFQlVHX0JVSUxEX09QVElPTlMpDQo+ICsg IFJFTEVBU0VfKl9YNjRfQVBQX0ZMQUdTICAgID0gL0QgRUZJWDY0DQo+ICQoRURLX0RTQ19HTE9C QUxfQlVJTERfT1BUSU9OUykNCj4gKyAgREVCVUdfKl9YNjRfUFBfRkxBR1MgICAgICAgPSAvRCBF RklYNjQNCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKSAkKERFQlVHX0JVSUxEX09Q VElPTlMpDQo+ICsgIFJFTEVBU0VfKl9YNjRfUFBfRkxBR1MgICAgID0gL0QgRUZJWDY0DQo+ICQo RURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9OUykNCj4gKyAgKl8qX1g2NF9BU0xQUF9GTEFHUyAg ICAgICAgPSAvRA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0weCQoUExBVEZP Uk1fUENJRVhQUkVTU19CQVNFKQ0KPiArICAqXypfWDY0X0FTTENDX0ZMQUdTICAgICAgICA9IC9E DQo+IEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzPTB4JChQTEFURk9STV9QQ0lFWFBS RVNTX0JBU0UpDQo+ICsgICpfKl9YNjRfQVNNMTZfRkxBR1MgICAgICAgID0gL0QNCj4gRURLSUlf R0xVRV9QY2lFeHByZXNzQmFzZUFkZHJlc3M9JChQTEFURk9STV9QQ0lFWFBSRVNTX0JBU0UpaA0K PiArICMgKl8qXypfQlVJTERfRkxBR1MgPSAtcw0KPiArICAqXypfKl9WRlJfRkxBR1MgICA9IC1j DQo+ICsgICpfKl8qX0JVSUxEX0ZMQUdTID0gLWMNCj4gKw0KPiArW0J1aWxkT3B0aW9ucy5Db21t b24uRURLSUldDQo+ICsgICpfKl9JQTMyX0FTTV9GTEFHUyAgICAgPSAkKFZQX0JVSUxEX09QVElP TlMpIC9EDQo+IEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNzPSQoUExBVEZPUk1fUENJ RVhQUkVTU19CQVNFKWgNCj4gL0ROT0NTX1MzX1NVUFBPUlQNCj4gKw0KPiArICAqXypfSUEzMl9D Q19GTEFHUyAgICAgID0gJChFREtfRURLSUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykNCj4g KyAgKl8qX0lBMzJfVkZSUFBfRkxBR1MgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxE X09QVElPTlMpDQo+ICsgICpfKl9JQTMyX0FQUF9GTEFHUyAgICAgPSAkKEVES19FREtJSV9EU0Nf RkVBVFVSRV9CVUlMRF9PUFRJT05TKQ0KPiArICAqXypfSUEzMl9QUF9GTEFHUyAgICAgID0gJChF REtfRURLSUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykNCj4gKyAgKl8qX0lBMzJfQVNMUFBf RkxBR1MgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICsNCj4g KyAgKl8qX1g2NF9DQ19GTEFHUyAgICAgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxE X09QVElPTlMpDQo+ICQoU09VUkNFX0xFVkVMX0RFQlVHX0JVSUxEX09QVElPTlMpDQo+ICsgICpf Kl9YNjRfVkZSUFBfRkxBR1MgICAgPSAkKEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJ T05TKQ0KPiArICAqXypfWDY0X0FQUF9GTEFHUyAgICAgID0gJChFREtfRURLSUlfRFNDX0ZFQVRV UkVfQlVJTERfT1BUSU9OUykNCj4gKyAgKl8qX1g2NF9QUF9GTEFHUyAgICAgICA9ICQoRURLX0VE S0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICsgICpfKl9YNjRfQVNMUFBfRkxBR1Mg ICAgPSAkKEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJT05TKQ0KPiArDQo+ICsNCj4g K1tDb21wb25lbnRzLklBMzJdDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChE WEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9JMmNCdXMu aW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxlPg0KPiArICAgICAgZ0VmaU1kZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVsfDB4RjAwMDAwNDMNCj4gKyAg fQ0KPiArDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNU VVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9JMmNIb3N0LmluZiB7DQo+ICsg ICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAgIGdFZmlNZGVQa2dUb2tlblNwYWNl R3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweEYwMDAwMDQzDQo+ICsgIH0NCj4gKw0KPiAk KFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQo RFhFXw0KPiBBUkNISVRFQ1RVUkUpL0kyY1BvcnRBMFBpby5pbmYgew0KPiArICAgIDxQY2RzUGF0 Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVi dWdQcmludEVycm9yTGV2ZWx8MHgwMDAwMDA0Mw0KPiArICB9DQo+ICsNCj4gKw0KPiAkKFBMQVRG T1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0K PiBBUkNISVRFQ1RVUkUpL0kyY01taW9EZXZpY2VEeGUuaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNo YWJsZUluTW9kdWxlPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVn UHJpbnRFcnJvckxldmVsfDB4MDAwMDAwNDMNCj4gKyAgfQ0KPiArDQo+IGRpZmYgLS1naXQgYS9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZ1g2NC5kc2MNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZ1g2NC5kc2MNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMTBkNDRkNTY1Mg0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtUGtnWDY0LmRzYw0KPiBAQCAtMCwwICsxLDE3MTQgQEANCj4gKyMvKiogQGZpbGUNCj4gKyMg UGxhdGZvcm0gZGVzY3JpcHRpb24uDQo+ICsjDQo+ICsjIENvcHlyaWdodCAoYykgMjAxMiAgLSAy MDE5LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+ ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsjDQo+ ICsjDQo+ICsjKiovDQo+ICsNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0K PiArIyBEZWZpbmVzIFNlY3Rpb24gLSBzdGF0ZW1lbnRzIHRoYXQgd2lsbCBiZSBwcm9jZXNzZWQg dG8gY3JlYXRlIGEgTWFrZWZpbGUuDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMNCj4gK1tEZWZpbmVzXQ0KPiArICBQTEFURk9STV9OQU1FICAgICAgICAgICAgICAgICAgICAg ICA9IFZsdjJUYmx0RGV2aWNlUGtnDQo+ICsgIFBMQVRGT1JNX0dVSUQgICAgICAgICAgICAgICAg ICAgICAgID0gNDY1QjBBMEItN0FDMS00NDNiLThGNjctN0I4REVDMTQ1RjkwDQo+ICsgIFBMQVRG T1JNX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMC4xDQo+ICsgIERTQ19TUEVDSUZJQ0FU SU9OICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArDQo+ICsgICMNCj4gKyAgIyBT ZXQgcGxhdGZvcm0gc3BlY2lmaWMgcGFja2FnZS9mb2xkZXIgbmFtZSwgc2FtZSBhcyBwYXNzZWQg ZnJvbQ0KPiBQUkVCVUlMRCBzY3JpcHQuDQo+ICsgICMgUExBVEZPUk1fUEFDS0FHRSB3b3VsZCBi ZSB0aGUgc2FtZSBhcyBQTEFURk9STV9OQU1FIGFzIHdlbGwNCj4gYXMgcGFja2FnZSBidWlsZCBm b2xkZXINCj4gKyAgIyBERUZJTkUgb25seSB0YWtlcyBlZmZlY3QgYXQgUjkgRFNDIGFuZCBGREYu DQo+ICsgICMNCj4gKyAgREVGSU5FICAgICAgUExBVEZPUk1fUEFDS0FHRSAgICAgICAgICAgICAg ICA9IFZsdjJUYmx0RGV2aWNlUGtnDQo+ICsgIERFRklORSAgICAgIFBMQVRGT1JNX1JDX1BBQ0tB R0UgICAgICAgICAgICAgPSBWbHYyRGV2aWNlUmVmQ29kZVBrZw0KPiArICBERUZJTkUgICAgICBQ TEFURk9STV9CSU5BUllfUEFDS0FHRSAgICAgICAgID0gVmx2MlNvY0JpblBrZw0KPiArICBPVVRQ VVRfRElSRUNUT1JZICAgICAgICAgICAgICAgICAgICA9IEJ1aWxkLyQoUExBVEZPUk1fUEFDS0FH RSkNCj4gKyAgU1VQUE9SVEVEX0FSQ0hJVEVDVFVSRVMgICAgICAgICAgICAgPSBJQTMyfFg2NA0K PiArICBCVUlMRF9UQVJHRVRTICAgICAgICAgICAgICAgICAgICAgICA9IERFQlVHfFJFTEVBU0UN Cj4gKyAgU0tVSURfSURFTlRJRklFUiAgICAgICAgICAgICAgICAgICAgPSBERUZBVUxUDQo+ICsN Cj4gKyAgREVGSU5FIENQVV9BUkNIICAgICAgICAgICAgICAgICA9VmFsbGV5VmlldzINCj4gKyAg REVGSU5FIFBST0pFQ1RfU0NfRkFNSUxZICAgICAgICA9SW50ZWxQY2gNCj4gKyAgREVGSU5FIFBS T0pFQ1RfU0NfUk9PVA0KPiA9Li4vJChQTEFURk9STV9SQ19QQUNLQUdFKS9WYWxsZXlWaWV3MlNv Yy9Tb3V0aENsdXN0ZXINCj4gKyAgREVGSU5FIFBST0pFQ1RfVkxWX1JPT1QNCj4gPS4uLyQoUExB VEZPUk1fUkNfUEFDS0FHRSkvVmFsbGV5VmlldzJTb2MvTm9ydGhDbHVzdGVyDQo+ICsNCj4gKyAg REVGSU5FIFJDX0JJTkFSWV9SRUxFQVNFICAgICAgICA9IFRSVUUNCj4gKyAgIw0KPiArICAjIFBs YXRmb3JtIE9uL09mZiBmZWF0dXJlcyBhcmUgZGVmaW5lZCBoZXJlDQo+ICsgICMNCj4gKyAgIw0K PiArICAjIFBsYXRmb3JtIFN1cHBvcnQ6OiBTZXQgb25seSBvbmUgdG9rZW4gZXhjZXB0IENyZXN0 dmlldyBIaWxscw0KPiArICAjDQo+ICsgICMgICAzLkJheWxleUJheQ0KPiArICAjICAgICBFTkJE VF9QRl9FTkFCTEUgID0gVFJVRQ0KPiArICAjDQo+ICsgICFpbmNsdWRlICQoUExBVEZPUk1fUEFD S0FHRSkvQXV0b1BsYXRmb3JtQ0ZHLnR4dA0KPiArICAhaW5jbHVkZSAkKFBMQVRGT1JNX1BBQ0tB R0UpL1BsYXRmb3JtUGtnQ29uZmlnLmRzYw0KPiArDQo+ICshaWYgJChYNjRfQ09ORklHKSA9PSBU UlVFDQo+ICsgIERFRklORSAgICAgIERYRV9BUkNISVRFQ1RVUkUgICAgICAgID0gWDY0DQo+ICsg IERFRklORSAgICAgIEVES19EWEVfQVJDSElURUNUVVJFICAgID0gWDY0DQo+ICsgIERFRklORSAg ICAgIFVORElfRFhFX0FSQ0hJVEVDVFVSRSAgID0gNjQNCj4gKyFlbHNlDQo+ICsgIERFRklORSAg ICAgIERYRV9BUkNISVRFQ1RVUkUgICAgICAgID0gSUEzMg0KPiArICBERUZJTkUgICAgICBFREtf RFhFX0FSQ0hJVEVDVFVSRSAgICA9IElhMzINCj4gKyAgREVGSU5FICAgICAgVU5ESV9EWEVfQVJD SElURUNUVVJFICAgPSAzMg0KPiArIWVuZGlmDQo+ICsNCj4gKyAgRkxBU0hfREVGSU5JVElPTiAg ICAgICAgICAgICAgICAgICAgPSAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtUGtnLmZkZg0K PiArIWlmICQoTEZNQV9FTkFCTEUpID09IFRSVUUNCj4gKyAgRklYX0xPQURfVE9QX01FTU9SWV9B RERSRVNTICAgICAgICAgPSAweEZGRkZGRkZGRkZGRkZGRkYNCj4gKyAgREVGSU5FICAgVE9QX01F TU9SWV9BRERSRVNTICAgICAgICAgPSAweEZGRkZGRkZGRkZGRkZGRkYNCj4gKyFlbHNlDQo+ICsg IEZJWF9MT0FEX1RPUF9NRU1PUllfQUREUkVTUyAgICAgICAgID0gMHgwDQo+ICsgIERFRklORSAg IFRPUF9NRU1PUllfQUREUkVTUyAgICAgICAgID0gMHgwDQo+ICshZW5kaWYNCj4gKw0KPiArICBE RUZJTkUgICBQTEFURk9STV9QQ0lFWFBSRVNTX0JBU0UgICA9IDBFMDAwMDAwMA0KPiArDQo+ICsg IERFRklORSBTRUNfRU5BQkxFID0gRkFMU0UNCj4gKyAgREVGSU5FIFNFQ19ERUJVR19JTkZPX0VO QUJMRSA9IEZBTFNFDQo+ICsgIERFRklORSBGVFBNX0VOQUJMRSA9IEZBTFNFDQo+ICsNCj4gKyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0K PiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBTS1UgSWRlbnRpZmljYXRpb24g c2VjdGlvbiAtIGxpc3Qgb2YgYWxsIFNLVSBJRHMgc3VwcG9ydGVkIGJ5IHRoaXMNCj4gKyMgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBQbGF0Zm9ybS4NCj4gKyMNCj4gKyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiAjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIw0KPiArW1NrdUlkc10NCj4gKyAgMHxERUZBVUxUICAgICAgICAgICAg ICAjIFRoZSBlbnRyeTogMHxERUZBVUxUIGlzIHJlc2VydmVkIGFuZCBhbHdheXMgcmVxdWlyZWQu DQo+ICsNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBMaWJyYXJ5 IENsYXNzIHNlY3Rpb24gLSBsaXN0IG9mIGFsbCBMaWJyYXJ5IENsYXNzZXMgbmVlZGVkIGJ5IHRo aXMgUGxhdGZvcm0uDQo+ICsjDQo+ICsjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gK1tM aWJyYXJ5Q2xhc3Nlcy5jb21tb25dDQo+ICsgICMNCj4gKyAgIyBFbnRyeSBwb2ludA0KPiArICAj DQo+ICsNCj4gUGVpQ29yZUVudHJ5UG9pbnR8TWRlUGtnL0xpYnJhcnkvUGVpQ29yZUVudHJ5UG9p bnQvUGVpQ29yZUVudHJ5UG9pbnQuaW4NCj4gZg0KPiArICBQZWltRW50cnlQb2ludHxNZGVQa2cv TGlicmFyeS9QZWltRW50cnlQb2ludC9QZWltRW50cnlQb2ludC5pbmYNCj4gKw0KPiBEeGVDb3Jl RW50cnlQb2ludHxNZGVQa2cvTGlicmFyeS9EeGVDb3JlRW50cnlQb2ludC9EeGVDb3JlRW50cnlQ b2ludA0KPiAuaW5mDQo+ICsNCj4gVWVmaURyaXZlckVudHJ5UG9pbnR8TWRlUGtnL0xpYnJhcnkv VWVmaURyaXZlckVudHJ5UG9pbnQvVWVmaURyaXZlckVudHJ5DQo+IFBvaW50LmluZg0KPiArDQo+ IFVlZmlBcHBsaWNhdGlvbkVudHJ5UG9pbnR8TWRlUGtnL0xpYnJhcnkvVWVmaUFwcGxpY2F0aW9u RW50cnlQb2ludC9VZWZpQQ0KPiBwcGxpY2F0aW9uRW50cnlQb2ludC5pbmYNCj4gKw0KPiBEeGVT bW1Ecml2ZXJFbnRyeVBvaW50fEludGVsRnJhbWV3b3JrUGtnL0xpYnJhcnkvRHhlU21tRHJpdmVy RW50cnlQDQo+IG9pbnQvRHhlU21tRHJpdmVyRW50cnlQb2ludC5pbmYNCj4gKw0KPiArICAjDQo+ ICsgICMgQmFzaWMNCj4gKyAgIw0KPiArICBCYXNlTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VMaWIv QmFzZUxpYi5pbmYNCj4gKyFpZiAkKFNTRTJfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gQmFzZU1l bW9yeUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlTWVtb3J5TGliU3NlMi9CYXNlTWVtb3J5TGliU3Nl Mg0KPiAuaW5mDQo+ICshZWxzZQ0KPiArDQo+IEJhc2VNZW1vcnlMaWJ8TWRlUGtnL0xpYnJhcnkv QmFzZU1lbW9yeUxpYlJlcFN0ci9CYXNlTWVtb3J5TGliUg0KPiBlcFN0ci5pbmYNCj4gKyFlbmRp Zg0KPiArICBQcmludExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUHJpbnRMaWIvQmFzZVByaW50TGli LmluZg0KPiArICBDcHVMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZUNwdUxpYi9CYXNlQ3B1TGliLmlu Zg0KPiArICBJb0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlSW9MaWJJbnRyaW5zaWMvQmFzZUlvTGli SW50cmluc2ljLmluZg0KPiArICBQY2lMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjaUxpYkNmOC9C YXNlUGNpTGliQ2Y4LmluZg0KPiArDQo+IFBjaVNlZ21lbnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFz ZVBjaVNlZ21lbnRMaWJQY2kvQmFzZVBjaVNlZ21lbnRMaWJQDQo+IGNpLmluZg0KPiArICBQY2lD ZjhMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjaUNmOExpYi9CYXNlUGNpQ2Y4TGliLmluZg0KPiAr ICBQY2lFeHByZXNzTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2lFeHByZXNzTGliL0Jhc2VQY2lF eHByZXNzTGliLmluZg0KPiArDQo+IENhY2hlTWFpbnRlbmFuY2VMaWJ8TWRlUGtnL0xpYnJhcnkv QmFzZUNhY2hlTWFpbnRlbmFuY2VMaWIvQmFzZUNhYw0KPiBoZU1haW50ZW5hbmNlTGliLmluZg0K PiArICBQZUNvZmZMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlQ29mZkxpYi9CYXNlUGVDb2ZmTGli LmluZg0KPiArDQo+IFBlQ29mZkdldEVudHJ5UG9pbnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBl Q29mZkdldEVudHJ5UG9pbnRMaWIvQmFzZQ0KPiBQZUNvZmZHZXRFbnRyeVBvaW50TGliLmluZg0K PiArIWlmICQoUkNfQklOQVJZX1JFTEVBU0UpID09IFRSVUUNCj4gKw0KPiBQY2hQbGF0Zm9ybUxp YnxWbHYyVGJsdERldmljZVBrZy9MaWJyYXJ5L1BjaFBsYXRmb3JtTGliL1BjaFBsYXRmb3JtTGli LmluDQo+IGYNCj4gKyFlbmRpZg0KPiArICAjDQo+ICsgICMgVUVGSSAmIFBJDQo+ICsgICMNCj4g Kw0KPiBVZWZpQm9vdFNlcnZpY2VzVGFibGVMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaUJvb3RTZXJ2 aWNlc1RhYmxlTGliL1VlZmlCbw0KPiBvdFNlcnZpY2VzVGFibGVMaWIuaW5mDQo+ICsNCj4gVWVm aVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlSdW50aW1lU2Vydmlj ZXNUYWJsZUxpYg0KPiAvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmluZg0KPiArICBVZWZp UnVudGltZUxpYnxNZGVQa2cvTGlicmFyeS9VZWZpUnVudGltZUxpYi9VZWZpUnVudGltZUxpYi5p bmYNCj4gKyAgVWVmaUxpYnxNZGVQa2cvTGlicmFyeS9VZWZpTGliL1VlZmlMaWIuaW5mDQo+ICsg IEhpaUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9VZWZpSGlpTGliL1VlZmlIaWlMaWIuaW5mDQo+ ICsNCj4gVWVmaUhpaVNlcnZpY2VzTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1VlZmlIaWlTZXJ2 aWNlc0xpYi9VZWZpSGlpU2VydmljZQ0KPiBzTGliLmluZg0KPiArICBEZXZpY2VQYXRoTGlifE1k ZVBrZy9MaWJyYXJ5L1VlZmlEZXZpY2VQYXRoTGliL1VlZmlEZXZpY2VQYXRoTGliLmluZg0KPiAr DQo+IFVlZmlEZWNvbXByZXNzTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0Jhc2VVZWZpVGlhbm9D dXN0b21EZWNvbXByDQo+IGVzc0xpYi9CYXNlVWVmaVRpYW5vQ3VzdG9tRGVjb21wcmVzc0xpYi5p bmYNCj4gKw0KPiBQZWlTZXJ2aWNlc1RhYmxlUG9pbnRlckxpYnxNZGVQa2cvTGlicmFyeS9QZWlT ZXJ2aWNlc1RhYmxlUG9pbnRlckxpYklkdC9QDQo+IGVpU2VydmljZXNUYWJsZVBvaW50ZXJMaWJJ ZHQuaW5mDQo+ICsgIFBlaVNlcnZpY2VzTGlifE1kZVBrZy9MaWJyYXJ5L1BlaVNlcnZpY2VzTGli L1BlaVNlcnZpY2VzTGliLmluZg0KPiArICBEeGVTZXJ2aWNlc0xpYnxNZGVQa2cvTGlicmFyeS9E eGVTZXJ2aWNlc0xpYi9EeGVTZXJ2aWNlc0xpYi5pbmYNCj4gKw0KPiBEeGVTZXJ2aWNlc1RhYmxl TGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVNlcnZpY2VzVGFibGVMaWIvRHhlU2VydmljZXNUYWJsDQo+ IGVMaWIuaW5mDQo+ICsgIFVlZmlDcHVMaWJ8VWVmaUNwdVBrZy9MaWJyYXJ5L0Jhc2VVZWZpQ3B1 TGliL0Jhc2VVZWZpQ3B1TGliLmluZg0KPiArICBVZWZpVXNiTGlifE1kZVBrZy9MaWJyYXJ5L1Vl ZmlVc2JMaWIvVWVmaVVzYkxpYi5pbmYNCj4gKw0KPiBHZW5lcmljQmRzTGlifCQoUExBVEZPUk1f UEFDS0FHRSkvT3ZlcnJpZGUvSW50ZWxGcmFtZXdvcmtNb2R1bGVQDQo+IGtnL0xpYnJhcnkvR2Vu ZXJpY0Jkc0xpYi9HZW5lcmljQmRzTGliLmluZg0KPiArDQo+IEJtcFN1cHBvcnRMaWJ8TWRlTW9k dWxlUGtnL0xpYnJhcnkvQmFzZUJtcFN1cHBvcnRMaWIvQmFzZUJtcFN1cHANCj4gb3J0TGliLmlu Zg0KPiArICBTYWZlSW50TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VTYWZlSW50TGliL0Jhc2VTYWZl SW50TGliLmluZg0KPiArDQo+IFBsYXRmb3JtQmRzTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGli cmFyeS9QbGF0Zm9ybUJkc0xpYi9QbGF0Zm9ybUINCj4gZHNMaWIuaW5mDQo+ICsgIE5ldExpYnxN ZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVOZXRMaWIvRHhlTmV0TGliLmluZg0KPiArICBEcGNMaWJ8 TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlRHBjTGliL0R4ZURwY0xpYi5pbmYNCj4gKw0KPiBGbGFz aERldmljZUxpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvRmxhc2hEZXZpY2VMaWIvRmxh c2hEZXZpY2UNCj4gTGliLmluZg0KPiArDQo+IFVlZmlCb290TWFuYWdlckxpYnxNZGVNb2R1bGVQ a2cvTGlicmFyeS9VZWZpQm9vdE1hbmFnZXJMaWIvVWVmaUJvbw0KPiB0TWFuYWdlckxpYi5pbmYN Cj4gKyAgIw0KPiArICAjIEZyYW1ld29yaw0KPiArICAjDQo+ICshaWYgJChTM19FTkFCTEUpID09 IFRSVUUNCj4gKw0KPiBTM0Jvb3RTY3JpcHRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvUGlEeGVT M0Jvb3RTY3JpcHRMaWIvRHhlUzNCb290U2MNCj4gcmlwdExpYi5pbmYNCj4gKyFlbHNlDQo+ICsN Cj4gUzNCb290U2NyaXB0TGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VTM0Jvb3RTY3JpcHRMaWJOdWxs L0Jhc2VTM0Jvb3RTY3JpcHRMDQo+IGliTnVsbC5pbmYNCj4gKyFlbmRpZg0KPiArICBTM0lvTGli fE1kZVBrZy9MaWJyYXJ5L0Jhc2VTM0lvTGliL0Jhc2VTM0lvTGliLmluZg0KPiArICBTM1BjaUxp YnxNZGVQa2cvTGlicmFyeS9CYXNlUzNQY2lMaWIvQmFzZVMzUGNpTGliLmluZg0KPiArDQo+ICsg ICMNCj4gKyAgIyBHZW5lcmljIE1vZHVsZXMNCj4gKyAgIw0KPiArIWlmICQoVVNCX0VOQUJMRSkg PT0gVFJVRQ0KPiArICBVZWZpVXNiTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlVc2JMaWIvVWVmaVVz YkxpYi5pbmYNCj4gKyFlbmRpZg0KPiArIWlmICQoU0NTSV9FTkFCTEUpID09IFRSVUUNCj4gKyAg VWVmaVNjc2lMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaVNjc2lMaWIvVWVmaVNjc2lMaWIuaW5mDQo+ ICshZW5kaWYNCj4gKyFpZiAkKE5FVFdPUktfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIE5ldExpYnxN ZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVOZXRMaWIvRHhlTmV0TGliLmluZg0KPiArICBJcElvTGli fE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUlwSW9MaWIvRHhlSXBJb0xpYi5pbmYNCj4gKyAgVWRw SW9MaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlVWRwSW9MaWIvRHhlVWRwSW9MaWIuaW5mDQo+ ICsgIFRjcElvTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZVRjcElvTGliL0R4ZVRjcElvTGli LmluZg0KPiArICBEcGNMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlRHBjTGliL0R4ZURwY0xp Yi5pbmYNCj4gKyFlbmRpZg0KPiArIWlmICQoUzNfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIFMzTGli fEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0xpYnJhcnkvUGVpUzNMaWIvUGVpUzNMaWIuaW5mDQo+ ICshZW5kaWYNCj4gKw0KPiArDQo+IE9lbUhvb2tTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBrZy9M aWJyYXJ5L09lbUhvb2tTdGF0dXNDb2RlTGliTg0KPiB1bGwvT2VtSG9va1N0YXR1c0NvZGVMaWJO dWxsLmluZg0KPiArIWlmICQoQ0FQU1VMRV9FTkFCTEUpID09IFRSVUUNCj4gKyAgQ2Fwc3VsZUxp YnxNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVDYXBzdWxlTGliRm1wL0R4ZUNhcHN1bGVMaWIuaW5m DQo+ICshZWxzZQ0KPiArDQo+IENhcHN1bGVMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlQ2Fw c3VsZUxpYk51bGwvRHhlQ2Fwc3VsZUxpYk51bGwuaQ0KPiBuZg0KPiArIWVuZGlmDQo+ICsNCj4g Rm1wQXV0aGVudGljYXRpb25MaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRm1wQXV0aGVudGljYXRp b25MaWJOdWxsL0YNCj4gbXBBdXRoZW50aWNhdGlvbkxpYk51bGwuaW5mDQo+ICsgIEluaVBhcnNp bmdMaWJ8U2lnbmVkQ2Fwc3VsZVBrZy9MaWJyYXJ5L0luaVBhcnNpbmdMaWIvSW5pUGFyc2luZ0xp Yi5pbmYNCj4gKw0KPiBQbGF0Zm9ybUZsYXNoQWNjZXNzTGlifFZsdjJUYmx0RGV2aWNlUGtnL0Zl YXR1cmUvQ2Fwc3VsZS9MaWJyYXJ5L1BsYXRmb3INCj4gbUZsYXNoQWNjZXNzTGliL1BsYXRmb3Jt Rmxhc2hBY2Nlc3NMaWIuaW5mDQo+ICsNCj4gTWljcm9jb2RlRmxhc2hBY2Nlc3NMaWJ8Vmx2MlRi bHREZXZpY2VQa2cvRmVhdHVyZS9DYXBzdWxlL0xpYnJhcnkvUGxhdGZvDQo+IHJtRmxhc2hBY2Nl c3NMaWIvUGxhdGZvcm1GbGFzaEFjY2Vzc0xpYi5pbmYNCj4gKw0KPiBEaXNwbGF5VXBkYXRlUHJv Z3Jlc3NMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRGlzcGxheVVwZGF0ZVByb2dyZXNzTGkNCj4g YkdyYXBoaWNzL0Rpc3BsYXlVcGRhdGVQcm9ncmVzc0xpYkdyYXBoaWNzLmluZg0KPiArDQo+IFN5 bmNocm9uaXphdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9CYXNlU3luY2hyb25pemF0aW9uTGliL0Jh c2VTeW5jaHJvbml6DQo+IGF0aW9uTGliLmluZg0KPiArDQo+IFNlY3VyaXR5TWFuYWdlbWVudExp YnxNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVTZWN1cml0eU1hbmFnZW1lbnRMDQo+IGliL0R4ZVNl Y3VyaXR5TWFuYWdlbWVudExpYi5pbmYNCj4gKyAgSW9BcGljTGlifFBjQXRDaGlwc2V0UGtnL0xp YnJhcnkvQmFzZUlvQXBpY0xpYi9CYXNlSW9BcGljTGliLmluZg0KPiArDQo+IERlYnVnUHJpbnRF cnJvckxldmVsTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z1ByaW50RXJyb3JMZXZlbExpYi9C YXMNCj4gZURlYnVnUHJpbnRFcnJvckxldmVsTGliLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBD UFUNCj4gKyAgIw0KPiArICBNdHJyTGlifFVlZmlDcHVQa2cvTGlicmFyeS9NdHJyTGliL010cnJM aWIuaW5mDQo+ICsNCj4gTG9jYWxBcGljTGlifFVlZmlDcHVQa2cvTGlicmFyeS9CYXNlWEFwaWNY MkFwaWNMaWIvQmFzZVhBcGljWDJBcGljTGliLmluDQo+IGYNCj4gKw0KPiBDcHVFeGNlcHRpb25I YW5kbGVyTGlifFVlZmlDcHVQa2cvTGlicmFyeS9DcHVFeGNlcHRpb25IYW5kbGVyTGliL0R4ZUMN Cj4gcHVFeGNlcHRpb25IYW5kbGVyTGliLmluZg0KPiArICBNcEluaXRMaWJ8VWVmaUNwdVBrZy9M aWJyYXJ5L01wSW5pdExpYi9EeGVNcEluaXRMaWIuaW5mDQo+ICsNCj4gKyAgIw0KPiArICAjIElD SA0KPiArICAjDQo+ICsgIFNtYnVzTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9TbWJ1 c0xpYi9TbWJ1c0xpYi5pbmYNCj4gKyAgU21tTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFy eS9QY2hTbW1MaWIvUGNoU21tTGliLmluZg0KPiArDQo+ICsgICMNCj4gKyAgIyBQbGF0Zm9ybQ0K PiArICAjDQo+ICsNCj4gVGltZXJMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVs UGNoQWNwaVRpbWVyTGliL0ludGVsUGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKw0KPiBSZXNl dFN5c3RlbUxpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvUmVzZXRTeXN0ZW1MaWIvUmVz ZXRTeXMNCj4gdGVtTGliLmluZg0KPiArDQo+ICsNCj4gUGxhdGZvcm1DbW9zTGlifCQoUExBVEZP Uk1fUEFDS0FHRSkvTGlicmFyeS9QbGF0Zm9ybUNtb3NMaWIvUGxhdGZvcg0KPiBtQ21vc0xpYi5p bmYNCj4gKw0KPiArICAjDQo+ICsgICMgTWlzYw0KPiArICAjDQo+ICsNCj4gTW9ub1N0YXR1c0Nv ZGVMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9Nb25vU3RhdHVzQ29kZS9Nb25vU3RhdA0KPiB1c0Nv ZGUuaW5mDQo+ICshaWYgJChUQVJHRVQpID09IFJFTEVBU0UNCj4gKyAgRGVidWdMaWJ8TWRlUGtn L0xpYnJhcnkvQmFzZURlYnVnTGliTnVsbC9CYXNlRGVidWdMaWJOdWxsLmluZg0KPiArDQo+IFNl cmlhbFBvcnRMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVNlcmlhbFBvcnRMaWJOdWxsL0Jhc2VTZXJp YWxQb3J0TGliTnVsbC5pbg0KPiBmDQo+ICshZWxzZQ0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9M aWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4g aW5mDQo+ICsNCj4gU2VyaWFsUG9ydExpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xpYnJhcnkvU2Vy aWFsUG9ydExpYi9TZXJpYWxQb3J0TGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiBQZXJm b3JtYW5jZUxpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGVyZm9ybWFuY2VMaWJOdWxsL0Jhc2VQZXJm b3JtYW5jDQo+IGVMaWJOdWxsLmluZg0KPiArICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBj ZExpYk51bGwvQmFzZVBjZExpYk51bGwuaW5mDQo+ICshaWYgJChUUE1fRU5BQkxFRCkgPT0gVFJV RQ0KPiArICBUcG1Db21tTGlifFNlY3VyaXR5UGtnL0xpYnJhcnkvVHBtQ29tbUxpYi9UcG1Db21t TGliLmluZg0KPiArDQo+IFRwbTEyQ29tbWFuZExpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L1RwbTEy Q29tbWFuZExpYi9UcG0xMkNvbW1hDQo+IG5kTGliLmluZg0KPiArDQo+IFRwbTEyRGV2aWNlTGli fFNlY3VyaXR5UGtnL0xpYnJhcnkvVHBtMTJEZXZpY2VMaWJEVHBtL1RwbTEyRGV2aWNlTGliDQo+ IERUcG0uaW5mDQo+ICsNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5B QkxFKSA9PSBUUlVFDQo+ICsNCj4gUGVDb2ZmRXh0cmFBY3Rpb25MaWJ8U291cmNlTGV2ZWxEZWJ1 Z1BrZy9MaWJyYXJ5L1BlQ29mZkV4dHJhQWN0aW9uTGliRA0KPiBlYnVnL1BlQ29mZkV4dHJhQWN0 aW9uTGliRGVidWcuaW5mDQo+ICsNCj4gRGVidWdDb21tdW5pY2F0aW9uTGlifFNvdXJjZUxldmVs RGVidWdQa2cvTGlicmFyeS9EZWJ1Z0NvbW11bmljYXRpDQo+IG9uTGliU2VyaWFsUG9ydC9EZWJ1 Z0NvbW11bmljYXRpb25MaWJTZXJpYWxQb3J0LmluZg0KPiArDQo+IFBsYXRmb3JtSG9va0xpYnxN ZGVNb2R1bGVQa2cvTGlicmFyeS9CYXNlUGxhdGZvcm1Ib29rTGliTnVsbC9CYXNlUGxhDQo+IHRm b3JtSG9va0xpYk51bGwuaW5mDQo+ICsNCj4gU2VyaWFsUG9ydExpYnxNZGVNb2R1bGVQa2cvTGli cmFyeS9CYXNlU2VyaWFsUG9ydExpYjE2NTUwL0Jhc2VTZXJpYWxQb3J0DQo+IExpYjE2NTUwLmlu Zg0KPiArIWVsc2UNCj4gKw0KPiBQZUNvZmZFeHRyYUFjdGlvbkxpYnxNZGVQa2cvTGlicmFyeS9C YXNlUGVDb2ZmRXh0cmFBY3Rpb25MaWJOdWxsL0Jhc2VQDQo+IGVDb2ZmRXh0cmFBY3Rpb25MaWJO dWxsLmluZg0KPiArDQo+IERlYnVnQWdlbnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRGVidWdB Z2VudExpYk51bGwvRGVidWdBZ2VudExpDQo+IGJOdWxsLmluZg0KPiArIWVuZGlmDQo+ICsNCj4g KyAgIw0KPiArICAjIENyeXB0TGliDQo+ICsgICMNCj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBU UlVFDQo+ICsgIEludHJpbnNpY0xpYnxDcnlwdG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvSW50 cmluc2ljTGliLmluZg0KPiArICBPcGVuc3NsTGlifENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xM aWIvT3BlbnNzbExpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsgQmlvc0lkTGlifCQoUExBVEZP Uk1fUEFDS0FHRSkvTGlicmFyeS9CaW9zSWRMaWIvQmlvc0lkTGliLmluZg0KPiArIENwdUlBMzJM aWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0NwdUlBMzJMaWIvQ3B1SUEzMkxpYi5pbmYN Cj4gKw0KPiArDQo+IFN0YWxsU21tTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9TdGFs bFNtbUxpYi9TdGFsbFNtbUxpYi5pbmYNCj4gKw0KPiArIWlmICQoU0VDVVJFX0JPT1RfRU5BQkxF KSA9PSBUUlVFDQo+ICsgIE9wZW5zc2xMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvT3BlbnNzbExpYi9P cGVuc3NsTGliLmluZg0KPiArICBJbnRyaW5zaWNMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvSW50cmlu c2ljTGliL0ludHJpbnNpY0xpYi5pbmYNCj4gKw0KPiBQbGF0Zm9ybVNlY3VyZUxpYnxTZWN1cml0 eVBrZy9MaWJyYXJ5L1BsYXRmb3JtU2VjdXJlTGliTnVsbC9QbGF0Zm9ybVNlY3UNCj4gcmVMaWJO dWxsLmluZg0KPiArDQo+IFRwbU1lYXN1cmVtZW50TGlifFNlY3VyaXR5UGtnL0xpYnJhcnkvRHhl VHBtTWVhc3VyZW1lbnRMaWIvRHhlVHANCj4gbU1lYXN1cmVtZW50TGliLmluZg0KPiArICBBdXRo VmFyaWFibGVMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9BdXRoVmFyaWFibGVMaWIvQXV0aFZhcmlh YmxlTGliLmluZg0KPiArICBGaWxlRXhwbG9yZXJMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvRmls ZUV4cGxvcmVyTGliL0ZpbGVFeHBsb3JlckxpYi5pbmYNCj4gKyFlbHNlDQo+ICsNCj4gVHBtTWVh c3VyZW1lbnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvVHBtTWVhc3VyZW1lbnRMaWJOdWxsL1Rw DQo+IG1NZWFzdXJlbWVudExpYk51bGwuaW5mDQo+ICsNCj4gQXV0aFZhcmlhYmxlTGlifE1kZU1v ZHVsZVBrZy9MaWJyYXJ5L0F1dGhWYXJpYWJsZUxpYk51bGwvQXV0aFZhcmlhYmxlTA0KPiBpYk51 bGwuaW5mDQo+ICshZW5kaWYNCj4gKyAgVmFyQ2hlY2tMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkv VmFyQ2hlY2tMaWIvVmFyQ2hlY2tMaWIuaW5mDQo+ICshaWYgJChSQ19CSU5BUllfUkVMRUFTRSkg PT0gVFJVRQ0KPiArICBJMmNMaWJ8Vmx2MlRibHREZXZpY2VQa2cvTGlicmFyeS9JMkNMaWIvSTJD TGliTnVsbC5pbmYNCj4gKyFlbmRpZg0KPiArICBTaGVsbExpYnxTaGVsbFBrZy9MaWJyYXJ5L1Vl ZmlTaGVsbExpYi9VZWZpU2hlbGxMaWIuaW5mDQo+ICsNCj4gU2hlbGxDb21tYW5kTGlifFNoZWxs UGtnL0xpYnJhcnkvVWVmaVNoZWxsQ29tbWFuZExpYi9VZWZpU2hlbGxDb21tYQ0KPiBuZExpYi5p bmYNCj4gKw0KPiBIYW5kbGVQYXJzaW5nTGlifFNoZWxsUGtnL0xpYnJhcnkvVWVmaUhhbmRsZVBh cnNpbmdMaWIvVWVmaUhhbmRsZVBhcnNpbmdMDQo+IGliLmluZg0KPiArICBGaWxlSGFuZGxlTGli fE1kZVBrZy9MaWJyYXJ5L1VlZmlGaWxlSGFuZGxlTGliL1VlZmlGaWxlSGFuZGxlTGliLmluZg0K PiArICBTb3J0TGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1VlZmlTb3J0TGliL1VlZmlTb3J0TGli LmluZg0KPiArIWlmICQoRlRQTV9FTkFCTEUpID09IFRSVUUgfHwgJChORVRXT1JLX0lTQ1NJX0VO QUJMRSkgPT0gVFJVRQ0KPiArICBCYXNlQ3J5cHRMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNy eXB0TGliL0Jhc2VDcnlwdExpYi5pbmYNCj4gKyAgT3BlbnNzbExpYnxDcnlwdG9Qa2cvTGlicmFy eS9PcGVuc3NsTGliL09wZW5zc2xMaWIuaW5mDQo+ICsgIEludHJpbnNpY0xpYnxDcnlwdG9Qa2cv TGlicmFyeS9JbnRyaW5zaWNMaWIvSW50cmluc2ljTGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4g VHBtTWVhc3VyZW1lbnRMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUcG1NZWFzdXJlbWVudExp Yi9EeGVUcA0KPiBtTWVhc3VyZW1lbnRMaWIuaW5mDQo+ICsNCj4gVGNnMlBoeXNpY2FsUHJlc2Vu Y2VMaWJ8U2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUY2cyUGh5c2ljYWxQcmVzZW5jZUxpYi9EDQo+ IHhlVGNnMlBoeXNpY2FsUHJlc2VuY2VMaWIuaW5mDQo+ICsNCj4gVGNnMlBwVmVuZG9yTGlifFNl Y3VyaXR5UGtnL0xpYnJhcnkvVGNnMlBwVmVuZG9yTGliTnVsbC9UY2cyUHBWZW5kb3JMDQo+IGli TnVsbC5pbmYNCj4gKw0KPiArDQo+ICsNCj4gVHBtMkNvbW1hbmRMaWJ8U2VjdXJpdHlQa2cvTGli cmFyeS9UcG0yQ29tbWFuZExpYi9UcG0yQ29tbWFuZEwNCj4gaWIuaW5mDQo+ICshaWYgJChNSU5O T1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArICBGc3BBcGlMaWJ8SW50ZWxGc3BXcmFwcGVyUGtn L0xpYnJhcnkvQmFzZUZzcEFwaUxpYi9CYXNlRnNwQXBpTGliLmluZg0KPiArDQo+IEZzcFBsYXRm b3JtSW5mb0xpYnxJbnRlbEZzcFdyYXBwZXJQa2cvTGlicmFyeS9CYXNlRnNwUGxhdGZvcm1JbmZv TGliU2ENCj4gbXBsZS9CYXNlRnNwUGxhdGZvcm1JbmZvTGliU2FtcGxlLmluZg0KPiArDQo+IEZz cFBsYXRmb3JtU2VjTGlifFZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9TZWNG c3BQbGF0Zm9ybVNlDQo+IGNMaWJWbHYyL0ZzcFBsYXRmb3JtU2VjTGliVmx2Mi5pbmYNCj4gKw0K PiBGc3BIb2JQcm9jZXNzTGlifFZsdjJUYmx0RGV2aWNlUGtnL0ZzcFN1cHBvcnQvTGlicmFyeS9Q ZWlGc3BIb2JQcm9jZXNzDQo+IExpYlZsdjIvRnNwSG9iUHJvY2Vzc0xpYlZsdjIuaW5mDQo+ICsh ZW5kaWYNCj4gKw0KPiArICBCb290TG9nb0xpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9Cb290TG9n b0xpYi9Cb290TG9nb0xpYi5pbmYNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzLklBMzIuU0VDXQ0K PiArIWlmICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gUGVyZm9ybWFuY2VM aWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBlcmZvcm1hbmNlTGliTnVsbC9CYXNlUGVyZm9ybWFuYw0K PiBlTGliTnVsbC5pbmYNCj4gKyFlbmRpZg0KPiArICBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9C YXNlRGVidWdMaWJOdWxsL0Jhc2VEZWJ1Z0xpYk51bGwuaW5mDQo+ICsgIFBjZExpYnxNZGVQa2cv TGlicmFyeS9CYXNlUGNkTGliTnVsbC9CYXNlUGNkTGliTnVsbC5pbmYNCj4gKw0KPiArW0xpYnJh cnlDbGFzc2VzLklBMzIuUEVJTSwgTGlicmFyeUNsYXNzZXMuSUEzMi5QRUlfQ09SRSwNCj4gTGli cmFyeUNsYXNzZXMuSUEzMi5TRUNdDQo+ICsgICMNCj4gKyAgIyBQRUkgcGhhc2UgY29tbW9uDQo+ ICsgICMNCj4gKw0KPiArICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFz ZVBjZExpYk51bGwuaW5mDQo+ICsgIEhvYkxpYnxNZGVQa2cvTGlicmFyeS9QZWlIb2JMaWIvUGVp SG9iTGliLmluZg0KPiArDQo+IE1lbW9yeUFsbG9jYXRpb25MaWJ8TWRlUGtnL0xpYnJhcnkvUGVp TWVtb3J5QWxsb2NhdGlvbkxpYi9QZWlNZW1vcnkNCj4gQWxsb2NhdGlvbkxpYi5pbmYNCj4gKw0K PiBSZXBvcnRTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1BlaVJlcG9ydFN0YXR1 c0NvZGVMaWIvUGVpUg0KPiBlcG9ydFN0YXR1c0NvZGVMaWIuaW5mDQo+ICsNCj4gRXh0cmFjdEd1 aWRlZFNlY3Rpb25MaWJ8TWRlUGtnL0xpYnJhcnkvUGVpRXh0cmFjdEd1aWRlZFNlY3Rpb25MaWIv UGVpRXgNCj4gdHJhY3RHdWlkZWRTZWN0aW9uTGliLmluZg0KPiArDQo+IE11bHRpUGxhdGZvcm1M aWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L011bHRpUGxhdGZvcm1MaWIvTXVsdGlQbA0K PiBhdGZvcm1MaWIuaW5mDQo+ICsgIEJhc2VDcnlwdExpYnxDcnlwdG9Qa2cvTGlicmFyeS9CYXNl Q3J5cHRMaWIvUGVpQ3J5cHRMaWIuaW5mDQo+ICsNCj4gQ3B1RXhjZXB0aW9uSGFuZGxlckxpYnxV ZWZpQ3B1UGtnL0xpYnJhcnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TZWNQDQo+IGVpQ3B1RXhj ZXB0aW9uSGFuZGxlckxpYi5pbmYNCj4gKyAgTXBJbml0TGlifFVlZmlDcHVQa2cvTGlicmFyeS9N cEluaXRMaWIvUGVpTXBJbml0TGliLmluZg0KPiArDQo+ICshaWYgJChQRVJGT1JNQU5DRV9FTkFC TEUpID09IFRSVUUNCj4gKw0KPiBQZXJmb3JtYW5jZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9Q ZWlQZXJmb3JtYW5jZUxpYi9QZWlQZXJmb3JtYW5jDQo+IGVMaWIuaW5mDQo+ICsNCj4gVGltZXJM aWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L0ludGVsUGNoQWNwaVRpbWVyTGliL0ludGVs UGNoQWMNCj4gcGlUaW1lckxpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChUQVJHRVQp ID09IFJFTEVBU0UNCj4gKyAgRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliTnVs bC9CYXNlRGVidWdMaWJOdWxsLmluZg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8TWRlUGtnL0xpYnJh cnkvQmFzZVNlcmlhbFBvcnRMaWJOdWxsL0Jhc2VTZXJpYWxQb3J0TGliTnVsbC5pbg0KPiBmDQo+ ICshZWxzZQ0KPiArDQo+IERlYnVnTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1BlaUR4ZURlYnVn TGliUmVwb3J0U3RhdHVzQ29kZS9QZWlEeA0KPiBlRGVidWdMaWJSZXBvcnRTdGF0dXNDb2RlLmlu Zg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8JChQTEFURk9STV9QQUNLQUdFKS9MaWJyYXJ5L1Nlcmlh bFBvcnRMaWIvU2VyaWFsUG9ydExpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gTG9ja0Jv eExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hQZWlMaWIu aW5mDQo+ICsNCj4gSGFzaExpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hMaWJCYXNlQ3J5cHRv Um91dGVyL0hhc2hMaWJCYXNlQ3J5cHRvUg0KPiBvdXRlclBlaS5pbmYNCj4gKyFpZiAkKFNPVVJD RV9ERUJVR19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVs RGVidWdQa2cvTGlicmFyeS9EZWJ1Z0FnZW50L1NlY1BlaURlYnVnQWcNCj4gZW50TGliLmluZg0K PiArIWVuZGlmDQo+ICsNCj4gKyAhaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiAr DQo+IFBsYXRmb3JtRnNwTGlifFZsdjJUYmx0RGV2aWNlUGtnL0xpYnJhcnkvUGxhdGZvcm1Gc3BM aWIvUGxhdGZvcm1Gc3BMaWIuaW4NCj4gZg0KPiArICFlbmRpZg0KPiArIWlmICQoRlRQTV9FTkFC TEUpID09IFRSVUUNCj4gKw0KPiBUcG0yRGV2aWNlTGlifFZsdjJUYmx0RGV2aWNlUGtnL0xpYnJh cnkvVHBtMkRldmljZUxpYlNlQ1BlaS9UcG0yRGV2aQ0KPiBjZUxpYlNlQy5pbmYNCj4gKyFlbmRp Zg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMuWDY0XQ0KPiArICAjDQo+ICsgICMgRFhFIHBoYXNl IGNvbW1vbg0KPiArICAjDQo+ICsgIEhvYkxpYnxNZGVQa2cvTGlicmFyeS9EeGVIb2JMaWIvRHhl SG9iTGliLmluZg0KPiArICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExp Yi5pbmYNCj4gKw0KPiBNZW1vcnlBbGxvY2F0aW9uTGlifE1kZVBrZy9MaWJyYXJ5L1VlZmlNZW1v cnlBbGxvY2F0aW9uTGliL1VlZmlNZW1vDQo+IHJ5QWxsb2NhdGlvbkxpYi5pbmYNCj4gKw0KPiBS ZXBvcnRTdGF0dXNDb2RlTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZVJlcG9ydFN0YXR1c0Nv ZGVMaWIvRHgNCj4gZVJlcG9ydFN0YXR1c0NvZGVMaWIuaW5mDQo+ICsNCj4gRXh0cmFjdEd1aWRl ZFNlY3Rpb25MaWJ8TWRlUGtnL0xpYnJhcnkvRHhlRXh0cmFjdEd1aWRlZFNlY3Rpb25MaWIvRHhl RQ0KPiB4dHJhY3RHdWlkZWRTZWN0aW9uTGliLmluZg0KPiArDQo+ICsNCj4gVGNnUGh5c2ljYWxQ cmVzZW5jZUxpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZVRjZ1BoeXNpY2FsUHJlc2VuY2VMaWIv RHhlDQo+IFRjZ1BoeXNpY2FsUHJlc2VuY2VMaWIuaW5mDQo+ICshaWYgJChUUE1fRU5BQkxFRCkg PT0gVFJVRQ0KPiArICBCYXNlQ3J5cHRMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvQmFzZUNyeXB0TGli L0Jhc2VDcnlwdExpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gTG9ja0JveExpYnxNZGVN b2R1bGVQa2cvTGlicmFyeS9TbW1Mb2NrQm94TGliL1NtbUxvY2tCb3hEeGVMaWIuaW4NCj4gZg0K PiArDQo+IEVmaVJlZ1RhYmxlTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9FZmlSZWdU YWJsZUxpYi9FZmlSZWdUYWJsZQ0KPiBMaWIuaW5mDQo+ICsNCj4gKyFpZiAkKFNFQ1VSRV9CT09U X0VOQUJMRSkgPT0gVFJVRQ0KPiArICBCYXNlQ3J5cHRMaWJ8Q3J5cHRvUGtnL0xpYnJhcnkvQmFz ZUNyeXB0TGliL0Jhc2VDcnlwdExpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gSGFzaExp YnxTZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hMaWJCYXNlQ3J5cHRvUm91dGVyL0hhc2hMaWJCYXNl Q3J5cHRvUg0KPiBvdXRlckR4ZS5pbmYNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzLlg2NC5EWEVf RFJJVkVSXQ0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlh bFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICsgIFBjZExpYnxNZGVQa2cv TGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmluZg0KPiArDQo+IFBlcmZvcm1hbmNlTGlifE1k ZVBrZy9MaWJyYXJ5L0Jhc2VQZXJmb3JtYW5jZUxpYk51bGwvQmFzZVBlcmZvcm1hbmMNCj4gZUxp Yk51bGwuaW5mDQo+ICsNCj4gQ3VzdG9taXplZERpc3BsYXlMaWJ8TWRlTW9kdWxlUGtnL0xpYnJh cnkvQ3VzdG9taXplZERpc3BsYXlMaWIvQ3VzdG8NCj4gbWl6ZWREaXNwbGF5TGliLmluZg0KPiAr IWlmICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gUGVyZm9ybWFuY2VMaWJ8 TWRlTW9kdWxlUGtnL0xpYnJhcnkvRHhlUGVyZm9ybWFuY2VMaWIvRHhlUGVyZm9ybWENCj4gbmNl TGliLmluZg0KPiArDQo+IFRpbWVyTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9JbnRl bFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEFjDQo+IHBpVGltZXJMaWIuaW5mDQo+ICshZW5kaWYN Cj4gKw0KPiArIWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IERlYnVn QWdlbnRMaWJ8U291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQvRHhlRGVidWdB Z2VuDQo+IHRMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArDQo+IEZsYXNoRGV2aWNlTGlifCQo UExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9GbGFzaERldmljZUxpYi9GbGFzaERldmljZQ0KPiBM aWJEeGUuaW5mDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlcy5YNjQuRFhFX0NPUkVdDQo+ICsgIEhv YkxpYnxNZGVQa2cvTGlicmFyeS9EeGVDb3JlSG9iTGliL0R4ZUNvcmVIb2JMaWIuaW5mDQo+ICsN Cj4gTWVtb3J5QWxsb2NhdGlvbkxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVDb3JlTWVtb3J5 QWxsb2NhdGlvbkxpDQo+IGIvRHhlQ29yZU1lbW9yeUFsbG9jYXRpb25MaWIuaW5mDQo+ICsgIFBj ZExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUGNkTGliTnVsbC9CYXNlUGNkTGliTnVsbC5pbmYNCj4g KyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IFBlcmZvcm1hbmNlTGli fE1kZU1vZHVsZVBrZy9MaWJyYXJ5L0R4ZUNvcmVQZXJmb3JtYW5jZUxpYi9EeGVDb3JlDQo+IFBl cmZvcm1hbmNlTGliLmluZg0KPiArDQo+IFRpbWVyTGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGli cmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEFjDQo+IHBpVGltZXJMaWIuaW5mDQo+ ICshZW5kaWYNCj4gKw0KPiArIWlmICQoU09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiAr DQo+IERlYnVnQWdlbnRMaWJ8U291cmNlTGV2ZWxEZWJ1Z1BrZy9MaWJyYXJ5L0RlYnVnQWdlbnQv RHhlRGVidWdBZ2VuDQo+IHRMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArW0xpYnJhcnlDbGFz c2VzLlg2NC5EWEVfU01NX0RSSVZFUl0NCj4gKw0KPiBNbVNlcnZpY2VzVGFibGVMaWJ8TWRlUGtn L0xpYnJhcnkvTW1TZXJ2aWNlc1RhYmxlTGliL01tU2VydmljZXNUYWJsDQo+IGVMaWIuaW5mDQo+ ICsNCj4gU21tU2VydmljZXNUYWJsZUxpYnxNZGVQa2cvTGlicmFyeS9TbW1TZXJ2aWNlc1RhYmxl TGliL1NtbVNlcnZpY2VzVA0KPiBhYmxlTGliLmluZg0KPiArDQo+IFJlcG9ydFN0YXR1c0NvZGVM aWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvU21tUmVwb3J0U3RhdHVzQ29kZUxpYi9TDQo+IG1tUmVw b3J0U3RhdHVzQ29kZUxpYi5pbmYNCj4gKw0KPiBNZW1vcnlBbGxvY2F0aW9uTGlifE1kZVBrZy9M aWJyYXJ5L1NtbU1lbW9yeUFsbG9jYXRpb25MaWIvU21tTWUNCj4gbW9yeUFsbG9jYXRpb25MaWIu aW5mDQo+ICsNCj4gTG9ja0JveExpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9TbW1Mb2NrQm94TGli L1NtbUxvY2tCb3hTbW1MaWIuaQ0KPiBuZg0KPiArDQo+IFBlcmZvcm1hbmNlTGlifE1kZVBrZy9M aWJyYXJ5L0Jhc2VQZXJmb3JtYW5jZUxpYk51bGwvQmFzZVBlcmZvcm1hbmMNCj4gZUxpYk51bGwu aW5mDQo+ICsgIFNtbU1lbUxpYnxNZGVQa2cvTGlicmFyeS9TbW1NZW1MaWIvU21tTWVtTGliLmlu Zg0KPiArDQo+IFNtbUNwdVBsYXRmb3JtSG9va0xpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1 UGxhdGZvcm1Ib29rTGliTnVsbA0KPiAvU21tQ3B1UGxhdGZvcm1Ib29rTGliTnVsbC5pbmYNCj4g Kw0KPiBTbW1DcHVGZWF0dXJlc0xpYnxVZWZpQ3B1UGtnL0xpYnJhcnkvU21tQ3B1RmVhdHVyZXNM aWIvU21tQ3B1RmVhDQo+IHR1cmVzTGliLmluZg0KPiArDQo+ICsgIEJhc2VDcnlwdExpYnxDcnlw dG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvU21tQ3J5cHRMaWIuaW5mDQo+ICsgICFpZiAkKFRB UkdFVCkgIT0gUkVMRUFTRQ0KPiArDQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1 Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICsgICFlbmRp Zg0KPiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gRGVi dWdBZ2VudExpYnxTb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9TbW1EZWJ1 Z0FnZQ0KPiBudExpYi5pbmYNCj4gKw0KPiBUaW1lckxpYnwkKFBMQVRGT1JNX1BBQ0tBR0UpL0xp YnJhcnkvSW50ZWxQY2hBY3BpVGltZXJMaWIvSW50ZWxQY2hBYw0KPiBwaVRpbWVyTGliLmluZg0K PiArIWVuZGlmDQo+ICsNCj4gQ3B1RXhjZXB0aW9uSGFuZGxlckxpYnxVZWZpQ3B1UGtnL0xpYnJh cnkvQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi9TbW0NCj4gQ3B1RXhjZXB0aW9uSGFuZGxlckxpYi5p bmYNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzLlg2NC5TTU1fQ09SRV0NCj4gKw0KPiBNZW1vcnlB bGxvY2F0aW9uTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1BpU21tQ29yZU1lbW9yeUFsbG9jYXRp bw0KPiBuTGliL1BpU21tQ29yZU1lbW9yeUFsbG9jYXRpb25MaWIuaW5mDQo+ICsNCj4gU21tU2Vy dmljZXNUYWJsZUxpYnxNZGVNb2R1bGVQa2cvTGlicmFyeS9QaVNtbUNvcmVTbW1TZXJ2aWNlc1Rh YmwNCj4gZUxpYi9QaVNtbUNvcmVTbW1TZXJ2aWNlc1RhYmxlTGliLmluZg0KPiArDQo+IFJlcG9y dFN0YXR1c0NvZGVMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvU21tUmVwb3J0U3RhdHVzQ29kZUxp Yi9TDQo+IG1tUmVwb3J0U3RhdHVzQ29kZUxpYi5pbmYNCj4gKw0KPiBTbW1Db3JlUGxhdGZvcm1I b29rTGlifE1kZU1vZHVsZVBrZy9MaWJyYXJ5L1NtbUNvcmVQbGF0Zm9ybUhvb2sNCj4gTGliTnVs bC9TbW1Db3JlUGxhdGZvcm1Ib29rTGliTnVsbC5pbmYNCj4gKyAgU21tTWVtTGlifE1kZVBrZy9M aWJyYXJ5L1NtbU1lbUxpYi9TbW1NZW1MaWIuaW5mDQo+ICsNCj4gKyFpZiAkKFRQTV9FTkFCTEVE KSA9PSBUUlVFDQo+ICsgIEJhc2VDcnlwdExpYnxDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRM aWIvU21tQ3J5cHRMaWIuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArDQo+IFBlcmZvcm1hbmNlTGli fE1kZVBrZy9MaWJyYXJ5L0Jhc2VQZXJmb3JtYW5jZUxpYk51bGwvQmFzZVBlcmZvcm1hbmMNCj4g ZUxpYk51bGwuaW5mDQo+ICsNCj4gKyFpZiAkKFRBUkdFVCkgIT0gUkVMRUFTRQ0KPiArDQo+IERl YnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGli U2VyaWFsUG9ydC4NCj4gaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzLlg2 NC5EWEVfUlVOVElNRV9EUklWRVJdDQo+ICsNCj4gUmVwb3J0U3RhdHVzQ29kZUxpYnxNZGVNb2R1 bGVQa2cvTGlicmFyeS9SdW50aW1lRHhlUmVwb3J0U3RhdHVzQ29kDQo+IGVMaWIvUnVudGltZUR4 ZVJlcG9ydFN0YXR1c0NvZGVMaWIuaW5mDQo+ICshaWYgJChTRUNVUkVfQk9PVF9FTkFCTEUpID09 IFRSVUUNCj4gKyAgQmFzZUNyeXB0TGlifENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlwdExpYi9S dW50aW1lQ3J5cHRMaWIuaW5mDQo+ICshZW5kaWYNCj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBU UlVFDQo+ICsgIEJhc2VDcnlwdExpYnxDcnlwdG9Qa2cvTGlicmFyeS9CYXNlQ3J5cHRMaWIvUnVu dGltZUNyeXB0TGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19F TkFCTEUpID09IFRSVUUNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVsRGVidWdQa2cv TGlicmFyeS9EZWJ1Z0FnZW50L0R4ZURlYnVnQWdlbg0KPiB0TGliLmluZg0KPiArIWVuZGlmDQo+ ICsNCj4gKyFpZiAkKENBUFNVTEVfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gQ2Fwc3VsZUxpYnxN ZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVDYXBzdWxlTGliRm1wL0R4ZVJ1bnRpbWVDYXBzdWxlDQo+ IExpYi5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXMuY29tbW9uLlVFRklf RFJJVkVSXQ0KPiArICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBj ZExpYk51bGwuaW5mDQo+ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRSVUUN Cj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVsRGVidWdQa2cvTGlicmFyeS9EZWJ1Z0Fn ZW50L0R4ZURlYnVnQWdlbg0KPiB0TGliLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gK1tMaWJyYXJ5 Q2xhc3Nlcy5YNjQuVUVGSV9BUFBMSUNBVElPTl0NCj4gKyAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5 L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFC TEUpID09IFRSVUUNCj4gKw0KPiBEZWJ1Z0FnZW50TGlifFNvdXJjZUxldmVsRGVidWdQa2cvTGli cmFyeS9EZWJ1Z0FnZW50L0R4ZURlYnVnQWdlbg0KPiB0TGliLmluZg0KPiArIWVuZGlmDQo+ICsN Cj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArIw0KPiArIyBQY2QgU2VjdGlvbiAt IGxpc3Qgb2YgYWxsIEVESyBJSSBQQ0QgRW50cmllcyBkZWZpbmVkIGJ5IHRoaXMgUGxhdGZvcm0N Cj4gKyMNCj4gKyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArW1BjZHNGZWF0dXJlRmxh Zy5jb21tb25dDQo+ICshaWYgJChNSU5JX0JJT1NfRU5BQkxFKSA9PSBGQUxTRQ0KPiArICBnUGxh dGZvcm1Nb2R1bGVUb2tlblNwYWNlR3VpZC5QY2RCZHNEaXNwYXRjaEFkZGl0aW9uYWxPcHJvbXxU UlVFDQo+ICshZWxzZQ0KPiArDQo+IGdQbGF0Zm9ybU1vZHVsZVRva2VuU3BhY2VHdWlkLlBjZEJk c0Rpc3BhdGNoQWRkaXRpb25hbE9wcm9tfEZBTFNFDQo+ICshZW5kaWYNCj4gKyMNCj4gKyMgSWYg UGNkRHhlSXBsU3dpdGNoVG9Mb25nTW9kZSBpcyBUUlVFLCBEeGVJcGwgd2lsbCBsb2FkIGEgNjQt Yml0IER4ZUNvcmUNCj4gYW5kIHN3aXRjaCB0byBsb25nIG1vZGUgdG8gaGFuZCBvdmVyIHRvIER4 ZUNvcmUuDQo+ICsjDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2REeGVJ cGxTd2l0Y2hUb0xvbmdNb2RlfFRSVUUNCj4gKw0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tl blNwYWNlR3VpZC5QY2RCcm93c2VyR3JheU91dFRleHRTdGF0ZW1lbnR8VFINCj4gVUUNCj4gKw0K PiArIWlmICQoQ0FQU1VMRV9SRVNFVF9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBnRWZpTWRlTW9k dWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3VwcG9ydFVwZGF0ZUNhcHN1bGVSZXNldHxUUlVFDQo+ ICshZWxzZQ0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdXBwb3J0 VXBkYXRlQ2Fwc3VsZVJlc2V0fEZBTFMNCj4gRQ0KPiArIWVuZGlmDQo+ICsgIGdFZmlDcHVUb2tl blNwYWNlR3VpZC5QY2RDcHVTbW1FbmFibGVCc3BFbGVjdGlvbnxGQUxTRQ0KPiArIWlmICQoREFU QUhVQl9TVEFUVVNfQ09ERV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBnRWZpSW50ZWxGcmFtZXdv cmtNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlRGF0YUh1Yg0KPiB8VFJV RQ0KPiArIWVsc2UNCj4gKw0KPiBnRWZpSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2dUb2tlblNwYWNl R3VpZC5QY2RTdGF0dXNDb2RlVXNlRGF0YUh1Yg0KPiB8RkFMU0UNCj4gKyFlbmRpZg0KPiArDQo+ IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQZWlDb3JlSW1hZ2VMb2FkZXJTZWFy Y2hUZVNlY3RpDQo+IG9uRmlyc3R8RkFMU0UNCj4gKyFpZiAkKFRBUkdFVCkgPT0gUkVMRUFTRQ0K PiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVNlcmlh bHxGQUxTRQ0KPiArIWVsc2UNCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZFN0YXR1c0NvZGVVc2VTZXJpYWx8RkFMU0UNCj4gKyFlbmRpZg0KPiArICBnRWZpTWRlTW9kdWxl UGtnVG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZU1lbW9yeXxGQUxTRQ0KPiArIWlmICQo SVNBX1NFUklBTF9TVEFUVVNfQ09ERV9FTkFCTEUpID09IFRSVUUNCj4gKyAgZ0VmaVNlcmlhbFBv cnRUb2tlblNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlSXNhU2VyaWFsfFRSVUUNCj4gKyFlbHNl DQo+ICsgIGdFZmlTZXJpYWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZUlzYVNl cmlhbHxGQUxTRQ0KPiArIWVuZGlmDQo+ICshaWYgJChVU0JfU0VSSUFMX1NUQVRVU19DT0RFX0VO QUJMRSkgPT0gVFJVRQ0KPiArICBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1 c0NvZGVVc2VVc2JTZXJpYWx8VFJVRQ0KPiArIWVsc2UNCj4gKyAgZ0VmaVNlcmlhbFBvcnRUb2tl blNwYWNlR3VpZC5QY2RTdGF0dXNDb2RlVXNlVXNiU2VyaWFsfEZBTFNFDQo+ICshZW5kaWYNCj4g KyFpZiAkKFJBTV9TRVJJQUxfU1RBVFVTX0NPREVfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIGdFZmlT ZXJpYWxQb3J0VG9rZW5TcGFjZUd1aWQuUGNkU3RhdHVzQ29kZVVzZVJhbXxUUlVFDQo+ICshZWxz ZQ0KPiArICBnRWZpU2VyaWFsUG9ydFRva2VuU3BhY2VHdWlkLlBjZFN0YXR1c0NvZGVVc2VSYW18 RkFMU0UNCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gKyAgIyMgVGhpcyBQQ0Qgc3BlY2lmaWVzIHdo ZXRoZXIgUFMyIGtleWJvYXJkIGRvZXMgYSBleHRlbmRlZCB2ZXJpZmljYXRpb24NCj4gZHVyaW5n IHN0YXJ0Lg0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQczJLYmRF eHRlbmRlZFZlcmlmaWNhdGlvbnxGQUxTRQ0KPiArDQo+ICsgICMjIFRoaXMgUENEIHNwZWNpZmll cyB3aGV0aGVyIFBTMiBtb3VzZSBkb2VzIGEgZXh0ZW5kZWQgdmVyaWZpY2F0aW9uDQo+IGR1cmlu ZyBzdGFydC4NCj4gKw0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUHMyTW91 c2VFeHRlbmRlZFZlcmlmaWNhdGlvbnxGQQ0KPiBMU0UNCj4gKw0KPiArIWlmICQoVkFSSUFCTEVf SU5GT19FTkFCTEUpID09IFRSVUUNCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlk LlBjZFZhcmlhYmxlQ29sbGVjdFN0YXRpc3RpY3N8VFJVRQ0KPiArIWVsc2UNCj4gKyAgZ0VmaU1k ZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFZhcmlhYmxlQ29sbGVjdFN0YXRpc3RpY3N8RkFM U0UNCj4gKyFlbmRpZg0KPiArDQo+ICsgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5QY2RDcHVTbW1C bG9ja1N0YXJ0dXBUaGlzQXB8VFJVRQ0KPiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxF KQ0KPiArICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdVNtbURlYnVnfFRSVUUNCj4g KyFlbmRpZg0KPiArDQo+ICtbUGNkc0ZpeGVkQXRCdWlsZC5jb21tb25dDQo+ICshaWYgJChNSU5O T1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArIyAkKEZMQVNIX1JFR0lPTl9WTFZNSUNST0NPREVf QkFTRSkNCj4gKw0KPiBnRnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZENwdU1pY3JvY29kZVBh dGNoQWRkcmVzc3wweEZGQzAwMDAwDQo+ICsjICQoRkxBU0hfUkVHSU9OX1ZMVk1JQ1JPQ09ERV9T SVpFKQ0KPiArDQo+IGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1aWQuUGNkQ3B1TWljcm9jb2RlUGF0 Y2hSZWdpb25TaXplfDB4MDAwNDAwMA0KPiAwDQo+ICsgIGdGc3BXcmFwcGVyVG9rZW5TcGFjZUd1 aWQuUGNkRmxhc2hNaWNyb0NvZGVPZmZzZXR8MHg2MA0KPiArIyAkKEZMQVNIX0FSRUFfQkFTRV9B RERSRVNTKQ0KPiArICBnRnNwV3JhcHBlclRva2VuU3BhY2VHdWlkLlBjZEZsYXNoQ29kZUNhY2hl QWRkcmVzc3wweEZGODAwMDAwDQo+ICsjICQoRkxBU0hfQVJFQV9TSVpFKQ0KPiArICBnRnNwV3Jh cHBlclRva2VuU3BhY2VHdWlkLlBjZEZsYXNoQ29kZUNhY2hlU2l6ZXwweDAwODAwMDAwDQo+ICsj ICQoRkxBU0hfUkVHSU9OX0ZTUEJJTl9CQVNFKQ0KPiArICBnRnNwV3JhcHBlclRva2VuU3BhY2VH dWlkLlBjZEZsYXNoRnZGc3BCYXNlfDB4RkZDQzAwMDANCj4gKyFlbmRpZg0KPiArDQo+ICshaWYg JChQRVJGT1JNQU5DRV9FTkFCTEUpID09IFRSVUUNCj4gKyFpZiAkKE1JTk5PVzJfRlNQX0JVSUxE KSA9PSBUUlVFDQo+ICsgICMgaW4gRlNQLCB3aGVuIHRoaXMgZ290IHVzZWQsIHRoZSBtZW1vcnkg YWxyZWFkeSBpcyB1cA0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkVGVtcG9yYXJ5UmFt QmFzZXwweDAwMDgwMDAwDQo+ICshZWxzZQ0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNk VGVtcG9yYXJ5UmFtQmFzZXwweEZFRjgwMDAwDQo+ICshZW5kaWYNCj4gKyAgZ0VmaUNwdVRva2Vu U3BhY2VHdWlkLlBjZFRlbXBvcmFyeVJhbVNpemV8MHgwMDAxMDAwMA0KPiArDQo+ICshZWxzZQ0K PiArICAhaWYgJChNSU5OT1cyX0ZTUF9CVUlMRCkgPT0gVFJVRQ0KPiArICAgIGdFZmlDcHVUb2tl blNwYWNlR3VpZC5QY2RUZW1wb3JhcnlSYW1CYXNlfDB4MDAwODAwMDANCj4gKyAgIWVsc2UNCj4g KyAgICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkVGVtcG9yYXJ5UmFtQmFzZXwweEZFRjgwMDAw DQo+ICsgICFlbmRpZg0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkVGVtcG9yYXJ5UmFt U2l6ZXwweDAwMDEwMDAwDQo+ICsgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5QY2RQZWlUZW1wb3Jh cnlSYW1TdGFja1NpemV8MHgzQzAwDQo+ICshZW5kaWYNCj4gKw0KPiArDQo+ICshaWYgJChTRUNV UkVfQk9PVF9FTkFCTEUpID09IFRSVUUNCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZE1heFZhcmlhYmxlU2l6ZXwweDIyMDAwDQo+ICshZWxzZQ0KPiArICBnRWZpTWRlTW9k dWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4VmFyaWFibGVTaXplfDB4NDAwMA0KPiArIWVuZGlm DQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RId0VyclN0b3JhZ2VTaXpl fDB4MDAwMDA4MDANCj4gKw0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWF4 SGFyZHdhcmVFcnJvclZhcmlhYmxlU2l6ZXwweDQNCj4gMDANCj4gKyAgZ0VmaUNwdVRva2VuU3Bh Y2VHdWlkLlBjZENwdUlFRFJhbVNpemV8MHg0MDAwMDANCj4gKw0KPiBnRWZpSW50ZWxGcmFtZXdv cmtNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTM0FjcGlSZXNlcnZlZE1lbW9yeQ0KPiBTaXpl fDB4MTAwMDANCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNySW92U3Vw cG9ydHxGQUxTRQ0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkQXJpU3Vw cG9ydHxGQUxTRQ0KPiArICBnRWZpQ3B1VG9rZW5TcGFjZUd1aWQuUGNkQ3B1U21tQXBTeW5jVGlt ZW91dHwxMDAwDQo+ICshaWYgJChTNF9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBnRWZpTWRlTW9k dWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUmVzZXRPbk1lbW9yeVR5cGVJbmZvcm1hdGlvbkMNCj4g aGFuZ2V8VFJVRQ0KPiArIWVsc2UNCj4gKw0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkUmVzZXRPbk1lbW9yeVR5cGVJbmZvcm1hdGlvbkMNCj4gaGFuZ2V8RkFMU0UNCj4gKyFl bmRpZg0KPiArIWlmICQoVEFSR0VUKSA9PSBSRUxFQVNFDQo+ICsgIGdFZmlNZGVQa2dUb2tlblNw YWNlR3VpZC5QY2REZWJ1Z1Byb3BlcnR5TWFza3wweDANCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3Bh Y2VHdWlkLlBjZFJlcG9ydFN0YXR1c0NvZGVQcm9wZXJ0eU1hc2t8MHgzDQo+ICshZWxzZQ0KPiAr ICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHgyRg0KPiAr ICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUmVwb3J0U3RhdHVzQ29kZVByb3BlcnR5TWFz a3wweDA3DQo+ICshZW5kaWYNCj4gKyFpZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJVRQ0K PiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUGVyZm9ybWFuY2VMaWJyYXJ5UHJvcGVy dHlNYXNrfDB4MQ0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RNYXhQ ZWlQZXJmb3JtYW5jZUxvZ0VudHJpZXN8NjANCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gZ0VmaUlu dGVsRnJhbWV3b3JrTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRWJkYVJlc2VydmVkTWVtb3J5 U2kNCj4gemV8MHgxMDAwMA0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RMb2FkTW9kdWxlQXRGaXhBZGRyZXNzRW5hYmxlfCQoDQo+IFRPUF9NRU1PUllfQUREUkVTUykN Cj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJyb3dzZXJTdWJ0aXRsZVRl eHRDb2xvcnwweDANCj4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJyb3dz ZXJGaWVsZFRleHRDb2xvcnwweDAxDQo+ICsgIGdFZmlDcHVUb2tlblNwYWNlR3VpZC5QY2RDcHVJ RURFbmFibGVkfFRSVUUNCj4gKw0KPiBnRWZpSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RCaW9zVmlkZW9DaGVja1ZiZUVuYQ0KPiBibGV8VFJVRQ0KPiArDQo+IGdFZmlJ bnRlbEZyYW1ld29ya01vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEJpb3NWaWRlb0NoZWNrVmdh RW5hYg0KPiBsZXxUUlVFDQo+ICsNCj4gKyFpZiAkKFNPVVJDRV9ERUJVR19FTkFCTEUpID09IFRS VUUNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNrfDB4 MTcNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlcG9ydFN0YXR1c0NvZGVQcm9w ZXJ0eU1hc2t8MHgwNw0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RT ZXJpYWxVc2VIYXJkd2FyZUZsb3dDb250cm9sfEZBTA0KPiBTRQ0KPiArDQo+IGdFZmlTb3VyY2VM ZXZlbERlYnVnUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdMb2FkSW1hZ2VNZXRob2R8Mg0KPiAr IWVuZGlmDQo+ICsNCj4gKyAgIw0KPiArICAjIFNldCBTTU0gc3RhY2sgc2l6ZSB0byAxNiBLQi4N Cj4gKyAgIw0KPiArICBnVWVmaUNwdVBrZ1Rva2VuU3BhY2VHdWlkLlBjZENwdVNtbVN0YWNrU2l6 ZXwweDQwMDANCj4gKw0KPiArICAjDQo+ICsgICMgQ2xlYXIgdW51c2VkIHNpbmdsZSBjZXJ0aWZp Y2F0ZSBQQ0QNCj4gKyAgIw0KPiArICBnRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZC5QY2RQ a2NzN0NlcnRCdWZmZXJ8ezB9DQo+ICsNCj4gKyAgIw0KPiArICAjIExvY2sgYWxsIHVwZGF0YWJs ZSBmaXJtd2FyZSBkZXZpY2VzIGF0IEVuZCBvZiBEWEUNCj4gKyAgIw0KPiArDQo+IGdGbXBEZXZp Y2VQa2dUb2tlblNwYWNlR3VpZC5QY2RGbXBEZXZpY2VMb2NrRXZlbnRHdWlkfHtHVUlEKGdFZmlF DQo+IG5kT2ZEeGVFdmVudEdyb3VwR3VpZCl9DQo+ICsjDQo+IGdGbXBEZXZpY2VQa2dUb2tlblNw YWNlR3VpZC5QY2RGbXBEZXZpY2VMb2NrRXZlbnRHdWlkfHtHVUlEKGdFZmlFDQo+IHZlbnRSZWFk eVRvQm9vdEd1aWQpfQ0KPiArDQo+ICsgICMNCj4gKyAgIyBTZXQgUGNkRm1wRGV2aWNlVGVzdEtl eVNoYTI1NkRpZ2VzdCB0byB7MH0gdG8gZGlzYWJsZSB0ZXN0IGtleQ0KPiBkZXRlY3Rpb24NCj4g KyAgIw0KPiArIyAgZ0ZtcERldmljZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEZtcERldmljZVRlc3RL ZXlTaGEyNTZEaWdlc3R8ezB9DQo+ICsNCj4gK1tQY2RzRml4ZWRBdEJ1aWxkLklBMzJdDQo+ICsh aWYgJChUQVJHRVQpID09IFJFTEVBU0UNCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZERlYnVnUHJvcGVydHlNYXNrfDB4MA0KPiArICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNk UmVwb3J0U3RhdHVzQ29kZVByb3BlcnR5TWFza3wweDMNCj4gKyFlbHNlDQo+ICsgIGdFZmlNZGVQ a2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1Byb3BlcnR5TWFza3wweDJFDQo+ICsgIGdFZmlNZGVQ a2dUb2tlblNwYWNlR3VpZC5QY2RSZXBvcnRTdGF0dXNDb2RlUHJvcGVydHlNYXNrfDB4MDcNCj4g KyFlbmRpZg0KPiArDQo+ICshaWYgJChSRUNPVkVSWV9FTkFCTEUpDQo+ICsNCj4gZ0VmaU1kZU1v ZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJlY292ZXJ5RmlsZU5hbWV8TCJWTFYyUkVDLkNhcA0K PiAiDQo+ICshZW5kaWYNCj4gKw0KPiArW1BjZHNQYXRjaGFibGVJbk1vZHVsZS5jb21tb25dDQo+ ICsgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgw MzgwNWM2DQo+ICsNCj4gZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBjaUV4cHJlc3NCYXNl QWRkcmVzc3wweCQoUExBVEZPUk1fUEMNCj4gSUVYUFJFU1NfQkFTRSkNCj4gKw0KPiBnRWZpSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RMZWdhY3lCaW9zQ2FjaGVMZWdh Y3kNCj4gUmVnaW9ufEZBTFNFDQo+ICsNCj4gKyAgIyMgVGhpcyBQQ0Qgc3BlY2lmaWVzIHdoZXRo ZXIgdG8gdXNlIHRoZSBvcHRpbWl6ZWQgdGltaW5nIGZvciBiZXN0IFBTMg0KPiBkZXRlY3Rpb24g cGVyZm9ybWFuY2UuDQo+ICsgICMgIE5vdGUgdGhpcyBQQ0QgY291bGQgYmUgc2V0IHRvIFRSVUUg Zm9yIGJlc3QgYm9vdCBwZXJmb3JtYW5jZSBhbmQgc2V0IHRvDQo+IEZBTFNFIGZvciBiZXN0IGRl dmljZSBjb21wYXRpYmlsaXR5Lg0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkRmFzdFBTMkRldGVjdGlvbnxUUlVFDQo+ICsNCj4gKw0KPiAjIyMjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIw0KPiArICAjDQo+ICsgICMgQmVnaW4gb2Yg TVJDIHBhcmFtZXRlcnMNCj4gKyAgIw0KPiArDQo+ICsgICMjIE1lbW9yeSBQYXJhbWV0ZXIgUGF0 Y2hhYmxlLg0KPiArICAjICBGQUxTRSAtIE1SQyBQYXJhbWV0ZXJzIGFyZSBmaXhlZCBmb3IgTWlu bm93Qm9hcmQgTWF4PEJSPg0KPiArICAjICBUUlVFICAtIE1SQyBQYXJhbWV0ZXJzIGFyZSBwYXRj aGFibGUgYnkgZm9sbG93aW5nIFBDRHM8QlI+DQo+ICsgICMgQFByb21wdCBNZW1vcnkgUGFyYW1l dGVyIFBhdGNoYWJsZS4NCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxDQo+ICsg IGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNkTWVtb3J5UGFyYW1ldGVyUGF0Y2hhYmxl fEZBTFNFDQo+ICsNCj4gKyAgIyMgTWVtb3J5IERvd24gb3IgRElNTSBzbG90Lg0KPiArICAjICAw IC0gRElNTTxCUj4NCj4gKyAgIyAgMSAtIE1lbW9yeSBEb3duPEJSPg0KPiArICAjIEBQcm9tcHQg RW5hYmxlIE1lbW9yeSBEb3duDQo+ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMQ0K PiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZEVuYWJsZU1lbW9yeURvd258MQ0K PiArDQo+ICsgICMjIFRoZSBzcGVlZCBvZiBEUkFNLg0KPiArICAjICAwIC0gODAwIE1IejxCUj4N Cj4gKyAgIyAgMSAtIDEwNjYgTUh6PEJSPg0KPiArICAjICAyIC0gMTMzMyBNSHo8QlI+DQo+ICsg ICMgIDMgLSAxNjAwIE1IejxCUj4NCj4gKyAgIyBAUHJvbXB0IERSQU0gU3BlZWQNCj4gKyAgIyBA VmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAwLCAxLCAyLCAzDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRHJhbVNwZWVkfDENCj4gKw0KPiArICAjIyBEUkFNIFR5cGUuDQo+ICsg ICMgIDAgLSBERFIzPEJSPg0KPiArICAjICAxIC0gRERSM0w8QlI+DQo+ICsgICMgIDIgLSBERFIz VTxCUj4NCj4gKyAgIyAgMyAtIEREUjNBbGw8QlI+DQo+ICsgICMgIDQgLSBMUEREUjI8QlI+DQo+ ICsgICMgIDUgLSBMUEREUjM8QlI+DQo+ICsgICMgIDYgLSBERFI0PEJSPg0KPiArICAjIEBQcm9t cHQgRFJBTSBUeXBlDQo+ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMSwgMiwgMywg NCwgNSwgNg0KPiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERyYW1UeXBlfDEN Cj4gKw0KPiArICAjIyBQbGVhc2UgcG9wdWxhdGUgRElNTSBzbG90IDAgaWYgb25seSBvbmUgRElN TSBpcyBzdXBwb3J0ZWQuDQo+ICsgICMgIDAgLSBEaXNhYmxlPEJSPg0KPiArICAjICAxIC0gRW5h YmxlPEJSPg0KPiArICAjIEBQcm9tcHQgRElNTSAwIEVuYWJsZQ0KPiArICAjIEBWYWxpZExpc3Qg MHg4MDAwMDAwMSB8IDAsIDENCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RF bmFibGVEaW1tMHwxDQo+ICsNCj4gKyAgIyMgRElNTSAxIGhhcyB0byBiZSBpZGVudGljYWwgdG8g RElNTSAwLg0KPiArICAjICAwIC0gRGlzYWJsZTxCUj4NCj4gKyAgIyAgMSAtIEVuYWJsZTxCUj4N Cj4gKyAgIyBAUHJvbXB0IERJTU0gMSBFbmFibGUgVHlwZQ0KPiArICAjIEBWYWxpZExpc3QgMHg4 MDAwMDAwMSB8IDAsIDENCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFbmFi bGVEaW1tMXwwDQo+ICsNCj4gKyAgIyMgRFJBTSBkZXZpY2UgZGF0YSB3aWR0aC4NCj4gKyAgIyAg MCAtIHg4PEJSPg0KPiArICAjICAxIC0geDE2PEJSPg0KPiArICAjICAyIC0geDMyPEJSPg0KPiAr ICAjIEBQcm9tcHQgRElNTV9EV0lEVEgNCj4gKyAgIyBAVmFsaWRMaXN0IDB4ODAwMDAwMDEgfCAw LCAxLCAyDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGltbURhdGFXaWR0 aHwxDQo+ICsNCj4gKyAgIyMgRFJBTSBkZXZpY2UgZGF0YSBkZW5zaXR5Lg0KPiArICAjICAwIC0g MSBHYml0PEJSPg0KPiArICAjICAxIC0gMiBHYml0PEJSPg0KPiArICAjICAyIC0gNCBHYml0PEJS Pg0KPiArICAjICAzIC0gOCBHYml0PEJSPg0KPiArICAjIEBQcm9tcHQgRElNTV9EZW5zaXR5DQo+ ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAxIHwgMCwgMSwgMiwgMw0KPiArICBnVmx2UmVmQ29k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERpbW1EZW5zaXR5fDINCj4gKw0KPiArICAjIyBEUkFNIGRl dmljZSBkYXRhIGJ1cyB3aWR0aC4NCj4gKyAgIyAgMCAtIDggYml0czxCUj4NCj4gKyAgIyAgMSAt IDE2IGJpdHM8QlI+DQo+ICsgICMgIDIgLSAzMiBiaXRzPEJSPg0KPiArICAjICAzIC0gNjQgYml0 czxCUj4NCj4gKyAgIyBAUHJvbXB0IERJTU1fQnVzV2lkdGgNCj4gKyAgIyBAVmFsaWRMaXN0IDB4 ODAwMDAwMDEgfCAwLCAxLCAyLCAzDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQu UGNkRGltbUJ1c1dpZHRofDMNCj4gKw0KPiArICAjIyBSYW5rcyBQZXIgRElNTSBvciBTaWRlcyBQ ZXIgRElNTS4NCj4gKyAgIyAgMCAtIDEgUmFuazxCUj4NCj4gKyAgIyAgMSAtIDIgUmFua3M8QlI+ DQo+ICsgICMgQFByb21wdCBESU1NX1NpZGVzDQo+ICsgICMgQFZhbGlkTGlzdCAweDgwMDAwMDAx IHwgMCwgMQ0KPiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFJhbmtQZXJEaW1t fDANCj4gKw0KPiArICAjIyB0Q0wuPEJSPjxCUj4NCj4gKyAgIyBAUHJvbXB0IHRDTA0KPiArICBn Vmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRjbHwxMQ0KPiArDQo+ICsgICMjIHRSUCBh bmQgdFJDRCBpbiBEUkFNIGNsayAtIDU6MTIuNW5zLCA2OjE1bnMsIGV0Yy4NCj4gKyAgIyBAUHJv bXB0IHRSUF90UkNEDQo+ICsgIGdWbHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVHJwVHJj ZHwxMQ0KPiArDQo+ICsgICMjIHRXUiBpbiBEUkFNIGNsay4NCj4gKyAgIyBAUHJvbXB0IHRXUg0K PiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFR3cnwxMg0KPiArDQo+ICsgICMj IHRXVFIgaW4gRFJBTSBjbGsuDQo+ICsgICMgQFByb21wdCB0V1RSDQo+ICsgIGdWbHZSZWZDb2Rl UGtnVG9rZW5TcGFjZUd1aWQuUGNkVHd0cnw2DQo+ICsNCj4gKyAgIyMgdFJSRCBpbiBEUkFNIGNs ay4NCj4gKyAgIyBAUHJvbXB0IHRSUkQNCj4gKyAgZ1ZsdlJlZkNvZGVQa2dUb2tlblNwYWNlR3Vp ZC5QY2RUcnJkfDYNCj4gKw0KPiArICAjIyB0UlRQIGluIERSQU0gY2xrLg0KPiArICAjIEBQcm9t cHQgdFJUUA0KPiArICBnVmx2UmVmQ29kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFRydHB8Ng0KPiAr DQo+ICsgICMjIHRGQVcgaW4gRFJBTSBjbGsuDQo+ICsgICMgQFByb21wdCB0RkFXDQo+ICsgIGdW bHZSZWZDb2RlUGtnVG9rZW5TcGFjZUd1aWQuUGNkVGZhd3wzMg0KPiArDQo+ICsgICMNCj4gKyAg IyBFbmQgb2YgTVJDIHBhcmFtZXRlcnMuDQo+ICsgICMNCj4gKw0KPiAjIyMjIyMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjDQo+ICMjIyMjIyMjIyMj IyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMjIyMNCj4gKw0KPiArW1BjZHNEeW5hbWljSGlpLmNvbW1v bi5ERUZBVUxUXQ0KPiArDQo+IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQbGF0Zm9ybUJv b3RUaW1lT3V0fEwiVGltZW91dCJ8Z0VmaUdsbw0KPiBiYWxWYXJpYWJsZUd1aWR8MHgwfDUgIyBW YXJpYWJsZTogTCJUaW1lb3V0Ig0KPiArDQo+IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RI YXJkd2FyZUVycm9yUmVjb3JkTGV2ZWx8TCJId0VyclJlY1N1cA0KPiBwb3J0InxnRWZpR2xvYmFs VmFyaWFibGVHdWlkfDB4MHwxICMgVmFyaWFibGU6IEwiSHdFcnJSZWNTdXBwb3J0Ig0KPiArDQo+ ICtbUGNkc0R5bmFtaWNEZWZhdWx0LmNvbW1vbi5ERUZBVUxUXQ0KPiArDQo+IGdFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTM0Jvb3RTY3JpcHRUYWJsZVByaXZhdGVEYXRhUHRyfDB4 DQo+IDANCj4gKyAgIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKyAgICBnRWZpU2VjdXJp dHlQa2dUb2tlblNwYWNlR3VpZC5QY2RUcG1JbnN0YW5jZUd1aWR8ezB4N2IsIDB4M2EsIDB4Y2Qs DQo+IDB4NzIsIDB4QTUsIDB4RkUsIDB4NWUsIDB4NGYsIDB4OTEsIDB4NjUsIDB4NGQsIDB4ZDEs IDB4MjEsIDB4ODcsIDB4YmIsIDB4MTN9DQo+ICsgICFlbmRpZg0KPiArDQo+ICsgICMjIFRoaXMg UENEIGRlZmluZXMgdGhlIHZpZGVvIGhvcml6b250YWwgcmVzb2x1dGlvbi4NCj4gKyAgIyAgVGhp cyBQQ0QgY291bGQgYmUgc2V0IHRvIDAgdGhlbiB2aWRlbyByZXNvbHV0aW9uIGNvdWxkIGJlIGF0 IGhpZ2hlc3QNCj4gcmVzb2x1dGlvbi4NCj4gKyAgI2dFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNl R3VpZC5QY2RWaWRlb0hvcml6b250YWxSZXNvbHV0aW9ufDANCj4gKyAgZ0VmaU1kZU1vZHVsZVBr Z1Rva2VuU3BhY2VHdWlkLlBjZFZpZGVvSG9yaXpvbnRhbFJlc29sdXRpb258ODAwDQo+ICsgICMj IFRoaXMgUENEIGRlZmluZXMgdGhlIHZpZGVvIHZlcnRpY2FsIHJlc29sdXRpb24uDQo+ICsgICMg IFRoaXMgUENEIGNvdWxkIGJlIHNldCB0byAwIHRoZW4gdmlkZW8gcmVzb2x1dGlvbiBjb3VsZCBi ZSBhdCBoaWdoZXN0DQo+IHJlc29sdXRpb24uDQo+ICsgICNnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkVmlkZW9WZXJ0aWNhbFJlc29sdXRpb258MA0KPiArICBnRWZpTWRlTW9kdWxl UGtnVG9rZW5TcGFjZUd1aWQuUGNkVmlkZW9WZXJ0aWNhbFJlc29sdXRpb258NjAwDQo+ICsNCj4g KyAgIyMgVGhpcyBQQ0QgZGVmaW5lcyB0aGUgQ29uc29sZSBvdXRwdXQgY29sdW1uIGFuZCB0aGUg ZGVmYXVsdCB2YWx1ZSBpcyAyNQ0KPiBhY2NvcmRpbmcgdG8gVUVGSSBzcGVjLg0KPiArICAjICBU aGlzIFBDRCBjb3VsZCBiZSBzZXQgdG8gMCB0aGVuIGNvbnNvbGUgb3V0cHV0IGNvdWxkIGJlIGF0 IG1heCBjb2x1bW4NCj4gYW5kIG1heCByb3cuDQo+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RDb25PdXRSb3d8MzENCj4gKyAgIyMgVGhpcyBQQ0QgZGVmaW5lcyB0aGUgQ29u c29sZSBvdXRwdXQgcm93IGFuZCB0aGUgZGVmYXVsdCB2YWx1ZSBpcyA4MA0KPiBhY2NvcmRpbmcg dG8gVUVGSSBzcGVjLg0KPiArICAjICBUaGlzIFBDRCBjb3VsZCBiZSBzZXQgdG8gMCB0aGVuIGNv bnNvbGUgb3V0cHV0IGNvdWxkIGJlIGF0IG1heCBjb2x1bW4NCj4gYW5kIG1heCByb3cuDQo+ICsg IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RDb25PdXRDb2x1bW58MTAwDQo+ICsN Cj4gKyAgIyMgVGhlIFBDRCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIHZpZGVvIGhvcml6b250YWwg cmVzb2x1dGlvbiBvZiB0ZXh0IHNldHVwLg0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNw YWNlR3VpZC5QY2RTZXR1cFZpZGVvSG9yaXpvbnRhbFJlc29sdXRpb258ODANCj4gMA0KPiArICAj IyBUaGUgUENEIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgdmlkZW8gdmVydGljYWwgcmVzb2x1dGlv biBvZiB0ZXh0IHNldHVwLg0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2RTZXR1cFZpZGVvVmVydGljYWxSZXNvbHV0aW9ufDYwMA0KPiArICAjIyBUaGUgUENEIGlzIHVz ZWQgdG8gc3BlY2lmeSB0aGUgY29uc29sZSBvdXRwdXQgY29sdW1uIG9mIHRleHQgc2V0dXAuDQo+ ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXR1cENvbk91dENvbHVtbnwx MDANCj4gKyAgIyMgVGhlIFBDRCBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlIGNvbnNvbGUgb3V0cHV0 IGNvbHVtbiBvZiB0ZXh0IHNldHVwLg0KPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1 aWQuUGNkU2V0dXBDb25PdXRSb3d8MzENCj4gKw0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRS VUUNCj4gKyAgZ0VmaVNlY3VyaXR5UGtnVG9rZW5TcGFjZUd1aWQuUGNkVHBtSW5pdGlhbGl6YXRp b25Qb2xpY3l8MQ0KPiArICBnRWZpU2VjdXJpdHlQa2dUb2tlblNwYWNlR3VpZC5QY2RUcG1TY3J0 bVBvbGljeXwxDQo+ICshZW5kaWYNCj4gKw0KPiArW1BjZHNEeW5hbWljRXhEZWZhdWx0LmNvbW1v bi5ERUZBVUxUXQ0KPiArICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkVENTbWJhSW9CYXNlQWRk cmVzc3wweDEwNDANCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZEVtbWNNYW51ZmFjdHVy ZXJJZHwwDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RQcm9kdWN0U2VyaWFsTnVtYmVy fDANCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZE1lYXN1cmVkQm9vdEVuYWJsZXxUUlVF DQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNRXJyb3JPY2N1cnxGQUxTRQ0KPiAr ICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkRlRQTUVycm9yU2tpcHxGQUxTRQ0KPiArICBnRWZp VkxWVG9rZW5TcGFjZUd1aWQuUGNkRlRQTUNvbW1hbmR8MA0KPiArICBnRWZpVkxWVG9rZW5TcGFj ZUd1aWQuUGNkRlRQTVJlc3BvbnNlfDANCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZEZU UE1Ob3RSZXNwb25kfEZBTFNFDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3VpZC5QY2RGVFBNU3Rh dHVzfDANCj4gKw0KPiBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQuUGNkUzNCb290U2Ny aXB0VGFibGVQcml2YXRlU21tRGF0YVANCj4gdHJ8MA0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dU b2tlblNwYWNlR3VpZC5QY2RTM0Jvb3RTY3JpcHRUYWJsZVByaXZhdGVEYXRhUHRyfDANCj4gKyAg Z0VmaUNwdVRva2VuU3BhY2VHdWlkLlBjZENwdVMzRGF0YUFkZHJlc3N8MA0KPiArICBnRWZpQ3B1 VG9rZW5TcGFjZUd1aWQuUGNkQ3B1SG90UGx1Z0RhdGFBZGRyZXNzfDANCj4gKyAgZ0VmaUNwdVRv a2VuU3BhY2VHdWlkLlBjZENwdUNhbGxiYWNrU2lnbmFsfDANCj4gKyAgZ0VmaUNwdVRva2VuU3Bh Y2VHdWlkLlBjZENwdUNvbmZpZ0NvbnRleHRCdWZmZXJ8MA0KPiArICBnRWZpVkxWVG9rZW5TcGFj ZUd1aWQuUGNkQ3B1TG9ja0JveERhdGFBZGRyZXNzfDANCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VH dWlkLlBjZENwdVNtcmFtQ3B1RGF0YUFkZHJlc3N8MA0KPiArICBnRWZpVkxWVG9rZW5TcGFjZUd1 aWQuUGNkQ3B1TG9ja0JveFNpemV8MA0KPiArDQo+ICtbUGNkc0R5bmFtaWNFeERlZmF1bHQuWDY0 LkRFRkFVTFRdDQo+ICshaWYgJChSRUNPVkVSWV9FTkFCTEUpDQo+ICsNCj4gZ0VmaVNpZ25lZENh cHN1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RFZGtpaVN5c3RlbUZpcm13YXJlRmlsZUd1aWR8e0cN Cj4gVUlEKCJBRjlDOUVCMi0xMkFELTREM0UtQTRENC05NkY2Qzk5NjYyMTUiKX18Vk9JRCp8MHgx MA0KPiArDQo+IGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTeXN0ZW1GbXBDYXBz dWxlSW1hZ2VUeXBlSWRHdQ0KPiBpZHx7R1VJRCgiNDA5NjI2N2ItZGEwYS00MmViLWI1ZWItZmVm MzFkMjA3Y2I0Iil9fFZPSUQqfDB4MTANCj4gKyFlbmRpZg0KPiArDQo+ICtbQ29tcG9uZW50cy5J QTMyXQ0KPiArDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElU RUNUVVJFKSQoVEFSR0VUKS9JQTMyL1MNCj4gZWNDb3JlLmluZg0KPiArDQo+ICsgICFpZiAkKE1J Tk5PVzJfRlNQX0JVSUxEKSA9PSBUUlVFDQo+ICsgIEludGVsRnNwV3JhcHBlclBrZy9Gc3BXcmFw cGVyU2VjQ29yZS9Gc3BXcmFwcGVyU2VjQ29yZS5pbmYgew0KPiArICAgICFpZiAkKFRBUkdFVCkg PT0gREVCVUcNCj4gKw0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKw0KPiBEZWJ1Z0xpYnxN ZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBv cnQuDQo+IGluZg0KPiArICAgICFlbmRpZg0KPiArICB9DQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtn L0ZzcFN1cHBvcnQvQm9vdE1vZGVQZWkvQm9vdE1vZGVQZWkuaW5mDQo+ICsgIEludGVsRnNwV3Jh cHBlclBrZy9Gc3BJbml0UGVpL0ZzcEluaXRQZWkuaW5mIHsNCj4gKyAgICAhaWYgJChUQVJHRVQp ID09IERFQlVHDQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IERlYnVnTGlifE1kZVBr Zy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9ydC4N Cj4gaW5mDQo+ICsgICAgIWVuZGlmDQo+ICsgIH0NCj4gKyAgIWVuZGlmDQo+ICsNCj4gKyAgTWRl TW9kdWxlUGtnL0NvcmUvUGVpL1BlaU1haW4uaW5mIHsNCj4gKyFpZiAkKFRBUkdFVCkgPT0gREVC VUcNCj4gKyAgICA8UGNkc0ZpeGVkQXRCdWlsZD4NCj4gKyAgICAgIGdFZmlNZGVQa2dUb2tlblNw YWNlR3VpZC5QY2REZWJ1Z1Byb3BlcnR5TWFza3wweDJFDQo+ICshZW5kaWYNCj4gKyAgICA8UGNk c1BhdGNoYWJsZUluTW9kdWxlPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBj ZERlYnVnUHJpbnRFcnJvckxldmVsfDB4ODAwMDAwNDYNCj4gKyAgfQ0KPiArDQo+ICsgICQoUExB VEZPUk1fUEFDS0FHRSkvTW9ub1N0YXR1c0NvZGUvTW9ub1N0YXR1c0NvZGUuaW5mIHsNCj4gKyFp ZiAkKFRBUkdFVCkgPT0gREVCVUcNCj4gKyAgICA8UGNkc0ZpeGVkQXRCdWlsZD4NCj4gKyAgICAg IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1Byb3BlcnR5TWFza3wweDJFDQo+ICsh ZW5kaWYNCj4gKyAgfQ0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FS Q0hJVEVDVFVSRSkkKFRBUkdFVCkvSUEzMi9NDQo+IGVtb3J5SW5pdC5pbmYgew0KPiArICAgIDxQ Y2RzUGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQu UGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHg4MDAwMDA0Ng0KPiArICAgIDxCdWlsZE9wdGlvbnM+ DQo+ICsgICAgICAhaWYgJChGVFBNX0VOQUJMRSk9PVRSVUUNCj4gKyAgICAgICAgKl8qX0lBMzJf Q0NfRkxBR1MgPSAvRCBGVFBNX0VOQUJMRQ0KPiArICAgICAgIWVuZGlmDQo+ICsgIH0NCj4gKw0K PiArIWlmICQoUkNfQklOQVJZX1JFTEVBU0UpID09IFRSVUUNCj4gKw0KPiAkKFBMQVRGT1JNX0JJ TkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUw0KPiBlQ1Vt YS5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiAr JChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9J QTMyL2YNCj4gVFBNSW5pdFBlaW0uaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoUkNfQklO QVJZX1JFTEVBU0UpID09IFRSVUUNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybVBl aS9QbGF0Zm9ybVBlaS5pbmYgew0KPiArICAgIDxCdWlsZE9wdGlvbnM+DQo+ICsgICAgICAqXypf SUEzMl9DQ19GTEFHUyAgICAgID0gL0RSQ19CSU5BUllfUkVMRUFTRQ0KPiArICAhaWYgJChUQVJH RVQpID09IERFQlVHDQo+ICsgICAgICA8UGNkc0ZpeGVkQXRCdWlsZD4NCj4gKyAgICAgICAgZ0Vm aU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNrfDB4MkUNCj4gKyAgIWVu ZGlmDQo+ICsgIH0NCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxF KSA9PSBUUlVFDQo+ICsgIFNvdXJjZUxldmVsRGVidWdQa2cvRGVidWdBZ2VudFBlaS9EZWJ1Z0Fn ZW50UGVpLmluZnsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICBQY2RMaWJ8TWRl UGtnL0xpYnJhcnkvQmFzZVBjZExpYk51bGwvQmFzZVBjZExpYk51bGwuaW5mDQo+ICsNCj4gRGVi dWdBZ2VudExpYnxTb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9TZWNQZWlE ZWJ1Z0FnDQo+IGVudExpYi5pbmYNCj4gKw0KPiBQbGF0Zm9ybUhvb2tMaWJ8TWRlTW9kdWxlUGtn L0xpYnJhcnkvQmFzZVBsYXRmb3JtSG9va0xpYk51bGwvQmFzZVBsYQ0KPiB0Zm9ybUhvb2tMaWJO dWxsLmluZg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8TWRlTW9kdWxlUGtnL0xpYnJhcnkvQmFzZVNl cmlhbFBvcnRMaWIxNjU1MC9CYXNlU2VyaWFsUG9ydA0KPiBMaWIxNjU1MC5pbmYNCj4gKyAgICB9 DQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoRlRQTV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiAk KFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lB MzIvVA0KPiBwbTJEZXZpY2VTZUNQZWkuaW5mDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoVFBN X0VOQUJMRUQpID09IFRSVUUNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1BoeXNpY2FsUHJlc2VuY2VQ ZWkvUGh5c2ljYWxQcmVzZW5jZVBlaS5pbmYNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1RjZ1BlaS9U Y2dQZWkuaW5mIHsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsNCj4gTlVMTHxTZWN1cml0 eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTEvSGFzaEluc3RhbmNlTGliU2hhMS5pbmYN Cj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtnL0xpYnJhcnkvSGFzaEluc3RhbmNlTGliU2hhMjU2L0hh c2hJbnN0YW5jZUxpYlNoYTI1Ni5pbg0KPiBmDQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJh cnkvUGVpUGNkTGliL1BlaVBjZExpYi5pbmYNCj4gK30NCj4gKyFlbmRpZg0KPiArDQo+ICsgJChQ TEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUluaXRQZWkvUGxhdGZvcm1Jbml0UGVpLmluZiB7DQo+ ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAgIGdFZmlNZGVQa2dUb2tlblNw YWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgwMzgwNWM2DQo+ICsgICAgPExpYnJh cnlDbGFzc2VzPg0KPiArIWlmICQoVEFSR0VUKSAhPSBSRUxFQVNFDQo+ICsNCj4gRGVidWdMaWJ8 TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQ b3J0Lg0KPiBpbmYNCj4gKyFlbmRpZg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L1Bl aVBjZExpYi9QZWlQY2RMaWIuaW5mDQo+ICsgIH0NCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9G dkluZm9QZWkvRnZJbmZvUGVpLmluZg0KPiArDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFD S0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ZsDQo+IHZJbml0UGVpbS5p bmYNCj4gKyFpZiAkKFBDSUVTQ19FTkFCTEUpID09IFRSVUUNCj4gKw0KPiAkKFBMQVRGT1JNX0JJ TkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBjaEVh cmx5SW5pdFBlaW0uaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxlPg0KPiArICAg ICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVsfDB4ODAw MDAwNDYNCj4gKyAgfQ0KPiArIWVuZGlmDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FH RSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hJbml0UGVpbS5pbmYN Cj4gKw0KPiArDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElU RUNUVVJFKSQoVEFSR0VUKS9JQTMyL1ANCj4gY2hTbWJ1c0FycERpc2FibGVkLmluZg0KPiArDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv SUEzMi9QDQo+IGNoU3BpUGVpbS5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdF KS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpL0lBMzIvUA0KPiBlaVNtbUFjY2Vzcy5pbmYN Cj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChU QVJHRVQpL0lBMzIvUA0KPiBlaVNtbUNvbnRyb2wuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2 ZXJzYWwvUENEL1BlaS9QY2QuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkv JChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL0MNCj4gcHVQZWltLmluZg0KPiArICBV ZWZpQ3B1UGtnL0NwdUlvUGVpL0NwdUlvUGVpLmluZg0KPiArICBVZWZpQ3B1UGtnL1VuaXZlcnNh bC9BY3BpL1MzUmVzdW1lMlBlaS9TM1Jlc3VtZTJQZWkuaW5mDQo+ICsNCj4gJChQTEFURk9STV9C SU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS9JQTMyL00NCj4gcFMz LmluZg0KPiArIw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RV UkUpJChUQVJHRVQpL0lBMzIvUGkNCj4gU21tQ29tbXVuaWNhdGlvblBlaS5pbmYNCj4gKw0KPiAr IWlmICQoUkVDT1ZFUllfRU5BQkxFKQ0KPiArICAjDQo+ICsgICMgUmVjb3ZlcnkNCj4gKyAgIw0K PiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRB UkdFVCkvSUEzMi9QDQo+IGNoVXNiLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1BjaS9FaGNp UGVpL0VoY2lQZWkuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c1BlaS9Vc2JC dXNQZWkuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJvdFBlaS9Vc2JCb3RQZWku aW5mDQo+ICsgIEZhdFBrZy9GYXRQZWkvRmF0UGVpLmluZg0KPiArICBNZGVNb2R1bGVQa2cvVW5p dmVyc2FsL0Rpc2svQ2RFeHByZXNzUGVpL0NkRXhwcmVzc1BlaS5pbmYNCj4gKw0KPiBTaWduZWRD YXBzdWxlUGtnL1VuaXZlcnNhbC9SZWNvdmVyeU1vZHVsZUxvYWRQZWkvUmVjb3ZlcnlNb2R1bGVM b2ENCj4gZFBlaS5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKw0KPiBGbXBBdXRo ZW50aWNhdGlvbkxpYnxTZWN1cml0eVBrZy9MaWJyYXJ5L0ZtcEF1dGhlbnRpY2F0aW9uTGliUnNh MjA0OFNoDQo+IGEyNTYvRm1wQXV0aGVudGljYXRpb25MaWJSc2EyMDQ4U2hhMjU2LmluZg0KPiAr ICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L1BlaVBjZExpYi9QZWlQY2RMaWIuaW5mDQo+ICsg IH0NCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChDQVBTVUxFX0VOQUJMRSkgPT0gVFJVRQ0KPiAr ICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NhcHN1bGVQZWkvQ2Fwc3VsZVBlaS5pbmYNCj4gKyFl bmRpZg0KPiArICBNZGVNb2R1bGVQa2cvQ29yZS9EeGVJcGxQZWltL0R4ZUlwbC5pbmYgew0KPiAr ICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyFpZiAkKExaTUFfRU5BQkxFKSA9PSBUUlVFDQo+ICsN Cj4gTlVMTHxNZGVNb2R1bGVQa2cvTGlicmFyeS9Mem1hQ3VzdG9tRGVjb21wcmVzc0xpYi9Mem1h Q3VzdG9tRGVjDQo+IG9tcHJlc3NMaWIuaW5mDQo+ICshZW5kaWYNCj4gKyAgfQ0KPiArDQo+ICsg TWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9WYXJpYWJsZS9QZWkvVmFyaWFibGVQZWkuaW5mDQo+ICsN Cj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9GYXVsdFRvbGVyYW50V3JpdGVQZWkvRmF1bHRUb2xl cmFudFdyaXRlUGVpLmluZg0KPiArDQo+ICshaWYgJChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiAr ICAgU2VjdXJpdHlQa2cvVGNnL1RjZzJQZWkvVGNnMlBlaS5pbmYgew0KPiArICAgIDxQY2RzUGF0 Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVi dWdQcmludEVycm9yTGV2ZWx8MHg4MDAwMDA0Ng0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4g Kw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VE ZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArDQo+IE5VTEx8U2VjdXJpdHlQa2cvTGlicmFy eVxIYXNoSW5zdGFuY2VMaWJTaGExL0hhc2hJbnN0YW5jZUxpYlNoYTEuaW5mDQo+ICsNCj4gTlVM THxTZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTI1Ni9IYXNoSW5zdGFuY2VM aWJTaGEyNTYuaW4NCj4gZg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L1BlaVBjZExp Yi9QZWlQY2RMaWIuaW5mDQo+ICsgIH0NCj4gKyFlbmRpZg0KPiArIWlmICQoVFBNX0VOQUJMRUQp ID09IFRSVUUNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1RjZzJDb25maWcvVGNnMkNvbmZpZ1BlaS5p bmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGli cmFyeS9QZWlQY2RMaWIvUGVpUGNkTGliLmluZg0KPiArICB9DQo+ICshZW5kaWYNCj4gKyFpZiAk KEFDUEk1MF9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Fj cGkvRmlybXdhcmVQZXJmb3JtYW5jZURhdGFUYWJsZVBlaS9GaXJtd2ENCj4gcmVQZXJmb3JtYW5j ZVBlaS5pbmZ7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IFRpbWVyTGlifCQoUExB VEZPUk1fUEFDS0FHRSkvTGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEFjDQo+ IHBpVGltZXJMaWIuaW5mDQo+ICsgIH0NCj4gKw0KPiArIWVuZGlmDQo+ICshaWYgJChQRVJGT1JN QU5DRV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1JlcG9y dFN0YXR1c0NvZGVSb3V0ZXIvUGVpL1JlcG9ydFN0YXR1c0NvZGUNCj4gUm91dGVyUGVpLmluZg0K PiArIWVuZGlmDQo+ICtbQ29tcG9uZW50cy5YNjRdDQo+ICsgICFpZiAkKE1JTk5PVzJfRlNQX0JV SUxEKSA9PSBUUlVFDQo+ICsgIEludGVsRnNwV3JhcHBlclBrZy9Gc3BOb3RpZnlEeGUvRnNwTm90 aWZ5RHhlLmluZiB7DQo+ICsgICAgIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiArICAgIDxQY2Rz UGF0Y2hhYmxlSW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNk RGVidWdQcmludEVycm9yTGV2ZWx8MHg4MDAwMDA0Ng0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4N Cj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jh c2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArICAgICFlbmRpZg0KPiArICB9DQo+ICsN Cj4gKyAgIWVuZGlmDQo+ICsgICMNCj4gKyAgIyBFREsgSUkgUmVsYXRlZCBQbGF0Zm9ybSBjb2Rl cw0KPiArICAjDQo+ICsgIE1kZU1vZHVsZVBrZy9Db3JlL0R4ZS9EeGVNYWluLmluZiB7DQo+ICsg ICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAgIGdFZmlNZGVQa2dUb2tlblNwYWNl R3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweDgwMDAwMDQ2DQo+ICsgICAgPExpYnJhcnlD bGFzc2VzPg0KPiArIWlmICQoRFhFX0NSQzMyX1NFQ1RJT05fRU5BQkxFKSA9PSBUUlVFDQo+ICsN Cj4gTlVMTHxNZGVNb2R1bGVQa2cvTGlicmFyeS9EeGVDcmMzMkd1aWRlZFNlY3Rpb25FeHRyYWN0 TGliL0R4ZUNyYzMyRw0KPiB1aWRlZFNlY3Rpb25FeHRyYWN0TGliLmluZg0KPiArIWVuZGlmDQo+ ICshaWYgJChMWk1BX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IE5VTEx8TWRlTW9kdWxlUGtnL0xp YnJhcnkvTHptYUN1c3RvbURlY29tcHJlc3NMaWIvTHptYUN1c3RvbURlYw0KPiBvbXByZXNzTGli LmluZg0KPiArIWVuZGlmDQo+ICshaWYgJChUQVJHRVQpICE9IFJFTEVBU0UNCj4gKw0KPiBEZWJ1 Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VEZWJ1Z0xpYlNl cmlhbFBvcnQuDQo+IGluZg0KPiArIWVuZGlmDQo+ICsgIH0NCj4gKw0KPiBJbnRlbEZyYW1ld29y a01vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9BY3BpUzNTYXZlRHhlL0FjcGlTM1NhdmVEeGUuaQ0K PiBuZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAgICAgZ0VmaU1k ZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVsfDB4RjAwMDAwNDMNCj4g KyAgICA8UGNkc0ZpeGVkQXRCdWlsZD4NCj4gKyAgICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VH dWlkLlBjZERlYnVnUHJvcGVydHlNYXNrfDB4MjcNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ ICsgICAgIWlmICQoVEFSR0VUKSAhPSBSRUxFQVNFDQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xp YnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9CYXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBp bmYNCj4gKyAgICAhZW5kaWYNCj4gKyAgICAgICA8QnVpbGRPcHRpb25zPg0KPiArICAgICAgICBJ Q0M6Kl8qXypfQ0NfRkxBR1MgPSAvRCBNREVQS0dfTkRFQlVHDQo+ICsgICAgICAgIEdDQzoqXypf Kl9DQ19GTEFHUyA9IC1EIE1ERVBLR19OREVCVUcNCj4gKyAgfQ0KPiArICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL1BDRC9EeGUvUGNkLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiAr ICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VQY2RMaWJOdWxsL0Jhc2VQY2RMaWJOdWxs LmluZg0KPiArICB9DQo+ICsgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9DcHVJ b0R4ZS9DcHVJb0R4ZS5pbmYNCj4gKyAgVWVmaUNwdVBrZy9DcHVJbzJEeGUvQ3B1SW8yRHhlLmlu Zg0KPiArDQo+ICsNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9SZXBvcnRTdGF0dXNDb2RlUm91 dGVyL1J1bnRpbWVEeGUvUmVwb3J0U3QNCj4gYXR1c0NvZGVSb3V0ZXJSdW50aW1lRHhlLmluZg0K PiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvU3RhdHVzQ29kZUhhbmRsZXIvUnVudGltZUR4 ZS9TdGF0dXNDb2RlSGFuDQo+IGRsZXJSdW50aW1lRHhlLmluZiAgew0KPiArICAgIDxMaWJyYXJ5 Q2xhc3Nlcz4NCj4gKyFpZiAkKFRBUkdFVCkgIT0gUkVMRUFTRQ0KPiArDQo+IERlYnVnTGlifE1k ZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURlYnVnTGliU2VyaWFsUG9y dC4NCj4gaW5mDQo+ICshZW5kaWYNCj4gKyAgfQ0KPiArDQo+ICshaWYgJChDQVBTVUxFX0VOQUJM RSkgPT0gVFJVRQ0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NhcHN1bGVQZWkvQ2Fwc3Vs ZVg2NC5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIFBjZExpYnxNZGVQ a2cvTGlicmFyeS9QZWlQY2RMaWIvUGVpUGNkTGliLmluZg0KPiArDQo+IE1lbW9yeUFsbG9jYXRp b25MaWJ8TWRlUGtnL0xpYnJhcnkvUGVpTWVtb3J5QWxsb2NhdGlvbkxpYi9QZWlNZW1vcnkNCj4g QWxsb2NhdGlvbkxpYi5pbmYNCj4gKyAgICAgIEhvYkxpYnxNZGVQa2cvTGlicmFyeS9QZWlIb2JM aWIvUGVpSG9iTGliLmluZg0KPiArDQo+IENwdUV4Y2VwdGlvbkhhbmRsZXJMaWJ8VWVmaUNwdVBr Zy9MaWJyYXJ5L0NwdUV4Y2VwdGlvbkhhbmRsZXJMaWIvU2VjUA0KPiBlaUNwdUV4Y2VwdGlvbkhh bmRsZXJMaWIuaW5mDQo+ICshaWYgJChTT1VSQ0VfREVCVUdfRU5BQkxFKSA9PSBUUlVFDQo+ICsN Cj4gRGVidWdBZ2VudExpYnxTb3VyY2VMZXZlbERlYnVnUGtnL0xpYnJhcnkvRGVidWdBZ2VudC9T ZWNQZWlEZWJ1Z0FnDQo+IGVudExpYi5pbmYNCj4gKyFlbmRpZg0KPiArICB9DQo+ICshZW5kaWYN Cj4gKw0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvUmVwb3J0U3RhdHVzQ29kZVJvdXRl ci9TbW0vUmVwb3J0U3RhdHVzQ29kDQo+IGVSb3V0ZXJTbW0uaW5mDQo+ICsgIE1kZU1vZHVsZVBr Zy9Vbml2ZXJzYWwvU2VjdXJpdHlTdHViRHhlL1NlY3VyaXR5U3R1YkR4ZS5pbmZ7DQo+ICsgICAg PExpYnJhcnlDbGFzc2VzPg0KPiArIWlmICQoU0VDVVJFX0JPT1RfRU5BQkxFKSA9PSBUUlVFDQo+ ICsNCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4ZUltYWdlVmVyaWZpY2F0aW9uTGliL0R4 ZUltYWdlVmVyaWZpY2F0aW9uTGliDQo+IC5pbmYNCj4gKyFlbmRpZg0KPiArIWlmICQoVVNFUl9J REVOVElGSUNBVElPTl9FTkFCTEUpDQo+ICsNCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0R4 ZURlZmVySW1hZ2VMb2FkTGliL0R4ZURlZmVySW1hZ2VMb2FkTGliLmluDQo+IGYNCj4gKyFlbmRp Zg0KPiArIWlmICQoVFBNX0VOQUJMRUQpID09IFRSVUUNCj4gKw0KPiBOVUxMfFNlY3VyaXR5UGtn L0xpYnJhcnkvRHhlVHBtTWVhc3VyZUJvb3RMaWIvRHhlVHBtTWVhc3VyZUJvb3RMaQ0KPiBiLmlu Zg0KPiArIWVuZGlmDQo+ICshaWYgJChGVFBNX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IE5VTEx8 U2VjdXJpdHlQa2cvTGlicmFyeS9EeGVUcG0yTWVhc3VyZUJvb3RMaWIvRHhlVHBtMk1lYXN1cmVC b290DQo+IExpYi5pbmYNCj4gKyFlbmRpZg0KPiArICB9DQo+ICsNCj4gJChQTEFURk9STV9CSU5B UllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElU RUNUVVJFKS9NcENwdS5pbmYNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9NZXRyb25vbWUvTWV0 cm9ub21lLmluZg0KPiArDQo+ICsgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9C ZHNEeGUvQmRzRHhlLmluZnsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsgICAgICBPcGVu c3NsTGlifENyeXB0b1BrZy9MaWJyYXJ5L09wZW5zc2xMaWIvT3BlbnNzbExpYi5pbmYNCj4gKyAg ICAgIEludHJpbnNpY0xpYnxDcnlwdG9Qa2cvTGlicmFyeS9JbnRyaW5zaWNMaWIvSW50cmluc2lj TGliLmluZg0KPiArICAgICAgQmFzZUNyeXB0TGlifENyeXB0b1BrZy9MaWJyYXJ5L0Jhc2VDcnlw dExpYi9CYXNlQ3J5cHRMaWIuaW5mDQo+ICsNCj4gUGxhdGZvcm1CZHNMaWJ8JChQTEFURk9STV9Q QUNLQUdFKS9MaWJyYXJ5L1BsYXRmb3JtQmRzTGliL1BsYXRmb3JtQg0KPiBkc0xpYi5pbmYNCj4g Kw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQb3J0L0Jhc2VE ZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5 L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsNCj4gU2VyaWFsUG9ydExpYnwkKFBMQVRGT1JN X1BBQ0tBR0UpL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9TZXJpYWxQb3J0TGliLmluZg0KPiArICAg ICFpZiAkKEZUUE1fRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gVHBtMkRldmljZUxpYnxWbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJTZUNEeGUvVHBtMkRldmkNCj4gY2VMaWJT ZUMuaW5mDQo+ICsgICAgIWVsc2UNCj4gKw0KPiBUcG0yRGV2aWNlTGlifFNlY3VyaXR5UGtnL0xp YnJhcnkvVHBtMkRldmljZUxpYlRjZzIvVHBtMkRldmljZUxpYlRjZzINCj4gLmluZg0KPiArICAg ICFlbmRpZg0KPiArICB9DQo+ICsNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9VaUFwcC9VaUFw cC5pbmYNCj4gKw0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1dhdGNoZG9nVGltZXJEeGUv V2F0Y2hkb2dUaW1lci5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL0NvcmUvUnVudGltZUR4ZS9SdW50 aW1lRHhlLmluZg0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvRmF1bHRUb2xlcmFudFdy aXRlRHhlL0ZhdWx0VG9sZXJhbnRXcml0ZUR4ZS5pbg0KPiBmDQo+ICsNCj4gTWRlTW9kdWxlUGtn L1VuaXZlcnNhbC9WYXJpYWJsZS9SdW50aW1lRHhlL1ZhcmlhYmxlU21tUnVudGltZUR4ZS5pDQo+ IG5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvVmFyaWFibGUvUnVudGltZUR4ZS9WYXJp YWJsZVNtbS5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIE5VTEx8TWRl TW9kdWxlUGtnL0xpYnJhcnkvVmFyQ2hlY2tVZWZpTGliL1ZhckNoZWNrVWVmaUxpYi5pbmYNCj4g Kw0KPiBTZXJpYWxQb3J0TGlifCQoUExBVEZPUk1fUEFDS0FHRSkvTGlicmFyeS9TZXJpYWxQb3J0 TGliL1NlcmlhbFBvcnRMaWIuaW5mDQo+ICsgIH0NCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9G dmJSdW50aW1lRHhlL0Z2YlNtbS5pbmYNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Zh dWx0VG9sZXJhbnRXcml0ZUR4ZS9GYXVsdFRvbGVyYW50V3JpdGVTbW0uaQ0KPiBuZg0KPiArDQo+ ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkv JChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvUGNoU3BpU21tLmluZg0KPiArIWlmICQoU0VDVVJFX0JP T1RfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gU2VjdXJpdHlQa2cvVmFyaWFibGVBdXRoZW50aWNh dGVkL1NlY3VyZUJvb3RDb25maWdEeGUvU2VjdXJlQm9vdENvbmZpDQo+IGdEeGUuaW5mIHsNCj4g KyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICsNCj4gUGxhdGZvcm1TZWN1cmVMaWJ8U2VjdXJpdHlQ a2cvTGlicmFyeS9QbGF0Zm9ybVNlY3VyZUxpYk51bGwvUGxhdGZvcm1TZWN1DQo+IHJlTGliTnVs bC5pbmYNCj4gKyAgICA8QnVpbGRPcHRpb25zPg0KPiArICAgICAgIw0KPiArICAgICAgIyBTcGVj aWZ5IEdVSUQgZ0VmaUlmckJvb3RNYWludGVuYW5jZUd1aWQsIHRvIGluc3RhbGwgU2VjdXJlIEJv b3QNCj4gQ29uZmlndXJhdGlvbiBtZW51DQo+ICsgICAgICAjIGludG8gQm9vdCBNYWludGVuYW5j ZSBNYW5hZ2VyIG1lbnUNCj4gKyAgICAgICMNCj4gKyAgICAgICpfKl8qX1ZGUl9GTEFHUyAgID0g LWcgYjJkZWRjOTEtZDU5Zi00OGQyLTg5OGEtMTI0OTBjNzRhNGUwDQo+ICsgIH0NCj4gKyFlbmRp Zg0KPiArICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9DYXBzdWxlUnVudGltZUR4ZS9DYXBzdWxl UnVudGltZUR4ZS5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKyAgICAgIEZpbGVI YW5kbGVMaWJ8TWRlUGtnL0xpYnJhcnkvVWVmaUZpbGVIYW5kbGVMaWIvVWVmaUZpbGVIYW5kbGVM aWIuaW5mDQo+ICsgIH0NCj4gKw0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvTW9ub3Rv bmljQ291bnRlclJ1bnRpbWVEeGUvTW9ub3RvbmljQ291bg0KPiB0ZXJSdW50aW1lRHhlLmluZg0K PiArDQo+IFBjQXRDaGlwc2V0UGtnL1BjYXRSZWFsVGltZUNsb2NrUnVudGltZUR4ZS9QY2F0UmVh bFRpbWVDbG9ja1J1bnRpbWUNCj4gRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2Fs L0RldmljZVBhdGhEeGUvRGV2aWNlUGF0aER4ZS5pbmYNCj4gKw0KPiArICAkKFBMQVRGT1JNX1BB Q0tBR0UpL0Z2YlJ1bnRpbWVEeGUvRnZiUnVudGltZUR4ZS5pbmYNCj4gKw0KPiArICAkKFBMQVRG T1JNX1BBQ0tBR0UpL1BsYXRmb3JtU2V0dXBEeGUvUGxhdGZvcm1TZXR1cER4ZS5pbmYNCj4gKw0K PiArIWlmICQoREFUQUhVQl9FTkFCTEUpID09IFRSVUUNCj4gKyAgSW50ZWxGcmFtZXdvcmtNb2R1 bGVQa2cvVW5pdmVyc2FsL0RhdGFIdWJEeGUvRGF0YUh1YkR4ZS5pbmYgew0KPiArICAgIDxQY2Rz Rml4ZWRBdEJ1aWxkPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZE1heGlt dW1MaW5rZWRMaXN0TGVuZ3RofDANCj4gKyAgfQ0KPiArIWVuZGlmDQo+ICsNCj4gSW50ZWxGcmFt ZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL1N0YXR1c0NvZGUvRGF0YWh1YlN0YXR1c0NvZGVIYW5k bA0KPiBlckR4ZS9EYXRhaHViU3RhdHVzQ29kZUhhbmRsZXJEeGUuaW5mDQo+ICsNCj4gTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9NZW1vcnlUZXN0L051bGxNZW1vcnlUZXN0RHhlL051bGxNZW1vcnlU DQo+IGVzdER4ZS5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9B UkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1BjaFMzU3VwcG9y dER4ZS5pbmYNCj4gKyAgIWlmICQoVVNFX0hQRVRfVElNRVIpID09IFRSVUUNCj4gKyAgICBQY0F0 Q2hpcHNldFBrZy9IcGV0VGltZXJEeGUvSHBldFRpbWVyRHhlLmluZg0KPiArICAhZWxzZQ0KPiAr DQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdF VCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvU21hcnRUaW1lci5pbmYNCj4gKyAgIWVuZGlmDQo+ ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFS R0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9TbW1Db250cm9sLmluZg0KPiArDQo+ICsNCj4g JChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8k KERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hTbWJ1c0R4ZS5pbmYNCj4gKw0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBB UkNISVRFQ1RVUkUpL0ludGVsUGNoTGVnYWN5SW50ZXJydXB0LmluZg0KPiArDQo+ICQoUExBVEZP Uk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+ IEFSQ0hJVEVDVFVSRSkvUGNoUmVzZXQuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFD S0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJF KS9QY2hJbml0RHhlLmluZnsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxlPg0KPiArICAg ICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcmludEVycm9yTGV2ZWx8MHhG MDAwMDA0Mw0KPiArICB9DQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVf QVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hJbml0U21t LmluZg0KPiArDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElU RUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2hTbWlEaXNwYXRjaGVy LmluZg0KPiArDQo+ICshaWYgJChQQ0lFU0NfRU5BQkxFKSA9PSBUUlVFDQo+ICsNCj4gJChQTEFU Rk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8N Cj4gQVJDSElURUNUVVJFKS9QY2hQY2llU21tLmluZg0KPiArIWVuZGlmDQo+ICsNCj4gJChQTEFU Rk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8N Cj4gQVJDSElURUNUVVJFKS9QY2hTcGlSdW50aW1lLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklO QVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJ VEVDVFVSRSkvUGNoUG9saWN5SW5pdER4ZS5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9Q QUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RV UkUpL1BjaEJpb3NXcml0ZVByb3RlY3QuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFD S0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJF KS9TbW1BY2Nlc3MuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVf QVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QY2lIb3N0QnJp ZGdlLmluZg0KPiArDQo+ICQoUExBVEZPUk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVD VFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+IEFSQ0hJVEVDVFVSRSkvVmx2SW5pdER4ZS5pbmYNCj4g Kw0KPiArDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL1VuaXZlcnNhbC9MZWdhY3lSZWdpb25E eGUvTGVnYWN5UmVnaW9uRHhlLmkNCj4gbmYNCj4gKw0KPiArICAjDQo+ICsgICMgUGVyZm9ybWFu Y2UgQXBwbGljYXRpb247IFNldCBQRVJGT1JNQU5DRV9FTkFCTEU9VFJVRSBmb3Igbm9ybWFsDQo+ IGJvb3QgcGVyZm9ybWFuY2UgYW5kIHNtbSBwZXJmb3JtYW5jZSBkYXRhDQo+ICsgICMNCj4gKyFp ZiAkKFBFUkZPUk1BTkNFX0VOQUJMRSkgPT0gVFJVRQ0KPiArDQo+IFNoZWxsUGtnL0R5bmFtaWND b21tYW5kL0RwRHluYW1pY0NvbW1hbmQvRHBEeW5hbWljQ29tbWFuZC5pbmYNCj4gew0KPiArICAg IDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiArICAgICAgZ0VmaVNoZWxsUGtnVG9rZW5TcGFjZUd1aWQu UGNkU2hlbGxMaWJBdXRvSW5pdGlhbGl6ZXxGQUxTRQ0KPiArICB9DQo+ICshZW5kaWYNCj4gKw0K PiArICBWbHYyVGJsdERldmljZVBrZy9WbHZQbGF0Zm9ybUluaXREeGUvVmx2UGxhdGZvcm1Jbml0 RHhlLmluZnsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+DQo+ICshaWYgJChUQVJHRVQpICE9IFJF TEVBU0UNCj4gKw0KPiBEZWJ1Z0xpYnxNZGVQa2cvTGlicmFyeS9CYXNlRGVidWdMaWJTZXJpYWxQ b3J0L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQuDQo+IGluZg0KPiArIWVuZGlmDQo+ICsgICAgICBQ Y2RMaWJ8TWRlUGtnL0xpYnJhcnkvRHhlUGNkTGliL0R4ZVBjZExpYi5pbmYNCj4gKyAgfQ0KPiAr DQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQo VEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9EcHRmLmluZg0KPiArDQo+ICQoUExBVEZP Uk1fQklOQVJZX1BBQ0tBR0UpLyQoRFhFX0FSQ0hJVEVDVFVSRSkkKFRBUkdFVCkvJChEWEVfDQo+ IEFSQ0hJVEVDVFVSRSkvUG5wRHhlLmluZg0KPiArDQo+ICshaWYgJChTRUNfRU5BQkxFKSA9PSBU UlVFDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJF KSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9IZWNpRHJ2LmluZiB7DQo+ICshaWYg JChTRUNfREVCVUdfSU5GT19FTkFCTEUpID09IFRSVUUNCj4gKyAgICA8QnVpbGRPcHRpb25zPg0K PiArICAgICAgKl8qX1g2NF9DQ19GTEFHUyAgICAgID0gL0RTRUNfREVCVUdfSU5GTz0xDQo+ICsh ZWxzZQ0KPiArICAgIDxCdWlsZE9wdGlvbnM+DQo+ICsgICAgICAqXypfWDY0X0NDX0ZMQUdTICAg ICAgPSAvRFNFQ19ERUJVR19JTkZPPTANCj4gKyFlbmRpZg0KPiArICB9DQo+ICsNCj4gKw0KPiAk KFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQo RFhFXw0KPiBBUkNISVRFQ1RVUkUpL1NlQ1BvbGljeUluaXREeGUuaW5mDQo+ICshZW5kaWYNCj4g Kw0KPiArIWlmICQoRlRQTV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFS WV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRF Q1RVUkUpL1RwbTJEZXZpY2VTZUNEeGUuaW5mDQo+ICsgIFNlY3VyaXR5UGtnL1RjZy9NZW1vcnlP dmVyd3JpdGVDb250cm9sL1RjZ01vci5pbmYNCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1RjZzJEeGUv VGNnMkR4ZS5pbmZ7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IE5VTEx8U2VjdXJp dHlQa2cvTGlicmFyeS9IYXNoSW5zdGFuY2VMaWJTaGExL0hhc2hJbnN0YW5jZUxpYlNoYTEuaW5m DQo+ICsNCj4gTlVMTHxTZWN1cml0eVBrZy9MaWJyYXJ5L0hhc2hJbnN0YW5jZUxpYlNoYTI1Ni9I YXNoSW5zdGFuY2VMaWJTaGEyNTYuaW4NCj4gZg0KPiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJy YXJ5XER4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsNCj4gVHBtMkRldmljZUxpYnxWbHYyVGJs dERldmljZVBrZy9MaWJyYXJ5L1RwbTJEZXZpY2VMaWJTZUNEeGUvVHBtMkRldmkNCj4gY2VMaWJT ZUMuaW5mDQo+ICsgIH0NCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9B UkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL0Z0cG1TbW0uaW5m DQo+ICshZW5kaWYNCj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBUUlVFDQo+ICsgIFNlY3VyaXR5 UGtnL1RjZy9UY2cyQ29uZmlnL1RjZzJDb25maWdQZWkuaW5mIHsNCj4gKyAgICA8TGlicmFyeUNs YXNzZXM+DQo+ICsgICAgICBQY2RMaWJ8TWRlUGtnL0xpYnJhcnkvUGVpUGNkTGliL1BlaVBjZExp Yi5pbmYNCj4gKyAgfQ0KPiArDQo+ICsgIFNlY3VyaXR5UGtnL1RjZy9UY2dDb25maWdEeGUvVGNn Q29uZmlnRHhlLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0KPiArICAgICAgUGNkTGli fE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsgICAgPEJ1aWxkT3B0 aW9ucz4NCj4gKyAgICAgICMNCj4gKyAgICAgICMgc3BlY2lmeSBHVUlEIGdFZmlJZnJOb3RJblRQ VlBhZ2VHdWlkLCB0aGlzIHBhZ2Ugd2lsbCBub3QNCj4gKyAgICAgICMgYmUgc2hvd2VkIGluIFRQ ViBwYWdlLg0KPiArICAgICAgIw0KPiArICAgICAgKl8qXypfVkZSX0ZMQUdTICAgPSAtZyBlNTg4 MDlmOC1mYmMxLTQ4ZTItODgzYS1hMzBmZGM0YjQ0MWUNCj4gKyAgfQ0KPiArDQo+ICsgIFNlY3Vy aXR5UGtnL1RjZy9UY2dEeGUvVGNnRHhlLmluZiB7DQo+ICsgICAgPExpYnJhcnlDbGFzc2VzPg0K PiArICAgICAgUGNkTGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ ICsgIH0NCj4gKyAgU2VjdXJpdHlQa2cvVGNnL1RjZ1NtbS9UY2dTbW0uaW5mDQo+ICshZW5kaWYN Cj4gKyAgIw0KPiArICAjIEVESyBJSSBSZWxhdGVkIFBsYXRmb3JtIGNvZGVzDQo+ICsgICMNCj4g KyAgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybVNtbS9QbGF0Zm9ybVNtbS5pbmZ7DQo+ICsg ICAgPExpYnJhcnlDbGFzc2VzPg0KPiArICAgICFpZiAkKFRBUkdFVCkgIT0gUkVMRUFTRQ0KPiAr DQo+IERlYnVnTGlifE1kZVBrZy9MaWJyYXJ5L0Jhc2VEZWJ1Z0xpYlNlcmlhbFBvcnQvQmFzZURl YnVnTGliU2VyaWFsUG9ydC4NCj4gaW5mDQo+ICsgICAgIWVuZGlmDQo+ICsgICAgICAgICAgUGNk TGlifE1kZVBrZy9MaWJyYXJ5L0R4ZVBjZExpYi9EeGVQY2RMaWIuaW5mDQo+ICsgIH0NCj4gKyAg JChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUluZm9EeGUvUGxhdGZvcm1JbmZvRHhlLmluZg0K PiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL1BsYXRmb3JtQ3B1SW5mb0R4ZS9QbGF0Zm9ybUNwdUlu Zm9EeGUuaW5mDQo+ICsgICQoUExBVEZPUk1fUEFDS0FHRSkvUGxhdGZvcm1EeGUvUGxhdGZvcm1E eGUuaW5mDQo+ICsNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9QY2lQbGF0Zm9ybS9QY2lQbGF0 Zm9ybS5pbmYNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9TYXZlTWVtb3J5Q29uZmlnL1NhdmVN ZW1vcnlDb25maWcuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVf QVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9QbGF0Zm9ybUNw dVBvbGljeS5pbmYNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9QcG1Qb2xpY3kvUHBtUG9saWN5 LmluZg0KPiArDQo+ICQoUExBVEZPUk1fUEFDS0FHRSkvU21yYW1TYXZlSW5mb0hhbmRsZXJTbW0v U21yYW1TYXZlSW5mb0hhbmQNCj4gbGVyU21tLmluZg0KPiArIWlmICQoR09QX0RSSVZFUl9FTkFC TEUpID09IFRSVUUNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9QbGF0Zm9ybUdvcFBvbGljeS9Q bGF0Zm9ybUdvcFBvbGljeS5pbmYNCj4gKw0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiArICAjDQo+ ICsgICMgU01NDQo+ICsgICMNCj4gKyAgTWRlTW9kdWxlUGtnL0NvcmUvUGlTbW1Db3JlL1BpU21t SXBsLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQ29yZS9QaVNtbUNvcmUvUGlTbW1Db3JlLmluZg0K PiArICBVZWZpQ3B1UGtnL0NwdUR4ZS9DcHVEeGUuaW5mDQo+ICsgIFVlZmlDcHVQa2cvUGlTbW1D cHVEeGVTbW0vUGlTbW1DcHVEeGVTbW0uaW5mDQo+ICsgIFVlZmlDcHVQa2cvQ3B1SW8yU21tL0Nw dUlvMlNtbS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9Mb2NrQm94L1NtbUxvY2tC b3gvU21tTG9ja0JveC5pbmYNCj4gKyAgVWVmaUNwdVBrZy9QaVNtbUNvbW11bmljYXRpb24vUGlT bW1Db21tdW5pY2F0aW9uU21tLmluZg0KPiArDQo+ICQoUExBVEZPUk1fUEFDS0FHRSkvU21tU3dE aXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaHVuay9TbW1TDQo+IHdEaXNwYXRjaDJPblNtbVN3RGlz cGF0Y2hUaHVuay5pbmYNCj4gKw0KPiAkKFBMQVRGT1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9B UkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNISVRFQ1RVUkUpL1Bvd2VyTWFuYWdl bWVudDIuaW5mDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElU RUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9EaWdpdGFsVGhlcm1hbFNl bnNvci5pbmYNCj4gKw0KPiArICAjDQo+ICsgICMgQUNQSQ0KPiArICAjDQo+ICsNCj4gTWRlTW9k dWxlUGtnL1VuaXZlcnNhbC9BY3BpL0Jvb3RTY3JpcHRFeGVjdXRvckR4ZS9Cb290U2NyaXB0RXhl Y3V0b3INCj4gRHhlLmluZiB7DQo+ICsgICAgPFBjZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAg ICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweEYw MDAwMDQzDQo+ICsgICAgPFBjZHNGaXhlZEF0QnVpbGQ+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9r ZW5TcGFjZUd1aWQuUGNkRGVidWdQcm9wZXJ0eU1hc2t8MHgyNw0KPiArICAgIDxMaWJyYXJ5Q2xh c3Nlcz4NCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGlicmFyeS9EeGVQY2RMaWIvRHhlUGNkTGli LmluZg0KPiArICB9DQo+ICsNCj4gKyAgJChQTEFURk9STV9QQUNLQUdFKS9Cb290U2NyaXB0U2F2 ZUR4ZS9Cb290U2NyaXB0U2F2ZUR4ZS5pbmYNCj4gKw0KPiBJbnRlbEZyYW1ld29ya01vZHVsZVBr Zy9Vbml2ZXJzYWwvQWNwaS9BY3BpU3VwcG9ydER4ZS9BY3BpU3VwcG9ydER4DQo+IGUuaW5mDQo+ ICsNCj4gVmx2MkRldmljZVJlZkNvZGVQa2cvVmFsbGV5VmlldzJTb2MvQ1BVL1Bvd2VyTWFuYWdl bWVudC9BY3BpVGFibGUNCj4gcy9Qb3dlck1hbmFnZW1lbnRBY3BpVGFibGVzLmluZg0KPiArDQo+ ICsgICQoUExBVEZPUk1fUkNfUEFDS0FHRSkvQWNwaVRhYmxlc1BDQVQvQWNwaVRhYmxlcy5pbmYN Cj4gKw0KPiArICAkKFBMQVRGT1JNX1BBQ0tBR0UpL0FjcGlQbGF0Zm9ybS9BY3BpUGxhdGZvcm0u aW5mDQo+ICsNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkvQm9vdEdyYXBoaWNz UmVzb3VyY2VUYWJsZUR4ZS9Cb290R3JhcGgNCj4gaWNzUmVzb3VyY2VUYWJsZUR4ZS5pbmYNCj4g Kw0KPiArICAjDQo+ICsgICMgUENJDQo+ICsgICMNCj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9QY2kv UGNpQnVzRHhlL1BjaUJ1c0R4ZS5pbmYNCj4gKw0KPiArDQo+ICsNCj4gJChQTEFURk9STV9CSU5B UllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElU RUNUVVJFKS9JU1BEeGUuaW5mDQo+ICsNCj4gKw0KPiArIw0KPiArIyBJU0ENCj4gKyMNCj4gKyAg JChQTEFURk9STV9QQUNLQUdFKS9XcGNlNzkxL1dwY2U3OTEuaW5mDQo+ICsgIEludGVsRnJhbWV3 b3JrTW9kdWxlUGtnL0J1cy9Jc2EvSXNhQnVzRHhlL0lzYUJ1c0R4ZS5pbmYNCj4gKyAgSW50ZWxG cmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9Jc2FJb0R4ZS9Jc2FJb0R4ZS5pbmYNCj4gKyAgSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQnVzL0lzYS9Jc2FTZXJpYWxEeGUvSXNhU2VyaWFsRHhlLmlu Zg0KPiArICBJbnRlbEZyYW1ld29ya01vZHVsZVBrZy9CdXMvSXNhL1BzMk1vdXNlRHhlL1BzMk1v dXNlRHhlLmluZg0KPiArDQo+IEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0J1cy9Jc2EvUHMyS2V5 Ym9hcmREeGUvUHMya2V5Ym9hcmREeGUuaW5mDQo+ICsjDQo+ICsjIFNESU8NCj4gKyMNCj4gKyMN Cj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQoVEFSR0VU KS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9NbWNIb3N0LmluZg0KPiArIw0KPiAkKFBMQVRGT1JN X0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBB UkNISVRFQ1RVUkUpL01tY01lZGlhRGV2aWNlLmluZg0KPiArIWlmICQoQUNQSTUwX0VOQUJMRSkg PT0gVFJVRQ0KPiArDQo+IE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQWNwaS9GaXJtd2FyZVBlcmZv cm1hbmNlRGF0YVRhYmxlRHhlL0Zpcm13DQo+IGFyZVBlcmZvcm1hbmNlRHhlLmluZiB7DQo+ICsg ICAgPExpYnJhcnlDbGFzc2VzPg0KPiArDQo+IFRpbWVyTGlifCQoUExBVEZPUk1fUEFDS0FHRSkv TGlicmFyeS9JbnRlbFBjaEFjcGlUaW1lckxpYi9JbnRlbFBjaEFjDQo+IHBpVGltZXJMaWIuaW5m DQo+ICsgIH0NCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0FjcGkvRmlybXdhcmVQZXJm b3JtYW5jZURhdGFUYWJsZVNtbS9GaXJtDQo+IHdhcmVQZXJmb3JtYW5jZVNtbS5pbmYgew0KPiAr ICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKw0KPiBUaW1lckxpYnwkKFBMQVRGT1JNX1BBQ0tBR0Up L0xpYnJhcnkvSW50ZWxQY2hBY3BpVGltZXJMaWIvSW50ZWxQY2hBYw0KPiBwaVRpbWVyTGliLmlu Zg0KPiArICB9DQo+ICshZW5kaWYNCj4gKw0KPiArIw0KPiArIyBJREUvU0NTSS9BSENJDQo+ICsj DQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvQXRhL0F0YUF0YXBpUGFzc1RocnUvQXRhQXRhcGlQYXNz VGhydS5pbmYNCj4gKyAgSW50ZWxGcmFtZXdvcmtNb2R1bGVQa2cvQnVzL1BjaS9JZGVCdXNEeGUv SWRlQnVzRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Rpc2svRGlza0lvRHhl L0Rpc2tJb0R4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNrL1BhcnRpdGlv bkR4ZS9QYXJ0aXRpb25EeGUuaW5mDQo+ICsNCj4gTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9EaXNr L1VuaWNvZGVDb2xsYXRpb24vRW5nbGlzaER4ZS9FbmdsaXNoRHhlLmluZg0KPiArICBGYXRQa2cv RW5oYW5jZWRGYXREeGUvRmF0LmluZg0KPiArICBTaGVsbFBrZy9BcHBsaWNhdGlvbi9TaGVsbC9T aGVsbC5pbmYgew0KPiArICAgIDxMaWJyYXJ5Q2xhc3Nlcz4NCj4gKw0KPiBTaGVsbENvbW1hbmRM aWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxDb21tYW5kTGliL1VlZmlTaGVsbENvbW1hDQo+ IG5kTGliLmluZg0KPiArDQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxMZXZlbDJD b21tYW5kc0xpYi9VZWZpU2hlbGxMZXZlbDJDb21tYQ0KPiBuZHNMaWIuaW5mDQo+ICsNCj4gTlVM THxTaGVsbFBrZy9MaWJyYXJ5L1VlZmlTaGVsbExldmVsMUNvbW1hbmRzTGliL1VlZmlTaGVsbExl dmVsMUNvbW1hDQo+IG5kc0xpYi5pbmYNCj4gKw0KPiBOVUxMfFNoZWxsUGtnL0xpYnJhcnkvVWVm aVNoZWxsTGV2ZWwzQ29tbWFuZHNMaWIvVWVmaVNoZWxsTGV2ZWwzQ29tbWENCj4gbmRzTGliLmlu Zg0KPiArDQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxEcml2ZXIxQ29tbWFuZHNM aWIvVWVmaVNoZWxsRHJpdmVyMUNvbQ0KPiBtYW5kc0xpYi5pbmYNCj4gKw0KPiBOVUxMfFNoZWxs UGtnL0xpYnJhcnkvVWVmaVNoZWxsRGVidWcxQ29tbWFuZHNMaWIvVWVmaVNoZWxsRGVidWcxQ29t DQo+IG1hbmRzTGliLmluZg0KPiArDQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxJ bnN0YWxsMUNvbW1hbmRzTGliL1VlZmlTaGVsbEluc3RhbGwxQ29tDQo+IG1hbmRzTGliLmluZg0K PiArDQo+IE5VTEx8U2hlbGxQa2cvTGlicmFyeS9VZWZpU2hlbGxOZXR3b3JrMUNvbW1hbmRzTGli L1VlZmlTaGVsbE5ldHdvcmsxDQo+IENvbW1hbmRzTGliLmluZg0KPiArDQo+IEhhbmRsZVBhcnNp bmdMaWJ8U2hlbGxQa2cvTGlicmFyeS9VZWZpSGFuZGxlUGFyc2luZ0xpYi9VZWZpSGFuZGxlUGFy c2luZ0wNCj4gaWIuaW5mDQo+ICsgICAgICBQcmludExpYnxNZGVQa2cvTGlicmFyeS9CYXNlUHJp bnRMaWIvQmFzZVByaW50TGliLmluZg0KPiArDQo+IEJjZmdDb21tYW5kTGlifFNoZWxsUGtnL0xp YnJhcnkvVWVmaVNoZWxsQmNmZ0NvbW1hbmRMaWIvVWVmaVNoZWxsQmNmZw0KPiBDb21tYW5kTGli LmluZg0KPiArICAgIDxQY2RzRml4ZWRBdEJ1aWxkPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZERlYnVnUHJvcGVydHlNYXNrfDB4RkYNCj4gKyAgICAgIGdFZmlTaGVsbFBr Z1Rva2VuU3BhY2VHdWlkLlBjZFNoZWxsTGliQXV0b0luaXRpYWxpemV8RkFMU0UNCj4gKyAgICAg IGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RVZWZpTGliTWF4UHJpbnRCdWZmZXJTaXplfDgw MDANCj4gKyAgfQ0KPiArIWlmICQoU0FUQV9FTkFCTEUpID09IFRSVUUNCj4gKw0KPiAkKFBMQVRG T1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0K PiBBUkNISVRFQ1RVUkUpL1NhdGFDb250cm9sbGVyLmluZg0KPiArIWVuZGlmDQo+ICsgIE1kZU1v ZHVsZVBrZy9CdXMvQXRhL0F0YUJ1c0R4ZS9BdGFCdXNEeGUuaW5mDQo+ICshaWYgJChTQ1NJX0VO QUJMRSkgPT0gVFJVRQ0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1Njc2kvU2NzaUJ1c0R4ZS9TY3Np QnVzRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1Njc2kvU2NzaURpc2tEeGUvU2NzaURp c2tEeGUuaW5mDQo+ICshZW5kaWYNCj4gKyMNCj4gKyMgQ29uc29sZQ0KPiArIw0KPiArICBNZGVN b2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvQ29uUGxhdGZvcm1EeGUvQ29uUGxhdGZvcm1EeGUu aW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvQ29uc29sZS9Db25TcGxpdHRlckR4ZS9D b25TcGxpdHRlckR4ZS5pbmYNCj4gKw0KPiBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUv R3JhcGhpY3NDb25zb2xlRHhlL0dyYXBoaWNzQ29uc29sZUQNCj4geGUuaW5mDQo+ICsNCj4gSW50 ZWxGcmFtZXdvcmtNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvVmdhQ2xhc3NEeGUvVmdhQ2xh c3NEeGUuaW4NCj4gZg0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0NvbnNvbGUvVGVybWlu YWxEeGUvVGVybWluYWxEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwvSGlpRGF0 YWJhc2VEeGUvSGlpRGF0YWJhc2VEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9Vbml2ZXJzYWwv RGlzcGxheUVuZ2luZUR4ZS9EaXNwbGF5RW5naW5lRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cv VW5pdmVyc2FsL1NldHVwQnJvd3NlckR4ZS9TZXR1cEJyb3dzZXJEeGUuaW5mDQo+ICsNCj4gKyAg Iw0KPiArICAjIFVTQg0KPiArICAjDQo+ICshaWYgJChVU0JfRU5BQkxFKSA9PSBUUlVFDQo+ICsg IE1kZU1vZHVsZVBrZy9CdXMvUGNpL0VoY2lEeGUvRWhjaUR4ZS5pbmYNCj4gKyAgTWRlTW9kdWxl UGtnL0J1cy9QY2kvVWhjaUR4ZS9VaGNpRHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1Bj aS9YaGNpRHhlL1hoY2lEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYkJ1c0R4 ZS9Vc2JCdXNEeGUuaW5mDQo+ICsgIE1kZU1vZHVsZVBrZy9CdXMvVXNiL1VzYktiRHhlL1VzYkti RHhlLmluZg0KPiArICBNZGVNb2R1bGVQa2cvQnVzL1VzYi9Vc2JNb3VzZUR4ZS9Vc2JNb3VzZUR4 ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL0J1cy9Vc2IvVXNiTWFzc1N0b3JhZ2VEeGUvVXNiTWFz c1N0b3JhZ2VEeGUuaW5mDQo+ICsNCj4gKyFlbmRpZg0KPiArDQo+ICsgICMNCj4gKyAgIyBTTUJJ T1MNCj4gKyAgIw0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL1NtYmlvc0R4ZS9TbWJpb3NE eGUuaW5mDQo+ICsgICQoUExBVEZPUk1fUEFDS0FHRSkvU21CaW9zTWlzY0R4ZS9TbUJpb3NNaXNj RHhlLmluZg0KPiArDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJD SElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9TbWJpb3NNZW1vcnku aW5mDQo+ICsgICMNCj4gKyAgIyBDUFUvRlcgTWljcm9kZQ0KPiArICAjDQo+ICsgIFZsdjJTb2NC aW5Qa2cvTWljcm9jb2RlL01pY3JvY29kZVVwZGF0ZXMuaW5mIHsNCj4gKyAgICA8QnVpbGRPcHRp b25zPg0KPiArICAgICAgKl8qXypfR0VORldfRkxBR1MgPSAtYSAweDgwMCAtcCAweEZGDQo+ICsg IH0NCj4gKw0KPiArDQo+ICsNCj4gKyFpZiAkKE5FVFdPUktfRU5BQkxFKSA9PSBUUlVFDQo+ICsg ICFpZiAkKE5FVFdPUktfSVNDU0lfRU5BQkxFKSA9PSBUUlVFDQo+ICsgICAgTmV0d29ya1BrZy9J U2NzaUR4ZS9JU2NzaUR4ZS5pbmYNCj4gKyAgIWVuZGlmDQo+ICsgICFpZiAkKE5FVFdPUktfVkxB Tl9FTkFCTEUpID09IFRSVUUNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsv VmxhbkNvbmZpZ0R4ZS9WbGFuQ29uZmlnRHhlLmluZg0KPiArICAhZW5kaWYNCj4gKyAgIWlmICQo Q1NNX0VOQUJMRSkgPT0gVFJVRQ0KPiArICAgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0NzbS9C aW9zVGh1bmsvU25wMTZEeGUvU25wMTZEeGUuaW5mDQo+ICsgICFlbmRpZg0KPiArIWVuZGlmDQo+ ICsNCj4gKyFpZiAkKE5FVFdPUktfRU5BQkxFKSA9PSBUUlVFDQo+ICsgICMNCj4gKyAgIyBVRUZJ IG5ldHdvcmsgbW9kdWxlcw0KPiArICAjDQo+ICsgICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9O ZXR3b3JrL0RwY0R4ZS9EcGNEeGUuaW5mDQo+ICsgICAgTWRlTW9kdWxlUGtnL1VuaXZlcnNhbC9O ZXR3b3JrL1NucER4ZS9TbnBEeGUuaW5mDQo+ICsNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL05ldHdvcmsvTW5wRHhlL01ucER4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL05ldHdvcmsvQXJwRHhlL0FycER4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVy c2FsL05ldHdvcmsvRGhjcDREeGUvRGhjcDREeGUuaW5mDQo+ICsgICAgTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9OZXR3b3JrL0lwNER4ZS9JcDREeGUuaW5mDQo+ICsgICAgTWRlTW9kdWxlUGtnL1Vu aXZlcnNhbC9OZXR3b3JrL010ZnRwNER4ZS9NdGZ0cDREeGUuaW5mDQo+ICsgICAgTmV0d29ya1Br Zy9VZWZpUHhlQmNEeGUvVWVmaVB4ZUJjRHhlLmluZg0KPiArICAgIE5ldHdvcmtQa2cvVGNwRHhl L1RjcER4ZS5pbmYNCj4gKyAgICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL05ldHdvcmsvVWRwNER4 ZS9VZHA0RHhlLmluZg0KPiArICAgICFpZiAkKE5FVFdPUktfSVA2X0VOQUJMRSkgPT0gVFJVRQ0K PiArICAgICAgTmV0d29ya1BrZy9JcDZEeGUvSXA2RHhlLmluZg0KPiArICAgICAgTmV0d29ya1Br Zy9EaGNwNkR4ZS9EaGNwNkR4ZS5pbmYNCj4gKyAgICAgIE5ldHdvcmtQa2cvVWRwNkR4ZS9VZHA2 RHhlLmluZg0KPiArICAgICAgTmV0d29ya1BrZy9NdGZ0cDZEeGUvTXRmdHA2RHhlLmluZg0KPiAr ICAgICFlbmRpZg0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKENBUFNVTEVfRU5BQkxFKSB8fCAk KE1JQ09DT0RFX0NBUFNVTEVfRU5BQkxFKQ0KPiArICBNZGVNb2R1bGVQa2cvVW5pdmVyc2FsL0Vz cnRGbXBEeGUvRXNydEZtcER4ZS5pbmYNCj4gKyAgTWRlTW9kdWxlUGtnL0FwcGxpY2F0aW9uL0Nh cHN1bGVBcHAvQ2Fwc3VsZUFwcC5pbmYNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChDQVBTVUxF X0VOQUJMRSkNCj4gKyAgIWluY2x1ZGUgVmx2MlRibHREZXZpY2VQa2cvRm1wTWlubm93TWF4U3lz dGVtLmRzYw0KPiArICAhaW5jbHVkZSBWbHYyVGJsdERldmljZVBrZy9GbXBHcmVlblNhbXBsZURl dmljZS5kc2MNCj4gKyAgIWluY2x1ZGUgVmx2MlRibHREZXZpY2VQa2cvRm1wQmx1ZVNhbXBsZURl dmljZS5kc2MNCj4gKyAgIWluY2x1ZGUgVmx2MlRibHREZXZpY2VQa2cvRm1wUmVkU2FtcGxlRGV2 aWNlLmRzYw0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKE1JQ09DT0RFX0NBUFNVTEVfRU5BQkxF KQ0KPiArDQo+IEludGVsU2lsaWNvblBrZy9GZWF0dXJlL0NhcHN1bGUvTWljcm9jb2RlVXBkYXRl RHhlL01pY3JvY29kZVVwZGF0ZUR4DQo+IGUuaW5mIHsNCj4gKyAgICA8TGlicmFyeUNsYXNzZXM+ DQo+ICsNCj4gRGVidWdMaWJ8TWRlUGtnL0xpYnJhcnkvQmFzZURlYnVnTGliU2VyaWFsUG9ydC9C YXNlRGVidWdMaWJTZXJpYWxQb3J0Lg0KPiBpbmYNCj4gKyAgICAgIFBjZExpYnxNZGVQa2cvTGli cmFyeS9EeGVQY2RMaWIvRHhlUGNkTGliLmluZg0KPiArDQo+IFNlcmlhbFBvcnRMaWJ8JChQTEFU Rk9STV9QQUNLQUdFKS9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExpYi5pbmYNCj4g KyAgfQ0KPiArIWVuZGlmDQo+ICsNCj4gK1tCdWlsZE9wdGlvbnNdDQo+ICsjDQo+ICsjIERlZmlu ZSBCdWlsZCBPcHRpb25zIGJvdGggZm9yIEVESyBhbmQgRURLSUkgZHJpdmVycy4NCj4gKyMNCj4g Kw0KPiArIw0KPiArIyBEZWZpbmUgdG9rZW4gZm9yIGRpZmZlcmVudCBQbGF0Zm9ybQ0KPiArIw0K PiArIWlmICQoTUlOTk9XMl9GU1BfQlVJTEQpID09IFRSVUUNCj4gKyAgREVGSU5FIE1JTk5PVzJf RlNQX09QVElPTiA9IC9ETUlOTk9XMl9GU1BfQlVJTEQNCj4gKyFlbHNlDQo+ICsgIERFRklORSBN SU5OT1cyX0ZTUF9PUFRJT04gPQ0KPiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKEVOQkRUX1BGX0JV SUxEKSA9PSBUUlVFDQo+ICsgIERFRklORSBFTkJEVF9QRl9FTkFCTEUgPSAvREVOQkRUX1BGX0VO QUJMRT0xDQo+ICshZWxzZQ0KPiArICBERUZJTkUgRU5CRFRfUEZfRU5BQkxFID0gL0RFTkJEVF9Q Rl9FTkFCTEU9MA0KPiArIWVuZGlmDQo+ICsNCj4gKw0KPiArIWlmICQoQ0xLR0VOX0NPTkZJR19F WFRSQV9FTkFCTEUpID09IFRSVUUNCj4gKyAgREVGSU5FIENMS0dFTl9DT05GSUdfRVhUUkFfQlVJ TERfT1BUSU9OID0NCj4gL0RDTEtHRU5fQ09ORklHX0VYVFJBPTENCj4gKyFlbHNlDQo+ICsgIERF RklORSBDTEtHRU5fQ09ORklHX0VYVFJBX0JVSUxEX09QVElPTiA9DQo+ICshZW5kaWYNCj4gKw0K PiArDQo+ICsNCj4gKyFpZiAkKFBDSUVTQ19FTkFCTEUpID09IFRSVUUNCj4gKyAgREVGSU5FIFBD SUVTQ19TVVBQT1JUX0JVSUxEX09QVElPTiA9IC9EUENJRVNDX1NVUFBPUlQ9MQ0KPiArIWVsc2UN Cj4gKyAgREVGSU5FIFBDSUVTQ19TVVBQT1JUX0JVSUxEX09QVElPTiA9DQo+ICshZW5kaWYNCj4g KyFpZiAkKFNBVEFfRU5BQkxFKSA9PSBUUlVFDQo+ICsgIERFRklORSBTQVRBX1NVUFBPUlRfQlVJ TERfT1BUSU9OID0gL0RTQVRBX1NVUFBPUlQ9MQ0KPiArIWVsc2UNCj4gKyAgREVGSU5FIFNBVEFf U1VQUE9SVF9CVUlMRF9PUFRJT04gPQ0KPiArIWVuZGlmDQo+ICshaWYgJChFTkJEVF9TM19TVVBQ T1JUKSA9PSBUUlVFDQo+ICsgIERFRklORSBFTkJEVF9TM19TVVBQT1JUX09QVElPTlMgPSAvRE5P Q1NfUzNfU1VQUE9SVA0KPiArIWVsc2UNCj4gKyAgREVGSU5FIEVOQkRUX1MzX1NVUFBPUlRfT1BU SU9OUyA9DQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQoWDY0X0NPTkZJRykgPT0gVFJVRQ0KPiAr ICBERUZJTkUgWDY0X0JVSUxEX0VOQUJMRSA9IC9EWDY0X0JVSUxEX0VOQUJMRT0xDQo+ICshZWxz ZQ0KPiArICBERUZJTkUgWDY0X0JVSUxEX0VOQUJMRSA9DQo+ICshZW5kaWYNCj4gKw0KPiArIWlm ICQoRlRQTV9FTkFCTEUpID09IFRSVUUNCj4gKyAgREVGSU5FIERTQ19GVFBNX0JVSUxEX09QVElP TlMgPSAvREZUUE1fRU5BQkxFDQo+ICshZWxzZQ0KPiArICBERUZJTkUgRFNDX0ZUUE1fQlVJTERf T1BUSU9OUyA9DQo+ICshZW5kaWYNCj4gKyFpZiAkKFRQTV9FTkFCTEVEKSA9PSBUUlVFDQo+ICsg IERFRklORSBEU0NfVFBNX0JVSUxEX09QVElPTlMgPSAvRFRQTV9FTkFCTEVEDQo+ICshZWxzZQ0K PiArICBERUZJTkUgRFNDX1RQTV9CVUlMRF9PUFRJT05TID0NCj4gKyFlbmRpZg0KPiArDQo+ICsN Cj4gKyAgREVGSU5FIEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJT05TID0NCj4gJChN SU5OT1cyX0ZTUF9PUFRJT04pICQoTUlOTk9XMl9CVUlMRF9PUFRJT04pDQo+ICQoRU5CRFRfUEZf RU5BQkxFKSAkKEVYVEVSTkFMX1ZHQV9CVUlMRF9PUFRJT04pDQo+ICQoUENJRV9FTlVNX1dBX0JV SUxEX09QVElPTikgJChYMF9XQV9FTkFCTEVfQlVJTERfT1BUSU9OKQ0KPiAkKEEwX1dBX0VOQUJM RV9CVUlMRF9PUFRJT04pICQoTUlDUk9DT0RFX0ZSRUVfQlVJTERfT1BUSU9OUykNCj4gJChTSU1J Q1NfQlVJTERfT1BUSU9OUykgJChIWUJSSURfQlVJTERfT1BUSU9OUykNCj4gJChDT01QQUNUX0JV SUxEX09QVElPTlMpICQoVlBfQlVJTERfT1BUSU9OUykNCj4gJChTWVNDVExfSURfQlVJTERfT1BU SU9OKSAkKENMS0dFTl9DT05GSUdfRVhUUkFfQlVJTERfT1BUSU9OKQ0KPiAkKFNZU0NUTF9YMF9D T05WRVJUX0JPQVJEX09QVElPTikgJChFTkJEVF9TM19TVVBQT1JUX09QVElPTlMpDQo+ICQoU0FU QV9TVVBQT1JUX0JVSUxEX09QVElPTikgJChQQ0lFU0NfU1VQUE9SVF9CVUlMRF9PUFRJT04pDQo+ ICQoRFNDX0ZUUE1fQlVJTERfT1BUSU9OUykgJChEU0NfRlRQTV9FUlJPUl9XUl9CVUlMRF9PUFRJ T05TKQ0KPiAkKERTQ19UUE1fQlVJTERfT1BUSU9OUykgJChEU0NfQllUSV9TRUNVUkVfQk9PVF9C VUlMRF9PUFRJT05TKQ0KPiArIWlmICQoUEVSRk9STUFOQ0VfRU5BQkxFKSA9PSBUUlVFDQo+ICsg IERFRklORSBQREJfQlVJTERfT1BUSU9OID0gL1ppDQo+ICshZW5kaWYNCj4gKw0KPiArIWlmICQo U09VUkNFX0RFQlVHX0VOQUJMRSkgPT0gVFJVRQ0KPiArICBNU0ZUOipfKl9YNjRfR0VORldfRkxB R1MgID0gLS1rZWVwZXhjZXB0aW9udGFibGUNCj4gKyAgR0NDOipfKl9YNjRfR0VORldfRkxBR1Mg ICA9IC0ta2VlcGV4Y2VwdGlvbnRhYmxlDQo+ICsgIElOVEVMOipfKl9YNjRfR0VORldfRkxBR1Mg PSAtLWtlZXBleGNlcHRpb250YWJsZQ0KPiArIWlmICQoVEFSR0VUKSA9PSBERUJVRw0KPiArICBE RUZJTkUgU09VUkNFX0xFVkVMX0RFQlVHX0JVSUxEX09QVElPTlMgPSAvT2QgL095LQ0KPiArIWVu ZGlmDQo+ICshZWxzZQ0KPiArICBERUZJTkUgU09VUkNFX0xFVkVMX0RFQlVHX0JVSUxEX09QVElP TlMgPQ0KPiArDQo+ICshZW5kaWYNCj4gKw0KPiArIw0KPiArIyBGb3JjZSBQRS9DT0ZGIHNlY3Rp b25zIHRvIGJlIGFsaWduZWQgYXQgNEtCIGJvdW5kYXJpZXMgdG8gc3VwcG9ydCBwYWdlDQo+IGxl dmVsDQo+ICsjIHByb3RlY3Rpb24gb2YgRFhFX1JVTlRJTUVfRFJJVkVSIG1vZHVsZXMNCj4gKyMN Cj4gK1tCdWlsZE9wdGlvbnMuY29tbW9uLkVES0lJLkRYRV9SVU5USU1FX0RSSVZFUl0NCj4gKyAg TVNGVDoqXypfKl9ETElOS19GTEFHUyA9IC9BTElHTjo0MDk2DQo+ICsgIEdDQzoqXypfKl9ETElO S19GTEFHUyA9IC16IGNvbW1vbi1wYWdlLXNpemU9MHgxMDAwDQo+ICsNCj4gKyMNCj4gKyMgRm9y Y2UgUEUvQ09GRiBzZWN0aW9ucyB0byBiZSBhbGlnbmVkIGF0IDRLQiBib3VuZGFyaWVzIHRvIHN1 cHBvcnQgcGFnZQ0KPiBsZXZlbA0KPiArIyBwcm90ZWN0aW9uIG9mIERYRV9TTU1fRFJJVkVSL1NN TV9DT1JFIG1vZHVsZXMNCj4gKyMNCj4gK1tCdWlsZE9wdGlvbnMuY29tbW9uLkVES0lJLkRYRV9T TU1fRFJJVkVSLA0KPiBCdWlsZE9wdGlvbnMuY29tbW9uLkVES0lJLlNNTV9DT1JFXQ0KPiArICBN U0ZUOipfKl8qX0RMSU5LX0ZMQUdTID0gL0FMSUdOOjQwOTYNCj4gKyAgR0NDOipfKl8qX0RMSU5L X0ZMQUdTID0gLXogY29tbW9uLXBhZ2Utc2l6ZT0weDEwMDANCj4gKw0KPiArW0J1aWxkT3B0aW9u cy5Db21tb24uRURLXQ0KPiArDQo+ICsjDQo+ICsjIERlZmluZSB0b2tlbiBmb3IgZGlmZmVyZW50 IFBsYXRmb3JtDQo+ICsjDQo+ICshaWYgJChFTkJEVF9QRl9CVUlMRCkgPT0gVFJVRQ0KPiArICBE RUZJTkUgRU5CRFRfUEZfRU5BQkxFID0gL0RFTkJEVF9QRl9FTkFCTEU9MQ0KPiArIWVsc2UNCj4g KyAgREVGSU5FIEVOQkRUX1BGX0VOQUJMRSA9IC9ERU5CRFRfUEZfRU5BQkxFPTANCj4gKyFlbmRp Zg0KPiArDQo+ICshaWYgJChQRVJGT1JNQU5DRV9FTkFCTEUpID09IFRSVUUNCj4gKyAgUkVMRUFT RV8qXypfRExJTktfRkxBR1MgPSAvREVCVUcNCj4gKyFlbmRpZg0KPiArDQo+ICshaWYgJChTM19F TkFCTEUpID09IFRSVUUNCj4gKyAgREVGSU5FIERTQ19TM19CVUlMRF9PUFRJT05TID0gL0RFRklf UzNfUkVTVU1FDQo+ICshZWxzZQ0KPiArICBERUZJTkUgRFNDX1MzX0JVSUxEX09QVElPTlMgPQ0K PiArIWVuZGlmDQo+ICsNCj4gKyFpZiAkKEVOQkRUX1MzX1NVUFBPUlQpID09IFRSVUUNCj4gKyAg REVGSU5FIEVOQkRUX1MzX1NVUFBPUlRfT1BUSU9OUyA9IC9ETk9DU19TM19TVVBQT1JUDQo+ICsh ZWxzZQ0KPiArICBERUZJTkUgRU5CRFRfUzNfU1VQUE9SVF9PUFRJT05TID0NCj4gKyFlbmRpZg0K PiArDQo+ICshaWYgJChYNjRfQ09ORklHKSA9PSBUUlVFDQo+ICsgIERFRklORSBYNjRfQlVJTERf RU5BQkxFID0gL0RYNjRfQlVJTERfRU5BQkxFPTENCj4gKyFlbHNlDQo+ICsgIERFRklORSBYNjRf QlVJTERfRU5BQkxFID0NCj4gKyFlbmRpZg0KPiArDQo+ICsNCj4gKyAgREVGSU5FIEVES19HTFVF X0xJQl9ERUJVRyAgPQ0KPiArICBERUZJTkUgREVCVUdfQlVJTERfT1BUSU9OUyA9IC9EIEVGSV9E RUJVRyAvRCBERUJVR19NT0RFPTENCj4gL0dMLSAkKEVES19HTFVFX0xJQl9ERUJVRykNCj4gL0RF REtJSV9HTFVFX0RlYnVnUHJpbnRFcnJvckxldmVsPShFRklfRF9FUlJPUikNCj4gKyAgREVGSU5F IEVES19EU0NfRkVBVFVSRV9CVUlMRF9PUFRJT05TID0gJChEU0NfUzNfQlVJTERfT1BUSU9OUykN Cj4gJChEU0NfQUNQSV9CVUlMRF9PUFRJT05TKSAkKERTQ19TRUNfQlVJTERfT1BUSU9OUykNCj4g JChEU0NfRlRQTV9CVUlMRF9PUFRJT05TKSAkKERTQ19GVFBNX0VSUk9SX1dSX0JVSUxEX09QVElP TlMpDQo+ICQoRFNDX1RQTV9CVUlMRF9PUFRJT05TKSAkKFNPRlRTRFZfQlVJTERfT1BUSU9OUykN Cj4gJChTSU1JQ1NfQlVJTERfT1BUSU9OUykgJChIWUJSSURfQlVJTERfT1BUSU9OUykNCj4gJChD T01QQUNUX0JVSUxEX09QVElPTlMpICQoVlBfQlVJTERfT1BUSU9OUykNCj4gJChRVF9CVUlMRF9P UFRJT05TKSAkKERTQ19CWVRJX1NFQ1VSRV9CT09UX0JVSUxEX09QVElPTlMpDQo+IC9EJChQUk9K RUNUX1NDX0NISVBTRVQpDQo+ICsNCj4gKyAgREVGSU5FIEVES19EU0NfT1RIRVJfQlVJTERfT1BU SU9OUyA9DQo+ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpICQoU1ZfQlVJ TERfT1BUSU9OUykNCj4gJChJTlRFTF9GQVNUQk9PVF9CVUlMRF9PUFRJT04pDQo+ICsgIERFRklO RSBFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TID0gJChFTkJEVF9QRl9FTkFCTEUpDQo+ICQo RURLX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICQoRURLX0RTQ19PVEhFUl9CVUlMRF9P UFRJT05TKSAvRA0KPiBFRklfU1BFQ0lGSUNBVElPTl9WRVJTSU9OPTB4MDAwMjAwMDAgIC9EDQo+ IFBJX1NQRUNJRklDQVRJT05fVkVSU0lPTj0weDAwMDAwMDA5ICAvRA0KPiBUSUFOT19SRUxFQVNF X1ZFUlNJT049MHgwMDA4MDAwNiAvRA0KPiBTVVBQT1JUX0RFUFJFQ0FURURfUENJX0NGR19QUEkg L0QgQ1NNX1NNTUVOVFJZX1BPUlQ4REFUQTggL0QNCj4gRURLSUlfR0xVRV9QY2lFeHByZXNzQmFz ZUFkZHJlc3M9MHgkKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFTRSkgL0QNCj4gTUFYX1ZBUklBQkxF X1NJWkU9MHgyMDAwIC9EIEVGSV9GSVJNV0FSRV9WRU5ET1I9IkwvIklOVEVMLyIiIC9EDQo+IEVG SV9CVUlMRF9WRVJTSU9OPSJMLyJFREtJSS8iIiAvREVGSV9QRUlfUkVQT1JUX1NUQVRVU19DT0RF X09ODQo+ICQoRU5CRFRfUzNfU1VQUE9SVF9PUFRJT05TKQ0KPiArDQo+ICsgICpfKl9JQTMyX0FT TV9GTEFHUyAgICAgICAgID0gL0RFRkkzMiAvRA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNl QWRkcmVzcz0kKFBMQVRGT1JNX1BDSUVYUFJFU1NfQkFTRSloDQo+IC9ETk9DU19TM19TVVBQT1JU DQo+ICsgIERFQlVHXypfSUEzMl9DQ19GTEFHUyAgICAgID0gL0QgRUZJMzINCj4gJChFREtfRFND X0dMT0JBTF9CVUlMRF9PUFRJT05TKSAkKERFQlVHX0JVSUxEX09QVElPTlMpDQo+ICsgIFJFTEVB U0VfKl9JQTMyX0NDX0ZMQUdTICAgID0gL0QgRUZJMzINCj4gJChFREtfRFNDX0dMT0JBTF9CVUlM RF9PUFRJT05TKQ0KPiArICBERUJVR18qX0lBMzJfVkZSUFBfRkxBR1MgICA9IC9EIEVGSTMyDQo+ ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9OUykgJChERUJVR19CVUlMRF9PUFRJT05TKQ0K PiArICBSRUxFQVNFXypfSUEzMl9WRlJQUF9GTEFHUyA9IC9EIEVGSTMyDQo+ICQoRURLX0RTQ19H TE9CQUxfQlVJTERfT1BUSU9OUykNCj4gKyAgREVCVUdfKl9JQTMyX0FQUF9GTEFHUyAgICAgPSAv RCBFRkkzMg0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMpICQoREVCVUdfQlVJTERf T1BUSU9OUykNCj4gKyAgUkVMRUFTRV8qX0lBMzJfQVBQX0ZMQUdTICAgPSAvRCBFRkkzMg0KPiAk KEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMpDQo+ICsgIERFQlVHXypfSUEzMl9QUF9GTEFH UyAgICAgID0gL0QgRUZJMzINCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKSAkKERF QlVHX0JVSUxEX09QVElPTlMpDQo+ICsgIFJFTEVBU0VfKl9JQTMyX1BQX0ZMQUdTICAgID0gL0Qg RUZJMzINCj4gJChFREtfRFNDX0dMT0JBTF9CVUlMRF9PUFRJT05TKQ0KPiArICAqXypfSUEzMl9B U0xQUF9GTEFHUyAgICAgICA9IC9EDQo+IEVES0lJX0dMVUVfUGNpRXhwcmVzc0Jhc2VBZGRyZXNz PTB4JChQTEFURk9STV9QQ0lFWFBSRVNTX0JBU0UpDQo+ICsgICpfKl9JQTMyX0FTTENDX0ZMQUdT ICAgICAgID0gL0QNCj4gRURLSUlfR0xVRV9QY2lFeHByZXNzQmFzZUFkZHJlc3M9MHgkKFBMQVRG T1JNX1BDSUVYUFJFU1NfQkFTRSkNCj4gKyAgKl8qX0lBMzJfQVNNMTZfRkxBR1MgICAgICAgPSAv RA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0kKFBMQVRGT1JNX1BDSUVYUFJF U1NfQkFTRSloDQo+ICsNCj4gKyAgKl8qX1g2NF9BU01fRkxBR1MgICAgICAgICAgPSAvREVGSVg2 NCAvRA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0kKFBMQVRGT1JNX1BDSUVY UFJFU1NfQkFTRSloDQo+IC9ETk9DU19TM19TVVBQT1JUDQo+ICsgIERFQlVHXypfWDY0X0NDX0ZM QUdTICAgICAgID0gL0QgRUZJWDY0DQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9OUykg JChERUJVR19CVUlMRF9PUFRJT05TKQ0KPiArICBSRUxFQVNFXypfWDY0X0NDX0ZMQUdTICAgICA9 IC9EIEVGSVg2NA0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMpDQo+ICsgIERFQlVH XypfWDY0X1ZGUlBQX0ZMQUdTICAgID0gL0QgRUZJWDY0DQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJ TERfT1BUSU9OUykgJChERUJVR19CVUlMRF9PUFRJT05TKQ0KPiArICBSRUxFQVNFXypfWDY0X1ZG UlBQX0ZMQUdTICA9IC9EIEVGSVg2NA0KPiAkKEVES19EU0NfR0xPQkFMX0JVSUxEX09QVElPTlMp DQo+ICsgIERFQlVHXypfWDY0X0FQUF9GTEFHUyAgICAgID0gL0QgRUZJWDY0DQo+ICQoRURLX0RT Q19HTE9CQUxfQlVJTERfT1BUSU9OUykgJChERUJVR19CVUlMRF9PUFRJT05TKQ0KPiArICBSRUxF QVNFXypfWDY0X0FQUF9GTEFHUyAgICA9IC9EIEVGSVg2NA0KPiAkKEVES19EU0NfR0xPQkFMX0JV SUxEX09QVElPTlMpDQo+ICsgIERFQlVHXypfWDY0X1BQX0ZMQUdTICAgICAgID0gL0QgRUZJWDY0 DQo+ICQoRURLX0RTQ19HTE9CQUxfQlVJTERfT1BUSU9OUykgJChERUJVR19CVUlMRF9PUFRJT05T KQ0KPiArICBSRUxFQVNFXypfWDY0X1BQX0ZMQUdTICAgICA9IC9EIEVGSVg2NA0KPiAkKEVES19E U0NfR0xPQkFMX0JVSUxEX09QVElPTlMpDQo+ICsgICpfKl9YNjRfQVNMUFBfRkxBR1MgICAgICAg ID0gL0QNCj4gRURLSUlfR0xVRV9QY2lFeHByZXNzQmFzZUFkZHJlc3M9MHgkKFBMQVRGT1JNX1BD SUVYUFJFU1NfQkFTRSkNCj4gKyAgKl8qX1g2NF9BU0xDQ19GTEFHUyAgICAgICAgPSAvRA0KPiBF REtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0weCQoUExBVEZPUk1fUENJRVhQUkVTU19C QVNFKQ0KPiArICAqXypfWDY0X0FTTTE2X0ZMQUdTICAgICAgICA9IC9EDQo+IEVES0lJX0dMVUVf UGNpRXhwcmVzc0Jhc2VBZGRyZXNzPSQoUExBVEZPUk1fUENJRVhQUkVTU19CQVNFKWgNCj4gKyAj ICpfKl8qX0JVSUxEX0ZMQUdTID0gLXMNCj4gKyAgKl8qXypfVkZSX0ZMQUdTICAgPSAtYw0KPiAr ICAqXypfKl9CVUlMRF9GTEFHUyA9IC1jDQo+ICsNCj4gK1tCdWlsZE9wdGlvbnMuQ29tbW9uLkVE S0lJXQ0KPiArICAqXypfSUEzMl9BU01fRkxBR1MgICAgID0gJChWUF9CVUlMRF9PUFRJT05TKSAv RA0KPiBFREtJSV9HTFVFX1BjaUV4cHJlc3NCYXNlQWRkcmVzcz0kKFBMQVRGT1JNX1BDSUVYUFJF U1NfQkFTRSloDQo+IC9ETk9DU19TM19TVVBQT1JUDQo+ICsNCj4gKyAgKl8qX0lBMzJfQ0NfRkxB R1MgICAgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICsgICpf Kl9JQTMyX1ZGUlBQX0ZMQUdTICAgPSAkKEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJ T05TKQ0KPiArICAqXypfSUEzMl9BUFBfRkxBR1MgICAgID0gJChFREtfRURLSUlfRFNDX0ZFQVRV UkVfQlVJTERfT1BUSU9OUykNCj4gKyAgKl8qX0lBMzJfUFBfRkxBR1MgICAgICA9ICQoRURLX0VE S0lJX0RTQ19GRUFUVVJFX0JVSUxEX09QVElPTlMpDQo+ICsgICpfKl9JQTMyX0FTTFBQX0ZMQUdT ICAgPSAkKEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJT05TKQ0KPiArDQo+ICsgICpf Kl9YNjRfQ0NfRkxBR1MgICAgICAgPSAkKEVES19FREtJSV9EU0NfRkVBVFVSRV9CVUlMRF9PUFRJ T05TKQ0KPiAkKFNPVVJDRV9MRVZFTF9ERUJVR19CVUlMRF9PUFRJT05TKQ0KPiArICAqXypfWDY0 X1ZGUlBQX0ZMQUdTICAgID0gJChFREtfRURLSUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykN Cj4gKyAgKl8qX1g2NF9BUFBfRkxBR1MgICAgICA9ICQoRURLX0VES0lJX0RTQ19GRUFUVVJFX0JV SUxEX09QVElPTlMpDQo+ICsgICpfKl9YNjRfUFBfRkxBR1MgICAgICAgPSAkKEVES19FREtJSV9E U0NfRkVBVFVSRV9CVUlMRF9PUFRJT05TKQ0KPiArICAqXypfWDY0X0FTTFBQX0ZMQUdTICAgID0g JChFREtfRURLSUlfRFNDX0ZFQVRVUkVfQlVJTERfT1BUSU9OUykNCj4gKw0KPiArDQo+ICtbQ29t cG9uZW50cy5YNjRdDQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJD SElURUNUVVJFKSQoVEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9JMmNCdXMuaW5mIHsN Cj4gKyAgICA8UGNkc1BhdGNoYWJsZUluTW9kdWxlPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2Vu U3BhY2VHdWlkLlBjZERlYnVnUHJpbnRFcnJvckxldmVsfDB4RjAwMDAwNDMNCj4gKyAgfQ0KPiAr DQo+ICsNCj4gJChQTEFURk9STV9CSU5BUllfUEFDS0FHRSkvJChEWEVfQVJDSElURUNUVVJFKSQo VEFSR0VUKS8kKERYRV8NCj4gQVJDSElURUNUVVJFKS9JMmNIb3N0LmluZiB7DQo+ICsgICAgPFBj ZHNQYXRjaGFibGVJbk1vZHVsZT4NCj4gKyAgICAgIGdFZmlNZGVQa2dUb2tlblNwYWNlR3VpZC5Q Y2REZWJ1Z1ByaW50RXJyb3JMZXZlbHwweEYwMDAwMDQzDQo+ICsgIH0NCj4gKw0KPiAkKFBMQVRG T1JNX0JJTkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0K PiBBUkNISVRFQ1RVUkUpL0kyY1BvcnRBMFBpby5pbmYgew0KPiArICAgIDxQY2RzUGF0Y2hhYmxl SW5Nb2R1bGU+DQo+ICsgICAgICBnRWZpTWRlUGtnVG9rZW5TcGFjZUd1aWQuUGNkRGVidWdQcmlu dEVycm9yTGV2ZWx8MHgwMDAwMDA0Mw0KPiArICB9DQo+ICsNCj4gKw0KPiAkKFBMQVRGT1JNX0JJ TkFSWV9QQUNLQUdFKS8kKERYRV9BUkNISVRFQ1RVUkUpJChUQVJHRVQpLyQoRFhFXw0KPiBBUkNI SVRFQ1RVUkUpL0kyY01taW9EZXZpY2VEeGUuaW5mIHsNCj4gKyAgICA8UGNkc1BhdGNoYWJsZUlu TW9kdWxlPg0KPiArICAgICAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZERlYnVnUHJpbnRF cnJvckxldmVsfDB4MDAwMDAwNDMNCj4gKyAgfQ0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL0Jvb3QudmZpDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9Cb290LnZm aQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45YzE1NWU1MzI4 DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvUGxhdGZvcm1TZXR1cER4ZS9Cb290LnZmaQ0KPiBAQCAtMCwwICsxLDcyIEBADQo+ICsvLw0K PiArLy8NCj4gKy8vIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsvLw0KPiANCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKy8vDQo+IA0KPiArLy8N Cj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ICsvLyAgIEJvb3QudmZpDQo+ICsv Lw0KPiArLy8gQWJzdHJhY3Q6DQo+ICsvLw0KPiArLy8gICBEcml2ZXIgU2V0dXAgZm9ybXNldC4N Cj4gKy8vDQo+ICsvLyBSZXZpc2lvbiBIaXN0b3J5Og0KPiArLy8NCj4gKy8vIC0tKi8NCj4gKw0K PiArDQo+ICtmb3JtIGZvcm1pZCA9IEJPT1RfQ09ORklHVVJBVElPTl9GT1JNX0lELA0KPiArDQo+ ICsgIHRpdGxlICA9IFNUUklOR19UT0tFTihTVFJfQk9PVF9DT05GSUdVUkFUSU9OX1RJVExFKTsN Cj4gKw0KPiArDQo+ICsgIG9uZW9mIHZhcmlkICA9IFNldHVwLkZhc3RCb290LA0KPiArICAgIHBy b21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9GQVNUX0JPT1RfUFJPTVBUKSwNCj4gKyAgICBoZWxw ICAgICA9IFNUUklOR19UT0tFTihTVFJfRkFTVF9CT09UX0hFTFApLA0KPiArICAgIG9wdGlvbiB0 ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9IERFRkFVTFQg fA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfRU5BQkxFKSwgIHZhbHVlPTEsIGZsYWdzPQ0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVR VUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsgIG9uZW9mIHZhcmlkICA9IFNldHVwLlNl Y3VyZUJvb3QsDQo+ICsgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NFQ1VSSVRZX0JP T1RfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfU0VDVVJJVFlf Qk9PVF9IRUxQKSwNCj4gKyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJ U0FCTEUpLCB2YWx1ZT0wLCBmbGFncz0gREVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNF VF9SRVFVSVJFRDsNCj4gKyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VO QUJMRSksICB2YWx1ZT0xLCBmbGFncz0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9m Ow0KPiArDQo+ICsNCj4gKyAgb25lb2YgdmFyaWQgID0gU2V0dXAuUXVpZXRCb290LA0KPiArICAg IHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9RVUlFVEJPT1RfUFJPTVBUKSwNCj4gKyAgICBo ZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfUVVJRVRCT09UX0hFTFApLA0KPiArICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9REVGQVVM VCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4 dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgIHZhbHVlPTEsIGZsYWdzPTAgfA0KPiBSRVNF VF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKw0KPiArDQo+ICsgIG9uZW9mICAg dmFyaWQgICA9IFNldHVwLkxvZ0Jvb3RUaW1lLA0KPiArICAgICAgcHJvbXB0ICAgICAgPSBTVFJJ TkdfVE9LRU4oU1RSX0xPR19CT09UX1RJTUVfUFJPTVBUKSwNCj4gKyAgICAgIGhlbHAgICAgICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9MT0dfQk9PVF9USU1FX0hFTFApLA0KPiArICAgICAgb3B0aW9u IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdzID0gMCB8 DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4o U1RSX0VOQUJMRSksICB2YWx1ZSA9IDEsIGZsYWdzID0gREVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJ TkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgc3VwcHJlc3Np ZiBpZGVxdmFsIFNldHVwLkxvZ0Jvb3RUaW1lID09IDB4MDA7DQo+ICsgICAgdGV4dA0KPiArICAg ICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsgICAgICB0ZXh0 ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0xPR19CT09UX1RJTUVfUkVDT1JEKSwNCj4gKyAgICAgIHRl eHQgICA9IFNUUklOR19UT0tFTihTVFJfTE9HX0JPT1RfVElNRV9WQUxVRSksDQo+ICsgICAgICBm bGFncyAgPSAwLA0KPiArICAgICAga2V5ICAgID0gMDsNCj4gKyAgZW5kaWY7DQo+ICsNCj4gK2Vu ZGZvcm07DQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvQ29uZmlndXJhdGlvbi5oDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9Db25m aWd1cmF0aW9uLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4u N2Q3OTIwYzI0NA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvQ29uZmlndXJhdGlvbi5oDQo+IEBAIC0wLDAg KzEsNTYgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiAr ICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsN Cj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgICBDb25maWd1cmF0aW9u LmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgICBEcml2ZXIgY29uZmlndXJhdGlvbiBp bmNsdWRlIGZpbGUNCj4gKw0KPiArUmV2aXNpb24gSGlzdG9yeToNCj4gKyAgLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tDQo+ICsgIFJldiAgIERhdGU8TU0vREQvWVlZWT4gICAgTmFtZSAgICBEZXNjcmlw dGlvbg0KPiArICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKw0KPiArICAtLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0NCj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfQ09ORklHVVJBVElPTl9IDQo+ICsj ZGVmaW5lIF9DT05GSUdVUkFUSU9OX0gNCj4gKw0KPiArLy8NCj4gKy8vIFN5c3RlbSBTZXR1cCBQ YWdlLiBEbyBub3QgaGF2ZSB0byBiZSBzZXF1ZW50aWFsIGJ1dCBoYXZlIHRvIGJlIHVuaXF1ZQ0K PiArLy8NCj4gKyNkZWZpbmUgUk9PVF9GT1JNX0lEICAgICAgICAgICAgICAgICAgICAgICAgMQ0K PiArI2RlZmluZSBST09UX01BSU5fRk9STV9JRCAgICAgICAgICAgICAgICAgICAyDQo+ICsjZGVm aW5lIENQVV9DT05GSUdVUkFUSU9OX0ZPUk1fSUQgICAgICAgICAgIDMNCj4gKyNkZWZpbmUgQ1BV X1BXUl9DT05GSUdVUkFUSU9OX0ZPUk1fSUQgICAgICAgNA0KPiArI2RlZmluZSBCT09UX0NPTkZJ R1VSQVRJT05fRk9STV9JRCAgICAgICAgICA1DQo+ICsjZGVmaW5lIElHRF9GT1JNX0lEICAgICAg ICAgICAgICAgICAgICAgICAgIDYNCj4gKyNkZWZpbmUgU0VDVVJJVFlfQ09ORklHVVJBVElPTl9G T1JNX0lEICAgICAgNw0KPiArI2RlZmluZSBTT1VUSF9DTFVTVEVSX0ZPUk1fSUQgICAgICAgICAg ICAgICA4DQo+ICsjZGVmaW5lIERQVEZfRk9STV9JRCAgICAgICAgICAgICAgICAgICAgICAgIDkN Cj4gKyNkZWZpbmUgUExBVEZPUk1fSU5GT1JNQVRJT05fRk9STV9JRCAgICAgICAgMTANCj4gKyNk ZWZpbmUgRFJJVkVfQ09ORklHVVJBVElPTl9JRCAgICAgICAgICAgICAgMTENCj4gKyNkZWZpbmUg U0VOU09SX0NPTkZJR1VSQVRJT05fSUQgICAgICAgICAgICAgMTINCj4gKyNkZWZpbmUgTFBTU19D T05GSUdVUkFUSU9OX0lEICAgICAgICAgICAgICAgMTMNCj4gKyNkZWZpbmUgVU5DT1JFX0ZPUk1f SUQgICAgICAgICAgICAgICAgICAgICAgMTQNCj4gKyNkZWZpbmUgVFBNX0ZPUk1fSUQgICAgICAg ICAgICAgICAgICAgICAgICAgMTUNCj4gKyNkZWZpbmUgVEhFUk1BTF9GT1JNX0lEICAgICAgICAg ICAgICAgICAgICAgMTYNCj4gKyNkZWZpbmUgUEFTU1dPUkRfU0VUVElOR19JRCAgICAgICAgICAg ICAgICAgMTcNCj4gKyNkZWZpbmUgTEFOX09QVElPTlNfRk9STV9JRCAgICAgICAgICAgICAgICAg MTgNCj4gKyNkZWZpbmUgQVpBTElBX09QVElPTlNfRk9STV9JRCAgICAgICAgICAgICAgMTkNCj4g KyNkZWZpbmUgTUlTQ19PUFRJT05TX0ZPUk1fSUQgICAgICAgICAgICAgICAgMjANCj4gKyNkZWZp bmUgVVNCX09QVElPTlNfRk9STV9JRCAgICAgICAgICAgICAgICAgMjENCj4gKyNkZWZpbmUgUENJ RV9ERVZJQ0VfT1BUSU9OU19GT1JNX0lEICAgICAgICAgMjINCj4gKyNkZWZpbmUgU1lTVEVNX0NP TVBPTkVOVF9GT1JNX0lEICAgICAgICAgICAgMjMNCj4gKyNkZWZpbmUgREVCVUdfQ09ORklHVVJB VElPTl9GT1JNX0lEICAgICAgICAgMjQNCj4gKyNlbmRpZiAvLyAjaWZuZGVmIF9DT05GSUdVUkFU SU9OX0gNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1BsYXRmb3JtU2V0dXBEeGUvRGVidWdDb25maWcudmZpDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9EZWJ1Z0NvbmZpZy52ZmkNCj4gbmV3IGZp bGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZWVhNDFhNTIwMg0KPiAtLS0gL2Rl di9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3Jt U2V0dXBEeGUvRGVidWdDb25maWcudmZpDQo+IEBAIC0wLDAgKzEsMTE4IEBADQo+ICsvLw0KPiAr Ly8NCj4gKy8vIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsvLw0KPiANCj4gKy8vIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKy8vDQo+IA0KPiArLy8NCj4g Ky8vDQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ICsvLw0KPiArLy8gICBEZWJ1Z0NvbmZp Z3VyYXRpb24udmZpDQo+ICsvLw0KPiArLy8gQWJzdHJhY3Q6DQo+ICsvLw0KPiArLy8gICBEZWJ1 ZyBDb25maWd1cmF0aW9uIGZvcm1zZXQuDQo+ICsvLw0KPiArDQo+ICsNCj4gKy8vIC0tKi8NCj4g Kw0KPiArZm9ybSBmb3JtaWQgPSBERUJVR19DT05GSUdVUkFUSU9OX0ZPUk1fSUQsDQo+ICsgIHRp dGxlICAgID0gU1RSSU5HX1RPS0VOKFNUUl9ERUJVR19DT05GSUdVUkFUSU9OX1RJVExFKTsNCj4g Kw0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5H KTsNCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfQUNQSU1FTURCR19TVFJJ TkcpOw0KPiArDQo+ICsgIC8vQUNQSSBNZW1vcnkgRGVidWcgU3dpdGNoDQo+ICsgICAgb25lb2Yg dmFyaWQgICA9IFNldHVwLkFDUElNZW1EYmcsDQo+ICsgICAgICBwcm9tcHQgICAgICA9IFNUUklO R19UT0tFTiAoU1RSX0FDUElNRU1EQkdfU1dUSUNIKSwNCj4gKyAgICAgIGhlbHAgICAgICAgID0g U1RSSU5HX1RPS0VOIChTVFJfQUNQSU1FTURCR19TV1RJQ0hfSEVMUCksDQo+ICsgICAgICBvcHRp b24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0VOQUJMRSksICB2YWx1ZSA9IDEsIGZsYWdzID0g IERFRkFVTFQNCj4gfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBv cHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdz ID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsNCj4gKw0KPiArICBz dWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyk7DQo+ICsNCj4gKyAg ICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuRXhJU3VwcG9ydCwNCj4gKyAgICAgIHByb21wdCAgICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9FWElTVVBQT1JUX1BST01QVCksDQo+ICsgICAgICBoZWxwICAg ICAgICA9IFNUUklOR19UT0tFTihTVFJfRVhJU1VQUE9SVF9IRUxQKSwNCj4gKyAgICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0NCj4g UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJf RElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gUkVTRVRfUkVRVUlSRUQ7 DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJf V0lUVF9DT05GSUdVUkFUSU9OX1RJVExFKTsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0 dXAuV2l0dEVuYWJsZSwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfV0lU VF9QUk9NUFQpLA0KPiArICAgIGhlbHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9XSVRUX0hF TFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFs dWUgPSAwLCBmbGFncyA9IERFRkFVTFQgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRp b24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgIHZhbHVlID0gMSwgZmxhZ3MgPQ0K PiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgb25lb2YgdmFyaWQg ICA9IFNldHVwLlV0c0VuYWJsZSwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihT VFJfVVRTX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1VU U19IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSks IHZhbHVlID0gMCwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksICB2YWx1ZSA9IDEsIGZsYWdz ID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vTGFrZW1vcmUgU2V0dGluZ3MNCj4gKyAgLy8NCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklO R19UT0tFTihTVFJfTlVMTF9TVFJJTkcpOw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl9MTV9JTkZPUk1BVElPTl9USVRMRSk7DQo+ICsNCj4gKyAgICBncmF5b3V0aWYgaWRl cXZhbCBTZXR1cC5QdW5pdEJJT1NDb25maWcgPT0gMHgxOw0KPiArICAgICAgb25lb2YgdmFyaWQg ICA9IFNldHVwLkxtTWVtU2l6ZSwNCj4gKyAgICAgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9L RU4gKFNUUl9MTV9NRU1PUllfUFJPTVBUKSwNCj4gKyAgICAgICAgaGVscCAgICAgICAgPSBTVFJJ TkdfVE9LRU4gKFNUUl9MTV9NRU1PUllfSEVMUCksDQo+ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOIChTVFJfTE1fTUVNT1JZXzE2TUIpLCAgdmFsdWUgPQ0KPiAxNjM4NCwgZmxh Z3MgPSBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9L RU4gKFNUUl9MTV9NRU1PUllfOE1CKSwgICB2YWx1ZSA9IDgxOTIsDQo+IGZsYWdzID0gUkVTRVRf UkVRVUlSRUQ7DQo+ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfTE1f TUVNT1JZXzFNQiksICAgdmFsdWUgPSAxMDI0LA0KPiBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0xNX01FTU9SWV8xMjhL QiksIHZhbHVlID0gMTI4LA0KPiBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgICBv cHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0xNX01FTU9SWV8wTUIpLCAgIHZhbHVlID0g MCwNCj4gZmxhZ3MgPSBERUZBVUxUIHwgTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgICAgZW5kb25lb2Y7DQo+ICsgICAgZW5kaWY7DQo+ICsNCj4gKyAgICBvbmVvZiB2YXJp ZCAgID0gU2V0dXAuUHVuaXRCSU9TQ29uZmlnLA0KPiArICAgICAgcHJvbXB0ICAgICAgPSBTVFJJ TkdfVE9LRU4gKFNUUl9QVUlOVF9CSU9TX0NPTkZJR19ESVNQTEFZKSwNCj4gKyAgICAgIGhlbHAg ICAgICAgID0gU1RSSU5HX1RPS0VOIChTVFJfUFVJTlRfQklPU19DT05GSUdfRElTUExBWV9IRUxQ KSwNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfUFVJTlRfQklPU19Q RE0pLCAgICAgICAgIHZhbHVlID0gMywNCj4gZmxhZ3MgPSBERUZBVUxUIHwgTUFOVUZBQ1RVUklO RyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4g KFNUUl9QVUlOVF9CSU9TX1BFUkZPUk1BTkNFKSwgdmFsdWUNCj4gPSAyLCAgZmxhZ3MgPSBSRVNF VF9SRVFVSVJFRDsNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfUFVJ TlRfQklPU19QT1dFUlNBVkUpLCAgIHZhbHVlID0NCj4gMSwgIGZsYWdzID0gUkVTRVRfUkVRVUlS RUQ7DQo+ICsJICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX1BVSU5UX0JJT1NfUkVT RVJWRUQpLCAgICB2YWx1ZQ0KPiA9IDAsICBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICAg IGVuZG9uZW9mOw0KPiArDQo+ICsgICAgc3VwcHJlc3NpZiBOT1QgaWRlcXZhbCBTZXR1cC5QdW5p dEJJT1NDb25maWcgPT0gMHgzOw0KPiArICAgICAgb25lb2YgdmFyaWQgICA9IFNldHVwLlBETUNv bmZpZywNCj4gKyAgICAgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4gKFNUUl9QRE1fT1VU UFVUX0NPTkZJR19TV1RJQ0gpLA0KPiArICAgICAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tF Tg0KPiAoU1RSX1BETV9PVVRQVVRfQ09ORklHX1NXVElDSF9IRUxQKSwNCj4gKyAgICAgICAgb3B0 aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4gKFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9 IERFRkFVTFQNCj4gfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfUERNX09VVFBVVF9NRU0pLCB2YWx1ZSA9 IDEsDQo+IGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOIChTVFJfUERNX09VVFBVVF9JTyksICB2YWx1ZSA9IDIsIGZsYWdzDQo+ID0g UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBlbmRvbmVvZjsNCj4gKyAgICBlbmRpZjsNCj4gKw0K PiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyk7DQo+ICsg IG9uZW9mIHZhcmlkICAgPSBTZXR1cC5FTkRCRzIsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJ TkdfVE9LRU4gKFNUUl9FTkFCTEVfREJHMiksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdf VE9LRU4gKFNUUl9FTkFCTEVfREJHMl9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJF RDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgIHZhbHVl ID0gMSwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9m Ow0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5H KTsNCj4gKw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklO Ryk7DQo+ICsgIG9uZW9mIHZhcmlkID0gU2V0dXAuRGlzYWJsZUNvZGVjMjYyLA0KPiArICBwcm9t cHQgICA9IFNUUklOR19UT0tFTihTVFJfQ09ERUMyNjJfRElTQUJMRURfUFJPTVBUKSwNCj4gKyAg aGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0NPREVDMjYyX0RJU0FCTEVEX0hFTFApLA0KPiAr ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfWUVTKSwgdmFsdWUgPSAxLCBmbGFncyA9 IFJFU0VUX1JFUVVJUkVEOw0KPiArICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTk8p LCB2YWx1ZSA9IDAsIGZsYWdzID0gREVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9S RVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gK2VuZGZvcm07DQo+IGRpZmYgLS1naXQN Cj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL0Z3 VmVyc2lvblN0cmluZ3MudW4NCj4gaQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1BsYXRmb3JtU2V0dXBEeGUvRndWZXJzaW9uU3RyaW5ncy51bg0KPiBpDQo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjE3NWNlYjFhMTYNCj4gLS0tIC9kZXYv bnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bVNldHVwRHhlL0Z3VmVyc2lvblN0cmluZ3MudW4NCj4gaQ0KPiBAQCAtMCwwICsxLDQwIEBADQo+ ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDA0IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ ICsvLw0KPiArLy8gICBJbnZlbnRvcnlTdHJpbmdzLnVuaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0 Og0KPiArLy8NCj4gKy8vICAgU3RyaW5nIGRlZmluaXRpb25zIGZvciBJbnZlbnRvcnkgZmlsZS4N Cj4gKy8vDQo+ICsvLyBSZXZpc2lvbiBIaXN0b3J5Og0KPiArLy8NCj4gKy8vIC0tKi8NCj4gKw0K PiArDQo+ICsvPSMNCj4gKw0KPiArI2xhbmdkZWYgZW4tVVMgIkVuZ2xpc2giDQo+ICsjbGFuZ2Rl ZiBmci1GUiAiRnJhbmNhaXMiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1NPQ19TVFJJTkcgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJWTFYgU09DIg0KPiAr I3N0cmluZyBTVFJfU09DX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIk4vQSINCj4gKyNzdHJpbmcgU1RSX01SQ19WRVJTSU9OX1NUUklORyAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJNUkMNCj4gVmVyc2lvbiIN Cj4gKyNzdHJpbmcgU1RSX01SQ19WRVJTSU9OX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICJOL0EiDQo+ICsjc3RyaW5nIFNUUl9QVU5JVF9GV19TVFJJTkcg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiUFVOSVQgRlcNCj4g UGF0Y2giDQo+ICsjc3RyaW5nIFNUUl9QVU5JVF9GV19WQUxVRSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTi9BIg0KPiArI3N0cmluZyBTVFJfVUxQTUNfRldf U1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVMUE1D DQo+IEZXIg0KPiArI3N0cmluZyBTVFJfVUxQTUNfRldfVkFMVUUgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIk4vQSINCj4gKyNzdHJpbmcgU1RSX0tTQ19GV19T VFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJLU0Mg RlciDQo+ICsjc3RyaW5nIFNUUl9LU0NfRldfVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTi9BIg0KPiArI3N0cmluZyBTVFJfU0VDX0ZXX1NUUklO RyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlRYRSBGVyIN Cj4gKyNzdHJpbmcgU1RSX1NFQ19GV19WQUxVRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICJOL0EiDQo+ICsjc3RyaW5nIFNUUl9HT1BfU1RSSU5HICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiR09QIg0KPiArI3N0 cmluZyBTVFJfR09QX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIk4vQSINCj4gKyNzdHJpbmcgU1RSX1BNQ19GV19TVFJJTkcgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJQTUMgRlcNCj4gUGF0Y2giDQo+ ICsjc3RyaW5nIFNUUl9QTUNfRldfVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiTi9BIg0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL01haW4udmZpDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9NYWluLnZmaQ0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi42MDkzMjYyZTNmDQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1TZXR1cER4ZS9NYWluLnZmaQ0KPiBAQCAtMCwwICsxLDMzMSBAQA0KPiArLy8NCj4gKy8v DQo+ICsvLyBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8NCj4gDQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsvLw0KPiANCj4gKy8vDQo+ICsv Lw0KPiArLy8NCj4gKy8vIE1vZHVsZSBOYW1lOg0KPiArLy8NCj4gKy8vICAgTWFpbi52ZmkNCj4g Ky8vDQo+ICsvLyBBYnN0cmFjdDoNCj4gKy8vDQo+ICsvLyAgIERyaXZlciBTZXR1cCBmb3Jtc2V0 Lg0KPiArLy8NCj4gKy8vIFJldmlzaW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0qLw0KPiAr DQo+ICtmb3JtIGZvcm1pZCA9IFJPT1RfTUFJTl9GT1JNX0lELA0KPiArDQo+ICsgIHRpdGxlICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9NQUlOX1RJVExFKTsNCj4gKw0KPiArICBzdWJ0aXRsZSB0ZXh0 ID0gU1RSSU5HX1RPS0VOKFNUUl9CSU9TX0lORk9STUFUSU9OX1RJVExFKTsNCj4gKw0KPiArICB0 ZXh0DQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsg ICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9JRldJX1ZFUlNJT05fU1RSSU5HKSwNCj4gKyAg ICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lGV0lfVkVSU0lPTl9WQUxVRSksDQo+ICsgICAg ZmxhZ3MgID0gMCwNCj4gKyAgICBrZXkgICAgPSAwOw0KPiArDQo+ICsgIHRleHQNCj4gKyAgICBo ZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBT VFJJTkdfVE9LRU4oU1RSX0JJT1NfVkVSU0lPTl9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNU UklOR19UT0tFTihTVFJfQklPU19WRVJTSU9OX1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0K PiArICAgIGtleSAgICA9IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklO R19UT0tFTihTVFJfTlVMTF9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihT VFJfQklPU19WRU5ET1JfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RS X0JJT1NfVkVORE9SX1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0KPiArICAgIGtleSAgICA9 IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVM TF9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfQ09SRV9WRVJTSU9O X1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9DT1JFX1ZFUlNJT05f VkFMVUUpLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsgICAga2V5ICAgID0gMDsNCj4gKw0KPiAr ICB0ZXh0DQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9CSU9TX0JVSUxEX1RJTUVfU1RSSU5HKSwN Cj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0JJT1NfQlVJTERfVElNRV9WQUxVRSks DQo+ICsgICAgZmxhZ3MgID0gMCwNCj4gKyAgICBrZXkgICAgPSAwOw0KPiArDQo+ICsgIHN1YnRp dGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4gKw0KPiArICBzdWJ0 aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9QUk9DRVNTT1JfSU5GT19TVFJJTkcpOw0KPiAr ICB0ZXh0DQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QUk9DRVNTT1JfVkVSU0lPTl9TVFJJTkcp LA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfUFJPQ0VTU09SX1ZFUlNJT05fVkFM VUUpLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsgICAga2V5ICAgID0gMDsNCj4gKw0KPiArICB0 ZXh0DQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsg ICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QUk9DRVNTT1JfU0tVX1NUUklORyksDQo+ICsg ICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QUk9DRVNTT1JfU0tVX1ZBTFVFKSwNCj4gKyAg ICBmbGFncyAgPSAwLA0KPiArICAgIGtleSAgICA9IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAg IGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9 IFNUUklOR19UT0tFTihTVFJfUFJPQ0VTU09SX1NQRUVEX1NUUklORyksDQo+ICsgICAgdGV4dCAg ID0gU1RSSU5HX1RPS0VOKFNUUl9QUk9DRVNTT1JfU1BFRURfVkFMVUUpLA0KPiArICAgIGZsYWdz ICA9IDAsDQo+ICsgICAga2V5ICAgID0gMDsNCj4gKw0KPiArICB0ZXh0DQo+ICsgICAgaGVscCAg ID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5H X1RPS0VOKFNUUl9QUk9DRVNTT1JfSURfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdf VE9LRU4oU1RSX1BST0NFU1NPUl9JRF9WQUxVRSksDQo+ICsgICAgZmxhZ3MgID0gMCwNCj4gKyAg ICBrZXkgICAgPSAwOw0KPiArDQo+ICsgIHRleHQNCj4gKyAgICBoZWxwICAgPSBTVFJJTkdfVE9L RU4oU1RSX05VTExfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BS T0NFU1NPUl9NSUNST0NPREVfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4o U1RSX1BST0NFU1NPUl9NSUNST0NPREVfVkFMVUUpLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsg ICAga2V5ICAgID0gMDsNCj4gKw0KPiArICB0ZXh0DQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RP S0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9Q Uk9DRVNTT1JfQ09SRV9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJf UFJPQ0VTU09SX0NPUkVfVkFMVUUpLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsgICAga2V5ICAg ID0gMDsNCj4gKw0KPiArICB0ZXh0DQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9O VUxMX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9FTTY0VF9DQVBB QklMSVRZX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9FTTY0VF9D QVBBQklMSVRZX1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0KPiArICAgIGtleSAgICA9IDA7 DQo+ICsNCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcp Ow0KPiArDQo+ICsgIGdvdG8gUExBVEZPUk1fSU5GT1JNQVRJT05fRk9STV9JRCwNCj4gKyAgICBw cm9tcHQgPSBTVFJJTkdfVE9LRU4oU1RSX1BMQVRGT1JNX0lORk9STUFUSU9OX1RJVExFKSwNCj4g KyAgICBoZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BMQVRGT1JNX0lORk9STUFUSU9OX0hFTFAp Ow0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5H KTsNCj4gKyAgLy8NCj4gKyAgLy8gRGF0ZSBhbmQgVGltZSBzZWN0aW9uDQo+ICsgIC8vDQo+ICsg IGRhdGUgICAgeWVhciB2YXJpZCAgPSBEYXRlLlllYXIsICAgIC8vIE5vdGUgdGhhdCBpdCBpcyBh IG1lbWJlciBvZiBOVUxMLCBzbyB0aGUNCj4gUlRDIHdpbGwgYmUgdGhlIHN5c3RlbSByZXNvdXJj ZSB0byByZXRyaWV2ZSBhbmQgc2F2ZSBmcm9tDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdf VE9LRU4oU1RSX0RBVEVfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tF TihTVFJfREFURV9ZRUFSX0hFTFApLA0KPiArICAgIG1pbmltdW0gICAgID0gMjAwMywNCj4gKyAg ICBtYXhpbXVtICAgICA9IDIxMDAsDQo+ICsgICAgc3RlcCAgICAgICAgPSAxLA0KPiArICAgIGRl ZmF1bHQgICAgID0gMjAwMywNCj4gKw0KPiArICAgIG1vbnRoIHZhcmlkID0gRGF0ZS5Nb250aCwg ICAgLy8gTm90ZSB0aGF0IGl0IGlzIGEgbWVtYmVyIG9mIE5VTEwsIHNvIHRoZQ0KPiBSVEMgd2ls bCBiZSB0aGUgc3lzdGVtIHJlc291cmNlIHRvIHJldHJpZXZlIGFuZCBzYXZlIGZyb20NCj4gKyAg ICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfREFURV9QUk9NUFQpLA0KPiArICAgIGhl bHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9EQVRFX01PTlRIX0hFTFApLA0KPiArICAgIG1p bmltdW0gICAgID0gMSwNCj4gKyAgICBtYXhpbXVtICAgICA9IDEyLA0KPiArICAgIHN0ZXAgICAg ICAgID0gMSwNCj4gKyAgICBkZWZhdWx0ICAgICA9IDEsDQo+ICsNCj4gKyAgICBkYXkgdmFyaWQg ICA9IERhdGUuRGF5LCAgICAgICAgICAvLyBOb3RlIHRoYXQgaXQgaXMgYSBtZW1iZXIgb2YgTlVM TCwgc28gdGhlIFJUQw0KPiB3aWxsIGJlIHRoZSBzeXN0ZW0gcmVzb3VyY2UgdG8gcmV0cmlldmUg YW5kIHNhdmUgZnJvbQ0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9EQVRF X1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0RBVEVfREFZ X0hFTFApLA0KPiArICAgIG1pbmltdW0gICAgID0gMSwNCj4gKyAgICBtYXhpbXVtICAgICA9IDMx LA0KPiArICAgIHN0ZXAgICAgICAgID0gMHgxLA0KPiArICAgIGRlZmF1bHQgICAgID0gMSwNCj4g Kw0KPiArICAgIC8vIElmIHRoZSBkYXkgaXMgMzEgQU5EIG1vbnRocyBpcyBhbnkgb2YgdGhlIGZv bGxvd2luZyAyLCA0LCA2LCA5LCAxMQ0KPiArICAgIGluY29uc2lzdGVudGlmIHByb21wdCA9IFNU UklOR19UT0tFTihTVFJfRVJST1JfUE9QVVApLA0KPiArICAgICAgaWRlcXZhbCBEYXRlLkRheSA9 PSAzMQ0KPiArICAgICAgQU5EDQo+ICsgICAgICBpZGVxdmFsbGlzdCBEYXRlLk1vbnRoID09IDIg NCA2IDkgMTENCj4gKyAgICBlbmRpZg0KPiArDQo+ICsgICAgLy8gSWYgdGhlIGRheSBpcyAzMCBB TkQgbW9udGggaXMgMg0KPiArICAgIGluY29uc2lzdGVudGlmIHByb21wdCA9IFNUUklOR19UT0tF TihTVFJfRVJST1JfUE9QVVApLA0KPiArICAgICAgaWRlcXZhbCBEYXRlLkRheSA9PSAzMA0KPiAr ICAgICAgQU5EDQo+ICsgICAgICBpZGVxdmFsIERhdGUuTW9udGggPT0gMg0KPiArICAgIGVuZGlm DQo+ICsNCj4gKyAgICAvLyBJZiB0aGUgZGF5IGlzIDI5IEFORCBtb250aCBpcyAyIEFORCBpdCB5 ZWFyIGlzIE5PVCBhIGxlYXB5ZWFyDQo+ICsgICAgaW5jb25zaXN0ZW50aWYgcHJvbXB0ID0gU1RS SU5HX1RPS0VOKFNUUl9FUlJPUl9QT1BVUCksDQo+ICsgICAgICBpZGVxdmFsIERhdGUuRGF5ID09 IDB4MjkNCj4gKyAgICAgIEFORA0KPiArICAgICAgaWRlcXZhbCBEYXRlLk1vbnRoID09IDINCj4g KyAgICAgIEFORA0KPiArICAgICAgTk9UDQo+ICsgICAgICBpZGVxdmFsbGlzdCBEYXRlLlllYXIg PT0gMjAwNCAyMDA4IDIwMTIgMjAxNiAyMDIwIDIwMjQgMjAyOCAyMDMyIDIwMzYNCj4gMjA0MCAy MDQ0IDIwNDggMjA1MiAyMDU2IDIwNjAgMjA2NCAyMDY4IDIwNzIgMjA3NiAyMDgwIDIwODQgMjA4 OCAyMDkyIDIwOTYNCj4gKyAgICBlbmRpZg0KPiArDQo+ICsgIGVuZGRhdGU7DQo+ICsNCj4gKyAg dGltZSAgICBob3VyIHZhcmlkICA9IFRpbWUuSG91cnMsICAgICAgICAgLy8gTm90ZSB0aGF0IGl0 IGlzIGEgbWVtYmVyIG9mIE5VTEwsIHNvDQo+IHRoZSBSVEMgd2lsbCBiZSB0aGUgc3lzdGVtIHJl c291cmNlIHRvIHJldHJpZXZlIGFuZCBzYXZlIGZyb20NCj4gKyAgICBwcm9tcHQgICAgICA9IFNU UklOR19UT0tFTihTVFJfVElNRV9QUk9NUFQpLA0KPiArICAgIGhlbHAgICAgICAgID0gU1RSSU5H X1RPS0VOKFNUUl9USU1FX0hPVVJfSEVMUCksDQo+ICsgICAgbWluaW11bSAgICAgPSAwLA0KPiAr ICAgIG1heGltdW0gICAgID0gMjMsDQo+ICsgICAgc3RlcCAgICAgICAgPSAxLA0KPiArICAgIGRl ZmF1bHQgICAgID0gMCwNCj4gKw0KPiArICAgIG1pbnV0ZSB2YXJpZCAgPSBUaW1lLk1pbnV0ZXMs ICAgICAgIC8vIE5vdGUgdGhhdCBpdCBpcyBhIG1lbWJlciBvZiBOVUxMLCBzbw0KPiB0aGUgUlRD IHdpbGwgYmUgdGhlIHN5c3RlbSByZXNvdXJjZSB0byByZXRyaWV2ZSBhbmQgc2F2ZSBmcm9tDQo+ ICsgICAgcHJvbXB0ICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfVElNRV9QUk9NUFQpLA0KPiAr ICAgIGhlbHAgICAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1RJTUVfTUlOVVRFX0hFTFApLA0K PiArICAgIG1pbmltdW0gICAgICAgPSAwLA0KPiArICAgIG1heGltdW0gICAgICAgPSA1OSwNCj4g KyAgICBzdGVwICAgICAgICAgID0gMSwNCj4gKyAgICBkZWZhdWx0ICAgICAgID0gMCwNCj4gKw0K PiArICAgIHNlY29uZCB2YXJpZCAgPSBUaW1lLlNlY29uZHMsICAgICAgIC8vIE5vdGUgdGhhdCBp dCBpcyBhIG1lbWJlciBvZiBOVUxMLCBzbw0KPiB0aGUgUlRDIHdpbGwgYmUgdGhlIHN5c3RlbSBy ZXNvdXJjZSB0byByZXRyaWV2ZSBhbmQgc2F2ZSBmcm9tDQo+ICsgICAgcHJvbXB0ICAgICAgICA9 IFNUUklOR19UT0tFTihTVFJfVElNRV9QUk9NUFQpLA0KPiArICAgIGhlbHAgICAgICAgICAgPSBT VFJJTkdfVE9LRU4oU1RSX1RJTUVfU0VDT05EX0hFTFApLA0KPiArICAgIG1pbmltdW0gICAgICAg PSAwLA0KPiArICAgIG1heGltdW0gICAgICAgPSA1OSwNCj4gKyAgICBzdGVwICAgICAgICAgID0g MSwNCj4gKyAgICBkZWZhdWx0ICAgICAgID0gMCwNCj4gKyAgZW5kdGltZTsNCj4gKw0KPiArZW5k Zm9ybTsNCj4gKw0KPiArZm9ybSBmb3JtaWQgPSBQTEFURk9STV9JTkZPUk1BVElPTl9GT1JNX0lE LA0KPiArDQo+ICsgIHRpdGxlICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QTEFURk9STV9JTkZPUk1B VElPTl9USVRMRSk7DQo+ICsNCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJf TlVMTF9TVFJJTkcpOw0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X1BMQVRGT1JNX0ZJUk1XQVJFX1NUUklORyk7DQo+ICsgIHRleHQNCj4gKyAgICBoZWxwICAgPSBT VFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9L RU4oU1RSX1NPQ19TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfU09D X1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0KPiArICAgIGtleSAgICA9IDA7DQo+ICsNCj4g KyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcpLA0K PiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfTVJDX1ZFUlNJT05fU1RSSU5HKSwNCj4g KyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX01SQ19WRVJTSU9OX1ZBTFVFKSwNCj4gKyAg ICBmbGFncyAgPSAwLA0KPiArICAgIGtleSAgICA9IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAg IGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9 IFNUUklOR19UT0tFTihTVFJfUFVOSVRfRldfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJ TkdfVE9LRU4oU1RSX1BVTklUX0ZXX1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0KPiArICAg IGtleSAgICA9IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tF TihTVFJfTlVMTF9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfUE1D X0ZXX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QTUNfRldfVkFM VUUpLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsgICAga2V5ICAgID0gMDsNCj4gKw0KPiArICB0 ZXh0DQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsg ICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9LU0NfRldfU1RSSU5HKSwNCj4gKyAgICB0ZXh0 ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0tTQ19GV19WQUxVRSksDQo+ICsgICAgZmxhZ3MgID0gMCwN Cj4gKyAgICBrZXkgICAgPSAwOw0KPiArDQo+ICsgIHRleHQNCj4gKyAgICBoZWxwICAgPSBTVFJJ TkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4o U1RSX1NFQ19WRVJTSU9OX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNU Ul9TRUNfVkVSU0lPTl9WQUxVRSksDQo+ICsgICAgZmxhZ3MgID0gMCwNCj4gKyAgICBrZXkgICAg PSAwOw0KPiArDQo+ICsgIHN1cHByZXNzaWYgaWRlcXZhbCBTZXR1cC5HT1BFbmFibGUgPT0gMDsN Cj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcp LA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfR09QX1NUUklORyksDQo+ICsgICAg dGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9HT1BfVkFMVUUpLA0KPiArICAgIGZsYWdzICA9IDAs DQo+ICsgICAga2V5ICAgID0gMDsNCj4gKyAgZW5kaWY7DQo+ICsNCj4gKyAgc3VwcHJlc3NpZiBp ZGVxdmFsIFNldHVwLkdPUEVuYWJsZSA9PSAxOw0KPiArICB0ZXh0DQo+ICsgICAgaGVscCAgID0g U1RSSU5HX1RPS0VOKFNUUl9DSElQX0lHRF9WQklPU19SRVZfSEVMUCksDQo+ICsgICAgdGV4dCAg ID0gU1RSSU5HX1RPS0VOKFNUUl9DSElQX0lHRF9WQklPU19SRVZfTkFNRSksDQo+ICsgICAgdGV4 dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9DSElQX0lHRF9WQklPU19SRVZfVkFMVUUpLA0KPiArICAg IGZsYWdzICA9IDAsDQo+ICsgICAga2V5ICAgID0gMDsNCj4gKyAgZW5kaWY7DQo+ICsNCj4gKyAg dGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfQ1BVX0ZMQVZPUl9IRUxQKSwN Cj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0NQVV9GTEFWT1JfTkFNRSksDQo+ICsg ICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9DUFVfRkxBVk9SX1ZBTFVFKSwNCj4gKyAgICBm bGFncyAgPSAwLA0KPiArICAgIGtleSAgICA9IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAgIGhl bHAgICA9IFNUUklOR19UT0tFTihTVFJfQk9BUkRfSURfSEVMUCksDQo+ICsgICAgdGV4dCAgID0g U1RSSU5HX1RPS0VOKFNUUl9CT0FSRF9JRF9OQU1FKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdf VE9LRU4oU1RSX0JPQVJEX0lEX1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0KPiArICAgIGtl eSAgICA9IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihT VFJfRkFCX0lEX0hFTFApLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfRkFCX0lE X1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9GQUJfSURfVkFMVUUp LA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsgICAga2V5ID0gMDsNCj4gKw0KPiArDQo+ICsgIHN1 YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4gKw0KPiArICBz dWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9NRU1PUllfSU5GT1JNQVRJT05fU1RSSU5H KTsNCj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJ TkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfVE9UQUxfTUVNT1JZX1NJWkVf UFJPTVBUKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1RPVEFMX01FTU9SWV9T SVpFX1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0KPiArICAgIGtleSAgICA9IDA7DQo+ICsN Cj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcp LA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfU1lTVEVNX01FTU9SWV9TUEVFRF9T VFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfU1lTVEVNX01FTU9SWV9T UEVFRF9WQUxVRSksDQo+ICsgICAgZmxhZ3MgID0gMCwNCj4gKyAgICBrZXkgICAgPSAwOw0KPiAr DQo+ICsgIHRleHQNCj4gKyAgICBoZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5H KSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BST0NFU1NPUl9MMV9EQVRBX0NB Q0hFX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QUk9DRVNTT1Jf TDFfREFUQV9DQUNIRV9WQUxVRSksDQo+ICsgICAgZmxhZ3MgID0gMCwNCj4gKyAgICBrZXkgICAg PSAwOw0KPiArDQo+ICsgIHRleHQNCj4gKyAgICBoZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RSX05V TExfU1RSSU5HKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BST0NFU1NPUl9M MV9JTlNUUl9DQUNIRV9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJf UFJPQ0VTU09SX0wxX0lOU1RSX0NBQ0hFX1ZBTFVFKSwNCj4gKyAgICBmbGFncyAgPSAwLA0KPiAr ICAgIGtleSAgICA9IDA7DQo+ICsNCj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19U T0tFTihTVFJfTlVMTF9TVFJJTkcpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJf UFJPQ0VTU09SX0wyX0NBQ0hFX1NUUklORyksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VO KFNUUl9QUk9DRVNTT1JfTDJfQ0FDSEVfVkFMVUUpLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsg ICAga2V5ICAgID0gMDsNCj4gKw0KPiArZW5kZm9ybTsNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9y bVNldHVwRHhlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bVNldHVwRHhlL1BsYXRmb3JtU2V0dXBEeGUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi4wYmZhM2U3Y2Y0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9y bVNldHVwRHhlLmMNCj4gQEAgLTAsMCArMSw5MjkgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsg IENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0 cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSAiUGxhdGZvcm1TZXR1cER4ZS5oIg0KPiArI2lu Y2x1ZGUgIkd1aWQvU2V0dXBWYXJpYWJsZS5oIg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0Zvcm1C cm93c2VyRXgyLmg+DQo+ICsNCj4gKw0KPiArI2RlZmluZSBFRklfQ0FMTEJBQ0tfSU5GT19TSUdO QVRVUkUgU0lHTkFUVVJFXzMyICgnQycsICdsJywgJ2InLCAnaycpDQo+ICsjZGVmaW5lIEVGSV9D QUxMQkFDS19JTkZPX0ZST01fVEhJUyhhKSAgQ1IgKGEsIEVGSV9DQUxMQkFDS19JTkZPLA0KPiBD b25maWdBY2Nlc3MsIEVGSV9DQUxMQkFDS19JTkZPX1NJR05BVFVSRSkNCj4gKw0KPiArdHlwZWRl ZiBzdHJ1Y3Qgew0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIFNpZ25hdHVy ZTsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICBEcml2ZXJIYW5kbGU7DQo+ ICsgIEVGSV9ISUlfSEFORExFICAgICAgICAgICAgICAgICAgUmVnaXN0ZXJlZEhhbmRsZTsNCj4g KyAgU1lTVEVNX0NPTkZJR1VSQVRJT04gICAgICAgICAgICBGYWtlTnZEYXRhOw0KPiArICBTWVNU RU1fQ09ORklHVVJBVElPTiAgICAgICAgICAgIEJhY2t1cE52RGF0YTsNCj4gKyAgRUZJX0hJSV9D T05GSUdfUk9VVElOR19QUk9UT0NPTCAqSGlpQ29uZmlnUm91dGluZzsNCj4gKyAgRUZJX0hJSV9D T05GSUdfQUNDRVNTX1BST1RPQ09MICBDb25maWdBY2Nlc3M7DQo+ICt9IEVGSV9DQUxMQkFDS19J TkZPOw0KPiArDQo+ICsjcHJhZ21hIHBhY2soMSkNCj4gKw0KPiArLy8NCj4gKy8vIEhJSSBzcGVj aWZpYyBWZW5kb3IgRGV2aWNlIFBhdGggZGVmaW5pdGlvbi4NCj4gKy8vDQo+ICt0eXBlZGVmIHN0 cnVjdCB7DQo+ICsgIFZFTkRPUl9ERVZJQ0VfUEFUSCAgICAgICAgICAgICBWZW5kb3JEZXZpY2VQ YXRoOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICAgICAgRW5kOw0KPiArfSBISUlf VkVORE9SX0RFVklDRV9QQVRIOw0KPiArDQo+ICsjcHJhZ21hIHBhY2soKQ0KPiArDQo+ICsvLw0K PiArLy8gdW5pIHN0cmluZyBhbmQgVmZyIEJpbmFyeSBkYXRhLg0KPiArLy8NCj4gK2V4dGVybiBV SU5UOCAgVmZyQmluW107DQo+ICtleHRlcm4gVUlOVDggIFBsYXRmb3JtU2V0dXBEeGVTdHJpbmdz W107DQo+ICsNCj4gK0VGSV9IQU5ETEUgICAgICAgICAgICBtSW1hZ2VIYW5kbGU7DQo+ICsNCj4g Ky8vDQo+ICsvLyBtb2R1bGUgZ2xvYmFsIGRhdGENCj4gKy8vDQo+ICsjZGVmaW5lIEVGSV9OT1JN QUxfU0VUVVBfR1VJRCBcDQo+ICsgIHsgMHhlYzg3ZDY0MywgMHhlYmE0LCAweDRiYjUsIDB4YTEs IDB4ZTUsIDB4M2YsIDB4M2UsIDB4MzYsIDB4YjIsIDB4ZCwNCj4gMHhhOSB9DQo+ICsNCj4gK0VG SV9HVUlEICAgICAgICAgICAgICAgICAgICAgbU5vcm1hbFNldHVwR3VpZCA9IEVGSV9OT1JNQUxf U0VUVVBfR1VJRDsNCj4gKw0KPiArRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICBtU3lzdGVt Q29uZmlnR3VpZCA9DQo+IFNZU1RFTV9DT05GSUdVUkFUSU9OX0dVSUQ7DQo+ICtDSEFSMTYgICAg ICAgICAgICAgICAgICAgICAgIG1WYXJpYWJsZU5hbWVbXSA9IEwiU2V0dXAiOw0KPiArQ0hBUjE2 ICAgICAgICAgICAgICAgICAgICAgICBtU2V0dXBOYW1lW10gPSBMIlNldHVwIjsNCj4gK0VGSV9D QUxMQkFDS19JTkZPICAgICAgICAgICAqbUNhbGxiYWNrSW5mbzsNCj4gK0JPT0xFQU4gICAgICAg ICAgICAgICAgICAgICAgR2xvYmFsUmVzZXQ9RkFMU0U7DQo+ICsNCj4gK0hJSV9WRU5ET1JfREVW SUNFX1BBVEggIG1IaWlWZW5kb3JEZXZpY2VQYXRoID0gew0KPiArICB7DQo+ICsgICAgew0KPiAr ICAgICAgSEFSRFdBUkVfREVWSUNFX1BBVEgsDQo+ICsgICAgICBIV19WRU5ET1JfRFAsDQo+ICsg ICAgICB7DQo+ICsgICAgICAgIChVSU5UOCkgKHNpemVvZiAoVkVORE9SX0RFVklDRV9QQVRIKSks DQo+ICsgICAgICAgIChVSU5UOCkgKChzaXplb2YgKFZFTkRPUl9ERVZJQ0VfUEFUSCkpID4+IDgp DQo+ICsgICAgICB9DQo+ICsgICAgfSwNCj4gKyAgICBFRklfQ0FMTEVSX0lEX0dVSUQNCj4gKyAg fSwNCj4gKyAgew0KPiArICAgIEVORF9ERVZJQ0VfUEFUSF9UWVBFLA0KPiArICAgIEVORF9FTlRJ UkVfREVWSUNFX1BBVEhfU1VCVFlQRSwNCj4gKyAgICB7DQo+ICsgICAgICAoVUlOVDgpIChFTkRf REVWSUNFX1BBVEhfTEVOR1RIKSwNCj4gKyAgICAgIChVSU5UOCkgKChFTkRfREVWSUNFX1BBVEhf TEVOR1RIKSA+PiA4KQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArfTsNCj4gKw0KPiArLyoqDQo+ICsg IFRoaXMgZnVuY3Rpb24gYWxsb3dzIGEgY2FsbGVyIHRvIGV4dHJhY3QgdGhlIGN1cnJlbnQgY29u ZmlndXJhdGlvbiBmb3Igb25lDQo+ICsgIG9yIG1vcmUgbmFtZWQgZWxlbWVudHMgZnJvbSB0aGUg dGFyZ2V0IGRyaXZlci4NCj4gKw0KPiArICBAcGFyYW0gIFRoaXMgICAgICAgICBQb2ludHMgdG8g dGhlIEVGSV9ISUlfQ09ORklHX0FDQ0VTU19QUk9UT0NPTC4NCj4gKyAgQHBhcmFtICBSZXF1ZXN0 ICAgICAgQSBudWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgaW4gPENvbmZpZ1JlcXVlc3Q+ DQo+IGZvcm1hdC4NCj4gKyAgQHBhcmFtICBQcm9ncmVzcyAgICAgT24gcmV0dXJuLCBwb2ludHMg dG8gYSBjaGFyYWN0ZXIgaW4gdGhlIFJlcXVlc3Qgc3RyaW5nLg0KPiArICAgICAgICAgICAgICAg ICAgICAgICBQb2ludHMgdG8gdGhlIHN0cmluZydzIG51bGwgdGVybWluYXRvciBpZiByZXF1ZXN0 IHdhcyBzdWNjZXNzZnVsLg0KPiArICAgICAgICAgICAgICAgICAgICAgICBQb2ludHMgdG8gdGhl IG1vc3QgcmVjZW50ICcmJyBiZWZvcmUgdGhlIGZpcnN0IGZhaWxpbmcgbmFtZS92YWx1ZQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICBwYWlyIChvciB0aGUgYmVnaW5uaW5nIG9mIHRoZSBzdHJp bmcgaWYgdGhlIGZhaWx1cmUgaXMgaW4gdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIGZp cnN0IG5hbWUvdmFsdWUgcGFpcikgaWYgdGhlIHJlcXVlc3Qgd2FzIG5vdCBzdWNjZXNzZnVsLg0K PiArICBAcGFyYW0gIFJlc3VsdHMgICAgICBBIG51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmlu ZyBpbiA8Q29uZmlnQWx0UmVzcD4NCj4gZm9ybWF0IHdoaWNoDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgIGhhcyBhbGwgdmFsdWVzIGZpbGxlZCBpbiBmb3IgdGhlIG5hbWVzIGluIHRoZSBSZXF1 ZXN0IHN0cmluZy4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgU3RyaW5nIHRvIGJlIGFsbG9j YXRlZCBieSB0aGUgY2FsbGVkIGZ1bmN0aW9uLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NF U1MgICAgICAgICAgICBUaGUgUmVzdWx0cyBpcyBmaWxsZWQgd2l0aCB0aGUgcmVxdWVzdGVkIHZh bHVlcy4NCj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgIE5vdCBlbm91Z2ggbWVt b3J5IHRvIHN0b3JlIHRoZQ0KPiByZXN1bHRzLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BB UkFNRVRFUiAgUmVxdWVzdCBpcyBOVUxMLCBpbGxlZ2FsIHN5bnRheCwgb3INCj4gdW5rbm93biBu YW1lLg0KPiArICBAcmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgICAgICAgUm91dGluZyBkYXRhIGRv ZXNuJ3QgbWF0Y2ggYW55IHN0b3JhZ2UgaW4NCj4gdGhpcyBkcml2ZXIuDQo+ICsNCj4gKyoqLw0K PiArDQo+ICtWT0lEDQo+ICtDaGVja1N5c3RlbUNvbmZpZ0xvYWQoU1lTVEVNX0NPTkZJR1VSQVRJ T04gKlN5c3RlbUNvbmZpZ1B0cik7DQo+ICsNCj4gK1ZPSUQNCj4gK0NoZWNrU3lzdGVtQ29uZmln U2F2ZShTWVNURU1fQ09ORklHVVJBVElPTiAqU3lzdGVtQ29uZmlnUHRyKTsNCj4gKw0KPiArVk9J RA0KPiArQ29uZmlybVNlY3VyZUJvb3RUZXN0KCk7DQo+ICsNCj4gK1ZPSUQNCj4gK0xvYWRMcHNz RGVmYXVsdFZhbHVlcyAoDQo+ICsgIElOIEVGSV9DQUxMQkFDS19JTkZPICAgICAgICAgICAgICAg ICAgICAgICAqUHJpdmF0ZQ0KPiArICApDQo+ICt7DQo+ICsgIC8vDQo+ICsgIC8vIExvYWQgTFBT UyBhbmQgU0NDIGRlZmF1bHQgY29uZmlndXJhdGlvbnMgZm9yIEFuZHJvaWQNCj4gKyAgLy8NCj4g KyAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzZU1NQ0VuYWJsZWQgICAgICAgICAgICA9IEZBTFNF Ow0KPiArICBQcml2YXRlLT5GYWtlTnZEYXRhLkxwc3NTZGlvRW5hYmxlZCAgICAgICAgICAgID0g VFJVRTsNCj4gKyAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzU2RjYXJkRW5hYmxlZCAgICAgICAg ICA9IFRSVUU7DQo+ICsgIFByaXZhdGUtPkZha2VOdkRhdGEuTHBzc1NkQ2FyZFNEUjI1RW5hYmxl ZCAgICAgPSBGQUxTRTsNCj4gKyAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzU2RDYXJkRERSNTBF bmFibGVkICAgICA9IFRSVUU7DQo+ICsgIFByaXZhdGUtPkZha2VOdkRhdGEuTHBzc01pcGlIc2kg ICAgICAgICAgICAgICAgPSBGQUxTRTsNCj4gKyAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzZU1N QzQ1RW5hYmxlZCAgICAgICAgICA9IFRSVUU7DQo+ICsgIFByaXZhdGUtPkZha2VOdkRhdGEuTHBz c2VNTUM0NUREUjUwRW5hYmxlZCAgICAgPSBUUlVFOw0KPiArICBQcml2YXRlLT5GYWtlTnZEYXRh Lkxwc3NlTU1DNDVIUzIwMEVuYWJsZWQgICAgID0gRkFMU0U7DQo+ICsgIFByaXZhdGUtPkZha2VO dkRhdGEuTHBzc2VNTUM0NVJldHVuZVRpbWVyVmFsdWUgPSA4Ow0KPiArICBQcml2YXRlLT5GYWtl TnZEYXRhLmVNTUNCb290TW9kZSAgICAgICAgICAgICAgID0gMTsgICAgIC8vIEF1dG8gRGV0ZWN0 DQo+ICsNCj4gKyAgUHJpdmF0ZS0+RmFrZU52RGF0YS5HT1BFbmFibGUgPSBUUlVFOw0KPiArICBQ cml2YXRlLT5GYWtlTnZEYXRhLlNlY3VyZUJvb3QgPSBUUlVFOw0KPiArICBQcml2YXRlLT5GYWtl TnZEYXRhLlVzYkF1dG9Nb2RlID0gVFJVRTsNCj4gKyAgUHJpdmF0ZS0+RmFrZU52RGF0YS5Vc2JY aGNpU3VwcG9ydCA9IFRSVUU7DQo+ICsgIFByaXZhdGUtPkZha2VOdkRhdGEuUGNoVXNiMzBNb2Rl ID0gVFJVRTsNCj4gKyAgUHJpdmF0ZS0+RmFrZU52RGF0YS5MZWdhY3lVU0JCb290aW5nID0gRkFM U0U7DQo+ICsgIFByaXZhdGUtPkZha2VOdkRhdGEuUGNoVXNiMjAgPSBGQUxTRTsNCj4gK30NCj4g Kw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1N5c3RlbUNvbmZpZ0V4dHJhY3RD b25maWcgKA0KPiArICBJTiAgQ09OU1QgRUZJX0hJSV9DT05GSUdfQUNDRVNTX1BST1RPQ09MICAg KlRoaXMsDQo+ICsgIElOICBDT05TVCBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICBS ZXF1ZXN0LA0KPiArICBPVVQgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg KlByb2dyZXNzLA0KPiArICBPVVQgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKlJlc3VsdHMNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAg ICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9DQUxMQkFDS19JTkZPICAgICAgICAgICAgICAgICpQ cml2YXRlOw0KPiArICBFRklfSElJX0NPTkZJR19ST1VUSU5HX1BST1RPQ09MICAqSGlpQ29uZmln Um91dGluZzsNCj4gKyAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlnUmVx dWVzdEhkcjsNCj4gKyAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlnUmVx dWVzdDsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICAgQWxsb2NhdGVkUmVx dWVzdDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU2l6ZTsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyU2l6ZTsNCj4gKyAgVk9JRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgKlN5c3RlbUNvbmZpZ1B0cjsNCj4gKw0KPiArDQo+ ICsgIGlmIChQcm9ncmVzcyA9PSBOVUxMIHx8IFJlc3VsdHMgPT0gTlVMTCkgew0KPiArICAgIHJl dHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICAqUHJvZ3Jlc3Mg PSBSZXF1ZXN0Ow0KPiArICBpZiAoKFJlcXVlc3QgIT0gTlVMTCkgJiYgIUhpaUlzQ29uZmlnSGRy TWF0Y2ggKFJlcXVlc3QsDQo+ICZtU3lzdGVtQ29uZmlnR3VpZCwgbVZhcmlhYmxlTmFtZSkpIHsN Cj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArDQo+ICsgIENvbmZpZ1Jl cXVlc3RIZHIgPSBOVUxMOw0KPiArICBDb25maWdSZXF1ZXN0ICAgID0gTlVMTDsNCj4gKyAgU2l6 ZSAgICAgICAgICAgICA9IDA7DQo+ICsgIEFsbG9jYXRlZFJlcXVlc3QgPSBGQUxTRTsNCj4gKw0K PiArICBQcml2YXRlICAgICAgICAgID0gRUZJX0NBTExCQUNLX0lORk9fRlJPTV9USElTIChUaGlz KTsNCj4gKw0KPiArICBTZXR1cEluZm8oKTsNCj4gKw0KPiArICBIaWlDb25maWdSb3V0aW5nID0g UHJpdmF0ZS0+SGlpQ29uZmlnUm91dGluZzsNCj4gKyAgQ29uZmlnUmVxdWVzdCA9IFJlcXVlc3Q7 DQo+ICsgIGlmICgoUmVxdWVzdCA9PSBOVUxMKSB8fCAoU3RyU3RyIChSZXF1ZXN0LCBMIk9GRlNF VCIpID09IE5VTEwpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZXF1ZXN0IGhhcyBubyByZXF1 ZXN0IGVsZW1lbnQsIGNvbnN0cnVjdCBmdWxsIHJlcXVlc3Qgc3RyaW5nLg0KPiArICAgIC8vIEFs bG9jYXRlIGFuZCBmaWxsIGEgYnVmZmVyIGxhcmdlIGVub3VnaCB0byBob2xkIHRoZSA8Q29uZmln SGRyPg0KPiB0ZW1wbGF0ZQ0KPiArICAgIC8vIGZvbGxvd2VkIGJ5ICImT0ZGU0VUPTAmV0lEVEg9 V1dXV1dXV1dXV1dXV1dXVyINCj4gZm9sbG93ZWQgYnkgYSBOdWxsLXRlcm1pbmF0b3INCj4gKyAg ICAvLw0KPiArICAgIENvbmZpZ1JlcXVlc3RIZHIgPSBIaWlDb25zdHJ1Y3RDb25maWdIZHIgKCZt U3lzdGVtQ29uZmlnR3VpZCwNCj4gbVZhcmlhYmxlTmFtZSwgUHJpdmF0ZS0+RHJpdmVySGFuZGxl KTsNCj4gKyAgICBTaXplID0gKFN0ckxlbiAoQ29uZmlnUmVxdWVzdEhkcikgKyAzMiArIDEpICog c2l6ZW9mIChDSEFSMTYpOw0KPiArICAgIENvbmZpZ1JlcXVlc3QgPSBBbGxvY2F0ZVplcm9Qb29s IChTaXplKTsNCj4gKyAgICBBU1NFUlQgKENvbmZpZ1JlcXVlc3QgIT0gTlVMTCk7DQo+ICsgICAg QWxsb2NhdGVkUmVxdWVzdCA9IFRSVUU7DQo+ICsgICAgQnVmZmVyU2l6ZSA9IHNpemVvZiAoU1lT VEVNX0NPTkZJR1VSQVRJT04pOw0KPiArICAgIFVuaWNvZGVTUHJpbnQgKENvbmZpZ1JlcXVlc3Qs IFNpemUsIEwiJXMmT0ZGU0VUPTAmV0lEVEg9JTAxNkxYIiwNCj4gQ29uZmlnUmVxdWVzdEhkciwg KFVJTlQ2NClCdWZmZXJTaXplKTsNCj4gKyAgICBGcmVlUG9vbCAoQ29uZmlnUmVxdWVzdEhkcik7 DQo+ICsgIH0NCj4gKyAgU3lzdGVtQ29uZmlnUHRyID0gR2V0VmFyaWFibGUobVNldHVwTmFtZSwg Jm1Ob3JtYWxTZXR1cEd1aWQpOw0KPiArDQo+ICsNCj4gKyAgaWYgKFN5c3RlbUNvbmZpZ1B0ciA9 PSBOVUxMKSB7DQo+ICsgICAgWmVyb01lbSgmUHJpdmF0ZS0+RmFrZU52RGF0YSwgc2l6ZW9mKFNZ U1RFTV9DT05GSUdVUkFUSU9OKSk7DQo+ICsgICAgWmVyb01lbSgmUHJpdmF0ZS0+QmFja3VwTnZE YXRhLCBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAg ICBDaGVja1N5c3RlbUNvbmZpZ0xvYWQoU3lzdGVtQ29uZmlnUHRyKTsNCj4gKyAgICBDb3B5TWVt KCZQcml2YXRlLT5GYWtlTnZEYXRhLCBTeXN0ZW1Db25maWdQdHIsDQo+IHNpemVvZihTWVNURU1f Q09ORklHVVJBVElPTikpOw0KPiArICAgIENvcHlNZW0oJlByaXZhdGUtPkJhY2t1cE52RGF0YSwg U3lzdGVtQ29uZmlnUHRyLA0KPiBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKTsNCj4gKyAg ICBGcmVlUG9vbChTeXN0ZW1Db25maWdQdHIpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gQ29udmVydCBidWZmZXIgZGF0YSB0byA8Q29uZmlnUmVzcD4gYnkgaGVscGVyIGZ1bmN0aW9u IEJsb2NrVG9Db25maWcoKQ0KPiArICAvLw0KPiArICBTdGF0dXMgPSBIaWlDb25maWdSb3V0aW5n LT5CbG9ja1RvQ29uZmlnICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIaWlD b25maWdSb3V0aW5nLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENvbmZpZ1Jl cXVlc3QsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFVJTlQ4ICopICZQcml2 YXRlLT5GYWtlTnZEYXRhLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVv ZiAoU1lTVEVNX0NPTkZJR1VSQVRJT04pLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFJlc3VsdHMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3Jlc3MN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIEZyZWUgdGhlIGFsbG9jYXRlZCBjb25maWcgcmVxdWVzdCBzdHJpbmcuDQo+ICsgIC8vDQo+ ICsgIGlmIChBbGxvY2F0ZWRSZXF1ZXN0KSB7DQo+ICsgICAgRnJlZVBvb2wgKENvbmZpZ1JlcXVl c3QpOw0KPiArICAgIENvbmZpZ1JlcXVlc3QgPSBOVUxMOw0KPiArICB9DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gU2V0IFByb2dyZXNzIHN0cmluZyB0byB0aGUgb3JpZ2luYWwgcmVxdWVzdCBzdHJp bmcuDQo+ICsgIC8vDQo+ICsgIGlmIChSZXF1ZXN0ID09IE5VTEwpIHsNCj4gKyAgICAqUHJvZ3Jl c3MgPSBOVUxMOw0KPiArICB9IGVsc2UgaWYgKFN0clN0ciAoUmVxdWVzdCwgTCJPRkZTRVQiKSA9 PSBOVUxMKSB7DQo+ICsgICAgKlByb2dyZXNzID0gUmVxdWVzdCArIFN0ckxlbiAoUmVxdWVzdCk7 DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4g KyAgVGhpcyBmdW5jdGlvbiBwcm9jZXNzZXMgdGhlIHJlc3VsdHMgb2YgY2hhbmdlcyBpbiBjb25m aWd1cmF0aW9uLg0KPiArDQo+ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAgIFBvaW50cyB0byB0 aGUgRUZJX0hJSV9DT05GSUdfQUNDRVNTX1BST1RPQ09MLg0KPiArICBAcGFyYW0gIENvbmZpZ3Vy YXRpb24gICBBIG51bGwtdGVybWluYXRlZCBVbmljb2RlIHN0cmluZyBpbg0KPiA8Q29uZmlnUmVx dWVzdD4gZm9ybWF0Lg0KPiArICBAcGFyYW0gIFByb2dyZXNzICAgICAgICBBIHBvaW50ZXIgdG8g YSBzdHJpbmcgZmlsbGVkIGluIHdpdGggdGhlIG9mZnNldCBvZiB0aGUNCj4gbW9zdA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICByZWNlbnQgJyYnIGJlZm9yZSB0aGUgZmlyc3QgZmFpbGlu ZyBuYW1lL3ZhbHVlIHBhaXIgKG9yIHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBi ZWdpbm5pbmcgb2YgdGhlIHN0cmluZyBpZiB0aGUgZmFpbHVyZSBpcyBpbiB0aGUgZmlyc3QNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZS92YWx1ZSBwYWlyKSBvciB0aGUgdGVybWlu YXRpbmcgTlVMTCBpZiBhbGwgd2FzIHN1Y2Nlc3NmdWwuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgIFRoZSBSZXN1bHRzIGlzIHByb2Nlc3NlZCBzdWNjZXNzZnVsbHku DQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBDb25maWd1cmF0aW9uIGlzIE5V TEwuDQo+ICsgIEByZXR2YWwgRUZJX05PVF9GT1VORCAgICAgICAgICBSb3V0aW5nIGRhdGEgZG9l c24ndCBtYXRjaCBhbnkgc3RvcmFnZSBpbg0KPiB0aGlzIGRyaXZlci4NCj4gKw0KPiArKiovDQo+ ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1N5c3RlbUNvbmZpZ1JvdXRlQ29uZmlnICgNCj4g KyAgSU4gIENPTlNUIEVGSV9ISUlfQ09ORklHX0FDQ0VTU19QUk9UT0NPTCAgICpUaGlzLA0KPiAr ICBJTiAgQ09OU1QgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgQ29uZmlndXJhdGlv biwNCj4gKyAgT1VUIEVGSV9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpQcm9n cmVzcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9DQUxMQkFDS19JTkZPICAgICAgICAgICAgICAg ICAgICAgICAgICpQcml2YXRlOw0KPiArICBTWVNURU1fQ09ORklHVVJBVElPTiAgICAgICAgICAg ICAgICAgICAgICAgKkZha2VOdkRhdGE7DQo+ICsNCj4gKyAgaWYgKENvbmZpZ3VyYXRpb24gPT0g TlVMTCB8fCBQcm9ncmVzcyA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BB UkFNRVRFUjsNCj4gKyAgfQ0KPiArICAqUHJvZ3Jlc3MgPSBDb25maWd1cmF0aW9uOw0KPiArDQo+ ICsgIGlmICghSGlpSXNDb25maWdIZHJNYXRjaCAoQ29uZmlndXJhdGlvbiwgJm1TeXN0ZW1Db25m aWdHdWlkLA0KPiBtVmFyaWFibGVOYW1lKSkgew0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5E Ow0KPiArICB9DQo+ICsNCj4gKyAgKlByb2dyZXNzID0gQ29uZmlndXJhdGlvbiArIFN0ckxlbiAo Q29uZmlndXJhdGlvbik7DQo+ICsgIFByaXZhdGUgICAgPSBFRklfQ0FMTEJBQ0tfSU5GT19GUk9N X1RISVMgKFRoaXMpOw0KPiArICBGYWtlTnZEYXRhID0gJlByaXZhdGUtPkZha2VOdkRhdGE7DQo+ ICsgIGlmICghSGlpR2V0QnJvd3NlckRhdGEgKCZtU3lzdGVtQ29uZmlnR3VpZCwgbVZhcmlhYmxl TmFtZSwgc2l6ZW9mDQo+IChTWVNURU1fQ09ORklHVVJBVElPTiksIChVSU5UOCAqKSBGYWtlTnZE YXRhKSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gRmFrZU52RGF0YSBjYW4ndCBiZSBnb3QgZnJv bSBTZXR1cEJyb3dzZXIsIHdoaWNoIGRvZXNuJ3QgbmVlZCB0byBiZQ0KPiBzZXQuDQo+ICsgICAg Ly8NCj4gKyAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoUHJp dmF0ZS0+RmFrZU52RGF0YS5SZXNlcnZlZE8gIT0gUHJpdmF0ZS0+QmFja3VwTnZEYXRhLlJlc2Vy dmVkTykNCj4gew0KPiArICAgIFByaXZhdGUtPkJhY2t1cE52RGF0YS5SZXNlcnZlZE8gPSBQcml2 YXRlLT5GYWtlTnZEYXRhLlJlc2VydmVkTzsNCj4gKyAgICBMb2FkTHBzc0RlZmF1bHRWYWx1ZXMg KFByaXZhdGUpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBQYXNzIGNoYW5nZWQgdW5jb21t aXR0ZWQgZGF0YSBiYWNrIHRvIEZvcm0gQnJvd3Nlcg0KPiArICAgIC8vDQo+ICsgICAgSGlpU2V0 QnJvd3NlckRhdGEgKCZtU3lzdGVtQ29uZmlnR3VpZCwgbVZhcmlhYmxlTmFtZSwgc2l6ZW9mDQo+ IChTWVNURU1fQ09ORklHVVJBVElPTiksIChVSU5UOCAqKSBGYWtlTnZEYXRhLCBOVUxMKTsNCj4g KyAgfQ0KPiArDQo+ICsgIGdSVC0+U2V0VmFyaWFibGUoDQo+ICsgICAgICAgICBtU2V0dXBOYW1l LA0KPiArICAgICAgICAgJm1Ob3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICBFRklfVkFSSUFC TEVfTk9OX1ZPTEFUSUxFIHwNCj4gRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FDQ0VTUywNCj4g KyAgICAgICAgIHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTiksDQo+ICsgICAgICAgICAmUHJp dmF0ZS0+RmFrZU52RGF0YQ0KPiArICAgICAgICAgKTsNCj4gKw0KPiArICBDaGVja1N5c3RlbUNv bmZpZ1NhdmUoJlByaXZhdGUtPkZha2VOdkRhdGEpOw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7 DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGlzIHRoZSBmdW5jdGlvbiB0aGF0IGlzIGNh bGxlZCB0byBwcm92aWRlIHJlc3VsdHMgZGF0YSB0byB0aGUgZHJpdmVyLiAgVGhpcw0KPiBkYXRh DQo+ICsgIGNvbnNpc3RzIG9mIGEgdW5pcXVlIGtleSB3aGljaCBpcyB1c2VkIHRvIGlkZW50aWZ5 IHdoYXQgZGF0YSBpcyBlaXRoZXIgYmVpbmcNCj4gcGFzc2VkIGJhY2sNCj4gKyAgb3IgYmVpbmcg YXNrZWQgZm9yLg0KPiArDQo+ICsgIEBwYXJhbSAgVGhpcyAgICAgICAgICAgUG9pbnRzIHRvIHRo ZSBFRklfSElJX0NPTkZJR19BQ0NFU1NfUFJPVE9DT0wuDQo+ICsgIEBwYXJhbSAgQWN0aW9uICAg ICAgICAgQSBudWxsLXRlcm1pbmF0ZWQgVW5pY29kZSBzdHJpbmcgaW4gPENvbmZpZ1JlcXVlc3Q+ DQo+IGZvcm1hdC4NCj4gKyAgQHBhcmFtICBLZXlWYWx1ZSAgICAgICBBIHVuaXF1ZSBHb3RvIE9w Q29kZSBjYWxsYmFjayB2YWx1ZSB3aGljaCByZWNvcmQNCj4gdXNlcidzIHNlbGVjdGlvbi4NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAweDEwMCA8PSBLZXlWYWx1ZSA8MHg1MDAgOiB1c2Vy IHNlbGVjdCBhIGNvbnRyb2xsZXIgaXRlbSBpbiB0aGUNCj4gZmlyc3QgcGFnZTsNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICBLZXlWYWx1ZSA9PSAweDEyMzQgICAgICAgOiB1c2VyIHNlbGVj dCAnUmVmcmVzaCcgaW4gZmlyc3QgcGFnZSwgb3INCj4gdXNlciBzZWxlY3QgJ0dvIHRvIFByZXZp b3VzIE1lbnUnIGluIHNlY29uZCBwYWdlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgS2V5 VmFsdWUgPT0gMHgxMjM1ICAgICAgIDogdXNlciBzZWxlY3QgJ1BjaSBkZXZpY2UgZmlsdGVyJyBp biBmaXJzdA0KPiBwYWdlDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgS2V5VmFsdWUgPT0g MHgxNTAwICAgICAgIDogdXNlciBzZWxlY3QgJ29yZGVyIC4uLiBwcmlvcml0eScgaXRlbSBpbg0K PiBzZWNvbmQgcGFnZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIEtleVZhbHVlID09IDB4 MTgwMCAgICAgICA6IHVzZXIgc2VsZWN0ICdjb21taW50IGNoYW5nZXMnIGluIHRoaXJkDQo+IHBh Z2UNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBLZXlWYWx1ZSA9PSAweDIwMDAgICAgICAg OiB1c2VyIHNlbGVjdCAnR28gdG8gUHJldmlvdXMgTWVudScgaW4NCj4gdGhpcmQgcGFnZQ0KPiAr ICBAcGFyYW0gIFR5cGUgICAgICAgICAgIFRoZSB0eXBlIG9mIHZhbHVlIGZvciB0aGUgcXVlc3Rp b24uDQo+ICsgIEBwYXJhbSAgVmFsdWUgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBkYXRhIGJl aW5nIHNlbnQgdG8gdGhlIG9yaWdpbmFsDQo+IGV4cG9ydGluZyBkcml2ZXIuDQo+ICsgIEBwYXJh bSAgQWN0aW9uUmVxdWVzdCAgT24gcmV0dXJuLCBwb2ludHMgdG8gdGhlIGFjdGlvbiByZXF1ZXN0 ZWQgYnkgdGhlDQo+IGNhbGxiYWNrIGZ1bmN0aW9uLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgQWx3YXlzIHJldHVybmVkLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArU3lzdGVtQ29uZmlnQ2FsbGJhY2sgKA0KPiArICBJTiAgQ09OU1QgRUZJX0hJ SV9DT05GSUdfQUNDRVNTX1BST1RPQ09MICAgKlRoaXMsDQo+ICsgIElOICBFRklfQlJPV1NFUl9B Q1RJT04gICAgICAgICAgICAgICAgICAgICBBY3Rpb24sDQo+ICsgIElOICBFRklfUVVFU1RJT05f SUQgICAgICAgICAgICAgICAgICAgICAgICBLZXlWYWx1ZSwNCj4gKyAgSU4gIFVJTlQ4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUsDQo+ICsgIElOICBFRklfSUZSX1RZUEVf VkFMVUUgICAgICAgICAgICAgICAgICAgICAqVmFsdWUsDQo+ICsgIE9VVCBFRklfQlJPV1NFUl9B Q1RJT05fUkVRVUVTVCAgICAgICAgICAgICAqQWN0aW9uUmVxdWVzdA0KPiArICApDQo+ICt7DQo+ ICsgIEVGSV9DQUxMQkFDS19JTkZPICAgICAgICAgICAgICpQcml2YXRlOw0KPiArICBTWVNURU1f Q09ORklHVVJBVElPTiAgICAgICAgICAqRmFrZU52RGF0YTsNCj4gKyAgU1lTVEVNX0NPTkZJR1VS QVRJT04gICAgICAgICAgKlNldHVwRGF0YTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgU2l6ZU9mTnZTdG9yZTsNCj4gKyAgRUZJX0lOUFVUX0tFWSAgICAgICAgICAgICAgICAg S2V5Ow0KPiArICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAqU3RyaW5nQnVmZmVyMTsN Cj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgKlN0cmluZ0J1ZmZlcjI7DQo+ICsg IENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICpTdHJpbmdCdWZmZXIzOw0KPiArICBFRklf U1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgIERhdGFTaXplOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAg ICBPc1NlbGVjdGlvbjsNCj4gKyAgRURLSUlfRk9STV9CUk9XU0VSX0VYVEVOU0lPTjJfUFJPVE9D T0wgKkZvcm1Ccm93c2VyRXgyOw0KPiArDQo+ICsgIFN0cmluZ0J1ZmZlcjEgPSBBbGxvY2F0ZVpl cm9Qb29sICgyMDAgKiBzaXplb2YgKENIQVIxNikpOw0KPiArICBBU1NFUlQgKFN0cmluZ0J1ZmZl cjEgIT0gTlVMTCk7DQo+ICsgIFN0cmluZ0J1ZmZlcjIgPSBBbGxvY2F0ZVplcm9Qb29sICgyMDAg KiBzaXplb2YgKENIQVIxNikpOw0KPiArICBBU1NFUlQgKFN0cmluZ0J1ZmZlcjIgIT0gTlVMTCk7 DQo+ICsgIFN0cmluZ0J1ZmZlcjMgPSBBbGxvY2F0ZVplcm9Qb29sICgyMDAgKiBzaXplb2YgKENI QVIxNikpOw0KPiArICBBU1NFUlQgKFN0cmluZ0J1ZmZlcjMgIT0gTlVMTCk7DQo+ICsNCj4gKyAg c3dpdGNoIChBY3Rpb24pIHsNCj4gKyAgY2FzZSBFRklfQlJPV1NFUl9BQ1RJT05fQ0hBTkdJTkc6 DQo+ICsgIHsNCj4gKyAgICBpZiAoS2V5VmFsdWUgPT0gMHgxMjM1KSB7DQo+ICsgICAgICBTdHJD cHkgKFN0cmluZ0J1ZmZlcjEsIEwiV2lsbCB5b3UgZGlzYWJsZSBQVFQgPyAiKTsNCj4gKyAgICAg IFN0ckNweSAoU3RyaW5nQnVmZmVyMiwgTCJFbnRlciAoWUVTKSAgLyAgIEVzYyAoTk8pIik7DQo+ ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBQb3B1cCBhIG1lbnUgdG8gbm90aWNlIHVzZXIN Cj4gKyAgICAgIC8vDQo+ICsgICAgICBkbyB7DQo+ICsgICAgICAgIENyZWF0ZVBvcFVwIChFRklf TElHSFRHUkFZIHwgRUZJX0JBQ0tHUk9VTkRfQkxVRSwgJktleSwNCj4gU3RyaW5nQnVmZmVyMSwg U3RyaW5nQnVmZmVyMiwgTlVMTCk7DQo+ICsgICAgICB9IHdoaWxlICgoS2V5LlNjYW5Db2RlICE9 IFNDQU5fRVNDKSAmJiAoS2V5LlVuaWNvZGVDaGFyICE9DQo+IENIQVJfQ0FSUklBR0VfUkVUVVJO KSk7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBJZiB0aGUgdXNlciBoaXRzIHRoZSBZ RVMgUmVzcG9uc2Uga2V5LA0KPiArICAgICAgLy8NCj4gKyAgICAgIGlmIChLZXkuVW5pY29kZUNo YXIgPT0gQ0hBUl9DQVJSSUFHRV9SRVRVUk4pIHsNCj4gKw0KPiArICAgICAgfQ0KPiArICAgIH0g ZWxzZSBpZiAoS2V5VmFsdWUgPT0gMHgxMjM2KSB7DQo+ICsgICAgICBTdHJDcHkgKFN0cmluZ0J1 ZmZlcjEsIEwiV2lsbCB5b3UgcmV2b2tlIHRydXN0ID8gIik7DQo+ICsgICAgICBTdHJDcHkgKFN0 cmluZ0J1ZmZlcjIsIEwiRW50ZXIgKFlFUykgIC8gICBFc2MgKE5PKSIpOw0KPiArDQo+ICsgICAg ICAvLw0KPiArICAgICAgLy8gUG9wdXAgYSBtZW51IHRvIG5vdGljZSB1c2VyDQo+ICsgICAgICAv Lw0KPiArICAgICAgZG8gew0KPiArICAgICAgICBDcmVhdGVQb3BVcCAoRUZJX0xJR0hUR1JBWSB8 IEVGSV9CQUNLR1JPVU5EX0JMVUUsICZLZXksDQo+IFN0cmluZ0J1ZmZlcjEsIFN0cmluZ0J1ZmZl cjIsIE5VTEwpOw0KPiArICAgICAgfSB3aGlsZSAoKEtleS5TY2FuQ29kZSAhPSBTQ0FOX0VTQykg JiYgKEtleS5Vbmljb2RlQ2hhciAhPQ0KPiBDSEFSX0NBUlJJQUdFX1JFVFVSTikpOw0KPiArDQo+ ICsgICAgICAvLw0KPiArICAgICAgLy8gSWYgdGhlIHVzZXIgaGl0cyB0aGUgWUVTIFJlc3BvbnNl IGtleSwNCj4gKyAgICAgIC8vDQo+ICsgICAgICBpZiAoS2V5LlVuaWNvZGVDaGFyID09IENIQVJf Q0FSUklBR0VfUkVUVVJOKSB7DQo+ICsNCj4gKyAgICAgIH0NCj4gKwkgfSBlbHNlIGlmIChLZXlW YWx1ZSA9PSAweDEyMzkpIHsNCj4gKwkgICBpZiAoVmFsdWUtPnU4ID09IDB4MDApIHsNCj4gKyAg ICAgICBTdHJDcHkgKFN0cmluZ0J1ZmZlcjEsIEwiV0FSTklORzogU09DIG1heSBiZSBkYW1hZ2Vk IGR1ZSB0byBoaWdoDQo+IHRlbXBlcmF0dXJlIik7DQo+ICsgICAgICAgU3RyQ3B5IChTdHJpbmdC dWZmZXIyLCBMIndoZW4gRFBURiBpcyBkaXNhYmxlZCBhbmQgSUdEIHR1cmJvIGlzDQo+IGVuYWJs ZWQuIik7DQo+ICsgICAgICAgU3RyQ3B5IChTdHJpbmdCdWZmZXIzLCBMIlByZXNzIEVudGVyL0VT QyB0byBjb250aW51ZS4uLiIpOw0KPiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFBv cHVwIGEgbWVudSB0byBub3RpY2UgdXNlcg0KPiArICAgICAgICAvLw0KPiArICAgICAgICBkbyB7 DQo+ICsgICAgICAgICAgQ3JlYXRlUG9wVXAgKEVGSV9MSUdIVEdSQVkgfCBFRklfQkFDS0dST1VO RF9CTFVFLCAmS2V5LA0KPiBTdHJpbmdCdWZmZXIxLCBTdHJpbmdCdWZmZXIyLCBTdHJpbmdCdWZm ZXIzLCBOVUxMKTsNCj4gKyAgICAgICAgfSB3aGlsZSAoKEtleS5TY2FuQ29kZSAhPSBTQ0FOX0VT QykgJiYgKEtleS5Vbmljb2RlQ2hhciAhPQ0KPiBDSEFSX0NBUlJJQUdFX1JFVFVSTikpOw0KPiAr ICAgIH0NCj4gKyAgICB9IGVsc2UgaWYgKEtleVZhbHVlID09IDB4MTI0MCkgeyAvLyBzZWN1cmUg ZXJhc2UgZmVhdHVyZSBvZiBlTU1DDQo+ICsJICAgIC8vDQo+ICsgICAgICAvLyBQb3B1cCBhIG1l bnUgdG8gbm90aWNlIHVzZXINCj4gKyAgICAgIC8vDQo+ICsgICAgICBTdHJDcHkgKFN0cmluZ0J1 ZmZlcjEsIEwiV0FSTklORzogQWxsIHlvdXIgZGF0YSBvbiB0aGUgZU1NQyB3aWxsIGJlDQo+IGxv c3QiKTsNCj4gKyAgICAgIFN0ckNweSAoU3RyaW5nQnVmZmVyMiwgTCJEbyB5b3UgcmVhbGx5IHdh bnQgdG8gZW5hYmxlIHNlY3VyZSBlcmFzZSBvbg0KPiBlTU1DPyIpOw0KPiArICAgICAgU3RyQ3B5 IChTdHJpbmdCdWZmZXIzLCBMIiAgICAgICBFbnRlciAoWUVTKSAgICAvICAgIEVzYyAoTk8pICAg ICAgICAiKTsNCj4gKw0KPiArICAgICAgZG8gew0KPiArICAgICAgICBDcmVhdGVQb3BVcCAoRUZJ X0xJR0hUR1JBWSB8IEVGSV9CQUNLR1JPVU5EX0JMVUUsICZLZXksDQo+IFN0cmluZ0J1ZmZlcjEs IFN0cmluZ0J1ZmZlcjIsIFN0cmluZ0J1ZmZlcjMsTlVMTCk7DQo+ICsgICAgICB9IHdoaWxlICgo S2V5LlNjYW5Db2RlICE9IFNDQU5fRVNDKSAmJiAoS2V5LlVuaWNvZGVDaGFyICE9DQo+IENIQVJf Q0FSUklBR0VfUkVUVVJOKSk7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBJZiB0aGUg dXNlciBoaXRzIHRoZSBFU0MgUmVzcG9uc2Uga2V5LA0KPiArICAgICAgLy8NCj4gKyAgICAgIGlm IChLZXkuU2NhbkNvZGUgPT0gU0NBTl9FU0MpIHsNCj4gKyAgICAgICAgUHJpdmF0ZSA9IEVGSV9D QUxMQkFDS19JTkZPX0ZST01fVEhJUyAoVGhpcyk7DQo+ICsgICAgICAgIEZha2VOdkRhdGEgPSAm UHJpdmF0ZS0+RmFrZU52RGF0YTsNCj4gKw0KPiArICAgICAgICBTdGF0dXMgPSBIaWlHZXRCcm93 c2VyRGF0YSAoDQo+ICsJCSAgICAgICAgICAgICAgICZtU3lzdGVtQ29uZmlnR3VpZCwNCj4gKwkJ CQkgICAgICAgICAgIG1WYXJpYWJsZU5hbWUsDQo+ICsJCQkJICAgICAgICAgICBzaXplb2YgKFNZ U1RFTV9DT05GSUdVUkFUSU9OKSwNCj4gKwkJCQkgICAgICAgICAgIChVSU5UOCAqKSBGYWtlTnZE YXRhDQo+ICsJCQkJICAgICAgICAgICApOw0KPiArICAgICAgICBpZiAoIUVGSV9FUlJPUiAoU3Rh dHVzKSkgew0KPiArICAgICAgICAgICAgIEZha2VOdkRhdGEtPlNlY3VyZUVyYXNlID0gMDsNCj4g KyAgICAgICAgICAgICBIaWlTZXRCcm93c2VyRGF0YSAoDQo+ICsgICAgICAgICAgICAgICAmbVN5 c3RlbUNvbmZpZ0d1aWQsDQo+ICsgICAgICAgICAgICAgICBtVmFyaWFibGVOYW1lLA0KPiArICAg ICAgICAgICAgICAgc2l6ZW9mIChTWVNURU1fQ09ORklHVVJBVElPTiksDQo+ICsgICAgICAgICAg ICAgICAoVUlOVDggKikgRmFrZU52RGF0YSwNCj4gKyAgICAgICAgICAgICAgIE5VTEwNCj4gKyAg ICAgICAgICAgICAgICk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAg ICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBJZiB0aGUgdXNlciBoaXRzIHRoZSBZ RVMgUmVzcG9uc2Uga2V5DQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKEtleS5Vbmljb2RlQ2hh ciA9PSBDSEFSX0NBUlJJQUdFX1JFVFVSTikgew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAv LyBTYXZlIGNoYW5nZQ0KPiArICAgICAgICAvLw0KPiArICAgICAgICBQcml2YXRlID0gRUZJX0NB TExCQUNLX0lORk9fRlJPTV9USElTIChUaGlzKTsNCj4gKyAgICAgICAgRmFrZU52RGF0YSA9ICZQ cml2YXRlLT5GYWtlTnZEYXRhOw0KPiArDQo+ICsgICAgICAgIFN0YXR1cyA9IEhpaUdldEJyb3dz ZXJEYXRhICgNCj4gKwkJICAgICAgICAgICAgICAgJm1TeXN0ZW1Db25maWdHdWlkLA0KPiArCQkJ CSAgICAgICAgICAgbVZhcmlhYmxlTmFtZSwNCj4gKwkJCQkgICAgICAgICAgIHNpemVvZiAoU1lT VEVNX0NPTkZJR1VSQVRJT04pLA0KPiArCQkJCSAgICAgICAgICAoVUlOVDggKikgRmFrZU52RGF0 YQ0KPiArCQkJCSAgICAgICAgICApOw0KPiArICAgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgICAgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICBMIlNldHVwIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgJm1Ob3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9W QVJJQUJMRV9OT05fVk9MQVRJTEUgfA0KPiBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNT LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJ T04pLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmUHJpdmF0ZS0+RmFrZU52RGF0YQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICB9DQo+ICsNCj4gKyAg ICAgICAgLy8NCj4gKyAgICAgICAgLy8gUmVzZXQgc3lzdGVtDQo+ICsgICAgICAgIC8vDQo+ICsg ICAgICAgIGdSVC0+UmVzZXRTeXN0ZW0oDQo+ICsJCSAgICAgICAgICAgRWZpUmVzZXRDb2xkLA0K PiArCQkJICAgICAgICAgRUZJX1NVQ0NFU1MsDQo+ICsJCQkgICAgICAgICAwLA0KPiArCQkJICAg ICAgICAgTlVMTA0KPiArCQkJICAgICAgICAgKTsNCj4gKw0KPiArICAgIH0NCj4gKw0KPiArDQo+ ICsgICAgfQ0KPiArICAgIGVsc2UgaWYgKEtleVZhbHVlID09IDB4RjAwMSkgew0KPiArICAgICAg Ly8NCj4gKyAgICAgIC8vIFBvcHVwIGEgbWVudSB0byBub3RpY2UgdXNlcg0KPiArICAgICAgLy8N Cj4gKyAgICAgIFN0ckNweSAoU3RyaW5nQnVmZmVyMSwgTCJEbyB5b3Ugd2FudCB0byBDb21taXQg Q2hhbmdlcyBhbmQgRXhpdD8iKTsNCj4gKyAgICAgIFN0ckNweSAoU3RyaW5nQnVmZmVyMiwgTCIg ICAgICAgICBFbnRlciAoWUVTKSAvIEVzYyAoTk8pICAgICAgICAiKTsNCj4gKw0KPiArICAgICAg ZG8gew0KPiArICAgICAgICBDcmVhdGVQb3BVcCAoRUZJX0xJR0hUR1JBWSB8IEVGSV9CQUNLR1JP VU5EX0JMVUUsICZLZXksDQo+IFN0cmluZ0J1ZmZlcjEsIFN0cmluZ0J1ZmZlcjIsIE5VTEwpOw0K PiArICAgICAgfSB3aGlsZSAoKEtleS5TY2FuQ29kZSAhPSBTQ0FOX0VTQykgJiYgKEtleS5Vbmlj b2RlQ2hhciAhPQ0KPiBDSEFSX0NBUlJJQUdFX1JFVFVSTikpOw0KPiArDQo+ICsgICAgICAvLw0K PiArICAgICAgLy8gSWYgdGhlIHVzZXIgaGl0cyB0aGUgWUVTIFJlc3BvbnNlIGtleQ0KPiArICAg ICAgLy8NCj4gKyAgICAgIGlmIChLZXkuVW5pY29kZUNoYXIgPT0gQ0hBUl9DQVJSSUFHRV9SRVRV Uk4pIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gU2F2ZSBjaGFuZ2UNCj4gKyAgICAg ICAgLy8NCj4gKyAgICAgICAgUHJpdmF0ZSA9IEVGSV9DQUxMQkFDS19JTkZPX0ZST01fVEhJUyAo VGhpcyk7DQo+ICsgICAgICAgIEZha2VOdkRhdGEgPSAmUHJpdmF0ZS0+RmFrZU52RGF0YTsNCj4g Kw0KPiArICAgICAgICBTdGF0dXMgPSBIaWlHZXRCcm93c2VyRGF0YSAoDQo+ICsJCSAgICAgICAg ICAgJm1TeXN0ZW1Db25maWdHdWlkLA0KPiArCQkJCSAgIG1WYXJpYWJsZU5hbWUsDQo+ICsJCQkJ ICAgc2l6ZW9mIChTWVNURU1fQ09ORklHVVJBVElPTiksDQo+ICsJCQkJICAgKFVJTlQ4ICopIEZh a2VOdkRhdGENCj4gKwkJCQkgICApOw0KPiArICAgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgICAgIFN0YXR1cyA9IGdSVC0+U2V0VmFyaWFibGUgKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICBMIlNldHVwIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgJm1Ob3JtYWxTZXR1cEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIEVGSV9W QVJJQUJMRV9OT05fVk9MQVRJTEUgfA0KPiBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNT LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJ T04pLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmUHJpdmF0ZS0+RmFrZU52RGF0YQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgICB9DQo+ICsNCj4gKwkJ Ly8NCj4gKwkJLy8gVXBkYXRlIFNlY3VyZSBCb290IGNvbmZpZ3VyYXRpb24gY2hhbmdlcw0KPiAr CQkvLw0KPiArICAgICAgICBDaGVja1N5c3RlbUNvbmZpZ1NhdmUoRmFrZU52RGF0YSk7DQo+ICsN Cj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gUmVzZXQgc3lzdGVtDQo+ICsgICAgICAgIC8v DQo+ICsgICAgICAgIGlmIChHbG9iYWxSZXNldCA9PSBUUlVFKSB7DQo+ICsgICAgICAgICAgLy8N Cj4gKyAgICAgICAgICAvLyBJc3N1ZSBmdWxsIHJlc2V0DQo+ICsgICAgICAgICAgLy8NCj4gKyAg ICAgICAgICBJb1dyaXRlOCAoDQo+ICsgICAgICAgICAgICAoVUlOVE4pIDBYQ0Y5LA0KPiArICAg ICAgICAgICAgKFVJTlQ4KSAweDAyDQo+ICsgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgICAg ICAgSW9Xcml0ZTggKA0KPiArICAgICAgICAgICAgKFVJTlROKSAweENGOSwNCj4gKyAgICAgICAg ICAgIChVSU5UOCkgMHgwRQ0KPiArICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgfSBlbHNlIHsN Cj4gKyAgICAgICAgCWdSVC0+UmVzZXRTeXN0ZW0oDQo+ICsJCQkgICAgICAgRWZpUmVzZXRDb2xk LA0KPiArCQkJCSAgIEVGSV9TVUNDRVNTLA0KPiArCQkJCSAgIDAsDQo+ICsJCQkJICAgTlVMTA0K PiArCQkJCSAgICk7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgICB9IGVsc2UgaWYg KEtleVZhbHVlID09IDB4RjAwMikgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFBvcHVwIGEg bWVudSB0byBub3RpY2UgdXNlcg0KPiArICAgICAgLy8NCj4gKyAgICAgIFN0ckNweSAoU3RyaW5n QnVmZmVyMSwgTCJEbyB5b3Ugd2FudCB0byBEaXNjYXJkIENoYW5nZXMgYW5kIEV4aXQ/Iik7DQo+ ICsgICAgICBTdHJDcHkgKFN0cmluZ0J1ZmZlcjIsIEwiICAgICAgICAgRW50ZXIgKFlFUykgLyBF c2MgKE5PKSAgICAgICAgICIpOw0KPiArDQo+ICsgICAgICBkbyB7DQo+ICsgICAgICAgIENyZWF0 ZVBvcFVwIChFRklfTElHSFRHUkFZIHwgRUZJX0JBQ0tHUk9VTkRfQkxVRSwgJktleSwNCj4gU3Ry aW5nQnVmZmVyMSwgU3RyaW5nQnVmZmVyMiwgTlVMTCk7DQo+ICsgICAgICB9IHdoaWxlICgoS2V5 LlNjYW5Db2RlICE9IFNDQU5fRVNDKSAmJiAoS2V5LlVuaWNvZGVDaGFyICE9DQo+IENIQVJfQ0FS UklBR0VfUkVUVVJOKSk7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBJZiB0aGUgdXNl ciBoaXRzIHRoZSBZRVMgUmVzcG9uc2Uga2V5DQo+ICsgICAgICAvLw0KPiArICAgICAgaWYgKEtl eS5Vbmljb2RlQ2hhciA9PSBDSEFSX0NBUlJJQUdFX1JFVFVSTikgew0KPiArICAgICAgICAvLw0K PiArICAgICAgICAvLyBSZXNldCBzeXN0ZW0NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgZ1JU LT5SZXNldFN5c3RlbShFZmlSZXNldENvbGQsIEVGSV9TVUNDRVNTLCAwLCBOVUxMKTsNCj4gKyAg ICAgIH0NCj4gKyAgICB9IGVsc2UgaWYgKEtleVZhbHVlID09IDB4RjAwMykgew0KPiArICAgICAg Ly8NCj4gKyAgICAgIC8vIFBvcHVwIGEgbWVudSB0byBub3RpY2UgdXNlcg0KPiArICAgICAgLy8N Cj4gKyAgICAgIFN0ckNweSAoU3RyaW5nQnVmZmVyMSwgTCJEbyB5b3Ugd2FudCB0byBsb2FkIHNl dHVwIGRlZmF1bHRzIGFuZCBFeGl0PyIpOw0KPiArICAgICAgU3RyQ3B5IChTdHJpbmdCdWZmZXIy LCBMIiAgICAgICAgIEVudGVyIChZRVMpIC8gRXNjIChOTykgICAgICAgICAgICAgIik7DQo+ICsN Cj4gKyAgICAgIGRvIHsNCj4gKyAgICAgICAgQ3JlYXRlUG9wVXAgKEVGSV9MSUdIVEdSQVkgfCBF RklfQkFDS0dST1VORF9CTFVFLCAmS2V5LA0KPiBTdHJpbmdCdWZmZXIxLCBTdHJpbmdCdWZmZXIy LCBOVUxMKTsNCj4gKyAgICAgIH0gd2hpbGUgKChLZXkuU2NhbkNvZGUgIT0gU0NBTl9FU0MpICYm IChLZXkuVW5pY29kZUNoYXIgIT0NCj4gQ0hBUl9DQVJSSUFHRV9SRVRVUk4pKTsNCj4gKw0KPiAr ICAgICAgLy8NCj4gKyAgICAgIC8vIElmIHRoZSB1c2VyIGhpdHMgdGhlIFlFUyBSZXNwb25zZSBr ZXkNCj4gKyAgICAgIC8vDQo+ICsgICAgICBpZiAoS2V5LlVuaWNvZGVDaGFyID09IENIQVJfQ0FS UklBR0VfUkVUVVJOKSB7DQo+ICsNCj4gKyAgICAgICAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90 b2NvbCAoJmdFZGtpaUZvcm1Ccm93c2VyRXgyUHJvdG9jb2xHdWlkLA0KPiBOVUxMLCAoVk9JRCAq KikgJkZvcm1Ccm93c2VyRXgyKTsNCj4gKyAgICAgICAgRm9ybUJyb3dzZXJFeDItPkV4ZWN1dGVB Y3Rpb24oQlJPV1NFUl9BQ1RJT05fREVGQVVMVCwNCj4gRUZJX0hJSV9ERUZBVUxUX0NMQVNTX1NU QU5EQVJEKTsNCj4gKw0KPiArICAgICAgICBGYWtlTnZEYXRhID0gQWxsb2NhdGVaZXJvUG9vbCAo c2l6ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKSk7DQo+ICsNCj4gKyAgICAgICAgaWYgKEZha2VO dkRhdGEgPT0gTlVMTCkgew0KPiArICAgICAgICAgIHJldHVybiBFRklfT1VUX09GX1JFU09VUkNF UzsNCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIFN0YXR1cyA9IEhpaUdldEJyb3dzZXJE YXRhICgNCj4gKwkJICAgICAgICAgICAmbVN5c3RlbUNvbmZpZ0d1aWQsDQo+ICsJCQkJICAgbVZh cmlhYmxlTmFtZSwNCj4gKwkJCQkgICBzaXplb2YgKFNZU1RFTV9DT05GSUdVUkFUSU9OKSwNCj4g KwkJCQkgICAoVUlOVDggKikgRmFrZU52RGF0YQ0KPiArCQkJCSAgICk7DQo+ICsNCj4gKyAgICAg ICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgICBTdGF0dXMgPSBnUlQt PlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTCJTZXR1cCIsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICZtTm9ybWFsU2V0dXBHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEVGSV9WQVJJQUJMRV9OT05fVk9MQVRJTEUgfA0KPiBFRklf VkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUNDRVNTLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pLA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICBGYWtlTnZEYXRhDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAg ICAgIH0NCj4gKw0KPiArICAgICAgICBGcmVlUG9vbCAoRmFrZU52RGF0YSk7DQo+ICsNCj4gKyAg ICAgICAgRGF0YVNpemUgPSBzaXplb2YoT3NTZWxlY3Rpb24pOw0KPiArICAgICAgICBTdGF0dXMg PSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgTCJPc1NlbGVj dGlvbiIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmZ09zU2VsZWN0aW9uVmFyaWFibGVH dWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICZEYXRhU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICZPc1NlbGVj dGlvbg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgICAgICBpZiAo RUZJX0VSUk9SKFN0YXR1cykgfHwgKE9zU2VsZWN0aW9uICE9IEZha2VOdkRhdGEtPlJlc2VydmVk TykpIHsNCj4gKyAgICAgICAgICBPc1NlbGVjdGlvbiA9IEZha2VOdkRhdGEtPlJlc2VydmVkTzsN Cj4gKyAgICAgICAgICBTdGF0dXMgPSBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgTCJPc1NlbGVjdGlvbiIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICZnT3NTZWxlY3Rpb25WYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgIEVGSV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBFRklfVkFSSUFCTEVfUlVO VElNRV9BQ0NFU1MgfCBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFLA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICBzaXplb2YoT3NTZWxlY3Rpb24pLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAmT3NTZWxlY3Rpb24NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFJlc2V0IHN5c3Rl bQ0KPiArICAgICAgICAvLw0KPiArICAgICAgICBnUlQtPlJlc2V0U3lzdGVtKA0KPiArCQkgICAg ICAgRWZpUmVzZXRDb2xkLA0KPiArCQkJICAgRUZJX1NVQ0NFU1MsDQo+ICsJCQkgICAwLA0KPiAr CQkJICAgTlVMTA0KPiArCQkJICAgKTsNCj4gKyAgICAgIH0NCj4gKyAgICB9IGVsc2UgaWYgKChL ZXlWYWx1ZSA9PSAweDEyM0EpIHx8IChLZXlWYWx1ZSA9PSAweDEyM0IpIHx8IChLZXlWYWx1ZSA9 PQ0KPiAweDEyM0MpKSB7DQo+ICsgICAgICAgIFN0ckNweSAoU3RyaW5nQnVmZmVyMSwgTCJXQVJO SU5HOiBFbmFibGUgb3IgZGlzYWJsZSBVU0IgQ29udHJvbGxlcnMNCj4gd2lsbCAiKTsNCj4gKyAg ICAgICAgU3RyQ3B5IChTdHJpbmdCdWZmZXIyLCBMIm1ha2UgZ2xvYmFsIHJlc2V0IHRvIHJlc3Rh cnQgc3lzdGVtLiIpOw0KPiArICAgICAgICBTdHJDcHkgKFN0cmluZ0J1ZmZlcjMsIEwiUHJlc3Mg RW50ZXIvRVNDIHRvIGNvbnRpbnVlLi4uIik7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8v IFBvcHVwIGEgbWVudSB0byBub3RpY2UgdXNlcg0KPiArICAgICAgICAvLw0KPiArICAgICAgICBk byB7DQo+ICsgICAgICAgICAgQ3JlYXRlUG9wVXAgKEVGSV9MSUdIVEdSQVkgfCBFRklfQkFDS0dS T1VORF9CTFVFLCAmS2V5LA0KPiBTdHJpbmdCdWZmZXIxLCBTdHJpbmdCdWZmZXIyLCBTdHJpbmdC dWZmZXIzLCBOVUxMKTsNCj4gKyAgICAgICAgfSB3aGlsZSAoKEtleS5TY2FuQ29kZSAhPSBTQ0FO X0VTQykgJiYgKEtleS5Vbmljb2RlQ2hhciAhPQ0KPiBDSEFSX0NBUlJJQUdFX1JFVFVSTikpOw0K PiArDQo+ICsgICAgICAgIEZha2VOdkRhdGEgPSBBbGxvY2F0ZVplcm9Qb29sIChzaXplb2YoU1lT VEVNX0NPTkZJR1VSQVRJT04pKTsNCj4gKyAgICAgICAgU3RhdHVzID0gSGlpR2V0QnJvd3NlckRh dGEgKA0KPiArCQkgICAgICAgICAgICZtU3lzdGVtQ29uZmlnR3VpZCwNCj4gKwkJCQkgICBtVmFy aWFibGVOYW1lLA0KPiArCQkJCSAgIHNpemVvZiAoU1lTVEVNX0NPTkZJR1VSQVRJT04pLA0KPiAr CQkJCSAgIChVSU5UOCAqKSBGYWtlTnZEYXRhDQo+ICsJCQkJICAgKTsNCj4gKyAgICAgICAgLy8N Cj4gKyAgICAgICAgLy8gR2V0IHZhcmlhYmxlIGRhdGENCj4gKyAgICAgICAgLy8NCj4gKyAgICAg ICAgU2l6ZU9mTnZTdG9yZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAg ICAgIFNldHVwRGF0YSA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZihTWVNURU1fQ09ORklHVVJB VElPTikpOw0KPiArICAgICAgICBTdGF0dXMgPSBnUlQtPkdldFZhcmlhYmxlKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgTCJTZXR1cCIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAm bU5vcm1hbFNldHVwR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAmU2l6ZU9mTnZTdG9yZSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgIFNldHVwRGF0YQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg ICAgICAgaWYgKChTZXR1cERhdGEtPlVzYkF1dG9Nb2RlICE9IEZha2VOdkRhdGEtPlVzYkF1dG9N b2RlKSB8fA0KPiArICAgICAgICAJICAgKFNldHVwRGF0YS0+VXNiWGhjaVN1cHBvcnQgIT0gRmFr ZU52RGF0YS0+VXNiWGhjaVN1cHBvcnQpIHx8DQo+ICsgICAgICAgIAkgICAoU2V0dXBEYXRhLT5Q Y2hVc2IyMCAhPSBGYWtlTnZEYXRhLT5QY2hVc2IyMCkpIHsNCj4gKyAgICAgICAgICBHbG9iYWxS ZXNldCA9IFRSVUU7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgR2xvYmFsUmVz ZXQgPSBGQUxTRTsNCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgfQ0KPiArICB9DQo+ICsgIGJy ZWFrOw0KPiArDQo+ICsgIGRlZmF1bHQ6DQo+ICsgICAgYnJlYWs7DQo+ICsgIH0NCj4gKw0KPiAr ICBGcmVlUG9vbCAoU3RyaW5nQnVmZmVyMSk7DQo+ICsgIEZyZWVQb29sIChTdHJpbmdCdWZmZXIy KTsNCj4gKyAgRnJlZVBvb2wgKFN0cmluZ0J1ZmZlcjMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFdvcmthcm91bmQgZm9yIExvYWQgRGVmYXVsdCBmb3IgIkRQVEYgRW5hYmxlIg0KPiArICAvLw0K PiArICBpZiAoQWN0aW9uID09IEVGSV9CUk9XU0VSX0FDVElPTl9ERUZBVUxUX1NUQU5EQVJEKSB7 DQo+ICsgICAgaWYgKEtleVZhbHVlID09IDB4MTIzOSkgew0KPiArICAgICAgcmV0dXJuIEVGSV9O T1RfRk9VTkQ7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEFjdGlvbiA9PSBFRklf QlJPV1NFUl9BQ1RJT05fRk9STV9DTE9TRSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gRG8gbm90 aGluZyBmb3IgVUVGSSBPUEVOL0NMT1NFIEFjdGlvbg0KPiArICAgIC8vDQo+ICsgICAgcmV0dXJu IEVGSV9TVUNDRVNTOw0KPiArICB9DQo+ICsNCj4gKyAgUHJpdmF0ZSA9IEVGSV9DQUxMQkFDS19J TkZPX0ZST01fVEhJUyAoVGhpcyk7DQo+ICsgIEZha2VOdkRhdGEgPSAmUHJpdmF0ZS0+RmFrZU52 RGF0YTsNCj4gKyAgaWYgKCFIaWlHZXRCcm93c2VyRGF0YSAoJm1TeXN0ZW1Db25maWdHdWlkLCBt VmFyaWFibGVOYW1lLCBzaXplb2YNCj4gKFNZU1RFTV9DT05GSUdVUkFUSU9OKSwgKFVJTlQ4ICop IEZha2VOdkRhdGEpKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICsgIH0NCj4g Kw0KPiArICBpZiAoKEFjdGlvbiA9PSBFRklfQlJPV1NFUl9BQ1RJT05fRk9STV9PUEVOKSAmJiAo UHJpdmF0ZS0NCj4gPkZha2VOdkRhdGEuUmVzZXJ2ZWRPICE9IFByaXZhdGUtPkJhY2t1cE52RGF0 YS5SZXNlcnZlZE8pKSB7DQo+ICsgICAgUHJpdmF0ZS0+QmFja3VwTnZEYXRhLlJlc2VydmVkTyA9 IFByaXZhdGUtPkZha2VOdkRhdGEuUmVzZXJ2ZWRPOw0KPiArICAgIExvYWRMcHNzRGVmYXVsdFZh bHVlcyAoUHJpdmF0ZSk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBXaGVuIHVzZXIg c2VsZWN0ZWQgdGhlIHNlY3VyZSBlcmFzZSwgc2V0IGl0IHRvIGRpc2FibGUNCj4gKyAgLy8NCj4g KyAgaWYoKEtleVZhbHVlID09IDB4MTI0MCkgJiYgKEFjdGlvbiA9PSBFRklfQlJPV1NFUl9BQ1RJ T05fQ0hBTkdFRCkpDQo+IHsNCj4gKyAgICBGYWtlTnZEYXRhLT5TZWN1cmVFcmFzZSA9IDA7DQo+ ICsgIH0NCj4gKw0KPiArICBpZiAoKEFjdGlvbiA9PSBFRklfQlJPV1NFUl9BQ1RJT05fRk9STV9P UEVOKSB8fCAoQWN0aW9uID09DQo+IEVGSV9CUk9XU0VSX0FDVElPTl9DSEFOR0VEKSkgew0KPiAr ICAgIC8vDQo+ICsgICAgLy8gSWYgZnVuY3Rpb24gMCBpcyBkaXNhYmxlZCwgZnVuY3Rpb24gMSB+ IDcgYWxzbyByZXF1aXJlZCB0byBiZSBkaXNhYmxlZC4NCj4gKyAgICAvLw0KPiArICAgIGlmIChQ cml2YXRlLT5GYWtlTnZEYXRhLkxwc3NEbWEwRW5hYmxlZCA9PSAwKSB7DQo+ICsgICAgICBQcml2 YXRlLT5GYWtlTnZEYXRhLkxwc3NIc3VhcnQwRW5hYmxlZCA9IDA7DQo+ICsgICAgICBQcml2YXRl LT5GYWtlTnZEYXRhLkxwc3NIc3VhcnQxRW5hYmxlZCA9IDA7DQo+ICsgICAgICBQcml2YXRlLT5G YWtlTnZEYXRhLkxwc3NQd20wRW5hYmxlZCAgICA9IDA7DQo+ICsgICAgICBQcml2YXRlLT5GYWtl TnZEYXRhLkxwc3NQd20xRW5hYmxlZCAgICA9IDA7DQo+ICsgICAgICBQcml2YXRlLT5GYWtlTnZE YXRhLkxwc3NTcGlFbmFibGVkICAgICA9IDA7DQo+ICsgICAgfQ0KPiArDQo+ICsNCj4gKyAgICAv Lw0KPiArICAgIC8vIElmIGZ1bmN0aW9uIDAgaXMgZGlzYWJsZWQsIGZ1bmN0aW9uIDEgfiA3IGFs c28gcmVxdWlyZWQgdG8gYmUgZGlzYWJsZWQuDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoUHJpdmF0 ZS0+RmFrZU52RGF0YS5McHNzRG1hMUVuYWJsZWQgPT0gMCkgew0KPiArICAgICAgUHJpdmF0ZS0+ RmFrZU52RGF0YS5McHNzSTJDMEVuYWJsZWQgPSAwOw0KPiArICAgICAgUHJpdmF0ZS0+RmFrZU52 RGF0YS5McHNzSTJDMUVuYWJsZWQgPSAwOw0KPiArICAgICAgUHJpdmF0ZS0+RmFrZU52RGF0YS5M cHNzSTJDMkVuYWJsZWQgPSAwOw0KPiArICAgICAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzSTJD M0VuYWJsZWQgPSAwOw0KPiArICAgICAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzSTJDNEVuYWJs ZWQgPSAwOw0KPiArICAgICAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzSTJDNUVuYWJsZWQgPSAw Ow0KPiArICAgICAgUHJpdmF0ZS0+RmFrZU52RGF0YS5McHNzSTJDNkVuYWJsZWQgPSAwOw0KPiAr ICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUGFzcyBjaGFuZ2VkIHVu Y29tbWl0dGVkIGRhdGEgYmFjayB0byBGb3JtIEJyb3dzZXINCj4gKyAgLy8NCj4gKyAgSGlpU2V0 QnJvd3NlckRhdGEgKCZtU3lzdGVtQ29uZmlnR3VpZCwgbVZhcmlhYmxlTmFtZSwgc2l6ZW9mDQo+ IChTWVNURU1fQ09ORklHVVJBVElPTiksIChVSU5UOCAqKSBGYWtlTnZEYXRhLCBOVUxMKTsNCj4g Kw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsg IFRoZSBkcml2ZXIgRW50cnkgUG9pbnQuIFRoZSBmdW5jdGlvbiB3aWxsIGV4cG9ydCBhIGRpc2sg ZGV2aWNlIGNsYXNzIGZvcm1zZXQNCj4gYW5kDQo+ICsgIGl0cyBjYWxsYmFjayBmdW5jdGlvbiB0 byBoaWkgZGF0YWJhc2UuDQo+ICsNCj4gKyAgQHBhcmFtICBJbWFnZUhhbmRsZSAgICBUaGUgZmly bXdhcmUgYWxsb2NhdGVkIGhhbmRsZSBmb3IgdGhlIEVGSSBpbWFnZS4NCj4gKyAgQHBhcmFtICBT eXN0ZW1UYWJsZSAgICBBIHBvaW50ZXIgdG8gdGhlIEVGSSBTeXN0ZW0gVGFibGUuDQo+ICsNCj4g KyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICBUaGUgZW50cnkgcG9pbnQgaXMgZXhlY3V0ZWQgc3Vj Y2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIG90aGVyICAgICAgICAgIFNvbWUgZXJyb3Igb2NjdXJz IHdoZW4gZXhlY3V0aW5nIHRoaXMgZW50cnkgcG9pbnQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtQbGF0Zm9ybVNldHVwRHhlSW5pdCAoDQo+ICsgIElOIEVGSV9I QU5ETEUgICAgICAgICAgICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1f VEFCTEUgICAgICAgICAgICAgKlN5c3RlbVRhYmxlDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0ZPUk1fQlJPV1NFUjJfUFJP VE9DT0wgICpGb3JtQnJvd3NlcjI7DQo+ICsNCj4gKyAgbUltYWdlSGFuZGxlID0gSW1hZ2VIYW5k bGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVGhlcmUgc2hvdWxkIG9ubHkgYmUgb25lIEZvcm0g Q29uZmlndXJhdGlvbiBwcm90b2NvbA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0 ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgJmdFZmlGb3JtQnJvd3NlcjJQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgIChW T0lEICoqKSAmRm9ybUJyb3dzZXIyDQo+ICsgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsN Cj4gKyAgbUNhbGxiYWNrSW5mbyA9IEFsbG9jYXRlWmVyb1Bvb2wgKHNpemVvZiAoRUZJX0NBTExC QUNLX0lORk8pKTsNCj4gKyAgaWYgKG1DYWxsYmFja0luZm8gPT0gTlVMTCkgew0KPiArICAgIHJl dHVybiBFRklfQkFEX0JVRkZFUl9TSVpFOw0KPiArICB9DQo+ICsNCj4gKyAgbUNhbGxiYWNrSW5m by0+U2lnbmF0dXJlID0gRUZJX0NBTExCQUNLX0lORk9fU0lHTkFUVVJFOw0KPiArICBtQ2FsbGJh Y2tJbmZvLT5Db25maWdBY2Nlc3MuRXh0cmFjdENvbmZpZyA9IFN5c3RlbUNvbmZpZ0V4dHJhY3RD b25maWc7DQo+ICsgIG1DYWxsYmFja0luZm8tPkNvbmZpZ0FjY2Vzcy5Sb3V0ZUNvbmZpZyAgID0g U3lzdGVtQ29uZmlnUm91dGVDb25maWc7DQo+ICsgIG1DYWxsYmFja0luZm8tPkNvbmZpZ0FjY2Vz cy5DYWxsYmFjayAgICAgID0gU3lzdGVtQ29uZmlnQ2FsbGJhY2s7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gSW5zdGFsbCBEZXZpY2UgUGF0aCBQcm90b2NvbCBhbmQgQ29uZmlnIEFjY2VzcyBwcm90 b2NvbCB0byBkcml2ZXIgaGFuZGxlDQo+ICsgIC8vIEluc3RhbGwgUGxhdGZvcm0gRHJpdmVyIE92 ZXJyaWRlIFByb3RvY29sIHRvIGRyaXZlciBoYW5kbGUNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0g Z0JTLT5JbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFjZXMgKA0KPiArICAgICAgICAgICAg ICAgICAgJm1DYWxsYmFja0luZm8tPkRyaXZlckhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAg ICZnRWZpRGV2aWNlUGF0aFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICZtSGlp VmVuZG9yRGV2aWNlUGF0aCwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpSGlpQ29uZmlnQWNj ZXNzUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgJm1DYWxsYmFja0luZm8tPkNv bmZpZ0FjY2VzcywNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAg ICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICBnb3RvIEZpbmlz aDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFB1Ymxpc2ggb3VyIEhJSSBkYXRhDQo+ ICsgIC8vDQo+ICsgIG1DYWxsYmFja0luZm8tPlJlZ2lzdGVyZWRIYW5kbGUgPSBIaWlBZGRQYWNr YWdlcyAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZtU3lzdGVt Q29uZmlnR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUNh bGxiYWNrSW5mby0+RHJpdmVySGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBWZnJCaW4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFBsYXRmb3JtU2V0dXBEeGVTdHJpbmdzLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICk7DQo+ICsgIGlmIChtQ2FsbGJhY2tJbmZvLT5SZWdpc3RlcmVkSGFuZGxlID09IE5VTEwp IHsNCj4gKyAgICBTdGF0dXMgPSBFRklfT1VUX09GX1JFU09VUkNFUzsNCj4gKyAgICBnb3RvIEZp bmlzaDsNCj4gKyAgfQ0KPiArDQo+ICsgIG1IaWlIYW5kbGUgPSBtQ2FsbGJhY2tJbmZvLT5SZWdp c3RlcmVkSGFuZGxlOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIExvY2F0ZSBDb25maWdSb3V0aW5n IHByb3RvY29sDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0K PiArICAgICAgICAgICAgICAgICAgJmdFZmlIaWlDb25maWdSb3V0aW5nUHJvdG9jb2xHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgIChWT0lEICoq KSAmbUNhbGxiYWNrSW5mby0+SGlpQ29uZmlnUm91dGluZw0KPiArICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIGdvdG8gRmluaXNoOw0K PiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2xlYXIgYWxsIHRoZSBnbG9ibGUgdmFyaWFi bGUNCj4gKyAgLy8NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArDQo+ICtGaW5pc2g6DQo+ ICsgIGlmIChtQ2FsbGJhY2tJbmZvLT5Ecml2ZXJIYW5kbGUgIT0gTlVMTCkgew0KPiArICAgIGdC Uy0+VW5pbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFjZXMgKA0KPiArICAgICAgICAgICBt Q2FsbGJhY2tJbmZvLT5Ecml2ZXJIYW5kbGUsDQo+ICsgICAgICAgICAgICZnRWZpRGV2aWNlUGF0 aFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgJm1IaWlWZW5kb3JEZXZpY2VQYXRoLA0KPiAr ICAgICAgICAgICAmZ0VmaUhpaUNvbmZpZ0FjY2Vzc1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAg ICAgJm1DYWxsYmFja0luZm8tPkNvbmZpZ0FjY2VzcywNCj4gKyAgICAgICAgICAgTlVMTA0KPiAr ICAgICAgICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKG1DYWxsYmFja0luZm8tPlJlZ2lz dGVyZWRIYW5kbGUgIT0gTlVMTCkgew0KPiArICAgIEhpaVJlbW92ZVBhY2thZ2VzIChtQ2FsbGJh Y2tJbmZvLT5SZWdpc3RlcmVkSGFuZGxlKTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChtQ2FsbGJh Y2tJbmZvICE9IE5VTEwpIHsNCj4gKyAgICBGcmVlUG9vbCAobUNhbGxiYWNrSW5mbyk7DQo+ICsg IH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgVW5s b2FkIGl0cyBpbnN0YWxsZWQgcHJvdG9jb2wuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSAgSW1hZ2VI YW5kbGUgICAgICAgSGFuZGxlIHRoYXQgaWRlbnRpZmllcyB0aGUgaW1hZ2UgdG8gYmUNCj4gdW5s b2FkZWQuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgVGhlIGltYWdl IGhhcyBiZWVuIHVubG9hZGVkLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4g K1BsYXRmb3JtU2V0dXBEeGVVbmxvYWQgKA0KPiArICBJTiBFRklfSEFORExFICBJbWFnZUhhbmRs ZQ0KPiArICApDQo+ICt7DQo+ICsgIGlmIChtQ2FsbGJhY2tJbmZvICE9IE5VTEwpIHsNCj4gKyAg ICBpZiAobUNhbGxiYWNrSW5mby0+RHJpdmVySGFuZGxlICE9IE5VTEwpIHsNCj4gKyAgICAgIGdC Uy0+VW5pbnN0YWxsTXVsdGlwbGVQcm90b2NvbEludGVyZmFjZXMgKA0KPiArICAgICAgICAgICAg IG1DYWxsYmFja0luZm8tPkRyaXZlckhhbmRsZSwNCj4gKyAgICAgICAgICAgICAmZ0VmaURldmlj ZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgJm1IaWlWZW5kb3JEZXZpY2VQYXRo LA0KPiArICAgICAgICAgICAgICZnRWZpSGlpQ29uZmlnQWNjZXNzUHJvdG9jb2xHdWlkLA0KPiAr ICAgICAgICAgICAgICZtQ2FsbGJhY2tJbmZvLT5Db25maWdBY2Nlc3MsDQo+ICsgICAgICAgICAg ICAgTlVMTA0KPiArICAgICAgICAgICAgICk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKG1D YWxsYmFja0luZm8tPlJlZ2lzdGVyZWRIYW5kbGUgIT0gTlVMTCkgew0KPiArICAgICAgSGlpUmVt b3ZlUGFja2FnZXMgKG1DYWxsYmFja0luZm8tPlJlZ2lzdGVyZWRIYW5kbGUpOw0KPiArICAgIH0N Cj4gKw0KPiArICAgIEZyZWVQb29sIChtQ2FsbGJhY2tJbmZvKTsNCj4gKyAgfQ0KPiArDQo+ICsg IHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9ybVNldHVw RHhlLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVw RHhlL1BsYXRmb3JtU2V0dXBEeGUuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi41MzM3MmJiOTIyDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9ybVNldHVw RHhlLmgNCj4gQEAgLTAsMCArMSw5NyBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAo YykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2Ut UGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArI2lmbmRlZiBf UExBVF9PVkVSX01OR1JfSF8NCj4gKyNkZWZpbmUgX1BMQVRfT1ZFUl9NTkdSX0hfDQo+ICsNCj4g KyNpbmNsdWRlIDxGcmFtZXdvcmtEeGUuaD4NCj4gKw0KPiArI2luY2x1ZGUgPFByb3RvY29sL0hp aUNvbmZpZ0FjY2Vzcy5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0hpaUNvbmZpZ1JvdXRpbmcu aD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9IaWlEYXRhYmFzZS5oPg0KPiArI2luY2x1ZGUgPFBy b3RvY29sL0Zvcm1Ccm93c2VyMi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0xvYWRlZEltYWdl Lmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRmlybXdhcmVWb2x1bWUyLmg+DQo+ICsjaW5jbHVk ZSA8UHJvdG9jb2wvUGNpSW8uaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9CdXNTcGVjaWZpY0Ry aXZlck92ZXJyaWRlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQ29tcG9uZW50TmFtZTIuaD4N Cj4gKyNpbmNsdWRlIDxQcm90b2NvbC9Db21wb25lbnROYW1lLmg+DQo+ICsjaW5jbHVkZSA8UHJv dG9jb2wvRHJpdmVyQmluZGluZy5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0RldmljZVBhdGhU b1RleHQuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EZXZpY2VQYXRoLmg+DQo+ICsjaW5jbHVk ZSA8UHJvdG9jb2wvUGxhdGZvcm1Ecml2ZXJPdmVycmlkZS5oPg0KPiArI2luY2x1ZGUgPFByb3Rv Y29sL0RhdGFIdWIuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL01kZU1vZHVsZUhpaS5oPg0KPiArI2lu Y2x1ZGUgPEd1aWQvVmFyaWFibGVGb3JtYXQuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0RhdGFIdWJS ZWNvcmRzLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNpbmNs dWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpTGliLmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QcmludExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkv VWVmaURyaXZlckVudHJ5UG9pbnQuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlCb290U2Vy dmljZXNUYWJsZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaVJ1bnRpbWVTZXJ2aWNl c1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9EZXZpY2VQYXRoTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EeGVTZXJ2aWNlc1Rh YmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9IaWlMaWIuaD4NCj4gKyNpbmNsdWRlIDxM aWJyYXJ5L0Jpb3NJZExpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQ3B1SUEzMi5oPg0KPiAr I2luY2x1ZGUgPExpYnJhcnkvSG9iTGliLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9QbGF0Zm9ybUlu Zm8uaD4NCj4gKyNpbmNsdWRlIDxJbmR1c3RyeVN0YW5kYXJkL1BjaTIyLmg+DQo+ICsNCj4gKyNp bmNsdWRlICJHdWlkL1NldHVwVmFyaWFibGUuaCINCj4gKyNpbmNsdWRlICJHdWlkL09zU2VsZWN0 aW9uLmgiDQo+ICsNCj4gKyNpbmNsdWRlIDxDcHVUeXBlLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9Q bGF0Zm9ybUNwdUluZm8uaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9TaW1wbGVUZXh0SW4uaD4N Cj4gKyNpbmNsdWRlIDxQcm90b2NvbC9GcmFtZXdvcmtGb3JtQnJvd3Nlci5oPg0KPiArZXh0ZXJu IEVGSV9ISUlfSEFORExFICAgbUhpaUhhbmRsZTsNCj4gKw0KPiArVUlOVDMyDQo+ICtDb252ZXJ0 QmFzZTEwVG9SYXcgKA0KPiArICBJTiAgRUZJX0VYUF9CQVNFMTBfREFUQSAgICAgICAgICAgICAq RGF0YSk7DQo+ICsNCj4gK1VJTlQzMg0KPiArQ29udmVydEJhc2UyVG9SYXcgKA0KPiArICBJTiAg RUZJX0VYUF9CQVNFMl9EQVRBICAgICAgICAgICAgICpEYXRhKTsNCj4gKw0KPiArRUZJX1NUQVRV Uw0KPiArR2V0U3RyaW5nRnJvbVRva2VuICgNCj4gKyAgSU4gICAgICBFRklfR1VJRCAgICAgICAg ICAgICAgICAgICpQcm9kdWNlckd1aWQsDQo+ICsgIElOICAgICAgU1RSSU5HX1JFRiAgICAgICAg ICAgICAgICBUb2tlbiwNCj4gKyAgT1VUICAgICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICoq U3RyaW5nDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1N3YXBFbnRyaWVzICgNCj4gKyAgSU4g IENIQVI4ICpEYXRhDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0FzY2lpVG9Vbmljb2RlICgN Cj4gKyAgSU4gICAgQ0hBUjggICAgICpBc2NpaVN0cmluZywNCj4gKyAgSU4gICAgQ0hBUjE2ICAg ICpVbmljb2RlU3RyaW5nDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArU2V0 dXBJbmZvICgNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICtleHRlcm4gRUZJX0hBTkRMRSBtSW1hZ2VI YW5kbGU7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9ybVNldHVwRHhlLmkNCj4g bmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhl L1BsYXRmb3JtU2V0dXBEeGUuaQ0KPiBuZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwLi42ZDdlN2MzZjZjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9QbGF0Zm9ybVNl dHVwRHhlLmkNCj4gbmYNCj4gQEAgLTAsMCArMSwxNDEgQEANCj4gKyMNCj4gKyMNCj4gKyMgQ29w eXJpZ2h0IChjKSAyMDE0IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0KPiANCj4gKyMNCj4gKyMNCj4gKyMgIFRoaXMgZHJp dmVyIHByb2R1Y2VzIFVFRkkgUExBVEZPUk1fRFJJVkVSX09WRVJSSURFX1BST1RPQ09MIGlmDQo+ IHRoaXMgcHJvdG9jb2wgZG9lc24ndCBleGlzdC4NCj4gKyMgIEl0IGRvZXNuJ3QgaW5zdGFsbCBh Z2FpbiBpZiB0aGlzIHByb3RvY29sIGV4aXN0cy4NCj4gKyMgIEl0IG9ubHkgaW1wbGVtZW50cyBv bmUgaW50ZXJmYWNlIEdldERyaXZlciBvZg0KPiBQTEFURk9STV9EUklWRVJfT1ZFUlJJREVfUFJP VE9DT0wgcHJvdG9jb2wNCj4gKyMgIGFuZCBkb2Vzbid0IHN1cHBvcnQgb3RoZXIgdHdvIGludGVy ZmFjZXMgR2V0RHJpdmVyUGF0aCwgRHJpdmVyTG9hZGVkLg0KPiArIw0KPiArIyAgVGhpcyBkcml2 ZXIgYWxzbyBvZmZlcnMgYW4gVUkgaW50ZXJmYWNlIGluIGRldmljZSBtYW5hZ2VyIHRvIGxldCB1 c2VyDQo+IGNvbmZpZ3VyZQ0KPiArIyAgcGxhdGZvcm0gb3ZlcnJpZGUgcHJvdG9jb2wgdG8gb3Zl cnJpZGUgdGhlIGRlZmF1bHQgYWxnb3JpdGhtIGZvciBtYXRjaGluZw0KPiArIyAgZHJpdmVycyB0 byBjb250cm9sbGVycy4NCj4gKyMNCj4gKyMgIFRoZSBtYWluIGZsb3c6DQo+ICsjICAxLiBJdCBk eW5hbWljbHkgbG9jYXRlIGFsbCBjb250cm9sbGVyIGRldmljZSBwYXRoLg0KPiArIyAgMi4gSXQg ZHluYW1pY2x5IGxvY2F0ZSBhbGwgZHJpdmVycyB3aGljaCBzdXBwb3J0IGJpbmRpbmcgcHJvdG9j b2wuDQo+ICsjICAzLiBJdCBleHBvcnQgYW5kIGR5bmFtaWNseSB1cGRhdGUgdHdvIG1lbnUgdG8g bGV0IHVzZXIgc2VsZWN0IHRoZQ0KPiArIyAgICAgbWFwcGluZyBiZXR3ZWVuIGRyaXZlcnMgdG8g Y29udHJvbGxlcnMuDQo+ICsjICA0LiBJdCBzYXZlIGFsbCB0aGUgbWFwcGluZyBpbmZvIGluIE5W IHZhcmlhYmxlcyBmb3IgdGhlIGZvbGxvd2luZyBib290LA0KPiArIyAgICAgd2hpY2ggd2lsbCBi ZSBjb25zdW1lZCBieSBHZXREcml2ZXIgQVBJIG9mIHRoZSBwcm9kdWNlZCB0aGUgcGxhdGZvcm0N Cj4gb3ZlcnJpZGUgcHJvdG9jb2wuDQo+ICsjDQo+ICsjDQo+ICsjIw0KPiArDQo+ICtbRGVmaW5l c10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiAr ICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBQbGF0Zm9ybVNldHVwRHhlDQo+ICsg IEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IEMxQTY5QTEyLTg2NTMtNGZkZS1BMjE1 LTQ4RkNEOTUyODhDMw0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAgICAgPSBEWEVf RFJJVkVSDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBF TlRSWV9QT0lOVCAgICAgICAgICAgICAgICAgICAgPSBQbGF0Zm9ybVNldHVwRHhlSW5pdA0KPiAr ICBVTkxPQURfSU1BR0UgICAgICAgICAgICAgICAgICAgPSBQbGF0Zm9ybVNldHVwRHhlVW5sb2Fk DQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJl bmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQw0KPiArIw0K PiArDQo+ICtbU291cmNlc10NCj4gKyAgVmZyU3RyaW5ncy51bmkNCj4gKyAgRndWZXJzaW9uU3Ry aW5ncy51bmkNCj4gKyAgVmZyLnZmcg0KPiArICBNYWluLnZmaQ0KPiArICBCb290LnZmaQ0KPiAr ICBQbGF0Zm9ybVNldHVwRHhlLmMNCj4gKyAgU2V0dXBJbmZvUmVjb3Jkcy5jDQo+ICsgIFBsYXRm b3JtU2V0dXBEeGUuaA0KPiArICBTZWN1cml0eS52ZmkNCj4gKyAgU291dGhDbHVzdGVyQ29uZmln LnZmaQ0KPiArICBUaGVybWFsLnZmaQ0KPiArICBTZXR1cEZ1bmN0aW9ucy5jDQo+ICsgIFVuQ29y ZS52ZmkNCj4gKyAgU3lzdGVtQ29tcG9uZW50LnZmaQ0KPiArICBEZWJ1Z0NvbmZpZy52ZmkNCj4g KyAgVXFpTGlzdC51bmkNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRl Yw0KPiArICBNZGVNb2R1bGVQa2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBJbnRlbEZyYW1ld29y a1BrZy9JbnRlbEZyYW1ld29ya1BrZy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1Qa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VSZWZDb2RlUGtn LmRlYyAgICAjZm9yIFBjaEFjY2Vzcy5oDQo+ICsgIFNlY3VyaXR5UGtnL1NlY3VyaXR5UGtnLmRl Yw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIEJhc2VMaWINCj4gKyAgRGVidWdMaWIN Cj4gKyAgVWVmaUxpYg0KPiArICBVZWZpRHJpdmVyRW50cnlQb2ludA0KPiArICBVZWZpQm9vdFNl cnZpY2VzVGFibGVMaWINCj4gKyAgSGlpTGliDQo+ICsgIEJhc2VNZW1vcnlMaWINCj4gKyAgTWVt b3J5QWxsb2NhdGlvbkxpYg0KPiArICBEZXZpY2VQYXRoTGliDQo+ICsgIER4ZVNlcnZpY2VzVGFi bGVMaWINCj4gKyAgVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIFByaW50TGliDQo+ ICsgIEJpb3NJZExpYg0KPiArICBDcHVJQTMyTGliDQo+ICsgIElvTGliDQo+ICsNCj4gK1tHdWlk c10NCj4gKyAgIyMgIFRoaXMgR1VJRCBDIE5hbWUgaXMgbm90IHJlcXVpcmVkIGZvciBidWlsZCBz aW5jZSBpdCBpcyBmcm9tIFVlZmlMaWIgYW5kDQo+IG5vdCBkaXJlY3RseSB1c2VkIGJ5IHRoaXMg bW9kdWxlIHNvdXJjZS4NCj4gKyAgIyMgIGdFZmlHbG9iYWxWYXJpYWJsZUd1aWQgICAgICAgICAg ICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVEICMjDQo+IFZhcmlhYmxlOkwiUGxhdGZv cm1MYW5nIiB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyB0aGUgcGxhdGZvcm0gc3VwcG9ydGVkDQo+ IGxhbmd1YWdlIHN0cmluZyAoUkZDIDQ2NDYgZm9ybWF0KQ0KPiArICAjIyAgZ0VmaUdsb2JhbFZh cmlhYmxlR3VpZCAgICAgICAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09OU1VNRUQgIyMN Cj4gVmFyaWFibGU6TCJMYW5nIiB0aGlzIHZhcmlhYmxlIHNwZWNpZmllcyB0aGUgcGxhdGZvcm0g c3VwcG9ydGVkIGxhbmd1YWdlDQo+IHN0cmluZyAoSVNPIDYzOS0yIGZvcm1hdCkNCj4gKyAgIyMN Cj4gKyAgIyBUaGVyZSBjb3VsZCBiZSBtb3JlIHRoYW4gb25lIHZhcmlhYmxlcywgZnJvbSBQbGF0 RHJpT3ZlciwgUGxhdERyaU92ZXIxLA0KPiBQbGF0RHJpT3ZlcjIsLi4uDQo+ICsgICMNCj4gKyAg IyBnRWZpQ2FsbGVySWRHdWlkICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjIFByaXZhdGUg ICMjIFZhcmlhYmxlOkwiUGxhdERyaU92ZXIiDQo+ICsgIGdFZmlJZnJUaWFub0d1aWQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjIyBDT05TVU1FUyAjIyBHdWlkDQo+ICsgIGdFZmlQcm9j ZXNzb3JTdWJDbGFzc0d1aWQNCj4gKyAgZ0VmaU1pc2NTdWJDbGFzc0d1aWQNCj4gKyAgZ0VmaUNh Y2hlU3ViQ2xhc3NHdWlkDQo+ICsgIGdFZmlNZW1vcnlTdWJDbGFzc0d1aWQNCj4gKyAgZ0VmaVBs YXRmb3JtSW5mb0d1aWQNCj4gKyAgZ0VmaU5vcm1hbFNldHVwR3VpZA0KPiArICBnRWZpU2VjdXJl Qm9vdEVuYWJsZURpc2FibGVHdWlkDQo+ICsgIGdPc1NlbGVjdGlvblZhcmlhYmxlR3VpZA0KPiAr ICBnRWZpR2xvYmFsVmFyaWFibGVHdWlkDQo+ICsNCj4gK1tQcm90b2NvbHNdDQo+ICsgIGdFZmlD b21wb25lbnROYW1lMlByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAjIyBTT01FVElNRVNfQ09O U1VNRUQNCj4gKEdldCBEcml2ZXIgTmFtZSBpZiBDb21wb25lbnROYW1lMlByb3RvY29sIGV4aXN0 cykNCj4gKyAgZ0VmaUNvbXBvbmVudE5hbWVQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICMj IFNPTUVUSU1FU19DT05TVU1FRA0KPiAoR2V0IERyaXZlciBOYW1lIGlmIENvbXBvbmVudE5hbWVQ cm90b2NvbCBleGlzdHMgYW5kDQo+IENvbXBvbmVudE5hbWUyUHJvdG9jb2wgZG9lc24ndCBleGlz dCkNCj4gKyAgZ0VmaUZpcm13YXJlVm9sdW1lMlByb3RvY29sR3VpZCAgICAgICAgICAgICAgICMj IFNPTUVUSU1FU19DT05TVU1FRA0KPiAoR2V0IERyaXZlciBOYW1lIGZyb20gRUZJIFVJIHNlY3Rp b24gaWYgQ29tcG9uZW50TmFtZTJQcm90b2NvbCBhbmQNCj4gQ29tcG9uZW50TmFtZVByb3RvY29s IGRvbid0IGV4aXN0KQ0KPiArICBnRWZpUGNpSW9Qcm90b2NvbEd1aWQgICAgICAgICAgICAgICAg ICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVEIChGaW5kIHRoZQ0KPiBQQ0kgZGV2aWNlIGlm IFBjaUlvIHByb3RvY29sIGlzIGluc3RhbGxlZCkNCj4gKyAgZ0VmaVBjaVJvb3RCcmlkZ2VJb1By b3RvY29sR3VpZA0KPiArICBnRWZpQnVzU3BlY2lmaWNEcml2ZXJPdmVycmlkZVByb3RvY29sR3Vp ZCAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVEDQo+IChDaGVjayB3aGV0aGVyIHRoZSBQQ0kgZGV2 aWNlIGNvbnRhaW5zIG9uZSBvciBtb3JlIGVmaSBkcml2ZXJzIGluIGl0cyBvcHRpb24NCj4gcm9t IGJ5IHRoaXMgcHJvdG9jb2wpDQo+ICsNCj4gKyAgZ0VmaURyaXZlckJpbmRpbmdQcm90b2NvbEd1 aWQgICAgICAgICAgICAgICAgICMjIFNPTUVUSU1FU19DT05TVU1FRA0KPiArICBnRWZpTG9hZGVk SW1hZ2VQcm90b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVE DQo+ICsgIGdFZmlMb2FkZWRJbWFnZURldmljZVBhdGhQcm90b2NvbEd1aWQgICAgICAgICAjIw0K PiBTT01FVElNRVNfQ09OU1VNRUQgKFNob3cgdGhlIGRyaXZlcnMgaW4gdGhlIHNlY29uZCBwYWdl IHRoYXQgc3VwcG9ydA0KPiBEcml2ZXJCaW5kaW5nUHJvdG9jb2wsIExvYWRlZEltYWdlUHJvdG9j b2wgYW5kDQo+IExvYWRlZEltYWdlRGV2aWNlUGF0aFByb3RvY29sKQ0KPiArICBnRWZpRGV2aWNl UGF0aFByb3RvY29sR3VpZCAgICAgICAgICAgICAgICAgICAgIyMgU09NRVRJTUVTX0NPTlNVTUVE IChTaG93DQo+IHRoZSBjb250cm9sbGVyIGRldmljZSBpbiB0aGUgZmlyc3QgcGFnZSB0aGF0IHN1 cHBvcnQgRGV2aWNlUGF0aFByb3RvY29sKQ0KPiArDQo+ICsgIGdFZmlGb3JtQnJvd3NlcjJQcm90 b2NvbEd1aWQgICAgICAgICAgICAgICAgICAjIyBDT05TVU1FRA0KPiArICBnRWZpSGlpQ29uZmln Um91dGluZ1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgIyMgQ09OU1VNRUQNCj4gKyAgZ0VmaUhp aUNvbmZpZ0FjY2Vzc1Byb3RvY29sR3VpZCAgICAgICAgICAgICAgICMjIFBST0RVQ0VEDQo+ICsg IGdFZmlEZXZpY2VQYXRoVG9UZXh0UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAjIyBDT05TVU1F RA0KPiArICBnRWRraWlGb3JtQnJvd3NlckV4MlByb3RvY29sR3VpZA0KPiArDQo+ICsgIGdFZmlE YXRhSHViUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlMZWdhY3lCaW9zUHJvdG9jb2xHdWlkDQo+ICsg IGdFZmlTaW1wbGVOZXR3b3JrUHJvdG9jb2xHdWlkDQo+ICsNCj4gKyAgZ0VmaURpc2tJbmZvUHJv dG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAgICMjIENPTlNVTUVEDQo+ICsgIGdFZmlNcFNl cnZpY2VQcm90b2NvbEd1aWQNCj4gKyAgZ0R4ZVBjaFBsYXRmb3JtUG9saWN5UHJvdG9jb2xHdWlk DQo+ICsgIGdFZmlDcHVJbzJQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaVRkdE9wZXJhdGlvblByb3Rv Y29sR3VpZA0KPiArICBnRWZpU21iaW9zUHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAgICAg ICAgIyMgUFJPVE9DT0wgQ09OU1VNRVMNCj4gKw0KPiArW1BjZC5jb21tb25dDQo+ICsgIGdFZmlN ZGVQa2dUb2tlblNwYWNlR3VpZC5QY2RQY2lFeHByZXNzQmFzZUFkZHJlc3MNCj4gKw0KPiArW0Rl cGV4XQ0KPiArICBnRWZpRm9ybUJyb3dzZXIyUHJvdG9jb2xHdWlkIEFORCBnRWZpSGlpQ29uZmln Um91dGluZ1Byb3RvY29sR3VpZA0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9TZWN1cml0eS52ZmkNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1NlY3VyaXR5LnZmaQ0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi40OTY2OWU2ODRkDQo+IC0t LSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1TZXR1cER4ZS9TZWN1cml0eS52ZmkNCj4gQEAgLTAsMCArMSwxMDQgQEANCj4gKy8vDQo+ ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKy8vDQo+IA0KPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArLy8NCj4gDQo+ICsvLw0K PiArLy8NCj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ICsvLyAgIFNlY3VyaXR5 LnZmaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0Og0KPiArLy8NCj4gKy8vICAgRHJpdmVyIFNldHVw IGZvcm1zZXQuDQo+ICsvLw0KPiArLy8gLS0qLw0KPiArDQo+ICsvLw0KPiArLy8gU2VjdXJpdHkg Q29uZmlndXJhdGlvbiBGb3JtDQo+ICsvLw0KPiArDQo+ICsNCj4gK2Zvcm0gZm9ybWlkID0gU0VD VVJJVFlfQ09ORklHVVJBVElPTl9GT1JNX0lELA0KPiArICB0aXRsZSAgICA9IFNUUklOR19UT0tF TihTVFJfU0VDVVJJVFlfQ09ORklHVVJBVElPTl9USVRMRSk7DQo+ICsNCj4gKw0KPiArICBzdWJ0 aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyk7DQo+ICsgIC8vDQo+ICsg IC8vVFBNIHJlbGF0ZWQNCj4gKyAgLy8NCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tF TihTVFJfVFBNX0NPTkZJR1VSQVRJT05fUFJPTVBUKTsNCj4gK2dyYXlvdXRpZiBpZGVxdmFsIFNl dHVwLkVUcG09PSAweDE7DQo+ICsgIG9uZW9mICAgdmFyaWQgICA9IFNldHVwLmZUUE0sDQo+ICsg ICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BUVF9QUk9NUFQpLA0KPiArICAgIGhl bHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QVFRfSEVMUCksDQo+ICsgICAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9DQo+IFJF U0VUX1JFUVVJUkVEOw0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJ U0FCTEUpLCB2YWx1ZT0gMCwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJF U0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gK2VuZGlmOw0KPiArDQo+ICtncmF5b3V0 aWYgaWRlcXZhbCBTZXR1cC5mVFBNID09IDB4MTsNCj4gKyAgb25lb2YgICB2YXJpZCAgID0gU2V0 dXAuRVRwbSwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfVFBNX1BST01Q VCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1RQTV9IRUxQKSwNCj4g KyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEs IGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPSAwLCBmbGFncyA9IERFRkFVTFQgfA0KPiBNQU5V RkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArZW5kaWY7DQo+ ICsNCj4gK3N1cHByZXNzaWYgaWRlcXZhbCBTZXR1cC5mVFBNID09IDA7DQo+ICsgIG9uZW9mIHZh cmlkID0gU2V0dXAuTWVhc3VyZWRCb290RW5hYmxlLA0KPiArICAgIHByb21wdCAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9NRUFTVVJFRF9CT09UX0VOQUJMRV9QUk9NUFQpLA0KPiArICAgIGhlbHAg ICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9NRUFTVVJFRF9CT09UX0VOQUJMRV9IRUxQKSwNCj4g KyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwg ZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9ICBERUZBVUxUIHwNCj4gTUFOVUZB Q1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gK2VuZGlmOw0KPiAr DQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4g Kw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0NCj4gU1RSSU5HX1RPS0VOKFNUUl9QQVNTV09SRF9DT05G SUdVUkFUSU9OX1NVQlRJVExFKTsNCj4gKw0KPiArICBwYXNzd29yZCB2YXJpZCAgPSBTZXR1cC5B ZG1pblBhc3N3b3JkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9BRE1J Tl9QQVNTV09SRCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0FETUlO X1BBU1NXT1JEX0hFTFApLA0KPiArICAgIGZsYWdzICAgICAgID0gMCwNCj4gKyAgICBtaW5zaXpl ICAgICA9IDAsDQo+ICsgICAgbWF4c2l6ZSAgICAgPSBQQVNTV09SRF9NQVhfU0laRSwNCj4gKyAg ICBlbmNvZGluZyAgICA9IDEsDQo+ICsgIGVuZHBhc3N3b3JkOw0KPiArDQo+ICsgIHBhc3N3b3Jk IHZhcmlkICA9IFNldHVwLlVzZXJQYXNzd29yZCwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklO R19UT0tFTihTVFJfVVNFUl9QQVNTV09SRCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdf VE9LRU4oU1RSX1VTRVJfUEFTU1dPUkRfSEVMUCksDQo+ICsgICAgZmxhZ3MgICAgICAgPSAwLA0K PiArICAgIG1pbnNpemUgICAgID0gMCwNCj4gKyAgICBtYXhzaXplICAgICA9IFBBU1NXT1JEX01B WF9TSVpFLA0KPiArICAgIGVuY29kaW5nICAgID0gMSwNCj4gKyAgZW5kcGFzc3dvcmQ7DQo+ICtz dXBwcmVzc2lmIFRSVUU7DQo+ICsgIHBhc3N3b3JkIHZhcmlkICA9IFNldHVwLkFkbWluUGFzc3dv cmQsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0NIQU5HRV9BRE1JTl9Q QVNTV09SRCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0NIQU5HRV9B RE1JTl9QQVNTV09SRF9IRUxQKSwNCj4gKyAgICBmbGFncyAgICAgICA9IDAsDQo+ICsgICAgbWlu c2l6ZSAgICAgPSAwLA0KPiArICAgIG1heHNpemUgICAgID0gUEFTU1dPUkRfTUFYX1NJWkUsDQo+ ICsgICAgZW5jb2RpbmcgICAgPSAxLA0KPiArICBlbmRwYXNzd29yZDsNCj4gKw0KPiArICBwYXNz d29yZCB2YXJpZCAgPSBTZXR1cC5Vc2VyUGFzc3dvcmQsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBT VFJJTkdfVE9LRU4oU1RSX0NIQU5HRV9VU0VSX1BBU1NXT1JEKSwNCj4gKyAgICBoZWxwICAgICAg ICA9IFNUUklOR19UT0tFTihTVFJfQ0hBTkdFX1VTRVJfUEFTU1dPUkRfSEVMUCksDQo+ICsgICAg ZmxhZ3MgICAgICAgPSAwLA0KPiArICAgIG1pbnNpemUgICAgID0gMCwNCj4gKyAgICBtYXhzaXpl ICAgICA9IFBBU1NXT1JEX01BWF9TSVpFLA0KPiArICAgIGVuY29kaW5nICAgID0gMSwNCj4gKyAg ZW5kcGFzc3dvcmQ7DQo+ICtlbmRpZjsNCj4gKw0KPiArZW5kZm9ybTsNCj4gKw0KPiBkaWZmIC0t Z2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4 ZS9TZXR1cEZ1bmN0aW9ucy5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv UGxhdGZvcm1TZXR1cER4ZS9TZXR1cEZ1bmN0aW9ucy5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLmE4NGI0MjU4MjYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1Nl dHVwRnVuY3Rpb25zLmMNCj4gQEAgLTAsMCArMSw4NSBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4g KyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBO YW1lOg0KPiArDQo+ICsgICAgU2V0dXBGdW5jdGlvbnMuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4g Kw0KPiArUmV2aXNpb24gSGlzdG9yeQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJQ bGF0Zm9ybVNldHVwRHhlLmgiDQo+ICsNCj4gK1ZPSUQNCj4gK0FzY2lpVG9Vbmljb2RlICgNCj4g KyAgSU4gICAgQ0hBUjggICAgICpBc2NpaVN0cmluZywNCj4gKyAgSU4gICAgQ0hBUjE2ICAgICpV bmljb2RlU3RyaW5nDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDggICAgICAgICAgIEluZGV4Ow0K PiArDQo+ICsgIEluZGV4ID0gMDsNCj4gKyAgd2hpbGUgKEFzY2lpU3RyaW5nW0luZGV4XSAhPSAw KSB7DQo+ICsgICAgVW5pY29kZVN0cmluZ1tJbmRleF0gPSAoQ0hBUjE2KUFzY2lpU3RyaW5nW0lu ZGV4XTsNCj4gKyAgICBJbmRleCsrOw0KPiArICB9DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK1N3 YXBFbnRyaWVzICgNCj4gKyAgSU4gIENIQVI4ICpEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlO VDE2ICBJbmRleDsNCj4gKyAgQ0hBUjggICBUZW1wODsNCj4gKw0KPiArICBJbmRleCA9IDA7DQo+ ICsgIHdoaWxlIChEYXRhW0luZGV4XSAhPSAwICYmIERhdGFbSW5kZXgrMV0gIT0gMCkgew0KPiAr ICAgIFRlbXA4ID0gRGF0YVtJbmRleF07DQo+ICsgICAgRGF0YVtJbmRleF0gPSBEYXRhW0luZGV4 KzFdOw0KPiArICAgIERhdGFbSW5kZXgrMV0gPSBUZW1wODsNCj4gKyAgICBJbmRleCArPTI7DQo+ ICsgIH0NCj4gKw0KPiArICByZXR1cm47DQo+ICt9DQo+ICsNCj4gK1VJTlQzMg0KPiArQ29udmVy dEJhc2UxMFRvUmF3ICgNCj4gKyAgSU4gIEVGSV9FWFBfQkFTRTEwX0RBVEEgICAgICAgICAgICAg KkRhdGEpDQo+ICt7DQo+ICsgIFVJTlROICAgICAgICAgSW5kZXg7DQo+ICsgIFVJTlQzMiAgICAg ICAgUmF3RGF0YTsNCj4gKw0KPiArICBSYXdEYXRhID0gRGF0YS0+VmFsdWU7DQo+ICsgIGZvciAo SW5kZXggPSAwOyBJbmRleCA8IChVSU5UTikgRGF0YS0+RXhwb25lbnQ7IEluZGV4KyspIHsNCj4g KyAgICAgUmF3RGF0YSAqPSAxMDsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiAgUmF3RGF0YTsN Cj4gK30NCj4gKw0KPiArVUlOVDMyDQo+ICtDb252ZXJ0QmFzZTJUb1JhdyAoDQo+ICsgIElOICBF RklfRVhQX0JBU0UyX0RBVEEgICAgICAgICAgICAgKkRhdGEpDQo+ICt7DQo+ICsgIFVJTlROICAg ICAgICAgSW5kZXg7DQo+ICsgIFVJTlQzMiAgICAgICAgUmF3RGF0YTsNCj4gKw0KPiArICBSYXdE YXRhID0gRGF0YS0+VmFsdWU7DQo+ICsgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IChVSU5UTikg RGF0YS0+RXhwb25lbnQ7IEluZGV4KyspIHsNCj4gKyAgICAgUmF3RGF0YSA8PD0gMTsNCj4gKyAg fQ0KPiArDQo+ICsgIHJldHVybiAgUmF3RGF0YTsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0DQo+ IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9TZXR1 cEluZm9SZWNvcmRzLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0 Zm9ybVNldHVwRHhlL1NldHVwSW5mb1JlY29yZHMuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi5jNDA0YWRhNTg4DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9TZXR1 cEluZm9SZWNvcmRzLmMNCj4gQEAgLTAsMCArMSwxODU1IEBADQo+ICsvKiogQGZpbGUNCj4gKw0K PiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKyAgICBTZXR1cEluZm9SZWNvcmRzLmMNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgICBUaGlzIGlzIHRoZSBmaWx0ZXIgZHJpdmVyIHRvIHJldHJpZXZlIGRhdGEg aHViIGVudHJpZXMuDQo+ICsNCj4gK1JldmlzaW9uIEhpc3Rvcnk6DQo+ICstLSovDQo+ICsNCj4g KyNpbmNsdWRlICJQbGF0Zm9ybVNldHVwRHhlLmgiDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvTGVn YWN5Qmlvcy5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1BjaVJvb3RCcmlkZ2VJby5oPg0KPiAr I2luY2x1ZGUgPFByb3RvY29sL1NpbXBsZU5ldHdvcmsuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2Nv bC9EZXZpY2VQYXRoLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRGlza0luZm8uaD4NCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9JZGVDb250cm9sbGVySW5pdC5oPg0KPiArI2luY2x1ZGUgPFByb3Rv Y29sL01wU2VydmljZS5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1BjaFBsYXRmb3JtUG9saWN5 Lmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQ3B1SW8yLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9j b2wvU21iaW9zLmg+DQo+ICsjaW5jbHVkZSA8SW5kdXN0cnlTdGFuZGFyZC9TbUJpb3MuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L0lvTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9JMkNMaWIu aD4NCj4gKyNpbmNsdWRlIDxHdWlkL0dsb2JhbFZhcmlhYmxlLmg+DQo+ICsNCj4gKyNpbmNsdWRl ICJWYWxsZXl2aWV3LmgiDQo+ICsjaW5jbHVkZSAiVmx2QWNjZXNzLmgiDQo+ICsjaW5jbHVkZSAi UGNoQWNjZXNzLmgiDQo+ICsjaW5jbHVkZSAiU2V0dXBNb2RlLmgiDQo+ICsjaW5jbHVkZSAiUGNo Q29tbW9uRGVmaW5pdGlvbnMuaCINCj4gKyNpbmNsdWRlIDxQbGF0Zm9ybUJhc2VBZGRyZXNzZXMu aD4NCj4gKw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICBJRDsNCj4gKyAg Q0hBUjggIFN0cmluZ1sxNl07DQo+ICt9IFZMVl9SRVY7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0 IHsNCj4gKyAgVUlOVDggUmV2SWQ7DQo+ICsgIENIQVI4IFN0cmluZ1sxNl07DQo+ICt9IFNCX1JF VjsNCj4gKw0KPiArLy8NCj4gKy8vIFNpbGljb24gU3RlcHBpbmdzDQo+ICsvLw0KPiArU0JfUkVW ICBTQlJldmlzaW9uVGFibGVbXSA9IHsNCj4gKyAge1ZfUENIX0xQQ19SSURfMCwgIihBMCBTdGVw cGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfMSwgIihBMCBTdGVwcGluZykifSwNCj4gKyAg e1ZfUENIX0xQQ19SSURfMiwgIihBMSBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURf MywgIihBMSBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfNCwgIihCMCBTdGVwcGlu ZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfNSwgIihCMCBTdGVwcGluZykifSwNCj4gKyAge1Zf UENIX0xQQ19SSURfNiwgIihCMSBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfNywg IihCMSBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfOCwgIihCMiBTdGVwcGluZyki fSwNCj4gKyAge1ZfUENIX0xQQ19SSURfOSwgIihCMiBTdGVwcGluZykifSwNCj4gKyAge1ZfUENI X0xQQ19SSURfQSwgIihCMyBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfQiwgIihC MyBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfQywgIihDMCBTdGVwcGluZykifSwN Cj4gKyAge1ZfUENIX0xQQ19SSURfRCwgIihDMCBTdGVwcGluZykifQ0KPiArfTsNCj4gKw0KPiAr I2RlZmluZSBMRUZUX0pVU1RJRlkgIDB4MDENCj4gKyNkZWZpbmUgUFJFRklYX1NJR04gICAweDAy DQo+ICsjZGVmaW5lIFBSRUZJWF9CTEFOSyAgMHgwNA0KPiArI2RlZmluZSBDT01NQV9UWVBFICAg IDB4MDgNCj4gKyNkZWZpbmUgTE9OR19UWVBFICAgICAweDEwDQo+ICsjZGVmaW5lIFBSRUZJWF9a RVJPICAgMHgyMA0KPiArDQo+ICsjZGVmaW5lIElDSF9SRUdfUkVWICAgICAgICAgICAgICAgICAw eDA4DQo+ICsjZGVmaW5lIE1TUl9JQTMyX1BMQVRGT1JNX0lEICAgICAgICAweDE3DQo+ICsNCj4g Kw0KPiArQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAgICBtU2V0dXBJbmZvRG9uZSA9IEZB TFNFOw0KPiArVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICBtVXNlUHJvZHVjdEtleSA9 IDA7DQo+ICtFRklfRVhQX0JBU0UxMF9EQVRBICAgICAgICAgICAgIG1Qcm9jZXNzb3JGcmVxdWVu Y3k7DQo+ICtFRklfRVhQX0JBU0UxMF9EQVRBICAgICAgICAgICAgIG1Qcm9jZXNzb3JGc2JGcmVx dWVuY3k7DQo+ICsNCj4gK0VGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAgbVByb2Nlc3Nv clByb2R1Y2VyR3VpZDsNCj4gK0VGSV9ISUlfSEFORExFICAgICAgICAgICAgICAgICAgbUhpaUhh bmRsZTsNCj4gK0VGSV9QTEFURk9STV9DUFVfSU5GTyAgICAgICAgICAgbVBsYXRmb3JtQ3B1SW5m bzsNCj4gK1NZU1RFTV9DT05GSUdVUkFUSU9OICAgICAgICAgICAgbVN5c3RlbUNvbmZpZ3VyYXRp b247DQo+ICtFRklfUExBVEZPUk1fSU5GT19IT0IgICAgICAgICAgICptUGxhdGZvcm1JbmZvOw0K PiArDQo+ICsNCj4gKyNkZWZpbmUgbWVtc2V0IFNldE1lbQ0KPiArDQo+ICtVSU5UMTYgICAgICAg ICAgICAgICAgbU1lbW9yeVNwZWVkICAgICAgICAgPSAweGZmZmY7DQo+ICtFRklfUEhZU0lDQUxf QUREUkVTUyAgbU1lbW9yeVNpemVDaGFubmVsQVNsb3QwICA9IDA7DQo+ICtVSU5UMTYgICAgICAg ICAgICAgICAgbU1lbW9yeVNwZWVkQ2hhbm5lbEFTbG90MCA9IDB4ZmZmZjsNCj4gK0VGSV9QSFlT SUNBTF9BRERSRVNTICBtTWVtb3J5U2l6ZUNoYW5uZWxBU2xvdDEgID0gMDsNCj4gK1VJTlQxNiAg ICAgICAgICAgICAgICBtTWVtb3J5U3BlZWRDaGFubmVsQVNsb3QxID0gMHhmZmZmOw0KPiArRUZJ X1BIWVNJQ0FMX0FERFJFU1MgIG1NZW1vcnlTaXplQ2hhbm5lbEJTbG90MCAgPSAwOw0KPiArVUlO VDE2ICAgICAgICAgICAgICAgIG1NZW1vcnlTcGVlZENoYW5uZWxCU2xvdDAgPSAweGZmZmY7DQo+ ICtFRklfUEhZU0lDQUxfQUREUkVTUyAgbU1lbW9yeVNpemVDaGFubmVsQlNsb3QxICA9IDA7DQo+ ICtVSU5UMTYgICAgICAgICAgICAgICAgbU1lbW9yeVNwZWVkQ2hhbm5lbEJTbG90MSA9IDB4ZmZm ZjsNCj4gK0VGSV9QSFlTSUNBTF9BRERSRVNTICBtTWVtb3J5U2l6ZUNoYW5uZWxDU2xvdDAgID0g MDsNCj4gK1VJTlQxNiAgICAgICAgICAgICAgICBtTWVtb3J5U3BlZWRDaGFubmVsQ1Nsb3QwID0g MHhmZmZmOw0KPiArRUZJX1BIWVNJQ0FMX0FERFJFU1MgIG1NZW1vcnlTaXplQ2hhbm5lbENTbG90 MSAgPSAwOw0KPiArVUlOVDE2ICAgICAgICAgICAgICAgIG1NZW1vcnlTcGVlZENoYW5uZWxDU2xv dDEgPSAweGZmZmY7DQo+ICtVSU5UTiAgICAgICAgICAgICAgICAgbU1lbW9yeU1vZGUgICAgICAg ICAgPSAweGZmOw0KPiArDQo+ICsjZGVmaW5lIENIQVJBQ1RFUl9OVU1CRVJfRk9SX1ZBTFVFICAz MA0KPiArICB0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9TVFJJTkdfVE9LRU4gICAgICAgICAg ICBNZW1vcnlEZXZpY2VMb2NhdG9yOw0KPiArICBFRklfU1RSSU5HX1RPS0VOICAgICAgICAgICAg TWVtb3J5QmFua0xvY2F0b3I7DQo+ICsgIEVGSV9TVFJJTkdfVE9LRU4gICAgICAgICAgICBNZW1v cnlNYW51ZmFjdHVyZXI7DQo+ICsgIEVGSV9TVFJJTkdfVE9LRU4gICAgICAgICAgICBNZW1vcnlT ZXJpYWxOdW1iZXI7DQo+ICsgIEVGSV9TVFJJTkdfVE9LRU4gICAgICAgICAgICBNZW1vcnlBc3Nl dFRhZzsNCj4gKyAgRUZJX1NUUklOR19UT0tFTiAgICAgICAgICAgIE1lbW9yeVBhcnROdW1iZXI7 DQo+ICsgIEVGSV9JTlRFUl9MSU5LX0RBVEEgICAgICAgICBNZW1vcnlBcnJheUxpbms7DQo+ICsg IEVGSV9JTlRFUl9MSU5LX0RBVEEgICAgICAgICBNZW1vcnlTdWJBcnJheUxpbms7DQo+ICsgIFVJ TlQxNiAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlUb3RhbFdpZHRoOw0KPiArICBVSU5UMTYg ICAgICAgICAgICAgICAgICAgICAgTWVtb3J5RGF0YVdpZHRoOw0KPiArICBVSU5UNjQgICAgICAg ICAgICAgICAgICAgICAgTWVtb3J5RGV2aWNlU2l6ZTsNCj4gKyAgRUZJX01FTU9SWV9GT1JNX0ZB Q1RPUiAgICAgIE1lbW9yeUZvcm1GYWN0b3I7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICBNZW1vcnlEZXZpY2VTZXQ7DQo+ICsgIEVGSV9NRU1PUllfQVJSQVlfVFlQRSAgICAgICBN ZW1vcnlUeXBlOw0KPiArICBFRklfTUVNT1JZX1RZUEVfREVUQUlMICAgICAgTWVtb3J5VHlwZURl dGFpbDsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgIE1lbW9yeVNwZWVkOw0KPiAr ICBFRklfTUVNT1JZX1NUQVRFICAgICAgICAgICAgTWVtb3J5U3RhdGU7DQo+ICt9IEVGSV9NRU1P UllfQVJSQVlfTElOSzsNCj4gKw0KPiArDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIEVGSV9Q SFlTSUNBTF9BRERSRVNTICAgICAgICBNZW1vcnlBcnJheVN0YXJ0QWRkcmVzczsNCj4gKyAgRUZJ X1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIE1lbW9yeUFycmF5RW5kQWRkcmVzczsNCj4gKyAgRUZJ X0lOVEVSX0xJTktfREFUQSAgICAgICAgIFBoeXNpY2FsTWVtb3J5QXJyYXlMaW5rOw0KPiArICBV SU5UMTYgICAgICAgICAgICAgICAgICAgICAgTWVtb3J5QXJyYXlQYXJ0aXRpb25XaWR0aDsNCj4g K30gRUZJX01FTU9SWV9BUlJBWV9TVEFSVF9BRERSRVNTOw0KPiArDQo+ICsNCj4gK3R5cGVkZWYg ZW51bSB7DQo+ICsgIFBDSF9TQVRBX01PREVfSURFID0gMCwNCj4gKyAgUENIX1NBVEFfTU9ERV9B SENJLA0KPiArICBQQ0hfU0FUQV9NT0RFX1JBSUQsDQo+ICsgIFBDSF9TQVRBX01PREVfTUFYDQo+ ICt9IFBDSF9TQVRBX01PREU7DQo+ICsNCj4gKy8qKg0KPiArICBBY3F1aXJlIHRoZSBzdHJpbmcg YXNzb2NpYXRlZCB3aXRoIHRoZSBJbmRleCBmcm9tIHNtYmlvcyBzdHJ1Y3R1cmUgYW5kDQo+IHJl dHVybiBpdC4NCj4gKyAgVGhlIGNhbGxlciBpcyByZXNwb25zaWJsZSBmb3IgZnJlZSB0aGUgc3Ry aW5nIGJ1ZmZlci4NCj4gKw0KPiArICBAcGFyYW0gT3B0aW9uYWxTdHJTdGFydCAgIFRoZSBzdGFy dCBwb3NpdGlvbiB0byBzZWFyY2ggdGhlIHN0cmluZw0KPiArICBAcGFyYW0gSW5kZXggICAgICAg ICAgICAgIFRoZSBpbmRleCBvZiB0aGUgc3RyaW5nIHRvIGV4dHJhY3QNCj4gKyAgQHBhcmFtIFN0 cmluZyAgICAgICAgICAgICBUaGUgc3RyaW5nIHRoYXQgaXMgZXh0cmFjdGVkDQo+ICsNCj4gKyAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICBUaGUgZnVuY3Rpb24gcmV0dXJucyBFRklfU1VDQ0VT UyBhbHdheXMuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArR2V0T3B0aW9uYWxTdHJp bmdCeUluZGV4ICgNCj4gKyAgSU4gICAgICBDSEFSOCAgICAgICAgICAgICAgICAgICAqT3B0aW9u YWxTdHJTdGFydCwNCj4gKyAgSU4gICAgICBVSU5UOCAgICAgICAgICAgICAgICAgICBJbmRleCwN Cj4gKyAgT1VUICAgICBDSEFSMTYgICAgICAgICAgICAgICAgICAqKlN0cmluZw0KPiArICApDQo+ ICt7DQo+ICsgIFVJTlROICAgICAgICAgIFN0clNpemU7DQo+ICsNCj4gKyAgaWYgKEluZGV4ID09 IDApIHsNCj4gKyAgICAqU3RyaW5nID0gQWxsb2NhdGVaZXJvUG9vbCAoc2l6ZW9mIChDSEFSMTYp KTsNCj4gKyAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICsgIH0NCj4gKw0KPiArICBTdHJTaXpl ID0gMDsNCj4gKyAgZG8gew0KPiArICAgIEluZGV4LS07DQo+ICsgICAgT3B0aW9uYWxTdHJTdGFy dCArPSBTdHJTaXplOw0KPiArICAgIFN0clNpemUgICAgICAgICAgID0gQXNjaWlTdHJTaXplIChP cHRpb25hbFN0clN0YXJ0KTsNCj4gKyAgfSB3aGlsZSAoT3B0aW9uYWxTdHJTdGFydFtTdHJTaXpl XSAhPSAwICYmIEluZGV4ICE9IDApOw0KPiArDQo+ICsgIGlmICgoSW5kZXggIT0gMCkgfHwgKFN0 clNpemUgPT0gMSkpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIE1lZXQgdGhlIGVuZCBvZiBzdHJp bmdzIHNldCBidXQgSW5kZXggaXMgbm9uLXplcm8sIG9yDQo+ICsgICAgLy8gRmluZCBhbiBlbXB0 eSBzdHJpbmcNCj4gKyAgICAvLw0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9 IGVsc2Ugew0KPiArICAgICpTdHJpbmcgPSBBbGxvY2F0ZVBvb2wgKFN0clNpemUgKiBzaXplb2Yg KENIQVIxNikpOw0KPiArICAgIEFzY2lpU3RyVG9Vbmljb2RlU3RyIChPcHRpb25hbFN0clN0YXJ0 LCAqU3RyaW5nKTsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30N Cj4gKw0KPiArLyoqDQo+ICsgIFZTUHJpbnQgd29ya2VyIGZ1bmN0aW9uIHRoYXQgcHJpbnRzIGEg VmFsdWUgYXMgYSBkZWNpbWFsIG51bWJlciBpbiBCdWZmZXINCj4gKw0KPiArICBAcGFyYW0gQnVm ZmVyICBMb2NhdGlvbiB0byBwbGFjZSBhc2NpaSBkZWNpbWFsIG51bWJlciBzdHJpbmcgb2YgVmFs dWUuDQo+ICsgIEBwYXJhbSBWYWx1ZSAgIERlY2ltYWwgdmFsdWUgdG8gY29udmVydCB0byBhIHN0 cmluZyBpbiBCdWZmZXIuDQo+ICsgIEBwYXJhbSBGbGFncyAgIEZsYWdzIHRvIHVzZSBpbiBwcmlu dGluZyBkZWNpbWFsIHN0cmluZywgc2VlIGZpbGUgaGVhZGVyIGZvcg0KPiBkZXRhaWxzLg0KPiAr ICBAcGFyYW0gV2lkdGggICBXaWR0aCBvZiBoZXggdmFsdWUuDQo+ICsNCj4gKyAgTnVtYmVyIG9m IGNoYXJhY3RlcnMgcHJpbnRlZC4NCj4gKw0KPiArKiovDQo+ICtVSU5UTg0KPiArRWZpVmFsdWVU b1N0cmluZyAoDQo+ICsgIElOICBPVVQgQ0hBUjE2ICAqQnVmZmVyLA0KPiArICBJTiAgSU5UNjQg ICAgICAgVmFsdWUsDQo+ICsgIElOICBVSU5UTiAgICAgICBGbGFncywNCj4gKyAgSU4gIFVJTlRO ICAgICAgIFdpZHRoDQo+ICsgICkNCj4gK3sNCj4gKyAgQ0hBUjE2ICAgIFRlbXBCdWZmZXJbQ0hB UkFDVEVSX05VTUJFUl9GT1JfVkFMVUVdOw0KPiArICBDSEFSMTYgICAgKlRlbXBTdHI7DQo+ICsg IENIQVIxNiAgICAqQnVmZmVyUHRyOw0KPiArICBVSU5UTiAgICAgQ291bnQ7DQo+ICsgIFVJTlRO ICAgICBWYWx1ZUNoYXJOdW07DQo+ICsgIFVJTlROICAgICBSZW1haW5kZXI7DQo+ICsgIENIQVIx NiAgICBQcmVmaXg7DQo+ICsgIFVJTlROICAgICBJbmRleDsNCj4gKyAgQk9PTEVBTiAgIFZhbHVl SXNOZWdhdGl2ZTsNCj4gKyAgVUlOVDY0ICAgIFRlbXBWYWx1ZTsNCj4gKw0KPiArICBUZW1wU3Ry ICAgICAgICAgPSBUZW1wQnVmZmVyOw0KPiArICBCdWZmZXJQdHIgICAgICAgPSBCdWZmZXI7DQo+ ICsgIENvdW50ICAgICAgICAgICA9IDA7DQo+ICsgIFZhbHVlQ2hhck51bSAgICA9IDA7DQo+ICsg IFZhbHVlSXNOZWdhdGl2ZSA9IEZBTFNFOw0KPiArDQo+ICsgIGlmIChXaWR0aCA+IENIQVJBQ1RF Ul9OVU1CRVJfRk9SX1ZBTFVFIC0gMSkgew0KPiArICAgIFdpZHRoID0gQ0hBUkFDVEVSX05VTUJF Ul9GT1JfVkFMVUUgLSAxOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKFZhbHVlIDwgMCkgew0KPiAr ICAgIFZhbHVlICAgICAgICAgICA9IC1WYWx1ZTsNCj4gKyAgICBWYWx1ZUlzTmVnYXRpdmUgPSBU UlVFOw0KPiArICB9DQo+ICsNCj4gKyAgZG8gew0KPiArICAgIFRlbXBWYWx1ZSA9IFZhbHVlOw0K PiArICAgIFZhbHVlID0gKElOVDY0KURpdlU2NHgzMiAoKFVJTlQ2NClWYWx1ZSwgMTApOw0KPiAr ICAgIFJlbWFpbmRlciA9IChVSU5UTikoKFVJTlQ2NClUZW1wVmFsdWUgLSAxMCAqIFZhbHVlKTsN Cj4gKyAgICAqKFRlbXBTdHIrKykgPSAoQ0hBUjE2KShSZW1haW5kZXIgKyAnMCcpOw0KPiArICAg IFZhbHVlQ2hhck51bSsrOw0KPiArICAgIENvdW50Kys7DQo+ICsgICAgaWYgKChGbGFncyAmIENP TU1BX1RZUEUpID09IENPTU1BX1RZUEUpIHsNCj4gKyAgICAgIGlmIChWYWx1ZUNoYXJOdW0gJSAz ID09IDAgJiYgVmFsdWUgIT0gMCkgew0KPiArICAgICAgICAqKFRlbXBTdHIrKykgPSAnLCc7DQo+ ICsgICAgICAgIENvdW50Kys7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9IHdoaWxlIChW YWx1ZSAhPSAwKTsNCj4gKw0KPiArICBpZiAoVmFsdWVJc05lZ2F0aXZlKSB7DQo+ICsgICAgKihU ZW1wU3RyKyspICAgID0gJy0nOw0KPiArICAgIENvdW50Kys7DQo+ICsgIH0NCj4gKw0KPiArICBp ZiAoKEZsYWdzICYgUFJFRklYX1pFUk8pICYmICFWYWx1ZUlzTmVnYXRpdmUpIHsNCj4gKyAgICBQ cmVmaXggPSAnMCc7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgUHJlZml4ID0gJyAnOw0KPiArICB9 DQo+ICsNCj4gKyAgSW5kZXggPSBDb3VudDsNCj4gKyAgaWYgKCEoRmxhZ3MgJiBMRUZUX0pVU1RJ RlkpKSB7DQo+ICsgICAgZm9yICg7IEluZGV4IDwgV2lkdGg7IEluZGV4KyspIHsNCj4gKyAgICAg ICooVGVtcFN0cisrKSA9IFByZWZpeDsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0K PiArICAvLyBSZXZlcnNlIHRlbXAgc3RyaW5nIGludG8gQnVmZmVyLg0KPiArICAvLw0KPiArICBp ZiAoV2lkdGggPiAwICYmIChVSU5UTikgKFRlbXBTdHIgLSBUZW1wQnVmZmVyKSA+IFdpZHRoKSB7 DQo+ICsgICAgVGVtcFN0ciA9IFRlbXBCdWZmZXIgKyBXaWR0aDsNCj4gKyAgfQ0KPiArICBJbmRl eCA9IDA7DQo+ICsgIHdoaWxlIChUZW1wU3RyICE9IFRlbXBCdWZmZXIpIHsNCj4gKyAgICAqKEJ1 ZmZlclB0cisrKSA9ICooLS1UZW1wU3RyKTsNCj4gKyAgICBJbmRleCsrOw0KPiArICB9DQo+ICsN Cj4gKyAgKkJ1ZmZlclB0ciA9IDA7DQo+ICsgIHJldHVybiBJbmRleDsNCj4gK30NCj4gKw0KPiAr c3RhdGljIENIQVIxNiBtSGV4U3RyW10gPSB7IEwnMCcsIEwnMScsIEwnMicsIEwnMycsIEwnNCcs IEwnNScsIEwnNicsIEwnNycsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgTCc4Jywg TCc5JywgTCdBJywgTCdCJywgTCdDJywgTCdEJywgTCdFJywgTCdGJyB9Ow0KPiArDQo+ICsvKioN Cj4gKyAgVlNQcmludCB3b3JrZXIgZnVuY3Rpb24gdGhhdCBwcmludHMgYSBWYWx1ZSBhcyBhIGhl eCBudW1iZXIgaW4gQnVmZmVyDQo+ICsNCj4gKyAgQHBhcmFtICBCdWZmZXIgIExvY2F0aW9uIHRv IHBsYWNlIGFzY2lpIGhleCBzdHJpbmcgb2YgVmFsdWUuDQo+ICsgIEBwYXJhbSAgVmFsdWUgICBI ZXggdmFsdWUgdG8gY29udmVydCB0byBhIHN0cmluZyBpbiBCdWZmZXIuDQo+ICsgIEBwYXJhbSAg RmxhZ3MgICBGbGFncyB0byB1c2UgaW4gcHJpbnRpbmcgSGV4IHN0cmluZywgc2VlIGZpbGUgaGVh ZGVyIGZvcg0KPiBkZXRhaWxzLg0KPiArICBAcGFyYW0gIFdpZHRoICAgV2lkdGggb2YgaGV4IHZh bHVlLg0KPiArDQo+ICsgIEByZXR2YWwgICAgICAgICBOdW1iZXIgb2YgY2hhcmFjdGVycyBwcmlu dGVkLg0KPiArDQo+ICsqKi8NCj4gK1VJTlRODQo+ICtFZmlWYWx1ZVRvSGV4U3RyICgNCj4gKyAg SU4gIE9VVCBDSEFSMTYgICpCdWZmZXIsDQo+ICsgIElOICBVSU5UNjQgICAgICBWYWx1ZSwNCj4g KyAgSU4gIFVJTlROICAgICAgIEZsYWdzLA0KPiArICBJTiAgVUlOVE4gICAgICAgV2lkdGgNCj4g KyAgKQ0KPiArew0KPiArICBDSEFSMTYgIFRlbXBCdWZmZXJbQ0hBUkFDVEVSX05VTUJFUl9GT1Jf VkFMVUVdOw0KPiArICBDSEFSMTYgICpUZW1wU3RyOw0KPiArICBDSEFSMTYgIFByZWZpeDsNCj4g KyAgQ0hBUjE2ICAqQnVmZmVyUHRyOw0KPiArICBVSU5UTiAgIENvdW50Ow0KPiArICBVSU5UTiAg IEluZGV4Ow0KPiArDQo+ICsgIFRlbXBTdHIgICA9IFRlbXBCdWZmZXI7DQo+ICsgIEJ1ZmZlclB0 ciA9IEJ1ZmZlcjsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDb3VudCBzdGFydHMgYXQgb25lIHNp bmNlIHdlIHdpbGwgbnVsbCB0ZXJtaW5hdGUuIEVhY2ggaXRlcmF0aW9uIG9mIHRoZQ0KPiArICAv LyBsb29wIHBpY2tzIG9mZiBvbmUgbmliYmxlLiBPaCB5ZWEgVGVtcFN0ciBlbmRzIHVwIGJhY2t3 YXJkcw0KPiArICAvLw0KPiArICBDb3VudCA9IDA7DQo+ICsNCj4gKyAgaWYgKFdpZHRoID4gQ0hB UkFDVEVSX05VTUJFUl9GT1JfVkFMVUUgLSAxKSB7DQo+ICsgICAgV2lkdGggPSBDSEFSQUNURVJf TlVNQkVSX0ZPUl9WQUxVRSAtIDE7DQo+ICsgIH0NCj4gKw0KPiArICBkbyB7DQo+ICsgICAgSW5k ZXggPSAoKFVJTlROKVZhbHVlICYgMHhmKTsNCj4gKyAgICAqKFRlbXBTdHIrKykgPSBtSGV4U3Ry W0luZGV4XTsNCj4gKyAgICBWYWx1ZSA9IFJTaGlmdFU2NCAoVmFsdWUsIDQpOw0KPiArICAgIENv dW50Kys7DQo+ICsgIH0gd2hpbGUgKFZhbHVlICE9IDApOw0KPiArDQo+ICsgIGlmIChGbGFncyAm IFBSRUZJWF9aRVJPKSB7DQo+ICsgICAgUHJlZml4ID0gJzAnOw0KPiArICB9IGVsc2Ugew0KPiAr ICAgIFByZWZpeCA9ICcgJzsNCj4gKyAgfQ0KPiArDQo+ICsgIEluZGV4ID0gQ291bnQ7DQo+ICsg IGlmICghKEZsYWdzICYgTEVGVF9KVVNUSUZZKSkgew0KPiArICAgIGZvciAoOyBJbmRleCA8IFdp ZHRoOyBJbmRleCsrKSB7DQo+ICsgICAgICAqKFRlbXBTdHIrKykgPSBQcmVmaXg7DQo+ICsgICAg fQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmV2ZXJzZSB0ZW1wIHN0cmluZyBpbnRv IEJ1ZmZlci4NCj4gKyAgLy8NCj4gKyAgaWYgKFdpZHRoID4gMCAmJiAoVUlOVE4pIChUZW1wU3Ry IC0gVGVtcEJ1ZmZlcikgPiBXaWR0aCkgew0KPiArICAgIFRlbXBTdHIgPSBUZW1wQnVmZmVyICsg V2lkdGg7DQo+ICsgIH0NCj4gKyAgSW5kZXggPSAwOw0KPiArICB3aGlsZSAoVGVtcFN0ciAhPSBU ZW1wQnVmZmVyKSB7DQo+ICsgICAgKihCdWZmZXJQdHIrKykgPSAqKC0tVGVtcFN0cik7DQo+ICsg ICAgSW5kZXgrKzsNCj4gKyAgfQ0KPiArDQo+ICsgICpCdWZmZXJQdHIgPSAwOw0KPiArICByZXR1 cm4gSW5kZXg7DQo+ICt9DQo+ICsNCj4gKy8qKysNCj4gKyAgQ29udmVydHMgTUFDIGFkZHJlc3Mg dG8gVW5pY29kZSBzdHJpbmcuDQo+ICsgIFRoZSB2YWx1ZSBpcyA2NC1iaXQgYW5kIHRoZSByZXN1 bHRpbmcgc3RyaW5nIHdpbGwgYmUgMTINCj4gKyAgZGlnaXQgaGV4IG51bWJlciBpbiBwYWlycyBv ZiBkaWdpdHMgc2VwYXJhdGVkIGJ5IGRhc2hlcy4NCj4gKw0KPiArICBAcGFyYW0gIFN0cmluZyAg ICBzdHJpbmcgdGhhdCB3aWxsIGNvbnRhaW4gdGhlIHZhbHVlDQo+ICsgIEBwYXJhbSAgTWFjQWRk ciAgIGFkZCBhcmd1bWVudCBhbmQgZGVzY3JpcHRpb24gdG8gZnVuY3Rpb24gY29tbWVudA0KPiAr ICBAcGFyYW0gIEFkZHJTaXplICBhZGQgYXJndW1lbnQgYW5kIGRlc2NyaXB0aW9uIHRvIGZ1bmN0 aW9uIGNvbW1lbnQNCj4gKw0KPiArKiovDQo+ICtDSEFSMTYgKg0KPiArU3RyTWFjVG9TdHJpbmcg KA0KPiArICBPVVQgQ0hBUjE2ICAgICAgICAgICAgICAqU3RyaW5nLA0KPiArICBJTiAgRUZJX01B Q19BRERSRVNTICAgICAqTWFjQWRkciwNCj4gKyAgSU4gIFVJTlQzMiAgICAgICAgICAgICAgQWRk clNpemUNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMzIgIGk7DQo+ICsNCj4gKyAgZm9yIChpID0g MDsgaSA8IEFkZHJTaXplOyBpKyspIHsNCj4gKw0KPiArICAgIEVmaVZhbHVlVG9IZXhTdHIgKA0K PiArICAgICAgJlN0cmluZ1syICogaV0sDQo+ICsgICAgICBNYWNBZGRyLT5BZGRyW2ldICYgMHhG RiwNCj4gKyAgICAgIFBSRUZJWF9aRVJPLA0KPiArICAgICAgMg0KPiArICAgICAgKTsNCj4gKyAg fQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRlcm1pbmF0ZSB0aGUgc3RyaW5nLg0KPiArICAvLw0K PiArICBTdHJpbmdbMiAqIEFkZHJTaXplXSA9IEwnXDAnOw0KPiArDQo+ICsgIHJldHVybiBTdHJp bmc7DQo+ICt9DQo+ICsNCj4gK1ZPSUQgVXBkYXRlTGF0ZXN0Qm9vdFRpbWUoKSB7DQo+ICsgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgIFZhclNpemU7DQo+ICsgIEVGSV9TVEFUVVMgICAg ICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UNjQgICAgICAgICAgICAgICAgICAgICAg IFRpbWVWYWx1ZTsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJbNDBd Ow0KPiArICBpZiAobVN5c3RlbUNvbmZpZ3VyYXRpb24uTG9nQm9vdFRpbWUgIT0gMSkgew0KPiAr ICAgIHJldHVybjsNCj4gKyAgfQ0KPiArICBWYXJTaXplID0gc2l6ZW9mKFRpbWVWYWx1ZSk7DQo+ ICsgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgICAgICBCT09U X1RJTUVfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpTm9ybWFsU2V0dXBHdWlkLA0K PiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZWYXJTaXpl LA0KPiArICAgICAgICAgICAgICAgICAgJlRpbWVWYWx1ZQ0KPiArCQkJCSAgICAgICAgICApOw0K PiArICBpZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4g KyAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJWQgbXMiLCAoVUlO VDMyKVRpbWVWYWx1ZSk7DQo+ICsgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19UT0tF TihTVFJfTE9HX0JPT1RfVElNRV9WQUxVRSksDQo+IEJ1ZmZlciwgTlVMTCk7DQo+ICt9DQo+ICsN Cj4gKy8qKg0KPiArICBHZXQgQ2FjaGUgVHlwZSBmb3IgdGhlIHNwZWNpZmllZCBDYWNoZS4gVGhp cyBmdW5jdGlvbiBpcyBpbnZva2VkIHdoZW4NCj4gdGhlcmUgaXMgZGF0YSByZWNvcmRzDQo+ICsg IGF2YWlsYWJsZSBpbiB0aGUgRGF0YSBIdWIuDQo+ICsNCj4gKyAgR2V0IENhY2hlIFR5cGUgZnVu Y3Rpb24gYXJndW1lbnRzOg0KPiArDQo+ICsgIEBwYXJhbSAgSW5zdGFuY2UgICAgICAgIFRoZSBp bnN0YW5jZSBudW1iZXIgb2YgdGhlIHN1YmNsYXNzIHdpdGggdGhlIHNhbWUNCj4gUHJvZHVjZXJO YW1lLi4NCj4gKyAgQHBhcmFtICBTdWJJbnN0YW5jZSAgICAgVGhlIGluc3RhbmNlIG51bWJlciBv ZiB0aGUgUmVjb3JkVHlwZSBmb3IgdGhlDQo+IHNhbWUgSW5zdGFuY2UuDQo+ICsgIEBwYXJhbSAg Q2FjaGVUeXBlICAgICAgIENhY2hlIHR5cGUsIHNlZSBkZWZpbml0aW9uIG9mDQo+IEVGSV9DQUNI RV9UWVBFX0RBVEEuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1RBVFVTDQo+ICsNCj4gKyoqLw0K PiArRUZJX1NUQVRVUw0KPiArR2V0Q2FjaGVUeXBlKA0KPiArICBJTiAgVUlOVDE2ICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEluc3RhbmNlLA0KPiArICBJTiAgVUlOVDE2ICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFN1Ykluc3RhbmNlLA0KPiArICBJTiAgRUZJX0NBQ0hFX1RZUEVfREFU QSogICAgICAgICAgICAgIENhY2hlVHlwZSkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0RBVEFfSFVCX1BST1RPQ09MICAgICAgICpEYXRh SHViOw0KPiArICBFRklfREFUQV9SRUNPUkRfSEVBREVSICAgICAgKlJlY29yZDsNCj4gKyAgVUlO VDY0ICAgICAgICAgICAgICAgICAgICAgIE1vbm90b25pY0NvdW50Ow0KPiArICBFRklfQ0FDSEVf VkFSSUFCTEVfUkVDT1JEKiAgQ2FjaGVWYXJpYWJsZVJlY29yZDsNCj4gKyAgRUZJX1NVQkNMQVNT X1RZUEUxX0hFQURFUiAgICpEYXRhSGVhZGVyOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9j YXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlEYXRhSHViUHJvdG9jb2xH dWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICh2 b2lkICoqKSZEYXRhSHViDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJ X0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IGFsbCBhdmFpbGFibGUg ZGF0YSByZWNvcmRzIGZyb20gZGF0YSBodWINCj4gKyAgLy8NCj4gKyAgTW9ub3RvbmljQ291bnQg PSAwOw0KPiArICBSZWNvcmQgPSBOVUxMOw0KPiArDQo+ICsgIGRvIHsNCj4gKyAgICBTdGF0dXMg PSBEYXRhSHViLT5HZXROZXh0UmVjb3JkICgNCj4gKwkgICAgICAgICAgICAgICAgICAgIERhdGFI dWIsDQo+ICsJCQkJCQkmTW9ub3RvbmljQ291bnQsDQo+ICsJCQkJCQlOVUxMLA0KPiArCQkJCQkJ JlJlY29yZA0KPiArCQkJCQkJKTsNCj4gKyAgICBpZiAoIUVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ ICsgICAgICBpZiAoUmVjb3JkLT5EYXRhUmVjb3JkQ2xhc3MgPT0gRUZJX0RBVEFfUkVDT1JEX0NM QVNTX0RBVEEpIHsNCj4gKyAgICAgICAgRGF0YUhlYWRlciAgPSAoRUZJX1NVQkNMQVNTX1RZUEUx X0hFQURFUiAqKShSZWNvcmQgKyAxKTsNCj4gKw0KPiArICAgICAgICBpZihDb21wYXJlR3VpZCgm UmVjb3JkLT5EYXRhUmVjb3JkR3VpZCwgJmdFZmlDYWNoZVN1YkNsYXNzR3VpZCkNCj4gJiYNCj4g KyAgICAgICAgICAoRGF0YUhlYWRlci0+UmVjb3JkVHlwZSA9PSBDYWNoZVR5cGVSZWNvcmRUeXBl KSAmJg0KPiArICAgICAgICAgIChEYXRhSGVhZGVyLT5JbnN0YW5jZSA9PSBJbnN0YW5jZSkgJiYN Cj4gKyAgICAgICAgICAoRGF0YUhlYWRlci0+U3ViSW5zdGFuY2UgPT0gU3ViSW5zdGFuY2UpKSB7 DQo+ICsgICAgICAgICAgQ2FjaGVWYXJpYWJsZVJlY29yZCAgICAgPSAoRUZJX0NBQ0hFX1ZBUklB QkxFX1JFQ09SRA0KPiAqKShEYXRhSGVhZGVyICsgMSk7DQo+ICsgICAgICAgICAgaWYoQ2FjaGVU eXBlKXsNCj4gKyAgICAgICAgICAgICpDYWNoZVR5cGUgPSBDYWNoZVZhcmlhYmxlUmVjb3JkLT5D YWNoZVR5cGU7DQo+ICsgICAgICAgICAgICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICsgICAgICAg ICAgfQ0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9IHdoaWxlKCFF RklfRVJST1IoU3RhdHVzKSAmJiAoTW9ub3RvbmljQ291bnQgIT0gMCkpOw0KPiArDQo+ICsgIHJl dHVybiBFRklfTk9UX0ZPVU5EOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgU2V0dXAgZGF0YSBm aWx0ZXIgZnVuY3Rpb24uIFRoaXMgZnVuY3Rpb24gaXMgaW52b2tlZCB3aGVuIHRoZXJlIGlzIGRh dGENCj4gcmVjb3Jkcw0KPiArICBhdmFpbGFibGUgaW4gdGhlIERhdGEgSHViLg0KPiArDQo+ICsN Cj4gKyAgU3RhbmRhcmQgZXZlbnQgbm90aWZpY2F0aW9uIGZ1bmN0aW9uIGFyZ3VtZW50czoNCj4g KyAgQHBhcmFtIEV2ZW50ICAgICAgICAgIFRoZSBldmVudCB0aGF0IGlzIHNpZ25hbGVkLg0KPiAr ICBAcGFyYW0gQ29udGV4dCAgICAgICAgTm90IHVzZWQgaGVyZS4NCj4gKw0KPiArICBAcmV0dmFs IEVGSV9TVEFUVVMNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtQcmVwYXJlU2V0dXBJbmZvcm1h dGlvbiAoDQo+ICsgICkNCj4gK3sNCj4gKw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAg ICAgU3RhdHVzOw0KPiArICBFRklfREFUQV9IVUJfUFJPVE9DT0wgICAgICAgKkRhdGFIdWI7DQo+ ICsgIEVGSV9EQVRBX1JFQ09SRF9IRUFERVIgICAgICAqUmVjb3JkOw0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgICAgKlNyY0RhdGE7DQo+ICsgIEVGSV9TVUJDTEFTU19UWVBFMV9IRUFE RVIgICAqRGF0YUhlYWRlcjsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICpOZXdT dHJpbmc7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAqTmV3U3RyaW5nMjsNCj4g KyAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICpOZXdTdHJpbmdUb2tlbjsNCj4gKyAgU1RS SU5HX1JFRiAgICAgICAgICAgICAgICAgIFRva2VuVG9VcGRhdGU7DQo+ICsgIEVGSV9QUk9DRVNT T1JfVkVSU0lPTl9EQVRBICAqUHJvY2Vzc29yVmVyc2lvbjsNCj4gKyAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgIEluZGV4Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgRGF0 YU91dHB1dDsNCj4gKw0KPiArICBFRklfUFJPQ0VTU09SX01JQ1JPQ09ERV9SRVZJU0lPTl9EQVRB ICAgKkNwdVVjb2RlUmV2aXNpb25EYXRhOw0KPiArICBFRklfTUVNT1JZX0FSUkFZX1NUQVJUX0FE RFJFU1MgICAgICAgICAgKk1lbW9yeUFycmF5Ow0KPiArICBFRklfTUVNT1JZX0FSUkFZX0xJTksg ICAgICAgICAgICAgICAgICAgKk1lbW9yeUFycmF5TGluazsNCj4gKyAgVUlOVDY0ICAgICAgICAg ICAgICAgICAgICAgIE1vbm90b25pY0NvdW50Ow0KPiArDQo+ICsgIENIQVIxNiAgICAgICAgICAg ICAgICAgICAgICBWZXJzaW9uWzEwMF07ICAgICAgICAgLy9Bc3N1bWluZyB0aGF0IHN0cmluZ3Mg YXJlIDwgMTAwDQo+IFVDSEFSDQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICBSZWxl YXNlRGF0ZVsxMDBdOyAgICAgLy9Bc3N1bWluZyB0aGF0IHN0cmluZ3MgYXJlIDwgMTAwDQo+IFVD SEFSDQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICBSZWxlYXNlVGltZVsxMDBdOyAg ICAgLy9Bc3N1bWluZyB0aGF0IHN0cmluZ3MgYXJlIDwgMTAwDQo+IFVDSEFSDQo+ICsNCj4gKyAg TmV3U3RyaW5nID0gQWxsb2NhdGVaZXJvUG9vbCAoMHgxMDApOw0KPiArICBOZXdTdHJpbmcyID0g QWxsb2NhdGVaZXJvUG9vbCAoMHgxMDApOw0KPiArICBTZXRNZW0oVmVyc2lvbiwgc2l6ZW9mKFZl cnNpb24pLCAwKTsNCj4gKyAgU2V0TWVtKFJlbGVhc2VEYXRlLCBzaXplb2YoUmVsZWFzZURhdGUp LCAwKTsNCj4gKyAgU2V0TWVtKFJlbGVhc2VUaW1lLCBzaXplb2YoUmVsZWFzZVRpbWUpLCAwKTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgdGhlIERhdGEgSHViIFByb3RvY29sLiBBc3N1bWUg b25seSBvbmUgaW5zdGFuY2UNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90 b2NvbCAoJmdFZmlEYXRhSHViUHJvdG9jb2xHdWlkLCBOVUxMLCAodm9pZA0KPiAqKikmRGF0YUh1 Yik7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAv LyBHZXQgYWxsIGF2YWlsYWJsZSBkYXRhIHJlY29yZHMgZnJvbSBkYXRhIGh1Yg0KPiArICAvLw0K PiArICBNb25vdG9uaWNDb3VudCA9IDA7DQo+ICsgIFJlY29yZCA9IE5VTEw7DQo+ICsNCj4gKyAg ZG8gew0KPiArICAgIFN0YXR1cyA9IERhdGFIdWItPkdldE5leHRSZWNvcmQgKERhdGFIdWIsICZN b25vdG9uaWNDb3VudCwgTlVMTCwNCj4gJlJlY29yZCk7DQo+ICsgICAgaWYgKCFFRklfRVJST1Io U3RhdHVzKSkgew0KPiArICAgICAgaWYgKFJlY29yZC0+RGF0YVJlY29yZENsYXNzID09IEVGSV9E QVRBX1JFQ09SRF9DTEFTU19EQVRBKSB7DQo+ICsgICAgICAgIERhdGFIZWFkZXIgID0gKEVGSV9T VUJDTEFTU19UWVBFMV9IRUFERVIgKikoUmVjb3JkICsgMSk7DQo+ICsgICAgICAgIFNyY0RhdGEg ICAgID0gKFVJTlQ4ICAqKShEYXRhSGVhZGVyICsgMSk7DQo+ICsNCj4gKyAgICAgICAgLy8NCj4g KyAgICAgICAgLy8gUHJvY2Vzc29yDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIGlmIChDb21w YXJlR3VpZCgmUmVjb3JkLT5EYXRhUmVjb3JkR3VpZCwNCj4gJmdFZmlQcm9jZXNzb3JTdWJDbGFz c0d1aWQpKSB7DQo+ICsgICAgICAgICAgQ29weU1lbSAoJm1Qcm9jZXNzb3JQcm9kdWNlckd1aWQs ICZSZWNvcmQtPlByb2R1Y2VyTmFtZSwNCj4gc2l6ZW9mKEVGSV9HVUlEKSk7DQo+ICsgICAgICAg ICAgc3dpdGNoIChEYXRhSGVhZGVyLT5SZWNvcmRUeXBlKSB7DQo+ICsgICAgICAgICAgICBjYXNl IFByb2Nlc3NvckNvcmVGcmVxdWVuY3lSZWNvcmRUeXBlOg0KPiArICAgICAgICAgICAgICBDb3B5 TWVtKCZtUHJvY2Vzc29yRnJlcXVlbmN5LCBTcmNEYXRhLA0KPiBzaXplb2YoRUZJX0VYUF9CQVNF MTBfREFUQSkpOw0KPiArICAgICAgICAgICAgICBJbmRleCA9IEVmaVZhbHVlVG9TdHJpbmcgKA0K PiArCQkJICAgICAgICAgICAgTmV3U3RyaW5nLA0KPiArCQkJCQkJQ29udmVydEJhc2UxMFRvUmF3 DQo+ICgoRUZJX0VYUF9CQVNFMTBfREFUQSAqKVNyY0RhdGEpLzEwMDAwMDAwMDAsDQo+ICsJCQkJ CQlQUkVGSVhfWkVSTywNCj4gKwkJCQkJCTANCj4gKwkJCQkJCSk7DQo+ICsgICAgICAgICAgICAg IFN0ckNhdCAoTmV3U3RyaW5nLCBMIi4iKTsNCj4gKyAgICAgICAgICAgICAgRWZpVmFsdWVUb1N0 cmluZyAoDQo+ICsJCQkgICAgTmV3U3RyaW5nICsgSW5kZXggKyAxLA0KPiArCQkJCSgoQ29udmVy dEJhc2UxMFRvUmF3DQo+ICgoRUZJX0VYUF9CQVNFMTBfREFUQSAqKVNyY0RhdGEpJTEwMDAwMDAw MDApLzEwMDAwMDAwKSwNCj4gKwkJCQlQUkVGSVhfWkVSTywNCj4gKwkJCQkwDQo+ICsJCQkJKTsN Cj4gKyAgICAgICAgICAgICAgU3RyQ2F0IChOZXdTdHJpbmcsIEwiIEdIeiIpOw0KPiArICAgICAg ICAgICAgICBUb2tlblRvVXBkYXRlID0gKFNUUklOR19SRUYpU1RSX1BST0NFU1NPUl9TUEVFRF9W QUxVRTsNCj4gKyAgICAgICAgICAgICAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsIFRva2VuVG9V cGRhdGUsIE5ld1N0cmluZywgTlVMTCk7DQo+ICsgICAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ ICsgICAgICAgICAgICBjYXNlIFByb2Nlc3NvclZlcnNpb25SZWNvcmRUeXBlOg0KPiArICAgICAg ICAgICAgICBQcm9jZXNzb3JWZXJzaW9uID0gKEVGSV9QUk9DRVNTT1JfVkVSU0lPTl9EQVRBICop U3JjRGF0YTsNCj4gKyAgICAgICAgICAgICAgTmV3U3RyaW5nVG9rZW4gPSBIaWlHZXRQYWNrYWdl U3RyaW5nKCZtUHJvY2Vzc29yUHJvZHVjZXJHdWlkLA0KPiAqUHJvY2Vzc29yVmVyc2lvbiwgTlVM TCk7DQo+ICsgICAgICAgICAgICAgIFRva2VuVG9VcGRhdGUgPSAoU1RSSU5HX1JFRilTVFJfUFJP Q0VTU09SX1ZFUlNJT05fVkFMVUU7DQo+ICsgICAgICAgICAgICAgIEhpaVNldFN0cmluZyhtSGlp SGFuZGxlLCBUb2tlblRvVXBkYXRlLCBOZXdTdHJpbmdUb2tlbiwgTlVMTCk7DQo+ICsgICAgICAg ICAgICAgIGJyZWFrOw0KPiArICAgICAgICAgICAgY2FzZSBDcHVVY29kZVJldmlzaW9uRGF0YVJl Y29yZFR5cGU6DQo+ICsgICAgICAgICAgICAgIENwdVVjb2RlUmV2aXNpb25EYXRhID0NCj4gKEVG SV9QUk9DRVNTT1JfTUlDUk9DT0RFX1JFVklTSU9OX0RBVEEgKikgU3JjRGF0YTsNCj4gKyAgICAg ICAgICAgICAgaWYgKENwdVVjb2RlUmV2aXNpb25EYXRhLT5Qcm9jZXNzb3JNaWNyb2NvZGVSZXZp c2lvbk51bWJlciAhPQ0KPiAwKSB7DQo+ICsgICAgICAgICAgICAgICAgRWZpVmFsdWVUb0hleFN0 ciAoDQo+ICsJCQkJICBOZXdTdHJpbmcsDQo+ICsgICAgICAgICAgICAgICAgICBDcHVVY29kZVJl dmlzaW9uRGF0YS0+UHJvY2Vzc29yTWljcm9jb2RlUmV2aXNpb25OdW1iZXIsDQo+ICsgICAgICAg ICAgICAgICAgICBQUkVGSVhfWkVSTywNCj4gKyAgICAgICAgICAgICAgICAgIDgNCj4gKwkJCQkg ICk7DQo+ICsgICAgICAgICAgICAgICAgVG9rZW5Ub1VwZGF0ZSA9DQo+IChTVFJJTkdfUkVGKVNU Ul9QUk9DRVNTT1JfTUlDUk9DT0RFX1ZBTFVFOw0KPiArICAgICAgICAgICAgICAgIEhpaVNldFN0 cmluZyhtSGlpSGFuZGxlLCBUb2tlblRvVXBkYXRlLCBOZXdTdHJpbmcsIE5VTEwpOw0KPiArICAg ICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICAgICAgZGVm YXVsdDoNCj4gKyAgICAgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgICAgfQ0KPiArDQo+ICsg ICAgICAgIC8vDQo+ICsgICAgICAgIC8vIENhY2hlDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAg IH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQoJlJlY29yZC0+RGF0YVJlY29yZEd1aWQsDQo+ICZnRWZp Q2FjaGVTdWJDbGFzc0d1aWQpICYmDQo+ICsgICAgICAgICAgICAgICAgICAgKERhdGFIZWFkZXIt PlJlY29yZFR5cGUgPT0gQ2FjaGVTaXplUmVjb3JkVHlwZSkpIHsNCj4gKyAgICAgICAgICBpZiAo RGF0YUhlYWRlci0+U3ViSW5zdGFuY2UgPT0gRUZJX0NBQ0hFX0wxKSB7DQo+ICsgICAgICAgICAg ICBFRklfQ0FDSEVfVFlQRV9EQVRBICAgICAgICAgICAgICBDYWNoZVR5cGU7DQo+ICsgICAgICAg ICAgICBpZiAoRUZJX1NVQ0NFU1MgPT0gR2V0Q2FjaGVUeXBlKERhdGFIZWFkZXItPkluc3RhbmNl LA0KPiBEYXRhSGVhZGVyLT5TdWJJbnN0YW5jZSwmQ2FjaGVUeXBlKSl7DQo+ICsgICAgICAgICAg ICAgIGlmIChDYWNoZVR5cGUgPT0gRWZpQ2FjaGVUeXBlRGF0YSkgew0KPiArICAgICAgICAgICAg ICAgIFRva2VuVG9VcGRhdGUgPQ0KPiAoU1RSSU5HX1JFRilTVFJfUFJPQ0VTU09SX0wxX0RBVEFf Q0FDSEVfVkFMVUU7DQo+ICsgICAgICAgICAgICAgIH0gZWxzZSBpZiAoQ2FjaGVUeXBlID09IEVm aUNhY2hlVHlwZUluc3RydWN0aW9uKSB7DQo+ICsgICAgICAgICAgICAgICAgICBUb2tlblRvVXBk YXRlID0NCj4gKFNUUklOR19SRUYpU1RSX1BST0NFU1NPUl9MMV9JTlNUUl9DQUNIRV9WQUxVRTsN Cj4gKyAgICAgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAgICAgICBjb250aW51ZTsN Cj4gKyAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAg ICAgICAgY29udGludWU7DQo+ICsgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgfQ0KPiArICAg ICAgICAgIGVsc2UgaWYgKERhdGFIZWFkZXItPlN1Ykluc3RhbmNlID09IEVGSV9DQUNIRV9MMikg ew0KPiArICAgICAgICAgICAgVG9rZW5Ub1VwZGF0ZSA9IChTVFJJTkdfUkVGKVNUUl9QUk9DRVNT T1JfTDJfQ0FDSEVfVkFMVUU7DQo+ICsgICAgICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgICAg IGNvbnRpbnVlOw0KPiArICAgICAgICAgIH0NCj4gKyAgICAgICAgICBpZiAoQ29udmVydEJhc2Uy VG9SYXcoKEVGSV9FWFBfQkFTRTJfREFUQSAqKVNyY0RhdGEpKSB7DQo+ICsgICAgICAgICAgICBE YXRhT3V0cHV0ID0gQ29udmVydEJhc2UyVG9SYXcoKEVGSV9FWFBfQkFTRTJfREFUQQ0KPiAqKVNy Y0RhdGEpID4+IDEwOw0KPiArICAgICAgICAgICAgRWZpVmFsdWVUb1N0cmluZyAoTmV3U3RyaW5n LCBEYXRhT3V0cHV0LCBQUkVGSVhfWkVSTywgMCk7DQo+ICsNCj4gKyAgICAgICAgICAgIFN0ckNh dCAoTmV3U3RyaW5nLCBMIiBLQiIpOw0KPiArICAgICAgICAgICAgaWYgKERhdGFIZWFkZXItPlN1 Ykluc3RhbmNlID09IEVGSV9DQUNIRV9MMykgew0KPiArICAgICAgICAgICAgICBIaWlTZXRTdHJp bmcobUhpaUhhbmRsZSwgVG9rZW5Ub1VwZGF0ZSwgTmV3U3RyaW5nLCBOVUxMKTsNCj4gKyAgICAg ICAgICAgIH0gZWxzZSBpZihEYXRhSGVhZGVyLT5TdWJJbnN0YW5jZSA9PSBFRklfQ0FDSEVfTDIg JiYNCj4gbVBsYXRmb3JtQ3B1SW5mby5DcHVQYWNrYWdlLkNvcmVzUGVyUGh5c2ljYWxQYWNrYWdl ID4gMSl7DQo+ICsJCQkgIC8vDQo+ICsgICAgICAgICAgICAgIC8vIFNob3cgWHhMMiBzdHJpbmcN Cj4gKwkJCSAgLy8NCj4gKyAgICAgICAgICAgICAgRWZpVmFsdWVUb1N0cmluZyAoDQo+ICsJCQkg ICAgTmV3U3RyaW5nMiwNCj4gKyAgICAgICAgICAgICAgICBtUGxhdGZvcm1DcHVJbmZvLkNwdVBh Y2thZ2UuQ29yZXNQZXJQaHlzaWNhbFBhY2thZ2UsDQo+ICsgICAgICAgICAgICAgICAgUFJFRklY X1pFUk8sDQo+ICsgICAgICAgICAgICAgICAgMA0KPiArCQkJCSk7DQo+ICsgICAgICAgICAgICAg IFN0ckNhdChOZXdTdHJpbmcyLCBMInggIik7DQo+ICsgICAgICAgICAgICAgIFN0ckNhdChOZXdT dHJpbmcyLCBOZXdTdHJpbmcpOw0KPiArICAgICAgICAgICAgICBIaWlTZXRTdHJpbmcobUhpaUhh bmRsZSwgVG9rZW5Ub1VwZGF0ZSwgTmV3U3RyaW5nMiwgTlVMTCk7DQo+ICsgICAgICAgICAgICB9 IGVsc2Ugew0KPiArICAgICAgICAgICAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSwgVG9rZW5U b1VwZGF0ZSwgTmV3U3RyaW5nLCBOVUxMKTsNCj4gKyAgICAgICAgICAgIH0NCj4gKyAgICAgICAg ICB9DQo+ICsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gTWVtb3J5DQo+ICsgICAgICAg IC8vDQo+ICsgICAgICAgIH0gZWxzZSBpZiAoQ29tcGFyZUd1aWQoJlJlY29yZC0+RGF0YVJlY29y ZEd1aWQsDQo+ICZnRWZpTWVtb3J5U3ViQ2xhc3NHdWlkKSkgew0KPiArICAgICAgICAgIHN3aXRj aCAoRGF0YUhlYWRlci0+UmVjb3JkVHlwZSkgew0KPiArICAgICAgICAgICAgY2FzZSBFRklfTUVN T1JZX0FSUkFZX0xJTktfUkVDT1JEX05VTUJFUjoNCj4gKyAgICAgICAgICAgICAgTWVtb3J5QXJy YXlMaW5rID0gKEVGSV9NRU1PUllfQVJSQVlfTElOSyAqKVNyY0RhdGE7DQo+ICsNCj4gKyAgICAg ICAgICAgICAgaWYgKE1lbW9yeUFycmF5TGluay0+TWVtb3J5U3BlZWQgPiAwKSB7DQo+ICsgICAg ICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgICAgICAvLyBTYXZlIHRoZSBsb3dlc3Qgc3Bl ZWQgbWVtb3J5IG1vZHVsZQ0KPiArICAgICAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAg ICAgaWYgKE1lbW9yeUFycmF5TGluay0+TWVtb3J5U3BlZWQgPCBtTWVtb3J5U3BlZWQpIHsNCj4g KyAgICAgICAgICAgICAgICAgIG1NZW1vcnlTcGVlZCA9IE1lbW9yeUFycmF5TGluay0+TWVtb3J5 U3BlZWQ7DQo+ICsgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgIHN3aXRjaCAo RGF0YUhlYWRlci0+U3ViSW5zdGFuY2UpIHsNCj4gKyAgICAgICAgICAgICAgICAgIGNhc2UgMToN Cj4gKyAgICAgICAgICAgICAgICAgICAgbU1lbW9yeVNwZWVkQ2hhbm5lbEFTbG90MCA9IE1lbW9y eUFycmF5TGluay0NCj4gPk1lbW9yeVNwZWVkOw0KPiArICAgICAgICAgICAgICAgICAgICBtTWVt b3J5U2l6ZUNoYW5uZWxBU2xvdDAgPSBNZW1vcnlBcnJheUxpbmstDQo+ID5NZW1vcnlEZXZpY2VT aXplOw0KPiArICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgICAgICAgICAg IGNhc2UgMjoNCj4gKyAgICAgICAgICAgICAgICAgICAgbU1lbW9yeVNwZWVkQ2hhbm5lbEFTbG90 MSA9IE1lbW9yeUFycmF5TGluay0NCj4gPk1lbW9yeVNwZWVkOw0KPiArICAgICAgICAgICAgICAg ICAgICBtTWVtb3J5U2l6ZUNoYW5uZWxBU2xvdDEgPSBNZW1vcnlBcnJheUxpbmstDQo+ID5NZW1v cnlEZXZpY2VTaXplOw0KPiArICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAg ICAgICAgICAgIGNhc2UgMzoNCj4gKyAgICAgICAgICAgICAgICAgICAgbU1lbW9yeVNwZWVkQ2hh bm5lbEJTbG90MCA9IE1lbW9yeUFycmF5TGluay0NCj4gPk1lbW9yeVNwZWVkOw0KPiArICAgICAg ICAgICAgICAgICAgICBtTWVtb3J5U2l6ZUNoYW5uZWxCU2xvdDAgPSBNZW1vcnlBcnJheUxpbmst DQo+ID5NZW1vcnlEZXZpY2VTaXplOw0KPiArICAgICAgICAgICAgICAgICAgICBicmVhazsNCj4g KyAgICAgICAgICAgICAgICAgIGNhc2UgNDoNCj4gKyAgICAgICAgICAgICAgICAgICAgbU1lbW9y eVNwZWVkQ2hhbm5lbEJTbG90MSA9IE1lbW9yeUFycmF5TGluay0NCj4gPk1lbW9yeVNwZWVkOw0K PiArICAgICAgICAgICAgICAgICAgICBtTWVtb3J5U2l6ZUNoYW5uZWxCU2xvdDEgPSBNZW1vcnlB cnJheUxpbmstDQo+ID5NZW1vcnlEZXZpY2VTaXplOw0KPiArICAgICAgICAgICAgICAgICAgICBi cmVhazsNCj4gKyAgICAgICAgICAgICAgICAgIGNhc2UgNToNCj4gKyAgICAgICAgICAgICAgICAg ICAgbU1lbW9yeVNwZWVkQ2hhbm5lbENTbG90MCA9IE1lbW9yeUFycmF5TGluay0NCj4gPk1lbW9y eVNwZWVkOw0KPiArICAgICAgICAgICAgICAgICAgICBtTWVtb3J5U2l6ZUNoYW5uZWxDU2xvdDAg PSBNZW1vcnlBcnJheUxpbmstDQo+ID5NZW1vcnlEZXZpY2VTaXplOw0KPiArICAgICAgICAgICAg ICAgICAgICBicmVhazsNCj4gKyAgICAgICAgICAgICAgICAgIGNhc2UgNjoNCj4gKyAgICAgICAg ICAgICAgICAgICAgbU1lbW9yeVNwZWVkQ2hhbm5lbENTbG90MSA9IE1lbW9yeUFycmF5TGluay0N Cj4gPk1lbW9yeVNwZWVkOw0KPiArICAgICAgICAgICAgICAgICAgICBtTWVtb3J5U2l6ZUNoYW5u ZWxDU2xvdDEgPSBNZW1vcnlBcnJheUxpbmstDQo+ID5NZW1vcnlEZXZpY2VTaXplOw0KPiArICAg ICAgICAgICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgICAgICAgICAgIGRlZmF1bHQ6DQo+ ICsgICAgICAgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICAgICAgICAgICAgfQ0KPiAr ICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICAg ICAgICBjYXNlIEVGSV9NRU1PUllfQVJSQVlfU1RBUlRfQUREUkVTU19SRUNPUkRfTlVNQkVSOg0K PiArICAgICAgICAgICAgICBNZW1vcnlBcnJheSA9IChFRklfTUVNT1JZX0FSUkFZX1NUQVJUX0FE RFJFU1MgKilTcmNEYXRhOw0KPiArICAgICAgICAgICAgICBpZiAoTWVtb3J5QXJyYXktPk1lbW9y eUFycmF5RW5kQWRkcmVzcyAtIE1lbW9yeUFycmF5LQ0KPiA+TWVtb3J5QXJyYXlTdGFydEFkZHJl c3MpIHsNCj4gKyAgICAgICAgICAgICAgCURhdGFPdXRwdXQgPSAoVUlOVE4pUlNoaWZ0VTY0KChN ZW1vcnlBcnJheS0NCj4gPk1lbW9yeUFycmF5RW5kQWRkcmVzcyAtIE1lbW9yeUFycmF5LT5NZW1v cnlBcnJheVN0YXJ0QWRkcmVzcyArIDEpLA0KPiAyMCk7DQo+ICsgICAgICAgICAgICAgIAlFZmlW YWx1ZVRvU3RyaW5nIChOZXdTdHJpbmcsIERhdGFPdXRwdXQgLyAxMDI0LA0KPiBQUkVGSVhfWkVS TywgMCk7DQo+ICsgICAgICAgICAgICAgIAlpZihEYXRhT3V0cHV0ICUgMTAyNCkgew0KPiArICAg ICAgICAgICAgICAJICBTdHJDYXQgKE5ld1N0cmluZywgTCIuIik7DQo+ICsgICAgICAgICAgICAg IAkgIERhdGFPdXRwdXQgPSAoKERhdGFPdXRwdXQgJSAxMDI0KSAqIDEwMDApIC8gMTAyNDsNCj4g KyAgICAgICAgICAgICAgCSAgd2hpbGUoIShEYXRhT3V0cHV0ICUgMTApKQ0KPiArICAgICAgICAg ICAgICAJICAgIERhdGFPdXRwdXQgPSBEYXRhT3V0cHV0IC8gMTA7DQo+ICsgICAgICAgICAgICAg ICAgICBFZmlWYWx1ZVRvU3RyaW5nIChOZXdTdHJpbmcyLCBEYXRhT3V0cHV0LCBQUkVGSVhfWkVS TywgMCk7DQo+ICsgICAgICAgICAgICAgICAgICBTdHJDYXQgKE5ld1N0cmluZywgTmV3U3RyaW5n Mik7DQo+ICsgICAgICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgICAgIFN0ckNhdCAoTmV3 U3RyaW5nLCBMIiBHQiIpOw0KPiArICAgICAgICAgICAgICAgIFRva2VuVG9VcGRhdGUgPQ0KPiAo U1RSSU5HX1JFRilTVFJfVE9UQUxfTUVNT1JZX1NJWkVfVkFMVUU7DQo+ICsgICAgICAgICAgICAg ICAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsIFRva2VuVG9VcGRhdGUsIE5ld1N0cmluZywgTlVM TCk7DQo+ICsgICAgICAgICAgICAgIH0NCj4gKyAgICAgICAgICAgICAgYnJlYWs7DQo+ICsNCj4g KyAgICAgICAgICAgIGRlZmF1bHQ6DQo+ICsgICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAg ICAgIH0NCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfSB3aGlsZSAo IUVGSV9FUlJPUihTdGF0dXMpICYmIChNb25vdG9uaWNDb3VudCAhPSAwKSk7DQo+ICsNCj4gKyAg U3RhdHVzID0gR2V0Qmlvc1ZlcnNpb25EYXRlVGltZSAoDQo+ICsgICAgICAgICAgICAgVmVyc2lv biwNCj4gKwkJCSBSZWxlYXNlRGF0ZSwNCj4gKwkJCSBSZWxlYXNlVGltZQ0KPiArCQkJICk7DQo+ ICsNCj4gKyAgREVCVUcgKChFRklfRF9FUlJPUiwgIkdldEJpb3NWZXJzaW9uRGF0ZVRpbWUgOiVz ICVzICVzIFxuIiwgVmVyc2lvbiwNCj4gUmVsZWFzZURhdGUsIFJlbGVhc2VUaW1lKSk7DQo+ICsg IGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgVUlOVE4gICAgICAgICBMZW5ndGgg PSAwOw0KPiArICAgIENIQVIxNiAgICAgICAgKkJ1aWxkRGF0ZVRpbWU7DQo+ICsNCj4gKyAgICBM ZW5ndGggPSBTdHJMZW4oUmVsZWFzZURhdGUpICsgU3RyTGVuKFJlbGVhc2VUaW1lKTsNCj4gKw0K PiArICAgIEJ1aWxkRGF0ZVRpbWUgPSBBbGxvY2F0ZVplcm9Qb29sICgoTGVuZ3RoKzIpICogc2l6 ZW9mKENIQVIxNikpOw0KPiArICAgIFN0ckNweSAoQnVpbGREYXRlVGltZSwgUmVsZWFzZURhdGUp Ow0KPiArICAgIFN0ckNhdCAoQnVpbGREYXRlVGltZSwgTCIgIik7DQo+ICsgICAgU3RyQ2F0IChC dWlsZERhdGVUaW1lLCBSZWxlYXNlVGltZSk7DQo+ICsNCj4gKyAgICBUb2tlblRvVXBkYXRlID0g KFNUUklOR19SRUYpU1RSX0JJT1NfVkVSU0lPTl9WQUxVRTsNCj4gKyAgICBERUJVRyAoKEVGSV9E X0VSUk9SLCAidXBkYXRlIFNUUl9CSU9TX1ZFUlNJT05fVkFMVUVcbiIpKTsNCj4gKyAgICBIaWlT ZXRTdHJpbmcobUhpaUhhbmRsZSwgVG9rZW5Ub1VwZGF0ZSwgVmVyc2lvbiwgTlVMTCk7DQo+ICsN Cj4gKyAgICBUb2tlblRvVXBkYXRlID0gKFNUUklOR19SRUYpU1RSX0JJT1NfQlVJTERfVElNRV9W QUxVRTsNCj4gKyAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAidXBkYXRlIFNUUl9CSU9TX0JVSUxE X1RJTUVfVkFMVUVcbiIpKTsNCj4gKyAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSwgVG9rZW5U b1VwZGF0ZSwgQnVpbGREYXRlVGltZSwgTlVMTCk7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiAr ICAvLyBDYWxjdWxhdGUgYW5kIHVwZGF0ZSBtZW1vcnkgc3BlZWQgZGlzcGxheSBpbiBNYWluIFBh Z2UNCj4gKyAgLy8NCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIHRoZSBvdmVyYWxsIG1lbW9yeSBz cGVlZA0KPiArICAvLw0KPiArICBpZiAobU1lbW9yeVNwZWVkICE9IDB4ZmZmZikgew0KPiArICAg IEVmaVZhbHVlVG9TdHJpbmcgKE5ld1N0cmluZywgbU1lbW9yeVNwZWVkLCBQUkVGSVhfWkVSTywg MCk7DQo+ICsgICAgU3RyQ2F0IChOZXdTdHJpbmcsIEwiIE1IeiIpOw0KPiArDQo+ICsgICAgVG9r ZW5Ub1VwZGF0ZSA9IChTVFJJTkdfUkVGKVNUUl9TWVNURU1fTUVNT1JZX1NQRUVEX1ZBTFVFOw0K PiArICAgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLCBUb2tlblRvVXBkYXRlLCBOZXdTdHJpbmcs IE5VTEwpOw0KPiArICB9DQo+ICsNCj4gKyAgZ0JTLT5GcmVlUG9vbChOZXdTdHJpbmcpOw0KPiAr ICBnQlMtPkZyZWVQb29sKE5ld1N0cmluZzIpOw0KPiArDQo+ICsgIHJldHVybjsNCj4gK30NCj4g Kw0KPiArLyoqDQo+ICsNCj4gKyAgUm91dGluZSBEZXNjcmlwdGlvbjogdXBkYXRlIHRoZSBTRVRV UCBpbmZvIGZvciAiQWRkaXRpb25hbCBJbmZvcm1hdGlvbiINCj4gd2hpY2ggaXMgU01CSU9TIGlu Zm8uDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1RBVFVTDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NU QVRVUw0KPiArVXBkYXRlQWRkaXRpb25hbEluZm9ybWF0aW9uICgNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDY0ICAg ICAgICAgICAgICAgICAgICAgICAgICBNb25vdG9uaWNDb3VudDsNCj4gKyAgRUZJX0RBVEFfSFVC X1BST1RPQ09MICAgICAgICAgICAqRGF0YUh1YjsNCj4gKyAgRUZJX0RBVEFfUkVDT1JEX0hFQURF UiAgICAgICAgICAqUmVjb3JkOw0KPiArICBFRklfU1VCQ0xBU1NfVFlQRTFfSEVBREVSICAgICAg ICpEYXRhSGVhZGVyOw0KPiArICBFRklfU01CSU9TX1BST1RPQ09MICAgICAgICAgICAgICpTbWJp b3M7DQo+ICsgIEVGSV9TTUJJT1NfSEFORExFICAgICAgICAgICAgICAgU21iaW9zSGFuZGxlOw0K PiArICBFRklfU01CSU9TX1RBQkxFX0hFQURFUiAgICAgICAgICpTbWJpb3NSZWNvcmQ7DQo+ICsg IFNNQklPU19UQUJMRV9UWVBFMCAgICAgICAgICAgICAgKlR5cGUwUmVjb3JkOw0KPiArICBVSU5U OCAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0ckluZGV4Ow0KPiArICBDSEFSMTYgICAgICAg ICAgICAgICAgICAgICAgICAgICpCaW9zVmVyc2lvbiA9IE5VTEw7DQo+ICsgIENIQVIxNiAgICAg ICAgICAgICAgICAgICAgICAgICAgKklmd2lWZXJzaW9uID0gTlVMTDsNCj4gKyAgVUlOVDE2ICAg ICAgICAgICAgICAgICAgICAgICAgICBTZWFyY2hJbmRleDsNCj4gKyAgRUZJX1NUUklOR19JRCAg ICAgICAgICAgICAgICAgICBUb2tlblRvVXBkYXRlOw0KPiArI2lmIGRlZmluZWQoIFJWUF9TVVBQ T1JUICkgJiYgUlZQX1NVUFBPUlQNCj4gKyAgRUZJX01JU0NfU1lTVEVNX01BTlVGQUNUVVJFUiAg ICAqU3lzdGVtTWFudWZhY3R1cmVyOw0KPiArI2VuZGlmDQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JT LT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURhdGFIdWJQcm90 b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg ICAgKHZvaWQgKiopJkRhdGFIdWINCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAg QVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0KPiArDQo+ICsgIE1vbm90b25pY0NvdW50ICA9IDA7 DQo+ICsgIFJlY29yZCA9IE5VTEw7DQo+ICsgIGRvIHsNCj4gKyAgICBTdGF0dXMgPSBEYXRhSHVi LT5HZXROZXh0UmVjb3JkICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIERhdGFIdWIsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAmTW9ub3RvbmljQ291bnQsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgJlJlY29yZA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoUmVjb3JkLT5EYXRhUmVj b3JkQ2xhc3MgPT0gRUZJX0RBVEFfUkVDT1JEX0NMQVNTX0RBVEEpIHsNCj4gKyAgICAgIERhdGFI ZWFkZXIgID0gKEVGSV9TVUJDTEFTU19UWVBFMV9IRUFERVIgKikoUmVjb3JkICsgMSk7DQo+ICsN Cj4gKyAgICAgIGlmIChDb21wYXJlR3VpZCgmUmVjb3JkLT5EYXRhUmVjb3JkR3VpZCwgJmdFZmlN aXNjU3ViQ2xhc3NHdWlkKQ0KPiAmJg0KPiArICAgICAgICAgIChEYXRhSGVhZGVyLT5SZWNvcmRU eXBlID09DQo+IEVGSV9NSVNDX1NZU1RFTV9NQU5VRkFDVFVSRVJfUkVDT1JEX05VTUJFUikpIHsN Cj4gKyNpZiBkZWZpbmVkKCBSVlBfU1VQUE9SVCApICYmIFJWUF9TVVBQT1JUDQo+ICsgICAgICAg IC8vDQo+ICsgICAgICAgIC8vIFN5c3RlbSBJbmZvcm1hdGlvbg0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICBTeXN0ZW1NYW51ZmFjdHVyZXIgPSAoRUZJX01JU0NfU1lTVEVNX01BTlVGQUNUVVJF Ug0KPiAqKShEYXRhSGVhZGVyICsgMSk7DQo+ICsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAg Ly8gVVVJRCAgKFN5c3RlbSBJbmZvcm1hdGlvbikNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAg U01CSU9TU3RyaW5nID0gRWZpTGliQWxsb2NhdGVaZXJvUG9vbCAoMHgxMDApOw0KPiArICAgICAg ICBHdWlkVG9TdHJpbmcgKCAmU3lzdGVtTWFudWZhY3R1cmVyLT5TeXN0ZW1VdWlkLCBTTUJJT1NT dHJpbmcsDQo+IDB4MDAgKTsNCj4gKw0KPiArICAgICAgICBUb2tlblRvVXBkYXRlID0gKFNUUklO R19SRUYpU1RSX1NZU1RFTV9VVUlEX1ZBTFVFOw0KPiArICAgICAgICBIaWlTZXRTdHJpbmcobUhp aUhhbmRsZSwgVG9rZW5Ub1VwZGF0ZSwgU01CSU9TU3RyaW5nLCBOVUxMKTsNCj4gKw0KPiArICAg ICAgICBnQlMtPkZyZWVQb29sKFNNQklPU1N0cmluZyk7DQo+ICsjZW5kaWYNCj4gKyAgICAgIH0N Cj4gKyAgICB9DQo+ICsgIH0gd2hpbGUgKCFFRklfRVJST1IoU3RhdHVzKSAmJiAoTW9ub3Rvbmlj Q291bnQgIT0gMCkpOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0K PiArICAgICAgICAgICAgICAgICAgJmdFZmlTbWJpb3NQcm90b2NvbEd1aWQsDQo+ICsgICAgICAg ICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQgKiopICZTbWJpb3MN Cj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsNCj4gKyAgU21iaW9zSGFuZGxlID0gU01CSU9TX0hBTkRMRV9QSV9SRVNFUlZFRDsNCj4g KyAgZG8gew0KPiArICAgIFN0YXR1cyA9IFNtYmlvcy0+R2V0TmV4dCAoDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgIFNtYmlvcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgJlNtYmlvc0hh bmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgJlNtYmlvc1JlY29yZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgTlVMTA0K PiArICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmIChTbWJpb3NSZWNvcmQtPlR5 cGUgPT0gRUZJX1NNQklPU19UWVBFX0JJT1NfSU5GT1JNQVRJT04pIHsNCj4gKyAgICAgIFR5cGUw UmVjb3JkID0gKFNNQklPU19UQUJMRV9UWVBFMCAqKSBTbWJpb3NSZWNvcmQ7DQo+ICsgICAgICBT dHJJbmRleCA9IFR5cGUwUmVjb3JkLT5CaW9zVmVyc2lvbjsNCj4gKyAgICAgIEdldE9wdGlvbmFs U3RyaW5nQnlJbmRleCAoKENIQVI4KikoKFVJTlQ4KilUeXBlMFJlY29yZCArDQo+IFR5cGUwUmVj b3JkLT5IZHIuTGVuZ3RoKSwgU3RySW5kZXgsICZCaW9zVmVyc2lvbik7DQo+ICsgICAgICBUb2tl blRvVXBkYXRlID0gU1RSSU5HX1RPS0VOIChTVFJfQklPU19WRVJTSU9OX1ZBTFVFKTsNCj4gKyAg ICAgIGZvciAoU2VhcmNoSW5kZXggPSAweDA7IFNlYXJjaEluZGV4IDwgU01CSU9TX1NUUklOR19N QVhfTEVOR1RIOw0KPiBTZWFyY2hJbmRleCsrKSB7DQo+ICsgICAgICAgIGlmIChCaW9zVmVyc2lv bltTZWFyY2hJbmRleF0gPT0gMHgwMDIwKSB7DQo+ICsgICAgICAgICAgQmlvc1ZlcnNpb25bU2Vh cmNoSW5kZXhdID0gMHgwMDAwOw0KPiArICAgICAgICAgIElmd2lWZXJzaW9uID0gKENIQVIxNiAq KSgmQmlvc1ZlcnNpb25bU2VhcmNoSW5kZXgrMV0pOw0KPiArICAgICAgICAgIGJyZWFrOw0KPiAr ICAgICAgICB9IGVsc2UgaWYgKEJpb3NWZXJzaW9uW1NlYXJjaEluZGV4XSA9PSAweDAwMDApIHsN Cj4gKyAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAg SGlpU2V0U3RyaW5nIChtSGlpSGFuZGxlLCBUb2tlblRvVXBkYXRlLCBCaW9zVmVyc2lvbiwgTlVM TCk7DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBDaGVjayBJZndpVmVyc2lvbiwgdG8g YXZvaWQgbm8gSUZXSSB2ZXJzaW9uIGluIFNNQklPUyBUeXBlIDANCj4gc3RydWNudGlvbg0KPiAr ICAgICAgLy8NCj4gKyAgICAgIGlmKElmd2lWZXJzaW9uKSB7DQo+ICsgICAgICAgIFRva2VuVG9V cGRhdGUgPSBTVFJJTkdfVE9LRU4gKFNUUl9JRldJX1ZFUlNJT05fVkFMVUUpOw0KPiArICAgICAg ICBIaWlTZXRTdHJpbmcgKG1IaWlIYW5kbGUsIFRva2VuVG9VcGRhdGUsIElmd2lWZXJzaW9uLCBO VUxMKTsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0gd2hpbGUgKCFFRklfRVJST1IoU3Rh dHVzKSk7DQo+ICsNCj4gKyAgVXBkYXRlTGF0ZXN0Qm9vdFRpbWUoKTsNCj4gKw0KPiArICByZXR1 cm4gIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtVcGRhdGVDUFVJbmZvcm1h dGlvbiAoKQ0KPiArew0KPiArICBDSEFSMTYNCj4gCUJ1ZmZlcls0MF07DQo+ICsgIFVJTlQxNiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRmFtaWx5SWQ7DQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgTW9kZWw7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RlcHBpbmdJZDsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQcm9jZXNzb3JUeXBlOw0KPiArICBFRklfU1RBVFVTICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX01QX1NFUlZJQ0VTX1BST1RP Q09MICAgICAgICAgICAgICAqTXBTZXJ2aWNlOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIE1heGltdW1OdW1iZXJPZkNQVXM7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZFbmFibGVkQ1BVczsNCj4gKyAgVUlOVDMy DQo+IAlCdWZmZXIzMiA9IDB4RkZGRkZGRkY7ICAgLy8gS2VlcCBidWZmZXIgd2l0aCB1bmtub3du IGRldmljZQ0KPiArDQo+ICsgIEVmaUNwdVZlcnNpb24gKCZGYW1pbHlJZCwgJk1vZGVsLCAmU3Rl cHBpbmdJZCwgJlByb2Nlc3NvclR5cGUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vd2UgbmVlZCBy YXcgTW9kZWwgZGF0YQ0KPiArICAvLw0KPiArICBNb2RlbCA9IE1vZGVsICYgMHhmOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vRmFtaWx5L01vZGVsL1N0ZXANCj4gKyAgLy8NCj4gKyAgVW5pY29kZVNQ cmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJWQvJWQvJWQiLCBGYW1pbHlJZCwgIE1v ZGVsLA0KPiBTdGVwcGluZ0lkKTsNCj4gKyAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsU1RSSU5H X1RPS0VOKFNUUl9QUk9DRVNTT1JfSURfVkFMVUUpLA0KPiBCdWZmZXIsIE5VTEwpOw0KPiArDQo+ ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAg JmdFZmlNcFNlcnZpY2VQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0K PiArICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJk1wU2VydmljZQ0KPiArICAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIERldGVybWluZSB0aGUgbnVtYmVyIG9mIHByb2Nlc3NvcnMNCj4gKyAgICAvLw0KPiAr ICAgIE1wU2VydmljZS0+R2V0TnVtYmVyT2ZQcm9jZXNzb3JzICgNCj4gKyAgICAgICAgICAgICAg ICAgTXBTZXJ2aWNlLA0KPiArICAgICAgICAgICAgICAgICAmTWF4aW11bU51bWJlck9mQ1BVcywN Cj4gKyAgICAgICAgICAgICAgICAgJk51bWJlck9mRW5hYmxlZENQVXMNCj4gKyAgICAgICAgICAg ICAgICAgKTsNCj4gKyAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwg TCIlZCIsIE1heGltdW1OdW1iZXJPZkNQVXMpOw0KPiArICAgIEhpaVNldFN0cmluZyhtSGlpSGFu ZGxlLFNUUklOR19UT0tFTihTVFJfUFJPQ0VTU09SX0NPUkVfVkFMVUUpLA0KPiBCdWZmZXIsIE5V TEwpOw0KPiArICB9DQo+ICsgIC8vDQo+ICsgIC8vIFVwZGF0ZSBNb2JpbGUgLyBEZXNrdG9wIC8g VGFibGV0IFNLVQ0KPiArICAvLw0KPiArICBCdWZmZXIzMiA9KFVJTlQzMikgUlNoaWZ0VTY0IChF ZmlSZWFkTXNyIChNU1JfSUEzMl9QTEFURk9STV9JRCksIDUwKQ0KPiAmIDB4MDc7DQo+ICsNCj4g KyAgc3dpdGNoKEJ1ZmZlcjMyKXsNCj4gKyAgICAgIGNhc2UgMHgwOg0KPiArICAgICAgICBVbmlj b2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIoJWQpIC0gSVNHIFNLVSBTT0Mi LCBCdWZmZXIzMik7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgY2FzZSAweDAxOg0KPiAr ICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIoJWQpIC0g TW9iaWxlIFNLVSBTT0MiLA0KPiBCdWZmZXIzMik7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAg ICAgY2FzZSAweDAyOg0KPiArICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAo QnVmZmVyKSwgTCIoJWQpIC0gRGVza3RvcCBTS1UgU09DIiwNCj4gQnVmZmVyMzIpOw0KPiArICAg ICAgICBicmVhazsNCj4gKyAgICAgIGNhc2UgMHgwMzoNCj4gKyAgICAgICAgVW5pY29kZVNQcmlu dCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiKCVkKSAtIE1vYmlsZSBTS1UgU09DIiwNCj4g QnVmZmVyMzIpOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAgIGRlZmF1bHQ6DQo+ICsgICAg ICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiglZCkgLSBVbmtu b3duIFNLVSBTT0MiLA0KPiBCdWZmZXIzMik7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgIH0N Cj4gKyAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9QUk9DRVNTT1Jf U0tVX1ZBTFVFKSwNCj4gQnVmZmVyLCBOVUxMKTsNCj4gKw0KPiArfQ0KPiArDQo+ICsNCj4gK0VG SV9TVEFUVVMNCj4gK1NlYXJjaENoaWxkSGFuZGxlKA0KPiArICBFRklfSEFORExFIEZhdGhlciwN Cj4gKyAgRUZJX0hBTkRMRSAqQ2hpbGQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgSGFuZGxlSW5kZXg7DQo+ICsgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKlByb3RvY29sR3VpZEFycmF5ID0gTlVM TDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgQXJyYXlDb3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvdG9jb2xJbmRleDsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgT3BlbkluZm9Db3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3BlbkluZm9JbmRleDsNCj4gKyAg RUZJX09QRU5fUFJPVE9DT0xfSU5GT1JNQVRJT05fRU5UUlkgICpPcGVuSW5mbyA9IE5VTEw7DQo+ ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG1IYW5kbGVDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbUhhbmRsZUJ1ZmZlcj0gTlVMTDsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBhbGwgaGFuZGxlcyBmcm9t IHRoZSBoYW5kbGUgZGF0YWJhc2UNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVI YW5kbGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgQWxsSGFuZGxlcywNCj4gKyAgICAg ICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAg ICAgICAgICAgICAgJm1IYW5kbGVDb3VudCwNCj4gKyAgICAgICAgICAgICAgICAgICZtSGFuZGxl QnVmZmVyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGZvciAoSGFuZGxlSW5k ZXggPSAwOyBIYW5kbGVJbmRleCA8IG1IYW5kbGVDb3VudDsgSGFuZGxlSW5kZXgrKykNCj4gKyAg ew0KPiArICAgIC8vDQo+ICsgICAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYWxsIHRoZSBwcm90 b2NvbHMgb24gZWFjaCBoYW5kbGUNCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdCUy0+UHJv dG9jb2xzUGVySGFuZGxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgbUhhbmRsZUJ1ZmZlcltI YW5kbGVJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICZQcm90b2NvbEd1aWRBcnJheSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgJkFycmF5Q291bnQNCj4gKyAgICAgICAgICAgICAgICAg ICAgKTsNCj4gKyAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkNCj4gKyAgICB7DQo+ICsgICAg ICBmb3IgKFByb3RvY29sSW5kZXggPSAwOyBQcm90b2NvbEluZGV4IDwgQXJyYXlDb3VudDsgUHJv dG9jb2xJbmRleCsrKQ0KPiArICAgICAgew0KPiArICAgICAgICBTdGF0dXMgPSBnQlMtPk9wZW5Q cm90b2NvbEluZm9ybWF0aW9uICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIG1IYW5kbGVC dWZmZXJbSGFuZGxlSW5kZXhdLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUHJvdG9jb2xH dWlkQXJyYXlbUHJvdG9jb2xJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmT3Bl bkluZm8sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmT3BlbkluZm9Db3VudA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1 cykpDQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBmb3IgKE9wZW5JbmZvSW5kZXggPSAwOyBP cGVuSW5mb0luZGV4IDwgT3BlbkluZm9Db3VudDsNCj4gT3BlbkluZm9JbmRleCsrKQ0KPiArICAg ICAgICAgIHsNCj4gKyAgICAgICAgICAgIGlmKE9wZW5JbmZvW09wZW5JbmZvSW5kZXhdLkFnZW50 SGFuZGxlID09IEZhdGhlcikNCj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgaWYg KChPcGVuSW5mb1tPcGVuSW5mb0luZGV4XS5BdHRyaWJ1dGVzICYNCj4gRUZJX09QRU5fUFJPVE9D T0xfQllfQ0hJTERfQ09OVFJPTExFUikgPT0NCj4gRUZJX09QRU5fUFJPVE9DT0xfQllfQ0hJTERf Q09OVFJPTExFUikNCj4gKyAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICpDaGls ZCA9IG1IYW5kbGVCdWZmZXJbSGFuZGxlSW5kZXhdOw0KPiArCQkgIFN0YXR1cyA9IEVGSV9TVUND RVNTOw0KPiArCQkgIGdvdG8gVHJ5UmV0dXJuOw0KPiArICAgICAgICAgICAgICB9DQo+ICsgICAg ICAgICAgICB9DQo+ICsgICAgICAgICAgfQ0KPiArCSAgIFN0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7 DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmKE9wZW5JbmZvICE9IE5VTEwp DQo+ICsgICAgICB7DQo+ICsgICAgICAgIEZyZWVQb29sKE9wZW5JbmZvKTsNCj4gKwkgT3Blbklu Zm8gPSBOVUxMOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBGcmVlUG9vbCAoUHJvdG9j b2xHdWlkQXJyYXkpOw0KPiArICAgIFByb3RvY29sR3VpZEFycmF5ID0gTlVMTDsNCj4gKyAgfQ0K PiArVHJ5UmV0dXJuOg0KPiArICBpZihPcGVuSW5mbyAhPSBOVUxMKQ0KPiArICB7DQo+ICsgICAg RnJlZVBvb2wgKE9wZW5JbmZvKTsNCj4gKyAgICBPcGVuSW5mbyA9IE5VTEw7DQo+ICsgIH0NCj4g KyAgaWYoUHJvdG9jb2xHdWlkQXJyYXkgIT0gTlVMTCkNCj4gKyAgew0KPiArICAgIEZyZWVQb29s KFByb3RvY29sR3VpZEFycmF5KTsNCj4gKyAgICBQcm90b2NvbEd1aWRBcnJheSA9IE5VTEw7DQo+ ICsgIH0NCj4gKyAgaWYobUhhbmRsZUJ1ZmZlciAhPSBOVUxMKQ0KPiArICB7DQo+ICsgICAgRnJl ZVBvb2wgKG1IYW5kbGVCdWZmZXIpOw0KPiArICAgIG1IYW5kbGVCdWZmZXIgPSBOVUxMOw0KPiAr ICB9DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0p1 ZGdlSGFuZGxlSXNQQ0lEZXZpY2UoDQo+ICsgIEVGSV9IQU5ETEUgICAgSGFuZGxlLA0KPiArICBV SU5UOCAgICAgICAgICAgIERldmljZSwNCj4gKyAgVUlOVDggICAgICAgICAgICBGdW5zDQo+ICsg ICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiArICBFRklfREVWSUNFX1BBVEgg ICAqRFBhdGg7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsg ICAgICAgICAgICAgICAgICBIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURldmlj ZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkRQYXRo DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZighRUZJX0VSUk9SKFN0YXR1cykpDQo+ ICsgIHsNCj4gKyAgICB3aGlsZSghSXNEZXZpY2VQYXRoRW5kKERQYXRoKSkNCj4gKyAgICB7DQo+ ICsgICAgICBpZigoRFBhdGgtPlR5cGUgPT0gSEFSRFdBUkVfREVWSUNFX1BBVEgpICYmIChEUGF0 aC0+U3ViVHlwZSA9PQ0KPiBIV19QQ0lfRFApKQ0KPiArICAgICAgew0KPiArICAgICAgICBQQ0lf REVWSUNFX1BBVEggICAqUENJUGF0aDsNCj4gKw0KPiArICAgICAgICBQQ0lQYXRoID0gKFBDSV9E RVZJQ0VfUEFUSCopIERQYXRoOw0KPiArICAgICAgICBEUGF0aCA9IE5leHREZXZpY2VQYXRoTm9k ZShEUGF0aCk7DQo+ICsgICAgICAgIGlmKElzRGV2aWNlUGF0aEVuZChEUGF0aCkgJiYgKFBDSVBh dGgtPkRldmljZSA9PSBEZXZpY2UpICYmDQo+IChQQ0lQYXRoLT5GdW5jdGlvbiA9PSBGdW5zKSkN Cj4gKyAgICAgICAgew0KPiArICAgICAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgICAg ICAgfQ0KPiArICAgICAgfQ0KPiArICAgICAgZWxzZQ0KPiArICAgICAgew0KPiArICAgICAgICBE UGF0aCA9IE5leHREZXZpY2VQYXRoTm9kZShEUGF0aCk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0K PiArICB9DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gK0VGSV9T VEFUVVMNCj4gK0dldERyaXZlck5hbWUoDQo+ICsgIEVGSV9IQU5ETEUgICBIYW5kbGUsDQo+ICsg IENIQVIxNiAgICAgICAgICpOYW1lDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX0RSSVZFUl9CSU5E SU5HX1BST1RPQ09MICAgICAgICAqQmluZEhhbmRsZSA9IE5VTEw7DQo+ICsgIEVGSV9TVEFUVVMg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5U MzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFZlcnNpb247 DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgKlB0cjsNCj4gKyAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2woDQo+ICsgICAgICAgICAg ICAgICAgICBIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURyaXZlckJpbmRpbmdQ cm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCoqKSZCaW5kSGFuZGxlLA0K PiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ ICsgICAgICAgICAgICAgICAgICBFRklfT1BFTl9QUk9UT0NPTF9HRVRfUFJPVE9DT0wNCj4gKyAg ICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKQ0KPiAr ICB7DQo+ICsgICAgcmV0dXJuIEVGSV9OT1RfRk9VTkQ7DQo+ICsgIH0NCj4gKw0KPiArICBWZXJz aW9uID0gQmluZEhhbmRsZS0+VmVyc2lvbjsNCj4gKyAgUHRyID0gKFVJTlQxNiopJlZlcnNpb247 DQo+ICsgIFVuaWNvZGVTUHJpbnQoTmFtZSwgNDAsIEwiJWQuJWQuJWQiLCBWZXJzaW9uID4+IDI0 ICwgKFZlcnNpb24gPj4xNikmDQo+IDB4MGYgLCooUHRyKSk7DQo+ICsNCj4gKyAgcmV0dXJuIEVG SV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXRHT1BEcml2ZXJOYW1l KA0KPiArICBDSEFSMTYgKk5hbWUNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgICBIYW5kbGVDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAg ICAqSGFuZGxlcz0gTlVMTDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgSW5k ZXg7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfSEFO RExFICAgICAgICAgICAgICAgIENoaWxkID0gMDsNCj4gKw0KPiArICBTdGF0dXMgPSBnQlMtPkxv Y2F0ZUhhbmRsZUJ1ZmZlcigNCj4gKwkJICAgICAgICAgICAgICBCeVByb3RvY29sLA0KPiArCQkg ICAgICAgICAgICAgICZnRWZpRHJpdmVyQmluZGluZ1Byb3RvY29sR3VpZCwNCj4gKwkJICAgICAg ICAgICAgICBOVUxMLA0KPiArCQkgICAgICAgICAgICAgICZIYW5kbGVDb3VudCwNCj4gKwkJICAg ICAgICAgICAgICAmSGFuZGxlcw0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgZm9yIChJ bmRleCA9IDA7IEluZGV4IDwgSGFuZGxlQ291bnQgOyBJbmRleCsrKQ0KPiArICB7DQo+ICsgICAg U3RhdHVzID0gU2VhcmNoQ2hpbGRIYW5kbGUoSGFuZGxlc1tJbmRleF0sICZDaGlsZCk7DQo+ICsg ICAgaWYoIUVGSV9FUlJPUihTdGF0dXMpKQ0KPiArICAgIHsNCj4gKyAgICAgIFN0YXR1cyA9IEp1 ZGdlSGFuZGxlSXNQQ0lEZXZpY2UoDQo+ICsgICAgICAgICAgICAgICAgIENoaWxkLA0KPiArICAg ICAgICAgICAgICAgICAweDAyLA0KPiArICAgICAgICAgICAgICAgICAweDAwDQo+ICsgICAgICAg ICAgICAgICAgICk7DQo+ICsgICAgICBpZighRUZJX0VSUk9SKFN0YXR1cykpDQo+ICsgICAgICB7 DQo+ICsgICAgICAgIHJldHVybiBHZXREcml2ZXJOYW1lKEhhbmRsZXNbSW5kZXhdLCBOYW1lKTsN Cj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9VTlNVUFBPUlRF RDsNCj4gK30NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArVXBkYXRlUGxhdGZvcm1JbmZvcm1hdGlv biAoDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgIE1pY3JvQ29k ZVZlcnNpb247DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICBCdWZmZXJbNDBdOw0KPiAr ICBVSU5UOCAgICAgICAgICAgICAgICAgICAgSWdkVkJJT1NSZXZIOw0KPiArICBVSU5UOCAgICAg ICAgICAgICAgICAgICAgSWdkVkJJT1NSZXZMOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAg ICAgRURYOw0KPiArICBFRklfSUEzMl9SRUdJU1RFUl9TRVQgICAgUmVnU2V0Ow0KPiArICBFRklf TEVHQUNZX0JJT1NfUFJPVE9DT0wgKkxlZ2FjeUJpb3MgPSBOVUxMOw0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgQ3B1 Rmxhdm9yPTA7DQo+ICsgIEVGSV9QRUlfSE9CX1BPSU5URVJTICAgICBHdWlkSG9iOw0KPiArICBV SU5UTiAgICAgICAgICAgICAgICAgICAgTnVtSGFuZGxlczsNCj4gKyAgRUZJX0hBTkRMRSAgICAg ICAgICAgICAgICAgICAgICAgICpIYW5kbGVCdWZmZXI7DQo+ICsgIFVJTlROICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBJbmRleDsNCj4gKyAgRFhFX1BDSF9QTEFURk9STV9QT0xJQ1lfUFJP VE9DT0wgICpQY2hQbGF0Zm9ybVBvbGljeTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFBjaUQzMUYwUmVnQmFzZTsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAg ICAgICAgICAgIGNvdW50Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg RGF0YTg7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBQSUREYXRhODsN Cj4gKw0KPiArICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgTmFtZVs0MF07DQo+ ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICAgICAgICBNcmNWZXJzaW9uOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIEdldCB0aGUgSE9CIGxpc3QuICBJZiBpdCBpcyBub3QgcHJlc2VudCwg dGhlbiBBU1NFUlQuDQo+ICsgIC8vDQo+ICsgIEd1aWRIb2IuUmF3ID0gR2V0SG9iTGlzdCAoKTsN Cj4gKyAgaWYgKEd1aWRIb2IuUmF3ICE9IE5VTEwpIHsNCj4gKyAgICBpZiAoKEd1aWRIb2IuUmF3 ID0gR2V0TmV4dEd1aWRIb2IgKCZnRWZpUGxhdGZvcm1JbmZvR3VpZCwNCj4gR3VpZEhvYi5SYXcp KSAhPSBOVUxMKSB7DQo+ICsgICAgICBtUGxhdGZvcm1JbmZvID0gR0VUX0dVSURfSE9CX0RBVEEg KEd1aWRIb2IuR3VpZCk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9W QklPUyB2ZXJzaW9uDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wo DQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUxlZ2FjeUJpb3NQcm90b2NvbEd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJkxl Z2FjeUJpb3MNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmICghRUZJX0VSUk9SIChT dGF0dXMpKSB7DQo+ICsgIFJlZ1NldC5YLkFYID0gMHg1ZjAxOw0KPiArICBTdGF0dXMgPSBMZWdh Y3lCaW9zLT5JbnQ4NiAoTGVnYWN5QmlvcywgMHgxMCwgJlJlZ1NldCk7DQo+ICsgIEFTU0VSVF9F RklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBzaW11bGF0ZSBBTUkgaW50 MTUgKGF4PTVmMDEpIGhhbmRsZXINCj4gKyAgLy8gY2hlY2sgTmJJbnQxNS5hc20gaW4gQU1JIGNv ZGUgZm9yIGFzbSBlZGl0aW9uDQo+ICsgIC8vDQo+ICsgIEVEWCA9IChVSU5UMTYpKChSZWdTZXQu RS5FQlggPj4gMTYpICYgMHhmZmZmKTsNCj4gKyAgSWdkVkJJT1NSZXZIID0gKFVJTlQ4KSgoKEVE WCAmIDB4MEYwMCkgPj4gNCkgfCAoRURYICYgMHgwMDBGKSk7DQo+ICsgIElnZFZCSU9TUmV2TCA9 IChVSU5UOCkoKChSZWdTZXQuWC5CWCAmIDB4MEYwMCkgPj4gNCkgfCAoUmVnU2V0LlguQlggJg0K PiAweDAwMEYpKTsNCj4gKw0KPiArICBpZiAoSWdkVkJJT1NSZXZIPT0wICYmIElnZFZCSU9TUmV2 TD09MCl7DQo+ICsgICAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsDQo+IFNUUklOR19UT0tFTihT VFJfQ0hJUF9JR0RfVkJJT1NfUkVWX1ZBTFVFKSwgTCJOL0EiLCBOVUxMKTsNCj4gKyAgfSBlbHNl IHsNCj4gKyAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlMDJY JTAyWCIsDQo+IElnZFZCSU9TUmV2SCxJZ2RWQklPU1JldkwpOw0KPiArICAgIEhpaVNldFN0cmlu ZyhtSGlpSGFuZGxlLA0KPiBTVFJJTkdfVE9LRU4oU1RSX0NISVBfSUdEX1ZCSU9TX1JFVl9WQUxV RSksIEJ1ZmZlciwgTlVMTCk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0g R2V0R09QRHJpdmVyTmFtZShOYW1lKTsNCj4gKw0KPiArICBpZiAoIUVGSV9FUlJPUihTdGF0dXMp KQ0KPiArICB7DQo+ICsgICAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsIFNUUklOR19UT0tFTihT VFJfR09QX1ZBTFVFKSwgTmFtZSwNCj4gTlVMTCk7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIENwdUZsYXZvcg0KPiArICAvLyBJU0ctREMgVGFibGV0ICAgICAgICAwMDANCj4g KyAgLy8gVkxWLVFDIFRhYmxldCAgICAgICAgMDAxDQo+ICsgIC8vIFZMVi1RQyBEZXNrdG9wICAg ICAgIDAxMA0KPiArICAvLyBWTFYtUUMgTm90ZWJvb2sgICAgICAwMTENCj4gKyAgLy8NCj4gKyAg Q3B1Rmxhdm9yID0gUlNoaWZ0VTY0IChFZmlSZWFkTXNyIChNU1JfSUEzMl9QTEFURk9STV9JRCks IDUwKSAmIDB4MDc7DQo+ICsNCj4gKyAgc3dpdGNoKENwdUZsYXZvcil7DQo+ICsgICAgY2FzZSAw eDA6DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIl cyAoJTAxeCkiLCBMIlZMVi1EQyBUYWJsZXQiLA0KPiBDcHVGbGF2b3IpOw0KPiArICAgICAgYnJl YWs7DQo+ICsgICAgY2FzZSAweDAxOg0KPiArICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBz aXplb2YgKEJ1ZmZlciksIEwiJXMgKCUwMXgpIiwgTCJWTFYtUUMNCj4gTm90ZWJvb2siLCBDcHVG bGF2b3IpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSAweDAyOg0KPiArICAgICAgVW5p Y29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgKCUwMXgpIiwgTCJWTFYt UUMgRGVza3RvcCIsDQo+IENwdUZsYXZvcik7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNl IDB4MDM6DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwg TCIlcyAoJTAxeCkiLCBMIlZMVi1RQw0KPiBOb3RlYm9vayIsIENwdUZsYXZvcik7DQo+ICsgICAg ICBicmVhazsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVy LCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgKCUwMXgpIiwgTCJVbmtub3duIENQVSIsDQo+IENwdUZs YXZvcik7DQo+ICsgICAgICBicmVhazsNCj4gKyAgfQ0KPiArICBIaWlTZXRTdHJpbmcobUhpaUhh bmRsZSxTVFJJTkdfVE9LRU4oU1RSX0NQVV9GTEFWT1JfVkFMVUUpLA0KPiBCdWZmZXIsIE5VTEwp Ow0KPiArDQo+ICsgIGlmICggTlVMTCAhPSBtUGxhdGZvcm1JbmZvKSB7DQo+ICsgICAgLy8NCj4g KyAgICAvL0JvYXJkSWQNCj4gKyAgICAvLw0KPiArICAgIHN3aXRjaChtUGxhdGZvcm1JbmZvLT5C b2FyZElkKXsNCj4gKyAgICAgIGNhc2UgMHgyOg0KPiArICAgICAgICBVbmljb2RlU1ByaW50IChC dWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCJCQVkgTEFLRSBSVlAoJTAyeCkiLA0KPiBtUGxhdGZv cm1JbmZvLT5Cb2FyZElkKTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgIGNhc2Ug MHg0Og0KPiArICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwg TCJCQVkgTEFLRSBGRlJEKCUwMngpIiwNCj4gbVBsYXRmb3JtSW5mby0+Qm9hcmRJZCk7DQo+ICsg ICAgICAgIGJyZWFrOw0KPiArDQo+ICsgICAgICBjYXNlIDB4NToNCj4gKyAgICAgICAgVW5pY29k ZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiQkFZIFJPQ0sgUlZQIEREUjNMICgl MDJ4KSIsDQo+IG1QbGF0Zm9ybUluZm8tPkJvYXJkSWQpOw0KPiArICAgICAgICBicmVhazsNCj4g Kw0KPiArICAgICAgY2FzZSAweDIwOg0KPiArICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIs IHNpemVvZiAoQnVmZmVyKSwgTCJCQVlMRVkgQkFZICglMDJ4KSIsDQo+IG1QbGF0Zm9ybUluZm8t PkJvYXJkSWQpOw0KPiArICAgICAgICBicmVhazsNCj4gKw0KPiArICAgICAgY2FzZSAweDMwOg0K PiArICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCJCQUtF UiBTUE9SVCAoJTAyeCkiLA0KPiBtUGxhdGZvcm1JbmZvLT5Cb2FyZElkKTsNCj4gKyAgICAgICAg YnJlYWs7DQo+ICsNCj4gKyAgICAgIGNhc2UgMHgwOg0KPiArICAgICAgICBVbmljb2RlU1ByaW50 IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCJBTFBJTkUgVkFMTEVZICgleCkiLA0KPiBtUGxh dGZvcm1JbmZvLT5Cb2FyZElkKTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgIGNh c2UgMHgzOg0KPiArICAgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVy KSwgTCJCQVkgTEFLRSBGRkQ4ICgleCkiLA0KPiBtUGxhdGZvcm1JbmZvLT5Cb2FyZElkKTsNCj4g KyAgICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICAgIGRlZmF1bHQ6DQo+ICsgICAgICAgIFVuaWNv ZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIlVua25vd24gQk9BUkQgKCUwMngp IiwNCj4gbVBsYXRmb3JtSW5mby0+Qm9hcmRJZCk7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAg IH0NCj4gKyAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX0JPQVJE X0lEX1ZBTFVFKSwgQnVmZmVyLA0KPiBOVUxMKTsNCj4gKw0KPiArDQo+ICsgICAgLy8NCj4gKyAg ICAvLyBHZXQgQm9hcmQgRkFCIElEIEluZm8gZnJvbSBwcm90b2NvbCwgdXBkYXRlIGludG8gdGhl IE5WUyBhcmVhLg0KPiArICAgIC8vIGJpdDB+Yml0MyBhcmUgZm9yIEZhYiBJRCwgMHgwRiBtZWFu cyB1bmtub3cgRkFCLg0KPiArICAgIC8vDQo+ICsgICAgaWYobVBsYXRmb3JtSW5mby0+Qm9hcmRS ZXYgPT0gMHgwRikgew0KPiArICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1 ZmZlciksIEwiJXMiLCBMIlVua25vd24gRkFCIik7DQo+ICsgICAgICBIaWlTZXRTdHJpbmcobUhp aUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX0ZBQl9JRF9WQUxVRSksIEJ1ZmZlciwNCj4gTlVMTCk7 DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9m IChCdWZmZXIpLCBMIiUyeCIsIG1QbGF0Zm9ybUluZm8tDQo+ID5Cb2FyZFJldik7DQo+ICsgICAg ICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX0ZBQl9JRF9WQUxVRSks IEJ1ZmZlciwNCj4gTlVMTCk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly9VcGRhdGUgTVJDIFZlcnNpb24NCj4gKyAgLy8NCj4gKyAgTXJjVmVyc2lvbiA9IDB4MDAwMDAw MDA7DQo+ICsgIE1yY1ZlcnNpb24gJj0gMHhmZmZmOw0KPiArICBJbmRleCA9IEVmaVZhbHVlVG9T dHJpbmcgKEJ1ZmZlciwgTXJjVmVyc2lvbi8xMDAsIFBSRUZJWF9aRVJPLCAwKTsNCj4gKyAgU3Ry Q2F0IChCdWZmZXIsIEwiLiIpOw0KPiArICBFZmlWYWx1ZVRvU3RyaW5nIChCdWZmZXIgKyBJbmRl eCArIDEsIChNcmNWZXJzaW9uJTEwMCkvMTAsIFBSRUZJWF9aRVJPLA0KPiAwKTsNCj4gKyAgRWZp VmFsdWVUb1N0cmluZyAoQnVmZmVyICsgSW5kZXggKyAyLCAoTXJjVmVyc2lvbiUxMDApJTEwLCBQ UkVGSVhfWkVSTywNCj4gMCk7DQo+ICsgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19U T0tFTihTVFJfTVJDX1ZFUlNJT05fVkFMVUUpLA0KPiBCdWZmZXIsIE5VTEwpOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vVXBkYXRlIFNvYyBWZXJzaW9uDQo+ICsgIC8vDQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gUmV0cmlldmUgYWxsIGluc3RhbmNlcyBvZiBQQ0ggUGxhdGZvcm0gUG9saWN5IHByb3Rv Y29sDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4g KyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0R4 ZVBjaFBsYXRmb3JtUG9saWN5UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICAgICZOdW1IYW5kbGVzLA0KPiArICAgICAgICAgICAgICAg ICAgJkhhbmRsZUJ1ZmZlcg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKCFFRklf RVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIEZpbmQgdGhlIG1hdGNoaW5n IFBDSCBQb2xpY3kgcHJvdG9jb2wNCj4gKyAgICAvLw0KPiArICAgIGZvciAoSW5kZXggPSAwOyBJ bmRleCA8IE51bUhhbmRsZXM7IEluZGV4KyspIHsNCj4gKyAgICAgIFN0YXR1cyA9IGdCUy0+SGFu ZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZUJ1ZmZlcltJbmRl eF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJmdEeGVQY2hQbGF0Zm9ybVBvbGljeVByb3Rv Y29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKikmUGNoUGxhdGZvcm1Q b2xpY3kNCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgaWYgKCFFRklfRVJS T1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgUGNpRDMxRjBSZWdCYXNlID0gTW1QY2lBZGRyZXNz ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBjaFBsYXRmb3JtUG9saWN5LT5CdXNOdW1iZXIsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX0xQQywNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgMA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICk7DQo+ICsNCj4gKyAgICAgICAgIERhdGE4ID0gTW1pb1JlYWQ4IChQY2lEMzFGMFJlZ0Jhc2Ug KyBSX1BDSF9MUENfUklEX0NDKTsNCj4gKyAgICAgICAgIGNvdW50ID0gQVJSQVlfU0laRSAoU0JS ZXZpc2lvblRhYmxlKTsNCj4gKyAgICAgICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IGNvdW50 OyBJbmRleCsrKSB7DQo+ICsgICAgICAgICAgIGlmKERhdGE4ID09IFNCUmV2aXNpb25UYWJsZVtJ bmRleF0uUmV2SWQpIHsNCj4gKyAgICAgICAgICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBz aXplb2YgKEJ1ZmZlciksIEwiJTAyeCAlYSIsIERhdGE4LA0KPiBTQlJldmlzaW9uVGFibGVbSW5k ZXhdLlN0cmluZyk7DQo+ICsgICAgICAgICAgICAgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNU UklOR19UT0tFTihTVFJfU09DX1ZBTFVFKSwgQnVmZmVyLA0KPiBOVUxMKTsNCj4gKyAgICAgICAg ICAgICBicmVhazsNCj4gKyAgICAgICAgICAgfQ0KPiArICAgICAgICAgfQ0KPiArICAgICAgICBi cmVhazsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBNaWNyb2NvZGUgUmV2aXNpb24NCj4gKyAgLy8NCj4gKyAgRWZpV3JpdGVNc3IgKEVGSV9NU1Jf SUEzMl9CSU9TX1NJR05fSUQsIDApOw0KPiArICBFZmlDcHVpZCAoRUZJX0NQVUlEX1ZFUlNJT05f SU5GTywgTlVMTCk7DQo+ICsgIE1pY3JvQ29kZVZlcnNpb24gPSAoVUlOVDMyKSBSU2hpZnRVNjQg KEVmaVJlYWRNc3INCj4gKEVGSV9NU1JfSUEzMl9CSU9TX1NJR05fSUQpLCAzMik7DQo+ICsgIFVu aWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiV4IiwgTWljcm9Db2RlVmVy c2lvbik7DQo+ICsNCj4gSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9Q Uk9DRVNTT1JfTUlDUk9DT0RFX1ZBTA0KPiBVRSksIEJ1ZmZlciwgTlVMTCk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gUHVuaXQgVmVyc2lvbg0KPiArICAvLw0KPiArICBEYXRhOCA9IDA7DQo+ICsg IFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIjB4JXgiLCBEYXRhOCk7 DQo+ICsgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfUFVOSVRfRldf VkFMVUUpLCBCdWZmZXIsDQo+IE5VTEwpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vICBQTUMgVmVy c2lvbg0KPiArICAvLw0KPiArICBEYXRhOCA9IChVSU5UOCkoKE1taW9SZWFkMzIgKFBNQ19CQVNF X0FERFJFU1MgKw0KPiBSX1BDSF9QTUNfUFJTVFMpPj4xNikmMHgwMEZGKTsNCj4gKyAgUElERGF0 YTggPSAoVUlOVDgpKChNbWlvUmVhZDMyIChQTUNfQkFTRV9BRERSRVNTICsNCj4gUl9QQ0hfUE1D X1BSU1RTKT4+MjQpJjB4MDBGRik7DQo+ICsgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9m IChCdWZmZXIpLCBMIjB4JVhfJVgiLFBJRERhdGE4LCBEYXRhOCk7DQo+ICsgIEhpaVNldFN0cmlu ZyhtSGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfUE1DX0ZXX1ZBTFVFKSwgQnVmZmVyLA0KPiBO VUxMKTsNCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0K PiArDQo+ICsgIFVwZGF0ZSBTQVRBIERyaXZlc2l6ZSBTdHJpbmdzIGZvciBTZXR1cCBhbmQgQm9v dCBvcmRlcg0KPiArDQo+ICsgIEBwYXJhbSBOZXdTdHJpbmcgLSBwb2ludGVyIHRvIHN0cmluZy4N Cj4gKyAgQHBhcmFtIERldmljZVNwZWVkIC0gc3BlZWQgb2YgZHJpdmUuDQo+ICsNCj4gKyoqLw0K PiArVk9JRA0KPiArR2V0RGV2aWNlU3BlZWRTdHJpbmcgKA0KPiArICBDSEFSMTYgICAgICAgICAg ICAgICAgICAgICAgKk5ld1N0cmluZywNCj4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAg IERldmljZVNwZWVkDQo+ICsgICkNCj4gK3sNCj4gKyAgaWYgKERldmljZVNwZWVkID09IDB4MDEp IHsNCj4gKyAgICBTdHJDYXQgKE5ld1N0cmluZywgTCIxLjVHYi9zIik7DQo+ICsgIH0gZWxzZSBp ZiAoRGV2aWNlU3BlZWQgPT0gMHgwMikgew0KPiArICAgIFN0ckNhdCAoTmV3U3RyaW5nLCBMIjMu MEdiL3MiKTsNCj4gKyAgfSBlbHNlIGlmIChEZXZpY2VTcGVlZCA9PSAweDAzKSB7DQo+ICsgICAg U3RyQ2F0IChOZXdTdHJpbmcsIEwiNi4wR2IvcyIpOw0KPiArICB9IGVsc2UgaWYgKERldmljZVNw ZWVkID09IDB4MCkgew0KPiArDQo+ICsgIH0NCj4gK30NCj4gKw0KPiArVUlOVDgNCj4gK0dldENo aXBzZXRTYXRhUG9ydFNwZWVkICgNCj4gKyAgVUlOVE4gUG9ydE51bQ0KPiArICApDQo+ICt7DQo+ ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBEZXZpY2VTcGVlZDsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgICAgIERldmljZUNvbmZpZ1N0YXR1czsNCj4gKyAgVUlOVDMyICAg ICAgICAgICAgICAgICAgICAgIElkZUFoY2lCYXI7DQo+ICsgIEVGSV9QSFlTSUNBTF9BRERSRVNT ICAgICAgICBNZW1CYXNlQWRkcmVzcyA9IDA7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICBGdW5OdW07DQo+ICsNCj4gKyAgRGV2aWNlU3BlZWQgPSAweDAxOyAvLyBnZW5lcmF0aW9u IDENCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEFsbG9jYXRlIHRoZSBBSENJIEJBUg0KPiAr ICAvLw0KPiArICAgIEZ1bk51bSA9IFBDSV9GVU5DVElPTl9OVU1CRVJfUENIX1NBVEE7DQo+ICsg ICAgTWVtQmFzZUFkZHJlc3MgPSAweDBmZmZmZmZmZjsNCj4gKyAgICBnRFMtPkFsbG9jYXRlTWVt b3J5U3BhY2UgKA0KPiArICAgICAgICAgICBFZmlHY2RBbGxvY2F0ZU1heEFkZHJlc3NTZWFyY2hC b3R0b21VcCwNCj4gKyAgICAgICAgICAgRWZpR2NkTWVtb3J5VHlwZU1lbW9yeU1hcHBlZElvLA0K PiArICAgICAgICAgICBOX1BDSF9TQVRBX0FCQVJfQUxJR05NRU5ULCAgLy8gMl4xMTogMksgQWxp Z25tZW50DQo+ICsgICAgICAgICAgIFZfUENIX1NBVEFfQUJBUl9MRU5HVEgsICAgICAvLyAySyBM ZW5ndGgNCj4gKyAgICAgICAgICAgJk1lbUJhc2VBZGRyZXNzLA0KPiArICAgICAgICAgICBtSW1h Z2VIYW5kbGUsDQo+ICsgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgKTsNCj4gKyAgICBJ ZGVBaGNpQmFyID0gTW1pb1JlYWQzMiAoDQo+ICsgICAgICAgICAgICAgICAgICAgTW1QY2lBZGRy ZXNzICgNCj4gKwkJCQkgICAgIDAsDQo+ICsgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAg ICAgICAgICAgICAgICAgICAgUENJX0RFVklDRV9OVU1CRVJfUENIX1NBVEEsDQo+ICsgICAgICAg ICAgICAgICAgICAgICBGdW5OdW0sDQo+ICsgICAgICAgICAgICAgICAgICAgICBSX1BDSF9TQVRB X0FCQVINCj4gKyAgICAgICAgICAgICAgICAgICAgICkNCj4gKyAgICAgICAgICAgICAgICAgICAp Ow0KPiArICAgIElkZUFoY2lCYXIgJj0gMHhGRkZGRjgwMDsNCj4gKyAgICBEZXZpY2VDb25maWdT dGF0dXMgPSAwOw0KPiArICAgIGlmIChJZGVBaGNpQmFyID09IDApIHsNCj4gKyAgICAgIERldmlj ZUNvbmZpZ1N0YXR1cyA9IDE7DQo+ICsgICAgICBJZGVBaGNpQmFyID0gKFVJTlQzMilNZW1CYXNl QWRkcmVzczsNCj4gKyAgICAgIE1taW9Xcml0ZTMyICgNCj4gKyAgICAgICAgTW1QY2lBZGRyZXNz ICgwLCAwLCBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU0FUQSwgRnVuTnVtLA0KPiBSX1BDSF9TQVRB X0FCQVIpLA0KPiArICAgICAgICBJZGVBaGNpQmFyDQo+ICsgICAgICAgICk7DQo+ICsgICAgICBN bWlvT3IxNiAoDQo+ICsgICAgICAgIE1tUGNpQWRkcmVzcyAoMCwgMCwgUENJX0RFVklDRV9OVU1C RVJfUENIX1NBVEEsIEZ1bk51bSwNCj4gUl9QQ0hfU0FUQV9DT01NQU5EKSwNCj4gKyAgICAgICAg Ql9QQ0hfU0FUQV9DT01NQU5EX01TRQ0KPiArICAgICAgICApOw0KPiArICAgIH0NCj4gKw0KPiAr ICAgIGlmIChtU3lzdGVtQ29uZmlndXJhdGlvbi5TYXRhVHlwZSA9PSBQQ0hfU0FUQV9NT0RFX0lE RSl7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gUHJvZ3JhbSB0aGUgIlBvcnRzIEltcGxlbWVu dGVkIFJlZ2lzdGVyIg0KPiArICAgICAgLy8NCj4gKyAgICAgIE1taW9BbmRUaGVuT3IzMiAoSWRl QWhjaUJhciArIFJfUENIX1NBVEFfQUhDSV9QSSwNCj4gKFVJTlQzMil+KEJfUENIX1NBVEFfUE9S VDBfSU1QTEVNRU5URUQgKw0KPiBCX1BDSF9TQVRBX1BPUlQxX0lNUExFTUVOVEVEKSwNCj4gKFVJ TlQzMikoQl9QQ0hfU0FUQV9QT1JUMF9JTVBMRU1FTlRFRCArDQo+IEJfUENIX1NBVEFfUE9SVDFf SU1QTEVNRU5URUQpKTsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBzd2l0Y2ggKFBvcnROdW0pDQo+ ICsgICAgew0KPiArICAgICAgY2FzZSAwOg0KPiArICAgICAgICBEZXZpY2VTcGVlZCA9ICoodm9s YXRpbGUgVUlOVDMyICopKFVJTlROKShJZGVBaGNpQmFyICsNCj4gUl9QQ0hfU0FUQV9BSENJX1Aw U1NUUyk7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgY2FzZSAxOg0KPiArICAgICAgICBE ZXZpY2VTcGVlZCA9ICoodm9sYXRpbGUgVUlOVDMyICopKFVJTlROKShJZGVBaGNpQmFyICsNCj4g Ul9QQ0hfU0FUQV9BSENJX1AxU1NUUyk7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4g Kw0KPiArICAgIGlmIChNZW1CYXNlQWRkcmVzcykgew0KPiArICAgICAgZ0RTLT5GcmVlTWVtb3J5 U3BhY2UgKA0KPiArICAgICAgICAgICAgIE1lbUJhc2VBZGRyZXNzLA0KPiArICAgICAgICAgICAg IFZfUENIX1NBVEFfQUJBUl9MRU5HVEgNCj4gKyAgICAgICAgICAgICApOw0KPiArICAgIH0NCj4g Kw0KPiArICBpZiAoRGV2aWNlQ29uZmlnU3RhdHVzKSB7DQo+ICsgICAgSWRlQWhjaUJhciA9IDA7 DQo+ICsgICAgTW1pb1dyaXRlMzIgKA0KPiArICAgICAgTW1QY2lBZGRyZXNzICgwLCAwLCBQQ0lf REVWSUNFX05VTUJFUl9QQ0hfU0FUQSwgRnVuTnVtLA0KPiBSX1BDSF9TQVRBX0FCQVIpLA0KPiAr ICAgICAgSWRlQWhjaUJhcg0KPiArICAgICAgKTsNCj4gKyAgfQ0KPiArDQo+ICsgIERldmljZVNw ZWVkID0gKFVJTlQ4KSgoRGV2aWNlU3BlZWQgPj4gNCkgJiAweDBGKTsNCj4gKw0KPiArICByZXR1 cm4gKFVJTlQ4KURldmljZVNwZWVkOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBJREUg ZGF0YSBmaWx0ZXIgZnVuY3Rpb24uDQo+ICsNCj4gKyoqLw0KPiArdm9pZA0KPiArSWRlRGF0YUZp bHRlciAodm9pZCkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgIFN0YXR1 czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZUNvdW50Ow0KPiArICBF RklfSEFORExFICAgICAgICAgICAgICAgICAgKkhhbmRsZUJ1ZmZlcjsNCj4gKyAgRUZJX0RJU0tf SU5GT19QUk9UT0NPTCAgICAgICpEaXNrSW5mbzsNCj4gKyAgRUZJX0RFVklDRV9QQVRIX1BST1RP Q09MICAgICpEZXZpY2VQYXRoLCAqRGV2aWNlUGF0aE5vZGU7DQo+ICsgIFBDSV9ERVZJQ0VfUEFU SCAgICAgICAgICAgICAqUGNpRGV2aWNlUGF0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgIEluZGV4Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgSW5kZXgxOw0K PiArICBVSU5UMzIgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyU2l6ZTsNCj4gKyAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICAgIERyaXZlU2l6ZTsNCj4gKyAgVUlOVDMyICAgICAgICAgICAg ICAgICAgICAgIElkZUNoYW5uZWw7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAgICBJ ZGVEZXZpY2U7DQo+ICsgIEVGSV9BVEFfSURFTlRJRllfREFUQSAgICAgICAqSWRlbnRpZnlEcml2 ZUluZm87DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAqTmV3U3RyaW5nOw0KPiAr ICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgU2l6ZVN0cmluZ1syMF07DQo+ICsgIFNUUklO R19SRUYgICAgICAgICAgICAgICAgICBOYW1lVG9VcGRhdGU7DQo+ICsgIENIQVI4ICAgICAgICAg ICAgICAgICAgICAgICBTdHJpbmdCdWZmZXJbMHgxMDBdOw0KPiArICBVSU5UMzIgICAgICAgICAg ICAgICAgICAgICAgRGV2aWNlU3BlZWQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICBQb3J0TnVtYmVyOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEFzc3VtZSBubyBsaW5lIHN0cmlu Z3MgaXMgbG9uZ2VyIHRoYW4gMjU2IGJ5dGVzLg0KPiArICAvLw0KPiArICBOZXdTdHJpbmcgPSBB bGxvY2F0ZVplcm9Qb29sICgweDEwMCk7DQo+ICsgIFBjaURldmljZVBhdGggPSBOVUxMOw0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIEZpbGwgSURFIEluZm9tYXRpb24NCj4gKyAgLy8NCj4gKyAgU3Rh dHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgQnlQ cm90b2NvbCwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpRGlza0luZm9Qcm90b2NvbEd1aWQs DQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJkhhbmRs ZUNvdW50LA0KPiArICAgICAgICAgICAgICAgICAgJkhhbmRsZUJ1ZmZlcg0KPiArCQkJCSAgKTsN Cj4gKw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuOw0KPiAr ICB9DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgSGFuZGxlQ291bnQ7IEluZGV4 KyspIHsNCj4gKw0KPiArICAgIFN0YXR1cyA9IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAg ICAgICAgICAgICAgICAgICBIYW5kbGVCdWZmZXJbSW5kZXhdLA0KPiArICAgICAgICAgICAgICAg ICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAg IChWT0lEKikmRGV2aWNlUGF0aA0KPiArCQkJCSAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJS T1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgICBEZXZpY2VQYXRoTm9kZSA9IERldmljZVBhdGg7DQo+ ICsgICAgd2hpbGUgKCFJc0RldmljZVBhdGhFbmQgKERldmljZVBhdGhOb2RlKSApIHsNCj4gKyAg ICAgIGlmICAoKERldmljZVBhdGhUeXBlIChEZXZpY2VQYXRoTm9kZSkgPT0gSEFSRFdBUkVfREVW SUNFX1BBVEgpDQo+ICYmDQo+ICsgICAgICAgICAgICggRGV2aWNlUGF0aFN1YlR5cGUgKERldmlj ZVBhdGhOb2RlKSA9PSBIV19QQ0lfRFApKSB7DQo+ICsgICAgICAgIFBjaURldmljZVBhdGggPSAo UENJX0RFVklDRV9QQVRIICopIERldmljZVBhdGhOb2RlOw0KPiArICAgICAgICBicmVhazsNCj4g KyAgICAgIH0NCj4gKyAgICAgIERldmljZVBhdGhOb2RlICAgID0gTmV4dERldmljZVBhdGhOb2Rl IChEZXZpY2VQYXRoTm9kZSk7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgaWYgKFBjaURldmljZVBh dGggPT0gTlVMTCkgew0KPiArICAgICAgY29udGludWU7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAg Ly8NCj4gKyAgICAvLyBDaGVjayBmb3Igb25ib2FyZCBJREUNCj4gKyAgICAvLw0KPiArICAgIGlm IChQY2lEZXZpY2VQYXRoLT5EZXZpY2U9PSBQQ0lfREVWSUNFX05VTUJFUl9QQ0hfU0FUQSkgew0K PiArICAgICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsJICAgICAgICAgICAg ICAgICAgSGFuZGxlQnVmZmVyW0luZGV4XSwNCj4gKwkJCQkJICAmZ0VmaURpc2tJbmZvUHJvdG9j b2xHdWlkLA0KPiArCQkJCQkgICh2b2lkICoqKSZEaXNrSW5mbw0KPiArCQkJCQkgICk7DQo+ICsg ICAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgICAgICBTdGF0dXMgPSBE aXNrSW5mby0+V2hpY2hJZGUgKA0KPiArCSAgICAgICAgICAgICAgICAgICAgICAgRGlza0luZm8s DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAmSWRlQ2hhbm5lbCwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICZJZGVEZXZpY2UNCj4gKwkJCQkJCSAgICk7DQo+ICsgICAgICBB U1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgICAgICBJZGVudGlmeURyaXZlSW5m byA9IEFsbG9jYXRlUG9vbCAoc2l6ZW9mKEVGSV9BVEFfSURFTlRJRllfREFUQSkpOw0KPiArDQo+ ICsgICAgICBCdWZmZXJTaXplID0gc2l6ZW9mKEVGSV9BVEFfSURFTlRJRllfREFUQSk7DQo+ICsg ICAgICBTdGF0dXMgPSBEaXNrSW5mby0+SWRlbnRpZnkgKA0KPiArCSAgICAgICAgICAgICAgICAg ICAgICAgRGlza0luZm8sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBJZGVudGlmeURy aXZlSW5mbywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZCdWZmZXJTaXplDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgICAgQVNTRVJUX0VGSV9FUlJPUihT dGF0dXMpOw0KPiArDQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gT25ib2FyZCBTQVRBIERldmlj ZXMNCj4gKyAgICAgIC8vDQo+ICsgICAgICBpZiAoUGNpRGV2aWNlUGF0aC0+RnVuY3Rpb24gPT0g UENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfU0FUQSkgew0KPiArICAgICAgICBpZiAoSWRlQ2hhbm5l bCA9PSAwICYmIElkZURldmljZSA9PSAwKSB7DQo+ICsgICAgICAgICAgTmFtZVRvVXBkYXRlID0g KFNUUklOR19SRUYpU1RSX1NBVEEwX05BTUU7DQo+ICsgICAgICAgIH0gZWxzZSBpZiAoSWRlQ2hh bm5lbCA9PSAxICYmIElkZURldmljZSA9PSAwKSB7DQo+ICsgICAgICAgICAgTmFtZVRvVXBkYXRl ID0gKFNUUklOR19SRUYpU1RSX1NBVEExX05BTUU7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsg ICAgICAgICAgY29udGludWU7DQo+ICsgICAgICAgIH0NCj4gKyAgICAgIH0gZWxzZSB7DQo+ICsg ICAgICAgIGNvbnRpbnVlOw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBaZXJvTWVtKFN0cmlu Z0J1ZmZlciwgc2l6ZW9mKFN0cmluZ0J1ZmZlcikpOw0KPiArICAgICAgQ29weU1lbSgNCj4gKyAg ICAgICAgU3RyaW5nQnVmZmVyLA0KPiArICAgICAgICAoQ0hBUjggKikmSWRlbnRpZnlEcml2ZUlu Zm8tPk1vZGVsTmFtZSwNCj4gKyAgICAgICAgc2l6ZW9mKElkZW50aWZ5RHJpdmVJbmZvLT5Nb2Rl bE5hbWUpDQo+ICsgICAgICAgICk7DQo+ICsgICAgICBTd2FwRW50cmllcyhTdHJpbmdCdWZmZXIp Ow0KPiArICAgICAgQXNjaWlUb1VuaWNvZGUoU3RyaW5nQnVmZmVyLCBOZXdTdHJpbmcpOw0KPiAr DQo+ICsJICAvLw0KPiArICAgICAgLy8gQ2hhcCBpdCBvZmYgYWZ0ZXIgMTYgY2hhcmFjdGVycw0K PiArCSAgLy8NCj4gKyAgICAgIE5ld1N0cmluZ1sxNl0gPSAwOw0KPiArDQo+ICsgICAgICAvLw0K PiArICAgICAgLy8gRm9yIEhhcmREaXNrIGFwcGVuZCB0aGUgc2l6ZS4gT3RoZXJ3aXNlIGRpc3Bs YXkgYXRhcGkNCj4gKyAgICAgIC8vDQo+ICsgICAgICBpZiAoKElkZW50aWZ5RHJpdmVJbmZvLT5j b25maWcgJiAweDgwMDApID09IDAwKSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIDQ4 IGJpdCBhZGRyZXNzIGZlYXR1cmUgc2V0IGlzIHN1cHBvcnRlZCwgZ2V0IG1heGltdW0gY2FwYWNp dHkNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgaWYgKChJZGVudGlmeURyaXZlSW5mby0+Y29t bWFuZF9zZXRfc3VwcG9ydGVkXzgzICYgMHgwNDAwKSA9PSAwKSB7DQo+ICsgICAgICAgIERyaXZl U2l6ZSA9ICgoKCgoSWRlbnRpZnlEcml2ZUluZm8tPnVzZXJfYWRkcmVzc2FibGVfc2VjdG9yc19o aSA8PCAxNikNCj4gKw0KPiArICAgICAgICAgICAgICAgICAgICAgIElkZW50aWZ5RHJpdmVJbmZv LT51c2VyX2FkZHJlc3NhYmxlX3NlY3RvcnNfbG8pIC8gMTAwMCkgKiA1MTIpDQo+IC8gMTAwMCk7 DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgICAgRHJpdmVTaXplICAgID0gSWRlbnRp ZnlEcml2ZUluZm8tDQo+ID5tYXhpbXVtX2xiYV9mb3JfNDhiaXRfYWRkcmVzc2luZ1swXTsNCj4g KyAgICAgICAgICBmb3IgKEluZGV4MSA9IDE7IEluZGV4MSA8IDQ7IEluZGV4MSsrKSB7DQo+ICsg ICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAgLy8gTG93ZXIgYnl0ZSBnb2VzIGZpcnN0OiB3 b3JkWzEwMF0gaXMgdGhlIGxvd2VzdCB3b3JkLCB3b3JkWzEwM10gaXMNCj4gaGlnaGVzdA0KPiAr ICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIERyaXZlU2l6ZSB8PSBMU2hpZnRVNjQoSWRl bnRpZnlEcml2ZUluZm8tDQo+ID5tYXhpbXVtX2xiYV9mb3JfNDhiaXRfYWRkcmVzc2luZ1tJbmRl eDFdLCAxNiAqIEluZGV4MSk7DQo+ICsgICAgICAgICAgfQ0KPiArICAgICAgICAgIERyaXZlU2l6 ZSA9IChVSU5UMzIpIERpdlU2NHgzMihNdWx0VTY0eDMyKERpdlU2NHgzMihEcml2ZVNpemUsDQo+ IDEwMDApLCA1MTIpLCAxMDAwKTsNCj4gKyAgICAgICAgfQ0KPiArDQo+ICsgICAgICAgIFN0ckNh dCAoTmV3U3RyaW5nLCBMIigiKTsNCj4gKyAgICAgICAgRWZpVmFsdWVUb1N0cmluZyAoU2l6ZVN0 cmluZywgRHJpdmVTaXplLzEwMDAsIFBSRUZJWF9CTEFOSywgMCk7DQo+ICsgICAgICAgIFN0ckNh dCAoTmV3U3RyaW5nLCBTaXplU3RyaW5nKTsNCj4gKyAgICAgICAgU3RyQ2F0IChOZXdTdHJpbmcs IEwiLiIpOw0KPiArICAgICAgICBFZmlWYWx1ZVRvU3RyaW5nIChTaXplU3RyaW5nLCAoRHJpdmVT aXplJTEwMDApLzEwMCwgUFJFRklYX0JMQU5LLCAwKTsNCj4gKyAgICAgICAgU3RyQ2F0IChOZXdT dHJpbmcsIFNpemVTdHJpbmcpOw0KPiArICAgICAgICBTdHJDYXQgKE5ld1N0cmluZywgTCJHQiIp Ow0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgU3RyQ2F0IChOZXdTdHJpbmcsIEwiKEFU QVBJIik7DQo+ICsgICAgICB9DQo+ICsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBVcGRhdGUg U1BFRUQuDQo+ICsgICAgICAvLw0KPiArICAgICAgUG9ydE51bWJlciA9IChJZGVEZXZpY2UgPDwg MSkgKyBJZGVDaGFubmVsOw0KPiArICAgICAgRGV2aWNlU3BlZWQgPSBHZXRDaGlwc2V0U2F0YVBv cnRTcGVlZChQb3J0TnVtYmVyKTsNCj4gKw0KPiArICAgICAgaWYgKERldmljZVNwZWVkKSB7DQo+ ICsgICAgICAgIFN0ckNhdCAoTmV3U3RyaW5nLCBMIi0iKTsNCj4gKyAgICAgICAgR2V0RGV2aWNl U3BlZWRTdHJpbmcoIE5ld1N0cmluZywgRGV2aWNlU3BlZWQpOw0KPiArICAgICAgfQ0KPiArDQo+ ICsgICAgICBTdHJDYXQgKE5ld1N0cmluZywgTCIpIik7DQo+ICsNCj4gKyAgICAgIEhpaVNldFN0 cmluZyhtSGlpSGFuZGxlLCBOYW1lVG9VcGRhdGUsIE5ld1N0cmluZywgTlVMTCk7DQo+ICsNCj4g KyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoSGFuZGxlQnVmZmVyICE9IE5VTEwpIHsNCj4g KyAgICBnQlMtPkZyZWVQb29sIChIYW5kbGVCdWZmZXIpOw0KPiArICB9DQo+ICsNCj4gKyAgZ0JT LT5GcmVlUG9vbChOZXdTdHJpbmcpOw0KPiArDQo+ICsgIHJldHVybjsNCj4gK30NCj4gKw0KPiAr DQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1NldHVwSW5mbyAodm9pZCkNCj4gK3sNCj4gKyAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVE4gICAgICAgICAgICAg ICAgICAgICAgIFZhclNpemU7DQo+ICsgIEVGSV9QRUlfSE9CX1BPSU5URVJTICAgICAgICBHdWlk SG9iOw0KPiArDQo+ICsgIGlmIChtU2V0dXBJbmZvRG9uZSkgew0KPiArICAgICAgcmV0dXJuOw0K PiArICB9DQo+ICsNCj4gKyAgVmFyU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7 DQo+ICsgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAgICAgICBO T1JNQUxfU0VUVVBfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpTm9ybWFsU2V0dXBH dWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZW YXJTaXplLA0KPiArICAgICAgICAgICAgICAgICAgJm1TeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsJ CQkJICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykgfHwgVmFyU2l6ZSAhPSBz aXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKSB7DQo+ICsgICAgLy9UaGUgc2V0dXAgdmFyaWFi bGUgaXMgY29ycnVwdGVkDQo+ICsgICAgVmFyU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJB VElPTik7DQo+ICsgICAgU3RhdHVzID0gZ1JULT5HZXRWYXJpYWJsZSgNCj4gKyAgICAgICAgICAg ICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4gKyAgICAgICAgICAgICAgJmdFZmlOb3JtYWxTZXR1cEd1 aWQsDQo+ICsgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICZWYXJTaXplLA0K PiArICAgICAgICAgICAgICAmbVN5c3RlbUNvbmZpZ3VyYXRpb24NCj4gKyAgICAgICAgICAgICAg KTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArICB9DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gVXBkYXRlIEhPQiB2YXJpYWJsZSBmb3IgUENJIHJlc291cmNlIGluZm9ybWF0 aW9uDQo+ICsgIC8vIEdldCB0aGUgSE9CIGxpc3QuICBJZiBpdCBpcyBub3QgcHJlc2VudCwgdGhl biBBU1NFUlQuDQo+ICsgIC8vDQo+ICsgIEd1aWRIb2IuUmF3ID0gR2V0SG9iTGlzdCAoKTsNCj4g KyAgaWYgKEd1aWRIb2IuUmF3ICE9IE5VTEwpIHsNCj4gKyAgICBpZiAoKEd1aWRIb2IuUmF3ID0g R2V0TmV4dEd1aWRIb2IgKCZnRWZpUGxhdGZvcm1JbmZvR3VpZCwNCj4gR3VpZEhvYi5SYXcpKSAh PSBOVUxMKSB7DQo+ICsgICAgICBtUGxhdGZvcm1JbmZvID0gR0VUX0dVSURfSE9CX0RBVEEgKEd1 aWRIb2IuR3VpZCk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKw0KPiArICBQcmVwYXJlU2V0 dXBJbmZvcm1hdGlvbigpOw0KPiArICBVcGRhdGVBZGRpdGlvbmFsSW5mb3JtYXRpb24gKCk7DQo+ ICsgIFVwZGF0ZVBsYXRmb3JtSW5mb3JtYXRpb24oKTsNCj4gKyAgVXBkYXRlQ1BVSW5mb3JtYXRp b24oKTsNCj4gKyAgSWRlRGF0YUZpbHRlcigpOw0KPiArICBtU2V0dXBJbmZvRG9uZSA9IFRSVUU7 DQo+ICsNCj4gKyAgcmV0dXJuOw0KPiArfQ0KPiArDQo+ICsNCj4gKyNkZWZpbmUgRUZJX1NFQ1VS RV9CT09UX01PREVfTkFNRSAgICAgICAgICAgICAgICAgICBMIlNlY3VyZUJvb3QiDQo+ICsNCj4g K1ZPSUQNCj4gK0NoZWNrU3lzdGVtQ29uZmlnTG9hZChTWVNURU1fQ09ORklHVVJBVElPTiAqU3lz dGVtQ29uZmlnUHRyKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICBTdGF0dXM7 DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIFNlY3VyZUJvb3Q7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgIERhdGFTaXplOw0KPiArDQo+ICsNCj4gKyAgRGF0YVNpemUgPSBzaXpl b2YoU2VjdXJlQm9vdCk7DQo+ICsgIFN0YXR1cyA9IGdSVC0+R2V0VmFyaWFibGUgKA0KPiArICAg ICAgICAgICAgICAgICAgRUZJX1NFQ1VSRV9CT09UX01PREVfTkFNRSwNCj4gKyAgICAgICAgICAg ICAgICAgICZnRWZpR2xvYmFsVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVM TCwNCj4gKyAgICAgICAgICAgICAgICAgICZEYXRhU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAg ICZTZWN1cmVCb290DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlmIChFRklf RVJST1IoU3RhdHVzKSkgew0KPiArICAgIFN5c3RlbUNvbmZpZ1B0ci0+U2VjdXJlQm9vdCA9IDA7 DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgU3lzdGVtQ29uZmlnUHRyLT5TZWN1cmVCb290ID0gU2Vj dXJlQm9vdDsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyAiU2VjdXJlQm9v dEVuYWJsZSIgdmFyaWFibGUgZm9yIHRoZSBTZWN1cmUgYm9vdCBmZWF0dXJlIGVuYWJsZS9kaXNh YmxlLg0KPiArLy8NCj4gKyNkZWZpbmUgRUZJX1NFQ1VSRV9CT09UX0VOQUJMRV9OQU1FICAgICAg TCJTZWN1cmVCb290RW5hYmxlIg0KPiArZXh0ZXJuIEVGSV9HVUlEIGdFZmlTZWN1cmVCb290RW5h YmxlRGlzYWJsZUd1aWQ7DQo+ICsNCj4gKw0KPiArVk9JRA0KPiArQ2hlY2tTeXN0ZW1Db25maWdT YXZlKFNZU1RFTV9DT05GSUdVUkFUSU9OICpTeXN0ZW1Db25maWdQdHIpDQo+ICt7DQo+ICsgIEVG SV9TVEFUVVMgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAg ICAgU2VjdXJlQm9vdENmZzsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgU2VjdXJlQm9v dE5vdEZvdW5kOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICBEYXRhU2l6ZTsNCj4gKw0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTZWN1cmUgQm9vdCBjb25maWd1cmF0aW9uIGNoYW5n ZXMNCj4gKwkvLw0KPiArICAgIERhdGFTaXplID0gc2l6ZW9mKFNlY3VyZUJvb3RDZmcpOw0KPiAr ICAgIFNlY3VyZUJvb3ROb3RGb3VuZCA9IEZBTFNFOw0KPiArICAgIFN0YXR1cyA9IGdSVC0+R2V0 VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICAgICAgICBFRklfU0VDVVJFX0JPT1RfRU5BQkxF X05BTUUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpU2VjdXJlQm9vdEVuYWJsZURpc2Fi bGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg ICAgICAmRGF0YVNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICZTZWN1cmVCb290Q2ZnDQo+ ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICBpZiAoRUZJX0VSUk9SKFN0YXR1 cykpIHsNCj4gKyAgICAgIFNlY3VyZUJvb3ROb3RGb3VuZCA9IFRSVUU7DQo+ICsgICAgfQ0KPiAr ICAgIGlmIChTZWN1cmVCb290Tm90Rm91bmQpIHsNCj4gKyAgICAgIFN0YXR1cyA9IGdSVC0+R2V0 VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgIEVGSV9TRUNVUkVfQk9PVF9FTkFC TEVfTkFNRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmZ0VmaVNlY3VyZUJvb3RFbmFibGVE aXNhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICZEYXRhU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmU2VjdXJl Qm9vdENmZw0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBBU1NFUlRfRUZJ X0VSUk9SKFN0YXR1cyk7DQo+ICsgICAgfQ0KPiArICAgIGlmICgoU2VjdXJlQm9vdENmZykgIT0g U3lzdGVtQ29uZmlnUHRyLT5TZWN1cmVCb290KSB7DQo+ICsgICAgICBTZWN1cmVCb290Q2ZnID0g IVNlY3VyZUJvb3RDZmc7DQo+ICsgICAgICBTdGF0dXMgPSBnUlQtPlNldFZhcmlhYmxlICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICBFRklfU0VDVVJFX0JPT1RfRU5BQkxFX05BTUUsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgJmdFZmlTZWN1cmVCb290RW5hYmxlRGlzYWJsZUd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgRUZJX1ZBUklBQkxFX05PTl9WT0xBVElMRSB8DQo+IEVG SV9WQVJJQUJMRV9CT09UU0VSVklDRV9BQ0NFU1MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg c2l6ZW9mIChVSU5UOCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJlNlY3VyZUJvb3RDZmcN Cj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIH0NCj4gKw0KPiArfQ0KPiArDQo+ ICtWT0lEDQo+ICtDb25maXJtU2VjdXJlQm9vdFRlc3QoKQ0KPiArew0KPiArDQo+ICt9DQo+ICsN Cj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtU2V0dXBEeGUvU291dGhDbHVzdGVyQ29uZmlnLg0KPiB2ZmkNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1NvdXRoQ2x1c3RlckNvbmZpZy4N Cj4gdmZpDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmY3ZWQ5 NzhjOGINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1NvdXRoQ2x1c3RlckNvbmZpZy4NCj4gdmZpDQo+ IEBAIC0wLDAgKzEsOTMzIEBADQo+ICsvLyAvKiogQGZpbGUNCj4gKy8vDQo+ICsvLyBDb3B5cmln aHQgKGMpIDIwMDQgIC0gMjAxNiwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPiArLy8NCj4gKw0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArLy8NCj4gKw0KPiArLy8NCj4gKy8vDQo+ICsvLw0KPiAr Ly8gTW9kdWxlIE5hbWU6DQo+ICsvLw0KPiArLy8gICBTb3VydGhDbHVzdGVyQ29uZmlnLnZmaQ0K PiArLy8NCj4gKy8vIEFic3RyYWN0Og0KPiArLy8NCj4gKy8vICAgRHJpdmVyIFNldHVwIGZvcm1z ZXQuDQo+ICsvLw0KPiArLy9SZXZpc2lvbiBIaXN0b3J5Og0KPiArLy8gIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArLy8gIFJldiAgIERhdGU8TU0vREQvWVlZWT4gICAgTmFtZSAgICBEZXNjcmlw dGlvbg0KPiArLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsvLyAqKi8NCj4gKw0K PiArLy8NCj4gKy8vIFNvdXRoIENsdXN0ZXIgQ29uZmlndXJhdGlvbiBGb3JtDQo+ICsvLw0KPiAr DQo+ICtmb3JtIGZvcm1pZCA9IFNPVVRIX0NMVVNURVJfRk9STV9JRCwNCj4gKyAgdGl0bGUgICAg PSBTVFJJTkdfVE9LRU4oU1RSX1NPVVRIX0NMVVNURVJfVElUTEUpOw0KPiArDQo+ICsgIHN1YnRp dGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBKdW1wIHRvIFBDSWUgQ29uZmlndXJhdGlvbiBGb3JtDQo+ICsgIC8vDQo+ICsgIGdv dG8gUENJRV9ERVZJQ0VfT1BUSU9OU19GT1JNX0lELA0KPiArICAgIHByb21wdCA9IFNUUklOR19U T0tFTihTVFJfUENJRV9PUFRJT05TX0ZPUk1fVElUTEUpLA0KPiArICAgIGhlbHAgPSBTVFJJTkdf VE9LRU4oU1RSX1BDSUVfT1BUSU9OU19GT1JNX0hFTFApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEp1bXAgdG8gVVNCIENvbmZpZ3VyYXRpb24gRm9ybQ0KPiArICAvLw0KPiArICBnb3RvIFVTQl9P UFRJT05TX0ZPUk1fSUQsDQo+ICsgICAgcHJvbXB0ID0gU1RSSU5HX1RPS0VOKFNUUl9VU0JfT1BU SU9OU19GT1JNX1RJVExFKSwNCj4gKyAgICBoZWxwID0gU1RSSU5HX1RPS0VOKFNUUl9VU0JfT1BU SU9OU19GT1JNX0hFTFApOw0KPiArICAvLw0KPiArICAvLyBKdW1wIHRvIEF6YWxpYSBDb25maWd1 cmF0aW9uIEZvcm0NCj4gKyAgLy8NCj4gKyAgZ290byBBWkFMSUFfT1BUSU9OU19GT1JNX0lELA0K PiArICAgIHByb21wdCA9IFNUUklOR19UT0tFTihTVFJfQVpBTElBX09QVElPTlNfRk9STV9USVRM RSksDQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9BWkFMSUFfT1BUSU9OU19GT1JN X0hFTFApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEp1bXAgdG8gRHJpdmUgQ29uZmlndXJhdGlv biBGb3JtDQo+ICsgIC8vDQo+ICsgIGdvdG8gRFJJVkVfQ09ORklHVVJBVElPTl9JRCwNCj4gKyAg ICBwcm9tcHQgPSBTVFJJTkdfVE9LRU4oU1RSX0lERV9GT1JNX1RJVExFKSwNCj4gKyAgICBoZWxw ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lERV9GT1JNX0hFTFApOw0KPiArICAvLw0KPiArICAvLyBK dW1wIHRvIExBTiBDb25maWd1cmF0aW9uIEZvcm0NCj4gKyAgLy8NCj4gKw0KPiArICAvLw0KPiAr ICAvLyBKdW1wIHRvIExQU1MgQ29uZmlndXJhdGlvbiBGb3JtDQo+ICsgIC8vDQo+ICsgIGdvdG8g TFBTU19DT05GSUdVUkFUSU9OX0lELA0KPiArICAgIHByb21wdCA9IFNUUklOR19UT0tFTihTVFJf TFBTU19TQ0NfRk9STV9USVRMRSksDQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9M UFNTX1NDQ19GT1JNX0hFTFApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEp1bXAgdG8gTWlzYyBD b25maWd1cmF0aW9uIEZvcm0NCj4gKyAgLy8NCj4gKyAgZ290byBNSVNDX09QVElPTlNfRk9STV9J RCwNCj4gKyAgICBwcm9tcHQgPSBTVFJJTkdfVE9LRU4oU1RSX01JU0NfT1BUSU9OX0ZPUk1fVElU TEUpLA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTUlTQ19PUFRJT05fRk9STV9I RUxQKTsNCj4gK2VuZGZvcm07DQo+ICsNCj4gK2Zvcm0gZm9ybWlkID0gUENJRV9ERVZJQ0VfT1BU SU9OU19GT1JNX0lELA0KPiArDQo+ICsgIHRpdGxlICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0lF X09QVElPTlNfRk9STV9USVRMRSk7DQo+ICsNCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19U T0tFTihTVFJfTlVMTF9TVFJJTkcpOw0KPiArDQo+ICsgICAgb25lb2YgdmFyaWQgICA9IFNldHVw LlBjaWVSb290UG9ydFNwZWVkWzBdLA0KPiArICAgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9L RU4gKFNUUl9QQ0lFX1NQRUVEX1BST01QVDApLA0KPiArICAgICAgaGVscCAgICAgICAgPSBTVFJJ TkdfVE9LRU4gKFNUUl9QQ0lFX1NQRUVEX0hFTFApLA0KPiArICAgICAgb3B0aW9uIHRleHQgPSBT VFJJTkdfVE9LRU4gKFNUUl9BVVRPKSwgdmFsdWUgPSAwLCBmbGFncyA9IERFRkFVTFQgfA0KPiBN QU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNU UklOR19UT0tFTiAoU1RSX0dFTjEpLCB2YWx1ZSA9IDEsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlS RUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0dFTjIpLCB2YWx1 ZSA9IDIsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsg ICAgb25lb2YgdmFyaWQgICA9IFNldHVwLlBjaWVSb290UG9ydFNwZWVkWzFdLA0KPiArICAgICAg cHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4gKFNUUl9QQ0lFX1NQRUVEX1BST01QVDEpLA0KPiAr ICAgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4gKFNUUl9QQ0lFX1NQRUVEX0hFTFApLA0K PiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4gKFNUUl9BVVRPKSwgdmFsdWUgPSAw LCBmbGFncyA9IERFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0dFTjEpLCB2YWx1ZSA9IDEs IGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTiAoU1RSX0dFTjIpLCB2YWx1ZSA9IDIsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7 DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsgICAgb25lb2YgdmFyaWQgICA9IFNldHVwLlBjaWVSb290 UG9ydFNwZWVkWzJdLA0KPiArICAgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4gKFNUUl9Q Q0lFX1NQRUVEX1BST01QVDIpLA0KPiArICAgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4g KFNUUl9QQ0lFX1NQRUVEX0hFTFApLA0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9L RU4gKFNUUl9BVVRPKSwgdmFsdWUgPSAwLCBmbGFncyA9IERFRkFVTFQgfA0KPiBNQU5VRkFDVFVS SU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tF TiAoU1RSX0dFTjEpLCB2YWx1ZSA9IDEsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0dFTjIpLCB2YWx1ZSA9IDIsIGZs YWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsgICAgb25lb2Yg dmFyaWQgICA9IFNldHVwLlBjaWVSb290UG9ydFNwZWVkWzNdLA0KPiArICAgICAgcHJvbXB0ICAg ICAgPSBTVFJJTkdfVE9LRU4gKFNUUl9QQ0lFX1NQRUVEX1BST01QVDMpLA0KPiArICAgICAgaGVs cCAgICAgICAgPSBTVFJJTkdfVE9LRU4gKFNUUl9QQ0lFX1NQRUVEX0hFTFApLA0KPiArICAgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4gKFNUUl9BVVRPKSwgdmFsdWUgPSAwLCBmbGFncyA9 IERFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBv cHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSX0dFTjEpLCB2YWx1ZSA9IDEsIGZsYWdzID0N Cj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAo U1RSX0dFTjIpLCB2YWx1ZSA9IDIsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg ZW5kb25lb2Y7DQo+ICsgIC8vDQo+ICsgIC8vUENJZSBQb3J0DQo+ICsgIC8vDQo+ICsgIG9uZW9m IHZhcmlkICA9IFNldHVwLkljaFBjaUV4cFswXSwNCj4gKyAgICBwcm9tcHQgICA9IFNUUklOR19U T0tFTihTVFJfSUNIX1BDSUVSUDFfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICA9IFNUUklOR19U T0tFTihTVFJfSUNIX1BDSUVSUF9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxhZ3M9REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJ TkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTAgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAg ZW5kb25lb2Y7DQo+ICsNCj4gKyAgc3VwcHJlc3NpZiBpZGVxdmFsIFNldHVwLkljaFBjaUV4cFsw XSA9PSAweDA7DQo+ICsgICAgb25lb2YgdmFyaWQgICAgPSBTZXR1cC5JY2hQY2lFeHBbMV0sDQo+ ICsgICAgICBwcm9tcHQgICA9IFNUUklOR19UT0tFTihTVFJfSUNIX1BDSUVSUDJfUFJPTVBUKSwN Cj4gKyAgICAgIGhlbHAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9JQ0hfUENJRVJQX0hFTFApLA0K PiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlPTEs IGZsYWdzPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9IERFRkFVTFQgfA0KPiBNQU5VRkFD VFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0K PiArDQo+ICsgIHN1cHByZXNzaWYgTk9UIGlkZXF2YWwgU2V0dXAuSWNoUGNpRXhwWzBdID09IDB4 MDsNCj4gKyAgdGV4dA0KPiArICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfSUNIX1BDSUVS UF9IRUxQKSwNCj4gKyAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lDSF9QQ0lFUlAyX1BS T01QVCksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9JQ0hfUENJRVJQX0RJU0FC TEVfSEVMUCksDQo+ICsgICAgZmxhZ3MgID0gMCwNCj4gKyAgICBrZXkgICAgPSAwOw0KPiArICBl bmRpZjsNCj4gKw0KPiArICBzdXBwcmVzc2lmIGlkZXF2YWwgU2V0dXAuSWNoUGNpRXhwWzBdID09 IDB4MDsNCj4gKyAgICBvbmVvZiB2YXJpZCAgICA9IFNldHVwLkljaFBjaUV4cFsyXSwNCj4gKyAg ICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9JQ0hfUENJRVJQM19QUk9NUFQpLA0KPiAr ICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lDSF9QQ0lFUlBfSEVMUCksDQo+ICsg ICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxh Z3M9REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9 MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4g Kw0KPiArICBzdXBwcmVzc2lmIE5PVCBpZGVxdmFsIFNldHVwLkljaFBjaUV4cFswXSA9PSAweDA7 DQo+ICsgIHRleHQNCj4gKyAgICBoZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lDSF9QQ0lFUlBf SEVMUCksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9JQ0hfUENJRVJQM19QUk9N UFQpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfSUNIX1BDSUVSUF9ESVNBQkxF X0hFTFApLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsgICAga2V5ICAgID0gMDsNCj4gKyAgZW5k aWY7DQo+ICsNCj4gKyAgc3VwcHJlc3NpZiBpZGVxdmFsIFNldHVwLkljaFBjaUV4cFswXSA9PSAw eDA7DQo+ICsgICAgb25lb2YgdmFyaWQgICAgPSBTZXR1cC5JY2hQY2lFeHBbM10sDQo+ICsgICAg ICBwcm9tcHQgICA9IFNUUklOR19UT0tFTihTVFJfSUNIX1BDSUVSUDRfUFJPTVBUKSwNCj4gKyAg ICAgIGhlbHAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9JQ0hfUENJRVJQX0hFTFApLA0KPiArICAg ICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlPTEsIGZsYWdz PSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZT0wLCBmbGFncz0g MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4g Kw0KPiArICBzdXBwcmVzc2lmIE5PVCBpZGVxdmFsIFNldHVwLkljaFBjaUV4cFswXSA9PSAweDA7 DQo+ICsgIHRleHQNCj4gKyAgICBoZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lDSF9QQ0lFUlBf SEVMUCksDQo+ICsgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9JQ0hfUENJRVJQNF9QUk9N UFQpLA0KPiArICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfSUNIX1BDSUVSUF9ESVNBQkxF X0hFTFApLA0KPiArICAgIGZsYWdzICA9IDAsDQo+ICsgICAga2V5ICAgID0gMDsNCj4gKyAgZW5k aWY7DQo+ICsNCj4gKw0KPiArZW5kZm9ybTsNCj4gKw0KPiArZm9ybSBmb3JtaWQgPSBVU0JfT1BU SU9OU19GT1JNX0lELA0KPiArDQo+ICsgIHRpdGxlICAgID0gU1RSSU5HX1RPS0VOKFNUUl9VU0Jf T1BUSU9OU19GT1JNX1RJVExFKTsNCj4gKw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl9OVUxMX1NUUklORyk7DQo+ICsNCj4gKyAgb25lb2YgICB2YXJpZCAgID0gU2V0dXAu VXNiQXV0b01vZGUsDQo+ICsgICAgcXVlc3Rpb25pZCAgPSAweDEyM0EsDQo+ICsgICAgcHJvbXB0 ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1VTQl9BVVRPX01PREVfUFJPTVBUKSwNCj4gKyAgICBo ZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfVVNCX0FVVE9fTU9ERV9IRUxQKSwNCj4gKyAg ICBmbGFncyAgICAgICA9IElOVEVSQUNUSVZFLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0gREVGQVVMVCB8DQo+IE1BTlVG QUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsN Cj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihT VFJfTlVMTF9TVFJJTkcpOw0KPiArICAvLw0KPiArICAvL1hIQ0kgc3VwcG9ydA0KPiArICAvLw0K PiArICBncmF5b3V0aWYgaWRlcXZhbCBTZXR1cC5Vc2JBdXRvTW9kZSA9PSAweDE7DQo+ICsgICAg Z3JheW91dGlmIGlkZXF2YWwgU2V0dXAuUGNoVXNiMjAgPT0gMHgxOw0KPiArICAgICAgb25lb2Yg ICB2YXJpZCAgID0gU2V0dXAuVXNiWGhjaVN1cHBvcnQsDQo+ICsgICAgICAgIHF1ZXN0aW9uaWQg ID0gMHgxMjNCLA0KPiArICAgICAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfVVNC X1hIQ0lfU1VQUE9SVF9QUk9NUFQpLA0KPiArICAgICAgICBoZWxwICAgICAgICA9IFNUUklOR19U T0tFTihTVFJfVVNCX1hIQ0lfU1VQUE9SVF9IRUxQKSwNCj4gKyAgICAgICAgZmxhZ3MgICAgICAg PSBJTlRFUkFDVElWRSwNCj4gKyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0VOQUJMRSksIHZhbHVlID0gMSwgZmxhZ3MgPSBERUZBVUxUDQo+IHwgTUFOVUZBQ1RVUklORyB8 IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAg ICAgIGVuZG9uZW9mOw0KPiArDQo+ICsgICAgICBzdXBwcmVzc2lmIGlkZXF2YWwgU2V0dXAuVXNi WGhjaVN1cHBvcnQgPT0gMHgwOw0KPiArICAgICAgICBvbmVvZiAgIHZhcmlkICAgPSBTZXR1cC5I c2ljMCwNCj4gKyAgICAgICAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfVVNCX0hT SUNfMF9QUk9NUFQpLA0KPiArICAgICAgICAgIGhlbHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNU Ul9VU0JfSFNJQ18wX0hFTFApLA0KPiArICAgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ ICsgICAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1 ZSA9IDAsIGZsYWdzID0NCj4gREVGQVVMVCB8IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJF RDsNCj4gKyAgICAgICAgZW5kb25lb2Y7DQo+ICsgICAgICBlbmRpZjsNCj4gKw0KPiArICAgICAg b25lb2YgdmFyaWQgICA9IFNldHVwLlBjaFVzYjMwTW9kZSwNCj4gKyAgICAgICAgcHJvbXB0ICAg ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9VU0IzMF9NT0RFX1BST01QVCksDQo+ICsgICAgICAg IGhlbHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNCMzBfTU9ERV9IRUxQKSwNCj4g KyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlID0g MSwgZmxhZ3MgPSBERUZBVUxUDQo+IHwgTUFOVUZBQ1RVUklORyB8UkVTRVRfUkVRVUlSRUQ7DQo+ ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUg PSAwLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgZW5kb25lb2Y7DQo+ICsN Cj4gKyAgb25lb2YgICB2YXJpZCAgID0gU2V0dXAuVXNiWGhjaUxwbVN1cHBvcnQsDQo+ICsgICAg ICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9VU0JfWEhDSV9MUE1fU1VQUE9SVF9Q Uk9NUFQpLA0KPiArICAgICAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfVVNCX1hI Q0lfTFBNX1NVUFBPUlRfSEVMUCksDQo+ICsNCj4gKyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJ TkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlID0gMSwgZmxhZ3MgPSBERUZBVUxUDQo+IHwgTUFO VUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgICBvcHRpb24gdGV4dCA9IFNU UklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFV SVJFRDsNCj4gKw0KPiArICAgICAgZW5kb25lb2Y7DQo+ICsgICAgZW5kaWY7DQo+ICsgIGVuZGlm Ow0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5H KTsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuUGNoVXNiT3RnLA0KPiArICAgIHBy b21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNCX09UR19QUk9NUFQpLA0KPiArICAg IGhlbHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNCX09UR19IRUxQKSwNCj4gKyAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxh Z3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSV9NT0RFX1NUUklORyksIHZhbHVlID0g MSwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAg b25lb2YgdmFyaWQgICA9IFNldHVwLlBjaFVzYlZidXNPbiwNCj4gKyAgICBwcm9tcHQgICAgICA9 IFNUUklOR19UT0tFTihTVFJfUENIX1VTQl9WQlVTX1BST01QVCksDQo+ICsgICAgaGVscCAgICAg ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9VU0JfVkJVU19IRUxQKSwNCj4gKyAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfT0ZGKSwgdmFsdWUgPSAwLCBmbGFncyA9DQo+IFJFU0VU X1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9PTiksIHZh bHVlID0gMSwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJ UkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9BVVRPKSwgdmFsdWUg PSAyLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKyAgc3Vi dGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vRUhDSSBzdXBwb3J0DQo+ICsgIC8vDQo+ICsgIGdyYXlvdXRpZiBpZGVxdmFsIFNl dHVwLlVzYkF1dG9Nb2RlID09IDB4MTsNCj4gKyAgICBncmF5b3V0aWYgaWRlcXZhbCBTZXR1cC5V c2JYaGNpU3VwcG9ydCA9PSAweDE7DQo+ICsgICAgICBvbmVvZiAgIHZhcmlkICAgPSBTZXR1cC5Q Y2hVc2IyMCwNCj4gKyAgICAgICAgcXVlc3Rpb25pZCAgPSAweDEyM0MsDQo+ICsgICAgICAgIHBy b21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNCMjFfUFJPTVBUKSwNCj4gKyAgICAgICAg aGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9VU0IyX0hFTFApLA0KPiArICAgICAgICBm bGFncyAgICA9IElOVEVSQUNUSVZFLA0KPiArICAgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVl PSAwLCBmbGFncz0gREVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfFJFU0VUX1JFUVVJUkVEOw0K PiArICAgICAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgICAgIG9uZW9mIHZhcmlkICA9IFNldHVwLlBj aFVzYlJtaCwNCj4gKyAgICAgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9VU0JS TUhfUFJPTVBUKSwNCj4gKyAgICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9V U0JSTUhfSEVMUCksDQo+ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9E SVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFn cyA9IERFRkFVTFQNCj4gfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg ICBlbmRvbmVvZjsNCj4gKw0KPiArICAgICAgb25lb2YgdmFyaWQgID0gU2V0dXAuUGNoRWhjaURl YnVnLA0KPiArICAgICAgICBwcm9tcHQgICA9IFNUUklOR19UT0tFTihTVFJfUENIX1VTQl9FSENJ REVCVUdfUFJPTVBUKSwNCj4gKyAgICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BD SF9VU0JfRUhDSURFQlVHX0hFTFApLA0KPiArICAgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPSBERUZBVUxUDQo+IHwgTUFOVUZB Q1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfRU5BQkxFKSwgIHZhbHVlID0gMSwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJF RDsNCj4gKyAgICAgIGVuZG9uZW9mOw0KPiArDQo+ICsgICAgICBzdXBwcmVzc2lmIFRSVUU7DQo+ ICsgICAgICAgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5FaGNpUGxsQ2ZnRW5hYmxlLA0KPiArICAg ICAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfRUhDSV9QTExfQ0ZHX1BST01QVCks DQo+ICsgICAgICAgIGhlbHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9FSENJX1BMTF9DRkdf UlREM19ESVNfSEVMUCksDQo+ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNU Ul9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0gREVGQVVMVA0KPiB8IE1BTlVGQUNUVVJJTkcg fCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4o U1RSX0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgICAgIGVuZG9uZW9mOw0KPiArICAgICAgZW5kaWY7DQo+ICsgICAgZW5kaWY7DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vIFVzYiBwb3J0cyBwZXItcG9ydCBkaXNhYmxlIGNvbnRyb2wgZW5h YmxlDQo+ICsgICAgLy8NCj4gKyAgICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuUGNoVXNiUGVyUG9y dEN0bCwNCj4gKyAgICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNCX1BF Ul9QT1JUX1BST01QVCksDQo+ICsgICAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJf UENIX1VTQl9QRVJfUE9SVF9IRUxQKSwNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlID0g MSwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgIGVuZG9uZW9mOw0KPiArDQo+ICsgICAgc3VwcHJlc3NpZiBpZGVxdmFsIFNldHVwLlBj aFVzYlBlclBvcnRDdGwgPT0gMHgwOw0KPiArICAgICAgb25lb2YgdmFyaWQgID0gU2V0dXAuUGNo VXNiUG9ydFswXSwNCj4gKyAgICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNC X1BPUlQwX1BST01QVCksDQo+ICsgICAgICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfUENI X1VTQl9QT1JUX0RJU19IRUxQKSwNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VO KFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiAr ICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlID0gMSwg ZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiAr ICAgICAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgICAgIG9uZW9mIHZhcmlkICA9IFNldHVwLlBjaFVz YlBvcnRbMV0sDQo+ICsgICAgICBwcm9tcHQgICA9IFNUUklOR19UT0tFTihTVFJfUENIX1VTQl9Q T1JUMV9QUk9NUFQpLA0KPiArICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9V U0JfUE9SVF9ESVNfSEVMUCksDQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAg ICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZs YWdzID0gREVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAg ICAgIGVuZG9uZW9mOw0KPiArDQo+ICsgICAgICBvbmVvZiB2YXJpZCAgPSBTZXR1cC5QY2hVc2JQ b3J0WzJdLA0KPiArICAgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9VU0JfUE9S VDJfUFJPTVBUKSwNCj4gKyAgICAgIGhlbHAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNC X1BPUlRfRElTX0hFTFApLA0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFn cyA9IERFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg ICBlbmRvbmVvZjsNCj4gKw0KPiArICAgICAgb25lb2YgdmFyaWQgID0gU2V0dXAuUGNoVXNiUG9y dFszXSwNCj4gKyAgICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfVVNCX1BPUlQz X1BST01QVCksDQo+ICsgICAgICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfUENIX1VTQl9Q T1JUX0RJU19IRUxQKSwNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9E SVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlID0gMSwgZmxhZ3Mg PSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAg ZW5kb25lb2Y7DQo+ICsgICAgZW5kaWY7DQo+ICsNCj4gKw0KPiArICBlbmRpZjsNCj4gKw0KPiAr ZW5kZm9ybTsNCj4gKw0KPiArLy8NCj4gKy8vIFNBVEEgQ29udHJvbGxlcg0KPiArLy8NCj4gK2Zv cm0gZm9ybWlkID0gRFJJVkVfQ09ORklHVVJBVElPTl9JRCwNCj4gKw0KPiArICB0aXRsZSAgICA9 IFNUUklOR19UT0tFTihTVFJfSURFX0ZPUk1fVElUTEUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFRpdGxlIG9uIERyaXZlIENvbmZpZ3VyYXRpb24gUGFnZQ0KPiArICAvLw0KPiArICB0ZXh0DQo+ ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsgICAgdGV4 dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9JREVfRk9STV9USVRMRSksDQo+ICsgICAgdGV4dCAgID0g U1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyksDQo+ICsgICAgZmxhZ3MgID0gMCwNCj4gKyAg ICBrZXkgICAgPSAwOw0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X05VTExfU1RSSU5HKTsNCj4gKw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNU Ul9DSElQU0VUX1NBVEFfU1RSSU5HKTsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAu U2F0YSwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfU0FUQV9QUk9NUFQp LA0KPiArICAgIGhlbHAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQVRBX0hFTFApLA0KPiAr ICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZT0xLCBmbGFn cz1ERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9MCB8 DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArICAgIG9uZW9mIHZh cmlkICAgPSBTZXR1cC5TYXRhVGVzdE1vZGUsDQo+ICsgICAgICBwcm9tcHQgICAgICA9IFNUUklO R19UT0tFTihTVFJfU0FUQV9URVNUX01PREVfUFJPTVBUKSwNCj4gKyAgICAgIGhlbHAgICAgICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9TQVRBX1RFU1RfTU9ERV9IRUxQKSwNCj4gKyAgICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0NCj4g UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJf RElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8 IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIGVuZG9uZW9mOw0KPiArDQo+ICsgIHN1cHByZXNzaWYg aWRlcXZhbCBTZXR1cC5TYXRhID09IDB4MDA7DQo+ICsgICAgb25lb2YgdmFyaWQgICA9IFNldHVw LlNhdGFUeXBlLA0KPiArICAgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NBVEFf VFlQRV9QUk9NUFQpLA0KPiArICAgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NB VEFfVFlQRV9IRUxQMSksDQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJf U0FUQV9JREUpLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfU0FUQV9BSENJKSwgdmFsdWUgPSAxLCBm bGFncyA9DQo+IERFRkFVTFQgfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgICB0ZXh0DQo+ICsgICAgICBoZWxwICAgPSBTVFJJTkdf VE9LRU4oU1RSX05VTExfU1RSSU5HKSwNCj4gKyAgICAgIHRleHQgICA9IFNUUklOR19UT0tFTihT VFJfU0FUQTBfU1RSSU5HKSwNCj4gKyAgICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfU0FU QTBfTkFNRSksDQo+ICsgICAgICBmbGFncyAgPSAwLA0KPiArICAgICAga2V5ICAgID0gMDsNCj4g Kw0KPiArICAgIHRleHQNCj4gKyAgICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9T VFJJTkcpLA0KPiArICAgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQVRBMV9TVFJJTkcp LA0KPiArICAgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQVRBMV9OQU1FKSwNCj4gKyAg ICAgIGZsYWdzICA9IDAsDQo+ICsgICAgICBrZXkgICAgPSAwOw0KPiArDQo+ICsgICAgc3VwcHJl c3NpZiBpZGVxdmFsIFNldHVwLlNhdGFUeXBlID09IDB4MDsNCj4gKyAgICAgIG9uZW9mIHZhcmlk ICAgPSBTZXR1cC5TYXRhMEhvdFBsdWdDYXAsDQo+ICsgICAgICAgIHByb21wdCAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9TQVRBMF9IT1RQTFVHX0NBUF9QUk9NUFQpLA0KPiArICAgICAgICBoZWxw ICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfU0FUQV9IT1RQTFVHX0NBUF9IRUxQKSwNCj4gKyAg ICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlPSAxLCBm bGFncz1ERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAg ICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZs YWdzPTAgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgIGVuZG9uZW9mOw0KPiArDQo+ICsg ICAgICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuU2F0YTFIb3RQbHVnQ2FwLA0KPiArICAgICAgICBw cm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfU0FUQTFfSE9UUExVR19DQVBfUFJPTVBUKSwN Cj4gKyAgICAgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NBVEFfSE9UUExVR19D QVBfSEVMUCksDQo+ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFC TEUpLCB2YWx1ZT0gMSwgZmxhZ3M9REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9S RVFVSVJFRDsNCj4gKyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FC TEUpLCB2YWx1ZT0wLCBmbGFncz0wIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBlbmRv bmVvZjsNCj4gKyAgICBlbmRpZjsNCj4gKw0KPiArICBlbmRpZjsgIC8vU0FUQSBlbmFibGUNCj4g Kw0KPiArZW5kZm9ybTsNCj4gKw0KPiArZm9ybSBmb3JtaWQgPSBMUFNTX0NPTkZJR1VSQVRJT05f SUQsDQo+ICsNCj4gKyAgdGl0bGUgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0xQU1NfU0NDX0ZPUk1f VElUTEUpOw0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExf U1RSSU5HKTsNCj4gKyAgb25lb2YgdmFyaWQgICA9IFNldHVwLkxwc3NQY2lNb2RlRW5hYmxlZCwN Cj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfTFBTU19QQ0lfUFJPTVBUKSwN Cj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfTFBTU19QQ0lfSEVMUCksDQo+ ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0FDUElfTU9ERSksIHZhbHVlPTAs IGZsYWdzPURFRkFVTFQNCj4gfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSV9NT0RFKSwgdmFsdWU9MSwgZmxh Z3M9MHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArICBzdWJ0aXRsZSB0 ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyk7DQo+ICsNCj4gKyAgc3VidGl0bGUg dGV4dCA9IFNUUklOR19UT0tFTihTVFJfU0NDX1NFVFRJTkdfU1VCVElUTEUpOw0KPiArICBvbmVv ZiB2YXJpZCAgID0gU2V0dXAuZU1NQ0Jvb3RNb2RlLA0KPiArICAgIHByb21wdCAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9FTU1DX0JPT1RfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNU UklOR19UT0tFTihTVFJfRU1NQ19CT09UX0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RS SU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9MCB8DQo+IFJFU0VUX1JFUVVJ UkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9BVVRPX0RFVEVDVCks IHZhbHVlPTEsDQo+IGZsYWdzPURFRkFVTFQgfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlS RUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VNTUNfQk9PVF80MSks IHZhbHVlPTIsIGZsYWdzPTAgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4 dCA9IFNUUklOR19UT0tFTihTVFJfRU1NQ19CT09UXzQ1KSwgdmFsdWU9MywgZmxhZ3M9MCB8DQo+ IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArDQo+ICsNCj4gKyAgIG9u ZW9mIHZhcmlkICAgPSBTZXR1cC5TZWN1cmVFcmFzZSwNCj4gKyAgICBxdWVzdGlvbmlkICA9IDB4 MTI0MCwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfU0VDVVJFX0VSQVNF X1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NFQ1VSRV9F UkFTRV9IRUxQKSwNCj4gKyAgICBmbGFncyAgICAgICA9IElOVEVSQUNUSVZFLA0KPiArICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9IERF RkFVTFQNCj4gfE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxhZ3M9DQo+IFJFU0VU X1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArDQo+ICsNCj4gKyAgIHN1YnRpdGxl IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4gK2dyYXlvdXRpZiBOT1Qg aWRlcXZhbCBTZXR1cC5lTU1DQm9vdE1vZGUgPT0gMHgzOw0KPiArICBvbmVvZiB2YXJpZCAgID0g U2V0dXAuTHBzc2VNTUM0NUVuYWJsZWQsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9L RU4oU1RSX1NDQ19FTU1DNDVfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19U T0tFTihTVFJfU0NDX0VNTUM0NV9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTAgfA0KPiBNQU5VRkFDVFVSSU5HIHwg UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VO QUJMRSksIHZhbHVlPTEsIGZsYWdzPURFRkFVTFQgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAg ZW5kb25lb2Y7DQo+ICsgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5McHNzZU1NQzQ1RERSNTBFbmFi bGVkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQ0NfRU1NQzQ1X0RE UjUwX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NDQ19F TU1DNDVfRERSNTBfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0RJU0FCTEUpLCB2YWx1ZT0wLCBmbGFncz0wIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JF UVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2 YWx1ZT0xLCBmbGFncz1ERUZBVUxUIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9m Ow0KPiArICAgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5McHNzZU1NQzQ1SFMyMDBFbmFibGVkLA0K PiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQ0NfRU1NQzQ1X0hTMjAwX1BS T01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NDQ19FTU1DNDVf SFMyMDBfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FC TEUpLCB2YWx1ZT0wLCBmbGFncz0wIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVE Ow0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZT0x LCBmbGFncz1ERUZBVUxUfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsN Cj4gKyAgZ3JheW91dGlmIGlkZXF2YWwgU2V0dXAuTHBzc2VNTUM0NUREUjUwRW5hYmxlZCA9PSAw eDE7DQo+ICsgIG9uZW9mIHZhcmlkICA9IFNldHVwLkxwc3NlTU1DNDVSZXR1bmVUaW1lclZhbHVl LA0KPiArICAgIHByb21wdCA9IFNUUklOR19UT0tFTihTVFJfU0NDX0VNTUM0NV9SRV9UVU5FX1RJ TUVSX1ZBTFVFKSwNCj4gKyAgICBoZWxwICAgPQ0KPiBTVFJJTkdfVE9LRU4oU1RSX1NDQ19FTU1D NDVfUkVfVFVORV9USU1FUl9WQUxVRV9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfRU1NQzQ1X1RJTUVSXzApLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4gUkVTRVRf UkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9U SU1FUl8xKSwgdmFsdWUgPTEsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0 aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9USU1FUl8yKSwgdmFsdWUgPTIsIGZs YWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9L RU4oU1RSX0VNTUM0NV9USU1FUl8zKSwgdmFsdWUgPTMsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlS RUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9USU1FUl80 KSwgdmFsdWUgPTQsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRl eHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9USU1FUl81KSwgdmFsdWUgPTUsIGZsYWdzID0N Cj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0VNTUM0NV9USU1FUl82KSwgdmFsdWUgPTYsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9USU1FUl83KSwgdmFs dWUgPTcsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBT VFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9USU1FUl84KSwgdmFsdWUgPTgsIGZsYWdzID0NCj4gTUFO VUZBQ1RVUklOR3wgREVGQVVMVHxSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9 IFNUUklOR19UT0tFTihTVFJfRU1NQzQ1X1RJTUVSXzkpLCB2YWx1ZSA9OSwgZmxhZ3MgPQ0KPiBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU1N QzQ1X1RJTUVSXzEwKSwgdmFsdWUgPTEwLCBmbGFncw0KPiA9IFJFU0VUX1JFUVVJUkVEOw0KPiAr ICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTU1DNDVfVElNRVJfMTEpLCB2YWx1 ZSA9MTEsIGZsYWdzDQo+ID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBT VFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9USU1FUl8xMiksIHZhbHVlID0xMiwgZmxhZ3MNCj4gPSBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU1N QzQ1X1RJTUVSXzEzKSwgdmFsdWUgPTEzLCBmbGFncw0KPiA9IFJFU0VUX1JFUVVJUkVEOw0KPiAr ICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTU1DNDVfVElNRVJfMTQpLCB2YWx1 ZSA9MTQsIGZsYWdzDQo+ID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBT VFJJTkdfVE9LRU4oU1RSX0VNTUM0NV9USU1FUl8xNSksIHZhbHVlID0xNSwgZmxhZ3MNCj4gPSBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOyAgICAvLyBncmF5b3V0 aWYgaWRlcXZhbCBTZXR1cC5McHNzZU1NQzQ1RERSNTBFbmFibGVkID09IDB4MTsNCj4gKyBlbmRp ZjsgICAgIC8vIGdyYXlvdXRpZiBOT1QgaWRlcXZhbCBTZXR1cC5lTU1DQm9vdE1vZGUgPT0gMHgx Ow0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5H KTsNCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcpOw0K PiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuTHBzc1NkaW9FbmFibGVkLA0KPiArICAgIHByb21w dCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQ0NfU0RJT19QUk9NUFQpLA0KPiArICAgIGhlbHAg ICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQ0NfU0RJT19IRUxQKSwNCj4gKyAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTAgfA0KPiBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5B QkxFKSwgdmFsdWU9MSwgZmxhZ3M9REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9S RVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgb25lb2YgdmFyaWQgICA9IFNldHVw Lkxwc3NTZGNhcmRFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNU Ul9TQ0NfU0RDQVJEX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4o U1RSX1NDQ19TRENBUkRfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4o U1RSX0RJU0FCTEUpLCB2YWx1ZT0wLCBmbGFncz0wIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlPTEsIGZsYWdz PQ0KPiBERUZBVUxUfE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25l b2Y7DQo+ICsNCj4gKw0KPiArZ3JheW91dGlmIE5PVCBpZGVxdmFsIFNldHVwLkxwc3NTZGNhcmRF bmFibGVkID09IDB4MTsNCj4gKyAgZ3JheW91dGlmIGlkZXF2YWwgU2V0dXAuTHBzc1NkQ2FyZERE UjUwRW5hYmxlZCA9PSAweDE7DQo+ICsgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5McHNzU2RDYXJk U0RSMjVFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQ0Nf U0RfU0RSMjVfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJf U0NDX1NEX1NEUjI1X0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNU Ul9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5B QkxFKSwgdmFsdWU9MSwgZmxhZ3M9MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVv ZjsNCj4gKyAgZW5kaWY7IC8vIGdyYXlvdXRpZiBpZGVxdmFsIFNldHVwLkxwc3NlTU1DNDVERFI1 MEVuYWJsZWQgPT0gMHgxOw0KPiArDQo+ICsgIGdyYXlvdXRpZiBpZGVxdmFsIFNldHVwLkxwc3NT ZENhcmRTRFIyNUVuYWJsZWQgPT0gMHgxOw0KPiArICAgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5M cHNzU2RDYXJkRERSNTBFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VO KFNUUl9TQ0NfU0RfRERSNTBfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19U T0tFTihTVFJfU0NDX1NEX0REUjUwX0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9REVGQVVMVCB8DQo+IE1BTlVGQUNU VVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tF TihTVFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxhZ3M9MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiAr ICAgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsgLy8gZ3JheW91dGlmIGlkZXF2YWwgU2V0dXAuTHBz c1NkQ2FyZFNEUjI1RW5hYmxlZCA9PSAweDE7DQo+ICsNCj4gKyAgb25lb2YgdmFyaWQgICA9IFNl dHVwLlNkQ2FyZFJlbW92YWJsZSwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihT VFJfU0NDX1NEQ0FSRF9SRU1PVkFCSUxJVFkpLA0KPiArICAgIGhlbHAgICAgICAgID0gU1RSSU5H X1RPS0VOKFNUUl9TQ0NfU0RDQVJEX1JFTU9WQUJJTElUWV9IRUxQKSwNCj4gKyAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfU0NDX1NEQ0FSRF9OT05fUkVNT1ZBQkxFKSwNCj4gdmFs dWU9MCwgZmxhZ3M9MCB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RS SU5HX1RPS0VOKFNUUl9TQ0NfU0RDQVJEX1JFTU9WQUJMRSksIHZhbHVlPTEsDQo+IGZsYWdzPURF RkFVTFQgfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0K PiArDQo+ICtlbmRpZjsgICAgIC8vIGdyYXlvdXRpZiBOT1QgaWRlcXZhbCBTZXR1cC5McHNzU2Rj YXJkRW5hYmxlZCA9PSAweDE7DQo+ICsNCj4gKw0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBT VFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4gKw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0g U1RSSU5HX1RPS0VOKFNUUl9MUFNTMV9TRVRUSU5HX1NVQlRJVExFKTsNCj4gKw0KPiArICBvbmVv ZiB2YXJpZCAgID0gU2V0dXAuTHBzc0RtYTBFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAgID0g U1RSSU5HX1RPS0VOKFNUUl9MUFNTX0RNQTFfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9 IFNUUklOR19UT0tFTihTVFJfTFBTU19ETUExX0hFTFApLA0KPiArICAgIGZsYWdzICAgICAgID0g SU5URVJBQ1RJVkUsDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FC TEUpLCB2YWx1ZT0wLCBmbGFncz0wIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9u IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlPTEsIGZsYWdzPSBERUZBVUxU IHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4g Kw0KPiArICBncmF5b3V0aWYgaWRlcXZhbCBTZXR1cC5McHNzRG1hMEVuYWJsZWQgPT0gMHgwMDsN Cj4gKyAgb25lb2YgdmFyaWQgICA9IFNldHVwLkxwc3NIc3VhcnQwRW5hYmxlZCwNCj4gKyAgICBw cm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfTFBTU19IU1VBUlQxX1BST01QVCksDQo+ICsg ICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0xQU1NfSFNVQVJUMV9IRUxQX0VOQkRU X0RFVl9MSVNUKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJM RSksIHZhbHVlPTAsIGZsYWdzPQ0KPiBNQU5VRkFDVFVSSU5HICB8IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZT0xLCBm bGFncz0gMCB8IERFRkFVTFQNCj4gfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ ICsgIGVuZGlmOw0KPiArDQo+ICsgIC8vQWRkIGNvbnRyb2wgZmxvdw0KPiArICBncmF5b3V0aWYg aWRlcXZhbCBTZXR1cC5McHNzSHN1YXJ0MEVuYWJsZWQgPT0gMHgwMDsNCj4gKyAgb25lb2YgdmFy aWQgICA9IFNldHVwLkxwc3NIc3VhcnQwRmxvd0NvbnRyb2xFbmFibGVkLA0KPiArICAgIHByb21w dCAgICAgID0NCj4gU1RSSU5HX1RPS0VOKFNUUl9MUFNTX0hTVUFSVDFfRkxPV0NPTlRST0xfUFJP TVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfTFBTU19IU1VBUlQx X0hFTFBfRU5CRFRfREVWX0xJU1QpLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VO KFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9MCB8REVGQVVMVCB8DQo+IFJFU0VUX1JFUVVJ UkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1 ZT0xLCBmbGFncz0NCj4gTUFOVUZBQ1RVUklORyAgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5k b25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArDQo+ICsgIGdyYXlvdXRpZiBpZGVxdmFsIFNldHVwLkxw c3NEbWEwRW5hYmxlZCA9PSAweDAwOw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuTHBzc0hz dWFydDFFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9MUFNT X0hTVUFSVDJfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJf TFBTU19IU1VBUlQyX0hFTFBfRU5CRFRfREVWX0xJU1QpLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwNCj4gZmxhZ3M9TUFOVUZBQ1RVUklO RyAgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxhZ3M9IDAgfCBERUZBVUxUDQo+IHwgUkVTRVRfUkVRVUlS RUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4gKw0KPiArICAvL0FkZCBjb250cm9s IGZsb3cNCj4gKyAgZ3JheW91dGlmIGlkZXF2YWwgU2V0dXAuTHBzc0hzdWFydDFFbmFibGVkID09 IDB4MDA7DQo+ICsgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5McHNzSHN1YXJ0MUZsb3dDb250cm9s RW5hYmxlZCwNCj4gKyAgICBwcm9tcHQgICAgICA9DQo+IFNUUklOR19UT0tFTihTVFJfTFBTU19I U1VBUlQyX0ZMT1dDT05UUk9MX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdf VE9LRU4oU1RSX0xQU1NfSFNVQVJUMV9IRUxQX0VOQkRUX0RFVl9MSVNUKSwNCj4gKyAgICBvcHRp b24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTAgfERF RkFVTFQgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxhZ3M9DQo+IE1BTlVGQUNUVVJJTkcgIHwgUkVT RVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4gKw0KPiArDQo+ICsg IGdyYXlvdXRpZiBpZGVxdmFsIFNldHVwLkxwc3NEbWEwRW5hYmxlZCA9PSAweDAwOw0KPiArICBv bmVvZiB2YXJpZCAgID0gU2V0dXAuTHBzc1B3bTBFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9QV00xX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBT VFJJTkdfVE9LRU4oU1RSX1BXTTFfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdf VE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZT0wLA0KPiBmbGFncz1NQU5VRkFDVFVSSU5HICB8IFJF U0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFC TEUpLCB2YWx1ZT0xLCBmbGFncz0gMCB8IERFRkFVTFQNCj4gfCBSRVNFVF9SRVFVSVJFRDsNCj4g KyAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArDQo+ICsgIGdyYXlvdXRpZiBpZGVxdmFsIFNl dHVwLkxwc3NEbWEwRW5hYmxlZCA9PSAweDAwOw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAu THBzc1B3bTFFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9Q V00yX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BXTTJf SEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2 YWx1ZT0wLA0KPiBmbGFncz1NQU5VRkFDVFVSSU5HICB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZT0xLCBmbGFncz0g MCB8IERFRkFVTFQNCj4gfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsgIGVu ZGlmOw0KPiArDQo+ICsgIGdyYXlvdXRpZiBpZGVxdmFsIFNldHVwLkxwc3NEbWEwRW5hYmxlZCA9 PSAweDAwOw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuTHBzc1NwaUVuYWJsZWQsDQo+ICsg ICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0xQU1NfU1BJX1BST01QVCksDQo+ICsg ICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0xQU1NfU1BJX0hFTFApLA0KPiArICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwNCj4gZmxh Z3M9TUFOVUZBQ1RVUklORyAgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9 IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxhZ3M9IDAgfERFRkFVTFQgfA0K PiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArDQo+ICsg IHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4gKw0KPiAr ICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9MUFNTMl9TRVRUSU5HX1NVQlRJVExF KTsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuTHBzc0RtYTFFbmFibGVkLA0KPiAr ICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9MUFNTX0RNQTJfUFJPTVBUKSwNCj4g KyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfTFBTU19ETUEyX0hFTFApLA0KPiAr ICAgIGZsYWdzICAgICAgID0gSU5URVJBQ1RJVkUsDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJ TkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZT0wLCBmbGFncz0wDQo+IHxSRVNFVF9SRVFVSVJF RDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWU9 MSwgZmxhZ3M9IERFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsvKg0KPiArICBncmF5b3V0aWYgaWRlcXZhbCBTZXR1cC5M cHNzRG1hMUVuYWJsZWQgPT0gMHgwMDsNCj4gKyAgb25lb2YgdmFyaWQgICA9IFNldHVwLkxwc3NJ MkMwRW5hYmxlZCwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfTFBTU19J MkMxX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0xQU1Nf STJDMV9IRUxQX0VOQkRUX0RFVl9MSVNUKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTAgfERFRkFVTFQNCj4gfFJFU0VUX1JF UVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2 YWx1ZT0xLCBmbGFncz0NCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICBl bmRvbmVvZjsNCj4gKyAgZW5kaWY7DQo+ICsNCj4gKw0KPiArICBncmF5b3V0aWYgaWRlcXZhbCBT ZXR1cC5McHNzRG1hMUVuYWJsZWQgPT0gMHgwMDsNCj4gKyAgb25lb2YgdmFyaWQgICA9IFNldHVw Lkxwc3NJMkMxRW5hYmxlZCwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJf TFBTU19JMkMyX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RS X0xQU1NfSTJDMl9IRUxQX0VOQkRUX0RFVl9MSVNUKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNU UklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTAgfERFRkFVTFQgfA0KPiBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5B QkxFKSwgdmFsdWU9MSwgZmxhZ3M9DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsN Cj4gKyAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArDQo+ICsgIGdyYXlvdXRpZiBpZGVxdmFs IFNldHVwLkxwc3NEbWExRW5hYmxlZCA9PSAweDAwOw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0 dXAuTHBzc0kyQzJFbmFibGVkLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNU Ul9MUFNTX0kyQzNfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihT VFJfTFBTU19JMkMzX0hFTFBfRU5CRFRfREVWX0xJU1QpLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9MCB8REVGQVVMVCB8DQo+ IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9F TkFCTEUpLCB2YWx1ZT0xLCBmbGFncz0NCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVE Ow0KPiArICBlbmRvbmVvZjsNCj4gKyAgZW5kaWY7DQo+ICsNCj4gKyAgZ3JheW91dGlmIGlkZXF2 YWwgU2V0dXAuTHBzc0RtYTFFbmFibGVkID09IDB4MDA7DQo+ICsgIG9uZW9mIHZhcmlkICAgPSBT ZXR1cC5McHNzSTJDM0VuYWJsZWQsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4o U1RSX0xQU1NfSTJDNF9QUk9NUFQpLA0KPiArICAgIGhlbHAgICAgICAgID0gU1RSSU5HX1RPS0VO KFNUUl9MUFNTX0kyQzRfSEVMUF9FTkJEVF9ERVZfTElTVCksDQo+ICsgICAgb3B0aW9uIHRleHQg PSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZT0wLCBmbGFncz0wIHxERUZBVUxUIHwN Cj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0VOQUJMRSksIHZhbHVlPTEsIGZsYWdzPQ0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlS RUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4gKw0KPiArICBncmF5b3V0aWYgaWRl cXZhbCBTZXR1cC5McHNzRG1hMUVuYWJsZWQgPT0gMHgwMDsNCj4gKyAgb25lb2YgdmFyaWQgICA9 IFNldHVwLkxwc3NJMkM0RW5hYmxlZCwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tF TihTVFJfTFBTU19JMkM1X1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9L RU4oU1RSX0xQU1NfSTJDNV9IRUxQX0VOQkRUX0RFVl9MSVNUKSwNCj4gKyAgICBvcHRpb24gdGV4 dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTAgfERFRkFVTFQg fA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfRU5BQkxFKSwgdmFsdWU9MSwgZmxhZ3M9DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFV SVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArKi8NCj4gKyAgZ3JheW91dGlm IGlkZXF2YWwgU2V0dXAuTHBzc0RtYTFFbmFibGVkID09IDB4MDA7DQo+ICsgIG9uZW9mIHZhcmlk ICAgPSBTZXR1cC5McHNzSTJDNUVuYWJsZWQsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdf VE9LRU4oU1RSX0xQU1NfSTJDNl9QUk9NUFQpLA0KPiArICAgIGhlbHAgICAgICAgID0gU1RSSU5H X1RPS0VOKFNUUl9MUFNTX0kyQzZfSEVMUF9FTkJEVF9ERVZfTElTVCksDQo+ICsgICAgb3B0aW9u IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZT0wLCBmbGFncz0wDQo+IHxS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5B QkxFKSwgdmFsdWU9MSwgZmxhZ3M9ICBERUZBVUxUDQo+IHxNQU5VRkFDVFVSSU5HIHwgUkVTRVRf UkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4gKw0KPiArICBncmF5b3V0 aWYgaWRlcXZhbCBTZXR1cC5McHNzRG1hMUVuYWJsZWQgPT0gMHgwMDsNCj4gKyAgb25lb2YgdmFy aWQgICA9IFNldHVwLkxwc3NJMkM2RW5hYmxlZCwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklO R19UT0tFTihTVFJfTFBTU19JMkM3X1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJ TkdfVE9LRU4oU1RSX0xQU1NfSTJDN19IRUxQX0VOQkRUX0RFVl9MSVNUKSwNCj4gKyAgICBvcHRp b24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPTANCj4g fFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9F TkFCTEUpLCB2YWx1ZT0xLCBmbGFncz0gREVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNF VF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArDQo+ICsgIHN1YnRp dGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4gKw0KPiArICBzdWJ0 aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9JMkNfREVWSUNFX1NFVFRJTkdfU1VCVElUTEUp Ow0KPiArDQo+ICsgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5JMkNUb3VjaEFkLA0KPiArICAgIHBy b21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9JMkNfVE9VQ0hfUFJPTVBUKSwNCj4gKyAgICBo ZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfSTJDX1RPVUNIX0hFTFApLA0KPiArICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9BVVRPKSwgdmFsdWU9MCwgZmxhZ3M9REVGQVVM VCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4 dCA9IFNUUklOR19UT0tFTihTVFJfSTJDX0ZWUCksIHZhbHVlPTB4NEIsIGZsYWdzPTAgfA0KPiBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfSTJD X0ZGUkQpLCB2YWx1ZT0weDRBLCBmbGFncz0wIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVu ZG9uZW9mOw0KPiArDQo+ICsgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9T VFJJTkcpOw0KPiArDQo+ICsgb25lb2YgdmFyaWQgPSBTZXR1cC5TQVIxLA0KPiArICAgIHByb21w dCAgICAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TQVJfU0VOU09SX1BST01QVCksDQo+ICsgICAg aGVscCAgICAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NBUl9TRU5TT1JfSEVMUCksDQo+ICsg ICAgb3B0aW9uIHRleHQgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksIHZhbHVlID0gMSwg ZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8UkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgb3B0aW9uIHRleHQgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZSA9IDAs IGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArZW5kZm9ybTsN Cj4gKw0KPiArDQo+ICsvLw0KPiArLy9MQU4gQ29udHJvbGxlcg0KPiArLy8NCj4gK2Zvcm0gZm9y bWlkID0gTEFOX09QVElPTlNfRk9STV9JRCwNCj4gKw0KPiArICB0aXRsZSAgICA9IFNUUklOR19U T0tFTihTVFJfTEFOX09QVElPTlNfRk9STV9USVRMRSk7DQo+ICsNCj4gKyAgc3VidGl0bGUgdGV4 dCA9IFNUUklOR19UT0tFTihTVFJfTEFOX09QVElPTlNfRk9STV9USVRMRSk7DQo+ICsNCj4gKyAg b25lb2YgdmFyaWQgPSBTZXR1cC5MYW4sDQo+ICsgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4o U1RSX1BDSF9MQU5fQ09OVFJPTExFUiksDQo+ICsgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4o U1RSX1BDSF9MQU5fQ09OVFJPTExFUl9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVE Ow0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUg PSAwLCBmbGFncyA9IERFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7 DQo+ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsgIHN1cHByZXNzaWYgaWRlcXZhbCBTZXR1cC5MYW4g PT0gMDsNCj4gKyAgICBvbmVvZiB2YXJpZCA9IFNldHVwLldha2VPbkxhblM1LA0KPiArICAgICAg cHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9MQU5fV09MX1BST01QVCksDQo+ICsgICAg ICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfUENIX0xBTl9XT0xfSEVMUCksDQo+ICsgICAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFn cyA9ICBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAg ICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZs YWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgICBv bmVvZiB2YXJpZCA9IFNldHVwLlNscExhbkxvd0RjLA0KPiArICAgICAgcHJvbXB0ICAgPSBTVFJJ TkdfVE9LRU4oU1RSX1BDSF9TTFBfTEFOX0xPV19EQ19QUk9NUFQpLA0KPiArICAgICAgaGVscCAg ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9TTFBfTEFOX0xPV19EQ19IRUxQKSwNCj4gKyAgICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdz ID0gIERFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxh Z3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBlbmRvbmVvZjsNCj4gKw0KPiArICAgIG9u ZW9mIHZhcmlkID0gU2V0dXAuQm9vdE5ldHdvcmssDQo+ICsgICAgICBwcm9tcHQgICA9IFNUUklO R19UT0tFTihTVFJfUENIX1BYRVJPTV9DT05UUk9MKSwNCj4gKyAgICAgIGhlbHAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9QQ0hfUFhFUk9NX0NPTlRST0xfSEVMUCksDQo+ICsgICAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9DQo+IFJF U0VUX1JFUVVJUkVEOw0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJ U0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdzID0gREVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfFJF U0VUX1JFUVVJUkVEOw0KPiArICAgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4gKw0KPiArZW5k Zm9ybTsNCj4gKw0KPiArLy8NCj4gKy8vIEF6YWxpYSBDb25maWd1cmF0aW9uDQo+ICsvLw0KPiAr Zm9ybSBmb3JtaWQgPSBBWkFMSUFfT1BUSU9OU19GT1JNX0lELA0KPiArDQo+ICsgIHRpdGxlICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9BWkFMSUFfT1BUSU9OU19GT1JNX1RJVExFKTsNCj4gKw0KPiAr ICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9BWkFMSUFfT1BUSU9OU19GT1JNX1RJ VExFKTsNCj4gKyAgb25lb2YgdmFyaWQgICA9IFNldHVwLkxwZSwNCj4gKyAgICAgIHByb21wdCAg ICAgID0gU1RSSU5HX1RPS0VOKFNUUl9MUEVfUFJPTVBUKSwNCj4gKyAgICAgIGhlbHAgICAgICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9MUEVfSEVMUCksDQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNU UklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlPTAsIGZsYWdzPURFRkFVTFQgfA0KPiBNQU5V RkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfTFBFX1BDSV9NT0RFKSwgdmFsdWU9MSwgZmxhZ3M9MCB8DQo+IFJFU0VUX1JF UVVJUkVEOw0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0xQRV9BQ1BJ X01PREUpLCB2YWx1ZT0yLCBmbGFncz0wIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9u ZW9mOw0KPiArDQo+ICsgIGdyYXlvdXRpZiBOT1QgaWRlcXZhbCBTZXR1cC5McGUgPT0gMHgyOw0K PiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuTHBlQXVkaW9SZXBvcnRlZEJ5RFNEVCwNCj4gKyAg ICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9MUEVfUkVQT1JURURfQllfRFNEVF9Q Uk9NUFQpLA0KPiArICAgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0xQRV9SRVBP UlRFRF9CWV9EU0RUX0hFTFApLA0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4o U1RSX0RJU0FCTEUpLCB2YWx1ZT0wLCBmbGFncz1ERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8 IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0VOQUJMRSksIHZhbHVlPTEsDQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVv ZjsNCj4gKyAgZW5kaWY7DQo+ICsNCj4gKyAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihT VFJfTlVMTF9TVFJJTkcpOw0KPiArICBzdXBwcmVzc2lmIGlkZXF2YWwgU2V0dXAuQXphbGlhRHMg PT0gMHgxOw0KPiArICAgIG9uZW9mIHZhcmlkICA9IFNldHVwLlBjaEF6YWxpYSwNCj4gKyAgICAg IHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9QQ0hfQVpBTElBX1BST01QVCksDQo+ICsgICAg ICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfUENIX0FaQUxJQV9IRUxQKSwNCj4gKyAgICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFn cyA9IDAgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0gREVGQVVMVCB8DQo+IE1BTlVG QUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBlbmRvbmVvZjsNCj4gKyAgZW5kaWY7 DQo+ICsNCj4gKyAgc3VwcHJlc3NpZiBpZGVxdmFsIFNldHVwLkF6YWxpYURzID09IDB4MDsNCj4g KyAgICB0ZXh0DQo+ICsgICAgICBoZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9BWkFMSUFf RFNfU1VQUE9SVCksDQo+ICsgICAgICB0ZXh0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9BWkFM SUFfUFJPTVBUKSwNCj4gKyAgICAgIHRleHQgICA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwN Cj4gKyAgICAgIGZsYWdzICA9IDAsDQo+ICsgICAgICBrZXkgICAgPSAwOw0KPiArICBlbmRpZjsN Cj4gKw0KPiArICBzdXBwcmVzc2lmIGlkZXF2YWwgU2V0dXAuUGNoQXphbGlhID09IDB4MDsNCj4g KyAgICBvbmVvZiB2YXJpZCAgPSBTZXR1cC5BemFsaWFWQ2lFbmFibGUsDQo+ICsgICAgICBwcm9t cHQgICA9IFNUUklOR19UT0tFTihTVFJfQVpBTElBX1ZDX1BST01QVCksDQo+ICsgICAgICBoZWxw ICAgICA9IFNUUklOR19UT0tFTihTVFJfQVpBTElBX1ZDX0hFTFApLA0KPiArICAgICAgb3B0aW9u IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4g UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJf RU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9IERFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwg UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArDQo+ICsg IHN1cHByZXNzaWYgaWRlcXZhbCBTZXR1cC5QY2hBemFsaWEgPT0gMHgwOw0KPiArICAgIG9uZW9m IHZhcmlkICA9IFNldHVwLkF6YWxpYURzLA0KPiArICAgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9L RU4oU1RSX0FaQUxJQV9EU19QUk9NUFQpLA0KPiArICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9L RU4oU1RSX0FaQUxJQV9EU19IRUxQKSwNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9IERFRkFVTFQgfA0KPiBNQU5VRkFD VFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4gKw0KPiArICBzdXBwcmVzc2lmIGlkZXF2 YWwgU2V0dXAuUGNoQXphbGlhID09IDB4MDsNCj4gKyAgICBvbmVvZiB2YXJpZCAgPSBTZXR1cC5B emFsaWFQbWUsDQo+ICsgICAgICBwcm9tcHQgICA9IFNUUklOR19UT0tFTihTVFJfQVpBTElBX1BN RV9QUk9NUFQpLA0KPiArICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0FaQUxJQV9Q TUVfSEVMUCksDQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJM RSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0gREVG QVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBlbmRvbmVv ZjsNCj4gKw0KPiArICAgIG9uZW9mIHZhcmlkICA9IFNldHVwLkhkbWlDb2RlYywNCj4gKyAgICAg IHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9IRE1JX0NPREVDX1BST01QVCksDQo+ICsgICAg ICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfSERNSV9DT0RFQ19IRUxQKSwNCj4gKyAgICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFn cyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9L RU4oU1RSX0VOQUJMRSksIHZhbHVlID0gMSwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RV UklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIGVuZG9uZW9mOw0KPiArICBlbmRpZjsNCj4g Kw0KPiArZW5kZm9ybTsNCj4gKw0KPiArLy8NCj4gKy8vICBNaXNjIENvbmZpZ3VyYXRpb24NCj4g Ky8vDQo+ICtmb3JtIGZvcm1pZCA9IE1JU0NfT1BUSU9OU19GT1JNX0lELA0KPiArDQo+ICsgIHRp dGxlICAgID0gU1RSSU5HX1RPS0VOKFNUUl9NSVNDX09QVElPTl9GT1JNX1RJVExFKTsNCj4gKw0K PiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9NSVNDX09QVElPTl9GT1JNX1RJ VExFKTsNCj4gKyAgLy8NCj4gKyAgLy8gSFBFVCBEaXNhYmxlL0VuYWJsZQ0KPiArICAvLw0KPiAr ICBvbmVvZiAgIHZhcmlkICAgPSBTZXR1cC5IcGV0LA0KPiArICAgIHByb21wdCAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9IUEVUX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdf VE9LRU4oU1RSX0hQRVRfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4o U1RSX0RJU0FCTEUpLCB2YWx1ZT0weDAwLA0KPiBmbGFncz1SRVNFVF9SRVFVSVJFRDsNCj4gKyAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWU9MHgwMSwgZmxh Z3M9REVGQVVMVCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiAr ICBvbmVvZiB2YXJpZCAgPSBTZXR1cC5TdGF0ZUFmdGVyRzMsDQo+ICsgICAgIHByb21wdCAgID0g U1RSSU5HX1RPS0VOKFNUUl9TVEFURV9BRlRFUl9HMyksDQo+ICsgICAgIGhlbHAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9TVEFURV9BRlRFUl9HM19IRUxQKSwNCj4gKyAgICAgb3B0aW9uIHRleHQg PSBTVFJJTkdfVE9LRU4oU1RSX1MwX0FGVEVSX0czX1NUUklORyksIHZhbHVlID0gMCwNCj4gZmxh Z3MgPSBERUZBVUxUIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgIG9wdGlvbiB0ZXh0ID0gU1RS SU5HX1RPS0VOKFNUUl9TNV9BRlRFUl9HM19TVFJJTkcpLCB2YWx1ZSA9IDEsDQo+IGZsYWdzID0g TUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiAr ICBvbmVvZiB2YXJpZCAgPSBTZXR1cC5FbmFibGVDbG9ja1NwcmVhZFNwZWMsDQo+ICsgICAgIHBy b21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9DTE9DS19TUFJFQURfU1BFQ19FTkFCTEUpLA0KPiAr ICAgICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfQ0xPQ0tfU1BSRUFEX1NQRUNfRU5BQkxF X0hFTFApLA0KPiArICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSks IHZhbHVlID0gMCwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JF UVVJUkVEOw0KPiArICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwg dmFsdWUgPSAxLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4g Kw0KPiArDQo+ICsgIG9uZW9mIHZhcmlkICA9IFNldHVwLlVhcnRJbnRlcmZhY2UsDQo+ICsgICAg cHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9VQVJUX1NFTEVDVCksDQo+ICsgICAgaGVs cCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9VQVJUX1NFTEVDVF9IRUxQKSwNCj4gKyAgICBv cHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfVUFSVF9TRUxFQ1RfUENVKSwgdmFsdWUgPSAw LCBmbGFncyA9DQo+IERFRkFVTFQgfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX1VBUlRfU0VMRUNUX1NJTyksIHZh bHVlID0gMSwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsN Cj4gKyAgc3VwcHJlc3NpZiBpZGVxdmFsIFNldHVwLkxwc3NIc3VhcnQwRW5hYmxlZCA9PSAxIE9S IGlkZXF2YWwNCj4gU2V0dXAuVWFydEludGVyZmFjZSA9PSAxOw0KPiArICAgIG9uZW9mIHZhcmlk ICA9IFNldHVwLlBjdVVhcnQxLA0KPiArICAgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RS X1BDVV9VQVJUX0EpLA0KPiArICAgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDVV9V QVJUX0FfSEVMUCksDQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElT QUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0g REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBlbmRv bmVvZjsNCj4gKyAgZW5kaWY7DQo+ICsNCj4gKyAgb25lb2YgdmFyaWQgPSBTZXR1cC5TcGlSd1By b3RlY3QsDQo+ICsgICAgcHJvbXB0ICAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BDSF9TUElf V1BfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfUENI X1NQSV9XUF9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCAgICA9IFNUUklOR19UT0tFTihTVFJf UENIX1NQSV9XUF9ESVNBQkxFKSwgdmFsdWUgPSAwLA0KPiBmbGFncyA9IERFRkFVTFQgfCBNQU5V RkFDVFVSSU5HIHxSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCAgICA9IFNUUklO R19UT0tFTihTVFJfUENIX1NQSV9XUF9FTkFCTEUpLCB2YWx1ZSA9IDEsDQo+IGZsYWdzID0gUkVT RVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsgIG9uZW9mIHZhcmlkID0gU2V0 dXAuTW1pb1NpemUsDQo+ICsgICAgcHJvbXB0ICAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX01N SU9fUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfTU1J T19IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCAgICA9IFNUUklOR19UT0tFTihTVFJfTU1JT18w Xzc1R19TVFJJTkcpLCB2YWx1ZSA9IDAsDQo+IGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgb3B0aW9uIHRleHQgICAgPSBTVFJJTkdfVE9LRU4oU1RSX01NSU9fMUdfU1RSSU5HKSwgdmFs dWUgPSAxLCBmbGFncw0KPiA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ICAg ID0gU1RSSU5HX1RPS0VOKFNUUl9NTUlPXzFfMjVHX1NUUklORyksIHZhbHVlID0gMiwNCj4gZmxh Z3MgPSBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCAgICA9IFNUUklOR19UT0tF TihTVFJfTU1JT18xXzVHX1NUUklORyksIHZhbHVlID0gMywNCj4gZmxhZ3MgPSBSRVNFVF9SRVFV SVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCAgICA9IFNUUklOR19UT0tFTihTVFJfTU1JT18yR19T VFJJTkcpLCB2YWx1ZSA9IDQsIGZsYWdzDQo+ID0gREVGQVVMVCB8IE1BTlVGQUNUVVJJTkcgfCBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgb25lb2YgdmFyaWQgPSBT ZXR1cC5QY2llRHluYW1pY0dhdGluZywNCj4gKyAgICBwcm9tcHQgICAgICAgICA9IFNUUklOR19U T0tFTihTVFJfUENJRURZTkNMS19QUk9NUFQpLA0KPiArICAgIGhlbHAgICAgICAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9QQ0lFRFlOQ0xLX0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ICAgID0g U1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9IERFRkFVTFQNCj4g fCBNQU5VRkFDVFVSSU5HIHxSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCAgICA9 IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9DQo+IFJFU0VUX1JF UVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCA9IFNldHVwLkdw aW9XYWtlQ2FwYWJpbGl0eSwNCj4gKyAgICBwcm9tcHQgICAgICAgICA9IFNUUklOR19UT0tFTihT VFJfR1BJT19XQUtFX0NBUEFCSUxJVFlfRU5BQkxFKSwNCj4gKyAgICBoZWxwICAgICAgICAgICA9 DQo+IFNUUklOR19UT0tFTihTVFJfR1BJT19XQUtFX0NBUEFCSUxJVFlfRU5BQkxFX0hFTFApLA0K PiArICAgIG9wdGlvbiB0ZXh0ICAgID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUg PSAwLCBmbGFncyA9IERFRkFVTFQNCj4gfCBNQU5VRkFDVFVSSU5HIHxSRVNFVF9SRVFVSVJFRDsN Cj4gKyAgICBvcHRpb24gdGV4dCAgICA9IFNUUklOR19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUg PSAxLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiAr ICBvbmVvZiB2YXJpZCA9IFNldHVwLlJ0Y0JhdHRlcnksDQo+ICsgICAgcHJvbXB0ICAgICAgICAg PSBTVFJJTkdfVE9LRU4oU1RSX1JUQ19CQVRURVJZKSwNCj4gKyAgICBoZWxwICAgICAgICAgICA9 IFNUUklOR19UT0tFTihTVFJfUlRDX0JBVFRFUllfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQg ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1JUQ19CQVRURVJZX05PVF9QUkVTRU5UKSwgdmFsdWUNCj4g PSAwLCBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ICAgID0gU1RS SU5HX1RPS0VOKFNUUl9SVENfQkFUVEVSWV9QUkVTRU5UKSwgdmFsdWUgPSAxLA0KPiBmbGFncyA9 IERFRkFVTFQgfCBNQU5VRkFDVFVSSU5HIHxSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7 DQo+ICsNCj4gK2VuZGZvcm07DQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvU3lzdGVtQ29tcG9uZW50Lg0KPiB2 ZmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhl L1N5c3RlbUNvbXBvbmVudC4NCj4gdmZpDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLjk2Y2Y0NzBlYWYNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1N5c3RlbUNvbXBv bmVudC4NCj4gdmZpDQo+IEBAIC0wLDAgKzEsODEgQEANCj4gKy8vDQo+ICsvLw0KPiArLy8gQ29w eXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKy8vDQo+IA0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArLy8NCj4gDQo+ICsvLw0KPiArLy8NCj4gKy8vDQo+ ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ICsvLyAgIFN5c3RlbUNvbXBvbmVudC52ZnINCj4g Ky8vDQo+ICsvLyBBYnN0cmFjdDoNCj4gKy8vDQo+ICsvLyAgIERyaXZlciBTZXR1cCBmb3Jtc2V0 Lg0KPiArLy8NCj4gKy8vIFJldmlzaW9uIEhpc3Rvcnk6DQo+ICsvLyAgIC0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQ0KPiArLy8gICBSZXYgICBEYXRlPE1NL0REL1lZWVk+ICAgIE5hbWUgICAgRGVzY3Jp cHRpb24NCj4gKy8vICAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tDQo+ICsNCj4gKy8vIC0tKi8NCj4g Kw0KPiArZm9ybSBmb3JtaWQgPSBTWVNURU1fQ09NUE9ORU5UX0ZPUk1fSUQsDQo+ICsNCj4gKyAg dGl0bGUgID0gU1RSSU5HX1RPS0VOKFNUUl9TWVNURU1fQ09NUE9ORU5UX1RJVExFKTsNCj4gKy8q DQo+ICsgIG9uZW9mICAgdmFyaWQgICA9IFNldHVwLkNSSURTZXR0aW5ncywNCj4gKyAgICBwcm9t cHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfQ1JJRF9QUk9NUFQpLA0KPiArICAgIGhlbHAgICAg ICAgID0gU1RSSU5HX1RPS0VOKFNUUl9DUklEX1NFVFRJTkdfSEVMUCksDQo+ICsgICAgb3B0aW9u IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4g TUFOVUZBQ1RVUklORyB8IERFRkFVTFQgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfQ1JJRF8wX1NUUklORyksICB2YWx1ZSA9IDEsIGZsYWdz ID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4o U1RSX0NSSURfMV9TVFJJTkcpLCAgdmFsdWUgPSAyLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVE Ow0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9DUklEXzJfU1RSSU5HKSwg IHZhbHVlID0gMywgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ ICsqLw0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX1BOUF9DT05G SUdVUkFUSU9OX1RJVExFKTsNCj4gKyAgb25lb2YgICB2YXJpZCAgID0gU2V0dXAuUG5wU2V0dGlu Z3MsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BOUF9TRVRUSU5HX1BS T01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BOUF9TRVRUSU5H X0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwg dmFsdWUgPSAwLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArI2lmIChQTlBfREVCVUcg PT0gMSkNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfUE5QX1BPV0VSX1NU UklORyksICB2YWx1ZSA9IDEsDQo+IGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0 aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX1BOUF9QRVJGT1JNQU5DRV9TVFJJTkcpLCAgdmFs dWUNCj4gPSAyLCBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArI2VuZGlmDQo+ICsgICAgb3B0 aW9uIHRleHQgPQ0KPiBTVFJJTkdfVE9LRU4oU1RSX1BOUF9QT1dFUl9QRVJGT1JNQU5DRV9TVFJJ TkcpLCB2YWx1ZSA9IDMsIGZsYWdzDQo+ID0gREVGQVVMVCB8IE1BTlVGQUNUVVJJTkcgfCBSRVNF VF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9DQo+IFNUUklOR19UT0tFTihTVFJfUE5Q X1BPV0VSX1BFUkZPUk1BTkNFX1NUUklOR19BMCksIHZhbHVlID0gNCwNCj4gZmxhZ3MgPSAwIHwg UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPQ0KPiBTVFJJTkdfVE9LRU4oU1RS X1BOUF9QT1dFUl9QRVJGT1JNQU5DRV9TVFJJTkdfQjApLCB2YWx1ZSA9IDUsDQo+IGZsYWdzID0g MCB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArICBvbmVvZiAgIHZh cmlkICAgPSBTZXR1cC5DZmlvUG5wU2V0dGluZ3MsDQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJ TkdfVE9LRU4oU1RSX0NGSU9fUE5QX1NFVFRJTkdfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAg ICA9IFNUUklOR19UT0tFTihTVFJfQ0ZJT19QTlBfU0VUVElOR19IRUxQKSwNCj4gKyAgICBvcHRp b24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0K PiBNQU5VRkFDVFVSSU5HIHwgREVGQVVMVCB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0gMCB8 DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKyBvbmVvZiAgIHZhcmlkICAg PSBTZXR1cC5UcmlzdGF0ZUxwYywNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihT VFJfVFJJU1RBVEVfTFBDX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9L RU4oU1RSX1RSSVNUQVRFX0xQQ19IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBNQU5VRkFDVFVSSU5HIHwg REVGQVVMVCB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9IDEsIGZsYWdzID0gMCB8DQo+IFJFU0VUX1JFUVVJUkVE Ow0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArDQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gKyAgb25l b2YgdmFyaWQgICA9IFNldHVwLlBjaEZTQU9uLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5H X1RPS0VOKFNUUl9QQ0hfRlNBX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdf VE9LRU4oU1RSX1BDSF9GU0FfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9L RU4oU1RSX09GRiksIHZhbHVlID0gMCwgZmxhZ3MgPSBERUZBVUxUIHwNCj4gTUFOVUZBQ1RVUklO RyB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNU Ul9PTiksIHZhbHVlID0gMSwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25l b2Y7DQo+ICsNCj4gKw0KPiArDQo+ICtlbmRmb3JtOw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9UaGVybWFsLnZmaQ0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVGhlcm1h bC52ZmkNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjMwNjNh NzNiMg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVGhlcm1hbC52ZmkNCj4gQEAgLTAsMCArMSwxMDYgQEAN Cj4gKy8vDQo+ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENv cnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKy8vDQo+IA0KPiArLy8gU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArLy8NCj4g DQo+ICsvLw0KPiArLy8NCj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ICsvLyAg IERQVEYudmZyDQo+ICsvLw0KPiArLy8gQWJzdHJhY3Q6DQo+ICsvLw0KPiArLy8gICBEcml2ZXIg U2V0dXAgZm9ybXNldC4NCj4gKy8vDQo+ICsvLyBSZXZpc2lvbiBIaXN0b3J5Og0KPiArLy8gICAt LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0NCj4gKy8vICAgUmV2ICAgRGF0ZTxNTS9ERC9ZWVlZPiAgICBO YW1lICAgIERlc2NyaXB0aW9uDQo+ICsvLyAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ ICsvLyAtLSovDQo+ICsNCj4gK2Zvcm0gZm9ybWlkID0gVEhFUk1BTF9GT1JNX0lELA0KPiArDQo+ ICsgIHRpdGxlICA9IFNUUklOR19UT0tFTihTVFJfVEhFUk1BTF9USVRMRSk7DQo+ICsNCj4gKyAg c3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfVEhFUk1BTF9DT05GSUdVUkFUSU9OKTsN Cj4gKyAgb25lb2YgICB2YXJpZCAgID0gU2V0dXAuQ3JpdGljYWxUaGVybWFsVHJpcFBvaW50LA0K PiArICAgIHByb21wdCAgICAgID0NCj4gU1RSSU5HX1RPS0VOKFNUUl9BQ1BJX0NSSVRJQ0FMX1RI RVJNQUxfVFJJUF9QT0lOVCksDQo+ICsgICAgaGVscCAgICAgICAgPQ0KPiBTVFJJTkdfVE9LRU4o U1RSX0FDUElfQ1JJVElDQUxfVEhFUk1BTF9UUklQX1BPSU5UX0hFTFApLA0KPiArICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfODVfQyksIHZhbHVlID0gODUsIGZsYWdzPTAgfA0K PiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RS Xzg3X0MpLCB2YWx1ZSA9IDg3LCBmbGFncz0wIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4gKFNUUl85MF9DKSwgdmFsdWUgPSA5MCwgZmxhZ3M9 MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VO IChTVFJfMTA1X0MpLCB2YWx1ZSA9IDEwNSwgZmxhZ3M9MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfMTEwX0MpLCB2YWx1ZSA9IDEx MCwgZmxhZ3M9MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RS SU5HX1RPS0VOIChTVFJfMjAwX0MpLCB2YWx1ZSA9IDIwMCwgZmxhZ3M9REVGQVVMVCB8DQo+IE1B TlVGQUNUVVJJTkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsgIG9uZW9m ICAgdmFyaWQgICA9IFNldHVwLlBhc3NpdmVUaGVybWFsVHJpcFBvaW50LA0KPiArICAgIHByb21w dCAgICAgID0gU1RSSU5HX1RPS0VODQo+IChTVFJfQUNQSV9QQVNTSVZFX1RIRVJNQUxfVFJJUF9Q T0lOVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4NCj4gKFNUUl9BQ1BJX1BB U1NJVkVfVEhFUk1BTF9UUklQX1BPSU5UX0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RS SU5HX1RPS0VOIChTVFJfODVfQyksIHZhbHVlID0gODUsIGZsYWdzPTAgfA0KPiBSRVNFVF9SRVFV SVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTiAoU1RSXzg3X0MpLCB2YWx1 ZSA9IDg3LCBmbGFncz0wIHwNCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQg PSBTVFJJTkdfVE9LRU4gKFNUUl85MF9DKSwgdmFsdWUgPSA5MCwgZmxhZ3M9MCB8DQo+IFJFU0VU X1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfMTAwX0Mp LCB2YWx1ZSA9IDEwMCwgZmxhZ3M9MCB8DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOIChTVFJfMTA1X0MpLCB2YWx1ZSA9IDEwNSwgZmxhZ3M9MCB8 DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOIChT VFJfMTgwX0MpLCB2YWx1ZSA9IDE4MCwgZmxhZ3M9REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcg fCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgc3VwcHJlc3NpZiBU UlVFOw0KPiArICAgIG51bWVyaWMgdmFyaWQgPSBTZXR1cC5QYXNzaXZlVGMxVmFsdWUsDQo+ICsg ICAgICBwcm9tcHQgID0gU1RSSU5HX1RPS0VOIChTVFJfQUNQSV9QQVNTSVZFX1RDMV9WQUxVRSks DQo+ICsgICAgICBoZWxwICAgID0gU1RSSU5HX1RPS0VOIChTVFJfQUNQSV9QQVNTSVZFX1RDMV9W QUxVRV9IRUxQKSwNCj4gKyAgICAgIGZsYWdzICAgPSAwIHwgUkVTRVRfUkVRVUlSRUQsDQo+ICsg ICAgICBtaW5pbXVtID0gMSwNCj4gKyAgICAgIG1heGltdW0gPSAxNiwNCj4gKyAgICAgIHN0ZXAg ICAgPSAxLA0KPiArICAgICAgZGVmYXVsdCA9IDEsDQo+ICsgICAgZW5kbnVtZXJpYzsNCj4gKw0K PiArICAgIG51bWVyaWMgdmFyaWQgPSBTZXR1cC5QYXNzaXZlVGMyVmFsdWUsDQo+ICsgICAgICBw cm9tcHQgID0gU1RSSU5HX1RPS0VOIChTVFJfQUNQSV9QQVNTSVZFX1RDMl9WQUxVRSksDQo+ICsg ICAgICBoZWxwICAgID0gU1RSSU5HX1RPS0VOIChTVFJfQUNQSV9QQVNTSVZFX1RDMl9WQUxVRV9I RUxQKSwNCj4gKyAgICAgIGZsYWdzICAgPSAwIHwgUkVTRVRfUkVRVUlSRUQsDQo+ICsgICAgICBt aW5pbXVtID0gMSwNCj4gKyAgICAgIG1heGltdW0gPSAxNiwNCj4gKyAgICAgIHN0ZXAgICAgPSAx LA0KPiArICAgICAgZGVmYXVsdCA9IDUsDQo+ICsgICAgZW5kbnVtZXJpYzsNCj4gKw0KPiArICAg IG51bWVyaWMgdmFyaWQgPSBTZXR1cC5QYXNzaXZlVHNwVmFsdWUsDQo+ICsgICAgICBwcm9tcHQg ID0gU1RSSU5HX1RPS0VOIChTVFJfQUNQSV9QQVNTSVZFX1RTUF9WQUxVRSksDQo+ICsgICAgICBo ZWxwICAgID0gU1RSSU5HX1RPS0VOIChTVFJfQUNQSV9QQVNTSVZFX1RTUF9WQUxVRV9IRUxQKSwN Cj4gKyAgICAgIGZsYWdzICAgPSAwIHwgUkVTRVRfUkVRVUlSRUQsDQo+ICsgICAgICBtaW5pbXVt ID0gMiwNCj4gKyAgICAgIG1heGltdW0gPSA1MCwNCj4gKyAgICAgIHN0ZXAgICAgPSAyLA0KPiAr ICAgICAgZGVmYXVsdCA9IDUwLA0KPiArICAgIGVuZG51bWVyaWM7DQo+ICsgIGVuZGlmOw0KPiAr DQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX05VTExfU1RSSU5HKTsNCj4g Kw0KPiArICBvbmVvZiB2YXJpZCAgICA9IFNldHVwLkRpc2FibGVBY3RpdmVUcmlwUG9pbnRzLA0K PiArICAgICAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfREFUUF9QUk9NUFQpLA0K PiArICAgICAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfREFUUF9IRUxQKSwNCj4g KyAgICAgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RJU0FCTEVEKSwgdmFsdWUg PSAwLCBmbGFncyA9DQo+IERFRkFVTFQgfCBNQU5VRkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7 DQo+ICsgICAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEVEKSwgIHZh bHVlID0gMSwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsN Cj4gKyAgc3VwcHJlc3NpZiBUUlVFOw0KPiArICBvbmVvZiB2YXJpZCAgICAgPSBTZXR1cC5FbmFi bGVEaWdpdGFsVGhlcm1hbFNlbnNvciwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tF TihTVFJfRFRTX1BST01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RS X0RUU19QUk9NUFRfSEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0RJU0FCTEUpLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0VOQUJMRSksICB2YWx1ZSA9IDEsIGZsYWdz ID0NCj4gTUFOVUZBQ1RVUklORyB8UkVTRVRfUkVRVUlSRUQgfERFRkFVTFQ7DQo+ICsgIGVuZG9u ZW9mOw0KPiArICBlbmRpZjsNCj4gKw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VO KFNUUl9OVUxMX1NUUklORyk7DQo+ICsNCj4gKw0KPiArDQo+ICtlbmRmb3JtOw0KPiBkaWZmIC0t Z2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9V bkNvcmUudmZpDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1T ZXR1cER4ZS9VbkNvcmUudmZpDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLmVkNmJiM2EwMGINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1VuQ29yZS52ZmkNCj4gQEAgLTAs MCArMSwyMzUgQEANCj4gKy8vDQo+ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKy8vDQo+ IA0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArLy8NCj4gDQo+ICsvLw0KPiArLy8NCj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4g Ky8vDQo+ICsvLyAgIFVuY29yZUNvbmZpZ3VyYXRpb24udmZpDQo+ICsvLw0KPiArLy8gQWJzdHJh Y3Q6DQo+ICsvLw0KPiArLy8gICBEcml2ZXIgU2V0dXAgZm9ybXNldC4NCj4gKy8vDQo+ICsNCj4g Kw0KPiArLy8gLS0qLw0KPiArDQo+ICtmb3JtIGZvcm1pZCA9IFVOQ09SRV9GT1JNX0lELA0KPiAr ICB0aXRsZSAgICA9IFNUUklOR19UT0tFTihTVFJfVU5DT1JFX0NPTkZJR1VSQVRJT05fVElUTEUp Ow0KPiArDQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0dPUF9USVRMRSk7 DQo+ICsNCj4gKyAgb25lb2YgdmFyaWQgICAgPSBTZXR1cC5HT1BFbmFibGUsDQo+ICsgICAgcHJv bXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0dPUF9WQklPU19TV0lUQ0gpLA0KPiArICAgIGhlbHAg ICAgID0gU1RSSU5HX1RPS0VOKFNUUl9HT1BfVkJJT1NfU1dJVENIX0hFTFApLA0KPiArICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9FTkFCTEUpLCB2YWx1ZSA9MSwgZmxhZ3MgPQ0K PiBNQU5VRkFDVFVSSU5HIHwgREVGQVVMVCB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWUgPSAwLCBmbGFncyA9DQo+ IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAg PSBTZXR1cC5HT1BCcmlnaHRuZXNzTGV2ZWwsDQo+ICsgICAgcHJvbXB0ID0gU1RSSU5HX1RPS0VO KFNUUl9HT1BfQlJJR0hUTkVTU19MRVZFTCksDQo+ICsgICAgaGVscCAgID0gU1RSSU5HX1RPS0VO KFNUUl9HT1BfQlJJR0hUTkVTU19MRVZFTF9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNU UklOR19UT0tFTihTVFJfR09QX0JSSUdIVF8yMCksIHZhbHVlID0yLCBmbGFncyA9DQo+IFJFU0VU X1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9HT1BfQlJJ R0hUXzQwKSwgdmFsdWUgPTMsIGZsYWdzID0NCj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0 aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0dPUF9CUklHSFRfNjApLCB2YWx1ZSA9NCwgZmxh Z3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tF TihTVFJfR09QX0JSSUdIVF84MCksIHZhbHVlID01LCBmbGFncyA9DQo+IE1BTlVGQUNUVVJJTkd8 IERFRkFVTFR8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl9HT1BfQlJJR0hUXzEwMCksIHZhbHVlID02LCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJ UkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9HT1BfQlJJR0hUXzEy MCksIHZhbHVlID03LCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0 ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9HT1BfQlJJR0hUXzE0MCksIHZhbHVlID04LCBmbGFncyA9 DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNU Ul9HT1BfQlJJR0hUXzE2MCksIHZhbHVlID05LCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0K PiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9HT1BfQlJJR0hUXzE4MCksIHZh bHVlID0xMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9 IFNUUklOR19UT0tFTihTVFJfR09QX0JSSUdIVF8yMDApLCB2YWx1ZSA9MTEsIGZsYWdzID0NCj4g UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0dP UF9CUklHSFRfMjIwKSwgdmFsdWUgPTEyLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiAr ICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9HT1BfQlJJR0hUXzI0MCksIHZhbHVl ID0xMywgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNU UklOR19UT0tFTihTVFJfR09QX0JSSUdIVF8yNTUpLCB2YWx1ZSA9MTQsIGZsYWdzID0NCj4gUkVT RVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9OVUxMX1NUUklORyk7DQo+ICsgIHN1YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9L RU4oU1RSX0lHRF9USVRMRSk7DQo+ICsNCj4gKyAgc3VwcHJlc3NpZiBpZGVxdmFsIFNldHVwLlBy aW1hcnlWaWRlb0FkYXB0b3IgPT0gMHgyOw0KPiArICAgIG9uZW9mIHZhcmlkICA9IFNldHVwLkln ZCwNCj4gKyAgICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOIChTVFJfSUdEX1BST01QVCksDQo+ ICsgICAgICBoZWxwICAgICA9IFNUUklOR19UT0tFTiAoU1RSX0lHRF9IRUxQKSwNCj4gKyAgICAg IG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9ESVNBQkxFKSwgdmFsdWU9MCwNCj4gZmxh Z3M9UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfRU5BQkxFKSwgIHZhbHVlPTEsIGZsYWdzPURFRkFVTFQgfA0KPiBNQU5VRkFDVFVSSU5HIHwg UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgZW5kb25lb2Y7DQo+ICsgIGVuZGlmOw0KPiArDQo+ICsg IG9uZW9mIHZhcmlkICAgID0gU2V0dXAuUHJpbWFyeVZpZGVvQWRhcHRvciwNCj4gKyAgICBwcm9t cHQgICA9IFNUUklOR19UT0tFTihTVFJfUFJJTUFSWV9ESVNQTEFZKSwNCj4gKyAgICBoZWxwICAg ICA9IFNUUklOR19UT0tFTihTVFJfUFJJTUFSWV9ESVNQTEFZX0hFTFApLA0KPiArICAgIG9wdGlv biB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9BVVRPTUFUSUMpLCB2YWx1ZSA9IDMsIGZsYWdzID0N Cj4gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0lHRF9TVFJJTkcpLCB2YWx1ZSA9IDAsIGZsYWdzID0NCj4gREVGQVVMVCB8TUFOVUZBQ1RVUklO RyB8UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X1BDSV9TVFJJTkcpLCAgdmFsdWUgPSAyLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVEOw0KPiAr ICBlbmRvbmVvZjsNCj4gKw0KPiArDQo+ICsgIG9uZW9mIHZhcmlkID0gU2V0dXAuUGF2cE1vZGUs DQo+ICsgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1BBVkNfUFJPTVBUKSwNCj4gKyAg ICBoZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfUEFWQ19IRUxQKSwNCj4gKyAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfUEFW UF9MSVRFX01PREUpLCB2YWx1ZSA9IDEsIGZsYWdzID0NCj4gTUFOVUZBQ1RVUklORyB8IERFRkFV TFQgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihT VFJfUEFWUF9TRVJQRU5UX01PREUpLCB2YWx1ZSA9IDIsDQo+IGZsYWdzID0gUkVTRVRfUkVRVUlS RUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsNCj4gKyAgb25lb2YgdmFyaWQgICAgPSBTZXR1 cC5HVFRTaXplLA0KPiArICAgIHByb21wdCAgID0gU1RSSU5HX1RPS0VOKFNUUl9HVFRfU0laRSks DQo+ICsgICAgaGVscCAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0dUVF9TSVpFX0hFTFApLA0KPiAr ICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKEdUVF9TSVpFXzFNQiksIHZhbHVlID0gMSwg ZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19U T0tFTihHVFRfU0laRV8yTUIpLCB2YWx1ZSA9IDIsIGZsYWdzID0gIERFRkFVTFQNCj4gfCBNQU5V RkFDVFVSSU5HIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsgIG9u ZW9mIHZhcmlkICAgID0gU2V0dXAuSWdkQXBlcnR1cmVTaXplLA0KPiArICAgIHByb21wdCAgID0g U1RSSU5HX1RPS0VOKFNUUl9BUEVSVFVSRV9TSVpFKSwNCj4gKyAgICBoZWxwICAgICA9IFNUUklO R19UT0tFTihTVFJfQVBFUlRVUkVfU0laRV9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNU UklOR19UT0tFTihBUEVSVFVSRV9TSVpFXzEyOE1CKSwgdmFsdWUgPSAxLCBmbGFncyA9DQo+IFJF U0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKEFQRVJUVVJF X1NJWkVfMjU2TUIpLCB2YWx1ZSA9IDIsIGZsYWdzID0NCj4gREVGQVVMVCB8IE1BTlVGQUNUVVJJ TkcgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihB UEVSVFVSRV9TSVpFXzUxMk1CKSwgdmFsdWUgPSAzLCBmbGFncyA9DQo+IFJFU0VUX1JFUVVJUkVE Ow0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAgID0gU2V0dXAuSWdkRHZt dDUwUHJlQWxsb2MsDQo+ICsgICAgcHJvbXB0ICA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUwX1BS RV9BTExPQyksDQo+ICsgICAgaGVscCAgICA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUwX1BSRV9B TExPQ19IRUxQKSwNCj4gKy8vICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9EVk1U NTBfUFJFX0FMTE9DXzMyTSksIHZhbHVlID0NCj4gMSwgZmxhZ3MgPSBSRVNFVF9SRVFVSVJFRDsN Cj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUwX1BSRV9BTExPQ182 NE0pLCB2YWx1ZSA9IDIsDQo+IGZsYWdzID0gREVGQVVMVCB8IE1BTlVGQUNUVVJJTkcgfCBSRVNF VF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUw X1BSRV9BTExPQ185Nk0pLCB2YWx1ZSA9IDMsDQo+IGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RWTVQ1MF9QUkVfQUxMT0NfMTI4 TSksIHZhbHVlID0NCj4gNCwgZmxhZ3MgPSBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24g dGV4dCA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUwX1BSRV9BTExPQ18xNjBNKSwgdmFsdWUgPQ0K PiA1LCBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9EVk1UNTBfUFJFX0FMTE9DXzE5Mk0pLCB2YWx1ZSA9DQo+IDYsIGZsYWdzID0g UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RW TVQ1MF9QUkVfQUxMT0NfMjI0TSksIHZhbHVlID0NCj4gNywgZmxhZ3MgPSBSRVNFVF9SRVFVSVJF RDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUwX1BSRV9BTExP Q18yNTZNKSwgdmFsdWUgPQ0KPiA4LCBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9EVk1UNTBfUFJFX0FMTE9DXzI4OE0pLCB2YWx1 ZSA9DQo+IDksIGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBT VFJJTkdfVE9LRU4oU1RSX0RWTVQ1MF9QUkVfQUxMT0NfMzIwTSksIHZhbHVlID0NCj4gMTAsIGZs YWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4o U1RSX0RWTVQ1MF9QUkVfQUxMT0NfMzUyTSksIHZhbHVlID0NCj4gMTEsIGZsYWdzID0gUkVTRVRf UkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RWTVQ1MF9Q UkVfQUxMT0NfMzg0TSksIHZhbHVlID0NCj4gMTIsIGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RWTVQ1MF9QUkVfQUxMT0NfNDE2 TSksIHZhbHVlID0NCj4gMTMsIGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9u IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0RWTVQ1MF9QUkVfQUxMT0NfNDQ4TSksIHZhbHVlID0N Cj4gMTQsIGZsYWdzID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJ TkdfVE9LRU4oU1RSX0RWTVQ1MF9QUkVfQUxMT0NfNDgwTSksIHZhbHVlID0NCj4gMTUsIGZsYWdz ID0gUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RS X0RWTVQ1MF9QUkVfQUxMT0NfNTEyTSksIHZhbHVlID0NCj4gMTYsIGZsYWdzID0gUkVTRVRfUkVR VUlSRUQ7DQo+ICsgIGVuZG9uZW9mOw0KPiArDQo+ICsgIG9uZW9mICAgdmFyaWQgICA9IFNldHVw LklnZER2bXQ1MFRvdGFsQWxsb2MsDQo+ICsgICAgcHJvbXB0ICA9IFNUUklOR19UT0tFTihTVFJf RFZNVDUwX0RWTVQgKSwNCj4gKyAgICBoZWxwICAgID0gU1RSSU5HX1RPS0VOKFNUUl9EVk1UNTBf RFZNVF9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUw X0FMTE9DXzEyOCksIHZhbHVlID0gMSwgZmxhZ3MNCj4gPSBSRVNFVF9SRVFVSVJFRDsNCj4gKyAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRFZNVDUwX0FMTE9DXzI1NiksIHZhbHVl ID0gMiwgZmxhZ3MNCj4gPSBERUZBVUxUIHwgTUFOVUZBQ1RVUklORyB8IFJFU0VUX1JFUVVJUkVE Ow0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9EVk1UNTBfQUxMT0NfTUFY KSwgdmFsdWUgPSAzLA0KPiBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsN Cj4gKw0KPiArICAvLw0KPiArICAvL0lnZCBUaGVybWFsDQo+ICsgIC8vDQo+ICsNCj4gKyAgc3Vi dGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTlVMTF9TVFJJTkcpOw0KPiArDQo+ICsgIHN1 YnRpdGxlIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0lHRF9MQ0RfQ09OVFJPTCk7DQo+ICsNCj4g KyAgb25lb2YgdmFyaWQgICAgPSBTZXR1cC5MaWRTdGF0dXMsDQo+ICsgICAgcHJvbXB0ICAgPSBT VFJJTkdfVE9LRU4oU1RSX0ZPUkNFX0xJRF9TVEFUVVNfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAg ICA9IFNUUklOR19UT0tFTihTVFJfRk9SQ0VfTElEX1NUQVRVU19FTkJEVF9IRUxQKSwNCj4gKyAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTElEX1NUQVRVU19fT0ZGX1BST01QVCks IHZhbHVlID0NCj4gMCwgZmxhZ3MgPSAwIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9u IHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0xJRF9TVEFUVVNfX09OX1BST01QVCksIHZhbHVlID0N Cj4gMSwgZmxhZ3MgPSAwIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBT VFJJTkdfVE9LRU4oU1RSX0xJRF9TVEFUVVNfX0FVVE9fUFJPTVBUKSwgdmFsdWUNCj4gPSAyLCBm bGFncyA9IE1BTlVGQUNUVVJJTkd8IERFRkFVTFR8IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRv bmVvZjsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAgICA9IFNldHVwLklnZExjZElCaWEsDQo+ICsg ICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4oU1RSX1ZJREVPX0xDRF9JQklBKSwNCj4gKyAgICBo ZWxwICAgICA9IFNUUklOR19UT0tFTihTVFJfVklERU9fTENEX0lCSUFITFApLA0KPiArICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9WSURFT19MQ0RfSUJJQUEpLCB2YWx1ZSA9IDAs IGZsYWdzDQo+ID1NQU5VRkFDVFVSSU5HfCBERUZBVUxUfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAg ICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfVklERU9fTENEX0lCSUFEKSwgdmFsdWUg PSAxLCBmbGFncyA9DQo+IDB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOKFNUUl9WSURFT19MQ0RfSUJJQUwxKSwgdmFsdWUgPSAyLCBmbGFncyA9DQo+ IDB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNU Ul9WSURFT19MQ0RfSUJJQUwyKSwgdmFsdWUgPSAzLCBmbGFncyA9DQo+IDB8IFJFU0VUX1JFUVVJ UkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9WSURFT19MQ0RfSUJJ QUwzKSwgdmFsdWUgPSA0LCBmbGFncyA9DQo+IDB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9w dGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9WSURFT19MQ0RfSUJJQUw0KSwgdmFsdWUgPSA1 LCBmbGFncyA9DQo+IDB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RS SU5HX1RPS0VOKFNUUl9WSURFT19MQ0RfSUJJQUw1KSwgdmFsdWUgPSA2LCBmbGFncyA9DQo+IDB8 IFJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArICBvbmVvZiB2YXJpZCAg PSBTZXR1cC5BbHNFbmFibGUsDQo+ICsgICAgcHJvbXB0ICAgPSBTVFJJTkdfVE9LRU4gKFNUUl9B Q1BJX0FMU19FTkFCTEUpLA0KPiArICAgIGhlbHAgICAgID0gU1RSSU5HX1RPS0VOIChTVFJfQUNQ SV9BTFNfRU5BQkxFX0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNU Ul9ESVNBQkxFKSwgdmFsdWU9MCwgZmxhZ3M9REVGQVVMVCB8DQo+IE1BTlVGQUNUVVJJTkcgfCBS RVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRU5B QkxFKSwgIHZhbHVlPTEsIGZsYWdzPTAgfA0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25l b2Y7DQo+ICsNCj4gKw0KPiArICBvbmVvZiAgIHZhcmlkICAgPSBTZXR1cC5JZ2RGbGF0UGFuZWws DQo+ICsgICAgcHJvbXB0ICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lHRF9GTEFUX1BBTkVMX1BS T01QVCksDQo+ICsgICAgaGVscCAgICAgICAgPSBTVFJJTkdfVE9LRU4oU1RSX0lHRF9GTEFUX1BB TkVMX0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9BVVRPTUFU SUMpLCB2YWx1ZT0weDAwLA0KPiBmbGFncz1ERUZBVUxUIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsg ICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSXzY0MFg0ODApLCB2YWx1ZT0weDAxLA0K PiBmbGFncz1SRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tF TihTVFJfODAwWDYwMCksIHZhbHVlPTB4MDIsDQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiAr ICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl8xMDI0WDc2OCksIHZhbHVlPTB4MDMs DQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RP S0VOKFNUUl8xMjgwWDEwMjQpLCB2YWx1ZT0weDA0LA0KPiBmbGFncz1SRVNFVF9SRVFVSVJFRDsN Cj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfMTM2Nlg3NjgpLCB2YWx1ZT0w eDA1LA0KPiBmbGFncz1SRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfMTY4MFgxMDUwKSwgdmFsdWU9MHgwNiwNCj4gZmxhZ3M9UkVTRVRfUkVRVUlS RUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSXzE5MjBYMTIwMCksIHZh bHVlPTB4MDcsDQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOKFNUUl8xMjgwWDgwMCksIHZhbHVlPTB4MDgsDQo+IGZsYWdzPVJFU0VUX1JF UVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4gKw0KPiArICBvbmVvZiAgIHZhcmlkICAgPSBTZXR1 cC5Cb290RGlzcGxheURldmljZSwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihT VFJfQk9PVF9ESVNQTEFZX0RFVklDRV9QUk9NUFQpLA0KPiArICAgIGhlbHAgICAgICAgID0gU1RS SU5HX1RPS0VOKFNUUl9CT09UX0RJU1BMQVlfREVWSUNFX0hFTFApLA0KPiArICAgIG9wdGlvbiB0 ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9BVVRPTUFUSUMpLCB2YWx1ZT0weDAwLA0KPiBmbGFncz1E RUZBVUxUIHwgUkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9L RU4oU1RSX1ZHQVBPUlQpLCB2YWx1ZT0weDAxLA0KPiBmbGFncz1SRVNFVF9SRVFVSVJFRDsNCj4g KyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfSERNSVBPUlRCKSwgdmFsdWU9MHgw MiwNCj4gZmxhZ3M9UkVTRVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdf VE9LRU4oU1RSX0RQUE9SVEIpLCB2YWx1ZT0weDAzLA0KPiBmbGFncz1SRVNFVF9SRVFVSVJFRDsN Cj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRFBQT1JUQyksIHZhbHVlPTB4 MDQsDQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9FRFBQT1JUQyksIHZhbHVlPTB4MDUsDQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVE Ow0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9EU0lQT1JUQSksIHZhbHVl PTB4MDYsDQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RS SU5HX1RPS0VOKFNUUl9EU0lQT1JUQyksIHZhbHVlPTB4MDcsDQo+IGZsYWdzPVJFU0VUX1JFUVVJ UkVEOw0KPiArDQo+ICsgIGVuZG9uZW9mOw0KPiArICAvLw0KPiArICAvL1Bhbm5lbCBTY2FsaW5n DQo+ICsgIC8vDQo+ICsgIG9uZW9mICAgdmFyaWQgICA9IFNldHVwLlBhbmVsU2NhbGluZywNCj4g KyAgICBwcm9tcHQgICAgICA9IFNUUklOR19UT0tFTihTVFJfUEFOTkVMX1NDQUxJTkdfUFJPTVBU KSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19UT0tFTihTVFJfUEFOTkVMX1NDQUxJTkdf SEVMUCksDQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0FVVE9NQVRJQyks IHZhbHVlPTB4MDAsDQo+IGZsYWdzPURFRkFVTFQgfCBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICBv cHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfUEFOTkVMX1NDQUxJTkdfU1RSRVRDSCksDQo+ IHZhbHVlPTB4MDEsIGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOKFNUUl9QQU5ORUxfU0NBTElOR19DRU5URVIpLA0KPiB2YWx1ZT0weDAyLCBm bGFncz1SRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly9HTUNIIEJMQyBDb250cm9sDQo+ICsgIC8vDQo+ICsgIG9uZW9mICAgdmFyaWQgICA9IFNldHVw LklnZExjZElHbWNoQmxjLA0KPiArICAgIHByb21wdCAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9W SURFT19MQ0RfSUdNQ0hCTENfUFJPTVBUKSwNCj4gKyAgICBoZWxwICAgICAgICA9IFNUUklOR19U T0tFTihTVFJfVklERU9fTENEX0lHTUNIQkxDX0hFTFApLA0KPiArICAgIG9wdGlvbiB0ZXh0ID0g U1RSSU5HX1RPS0VOKFNUUl9WSURFT19MQ0RfSUdNQ0hCTEMxKSwgdmFsdWU9MHgwMCwNCj4gZmxh Z3M9REVGQVVMVCB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9WSURFT19MQ0RfSUdNQ0hCTEMyKSwgdmFsdWU9MHgwMSwNCj4gZmxhZ3M9UkVT RVRfUkVRVUlSRUQ7DQo+ICsgICAgb3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX1ZJREVP X0xDRF9JR01DSEJMQzMpLCB2YWx1ZT0weDAyLA0KPiBmbGFncz1SRVNFVF9SRVFVSVJFRDsNCj4g KyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfVklERU9fTENEX0lHTUNIQkxDNCks IHZhbHVlPTB4MDMsDQo+IGZsYWdzPVJFU0VUX1JFUVVJUkVEOw0KPiArICBlbmRvbmVvZjsNCj4g Kw0KPiArICBzdWJ0aXRsZSB0ZXh0ID0gU1RSSU5HX1RPS0VOKFNUUl9OVUxMX1NUUklORyk7DQo+ ICsgIC8vDQo+ICsgIC8vSVNQIENvbmZpZ3VyYXRpb24NCj4gKyAgLy8NCj4gKyAgc3VidGl0bGUg dGV4dCA9IFNUUklOR19UT0tFTihTVFJfSVNQX0NPTkZJR1VSQVRJT05fVElUTEUpOw0KPiArDQo+ ICsgIG9uZW9mIHZhcmlkICAgPSBTZXR1cC5JU1BFbiwNCj4gKyAgICBwcm9tcHQgICAgICA9IFNU UklOR19UT0tFTihTVFJfSVNQX0VOQUJMRUQpLA0KPiArICAgIGhlbHAgICAgICAgID0gU1RSSU5H X1RPS0VOKFNUUl9JU1BfRU5BQkxFRF9IRUxQKSwNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklO R19UT0tFTihTVFJfRU5BQkxFKSwgdmFsdWUgPSAxLCBmbGFncyA9IERFRkFVTFQgfA0KPiBSRVNF VF9SRVFVSVJFRDsNCj4gKyAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJM RSksIHZhbHVlID0gMCwgZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgZW5kb25lb2Y7 DQo+ICsNCj4gKyAgZ3JheW91dGlmIGlkZXF2YWwgU2V0dXAuSVNQRW4gPT0gMDsNCj4gKyAgICBv bmVvZiB2YXJpZCAgPSBTZXR1cC5JU1BEZXZTZWwsDQo+ICsgICAgICBwcm9tcHQgICA9IFNUUklO R19UT0tFTiAoU1RSX0lTUF9QQ0lDT05GSUdVUkFUSU9OX1RJVExFKSwNCj4gKyAgICAgIGhlbHAg ICAgID0gU1RSSU5HX1RPS0VOIChTVFJfSVNQX1BDSUNPTkZJR1VSQVRJT05fSEVMUCksDQo+ICsg ICAgICBvcHRpb24gdGV4dCA9IFNUUklOR19UT0tFTihTVFJfRElTQUJMRSksIHZhbHVlID0gMCwg ZmxhZ3MgPQ0KPiBSRVNFVF9SRVFVSVJFRDsNCj4gKyAgICAgIG9wdGlvbiB0ZXh0ID0gU1RSSU5H X1RPS0VOKFNUUl9JU1BfUENJQ09ORklHX0IwRDJGMF9USVRMRSksDQo+IHZhbHVlID0gMSwgZmxh Z3MgPSBNQU5VRkFDVFVSSU5HIHwgREVGQVVMVCB8IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgICAg b3B0aW9uIHRleHQgPSBTVFJJTkdfVE9LRU4oU1RSX0lTUF9QQ0lDT05GSUdfQjBEM0YwX1RJVExF KSwNCj4gdmFsdWUgPSAyLCBmbGFncyA9IFJFU0VUX1JFUVVJUkVEOw0KPiArICAgZW5kb25lb2Y7 DQo+ICsgIGVuZGlmOw0KPiArDQo+ICtlbmRmb3JtOw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TZXR1cER4ZS9VcWlMaXN0LnVuaQ0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVXFpTGlz dC51bmkNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNTA0NTM5 YTAyZg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVXFpTGlzdC51bmkNCj4gQEAgLTAsMCArMSw0NTIgQEAN Cj4gKy8vIC8qKiBAZmlsZQ0KPiArLy8NCj4gKy8vIENvcHlyaWdodCAoYykgMjAxMyAtIDIwMTYg SW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKy8vIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsvLw0KPiArLy8NCj4gKy8vIE1v ZHVsZSBOYW1lOg0KPiArLy8NCj4gKy8vICAgVXFpTGlzdC51bmkNCj4gKy8vDQo+ICsvLyBBYnN0 cmFjdDoNCj4gKy8vDQo+ICsvLyAgIFVRSSAoVW5pdmVyc2FsIFF1ZXN0aW9uIElkZW50aWZpZXIp IGFsbG9jYXRpb24gZm9yIHNldHVwIG9wdGlvbnMuDQo+ICsvLw0KPiArLy8gICBUaGlzIGZpbGUg c2hvdWxkIGRlZmluZSBVUUlzIGluIHRoZSBmb2xsb3dpbmcgcmFuZ2Ugb25seTogWzB4MDAwMC4u LjB4N0ZGRl0NCj4gKy8vDQo+ICsvLyAqKi8NCj4gKw0KPiArLz0jDQo+ICsNCj4gKy8vLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLQ0KPiArLy8NCj4gKy8vICAgUHVycG9zZTogVGhlIHRyYW5zbGF0aW9ucyBp biB0aGlzIGZpbGUgYXJlIGludGVuZGVkIHRvIGJlIGdsb2JhbGx5DQo+ICsvLyAgIGNvbnNpc3Rl bnQuICBBbGwgcHJvZHVjdHMgc2hvdWxkIHVzZSB0aGUgc2FtZSB0cmFuc2xhdGlvbiBmb3IgdGhl DQo+ICsvLyAgIHNhbWUgZnVuY3Rpb25hbCBxdWVzdGlvbi4NCj4gKy8vDQo+ICsvLyAgIFVzYWdl Og0KPiArLy8NCj4gKy8vICAgMS4gRE8gTk9UIE9WRVJSSURFIFRISVMgRklMRSENCj4gKy8vICAg ICAgVGhlIHRyYW5zbGF0aW9ucyBpbiB0aGlzIGZpbGUgc2hvdWxkIGJlIGdsb2JhbGx5IGNvbnNp c3RlbnQgYWNyb3NzDQo+ICsvLyAgICAgIGFsbCBvZiBvdXIgcHJvZHVjdHMuDQo+ICsvLw0KPiAr Ly8gICAyLiBOZXZlciBkZWxldGUgdG9rZW5zIGZyb20gdGhpcyBmaWxlDQo+ICsvLw0KPiArLy8g ICAzLiBXaGVuIGFkZGluZyBhIG5ldyBxdWVzdGlvbjoNCj4gKy8vDQo+ICsvLyAgICAgICogQWx3 YXlzIGRvIGEgdGhvcm91Z2ggY2hlY2sgb2YgdGhlIHRva2VucyBiZWxvdyB0byBkZXRlcm1pbmUg aWYNCj4gKy8vICAgICAgICBhIHF1ZXN0aW9uIGlzIGFscmVhZHkgcmVwcmVzZW50ZWQuICBUaGlz IGlzIGltcG9ydGFudCwgYmVjYXVzZQ0KPiArLy8gICAgICAgIHdlIHdhbnQgdG8gZ2VuZXJhdGUg c2NyaXB0cyBiYXNlZCBvbiB0aGVzZSB0b2tlbnMgd2hpY2ggd2lsbA0KPiArLy8gICAgICAgIHdv cmsgb24gb3VyIGVudGlyZSBwcm9kdWN0IGxpbmUuDQo+ICsvLw0KPiArLy8gICAgICAqIEFsd2F5 cyBjaG9vc2UgdGhlIGZpcnN0IGF2YWlsYWJsZSBuZXcgdG9rZW4gbnVtYmVyIGZvciB5b3VyDQo+ ICsvLyAgICAgICAgbmV3IHRva2VuLiAgRG8gbm90IHdvcnJ5IGFib3V0ICJncm91cGluZyIgeW91 ciBxdWVzdGlvbnMNCj4gKy8vICAgICAgICB0b2dldGhlci4gIFRoYXQgZ29hbCB3aWxsIG9ubHkg bWFrZSBpdCBtb3JlIGRpZmZpY3VsdCB0byBtYW5hZ2UNCj4gKy8vICAgICAgICB0aGUgdG9rZW4g bnVtYmVyaW5nLiAgQWx3YXlzIGFkZCB5b3VyIG5ldyB0b2tlbiB0byB0aGUgY29ycmVjdA0KPiAr Ly8gICAgICAgIHBsYWNlIHRvIHByZXNlcnZlIG51bWVyaWNhbCBvcmRlcmluZy4gIFRoaXMgbWFr ZXMgaXQgZWFzeSB0bw0KPiArLy8gICAgICAgIGRldGVybWluZSB3aGljaCB0b2tlbiBzaG91bGQg YmUgdXNlZCBuZXh0Lg0KPiArLy8NCj4gKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQ0KPiArDQo+ICsj bGFuZ2RlZiB1cWkgInVxaSINCj4gKw0KPiArLy8NCj4gKy8vIEtlZXAgaW4gbnVtZXJpY2FsIG9y ZGVyIHRvIHByZXZlbnQgdG9rZW4gcmV1c2UNCj4gKy8vDQo+ICsjc3RyaW5nIFNUUl9GQVNUX0JP T1RfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAw MDEiDQo+ICsjc3RyaW5nIFNUUl9NRU1PUllfQ0hFQ0tfU0VUVVAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMDIiDQo+ICsjc3RyaW5nIFNUUl9OVU1fQVVUT19C T09UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMDMi DQo+ICsjc3RyaW5nIFNUUl9MT0FEX09QVElPTl9GT1JDRV9SRUNPTiAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDAwNCINCj4gKyNzdHJpbmcgU1RSX09ORV9PRl9QUk9N UFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDAwNSIN Cj4gKyNzdHJpbmcgU1RSX0NIRUNLX0JPWF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIHVxaSAgIlx4MDAwNiINCj4gKyNzdHJpbmcgU1RSX1RFU1RfT1BDT0RFICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDAwNyINCj4g KyNzdHJpbmcgU1RSX1RFU1RfT1BDT0RFMiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaSAgIlx4MDAwOCINCj4gKyNzdHJpbmcgU1RSX0VSUk9SX1BPUFVQICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDAwOSINCj4gKyNz dHJpbmcgU1RSX05VTUVSSUNfUkVBRE9OTFlfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIHVxaQ0KPiAiXHgwMDBBIg0KPiArI3N0cmluZyBTVFJfTlVNRVJJQ19NQU5VQUxfUFJP TVBUICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAwMEIiDQo+ICsj c3RyaW5nIFNUUl9UQUxMX0hFWF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwMEMiDQo+ICsjc3RyaW5nIFNUUl9OQU1FX1ZBTFVFX1ZBUl9OQU1F MCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDAwRCINCj4gKyNz dHJpbmcgU1RSX05BTUVfVkFMVUVfVkFSX05BTUUxICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIHVxaQ0KPiAiXHgwMDBFIg0KPiArI3N0cmluZyBTVFJfTlVNRVJJQ19TVEVQX1BST01Q VCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMDBGIg0KPiArI3N0 cmluZyBTVFJfREVGQVVMVF9WQUxVRV9GUk9NX0FDQ0VTU19QUk9NUFQgICAgICAgICAgICAjbGFu Z3VhZ2UgdXFpDQo+ICJceDAwMTAiDQo+ICsjc3RyaW5nIFNUUl9ERUZBVUxUX1ZBTFVFX0ZST01f Q0FMTEJBQ0tfUFJPTVBUICAgICAgICAgICNsYW5ndWFnZQ0KPiB1cWkgICJceDAwMTEiDQo+ICsj c3RyaW5nIFNUUl9TRVJJQUxfUE9SVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwMTIiDQo+ICsjc3RyaW5nIFNUUl9TRVJJQUxfUE9SVF9TVEFUVVMg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMTMiDQo+ICsjc3Ry aW5nIFNUUl9TRVJJQUxfUE9SVF9JT19BRERSRVNTICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkgICJceDAwMTQiDQo+ICsjc3RyaW5nIFNUUl9TRVJJQUxfUE9SVF9JUlEgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMTUiDQo+ICsjc3RyaW5n IFNUUl9URVhUX1JFRlJFU0hfR1VJRF9DT1VOVCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSB1cWkNCj4gIlx4MDAxNiINCj4gKyNzdHJpbmcgU1RSX0lQNF9DT05GSUdVUkUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDAxNyINCj4gKyNzdHJpbmcg U1RSX0lQNF9FTkFCTEVfREhDUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IHVxaSAgIlx4MDAxOCINCj4gKyNzdHJpbmcgU1RSX0lTQ1NJX0RFVklDRV9FTkFCTEUgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDAxOSINCj4gKyNzdHJpbmcgU1RS X0lTQ1NJX0VOQUJMRV9ESENQICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVx aSAgIlx4MDAxQSINCj4gKyNzdHJpbmcgU1RSX0lTQ1NJX0VOQUJMRV9ESENQX09OX1RBUkdFVCAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMDFCIg0KPiArI3N0cmluZyBTVFJf SVNDU0lfVEFSR0VUX1BPUlQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFp ICAiXHgwMDFDIg0KPiArI3N0cmluZyBTVFJfQ0hBUF9UWVBFX1BST01QVCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMDFEIg0KPiArI3N0cmluZyBTVFJfVkxB Tl9WSURfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAi XHgwMDFFIg0KPiArI3N0cmluZyBTVFJfVkxBTl9QUklPUklUWV9QUk9NUFQgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMDFGIg0KPiArI3N0cmluZyBTVFJfUENJX0RF VklDRV9GSUxURVJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgw MDIwIg0KPiArI3N0cmluZyBTVFJfSVA2X0RBRF9UUkFOU01JVF9DT1VOVCAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAwMjEiDQo+ICsjc3RyaW5nIFNUUl9QT0xJQ1lf VFlQRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAw MjIiDQo+ICsjc3RyaW5nIFNUUl9JU0NTSV9NT0RFX1BST01QVCAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMjMiDQo+ICsjc3RyaW5nIFNUUl9JUF9NT0RFX1BS T01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMjQi DQo+ICsjc3RyaW5nIFNUUl9JU0NTSV9DT05GSUdfUkVUUlkgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkgICJceDAwMjUiDQo+ICsjc3RyaW5nIFNUUl9JU0NTSV9DT05GSUdf VElNRU9VVCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMjYiDQo+ ICsjc3RyaW5nIFNUUl9BVVRIRU5fVFlQRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAwMjciDQo+ICsjc3RyaW5nIFNUUl9OVUxMICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMjgiDQo+ICsj c3RyaW5nIFNUUl9ISURFX1RQTV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwMjkiDQo+ICsjc3RyaW5nIFNUUl9UUE1fT1BFUkFUSU9OICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMkEiDQo+ICsjc3Ry aW5nIFNUUl9NT1JfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkgICJceDAwMkIiDQo+ICsjc3RyaW5nIFNUUl9TRUNVUkVfQk9PVF9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMkMiDQo+ICsjc3RyaW5n IFNUUl9VU0JfU1VQUE9SVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSB1cWkgICJceDAwMkQiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTEVHQUNZX1NVUFBPUlQgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMkUiDQo+ICsjc3RyaW5nIFNU Ul9VU0JfWEhDSV9TVVBQT1JUICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1 cWkgICJceDAwMkYiDQo+ICsjc3RyaW5nIFNUUl9VU0JfQklPU19YSENJX0hBTkRPRkYgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMzAiDQo+ICsjc3RyaW5nIFNUUl9V U0JfQklPU19FSENJX0hBTkRPRkYgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkg ICJceDAwMzEiDQo+ICsjc3RyaW5nIFNUUl9VU0JfNjA2NCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMzIiDQo+ICsjc3RyaW5nIFNUUl9VU0Jf SE9UUExVR19GREQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJc eDAwMzMiDQo+ICsjc3RyaW5nIFNUUl9VU0JfSE9UUExVR19IREQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMzQiDQo+ICsjc3RyaW5nIFNUUl9VU0JfSE9U UExVR19DRFJPTSAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAw MzUiDQo+ICsjc3RyaW5nIFNUUl9VU0JfQ09OVFJPTF9USU1FX09VVCAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMzYiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19S RVNFVF9ERUxBWSAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMzci DQo+ICsjc3RyaW5nIFNUUl9VU0JfUE9XRVJHT09EX0RFTEFZICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkgICJceDAwMzgiDQo+ICsjc3RyaW5nIFNUUl9VU0JfREVMQVlfTlVN X1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwMzkiDQo+ ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0UxICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAwM0EiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0Uy ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwM0IiDQo+ICsj c3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0UzICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwM0MiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0U0ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwM0QiDQo+ICsjc3Ry aW5nIFNUUl9VU0JfTUFTU19ERVZJQ0U1ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkgICJceDAwM0UiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0U2ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwM0YiDQo+ICsjc3RyaW5n IFNUUl9VU0JfTUFTU19ERVZJQ0U3ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSB1cWkgICJceDAwNDAiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0U4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNDEiDQo+ICsjc3RyaW5nIFNU Ul9VU0JfTUFTU19ERVZJQ0U5ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1 cWkgICJceDAwNDIiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0UxMCAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNDMiDQo+ICsjc3RyaW5nIFNUUl9V U0JfTUFTU19ERVZJQ0UxMSAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkg ICJceDAwNDQiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0UxMiAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNDUiDQo+ICsjc3RyaW5nIFNUUl9VU0Jf TUFTU19ERVZJQ0UxMyAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJc eDAwNDYiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0UxNCAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNDciDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFT U19ERVZJQ0UxNSAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAw NDgiDQo+ICsjc3RyaW5nIFNUUl9VU0JfTUFTU19ERVZJQ0UxNiAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNDkiDQo+ICsjc3RyaW5nIFNUUl9TRUNVUklUWV9C T09UX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNEEi DQo+ICsjc3RyaW5nIFNUUl9RVUlFVEJPT1RfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkgICJceDAwNEIiDQo+ICsjc3RyaW5nIFNUUl9MT0dfQk9PVF9USU1F X1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNEMiDQo+ ICsjc3RyaW5nIFNUUl9FWEVDVVRFX0RJU0FCTEVfQklUX1BST01QVCAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkNCj4gIlx4MDA0RCINCj4gKyNzdHJpbmcgU1RSX0xJTUlUX0NQVUlEX01B WF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMDRFIg0K PiArI3N0cmluZyBTVFJfUFJPQ19IT1RfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgdXFpICAiXHgwMDRGIg0KPiArI3N0cmluZyBTVFJfVlRYMl9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMDUwIg0KPiAr I3N0cmluZyBTVFJfQ09SRV9GUkVfTVVMVElQX1NFTEVDVF9QUk9NUFQgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgdXFpDQo+ICJceDAwNTEiDQo+ICsjc3RyaW5nIFNUUl9UTTFfUFJPTVBUICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNTIiDQo+ICsj c3RyaW5nIFNUUl9UTTJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwNTMiDQo+ICsjc3RyaW5nIFNUUl9EVFNfUFJPTVBUICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwNTQiDQo+ICsjc3Ry aW5nIFNUUl9BQ1RJVkVfUFJPQ0VTU09SX0NPUkVTX1BST01QVCAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkNCj4gIlx4MDA1NSINCj4gKyNzdHJpbmcgU1RSX0NQVV9JU1RfUFJPTVBUICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA1NiINCj4gKyNzdHJp bmcgU1RSX0JPT1RfUF9TVEFURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIHVxaSAgIlx4MDA1NyINCj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9UVVJCT19NT0RFICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA1OCINCj4gKyNzdHJpbmcg U1RSX0NTVEFURV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IHVxaSAgIlx4MDA1OSINCj4gKyNzdHJpbmcgU1RSX0NYRV9QUk9NUFQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA1QSINCj4gKyNzdHJpbmcgU1RS X0hBUkRDNEVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVx aSAgIlx4MDA1QiINCj4gKyNzdHJpbmcgU1RSX01BWF9DX1NUQVRFX1NVUFBPUlRfUFJPTVBUICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMDVDIg0KPiArI3N0cmluZyBTVFJf UFBNX0M0X0VYSVRfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFp ICAiXHgwMDVEIg0KPiArI3N0cmluZyBTVFJfQ1hfUE9QRE9XTl9QUk9NUFQgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMDVFIg0KPiArI3N0cmluZyBTVFJfQ1hf UE9QVVBfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAi XHgwMDVGIg0KPiArI3N0cmluZyBTVFJfU0VDX1NFVFRJTkdfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMDYwIg0KPiArI3N0cmluZyBTVFJfU0VDX0ZM QVNIX1VQREFURV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJc eDAwNjEiDQo+ICsjc3RyaW5nIFNUUl9TRUNfRklSTVdBUkVfVVBEQVRFX1BST01QVCAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDA2MiINCj4gKyNzdHJpbmcgU1RSX0ZJUk1X QVJFX1RQTV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4 MDA2MyINCj4gKyNzdHJpbmcgU1RSX1RQTV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA2NCINCj4gKyNzdHJpbmcgU1RSX1REVF9DT05G SUdfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA2 NSINCj4gKyNzdHJpbmcgU1RSX1REVF9SRUNPVkVSWV9QUk9NUFQgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA2NiINCj4gKyNzdHJpbmcgU1RSX1REVF9TVVNQRU5E X1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA2NyIN Cj4gKyNzdHJpbmcgU1RSX0lDSF9QQ0lFUlAxX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA2OCINCj4gKyNzdHJpbmcgU1RSX0lDSF9QQ0lFUlAyX1BS T01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA2OSINCj4g KyNzdHJpbmcgU1RSX0lDSF9QQ0lFUlAzX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaSAgIlx4MDA2QSINCj4gKyNzdHJpbmcgU1RSX0lDSF9QQ0lFUlA0X1BST01Q VCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA2QiINCj4gKyNz dHJpbmcgU1RSX1VTQl9ERUJVR19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIHVxaSAgIlx4MDA2QyINCj4gKyNzdHJpbmcgU1RSX1VTQl9YSENJX1NVUFBPUlRfUFJP TVBUICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMDZEIg0KPiArI3N0 cmluZyBTVFJfUENIX1VTQjIxX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgdXFpICAiXHgwMDZFIg0KPiArI3N0cmluZyBTVFJfUENIX1VTQjMwX01PREVfUFJPTVBU ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAwNkYiDQo+ICsjc3Ry aW5nIFNUUl9QQ0hfVVNCMzBfU1RSRUFNUyAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkgICJceDAwNzAiDQo+ICsjc3RyaW5nIFNUUl9QQ0hfVVNCX1BFUl9QT1JUX1BST01Q VCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDA3MSINCj4gKyNzdHJp bmcgU1RSX1BDSF9VU0JfUE9SVDBfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIHVxaSAgIlx4MDA3MiINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9SVDFfUFJPTVBUICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA3MyINCj4gKyNzdHJpbmcg U1RSX1BDSF9VU0JfUE9SVDJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IHVxaSAgIlx4MDA3NCINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9SVDNfUFJPTVBUICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA3NSINCj4gKyNzdHJpbmcgU1RS X1BDSF9VU0JSTUhfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVx aSAgIlx4MDA3NiINCj4gKyNzdHJpbmcgU1RSX1NBVEFfUFJPTVBUICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA3NyINCj4gKyNzdHJpbmcgU1RSX1NB VEFfVFlQRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAg Ilx4MDA3OCINCj4gKyNzdHJpbmcgU1RSX1NBVEEwX0hPVFBMVUdfQ0FQX1BST01QVCAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMDc5Ig0KPiArI3N0cmluZyBTVFJfU0FU QTFfSE9UUExVR19DQVBfUFJPTVBUICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ ICJceDAwN0EiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0VNTUNfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwN0IiDQo+ICsjc3RyaW5nIFNUUl9MUFNT X1NESU9fUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJc eDAwN0MiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX1NEQ0FSRF9QUk9NUFQgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwN0QiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0RN QV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAw N0UiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0kyQzFfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwN0YiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0kyQzJf UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwODAi DQo+ICsjc3RyaW5nIFNUUl9MUFNTX1BDTV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkgICJceDAwODEiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0kyU19QUk9N UFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwODIiDQo+ ICsjc3RyaW5nIFNUUl9MUFNTX0hTVUFSVDFfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAwODMiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0hTVUFSVDJfUFJP TVBUICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwODQiDQo+ICsj c3RyaW5nIFNUUl9MUFNTX1NQSV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwODUiDQo+ICsjc3RyaW5nIFNUUl9QQ0hfTEFOX0NPTlRST0xMRVIg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwODYiDQo+ICsjc3Ry aW5nIFNUUl9QQ0hfTEFOX1dPTF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkgICJceDAwODciDQo+ICsjc3RyaW5nIFNUUl9QQ0hfU0xQX0xBTl9MT1dfRENfUFJP TVBUICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDA4OCINCj4gKyNzdHJp bmcgU1RSX1BDSF9QWEVST01fQ09OVFJPTCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIHVxaSAgIlx4MDA4OSINCj4gKyNzdHJpbmcgU1RSX0xQRV9QUk9NUFQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA4QSINCj4gKyNzdHJpbmcg U1RSX1BDSF9BWkFMSUFfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IHVxaSAgIlx4MDA4QiINCj4gKyNzdHJpbmcgU1RSX0FaQUxJQV9WQ19QUk9NUFQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA4QyINCj4gKyNzdHJpbmcgU1RS X0FaQUxJQV9EU19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVx aSAgIlx4MDA4RCINCj4gKyNzdHJpbmcgU1RSX0FaQUxJQV9QTUVfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA4RSINCj4gKyNzdHJpbmcgU1RSX0hE TUlfQ09ERUNfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAg Ilx4MDA4RiINCj4gKyNzdHJpbmcgU1RSX0hQRVRfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA5MCINCj4gKyNzdHJpbmcgU1RSX0hQRVRf Qk9PVFRJTUVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4 MDA5MSINCj4gKyNzdHJpbmcgU1RSX1NUQVRFX0FGVEVSX0czICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA5MiINCj4gKyNzdHJpbmcgU1RSX1BDSF9VQVJU X1NFTEVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA5 MyINCj4gKyNzdHJpbmcgU1RSX1BDVV9VQVJUX0EgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA5NCINCj4gKyNzdHJpbmcgU1RSX1BDVV9VQVJUX0Ig ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDA5NSIN Cj4gKyNzdHJpbmcgU1RSX0FDUElfQ1JJVElDQUxfVEhFUk1BTF9UUklQX1BPSU5UICAgICAgICAg ICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMDk2Ig0KPiArI3N0cmluZyBTVFJfQUNQSV9QQVNTSVZF X1RIRVJNQUxfVFJJUF9QT0lOVCAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAwOTci DQo+ICsjc3RyaW5nIFNUUl9BQ1BJX1BBU1NJVkVfVEMxX1ZBTFVFICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkgICJceDAwOTgiDQo+ICsjc3RyaW5nIFNUUl9BQ1BJX1BBU1NJVkVf VEMyX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwOTkiDQo+ ICsjc3RyaW5nIFNUUl9BQ1BJX1BBU1NJVkVfVFNQX1ZBTFVFICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAwOUEiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1BST01QVCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwOUIiDQo+ICsj c3RyaW5nIFNUUl9MUE1fUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwOUMiDQo+ICsjc3RyaW5nIFNUUl9DVERQX1BST01QVCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwOUQiDQo+ICsjc3Ry aW5nIFNUUl9NRU1PUllfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkgICJceDAwOUUiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0FDVElWRV9UUklQX1BPSU5U X1BST01QVCAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDA5RiINCj4gKyNzdHJp bmcgU1RSX0RQVEZfUEFTU0lWRV9UUklQX1BPSU5UX1BST01QVCAgICAgICAgICAgICAgI2xhbmd1 YWdlIHVxaQ0KPiAiXHgwMEEwIg0KPiArI3N0cmluZyBTVFJfU0tJTl9TRU5TT1JfUFJPTVBUICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEExIg0KPiArI3N0cmlu ZyBTVFJfUENIX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgdXFpICAiXHgwMEEyIg0KPiArI3N0cmluZyBTVFJfUFJJTUFSWV9ESVNQTEFZICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEEzIg0KPiArI3N0cmluZyBT VFJfVklERU9fUlMyX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug dXFpICAiXHgwMEE0Ig0KPiArI3N0cmluZyBTVFJfRFZNVDQwX1BSRV9BTExPQyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEE1Ig0KPiArI3N0cmluZyBTVFJf R0ZYX0JPT1NUX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFp ICAiXHgwMEE2Ig0KPiArI3N0cmluZyBTVFJfSUdEX1RIRVJNQUxfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEE3Ig0KPiArI3N0cmluZyBTVFJfU1BS RUFEX1NQRUNUUlVNX0NMT0NLX1BST01QVCAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ ICJceDAwQTgiDQo+ICsjc3RyaW5nIFNUUl9WSURFT19MQ0RfSUJJQSAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQTkiDQo+ICsjc3RyaW5nIFNUUl9BQ1BJ X0FMU19FTkFCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJc eDAwQUEiDQo+ICsjc3RyaW5nIFNUUl9JR0RfRkxBVF9QQU5FTF9QUk9NUFQgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQUIiDQo+ICsjc3RyaW5nIFNUUl9CT09UX0RJ U1BMQVlfREVWSUNFX1BST01QVCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4 MDBBQyINCj4gKyNzdHJpbmcgU1RSX1BBTk5FTF9TQ0FMSU5HX1BST01QVCAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMEFEIg0KPiArI3N0cmluZyBTVFJfVklERU9f TENEX0lHTUNIQkxDX1BST01QVCAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJc eDAwQUUiDQo+ICsjc3RyaW5nIFNUUl9NRU1PUllfU0NSQU1CTEVSX1BST01QVCAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDBBRiINCj4gKyNzdHJpbmcgU1RSX0NTVEFU RV9DNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4 MDBCMCINCj4gKyNzdHJpbmcgU1RSX0NTVEFURV9DNiAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBCMSINCj4gKyNzdHJpbmcgU1RSX1NFQ19FT1Bf UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBC MiINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9SVDRfUFJPTVBUICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBCMyINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9S VDVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBCNCIN Cj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9SVDZfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBCNSINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9SVDdf UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBCNiINCj4g KyNzdHJpbmcgU1RSX0hETUlfQ09ERUNfUE9SVEJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaQ0KPiAiXHgwMEI3Ig0KPiArI3N0cmluZyBTVFJfSERNSV9DT0RFQ19QT1JU Q19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAwQjgiDQo+ ICsjc3RyaW5nIFNUUl9IRE1JX0NPREVDX1BPUlREX1BST01QVCAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkNCj4gIlx4MDBCOSINCj4gKyNzdHJpbmcgU1RSX0NPTlZFUlRfQk9BUkRf U0VMRUNUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBCQSINCj4g KyNzdHJpbmcgU1RSX0RQVEZfQ0xQTV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaSAgIlx4MDBCQiINCj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9EUFRGX1BS T01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMEJDIg0KPiAr I3N0cmluZyBTVFJfRFBURl9TWVNUSEVSTTBfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgdXFpDQo+ICJceDAwQkQiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1NZU1RIRVJNMV9Q Uk9NUFQgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQkUiDQo+ICsj c3RyaW5nIFNUUl9EUFRGX1NZU1RIRVJNMl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSB1cWkgICJceDAwQkYiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1NZU1RIRVJNM19QUk9N UFQgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQzAiDQo+ICsjc3Ry aW5nIFNUUl9EUFRGX0NIQVJHRVJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSB1cWkgICJceDAwQzEiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0RJU1BMQVlfUFJPTVBUICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQzIiDQo+ICsjc3RyaW5n IFNUUl9EUFRGX1NPQ19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSB1cWkgICJceDAwQzMiDQo+ICsjc3RyaW5nIFNUUl9HT1BfVkJJT1NfU1dJVENIICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQzQiDQo+ICsjc3RyaW5nIFNU Ul9QQVZDX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1 cWkgICJceDAwQzUiDQo+ICsjc3RyaW5nIFNUUl9HVFRfU0laRSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQzYiDQo+ICsjc3RyaW5nIFNUUl9B UEVSVFVSRV9TSVpFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkg ICJceDAwQzciDQo+ICsjc3RyaW5nIFNUUl9EVk1UNTBfUFJFX0FMTE9DICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwQzgiDQo+ICsjc3RyaW5nIFNUUl9GT1JD RV9MSURfU1RBVFVTX1BST01QVCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4g Ilx4MDBDOSINCj4gKyNzdHJpbmcgU1RSX1RSRUVfREVWSUNFX1BST01QVCAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBDQSINCj4gKyNzdHJpbmcgU1RSX1RQTTJf UkVWT0tFX1RSVVNUX1BST01QVCAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAi XHgwMENCIg0KPiArI3N0cmluZyBTVFJfUENIX1VTQl9PVEdfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMENDIg0KPiArI3N0cmluZyBTVFJfTFBTU19Q Q0lfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgw MENEIg0KPiArI3N0cmluZyBTVFJfU0NDX0VNTUNfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMENFIg0KPiArI3N0cmluZyBTVFJfU0NDX1NESU9f UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMENG Ig0KPiArI3N0cmluZyBTVFJfU0NDX1NEQ0FSRF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEQwIg0KPiArI3N0cmluZyBTVFJfTUlQSV9IU0lfUFJP TVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEQxIg0K PiArI3N0cmluZyBTVFJfTFBTU19ETUExX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEQyIg0KPiArI3N0cmluZyBTVFJfTFBTU19ETUEyX1BST01Q VCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEQzIg0KPiAr I3N0cmluZyBTVFJfTFBTU19JMkMzX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgdXFpICAiXHgwMEQ0Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMkM0X1BST01QVCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEQ1Ig0KPiArI3N0 cmluZyBTVFJfTFBTU19JMkM1X1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgdXFpICAiXHgwMEQ2Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMkM2X1BST01QVCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEQ3Ig0KPiArI3N0cmlu ZyBTVFJfTFBTU19JMkM3X1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgdXFpICAiXHgwMEQ4Ig0KPiArI3N0cmluZyBTVFJfUFdNMV9QUk9NUFQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEQ5Ig0KPiArI3N0cmluZyBT VFJfUFdNMl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug dXFpICAiXHgwMERBIg0KPiArI3N0cmluZyBTVFJfTFBTU19MUEVfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMERCIg0KPiArI3N0cmluZyBTVFJf UE1JQ19BQ1BJX09CSkVDVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFp DQo+ICJceDAwREMiDQo+ICsjc3RyaW5nIFNUUl9TMElYX1BST01QVCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwREQiDQo+ICsjc3RyaW5nIFNUUl9E UFRGX0NSSVRJQ0FMX1RFTVAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkg ICJceDAwREUiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1BBU1NJVkVfVEVNUCAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwREYiDQo+ICsjc3RyaW5nIFNUUl9EUFRG X1NEQkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJc eDAwRTAiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE8gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwRTEiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NM UE9fU1RBUlRfUElOREVYICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAw RTIiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE9fU1RFUF9TSVpFICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwRTMiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE9f UFdSX0NUUkwgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwRTQi DQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE9fUEVSRl9DVFJMICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkgICJceDAwRTUiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0RQUE0gICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAwRTYiDQo+ ICsjc3RyaW5nIFNUUl9JU1BfRU5BQkxFRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAwRTciDQo+ICsjc3RyaW5nIFNUUl9JU1BfUENJQ09ORklHVVJB VElPTl9USVRMRSAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDBFOCINCj4g KyNzdHJpbmcgU1RSX0lHRF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaSAgIlx4MDBFOSINCj4gKyNzdHJpbmcgU1RSX1BOUF9TRVRUSU5HX1BST01Q VCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBFQSINCj4gKyNz dHJpbmcgU1RSX0RQVEZfU1lTVEhFUk00X1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIHVxaSAgIlx4MDBFQiINCj4gKyNzdHJpbmcgU1RSX0FDUElNRU1EQkdfU1dUSUNIICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBFQyINCj4gKyNzdHJp bmcgU1RSX1NFQ1VSRV9CT09UICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIHVxaSAgIlx4MDBFRCINCj4gKyNzdHJpbmcgU1RSX1NFQ1VSRV9CT09UX01PREUgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBFRSINCj4gKyNzdHJpbmcg U1RSX1BDSUVfU1BFRURfUFJPTVBUMCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IHVxaSAgIlx4MDBFRiINCj4gKyNzdHJpbmcgU1RSX1BDSUVfU1BFRURfUFJPTVBUMSAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBGMCINCj4gKyNzdHJpbmcgU1RS X1BDSUVfU1BFRURfUFJPTVBUMiAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVx aSAgIlx4MDBGMSINCj4gKyNzdHJpbmcgU1RSX1BDSUVfU1BFRURfUFJPTVBUMyAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBGMiINCj4gKyNzdHJpbmcgU1RSX1NB VEFfVEVTVF9NT0RFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0K PiAiXHgwMEYzIg0KPiArI3N0cmluZyBTVFJfQ0xPQ0tfU1BSRUFEX1NQRUNfRU5BQkxFICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAwRjQiDQo+ICsjc3RyaW5nIFNUUl9C QVRURVJZX0FDUElfT0JKRUNUX1BST01QVCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkN Cj4gIlx4MDBGNSINCj4gKyNzdHJpbmcgU1RSX01GR01PREUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBGNiINCj4gKyNzdHJpbmcgU1RSX1BD SF9VU0JfVkJVU19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAg Ilx4MDBGNyINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfRUhDSURFQlVHX1BST01QVCAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMEY4Ig0KPiArI3N0cmluZyBTVFJfQ1JJ RF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAi XHgwMEY5Ig0KPiArI3N0cmluZyBTVFJfR09QX0JSSUdIVE5FU1NfTEVWRUwgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMEZBIg0KPiArI3N0cmluZyBTVFJfVUxQTUNf RldfTE9DS19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJc eDAwRkMiDQo+ICsjc3RyaW5nIFNUUl9TRUNVUkVfQk9PVF9NT0RFX1BST01QVCAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDBGRCINCj4gKyNzdHJpbmcgU1RSX0RFTEVU RV9QSyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4 MDBGRSINCj4gKyNzdHJpbmcgU1RSX0kyQ19UT1VDSF9QUk9NUFQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDBGRiINCj4gKyNzdHJpbmcgU1RSX1BDSF9TUElf V1BfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEw MCINCj4gKyNzdHJpbmcgU1RSX1BNV0VJR0hUU19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEwMSINCj4gKyNzdHJpbmcgU1RSX0ZPUk1fQk9PVF9D SEdfVElUTEUgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEwMiIN Cj4gKyNzdHJpbmcgU1RSX0ZPUk1fRFJWX0NIR19USVRMRSAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEwMyINCj4gKyNzdHJpbmcgU1RSX1RBTExfTUFOVUFMX1BS T01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEwNCINCj4g KyNzdHJpbmcgU1RSX05VTUVSSUNfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaSAgIlx4MDEwNSINCj4gKyNzdHJpbmcgU1RSX05VTUVSSUNfUFJPTVBUMSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEwNiINCj4gKyNz dHJpbmcgU1RSX0FDVElWRV9DT1JFX0NPVU5UX1BST01QVCAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIHVxaQ0KPiAiXHgwMTA3Ig0KPiArI3N0cmluZyBTVFJfUEJBX0NPTkZJR19QUk9NUFQg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTA4Ig0KPiArI3N0 cmluZyBTVFJfSUdEX1RVUkJPX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgdXFpICAiXHgwMTA5Ig0KPiArI3N0cmluZyBTVFJfSUdEX1RVUkJPX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTBBIg0KPiArI3N0cmlu ZyBTVFJfRUhDSV9QTExfQ0ZHX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgdXFpICAiXHgwMTBCIg0KPiArI3N0cmluZyBTVFJfRUhDSV9QTExfQ0ZHX1JURDNfRElTX0hF TFAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxMEMiDQo+ICsjc3RyaW5n IFNUUl9MTV9NRU1PUllfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSB1cWkgICJceDAxMEQiDQo+ICsjc3RyaW5nIFNUUl9QRE1fT1VUUFVUX0NPTkZJR19TV1RJQ0gg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDEwRSINCj4gKyNzdHJpbmcg U1RSX1BVSU5UX0JJT1NfQ09ORklHX0RJU1BMQVkgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IHVxaQ0KPiAiXHgwMTBGIg0KPiArI3N0cmluZyBTVFJfU0NDX1NESU9fTU9ERV9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTEwIg0KPiArI3N0cmluZyBT VFJfSVNDVF9DT05GSUdVUkFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug dXFpICAiXHgwMTExIg0KPiArI3N0cmluZyBTVFJfSVNDVF9OT1RJRklDQVRJT05fQ09OVFJPTF9Q Uk9NUFQgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxMTIiDQo+ICsjc3RyaW5nIFNU Ul9JU0NUX1dMQU5fQ09OVFJPTF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1 cWkNCj4gIlx4MDExMyINCj4gKyNzdHJpbmcgU1RSX0lTQ1RfV1dBTl9DT05UUk9MX1BST01QVCAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTE0Ig0KPiArI3N0cmluZyBT VFJfRVhJU1VQUE9SVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug dXFpICAiXHgwMTE1Ig0KPiArI3N0cmluZyBTVFJfUENIX0ZTQV9QUk9NUFQgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTE2Ig0KPiArI3N0cmluZyBTVFJf UENIX0ZTQV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFp ICAiXHgwMTE3Ig0KPiArI3N0cmluZyBTVFJfVVNCX0FVVE9fTU9ERV9QUk9NUFQgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxMTgiDQo+ICsjc3RyaW5nIFNUUl9T Q0NfRU1NQzQ1X1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkg ICJceDAxMTkiDQo+ICsjc3RyaW5nIFNUUl9TQ0NfRU1NQzQ1X0hFTFAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxMUEiDQo+ICsjc3RyaW5nIFNUUl9TQ0Nf RU1NQzQ1X0REUjUwX1BST01QVCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4g Ilx4MDExQiINCj4gKyNzdHJpbmcgU1RSX1NDQ19FTU1DNDVfRERSNTBfSEVMUCAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDExQyINCj4gKyNzdHJpbmcgU1RSX1NDQ19F TU1DNDVfSFMyMDBfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAi XHgwMTFEIg0KPiArI3N0cmluZyBTVFJfU0NDX0VNTUM0NV9IUzIwMF9IRUxQICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTFFIg0KPiArI3N0cmluZyBTVFJfU0NDX0VN TUM0NV9SRV9UVU5FX1RJTUVSX1ZBTFVFICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJc eDAxMUYiDQo+ICsjc3RyaW5nIFNUUl9TQ0NfRU1NQzQ1X1JFX1RVTkVfVElNRVJfVkFMVUVfSEVM UCAgICAgICAgICNsYW5ndWFnZQ0KPiB1cWkgICJceDAxMjAiDQo+ICsjc3RyaW5nIFNUUl9DRklP X1BOUF9TRVRUSU5HX1BST01QVCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4g Ilx4MDEyMSINCj4gKyNzdHJpbmcgU1RSX0NGSU9fUE5QX1NFVFRJTkdfSEVMUCAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEyMiINCj4gKyNzdHJpbmcgU1RSX0VNTUNf Qk9PVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4 MDEyMyINCj4gKyNzdHJpbmcgU1RSX0VNTUNfQk9PVF9IRUxQICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEyNCINCj4gKyNzdHJpbmcgU1RSX1dJVFRfUFJP TVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEy NSINCj4gKyNzdHJpbmcgU1RSX1NFQ1VSRV9CT09UX1RFU1RfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTI2Ig0KPiArI3N0cmluZyBTVFJfVFJJU1RBVEVf TFBDX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTI3 Ig0KPiArI3N0cmluZyBTVFJfRE9QX0NHX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTI4Ig0KPiArI3N0cmluZyBTVFJfUFNTX0VOQUJMRV9Q Uk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTI5Ig0K PiArI3N0cmluZyBTVFJfUFNTX0VOQUJMRV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTJBIg0KPiArI3N0cmluZyBTVFJfSVNDVF9TTEVFUF9EVVJB VElPTl9GT1JNQVQgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxMkIiDQo+ ICsjc3RyaW5nIFNUUl9JU0NUX1JGX0tJTExfU1VQUE9SVCAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAxMkMiDQo+ICsjc3RyaW5nIFNUUl9TRUNVUkVfQk9PVF9VUFBf UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDEyRCINCj4g KyNzdHJpbmcgU1RSX01FQVNVUkVEX0JPT1RfRU5BQkxFX1BST01QVCAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTJFIg0KPiArI3N0cmluZyBTVFJfTUVBU1VSRURfQk9PVF9F TkFCTEVfSEVMUCAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxMkYiDQo+ ICsjc3RyaW5nIFNUUl9QVFRfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAxMzAiDQo+ICsjc3RyaW5nIFNUUl9DSEVDS19TSEEyNTZfSEFT SF9NQVNURVJfQk9PVF9DT0RFUyAgICAgICAgICNsYW5ndWFnZQ0KPiB1cWkgICJceDAxMzEiDQo+ ICsjc3RyaW5nIFNUUl9VU0JfWEhDSV9MUE1fU1VQUE9SVF9QUk9NUFQgICAgICAjbGFuZ3VhZ2Ug dXFpICAiXHgwMTMyIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9WSVJUVUFMX0tCX1BST01QVCAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxMzUiDQo+ICsjc3RyaW5n IFNUUl9WSVJUVUFMX0tCX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSB1cWkgICJceDAxMzYiDQo+ICsjc3RyaW5nIFNUUl9UUkVFX09QRVJBVElPTiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxMzciDQo+ICsjc3RyaW5nIFNU Ul9TTFBfUzBJWF9OX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1 cWkgICJceDAxMzgiDQo+ICsjc3RyaW5nIFNUUl9TTFBfUzBJWF9OX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxMzkiDQo+ICsjc3RyaW5nIFNUUl9E UFRGX0FNQklFTlRUUklQUE9JTlRDSEFOR0VfUFJPTVBUICAgICAgICAgICNsYW5ndWFnZQ0KPiB1 cWkgICJceDAxM0EiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1RIRVJNMF9QQ0FUX1BST01QVCAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDEzQiINCj4gKyNzdHJpbmcgU1RS X0RQVEZfVEhFUk0xX1BDQVRfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVx aQ0KPiAiXHgwMTNDIg0KPiArI3N0cmluZyBTVFJfRFBURl9USEVSTTJfUENBVF9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxM0QiDQo+ICsjc3RyaW5nIFNU Ul9NTUlPX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1 cWkgICJceDAxM0UiDQo+ICsjc3RyaW5nIFNUUl9VVFNfUFJPTVBUICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDEzRiINCj4gKyNzdHJpbmcgU1RSX1VU U19IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAi XHgwMTQwIg0KPiArI3N0cmluZyBTVFJfV0xBTl9OR0ZGX0NBUkQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTQxIg0KPiArI3N0cmluZyBTVFJfV0xBTl9V SFBBTV9DQVJEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgw MTQyIg0KPiArI3N0cmluZyBTVFJfRU5BQkxFX0RCRzIgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTQzIg0KPiArI3N0cmluZyBTVFJfRFBURl9BTExP V0hJR0hFUlBFUkZPUk1BTkNFX1BST01QVCAgICAgICAgICAjbGFuZ3VhZ2UNCj4gdXFpICAiXHgw MTQ0Ig0KPiArI3N0cmluZyBTVFJfREFUUF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTQ1Ig0KPiArI3N0cmluZyBTVFJfRFBURl9PRkZM SU5JTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTQ2 Ig0KPiArI3N0cmluZyBTVFJfU0FSX1NFTlNPUl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTQ3Ig0KPiArI3N0cmluZyBTVFJfRFBURl9CUkFORF9T VFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAiXHgwMTQ4Ig0K PiArI3N0cmluZyBTVFJfQ09ERUMyNjJfRElTQUJMRURfUFJPTVBUICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxNDkiDQo+ICsjc3RyaW5nIFNUUl9DT0RFQzI2Ml9ESVNB QkxFRF9IRUxQICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNEEiDQo+ ICsNCj4gKy8vU0QgQ0FSRCBTRFIyNSBhbmQgRERSNTANCj4gKyNzdHJpbmcgU1RSX1NDQ19TRF9T RFIyNV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE0 QiINCj4gKyNzdHJpbmcgU1RSX1NDQ19TRF9TRFIyNV9IRUxQICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE0QyINCj4gKyNzdHJpbmcgU1RSX1NDQ19TRF9ERFI1 MF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE0RCIN Cj4gKyNzdHJpbmcgU1RSX1NDQ19TRF9ERFI1MF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE0RSINCj4gKyNzdHJpbmcgU1RSX1NCX1BST0ZJTEVfUFJP TVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE0RiINCj4g KyNzdHJpbmcgU1RSX1NFQ1VSRV9CT09UX1BST19LRVlfUFJPTVBUICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTUwIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9PU19TRUxFVElP Tl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNTEi DQo+ICsjc3RyaW5nIFNUUl9PU19TRUxFVElPTl9IRUxQICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkgICJceDAxNTIiDQo+ICsjc3RyaW5nIFNUUl9XSU5ET1dTICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNTMiDQo+ ICsjc3RyaW5nIFNUUl9BTkRST0lEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSB1cWkgICJceDAxNTQiDQo+ICsjc3RyaW5nIFNUUl9BRVNOSV9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNTUiDQo+ICsN Cj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDMV9IRUxQX0VOQkRUX0RFVl9MSVNUICAgICAgICAgICAg ICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTU2Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMkMyX0hF TFBfRU5CRFRfREVWX0xJU1QgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxNTci DQo+ICsjc3RyaW5nIFNUUl9MUFNTX0kyQzNfSEVMUF9FTkJEVF9ERVZfTElTVCAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDE1OCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDNF9I RUxQX0VOQkRUX0RFVl9MSVNUICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTU5 Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMkM1X0hFTFBfRU5CRFRfREVWX0xJU1QgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxNUEiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0kyQzZf SEVMUF9FTkJEVF9ERVZfTElTVCAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDE1 QiINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDN19IRUxQX0VOQkRUX0RFVl9MSVNUICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTVDIg0KPiArI3N0cmluZyBTVFJfTFBTU19IU1VB UlQxX0hFTFBfRU5CRFRfREVWX0xJU1QgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAx NUQiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0hTVUFSVDJfSEVMUF9FTkJEVF9ERVZfTElTVCAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDE1RSINCj4gKw0KPiArI3N0cmluZyBTVFJfU0VD VVJFX0VSQVNFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpICAi XHgwMTVGIg0KPiArI3N0cmluZyBTVFJfU0VDX0ZJUk1XQVJFX1dSSVRFX1BST01QVCAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxNjAiDQo+ICsNCj4gKyNzdHJpbmcgU1RS X0JPT1RfRElTUExBWV9NSVBJRFNJX1BST01QVCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVx aQ0KPiAiXHgwMTYxIg0KPiArI3N0cmluZyBTVFJfU0VDX0ZJUk1XQVJFX1RPR0dMRV9QUk9NUFQg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxNjIiDQo+ICsjc3RyaW5nIFNU Ul9QQ0lFRFlOQ0xLX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1 cWkgICJceDAxNjMiDQo+ICsjc3RyaW5nIFNUUl9QQVZQX0xJVEVfTU9ERSAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNjQiDQo+ICsjc3RyaW5nIFNUUl9Q QVZQX1NFUlBFTlRfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkg ICJceDAxNjUiDQo+ICsjc3RyaW5nIFNUUl9TQ0NfU0RDQVJEX0ZPUldJTl9QUk9NUFQgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDE2NiINCj4gKyNzdHJpbmcgU1RSX0RS T0lEQk9PVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAg Ilx4MDE2NyINCj4gKyNzdHJpbmcgU1RSX0FORFJPSURCT09UX1BST01QVCAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE2OCINCj4gKw0KPiArI3N0cmluZyBTVFJf Q1JJVElDQUxfQkFUVEVSWV9MSU1JVF9QUk9NUFQgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE2OSIN Cj4gKyNzdHJpbmcgU1RSX0NSSVRJQ0FMX0JBVFRFUllfTElNSVRfSEVMUCAgICAgICNsYW5ndWFn ZSB1cWkgICJceDAxNkEiDQo+ICsjc3RyaW5nIFNUUl9DUklUSUNBTF9CQVRURVJZX0xJTUlUX0ZF QVRVUkVfUFJPTVBUICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxNkIiDQo+ICsjc3RyaW5nIFNUUl9D UklUSUNBTF9CQVRURVJZX0xJTUlUX0ZFQVRVUkVfSEVMUCAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJc eDAxNkMiDQo+ICsjc3RyaW5nIFNUUl9XSU5ET1dTNyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNkQiDQo+ICsjc3RyaW5nIFNUUl9MUFNTREVW SElERV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAx NkUiDQo+ICsjc3RyaW5nIFNUUl9FTTFfSUFBUFBTUlVOX1BST01QVCAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNkYiDQo+ICsjc3RyaW5nIFNUUl9FTTFfSUFBUFBT Q0FQX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNzAi DQo+ICsjc3RyaW5nIFNUUl9FTTFfQ0FQX09SX1ZPTFRBR0VfUFJPTVBUICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDE3MSINCj4gKyNzdHJpbmcgU1RSX0VNMV9CT09UX09O X0lOVkFMSURfQkFUX1BST01QVCAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTcy Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9VU0JfSFNJQ18wX1BST01QVCAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNzMiDQo+ICsjc3RyaW5nIFNUUl9VU0JfSFNJ Q18wX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAx NzQiDQo+ICsjc3RyaW5nIFNUUl9MRUdBQ1lVU0JCT09USU5HX1BST01QVCAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDE3NSINCj4gKyNzdHJpbmcgU1RSX1NUUl9MRUdB Q1lVU0JCT09USU5HX0hFTFAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgw MTc2Ig0KPiArI3N0cmluZyBTVFJfTFdJTkRPV1M3ICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIHVxaSAgIlx4MDE3NyINCj4gKyNzdHJpbmcgU1RSX1dFQzcgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAxNzgiDQo+ICsjc3RyaW5nIFNU Ul9MSU5VWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4 MDE3OSINCj4gKyNzdHJpbmcgU1RSX1dBUk5JTkdfUE9QVVAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE3QSINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSFNV QVJUMV9GTE9XQ09OVFJPTF9QUk9NUFQgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgw MTdCIg0KPiArI3N0cmluZyBTVFJfTFBTU19IU1VBUlQyX0ZMT1dDT05UUk9MX1BST01QVCAgICAg ICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxN0MiDQo+ICsjc3RyaW5nIFNUUl9TQ0NfU0RD QVJEX1JFTU9WQUJJTElUWSAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4 MDE3RCINCj4gKyNzdHJpbmcgU1RSX1NDQ19TRENBUkRfUkVNT1ZBQkxFICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE3RSINCj4gKyNzdHJpbmcgU1RSX1NDQ19TRENB UkRfTk9OX1JFTU9WQUJMRSAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgw MTdGIg0KPiArI3N0cmluZyBTVFJfU0NDX1NEQ0FSRF9SRU1PVkFCSUxJVFlfSEVMUCAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxODAiDQo+ICsjc3RyaW5nIFNUUl9SVENfQkFU VEVSWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSB1cWkgICJceDAx ODEiDQo+ICsjc3RyaW5nIFNUUl9SVENfQkFUVEVSWV9OT1RfUFJFU0VOVCAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSB1cWkNCj4gIlx4MDE4MiINCj4gKyNzdHJpbmcgU1RSX1JUQ19CQVRU RVJZX1BSRVNFTlQgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE4 MyINCj4gKyNzdHJpbmcgU1RSX1JUQ19CQVRURVJZX0hFTFAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIHVxaSAgIlx4MDE4NCINCj4gKyNzdHJpbmcgU1RSX0xQRV9SRVBPUlRF RF9CWV9EU0RUX1BST01QVCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIHVxaQ0KPiAiXHgwMTg1 Ig0KPiArI3N0cmluZyBTVFJfTFBFX1JFUE9SVEVEX0JZX0RTRFRfSEVMUCAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgdXFpDQo+ICJceDAxODYiDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVmZyLnZmcg0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVmZyLnZm cg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43Nzk3NjMyMmRl DQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvUGxhdGZvcm1TZXR1cER4ZS9WZnIudmZyDQo+IEBAIC0wLDAgKzEsMTIzIEBADQo+ICsvLw0K PiArLy8NCj4gKy8vDQo+ICsvLyBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8NCj4gDQo+ICsvLyBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsvLw0KPiAN Cj4gKy8vDQo+ICsvLw0KPiArI2luY2x1ZGUgIkNvbmZpZ3VyYXRpb24uaCINCj4gKyNpbmNsdWRl ICJQbGF0Zm9ybVNldHVwRHhlU3RyRGVmcy5oIg0KPiArI2luY2x1ZGUgIkd1aWQvU2V0dXBWYXJp YWJsZS5oIg0KPiArDQo+ICtmb3Jtc2V0DQo+ICsgIGd1aWQgICAgID0gU1lTVEVNX0NPTkZJR1VS QVRJT05fR1VJRCwNCj4gKyAgdGl0bGUgICAgPSBTVFJJTkdfVE9LRU4oU1RSX1NZU1RFTV9TRVRV UF9USVRMRSksDQo+ICsgIGhlbHAgICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TWVNURU1fU0VUVVBf SEVMUCksDQo+ICsgIGNsYXNzICAgID0gMSwNCj4gKyAgc3ViY2xhc3MgPSAwLA0KPiArDQo+ICsN Cj4gKyAgdmFyc3RvcmUgU1lTVEVNX0NPTkZJR1VSQVRJT04sIG5hbWUgPSBTZXR1cCwgZ3VpZCA9 DQo+IFNZU1RFTV9DT05GSUdVUkFUSU9OX0dVSUQ7DQo+ICsgIGZvcm0gZm9ybWlkID0gUk9PVF9G T1JNX0lELA0KPiArICAgIHRpdGxlICAgID0gU1RSSU5HX1RPS0VOKFNUUl9TWVNURU1fU0VUVVBf VElUTEUpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBKdW1wIHRvICAyKU1haW4gRm9ybQ0K PiArICAgIC8vDQo+ICsgICAgZ290byBST09UX01BSU5fRk9STV9JRCwNCj4gKyAgICAgIHByb21w dCA9IFNUUklOR19UT0tFTihTVFJfTUFJTl9USVRMRSksDQo+ICsgICAgICBoZWxwICAgPSBTVFJJ TkdfVE9LRU4oU1RSX01BSU5fSEVMUCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEp1bXAg dG8gIDMpVW5jb3JlIENvbmZpZ3VyYXRpb24gRm9ybQ0KPiArICAgIC8vDQo+ICsgICAgZ290byBV TkNPUkVfRk9STV9JRCwNCj4gKyAgICAgIHByb21wdCA9IFNUUklOR19UT0tFTihTVFJfVU5DT1JF X0NPTkZJR1VSQVRJT05fVElUTEUpLA0KPiArICAgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNU Ul9VTkNPUkVfQ09ORklHVVJBVElPTl9IRUxQKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8g SnVtcCB0byAgNClTb3V0aCBDbHVzdGVyICBDb25maWd1cmF0aW9uIEZvcm0NCj4gKyAgICAvLw0K PiArICAgIGdvdG8gU09VVEhfQ0xVU1RFUl9GT1JNX0lELA0KPiArICAgICAgcHJvbXB0ID0gU1RS SU5HX1RPS0VOKFNUUl9TT1VUSF9DTFVTVEVSX1RJVExFKSwNCj4gKyAgICAgIGhlbHAgICA9IFNU UklOR19UT0tFTihTVFJfU09VVEhfQ0xVU1RFUl9IRUxQKTsNCj4gKw0KPiArICAgIC8vIEp1bXAg dG8gIDUpQm9vdCBGb3JtDQo+ICsgICAgLy8NCj4gKyAgICBnb3RvIEJPT1RfQ09ORklHVVJBVElP Tl9GT1JNX0lELA0KPiArICAgICAgcHJvbXB0ID0gU1RSSU5HX1RPS0VOKFNUUl9CT09UX0NPTkZJ R1VSQVRJT05fVElUTEUpLA0KPiArICAgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9CT09U X0NPTkZJR1VSQVRJT05fSEVMUCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEp1bXAgdG8g IDYpU2VjdXJpdHkgQ29uZmlndXJhdGlvbiBGb3JtDQo+ICsgICAgLy8NCj4gKyAgICBnb3RvIFNF Q1VSSVRZX0NPTkZJR1VSQVRJT05fRk9STV9JRCwNCj4gKyAgICAgIHByb21wdCA9IFNUUklOR19U T0tFTihTVFJfU0VDVVJJVFlfQ09ORklHVVJBVElPTl9USVRMRSksDQo+ICsgICAgICBoZWxwICAg PSBTVFJJTkdfVE9LRU4oU1RSX1NFQ1VSSVRZX0NPTkZJR1VSQVRJT05fSEVMUCk7DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vIEp1bXAgdG8gIDcpVGhlcm1hbCBGb3JtDQo+ICsgICAgLy8NCj4g KyAgICBnb3RvIFRIRVJNQUxfRk9STV9JRCwNCj4gKyAgICAgIHByb21wdCA9IFNUUklOR19UT0tF TihTVFJfVEhFUk1BTF9USVRMRSksDQo+ICsgICAgICBoZWxwICAgPSBTVFJJTkdfVE9LRU4oU1RS X1RIRVJNQUxfSEVMUCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEp1bXAgdG8gOCkgU3lz dGVtIENvbXBvbmVudCBGb3JtDQo+ICsgICAgZ290byBTWVNURU1fQ09NUE9ORU5UX0ZPUk1fSUQs DQo+ICsgICAgICBwcm9tcHQgPSBTVFJJTkdfVE9LRU4oU1RSX1NZU1RFTV9DT01QT05FTlRfVElU TEUpLA0KPiArICAgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9TWVNURU1fQ09NUE9ORU5U X0hFTFApOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBKdW1wIHRvICAxMClEZWJ1ZyBDb25m aWd1cmF0aW9uIEZvcm0NCj4gKyAgICAvLw0KPiArI2lmIChCWVRJX1BGX0VOQUJMRSA9PSAwKQ0K PiArICAgIGdvdG8gREVCVUdfQ09ORklHVVJBVElPTl9GT1JNX0lELA0KPiArICAgICAgcHJvbXB0 ID0gU1RSSU5HX1RPS0VOKFNUUl9ERUJVR19DT05GSUdVUkFUSU9OX1RJVExFKSwNCj4gKyAgICAg IGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfREVCVUdfQ09ORklHVVJBVElPTl9IRUxQKTsNCj4g KyNlbmRpZg0KPiArDQo+ICsgICAgc3VidGl0bGUgdGV4dCA9IFNUUklOR19UT0tFTihTVFJfTlVM TF9TVFJJTkcpOw0KPiArICAgIC8vDQo+ICsgICAgLy8gQ29tbWl0IGNoYW5nZSBhbmQgZXhpdA0K PiArICAgIC8vDQo+ICsgICAgdGV4dA0KPiArICAgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNU Ul9DT01NSVRfQ0hBTkdFX0FORF9FWElUX0hFTFApLA0KPiArICAgICAgdGV4dCAgID0gU1RSSU5H X1RPS0VOKFNUUl9DT01NSVRfQ0hBTkdFX0FORF9FWElUX1BST01QVCksDQo+ICsgICAgICB0ZXh0 ICAgPSBTVFJJTkdfVE9LRU4oU1RSX0NPTU1JVF9DSEFOR0VfQU5EX0VYSVRfUFJPTVBUKSwNCj4g KyAgICAgIGZsYWdzICA9IElOVEVSQUNUSVZFLA0KPiArICAgICAga2V5ICAgID0gMHhGMDAxOw0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBEaXNjYXJkIGNoYW5nZSBhbmQgZXhpdA0KPiArICAg IC8vDQo+ICsgICAgdGV4dA0KPiArICAgICAgaGVscCAgID0gU1RSSU5HX1RPS0VOKFNUUl9ESVND QVJEX0NIQU5HRV9BTkRfRVhJVF9IRUxQKSwNCj4gKyAgICAgIHRleHQgICA9IFNUUklOR19UT0tF TihTVFJfRElTQ0FSRF9DSEFOR0VfQU5EX0VYSVRfUFJPTVBUKSwNCj4gKyAgICAgIHRleHQgICA9 IFNUUklOR19UT0tFTihTVFJfRElTQ0FSRF9DSEFOR0VfQU5EX0VYSVRfUFJPTVBUKSwNCj4gKyAg ICAgIGZsYWdzICA9IElOVEVSQUNUSVZFLA0KPiArICAgICAga2V5ICAgID0gMHhGMDAyOw0KPiAr DQo+ICsgICAgLy8NCj4gKyAgICAvLyBMb2FkIGRlZmF1bHQgYW5kIGV4aXQNCj4gKyAgICAvLw0K PiArICAgIHRleHQNCj4gKyAgICAgIGhlbHAgICA9IFNUUklOR19UT0tFTihTVFJfTE9BRF9ERUZB VUxUX0FORF9FWElUX0hFTFApLA0KPiArICAgICAgdGV4dCAgID0gU1RSSU5HX1RPS0VOKFNUUl9M T0FEX0RFRkFVTFRfQU5EX0VYSVRfUFJPTVBUKSwNCj4gKyAgICAgIHRleHQgICA9IFNUUklOR19U T0tFTihTVFJfTE9BRF9ERUZBVUxUX0FORF9FWElUX1BST01QVCksDQo+ICsgICAgICBmbGFncyAg PSBJTlRFUkFDVElWRSwNCj4gKyAgICAgIGtleSAgICA9IDB4RjAwMzsNCj4gKyAgZW5kZm9ybTsN Cj4gKw0KPiArICAjaW5jbHVkZSAiTWFpbi52ZmkiDQo+ICsgICNpbmNsdWRlICJVbkNvcmUudmZp Ig0KPiArICAjaW5jbHVkZSAiU291dGhDbHVzdGVyQ29uZmlnLnZmaSINCj4gKyAgI2luY2x1ZGUg IkJvb3QudmZpIg0KPiArICAjaW5jbHVkZSAiU2VjdXJpdHkudmZpIg0KPiArICAjaW5jbHVkZSAi VGhlcm1hbC52ZmkiDQo+ICsgICNpbmNsdWRlICJTeXN0ZW1Db21wb25lbnQudmZpIg0KPiArICAj aW5jbHVkZSAiRGVidWdDb25maWcudmZpIg0KPiArZW5kZm9ybXNldDsNCj4gZGlmZiAtLWdpdA0K PiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU2V0dXBEeGUvVmZy U3RyaW5ncy51bmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bVNldHVwRHhlL1ZmclN0cmluZ3MudW5pDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4 IDAwMDAwMDAwMDAuLjQyYzc2N2UzMGQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNldHVwRHhlL1ZmclN0cmluZ3MudW5p DQo+IEBAIC0wLDAgKzEsMTQxNyBAQA0KPiArLy8gLyoqIEBmaWxlDQo+ICsvLyBDb3B5cmlnaHQg KGMpIDIwMDQgLSAyMDE2LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48 QlI+DQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiArLy8NCj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ICsvLyAgIFN0cmluZ3Mu dmZyDQo+ICsvLw0KPiArLy8gQWJzdHJhY3Q6DQo+ICsvLw0KPiArLy8gICBTdHJpbmcgZGVmaW5p dGlvbnMgZm9yIFBsYXRmb3JtIFNldHVwIGZvcm1zZXQuDQo+ICsvLw0KPiArLy8gUmV2aXNpb24g SGlzdG9yeToNCj4gKy8vDQo+ICsvLyAqKi8NCj4gKw0KPiArLy8NCj4gKy8vIE5PVEU6IGZvciBT RVRVUCBlbmdpbmUgc3BhY2luZywgdGhlIGZvbGxvd2luZyBjaGFyYWN0ZXIgc3BhY2VzIGRlbm90 ZQ0KPiBob3cgbXVjaCByb29tIGluIGVhY2ggc2VjdGlvbiB5b3UgaGF2ZS4NCj4gKy8vICAgICAg IEluIHRoZSBIZWxwIFRleHQgc2VjdGlvbiAiICAgICAgICAgICAgICAgICAgICAgICAiIC10aGlz IGlzIDIzIHNwYWNlcyB3aWRlLg0KPiArLy8gICAgICAgSW4gdGhlIEZhciBsZWZ0IHBhbmVsICIg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIiAtdGhpcyBpcyAzNyBzcGFjZXMg d2lkZS4NCj4gKy8vICAgICAgIEluIHRoZSBtaWRkbGUgc2VjdGlvbiAiICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICIgLXRoaXMgaXMgMzcgc3BhY2VzIHdpZGUuDQo+ICsvLw0K PiArLz0jDQo+ICsNCj4gKyNsYW5nZGVmICAgZW4tVVMgIkVuZ2xpc2giDQo+ICsjbGFuZ2RlZiAg IGZyLUZSICJGcmFuw6dhaXMiDQo+ICsNCj4gKy8vIFNUUl9MQU5HX05BTUUgaXMgZHVtbXkgZm9y IGZvbnQgZXh0cmFjZSB0b29sLiAgV2l0aG91dCB0aGlzLA0KPiArLy8gc29tZSBjaGFyYWN0ZXJz IGZvciBsYW5ndWFnZSBzZWxlY3Rpb24gbWVudSB3aWxsIG5vdCBiZSBkaXNwbGF5ZWQNCj4gKy8v IGNvcnJlY3RseS4NCj4gKyNzdHJpbmcgU1RSX0xBTkdfTkFNRSAjbGFuZ3VhZ2UgIGZyLUZSICJG cmFuw6dhaXMiDQo+ICsjc3RyaW5nIFNUUl9MQU5HX05BTUUgI2xhbmd1YWdlICBlbi1VUyAiRW5n bGlzaCINCj4gKw0KPiArLy9Sb290IGZvcm0NCj4gKyNzdHJpbmcgU1RSX1NZU1RFTV9TRVRVUF9U SVRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTeXN0ZW0NCj4g U2V0dXAiDQo+ICsjc3RyaW5nIFNUUl9TWVNURU1fU0VUVVBfSEVMUCAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiUHJlc3MNCj4gPEVudGVyPiB0byBzZWxlY3QgdGhl IFN5c3RlbSBDb25maWd1cmF0aW9uIFNldHVwIG9wdGlvbnMuIg0KPiArDQo+ICsjc3RyaW5nIFNU Ul9NQUlOX1RJVExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiTWFpbiINCj4gKyNzdHJpbmcgU1RSX01BSU5fSEVMUCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0NQ VV9DT05GSUdVUkFUSU9OX1RJVExFICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICJDUFUNCj4gQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0NQVV9DT05GSUdVUkFUSU9O X0hFTFAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIiDQo+ICsNCj4gKyNz dHJpbmcgU1RSX0NQVV9QT1dFUk1OR19USVRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICJDUFUNCj4gUG93ZXIgTWFuYWdlbWVudCINCj4gKyNzdHJpbmcgU1RSX0NQ VV9QT1dFUk1OR19IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0JPT1RfQ09ORklHVVJBVElPTl9USVRMRSAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJCb290Ig0KPiArI3N0cmluZyBTVFJfQk9P VF9DT05GSUdVUkFUSU9OX0hFTFAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IiINCj4gKw0KPiArI3N0cmluZyBTVFJfSUdEX1RJVExFICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIklHRA0KPiBDb25maWd1cmF0aW9uIg0KPiArI3N0 cmluZyBTVFJfSUdEX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIiINCj4gKw0KPiArI3N0cmluZyBTVFJfTUVNT1JZX0NPTkZJR1VSQVRJT05f VElUTEUgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIk1lbW9yeSBDb25maWd1 cmF0aW9uIg0KPiArI3N0cmluZyBTVFJfTUVNT1JZX0NPTkZJR1VSQVRJT05fSEVMUCAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKw0KPiArI3N0cmluZyBTVFJfSVNQX0VO QUJMRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIklT UA0KPiBFbmFibGUvRGlzYWJsZSINCj4gKyNzdHJpbmcgU1RSX0lTUF9FTkFCTEVEX0hFTFAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJs ZSBJU1AgUENJIERldmljZSBTZWxlY3Rpb24uIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9JU1BfQ09O RklHVVJBVElPTl9USVRMRSAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiSVNQ DQo+IFBDSSBEZXZpY2UgQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0lTUF9QQ0lDT05G SUdVUkFUSU9OX1RJVExFICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJJU1ANCj4g UENJIERldmljZSBTZWxlY3Rpb24iDQo+ICsjc3RyaW5nIFNUUl9JU1BfUENJQ09ORklHVVJBVElP Tl9IRUxQICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRGVmYXVsdCBJU1Ag aXMgUENJIEIwRDJGMCBmb3IgV2luZG93IEJvb3QuIExpbnV4IEJvb3QgdG8gc2VsZWN0IEIwRDNG MCINCj4gKyNzdHJpbmcgU1RSX0lTUF9QQ0lDT05GSUdfQjBEMkYwX1RJVExFICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICJJU1ANCj4gUENJIERldmljZSBhcyBCMEQyRjAiDQo+ICsj c3RyaW5nIFNUUl9JU1BfUENJQ09ORklHX0IwRDNGMF9USVRMRSAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiSVNQDQo+IFBDSSBEZXZpY2UgYXMgQjBEM0YwIg0KPiArDQo+ICsjc3Ry aW5nIFNUUl9TRUNVUklUWV9DT05GSUdVUkFUSU9OX1RJVExFICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiU2VjdXJpdHkgQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX1NF Q1VSSVRZX0NPTkZJR1VSQVRJT05fSEVMUCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1NPVVRIX0NMVVNURVJfVElUTEUgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTb3V0aA0KPiBDbHVzdGVyIENvbmZpZ3VyYXRp b24iDQo+ICsjc3RyaW5nIFNUUl9TT1VUSF9DTFVTVEVSX0hFTFAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAiIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9VTkNPUkVfQ09O RklHVVJBVElPTl9USVRMRSAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiVW5j b3JlIENvbmZpZ3VyYXRpb24iDQo+ICsjc3RyaW5nIFNUUl9VTkNPUkVfQ09ORklHVVJBVElPTl9I RUxQICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiIg0KPiArDQo+ICsjc3RyaW5n IFNUUl9EUFRGX0NPTkZJR1VSQVRJT05fVElUTEUgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiRFBURiINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ09ORklHVVJBVElPTl9IRUxQ ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIiDQo+ICsNCj4gKyNzdHJpbmcg U1RSX1RIRVJNQUxfVElUTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJUaGVybWFsIg0KPiArI3N0cmluZyBTVFJfVEhFUk1BTF9IRUxQICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKw0KPiArI3N0cmluZyBT VFJfU1lTVEVNX0NPTVBPTkVOVF9USVRMRSAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMNCj4gIlN5c3RlbSBDb21wb25lbnQiDQo+ICsjc3RyaW5nIFNUUl9TWVNURU1fQ09NUE9O RU5UX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiIg0KPiArDQo+ ICsjc3RyaW5nIFNUUl9ERUJVR19DT05GSUdVUkFUSU9OX1RJVExFICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJEZWJ1ZyBDb25maWd1cmF0aW9uIg0KPiArI3N0cmluZyBTVFJf REVCVUdfQ09ORklHVVJBVElPTl9IRUxQICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAiIg0KPiArDQo+ICsvLw0KPiArLy8gTWFpbiBmb3JtIGRlZmluaXRpb24NCj4gKy8vDQo+ICsj c3RyaW5nIFNUUl9EQVRFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiU3lzdGVtDQo+IERhdGUiDQo+ICsNCj4gKw0KPiArI3N0cmluZyBTVFJf REFURV9ZRUFSX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgICJEaXNwbGF5cw0KPiBhbmQgY2hhbmdlcyB0aGUgU3lzdGVtIERhdGUgZnJvbSB0aGUgUmVh bC1UaW1lIENsb2NrLiBGb3JtYXQgaXMNCj4gTW9udGgvRGF5L1llYXIuICINCj4gKyNzdHJpbmcg U1RSX0RBVEVfTU9OVEhfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiRGlzcGxheXMNCj4gYW5kIGNoYW5nZXMgdGhlIFN5c3RlbSBEYXRlIGZyb20gdGhl IFJlYWwtVGltZSBDbG9jay4gRm9ybWF0IGlzDQo+IE1vbnRoL0RheS9ZZWFyLiAiDQo+ICsjc3Ry aW5nIFNUUl9EQVRFX0RBWV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAgIkRpc3BsYXlzIGFuZA0KPiBjaGFuZ2VzIHRoZSBTeXN0ZW0gRGF0ZSBmcm9t IHRoZSBSZWFsLVRpbWUgQ2xvY2suIEZvcm1hdCBpcw0KPiBNb250aC9EYXkvWWVhci4gIg0KPiAr I3N0cmluZyBTVFJfRVJST1JfUE9QVVAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJUcnkgQWdhaW4iDQo+ICsjc3RyaW5nIFNUUl9CSU9TX0lORk9STUFU SU9OX1RJVExFICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkJpb3MNCj4g SW5mb3JtYXRpb24iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX05VTExfU1RSSU5HICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiIg0KPiArI3N0cmluZyBTVFJf TlVMTF9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnIt RlIgICIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0JJT1NfVkVORE9SX1NUUklORyAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJCSU9TDQo+IFZlbmRvciINCj4gKyNzdHJp bmcgU1RSX0JJT1NfVkVORE9SX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGZyLUZSICJWZXJkb3INCj4gZHUgQklPUyINCj4gKw0KPiArI3N0cmluZyBTVFJfQklPU19W RU5ET1JfVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJJ bnRlbA0KPiBDb3Jwb3JhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0JJT1NfVkVORE9SX1ZBTFVFICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICAiIg0KPiArDQo+ICsjc3Ry aW5nIFNUUl9CSU9TX1ZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiQklPUw0KPiBWZXJzaW9uIg0KPiArI3N0cmluZyBTVFJfQklPU19WRVJTSU9O X1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgIlZlcnNpb24N Cj4gZHUgQklPUyINCj4gKw0KPiArI3N0cmluZyBTVFJfQklPU19WRVJTSU9OX1ZBTFVFICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICIiDQo+ICsjc3RyaW5nIFNUUl9C SU9TX1ZFUlNJT05fVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1G UiAgIiINCj4gKw0KPiArI3N0cmluZyBTVFJfSUZXSV9WRVJTSU9OX1NUUklORyAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIklGV0kNCj4gVmVyc2lvbiINCj4gKyNzdHJp bmcgU1RSX0lGV0lfVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGZyLUZSICJWZXJzaW9uDQo+IGR1IElGV0kiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0lGV0lf VkVSU0lPTl9WQUxVRSAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAi Ig0KPiArI3N0cmluZyBTVFJfSUZXSV9WRVJTSU9OX1ZBTFVFICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZnItRlIgICIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0JJT1NfQlVJTERf VElNRV9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJCdWlsZA0K PiBUaW1lIg0KPiArI3N0cmluZyBTVFJfQklPU19CVUlMRF9USU1FX1ZBTFVFICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIk5BIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9DT1JF X1ZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi Q29yZQ0KPiBWZXJzaW9uIg0KPiArI3N0cmluZyBTVFJfQ09SRV9WRVJTSU9OX1ZBTFVFICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVFRkkNCj4gMi40MCINCj4gKw0K PiArI3N0cmluZyBTVFJfU0VDX1ZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIlRYRSBGVw0KPiBWZXJzaW9uIg0KPiArI3N0cmluZyBTVFJfU0VD X1ZFUlNJT05fVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IiINCj4gKw0KPiArI3N0cmluZyBTVFJfU0VDX0NBUEFCSUxJVFlfU1RSSU5HICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlRYRSBGVw0KPiBDYXBhYmlsaXRpZXMiDQo+ICsj c3RyaW5nIFNUUl9TRUNfQ0FQQUJJTElUWV9WQUxVRSAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TRUNfRkVBVFVSRV9TVFJJTkcg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVFhFIEZXDQo+IEZlYXR1 cmVzIg0KPiArI3N0cmluZyBTVFJfU0VDX0ZFQVRVUkVfVkFMVUUgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKw0KPiArI3N0cmluZyBTVFJfU0VDX09FTVRB R19TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlRYRSBG Vw0KPiBPRU0gVGFnIg0KPiArI3N0cmluZyBTVFJfU0VDX09FTVRBR19WQUxVRSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKw0KPiArI3N0cmluZyBTVFJf U0VDX0ZJTEVfU1lTVEVNX0lOVEVHUklUWV9WQUxVRV9TVFJJTkcgICAgICAjbGFuZ3VhZ2UNCj4g ZW4tVVMgIlRYRSBGaWxlIFN5c3RlbSBJbnRlZ3JpdHkgVmFsdWUiDQo+ICsjc3RyaW5nIFNUUl9T RUNfRklMRV9TWVNURU1fSU5URUdSSVRZX1ZBTFVFICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V Uw0KPiAiIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TRUNfVEVNUF9ESVNBQkxFX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVFhFDQo+IFRlbXBvcmFyeSBEaXNhYmxl Ig0KPiArI3N0cmluZyBTVFJfU0VDX1RFTVBfRElTQUJMRV9TVFJJTkcgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlRYRQ0KPiBGaXJtd2FyZSBNb2RlIg0KPiArI3N0cmluZyBT VFJfU0VDX1RFTVBfRElTQUJMRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgIlRYRQ0KPiBUZW1wb3JhcnkgRGlzYWJsZSINCj4gKw0KPiArI3N0cmluZyBTVFJfU0VD X0xPQ0FMX0ZXX1VQREFURV9IRUxQICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIlRYRSBEaXNhYmxlL0VuYWJsZSBUWEUgTG9jYWwgRncgVXBkYXRlIg0KPiArI3N0cmluZyBT VFJfU0VDX0xPQ0FMX0ZXX1VQREFURV9TVFJJTkcgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMNCj4gIlRYRSBMb2NhbCBGdyBVcGRhdGUiDQo+ICsjc3RyaW5nIFNUUl9TRUNfTE9DQUxf RldfVVBEQVRFX1BST01QVCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiVFhF IFRlbXBvcmFyeSBEaXNhYmxlIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TRUNfRklSTVdBUkVfV1JJ VEVfUFJPTVBUICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiVFhFIEZpcm13 YXJlIFIvVyBNb2RlIg0KPiArI3N0cmluZyBTVFJfU0VDX0ZJUk1XQVJFX1dSSVRFX1ZBTFVFICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKw0KPiArI3N0cmluZyBTVFJf U0VDX0ZJUk1XQVJFX1RPR0dMRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJUWEUgRmlybXdhcmUgUi9XIFRvZ2dsZSINCj4gKyNzdHJpbmcgU1RSX1NFQ19GSVJN V0FSRV9UT0dHTEVfSEVMUCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAi VXNlIHRvIFRvZ2dsZSBiZXR3ZWVuIFIvVyBhbmQgUi9PIg0KPiArI3N0cmluZyBTVFJfU0VDX0ZJ Uk1XQVJFX1RPR0dMRV9OTyAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ ICJObyINCj4gKyNzdHJpbmcgU1RSX1NFQ19GSVJNV0FSRV9UT0dHTEVfWUVTICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiWWVzIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9T RUNfSE1SRlBPX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAiVFhFDQo+IEhNUkZQTyBEaXNhYmxlIg0KPiArI3N0cmluZyBTVFJfU0VDX0hNUkZQT19TVFJJ TkcgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlRYRQ0KPiBITVJG UE8gIg0KPiArI3N0cmluZyBTVFJfU0VDX0hNUkZQT19QUk9NUFQgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlRYRQ0KPiBITVJGUE8gRGlzYWJsZSINCj4gKw0KPiAr I3N0cmluZyBTVFJfU0VDX0VPUF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIlNlbmQgRU9QDQo+IE1lc3NhZ2UgQmVmb3IgRW50ZXIgT1MiDQo+ICsj c3RyaW5nIFNUUl9TRUNfRU9QX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiVFhFIEVPUA0KPiBNZXNzYWdlIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9Q TEFURk9STV9JTkZPUk1BVElPTl9USVRMRSAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V Uw0KPiAiUGxhdGZvcm0gSW5mb3JtYXRpb24iDQo+ICsjc3RyaW5nIFNUUl9QTEFURk9STV9JTkZP Uk1BVElPTl9IRUxQICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRGlzcGxh eSBwbGF0Zm9ybSBpbmZvcm1hdGlvbiINCj4gKw0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX0lO Rk9fU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlByb2Nl c3NvciBJbmZvcm1hdGlvbiINCj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9WRVJTSU9OX1NUUklO RyAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJQcm9jZXNzb3IgVHlwZSIN Cj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9WRVJTSU9OX1ZBTFVFICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJOL0EiDQo+ICsjc3RyaW5nIFNUUl9fU1RSSU5HICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiICAiDQo+ICsj c3RyaW5nIFNUUl9fVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX1NQRUVEX1NUUklORyAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlByb2Nlc3NvciBTcGVlZCIN Cj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9TUEVFRF9WQUxVRSAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICIiDQo+ICsjc3RyaW5nIFNUUl9QUk9DRVNTT1JfTUlDUk9DT0RF X1NUUklORyAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiTWljcm9jb2RlIFJl dmlzaW9uIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX01JQ1JPQ09ERV9WQUxVRSAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIk5vdCBsb2FkZWQiDQo+ICsjc3RyaW5nIFNU Ul9QUk9DRVNTT1JfQ09SRV9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiTnVtYmVyIG9mIENvcmVzIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX0NPUkVf VkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjEiDQo+ICsjc3Ry aW5nIFNUUl9FTTY0VF9DQVBBQklMSVRZX1NUUklORyAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiSW50ZWwocikNCj4gNjQgQXJjaGl0ZWN0dXJlIENhcGFibGUiDQo+ICsjc3Ry aW5nIFNUUl9FTTY0VF9DQVBBQklMSVRZX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiU3VwcG9ydCINCj4gKw0KPiArI3N0cmluZyBTVFJfUExBVEZPUk1fRklS TVdBUkVfU1RSSU5HICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlBsYXRm b3JtIGZpcm13YXJlIEluZm9ybWF0aW9uIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9NRkdNT0RFICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJNYW51ZmFj dHVyZQ0KPiBNb2RlIg0KPiArI3N0cmluZyBTVFJfTUZHTU9ERV9IRUxQICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiTWFudWZhY3R1cmUgTW9kZSBTdGF0 dXMiDQo+ICsNCj4gKw0KPiArDQo+ICsjc3RyaW5nIFNUUl9NRU1PUllfSU5GT1JNQVRJT05fU1RS SU5HICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiTWVtb3J5IEluZm9ybWF0 aW9uIg0KPiArI3N0cmluZyBTVFJfVE9UQUxfTUVNT1JZX1NJWkVfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlRvdGFsIE1lbW9yeSINCj4gKyNzdHJpbmcgU1RS X1RPVEFMX01FTU9SWV9TSVpFX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICIiDQo+ICsjc3RyaW5nIFNUUl9NRU1PUllfU1BFRURfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRElNTSBGcmVxdWVuY3kiDQo+ICsjc3RyaW5n IFNUUl9NRU1PUllfU1BFRURfUFJPTVBUX1ZBTFVFICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX0wxX0RBVEFfQ0FDSEVfU1RS SU5HICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkwxIERhdGEgQ2FjaGUiDQo+ICsj c3RyaW5nIFNUUl9QUk9DRVNTT1JfTDFfREFUQV9DQUNIRV9WQUxVRSAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiTi9BIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX0wxX0lOU1RS X0NBQ0hFX1NUUklORyAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkwxIEluc3RydWN0 aW9uIENhY2hlIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX0wxX0lOU1RSX0NBQ0hFX1ZBTFVF ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIk4vQSINCj4gKyNzdHJpbmcgU1RSX1BS T0NFU1NPUl9MMl9DQUNIRV9TVFJJTkcgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICJMMg0KPiBDYWNoZSBSQU0iDQo+ICsjc3RyaW5nIFNUUl9QUk9DRVNTT1JfTDJfQ0FDSEVfVkFM VUUgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiTk8iDQo+ICsjc3RyaW5n IFNUUl9TWVNURU1fTUVNT1JZX1NQRUVEX1NUUklORyAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiTWVtb3J5IFNwZWVkIg0KPiArI3N0cmluZyBTVFJfU1lTVEVNX01FTU9SWV9T UEVFRF9WQUxVRSAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIiINCj4gKw0K PiArI3N0cmluZyBTVFJfQ0hJUF9JR0RfVkJJT1NfUkVWX0hFTFAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIklHRA0KPiBWQklPUyBWZXJzaW9uIg0KPiArI3N0cmluZyBTVFJf Q0hJUF9JR0RfVkJJT1NfUkVWX05BTUUgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIklHRA0KPiBWQklPUyBWZXJzaW9uIg0KPiArI3N0cmluZyBTVFJfQ0hJUF9JR0RfVkJJT1Nf UkVWX1ZBTFVFICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIk4vQSINCj4g Kw0KPiArI3N0cmluZyBTVFJfQ1BVX0ZMQVZPUl9IRUxQICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkNQVQ0KPiBGbGF2b3IiDQo+ICsjc3RyaW5nIFNUUl9DUFVf RkxBVk9SX05BTUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi Q1BVDQo+IEZsYXZvciINCj4gKyNzdHJpbmcgU1RSX0NQVV9GTEFWT1JfVkFMVUUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJOL0EiDQo+ICsNCj4gKyNzdHJpbmcg U1RSX0JPQVJEX0lORk9STUFUSU9OX1NUUklORyAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTDQo+ICJCb2FyZCBJbmZvcm1hdGlvbiINCj4gKyNzdHJpbmcgU1RSX0JPQVJEX0lEX0hF TFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJEaXNwbGF5 cyB0aGUNCj4gQm9hcmQgSUQuIg0KPiArI3N0cmluZyBTVFJfQk9BUkRfSURfTkFNRSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkJvYXJkIElEIg0KPiArI3N0 cmluZyBTVFJfQk9BUkRfSURfVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIk4vQSINCj4gKw0KPiArLy8NCj4gKy8vIENQVSBJTkZPUk1BVElPTg0KPiAr Ly8NCj4gKyNzdHJpbmcgU1RSX0NQVV9GT1JNX1NVQlRJVExFICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJQcm9jZXNzb3IgSW5mb3JtYXRpb24iDQo+ICsNCj4g KyNzdHJpbmcgU1RSX1BST0NFU1NPUl9WRVJTSU9OX0hFTFAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJEaXNwbGF5cyB0aGUgUHJvY2Vzc29yIFR5cGUuIg0KPiArI3N0 cmluZyBTVFJfUFJPQ0VTU09SX1ZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMNCj4gIlR5cGUiDQo+ICsjc3RyaW5nIFNUUl9QUk9DRVNTT1JfVkVSU0lPTl9W QUxVRSAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiTi9BIg0KPiArDQo+ ICsjc3RyaW5nIFNUUl9QUk9DRVNTT1JfU0tVX0hFTFAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi RGlzcGxheXMgdGhlDQo+IFByb2Nlc3NvciBTS1UgVHlwZS4iDQo+ICsjc3RyaW5nIFNUUl9QUk9D RVNTT1JfU0tVX1NUUklORyAgICAgICNsYW5ndWFnZSBlbi1VUyAiU0tVIFR5cGUiDQo+ICsjc3Ry aW5nIFNUUl9QUk9DRVNTT1JfU0tVX1ZBTFVFICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIk4vQSIN Cj4gKw0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX1NQRUVEX1NUUklORyAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlNwZWVkIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VT U09SX1NQRUVEX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIk4v QSINCj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9TUEVFRF9IRUxQICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJEaXNwbGF5cyB0aGUgUHJvY2Vzc29yIFNwZWVkLiIN Cj4gKw0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX0lEX1NUUklORyAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkZhbWlseS9Nb2RlbC9TdGVwIg0KPiArI3N0cmlu ZyBTVFJfUFJPQ0VTU09SX0lEX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIk4vQSINCj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9JRF9IRUxQICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJGYW1pbHkvTW9kZWwvU3RlcCBv ZiBQcm9jZXNzb3IiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BST0NFU1NPUl9TVEVQUElOR19TVFJJ TkcgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJTdGVwcGluZyINCj4gKyNz dHJpbmcgU1RSX1BST0NFU1NPUl9TVEVQUElOR19WQUxVRSAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJVbmtub3duIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX1NURVBQ SU5HX0hFTFAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRpc3BsYXlz IHRoZSBQcm9jZXNzb3IgU3RlcHBpbmcuIg0KPiArDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0ZBQl9J RF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJE aXNwbGF5cyB0aGUNCj4gRmFiIElEIg0KPiArI3N0cmluZyBTVFJfRkFCX0lEX1NUUklORyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkZhYiBJRCINCj4gKyNz dHJpbmcgU1RSX0ZBQl9JRF9WQUxVRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICJOL0EiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1RJTUVfUFJPTVBUICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTeXN0ZW0NCj4gVGlt ZSINCj4gKyNzdHJpbmcgU1RSX1RJTUVfSE9VUl9IRUxQICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICJEaXNwbGF5cw0KPiBhbmQgY2hhbmdlcyB0aGUgU3lzdGVt IFRpbWUgZnJvbSB0aGUgUmVhbC1UaW1lIENsb2NrLiBDbG9jayBpcyBkaXNwbGF5ZWQgaW4NCj4g MjQtaG91ciBmb3JtYXQuICINCj4gKyNzdHJpbmcgU1RSX1RJTUVfTUlOVVRFX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJEaXNwbGF5cw0KPiBhbmQgY2hh bmdlcyB0aGUgU3lzdGVtIFRpbWUgZnJvbSB0aGUgUmVhbC1UaW1lIENsb2NrLiBDbG9jayBpcyBk aXNwbGF5ZWQgaW4NCj4gMjQtaG91ciBmb3JtYXQuIDkiDQo+ICsjc3RyaW5nIFNUUl9USU1FX1NF Q09ORF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRGlz cGxheXMNCj4gYW5kIGNoYW5nZXMgdGhlIFN5c3RlbSBUaW1lIGZyb20gdGhlIFJlYWwtVGltZSBD bG9jay4gQ2xvY2sgaXMgZGlzcGxheWVkIGluDQo+IDI0LWhvdXIgZm9ybWF0LiAiDQo+ICsNCj4g Ky8vDQo+ICsvLyBCb290IGZvcm0gZGVmaW5pdGlvbg0KPiArLy8NCj4gKyNzdHJpbmcgU1RSX0ZB U1RfQk9PVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICJGYXN0DQo+IEJvb3QiDQo+ICsjc3RyaW5nIFNUUl9GQVNUX0JPT1RfSEVMUCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRW5hYmxlIG9yDQo+IERpc2FibGUg RmFzdEJvb3QgZmVhdHVyZXMuIFxuIE1vc3QgcHJvYmVzIGFyZSBza2lwcGVkIHRvIHJlZHVjZSB0 aW1lIGNvc3QNCj4gZHVyaW5nIGJvb3QuIg0KPiArI3N0cmluZyBTVFJfU0VDVVJJVFlfQk9PVF9Q Uk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVFRkkNCj4gU2Vj dXJpdHkgQm9vdCINCj4gKyNzdHJpbmcgU1RSX1NFQ1VSSVRZX0JPT1RfSEVMUCAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJEaXNhYmxlL0VuYWJsZSBVRUZJIFNl Y3VyaXR5IGJvb3QgZmVhdHVyZSINCj4gKyNzdHJpbmcgU1RSX0xPR19CT09UX1RJTUVfUFJPTVBU ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJCb290VGltZSBMb2ci DQo+ICsjc3RyaW5nIFNUUl9MT0dfQk9PVF9USU1FX0hFTFAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQm9vdFRpbWUgZm9yIE9TIEJvb3RpbmciDQo+ICsjc3Ry aW5nIFNUUl9MT0dfQk9PVF9USU1FX1JFQ09SRCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiDQo+IExhdGVzdCBCb290VGltZSINCj4gKyNzdHJpbmcgU1RSX0xPR19CT09U X1RJTUVfVkFMVUUgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJObw0K PiBSZWNvcmQiDQo+ICsjc3RyaW5nIFNUUl9RVUlFVEJPT1RfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU2lsZW50DQo+IEJvb3QiDQo+ICsjc3RyaW5n IFNUUl9RVUlFVEJPT1RfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAiRGlzYWJsZQ0KPiBjb25zb2xlIG91dHB1dCBhbmQgc2hvdyBsb2dvIGlmIGl0IGlz IGVuYWJsZWQuIg0KPiArI3N0cmluZyBTVFJfTEVHQUNZVVNCQk9PVElOR19QUk9NUFQgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkxlZ2FjeSBVU0IgQm9vdGluZyINCj4g KyNzdHJpbmcgU1RSX1NUUl9MRUdBQ1lVU0JCT09USU5HX0hFTFAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUgb3IgRGlzYWJsZSBMZWdhY3kgVVNCIEJvb3Rpbmcg ZmVhdHVyZXMuIg0KPiArI3N0cmluZyBTVFJfRFJPSURCT09UX1BST01QVCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkRyb2lkDQo+IEJvb3QiDQo+ICsjc3RyaW5n IFNUUl9EUk9JREJPT1RfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAiR28gdG8NCj4gRHJvaWRib290IHRvIGZsYXNoIEFuZHJvaWQgSW1hZ2UiDQo+ICsj c3RyaW5nIFNUUl9BTkRST0lEQk9PVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJBbmRyb2lkIEJvb3QiDQo+ICsjc3RyaW5nIFNUUl9BTkRST0lE Qk9PVF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJC b290DQo+IGFuZHJvaWQgT1MiDQo+ICsNCj4gKy8vIEVuYWJsZSBvciBEaXNhYmxlIG9yIEF1dG9t YXRpYw0KPiArI3N0cmluZyBTVFJfRU5BQkxFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJFbmFibGUiDQo+ICsjc3RyaW5nIFNUUl9FTkFCTEUg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1GUiAgIkFj dGl2w6kiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0RJU0FCTEUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRGlzYWJsZSINCj4gKyNzdHJpbmcgU1RS X0RJU0FCTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZy LUZSICAiRMOpc2FjdGl2w6kiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BDSV9NT0RFICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBDSSBNb2RlIg0K PiArI3N0cmluZyBTVFJfQUNQSV9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiQUNQSSBNb2RlIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9FTkFC TEVEICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg ICJFbmFibGVkIg0KPiArI3N0cmluZyBTVFJfRU5BQkxFRCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICAiQWN0aXbDqSINCj4gKw0KPiArI3N0cmlu ZyBTVFJfRElTQUJMRUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICAiRGlzYWJsZWQiDQo+ICsjc3RyaW5nIFNUUl9ESVNBQkxFRCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZnItRlIgICJEw6lzYWN0aXbDqSIN Cj4gKyNzdHJpbmcgU1RSX0FVVE9NQVRJQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiQXV0byINCj4gKyNzdHJpbmcgU1RSX0FVVE9NQVRJQyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICAiQXV0byINCj4g Kw0KPiArI3N0cmluZyBTVFJfT04gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJPTiINCj4gKyNzdHJpbmcgU1RSX09GRiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiT0ZGIg0KPiAr DQo+ICsjc3RyaW5nIFNUUl9ZRVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIllFUyINCj4gKyNzdHJpbmcgU1RSX05PICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTk8iDQo+ICsN Cj4gKy8vDQo+ICsvL0NQVSBGZWF0dXJlcyBDb25maWd1cmF0aW9uDQo+ICsvLw0KPiArI3N0cmlu ZyBTVFJfQUNUSVZFX0NPUkVfQ09VTlRfUFJPTVBUICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMNCj4gIkFjdGl2ZSBQcm9jZXNzb3IgQ29yZXMiDQo+ICsjc3RyaW5nIFNUUl9BQ1RJ VkVfQ09SRV9DT1VOVF9QUk9NUFRfSEVMUCAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0K PiAiTnVtYmVyIG9mIGNvcmVzIHRvIGVuYWJsZSBpbiBlYWNoIHByb2Nlc3NvciBwYWNrYWdlLiIN Cj4gKw0KPiArI3N0cmluZyBTVFJfQUVTTklfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkFFU05JDQo+IEZlYXR1cmUiDQo+ICsjc3RyaW5nIFNU Ul9BRVNOSV9QUk9NUFRfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgQUVTTkkgLiINCj4gKw0KPiArI3N0cmluZyBTVFJfRVhF Q1VURV9ESVNBQkxFX0JJVF9QUk9NUFQgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkV4ZWN1dGUgRGlzYWJsZSBCaXQiDQo+ICsjc3RyaW5nIFNUUl9FWEVDVVRFX0RJU0FCTEVf QklUX0hFTFAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRXhlY3V0ZSBE aXNhYmxlIEJpdCBwcmV2ZW50IGNlcnRhaW4gY2xhc3NlcyBvZiBtYWxpY2lvdXMgYnVmZmVyIG92 ZXJmbG93DQo+IGF0dGFja3Mgd2hlbiBjb21iaW5lZCB3aXRoIGEgc3VwcG9ydGluZyBPUyINCj4g Kw0KPiArI3N0cmluZyBTVFJfTElNSVRfQ1BVSURfTUFYX1BST01QVCAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkxpbWl0IENQVUlEIE1heGltdW0iDQo+ICsjc3RyaW5n IFNUUl9MSU1JVF9DUFVJRF9NQVhfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiRGlzYWJsZWQgZm9yIFdpbmRvd3MgWFAiDQo+ICsNCj4gKyNzdHJpbmcgU1RS X0NPUkVfRlJFX01VTFRJUF9TRUxFQ1RfUFJPTVBUICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJDb3JlIEZyZXF1ZW5jeSBNdWx0aXBsaWVyIHNlbGVjdCINCj4gKyNzdHJpbmcgU1RS X0NPUkVfRlJFX01VTFRJUF9TRUxFQ1RfSEVMUCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJmb3IgRGVidWcgb25seSINCj4gKw0KPiArI3N0cmluZyBTVFJfVlRYMl9QUk9NUFQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlZUWC0yIg0K PiArI3N0cmluZyBTVFJfVlRYMl9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIlRvIGVuYWJsZSBvcg0KPiBkaXNhYmxlIHRoZSBWVFgtMiBNb2Rl IHN1cHBvcnQiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BST0NfSE9UX0VOQUJMRSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiQmktDQo+IGRpcmVjdGlvbmFsIFBS T0NIT1QjIg0KPiArI3N0cmluZyBTVFJfUFJPQ19IT1RfRU5BQkxFX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJXaGVuDQo+IGEgcHJvY2Vzc29yIHRoZXJtYWwg c2Vuc29yIHRyaXBzIChlaXRoZXIgY29yZSksIHRoZSBQUk9DSE9UIyB3aWxsIGJlDQo+IGRyaXZl bi5cbklmIGJpLWRpcmVjdGlvbiBpcyBlbmFibGVkLCBleHRlcm5hbCBhZ2VudHMgY2FuIGRyaXZl IFBST0NIT1QjIHRvDQo+IHRocm90dGxlIHRoZSBwcm9jZXNzb3IuIg0KPiArI3N0cmluZyBTVFJf VE0xX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgICJUTTEgIg0KPiArI3N0cmluZyBTVFJfVE0xX1BST01QVF9IRUxQICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIFRNMSINCj4g KyNzdHJpbmcgU1RSX1RNMl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICAiVE0yICINCj4gKyNzdHJpbmcgU1RSX1RNMl9QUk9NUFRfSEVMUCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlz YWJsZSBUTTIiDQo+ICsjc3RyaW5nIFNUUl9EVFNfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkRUUyAiDQo+ICsjc3RyaW5nIFNUUl9EVFNf UFJPTVBUX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0K PiAiRW5hYmxlZC9EaXNhYmxlIERpZ2l0YWwgVGhlcm1hbCBTZW5zb3IiDQo+ICsjc3RyaW5nIFNU Ul9BQ1RJVkVfUFJPQ0VTU09SX0NPUkVTX1BST01QVCAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiQWN0aXZlIFByb2Nlc3NvciBDb3JlcyINCj4gKyNzdHJpbmcgU1RSX0FDVElWRV9Q Uk9DRVNTT1JfQ09SRVNfSEVMUCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJO dW1iZXIgb2YgY29yZXMgdG8gZW5hYmxlIGluIGVhY2ggcHJvY2Vzc29yIHBhY2thZ2UiDQo+ICsj c3RyaW5nIFNUUl9QUk9DRVNTT1JfSFRfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiSW50ZWwocikNCj4gSHlwZXItVGhyZWFkaW5nIFRlY2hub2xvZ3kiDQo+ ICsjc3RyaW5nIFNUUl9QUk9DRVNTT1JfSFRfTU9ERV9IRUxQICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUw0KPiAiV2hlbiBkaXNhYmxlZCwgb25seSBvbmUgdGhyZWFkIHBlciBh Y3RpdmUgY29yZSB3aWxsIGJlIGF2YWlsYWJsZS4iDQo+ICsjc3RyaW5nIFNUUl9DQVBBQklMSVRZ X05PVF9TVVBQT1JUICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTm90DQo+ IFN1cHBvcnRlZCINCj4gKw0KPiArI3N0cmluZyBTVFJfQUxMICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkFMTCINCj4gKyNzdHJpbmcgU1RS XzEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiMSINCj4gKw0KPiArLy8NCj4gKy8vQ1BVIFBvd2VyIE9wdGlvbg0KPiArLy8NCj4gKyNz dHJpbmcgU1RSX1NZU1RFTV9QT1dFUl9PUFRJT05TICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJTeXN0ZW0gUG93ZXIgT3B0aW9ucyINCj4gKyNzdHJpbmcgU1RSX0JP T1RfUF9TVEFURSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICJCb290DQo+IHBlcmZvcm1hbmNlIG1vZGUiDQo+ICsjc3RyaW5nIFNUUl9CT09UX1BfU1RBVEVf SEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU2VsZWN0DQo+ IHRoZSBwZXJmb3JtYW5jZSBzdGF0ZSB0aGF0IHRoZSBCSU9TIHdpbGwgc2V0IGJlZm9yZSBPUyBo YW5kb2ZmLiINCj4gKyNzdHJpbmcgU1RSX0JPT1RfUF9TVEFURV9NQVggICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJNYXgNCj4gUGVyZm9ybWFuY2UiDQo+ICsjc3Ry aW5nIFNUUl9CT09UX1BfU1RBVEVfTUlOICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiTWF4DQo+IEJhdHRlcnkiDQo+ICsjc3RyaW5nIFNUUl9CT09UX1BfU1RBVEVf RkxFWCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRmxleGlibGUN Cj4gUmF0aW8oT3ZlcnJpZGUpIg0KPiArI3N0cmluZyBTVFJfQ1BVX0lTVF9QUk9NUFQgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkludGVsKFIpDQo+IFNwZWVk U3RlcCh0bSkiDQo+ICsjc3RyaW5nIFNUUl9DUFVfSVNUX0hFTFAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiQWxsb3dzIG1vcmUNCj4gdGhhbiB0d28gZnJl cXVlbmN5IHJhbmdlcyB0byBiZSBzdXBwb3J0ZWQuIg0KPiArI3N0cmluZyBTVFJfQ1NUQVRFX1BS T01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkMtU3Rh dGVzIg0KPiArI3N0cmluZyBTVFJfQ1NUQVRFX1BST01QVF9IRUxQICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIEMgU3RhdGVzIg0KPiAr I3N0cmluZyBTVFJfQ1hFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIiAgRW5oYW5jZWQgQy0NCj4gc3RhdGVzIg0KPiArI3N0cmluZyBTVFJf Q1hFX1BST01QVF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMNCj4gIkVuYWJsZS9EaXNhYmxlIEMxRSwgQzJFIGFuZCBDNEUuIFdoZW4gZW5hYmxlZCwgQ1BV IHdpbGwgc3dpdGNoIHRvDQo+IG1pbmltdW0gc3BlZWQgd2hlbiBhbGwgY29yZXMgZW50ZXIgQy1T dGF0ZS4iDQo+ICsjc3RyaW5nIFNUUl9IQVJEQzRFX1BST01QVCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkhhcmQgQzRFIg0KPiArI3N0cmluZyBTVFJfSEFS REM0RV9QUk9NUFRfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkVuYWJsZS9EaXNhYmxlIEhhcmQgQzRFIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX1RV UkJPX01PREUgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkludGVs KHIpIFR1cmJvIEJvb3N0IFRlY2hub2xvZ3kiDQo+ICsjc3RyaW5nIFNUUl9QUk9DRVNTT1JfVFVS Qk9fTU9ERV9IRUxQICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxl IHRvIGF1dG9tYXRpY2FsbHkgYWxsb3cgcHJvY2Vzc29yIGNvcmVzIHRvIHJ1biBmYXN0ZXIgdGhh biB0aGUgYmFzZQ0KPiBvcGVyYXRpbmcgZnJlcXVlbmN5IGlmIGl0J3Mgb3BlcmF0aW5nIGJlbG93 IHBvd2VyLCBjdXJyZW50LCBhbmQgdGVtcGVyYXR1cmUNCj4gc3BlY2lmaWNhdGlvbiBsaW1pdHMu IFR1cmJvIHdpbGwgYmUgZGlzYWJsZWQgdW5kZXIgYXV0byBtb2RlIGlmIFNvQyBpcyBCMA0KPiBT dGVwcGluZyINCj4gKyNzdHJpbmcgU1RSX01BWF9DX1NUQVRFX1NVUFBPUlRfUFJPTVBUICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICIgIE1heCBDIFN0YXRlIg0KPiArI3N0cmlu ZyBTVFJfTUFYX0NfU1RBVEVfU1VQUE9SVF9IRUxQICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMNCj4gIlRoaXMgb3B0aW9uIGNvbnRyb2xzIHRoZSBNYXggQyBTdGF0ZSB0aGF0IHRo ZSBwcm9jZXNzb3Igd2lsbCBzdXBwb3J0LiINCj4gKyNzdHJpbmcgU1RSX0NTVEFURV9DNyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiQzciDQo+ICsj c3RyaW5nIFNUUl9DU1RBVEVfQzYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAgIkM2Ig0KPiArI3N0cmluZyBTVFJfQ1NUQVRFX0M0ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJDNCINCj4gKyNzdHJpbmcg U1RSX0NTVEFURV9DMSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiQzEiDQo+ICsjc3RyaW5nIFNUUl9DWF9QT1BET1dOX1BST01QVCAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiQy0NCj4gc3RhdGUgUE9QRE9XTiINCj4g KyNzdHJpbmcgU1RSX0NYX1BPUERPV05fUFJPTVBUX0hFTFAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJEaXNhYmxpbmcgdGhlIG9wdGlvbiwgcHJldmVudHMgYXV0b21h dGljIHJldHVybiB0byBhIHByZXZpb3VzIEMzIG9yIEM0DQo+IHN0YXRlcyINCj4gKyNzdHJpbmcg U1RSX0NYX1BPUFVQX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJDLXN0YXRlDQo+IFBPUFVQIg0KPiArI3N0cmluZyBTVFJfQ1hfUE9QVVBfUFJPTVBU X0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIk9uDQo+IGVuYWJs ZWQsIFNCIG9ic2VydmVzIGJ1cyBtYXN0ZXIgcmVxdWVzdCwgd2lsbCB0YWtlIHN5c3RlbSBmcm9t IGEgQzMvQzQNCj4gc3RhdGUgdG8gYSBDMiBzdGF0ZSBhbmQgYXV0byBlbmFibGVzIGJ1cyBtYXN0 ZXJzLiINCj4gKyNzdHJpbmcgU1RSX1BQTV9DNF9FWElUX1BST01QVCAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJDNCBFeGl0DQo+IFRpbWluZyINCj4gKyNzdHJpbmcg U1RSX1BQTV9DNF9FWElUX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJUaGlzDQo+IG9wdGlvbiBjb250cm9scyBhIHByb2dyYW1tYWJsZSB0aW1lIGZvciB0 aGUgQ1BVIHZvbHRhZ2UgdG8gc3RhYmlsaXplIHdoZW4NCj4gZXhpdGluZyBmcm9tIGEgQzQgc3Rh dGUuIg0KPiArI3N0cmluZyBTVFJfUFBNX0RFRkFVTFRfQzRfRVhJVCAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRlZmF1bHQiDQo+ICsjc3RyaW5nIFNUUl9QUE1f RkFTVF9DNF9FWElUICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi RmFzdCINCj4gKyNzdHJpbmcgU1RSX1BQTV9TTE9XX0M0X0VYSVQgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTbG93Ig0KPiArI3N0cmluZyBTVFJfUFBNX0ZPUkNF X1NMT1dfQzRfRVhJVCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkZv cmNlIFNsb3ciDQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIElHRCBDb25maWd1cmF0aW9uIGZvcm0N Cj4gKy8vDQo+ICsjc3RyaW5nIFNUUl9JR0RfTENEX0NPTlRST0wgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJJR0QgLSBMQ0QNCj4gQ29udHJvbCINCj4gKyNzdHJp bmcgU1RSX0JPT1RfRElTUExBWV9ERVZJQ0VfUFJPTVBUICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMNCj4gIklHRCBCb290IFR5cGUiDQo+ICsjc3RyaW5nIFNUUl9CT09UX0RJU1BMQVlf REVWSUNFX0hFTFAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJTZWxlY3Qg cHJlZmVyZW5jZSBmb3IgSW50ZWdyYXRlZCBHcmFwaGljcyBEZXZpY2UgKElHRCkgZGlzcGxheSBp bnRlcmZhY2UNCj4gdXNlZCB3aGVuIHN5c3RlbSBib290cy4iDQo+ICsjc3RyaW5nIFNUUl9FRFAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJl RFAiDQo+ICsjc3RyaW5nIFNUUl9IRE1JICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICJIRE1JIg0KPiArI3N0cmluZyBTVFJfTUlQSTJEU0kgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTUlQSS1EU0ki DQo+ICsjc3RyaW5nIFNUUl9WR0FQT1JUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICJWR0EgUG9ydCINCj4gKyNzdHJpbmcgU1RSX0hETUlQT1JUQiAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkhETUkiDQo+ ICsjc3RyaW5nIFNUUl9EUFBPUlRCICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICJEUCBQb3J0IEIiDQo+ICsjc3RyaW5nIFNUUl9EUFBPUlRDICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJEUCBQb3J0IEMi DQo+ICsjc3RyaW5nIFNUUl9FRFBQT1JUQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICJlRFAiDQo+ICsjc3RyaW5nIFNUUl9EU0lQT1JUQSAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJEU0kgUE9SVCBBIg0K PiArI3N0cmluZyBTVFJfRFNJUE9SVEMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiRFNJIFBPUlQgQyINCj4gKw0KPiArI3N0cmluZyBTVFJfSUdEX0ZM QVRfUEFORUxfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTENE DQo+IFBhbmVsIFR5cGUiDQo+ICsjc3RyaW5nIFNUUl9JR0RfRkxBVF9QQU5FTF9IRUxQICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTZWxlY3QNCj4gdGhlIExDRCBwYW5l bCB1c2VkIGJ5IEludGVybmFsIEdyYXBoaWNzIERldmljZSBieSBzZWxlY3RpbmcgdGhlIGFwcHJv cHJpYXRlDQo+IHNldHVwIGl0ZW0uIg0KPiArI3N0cmluZyBTVFJfNjQwWDQ4MCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNjQwIHggNDgwIg0KPiAr I3N0cmluZyBTVFJfODAwWDYwMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiODAwIHggNjAwIg0KPiArI3N0cmluZyBTVFJfMTAyNFg3NjggICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMTAyNCB4IDc2OCIN Cj4gKyNzdHJpbmcgU1RSXzEyODBYMTAyNCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIjEyODAgeCAxMDI0Ig0KPiArI3N0cmluZyBTVFJfMTM2Nlg3Njgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMTM2NiB4 IDc2OCINCj4gKyNzdHJpbmcgU1RSXzE2ODBYMTA1MCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjE2ODAgeCAxMDUwIg0KPiArI3N0cmluZyBTVFJfMTky MFgxMjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi MTkyMCB4IDEyMDAiDQo+ICsjc3RyaW5nIFNUUl8xMjgwWDgwMCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIxMjgwIHggODAwIg0KPiArDQo+ICsjc3Ry aW5nIFNUUl9JR0RfTENEX0NPTlRST0wgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICJJR0QgLSBMQ0QNCj4gQ29udHJvbCINCj4gKyNzdHJpbmcgU1RSX0lHRF9GSVhF RF9HUkFQSElDU19NRU1PUllfU0laRSAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIklH RCBGaXhlZCBHcmFwaGljcyBNZW1vcnkiDQo+ICsjc3RyaW5nIFNUUl8xMjhNQiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIxMjggTUIiDQo+ICsj c3RyaW5nIFNUUl8yNTZNQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICIyNTYgTUIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0lHRF9USEVSTUFMX1BS T01QVCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIklHRA0KPiBUaGVy bWFsIg0KPiArI3N0cmluZyBTVFJfSUdEX1RIRVJNQUxfSEVMUCAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAiQ2hlY2sgdG8NCj4gZW5hYmxlIHRoZXJtYWwgbW9uaXRv cmluZyBvbiBJR0QuIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9HRlhfQk9PU1RfUFJPTVBUICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJHRlgNCj4gQm9vc3QiDQo+ICsj c3RyaW5nIFNUUl9HRlhfQk9PU1RfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBHRlggYm9vc3QiDQo+ICsNCj4gKyNzdHJp bmcgU1RSX1NQUkVBRF9TUEVDVFJVTV9DTE9DS19QUk9NUFQgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMNCj4gIlNwcmVhZCBTcGVjdHJ1bSBjbG9jayINCj4gKyNzdHJpbmcgU1RSX1NQUkVB RF9TUEVDVFJVTV9DTE9DS19IRUxQICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4g IkVuYWJsZS9EaXNhYmxlIFNwcmVhZCBTcGVjdHJ1bSBjbG9jayINCj4gKw0KPiArI3N0cmluZyBT VFJfRk9SQ0VfTElEX1NUQVRVU19QUk9NUFQgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiRm9yY2UgTGlkIFN0YXR1cyINCj4gKyNzdHJpbmcgU1RSX0xJRF9TVEFUVVNfX0FV VE9fUFJPTVBUICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkF1dG8iDQo+ ICsjc3RyaW5nIFNUUl9MSURfU1RBVFVTX19PTl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICJPTiINCj4gKyNzdHJpbmcgU1RSX0xJRF9TVEFUVVNfX09GRl9QUk9N UFQgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIk9GRiINCj4gKyNzdHJpbmcg U1RSX0ZPUkNFX0xJRF9TVEFUVVNfVEFCTEVUX0hFTFAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMNCj4gIkZvciB0ZXN0OiBmb3JjZSB0byBzZXQgbGlkIHN0YXR1cyBhcyBvbiBvciBvZmYi DQo+ICsjc3RyaW5nIFNUUl9GT1JDRV9MSURfU1RBVFVTX0VOQkRUX0hFTFAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJGb3IgQVVUTzogQklPUyB1cGRhdGVzIExJRCBTdGF0dXMg YXMgcGVyIFZpcnR1YWwgTElEIFN3aXRjaC4gRm9yIE9OL09GRjoNCj4gQklPUyBmb3JjZSB0byBz ZXQgbGlkIHN0YXR1cyBhcyBPTiBvciBPRkYiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BBTk5FTF9T Q0FMSU5HX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBhbmVs DQo+IFNjYWxpbmciDQo+ICsjc3RyaW5nIFNUUl9QQU5ORUxfU0NBTElOR19IRUxQICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTZWxlY3QNCj4gdGhlIExDRCBwYW5lbCBz Y2FsaW5nIG9wdGlvbiB1c2VkIGJ5IEludGVybmFsIEdyYXBoaWNzIERldmljZS4iDQo+ICsjc3Ry aW5nIFNUUl9QQU5ORUxfU0NBTElOR19TVFJFVENIICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTDQo+ICJDZW50ZXJpbmciDQo+ICsjc3RyaW5nIFNUUl9QQU5ORUxfU0NBTElOR19D RU5URVIgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJTdHJldGNoaW5n Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9WSURFT19MQ0RfSUdNQ0hCTENfUFJPTVBUICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJHTUNIIEJMQyBDb250cm9sIg0KPiArI3N0cmlu ZyBTVFJfVklERU9fTENEX0lHTUNIQkxDX0hFTFAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAgIkJhY2sNCj4gTGlnaHQgQ29udHJvbCBTZXR0aW5nIg0KPiArI3N0cmluZyBTVFJf VklERU9fTENEX0lHTUNIQkxDMSAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIlBXTS0NCj4gSW52ZXJ0ZWQiDQo+ICsjc3RyaW5nIFNUUl9WSURFT19MQ0RfSUdNQ0hCTEMy ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJHTUJ1cy1JbnZlcnRl ZCINCj4gKyNzdHJpbmcgU1RSX1ZJREVPX0xDRF9JR01DSEJMQzMgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJQV00tDQo+IE5vcm1hbCINCj4gKyNzdHJpbmcgU1RSX1ZJ REVPX0xDRF9JR01DSEJMQzQgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkdNQnVzLU5vcm1hbCINCj4gKw0KPiArDQo+ICsjc3RyaW5nIFNUUl9WSURFT19MQ0RfSUJJ QSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiQklBIg0KPiAr I3N0cmluZyBTVFJfVklERU9fTENEX0lCSUFBICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAgIkF1dG8iDQo+ICsjc3RyaW5nIFNUUl9WSURFT19MQ0RfSUJJQUQgICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRGlzYWJsZWQiDQo+ICsj c3RyaW5nIFNUUl9WSURFT19MQ0RfSUJJQUwxICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICAiTGV2ZWwgMSINCj4gKyNzdHJpbmcgU1RSX1ZJREVPX0xDRF9JQklBTDIg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJMZXZlbCAyIg0KPiAr I3N0cmluZyBTVFJfVklERU9fTENEX0lCSUFMMyAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAgIkxldmVsIDMiDQo+ICsjc3RyaW5nIFNUUl9WSURFT19MQ0RfSUJJQUw0 ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTGV2ZWwgNCINCj4g KyNzdHJpbmcgU1RSX1ZJREVPX0xDRF9JQklBTDUgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJMZXZlbCA1Ig0KPiArI3N0cmluZyBTVFJfVklERU9fTENEX0lCSUFI TFAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIj4+QXV0bzoNCj4g R01DSCBVc2UgVkJJT1MgRGVmYXVsdDsgICAgICAgICAgID4+TGV2ZWwgbjogRW5hYmxlZCB3aXRo IFNlbGVjdGVkDQo+IEFnZ3Jlc3NpdmVuZXNzIExldmVsLiINCj4gKw0KPiArI3N0cmluZyBTVFJf UFJJTUFSWV9ESVNQTEFZICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIlByaW1hcnkNCj4gRGlzcGxheSINCj4gKyNzdHJpbmcgU1RSX1BSSU1BUllfRElTUExBWV9I RUxQICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJTZWxlY3QNCj4gd2hp Y2ggb2YgSUdEL1BDSSBHcmFwaGljcyBkZXZpY2Ugc2hvdWxkIGJlIFByaW1hcnkgRGlzcGxheSIN Cj4gKyNzdHJpbmcgU1RSX0lHRF9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICJJR0QiDQo+ICsjc3RyaW5nIFNUUl9QQ0lfU1RSSU5HICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiUENJZSINCj4gKw0K PiArI3N0cmluZyBTVFJfVklERU9fUlMyX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUw0KPiAiUkM2KFJlbmRlciBTdGFuZGJ5KSINCj4gKyNzdHJpbmcgU1RS X1ZJREVPX1JTMl9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgICJDaGVjayB0bw0KPiBlbmFibGUgcmVuZGVyIHN0YW5kYnkgc3VwcG9ydCwgUkM2IHNob3Vs ZCBiZSBlbmFibGVkIGlmIFMwaXggaXMNCj4gZW5hYmxlZC5cblxuVGhpcyBpdGVtIHdpbGwgYmUg cmVhZCBvbmx5IGlmIFMwaXggaXMgZW5hYmxlZCINCj4gKw0KPiArI3N0cmluZyBTVFJfUEFWQ19Q Uk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBB VkMiDQo+ICsjc3RyaW5nIFNUUl9QQVZDX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRW5hYmxlL0Rpc2FibGUNCj4gUHJvdGVjdGVkIEF1ZGlv IFZpZGVvIENvbnRyb2wiDQo+ICsjc3RyaW5nIFNUUl9QQVZQX0xJVEVfTU9ERSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTElURSBNb2RlIg0KPiArI3N0cmlu ZyBTVFJfUEFWUF9TRVJQRU5UX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiU0VSUEVOVCBNb2RlIg0KPiArI3N0cmluZyBTVFJfRFZNVDQwX1RJVExFICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkRWTVQ0LjANCj4g R3JhcGhpYyBtZW1vcnkgc2V0dGluZyINCj4gKyNzdHJpbmcgU1RSX0RWTVQ0MF9QUkVfQUxMT0Mg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJEVk1UDQo+IFByZS1B bGxvY2F0ZWQiDQo+ICsjc3RyaW5nIFNUUl9EVk1UNDBfUFJFX0FMTE9DXzFNICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiMU0iDQo+ICsjc3RyaW5nIFNUUl9EVk1UNDBf UFJFX0FMTE9DXzhNICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiOE0i DQo+ICsjc3RyaW5nIFNUUl9EVk1UNDBfUFJFX0FMTE9DX0hFTFAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiU2VsZWN0DQo+IERWTVQgNC4wIFByZS1BbGxvY2F0ZWQgKFVN QSkgR3JhcGhpY3MgTWVtb3J5IHNpemUgdXNlZCBieSB0aGUgSW50ZXJuYWwNCj4gR3JhcGhpY3Mg RGV2aWNlLiINCj4gKyNzdHJpbmcgU1RSX0xPQ0tfRUNPX1BST01QVCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJFQ08NCj4gTG9jayINCj4gKyNzdHJpbmcgU1RS X0xPQ0tfRUNPX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMNCj4gIkVuYWJsZS9EaXNhYmxlIEVDTyBMb2NrIg0KPiArI3N0cmluZyBTVFJfRE9QX0NHX1BS T01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkRPUCBD RyINCj4gKyNzdHJpbmcgU1RSX0RPUF9DR19fSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIERPUCBDbG9jayBHYXRpbmci DQo+ICsNCj4gKy8vDQo+ICsvLyBEVk1UNS4wIEdyYXBoaWNzIE1lbW9yeQ0KPiArLy8NCj4gKyNz dHJpbmcgU1RSX0RWTVQ1MF9USVRMRSAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiRFZNVDUuMCBHcmFwaGljDQo+IG1lbW9yeSBzZXR0aW5nIg0KPiArI3N0cmluZyBTVFJf RFZNVDUwX1BSRV9BTExPQyAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJEVk1U IFByZS0NCj4gQWxsb2NhdGVkIg0KPiArI3N0cmluZyBTVFJfRFZNVDUwX1BSRV9BTExPQ18wTSAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIwTSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1 MF9QUkVfQUxMT0NfMzJNICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMzJNIg0KPiAr I3N0cmluZyBTVFJfRFZNVDUwX1BSRV9BTExPQ182NE0gICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICI2NE0iDQo+ICsjc3RyaW5nIFNUUl9EVk1UNTBfUFJFX0FMTE9DXzk2TSAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjk2TSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVf QUxMT0NfMTI4TSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMTI4TSINCj4gKyNzdHJp bmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0NfMTYwTSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAiMTYwTSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0NfMTkyTSAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAiMTkyTSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxM T0NfMjI0TSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMjI0TSINCj4gKyNzdHJpbmcg U1RSX0RWTVQ1MF9QUkVfQUxMT0NfMjU2TSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi MjU2TSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0NfMjg4TSAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiMjg4TSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0Nf MzIwTSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMzIwTSINCj4gKyNzdHJpbmcgU1RS X0RWTVQ1MF9QUkVfQUxMT0NfMzUyTSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMzUy TSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0NfMzg0TSAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiMzg0TSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0NfNDE2 TSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNDE2TSINCj4gKyNzdHJpbmcgU1RSX0RW TVQ1MF9QUkVfQUxMT0NfNDQ4TSAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNDQ4TSIN Cj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0NfNDgwTSAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiNDgwTSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9QUkVfQUxMT0NfNTEyTSAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNTEyTSINCj4gKw0KPiArI3N0cmluZyBTVFJf RFZNVDUwX1BSRV9BTExPQ19IRUxQICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTZWxl Y3QNCj4gRFZNVCA1LjAgUHJlLUFsbG9jYXRlZCAoRml4ZWQpIEdyYXBoaWNzIE1lbW9yeSBzaXpl IHVzZWQgYnkgdGhlIEludGVybmFsDQo+IEdyYXBoaWNzIERldmljZSINCj4gKyNzdHJpbmcgU1RS X0RWTVQ1MF9EVk1UICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRFZN VCBUb3RhbCBHZngNCj4gTWVtIg0KPiArI3N0cmluZyBTVFJfRFZNVDUwX0RWTVRfSEVMUCAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTZWxlY3QNCj4gRFZNVDUuMCBUb3RhbCBH cmFwaGljIE1lbW9yeSBzaXplIHVzZWQgYnkgdGhlIEludGVybmFsIEdyYXBoaWNzIERldmljZSIN Cj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9BTExPQ18xMjggICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiMTI4TSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1MF9BTExPQ18yNTYgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMjU2TSINCj4gKyNzdHJpbmcgU1RSX0RWTVQ1 MF9BTExPQ19NQVggICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTUFYIg0KPiAr I3N0cmluZyBTVFJfR1RUX1NJWkUgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJHVFQgU2l6ZSINCj4gKyNzdHJpbmcgU1RSX0dUVF9TSVpFX0hFTFAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU2VsZWN0IHRoZSBHVFQNCj4gU2l6ZSAiDQo+ ICsjc3RyaW5nIEdUVF9TSVpFXzFNQiAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIjFNQiINCj4gKyNzdHJpbmcgR1RUX1NJWkVfMk1CICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMk1CIg0KPiArI3N0cmluZyBTVFJfQVBFUlRVUkVf U0laRSAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJBcGVydHVyZSBTaXpl Ig0KPiArI3N0cmluZyBTVFJfQVBFUlRVUkVfU0laRV9IRUxQICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICJTZWxlY3QgdGhlDQo+IEFwZXJ0dXJlIFNpemUiDQo+ICsjc3RyaW5nIEFQ RVJUVVJFX1NJWkVfMTI4TUIgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjEy OE1CIg0KPiArI3N0cmluZyBBUEVSVFVSRV9TSVpFXzI1Nk1CICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICIyNTZNQiINCj4gKyNzdHJpbmcgQVBFUlRVUkVfU0laRV81MTJNQiAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNTEyTUIiDQo+ICsNCj4gKyNzdHJp bmcgU1RSX0lHRF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIkludGVncmF0ZWQNCj4gR3JhcGhpY3MgRGV2aWNlIg0KPiArI3N0cmluZyBTVFJfSUdEX0hF TFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRW5hYmxlIDog RW5hYmxlDQo+IEludGVncmF0ZWQgR3JhcGhpY3MgRGV2aWNlIChJR0QpIHdoZW4gc2VsZWN0ZWQg YXMgdGhlIFByaW1hcnkgVmlkZW8NCj4gQWRhcHRvci4gRGlzYWJsZTogQWx3YXJ5cyBkaXNhYmxl IElHRCINCj4gKw0KPiArI3N0cmluZyBTVFJfQUNQSV9BTFNfRU5BQkxFICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkFMUw0KPiBTdXBwb3J0Ig0KPiArI3N0cmlu ZyBTVFJfQUNQSV9BTFNfRU5BQkxFX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAgIlZhbGlkDQo+IG9ubHkgZm9yIEFDUEkuIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9T RUNfQ09ORklHVVJBVElPTl9TVUJUSVRMRSAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICJUWEUNCj4gQ29uZmlndXJhdGlvbiINCj4gKw0KPiArI3N0cmluZyBTVFJfU0VDX1NFVFRJTkdf UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVFhFIg0KPiAr I3N0cmluZyBTVFJfU0VDX1NFVFRJTkdfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9UUE1fQ09ORklHVVJBVElPTl9Q Uk9NUFQgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJUUE0gQ29uZmlndXJh dGlvbiINCj4gKw0KPiArI3N0cmluZyBTVFJfRklSTVdBUkVfVFBNX1BST01QVCAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiZlRQTSINCj4gKyNzdHJpbmcgU1RSX0ZJ Uk1XQVJFX1RQTV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkVuYWJsZS9EaXNhYmxlIGZUUE0iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BUVF9QUk9NUFQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBUVCINCj4g KyNzdHJpbmcgU1RSX1BUVF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIkVuYWJsZS9EaXNhYmxlDQo+IFBUVCINCj4gKw0KPiArI3N0cmluZyBT VFJfVFBNX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiRGlzY3JldGUNCj4gVFBNIg0KPiArI3N0cmluZyBTVFJfVFBNX0hFTFAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRW5hYmxlL0Rpc2FibGUN Cj4gVFBNIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9NRUFTVVJFRF9CT09UX0VOQUJMRV9QUk9NUFQg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJNZWFzdXJlZCBCb290Ig0KPiArI3N0 cmluZyBTVFJfTUVBU1VSRURfQk9PVF9FTkFCTEVfSEVMUCAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTWVhc3VyZWQgQm9vdCINCj4gKw0KPiArI3N0 cmluZyBTVFJfU0VDX0ZMQVNIX1VQREFURV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiVFhFDQo+IEhNUkZQTyAiDQo+ICsjc3RyaW5nIFNUUl9TRUNfRkxBU0hfVVBE QVRFX0hFTFAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIiDQo+ICsNCj4g KyNzdHJpbmcgU1RSX1NFQ19GSVJNV0FSRV9VUERBVEVfUFJPTVBUICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMNCj4gIlRYRSBGaXJtd2FyZSBVcGRhdGUiDQo+ICsjc3RyaW5nIFNUUl9T RUNfRklSTVdBUkVfVVBEQVRFX0hFTFAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICIiDQo+ICsjc3RyaW5nIFNUUl9TRUNfVU5DT05GSUdVUkFUSU9OX1BST01QVCAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJUWEUgVW5jb25maWd1cmF0aW9uIFBlcmZvcm0iDQo+ ICsjc3RyaW5nIFNUUl9TRUNfVU5DT05GSUdVUkFUSU9OX0hFTFAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJSZXZlcnQgVFhFIHNldHRpbmdzIHRvIGZhY3RvcnkgZGVmYXVs dHMiDQo+ICsjc3RyaW5nIFNUUl9QVFRfU1VCVElUTEUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICJQbGF0Zm9ybSBUcnVzdA0KPiBUZWNobm9sb2d5Ig0KPiAr I3N0cmluZyBTVFJfUFRUX0RJU0FCTEVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiUFRUDQo+IERpc2FibGUiDQo+ICsjc3RyaW5nIFNUUl9QVFRfRElTQUJM RV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJEaXNhYmxl IFBUVA0KPiAiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1JFVk9LRV9UUlVTVF9QUk9NUFQgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlJldm9rZSBUcnVzdCINCj4gKyNz dHJpbmcgU1RSX1JFVk9LRV9UUlVTVF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIFJldm9rZSBUcnVzdCINCj4gKw0KPiArI3N0 cmluZyBTVFJfUEFTU1dPUkRfQ09ORklHVVJBVElPTl9TVUJUSVRMRSAgICAgICAgICAgICNsYW5n dWFnZSBlbi0NCj4gVVMgIlBhc3N3b3JkIFNldHRpbmciDQo+ICsjc3RyaW5nIFNUUl9QQVNTV09S RF9DT05GSUdVUkFUSU9OX0hFTFAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJQ YXNzd29yZCBTZXR0aW5nIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9URFRfVElUTEUgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJJbnRlbChSKSBBbnRpLQ0K PiBUaGVmdCBUZWNobm9sb2d5IENvbmZpZ3VyYXRpb24iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1RE VF9DT05GSUdfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IkludGVsKFIpDQo+IEFUQU0iDQo+ICsjc3RyaW5nIFNUUl9URFRfQ09ORklHX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBC SU9TIEFUIENvZGUgZnJvbSBSdW5uaW5nLiINCj4gKw0KPiArI3N0cmluZyBTVFJfUEJBX0NPTkZJ R19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiSW50ZWwo UikNCj4gQVQgUGxhdGZvcm0gUEJBIg0KPiArI3N0cmluZyBTVFJfUEJBX0NPTkZJR19IRUxQICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2Fi bGUgQklPUyBBVCBDb2RlIGZyb20gUnVubmluZy4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1REVF9S RUNPVkVSWV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkFU DQo+IFJlY292ZXJ5Ig0KPiArI3N0cmluZyBTVFJfVERUX1JFQ09WRVJZX0hFTFAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU2V0IHRoZQ0KPiBudW1iZXIgb2YgdGlt ZXMgQVQgUmVjb3ZlcnkgYXR0ZW1wdHMgd2lsbCBiZSBhbGxvd2VkIg0KPiArDQo+ICsjc3RyaW5n IFNUUl9URFRfU1VTUEVORF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJJbnRlbChSKQ0KPiBBVCBTdXNwZW5kIE1vZGUiDQo+ICsjc3RyaW5nIFNUUl9URFRf U1VTUEVORF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJS ZXF1ZXN0DQo+IHRoYXQgcGxhdGZvcm0gZW50ZXIgQVQgU3VzcGVuZCBNb2RlIC0gT25seSBBdmFp bGFibGUgd2hlbiBBVCBFbnJvbGxlZCINCj4gKw0KPiArI3N0cmluZyBTVFJfQURNSU5fUEFTU1dP UkQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU2V0dXANCj4g QWRtaW5pc3RyYXRvciBQYXNzd29yZCINCj4gKyNzdHJpbmcgU1RSX0FETUlOX1BBU1NXT1JEX0hF TFAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNldA0KPiBTZXR1cCBB ZG1pbmlzdHJhdG9yIFBhc3N3b3JkIg0KPiArI3N0cmluZyBTVFJfVVNFUl9QQVNTV09SRCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVXNlcg0KPiBQYXNzd29y ZCINCj4gKyNzdHJpbmcgU1RSX1VTRVJfUEFTU1dPUkRfSEVMUCAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNldA0KPiBVc2VyIFBhc3N3b3JkIg0KPiArI3N0cmluZyBT VFJfQ0hBTkdFX0FETUlOX1BBU1NXT1JEICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiQ2hhbmdlIFN1cGVydmlzb3IgUGFzc3dvcmQiDQo+ICsjc3RyaW5nIFNUUl9DSEFO R0VfQURNSU5fUEFTU1dPUkRfSEVMUCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ ICJDaGFuZ2UgU2V0dXAgQWRtaW5pc3RyYXRvciBQYXNzd29yZCINCj4gKyNzdHJpbmcgU1RSX0NI QU5HRV9VU0VSX1BBU1NXT1JEICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkNoYW5nZSBVc2VyIFBhc3N3b3JkIg0KPiArI3N0cmluZyBTVFJfQ0hBTkdFX1VTRVJfUEFT U1dPUkRfSEVMUCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQ2hhbmdlIFVz ZXIgUGFzc3dvcmQiDQo+ICsjc3RyaW5nIFNUUl9TQl9USVRMRSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTZWN1cmUgQm9vdA0KPiBDb25maWd1cmF0 aW9uIg0KPiArI3N0cmluZyBTVFJfQ0hFQ0tfU0hBMjU2X0hBU0hfTUFTVEVSX0JPT1RfQ09ERVMg ICAgICAgICNsYW5ndWFnZQ0KPiBlbi1VUyAiQ2hlY2sgU0hBMjU2IEhhc2ggb2YgTWFzdGVyIEJv b3QgQ29kZXMiDQo+ICsjc3RyaW5nIFNUUl9DSEVDS19TSEEyNTZfSEFTSF9NQVNURVJfQk9PVF9D T0RFU19IRUxQDQo+ICNsYW5ndWFnZSBlbi1VUyAiRW5hYmxlL0Rpc2FibGUgdGhlIGNoZWNraW5n IG9mIFNIQTI1NiBoYXNoIG9mIE1hc3Rlcg0KPiBCb290IENvZGVzIg0KPiArLy8NCj4gKy8vU291 dGggQ2x1c3RlciBDb25maWd1cmF0aW9uDQo+ICsvLw0KPiArI3N0cmluZyBTVFJfSFBFVF9QUk9N UFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiSGlnaCBQ cmVjaXNpb24NCj4gVGltZXIiDQo+ICsjc3RyaW5nIFNUUl9IUEVUX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJFbmFibGUgb3INCj4gRGlzYWJs ZSB0aGUgSGlnaCBQcmVjaXNpb24gRXZlbnQgVGltZXIuIg0KPiArI3N0cmluZyBTVFJfSFBFVF9C T09UVElNRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiQm9v dA0KPiBUaW1lIHdpdGggSFBFVCBUaW1lciINCj4gKyNzdHJpbmcgU1RSX0hQRVRfQk9PVFRJTUVf SEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkJvb3QNCj4gdGlt ZSBjYWxjdWxhdGlvbiB3aXRoIEhpZ2ggUHJlY2lzaW9uIEV2ZW50IFRpbWVyIGVuYWJsZWQuIg0K PiArDQo+ICsjc3RyaW5nIFNUUl9IUEVUX1NVQlRJVExFICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICJIaWdoIFByZWNpc2lvbg0KPiBFdmVudCBUaW1lciBDb25m aWd1cmF0aW9uIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9VU0JfQ09ORklHX1NVQlRJVExFICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJVU0INCj4gQ29uZmlndXJhdGlvbiIN Cj4gKyNzdHJpbmcgU1RSX1VTQl9ERUJVR19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIlVTQg0KPiBEZWJ1ZyINCj4gKyNzdHJpbmcgU1RSX1VTQl9ERUJV R19IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkVuYWJs ZSBvcg0KPiBEaXNhYmxlIFVTQiBkZWJ1ZyBmZWF0dXJlIg0KPiArI3N0cmluZyBTVFJfVVNCX1hI Q0lfU1VQUE9SVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAi WEhDSSBDb250cm9sbGVyIg0KPiArI3N0cmluZyBTVFJfVVNCX1hIQ0lfU1VQUE9SVF9IRUxQICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgWEhD SSBDb250cm9sbGVyICINCj4gKw0KPiArI3N0cmluZyBTVFJfVVNCX0hTSUNfMF9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiICBIU0lDICMwIg0KPiArI3N0 cmluZyBTVFJfVVNCX0hTSUNfMF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgSFNJQyAjMC4gRW5hYmxpbmcgSFNJQyAjMCB3 aWxsIGFsc28gZW5hYmxlIFVTQjQ2NDAgVVNCIEhVQg0KPiB3aXRoIGFuIHVzZWxlc3MgY2FyZCBy ZWFkZXIgYW5kIGltcGFjdCByZXNwb25zaXZlbmVzcy4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1VT Ql9YSENJX0xQTV9TVVBQT1JUX1BST01QVCAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIlVTQjIgTGluayBQb3dlciBNYW5hZ2VtZW50Ig0KPiArI3N0cmluZyBTVFJfVVNCX1hIQ0lf TFBNX1NVUFBPUlRfSEVMUCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5h YmxlL0Rpc2FibGUgVVNCMiBMaW5rIFBvd2VyIE1hbmFnZW1lbnQgIg0KPiArDQo+ICsjc3RyaW5n IFNUUl9VU0JfQVVUT19NT0RFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJVU0INCj4gQ29udHJvbGxlciBBdXRvIE1vZGUiDQo+ICsjc3RyaW5nIFNUUl9VU0Jf QVVUT19NT0RFX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJJ Zg0KPiBlbmFibGVkLCBFSENJIGlzIGVuYWJsZWQgYXMgZGVmYXVsdCBmb3IgQTAuIEZvciBBMSBh bmQgbGF0ZXIsIFhIQ0kgaXMgZW5hYmxlZA0KPiBhcyBkZWZhdWx0LiINCj4gKw0KPiArI3N0cmlu ZyBTVFJfUENIX1VTQjMwX01PREVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiWEhDSSBNb2RlIg0KPiArI3N0cmluZyBTVFJfUENIX1VTQjMwX01PREVfSEVM UCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTW9kZQ0KPiBvZiBvcGVy YXRpb24gb2YgeEhDSSBjb250cm9sbGVyLiINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0IzMF9TVFJF QU1TICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlhIQ0kNCj4gU3Ry ZWFtcyINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0IzMF9TVFJFQU1TX0hFTFAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIFhIQ0kgU3RyZWFtcyIN Cj4gKy8vDQo+ICsvLyBVU0IgRGV2aWNlcw0KPiArLy8NCj4gKyNzdHJpbmcgU1RSX1VTQl9PUFRJ T05TX0ZPUk1fVElUTEUgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVTQg0K PiBDb25maWd1cmF0aW9uIg0KPiArI3N0cmluZyBTVFJfVVNCX09QVElPTlNfRk9STV9IRUxQICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVVNCDQo+IENvbmZpZ3VyYXRpb24g U2V0dGluZ3MiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0IyMV9QUk9NUFQgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkVIQ0kNCj4gQ29udHJvbGxlciINCj4g KyNzdHJpbmcgU1RSX1BDSF9VU0IyX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIkNvbnRyb2wgdGhlDQo+IFVTQiBFSENJIChVU0IgMi4wKSBmdW5jdGlv bnMuIg0KPiArI3N0cmluZyBTVFJfUENIX1VTQl9QRVJfUE9SVF9QUk9NUFQgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiVVNCIFBlci1Qb3J0IENvbnRyb2wiDQo+ICsjc3Ry aW5nIFNUUl9QQ0hfVVNCX1BFUl9QT1JUX0hFTFAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTDQo+ICJDb250cm9sIGVhY2ggb2YgdGhlIFVTQiBwb3J0cyAoMH4zKSBlbmFibGUv ZGlzYWJsZSINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9SVDBfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVTQg0KPiBQb3J0ICMwIg0KPiArI3N0cmluZyBT VFJfUENIX1VTQl9QT1JUMV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiVVNCDQo+IFBvcnQgIzEiDQo+ICsjc3RyaW5nIFNUUl9QQ0hfVVNCX1BPUlQyX1BST01Q VCAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJVU0INCj4gUG9ydCAjMiIN Cj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfUE9SVDNfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIlVTQg0KPiBQb3J0ICMzIg0KPiArI3N0cmluZyBTVFJfUENIX1VT Ql9QT1JUNF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVVNC DQo+IFBvcnQgIzQiDQo+ICsjc3RyaW5nIFNUUl9QQ0hfVVNCX1BPUlQ1X1BST01QVCAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJVU0INCj4gUG9ydCAjNSINCj4gKyNzdHJp bmcgU1RSX1BDSF9VU0JfUE9SVDZfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIlVTQg0KPiBQb3J0ICM2Ig0KPiArI3N0cmluZyBTVFJfUENIX1VTQl9QT1JUN19Q Uk9NUFQgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVVNCDQo+IFBvcnQg IzciDQo+ICsjc3RyaW5nIFNUUl9QQ0hfVVNCX1BPUlRfRElTX0hFTFAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBVU0IgcG9ydCINCj4gKyNz dHJpbmcgU1RSX1BDSF9VU0JSTUhfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIlVTQg0KPiBSTUggTW9kZSINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JSTUhf SEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJs ZS9EaXNhYmxlIFBDSCBVU0IgUmF0ZSBNYXRjaGluZyBIdWJzIG1vZGUiDQo+ICsjc3RyaW5nIFNU Ul9QQ0hfVVNCX0VIQ0lERUJVR19QUk9NUFQgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJVU0IgRUhDSSBkZWJ1ZyINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfRUhDSURFQlVH X0hFTFAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNh YmxlIFBDSCBFSENJIGRlYnVnIGNhcGFiaWxpdHkiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BDSF9V U0JfT1RHX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVT Qg0KPiBPVEcgU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfT1RHX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIFVT QiBPVEcgU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX1BDSF9VU0JfVkJVU19QUk9NUFQgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVTQg0KPiBWQlVTIg0KPiArI3N0cmlu ZyBTVFJfUENIX1VTQl9WQlVTX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAiVkJVUw0KPiBzaG91bGQgYmUgT04gaW4gSE9TVCBtb2RlLiBJdCBzaG91bGQgYmUg T0ZGIGluIE9URyBkZXZpY2UgbW9kZS4gVkJVUyBpcw0KPiBmb3JjZWQgdG8gQXV0byBtb2RlIGZv ciBGRlJELVBSMSBzaW5jZSBGU0EgbXV4IHdpbGwgY29udHJvbCBpdC4iDQo+ICsjc3RyaW5nIFNU Ul9QQ0hfRlNBX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICJGU0EgT04iDQo+ICsjc3RyaW5nIFNUUl9QQ0hfRlNBX0hFTFAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJGU0Egc2hvdWxkIGJlDQo+IE9OIGZvciBQ UjEiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BDSV9NT0RFX1NUUklORyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBDSSBNb2RlIg0KPiArI3N0cmluZyBTVFJfQUNQ SV9NT0RFX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi QUNQSQ0KPiBNb2RlIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TTUFSVEFVVE9fU1RSSU5HICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTbWFydA0KPiBBdXRvIg0KPiAr DQo+ICsjc3RyaW5nIFNUUl9ERVZJQ0VfU1VCVElUTEUgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICJPbmJvYXJkDQo+IERldmljZXMiDQo+ICsNCj4gKyNzdHJpbmcg U1RSX0xBTl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgIkxBTiINCj4gKyNzdHJpbmcgU1RSX0xBTl9IRUxQICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkVuYWJsZXMgb3INCj4gRGlzYWJsZXMgdGhl IE9uYm9hcmQgTEFOIENvbnRyb2xsZXIuIg0KPiArDQo+ICsvLw0KPiArLy8gR2JFDQo+ICsvLw0K PiArI3N0cmluZyBTVFJfTEFOX09QVElPTlNfRk9STV9USVRMRSAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAgIkxBTg0KPiBDb25maWd1cmF0aW9uIg0KPiArI3N0cmluZyBTVFJf TEFOX09QVElPTlNfRk9STV9IRUxQICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIkxBTg0KPiBDb25maWd1cmF0aW9uIFNldHRpbmdzIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9Q Q0hfTEFOX0NPTlRST0xMRVIgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICAiTEFODQo+IENvbnRyb2xsZXIiDQo+ICsjc3RyaW5nIFNUUl9QQ0hfTEFOX0NPTlRST0xMRVJf SEVMUCAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJs ZSBvbmJvYXJkIE5JQyINCj4gKyNzdHJpbmcgU1RSX1BDSF9MQU5fV09MX1BST01QVCAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICINCj4gV2FrZSBvbiBMQU4gRW5hYmxl Ig0KPiArI3N0cmluZyBTVFJfUENIX0xBTl9XT0xfSEVMUCAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgaW50ZWdyYXRlZCBMQU4gdG8g d2FrZSB0aGUgc3lzdGVtIg0KPiArI3N0cmluZyBTVFJfUENIX1NMUF9MQU5fTE9XX0RDX1BST01Q VCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIg0KPiBTTFBfTEFOIyBMb3cgb24g REMgUG93ZXIiDQo+ICsjc3RyaW5nIFNUUl9QQ0hfU0xQX0xBTl9MT1dfRENfSEVMUCAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBTTFBfTEFOIyBM b3cgb24gREMgUG93ZXIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BDSF9QWEVST01fQ09OVFJPTCAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBYRQ0KPiBST00iDQo+ICsj c3RyaW5nIFNUUl9QQ0hfUFhFUk9NX0NPTlRST0xfSEVMUCAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBQWEUgT3B0aW9uIFJPTSBleGVjdXRpb24g Zm9yIG9uYm9hcmQgTEFOIg0KPiArDQo+ICsvLw0KPiArLy8gQXphbGlhDQo+ICsvLw0KPiArI3N0 cmluZyBTVFJfQVpBTElBX09QVElPTlNfRk9STV9USVRMRSAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiQXVkaW8gQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0FaQUxJ QV9PUFRJT05TX0ZPUk1fSEVMUCAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4g IkF1ZGlvIENvbmZpZ3VyYXRpb24gU2V0dGluZ3MiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BDSF9B WkFMSUFfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkF1 ZGlvDQo+IENvbnRyb2xsZXIiDQo+ICsjc3RyaW5nIFNUUl9QQ0hfQVpBTElBX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJDb250cm9sDQo+IERldGVjdGlv biBvZiB0aGUgQXphbGlhIGRldmljZS5cblxuRGlzYWJsZWQgPSBBemFsaWEgd2lsbCBiZSB1bmNv bmRpdGlvbmFsbHkNCj4gZGlzYWJsZWRcblxuRW5hYmxlZCA9IEF6YWxpYSB3aWxsIGJlIHVuY29u ZGl0aW9uYWxseSBFbmFibGVkXG5cbkF1dG8gPQ0KPiBBemFsaWEgd2lsbCBiZSBlbmFibGVkIGlm IHByZXNlbnQsIGRpc2FibGVkIG90aGVyd2lzZSINCj4gKyNzdHJpbmcgU1RSX1BDSF9BWkFMSUFf RFNfU1VQUE9SVCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkFsd2F5 cyBlbmFibGUgQXphbGlhIHdoaWxlIEF6YWxpYSBEb2NraW5nIFN1cHBvcnQgaXMgZW5hYmxlZCIN Cj4gKw0KPiArI3N0cmluZyBTVFJfQVpBTElBX1ZDX1BST01QVCAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAiICBBemFsaWENCj4gVkNpIEVuYWJsZSINCj4gKyNzdHJp bmcgU1RSX0FaQUxJQV9WQ19IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIFZpcnR1YWwgQ2hhbm5lbCAxIG9mIEF1ZGlvIENv bnRyb2xsZXIiDQo+ICsjc3RyaW5nIFNUUl9BWkFMSUFfRFNfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIgIEF6YWxpYQ0KPiBEb2NraW5nIFN1cHBvcnQg RW5hYmxlIg0KPiArI3N0cmluZyBTVFJfQVpBTElBX0RTX0hFTFAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgQXphbGlhIERvY2tp bmcgU3VwcG9ydCBvZiBBdWRpbyBDb250cm9sbGVyIg0KPiArI3N0cmluZyBTVFJfQVpBTElBX1BN RV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiICBBemFs aWENCj4gUE1FIEVuYWJsZSINCj4gKyNzdHJpbmcgU1RSX0FaQUxJQV9QTUVfSEVMUCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIFBv d2VyIE1hbmFnZW1lbnQgY2FwYWJpbGl0eSBvZiBBdWRpbyBDb250cm9sbGVyIg0KPiArI3N0cmlu ZyBTVFJfSERNSV9DT0RFQ19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAiICBBemFsaWENCj4gSERNSSBDb2RlYyINCj4gKyNzdHJpbmcgU1RSX0hETUlfQ09E RUNfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVu YWJsZS9EaXNhYmxlIGludGVybmFsIEhETUkgY29kZWMgZm9yIEF6YWxpYSINCj4gKw0KPiArI3N0 cmluZyBTVFJfSERNSV9DT0RFQ19QT1JUQl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiDQo+IEF6YWxpYSBIRE1JIGNvZGVjIFBvcnQgQiINCj4gKyNzdHJpbmcgU1RS X0hETUlfQ09ERUNfUE9SVENfUFJPTVBUICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIg0KPiBBemFsaWEgSERNSSBjb2RlYyBQb3J0IEMiDQo+ICsjc3RyaW5nIFNUUl9IRE1JX0NP REVDX1BPUlREX1BST01QVCAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICINCj4g QXphbGlhIEhETUkgY29kZWMgUG9ydCBEIg0KPiArI3N0cmluZyBTVFJfSERNSV9DT0RFQ19QT1JU X0hFTFAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rp c2FibGUgaW50ZXJuYWwgSERNSSBjb2RlYyBQb3J0IGZvciBBemFsaWEiDQo+ICsvLw0KPiArLy8g TWlzYy4NCj4gKy8vDQo+ICsjc3RyaW5nIFNUUl9NSVNDX09QVElPTl9GT1JNX1RJVExFICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJNaXNjZWxsYW5lb3VzIENvbmZpZ3Vy YXRpb24iDQo+ICsjc3RyaW5nIFNUUl9NSVNDX09QVElPTl9GT1JNX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBNaXNjLiBGZWF0dXJl cyINCj4gKw0KPiArI3N0cmluZyBTVFJfSFBFVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiSGlnaCBQcmVjaXNpb24NCj4gVGltZXIiDQo+ICsj c3RyaW5nIFNUUl9IUEVUX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICJFbmFibGUgb3INCj4gRGlzYWJsZSB0aGUgSGlnaCBQcmVjaXNpb24gRXZl bnQgVGltZXIiDQo+ICsjc3RyaW5nIFNUUl9IUEVUX0JPT1RUSU1FX1BST01QVCAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJCb290DQo+IFRpbWUgd2l0aCBIUEVUIFRpbWVy Ig0KPiArI3N0cmluZyBTVFJfSFBFVF9CT09UVElNRV9IRUxQICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAiQm9vdA0KPiB0aW1lIGNhbGN1bGF0aW9uIHdpdGggSGlnaCBQ cmVjaXNpb24gRXZlbnQgVGltZXIgZW5hYmxlZCINCj4gKw0KPiArDQo+ICsjc3RyaW5nIFNUUl9D TE9DS19TUFJFQURfU1BFQ19FTkFCTEUgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT DQo+ICJDbG9jayBTcHJlYWQgU3BlY3RydW0iDQo+ICsjc3RyaW5nIFNUUl9DTE9DS19TUFJFQURf U1BFQ19FTkFCTEVfSEVMUCAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUg Q2xvY2sgQ2hpcCdzIFNwcmVhZCBTcGVjdHJ1bSBmZWF0dXJlIg0KPiArDQo+ICsNCj4gKyNzdHJp bmcgU1RSX1NUQVRFX0FGVEVSX0czICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIlN0YXRlIEFmdGVyDQo+IEczIg0KPiArI3N0cmluZyBTVFJfU1RBVEVfQUZURVJf RzNfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU3BlY2lmeQ0K PiB3aGF0IHN0YXRlIHRvIGdvIHRvIHdoZW4gcG93ZXIgaXMgcmUtYXBwbGllZCBhZnRlciBhIHBv d2VyIGZhaWx1cmUgKEczDQo+IHN0YXRlKSINCj4gKyNzdHJpbmcgU1RSX1MwX0FGVEVSX0czX1NU UklORyAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlMwIFN0YXRlIg0K PiArI3N0cmluZyBTVFJfUzVfQUZURVJfRzNfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiUzUgU3RhdGUiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BDSF9VQVJU X1NFTEVDVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVBUlQN Cj4gSW50ZXJmYWNlIFNlbGVjdGlvbiINCj4gKyNzdHJpbmcgU1RSX1BDSF9VQVJUX1NFTEVDVF9I RUxQICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNlbGVjdA0KPiB3aGlj aCBVQVJUIGludGVyZmFjZSB0byB1c2UiDQo+ICsjc3RyaW5nIFNUUl9VQVJUX1NFTEVDVF9QQ1Ug ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJJbnRlcm5hbA0KPiBV QVJUIg0KPiArI3N0cmluZyBTVFJfVUFSVF9TRUxFQ1RfU0lPICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU3VwZXJJTw0KPiBVQVJUIg0KPiArDQo+ICsjc3RyaW5n IFNUUl9QQ1VfVUFSVF9BICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJQQ1UgVUFSVA0KPiBDT00gMSINCj4gKyNzdHJpbmcgU1RSX1BDVV9VQVJUX0FfSEVM UCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9E aXNhYmxlIE9uYm9hcmQgUENVIFVBUlQgQ09NIDEiDQo+ICsjc3RyaW5nIFNUUl9QQ1VfVUFSVF9C ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJQQ1UgVUFS VA0KPiBDT00gMiINCj4gKyNzdHJpbmcgU1RSX1BDVV9VQVJUX0JfSEVMUCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIE9uYm9hcmQg UENVIFVBUlQgQ09NIDIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0FVRElPX1BST01QVCAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJBdWRpbyINCj4gKyNzdHJp bmcgU1RSX0FVRElPX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgICJFbmFibGVzIG9yDQo+IERpc2FibGVzIE9uYm9hcmQgQXVkaW8uIg0KPiArDQo+ ICsjc3RyaW5nIFNUUl9MUEVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICAiTFBFIg0KPiArI3N0cmluZyBTVFJfTFBFX0hFTFAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkVuYWJsZXMgb3INCj4g RGlzYWJsZXMgT25ib2FyZCBMUEUgU3ViLVN5c3RlbS4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0dQ SU9fV0FLRV9DQVBBQklMSVRZX0VOQUJMRSAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkdQSU8gV2FrZSBDYXBhYmlsaXR5Ig0KPiArI3N0cmluZyBTVFJfR1BJT19XQUtFX0NBUEFC SUxJVFlfRU5BQkxFX0hFTFAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlIG9y IERpc2FibGUgR1BJTyBXYWtlIENhcGFiaWxpdHkiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1JUQ19C QVRURVJZICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlJU QyBCYXR0ZXJ5DQo+IFByZXNlbmNlIg0KPiArI3N0cmluZyBTVFJfUlRDX0JBVFRFUllfUFJFU0VO VCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiUHJlc2VudCINCj4gKyNz dHJpbmcgU1RSX1JUQ19CQVRURVJZX05PVF9QUkVTRU5UICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIk5vdA0KPiBQcmVzZW50Ig0KPiArI3N0cmluZyBTVFJfUlRDX0JBVFRFUllf SEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiUlRDIEJhdHRl cnkNCj4gaXMgUHJlc2VudCBvciBOb3QgUHJlc2VudCINCj4gKw0KPiArI3N0cmluZyBTVFJfTFBF X1JFUE9SVEVEX0JZX0RTRFRfUFJPTVBUICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0K PiAiTFBFIEF1ZGlvIFJlcG9ydGVkIEJ5IERTRFQiDQo+ICsjc3RyaW5nIFNUUl9MUEVfUkVQT1JU RURfQllfRFNEVF9IRUxQICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJSZWNv bW1lbmRlZCBzb2x1dGlvbiBpcyB0byBrZWVwIG9wdGlvbiBkaXNhYmxlZCBhbmQgZXhwb3NlIExQ RSBBdWRpbw0KPiBkZXZpY2Ugd2l0aCBhbiBFRkkgYXBwbGljYXRpb24gdGhhdCB1cGRhdGVzIHRo ZSBTU0RUIg0KPiArDQo+ICsvLw0KPiArLy8gUENJIEV4cHJlc3MNCj4gKy8vDQo+ICsjc3RyaW5n IFNUUl9QQ0lFX09QVElPTlNfRk9STV9USVRMRSAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiUENJDQo+IEV4cHJlc3MgQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX1BD SUVfT1BUSU9OU19GT1JNX0hFTFAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg ICJQQ0kNCj4gRXhwcmVzcyBDb25maWd1cmF0aW9uIFNldHRpbmdzIg0KPiArI3N0cmluZyBTVFJf SUNIX1BDSUVSUDFfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIlBDSQ0KPiBFeHByZXNzIFJvb3QgUG9ydCAxIg0KPiArI3N0cmluZyBTVFJfSUNIX1BDSUVS UDJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBDSQ0K PiBFeHByZXNzIFJvb3QgUG9ydCAyIg0KPiArI3N0cmluZyBTVFJfSUNIX1BDSUVSUDNfUFJPTVBU ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBDSQ0KPiBFeHByZXNz IFJvb3QgUG9ydCAzIg0KPiArI3N0cmluZyBTVFJfSUNIX1BDSUVSUDRfUFJPTVBUICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBDSQ0KPiBFeHByZXNzIFJvb3QgUG9y dCA0Ig0KPiArI3N0cmluZyBTVFJfSUNIX1BDSUVSUF9IRUxQICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkNvbnRyb2wgdGhlDQo+IFBDSSBFeHByZXNzIFJvb3Qg UG9ydC4iDQo+ICsjc3RyaW5nIFNUUl9JQ0hfUENJRVJQX0RJU0FCTEVfSEVMUCAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiVGhpcw0KPiBSb290IFBvcnQgaXMgZGlzYWJsZWQg YmVjYXVzZSBSb290IFBvcnQgMSBpcyBkaXNhYmxlZC4iDQo+ICsjc3RyaW5nIFNUUl9QQ0lFRFlO Q0xLX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiUENJ DQo+IEV4cHJlc3MgRHluYW1pYyBDbG9jayBHYXRpbmciDQo+ICsjc3RyaW5nIFNUUl9QQ0lFRFlO Q0xLX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJF bmFibGUvRGlzYWJsZSBQQ0lFIER5bmFtaWMgQ2xvY2sgR2F0aW5nIg0KPiArDQo+ICsjc3RyaW5n IFNUUl9JREVfRk9STV9USVRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJTQVRBIERyaXZlcyINCj4gKyNzdHJpbmcgU1RSX0lERV9GT1JNX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlByZXNzIDxFbnRlcj4NCj4g dG8gc2VsZWN0IHRoZSBTQVRBIERldmljZSBDb25maWd1cmF0aW9uIFNldHVwIG9wdGlvbnMuIg0K PiArDQo+ICsjc3RyaW5nIFNUUl9ESVNDUkVURV9TQVRBX1NUUklORyAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJEaXNjcmV0ZS1TQVRBIENvbnRyb2xsZXIgQ29uZmln dXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0NISVBTRVRfU0FUQV9TVFJJTkcgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkNoaXBzZXQtDQo+IFNBVEEgQ29udHJvbGxlciBD b25maWd1cmF0aW9uIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TQVRBX1BST01QVCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiIENoaXBzZXQNCj4gU0FUQSIN Cj4gKyNzdHJpbmcgU1RSX1NBVEFfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICJFbmFibGVzIG9yDQo+IERpc2FibGVzIHRoZSBDaGlwc2V0IFNB VEEgQ29udHJvbGxlci4gIFRoZSBDaGlwc2V0IFNBVEEgY29udHJvbGxlciBzdXBwb3J0cw0KPiB0 aGUgMiBibGFjayBpbnRlcm5hbCBTQVRBIHBvcnRzICh1cCB0byAzR2IvcyBzdXBwb3J0ZWQgcGVy IHBvcnQpLiINCj4gKw0KPiArI3N0cmluZyBTVFJfU0FUQV9UWVBFX1BST01QVCAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIiBDaGlwc2V0DQo+IFNBVEEgTW9kZSIN Cj4gKyNzdHJpbmcgU1RSX1NBVEFfVFlQRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZnItRlIgICINCj4gQ29uZmlndXJlciBTQVRBIGNvbW1lIg0KPiArDQo+ICsj c3RyaW5nIFNUUl9TQVRBX1RZUEVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICAiVGhpcyB3aWxsDQo+IGNvbmZpZ3VyZSBTQVRBIGludG8gdGhlIGNvcnJl c3BvbmRpbmcgdHlwZXMuIg0KPiArI3N0cmluZyBTVFJfU0FUQV9UWVBFX0hFTFAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1GUiAgIkNvbmZpZ3VyZQ0KPiBTQVRBIHNl bG9uIGxlcyB0eXBlcyBjb3JyZXNwb25kYW50cy4iDQo+ICsjc3RyaW5nIFNUUl9TQVRBX1RZUEVf SEVMUDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiSURFOg0K PiBDb21wYXRpYmlsaXR5IG1vZGUgZGlzYWJsZXMgQUhDSSBzdXBwb3J0LiBBSENJOiBTdXBwb3J0 cyBhZHZhbmNlZCBTQVRBDQo+IGZlYXR1cmVzIHN1Y2ggYXMgTmF0aXZlIENvbW1hbmQgUXVldWlu Zy4gICAgIFxuV2FybmluZzogT1MgbWF5IG5vdCBib290IGlmDQo+IHRoaXMgc2V0dGluZyBpcyBj aGFuZ2VkIGFmdGVyIE9TIGluc3RhbGwuIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TQVRBX0lERSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiSURFIg0K PiArI3N0cmluZyBTVFJfU0FUQV9BSENJICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAgIkFIQ0kiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1NBVEEwX1NUUklO RyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiAgU0FUQSBQ b3J0IDAiDQo+ICsjc3RyaW5nIFNUUl9TQVRBMF9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICIgIFBvcnQgU0FUQSAwIg0KPiArDQo+ICsjc3RyaW5n IFNUUl9TQVRBMF9OQU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiW05vdA0KPiBJbnN0YWxsZWRdIg0KPiArI3N0cmluZyBTVFJfU0FUQTBfTkFNRSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBmci1GUiAgIltBYnNlbnRd Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9NU0FUQV9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIgIG1TQVRBDQo+IFBvcnQiDQo+ICsNCj4gKyNzdHJp bmcgU1RSX1NBVEExX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIiAgU0FUQSBQb3J0IDEiDQo+ICsjc3RyaW5nIFNUUl9TQVRBMV9TVFJJTkcgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGZyLUZSICIgIFBvcnQgU0FUQSAx Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9TQVRBMV9OQU1FICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiW05vdA0KPiBJbnN0YWxsZWRdIg0KPiArI3N0cmlu ZyBTVFJfU0FUQTFfTkFNRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBmci1GUiAgIltBYnNlbnRdIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TQVRBMF9IT1RQTFVHX0NB UF9QUk9NUFQgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICINCj4gU0FUQSBQb3J0 IDAgSG90IFBsdWcgQ2FwYWJpbGl0eSINCj4gKyNzdHJpbmcgU1RSX1NBVEExX0hPVFBMVUdfQ0FQ X1BST01QVCAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIg0KPiBTQVRBIFBvcnQg MSBIb3QgUGx1ZyBDYXBhYmlsaXR5Ig0KPiArI3N0cmluZyBTVFJfU0FUQV9IT1RQTFVHX0NBUF9I RUxQICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiSWYNCj4gZW5hYmxlZCwg U0FUQSBwb3J0IHdpbGwgYmUgcmVwb3J0ZWQgYXMgSG90IFBsdWcgY2FwYWJsZS4iDQo+ICsNCj4g KyNzdHJpbmcgU1RSX1NFTlNPUl9GT1JNX1RJVExFICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIlNlbnNvcg0KPiBzZXR0aW5nIg0KPiArI3N0cmluZyBTVFJfU0VOU09S X0ZPUk1fSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiUHJl c3MNCj4gPEVudGVyPiB0byBzZWxlY3QgdGhlIFNlbnNvciBDb25maWd1cmF0aW9uIFNldHVwIG9w dGlvbnMuIg0KPiArDQo+ICsvLw0KPiArLy9TZW5zb3IgU2V0dGluZ3MNCj4gKy8vDQo+ICsjc3Ry aW5nIFNUUl9TRU5TT1JfU1VCVElUTEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICAiU2Vuc29yDQo+IE1vZHVsZXMgU2V0dGluZyINCj4gKyNzdHJpbmcgU1RSX0FD Q0VMRVJPTUVURVJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkFjY2VsZXJvbWV0ZXIiDQo+ICsjc3RyaW5nIFNUUl9BQ0NFTEVST01FVEVSX0hFTFAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiVGhpcyB3aWxsDQo+IGNvbmZp Z3VyZSBkaXNhYmxlL2VuYWJsZSBBY2NlbGVyb21ldGVyLiINCj4gKyNzdHJpbmcgU1RSX0dZUk9N RVRFUl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4g Ikd5cm9tZXRlciINCj4gKyNzdHJpbmcgU1RSX0dZUk9NRVRFUl9IRUxQICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJUaGlzIHdpbGwNCj4gY29uZmlndXJlIGRp c2FibGUvZW5hYmxlIEd5cm9tZXRlci4iDQo+ICsjc3RyaW5nIFNUUl9CQVJPTUVURVJfUFJPTVBU ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJCYXJvbWV0ZXIi DQo+ICsjc3RyaW5nIFNUUl9CQVJPTUVURVJfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiVGhpcyB3aWxsDQo+IGNvbmZpZ3VyZSBkaXNhYmxlL2VuYWJs ZSBCYXJvbWV0ZXIuIg0KPiArI3N0cmluZyBTVFJfUFJPWElNSVRZX1NFTlNPUl9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiUHJveGltaXR5IFNlbnNvciINCj4g KyNzdHJpbmcgU1RSX1BST1hJTUlUWV9TRU5TT1JfSEVMUCAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJUaGlzDQo+IHdpbGwgY29uZmlndXJlIGRpc2FibGUvZW5hYmxlIFBy b3hpbWl0eSBTZW5zb3IuIg0KPiArI3N0cmluZyBTVFJfQ09NUEFTU19QUk9NUFQgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQ29tcGFzcyINCj4gKyNzdHJp bmcgU1RSX0NPTVBBU1NfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgICJUaGlzIHdpbGwNCj4gY29uZmlndXJlIGRpc2FibGUvZW5hYmxlIENvbXBhc3Mu Ig0KPiArI3N0cmluZyBTVFJfTkZTX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIk5GUyINCj4gKyNzdHJpbmcgU1RSX05GU19IRUxQICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJUaGlzIHdpbGwN Cj4gY29uZmlndXJlIGRpc2FibGUvZW5hYmxlIE5GUy4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0xQ U1NfU0NDX0ZPUk1fVElUTEUgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg ICJMUFNTICYNCj4gU0NDIENvbmZpZ3VyYXRpb24iDQo+ICsjc3RyaW5nIFNUUl9MUFNTX1NDQ19G T1JNX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiIg0KPiAr DQo+ICsjc3RyaW5nIFNUUl9MUFNTX1BDSV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiTFBTUyAmIFNDQw0KPiBEZXZpY2VzIE1vZGUiDQo+ICsjc3Ry aW5nIFNUUl9MUFNTX1BDSV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBMUFNTICYgU0NDIERldmljZXMgTW9kZSINCj4g Kw0KPiArI3N0cmluZyBTVFJfU0NDX1NFVFRJTkdfU1VCVElUTEUgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIlNDQw0KPiBDb25maWd1cmF0aW9uIg0KPiArI3N0cmluZyBT VFJfU0NDX0VNTUNfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAgIlNDQw0KPiBlTU1DIFN1cHBvcnQiDQo+ICsjc3RyaW5nIFNUUl9TQ0NfRU1NQ19IRUxQ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUv RGlzYWJsZSBTQ0MgZU1NQyBTdXBwb3J0Ig0KPiArI3N0cmluZyBTVFJfU0NDX1NESU9fUFJPTVBU ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlNDQyBTRElPDQo+ IFN1cHBvcnQgIg0KPiArI3N0cmluZyBTVFJfU0NDX1NESU9fSEVMUCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgU0NDIFNESU8g U3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX1NDQ19TRENBUkRfUFJPTVBUICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJTQ0MgU0QNCj4gQ2FyZCBTdXBwb3J0Ig0KPiAr I3N0cmluZyBTVFJfU0NDX1NEQ0FSRF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgU0NDIFNEIENhcmQgU3VwcG9ydCINCj4g KyNzdHJpbmcgU1RSX1NDQ19TRENBUkRfRk9SV0lOX1BST01QVCAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMNCj4gIlNDQyBTRCBDYXJkIGZvciBXaW5kb3dzIg0KPiArI3N0cmluZyBT VFJfU0NDX1NEQ0FSRF9GT1JXSU5fSEVMUCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgU0NDIFNEIENhcmQgZm9yIFdpbmRvd3MiDQo+ICsjc3Ry aW5nIFNUUl9TQ0NfU0RJT19NT0RFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICAiU0NDDQo+IFNESU8gTW9kZSBmb3IgV0lGSSINCj4gKyNzdHJpbmcgU1RSX1ND Q19TRElPX01PREVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg ICJTZWxlY3QNCj4gU0RJTyBtb2RlIGZvciBXSUZJLCBvbmx5IGZvciBBMC9BMSBzdGVwcGluZy4i DQo+ICsjc3RyaW5nIFNUUl9TQ0NfU0RDQVJEX1JFTU9WQUJJTElUWSAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiQUNQSQ0KPiBSZXBvcnRpbmcgTU1DL1NEIE1lZGlhIEFzIg0K PiArI3N0cmluZyBTVFJfU0NDX1NEQ0FSRF9SRU1PVkFCTEUgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUw0KPiAiUmVtb3ZhYmxlIg0KPiArI3N0cmluZyBTVFJfU0NDX1NEQ0FS RF9OT05fUkVNT1ZBQkxFICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiTm9u LVJlbW92YWJsZSINCj4gKyNzdHJpbmcgU1RSX1NDQ19TRENBUkRfUkVNT1ZBQklMSVRZX0hFTFAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkFDUEkgUmVwb3J0aW5nIE1NQy9TRCBN ZWRpYSB0byBXaW4gOCBhcyBub24tUmVtb3ZhYmxlLiINCj4gKw0KPiArI3N0cmluZyBTVFJfU0RJ T19ERUZBVUxUX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAg IkRlZmF1bHQiDQo+ICsjc3RyaW5nIFNUUl9TRElPX0REUjUwX01PREUgICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRERSNTAiDQo+ICsNCj4gKyNzdHJpbmcgU1RS X0xQU1MxX1NFVFRJTkdfU1VCVElUTEUgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgICJMUFNTIDENCj4gQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0xQU1MyX1NFVFRJ TkdfU1VCVElUTEUgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJMUFNTIDIN Cj4gQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0xQU1NfRE1BMV9QUk9NUFQgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJMUFNTDQo+IERNQSAjMSBTdXBw b3J0Ig0KPiArI3N0cmluZyBTVFJfTFBTU19ETUExX0hFTFAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTFBTUyBETUEgIzEgU3Vw cG9ydCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfRE1BMl9QUk9NUFQgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJMUFNTDQo+IERNQSAjMiBTdXBwb3J0Ig0KPiArI3N0 cmluZyBTVFJfTFBTU19ETUEyX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTFBTUyBETUEgIzIgU3VwcG9ydCINCj4gKyNz dHJpbmcgU1RSX0xQU1NfSTJDMV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgICJMUFNTIEkyQw0KPiAjMSBTdXBwb3J0Ig0KPiArI3N0cmluZyBTVFJfTFBT U19JMkMxX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0K PiAiRW5hYmxlL0Rpc2FibGUgTFBTUyBJMkMgIzEgU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX0xQ U1NfSTJDMl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg ICJMUFNTIEkyQw0KPiAjMiBTdXBwb3J0Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMkMyX0hFTFAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rp c2FibGUgTFBTUyBJMkMgIzIgU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDM19QUk9N UFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJMUFNTIEkyQw0K PiAjMyBTdXBwb3J0Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMkMzX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTFBTUyBJ MkMgIzMgU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDNF9QUk9NUFQgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJMUFNTIEkyQw0KPiAjNCBTdXBwb3J0 Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMkM0X0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTFBTUyBJMkMgIzQgU3VwcG9y dCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDNV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJMUFNTIEkyQw0KPiAjNSBTdXBwb3J0Ig0KPiArI3N0cmlu ZyBTVFJfTFBTU19JMkM1X0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTFBTUyBJMkMgIzUgU3VwcG9ydCINCj4gKyNzdHJp bmcgU1RSX0xQU1NfSTJDNl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgICJMb3cNCj4gU3BlZWQgRXhwYW5zaW9uIEkyQyAoIzUpIg0KPiArI3N0cmluZyBT VFJfTFBTU19JMkM2X0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTG93IFNwZWVkIEV4cGFuc2lvbiBJMkMgKCM1KTtJMkMg Q29udHJvbGxlciBQQ0kgZGV2aWNlDQo+IERldjI0OiBGdW5jNjsgU2NoZW1hdGljIG5hbWVzIGl0 IEkyQzUsIEFDUEkgdGFibGUgbmFtZXMgaXQgSTJDNiINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJD N19QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJIaWdo DQo+IFNwZWVkIEV4cGFuc2lvbiBJMkMgKCM2KSINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDN19I RUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJs ZS9EaXNhYmxlIEhpZ2ggU3BlZWQgRXhwYW5zaW9uIEkyQyAoIzYpO0kyQyBDb250cm9sbGVyIFBD SSBkZXZpY2UNCj4gRGV2MjQ6IEZ1bmM3OyBTY2hlbWF0aWMgbmFtZXMgaXQgSTJDNiwgQUNQSSB0 YWJsZSBuYW1lcyBpdCBJMkM3Ig0KPiArI3N0cmluZyBTVFJfTFBTU19JMlNfUFJPTVBUICAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkxQU1MgSTJTDQo+IFN1cHBv cnQiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0kyU19IRUxQICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBMUFNTIEkyUyBTdXBwb3J0 Ig0KPiArI3N0cmluZyBTVFJfTFBTU19IU1VBUlQxX1BST01QVCAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIkxQU1MNCj4gSFNVQVJUICMxIFN1cHBvcnQiDQo+ICsjc3Ry aW5nIFNUUl9MUFNTX0hTVUFSVDFfRkxPV0NPTlRST0xfUFJPTVBUICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLQ0KPiBVUyAgIkxQU1MgSFNVQVJUICMxIEZsb3dDdHJsIg0KPiArI3N0cmluZyBTVFJf TFBTU19IU1VBUlQyX0ZMT1dDT05UUk9MX1BST01QVCAgICAgICAgICAgICNsYW5ndWFnZSBlbi0N Cj4gVVMgICJMUFNTIEhTVUFSVCAjMiBGbG93Q3RybCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSFNV QVJUMV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVu YWJsZS9EaXNhYmxlIExQU1MgSFNVQVJUICMxIFN1cHBvcnQiDQo+ICsjc3RyaW5nIFNUUl9MUFNT X0hTVUFSVDJfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAi TFBTUw0KPiBIU1VBUlQgIzIgU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfSFNVQVJUMl9I RUxQICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9E aXNhYmxlIExQU1MgSFNVQVJUICMyIFN1cHBvcnQiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX1NQSV9Q Uk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTFBTUyBT UEkNCj4gU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX0xQU1NfU1BJX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIExQU1Mg U1BJIFN1cHBvcnQiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0xQU1NfSTJDMV9IRUxQX0VOQkRUX0RF Vl9MSVNUICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRpc2FibGUvRW5hYmxlIExQ U1MgSTJDICMxIFN1cHBvcnRcblxuICAiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0kyQzJfSEVMUF9F TkJEVF9ERVZfTElTVCAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJEaXNhYmxlL0Vu YWJsZSBMUFNTIEkyQyAjMiBTdXBwb3J0XG5cbiAgIg0KPiArI3N0cmluZyBTVFJfTFBTU19JMkMz X0hFTFBfRU5CRFRfREVWX0xJU1QgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRGlz YWJsZS9FbmFibGUgTFBTUyBJMkMgIzMgU3VwcG9ydFxuXG4gICINCj4gKyNzdHJpbmcgU1RSX0xQ U1NfSTJDNF9IRUxQX0VOQkRUX0RFVl9MSVNUICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkRpc2FibGUvRW5hYmxlIExQU1MgSTJDICM0IFN1cHBvcnRcblxuICAiDQo+ICsjc3RyaW5n IFNUUl9MUFNTX0kyQzVfSEVMUF9FTkJEVF9ERVZfTElTVCAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTDQo+ICJEaXNhYmxlL0VuYWJsZSBMUFNTIEkyQyAjNSBTdXBwb3J0XG5cbiAgIg0KPiAr I3N0cmluZyBTVFJfTFBTU19JMkM2X0hFTFBfRU5CRFRfREVWX0xJU1QgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgTG93IFNwZWVkIEV4cGFuc2lvbiBJMkMg KCM1KTtJMkMgQ29udHJvbGxlciBQQ0kgZGV2aWNlDQo+IERldjI0OiBGdW5jNjsgU2NoZW1hdGlj IG5hbWVzIGl0IEkyQzUsIEFDUEkgdGFibGUgbmFtZXMgaXQgSTJDNlxuXG4gICINCj4gKyNzdHJp bmcgU1RSX0xQU1NfSTJDN19IRUxQX0VOQkRUX0RFVl9MSVNUICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIEhpZ2ggU3BlZWQgRXhwYW5zaW9uIEkyQyAoIzYp O0kyQyBDb250cm9sbGVyIFBDSSBkZXZpY2UNCj4gRGV2MjQ6IEZ1bmM3OyBTY2hlbWF0aWMgbmFt ZXMgaXQgSTJDNiwgQUNQSSB0YWJsZSBuYW1lcyBpdCBJMkM3XG5cbiAgIg0KPiArI3N0cmluZyBT VFJfTFBTU19IU1VBUlQxX0hFTFBfRU5CRFRfREVWX0xJU1QgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiRGlzYWJsZS9FbmFibGUgTFBTUyBIaWdoIFNwZWVkIFVBUlQNCj4gIzFcblxuRW5h YmxlZChSWC9UWC9SVFMvQ1RTKVxuV1xPDQo+IEZsb3dDdHJsKFJYL1RYK0dQSU94MilcbkRpc2Fi bGVkKEdQSU94NCkiDQo+ICsjc3RyaW5nIFNUUl9MUFNTX0hTVUFSVDJfSEVMUF9FTkJEVF9ERVZf TElTVCAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJEaXNhYmxlL0VuYWJsZSBMUFNTIEhp Z2ggU3BlZWQgVUFSVA0KPiAjMlxuXG5FbmFibGVkKFJYL1RYL1JUUy9DVFMpXG5XXE8NCj4gRmxv d0N0cmwoUlgvVFgrR1BJT3gyKVxuRGlzYWJsZWQoR1BJT3g0KSINCj4gKw0KPiArI3N0cmluZyBT VFJfSTJDX0RFVklDRV9TRVRUSU5HX1NVQlRJVExFICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAgIkkyQw0KPiBEZXZpY3MgQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0kyQ19U T1VDSF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJJ MkMNCj4gVG91Y2ggRGV2aWMgQWRkcmVzcyINCj4gKyNzdHJpbmcgU1RSX0kyQ19UT1VDSF9IRUxQ ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJJMkMgVG91Y2gN Cj4gQWRkcmVzcyBTZWxlY3Q6XG4gIFJWUC9pQ0RLKDB4NEIpXG4gIEZGUkQoMHg0QSkiDQo+ICsj c3RyaW5nIFNUUl9JMkNfRkZSRCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICAiMHg0QSINCj4gKyNzdHJpbmcgU1RSX0kyQ19GVlAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICIweDRCIg0KPiArDQo+ICsN Cj4gKyNzdHJpbmcgU1RSX1BXTTFfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICJMUFNTIFBXTQ0KPiAjMSBTdXBwb3J0Ig0KPiArI3N0cmluZyBT VFJfUFdNMV9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiRW5hYmxlL0Rpc2FibGVMUFNTIFBXTSAjMSBTdXBwb3J0Ig0KPiArI3N0cmluZyBT VFJfUFdNMl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAgIkxQU1MgUFdNDQo+ICMyIFN1cHBvcnQiDQo+ICsjc3RyaW5nIFNUUl9QV00yX0hFTFAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+IEVuYWJs ZS9EaXNhYmxlIkxQU1MgUFdNICMyIFN1cHBvcnQiDQo+ICsjc3RyaW5nIFNUUl9NSVBJX0hTSV9Q Uk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTUlQSSBI U0kNCj4gU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX01JUElfSFNJX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIE1JUEkg SFNJIFN1cHBvcnQgXG4gTm90ZTogT2ZmaWNpYWwgQklPUyBjYW5ub3Qgc3VwcG9ydCBNSVBJDQo+ IGRpc3BsYXkgZGlyZWN0bHkgZXZlbiB5b3Ugc2VsZWN0IGVuYWJsZSBoZXJlLiBNSVBJIFZCVCBp cyBzcGVjaWZpYyB0byBkaWZmZXJlbnQNCj4gcGFuZWwsIHVzZXIgbmVlZCByZXBsYWNlIFZCVCBt YW51YWxseS4iDQo+ICsjc3RyaW5nIFNUUl9MUEVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTFBFIEF1ZGlvDQo+IFN1cHBvcnQiDQo+ICsj c3RyaW5nIFNUUl9MUEVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICAiRW5hYmxlL0Rpc2FibGUNCj4gTFBFIEF1ZGlvIFN1cHBvcnQiDQo+ICsj c3RyaW5nIFNUUl9MUEVfUENJX01PREUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICAiTFBFIEF1ZGlvDQo+IFBDSSBtb2RlIg0KPiArI3N0cmluZyBTVFJfTFBF X0FDUElfTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAg IkxQRSBBdWRpbw0KPiBBQ1BJIG1vZGUiDQo+ICsNCj4gKy8vDQo+ICsvLyBJU0NUIENvbmZpZ3Vy YXRpb24NCj4gKy8vDQo+ICsjc3RyaW5nIFNUUl9JU0NUX0ZPUk1fVElUTEUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiSVNDVA0KPiBDb25maWd1cmF0aW9uIg0K PiArI3N0cmluZyBTVFJfSVNDVF9GT1JNX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAgIklTQ1QgLyBBT0FDDQo+IENvbmZpZ3VyYXRpb24gU2V0dGluZ3Mi DQo+ICsNCj4gKyNzdHJpbmcgU1RSX0lTQ1RfQ09ORklHVVJBVElPTiAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJJU0NUDQo+IENvbmZpZ3VyYXRpb24iDQo+ICsjc3Ry aW5nIFNUUl9JU0NUX0NPTkZJR1VSQVRJT05fSEVMUCAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBJU0NUIEZlYXR1cmUiDQo+ICsNCj4gKyNzdHJp bmcgU1RSX0lTQ1RfTk9USUZJQ0FUSU9OX0NPTlRST0xfUFJPTVBUICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tDQo+IFVTICAiSVNDVCBOb3RpZmljYXRpb24gQ29udHJvbCINCj4gKyNzdHJpbmcgU1RS X0lTQ1RfTk9USUZJQ0FUSU9OX0NPTlRST0xfSEVMUCAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMNCj4gIkVuYWJsZS9EaXNhYmxlIElTQ1QgTm90aWZpY2F0aW9uIENvbnRyb2wiDQo+ICsjc3Ry aW5nIFNUUl9JU0NUX1dMQU5fQ09OVFJPTF9QUk9NUFQgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTDQo+ICJJU0NUIFdMQU4gUG93ZXIgQ29udHJvbCINCj4gKyNzdHJpbmcgU1RSX0lT Q1RfV0xBTl9DT05UUk9MX0hFTFAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkVuYWJsZS9EaXNhYmxlIElTQ1QgV0xBTiBQb3dlciBDb250cm9sIg0KPiArI3N0cmluZyBT VFJfSVNDVF9XV0FOX0NPTlRST0xfUFJPTVBUICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiSVNDVCBXV0FOIFBvd2VyIENvbnRyb2wiDQo+ICsjc3RyaW5nIFNUUl9JU0NUX1dX QU5fQ09OVFJPTF9IRUxQICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJF bmFibGUvRGlzYWJsZSBJU0NUIFdXQU4gUG93ZXIgQ29udHJvbCINCj4gKw0KPiArI3N0cmluZyBT VFJfSVNDVF9TTEVFUF9EVVJBVElPTl9GT1JNQVQgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiSVNDVCBTbGVlcCBEdXJhdGlvbiBWYWx1ZSBGb3JtYXQiDQo+ICsjc3RyaW5nIFNU Ul9JU0NUX1NMRUVQX0RVUkFUSU9OX0ZPUk1BVF9IRUxQICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJJU0NUIFNsZWVwIER1cmF0aW9uIGlzIG9ubHkgaW4gU2Vjb25kcyBGb3JtYXQsIEFj dHVhbCB0aW1lIGZvcm1hdCBpcyBub3QNCj4gc3VwcG9ydGVkIg0KPiArDQo+ICsjc3RyaW5nIFNU Ul9JU0NUX1JGX0tJTExfU1VQUE9SVCAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiSVNDVCBSRg0KPiBLaWxsIFN1cHBvcnQiDQo+ICsjc3RyaW5nIFNUUl9JU0NUX1JGX0tJ TExfU1VQUE9SVF9IRUxQICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiSVNDVA0K PiBSRiBLaWxsIChSYWRpbyBPbi9PZmYpIGlzIGJhc2VkIG9uIFNvZnQgc3dpdGNoLCBObyBwaHlz aWNhbCBzd2l0Y2ggYXZhaWxhYmxlIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9TRUNPTkRTICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiU2Vjb25kcyIN Cj4gKyNzdHJpbmcgU1RSX0FDVFVBTF9USU1FICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICJBY3R1YWwgVGltZSINCj4gKw0KPiArI3N0cmluZyBTVFJfUkZf S0lMTF9TT0ZUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAg IlNvZnQgU3dpdGNoIg0KPiArI3N0cmluZyBTVFJfUkZfS0lMTF9QSFlTSUNBTCAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBoeXNpY2FsDQo+IFN3aXRjaCINCj4g Kw0KPiArI3N0cmluZyBTVFJfV0xBTl9QUkVTRU5DRV9GT1JNX1RJVExFICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiV0xBTiBDYXJkIFByZXNlbmNlIg0KPiArI3N0cmluZyBT VFJfV0xBTl9OR0ZGX0NBUkQgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICAiTkdGRiBDYXJkDQo+IEluc2VydGVkIg0KPiArI3N0cmluZyBTVFJfV0xBTl9OR0ZGX0hFTFAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiU2V0ICdZRVMnIElmDQo+ IE5HRkYgQ2FyZCBpcyBJbnNlcnRlZCINCj4gKyNzdHJpbmcgU1RSX1dMQU5fVUhQQU1fQ0FSRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJVSFBBTQ0KPiBDYXJk IEluc2VydGVkIg0KPiArI3N0cmluZyBTVFJfV0xBTl9VSFBBTV9IRUxQICAgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlNldCAnWUVTJw0KPiBJZiBVSFBBTSBDYXJk IGlzIEluc2VydGVkIg0KPiArDQo+ICsvLw0KPiArLy8gVEhFUk1BTCBJTkZPUk1BVElPTg0KPiAr Ly8NCj4gKw0KPiArLy8NCj4gKy8vIFMwaVggc3VwcG9ydGVkIG9yIG5vdA0KPiArLy8NCj4gKyNz dHJpbmcgU1RSX1MwSVhfUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgICJTMGl4Ig0KPiArI3N0cmluZyBTVFJfUzBJWF9IRUxQICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlNldCBwbGF0Zm9ybSB0bw0K PiBjb25maWd1cmUgUzBpeCBzdXBwb3J0ZWQgb3Igbm90Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9U SEVSTUFMX0NPTkZJR1VSQVRJT04gICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT DQo+ICJQcm9jZXNzb3IgUGFydGljaXBhbnQiDQo+ICsjc3RyaW5nIFNUUl9USEVSTUFMX0NPTkZJ R1VSQVRJT05fSEVMUCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJUaGVybWFs IENvbmZpZ3VyYXRpb24gUGFyYW1ldGVycyINCj4gKw0KPiArDQo+ICsjc3RyaW5nIFNUUl9BQ1BJ X1BBU1NJVkVfVEhFUk1BTF9UUklQX1BPSU5UICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ ICJQYXNzaXZlIFRyaXAgUG9pbnQiDQo+ICsjc3RyaW5nIFNUUl9BQ1BJX1BBU1NJVkVfVEhFUk1B TF9UUklQX1BPSU5UX0hFTFAgICAgICAgI2xhbmd1YWdlIGVuLQ0KPiBVUyAiVGhpcyB2YWx1ZSBj b250cm9scyB0aGUgdGVtcGVyYXR1cmUgb2YgdGhlIEFDUEkgUGFzc2l2ZSBUcmlwIFBvaW50IC0g dGhlDQo+IHBvaW50IGluIHdoaWNoIHRoZSBPUyB3aWxsIGJlZ2luIHRocm90dGxpbmcgdGhlIHBy b2Nlc3Nvci4iDQo+ICsjc3RyaW5nIFNUUl9BQ1BJX0NSSVRJQ0FMX1RIRVJNQUxfVFJJUF9QT0lO VCAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJDcml0aWNhbCBUcmlwIFBvaW50Ig0KPiAr I3N0cmluZyBTVFJfQUNQSV9DUklUSUNBTF9USEVSTUFMX1RSSVBfUE9JTlRfSEVMUCAgICAgICNs YW5ndWFnZSBlbi0NCj4gVVMgIlRoaXMgdmFsdWUgY29udHJvbHMgdGhlIHRlbXBlcmF0dXJlIG9m IHRoZSBBQ1BJIENyaXRpY2FsIFRyaXAgUG9pbnQgLSB0aGUNCj4gcG9pbnQgaW4gd2hpY2ggdGhl IE9TIHdpbGwgc2h1dCB0aGUgc3lzdGVtIG9mZi4iDQo+ICsjc3RyaW5nIFNUUl8xNV9DICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIxNSBDIg0K PiArI3N0cmluZyBTVFJfMjNfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiMjMgQyINCj4gKyNzdHJpbmcgU1RSXzMxX0MgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjMxIEMiDQo+ICsjc3Ry aW5nIFNUUl8zOV9DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICIzOSBDIg0KPiArI3N0cmluZyBTVFJfNDdfQyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNDcgQyINCj4gKyNzdHJpbmcgU1RS XzU1X0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIjU1IEMiDQo+ICsjc3RyaW5nIFNUUl82M19DICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICI2MyBDIg0KPiArI3N0cmluZyBTVFJfNzFfQyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNzEg QyINCj4gKyNzdHJpbmcgU1RSXzc5X0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjc5IEMiDQo+ICsjc3RyaW5nIFNUUl84NV9DICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICI4NSBDIg0KPiAr I3N0cmluZyBTVFJfODdfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiODcgQyINCj4gKyNzdHJpbmcgU1RSXzkwX0MgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjkwIEMiDQo+ICsjc3RyaW5n IFNUUl85NV9DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICI5NSBDIg0KPiArI3N0cmluZyBTVFJfMTAwX0MgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMTAwIEMiDQo+ICsjc3RyaW5nIFNUUl8x MDNfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICIxMDMgQyINCj4gKyNzdHJpbmcgU1RSXzEwNV9DICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjEwNSBDIg0KPiArI3N0cmluZyBTVFJfMTEwX0Mg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMTEw IEMiDQo+ICsjc3RyaW5nIFNUUl8xMTFfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICIxMTEgQyINCj4gKyNzdHJpbmcgU1RSXzExOV9DICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjExOSBDIg0K PiArI3N0cmluZyBTVFJfMTgwX0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiMTgwIEMiDQo+ICsjc3RyaW5nIFNUUl8yMDBfQyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIyMDAgQyINCj4gKyNz dHJpbmcgU1RSX1BPUiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIlBPUiINCj4gKyNzdHJpbmcgU1RSXzBMRU4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKw0KPiArI3N0cmluZyBT VFJfQUNQSV9QQVNTSVZFX1RDMV9WQUxVRSAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiDQo+IFBhc3NpdmUgVEMxIFZhbHVlIg0KPiArI3N0cmluZyBTVFJfQUNQSV9QQVNTSVZF X1RDMV9WQUxVRV9IRUxQICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiVGhpcyB2 YWx1ZSBzZXRzIHRoZSBUQzEgdmFsdWUgZm9yIHRoZSBBQ1BJIFBhc3NpdmUgQ29vbGluZyBGb3Jt dWxhLiBSYW5nZSAxIC0NCj4gMTYiDQo+ICsjc3RyaW5nIFNUUl9BQ1BJX1BBU1NJVkVfVEMyX1ZB TFVFICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICINCj4gUGFzc2l2ZSBUQzIg VmFsdWUiDQo+ICsjc3RyaW5nIFNUUl9BQ1BJX1BBU1NJVkVfVEMyX1ZBTFVFX0hFTFAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJUaGlzIHZhbHVlIHZhbHVlIHNldHMgdGhlIFRD MiB2YWx1ZSBmb3IgdGhlIEFDUEkgUGFzc2l2ZSBDb29saW5nIEZvcm11bGEuDQo+IFJhbmdlIDEg LSAxNiINCj4gKyNzdHJpbmcgU1RSX0FDUElfUEFTU0lWRV9UU1BfVkFMVUUgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIg0KPiBQYXNzaXZlIFRTUCBWYWx1ZSINCj4gKyNzdHJp bmcgU1RSX0FDUElfUEFTU0lWRV9UU1BfVkFMVUVfSEVMUCAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMNCj4gIlRoaXMgaXRlbSBzZXRzIHRoZSBUU1AgdmFsdWUgZm9yIHRoZSBBQ1BJIFBh c3NpdmUgQ29vbGluZyBGb3JtdWxhLiAgSXQNCj4gcmVwcmVzZW50cyBpbiB0ZW50aHMgb2YgYSBz ZWNvbmQgaG93IG9mdGVuIHRoZSBPUyB3aWxsIHJlYWQgdGhlIHRlbXBlcmF0dXJlDQo+IHdoZW4g cGFzc2l2ZSBjb29saW5nIGlzIGVuYWJsZWQuIFJhbmdlIDIgLSAzMiINCj4gKw0KPiArI3N0cmlu ZyBTVFJfRFBURl9DT05GSUdVUkFUSU9OICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAiRFBURg0KPiBDb25maWd1cmF0aW9uIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9EQVRQ X1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJB Y3RpdmUgVHJpcA0KPiBQb2ludHMiDQo+ICsjc3RyaW5nIFNUUl9EQVRQX0hFTFAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJEaXNhYmxlIEFjdGl2ZQ0K PiBUcmlwIFBvaW50cyINCj4gKw0KPiArDQo+ICsvLw0KPiArLy8gRFBURiBGb3JtDQo+ICsvLw0K PiArI3N0cmluZyBTVFJfRFBURl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAgIkRQVEYiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0hFTFAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRW5hYmxlL0Rpc2Fi bGUNCj4gRFBURiINCj4gKyNzdHJpbmcgU1RSX0FDVElWRV9QUk9NUFQgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJBY3RpdmUiDQo+ICsjc3RyaW5nIFNUUl9B Q1RJVkVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICAiIg0KPiArI3N0cmluZyBTVFJfQ1REUF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkNURFAiDQo+ICsjc3RyaW5nIFNUUl9DVERQX0hFTFAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiIg0KPiAr I3N0cmluZyBTVFJfQ09PTElOR19NT0RFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiQ29vbGluZyBNb2RlIg0KPiArI3N0cmluZyBTVFJfQ09PTElOR19N T0RFX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIiINCj4g KyNzdHJpbmcgU1RSX0NSSVRJQ0FMX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJDcml0aWNhbCINCj4gKyNzdHJpbmcgU1RSX0NSSVRJQ0FMX0hFTFAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICIiDQo+ICsNCj4g KyNzdHJpbmcgU1RSX0RQVEZfQ0xQTV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJDTFBNIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE1fSEVM UCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiQ3VycmVudA0K PiBMb3cgUG93ZXIgTW9kZSINCj4gKw0KPiArI3N0cmluZyBTVFJfRFBURl9MUE1fQVBQICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkFwcGxpY2F0aW9uDQo+ IHNwZWNpZmljIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0xQTV9PUyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiT1MgbGV2ZWwiDQo+ICsNCj4gKyNz dHJpbmcgU1RSX0RQVEZfU1lTVEhFUk0wX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgICJUMQ0KPiBTZW5zb3IiICAgICAgICAgICAgLy8gU2tpbiBUZW1wZXJhdHVy ZSBTZW5zb3IgMA0KPiArI3N0cmluZyBTVFJfRFBURl9TWVNUSEVSTTBfSEVMUCAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgVDEgc2tpbiBz ZW5zb3IiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1RIRVJNMF9QQ0FUX1BST01QVCAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJDUFUgU2Vuc29ycyINCj4gKyNzdHJpbmcgU1RS X0RQVEZfVEhFUk0wX1BDQVRfSEVMUCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMNCj4gIkVuYWJsZS9EaXNhYmxlIENQVSBUZW1wZXJhdHVyZSBTZW5zb3JzIg0KPiArDQo+ICsj c3RyaW5nIFNUUl9EUFRGX1NZU1RIRVJNMV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJEaXNwbGF5IEJvYXJkIFNlbnNvciIgLy9TeXN0ZW0gVGhlcm1hbCBT ZW5zb3IgMQ0KPiArI3N0cmluZyBTVFJfRFBURl9TWVNUSEVSTTFfSEVMUCAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgRGlzcGxheSBCb2Fy ZCBza2luIFNlbnNvciINCj4gKyNzdHJpbmcgU1RSX0RQVEZfVEhFUk0xX1BDQVRfUFJPTVBUICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkFtYmllbnQgU2Vuc29ycyINCj4g KyNzdHJpbmcgU1RSX0RQVEZfVEhFUk0xX1BDQVRfSEVMUCAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIEFtYmllbnQgVGVtcGVyYXR1cmUgU2Vu c29ycyINCj4gKw0KPiArI3N0cmluZyBTVFJfRFBURl9TWVNUSEVSTTJfUFJPTVBUICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlNPQw0KPiBCb2FyZCBTZW5zb3IiICAgICAv L1N5c3RlbSBUaGVybWFsIFNlbnNvciAyDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1NZU1RIRVJNMl9I RUxQICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlz YWJsZSBTT0MgQm9hcmQgc2tpbiBTZW5zb3IiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1RIRVJNMl9Q Q0FUX1BST01QVCAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJERFIgU2Vu c29ycyINCj4gKyNzdHJpbmcgU1RSX0RQVEZfVEhFUk0yX1BDQVRfSEVMUCAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIEREUiBUZW1wZXJhdHVy ZSBTZW5zb3JzIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9EUFRGX1NZU1RIRVJNM19QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJDaGFyZ2VyIEJvYXJkIFNlbnNv ciIgLy9TeXN0ZW0gVGhlcm1hbCBTZW5zb3IgMw0KPiArI3N0cmluZyBTVFJfRFBURl9TWVNUSEVS TTNfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxl L0Rpc2FibGUgVUxQTUMgU2tpbiBUZW1wZXJhdHVyZSBTZW5zb3IiDQo+ICsjc3RyaW5nIFNUUl9E UFRGX1NZU1RIRVJNNF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT DQo+ICJBbWJpZW50IFRlbXBlcmF0dXJlIg0KPiArI3N0cmluZyBTVFJfRFBURl9TWVNUSEVSTTRf SEVMUCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rp c2FibGUgQW1iaWVudCBUZW1wZXJhdHVyZSINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQU1CSUVOVFRS SVBQT0lOVENIQU5HRV9QUk9NUFQgICAgICAgICAjbGFuZ3VhZ2UNCj4gZW4tVVMgICJBbWJpZW50 IGJhc2VkIFRyaXAgUG9pbnQgQ2hhbmdlIg0KPiArI3N0cmluZyBTVFJfRFBURl9BTUJJRU5UVFJJ UFBPSU5UQ0hBTkdFX0hFTFAgICAgICAgICAgICNsYW5ndWFnZSBlbi0NCj4gVVMgICJUaGlzIGNv bnRyb2xzIHRoZSBBY3Rpb24gcGFydCBvZiB0aGUgQW1iaWVudCBwYXJ0aWNpcGFudC4gV2hlbiBk aXNhYmxlZCwNCj4gdHJpcCBwb2ludHMgd291bGQgbm90IGJlIGNoYW5nZWQgd2hlbiBBbWJpZW50 IHBhcnRpY2lwYW50IG5vdGlmaWVzIHRoZSBGVw0KPiBvZiBhIG5ldyBhbWJpZW50IHRlbXBlcmF0 dXJlIHZpYSBfQVRJLiINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQUxMT1dISUdIRVJQRVJGT1JNQU5D RV9QUk9NUFQgICAgICAgICAjbGFuZ3VhZ2UNCj4gZW4tVVMgICJBbGxvdyBoaWdoZXIgcGVyZm9y bWFuY2Ugb24gQUMvVVNCIg0KPiArI3N0cmluZyBTVFJfRFBURl9BTExPV0hJR0hFUlBFUkZPUk1B TkNFX0hFTFAgICAgICAgICAgICNsYW5ndWFnZSBlbi0NCj4gVVMgICJPbiBBQy9VU0IgcG93ZXIg c291cmNlIGFsbG93IGZvciBoaWdoZXIgcGVyZm9ybWFuY2UgYW5kIHJlbGF4IHRhYmxldA0KPiBz a2luIHRlbXBlcmF0dXJlIHRvIGhpZ2hlciBsaW1pdHMuIFdhcm5pbmc6IE5vdGUgdXNlcnMgbWF5 IGZlZWwgd2FybSB0YWJsZXQNCj4gc2tpbi4iDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NIQVJHRVJf UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJDaGFyZ2Vy IFBhcnRpY2lwYW50Ig0KPiArI3N0cmluZyBTVFJfRFBURl9DSEFSR0VSX0hFTFAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgQ2hhcmdl ciBQYXJ0aWNpcGFudCBEZXZpY2UiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0RJU1BMQVlfUFJPTVBU ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRGlzcGxheQ0KPiBQYXJ0 aWNpcGFudCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfRElTUExBWV9IRUxQICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIERpc3BsYXkgUGFy dGljaXBhbnQgRGV2aWNlIg0KPiArI3N0cmluZyBTVFJfRFBURl9TT0NfUFJPTVBUICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBvd2VyDQo+IFBhcnRpY2lwYW50 Ig0KPiArI3N0cmluZyBTVFJfRFBURl9TT0NfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgUG93ZXIgUGFydGljaXBhbnQg RGV2aWNlIg0KPiArI3N0cmluZyBTVFJfUFJPQ0VTU09SX0RQVEZfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkRQVEYNCj4gUHJvY2Vzc29yIg0KPiArI3N0cmlu ZyBTVFJfUFJPQ0VTU09SX0RQVEZfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgUHJvY2Vzc29yIFBhcnRpY2lwYW50IERldmljZSIN Cj4gKw0KPiArI3N0cmluZyBTVFJfUEFTU0lWRV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBhc3NpdmUiDQo+ICsjc3RyaW5nIFNUUl9QQVNTSVZF X0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiIg0K PiArDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0dFTkVSSUNfUEFSVElDSVBBTlQgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRFBURg0KPiBHZW5lcmljIFNlbnNvciBQYXJ0aWNpcGFu dCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ1JJVElDQUxfVEVNUCAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJDcml0aWNhbCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfUEFT U0lWRV9URU1QICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJQYXNz aXZlIg0KPiArI3N0cmluZyBTVFJfRFBURl9DUklUSUNBTF9URU1QX0hFTFAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQ3JpdGljYWwgVGVtcGVyYXR1cmUiDQo+ICsjc3Ry aW5nIFNUUl9EUFRGX1BBU1NJVkVfVEVNUF9IRUxQICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTDQo+ICJQYXNzaXZlIFRlbXBlcmF0dXJlIg0KPiArI3N0cmluZyBTVFJfRFBURl8y NV9DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIjI1 IEMiDQo+ICsjc3RyaW5nIFNUUl9EUFRGXzMwX0MgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICAiMzAgQyINCj4gKyNzdHJpbmcgU1RSX0RQVEZfMzVfQyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICIzNSBDIg0K PiArI3N0cmluZyBTVFJfRFBURl80MF9DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAgIjQwIEMiDQo+ICsjc3RyaW5nIFNUUl9EUFRGXzQ1X0MgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiNDUgQyINCj4gKyNz dHJpbmcgU1RSX0RQVEZfNTBfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgICI1MCBDIg0KPiArI3N0cmluZyBTVFJfRFBURl81NV9DICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIjU1IEMiDQo+ICsjc3RyaW5n IFNUUl9EUFRGXzYwX0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiNjAgQyINCj4gKyNzdHJpbmcgU1RSX0RQVEZfNjVfQyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICI2NSBDIg0KPiArI3N0cmluZyBTVFJf RFBURl83MF9DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIjcwIEMiDQo+ICsjc3RyaW5nIFNUUl9EUFRGXzc1X0MgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiNzUgQyINCj4gKyNzdHJpbmcgU1RSX0RQVEZf ODBfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICI4 MCBDIg0KPiArI3N0cmluZyBTVFJfRFBURl84NV9DICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIjg1IEMiDQo+ICsjc3RyaW5nIFNUUl9EUFRGXzkwX0Mg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiOTAgQyIN Cj4gKyNzdHJpbmcgU1RSX0RQVEZfOTVfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgICI5NSBDIg0KPiArI3N0cmluZyBTVFJfRFBURl8xMDBfQyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIjEwMCBDIg0KPiAr I3N0cmluZyBTVFJfRFBURl8xMDVfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAgIjEwNSBDIg0KPiArI3N0cmluZyBTVFJfRFBURl8xMTBfQyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIjExMCBDIg0KPiArI3N0 cmluZyBTVFJfRFBURl8xMTVfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAgIjExNSBDIg0KPiArI3N0cmluZyBTVFJfRFBURl8xMjBfQyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIjEyMCBDIg0KPiArI3N0cmlu ZyBTVFJfRFBURl8xMjVfQyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAgIjEyNSBDIg0KPiArI3N0cmluZyBTVFJfRFBURl81Ml9DICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIjUyIEMiDQo+ICsjc3RyaW5nIFNU Ul9EUFRGXzYxX0MgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiNjEgQyINCj4gKyNzdHJpbmcgU1RSX0RQVEZfNjRfQyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICI2NCBDIg0KPiArI3N0cmluZyBTVFJfRFBU Rl80M19DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAg IjQzIEMiDQo+ICsjc3RyaW5nIFNUUl9EUFRGXzU3X0MgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiNTcgQyINCj4gKyNzdHJpbmcgU1RSX0RQVEZfNjJf QyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICI2MiBD Ig0KPiArI3N0cmluZyBTVFJfRFBURl83OF9DICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIjc4IEMiDQo+ICsjc3RyaW5nIFNUUl9EUFRGXzgxX0MgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiODEgQyINCj4g Kw0KPiArI3N0cmluZyBTVFJfRFBURl9HRU5FUklDMF9QQVJUX1BDQVQgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIkNQVQ0KPiBTZW5zb3IgUGFydGljaXBhbnRzIg0KPiArI3N0 cmluZyBTVFJfRFBURl9HRU5FUklDMV9QQVJUX1BDQVQgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiQW1iaWVudCBTZW5zb3IgUGFydGljaXBhbnRzIg0KPiArI3N0cmluZyBT VFJfRFBURl9HRU5FUklDMl9QQVJUX1BDQVQgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAgIkREUg0KPiBTZW5zb3IgUGFydGljaXBhbnRzIg0KPiArI3N0cmluZyBTVFJfRFBURl9H RU5FUklDMF9QQVJUSUNJUEFOVCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAi RFBURiBUMSBTZW5zb3IgUGFydGljaXBhbnQiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0dFTkVSSUMx X1BBUlRJQ0lQQU5UICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJEUFRGIERp c3BsYXkgQm9hcmQgU2Vuc29yIFBhcnRpY2lwYW50Ig0KPiArI3N0cmluZyBTVFJfRFBURl9HRU5F UklDMl9QQVJUSUNJUEFOVCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRFBU RiBTT0MgQm9hcmQgU2Vuc29yIFBhcnRpY2lwYW50Ig0KPiArI3N0cmluZyBTVFJfRFBURl9TRFAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlNjZW5h cmlvIERlc2lnbg0KPiBQb3dlciINCj4gKw0KPiArI3N0cmluZyBTVFJfRFBURl9CUkFORF9TVFJJ TkcgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkJyYW5kDQo+IFN0 cmluZyINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQlJBTkRfU1RSSU5HX0hFTFAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkJyYW5kIHN0cmluZyBmb3IgdGhlIHByb2Nlc3Nv ciwgZXhhbXBsZSBOeHh4IG9yIEp4eHgiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0RQVEZfTjM1MTAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOMzUxMC8y MCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfTjI5MTAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOMjkxMC8yMCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfTjI4 MTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOMjgx MC8xNS8yMCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfTjI4MDUgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOMjgwNS8wNiINCj4gKyNzdHJpbmcgU1RSX0RQ VEZfSjI4NTAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg ICJKMjg1MC8yOTAwIg0KPiArI3N0cmluZyBTVFJfRFBURl9KMTg1MCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkoxODUwLzE5MDAiDQo+ICsjc3RyaW5n IFNUUl9EUFRGX0oxNzUwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiSjE3NTAvMTgwMCINCj4gKw0KPiArI3N0cmluZyBTVFJfRFBURl9HRU5FUklDM19Q QVJUSUNJUEFOVCAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRFBURiBDaGFy Z2VyIEJvYXJkIFNlbnNvciBQYXJ0aWNpcGFudCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfR0VORVJJ QzRfUEFSVElDSVBBTlQgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRQVEYg R2VuZXJpYyBTZW5zb3I0IFBhcnRpY2lwYW50Ig0KPiArI3N0cmluZyBTVFJfRFBURl9DUklUSUNB TF9URU1QICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkNyaXRpY2Fs Ig0KPiArI3N0cmluZyBTVFJfRFBURl9QQVNTSVZFX1RFTVAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIlBhc3NpdmUiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NSSVRJ Q0FMX1RFTVBfSEVMUCAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJDcml0 aWNhbCBUZW1wZXJhdHVyZSINCj4gKyNzdHJpbmcgU1RSX0RQVEZfUEFTU0lWRV9URU1QX0hFTFAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlBhc3NpdmUgVGVtcGVyYXR1 cmUiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE0gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgI2xhbmd1YWdlIGVuLVVTICAiQ0xQTSINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ0xQTV9I RUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJDdXJyZW50 DQo+IExvdyBQb3dlciBNb2RlIg0KPiArI3N0cmluZyBTVFJfRFBURl9MUE1fQVBQICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkFwcGxpY2F0aW9uDQo+IHNw ZWNpZmljIg0KPiArI3N0cmluZyBTVFJfRFBURl9MUE1fT1MgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIk9TIGxldmVsIg0KPiArI3N0cmluZyBTVFJfRFBU Rl9TREJHICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAg IlN1cGVyIERlYnVnIg0KPiArI3N0cmluZyBTVFJfRFBURl9TREJHX0hFTFAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlN1cGVyDQo+IGRlYnVnIGlzIGZvciB2 YWxpZGF0aW9uIHB1cnBvc2UiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX09GRkxJTklORyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiUHJvY2Vzc29yDQo+IE9mZmxp bmluZyINCj4gKyNzdHJpbmcgU1RSX0RQVEZfT0ZGTElOSU5HX0hFTFAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJFbmFibGUNCj4gb3IgZGlzYWJsZSBwcm9jZXNzb3Ig b2ZmbGluaW5nLCBwYXNzaXZlIHBvbGljeSBvbmx5Ig0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBP ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkN1cnJl bnQgTG9naWNhbA0KPiBQcm9jZXNzb3IgT2ZmbGluaW5nIg0KPiArI3N0cmluZyBTVFJfRFBURl9D TFBPX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkNv bnRyb2xzDQo+IExQTyBDb250cm9sIHByZWZlcmVuY2VzLiBVc2VkIG9ubHkgYnkgUGFzc2l2ZSBw b2xpY3kiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE9fU1RBUlRfUElOREVYICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiU3RhcnQNCj4gUC1TdGF0ZSINCj4gKyNzdHJpbmcg U1RSX0RQVEZfQ0xQT19TVEFSVF9QSU5ERVhfSEVMUCAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMNCj4gIkluc3RydWN0cyB0aGUgcG9saWN5IHdoZW4gdG8gaW5pdGlhdGUgQWN0aXZlIENv cmUgY29udHJvbCBpZiBlbmFibGVkIg0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBPX1BTVEFURV9J TkRFWDAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlAwIg0KPiArI3N0cmlu ZyBTVFJfRFBURl9DTFBPX1BTVEFURV9JTkRFWDEgICAgICAgICAgICAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAgIlAxIg0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBPX1BTVEFURV9JTkRFWDIgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlAyIg0KPiArI3N0cmluZyBTVFJfRFBU Rl9DTFBPX1BTVEFURV9JTkRFWDMgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAg IlAzIg0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBPX1BTVEFURV9JTkRFWDQgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlA0Ig0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBPX1BT VEFURV9JTkRFWDUgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlA1Ig0KPiAr I3N0cmluZyBTVFJfRFBURl9DTFBPX1BTVEFURV9JTkRFWDYgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAgIlA2Ig0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBPX1BTVEFURV9JTkRF WDcgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlA3Ig0KPiArI3N0cmluZyBT VFJfRFBURl9DTFBPX1BTVEFURV9JTkRFWDggICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAgIlA4Ig0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBPX1BTVEFURV9JTkRFWDkgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlA5Ig0KPiArI3N0cmluZyBTVFJfRFBURl9D TFBPX1BTVEFURV9JTkRFWDEwICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlAx MCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ0xQT19QU1RBVEVfSU5ERVgxMSAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJQMTEiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NMUE9fUFNU QVRFX0lOREVYMTIgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiUDEyIg0KPiAr I3N0cmluZyBTVFJfRFBURl9DTFBPX1NURVBfU0laRSAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAgIlN0ZXANCj4gc2l6ZSINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ0xQT19T VEVQX1NJWkVfSEVMUCAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkluc3Ry dWN0cyB0aGUgcG9saWN5IHRvIHRha2UgYXdheSBsb2dpY2FsIHByb2Nlc3NvcnMgaW4gdGhlIHNw ZWNpZmllZA0KPiBwZXJjZW50YWdlIHN0ZXBzLiINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ0xQT19T VEVQX1NJWkVfVkFMVUVfMjUgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIjI1JSIN Cj4gKyNzdHJpbmcgU1RSX0RQVEZfQ0xQT19TVEVQX1NJWkVfVkFMVUVfNTAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIjUwJSINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ0xQT19TVEVQ X1NJWkVfVkFMVUVfNzUgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIjc1JSINCj4g KyNzdHJpbmcgU1RSX0RQVEZfQ0xQT19QV1JfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJQb3dlcg0KPiBDb250cm9sIFNldHRpbmciDQo+ICsjc3RyaW5nIFNU Ul9EUFRGX0NMUE9fUFdSX0NUUkxfSEVMUCAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJJbnN0cnVjdHMgdGhlIHBvbGljeSB3aGV0aGVyIHRvIHVzZSBDb3JlIG9mZmxpaW5n IGlmIEFjdGl2ZSBjb3JlIGNvbnRyb2wgaXMNCj4gZW5hYmxlZCB0byBiZSB1c2VkIGluIFAwIG9y IHdoZW4gcG93ZXIgY29udHJvbCBpcyBhcHBsaWVkIg0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBP X1BFUkZfQ1RSTCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiUGVy Zm9ybWFuY2UgQ29udHJvbCBTZXR0aW5nIg0KPiArI3N0cmluZyBTVFJfRFBURl9DTFBPX1BFUkZf Q1RSTF9IRUxQICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiSW5zdHJ1Y3Rz IHRoZSBwb2xpY3kgd2hldGhlciB0byB1c2UgQ29yZSBvZmZsaWluZyBpZiBBY3RpdmUgY29yZSBj b250cm9sIGlzDQo+IGVuYWJsZWQgdG8gYmUgdXNlZCBpbiBQMSBvciB3aGVuIHBlcmZvcm1hbmNl IGNvbnRyb2wgaXMgYXBwbGllZCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfU01UX09GRkZMSU5JTkcg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJTTVQNCj4gT2ZmbGluaW5n Ig0KPiArI3N0cmluZyBTVFJfRFBURl9DT1JFX09GRkZMSU5JTkcgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIkNvcmUNCj4gT2ZmbGluaW5nIg0KPiArI3N0cmluZyBTVFJf RFBURl9EUFBNICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIkRQUE0iDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0RQUE1fSEVMUCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiQ29udHJvbHMNCj4gRFBQTSBwb2xpY2llcyIN Cj4gKw0KPiArI3N0cmluZyBTVFJfRFlOQU1JQ19QTEFURk9STV9USEVSX0ZSQU1FX1BST01QVCAg ICAgICAgICNsYW5ndWFnZQ0KPiBlbi1VUyAgIkR5bmFtaWMgUGxhdGZvcm0mVGhlcm1hbCBGcmFt ZXdvcmsiDQo+ICsjc3RyaW5nIFNUUl9EWU5BTUlDX1BMQVRGT1JNX1RIRVJfRlJBTUVfSEVMUCAg ICAgICAgICAgI2xhbmd1YWdlIGVuLQ0KPiBVUyAgIiINCj4gKyNzdHJpbmcgU1RSX0RZTkFNSUNf UExBVEZPUk1fVEhFUl9GUkFNRV9QUk9NUFQgICAgICAgICAjbGFuZ3VhZ2UNCj4gZW4tVVMgICJE eW5hbWljIFBsYXRmb3JtJlRoZXJtYWwgRnJhbWV3b3JrIg0KPiArI3N0cmluZyBTVFJfRFlOQU1J Q19QTEFURk9STV9USEVSX0ZSQU1FX0hFTFAgICAgICAgICAgICNsYW5ndWFnZSBlbi0NCj4gVVMg ICIiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0RQVEZfUEFTU0lWRV9UUklQX1BPSU5UX1BST01QVCAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIg0KPiBQYXNzaXZlIFRyaXAgUG9pbnQiDQo+ICsj c3RyaW5nIFNUUl9EUFRGX1BBU1NJVkVfVFJJUF9QT0lOVF9IRUxQICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICIiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0FDVElWRV9UUklQX1BPSU5UX1BS T01QVCAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICINCj4gQWN0aXZlIFRyaXAgUG9pbnQi DQo+ICsjc3RyaW5nIFNUUl9EUFRGX0FDVElWRV9UUklQX1BPSU5UX0hFTFAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICIiDQo+ICsjc3RyaW5nIFNUUl9EUFRGX0NSSVRJQ0FMX1RSSVBf UE9JTlRfUFJPTVBUICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICINCj4gQ3JpdGljYWwgVHJp cCBQb2ludCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfQ1JJVElDQUxfVFJJUF9QT0lOVF9IRUxQICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKyNzdHJpbmcgU1RSX0RQVEZfSE9UX1RS SVBfUE9JTlRfUFJPTVBUICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIg0KPiBIb3Qg VHJpcCBQb2ludCINCj4gKyNzdHJpbmcgU1RSX0RQVEZfSE9UX1RSSVBfUE9JTlRfSEVMUCAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIiINCj4gKyNzdHJpbmcgU1RSX05FVyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOZXci DQo+ICsjc3RyaW5nIFNUUl9MRUdBQ1kgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICAiTGVnYWN5Ig0KPiArI3N0cmluZyBTVFJfQ1BVICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkNQVSINCj4g KyNzdHJpbmcgU1RSX1NBICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJTQSINCj4gKw0KPiArLy8NCj4gKy8vTWVtb3J5DQo+ICsvLw0KPiAr I3N0cmluZyBTVFJfTUVNT1JZX1NDUkFNQkxFUl9QUk9NUFQgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiTWVtb3J5IFNjcmFtYmxlciINCj4gKyNzdHJpbmcgU1RSX01FTU9S WV9TQ1JBTUJMRVJfSEVMUCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4g IkVuYWJsZS9EaXNhYmxlIE1lbW9yeSBTY3JhbWJsZXIgc3VwcG9ydC4iDQo+ICsNCj4gKyNzdHJp bmcgU1RSX0dPUF9USVRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIkdPUA0KPiBDb25maWd1cmF0aW9uIg0KPiArI3N0cmluZyBTVFJfR09QX1ZCSU9T X1NXSVRDSCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiR09QDQo+ IERyaXZlciINCj4gKyNzdHJpbmcgU1RSX0dPUF9CUklHSFRORVNTX0xFVkVMICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkdPUA0KPiBCcmlnaHRuZXNzIExldmVsIg0KPiAr I3N0cmluZyBTVFJfR09QX0JSSUdIVE5FU1NfTEVWRUxfSEVMUCAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiU2V0DQo+IEdPUCBCcmlnaHRuZXNzIExldmVsOyBWYWx1ZSByYW5nZXMg ZnJvbSAwLTI1NSINCj4gKyNzdHJpbmcgU1RSX0dPUF9WQklPU19TV0lUQ0hfSEVMUCAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZSBHT1AgRHJpdmVyIHdpbGwg dW5sb2FkIFZCSU9TOyBEaXNhYmxlIGl0IHdpbGwgbG9hZCBWQklPUyINCj4gKyNzdHJpbmcgU1RS X0dPUF9CUklHSFRfMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIjAiDQo+ICsjc3RyaW5nIFNUUl9HT1BfQlJJR0hUXzIwICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIyMCINCj4gKyNzdHJpbmcgU1RSX0dPUF9CUklHSFRf NDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjQwIg0KPiAr I3N0cmluZyBTVFJfR09QX0JSSUdIVF82MCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiNjAiDQo+ICsjc3RyaW5nIFNUUl9HT1BfQlJJR0hUXzgwICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICI4MCINCj4gKyNzdHJpbmcgU1RS X0dPUF9CUklHSFRfMTAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIjEwMCINCj4gKyNzdHJpbmcgU1RSX0dPUF9CUklHSFRfMTIwICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjEyMCINCj4gKyNzdHJpbmcgU1RSX0dPUF9CUklH SFRfMTQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjE0MCIN Cj4gKyNzdHJpbmcgU1RSX0dPUF9CUklHSFRfMTYwICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIjE2MCINCj4gKyNzdHJpbmcgU1RSX0dPUF9CUklHSFRfMTgwICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjE4MCINCj4gKyNzdHJp bmcgU1RSX0dPUF9CUklHSFRfMjAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIjIwMCINCj4gKyNzdHJpbmcgU1RSX0dPUF9CUklHSFRfMjIwICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjIyMCINCj4gKyNzdHJpbmcgU1RSX0dP UF9CUklHSFRfMjQwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IjI0MCINCj4gKyNzdHJpbmcgU1RSX0dPUF9CUklHSFRfMjU1ICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjI1NSINCj4gKw0KPiArDQo+ICsvLw0KPiArLy9TeXN0 ZW0gQ29tcG9uZW50cw0KPiArLy8NCj4gKyNzdHJpbmcgU1RSX1BNSUNfQ09ORklHVVJBVElPTl9U SVRMRSAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlBNSUMgQ29uZmlndXJh dGlvbiINCj4gKyNzdHJpbmcgU1RSX1BNSUNfQUNQSV9PQkpFQ1RfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlBNSUMgQUNQSSBPQkpFQ1QiDQo+ICsjc3RyaW5n IFNUUl9QTUlDX0FDUElfT0JKRUNUX0hFTFAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBQTUlDIEFDUEkgRGV2aWNlLiINCj4gKw0KPiArI3N0 cmluZyBTVFJfUE5QX0NPTkZJR1VSQVRJT05fVElUTEUgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiU3lzdGVtIFBvd2VyIGFuZCBQZXJmb3JtYW5jZShQblApIENvbmZpZ3Vy YXRpb24iDQo+ICsjc3RyaW5nIFNUUl9QTlBfU0VUVElOR19QUk9NUFQgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTb0MgUG5QDQo+IFNldHRpbmciDQo+ICsjc3RyaW5n IFNUUl9QTlBfU0VUVElOR19IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJTZWxlY3QgU29DDQo+IFBuUCBzZXR0aW5nIG1vZGUuIEF1dG8gZGV0ZWN0IG1vZGUg d2lsbCBsb2FkIHRoZSBTb0MgUG5QIHRhYmxlIGFnYWluc3QNCj4gc3RlcHBpbmcuIg0KPiArI3N0 cmluZyBTVFJfUE5QX1BPV0VSX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiUGVyZm9ybWFuY2UiDQo+ICsjc3RyaW5nIFNUUl9QTlBfUEVSRk9STUFO Q0VfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJQb3dlciIN Cj4gKyNzdHJpbmcgU1RSX1BOUF9QT1dFUl9QRVJGT1JNQU5DRV9TVFJJTkcgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkF1dG8gRGV0ZWN0Ig0KPiArI3N0cmluZyBTVFJfUE5QX1BP V0VSX1BFUkZPUk1BTkNFX1NUUklOR19BMCAgICAgICAgICAgICNsYW5ndWFnZSBlbi0NCj4gVVMg IkF4IFN0ZXBwaW5nIg0KPiArI3N0cmluZyBTVFJfUE5QX1BPV0VSX1BFUkZPUk1BTkNFX1NUUklO R19CMCAgICAgICAgICAgICNsYW5ndWFnZSBlbi0NCj4gVVMgIkJ4IFN0ZXBwaW5nIg0KPiArDQo+ ICsjc3RyaW5nIFNUUl9DRklPX1BOUF9TRVRUSU5HX1BST01QVCAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJDRklPL0dQSU8gUG5QIFNldHRpbmciDQo+ICsjc3RyaW5nIFNU Ul9DRklPX1BOUF9TRVRUSU5HX0hFTFAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJFbmFibGUvRGlzYWJsZSBDRklPL0dQSU8gUG5QIHNldHRpbmcgbW9kZS4gV2hlbiBl bmFibGVkLCBDRklPL0dQSU8NCj4gdW51c2VkIHBpbnMgd2lsbCBiZSBpbiB0cmktc3RhdGUgZm9y IHBvd2VyIHNhdmluZy4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1RSSVNUQVRFX0xQQ19QUk9NUFQg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkxQQyBQblANCj4gU2V0dGlu ZyINCj4gKyNzdHJpbmcgU1RSX1RSSVNUQVRFX0xQQ19IRUxQICAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9EaXNhYmxlIExQQyBQblAgU2V0dGluZy4g V2hlbiBlbmFibGVkLCB0aGUgTHBjIHdpbGwgZGlhYmxlIGNsb2NrIGFuZA0KPiBiZSBwbGFjZWQg aW4gdHJpLXN0YXRlIGZvciBwb3dlciBzYXZlaW5nIHdoZW4gQmlvcyBoYW5kcyBvdmVyIGNvbnRy b2wgdG8gT1MuDQo+IElmIHRoZXJlIGlzIGRldmljZSBjb25uZWN0ZWQgdG8gTFBDIGJ1cywgdGhp cyBzZXR0aW5nIHNob3VsZCBub3QgYmUgZW5hYmxlZC4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1NM UF9TMElYX05fUFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IkFzc2V0DQo+IFNMUF9TMElYX04gaW4gUzBpeCINCj4gKyNzdHJpbmcgU1RSX1NMUF9TMElYX05f SEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkF1dG8v RW5hYmxlL0Rpc2FibGUgQXNzZXQgU0xQX1MwSVhfTiBpbiBTMGl4LiBJbiBBdXRvIG1vZGUsIFBN QyB3aWxsDQo+IGFzc2VydCBTTFBfUzBJWF9OIE9OTFkgZm9yIFBSMS40IGFuZCBiZXlvbmQsIFJW UCBwbHVzIFJvaG0gQjMgb3IgRGlhbG9nDQo+IEMwIG9yIE1heGltLiBJbiBFbmFibGUgbW9kZSwg UE1DIHdpbGwgYXNzZXJ0IHRoZSBTTFBfUzBJWF9OIHRvIHNhdmUgcG93ZXINCj4gcmVnYXJkbGVz cyB0aGUgYm9hcmQgdHlwZS4iDQo+ICsNCj4gKyNzdHJpbmcgU1RSX0NSSURfU0VUVElOR19IRUxQ ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNlbGVjdCB0aGUNCj4g UmV2aXNpb24gSUQgcmVmbGVjdGVkIGluIFBDSSBjb25maWcgc3BhY2UiDQo+ICsjc3RyaW5nIFNU Ul9DUklEX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICJDUklEIFNldHRpbmciDQo+ICsjc3RyaW5nIFNUUl9DUklEXzBfU1RSSU5HICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJDUklEXzAiDQo+ICsjc3RyaW5n IFNUUl9DUklEXzFfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJDUklEXzEiDQo+ICsjc3RyaW5nIFNUUl9DUklEXzJfU1RSSU5HICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJDUklEXzIiDQo+ICsNCj4gKyNzdHJp bmcgU1RSX1BDSUVfU1BFRURfUFJPTVBUMCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgIlBDSWUgMA0KPiBTcGVlZCINCj4gKyNzdHJpbmcgU1RSX1BDSUVfU1BFRURfUFJP TVBUMSAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBDSWUgMQ0KPiBT cGVlZCINCj4gKyNzdHJpbmcgU1RSX1BDSUVfU1BFRURfUFJPTVBUMiAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBDSWUgMg0KPiBTcGVlZCINCj4gKyNzdHJpbmcgU1RS X1BDSUVfU1BFRURfUFJPTVBUMyAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMgIlBDSWUgMw0KPiBTcGVlZCINCj4gKyNzdHJpbmcgU1RSX1NBVEFfVEVTVF9NT0RFX1BST01Q VCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlNBVEEgVGVzdCBNb2Rl Ig0KPiArI3N0cmluZyBTVFJfUENJRV9TUEVFRF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAiQ29uZmlndXJlDQo+IFBDSWUgU3BlZWQiDQo+ICsjc3RyaW5n IFNUUl9BVVRPICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJBdXRvIg0KPiArI3N0cmluZyBTVFJfR0VOMSAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiR2VuMSINCj4gKyNzdHJpbmcgU1RSX0dF TjIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg IkdlbjIiDQo+ICsjc3RyaW5nIFNUUl9TQVRBX1RFU1RfTU9ERV9IRUxQICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJUZXN0DQo+IE1vZGUgRW5hYmxlL0Rpc2FibGUiDQo+ ICsNCj4gKyNzdHJpbmcgU1RSX1NFQ1VSRV9CT09UX01PREVfSEVMUCAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlNlY3VyZSBCb290IE1vZGUgLSBDdXN0b20gJiBTdGFu ZGFyZCINCj4gKyNzdHJpbmcgU1RSX1NFQ1VSRV9CT09UICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNlY3VyZUJvb3QiDQo+ICsjc3RyaW5nIFNUUl9DTEVB Ul9BTExfS0VZUyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJD bGVhciBhbGwNCj4gS2V5cyINCj4gKyNzdHJpbmcgU1RSX0NMRUFSX0FMTF9LRVlTX0hFTFAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkNsZWFycyBQSywNCj4gS0VLLCBE QiBhbmQgREJ4LiBDbGVhcmluZyBLZXlzIHNob3VsZCBiZSBkb25lIGluIEN1c3RvbSBNb2RlIg0K PiArI3N0cmluZyBTVFJfTE9BRF9ERUZBVUxUU19LRVlTICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiTG9hZA0KPiBVRUZJIFNlY3VyZSBCb290IERlZmF1bHRzIGFuZCBF eGl0Ig0KPiArI3N0cmluZyBTVFJfTE9BRF9ERUZBVUxUU19LRVlTX0hFTFAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAiTG9hZHMNCj4gUEssS0VLLCBEQnggYW5kIERCLiBTaG91 bGQgYmUgZG9uZSBpbiBDdXN0b20gTW9kZSINCj4gKyNzdHJpbmcgU1RSX1NFQ1VSRV9CT09UX1VQ UF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlVzZXIgUGh5 c2ljYWwgUHJlc2VudCINCj4gKyNzdHJpbmcgU1RSX1NFQ1VSRV9CT09UX1VQUF9IRUxQICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlVzZXIgaXMNCj4gUGh5c2ljYWwgUHJl c2VudCBVc2VyIg0KPiArI3N0cmluZyBTVFJfU0VDVVJFX0JPT1RfTU9ERV9QUk9NUFQgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiVUVGSSBTZWN1cmUgQm9vdCBNb2RlIg0K PiArI3N0cmluZyBTVFJfU0VDVVJFX0JPT1RfTU9ERV9IRUxQICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiU2V0DQo+IFVFRkkgU2VjdXJlIEJvb3QgTW9kZSB0byBTVEFOREFS RCBtb2RlIG9yIENVU1RPTSBtb2RlLCB0aGlzIGNoYW5nZQ0KPiBpcyBlZmZlY3QgYWZ0ZXIgc2F2 ZS4gQW5kIGFmdGVyIHJlc2V0LCB0aGUgbW9kZSB3aWxsIHJldHVybiB0byBTVEFOREFSRA0KPiBt b2RlIg0KPiArI3N0cmluZyBTVFJfU0JfU1RBTkRBUkRfTU9ERSAgICAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiU1RBTkRBUkQiDQo+ICsjc3RyaW5nIFNUUl9TQl9D VVNUT01fTU9ERSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJD VVNUT00iDQo+ICsjc3RyaW5nIFNUUl9TRUNVUkVfQk9PVF9QUk9fS0VZX1BST01QVCAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJVRUZJIFNlY3VyZSBCb290IEtleSINCj4gKyNz dHJpbmcgU1RSX1NFQ1VSRV9CT09UX1BST19LRVlfSEVMUCAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIlNldA0KPiB0aGUgVUVGSSBTZWN1cmUgQm9vdCBLZXkgdG8gRGV2ZWxvcG1l bnQgS2V5IG9yIFByb2R1Y3Rpb24gS2V5LCBDaGFuZ2UNCj4gS2V5IHNob3VsZCBiZSBkb25lIGlu IEN1c3RvbSBNb2RlIg0KPiArI3N0cmluZyBTVFJfREVWX0tFWSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRGV2ZWxvcG1lbnQNCj4gS2V5Ig0KPiAr I3N0cmluZyBTVFJfUFJPX0tFWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiUHJvZHVjdGlvbiBLZXkiDQo+ICsNCj4gKy8vIEFDUEkgTWVtb3J5IERl YnVnDQo+ICsvLw0KPiArI3N0cmluZyBTVFJfQUNQSU1FTURCR19TVFJJTkcgICAgICAgICAgICAg ICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiQUNQSQ0KPiBNZW1vcnkgRGVidWcgU3dpdGNo Ig0KPiArI3N0cmluZyBTVFJfQUNQSU1FTURCR19TV1RJQ0ggICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAiQUNQSQ0KPiBNZW1vcnkgRGVidWciDQo+ICsjc3RyaW5nIFNU Ul9BQ1BJTUVNREJHX1NXVElDSF9IRUxQICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJFbmFibGUgb3IgRGlzYWJsZSBBQ1BJIE1lbW9yeSBEZWJ1ZyINCj4gKw0KPiArI3N0 cmluZyBTVFJfRVhJU1VQUE9SVF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiRXhJIg0KPiArI3N0cmluZyBTVFJfRVhJU1VQUE9SVF9IRUxQICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5hYmxlZC9EaXNhYmxlZCBF eEkiDQo+ICsNCj4gKyNzdHJpbmcgU1RSX1BNV0VJR0hUU19QUk9NUFQgICAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBNDQo+IFdlaWdodHMiDQo+ICsjc3RyaW5nIFNU Ul9QTVdFSUdIVFNfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJFbmFibGVkL0Rpc2FibGVkIFBNIFdlaWdodHMiDQo+ICsNCj4gKyNzdHJpbmcgU1RS X0xQU1NERVZISURFX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4t VVMNCj4gIlVuc3VwcG9ydGVkIExQU1MgRGV2aWNlIg0KPiArI3N0cmluZyBTVFJfTFBTU0RFVkhJ REVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiSGlkZQ0K PiB1bnN1cHBvcnRlZCBMUFNTIGRldmljZXMgd2hlbiBpbiBBQ1BJIE1vZGUiDQo+ICsjc3RyaW5n IFNUUl9ISURFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJIaWRlIg0KPiArI3N0cmluZyBTVFJfVU5ISURFICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiVW5IaWRlIg0KPiArDQo+ICsjc3RyaW5n IFNUUl9CQVRURVJZX0NPTkZJR1VSQVRJT05fVElUTEUgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTDQo+ICJCYXR0ZXJ5IENoYXJnaW5nIENvbmZpZ3VyYXRpb24iDQo+ICsjc3RyaW5nIFNU Ul9CQVRURVJZX0FDUElfT0JKRUNUX1BST01QVCAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJCYXR0ZXJ5IHNvbHV0aW9uIg0KPiArI3N0cmluZyBTVFJfQkFUVEVSWV9BQ1BJX09C SkVDVF9IRUxQICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiSWYgaXQNCj4gZG9l cyBub3QgbWF0Y2gsIGJhdHRlcnkgd2lsbCBub3Qgd29yayBwcm9wZXJseS4iDQo+ICsjc3RyaW5n IFNUUl9OT05fVUxQTUMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJOb24gVUxQTUMNCj4gc29sdXRpb24iDQo+ICsjc3RyaW5nIFNUUl9VTFBNQyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJVTFBNQyBz b2x1dGlvbiINCj4gKw0KPiArI3N0cmluZyBTVFJfQ1JJVElDQUxfQkFUVEVSWV9MSU1JVF9QUk9N UFQgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQ3JpdGljYWwgQmF0dGVyeSBMaW1p dCINCj4gKyNzdHJpbmcgU1RSX0NSSVRJQ0FMX0JBVFRFUllfTElNSVRfSEVMUCAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkxpbWl0DQo+IGluIHBlcmNlbnRhZ2UgYmVsb3cgd2hpY2gg dGhlIHN5c3RlbSBpcyBub3QgYWxsb3dlZCB0byBib290Lg0KPiArDQo+ICsjc3RyaW5nIFNUUl9D UklUSUNBTF9CQVRURVJZX0xJTUlUX0ZFQVRVUkVfUFJPTVBUICAgICNsYW5ndWFnZSBlbi0NCj4g VVMgIkNyaXRpY2FsIEJhdHRlcnkgTGltaXQgRmVhdHVyZSINCj4gKyNzdHJpbmcgU1RSX0NSSVRJ Q0FMX0JBVFRFUllfTElNSVRfRkVBVFVSRV9IRUxQICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJF bmFibGUgb3IgRGlzYWJsZSBDcml0aWNhbCBCYXR0ZXJ5IExpbWl0IEZlYXR1cmUuIg0KPiArDQo+ ICsjc3RyaW5nIFNUUl9VTFBNQ19GV19MT0NLX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTDQo+ICJVTFBNQyBGaXJtd2FyZSBMb2NrIg0KPiArI3N0cmluZyBTVFJf VUxQTUNfRldfTE9DS19IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAiRW5hYmxlDQo+IG9yIERpc2FibGUgTG9jayBVTFBNQyBGaXJtd2FyZSBVcGRhdGUuIg0KPiAr I3N0cmluZyBTVFJfV0lUVF9DT05GSUdVUkFUSU9OX1RJVExFICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiV0lUVA0KPiBDb25maWd1cmF0aW9uIg0KPiArI3N0cmluZyBTVFJfV0lU VF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi RW5hYmxlIFdJVFQiDQo+ICsjc3RyaW5nIFNUUl9XSVRUX0hFTFAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJFbmFibGUgb3INCj4gRGlzYWJsZSBXSVRU Ig0KPiArI3N0cmluZyBTVFJfVVRTX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAiRW5hYmxlDQo+IFVUUyhVYXJ0IFRlc3QgU3VpdGUpIg0KPiAr I3N0cmluZyBTVFJfVVRTX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiRW5hYmxlIG9yIERpc2FibGUNCj4gVWFydCBUZXN0IHN1aXRlIg0KPiAr I3N0cmluZyBTVFJfUENIX1NQSV9XUF9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiQklPUw0KPiBSZWFkL1dyaXRlIFByb3RlY3Rpb24iDQo+ICsjc3RyaW5n IFNUUl9QQ0hfU1BJX1dQX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJFbmFibGUgb3INCj4gRGlzYWJsZSBCSU9TIFNQSSByZWdpb24gcmVhZC93cml0ZSBw cm90ZWN0LiINCj4gKyNzdHJpbmcgU1RSX1BDSF9TUElfV1BfRElTQUJMRSAgICAgICAgICAgICAg ICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIkRpc2FibGUiDQo+ICsjc3RyaW5nIFNUUl9QQ0hf U1BJX1dQX0VOQUJMRSAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJF bmFibGUiDQo+ICsjc3RyaW5nIFNUUl9JR0RfVFVSQk9fUFJPTVBUICAgICAgICAgICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiSUdEDQo+IFR1cmJvIg0KPiArI3N0cmluZyBTVFJf SUdEX1RVUkJPX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V UyAgIlNlbGVjdCB0aGUNCj4gSUdEIFR1cmJvIGZlYXR1cmUsIGlmIEF1dG8gc2VsZWN0ZWQsIElH RCBUdXJibyB3aWxsIG9ubHkgYmUgZW5hYmxlZCB3aGVuDQo+IFNPQyBzdGVwcGluZyBpcyBCMCBv ciBhYm92ZS4iDQo+ICsjc3RyaW5nIFNUUl9FSENJX1BMTF9DRkdfUFJPTVBUICAgICAgICAgICAg ICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJFSENJIFBMTA0KPiBDb25maWd1cmUiDQo+ICsj c3RyaW5nIFNUUl9FSENJX1BMTF9DRkdfUlREM19ESVNfSEVMUCAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBFSENJIFBMTCBDb25maWd1cmUgRm9yIFJU RDMiDQo+ICsNCj4gKy8vIENvZGVjIEFMQy0yNjIgZGlzYWJsZWQNCj4gKyNzdHJpbmcgU1RSX0NP REVDMjYyX0RJU0FCTEVEX1BST01QVCAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIkRpc2FibGUgQ29kZWMgQUxDLTI2MiINCj4gKyNzdHJpbmcgU1RSX0NPREVDMjYyX0RJU0FC TEVEX0hFTFAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVuYWJsZS9E aXNhYmxlIENvZGVjIEFMQy0yNjIuIg0KPiArDQo+ICsvLyBTQVIgU2Vuc29yDQo+ICsjc3RyaW5n IFNUUl9TQVJfU0VOU09SX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICJTQVINCj4gU2Vuc29yIg0KPiArI3N0cmluZyBTVFJfU0FSX1NFTlNPUl9IRUxQICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiRW5hYmxlIG9yDQo+IERp c2FibGUgU0FSIHNlbnNvciINCj4gKw0KPiArLy9MYWtlbW9yZQ0KPiArLy8NCj4gKyNzdHJpbmcg U1RSX0xNX0lORk9STUFUSU9OX1RJVExFICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiTGFrZW1vcmUgQ29uZmlndXJhdGlvbjoiDQo+ICsjc3RyaW5nIFNUUl9MTV9NRU1P UllfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlNwZWNp ZnkNCj4gdGhlIGFtb3VudCBvZiBtYWluIG1lbW9yeSB0byBiZSByZXNlcnZlZCBmb3IgTGFrZW1v cmUuICBUaGUgbWVtb3J5IHdpbGwNCj4gYmUgYWxsb2NhdGVkIHJpZ2h0IGFmdGVyIE1SQyBpbml0 aWFsaXphdGlvbiBhbmQgaXRzIGxvY2F0aW9uIHdpbGwgYmUgc3RvcmVkIGludG8NCj4gdGhlIExh a2Vtb3JlIFNUT1JFTUVNQkFSIHJlZ2lzdGVycy4iDQo+ICsjc3RyaW5nIFNUUl9MTV9NRU1PUllf UFJPTVBUICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIk1lbW9y eSBBbGxvY2F0aW9uIFNpemUiDQo+ICsjc3RyaW5nIFNUUl9MTV9NRU1PUllfMTZNQiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjE2MDAwDQo+IEtpQiINCj4gKyNz dHJpbmcgU1RSX0xNX01FTU9SWV84TUIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiODAwMCBLaUIiDQo+ICsjc3RyaW5nIFNUUl9MTV9NRU1PUllfMU1CICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjEwMDAgS2lCIg0KPiArI3N0 cmluZyBTVFJfTE1fTUVNT1JZXzEyOEtCICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICIxMjggS2lCIg0KPiArI3N0cmluZyBTVFJfTE1fTUVNT1JZXzBNQiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIwIEtpQiINCj4gKw0KPiArI3N0 cmluZyBTVFJfUFVJTlRfQklPU19DT05GSUdfRElTUExBWSAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTDQo+ICJQRE0vRGZ4IFNldHRpbmciDQo+ICsjc3RyaW5nIFNUUl9QVUlOVF9CSU9T X0NPTkZJR19ESVNQTEFZX0hFTFAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlBETSBP bjogRW5hYmxlIFBETSBhbmQga2VlcCBEZnggcG93ZXJlZC5cblxuUGVyZiBNb2RlOiBEaXNhYmxl IFBETQ0KPiBhbmQga2VlcCBEZnggcG93ZXJlZC4gQWxsb3dzIG1vcmUgVklTQSBzaWduYWxzIHRv IGJlIHVzZWQgZm9yIEhXDQo+IGRlYnVnLlxuXG5Qb3dlciBTYXZlOiBEaXNhYmxlIFBETSwgdHVy biBvZmYgRGZ4IHBvd2VyIGFuZCBWaXNhDQo+IGNsb2Nrcy5cblxuTk9URTogSWYgcHJldmlvdXMg c2V0dGluZyB3YXMgUE9XRVJTQVZFLCB0aGVuIGNvbGQgYm9vdCB3aWxsIGJlDQo+IG5lZWRlZCBm b3IgRGZ4IHRvIGNvbWUgYmFjayB1cC4iDQo+ICsjc3RyaW5nIFNUUl9QVUlOVF9CSU9TX1BETSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlBETSBPbiINCj4gKyNz dHJpbmcgU1RSX1BVSU5UX0JJT1NfUEVSRk9STUFOQ0UgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiUGVyZg0KPiBNb2RlIg0KPiArI3N0cmluZyBTVFJfUFVJTlRfQklPU19QT1dF UlNBVkUgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJQb3dlcg0KPiBTYXZl Ig0KPiArI3N0cmluZyBTVFJfUFVJTlRfQklPU19SRVNFUlZFRCAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICJEZWJ1Zw0KPiBSZXNlcnZlZCINCj4gKw0KPiArI3N0cmluZyBT VFJfUERNX09VVFBVVF9DT05GSUdfU1dUSUNIICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJQRE0gTXNnIE91dHB1dCINCj4gKyNzdHJpbmcgU1RSX1BETV9PVVRQVVRfQ09ORklH X1NXVElDSF9IRUxQICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiQ29uZmlndXJlIFZJ U0EgYW5kIExha2Vtb3JlIGZvciBQRE0gd2l0aCB0aGUgZ2l2ZW4gb3V0cHV0LlxuXG5JZg0KPiBN YWluTWVtIGlzIHNlbGVjdGVkIHRoZW4gYmUgc3VyZSB0byBhbGxvY2F0ZSBtZW1vcnkgZm9yIHRo ZSBvdXRwdXQgbXNncw0KPiBpbiB0aGUgYWJvdmUgc2V0dGluZy4iDQo+ICsjc3RyaW5nIFNUUl9Q RE1fT1VUUFVUX01FTSAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg Ik1haW4NCj4gTWVtb3J5Ig0KPiArI3N0cmluZyBTVFJfUERNX09VVFBVVF9JTyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJJTyAtIFRCRCINCj4gKw0KPiArI3N0 cmluZyBTVFJfRU5BQkxFX0RCRzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1 YWdlIGVuLVVTICJFbmFibGUgREJHMg0KPiBUYWJsZSINCj4gKyNzdHJpbmcgU1RSX0VOQUJMRV9E QkcyX0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRW5h YmxlL0Rpc2FibGUgREJHMiBBQ1BJIFRhYmxlIGZvciBXaW5kYmciDQo+ICsNCj4gKy8vZU1NQw0K PiArLy8NCj4gKyNzdHJpbmcgU1RSX1NDQ19FTU1DX1BST01QVCAgICAgICAgICAgICAgICAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJTQ0MNCj4gZU1NQyA0LjQxIFN1cHBvcnQiDQo+ICsj c3RyaW5nIFNUUl9TQ0NfRU1NQ19IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBTQ0MgZU1NQyA0LjQxIFN1cHBvcnQiDQo+ ICsNCj4gKyNzdHJpbmcgU1RSX1NDQ19FTU1DNDVfUFJPTVBUICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIlNDQw0KPiBlTU1DNDUgU3VwcG9ydCINCj4gKyNzdHJpbmcg U1RSX1NDQ19FTU1DNDVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUw0KPiAiRW5hYmxlL0Rpc2FibGUgU0NDIGVNTUMgNC41IFN1cHBvcnQiDQo+ICsjc3RyaW5n IFNUUl9TQ0NfRU1NQzQ1X0REUjUwX1BST01QVCAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMNCj4gIkREUjUwIENhcGFiaWxpdHkgU3VwcG9ydCINCj4gKyNzdHJpbmcgU1RSX1NDQ19F TU1DNDVfRERSNTBfSEVMUCAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAi RW5hYmxlL0Rpc2FibGUgU0NDIGVNTUMgNC41IEREUiA1MCBzdXBwb3J0Ig0KPiArI3N0cmluZyBT VFJfU0NDX0VNTUM0NV9IUzIwMF9QUk9NUFQgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJIUzIwMCBDYXBhYmlsaXR5IFN1cHBvcnQiDQo+ICsjc3RyaW5nIFNUUl9TQ0NfRU1N QzQ1X0hTMjAwX0hFTFAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVu YWJsZS9EaXNhYmxlIFNDQyBlTU1DIDQuNSBIUyAyMDAgc3VwcG9ydCINCj4gKyNzdHJpbmcgU1RS X1NDQ19FTU1DNDVfUkVfVFVORV9USU1FUl9WQUxVRSAgICAgICAgICAgICNsYW5ndWFnZSBlbi1V Uw0KPiAiUmUgVHVuZSBUaW1lciBWYWx1ZSINCj4gKyNzdHJpbmcgU1RSX1NDQ19FTU1DNDVfUkVf VFVORV9USU1FUl9WQUxVRV9IRUxQICAgICAgICNsYW5ndWFnZQ0KPiBlbi1VUyAgIlNldCB0aGUg cmUgdHVuZSB0aW1lciB2YWx1ZSINCj4gKw0KPiArI3N0cmluZyBTVFJfU0NDX0VNTUM0NV9TRVRU SU5HX1NVQlRJVExFICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJTQ0MgZU1NQyA0 LjUgQ29uZmlndXJhdGlvbiINCj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1FUl8wICAgICAgICAg ICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMCINCj4gKyNzdHJpbmcgU1RSX0VN TUM0NV9USU1FUl8xICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAi MSINCj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1FUl8yICAgICAgICAgICAgICAgICAgICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAiMiINCj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1FUl8zICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMyINCj4gKyNzdHJpbmcg U1RSX0VNTUM0NV9USU1FUl80ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiNCINCj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1FUl81ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNSINCj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1F Ul82ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiNiINCj4gKyNz dHJpbmcgU1RSX0VNTUM0NV9USU1FUl83ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAiNyINCj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1FUl84ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiOCINCj4gKyNzdHJpbmcgU1RSX0VNTUM0 NV9USU1FUl85ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiOSIN Cj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1FUl8xMCAgICAgICAgICAgICAgICAgICAgICAgICAg ICNsYW5ndWFnZSBlbi1VUyAiMTAiDQo+ICsjc3RyaW5nIFNUUl9FTU1DNDVfVElNRVJfMTEgICAg ICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjExIg0KPiArI3N0cmluZyBT VFJfRU1NQzQ1X1RJTUVSXzEyICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICIxMiINCj4gKyNzdHJpbmcgU1RSX0VNTUM0NV9USU1FUl8xMyAgICAgICAgICAgICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMTMiDQo+ICsjc3RyaW5nIFNUUl9FTU1DNDVfVElN RVJfMTQgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIjE0Ig0KPiAr I3N0cmluZyBTVFJfRU1NQzQ1X1RJTUVSXzE1ICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICIxNSINCj4gKw0KPiArI3N0cmluZyBTVFJfRU1NQ19CT09UX1BST01QVCAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJTQ0MNCj4gZU1NQyBCb290 IENvbnRyb2xsZXIiDQo+ICsjc3RyaW5nIFNUUl9FTU1DX0JPT1RfSEVMUCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRpc2FibGUvU2VsZWN0IGVNTUMgQm9v dCBtb2RlOyBBdXRvIERldGVjdCBtb2RlIGNhbiBzd2l0Y2ggdGhlIGVNTUMNCj4gY29udHJvbGxl ciBhZ2FpbnN0IHRoZSBzdGVwcGluZyINCj4gKyNzdHJpbmcgU1RSX0FVVE9fREVURUNUICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiQXV0byBEZXRlY3QiDQo+ ICsjc3RyaW5nIFNUUl9FTU1DX0JPT1RfNDEgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgImVNTUMgNC40MSINCj4gKyNzdHJpbmcgU1RSX0VNTUNfQk9PVF80NSAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiZU1NQyA0LjUiDQo+ ICsNCj4gKy8vIFNEIGNhcmQgRERSNTAgYW5kIFNEMjUNCj4gKyNzdHJpbmcgU1RSX1NDQ19TRF9T RFIyNV9QUk9NUFQgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiU0RSMjUN Cj4gQ2FwYWJpbGl0eSBTdXBwb3J0IGZvciBTRENhcmQiDQo+ICsjc3RyaW5nIFNUUl9TQ0NfU0Rf U0RSMjVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRp c2FibGUvRW5hYmxlIFNEUjI1IENhcGFiaWxpdHkgaW4gU0QgQ2FyZCBjb250cm9sbGVyOw0KPiAr I3N0cmluZyBTVFJfU0NDX1NEX0REUjUwX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTICJERFI1MA0KPiBDYXBhYmlsaXR5IFN1cHBvcnQgZm9yIFNEQ2FyZCINCj4g KyNzdHJpbmcgU1RSX1NDQ19TRF9ERFI1MF9IRUxQICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiRGlzYWJsZS9FbmFibGUgRERSNTAgQ2FwYWJpbGl0eSBpbiBTRCBD YXJkIGNvbnRyb2xsZXI7DQo+ICsNCj4gKyNzdHJpbmcgU1RSX1NFQ1VSRV9FUkFTRV9QUk9NUFQg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiZU1NQw0KPiBTZWN1cmUgRXJh c2UiDQo+ICsjc3RyaW5nIFNUUl9TRUNVUkVfRVJBU0VfSEVMUCAgICAgICAgICAgICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRpc2FibGUvRW5hYmxlIGVNTUMgU2VjdXJlIEVyYXNl LiBXaGVuIGVuYWJsZWQsIGFsbCB0aGUgZGF0YSBvbiBlTU1DDQo+IHdpbGwgYmUgZXJhc2VkLiIN Cj4gKw0KPiArDQo+ICsvLw0KPiArLy9FeGl0IE9wdGlvbg0KPiArLy8NCj4gKyNzdHJpbmcgU1RS X0NPTU1JVF9DSEFOR0VfQU5EX0VYSVRfUFJPTVBUICAgICAgICAgICAgICNsYW5ndWFnZSBlbi0N Cj4gVVMgIkNvbW1pdCBDaGFuZ2VzIGFuZCBFeGl0Ig0KPiArI3N0cmluZyBTVFJfQ09NTUlUX0NI QU5HRV9BTkRfRVhJVF9IRUxQICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJTYXZl IHRoZSBzZXR1cCBjaGFuZ2VzIGFuZCBleGl0Ig0KPiArDQo+ICsjc3RyaW5nIFNUUl9ESVNDQVJE X0NIQU5HRV9BTkRfRVhJVF9QUk9NUFQgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkRp c2NhcmQgQ2hhbmdlcyBhbmQgRXhpdCINCj4gKyNzdHJpbmcgU1RSX0RJU0NBUkRfQ0hBTkdFX0FO RF9FWElUX0hFTFAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUw0KPiAiRGlzY2FyZCB0aGUg c2V0dXAgY2hhbmdlcyBhbmQgZXhpdCINCj4gKw0KPiArI3N0cmluZyBTVFJfTE9BRF9ERUZBVUxU X0FORF9FWElUX1BST01QVCAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJMb2FkIERl ZmF1bHRzIGFuZCBFeGl0Ig0KPiArI3N0cmluZyBTVFJfTE9BRF9ERUZBVUxUX0FORF9FWElUX0hF TFAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJMb2FkIHRoZSBzZXR1cCBkZWZh dWx0cyBhbmQgRXhpdCINCj4gKw0KPiArI3N0cmluZyBTVFJfUFNTX0VOQUJMRV9QUk9NUFQgICAg ICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJQU1MNCj4gU3RvcmFnZSINCj4g KyNzdHJpbmcgU1RSX1BTU19FTkFCTEVfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUw0KPiAiRGlzYWJsZS9FbmFibGUgUFNTLWJhc2VkIHNlY3VyZSBib290Ig0K PiArI3N0cmluZyBTVFJfUFNTX0NPTkZJR1VSQVRJT05fVElUTEUgICAgICAgICAgICAgICAgICAg I2xhbmd1YWdlIGVuLVVTICJQU1MNCj4gU2V0dGluZ3MiDQo+ICsNCj4gKy8vDQo+ICsvL1ZpcnR1 YWwgS2V5Ym9hcmQgT3B0aW9uDQo+ICsvLw0KPiArI3N0cmluZyBTVFJfVklSVFVBTF9LQl9USVRM RSAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiVmlydHVhbA0KPiBL ZXlib2FyZCBDb25maWd1cmF0aW9uIg0KPiArI3N0cmluZyBTVFJfVklSVFVBTF9LQl9QUk9NUFQg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiVmlydHVhbA0KPiBLZXli b2FyZCBTdXBwb3J0Ig0KPiArI3N0cmluZyBTVFJfVklSVFVBTF9LQl9IRUxQICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJFbmFibGUvRGlzYWJsZSBWaXJ0dWFs IEtleWJvYXJkIg0KPiArDQo+ICsvLw0KPiArLy8gTU1JTyBPcHRpb24NCj4gKy8vDQo+ICsjc3Ry aW5nIFNUUl9NTUlPX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgICJQQ0kgTU1JTw0KPiBTaXplIg0KPiArI3N0cmluZyBTVFJfTU1JT18wXzc1R19T VFJJTkcgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIwLjc1R0IiDQo+ ICsjc3RyaW5nIFNUUl9NTUlPXzFHX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgIjFHQiINCj4gKyNzdHJpbmcgU1RSX01NSU9fMV8yNUdfU1RSSU5HICAg ICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAiMS4yNUdCIg0KPiArI3N0cmlu ZyBTVFJfTU1JT18xXzVHX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgIjEuNUdCIg0KPiArI3N0cmluZyBTVFJfTU1JT18yR19TVFJJTkcgICAgICAgICAgICAg ICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICIyR0IiDQo+ICsjc3RyaW5nIFNUUl9NTUlP X0hFTFAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJT ZXR1cCBQQ0kNCj4gTU1JTyBTaXplIDAuNzVHLCAxRywgMS4yNUcsIDEuNUcsIDJHQiBTaXplIg0K PiArDQo+ICsvLw0KPiArLy8gT1MgU2VsZWN0aW9uIE9wdGlvbg0KPiArLy8NCj4gKyNzdHJpbmcg U1RSX09TX1NFTEVUSU9OX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiT1MNCj4gU2VsZWN0aW9uIg0KPiArI3N0cmluZyBTVFJfT1NfU0VMRVRJT05fSEVMUCAg ICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJPUw0KPiBTZWxlY3Rpb24i DQo+ICsjc3RyaW5nIFNUUl9XSU5ET1dTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAjbGFuZ3VhZ2UgZW4tVVMgIldpbmRvd3MgOC5YIg0KPiArI3N0cmluZyBTVFJfQU5EUk9JRCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICJBbmRyb2lk Ig0KPiArI3N0cmluZyBTVFJfV0lORE9XUzcgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgI2xhbmd1YWdlIGVuLVVTICJXaW5kb3dzIDcgVUVGSQ0KPiA2NGJpdCINCj4gKyNzdHJpbmcg U1RSX0xXSU5ET1dTNyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICNsYW5ndWFnZSBl bi1VUyAiV2luNyAzMi82NA0KPiBMZWdhY3kiDQo+ICsjc3RyaW5nIFNUUl9XRUM3ICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIldFQzciDQo+ICsj c3RyaW5nIFNUUl9MSU5VWCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgIkxpbnV4Ig0KPiArI3N0cmluZyBTVFJfQk9PVF9ESVNQTEFZX01JUElEU0lf UFJPTVBUICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJNSVBJIERTSSINCj4gKyNz dHJpbmcgU1RSX0JPT1RfRElTUExBWV9NSVBJRFNJX0hFTFAgICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUw0KPiAiRGlzYWJsZS9lbmFibGUgTUlQSSBEU0kuIg0KPiArDQo+ICsNCj4gKy8v DQo+ICsvLyBFTS0xIFNlbGVjdGlvbiBPcHRpb24NCj4gKy8vDQo+ICsjc3RyaW5nIFNUUl9FTTFf SUFBUFBTUlVOX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ ICJJQV9BUFBTX1JVTiINCj4gKyNzdHJpbmcgU1RSX0VNMV9JQUFQUFNSVU5fSEVMUCAgICAgICAg ICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgIlZvbHRhZ2UNCj4gaW4gbVYiDQo+ICsj c3RyaW5nIFNUUl9FTTFfSUFBUFBTQ0FQX1BST01QVCAgICAgICAgICAgICAgICAgICAgICAgI2xh bmd1YWdlIGVuLVVTDQo+ICJJQV9BUFBTX0NBUCINCj4gKyNzdHJpbmcgU1RSX0VNMV9JQUFQUFND QVBfSEVMUCAgICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlBlcmNl bnRhZ2UiDQo+ICsjc3RyaW5nIFNUUl9FTTFfQ0FQX09SX1ZPTFRBR0VfUFJPTVBUICAgICAgICAg ICAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJVU0UgSUFfQVBQU19SVU4gb3IgQ0FQIg0KPiAr I3N0cmluZyBTVFJfRU0xX0NBUF9PUl9WT0xUQUdFX0hFTFAgICAgICAgICAgICAgICAgICAgICNs YW5ndWFnZSBlbi1VUyAiVXNlDQo+IFZvbHRhZ2Ugb3IgQ2FwYWNpdHkgdG8gZGVjaWRlIGJvb3Qg ZmxvdyINCj4gKyNzdHJpbmcgU1RSX0VNMV9CT09UX09OX0lOVkFMSURfQkFUX1BST01QVCAgICAg ICAgICAgICAjbGFuZ3VhZ2UgZW4tDQo+IFVTICJCb290IG9uIGludmFsaWQgYmF0dGVyeSINCj4g KyNzdHJpbmcgU1RSX0VNMV9CT09UX09OX0lOVkFMSURfQkFUX0hFTFAgICAgICAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMNCj4gIkFsbG93IHRvIGJvb3QgZnJvbSBpbnZhbGlkIGJhdHRlcnkiDQo+ ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRm b3JtU21tL1BsYXRmb3JtLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9Q bGF0Zm9ybVNtbS9QbGF0Zm9ybS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjhiNDZmYmRmZDENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNtbS9QbGF0Zm9ybS5jDQo+IEBAIC0wLDAg KzEsOTk3IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0g MjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgUGxhdGZvcm0uYw0K PiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgIFRoaXMgaXMgYSBnZW5lcmljIHRlbXBsYXRl IGZvciBhIGNoaWxkIG9mIHRoZSBJY2hTbW0gZHJpdmVyLg0KPiArDQo+ICsNCj4gKy0tKi8NCj4g Kw0KPiArI2luY2x1ZGUgIlNtbVBsYXRmb3JtLmgiDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvQ3B1 SW8yLmg+DQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIExvY2FsIHZhcmlhYmxlcw0KPiArLy8NCj4g K3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggICAgIERldmljZTsNCj4gKyAgVUlOVDggICAg IEZ1bmN0aW9uOw0KPiArfSBFRklfUENJX0JVU19NQVNURVI7DQo+ICsNCj4gK0VGSV9QQ0lfQlVT X01BU1RFUiAgbVBjaUJtW10gPSB7DQo+ICsgIHsgUENJX0RFVklDRV9OVU1CRVJfUENIX1BDSUVf Uk9PVF9QT1JUUywNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfUENJRV9ST09UX1BPUlRfMSB9 LA0KPiArICB7IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9QQ0lFX1JPT1RfUE9SVFMsDQo+IFBDSV9G VU5DVElPTl9OVU1CRVJfUENIX1BDSUVfUk9PVF9QT1JUXzIgfSwNCj4gKyAgeyBQQ0lfREVWSUNF X05VTUJFUl9QQ0hfUENJRV9ST09UX1BPUlRTLA0KPiBQQ0lfRlVOQ1RJT05fTlVNQkVSX1BDSF9Q Q0lFX1JPT1RfUE9SVF8zIH0sDQo+ICsgIHsgUENJX0RFVklDRV9OVU1CRVJfUENIX1BDSUVfUk9P VF9QT1JUUywNCj4gUENJX0ZVTkNUSU9OX05VTUJFUl9QQ0hfUENJRV9ST09UX1BPUlRfNCB9LA0K PiArICB7IFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9VU0IsIFBDSV9GVU5DVElPTl9OVU1CRVJfUENI X0VIQ0kgfQ0KPiArfTsNCj4gKw0KPiArDQo+ICtVSU5UMTYgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgbUFjcGlCYXNlQWRkcjsNCj4gK1NZU1RFTV9DT05GSUdVUkFUSU9OICAgICAg ICAgICAgICAgICAgICBtU3lzdGVtQ29uZmlndXJhdGlvbjsNCj4gK0VGSV9TTU1fVkFSSUFCTEVf UFJPVE9DT0wgICAgICAgICAgICAgICAqbVNtbVZhcmlhYmxlOw0KPiArRUZJX0dMT0JBTF9OVlNf QVJFQV9QUk9UT0NPTCAgICAgICAgICAgICptR2xvYmFsTnZzQXJlYVB0cjsNCj4gKw0KPiArVUlO VDE2DQo+IAkgICAgICAgICAgICAgICAgbVBNMV9TYXZlU3RhdGUxNjsNCj4gK1VJTlQzMg0KPiAJ ICAgICAgICAgICAgICAgIG1HUEVfU2F2ZVN0YXRlMzI7DQo+ICsNCj4gK0JPT0xFQU4gICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtU2V0U21tVmFyaWFibGVQcm90b2NvbFNtaUFsbG93 ZWQgPSBUUlVFOw0KPiArDQo+ICsNCj4gKy8vDQo+ICsvLyBWYXJpYWJsZXMuIE5lZWQgdG8gaW5p dGlhbGl6ZSB0aGlzIGZyb20gU2V0dXANCj4gKy8vDQo+ICtCT09MRUFOICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgbVdha2VPbkxhblM1VmFyaWFibGU7DQo+ICtCT09MRUFOICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgbVdha2VPblJ0Y1ZhcmlhYmxlOw0KPiArVUlOVDgg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1XYWtldXBEYXk7DQo+ICtVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVdha2V1cEhvdXI7DQo+ICtVSU5UOCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVdha2V1cE1pbnV0ZTsNCj4gK1VJTlQ4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtV2FrZXVwU2Vjb25kOw0KPiArDQo+ ICsvLw0KPiArLy8gVXNlIGFuIGVudW0uIDAgaXMgU3RheSBPZmYsIDEgaXMgTGFzdCBTdGF0ZSwg MiBpcyBTdGF5IE9uDQo+ICsvLw0KPiArVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1BY0xvc3NWYXJpYWJsZTsNCj4gKw0KPiArDQo+ICtzdGF0aWMNCj4gK1VJTlQ4IG1U Y28xU291cmNlc1tdID0gew0KPiArICBJY2huTm1pDQo+ICt9Ow0KPiArDQo+ICtVSU5UTg0KPiAr RGV2aWNlUGF0aFNpemUgKA0KPiArICBJTiBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpEZXZp Y2VQYXRoDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1M0UzVQcm9nQ2xvY2soKTsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArSW5pdFJ1bnRpbWVTY3JpcHRUYWJsZSAoDQo+ICsgIElOIEVGSV9T WVNURU1fVEFCTEUgICpTeXN0ZW1UYWJsZQ0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtTNVNs ZWVwV2FrZU9uUnRjQ2FsbEJhY2sgKA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAg ICAgICAgRGlzcGF0Y2hIYW5kbGUsDQo+ICsgIElOICBFRklfU01NX1NYX0RJU1BBVENIX0NPTlRF WFQgICAqRGlzcGF0Y2hDb250ZXh0DQo+ICsgICk7DQo+ICsNCj4gKw0KPiArVk9JRA0KPiArRW5h YmxlUzVXYWtlT25SdGMoKTsNCj4gKw0KPiArVUlOVDgNCj4gK0hleFRvQmNkKA0KPiArICBVSU5U OCBIZXhWYWx1ZQ0KPiArICApOw0KPiArDQo+ICtVSU5UOA0KPiArQmNkVG9IZXgoDQo+ICsgIElO IFVJTlQ4IEJjZFZhbHVlDQo+ICsgICk7DQo+ICsNCj4gKw0KPiArVk9JRA0KPiArQ3B1U21tU3hX b3JrQXJvdW5kKA0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgSW5pdGlhbGl6ZXMgdGhlIFNN TSBIYW5kbGVyIERyaXZlcg0KPiArDQo+ICsgIEBwYXJhbSBJbWFnZUhhbmRsZQ0KPiArICBAcGFy YW0gU3lzdGVtVGFibGUNCj4gKw0KPiArICBAcmV0dmFsIE5vbmUNCj4gKw0KPiArKiovDQo+ICtF RklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0luaXRpYWxpemVQbGF0Zm9ybVNtbSAoDQo+ICsgIElO IEVGSV9IQU5ETEUgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxF ICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBIYW5kbGU7DQo+ICsgIEVGSV9TTU1fUE9XRVJfQlVUVE9OX0RJU1BB VENIX0NPTlRFWFQgICAgIFBvd2VyQnV0dG9uQ29udGV4dDsNCj4gKyAgRUZJX1NNTV9QT1dFUl9C VVRUT05fRElTUEFUQ0hfUFJPVE9DT0wNCj4gKlBvd2VyQnV0dG9uRGlzcGF0Y2g7DQo+ICsgIEVG SV9TTU1fSUNITl9ESVNQQVRDSF9DT05URVhUICAgICAgICAgICAgIEljaG5Db250ZXh0Ow0KPiAr ICBFRklfU01NX0lDSE5fRElTUEFUQ0hfUFJPVE9DT0wgICAgICAgICAgICAqSWNobkRpc3BhdGNo Ow0KPiArICBFRklfU01NX1NYX0RJU1BBVENIX1BST1RPQ09MICAgICAgICAgICAgICAqU3hEaXNw YXRjaDsNCj4gKyAgRUZJX1NNTV9TWF9ESVNQQVRDSF9DT05URVhUICAgICAgICAgICAgICAgRW50 cnlEaXNwYXRjaENvbnRleHQ7DQo+ICsgIEVGSV9TTU1fU1dfRElTUEFUQ0hfUFJPVE9DT0wgICAg ICAgICAgICAgICpTd0Rpc3BhdGNoOw0KPiArICBFRklfU01NX1NXX0RJU1BBVENIX0NPTlRFWFQg ICAgICAgICAgICAgICBTd0NvbnRleHQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIFZhclNpemU7DQo+ICsgIEVGSV9CT09UX01PREUgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEJvb3RNb2RlOw0KPiArDQo+ICsgIEhhbmRsZSA9IE5VTEw7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gIExvY2F0ZSB0aGUgR2xvYmFsIE5WUyBQcm90b2NvbC4NCj4gKyAg Ly8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAg ICAgICAmZ0VmaUdsb2JhbE52c0FyZWFQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAg ICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJm1HbG9iYWxOdnNBcmVhUHRy DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMp Ow0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IHRoZSBBQ1BJIEJhc2UgQWRkcmVzcw0K PiArICAvLw0KPiArDQo+ICsgIG1BY3BpQmFzZUFkZHIgPSBQY2hMcGNQY2lDZmcxNiggUl9QQ0hf TFBDX0FDUElfQkFTRSApICYNCj4gQl9QQ0hfTFBDX0FDUElfQkFTRV9CQVI7DQo+ICsNCj4gKyAg VmFyU2l6ZSA9IHNpemVvZihTWVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgIFN0YXR1cyA9IFN5 c3RlbVRhYmxlLT5SdW50aW1lU2VydmljZXMtPkdldFZhcmlhYmxlKA0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICBMIlNldHVwIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmdF ZmlTZXR1cFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgTlVMTCwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgICZtU3lzdGVtQ29uZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpIHx8IFZhclNpemUgIT0gc2l6 ZW9mKFNZU1RFTV9DT05GSUdVUkFUSU9OKSkgew0KPiArICAgIC8vVGhlIHNldHVwIHZhcmlhYmxl IGlzIGNvcnJ1cHRlZA0KPiArICAgIFZhclNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJ T04pOw0KPiArICAgIFN0YXR1cyA9IFN5c3RlbVRhYmxlLT5SdW50aW1lU2VydmljZXMtPkdldFZh cmlhYmxlKA0KPiArICAgICAgICAgICAgICBMIlNldHVwUmVjb3ZlcnkiLA0KPiArICAgICAgICAg ICAgICAmZ0VmaVNldHVwVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICBOVUxMLA0KPiAr ICAgICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgJm1TeXN0ZW1Db25maWd1 cmF0aW9uDQo+ICsgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUiAoU3Rh dHVzKTsNCj4gKyAgfQ0KPiArICBpZiAoIUVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgbUFj TG9zc1ZhcmlhYmxlID0gbVN5c3RlbUNvbmZpZ3VyYXRpb24uU3RhdGVBZnRlckczOw0KPiArDQo+ ICsgICAgLy8NCj4gKyAgICAvLyBJZiBMQU4gaXMgZGlzYWJsZWQsIFdPTCBmdW5jdGlvbiBzaG91 bGQgYmUgZGlzYWJsZWQgdG9vLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKG1TeXN0ZW1Db25maWd1 cmF0aW9uLkxhbiA9PSAweDAxKXsNCj4gKyAgICAgIG1XYWtlT25MYW5TNVZhcmlhYmxlID0gbVN5 c3RlbUNvbmZpZ3VyYXRpb24uV2FrZU9uTGFuUzU7DQo+ICsgICAgfSBlbHNlIHsNCj4gKyAgICAg IG1XYWtlT25MYW5TNVZhcmlhYmxlID0gRkFMU0U7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgbVdh a2VPblJ0Y1ZhcmlhYmxlID0gbVN5c3RlbUNvbmZpZ3VyYXRpb24uV2FrZU9uUnRjUzU7DQo+ICsg IH0NCj4gKw0KPiArICBCb290TW9kZSA9IEdldEJvb3RNb2RlSG9iICgpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIEdldCB0aGUgUG93ZXIgQnV0dG9uIHByb3RvY29sDQo+ICsgIC8vDQo+ICsgIFN0 YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2woDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaVNt bVBvd2VyQnV0dG9uRGlzcGF0Y2hQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBO VUxMLA0KPiArICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJlBvd2VyQnV0dG9uRGlzcGF0Y2gN Cj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsN Cj4gKw0KPiArICBpZiAoQm9vdE1vZGUgIT0gQk9PVF9PTl9GTEFTSF9VUERBVEUpIHsNCj4gKyAg ICAvLw0KPiArICAgIC8vIFJlZ2lzdGVyIGZvciB0aGUgcG93ZXIgYnV0dG9uIGV2ZW50DQo+ICsg ICAgLy8NCj4gKyAgICBQb3dlckJ1dHRvbkNvbnRleHQuUGhhc2UgPSBQb3dlckJ1dHRvbkVudHJ5 Ow0KPiArICAgIFN0YXR1cyA9IFBvd2VyQnV0dG9uRGlzcGF0Y2gtPlJlZ2lzdGVyKA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUG93ZXJCdXR0b25EaXNwYXRjaCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBvd2VyQnV0dG9uQ2FsbGJhY2ss DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmUG93ZXJCdXR0b25Db250 ZXh0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJkhhbmRsZQ0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJ X0VSUk9SKFN0YXR1cyk7DQo+ICsgIH0NCj4gKyAgLy8NCj4gKyAgLy8gR2V0IHRoZSBTeCBkaXNw YXRjaCBwcm90b2NvbA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29s ICgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpU21tU3hEaXNwYXRjaFByb3RvY29sR3VpZCwN Cj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgKHZvaWQgKiopJlN4RGlzcGF0Y2gNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ ICsgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWdp c3RlciBlbnRyeSBwaGFzZSBjYWxsIGJhY2sgZnVuY3Rpb24NCj4gKyAgLy8NCj4gKyAgRW50cnlE aXNwYXRjaENvbnRleHQuVHlwZSAgPSBTeFMzOw0KPiArICBFbnRyeURpc3BhdGNoQ29udGV4dC5Q aGFzZSA9IFN4RW50cnk7DQo+ICsNCj4gKyAgU3RhdHVzID0gU3hEaXNwYXRjaC0+UmVnaXN0ZXIg KA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIFN4RGlzcGF0Y2gsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAoRUZJX1NNTV9TWF9ESVNQQVRDSClTeFNsZWVwRW50cnlDYWxsQmFj aywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmRW50cnlEaXNwYXRjaENvbnRleHQsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgJkhhbmRsZQ0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICk7DQo+ICsNCj4gKw0KPiArICBFbnRyeURpc3BhdGNoQ29udGV4dC5UeXBlICA9IFN4 UzQ7DQo+ICsNCj4gKyAgU3RhdHVzID0gU3hEaXNwYXRjaC0+UmVnaXN0ZXIgKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgIFN4RGlzcGF0Y2gsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgUzRTNUNhbGxCYWNrLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICZFbnRyeURpc3Bh dGNoQ29udGV4dCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmSGFuZGxlDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0K PiArDQo+ICsNCj4gKyAgRW50cnlEaXNwYXRjaENvbnRleHQuVHlwZSAgPSBTeFM1Ow0KPiArDQo+ ICsgIFN0YXR1cyA9IFN4RGlzcGF0Y2gtPlJlZ2lzdGVyICgNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICBTeERpc3BhdGNoLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIFM0UzVDYWxs QmFjaywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmRW50cnlEaXNwYXRjaENvbnRleHQs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgJkhhbmRsZQ0KPiArICAgICAgICAgICAgICAg ICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArICBT dGF0dXMgPSBTeERpc3BhdGNoLT5SZWdpc3RlciAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgU3hEaXNwYXRjaCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBTNVNsZWVwQWNMb3Nz Q2FsbEJhY2ssDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgJkVudHJ5RGlzcGF0Y2hDb250 ZXh0LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICZIYW5kbGUNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gIEdldCB0aGUgU3cgZGlzcGF0Y2ggcHJvdG9jb2wNCj4gKyAgLy8NCj4g KyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAm Z0VmaVNtbVN3RGlzcGF0Y2hQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxM LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2b2lkICoqKSZTd0Rpc3Bh dGNoDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1 cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVnaXN0ZXIgQUNQSSBlbmFibGUgaGFuZGxlcg0K PiArICAvLw0KPiArICBTd0NvbnRleHQuU3dTbWlJbnB1dFZhbHVlID0gQUNQSV9FTkFCTEU7DQo+ ICsgIFN0YXR1cyA9IFN3RGlzcGF0Y2gtPlJlZ2lzdGVyICgNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICBTd0Rpc3BhdGNoLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIEVuYWJsZUFj cGlDYWxsYmFjaywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAmU3dDb250ZXh0LA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICZIYW5kbGUNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gUmVnaXN0ZXIgQUNQSSBkaXNhYmxlIGhhbmRsZXINCj4gKyAgLy8NCj4gKyAgU3dDb250 ZXh0LlN3U21pSW5wdXRWYWx1ZSA9IEFDUElfRElTQUJMRTsNCj4gKyAgU3RhdHVzID0gU3dEaXNw YXRjaC0+UmVnaXN0ZXIgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIFN3RGlzcGF0Y2gs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgRGlzYWJsZUFjcGlDYWxsYmFjaywNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAmU3dDb250ZXh0LA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICZIYW5kbGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBBU1NF UlRfRUZJX0VSUk9SKFN0YXR1cyk7DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWdpc3Rl ciBmb3IgU21tUmVhZHlUb0Jvb3RDYWxsYmFjaw0KPiArICAvLw0KPiArICBTd0NvbnRleHQuU3dT bWlJbnB1dFZhbHVlID0gU01JX1NFVF9TTU1WQVJJQUJMRV9QUk9UT0NPTDsNCj4gKyAgU3RhdHVz ID0gU3dEaXNwYXRjaC0+UmVnaXN0ZXIoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgU3dE aXNwYXRjaCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBTbW1SZWFkeVRvQm9vdENhbGxi YWNrLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICZTd0NvbnRleHQsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgJkhhbmRsZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICk7 DQo+ICsgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBH ZXQgdGhlIElDSG4gcHJvdG9jb2wNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQ cm90b2NvbCgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpU21tSWNobkRpc3BhdGNoUHJvdG9j b2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAg ICh2b2lkICoqKSZJY2huRGlzcGF0Y2gNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFT U0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWdpc3RlciBm b3IgdGhlIGV2ZW50cyB0aGF0IG1heSBoYXBwZW4gdGhhdCB3ZSBkbyBub3QgY2FyZS4NCj4gKyAg Ly8gVGhpcyBpcyB0cnVlIGZvciBTTUkgcmVsYXRlZCB0byBUQ08gc2luY2UgVENPIGlzIGVuYWJs ZWQgYnkgQklPUyBXUA0KPiArICAvLw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBzaXpl b2YobVRjbzFTb3VyY2VzKS9zaXplb2YoVUlOVDgpOyBJbmRleCsrKSB7DQo+ICsgICAgSWNobkNv bnRleHQuVHlwZSA9IG1UY28xU291cmNlc1tJbmRleF07DQo+ICsgICAgU3RhdHVzID0gSWNobkRp c3BhdGNoLT5SZWdpc3RlcigNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgSWNobkRp c3BhdGNoLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRUZJX1NNTV9JQ0hOX0RJ U1BBVENIKUR1bW15VGNvMUNhbGxiYWNrLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmSWNobkNvbnRleHQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZIYW5kbGUN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VS Uk9SKCBTdGF0dXMgKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIExvY2sgVENPX0VO IGJpdC4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTE2KCBtQWNwaUJhc2VBZGRyICsgUl9QQ0hfVENP X0NOVCwgSW9SZWFkMTYoIG1BY3BpQmFzZUFkZHINCj4gKyBSX1BDSF9UQ09fQ05UICkgfCBCX1BD SF9UQ09fQ05UX0xPQ0sgKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgdG8gcG93ZXIgb24g ZnJvbSBHMyBkZXBlbmRlbnQgb24gV09MIGluc3RlYWQgb2YgQUMgTG9zcyB2YXJpYWJsZQ0KPiBp biBvcmRlciB0byBzdXBwb3J0IFdPTCBmcm9tIEczIGZlYXR1cmUuDQo+ICsgIC8vDQo+ICsgIC8v DQo+ICsgIC8vIFNldCB3YWtlIGZyb20gRzMgZGVwZW5kZW50IG9uIEFDIExvc3MgdmFyaWFibGUg YW5kIFdha2UgT24gTEFODQo+IHZhcmlhYmxlLg0KPiArICAvLyBUaGlzIGlzIGJlY2F1c2Ugbm8g bWF0dGVyIGhvdywgaWYgV09MIGVuYWJsZWQgb3IgQUMgTG9zcyB2YXJpYWJsZSBub3QNCj4gZGlz YWJsZWQsIHRoZSBib2FyZCBuZWVkcyB0byB3YWtlIGZyb20gRzMgdG8gcHJvZ3JhbSB0aGUgTEFO IFdPTCBzZXR0aW5ncy4NCj4gKyAgLy8gVGhpcyBuZWVkcyB0byBiZSBkb25lIGFmdGVyIExBTiBl bmFibGUvZGlzYWJsZSBzbyB0aGF0IHRoZSBQV1JfRkxSDQo+IHN0YXRlIGNsZWFyIG5vdCBpbXBh Y3RlZCB0aGUgV09MIGZyb20gRzMgZmVhdHVyZS4NCj4gKyAgLy8NCj4gKyAgaWYgKG1BY0xvc3NW YXJpYWJsZSAhPSAweDAwKSB7DQo+ICsgICAgU2V0QWZ0ZXJHM09uIChUUlVFKTsNCj4gKyAgfSBl bHNlIHsNCj4gKyAgICBTZXRBZnRlckczT24gKEZBTFNFKTsNCj4gKyAgfQ0KPiArDQo+ICsNCj4g Kw0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArVk9JRA0KPiAr RUZJQVBJDQo+ICtTbW1SZWFkeVRvQm9vdENhbGxiYWNrICgNCj4gKyAgSU4gIEVGSV9IQU5ETEUg ICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0KPiArICBJTiAgRUZJX1NNTV9TV19E SVNQQVRDSF9DT05URVhUICAgKkRpc3BhdGNoQ29udGV4dA0KPiArICApDQo+ICt7DQo+ICsgIEVG SV9TVEFUVVMgU3RhdHVzOw0KPiArDQo+ICsgIGlmIChtU2V0U21tVmFyaWFibGVQcm90b2NvbFNt aUFsbG93ZWQpDQo+ICsgIHsNCj4gKyAgCS8vDQo+ICsgICAgLy8gSXQgaXMgb2theSB0byB1c2Ug Z0JTLT5Mb2NhdGVQcm90b2NvbCBoZXJlIGJlY2F1c2UNCj4gKyAgICAvLyB3ZSBhcmUgc3RpbGwg aW4gdHJ1c3RlZCBleGVjdXRpb24uDQo+ICsgICAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2Nh dGVQcm90b2NvbCgNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpU21tVmFyaWFibGVQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAg KHZvaWQgKiopJm1TbW1WYXJpYWJsZQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiAr ICAgIEFTU0VSVF9FRklfRVJST1IoU3RhdHVzKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8g bVNldFNtbVZhcmlhYmxlUHJvdG9jb2xTbWlBbGxvd2VkIHdpbGwgcHJldmVudCB0aGlzIGZ1bmN0 aW9uIGZyb20NCj4gKyAgICAvLyBiZWluZyBleGVjdXRlZCBtb3JlIHRoYW4gMSB0aW1lLg0KPiAr ICAgIC8vDQo+ICsgICAgbVNldFNtbVZhcmlhYmxlUHJvdG9jb2xTbWlBbGxvd2VkID0gRkFMU0U7 DQo+ICsgIH0NCj4gKw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBAcGFyYW0gRGlzcGF0 Y2hIYW5kbGUgICBUaGUgaGFuZGxlIG9mIHRoaXMgY2FsbGJhY2ssIG9idGFpbmVkIHdoZW4NCj4g cmVnaXN0ZXJpbmcNCj4gKyAgQHBhcmFtIERpc3BhdGNoQ29udGV4dCAgVGhlIHByZWRlZmluZWQg Y29udGV4dCB3aGljaCBjb250YWluZWQgc2xlZXANCj4gdHlwZSBhbmQgcGhhc2UNCj4gKw0KPiAr DQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgIE9wZXJhdGlvbiBzdWNjZXNzZnVsbHkgcGVy Zm9ybWVkDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTeFNsZWVw RW50cnlDYWxsQmFjayAoDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICBE aXNwYXRjaEhhbmRsZSwNCj4gKyAgSU4gIEVGSV9TTU1fU1hfRElTUEFUQ0hfQ09OVEVYVCAgICpE aXNwYXRjaENvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAg ICBTdGF0dXM7DQo+ICsNCj4gKyAgU3RhdHVzID0gU2F2ZVJ1bnRpbWVTY3JpcHRUYWJsZSAoKTsN Cj4gKyAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFdvcmthcm91bmQgZm9yIFMzIHdha2UgaGFuZyBp ZiBDIFN0YXRlIGlzIGVuYWJsZWQNCj4gKyAgLy8NCj4gKyAgQ3B1U21tU3hXb3JrQXJvdW5kKCk7 DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtD cHVTbW1TeFdvcmtBcm91bmQoDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDY0ICAgICAgICAgICBN c3JWYWx1ZTsNCj4gKw0KPiArICBNc3JWYWx1ZSA9IEFzbVJlYWRNc3I2NCAoMHhFMik7DQo+ICsN Cj4gKyAgaWYgKE1zclZhbHVlICYgQklUMTUpIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4g Kw0KPiArICBpZiAoTXNyVmFsdWUgJiBCSVQxMCkgew0KPiArICAgIE1zclZhbHVlICY9IH5CSVQx MDsNCj4gKyAgICBBc21Xcml0ZU1zcjY0ICgweEUyLCBNc3JWYWx1ZSk7DQo+ICsgIH0NCj4gK30N Cj4gKw0KPiArVk9JRA0KPiArQ2xlYXJQMlBCdXNNYXN0ZXIoDQo+ICsgICkNCj4gK3sNCj4gKyAg VUlOVDggICAgICAgICAgICAgQ29tbWFuZDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgSW5kZXg7 DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgc2l6ZW9mKG1QY2lCbSkvc2l6ZW9m KEVGSV9QQ0lfQlVTX01BU1RFUik7DQo+IEluZGV4KyspIHsNCj4gKyAgICBDb21tYW5kID0gTW1p b1JlYWQ4ICgNCj4gKyAgICAgICAgICAgICAgICBNbVBjaUFkZHJlc3MgKDAsDQo+ICsgICAgICAg ICAgICAgICAgICBERUZBVUxUX1BDSV9CVVNfTlVNQkVSX1BDSCwNCj4gKyAgICAgICAgICAgICAg ICAgIG1QY2lCbVtJbmRleF0uRGV2aWNlLA0KPiArICAgICAgICAgICAgICAgICAgbVBjaUJtW0lu ZGV4XS5GdW5jdGlvbiwNCj4gKyAgICAgICAgICAgICAgICAgIFBDSV9DT01NQU5EX09GRlNFVA0K PiArICAgICAgICAgICAgICAgICkNCj4gKyAgICAgICAgICAgICAgKTsNCj4gKyAgICBDb21tYW5k ICY9IH5FRklfUENJX0NPTU1BTkRfQlVTX01BU1RFUjsNCj4gKyAgICBNbWlvV3JpdGU4ICgNCj4g KyAgICAgIE1tUGNpQWRkcmVzcyAoMCwNCj4gKyAgICAgICAgREVGQVVMVF9QQ0lfQlVTX05VTUJF Ul9QQ0gsDQo+ICsgICAgICAgIG1QY2lCbVtJbmRleF0uRGV2aWNlLA0KPiArICAgICAgICBtUGNp Qm1bSW5kZXhdLkZ1bmN0aW9uLA0KPiArICAgICAgICBQQ0lfQ09NTUFORF9PRkZTRVQNCj4gKyAg ICAgICksDQo+ICsgICAgICBDb21tYW5kDQo+ICsgICAgKTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ ICsvKioNCj4gKw0KPiArICBTZXQgdGhlIEFDIExvc3MgdG8gdHVybiBvbiBvciBvZmYuDQo+ICsN Cj4gKyoqLw0KPiArVk9JRA0KPiArU2V0QWZ0ZXJHM09uICgNCj4gKyAgQk9PTEVBTiBFbmFibGUN Cj4gKyAgKQ0KPiArew0KPiArICBVSU5UOCAgICAgICAgICAgICBQbUNvbjE7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gSUNIIGhhbmRsaW5nIHBvcnRpb24NCj4gKyAgLy8NCj4gKyAgUG1Db24xID0g TW1pb1JlYWQ4ICggUE1DX0JBU0VfQUREUkVTUyArDQo+IFJfUENIX1BNQ19HRU5fUE1DT05fMSAp Ow0KPiArICBQbUNvbjEgJj0gfkJfUENIX1BNQ19HRU5fUE1DT05fQUZURVJHM19FTjsNCj4gKyAg aWYgKEVuYWJsZSkgew0KPiArICAgIFBtQ29uMSB8PSBCX1BDSF9QTUNfR0VOX1BNQ09OX0FGVEVS RzNfRU47DQo+ICsgIH0NCj4gKyAgTW1pb1dyaXRlOCAoUE1DX0JBU0VfQUREUkVTUyArIFJfUENI X1BNQ19HRU5fUE1DT05fMSwNCj4gUG1Db24xKTsNCj4gKw0KPiArfQ0KPiArDQo+ICsvKioNCj4g KyAgV2hlbiBhIHBvd2VyIGJ1dHRvbiBldmVudCBoYXBwZW5zLCBpdCBzaHV0cyBvZmYgdGhlIG1h Y2hpbmUNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK1Bvd2VyQnV0dG9uQ2Fs bGJhY2sgKA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IERpc3BhdGNoSGFuZGxlLA0KPiArICBJTiAgRUZJX1NNTV9QT1dFUl9CVVRUT05fRElTUEFUQ0hf Q09OVEVYVCAgICpEaXNwYXRjaENvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICAvLw0KPiArICAv LyBDaGVjayB3aGF0IHRoZSBzdGF0ZSB0byByZXR1cm4gdG8gYWZ0ZXIgQUMgTG9zcy4gSWYgTGFz dCBTdGF0ZSwgdGhlbg0KPiArICAvLyBzZXQgaXQgdG8gT2ZmLg0KPiArICAvLw0KPiArICBVSU5U MTYgIGRhdGExNjsNCj4gKw0KPiArICBpZiAobVdha2VPblJ0Y1ZhcmlhYmxlKSB7DQo+ICsgICAg RW5hYmxlUzVXYWtlT25SdGMoKTsNCj4gKyAgfQ0KPiArDQo+ICsgIGlmIChtQWNMb3NzVmFyaWFi bGUgPT0gMSkgew0KPiArICAgIFNldEFmdGVyRzNPbiAoVFJVRSk7DQo+ICsgIH0NCj4gKw0KPiAr ICBDbGVhclAyUEJ1c01hc3RlcigpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2dyYW0gY2xv Y2sgY2hpcA0KPiArICAvLw0KPiArICBTNFM1UHJvZ0Nsb2NrKCk7DQo+ICsNCj4gKw0KPiArICBk YXRhMTYgPSAoVUlOVDE2KShJb1JlYWQxNihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9HUEUw YV9FTikpOw0KPiArICBkYXRhMTYgJj0gQl9QQ0hfQUNQSV9HUEUwYV9FTl9QQ0lfRVhQOw0KPiAr DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ2xlYXIgU2xlZXAgU01JIFN0YXR1cw0KPiArICAvLw0K PiArICBJb1dyaXRlMTYgKG1BY3BpQmFzZUFkZHIgKyBSX1BDSF9TTUlfU1RTLA0KPiArICAgICAg ICAgICAgICAgIChVSU5UMTYpKElvUmVhZDE2IChtQWNwaUJhc2VBZGRyICsgUl9QQ0hfU01JX1NU UykgfA0KPiBCX1BDSF9TTUlfU1RTX09OX1NMUF9FTikpOw0KPiArICAvLw0KPiArICAvLyBDbGVh ciBTbGVlcCBUeXBlIEVuYWJsZQ0KPiArICAvLw0KPiArICBJb1dyaXRlMTYgKG1BY3BpQmFzZUFk ZHIgKyBSX1BDSF9TTUlfRU4sDQo+ICsgICAgICAgICAgICAgICAgKFVJTlQxNikoSW9SZWFkMTYg KG1BY3BpQmFzZUFkZHIgKyBSX1BDSF9TTUlfRU4pICYNCj4gKH5CX1BDSF9TTUlfRU5fT05fU0xQ X0VOKSkpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENsZWFyIFBvd2VyIEJ1dHRvbiBTdGF0dXMN Cj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTE2KG1BY3BpQmFzZUFkZHIgKyBSX1BDSF9BQ1BJX1BNMV9T VFMsDQo+IEJfUENIX0FDUElfUE0xX1NUU19QV1JCVE4pOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFNodXQgaXQgb2ZmIG5vdyENCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTE2KG1BY3BpQmFzZUFkZHIg KyBSX1BDSF9BQ1BJX1BNMV9DTlQsDQo+IFZfUENIX0FDUElfUE0xX0NOVF9TNSk7DQo+ICsgIElv V3JpdGUxNihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9QTTFfQ05ULA0KPiBCX1BDSF9BQ1BJ X1BNMV9DTlRfU0xQX0VOIHwgVl9QQ0hfQUNQSV9QTTFfQ05UX1M1KTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBTaG91bGQgbm90IHJldHVybg0KPiArICAvLw0KPiArICBDcHVEZWFkTG9vcCgpOw0K PiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBAcGFyYW0gRGlzcGF0Y2hIYW5kbGUgIC0gVGhl IGhhbmRsZSBvZiB0aGlzIGNhbGxiYWNrLCBvYnRhaW5lZCB3aGVuDQo+IHJlZ2lzdGVyaW5nDQo+ ICsNCj4gKyAgQHBhcmFtIERpc3BhdGNoQ29udGV4dCAtIFRoZSBwcmVkZWZpbmVkIGNvbnRleHQg d2hpY2ggY29udGFpbmVkIHNsZWVwDQo+IHR5cGUgYW5kIHBoYXNlDQo+ICsNCj4gKyoqLw0KPiAr Vk9JRA0KPiArRUZJQVBJDQo+ICtTNVNsZWVwQWNMb3NzQ2FsbEJhY2sgKA0KPiArICBJTiAgRUZJ X0hBTkRMRSAgICAgICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGUsDQo+ICsgIElOICBFRklf U01NX1NYX0RJU1BBVENIX0NPTlRFWFQgICAqRGlzcGF0Y2hDb250ZXh0DQo+ICsgICkNCj4gK3sN Cj4gKyAgLy8NCj4gKyAgLy8gQ2hlY2sgd2hhdCB0aGUgc3RhdGUgdG8gcmV0dXJuIHRvIGFmdGVy IEFDIExvc3MuIElmIExhc3QgU3RhdGUsIHRoZW4NCj4gKyAgLy8gc2V0IGl0IHRvIE9mZi4NCj4g KyAgLy8NCj4gKyAgaWYgKG1BY0xvc3NWYXJpYWJsZSA9PSAxKSB7DQo+ICsgICAgU2V0QWZ0ZXJH M09uIChUUlVFKTsNCj4gKyAgfQ0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBAcGFyYW0g RGlzcGF0Y2hIYW5kbGUgICBUaGUgaGFuZGxlIG9mIHRoaXMgY2FsbGJhY2ssIG9idGFpbmVkIHdo ZW4NCj4gcmVnaXN0ZXJpbmcNCj4gKyAgQHBhcmFtIERpc3BhdGNoQ29udGV4dCAgVGhlIHByZWRl ZmluZWQgY29udGV4dCB3aGljaCBjb250YWluZWQgc2xlZXANCj4gdHlwZSBhbmQgcGhhc2UNCj4g Kw0KPiArICBAcmV0dmFsIENsZWFycyB0aGUgU2F2ZSBTdGF0ZSBiaXQgaW4gdGhlIGNsb2NrLg0K PiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArUzRTNUNhbGxCYWNrICgNCj4gKyAg SU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0KPiArICBJ TiAgRUZJX1NNTV9TWF9ESVNQQVRDSF9DT05URVhUICAgKkRpc3BhdGNoQ29udGV4dA0KPiArICAp DQo+ICt7DQo+ICsNCj4gKyAgVUlOVDMyICAgICAgICBEYXRhMzI7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gRW5hYmxlL0Rpc2FibGUgVVNCIENoYXJnaW5nDQo+ICsgIC8vDQo+ICsgIGlmIChtU3lz dGVtQ29uZmlndXJhdGlvbi5Vc2JDaGFyZ2luZyA9PSAweDAxKSB7DQo+ICsgICAgRGF0YTMyID0g SW9SZWFkMzIgKEdQSU9fQkFTRV9BRERSRVNTICsgUl9QQ0hfR1BJT19TQ19MVkwpOw0KPiArICAg IERhdGEzMiB8PSBCSVQ4Ow0KPiArICAgIElvV3JpdGUzMihHUElPX0JBU0VfQUREUkVTUyArIFJf UENIX0dQSU9fU0NfTFZMLCBEYXRhMzIpOw0KPiArICB9DQo+ICsNCj4gK30NCj4gKw0KPiArDQo+ ICtWT0lEDQo+ICtTNFM1UHJvZ0Nsb2NrKCkNCj4gK3sNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsg IFNNSSBoYW5kbGVyIHRvIGVuYWJsZSBBQ1BJIG1vZGUNCj4gKw0KPiArICBEaXNwYXRjaGVkIG9u IHJlYWRzIGZyb20gQVBNIHBvcnQgd2l0aCB2YWx1ZSAweEEwDQo+ICsNCj4gKyAgRGlzYWJsZXMg dGhlIFNXIFNNSSBUaW1lci4NCj4gKyAgQUNQSSBldmVudHMgYXJlIGRpc2FibGVkIGFuZCBBQ1BJ IGV2ZW50IHN0YXR1cyBpcyBjbGVhcmVkLg0KPiArICBTQ0kgbW9kZSBpcyB0aGVuIGVuYWJsZWQu DQo+ICsNCj4gKyAgIERpc2FibGUgU1cgU01JIFRpbWVyDQo+ICsNCj4gKyAgIENsZWFyIGFsbCBB Q1BJIGV2ZW50IHN0YXR1cyBhbmQgZGlzYWJsZSBhbGwgQUNQSSBldmVudHMNCj4gKyAgIERpc2Fi bGUgUE0gc291cmNlcyBleGNlcHQgcG93ZXIgYnV0dG9uDQo+ICsgICBDbGVhciBzdGF0dXMgYml0 cw0KPiArDQo+ICsgICBEaXNhYmxlIEdQRTAgc291cmNlcw0KPiArICAgQ2xlYXIgc3RhdHVzIGJp dHMNCj4gKw0KPiArICAgRGlzYWJsZSBHUEUxIHNvdXJjZXMNCj4gKyAgIENsZWFyIHN0YXR1cyBi aXRzDQo+ICsNCj4gKyAgIEd1YXJhbnRlZSBkYXktb2YtbW9udGggYWxhcm0gaXMgaW52YWxpZCAo QUNQSSA1LjAgU2VjdGlvbiA0LjguMi40ICJSZWFsDQo+IFRpbWUgQ2xvY2sgQWxhcm0iKQ0KPiAr DQo+ICsgICBFbmFibGUgU0NJDQo+ICsNCj4gKyAgQHBhcmFtIERpc3BhdGNoSGFuZGxlICAtIEVG SSBIYW5kbGUNCj4gKyAgQHBhcmFtIERpc3BhdGNoQ29udGV4dCAtIFBvaW50ZXIgdG8gdGhlDQo+ IEVGSV9TTU1fU1dfRElTUEFUQ0hfQ09OVEVYVA0KPiArDQo+ICsgIEByZXR2YWwgTm90aGluZw0K PiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArRW5hYmxlQWNwaUNhbGxiYWNrICgN Cj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0K PiArICBJTiAgRUZJX1NNTV9TV19ESVNQQVRDSF9DT05URVhUICAgKkRpc3BhdGNoQ29udGV4dA0K PiArICApDQo+ICt7DQo+ICsgIFVJTlQzMiBTbWlFbjsNCj4gKyAgVUlOVDE2IFBtMUNudDsNCj4g KyAgVUlOVDE2IHdvcmRWYWx1ZTsNCj4gKyAgVUlOVDMyIFJlZ0RhdGEzMjsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBEaXNhYmxlIFNXIFNNSSBUaW1lcg0KPiArICAvLw0KPiArICBTbWlFbiA9IElv UmVhZDMyKG1BY3BpQmFzZUFkZHIgKyBSX1BDSF9TTUlfRU4pOw0KPiArICBTbWlFbiAmPSB+Ql9Q Q0hfU01JX1NUU19TV1NNSV9UTVI7DQo+ICsgIElvV3JpdGUzMihtQWNwaUJhc2VBZGRyICsgUl9Q Q0hfU01JX0VOLCBTbWlFbik7DQo+ICsNCj4gKyAgd29yZFZhbHVlID0gSW9SZWFkMTYobUFjcGlC YXNlQWRkciArIFJfUENIX0FDUElfUE0xX1NUUyk7DQo+ICsgIGlmKHdvcmRWYWx1ZSAmIEJfUENI X0FDUElfUE0xX1NUU19XQUspIHsNCj4gKwkgIElvV3JpdGUzMigobUFjcGlCYXNlQWRkciArIFJf UENIX0FDUElfR1BFMGFfRU4pLCAweDAwMDApOw0KPiArCSAgSW9Xcml0ZTMyKChtQWNwaUJhc2VB ZGRyICsgUl9QQ0hfQUNQSV9HUEUwYV9TVFMpLCAweGZmZmZmZmZmKTsNCj4gKyAgfQ0KPiArICBl bHNlIHsNCj4gKwkJbVBNMV9TYXZlU3RhdGUxNiA9IElvUmVhZDE2KG1BY3BpQmFzZUFkZHIgKw0K PiBSX1BDSF9BQ1BJX1BNMV9FTik7DQo+ICsNCj4gKwkJLy8NCj4gKwkJLy8gRGlzYWJsZSBQTSBz b3VyY2VzIGV4Y2VwdCBwb3dlciBidXR0b24NCj4gKwkJLy8NCj4gKyAgICAvLyBwb3dlciBidXR0 b24gaXMgZW5hYmxlZCBvbmx5IGZvciBQQ0FULiBEaXNhYmxlZCBpdCBvbiBUYWJsZXQgcGxhdGZv cm0NCj4gKyAgICAvLw0KPiArICAgIElvV3JpdGUxNihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQ SV9QTTFfRU4sDQo+IEJfUENIX0FDUElfUE0xX0VOX1BXUkJUTik7DQo+ICsJCUlvV3JpdGUxNiht QWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9QTTFfU1RTLCAweGZmZmYpOw0KPiArDQo+ICsJCW1H UEVfU2F2ZVN0YXRlMzIgPSBJb1JlYWQxNihtQWNwaUJhc2VBZGRyICsNCj4gUl9QQ0hfQUNQSV9H UEUwYV9FTik7DQo+ICsJCUlvV3JpdGUzMihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9HUEUw YV9FTiwNCj4gMHgwMDAwKTsNCj4gKwkJSW9Xcml0ZTMyKG1BY3BpQmFzZUFkZHIgKyBSX1BDSF9B Q1BJX0dQRTBhX1NUUywNCj4gMHhmZmZmZmZmZik7DQo+ICsNCj4gKyAgfQ0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIEd1YXJhbnRlZSBkYXktb2YtbW9udGggYWxhcm0gaXMgaW52YWxpZCAoQUNQSSA1 LjAgU2VjdGlvbiA0LjguMi40ICJSZWFsDQo+IFRpbWUgQ2xvY2sgQWxhcm0iKQ0KPiArICAvLyBD bGVhciBTdGF0dXMgRCByZWcgVk0gYml0LCBEYXRlIG9mIG1vbnRoIEFsYXJtIHRvIG1ha2UgRGF0 YSBpbiBDTU9TDQo+IFJBTSBpcyBubyBsb25nZXIgVmFsaWQNCj4gKyAgLy8NCj4gKyAgSW9Xcml0 ZTggKFBDQVRfUlRDX0FERFJFU1NfUkVHSVNURVIsIFJUQ19BRERSRVNTX1JFR0lTVEVSX0QpOw0K PiArICBJb1dyaXRlOCAoUENBVF9SVENfREFUQV9SRUdJU1RFUiwgMHgwKTsNCj4gKw0KPiArDQo+ ICsJUmVnRGF0YTMyID0gSW9SZWFkMzIoQUNQSV9CQVNFX0FERFJFU1MgKw0KPiBSX1BDSF9BTFRf R1BfU01JX0VOKTsNCj4gKwlSZWdEYXRhMzIgJj0gfihCSVQ3KTsNCj4gKyAgICBJb1dyaXRlMzIo KEFDUElfQkFTRV9BRERSRVNTICsgUl9QQ0hfQUxUX0dQX1NNSV9FTiksDQo+IFJlZ0RhdGEzMik7 DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBFbmFibGUgU0NJDQo+ICsgIC8vDQo+ICsgIFBt MUNudCA9IElvUmVhZDE2KG1BY3BpQmFzZUFkZHIgKyBSX1BDSF9BQ1BJX1BNMV9DTlQpOw0KPiAr ICBQbTFDbnQgfD0gQl9QQ0hfQUNQSV9QTTFfQ05UX1NDSV9FTjsNCj4gKyAgSW9Xcml0ZTE2KG1B Y3BpQmFzZUFkZHIgKyBSX1BDSF9BQ1BJX1BNMV9DTlQsIFBtMUNudCk7DQo+ICsNCj4gKw0KPiAr fQ0KPiArDQo+ICsvKioNCj4gKyAgU01JIGhhbmRsZXIgdG8gZGlzYWJsZSBBQ1BJIG1vZGUNCj4g Kw0KPiArICBEaXNwYXRjaGVkIG9uIHJlYWRzIGZyb20gQVBNIHBvcnQgd2l0aCB2YWx1ZSAweEEx DQo+ICsNCj4gKyAgQUNQSSBldmVudHMgYXJlIGRpc2FibGVkIGFuZCBBQ1BJIGV2ZW50IHN0YXR1 cyBpcyBjbGVhcmVkLg0KPiArICBTQ0kgbW9kZSBpcyB0aGVuIGRpc2FibGVkLg0KPiArICAgQ2xl YXIgYWxsIEFDUEkgZXZlbnQgc3RhdHVzIGFuZCBkaXNhYmxlIGFsbCBBQ1BJIGV2ZW50cw0KPiAr ICAgRGlzYWJsZSBQTSBzb3VyY2VzIGV4Y2VwdCBwb3dlciBidXR0b24NCj4gKyAgIENsZWFyIHN0 YXR1cyBiaXRzDQo+ICsgICBEaXNhYmxlIEdQRTAgc291cmNlcw0KPiArICAgQ2xlYXIgc3RhdHVz IGJpdHMNCj4gKyAgIERpc2FibGUgR1BFMSBzb3VyY2VzDQo+ICsgICBDbGVhciBzdGF0dXMgYml0 cw0KPiArICAgRGlzYWJsZSBTQ0kNCj4gKw0KPiArICBAcGFyYW0gRGlzcGF0Y2hIYW5kbGUgIC0g RUZJIEhhbmRsZQ0KPiArICBAcGFyYW0gRGlzcGF0Y2hDb250ZXh0IC0gUG9pbnRlciB0byB0aGUN Cj4gRUZJX1NNTV9TV19ESVNQQVRDSF9DT05URVhUDQo+ICsNCj4gKyAgQHJldHZhbCBOb3RoaW5n DQo+ICsNCj4gKyoqLw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtEaXNhYmxlQWNwaUNhbGxiYWNr ICgNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxl LA0KPiArICBJTiAgRUZJX1NNTV9TV19ESVNQQVRDSF9DT05URVhUICAgKkRpc3BhdGNoQ29udGV4 dA0KPiArICApDQo+ICt7DQo+ICsgIFVJTlQxNiBQbTFDbnQ7DQo+ICsNCj4gKyAgSW9Xcml0ZTE2 KG1BY3BpQmFzZUFkZHIgKyBSX1BDSF9BQ1BJX1BNMV9TVFMsIDB4ZmZmZik7DQo+ICsgIElvV3Jp dGUxNihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9QTTFfRU4sIG1QTTFfU2F2ZVN0YXRlMTYp Ow0KPiArDQo+ICsgIElvV3JpdGUzMihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9HUEUwYV9T VFMsIDB4ZmZmZmZmZmYpOw0KPiArICBJb1dyaXRlMzIobUFjcGlCYXNlQWRkciArIFJfUENIX0FD UElfR1BFMGFfRU4sDQo+IG1HUEVfU2F2ZVN0YXRlMzIpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IERpc2FibGUgU0NJDQo+ICsgIC8vDQo+ICsgIFBtMUNudCA9IElvUmVhZDE2KG1BY3BpQmFzZUFk ZHIgKyBSX1BDSF9BQ1BJX1BNMV9DTlQpOw0KPiArICBQbTFDbnQgJj0gfkJfUENIX0FDUElfUE0x X0NOVF9TQ0lfRU47DQo+ICsgIElvV3JpdGUxNihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9Q TTFfQ05ULCBQbTFDbnQpOw0KPiArDQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBXaGVuIGFuIHVu a25vd24gZXZlbnQgaGFwcGVuLg0KPiArDQo+ICsgQHJldHZhbCBOb25lDQo+ICsNCj4gKyoqLw0K PiArVk9JRA0KPiArRHVtbXlUY28xQ2FsbGJhY2sgKA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0KPiArICBJTiAgRUZJX1NN TV9JQ0hOX0RJU1BBVENIX0NPTlRFWFQgICAgICAgICAgICpEaXNwYXRjaENvbnRleHQNCj4gKyAg KQ0KPiArew0KPiArfQ0KPiArDQo+ICtVSU5UTg0KPiArRGV2aWNlUGF0aFNpemUgKA0KPiArICBJ TiBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpEZXZpY2VQYXRoDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAqU3RhcnQ7DQo+ICsNCj4gKyAgaWYgKERl dmljZVBhdGggPT0gTlVMTCkgew0KPiArICAgIHJldHVybiAwOw0KPiArICB9DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gU2VhcmNoIGZvciB0aGUgZW5kIG9mIHRoZSBkZXZpY2UgcGF0aCBzdHJ1Y3R1 cmUNCj4gKyAgLy8NCj4gKyAgU3RhcnQgPSBEZXZpY2VQYXRoOw0KPiArICB3aGlsZSAoIUlzRGV2 aWNlUGF0aEVuZCAoRGV2aWNlUGF0aCkpIHsNCj4gKyAgICBEZXZpY2VQYXRoID0gTmV4dERldmlj ZVBhdGhOb2RlIChEZXZpY2VQYXRoKTsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENv bXB1dGUgdGhlIHNpemUgYW5kIGFkZCBiYWNrIGluIHRoZSBzaXplIG9mIHRoZSBlbmQgZGV2aWNl IHBhdGgNCj4gc3RydWN0dXJlDQo+ICsgIC8vDQo+ICsgIHJldHVybiAoKFVJTlROKURldmljZVBh dGggLSAoVUlOVE4pU3RhcnQpICsNCj4gc2l6ZW9mKEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NPTCk7 DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIEBwYXJhbSBEaXNwYXRjaEhhbmRsZSAgIFRo ZSBoYW5kbGUgb2YgdGhpcyBjYWxsYmFjaywgb2J0YWluZWQgd2hlbg0KPiByZWdpc3RlcmluZw0K PiArICBAcGFyYW0gRGlzcGF0Y2hDb250ZXh0ICBUaGUgcHJlZGVmaW5lZCBjb250ZXh0IHdoaWNo IGNvbnRhaW5lZCBzbGVlcA0KPiB0eXBlIGFuZCBwaGFzZQ0KPiArDQo+ICsqKi8NCj4gK1ZPSUQN Cj4gK1M1U2xlZXBXYWtlT25SdGNDYWxsQmFjayAoDQo+ICsgIElOICBFRklfSEFORExFICAgICAg ICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRsZSwNCj4gKyAgSU4gIEVGSV9TTU1fU1hfRElTUEFU Q0hfQ09OVEVYVCAgICpEaXNwYXRjaENvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICBFbmFibGVT NVdha2VPblJ0YygpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArIEByZXR2YWwgMS4gQ2hl Y2sgQWxhcm0gaW50ZXJydXB0IGlzIG5vdCBzZXQuDQo+ICsgICAgICAgICAyLiBDbGVhciBBbGFy bSBpbnRlcnJ1cHQuDQo+ICsgICAgICAgICAyLiBTZXQgUlRDIHdha2UgdXAgZGF0ZSBhbmQgdGlt ZS4NCj4gKyAgICAgICAgIDIuIEVuYWJsZSBSVEMgd2FrZSB1cCBhbGFybS4NCj4gKyAgICAgICAg IDMuIEVuYWJsZSBJQ0ggUE0xIEVOIEJpdCAxMChSVENfRU4pDQo+ICsNCj4gKyoqLw0KPiArVk9J RA0KPiArRW5hYmxlUzVXYWtlT25SdGMoKQ0KPiArew0KPiArICBVSU5UOCAgICAgICAgICAgICBD bW9zRGF0YTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgaTsNCj4gKyAgRUZJX1NUQVRVUyAgICAg ICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICBWYXJTaXplOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIG1ha2Ugc3VyZSBFRklfU01NX1ZBUklBQkxFX1BST1RPQ09MIGlzIGF2YWlsYWJs ZQ0KPiArICAvLw0KPiArICBpZiAoIW1TbW1WYXJpYWJsZSkgew0KPiArICAgIHJldHVybjsNCj4g KyAgfQ0KPiArDQo+ICsgIFZhclNpemUgPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pOw0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIHJlYWQgdGhlIHZhcmlhYmxlIGludG8gdGhlIGJ1ZmZlcg0K PiArICAvLw0KPiArICBTdGF0dXMgPSBtU21tVmFyaWFibGUtPlNtbUdldFZhcmlhYmxlKA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgTCJTZXR1cCIsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAmZ0VmaVNldHVwVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICZWYXJTaXplLA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1TeXN0ZW1Db25maWd1cmF0aW9uDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJX0VSUk9SKFN0YXR1cykg fHwgVmFyU2l6ZSAhPSBzaXplb2YoU1lTVEVNX0NPTkZJR1VSQVRJT04pKSB7DQo+ICsgICAgLy9U aGUgc2V0dXAgdmFyaWFibGUgaXMgY29ycnVwdGVkDQo+ICsgICAgVmFyU2l6ZSA9IHNpemVvZihT WVNURU1fQ09ORklHVVJBVElPTik7DQo+ICsgICAgU3RhdHVzID0gbVNtbVZhcmlhYmxlLT5TbW1H ZXRWYXJpYWJsZSgNCj4gKyAgICAgICAgICAgICAgTCJTZXR1cFJlY292ZXJ5IiwNCj4gKyAgICAg ICAgICAgICAgJmdFZmlTZXR1cFZhcmlhYmxlR3VpZCwNCj4gKyAgICAgICAgICAgICAgTlVMTCwN Cj4gKyAgICAgICAgICAgICAgJlZhclNpemUsDQo+ICsgICAgICAgICAgICAgICZtU3lzdGVtQ29u ZmlndXJhdGlvbg0KPiArICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1Ig KFN0YXR1cyk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoIW1TeXN0ZW1Db25maWd1cmF0aW9uLldh a2VPblJ0Y1M1KSB7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsgIG1XYWtldXBEYXkgPQ0K PiBIZXhUb0JjZCgoVUlOVDgpbVN5c3RlbUNvbmZpZ3VyYXRpb24uUlRDV2FrZXVwRGF0ZSk7DQo+ ICsgIG1XYWtldXBIb3VyID0NCj4gSGV4VG9CY2QoKFVJTlQ4KW1TeXN0ZW1Db25maWd1cmF0aW9u LlJUQ1dha2V1cFRpbWVIb3VyKTsNCj4gKyAgbVdha2V1cE1pbnV0ZSA9DQo+IEhleFRvQmNkKChV SU5UOCltU3lzdGVtQ29uZmlndXJhdGlvbi5SVENXYWtldXBUaW1lTWludXRlKTsNCj4gKyAgbVdh a2V1cFNlY29uZCA9DQo+IEhleFRvQmNkKChVSU5UOCltU3lzdGVtQ29uZmlndXJhdGlvbi5SVENX YWtldXBUaW1lU2Vjb25kKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVjayBSVEMgYWxhcm0g aW50ZXJydXB0IGlzIGVuYWJsZWQuICBJZiBlbmFibGVkLCBzb21lb25lIGFscmVhZHkNCj4gKyAg Ly8gZ3JhYmJlZCBSVEMgYWxhcm0uICBKdXN0IHJldHVybi4NCj4gKyAgLy8NCj4gKyAgSW9Xcml0 ZTgoUENBVF9SVENfQUREUkVTU19SRUdJU1RFUiwgUlRDX0FERFJFU1NfUkVHSVNURVJfQik7DQo+ ICsgIGlmKElvUmVhZDgoUENBVF9SVENfREFUQV9SRUdJU1RFUikgJiBCX1JUQ19BTEFSTV9JTlRf RU5BQkxFKXsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBT ZXQgRGF0ZQ0KPiArICAvLw0KPiArICBJb1dyaXRlOChQQ0FUX1JUQ19BRERSRVNTX1JFR0lTVEVS LCBSVENfQUREUkVTU19SRUdJU1RFUl9EKTsNCj4gKyAgQ21vc0RhdGEgPSBJb1JlYWQ4KFBDQVRf UlRDX0RBVEFfUkVHSVNURVIpOw0KPiArICBDbW9zRGF0YSAmPSB+KEJfUlRDX0RBVEVfQUxBUk1f TUFTSyk7DQo+ICsgIENtb3NEYXRhIHw9IG1XYWtldXBEYXkgOw0KPiArICBmb3IoaSA9IDAgOyBp IDwgMHhmZmZmIDsgaSsrKXsNCj4gKyAgICBJb1dyaXRlOChQQ0FUX1JUQ19EQVRBX1JFR0lTVEVS LCBDbW9zRGF0YSk7DQo+ICsgICAgU21tU3RhbGwoMSk7DQo+ICsgICAgaWYoKChDbW9zRGF0YSA9 IElvUmVhZDgoUENBVF9SVENfREFUQV9SRUdJU1RFUikpICYNCj4gQl9SVENfREFURV9BTEFSTV9N QVNLKQ0KPiArICAgICAgICAgPT0gbVdha2V1cERheSl7DQo+ICsgICAgICBicmVhazsNCj4gKyAg ICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgU2Vjb25kDQo+ICsgIC8vDQo+ ICsgIElvV3JpdGU4KFBDQVRfUlRDX0FERFJFU1NfUkVHSVNURVIsDQo+IFJUQ19BRERSRVNTX1NF Q09ORF9BTEFSTSk7DQo+ICsgIGZvcihpID0gMCA7IGkgPCAweGZmZmYgOyBpKyspew0KPiArICAg IElvV3JpdGU4KFBDQVRfUlRDX0RBVEFfUkVHSVNURVIsIG1XYWtldXBTZWNvbmQpOw0KPiArICAg IFNtbVN0YWxsKDEpOw0KPiArICAgIGlmKElvUmVhZDgoUENBVF9SVENfREFUQV9SRUdJU1RFUikg PT0gbVdha2V1cFNlY29uZCl7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsgIH0NCj4g Kw0KPiArICAvLw0KPiArICAvLyBTZXQgTWludXRlDQo+ICsgIC8vDQo+ICsgIElvV3JpdGU4KFBD QVRfUlRDX0FERFJFU1NfUkVHSVNURVIsDQo+IFJUQ19BRERSRVNTX01JTlVURV9BTEFSTSk7DQo+ ICsgIGZvcihpID0gMCA7IGkgPCAweGZmZmYgOyBpKyspew0KPiArICAgIElvV3JpdGU4KFBDQVRf UlRDX0RBVEFfUkVHSVNURVIsIG1XYWtldXBNaW51dGUpOw0KPiArICAgIFNtbVN0YWxsKDEpOw0K PiArICAgIGlmKElvUmVhZDgoUENBVF9SVENfREFUQV9SRUdJU1RFUikgPT0gbVdha2V1cE1pbnV0 ZSl7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiAr ICAvLyBTZXQgSG91cg0KPiArICAvLw0KPiArICBJb1dyaXRlOChQQ0FUX1JUQ19BRERSRVNTX1JF R0lTVEVSLCBSVENfQUREUkVTU19IT1VSX0FMQVJNKTsNCj4gKyAgZm9yKGkgPSAwIDsgaSA8IDB4 ZmZmZiA7IGkrKyl7DQo+ICsgICAgSW9Xcml0ZTgoUENBVF9SVENfREFUQV9SRUdJU1RFUiwgbVdh a2V1cEhvdXIpOw0KPiArICAgIFNtbVN0YWxsKDEpOw0KPiArICAgIGlmKElvUmVhZDgoUENBVF9S VENfREFUQV9SRUdJU1RFUikgPT0gbVdha2V1cEhvdXIpew0KPiArICAgICAgYnJlYWs7DQo+ICsg ICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gV2FpdCBmb3IgVUlQIHRvIGFybSBS VEMgYWxhcm0NCj4gKyAgLy8NCj4gKyAgSW9Xcml0ZTgoUENBVF9SVENfQUREUkVTU19SRUdJU1RF UiwgUlRDX0FERFJFU1NfUkVHSVNURVJfQSk7DQo+ICsgIHdoaWxlIChJb1JlYWQ4KFBDQVRfUlRD X0RBVEFfUkVHSVNURVIpICYgMHg4MCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmVhZCBSVEMg cmVnaXN0ZXIgMEMgdG8gY2xlYXIgcGVuZGluZyBSVEMgaW50ZXJydXB0cw0KPiArICAvLw0KPiAr ICBJb1dyaXRlOChQQ0FUX1JUQ19BRERSRVNTX1JFR0lTVEVSLCBSVENfQUREUkVTU19SRUdJU1RF Ul9DKTsNCj4gKyAgSW9SZWFkOChQQ0FUX1JUQ19EQVRBX1JFR0lTVEVSKTsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBFbmFibGUgUlRDIEFsYXJtIEludGVycnVwdA0KPiArICAvLw0KPiArICBJb1dy aXRlOChQQ0FUX1JUQ19BRERSRVNTX1JFR0lTVEVSLCBSVENfQUREUkVTU19SRUdJU1RFUl9CKTsN Cj4gKyAgSW9Xcml0ZTgoUENBVF9SVENfREFUQV9SRUdJU1RFUiwNCj4gSW9SZWFkOChQQ0FUX1JU Q19EQVRBX1JFR0lTVEVSKSB8IEJfUlRDX0FMQVJNX0lOVF9FTkFCTEUpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIENsZWFyIElDSCBSVEMgU3RhdHVzDQo+ICsgIC8vDQo+ICsgIElvV3JpdGUxNiht QWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQSV9QTTFfU1RTLA0KPiBCX1BDSF9BQ1BJX1BNMV9TVFNf UlRDKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBFbmFibGUgSUNIIFJUQyBldmVudA0KPiArICAv Lw0KPiArICBJb1dyaXRlMTYobUFjcGlCYXNlQWRkciArIFJfUENIX0FDUElfUE0xX0VOLA0KPiAr ICAgICAgICAgICAgICAoVUlOVDE2KShJb1JlYWQxNihtQWNwaUJhc2VBZGRyICsgUl9QQ0hfQUNQ SV9QTTFfRU4pIHwNCj4gQl9QQ0hfQUNQSV9QTTFfRU5fUlRDKSk7DQo+ICt9DQo+ICsNCj4gK1VJ TlQ4DQo+ICtIZXhUb0JjZCgNCj4gKyAgSU4gVUlOVDggSGV4VmFsdWUNCj4gKyAgKQ0KPiArew0K PiArICBVSU5UTiAgIEhpZ2hCeXRlOw0KPiArICBVSU5UTiAgIExvd0J5dGU7DQo+ICsNCj4gKyAg SGlnaEJ5dGUgICAgPSAoVUlOVE4pSGV4VmFsdWUgLyAxMDsNCj4gKyAgTG93Qnl0ZSAgICAgPSAo VUlOVE4pSGV4VmFsdWUgJSAxMDsNCj4gKw0KPiArICByZXR1cm4gKChVSU5UOCkoTG93Qnl0ZSAr IChIaWdoQnl0ZSA8PCA0KSkpOw0KPiArfQ0KPiArDQo+ICtVSU5UOA0KPiArQmNkVG9IZXgoDQo+ ICsgIElOIFVJTlQ4IEJjZFZhbHVlDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVE4gICBIaWdoQnl0 ZTsNCj4gKyAgVUlOVE4gICBMb3dCeXRlOw0KPiArDQo+ICsgIEhpZ2hCeXRlICAgID0gKFVJTlRO KSgoQmNkVmFsdWUgPj4gNCkgKiAxMCk7DQo+ICsgIExvd0J5dGUgICAgID0gKFVJTlROKShCY2RW YWx1ZSAmIDB4MEYpOw0KPiArDQo+ICsgIHJldHVybiAoKFVJTlQ4KShMb3dCeXRlICsgSGlnaEJ5 dGUpKTsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvUGxhdGZvcm1TbW0vUGxhdGZvcm1TbW0uaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TbW0vUGxhdGZvcm1TbW0uaW5mDQo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjFiN2IwNWQ5YjMNCj4gLS0tIC9kZXYv bnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNt bS9QbGF0Zm9ybVNtbS5pbmYNCj4gQEAgLTAsMCArMSw5MyBAQA0KPiArIw0KPiArIw0KPiArIyBD b3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTgsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRz IHJlc2VydmVkDQo+ICsjDQo+IA0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+IA0KPiArIw0KPiArIw0KPiArIyAgTW9kdWxlIE5h bWU6DQo+ICsjDQo+ICsjICAgUGxhdGZvcm0uaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4g KyMNCj4gKyMgICAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yIFNNTSBQbGF0Zm9ybSBo YW5kbGVyIG1vZHVsZQ0KPiArIw0KPiArIy0tKi8NCj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIElO Rl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1F ICAgICAgICAgICAgICAgICAgICAgID0gUGxhdGZvcm1TbW0NCj4gKyAgRklMRV9HVUlEICAgICAg ICAgICAgICAgICAgICAgID0gOTlDMjBBMzctMDQyQS00NmUyLTgwRjQtRTQwMjdGREJDODZGDQo+ ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9TTU1fRFJJVkVSDQo+ICsg IFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBFTlRSWV9QT0lOVCAg ICAgICAgICAgICAgICAgICAgPSBJbml0aWFsaXplUGxhdGZvcm1TbW0NCj4gKyAgUElfU1BFQ0lG SUNBVElPTl9WRVJTSU9OICAgICAgID0gMHgwMDAxMDAwQQ0KPiArDQo+ICsjDQo+ICsjIFRoZSBm b2xsb3dpbmcgaW5mb3JtYXRpb24gaXMgZm9yIHJlZmVyZW5jZSBvbmx5IGFuZCBub3QgcmVxdWly ZWQgYnkgdGhlDQo+IGJ1aWxkIHRvb2xzLg0KPiArIw0KPiArIyAgVkFMSURfQVJDSElURUNUVVJF UyAgICAgICAgICAgPSBJQTMyIFg2NA0KPiArIw0KPiArDQo+ICtbU291cmNlc10NCj4gKyAgUzNT YXZlLmMNCj4gKyAgUGxhdGZvcm0uYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIFVl ZmlEcml2ZXJFbnRyeVBvaW50DQo+ICsgIFVlZmlCb290U2VydmljZXNUYWJsZUxpYg0KPiArICBE ZWJ1Z0xpYg0KPiArICBJb0xpYg0KPiArICBCYXNlTGliDQo+ICsgIEJhc2VNZW1vcnlMaWINCj4g KyAgRGV2aWNlUGF0aExpYg0KPiArICBIb2JMaWINCj4gKyAgUzNCb290U2NyaXB0TGliDQo+ICsg IFN0YWxsU21tTGliDQo+ICsgIFBjaFBsYXRmb3JtTGliDQo+ICsNCj4gK1tHdWlkc10NCj4gKyAg Z0VmaVNldHVwVmFyaWFibGVHdWlkDQo+ICsgIGdEbWlEYXRhR3VpZA0KPiArICBnRWZpQWNwaVZh cmlhYmxlQ29tcGF0aWJsaXR5R3VpZA0KPiArICBnRWZpUGNpTGFuSW5mb0d1aWQNCj4gKyAgZ0Vm aVBjaUxhbkluZm9HdWlkDQo+ICsNCj4gK1tGZWF0dXJlUGNkXQ0KPiArICBnRWZpTWRlTW9kdWxl UGtnVG9rZW5TcGFjZUd1aWQuUGNkRHhlSXBsU3dpdGNoVG9Mb25nTW9kZQ0KPiArDQo+ICtbUHJv dG9jb2xzXQ0KPiArICBnRWZpU21tQmFzZTJQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaVNtbUljaG5E aXNwYXRjaFByb3RvY29sR3VpZA0KPiArICBnRWZpR2xvYmFsTnZzQXJlYVByb3RvY29sR3VpZA0K PiArICBnRWZpU21tU3dEaXNwYXRjaFByb3RvY29sR3VpZA0KPiArICBnRWZpU21tUG93ZXJCdXR0 b25EaXNwYXRjaFByb3RvY29sR3VpZA0KPiArICBnRWZpU21tU3hEaXNwYXRjaFByb3RvY29sR3Vp ZA0KPiArICBnRWZpU21tVmFyaWFibGVQcm90b2NvbEd1aWQNCj4gKyAgZ0VmaUNwdUlvMlByb3Rv Y29sR3VpZA0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsg IE1kZU1vZHVsZVBrZy9NZGVNb2R1bGVQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrUGtnL0lu dGVsRnJhbWV3b3JrUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNl UmVmQ29kZVBrZy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ ICsgIEludGVsRnJhbWV3b3JrTW9kdWxlUGtnL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnLmRlYw0K PiArDQo+ICtbUGNkLmNvbW1vbl0NCj4gKyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFBj aUV4cHJlc3NCYXNlQWRkcmVzcw0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIGdFZmlTbW1CYXNlMlBy b3RvY29sR3VpZCAgICAgICAgICAgICAgICAgQU5EDQo+ICsgIGdFZmlTbW1BY2Nlc3MyUHJvdG9j b2xHdWlkICAgICAgICAgICAgICAgQU5EDQo+ICsgIGdFZmlTbW1Qb3dlckJ1dHRvbkRpc3BhdGNo UHJvdG9jb2xHdWlkICBBTkQNCj4gKyAgZ0VmaVNtbVN4RGlzcGF0Y2hQcm90b2NvbEd1aWQgICAg ICAgICAgIEFORA0KPiArICBnRWZpU21tSWNobkRpc3BhdGNoUHJvdG9jb2xHdWlkICAgICAgICAg QU5EDQo+ICsgIGdFZmlTbW1Td0Rpc3BhdGNoUHJvdG9jb2xHdWlkICAgICAgICAgICBBTkQNCj4g KyAgZ0VmaVZhcmlhYmxlQXJjaFByb3RvY29sR3VpZCAgICAgICAgICAgIEFORA0KPiArICBnRWZp VmFyaWFibGVXcml0ZUFyY2hQcm90b2NvbEd1aWQgICAgICAgQU5EDQo+ICsgIGdFZmlHbG9iYWxO dnNBcmVhUHJvdG9jb2xHdWlkDQo+ICsNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21tL1MzU2F2ZS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TbW0vUzNTYXZlLmMNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMTkwODkyMzNiMg0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21tL1MzU2F2 ZS5jDQo+IEBAIC0wLDAgKzEsMzc3IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArICBDb3B5cmln aHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsN Cj4gKyAgICBJY2hTM1NhdmUuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgIFNNTSBT MyBoYW5kbGVyIERyaXZlciBpbXBsZW1lbnRhdGlvbiBmaWxlDQo+ICsNCj4gK1JldmlzaW9uIEhp c3RvcnkNCj4gKw0KPiArKiovDQo+ICsjaW5jbHVkZSAiU21tUGxhdGZvcm0uaCINCj4gKw0KPiAr ZXh0ZXJuICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgIG1BY3BpQmFzZUFkZHI7DQo+ ICtFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgICAgICAgICAgICAgbVJ1bnRpbWVTY3JpcHRU YWJsZUJhc2U7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0luaXRSdW50aW1lU2NyaXB0VGFibGUg KA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0K PiArICBFRklfU1RBVFVTICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgIFZh ckF0dHJpYjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgVmFyU2l6ZTsNCj4gKyAgQUNQSV9WQVJJ QUJMRV9TRVRfQ09NUEFUSUJJTElUWSAqQWNwaVZhcmlhYmxlQmFzZTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBBbGxvY2F0ZSBydW50aW1lIEFDUEkgc2NyaXB0IHRhYmxlIHNwYWNlLiBXZSBuZWVk IGl0IHRvIHNhdmUgc29tZQ0KPiArICAvLyBzZXR0aW5ncyBkb25lIGJ5IENTTSwgd2hpY2ggcnVu cyBhZnRlciBub3JtYWwgc2NyaXB0IHRhYmxlIGNsb3NlZA0KPiArICAvLw0KPiArICBTdGF0dXMg PSBnQlMtPkFsbG9jYXRlUGFnZXMgKA0KPiArICAgICAgICAgICAgICAgICAgQWxsb2NhdGVBbnlQ YWdlcywNCj4gKyAgICAgICAgICAgICAgICAgIEVmaUFDUElSZWNsYWltTWVtb3J5LA0KPiArICAg ICAgICAgICAgICAgICAgMSwNCj4gKyAgICAgICAgICAgICAgICAgICZtUnVudGltZVNjcmlwdFRh YmxlQmFzZQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUihTdGF0 dXMpKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTIDsNCj4gKyAgfQ0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIFNhdmUgcnVudGltZSBzY3JpcHQgdGFibGUgYmFzZSBpbnRvIGds b2JhbCBBQ1BJIHZhcmlhYmxlDQo+ICsgIC8vDQo+ICsgIFZhckF0dHJpYiA9IEVGSV9WQVJJQUJM RV9CT09UU0VSVklDRV9BQ0NFU1MgfA0KPiBFRklfVkFSSUFCTEVfUlVOVElNRV9BQ0NFU1MNCj4g KyAgICAgICAgICAgICAgfCBFRklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFOw0KPiArICBWYXJTaXpl ICAgPSBzaXplb2YgKFVJTlROKTsNCj4gKyAgU3RhdHVzID0gU3lzdGVtVGFibGUtPlJ1bnRpbWVT ZXJ2aWNlcy0+R2V0VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBBQ1BJ X0dMT0JBTF9WQVJJQUJMRSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgJmdFZmlBY3Bp VmFyaWFibGVDb21wYXRpYmxpdHlHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAm VmFyQXR0cmliLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmVmFyU2l6ZSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgICAgICAgJkFjcGlWYXJpYWJsZUJhc2UNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9FUlJPUihTdGF0dXMpKSB7DQo+ICsgICAg cmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsgIEFjcGlWYXJpYWJsZUJhc2UtPlJ1bnRp bWVTY3JpcHRUYWJsZUJhc2UgPSBtUnVudGltZVNjcmlwdFRhYmxlQmFzZTsNCj4gKw0KPiArICBy ZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1NhdmVSdW50 aW1lU2NyaXB0VGFibGUgKA0KPiArICBWT0lEDQo+ICsgICkNCj4gK3sNCj4gKyAgU01NX1BDSV9J T19BRERSRVNTICAgIFBjaUFkZHJlc3M7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICBEYXRh MzI7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICBEYXRhMTY7DQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgICBEYXRhODsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgIE1hc2s7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICBJbmRleDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg IE9mZnNldDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgIFJlZ1RhYmxlW10gPSB7DQo+ICsN Cj4gKwkgIC8vDQo+ICsgICAgLy9CdXMgICwgICBEZXYsICBGdW5jLCAgICBETUkNCj4gKwkgIC8v DQo+ICsgICAgICAweDAwICwgIDB4MDAsICAweDAwLA0KPiArDQo+ICsJICAvLw0KPiArICAgIC8v MDAtMUYsIDIwLTNGLCA0MC01RiwgNjAtN0YsIDgwLTlGLCBBMC1CRiwgQzAtREYsIEUwLUZGDQo+ ICsJICAvLw0KPiArICAgICAgMHgwMCAsICAweDA4LCAgMHgwMCwgIDB4MDAsICAweDMwLCAgMHgw MCwgIDB4MDAsICAweGEwLA0KPiArDQo+ICsJICAvLw0KPiArICAgIC8vQnVzICAsICAgRGV2LCAg RnVuYywgICAgTFBDIGRldmljZQ0KPiArCSAgLy8NCj4gKyAgICAgIDB4MDAgLCAgMHgxRiwgIDB4 MDAsDQo+ICsNCj4gKwkgIC8vDQo+ICsgICAgLy8wMC0xRiwgMjAtM0YsIDQwLTVGLCA2MC03Riwg ODAtOUYsIEEwLUJGLCBDMC1ERiwgRTAtRkYNCj4gKyAgICAvLw0KPiArICAgICAgMHgwMCAsICAw eDA4LCAgMHgwMCwgIDB4MDcsICAweDAwLCAgMHgwMCwgIDB4OTAsICAweDAwLA0KPiArDQo+ICsJ ICAvLw0KPiArICAgIC8vQnVzICAsICAgRGV2LCAgRnVuYywgICAgUENJRSBkZXZpY2UNCj4gKwkg Ly8NCj4gKyAgICAgIDB4MDAgLCAgMHgxQywgIDB4MDAsDQo+ICsNCj4gKwkgIC8vDQo+ICsgICAg Ly8wMC0xRiwgMjAtM0YsIDQwLTVGLCA2MC03RiwgODAtOUYsIEEwLUJGLCBDMC1ERiwgRTAtRkYN Cj4gKyAgICAvLw0KPiArICAgICAgMHhDMCAsICAweDgzLCAgMHgzMCwgIDB4MDAsICAweDAwLCAg MHgwMCwgIDB4MDAsICAweDAwLA0KPiArDQo+ICsJICAvLw0KPiArICAgIC8vQnVzICAsICAgRGV2 LCAgRnVuYywgICAgUENJRSBkZXZpY2UNCj4gKyAgICAvLw0KPiArCSAgMHgwMCAsICAweDFDLCAg MHgwMCwNCj4gKw0KPiArCSAgLy8NCj4gKyAgICAvLzAwLTFGLCAyMC0zRiwgNDAtNUYsIDYwLTdG LCA4MC05RiwgQTAtQkYsIEMwLURGLCBFMC1GRg0KPiArICAgIC8vDQo+ICsgICAgICAweDAzICwg IDB4MDAsICAweDAwLCAgMHgwMCwgIDB4MDAsICAweDAwLCAgMHgwMCwgIDB4MDAsDQo+ICsNCj4g KwkgIC8vDQo+ICsgICAgLy9CdXMgICwgICBEZXYsICBGdW5jLCAgICBTQVRBIGRldmljZQ0KPiAr CSAgLy8NCj4gKyAgICAgIDB4MDAgLCAgMHgxMywgIDB4MDAsDQo+ICsNCj4gKwkgIC8vDQo+ICsg ICAgLy8wMC0xRiwgMjAtM0YsIDQwLTVGLCA2MC03RiwgODAtOUYsIEEwLUJGLCBDMC1ERiwgRTAt RkYNCj4gKyAgICAvLw0KPiArICAgICAgMHhmNCAsICAweGFiLCAgMHgyNywgIDB4MTAsICAweGYx LCAgMHgxZCwgIDB4MDAsICAweDQwLA0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvL0J1cyAgLCAg IERldiwgIEZ1bmMsICAgIEVIQ0kgZGV2aWNlDQo+ICsgICAgLy8NCj4gKyAgICAgMHgwMCAsICAw eDFELCAgMHgwMCwNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8wMC0xRiwgMjAtM0YsIDQwLTVG LCA2MC03RiwgODAtOUYsIEEwLUJGLCBDMC1ERiwgRTAtRkYNCj4gKyAgICAvLw0KPiArICAgICAw eDEwICwgIDB4ODgsICAweDAwLCAgMHgwMCwgIDB4MDAsICAweDAwLCAgMHgwMCwgIDB4ODAsDQo+ ICsNCj4gKyAgICAvLw0KPiArICAgIC8vQnVzICAsICAgRGV2LCAgRnVuYywgICAgU01CVVMgZGV2 aWNlDQo+ICsgICAgLy8NCj4gKyAgICAgMHgwMCAsICAweDFmLCAgMHgwMywNCj4gKw0KPiArICAg IC8vDQo+ICsgICAgLy8wMC0xRiwgMjAtM0YsIDQwLTVGLCA2MC03RiwgODAtOUYsIEEwLUJGLCBD MC1ERiwgRTAtRkYNCj4gKyAgICAvLw0KPiArICAgICAgMHgxMCAsICAweDg5LCAgMHgwMCwgIDB4 MDAsICAweDAwLCAgMHgwMCwgIDB4MDAsICAweDAwLA0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAv L0J1cyAgLCAgIERldiwgIEZ1bmMsICAgIFNNQlVTIGRldmljZQ0KPiArICAgIC8vDQo+ICsgICAg ICAweDAwICwgIDB4MWYsICAweDAzLA0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLzAwLTFGLCAy MC0zRiwgNDAtNUYsIDYwLTdGLCA4MC05RiwgQTAtQkYsIEMwLURGLCBFMC1GRg0KPiArICAgIC8v DQo+ICsgICAgICAweDAyICwgIDB4MDAsICAweDAwLCAgMHgwMCwgIDB4MDAsICAweDAwLCAgMHgw MCwgIDB4MDAsDQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vQnVzICAsICAgRGV2LCAgRnVuYywg ICAgVkdBIGJ1czENCj4gKyAgICAvLw0KPiArICAgICAgMHgwMSAsICAweDAwLCAgMHgwMCwNCj4g Kw0KPiArICAgIC8vDQo+ICsgICAgLy8wMC0xRiwgMjAtM0YsIDQwLTVGLCA2MC03RiwgODAtOUYs IEEwLUJGLCBDMC1ERiwgRTAtRkYNCj4gKyAgICAvLw0KPiArICAgICAgMHg1OCAsICAweDgxLCAg MHgxOCwgIDB4MDEsICAweGIwLCAgMHgwMCwgIDB4MDAsICAweDAwLA0KPiArDQo+ICsgICAgLy8N Cj4gKyAgICAvL0J1cyAgLCAgIERldiwgIEZ1bmMsICAgIFZHQSBidXMxDQo+ICsgICAgLy8NCj4g KyAgICAgIDB4MDEgLCAgMHgwMCwgIDB4MDAsDQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vMDAt MUYsIDIwLTNGLCA0MC01RiwgNjAtN0YsIDgwLTlGLCBBMC1CRiwgQzAtREYsIEUwLUZGDQo+ICsg ICAgLy8NCj4gKyAgICAgIDB4MDIgLCAgMHgwMCwgIDB4MDAsICAweDAwLCAgMHgwMCwgIDB4MDAs ICAweDAwLCAgMHgwMCwNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9CdXMgICwgICBEZXYsICBG dW5jLCAgICBWR0EgYnVzMSBmdW5jdGlvbiAxDQo+ICsgICAgLy8NCj4gKyAgICAgIDB4MDEgLCAg MHgwMCwgIDB4MDEsDQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vMDAtMUYsIDIwLTNGLCA0MC01 RiwgNjAtN0YsIDgwLTlGLCBBMC1CRiwgQzAtREYsIEUwLUZGDQo+ICsgICAgLy8NCj4gKyAgICAg IDB4NTEgLCAgMHg4MCwgIDB4ODAsICAweDAxLCAgMHgwMCwgIDB4MDAsICAweDAwLCAgMHgwMCwN Cj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9CdXMgICwgICBEZXYsICBGdW5jLCAgICBWR0EgYnVz MSBmdW5jdGlvbiAxDQo+ICsgICAgLy8NCj4gKyAgICAgIDB4MDEgLCAgMHgwMCwgIDB4MDEsDQo+ ICsNCj4gKyAgICAvLw0KPiArICAgIC8vMDAtMUYsIDIwLTNGLCA0MC01RiwgNjAtN0YsIDgwLTlG LCBBMC1CRiwgQzAtREYsIEUwLUZGDQo+ICsgICAgLy8NCj4gKyAgICAgIDB4MDIgLCAgMHgwMCwg IDB4MDAsICAweDAwLCAgMHgwMCwgIDB4MDAsICAweDAwLCAgMHgwMCwNCj4gKw0KPiArICAgIC8v DQo+ICsgICAgLy9CdXMgICwgICBEZXYsICBGdW5jLCAgICBJR0QgYnVzMCBmdW5jdGlvbiAwDQo+ ICsgICAgLy8NCj4gKyAgICAgIDB4MDAgLCAgMHgwMiwgIDB4MDAsDQo+ICsNCj4gKyAgICAvLw0K PiArICAgIC8vMDAtMUYsIDIwLTNGLCA0MC01RiwgNjAtN0YsIDgwLTlGLCBBMC1CRiwgQzAtREYs IEUwLUZGDQo+ICsgICAgLy8NCj4gKyAgICAgIDB4NDIgLCAgMHg4MSwgIDB4MDAsICAweDAwLCAg MHgwMCwgIDB4MDAsICAweDIwLCAgMHgwMCwNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9CdXMg ICwgICBEZXYsICBGdW5jLCAgICBVU0IgYnVzMCBmdW5jdGlvbiAwDQo+ICsgICAgLy8NCj4gKyAg ICAgIDB4MDAgLCAgMHgxNiwgIDB4MDAsDQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vMDAtMUYs IDIwLTNGLCA0MC01RiwgNjAtN0YsIDgwLTlGLCBBMC1CRiwgQzAtREYsIEUwLUZGDQo+ICsgICAg Ly8NCj4gKyAgICAgIDB4MzIgLCAgMHg4MCwgIDB4MDAsICAweDAwLCAgMHgwMCwgIDB4MDAsICAw eDAwLCAgMHgwMCwNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy9CdXMgICwgICBEZXYsICBGdW5j LCAgICBIRCBBdWRpbyBidXMwIGZ1bmN0aW9uIDANCj4gKyAgICAvLw0KPiArICAgICAgMHgwMCAs ICAweDFCLCAgMHgwMCwNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8wMC0xRiwgMjAtM0YsIDQw LTVGLCA2MC03RiwgODAtOUYsIEEwLUJGLCBDMC1ERiwgRTAtRkYNCj4gKyAgICAvLw0KPiArICAg ICAgMHgwMCAsICAweDAwLCAgMHgwMCwgIDB4MDAsICAweDAwLCAgMHgwMCwgIDB4MDIsICAweDAw LA0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLzB4RkYgaW5kaWNhdGVzIHRoZSBlbmQgb2YgdGhl IHRhYmxlDQo+ICsgICAgLy8NCj4gKyAgICAgIDB4RkYNCj4gKyB9Ow0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIFRoZXNlIHJlZ2lzdGVycyBoYXZlIHRvIHNldCBpbiBieXRlIG9yZGVyDQo+ICsgIC8v DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBFeHRSZWdbXSA9IHsgMHg5RSwgMHg5RCB9OyAg Ly8gU01SQU0gc2V0dGluZ3MNCj4gKw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2F2ZSBQ Q0ktSG9zdCBicmlkZ2Ugc2V0dGluZ3MgKDAsIDAsIDApLiAweDkwLCA5NCBhbmQgOWMgYXJlIGNo YW5nZWQgYnkNCj4gQ1NNDQo+ICsgIC8vIGFuZCB2aXRhbCB0byBTMyByZXN1bWUuIFRoYXQncyB3 aHkgd2UgcHV0IHNhdmUgY29kZSBoZXJlDQo+ICsgIC8vDQo+ICsgIFBjaUFkZHJlc3MuQnVzICAg ICAgPSAwOw0KPiArICBQY2lBZGRyZXNzLkRldmljZSAgID0gMDsNCj4gKyAgUGNpQWRkcmVzcy5G dW5jdGlvbiA9IDA7DQo+ICsgIFBjaUFkZHJlc3MuRXh0ZW5kZWRSZWdpc3RlciA9IDA7DQo+ICsN Cj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgMjsgSW5kZXgrKykgew0KPiArICAgIC8vDQo+ ICsgICAgLy8gUmVhZCBTUkFNIHNldHRpbmcgZnJvbSBQY2koMCwgMCwgMCkNCj4gKyAgICAvLw0K PiArICAgIFBjaUFkZHJlc3MuUmVnaXN0ZXIgPSBFeHRSZWdbSW5kZXhdOw0KPiArICAgIERhdGE4 ID0gTW1pb1JlYWQ4ICgNCj4gKyAgICAgICAgICAgICAgTW1QY2lBZGRyZXNzICgwLA0KPiArICAg ICAgICAgICAgICAgIFBjaUFkZHJlc3MuQnVzLA0KPiArICAgICAgICAgICAgICAgIFBjaUFkZHJl c3MuRGV2aWNlLA0KPiArICAgICAgICAgICAgICAgIFBjaUFkZHJlc3MuRnVuY3Rpb24sDQo+ICsg ICAgICAgICAgICAgICAgUGNpQWRkcmVzcy5SZWdpc3Rlcg0KPiArICAgICAgICAgICAgICApDQo+ ICsgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTYXZlIGxhdGVzdCBz ZXR0aW5ncyB0byBydW50aW1lIHNjcmlwdCB0YWJsZQ0KPiArICAgIC8vDQo+ICsgICAgUzNCb290 U2NyaXB0U2F2ZVBjaUNmZ1dyaXRlKA0KPiArICAgICAgUzNCb290U2NyaXB0V2lkdGhVaW50OCwN Cj4gKyAgICAgICooVUlOVDY0KikmUGNpQWRkcmVzcywNCj4gKyAgICAgIDEsDQo+ICsgICAgICAm RGF0YTgNCj4gKyAgICAgICk7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNh dmUgUENJLUhvc3QgYnJpZGdlIHNldHRpbmdzICgwLCAwLCAwKS4gMHg5MCwgOTQgYW5kIDljIGFy ZSBjaGFuZ2VkIGJ5DQo+IENTTQ0KPiArICAvLyBhbmQgdml0YWwgdG8gUzMgcmVzdW1lLiBUaGF0 J3Mgd2h5IHdlIHB1dCBzYXZlIGNvZGUgaGVyZQ0KPiArICAvLw0KPiArICBJbmRleCA9IDA7DQo+ ICsgIHdoaWxlIChSZWdUYWJsZVtJbmRleF0gIT0gMHhGRikgew0KPiArDQo+ICsgICAgUGNpQWRk cmVzcy5CdXMgICAgICA9IFJlZ1RhYmxlW0luZGV4KytdOw0KPiArICAgIFBjaUFkZHJlc3MuRGV2 aWNlICAgPSBSZWdUYWJsZVtJbmRleCsrXTsNCj4gKyAgICBQY2lBZGRyZXNzLkZ1bmN0aW9uID0g UmVnVGFibGVbSW5kZXgrK107DQo+ICsgICAgUGNpQWRkcmVzcy5SZWdpc3RlciA9IDA7DQo+ICsg ICAgUGNpQWRkcmVzcy5FeHRlbmRlZFJlZ2lzdGVyID0gMDsNCj4gKw0KPiArICAgIERhdGExNiA9 IE1taW9SZWFkMTYgKA0KPiArICAgICAgICAgICAgICBNbVBjaUFkZHJlc3MgKDAsDQo+ICsgICAg ICAgICAgICAgICAgUGNpQWRkcmVzcy5CdXMsDQo+ICsgICAgICAgICAgICAgICAgUGNpQWRkcmVz cy5EZXZpY2UsDQo+ICsgICAgICAgICAgICAgICAgUGNpQWRkcmVzcy5GdW5jdGlvbiwNCj4gKyAg ICAgICAgICAgICAgICBQY2lBZGRyZXNzLlJlZ2lzdGVyDQo+ICsgICAgICAgICAgICAgICkNCj4g KyAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICBpZiAoRGF0YTE2ID09IDB4RkZGRikgew0KPiAr ICAgICAgSW5kZXgrPTg7DQo+ICsgICAgICBjb250aW51ZTsNCj4gKyAgICB9DQo+ICsNCj4gKyAg ICBmb3IgKE9mZnNldCA9IDAsIE1hc2sgPSAweDAxOyBPZmZzZXQgPCAyNTY7IE9mZnNldCs9NCwg TWFzazw8PTEpIHsNCj4gKw0KPiArICAgICAgaWYgKE1hc2sgPT0gMHgwMCkgew0KPiArICAgICAg ICBNYXNrID0gMHgwMTsNCj4gKyAgICAgIH0NCj4gKw0KPiArICAgICAgaWYgKFJlZ1RhYmxlW0lu ZGV4ICsgT2Zmc2V0LzMyXSAmIE1hc2sgKSB7DQo+ICsNCj4gKyAgICAgICAgUGNpQWRkcmVzcy5S ZWdpc3RlciA9IChVSU5UOClPZmZzZXQ7DQo+ICsgICAgICAgIERhdGEzMiA9IE1taW9SZWFkMzIg KE1tUGNpQWRkcmVzcyAoMCwgUGNpQWRkcmVzcy5CdXMsDQo+IFBjaUFkZHJlc3MuRGV2aWNlLCBQ Y2lBZGRyZXNzLkZ1bmN0aW9uLCBQY2lBZGRyZXNzLlJlZ2lzdGVyKSk7DQo+ICsNCj4gKyAgICAg ICAgLy8NCj4gKyAgICAgICAgLy8gU2F2ZSBsYXRlc3Qgc2V0dGluZ3MgdG8gcnVudGltZSBzY3Jp cHQgdGFibGUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgUzNCb290U2NyaXB0U2F2ZVBjaUNm Z1dyaXRlICgNCj4gKyAgICAgICAgICBTM0Jvb3RTY3JpcHRXaWR0aFVpbnQzMiwNCj4gKyAgICAg ICAgICAqKFVJTlQ2NCopJlBjaUFkZHJlc3MsDQo+ICsgICAgICAgICAgMSwNCj4gKyAgICAgICAg ICAmRGF0YTMyDQo+ICsgICAgICAgICk7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArDQo+ICsg ICAgSW5kZXggKz0gODsNCj4gKw0KPiArICB9DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBT YXZlIEkvTyBwb3J0cyB0byBTMyBzY3JpcHQgdGFibGUNCj4gKyAgLy8NCj4gKw0KPiArICAvLw0K PiArICAvLyBTZWxmdGVzdCBLQkMNCj4gKyAgLy8NCj4gKyAgRGF0YTggPSAweEFBOw0KPiArICBT M0Jvb3RTY3JpcHRTYXZlSW9Xcml0ZSAoDQo+ICsgICAgUzNCb290U2NyaXB0V2lkdGhVaW50OCwN Cj4gKyAgICAweDY0LA0KPiArICAgIChVSU5UTikxLA0KPiArICAgICZEYXRhOA0KPiArICAgICk7 DQo+ICsNCj4gKyAgRGF0YTMyID0gSW9SZWFkMzIobUFjcGlCYXNlQWRkciArIFJfUENIX1NNSV9F Tik7DQo+ICsNCj4gKyAgUzNCb290U2NyaXB0U2F2ZUlvV3JpdGUgKA0KPiArICAgICAgUzNCb290 U2NyaXB0V2lkdGhVaW50MzIsDQo+ICsgICAgICAobUFjcGlCYXNlQWRkciArIFJfUENIX1NNSV9F TiksDQo+ICsgICAgICAxLA0KPiArICAgICAgJkRhdGEzMg0KPiArICAgICAgKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBTYXZlIEJfSUNIX1RDT19DTlRfTE9DSyBzbyBpdCB3aWxsIGJlIGRvbmUg b24gUzMgcmVzdW1lIHBhdGguDQo+ICsgIC8vDQo+ICsgIERhdGExNiA9IElvUmVhZDE2KG1BY3Bp QmFzZUFkZHIgKyBSX1BDSF9UQ09fQ05UKTsNCj4gKw0KPiArICBTM0Jvb3RTY3JpcHRTYXZlSW9X cml0ZSAoDQo+ICsgICAgICBTM0Jvb3RTY3JpcHRXaWR0aFVpbnQxNiwNCj4gKyAgICAgIG1BY3Bp QmFzZUFkZHIgKyBSX1BDSF9UQ09fQ05ULA0KPiArICAgICAgMSwNCj4gKyAgICAgICZEYXRhMTYN Cj4gKyAgICAgICk7DQo+ICsNCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNt bS9TbW1QbGF0Zm9ybS5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxh dGZvcm1TbW0vU21tUGxhdGZvcm0uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAw MDAwMDAwMDAwLi44YmYyZWJhZmMxDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TbW0vU21tUGxhdGZvcm0uaA0KPiBAQCAt MCwwICsxLDI0MCBAQA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4g DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsN Cj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgU21tUGxhdGZvcm0uaA0K PiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBIZWFkZXIgZmlsZSBmb3INCj4gKw0KPiArKysq Lw0KPiArDQo+ICsjaWZuZGVmIF9QTEFURk9STV9IDQo+ICsjZGVmaW5lIF9QTEFURk9STV9IDQo+ ICsNCj4gKyNpbmNsdWRlIDxQaVNtbS5oPg0KPiArDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgPFBy b3RvY29sL1NtbUJhc2UuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9GaXJtd2FyZVZvbHVtZS5o Pg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1NtbVBvd2VyQnV0dG9uRGlzcGF0Y2guaD4NCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9TbW1TeERpc3BhdGNoLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wv U21tU3dEaXNwYXRjaC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1NtbVN3RGlzcGF0Y2gyLmg+ DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvU21tSWNobkRpc3BhdGNoLmg+DQo+ICsjaW5jbHVkZSA8 UHJvdG9jb2wvU21tQWNjZXNzLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvU21tVmFyaWFibGUu aD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9QY2lSb290QnJpZGdlSW8uaD4NCj4gKyNpbmNsdWRl IDxQcm90b2NvbC9Mb2FkZWRJbWFnZS5oPg0KPiArI2luY2x1ZGUgIlByb3RvY29sL0dsb2JhbE52 c0FyZWEuaCINCj4gKyNpbmNsdWRlIDxHdWlkL0FjcGlWYXJpYWJsZUNvbXBhdGliaWxpdHkuaD4N Cj4gKyNpbmNsdWRlIDxHdWlkL1NldHVwVmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL0Vm aVZwZERhdGEuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1BjaUxhbkluZm8uaD4NCj4gKyNpbmNsdWRl IDxJbmR1c3RyeVN0YW5kYXJkL1BjaTIyLmg+DQo+ICsNCj4gKyNpbmNsdWRlICJQY2hBY2Nlc3Mu aCINCj4gKyNpbmNsdWRlICJQbGF0Zm9ybUJhc2VBZGRyZXNzZXMuaCINCj4gKw0KPiArI2luY2x1 ZGUgPExpYnJhcnkvVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9TM0Jvb3RTY3JpcHRMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0lvTGliLmg+DQo+ ICsjaW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvSG9i TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGli cmFyeS9CYXNlTWVtb3J5TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EZXZpY2VQYXRoTGli Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2RMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1BjaFBsYXRmb3JtTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9TdGFsbFNtbUxpYi5oPg0K PiArDQo+ICsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UOCAgICAgUmVnaXN0 ZXI7DQo+ICsgIFVJTlQ4ICAgICBGdW5jdGlvbjsNCj4gKyAgVUlOVDggICAgIERldmljZTsNCj4g KyAgVUlOVDggICAgIEJ1czsNCj4gKyAgVUlOVDMyICAgIEV4dGVuZGVkUmVnaXN0ZXI7DQo+ICt9 IFNNTV9QQ0lfSU9fQUREUkVTUzsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBDSEFS OCAgICAgQm9hcmRBYU51bWJlcls3XTsNCj4gKyAgVUlOVE4gICAgIEJvYXJkRmFiTnVtYmVyOw0K PiArfSBCT0FSRF9BQV9OVU1CRVJfREVDT0RFOw0KPiArDQo+ICsvLw0KPiArLy8gQnVnQnVnIC0t IE5lZWQgdG8gZ2V0IHRoZXNlIHR3byB2YWx1ZXMgZnJvbSBhY3BpLmgsIGJ1dCByaWdodCBub3cs IHRoZXkNCj4gYXJlDQo+ICsvLyAgICAgICAgICAgZGVjbGFyZWQgaW4gcGxhdGZvcm0tc3BlY2lm aWMgdmFyaWFudHMgb2YgdGhpcyBmaWxlLCBzbyBubyBlYXN5DQo+ICsvLyAgICAgICAgICAgd2F5 IHRvIHBpY2stdXAgdGhlIGluY2x1ZGUgZmlsZSBhbmQgd29yayBhY3Jvc3MgcGxhdGZvcm1zLg0K PiArLy8gICAgICAgICAgIE5lZWQgdGhlc2UgZGVmaW5pdGlvbnMgdG8gZ28gaW50byBhIGZpbGUg bGlrZSBjb21tb25cYWNwaS5oLg0KPiArLy8NCj4gKyNkZWZpbmUgQUNQSV9FTkFCTEUgICAgICAg ICAgICAgICAgIDB4QTANCj4gKyNkZWZpbmUgQUNQSV9ESVNBQkxFICAgICAgICAgICAgICAgIDB4 QTENCj4gKw0KPiArI2RlZmluZSBBUE1fMTJfRlVOQ1MgICAgICAgICAgICAgICAgICAweDUwDQo+ ICsjZGVmaW5lIFNNSV9TRVRfU01NVkFSSUFCTEVfUFJPVE9DT0wgIDB4NTEgIC8vIHRoaXMgaXMg dXNlZCBpbg0KPiBDcHVcUGVudGl1bVxTbW1cQmFzZVxTbW1CYXNlLmMNCj4gKw0KPiArI2RlZmlu ZSBTTUlfQ01EX0dFVF9NU0VHX1NUQVRVUyAgICAgMHg3MA0KPiArI2RlZmluZSBTTUlfQ01EX1VQ REFURV9NU0VHX1NJWkUgICAgMHg3MQ0KPiArI2RlZmluZSBTTUlfQ01EX0xPQURfU1RNICAgICAg ICAgICAgMHg3Mg0KPiArI2RlZmluZSBTTUlfQ01EX1VOTE9BRF9TVE0gICAgICAgICAgMHg3Mw0K PiArI2RlZmluZSBTTUlfQ01EX0dFVF9TTVJBTV9SQU5HRVMgICAgMHg3NA0KPiArDQo+ICsNCj4g KyNkZWZpbmUgUENBVF9SVENfQUREUkVTU19SRUdJU1RFUiAgIDB4NzQNCj4gKyNkZWZpbmUgUENB VF9SVENfREFUQV9SRUdJU1RFUiAgICAgIDB4NzUNCj4gKw0KPiArI2RlZmluZSBSVENfQUREUkVT U19TRUNPTkQgICAgICAgICAgMHgwMA0KPiArI2RlZmluZSBSVENfQUREUkVTU19TRUNPTkRfQUxB Uk0gICAgMHgwMQ0KPiArI2RlZmluZSBSVENfQUREUkVTU19NSU5VVEUgICAgICAgICAgMHgwMg0K PiArI2RlZmluZSBSVENfQUREUkVTU19NSU5VVEVfQUxBUk0gICAgMHgwMw0KPiArI2RlZmluZSBS VENfQUREUkVTU19IT1VSICAgICAgICAgICAgMHgwNA0KPiArI2RlZmluZSBSVENfQUREUkVTU19I T1VSX0FMQVJNICAgICAgMHgwNQ0KPiArDQo+ICsjZGVmaW5lIFJUQ19BRERSRVNTX1JFR0lTVEVS X0EgICAgICAweDBBDQo+ICsjZGVmaW5lIFJUQ19BRERSRVNTX1JFR0lTVEVSX0IgICAgICAweDBC DQo+ICsjZGVmaW5lIFJUQ19BRERSRVNTX1JFR0lTVEVSX0MgICAgICAweDBDDQo+ICsjZGVmaW5l IFJUQ19BRERSRVNTX1JFR0lTVEVSX0QgICAgICAweDBEDQo+ICsNCj4gKyNkZWZpbmUgQl9SVENf QUxBUk1fSU5UX0VOQUJMRSAgICAgIDB4MjANCj4gKyNkZWZpbmUgQl9SVENfQUxBUk1fSU5UX1NU QVRVUyAgICAgIDB4MjANCj4gKw0KPiArI2RlZmluZSBCX1JUQ19EQVRFX0FMQVJNX01BU0sgICAg ICAgMHgzRg0KPiArDQo+ICsjZGVmaW5lIFBDQVRfQ01PU18yX0FERFJFU1NfUkVHSVNURVIgIDB4 NzINCj4gKyNkZWZpbmUgUENBVF9DTU9TXzJfREFUQV9SRUdJU1RFUiAgICAgMHg3Mw0KPiArDQo+ ICsjZGVmaW5lIEVDX0NfUE9SVCAgICAgICAgICAgICAgICAgICAgIDB4NjYNCj4gKyNkZWZpbmUg U01DX1NNSV9ESVNBQkxFICAgICAgICAgICAgICAgMHhCQw0KPiArI2RlZmluZSBTTUNfRU5BQkxF X0FDUElfTU9ERSAgICAgICAgICAweEFBICAvLyBFbmFibGUgQUNQSSBtb2RlDQo+ICsNCj4gKyNk ZWZpbmUgSU9fTUlTQyAxNTYNCj4gKw0KPiArDQo+ICsjZGVmaW5lIE1BWElNVU1fTlVNQkVSX09G X1BTVEFURVMgICAgICAgICAgIDEyDQo+ICsjZGVmaW5lICBJQ0hfU01NX0RBVEFfUE9SVCAgICAg ICAgICAgICAgICAgIDB4QjMNCj4gKw0KPiArI2RlZmluZSBFRklfSUEzMl9QTUdfQ1NUX0NPTkZJ RyAgICAgICAgICAgICAgIDB4MDAwMDAwRTINCj4gKyNkZWZpbmUgICBCX0VGSV9DU1RfQ09OVFJP TF9MT0NLICAgICAgICAgICAgICAgIEJJVDE1DQo+ICsjZGVmaW5lICAgQl9FRklfSU9fTVdBSVRf UkVESVJFQ1RJT05fRU5BQkxFICAgICBCSVQxMA0KPiArI2RlZmluZSBFRklfSUEzMl9QTUdfSU9f Q0FQVFVSRV9BRERSICAgICAgICAgIDB4MDAwMDAwRTQNCj4gKw0KPiArZXh0ZXJuIEVGSV9QQ0lf Uk9PVF9CUklER0VfSU9fUFJPVE9DT0wgKm1QY2lSb290QnJpZGdlSW87DQo+ICsNCj4gKy8vDQo+ ICsvLyBDYWxsYmFjayBmdW5jdGlvbiBwcm90b3R5cGVzDQo+ICsvLw0KPiArVk9JRA0KPiArRUZJ QVBJDQo+ICtQb3dlckJ1dHRvbkNhbGxiYWNrICgNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRsZSwNCj4gKyAgSU4gIEVGSV9TTU1f UE9XRVJfQlVUVE9OX0RJU1BBVENIX0NPTlRFWFQgICAqRGlzcGF0Y2hDb250ZXh0DQo+ICsgICk7 DQo+ICsNCj4gK1ZPSUQNCj4gK1M1U2xlZXBXYWtlT25MYW5DYWxsQmFjayAoDQo+ICsgIElOICBF RklfSEFORExFICAgICAgICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRsZSwNCj4gKyAgSU4gIEVG SV9TTU1fU1hfRElTUEFUQ0hfQ09OVEVYVCAgICpEaXNwYXRjaENvbnRleHQNCj4gKyAgKTsNCj4g Kw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtTNVNsZWVwQWNMb3NzQ2FsbEJhY2sgKA0KPiArICBJ TiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGUsDQo+ICsgIElO ICBFRklfU01NX1NYX0RJU1BBVENIX0NPTlRFWFQgICAqRGlzcGF0Y2hDb250ZXh0DQo+ICsgICk7 DQo+ICsNCj4gKw0KPiArVk9JRA0KPiArRUZJQVBJDQo+ICtTNFM1Q2FsbEJhY2sgKA0KPiArICBJ TiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGUsDQo+ICsgIElO ICBFRklfU01NX1NYX0RJU1BBVENIX0NPTlRFWFQgICAqRGlzcGF0Y2hDb250ZXh0DQo+ICsgICk7 DQo+ICsNCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArRW5hYmxlQWNwaUNhbGxiYWNrICgNCj4gKyAg SU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0KPiArICBJ TiAgRUZJX1NNTV9TV19ESVNQQVRDSF9DT05URVhUICAgKkRpc3BhdGNoQ29udGV4dA0KPiArICAp Ow0KPiArDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0Rpc2FibGVBY3BpQ2FsbGJhY2sgKA0KPiAr ICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGUsDQo+ICsg IElOICBFRklfU01NX1NXX0RJU1BBVENIX0NPTlRFWFQgICAqRGlzcGF0Y2hDb250ZXh0DQo+ICsg ICk7DQo+ICsNCj4gK1ZPSUQNCj4gK0VGSUFQSQ0KPiArU21tUmVhZHlUb0Jvb3RDYWxsYmFjayAo DQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRsZSwN Cj4gKyAgSU4gIEVGSV9TTU1fU1dfRElTUEFUQ0hfQ09OVEVYVCAgICpEaXNwYXRjaENvbnRleHQN Cj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArRHVtbXlUY28xQ2FsbGJhY2sgKA0KPiArICBJTiAg RUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0K PiArICBJTiAgRUZJX1NNTV9JQ0hOX0RJU1BBVENIX0NPTlRFWFQgICAgICAgICAgICpEaXNwYXRj aENvbnRleHQNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICtWT0lEDQo+ICtQZXJyU2VyckNhbGxiYWNr ICgNCj4gKyAgSU4gIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEaXNw YXRjaEhhbmRsZSwNCj4gKyAgSU4gIEVGSV9TTU1fSUNITl9ESVNQQVRDSF9DT05URVhUICAgICAg ICAgICAqRGlzcGF0Y2hDb250ZXh0DQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1JpQ2FsbGJh Y2sgKA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERp c3BhdGNoSGFuZGxlLA0KPiArICBJTiAgRUZJX1NNTV9JQ0hOX0RJU1BBVENIX0NPTlRFWFQgICAg ICAgICAgICpEaXNwYXRjaENvbnRleHQNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICtWT0lEDQo+ICtT ZXRBZnRlckczT24gKA0KPiArICBCT09MRUFOIEVuYWJsZQ0KPiArICApOw0KPiArDQo+ICtWT0lE DQo+ICtUdXJuT2ZmVnJlZ1VzYiAoDQo+ICsgICk7DQo+ICsNCj4gK1ZPSUQNCj4gK1BTdGF0ZVN1 cHBvcnRDYWxsYmFjayAoDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgRGlzcGF0Y2hIYW5kbGUsDQo+ICsgIElOICBFRklfU01NX1NXX0RJU1BBVENIX0NP TlRFWFQgICAgICAgICAgICAgKkRpc3BhdGNoQ29udGV4dA0KPiArICApOw0KPiArDQo+ICtWT0lE DQo+ICtQU3RhdGVUcmFuc2l0aW9uQ2FsbGJhY2sgKA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0KPiArICBJTiAgRUZJX1NN TV9TV19ESVNQQVRDSF9DT05URVhUICAgICAgICAgICAgICpEaXNwYXRjaENvbnRleHQNCj4gKyAg KTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTeFNsZWVwRW50cnlDYWxsQmFj ayAoDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRs ZSwNCj4gKyAgSU4gIEVGSV9TTU1fU1hfRElTUEFUQ0hfQ09OVEVYVCAgICpEaXNwYXRjaENvbnRl eHQNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArU2F2ZVJ1bnRpbWVTY3JpcHRUYWJs ZSAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0KPiArDQo+ICsjZW5kaWYNCj4gKw0KPiBkaWZm IC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TbW0vU21t U2NyaXB0U2F2ZS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUGxhdGZv cm1TbW0vU21tU2NyaXB0U2F2ZS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLjI2NTk5NjIwYmENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVNtbS9TbW1TY3JpcHRTYXZlLmMNCj4gQEAg LTAsMCArMSwyNTIgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAw NCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArDQo+ICsg ICAgU21tU2NyaXB0U2F2ZS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgICAgU2NyaXB0 VGFibGVTYXZlIG1vZHVsZSBhdCBydW4gdGltZQ0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpbmNs dWRlICJTbW1TY3JpcHRTYXZlLmgiDQo+ICsNCj4gKy8vDQo+ICsvLyBpbnRlcm5hbCBmdW5jdGlv bnMNCj4gKy8vDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0Jvb3RTY3JpcHRJb1dyaXRlICAoDQo+ ICsgIElOIEVGSV9TTU1fU0NSSVBUX1RBQkxFICAgICAqU2NyaXB0VGFibGUsDQo+ICsgIElOIFZB X0xJU1QgICAgICAgICAgICAgICAgICBNYXJrZXINCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRV Uw0KPiArQm9vdFNjcmlwdFBjaUNmZ1dyaXRlICAoDQo+ICsgIElOIEVGSV9TTU1fU0NSSVBUX1RB QkxFICAgICAqU2NyaXB0VGFibGUsDQo+ICsgIElOIFZBX0xJU1QgICAgICAgICAgICAgICAgICBN YXJrZXINCj4gKyAgKTsNCj4gKw0KPiArVk9JRA0KPiArU21tQ29weU1lbSAoDQo+ICsgIElOICBV SU5UOCAgICAqRGVzdGluYXRpb24sDQo+ICsgIElOICBVSU5UOCAgICAqU291cmNlLA0KPiArICBJ TiAgVUlOVE4gICAgQnl0ZUNvdW50DQo+ICsgICk7DQo+ICsNCj4gKy8vDQo+ICsvLyBGdW5jdGlv biBpbXBsZW1lbnRhdGlvbnMNCj4gKy8vDQo+ICtFRklfU1RBVFVTDQo+ICtTbW1Cb290U2NyaXB0 V3JpdGUgKA0KPiArICBJTiBPVVQgRUZJX1NNTV9TQ1JJUFRfVEFCTEUgICAgKlNjcmlwdFRhYmxl LA0KPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgVHlwZSwNCj4gKyAgSU4gVUlO VDE2ICAgICAgICAgICAgICAgICAgICAgIE9wQ29kZSwNCj4gKyAgLi4uDQo+ICsgICkNCj4gK3sN Cj4gKyAgRUZJX1NUQVRVUyAgICBTdGF0dXM7DQo+ICsgIFZBX0xJU1QgICAgICAgTWFya2VyOw0K PiArDQo+ICsgIGlmIChTY3JpcHRUYWJsZSA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9J TlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJ1aWxkIHNj cmlwdCBhY2NvcmRpbmcgdG8gb3Bjb2RlDQo+ICsgIC8vDQo+ICsgIHN3aXRjaCAoIE9wQ29kZSAp IHsNCj4gKw0KPiArICAgIGNhc2UgRUZJX0JPT1RfU0NSSVBUX0lPX1dSSVRFX09QQ09ERToNCj4g KyAgICAgIFZBX1NUQVJUKE1hcmtlciwgT3BDb2RlKTsNCj4gKyAgICAgIFN0YXR1cyA9IEJvb3RT Y3JpcHRJb1dyaXRlIChTY3JpcHRUYWJsZSwgTWFya2VyKTsNCj4gKyAgICAgIFZBX0VORChNYXJr ZXIpOw0KPiArICAgICAgYnJlYWs7DQo+ICsNCj4gKyAgICBjYXNlIEVGSV9CT09UX1NDUklQVF9Q Q0lfQ09ORklHX1dSSVRFX09QQ09ERToNCj4gKyAgICAgIFZBX1NUQVJUKE1hcmtlciwgT3BDb2Rl KTsNCj4gKyAgICAgIFN0YXR1cyA9IEJvb3RTY3JpcHRQY2lDZmdXcml0ZShTY3JpcHRUYWJsZSwg TWFya2VyKTsNCj4gKyAgICAgIFZBX0VORChNYXJrZXIpOw0KPiArICAgICAgYnJlYWs7DQo+ICsN Cj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsgICAg ICBicmVhazsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4g Kw0KPiArRUZJX1NUQVRVUw0KPiArU21tQm9vdFNjcmlwdENyZWF0ZVRhYmxlICgNCj4gKyAgSU4g T1VUIEVGSV9TTU1fU0NSSVBUX1RBQkxFICAgICpTY3JpcHRUYWJsZSwNCj4gKyAgSU4gVUlOVE4g ICAgICAgICAgICAgICAgICAgICAgIFR5cGUNCj4gKyAgKQ0KPiArew0KPiArICBCT09UX1NDUklQ VF9QT0lOVEVSUyAgICAgICAgICBTY3JpcHQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICAgICpCdWZmZXI7DQo+ICsNCj4gKyAgaWYgKFNjcmlwdFRhYmxlID09IE5VTEwpIHsNCj4g KyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgQnVm ZmVyID0gKFVJTlQ4KikgKChVSU5UTikoKlNjcmlwdFRhYmxlKSk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gRmlsbCBUYWJsZSBIZWFkZXINCj4gKyAgLy8NCj4gKyAgU2NyaXB0LlJhdyA9IEJ1ZmZl cjsNCj4gKyAgU2NyaXB0LlRhYmxlSW5mby0+T3BDb2RlICAgICAgPSBFRklfQk9PVF9TQ1JJUFRf VEFCTEVfT1BDT0RFOw0KPiArICBTY3JpcHQuVGFibGVJbmZvLT5MZW5ndGggICAgICA9IHNpemVv ZihFRklfQk9PVF9TQ1JJUFRfVEFCTEVfSEVBREVSKTsNCj4gKyAgU2NyaXB0LlRhYmxlSW5mby0+ VGFibGVMZW5ndGggPQ0KPiBzaXplb2YoRUZJX0JPT1RfU0NSSVBUX1RBQkxFX0hFQURFUik7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIGN1cnJlbnQgdGFibGUgcG9pbnRlcg0KPiArICAv Lw0KPiArICAqU2NyaXB0VGFibGUgPSAqU2NyaXB0VGFibGUgKyBzaXplb2YoRUZJX0JPT1RfU0NS SVBUX1RBQkxFX0hFQURFUik7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0K PiArDQo+ICtFRklfU1RBVFVTDQo+ICtTbW1Cb290U2NyaXB0Q2xvc2VUYWJsZSAoDQo+ICsgIElO IEVGSV9TTU1fU0NSSVBUX1RBQkxFICAgICAgICBTY3JpcHRUYWJsZUJhc2UsDQo+ICsgIElOIEVG SV9TTU1fU0NSSVBUX1RBQkxFICAgICAgICBTY3JpcHRUYWJsZVB0ciwNCj4gKyAgSU4gVUlOVE4g ICAgICAgICAgICAgICAgICAgICAgIFR5cGUNCj4gKyAgKQ0KPiArew0KPiArICBCT09UX1NDUklQ VF9QT0lOVEVSUyAgICBTY3JpcHQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQWRkIGZpbmFsICJ0 ZXJtaW5hdGlvbiIgbm9kZSB0byBzY3JpcHQgdGFibGUNCj4gKyAgLy8NCj4gKyAgU2NyaXB0LlJh dyAgICAgICAgICAgICAgID0gKFVJTlQ4KikgKChVSU5UTilTY3JpcHRUYWJsZVB0cik7DQo+ICsg IFNjcmlwdC5UZXJtaW5hdGUtPk9wQ29kZSA9IEVGSV9CT09UX1NDUklQVF9URVJNSU5BVEVfT1BD T0RFOw0KPiArICBTY3JpcHQuVGVybWluYXRlLT5MZW5ndGggPSBzaXplb2YgKEVGSV9CT09UX1ND UklQVF9URVJNSU5BVEUpOw0KPiArICBTY3JpcHRUYWJsZVB0ciAgICAgICAgICArPSBzaXplb2Yg KEVGSV9CT09UX1NDUklQVF9URVJNSU5BVEUpOw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g VXBkYXRlIFRhYmxlIEhlYWRlcg0KPiArICAvLw0KPiArICBTY3JpcHQuUmF3ICAgICAgICAgICAg ICAgICAgICA9IChVSU5UOCopICgoVUlOVE4pU2NyaXB0VGFibGVCYXNlKTsNCj4gKyAgU2NyaXB0 LlRhYmxlSW5mby0+T3BDb2RlICAgICAgPSBFRklfQk9PVF9TQ1JJUFRfVEFCTEVfT1BDT0RFOw0K PiArICBTY3JpcHQuVGFibGVJbmZvLT5MZW5ndGggICAgICA9IHNpemVvZiAoRUZJX0JPT1RfU0NS SVBUX1RBQkxFX0hFQURFUik7DQo+ICsgIFNjcmlwdC5UYWJsZUluZm8tPlRhYmxlTGVuZ3RoID0g KFVJTlQzMikoU2NyaXB0VGFibGVQdHIgLSBTY3JpcHRUYWJsZUJhc2UpOw0KPiArDQo+ICsgIHJl dHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtCb290 U2NyaXB0SW9Xcml0ZSAgKA0KPiArICBJTiBFRklfU01NX1NDUklQVF9UQUJMRSAgICAgKlNjcmlw dFRhYmxlLA0KPiArICBJTiBWQV9MSVNUICAgICAgICAgICAgICAgICAgTWFya2VyDQo+ICsgICkN Cj4gK3sNCj4gKyAgQk9PVF9TQ1JJUFRfUE9JTlRFUlMgICAgU2NyaXB0Ow0KPiArICBFRklfQk9P VF9TQ1JJUFRfV0lEVEggICBXaWR0aDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgQWRk cmVzczsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgQ291bnQ7DQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgICAgICAgICpCdWZmZXI7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgIE5v ZGVMZW5ndGg7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgIFdpZHRoSW5CeXRlOw0KPiAr DQo+ICsgIFdpZHRoICAgICA9IFZBX0FSRyhNYXJrZXIsIEVGSV9CT09UX1NDUklQVF9XSURUSCk7 DQo+ICsgIEFkZHJlc3MgICA9IFZBX0FSRyhNYXJrZXIsIFVJTlROKTsNCj4gKyAgQ291bnQgICAg ID0gVkFfQVJHKE1hcmtlciwgVUlOVE4pOw0KPiArICBCdWZmZXIgICAgPSBWQV9BUkcoTWFya2Vy LCBVSU5UOCopOw0KPiArDQo+ICsgIFdpZHRoSW5CeXRlID0gKFVJTlQ4KSgweDAxIDw8IChXaWR0 aCAmIDB4MDMpKTsNCj4gKyAgU2NyaXB0LlJhdyAgPSAoVUlOVDgqKSAoKFVJTlROKSgqU2NyaXB0 VGFibGUpKTsNCj4gKyAgTm9kZUxlbmd0aCAgPSBzaXplb2YgKEVGSV9CT09UX1NDUklQVF9JT19X UklURSkgKyAoV2lkdGhJbkJ5dGUgKg0KPiBDb3VudCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g QnVpbGQgc2NyaXB0IGRhdGENCj4gKyAgLy8NCj4gKyAgU2NyaXB0LklvV3JpdGUtPk9wQ29kZSAg PSBFRklfQk9PVF9TQ1JJUFRfSU9fV1JJVEVfT1BDT0RFOw0KPiArICBTY3JpcHQuSW9Xcml0ZS0+ TGVuZ3RoICA9IChVSU5UOCkoTm9kZUxlbmd0aCk7DQo+ICsgIFNjcmlwdC5Jb1dyaXRlLT5XaWR0 aCAgID0gV2lkdGg7DQo+ICsgIFNjcmlwdC5Jb1dyaXRlLT5BZGRyZXNzID0gQWRkcmVzczsNCj4g KyAgU2NyaXB0LklvV3JpdGUtPkNvdW50ICAgPSAoVUlOVDMyKUNvdW50Ow0KPiArICBTbW1Db3B5 TWVtICgNCj4gKyAgICAoVUlOVDgqKShTY3JpcHQuUmF3ICsgc2l6ZW9mIChFRklfQk9PVF9TQ1JJ UFRfSU9fV1JJVEUpKSwNCj4gKyAgICBCdWZmZXIsDQo+ICsgICAgV2lkdGhJbkJ5dGUgKiBDb3Vu dA0KPiArICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVXBkYXRlIFNjcmlwdCB0YWJsZSBw b2ludGVyDQo+ICsgIC8vDQo+ICsgICpTY3JpcHRUYWJsZSA9ICpTY3JpcHRUYWJsZSArIE5vZGVM ZW5ndGg7DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArDQo+ICtFRklf U1RBVFVTDQo+ICtCb290U2NyaXB0UGNpQ2ZnV3JpdGUgICgNCj4gKyAgSU4gRUZJX1NNTV9TQ1JJ UFRfVEFCTEUgICAgICAgICpTY3JpcHRUYWJsZSwNCj4gKyAgSU4gVkFfTElTVCAgICAgICAgICAg ICAgICAgICAgIE1hcmtlcg0KPiArICApDQo+ICt7DQo+ICsgIEJPT1RfU0NSSVBUX1BPSU5URVJT ICAgIFNjcmlwdDsNCj4gKyAgRUZJX0JPT1RfU0NSSVBUX1dJRFRIICAgV2lkdGg7DQo+ICsgIFVJ TlQ2NCAgICAgICAgICAgICAgICAgIEFkZHJlc3M7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICAgIENvdW50Ow0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAqQnVmZmVyOw0KPiArICBV SU5UTiAgICAgICAgICAgICAgICAgICBOb2RlTGVuZ3RoOw0KPiArICBVSU5UOCAgICAgICAgICAg ICAgICAgICBXaWR0aEluQnl0ZTsNCj4gKw0KPiArICBXaWR0aCAgICAgPSBWQV9BUkcoTWFya2Vy LCBFRklfQk9PVF9TQ1JJUFRfV0lEVEgpOw0KPiArICBBZGRyZXNzICAgPSBWQV9BUkcoTWFya2Vy LCBVSU5UNjQpOw0KPiArICBDb3VudCAgICAgPSBWQV9BUkcoTWFya2VyLCBVSU5UTik7DQo+ICsg IEJ1ZmZlciAgICA9IFZBX0FSRyhNYXJrZXIsIFVJTlQ4Kik7DQo+ICsNCj4gKyAgV2lkdGhJbkJ5 dGUgPSAoVUlOVDgpKDB4MDEgPDwgKFdpZHRoICYgMHgwMykpOw0KPiArICBTY3JpcHQuUmF3ICA9 IChVSU5UOCopICgoVUlOVE4pKCpTY3JpcHRUYWJsZSkpOw0KPiArICBOb2RlTGVuZ3RoICA9IHNp emVvZiAoRUZJX0JPT1RfU0NSSVBUX1BDSV9DT05GSUdfV1JJVEUpICsNCj4gKFdpZHRoSW5CeXRl ICogQ291bnQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEJ1aWxkIHNjcmlwdCBkYXRhDQo+ICsg IC8vDQo+ICsgIFNjcmlwdC5QY2lXcml0ZS0+T3BDb2RlICA9DQo+IEVGSV9CT09UX1NDUklQVF9Q Q0lfQ09ORklHX1dSSVRFX09QQ09ERTsNCj4gKyAgU2NyaXB0LlBjaVdyaXRlLT5MZW5ndGggID0g KFVJTlQ4KShOb2RlTGVuZ3RoKTsNCj4gKyAgU2NyaXB0LlBjaVdyaXRlLT5XaWR0aCAgID0gV2lk dGg7DQo+ICsgIFNjcmlwdC5QY2lXcml0ZS0+QWRkcmVzcyA9IEFkZHJlc3M7DQo+ICsgIFNjcmlw dC5QY2lXcml0ZS0+Q291bnQgICA9IChVSU5UMzIpQ291bnQ7DQo+ICsgIFNtbUNvcHlNZW0gKA0K PiArICAgIChVSU5UOCopKFNjcmlwdC5SYXcgKyBzaXplb2YgKEVGSV9CT09UX1NDUklQVF9QQ0lf Q09ORklHX1dSSVRFKSksDQo+ICsgICAgQnVmZmVyLA0KPiArICAgIFdpZHRoSW5CeXRlICogQ291 bnQNCj4gKyAgICApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFVwZGF0ZSBTY3JpcHQgdGFibGUg cG9pbnRlcg0KPiArICAvLw0KPiArICAqU2NyaXB0VGFibGUgPSAqU2NyaXB0VGFibGUgKyBOb2Rl TGVuZ3RoOw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4g K1NtbUNvcHlNZW0gKA0KPiArICBJTiAgVUlOVDggICAgKkRlc3RpbmF0aW9uLA0KPiArICBJTiAg VUlOVDggICAgKlNvdXJjZSwNCj4gKyAgSU4gIFVJTlROICAgIEJ5dGVDb3VudA0KPiArICApDQo+ ICt7DQo+ICsgIFVJTlROICAgSW5kZXg7DQo+ICsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4 IDwgQnl0ZUNvdW50OyBJbmRleCsrLCBEZXN0aW5hdGlvbisrLCBTb3VyY2UrKykgew0KPiArICAg ICpEZXN0aW5hdGlvbiA9ICpTb3VyY2U7DQo+ICsgIH0NCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBh L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21tL1NtbVNjcmlwdFNh dmUuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtU21tL1Nt bVNjcmlwdFNhdmUuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAw Li5kM2VjYThjZGMwDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUGxhdGZvcm1TbW0vU21tU2NyaXB0U2F2ZS5oDQo+IEBAIC0wLDAgKzEs NTAgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgICBTbW1TY3JpcHRTYXZlLmgN Cj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBpcyBhbiBpbXBsZW1lbnRhdGlvbiBv ZiB0aGUgQm9vdFNjcmlwdCBhdCBydW4gdGltZS4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaWZu ZGVmIF9SVU5USU1FX1NDUklQVF9TQVZFX0gNCj4gKyNkZWZpbmUgX1JVTlRJTUVfU0NSSVBUX1NB VkVfSA0KPiArDQo+ICsjaW5jbHVkZSAiRWZpLmgiDQo+ICsjaW5jbHVkZSAiRWZpQm9vdFNjcmlw dC5oIg0KPiArDQo+ICsNCj4gK3R5cGVkZWYgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgIEVGSV9T TU1fU0NSSVBUX1RBQkxFOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtTbW1Cb290U2NyaXB0Q3Jl YXRlVGFibGUgKA0KPiArICBJTiBPVVQgRUZJX1NNTV9TQ1JJUFRfVEFCTEUgICAgKlNjcmlwdFRh YmxlLA0KPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgVHlwZQ0KPiArICApOw0K PiArDQo+ICtFRklfU1RBVFVTDQo+ICtTbW1Cb290U2NyaXB0V3JpdGUgKA0KPiArICBJTiBPVVQg RUZJX1NNTV9TQ1JJUFRfVEFCTEUgICAgKlNjcmlwdFRhYmxlLA0KPiArICBJTiBVSU5UTiAgICAg ICAgICAgICAgICAgICAgICAgVHlwZSwNCj4gKyAgSU4gVUlOVDE2ICAgICAgICAgICAgICAgICAg ICAgIE9wQ29kZSwNCj4gKyAgLi4uDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1Nt bUJvb3RTY3JpcHRDbG9zZVRhYmxlICgNCj4gKyAgSU4gRUZJX1NNTV9TQ1JJUFRfVEFCTEUgICAg ICAgIFNjcmlwdFRhYmxlQmFzZSwNCj4gKyAgSU4gRUZJX1NNTV9TQ1JJUFRfVEFCTEUgICAgICAg IFNjcmlwdFRhYmxlUHRyLA0KPiArICBJTiBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgVHlw ZQ0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Qb2xpY3kuYw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Qb2xpY3kuYw0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zNTgzZTMyNGU2DQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUHBtUG9saWN5L1Bw bVBvbGljeS5jDQo+IEBAIC0wLDAgKzEsMTQ4IEBADQo+ICsvKioNCj4gKyAgQ29weXJpZ2h0IChj KSAyMDA5IC0gMjAxOSwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJS Pg0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr DQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsNCj4gKyAgUHBtUG9saWN5LmMNCj4gKw0K PiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBmaWxlIGlzIGEgd3JhcHBlciBmb3IgSW50ZWwg UFBNIFBsYXRmb3JtIFBvbGljeSBkcml2ZXIuDQo+ICsgIEdldCBTZXR1cCBWYWx1ZSB0byBpbml0 aWxpemUgSW50ZWwgUFBNIERYRSBQbGF0Zm9ybSBQb2xpY3kuDQo+ICsNCj4gKy0tKi8NCj4gKyNp bmNsdWRlICJQcG1Qb2xpY3kuaCINCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9NcFNlcnZpY2UuaD4N Cj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Rl YnVnTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9DcHVJQTMyLmg+DQo+ICsNCj4gKyNpbmNs dWRlIDxQY2hSZWdzLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9QY2hQbGF0Zm9ybUxpYi5oPg0K PiArDQo+ICsjZGVmaW5lIEVGSV9DUFVJRF9GQU1JTFkgICAgICAgICAgICAgICAgICAgICAgMHgw RjAwDQo+ICsjZGVmaW5lIEVGSV9DUFVJRF9NT0RFTCAgICAgICAgICAgICAgICAgICAgICAgMHgw MEYwDQo+ICsjZGVmaW5lIEVGSV9DUFVJRF9TVEVQUElORyAgICAgICAgICAgICAgICAgICAgMHgw MDBGDQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArUHBtUG9saWN5RW50cnkoDQo+ ICsgIElOIEVGSV9IQU5ETEUgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUg KlN5c3RlbVRhYmxlDQo+ICspDQo+ICt7DQo+ICsgIEVGSV9CT09UX1NFUlZJQ0VTICAgICAgICAq cEJTOw0KPiArICBFRklfTVBfU0VSVklDRVNfUFJPVE9DT0wgKk1wU2VydmljZTsNCj4gKyAgRUZJ X0NQVUlEX1JFR0lTVEVSICAgICAgICBDcHVpZDAxID0geyAwLCAwLCAwLCAwfTsNCj4gKyAgRUZJ X0hBTkRMRSAgICAgICAgICAgICAgICBIYW5kbGU7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAg ICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIENwdUNvdW50Ow0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgIENwdUVuYWJsZWRDb3VudDsNCj4gKyAgVUlO VDggICAgICAgICAgICAgICAgICAgICBDUFVNb2JpbGVGZWF0dXJlOw0KPiArDQo+ICsgIFBDSF9T VEVQUElORyAgICAgICAgICAgICAgU3RlcHBpbmc7DQo+ICsNCj4gKyAgcEJTID0gU3lzdGVtVGFi bGUtPkJvb3RTZXJ2aWNlczsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgUFBNIHBvbGljeSBz dHJ1Y3R1cmUgdG8ga25vd24gdmFsdWUNCj4gKyAgLy8NCj4gKyAgcEJTLT5TZXRNZW0gKCZtRHhl UGxhdGZvcm1QcG1Qb2xpY3ksDQo+IHNpemVvZihQUE1fUExBVEZPUk1fUE9MSUNZX1BST1RPQ09M KSwgMCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmluZCB0aGUgTXBTZXJ2aWNlIFByb3RvY29s DQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IHBCUy0+TG9jYXRlUHJvdG9jb2wgKCZnRWZpTXBTZXJ2 aWNlUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxM LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAodm9pZCAqKikmTXBTZXJ2aWNl DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9F UlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgcHJvY2Vzc29yIGNvdW50 IGZyb20gTVAgc2VydmljZS4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gTXBTZXJ2aWNlLT5HZXRO dW1iZXJPZlByb2Nlc3NvcnMgKE1wU2VydmljZSwgJkNwdUNvdW50LA0KPiAmQ3B1RW5hYmxlZENv dW50KTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBTdG9yZSB0aGUgQ1BVSUQgZm9yIHVzZSBieSBTRVRVUCBpdGVtcy4NCj4gKyAgLy8NCj4g KyAgQXNtQ3B1aWQgKEVGSV9DUFVJRF9WRVJTSU9OX0lORk8sICZDcHVpZDAxLlJlZ0VheCwNCj4g JkNwdWlkMDEuUmVnRWJ4LCAmQ3B1aWQwMS5SZWdFY3gsICZDcHVpZDAxLlJlZ0VkeCk7DQo+ICsN Cj4gKyAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5LlJldmlzaW9uICAgICAgICAgICAgICAgICAgICAg ICA9DQo+IFBQTV9QTEFURk9STV9QT0xJQ1lfUFJPVE9DT0xfUkVWSVNJT05fNDsNCj4gKw0KPiAr ICAvL1JlYWQgQ1BVIE1vYmlsZSBmZWF0dXJlIGZyb20gUExBVEZPUk1fSURfTVNSIE1TUigweDE3 KQ0KPiBOT1RGQl9JX0FNX05PVF9NT0JJTEVfRlVTRV9DTElBTUMwMEggQml0IDI4DQo+ICsgIC8v Qml0IERlc2NyaXB0aW9uOiB7IERpc2FibGVzIE1vYmlsZSBmZWF0dXJlcyAwID0gSSBhbSBOT1Qg YSBtb2JpbGUgcGFydCAxID0NCj4gSSBhbSBhIG1vYmlsZSBwYXJ0IChkZWZhdWx0KSJ9DQo+ICsg IENQVU1vYmlsZUZlYXR1cmUgPSAoKFJTaGlmdFU2NA0KPiAoQXNtUmVhZE1zcjY0KEVGSV9NU1Jf SUEzMl9QTEFURk9STV9JRCksIDI4KSkgJiAweDEpOw0KPiArDQo+ICsgIGlmICghRUZJX0VSUk9S KFN0YXR1cykpIHsNCj4gKyAgICBpZiAoQ1BVTW9iaWxlRmVhdHVyZSA9PSAxKXsvL0NQVSBtb2Jp bGUgZmVhdHVyZQ0KPiArICAgICAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxl cy5FbmFibGVHdiAgICAgICA9DQo+IElDSF9ERVZJQ0VfRU5BQkxFOw0KPiArICAgICAgbUR4ZVBs YXRmb3JtUHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVDeCAgICAgICA9DQo+IElDSF9E RVZJQ0VfRU5BQkxFOw0KPiArICAgICAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5LkZ1bmN0aW9uRW5h Ymxlcy5FbmFibGVDeGUgICAgICA9DQo+IElDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgICAgIG1E eGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuRW5hYmxlVG0gICAgICAgPQ0KPiBJ Q0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgICAgIC8vTWF4QzcNCj4gKyAgICAgIG1EeGVQbGF0Zm9y bVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuRW5hYmxlQzcgICAgICAgPQ0KPiBJQ0hfREVWSUNF X0VOQUJMRTsNCj4gKyAgICAgIG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMu RW5hYmxlQzYgICAgICAgPQ0KPiBJQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgICAgIG1EeGVQbGF0 Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuRW5hYmxlQzQgICAgICAgPQ0KPiBJQ0hfREVW SUNFX0VOQUJMRTsNCj4gKw0KPiArDQo+ICsgICAgfWVsc2V7Ly9DUFUgZGVza3RvcCBmZWF0dXJl DQo+ICsgICAgICAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVH diAgICAgICA9DQo+IElDSF9ERVZJQ0VfRElTQUJMRTsNCj4gKyAgICAgICBtRHhlUGxhdGZvcm1Q cG1Qb2xpY3kuRnVuY3Rpb25FbmFibGVzLkVuYWJsZUN4ICAgICAgID0NCj4gSUNIX0RFVklDRV9E SVNBQkxFOw0KPiArICAgICAgIG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMu RW5hYmxlQ3hlICAgICAgPQ0KPiBJQ0hfREVWSUNFX0RJU0FCTEU7DQo+ICsgICAgICAgbUR4ZVBs YXRmb3JtUHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVUbSAgICAgICA9DQo+IElDSF9E RVZJQ0VfRElTQUJMRTsNCj4gKyAgICAgICBtRHhlUGxhdGZvcm1QcG1Qb2xpY3kuRnVuY3Rpb25F bmFibGVzLkVuYWJsZUM0ICAgICAgID0NCj4gSUNIX0RFVklDRV9ESVNBQkxFOw0KPiArICAgICAg IG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuRW5hYmxlQzYgICAgICAgPQ0K PiBJQ0hfREVWSUNFX0RJU0FCTEU7DQo+ICsgICAgICAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5LkZ1 bmN0aW9uRW5hYmxlcy5FbmFibGVDNyAgICAgICA9DQo+IElDSF9ERVZJQ0VfRElTQUJMRTsNCj4g KyAgICB9DQo+ICsNCj4gKw0KPiArICAgIG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVu YWJsZXMuRW5hYmxlUHJvY0hvdCAgPQ0KPiBJQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgICBtRHhl UGxhdGZvcm1QcG1Qb2xpY3kuRnVuY3Rpb25FbmFibGVzLlRTdGF0ZXNFbmFibGUgID0NCj4gSUNI X0RFVklDRV9FTkFCTEU7DQo+ICsNCj4gKw0KPiArICAgIFN0ZXBwaW5nID0gUGNoU3RlcHBpbmco KTsNCj4gKyAgICBpZiAoU3RlcHBpbmcgPCBQY2hCMykgew0KPiArICAgICAgLy8gSWYgU29DIGlz IEIwfkIyIFN0ZXBwaW5nLCBkaXNhYmxlIHRoZSBUdXJibw0KPiArICAgICAgbUR4ZVBsYXRmb3Jt UHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVUdXJib01vZGU9DQo+IElDSF9ERVZJQ0Vf RElTQUJMRTsNCj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5 LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVUdXJib01vZGU9DQo+IElDSF9ERVZJQ0VfRU5BQkxFOw0K PiArICAgIH0NCj4gKw0KPiArICAgIG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJs ZXMuRW5hYmxlVG0gICAgICA9DQo+IElDSF9ERVZJQ0VfRU5BQkxFOw0KPiArDQo+ICsgICAgbUR4 ZVBsYXRmb3JtUHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVDTVAgICAgICA9DQo+IElD SF9ERVZJQ0VfRU5BQkxFOw0KPiArDQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgbUR4ZVBsYXRmb3Jt UHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVHdiAgICAgICA9DQo+IElDSF9ERVZJQ0Vf RU5BQkxFOw0KPiArICAgIG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuRW5h YmxlQ3ggICAgICAgPQ0KPiBJQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgICBtRHhlUGxhdGZvcm1Q cG1Qb2xpY3kuRnVuY3Rpb25FbmFibGVzLkVuYWJsZUN4ZSAgICAgID0NCj4gSUNIX0RFVklDRV9F TkFCTEU7DQo+ICsgICAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFi bGVUbSAgICAgID0NCj4gSUNIX0RFVklDRV9FTkFCTEU7DQo+ICsgICAgbUR4ZVBsYXRmb3JtUHBt UG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVQcm9jSG90ICA9DQo+IElDSF9ERVZJQ0VfRU5B QkxFOw0KPiArICAgIG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuRW5hYmxl Q01QICAgICAgID0NCj4gSUNIX0RFVklDRV9ESVNBQkxFOw0KPiArICAgIG1EeGVQbGF0Zm9ybVBw bVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuVFN0YXRlc0VuYWJsZSAgPQ0KPiBJQ0hfREVWSUNFX0VO QUJMRTsNCj4gKyAgICBtRHhlUGxhdGZvcm1QcG1Qb2xpY3kuRnVuY3Rpb25FbmFibGVzLkVuYWJs ZVR1cmJvTW9kZT0NCj4gSUNIX0RFVklDRV9FTkFCTEU7DQo+ICsgICAgbUR4ZVBsYXRmb3JtUHBt UG9saWN5LkZ1bmN0aW9uRW5hYmxlcy5FbmFibGVDNCAgICAgICA9DQo+IElDSF9ERVZJQ0VfRU5B QkxFOw0KPiArICAgIG1EeGVQbGF0Zm9ybVBwbVBvbGljeS5GdW5jdGlvbkVuYWJsZXMuRW5hYmxl QzYgICAgICAgPQ0KPiBJQ0hfREVWSUNFX0VOQUJMRTsNCj4gKyAgfQ0KPiArDQo+ICsNCj4gKw0K PiArICBtRHhlUGxhdGZvcm1QcG1Qb2xpY3kuUzNSZXN0b3JlTXNyU3dTbWlOdW1iZXIgICAgICAg ICAgICAgICAgICAgICAgID0NCj4gUzNfUkVTVE9SRV9NU1JfU1dfU01JOw0KPiArDQo+ICsgIEhh bmRsZSA9IE5VTEw7DQo+ICsgIFN0YXR1cyA9IHBCUy0+SW5zdGFsbE11bHRpcGxlUHJvdG9jb2xJ bnRlcmZhY2VzICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgJkhhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgJmdQcG1QbGF0Zm9ybVBvbGljeVByb3RvY29sR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJm1EeGVQbGF0Zm9y bVBwbVBvbGljeSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTlVMTA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApOw0KPiArDQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsN Cj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUHBtUG9saWN5L1BwbVBvbGljeS5oDQo+IGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvUHBtUG9saWN5L1BwbVBvbGljeS5oDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjM0NmJiMTg3MjQNCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9QcG1Qb2xp Y3kvUHBtUG9saWN5LmgNCj4gQEAgLTAsMCArMSwzNiBAQA0KPiArLyoqDQo+ICsgIENvcHlyaWdo dCAoYykgMjAwOSAtIDIwMTMsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIFBwbVBvbGljeS5oDQo+ ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEhlYWRlciBmaWxlIGZvciB0aGUgUHBtUG9saWN5 SW5pdER4ZSBEcml2ZXIuDQo+ICsNCj4gKy0tKi8NCj4gKyNpbmNsdWRlIDxQaUR4ZS5oPg0KPiAr Ly8NCj4gKy8vIERyaXZlciBQcm9kdWNlZCBQcm90b2NvbCBQcm90b3R5cGVzDQo+ICsvLw0KPiAr I2luY2x1ZGUgPFByb3RvY29sL1BwbVBsYXRmb3JtUG9saWN5Lmg+DQo+ICsNCj4gK1BQTV9QTEFU Rk9STV9QT0xJQ1lfUFJPVE9DT0wgICAgbUR4ZVBsYXRmb3JtUHBtUG9saWN5Ow0KPiArDQo+ICsv LyBGdW5jdGlvbiBEZWZpbml0aW9uDQo+ICsjZGVmaW5lICBJQ0hfREVWSUNFX0VOQUJMRSAgICAg ICAxDQo+ICsjZGVmaW5lICBJQ0hfREVWSUNFX0RJU0FCTEUgICAgICAwDQo+ICsNCj4gKyNkZWZp bmUgUE9XRVJfU1RBVEVfU1dJVENIX1NNSSAgICAgICAgICAgICAgICAgICAgICAgNDMNCj4gKyNk ZWZpbmUgRU5BQkxFX0NfU1RBVEVfSU9fUkVESVJFQ1RJT05fU01JICAgICAgICAgICAgNzANCj4g KyNkZWZpbmUgRElTQUJMRV9DX1NUQVRFX0lPX1JFRElSRUNUSU9OX1NNSSAgICAgICAgICAgNzEN Cj4gKyNkZWZpbmUgRU5BQkxFX1NNSV9DX1NUQVRFX0NPT1JESU5BVElPTl9TTUkgICAgICAgICAg NzINCj4gKyNkZWZpbmUgRElTQUJMRV9TTUlfQ19TVEFURV9DT09SRElOQVRJT05fU01JICAgICAg ICAgNzMNCj4gKyNkZWZpbmUgRU5BQkxFX1BfU1RBVEVfSEFSRFdBUkVfQ09PUkRJTkFUSU9OX1NN SSAgICAgNzQNCj4gKyNkZWZpbmUgRElTQUJMRV9QX1NUQVRFX0hBUkRXQVJFX0NPT1JESU5BVElP Tl9TTUkgICAgNzUNCj4gKyNkZWZpbmUgUzNfUkVTVE9SRV9NU1JfU1dfU01JICAgICAgICAgICAg ICAgICAgICAgICAgNDgNCj4gKyNkZWZpbmUgRU5BQkxFX0M2X1JFU0lERU5DWV9TTUkgICAgICAg ICAgICAgICAgICAgICAgNzYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Qb2xpY3kuaW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvUHBtUG9saWN5L1BwbVBvbGljeS5pbmYNCj4gbmV3IGZpbGUgbW9kZSAx MDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMzMxMDc2YTJkNA0KPiAtLS0gL2Rldi9udWxsDQo+ ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1BwbVBvbGljeS9QcG1Qb2xp Y3kuaW5mDQo+IEBAIC0wLDAgKzEsNDkgQEANCj4gKyMvKisrDQo+ICsjDQo+ICsjICBDb3B5cmln aHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkDQo+ICsjDQo+ICsjIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsjDQo+ICsjDQo+ICsjICBNb2R1bGUgTmFtZToNCj4gKyMNCj4gKyMgICBQcG1Qb2xp Y3kuaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4gKyMNCj4gKyMgICAgSW1wbGVtZW50IHBs YXRmb3JtIHBvd2VyIG1hbmFnZW1lbnQgcG9saWN5DQo+ICsjDQo+ICsjLS0qLw0KPiArDQo+ICtb ZGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAgICAgID0gMHgwMDAxMDAw NQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAgICAgICAgPSBQcG1Qb2xpY3kNCj4gKyAg RklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gMkVFNzJFN0MtRkI5RS00MzE4LUI4ODgt MzNBMzE1QzdBOTFEDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9E UklWRVINCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIEVO VFJZX1BPSU5UICAgICAgICAgICAgICAgICAgICA9IFBwbVBvbGljeUVudHJ5DQo+ICsNCj4gK1tT b3VyY2VzXQ0KPiArICBQcG1Qb2xpY3kuYw0KPiArDQo+ICtbUGFja2FnZXNdDQo+ICsgIE1kZVBr Zy9NZGVQa2cuZGVjDQo+ICsgIFZsdjJUYmx0RGV2aWNlUGtnL1BsYXRmb3JtUGtnLmRlYw0KPiAr ICBWbHYyU29jQmluUGtnL1ZsdjJTb2NCaW5Qa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2Rl UGtnL1ZsdjJEZXZpY2VSZWZDb2RlUGtnLmRlYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ ICsgIERlYnVnTGliDQo+ICsgIEJhc2VMaWINCj4gKyAgUGNoUGxhdGZvcm1MaWINCj4gKyAgVWVm aURyaXZlckVudHJ5UG9pbnQNCj4gKw0KPiArW1Byb3RvY29sc10NCj4gKyAgZ0VmaU1wU2Vydmlj ZVByb3RvY29sR3VpZA0KPiArICBnUHBtUGxhdGZvcm1Qb2xpY3lQcm90b2NvbEd1aWQNCj4gKw0K PiArW0d1aWRzXQ0KPiArICBnRWZpU2V0dXBWYXJpYWJsZUd1aWQNCj4gKw0KPiArW0RlcGV4XQ0K PiArICBnRWZpTXBTZXJ2aWNlUHJvdG9jb2xHdWlkDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9SZWFkbWUubWQNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9SZWFkbWUubWQNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uY2JiYjQ2NWI2OQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1JlYWRtZS5tZA0KPiBAQCAtMCwwICsxLDIzMyBAQA0K PiArIyAqKkVESyBJSSBmaXJtd2FyZSBmb3IgTWlubm93Ym9hcmQgTWF4L1R1cmJvdCB3aGljaCBp cyBiYXNlZCBvbiBJbnRlbA0KPiBWYWxsZXl2aWV3MiBTb0MgKEJ5YXRyYWlsIHBsYXRmb3JtKSoq DQo+ICsNCj4gKy0tLS0tLS0tLS0NCj4gKyMgV2luZG93cyBQcmUtcmVxdWlzaXRlcw0KPiArDQo+ ICsqIEdJVCBjbGllbnQ6IEF2YWlsYWJsZSBmcm9tIGh0dHBzOi8vZ2l0LXNjbS5jb20vZG93bmxv YWRzDQo+ICsNCj4gKyogTWljcm9zb2Z0IFZpc3VhbCBTdHVkaW8uDQo+ICsgIC0gVmlzdWFsIFN0 dWRpbyAyMDE1IHJlY29tbWVuZGVkIGFuZCBpcyB1c2VkIGluIHRoZSBleGFtcGxlcyBiZWxvdy4N Cj4gVmlzdWFsIFN0dWRpbyAyMDEzIGlzIGFsc28gc3VwcG9ydGVkLg0KPiArDQo+ICsqIFdJTkRE Sw0KPiArICAtIERvd25sb2FkIE1pY3Jvc29mdCBXaW5kb3dzIERyaXZlciBEZXZlbG9wbWVudCBL aXQgMzc5MC4xODMwIGFuZA0KPiBpbnN0YWxsIGl0IHRvIEM6XFdJTkRES1wzNzkwLjE4MzAuDQo+ ICsNCj4gKyogUHl0aG9uIDMNCj4gKyAgLSBodHRwczovL3d3dy5weXRob24ub3JnL2Rvd25sb2Fk cy8NCj4gKw0KPiArKiBJbnN0YWxsIGlBU0wNCj4gKyAgIC0gSW5zdGFsbCB0aGUgaWFzbCBjb21w aWxlciBieSBkb3dubG9hZGluZyBpYXNsLXdpbi0yMDE2MDUyNy56aXAgZnJvbSB0aGUNCj4gZm9s bG93aW5nDQo+ICsgICBsb2NhdGlvbjogImh0dHBzOi8vYWNwaWNhLm9yZy9kb3dubG9hZHMvIiBh bmQgcGxhY2UgdGhlIHVuemlwcGVkDQo+ICsgICBjb250ZW50ICgiaWFzbC5leGUiKSBpbnRvIHRo ZSBkaXJlY3RvcnkgIkM6XEFTTCIgb24geW91ciBsb2NhbCBoYXJkIGRyaXZlDQo+ICsgICAoY3Jl YXRlIHRoZSBmb2xkZXIgIkM6XEFTTCIgaWYgaXQgZG9lcyBub3QgZXhpc3QpLg0KPiArDQo+ICsq IEluc3RhbGwgdGhlIE5BU00qIGFzc2VtYmx5IGxhbmd1YWdlIGNvbXBpbGVyDQo+ICsgICAtIERv d25sb2FkIE5BU00qIDIuMTIuMDIgYmluYXJpZXMgZnJvbQ0KPiArICAgaHR0cDovL3d3dy5uYXNt LnVzL3B1Yi9uYXNtL3JlbGVhc2VidWlsZHMvMi4xMi4wMi93aW42NC9uYXNtLQ0KPiAyLjEyLjAy LXdpbjY0LnppcCBhbmQgcGxhY2UgdGhlDQo+ICsgICB1bnppcHBlZCBjb250ZW50ICgibmFzbS5l eGUiKSBpbnRvIHRoZSBkaXJlY3RvcnkgIkM6XE5BU00iIG9uIHlvdXINCj4gbG9jYWwgaGFyZCBk cml2ZQ0KPiArICAgKGNyZWF0ZSB0aGUgZm9sZGVyICJDOlxOQVNNIiBpZiBpdCBkb2VzIG5vdCBl eGlzdCkuIEFkZCB0aGUgcGF0aA0KPiAiQzpcTkFTTVwiIHRvIHN5c3RlbSBlbnZpcm9ubWVudCB2 YXJpYWJsZSAqKk5BU01fUFJFRklYKiouDQo+ICsNCj4gKyogSW5zdGFsbCBPcGVuc3NsDQo+ICsg ICAtIERvd25sb2FkIGEgcHJlLWNvbXBpbGVkIE9wZW5zc2wgV2luZG93cyBiaW5hcnkgZnJvbQ0K PiArICAgaHR0cHM6Ly93aWtpLm9wZW5zc2wub3JnL2luZGV4LnBocC9CaW5hcmllcy4gU2VhcmNo IGZvciBhIFdpbmRvd3MgYmluYXJ5DQo+IGluIHRoZSBsaXN0DQo+ICsgICBvZiAiVGhpcmQgUGFy dHkgT3BlblNTTCBSZWxhdGVkIEJpbmFyeSBEaXN0cmlidXRpb25zIi4gR28gdG8gdGhlIHRoaXJk DQo+IHBhcnR5IHNpdGUgdG8NCj4gKyAgIGRvd25sb2FkIHRoZSBsYXRlc3QgdmVyc2lvbi4gRG93 bmxvYWQgYW5kIGV4dHJhY3QgdG8gQzpcT3BlbnNzbCwgYWRkIHRoZQ0KPiBwYXRoIG9mIG9wZW5z c2wuZXhlDQo+ICsgICAoIkM6XG9wZW5zc2wiKSB0byBzeXN0ZW0gZW52aXJvbm1lbnQgdmFyaWFi bGUgKipPUEVOU1NMX1BBVEgqKi4NCj4gKw0KPiArIyBEb3dubG9hZCBhbmQgQnVpbGQgTWlubm93 TWF4IHVzaW5nIFdpbmRvd3MvVmlzdWFsIFN0dWRpbw0KPiArDQo+ICtSdW4gdGhlIHNjcmlwdCBi ZWxvdyBmcm9tIGFuIGVtcHR5IGRpcmVjdG9yeS4gIFRoZSBzY3JpcHQgY2xvbmVzIHRoZSBFREsg SUkNCj4gK3JlcG9zaXRvcnkgZnJvbSBHaXRIdWIgYW5kIGRvd25sb2FkcyBhbmQgdW56aXBzIHRo ZSBiaW5hcnkgc3VwcG9ydCBmaWxlcw0KPiBmb3IgdGhlDQo+ICtNaW5ub3dCb2FyZCBNQVguICBJ dCB0aGVuIHNldHMgdXAgdGhlIGVudmlyb25tZW50IGZvciBFREsgSUkgYnVpbGRzIGFuZA0KPiBi dWlsZHMNCj4gK3RoZSBNaW5ub3dCb2FyZCBNQVggZmlybXdhcmUgYW5kIGdlbmVyYXRlcyBVRUZJ IENhcHN1bGVzIHRoYXQgY2FuIGJlDQo+IHVzZWQgdG8NCj4gK3VwZGF0ZSB0aGUgTWlubm93Qm9h cmQgTUFYIGZpcm13YXJlIGFuZCB0aHJlZSBzYW1wbGUgZGV2aWNlcy4NCj4gKw0KPiArYGBgDQo+ ICtnaXQgY2xvbmUgLS1yZWN1cnNlLXN1Ym1vZHVsZXMgaHR0cHM6Ly9naXRodWIuY29tL3RpYW5v Y29yZS9lZGsyLmdpdA0KPiArDQo+ICtwb3dlcnNoZWxsICImIHtbTmV0LlNlcnZpY2VQb2ludE1h bmFnZXJdOjpTZWN1cml0eVByb3RvY29sID0NCj4gW05ldC5TZWN1cml0eVByb3RvY29sVHlwZV06 OlRsczEyOyBJbnZva2UtV2ViUmVxdWVzdCAtVXJpDQo+ICJodHRwczovL2luZHkuZnVsZ2FuLmNv bS9TU0wvb3BlbnNzbC0xLjAuMnIteDY0Xzg2LXdpbjY0LnppcCAtT3V0RmlsZQ0KPiBvcGVuc3Ns LTEuMC4yci14NjRfODYtd2luNjQuemlwIn0iDQo+ICtwb3dlcnNoZWxsIEV4cGFuZC1BcmNoaXZl IG9wZW5zc2wtMS4wLjJyLXg2NF84Ni13aW42NC56aXANCj4gKw0KPiArcG93ZXJzaGVsbCAiJiB7 W05ldC5TZXJ2aWNlUG9pbnRNYW5hZ2VyXTo6U2VjdXJpdHlQcm90b2NvbCA9DQo+IFtOZXQuU2Vj dXJpdHlQcm90b2NvbFR5cGVdOjpUbHMxMjsgSW52b2tlLVdlYlJlcXVlc3QgLVVyaQ0KPiAiaHR0 cHM6Ly9maXJtd2FyZS5pbnRlbC5jb20vc2l0ZXMvZGVmYXVsdC9maWxlcy9NaW5ub3dCb2FyZE1h eC0NCj4gRGV2ZWxvcG1lbnQxOTAyMTYuemlwIC1PdXRGaWxlIE1pbm5vd0JvYXJkTWF4LQ0KPiBE ZXZlbG9wbWVudDE5MDIxNi56aXAifSINCj4gK3Bvd2Vyc2hlbGwgRXhwYW5kLUFyY2hpdmUgTWlu bm93Qm9hcmRNYXgtRGV2ZWxvcG1lbnQxOTAyMTYuemlwDQo+ICtzbGVlcCAxDQo+ICtyZW5hbWUg TWlubm93Qm9hcmRNYXgtRGV2ZWxvcG1lbnQxOTAyMTYgVmx2MkJpbmFyaWVzDQo+ICtjZCBWbHYy QmluYXJpZXMNCj4gK3Bvd2Vyc2hlbGwgRXhwYW5kLUFyY2hpdmUgVmx2MlNvY0JpblBrZy56aXAg Lg0KPiArc2xlZXAgMQ0KPiArY2QgLi4NCj4gKw0KPiArcG93ZXJzaGVsbCAiJiB7W05ldC5TZXJ2 aWNlUG9pbnRNYW5hZ2VyXTo6U2VjdXJpdHlQcm90b2NvbCA9DQo+IFtOZXQuU2VjdXJpdHlQcm90 b2NvbFR5cGVdOjpUbHMxMjsgSW52b2tlLVdlYlJlcXVlc3QgLVVyaQ0KPiAiaHR0cHM6Ly93d3cu bmFzbS51cy9wdWIvbmFzbS9yZWxlYXNlYnVpbGRzLzIuMTMuMDMvd2luNjQvbmFzbS0NCj4gMi4x My4wMy13aW42NC56aXAgLU91dEZpbGUgbmFzbS0yLjEzLjAzLXdpbjY0LnppcCJ9Ig0KPiArcG93 ZXJzaGVsbCBFeHBhbmQtQXJjaGl2ZSBuYXNtLTIuMTMuMDMtd2luNjQuemlwIC4NCj4gKw0KPiAr bWtkaXIgQ29uZg0KPiArDQo+ICtzZXQgV09SS1NQQUNFPSVDRCUNCj4gK3NldCBFREtfVE9PTFNf UEFUSD0lV09SS1NQQUNFJVxlZGsyXEJhc2VUb29scw0KPiArc2V0IEVES19UT09MU19CSU49JUVE S19UT09MU19QQVRIJVxCaW5XcmFwcGVyc1xXaW5kb3dzTGlrZQ0KPiArc2V0IFBBQ0tBR0VTX1BB VEg9JVdPUktTUEFDRSVcZWRrMjslV09SS1NQQUNFJVxWbHYyQmluYXJpZXMNCj4gK3BhdGg9JXBh dGglOyVFREtfVE9PTFNfUEFUSCVcQmluXFdpbjMyOyVXT1JLU1BBQ0UlXG9wZW5zc2wtDQo+IDEu MC4yci14NjRfODYtd2luNjQNCj4gK3NldCBOQVNNX1BSRUZJWD0lV09SS1NQQUNFJVxuYXNtLTIu MTMuMDNcDQo+ICsNCj4gK2NkICVXT1JLU1BBQ0UlXGVkazINCj4gKw0KPiArY2FsbCBlZGtTZXR1 cC5iYXQgUmVidWlsZA0KPiArDQo+ICtjZCBWbHYyVGJsdERldmljZVBrZw0KPiArDQo+ICtCdWls ZF9JRldJLmJhdCAvbSAveSBNTlcyIERlYnVnDQo+ICtgYGANCj4gKw0KPiArT25jZSBhbGwgdGhl IGNvZGUgYW5kIHRvb2xzIGFyZSBkb3dubG9hZGVkIGFuZCBpbnN0YWxsZWQsIG9ubHkgdGhlDQo+ IGZvbGxvd2luZw0KPiArY29tbWFuZHMgYXJlIHJlcXVpcmVkIHRvIHNldHVwIHRoZSBlbnZpcm9u bWVudC4gIFJ1biB0aGVzZSBmcm9tIHRoZQ0KPiBzYW1lDQo+ICtkaXJlY3RvcnkgdXNlZCB0byBp bnN0YWxsIHRoZSBzb3VyY2UgYW5kIGJpbmFyaWVzLg0KPiArDQo+ICtgYGANCj4gK3NldCBXT1JL U1BBQ0U9JUNEJQ0KPiArc2V0IEVES19UT09MU19QQVRIPSVXT1JLU1BBQ0UlXGVkazJcQmFzZVRv b2xzDQo+ICtzZXQgRURLX1RPT0xTX0JJTj0lRURLX1RPT0xTX1BBVEglXEJpbldyYXBwZXJzXFdp bmRvd3NMaWtlDQo+ICtzZXQgUEFDS0FHRVNfUEFUSD0lV09SS1NQQUNFJVxlZGsyOyVXT1JLU1BB Q0UlXFZsdjJCaW5hcmllcw0KPiArcGF0aD0lcGF0aCU7JUVES19UT09MU19QQVRIJVxCaW5cV2lu MzI7JVdPUktTUEFDRSVcb3BlbnNzbC0NCj4gMS4wLjJyLXg2NF84Ni13aW42NA0KPiArc2V0IE5B U01fUFJFRklYPSVXT1JLU1BBQ0UlXG5hc20tMi4xMy4wM1wNCj4gKw0KPiArY2QgJVdPUktTUEFD RSVcZWRrMg0KPiArDQo+ICtjYWxsIGVka1NldHVwLmJhdCBSZWJ1aWxkDQo+ICtgYGANCj4gKw0K PiArT25jZSB0aGUgZW52aXJvbm1lbnQgaXMgc2V0dXAsIHRoZSBNaW5ub3dCb2FyZCBNQVggZmly bXdhcmUgYW5kDQo+IGNhcHN1bGVzIGNhbiBiZQ0KPiArcmVidWlsdCB1c2luZyB0aGUgZm9sbG93 aW5nIGNvbW1hbmRzLg0KPiArDQo+ICsqIEJ1aWxkIERlYnVnIEltYWdlDQo+ICsNCj4gK2BgYA0K PiArY2QgVmx2MlRibHREZXZpY2VQa2cNCj4gK0J1aWxkX0lGV0kuYmF0IC9tIC95IE1OVzIgRGVi dWcNCj4gK2BgYA0KPiArDQo+ICsqIEJ1aWxkIFJlbGVhc2UgSW1hZ2UNCj4gKw0KPiArYGBgDQo+ ICtjZCBWbHYyVGJsdERldmljZVBrZw0KPiArQnVpbGRfSUZXSS5iYXQgL20gL3kgTU5XMiBSZWxl YXNlDQo+ICtgYGANCj4gKw0KPiArVGhlIGdlbmVyYXRlZCBmaXJtd2FyZSBpbWFnZSBpcyB0aGUg bmV3ZXN0IGAuYmluYCBmaWxlIGluDQo+IGBlZGsyL1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaGAu DQo+ICtUaGUgZmlsZSBpcyBpbiB0aGUgZm9ybSBgTU5XMk1BWDEuWDY0LjAwODQuRDAxLjxEQVRF Pi5iaW5gLg0KPiArDQo+ICtUaGUgQ2Fwc3VsZUFwcCBhbmQgZ2VuZXJhdGVkIFVFRkkgQ2Fwc3Vs ZXMgYXJlIGluDQo+IGBCdWlsZC9WbHYyVGJsdERldmljZVBrZy9DYXBzdWxlc2ANCj4gKw0KPiAr IyBMaW51eCBQcmUtcmVxdWlzaXRlcw0KPiArDQo+ICsqIFRoZSB0b29sIEdlbkJpb3NJZCBoYXMg YSBkZXBlbmRlbmN5IG9uIGxpYmMuc28uNi4gIE1ha2Ugc3VyZSBpdCBpcw0KPiBpbnN0YWxsZWQu DQo+ICsgIEhlcmUgYXJlIGEgZmV3IGV4YW1wbGUgaW5zdGFsbGF0aW9uIGNvbW1hbmRzOg0KPiAr DQo+ICsgICAgc3VkbyBkbmYgaW5zdGFsbCBsaWJjLnNvLjYNCj4gKw0KPiArICAgIGFwdC1nZXQg aW5zdGFsbCBsaWJjOmkzODYNCj4gKw0KPiArIyBEb3dubG9hZCBhbmQgQnVpbGQgTWlubm93TWF4 IHVzaW5nIExpbnV4L0dDQw0KPiArDQo+ICtSdW4gdGhlIHNjcmlwdCBiZWxvdyBmcm9tIGFuIGVt cHR5IGRpcmVjdG9yeS4gIFRoZSBzY3JpcHQgY2xvbmVzIHRoZSBFREsgSUkNCj4gK3JlcG9zaXRv cnkgZnJvbSBHaXRIdWIgYW5kIGRvd25sb2FkcyBhbmQgdW56aXBzIHRoZSBiaW5hcnkgc3VwcG9y dCBmaWxlcw0KPiBmb3IgdGhlDQo+ICtNaW5ub3dCb2FyZCBNQVguICBJdCB0aGVuIHNldHMgdXAg dGhlIGVudmlyb25tZW50IGZvciBFREsgSUkgYnVpbGRzIGFuZA0KPiBidWlsZHMNCj4gK3RoZSBN aW5ub3dCb2FyZCBNQVggZmlybXdhcmUgYW5kIGdlbmVyYXRlcyBVRUZJIENhcHN1bGVzIHRoYXQg Y2FuIGJlDQo+IHVzZWQgdG8NCj4gK3VwZGF0ZSB0aGUgTWlubm93Qm9hcmQgTUFYIGZpcm13YXJl IGFuZCB0aHJlZSBzYW1wbGUgZGV2aWNlcy4NCj4gKw0KPiArYGBgDQo+ICtnaXQgY2xvbmUgLS1y ZWN1cnNlLXN1Ym1vZHVsZXMgaHR0cHM6Ly9naXRodWIuY29tL3RpYW5vY29yZS9lZGsyLmdpdA0K PiArDQo+ICtta2RpciBWbHYyQmluYXJpZXMNCj4gK2NkIFZsdjJCaW5hcmllcw0KPiArd2dldCBo dHRwczovL2Zpcm13YXJlLmludGVsLmNvbS9zaXRlcy9kZWZhdWx0L2ZpbGVzL01pbm5vd0JvYXJk TWF4LQ0KPiBEZXZlbG9wbWVudDE5MDIxNi56aXANCj4gK3VuemlwIE1pbm5vd0JvYXJkTWF4LURl dmVsb3BtZW50MTkwMjE2LnppcA0KPiArdW56aXAgVmx2MlNvY0JpblBrZy56aXANCj4gKw0KPiAr Y2QgLi4NCj4gK21rZGlyIENvbmYNCj4gKw0KPiArZXhwb3J0IFdPUktTUEFDRT0kUFdEL2VkazIN Cj4gK2V4cG9ydCBQQUNLQUdFU19QQVRIPSRQV0QvVmx2MkJpbmFyaWVzDQo+ICtleHBvcnQgRURL X1RPT0xTX1BBVEg9JFdPUktTUEFDRS9CYXNlVG9vbHMNCj4gKw0KPiArY2QgZWRrMg0KPiArY2Qg Vmx2MlRibHREZXZpY2VQa2cNCj4gKy4gQnVpbGRfSUZXSS5zaCBNTlcyIERlYnVnDQo+ICtgYGAN Cj4gKw0KPiArT25jZSBhbGwgdGhlIGNvZGUgaXMgZG93bmxvYWRlZCBhbmQgaW5zdGFsbGVkLCBv bmx5IHRoZSBmb2xsb3dpbmcNCj4gY29tbWFuZHMgYXJlDQo+ICtyZXF1aXJlZCB0byBzZXR1cCB0 aGUgZW52aXJvbm1lbnQuICBSdW4gdGhlc2UgZnJvbSB0aGUgc2FtZSBkaXJlY3RvcnkNCj4gdXNl ZCB0bw0KPiAraW5zdGFsbCB0aGUgc291cmNlIGFuZCBiaW5hcmllcy4NCj4gKw0KPiArYGBgDQo+ ICtleHBvcnQgV09SS1NQQUNFPSRQV0QvZWRrMg0KPiArZXhwb3J0IFBBQ0tBR0VTX1BBVEg9JFBX RC9WbHYyQmluYXJpZXMNCj4gK2V4cG9ydCBFREtfVE9PTFNfUEFUSD0kV09SS1NQQUNFL0Jhc2VU b29scw0KPiArDQo+ICtjZCBlZGsyDQo+ICtjZCBWbHYyVGJsdERldmljZVBrZw0KPiArYGBgDQo+ ICsNCj4gK09uY2UgdGhlIGVudmlyb25tZW50IGlzIHNldHVwLCB0aGUgTWlubm93Qm9hcmQgTUFY IGZpcm13YXJlIGFuZA0KPiBjYXBzdWxlcyBjYW4gYmUNCj4gK3JlYnVpbHQgdXNpbmcgdGhlIGZv bGxvd2luZyBjb21tYW5kcy4NCj4gKw0KPiArDQo+ICsqIEJ1aWxkIERlYnVnIEltYWdlDQo+ICsN Cj4gK2BgYA0KPiArY2QgVmx2MlRibHREZXZpY2VQa2cNCj4gKy4vQnVpbGRfSUZXSS5zaCBNTlcy IERlYnVnDQo+ICtgYGANCj4gKw0KPiArKiBCdWlsZCBSZWxlYXNlIEltYWdlDQo+ICsNCj4gK2Bg YA0KPiArY2QgVmx2MlRibHREZXZpY2VQa2cNCj4gKy4vQnVpbGRfSUZXSS5zaCBNTlcyIFJlbGVh c2UNCj4gK2BgYA0KPiArDQo+ICtUaGUgZ2VuZXJhdGVkIGZpcm13YXJlIGltYWdlIGlzIHRoZQ0K PiBgTU5XMk1BWF9YNjRfRF8wMDg0XzAxX0dDQy5iaW5gIGZpbGUgaW4NCj4gK2BlZGsyXFZsdjJU Ymx0RGV2aWNlUGtnXFN0aXRjaGANCj4gKw0KPiArVGhlIENhcHN1bGVBcHAgYW5kIGdlbmVyYXRl ZCBVRUZJIENhcHN1bGVzIGFyZSBpbg0KPiBgQnVpbGRcVmx2MlRibHREZXZpY2VQa2dcQ2Fwc3Vs ZXNgDQo+ICsNCj4gKyMgVXNlIERlZGlQcm9nIHRvIHVwZGF0ZSBGTEFTSCBpbWFnZSBvbiBhIE1p bm5vd0JvYXJkIE1BWCBUYXJnZXQNCj4gKw0KPiArIyBVcGRhdGUgTWlubm93Qm9hcmQgTUFYIEZp cm13YXJlIGZyb20gVUVGSSBDYXBzdWxlcw0KPiArDQo+ICsqIENvcHkgdGhlIGBCdWlsZC9WbHYy VGJsdERldmljZVBrZy9DYXBzdWxlc2AgZGlyZWN0b3J5IHRvIGEgVVNCIEZMQVNIDQo+IGRyaXZl DQo+ICsqIENvbm5lY3QgVVNCIEZMQVNIIERyaXZlIHRvIE1pbm5vd0JvYXJkIE1BWA0KPiArKiBC b290IE1pbm5vd0JvYXJkIE1BWCB0byB0aGUgQm9vdCBNYW5hZ2VyDQo+ICsqIEJvb3QgdGhlIGBF RkkgSW50ZXJuYWwgU2hlbGxgIGJvb3Qgb3B0aW9uDQo+ICsqIE1vdW50IHRoZSBVU0IgRkxBU0gg RHJpdmUgKHVzdWFsbHkgYEZTMWApDQo+ICsqIFVzZSBgY2RgIGNvbW1hbmQgdG8gZ28gdG8gYENh cHN1bGVzL1Rlc3RDZXJ0YCBkaXJlY3RvcnkNCj4gKyogUnVuIHRoZSBmb2xsb3dpbmcgY29tbWFu ZCB0byBhcHBseSBhbGwgZm91ciBjYXBzdWxlcw0KPiArDQo+ICtgYGANCj4gK0NhcHN1bGVBcHAu ZWZpIFJlZC5jYXAgR3JlZW4uY2FwIEJsdWUuY2FwIE1pbm5vd01heC5jYXANCj4gK2BgYA0KPiAr DQo+ICsqIFRoZSBNaW5ub3dCb2FyZCBNQVggc2hvdWxkIHJlYm9vdCBhbmQgdGhlIGZvdXIgY2Fw c3VsZXMgYXJlIGFwcGxpZWQNCj4gaW4gdGhlDQo+ICsgIG9yZGVyIGxpc3RlZC4gIFRoZSBwcm9n cmVzcyBiYXIgbWF0Y2hlcyB0aGUgY29sb3IgbmFtZSBvZiB0aGUgY2Fwc3VsZS4NCj4gKyAgTWlu bm93TWF4LmNhcCB1c2VzIHRoZSBjb2xvciBwdXJwbGUuICBPbmNlIGFsbCBjYXBzdWxlcyBhcmUg cHJvY2Vzc2VkLA0KPiB0aGUNCj4gKyAgTWlubm93Qm9hcmQgTUFYIHNob3VsZCByZWJvb3QgYWdh aW4gdXNpbmcgdGhlIG5ldyBmaXJtd2FyZSBpbWFnZXMuDQo+ICsNCj4gKyMgR2VuZXJhdGUgYW5k IFRlc3QgYSBVWCBCaXRNYXAgQ2Fwc3VsZQ0KPiArDQo+ICsqIFVzZSBiaXRtYXAgZWRpdG9yIHRv IGdlbmVyYXRlIGEgQk1QIGZpbGUuICBSZWNvbW1lbmQgcmVzb2x1dGlvbiBvZiA2MDANCj4gd2lk ZQ0KPiArICBieSAxMDAgdGVsbCBhbmQgZWl0aGVyIDI0IG9yIDMyIGJpdHMgcGVyIHBpeGVsLg0K PiArKiBTYXZlIEJNUCBmaWxlIHRvIFVTQiBGTEFTSCBkcml2ZQ0KPiArKiBVc2UgQ2Fwc3VsZUFw cC5lZmkgdG8gY29udmVydCBCTVAgZmlsZSB0byBhIFVYIENhcHN1bGUNCj4gKw0KPiArYGBgDQo+ ICtDYXBzdWxlQXBwLmVmaSAtRyBNeUltYWdlLmJtcCAtTyBNeUltYWdlLmNhcA0KPiArYGBgDQo+ ICsNCj4gKyogV2hlbiB1cGRhdGluZyBmaXJtd2FyZSB1c2luZyBjYXBzdWxlcywgYWRkIFVYIGNh cHN1bGUgdG8gdGhlIGxpc3Qgb2YNCj4gY2Fwc3VsZXMNCj4gKyAgcGFzc2VkIGludG8gQ2Fwc3Vs ZUFwcC5lZmkuDQo+ICsNCj4gK2BgYA0KPiArQ2Fwc3VsZUFwcC5lZmkgTXlJbWFnZS5jYXAgUmVk LmNhcCBHcmVlbi5jYXAgQmx1ZS5jYXAgTWlubm93TWF4LmNhcA0KPiArYGBgDQo+ICsNCj4gKyog V2hlbiB0aGUgY2Fwc3VsZXMgYXJlIHByb2Nlc3NlZCB0aGUgVVggYml0bWFwIGltYWdlIHNob3Vs ZCBiZQ0KPiBkaXNwbGF5ZWQgYXQgdGhlDQo+ICsgIGJvdHRvbSBvZiB0aGUgc2NyZWVuLg0KPiBk aWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU2F2ZU1lbW9y eUNvbmZpZy9TYXZlTWVtb3J5Q29uZmkNCj4gZy5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtb3J5Q29uZmkNCj4gZy5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjY5YzE2YzVhM2YNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T YXZlTWVtb3J5Q29uZmlnL1NhdmVNZW1vcnlDb25maQ0KPiBnLmMNCj4gQEAgLTAsMCArMSwxODEg QEANCj4gKy8qKg0KPiArICBDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDEzLCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlm aWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsN Cj4gKyAgU2F2ZU1lbW9yeUNvbmZpZy5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArICBUaGlzIGlz IHRoZSBkcml2ZXIgdGhhdCBsb2NhdGVzIHRoZSBNZW1vcnlDb25maWd1cmF0aW9uRGF0YSBIT0Is IGlmIGl0DQo+ICsgIGV4aXN0cywgYW5kIHNhdmVzIHRoZSBkYXRhIHRvIG52UkFNLg0KPiArDQo+ ICsNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiU2F2ZU1lbW9yeUNvbmZpZy5oIg0K PiArDQo+ICtDSEFSMTYgICAgRWZpTWVtb3J5Q29uZmlnVmFyaWFibGVbXSA9IEwiTWVtb3J5Q29u ZmlnIjsNCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NhdmVNZW1vcnlD b25maWdFbnRyeVBvaW50ICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgIEltYWdlSGFuZGxl LA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAgKlN5c3RlbVRhYmxlDQo+ICsgICkNCj4gKy8q KysNCj4gKw0KPiArICBSb3V0aW5lIERlc2NyaXB0aW9uOg0KPiArICAgIFRoaXMgaXMgdGhlIHN0 YW5kYXJkIEVGSSBkcml2ZXIgcG9pbnQgdGhhdCBkZXRlY3RzIHdoZXRoZXIgdGhlcmUgaXMgYQ0K PiArICAgIE1lbW9yeUNvbmZpZ3VyYXRpb25EYXRhIEhPQiBhbmQsIGlmIHNvLCBzYXZlcyBpdHMg ZGF0YSB0byBudlJBTS4NCj4gKw0KPiArICBBcmd1bWVudHM6DQo+ICsgICAgSW1hZ2VIYW5kbGUg ICAtIEhhbmRsZSBmb3IgdGhlIGltYWdlIG9mIHRoaXMgZHJpdmVyDQo+ICsgICAgU3lzdGVtVGFi bGUgICAtIFBvaW50ZXIgdG8gdGhlIEVGSSBTeXN0ZW0gVGFibGUNCj4gKw0KPiArICBSZXR1cm5z Og0KPiArICAgIEVGSV9TVUNDRVNTICAgLSBpZiB0aGUgZGF0YSBpcyBzdWNjZXNzZnVsbHkgc2F2 ZWQgb3IgdGhlcmUgd2FzIG5vIGRhdGENCj4gKyAgICBFRklfTk9UX0ZPVU5EIC0gaWYgdGhlIEhP QiBsaXN0IGNvdWxkIG5vdCBiZSBsb2NhdGVkLg0KPiArICAgIEVGSV9VTkxPQURfSU1BR0UgLSBJ dCBpcyBub3Qgc3VjY2Vzcw0KPiArDQo+ICstLSovDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAg ICAgICAgICAgICAgICAgICAgU3RhdHVzPUVGSV9TVUNDRVNTOw0KPiArICBWT0lEICAgICAgICAg ICAgICAgICAgICAgICAgICAgICpNZW1Ib2JEYXRhOw0KPiArICBWT0lEICAgICAgICAgICAgICAg ICAgICAgICAgICAgICpWYXJpYWJsZURhdGE7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAg ICAgICAgICAgQnVmZmVyU2l6ZTsNCj4gKyAgQk9PTEVBTiAgICAgICAgICAgICAgICAgICAgICAg ICBNZmdNb2RlOw0KPiArICBFRklfUExBVEZPUk1fU0VUVVBfSUQgICAgICAgICAgICpCb290TW9k ZUJ1ZmZlcjsNCj4gKyAgRUZJX1BMQVRGT1JNX0lORk9fSE9CICAgICAgICAgICAqUGxhdGZvcm1J bmZvSG9iUHRyOw0KPiArICBNRU1fSU5GT19QUk9UT0NPTCAgICAgICAgICAgICAgICpNZW1JbmZv UHJvdG9jb2w7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgSGFuZGxlOw0K PiArICBVSU5UOA0KPiBDaGFubmVsLCBTbG90Ow0KPiArICBWT0lEICAgICAgICAgICAgICAgICAg ICAgICAgICAgICpHdWlkSG9iOw0KPiArDQo+ICsgIFZhcmlhYmxlRGF0YSAgID0gTlVMTDsNCj4g KyAgTWZnTW9kZSAgICAgICAgPSBGQUxTRTsNCj4gKyAgSGFuZGxlICAgICAgICAgPSBOVUxMOw0K PiArICBCb290TW9kZUJ1ZmZlciA9IE5VTEw7DQo+ICsgIE1lbUhvYkRhdGEgICAgID0gTlVMTDsN Cj4gKyAgUGxhdGZvcm1JbmZvSG9iUHRyID0gTlVMTDsNCj4gKyAgQnVmZmVyU2l6ZSAgICAgPSAw Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEdldCBQbGF0Zm9ybSBJbmZvIEhPQg0KPiArICAvLw0K PiArICBHdWlkSG9iID0gR2V0Rmlyc3RHdWlkSG9iICgmZ0VmaVBsYXRmb3JtSW5mb0d1aWQpOw0K PiArICBpZiAoR3VpZEhvYiA9PSBOVUxMKSB7DQo+ICsgICAgU3RhdHVzID0gRUZJX05PVF9GT1VO RDsNCj4gKyAgfQ0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIFBs YXRmb3JtSW5mb0hvYlB0ciA9IEdFVF9HVUlEX0hPQl9EQVRBIChHdWlkSG9iKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBHZXQgdGhlIEJvb3RNb2RlIGd1aWQgaG9iDQo+ICsgIC8vDQo+ICsgIEd1 aWRIb2IgPSBHZXRGaXJzdEd1aWRIb2IgKCZnRWZpUGxhdGZvcm1Cb290TW9kZUd1aWQpOw0KPiAr ICBpZiAoR3VpZEhvYiA9PSBOVUxMKSB7DQo+ICsgICAgU3RhdHVzID0gRUZJX05PVF9GT1VORDsN Cj4gKyAgfQ0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIEJvb3RN b2RlQnVmZmVyID0gR0VUX0dVSURfSE9CX0RBVEEgKEd1aWRIb2IpOw0KPiArDQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gQ2hlY2sgd2hldGhlciBpbiBNYW51ZmFjdHVyaW5nIE1vZGUNCj4gKyAgLy8N Cj4gKyAgaWYgKEJvb3RNb2RlQnVmZmVyKSB7DQo+ICsgICAgaWYgKCAhQ29tcGFyZU1lbSAoICAg Ly9FZmlDb21wYXJlTWVtDQo+ICsgICAgICAgICAgICAmQm9vdE1vZGVCdWZmZXItPlNldHVwTmFt ZSwNCj4gKyAgICAgICAgICAgIE1BTlVGQUNUVVJFX1NFVFVQX05BTUUsDQo+ICsgICAgICAgICAg ICBTdHJTaXplIChNQU5VRkFDVFVSRV9TRVRVUF9OQU1FKSAgLy9FZmlTdHJTaXplDQo+ICsgICAg ICAgICAgICApICkgew0KPiArICAgICAgTWZnTW9kZSA9IFRSVUU7DQo+ICsgICAgfQ0KPiArICB9 DQo+ICsNCj4gKyAgaWYgKE1mZ01vZGUpIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIERvbid0IHNh dmUgTWVtb3J5IENvbmZpZ3VyYXRpb24gaW4gTWFudWZhY3R1cmluZyBNb2RlLiBDbGVhcg0KPiBt ZW1vcnkgY29uZmlndXJhdGlvbi4NCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdSVC0+U2V0 VmFyaWFibGUgKA0KPiArICAgICAgICAgICAgICBFZmlNZW1vcnlDb25maWdWYXJpYWJsZSwNCj4g KyAgICAgICAgICAgICAgJmdFZmlWbHYyVmFyaWFibGVHdWlkLA0KPiArICAgICAgICAgICAgICBF RklfVkFSSUFCTEVfTk9OX1ZPTEFUSUxFIHwNCj4gRUZJX1ZBUklBQkxFX0JPT1RTRVJWSUNFX0FD Q0VTUywNCj4gKyAgICAgICAgICAgICAgMCwNCj4gKyAgICAgICAgICAgICAgTlVMTA0KPiArICAg ICAgICAgICAgICApOw0KPiArICB9IGVsc2Ugew0KPiArDQo+ICsgICAgTWVtSW5mb1Byb3RvY29s ID0NCj4gKE1FTV9JTkZPX1BST1RPQ09MKilBbGxvY2F0ZVplcm9Qb29sKHNpemVvZihNRU1fSU5G T19QUk9UT0NPTCkNCj4gKTsNCj4gKyAgICBpZiAoUGxhdGZvcm1JbmZvSG9iUHRyICE9IE5VTEwp IHsNCj4gKyAgICAgIE1lbUluZm9Qcm90b2NvbC0+TWVtSW5mb0RhdGEubWVtU2l6ZSAgPSAwOw0K PiArICAgICAgZm9yIChDaGFubmVsID0gMDsgQ2hhbm5lbCA8IENIX05VTTsgQ2hhbm5lbCArKyl7 DQo+ICsgICAgICAgIGZvciAoU2xvdCA9IDA7IFNsb3QgPCBESU1NX05VTTsgU2xvdCArKyl7DQo+ ICsgICAgICAgICAgTWVtSW5mb1Byb3RvY29sLT5NZW1JbmZvRGF0YS5kaW1tU2l6ZVtTbG90ICsg KENoYW5uZWwgKg0KPiBESU1NX05VTSldID0gUGxhdGZvcm1JbmZvSG9iUHRyLT5NZW1EYXRhLkRp bW1TaXplW1Nsb3QgKyAoQ2hhbm5lbA0KPiAqIERJTU1fTlVNKV07DQo+ICsgICAgICAgIH0NCj4g KyAgICAgIH0NCj4gKyAgCSAgTWVtSW5mb1Byb3RvY29sLT5NZW1JbmZvRGF0YS5tZW1TaXplICAg ICAgID0NCj4gUGxhdGZvcm1JbmZvSG9iUHRyLT5NZW1EYXRhLk1lbVNpemU7DQo+ICsgIAkgIE1l bUluZm9Qcm90b2NvbC0+TWVtSW5mb0RhdGEuRWNjU3VwcG9ydCAgICA9DQo+IFBsYXRmb3JtSW5m b0hvYlB0ci0+TWVtRGF0YS5FY2NTdXBwb3J0Ow0KPiArICAgICAgTWVtSW5mb1Byb3RvY29sLT5N ZW1JbmZvRGF0YS5kZHJGcmVxICAgICAgID0gUGxhdGZvcm1JbmZvSG9iUHRyLQ0KPiA+TWVtRGF0 YS5EZHJGcmVxOw0KPiArICAgICAgTWVtSW5mb1Byb3RvY29sLT5NZW1JbmZvRGF0YS5kZHJUeXBl ICAgICAgID0gUGxhdGZvcm1JbmZvSG9iUHRyLQ0KPiA+TWVtRGF0YS5EZHJUeXBlOw0KPiArICAg ICAgaWYgKE1lbUluZm9Qcm90b2NvbC0+TWVtSW5mb0RhdGEubWVtU2l6ZSA9PSAwKXsNCj4gKyAg ICAgICAgLy8NCj4gKyAgICAgICAgLy8gV2UgaGFyZGNvZGUgaWYgTVJDIGRpZG4ndCBmaWxsIHRo ZXNlIGluZm8gaW4NCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgTWVtSW5mb1Byb3RvY29sLT5N ZW1JbmZvRGF0YS5tZW1TaXplICAgICA9IDB4ODAwOyAvL3BlciAxTUINCj4gKyAgICAgICAgTWVt SW5mb1Byb3RvY29sLT5NZW1JbmZvRGF0YS5kaW1tU2l6ZVswXSA9IDB4ODAwOw0KPiArICAgICAg ICBNZW1JbmZvUHJvdG9jb2wtPk1lbUluZm9EYXRhLmRpbW1TaXplWzFdID0gMDsNCj4gKyAgICAg ICAgTWVtSW5mb1Byb3RvY29sLT5NZW1JbmZvRGF0YS5FY2NTdXBwb3J0ICA9IEZBTFNFOw0KPiAr ICAgICAgICBNZW1JbmZvUHJvdG9jb2wtPk1lbUluZm9EYXRhLmRkclR5cGUgICAgID0gNTsgLy9E RFJUeXBlX0xQRERSMw0KPiArICAgICAgfQ0KPiArDQo+ICsgICAgICBTdGF0dXMgPSBnQlMtPklu c3RhbGxNdWx0aXBsZVByb3RvY29sSW50ZXJmYWNlcyAoDQo+ICsgICAgICAgICAgICAgJkhhbmRs ZSwNCj4gKyAgICAgICAgICAgICAmZ01lbUluZm9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAg ICAgTWVtSW5mb1Byb3RvY29sLA0KPiArICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAg ICApOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFN0YXR1cyA9IEVGSV9TVUNDRVNTOw0KPiArICAg IGlmIChCT09UX1dJVEhfTUlOSU1BTF9DT05GSUdVUkFUSU9OICE9IEdldEJvb3RNb2RlSG9iKCkp ew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEdldCB0aGUgTWVtb3J5IENvbmZpZyBndWlkIGhv Yg0KPiArICAgICAgLy8NCj4gKyAgICAgIEd1aWRIb2IgPSBHZXRGaXJzdEd1aWRIb2IgKCZnRWZp TWVtb3J5Q29uZmlnRGF0YUd1aWQpOw0KPiArICAgICAgaWYgKEd1aWRIb2IgPT0gTlVMTCkgew0K PiArICAgICAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KPiArICAgICAgfQ0KPiArICAgICAg QVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAgICAgTWVtSG9iRGF0YSA9IEdF VF9HVUlEX0hPQl9EQVRBIChHdWlkSG9iKTsNCj4gKyAgICAgIEJ1ZmZlclNpemUgPSBHRVRfR1VJ RF9IT0JfREFUQV9TSVpFIChHdWlkSG9iKTsNCj4gKw0KPiArICAgICAgU3RhdHVzID0gZ1JULT5H ZXRWYXJpYWJsZSAoDQo+ICsgICAgICAgICAgICAgICAgICBFZmlNZW1vcnlDb25maWdWYXJpYWJs ZSwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpVmx2MlZhcmlhYmxlR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmQnVmZmVyU2l6ZSwNCj4g KyAgICAgICAgICAgICAgICAgIFZhcmlhYmxlRGF0YQ0KPiArICAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgICAgIGlmIChFRklfRVJST1IoU3RhdHVzKSAmJiAoTWVtSG9iRGF0YSAhPSBOVUxMKSkg ew0KPiArICAgICAgICBTdGF0dXMgPSBnUlQtPlNldFZhcmlhYmxlICgNCj4gKyAgICAgICAgICAg ICAgICAgICAgICBFZmlNZW1vcnlDb25maWdWYXJpYWJsZSwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAmZ0VmaVZsdjJWYXJpYWJsZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKEVG SV9WQVJJQUJMRV9OT05fVk9MQVRJTEUgfA0KPiBFRklfVkFSSUFCTEVfQk9PVFNFUlZJQ0VfQUND RVNTKSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJTaXplLA0KPiArICAgICAgICAg ICAgICAgICAgICAgIE1lbUhvYkRhdGENCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiAr ICAgICAgfQ0KPiArICAgIH0NCj4gKw0KPiArICB9IC8vIGlmLWVsc2UgTWZnTW9kZQ0KPiArDQo+ ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NhdmVNZW1vcnlDb25maWcvU2F2ZU1lbW9yeUNvbmZp DQo+IGcuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NhdmVNZW1vcnlD b25maWcvU2F2ZU1lbW9yeUNvbmZpDQo+IGcuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi41OWFkMDk3NDdhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVt b3J5Q29uZmkNCj4gZy5oDQo+IEBAIC0wLDAgKzEsNjYgQEANCj4gKy8qKg0KPiArICBDb3B5cmln aHQgKGMpIDIwMDkgLSAyMDEzLCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgU2F2ZU1lbW9yeUNvbmZpZy5o DQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIEhlYWRlciBmaWxlIGZvciBTYXZlIFByZXZp b3VzIE1lbW9yeSBDb25maWd1cmF0aW9uIERyaXZlci4NCj4gKw0KPiArDQo+ICsNCj4gKy0tKi8N Cj4gKw0KPiArDQo+ICsjaWZuZGVmIF9TQVZFX01FTU9SWV9DT05GSUdfRFJJVkVSX0gNCj4gKyNk ZWZpbmUgX1NBVkVfTUVNT1JZX0NPTkZJR19EUklWRVJfSA0KPiArDQo+ICsjaW5jbHVkZSAiUHJv dG9jb2wvU2V0dXBNb2RlLmgiDQo+ICsjaW5jbHVkZSAiR3VpZC9QbGF0Zm9ybUluZm8uaCINCj4g KyNpbmNsdWRlICJMaWJyYXJ5L0hvYkxpYi5oIg0KPiArI2luY2x1ZGUgIkxpYnJhcnkvRGVidWdM aWIuaCINCj4gKyNpbmNsdWRlICJMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oIg0K PiArI2luY2x1ZGUgIkxpYnJhcnkvQmFzZU1lbW9yeUxpYi5oIg0KPiArI2luY2x1ZGUgIlBsYXRm b3JtQm9vdE1vZGUuaCINCj4gKyNpbmNsdWRlICJMaWJyYXJ5L0Jhc2VMaWIuaCINCj4gKyNpbmNs dWRlICJMaWJyYXJ5L1VlZmlSdW50aW1lU2VydmljZXNUYWJsZUxpYi5oIg0KPiArI2luY2x1ZGUg Ikd1aWQvR2xvYmFsVmFyaWFibGUuaCINCj4gKyNpbmNsdWRlICJMaWJyYXJ5L1VlZmlMaWIuaCIN Cj4gKyNpbmNsdWRlICJHdWlkL0hvYkxpc3QuaCINCj4gKyNpbmNsdWRlICJHdWlkL01lbW9yeUNv bmZpZ0RhdGEuaCINCj4gKyNpbmNsdWRlICJQcm90b2NvbC9NZW1JbmZvLmgiDQo+ICsjaW5jbHVk ZSAiTGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGliLmgiDQo+ICsjaW5jbHVkZSA8R3VpZC9WbHYy VmFyaWFibGUuaD4NCj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlwZXMNCj4gKy8vDQo+ICtFRklf U1RBVFVTDQo+ICtFRklBUEkNCj4gK1NhdmVNZW1vcnlDb25maWdFbnRyeVBvaW50ICgNCj4gKyAg SU4gRUZJX0hBTkRMRSAgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RB QkxFICAgKlN5c3RlbVRhYmxlDQo+ICsgICkNCj4gKy8qKysNCj4gKw0KPiArICBSb3V0aW5lIERl c2NyaXB0aW9uOg0KPiArICAgIFRoaXMgaXMgdGhlIHN0YW5kYXJkIEVGSSBkcml2ZXIgcG9pbnQg dGhhdCBkZXRlY3RzIHdoZXRoZXIgdGhlcmUgaXMgYQ0KPiArICAgIE1lbW9yeUNvbmZpZ3VyYXRp b25EYXRhIEhPQiBhbmQsIGlmIHNvLCBzYXZlcyBpdHMgZGF0YSB0byBudlJBTS4NCj4gKw0KPiAr ICBBcmd1bWVudHM6DQo+ICsgICAgSW1hZ2VIYW5kbGUgICAtIEhhbmRsZSBmb3IgdGhlIGltYWdl IG9mIHRoaXMgZHJpdmVyDQo+ICsgICAgU3lzdGVtVGFibGUgICAtIFBvaW50ZXIgdG8gdGhlIEVG SSBTeXN0ZW0gVGFibGUNCj4gKw0KPiArICBSZXR1cm5zOg0KPiArICAgIEVGSV9TVUNDRVNTICAg LSBpZiB0aGUgZGF0YSBpcyBzdWNjZXNzZnVsbHkgc2F2ZWQgb3IgdGhlcmUgd2FzIG5vIGRhdGEN Cj4gKyAgICBFRklfTk9UX0ZPVU5EIC0gaWYgdGhlIEhPQiBsaXN0IGNvdWxkIG5vdCBiZSBsb2Nh dGVkLg0KPiArICAgIEVGSV9VTkxPQURfSU1BR0UgLSBJdCBpcyBub3Qgc3VjY2Vzcw0KPiArDQo+ ICstLSovDQo+ICs7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU2F2ZU1lbW9yeUNvbmZpZy9TYXZlTWVtb3J5Q29uZmkN Cj4gZy5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TYXZlTWVtb3J5 Q29uZmlnL1NhdmVNZW1vcnlDb25maQ0KPiBnLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi5jMmQ2OTM4NTlkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU2F2ZU1lbW9yeUNvbmZpZy9TYXZl TWVtb3J5Q29uZmkNCj4gZy5pbmYNCj4gQEAgLTAsMCArMSw2MCBAQA0KPiArIy8qKysNCj4gKyMN Cj4gKyMgIENvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQNCj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJT RC0yLUNsYXVzZS1QYXRlbnQNCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMgIE1vZHVsZSBO YW1lOg0KPiArIw0KPiArIyAgIFNhdmVNZW1vcnlDb25maWcuaW5mDQo+ICsjDQo+ICsjICBBYnN0 cmFjdDoNCj4gKyMNCj4gKyMNCj4gKy0tKi8NCj4gKw0KPiArW2RlZmluZXNdDQo+ICsgIElORl9W RVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAg ICAgICAgICAgICAgICAgICAgID0gU2F2ZU1lbW9yeUNvbmZpZw0KPiArICBGSUxFX0dVSUQgICAg ICAgICAgICAgICAgICAgICAgPSBFMEVDQkVDOS1CMTkzLTQzNTEtQTQ4OC0zNkE2NTVGMjJGOUYN Cj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gRFhFX0RSSVZFUg0KPiArICBW RVJTSU9OX1NUUklORyAgICAgICAgICAgICAgICAgPSAxLjANCj4gKyAgRU5UUllfUE9JTlQgICAg ICAgICAgICAgICAgICAgID0gU2F2ZU1lbW9yeUNvbmZpZ0VudHJ5UG9pbnQNCj4gKw0KPiArW3Nv dXJjZXMuY29tbW9uXQ0KPiArICBTYXZlTWVtb3J5Q29uZmlnLmMNCj4gKw0KPiArW1BhY2thZ2Vz XQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9y bVBrZy5kZWMNCj4gKyAgVmx2MkRldmljZVJlZkNvZGVQa2cvVmx2MkRldmljZVJlZkNvZGVQa2cu ZGVjDQo+ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQN Cj4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIEhvYkxpYg0KPiArICBEZWJ1Z0xp Yg0KPiArICBVZWZpUnVudGltZVNlcnZpY2VzVGFibGVMaWINCj4gKyAgVWVmaUxpYg0KPiArICBC YXNlTGliDQo+ICsNCj4gK1tQcm90b2NvbHNdDQo+ICsgIGdNZW1JbmZvUHJvdG9jb2xHdWlkDQo+ ICsNCj4gK1tHdWlkc10NCj4gKyAgZ0VmaU1lbW9yeUNvbmZpZ0RhdGFHdWlkDQo+ICsgIGdFZmlQ bGF0Zm9ybUluZm9HdWlkDQo+ICsgIGdFZmlQbGF0Zm9ybUJvb3RNb2RlR3VpZA0KPiArICBnRWZp Vmx2MlZhcmlhYmxlR3VpZA0KPiArICAjZ0VmaUhvYkxpc3RHdWlkDQo+ICsgICNnRWZpUGxhdGZv cm1JbmZvR3VpZA0KPiArICAjZ0VmaVBsYXRmb3JtQm9vdE1vZGVHdWlkDQo+ICsgICNnRWZpR2xv YmFsVmFyaWFibGVHdWlkDQo+ICsgICNnRWZpTWVtb3J5Q29uZmlnRGF0YUd1aWQNCj4gKw0KPiAr W0RlcGV4XQ0KPiArICBnRWZpVmFyaWFibGVBcmNoUHJvdG9jb2xHdWlkIEFORA0KPiArICBnRWZp VmFyaWFibGVXcml0ZUFyY2hQcm90b2NvbEd1aWQNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvQ29tbW9uSGVhZGVyLmgNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL0NvbW1vbkhl YWRlci5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmUzMzli MzEwNjUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9TbUJpb3NNaXNjRHhlL0NvbW1vbkhlYWRlci5oDQo+IEBAIC0wLDAgKzEsMzkgQEAN Cj4gKy8qKkBmaWxlDQo+ICsgIENvbW1vbiBoZWFkZXIgZmlsZSBzaGFyZWQgYnkgYWxsIHNvdXJj ZSBmaWxlcy4NCj4gKw0KPiArICBUaGlzIGZpbGUgaW5jbHVkZXMgcGFja2FnZSBoZWFkZXIgZmls ZXMsIGxpYnJhcnkgY2xhc3NlcyBhbmQgcHJvdG9jb2wsIFBQSSAmDQo+IEdVSUQgZGVmaW5pdGlv bnMuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA2ICAtIDIwMTQsIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArKiovDQo+ ICsNCj4gKyNpZm5kZWYgX19DT01NT05fSEVBREVSX0hfDQo+ICsjZGVmaW5lIF9fQ09NTU9OX0hF QURFUl9IXw0KPiArDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgPEZyYW1ld29ya0R4ZS5oPg0KPiAr I2luY2x1ZGUgPEluZHVzdHJ5U3RhbmRhcmQvU21CaW9zLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9j b2wvU21iaW9zLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxHdWlkL0RhdGFIdWJSZWNvcmRzLmg+DQo+ ICsjaW5jbHVkZSA8R3VpZC9NZGVNb2R1bGVIaWkuaD4NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJh cnkvRGVidWdMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4g KyNpbmNsdWRlIDxMaWJyYXJ5L1VlZmlEcml2ZXJFbnRyeVBvaW50Lmg+DQo+ICsjaW5jbHVkZSA8 TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L0RldmljZVBhdGhMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0hpaUxpYi5oPg0KPiArI2lu Y2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvTWVtb3J5QWxs b2NhdGlvbkxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUGNkTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9VZWZpTGliLmg+DQo+ICsjaW5jbHVkZSA8UGNoUmVncy5oPg0KPiArI2luY2x1 ZGUgPExpYnJhcnkvUGNoUGxhdGZvcm1MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1ByaW50 TGliLmg+DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjQmFzZUJvYXJkTWFudWZhDQo+IGN0 dXJlci51bmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNj RHhlL01pc2NCYXNlQm9hcmRNYW51ZmENCj4gY3R1cmVyLnVuaQ0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zMjMwOWJkOTdhDQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjQmFzZUJvYXJkTWFudWZhDQo+IGN0dXJlci51bmkNCj4gQEAgLTAsMCArMSwzMyBAQA0KPiAr Ly8gKisrDQo+ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDA0IC0gMjAxNCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9kdWxl IE5hbWU6DQo+ICsvLw0KPiArLy8gICBNaXNjQmFzZUJvYXJkTWFudWZhY3R1cmVyLnVuaQ0KPiAr Ly8NCj4gKy8vIEFic3RyYWN0Og0KPiArLy8NCj4gKy8vICAgQmFzZSBib2FyZCBpbmZvcm1hdGlv bg0KPiArLy8NCj4gKy8vIFJldmlzaW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0qLw0KPiAr DQo+ICsNCj4gKy89Iw0KPiArDQo+ICsjbGFuZ2RlZiBlbi1VUyAiRW5nbGlzaCINCj4gKw0KPiAr I3N0cmluZyBTVFJfTUlTQ19CQVNFX0JPQVJEX01BTlVGQUNUVVJFUiAgICAgI2xhbmd1YWdlIGVu LVVTDQo+ICJDaXJjdWl0Y28iDQo+ICsjc3RyaW5nIFNUUl9NSVNDX0JBU0VfQk9BUkRfUFJPRFVD VF9OQU1FICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlRBQkxFVCINCj4gKyNzdHJpbmcgU1RSX01J U0NfQkFTRV9CT0FSRF9QUk9EVUNUX05BTUVfRkZEOCAgICAgI2xhbmd1YWdlIGVuLQ0KPiBVUyAg IkJZVC1UIEZGRDgiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX0JBU0VfQk9BUkRfUFJPRFVDVF9OQU1F MSAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJNaW5ub3dCb2FyZCBNQVgiDQo+ICsjc3RyaW5nIFNU Ul9NSVNDX0JBU0VfQk9BUkRfVkVSU0lPTiAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJSRVYg QSINCj4gKyNzdHJpbmcgU1RSX01JU0NfQkFTRV9CT0FSRF9WRVJTSU9OX0ZGRDggICAgICNsYW5n dWFnZSBlbi1VUyAgIlBSMCINCj4gKyNzdHJpbmcgU1RSX01JU0NfQkFTRV9CT0FSRF9TRVJJQUxf TlVNQkVSICAgICNsYW5ndWFnZSBlbi1VUyAgIlRvDQo+IGJlIGZpbGxlZCBieSBPLkUuTSINCj4g KyNzdHJpbmcgU1RSX01JU0NfQkFTRV9CT0FSRF9BU1NFVF9UQUcgICAgICAgICNsYW5ndWFnZSBl bi1VUyAgIlRvIGJlDQo+IGZpbGxlZCBieSBPLkUuTSINCj4gKyNzdHJpbmcgU1RSX01JU0NfQkFT RV9CT0FSRF9DSEFTU0lTX0xPQ0FUSU9OICNsYW5ndWFnZSBlbi1VUw0KPiAiVG8gYmUgZmlsbGVk IGJ5IE8uRS5NIg0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCYXNlQm9hcmRNYW51ZmENCj4gY3R1cmVyRGF0 YS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjQmFzZUJvYXJkTWFudWZhDQo+IGN0dXJlckRhdGEuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4wNjhhMzJmMzkwDQo+IC0tLSAvZGV2L251bGwNCj4gKysr DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNj QmFzZUJvYXJkTWFudWZhDQo+IGN0dXJlckRhdGEuYw0KPiBAQCAtMCwwICsxLDU4IEBADQo+ICsv KiogQGZpbGUNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBv cmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2NCYXNlQm9hcmRNYW51ZmFjdHVyZXJE YXRhLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgU3RhdGljIGRhdGEgb2YgQmFzZSBi b2FyZCBtYW51ZmFjdHVyZXIgaW5mb3JtYXRpb24uDQo+ICsgIEJhc2UgYm9hcmQgbWFudWZhY3R1 cmVyIGluZm9ybWF0aW9uIGlzIE1pc2MuIHN1YmNsYXNzIHR5cGUgNCBhbmQgU01CSU9TDQo+IHR5 cGUgMi4NCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVh ZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiAr Ly8NCj4gKy8vIFN0YXRpYyAocG9zc2libHkgYnVpbGQgZ2VuZXJhdGVkKSBCaW9zIFZlbmRvciBk YXRhLg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfQkFTRV9CT0FS RF9NQU5VRkFDVFVSRVJfRA0KPiBBVEEsIE1pc2NCYXNlQm9hcmRNYW51ZmFjdHVyZXIpDQo+ICs9 IHsNCj4gKyAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX0JBU0VfQk9BUkRfTUFOVUZBQ1RVUkVSKSwN Cj4gKyAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX0JBU0VfQk9BUkRfUFJPRFVDVF9OQU1FKSwNCj4g KyAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX0JBU0VfQk9BUkRfVkVSU0lPTiksDQo+ICsgIFNUUklO R19UT0tFTihTVFJfTUlTQ19CQVNFX0JPQVJEX1NFUklBTF9OVU1CRVIpLA0KPiArICBTVFJJTkdf VE9LRU4oU1RSX01JU0NfQkFTRV9CT0FSRF9BU1NFVF9UQUcpLA0KPiArICBTVFJJTkdfVE9LRU4o U1RSX01JU0NfQkFTRV9CT0FSRF9DSEFTU0lTX0xPQ0FUSU9OKSwNCj4gKyAgeyAgICAgICAgICAg ICAgICAgICAgICAgICAvLyBCYXNlQm9hcmRGZWF0dXJlRmxhZ3MNCj4gKyAgICAxLCAgICAgICAg ICAgICAgICAgICAgICAvLyBNb3RoZXJib2FyZA0KPiArICAgIDAsICAgICAgICAgICAgICAgICAg ICAgIC8vIFJlcXVpcmVzRGF1Z2h0ZXJDYXJkDQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAg ICAgLy8gUmVtb3ZhYmxlDQo+ICsgICAgMSwgICAgICAgICAgICAgICAgICAgICAgLy8gUmVwbGFj ZWFibGUsDQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgLy8gSG90U3dhcHBhYmxlDQo+ ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQNCj4gKyAgfSwNCj4gKyAg RWZpQmFzZUJvYXJkVHlwZVVua25vd24sICAvLyBCYXNlQm9hcmRUeXBlDQo+ICsgIHsgICAgICAg ICAgICAgICAgICAgICAgICAgLy8gQmFzZUJvYXJkQ2hhc3Npc0xpbmsNCj4gKyAgICBFRklfTUlT Q19TVUJDTEFTU19HVUlELCAvLyBQcm9kdWNlck5hbWUNCj4gKyAgICAxLCAgICAgICAgICAgICAg ICAgICAgICAvLyBJbnN0YW5jZQ0KPiArICAgIDEsICAgICAgICAgICAgICAgICAgICAgIC8vIFN1 Ykluc3RhbmNlDQo+ICsgIH0sDQo+ICsgIDAsICAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFz ZUJvYXJkTnVtYmVyTGlua3MNCj4gKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAvLyBMaW5r Tg0KPiArICAgIEVGSV9NSVNDX1NVQkNMQVNTX0dVSUQsIC8vIFByb2R1Y2VyTmFtZQ0KPiArICAg IDEsICAgICAgICAgICAgICAgICAgICAgIC8vIEluc3RhbmNlDQo+ICsgICAgMSwgICAgICAgICAg ICAgICAgICAgICAgLy8gU3ViSW5zdGFuY2UNCj4gKyAgfSwNCj4gK307DQo+IGRpZmYgLS1naXQN Cj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NC YXNlQm9hcmRNYW51ZmENCj4gY3R1cmVyRnVuY3Rpb24uYw0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jhc2VCb2FyZE1hbnVmYQ0KPiBjdHVy ZXJGdW5jdGlvbi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LmFhOGMyMTNkODMNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCYXNlQm9hcmRNYW51ZmENCj4gY3R1 cmVyRnVuY3Rpb24uYw0KPiBAQCAtMCwwICsxLDIzOCBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5 cmlnaHQgKGMpIDIwMDkgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNl cnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2NC YXNlQm9hcmRNYW51ZmFjdHVyZXJGdW5jdGlvbi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ ICsgIEJhc2VCb2FyZCBtYW51ZmFjdHVyZXIgaW5mb3JtYXRpb24gYm9vdCB0aW1lIGNoYW5nZXMu DQo+ICsgIFNNQklPUyB0eXBlIDIuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVk ZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsjaW5jbHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ ICsjaW5jbHVkZSA8TGlicmFyeS9OZXRMaWIuaD4NCj4gKyNpbmNsdWRlICJMaWJyYXJ5L0RlYnVn TGliLmgiDQo+ICsjaW5jbHVkZSA8VWVmaS9VZWZpQmFzZVR5cGUuaD4NCj4gKyNpbmNsdWRlIDxH dWlkL1BsYXRmb3JtSW5mby5oPg0KPiArDQo+ICsNCj4gK2V4dGVybiBFRklfUExBVEZPUk1fSU5G T19IT0IgKm1QbGF0Zm9ybUluZm87DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIG1h a2VzIGJvb3QgdGltZSBjaGFuZ2VzIHRvIHRoZSBjb250ZW50cyBvZiB0aGUNCj4gKyAgTWlzY0Jh c2VCb2FyZE1hbnVmYWN0dXJlciAoVHlwZSAyKS4NCj4gKw0KPiArICBAcGFyYW0gIFJlY29yZERh dGEgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gY29weSBvZiBSZWNvcmREYXRhIGZyb20gdGhl IERhdGENCj4gVGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAg ICAgICBBbGwgcGFyYW1ldGVycyB3ZXJlIHZhbGlkLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBP UlRFRCAgICAgICAgICAgIFVuZXhwZWN0ZWQgUmVjb3JkVHlwZSB2YWx1ZS4NCj4gKyAgQHJldHZh bCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICBJbnZhbGlkIHBhcmFtZXRlciB3YXMgZm91bmQu DQo+ICsNCj4gKyoqLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRlVOQ1RJT04oTWlzY0Jhc2VCb2Fy ZE1hbnVmYWN0dXJlcikNCj4gK3sNCj4gKyAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAg ICAqT3B0aW9uYWxTdHJTdGFydDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICBNYW51U3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2R1 Y3RTdHJMZW47DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyU3RyTGVu Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzc2VydFRhZ1N0ckxlbjsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWxOdW1TdHJMZW47DQo+ ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2hhc3Npc1N0ckxlbjsNCj4gKyAg RUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9TVFJJTkcg ICAgICAgICAgICAgICAgICAgICAgTWFudWZhY3R1cmVyOw0KPiArICBFRklfU1RSSU5HICAgICAg ICAgICAgICAgICAgICAgIFByb2R1Y3Q7DQo+ICsgIEVGSV9TVFJJTkcgICAgICAgICAgICAgICAg ICAgICAgVmVyc2lvbjsNCj4gKyAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICBTZXJp YWxOdW1iZXI7DQo+ICsgIEVGSV9TVFJJTkcgICAgICAgICAgICAgICAgICAgICAgQXNzZXJ0VGFn Ow0KPiArICBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgIENoYXNzaXM7DQo+ICsgIFNU UklOR19SRUYgICAgICAgICAgICAgICAgICAgICAgVG9rZW5Ub0dldDsNCj4gKyAgRUZJX1NNQklP U19IQU5ETEUgICAgICAgICAgICAgICBTbWJpb3NIYW5kbGU7DQo+ICsgIFNNQklPU19UQUJMRV9U WVBFMiAgICAgICAgICAgICAgKlNtYmlvc1JlY29yZDsNCj4gKyAgRUZJX01JU0NfQkFTRV9CT0FS RF9NQU5VRkFDVFVSRVIgICAqRm9yVHlwZTJJbnB1dERhdGE7DQo+ICsNCj4gKyAgQ0hBUjE2ICAg ICAgICAgICAgICAgICAgICAgICAgICAqTWFjU3RyOw0KPiArICBFRklfSEFORExFICAgICAgICAg ICAgICAgICAgICAgICpIYW5kbGVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgIEJ1ZmZlclNpemU7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgQnVm ZmVyWzQwXTsNCj4gKw0KPiArICBGb3JUeXBlMklucHV0RGF0YSA9IChFRklfTUlTQ19CQVNFX0JP QVJEX01BTlVGQUNUVVJFUg0KPiAqKVJlY29yZERhdGE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g Rmlyc3QgY2hlY2sgZm9yIGludmFsaWQgcGFyYW1ldGVycy4NCj4gKyAgLy8NCj4gKyAgaWYgKFJl Y29yZERhdGEgPT0gTlVMTCB8fCBtUGxhdGZvcm1JbmZvID09IE5VTEwpIHsNCj4gKyAgICByZXR1 cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEJPQVJEX0lE X01JTk5PVzJfVFVSQk9UID09IG1QbGF0Zm9ybUluZm8tPkJvYXJkSWQpIHsNCj4gKyAgICBVbmlj b2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSxMIkFESSIpOw0KPiArDQo+IEhpaVNl dFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19CQVNFX0JPQVJEX01BTlVG QQ0KPiBDVFVSRVIpLCBCdWZmZXIsIE5VTEwpOw0KPiArICB9DQo+ICsgIFRva2VuVG9HZXQgPSBT VFJJTkdfVE9LRU4NCj4gKFNUUl9NSVNDX0JBU0VfQk9BUkRfTUFOVUZBQ1RVUkVSKTsNCj4gKyAg TWFudWZhY3R1cmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgIE1h bnVTdHJMZW4gPSBTdHJMZW4oTWFudWZhY3R1cmVyKTsNCj4gKyAgaWYgKE1hbnVTdHJMZW4gPiBT TUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ow0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEJPQVJEX0lEX01JTk5PVzJfVFVSQk9UID09IG1QbGF0 Zm9ybUluZm8tPkJvYXJkSWQpIHsNCj4gKyAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVv ZiAoQnVmZmVyKSxMIk1pbm5vd0JvYXJkIFR1cmJvdCIpOw0KPiArDQo+IEhpaVNldFN0cmluZyht SGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19CQVNFX0JPQVJEX1BST0RVQw0KPiBUX05B TUUxKSwgQnVmZmVyLCBOVUxMKTsNCj4gKyAgfQ0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RP S0VODQo+IChTVFJfTUlTQ19CQVNFX0JPQVJEX1BST0RVQ1RfTkFNRTEpOw0KPiArICBQcm9kdWN0 ID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgIFByb2R1Y3RTdHJMZW4g PSBTdHJMZW4oUHJvZHVjdCk7DQo+ICsgIGlmIChQcm9kdWN0U3RyTGVuID4gU01CSU9TX1NUUklO R19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0K PiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19CQVNFX0JPQVJEX1ZFUlNJ T04pOw0KPiArICBWZXJzaW9uID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ ICsgIFZlclN0ckxlbiA9IFN0ckxlbihWZXJzaW9uKTsNCj4gKyAgaWYgKFZlclN0ckxlbiA+IFNN QklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7 DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvL0dldCBoYW5kbGUgaW5mb21hdGlvbg0KPiAr ICAvLw0KPiArICBCdWZmZXJTaXplID0gMDsNCj4gKyAgSGFuZGxlcyA9IE5VTEw7DQo+ICsgIFN0 YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlICgNCj4gKyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9j b2wsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaVNpbXBsZU5ldHdvcmtQcm90b2NvbEd1aWQs DQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJkJ1ZmZl clNpemUsDQo+ICsgICAgICAgICAgICAgICAgICBIYW5kbGVzDQo+ICsgICAgICAgICAgICAgICAg ICApOw0KPiArDQo+ICsgIGlmIChTdGF0dXMgPT0gRUZJX0JVRkZFUl9UT09fU01BTEwpIHsNCj4g KyAgCUhhbmRsZXMgPSBBbGxvY2F0ZVplcm9Qb29sKEJ1ZmZlclNpemUpOw0KPiArICAJaWYgKEhh bmRsZXMgPT0gTlVMTCkgew0KPiArICAJCXJldHVybiAoRUZJX09VVF9PRl9SRVNPVVJDRVMpOw0K PiArICAJfQ0KPiArICAJU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGUoDQo+ICsgIAkgICAgICAg ICAgICAgICAgQnlQcm90b2NvbCwNCj4gKyAgCSAgICAgICAgICAgICAgICAmZ0VmaVNpbXBsZU5l dHdvcmtQcm90b2NvbEd1aWQsDQo+ICsgIAkgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgCSAg ICAgICAgICAgICAgICAmQnVmZmVyU2l6ZSwNCj4gKyAgCSAgICAgICAgICAgICAgICBIYW5kbGVz DQo+ICsgIAkgICAgICAgICAgICAgICAgKTsNCj4gKyB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9H ZXQgdGhlIE1BQyBzdHJpbmcNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gTmV0TGliR2V0TWFjU3Ry aW5nICgNCj4gKyAgICAgICAgICAgICAqSGFuZGxlcywNCj4gKyAgICAgICAgICAgICBOVUxMLA0K PiArICAgICAgICAgICAgICZNYWNTdHINCj4gKyAgICAgICAgICAgICApOw0KPiArICBpZiAoRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArICBT ZXJpYWxOdW1iZXIgPSBNYWNTdHI7DQo+ICsgIFNlcmlhbE51bVN0ckxlbiA9IFN0ckxlbihTZXJp YWxOdW1iZXIpOw0KPiArICBpZiAoU2VyaWFsTnVtU3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhf TEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArICBE RUJVRyAoKEVGSV9EX0VSUk9SLCAiTUFDIEFkZHJlc3M6ICVTXG4iLCBNYWNTdHIpKTsNCj4gKw0K PiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19CQVNFX0JPQVJEX0FTU0VU X1RBRyk7DQo+ICsgIEFzc2VydFRhZyA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQp Ow0KPiArICBBc3NlcnRUYWdTdHJMZW4gPSBTdHJMZW4oQXNzZXJ0VGFnKTsNCj4gKyAgaWYgKEFz c2VydFRhZ1N0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVy biBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5H X1RPS0VODQo+IChTVFJfTUlTQ19CQVNFX0JPQVJEX0NIQVNTSVNfTE9DQVRJT04pOw0KPiArICBD aGFzc2lzID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgIENoYXNzaXNT dHJMZW4gPSBTdHJMZW4oQ2hhc3Npcyk7DQo+ICsgIGlmIChDaGFzc2lzU3RyTGVuID4gU01CSU9T X1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4g KyAgfQ0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHdvIHplcm9zIGZvbGxvd2luZyB0aGUg bGFzdCBzdHJpbmcuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZCA9IEFsbG9jYXRlUG9vbChz aXplb2YgKFNNQklPU19UQUJMRV9UWVBFMikgKw0KPiBNYW51U3RyTGVuICsgMSArIFByb2R1Y3RT dHJMZW4gKyAxICsgVmVyU3RyTGVuICsgMSArIFNlcmlhbE51bVN0ckxlbiArIDEgKw0KPiBBc3Nl cnRUYWdTdHJMZW4gKyAxICsgQ2hhc3Npc1N0ckxlbiArMSArIDEpOw0KPiArICBaZXJvTWVtKFNt Ymlvc1JlY29yZCwgc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTIpICsgTWFudVN0ckxlbiArDQo+ IDEgKyBQcm9kdWN0U3RyTGVuICsgMSArIFZlclN0ckxlbiArIDEgKyBTZXJpYWxOdW1TdHJMZW4g KyAxICsNCj4gQXNzZXJ0VGFnU3RyTGVuICsgMSArIENoYXNzaXNTdHJMZW4gKzEgKyAxKTsNCj4g Kw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5UeXBlID0NCj4gRUZJX1NNQklPU19UWVBFX0JBU0VC T0FSRF9JTkZPUk1BVElPTjsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIuTGVuZ3RoID0gc2l6ZW9m IChTTUJJT1NfVEFCTEVfVFlQRTIpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2UgaGFuZGxl IGNob3NlbiBieSBzbWJpb3MgcHJvdG9jb2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ICsgIC8vDQo+ ICsgIFNtYmlvc1JlY29yZC0+SGRyLkhhbmRsZSA9IDA7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8g TWFudSB3aWxsIGJlIHRoZSAxc3Qgb3B0aW9uYWwgc3RyaW5nIGZvbGxvd2luZyB0aGUgZm9ybWF0 dGVkIHN0cnVjdHVyZS4NCj4gKyAgLy8NCj4gKyAgU21iaW9zUmVjb3JkLT5NYW51ZmFjdHVyZXIg PSAxOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFByb2R1Y3ROYW1lIHdpbGwgYmUgdGhlIDJzdCBv cHRpb25hbCBzdHJpbmcgZm9sbG93aW5nIHRoZSBmb3JtYXR0ZWQNCj4gc3RydWN0dXJlLg0KPiAr ICAvLw0KPiArICBTbWJpb3NSZWNvcmQtPlByb2R1Y3ROYW1lICA9IDI7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gVmVyc2lvbiB3aWxsIGJlIHRoZSAzcmQgb3B0aW9uYWwgc3RyaW5nIGZvbGxvd2lu ZyB0aGUgZm9ybWF0dGVkIHN0cnVjdHVyZS4NCj4gKyAgLy8NCj4gKyAgU21iaW9zUmVjb3JkLT5W ZXJzaW9uID0gMzsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXJpYWxOdW1iZXIgd2lsbCBiZSB0 aGUgNHRoIG9wdGlvbmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlIGZvcm1hdHRlZA0KPiBzdHJ1Y3R1 cmUuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+U2VyaWFsTnVtYmVyID0gNDsNCj4gKw0K PiArICAvLw0KPiArICAvLyBBc3NlcnRUYWcgd2lsbCBiZSB0aGUgNXRoIG9wdGlvbmFsIHN0cmlu ZyBmb2xsb3dpbmcgdGhlIGZvcm1hdHRlZA0KPiBzdHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ICsgIFNt Ymlvc1JlY29yZC0+QXNzZXRUYWcgPSA1Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIExvY2F0aW9u SW5DaGFzc2lzIHdpbGwgYmUgdGhlIDZ0aCBvcHRpb25hbCBzdHJpbmcgZm9sbG93aW5nIHRoZSBm b3JtYXR0ZWQNCj4gc3RydWN0dXJlLg0KPiArICAvLw0KPiArICBTbWJpb3NSZWNvcmQtPkxvY2F0 aW9uSW5DaGFzc2lzID0gNjsNCj4gKyAgU21iaW9zUmVjb3JkLT5GZWF0dXJlRmxhZyA9DQo+ICgq KEJBU0VfQk9BUkRfRkVBVFVSRV9GTEFHUyopJihGb3JUeXBlMklucHV0RGF0YS0NCj4gPkJhc2VC b2FyZEZlYXR1cmVGbGFncykpOw0KPiArICBTbWJpb3NSZWNvcmQtPkNoYXNzaXNIYW5kbGUgID0g MDsNCj4gKyAgU21iaW9zUmVjb3JkLT5Cb2FyZFR5cGUgICAgICA9IChVSU5UOClGb3JUeXBlMklu cHV0RGF0YS0NCj4gPkJhc2VCb2FyZFR5cGU7DQo+ICsgIFNtYmlvc1JlY29yZC0+TnVtYmVyT2ZD b250YWluZWRPYmplY3RIYW5kbGVzID0gMDsNCj4gKw0KPiArICBPcHRpb25hbFN0clN0YXJ0ID0g KENIQVI4ICopKFNtYmlvc1JlY29yZCArIDEpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFNpbmNl IHdlIGZpbGwgTnVtYmVyT2ZDb250YWluZWRPYmplY3RIYW5kbGVzID0gMCBmb3Igc2ltcGxlLCBq dXN0IGFmdGVyDQo+IHRoaXMgZmlsZWQgdG8gZmlsbCBzdHJpbmcNCj4gKyAgLy8NCj4gKyAgVW5p Y29kZVN0clRvQXNjaWlTdHIoTWFudWZhY3R1cmVyLCBPcHRpb25hbFN0clN0YXJ0KTsNCj4gKyAg VW5pY29kZVN0clRvQXNjaWlTdHIoUHJvZHVjdCwgT3B0aW9uYWxTdHJTdGFydCArIE1hbnVTdHJM ZW4gKyAxKTsNCj4gKyAgVW5pY29kZVN0clRvQXNjaWlTdHIoVmVyc2lvbiwgT3B0aW9uYWxTdHJT dGFydCArIE1hbnVTdHJMZW4gKyAxICsNCj4gUHJvZHVjdFN0ckxlbiArIDEpOw0KPiArICBVbmlj b2RlU3RyVG9Bc2NpaVN0cihTZXJpYWxOdW1iZXIsIE9wdGlvbmFsU3RyU3RhcnQgKyBNYW51U3Ry TGVuICsgMSArDQo+IFByb2R1Y3RTdHJMZW4gKyAxICsgVmVyU3RyTGVuICsgMSk7DQo+ICsgIFVu aWNvZGVTdHJUb0FzY2lpU3RyKEFzc2VydFRhZywgT3B0aW9uYWxTdHJTdGFydCArIE1hbnVTdHJM ZW4gKyAxICsNCj4gUHJvZHVjdFN0ckxlbiArIDEgKyBWZXJTdHJMZW4gKyAxICsgU2VyaWFsTnVt U3RyTGVuICsgMSk7DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKENoYXNzaXMsIE9wdGlvbmFs U3RyU3RhcnQgKyBNYW51U3RyTGVuICsgMSArDQo+IFByb2R1Y3RTdHJMZW4gKyAxICsgVmVyU3Ry TGVuICsgMSArIFNlcmlhbE51bVN0ckxlbiArIDEgKyBBc3NlcnRUYWdTdHJMZW4gKw0KPiAxKTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBOb3cgd2UgaGF2ZSBnb3QgdGhlIGZ1bGwgc21iaW9zIHJl Y29yZCwgY2FsbCBzbWJpb3MgcHJvdG9jb2wgdG8gYWRkIHRoaXMNCj4gcmVjb3JkLg0KPiArICAv Lw0KPiArICBTbWJpb3NIYW5kbGUgPSBTTUJJT1NfSEFORExFX1BJX1JFU0VSVkVEOw0KPiArICBT dGF0dXMgPSBTbWJpb3MtPiBBZGQoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgU21iaW9zLA0K PiArICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg JlNtYmlvc0hhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAoRUZJX1NNQklPU19UQUJM RV9IRUFERVIgKikgU21iaW9zUmVjb3JkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4g Kw0KPiArICBGcmVlUG9vbChTbWJpb3NSZWNvcmQpOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiAr fQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21C aW9zTWlzY0R4ZS9NaXNjQmlvc1ZlbmRvci51bmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCaW9zVmVuZG9yLnVuaQ0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44MGIwOTlkMjEwDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlz Y0R4ZS9NaXNjQmlvc1ZlbmRvci51bmkNCj4gQEAgLTAsMCArMSwyNiBAQA0KPiArLy8gKisrDQo+ ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDA0IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ ICsvLw0KPiArLy8gICBNaXNjQmlvc1ZlbmRvci51bmkNCj4gKy8vDQo+ICsvLyBBYnN0cmFjdDoN Cj4gKy8vDQo+ICsvLyAgIEJJT1MgdmVuZG9yIGluZm9ybWF0aW9uLg0KPiArLy8NCj4gKy8vIFJl dmlzaW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0qLw0KPiArDQo+ICsNCj4gKy89Iw0KPiAr DQo+ICsjbGFuZ2RlZiBlbi1VUyAiRW5nbGlzaCINCj4gKw0KPiArI3N0cmluZyBTVFJfTUlTQ19C SU9TX1ZFTkRPUiAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiSW50ZWwgQ29ycC4iDQo+ICsj c3RyaW5nIFNUUl9NSVNDX0JJT1NfVkVSU0lPTiAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJW YWxsZXl2aWV3IEEwDQo+IEJJT1MiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX0JJT1NfUkVMRUFTRV9E QVRFICAgICAjbGFuZ3VhZ2UgZW4tVVMgICIwOC8wNi8yMDEyIg0KPiBkaWZmIC0tZ2l0DQo+IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjQmlvc1Zl bmRvckRhdGEuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01p c2NEeGUvTWlzY0Jpb3NWZW5kb3JEYXRhLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k ZXggMDAwMDAwMDAwMC4uOTFlOGVmYzIyOA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jpb3NWZW5k b3JEYXRhLmMNCj4gQEAgLTAsMCArMSwxMDEgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICtDb3B5 cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVz ZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ ICsNCj4gKyAgTWlzY0Jpb3NWZW5kb3JEYXRhLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4g KyAgU3RhdGljIGRhdGEgb2YgQklPUyB2ZW5kb3IgaW5mb3JtYXRpb24uDQo+ICsgIEJJT1MgdmVu ZG9yIGluZm9ybWF0aW9uIGlzIE1pc2MuIHN1YmNsYXNzIHR5cGUgMiBhbmQgU01CSU9TIHR5cGUg MC4NCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVy LmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiArLy8N Cj4gKy8vIFN0YXRpYyAocG9zc2libHkgYnVpbGQgZ2VuZXJhdGVkKSBCaW9zIFZlbmRvciBkYXRh Lg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfQklPU19WRU5ET1Jf REFUQSwNCj4gTWlzY0Jpb3NWZW5kb3IpDQo+ICs9IHsNCj4gKyAgU1RSSU5HX1RPS0VOKFNUUl9N SVNDX0JJT1NfVkVORE9SKSwgICAgICAgLy8gQmlvc1ZlbmRvcg0KPiArICBTVFJJTkdfVE9LRU4o U1RSX01JU0NfQklPU19WRVJTSU9OKSwgICAgICAvLyBCaW9zVmVyc2lvbg0KPiArICBTVFJJTkdf VE9LRU4oU1RSX01JU0NfQklPU19SRUxFQVNFX0RBVEUpLCAvLyBCaW9zUmVsZWFzZURhdGUNCj4g KyAgMHhGMDAwLCAvLyBCaW9zU3RhcnRpbmdBZGRyZXNzDQo+ICsgIHsgICAgICAgLy8gQmlvc1Bo eXNpY2FsRGV2aWNlU2l6ZQ0KPiArICAgIDEsICAgIC8vIFZhbHVlDQo+ICsgICAgMjEgLCAgICAg ICAgICAvLyBFeHBvbmVudA0KPiArICB9LA0KPiArICB7ICAgICAgIC8vIEJpb3NDaGFyYWN0ZXJp c3RpY3MxDQo+ICsgICAgMCwgICAgLy8gUmVzZXJ2ZWQxICAgICAgICAgICAgICAgICAgICAgICAg IDoyDQo+ICsgICAgMCwgICAgLy8gVW5rbm93biAgICAgICAgICAgICAgICAgICAgICAgICAgIDox DQo+ICsgICAgMCwgICAgLy8gQmlvc0NoYXJhY3RlcmlzdGljc05vdFN1cHBvcnRlZCAgIDoxDQo+ ICsgICAgMCwgICAgLy8gSXNhSXNTdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgIDoxDQo+ICsg ICAgMCwgICAgLy8gTWNhSXNTdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAg MCwgICAgLy8gRWlzYUlzU3VwcG9ydGVkICAgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwg ICAgLy8gUGNpSXNTdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAg Ly8gUGNtY2lhSXNTdXBwb3J0ZWQgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8g UGx1Z0FuZFBsYXlJc1N1cHBvcnRlZCAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gQXBt SXNTdXBwb3J0ZWQgICAgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gQmlvc0lz VXBncmFkYWJsZSAgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gQmlvc1NoYWRv d2luZ0FsbG93ZWQgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gVmxWZXNhSXNTdXBw b3J0ZWQgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gRXNjZFN1cHBvcnRJc0F2 YWlsYWJsZSAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gQm9vdEZyb21DZElzU3VwcG9y dGVkICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gU2VsZWN0YWJsZUJvb3RJc1N1cHBv cnRlZCAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gUm9tQmlvc0lzU29ja2V0ZWQgICAgICAg ICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gQm9vdEZyb21QY21jaWFJc1N1cHBvcnRlZCAg ICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gRUREU3BlY2lmaWNhdGlvbklzU3VwcG9ydGVkICAg ICAgIDoxDQo+ICsgICAgMCwgICAgLy8gSmFwYW5lc2VOZWNGbG9wcHlJc1N1cHBvcnRlZCAgICAg IDoxDQo+ICsgICAgMCwgICAgLy8gSmFwYW5lc2VUb3NoaWJhRmxvcHB5SXNTdXBwb3J0ZWQgIDox DQo+ICsgICAgMCwgICAgLy8gRmxvcHB5NTI1XzM2MElzU3VwcG9ydGVkICAgICAgICAgIDoxDQo+ ICsgICAgMCwgICAgLy8gRmxvcHB5NTI1XzEySXNTdXBwb3J0ZWQgICAgICAgICAgIDoxDQo+ICsg ICAgMCwgICAgLy8gRmxvcHB5MzVfNzIwSXNTdXBwb3J0ZWQgICAgICAgICAgIDoxDQo+ICsgICAg MCwgICAgLy8gRmxvcHB5MzVfMjg4SXNTdXBwb3J0ZWQgICAgICAgICAgIDoxDQo+ICsgICAgMCwg ICAgLy8gUHJpbnRTY3JlZW5Jc1N1cHBvcnRlZCAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAg Ly8gS2V5Ym9hcmQ4MDQySXNTdXBwb3J0ZWQgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8g U2VyaWFsSXNTdXBwb3J0ZWQgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gUHJp bnRlcklzU3VwcG9ydGVkICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gQ2dhTW9u b0lzU3VwcG9ydGVkICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gTmVjUGM5OCAg ICAgICAgICAgICAgICAgICAgICAgICAgIDoxDQo+ICsNCj4gKy8vDQo+ICsvL0JJT1MgQ2hhcmFj dGVyaXN0aWNzIEV4dGVuc2lvbiBCeXRlIDENCj4gKy8vDQo+ICsgICAgMSwgICAgLy8gQWNwaUlz U3VwcG9ydGVkICAgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gVXNiTGVnYWN5 SXNTdXBwb3J0ZWQgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gQWdwSXNTdXBwb3J0 ZWQgICAgICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gSTIwQm9vdElzU3VwcG9y dGVkICAgICAgICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gTHMxMjBCb290SXNTdXBwb3J0 ZWQgICAgICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gQXRhcGlaaXBEcml2ZUJvb3RJc1N1 cHBvcnRlZCAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gQm9vdDEzOTRJc1N1cHBvcnRlZCAgICAg ICAgICAgICAgIDoxDQo+ICsgICAgMCwgICAgLy8gU21hcnRCYXR0ZXJ5SXNTdXBwb3J0ZWQgICAg ICAgICAgIDoxDQo+ICsNCj4gKy8vDQo+ICsvL0JJT1MgQ2hhcmFjdGVyaXN0aWNzIEV4dGVuc2lv biBCeXRlIDINCj4gKy8vDQo+ICsgICAgMSwgICAgLy8gQmlvc0Jvb3RTcGVjSXNTdXBwb3J0ZWQg ICAgICAgICAgIDoxDQo+ICsgICAgMSwgICAgLy8gRnVuY3Rpb25LZXlOZXR3b3JrQm9vdElzU3Vw cG9ydGVkIDoxDQo+ICsgICAgMHgxICAgICAvLyBSZXNlcnZlZCAgICAgICAgICAgICAgICAgICAg ICAgICAgOjE5ICBCaXQgMiBpcyBTTUJpb3NJc1RhcmdDb250RGlzdEVuYWJsZWQNCj4gKyAgfSwN Cj4gKyAgeyAgICAgICAvLyBCaW9zQ2hhcmFjdGVyaXN0aWNzMg0KPiArICAgIDB4MDAwMSwvLyBC aW9zUmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgOjE2ICBCaXQgMCBpcyBCSU9TIFNwbGFz aCBTY3JlZW4NCj4gKyAgICAwLCAgICAvLyBTeXN0ZW1SZXNlcnZlZCAgICAgICAgICAgICAgICAg ICAgOjE2DQo+ICsgICAgMCAgICAgLy8gUmVzZXJ2ZWQgICAgICAgICAgICAgICAgICAgICAgICAg IDozMg0KPiArICB9LA0KPiArICAweEZGLCAgIC8vIEJpb3NNYWpvclJlbGVhc2U7DQo+ICsgIDB4 RkYsICAgLy8gQmlvc01pbm9yUmVsZWFzZTsNCj4gKyAgMHhGRiwgICAvLyBCaW9zRW1iZWRkZWRG aXJtd2FyZU1ham9yUmVsZWFzZTsNCj4gKyAgMHhGRiwgICAvLyBCaW9zRW1iZWRkZWRGaXJtd2Fy ZU1pbm9yUmVsZWFzZTsNCj4gK307DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCaW9zVmVuZG9yRnVuY3Rpbw0KPiBu LmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01p c2NCaW9zVmVuZG9yRnVuY3RpDQo+IG9uLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k ZXggMDAwMDAwMDAwMC4uMTgxN2Y0NTZjYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jpb3NWZW5k b3JGdW5jdGkNCj4gb24uYw0KPiBAQCAtMCwwICsxLDMzNiBAQA0KPiArLyorKw0KPiArDQo+ICtD b3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToN Cj4gKw0KPiArICBNaXNjQmlvc1ZlbmRvckZ1bmN0aW9uLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ ICsNCj4gKyAgQklPUyB2ZW5kb3IgaW5mb3JtYXRpb24gYm9vdCB0aW1lIGNoYW5nZXMuDQo+ICsg IE1pc2MuIHN1YmNsYXNzIHR5cGUgMi4NCj4gKyAgU01CSU9TIHR5cGUgMC4NCj4gKw0KPiArLS0q Lw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCINCj4gKw0KPiArI2luY2x1 ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmlvc0lkTGli Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9TcGlGbGFzaC5IPg0KPiArDQo+ICtFRklfU1BJX1BS T1RPQ09MICAqbVNwaVByb3RvY29sID0gTlVMTDsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgVGhp cyBmdW5jdGlvbiByZWFkIHRoZSBkYXRhIGZyb20gU3BpIFJvbS4NCj4gKw0KPiArICBAcGFyYW0g QmFzZUFkZHJlc3MgICAgICAgICAgICAgICAgVGhlIHN0YXJ0aW5nIGFkZHJlc3Mgb2YgdGhlIHJl YWQuDQo+ICsgIEBwYXJhbSBCeXRlICAgICAgICAgICAgICAgICAgICAgICBUaGUgcG9pbnRlciB0 byB0aGUgZGVzdGluYXRpb24gYnVmZmVyLg0KPiArICBAcGFyYW0gTGVuZ3RoICAgICAgICAgICAg ICAgICAgICAgVGhlIG51bWJlciBvZiBieXRlcy4NCj4gKyAgQHBhcmFtIFNwaVJlZ2lvblR5cGUg ICAgICAgICAgICAgIFNwaSBSZWdpb24gVHlwZS4NCj4gKw0KPiArICBAcmV0dmFsIFN0YXR1cw0K PiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0ZsYXNoUmVhZCAoDQo+ICsgIElOICBVSU5U TiAgICAgICAgICAgICBCYXNlQWRkcmVzcywNCj4gKyAgSU4gIFVJTlQ4ICAgICAgICAgICAgICpC eXRlLA0KPiArICBJTiAgVUlOVE4gICAgICAgICAgICAgTGVuZ3RoLA0KPiArICBJTiAgU1BJX1JF R0lPTl9UWVBFICAgU3BpUmVnaW9uVHlwZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMg ICAgICAgICAgICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gKyAgVUlOVDMyICAgICAgICAgICAg ICAgIFNlY3RvclNpemU7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICBTcGlBZGRyZXNzOw0K PiArICBVSU5UOCAgICAgICAgICAgICAgICAgQnVmZmVyW1NFQ1RPUl9TSVpFXzRLQl07DQo+ICsN Cj4gKyAgU3BpQWRkcmVzcyA9IChVSU5UMzIpKFVJTlROKShCYXNlQWRkcmVzcyk7DQo+ICsgIFNl Y3RvclNpemUgPSBTRUNUT1JfU0laRV80S0I7DQo+ICsNCj4gKyAgU3RhdHVzID0gbVNwaVByb3Rv Y29sLT5FeGVjdXRlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIG1TcGlQcm90b2Nv bCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNQSV9SRUFELA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgU1BJX1dSRU4sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICBUUlVFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgVFJVRSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgIEZBTFNFLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg KFVJTlQzMikgU3BpQWRkcmVzcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIFNlY3Rv clNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXIsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICBTcGlSZWdpb25UeXBlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyNpZmRl ZiBfU0hPV19MT0dfDQo+ICsgICAgUHJpbnQoTCJSZWFkIFNQSSBST00gRmFpbGVkIFslMDh4XVxu IiwgU3BpQWRkcmVzcyk7DQo+ICsjZW5kaWYNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9 DQo+ICsNCj4gKyAgQ29weU1lbSAoQnl0ZSwgKHZvaWQgKilCdWZmZXIsIExlbmd0aCk7DQo+ICsN Cj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rp b24gcmV0dXJucyB0aGUgdmFsdWUgJiBleHBvbmVudCB0byBCYXNlMiBmb3IgYSBnaXZlbg0KPiAr ICBIZXggdmFsdWUuIFRoaXMgaXMgdXNlZCB0byBjYWxjdWxhdGUgdGhlIEJpb3NQaHlzaWNhbERl dmljZVNpemUuDQo+ICsNCj4gKyAgQHBhcmFtIFZhbHVlICAgICAgICAgICAgICAgICAgICAgIFRo ZSBoZXggdmFsdWUgd2hpY2ggaXMgdG8gYmUgY29udmVydGVkIGludG8NCj4gdmFsdWUtZXhwb25l bnQgZm9ybQ0KPiArICBAcGFyYW0gRXhwb25lbnQgICAgICAgICAgICAgICAgICAgVGhlIGV4cG9u ZW50IG91dCBvZiB0aGUgY29udmVyc2lvbg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1Mg ICAgICAgICAgICAgICBBbGwgcGFyYW1ldGVycyB3ZXJlIHZhbGlkIGFuZCAqVmFsdWUgJg0KPiAq RXhwb25lbnQgaGF2ZSBiZWVuIHNldC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVU RVIgICAgIEludmFsaWQgcGFyYW1ldGVyIHdhcyBmb3VuZC4NCj4gKw0KPiArKiovDQo+ICtFRklf U1RBVFVTDQo+ICtHZXRWYWx1ZUV4cG9uZW50QmFzZTIoDQo+ICsgIElOIE9VVCBVSU5UTiAgICAg ICAgKlZhbHVlLA0KPiArICBPVVQgICAgVUlOVE4gICAgICAgICpFeHBvbmVudA0KPiArICApDQo+ ICt7DQo+ICsgIGlmICgoVmFsdWUgPT0gTlVMTCkgfHwgKEV4cG9uZW50ID09IE5VTEwpKSB7DQo+ ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0KPiArDQo+ICsgIHdo aWxlICgoKlZhbHVlICUgMikgPT0gMCkgew0KPiArICAgICpWYWx1ZT0qVmFsdWUvMjsNCj4gKyAg ICAoKkV4cG9uZW50KSsrOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0K PiArfQ0KPiArDQo+ICsvKioNCj4gKyAgRmllbGQgRmlsbGluZyBGdW5jdGlvbi4gVHJhbnNmb3Jt IGFuIEVGSV9FWFBfQkFTRTJfREFUQSB0byBhIGJ5dGUsIHdpdGgNCj4gJzY0aycNCj4gKyAgYXMg dGhlIHVuaXQuDQo+ICsNCj4gKyAgQHBhcmFtICBCYXNlMkRhdGEgICAgICAgICAgICAgIFBvaW50 ZXIgdG8gQmFzZTJfRGF0YQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg ICBUcmFuc2Zvcm0gc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFN RVRFUiAgSW52YWxpZCBwYXJhbWV0ZXIgd2FzIGZvdW5kLg0KPiArDQo+ICsqKi8NCj4gK1VJTlQx Ng0KPiArQmFzZTJUb0J5dGVXaXRoNjRLVW5pdCAoDQo+ICsgIElOICAgICAgRUZJX0VYUF9CQVNF Ml9EQVRBICAqQmFzZTJEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDE2ICAgICAgICAgICAg ICBWYWx1ZTsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICBFeHBvbmVudDsNCj4gKw0KPiArICBW YWx1ZSAgICAgPSBCYXNlMkRhdGEtPlZhbHVlOw0KPiArICBFeHBvbmVudCAgPSBCYXNlMkRhdGEt PkV4cG9uZW50Ow0KPiArICBFeHBvbmVudCAtPSAxNjsNCj4gKyAgVmFsdWUgPDw9IEV4cG9uZW50 Ow0KPiArDQo+ICsgIHJldHVybiBWYWx1ZTsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAg VGhpcyBmdW5jdGlvbiBtYWtlcyBib290IHRpbWUgY2hhbmdlcyB0byB0aGUgY29udGVudHMgb2Yg dGhlDQo+ICsgIE1pc2NCaW9zVmVuZG9yIChUeXBlIDApLg0KPiArDQo+ICsgIEBwYXJhbSAgUmVj b3JkRGF0YSAgICAgICAgICAgICAgICAgUG9pbnRlciB0byBjb3B5IG9mIFJlY29yZERhdGEgZnJv bSB0aGUgRGF0YQ0KPiBUYWJsZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg ICAgICAgICAgIEFsbCBwYXJhbWV0ZXJzIHdlcmUgdmFsaWQuDQo+ICsgIEByZXR2YWwgRUZJX1VO U1VQUE9SVEVEICAgICAgICAgICAgVW5leHBlY3RlZCBSZWNvcmRUeXBlIHZhbHVlLg0KPiArICBA cmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgICAgIEludmFsaWQgcGFyYW1ldGVyIHdhcyBm b3VuZC4NCj4gKw0KPiArKiovDQo+ICtNSVNDX1NNQklPU19UQUJMRV9GVU5DVElPTihNaXNjQmlv c1ZlbmRvcikNCj4gK3sNCj4gKyAgQ0hBUjggICAgICAgICAgICAgICAgICpPcHRpb25hbFN0clN0 YXJ0Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgVmVuZG9yU3RyTGVuOw0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgVmVyU3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg RGF0ZVN0ckxlbjsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICpWZXJzaW9uOw0KPiArICBD SEFSMTYgICAgICAgICAgICAgICAgKlJlbGVhc2VEYXRlOw0KPiArICBDSEFSMTYgICAgICAgICAg ICAgICAgQmlvc1ZlcnNpb25bMTAwXTsgICAgICAgICAvL0Fzc3VtaW5nIHRoYXQgc3RyaW5ncyBh cmUgPCAxMDANCj4gVUNIQVINCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgIEJpb3NSZWxlYXNl RGF0ZVsxMDBdOyAgICAgLy9Bc3N1bWluZyB0aGF0IHN0cmluZ3MgYXJlIDwgMTAwDQo+IFVDSEFS DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICBCaW9zUmVsZWFzZVRpbWVbMTAwXTsgICAgIC8v QXNzdW1pbmcgdGhhdCBzdHJpbmdzIGFyZSA8IDEwMA0KPiBVQ0hBUg0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfU1RSSU5HICAgICAgICAgICAgQ2hhcjE2U3Ry aW5nOw0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgVG9rZW5Ub0dldDsNCj4gKyAgU1RSSU5H X1JFRiAgICAgICAgICAgIFRva2VuVG9VcGRhdGU7DQo+ICsgIFNNQklPU19UQUJMRV9UWVBFMCAg ICAqU21iaW9zUmVjb3JkOw0KPiArICBFRklfU01CSU9TX0hBTkRMRSAgICAgU21iaW9zSGFuZGxl Ow0KPiArICBFRklfTUlTQ19CSU9TX1ZFTkRPUiAqRm9yVHlwZTBJbnB1dERhdGE7DQo+ICsgIEJJ T1NfSURfSU1BR0UgICAgICAgICBCaW9zSWRJbWFnZTsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAg ICAgIFVWZXJTdHJbMzJdOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgTG9vcEluZGV4Ow0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgQ29weUluZGV4Ow0KPiArICBNQU5JRkVTVF9PRU1f REFUQSAgICAgKklGV0lWZXJTdHJ1Y3Q7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAqRGF0 YTggPSBOVUxMOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgU3BhY2VWZXJbMl09ezB4MDAy MCwweDAwMDB9Ow0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgQklPU1ZlcnNpb25UZW1wWzEw MF07DQo+ICsNCj4gKyAgRm9yVHlwZTBJbnB1dERhdGEgICAgICAgID0gKEVGSV9NSVNDX0JJT1Nf VkVORE9SICopUmVjb3JkRGF0YTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBGaXJzdCBjaGVjayBm b3IgaW52YWxpZCBwYXJhbWV0ZXJzLg0KPiArICAvLw0KPiArICBpZiAoUmVjb3JkRGF0YSA9PSBO VUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFNRVRFUjsNCj4gKyAgfQ0KPiAr ICBHZXRCaW9zSWQgKCZCaW9zSWRJbWFnZSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gIEFkZCBW TFYyIEJJT1MgVmVyc2lvbiBhbmQgUmVsZWFzZSBkYXRhDQo+ICsgIC8vDQo+ICsgIFNldE1lbShC aW9zVmVyc2lvbiwgc2l6ZW9mKEJpb3NWZXJzaW9uKSwgMCk7DQo+ICsgIFNldE1lbShCaW9zUmVs ZWFzZURhdGUsIHNpemVvZihCaW9zUmVsZWFzZURhdGUpLCAwKTsNCj4gKyAgU2V0TWVtKEJpb3NS ZWxlYXNlVGltZSwgc2l6ZW9mKEJpb3NSZWxlYXNlVGltZSksIDApOw0KPiArICBTdGF0dXMgPSBH ZXRCaW9zVmVyc2lvbkRhdGVUaW1lIChCaW9zVmVyc2lvbiwgQmlvc1JlbGVhc2VEYXRlLA0KPiBC aW9zUmVsZWFzZVRpbWUpOw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiR2V0Qmlvc1ZlcnNp b25EYXRlVGltZSA6JXMgJXMgJXMgXG4iLA0KPiBCaW9zVmVyc2lvbiwgQmlvc1JlbGVhc2VEYXRl LCBCaW9zUmVsZWFzZVRpbWUpKTsNCj4gKyAgaWYgKFN0ckxlbiAoQmlvc1ZlcnNpb24pID4gMCkg ew0KPiArICAgIFRva2VuVG9VcGRhdGUgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX0JJT1NfVkVS U0lPTik7DQo+ICsgICAgSGlpU2V0U3RyaW5nIChtSGlpSGFuZGxlLCBUb2tlblRvVXBkYXRlLCBC aW9zVmVyc2lvbiwgTlVMTCk7DQo+ICsgIH0NCj4gKw0KPiArICBpZiAoU3RyTGVuKEJpb3NSZWxl YXNlRGF0ZSkgPiAwKSB7DQo+ICsgICAgVG9rZW5Ub1VwZGF0ZSA9IFNUUklOR19UT0tFTiAoU1RS X01JU0NfQklPU19SRUxFQVNFX0RBVEUpOw0KPiArICAgIEhpaVNldFN0cmluZyAobUhpaUhhbmRs ZSwgVG9rZW5Ub1VwZGF0ZSwgQmlvc1JlbGVhc2VEYXRlLCBOVUxMKTsNCj4gKyAgfQ0KPiArDQo+ ICsgIFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX0JJT1NfVkVORE9SKTsNCj4g KyAgQ2hhcjE2U3RyaW5nID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsg IFZlbmRvclN0ckxlbiA9IFN0ckxlbihDaGFyMTZTdHJpbmcpOw0KPiArICBpZiAoVmVuZG9yU3Ry TGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNV UFBPUlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNU Ul9NSVNDX0JJT1NfVkVSU0lPTik7DQo+ICsgIFZlcnNpb24gPSBTbWJpb3NNaXNjR2V0U3RyaW5n IChUb2tlblRvR2V0KTsNCj4gKw0KPiArICBaZXJvTWVtIChVVmVyU3RyLCAyKjMyKTsNCj4gKyAg WmVyb01lbSAoQklPU1ZlcnNpb25UZW1wLCAyKjEwMCk7DQo+ICsgIFN0ckNhdCAoQklPU1ZlcnNp b25UZW1wLFZlcnNpb24pOw0KPiArICBEYXRhOCA9IEFsbG9jYXRlUG9vbCAoU0VDVE9SX1NJWkVf NEtCKTsNCj4gKyAgWmVyb01lbSAoRGF0YTgsIFNFQ1RPUl9TSVpFXzRLQik7DQo+ICsNCj4gKyAg U3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAmZ0Vm aVNwaVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAg ICAgICAgICAgIChWT0lEICoqKSZtU3BpUHJvdG9jb2wNCj4gKyAgICAgICAgICAgICAgICAgKTsN Cj4gKyAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIC8vDQo+ICsgICAgLy8gR2V0 IGRhdGEgZm9ybSBTUEkgUk9NLg0KPiArICAgIC8vDQo+ICsgICAgU3RhdHVzID0gRmxhc2hSZWFk ICgNCj4gKyAgICAgICAgICAgICAgIE1FTV9JRldJVkVSX1NUQVJULA0KPiArICAgICAgICAgICAg ICAgRGF0YTgsDQo+ICsgICAgICAgICAgICAgICBTRUNUT1JfU0laRV80S0IsDQo+ICsgICAgICAg ICAgICAgICBFbnVtU3BpUmVnaW9uQWxsDQo+ICsgICAgICAgICAgICAgICApOw0KPiArICAgIGlm ICghRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICAgIGZvcihMb29wSW5kZXggPSAwOyBMb29w SW5kZXggPD0gU0VDVE9SX1NJWkVfNEtCOyBMb29wSW5kZXgrKykgew0KPiArICAgICAgICBJRldJ VmVyU3RydWN0ID0gKE1BTklGRVNUX09FTV9EQVRBICopKERhdGE4ICsgTG9vcEluZGV4KTsNCj4g KyAgICAgICAgaWYoSUZXSVZlclN0cnVjdC0+U2lnbmF0dXJlID09IFNJR05BVFVSRV8zMignJCcs J0YnLCdVJywnRCcpKSB7DQo+ICsgICAgICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgInRoZSBJ RldJIExlbmd0aCBpczolZFxuIiwgSUZXSVZlclN0cnVjdC0NCj4gPklGV0lWZXJzaW9uTGVuKSk7 DQo+ICsgICAgICAgICAgaWYoSUZXSVZlclN0cnVjdC0+SUZXSVZlcnNpb25MZW4gPCAzMikgew0K PiArICAgICAgICAgICAgZm9yKENvcHlJbmRleCA9IDA7IENvcHlJbmRleCA8IElGV0lWZXJTdHJ1 Y3QtPklGV0lWZXJzaW9uTGVuOw0KPiBDb3B5SW5kZXgrKykgew0KPiArICAgICAgICAgICAgICBV VmVyU3RyW0NvcHlJbmRleF0gPSAoVUlOVDE2KUlGV0lWZXJTdHJ1Y3QtDQo+ID5JRldJVmVyc2lv bltDb3B5SW5kZXhdOw0KPiArICAgICAgICAgICAgfQ0KPiArICAgICAgICAgICAgVVZlclN0cltD b3B5SW5kZXhdID0gMHgwMDAwOw0KPiArICAgICAgICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwg IlRoZSBJRldJIFZlcnNpb24gaXMgOiVzLHRoZSBJRldJIExlbmd0aA0KPiBpczolZFxuIiwgVVZl clN0cixJRldJVmVyU3RydWN0LT5JRldJVmVyc2lvbkxlbikpOw0KPiArICAgICAgICAgICAgU3Ry Q2F0KEJJT1NWZXJzaW9uVGVtcCxTcGFjZVZlcik7DQo+ICsgICAgICAgICAgICBTdHJDYXQoQklP U1ZlcnNpb25UZW1wLFVWZXJTdHIpOw0KPiArICAgICAgICAgICAgREVCVUcgKChFRklfRF9FUlJP UiwgIlRoZSBCSU9TIGFuZCBJRldJIFZlcnNpb24gaXMgOiVzXG4iLA0KPiBCSU9TVmVyc2lvblRl bXApKTsNCj4gKyAgICAgICAgICB9DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgIH0N Cj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgRnJlZVBvb2woRGF0YTgpOw0KPiAr DQo+ICsgIFZlclN0ckxlbiA9IFN0ckxlbihCSU9TVmVyc2lvblRlbXApOw0KPiArICBpZiAoVmVy U3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4g KFNUUl9NSVNDX0JJT1NfUkVMRUFTRV9EQVRFKTsNCj4gKyAgUmVsZWFzZURhdGUgPSBTbWJpb3NN aXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgRGF0ZVN0ckxlbiA9IFN0ckxlbihSZWxl YXNlRGF0ZSk7DQo+ICsgIGlmIChEYXRlU3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RI KSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFR3byB6ZXJvcyBmb2xsb3dpbmcgdGhlIGxhc3Qgc3RyaW5nLg0KPiArICAvLw0K PiArICBTbWJpb3NSZWNvcmQgPSBBbGxvY2F0ZVBvb2woc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQ RTApICsNCj4gVmVuZG9yU3RyTGVuICsgMSArIFZlclN0ckxlbiArIDEgKyBEYXRlU3RyTGVuICsg MSArIDEpOw0KPiArICBaZXJvTWVtKFNtYmlvc1JlY29yZCwgc2l6ZW9mIChTTUJJT1NfVEFCTEVf VFlQRTApICsgVmVuZG9yU3RyTGVuDQo+ICsgMSArIFZlclN0ckxlbiArIDEgKyBEYXRlU3RyTGVu ICsgMSArIDEpOw0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLlR5cGUgPSBFRklfU01CSU9T X1RZUEVfQklPU19JTkZPUk1BVElPTjsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIuTGVuZ3RoID0g c2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2Ug aGFuZGxlIGNob3NlbiBieSBzbWJpb3MgcHJvdG9jb2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ICsg IC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkhhbmRsZSA9IDA7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gVmVuZG9yIHdpbGwgYmUgdGhlIDFzdCBvcHRpb25hbCBzdHJpbmcgZm9sbG93aW5nIHRo ZSBmb3JtYXR0ZWQgc3RydWN0dXJlLg0KPiArICAvLw0KPiArICBTbWJpb3NSZWNvcmQtPlZlbmRv ciA9IDE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVmVyc2lvbiB3aWxsIGJlIHRoZSAybmQgb3B0 aW9uYWwgc3RyaW5nIGZvbGxvd2luZyB0aGUgZm9ybWF0dGVkIHN0cnVjdHVyZS4NCj4gKyAgLy8N Cj4gKyAgU21iaW9zUmVjb3JkLT5CaW9zVmVyc2lvbiA9IDI7DQo+ICsgIFNtYmlvc1JlY29yZC0+ Qmlvc1NlZ21lbnQgPSAoVUlOVDE2KUZvclR5cGUwSW5wdXREYXRhLQ0KPiA+Qmlvc1N0YXJ0aW5n QWRkcmVzczsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWxlYXNlRGF0ZSB3aWxsIGJlIHRoZSAz cmQgb3B0aW9uYWwgc3RyaW5nIGZvbGxvd2luZyB0aGUgZm9ybWF0dGVkDQo+IHN0cnVjdHVyZS4N Cj4gKyAgLy8NCj4gKyAgU21iaW9zUmVjb3JkLT5CaW9zUmVsZWFzZURhdGUgPSAzOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFRpZ2VyIGhhcyBubyBQQ0QgdmFsdWUgdG8gaW5kaWNhdGUgQklPUyBT aXplLCBqdXN0IGZpbGwgMCBmb3Igc2ltcGx5Lg0KPiArICAvLw0KPiArICBTbWJpb3NSZWNvcmQt PkJpb3NTaXplID0gMDsNCj4gKyAgU21iaW9zUmVjb3JkLT5CaW9zQ2hhcmFjdGVyaXN0aWNzID0N Cj4gKihNSVNDX0JJT1NfQ0hBUkFDVEVSSVNUSUNTKikoJkZvclR5cGUwSW5wdXREYXRhLQ0KPiA+ Qmlvc0NoYXJhY3RlcmlzdGljczEpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENoYXJhY3RlckV4 dGVuc2lvbkJ5dGVzIGFsc28gc3RvcmUgaW4gRm9yVHlwZTBJbnB1dERhdGEtDQo+ID5CaW9zQ2hh cmFjdGVyaXN0aWNzMSBsYXRlciB0d28gYnl0ZXMgdG8gc2F2ZSBzaXplLg0KPiArICAvLw0KPiAr ICBTbWJpb3NSZWNvcmQtPkJJT1NDaGFyYWN0ZXJpc3RpY3NFeHRlbnNpb25CeXRlc1swXSA9ICoo KFVJTlQ4ICopDQo+ICZGb3JUeXBlMElucHV0RGF0YS0+Qmlvc0NoYXJhY3RlcmlzdGljczEgKyA0 KTsNCj4gKyAgU21iaW9zUmVjb3JkLT5CSU9TQ2hhcmFjdGVyaXN0aWNzRXh0ZW5zaW9uQnl0ZXNb MV0gPSAqKChVSU5UOCAqKQ0KPiAmRm9yVHlwZTBJbnB1dERhdGEtPkJpb3NDaGFyYWN0ZXJpc3Rp Y3MxICsgNSk7DQo+ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5TeXN0ZW1CaW9zTWFqb3JSZWxlYXNl ID0gIEZvclR5cGUwSW5wdXREYXRhLQ0KPiA+Qmlvc01ham9yUmVsZWFzZTsNCj4gKyAgU21iaW9z UmVjb3JkLT5TeXN0ZW1CaW9zTWlub3JSZWxlYXNlID0gIEZvclR5cGUwSW5wdXREYXRhLQ0KPiA+ Qmlvc01pbm9yUmVsZWFzZTsNCj4gKyAgU21iaW9zUmVjb3JkLT5FbWJlZGRlZENvbnRyb2xsZXJG aXJtd2FyZU1ham9yUmVsZWFzZSA9DQo+IEZvclR5cGUwSW5wdXREYXRhLT5CaW9zRW1iZWRkZWRG aXJtd2FyZU1ham9yUmVsZWFzZTsNCj4gKyAgU21iaW9zUmVjb3JkLT5FbWJlZGRlZENvbnRyb2xs ZXJGaXJtd2FyZU1pbm9yUmVsZWFzZSA9DQo+IEZvclR5cGUwSW5wdXREYXRhLT5CaW9zRW1iZWRk ZWRGaXJtd2FyZU1pbm9yUmVsZWFzZTsNCj4gKw0KPiArICBPcHRpb25hbFN0clN0YXJ0ID0gKENI QVI4ICopKFNtYmlvc1JlY29yZCArIDEpOw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihDaGFy MTZTdHJpbmcsIE9wdGlvbmFsU3RyU3RhcnQpOw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihC SU9TVmVyc2lvblRlbXAsIE9wdGlvbmFsU3RyU3RhcnQgKyBWZW5kb3JTdHJMZW4NCj4gKyAxKTsN Cj4gKyAgVW5pY29kZVN0clRvQXNjaWlTdHIoUmVsZWFzZURhdGUsIE9wdGlvbmFsU3RyU3RhcnQg KyBWZW5kb3JTdHJMZW4gKyAxICsNCj4gVmVyU3RyTGVuICsgMSk7DQo+ICsNCj4gKyAgLy8NCj4g KyAgLy8gTm93IHdlIGhhdmUgZ290IHRoZSBmdWxsIHNtYmlvcyByZWNvcmQsIGNhbGwgc21iaW9z IHByb3RvY29sIHRvIGFkZCB0aGlzDQo+IHJlY29yZC4NCj4gKyAgLy8NCj4gKyAgU21iaW9zSGFu ZGxlID0gU01CSU9TX0hBTkRMRV9QSV9SRVNFUlZFRDsNCj4gKyAgU3RhdHVzID0gU21iaW9zLT4g QWRkKA0KPiArICAgICAgICAgICAgICAgICAgICAgIFNtYmlvcywNCj4gKyAgICAgICAgICAgICAg ICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZTbWJpb3NIYW5kbGUsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgKEVGSV9TTUJJT1NfVEFCTEVfSEVBREVSICopIFNtYmlv c1JlY29yZA0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgRnJlZVBvb2wo U21iaW9zUmVjb3JkKTsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gZGlmZiAtLWdpdA0K PiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jv b3RJbmZvcm1hdGlvbkQNCj4gYXRhLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCb290SW5mb3JtYXRpb25EDQo+IGF0YS5jDQo+IG5ldyBm aWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjZiMGY1NjIyNjENCj4gLS0tIC9k ZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJp b3NNaXNjRHhlL01pc2NCb290SW5mb3JtYXRpb25EDQo+IGF0YS5jDQo+IEBAIC0wLDAgKzEsMzQg QEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY0Jvb3RJbmZvcm1hdGlv bkRhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBTdGF0aWMgZGF0YSBvZiBCb290 IGluZm9ybWF0aW9uLg0KPiArICBCb290IGluZm9ybWF0aW9uIGlzIE1pc2MuIHN1YmNsYXNzIHR5 cGUgMjYgYW5kIFNNQklPUyB0eXBlIDMyLg0KPiArDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsNCj4g KyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCINCj4gKw0KPiArI2luY2x1ZGUgIk1pc2NTdWJjbGFz c0RyaXZlci5oIg0KPiArDQo+ICsvLw0KPiArLy8gU3RhdGljIChwb3NzaWJseSBidWlsZCBnZW5l cmF0ZWQpIEJpb3MgVmVuZG9yIGRhdGEuDQo+ICsvLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfREFU QShFRklfTUlTQ19CT09UX0lORk9STUFUSU9OX1NUQVRVU19EDQo+IEFUQSwgQm9vdEluZm9ybWF0 aW9uU3RhdHVzKQ0KPiArPSB7DQo+ICsgIEVmaUJvb3RJbmZvcm1hdGlvblN0YXR1c05vRXJyb3Is ICAvLyBCb290SW5mb3JtYXRpb25TdGF0dXMNCj4gKyAgMCAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIC8vIEJvb3RJbmZvcm1hdGlvbkRhdGENCj4gK307DQo+IGRpZmYgLS1naXQNCj4g YS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NCb290 SW5mb3JtYXRpb25GDQo+IHVuY3Rpb24uYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0Jvb3RJbmZvcm1hdGlvbkYNCj4gdW5jdGlvbi5jDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjBkNGQ1MGM2NjMNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbUJpb3NNaXNjRHhlL01pc2NCb290SW5mb3JtYXRpb25GDQo+IHVuY3Rpb24uYw0KPiBAQCAt MCwwICsxLDgyIEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwOSAtIDIwMTQs IEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4g KyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiAr DQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2NCb290SW5mb3Jt YXRpb25GdW5jdGlvbi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIGJvb3QgaW5mb3Jt YXRpb24gYm9vdCB0aW1lIGNoYW5nZXMuDQo+ICsgIFNNQklPUyB0eXBlIDMyLg0KPiArDQo+ICst LSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ICsjaW5j bHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMg ZnVuY3Rpb24gbWFrZXMgYm9vdCB0aW1lIGNoYW5nZXMgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZQ0K PiArICBNaXNjQm9vdEluZm9ybWF0aW9uIChUeXBlIDMyKS4NCj4gKw0KPiArICBAcGFyYW0gIFJl Y29yZERhdGEgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gY29weSBvZiBSZWNvcmREYXRhIGZy b20gdGhlIERhdGENCj4gVGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgICAgICAgICBBbGwgcGFyYW1ldGVycyB3ZXJlIHZhbGlkLg0KPiArICBAcmV0dmFsIEVGSV9V TlNVUFBPUlRFRCAgICAgICAgICAgIFVuZXhwZWN0ZWQgUmVjb3JkVHlwZSB2YWx1ZS4NCj4gKyAg QHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICBJbnZhbGlkIHBhcmFtZXRlciB3YXMg Zm91bmQuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICtNSVNDX1NNQklPU19UQUJMRV9GVU5DVElPTihC b290SW5mb3JtYXRpb25TdGF0dXMpDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfU01CSU9TX0hBTkRMRSAgICAgICAgICAgICAg ICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgU01CSU9TX1RBQkxFX1RZUEUzMiAgICAgICAgICAgICAg ICAqU21iaW9zUmVjb3JkOw0KPiArICBFRklfTUlTQ19CT09UX0lORk9STUFUSU9OX1NUQVRVUyog IEZvclR5cGUzMklucHV0RGF0YTsNCj4gKw0KPiArICBGb3JUeXBlMzJJbnB1dERhdGEgPSAoRUZJ X01JU0NfQk9PVF9JTkZPUk1BVElPTl9TVEFUVVMNCj4gKilSZWNvcmREYXRhOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIEZpcnN0IGNoZWNrIGZvciBpbnZhbGlkIHBhcmFtZXRlcnMuDQo+ICsgIC8v DQo+ICsgIGlmIChSZWNvcmREYXRhID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHdvIHplcm9zIGZv bGxvd2luZyB0aGUgbGFzdCBzdHJpbmcuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZCA9IEFs bG9jYXRlUG9vbChzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFMzIpICsgMSArIDEpOw0KPiArICBa ZXJvTWVtKFNtYmlvc1JlY29yZCwgc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTMyKSArIDEgKyAx KTsNCj4gKw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5UeXBlID0NCj4gRUZJX1NNQklPU19UWVBF X1NZU1RFTV9CT09UX0lORk9STUFUSU9OOw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5MZW5ndGgg PSBzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFMzIpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1h a2UgaGFuZGxlIGNob3NlbiBieSBzbWJpb3MgcHJvdG9jb2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkhhbmRsZSA9IDA7DQo+ICsgIFNtYmlvc1Jl Y29yZC0+Qm9vdFN0YXR1cyA9IChVSU5UOClGb3JUeXBlMzJJbnB1dERhdGEtDQo+ID5Cb290SW5m b3JtYXRpb25TdGF0dXM7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTm93IHdlIGhhdmUgZ290IHRo ZSBmdWxsIHNtYmlvcyByZWNvcmQsIGNhbGwgc21iaW9zIHByb3RvY29sIHRvIGFkZCB0aGlzDQo+ IHJlY29yZC4NCj4gKyAgLy8NCj4gKyAgU21iaW9zSGFuZGxlID0gU01CSU9TX0hBTkRMRV9QSV9S RVNFUlZFRDsNCj4gKyAgU3RhdHVzID0gU21iaW9zLT4gQWRkKA0KPiArICAgICAgICAgICAgICAg ICAgICAgIFNtYmlvcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICZTbWJpb3NIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg KEVGSV9TTUJJT1NfVEFCTEVfSEVBREVSICopIFNtYmlvc1JlY29yZA0KPiArICAgICAgICAgICAg ICAgICAgICAgICk7DQo+ICsgIEZyZWVQb29sKFNtYmlvc1JlY29yZCk7DQo+ICsgIHJldHVybiBT dGF0dXM7DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NDaGFzc2lzTWFudWZhY3R1cg0KPiBlci51bmkNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NDaGFz c2lzTWFudWZhY3R1DQo+IHJlci51bmkNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXgg MDAwMDAwMDAwMC4uMWM4ZGQzNWIzNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0NoYXNzaXNNYW51 ZmFjdHUNCj4gcmVyLnVuaQ0KPiBAQCAtMCwwICsxLDI4IEBADQo+ICsvLyAqKysNCj4gKy8vDQo+ ICsvLyBDb3B5cmlnaHQgKGMpIDIwMDQgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArLy8NCj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ ICsvLyAgIE1pc2NDaGFzc2lzTWFudWZhY3R1cmVyLnVuaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0 Og0KPiArLy8NCj4gKy8vICAgQ2hhc3NpcyBpbmZvcm1hdGlvbg0KPiArLy8NCj4gKy8vIFJldmlz aW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0qLw0KPiArDQo+ICsNCj4gKy89Iw0KPiArDQo+ ICsjbGFuZ2RlZiBlbi1VUyAiRW5nbGlzaCINCj4gKw0KPiArI3N0cmluZyBTVFJfTUlTQ19DSEFT U0lTX01BTlVGQUNUVVJFUiAgI2xhbmd1YWdlIGVuLVVTICAiQ2lyY3VpdGNvIg0KPiArI3N0cmlu ZyBTVFJfTUlTQ19DSEFTU0lTX1ZFUlNJT04gICAgICAgI2xhbmd1YWdlIGVuLVVTICAiICINCj4g KyNzdHJpbmcgU1RSX01JU0NfQ0hBU1NJU19TRVJJQUxfTlVNQkVSICNsYW5ndWFnZSBlbi1VUyAg IiAiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX0NIQVNTSVNfQVNTRVRfVEFHICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgICIgIg0KPiArI3N0cmluZyBTVFJfTUlTQ19DSEFTU0lTX1NLVV9OVU1CRVIgICAgI2xh bmd1YWdlIGVuLVVTICAiICINCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0NoYXNzaXNNYW51ZmFjdHVyDQo+IGVyRGF0 YS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjQ2hhc3Npc01hbnVmYWN0dQ0KPiByZXJEYXRhLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uZWUxMWM5ZWFjNA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0No YXNzaXNNYW51ZmFjdHUNCj4gcmVyRGF0YS5jDQo+IEBAIC0wLDAgKzEsNTcgQEANCj4gKy8qKiBA ZmlsZQ0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0K PiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY0NoYXNzaXNNYW51ZmFjdHVyZXJEYXRhLmMN Cj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgU3RhdGljIGRhdGEgaXMgQ2hhc3NpcyBNYW51 ZmFjdHVyZXIgaW5mb3JtYXRpb24uDQo+ICsgIENoYXNzaXMgTWFudWZhY3R1cmVyIGluZm9ybWF0 aW9uIGlzIE1pc2MuIHN1YmNsYXNzIHR5cGUgNSBhbmQgU01CSU9TDQo+IHR5cGUgMy4NCj4gKw0K PiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsN Cj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiArLy8NCj4gKy8vIFN0 YXRpYyAocG9zc2libHkgYnVpbGQgZ2VuZXJhdGVkKSBDaGFzc2lzIE1hbnVmYWN0dXJlciBkYXRh Lg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfQ0hBU1NJU19NQU5V RkFDVFVSRVJfREFUQSwNCj4gTWlzY0NoYXNzaXNNYW51ZmFjdHVyZXIpDQo+ICs9IHsNCj4gKyAg U1RSSU5HX1RPS0VOKFNUUl9NSVNDX0NIQVNTSVNfTUFOVUZBQ1RVUkVSKSwgIC8vDQo+IENoYXNz aXNNYW51ZmFjdHJ1cmVyDQo+ICsgIFNUUklOR19UT0tFTihTVFJfTUlTQ19DSEFTU0lTX1ZFUlNJ T04pLCAgICAgICAvLyBDaGFzc2lzVmVyc2lvbg0KPiArICBTVFJJTkdfVE9LRU4oU1RSX01JU0Nf Q0hBU1NJU19TRVJJQUxfTlVNQkVSKSwgLy8NCj4gQ2hhc3Npc1NlcmlhbE51bWJlcg0KPiArICBT VFJJTkdfVE9LRU4oU1RSX01JU0NfQ0hBU1NJU19BU1NFVF9UQUcpLCAgICAgLy8gQ2hhc3Npc0Fz c2V0VGFnDQo+ICsgIHsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2hhc3Npc1R5 cGVTdGF0dXMNCj4gKyAgICBFZmlNaXNjQ2hhc3Npc1R5cGVVbmtub3duLCAgICAvLyBDaGFzc2lz VHlwZQ0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYXNzaXNMb2Nr UHJlc2VudA0KPiArICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVk DQo+ICsgIH0sDQo+ICsgIEVmaUNoYXNzaXNTdGF0ZVNhZmUsICAgICAgICAgICAgLy8gQ2hhc3Np c0Jvb3R1cFN0YXRlDQo+ICsgIEVmaUNoYXNzaXNTdGF0ZVNhZmUsICAgICAgICAgICAgLy8gQ2hh c3Npc1Bvd2VyU3VwcGx5U3RhdGUNCj4gKyAgRWZpQ2hhc3Npc1N0YXRlT3RoZXIsICAgICAgICAg ICAvLyBDaGFzc2lzVGhlcm1hbFN0YXRlDQo+ICsgIEVmaUNoYXNzaXNTZWN1cml0eVN0YXR1c090 aGVyLCAgLy8gQ2hhc3Npc1NlY3VyaXR5U3RhdGUNCj4gKyAgMCwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBDaGFzc2lzT2VtRGVmaW5lZA0KPiArICAwLCAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIENoYXNzaXNIZWlnaHQNCj4gKyAgMCwgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBDaGFzc2lzTnVtYmVyUG93ZXJDb3Jkcw0KPiArICAwLCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIENoYXNzaXNFbGVtZW50Q291bnQNCj4gKyAgMCwgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGFzc2lzRWxlbWVudFJlY29yZExlbmd0aA0KPiAr ICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYXNzaXNFbGVtZW50cw0KPiAr ICAgIHswLCAwLCAwfSwgICAgICAgICAgICAgICAgICAgIC8vIENoYXNzaXNFbGVtZW50VHlwZQ0K PiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYXNzaXNFbGVtZW50U3Ry dWN0dXJlDQo+ICsgICAgRWZpQmFzZUJvYXJkVHlwZVVua25vd24sICAgICAgLy8gQ2hhc3Npc0Jh c2VCb2FyZA0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYXNzaXNF bGVtZW50TWluaW11bQ0KPiArICAgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENo YXNzaXNFbGVtZW50TWF4aW11bQ0KPiArICB9LA0KPiArfTsNCj4gZGlmZiAtLWdpdA0KPiBhL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0NoYXNzaXNN YW51ZmFjdHVyDQo+IGVyRnVuY3Rpb24uYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY0NoYXNzaXNNYW51ZmFjdHUNCj4gcmVyRnVuY3Rpb24u Yw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jNDJiYTNkMGQx DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjQ2hhc3Npc01hbnVmYWN0dQ0KPiByZXJGdW5jdGlvbi5j DQo+IEBAIC0wLDAgKzEsMTU4IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAw OSAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4g Kw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2ND aGFzc2lzTWFudWZhY3R1cmVyRnVuY3Rpb24uYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiAr ICBDaGFzc2lzIG1hbnVmYWN0dXJlciBpbmZvcm1hdGlvbiBib290IHRpbWUgY2hhbmdlcy4NCj4g KyAgU01CSU9TIHR5cGUgMy4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJD b21tb25IZWFkZXIuaCINCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKyNp bmNsdWRlIDxHdWlkL1BsYXRmb3JtSW5mby5oPg0KPiArDQo+ICsNCj4gK2V4dGVybiBFRklfUExB VEZPUk1fSU5GT19IT0IgKm1QbGF0Zm9ybUluZm87DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1 bmN0aW9uIG1ha2VzIGJvb3QgdGltZSBjaGFuZ2VzIHRvIHRoZSBjb250ZW50cyBvZiB0aGUNCj4g KyAgTWlzY0NoYXNzaXNNYW51ZmFjdHVyZXIgKFR5cGUgMykuDQo+ICsNCj4gKyAgQHBhcmFtICBS ZWNvcmREYXRhICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIGNvcHkgb2YgUmVjb3JkRGF0YSBm cm9tIHRoZSBEYXRhDQo+IFRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAg ICAgICAgICAgICAgQWxsIHBhcmFtZXRlcnMgd2VyZSB2YWxpZC4NCj4gKyAgQHJldHZhbCBFRklf VU5TVVBQT1JURUQgICAgICAgICAgICBVbmV4cGVjdGVkIFJlY29yZFR5cGUgdmFsdWUuDQo+ICsg IEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAgSW52YWxpZCBwYXJhbWV0ZXIgd2Fz IGZvdW5kLg0KPiArDQo+ICsqKi8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0ZVTkNUSU9OKE1pc2ND aGFzc2lzTWFudWZhY3R1cmVyKQ0KPiArew0KPiArICBDSEFSOCAgICAgICAgICAgICAgICAgICAg ICAgICAgICpPcHRpb25hbFN0clN0YXJ0Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgIE1hbnVTdHJMZW47DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAg VmVyU3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIEFzc2VydFRh Z1N0ckxlbjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBTZXJpYWxOdW1T dHJMZW47DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiAr ICBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgIE1hbnVmYWN0dXJlcjsNCj4gKyAgRUZJ X1NUUklORyAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOw0KPiArICBFRklfU1RSSU5HICAg ICAgICAgICAgICAgICAgICAgIFNlcmlhbE51bWJlcjsNCj4gKyAgRUZJX1NUUklORyAgICAgICAg ICAgICAgICAgICAgICBBc3NlcnRUYWc7DQo+ICsgIFNUUklOR19SRUYgICAgICAgICAgICAgICAg ICAgICAgVG9rZW5Ub0dldDsNCj4gKyAgRUZJX1NNQklPU19IQU5ETEUgICAgICAgICAgICAgICBT bWJpb3NIYW5kbGU7DQo+ICsgIFNNQklPU19UQUJMRV9UWVBFMyAgICAgICAgICAgICAgKlNtYmlv c1JlY29yZDsNCj4gKyAgRUZJX01JU0NfQ0hBU1NJU19NQU5VRkFDVFVSRVIgICAqRm9yVHlwZTNJ bnB1dERhdGE7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyWzQw XTsNCj4gKw0KPiArICBGb3JUeXBlM0lucHV0RGF0YSA9IChFRklfTUlTQ19DSEFTU0lTX01BTlVG QUNUVVJFUiAqKVJlY29yZERhdGE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3QgY2hlY2sg Zm9yIGludmFsaWQgcGFyYW1ldGVycy4NCj4gKyAgLy8NCj4gKyAgaWYgKFJlY29yZERhdGEgPT0g TlVMTCB8fCBtUGxhdGZvcm1JbmZvID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX0lOVkFM SURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEJPQVJEX0lEX01JTk5PVzJfVFVS Qk9UID09IG1QbGF0Zm9ybUluZm8tPkJvYXJkSWQpIHsNCj4gKyAgICBVbmljb2RlU1ByaW50IChC dWZmZXIsIHNpemVvZiAoQnVmZmVyKSxMIkFESSIpOw0KPiArDQo+IEhpaVNldFN0cmluZyhtSGlp SGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19DSEFTU0lTX01BTlVGQUNUVVINCj4gRVIpLCBC dWZmZXIsIE5VTEwpOw0KPiArICB9DQo+ICsgIFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNU Ul9NSVNDX0NIQVNTSVNfTUFOVUZBQ1RVUkVSKTsNCj4gKyAgTWFudWZhY3R1cmVyID0gU21iaW9z TWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgIE1hbnVTdHJMZW4gPSBTdHJMZW4oTWFu dWZhY3R1cmVyKTsNCj4gKyAgaWYgKE1hbnVTdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5H VEgpIHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4gKyAg VG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfQ0hBU1NJU19WRVJTSU9OKTsNCj4g KyAgVmVyc2lvbiA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICBWZXJT dHJMZW4gPSBTdHJMZW4oVmVyc2lvbik7DQo+ICsgIGlmIChWZXJTdHJMZW4gPiBTTUJJT1NfU1RS SU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9 DQo+ICsNCj4gKyAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfQ0hBU1NJU19T RVJJQUxfTlVNQkVSKTsNCj4gKyAgU2VyaWFsTnVtYmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAo VG9rZW5Ub0dldCk7DQo+ICsgIFNlcmlhbE51bVN0ckxlbiA9IFN0ckxlbihTZXJpYWxOdW1iZXIp Ow0KPiArICBpZiAoU2VyaWFsTnVtU3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7 DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2Vu VG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX0NIQVNTSVNfQVNTRVRfVEFHKTsNCj4gKyAg QXNzZXJ0VGFnID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgIEFzc2Vy dFRhZ1N0ckxlbiA9IFN0ckxlbihBc3NlcnRUYWcpOw0KPiArICBpZiAoQXNzZXJ0VGFnU3RyTGVu ID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBP UlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFR3byB6ZXJvcyBmb2xsb3dpbmcg dGhlIGxhc3Qgc3RyaW5nLg0KPiArICAvLw0KPiArICBTbWJpb3NSZWNvcmQgPSBBbGxvY2F0ZVBv b2woc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTMpICsNCj4gTWFudVN0ckxlbiArIDEgICsgVmVy U3RyTGVuICsgMSArIFNlcmlhbE51bVN0ckxlbiArIDEgKyBBc3NlcnRUYWdTdHJMZW4gKyAxDQo+ ICsgMSk7DQo+ICsgIFplcm9NZW0oU21iaW9zUmVjb3JkLCBzaXplb2YgKFNNQklPU19UQUJMRV9U WVBFMykgKyBNYW51U3RyTGVuICsNCj4gMSAgKyBWZXJTdHJMZW4gKyAxICsgU2VyaWFsTnVtU3Ry TGVuICsgMSArIEFzc2VydFRhZ1N0ckxlbiArIDEgKyAxKTsNCj4gKw0KPiArICBTbWJpb3NSZWNv cmQtPkhkci5UeXBlID0gRUZJX1NNQklPU19UWVBFX1NZU1RFTV9FTkNMT1NVUkU7DQo+ICsgIFNt Ymlvc1JlY29yZC0+SGRyLkxlbmd0aCA9IHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEUzKTsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBNYWtlIGhhbmRsZSBjaG9zZW4gYnkgc21iaW9zIHByb3RvY29s LmFkZCBhdXRvbWF0aWNhbGx5Lg0KPiArICAvLw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5IYW5k bGUgPSAwOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1hbnUgd2lsbCBiZSB0aGUgMXN0IG9wdGlv bmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlIGZvcm1hdHRlZCBzdHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ ICsgIFNtYmlvc1JlY29yZC0+TWFudWZhY3R1cmVyID0gMTsNCj4gKyAgU21iaW9zUmVjb3JkLT5U eXBlID0gKFVJTlQ4KUZvclR5cGUzSW5wdXREYXRhLQ0KPiA+Q2hhc3Npc1R5cGUuQ2hhc3Npc1R5 cGU7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVmVyc2lvbiB3aWxsIGJlIHRoZSAybmQgb3B0aW9u YWwgc3RyaW5nIGZvbGxvd2luZyB0aGUgZm9ybWF0dGVkIHN0cnVjdHVyZS4NCj4gKyAgLy8NCj4g KyAgU21iaW9zUmVjb3JkLT5WZXJzaW9uID0gMjsNCj4gKw0KPiArICAvLw0KPiArICAvLyBTZXJp YWxOdW1iZXIgd2lsbCBiZSB0aGUgM3JkIG9wdGlvbmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlIGZv cm1hdHRlZA0KPiBzdHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+U2VyaWFs TnVtYmVyID0gMzsNCj4gKw0KPiArICAvLw0KPiArICAvLyBBc3NlcnRUYWcgd2lsbCBiZSB0aGUg NHRoIG9wdGlvbmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlIGZvcm1hdHRlZA0KPiBzdHJ1Y3R1cmUu DQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+QXNzZXRUYWcgPSA0Ow0KPiArICBTbWJpb3NS ZWNvcmQtPkJvb3R1cFN0YXRlID0gKFVJTlQ4KUZvclR5cGUzSW5wdXREYXRhLQ0KPiA+Q2hhc3Np c0Jvb3R1cFN0YXRlOw0KPiArICBTbWJpb3NSZWNvcmQtPlBvd2VyU3VwcGx5U3RhdGUgPSAoVUlO VDgpRm9yVHlwZTNJbnB1dERhdGEtDQo+ID5DaGFzc2lzUG93ZXJTdXBwbHlTdGF0ZTsNCj4gKyAg U21iaW9zUmVjb3JkLT5UaGVybWFsU3RhdGUgPSAoVUlOVDgpRm9yVHlwZTNJbnB1dERhdGEtDQo+ ID5DaGFzc2lzVGhlcm1hbFN0YXRlOw0KPiArICBTbWJpb3NSZWNvcmQtPlNlY3VyaXR5U3RhdHVz ID0gKFVJTlQ4KUZvclR5cGUzSW5wdXREYXRhLQ0KPiA+Q2hhc3Npc1NlY3VyaXR5U3RhdGU7DQo+ ICsgIENvcHlNZW0gKFNtYmlvc1JlY29yZC0+T2VtRGVmaW5lZCwoVUlOVDgqKSZGb3JUeXBlM0lu cHV0RGF0YS0NCj4gPkNoYXNzaXNPZW1EZWZpbmVkLCA0KTsNCj4gKw0KPiArICBPcHRpb25hbFN0 clN0YXJ0ID0gKENIQVI4ICopKFNtYmlvc1JlY29yZCArIDEpOw0KPiArICBVbmljb2RlU3RyVG9B c2NpaVN0cihNYW51ZmFjdHVyZXIsIE9wdGlvbmFsU3RyU3RhcnQpOw0KPiArICBVbmljb2RlU3Ry VG9Bc2NpaVN0cihWZXJzaW9uLCBPcHRpb25hbFN0clN0YXJ0ICsgTWFudVN0ckxlbiArIDEpOw0K PiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihTZXJpYWxOdW1iZXIsIE9wdGlvbmFsU3RyU3RhcnQg KyBNYW51U3RyTGVuICsgMSArDQo+IFZlclN0ckxlbiArIDEpOw0KPiArICBVbmljb2RlU3RyVG9B c2NpaVN0cihBc3NlcnRUYWcsIE9wdGlvbmFsU3RyU3RhcnQgKyBNYW51U3RyTGVuICsgMSArDQo+ IFZlclN0ckxlbiArIDEgKyBTZXJpYWxOdW1TdHJMZW4gKyAxKTsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBOb3cgd2UgaGF2ZSBnb3QgdGhlIGZ1bGwgc21iaW9zIHJlY29yZCwgY2FsbCBzbWJpb3Mg cHJvdG9jb2wgdG8gYWRkIHRoaXMNCj4gcmVjb3JkLg0KPiArICAvLw0KPiArICBTbWJpb3NIYW5k bGUgPSBTTUJJT1NfSEFORExFX1BJX1JFU0VSVkVEOw0KPiArICBTdGF0dXMgPSBTbWJpb3MtPiBB ZGQoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgU21iaW9zLA0KPiArICAgICAgICAgICAgICAg ICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJlNtYmlvc0hhbmRsZSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAoRUZJX1NNQklPU19UQUJMRV9IRUFERVIgKikgU21iaW9z UmVjb3JkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICBGcmVlUG9vbChT bWJpb3NSZWNvcmQpOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+ IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjTWVt b3J5RGV2aWNlLnVuDQo+IGkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T bUJpb3NNaXNjRHhlL01pc2NNZW1vcnlEZXZpY2UudW4NCj4gaQ0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45ZGQwYjc2ZWEyDQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjTWVtb3J5RGV2aWNlLnVuDQo+IGkNCj4gQEAgLTAsMCArMSwzNSBAQA0KPiArLy8gKisrDQo+ ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ ICsvLw0KPiArLy8gICBNaXNjTWVtb3J5RGV2aWNlLnVuaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0 Og0KPiArLy8NCj4gKy8vICAgTWVtb3J5IERldmljZQ0KPiArLy8gICBNaXNjLiBzdWJjbGFzcyB0 eXBlIDE3Lg0KPiArLy8gICBTTUJJT1MgdHlwZSAxNy4NCj4gKy8vDQo+ICsvLyBSZXZpc2lvbiBI aXN0b3J5Og0KPiArLy8NCj4gKy8vIC0tKi8NCj4gKw0KPiArDQo+ICsvPSMNCj4gKw0KPiArI2xh bmdkZWYgICBlbi1VUyAiRW5nbGlzaCINCj4gKw0KPiArI3N0cmluZyBTVFJfTUlTQ19NRU1fREVW X0xPQ0FUT1JfMCAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIk1PRFVMRSAwIg0KPiArI3N0 cmluZyBTVFJfTUlTQ19NRU1fREVWX0xPQ0FUT1JfMSAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMN Cj4gIk1PRFVMRSAxIg0KPiArI3N0cmluZyBTVFJfTUlTQ19NRU1fREVWX0xPQ0FUT1IwICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJESU1NIDAiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX01FTV9E RVZfTE9DQVRPUjEgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIkRJTU0gMSINCj4gKyNzdHJp bmcgU1RSX01JU0NfTUVNX0JBTktfTE9DQVRPUjAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAi QkFOSyAwIg0KPiArI3N0cmluZyBTVFJfTUlTQ19NRU1fQkFOS19MT0NBVE9SMSAgICAgICAgICAj bGFuZ3VhZ2UgZW4tVVMgICJCQU5LIDEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX01FTV9NQU5VRkFD VFVSRVIgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTWljcm9uIg0KPiArI3N0cmluZyBTVFJf TUlTQ19NRU1fU0VSSUFMX05PICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIiAiDQo+ICsj c3RyaW5nIFNUUl9NSVNDX01FTV9BU1NFVF9UQUcgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICAiICINCj4gKyNzdHJpbmcgU1RSX01JU0NfTUVNX1BBUlRfTlVNQkVSICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgICIgIg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjTWVtb3J5RGV2aWNlRGF0DQo+IGEuYw0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY01lbW9y eURldmljZURhdA0KPiBhLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAw MDAwMC4uNGE0MTZkZmRlYg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY01lbW9yeURldmljZURhdA0K PiBhLmMNCj4gQEAgLTAsMCArMSw0NSBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMp IDIwMDYgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJS Pg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBh dGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAg TWlzY01lbW9yeURldmljZURhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgTWVt b3J5IERldmljZQ0KPiArICAgTWlzYy4gc3ViY2xhc3MgdHlwZSAxNy4NCj4gKyAgIFNNQklPUyB0 eXBlIDE3Lg0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRl ci5oIg0KPiArI2luY2x1ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArDQo+ICtNSVNDX1NN QklPU19UQUJMRV9EQVRBKEVGSV9NRU1PUllfQVJSQVlfTElOS19EQVRBLA0KPiBNaXNjTWVtb3J5 RGV2aWNlKSA9IHsNCj4gKwlTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX01FTV9ERVZfTE9DQVRPUjAp LCAgICAgICAgLy8gTWVtb3J5DQo+IERldmljZSBsb2NhdG9yDQo+ICsJU1RSSU5HX1RPS0VOIChT VFJfTUlTQ19NRU1fQkFOS19MT0NBVE9SMCksICAgICAgIC8vIE1lbW9yeQ0KPiBCYW5rIExvY2F0 b3INCj4gKwlTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX01FTV9NQU5VRkFDVFVSRVIpLCAgICAgICAg Ly8gTWVtb3J5DQo+IG1hbnVmYWN0dXJlcg0KPiArCVNUUklOR19UT0tFTiAoU1RSX01JU0NfTUVN X1NFUklBTF9OTyksICAgICAgICAgICAvLyBNZW1vcnkNCj4gc2VyaWFsIE51bWJlcg0KPiArCVNU UklOR19UT0tFTiAoU1RSX01JU0NfTUVNX0FTU0VUX1RBRyksICAgICAgICAgICAvLyBNZW1vcnkN Cj4gQXNzZXQgVGFnDQo+ICsJU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19NRU1fUEFSVF9OVU1CRVIp LCAgICAgICAgIC8vIE1lbW9yeQ0KPiBQYXJ0IE51bWJlcg0KPiArCTAsDQo+IAkJCSAgICAvLyBN ZW1vcnkgQXJyYXkgTGluaw0KPiArCTAsIAkJCQkJICAgICAgICAgICAgICAgIC8vIE1lbW9yeSBT dWJBcnJheQ0KPiBsaW5rDQo+ICsJMCwgCQkJCQkgICAgICAgICAgICAgICAgLy8gVUlOVDE2DQo+ IE1lbW9yeVRvdGFsV2lkdGgNCj4gKwkwLCAJCQkJCSAgICAgICAgICAgICAgICAvLyBVSU5UMTYN Cj4gTWVtb3J5RGF0YXdpZHRoDQo+ICsJMCwNCj4gCQkgICAgICAvLyBNZW1vcnkgRGV2aWNlIFNp emUNCj4gKwlFZmlNZW1vcnlGb3JtRmFjdG9yRGlwLCAJICAvLyBNZW1vcnkgRm9ybSBGYWN0b3IN Cj4gKyAgICAyLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIFVJTlQ4IE1lbW9yeSBEZXZpY2Ug dHlwZQ0KPiArCUVmaU1lbW9yeVR5cGVEcmFtLCAJCQkgICAgLy8gTWVtb3J5IFR5cGUNCj4gKyAg ICAwLCAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1lbW9yeSBUeXBlIERldGFpbA0KPiArICAg IDAsDQo+IAkgICAgLy8gTWVtb3J5IFNwZWVkDQo+ICsJMCAJCQkJCSAgICAgICAgICAgICAgICAv LyBNZW1vcnkgU3RhdGUNCj4gKw0KPiArfTsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY01lbW9yeURldmljZUZ1DQo+ IG5jdGlvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlz Y0R4ZS9NaXNjTWVtb3J5RGV2aWNlRnUNCj4gbmN0aW9uLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMzg3MjMxMmMzMA0KPiAtLS0gL2Rldi9udWxsDQo+ICsr Kw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlz Y01lbW9yeURldmljZUZ1DQo+IG5jdGlvbi5jDQo+IEBAIC0wLDAgKzEsMzE5IEBADQo+ICsvKisr DQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVu dGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtN b2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjTWVtb3J5RGV2aWNlRnVuY3Rpb24uYw0KPiArDQo+ ICtBYnN0cmFjdDoNCj4gKw0KPiArICAgTWVtb3J5IERldmljZQ0KPiArICAgTWlzYy4gc3ViY2xh c3MgdHlwZSAxNy4NCj4gKyAgIFNNQklPUyB0eXBlIDE3Lg0KPiArDQo+ICstLSovDQo+ICsNCj4g Kw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArI2luY2x1ZGUgIk1pc2NTdWJjbGFz c0RyaXZlci5oIg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0RhdGFIdWIuaD4NCj4gKyNpbmNsdWRl IDxHdWlkL0RhdGFIdWJSZWNvcmRzLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvTWVtSW5mby5o Pg0KPiArDQo+ICsNCj4gKyNkZWZpbmUgRlJFUV84MDAgICAgICAgICAgIDB4MDANCj4gKyNkZWZp bmUgRlJFUV8xMDY2ICAgICAgICAgIDB4MDENCj4gKyNkZWZpbmUgRlJFUV8xMzMzICAgICAgICAg IDB4MDINCj4gKyNkZWZpbmUgRlJFUV8xNjAwICAgICAgICAgIDB4MDMNCj4gKw0KPiArI2RlZmlu ZSBNQVhfU09DS0VUUyAgMg0KPiArI2RlZmluZSBFZmlNZW1vcnlUeXBlRGRyMyAgMHgxOA0KPiAr DQo+ICtlbnVtIHsNCj4gKyAgICBERFJUeXBlX0REUjMgPSAwLA0KPiArICAgIEREUlR5cGVfRERS M0wgPSAxLA0KPiArICAgIEREUlR5cGVfRERSM1UgPSAyLA0KPiArICAgIEREUlR5cGVfRERSM0Fs bCA9IDMsDQo+ICsgICAgRERSVHlwZV9MUEREUjIgPSA0LA0KPiArICAgIEREUlR5cGVfTFBERFIz ID0gNSwNCj4gKyAgICBERFJUeXBlX0REUjQgPSA2DQo+ICt9Ow0KPiArDQo+ICsNCj4gK3R5cGVk ZWYgc3RydWN0IHsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1MgICAgICAgIE1lbW9yeUFycmF5 U3RhcnRBZGRyZXNzOw0KPiArICBFRklfUEhZU0lDQUxfQUREUkVTUyAgICAgICAgTWVtb3J5QXJy YXlFbmRBZGRyZXNzOw0KPiArICBFRklfSU5URVJfTElOS19EQVRBICAgICAgICAgUGh5c2ljYWxN ZW1vcnlBcnJheUxpbms7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICBNZW1vcnlB cnJheVBhcnRpdGlvbldpZHRoOw0KPiArfSBFRklfTUVNT1JZX0FSUkFZX1NUQVJUX0FERFJFU1M7 DQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIG1ha2VzIGJvb3QgdGltZSBjaGFuZ2Vz IHRvIHRoZSBjb250ZW50cyBvZiB0aGUNCj4gKyAgTWlzY0Jpb3NWZW5kb3IgKFR5cGUgMCkuDQo+ ICsNCj4gKyAgQHBhcmFtICBSZWNvcmREYXRhICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIGNv cHkgb2YgUmVjb3JkRGF0YSBmcm9tIHRoZSBEYXRhDQo+IFRhYmxlLg0KPiArDQo+ICsgIEByZXR2 YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgQWxsIHBhcmFtZXRlcnMgd2VyZSB2YWxpZC4N Cj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAgICBVbmV4cGVjdGVkIFJlY29y ZFR5cGUgdmFsdWUuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAgSW52 YWxpZCBwYXJhbWV0ZXIgd2FzIGZvdW5kLg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4gK0dldFR5 cGUxNkhuZGwgKA0KPiArICBJTiAgRUZJX1NNQklPU19QUk9UT0NPTCAgICAgICpTbWJpb3MsDQo+ ICsgIE9VVCAgRUZJX1NNQklPU19IQU5ETEUgICAgICAgKkhhbmRsZQ0KPiArICApDQo+ICt7DQo+ ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1NNQklPU19U WVBFICAgICAgICAgICAgUmVjb3JkVHlwZTsNCj4gKyAgRUZJX1NNQklPU19UQUJMRV9IRUFERVIg ICAgKkJ1ZmZlcjsNCj4gKw0KPiArICAqSGFuZGxlID0gMDsNCj4gKyAgIFJlY29yZFR5cGUgPSBF RklfU01CSU9TX1RZUEVfUEhZU0lDQUxfTUVNT1JZX0FSUkFZOw0KPiArDQo+ICsgICAgU3RhdHVz ID0gU21iaW9zLT5HZXROZXh0ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgU21iaW9zLA0K PiArICAgICAgICAgICAgICAgICAgICAgICBIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICZSZWNvcmRUeXBlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAmQnVmZmVyLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICk7 DQo+ICsgICAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgICAgICByZXR1cm47DQo+ ICsgICAgICB9DQo+ICsgICpIYW5kbGUgPSAweEZGRkY7DQo+ICt9DQo+ICsNCj4gK01JU0NfU01C SU9TX1RBQkxFX0ZVTkNUSU9OKCBNaXNjTWVtb3J5RGV2aWNlICkNCj4gK3sNCj4gKyAgICBDSEFS OCAgICAgICAgICAgICAgICAgICAgICAgICAgICpPcHRpb25hbFN0clN0YXJ0Ow0KPiArICAgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtRGV2aWNlU3RyTGVuOw0KPiArICAgIFVJ TlROICAgICAgICAgICAgICAgICAgICAgICAgICAgTWVtQmFua0xvY2F0b3JTdHJMZW47DQo+ICsg ICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1NYW51ZmFjdHVyZXJTdHJMZW47 DQo+ICsgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1TZXJpYWxOdW1iZXJT dHJMZW47DQo+ICsgICAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBNZW1Bc3NldFRh Z1N0ckxlbjsNCj4gKyAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIE1lbVBhcnRO dW1iZXJTdHJMZW47DQo+ICsgICAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqTWVt RGV2aWNlOw0KPiArICAgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgKk1lbUJhbmtM b2NhdG9yOw0KPiArICAgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgKk1lbU1hbnVm YWN0dXJlcjsNCj4gKyAgICBDSEFSMTYgICAgICAgICAgICAgICAgICAgICAgICAgICpNZW1TZXJp YWxOdW1iZXI7DQo+ICsgICAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqTWVtQXNz ZXRUYWc7DQo+ICsgICAgQ0hBUjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAqTWVtUGFydE51 bWJlcjsNCj4gKyAgICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4g KyAgICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgICAgICAgIFRva2VuVG9HZXQ7DQo+ICsgICAg U01CSU9TX1RBQkxFX1RZUEUxNyAgICAgICAgICAgICAqU21iaW9zUmVjb3JkOw0KPiArICAgIEVG SV9TTUJJT1NfSEFORExFICAgICAgICAgICAgICAgU21iaW9zSGFuZGxlOw0KPiArICAgIEVGSV9N RU1PUllfQVJSQVlfTElOS19EQVRBICAgICAgKkZvclR5cGUxN0lucHV0RGF0YTsNCj4gKyAgICBV SU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgIERkckZyZXE9MDsNCj4gKyAgICBVSU5UMTYg ICAgICAgICAgICAgICAgICAgICAgICAgIFR5cGUxNkhhbmRsZT0wOw0KPiArICAgIE1FTV9JTkZP X1BST1RPQ09MICAgICAgICAgICAgICAgKk1lbUluZm9Ib2I7DQo+ICsgICAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAgICAgICBNZW1vcnlUeXBlOw0KPiArDQo+ICsgICAgVUlOVDggICAgICAg ICAgICAgICAgICAgICAgICAgICBEaW1tOw0KPiArICAgIFVJTlQ4ICAgICAgICAgICAgICAgICAg ICAgICAgICAgTnVtU2xvdHM7DQo+ICsgICAgU1RSSU5HX1JFRiAgICAgICAgICAgICAgICAgICAg ICBEZXZMb2NhdG9yW10gPSB7DQo+ICsgICAgICBTVFJJTkdfVE9LRU4oU1RSX01JU0NfTUVNX0RF Vl9MT0NBVE9SMCksDQo+IFNUUklOR19UT0tFTihTVFJfTUlTQ19NRU1fREVWX0xPQ0FUT1IxKQ0K PiArICAgIH07DQo+ICsgICAgU1RSSU5HX1JFRiAgICAgICAgICAgICAgICAgICAgICBCYW5rTG9j YXRvcltdID0gew0KPiArICAgICAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX01FTV9CQU5LX0xPQ0FU T1IwKSwNCj4gU1RSSU5HX1RPS0VOKFNUUl9NSVNDX01FTV9CQU5LX0xPQ0FUT1IxKQ0KPiArICAg IH07DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIEZpcnN0IGNoZWNrIGZvciBpbnZhbGlkIHBh cmFtZXRlcnMuDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoUmVjb3JkRGF0YSA9PSBOVUxMKSB7DQo+ ICsgICAgICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgICAgfQ0KPiArICAg IEZvclR5cGUxN0lucHV0RGF0YSAgICAgICAgPSAoRUZJX01FTU9SWV9BUlJBWV9MSU5LX0RBVEEN Cj4gKilSZWNvcmREYXRhOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBHZXQgTWVtb3J5IHNp emUgcGFyYW1ldGVycyBmb3IgZWFjaCByYW5rIGZyb20gdGhlIGNoaXBzZXQgcmVnaXN0ZXJzDQo+ ICsgICAgLy8NCj4gKyAgICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAg ICAgICAgICAgICAgICAgJmdNZW1JbmZvUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAg ICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAodm9pZCAqKikmTWVtSW5mb0hvYg0K PiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1 cyk7DQo+ICsNCj4gKyAgICBOdW1TbG90cyA9IChVSU5UOCkoTUFYX1NPQ0tFVFMpOw0KPiArDQo+ ICsgICAgLy8NCj4gKyAgICAvLyBNZW1vcnkgRnJlcQ0KPiArICAgIC8vDQo+ICsgICAgc3dpdGNo IChNZW1JbmZvSG9iLT5NZW1JbmZvRGF0YS5kZHJGcmVxKXsNCj4gKyAgICAgICAgY2FzZSBGUkVR XzgwMDoNCj4gKyAgICAgICAgICBEZHJGcmVxID0gODAwOw0KPiArICAgICAgICAgIGJyZWFrOw0K PiArICAgICAgICBjYXNlIEZSRVFfMTA2NjoNCj4gKyAgICAgICAgICBEZHJGcmVxID0gMTA2NjsN Cj4gKyAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgY2FzZSBGUkVRXzEzMzM6DQo+ICsgICAg ICAgICAgRGRyRnJlcSA9IDEzMzM7DQo+ICsgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgIGNh c2UgRlJFUV8xNjAwOg0KPiArICAgICAgICAgIERkckZyZXEgPSAxNjAwOw0KPiArICAgICAgICAg IGJyZWFrOw0KPiArICAgICAgICBkZWZhdWx0Og0KPiArICAgICAgICAgIERkckZyZXEgPSAwOw0K PiArICAgICAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8g TWVtb3J5IFR5cGUNCj4gKyAgICAvLw0KPiArICAgIHN3aXRjaCAgKE1lbUluZm9Ib2ItPk1lbUlu Zm9EYXRhLmRkclR5cGUpIHsNCj4gKyAgICAgICAgY2FzZSBERFJUeXBlX0xQRERSMjoNCj4gKyAg ICAgICAgICBNZW1vcnlUeXBlICA9IEVmaU1lbW9yeVR5cGVEZHIyOw0KPiArICAgICAgICAgIGJy ZWFrOw0KPiArICAgICAgICBjYXNlIEREUlR5cGVfRERSMzoNCj4gKyAgICAgICAgY2FzZSBERFJU eXBlX0REUjNMOg0KPiArICAgICAgICBjYXNlIEREUlR5cGVfRERSM1U6DQo+ICsgICAgICAgIGNh c2UgRERSVHlwZV9MUEREUjM6DQo+ICsgICAgICAgICAgTWVtb3J5VHlwZSA9IEVmaU1lbW9yeVR5 cGVEZHIzOw0KPiArICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICBkZWZhdWx0Og0KPiArICAg ICAgICAgIE1lbW9yeVR5cGUgPSBFZmlNZW1vcnlUeXBlVW5rbm93bjsNCj4gKyAgICAgICAgICBi cmVhazsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBmb3IgKERpbW0gPSAwOyBEaW1tIDwgTnVtU2xv dHM7IERpbW0rKykgew0KPiArICAgIC8vDQo+ICsgICAgLy8gTWVtb3J5IERldmljZSBMb2NhdG9y DQo+ICsgICAgLy8NCj4gKyAgICBUb2tlblRvR2V0ID0gRGV2TG9jYXRvcltEaW1tXTsNCj4gKyAg ICBNZW1EZXZpY2UgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgICBN ZW1EZXZpY2VTdHJMZW4gPSBTdHJMZW4oTWVtRGV2aWNlKTsNCj4gKyAgICBpZiAoTWVtRGV2aWNl U3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgICByZXR1cm4gRUZJ X1VOU1VQUE9SVEVEOw0KPiArICAgIH0NCj4gKw0KPiArICAgIFRva2VuVG9HZXQgPSBEZXZMb2Nh dG9yW0RpbW1dOw0KPiArICAgIE1lbURldmljZSA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2Vu VG9HZXQpOw0KPiArICAgIE1lbURldmljZVN0ckxlbiA9IFN0ckxlbihNZW1EZXZpY2UpOw0KPiAr ICAgIGlmIChNZW1EZXZpY2VTdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4g KyAgICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8N Cj4gKyAgICAvLyBNZW1vcnkgQmFuayBMb2NhdG9yDQo+ICsgICAgLy8NCj4gKyAgICBUb2tlblRv R2V0ID0gQmFua0xvY2F0b3JbRGltbV07DQo+ICsgICAgTWVtQmFua0xvY2F0b3IgPSBTbWJpb3NN aXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgICBNZW1CYW5rTG9jYXRvclN0ckxlbiA9 IFN0ckxlbihNZW1CYW5rTG9jYXRvcik7DQo+ICsgICAgaWYgKE1lbUJhbmtMb2NhdG9yU3RyTGVu ID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgICByZXR1cm4gRUZJX1VOU1VQ UE9SVEVEOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gTWVtb3J5IE1hbnVm YWN0dXJlcg0KPiArICAgIC8vDQo+ICsgICAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RS X01JU0NfTUVNX01BTlVGQUNUVVJFUik7DQo+ICsgICAgTWVtTWFudWZhY3R1cmVyID0gU21iaW9z TWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgICAgTWVtTWFudWZhY3R1cmVyU3RyTGVu ID0gU3RyTGVuKE1lbU1hbnVmYWN0dXJlcik7DQo+ICsgICAgaWYgKE1lbU1hbnVmYWN0dXJlclN0 ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgICAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE1lbW9yeSBT ZXJpYWwgTnVtYmVyDQo+ICsgICAgLy8NCj4gKyAgICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VO IChTVFJfTUlTQ19NRU1fU0VSSUFMX05PKTsNCj4gKyAgICBNZW1TZXJpYWxOdW1iZXIgPSBTbWJp b3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgICBNZW1TZXJpYWxOdW1iZXJTdHJM ZW4gPSBTdHJMZW4oTWVtU2VyaWFsTnVtYmVyKTsNCj4gKyAgICBpZiAoTWVtU2VyaWFsTnVtYmVy U3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgICByZXR1cm4gRUZJ X1VOU1VQUE9SVEVEOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gTWVtb3J5 IEFzc2V0IFRhZyBOdW1iZXINCj4gKyAgICAvLw0KPiArICAgIFRva2VuVG9HZXQgPSBTVFJJTkdf VE9LRU4gKFNUUl9NSVNDX01FTV9BU1NFVF9UQUcpOw0KPiArICAgIE1lbUFzc2V0VGFnID0gU21i aW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgICAgTWVtQXNzZXRUYWdTdHJMZW4g PSBTdHJMZW4oTWVtQXNzZXRUYWcpOw0KPiArICAgIGlmIChNZW1Bc3NldFRhZ1N0ckxlbiA+IFNN QklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRF RDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE1lbW9yeSBQYXJ0IE51bWJl cg0KPiArICAgIC8vDQo+ICsgICAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0Nf TUVNX1BBUlRfTlVNQkVSKTsNCj4gKyAgICBNZW1QYXJ0TnVtYmVyID0gU21iaW9zTWlzY0dldFN0 cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgICAgTWVtUGFydE51bWJlclN0ckxlbiA9IFN0ckxlbihN ZW1QYXJ0TnVtYmVyKTsNCj4gKyAgICBpZiAoTWVtUGFydE51bWJlclN0ckxlbiA+IFNNQklPU19T VFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFR3byB6ZXJvcyBmb2xsb3dpbmcgdGhl IGxhc3Qgc3RyaW5nLg0KPiArICAgIC8vDQo+ICsgICAgU21iaW9zUmVjb3JkID0gQWxsb2NhdGVQ b29sKHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEUxNykgKw0KPiBNZW1EZXZpY2VTdHJMZW4gKyAx ICsgTWVtQmFua0xvY2F0b3JTdHJMZW4gKyAxICsNCj4gTWVtTWFudWZhY3R1cmVyU3RyTGVuICsg MSArIE1lbVNlcmlhbE51bWJlclN0ckxlbiArIDEgKw0KPiBNZW1Bc3NldFRhZ1N0ckxlbisxICsg TWVtUGFydE51bWJlclN0ckxlbiArIDEgKyAxKTsNCj4gKyAgICBaZXJvTWVtKFNtYmlvc1JlY29y ZCwgc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTE3KSArDQo+IE1lbURldmljZVN0ckxlbiArIDEg KyBNZW1CYW5rTG9jYXRvclN0ckxlbiArIDEgKw0KPiBNZW1NYW51ZmFjdHVyZXJTdHJMZW4gKyAx ICsgTWVtU2VyaWFsTnVtYmVyU3RyTGVuICsgMSArDQo+IE1lbUFzc2V0VGFnU3RyTGVuKzEgKyBN ZW1QYXJ0TnVtYmVyU3RyTGVuICsgMSArIDEpOw0KPiArDQo+ICsgICAgU21iaW9zUmVjb3JkLT5I ZHIuVHlwZSA9IEVGSV9TTUJJT1NfVFlQRV9NRU1PUllfREVWSUNFOw0KPiArICAgIFNtYmlvc1Jl Y29yZC0+SGRyLkxlbmd0aCA9IHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEUxNyk7DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vIE1ha2UgaGFuZGxlIGNob3NlbiBieSBzbWJpb3MgcHJvdG9jb2wu YWRkIGF1dG9tYXRpY2FsbHkuDQo+ICsgICAgLy8NCj4gKyAgICBTbWJpb3NSZWNvcmQtPkhkci5I YW5kbGUgPSAwOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBNZW1vcnkgQXJyYXkgSGFuZGxl IHdpbGwgYmUgdGhlIDNyZCBvcHRpb25hbCBzdHJpbmcgZm9sbG93aW5nIHRoZQ0KPiBmb3JtYXR0 ZWQgc3RydWN0dXJlLg0KPiArICAgIC8vDQo+ICsgICAgR2V0VHlwZTE2SG5kbCggU21iaW9zLCAm VHlwZTE2SGFuZGxlKTsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPk1lbW9yeUFycmF5SGFuZGxlID0g VHlwZTE2SGFuZGxlOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBNZW1vcnkgU2l6ZQ0KPiAr ICAgIC8vDQo+ICsgICAgaWYgKChNZW1JbmZvSG9iLT5NZW1JbmZvRGF0YS5kaW1tU2l6ZVtEaW1t XSkhPTApew0KPiArICAgIFNtYmlvc1JlY29yZC0+VG90YWxXaWR0aCA9IDMyOw0KPiArICAgIFNt Ymlvc1JlY29yZC0+RGF0YVdpZHRoID0gMzI7DQo+ICsgICAgU21iaW9zUmVjb3JkLT5TaXplID0g TWVtSW5mb0hvYi0+TWVtSW5mb0RhdGEuZGltbVNpemVbRGltbV07DQo+ICsgICAgU21iaW9zUmVj b3JkLT5TcGVlZCA9IERkckZyZXE7DQo+ICsgICAgU21iaW9zUmVjb3JkLT5Db25maWd1cmVkTWVt b3J5Q2xvY2tTcGVlZCA9IERkckZyZXE7DQo+ICsgICAgU21iaW9zUmVjb3JkLT5Gb3JtRmFjdG9y ID0gRWZpTWVtb3J5Rm9ybUZhY3RvckRpbW07DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgU21iaW9z UmVjb3JkLT5EZXZpY2VTZXQgPShVSU5UOCkgRm9yVHlwZTE3SW5wdXREYXRhLQ0KPiA+TWVtb3J5 RGV2aWNlU2V0Ow0KPiArICAgIFNtYmlvc1JlY29yZC0+RGV2aWNlTG9jYXRvcj0gMTsNCj4gKyAg ICBTbWJpb3NSZWNvcmQtPkJhbmtMb2NhdG9yID0gMjsNCj4gKw0KPiArDQo+ICsgICAgU21iaW9z UmVjb3JkLT5NYW51ZmFjdHVyZXIgPSAzOw0KPiArICAgIFNtYmlvc1JlY29yZC0+U2VyaWFsTnVt YmVyPSA0Ow0KPiArICAgIFNtYmlvc1JlY29yZC0+QXNzZXRUYWc9IDU7DQo+ICsgICAgU21iaW9z UmVjb3JkLT5QYXJ0TnVtYmVyPSA2Ow0KPiArICAgIFNtYmlvc1JlY29yZC0+QXR0cmlidXRlcyA9 IChVSU5UOCkgRm9yVHlwZTE3SW5wdXREYXRhLT5NZW1vcnlTdGF0ZTsNCj4gKyAgICBTbWJpb3NS ZWNvcmQtPk1lbW9yeVR5cGUgPSBNZW1vcnlUeXBlOw0KPiArDQo+ICsgICAgT3B0aW9uYWxTdHJT dGFydCA9IChDSEFSOCAqKShTbWJpb3NSZWNvcmQgKyAxKTsNCj4gKyAgICBVbmljb2RlU3RyVG9B c2NpaVN0cihNZW1EZXZpY2UsIE9wdGlvbmFsU3RyU3RhcnQpOw0KPiArICAgIFVuaWNvZGVTdHJU b0FzY2lpU3RyKE1lbUJhbmtMb2NhdG9yLCBPcHRpb25hbFN0clN0YXJ0ICsNCj4gTWVtRGV2aWNl U3RyTGVuICsgMSk7DQo+ICsgICAgVW5pY29kZVN0clRvQXNjaWlTdHIoTWVtTWFudWZhY3R1cmVy LCBPcHRpb25hbFN0clN0YXJ0ICsNCj4gTWVtRGV2aWNlU3RyTGVuICsgMSArIE1lbUJhbmtMb2Nh dG9yU3RyTGVuICsgMSk7DQo+ICsgICAgVW5pY29kZVN0clRvQXNjaWlTdHIoTWVtU2VyaWFsTnVt YmVyLCBPcHRpb25hbFN0clN0YXJ0ICsNCj4gTWVtRGV2aWNlU3RyTGVuICsgMSArIE1lbUJhbmtM b2NhdG9yU3RyTGVuICsgMSArDQo+IE1lbU1hbnVmYWN0dXJlclN0ckxlbiArIDEpOw0KPiArICAg IFVuaWNvZGVTdHJUb0FzY2lpU3RyKE1lbUFzc2V0VGFnLCBPcHRpb25hbFN0clN0YXJ0ICsNCj4g TWVtRGV2aWNlU3RyTGVuICsgMSArIE1lbUJhbmtMb2NhdG9yU3RyTGVuICsgMSArDQo+IE1lbU1h bnVmYWN0dXJlclN0ckxlbiArIDEgKyBNZW1TZXJpYWxOdW1iZXJTdHJMZW4gKyAxKTsNCj4gKyAg ICBVbmljb2RlU3RyVG9Bc2NpaVN0cihNZW1QYXJ0TnVtYmVyLCBPcHRpb25hbFN0clN0YXJ0ICsN Cj4gTWVtRGV2aWNlU3RyTGVuICsgMSArIE1lbUJhbmtMb2NhdG9yU3RyTGVuICsgMSArDQo+IE1l bU1hbnVmYWN0dXJlclN0ckxlbiArIDEgKyBNZW1TZXJpYWxOdW1iZXJTdHJMZW4gKyAxKw0KPiBN ZW1Bc3NldFRhZ1N0ckxlbisxICk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE5vdyB3ZSBo YXZlIGdvdCB0aGUgZnVsbCBzbWJpb3MgcmVjb3JkLCBjYWxsIHNtYmlvcyBwcm90b2NvbCB0byBh ZGQgdGhpcw0KPiByZWNvcmQuDQo+ICsgICAgLy8NCj4gKyAgICBTbWJpb3NIYW5kbGUgPSBTTUJJ T1NfSEFORExFX1BJX1JFU0VSVkVEOw0KPiArICAgIFN0YXR1cyA9IFNtYmlvcy0+IEFkZCgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgIFNtYmlvcywNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmU21iaW9zSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgKEVGSV9TTUJJT1NfVEFCTEVfSEVBREVSICopIFNtYmlv c1JlY29yZA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBGcmVlUG9vbChT bWJpb3NSZWNvcmQpOw0KPiArICAgIH0NCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiBk aWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlz Y0R4ZS9NaXNjTnVtYmVyT2ZJbnN0YWxsYQ0KPiBibGVMYW5ndWFnZXNEYXRhLmMNCj4gYi9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NOdW1iZXJPZklu c3RhbGxhDQo+IGJsZUxhbmd1YWdlc0RhdGEuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi4xYjQxZDhmYWM3DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjTnVtYmVy T2ZJbnN0YWxsYQ0KPiBibGVMYW5ndWFnZXNEYXRhLmMNCj4gQEAgLTAsMCArMSwzOCBAQA0KPiAr LyoqIEBmaWxlDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0K PiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjTnVtYmVyT2ZJbnN0YWxsYWJsZUxh bmd1YWdlc0RhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBTdGF0aWMgZGF0YSBv ZiB0aGUgTnVtYmVyIG9mIGluc3RhbGxhYmxlIGxhbmd1YWdlcyBpbmZvcm1hdGlvbi4NCj4gKyAg TnVtYmVyIG9mIGluc3RhbGxhYmxlIGxhbmd1YWdlcyBpbmZvcm1hdGlvbiBpcyBNaXNjLiBzdWJj bGFzcyB0eXBlIDExIGFuZA0KPiBTTUJJT1MgdHlwZSAxMy4NCj4gKw0KPiArDQo+ICsqKi8NCj4g Kw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJN aXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiArLy8NCj4gKy8vIFN0YXRpYyAocG9zc2libHkg YnVpbGQgZ2VuZXJhdGVkKSBCaW9zIFZlbmRvciBkYXRhLg0KPiArLy8NCj4gK01JU0NfU01CSU9T X1RBQkxFX0RBVEEoRUZJX01JU0NfTlVNQkVSX09GX0lOU1RBTExBQkxFX0xBTkcNCj4gVUFHRVNf REFUQSwgTnVtYmVyT2ZJbnN0YWxsYWJsZUxhbmd1YWdlcykNCj4gKz0gew0KPiArICAxLCAgICAv LyBOdW1iZXJPZkluc3RhbGxhYmxlTGFuZ3VhZ2VzDQo+ICsgIHsgICAgIC8vIExhbmd1YWdlRmxh Z3MNCj4gKyAgICAxLCAgLy8gQWJicmV2aWF0ZWRMYW5ndWFnZUZvcm1hdA0KPiArICAgIDAgICAv LyBSZXNlcnZlZA0KPiArICB9LA0KPiArICBTVFJJTkdfVE9LRU4oU1RSX01JU0NfU1lTVEVNX0xB TkdVQUdFX0VOX1VTKSAgLy8NCj4gQ3VycmVudExhbmd1YWdlTnVtYmVyDQo+ICt9Ow0KPiBkaWZm IC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4 ZS9NaXNjTnVtYmVyT2ZJbnN0YWxsYQ0KPiBibGVMYW5ndWFnZXNGdW5jdGlvbi5jDQo+IGIvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjTnVtYmVyT2ZJ bnN0YWxsYQ0KPiBibGVMYW5ndWFnZXNGdW5jdGlvbi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjRhOTZhMmM0NjUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NO dW1iZXJPZkluc3RhbGxhDQo+IGJsZUxhbmd1YWdlc0Z1bmN0aW9uLmMNCj4gQEAgLTAsMCArMSwy NTEgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDA5IC0gMjAxOSwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+ICsNCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsN Cj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjTnVtYmVyT2ZJbnN0YWxs YWJsZUxhbmd1YWdlc0Z1bmN0aW9uLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhp cyBkcml2ZXIgcGFyc2VzIHRoZSBtU21iaW9zTWlzY0RhdGFUYWJsZSBzdHJ1Y3R1cmUgYW5kIHJl cG9ydHMNCj4gKyAgYW55IGdlbmVyYXRlZCBkYXRhLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0K PiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ICsjaW5jbHVkZSAiTWlzY1N1YmNs YXNzRHJpdmVyLmgiDQo+ICsNCj4gKy8qKg0KPiArICBDaGVjayB3aGV0aGVyIHRoZSBsYW5ndWFn ZSBpcyBzdXBwb3J0ZWQgZm9yIGdpdmVuIEhJSSBoYW5kbGUNCj4gKw0KPiArICBAcGFyYW0gICBI aWlIYW5kbGUgICAgIFRoZSBISUkgcGFja2FnZSBsaXN0IGhhbmRsZS4NCj4gKyAgQHBhcmFtICAg T2Zmc2V0ICAgICAgICBUaGUgb2ZmZXN0IG9mIGN1cnJlbnQgbGFuYWd1ZSBpbiB0aGUgc3VwcG9y dGVkDQo+IGxhbmd1YWdlcy4NCj4gKyAgQHBhcmFtICAgQ3VycmVudExhbmcgICBUaGUgbGFuZ3Vh Z2UgY29kZS4NCj4gKw0KPiArICBAcmV0dmFsICBUUlVFICAgICAgICAgIFN1cHBvcnRlZC4NCj4g KyAgQHJldHZhbCAgRkFMU0UgICAgICAgICBOb3QgU3VwcG9ydGVkLg0KPiArDQo+ICsqKi8NCj4g K1ZPSUQNCj4gK0VGSUFQSQ0KPiArQ3VycmVudExhbmd1YWdlTWF0Y2ggKA0KPiArICBJTiAgRUZJ X0hJSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgSGlpSGFuZGxlLA0KPiArICBPVVQgVUlOVDE2 ICAgICAgICAgICAgICAgICAgICAgICAgICAgKk9mZnNldCwNCj4gKyAgT1VUIENIQVI4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICpDdXJyZW50TGFuZw0KPiArICApDQo+ICt7DQo+ICsgIENI QVI4ICAgICAqRGVmYXVsdExhbmc7DQo+ICsgIENIQVI4ICAgICAqQmVzdExhbmd1YWdlOw0KPiAr ICBDSEFSOCAgICAgKkxhbmd1YWdlczsNCj4gKyAgQ0hBUjggICAgICpNYXRjaExhbmc7DQo+ICsg IENIQVI4ICAgICAqRW5kTWF0Y2hMYW5nOw0KPiArICBVSU5UTiAgICAgQ29tcGFyZUxlbmd0aDsN Cj4gKw0KPiArICBMYW5ndWFnZXMgPSBIaWlHZXRTdXBwb3J0ZWRMYW5ndWFnZXMgKEhpaUhhbmRs ZSk7DQo+ICsgIGlmIChMYW5ndWFnZXMgPT0gTlVMTCkgew0KPiArICAgIHJldHVybjsNCj4gKyAg fQ0KPiArDQo+ICsgIEN1cnJlbnRMYW5nICA9IEdldEVmaUdsb2JhbFZhcmlhYmxlIChMIlBsYXRm b3JtTGFuZyIpOw0KPiArICBEZWZhdWx0TGFuZyAgPSAoQ0hBUjggKikgUGNkR2V0UHRyIChQY2RV ZWZpVmFyaWFibGVEZWZhdWx0UGxhdGZvcm1MYW5nKTsNCj4gKyAgQmVzdExhbmd1YWdlID0gR2V0 QmVzdExhbmd1YWdlICgNCj4gKyAgICAgICAgICAgICAgICAgICBMYW5ndWFnZXMsDQo+ICsgICAg ICAgICAgICAgICAgICAgRkFMU0UsDQo+ICsgICAgICAgICAgICAgICAgICAgKEN1cnJlbnRMYW5n ICE9IE5VTEwpID8gQ3VycmVudExhbmcgOiAiIiwNCj4gKyAgICAgICAgICAgICAgICAgICBEZWZh dWx0TGFuZywNCj4gKyAgICAgICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAg ICAgKTsNCj4gKyAgaWYgKEJlc3RMYW5ndWFnZSAhPSBOVUxMKSB7DQo+ICsgICAgLy8NCj4gKyAg ICAvLyBGaW5kIHRoZSBiZXN0IG1hdGNoaW5nIFJGQyA0NjQ2IGxhbmd1YWdlLCBjb21wdXRlIHRo ZSBvZmZzZXQuDQo+ICsgICAgLy8NCj4gKyAgICBDb21wYXJlTGVuZ3RoID0gQXNjaWlTdHJMZW4g KEJlc3RMYW5ndWFnZSk7DQo+ICsgICAgZm9yIChNYXRjaExhbmcgPSBMYW5ndWFnZXMsICgqT2Zm c2V0KSA9IDA7ICpNYXRjaExhbmcgIT0gJ1wwJzsNCj4gKCpPZmZzZXQpKyspIHsNCj4gKyAgICAg IC8vDQo+ICsgICAgICAvLyBTZWVrIHRvIHRoZSBlbmQgb2YgY3VycmVudCBtYXRjaCBsYW5ndWFn ZS4NCj4gKyAgICAgIC8vDQo+ICsgICAgICBmb3IgKEVuZE1hdGNoTGFuZyA9IE1hdGNoTGFuZzsg KkVuZE1hdGNoTGFuZyAhPSAnXDAnICYmDQo+ICpFbmRNYXRjaExhbmcgIT0gJzsnOyBFbmRNYXRj aExhbmcrKyk7DQo+ICsNCj4gKyAgICAgIGlmICgoRW5kTWF0Y2hMYW5nID09IE1hdGNoTGFuZyAr IENvbXBhcmVMZW5ndGgpICYmDQo+IEFzY2lpU3RybkNtcChNYXRjaExhbmcsIEJlc3RMYW5ndWFn ZSwgQ29tcGFyZUxlbmd0aCkgPT0gMCkgew0KPiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBG aW5kIHRoZSBjdXJyZW50IGJlc3QgTGFuZ3VhZ2UgaW4gdGhlIHN1cHBvcnRlZCBsYW5ndWFnZXMN Cj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgYnJlYWs7DQo+ICsgICAgICB9DQo+ICsgICAgICAv Lw0KPiArICAgICAgLy8gYmVzdCBsYW5ndWFnZSBtYXRjaCBiZSBpbiB0aGUgc3VwcG9ydGVkIGxh bmd1YWdlLg0KPiArICAgICAgLy8NCj4gKyAgICAgIEFTU0VSVCAoKkVuZE1hdGNoTGFuZyA9PSAn OycpOw0KPiArICAgICAgTWF0Y2hMYW5nID0gRW5kTWF0Y2hMYW5nICsgMTsNCj4gKyAgICB9DQo+ ICsgICAgRnJlZVBvb2wgKEJlc3RMYW5ndWFnZSk7DQo+ICsgIH0NCj4gKw0KPiArICBGcmVlUG9v bCAoTGFuZ3VhZ2VzKTsNCj4gKyAgaWYgKEN1cnJlbnRMYW5nICE9IE5VTEwpIHsNCj4gKyAgICBG cmVlUG9vbCAoQ3VycmVudExhbmcpOw0KPiArICB9DQo+ICsgIHJldHVybiA7DQo+ICt9DQo+ICsN Cj4gKw0KPiArLyoqDQo+ICsgIEdldCBuZXh0IGxhbmd1YWdlIGZyb20gbGFuZ3VhZ2UgY29kZSBs aXN0ICh3aXRoIHNlcGFyYXRvciAnOycpLg0KPiArDQo+ICsgIEBwYXJhbSAgTGFuZ0NvZGUgICAg ICAgSW5wdXQ6IHBvaW50IHRvIGZpcnN0IGxhbmd1YWdlIGluIHRoZSBsaXN0LiBPbg0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgIE90cHV0OiBwb2ludCB0byBuZXh0IGxhbmd1YWdlIGluIHRo ZSBsaXN0LCBvcg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMIGlmIG5v IG1vcmUgbGFuZ3VhZ2UgaW4gdGhlIGxpc3QuDQo+ICsgIEBwYXJhbSAgTGFuZyAgICAgICAgICAg VGhlIGZpcnN0IGxhbmd1YWdlIGluIHRoZSBsaXN0Lg0KPiArDQo+ICsqKi8NCj4gK1ZPSUQNCj4g K0VGSUFQSQ0KPiArR2V0TmV4dExhbmd1YWdlICgNCj4gKyAgSU4gT1VUIENIQVI4ICAgICAgKipM YW5nQ29kZSwNCj4gKyAgT1VUIENIQVI4ICAgICAgICAgKkxhbmcNCj4gKyAgKQ0KPiArew0KPiAr ICBVSU5UTiAgSW5kZXg7DQo+ICsgIENIQVI4ICAqU3RyaW5nUHRyOw0KPiArDQo+ICsgIEFTU0VS VCAoTGFuZ0NvZGUgIT0gTlVMTCk7DQo+ICsgIEFTU0VSVCAoKkxhbmdDb2RlICE9IE5VTEwpOw0K PiArICBBU1NFUlQgKExhbmcgIT0gTlVMTCk7DQo+ICsNCj4gKyAgSW5kZXggICAgID0gMDsNCj4g KyAgU3RyaW5nUHRyID0gKkxhbmdDb2RlOw0KPiArICB3aGlsZSAoU3RyaW5nUHRyW0luZGV4XSAh PSAwICYmIFN0cmluZ1B0cltJbmRleF0gIT0gJzsnKSB7DQo+ICsgICAgSW5kZXgrKzsNCj4gKyAg fQ0KPiArDQo+ICsgIENvcHlNZW0gKExhbmcsIFN0cmluZ1B0ciwgSW5kZXgpOw0KPiArICBMYW5n W0luZGV4XSA9IDA7DQo+ICsNCj4gKyAgaWYgKFN0cmluZ1B0cltJbmRleF0gPT0gJzsnKSB7DQo+ ICsgICAgSW5kZXgrKzsNCj4gKyAgfQ0KPiArICAqTGFuZ0NvZGUgPSBTdHJpbmdQdHIgKyBJbmRl eDsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gcmV0dXJucyB0aGUgbnVt YmVyIG9mIHN1cHBvcnRlZCBsYW5ndWFnZXMgb24gSGlpSGFuZGxlLg0KPiArDQo+ICsgIEBwYXJh bSAgIEhpaUhhbmRsZSAgICBUaGUgSElJIHBhY2thZ2UgbGlzdCBoYW5kbGUuDQo+ICsNCj4gKyAg QHJldHZhbCAgVGhlIG51bWJlciBvZiBzdXBwb3J0ZWQgbGFuZ3VhZ2VzLg0KPiArDQo+ICsqKi8N Cj4gK1VJTlQxNg0KPiArRUZJQVBJDQo+ICtHZXRTdXBwb3J0ZWRMYW5ndWFnZU51bWJlciAoDQo+ ICsgIElOIEVGSV9ISUlfSEFORExFICAgIEhpaUhhbmRsZQ0KPiArICApDQo+ICt7DQo+ICsgIENI QVI4ICAgKkxhbmc7DQo+ICsgIENIQVI4ICAgKkxhbmd1YWdlczsNCj4gKyAgQ0hBUjggICAqTGFu Z3VhZ2VTdHJpbmc7DQo+ICsgIFVJTlQxNiAgTGFuZ051bWJlcjsNCj4gKw0KPiArICBMYW5ndWFn ZXMgPSBIaWlHZXRTdXBwb3J0ZWRMYW5ndWFnZXMgKEhpaUhhbmRsZSk7DQo+ICsgIGlmIChMYW5n dWFnZXMgPT0gTlVMTCkgew0KPiArICAgIHJldHVybiAwOw0KPiArICB9DQo+ICsNCj4gKyAgTGFu Z051bWJlciA9IDA7DQo+ICsgIExhbmcgPSBBbGxvY2F0ZVBvb2wgKEFzY2lpU3RyU2l6ZSAoTGFu Z3VhZ2VzKSk7DQo+ICsgIGlmIChMYW5nICE9IE5VTEwpIHsNCj4gKyAgICBMYW5ndWFnZVN0cmlu ZyA9IExhbmd1YWdlczsNCj4gKyAgICB3aGlsZSAoKkxhbmd1YWdlU3RyaW5nICE9IDApIHsNCj4g KyAgICAgIEdldE5leHRMYW5ndWFnZSAoJkxhbmd1YWdlU3RyaW5nLCBMYW5nKTsNCj4gKyAgICAg IExhbmdOdW1iZXIrKzsNCj4gKyAgICB9DQo+ICsgICAgRnJlZVBvb2wgKExhbmcpOw0KPiArICB9 DQo+ICsgIEZyZWVQb29sIChMYW5ndWFnZXMpOw0KPiArICByZXR1cm4gTGFuZ051bWJlcjsNCj4g K30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiBtYWtlcyBib290IHRpbWUg Y2hhbmdlcyB0byB0aGUgY29udGVudHMgb2YgdGhlDQo+ICsgIE1pc2NOdW1iZXJPZkluc3RhbGxh YmxlTGFuZ3VhZ2VzIChUeXBlIDEzKS4NCj4gKw0KPiArICBAcGFyYW0gIFJlY29yZERhdGEgICAg ICAgICAgICAgICAgIFBvaW50ZXIgdG8gY29weSBvZiBSZWNvcmREYXRhIGZyb20gdGhlIERhdGEN Cj4gVGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICBB bGwgcGFyYW1ldGVycyB3ZXJlIHZhbGlkLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAg ICAgICAgICAgIFVuZXhwZWN0ZWQgUmVjb3JkVHlwZSB2YWx1ZS4NCj4gKyAgQHJldHZhbCBFRklf SU5WQUxJRF9QQVJBTUVURVIgICAgICBJbnZhbGlkIHBhcmFtZXRlciB3YXMgZm91bmQuDQo+ICsN Cj4gKyoqLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRlVOQ1RJT04oTnVtYmVyT2ZJbnN0YWxsYWJs ZUxhbmd1YWdlcykNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgTGFuZ1N0ckxlbjsNCj4gKyAgQ0hBUjggICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQ3VycmVudExhbmdbU01CSU9TX1NUUklOR19NQVhfTEVOR1RIICsgMV07DQo+ ICsgIENIQVI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpPcHRpb25hbFN0 clN0YXJ0Ow0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBP ZmZzZXQ7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0 YXR1czsNCj4gKyAgRUZJX1NNQklPU19IQU5ETEUgICAgICAgICAgICAgICAgICAgICAgICAgU21i aW9zSGFuZGxlOw0KPiArICBTTUJJT1NfVEFCTEVfVFlQRTEzICAgICAgICAgICAgICAgICAgICAg ICAqU21iaW9zUmVjb3JkOw0KPiArICBFRklfTUlTQ19OVU1CRVJfT0ZfSU5TVEFMTEFCTEVfTEFO R1VBR0VTDQo+ICpGb3JUeXBlMTNJbnB1dERhdGE7DQo+ICsNCj4gKyAgRm9yVHlwZTEzSW5wdXRE YXRhID0NCj4gKEVGSV9NSVNDX05VTUJFUl9PRl9JTlNUQUxMQUJMRV9MQU5HVUFHRVMgKilSZWNv cmREYXRhOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpcnN0IGNoZWNrIGZvciBpbnZhbGlkIHBh cmFtZXRlcnMuDQo+ICsgIC8vDQo+ICsgIGlmIChSZWNvcmREYXRhID09IE5VTEwpIHsNCj4gKyAg ICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgRm9yVHlw ZTEzSW5wdXREYXRhLT5OdW1iZXJPZkluc3RhbGxhYmxlTGFuZ3VhZ2VzID0NCj4gR2V0U3VwcG9y dGVkTGFuZ3VhZ2VOdW1iZXIgKG1IaWlIYW5kbGUpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRy eSB0byBjaGVjayBpZiBjdXJyZW50IGxhbmdjb2RlIG1hdGNoZXMgd2l0aCB0aGUgbGFuZ2NvZGVz IGluIGluc3RhbGxlZA0KPiBsYW5ndWFnZXMNCj4gKyAgLy8NCj4gKyAgWmVyb01lbShDdXJyZW50 TGFuZywgU01CSU9TX1NUUklOR19NQVhfTEVOR1RIICsgMSk7DQo+ICsgIEN1cnJlbnRMYW5ndWFn ZU1hdGNoIChtSGlpSGFuZGxlLCAmT2Zmc2V0LCBDdXJyZW50TGFuZyk7DQo+ICsgIExhbmdTdHJM ZW4gPSBBc2NpaVN0ckxlbihDdXJyZW50TGFuZyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHdv IHplcm9zIGZvbGxvd2luZyB0aGUgbGFzdCBzdHJpbmcuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1Jl Y29yZCA9IEFsbG9jYXRlUG9vbChzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFMTMpICsNCj4gTGFu Z1N0ckxlbiArIDEgKyAxKTsNCj4gKyAgWmVyb01lbShTbWJpb3NSZWNvcmQsIHNpemVvZiAoU01C SU9TX1RBQkxFX1RZUEUxMykgKyBMYW5nU3RyTGVuICsgMQ0KPiArIDEpOw0KPiArDQo+ICsgIFNt Ymlvc1JlY29yZC0+SGRyLlR5cGUgPQ0KPiBFRklfU01CSU9TX1RZUEVfQklPU19MQU5HVUFHRV9J TkZPUk1BVElPTjsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIuTGVuZ3RoID0gc2l6ZW9mIChTTUJJ T1NfVEFCTEVfVFlQRTEzKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBNYWtlIGhhbmRsZSBjaG9z ZW4gYnkgc21iaW9zIHByb3RvY29sLmFkZCBhdXRvbWF0aWNhbGx5Lg0KPiArICAvLw0KPiArICBT bWJpb3NSZWNvcmQtPkhkci5IYW5kbGUgPSAwOw0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+SW5z dGFsbGFibGVMYW5ndWFnZXMgPSAoVUlOVDgpRm9yVHlwZTEzSW5wdXREYXRhLQ0KPiA+TnVtYmVy T2ZJbnN0YWxsYWJsZUxhbmd1YWdlczsNCj4gKyAgU21iaW9zUmVjb3JkLT5GbGFncyA9IChVSU5U OClGb3JUeXBlMTNJbnB1dERhdGEtDQo+ID5MYW5ndWFnZUZsYWdzLkFiYnJldmlhdGVkTGFuZ3Vh Z2VGb3JtYXQ7DQo+ICsgIFNtYmlvc1JlY29yZC0+Q3VycmVudExhbmd1YWdlcyA9IDE7DQo+ICsg IE9wdGlvbmFsU3RyU3RhcnQgPSAoQ0hBUjggKikoU21iaW9zUmVjb3JkICsgMSk7DQo+ICsgIEFz Y2lpU3RyQ3B5KE9wdGlvbmFsU3RyU3RhcnQsIEN1cnJlbnRMYW5nKTsNCj4gKw0KPiArICAvLw0K PiArICAvLyBOb3cgd2UgaGF2ZSBnb3QgdGhlIGZ1bGwgc21iaW9zIHJlY29yZCwgY2FsbCBzbWJp b3MgcHJvdG9jb2wgdG8gYWRkIHRoaXMNCj4gcmVjb3JkLg0KPiArICAvLw0KPiArICBTbWJpb3NI YW5kbGUgPSBTTUJJT1NfSEFORExFX1BJX1JFU0VSVkVEOw0KPiArICBTdGF0dXMgPSBTbWJpb3Mt PiBBZGQoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgU21iaW9zLA0KPiArICAgICAgICAgICAg ICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJlNtYmlvc0hhbmRsZSwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAoRUZJX1NNQklPU19UQUJMRV9IRUFERVIgKikgU21i aW9zUmVjb3JkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgRnJlZVBvb2woU21i aW9zUmVjb3JkKTsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBh L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09lbVN0 cmluZy51bmkNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNj RHhlL01pc2NPZW1TdHJpbmcudW5pDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLmM2ZWI4YmY0OTgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPZW1TdHJpbmcudW5pDQo+ IEBAIC0wLDAgKzEsMjUgQEANCj4gKy8vICorKw0KPiArLy8NCj4gKy8vIENvcHlyaWdodCAoYykg MjAwNCAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4N Cj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsv Lw0KPiArLy8NCj4gKy8vIE1vZHVsZSBOYW1lOg0KPiArLy8NCj4gKy8vICAgTWlzY09lbVNyaW5n LnVuaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0Og0KPiArLy8NCj4gKy8vICAgTGFuZ3VhZ2UgSW5m b3JtYXRpb24NCj4gKy8vDQo+ICsvLyBSZXZpc2lvbiBIaXN0b3J5Og0KPiArLy8NCj4gKy8vIC0t Ki8NCj4gKw0KPiArDQo+ICsvPSMNCj4gKw0KPiArI2xhbmdkZWYgZW4tVVMgIkVuZ2xpc2giDQo+ ICsjc3RyaW5nIFNUUl9JTlRFTF9FVEtfVkVSICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVT ICAiRVRLX1ZFUl8wMi4wMSINCj4gKyNzdHJpbmcgU1RSX0lOVEVMX0VUS19WRVJfRk9SX1JPRU0g ICAgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIkVUS19WRVJfMDIuMDAiDQo+ICsjc3RyaW5nIFNUUl9N SVNDX09FTV9FTl9VUyAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiRW5nbGlzaCAoVVMp Ig0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21C aW9zTWlzY0R4ZS9NaXNjT2VtU3RyaW5nRGF0YS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT2VtU3RyaW5nRGF0YS5jDQo+IG5ldyBmaWxl IG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmNlZWNhYWQ1NDkNCj4gLS0tIC9kZXYv bnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NN aXNjRHhlL01pc2NPZW1TdHJpbmdEYXRhLmMNCj4gQEAgLTAsMCArMSwzNCBAQA0KPiArLyoqIEBm aWxlDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICAgIE1pc2NPZW1TdHJpbmdEYXRhLmMNCj4gKw0KPiAr QWJzdHJhY3Q6DQo+ICsNCj4gKyAgU3RhdGljIGRhdGEgb2YgT0VNIFN0cmluZyBpbmZvcm1hdGlv bi4NCj4gKyAgT0VNIFN0cmluZyBpbmZvcm1hdGlvbiBpcyBNaXNjLiBzdWJjbGFzcyB0eXBlIDkg YW5kIFNNQklPUyB0eXBlIDExLg0KPiArDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsNCj4gKyNpbmNs dWRlICJDb21tb25IZWFkZXIuaCINCj4gKw0KPiArI2luY2x1ZGUgIk1pc2NTdWJjbGFzc0RyaXZl ci5oIg0KPiArDQo+ICsvLw0KPiArLy8gU3RhdGljIChwb3NzaWJseSBidWlsZCBnZW5lcmF0ZWQp IEJpb3MgVmVuZG9yIGRhdGEuDQo+ICsvLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfREFUQShFRklf TUlTQ19PRU1fU1RSSU5HLCBNaXNjT2VtU3RyaW5nKSA9IHsNCj4gKyAgU1RSSU5HX1RPS0VOKFNU Ul9JTlRFTF9FVEtfVkVSKQ0KPiArfTsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01J U0NfT0VNX1NUUklOR19EQVRBLCBPZW1TdHJpbmcpDQo+ICs9IHsgU1RSSU5HX1RPS0VOKFNUUl9N SVNDX09FTV9FTl9VUykgfTsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09lbVN0cmluZ0Z1bmN0aW8NCj4gbi5jDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT2Vt U3RyaW5nRnVuY3Rpbw0KPiBuLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uODYyNDQ4MTE0OQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09lbVN0cmluZ0Z1bmN0 aW8NCj4gbi5jDQo+IEBAIC0wLDAgKzEsODkgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0 IChjKSAyMDA5IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1p c2NPZW1TdHJpbmdGdW5jdGlvbi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIGJvb3Qg aW5mb3JtYXRpb24gYm9vdCB0aW1lIGNoYW5nZXMuDQo+ICsgIFNNQklPUyB0eXBlIDExLg0KPiAr DQo+ICstLSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ ICsjaW5jbHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4gKy8qKg0KPiArICBUaGlz IGZ1bmN0aW9uIG1ha2VzIGJvb3QgdGltZSBjaGFuZ2VzIHRvIHRoZSBjb250ZW50cyBvZiB0aGUN Cj4gKyAgTWlzY09lbVN0cmluZyAoVHlwZSAxMSkuDQo+ICsNCj4gKyAgQHBhcmFtICBSZWNvcmRE YXRhICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIGNvcHkgb2YgUmVjb3JkRGF0YSBmcm9tIHRo ZSBEYXRhDQo+IFRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAg ICAgICAgQWxsIHBhcmFtZXRlcnMgd2VyZSB2YWxpZC4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQ T1JURUQgICAgICAgICAgICBVbmV4cGVjdGVkIFJlY29yZFR5cGUgdmFsdWUuDQo+ICsgIEByZXR2 YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAgSW52YWxpZCBwYXJhbWV0ZXIgd2FzIGZvdW5k Lg0KPiArDQo+ICsqKi8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0ZVTkNUSU9OKE9lbVN0cmluZykN Cj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgIE9lbVN0ckxlbjsNCj4gKyAgQ0hB UjggICAgICAgICAgICAgICAgICAgICpPcHRpb25hbFN0clN0YXJ0Ow0KPiArICBFRklfU1RBVFVT ICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfU1RSSU5HICAgICAgICAgICAgICAgT2Vt U3RyOw0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgVG9rZW5Ub0dldDsNCj4gKyAgRUZJ X1NNQklPU19IQU5ETEUgICAgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgU01CSU9TX1RBQkxFX1RZ UEUxMSAgICAgICpTbWJpb3NSZWNvcmQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3QgY2hl Y2sgZm9yIGludmFsaWQgcGFyYW1ldGVycy4NCj4gKyAgLy8NCj4gKyAgaWYgKFJlY29yZERhdGEg PT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0N Cj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19PRU1fRU5fVVMp Ow0KPiArICBPZW1TdHIgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAg T2VtU3RyTGVuID0gU3RyTGVuKE9lbVN0cik7DQo+ICsgIGlmIChPZW1TdHJMZW4gPiBTTUJJT1Nf U1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiAr ICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHdvIHplcm9zIGZvbGxvd2luZyB0aGUgbGFzdCBz dHJpbmcuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZCA9IEFsbG9jYXRlUG9vbChzaXplb2Yg KFNNQklPU19UQUJMRV9UWVBFMTEpICsNCj4gT2VtU3RyTGVuICsgMSArIDEpOw0KPiArICBaZXJv TWVtKFNtYmlvc1JlY29yZCwgc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTExKSArIE9lbVN0ckxl biArDQo+IDEgKyAxKTsNCj4gKw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5UeXBlID0gRUZJX1NN QklPU19UWVBFX09FTV9TVFJJTkdTOw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5MZW5ndGggPSBz aXplb2YgKFNNQklPU19UQUJMRV9UWVBFMTEpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2Ug aGFuZGxlIGNob3NlbiBieSBzbWJpb3MgcHJvdG9jb2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ICsg IC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkhhbmRsZSA9IDA7DQo+ICsgIFNtYmlvc1JlY29y ZC0+U3RyaW5nQ291bnQgPSAxOw0KPiArICBPcHRpb25hbFN0clN0YXJ0ID0gKENIQVI4ICopKFNt Ymlvc1JlY29yZCArIDEpOw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihPZW1TdHIsIE9wdGlv bmFsU3RyU3RhcnQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE5vdyB3ZSBoYXZlIGdvdCB0aGUg ZnVsbCBzbWJpb3MgcmVjb3JkLCBjYWxsIHNtYmlvcyBwcm90b2NvbCB0byBhZGQgdGhpcw0KPiBy ZWNvcmQuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc0hhbmRsZSA9IFNNQklPU19IQU5ETEVfUElfUkVT RVJWRUQ7DQo+ICsgIFN0YXR1cyA9IFNtYmlvcy0+IEFkZCgNCj4gKyAgICAgICAgICAgICAgICAg ICAgICBTbWJpb3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAmU21iaW9zSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChF RklfU01CSU9TX1RBQkxFX0hFQURFUiAqKSBTbWJpb3NSZWNvcmQNCj4gKyAgICAgICAgICAgICAg ICAgICAgICApOw0KPiArICBGcmVlUG9vbChTbWJpb3NSZWNvcmQpOw0KPiArICByZXR1cm4gU3Rh dHVzOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT2VtVHlwZTB4OTAudW5pDQo+IGIvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT2VtVHlwZTB4OTAudW5pDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjkxN2E3YjlkNmUNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5MC51bmkNCj4gQEAgLTAsMCArMSwzMSBAQA0K PiArLy8gKisrDQo+ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxNCwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNl LUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9k dWxlIE5hbWU6DQo+ICsvLw0KPiArLy8gICBNaXNjT2VtVHlwZTB4OTAudW5pDQo+ICsvLw0KPiAr Ly8gQWJzdHJhY3Q6DQo+ICsvLw0KPiArLy8gICBGaXJtd2FyZSBWZXJzaW9uIEluZm9ybWF0aW9u DQo+ICsvLyAgIFNNQklPUyB0eXBlIDB4OTAuDQo+ICsvLw0KPiArLy8gUmV2aXNpb24gSGlzdG9y eToNCj4gKy8vDQo+ICsvLyAtLSovDQo+ICsNCj4gKw0KPiArLz0jDQo+ICsjbGFuZ2RlZiAgIGVu LVVTICJFbmdsaXNoIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1NFQ19WRVJTSU9OICAgICAg ICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIk5BIg0KPiArI3N0cmluZyBTVFJfTUlTQ19VQ09E RV9WRVJTSU9OICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOQSINCj4gKyNzdHJpbmcg U1RSX01JU0NfR09QX1ZFUlNJT04gICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiTkEi DQo+ICsjc3RyaW5nIFNUUl9NSVNDX1BST0NFU1NPUl9TVEVQUElORyAgICAgICAgICNsYW5ndWFn ZSBlbi1VUyAgIk5BIg0KPiArDQo+ICsNCj4gKw0KPiArDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5 MERhdGENCj4gLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NN aXNjRHhlL01pc2NPZW1UeXBlMHg5MERhdA0KPiBhLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQN Cj4gaW5kZXggMDAwMDAwMDAwMC4uOWIzNDg4MTNhNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09l bVR5cGUweDkwRGF0DQo+IGEuYw0KPiBAQCAtMCwwICsxLDM2IEBADQo+ICsvKisrDQo+ICsNCj4g K0NvcHlyaWdodCAoYykgMjAxMiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdo dHMgcmVzZXJ2ZWQuDQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0Qt Mi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBO YW1lOg0KPiArDQo+ICsgIE1pc2NPZW1UeXBlMHg5MERhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoN Cj4gKw0KPiArICBUaGlzIGZpbGUgY29udGFpbnMgdGhlIE1pc2MgT2VtIERhdGEgKFNNQklPUyBk YXRhIHR5cGUgMHg5MCkNCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVh ZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiAr DQo+ICsvLw0KPiArLy8gU3RhdGljIChwb3NzaWJseSBidWlsZCBnZW5lcmF0ZWQpIE9lbSBkYXRh Lg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfT0VNX1RZUEVfMHg5 MCwNCj4gTWlzY09lbVR5cGUweDkwKSA9IHsNCj4gKw0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlT Q19TRUNfVkVSU0lPTiksDQo+ICtTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1VDT0RFX1ZFUlNJT04p LA0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19HT1BfVkVSU0lPTiksDQo+ICtTVFJJTkdfVE9L RU4gKFNUUl9NSVNDX1BST0NFU1NPUl9TVEVQUElORyksDQo+ICsNCj4gK307DQo+IGRpZmYgLS1n aXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01p c2NPZW1UeXBlMHg5MEZ1bg0KPiBjdGlvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT2VtVHlwZTB4OTBGdW4NCj4gY3Rpb24uYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi42ODRjZGE4M2VjDQo+IC0t LSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv U21CaW9zTWlzY0R4ZS9NaXNjT2VtVHlwZTB4OTBGdW4NCj4gY3Rpb24uYw0KPiBAQCAtMCwwICsx LDQ0MiBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDE5OTkgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uICBBbGwgcmlnaHRzIHJlc2VydmVkLg0KPiArDQo+IA0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ ICsNCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjT2VtVHlwZTB4ODhG dW5jdGlvbi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFRoZSBmdW5jdGlvbiB0aGF0 IHByb2Nlc3NlcyB0aGUgU21iaW9zIGRhdGEgdHlwZSAweDg4IGJlZm9yZSB0aGV5DQo+ICsgIGFy ZSBzdWJtaXR0ZWQgdG8gRGF0YSBIdWINCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAi Q29tbW9uSGVhZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCIN Cj4gKyNpbmNsdWRlIDxMaWJyYXJ5L1ByaW50TGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9D cHVJQTMyLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRHhlU21tUmVhZHlUb0xvY2suaD4NCj4g Kw0KPiArDQo+ICtWT0lEDQo+ICtHZXRDUFVTdGVwcGluZyAoICkNCj4gK3sNCj4gKyAgQ0hBUjE2 ICAgIEJ1ZmZlcls0MF07DQo+ICsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBGYW1pbHlJZDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBNb2RlbDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dGVwcGluZ0lkOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBy b2Nlc3NvclR5cGU7DQo+ICsNCj4gKw0KPiArICBFZmlDcHVWZXJzaW9uICgmRmFtaWx5SWQsICZN b2RlbCwgJlN0ZXBwaW5nSWQsICZQcm9jZXNzb3JUeXBlKTsNCj4gKw0KPiArICAvLw0KPiArICAv L3dlIG5lZWQgcmF3IE1vZGVsIGRhdGENCj4gKyAgLy8NCj4gKyAgTW9kZWwgPSBNb2RlbCAmIDB4 ZjsNCj4gKw0KPiArICAvLw0KPiArICAvL0ZhbWlseS9Nb2RlbC9TdGVwDQo+ICsgIC8vDQo+ICsg IFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVkLyVkLyVkIiwgRmFt aWx5SWQsICBNb2RlbCwNCj4gU3RlcHBpbmdJZCk7DQo+ICsNCj4gSGlpU2V0U3RyaW5nKG1IaWlI YW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1BST0NFU1NPUl9TVEVQUElORyksDQo+IEJ1ZmZl ciwgTlVMTCk7DQo+ICsNCj4gK30NCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArU2VhcmNoQ2hpbGRI YW5kbGUoDQo+ICsgIEVGSV9IQU5ETEUgRmF0aGVyLA0KPiArICBFRklfSEFORExFICpDaGlsZA0K PiArICApDQo+ICt7DQo+ICsgIEVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBIYW5kbGVJbmRleDsNCj4g KyAgRUZJX0dVSUQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICoqUHJvdG9jb2xHdWlkQXJyYXkgPSBOVUxMOw0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBBcnJheUNvdW50 Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBQcm90b2NvbEluZGV4Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBPcGVuSW5mb0NvdW50Ow0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBPcGVuSW5mb0luZGV4Ow0KPiArICBFRklfT1BFTl9QUk9UT0NPTF9JTkZPUk1B VElPTl9FTlRSWSAgKk9wZW5JbmZvID0gTlVMTDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbUhhbmRsZUNvdW50Ow0K PiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICptSGFuZGxlQnVmZmVyPSBOVUxMOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJldHJp ZXZlIHRoZSBsaXN0IG9mIGFsbCBoYW5kbGVzIGZyb20gdGhlIGhhbmRsZSBkYXRhYmFzZQ0KPiAr ICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAgICAg ICAgICAgICAgICBBbGxIYW5kbGVzLA0KPiArICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAg ICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmbUhhbmRsZUNvdW50 LA0KPiArICAgICAgICAgICAgICAgICAgJm1IYW5kbGVCdWZmZXINCj4gKyAgICAgICAgICAgICAg ICAgICk7DQo+ICsNCj4gKyAgZm9yIChIYW5kbGVJbmRleCA9IDA7IEhhbmRsZUluZGV4IDwgbUhh bmRsZUNvdW50OyBIYW5kbGVJbmRleCsrKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZXRyaWV2 ZSB0aGUgbGlzdCBvZiBhbGwgdGhlIHByb3RvY29scyBvbiBlYWNoIGhhbmRsZQ0KPiArICAgIC8v DQo+ICsgICAgU3RhdHVzID0gZ0JTLT5Qcm90b2NvbHNQZXJIYW5kbGUgKA0KPiArICAgICAgICAg ICAgICAgICAgICBtSGFuZGxlQnVmZmVyW0hhbmRsZUluZGV4XSwNCj4gKyAgICAgICAgICAgICAg ICAgICAgJlByb3RvY29sR3VpZEFycmF5LA0KPiArICAgICAgICAgICAgICAgICAgICAmQXJyYXlD b3VudA0KPiArICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmICghRUZJX0VSUk9SIChT dGF0dXMpKSB7DQo+ICsgICAgICBmb3IgKFByb3RvY29sSW5kZXggPSAwOyBQcm90b2NvbEluZGV4 IDwgQXJyYXlDb3VudDsgUHJvdG9jb2xJbmRleCsrKSB7DQo+ICsgICAgICAgIFN0YXR1cyA9IGdC Uy0+T3BlblByb3RvY29sSW5mb3JtYXRpb24gKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAg bUhhbmRsZUJ1ZmZlcltIYW5kbGVJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBQ cm90b2NvbEd1aWRBcnJheVtQcm90b2NvbEluZGV4XSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICZPcGVuSW5mbywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICZPcGVuSW5mb0NvdW50 DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgICAgICAgIGlmICghRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgICAgZm9yIChPcGVuSW5mb0luZGV4ID0gMDsg T3BlbkluZm9JbmRleCA8IE9wZW5JbmZvQ291bnQ7DQo+IE9wZW5JbmZvSW5kZXgrKykgew0KPiAr ICAgICAgICAgICAgaWYoT3BlbkluZm9bT3BlbkluZm9JbmRleF0uQWdlbnRIYW5kbGUgPT0gRmF0 aGVyKSB7DQo+ICsgICAgICAgICAgICAgIGlmICgoT3BlbkluZm9bT3BlbkluZm9JbmRleF0uQXR0 cmlidXRlcyAmDQo+IEVGSV9PUEVOX1BST1RPQ09MX0JZX0NISUxEX0NPTlRST0xMRVIpID09DQo+ IEVGSV9PUEVOX1BST1RPQ09MX0JZX0NISUxEX0NPTlRST0xMRVIpIHsNCj4gKyAgICAgICAgICAg ICAgICAqQ2hpbGQgPSBtSGFuZGxlQnVmZmVyW0hhbmRsZUluZGV4XTsNCj4gKwkJICBTdGF0dXMg PSBFRklfU1VDQ0VTUzsNCj4gKwkJICBnb3RvIFRyeVJldHVybjsNCj4gKyAgICAgICAgICAgICAg fQ0KPiArICAgICAgICAgICAgfQ0KPiArICAgICAgICAgIH0NCj4gKwkgICBTdGF0dXMgPSBFRklf Tk9UX0ZPVU5EOw0KPiArICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmKE9wZW5JbmZv ICE9IE5VTEwpIHsNCj4gKyAgICAgICAgRnJlZVBvb2woT3BlbkluZm8pOw0KPiArCSAgICAgIE9w ZW5JbmZvID0gTlVMTDsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgICAgaWYoUHJvdG9jb2xH dWlkQXJyYXkgIT0gTlVMTCkgew0KPiArICAgIEZyZWVQb29sIChQcm90b2NvbEd1aWRBcnJheSk7 DQo+ICsgICAgUHJvdG9jb2xHdWlkQXJyYXkgPSBOVUxMOw0KPiArICAgIH0NCj4gKyAgfQ0KPiAr VHJ5UmV0dXJuOg0KPiArICBpZihPcGVuSW5mbyAhPSBOVUxMKSB7DQo+ICsgICAgRnJlZVBvb2wg KE9wZW5JbmZvKTsNCj4gKyAgICBPcGVuSW5mbyA9IE5VTEw7DQo+ICsgIH0NCj4gKyAgaWYoUHJv dG9jb2xHdWlkQXJyYXkgIT0gTlVMTCkgew0KPiArICAgIEZyZWVQb29sKFByb3RvY29sR3VpZEFy cmF5KTsNCj4gKyAgICBQcm90b2NvbEd1aWRBcnJheSA9IE5VTEw7DQo+ICsgIH0NCj4gKyAgaWYo bUhhbmRsZUJ1ZmZlciAhPSBOVUxMKSB7DQo+ICsgICAgRnJlZVBvb2wgKG1IYW5kbGVCdWZmZXIp Ow0KPiArICAgIG1IYW5kbGVCdWZmZXIgPSBOVUxMOw0KPiArICB9DQo+ICsgIHJldHVybiBTdGF0 dXM7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0p1ZGdlSGFuZGxlSXNQQ0lEZXZpY2Uo DQo+ICsgIEVGSV9IQU5ETEUgICAgSGFuZGxlLA0KPiArICBVSU5UOCAgICAgICAgICAgIERldmlj ZSwNCj4gKyAgVUlOVDggICAgICAgICAgICBGdW5zDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NU QVRVUyAgU3RhdHVzOw0KPiArICBFRklfREVWSUNFX1BBVEggICAqRFBhdGg7DQo+ICsNCj4gKyAg U3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICBIYW5k bGUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkRQYXRoDQo+ICsgICAgICAgICAgICAgICAg ICApOw0KPiArICBpZighRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICB3aGlsZSghSXNEZXZp Y2VQYXRoRW5kKERQYXRoKSkgew0KPiArICAgICAgaWYoKERQYXRoLT5UeXBlID09IEhBUkRXQVJF X0RFVklDRV9QQVRIKSAmJiAoRFBhdGgtPlN1YlR5cGUgPT0NCj4gSFdfUENJX0RQKSkgew0KPiAr ICAgICAgICBQQ0lfREVWSUNFX1BBVEggICAqUENJUGF0aDsNCj4gKyAgICAgICAgUENJUGF0aCA9 IChQQ0lfREVWSUNFX1BBVEgqKSBEUGF0aDsNCj4gKyAgICAgICAgRFBhdGggPSBOZXh0RGV2aWNl UGF0aE5vZGUoRFBhdGgpOw0KPiArDQo+ICsgICAgICAgIGlmKElzRGV2aWNlUGF0aEVuZChEUGF0 aCkgJiYgKFBDSVBhdGgtPkRldmljZSA9PSBEZXZpY2UpICYmDQo+IChQQ0lQYXRoLT5GdW5jdGlv biA9PSBGdW5zKSkgew0KPiArICAgICAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgICAg ICAgfQ0KPiArICAgICAgfSBlbHNlIHsNCj4gKyAgICAgICAgRFBhdGggPSBOZXh0RGV2aWNlUGF0 aE5vZGUoRFBhdGgpOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArICByZXR1cm4g RUZJX1VOU1VQUE9SVEVEOw0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXREcml2ZXJO YW1lKA0KPiArICBFRklfSEFORExFICAgSGFuZGxlDQo+ICspDQo+ICt7DQo+ICsgIEVGSV9EUklW RVJfQklORElOR19QUk9UT0NPTCAgICAgICAgKkJpbmRIYW5kbGUgPSBOVUxMOw0KPiArICBFRklf U1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDMyICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBWZXJzaW9uOw0KPiArICBVSU5UMTYgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICpQdHI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgQnVmZmVyWzQwXTsNCj4gKyAgU1RSSU5HX1JFRiAgICAgICAgICAgICAgICAgIFRva2Vu VG9VcGRhdGU7DQo+ICsgIFN0YXR1cyA9IGdCUy0+T3BlblByb3RvY29sKA0KPiArICAgICAgICAg ICAgICAgICAgSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlEcml2ZXJCaW5kaW5n UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQqKikmQmluZEhhbmRsZSwN Cj4gKyAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAgICAgICAgICAgRUZJX09QRU5fUFJPVE9DT0xfR0VUX1BST1RPQ09MDQo+ ICsgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICBpZiAoRUZJX0VSUk9SKFN0YXR1cykp IHsNCj4gKyAgICByZXR1cm4gRUZJX05PVF9GT1VORDsNCj4gKyAgfQ0KPiArDQo+ICsgIFZlcnNp b24gPSBCaW5kSGFuZGxlLT5WZXJzaW9uOw0KPiArICBQdHIgPSAoVUlOVDE2KikmVmVyc2lvbjsN Cj4gKyAgVW5pY29kZVNQcmludChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIlZC4lZC4lZCIs IFZlcnNpb24gPj4gMjQgLA0KPiAoVmVyc2lvbiA+PjE2KSYgMHgwZiAsKihQdHIpKTsNCj4gKw0K PiArICBUb2tlblRvVXBkYXRlID0gKFNUUklOR19SRUYpU1RSX01JU0NfR09QX1ZFUlNJT047DQo+ ICsgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLCBUb2tlblRvVXBkYXRlLCBCdWZmZXIsIE5VTEwp Ow0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArRUZJX1NUQVRV Uw0KPiArR2V0R09QRHJpdmVyTmFtZSgpDQo+ICt7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgIEhhbmRsZUNvdW50Ow0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICpI YW5kbGVzPSBOVUxMOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsN Cj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9IQU5ETEUg ICAgICAgICAgICAgICAgQ2hpbGQgPSAwOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRl SGFuZGxlQnVmZmVyKA0KPiArCQkgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsJCSAgICAg ICAgICAgICAgJmdFZmlEcml2ZXJCaW5kaW5nUHJvdG9jb2xHdWlkLA0KPiArCQkgICAgICAgICAg ICAgIE5VTEwsDQo+ICsJCSAgICAgICAgICAgICAgJkhhbmRsZUNvdW50LA0KPiArCQkgICAgICAg ICAgICAgICZIYW5kbGVzDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGZvciAo SW5kZXggPSAwOyBJbmRleCA8IEhhbmRsZUNvdW50IDsgSW5kZXgrKykgew0KPiArICAgIFN0YXR1 cyA9IFNlYXJjaENoaWxkSGFuZGxlKEhhbmRsZXNbSW5kZXhdLCAmQ2hpbGQpOw0KPiArICAgIGlm KCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgICAgU3RhdHVzID0gSnVkZ2VIYW5kbGVJc1BD SURldmljZShDaGlsZCwgMHgwMiwgMHgwMCk7DQo+ICsgICAgICBpZighRUZJX0VSUk9SKFN0YXR1 cykpIHsNCj4gKyAgICAgICAgcmV0dXJuIEdldERyaXZlck5hbWUoSGFuZGxlc1tJbmRleF0pOw0K PiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ow0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtHZXRVY29kZVZlcnNpb24oKQ0KPiArew0KPiArICBV SU5UMzIgICAgICAgICAgICAgICAgICAgTWljcm9Db2RlVmVyc2lvbjsNCj4gKyAgQ0hBUjE2ICAg ICAgICAgICAgICAgICAgIEJ1ZmZlcls0MF07DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWljcm9j b2RlIFJldmlzaW9uDQo+ICsgIC8vDQo+ICsgIEVmaVdyaXRlTXNyIChFRklfTVNSX0lBMzJfQklP U19TSUdOX0lELCAwKTsNCj4gKyAgRWZpQ3B1aWQgKEVGSV9DUFVJRF9WRVJTSU9OX0lORk8sIE5V TEwpOw0KPiArICBNaWNyb0NvZGVWZXJzaW9uID0gKFVJTlQzMikgUlNoaWZ0VTY0IChFZmlSZWFk TXNyDQo+IChFRklfTVNSX0lBMzJfQklPU19TSUdOX0lEKSwgMzIpOw0KPiArICBVbmljb2RlU1By aW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSwgTCIleCIsIE1pY3JvQ29kZVZlcnNpb24pOw0K PiArICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX01JU0NfVUNPREVf VkVSU0lPTiksDQo+IEJ1ZmZlciwgTlVMTCk7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBQdWJs aXNoIHRoZSBzbWJpb3MgT0VNIHR5cGUgMHg5MC4NCj4gKw0KPiArICBAcGFyYW0gRXZlbnQgICAt IEV2ZW50IHdob3NlIG5vdGlmaWNhdGlvbiBmdW5jdGlvbiBpcyBiZWluZyBpbnZva2VkDQo+IChn RWZpRHhlU21tUmVhZHlUb0xvY2tQcm90b2NvbEd1aWQpLg0KPiArICBAcGFyYW0gQ29udGV4dCAt IFBvaW50ZXIgdG8gdGhlIG5vdGlmaWNhdGlvbiBmdW5jdGlvbnMgY29udGV4dCwgd2hpY2ggaXMN Cj4gaW1wbGVtZW50YXRpb24gZGVwZW5kZW50Lg0KPiArDQo+ICsgIEByZXR2YWwgTm9uZQ0KPiAr DQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArQWRkU21iaW9zVDB4OTBDYWxs YmFjayAoDQo+ICsgIElOIEVGSV9FVkVOVCAgRXZlbnQsDQo+ICsgIElOIFZPSUQgICAgICAgKkNv bnRleHQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgU3RhdHVzOw0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgU0VDVmVyU3RyTGVuID0gMDsNCj4gKyAgVUlOVE4g ICAgICAgICAgICAgICAgIHVDb2RlVmVyU3RyTGVuID0gMDsNCj4gKyAgVUlOVE4gICAgICAgICAg ICAgICAgIEdPUFN0ckxlbiA9IDA7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICBTdGVwcGlu Z1N0ckxlbiA9IDA7DQo+ICsgIFNNQklPU19UQUJMRV9UWVBFOTAgICAgKlNtYmlvc1JlY29yZDsN Cj4gKyAgRUZJX1NNQklPU19IQU5ETEUgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgQ0hBUjE2ICAg ICAgICAgICAgICAgICpTRUNWZXI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqdUNvZGVW ZXI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqR09QVmVyOw0KPiArICBDSEFSMTYgICAg ICAgICAgICAgICAgKlN0ZXBwaW5nOw0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgVG9rZW5U b0dldDsNCj4gKyAgQ0hBUjggICAgICAgICAgICAgICAgICpPcHRpb25hbFN0clN0YXJ0Ow0KPiAr ICBFRklfU01CSU9TX1BST1RPQ09MICAgICAgICAgICAgICAgKlNtYmlvc1Byb3RvY29sOw0KPiAr DQo+ICsgIERFQlVHICgoRUZJX0RfSU5GTywgIkV4ZWN1dGluZyBTTUJJT1MgVDB4OTAgY2FsbGJh Y2suXG4iKSk7DQo+ICsNCj4gKyAgZ0JTLT5DbG9zZUV2ZW50IChFdmVudCk7ICAgIC8vIFVubG9h ZCB0aGlzIGV2ZW50Lg0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpcnN0IGNoZWNrIGZvciBpbnZh bGlkIHBhcmFtZXRlcnMuDQo+ICsgIC8vDQo+ICsgIGlmIChDb250ZXh0ID09IE5VTEwpIHsNCj4g KyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgU3Rh dHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaVNt Ymlvc1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAg ICAgICAgICAgICAoVk9JRCAqKSAmU21iaW9zUHJvdG9jb2wNCj4gKyAgICAgICAgICAgICAgICAg ICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgR2V0VWNvZGVW ZXJzaW9uKCk7DQo+ICsgIEdldEdPUERyaXZlck5hbWUoKTsNCj4gKyAgR2V0Q1BVU3RlcHBpbmco KTsNCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TRUNfVkVS U0lPTik7DQo+ICsgIFNFQ1ZlciA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0K PiArICBTRUNWZXJTdHJMZW4gPSBTdHJMZW4oU0VDVmVyKTsNCj4gKyAgaWYgKFNFQ1ZlclN0ckxl biA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQ T1JURUQ7DQo+ICsgIH0NCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJf TUlTQ19VQ09ERV9WRVJTSU9OKTsNCj4gKyAgdUNvZGVWZXIgPSBTbWJpb3NNaXNjR2V0U3RyaW5n IChUb2tlblRvR2V0KTsNCj4gKyAgdUNvZGVWZXJTdHJMZW4gPSBTdHJMZW4odUNvZGVWZXIpOw0K PiArICBpZiAodUNvZGVWZXJTdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4g KyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4gKyAgVG9rZW5Ub0dl dCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfR09QX1ZFUlNJT04pOw0KPiArICBHT1BWZXIgPSBT bWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgR09QU3RyTGVuID0gU3RyTGVu KEdPUFZlcik7DQo+ICsgIGlmIChHT1BTdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgp IHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4gKyAgVG9r ZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfUFJPQ0VTU09SX1NURVBQSU5HKTsNCj4g KyAgU3RlcHBpbmcgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgU3Rl cHBpbmdTdHJMZW4gPSBTdHJMZW4oU3RlcHBpbmcpOw0KPiArDQo+ICsNCj4gKyAgaWYgKFN0ZXBw aW5nU3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVG SV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIFNtYmlvc1JlY29yZCA9IEFsbG9jYXRl UG9vbChzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFOTApICsNCj4gU0VDVmVyU3RyTGVuICsgMSAr IHVDb2RlVmVyU3RyTGVuICsgMSArIEdPUFN0ckxlbiArIDEgKyBTdGVwcGluZ1N0ckxlbiArIDEN Cj4gKyAxKTsNCj4gKyAgWmVyb01lbShTbWJpb3NSZWNvcmQsIHNpemVvZiAoU01CSU9TX1RBQkxF X1RZUEU5MCkgKyBTRUNWZXJTdHJMZW4NCj4gKyAxICsgdUNvZGVWZXJTdHJMZW4gKyAxICsgR09Q U3RyTGVuICsgMSArIFN0ZXBwaW5nU3RyTGVuICsgMSArIDEpOw0KPiArDQo+ICsgIFNtYmlvc1Jl Y29yZC0+SGRyLlR5cGUgPQ0KPiBFRklfU01CSU9TX1RZUEVfRklSTVdBUkVfVkVSU0lPTl9JTkZP Ow0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5MZW5ndGggPSBzaXplb2YgKFNNQklPU19UQUJMRV9U WVBFOTApOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2UgaGFuZGxlIGNob3NlbiBieSBzbWJp b3MgcHJvdG9jb2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29y ZC0+SGRyLkhhbmRsZSA9IDA7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU0VDIFZFUlNJT04gd2ls bCBiZSB0aGUgMXN0IG9wdGlvbmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlIGZvcm1hdHRlZA0KPiBz dHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+U0VDVmVyc2lvbiA9IDA7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWljcm9jb2RlIFZFUlNJT04gd2lsbCBiZSB0aGUgMm5kIG9w dGlvbmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlDQo+IGZvcm1hdHRlZCBzdHJ1Y3R1cmUuDQo+ICsg IC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+dUNvZGVWZXJzaW9uID0gMjsNCj4gKw0KPiArICAvLw0K PiArICAvLyBHT1AgVkVSU0lPTiB3aWxsIGJlIHRoZSAzcmQgb3B0aW9uYWwgc3RyaW5nIGZvbGxv d2luZyB0aGUgZm9ybWF0dGVkDQo+IHN0cnVjdHVyZS4NCj4gKyAgLy8NCj4gKyAgU21iaW9zUmVj b3JkLT5HT1BWZXJzaW9uID0gMzsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDUFUgU3RlcHBpbmcg d2lsbCBiZSB0aGUgNHRoIG9wdGlvbmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlIGZvcm1hdHRlZA0K PiBzdHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+Q3B1U3RlcHBpbmcgPSA0 Ow0KPiArDQo+ICsgIE9wdGlvbmFsU3RyU3RhcnQgPSAoQ0hBUjggKikoU21iaW9zUmVjb3JkICsg MSk7DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKFNFQ1ZlciwgT3B0aW9uYWxTdHJTdGFydCk7 DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKHVDb2RlVmVyLCBPcHRpb25hbFN0clN0YXJ0ICsg U0VDVmVyU3RyTGVuICsgMSk7DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKEdPUFZlciwgT3B0 aW9uYWxTdHJTdGFydCArIFNFQ1ZlclN0ckxlbiArIDEgKw0KPiB1Q29kZVZlclN0ckxlbiArIDEp Ow0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihTdGVwcGluZywgT3B0aW9uYWxTdHJTdGFydCAr IFNFQ1ZlclN0ckxlbiArIDEgKw0KPiB1Q29kZVZlclN0ckxlbiArIDEgKyBHT1BTdHJMZW4gKyAx KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBOb3cgd2UgaGF2ZSBnb3QgdGhlIGZ1bGwgc21iaW9z IHJlY29yZCwgY2FsbCBzbWJpb3MgcHJvdG9jb2wgdG8gYWRkIHRoaXMNCj4gcmVjb3JkLg0KPiAr ICAvLw0KPiArICBTbWJpb3NIYW5kbGUgPSBTTUJJT1NfSEFORExFX1BJX1JFU0VSVkVEOw0KPiAr ICBTdGF0dXMgPSBTbWJpb3NQcm90b2NvbC0+IEFkZCgNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNtYmlvc1Byb3RvY29sLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZTbWJpb3NIYW5kbGUs DQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoRUZJX1NNQklPU19UQUJMRV9IRUFE RVIgKikgU21iaW9zUmVjb3JkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICApOw0K PiArDQo+ICsgIEZyZWVQb29sKFNtYmlvc1JlY29yZCk7DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gbWFrZXMgYm9vdCB0aW1l IGNoYW5nZXMgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZQ0KPiArICBNaXNjT2VtVHlwZTB4OTAgKFR5 cGUgMHg5MCkuDQo+ICsNCj4gKyAgQHBhcmFtICBSZWNvcmREYXRhICAgICAgICAgICAgICAgICBQ b2ludGVyIHRvIGNvcHkgb2YgUmVjb3JkRGF0YSBmcm9tIHRoZSBEYXRhDQo+IFRhYmxlLg0KPiAr DQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgQWxsIHBhcmFtZXRlcnMg d2VyZSB2YWxpZC4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAgICBVbmV4 cGVjdGVkIFJlY29yZFR5cGUgdmFsdWUuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1F VEVSICAgICAgSW52YWxpZCBwYXJhbWV0ZXIgd2FzIGZvdW5kLg0KPiArDQo+ICsqKi8NCj4gK01J U0NfU01CSU9TX1RBQkxFX0ZVTkNUSU9OKE1pc2NPZW1UeXBlMHg5MCkNCj4gK3sNCj4gKyAgRUZJ X1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBzdGF0aWMgQk9PTEVBTiAg ICAgICAgICAgICAgICBDYWxsYmFja0lzSW5zdGFsbGVkVDB4OTAgPSBGQUxTRTsNCj4gKyAgVk9J RCAgICAgICAgICAgICAgICAgICAgICAgICAgICpBZGRTbWJpb3NUMHg5MENhbGxiYWNrTm90aWZ5 UmVnOw0KPiArICBFRklfRVZFTlQgICAgICAgICAgICAgICAgICAgICAgQWRkU21iaW9zVDB4OTBD YWxsYmFja0V2ZW50Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRoaXMgY2FsbGJhY2sgd2lsbCBj cmVhdGUgYSBPRU0gVHlwZSAweDkwIHJlY29yZC4NCj4gKyAgLy8NCj4gKyAgaWYgKENhbGxiYWNr SXNJbnN0YWxsZWRUMHg5MCA9PSBGQUxTRSkgew0KPiArICAgIENhbGxiYWNrSXNJbnN0YWxsZWRU MHg5MCA9IFRSVUU7ICAgICAgICAJLy8gUHJldmVudCBtb3JlIHRoYW4gMQ0KPiBjYWxsYmFjay4N Cj4gKyAgICBERUJVRyAoKEVGSV9EX0lORk8sICJDcmVhdGUgU21iaW9zIFQweDkwIGNhbGxiYWNr LlxuIikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIGdFZmlEeGVTbW1SZWFkeVRvTG9ja1Byb3Rv Y29sR3VpZCBpcyByZWFkeQ0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50 ICgNCj4gKyAgICAgICAgICAgICAgICAgIEVWVF9OT1RJRllfU0lHTkFMLA0KPiArICAgICAgICAg ICAgICAgICAgVFBMX0NBTExCQUNLLA0KPiArICAgICAgICAgICAgICAgICAgKEVGSV9FVkVOVF9O T1RJRlkpQWRkU21iaW9zVDB4OTBDYWxsYmFjaywNCj4gKyAgICAgICAgICAgICAgICAgIFJlY29y ZERhdGEsDQo+ICsgICAgICAgICAgICAgICAgICAmQWRkU21iaW9zVDB4OTBDYWxsYmFja0V2ZW50 DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0 YXR1cyk7DQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3Rh dHVzOw0KPiArDQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBnQlMtPlJlZ2lzdGVyUHJvdG9j b2xOb3RpZnkgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlEeGVTbW1SZWFkeVRvTG9ja1By b3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIEFkZFNtYmlvc1QweDkwQ2FsbGJhY2tF dmVudCwNCj4gKyAgICAgICAgICAgICAgICAgICZBZGRTbWJpb3NUMHg5MENhbGxiYWNrTm90aWZ5 UmVnDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICsNCj4gK30NCj4gZGlmZiAt LWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUv TWlzY09lbVR5cGUweDk0LnVuaQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1NtQmlvc01pc2NEeGUvTWlzY09lbVR5cGUweDk0LnVuaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0 NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yYzhiZjRjZTQ5DQo+IC0tLSAvZGV2L251bGwNCj4gKysr DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNj T2VtVHlwZTB4OTQudW5pDQo+IEBAIC0wLDAgKzEsNDIgQEANCj4gKy8vICorKw0KPiArLy8NCj4g Ky8vIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmln aHRzIHJlc2VydmVkLjxCUj4NCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1D bGF1c2UtUGF0ZW50DQo+ICsvLw0KPiArLy8NCj4gKy8vIE1vZHVsZSBOYW1lOg0KPiArLy8NCj4g Ky8vICAgTWlzY09lbVR5cGUweDk0LnVuaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0Og0KPiArLy8N Cj4gKy8vICAgRmlybXdhcmUgVmVyc2lvbiBJbmZvcm1hdGlvbg0KPiArLy8gICBTTUJJT1MgdHlw ZSAweDk0Lg0KPiArLy8NCj4gKy8vIFJldmlzaW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0q Lw0KPiArDQo+ICsNCj4gKy89Iw0KPiArI2xhbmdkZWYgICBlbi1VUyAiRW5nbGlzaCINCj4gKw0K PiArI3N0cmluZyBTVFJfTUlTQ19QTUlDX1ZFUlNJT04gICAgICAgICAgICAgICAgI2xhbmd1YWdl IGVuLVVTICAiTkEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1RPVUNIX1ZFUlNJT04gICAgICAgICAg ICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOQSINCj4gKyNzdHJpbmcgU1RSX01JU0NfUFJPQ0VTU09S X01JQ1JPQ09ERV9WQUxVRSAgICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJOQSINCj4gKyNzdHJp bmcgU1RSX01JU0NfVUxQTUNfRldfVkFMVUUgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiTkEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1BVTklUX0ZXX1ZBTFVFICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIk5BIg0KPiArI3N0cmluZyBTVFJfTUlTQ19QTUNfRldf VkFMVUUgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOQSINCj4gKyNzdHJp bmcgU1RSX01JU0NfU09DX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiTkEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX01SQ19WRVJTSU9OX1ZBTFVFICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIk5BIg0KPiArI3N0cmluZyBTVFJfTUlTQ19CT0FSRF9J RF9WQUxVRSAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOQSINCj4gKyNzdHJp bmcgU1RSX01JU0NfRkFCX0lEX1ZBTFVFICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiTkEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX0NQVV9GTEFWT1JfVkFMVUUgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIk5BIg0KPiArI3N0cmluZyBTVFJfTUlTQ19TRUNVUkVf Qk9PVCAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOQSINCj4gKyNzdHJp bmcgU1RSX01JU0NfQk9PVF9NT0RFICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiTkEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1NQRUVEX1NURVAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIk5BIg0KPiArI3N0cmluZyBTVFJfTUlTQ19DUFVfVFVS Qk8gICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOQSINCj4gKyNzdHJp bmcgU1RSX01JU0NfQ1NUQVRFICAgICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiTkEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX0dGWF9UVVJCTyAgICAgICAgICAgICAgICAg ICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIk5BIg0KPiArI3N0cmluZyBTVFJfTUlTQ19TMElYX1ZB TFVFICAgICAgICAgICAgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJOQSINCj4gKyNzdHJp bmcgU1RSX01JU0NfUkM2X1ZBTFVFICAgICAgICAgICAgICAgICAgICAgICAgI2xhbmd1YWdlIGVu LVVTICAiTkEiDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5NERhdGENCj4gLmMNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5NERh dA0KPiBhLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uODcw OWQ2MTg0Nw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY09lbVR5cGUweDk0RGF0DQo+IGEuYw0KPiBA QCAtMCwwICsxLDU0IEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMiAgLSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuDQo+ICsNCj4gDQo+ ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4g Kw0KPiANCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2NPZW1U eXBlMHg5NERhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlzIGZpbGUgY29u dGFpbnMgdGhlIE1pc2MgdmVyc2lvbiBEYXRhIChTTUJJT1MgZGF0YSB0eXBlIDB4OTQpDQo+ICsN Cj4gKy0tKi8NCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ICsjaW5j bHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4gKw0KPiArLy8NCj4gKy8vIFN0YXRp YyAocG9zc2libHkgYnVpbGQgZ2VuZXJhdGVkKSBPZW0gZGF0YS4NCj4gKy8vDQo+ICtNSVNDX1NN QklPU19UQUJMRV9EQVRBKEVGSV9NSVNDX09FTV9UWVBFXzB4OTQsDQo+IE1pc2NPZW1UeXBlMHg5 NCkgPSB7DQo+ICsNCj4gK1NUUklOR19UT0tFTiAoU1RSX01JU0NfR09QX1ZFUlNJT04pLA0KPiAr U1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TRUNfVkVSU0lPTiksDQo+ICtTVFJJTkdfVE9LRU4gKFNU Ul9NSVNDX01SQ19WRVJTSU9OX1ZBTFVFKSwNCj4gK1NUUklOR19UT0tFTiAoU1RSX01JU0NfVUNP REVfVkVSU0lPTiksDQo+ICtTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1BVTklUX0ZXX1ZBTFVFKSwN Cj4gK1NUUklOR19UT0tFTiAoU1RSX01JU0NfUE1DX0ZXX1ZBTFVFKSwNCj4gK1NUUklOR19UT0tF TiAoU1RSX01JU0NfVUxQTUNfRldfVkFMVUUpLA0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19T T0NfVkFMVUUpLA0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19CT0FSRF9JRF9WQUxVRSksDQo+ ICtTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX0ZBQl9JRF9WQUxVRSksDQo+ICtTVFJJTkdfVE9LRU4g KFNUUl9NSVNDX0NQVV9GTEFWT1JfVkFMVUUpLA0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19C SU9TX1ZFUlNJT04pLA0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19QTUlDX1ZFUlNJT04pLA0K PiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19UT1VDSF9WRVJTSU9OKSwNCj4gK1NUUklOR19UT0tF TiAoU1RSX01JU0NfU0VDVVJFX0JPT1QpLA0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19CT09U X01PREUpLA0KPiArU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TUEVFRF9TVEVQKSwNCj4gK1NUUklO R19UT0tFTiAoU1RSX01JU0NfQ1BVX1RVUkJPKSwNCj4gK1NUUklOR19UT0tFTiAoU1RSX01JU0Nf Q1NUQVRFKSwNCj4gK1NUUklOR19UT0tFTiAoU1RSX01JU0NfR0ZYX1RVUkJPKSwNCj4gK1NUUklO R19UT0tFTiAoU1RSX01JU0NfUzBJWF9WQUxVRSksDQo+ICtTVFJJTkdfVE9LRU4gKFNUUl9NSVND X1JDNl9WQUxVRSksDQo+ICsNCj4gK307DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPZW1UeXBlMHg5NEZ1bg0KPiBj dGlvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4 ZS9NaXNjT2VtVHlwZTB4OTRGdW4NCj4gY3Rpb24uYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0K PiBpbmRleCAwMDAwMDAwMDAwLi4xNWMxODAxMjljDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT2Vt VHlwZTB4OTRGdW4NCj4gY3Rpb24uYw0KPiBAQCAtMCwwICsxLDEyMTggQEANCj4gKy8qKysNCj4g Kw0KPiArQ29weXJpZ2h0IChjKSAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiAgQWxs IHJpZ2h0cyByZXNlcnZlZC4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gKw0KPiArTW9k dWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY09lbVR5cGUweDk0RnVuY3Rpb24uYw0KPiArDQo+ICtB YnN0cmFjdDoNCj4gKw0KPiArICBUaGUgZnVuY3Rpb24gdGhhdCBwcm9jZXNzZXMgdGhlIFNtYmlv cyBkYXRhIHR5cGUgMHg5NC4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9u SGVhZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKyNp bmNsdWRlIDxQcm90b2NvbC9EYXRhSHViLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9IaWlMaWIu aD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9DcHVJbzIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5 L1ByaW50TGliLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNpUm9vdEJyaWRnZUlvLmg+DQo+ ICsjaW5jbHVkZSA8UHJvdG9jb2wvU2ltcGxlTmV0d29yay5oPg0KPiArI2luY2x1ZGUgPFByb3Rv Y29sL0RldmljZVBhdGguaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9EaXNrSW5mby5oPg0KPiAr I2luY2x1ZGUgPFByb3RvY29sL0lkZUNvbnRyb2xsZXJJbml0Lmg+DQo+ICsjaW5jbHVkZSA8UHJv dG9jb2wvTXBTZXJ2aWNlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvUGNoUGxhdGZvcm1Qb2xp Y3kuaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9DcHVJbzIuaD4NCj4gKyNpbmNsdWRlIDxQcm90 b2NvbC9JMmNCdXMuaD4NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkvSW9MaWIuaD4NCj4gKyNp bmNsdWRlIDxMaWJyYXJ5L0kyQ0xpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQ3B1SUEzMi5o Pg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ ICsjaW5jbHVkZSA8R3VpZC9QbGF0Zm9ybUluZm8uaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1NldHVw VmFyaWFibGUuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1ZsdjJWYXJpYWJsZS5oPg0KPiArDQo+ICsj aW5jbHVkZSAiVmFsbGV5dmlldy5oIg0KPiArI2luY2x1ZGUgIlZsdkFjY2Vzcy5oIg0KPiArI2lu Y2x1ZGUgIlBjaEFjY2Vzcy5oIg0KPiArI2luY2x1ZGUgIlNldHVwTW9kZS5oIg0KPiArI2luY2x1 ZGUgIlBjaENvbW1vbkRlZmluaXRpb25zLmgiDQo+ICsjaW5jbHVkZSA8UGxhdGZvcm1CYXNlQWRk cmVzc2VzLmg+DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggUmV2SWQ7DQo+ ICsgIENIQVI4IFN0cmluZ1sxNl07DQo+ICt9IFNCX1JFVjsNCj4gKw0KPiArLy8NCj4gKy8vIFNp bGljb24gU3RlcHBpbmdzDQo+ICsvLw0KPiArU0JfUkVWICBTQlJldmlzaW9uVGFibGVbXSA9IHsN Cj4gKyAge1ZfUENIX0xQQ19SSURfMCwgIihBMCBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQ Q19SSURfMSwgIihBMCBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfMiwgIihBMSBT dGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfMywgIihBMSBTdGVwcGluZykifSwNCj4g KyAge1ZfUENIX0xQQ19SSURfNCwgIihCMCBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19S SURfNSwgIihCMCBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfNiwgIihCMSBTdGVw cGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfNywgIihCMSBTdGVwcGluZykifSwNCj4gKyAg e1ZfUENIX0xQQ19SSURfOCwgIihCMiBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURf OSwgIihCMiBTdGVwcGluZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfQSwgIihCMyBTdGVwcGlu ZykifSwNCj4gKyAge1ZfUENIX0xQQ19SSURfQiwgIihCMyBTdGVwcGluZykifQ0KPiArfTsNCj4g Kw0KPiArI2RlZmluZSBMRUZUX0pVU1RJRlkgIDB4MDENCj4gKyNkZWZpbmUgUFJFRklYX1NJR04g ICAweDAyDQo+ICsjZGVmaW5lIFBSRUZJWF9CTEFOSyAgMHgwNA0KPiArI2RlZmluZSBDT01NQV9U WVBFICAgIDB4MDgNCj4gKyNkZWZpbmUgTE9OR19UWVBFICAgICAweDEwDQo+ICsjZGVmaW5lIFBS RUZJWF9aRVJPICAgMHgyMA0KPiArDQo+ICsjZGVmaW5lIElDSF9SRUdfUkVWICAgICAgICAgICAg ICAgICAweDA4DQo+ICsjZGVmaW5lIE1TUl9JQTMyX1BMQVRGT1JNX0lEICAgICAgICAweDE3DQo+ ICsjZGVmaW5lIENIQVJBQ1RFUl9OVU1CRVJfRk9SX1ZBTFVFICAzMA0KPiArDQo+ICsNCj4gK1VJ TlQ4ICBSZWFkQnVmZmVyWzIwXTsgIC8vVmVyc2lvbiByZXBvcnQgbGVuZ3RoDQo+ICtVSU5UOCAg V3JpdGVCdWZmZXJbMjJdID0NCj4gezB4NDAsMHgwMSwweDE0LDB4MDAsMHgwNiwweDUxLDB4MDIs MHgwNywwLDAsMCwwLDAsMCwwLDAsMCwwLDAsMCwwLDB9Ow0KPiAvL1ZlcnNpb24gcmVxdWVzdA0K PiArDQo+ICsvKioNCj4gKw0KPiArICBWU1ByaW50IHdvcmtlciBmdW5jdGlvbiB0aGF0IHByaW50 cyBhIFZhbHVlIGFzIGEgZGVjaW1hbCBudW1iZXIgaW4gQnVmZmVyDQo+ICsNCj4gKyAgQHBhcmFt IEJ1ZmZlciAgTG9jYXRpb24gdG8gcGxhY2UgYXNjaWkgZGVjaW1hbCBudW1iZXIgc3RyaW5nIG9m IFZhbHVlLg0KPiArICBAcGFyYW0gVmFsdWUgICBEZWNpbWFsIHZhbHVlIHRvIGNvbnZlcnQgdG8g YSBzdHJpbmcgaW4gQnVmZmVyLg0KPiArICBAcGFyYW0gRmxhZ3MgICBGbGFncyB0byB1c2UgaW4g cHJpbnRpbmcgZGVjaW1hbCBzdHJpbmcsIHNlZSBmaWxlIGhlYWRlciBmb3INCj4gZGV0YWlscy4N Cj4gKyAgQHBhcmFtIFdpZHRoICAgV2lkdGggb2YgaGV4IHZhbHVlLg0KPiArDQo+ICsgIEByZXR2 YWwgTnVtYmVyIG9mIGNoYXJhY3RlcnMgcHJpbnRlZC4NCj4gKw0KPiArKiovDQo+ICtVSU5UTg0K PiArRWZpVmFsdWVUb1N0cmluZyAoDQo+ICsgIElOICBPVVQgQ0hBUjE2ICAqQnVmZmVyLA0KPiAr ICBJTiAgSU5UNjQgICAgICAgVmFsdWUsDQo+ICsgIElOICBVSU5UTiAgICAgICBGbGFncywNCj4g KyAgSU4gIFVJTlROICAgICAgIFdpZHRoDQo+ICsgICkNCj4gK3sNCj4gKyAgQ0hBUjE2ICAgIFRl bXBCdWZmZXJbQ0hBUkFDVEVSX05VTUJFUl9GT1JfVkFMVUVdOw0KPiArICBDSEFSMTYgICAgKlRl bXBTdHI7DQo+ICsgIENIQVIxNiAgICAqQnVmZmVyUHRyOw0KPiArICBVSU5UTiAgICAgQ291bnQ7 DQo+ICsgIFVJTlROICAgICBWYWx1ZUNoYXJOdW07DQo+ICsgIFVJTlROICAgICBSZW1haW5kZXI7 DQo+ICsgIENIQVIxNiAgICBQcmVmaXg7DQo+ICsgIFVJTlROICAgICBJbmRleDsNCj4gKyAgQk9P TEVBTiAgIFZhbHVlSXNOZWdhdGl2ZTsNCj4gKyAgVUlOVDY0ICAgIFRlbXBWYWx1ZTsNCj4gKw0K PiArICBUZW1wU3RyICAgICAgICAgPSBUZW1wQnVmZmVyOw0KPiArICBCdWZmZXJQdHIgICAgICAg PSBCdWZmZXI7DQo+ICsgIENvdW50ICAgICAgICAgICA9IDA7DQo+ICsgIFZhbHVlQ2hhck51bSAg ICA9IDA7DQo+ICsgIFZhbHVlSXNOZWdhdGl2ZSA9IEZBTFNFOw0KPiArDQo+ICsgIGlmIChXaWR0 aCA+IENIQVJBQ1RFUl9OVU1CRVJfRk9SX1ZBTFVFIC0gMSkgew0KPiArICAgIFdpZHRoID0gQ0hB UkFDVEVSX05VTUJFUl9GT1JfVkFMVUUgLSAxOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKFZhbHVl IDwgMCkgew0KPiArICAgIFZhbHVlICAgICAgICAgICA9IC1WYWx1ZTsNCj4gKyAgICBWYWx1ZUlz TmVnYXRpdmUgPSBUUlVFOw0KPiArICB9DQo+ICsNCj4gKyAgZG8gew0KPiArICAgIFRlbXBWYWx1 ZSA9IFZhbHVlOw0KPiArICAgIFZhbHVlID0gKElOVDY0KURpdlU2NHgzMiAoKFVJTlQ2NClWYWx1 ZSwgMTApOw0KPiArICAgIFJlbWFpbmRlciA9IChVSU5UTikoKFVJTlQ2NClUZW1wVmFsdWUgLSAx MCAqIFZhbHVlKTsNCj4gKyAgICAqKFRlbXBTdHIrKykgPSAoQ0hBUjE2KShSZW1haW5kZXIgKyAn MCcpOw0KPiArICAgIFZhbHVlQ2hhck51bSsrOw0KPiArICAgIENvdW50Kys7DQo+ICsgICAgaWYg KChGbGFncyAmIENPTU1BX1RZUEUpID09IENPTU1BX1RZUEUpIHsNCj4gKyAgICAgIGlmIChWYWx1 ZUNoYXJOdW0gJSAzID09IDAgJiYgVmFsdWUgIT0gMCkgew0KPiArICAgICAgICAqKFRlbXBTdHIr KykgPSAnLCc7DQo+ICsgICAgICAgIENvdW50Kys7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiAr ICB9IHdoaWxlIChWYWx1ZSAhPSAwKTsNCj4gKw0KPiArICBpZiAoVmFsdWVJc05lZ2F0aXZlKSB7 DQo+ICsgICAgKihUZW1wU3RyKyspICAgID0gJy0nOw0KPiArICAgIENvdW50Kys7DQo+ICsgIH0N Cj4gKw0KPiArICBpZiAoKEZsYWdzICYgUFJFRklYX1pFUk8pICYmICFWYWx1ZUlzTmVnYXRpdmUp IHsNCj4gKyAgICBQcmVmaXggPSAnMCc7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgUHJlZml4ID0g JyAnOw0KPiArICB9DQo+ICsNCj4gKyAgSW5kZXggPSBDb3VudDsNCj4gKyAgaWYgKCEoRmxhZ3Mg JiBMRUZUX0pVU1RJRlkpKSB7DQo+ICsgICAgZm9yICg7IEluZGV4IDwgV2lkdGg7IEluZGV4Kysp IHsNCj4gKyAgICAgICooVGVtcFN0cisrKSA9IFByZWZpeDsNCj4gKyAgICB9DQo+ICsgIH0NCj4g Kw0KPiArICAvLw0KPiArICAvLyBSZXZlcnNlIHRlbXAgc3RyaW5nIGludG8gQnVmZmVyLg0KPiAr ICAvLw0KPiArICBpZiAoV2lkdGggPiAwICYmIChVSU5UTikgKFRlbXBTdHIgLSBUZW1wQnVmZmVy KSA+IFdpZHRoKSB7DQo+ICsgICAgVGVtcFN0ciA9IFRlbXBCdWZmZXIgKyBXaWR0aDsNCj4gKyAg fQ0KPiArICBJbmRleCA9IDA7DQo+ICsgIHdoaWxlIChUZW1wU3RyICE9IFRlbXBCdWZmZXIpIHsN Cj4gKyAgICAqKEJ1ZmZlclB0cisrKSA9ICooLS1UZW1wU3RyKTsNCj4gKyAgICBJbmRleCsrOw0K PiArICB9DQo+ICsNCj4gKyAgKkJ1ZmZlclB0ciA9IDA7DQo+ICsgIHJldHVybiBJbmRleDsNCj4g K30NCj4gKw0KPiArc3RhdGljIENIQVIxNiBtSGV4U3RyW10gPSB7IEwnMCcsIEwnMScsIEwnMics IEwnMycsIEwnNCcsIEwnNScsIEwnNicsIEwnNycsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgTCc4JywgTCc5JywgTCdBJywgTCdCJywgTCdDJywgTCdEJywgTCdFJywgTCdGJyB9Ow0K PiArLyoqDQo+ICsgIFZTUHJpbnQgd29ya2VyIGZ1bmN0aW9uIHRoYXQgcHJpbnRzIGEgVmFsdWUg YXMgYSBoZXggbnVtYmVyIGluIEJ1ZmZlcg0KPiArDQo+ICsgIEBwYXJhbSBCdWZmZXIgICBMb2Nh dGlvbiB0byBwbGFjZSBhc2NpaSBoZXggc3RyaW5nIG9mIFZhbHVlLg0KPiArICBAcGFyYW0gVmFs dWUgICAgSGV4IHZhbHVlIHRvIGNvbnZlcnQgdG8gYSBzdHJpbmcgaW4gQnVmZmVyLg0KPiArICBA cGFyYW0gRmxhZ3MgICAgRmxhZ3MgdG8gdXNlIGluIHByaW50aW5nIEhleCBzdHJpbmcsIHNlZSBm aWxlIGhlYWRlciBmb3INCj4gZGV0YWlscy4NCj4gKyAgQHBhcmFtIFdpZHRoICAgIFdpZHRoIG9m IGhleCB2YWx1ZS4NCj4gKw0KPiArICBAcmV0dmFsIE51bWJlciBvZiBjaGFyYWN0ZXJzIHByaW50 ZWQuDQo+ICsNCj4gKyoqLw0KPiArVUlOVE4NCj4gK0VmaVZhbHVlVG9IZXhTdHIgKA0KPiArICBJ TiAgT1VUIENIQVIxNiAgKkJ1ZmZlciwNCj4gKyAgSU4gIFVJTlQ2NCAgICAgIFZhbHVlLA0KPiAr ICBJTiAgVUlOVE4gICAgICAgRmxhZ3MsDQo+ICsgIElOICBVSU5UTiAgICAgICBXaWR0aA0KPiAr ICApDQo+ICt7DQo+ICsgIENIQVIxNiAgVGVtcEJ1ZmZlcltDSEFSQUNURVJfTlVNQkVSX0ZPUl9W QUxVRV07DQo+ICsgIENIQVIxNiAgKlRlbXBTdHI7DQo+ICsgIENIQVIxNiAgUHJlZml4Ow0KPiAr ICBDSEFSMTYgICpCdWZmZXJQdHI7DQo+ICsgIFVJTlROICAgQ291bnQ7DQo+ICsgIFVJTlROICAg SW5kZXg7DQo+ICsNCj4gKyAgVGVtcFN0ciAgID0gVGVtcEJ1ZmZlcjsNCj4gKyAgQnVmZmVyUHRy ID0gQnVmZmVyOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIENvdW50IHN0YXJ0cyBhdCBvbmUgc2lu Y2Ugd2Ugd2lsbCBudWxsIHRlcm1pbmF0ZS4gRWFjaCBpdGVyYXRpb24gb2YgdGhlDQo+ICsgIC8v IGxvb3AgcGlja3Mgb2ZmIG9uZSBuaWJibGUuIE9oIHllYSBUZW1wU3RyIGVuZHMgdXAgYmFja3dh cmRzDQo+ICsgIC8vDQo+ICsgIENvdW50ID0gMDsNCj4gKw0KPiArICBpZiAoV2lkdGggPiBDSEFS QUNURVJfTlVNQkVSX0ZPUl9WQUxVRSAtIDEpIHsNCj4gKyAgICBXaWR0aCA9IENIQVJBQ1RFUl9O VU1CRVJfRk9SX1ZBTFVFIC0gMTsNCj4gKyAgfQ0KPiArDQo+ICsgIGRvIHsNCj4gKyAgICBJbmRl eCA9ICgoVUlOVE4pVmFsdWUgJiAweGYpOw0KPiArICAgICooVGVtcFN0cisrKSA9IG1IZXhTdHJb SW5kZXhdOw0KPiArICAgIFZhbHVlID0gUlNoaWZ0VTY0IChWYWx1ZSwgNCk7DQo+ICsgICAgQ291 bnQrKzsNCj4gKyAgfSB3aGlsZSAoVmFsdWUgIT0gMCk7DQo+ICsNCj4gKyAgaWYgKEZsYWdzICYg UFJFRklYX1pFUk8pIHsNCj4gKyAgICBQcmVmaXggPSAnMCc7DQo+ICsgIH0gZWxzZSB7DQo+ICsg ICAgUHJlZml4ID0gJyAnOw0KPiArICB9DQo+ICsNCj4gKyAgSW5kZXggPSBDb3VudDsNCj4gKyAg aWYgKCEoRmxhZ3MgJiBMRUZUX0pVU1RJRlkpKSB7DQo+ICsgICAgZm9yICg7IEluZGV4IDwgV2lk dGg7IEluZGV4KyspIHsNCj4gKyAgICAgICooVGVtcFN0cisrKSA9IFByZWZpeDsNCj4gKyAgICB9 DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBSZXZlcnNlIHRlbXAgc3RyaW5nIGludG8g QnVmZmVyLg0KPiArICAvLw0KPiArICBpZiAoV2lkdGggPiAwICYmIChVSU5UTikgKFRlbXBTdHIg LSBUZW1wQnVmZmVyKSA+IFdpZHRoKSB7DQo+ICsgICAgVGVtcFN0ciA9IFRlbXBCdWZmZXIgKyBX aWR0aDsNCj4gKyAgfQ0KPiArICBJbmRleCA9IDA7DQo+ICsgIHdoaWxlIChUZW1wU3RyICE9IFRl bXBCdWZmZXIpIHsNCj4gKyAgICAqKEJ1ZmZlclB0cisrKSA9ICooLS1UZW1wU3RyKTsNCj4gKyAg ICBJbmRleCsrOw0KPiArICB9DQo+ICsNCj4gKyAgKkJ1ZmZlclB0ciA9IDA7DQo+ICsgIHJldHVy biBJbmRleDsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIENvbnZlcnRzIE1BQyBhZGRyZXNzIHRv IFVuaWNvZGUgc3RyaW5nLg0KPiArICBUaGUgdmFsdWUgaXMgNjQtYml0IGFuZCB0aGUgcmVzdWx0 aW5nIHN0cmluZyB3aWxsIGJlIDEyDQo+ICsgIGRpZ2l0IGhleCBudW1iZXIgaW4gcGFpcnMgb2Yg ZGlnaXRzIHNlcGFyYXRlZCBieSBkYXNoZXMuDQo+ICsNCj4gKyAgQHBhcmFtIFN0cmluZyAtIHN0 cmluZyB0aGF0IHdpbGwgY29udGFpbiB0aGUgdmFsdWUNCj4gKyAgQHBhcmFtIFZhbCAgICAtIHZh bHVlIHRvIGNvbnZlcnQNCj4gKw0KPiArKiovDQo+ICtDSEFSMTYgKg0KPiArU3RyTWFjVG9TdHJp bmcgKA0KPiArICBPVVQgQ0hBUjE2ICAgICAgICAgICAgICAqU3RyaW5nLA0KPiArICBJTiAgRUZJ X01BQ19BRERSRVNTICAgICAqTWFjQWRkciwNCj4gKyAgSU4gIFVJTlQzMiAgICAgICAgICAgICAg QWRkclNpemUNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UMzIgIGk7DQo+ICsNCj4gKyAgZm9yIChp ID0gMDsgaSA8IEFkZHJTaXplOyBpKyspIHsNCj4gKw0KPiArICAgIEVmaVZhbHVlVG9IZXhTdHIg KA0KPiArICAgICAgJlN0cmluZ1syICogaV0sDQo+ICsgICAgICBNYWNBZGRyLT5BZGRyW2ldICYg MHhGRiwNCj4gKyAgICAgIFBSRUZJWF9aRVJPLA0KPiArICAgICAgMg0KPiArICAgICAgKTsNCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFRlcm1pbmF0ZSB0aGUgc3RyaW5nLg0KPiArICAv Lw0KPiArICBTdHJpbmdbMiAqIEFkZHJTaXplXSA9IEwnXDAnOw0KPiArDQo+ICsgIHJldHVybiBT dHJpbmc7DQo+ICt9DQo+ICsNCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtUSnVkZ2VIYW5k bGVJc1BDSURldmljZSgNCj4gKyAgRUZJX0hBTkRMRSAgICBIYW5kbGUsDQo+ICsgIFVJTlQ4ICAg ICAgICAgICAgRGV2aWNlLA0KPiArICBVSU5UOCAgICAgICAgICAgIEZ1bnMNCj4gKykNCj4gK3sN Cj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiArICBFRklfREVWSUNFX1BBVEggICAqRFBhdGg7 DQo+ICsgIEVGSV9ERVZJQ0VfUEFUSCAgICpEZXZpY2VQYXRoOw0KPiArDQo+ICsgIFN0YXR1cyA9 IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgJmdFZmlEZXZpY2VQYXRoUHJvdG9jb2xHdWlkLA0KPiArICAgICAg ICAgICAgICAgICAgKFZPSUQgKiopICZEUGF0aA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgaWYoIUVGSV9FUlJPUihTdGF0dXMpKQ0KPiArICB7DQo+ICsgICAgRGV2aWNlUGF0aCA9IERQ YXRoOw0KPiArICAgIHdoaWxlKCFJc0RldmljZVBhdGhFbmQoRFBhdGgpKQ0KPiArICAgIHsNCj4g KyAgICAgIGlmKChEUGF0aC0+VHlwZSA9PSBIQVJEV0FSRV9ERVZJQ0VfUEFUSCkgJiYgKERQYXRo LT5TdWJUeXBlID09DQo+IEhXX1BDSV9EUCkpDQo+ICsgICAgICB7DQo+ICsgICAgICAgIFBDSV9E RVZJQ0VfUEFUSCAgICpQQ0lQYXRoOw0KPiArDQo+ICsgICAgICAgIFBDSVBhdGggPSAoUENJX0RF VklDRV9QQVRIKikgRFBhdGg7DQo+ICsgICAgICAgIERQYXRoID0gTmV4dERldmljZVBhdGhOb2Rl KERQYXRoKTsNCj4gKyAgICAgICAgaWYoSXNEZXZpY2VQYXRoRW5kKERQYXRoKSAmJiAoUENJUGF0 aC0+RGV2aWNlID09IERldmljZSkgJiYNCj4gKFBDSVBhdGgtPkZ1bmN0aW9uID09IEZ1bnMpKQ0K PiArICAgICAgICB7DQo+ICsgICAgICAgICAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArICAgICAg ICB9DQo+ICsgICAgICB9DQo+ICsgICAgICBlbHNlDQo+ICsgICAgICB7DQo+ICsgICAgICAgIERQ YXRoID0gTmV4dERldmljZVBhdGhOb2RlKERQYXRoKTsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ ICsgIH0NCj4gKyAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gK30NCj4gKw0KPiArRUZJX1NU QVRVUw0KPiArVFNlYXJjaENoaWxkSGFuZGxlKA0KPiArICBFRklfSEFORExFIEZhdGhlciwNCj4g KyAgRUZJX0hBTkRMRSAqQ2hpbGQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgSGFuZGxlSW5kZXg7DQo+ICsgIEVGSV9HVUlEICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqKlByb3RvY29sR3VpZEFycmF5ID0gTlVMTDsN Cj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgQXJyYXlDb3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvdG9jb2xJbmRleDsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgT3BlbkluZm9Db3VudDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgT3BlbkluZm9JbmRleDsNCj4gKyAgRUZJ X09QRU5fUFJPVE9DT0xfSU5GT1JNQVRJT05fRU5UUlkgICpPcGVuSW5mbyA9IE5VTEw7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG1IYW5kbGVDb3VudDsNCj4gKyAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqbUhhbmRsZUJ1ZmZlcj0gTlVMTDsNCj4gKw0K PiArICAvLw0KPiArICAvLyBSZXRyaWV2ZSB0aGUgbGlzdCBvZiBhbGwgaGFuZGxlcyBmcm9tIHRo ZSBoYW5kbGUgZGF0YWJhc2UNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5k bGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgQWxsSGFuZGxlcywNCj4gKyAgICAgICAg ICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAg ICAgICAgICAgJm1IYW5kbGVDb3VudCwNCj4gKyAgICAgICAgICAgICAgICAgICZtSGFuZGxlQnVm ZmVyDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGZvciAoSGFuZGxlSW5kZXgg PSAwOyBIYW5kbGVJbmRleCA8IG1IYW5kbGVDb3VudDsgSGFuZGxlSW5kZXgrKykNCj4gKyAgew0K PiArICAgIC8vDQo+ICsgICAgLy8gUmV0cmlldmUgdGhlIGxpc3Qgb2YgYWxsIHRoZSBwcm90b2Nv bHMgb24gZWFjaCBoYW5kbGUNCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdCUy0+UHJvdG9j b2xzUGVySGFuZGxlICgNCj4gKyAgICAgICAgICAgICAgICAgICAgbUhhbmRsZUJ1ZmZlcltIYW5k bGVJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICZQcm90b2NvbEd1aWRBcnJheSwNCj4g KyAgICAgICAgICAgICAgICAgICAgJkFycmF5Q291bnQNCj4gKyAgICAgICAgICAgICAgICAgICAg KTsNCj4gKyAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkNCj4gKyAgICB7DQo+ICsgICAgICBm b3IgKFByb3RvY29sSW5kZXggPSAwOyBQcm90b2NvbEluZGV4IDwgQXJyYXlDb3VudDsgUHJvdG9j b2xJbmRleCsrKQ0KPiArICAgICAgew0KPiArICAgICAgICBTdGF0dXMgPSBnQlMtPk9wZW5Qcm90 b2NvbEluZm9ybWF0aW9uICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIG1IYW5kbGVCdWZm ZXJbSGFuZGxlSW5kZXhdLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgUHJvdG9jb2xHdWlk QXJyYXlbUHJvdG9jb2xJbmRleF0sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmT3Blbklu Zm8sDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAmT3BlbkluZm9Db3VudA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykp DQo+ICsgICAgICAgIHsNCj4gKyAgICAgICAgICBmb3IgKE9wZW5JbmZvSW5kZXggPSAwOyBPcGVu SW5mb0luZGV4IDwgT3BlbkluZm9Db3VudDsNCj4gT3BlbkluZm9JbmRleCsrKQ0KPiArICAgICAg ICAgIHsNCj4gKyAgICAgICAgICAgIGlmKE9wZW5JbmZvW09wZW5JbmZvSW5kZXhdLkFnZW50SGFu ZGxlID09IEZhdGhlcikNCj4gKyAgICAgICAgICAgIHsNCj4gKyAgICAgICAgICAgICAgaWYgKChP cGVuSW5mb1tPcGVuSW5mb0luZGV4XS5BdHRyaWJ1dGVzICYNCj4gRUZJX09QRU5fUFJPVE9DT0xf QllfQ0hJTERfQ09OVFJPTExFUikgPT0NCj4gRUZJX09QRU5fUFJPVE9DT0xfQllfQ0hJTERfQ09O VFJPTExFUikNCj4gKyAgICAgICAgICAgICAgew0KPiArICAgICAgICAgICAgICAgICpDaGlsZCA9 IG1IYW5kbGVCdWZmZXJbSGFuZGxlSW5kZXhdOw0KPiArCQkgIFN0YXR1cyA9IEVGSV9TVUNDRVNT Ow0KPiArCQkgIGdvdG8gVHJ5UmV0dXJuOw0KPiArICAgICAgICAgICAgICB9DQo+ICsgICAgICAg ICAgICB9DQo+ICsgICAgICAgICAgfQ0KPiArCSAgIFN0YXR1cyA9IEVGSV9OT1RfRk9VTkQ7DQo+ ICsgICAgICAgIH0NCj4gKyAgICAgIH0NCj4gKyAgICAgIGlmKE9wZW5JbmZvICE9IE5VTEwpDQo+ ICsgICAgICB7DQo+ICsgICAgICAgIEZyZWVQb29sKE9wZW5JbmZvKTsNCj4gKwkgT3BlbkluZm8g PSBOVUxMOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBGcmVlUG9vbCAoUHJvdG9jb2xH dWlkQXJyYXkpOw0KPiArICAgIFByb3RvY29sR3VpZEFycmF5ID0gTlVMTDsNCj4gKyAgfQ0KPiAr VHJ5UmV0dXJuOg0KPiArICBpZihPcGVuSW5mbyAhPSBOVUxMKQ0KPiArICB7DQo+ICsgICAgRnJl ZVBvb2wgKE9wZW5JbmZvKTsNCj4gKyAgICBPcGVuSW5mbyA9IE5VTEw7DQo+ICsgIH0NCj4gKyAg aWYoUHJvdG9jb2xHdWlkQXJyYXkgIT0gTlVMTCkNCj4gKyAgew0KPiArICAgIEZyZWVQb29sKFBy b3RvY29sR3VpZEFycmF5KTsNCj4gKyAgICBQcm90b2NvbEd1aWRBcnJheSA9IE5VTEw7DQo+ICsg IH0NCj4gKyAgaWYobUhhbmRsZUJ1ZmZlciAhPSBOVUxMKQ0KPiArICB7DQo+ICsgICAgRnJlZVBv b2wgKG1IYW5kbGVCdWZmZXIpOw0KPiArICAgIG1IYW5kbGVCdWZmZXIgPSBOVUxMOw0KPiArICB9 DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1RHZXRE cml2ZXJOYW1lKA0KPiArICBFRklfSEFORExFICAgSGFuZGxlLA0KPiArICBDSEFSMTYgICAgICAg ICAqTmFtZQ0KPiArKQ0KPiArew0KPiArICBFRklfRFJJVkVSX0JJTkRJTkdfUFJPVE9DT0wgICAg ICAgICpCaW5kSGFuZGxlID0gTlVMTDsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjsNCj4gKyAgVUlOVDE2ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqUHRyOw0KPiArICBT dGF0dXMgPSBnQlMtPk9wZW5Qcm90b2NvbCgNCj4gKyAgICAgICAgICAgICAgICAgIEhhbmRsZSwN Cj4gKyAgICAgICAgICAgICAgICAgICZnRWZpRHJpdmVyQmluZGluZ1Byb3RvY29sR3VpZCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKFZPSUQqKikmQmluZEhhbmRsZSwN Cj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0K PiArICAgICAgICAgICAgICAgICAgRUZJX09QRU5fUFJPVE9DT0xfR0VUX1BST1RPQ09MDQo+ICsg ICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkNCj4g KyAgew0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgVmVy c2lvbiA9IEJpbmRIYW5kbGUtPlZlcnNpb247DQo+ICsgIFB0ciA9IChVSU5UMTYqKSZWZXJzaW9u Ow0KPiArICBVbmljb2RlU1ByaW50KE5hbWUsIDQwLCBMIiVkLiVkLiVkIiwgVmVyc2lvbiA+PiAy NCAsIChWZXJzaW9uID4+MTYpJg0KPiAweDBmICwqKFB0cikpOw0KPiArICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1RHZXRHT1BEcml2ZXJOYW1lKA0K PiArICBDSEFSMTYgKk5hbWUNCj4gKykNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg ICAgICAgICAgSGFuZGxlQ291bnQ7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgKkhh bmRsZXM9IE5VTEw7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0K PiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX0hBTkRMRSAg ICAgICAgICAgICAgICBDaGlsZCA9IDA7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVI YW5kbGVCdWZmZXIoDQo+ICsJCSAgICAgICAgICAgICAgQnlQcm90b2NvbCwNCj4gKwkJICAgICAg ICAgICAgICAmZ0VmaURyaXZlckJpbmRpbmdQcm90b2NvbEd1aWQsDQo+ICsJCSAgICAgICAgICAg ICAgTlVMTCwNCj4gKwkJICAgICAgICAgICAgICAmSGFuZGxlQ291bnQsDQo+ICsJCSAgICAgICAg ICAgICAgJkhhbmRsZXMNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGZvciAoSW5kZXgg PSAwOyBJbmRleCA8IEhhbmRsZUNvdW50IDsgSW5kZXgrKykNCj4gKyAgew0KPiArICAgIFN0YXR1 cyA9IFRTZWFyY2hDaGlsZEhhbmRsZShIYW5kbGVzW0luZGV4XSwgJkNoaWxkKTsNCj4gKyAgICBp ZighRUZJX0VSUk9SKFN0YXR1cykpDQo+ICsgICAgew0KPiArICAgICAgU3RhdHVzID0gVEp1ZGdl SGFuZGxlSXNQQ0lEZXZpY2UoQ2hpbGQsIDB4MDIsIDB4MDApOw0KPiArICAgICAgaWYoIUVGSV9F UlJPUihTdGF0dXMpKQ0KPiArICAgICAgew0KPiArICAgICAgICByZXR1cm4gVEdldERyaXZlck5h bWUoSGFuZGxlc1tJbmRleF0sIE5hbWUpOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0K PiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ ICtUR2V0VG91Y2hGaXJtd2FyZVZlcnNpb24oDQo+ICsgKQ0KPiArew0KPiArIEVGSV9TVEFUVVMg cmM9RUZJX1NVQ0NFU1M7DQo+ICsgVUlOVE4gICAgICBUb3VjaFZlciA9IDA7DQo+ICsgVUlOVE4g ICAgIFNpemUgPSBzaXplb2YoVUlOVE4pOw0KPiArDQo+ICsNCj4gKyBDSEFSMTYgICAgIEJ1ZmZl cls0MF07DQo+ICsNCj4gKyByYyA9IGdSVC0+R2V0VmFyaWFibGUoDQo+ICsgICAgICAgICAgICAg TCJUb3VjaFZlciIsDQo+ICsgICAgICAgICAgICAgJmdFZmlWbHYyVmFyaWFibGVHdWlkLA0KPiAr ICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgJlNpemUsDQo+ICsgICAgICAgICAg ICAgJlRvdWNoVmVyDQo+ICsgICAgICAgICAgICAgKTsNCj4gKyBpZighRUZJX0VSUk9SKHJjKSl7 DQo+ICsgIFVuaWNvZGVTUHJpbnQoQnVmZmVyLCBzaXplb2YoQnVmZmVyKSwgTCIlMDJ4LiUwMngi LA0KPiAoVG91Y2hWZXImMHhGRkZGKT4+OCxUb3VjaFZlciYweEZGKTsNCj4gKyAgSGlpU2V0U3Ry aW5nKG1IaWlIYW5kbGUsIFNUUklOR19UT0tFTihTVFJfTUlTQ19UT1VDSF9WRVJTSU9OKSwNCj4g QnVmZmVyLCBOVUxMKTsNCj4gKyB9DQo+ICsNCj4gKyByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9 DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1VwZGF0ZVBsYXRmb3JtSW5mb3JtYXRpb24gKA0KPiAr ICApDQo+ICt7DQo+ICsgIFVJTlQzMiAgICAgICAgICAgICAgICAgICBNaWNyb0NvZGVWZXJzaW9u Ow0KPiArICBDSEFSMTYgICAgICAgICAgICAgICAgICAgQnVmZmVyWzQwXTsNCj4gKyAgVUlOVDgg ICAgICAgICAgICAgICAgICAgIElnZFZCSU9TUmV2SDsNCj4gKyAgVUlOVDggICAgICAgICAgICAg ICAgICAgIElnZFZCSU9TUmV2TDsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgIEVEWDsN Cj4gKyAgRUZJX0lBMzJfUkVHSVNURVJfU0VUICAgIFJlZ1NldDsNCj4gKyAgRUZJX0xFR0FDWV9C SU9TX1BST1RPQ09MICpMZWdhY3lCaW9zID0gTlVMTDsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAg ICAgICAgIFN0YXR1czsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgIENwdUZsYXZvcj0w Ow0KPiArICBFRklfUEVJX0hPQl9QT0lOVEVSUyAgICAgR3VpZEhvYjsNCj4gKyAgRUZJX1BMQVRG T1JNX0lORk9fSE9CICAgICptUGxhdGZvcm1JbmZvPU5VTEw7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICBOdW1IYW5kbGVzOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAg ICAgICAgKkhhbmRsZUJ1ZmZlcjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEluZGV4Ow0KPiArICBEWEVfUENIX1BMQVRGT1JNX1BPTElDWV9QUk9UT0NPTCAgKlBjaFBs YXRmb3JtUG9saWN5Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGNp RDMxRjBSZWdCYXNlOw0KPiArICBVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY291 bnQ7DQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhODsNCj4gKyAg VUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGE4XzE7DQo+ICsNCj4gKyAgQ0hB UjE2ICAgICAgICAgICAgICAgICAgICAgICAgICAgIE5hbWVbNDBdOw0KPiArICBVSU5UMzIgICAg ICAgICAgICAgICAgICAgICAgICAgICAgTXJjVmVyc2lvbjsNCj4gKw0KPiArICBVSU5UOAkJCQkJ S3NjRndSZXZIID0wOw0KPiArICBVSU5UOAkJCQkJS3NjRndSZXZMID0wOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIEdldCB0aGUgSE9CIGxpc3QuICBJZiBpdCBpcyBub3QgcHJlc2VudCwgdGhlbiBB U1NFUlQuDQo+ICsgIC8vDQo+ICsgIEd1aWRIb2IuUmF3ID0gR2V0SG9iTGlzdCAoKTsNCj4gKyAg aWYgKEd1aWRIb2IuUmF3ICE9IE5VTEwpIHsNCj4gKyAgICBpZiAoKEd1aWRIb2IuUmF3ID0gR2V0 TmV4dEd1aWRIb2IgKCZnRWZpUGxhdGZvcm1JbmZvR3VpZCwNCj4gR3VpZEhvYi5SYXcpKSAhPSBO VUxMKSB7DQo+ICsgICAgICBtUGxhdGZvcm1JbmZvID0gR0VUX0dVSURfSE9CX0RBVEEgKEd1aWRI b2IuR3VpZCk7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9WQklPUyB2 ZXJzaW9uDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2woDQo+ICsg ICAgICAgICAgICAgICAgICAmZ0VmaUxlZ2FjeUJpb3NQcm90b2NvbEd1aWQsDQo+ICsgICAgICAg ICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJkxlZ2FjeUJp b3MNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgUmVnU2V0LlguQVggPSAweDVm MDE7DQo+ICsgIFN0YXR1cyA9IExlZ2FjeUJpb3MtPkludDg2IChMZWdhY3lCaW9zLCAweDEwLCAm UmVnU2V0KTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIHNpbXVsYXRlIEFNSSBpbnQxNSAoYXg9NWYwMSkgaGFuZGxlcg0KPiArICAvLyBjaGVj ayBOYkludDE1LmFzbSBpbiBBTUkgY29kZSBmb3IgYXNtIGVkaXRpb24NCj4gKyAgLy8NCj4gKyAg RURYID0gKFVJTlQxNikoKFJlZ1NldC5FLkVCWCA+PiAxNikgJiAweGZmZmYpOw0KPiArICBJZ2RW QklPU1JldkggPSAoVUlOVDgpKCgoRURYICYgMHgwRjAwKSA+PiA0KSB8IChFRFggJiAweDAwMEYp KTsNCj4gKyAgSWdkVkJJT1NSZXZMID0gKFVJTlQ4KSgoKFJlZ1NldC5YLkJYICYgMHgwRjAwKSA+ PiA0KSB8IChSZWdTZXQuWC5CWCAmDQo+IDB4MDAwRikpOw0KPiArDQo+ICsgIGlmIChJZ2RWQklP U1Jldkg9PTAgJiYgSWdkVkJJT1NSZXZMPT0wKSB7DQo+ICsgICAgSGlpU2V0U3RyaW5nKG1IaWlI YW5kbGUsDQo+IFNUUklOR19UT0tFTihTVFJfQ0hJUF9JR0RfVkJJT1NfUkVWX1ZBTFVFKSwgTCJO L0EiLCBOVUxMKTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAgICBVbmljb2RlU1ByaW50IChCdWZmZXIs IHNpemVvZiAoQnVmZmVyKSwgTCIlMDJYJTAyWCIsDQo+IElnZFZCSU9TUmV2SCxJZ2RWQklPU1Jl dkwpOw0KPiArICAgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLA0KPiBTVFJJTkdfVE9LRU4oU1RS X0NISVBfSUdEX1ZCSU9TX1JFVl9WQUxVRSksIEJ1ZmZlciwgTlVMTCk7DQo+ICsgIH0NCj4gKw0K PiArICBTdGF0dXMgPSBUR2V0R09QRHJpdmVyTmFtZShOYW1lKTsNCj4gKw0KPiArICBpZighRUZJ X0VSUk9SKFN0YXR1cykpDQo+ICsgIHsNCj4gKyAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSwg U1RSSU5HX1RPS0VOKFNUUl9NSVNDX0dPUF9WRVJTSU9OKSwNCj4gTmFtZSwgTlVMTCk7DQo+ICsg IH0NCj4gKw0KPiArICAvLw0KPiArICAvL0NwdUZsYXZvcg0KPiArICAvLw0KPiArICAvL1ZMVg0K PiArICAvL1ZMVi1EQyBUYWJsZXQgICAgICAgIDAwMA0KPiArICAvL1ZMVi1RQyBOb3RlYm9vayAg ICAgIDAwMQ0KPiArICAvL1ZMVi1RQyBEZXNrdG9wICAgICAgIDAxMA0KPiArICAvLw0KPiArICAv L0NQVSBmbGF2b3INCj4gKyAgLy8NCj4gKyAgQ3B1Rmxhdm9yID0gUlNoaWZ0VTY0IChFZmlSZWFk TXNyIChNU1JfSUEzMl9QTEFURk9STV9JRCksIDUwKSAmIDB4MDc7DQo+ICsNCj4gKyAgc3dpdGNo KENwdUZsYXZvcil7DQo+ICsgICAgY2FzZSAweDA6DQo+ICsgICAgICAgIFVuaWNvZGVTUHJpbnQg KEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzICglMDF4KSIsIEwiVkxWLURDIFRhYmxldCIs DQo+IENwdUZsYXZvcik7DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgIGNhc2UgMHgwMToNCj4g KyAgICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJXMgKCUw MXgpIiwgTCJWTFYtUUMNCj4gTm90ZWJvb2siLCBDcHVGbGF2b3IpOw0KPiArICAgICAgICBicmVh azsNCj4gKyAgICBjYXNlIDB4MDI6DQo+ICsgICAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwg c2l6ZW9mIChCdWZmZXIpLCBMIiVzICglMDF4KSIsIEwiVkxWLVFDDQo+IERlc2t0b3AiLCBDcHVG bGF2b3IpOw0KPiArICAgICAgICBicmVhazsNCj4gKyAgICBjYXNlIDB4MDM6DQo+ICsgICAgICAg IFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIiVzICglMDF4KSIsIEwi VkxWLVFDDQo+IE5vdGVib29rIiwgQ3B1Rmxhdm9yKTsNCj4gKyAgICAgICAgYnJlYWs7DQo+ICsg ICAgZGVmYXVsdDoNCj4gKyAgICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1 ZmZlciksIEwiJXMgKCUwMXgpIiwgTCJVbmtub3duIENQVSIsDQo+IENwdUZsYXZvcik7DQo+ICsg ICAgICAgIGJyZWFrOw0KPiArICB9DQo+ICsNCj4gSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsU1RS SU5HX1RPS0VOKFNUUl9NSVNDX0NQVV9GTEFWT1JfVkFMVUUpLA0KPiBCdWZmZXIsIE5VTEwpOw0K PiArDQo+ICsgIGlmICggTlVMTCAhPSBtUGxhdGZvcm1JbmZvKSB7DQo+ICsgICAgLy8NCj4gKyAg ICAvLyBCb2FyZCBJZA0KPiArICAgIC8vDQo+ICsgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBz aXplb2YgKEJ1ZmZlciksIEwiJXgiLCBtUGxhdGZvcm1JbmZvLT5Cb2FyZElkKTsNCj4gKyAgICBI aWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX01JU0NfQk9BUkRfSURfVkFM VUUpLA0KPiBCdWZmZXIsIE5VTEwpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBGQUIgSUQN Cj4gKyAgICAvLw0KPiArICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIp LCBMIiV4IiwgbVBsYXRmb3JtSW5mby0+Qm9hcmRSZXYpOw0KPiArICAgIEhpaVNldFN0cmluZyht SGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19GQUJfSURfVkFMVUUpLA0KPiBCdWZmZXIs IE5VTEwpOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9VcGRhdGUgTVJDIFZlcnNpb24N Cj4gKyAgLy8NCj4gKyAgTXJjVmVyc2lvbiA9IE1taW9SZWFkMzIgKE1tUGNpQWRkcmVzcyAoMCwg MCwgMCwgMCwgMHhGMCkpOw0KPiArICBNcmNWZXJzaW9uICY9IDB4ZmZmZjsNCj4gKyAgSW5kZXgg PSBFZmlWYWx1ZVRvU3RyaW5nIChCdWZmZXIsIE1yY1ZlcnNpb24vMTAwLCBQUkVGSVhfWkVSTywg MCk7DQo+ICsgIFN0ckNhdCAoQnVmZmVyLCBMIi4iKTsNCj4gKyAgRWZpVmFsdWVUb1N0cmluZyAo QnVmZmVyICsgSW5kZXggKyAxLCAoTXJjVmVyc2lvbiUxMDApLzEwLCBQUkVGSVhfWkVSTywNCj4g MCk7DQo+ICsgIEVmaVZhbHVlVG9TdHJpbmcgKEJ1ZmZlciArIEluZGV4ICsgMiwgKE1yY1ZlcnNp b24lMTAwKSUxMCwgUFJFRklYX1pFUk8sDQo+IDApOw0KPiArDQo+IEhpaVNldFN0cmluZyhtSGlp SGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19NUkNfVkVSU0lPTl9WQUxVRSksDQo+IEJ1ZmZl ciwgTlVMTCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9VcGRhdGUgU29jIFZlcnNpb24NCj4gKyAg Ly8NCj4gKw0KPiArICAvLw0KPiArICAvLyBSZXRyaWV2ZSBhbGwgaW5zdGFuY2VzIG9mIFBDSCBQ bGF0Zm9ybSBQb2xpY3kgcHJvdG9jb2wNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2Nh dGVIYW5kbGVCdWZmZXIgKA0KPiArICAgICAgICAgICAgICAgICAgQnlQcm90b2NvbCwNCj4gKyAg ICAgICAgICAgICAgICAgICZnRHhlUGNoUGxhdGZvcm1Qb2xpY3lQcm90b2NvbEd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJk51bUhhbmRsZXMs DQo+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlQnVmZmVyDQo+ICsgICAgICAgICAgICAgICAg ICApOw0KPiArICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIC8vDQo+ICsgICAg Ly8gRmluZCB0aGUgbWF0Y2hpbmcgUENIIFBvbGljeSBwcm90b2NvbA0KPiArICAgIC8vDQo+ICsg ICAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgTnVtSGFuZGxlczsgSW5kZXgrKykgew0KPiArICAg ICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgSGFuZGxlQnVmZmVyW0luZGV4XSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmZ0R4ZVBj aFBsYXRmb3JtUG9saWN5UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChW T0lEICoqKSAmUGNoUGxhdGZvcm1Qb2xpY3kNCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0K PiArICAgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAgICAgUGNpRDMxRjBS ZWdCYXNlID0gTW1QY2lBZGRyZXNzICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAw LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIFBjaFBsYXRmb3JtUG9saWN5LT5CdXNO dW1iZXIsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgUENJX0RFVklDRV9OVU1CRVJf UENIX0xQQywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBQQ0lfRlVOQ1RJT05fTlVN QkVSX1BDSF9MUEMsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgMA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAgICAgIERhdGE4ID0gTW1pb1Jl YWQ4IChQY2lEMzFGMFJlZ0Jhc2UgKyBSX1BDSF9MUENfUklEX0NDKTsNCj4gKyAgICAgICAgIGNv dW50ID0gQVJSQVlfU0laRSAoU0JSZXZpc2lvblRhYmxlKTsNCj4gKyAgICAgICAgIGZvciAoSW5k ZXggPSAwOyBJbmRleCA8IGNvdW50OyBJbmRleCsrKSB7DQo+ICsgICAgICAgICAgIGlmKERhdGE4 ID09IFNCUmV2aXNpb25UYWJsZVtJbmRleF0uUmV2SWQpIHsNCj4gKyAgICAgICAgICAgICAgVW5p Y29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksIEwiJTAyeCAlYSIsIERhdGE4LA0K PiBTQlJldmlzaW9uVGFibGVbSW5kZXhdLlN0cmluZyk7DQo+ICsgICAgICAgICAgICAgIEhpaVNl dFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19TT0NfVkFMVUUpLA0KPiBC dWZmZXIsIE5VTEwpOw0KPiArICAgICAgICAgICAgIGJyZWFrOw0KPiArICAgICAgICAgICB9DQo+ ICsgICAgICAgICB9DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1pY3JvY29kZSBSZXZpc2lvbg0KPiArICAvLw0K PiArICBFZmlXcml0ZU1zciAoRUZJX01TUl9JQTMyX0JJT1NfU0lHTl9JRCwgMCk7DQo+ICsgIEVm aUNwdWlkIChFRklfQ1BVSURfVkVSU0lPTl9JTkZPLCBOVUxMKTsNCj4gKyAgTWljcm9Db2RlVmVy c2lvbiA9IChVSU5UMzIpIFJTaGlmdFU2NCAoRWZpUmVhZE1zcg0KPiAoRUZJX01TUl9JQTMyX0JJ T1NfU0lHTl9JRCksIDMyKTsNCj4gKyAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1 ZmZlciksIEwiJXgiLCBNaWNyb0NvZGVWZXJzaW9uKTsNCj4gKw0KPiBIaWlTZXRTdHJpbmcobUhp aUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX01JU0NfUFJPQ0VTU09SX01JQ1JPQ08NCj4gREVfVkFM VUUpLCBCdWZmZXIsIE5VTEwpOw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9TZWN1cmUgYm9v dA0KPiArICAvLw0KPiArICBEYXRhOCA9IFN5c3RlbUNvbmZpZ3VyYXRpb24uU2VjdXJlQm9vdDsN Cj4gKyAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YoQnVmZmVyKSwgTCIleCIsIERhdGE4 KTsNCj4gKyAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsIFNUUklOR19UT0tFTihTVFJfTUlTQ19T RUNVUkVfQk9PVCksDQo+IEJ1ZmZlciwgTlVMTCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9Cb290 bW9kZQ0KPiArICAvLw0KPiArICBCb290TW9kZSA9IEdldEJvb3RNb2RlSG9iKCk7DQo+ICsgIFVu aWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mKEJ1ZmZlciksIEwiJXgiLCBCb290TW9kZSk7DQo+ ICsgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLCBTVFJJTkdfVE9LRU4oU1RSX01JU0NfQk9PVF9N T0RFKSwgQnVmZmVyLA0KPiBOVUxMKTsNCj4gKw0KPiArICAvLw0KPiArICAvL1NwZWVkU3RlcA0K PiArICAvLw0KPiArICBEYXRhOCA9IDE7DQo+ICsgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6 ZW9mKEJ1ZmZlciksIEwiJXgiLCBEYXRhOCk7DQo+ICsgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxl LCBTVFJJTkdfVE9LRU4oU1RSX01JU0NfU1BFRURfU1RFUCksIEJ1ZmZlciwNCj4gTlVMTCk7DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy9DUFUgVHVyYm8NCj4gKyAgLy8NCj4gKyAgRGF0YTggPSAyOw0K PiArICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZihCdWZmZXIpLCBMIiV4IiwgRGF0YTgp Ow0KPiArICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSwgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX0NQ VV9UVVJCTyksIEJ1ZmZlciwNCj4gTlVMTCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy9DU3RhdGUN Cj4gKyAgLy8NCj4gKyAgRGF0YTggPSAzOw0KPiArICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNp emVvZihCdWZmZXIpLCBMIiV4IiwgRGF0YTgpOw0KPiArICBIaWlTZXRTdHJpbmcobUhpaUhhbmRs ZSwgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX0NTVEFURSksIEJ1ZmZlciwNCj4gTlVMTCk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy9HRlggVHVyYm8NCj4gKyAgLy8NCj4gKyAgRGF0YTggPSBTeXN0ZW1D b25maWd1cmF0aW9uLklnZFR1cmJvRW5hYmxlZDsNCj4gKyAgVW5pY29kZVNQcmludCAoQnVmZmVy LCBzaXplb2YoQnVmZmVyKSwgTCIleCIsIERhdGE4KTsNCj4gKyAgSGlpU2V0U3RyaW5nKG1IaWlI YW5kbGUsIFNUUklOR19UT0tFTihTVFJfTUlTQ19HRlhfVFVSQk8pLCBCdWZmZXIsDQo+IE5VTEwp Ow0KPiArDQo+ICsgIERhdGE4ID0gMDsNCj4gKyAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXpl b2YoQnVmZmVyKSwgTCIleCIsIERhdGE4KTsNCj4gKyAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUs IFNUUklOR19UT0tFTihTVFJfTUlTQ19TMElYX1ZBTFVFKSwgQnVmZmVyLA0KPiBOVUxMKTsNCj4g Kw0KPiArICAvLw0KPiArICAvL1JDNg0KPiArICAvLw0KPiArICBEYXRhOCA9IDA7DQo+ICsgIFVu aWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mKEJ1ZmZlciksIEwiJXgiLCBEYXRhOCk7DQo+ICsg IEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLCBTVFJJTkdfVE9LRU4oU1RSX01JU0NfUkM2X1ZBTFVF KSwgQnVmZmVyLA0KPiBOVUxMKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBQdW5pdCBWZXJzaW9u DQo+ICsgIC8vDQo+ICsgIERhdGE4ID0gMDsNCj4gKyAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBz aXplb2YgKEJ1ZmZlciksIEwiMHgleCIsIERhdGE4KTsNCj4gKyAgSGlpU2V0U3RyaW5nKG1IaWlI YW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1BVTklUX0ZXX1ZBTFVFKSwNCj4gQnVmZmVyLCBO VUxMKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyAgUE1DIFZlcnNpb24NCj4gKyAgLy8NCj4gKyAg RGF0YTggPSAoVUlOVDgpKChNbWlvUmVhZDMyIChQTUNfQkFTRV9BRERSRVNTICsNCj4gUl9QQ0hf UE1DX1BSU1RTKT4+MTYpJjB4MDBGRik7DQo+ICsgIERhdGE4XzEgPSAoVUlOVDgpKChNbWlvUmVh ZDMyIChQTUNfQkFTRV9BRERSRVNTICsNCj4gUl9QQ0hfUE1DX1BSU1RTKT4+MjQpJjB4MDBGRik7 DQo+ICsgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLCBMIjB4JVhfJVgi LCBEYXRhOF8xLCBEYXRhOCk7DQo+ICsgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19U T0tFTihTVFJfTUlTQ19QTUNfRldfVkFMVUUpLA0KPiBCdWZmZXIsIE5VTEwpOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vUE1JQyBWZXJzaW9uDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IEJ5dGVSZWFk STJDKFBNSUNJMmNCdXMsIFBNSUNJMmNBZGQsIFBNSUNWZW5kb3JPZmZzZXQsIDEsDQo+ICZEYXRh OCk7DQo+ICsgIGlmKCFFRklfRVJST1IoU3RhdHVzKSl7DQo+ICsgIAlTdGF0dXMgPSBCeXRlUmVh ZEkyQyhQTUlDSTJjQnVzLCBQTUlDSTJjQWRkLCBQTUlDUmV2T2Zmc2V0LCAxLA0KPiAmRGF0YThf MSk7DQo+ICsJaWYoIUVGSV9FUlJPUihTdGF0dXMpKXsNCj4gKyAgICAgIFVuaWNvZGVTUHJpbnQo QnVmZmVyLCBzaXplb2YoQnVmZmVyKSwgTCIlMDJ4LiUwMngiLCBEYXRhOCwgRGF0YThfMSk7DQo+ ICsgICAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSwgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1BN SUNfVkVSU0lPTiksDQo+IEJ1ZmZlciwgTlVMTCk7DQo+ICsJfQ0KPiArICB9DQo+ICsNCj4gKyAg VEdldFRvdWNoRmlybXdhcmVWZXJzaW9uKCk7DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNT Ow0KPiArfQ0KPiArDQo+ICsNCj4gKy8qKg0KPiArICBTbWJpb3MgT0VNIHR5cGUgMHg5NCBjYWxs YmFjay4NCj4gKw0KPiArICBAcGFyYW0gRXZlbnQgICAgRXZlbnQgd2hvc2Ugbm90aWZpY2F0aW9u IGZ1bmN0aW9uIGlzIGJlaW5nIGludm9rZWQuDQo+ICsgIEBwYXJhbSBDb250ZXh0ICBQb2ludGVy IHRvIHRoZSBub3RpZmljYXRpb24gZnVuY3Rpb25zIGNvbnRleHQsIHdoaWNoIGlzDQo+IGltcGxl bWVudGF0aW9uIGRlcGVuZGVudC4NCj4gKw0KPiArICBAcmV0dmFsIE5vbmUNCj4gKw0KPiArKiov DQo+ICtWT0lEDQo+ICtBZGRTbWJpb3NUMHg5NENhbGxiYWNrICgNCj4gKyAgSU4gRUZJX0VWRU5U ICBFdmVudCwNCj4gKyAgSU4gVk9JRCAgICAgICAqQ29udGV4dA0KPiArICApDQo+ICt7DQo+ICsg IEVGSV9TVEFUVVMgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICBTRUNWZXJTdHJMZW4gPSAwOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgdUNvZGVWZXJT dHJMZW4gPSAwOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgR09QU3RyTGVuID0gMDsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgIE1SQ1ZlcnNpb25TdHJMZW4gPSAwOw0KPiArICBVSU5U TiAgICAgICAgICAgICAgICAgUE1DVmVyc2lvblN0ckxlbiA9IDA7DQo+ICsgIFVJTlROICAgICAg ICAgICAgICAgICBVTFBNQ1ZlcnNpb25TdHJMZW4gPSAwOw0KPiArICBVSU5UTiAgICAgICAgICAg ICAgICAgUFVOSVRWZXJzaW9uU3RyTGVuID0gMDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAg IFNPQ1ZlcnNpb25TdHJMZW4gPSAwOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgQk9BUkRW ZXJzaW9uU3RyTGVuID0gMDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIEZBQlZlcnNpb25T dHJMZW4gPSAwOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgQ1BVRkxBVk9SU3RyTGVuID0g MDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIEJJT1NWZXJzaW9uU3RyTGVuID0gMDsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgIFBNSUNWZXJzaW9uU3RyTGVuID0gMDsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgIFRPVUNIVmVyc2lvblN0ckxlbiA9IDA7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICBTZWN1cmVCb290TW9kZUxlbiA9IDA7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICBCb290TW9kZUxlbiA9IDA7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICBTcGVl ZFN0ZXBNb2RlTGVuID0gMDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIE1heENTdGF0ZUxl biA9IDA7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICBDcHVUdXJib0xlbiA9IDA7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICBHZnhUdXJib0xlbiA9IDA7DQo+ICsgIFVJTlROICAgICAg ICAgICAgICAgICBJZGxlUmVzZXJ2ZUxlbiA9IDA7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAg ICBSQzZMZW4gPSAwOw0KPiArDQo+ICsgIFNNQklPU19UQUJMRV9UWVBFOTQgICAgKlNtYmlvc1Jl Y29yZDsNCj4gKyAgRUZJX1NNQklPU19IQU5ETEUgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgRUZJ X01JU0NfT0VNX1RZUEVfMHg5NCAgKkZvclR5cGU5NElucHV0RGF0YTsNCj4gKyAgQ0hBUjE2ICAg ICAgICAgICAgICAgICpTRUNWZXI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqdUNvZGVW ZXI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqR09QVmVyOw0KPiArICBDSEFSMTYgICAg ICAgICAgICAgICAgKk1yY1ZlcjsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICpQbWNWZXI7 DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqVWxwbWNWZXI7DQo+ICsgIENIQVIxNiAgICAg ICAgICAgICAgICAqUHVuaXRWZXI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqU29jVmVy Ow0KPiArICBDSEFSMTYgICAgICAgICAgICAgICAgKkJvYXJkVmVyOw0KPiArICBDSEFSMTYgICAg ICAgICAgICAgICAgKkZhYlZlcjsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAgICpDcHVGbGF2 b3I7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqQmlvc1ZlcjsNCj4gKyAgQ0hBUjE2ICAg ICAgICAgICAgICAgICpQbWljVmVyOw0KPiArICBDSEFSMTYgICAgICAgICAgICAgICAgKlRvdWNo VmVyID0gTCIxNS4xNiI7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqU2VjdXJlQm9vdE1v ZGU7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqQm9vdE1vZGU7DQo+ICsgIENIQVIxNiAg ICAgICAgICAgICAgICAqU3BlZWRTdGVwTW9kZTsNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAg ICpNYXhDU3RhdGU7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqQ3B1VHVyYm87DQo+ICsg IENIQVIxNiAgICAgICAgICAgICAgICAqR2Z4VHVyYm87DQo+ICsgIENIQVIxNiAgICAgICAgICAg ICAgICAqSWRsZVJlc2VydmU7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAqUkM2Ow0KPiAr DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICBSZWNvcmRMZW4gPSAwOw0KPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgU3RySWR4ID0gMDsNCj4gKw0KPiArDQo+ICsgIFNUUklOR19SRUYgICAg ICAgICAgICBUb2tlblRvR2V0Ow0KPiArICBDSEFSOCAgICAgICAgICAgICAgICAgKk9wdGlvbmFs U3RyU3RhcnQ7DQo+ICsgIEVGSV9TTUJJT1NfUFJPVE9DT0wgICAgICAgICAgICAgICAqU21iaW9z UHJvdG9jb2w7DQo+ICsNCj4gKyAgRm9yVHlwZTk0SW5wdXREYXRhICAgICAgICA9IChFRklfTUlT Q19PRU1fVFlQRV8weDk0ICopQ29udGV4dDsNCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0lORk8s ICJFeGVjdXRpbmcgU01CSU9TIFQweDk0IGNhbGxiYWNrLlxuIikpOw0KPiArDQo+ICsgIGdCUy0+ Q2xvc2VFdmVudCAoRXZlbnQpOyAgICAvLyBVbmxvYWQgdGhpcyBldmVudC4NCj4gKw0KPiArICAv Lw0KPiArICAvLyBGaXJzdCBjaGVjayBmb3IgaW52YWxpZCBwYXJhbWV0ZXJzLg0KPiArICAvLw0K PiArICBpZiAoQ29udGV4dCA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsN Cj4gKyAgVXBkYXRlUGxhdGZvcm1JbmZvcm1hdGlvbigpOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdC Uy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlTbWJpb3NQcm90 b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAg ICAgKFZPSUQgKiopICZTbWJpb3NQcm90b2NvbA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4g KyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RS SU5HX1RPS0VOIChTVFJfTUlTQ19TRUNfVkVSU0lPTik7DQo+ICsgIFNFQ1ZlciA9IFNtYmlvc01p c2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICBTRUNWZXJTdHJMZW4gPSBTdHJMZW4oU0VD VmVyKTsNCj4gKyAgaWYgKFNFQ1ZlclN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkg ew0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBTVFJJTkdf VE9LRU4gKFNUUl9NSVNDX1VDT0RFX1ZFUlNJT04pOw0KPiArICB1Q29kZVZlciA9IFNtYmlvc01p c2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICB1Q29kZVZlclN0ckxlbiA9IFN0ckxlbih1 Q29kZVZlcik7DQo+ICsgIGlmICh1Q29kZVZlclN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xF TkdUSCkgew0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBT VFJJTkdfVE9LRU4gKFNUUl9NSVNDX0dPUF9WRVJTSU9OKTsNCj4gKyAgR09QVmVyID0gU21iaW9z TWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgIEdPUFN0ckxlbiA9IFN0ckxlbihHT1BW ZXIpOw0KPiArICBpZiAoR09QU3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tF TiAoU1RSX01JU0NfTVJDX1ZFUlNJT05fVkFMVUUpOw0KPiArICBNcmNWZXIgPSBTbWJpb3NNaXNj R2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgTVJDVmVyc2lvblN0ckxlbiA9IFN0ckxlbihN cmNWZXIpOw0KPiArICBpZiAoTVJDVmVyc2lvblN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xF TkdUSCkgew0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBT VFJJTkdfVE9LRU4gKFNUUl9NSVNDX1BNQ19GV19WQUxVRSk7DQo+ICsgIFBtY1ZlciA9IFNtYmlv c01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICBQTUNWZXJzaW9uU3RyTGVuID0gU3Ry TGVuKFBtY1Zlcik7DQo+ICsgIGlmIChQTUNWZXJzaW9uU3RyTGVuID4gU01CSU9TX1NUUklOR19N QVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgVG9rZW5Ub0dl dCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfVUxQTUNfRldfVkFMVUUpOw0KPiArICBVbHBtY1Zl ciA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICBVTFBNQ1ZlcnNpb25T dHJMZW4gPSBTdHJMZW4oVWxwbWNWZXIpOw0KPiArICBpZiAoVUxQTUNWZXJzaW9uU3RyTGVuID4g U01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuOw0KPiArICB9DQo+ICsN Cj4gKyAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfUFVOSVRfRldfVkFMVUUp Ow0KPiArICBQdW5pdFZlciA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiAr ICBQVU5JVFZlcnNpb25TdHJMZW4gPSBTdHJMZW4oUHVuaXRWZXIpOw0KPiArICBpZiAoUFVOSVRW ZXJzaW9uU3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJu Ow0KPiArICB9DQo+ICsNCj4gKyAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0Nf U09DX1ZBTFVFKTsNCj4gKyAgU29jVmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dl dCk7DQo+ICsgIFNPQ1ZlcnNpb25TdHJMZW4gPSBTdHJMZW4oU29jVmVyKTsNCj4gKyAgaWYgKFNP Q1ZlcnNpb25TdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICByZXR1 cm47DQo+ICsgIH0NCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlT Q19CT0FSRF9JRF9WQUxVRSk7DQo+ICsgIEJvYXJkVmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAo VG9rZW5Ub0dldCk7DQo+ICsgIEJPQVJEVmVyc2lvblN0ckxlbiA9IFN0ckxlbihCb2FyZFZlcik7 DQo+ICsgIGlmIChCT0FSRFZlcnNpb25TdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgp IHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5H X1RPS0VOIChTVFJfTUlTQ19GQUJfSURfVkFMVUUpOw0KPiArICBGYWJWZXIgPSBTbWJpb3NNaXNj R2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgRkFCVmVyc2lvblN0ckxlbiA9IFN0ckxlbihG YWJWZXIpOw0KPiArICBpZiAoRkFCVmVyc2lvblN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xF TkdUSCkgew0KPiArICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBT VFJJTkdfVE9LRU4gKFNUUl9NSVNDX0NQVV9GTEFWT1JfVkFMVUUpOw0KPiArICBDcHVGbGF2b3Ig PSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgQ1BVRkxBVk9SU3RyTGVu ID0gU3RyTGVuKENwdUZsYXZvcik7DQo+ICsgIGlmIChDUFVGTEFWT1JTdHJMZW4gPiBTTUJJT1Nf U1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICBU b2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19CSU9TX1ZFUlNJT04pOw0KPiArICBC aW9zVmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgIEJJT1NWZXJz aW9uU3RyTGVuID0gU3RyTGVuKEJpb3NWZXIpOw0KPiArICBpZiAoQklPU1ZlcnNpb25TdHJMZW4g PiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4g Kw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19QTUlDX1ZFUlNJT04p Ow0KPiArICBQbWljVmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsg IFBNSUNWZXJzaW9uU3RyTGVuID0gU3RyTGVuKFBtaWNWZXIpOw0KPiArICBpZiAoUE1JQ1ZlcnNp b25TdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICByZXR1cm47DQo+ ICsgIH0NCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19UT1VD SF9WRVJTSU9OKTsNCj4gKyAgVG91Y2hWZXIgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRv R2V0KTsNCj4gKyAgVE9VQ0hWZXJzaW9uU3RyTGVuID0gU3RyTGVuKFRvdWNoVmVyKTsNCj4gKyAg aWYgKFRPVUNIVmVyc2lvblN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiAr ICAgIHJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4g KFNUUl9NSVNDX1NFQ1VSRV9CT09UKTsNCj4gKyAgU2VjdXJlQm9vdE1vZGUgPSBTbWJpb3NNaXNj R2V0U3RyaW5nKFRva2VuVG9HZXQpOw0KPiArICBTZWN1cmVCb290TW9kZUxlbiA9IFN0ckxlbihT ZWN1cmVCb290TW9kZSk7DQo+ICsgIGlmIChTZWN1cmVCb290TW9kZUxlbiA+IFNNQklPU19TVFJJ TkdfTUFYX0xFTkdUSCkgew0KPiArICAJcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgVG9rZW5U b0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfQk9PVF9NT0RFKTsNCj4gKyAgQm9vdE1vZGUg PSBTbWJpb3NNaXNjR2V0U3RyaW5nKFRva2VuVG9HZXQpOw0KPiArICBCb290TW9kZUxlbiA9IFN0 ckxlbihCb290TW9kZSk7DQo+ICsgIGlmIChCb290TW9kZUxlbiA+IFNNQklPU19TVFJJTkdfTUFY X0xFTkdUSCkgew0KPiArICAJcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgVG9rZW5Ub0dldCA9 IFNUUklOR19UT0tFTiAoU1RSX01JU0NfU1BFRURfU1RFUCk7DQo+ICsgIFNwZWVkU3RlcE1vZGUg PSBTbWJpb3NNaXNjR2V0U3RyaW5nKFRva2VuVG9HZXQpOw0KPiArICBTcGVlZFN0ZXBNb2RlTGVu ID0gU3RyTGVuKFNwZWVkU3RlcE1vZGUpOw0KPiArICBpZiAoU3BlZWRTdGVwTW9kZUxlbiA+IFNN QklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAJcmV0dXJuOw0KPiArICB9DQo+ICsNCj4g KyAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfQ1BVX1RVUkJPKTsNCj4gKyAg Q3B1VHVyYm8gPSBTbWJpb3NNaXNjR2V0U3RyaW5nKFRva2VuVG9HZXQpOw0KPiArICBDcHVUdXJi b0xlbiA9IFN0ckxlbihDcHVUdXJibyk7DQo+ICsgIGlmIChDcHVUdXJib0xlbiA+IFNNQklPU19T VFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAJcmV0dXJuOw0KPiArICB9DQo+ICsNCj4gKyAgVG9r ZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfQ1NUQVRFKTsNCj4gKyAgTWF4Q1N0YXRl ID0gU21iaW9zTWlzY0dldFN0cmluZyhUb2tlblRvR2V0KTsNCj4gKyAgTWF4Q1N0YXRlTGVuID0g U3RyTGVuKE1heENTdGF0ZSk7DQo+ICsgIGlmIChNYXhDU3RhdGVMZW4gPiBTTUJJT1NfU1RSSU5H X01BWF9MRU5HVEgpIHsNCj4gKyAgCXJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9H ZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX0dGWF9UVVJCTyk7DQo+ICsgIEdmeFR1cmJvID0g U21iaW9zTWlzY0dldFN0cmluZyhUb2tlblRvR2V0KTsNCj4gKyAgR2Z4VHVyYm9MZW4gPSBTdHJM ZW4oR2Z4VHVyYm8pOw0KPiArICBpZiAoR2Z4VHVyYm9MZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9M RU5HVEgpIHsNCj4gKyAgCXJldHVybjsNCj4gKyAgfQ0KPiArDQo+ICsgIFRva2VuVG9HZXQgPSBT VFJJTkdfVE9LRU4gKFNUUl9NSVNDX1MwSVhfVkFMVUUpOw0KPiArICBJZGxlUmVzZXJ2ZSA9IFNt Ymlvc01pc2NHZXRTdHJpbmcoVG9rZW5Ub0dldCk7DQo+ICsgIElkbGVSZXNlcnZlTGVuID0gU3Ry TGVuKElkbGVSZXNlcnZlKTsNCj4gKyAgaWYgKFMwaXhMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9M RU5HVEgpIHsNCj4gKyAgICByZXR1cm47DQo+ICsgIH0NCj4gKw0KPiArICBUb2tlblRvR2V0ID0g U1RSSU5HX1RPS0VOIChTVFJfTUlTQ19SQzZfVkFMVUUpOw0KPiArICBSQzYgPSBTbWJpb3NNaXNj R2V0U3RyaW5nKFRva2VuVG9HZXQpOw0KPiArICBSQzZMZW4gPSBTdHJMZW4oUkM2KTsNCj4gKyAg aWYgKFJDNkxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVybjsN Cj4gKyAgfQ0KPiArDQo+ICsgIFJlY29yZExlbiA9IHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEU5 NCkgKyBTRUNWZXJTdHJMZW4gKyAxICsNCj4gdUNvZGVWZXJTdHJMZW4gKyAxICsgR09QU3RyTGVu ICsgMSArIFBNQ1ZlcnNpb25TdHJMZW4gKyAxICsgXA0KPiArICAgICAgICAgICAgICAgICAgICAg IFRPVUNIVmVyc2lvblN0ckxlbiArIDEgKyBQTUlDVmVyc2lvblN0ckxlbiArIDEgKw0KPiBCSU9T VmVyc2lvblN0ckxlbiArIDEgKyBDUFVGTEFWT1JTdHJMZW4gKyAxICsgXA0KPiArICAgICAgICAg ICAgICAgICAgICAgIEJPQVJEVmVyc2lvblN0ckxlbiArIDEgKyBGQUJWZXJzaW9uU3RyTGVuICsg MSArDQo+IFBVTklUVmVyc2lvblN0ckxlbisgMSArIFVMUE1DVmVyc2lvblN0ckxlbiArIDEgKyBc DQo+ICsgICAgICAgICAgICAgICAgICAgICAgTVJDVmVyc2lvblN0ckxlbiArIDEgKyBTT0NWZXJz aW9uU3RyTGVuICsgMSArDQo+IFNlY3VyZUJvb3RNb2RlTGVuICsgMSArIEJvb3RNb2RlTGVuICsg MSArIFwNCj4gKyAgICAgICAgICAgICAgICAgICAgICBTcGVlZFN0ZXBNb2RlTGVuICsgMSArIENw dVR1cmJvTGVuICsgMSArIE1heENTdGF0ZUxlbiArIDENCj4gKyBHZnhUdXJib0xlbiArIDEgKyAr IFJDNkxlbiArIDEgKyAxOw0KPiArDQo+ICsgIFNtYmlvc1JlY29yZCA9IEFsbG9jYXRlUG9vbChS ZWNvcmRMZW4pOw0KPiArDQo+ICsgIFplcm9NZW0oU21iaW9zUmVjb3JkLCBSZWNvcmRMZW4pOw0K PiArDQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLlR5cGUgPSBFRklfU01CSU9TX1RZUEVfTUlTQ19W RVJTSU9OX0lORk87DQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkxlbmd0aCA9IHNpemVvZiAoU01C SU9TX1RBQkxFX1RZUEU5NCk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWFrZSBoYW5kbGUgY2hv c2VuIGJ5IHNtYmlvcyBwcm90b2NvbC5hZGQgYXV0b21hdGljYWxseS4NCj4gKyAgLy8NCj4gKyAg U21iaW9zUmVjb3JkLT5IZHIuSGFuZGxlID0gMDsNCj4gKw0KPiArICBTbWJpb3NSZWNvcmQtPkdv cFZlcnNpb24gPSAxOw0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+U0VDVmVyc2lvbiA9IDI7DQo+ ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5NUkNWZXJzaW9uID0gMzsNCj4gKw0KPiArICBTbWJpb3NS ZWNvcmQtPnVDb2RlVmVyc2lvbiA9IDQ7DQo+ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5QVW5pdFZl cnNpb24gPSA1Ow0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+UE1DVmVyc2lvbiA9IDY7DQo+ICsN Cj4gKyAgU21iaW9zUmVjb3JkLT5VTFBNQ1ZlcnNpb24gPSA3Ow0KPiArDQo+ICsgIFNtYmlvc1Jl Y29yZC0+U29DVmVyc2lvbiA9IDg7DQo+ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5Cb2FyZFZlcnNp b24gPSA5Ow0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+RmFiVmVyc2lvbiA9IDEwOw0KPiArDQo+ ICsgIFNtYmlvc1JlY29yZC0+Q1BVRmxhdm9yID0gMTE7DQo+ICsNCj4gKyAgU21iaW9zUmVjb3Jk LT5CaW9zVmVyc2lvbiA9IDEyOw0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+UG1pY1ZlcnNpb24g PSAxMzsNCj4gKw0KPiArICBTbWJpb3NSZWNvcmQtPlRvdWNoVmVyc2lvbiA9IDE0Ow0KPiArDQo+ ICsgIFNtYmlvc1JlY29yZC0+U2VjdXJlQm9vdCA9IDE1Ow0KPiArDQo+ICsgIFNtYmlvc1JlY29y ZC0+Qm9vdE1vZGUgPSAxNjsNCj4gKw0KPiArICBTbWJpb3NSZWNvcmQtPlNwZWVkU3RlcE1vZGU9 IDE3Ow0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+Q1BVVHVyYm9Nb2RlID0gMTg7DQo+ICsNCj4g KyAgU21iaW9zUmVjb3JkLT5NYXhDU3RhdGUgPSAxOTsNCj4gKw0KPiArICBTbWJpb3NSZWNvcmQt PkdmeFR1cmJvID0gMjA7DQo+ICsgIFNtYmlvc1JlY29yZC0+SWRsZVJlc2VydmUgPSAyMTsNCj4g Kw0KPiArICBTbWJpb3NSZWNvcmQtPlJDNiA9IDIyOw0KPiArDQo+ICsNCj4gKyAgT3B0aW9uYWxT dHJTdGFydCA9IChDSEFSOCAqKShTbWJpb3NSZWNvcmQgKyAxKTsNCj4gKyAgVW5pY29kZVN0clRv QXNjaWlTdHIoR09QVmVyLCBPcHRpb25hbFN0clN0YXJ0KTsNCj4gKyAgU3RySWR4ICs9ICBHT1BT dHJMZW4gKyAxOw0KPiArDQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKFNFQ1ZlciwgT3B0aW9u YWxTdHJTdGFydCArIFN0cklkeCk7DQo+ICsgIFN0cklkeCArPSAgU0VDVmVyU3RyTGVuICsgMTsN Cj4gKw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihNcmNWZXIsIE9wdGlvbmFsU3RyU3RhcnQg KyBTdHJJZHgpOw0KPiArICBTdHJJZHggKz0gIE1SQ1ZlcnNpb25TdHJMZW4gKyAxOw0KPiArDQo+ ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKHVDb2RlVmVyLCBPcHRpb25hbFN0clN0YXJ0ICsgU3Ry SWR4KTsNCj4gKyAgU3RySWR4ICs9ICB1Q29kZVZlclN0ckxlbiArIDE7DQo+ICsNCj4gKyAgVW5p Y29kZVN0clRvQXNjaWlTdHIoUHVuaXRWZXIsIE9wdGlvbmFsU3RyU3RhcnQgKyBTdHJJZHgpOw0K PiArICBTdHJJZHggKz0gIFBVTklUVmVyc2lvblN0ckxlbiArIDE7DQo+ICsNCj4gKyAgVW5pY29k ZVN0clRvQXNjaWlTdHIoUG1jVmVyLCBPcHRpb25hbFN0clN0YXJ0ICsgU3RySWR4KTsNCj4gKyAg U3RySWR4ICs9ICBQTUNWZXJzaW9uU3RyTGVuICsgMTsNCj4gKw0KPiArICBVbmljb2RlU3RyVG9B c2NpaVN0cihVbHBtY1ZlciwgT3B0aW9uYWxTdHJTdGFydCArIFN0cklkeCk7DQo+ICsgIFN0cklk eCArPSAgVUxQTUNWZXJzaW9uU3RyTGVuICsgMTsNCj4gKw0KPiArDQo+ICsgIFVuaWNvZGVTdHJU b0FzY2lpU3RyKFNvY1ZlciwgT3B0aW9uYWxTdHJTdGFydCArIFN0cklkeCk7DQo+ICsgIFN0cklk eCArPSAgU09DVmVyc2lvblN0ckxlbiArMTsNCj4gKw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0 cihCb2FyZFZlciwgT3B0aW9uYWxTdHJTdGFydCArIFN0cklkeCk7DQo+ICsgIFN0cklkeCArPSAg Qk9BUkRWZXJzaW9uU3RyTGVuICsgMTsNCj4gKw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihG YWJWZXIsIE9wdGlvbmFsU3RyU3RhcnQgKyBTdHJJZHgpOw0KPiArICBTdHJJZHggKz0gIEZBQlZl cnNpb25TdHJMZW4gKyAxOw0KPiArDQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKENwdUZsYXZv ciwgT3B0aW9uYWxTdHJTdGFydCArIFN0cklkeCk7DQo+ICsgIFN0cklkeCArPSAgQ1BVRkxBVk9S U3RyTGVuICsgMTsNCj4gKw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihCaW9zVmVyLCBPcHRp b25hbFN0clN0YXJ0ICsgU3RySWR4KTsNCj4gKyAgU3RySWR4ICs9ICBCSU9TVmVyc2lvblN0ckxl biArIDE7DQo+ICsNCj4gKyAgVW5pY29kZVN0clRvQXNjaWlTdHIoUG1pY1ZlciwgT3B0aW9uYWxT dHJTdGFydCArIFN0cklkeCk7DQo+ICsgIFN0cklkeCArPSAgUE1JQ1ZlcnNpb25TdHJMZW4gKyAx Ow0KPiArDQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKFRvdWNoVmVyLCBPcHRpb25hbFN0clN0 YXJ0ICsgU3RySWR4KTsNCj4gKyAgU3RySWR4ICs9ICBUT1VDSFZlcnNpb25TdHJMZW4gKyAxOw0K PiArDQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKFNlY3VyZUJvb3RNb2RlLCBPcHRpb25hbFN0 clN0YXJ0ICsgU3RySWR4KTsNCj4gKyAgU3RySWR4ICs9ICBTZWN1cmVCb290TW9kZUxlbiArIDE7 DQo+ICsNCj4gKyAgVW5pY29kZVN0clRvQXNjaWlTdHIoQm9vdE1vZGUsIE9wdGlvbmFsU3RyU3Rh cnQgKyBTdHJJZHgpOw0KPiArICBTdHJJZHggKz0gIEJvb3RNb2RlTGVuICsgMTsNCj4gKw0KPiAr ICBVbmljb2RlU3RyVG9Bc2NpaVN0cihTcGVlZFN0ZXBNb2RlLCBPcHRpb25hbFN0clN0YXJ0ICsg U3RySWR4KTsNCj4gKyAgU3RySWR4ICs9ICBTcGVlZFN0ZXBNb2RlTGVuICsgMTsNCj4gKw0KPiAr ICBVbmljb2RlU3RyVG9Bc2NpaVN0cihDcHVUdXJibywgT3B0aW9uYWxTdHJTdGFydCArIFN0cklk eCk7DQo+ICsgIFN0cklkeCArPSAgQ3B1VHVyYm9MZW4gKyAxOw0KPiArDQo+ICsgIFVuaWNvZGVT dHJUb0FzY2lpU3RyKE1heENTdGF0ZSwgT3B0aW9uYWxTdHJTdGFydCArIFN0cklkeCk7DQo+ICsg IFN0cklkeCArPSAgTWF4Q1N0YXRlTGVuICsgMTsNCj4gKw0KPiArICBVbmljb2RlU3RyVG9Bc2Np aVN0cihHZnhUdXJibywgT3B0aW9uYWxTdHJTdGFydCArIFN0cklkeCk7DQo+ICsgIFN0cklkeCAr PSAgR2Z4VHVyYm9MZW4gKyAxOw0KPiArDQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKElkbGVS ZXNlcnZlLCBPcHRpb25hbFN0clN0YXJ0ICsgU3RySWR4KTsNCj4gKyAgU3RySWR4ICs9ICBTMGl4 TGVuICsgMTsNCj4gKw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihSQzYsIE9wdGlvbmFsU3Ry U3RhcnQgKyBTdHJJZHgpOw0KPiArICBTdHJJZHggKz0gIFJDNkxlbiArIDE7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gTm93IHdlIGhhdmUgZ290IHRoZSBmdWxsIHNtYmlvcyByZWNvcmQsIGNhbGwg c21iaW9zIHByb3RvY29sIHRvIGFkZCB0aGlzDQo+IHJlY29yZC4NCj4gKyAgLy8NCj4gKyAgU21i aW9zSGFuZGxlID0gU01CSU9TX0hBTkRMRV9QSV9SRVNFUlZFRDsNCj4gKyAgU3RhdHVzID0gU21i aW9zUHJvdG9jb2wtPiBBZGQgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU21i aW9zUHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJlNtYmlvc0hhbmRsZSwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIChFRklfU01CSU9TX1RBQkxFX0hFQURFUiAqKSBTbWJpb3NS ZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgRnJl ZVBvb2woU21iaW9zUmVjb3JkKTsNCj4gKyAgcmV0dXJuOw0KPiArfQ0KPiArDQo+ICsvKioNCj4g KyAgVGhpcyBmdW5jdGlvbiBtYWtlcyBib290IHRpbWUgY2hhbmdlcyB0byB0aGUgY29udGVudHMg b2YgdGhlDQo+ICsgIE1pc2NPZW1UeXBlMHg5NCAoVHlwZSAweDk0KS4NCj4gKw0KPiArICBAcGFy YW0gIFJlY29yZERhdGEgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gY29weSBvZiBSZWNvcmRE YXRhIGZyb20gdGhlIERhdGENCj4gVGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VT UyAgICAgICAgICAgICAgICBBbGwgcGFyYW1ldGVycyB3ZXJlIHZhbGlkLg0KPiArICBAcmV0dmFs IEVGSV9VTlNVUFBPUlRFRCAgICAgICAgICAgIFVuZXhwZWN0ZWQgUmVjb3JkVHlwZSB2YWx1ZS4N Cj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICBJbnZhbGlkIHBhcmFtZXRl ciB3YXMgZm91bmQuDQo+ICsNCj4gKyoqLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRlVOQ1RJT04o TWlzY09lbVR5cGUweDk0KQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAg ICBTdGF0dXM7DQo+ICsgIEVGSV9FVkVOVCAgICAgICAgICAgICAgICAgICAgIEFkZFNtYmlvc1Qw eDk0Q2FsbGJhY2tFdmVudDsNCj4gKw0KPiArICBTdGF0dXMgPSBFZmlDcmVhdGVFdmVudFJlYWR5 VG9Cb290RXggKA0KPiArICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCj4gKyAgICAgICAgICAg ICBBZGRTbWJpb3NUMHg5NENhbGxiYWNrLA0KPiArICAgICAgICAgICAgIFJlY29yZERhdGEsDQo+ ICsgICAgICAgICAgICAgJkFkZFNtYmlvc1QweDk0Q2FsbGJhY2tFdmVudA0KPiArICAgICAgICAg ICAgICk7DQo+ICsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgcmV0dXJu IFN0YXR1czsNCj4gKw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT25ib2FyZERldmljZS51bg0KPiBpDQo+ IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT25i b2FyZERldmljZS51bg0KPiBpDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAw MDAwMDAuLjg1YzYwYTA2ZmUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NPbmJvYXJkRGV2aWNlLnVu DQo+IGkNCj4gQEAgLTAsMCArMSwyNiBAQA0KPiArLy8gKisrDQo+ICsvLw0KPiArLy8gQ29weXJp Z2h0IChjKSAyMDA0IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2 ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ICsvLw0KPiArLy8gICBNaXNj T25ib2FyZERldmljZS51bmkNCj4gKy8vDQo+ICsvLyBBYnN0cmFjdDoNCj4gKy8vDQo+ICsvLyAg IE9uYm9hcmQgZGV2aWNlIGluZm9ybWF0aW9uDQo+ICsvLw0KPiArLy8gUmV2aXNpb24gSGlzdG9y eToNCj4gKy8vDQo+ICsvLyAtLSovDQo+ICsNCj4gKw0KPiArLz0jDQo+ICsNCj4gKyNsYW5nZGVm IGVuLVVTICJFbmdsaXNoIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9NSVNDX09OQk9BUkRfREVWSUNF X1ZJREVPICAgI2xhbmd1YWdlIGVuLVVTICAiSW50ZWwoUikNCj4gVmFsbGV5VmlldzIgSEQgR3Jh cGhpY3MiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX09OQk9BUkRfREVWSUNFX0FVRElPICAgI2xhbmd1 YWdlIGVuLVVTICAiSW50ZWwoUikNCj4gSEQgQXVkaW8gRGV2aWNlIg0KPiArI3N0cmluZyBTVFJf TUlTQ19PTkJPQVJEX0RFVklDRV9ORVRXT1JLICNsYW5ndWFnZSBlbi1VUyAgIiINCj4gZGlmZiAt LWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUv TWlzY09uYm9hcmREZXZpY2VEYXQNCj4gYS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT25ib2FyZERldmljZURhDQo+IHRhLmMNCj4gbmV3 IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZjgyY2ZhODk4NQ0KPiAtLS0g L2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Nt Qmlvc01pc2NEeGUvTWlzY09uYm9hcmREZXZpY2VEYQ0KPiB0YS5jDQo+IEBAIC0wLDAgKzEsNDgg QEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4g DQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY09uYm9hcmREZXZpY2VE YXRhLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgU3RhdGljIGRhdGEgb2YgT25ib2Fy ZCBkZXZpY2UgaW5mb3JtYXRpb24gLg0KPiArICBUaGUgb25ib2FyZCBkZXZpY2UgaW5mb3JtYXRp b24gaXMgTWlzYy4gc3ViY2xhc3MgdHlwZSA4IGFuZCBTTUJJT1MgdHlwZQ0KPiAxMC4NCj4gKw0K PiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsN Cj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiArLy8NCj4gKy8vIFN0 YXRpYyAocG9zc2libHkgYnVpbGQgZ2VuZXJhdGVkKSBCaW9zIFZlbmRvciBkYXRhLg0KPiArLy8N Cj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfT05CT0FSRF9ERVZJQ0VfREFUQSwN Cj4gTWlzY09uYm9hcmREZXZpY2VWaWRlbykgPSB7DQo+ICsgIFNUUklOR19UT0tFTihTVFJfTUlT Q19PTkJPQVJEX0RFVklDRV9WSURFTyksICAvLw0KPiBPbkJvYXJkRGV2aWNlRGVzY3JpcHRpb24N Cj4gKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT25Cb2FyZERldmljZVN0YXR1 cw0KPiArICAgIEVmaU9uQm9hcmREZXZpY2VUeXBlVmlkZW8sICAvLyBEZXZpY2VUeXBlDQo+ICsg ICAgMSwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERldmljZUVuYWJsZWQNCj4gKyAgICAw ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQNCj4gKyAgfSwNCj4gKyAgMCAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gT25Cb2FyZERldmljZVBhdGgNCj4gK307DQo+ ICtNSVNDX1NNQklPU19UQUJMRV9EQVRBKEVGSV9NSVNDX09OQk9BUkRfREVWSUNFX0RBVEEsDQo+ IE1pc2NPbmJvYXJkRGV2aWNlQXVkaW8pID0gew0KPiArICBTVFJJTkdfVE9LRU4oU1RSX01JU0Nf T05CT0FSRF9ERVZJQ0VfQVVESU8pLCAgICAvLw0KPiBPbkJvYXJkRGV2aWNlRGVzY3JpcHRpb24N Cj4gKyAgeyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE9uQm9hcmREZXZpY2VT dGF0dXMNCj4gKyAgICBFZmlPbkJvYXJkRGV2aWNlVHlwZVNvdW5kLCAgICAgIC8vIERldmljZVR5 cGUNCj4gKyAgICAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIERldmljZUVuYWJs ZWQNCj4gKyAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkDQo+ ICsgIH0sDQo+ICsgIDAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBPbkJvYXJk RGV2aWNlUGF0aA0KPiArfTsNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwv Vmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjT25ib2FyZERldmljZUZ1DQo+IG5j dGlvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4 ZS9NaXNjT25ib2FyZERldmljZUZ1DQo+IG5jdGlvbi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLmFlZjI1MDY1YjgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NP bmJvYXJkRGV2aWNlRnUNCj4gbmN0aW9uLmMNCj4gQEAgLTAsMCArMSwxMzUgQEANCj4gKy8qKiBA ZmlsZQ0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRp b24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2Ut SWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0K PiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY09uYm9hcmREZXZpY2VGdW5jdGlvbi5jDQo+ ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIENyZWF0ZSB0aGUgZGV2aWNlIHBhdGggZm9yIHRo ZSBPbmJvYXJkIGRldmljZS4NCj4gKyAgVGhlIE9uYm9hcmQgZGV2aWNlIGluZm9ybWF0aW9uIGlz IE1pc2MuIHN1YmNsYXNzIHR5cGUgOCBhbmQgU01CSU9TIHR5cGUNCj4gMTAuDQo+ICsNCj4gKw0K PiArKiovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ICsj aW5jbHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4gKw0KPiArDQo+ICsvKioNCj4g KyAgVGhpcyBpcyBhIG1hY3JvIGRlZmluZWQgZnVuY3Rpb24sIGluIGZhY3QsIHRoZSBmdW5jdGlv biBpcw0KPiArICBNaXNjT25ib2FyZERldmljZUZ1bmN0aW9uIChSZWNvcmRUeXBlLCBSZWNvcmRM ZW4sIFJlY29yZERhdGEsDQo+IExvZ1JlY29yZERhdGEpDQo+ICsgIFRoaXMgZnVuY3Rpb24gbWFr ZXMgYm9vdCB0aW1lIGNoYW5nZXMgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZQ0KPiArICBNaXNjT25i b2FyZERldmljZSBzdHJ1Y3R1cmUuDQo+ICsNCj4gKyAgQHBhcmFtICBNaXNjT25ib2FyZERldmlj ZSAgICAgIFRoZSBzdHJpbmcgd2hpY2ggaXMgdXNlZCB0byBjcmVhdGUgdGhlDQo+IGZ1bmN0aW9u DQo+ICsgIFRoZSBBcmd1bWVudHMgaW4gZmFjdDoNCj4gKyAgQHBhcmFtICBSZWNvcmRUeXBlICAg ICAgICAgICAgIFR5cGUgb2YgcmVjb3JkIHRvIGJlIHByb2Nlc3NlZCBmcm9tIHRoZSBEYXRhDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUYWJsZS4gbU1pc2NTdWJjbGFzc0Rh dGFUYWJsZVtdLlJlY29yZFR5cGUNCj4gKyAgQHBhcmFtICBSZWNvcmRMZW4gICAgICAgICAgICAg IFNpemUgb2Ygc3RhdGljIFJlY29yZERhdGEgZnJvbSB0aGUgRGF0YSBUYWJsZS4NCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG1NaXNjU3ViY2xhc3NEYXRhVGFibGVbXS5SZWNv cmRMZW4NCj4gKyAgQHBhcmFtICBSZWNvcmREYXRhICAgICAgICAgICAgIFBvaW50ZXIgdG8gUmVj b3JkRGF0YSwgd2hpY2ggd2lsbCBiZSB3cml0dGVuIHRvDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGUgRGF0YSBIdWINCj4gKyAgQHBhcmFtICBMb2dSZWNvcmREYXRhICAg ICAgICAgIFRSVUUgdG8gbG9nIFJlY29yZERhdGEgdG8gRGF0YSBIdWIuIEZBTFNFDQo+IHdoZW4N Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRoZXJlIGlzIG5vIG1vcmUgZGF0 YSB0byBsb2cuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICpSZWNv cmREYXRhIGFuZCAqTG9nUmVjb3JkRGF0YSBoYXZlIGJlZW4NCj4gc2V0Lg0KPiArICBAcmV0dmFs IEVGSV9VTlNVUFBPUlRFRCAgICAgICAgVW5leHBlY3RlZCBSZWNvcmRUeXBlIHZhbHVlLg0KPiAr ICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgT25lIG9mIHRoZSBmb2xsb3dpbmcgcGFy YW1ldGVyDQo+IGNvbmRpdGlvbnMgd2FzDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICB0cnVlOiBSZWNvcmRMZW4gd2FzIHplcm8uIFJlY29yZERhdGEgd2FzIE5VTEwuDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBMb2dSZWNvcmREYXRhIHdhcyBOVUxMLg0K PiArDQo+ICsqKi8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0ZVTkNUSU9OICgNCj4gKyAgTWlzY09u Ym9hcmREZXZpY2UNCj4gKyAgKQ0KPiArew0KPiArICBDSEFSOCAgICAgICAgICAgICAgICAgICAg ICAgICAqT3B0aW9uYWxTdHJTdGFydDsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAg ICAgU3RhdHVzQW5kVHlwZTsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgRGVz Y3JpcHRpb25TdHJMZW47DQo+ICsgIEVGSV9TVFJJTkcgICAgICAgICAgICAgICAgICAgIERldmlj ZURlc2NyaXB0aW9uOw0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgICAgICBUb2tlblRv R2V0Ow0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVG SV9TTUJJT1NfSEFORExFICAgICAgICAgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgU01CSU9TX1RB QkxFX1RZUEUxMCAgICAgICAgICAgKlNtYmlvc1JlY29yZDsNCj4gKyAgRUZJX01JU0NfT05CT0FS RF9ERVZJQ0UgICAgICAgKkZvclR5cGUxMElucHV0RGF0YTsNCj4gKw0KPiArICBGb3JUeXBlMTBJ bnB1dERhdGEgPSAoRUZJX01JU0NfT05CT0FSRF9ERVZJQ0UgKilSZWNvcmREYXRhOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIEZpcnN0IGNoZWNrIGZvciBpbnZhbGlkIHBhcmFtZXRlcnMuDQo+ICsg IC8vDQo+ICsgIGlmIChSZWNvcmREYXRhID09IE5VTEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX0lO VkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsNCj4gKyAgVG9rZW5Ub0dldCA9IDA7DQo+ICsg IHN3aXRjaCAoRm9yVHlwZTEwSW5wdXREYXRhLT5PbkJvYXJkRGV2aWNlRGVzY3JpcHRpb24pIHsN Cj4gKyAgICBjYXNlIFNUUl9NSVNDX09OQk9BUkRfREVWSUNFX1ZJREVPOg0KPiArICAgICAgVG9r ZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfT05CT0FSRF9ERVZJQ0VfVklERU8pOw0K PiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBTVFJfTUlTQ19PTkJPQVJEX0RFVklDRV9BVURJ TzoNCj4gKyAgICAgIFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX09OQk9BUkRf REVWSUNFX0FVRElPKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArCWRlZmF1bHQ6DQo+ICsJYnJlYWs7 DQo+ICsgIH0NCj4gKw0KPiArICBEZXZpY2VEZXNjcmlwdGlvbiA9IFNtYmlvc01pc2NHZXRTdHJp bmcgKFRva2VuVG9HZXQpOw0KPiArICBEZXNjcmlwdGlvblN0ckxlbiA9IFN0ckxlbihEZXZpY2VE ZXNjcmlwdGlvbik7DQo+ICsgIGlmIChEZXNjcmlwdGlvblN0ckxlbiA+IFNNQklPU19TVFJJTkdf TUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4g Kw0KPiArICAvLw0KPiArICAvLyBUd28gemVyb3MgZm9sbG93aW5nIHRoZSBsYXN0IHN0cmluZy4N Cj4gKyAgLy8NCj4gKyAgU21iaW9zUmVjb3JkID0gQWxsb2NhdGVQb29sKHNpemVvZiAoU01CSU9T X1RBQkxFX1RZUEUxMCkgKw0KPiBEZXNjcmlwdGlvblN0ckxlbiArIDEgKyAxKTsNCj4gKyAgWmVy b01lbShTbWJpb3NSZWNvcmQsIHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEUxMCkgKw0KPiBEZXNj cmlwdGlvblN0ckxlbiArIDEgKyAxKTsNCj4gKw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5UeXBl ID0NCj4gRUZJX1NNQklPU19UWVBFX09OQk9BUkRfREVWSUNFX0lORk9STUFUSU9OOw0KPiArICBT bWJpb3NSZWNvcmQtPkhkci5MZW5ndGggPSBzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFMTApOw0K PiArDQo+ICsgIC8vDQo+ICsgIC8vIE1ha2UgaGFuZGxlIGNob3NlbiBieSBzbWJpb3MgcHJvdG9j b2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkhh bmRsZSA9IDA7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU3RhdHVzICYgVHlwZTogQml0IDcgRGV2 aWNlbiBTdGF0dXMsIEJpdHMgNjowIFR5cGUgb2YgRGV2aWNlDQo+ICsgIC8vDQo+ICsgIFN0YXR1 c0FuZFR5cGUgPSAoVUlOVDgpIEZvclR5cGUxMElucHV0RGF0YS0NCj4gPk9uQm9hcmREZXZpY2VT dGF0dXMuRGV2aWNlVHlwZTsNCj4gKyAgaWYgKEZvclR5cGUxMElucHV0RGF0YS0+T25Cb2FyZERl dmljZVN0YXR1cy5EZXZpY2VFbmFibGVkICE9IDApIHsNCj4gKyAgICBTdGF0dXNBbmRUeXBlIHw9 IDB4ODA7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgU3RhdHVzQW5kVHlwZSAmPSAweDdGOw0KPiAr ICB9DQo+ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5EZXZpY2VbMF0uRGV2aWNlVHlwZSA9IFN0YXR1 c0FuZFR5cGU7DQo+ICsgIFNtYmlvc1JlY29yZC0+RGV2aWNlWzBdLkRlc2NyaXB0aW9uU3RyaW5n ID0gMTsNCj4gKyAgT3B0aW9uYWxTdHJTdGFydCA9IChDSEFSOCAqKShTbWJpb3NSZWNvcmQgKyAx KTsNCj4gKyAgVW5pY29kZVN0clRvQXNjaWlTdHIoRGV2aWNlRGVzY3JpcHRpb24sIE9wdGlvbmFs U3RyU3RhcnQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE5vdyB3ZSBoYXZlIGdvdCB0aGUgZnVs bCBzbWJpb3MgcmVjb3JkLCBjYWxsIHNtYmlvcyBwcm90b2NvbCB0byBhZGQgdGhpcw0KPiByZWNv cmQuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc0hhbmRsZSA9IFNNQklPU19IQU5ETEVfUElfUkVTRVJW RUQ7DQo+ICsgIFN0YXR1cyA9IFNtYmlvcy0+IEFkZCgNCj4gKyAgICAgICAgICAgICAgICAgICAg ICBTbWJpb3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAmU21iaW9zSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChFRklf U01CSU9TX1RBQkxFX0hFQURFUiAqKSBTbWJpb3NSZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAg ICAgICApOw0KPiArICBGcmVlUG9vbChTbWJpb3NSZWNvcmQpOw0KPiArICByZXR1cm4gU3RhdHVz Ow0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvU21CaW9zTWlzY0R4ZS9NaXNjUGh5c2ljYWxBcnJheS51bmkNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQaHlzaWNhbEFycmF5LnVuaQ0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5iZWQwMGUwZGU1DQo+ IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvU21CaW9zTWlzY0R4ZS9NaXNjUGh5c2ljYWxBcnJheS51bmkNCj4gQEAgLTAsMCArMSwyNSBA QA0KPiArLy8gKisrDQo+ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNl bnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8g TW9kdWxlIE5hbWU6DQo+ICsvLw0KPiArLy8gICBNaXNjUGh5c2ljYWxBcnJheS51bmkNCj4gKy8v DQo+ICsvLyBBYnN0cmFjdDoNCj4gKy8vDQo+ICsvLyAgIEJJT1MgUGh5c2ljYWwgTWVtb3J5DQo+ ICsvLyAgIFNNQklPUyB0eXBlIDE2Lg0KPiArLy8NCj4gKy8vIFJldmlzaW9uIEhpc3Rvcnk6DQo+ ICsvLw0KPiArLy8gLS0qLw0KPiArDQo+ICsNCj4gKy89Iw0KPiArI2xhbmdkZWYgICBlbi1VUyAi RW5nbGlzaCINCj4gKw0KPiArDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1BoeXNpY2FsQXJyYXlEYXRhLg0K PiBjDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjUGh5c2ljYWxBcnJheURhdGEuDQo+IGMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5k ZXggMDAwMDAwMDAwMC4uNjYzNzBmN2VlYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1BoeXNpY2Fs QXJyYXlEYXRhLg0KPiBjDQo+IEBAIC0wLDAgKzEsMzggQEANCj4gKy8qKysNCj4gKw0KPiArQ29w eXJpZ2h0IChjKSAyMDA2ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgIE1pc2NQaHlzaWNhbEFycmF5RGF0YS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiAr DQo+ICsgIEJJT1MgUGh5c2ljYWwgQXJyYXkgc3RhdGljIGRhdGEuDQo+ICsgIFNNQklPUyB0eXBl IDE2Lg0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5o Ig0KPiArDQo+ICsjaW5jbHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4gKw0KPiAr DQo+ICsvLw0KPiArLy8gU3RhdGljIChwb3NzaWJseSBidWlsZCBnZW5lcmF0ZWQpIFBoeXNpY2Fs IE1lbW9yeSBBcnJheSBEYXQuDQo+ICsvLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfREFUQShFRklf TUVNT1JZX0FSUkFZX0xPQ0FUSU9OX0RBVEEsDQo+IE1pc2NQaHlzaWNhbE1lbW9yeUFycmF5KSA9 DQo+ICt7DQo+ICsJRWZpTWVtb3J5QXJyYXlMb2NhdGlvblN5c3RlbUJvYXJkLA0KPiAJCS8vIE1l bW9yeSBsb2NhdGlvbg0KPiArCUVmaU1lbW9yeUFycmF5VXNlU3lzdGVtTWVtb3J5LA0KPiAJCSAg ICAvLyBNZW1vcnkgYXJyYXkgdXNlDQo+ICsJRWZpTWVtb3J5RXJyb3JDb3JyZWN0aW9uTm9uZSwN Cj4gCQkgICAgLy8gTWVtb3J5IGVycm9yIGNvcnJlY3Rpb24NCj4gKwkwLCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIE1heGltdW0gTWVtb3J5 IENhcGFjaXR5DQo+ICsJMHgwMQkJCQkJCSAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLw0K PiBOdW1iZXIgb2YgRGV2aWNlcw0KPiArfTsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1BoeXNpY2FsQXJyYXlGdW5j dA0KPiBpb24uYw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01p c2NEeGUvTWlzY1BoeXNpY2FsQXJyYXlGdW5jdA0KPiBpb24uYw0KPiBuZXcgZmlsZSBtb2RlIDEw MDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi42N2ZjMDQxNTJjDQo+IC0tLSAvZGV2L251bGwNCj4g KysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjUGh5c2ljYWxBcnJheUZ1bmN0DQo+IGlvbi5jDQo+IEBAIC0wLDAgKzEsMTAxIEBADQo+ICsv KisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAxMiAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9u LiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlk ZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4g K01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2NQaHlzaWNhbEFycmF5RnVuY3Rpb24uYw0KPiAr DQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBCSU9TIHN5c3RlbSBQaHlzaWNhbCBBcnJheSBib290 IHRpbWUgY2hhbmdlcy4NCj4gKyAgU01CSU9TIHR5cGUgMTYuDQo+ICsNCj4gKy0tKi8NCj4gKw0K PiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsjaW5jbHVkZSAiTWlzY1N1YmNs YXNzRHJpdmVyLmgiDQo+ICsNCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiBt YWtlcyBib290IHRpbWUgY2hhbmdlcyB0byB0aGUgY29udGVudHMgb2YgdGhlDQo+ICsgIE1pc2NQ aHlzaWNhbEFycmF5RnVuY3Rpb24gKFR5cGUgMTYpLg0KPiArDQo+ICsgIEBwYXJhbSAgUmVjb3Jk RGF0YSAgICAgICAgICAgICAgICAgUG9pbnRlciB0byBjb3B5IG9mIFJlY29yZERhdGEgZnJvbSB0 aGUgRGF0YQ0KPiBUYWJsZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAg ICAgICAgIEFsbCBwYXJhbWV0ZXJzIHdlcmUgdmFsaWQuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQ UE9SVEVEICAgICAgICAgICAgVW5leHBlY3RlZCBSZWNvcmRUeXBlIHZhbHVlLg0KPiArICBAcmV0 dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgICAgIEludmFsaWQgcGFyYW1ldGVyIHdhcyBmb3Vu ZC4NCj4gKw0KPiArKiovDQo+ICsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0ZVTkNUSU9OKE1pc2NQ aHlzaWNhbE1lbW9yeUFycmF5KQ0KPiArew0KPiArICAgIEVGSV9TVEFUVVMgICAgICAgICAgICAg ICAgICAgICAgU3RhdHVzOw0KPiArICAgIEVGSV9TTUJJT1NfSEFORExFICAgICAgICAgICAgICAg U21iaW9zSGFuZGxlOw0KPiArICAgIFNNQklPU19UQUJMRV9UWVBFMTYgICAgICAgICAgICAgKlNt Ymlvc1JlY29yZDsNCj4gKyAgICBFRklfTUVNT1JZX0FSUkFZX0xPQ0FUSU9OX0RBVEEgICpGb3JU eXBlMTZJbnB1dERhdGE7DQo+ICsgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAg VG9wT2ZNZW1vcnkgPSA4ICogMTAyNCAqIDEwMjQ7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8v IEZpcnN0IGNoZWNrIGZvciBpbnZhbGlkIHBhcmFtZXRlcnMuDQo+ICsgICAgLy8NCj4gKyAgICBp ZiAoUmVjb3JkRGF0YSA9PSBOVUxMKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9JTlZBTElEX1BBUkFN RVRFUjsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICBGb3JUeXBlMTZJbnB1dERhdGEgPSAoRUZJX01F TU9SWV9BUlJBWV9MT0NBVElPTl9EQVRBDQo+ICopUmVjb3JkRGF0YTsNCj4gKw0KPiArICAgIC8v DQo+ICsgICAgLy8gVHdvIHplcm9zIGZvbGxvd2luZyB0aGUgbGFzdCBzdHJpbmcuDQo+ICsgICAg Ly8NCj4gKyAgICBTbWJpb3NSZWNvcmQgPSBBbGxvY2F0ZVBvb2woc2l6ZW9mIChTTUJJT1NfVEFC TEVfVFlQRTE2KSAgKyAxKTsNCj4gKyAgICBaZXJvTWVtKFNtYmlvc1JlY29yZCwgc2l6ZW9mIChT TUJJT1NfVEFCTEVfVFlQRTE2KSAgKyAxKTsNCj4gKw0KPiArICAgIFNtYmlvc1JlY29yZC0+SGRy LlR5cGUgPQ0KPiBFRklfU01CSU9TX1RZUEVfUEhZU0lDQUxfTUVNT1JZX0FSUkFZOw0KPiArICAg IFNtYmlvc1JlY29yZC0+SGRyLkxlbmd0aCA9IHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEUxNik7 DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE1ha2UgaGFuZGxlIGNob3NlbiBieSBzbWJpb3Mg cHJvdG9jb2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ICsgICAgLy8NCj4gKyAgICBTbWJpb3NSZWNv cmQtPkhkci5IYW5kbGUgPSAwOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZWxlYXNlRGF0 ZSB3aWxsIGJlIHRoZSAzcmQgb3B0aW9uYWwgc3RyaW5nIGZvbGxvd2luZyB0aGUgZm9ybWF0dGVk DQo+IHN0cnVjdHVyZS4NCj4gKyAgICAvLw0KPiArICAgIFNtYmlvc1JlY29yZC0+TG9jYXRpb24g PSAqKFVJTlQ4ICopICZGb3JUeXBlMTZJbnB1dERhdGEgLQ0KPiA+TWVtb3J5QXJyYXlMb2NhdGlv bjsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPlVzZSA9ICooVUlOVDggKikgJkZvclR5cGUxNklucHV0 RGF0YSAtDQo+ID5NZW1vcnlBcnJheVVzZTsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPk1lbW9yeUVy cm9yQ29ycmVjdGlvbiA9ICooVUlOVDggKikNCj4gJkZvclR5cGUxNklucHV0RGF0YS0+TWVtb3J5 RXJyb3JDb3JyZWN0aW9uOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTeXN0ZW0gZG9lcyBu b3QgcHJvdmlkZSB0aGUgZXJyb3IgaW5mb3JtYXRpb24gc3RydWN0dXJlDQo+ICsgICAgLy8NCj4g KyAgICBTbWJpb3NSZWNvcmQtPk1lbW9yeUVycm9ySW5mb3JtYXRpb25IYW5kbGUgPSAweEZGRkU7 DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE1heGltdW0gbWVtb3J5IGNhcGFjaXR5DQo+ICsg ICAgLy8NCj4gKyAgICBTbWJpb3NSZWNvcmQtPiBNYXhpbXVtQ2FwYWNpdHkgPSBUb3BPZk1lbW9y eTsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPiBOdW1iZXJPZk1lbW9yeURldmljZXM9IDB4MDI7DQo+ ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIE5vdyB3ZSBoYXZlIGdvdCB0aGUgZnVsbCBzbWJpb3Mg cmVjb3JkLCBjYWxsIHNtYmlvcyBwcm90b2NvbCB0byBhZGQgdGhpcw0KPiByZWNvcmQuDQo+ICsg ICAgLy8NCj4gKyAgICBTbWJpb3NIYW5kbGUgPSBTTUJJT1NfSEFORExFX1BJX1JFU0VSVkVEOw0K PiArICAgIFN0YXR1cyA9IFNtYmlvcy0+IEFkZCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAg IFNtYmlvcywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICZTbWJpb3NIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgIChF RklfU01CSU9TX1RBQkxFX0hFQURFUiAqKSBTbWJpb3NSZWNvcmQNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgICBGcmVlUG9vbChTbWJpb3NSZWNvcmQpOw0KPiArICAgIHJldHVy biBTdGF0dXM7DQo+ICsNCj4gK30NCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1BvcnRJbnRlcm5hbENvbm5lDQo+IGN0 b3JEZXNpZ25hdG9yLnVuaQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1Nt Qmlvc01pc2NEeGUvTWlzY1BvcnRJbnRlcm5hbENvbm5lDQo+IGN0b3JEZXNpZ25hdG9yLnVuaQ0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44MGZhOTllY2JlDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvU21CaW9zTWlzY0R4ZS9NaXNjUG9ydEludGVybmFsQ29ubmUNCj4gY3RvckRlc2lnbmF0b3Iu dW5pDQo+IEBAIC0wLDAgKzEsMzEgQEANCj4gKy8vICorKw0KPiArLy8NCj4gKy8vIENvcHlyaWdo dCAoYykgMjAwNCAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVk LjxCUj4NCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsvLw0KPiArLy8NCj4gKy8vIE1vZHVsZSBOYW1lOg0KPiArLy8NCj4gKy8vICAgTWlzY1Bv cnRJbnRlcm5hbENvbm5lY3RvckRlc2lnbmF0b3IudW5pDQo+ICsvLw0KPiArLy8gQWJzdHJhY3Q6 DQo+ICsvLw0KPiArLy8gICBQb3J0IGludGVybmFsIGNvbm5lY3RvciBpbmZvcm1hdGlvbg0KPiAr Ly8NCj4gKy8vIFJldmlzaW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0qLw0KPiArDQo+ICsN Cj4gKy89Iw0KPiArDQo+ICsjbGFuZ2RlZiBlbi1VUyAiRW5nbGlzaCINCj4gKw0KPiArI3N0cmlu ZyBTVFJfTUlTQ19QT1JUX0lOVEVSTkFMX0lERTEgICAgICAjbGFuZ3VhZ2UgZW4tVVMgICJKNEox Ig0KPiArI3N0cmluZyBTVFJfTUlTQ19QT1JUX0VYVEVSTkFMX0lERTEgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMNCj4gIlNBVEFfQ09OMSINCj4gKyNzdHJpbmcgU1RSX01JU0NfUE9SVF9JTlRFUk5BTF9J REUyICAgICAgI2xhbmd1YWdlIGVuLVVTICAiSjRFMyINCj4gKyNzdHJpbmcgU1RSX01JU0NfUE9S VF9FWFRFUk5BTF9JREUyICAgICAgI2xhbmd1YWdlIGVuLVVTDQo+ICJTQVRBX0NPTjIiDQo+ICsj c3RyaW5nIFNUUl9NSVNDX1BPUlRfSU5URVJOQUxfQVRYX1BPV0VSICNsYW5ndWFnZSBlbi1VUyAg IkozSjEiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1BPUlRfRVhURVJOQUxfQVRYX1BPV0VSICNsYW5n dWFnZSBlbi1VUw0KPiAiQVRYX1BXUiINCj4gKyNzdHJpbmcgU1RSX01JU0NfUE9SVF9JTlRFUk5B TF9CVFhfUE9XRVIgI2xhbmd1YWdlIGVuLVVTDQo+ICJCVFhfUFdSIg0KPiArI3N0cmluZyBTVFJf TUlTQ19QT1JUX0VYVEVSTkFMX0JUWF9QT1dFUiAjbGFuZ3VhZ2UgZW4tVVMgICIiDQo+IGRpZmYg LS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhl L01pc2NQb3J0SW50ZXJuYWxDb25uZQ0KPiBjdG9yRGVzaWduYXRvckRhdGEuYw0KPiBiL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1BvcnRJbnRlcm5h bENvbm5lDQo+IGN0b3JEZXNpZ25hdG9yRGF0YS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLmI5OGJhYjQwYWINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQb3J0 SW50ZXJuYWxDb25uZQ0KPiBjdG9yRGVzaWduYXRvckRhdGEuYw0KPiBAQCAtMCwwICsxLDU2IEBA DQo+ICsvKiogQGZpbGUNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVs IENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BE WC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0K PiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2NQb3J0SW50ZXJuYWxDb25u ZWN0b3JEZXNpZ25hdG9yRGF0YS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFN0YXRp YyBkYXRhIG9mIFBvcnQgaW50ZXJuYWwgY29ubmVjdG9yIGRlc2lnbmF0b3IgaW5mb3JtYXRpb24u DQo+ICsgIFBvcnQgaW50ZXJuYWwgY29ubmVjdG9yIGRlc2lnbmF0b3IgaW5mb3JtYXRpb24gaXMg TWlzYy4gc3ViY2xhc3MgdHlwZSA2IGFuZA0KPiArICBTTUJJT1MgdHlwZSA4Lg0KPiArDQo+ICsN Cj4gKyoqLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCINCj4gKw0KPiAr I2luY2x1ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArDQo+ICsvLw0KPiArLy8gU3RhdGlj IChwb3NzaWJseSBidWlsZCBnZW5lcmF0ZWQpIFBvcnQgY29ubmVjdG9yIGRlc2lnbmF0aW9ucw0K PiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfUE9SVF9JTlRFUk5BTF9D T05ORUNUT1JfREUNCj4gU0lHTkFUT1JfREFUQSwgTWlzY1BvcnRJZGUxKSA9IHsNCj4gKyAgU1RS SU5HX1RPS0VOKFNUUl9NSVNDX1BPUlRfSU5URVJOQUxfSURFMSksDQo+ICsgIFNUUklOR19UT0tF TihTVFJfTUlTQ19QT1JUX0VYVEVSTkFMX0lERTEpLA0KPiArICBFZmlQb3J0Q29ubmVjdG9yVHlw ZU9uYm9hcmRJZGUsDQo+ICsgIEVmaVBvcnRDb25uZWN0b3JUeXBlTm9uZSwNCj4gKyAgRWZpUG9y dFR5cGVPdGhlciwNCj4gKyAgMA0KPiArfTsNCj4gKw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfREFU QShFRklfTUlTQ19QT1JUX0lOVEVSTkFMX0NPTk5FQ1RPUl9ERQ0KPiBTSUdOQVRPUl9EQVRBLCBN aXNjUG9ydElkZTIpID0gew0KPiArICBTVFJJTkdfVE9LRU4oU1RSX01JU0NfUE9SVF9JTlRFUk5B TF9JREUyKSwNCj4gKyAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1BPUlRfRVhURVJOQUxfSURFMiks DQo+ICsgIEVmaVBvcnRDb25uZWN0b3JUeXBlT25ib2FyZElkZSwNCj4gKyAgRWZpUG9ydENvbm5l Y3RvclR5cGVOb25lLA0KPiArICBFZmlQb3J0VHlwZU90aGVyLA0KPiArICAwDQo+ICt9Ow0KPiAr DQo+ICtNSVNDX1NNQklPU19UQUJMRV9EQVRBKEVGSV9NSVNDX1BPUlRfSU5URVJOQUxfQ09OTkVD VE9SX0RFDQo+IFNJR05BVE9SX0RBVEEsIE1pc2NQb3J0QXR4UG93ZXIpID0gew0KPiArICBTVFJJ TkdfVE9LRU4oU1RSX01JU0NfUE9SVF9JTlRFUk5BTF9BVFhfUE9XRVIpLA0KPiArICBTVFJJTkdf VE9LRU4oU1RSX01JU0NfUE9SVF9FWFRFUk5BTF9BVFhfUE9XRVIpLA0KPiArICBFZmlQb3J0Q29u bmVjdG9yVHlwZU90aGVyLA0KPiArICBFZmlQb3J0Q29ubmVjdG9yVHlwZU5vbmUsDQo+ICsgIEVm aVBvcnRUeXBlT3RoZXIsDQo+ICsgIDANCj4gK307DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQb3J0SW50ZXJuYWxD b25uZQ0KPiBjdG9yRGVzaWduYXRvckZ1bmN0aW9uLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQb3J0SW50ZXJuYWxDb25uZQ0KPiBjdG9y RGVzaWduYXRvckZ1bmN0aW9uLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAw MDAwMDAwMC4uNmJjMDg4Y2QxMw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1BvcnRJbnRlcm5hbENv bm5lDQo+IGN0b3JEZXNpZ25hdG9yRnVuY3Rpb24uYw0KPiBAQCAtMCwwICsxLDE1MiBAQA0KPiAr LyoqIEBmaWxlDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jw b3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGlj ZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0K PiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjUG9ydEludGVybmFsQ29ubmVjdG9y RGVzaWduYXRvckZ1bmN0aW9uLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgQ3JlYXRl IHRoZSBkZXZpY2UgcGF0aCBmb3IgdGhlIFBvcnQgaW50ZXJuYWwgY29ubmVjdG9yIGRlc2lnbmF0 b3IuDQo+ICsgIFBvcnQgaW50ZXJuYWwgY29ubmVjdG9yIGRlc2lnbmF0b3IgaW5mb3JtYXRpb24g aXMgTWlzYy4gc3ViY2xhc3MgdHlwZSA2DQo+ICsgIGFuZCBTTUJJT1MgdHlwZSA4Lg0KPiArDQo+ ICsNCj4gKyoqLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCINCj4gKw0K PiArI2luY2x1ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArDQo+ICsNCj4gKy8qKg0KPiAr ICBUaGlzIGlzIGEgbWFjcm8gZGVmaW5lZCBmdW5jdGlvbiwgaW4gZmFjdCwgdGhlIGZ1bmN0aW9u IGlzDQo+ICsgIE1pc2NQb3J0SW50ZXJuYWxDb25uZWN0b3JEZXNpZ25hdG9yRnVuY3Rpb24gKFJl Y29yZFR5cGUsIFJlY29yZExlbiwNCj4gUmVjb3JkRGF0YSwgTG9nUmVjb3JkRGF0YSkNCj4gKyAg VGhpcyBmdW5jdGlvbiBtYWtlcyBib290IHRpbWUgY2hhbmdlcyB0byB0aGUgY29udGVudHMgb2Yg dGhlDQo+ICsgIE1pc2NQb3J0Q29ubmVjdG9ySW5mb3JtYXRpb24uDQo+ICsNCj4gKyAgQHBhcmFt ICBNaXNjUG9ydEludGVybmFsQ29ubmVjdG9yRGVzaWduYXRvciAgVGhlIHN0cmluZyB3aGljaCBp cyB1c2VkIHRvDQo+IGNyZWF0ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICB0aGUgZnVuY3Rpb24NCj4gKyAgVGhlIEFyZ3VtZW50cyBpbiBmYWN0Og0K PiArICBAcGFyYW0gIFJlY29yZFR5cGUgICAgICAgICAgICAgICAgICAgICAgICAgICBUeXBlIG9m IHJlY29yZCB0byBiZSBwcm9jZXNzZWQgZnJvbQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICB0aGUgRGF0YSBUYWJsZS4NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbU1pc2NTdWJjbGFzc0RhdGFUYWJsZVtd LlJlY29yZFR5cGUNCj4gKyAgQHBhcmFtICBSZWNvcmRMZW4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2l6ZSBvZiBzdGF0aWMgUmVjb3JkRGF0YSBmcm9tIHRoZQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRhIFRhYmxlLg0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtTWlzY1N1YmNsYXNzRGF0 YVRhYmxlW10uUmVjb3JkTGVuDQo+ICsgIEBwYXJhbSAgUmVjb3JkRGF0YSAgICAgICAgICAgICAg ICAgICAgICAgICAgIFBvaW50ZXIgdG8gUmVjb3JkRGF0YSwgd2hpY2ggd2lsbCBiZQ0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB3cml0dGVuIHRvIHRo ZSBEYXRhIEh1Yg0KPiArICBAcGFyYW0gIExvZ1JlY29yZERhdGEgICAgICAgICAgICAgICAgICAg ICAgICBUUlVFIHRvIGxvZyBSZWNvcmREYXRhIHRvIERhdGEgSHViLg0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGQUxTRSB3aGVuIHRoZXJlIGlzIG5v IG1vcmUgZGF0YSB0bw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICBsb2cuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAg ICAgICAgICAgICAgKlJlY29yZERhdGEgYW5kICpMb2dSZWNvcmREYXRhIGhhdmUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmVlbiBzZXQuDQo+ICsg IEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgICAgICAgICAgICAgIFVuZXhwZWN0ZWQg UmVjb3JkVHlwZSB2YWx1ZS4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAg ICAgICAgICAgICAgT25lIG9mIHRoZSBmb2xsb3dpbmcgcGFyYW1ldGVyDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbmRpdGlvbnMgd2FzIHRydWU6 IFJlY29yZExlbiB3YXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgemVyby4gUmVjb3JkRGF0YSB3YXMgTlVMTC4NCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9nUmVjb3JkRGF0YSB3YXMgTlVMTC4NCj4g Kw0KPiArKiovDQo+ICtNSVNDX1NNQklPU19UQUJMRV9GVU5DVElPTiAoDQo+ICsgIE1pc2NQb3J0 SW50ZXJuYWxDb25uZWN0b3JEZXNpZ25hdG9yDQo+ICsgICkNCj4gK3sNCj4gKyAgQ0hBUjggICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKk9wdGlvbmFsU3RyU3RhcnQ7DQo+ ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEludGVybmFs UmVmU3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBFeHRlcm5hbFJlZlN0ckxlbjsNCj4gKyAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgSW50ZXJuYWxSZWY7DQo+ICsgIEVGSV9TVFJJTkcgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEV4dGVybmFsUmVmOw0KPiArICBTVFJJTkdfUkVGICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2tlbkZvckludGVybmFsOw0KPiArICBT VFJJTkdfUkVGICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUb2tlbkZvckV4dGVy bmFsOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBT dGF0dXM7DQo+ICsgIFNNQklPU19UQUJMRV9UWVBFOCAgICAgICAgICAgICAgICAgICAgICAgICAg ICpTbWJpb3NSZWNvcmQ7DQo+ICsgIEVGSV9TTUJJT1NfSEFORExFICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgRUZJX01JU0NfUE9SVF9JTlRFUk5BTF9DT05O RUNUT1JfREVTSUdOQVRPUg0KPiAqRm9yVHlwZThJbnB1dERhdGE7DQo+ICsNCj4gKyAgRm9yVHlw ZThJbnB1dERhdGEgPQ0KPiAoRUZJX01JU0NfUE9SVF9JTlRFUk5BTF9DT05ORUNUT1JfREVTSUdO QVRPUiAqKVJlY29yZERhdGE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3QgY2hlY2sgZm9y IGludmFsaWQgcGFyYW1ldGVycy4NCj4gKyAgLy8NCj4gKyAgaWYgKFJlY29yZERhdGEgPT0gTlVM TCkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0K PiArICBUb2tlbkZvckludGVybmFsID0gMDsNCj4gKyAgVG9rZW5Gb3JFeHRlcm5hbCA9IDA7DQo+ ICsNCj4gKyAgc3dpdGNoIChGb3JUeXBlOElucHV0RGF0YS0+UG9ydEludGVybmFsQ29ubmVjdG9y RGVzaWduYXRvcikgew0KPiArDQo+ICsgICAgY2FzZSBTVFJfTUlTQ19QT1JUX0lOVEVSTkFMX0lE RTE6DQo+ICsgICAgICBUb2tlbkZvckludGVybmFsID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19Q T1JUX0lOVEVSTkFMX0lERTEpOw0KPiArICAgICAgVG9rZW5Gb3JFeHRlcm5hbCA9IFNUUklOR19U T0tFTihTVFJfTUlTQ19QT1JUX0VYVEVSTkFMX0lERTEpOw0KPiArICAgICAgYnJlYWs7DQo+ICsg ICAgY2FzZSBTVFJfTUlTQ19QT1JUX0lOVEVSTkFMX0lERTI6DQo+ICsgICAgICBUb2tlbkZvcklu dGVybmFsID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19QT1JUX0lOVEVSTkFMX0lERTIpOw0KPiAr ICAgICAgVG9rZW5Gb3JFeHRlcm5hbCA9IFNUUklOR19UT0tFTihTVFJfTUlTQ19QT1JUX0VYVEVS TkFMX0lERTIpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBTVFJfTUlTQ19QT1JUX0lO VEVSTkFMX0FUWF9QT1dFUjoNCj4gKyAgICAgIFRva2VuRm9ySW50ZXJuYWwgPSBTVFJJTkdfVE9L RU4NCj4gKFNUUl9NSVNDX1BPUlRfSU5URVJOQUxfQVRYX1BPV0VSKTsNCj4gKyAgICAgIFRva2Vu Rm9yRXh0ZXJuYWwgPQ0KPiBTVFJJTkdfVE9LRU4oU1RSX01JU0NfUE9SVF9FWFRFUk5BTF9BVFhf UE9XRVIpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgZGVmYXVsdDoNCj4gKyAgICAgIGJyZWFr Ow0KPiArICB9DQo+ICsNCj4gKyAgSW50ZXJuYWxSZWYgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChU b2tlbkZvckludGVybmFsKTsNCj4gKyAgSW50ZXJuYWxSZWZTdHJMZW4gPSBTdHJMZW4oSW50ZXJu YWxSZWYpOw0KPiArICBpZiAoSW50ZXJuYWxSZWZTdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9M RU5HVEgpIHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4g KyAgRXh0ZXJuYWxSZWYgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlbkZvckV4dGVybmFsKTsN Cj4gKyAgRXh0ZXJuYWxSZWZTdHJMZW4gPSBTdHJMZW4oRXh0ZXJuYWxSZWYpOw0KPiArICBpZiAo RXh0ZXJuYWxSZWZTdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICBy ZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHdv IHplcm9zIGZvbGxvd2luZyB0aGUgbGFzdCBzdHJpbmcuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1Jl Y29yZCA9IEFsbG9jYXRlUG9vbChzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFOCkgKw0KPiBJbnRl cm5hbFJlZlN0ckxlbiArIDEgKyBFeHRlcm5hbFJlZlN0ckxlbiArIDEgKyAxKTsNCj4gKyAgWmVy b01lbShTbWJpb3NSZWNvcmQsIHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEU4KSArDQo+IEludGVy bmFsUmVmU3RyTGVuICsgMSArIEV4dGVybmFsUmVmU3RyTGVuICsgMSArIDEpOw0KPiArDQo+ICsg IFNtYmlvc1JlY29yZC0+SGRyLlR5cGUgPQ0KPiBFRklfU01CSU9TX1RZUEVfUE9SVF9DT05ORUNU T1JfSU5GT1JNQVRJT047DQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkxlbmd0aCA9IHNpemVvZiAo U01CSU9TX1RBQkxFX1RZUEU4KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBNYWtlIGhhbmRsZSBj aG9zZW4gYnkgc21iaW9zIHByb3RvY29sLmFkZCBhdXRvbWF0aWNhbGx5Lg0KPiArICAvLw0KPiAr ICBTbWJpb3NSZWNvcmQtPkhkci5IYW5kbGUgPSAwOw0KPiArICBTbWJpb3NSZWNvcmQtPkludGVy bmFsUmVmZXJlbmNlRGVzaWduYXRvciA9IDE7DQo+ICsgIFNtYmlvc1JlY29yZC0+SW50ZXJuYWxD b25uZWN0b3JUeXBlID0gKFVJTlQ4KUZvclR5cGU4SW5wdXREYXRhLQ0KPiA+UG9ydEludGVybmFs Q29ubmVjdG9yVHlwZTsNCj4gKyAgU21iaW9zUmVjb3JkLT5FeHRlcm5hbFJlZmVyZW5jZURlc2ln bmF0b3IgPSAyOw0KPiArICBTbWJpb3NSZWNvcmQtPkV4dGVybmFsQ29ubmVjdG9yVHlwZSA9IChV SU5UOClGb3JUeXBlOElucHV0RGF0YS0NCj4gPlBvcnRFeHRlcm5hbENvbm5lY3RvclR5cGU7DQo+ ICsgIFNtYmlvc1JlY29yZC0+UG9ydFR5cGUgPSAoVUlOVDgpRm9yVHlwZThJbnB1dERhdGEtPlBv cnRUeXBlOw0KPiArDQo+ICsgIE9wdGlvbmFsU3RyU3RhcnQgPSAoQ0hBUjggKikoU21iaW9zUmVj b3JkICsgMSk7DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKEludGVybmFsUmVmLCBPcHRpb25h bFN0clN0YXJ0KTsNCj4gKyAgVW5pY29kZVN0clRvQXNjaWlTdHIoRXh0ZXJuYWxSZWYsIE9wdGlv bmFsU3RyU3RhcnQgKyBJbnRlcm5hbFJlZlN0ckxlbiArIDEpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIE5vdyB3ZSBoYXZlIGdvdCB0aGUgZnVsbCBzbWJpb3MgcmVjb3JkLCBjYWxsIHNtYmlvcyBw cm90b2NvbCB0byBhZGQgdGhpcw0KPiByZWNvcmQuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc0hhbmRs ZSA9IFNNQklPU19IQU5ETEVfUElfUkVTRVJWRUQ7DQo+ICsgIFN0YXR1cyA9IFNtYmlvcy0+IEFk ZCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBTbWJpb3MsDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmU21iaW9zSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgIChFRklfU01CSU9TX1RBQkxFX0hFQURFUiAqKSBTbWJpb3NS ZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBGcmVlUG9vbChTbWJpb3NS ZWNvcmQpOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29y Q2FjaGUudQ0KPiBuaQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlv c01pc2NEeGUvTWlzY1Byb2Nlc3NvckNhY2hlLnUNCj4gbmkNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZmVlNjliYjEzOQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsr Kw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlz Y1Byb2Nlc3NvckNhY2hlLnUNCj4gbmkNCj4gQEAgLTAsMCArMSwyMiBAQA0KPiArLy8gKisrDQo+ ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAyMDEyIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6 IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ ICsvLw0KPiArLy8gICBNaXNjUHJvY2Vzc29yQ2FjaGUudW5pDQo+ICsvLw0KPiArLy8gQWJzdHJh Y3Q6DQo+ICsvLw0KPiArLy8NCj4gKy8vIFJldmlzaW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8g LS0qLw0KPiArDQo+ICsNCj4gKy89Iw0KPiArI2xhbmdkZWYgICBlbi1VUyAiRW5nbGlzaCINCj4g Kw0KPiArI3N0cmluZyBTVFJfU09DS0VUX0RFU0lHTkFUSU9OICAgICAgICAgICAgICAgICNsYW5n dWFnZSBlbi1VUyAgIjB4MDEiDQo+IFwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQ0KPiBkaWZm IC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4 ZS9NaXNjUHJvY2Vzc29yQ2FjaGVEYQ0KPiB0YS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29yQ2FjaGVEYQ0KPiB0YS5jDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjZhZjdmNTYxMDcNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbUJpb3NNaXNjRHhlL01pc2NQcm9jZXNzb3JDYWNoZURhDQo+IHRhLmMNCj4gQEAgLTAsMCAr MSwzMyBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMTIgLSAyMDE0LCBJbnRl bCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiAN Cj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjQmlvc1Byb2Nlc3NvckNh Y2hlLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUHJvY2Vzc29yIGNhY2hlIHN0YXRp YyBkYXRhLg0KPiArICBNaXNjLiBzdWJjbGFzcyB0eXBlIDcuDQo+ICsgIFNNQklPUyB0eXBlIDcu DQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiArDQo+ICsvLw0K PiArLy8gU3RhdGljIChwb3NzaWJseSBidWlsZCBnZW5lcmF0ZWQpIFByb2Nlc3NvciBjYWNoZSBk YXRhLg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX0NBQ0hFX1ZBUklBQkxF X1JFQ09SRCwNCj4gTWlzY1Byb2Nlc3NvckNhY2hlKSA9IHsNCj4gKzANCj4gK307DQo+IGRpZmYg LS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhl L01pc2NQcm9jZXNzb3JDYWNoZUZ1DQo+IG5jdGlvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29yQ2FjaGVGdQ0KPiBuY3Rp b24uYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jYTEyMTUy NWEwDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29yQ2FjaGVGdQ0KPiBuY3Rpb24uYw0K PiBAQCAtMCwwICsxLDE4OSBAQA0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDYg IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiAr DQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0K PiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY1By b2Nlc3NvckNhY2hlRnVuY3Rpb24uYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBCSU9T IHByb2Nlc3NvciBjYWNoZSBkZXRhaWxzLg0KPiArICBNaXNjLiBzdWJjbGFzcyB0eXBlIDcuDQo+ ICsgIFNNQklPUyB0eXBlIDcuDQo+ICsNCj4gKy0tKi8NCj4gKyNpbmNsdWRlICJDb21tb25IZWFk ZXIuaCINCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKyNpbmNsdWRlIDxQ cm90b2NvbC9EYXRhSHViLmg+DQo+ICsjaW5jbHVkZSA8R3VpZC9EYXRhSHViUmVjb3Jkcy5oPg0K PiArDQo+ICtVSU5UMzINCj4gK0NvbnZlcnRCYXNlMlRvUmF3ICgNCj4gKyAgSU4gIEVGSV9FWFBf QkFTRTJfREFUQSAgICAgICAgICAgICAqRGF0YSkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICBJ bmRleDsNCj4gKyAgVUlOVDMyICAgICAgICBSYXdEYXRhOw0KPiArDQo+ICsgIFJhd0RhdGEgPSBE YXRhLT5WYWx1ZTsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4IDwgKFVJTlROKSBEYXRhLT5F eHBvbmVudDsgSW5kZXgrKykgew0KPiArICAgICBSYXdEYXRhIDw8PSAxOw0KPiArICB9DQo+ICsN Cj4gKyAgcmV0dXJuICBSYXdEYXRhOw0KPiArfQ0KPiArDQo+ICsNCj4gK01JU0NfU01CSU9TX1RB QkxFX0ZVTkNUSU9OKE1pc2NQcm9jZXNzb3JDYWNoZSkNCj4gK3sNCj4gKwlFRklfU01CSU9TX0hB TkRMRSAgICAgU21iaW9zSGFuZGxlOw0KPiArCVNNQklPU19UQUJMRV9UWVBFNyAgICAgICAgICAg ICpTbWJpb3NSZWNvcmRMMTsNCj4gKwlTTUJJT1NfVEFCTEVfVFlQRTcgICAgICAgICAgICAqU21i aW9zUmVjb3JkTDI7DQo+ICsNCj4gKwlFRklfQ0FDSEVfU1JBTV9UWVBFX0RBVEEgICAgICBDYWNo ZVNyYW1UeXBlOw0KPiArCUNIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgKlNvY2tldERl c2lnbmF0aW9uOw0KPiArCUNIQVI4ICAgICAgICAgICAgICAgICAgICAgICAgICAgKk9wdGlvbmFs U3RyU3RhcnQ7DQo+ICsJVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgICBTb2NrZXRTdHJM ZW47DQo+ICsJU1RSSU5HX1JFRiAgICAgICAgICAgICAgICAgICAgICBUb2tlblRvR2V0Ow0KPiAr CUVGSV9EQVRBX0hVQl9QUk9UT0NPTCAgICAgICAgICAgKkRhdGFIdWI7DQo+ICsJVUlOVDY0ICAg ICAgICAgICAgICAgICAgICAgICAgICBNb25vdG9uaWNDb3VudDsNCj4gKwlFRklfREFUQV9SRUNP UkRfSEVBREVSICAgICAgICAgICpSZWNvcmQ7DQo+ICsJRUZJX1NVQkNMQVNTX1RZUEUxX0hFQURF UiAgICAgICAqRGF0YUhlYWRlcjsNCj4gKwlVSU5UOCAgICAgICAgICAgICAgICAgICAgICAgICAg ICpTcmNEYXRhOw0KPiArCUVGSV9TVEFUVVMgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0K PiArDQo+ICsJLy8NCj4gKwkvLyBNZW1vcnkgRGV2aWNlIExPY2F0b3INCj4gKwkvLw0KPiArCURF QlVHICgoRUZJX0RfRVJST1IsICJ0eXBlIDdcbiIpKTsNCj4gKw0KPiArCVRva2VuVG9HZXQgPSBT VFJJTkdfVE9LRU4gKFNUUl9TT0NLRVRfREVTSUdOQVRJT04pOw0KPiArCVNvY2tldERlc2lnbmF0 aW9uID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsJU29ja2V0U3RyTGVu ID0gU3RyTGVuKFNvY2tldERlc2lnbmF0aW9uKTsNCj4gKwlpZiAoU29ja2V0U3RyTGVuID4gU01C SU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsJcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4g Kwl9DQo+ICsNCj4gKwlTbWJpb3NSZWNvcmRMMSA9IEFsbG9jYXRlUG9vbChzaXplb2YgKFNNQklP U19UQUJMRV9UWVBFNykgKyA3ICsNCj4gMSArIDEpOw0KPiArCUFTU0VSVCAoU21iaW9zUmVjb3Jk TDEgIT0gTlVMTCk7DQo+ICsJWmVyb01lbShTbWJpb3NSZWNvcmRMMSwgc2l6ZW9mIChTTUJJT1Nf VEFCTEVfVFlQRTcpICsgNyArIDEgKw0KPiAxKTsNCj4gKw0KPiArCVNtYmlvc1JlY29yZEwyID0g QWxsb2NhdGVQb29sKHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEU3KSArIDcgKw0KPiAxICsgMSk7 DQo+ICsJQVNTRVJUIChTbWJpb3NSZWNvcmRMMiAhPSBOVUxMKTsNCj4gKwlaZXJvTWVtKFNtYmlv c1JlY29yZEwyLCBzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFNykgKyA3ICsgMSArDQo+IDEpOw0K PiArDQo+ICsJLy8NCj4gKwkvLyBHZXQgdGhlIERhdGEgSHViIFByb3RvY29sLiBBc3N1bWUgb25s eSBvbmUgaW5zdGFuY2UNCj4gKwkvLw0KPiArCVN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wg KA0KPiArCSAgICAgICAgICAgICAgICAmZ0VmaURhdGFIdWJQcm90b2NvbEd1aWQsDQo+ICsJICAg ICAgICAgICAgICAgIE5VTEwsDQo+ICsJICAgICAgICAgICAgICAgIChWT0lEICoqKSZEYXRhSHVi DQo+ICsJICAgICAgICAgICAgICAgICk7DQo+ICsJQVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0K PiArDQo+ICsJTW9ub3RvbmljQ291bnQgPSAwOw0KPiArCVJlY29yZCA9IE5VTEw7DQo+ICsNCj4g KwlkbyB7DQo+ICsJU3RhdHVzID0gRGF0YUh1Yi0+R2V0TmV4dFJlY29yZCAoDQo+ICsJICAgICAg ICAgICAgICAgICAgICBEYXRhSHViLA0KPiArCSAgICAgICAgICAgICAgICAgICAgJk1vbm90b25p Y0NvdW50LA0KPiArCSAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKwkgICAgICAgICAgICAg ICAgICAgICZSZWNvcmQNCj4gKwkgICAgICAgICAgICAgICAgICAgICk7DQo+ICsJCWlmICghRUZJ X0VSUk9SKFN0YXR1cykpIHsNCj4gKwkJCWlmIChSZWNvcmQtPkRhdGFSZWNvcmRDbGFzcyA9PQ0K PiBFRklfREFUQV9SRUNPUkRfQ0xBU1NfREFUQSkgew0KPiArCQkJCURhdGFIZWFkZXIgID0NCj4g KEVGSV9TVUJDTEFTU19UWVBFMV9IRUFERVIgKikoUmVjb3JkICsgMSk7DQo+ICsJCQkJU3JjRGF0 YSAgICAgPSAoVUlOVDggICopKERhdGFIZWFkZXIgKyAxKTsNCj4gKwkJCQlpZiAoQ29tcGFyZUd1 aWQoJlJlY29yZC0+RGF0YVJlY29yZEd1aWQsDQo+ICZnRWZpQ2FjaGVTdWJDbGFzc0d1aWQpICYm IChEYXRhSGVhZGVyLT5SZWNvcmRUeXBlID09DQo+IENhY2hlU2l6ZVJlY29yZFR5cGUpKSB7DQo+ ICsgICAgICAgICAgCQkJaWYgKERhdGFIZWFkZXItPlN1Ykluc3RhbmNlID09IEVGSV9DQUNIRV9M MSkgew0KPiArCQkJCQkJU21iaW9zUmVjb3JkTDEtDQo+ID5JbnN0YWxsZWRTaXplICs9IChVSU5U MTYpIChDb252ZXJ0QmFzZTJUb1JhdygoRUZJX0VYUF9CQVNFMl9EQVRBDQo+ICopU3JjRGF0YSkg Pj4gMTApOw0KPiArCQkJCQkJU21iaW9zUmVjb3JkTDEtDQo+ID5NYXhpbXVtQ2FjaGVTaXplID0g U21iaW9zUmVjb3JkTDEtPkluc3RhbGxlZFNpemU7DQo+ICsgICAgICAgICAgCQkJfQ0KPiArICAg ICAgICAgCQkJIGVsc2UgaWYgKERhdGFIZWFkZXItPlN1Ykluc3RhbmNlID09IEVGSV9DQUNIRV9M MikNCj4gew0KPiArCQkJCQkJU21iaW9zUmVjb3JkTDItDQo+ID5JbnN0YWxsZWRTaXplICs9IChV SU5UMTYpIChDb252ZXJ0QmFzZTJUb1JhdygoRUZJX0VYUF9CQVNFMl9EQVRBDQo+ICopU3JjRGF0 YSkgPj4gMTApOw0KPiArCQkJCQkJU21iaW9zUmVjb3JkTDItDQo+ID5NYXhpbXVtQ2FjaGVTaXpl ID0gU21iaW9zUmVjb3JkTDItPkluc3RhbGxlZFNpemU7DQo+ICsgICAgICAgICAgCQkJfSBlbHNl IHsNCj4gKyAgICAgICAgICAgCQkJCSBjb250aW51ZTsNCj4gKyAgICAgICAgICAJCQl9DQo+ICsJ CSAgCQl9DQo+ICsJICAgICAgCX0NCj4gKyAgICAJfQ0KPiArCX0gd2hpbGUgKCFFRklfRVJST1Io U3RhdHVzKSAmJiAoTW9ub3RvbmljQ291bnQgIT0gMCkpOw0KPiArDQo+ICsJLy8NCj4gKwkvL0Zp bGxpbmcgU01CSU9TIHR5cGUgNyBpbmZvcm1hdGlvbiBmb3IgZGlmZmVyZW50IGNhY2hlIGxldmVs cy4NCj4gKwkvLw0KPiArDQo+ICsJU21iaW9zUmVjb3JkTDEtPkhkci5UeXBlID0NCj4gRUZJX1NN QklPU19UWVBFX0NBQ0hFX0lORk9STUFUSU9OOw0KPiArCVNtYmlvc1JlY29yZEwxLT5IZHIuTGVu Z3RoID0gKFVJTlQ4KSBzaXplb2YNCj4gKFNNQklPU19UQUJMRV9UWVBFNyk7DQo+ICsJU21iaW9z UmVjb3JkTDEtPkhkci5IYW5kbGUgPSAwOw0KPiArDQo+ICsJU21iaW9zUmVjb3JkTDEtPkFzc29j aWF0aXZpdHkgPSBDYWNoZUFzc29jaWF0aXZpdHk4V2F5Ow0KPiArCVNtYmlvc1JlY29yZEwxLT5T eXN0ZW1DYWNoZVR5cGUgPSBDYWNoZVR5cGVVbmtub3duOw0KPiArCVNtYmlvc1JlY29yZEwxLT5T b2NrZXREZXNpZ25hdGlvbiA9IDB4MDE7DQo+ICsJU21iaW9zUmVjb3JkTDEtPkNhY2hlU3BlZWQg PSAwOw0KPiArCVNtYmlvc1JlY29yZEwxLT5DYWNoZUNvbmZpZ3VyYXRpb24gPSAweDAxODA7DQo+ ICsJWmVyb01lbSAoJkNhY2hlU3JhbVR5cGUsIHNpemVvZg0KPiAoRUZJX0NBQ0hFX1NSQU1fVFlQ RV9EQVRBKSk7DQo+ICsJQ2FjaGVTcmFtVHlwZS5TeW5jaHJvbm91cyA9IDE7DQo+ICsJQ29weU1l bSgmU21iaW9zUmVjb3JkTDEtPlN1cHBvcnRlZFNSQU1UeXBlLA0KPiAmQ2FjaGVTcmFtVHlwZSwg Mik7DQo+ICsJQ29weU1lbSgmU21iaW9zUmVjb3JkTDEtPkN1cnJlbnRTUkFNVHlwZSwgJkNhY2hl U3JhbVR5cGUsDQo+IDIpOw0KPiArCVNtYmlvc1JlY29yZEwxLT5FcnJvckNvcnJlY3Rpb25UeXBl ID0gRWZpQ2FjaGVFcnJvclNpbmdsZUJpdDsNCj4gKw0KPiArDQo+ICsJU21iaW9zUmVjb3JkTDIt Pkhkci5UeXBlID0NCj4gRUZJX1NNQklPU19UWVBFX0NBQ0hFX0lORk9STUFUSU9OOw0KPiArCVNt Ymlvc1JlY29yZEwyLT5IZHIuTGVuZ3RoID0gKFVJTlQ4KSBzaXplb2YNCj4gKFNNQklPU19UQUJM RV9UWVBFNyk7DQo+ICsJU21iaW9zUmVjb3JkTDItPkhkci5IYW5kbGUgPSAwOw0KPiArDQo+ICsJ U21iaW9zUmVjb3JkTDItPkFzc29jaWF0aXZpdHkgPSBDYWNoZUFzc29jaWF0aXZpdHkxNldheTsN Cj4gKwlTbWJpb3NSZWNvcmRMMi0+U3lzdGVtQ2FjaGVUeXBlID0gQ2FjaGVUeXBlSW5zdHJ1Y3Rp b247DQo+ICsJU21iaW9zUmVjb3JkTDItPlNvY2tldERlc2lnbmF0aW9uID0gMHgwMTsNCj4gKwlT bWJpb3NSZWNvcmRMMi0+Q2FjaGVTcGVlZCA9IDA7DQo+ICsJU21iaW9zUmVjb3JkTDItPkNhY2hl Q29uZmlndXJhdGlvbiA9IDB4MDI4MTsNCj4gKwlaZXJvTWVtICgmQ2FjaGVTcmFtVHlwZSwgc2l6 ZW9mDQo+IChFRklfQ0FDSEVfU1JBTV9UWVBFX0RBVEEpKTsNCj4gKwlDYWNoZVNyYW1UeXBlLlN5 bmNocm9ub3VzID0gMTsNCj4gKwlDb3B5TWVtKCZTbWJpb3NSZWNvcmRMMi0+U3VwcG9ydGVkU1JB TVR5cGUsDQo+ICZDYWNoZVNyYW1UeXBlLCAyKTsNCj4gKwlDb3B5TWVtKCZTbWJpb3NSZWNvcmRM Mi0+Q3VycmVudFNSQU1UeXBlLCAmQ2FjaGVTcmFtVHlwZSwNCj4gMik7DQo+ICsJU21iaW9zUmVj b3JkTDItPkVycm9yQ29ycmVjdGlvblR5cGUgPSBFZmlDYWNoZUVycm9yU2luZ2xlQml0Ow0KPiAr DQo+ICsNCj4gKw0KPiArCS8vDQo+ICsJLy9BZGRpbmcgU01CSU9TIHR5cGUgNyByZWNvcmRzIHRv IFNNQklPUyB0YWJsZS4NCj4gKwkvLw0KPiArCVNtYmlvc0hhbmRsZSA9IFNNQklPU19IQU5ETEVf UElfUkVTRVJWRUQ7DQo+ICsJT3B0aW9uYWxTdHJTdGFydCA9IChDSEFSOCAqKShTbWJpb3NSZWNv cmRMMSArIDEpOw0KPiArCVVuaWNvZGVTdHJUb0FzY2lpU3RyKFNvY2tldERlc2lnbmF0aW9uLCBP cHRpb25hbFN0clN0YXJ0KTsNCj4gKw0KPiArCVNtYmlvcy0+IEFkZCgNCj4gKwkgICAgICAgICAg IFNtYmlvcywNCj4gKwkgICAgICAgICAgIE5VTEwsDQo+ICsJICAgICAgICAgICAmU21iaW9zSGFu ZGxlLA0KPiArCSAgICAgICAgICAgKEVGSV9TTUJJT1NfVEFCTEVfSEVBREVSICopIFNtYmlvc1Jl Y29yZEwxDQo+ICsJICAgICAgICAgICApOw0KPiArDQo+ICsJLy8NCj4gKwkvL1ZMVjIgaW5jb3Jw b3JhdGVzIHR3byBTTE0gbW9kdWxlcyAocXVhZCBjb3JlcykgaW4gdGhlIFNvQy4gMg0KPiBjb3Jl cyBzaGFyZSBCSVUvTDIgY2FjaGUNCj4gKwkvLw0KPiArCVNtYmlvc1JlY29yZEwyLT5JbnN0YWxs ZWRTaXplID0gKFNtYmlvc1JlY29yZEwyLT5JbnN0YWxsZWRTaXplKS8yOw0KPiArCVNtYmlvc1Jl Y29yZEwyLT5NYXhpbXVtQ2FjaGVTaXplID0gU21iaW9zUmVjb3JkTDItDQo+ID5JbnN0YWxsZWRT aXplOw0KPiArCVNtYmlvc0hhbmRsZSA9IFNNQklPU19IQU5ETEVfUElfUkVTRVJWRUQ7DQo+ICsN Cj4gKwlPcHRpb25hbFN0clN0YXJ0ID0gKENIQVI4ICopKFNtYmlvc1JlY29yZEwyICsgMSk7DQo+ ICsJVW5pY29kZVN0clRvQXNjaWlTdHIoU29ja2V0RGVzaWduYXRpb24sIE9wdGlvbmFsU3RyU3Rh cnQpOw0KPiArDQo+ICsJU21iaW9zLT4gQWRkKA0KPiArCSAgICAgICAgICAgU21iaW9zLA0KPiAr CSAgICAgICAgICAgTlVMTCwNCj4gKwkgICAgICAgICAgICZTbWJpb3NIYW5kbGUsDQo+ICsJICAg ICAgICAgICAoRUZJX1NNQklPU19UQUJMRV9IRUFERVIgKikgU21iaW9zUmVjb3JkTDINCj4gKwkg ICAgICAgICAgICk7DQo+ICsNCj4gKwlyZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+IGRpZmYg LS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhl L01pc2NQcm9jZXNzb3JJbmZvcm1hdA0KPiBpb24udW5pDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29ySW5mb3JtYXQNCj4gaW9u LnVuaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yZTZjNzkw MDliDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29ySW5mb3JtYXQNCj4gaW9uLnVuaQ0K PiBAQCAtMCwwICsxLDI3IEBADQo+ICsvLyAqKysNCj4gKy8vDQo+ICsvLyBDb3B5cmlnaHQgKGMp IDIwMTIgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiAr Ly8NCj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ICsvLyAgIE1pc2NQcm9jZXNz b3JJbmZvcm1hdGlvbi51bmkNCj4gKy8vDQo+ICsvLyBBYnN0cmFjdDoNCj4gKy8vDQo+ICsvLw0K PiArLy8gUmV2aXNpb24gSGlzdG9yeToNCj4gKy8vDQo+ICsvLyAtLSovDQo+ICsNCj4gKw0KPiAr Lz0jDQo+ICsjbGFuZ2RlZiAgIGVuLVVTICJFbmdsaXNoIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9N SVNDX1NPQ0tFVF9OQU1FICAgICAgICAgICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlZMViINCj4g KyNzdHJpbmcgU1RSX01JU0NfUFJPQ0VTU09SX01BVUZBQ1RVUkVSICAgICAgI2xhbmd1YWdlIGVu LVVTICAiSW50ZWwiDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1BST0NFU1NPUl9WRVJTSU9OICAgICAg ICAgICNsYW5ndWFnZSBlbi1VUyAgIkJheXRyYWlsDQo+IEEwIg0KPiArI3N0cmluZyBTVFJfTUlT Q19QUk9DRVNTT1JfU0VSSUFMX05VTUJFUiAgICAjbGFuZ3VhZ2UgZW4tVVMgICIgIg0KPiArI3N0 cmluZyBTVFJfTUlTQ19BU1NFUlRfVEFHX0RBVEEgICAgICAgICAgICAjbGFuZ3VhZ2UgZW4tVVMg ICIgIg0KPiArI3N0cmluZyBTVFJfTUlTQ19QQVJUX05VTUJFUiAgICAgICAgICAgICAgICAjbGFu Z3VhZ2UgZW4tVVMgICIgIg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUHJvY2Vzc29ySW5mb3JtYXQNCj4gaW9uRGF0 YS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjUHJvY2Vzc29ySW5mb3JtYXQNCj4gaW9uRGF0YS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjg0NmU5ZWM4MzgNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQ cm9jZXNzb3JJbmZvcm1hdA0KPiBpb25EYXRhLmMNCj4gQEAgLTAsMCArMSw3MSBAQA0KPiArLyor Kw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDYgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24u IEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRl bnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiAr TW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY09uYm9hcmREZXZpY2VEYXRhLmMNCj4gKw0KPiAr QWJzdHJhY3Q6DQo+ICsNCj4gKyAgVGhpcyBkcml2ZXIgcGFyc2VzIHRoZSBtTWlzY1N1YmNsYXNz RGF0YVRhYmxlIHN0cnVjdHVyZSBhbmQgcmVwb3J0cw0KPiArICBhbnkgZ2VuZXJhdGVkIGRhdGEg dG8gc21iaW9zLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhl YWRlci5oIg0KPiArDQo+ICsjaW5jbHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4g Kw0KPiArLyoNCj4gKyAgRUZJX1BST0NFU1NPUl9DT1JFX0ZSRVFVRU5DWV9MSVNUX0RBVEENCj4g UHJvY2Vzc29yQ29yZUZyZXF1ZW5jeUxpc3Q7DQo+ICsgIEVGSV9QUk9DRVNTT1JfRlNCX0ZSRVFV RU5DWV9MSVNUX0RBVEENCj4gUHJvY2Vzc29yRnNiRnJlcXVlbmN5TGlzdDsNCj4gKyAgRUZJX1BS T0NFU1NPUl9TRVJJQUxfTlVNQkVSX0RBVEEgICAgICAgIFByb2Nlc3NvclNlcmlhbE51bWJlcjsN Cj4gKyAgRUZJX1BST0NFU1NPUl9DT1JFX0ZSRVFVRU5DWV9EQVRBICAgICAgIFByb2Nlc3NvckNv cmVGcmVxdWVuY3k7DQo+ICsgIEVGSV9QUk9DRVNTT1JfRlNCX0ZSRVFVRU5DWV9EQVRBICAgICAg ICBQcm9jZXNzb3JGc2JGcmVxdWVuY3k7DQo+ICsgIEVGSV9QUk9DRVNTT1JfTUFYX0NPUkVfRlJF UVVFTkNZX0RBVEENCj4gUHJvY2Vzc29yTWF4Q29yZUZyZXF1ZW5jeTsNCj4gKyAgRUZJX1BST0NF U1NPUl9NQVhfRlNCX0ZSRVFVRU5DWV9EQVRBDQo+IFByb2Nlc3Nvck1heEZzYkZyZXF1ZW5jeTsN Cj4gKyAgRUZJX1BST0NFU1NPUl9WRVJTSU9OX0RBVEEgICAgICAgICAgICAgIFByb2Nlc3NvclZl cnNpb247DQo+ICsgIEVGSV9QUk9DRVNTT1JfTUFOVUZBQ1RVUkVSX0RBVEEgICAgICAgICBQcm9j ZXNzb3JNYW51ZmFjdHVyZXI7DQo+ICsgIEVGSV9QUk9DRVNTT1JfSURfREFUQSAgICAgICAgICAg ICAgICAgICBQcm9jZXNzb3JJZDsNCj4gKyAgRUZJX1BST0NFU1NPUl9UWVBFX0RBVEEgICAgICAg ICAgICAgICAgIFByb2Nlc3NvclR5cGU7DQo+ICsgIEVGSV9QUk9DRVNTT1JfRkFNSUxZX0RBVEEg ICAgICAgICAgICAgICBQcm9jZXNzb3JGYW1pbHk7DQo+ICsgIEVGSV9QUk9DRVNTT1JfVk9MVEFH RV9EQVRBICAgICAgICAgICAgICBQcm9jZXNzb3JWb2x0YWdlOw0KPiArICBFRklfUFJPQ0VTU09S X0FQSUNfQkFTRV9BRERSRVNTX0RBVEEgICAgUHJvY2Vzc29yQXBpY0Jhc2U7DQo+ICsgIEVGSV9Q Uk9DRVNTT1JfQVBJQ19JRF9EQVRBICAgICAgICAgICAgICBQcm9jZXNzb3JBcGljSWQ7DQo+ICsg IEVGSV9QUk9DRVNTT1JfQVBJQ19WRVJTSU9OX05VTUJFUl9EQVRBDQo+IFByb2Nlc3NvckFwaWNW ZXJzaW9uTnVtYmVyOw0KPiArICBFRklfUFJPQ0VTU09SX01JQ1JPQ09ERV9SRVZJU0lPTl9EQVRB ICAgQ3B1VWNvZGVSZXZpc2lvbkRhdGE7DQo+ICsgIEVGSV9QUk9DRVNTT1JfU1RBVFVTX0RBVEEg ICAgICAgICAgICAgICBQcm9jZXNzb3JTdGF0dXM7DQo+ICsgIEVGSV9QUk9DRVNTT1JfU09DS0VU X1RZUEVfREFUQSAgICAgICAgICBQcm9jZXNzb3JTb2NrZXRUeXBlOw0KPiArICBFRklfUFJPQ0VT U09SX1NPQ0tFVF9OQU1FX0RBVEEgICAgICAgICAgUHJvY2Vzc29yU29ja2V0TmFtZTsNCj4gKyAg RUZJX1BST0NFU1NPUl9BU1NFVF9UQUdfREFUQSAgICAgICAgICAgIFByb2Nlc3NvckFzc2V0VGFn Ow0KPiArICBFRklfUFJPQ0VTU09SX0hFQUxUSF9TVEFUVVMgICAgICAgICAgICAgUHJvY2Vzc29y SGVhbHRoU3RhdHVzOw0KPiArICBFRklfUFJPQ0VTU09SX1BBQ0tBR0VfTlVNQkVSX0RBVEEgICAg ICAgUHJvY2Vzc29yUGFja2FnZU51bWJlcjsNCj4gK30gRUZJX0NQVV9WQVJJQUJMRV9SRUNPUkQ7 DQo+ICsqLw0KPiArDQo+ICsNCj4gKy8vIFN0YXRpYyAocG9zc2libHkgYnVpbGQgZ2VuZXJhdGVk KSBCaW9zIFZlbmRvciBkYXRhLg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJ X0NQVV9EQVRBX1JFQ09SRCwNCj4gTWlzY1Byb2Nlc3NvckluZm9ybWF0aW9uKSA9IHsNCj4gKw0K PiArMCwNCj4gKyAgICAvKg0KPiArICAgIFNUUklOR19UT0tFTiAoU1RSX01JU0NfU09DS0VUX05B TUUpLAkJICAgICAgICAgICAgLy8NCj4gUHJvY2Vzc29yIFNvY2tldCBOYW1lDQo+ICsgICAgU1RS SU5HX1RPS0VOIChTVFJfTUlTQ19QUk9DRVNTT1JfTUFVRkFDVFVSRVIpLAkJICAgIC8vDQo+IFBy b2Nlc3NvciBNYW51ZmFjdHVyZXINCj4gKyAgICBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1BST0NF U1NPUl9WRVJTSU9OKSwJCSAgICAgICAgLy8NCj4gUHJvY2Vzc29yIFZlcnNpb24gSW5mb3JtYXRp b24NCj4gKwlTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1BST0NFU1NPUl9TRVJJQUxfTlVNQkVSKSwg ICAgICAgIC8vDQo+IFNlcmlhbCBOdW1iZXINCj4gKwlTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX0FT U0VSVF9UQUdfREFUQSksCSAgICAgICAgICAgIC8vDQo+IFByb2Nlc3NvciBBc3NlcnQgVEFnIERh dGENCj4gKyAgICBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1BBUlRfTlVNQkVSKQkgICAgICAgICAg ICAgICAgICAgIC8vDQo+IFByb2Nlc3NvciBQYXJ0IE51bWJlDQo+ICsqLw0KPiArfTsNCj4gKw0K PiArDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL1NtQmlvc01pc2NEeGUvTWlzY1Byb2Nlc3NvckluZm9ybWF0DQo+IGlvbkZ1bmN0aW9uLmMN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQ cm9jZXNzb3JJbmZvcm1hdA0KPiBpb25GdW5jdGlvbi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLmUwMTY5M2VkZTcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NQ cm9jZXNzb3JJbmZvcm1hdA0KPiBpb25GdW5jdGlvbi5jDQo+IEBAIC0wLDAgKzEsNDQ4IEBADQo+ ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwNiAgLSAyMDE0LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiAr DQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjUHJvY2Vzc29ySW5mb3JtYXRpb25GdW5j dGlvbi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIE9uYm9hcmQgcHJvY2Vzc29yIGlu Zm9ybWF0aW9uIGJvb3QgdGltZSBjaGFuZ2VzLg0KPiArICBTTUJJT1MgdHlwZSA0Lg0KPiArDQo+ ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCINCj4gKw0KPiArI2luY2x1 ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArDQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvTXBT ZXJ2aWNlLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvRGF0YUh1Yi5oPg0KPiArI2luY2x1ZGUg PEd1aWQvRGF0YUh1YlJlY29yZHMuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0NwdUlBMzIuaD4N Cj4gKw0KPiArI2RlZmluZSBFZmlQcm9jZXNzb3JGYW1pbHlJbnRlbEF0b21Qcm9jZXNzb3IgICAg MHgyQg0KPiArDQo+ICtFRklfR1VJRCAgICAgICAgICAgICAgICAgICAgICAgIG1Qcm9jZXNzb3JQ cm9kdWNlckd1aWQ7DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEdldCBjYWNoZSBTTUJJT1MgcmVj b3JkIGhhbmRsZS4NCj4gKw0KPiArICBAcGFyYW0gIFNtYmlvcyAgICAgICAgUG9pbnRlciB0byBT TUJJT1MgcHJvdG9jb2wgaW5zdGFuY2UuDQo+ICsgIEBwYXJhbSAgQ2FjaGVMZXZlbCAgICBMZXZl bCBvZiBjYWNoZSwgc3RhcnRpbmcgZnJvbSBvbmUuDQo+ICsgIEBwYXJhbSAgSGFuZGxlICAgICAg ICBSZXR1cm5lZCByZWNvcmQgaGFuZGxlLg0KPiArDQo+ICsqKi8NCj4gKw0KPiArVk9JRA0KPiAr R2V0Q2FjaGVIYW5kbGUgKA0KPiArICBJTiAgRUZJX1NNQklPU19QUk9UT0NPTCAgICAgICpTbWJp b3MsDQo+ICsgIElOICBVSU5UOCAgICAgICAgICAgICAgICAgICAgQ2FjaGVMZXZlbCwNCj4gKyAg T1VUICBFRklfU01CSU9TX0hBTkRMRSAgICAgICAqSGFuZGxlDQo+ICsgICkNCj4gK3sNCj4gKyAg VUlOVDE2ICAgICAgICAgICAgICAgICAgICAgQ2FjaGVDb25maWc7DQo+ICsgIEVGSV9TVEFUVVMg ICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1NNQklPU19UWVBFICAgICAgICAgICAg UmVjb3JkVHlwZTsNCj4gKyAgRUZJX1NNQklPU19UQUJMRV9IRUFERVIgICAgKkJ1ZmZlcjsNCj4g Kw0KPiArICAqSGFuZGxlID0gMDsNCj4gKyAgUmVjb3JkVHlwZSA9IEVGSV9TTUJJT1NfVFlQRV9D QUNIRV9JTkZPUk1BVElPTjsNCj4gKw0KPiArICBkbyB7DQo+ICsgICAgU3RhdHVzID0gU21iaW9z LT5HZXROZXh0ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgU21iaW9zLA0KPiArICAgICAg ICAgICAgICAgICAgICAgICBIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICZSZWNv cmRUeXBlLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAmQnVmZmVyLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAg aWYgKCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgICAgQ2FjaGVDb25maWcgPSAqKFVJTlQx NiopKChVSU5UOCopQnVmZmVyICsgNSk7DQo+ICsgICAgICBpZiAoKENhY2hlQ29uZmlnICYgMHg3 KSA9PSAoQ2FjaGVMZXZlbCAtMSkgKSB7DQo+ICsgICAgICAgIHJldHVybjsNCj4gKyAgICAgIH0N Cj4gKyAgICB9DQo+ICsgIH0gd2hpbGUgKCFFRklfRVJST1IoU3RhdHVzKSk7DQo+ICsNCj4gKyAg KkhhbmRsZSA9IDB4RkZGRjsNCj4gK30NCj4gKw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5j dGlvbiBtYWtlcyBib290IHRpbWUgY2hhbmdlcyB0byB0aGUgY29udGVudHMgb2YgdGhlDQo+ICsg IE1pc2NQcm9jZXNzb3JJbmZvcm1hdGlvbiAoVHlwZSA0KS4NCj4gKw0KPiArICBAcGFyYW0gIFJl Y29yZERhdGEgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gY29weSBvZiBSZWNvcmREYXRhIGZy b20gdGhlIERhdGENCj4gVGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICAg ICAgICAgICAgICBBbGwgcGFyYW1ldGVycyB3ZXJlIHZhbGlkLg0KPiArICBAcmV0dmFsIEVGSV9V TlNVUFBPUlRFRCAgICAgICAgICAgIFVuZXhwZWN0ZWQgUmVjb3JkVHlwZSB2YWx1ZS4NCj4gKyAg QHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICBJbnZhbGlkIHBhcmFtZXRlciB3YXMg Zm91bmQuDQo+ICsNCj4gKyoqLw0KPiArVUlOVDMyDQo+ICtDb252ZXJ0QmFzZTEwVG9SYXcgKA0K PiArICBJTiAgRUZJX0VYUF9CQVNFMTBfREFUQSAgICAgICAgICAgICAqRGF0YSkNCj4gK3sNCj4g KyAgVUlOVE4gICAgICAgICBJbmRleDsNCj4gKyAgVUlOVDMyICAgICAgICBSYXdEYXRhOw0KPiAr DQo+ICsgIFJhd0RhdGEgPSBEYXRhLT5WYWx1ZTsNCj4gKyAgZm9yIChJbmRleCA9IDA7IEluZGV4 IDwgKFVJTlROKSBEYXRhLT5FeHBvbmVudDsgSW5kZXgrKykgew0KPiArICAgICBSYXdEYXRhICo9 IDEwOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuICBSYXdEYXRhOw0KPiArfQ0KPiArDQo+ICsj ZGVmaW5lIEJTRUxfQ1JfT1ZFUkNMT0NLX0NPTlRST0wJMHhDRA0KPiArI2RlZmluZQlGVVNFX0JT RUxfTUFTSwkJCQkweDAzDQo+ICsNCj4gKw0KPiArDQo+ICtVSU5UMTYgbWlGU0JGcmVxdWVuY3lU YWJsZVs0XSA9IHsNCj4gKyAgODMsICAgICAgICAgIAkvLyA4My4zTUh6DQo+ICsgIDEwMCwgICAg ICAgICAgLy8gMTAwTUh6DQo+ICsgIDEzMywgICAgICAgICAgLy8gMTMzTUh6DQo+ICsgIDExNyAg ICAgICAgICAgLy8gMTE2LjdNSHoNCj4gK307DQo+ICsNCj4gKy8qKg0KPiArICBEZXRlcm1pbmUg dGhlIHByb2Nlc3NvciBjb3JlIGZyZXF1ZW5jeQ0KPiArDQo+ICsgIEBwYXJhbSBOb25lDQo+ICsN Cj4gKyAgQHJldHZhbCBQcm9jZXNzb3IgY29yZSBmcmVxdWVuY3kgbXVsdGlwbGllZCBieSAzDQo+ ICsNCj4gKw0KPiArKiovDQo+ICtVSU5UMTYNCj4gK0RldGVybWluZWlGc2JGcm9tTXNyICgNCj4g KyAgVk9JRA0KPiArICApDQo+ICt7DQo+ICsgIC8vDQo+ICsgIC8vIERldGVybWluZSB0aGUgcHJv Y2Vzc29yIGNvcmUgZnJlcXVlbmN5DQo+ICsgIC8vDQo+ICsgIFVJTlQ2NAlUZW1wOw0KPiArICBU ZW1wID0gKEVmaVJlYWRNc3IgKEJTRUxfQ1JfT1ZFUkNMT0NLX0NPTlRST0wpKSAmDQo+IEZVU0Vf QlNFTF9NQVNLOw0KPiArICByZXR1cm4gbWlGU0JGcmVxdWVuY3lUYWJsZVsoVUlOVDMyKShUZW1w KV07DQo+ICsNCj4gK30NCj4gKw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRlVOQ1RJT04gKE1pc2NQ cm9jZXNzb3JJbmZvcm1hdGlvbikNCj4gK3sNCj4gKyAgICBDSEFSOCAgICAgICAgICAgICAgICAg ICAgICAgICAgICpPcHRpb25hbFN0clN0YXJ0Ow0KPiArICAgIEVGSV9TVFJJTkcgICAgICAgICAg ICAgICAgICAgICAgU2VyaWFsTnVtYmVyOw0KPiArICAgIENIQVIxNiAgICAgICAgICAgICAgICAg ICAgICAgICAgKlZlcnNpb249TlVMTDsNCj4gKyAgICBDSEFSMTYgICAgICAgICAgICAgICAgICAg ICAgICAgICpNYW51ZmFjdHVyZXI9TlVMTDsNCj4gKyAgICBDSEFSMTYgICAgICAgICAgICAgICAg ICAgICAgICAgICpTb2NrZXQ9TlVMTDsNCj4gKyAgICBDSEFSMTYgICAgICAgICAgICAgICAgICAg ICAgICAgICpBc3NldFRhZz1OVUxMOw0KPiArICAgIENIQVIxNiAgICAgICAgICAgICAgICAgICAg ICAgICAgKlBhcnROdW1iZXI9TlVMTDsNCj4gKyAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgIFNlcmlhbE51bWJlclN0ckxlbj0wOw0KPiArICAgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgVmVyc2lvblN0ckxlbj0wOw0KPiArICAgIFVJTlROICAgICAgICAgICAgICAg ICAgICAgICAgICAgTWFudWZhY3R1cmVyU3RyTGVuPTA7DQo+ICsgICAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgICBTb2NrZXRTdHJMZW49MDsNCj4gKyAgICBVSU5UTiAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFzc2V0VGFnU3RyTGVuPTA7DQo+ICsgICAgVUlOVE4gICAgICAgICAg ICAgICAgICAgICAgICAgICBQYXJ0TnVtYmVyU3RyTGVuPTA7DQo+ICsgICAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgICBQcm9jZXNzb3JWb2x0YWdlPTB4QUU7DQo+ICsgICAgVUlOVDMy ICAgICAgICAgICAgICAgICAgICAgICAgICBFYXgwMTsNCj4gKyAgICBVSU5UMzIgICAgICAgICAg ICAgICAgICAgICAgICAgIEVieDAxOw0KPiArICAgIFVJTlQzMiAgICAgICAgICAgICAgICAgICAg ICAgICAgRWN4MDE7DQo+ICsgICAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICBFZHgw MTsNCj4gKyAgICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgICAgICAgIFRva2VuVG9HZXQ7DQo+ ICsgICAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgICAgRUZJ X1NNQklPU19IQU5ETEUgICAgICAgICAgICAgICBTbWJpb3NIYW5kbGU7DQo+ICsgICAgU01CSU9T X1RBQkxFX1RZUEU0ICAgICAgICAgICAgICAqU21iaW9zUmVjb3JkOw0KPiArICAgIEVGSV9DUFVf REFUQV9SRUNPUkQgICAgICAgICAgICAgKkZvclR5cGU0SW5wdXREYXRhOw0KPiArICAgIFVJTlQx NiAgICAgICAgICAgICAgICAgICAgICAgICAgTDFDYWNoZUhhbmRsZT0wOw0KPiArICAgIFVJTlQx NiAgICAgICAgICAgICAgICAgICAgICAgICAgTDJDYWNoZUhhbmRsZT0wOw0KPiArICAgIFVJTlQx NiAgICAgICAgICAgICAgICAgICAgICAgICAgTDNDYWNoZUhhbmRsZT0wOw0KPiArICAgIFVJTlRO ICAgICAgICAgICAgICAgICAgICAgICAgICAgTnVtYmVyT2ZFbmFibGVkUHJvY2Vzc29ycz0wIDsN Cj4gKyAgICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgIE51bWJlck9mUHJvY2Vzc29y cz0wOw0KPiArICAgIFVJTlQ2NCAgICAgICAgICAgICAgICAgICAgICAgICAgRnJlcXVlbmN5ID0g MDsNCj4gKyAgICBFRklfTVBfU0VSVklDRVNfUFJPVE9DT0wgICAgICAgICpNcFNlcnZpY2U7DQo+ ICsgICAgRUZJX0RBVEFfSFVCX1BST1RPQ09MICAgICAgICAgICAqRGF0YUh1YjsNCj4gKyAgICBV SU5UNjQgICAgICAgICAgICAgICAgICAgICAgICAgIE1vbm90b25pY0NvdW50Ow0KPiArICAgIEVG SV9EQVRBX1JFQ09SRF9IRUFERVIgICAgICAgICAgKlJlY29yZDsNCj4gKyAgICBFRklfU1VCQ0xB U1NfVFlQRTFfSEVBREVSICAgICAgICpEYXRhSGVhZGVyOw0KPiArICAgIFVJTlQ4ICAgICAgICAg ICAgICAgICAgICAgICAgICAgKlNyY0RhdGE7DQo+ICsgICAgRUZJX1BST0NFU1NPUl9WRVJTSU9O X0RBVEEgICAgICAqUHJvY2Vzc29yVmVyc2lvbjsNCj4gKyAgICBDSEFSMTYgICAgICAgICAgICAg ICAgICAgICAgICAgICpOZXdTdHJpbmdUb2tlbjsNCj4gKyAgICBTVFJJTkdfUkVGICAgICAgICAg ICAgICAgICAgICAgIFRva2VuVG9VcGRhdGU7DQo+ICsgICAgUFJPQ0VTU09SX0lEX0RBVEEgICAg ICAgICAgICAgICAqUHJvY2Vzc29ySWQgPSBOVUxMOw0KPiArDQo+ICsNCj4gKyAgICAvLw0KPiAr ICAgIC8vIEZpcnN0IGNoZWNrIGZvciBpbnZhbGlkIHBhcmFtZXRlcnMuDQo+ICsgICAgLy8NCj4g KyAgICBpZiAoUmVjb3JkRGF0YSA9PSBOVUxMKSB7DQo+ICsgICAgICAgIHJldHVybiBFRklfSU5W QUxJRF9QQVJBTUVURVI7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgRm9yVHlwZTRJbnB1dERhdGEg PSAoRUZJX0NQVV9EQVRBX1JFQ09SRCAqKVJlY29yZERhdGE7DQo+ICsNCj4gKyAgICBQcm9jZXNz b3JJZCA9IEFsbG9jYXRlWmVyb1Bvb2woc2l6ZW9mKFBST0NFU1NPUl9JRF9EQVRBKSk7DQo+ICsg ICAgaWYgKFByb2Nlc3NvcklkID09IE5VTEwpIHsNCj4gKyAgICAgIHJldHVybiBFRklfSU5WQUxJ RF9QQVJBTUVURVI7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBHZXQgdGhl IERhdGEgSHViIFByb3RvY29sLiBBc3N1bWUgb25seSBvbmUgaW5zdGFuY2UNCj4gKyAgICAvLw0K PiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAg ICAgICAmZ0VmaURhdGFIdWJQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIE5V TEwsDQo+ICsgICAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZEYXRhSHViDQo+ICsgICAgICAg ICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9FUlJPUihTdGF0dXMpOw0KPiArDQo+ ICsgICAgTW9ub3RvbmljQ291bnQgPSAwOw0KPiArICAgIFJlY29yZCA9IE5VTEw7DQo+ICsNCj4g KyAgICBkbyB7DQo+ICsgICAgICBTdGF0dXMgPSBEYXRhSHViLT5HZXROZXh0UmVjb3JkICgNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgRGF0YUh1YiwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgJk1vbm90b25pY0NvdW50LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICBO VUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAmUmVjb3JkDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICAgaWYgKCFFRklfRVJST1IoU3RhdHVzKSkgew0K PiArICAgICAgICAgaWYgKFJlY29yZC0+RGF0YVJlY29yZENsYXNzID09IEVGSV9EQVRBX1JFQ09S RF9DTEFTU19EQVRBKSB7DQo+ICsNCj4gKyAgICAgICAgICAgIERhdGFIZWFkZXIgID0gKEVGSV9T VUJDTEFTU19UWVBFMV9IRUFERVIgKikoUmVjb3JkICsgMSk7DQo+ICsgICAgICAgICAgICBTcmNE YXRhICAgICA9IChVSU5UOCAgKikoRGF0YUhlYWRlciArIDEpOw0KPiArDQo+ICsgICAgICAgICAg ICAvLw0KPiArICAgICAgICAgICAgLy8gUHJvY2Vzc29yDQo+ICsgICAgICAgICAgICAvLw0KPiAr ICAgICAgICAgICAgaWYgKENvbXBhcmVHdWlkKCZSZWNvcmQtPkRhdGFSZWNvcmRHdWlkLA0KPiAm Z0VmaVByb2Nlc3NvclN1YkNsYXNzR3VpZCkpIHsNCj4gKyAgICAgICAgICAgICAgQ29weU1lbSAo Jm1Qcm9jZXNzb3JQcm9kdWNlckd1aWQsICZSZWNvcmQtPlByb2R1Y2VyTmFtZSwNCj4gc2l6ZW9m KEVGSV9HVUlEKSk7DQo+ICsgICAgICAgICAgICAgIHN3aXRjaCAoRGF0YUhlYWRlci0+UmVjb3Jk VHlwZSkgew0KPiArICAgICAgICAgICAgICAgIGNhc2UgUHJvY2Vzc29yVm9sdGFnZVJlY29yZFR5 cGU6DQo+ICsgICAgICAgICAgICAgICAgICBQcm9jZXNzb3JWb2x0YWdlID0gKCgoRUZJX0VYUF9C QVNFMTBfREFUQSAqKVNyY0RhdGEpLQ0KPiA+VmFsdWUpLzEwMCArIDB4ODA7DQo+ICsgICAgICAg ICAgICAgICAgICBicmVhazsNCj4gKyAgICAgICAgICAgICAgICBjYXNlIFByb2Nlc3NvckNvcmVG cmVxdWVuY3lSZWNvcmRUeXBlOg0KPiArICAgICAgICAgICAgICAgICAgREVCVUcgKChFRklfRF9F UlJPUiwgIlByb2Nlc3NvckNvcmVGcmVxdWVuY3lSZWNvcmRUeXBlDQo+IFNyY0RhdGExID0lZFxu IiwgQ29udmVydEJhc2UxMFRvUmF3KChFRklfRVhQX0JBU0UxMF9EQVRBDQo+ICopU3JjRGF0YSkv MTAwMDAwMCkpOw0KPiArICAgICAgICAgICAgICAgICAgRnJlcXVlbmN5ID0gKENvbnZlcnRCYXNl MTBUb1JhdygoRUZJX0VYUF9CQVNFMTBfREFUQQ0KPiAqKVNyY0RhdGEpLzEwMDAwMDApOw0KPiAr ICAgICAgICAgICAgICAgICAgYnJlYWs7DQo+ICsgICAgICAgICAgICAgICAgY2FzZSBQcm9jZXNz b3JWZXJzaW9uUmVjb3JkVHlwZToNCj4gKyAgICAgICAgICAgICAgICAgIFByb2Nlc3NvclZlcnNp b24gPSAoRUZJX1BST0NFU1NPUl9WRVJTSU9OX0RBVEEgKilTcmNEYXRhOw0KPiArICAgICAgICAg ICAgICAgICAgTmV3U3RyaW5nVG9rZW4gPQ0KPiBIaWlHZXRQYWNrYWdlU3RyaW5nKCZtUHJvY2Vz c29yUHJvZHVjZXJHdWlkLCAqUHJvY2Vzc29yVmVyc2lvbiwgTlVMTCk7DQo+ICsgICAgICAgICAg ICAgICAgICBUb2tlblRvVXBkYXRlID0gKFNUUklOR19SRUYpU1RSX01JU0NfUFJPQ0VTU09SX1ZF UlNJT047DQo+ICsgICAgICAgICAgICAgICAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSwgVG9r ZW5Ub1VwZGF0ZSwgTmV3U3RyaW5nVG9rZW4sIE5VTEwpOw0KPiArICAgICAgICAgICAgICAgICAg YnJlYWs7DQo+ICsgICAgICAgICAgICAgICAgZGVmYXVsdDoNCj4gKyAgICAgICAgICAgICAgICAg IGJyZWFrOw0KPiArICAgICAgICAgICAgICB9DQo+ICsgICAgICAgICAgICB9DQo+ICsgICAgICAg ICAgfQ0KPiArICAgICAgICB9DQo+ICsgICAgfSB3aGlsZSAoIUVGSV9FUlJPUihTdGF0dXMpICYm IChNb25vdG9uaWNDb3VudCAhPSAwKSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRva2Vu IHRvIGdldCBmb3IgU29ja2V0IE5hbWUNCj4gKyAgICAvLw0KPiArICAgIFRva2VuVG9HZXQgPSBT VFJJTkdfVE9LRU4gKFNUUl9NSVNDX1NPQ0tFVF9OQU1FKTsNCj4gKyAgICBTb2NrZXQgPSBTbWJp b3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgICBTb2NrZXRTdHJMZW4gPSBTdHJM ZW4oU29ja2V0KTsNCj4gKyAgICBpZiAoU29ja2V0U3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhf TEVOR1RIKSB7DQo+ICsgICAgICAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICAgIH0N Cj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gVG9rZW4gdG8gZ2V0IGZvciBQcm9jZXNzb3IgTWFu dWZhY3R1cmVyDQo+ICsgICAgLy8NCj4gKyAgICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChT VFJfTUlTQ19QUk9DRVNTT1JfTUFVRkFDVFVSRVIpOw0KPiArICAgIE1hbnVmYWN0dXJlciA9IFNt Ymlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICAgIE1hbnVmYWN0dXJlclN0ckxl biA9IFN0ckxlbihNYW51ZmFjdHVyZXIpOw0KPiArICAgIGlmIChNYW51ZmFjdHVyZXJTdHJMZW4g PiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICAgIHJldHVybiBFRklfVU5TVVBQ T1JURUQ7DQo+ICsgICAgfQ0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBUb2tlbiB0byBnZXQg Zm9yIFByb2Nlc3NvciBWZXJzaW9uDQo+ICsgICAgLy8NCj4gKyAgICBUb2tlblRvR2V0ID0gU1RS SU5HX1RPS0VOIChTVFJfTUlTQ19QUk9DRVNTT1JfVkVSU0lPTik7DQo+ICsgICAgVmVyc2lvbiA9 IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICAgIFZlcnNpb25TdHJMZW4g PSBTdHJMZW4oVmVyc2lvbik7DQo+ICsgICAgaWYgKFZlcnNpb25TdHJMZW4gPiBTTUJJT1NfU1RS SU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4g KyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRva2VuIHRvIGdldCBmb3IgU2VyaWFs IE51bWJlcg0KPiArICAgIC8vDQo+ICsgICAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTg0KPiAo U1RSX01JU0NfUFJPQ0VTU09SX1NFUklBTF9OVU1CRVIpOw0KPiArICAgIFNlcmlhbE51bWJlciA9 IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICAgIFNlcmlhbE51bWJlclN0 ckxlbiA9IFN0ckxlbihTZXJpYWxOdW1iZXIpOw0KPiArICAgIGlmIChTZXJpYWxOdW1iZXJTdHJM ZW4gPiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICAgICAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRva2VuIHRv IGdldCBmb3IgQXNzZXJ0IFRhZyBJbmZvcm1hdGlvbg0KPiArICAgIC8vDQo+ICsgICAgVG9rZW5U b0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfQVNTRVJUX1RBR19EQVRBKTsNCj4gKyAgICBB c3NldFRhZyA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICAgIEFzc2V0 VGFnU3RyTGVuID0gU3RyTGVuKEFzc2V0VGFnKTsNCj4gKyAgICBpZiAoQXNzZXRUYWdTdHJMZW4g PiBTTUJJT1NfU1RSSU5HX01BWF9MRU5HVEgpIHsNCj4gKyAgICAgICAgcmV0dXJuIEVGSV9VTlNV UFBPUlRFRDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFRva2VuIHRvIGdl dCBmb3IgcGFydCBudW1iZXIgSW5mb3JtYXRpb24NCj4gKyAgICAvLw0KPiArICAgIFRva2VuVG9H ZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1BBUlRfTlVNQkVSKTsNCj4gKyAgICBQYXJ0TnVt YmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsgICAgUGFydE51bWJl clN0ckxlbiA9IFN0ckxlbihQYXJ0TnVtYmVyKTsNCj4gKyAgICBpZiAoUGFydE51bWJlclN0ckxl biA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgICAgICAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRDsNCj4gKyAgICB9DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFR3byB6ZXJv cyBmb2xsb3dpbmcgdGhlIGxhc3Qgc3RyaW5nLg0KPiArICAgIC8vDQo+ICsgICAgU21iaW9zUmVj b3JkID0gQWxsb2NhdGVaZXJvUG9vbChzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFNCkgKw0KPiBB c3NldFRhZ1N0ckxlbiArIDEgKyBTb2NrZXRTdHJMZW4gKyAxKyBNYW51ZmFjdHVyZXJTdHJMZW4g KzEgKw0KPiBWZXJzaW9uU3RyTGVuKyAxKyBTZXJpYWxOdW1iZXJTdHJMZW4gKyAxICsgUGFydE51 bWJlclN0ckxlbisgMSArIDEpOw0KPiArDQo+ICsgICAgU21iaW9zUmVjb3JkLT5IZHIuVHlwZSA9 DQo+IEVGSV9TTUJJT1NfVFlQRV9QUk9DRVNTT1JfSU5GT1JNQVRJT047DQo+ICsgICAgU21iaW9z UmVjb3JkLT5IZHIuTGVuZ3RoID0gc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTQpOw0KPiArDQo+ ICsgICAgLy8NCj4gKyAgICAvLyBNYWtlIGhhbmRsZSBjaG9zZW4gYnkgc21iaW9zIHByb3RvY29s LmFkZCBhdXRvbWF0aWNhbGx5Lg0KPiArICAgIC8vDQo+ICsgICAgU21iaW9zUmVjb3JkLT5IZHIu SGFuZGxlID0gMDsNCj4gKw0KPiArICAgIFNtYmlvc1JlY29yZC0+IFNvY2tldD0gMTsNCj4gKyAg ICBTbWJpb3NSZWNvcmQgLT4gUHJvY2Vzc29yTWFudWZhY3R1cmUgPSAyOw0KPiArICAgIFNtYmlv c1JlY29yZCAtPiBQcm9jZXNzb3JWZXJzaW9uID0gMzsNCj4gKyAgICBTbWJpb3NSZWNvcmQgLT5T ZXJpYWxOdW1iZXIgPTQ7DQo+ICsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPiBBc3NldFRhZz0gNTsN Cj4gKyAgICBTbWJpb3NSZWNvcmQtPiBQYXJ0TnVtYmVyPSA2Ow0KPiArDQo+ICsgICAgLy8NCj4g KyAgICAvLyBQcm9jZXNzb3IgVHlwZQ0KPiArICAgIC8vDQo+ICsgICAgRm9yVHlwZTRJbnB1dERh dGEtPiBWYXJpYWJsZVJlY29yZC5Qcm9jZXNzb3JUeXBlPQ0KPiBFZmlDZW50cmFsUHJvY2Vzc29y Ow0KPiArICAgIFNtYmlvc1JlY29yZCAtPiBQcm9jZXNzb3JUeXBlID0gRm9yVHlwZTRJbnB1dERh dGEtPg0KPiBWYXJpYWJsZVJlY29yZC5Qcm9jZXNzb3JUeXBlOw0KPiArDQo+ICsgICAgLy8NCj4g KyAgICAvLyBQcm9jZXNzb3IgRmFtaWx5DQo+ICsgICAgLy8NCj4gKyAgICBGb3JUeXBlNElucHV0 RGF0YS0+IFZhcmlhYmxlUmVjb3JkLlByb2Nlc3NvckZhbWlseT0NCj4gRWZpUHJvY2Vzc29yRmFt aWx5SW50ZWxBdG9tUHJvY2Vzc29yOyAvLzB4MkI7Ow0KPiArICAgIFNtYmlvc1JlY29yZCAtPiBQ cm9jZXNzb3JGYW1pbHkgPSBGb3JUeXBlNElucHV0RGF0YS0+DQo+IFZhcmlhYmxlUmVjb3JkLlBy b2Nlc3NvckZhbWlseTsNCj4gKyAgICBTbWJpb3NSZWNvcmQgLT4gRXh0ZXJuYWxDbG9jayA9IERl dGVybWluZWlGc2JGcm9tTXNyKCk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFByb2Nlc3Nv ciBJRA0KPiArICAgIC8vDQo+ICsgICAgQXNtQ3B1aWQoMHgwMDEsICZFYXgwMSwgJkVieDAxLCAm RWN4MDEsICZFZHgwMSk7DQo+ICsgICAgUHJvY2Vzc29ySWQtPlNpZ25hdHVyZSA9ICooUFJPQ0VT U09SX1NJR05BVFVSRSAqKSZFYXgwMTsNCj4gKyAgICBQcm9jZXNzb3JJZC0+RmVhdHVyZUZsYWdz ID0gKihQUk9DRVNTT1JfRkVBVFVSRV9GTEFHUyAqKSZFZHgwMTsNCj4gKyAgICBTbWJpb3NSZWNv cmQgLT4gUHJvY2Vzc29ySWQgPSAqKFBST0NFU1NPUl9JRF9EQVRBICopUHJvY2Vzc29ySWQ7DQo+ ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFByb2Nlc3NvciBWb2x0YWdlDQo+ICsgICAgLy8NCj4g KyAgICBGb3JUeXBlNElucHV0RGF0YS0+IFZhcmlhYmxlUmVjb3JkLlByb2Nlc3NvclZvbHRhZ2U9 DQo+ICooRUZJX1BST0NFU1NPUl9WT0xUQUdFX0RBVEEgKikmUHJvY2Vzc29yVm9sdGFnZTsNCj4g KyAgICBTbWJpb3NSZWNvcmQgLT4gVm9sdGFnZSA9ICooUFJPQ0VTU09SX1ZPTFRBR0UgKikNCj4g JihGb3JUeXBlNElucHV0RGF0YS0+IFZhcmlhYmxlUmVjb3JkLlByb2Nlc3NvclZvbHRhZ2UpOw0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBTdGF0dXMNCj4gKyAgICAvLw0KPiArICAgIEZvclR5 cGU0SW5wdXREYXRhLT4gVmFyaWFibGVSZWNvcmQuUHJvY2Vzc29ySGVhbHRoU3RhdHVzPQ0KPiAw eDQxOy8vMHg0MTsNCj4gKyAgICBTbWJpb3NSZWNvcmQgLT4gU3RhdHVzID0gRm9yVHlwZTRJbnB1 dERhdGEtPg0KPiBWYXJpYWJsZVJlY29yZC5Qcm9jZXNzb3JIZWFsdGhTdGF0dXM7DQo+ICsNCj4g KyAgICAvLw0KPiArICAgIC8vIFByb2Nlc3NvciBVcGdyYWRlDQo+ICsgICAgLy8NCj4gKyAgICBT bWJpb3NSZWNvcmQgLT4gUHJvY2Vzc29yVXBncmFkZSA9IDB4MDA4Ow0KPiArDQo+ICsgICAgLy8N Cj4gKyAgICAvLyBQcm9jZXNzb3IgRmFtaWx5IDINCj4gKyAgICAvLw0KPiArICAgIFNtYmlvc1Jl Y29yZCAtPiBQcm9jZXNzb3JGYW1pbHkyID0gRm9yVHlwZTRJbnB1dERhdGEtPg0KPiBWYXJpYWJs ZVJlY29yZC5Qcm9jZXNzb3JGYW1pbHk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFByb2Nl c3NvciBzcGVlZA0KPiArICAgIC8vDQo+ICsgICAgU21iaW9zUmVjb3JkLT4gQ3VycmVudFNwZWVk ID0gKihVSU5UMTYqKSAmIEZyZXF1ZW5jeTsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPiBNYXhTcGVl ZCA9ICooVUlOVDE2KikgJiBGcmVxdWVuY3k7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFBy b2Nlc3NvciBDaGFyYWN0ZXJpc3RpY3MNCj4gKyAgICAvLw0KPiArICAgIEFzbUNwdWlkKDB4ODAw MDAwMCwgTlVMTCwgTlVMTCwgTlVMTCwgJkVkeDAxKTsNCj4gKyAgICBFZHgwMT0gRWR4MDEgPj4g Mjg7DQo+ICsgICAgRWR4MDEgJj0gMHgwMTsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPiBQcm9jZXNz b3JDaGFyYWN0ZXJpc3RpY3M9IChVSU5UMTYpRWR4MDE7DQo+ICsNCj4gKyAgICAvLw0KPiArICAg IC8vIFByb2Nlc3NvciBDb3JlIENvdW50IGFuZCBFbmFibGVkIGNvcmUgY291bnQNCj4gKyAgICAv Lw0KPiArICAgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAg ICAgICAgICAmZ0VmaU1wU2VydmljZVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJk1wU2VydmljZQ0KPiAr ICAgICAgICAgICAgICAgICAgICApOw0KPiArICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+ICsgICAgLy8NCj4gKyAgICAvLyBEZXRlcm1pbmUgdGhlIG51bWJlciBvZiBwcm9jZXNzb3Jz DQo+ICsgICAgLy8NCj4gKyAgICBNcFNlcnZpY2UtPkdldE51bWJlck9mUHJvY2Vzc29ycyAoDQo+ ICsgICAgICAgICAgICAgICAgIE1wU2VydmljZSwNCj4gKyAgICAgICAgICAgICAgICAgJk51bWJl ck9mUHJvY2Vzc29ycywNCj4gKyAgICAgICAgICAgICAgICAgJk51bWJlck9mRW5hYmxlZFByb2Nl c3NvcnMNCj4gKyAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICB9DQo+ICsgICAgU21iaW9zUmVj b3JkLT4gQ29yZUNvdW50PSAoVUlOVDgpTnVtYmVyT2ZQcm9jZXNzb3JzOw0KPiArICAgIFNtYmlv c1JlY29yZC0+IEVuYWJsZWRDb3JlQ291bnQ9DQo+IChVSU5UOClOdW1iZXJPZkVuYWJsZWRQcm9j ZXNzb3JzOw0KPiArICAgIFNtYmlvc1JlY29yZC0+IFRocmVhZENvdW50PSAoVUlOVDgpTnVtYmVy T2ZFbmFibGVkUHJvY2Vzc29yczsNCj4gKyAgICBTbWJpb3NSZWNvcmQtPiBQcm9jZXNzb3JDaGFy YWN0ZXJpc3RpY3MgPSAweDI7IC8vIFVua25vd24NCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8g UHJvY2Vzc29yIENhY2hlIEhhbmRsZQ0KPiArICAgIC8vDQo+ICsgICAgR2V0Q2FjaGVIYW5kbGUo IFNtYmlvcywxLCAmTDFDYWNoZUhhbmRsZSk7DQo+ICsgICAgR2V0Q2FjaGVIYW5kbGUoIFNtYmlv cywyLCAmTDJDYWNoZUhhbmRsZSk7DQo+ICsgICAgR2V0Q2FjaGVIYW5kbGUoIFNtYmlvcywzLCAm TDNDYWNoZUhhbmRsZSk7DQo+ICsNCj4gKyAgICAvLw0KPiArICAgIC8vIFVwZGF0aW5nIENhY2hl IEhhbmRsZSBJbmZvcm1hdGlvbg0KPiArICAgIC8vDQo+ICsgICAgU21iaW9zUmVjb3JkLT5MMUNh Y2hlSGFuZGxlICA9IEwxQ2FjaGVIYW5kbGU7DQo+ICsgICAgU21iaW9zUmVjb3JkLT5MMkNhY2hl SGFuZGxlICA9IEwyQ2FjaGVIYW5kbGU7DQo+ICsgICAgU21iaW9zUmVjb3JkLT5MM0NhY2hlSGFu ZGxlICA9IEwzQ2FjaGVIYW5kbGU7DQo+ICsNCj4gKyAgICBPcHRpb25hbFN0clN0YXJ0ID0gKENI QVI4ICopKFNtYmlvc1JlY29yZCArIDEpOw0KPiArICAgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKFNv Y2tldCwgT3B0aW9uYWxTdHJTdGFydCk7DQo+ICsgICAgVW5pY29kZVN0clRvQXNjaWlTdHIoTWFu dWZhY3R1cmVyLCBPcHRpb25hbFN0clN0YXJ0ICsgU29ja2V0U3RyTGVuICsgMSk7DQo+ICsgICAg VW5pY29kZVN0clRvQXNjaWlTdHIoVmVyc2lvbiwgT3B0aW9uYWxTdHJTdGFydCArIFNvY2tldFN0 ckxlbiArIDEgKw0KPiBNYW51ZmFjdHVyZXJTdHJMZW4rIDEpOw0KPiArICAgIFVuaWNvZGVTdHJU b0FzY2lpU3RyKFNlcmlhbE51bWJlciwgT3B0aW9uYWxTdHJTdGFydCArIFNvY2tldFN0ckxlbiAr IDEgKw0KPiBWZXJzaW9uU3RyTGVuICsgMSArIE1hbnVmYWN0dXJlclN0ckxlbiArIDEpOw0KPiAr ICAgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKEFzc2V0VGFnLCBPcHRpb25hbFN0clN0YXJ0ICsgU2Vy aWFsTnVtYmVyU3RyTGVuICsgMQ0KPiArIFZlcnNpb25TdHJMZW4gKyAxICsgTWFudWZhY3R1cmVy U3RyTGVuICsgMSArIFNvY2tldFN0ckxlbiArIDEpOw0KPiArICAgIFVuaWNvZGVTdHJUb0FzY2lp U3RyKFBhcnROdW1iZXIsIE9wdGlvbmFsU3RyU3RhcnQgKyBTZXJpYWxOdW1iZXJTdHJMZW4NCj4g KyAxICsgVmVyc2lvblN0ckxlbiArIDEgKyBNYW51ZmFjdHVyZXJTdHJMZW4gKyAxICsgU29ja2V0 U3RyTGVuICsgMSArDQo+IEFzc2V0VGFnU3RyTGVuICsgMSApOw0KPiArDQo+ICsgICAgLy8NCj4g KyAgICAvLyBOb3cgd2UgaGF2ZSBnb3QgdGhlIGZ1bGwgU21iaW9zIHJlY29yZCwgY2FsbCBTbWJp b3MgcHJvdG9jb2wgdG8gYWRkDQo+IHRoaXMgcmVjb3JkLg0KPiArICAgIC8vDQo+ICsgICAgU21i aW9zSGFuZGxlID0gU01CSU9TX0hBTkRMRV9QSV9SRVNFUlZFRDsNCj4gKyAgICBTdGF0dXMgPSBT bWJpb3MtPiBBZGQoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBTbWJpb3MsDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgJlNt Ymlvc0hhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIChFRklfU01CSU9TX1RBQkxF X0hFQURFUiAqKSBTbWJpb3NSZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgcmV0dXJuIFN0YXR1czsNCj4gKyAgICBGcmVl UG9vbChTbWJpb3NSZWNvcmQpOw0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsNCj4gK30NCj4g Kw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21C aW9zTWlzY0R4ZS9NaXNjUmVzZXRDYXBhYmlsaXRpZXNEDQo+IGF0YS5jDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjUmVzZXRDYXBhYmlsaXRp ZXNEDQo+IGF0YS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LmUzYjg0N2Y3Y2UNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NSZXNldENhcGFiaWxpdGllc0QNCj4g YXRhLmMNCj4gQEAgLTAsMCArMSw0MyBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gK0NvcHlyaWdo dCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0K PiArICAgIE1pc2NSZXNldENhcGFiaWxpdGllc0RhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4g Kw0KPiArICBTdGF0aWMgZGF0YSBvZiBSZXNldCBDYXBhYmlsaXRpZXMgaW5mb3JtYXRpb24uDQo+ ICsgIFJlc2V0IENhcGFiaWxpdGllcyBpbmZvcm1hdGlvbiBpcyBNaXNjLiBzdWJjbGFzcyB0eXBl IDE3IGFuZCBTTUJJT1MgdHlwZSAyMy4NCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ICsj aW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NE cml2ZXIuaCINCj4gKw0KPiArLy8NCj4gKy8vIFN0YXRpYyAocG9zc2libHkgYnVpbGQgZ2VuZXJh dGVkKSBCaW9zIFZlbmRvciBkYXRhLg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEo RUZJX01JU0NfUkVTRVRfQ0FQQUJJTElUSUVTLA0KPiBNaXNjUmVzZXRDYXBhYmlsaXRpZXMpDQo+ ICs9IHsNCj4gKyAgeyAgICAgICAvLyBSZXNldENhcGFiaWxpdGllcw0KPiArICAgIDAsICAgIC8v IFN0YXR1cw0KPiArICAgIDAsICAgIC8vIEJvb3RPcHRpb24NCj4gKyAgICAwLCAgICAvLyBCb290 T3B0aW9uT25MaW1pdA0KPiArICAgIDAsICAgIC8vIFdhdGNoZG9nVGltZXJQcmVzZW50DQo+ICsg ICAgMCAgICAgLy8gUmVzZXJ2ZWQNCj4gKyAgfSwNCj4gKyAgMHhGRkZGLCAvLyBSZXNldENvdW50 DQo+ICsgIDB4RkZGRiwgLy8gUmVzZXRMaW1pdA0KPiArICAweEZGRkYsIC8vIFJlc2V0VGltZXJJ bnRlcnZhbA0KPiArICAweEZGRkYgIC8vIFJlc2V0VGltZW91dA0KPiArfTsNCj4gZGlmZiAtLWdp dA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlz Y1Jlc2V0Q2FwYWJpbGl0aWVzRg0KPiB1bmN0aW9uLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NSZXNldENhcGFiaWxpdGllc0YNCj4gdW5j dGlvbi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjY3YTU0 OWE2YmENCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NSZXNldENhcGFiaWxpdGllc0YNCj4gdW5jdGlv bi5jDQo+IEBAIC0wLDAgKzEsODUgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAy MDA5IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgIE1pc2NSZXNl dENhcGFiaWxpdGllc0Z1bmN0aW9uLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgUmVz ZXRDYXBhYmlsaXRpZXMuDQo+ICsgIFNNQklPUyB0eXBlIDIzLg0KPiArDQo+ICstLSovDQo+ICsN Cj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArDQo+ICsjaW5jbHVkZSAiTWlz Y1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4gKy8qKg0KPiArICBUaGlzIGZ1bmN0aW9uIG1ha2Vz IGJvb3QgdGltZSBjaGFuZ2VzIHRvIHRoZSBjb250ZW50cyBvZiB0aGUNCj4gKyAgTWlzY09lbVN0 cmluZyAoVHlwZSAxMSkuDQo+ICsNCj4gKyAgQHBhcmFtICBSZWNvcmREYXRhICAgICAgICAgICAg ICAgICBQb2ludGVyIHRvIGNvcHkgb2YgUmVjb3JkRGF0YSBmcm9tIHRoZSBEYXRhDQo+IFRhYmxl Lg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgICAgICAgICAgQWxsIHBhcmFt ZXRlcnMgd2VyZSB2YWxpZC4NCj4gKyAgQHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAg ICBVbmV4cGVjdGVkIFJlY29yZFR5cGUgdmFsdWUuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURf UEFSQU1FVEVSICAgICAgSW52YWxpZCBwYXJhbWV0ZXIgd2FzIGZvdW5kLg0KPiArDQo+ICsqKi8N Cj4gK01JU0NfU01CSU9TX1RBQkxFX0ZVTkNUSU9OKE1pc2NSZXNldENhcGFiaWxpdGllcykNCj4g K3sNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1NNQklP U19IQU5ETEUgICAgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgU01CSU9TX1RBQkxFX1RZUEUyMyAg ICAgICpTbWJpb3NSZWNvcmQ7DQo+ICsgIEVGSV9NSVNDX1JFU0VUX0NBUEFCSUxJVElFUyAgICpG b3JUeXBlMjNJbnB1dERhdGE7DQo+ICsNCj4gKyAgRm9yVHlwZTIzSW5wdXREYXRhID0gKEVGSV9N SVNDX1JFU0VUX0NBUEFCSUxJVElFUyAqKVJlY29yZERhdGE7DQo+ICsNCj4gKyAgLy8NCj4gKyAg Ly8gRmlyc3QgY2hlY2sgZm9yIGludmFsaWQgcGFyYW1ldGVycy4NCj4gKyAgLy8NCj4gKyAgaWYg KFJlY29yZERhdGEgPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVU RVI7DQo+ICsgIH0NCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFR3byB6ZXJvcyBmb2xsb3dp bmcgdGhlIGxhc3Qgc3RyaW5nLg0KPiArICAvLw0KPiArICBTbWJpb3NSZWNvcmQgPSBBbGxvY2F0 ZVBvb2woc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTIzKSArIDEgKyAxKTsNCj4gKyAgWmVyb01l bShTbWJpb3NSZWNvcmQsIHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEUyMykgKyAxICsgMSk7DQo+ ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIuVHlwZSA9IEVGSV9TTUJJT1NfVFlQRV9TWVNURU1f UkVTRVQ7DQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkxlbmd0aCA9IHNpemVvZiAoU01CSU9TX1RB QkxFX1RZUEUyMyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWFrZSBoYW5kbGUgY2hvc2VuIGJ5 IHNtYmlvcyBwcm90b2NvbC5hZGQgYXV0b21hdGljYWxseS4NCj4gKyAgLy8NCj4gKyAgU21iaW9z UmVjb3JkLT5IZHIuSGFuZGxlICAgID0gMDsNCj4gKyAgU21iaW9zUmVjb3JkLT5DYXBhYmlsaXRp ZXMgID0gKihVSU5UOCopJihGb3JUeXBlMjNJbnB1dERhdGEtDQo+ID5SZXNldENhcGFiaWxpdGll cyk7DQo+ICsgIFNtYmlvc1JlY29yZC0+UmVzZXRDb3VudCAgICA9IChVSU5UMTYpRm9yVHlwZTIz SW5wdXREYXRhLQ0KPiA+UmVzZXRDb3VudDsNCj4gKyAgU21iaW9zUmVjb3JkLT5SZXNldExpbWl0 ICAgID0gKFVJTlQxNilGb3JUeXBlMjNJbnB1dERhdGEtPlJlc2V0TGltaXQ7DQo+ICsgIFNtYmlv c1JlY29yZC0+VGltZXJJbnRlcnZhbCA9IChVSU5UMTYpRm9yVHlwZTIzSW5wdXREYXRhLQ0KPiA+ UmVzZXRUaW1lckludGVydmFsOw0KPiArICBTbWJpb3NSZWNvcmQtPlRpbWVvdXQgICAgICAgPSAo VUlOVDE2KUZvclR5cGUyM0lucHV0RGF0YS0NCj4gPlJlc2V0VGltZW91dDsNCj4gKw0KPiArICAv Lw0KPiArICAvLyBOb3cgd2UgaGF2ZSBnb3QgdGhlIGZ1bGwgc21iaW9zIHJlY29yZCwgY2FsbCBz bWJpb3MgcHJvdG9jb2wgdG8gYWRkIHRoaXMNCj4gcmVjb3JkLg0KPiArICAvLw0KPiArICBTbWJp b3NIYW5kbGUgPSBTTUJJT1NfSEFORExFX1BJX1JFU0VSVkVEOw0KPiArICBTdGF0dXMgPSBTbWJp b3MtPiBBZGQoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgU21iaW9zLA0KPiArICAgICAgICAg ICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgJlNtYmlvc0hhbmRs ZSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAoRUZJX1NNQklPU19UQUJMRV9IRUFERVIgKikg U21iaW9zUmVjb3JkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgRnJlZVBvb2wo U21iaW9zUmVjb3JkKTsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4gKw0KPiBkaWZmIC0t Z2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9N aXNjU3ViY2xhc3NEcml2ZXIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtn L1NtQmlvc01pc2NEeGUvTWlzY1N1YmNsYXNzRHJpdmVyLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNjdlYTEwMGZhZA0KPiAtLS0gL2Rldi9udWxsDQo+ICsr Kw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlz Y1N1YmNsYXNzRHJpdmVyLmgNCj4gQEAgLTAsMCArMSwxODggQEANCj4gKy8qKiBAZmlsZQ0KPiAr DQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKyAgTWlzY1N1YmNsYXNzRHJpdmVyLmgNCj4gKw0KPiArQWJzdHJhY3Q6 DQo+ICsNCj4gKyAgSGVhZGVyIGZpbGUgZm9yIE1pc2NTdWJjbGFzcyBEcml2ZXIuDQo+ICsNCj4g Kw0KPiArKiovDQo+ICsNCj4gKyNpZm5kZWYgX01JU0NfU1VCQ0xBU1NfRFJJVkVSX0gNCj4gKyNk ZWZpbmUgX01JU0NfU1VCQ0xBU1NfRFJJVkVSX0gNCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29t bW9uSGVhZGVyLmgiDQo+ICsNCj4gK2V4dGVybiBVSU5UOCAgTWlzY1N1YmNsYXNzU3RyaW5nc1td Ow0KPiArDQo+ICsNCj4gKyNkZWZpbmUgVDE0X0ZWSV9TVFJJTkcgICAgICAgICAgIkRyaXZlci9m aXJtd2FyZSB2ZXJzaW9uIg0KPiArI2RlZmluZSBFRklfU01CSU9TX1RZUEVfRklSTVdBUkVfVkVS U0lPTl9JTkZPIDB4OTANCj4gKyNkZWZpbmUgRUZJX1NNQklPU19UWVBFX01JU0NfVkVSU0lPTl9J TkZPIDB4OTQNCj4gKyNkZWZpbmUgVE9VQ0hfQUNQSV9JRCAgICAiSTJDMDVcXFNGRkZGXFw0MDBL Ig0KPiArI2RlZmluZSBUT1VDSF9SRVNFVF9HUElPX01NSU8gIDB4RkVEMEM1MDgNCj4gKyNkZWZp bmUgRUZJX1NNQklPU19UWVBFX1NFQ19JTkZPIDB4ODMNCj4gKyNkZWZpbmUgSW50ZWxJZGVudGlm ZXIgMHg2RjcyNTA3Ng0KPiArDQo+ICsvLw0KPiArLy8gRGF0YSB0YWJsZSBlbnRyeSB1cGRhdGUg ZnVuY3Rpb24uDQo+ICsvLw0KPiArdHlwZWRlZiBFRklfU1RBVFVTIChFRklBUEkgRUZJX01JU0Nf U01CSU9TX0RBVEFfRlVOQ1RJT04pICgNCj4gKyAgSU4gIFZPSUQgICAgICAgICAgICAgICAgICpS ZWNvcmREYXRhLA0KPiArICBJTiAgRUZJX1NNQklPU19QUk9UT0NPTCAgKlNtYmlvcw0KPiArICAp Ow0KPiArDQo+ICsvLw0KPiArLy8gRGF0YSB0YWJsZSBlbnRyeSBkZWZpbml0aW9uLg0KPiArLy8N Cj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgLy8NCj4gKyAgLy8gaW50ZXJtZWRpYXQgaW5wdXQg ZGF0YSBmb3IgU01CSU9TIHJlY29yZA0KPiArICAvLw0KPiArICBWT0lEICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgKlJlY29yZERhdGE7DQo+ICsgIEVGSV9NSVNDX1NNQklPU19EQVRBX0ZV TkNUSU9OICAgICAqRnVuY3Rpb247DQo+ICt9IEVGSV9NSVNDX1NNQklPU19EQVRBX1RBQkxFOw0K PiArDQo+ICsvLw0KPiArLy8gRGF0YSBUYWJsZSBleHRlcm4gZGVmaW5pdGlvbnMuDQo+ICsvLw0K PiArI2RlZmluZSBNSVNDX1NNQklPU19UQUJMRV9FWFRFUk5TKE5BTUUxLCBOQU1FMiwgTkFNRTMp IFwNCj4gK2V4dGVybiBOQU1FMSBOQU1FMiAjIyBEYXRhOyBcDQo+ICtleHRlcm4gRUZJX01JU0Nf U01CSU9TX0RBVEFfRlVOQ1RJT04gTkFNRTMgIyMgRnVuY3Rpb24NCj4gKw0KPiArDQo+ICsvLw0K PiArLy8gRGF0YSBUYWJsZSBlbnRyaWVzDQo+ICsvLw0KPiArI2RlZmluZSBNSVNDX1NNQklPU19U QUJMRV9FTlRSWV9EQVRBX0FORF9GVU5DVElPTihOQU1FMSwNCj4gTkFNRTIpIFwNCj4gK3sgXA0K PiArICAmIE5BTUUxICMjIERhdGEsIFwNCj4gKyAgJiBOQU1FMiAjIyBGdW5jdGlvbiBcDQo+ICt9 DQo+ICsNCj4gKy8vDQo+ICsvLyBHbG9iYWwgZGVmaW5pdGlvbiBtYWNyb3MuDQo+ICsvLw0KPiAr I2RlZmluZSBNSVNDX1NNQklPU19UQUJMRV9EQVRBKE5BTUUxLCBOQU1FMikgXA0KPiArICBOQU1F MSBOQU1FMiAjIyBEYXRhDQo+ICsNCj4gKyNkZWZpbmUgTUlTQ19TTUJJT1NfVEFCTEVfRlVOQ1RJ T04oTkFNRTIpIFwNCj4gKyAgRUZJX1NUQVRVUyBFRklBUEkgTkFNRTIgIyMgRnVuY3Rpb24oIFwN Cj4gKyAgSU4gIFZPSUQgICAgICAgICAgICAgICAgICAqUmVjb3JkRGF0YSwgXA0KPiArICBJTiAg RUZJX1NNQklPU19QUk9UT0NPTCAgICpTbWJpb3MgXA0KPiArICApDQo+ICsNCj4gKyNwcmFnbWEg cGFjaygxKQ0KPiArDQo+ICsvLw0KPiArLy8gVGhpcyBpcyBkZWZpbml0aW9uIGZvciBTTUJJT1Mg T2VtIGRhdGEgdHlwZSAweDkwDQo+ICsvLw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBTVFJJ TkdfUkVGICAgICAgICAgICAgICAgICAgICAgICAgIFNFQ1ZlcnNpb247DQo+ICsgIFNUUklOR19S RUYgICAgICAgICAgICAgICAgICAgICAgICAgdUNvZGVWZXJzaW9uOw0KPiArICBTVFJJTkdfUkVG ICAgICAgICAgICAgICAgICAgICAgICAgIEdPUFZlcnNpb247DQo+ICsgIFNUUklOR19SRUYgICAg ICAgICAgICAgICAgICAgICAgICAgQ3B1U3RlcHBpbmc7DQo+ICt9IEVGSV9NSVNDX09FTV9UWVBF XzB4OTA7DQo+ICsNCj4gKy8vDQo+ICsvLyBUaGlzIGlzIGRlZmluaXRpb24gZm9yIFNNQklPUyBP ZW0gZGF0YSB0eXBlIDB4OTANCj4gKy8vDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFNNQklP U19TVFJVQ1RVUkUgICAgICAgICAgSGRyOw0KPiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAg IFNFQ1ZlcnNpb247DQo+ICsgIFNNQklPU19UQUJMRV9TVFJJTkcgICAgICAgdUNvZGVWZXJzaW9u Ow0KPiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAgIEdPUFZlcnNpb247DQo+ICsgIFNNQklP U19UQUJMRV9TVFJJTkcgICAgICAgQ3B1U3RlcHBpbmc7DQo+ICt9IFNNQklPU19UQUJMRV9UWVBF OTA7DQo+ICsNCj4gK3R5cGVkZWYgc3RydWN0IHsNCj4gKyAgU1RSSU5HX1JFRiAgICAgICAgICAg ICAgICBHb3BWZXJzaW9uOw0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgIFVDb2RlVmVy c2lvbjsNCj4gKyAgU1RSSU5HX1JFRiAgICAgICAgICAgICAgICBNUkNWZXJzaW9uOw0KPiArICBT VFJJTkdfUkVGICAgICAgICAgICAgICAgIFNFQ1ZlcnNpb247DQo+ICsgIFNUUklOR19SRUYgICAg ICAgICAgICAgICAgVUxQTUNWZXJzaW9uOw0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAg IFBNQ1ZlcnNpb247DQo+ICsgIFNUUklOR19SRUYgICAgICAgICAgICAgICAgUFVuaXRWZXJzaW9u Ow0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgIFNvQ1ZlcnNpb247DQo+ICsgIFNUUklO R19SRUYgICAgICAgICAgICAgICAgQm9hcmRWZXJzaW9uOw0KPiArICBTVFJJTkdfUkVGICAgICAg ICAgICAgICAgIEZhYlZlcnNpb247DQo+ICsgIFNUUklOR19SRUYgICAgICAgICAgICAgICAgQ1BV Rmxhdm9yOw0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgIEJpb3NWZXJzaW9uOw0KPiAr ICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgIFBtaWNWZXJzaW9uOw0KPiArICBTVFJJTkdfUkVG ICAgICAgICAgICAgICAgIFRvdWNoVmVyc2lvbjsNCj4gKyAgU1RSSU5HX1JFRiAgICAgICAgICAg ICAgICBTZWN1cmVCb290Ow0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgIEJvb3RNb2Rl Ow0KPiArICBTVFJJTkdfUkVGICAgICAgICAgICAgICAgIFNwZWVkU3RlcE1vZGU7DQo+ICsgIFNU UklOR19SRUYgICAgICAgICAgICAgICAgQ1BVVHVyYm9Nb2RlOw0KPiArICBTVFJJTkdfUkVGICAg ICAgICAgICAgICAgIE1heENTdGF0ZTsNCj4gKyAgU1RSSU5HX1JFRiAgICAgICAgICAgICAgICBH ZnhUdXJibzsNCj4gKyAgU1RSSU5HX1JFRiAgICAgICAgICAgICAgICBJZGxlUmVzZXJ2ZTsNCj4g KyAgU1RSSU5HX1JFRiAgICAgICAgICAgICAgICBSQzY7DQo+ICt9RUZJX01JU0NfT0VNX1RZUEVf MHg5NDsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBTTUJJT1NfU1RSVUNUVVJFICAg ICAgICAgIEhkcjsNCj4gKyAgU01CSU9TX1RBQkxFX1NUUklORyAgICAgICBHb3BWZXJzaW9uOw0K PiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAgIHVDb2RlVmVyc2lvbjsNCj4gKyAgU01CSU9T X1RBQkxFX1NUUklORyAgICAgICBNUkNWZXJzaW9uOw0KPiArICBTTUJJT1NfVEFCTEVfU1RSSU5H ICAgICAgIFNFQ1ZlcnNpb247DQo+ICsgIFNNQklPU19UQUJMRV9TVFJJTkcgICAgICAgVUxQTUNW ZXJzaW9uOw0KPiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAgIFBNQ1ZlcnNpb247DQo+ICsg IFNNQklPU19UQUJMRV9TVFJJTkcgICAgICAgUFVuaXRWZXJzaW9uOw0KPiArICBTTUJJT1NfVEFC TEVfU1RSSU5HICAgICAgIFNvQ1ZlcnNpb247DQo+ICsgIFNNQklPU19UQUJMRV9TVFJJTkcgICAg ICAgQm9hcmRWZXJzaW9uOw0KPiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAgIEZhYlZlcnNp b247DQo+ICsgIFNNQklPU19UQUJMRV9TVFJJTkcgICAgICAgQ1BVRmxhdm9yOw0KPiArICBTTUJJ T1NfVEFCTEVfU1RSSU5HICAgICAgIEJpb3NWZXJzaW9uOw0KPiArICBTTUJJT1NfVEFCTEVfU1RS SU5HICAgICAgIFBtaWNWZXJzaW9uOw0KPiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAgIFRv dWNoVmVyc2lvbjsNCj4gKyAgU01CSU9TX1RBQkxFX1NUUklORyAgICAgICBTZWN1cmVCb290Ow0K PiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAgIEJvb3RNb2RlOw0KPiArICBTTUJJT1NfVEFC TEVfU1RSSU5HICAgICAgIFNwZWVkU3RlcE1vZGU7DQo+ICsgIFNNQklPU19UQUJMRV9TVFJJTkcg ICAgICAgQ1BVVHVyYm9Nb2RlOw0KPiArICBTTUJJT1NfVEFCTEVfU1RSSU5HICAgICAgIE1heENT dGF0ZTsNCj4gKyAgU01CSU9TX1RBQkxFX1NUUklORyAgICAgICBHZnhUdXJibzsNCj4gKyAgU01C SU9TX1RBQkxFX1NUUklORyAgICAgICBJZGxlUmVzZXJ2ZTsNCj4gKyAgU01CSU9TX1RBQkxFX1NU UklORyAgICAgICBSQzY7DQo+ICt9U01CSU9TX1RBQkxFX1RZUEU5NDsNCj4gKw0KPiArI3ByYWdt YSBwYWNrKCkNCj4gKy8vDQo+ICsvLyBEYXRhIFRhYmxlIEFycmF5DQo+ICsvLw0KPiArZXh0ZXJu IEVGSV9NSVNDX1NNQklPU19EQVRBX1RBQkxFIG1NaXNjU3ViY2xhc3NEYXRhVGFibGVbXTsNCj4g Kw0KPiArLy8NCj4gKy8vIERhdGEgVGFibGUgQXJyYXkgRW50cmllcw0KPiArLy8NCj4gK2V4dGVy biBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgIG1NaXNjU3ViY2xhc3NEYXRhVGFibGVFbnRy aWVzOw0KPiArZXh0ZXJuIEVGSV9ISUlfSEFORExFICAgICAgICAgICAgICAgbUhpaUhhbmRsZTsN Cj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlwZXMNCj4gKy8vDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK01pc2NTdWJjbGFzc0RyaXZlckVudHJ5UG9pbnQgKA0KPiArICBJTiBFRklfSEFO RExFICAgICAgICAgSW1hZ2VIYW5kbGUsDQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgICAqU3lz dGVtVGFibGUNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUUklORw0KPiArRUZJQVBJDQo+ICtTbWJp b3NNaXNjR2V0U3RyaW5nICgNCj4gKyAgSU4gRUZJX1NUUklOR19JRCAgIFN0cmluZ0lkDQo+ICsg ICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3ViY2xhc3NEcml2ZXIudW5pDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3ViY2xh c3NEcml2ZXIudW5pDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LjNhNmNjZjFkNzUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTdWJjbGFzc0RyaXZlci51bmkNCj4g QEAgLTAsMCArMSwzNSBAQA0KPiArLy8gKisrDQo+ICsvLw0KPiArLy8gQ29weXJpZ2h0IChjKSAy MDA0IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKy8v DQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ICsvLw0KPiArLy8gIE1pc2NTdWJjbGFzc0Ry aXZlci51bmkNCj4gKy8vDQo+ICsvLyBBYnN0cmFjdDoNCj4gKy8vDQo+ICsvLyAgIE1pc2MgU3Vi Y2xhc3MgaW5mb3JtYXRpb24uDQo+ICsvLw0KPiArLy8gUmV2aXNpb24gSGlzdG9yeToNCj4gKy8v DQo+ICsvLyAtLSovDQo+ICsNCj4gKy89Iw0KPiArDQo+ICsjbGFuZ2RlZiBlbi1VUyAiRW5nbGlz aCINCj4gKw0KPiArI3N0cmluZyBTVFJfTUlTQ19TVUJDTEFTU19EUklWRVJfVElUTEUgI2xhbmd1 YWdlIGVuLVVTICAiTm90IHVzZWQiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjQmFzZUJvYXJkTWFu dWZhY3R1cmVyLnVuaSINCj4gKyNpbmNsdWRlICJNaXNjQmlvc1ZlbmRvci51bmkiDQo+ICsjaW5j bHVkZSAiTWlzY0NoYXNzaXNNYW51ZmFjdHVyZXIudW5pIg0KPiArI2luY2x1ZGUgIk1pc2NPZW1T dHJpbmcudW5pIg0KPiArI2luY2x1ZGUgIk1pc2NPbmJvYXJkRGV2aWNlLnVuaSINCj4gKyNpbmNs dWRlICJNaXNjUG9ydEludGVybmFsQ29ubmVjdG9yRGVzaWduYXRvci51bmkiDQo+ICsjaW5jbHVk ZSAiTWlzY1N5c3RlbUxhbmd1YWdlU3RyaW5nLnVuaSINCj4gKyNpbmNsdWRlICJNaXNjU3lzdGVt TWFudWZhY3R1cmVyLnVuaSINCj4gKyNpbmNsdWRlICJNaXNjU3lzdGVtT3B0aW9uU3RyaW5nLnVu aSINCj4gKyNpbmNsdWRlICJNaXNjU3lzdGVtU2xvdERlc2lnbmF0aW9uLnVuaSINCj4gKw0KPiBk aWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlz Y0R4ZS9NaXNjU3ViY2xhc3NEcml2ZXJEYXRhDQo+IFRhYmxlLmMNCj4gYi9QbGF0Zm9ybS9JbnRl bC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTdWJjbGFzc0RyaXZlckRhdA0K PiBhVGFibGUuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45 MzM0N2ExYTA0DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3ViY2xhc3NEcml2ZXJEYXQNCj4gYVRh YmxlLmMNCj4gQEAgLTAsMCArMSw5OCBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gK0NvcHlyaWdo dCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0K PiArICBNaXNjU3ViY2xhc3NEcml2ZXJEYXRhVGFibGUuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4g Kw0KPiArICBDcmVhdGUgdGhlIG1NaXNjU3ViY2xhc3NEYXRhVGFibGUgc3RydWN0dXJlLCBhbmQg aXQgaXMgdXNlZCB0byByZXBvcnQNCj4gKyAgYW55IGdlbmVyYXRlIGRhdGEgdG8gdGhlIERhdGFI dWIuDQo+ICsNCj4gKw0KPiArKiovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRl ci5oIg0KPiArDQo+ICsjaW5jbHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsNCj4gKy8v DQo+ICsvLyBFeHRlcm5hbCBkZWZpbml0aW9ucyByZWZlcmVuY2VkIGJ5IERhdGEgVGFibGUgZW50 cmllcy4NCj4gKy8vDQo+ICtNSVNDX1NNQklPU19UQUJMRV9FWFRFUk5TKEVGSV9NSVNDX0JJT1Nf VkVORE9SX0RBVEEsDQo+IE1pc2NCaW9zVmVuZG9yLCBNaXNjQmlvc1ZlbmRvcik7DQo+ICtNSVND X1NNQklPU19UQUJMRV9FWFRFUk5TKEVGSV9NSVNDX1NZU1RFTV9NQU5VRkFDVFVSRVJfREFUDQo+ IEEsIE1pc2NTeXN0ZW1NYW51ZmFjdHVyZXIsIE1pc2NTeXN0ZW1NYW51ZmFjdHVyZXIpOw0KPiAr TUlTQ19TTUJJT1NfVEFCTEVfRVhURVJOUyhFRklfTUlTQ19CQVNFX0JPQVJEX01BTlVGQUNUVVJF DQo+IFJfREFUQSwgTWlzY0Jhc2VCb2FyZE1hbnVmYWN0dXJlciwgTWlzY0Jhc2VCb2FyZE1hbnVm YWN0dXJlcik7DQo+ICtNSVNDX1NNQklPU19UQUJMRV9FWFRFUk5TKEVGSV9NSVNDX0NIQVNTSVNf TUFOVUZBQ1RVUkVSX0RBDQo+IFRBLCBNaXNjQ2hhc3Npc01hbnVmYWN0dXJlciwgTWlzY0NoYXNz aXNNYW51ZmFjdHVyZXIpOw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRVhURVJOUyhFRklfQ0FDSEVf VkFSSUFCTEVfUkVDT1JELA0KPiBNaXNjUHJvY2Vzc29yQ2FjaGUsIE1pc2NQcm9jZXNzb3JDYWNo ZSk7IC8vdHlwZSA3DQo+ICtNSVNDX1NNQklPU19UQUJMRV9FWFRFUk5TKEVGSV9DUFVfREFUQV9S RUNPUkQsDQo+IE1pc2NQcm9jZXNzb3JJbmZvcm1hdGlvbiwgTWlzY1Byb2Nlc3NvckluZm9ybWF0 aW9uKTsgLy90eXBlIDQNCj4gK01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJX01FTU9SWV9B UlJBWV9MT0NBVElPTl9EQVRBLA0KPiBNaXNjUGh5c2ljYWxNZW1vcnlBcnJheSxNaXNjUGh5c2lj YWxNZW1vcnlBcnJheSk7DQo+ICtNSVNDX1NNQklPU19UQUJMRV9FWFRFUk5TKEVGSV9NRU1PUllf QVJSQVlfTElOS19EQVRBLA0KPiBNaXNjTWVtb3J5RGV2aWNlLCBNaXNjTWVtb3J5RGV2aWNlKTsN Cj4gKw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRVhURVJOUyhFRklfTUlTQ19QT1JUX0lOVEVSTkFM X0NPTk5FQ1RPUg0KPiBfREVTSUdOQVRPUl9EQVRBLCBNaXNjUG9ydElkZTEsIE1pc2NQb3J0SW50 ZXJuYWxDb25uZWN0b3JEZXNpZ25hdG9yKTsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMo RUZJX01JU0NfUE9SVF9JTlRFUk5BTF9DT05ORUNUT1INCj4gX0RFU0lHTkFUT1JfREFUQSwgTWlz Y1BvcnRJZGUyLCBNaXNjUG9ydEludGVybmFsQ29ubmVjdG9yRGVzaWduYXRvcik7DQo+ICtNSVND X1NNQklPU19UQUJMRV9FWFRFUk5TKEVGSV9NSVNDX1BPUlRfSU5URVJOQUxfQ09OTkVDVE9SDQo+ IF9ERVNJR05BVE9SX0RBVEEsIE1pc2NQb3J0QXR4UG93ZXIsDQo+IE1pc2NQb3J0SW50ZXJuYWxD b25uZWN0b3JEZXNpZ25hdG9yKTsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJX01J U0NfU1lTVEVNX1NMT1RfREVTSUdOQVRJT05fDQo+IERBVEEsIE1pc2NTeXN0ZW1TbG90UENJRXgx NlNsb3QxLCBNaXNjU3lzdGVtU2xvdERlc2lnbmF0aW9uKTsNCj4gK01JU0NfU01CSU9TX1RBQkxF X0VYVEVSTlMoRUZJX01JU0NfU1lTVEVNX1NMT1RfREVTSUdOQVRJT05fDQo+IERBVEEsIE1pc2NT eXN0ZW1TbG90UENJRXgxNlNsb3QyLCBNaXNjU3lzdGVtU2xvdERlc2lnbmF0aW9uKTsNCj4gK01J U0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJX01JU0NfU1lTVEVNX1NMT1RfREVTSUdOQVRJT05f DQo+IERBVEEsIE1pc2NTeXN0ZW1TbG90UENJRXg0LCBNaXNjU3lzdGVtU2xvdERlc2lnbmF0aW9u KTsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJX01JU0NfU1lTVEVNX1NMT1RfREVT SUdOQVRJT05fDQo+IERBVEEsIE1pc2NTeXN0ZW1TbG90UENJRXgxU2xvdDEsIE1pc2NTeXN0ZW1T bG90RGVzaWduYXRpb24pOw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRVhURVJOUyhFRklfTUlTQ19T WVNURU1fU0xPVF9ERVNJR05BVElPTl8NCj4gREFUQSwgTWlzY1N5c3RlbVNsb3RQQ0lFeDFTbG90 MiwgTWlzY1N5c3RlbVNsb3REZXNpZ25hdGlvbik7DQo+ICtNSVNDX1NNQklPU19UQUJMRV9FWFRF Uk5TKEVGSV9NSVNDX1NZU1RFTV9TTE9UX0RFU0lHTkFUSU9OXw0KPiBEQVRBLCBNaXNjU3lzdGVt U2xvdFBDSUV4MVNsb3QzLCBNaXNjU3lzdGVtU2xvdERlc2lnbmF0aW9uKTsNCj4gK01JU0NfU01C SU9TX1RBQkxFX0VYVEVSTlMoRUZJX01JU0NfU1lTVEVNX1NMT1RfREVTSUdOQVRJT05fDQo+IERB VEEsIE1pc2NTeXN0ZW1TbG90UENJMSwgTWlzY1N5c3RlbVNsb3REZXNpZ25hdGlvbik7DQo+ICtN SVNDX1NNQklPU19UQUJMRV9FWFRFUk5TKEVGSV9NSVNDX1NZU1RFTV9TTE9UX0RFU0lHTkFUSU9O Xw0KPiBEQVRBLCBNaXNjU3lzdGVtU2xvdFBDSTIsIE1pc2NTeXN0ZW1TbG90RGVzaWduYXRpb24p Ow0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRVhURVJOUyhFRklfTUlTQ19TWVNURU1fU0xPVF9ERVNJ R05BVElPTl8NCj4gREFUQSwgTWlzY1N5c3RlbVNsb3RQQ0kzLCBNaXNjU3lzdGVtU2xvdERlc2ln bmF0aW9uKTsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJX01JU0NfT05CT0FSRF9E RVZJQ0VfREFUQSwNCj4gTWlzY09uYm9hcmREZXZpY2VWaWRlbywgTWlzY09uYm9hcmREZXZpY2Up Ow0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRVhURVJOUyhFRklfTUlTQ19PTkJPQVJEX0RFVklDRV9E QVRBLA0KPiBNaXNjT25ib2FyZERldmljZU5ldHdvcmssIE1pc2NPbmJvYXJkRGV2aWNlKTsNCj4g K01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJX01JU0NfT05CT0FSRF9ERVZJQ0VfREFUQSwN Cj4gTWlzY09uYm9hcmREZXZpY2VBdWRpbywgTWlzY09uYm9hcmREZXZpY2UpOw0KPiArTUlTQ19T TUJJT1NfVEFCTEVfRVhURVJOUyhFRklfTUlTQ19OVU1CRVJfT0ZfSU5TVEFMTEFCTEVfTEENCj4g TkdVQUdFU19EQVRBLCBOdW1iZXJPZkluc3RhbGxhYmxlTGFuZ3VhZ2VzLA0KPiBOdW1iZXJPZklu c3RhbGxhYmxlTGFuZ3VhZ2VzKTsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJX01J U0NfU1lTVEVNX0xBTkdVQUdFX1NUUklOR18NCj4gREFUQSwgU3lzdGVtTGFuZ3VhZ2VTdHJpbmcs IFN5c3RlbUxhbmd1YWdlU3RyaW5nKTsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0VYVEVSTlMoRUZJ X01JU0NfQk9PVF9JTkZPUk1BVElPTl9TVEFUVVMNCj4gX0RBVEEsIEJvb3RJbmZvcm1hdGlvblN0 YXR1cywgQm9vdEluZm9ybWF0aW9uU3RhdHVzKTsNCj4gKw0KPiArLy8NCj4gKy8vIERhdGEgVGFi bGUuDQo+ICsvLw0KPiArRUZJX01JU0NfU01CSU9TX0RBVEFfVEFCTEUgIG1NaXNjU3ViY2xhc3NE YXRhVGFibGVbXSA9IHsNCj4gKyAgTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9BTkRfRlVO Q1RJT04oTWlzY0Jpb3NWZW5kb3IsDQo+IE1pc2NCaW9zVmVuZG9yKSwNCj4gKw0KPiBNSVNDX1NN QklPU19UQUJMRV9FTlRSWV9EQVRBX0FORF9GVU5DVElPTihNaXNjU3lzdGVtTWFudWZhY3QNCj4g dXJlciwgTWlzY1N5c3RlbU1hbnVmYWN0dXJlciksDQo+ICsNCj4gTUlTQ19TTUJJT1NfVEFCTEVf RU5UUllfREFUQV9BTkRfRlVOQ1RJT04oTWlzY0Jhc2VCb2FyZE1hbnUNCj4gZmFjdHVyZXIsIE1p c2NCYXNlQm9hcmRNYW51ZmFjdHVyZXIpLA0KPiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZ X0RBVEFfQU5EX0ZVTkNUSU9OKE1pc2NDaGFzc2lzTWFudWZhY3QNCj4gdXJlciwgTWlzY0NoYXNz aXNNYW51ZmFjdHVyZXIpLA0KPiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZX0RBVEFfQU5E X0ZVTkNUSU9OKE1pc2NQcm9jZXNzb3JDYWNoZSwNCj4gTWlzY1Byb2Nlc3NvckNhY2hlKSwgIC8v dHlwZSA3DQo+ICsNCj4gTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9BTkRfRlVOQ1RJT04o TWlzY1Byb2Nlc3NvckluZm9ybQ0KPiBhdGlvbiwgTWlzY1Byb2Nlc3NvckluZm9ybWF0aW9uKSwg IC8vdHlwZSA0DQo+ICsNCj4gTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9BTkRfRlVOQ1RJ T04oTWlzY1BoeXNpY2FsTWVtb3J5DQo+IEFycmF5LCBNaXNjUGh5c2ljYWxNZW1vcnlBcnJheSks ICAgIC8vVHlwZSAxNg0KPiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZX0RBVEFfQU5EX0ZV TkNUSU9OKE1pc2NNZW1vcnlEZXZpY2UsDQo+IE1pc2NNZW1vcnlEZXZpY2UpLCAvL1R5cGUgMTcN Cj4gKyAgTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9BTkRfRlVOQ1RJT04oTWlzY1BvcnRJ ZGUxLA0KPiBNaXNjUG9ydEludGVybmFsQ29ubmVjdG9yRGVzaWduYXRvciksDQo+ICsgIE1JU0Nf U01CSU9TX1RBQkxFX0VOVFJZX0RBVEFfQU5EX0ZVTkNUSU9OKE1pc2NQb3J0SWRlMiwNCj4gTWlz Y1BvcnRJbnRlcm5hbENvbm5lY3RvckRlc2lnbmF0b3IpLA0KPiArICBNSVNDX1NNQklPU19UQUJM RV9FTlRSWV9EQVRBX0FORF9GVU5DVElPTihNaXNjUG9ydEF0eFBvd2VyLA0KPiBNaXNjUG9ydElu dGVybmFsQ29ubmVjdG9yRGVzaWduYXRvciksDQo+ICsNCj4gTUlTQ19TTUJJT1NfVEFCTEVfRU5U UllfREFUQV9BTkRfRlVOQ1RJT04oTWlzY1N5c3RlbVNsb3RQQ0lFeA0KPiAxNlNsb3QxLCBNaXNj U3lzdGVtU2xvdERlc2lnbmF0aW9uKSwNCj4gKw0KPiBNSVNDX1NNQklPU19UQUJMRV9FTlRSWV9E QVRBX0FORF9GVU5DVElPTihNaXNjU3lzdGVtU2xvdFBDSUV4DQo+IDE2U2xvdDIsIE1pc2NTeXN0 ZW1TbG90RGVzaWduYXRpb24pLA0KPiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZX0RBVEFf QU5EX0ZVTkNUSU9OKE1pc2NTeXN0ZW1TbG90UENJRXgNCj4gNCwgTWlzY1N5c3RlbVNsb3REZXNp Z25hdGlvbiksDQo+ICsNCj4gTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9BTkRfRlVOQ1RJ T04oTWlzY1N5c3RlbVNsb3RQQ0lFeA0KPiAxU2xvdDEsIE1pc2NTeXN0ZW1TbG90RGVzaWduYXRp b24pLA0KPiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZX0RBVEFfQU5EX0ZVTkNUSU9OKE1p c2NTeXN0ZW1TbG90UENJRXgNCj4gMVNsb3QyLCBNaXNjU3lzdGVtU2xvdERlc2lnbmF0aW9uKSwN Cj4gKw0KPiBNSVNDX1NNQklPU19UQUJMRV9FTlRSWV9EQVRBX0FORF9GVU5DVElPTihNaXNjU3lz dGVtU2xvdFBDSUV4DQo+IDFTbG90MywgTWlzY1N5c3RlbVNsb3REZXNpZ25hdGlvbiksDQo+ICsN Cj4gTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9BTkRfRlVOQ1RJT04oTWlzY1N5c3RlbVNs b3RQQ0kxLA0KPiBNaXNjU3lzdGVtU2xvdERlc2lnbmF0aW9uKSwNCj4gKw0KPiBNSVNDX1NNQklP U19UQUJMRV9FTlRSWV9EQVRBX0FORF9GVU5DVElPTihNaXNjU3lzdGVtU2xvdFBDSTIsDQo+IE1p c2NTeXN0ZW1TbG90RGVzaWduYXRpb24pLA0KPiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZ X0RBVEFfQU5EX0ZVTkNUSU9OKE1pc2NTeXN0ZW1TbG90UENJMywNCj4gTWlzY1N5c3RlbVNsb3RE ZXNpZ25hdGlvbiksDQo+ICsjaWYgZGVmaW5lZCggQUxXQVlTX0RJU0FCTEVfT05CT0FSRF9WSURF TyApICYmIFwNCj4gKyAgICAoIEFMV0FZU19ESVNBQkxFX09OQk9BUkRfVklERU8gIT0gMCApDQo+ ICsNCj4gTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9BTkRfRlVOQ1RJT04oTWlzY09uYm9h cmREZXZpY2UNCj4gTmV0d29yaywgTWlzY09uYm9hcmREZXZpY2UpLA0KPiArDQo+IE1JU0NfU01C SU9TX1RBQkxFX0VOVFJZX0RBVEFfQU5EX0ZVTkNUSU9OKE1pc2NPbmJvYXJkRGV2aWNlQQ0KPiB1 ZGlvLCBNaXNjT25ib2FyZERldmljZSksDQo+ICsjZWxzZQ0KPiArDQo+IE1JU0NfU01CSU9TX1RB QkxFX0VOVFJZX0RBVEFfQU5EX0ZVTkNUSU9OKE1pc2NPbmJvYXJkRGV2aWNlVg0KPiBpZGVvLCBN aXNjT25ib2FyZERldmljZSksDQo+ICsNCj4gTUlTQ19TTUJJT1NfVEFCTEVfRU5UUllfREFUQV9B TkRfRlVOQ1RJT04oTWlzY09uYm9hcmREZXZpY2VBDQo+IHVkaW8sIE1pc2NPbmJvYXJkRGV2aWNl KSwNCj4gKyNlbmRpZg0KPiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZX0RBVEFfQU5EX0ZV TkNUSU9OKFN5c3RlbUxhbmd1YWdlU3RyaW4NCj4gZywgU3lzdGVtTGFuZ3VhZ2VTdHJpbmcpLA0K PiArDQo+IE1JU0NfU01CSU9TX1RBQkxFX0VOVFJZX0RBVEFfQU5EX0ZVTkNUSU9OKEJvb3RJbmZv cm1hdGlvblN0YXQNCj4gdXMsIEJvb3RJbmZvcm1hdGlvblN0YXR1cyksDQo+ICt9Ow0KPiArDQo+ ICsvLw0KPiArLy8gTnVtYmVyIG9mIERhdGEgVGFibGUgZW50cmllcy4NCj4gKy8vDQo+ICtVSU5U TiBtTWlzY1N1YmNsYXNzRGF0YVRhYmxlRW50cmllcyA9DQo+ICsgICAgICAgIChzaXplb2YgbU1p c2NTdWJjbGFzc0RhdGFUYWJsZSkgLw0KPiBzaXplb2YoRUZJX01JU0NfU01CSU9TX0RBVEFfVEFC TEUpOw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv U21CaW9zTWlzY0R4ZS9NaXNjU3ViY2xhc3NEcml2ZXJFbnRyDQo+IHlQb2ludC5jDQo+IGIvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3ViY2xhc3NE cml2ZXJFbnRyDQo+IHlQb2ludC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLmU3MDczMmY1YzINCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTdWJjbGFzc0RyaXZl ckVudHINCj4geVBvaW50LmMNCj4gQEAgLTAsMCArMSwxODIgQEANCj4gKy8qKiBAZmlsZQ0KPiAr DQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCBy aWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxl IE5hbWU6DQo+ICsNCj4gKyAgTWlzY1N1YmNsYXNzRHJpdmVyRW50cnlQb2ludC5jDQo+ICsNCj4g K0Fic3RyYWN0Og0KPiArDQo+ICsgIFRoaXMgZHJpdmVyIHBhcnNlcyB0aGUgbU1pc2NTdWJjbGFz c0RhdGFUYWJsZSBzdHJ1Y3R1cmUgYW5kIHJlcG9ydHMNCj4gKyAgYW55IGdlbmVyYXRlZCBkYXRh IHRvIHRoZSBEYXRhSHViLg0KPiArDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRl ICJDb21tb25IZWFkZXIuaCINCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4g KyNpbmNsdWRlIDxQcm90b2NvbC9IaWlTdHJpbmcuaD4NCj4gKyNpbmNsdWRlIDxHdWlkL1BsYXRm b3JtSW5mby5oPg0KPiArDQo+ICsNCj4gK0VGSV9ISUlfSEFORExFICBtSGlpSGFuZGxlOw0KPiAr RUZJX0hJSV9TVFJJTkdfUFJPVE9DT0wgICptSGlpU3RyaW5nOw0KPiArRUZJX1BMQVRGT1JNX0lO Rk9fSE9CICptUGxhdGZvcm1JbmZvPU5VTEw7DQo+ICsNCj4gK0VGSV9TVFJJTkcNCj4gK0VGSUFQ SQ0KPiArU21iaW9zTWlzY0dldFN0cmluZyAoDQo+ICsgIElOIEVGSV9TVFJJTkdfSUQgICBTdHJp bmdJZA0KPiArICApew0KPiArDQo+ICsgIEVGSV9TVEFUVVMgIFN0YXR1czsNCj4gKyAgVUlOVE4g ICAgICAgU3RyaW5nU2l6ZTsNCj4gKyAgQ0hBUjE2ICAgICAgVGVtcFN0cmluZzsNCj4gKyAgRUZJ X1NUUklORyAgU3RyaW5nOw0KPiArICBTdHJpbmcgICAgICAgICAgICAgPSBOVUxMOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFJldHJpZXZlIHRoZSBzaXplIG9mIHRoZSBzdHJpbmcgaW4gdGhlIHN0 cmluZyBwYWNrYWdlIGZvciB0aGUgQmVzdExhbmd1YWdlDQo+ICsgIC8vDQo+ICsgIFN0cmluZ1Np emUgPSAwOw0KPiArICBTdGF0dXMgPSBtSGlpU3RyaW5nLT5HZXRTdHJpbmcgKA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgIG1IaWlTdHJpbmcsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgImVuLVVTIiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICBtSGlpSGFuZGxlLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgIFN0cmluZ0lkLA0KPiArICAgICAgICAgICAgICAgICAg ICAgICAgICZUZW1wU3RyaW5nLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICZTdHJpbmdT aXplLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICApOw0KPiArICAvLw0KPiArICAvLyBJZiBHZXRTdHJpbmcoKSByZXR1cm5zIEVG SV9TVUNDRVNTIGZvciBhIHplcm8gc2l6ZSwNCj4gKyAgLy8gdGhlbiB0aGVyZSBhcmUgbm8gc3Vw cG9ydGVkIGxhbmd1YWdlcyByZWdpc3RlcmVkIGZvciBIaWlIYW5kbGUuICBJZg0KPiBHZXRTdHJp bmcoKQ0KPiArICAvLyByZXR1cm5zIGFuIGVycm9yIG90aGVyIHRoYW4gRUZJX0JVRkZFUl9UT09f U01BTEwsIHRoZW4gSGlpSGFuZGxlIGlzDQo+IG5vdCBwcmVzZW50DQo+ICsgIC8vIGluIHRoZSBI SUkgRGF0YWJhc2UNCj4gKyAgLy8NCj4gKyAgaWYgKFN0YXR1cyAhPSBFRklfQlVGRkVSX1RPT19T TUFMTCkgew0KPiArICAgIGdvdG8gRXJyb3I7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBBbGxvY2F0ZSBhIGJ1ZmZlciBmb3IgdGhlIHJldHVybiBzdHJpbmcNCj4gKyAgLy8NCj4gKyAg U3RyaW5nID0gQWxsb2NhdGVaZXJvUG9vbCAoU3RyaW5nU2l6ZSk7DQo+ICsgIGlmIChTdHJpbmcg PT0gTlVMTCkgew0KPiArICAgIGdvdG8gRXJyb3I7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiAr ICAvLyBSZXRyaWV2ZSB0aGUgc3RyaW5nIGZyb20gdGhlIHN0cmluZyBwYWNrYWdlDQo+ICsgIC8v DQo+ICsgIFN0YXR1cyA9IG1IaWlTdHJpbmctPkdldFN0cmluZyAoDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgICAgbUhpaVN0cmluZywNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAiZW4t VVMiLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIG1IaWlIYW5kbGUsDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgU3RyaW5nSWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg U3RyaW5nLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICZTdHJpbmdTaXplLA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBG cmVlIHRoZSBidWZmZXIgYW5kIHJldHVybiBOVUxMIGlmIHRoZSBzdXBwb3J0ZWQgbGFuZ3VhZ2Vz IGNhbiBub3QgYmUNCj4gcmV0cmlldmVkLg0KPiArICAgIC8vDQo+ICsgICAgRnJlZVBvb2wgKFN0 cmluZyk7DQo+ICsgICAgU3RyaW5nID0gTlVMTDsNCj4gKyAgfQ0KPiArRXJyb3I6DQo+ICsNCj4g KyAgcmV0dXJuIFN0cmluZzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFN0YW5kYXJkIEVGSSBk cml2ZXIgcG9pbnQuICBUaGlzIGRyaXZlciBwYXJzZXMgdGhlIG1NaXNjU3ViY2xhc3NEYXRhVGFi bGUNCj4gKyAgc3RydWN0dXJlIGFuZCByZXBvcnRzIGFueSBnZW5lcmF0ZWQgZGF0YSB0byB0aGUg RGF0YUh1Yi4NCj4gKw0KPiArICBAcGFyYW0gSW1hZ2VIYW5kbGUgICAtIEhhbmRsZSBmb3IgdGhl IGltYWdlIG9mIHRoaXMgZHJpdmVyDQo+ICsgIEBwYXJhbSBTeXN0ZW1UYWJsZSAgIC0gUG9pbnRl ciB0byB0aGUgRUZJIFN5c3RlbSBUYWJsZQ0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1Mg ICAgICAtIFRoZSBkYXRhIHdhcyBzdWNjZXNzZnVsbHkgcmVwb3J0ZWQgdG8gdGhlIERhdGENCj4g SHViLg0KPiArICBAcmV0dmFsIEVGSV9ERVZJQ0VfRVJST1IgLSBDYW4gbm90IGxvY2F0ZSBhbnkg cHJvdG9jb2xzDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtNaXNj U3ViY2xhc3NEcml2ZXJFbnRyeVBvaW50ICgNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAgIElt YWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAgKlN5c3RlbVRhYmxlDQo+ICsg ICkNCj4gK3sNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIEVGSV9TVEFU VVMgICAgICAgICAgIEVmaVN0YXR1czsNCj4gKyAgRUZJX1NNQklPU19QUk9UT0NPTCAgKlNtYmlv czsNCj4gKyAgRUZJX1BFSV9IT0JfUE9JTlRFUlMgR3VpZEhvYjsNCj4gKw0KPiArDQo+ICsNCj4g KyAgR3VpZEhvYi5SYXcgPSBHZXRIb2JMaXN0ICgpOw0KPiArICBpZiAoR3VpZEhvYi5SYXcgIT0g TlVMTCkgew0KPiArICAgIGlmICgoR3VpZEhvYi5SYXcgPSBHZXROZXh0R3VpZEhvYiAoJmdFZmlQ bGF0Zm9ybUluZm9HdWlkLA0KPiBHdWlkSG9iLlJhdykpICE9IE5VTEwpIHsNCj4gKyAgICAgIG1Q bGF0Zm9ybUluZm8gPSBHRVRfR1VJRF9IT0JfREFUQSAoR3VpZEhvYi5HdWlkKTsNCj4gKyAgICB9 DQo+ICsgIH0NCj4gKw0KPiArICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiUGxhdGZvcm1JbmZvSG9i LT5Cb2FyZElkIFsweCV4XVxuIiwNCj4gbVBsYXRmb3JtSW5mby0+Qm9hcmRJZCkpOw0KPiArDQo+ ICsgIC8vDQo+ICsgIC8vIFJldHJpZXZlIHRoZSBwb2ludGVyIHRvIHRoZSBVRUZJIEhJSSBTdHJp bmcgUHJvdG9jb2wNCj4gKyAgLy8NCj4gKyAgRWZpU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2Nv bCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAmZ0VmaUhpaVN0cmluZ1Byb3RvY29sR3VpZCwN Cj4gKyAgICAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICAo Vk9JRCAqKikgJm1IaWlTdHJpbmcNCj4gKyAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFT U0VSVF9FRklfRVJST1IgKEVmaVN0YXR1cyk7DQo+ICsNCj4gKyAgRWZpU3RhdHVzID0gZ0JTLT5M b2NhdGVQcm90b2NvbCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICZnRWZpU21iaW9zUHJvdG9j b2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAg ICAgICAgIChWT0lEKiopJlNtYmlvcw0KPiArICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0K PiArICBpZiAoRUZJX0VSUk9SKEVmaVN0YXR1cykpIHsNCj4gKyAgICBERUJVRygoRUZJX0RfRVJS T1IsICJDb3VsZCBub3QgbG9jYXRlIFNNQklPUyBwcm90b2NvbC4gICVyXG4iLA0KPiBFZmlTdGF0 dXMpKTsNCj4gKyAgICByZXR1cm4gRWZpU3RhdHVzOw0KPiArICB9DQo+ICsNCj4gKyAgbUhpaUhh bmRsZSA9IEhpaUFkZFBhY2thZ2VzICgNCj4gKyAgICAgICAgICAgICAgICAgJmdFZmlDYWxsZXJJ ZEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgIE1p c2NTdWJjbGFzc1N0cmluZ3MsDQo+ICsgICAgICAgICAgICAgICAgIE5VTEwNCj4gKyAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgQVNTRVJUIChtSGlpSGFuZGxlICE9IE5VTEwpOw0KPiArDQo+ICsg IGZvciAoSW5kZXggPSAwOyBJbmRleCA8IG1NaXNjU3ViY2xhc3NEYXRhVGFibGVFbnRyaWVzOyAr K0luZGV4KSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBJZiB0aGUgZW50cnkgaGF2ZSBhIGZ1bmN0 aW9uIHBvaW50ZXIsIGp1c3QgbG9nIHRoZSBkYXRhLg0KPiArICAgIC8vDQo+ICsgICAgaWYgKG1N aXNjU3ViY2xhc3NEYXRhVGFibGVbSW5kZXhdLkZ1bmN0aW9uICE9IE5VTEwpIHsNCj4gKyAgICAg IEVmaVN0YXR1cyA9ICgqbU1pc2NTdWJjbGFzc0RhdGFUYWJsZVtJbmRleF0uRnVuY3Rpb24pKA0K PiArICAgICAgICBtTWlzY1N1YmNsYXNzRGF0YVRhYmxlW0luZGV4XS5SZWNvcmREYXRhLA0KPiAr ICAgICAgICBTbWJpb3MNCj4gKyAgICAgICAgKTsNCj4gKw0KPiArICAgICAgaWYgKEVGSV9FUlJP UihFZmlTdGF0dXMpKSB7DQo+ICsgICAgICAgIERFQlVHKChFRklfRF9FUlJPUiwgIk1pc2Mgc21i aW9zIHN0b3JlIGVycm9yLiAgSW5kZXg9JWQsDQo+IFJldHVyblN0YXR1cz0lclxuIiwgSW5kZXgs IEVmaVN0YXR1cykpOw0KPiArICAgICAgICByZXR1cm4gRWZpU3RhdHVzOw0KPiArICAgICAgfQ0K PiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFZmlTdGF0dXM7DQo+ICt9DQo+ICsN Cj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlv c01pc2NEeGUvTWlzY1N5c3RlbUxhbmd1YWdlU3QNCj4gcmluZy51bmkNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1MYW5ndWFnZVN0 DQo+IHJpbmcudW5pDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAu LjlmM2ZkZjhhM2YNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1MYW5ndWFnZVN0DQo+IHJp bmcudW5pDQo+IEBAIC0wLDAgKzEsMjQgQEANCj4gKy8vICorKw0KPiArLy8NCj4gKy8vIENvcHly aWdodCAoYykgMjAwNCAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2Vy dmVkLjxCUj4NCj4gKy8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsvLw0KPiArLy8NCj4gKy8vIE1vZHVsZSBOYW1lOg0KPiArLy8NCj4gKy8vICAgTWlz Y1N5c3RlbUxhbmd1YWdlU3RyaW5nLnVuaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0Og0KPiArLy8N Cj4gKy8vICAgU3lzdGVtIGxhbmd1YWdlIGluZm9ybWF0aW9uDQo+ICsvLw0KPiArLy8gUmV2aXNp b24gSGlzdG9yeToNCj4gKy8vDQo+ICsvLyAtLSovDQo+ICsNCj4gKw0KPiArLz0jDQo+ICsNCj4g KyNsYW5nZGVmIGVuLVVTICJFbmdsaXNoIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1NZU1RF TV9MQU5HVUFHRV9FTl9VUyAjbGFuZ3VhZ2UgZW4tVVMgICJlblVTIg0KPiBkaWZmIC0tZ2l0DQo+ IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lz dGVtTGFuZ3VhZ2VTdA0KPiByaW5nRGF0YS5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtTGFuZ3VhZ2VTdA0KPiByaW5nRGF0YS5j DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmE5ZGVmMjM1NjAN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1MYW5ndWFnZVN0DQo+IHJpbmdEYXRhLmMNCj4g QEAgLTAsMCArMSwzNCBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAw NCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50 DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNj U3lzdGVtTGFuZ3VhZ2VTdHJpbmdEYXRhLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAg U3RhdGljIGRhdGEgb2YgU3lzdGVtIGxhbmd1YWdlIHN0cmluZyBpbmZvcm1hdGlvbi4NCj4gKyAg U3lzdGVtIGxhbmd1YWdlIHN0cmluZyBpbmZvcm1hdGlvbiBpcyBNaXNjLiBzdWJjbGFzcyB0eXBl IDEyIGFuZCBTTUJJT1MNCj4gdHlwZSAxMy4NCj4gKw0KPiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xh c3NEcml2ZXIuaCINCj4gKw0KPiArLy8NCj4gKy8vIFN0YXRpYyAocG9zc2libHkgYnVpbGQgZ2Vu ZXJhdGVkKSBCaW9zIFZlbmRvciBkYXRhLg0KPiArLy8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0RB VEEoRUZJX01JU0NfU1lTVEVNX0xBTkdVQUdFX1NUUklOR19EQVQNCj4gQSwgU3lzdGVtTGFuZ3Vh Z2VTdHJpbmcpDQo+ICs9IHsNCj4gKyAgMCwNCj4gKyAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1NZ U1RFTV9MQU5HVUFHRV9FTl9VUykNCj4gK307DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1MYW5ndWFnZVN0 DQo+IHJpbmdGdW5jdGlvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv U21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtTGFuZ3VhZ2VTdA0KPiByaW5nRnVuY3Rpb24uYw0KPiBu ZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi44YWJmYTQwNzRhDQo+IC0t LSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv U21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtTGFuZ3VhZ2VTdA0KPiByaW5nRnVuY3Rpb24uYw0KPiBA QCAtMCwwICsxLDkzIEBADQo+ICsvKisrDQo+ICsNCj4gK0NvcHlyaWdodCAoYykgMjAwOSAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiAN Cj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArDQo+IA0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBNaXNjUmVzZXRDYXBhYmls aXRpZXNGdW5jdGlvbi5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsgIFJlc2V0Q2FwYWJp bGl0aWVzLg0KPiArICBTTUJJT1MgdHlwZSAyMy4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsNCj4g KyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCINCj4gKw0KPiArI2luY2x1ZGUgIk1pc2NTdWJjbGFz c0RyaXZlci5oIg0KPiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gbWFrZXMgYm9vdCB0aW1lIGNo YW5nZXMgdG8gdGhlIGNvbnRlbnRzIG9mIHRoZQ0KPiArICBNaXNjT2VtU3RyaW5nIChUeXBlIDEx KS4NCj4gKw0KPiArICBAcGFyYW0gIFJlY29yZERhdGEgICAgICAgICAgICAgICAgIFBvaW50ZXIg dG8gY29weSBvZiBSZWNvcmREYXRhIGZyb20gdGhlIERhdGENCj4gVGFibGUuDQo+ICsNCj4gKyAg QHJldHZhbCBFRklfU1VDQ0VTUyAgICAgICAgICAgICAgICBBbGwgcGFyYW1ldGVycyB3ZXJlIHZh bGlkLg0KPiArICBAcmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgICAgIFVuZXhwZWN0ZWQg UmVjb3JkVHlwZSB2YWx1ZS4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAg ICBJbnZhbGlkIHBhcmFtZXRlciB3YXMgZm91bmQuDQo+ICsNCj4gKyoqLw0KPiArDQo+ICtNSVND X1NNQklPU19UQUJMRV9GVU5DVElPTihTeXN0ZW1MYW5ndWFnZVN0cmluZykNCj4gK3sNCj4gKyAg RUZJX1NUQVRVUyAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1NNQklPU19IQU5ETEUg ICAgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgU01CSU9TX1RBQkxFX1RZUEUxMyAgICAgICpTbWJp b3NSZWNvcmQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICAgICBTdHJMZW5nOw0KPiArICBD SEFSOCAgICAgICAgICAgICAgICAgICAgKk9wdGlvbmFsU3RyU3RhcnQ7DQo+ICsgIEVGSV9TVFJJ TkcgICAgICAgICAgICAgICBTdHI7DQo+ICsgIFNUUklOR19SRUYgICAgICAgICAgICAgICBUb2tl blRvR2V0Ow0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3QgY2hlY2sgZm9yIGludmFs aWQgcGFyYW1ldGVycy4NCj4gKyAgLy8NCj4gKyAgaWYgKFJlY29yZERhdGEgPT0gTlVMTCkgew0K PiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICBU b2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TWVNURU1fTEFOR1VBR0VfRU5fVVMp Ow0KPiArICBTdHIgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgU3Ry TGVuZyA9IFN0ckxlbihTdHIpOw0KPiArICBpZiAoU3RyTGVuZyA+IFNNQklPU19TVFJJTkdfTUFY X0xFTkdUSCkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0K PiArICAvLw0KPiArICAvLyBUd28gemVyb3MgZm9sbG93aW5nIHRoZSBsYXN0IHN0cmluZy4NCj4g KyAgLy8NCj4gKyAgU21iaW9zUmVjb3JkID0gQWxsb2NhdGVQb29sKHNpemVvZiAoU01CSU9TX1RB QkxFX1RZUEUxMykgKyBTdHJMZW5nICsNCj4gMSArIDEpOw0KPiArICBaZXJvTWVtKFNtYmlvc1Jl Y29yZCwgc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTEzKSArIFN0ckxlbmcgKyAxICsNCj4gMSk7 DQo+ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIuVHlwZSA9DQo+IEVGSV9TTUJJT1NfVFlQRV9C SU9TX0xBTkdVQUdFX0lORk9STUFUSU9OOw0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5MZW5ndGgg PSBzaXplb2YgKFNNQklPU19UQUJMRV9UWVBFMTMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE1h a2UgaGFuZGxlIGNob3NlbiBieSBzbWJpb3MgcHJvdG9jb2wuYWRkIGF1dG9tYXRpY2FsbHkuDQo+ ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkhhbmRsZSAgICA9IDA7DQo+ICsgIFNtYmlv c1JlY29yZC0+SW5zdGFsbGFibGVMYW5ndWFnZXMgPSAxOw0KPiArICBTbWJpb3NSZWNvcmQtPkZs YWdzICAgPSAxOw0KPiArICBTbWJpb3NSZWNvcmQtPkN1cnJlbnRMYW5ndWFnZXMgPSAxOw0KPiAr ICBPcHRpb25hbFN0clN0YXJ0ID0gKENIQVI4ICopKFNtYmlvc1JlY29yZCArIDEpOw0KPiArICBV bmljb2RlU3RyVG9Bc2NpaVN0cihTdHIsIE9wdGlvbmFsU3RyU3RhcnQpOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIE5vdyB3ZSBoYXZlIGdvdCB0aGUgZnVsbCBzbWJpb3MgcmVjb3JkLCBjYWxsIHNt YmlvcyBwcm90b2NvbCB0byBhZGQgdGhpcw0KPiByZWNvcmQuDQo+ICsgIC8vDQo+ICsgIFNtYmlv c0hhbmRsZSA9IFNNQklPU19IQU5ETEVfUElfUkVTRVJWRUQ7DQo+ICsgIFN0YXR1cyA9IFNtYmlv cy0+IEFkZCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBTbWJpb3MsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAmU21iaW9zSGFuZGxl LA0KPiArICAgICAgICAgICAgICAgICAgICAgIChFRklfU01CSU9TX1RBQkxFX0hFQURFUiAqKSBT bWJpb3NSZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICBGcmVlUG9vbChT bWJpb3NSZWNvcmQpOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+IGRpZmYgLS1n aXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01p c2NTeXN0ZW1NYW51ZmFjdHUNCj4gcmVyLnVuaQ0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU1hbnVmYWN0dQ0KPiByZXIudW5pDQo+ IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmQ1ODdlMGQ3ZGYNCj4g LS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1NYW51ZmFjdHUNCj4gcmVyLnVuaQ0KPiBAQCAtMCww ICsxLDMwIEBADQo+ICsvLyAqKysNCj4gKy8vDQo+ICsvLyBDb3B5cmlnaHQgKGMpIDIwMDQgLSAy MDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsvLyBT UERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArLy8NCj4gKy8v DQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ICsvLyAgIE1pc2NTeXN0ZW1NYW51ZmFjdHVy ZXIudW5pDQo+ICsvLw0KPiArLy8gQWJzdHJhY3Q6DQo+ICsvLw0KPiArLy8gICBTeXN0ZW0gbWFu dWZhY3R1cmVyIGluZm9ybWF0aW9uDQo+ICsvLw0KPiArLy8gUmV2aXNpb24gSGlzdG9yeToNCj4g Ky8vDQo+ICsvLyAtLSovDQo+ICsNCj4gKw0KPiArLz0jDQo+ICsNCj4gKyNsYW5nZGVmIGVuLVVT ICJFbmdsaXNoIg0KPiArDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1NZU1RFTV9NQU5VRkFDVFVSRVIg ICAjbGFuZ3VhZ2UgZW4tVVMgICJDaXJjdWl0Y28iDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1NZU1RF TV9QUk9EVUNUX05BTUUgICAjbGFuZ3VhZ2UgZW4tVVMNCj4gIlZBTExFWVZJRVcgQTAgUExBVEZP Uk0iDQo+ICsjc3RyaW5nIFNUUl9NSVNDX1NZU1RFTV9WRVJTSU9OICAgICAgICAjbGFuZ3VhZ2Ug ZW4tVVMgICJBMCINCj4gKyNzdHJpbmcgU1RSX01JU0NfU1lTVEVNX1NFUklBTF9OVU1CRVIgICNs YW5ndWFnZSBlbi1VUyAgIlRvIGJlDQo+IGZpbGxlZCBieSBPLkUuTSINCj4gKyNzdHJpbmcgU1RS X01JU0NfU1lTVEVNX1NLVV9OVU1CRVIgICAgICNsYW5ndWFnZSBlbi1VUyAgIlRvIGJlIGZpbGxl ZA0KPiBieSBPLkUuTSINCj4gKyNzdHJpbmcgU1RSX01JU0NfU1lTVEVNX0ZBTUlMWV9OQU1FICAg ICNsYW5ndWFnZSBlbi1VUyAgIklBIFRhYmxldCINCj4gKyNzdHJpbmcgU1RSX01JU0NfU1lTVEVN X0ZBTUlMWV9OQU1FMSAgICNsYW5ndWFnZSBlbi1VUyAgIklBDQo+IE5vdGVib29rIg0KPiBcIE5v IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVs L1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU1hbnVmYWN0dQ0KPiBy ZXJEYXRhLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNj RHhlL01pc2NTeXN0ZW1NYW51ZmFjdHUNCj4gcmVyRGF0YS5jDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmRjMTJmYThlMTYNCj4gLS0tIC9kZXYvbnVsbA0KPiAr KysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01p c2NTeXN0ZW1NYW51ZmFjdHUNCj4gcmVyRGF0YS5jDQo+IEBAIC0wLDAgKzEsNDggQEANCj4gKy8q KiBAZmlsZQ0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9y YXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4g Kw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlzY1N5c3RlbU1hbnVmYWN0dXJlckRhdGEu Yw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBTdGF0aWMgZGF0YSBvZiBTeXN0ZW0gbWFu dWZhY3R1cmVyIGluZm9ybWF0aW9uLg0KPiArICBTeXN0ZW0gbWFudWZhY3R1cmVyIGluZm9ybWF0 aW9uIGlzIE1pc2MuIHN1YmNsYXNzIHR5cGUgMyBhbmQgU01CSU9TDQo+IHR5cGUgMS4NCj4gKw0K PiArDQo+ICsqKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9uSGVhZGVyLmgiDQo+ICsN Cj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0KPiArLy8NCj4gKy8vIFN0 YXRpYyAocG9zc2libHkgYnVpbGQgZ2VuZXJhdGVkKSBTeXN0ZW0gTWFudWZhY3R1cmVyIGRhdGEu DQo+ICsvLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfREFUQShFRklfTUlTQ19TWVNURU1fTUFOVUZB Q1RVUkVSX0RBVEEsDQo+IE1pc2NTeXN0ZW1NYW51ZmFjdHVyZXIpDQo+ICs9IHsNCj4gKyAgU1RS SU5HX1RPS0VOKFNUUl9NSVNDX1NZU1RFTV9NQU5VRkFDVFVSRVIpLCAgLy8NCj4gU3lzdGVtTWFu dWZhY3RydXJlcg0KPiArICBTVFJJTkdfVE9LRU4oU1RSX01JU0NfU1lTVEVNX1BST0RVQ1RfTkFN RSksICAvLw0KPiBTeXN0ZW1Qcm9kdWN0TmFtZQ0KPiArICBTVFJJTkdfVE9LRU4oU1RSX01JU0Nf U1lTVEVNX1ZFUlNJT04pLCAgICAgICAvLyBTeXN0ZW1WZXJzaW9uDQo+ICsgIFNUUklOR19UT0tF TihTVFJfTUlTQ19TWVNURU1fU0VSSUFMX05VTUJFUiksIC8vDQo+IFN5c3RlbVNlcmlhbE51bWJl cg0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBT eXN0ZW1VdWlkDQo+ICsgIAkvLw0KPiArICAgIC8vIFVuZGVmaW5lZCBHVUlEIGJ1dCBjYW4gYmUg cHJvZ3JhbW1lZCBsYXRlci4NCj4gKyAgICAvLzB4RkZGRkZGRkYsIDB4RkZGRiwgMHhGRkZGLCAw eEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLCAweEZGLA0KPiAweEZGDQo+ICsNCj4g KyAgICAvLyBVbmRlZmluZWQgR1VJRCB0aGF0IGNhbm5vdCBiZSBwcm9ncmFtbWVkIGxhdGVyLg0K PiArICAgIC8vMHgwMDAwMDAwMCwgMHgwMDAwLCAweDAwMDAsIDB4MDAsIDB4MDAsIDB4MDAsIDB4 MDAsIDB4MDAsIDB4MDAsIDB4MDAsDQo+IDB4MDANCj4gKwkvLyBUT0RPIEhhcmQgY29kZSBoZXJl IGZvciBXSENUIHRlc3QuDQo+ICsJMHhhNTAwMDI4OCwgMHg2NDYyLCAweDQ1MjQsIDB4OTgsIDB4 NmEsIDB4OWIsIDB4NzcsIDB4MzcsIDB4ZTMsIDB4MTUsDQo+IDB4Y2YNCj4gKwkvLw0KPiArICB9 LA0KPiArICBFZmlTeXN0ZW1XYWtldXBUeXBlUG93ZXJTd2l0Y2ggIC8vIFN5c3RlbVdha2V1cFR5 cGUNCj4gK307DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1NYW51ZmFjdHUNCj4gcmVyRnVuY3Rpb24uYw0K PiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5 c3RlbU1hbnVmYWN0dQ0KPiByZXJGdW5jdGlvbi5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+ IGluZGV4IDAwMDAwMDAwMDAuLjYzYzRmNTBlZDUNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4g Yi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0 ZW1NYW51ZmFjdHUNCj4gcmVyRnVuY3Rpb24uYw0KPiBAQCAtMCwwICsxLDM2NCBAQA0KPiArLyor Kw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpIDIwMDkgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4g QWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZp ZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgIE1pc2NTeXN0ZW1NYW51ZmFjdHVyZXJGdW5jdGlvbi5jDQo+ICsNCj4gK0Fic3Ry YWN0Og0KPiArDQo+ICsgIFRoaXMgZHJpdmVyIHBhcnNlcyB0aGUgbU1pc2NTdWJjbGFzc0RhdGFU YWJsZSBzdHJ1Y3R1cmUgYW5kIHJlcG9ydHMNCj4gKyAgYW55IGdlbmVyYXRlZCBkYXRhLg0KPiAr DQo+ICstLSovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1vbkhlYWRlci5oIg0KPiArI2lu Y2x1ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0R4ZVNt bVJlYWR5VG9Mb2NrLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9OZXRMaWIuaD4NCj4gKyNpbmNs dWRlICJMaWJyYXJ5L0RlYnVnTGliLmgiDQo+ICsjaW5jbHVkZSA8VWVmaS9VZWZpQmFzZVR5cGUu aD4NCj4gKyNpbmNsdWRlIDxHdWlkL1BsYXRmb3JtSW5mby5oPg0KPiArDQo+ICsNCj4gK2V4dGVy biBFRklfUExBVEZPUk1fSU5GT19IT0IgKm1QbGF0Zm9ybUluZm87DQo+ICsNCj4gKw0KPiArLyoq DQo+ICsNCj4gKyAgUHVibGlzaCB0aGUgc21iaW9zIHR5cGUgMS4NCj4gKw0KPiArICBAcGFyYW0g RXZlbnQgICAgICBFdmVudCB3aG9zZSBub3RpZmljYXRpb24gZnVuY3Rpb24gaXMgYmVpbmcgaW52 b2tlZA0KPiAoZ0VmaUR4ZVNtbVJlYWR5VG9Mb2NrUHJvdG9jb2xHdWlkKS4NCj4gKyAgQHBhcmFt IENvbnRleHQgICAgUG9pbnRlciB0byB0aGUgbm90aWZpY2F0aW9uIGZ1bmN0aW9ucyBjb250ZXh0 LCB3aGljaCBpcw0KPiBpbXBsZW1lbnRhdGlvbiBkZXBlbmRlbnQuDQo+ICsNCj4gKyAgQHJldHZh bCBOb25lDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtBZGRTbWJp b3NNYW51Q2FsbGJhY2sgKA0KPiArICBJTiBFRklfRVZFTlQgIEV2ZW50LA0KPiArICBJTiBWT0lE ICAgICAgICpDb250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKw0KPiArICBDSEFSOCAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgKk9wdGlvbmFsU3RyU3RhcnQ7DQo+ICsgIFVJTlROICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBNYW51U3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgVmVyU3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgUGROYW1lU3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2VyaWFsTnVtU3RyTGVuOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU2t1TnVtYmVyU3RyTGVuOw0KPiArICBVSU5UTgkJCQkgICAgICAgICAgICAgICAgRmFt aWx5TmFtZVN0ckxlbjsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgIFN0 YXR1czsNCj4gKyAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgIE1hbnVmYWN0dXJl cjsNCj4gKyAgRUZJX1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgIFByb2R1Y3ROYW1lOw0K PiArICBFRklfU1RSSU5HICAgICAgICAgICAgICAgICAgICAgICAgVmVyc2lvbjsNCj4gKyAgRUZJ X1NUUklORyAgICAgICAgICAgICAgICAgICAgICAgIFNlcmlhbE51bWJlcjsNCj4gKyAgRUZJX1NU UklORyAgICAgICAgICAgICAgICAgICAgICAgIFNrdU51bWJlcjsNCj4gKyAgRUZJX1NUUklORwkJ CSAgICAgICAgICAgIEZhbWlseU5hbWU7DQo+ICsgIFNUUklOR19SRUYgICAgICAgICAgICAgICAg ICAgICAgICBUb2tlblRvR2V0Ow0KPiArICBFRklfU01CSU9TX0hBTkRMRSAgICAgICAgICAgICAg ICAgU21iaW9zSGFuZGxlOw0KPiArICBTTUJJT1NfVEFCTEVfVFlQRTEgICAgICAgICAgICAgICAg KlNtYmlvc1JlY29yZDsNCj4gKyAgRUZJX01JU0NfU1lTVEVNX01BTlVGQUNUVVJFUiAgICAgICpG b3JUeXBlMUlucHV0RGF0YTsNCj4gKyAgRUZJX1NNQklPU19QUk9UT0NPTCAgICAgICAgICAgICAg ICpTbWJpb3M7DQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJb NDBdOw0KPiArDQo+ICsgIENIQVIxNiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqTWFjU3Ry Ow0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAgICAgKkhhbmRsZXM7DQo+ICsg IFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICAgICBCdWZmZXJTaXplOw0KPiArICBDSEFS MTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgUGxhdGZvcm1OYW1lQnVmZmVyWzQwXTsNCj4g Kw0KPiArICBGb3JUeXBlMUlucHV0RGF0YSA9IChFRklfTUlTQ19TWVNURU1fTUFOVUZBQ1RVUkVS ICopQ29udGV4dDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBGaXJzdCBjaGVjayBmb3IgaW52YWxp ZCBwYXJhbWV0ZXJzLg0KPiArICAvLw0KPiArICBpZiAoQ29udGV4dCA9PSBOVUxMIHx8IG1QbGF0 Zm9ybUluZm8gPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7 DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0VmaVNt Ymlvc1Byb3RvY29sR3VpZCwgTlVMTCwgKFZPSUQgKikNCj4gJlNtYmlvcyk7DQo+ICsgIEFTU0VS VF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsNCj4gKw0KPiArICBpZiAoQk9BUkRfSURfTUlOTk9X Ml9UVVJCT1QgPT0gbVBsYXRmb3JtSW5mby0+Qm9hcmRJZCkgew0KPiArICAgIC8vIERldGVjdCB0 aGUgYm9hcmQgaXMgVHVyYm90IGJvYXJkIHBsYXRmb3JtDQo+ICsgICAgVW5pY29kZVNQcmludCAo UGxhdGZvcm1OYW1lQnVmZmVyLCBzaXplb2YNCj4gKFBsYXRmb3JtTmFtZUJ1ZmZlciksTCIlcyIs TCJNaW5ub3dib2FyZCBUdXJib3QgIik7DQo+ICsgIH0gZWxzZSB7DQo+ICsgICAgVW5pY29kZVNQ cmludCAoUGxhdGZvcm1OYW1lQnVmZmVyLCBzaXplb2YNCj4gKFBsYXRmb3JtTmFtZUJ1ZmZlciks TCIlcyIsTCJNaW5ub3dib2FyZCBNYXggIik7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAv LyBTaWxpY29uIFN0ZXBwaW5ncw0KPiArICAvLw0KPiArICBzd2l0Y2ggKFBjaFN0ZXBwaW5nKCkp IHsNCj4gKyAgICBjYXNlIFBjaEEwOg0KPiArICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBz aXplb2YgKEJ1ZmZlciksTCIlcyVzIiwgUGxhdGZvcm1OYW1lQnVmZmVyLA0KPiBMIkEwIFBMQVRG T1JNIik7DQo+ICsNCj4gSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9N SVNDX1NZU1RFTV9QUk9EVUNUX05BDQo+IE1FKSwgQnVmZmVyLCBOVUxMKTsNCj4gKyAgICAgIFVu aWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLEwiJXMiLEwiQTAiKTsNCj4gKyAg ICAgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNURU1f VkVSU0lPTiksDQo+IEJ1ZmZlciwgTlVMTCk7DQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0VSUk9S LCAiQTAgU3RlcHBpbmcgRGV0ZWN0ZWRcbiIpKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgIGNh c2UgUGNoQTE6DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVy KSxMIiVzJXMiLCBQbGF0Zm9ybU5hbWVCdWZmZXIsDQo+IEwiQTEgUExBVEZPUk0iKTsNCj4gKw0K PiBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX01JU0NfU1lTVEVNX1BS T0RVQ1RfTkENCj4gTUUpLCBCdWZmZXIsIE5VTEwpOw0KPiArICAgICAgVW5pY29kZVNQcmludCAo QnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksTCIlcyIsTCJBMSIpOw0KPiArICAgICAgSGlpU2V0U3Ry aW5nKG1IaWlIYW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1NZU1RFTV9WRVJTSU9OKSwNCj4g QnVmZmVyLCBOVUxMKTsNCj4gKyAgICAgIERFQlVHICgoRUZJX0RfRVJST1IsICJBMSBTdGVwcGlu ZyBEZXRlY3RlZFxuIikpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBQY2hCMDoNCj4g KyAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLEwiJXMlcyIsIFBs YXRmb3JtTmFtZUJ1ZmZlciwNCj4gTCJCMCBQTEFURk9STSIpOw0KPiArDQo+IEhpaVNldFN0cmlu ZyhtSGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNURU1fUFJPRFVDVF9OQQ0KPiBN RSksIEJ1ZmZlciwgTlVMTCk7DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVv ZiAoQnVmZmVyKSxMIiVzIixMIkIwIik7DQo+ICsgICAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRs ZSxTVFJJTkdfVE9LRU4oU1RSX01JU0NfU1lTVEVNX1ZFUlNJT04pLA0KPiBCdWZmZXIsIE5VTEwp Ow0KPiArICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkIwIFN0ZXBwaW5nIERldGVjdGVkXG4i KSk7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIFBjaEIxOg0KPiArICAgICAgVW5pY29k ZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksTCIlcyVzIiwgUGxhdGZvcm1OYW1lQnVm ZmVyLA0KPiBMIkIxIFBMQVRGT1JNIik7DQo+ICsNCj4gSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUs U1RSSU5HX1RPS0VOKFNUUl9NSVNDX1NZU1RFTV9QUk9EVUNUX05BDQo+IE1FKSwgQnVmZmVyLCBO VUxMKTsNCj4gKyAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLEwi JXMiLEwiQjEiKTsNCj4gKyAgICAgIEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19UT0tF TihTVFJfTUlTQ19TWVNURU1fVkVSU0lPTiksDQo+IEJ1ZmZlciwgTlVMTCk7DQo+ICsgICAgICBE RUJVRyAoKEVGSV9EX0VSUk9SLCAiQjEgU3RlcHBpbmcgRGV0ZWN0ZWRcbiIpKTsNCj4gKyAgICAg IGJyZWFrOw0KPiArICAgIGNhc2UgUGNoQjI6DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChCdWZm ZXIsIHNpemVvZiAoQnVmZmVyKSxMIiVzJXMiLCBQbGF0Zm9ybU5hbWVCdWZmZXIsDQo+IEwiQjIg UExBVEZPUk0iKTsNCj4gKw0KPiBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9LRU4o U1RSX01JU0NfU1lTVEVNX1BST0RVQ1RfTkENCj4gTUUpLCBCdWZmZXIsIE5VTEwpOw0KPiArICAg ICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksTCIlcyIsTCJCMiIpOw0K PiArICAgICAgSGlpU2V0U3RyaW5nKG1IaWlIYW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1NZ U1RFTV9WRVJTSU9OKSwNCj4gQnVmZmVyLCBOVUxMKTsNCj4gKyAgICAgIERFQlVHICgoRUZJX0Rf RVJST1IsICJCMiBTdGVwcGluZyBEZXRlY3RlZFxuIikpOw0KPiArICAgICAgYnJlYWs7DQo+ICsg ICAgY2FzZSBQY2hCMzoNCj4gKyAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChC dWZmZXIpLEwiJXMlcyIsIFBsYXRmb3JtTmFtZUJ1ZmZlciwNCj4gTCJCMyBQTEFURk9STSIpOw0K PiArDQo+IEhpaVNldFN0cmluZyhtSGlpSGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNU RU1fUFJPRFVDVF9OQQ0KPiBNRSksIEJ1ZmZlciwgTlVMTCk7DQo+ICsgICAgICBVbmljb2RlU1By aW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVyKSxMIiVzIixMIkIzIik7DQo+ICsgICAgICBIaWlT ZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9LRU4oU1RSX01JU0NfU1lTVEVNX1ZFUlNJT04p LA0KPiBCdWZmZXIsIE5VTEwpOw0KPiArICAgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkIzIFN0 ZXBwaW5nIERldGVjdGVkXG4iKSk7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIFBjaEMw Og0KPiArICAgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1ZmZlciksTCIlcyVz IiwgUGxhdGZvcm1OYW1lQnVmZmVyLA0KPiBMIkMwIFBMQVRGT1JNIik7DQo+ICsNCj4gSGlpU2V0 U3RyaW5nKG1IaWlIYW5kbGUsU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1NZU1RFTV9QUk9EVUNUX05B DQo+IE1FKSwgQnVmZmVyLCBOVUxMKTsNCj4gKyAgICAgIFVuaWNvZGVTUHJpbnQgKEJ1ZmZlciwg c2l6ZW9mIChCdWZmZXIpLEwiJXMiLEwiQzAiKTsNCj4gKyAgICAgIEhpaVNldFN0cmluZyhtSGlp SGFuZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNURU1fVkVSU0lPTiksDQo+IEJ1ZmZlciwg TlVMTCk7DQo+ICsgICAgICBERUJVRyAoKEVGSV9EX0VSUk9SLCAiQzAgU3RlcHBpbmcgRGV0ZWN0 ZWRcbiIpKTsNCj4gKyAgICAgIGJyZWFrOw0KPiArICAgY2FzZSBQY2hEMDoNCj4gKyAgICAgIFVu aWNvZGVTUHJpbnQgKEJ1ZmZlciwgc2l6ZW9mIChCdWZmZXIpLEwiJXMlcyIsIFBsYXRmb3JtTmFt ZUJ1ZmZlciwNCj4gTCJEMCBQTEFURk9STSIpOw0KPiArDQo+IEhpaVNldFN0cmluZyhtSGlpSGFu ZGxlLFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNURU1fUFJPRFVDVF9OQQ0KPiBNRSksIEJ1ZmZl ciwgTlVMTCk7DQo+ICsgICAgICBVbmljb2RlU1ByaW50IChCdWZmZXIsIHNpemVvZiAoQnVmZmVy KSxMIiVzIixMIkQwIik7DQo+ICsgICAgICBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdf VE9LRU4oU1RSX01JU0NfU1lTVEVNX1ZFUlNJT04pLA0KPiBCdWZmZXIsIE5VTEwpOw0KPiArICAg ICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkQwIFN0ZXBwaW5nIERldGVjdGVkXG4iKSk7DQo+ICsg ICAgICBicmVhazsNCj4gKyAgICBkZWZhdWx0Og0KPiArICAgICAgREVCVUcgKChFRklfRF9FUlJP UiwgIlVua25vdyBTdGVwcGluZyBEZXRlY3RlZFxuIikpOw0KPiArICAgICAgYnJlYWs7DQo+ICsg ICAgfQ0KPiArDQo+ICsgIGlmIChCT0FSRF9JRF9NSU5OT1cyX1RVUkJPVCA9PSBtUGxhdGZvcm1J bmZvLT5Cb2FyZElkKSB7DQo+ICsgICAgVW5pY29kZVNQcmludCAoQnVmZmVyLCBzaXplb2YgKEJ1 ZmZlciksTCJBREkiKTsNCj4gKw0KPiBIaWlTZXRTdHJpbmcobUhpaUhhbmRsZSxTVFJJTkdfVE9L RU4oU1RSX01JU0NfU1lTVEVNX01BTlVGQUNUVVINCj4gRVIpLCBCdWZmZXIsIE5VTEwpOw0KPiAr ICB9DQo+ICsgIFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1NZU1RFTV9NQU5V RkFDVFVSRVIpOw0KPiArICBNYW51ZmFjdHVyZXIgPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tl blRvR2V0KTsNCj4gKyAgTWFudVN0ckxlbiA9IFN0ckxlbihNYW51ZmFjdHVyZXIpOw0KPiArICBp ZiAoTWFudVN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVy biBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5H X1RPS0VOIChTVFJfTUlTQ19TWVNURU1fUFJPRFVDVF9OQU1FKTsNCj4gKyAgUHJvZHVjdE5hbWUg PSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsNCj4gKyAgUGROYW1lU3RyTGVuID0g U3RyTGVuKFByb2R1Y3ROYW1lKTsNCj4gKyAgaWYgKFBkTmFtZVN0ckxlbiA+IFNNQklPU19TVFJJ TkdfTUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0N Cj4gKw0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TWVNURU1fVkVS U0lPTik7DQo+ICsgIFZlcnNpb24gPSBTbWJpb3NNaXNjR2V0U3RyaW5nIChUb2tlblRvR2V0KTsN Cj4gKyAgVmVyU3RyTGVuID0gU3RyTGVuKFZlcnNpb24pOw0KPiArICBpZiAoVmVyU3RyTGVuID4g U01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRF RDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vR2V0IGhhbmRsZSBpbmZvbWF0aW9uDQo+ ICsgIC8vDQo+ICsgIEJ1ZmZlclNpemUgPSAwOw0KPiArICBIYW5kbGVzID0gTlVMTDsNCj4gKyAg U3RhdHVzID0gZ0JTLT5Mb2NhdGVIYW5kbGUgKA0KPiArICAgICAgICAgICAgICAgICAgQnlQcm90 b2NvbCwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZpU2ltcGxlTmV0d29ya1Byb3RvY29sR3Vp ZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmQnVm ZmVyU2l6ZSwNCj4gKyAgICAgICAgICAgICAgICAgIEhhbmRsZXMNCj4gKyAgICAgICAgICAgICAg ICAgICk7DQo+ICsNCj4gKyAgaWYgKFN0YXR1cyA9PSBFRklfQlVGRkVSX1RPT19TTUFMTCkgew0K PiArICAJSGFuZGxlcyA9IEFsbG9jYXRlWmVyb1Bvb2woQnVmZmVyU2l6ZSk7DQo+ICsgIAlpZiAo SGFuZGxlcyA9PSBOVUxMKSB7DQo+ICsgIAkJcmV0dXJuIChFRklfT1VUX09GX1JFU09VUkNFUyk7 DQo+ICsgIAl9DQo+ICsgIAlTdGF0dXMgPSBnQlMtPkxvY2F0ZUhhbmRsZSgNCj4gKyAgCSAgICAg ICAgICAgICAgICBCeVByb3RvY29sLA0KPiArICAJICAgICAgICAgICAgICAgICZnRWZpU2ltcGxl TmV0d29ya1Byb3RvY29sR3VpZCwNCj4gKyAgCSAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAJ ICAgICAgICAgICAgICAgICZCdWZmZXJTaXplLA0KPiArICAJICAgICAgICAgICAgICAgIEhhbmRs ZXMNCj4gKyAgCSAgICAgICAgICAgICAgICApOw0KPiArIH0NCj4gKw0KPiArICAvLw0KPiArICAv L0dldCB0aGUgTUFDIHN0cmluZw0KPiArICAvLw0KPiArICBTdGF0dXMgPSBOZXRMaWJHZXRNYWNT dHJpbmcgKA0KPiArICAgICAgICAgICAgICpIYW5kbGVzLA0KPiArICAgICAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAgICAgJk1hY1N0cg0KPiArICAgICAgICAgICAgICk7DQo+ICsgIGlmIChF RklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsg IFNlcmlhbE51bWJlciA9IE1hY1N0cjsNCj4gKyAgU2VyaWFsTnVtU3RyTGVuID0gU3RyTGVuKFNl cmlhbE51bWJlcik7DQo+ICsgIGlmIChTZXJpYWxOdW1TdHJMZW4gPiBTTUJJT1NfU1RSSU5HX01B WF9MRU5HVEgpIHsNCj4gKyAgICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9DQo+ICsg IFRva2VuVG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1NZU1RFTV9TS1VfTlVNQkVSKTsN Cj4gKyAgU2t1TnVtYmVyID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7DQo+ICsg IFNrdU51bWJlclN0ckxlbiA9IFN0ckxlbihTa3VOdW1iZXIpOw0KPiArICBpZiAoU2t1TnVtYmVy U3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RIKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9V TlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJf TUlTQ19TWVNURU1fRkFNSUxZX05BTUUxKTsNCj4gKyAgRmFtaWx5TmFtZSA9IFNtYmlvc01pc2NH ZXRTdHJpbmcgKFRva2VuVG9HZXQpOw0KPiArICBGYW1pbHlOYW1lU3RyTGVuID0gU3RyTGVuKEZh bWlseU5hbWUpOw0KPiArICBpZiAoRmFtaWx5TmFtZVN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFY X0xFTkdUSCkgew0KPiArICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0K PiArICAvLw0KPiArICAvLyBUd28gemVyb3MgZm9sbG93aW5nIHRoZSBsYXN0IHN0cmluZy4NCj4g KyAgLy8NCj4gKyAgU21iaW9zUmVjb3JkID0gQWxsb2NhdGVQb29sKHNpemVvZiAoU01CSU9TX1RB QkxFX1RZUEUxKSArDQo+IE1hbnVTdHJMZW4gKyAxICsgUGROYW1lU3RyTGVuICsgMSArIFZlclN0 ckxlbiArIDEgKyBTZXJpYWxOdW1TdHJMZW4gKyAxICsNCj4gU2t1TnVtYmVyU3RyTGVuICsgMSAr IEZhbWlseU5hbWVTdHJMZW4gKyAxICsgMSk7DQo+ICsgIFplcm9NZW0oU21iaW9zUmVjb3JkLCBz aXplb2YgKFNNQklPU19UQUJMRV9UWVBFMSkgKyBNYW51U3RyTGVuICsNCj4gMSArIFBkTmFtZVN0 ckxlbiArIDEgKyBWZXJTdHJMZW4gKyAxICsgU2VyaWFsTnVtU3RyTGVuICsgMSArDQo+IFNrdU51 bWJlclN0ckxlbiArIDEgKyBGYW1pbHlOYW1lU3RyTGVuICsgMSArIDEpOw0KPiArDQo+ICsgIFNt Ymlvc1JlY29yZC0+SGRyLlR5cGUgPSBFRklfU01CSU9TX1RZUEVfU1lTVEVNX0lORk9STUFUSU9O Ow0KPiArICBTbWJpb3NSZWNvcmQtPkhkci5MZW5ndGggPSBzaXplb2YgKFNNQklPU19UQUJMRV9U WVBFMSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gTWFrZSBoYW5kbGUgY2hvc2VuIGJ5IHNtYmlv cyBwcm90b2NvbC5hZGQgYXV0b21hdGljYWxseS4NCj4gKyAgLy8NCj4gKyAgU21iaW9zUmVjb3Jk LT5IZHIuSGFuZGxlID0gMDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBNYW51IHdpbGwgYmUgdGhl IDFzdCBvcHRpb25hbCBzdHJpbmcgZm9sbG93aW5nIHRoZSBmb3JtYXR0ZWQgc3RydWN0dXJlLg0K PiArICAvLw0KPiArICBTbWJpb3NSZWNvcmQtPk1hbnVmYWN0dXJlciA9IDE7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gUHJvZHVjdE5hbWUgd2lsbCBiZSB0aGUgMm5kIG9wdGlvbmFsIHN0cmluZyBm b2xsb3dpbmcgdGhlIGZvcm1hdHRlZA0KPiBzdHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ICsgIFNtYmlv c1JlY29yZC0+UHJvZHVjdE5hbWUgPSAyOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFZlcnNpb24g d2lsbCBiZSB0aGUgM3JkIG9wdGlvbmFsIHN0cmluZyBmb2xsb3dpbmcgdGhlIGZvcm1hdHRlZCBz dHJ1Y3R1cmUuDQo+ICsgIC8vDQo+ICsgIFNtYmlvc1JlY29yZC0+VmVyc2lvbiA9IDM7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gVmVyc2lvbiB3aWxsIGJlIHRoZSA0dGggb3B0aW9uYWwgc3RyaW5n IGZvbGxvd2luZyB0aGUgZm9ybWF0dGVkIHN0cnVjdHVyZS4NCj4gKyAgLy8NCj4gKyAgU21iaW9z UmVjb3JkLT5TZXJpYWxOdW1iZXIgPSA0Ow0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+U0tVTnVt YmVyPSA1Ow0KPiArICBTbWJpb3NSZWNvcmQtPkZhbWlseT0gNjsNCj4gKw0KPiArICAvLw0KPiAr ICAvLyBVbmlxdWUgVVVJRA0KPiArICAvLw0KPiArICBGb3JUeXBlMUlucHV0RGF0YS0+U3lzdGVt VXVpZC5EYXRhMSA9IFBjZEdldDMyDQo+IChQY2RQcm9kdWN0U2VyaWFsTnVtYmVyKTsNCj4gKyAg Rm9yVHlwZTFJbnB1dERhdGEtPlN5c3RlbVV1aWQuRGF0YTRbMF0gPSBQY2RHZXQ4DQo+IChQY2RF bW1jTWFudWZhY3R1cmVySWQpOw0KPiArDQo+ICsgIENvcHlNZW0gKChVSU5UOCAqKSAoJlNtYmlv c1JlY29yZC0+VXVpZCksJkZvclR5cGUxSW5wdXREYXRhLQ0KPiA+U3lzdGVtVXVpZCwxNik7DQo+ ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5XYWtlVXBUeXBlID0gKFVJTlQ4KUZvclR5cGUxSW5wdXRE YXRhLQ0KPiA+U3lzdGVtV2FrZXVwVHlwZTsNCj4gKw0KPiArICBPcHRpb25hbFN0clN0YXJ0ID0g KENIQVI4ICopKFNtYmlvc1JlY29yZCArIDEpOw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihN YW51ZmFjdHVyZXIsIE9wdGlvbmFsU3RyU3RhcnQpOw0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0 cihQcm9kdWN0TmFtZSwgT3B0aW9uYWxTdHJTdGFydCArIE1hbnVTdHJMZW4gKyAxKTsNCj4gKyAg VW5pY29kZVN0clRvQXNjaWlTdHIoVmVyc2lvbiwgT3B0aW9uYWxTdHJTdGFydCArIE1hbnVTdHJM ZW4gKyAxICsNCj4gUGROYW1lU3RyTGVuICsgMSk7DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3Ry KFNlcmlhbE51bWJlciwgT3B0aW9uYWxTdHJTdGFydCArIE1hbnVTdHJMZW4gKyAxICsNCj4gUGRO YW1lU3RyTGVuICsgMSArIFZlclN0ckxlbiArIDEpOw0KPiArDQo+ICsgIFVuaWNvZGVTdHJUb0Fz Y2lpU3RyKFNrdU51bWJlciwgT3B0aW9uYWxTdHJTdGFydCArIE1hbnVTdHJMZW4gKyAxICsNCj4g UGROYW1lU3RyTGVuICsgMSArICBWZXJTdHJMZW4gKyAxICsgU2VyaWFsTnVtU3RyTGVuICsgMSk7 DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKEZhbWlseU5hbWUsIE9wdGlvbmFsU3RyU3RhcnQg KyBNYW51U3RyTGVuICsgMSArDQo+IFBkTmFtZVN0ckxlbiArIDEgKyBWZXJTdHJMZW4gKyAxICsg U2VyaWFsTnVtU3RyTGVuICsgMSArDQo+IFNrdU51bWJlclN0ckxlbiArMSk7DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gTm93IHdlIGhhdmUgZ290IHRoZSBmdWxsIHNtYmlvcyByZWNvcmQsIGNhbGwg c21iaW9zIHByb3RvY29sIHRvIGFkZCB0aGlzDQo+IHJlY29yZC4NCj4gKyAgLy8NCj4gKyAgU21i aW9zSGFuZGxlID0gU01CSU9TX0hBTkRMRV9QSV9SRVNFUlZFRDsNCj4gKyAgU3RhdHVzID0gU21i aW9zLT4gQWRkKA0KPiArICAgICAgICAgICAgICAgICAgICAgIFNtYmlvcywNCj4gKyAgICAgICAg ICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICZTbWJpb3NIYW5k bGUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKEVGSV9TTUJJT1NfVEFCTEVfSEVBREVSICop IFNtYmlvc1JlY29yZA0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEZyZWVQb29s KFNtYmlvc1JlY29yZCk7DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gKy8qKg0K PiArICBUaGlzIGZ1bmN0aW9uIG1ha2VzIGJvb3QgdGltZSBjaGFuZ2VzIHRvIHRoZSBjb250ZW50 cyBvZiB0aGUNCj4gKyAgTWlzY1N5c3RlbU1hbnVmYWN0dXJlciAoVHlwZSAxKS4NCj4gKw0KPiAr ICBAcGFyYW0gIFJlY29yZERhdGEgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gY29weSBvZiBS ZWNvcmREYXRhIGZyb20gdGhlIERhdGENCj4gVGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgICAgICBBbGwgcGFyYW1ldGVycyB3ZXJlIHZhbGlkLg0KPiArICBA cmV0dmFsIEVGSV9VTlNVUFBPUlRFRCAgICAgICAgICAgIFVuZXhwZWN0ZWQgUmVjb3JkVHlwZSB2 YWx1ZS4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgICAgICBJbnZhbGlkIHBh cmFtZXRlciB3YXMgZm91bmQuDQo+ICsNCj4gKyoqLw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfRlVO Q1RJT04oTWlzY1N5c3RlbU1hbnVmYWN0dXJlcikNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgICAg ICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBzdGF0aWMgQk9PTEVBTiAgICAgICAgICAgICAg ICBDYWxsYmFja0lzSW5zdGFsbGVkTWFudSA9IEZBTFNFOw0KPiArICBWT0lEICAgICAgICAgICAg ICAgICAgICAgICAgICAgKkFkZFNtYmlvc01hbnVDYWxsYmFja05vdGlmeVJlZzsNCj4gKyAgRUZJ X0VWRU5UICAgICAgICAgICAgICAgICAgICAgIEFkZFNtYmlvc01hbnVDYWxsYmFja0V2ZW50Ow0K PiArDQo+ICsNCj4gKyAgaWYgKENhbGxiYWNrSXNJbnN0YWxsZWRNYW51ID09IEZBTFNFKSB7DQo+ ICsgICAgQ2FsbGJhY2tJc0luc3RhbGxlZE1hbnUgPSBUUlVFOyAgICAgICAgCS8vIFByZXZlbnQg bW9yZSB0aGFuIDENCj4gY2FsbGJhY2suDQo+ICsgICAgREVCVUcgKChFRklfRF9JTkZPLCAiQ3Jl YXRlIFNtYmlvcyBNYW51IGNhbGxiYWNrLlxuIikpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIGdF ZmlEeGVTbW1SZWFkeVRvTG9ja1Byb3RvY29sR3VpZCBpcyByZWFkeQ0KPiArICAvLw0KPiArICBT dGF0dXMgPSBnQlMtPkNyZWF0ZUV2ZW50ICgNCj4gKyAgICAgICAgICAgICAgICAgIEVWVF9OT1RJ RllfU0lHTkFMLA0KPiArICAgICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KPiArICAgICAg ICAgICAgICAgICAgKEVGSV9FVkVOVF9OT1RJRlkpQWRkU21iaW9zTWFudUNhbGxiYWNrLA0KPiAr ICAgICAgICAgICAgICAgICAgUmVjb3JkRGF0YSwNCj4gKyAgICAgICAgICAgICAgICAgICZBZGRT bWJpb3NNYW51Q2FsbGJhY2tFdmVudA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiAr ICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMp KSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1czsNCj4gKw0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVz ID0gZ0JTLT5SZWdpc3RlclByb3RvY29sTm90aWZ5ICgNCj4gKyAgICAgICAgICAgICAgICAgICZn RWZpRHhlU21tUmVhZHlUb0xvY2tQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICBB ZGRTbWJpb3NNYW51Q2FsbGJhY2tFdmVudCwNCj4gKyAgICAgICAgICAgICAgICAgICZBZGRTbWJp b3NNYW51Q2FsbGJhY2tOb3RpZnlSZWcNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4g KyAgcmV0dXJuIFN0YXR1czsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsN Cj4gKw0KPiArfQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtT3B0aW9uU3RyaW4NCj4gZy51bmkNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1P cHRpb25TdHJpbg0KPiBnLnVuaQ0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwLi5hOTBmYTkzY2Q2DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtT3B0aW9uU3Ry aW4NCj4gZy51bmkNCj4gQEAgLTAsMCArMSwyNCBAQA0KPiArLy8gKisrDQo+ICsvLw0KPiArLy8g Q29weXJpZ2h0IChjKSAyMDA0IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVz ZS1QYXRlbnQNCj4gKy8vDQo+ICsvLw0KPiArLy8gTW9kdWxlIE5hbWU6DQo+ICsvLw0KPiArLy8g ICBNaXNjU3lzdGVtT3B0aW9uU3RyaW5nLnVuaQ0KPiArLy8NCj4gKy8vIEFic3RyYWN0Og0KPiAr Ly8NCj4gKy8vICAgU3lzdGVtIG9wdGlvbiBsYW5ndWFnZQ0KPiArLy8NCj4gKy8vIFJldmlzaW9u IEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0qLw0KPiArDQo+ICsNCj4gKy89Iw0KPiArDQo+ICsj bGFuZ2RlZiBlbi1VUyAiRW5nbGlzaCINCj4gKw0KPiArI3N0cmluZyBTVFJfTUlTQ19TWVNURU1f T1BUSU9OX0VOX1VTICAgI2xhbmd1YWdlIGVuLVVTICAiRW5nbGlzaA0KPiAoVVMpIg0KPiBkaWZm IC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4 ZS9NaXNjU3lzdGVtT3B0aW9uU3RyaW4NCj4gZ0RhdGEuYw0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU9wdGlvblN0cmluDQo+IGdE YXRhLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZThkNWZi M2VlOQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU9wdGlvblN0cmluDQo+IGdEYXRhLmMN Cj4gQEAgLTAsMCArMSwzMSBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gK0NvcHlyaWdodCAoYykg MjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+ DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0 ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBN aXNjU3lzdGVtT3B0aW9uU3RyaW5nRGF0YS5jDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ICsg IFN0YXRpYyBkYXRhIG9mIFN5c3RlbSBvcHRpb24gc3RyaW5nLg0KPiArICBTeXN0ZW0gb3B0aW9u IHN0cmluZyBpcyBNaXNjZWxsYW5lb3VzIHN1YmNsYXNzIHR5cGU6IDEwIGFuZCBTTUJJT1MgdHlw ZToNCj4gMTMuDQo+ICsNCj4gKw0KPiArKiovDQo+ICsNCj4gKw0KPiArI2luY2x1ZGUgIkNvbW1v bkhlYWRlci5oIg0KPiArDQo+ICsjaW5jbHVkZSAiTWlzY1N1YmNsYXNzRHJpdmVyLmgiDQo+ICsN Cj4gKy8vDQo+ICsvLyBTdGF0aWMgKHBvc3NpYmx5IGJ1aWxkIGdlbmVyYXRlZCkgQmlvcyBWZW5k b3IgZGF0YS4NCj4gKy8vDQo+ICtNSVNDX1NNQklPU19UQUJMRV9EQVRBKEVGSV9NSVNDX1NZU1RF TV9PUFRJT05fU1RSSU5HX0RBVEEsDQo+IFN5c3RlbU9wdGlvblN0cmluZykNCj4gKz0geyBTVFJJ TkdfVE9LRU4oU1RSX01JU0NfU1lTVEVNX09QVElPTl9FTl9VUykgfTsNCj4gZGlmZiAtLWdpdA0K PiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5 c3RlbU9wdGlvblN0cmluDQo+IGdGdW5jdGlvbi5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtT3B0aW9uU3RyaW4NCj4gZ0Z1bmN0 aW9uLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZWUyN2E3 NWUzYQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbU9wdGlvblN0cmluDQo+IGdGdW5jdGlv bi5jDQo+IEBAIC0wLDAgKzEsOTMgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAy MDA5IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgTWlz Y1N5c3RlbU9wdGlvblN0cmluZ0Z1bmN0aW9uLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4g KyAgQklPUyBzeXN0ZW0gb3B0aW9uIHN0cmluZyBib290IHRpbWUgY2hhbmdlcy4NCj4gKyAgU01C SU9TIHR5cGUgMTIuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiQ29tbW9u SGVhZGVyLmgiDQo+ICsNCj4gKyNpbmNsdWRlICJNaXNjU3ViY2xhc3NEcml2ZXIuaCINCj4gKw0K PiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlvbiBtYWtlcyBib290IHRpbWUgY2hhbmdlcyB0 byB0aGUgY29udGVudHMgb2YgdGhlDQo+ICsgIE1pc2NTeXN0ZW1PcHRpb25TdHJpbmcgKFR5cGUg MTIpLg0KPiArDQo+ICsgIEBwYXJhbSAgUmVjb3JkRGF0YSAgICAgICAgICAgICAgICAgUG9pbnRl ciB0byBjb3B5IG9mIFJlY29yZERhdGEgZnJvbSB0aGUgRGF0YQ0KPiBUYWJsZS4NCj4gKw0KPiAr ICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgICAgIEFsbCBwYXJhbWV0ZXJzIHdlcmUg dmFsaWQuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQUE9SVEVEICAgICAgICAgICAgVW5leHBlY3Rl ZCBSZWNvcmRUeXBlIHZhbHVlLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAg ICAgIEludmFsaWQgcGFyYW1ldGVyIHdhcyBmb3VuZC4NCj4gKw0KPiArKiovDQo+ICtNSVNDX1NN QklPU19UQUJMRV9GVU5DVElPTihTeXN0ZW1PcHRpb25TdHJpbmcpDQo+ICt7DQo+ICsgIENIQVI4 ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqT3B0aW9uYWxTdHJTdGFydDsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9wdFN0ckxlbjsNCj4gKyAgRUZJX1NUUklO RyAgICAgICAgICAgICAgICAgICAgICAgIE9wdGlvblN0cmluZzsNCj4gKyAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgU1RSSU5HX1JFRiAgICAgICAgICAg ICAgICAgICAgICAgIFRva2VuVG9HZXQ7DQo+ICsgIEVGSV9TTUJJT1NfSEFORExFICAgICAgICAg ICAgICAgICBTbWJpb3NIYW5kbGU7DQo+ICsgIFNNQklPU19UQUJMRV9UWVBFMTIgICAgICAgICAg ICAgICAqU21iaW9zUmVjb3JkOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZpcnN0IGNoZWNrIGZv ciBpbnZhbGlkIHBhcmFtZXRlcnMuDQo+ICsgIC8vDQo+ICsgIGlmIChSZWNvcmREYXRhID09IE5V TEwpIHsNCj4gKyAgICByZXR1cm4gRUZJX0lOVkFMSURfUEFSQU1FVEVSOw0KPiArICB9DQo+ICsN Cj4gKyAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01JU0NfU1lTVEVNX09QVElPTl9F Tl9VUyk7DQo+ICsgIE9wdGlvblN0cmluZyA9IFNtYmlvc01pc2NHZXRTdHJpbmcgKFRva2VuVG9H ZXQpOw0KPiArICBPcHRTdHJMZW4gPSBTdHJMZW4oT3B0aW9uU3RyaW5nKTsNCj4gKyAgaWYgKE9w dFN0ckxlbiA+IFNNQklPU19TVFJJTkdfTUFYX0xFTkdUSCkgew0KPiArICAgIHJldHVybiBFRklf VU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBUd28gemVyb3MgZm9s bG93aW5nIHRoZSBsYXN0IHN0cmluZy4NCj4gKyAgLy8NCj4gKyAgU21iaW9zUmVjb3JkID0gQWxs b2NhdGVQb29sKHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEUxMikgKyBPcHRTdHJMZW4NCj4gKyAx ICsgMSk7DQo+ICsgIFplcm9NZW0oU21iaW9zUmVjb3JkLCBzaXplb2YgKFNNQklPU19UQUJMRV9U WVBFMTIpICsgT3B0U3RyTGVuICsgMQ0KPiArIDEpOw0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+ SGRyLlR5cGUgPQ0KPiBFRklfU01CSU9TX1RZUEVfU1lTVEVNX0NPTkZJR1VSQVRJT05fT1BUSU9O UzsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIuTGVuZ3RoID0gc2l6ZW9mIChTTUJJT1NfVEFCTEVf VFlQRTEyKTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBNYWtlIGhhbmRsZSBjaG9zZW4gYnkgc21i aW9zIHByb3RvY29sLmFkZCBhdXRvbWF0aWNhbGx5Lg0KPiArICAvLw0KPiArICBTbWJpb3NSZWNv cmQtPkhkci5IYW5kbGUgPSAwOw0KPiArDQo+ICsgIFNtYmlvc1JlY29yZC0+U3RyaW5nQ291bnQg PSAxOw0KPiArICBPcHRpb25hbFN0clN0YXJ0ID0gKENIQVI4KikgKFNtYmlvc1JlY29yZCArIDEp Ow0KPiArICBVbmljb2RlU3RyVG9Bc2NpaVN0cihPcHRpb25TdHJpbmcsIE9wdGlvbmFsU3RyU3Rh cnQpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIE5vdyB3ZSBoYXZlIGdvdCB0aGUgZnVsbCBzbWJp b3MgcmVjb3JkLCBjYWxsIHNtYmlvcyBwcm90b2NvbCB0byBhZGQgdGhpcw0KPiByZWNvcmQuDQo+ ICsgIC8vDQo+ICsgIFNtYmlvc0hhbmRsZSA9IFNNQklPU19IQU5ETEVfUElfUkVTRVJWRUQ7DQo+ ICsgIFN0YXR1cyA9IFNtYmlvcy0+IEFkZCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBTbWJp b3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAmU21iaW9zSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChFRklfU01CSU9T X1RBQkxFX0hFQURFUiAqKSBTbWJpb3NSZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArDQo+ICsgIEZyZWVQb29sKFNtYmlvc1JlY29yZCk7DQo+ICsgIHJldHVybiBTdGF0dXM7 DQo+ICt9DQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1TbG90RGVzaWduYQ0KPiB0aW9uLnVuaQ0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbVNs b3REZXNpZ24NCj4gYXRpb24udW5pDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAw MDAwMDAwMDAuLmYxZDNlODY2ZTcNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1TbG90RGVz aWduDQo+IGF0aW9uLnVuaQ0KPiBAQCAtMCwwICsxLDM0IEBADQo+ICsvLyAqKysNCj4gKy8vDQo+ ICsvLyBDb3B5cmlnaHQgKGMpIDIwMDQgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJp Z2h0cyByZXNlcnZlZC48QlI+DQo+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTIt Q2xhdXNlLVBhdGVudA0KPiArLy8NCj4gKy8vDQo+ICsvLyBNb2R1bGUgTmFtZToNCj4gKy8vDQo+ ICsvLyAgIE1pc2NTeXN0ZW1TbG90RGVzaWduYXRpb24udW5pDQo+ICsvLw0KPiArLy8gQWJzdHJh Y3Q6DQo+ICsvLw0KPiArLy8gICBTeXN0ZW0gc2xvdCBpbmZvcm1hdGlvbg0KPiArLy8NCj4gKy8v IFJldmlzaW9uIEhpc3Rvcnk6DQo+ICsvLw0KPiArLy8gLS0qLw0KPiArDQo+ICsNCj4gKy89Iw0K PiArDQo+ICsjbGFuZ2RlZiBlbi1VUyAiRW5nbGlzaCINCj4gKyNzdHJpbmcgU1RSX01JU0NfU1lT VEVNX1NMT1RfUENJRVgxNiAgICAjbGFuZ3VhZ2UgZW4tVVMgICJQQ0lFIFgxNg0KPiBTTE9UIg0K PiArI3N0cmluZyBTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDE2XzEgICNsYW5ndWFnZSBlbi1V UyAgIlBDSUUgWDE2DQo+IFNMT1QgMSINCj4gKyNzdHJpbmcgU1RSX01JU0NfU1lTVEVNX1NMT1Rf UENJRVgxNl8yICAjbGFuZ3VhZ2UgZW4tVVMgICJQQ0lFIFgxNg0KPiBTTE9UIDIiDQo+ICsjc3Ry aW5nIFNUUl9NSVNDX1NZU1RFTV9TTE9UX1BDSUVYNCAgICAgI2xhbmd1YWdlIGVuLVVTICAiUENJ RSBYNA0KPiBTTE9UIg0KPiArI3N0cmluZyBTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDFfMSAg ICNsYW5ndWFnZSBlbi1VUyAgIlBDSUUgWDENCj4gU0xPVCAxIg0KPiArI3N0cmluZyBTVFJfTUlT Q19TWVNURU1fU0xPVF9QQ0lFWDFfMiAgICNsYW5ndWFnZSBlbi1VUyAgIlBDSUUgWDENCj4gU0xP VCAyIg0KPiArI3N0cmluZyBTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDFfMyAgICNsYW5ndWFn ZSBlbi1VUyAgIlBDSUUgWDENCj4gU0xPVCAzIg0KPiArI3N0cmluZyBTVFJfTUlTQ19TWVNURU1f U0xPVF9QQ0kxICAgICAgICNsYW5ndWFnZSBlbi1VUyAgIlBDSSBTTE9UIDEiDQo+ICsjc3RyaW5n IFNUUl9NSVNDX1NZU1RFTV9TTE9UX1BDSTIgICAgICAgI2xhbmd1YWdlIGVuLVVTICAiUENJIFNM T1QgMiINCj4gKyNzdHJpbmcgU1RSX01JU0NfU1lTVEVNX1NMT1RfUENJMyAgICAgICAjbGFuZ3Vh Z2UgZW4tVVMgICJQQ0kgU0xPVCAzIg0KPiArDQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRm b3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvTWlzY1N5c3RlbVNsb3RE ZXNpZ25hDQo+IHRpb25EYXRhLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1TbG90RGVzaWduDQo+IGF0aW9uRGF0YS5jDQo+IG5l dyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjQ4YmVlYjUyZDMNCj4gLS0t IC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T bUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1TbG90RGVzaWduDQo+IGF0aW9uRGF0YS5jDQo+IEBAIC0w LDAgKzEsMjQ2IEBADQo+ICsvKiogQGZpbGUNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAyMDA0ICAt IDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0K PiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4g Kw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgTWlzY1N5 c3RlbVNsb3REZXNpZ25hdGlvbkRhdGEuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBT dGF0aWMgZGF0YSBvZiBTeXN0ZW0gU2xvdCBEZXNpZ25hdGlvbi4NCj4gKyAgU3lzdGVtIFNsb3Qg RGVzaWduYXRpb24gaXMgTWlzYy4gc3ViY2xhc3MgdHlwZSA3IGFuZCBTTUJJT1MgdHlwZSA5Lg0K PiArDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJDb21tb25IZWFkZXIuaCIN Cj4gKw0KPiArI2luY2x1ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArDQo+ICsNCj4gKy8v DQo+ICsvLyBTdGF0aWMgKHBvc3NpYmx5IGJ1aWxkIGdlbmVyYXRlZCkgQmlvcyBWZW5kb3IgZGF0 YS4NCj4gKy8vDQo+ICtNSVNDX1NNQklPU19UQUJMRV9EQVRBKEVGSV9NSVNDX1NZU1RFTV9TTE9U X0RFU0lHTkFUSU9OX0RBVA0KPiBBLCBNaXNjU3lzdGVtU2xvdFBDSUV4MTZTbG90MSkgPSB7DQo+ ICsgIFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDE2XzEpLCAgICAvLw0K PiBTbG90RGVzaWduYXRpb24NCj4gKyAgRWZpU2xvdFR5cGVQY2lFeHByZXNzLCAgICAgICAgLy8g U2xvdFR5cGUNCj4gKyAgRWZpU2xvdERhdGFCdXNXaWR0aDE2eE9yeDE2LCAgLy8gU2xvdERhdGFC dXNXaWR0aA0KPiArICBFZmlTbG90VXNhZ2VBdmFpbGFibGUsICAgICAgICAvLyBTbG90VXNhZ2UN Cj4gKyAgRWZpU2xvdExlbmd0aFNob3J0LCAgICAgICAgICAgLy8gU2xvdExlbmd0aA0KPiArICAw eDA2LCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbG90SWQNCj4gKyAgeyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgLy8gU2xvdENoYXJhY3RlcmlzdGljcw0KPiArICAgIDAsICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyBDaGFyYWN0ZXJpc3RpY3NVbmtub3duICA6MTsNCj4gKyAg ICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvdmlkZXM1MFZvbHRzICAgICAgICAg OjE7DQo+ICsgICAgMSwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByb3ZpZGVzMzNWb2x0 cyAgICAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTaGFy ZWRTbG90ICAgICAgICAgICAgICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAg ICAgLy8gUGNDYXJkMTZTdXBwb3J0ZWQgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIENhcmRCdXNTdXBwb3J0ZWQgICAgICAgIDoxOw0KPiArICAgIDAsICAg ICAgICAgICAgICAgICAgICAgICAgICAvLyBab29tVmlkZW9TdXBwb3J0ZWQgICAgICA6MTsNCj4g KyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9kZW1SaW5nUmVzdW1lU3VwcG9y dGVkOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBtZVNpZ25hbFN1 cHBvcnRlZCAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBI b3RQbHVnRGV2aWNlc1N1cHBvcnRlZCA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAg ICAgICAgLy8gU21idXNTaWduYWxTdXBwb3J0ZWQgICAgOjE7DQo+ICsgICAgMCAgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkICAgICAgICAgICAgICAgIDoyMTsNCj4gKyAgfSwN Cj4gKyAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2xvdERldmljZVBhdGgNCj4g K307DQo+ICsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfU1lTVEVNX1NMT1Rf REVTSUdOQVRJT05fREFUDQo+IEEsIE1pc2NTeXN0ZW1TbG90UENJRXgxNlNsb3QyKSA9IHsNCj4g KyAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1NZU1RFTV9TTE9UX1BDSUVYMTZfMiksICAgIC8vDQo+ IFNsb3REZXNpZ25hdGlvbg0KPiArICBFZmlTbG90VHlwZVBjaUV4cHJlc3MsICAgICAgICAvLyBT bG90VHlwZQ0KPiArICBFZmlTbG90RGF0YUJ1c1dpZHRoMTZ4T3J4MTYsICAvLyBTbG90RGF0YUJ1 c1dpZHRoDQo+ICsgIEVmaVNsb3RVc2FnZUF2YWlsYWJsZSwgICAgICAgIC8vIFNsb3RVc2FnZQ0K PiArICBFZmlTbG90TGVuZ3RoU2hvcnQsICAgICAgICAgICAvLyBTbG90TGVuZ3RoDQo+ICsgIDB4 MDQsICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNsb3RJZA0KPiArICB7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBTbG90Q2hhcmFjdGVyaXN0aWNzDQo+ICsgICAgMCwgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIENoYXJhY3RlcmlzdGljc1Vua25vd24gIDoxOw0KPiArICAg IDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQcm92aWRlczUwVm9sdHMgICAgICAgICA6 MTsNCj4gKyAgICAxLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvdmlkZXMzM1ZvbHRz ICAgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNoYXJl ZFNsb3QgICAgICAgICAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBQY0NhcmQxNlN1cHBvcnRlZCAgICAgICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gQ2FyZEJ1c1N1cHBvcnRlZCAgICAgICAgOjE7DQo+ICsgICAgMCwgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFpvb21WaWRlb1N1cHBvcnRlZCAgICAgIDoxOw0KPiAr ICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBNb2RlbVJpbmdSZXN1bWVTdXBwb3J0 ZWQ6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUG1lU2lnbmFsU3Vw cG9ydGVkICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhv dFBsdWdEZXZpY2VzU3VwcG9ydGVkIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBTbWJ1c1NpZ25hbFN1cHBvcnRlZCAgICA6MTsNCj4gKyAgICAwICAgICAgICAgICAg ICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQgICAgICAgICAgICAgICAgOjIxOw0KPiArICB9LA0K PiArICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbG90RGV2aWNlUGF0aA0KPiAr fTsNCj4gKw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfREFUQShFRklfTUlTQ19TWVNURU1fU0xPVF9E RVNJR05BVElPTl9EQVQNCj4gQSwgTWlzY1N5c3RlbVNsb3RQQ0lFeDQpID0gew0KPiArICBTVFJJ TkdfVE9LRU4oU1RSX01JU0NfU1lTVEVNX1NMT1RfUENJRVg0KSwgICAgLy8gU2xvdERlc2lnbmF0 aW9uDQo+ICsgIEVmaVNsb3RUeXBlUGNpRXhwcmVzcywgICAgICAgIC8vIFNsb3RUeXBlDQo+ICsg IEVmaVNsb3REYXRhQnVzV2lkdGg0eE9yeDQsICAvLyBTbG90RGF0YUJ1c1dpZHRoDQo+ICsgIEVm aVNsb3RVc2FnZUF2YWlsYWJsZSwgICAgICAgIC8vIFNsb3RVc2FnZQ0KPiArICBFZmlTbG90TGVu Z3RoU2hvcnQsICAgICAgICAgICAvLyBTbG90TGVuZ3RoDQo+ICsgIDB4MDMsICAgICAgICAgICAg ICAgICAgICAgICAgIC8vIFNsb3RJZA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBTbG90Q2hhcmFjdGVyaXN0aWNzDQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAg ICAgIC8vIENoYXJhY3RlcmlzdGljc1Vua25vd24gIDoxOw0KPiArICAgIDAsICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyBQcm92aWRlczUwVm9sdHMgICAgICAgICA6MTsNCj4gKyAgICAxLCAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvdmlkZXMzM1ZvbHRzICAgICAgICAgOjE7DQo+ ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNoYXJlZFNsb3QgICAgICAgICAg ICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQY0NhcmQxNlN1 cHBvcnRlZCAgICAgICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8g Q2FyZEJ1c1N1cHBvcnRlZCAgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAg ICAgICAgIC8vIFpvb21WaWRlb1N1cHBvcnRlZCAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAg ICAgICAgICAgICAgICAgICAvLyBNb2RlbVJpbmdSZXN1bWVTdXBwb3J0ZWQ6MTsNCj4gKyAgICAw LCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUG1lU2lnbmFsU3VwcG9ydGVkICAgICAgOjE7 DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdFBsdWdEZXZpY2VzU3Vw cG9ydGVkIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbWJ1c1Np Z25hbFN1cHBvcnRlZCAgICA6MTsNCj4gKyAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAg Ly8gUmVzZXJ2ZWQgICAgICAgICAgICAgICAgOjIxOw0KPiArICB9LA0KPiArICAwICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAvLyBTbG90RGV2aWNlUGF0aA0KPiArfTsNCj4gKw0KPiArTUlT Q19TTUJJT1NfVEFCTEVfREFUQShFRklfTUlTQ19TWVNURU1fU0xPVF9ERVNJR05BVElPTl9EQVQN Cj4gQSwgTWlzY1N5c3RlbVNsb3RQQ0lFeDFTbG90MSkgPSB7DQo+ICsgIFNUUklOR19UT0tFTihT VFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDFfMSksICAgIC8vIFNsb3REZXNpZ25hdGlvbg0KPiAr ICBFZmlTbG90VHlwZVBjaUV4cHJlc3MsICAgICAgICAvLyBTbG90VHlwZQ0KPiArICBFZmlTbG90 RGF0YUJ1c1dpZHRoMXhPcngxLCAgICAvLyBTbG90RGF0YUJ1c1dpZHRoDQo+ICsgIEVmaVNsb3RV c2FnZUF2YWlsYWJsZSwgICAgICAgIC8vIFNsb3RVc2FnZQ0KPiArICBFZmlTbG90TGVuZ3RoU2hv cnQsICAgICAgICAgICAvLyBTbG90TGVuZ3RoDQo+ICsgIDB4MDIsICAgICAgICAgICAgICAgICAg ICAgICAgIC8vIFNsb3RJZA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBT bG90Q2hhcmFjdGVyaXN0aWNzDQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8v IENoYXJhY3RlcmlzdGljc1Vua25vd24gIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBQcm92aWRlczUwVm9sdHMgICAgICAgICA6MTsNCj4gKyAgICAxLCAgICAgICAg ICAgICAgICAgICAgICAgICAgLy8gUHJvdmlkZXMzM1ZvbHRzICAgICAgICAgOjE7DQo+ICsgICAg MCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNoYXJlZFNsb3QgICAgICAgICAgICAgIDox Ow0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQY0NhcmQxNlN1cHBvcnRl ZCAgICAgICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FyZEJ1 c1N1cHBvcnRlZCAgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAg IC8vIFpvb21WaWRlb1N1cHBvcnRlZCAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAg ICAgICAgICAgICAvLyBNb2RlbVJpbmdSZXN1bWVTdXBwb3J0ZWQ6MTsNCj4gKyAgICAxLCAgICAg ICAgICAgICAgICAgICAgICAgICAgLy8gUG1lU2lnbmFsU3VwcG9ydGVkICAgICAgOjE7DQo+ICsg ICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdFBsdWdEZXZpY2VzU3VwcG9ydGVk IDoxOw0KPiArICAgIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbWJ1c1NpZ25hbFN1 cHBvcnRlZCAgICA6MTsNCj4gKyAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVz ZXJ2ZWQgICAgICAgICAgICAgICAgOjIxOw0KPiArICB9LA0KPiArICAwICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAvLyBTbG90RGV2aWNlUGF0aA0KPiArfTsNCj4gKw0KPiArTUlTQ19TTUJJ T1NfVEFCTEVfREFUQShFRklfTUlTQ19TWVNURU1fU0xPVF9ERVNJR05BVElPTl9EQVQNCj4gQSwg TWlzY1N5c3RlbVNsb3RQQ0lFeDFTbG90MikgPSB7DQo+ICsgIFNUUklOR19UT0tFTihTVFJfTUlT Q19TWVNURU1fU0xPVF9QQ0lFWDFfMiksICAgIC8vIFNsb3REZXNpZ25hdGlvbg0KPiArICBFZmlT bG90VHlwZVBjaUV4cHJlc3MsICAgICAgICAvLyBTbG90VHlwZQ0KPiArICBFZmlTbG90RGF0YUJ1 c1dpZHRoMXhPcngxLCAgICAvLyBTbG90RGF0YUJ1c1dpZHRoDQo+ICsgIEVmaVNsb3RVc2FnZUF2 YWlsYWJsZSwgICAgICAgIC8vIFNsb3RVc2FnZQ0KPiArICBFZmlTbG90TGVuZ3RoU2hvcnQsICAg ICAgICAgICAvLyBTbG90TGVuZ3RoDQo+ICsgIDB4MTUsICAgICAgICAgICAgICAgICAgICAgICAg IC8vIFNsb3RJZA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbG90Q2hh cmFjdGVyaXN0aWNzDQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYXJh Y3RlcmlzdGljc1Vua25vd24gIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBQcm92aWRlczUwVm9sdHMgICAgICAgICA6MTsNCj4gKyAgICAxLCAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gUHJvdmlkZXMzM1ZvbHRzICAgICAgICAgOjE7DQo+ICsgICAgMCwgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFNoYXJlZFNsb3QgICAgICAgICAgICAgIDoxOw0KPiAr ICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQY0NhcmQxNlN1cHBvcnRlZCAgICAg ICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FyZEJ1c1N1cHBv cnRlZCAgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFpv b21WaWRlb1N1cHBvcnRlZCAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBNb2RlbVJpbmdSZXN1bWVTdXBwb3J0ZWQ6MTsNCj4gKyAgICAxLCAgICAgICAgICAg ICAgICAgICAgICAgICAgLy8gUG1lU2lnbmFsU3VwcG9ydGVkICAgICAgOjE7DQo+ICsgICAgMCwg ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdFBsdWdEZXZpY2VzU3VwcG9ydGVkIDoxOw0K PiArICAgIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbWJ1c1NpZ25hbFN1cHBvcnRl ZCAgICA6MTsNCj4gKyAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQg ICAgICAgICAgICAgICAgOjIxOw0KPiArICB9LA0KPiArICAwICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBTbG90RGV2aWNlUGF0aA0KPiArfTsNCj4gKw0KPiArTUlTQ19TTUJJT1NfVEFC TEVfREFUQShFRklfTUlTQ19TWVNURU1fU0xPVF9ERVNJR05BVElPTl9EQVQNCj4gQSwgTWlzY1N5 c3RlbVNsb3RQQ0lFeDFTbG90MykgPSB7DQo+ICsgIFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNU RU1fU0xPVF9QQ0lFWDFfMyksICAgIC8vIFNsb3REZXNpZ25hdGlvbg0KPiArICBFZmlTbG90VHlw ZVBjaUV4cHJlc3MsICAgICAgICAvLyBTbG90VHlwZQ0KPiArICBFZmlTbG90RGF0YUJ1c1dpZHRo MXhPcngxLCAgICAvLyBTbG90RGF0YUJ1c1dpZHRoDQo+ICsgIEVmaVNsb3RVc2FnZUF2YWlsYWJs ZSwgICAgICAgIC8vIFNsb3RVc2FnZQ0KPiArICBFZmlTbG90TGVuZ3RoU2hvcnQsICAgICAgICAg ICAvLyBTbG90TGVuZ3RoDQo+ICsgIDB4MTYsICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNs b3RJZA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbG90Q2hhcmFjdGVy aXN0aWNzDQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYXJhY3Rlcmlz dGljc1Vua25vd24gIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQ cm92aWRlczUwVm9sdHMgICAgICAgICA6MTsNCj4gKyAgICAxLCAgICAgICAgICAgICAgICAgICAg ICAgICAgLy8gUHJvdmlkZXMzM1ZvbHRzICAgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAg ICAgICAgICAgICAgICAgIC8vIFNoYXJlZFNsb3QgICAgICAgICAgICAgIDoxOw0KPiArICAgIDAs ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQY0NhcmQxNlN1cHBvcnRlZCAgICAgICA6MTsN Cj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FyZEJ1c1N1cHBvcnRlZCAg ICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFpvb21WaWRl b1N1cHBvcnRlZCAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBNb2RlbVJpbmdSZXN1bWVTdXBwb3J0ZWQ6MTsNCj4gKyAgICAxLCAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gUG1lU2lnbmFsU3VwcG9ydGVkICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIEhvdFBsdWdEZXZpY2VzU3VwcG9ydGVkIDoxOw0KPiArICAg IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbWJ1c1NpZ25hbFN1cHBvcnRlZCAgICA6 MTsNCj4gKyAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQgICAgICAg ICAgICAgICAgOjIxOw0KPiArICB9LA0KPiArICAwICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBTbG90RGV2aWNlUGF0aA0KPiArfTsNCj4gKw0KPiArTUlTQ19TTUJJT1NfVEFCTEVfREFU QShFRklfTUlTQ19TWVNURU1fU0xPVF9ERVNJR05BVElPTl9EQVQNCj4gQSwgTWlzY1N5c3RlbVNs b3RQQ0kxKSA9IHsNCj4gKyAgU1RSSU5HX1RPS0VOKFNUUl9NSVNDX1NZU1RFTV9TTE9UX1BDSTEp LCAgICAvLyBTbG90RGVzaWduYXRpb24NCj4gKyAgRWZpU2xvdFR5cGVQY2ksICAgICAgICAgICAg ICAgLy8gU2xvdFR5cGUNCj4gKyAgRWZpU2xvdERhdGFCdXNXaWR0aDMyQml0LCAgICAgLy8gU2xv dERhdGFCdXNXaWR0aA0KPiArICBFZmlTbG90VXNhZ2VBdmFpbGFibGUsICAgICAgICAvLyBTbG90 VXNhZ2UNCj4gKyAgRWZpU2xvdExlbmd0aExvbmcgLCAgICAgICAgICAgLy8gU2xvdExlbmd0aA0K PiArICAweDA3LCAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbG90SWQNCj4gKyAgeyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2xvdENoYXJhY3RlcmlzdGljcw0KPiArICAgIDAs ICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBDaGFyYWN0ZXJpc3RpY3NVbmtub3duICA6MTsN Cj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUHJvdmlkZXM1MFZvbHRzICAg ICAgICAgOjE7DQo+ICsgICAgMSwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFByb3ZpZGVz MzNWb2x0cyAgICAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAv LyBTaGFyZWRTbG90ICAgICAgICAgICAgICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gUGNDYXJkMTZTdXBwb3J0ZWQgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIENhcmRCdXNTdXBwb3J0ZWQgICAgICAgIDoxOw0KPiArICAg IDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBab29tVmlkZW9TdXBwb3J0ZWQgICAgICA6 MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gTW9kZW1SaW5nUmVzdW1l U3VwcG9ydGVkOjE7DQo+ICsgICAgMSwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBtZVNp Z25hbFN1cHBvcnRlZCAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBIb3RQbHVnRGV2aWNlc1N1cHBvcnRlZCA6MTsNCj4gKyAgICAxLCAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gU21idXNTaWduYWxTdXBwb3J0ZWQgICAgOjE7DQo+ICsgICAgMCAgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFJlc2VydmVkICAgICAgICAgICAgICAgIDoyMTsNCj4g KyAgfSwNCj4gKyAgMCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2xvdERldmljZVBh dGgNCj4gK307DQo+ICsNCj4gK01JU0NfU01CSU9TX1RBQkxFX0RBVEEoRUZJX01JU0NfU1lTVEVN X1NMT1RfREVTSUdOQVRJT05fREFUDQo+IEEsIE1pc2NTeXN0ZW1TbG90UENJMikgPSB7DQo+ICsg IFNUUklOR19UT0tFTihTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0kyKSwgICAgLy8gU2xvdERlc2ln bmF0aW9uDQo+ICsgIEVmaVNsb3RUeXBlUGNpLCAgICAgICAgICAgICAgIC8vIFNsb3RUeXBlDQo+ ICsgIEVmaVNsb3REYXRhQnVzV2lkdGgzMkJpdCwgICAgIC8vIFNsb3REYXRhQnVzV2lkdGgNCj4g KyAgRWZpU2xvdFVzYWdlQXZhaWxhYmxlLCAgICAgICAgLy8gU2xvdFVzYWdlDQo+ICsgIEVmaVNs b3RMZW5ndGhMb25nICwgICAgICAgICAgIC8vIFNsb3RMZW5ndGgNCj4gKyAgMHgxOCwgICAgICAg ICAgICAgICAgICAgICAgICAgLy8gU2xvdElkDQo+ICsgIHsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIC8vIFNsb3RDaGFyYWN0ZXJpc3RpY3MNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAg ICAgICAgICAgLy8gQ2hhcmFjdGVyaXN0aWNzVW5rbm93biAgOjE7DQo+ICsgICAgMCwgICAgICAg ICAgICAgICAgICAgICAgICAgIC8vIFByb3ZpZGVzNTBWb2x0cyAgICAgICAgIDoxOw0KPiArICAg IDEsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQcm92aWRlczMzVm9sdHMgICAgICAgICA6 MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gU2hhcmVkU2xvdCAgICAg ICAgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFBjQ2Fy ZDE2U3VwcG9ydGVkICAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBDYXJkQnVzU3VwcG9ydGVkICAgICAgICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gWm9vbVZpZGVvU3VwcG9ydGVkICAgICAgOjE7DQo+ICsgICAgMCwgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIE1vZGVtUmluZ1Jlc3VtZVN1cHBvcnRlZDoxOw0KPiAr ICAgIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQbWVTaWduYWxTdXBwb3J0ZWQgICAg ICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gSG90UGx1Z0Rldmlj ZXNTdXBwb3J0ZWQgOjE7DQo+ICsgICAgMSwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNt YnVzU2lnbmFsU3VwcG9ydGVkICAgIDoxOw0KPiArICAgIDAgICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBSZXNlcnZlZCAgICAgICAgICAgICAgICA6MjE7DQo+ICsgIH0sDQo+ICsgIDAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFNsb3REZXZpY2VQYXRoDQo+ICt9Ow0KPiArDQo+ ICtNSVNDX1NNQklPU19UQUJMRV9EQVRBKEVGSV9NSVNDX1NZU1RFTV9TTE9UX0RFU0lHTkFUSU9O X0RBVA0KPiBBLCBNaXNjU3lzdGVtU2xvdFBDSTMpID0gew0KPiArICBTVFJJTkdfVE9LRU4oU1RS X01JU0NfU1lTVEVNX1NMT1RfUENJMyksICAgIC8vIFNsb3REZXNpZ25hdGlvbg0KPiArICBFZmlT bG90VHlwZVBjaSwgICAgICAgICAgICAgICAvLyBTbG90VHlwZQ0KPiArICBFZmlTbG90RGF0YUJ1 c1dpZHRoMzJCaXQsICAgICAvLyBTbG90RGF0YUJ1c1dpZHRoDQo+ICsgIEVmaVNsb3RVc2FnZUF2 YWlsYWJsZSwgICAgICAgIC8vIFNsb3RVc2FnZQ0KPiArICBFZmlTbG90TGVuZ3RoTG9uZyAsICAg ICAgICAgICAvLyBTbG90TGVuZ3RoDQo+ICsgIDB4MTcsICAgICAgICAgICAgICAgICAgICAgICAg IC8vIFNsb3RJZA0KPiArICB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbG90Q2hh cmFjdGVyaXN0aWNzDQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIENoYXJh Y3RlcmlzdGljc1Vua25vd24gIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAg ICAvLyBQcm92aWRlczUwVm9sdHMgICAgICAgICA6MTsNCj4gKyAgICAxLCAgICAgICAgICAgICAg ICAgICAgICAgICAgLy8gUHJvdmlkZXMzM1ZvbHRzICAgICAgICAgOjE7DQo+ICsgICAgMCwgICAg ICAgICAgICAgICAgICAgICAgICAgIC8vIFNoYXJlZFNsb3QgICAgICAgICAgICAgIDoxOw0KPiAr ICAgIDAsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBQY0NhcmQxNlN1cHBvcnRlZCAgICAg ICA6MTsNCj4gKyAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gQ2FyZEJ1c1N1cHBv cnRlZCAgICAgICAgOjE7DQo+ICsgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFpv b21WaWRlb1N1cHBvcnRlZCAgICAgIDoxOw0KPiArICAgIDAsICAgICAgICAgICAgICAgICAgICAg ICAgICAvLyBNb2RlbVJpbmdSZXN1bWVTdXBwb3J0ZWQ6MTsNCj4gKyAgICAxLCAgICAgICAgICAg ICAgICAgICAgICAgICAgLy8gUG1lU2lnbmFsU3VwcG9ydGVkICAgICAgOjE7DQo+ICsgICAgMCwg ICAgICAgICAgICAgICAgICAgICAgICAgIC8vIEhvdFBsdWdEZXZpY2VzU3VwcG9ydGVkIDoxOw0K PiArICAgIDEsICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBTbWJ1c1NpZ25hbFN1cHBvcnRl ZCAgICA6MTsNCj4gKyAgICAwICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gUmVzZXJ2ZWQg ICAgICAgICAgICAgICAgOjIxOw0KPiArICB9LA0KPiArICAwICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAvLyBTbG90RGV2aWNlUGF0aA0KPiArfTsNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVt U2xvdERlc2lnbmENCj4gdGlvbkZ1bmN0aW9uLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TbUJpb3NNaXNjRHhlL01pc2NTeXN0ZW1TbG90RGVzaWduDQo+IGF0aW9uRnVu Y3Rpb24uYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi43Mjcw ZWY4MjZmDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvU21CaW9zTWlzY0R4ZS9NaXNjU3lzdGVtU2xvdERlc2lnbg0KPiBhdGlvbkZ1 bmN0aW9uLmMNCj4gQEAgLTAsMCArMSwxMjcgQEANCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0 IChjKSAyMDA5IC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQu PEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNl LVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4g KyAgTWlzY1N5c3RlbVNsb3REZXNpZ25hdG9yRnVuY3Rpb24uYw0KPiArDQo+ICtBYnN0cmFjdDoN Cj4gKw0KPiArICBCSU9TIHN5c3RlbSBzbG90IGRlc2lnbmF0b3IgaW5mb3JtYXRpb24gYm9vdCB0 aW1lIGNoYW5nZXMuDQo+ICsgIFNNQklPUyB0eXBlIDkuDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiAr I2luY2x1ZGUgIk1pc2NTdWJjbGFzc0RyaXZlci5oIg0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBm dW5jdGlvbiBtYWtlcyBib290IHRpbWUgY2hhbmdlcyB0byB0aGUgY29udGVudHMgb2YgdGhlDQo+ ICsgIE1pc2NTeXN0ZW1TbG90RGVzaWduYXRvciBzdHJ1Y3R1cmUgKFR5cGUgOSkuDQo+ICsNCj4g KyAgQHBhcmFtICBSZWNvcmREYXRhICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIGNvcHkgb2Yg UmVjb3JkRGF0YSBmcm9tIHRoZSBEYXRhDQo+IFRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJ X1NVQ0NFU1MgICAgICAgICAgICAgICAgQWxsIHBhcmFtZXRlcnMgd2VyZSB2YWxpZC4NCj4gKyAg QHJldHZhbCBFRklfVU5TVVBQT1JURUQgICAgICAgICAgICBVbmV4cGVjdGVkIFJlY29yZFR5cGUg dmFsdWUuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICAgICAgSW52YWxpZCBw YXJhbWV0ZXIgd2FzIGZvdW5kLg0KPiArDQo+ICsqKi8NCj4gK01JU0NfU01CSU9TX1RBQkxFX0ZV TkNUSU9OKE1pc2NTeXN0ZW1TbG90RGVzaWduYXRpb24pDQo+ICt7DQo+ICsgIENIQVI4ICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKk9wdGlvbmFsU3RyU3RhcnQ7DQo+ICsgIFVJTlROICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgU2xvdERlc2lnbmF0aW9uU3RyTGVuOw0KPiArICBF RklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1NUUklO RyAgICAgICAgICAgICAgICAgICAgICAgICBTbG90RGVzaWduYXRpb247DQo+ICsgIFNUUklOR19S RUYgICAgICAgICAgICAgICAgICAgICAgICAgVG9rZW5Ub0dldDsNCj4gKyAgU01CSU9TX1RBQkxF X1RZUEU5ICAgICAgICAgICAgICAgICAqU21iaW9zUmVjb3JkOw0KPiArICBFRklfU01CSU9TX0hB TkRMRSAgICAgICAgICAgICAgICAgIFNtYmlvc0hhbmRsZTsNCj4gKyAgRUZJX01JU0NfU1lTVEVN X1NMT1RfREVTSUdOQVRJT04qICBGb3JUeXBlOUlucHV0RGF0YTsNCj4gKw0KPiArICBGb3JUeXBl OUlucHV0RGF0YSA9IChFRklfTUlTQ19TWVNURU1fU0xPVF9ERVNJR05BVElPTg0KPiAqKVJlY29y ZERhdGE7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmlyc3QgY2hlY2sgZm9yIGludmFsaWQgcGFy YW1ldGVycy4NCj4gKyAgLy8NCj4gKyAgaWYgKFJlY29yZERhdGEgPT0gTlVMTCkgew0KPiArICAg IHJldHVybiBFRklfSU5WQUxJRF9QQVJBTUVURVI7DQo+ICsgIH0NCj4gKw0KPiArICBUb2tlblRv R2V0ID0gMDsNCj4gKyAgc3dpdGNoIChGb3JUeXBlOUlucHV0RGF0YS0+U2xvdERlc2lnbmF0aW9u KSB7DQo+ICsgICAgY2FzZSBTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDE2XzE6DQo+ICsgICAg ICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDE2 XzEpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBTVFJfTUlTQ19TWVNURU1fU0xPVF9Q Q0lFWDE2XzI6DQo+ICsgICAgICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19T WVNURU1fU0xPVF9QQ0lFWDE2XzIpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBTVFJf TUlTQ19TWVNURU1fU0xPVF9QQ0lFWDQ6DQo+ICsgICAgICBUb2tlblRvR2V0ID0gU1RSSU5HX1RP S0VOIChTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDQpOw0KPiArICAgICAgYnJlYWs7DQo+ICsg ICAgY2FzZSBTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0lFWDFfMToNCj4gKyAgICAgIFRva2VuVG9H ZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1NZU1RFTV9TTE9UX1BDSUVYMV8xKTsNCj4gKyAg ICAgIGJyZWFrOw0KPiArICAgIGNhc2UgU1RSX01JU0NfU1lTVEVNX1NMT1RfUENJRVgxXzI6DQo+ ICsgICAgICBUb2tlblRvR2V0ID0gU1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TWVNURU1fU0xPVF9Q Q0lFWDFfMik7DQo+ICsgICAgICBicmVhazsNCj4gKyAgICBjYXNlIFNUUl9NSVNDX1NZU1RFTV9T TE9UX1BDSUVYMV8zOg0KPiArICAgICAgVG9rZW5Ub0dldCA9IFNUUklOR19UT0tFTiAoU1RSX01J U0NfU1lTVEVNX1NMT1RfUENJRVgxXzMpOw0KPiArICAgICAgYnJlYWs7DQo+ICsgICAgY2FzZSBT VFJfTUlTQ19TWVNURU1fU0xPVF9QQ0kxOg0KPiArICAgICAgVG9rZW5Ub0dldCA9IFNUUklOR19U T0tFTiAoU1RSX01JU0NfU1lTVEVNX1NMT1RfUENJMSk7DQo+ICsgICAgICBicmVhazsNCj4gKyAg ICBjYXNlIFNUUl9NSVNDX1NZU1RFTV9TTE9UX1BDSTI6DQo+ICsgICAgICBUb2tlblRvR2V0ID0g U1RSSU5HX1RPS0VOIChTVFJfTUlTQ19TWVNURU1fU0xPVF9QQ0kyKTsNCj4gKyAgICAgIGJyZWFr Ow0KPiArICAgIGNhc2UgU1RSX01JU0NfU1lTVEVNX1NMT1RfUENJMzoNCj4gKyAgICAgIFRva2Vu VG9HZXQgPSBTVFJJTkdfVE9LRU4gKFNUUl9NSVNDX1NZU1RFTV9TTE9UX1BDSTMpOw0KPiArICAg ICAgYnJlYWs7DQo+ICsgICAgZGVmYXVsdDoNCj4gKyAgICAgIGJyZWFrOw0KPiArICB9DQo+ICsN Cj4gKyAgU2xvdERlc2lnbmF0aW9uID0gU21iaW9zTWlzY0dldFN0cmluZyAoVG9rZW5Ub0dldCk7 DQo+ICsgIFNsb3REZXNpZ25hdGlvblN0ckxlbiA9IFN0ckxlbihTbG90RGVzaWduYXRpb24pOw0K PiArICBpZiAoU2xvdERlc2lnbmF0aW9uU3RyTGVuID4gU01CSU9TX1NUUklOR19NQVhfTEVOR1RI KSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIFR3byB6ZXJvcyBmb2xsb3dpbmcgdGhlIGxhc3Qgc3RyaW5nLg0KPiArICAvLw0K PiArICBTbWJpb3NSZWNvcmQgPSBBbGxvY2F0ZVBvb2woc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQ RTkpICsNCj4gU2xvdERlc2lnbmF0aW9uU3RyTGVuICsgMSArIDEpOw0KPiArICBaZXJvTWVtKFNt Ymlvc1JlY29yZCwgc2l6ZW9mIChTTUJJT1NfVEFCTEVfVFlQRTkpDQo+ICtTbG90RGVzaWduYXRp b25TdHJMZW4gKyAxICsgMSk7DQo+ICsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIuVHlwZSA9IEVG SV9TTUJJT1NfVFlQRV9TWVNURU1fU0xPVFM7DQo+ICsgIFNtYmlvc1JlY29yZC0+SGRyLkxlbmd0 aCA9IHNpemVvZiAoU01CSU9TX1RBQkxFX1RZUEU5KTsNCj4gKyAgU21iaW9zUmVjb3JkLT5IZHIu SGFuZGxlID0gMDsNCj4gKyAgU21iaW9zUmVjb3JkLT5TbG90RGVzaWduYXRpb24gPSAxOw0KPiAr ICBTbWJpb3NSZWNvcmQtPlNsb3RUeXBlID0gKFVJTlQ4KUZvclR5cGU5SW5wdXREYXRhLT5TbG90 VHlwZTsNCj4gKyAgU21iaW9zUmVjb3JkLT5TbG90RGF0YUJ1c1dpZHRoID0gKFVJTlQ4KUZvclR5 cGU5SW5wdXREYXRhLQ0KPiA+U2xvdERhdGFCdXNXaWR0aDsNCj4gKyAgU21iaW9zUmVjb3JkLT5D dXJyZW50VXNhZ2UgPSAoVUlOVDgpRm9yVHlwZTlJbnB1dERhdGEtPlNsb3RVc2FnZTsNCj4gKyAg U21iaW9zUmVjb3JkLT5TbG90TGVuZ3RoID0gKFVJTlQ4KUZvclR5cGU5SW5wdXREYXRhLT5TbG90 TGVuZ3RoOw0KPiArICBTbWJpb3NSZWNvcmQtPlNsb3RJRCA9IEZvclR5cGU5SW5wdXREYXRhLT5T bG90SWQ7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2xvdCBDaGFyYWN0ZXJpc3RpY3MNCj4gKyAg Ly8NCj4gKyAgQ29weU1lbSAoKFVJTlQ4ICopICZTbWJpb3NSZWNvcmQtPlNsb3RDaGFyYWN0ZXJp c3RpY3MxLChVSU5UOCAqKQ0KPiAmRm9yVHlwZTlJbnB1dERhdGEtPlNsb3RDaGFyYWN0ZXJpc3Rp Y3MsMik7DQo+ICsgIE9wdGlvbmFsU3RyU3RhcnQgPSAoQ0hBUjggKikoU21iaW9zUmVjb3JkICsg MSk7DQo+ICsgIFVuaWNvZGVTdHJUb0FzY2lpU3RyKFNsb3REZXNpZ25hdGlvbiwgT3B0aW9uYWxT dHJTdGFydCk7DQo+ICsgIC8vDQo+ICsgIC8vIE5vdyB3ZSBoYXZlIGdvdCB0aGUgZnVsbCBzbWJp b3MgcmVjb3JkLCBjYWxsIHNtYmlvcyBwcm90b2NvbCB0byBhZGQgdGhpcw0KPiByZWNvcmQuDQo+ ICsgIC8vDQo+ICsgIFNtYmlvc0hhbmRsZSA9IFNNQklPU19IQU5ETEVfUElfUkVTRVJWRUQ7DQo+ ICsgIFN0YXR1cyA9IFNtYmlvcy0+IEFkZCgNCj4gKyAgICAgICAgICAgICAgICAgICAgICBTbWJp b3MsDQo+ICsgICAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAmU21iaW9zSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgICAgIChFRklfU01CSU9T X1RBQkxFX0hFQURFUiAqKSBTbWJpb3NSZWNvcmQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAp Ow0KPiArICBGcmVlUG9vbChTbWJpb3NSZWNvcmQpOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiAr fQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21C aW9zTWlzY0R4ZS9TbUJpb3NNaXNjRHhlLmluZg0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUvU21CaW9zTWlzY0R4ZS5pbmYNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uMzdlNTRhOTJhOA0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtQmlvc01pc2NEeGUv U21CaW9zTWlzY0R4ZS5pbmYNCj4gQEAgLTAsMCArMSwxMzkgQEANCj4gKyMjIEBmaWxlDQo+ICsj IENvbXBvbmVudCBuYW1lIGZvciBtb2R1bGUgTWlzY1N1YmNsYXNzDQo+ICsjDQo+ICsjIEZJWCBN RSENCj4gKyMgQ29weXJpZ2h0IChjKSAyMDA2IC0gMjAxOCwgSW50ZWwgQ29ycG9yYXRpb24uIEFs bCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArIw0KPiArIw0KPiArIw0KPiArIw0KPiArIyMNCj4g Kw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4 MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gTWlzY1N1YmNs YXNzDQo+ICsgIEZJTEVfR1VJRCAgICAgICAgICAgICAgICAgICAgICA9IDRFRkZCNTYwLUIyOEIt NGU1Ny05REFELTQzNDRFMzJFQTNCQQ0KPiArICBNT0RVTEVfVFlQRSAgICAgICAgICAgICAgICAg ICAgPSBEWEVfRFJJVkVSDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEu MA0KPiArICBFTlRSWV9QT0lOVCAgICAgICAgICAgICAgICAgICAgPSBNaXNjU3ViY2xhc3NEcml2 ZXJFbnRyeVBvaW50DQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBp cyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9v bHMuDQo+ICsjDQo+ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0 IEVCQw0KPiArIw0KPiArDQo+ICtbU291cmNlc10NCj4gKyAgTWlzY0Jhc2VCb2FyZE1hbnVmYWN0 dXJlci51bmkNCj4gKyAgTWlzY0Jhc2VCb2FyZE1hbnVmYWN0dXJlckRhdGEuYw0KPiArICBNaXNj QmFzZUJvYXJkTWFudWZhY3R1cmVyRnVuY3Rpb24uYw0KPiArICBNaXNjQmlvc1ZlbmRvci51bmkN Cj4gKyAgTWlzY0Jpb3NWZW5kb3JEYXRhLmMNCj4gKyAgTWlzY0Jpb3NWZW5kb3JGdW5jdGlvbi5j DQo+ICsgIE1pc2NCb290SW5mb3JtYXRpb25EYXRhLmMNCj4gKyAgTWlzY0Jvb3RJbmZvcm1hdGlv bkZ1bmN0aW9uLmMNCj4gKyAgTWlzY0NoYXNzaXNNYW51ZmFjdHVyZXIudW5pDQo+ICsgIE1pc2ND aGFzc2lzTWFudWZhY3R1cmVyRGF0YS5jDQo+ICsgIE1pc2NDaGFzc2lzTWFudWZhY3R1cmVyRnVu Y3Rpb24uYw0KPiArICBNaXNjTnVtYmVyT2ZJbnN0YWxsYWJsZUxhbmd1YWdlc0RhdGEuYw0KPiAr ICBNaXNjTnVtYmVyT2ZJbnN0YWxsYWJsZUxhbmd1YWdlc0Z1bmN0aW9uLmMNCj4gKyAgTWlzY09l bVN0cmluZy51bmkNCj4gKyAgTWlzY09lbVN0cmluZ0RhdGEuYw0KPiArICBNaXNjT2VtU3RyaW5n RnVuY3Rpb24uYw0KPiArICBNaXNjT25ib2FyZERldmljZS51bmkNCj4gKyAgTWlzY09uYm9hcmRE ZXZpY2VEYXRhLmMNCj4gKyAgTWlzY09uYm9hcmREZXZpY2VGdW5jdGlvbi5jDQo+ICsgIE1pc2NQ b3J0SW50ZXJuYWxDb25uZWN0b3JEZXNpZ25hdG9yLnVuaQ0KPiArICBNaXNjUG9ydEludGVybmFs Q29ubmVjdG9yRGVzaWduYXRvckRhdGEuYw0KPiArICBNaXNjUG9ydEludGVybmFsQ29ubmVjdG9y RGVzaWduYXRvckZ1bmN0aW9uLmMNCj4gKyAgTWlzY1Jlc2V0Q2FwYWJpbGl0aWVzRGF0YS5jDQo+ ICsgIE1pc2NSZXNldENhcGFiaWxpdGllc0Z1bmN0aW9uLmMNCj4gKyAgTWlzY1N5c3RlbUxhbmd1 YWdlU3RyaW5nLnVuaQ0KPiArICBNaXNjU3lzdGVtTGFuZ3VhZ2VTdHJpbmdEYXRhLmMNCj4gKyAg TWlzY1N5c3RlbUxhbmd1YWdlU3RyaW5nRnVuY3Rpb24uYw0KPiArICBNaXNjU3lzdGVtTWFudWZh Y3R1cmVyLnVuaQ0KPiArICBNaXNjU3lzdGVtTWFudWZhY3R1cmVyRGF0YS5jDQo+ICsgIE1pc2NT eXN0ZW1NYW51ZmFjdHVyZXJGdW5jdGlvbi5jDQo+ICsgIE1pc2NTeXN0ZW1PcHRpb25TdHJpbmcu dW5pDQo+ICsgIE1pc2NTeXN0ZW1PcHRpb25TdHJpbmdEYXRhLmMNCj4gKyAgTWlzY1N5c3RlbU9w dGlvblN0cmluZ0Z1bmN0aW9uLmMNCj4gKyAgTWlzY1N5c3RlbVNsb3REZXNpZ25hdGlvbi51bmkN Cj4gKyAgTWlzY1N5c3RlbVNsb3REZXNpZ25hdGlvbkRhdGEuYw0KPiArICBNaXNjU3lzdGVtU2xv dERlc2lnbmF0aW9uRnVuY3Rpb24uYw0KPiArICBNaXNjU3ViY2xhc3NEcml2ZXIuaA0KPiArICBN aXNjU3ViY2xhc3NEcml2ZXIudW5pDQo+ICsgIE1pc2NTdWJjbGFzc0RyaXZlckRhdGFUYWJsZS5j DQo+ICsgIE1pc2NTdWJjbGFzc0RyaXZlckVudHJ5UG9pbnQuYw0KPiArICBDb21tb25IZWFkZXIu aA0KPiArICBNaXNjT2VtVHlwZTB4OTBGdW5jdGlvbi5jDQo+ICsgIE1pc2NPZW1UeXBlMHg5MERh dGEuYw0KPiArICBNaXNjT2VtVHlwZTB4OTAudW5pDQo+ICsgIE1pc2NQcm9jZXNzb3JJbmZvcm1h dGlvbi51bmkNCj4gKyAgTWlzY1Byb2Nlc3NvckluZm9ybWF0aW9uRGF0YS5jDQo+ICsgIE1pc2NQ cm9jZXNzb3JJbmZvcm1hdGlvbkZ1bmN0aW9uLmMNCj4gKyAgTWlzY1Byb2Nlc3NvckNhY2hlLnVu aQ0KPiArICBNaXNjUHJvY2Vzc29yQ2FjaGVEYXRhLmMNCj4gKyAgTWlzY1Byb2Nlc3NvckNhY2hl RnVuY3Rpb24uYw0KPiArICBNaXNjUGh5c2ljYWxBcnJheS51bmkNCj4gKyAgTWlzY1BoeXNpY2Fs QXJyYXlEYXRhLmMNCj4gKyAgTWlzY1BoeXNpY2FsQXJyYXlGdW5jdGlvbi5jDQo+ICsgIE1pc2NN ZW1vcnlEZXZpY2UudW5pDQo+ICsgIE1pc2NNZW1vcnlEZXZpY2VEYXRhLmMNCj4gKyAgTWlzY01l bW9yeURldmljZUZ1bmN0aW9uLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVNb2R1bGVQ a2cvTWRlTW9kdWxlUGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5k ZWMNCj4gKyAgTWRlUGtnL01kZVBrZy5kZWMNCj4gKyAgSW50ZWxGcmFtZXdvcmtQa2cvSW50ZWxG cmFtZXdvcmtQa2cuZGVjDQo+ICsgIFZsdjJEZXZpY2VSZWZDb2RlUGtnL1ZsdjJEZXZpY2VSZWZD b2RlUGtnLmRlYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIEhpaUxpYg0KPiArICBE ZXZpY2VQYXRoTGliDQo+ICsgIFVlZmlCb290U2VydmljZXNUYWJsZUxpYg0KPiArICBVZWZpUnVu dGltZVNlcnZpY2VzVGFibGVMaWINCj4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gKyAgQmFz ZU1lbW9yeUxpYg0KPiArICBEZWJ1Z0xpYg0KPiArICBCYXNlTGliDQo+ICsgIE1lbW9yeUFsbG9j YXRpb25MaWINCj4gKyAgUGNkTGliDQo+ICsgIFVlZmlMaWINCj4gKyAgQmlvc0lkTGliDQo+ICsg IFByaW50TGliDQo+ICsgIENwdUlBMzJMaWINCj4gKyAgUGNoUGxhdGZvcm1MaWINCj4gKyAgSTJj TGliDQo+ICsgIE5ldExpYg0KPiArICBIb2JMaWINCj4gKw0KPiArW0d1aWRzXQ0KPiArICBnRWZp UHJvY2Vzc29yU3ViQ2xhc3NHdWlkDQo+ICsgIGdFZmlDYWNoZVN1YkNsYXNzR3VpZA0KPiArICBn RWZpTm9ybWFsU2V0dXBHdWlkDQo+ICsgIGdFZmlQbGF0Zm9ybUluZm9HdWlkDQo+ICsgIGdFZmlW bHYyVmFyaWFibGVHdWlkDQo+ICsNCj4gK1tQcm90b2NvbHNdDQo+ICsgIGdFZmlTbWJpb3NQcm90 b2NvbEd1aWQgICAgICAgICAgICAgICAgICAgICAgICAjIFBST1RPQ09MIEFMV0FZU19DT05TVU1F RA0KPiArICBnRWZpRHhlU21tUmVhZHlUb0xvY2tQcm90b2NvbEd1aWQgICAgICAgICAgICAgIyBQ Uk9UT0NPTA0KPiBBTFdBWVNfQ09OU1VNRUQNCj4gKyAgZ0VmaURhdGFIdWJQcm90b2NvbEd1aWQN Cj4gKyAgZ0VmaU1wU2VydmljZVByb3RvY29sR3VpZA0KPiArICBnTWVtSW5mb1Byb3RvY29sR3Vp ZA0KPiArICBnRWZpVGR0T3BlcmF0aW9uUHJvdG9jb2xHdWlkDQo+ICsgIGdEeGVQY2hQbGF0Zm9y bVBvbGljeVByb3RvY29sR3VpZA0KPiArICBnRWZpU3BpUHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlT aW1wbGVOZXR3b3JrUHJvdG9jb2xHdWlkDQo+ICsNCj4gK1tQY2RdDQo+ICsgIGdFZmlNZGVNb2R1 bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGaXJtd2FyZVJlbGVhc2VEYXRlU3RyaW5nDQo+ICsgIGdF ZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RGaXJtd2FyZVZlcnNpb25TdHJpbmcNCj4g KyAgZ0VmaU1kZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFVlZmlWYXJpYWJsZURlZmF1bHRQbGF0Zm9y bUxhbmcNCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZEVtbWNNYW51ZmFjdHVyZXJJZA0K PiArICBnRWZpVkxWVG9rZW5TcGFjZUd1aWQuUGNkUHJvZHVjdFNlcmlhbE51bWJlcg0KPiArDQo+ ICtbRGVwZXhdDQo+ICsgZ0VmaVNtYmlvc1Byb3RvY29sR3VpZCBBTkQgZ01lbUluZm9Qcm90b2Nv bEd1aWQgQU5EDQo+IGdFZmlNcFNlcnZpY2VQcm90b2NvbEd1aWQgQU5EIGdFZmlTaW1wbGVOZXR3 b3JrUHJvdG9jb2xHdWlkDQo+IGRpZmYgLS1naXQNCj4gYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TbW1Td0Rpc3BhdGNoMk9uU21tU3dEaXNwYXRjaFRoDQo+IHVuay9TbW1Td0Rp c3BhdGNoMk9uU21tU3dEaXNwYXRjaFRodW5rLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9TbW1Td0Rpc3BhdGNoMk9uU21tU3dEaXNwYXRjaFRoDQo+IHVuay9TbW1Td0Rp c3BhdGNoMk9uU21tU3dEaXNwYXRjaFRodW5rLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4g aW5kZXggMDAwMDAwMDAwMC4uMGRiZDZmMDBlMQ0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKw0KPiBi L1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtbVN3RGlzcGF0Y2gyT25TbW1Td0Rp c3BhdGNoVGgNCj4gdW5rL1NtbVN3RGlzcGF0Y2gyT25TbW1Td0Rpc3BhdGNoVGh1bmsuYw0KPiBA QCAtMCwwICsxLDQ1OSBAQA0KPiArLyoqIEBmaWxlDQo+ICsgIFNNTSBTd0Rpc3BhdGNoMiBQcm90 b2NvbCBvbiBTTU0gU3dEaXNwYXRjaCBQcm90b2NvbCBUaHVuayBkcml2ZXIuDQo+ICsNCj4gKyAg Q29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMg cmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5j bHVkZSA8UGlEeGUuaD4NCj4gKyNpbmNsdWRlIDxGcmFtZXdvcmtTbW0uaD4NCj4gKw0KPiArI2lu Y2x1ZGUgPFByb3RvY29sL1NtbVN3RGlzcGF0Y2gyLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wv U21tU3dEaXNwYXRjaC5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1NtbUNvbnRyb2wuaD4NCj4g KyNpbmNsdWRlIDxQcm90b2NvbC9TbW1DcHUuaD4NCj4gKw0KPiArI2luY2x1ZGUgPExpYnJhcnkv VWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpRHJp dmVyRW50cnlQb2ludC5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvU21tU2VydmljZXNUYWJsZUxp Yi5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvQmFzZUxpYi5oPg0KPiArI2luY2x1ZGUgPExpYnJh cnkvSW9MaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0RlYnVnTGliLmg+DQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgTElTVF9FTlRSWSAgICAgICAgICAgICAgICAgICAgIExpbms7 DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRsZTsNCj4g KyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgIFN3U21pSW5wdXRWYWx1ZTsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoRnVuY3Rpb247DQo+ICt9IEVG SV9TTU1fU1dfRElTUEFUQ0gyX1RIVU5LX0NPTlRFWFQ7DQo+ICsNCj4gKy8qKg0KPiArICBSZWdp c3RlciBhIGNoaWxkIFNNSSBzb3VyY2UgZGlzcGF0Y2ggZnVuY3Rpb24gZm9yIHRoZSBzcGVjaWZp ZWQgc29mdHdhcmUNCj4gU01JLg0KPiArDQo+ICsgIFRoaXMgc2VydmljZSByZWdpc3RlcnMgYSBm dW5jdGlvbiAoRGlzcGF0Y2hGdW5jdGlvbikgd2hpY2ggd2lsbCBiZSBjYWxsZWQNCj4gd2hlbiB0 aGUgc29mdHdhcmUNCj4gKyAgU01JIHNvdXJjZSBzcGVjaWZpZWQgYnkgUmVnaXN0ZXJDb250ZXh0 LT5Td1NtaUNwdUluZGV4IGlzIGRldGVjdGVkLiBPbg0KPiByZXR1cm4sDQo+ICsgIERpc3BhdGNo SGFuZGxlIGNvbnRhaW5zIGEgdW5pcXVlIGhhbmRsZSB3aGljaCBtYXkgYmUgdXNlZCBsYXRlciB0 bw0KPiB1bnJlZ2lzdGVyIHRoZSBmdW5jdGlvbg0KPiArICB1c2luZyBVblJlZ2lzdGVyKCkuDQo+ ICsNCj4gKyAgQHBhcmFtW2luXSAgVGhpcyAgICAgICAgICAgICAgICAgIFBvaW50ZXIgdG8gdGhl DQo+IEVGSV9TTU1fU1dfRElTUEFUQ0gyX1BST1RPQ09MIGluc3RhbmNlLg0KPiArICBAcGFyYW1b aW5dICBEaXNwYXRjaEZ1bmN0aW9uICAgICAgRnVuY3Rpb24gdG8gcmVnaXN0ZXIgZm9yIGhhbmRs ZXIgd2hlbiB0aGUNCj4gc3BlY2lmaWVkIHNvZnR3YXJlDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBTTUkgaXMgZ2VuZXJhdGVkLg0KPiArICBAcGFyYW1baW4sIG91dF0g IFJlZ2lzdGVyQ29udGV4dCAgUG9pbnRlciB0byB0aGUgZGlzcGF0Y2ggZnVuY3Rpb24ncw0KPiBj b250ZXh0Lg0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgVGhlIGNhbGxl ciBmaWxscyB0aGlzIGNvbnRleHQgaW4gYmVmb3JlIGNhbGxpbmcNCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIHRoZSByZWdpc3RlciBmdW5jdGlvbiB0byBpbmRpY2F0ZSB0 byB0aGUgcmVnaXN0ZXINCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZ1 bmN0aW9uIHdoaWNoIFNvZnR3YXJlIFNNSSBpbnB1dCB2YWx1ZSB0aGUNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BhdGNoIGZ1bmN0aW9uIHNob3VsZCBiZSBpbnZv a2VkIGZvci4NCj4gKyAgQHBhcmFtW291dF0gRGlzcGF0Y2hIYW5kbGUgICAgICAgIEhhbmRsZSBn ZW5lcmF0ZWQgYnkgdGhlIGRpc3BhdGNoZXIgdG8NCj4gdHJhY2sgdGhlDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiBpbnN0YW5jZS4NCj4gKw0KPiArICBA cmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAgICAgVGhlIGRpc3BhdGNoIGZ1bmN0aW9uIGhhcyBi ZWVuIHN1Y2Nlc3NmdWxseQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcmVn aXN0ZXJlZCBhbmQgdGhlIFNNSSBzb3VyY2UgaGFzIGJlZW4gZW5hYmxlZC4NCj4gKyAgQHJldHZh bCBFRklfREVWSUNFX0VSUk9SICAgICAgIFRoZSBTVyBkcml2ZXIgd2FzIHVuYWJsZSB0byBlbmFi bGUgdGhlDQo+IFNNSSBzb3VyY2UuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVS ICBSZWdpc3RlckNvbnRleHQgaXMgaW52YWxpZC4gVGhlIFNXIFNNSQ0KPiBpbnB1dCB2YWx1ZQ0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaXMgbm90IHdpdGhpbiB2YWxpZCBy YW5nZS4NCj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgIFRoZXJlIGlzIG5vdCBl bm91Z2ggbWVtb3J5IChzeXN0ZW0NCj4gb3IgU01NKSB0byBtYW5hZ2UgdGhpcw0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgY2hpbGQuDQo+ICsgIEByZXR2YWwgRUZJX09VVF9P Rl9SRVNPVVJDRVMgICBBIHVuaXF1ZSBzb2Z0d2FyZSBTTUkgdmFsdWUgY291bGQgbm90DQo+IGJl IGFzc2lnbmVkDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmb3IgdGhpcyBk aXNwYXRjaC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTbW1Td0Rpc3Bh dGNoMlJlZ2lzdGVyICgNCj4gKyAgSU4gIENPTlNUIEVGSV9TTU1fU1dfRElTUEFUQ0gyX1BST1RP Q09MICAqVGhpcywNCj4gKyAgSU4gICAgICAgIEVGSV9TTU1fSEFORExFUl9FTlRSWV9QT0lOVDIg ICBEaXNwYXRjaEZ1bmN0aW9uLA0KPiArICBJTiAgT1VUICAgRUZJX1NNTV9TV19SRUdJU1RFUl9D T05URVhUICAgICpSZWdpc3RlckNvbnRleHQsDQo+ICsgIE9VVCAgICAgICBFRklfSEFORExFICAg ICAgICAgICAgICAgICAgICAgKkRpc3BhdGNoSGFuZGxlDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0K PiArICBVbnJlZ2lzdGVyIGEgY2hpbGQgU01JIHNvdXJjZSBkaXNwYXRjaCBmdW5jdGlvbiBmb3Ig dGhlIHNwZWNpZmllZCBzb2Z0d2FyZQ0KPiBTTUkuDQo+ICsNCj4gKyAgVGhpcyBzZXJ2aWNlIHJl bW92ZXMgdGhlIGhhbmRsZXIgYXNzb2NpYXRlZCB3aXRoIERpc3BhdGNoSGFuZGxlIHNvIHRoYXQg aXQNCj4gd2lsbCBubyBsb25nZXIgYmUNCj4gKyAgY2FsbGVkIGluIHJlc3BvbnNlIHRvIGEgc29m dHdhcmUgU01JLg0KPiArDQo+ICsgIEBwYXJhbVtpbl0gVGhpcyAgICAgICAgICAgICAgICBQb2lu dGVyIHRvIHRoZQ0KPiBFRklfU01NX1NXX0RJU1BBVENIMl9QUk9UT0NPTCBpbnN0YW5jZS4NCj4g KyAgQHBhcmFtW2luXSBEaXNwYXRjaEhhbmRsZSAgICAgIEhhbmRsZSBvZiBkaXNwYXRjaCBmdW5j dGlvbiB0byBkZXJlZ2lzdGVyLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAg ICAgICBUaGUgZGlzcGF0Y2ggZnVuY3Rpb24gaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5DQo+IHVucmVn aXN0ZXJlZC4NCj4gKyAgQHJldHZhbCBFRklfSU5WQUxJRF9QQVJBTUVURVIgIFRoZSBEaXNwYXRj aEhhbmRsZSB3YXMgbm90IHZhbGlkLg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkN Cj4gK1NtbVN3RGlzcGF0Y2gyVW5SZWdpc3RlciAoDQo+ICsgIElOIENPTlNUIEVGSV9TTU1fU1df RElTUEFUQ0gyX1BST1RPQ09MICAqVGhpcywNCj4gKyAgSU4gICAgICAgRUZJX0hBTkRMRSAgICAg ICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TTU1f U1dfRElTUEFUQ0gyX1BST1RPQ09MIGdTbW1Td0Rpc3BhdGNoMiA9IHsNCj4gKyAgU21tU3dEaXNw YXRjaDJSZWdpc3RlciwNCj4gKyAgU21tU3dEaXNwYXRjaDJVblJlZ2lzdGVyLA0KPiArICAwIC8v IE1heGltdW1Td2lWYWx1ZQ0KPiArfTsNCj4gKw0KPiArRUZJX1NNTV9TV19ESVNQQVRDSF9QUk9U T0NPTCAgKm1TbW1Td0Rpc3BhdGNoOw0KPiArVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAg bVNtaVRyaWdnZXJSZWdpc3RlcjsNCj4gK1VJTlQ4ICAgICAgICAgICAgICAgICAgICAgICAgIG1T bWlEYXRhUmVnaXN0ZXI7DQo+ICsNCj4gK0VGSV9TTU1fQ1BVX1BST1RPQ09MICAgICAgICAgICpt U21tQ3B1UHJvdG9jb2w7DQo+ICtMSVNUX0VOVFJZICAgICAgICAgICAgICAgICAgICBtU21tU3dE aXNwYXRjaDJUaHVua1F1ZXVlID0NCj4gSU5JVElBTElaRV9MSVNUX0hFQURfVkFSSUFCTEUgKG1T bW1Td0Rpc3BhdGNoMlRodW5rUXVldWUpOw0KPiArDQo+ICsvKioNCj4gKyAgVGhpcyBmdW5jdGlv biBmaW5kIFNtbVN3RGlzcGF0Y2gyQ29udGV4dCBieSBTd1NtaUlucHV0VmFsdWUuDQo+ICsNCj4g KyAgQHBhcmFtIFN3U21pSW5wdXRWYWx1ZSBUaGUgU3dTbWlJbnB1dFZhbHVlIHRvIGluZGVudGlm eSB0aGUNCj4gU21tU3dEaXNwYXRjaDIgY29udGV4dA0KPiArDQo+ICsgIEByZXR1cm4gU21tU3dE aXNwYXRjaDIgY29udGV4dA0KPiArKiovDQo+ICtFRklfU01NX1NXX0RJU1BBVENIMl9USFVOS19D T05URVhUICoNCj4gK0ZpbmRTbW1Td0Rpc3BhdGNoMkNvbnRleHRCeVN3U21pSW5wdXRWYWx1ZSAo DQo+ICsgIElOIFVJTlROICAgU3dTbWlJbnB1dFZhbHVlDQo+ICsgICkNCj4gK3sNCj4gKyAgTElT VF9FTlRSWSAgICAgICAgICAgICAgICAgICAgICAgICAgICAqTGluazsNCj4gKyAgRUZJX1NNTV9T V19ESVNQQVRDSDJfVEhVTktfQ09OVEVYVCAgICAqVGh1bmtDb250ZXh0Ow0KPiArDQo+ICsgIGZv ciAoTGluayA9IG1TbW1Td0Rpc3BhdGNoMlRodW5rUXVldWUuRm9yd2FyZExpbms7DQo+ICsgICAg TGluayAhPSAmbVNtbVN3RGlzcGF0Y2gyVGh1bmtRdWV1ZTsNCj4gKyAgICBMaW5rID0gTGluay0+ Rm9yd2FyZExpbmspIHsNCj4gKyAgICBUaHVua0NvbnRleHQgPSBCQVNFX0NSICgNCj4gKyAgICAg ICAgICAgICAgICAgICAgIExpbmssDQo+ICsgICAgICAgICAgICAgICAgICAgICBFRklfU01NX1NX X0RJU1BBVENIMl9USFVOS19DT05URVhULA0KPiArICAgICAgICAgICAgICAgICAgICAgTGluaw0K PiArICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgICBpZiAoVGh1bmtDb250ZXh0LT5Td1Nt aUlucHV0VmFsdWUgPT0gU3dTbWlJbnB1dFZhbHVlKSB7DQo+ICsgICAgICByZXR1cm4gVGh1bmtD b250ZXh0Ow0KPiArICAgIH0NCj4gKyAgfQ0KPiArICByZXR1cm4gTlVMTDsNCj4gK30NCj4gKw0K PiArLyoqDQo+ICsgIFRoaXMgZnVuY3Rpb24gZmluZCBTbW1Td0Rpc3BhdGNoMkNvbnRleHQgYnkg RGlzcGF0Y2hIYW5kbGUuDQo+ICsNCj4gKyAgQHBhcmFtIERpc3BhdGNoSGFuZGxlIFRoZSBEaXNw YXRjaEhhbmRsZSB0byBpbmRlbnRpZnkgdGhlDQo+IFNtbVN3RGlzcGF0Y2gyVGh1bmsgY29udGV4 dA0KPiArDQo+ICsgIEByZXR1cm4gU21tU3dEaXNwYXRjaDJUaHVuayBjb250ZXh0DQo+ICsqKi8N Cj4gK0VGSV9TTU1fU1dfRElTUEFUQ0gyX1RIVU5LX0NPTlRFWFQgKg0KPiArRmluZFNtbVN3RGlz cGF0Y2gyQ29udGV4dEJ5RGlzcGF0Y2hIYW5kbGUgKA0KPiArICBJTiBFRklfSEFORExFICAgRGlz cGF0Y2hIYW5kbGUNCj4gKyAgKQ0KPiArew0KPiArICBMSVNUX0VOVFJZICAgICAgICAgICAgICAg ICAgICAgICAgICAgICpMaW5rOw0KPiArICBFRklfU01NX1NXX0RJU1BBVENIMl9USFVOS19DT05U RVhUICAgICpUaHVua0NvbnRleHQ7DQo+ICsNCj4gKyAgZm9yIChMaW5rID0gbVNtbVN3RGlzcGF0 Y2gyVGh1bmtRdWV1ZS5Gb3J3YXJkTGluazsNCj4gKyAgICAgICBMaW5rICE9ICZtU21tU3dEaXNw YXRjaDJUaHVua1F1ZXVlOw0KPiArICAgICAgIExpbmsgPSBMaW5rLT5Gb3J3YXJkTGluaykgew0K PiArICAgIFRodW5rQ29udGV4dCA9IEJBU0VfQ1IgKA0KPiArICAgICAgICAgICAgICAgICAgICAg TGluaywNCj4gKyAgICAgICAgICAgICAgICAgICAgIEVGSV9TTU1fU1dfRElTUEFUQ0gyX1RIVU5L X0NPTlRFWFQsDQo+ICsgICAgICAgICAgICAgICAgICAgICBMaW5rDQo+ICsgICAgICAgICAgICAg ICAgICAgICApOw0KPiArICAgIGlmIChUaHVua0NvbnRleHQtPkRpc3BhdGNoSGFuZGxlID09IERp c3BhdGNoSGFuZGxlKSB7DQo+ICsgICAgICByZXR1cm4gVGh1bmtDb250ZXh0Ow0KPiArICAgIH0N Cj4gKyAgfQ0KPiArICByZXR1cm4gTlVMTDsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIEZyYW1l d29yayBkaXNwYXRjaCBmdW5jdGlvbiBmb3IgYSBTb2Z0d2FyZSBTTUkgaGFuZGxlci4NCj4gKw0K PiArICBAcGFyYW0gIERpc3BhdGNoSGFuZGxlICAgICAgICBUaGUgaGFuZGxlIG9mIHRoaXMgZGlz cGF0Y2ggZnVuY3Rpb24uDQo+ICsgIEBwYXJhbSAgRGlzcGF0Y2hDb250ZXh0ICAgICAgIFRoZSBw b2ludGVyIHRvIHRoZSBkaXNwYXRjaCBmdW5jdGlvbidzDQo+IGNvbnRleHQuDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBTd1NtaUlucHV0VmFsdWUgZmllbGQgaXMgZmls bGVkIGluDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IHRoZSBzb2Z0d2Fy ZSBkaXNwYXRjaCBkcml2ZXIgcHJpb3IgdG8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgaW52b2tpbmcgdGhpcyBkaXNwYXRjaCBmdW5jdGlvbi4NCj4gKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgVGhlIGRpc3BhdGNoIGZ1bmN0aW9uIHdpbGwgb25seSBiZSBjYWxs ZWQNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGlucHV0IHZhbHVlcyBm b3Igd2hpY2ggaXQgaXMgcmVnaXN0ZXJlZC4NCj4gKw0KPiArICBAcmV0dXJuIE5vbmUNCj4gKw0K PiArKiovDQo+ICtWT0lEDQo+ICtFRklBUEkNCj4gK0ZyYW1ld29ya0Rpc3BhdGNoRnVuY3Rpb24g KA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGUs DQo+ICsgIElOICBFRklfU01NX1NXX0RJU1BBVENIX0NPTlRFWFQgICAqRGlzcGF0Y2hDb250ZXh0 DQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NNTV9TV19ESVNQQVRDSDJfVEhVTktfQ09OVEVYVCAg ICAqVGh1bmtDb250ZXh0Ow0KPiArICBFRklfU01NX0hBTkRMRVJfRU5UUllfUE9JTlQyICAgICAg ICAgIERpc3BhdGNoRnVuY3Rpb247DQo+ICsgIEVGSV9TTU1fU1dfUkVHSVNURVJfQ09OVEVYVCAg ICAgICAgICAgUmVnaXN0ZXJDb250ZXh0Ow0KPiArICBFRklfU01NX1NXX0NPTlRFWFQgICAgICAg ICAgICAgICAgICAgIFN3Q29udGV4dDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICBTaXplOw0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIEluZGV4Ow0KPiArICBFRklfU01NX1NBVkVfU1RBVEVfSU9fSU5GTyAgICAgICAgICAgIElv SW5mbzsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2VhcmNoIGNvbnRleHQNCj4gKyAgLy8NCj4gKyAgVGh1 bmtDb250ZXh0ID0gRmluZFNtbVN3RGlzcGF0Y2gyQ29udGV4dEJ5U3dTbWlJbnB1dFZhbHVlDQo+ IChEaXNwYXRjaENvbnRleHQtPlN3U21pSW5wdXRWYWx1ZSk7DQo+ICsgIEFTU0VSVCAoVGh1bmtD b250ZXh0ICE9IE5VTEwpOw0KPiArICBpZiAoVGh1bmtDb250ZXh0ID09IE5VTEwpIHsNCj4gKyAg ICByZXR1cm4gOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQ29uc3RydWN0IG5ldyBj b250ZXh0DQo+ICsgIC8vDQo+ICsgIFJlZ2lzdGVyQ29udGV4dC5Td1NtaUlucHV0VmFsdWUgPSBE aXNwYXRjaENvbnRleHQtPlN3U21pSW5wdXRWYWx1ZTsNCj4gKyAgU2l6ZSA9IHNpemVvZihTd0Nv bnRleHQpOw0KPiArICBTd0NvbnRleHQuQ29tbWFuZFBvcnQgPSBJb1JlYWQ4IChtU21pVHJpZ2dl clJlZ2lzdGVyKTsNCj4gKyAgU3dDb250ZXh0LkRhdGFQb3J0ICAgID0gSW9SZWFkOCAobVNtaURh dGFSZWdpc3Rlcik7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gVHJ5IHRvIGZpbmQgd2hpY2ggQ1BV IHRyaWdnZXIgU1dTTUkNCj4gKyAgLy8NCj4gKyAgU3dDb250ZXh0LlN3U21pQ3B1SW5kZXggPSAw Ow0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5kZXggPCBnU21zdC0+TnVtYmVyT2ZDcHVzOyBJbmRl eCsrKSB7DQo+ICsgICAgU3RhdHVzID0gbVNtbUNwdVByb3RvY29sLT5SZWFkU2F2ZVN0YXRlICgN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbVNtbUNwdVByb3RvY29sLA0KPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzaXplb2YoSW9JbmZvKSwNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRUZJX1NNTV9TQVZFX1NUQVRFX1JFR0lTVEVSX0lP LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleCwNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgJklvSW5mbw0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICApOw0KPiArICAgIGlmIChFRklfRVJST1IgKFN0YXR1cykpIHsNCj4gKyAgICAg IGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKyAgICBpZiAoSW9JbmZvLklvUG9ydCA9PSBtU21pVHJp Z2dlclJlZ2lzdGVyKSB7DQo+ICsgICAgICAvLw0KPiArICAgICAgLy8gR3JlYXQhIEZpbmQgaXQu DQo+ICsgICAgICAvLw0KPiArICAgICAgU3dDb250ZXh0LlN3U21pQ3B1SW5kZXggPSBJbmRleDsN Cj4gKyAgICAgIGJyZWFrOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IERpc3BhdGNoDQo+ICsgIC8vDQo+ICsgIERpc3BhdGNoRnVuY3Rpb24gPSAoRUZJX1NNTV9IQU5E TEVSX0VOVFJZX1BPSU5UMilUaHVua0NvbnRleHQtDQo+ID5EaXNwYXRjaEZ1bmN0aW9uOw0KPiAr ICBEaXNwYXRjaEZ1bmN0aW9uICgNCj4gKyAgICBEaXNwYXRjaEhhbmRsZSwNCj4gKyAgICAmUmVn aXN0ZXJDb250ZXh0LA0KPiArICAgICZTd0NvbnRleHQsDQo+ICsgICAgJlNpemUNCj4gKyAgICAp Ow0KPiArICByZXR1cm4gOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKyAgUmVnaXN0ZXIgYSBjaGls ZCBTTUkgc291cmNlIGRpc3BhdGNoIGZ1bmN0aW9uIGZvciB0aGUgc3BlY2lmaWVkIHNvZnR3YXJl DQo+IFNNSS4NCj4gKw0KPiArICBUaGlzIHNlcnZpY2UgcmVnaXN0ZXJzIGEgZnVuY3Rpb24gKERp c3BhdGNoRnVuY3Rpb24pIHdoaWNoIHdpbGwgYmUgY2FsbGVkDQo+IHdoZW4gdGhlIHNvZnR3YXJl DQo+ICsgIFNNSSBzb3VyY2Ugc3BlY2lmaWVkIGJ5IFJlZ2lzdGVyQ29udGV4dC0+U3dTbWlDcHVJ bmRleCBpcyBkZXRlY3RlZC4gT24NCj4gcmV0dXJuLA0KPiArICBEaXNwYXRjaEhhbmRsZSBjb250 YWlucyBhIHVuaXF1ZSBoYW5kbGUgd2hpY2ggbWF5IGJlIHVzZWQgbGF0ZXIgdG8NCj4gdW5yZWdp c3RlciB0aGUgZnVuY3Rpb24NCj4gKyAgdXNpbmcgVW5SZWdpc3RlcigpLg0KPiArDQo+ICsgIEBw YXJhbVtpbl0gIFRoaXMgICAgICAgICAgICAgICAgICBQb2ludGVyIHRvIHRoZQ0KPiBFRklfU01N X1NXX0RJU1BBVENIMl9QUk9UT0NPTCBpbnN0YW5jZS4NCj4gKyAgQHBhcmFtW2luXSAgRGlzcGF0 Y2hGdW5jdGlvbiAgICAgIEZ1bmN0aW9uIHRvIHJlZ2lzdGVyIGZvciBoYW5kbGVyIHdoZW4gdGhl DQo+IHNwZWNpZmllZCBzb2Z0d2FyZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgU01JIGlzIGdlbmVyYXRlZC4NCj4gKyAgQHBhcmFtW2luLCBvdXRdICBSZWdpc3RlckNv bnRleHQgIFBvaW50ZXIgdG8gdGhlIGRpc3BhdGNoIGZ1bmN0aW9uJ3MNCj4gY29udGV4dC4NCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoZSBjYWxsZXIgZmlsbHMgdGhp cyBjb250ZXh0IGluIGJlZm9yZSBjYWxsaW5nDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICB0aGUgcmVnaXN0ZXIgZnVuY3Rpb24gdG8gaW5kaWNhdGUgdG8gdGhlIHJlZ2lz dGVyDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmdW5jdGlvbiB3aGlj aCBTb2Z0d2FyZSBTTUkgaW5wdXQgdmFsdWUgdGhlDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBkaXNwYXRjaCBmdW5jdGlvbiBzaG91bGQgYmUgaW52b2tlZCBmb3IuDQo+ ICsgIEBwYXJhbVtvdXRdIERpc3BhdGNoSGFuZGxlICAgICAgICBIYW5kbGUgZ2VuZXJhdGVkIGJ5 IHRoZSBkaXNwYXRjaGVyIHRvDQo+IHRyYWNrIHRoZQ0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgZnVuY3Rpb24gaW5zdGFuY2UuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgIFRoZSBkaXNwYXRjaCBmdW5jdGlvbiBoYXMgYmVlbiBzdWNjZXNz ZnVsbHkNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJlZ2lzdGVyZWQgYW5k IHRoZSBTTUkgc291cmNlIGhhcyBiZWVuIGVuYWJsZWQuDQo+ICsgIEByZXR2YWwgRUZJX0RFVklD RV9FUlJPUiAgICAgICBUaGUgU1cgZHJpdmVyIHdhcyB1bmFibGUgdG8gZW5hYmxlIHRoZQ0KPiBT TUkgc291cmNlLg0KPiArICBAcmV0dmFsIEVGSV9JTlZBTElEX1BBUkFNRVRFUiAgUmVnaXN0ZXJD b250ZXh0IGlzIGludmFsaWQuIFRoZSBTVyBTTUkNCj4gaW5wdXQgdmFsdWUNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCB3aXRoaW4gdmFsaWQgcmFuZ2UuDQo+ICsg IEByZXR2YWwgRUZJX09VVF9PRl9SRVNPVVJDRVMgICBUaGVyZSBpcyBub3QgZW5vdWdoIG1lbW9y eSAoc3lzdGVtDQo+IG9yIFNNTSkgdG8gbWFuYWdlIHRoaXMNCj4gKyAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIGNoaWxkLg0KPiArICBAcmV0dmFsIEVGSV9PVVRfT0ZfUkVTT1VSQ0VT ICAgQSB1bmlxdWUgc29mdHdhcmUgU01JIHZhbHVlIGNvdWxkIG5vdA0KPiBiZSBhc3NpZ25lZA0K PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9yIHRoaXMgZGlzcGF0Y2guDQo+ ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArU21tU3dEaXNwYXRjaDJSZWdpc3Rl ciAoDQo+ICsgIElOICBDT05TVCBFRklfU01NX1NXX0RJU1BBVENIMl9QUk9UT0NPTCAgKlRoaXMs DQo+ICsgIElOICAgICAgICBFRklfU01NX0hBTkRMRVJfRU5UUllfUE9JTlQyICAgRGlzcGF0Y2hG dW5jdGlvbiwNCj4gKyAgSU4gIE9VVCAgIEVGSV9TTU1fU1dfUkVHSVNURVJfQ09OVEVYVCAgICAq UmVnaXN0ZXJDb250ZXh0LA0KPiArICBPVVQgICAgICAgRUZJX0hBTkRMRSAgICAgICAgICAgICAg ICAgICAgICpEaXNwYXRjaEhhbmRsZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TTU1fU1dfRElT UEFUQ0gyX1RIVU5LX0NPTlRFWFQgICAgKlRodW5rQ29udGV4dDsNCj4gKyAgRUZJX1NNTV9TV19E SVNQQVRDSF9DT05URVhUICAgICAgICAgICBEaXNwYXRjaENvbnRleHQ7DQo+ICsgIEVGSV9TVEFU VVMgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBVSU5UTiAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArDQo+ICsgIGlmIChSZWdpc3RlckNv bnRleHQtPlN3U21pSW5wdXRWYWx1ZSA9PSAoVUlOVE4pLTEpIHsNCj4gKyAgICAvLw0KPiArICAg IC8vIElmIFN3U21pSW5wdXRWYWx1ZSBpcyBzZXQgdG8gKFVJTlROKSAtMSB0aGVuIGEgdW5pcXVl IHZhbHVlIHdpbGwgYmUNCj4gYXNzaWduZWQgYW5kIHJldHVybmVkIGluIHRoZSBzdHJ1Y3R1cmUu DQo+ICsgICAgLy8NCj4gKyAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KPiArICAgIGZvciAo SW5kZXggPSAxOyBJbmRleCA8IGdTbW1Td0Rpc3BhdGNoMi5NYXhpbXVtU3dpVmFsdWU7IEluZGV4 KyspIHsNCj4gKyAgICAgIERpc3BhdGNoQ29udGV4dC5Td1NtaUlucHV0VmFsdWUgPSBJbmRleDsN Cj4gKyAgICAgIFN0YXR1cyA9IG1TbW1Td0Rpc3BhdGNoLT5SZWdpc3RlciAoDQo+ICsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBtU21tU3dEaXNwYXRjaCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZyYW1ld29ya0Rpc3BhdGNoRnVuY3Rpb24sDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmRGlzcGF0Y2hDb250ZXh0LA0KPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGUNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVz KSkgew0KPiArICAgICAgICBSZWdpc3RlckNvbnRleHQtPlN3U21pSW5wdXRWYWx1ZSA9IEluZGV4 Ow0KPiArICAgICAgICBicmVhazsNCj4gKyAgICAgIH0NCj4gKyAgICB9DQo+ICsgICAgaWYgKFJl Z2lzdGVyQ29udGV4dC0+U3dTbWlJbnB1dFZhbHVlID09IChVSU5UTiktMSkgew0KPiArICAgICAg cmV0dXJuIEVGSV9PVVRfT0ZfUkVTT1VSQ0VTOw0KPiArICAgIH0NCj4gKyAgfSBlbHNlIHsNCj4g KyAgICBEaXNwYXRjaENvbnRleHQuU3dTbWlJbnB1dFZhbHVlID0gUmVnaXN0ZXJDb250ZXh0LT5T d1NtaUlucHV0VmFsdWU7DQo+ICsgICAgU3RhdHVzID0gbVNtbVN3RGlzcGF0Y2gtPlJlZ2lzdGVy ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBtU21tU3dEaXNwYXRjaCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGcmFtZXdvcmtEaXNwYXRjaEZ1bmN0aW9u LA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICZEaXNwYXRjaENvbnRleHQsDQo+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGUNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICApOw0KPiArICB9DQo+ICsgIGlmICghRUZJX0VSUk9S IChTdGF0dXMpKSB7DQo+ICsgICAgLy8NCj4gKyAgICAvLyBSZWdpc3Rlcg0KPiArICAgIC8vDQo+ ICsgICAgU3RhdHVzID0gZ1Ntc3QtPlNtbUFsbG9jYXRlUG9vbCAoDQo+ICsgICAgICAgICAgICAg ICAgICAgICAgRWZpUnVudGltZVNlcnZpY2VzRGF0YSwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICBzaXplb2YoKlRodW5rQ29udGV4dCksDQo+ICsgICAgICAgICAgICAgICAgICAgICAgKFZPSUQg KiopJlRodW5rQ29udGV4dA0KPiArICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNT RVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7 DQo+ICsgICAgICBtU21tU3dEaXNwYXRjaC0+VW5SZWdpc3RlciAobVNtbVN3RGlzcGF0Y2gsICpE aXNwYXRjaEhhbmRsZSk7DQo+ICsgICAgICByZXR1cm4gRUZJX09VVF9PRl9SRVNPVVJDRVM7DQo+ ICsgICAgfQ0KPiArDQo+ICsgICAgVGh1bmtDb250ZXh0LT5Td1NtaUlucHV0VmFsdWUgID0gUmVn aXN0ZXJDb250ZXh0LT5Td1NtaUlucHV0VmFsdWU7DQo+ICsgICAgVGh1bmtDb250ZXh0LT5EaXNw YXRjaEZ1bmN0aW9uID0gKFVJTlROKURpc3BhdGNoRnVuY3Rpb247DQo+ICsgICAgVGh1bmtDb250 ZXh0LT5EaXNwYXRjaEhhbmRsZSAgID0gKkRpc3BhdGNoSGFuZGxlOw0KPiArICAgIEluc2VydFRh aWxMaXN0ICgmbVNtbVN3RGlzcGF0Y2gyVGh1bmtRdWV1ZSwgJlRodW5rQ29udGV4dC0+TGluayk7 DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ICsvKioNCj4g KyAgVW5yZWdpc3RlciBhIGNoaWxkIFNNSSBzb3VyY2UgZGlzcGF0Y2ggZnVuY3Rpb24gZm9yIHRo ZSBzcGVjaWZpZWQgc29mdHdhcmUNCj4gU01JLg0KPiArDQo+ICsgIFRoaXMgc2VydmljZSByZW1v dmVzIHRoZSBoYW5kbGVyIGFzc29jaWF0ZWQgd2l0aCBEaXNwYXRjaEhhbmRsZSBzbyB0aGF0IGl0 DQo+IHdpbGwgbm8gbG9uZ2VyIGJlDQo+ICsgIGNhbGxlZCBpbiByZXNwb25zZSB0byBhIHNvZnR3 YXJlIFNNSS4NCj4gKw0KPiArICBAcGFyYW1baW5dIFRoaXMgICAgICAgICAgICAgICAgUG9pbnRl ciB0byB0aGUNCj4gRUZJX1NNTV9TV19ESVNQQVRDSDJfUFJPVE9DT0wgaW5zdGFuY2UuDQo+ICsg IEBwYXJhbVtpbl0gRGlzcGF0Y2hIYW5kbGUgICAgICBIYW5kbGUgb2YgZGlzcGF0Y2ggZnVuY3Rp b24gdG8gZGVyZWdpc3Rlci4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgICAg ICAgVGhlIGRpc3BhdGNoIGZ1bmN0aW9uIGhhcyBiZWVuIHN1Y2Nlc3NmdWxseQ0KPiB1bnJlZ2lz dGVyZWQuDQo+ICsgIEByZXR2YWwgRUZJX0lOVkFMSURfUEFSQU1FVEVSICBUaGUgRGlzcGF0Y2hI YW5kbGUgd2FzIG5vdCB2YWxpZC4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtTbW1Td0Rpc3BhdGNoMlVuUmVnaXN0ZXIgKA0KPiArICBJTiBDT05TVCBFRklfU01NX1NXX0RJ U1BBVENIMl9QUk9UT0NPTCAgKlRoaXMsDQo+ICsgIElOICAgICAgIEVGSV9IQU5ETEUgICAgICAg ICAgICAgICAgICAgICBEaXNwYXRjaEhhbmRsZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9TTU1f U1dfRElTUEFUQ0gyX1RIVU5LX0NPTlRFWFQgICAgKlRodW5rQ29udGV4dDsNCj4gKyAgRUZJX1NU QVRVUyAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgU3RhdHVz ID0gbVNtbVN3RGlzcGF0Y2gtPlVuUmVnaXN0ZXIgKG1TbW1Td0Rpc3BhdGNoLA0KPiBEaXNwYXRj aEhhbmRsZSk7DQo+ICsgIGlmICghRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgLy8NCj4g KyAgICAvLyBVbnJlZ2lzdGVyDQo+ICsgICAgLy8NCj4gKyAgICBUaHVua0NvbnRleHQgPSBGaW5k U21tU3dEaXNwYXRjaDJDb250ZXh0QnlEaXNwYXRjaEhhbmRsZQ0KPiAoRGlzcGF0Y2hIYW5kbGUp Ow0KPiArICAgIEFTU0VSVCAoVGh1bmtDb250ZXh0ICE9IE5VTEwpOw0KPiArICAgIGlmIChUaHVu a0NvbnRleHQgIT0gTlVMTCkgew0KPiArICAgICAgUmVtb3ZlRW50cnlMaXN0ICgmVGh1bmtDb250 ZXh0LT5MaW5rKTsNCj4gKyAgICAgIGdTbXN0LT5TbW1GcmVlUG9vbCAoVGh1bmtDb250ZXh0KTsN Cj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ ICsvKioNCj4gKyAgRW50cnkgUG9pbnQgZm9yIHRoaXMgdGh1bmsgZHJpdmVyLg0KPiArDQo+ICsg IEBwYXJhbVtpbl0gSW1hZ2VIYW5kbGUgIEltYWdlIGhhbmRsZSBvZiB0aGlzIGRyaXZlci4NCj4g KyAgQHBhcmFtW2luXSBTeXN0ZW1UYWJsZSAgQSBQb2ludGVyIHRvIHRoZSBFRkkgU3lzdGVtIFRh YmxlLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgIFRoZSBlbnRyeSBwb2ludCBpcyBl eGVjdXRlZCBzdWNjZXNzZnVsbHkuDQo+ICsgIEByZXR2YWwgb3RoZXIgICAgICAgIFNvbWUgZXJy b3Igb2NjdXJyZWQgd2hlbiBleGVjdXRpbmcgdGhpcyBlbnRyeSBwb2ludC4NCj4gKyoqLw0KPiAr RUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtTbW1Td0Rpc3BhdGNoMlRodW5rTWFpbiAoDQo+ICsg IElOIEVGSV9IQU5ETEUgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RB QkxFICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAg ICAgICAgU3RhdHVzOw0KPiArICBFRklfU01NX0NPTlRST0xfUFJPVE9DT0wgKlNtbUNvbnRyb2w7 DQo+ICsgIEVGSV9TTU1fQ09OVFJPTF9SRUdJU1RFUiBSZWdpc3RlckluZm87DQo+ICsNCj4gKyAg Ly8NCj4gKyAgLy8gTG9jYXRlIEZyYW1ld29yayBTTU0gU3dEaXNwYXRjaCBQcm90b2NvbA0KPiAr ICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAg ICAgICAgICZnRWZpU21tU3dEaXNwYXRjaFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAg ICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmbVNtbVN3RGlzcGF0Y2gN Cj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7 DQo+ICsgIGdTbW1Td0Rpc3BhdGNoMi5NYXhpbXVtU3dpVmFsdWUgPSBtU21tU3dEaXNwYXRjaC0N Cj4gPk1heGltdW1Td2lWYWx1ZTsNCj4gKyAgaWYgKGdTbW1Td0Rpc3BhdGNoMi5NYXhpbXVtU3dp VmFsdWUgPT0gMHgwKSB7DQo+ICsgICAgREVCVUcgKChFRklfRF9FUlJPUiwgIkJVR0JVRzogTWF4 aW11bVN3aVZhbHVlIGlzIDAsIHdvcmstYXJvdW5kDQo+IHRvIG1ha2UgaXQgMHhGRlxuIikpOw0K PiArICAgIGdTbW1Td0Rpc3BhdGNoMi5NYXhpbXVtU3dpVmFsdWUgPSAweEZGOw0KPiArICB9DQo+ ICsNCj4gKyAgLy8NCj4gKyAgLy8gTG9jYXRlIEZyYW1ld29yayBTTU0gQ29udHJvbCBQcm90b2Nv bA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAgICAg ICAgICAgICAgICAgICZnRWZpU21tQ29udHJvbFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAg ICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikmU21tQ29udHJvbA0K PiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0 dXMpOw0KPiArICBTdGF0dXMgPSBTbW1Db250cm9sLT5HZXRSZWdpc3RlckluZm8gKA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgIFNtbUNvbnRyb2wsDQo+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgJlJlZ2lzdGVySW5mbw0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsg IEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsgIG1TbWlUcmlnZ2VyUmVnaXN0ZXIgPSBS ZWdpc3RlckluZm8uU21pVHJpZ2dlclJlZ2lzdGVyOw0KPiArICBtU21pRGF0YVJlZ2lzdGVyICAg ID0gUmVnaXN0ZXJJbmZvLlNtaURhdGFSZWdpc3RlcjsNCj4gKw0KPiArICAvLw0KPiArICAvLyBM b2NhdGUgUEkgU01NIENQVSBwcm90b2NvbA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnU21zdC0+ U21tTG9jYXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaVNtbUNwdVBy b3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAg ICAgICAgICAgKFZPSUQgKiopJm1TbW1DcHVQcm90b2NvbA0KPiArICAgICAgICAgICAgICAgICAg ICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsg IC8vIFB1Ymxpc2ggUEkgU01NIFN3RGlzcGF0Y2gyIFByb3RvY29sDQo+ICsgIC8vDQo+ICsgIElt YWdlSGFuZGxlID0gTlVMTDsNCj4gKyAgU3RhdHVzID0gZ1Ntc3QtPlNtbUluc3RhbGxQcm90b2Nv bEludGVyZmFjZSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICZJbWFnZUhhbmRsZSwNCj4gKyAg ICAgICAgICAgICAgICAgICAgJmdFZmlTbW1Td0Rpc3BhdGNoMlByb3RvY29sR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgICAgRUZJX05BVElWRV9JTlRFUkZBQ0UsDQo+ICsgICAgICAgICAgICAg ICAgICAgICZnU21tU3dEaXNwYXRjaDINCj4gKyAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAg QVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVzKTsNCj4gKyAgcmV0dXJuIFN0YXR1czsNCj4gK30NCj4g Kw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21t U3dEaXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaA0KPiB1bmsvU21tU3dEaXNwYXRjaDJPblNtbVN3 RGlzcGF0Y2hUaHVuay5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T bW1Td0Rpc3BhdGNoMk9uU21tU3dEaXNwYXRjaFRoDQo+IHVuay9TbW1Td0Rpc3BhdGNoMk9uU21t U3dEaXNwYXRjaFRodW5rLmluZg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAw MDAwMDAwLi40Zjk1ZmMyODFlDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21tU3dEaXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaA0K PiB1bmsvU21tU3dEaXNwYXRjaDJPblNtbVN3RGlzcGF0Y2hUaHVuay5pbmYNCj4gQEAgLTAsMCAr MSw1NCBAQA0KPiArIyMgQGZpbGUNCj4gKyMgIENvbXBvbmVudCBkZXNjcmlwdGlvbiBmaWxlIGZv ciBTTU0gU3dEaXNwYXRjaDIgUHJvdG9jb2wgb24gU01NDQo+IFN3RGlzcGF0Y2ggUHJvdG9jb2wg VGh1bmsgZHJpdmVyLg0KPiArIw0KPiArIyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNCwgSW50 ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArIw0KPiANCj4gKyMg U1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArIw0K PiANCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMjDQo+ICsNCj4gK1tEZWZpbmVzXQ0KPiArICBJTkZf VkVSU0lPTiAgICAgICAgICAgICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAg ICAgICAgICAgICAgICAgICAgICA9IFNtbVN3RGlzcGF0Y2gyT25TbW1Td0Rpc3BhdGNoVGh1bmsN Cj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAgICAgICAgID0gMTQxMEM2QUMtOUY0Qi00OTVi LTlDMjMtOEE1QUVCMDE2NUU5DQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9 IERYRV9TTU1fRFJJVkVSDQo+ICsgIFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEu MA0KPiArICBQSV9TUEVDSUZJQ0FUSU9OX1ZFUlNJT04gICAgICAgPSAweDAwMDEwMDBBDQo+ICsg IEVOVFJZX1BPSU5UICAgICAgICAgICAgICAgICAgICA9IFNtbVN3RGlzcGF0Y2gyVGh1bmtNYWlu DQo+ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJl bmNlIG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ ICsjICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0DQo+ICsjDQo+ICsN Cj4gK1tTb3VyY2VzXQ0KPiArICBTbW1Td0Rpc3BhdGNoMk9uU21tU3dEaXNwYXRjaFRodW5rLmMN Cj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArICBJbnRlbEZy YW1ld29ya1BrZy9JbnRlbEZyYW1ld29ya1BrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2Vz XQ0KPiArICBVZWZpRHJpdmVyRW50cnlQb2ludA0KPiArICBVZWZpQm9vdFNlcnZpY2VzVGFibGVM aWINCj4gKyAgU21tU2VydmljZXNUYWJsZUxpYg0KPiArICBCYXNlTGliDQo+ICsgIElvTGliDQo+ ICsgIERlYnVnTGliDQo+ICsNCj4gK1tQcm90b2NvbHNdDQo+ICsgIGdFZmlTbW1Db250cm9sUHJv dG9jb2xHdWlkICAgICAgICAgICAgICAgIyBQUk9UT0NPTCBBTFdBWVNfQ09OU1VNRUQNCj4gKyAg Z0VmaVNtbVN3RGlzcGF0Y2hQcm90b2NvbEd1aWQgICAgICAgICAgICAjIFBST1RPQ09MIEFMV0FZ U19DT05TVU1FRA0KPiArICBnRWZpU21tQ3B1UHJvdG9jb2xHdWlkICAgICAgICAgICAgICAgICAg ICMgUFJPVE9DT0wgQUxXQVlTX0NPTlNVTUVEDQo+ICsgIGdFZmlTbW1Td0Rpc3BhdGNoMlByb3Rv Y29sR3VpZCAgICAgICAgICAgIyBQUk9UT0NPTCBBTFdBWVNfUFJPRFVDRUQNCj4gKw0KPiArW0Rl cGV4XQ0KPiArICBnRWZpU21tU3dEaXNwYXRjaFByb3RvY29sR3VpZCBBTkQNCj4gKyAgZ0VmaVNt bUNvbnRyb2xQcm90b2NvbEd1aWQgQU5EDQo+ICsgIGdFZmlTbW1DcHVQcm90b2NvbEd1aWQNCj4g Kw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21y YW1TYXZlSW5mb0hhbmRsZXJTbW0vU21yYW1TYXYNCj4gZUluZm9IYW5kbGVyU21tLmMNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TbXJhbVNhdmVJbmZvSGFuZGxlclNtbS9T bXJhbVNhDQo+IHZlSW5mb0hhbmRsZXJTbW0uYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBp bmRleCAwMDAwMDAwMDAwLi5kZTI1N2IzNWI1DQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIv UGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU21yYW1TYXZlSW5mb0hhbmRsZXJTbW0v U21yYW1TYQ0KPiB2ZUluZm9IYW5kbGVyU21tLmMNCj4gQEAgLTAsMCArMSwxNjQgQEANCj4gKy8q KiBAZmlsZQ0KPiArICBBIGhlbHBlciBkcml2ZXIgdG8gc2F2ZSBpbmZvcm1hdGlvbiB0byBTTVJB TSBhZnRlciBTTVJSIGlzIGVuYWJsZWQuDQo+ICsNCj4gKyAgVGhpcyBkcml2ZXIgaXMgZm9yIEVD UCBwbGF0Zm9ybXMuDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDEwIC0gMjAxNSwgSW50ZWwg Q29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArDQo+IA0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ ICsNCj4gKyoqLw0KPiArDQo+ICsjaW5jbHVkZSA8UGlTbW0uaD4NCj4gKyNpbmNsdWRlIDxMaWJy YXJ5L0RlYnVnTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9VZWZpRHJpdmVyRW50cnlQb2lu dC5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvVWVmaVJ1bnRpbWVTZXJ2aWNlc1RhYmxlTGliLmg+ DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9TbW1TZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTWVtb3J5TGli Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9Jb0xpYi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29s L1NtbVN3RGlzcGF0Y2guaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9TbW1SZWFkeVRvTG9jay5o Pg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1NtbUNvbnRyb2wuaD4NCj4gKyNpbmNsdWRlIDxHdWlk L1ZsdjJEZXZpY2VSZWZDb2RlUGtnVG9rZW5TcGFjZS5oPg0KPiArDQo+ICsjZGVmaW5lIFNNTV9G Uk9NX1NNQkFTRV9EUklWRVIgICAgICAgIDB4NTUNCj4gKyNkZWZpbmUgU01NX0ZST01fQ1BVX0RS SVZFUl9TQVZFX0lORk8gMHg4MQ0KPiArDQo+ICsjZGVmaW5lIEVGSV9TTVJBTV9DUFVfTlZTX0hF QURFUl9HVUlEIFwNCj4gKyAgeyBcDQo+ICsgICAgMHg0Mjk1MDFkOSwgMHhlNDQ3LCAweDQwZjQs IDB4ODYsIDB4N2IsIDB4NzUsIDB4YzksIDB4M2EsIDB4MWQsIDB4YjUsDQo+IDB4NGUgXA0KPiAr ICB9DQo+ICsNCj4gK1VJTlQ4ICAgIG1TbWlEYXRhUmVnaXN0ZXI7DQo+ICtCT09MRUFOICBtTG9j a2VkID0gRkFMU0U7DQo+ICtFRklfR1VJRCBtU21yYW1DcHVOdnNIZWFkZXJHdWlkID0NCj4gRUZJ X1NNUkFNX0NQVV9OVlNfSEVBREVSX0dVSUQ7DQo+ICsNCj4gKy8qKg0KPiArICBEaXNwYXRjaCBm dW5jdGlvbiBmb3IgYSBTb2Z0d2FyZSBTTUkgaGFuZGxlci4NCj4gKw0KPiArICBAcGFyYW0gIERp c3BhdGNoSGFuZGxlICAgICAgICBUaGUgaGFuZGxlIG9mIHRoaXMgZGlzcGF0Y2ggZnVuY3Rpb24u DQo+ICsgIEBwYXJhbSAgRGlzcGF0Y2hDb250ZXh0ICAgICAgIFRoZSBwb2ludGVyIHRvIHRoZSBk aXNwYXRjaCBmdW5jdGlvbidzDQo+IGNvbnRleHQuDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFRoZSBTd1NtaUlucHV0VmFsdWUgZmllbGQgaXMgZmlsbGVkIGluDQo+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJ5IHRoZSBzb2Z0d2FyZSBkaXNwYXRjaCBkcml2 ZXIgcHJpb3IgdG8NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW52b2tpbmcg dGhpcyBkaXNwYXRjaCBmdW5jdGlvbi4NCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgVGhlIGRpc3BhdGNoIGZ1bmN0aW9uIHdpbGwgb25seSBiZSBjYWxsZWQNCj4gKyAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZm9yIGlucHV0IHZhbHVlcyBmb3Igd2hpY2ggaXQgaXMg cmVnaXN0ZXJlZC4NCj4gKw0KPiArICBAcmV0dXJuIE5vbmUNCj4gKw0KPiArKiovDQo+ICtWT0lE DQo+ICtFRklBUEkNCj4gK1NtcmFtU2F2ZUluZm9IYW5kbGVyICgNCj4gKyAgSU4gIEVGSV9IQU5E TEUgICAgICAgICAgICAgICAgICAgIERpc3BhdGNoSGFuZGxlLA0KPiArICBJTiAgRUZJX1NNTV9T V19ESVNQQVRDSF9DT05URVhUICAgKkRpc3BhdGNoQ29udGV4dA0KPiArICApDQo+ICt7DQo+ICsg IEFTU0VSVCAoRGlzcGF0Y2hDb250ZXh0ICE9IE5VTEwpOw0KPiArICBBU1NFUlQgKERpc3BhdGNo Q29udGV4dC0+U3dTbWlJbnB1dFZhbHVlID09DQo+IFNNTV9GUk9NX1NNQkFTRV9EUklWRVIpOw0K PiArDQo+ICsgIGlmICghbUxvY2tlZCAmJiBJb1JlYWQ4IChtU21pRGF0YVJlZ2lzdGVyKSA9PQ0K PiBTTU1fRlJPTV9DUFVfRFJJVkVSX1NBVkVfSU5GTykgew0KPiArICAgICAgQ29weU1lbSAoDQo+ ICsgICAgICAgIChWT0lEICopKFVJTlROKShQY2RHZXRFeDY0ICgmZ0VmaVZMVlRva2VuU3BhY2VH dWlkLA0KPiBQY2RDcHVMb2NrQm94RGF0YUFkZHJlc3MpKSwNCj4gKyAgICAgICAgKFZPSUQgKiko VUlOVE4pKFBjZEdldEV4NjQgKCZnRWZpVkxWVG9rZW5TcGFjZUd1aWQsDQo+IFBjZENwdVNtcmFt Q3B1RGF0YUFkZHJlc3MpKSwNCj4gKyAgICAgICAgKFVJTlROKShQY2RHZXRFeDY0ICgmZ0VmaVZM VlRva2VuU3BhY2VHdWlkLCBQY2RDcHVMb2NrQm94U2l6ZSkpDQo+ICsgICAgICAgICk7DQo+ICsg IH0NCj4gK30NCj4gKw0KPiArLyoqDQo+ICsgIFNtbSBSZWFkeSBUbyBMb2NrIGV2ZW50IG5vdGlm aWNhdGlvbiBoYW5kbGVyLg0KPiArDQo+ICsgIEl0IHNldHMgYSBmbGFnIGluZGljYXRpbmcgdGhh dCBTTVJBTSBoYXMgYmVlbiBsb2NrZWQuDQo+ICsNCj4gKyAgQHBhcmFtW2luXSBQcm90b2NvbCAg IFBvaW50cyB0byB0aGUgcHJvdG9jb2wncyB1bmlxdWUgaWRlbnRpZmllci4NCj4gKyAgQHBhcmFt W2luXSBJbnRlcmZhY2UgIFBvaW50cyB0byB0aGUgaW50ZXJmYWNlIGluc3RhbmNlLg0KPiArICBA cGFyYW1baW5dIEhhbmRsZSAgICAgVGhlIGhhbmRsZSBvbiB3aGljaCB0aGUgaW50ZXJmYWNlIHdh cyBpbnN0YWxsZWQuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgIE5vdGlmaWNhdGlv biBoYW5kbGVyIHJ1bnMgc3VjY2Vzc2Z1bGx5Lg0KPiArICoqLw0KPiArRUZJX1NUQVRVUw0KPiAr RUZJQVBJDQo+ICtTbW1SZWFkeVRvTG9ja0V2ZW50Tm90aWZ5ICgNCj4gKyAgSU4gQ09OU1QgRUZJ X0dVSUQgICpQcm90b2NvbCwNCj4gKyAgSU4gVk9JRCAgICAgICAgICAgICpJbnRlcmZhY2UsDQo+ ICsgIElOIEVGSV9IQU5ETEUgICAgICBIYW5kbGUNCj4gKyAgKQ0KPiArew0KPiArICBtTG9ja2Vk ID0gVFJVRTsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICsvKioNCj4g KyAgRW50cnkgcG9pbnQgZnVuY3Rpb24gb2YgdGhpcyBkcml2ZXIuDQo+ICsNCj4gKyAgQHBhcmFt W2luXSBJbWFnZUhhbmRsZSAgVGhlIGZpcm13YXJlIGFsbG9jYXRlZCBoYW5kbGUgZm9yIHRoZSBF RkkgaW1hZ2UuDQo+ICsgIEBwYXJhbVtpbl0gU3lzdGVtVGFibGUgIEEgcG9pbnRlciB0byB0aGUg RUZJIFN5c3RlbSBUYWJsZS4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICBUaGUg ZW50cnkgcG9pbnQgaXMgZXhlY3V0ZWQgc3VjY2Vzc2Z1bGx5Lg0KPiArICBAcmV0dmFsIG90aGVy ICAgICAgICAgICBTb21lIGVycm9yIG9jY3VycyB3aGVuIGV4ZWN1dGluZyB0aGlzIGVudHJ5IHBv aW50Lg0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NtcmFtU2F2ZUluZm9I YW5kbGVyU21tTWFpbiAoDQo+ICsgIElOIEVGSV9IQU5ETEUgICAgICAgIEltYWdlSGFuZGxlLA0K PiArICBJTiBFRklfU1lTVEVNX1RBQkxFICAqU3lzdGVtVGFibGUNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9TTU1fU1df RElTUEFUQ0hfUFJPVE9DT0wgICpTbW1Td0Rpc3BhdGNoOw0KPiArICBFRklfU01NX1NXX0RJU1BB VENIX0NPTlRFWFQgICBTbW1Td0Rpc3BhdGNoQ29udGV4dDsNCj4gKyAgRUZJX0hBTkRMRSAgICAg ICAgICAgICAgICAgICAgRGlzcGF0Y2hIYW5kbGU7DQo+ICsgIEVGSV9TTU1fQ09OVFJPTF9QUk9U T0NPTCAgICAgICpTbW1Db250cm9sOw0KPiArICBFRklfU01NX0NPTlRST0xfUkVHSVNURVIgICAg ICBTbW1Db250cm9sUmVnaXN0ZXI7DQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAg ICpSZWdpc3RyYXRpb247DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IFNNSSBkYXRhIHJlZ2lz dGVyDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IFN5c3RlbVRhYmxlLT5Cb290U2VydmljZXMtPkxv Y2F0ZVByb3RvY29sICgNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAmZ0VmaVNtbUNvbnRyb2xQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAoVk9JRCAqKikmU21tQ29udHJvbA0KPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ ICsgIFN0YXR1cyA9IFNtbUNvbnRyb2wtPkdldFJlZ2lzdGVySW5mbyAoU21tQ29udHJvbCwNCj4g JlNtbUNvbnRyb2xSZWdpc3Rlcik7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ ICsgIG1TbWlEYXRhUmVnaXN0ZXIgPSBTbW1Db250cm9sUmVnaXN0ZXIuU21pRGF0YVJlZ2lzdGVy Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJlZ2lzdGVyIHNvZnR3YXJlIFNNSSBoYW5kbGVyDQo+ ICsgIC8vDQo+ICsNCj4gKyAgU3RhdHVzID0gU3lzdGVtVGFibGUtPkJvb3RTZXJ2aWNlcy0+TG9j YXRlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICZnRWZpU21tU3dEaXNwYXRjaFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgIChWT0lEICoqKSZTbW1Td0Rpc3BhdGNoDQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVz KTsNCj4gKw0KPiArICBTbW1Td0Rpc3BhdGNoQ29udGV4dC5Td1NtaUlucHV0VmFsdWUgPQ0KPiBT TU1fRlJPTV9TTUJBU0VfRFJJVkVSOw0KPiArICBTdGF0dXMgPSBTbW1Td0Rpc3BhdGNoLT5SZWdp c3RlciAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgU21tU3dEaXNwYXRjaCwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAmU21yYW1TYXZlSW5mb0hhbmRsZXIsDQo+ICsg ICAgICAgICAgICAgICAgICAgICAgICAgICAgJlNtbVN3RGlzcGF0Y2hDb250ZXh0LA0KPiArICAg ICAgICAgICAgICAgICAgICAgICAgICAgICZEaXNwYXRjaEhhbmRsZQ0KPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1cyk7DQo+ICsN Cj4gKyAgLy8NCj4gKyAgLy8gUmVnaXN0ZXIgU01NIFJlYWR5IFRvIExvY2sgUHJvdG9jb2wgbm90 aWZpY2F0aW9uDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdTbXN0LT5TbW1SZWdpc3RlclByb3Rv Y29sTm90aWZ5ICgNCj4gKyAgICAgICAgICAgICAgICAgICAgJmdFZmlTbW1SZWFkeVRvTG9ja1By b3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICAgU21tUmVhZHlUb0xvY2tFdmVudE5v dGlmeSwNCj4gKyAgICAgICAgICAgICAgICAgICAgJlJlZ2lzdHJhdGlvbg0KPiArICAgICAgICAg ICAgICAgICAgICApOw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsg IHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1NtcmFtU2F2ZUluZm9IYW5kbGVyU21tL1NtcmFtU2F2DQo+ IGVJbmZvSGFuZGxlclNtbS5pbmYNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9TbXJhbVNhdmVJbmZvSGFuZGxlclNtbS9TbXJhbVNhDQo+IHZlSW5mb0hhbmRsZXJTbW0uaW5m DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmVjNDJjODQ0NzIN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmlj ZVBrZy9TbXJhbVNhdmVJbmZvSGFuZGxlclNtbS9TbXJhbVNhDQo+IHZlSW5mb0hhbmRsZXJTbW0u aW5mDQo+IEBAIC0wLDAgKzEsNjAgQEANCj4gKyMjIEBmaWxlDQo+ICsjDQo+ICsjICBBIGhlbHBl ciBkcml2ZXIgdG8gc2F2ZSBpbmZvcm1hdGlvbiB0byBTTVJBTSBhZnRlciBTTVJSIGlzIGVuYWJs ZWQuDQo+ICsjDQo+ICsjICBDb3B5cmlnaHQgKGMpIDIwMTAgLSAyMDE1LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsjDQo+IA0KPiArIyBTUERYLUxpY2Vu c2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+IA0KPiArIw0K PiArIw0KPiArIw0KPiArIyMNCj4gKw0KPiArW0RlZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAg ICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUNCj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAg ICAgICAgICAgID0gU21yYW1TYXZlSW5mb0hhbmRsZXJTbW0NCj4gKyAgRklMRV9HVUlEICAgICAg ICAgICAgICAgICAgICAgID0gNjMyOTZDNTItMDFDRi00ZWVhLUE0N0MtNzgyQTE0REE2ODk0DQo+ ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9TTU1fRFJJVkVSDQo+ICsg IFZFUlNJT05fU1RSSU5HICAgICAgICAgICAgICAgICA9IDEuMA0KPiArICBQSV9TUEVDSUZJQ0FU SU9OX1ZFUlNJT04gICAgICAgPSAweDAwMDEwMDBBDQo+ICsNCj4gKyAgRU5UUllfUE9JTlQgICAg ICAgICAgICAgICAgICAgID0gU21yYW1TYXZlSW5mb0hhbmRsZXJTbW1NYWluDQo+ICsNCj4gKyMN Cj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNlIG9ubHkgYW5k IG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ICsjICBWQUxJRF9B UkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0DQo+ICsjDQo+ICsNCj4gK1tTb3VyY2Vz LmNvbW1vbl0NCj4gKyAgU21yYW1TYXZlSW5mb0hhbmRsZXJTbW0uYw0KPiArDQo+ICtbUGFja2Fn ZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrUGtnL0ludGVs RnJhbWV3b3JrUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNlUmVm Q29kZVBrZy5kZWMNCj4gKw0KPiArW0xpYnJhcnlDbGFzc2VzXQ0KPiArICBVZWZpRHJpdmVyRW50 cnlQb2ludA0KPiArICBVZWZpUnVudGltZVNlcnZpY2VzVGFibGVMaWINCj4gKyAgU21tU2Vydmlj ZXNUYWJsZUxpYg0KPiArICBCYXNlTGliDQo+ICsgIEJhc2VNZW1vcnlMaWINCj4gKyAgSW9MaWIN Cj4gKw0KPiArW1Byb3RvY29sc10NCj4gKyAgZ0VmaVNtbVN3RGlzcGF0Y2hQcm90b2NvbEd1aWQg ICAgICAjIyBDT05TVU1FRA0KPiArICBnRWZpU21tQ29udHJvbFByb3RvY29sR3VpZCAgICAgICAg ICMjIENPTlNVTUVEDQo+ICsgIGdFZmlTbW1SZWFkeVRvTG9ja1Byb3RvY29sR3VpZCAgICAgIyMg Q09OU1VNRUQNCj4gKw0KPiArW1BjZC5jb21tb25dDQo+ICsgIGdFZmlWTFZUb2tlblNwYWNlR3Vp ZC5QY2RDcHVMb2NrQm94RGF0YUFkZHJlc3MNCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBj ZENwdVNtcmFtQ3B1RGF0YUFkZHJlc3MNCj4gKyAgZ0VmaVZMVlRva2VuU3BhY2VHdWlkLlBjZENw dUxvY2tCb3hTaXplDQo+ICsNCj4gK1tEZXBleF0NCj4gKyAgZ0VmaVNtbVN3RGlzcGF0Y2hQcm90 b2NvbEd1aWQgQU5EDQo+ICsgIGdFZmlTbW1Db250cm9sUHJvdG9jb2xHdWlkDQo+ICsNCj4gZGlm ZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9HY2Mv TnZTdG9yYWdlRnR3U3BhcmUuYmluDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvU3RpdGNoL0djYy9OdlN0b3JhZ2VGdHdTcGFyZS5iaW4NCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXgNCj4gMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u NzE0NTk0N2RhNDRjZjk5MjBkOWM1OTMzMTgNCj4gN2RjOTY1NDBlY2Q1YWQNCj4gR0lUIGJpbmFy eSBwYXRjaA0KPiBsaXRlcmFsIDI2MjE0NA0KPiB6Y21lSXVGIyFNbzBLJWFEc3BvQTZoKEtZJGZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMA0KPiBSc2pNDQo+IHo3JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+ YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4g ekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0K PiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4 ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6 Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+ IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdB DQo+IFd6PD5iKjFgSFQ1VjhET0AwfHBFal88O2MqZT49cWgNCj4gDQo+IGxpdGVyYWwgMA0KPiBI Y21WP2QwMDAwMQ0KPiANCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1N0aXRjaC9HY2MvTnZTdG9yYWdlRnR3V29ya2luZy5iaW4NCj4gYi9QbGF0Zm9y bS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TdGl0Y2gvR2NjL052U3RvcmFnZUZ0d1dvcmtpbmcu YmluDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4DQo+IDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRjYjkyNDk4YjkzNDYzYTA3ZDZkZDY5NWMNCj4gZjMw YWU5MzIwNDE0NjcxDQo+IEdJVCBiaW5hcnkgcGF0Y2gNCj4gbGl0ZXJhbCA4MTkyDQo+IHpjbWVJ dXU/O3tfNmhQNlI3KDx+SnI3M0orMGZgfFBMeUwqYkFWJCNoaCQkNTNSPH1NPyswT2tpSHRXYDxZ c3NnDQo+IGgNCj4geEtDP1JfXzlBX35EKl4tdjVGa0srMDA5Qzcyb05BWmZCKnBrMVBCbHlLITUt DQo+IE4wdDUmVUFWQT5mMHVSPj8mPE93bA0KPiANCj4gbGl0ZXJhbCAwDQo+IEhjbVY/ZDAwMDAx DQo+IA0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv U3RpdGNoL0djYy9OdlN0b3JhZ2VWYXJpYWJsZS5iaW4NCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYy VGJsdERldmljZVBrZy9TdGl0Y2gvR2NjL052U3RvcmFnZVZhcmlhYmxlLmJpbg0KPiBuZXcgZmls ZSBtb2RlIDEwMDY0NA0KPiBpbmRleA0KPiAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw MDAwMDAwMDAwLi43Zjg2ODhiMDk5ZjFlNzA0OTFmMTYxNjFhOQ0KPiA4YzdiNTNjNmI3YTQxMg0K PiBHSVQgYmluYXJ5IHBhdGNoDQo+IGxpdGVyYWwgMjUzOTUyDQo+IHpjbWVJJU9eOGlWOTAyaERk dC0NCj4gY3NCejgqOE13cFElaEVoSWUjKkImaSRSUE8kVld9dXp1XzRKcVFqJlp3cmRXKVANCj4g ejUreC1JaUtKfUEhb28re0Fpe3AwXldLY2Q9OzRLdG4le1pkLQ0KPiBnKVBxYCM8T1c/KE0kcntZ VWdLTjJoKHJvIW9Vfg0KPiB6WTRAU1kmQk5CVGNTSDs/YlhlY0NhJmZMX05HeSkyQlRfQFF3PjQ4 ZGN1KTFHT1ohZm9ZM1NOTmVTRioNCj4gUC1OJnkjDQo+IHp0QkJQLQ0KPiB5fUt7MW0+KDZ6b34w fChRfWMjd01EeWVtWFdKJUJYfXdUKVlrUzxnSG4kfUBWckh6NWhHPnRyWG97OS0NCj4gempAdENR Q0RvVXVAM3ZTT2pqPUc2ciVmUit1bVpWVUlvRVBebiM3ITs1eVFJUFd1S2xKdio2VD5yalpsc3BQ DQo+IGJITA0KPiB6JVhReWYlZFhec0ohN0kxQVY2VFMyJGJ7eEcmVyhaOFduTU9jR2MhYnZ1Y19U Wlc7SWQhTjxLLQ0KPiBefDNYNThlP1BaDQo+IHpOU2lgezAwOUM3Mm9OQVpmQj1DJTdieGMkV2xT MlRJPXdXMHY4aVUjJjdRbGg9a0RCP0h1MyRySEJHVV82DQo+IFV2e1QNCj4gejB1Y3RBSyZISFIq UnshSWJKe0w7VHdadEpefj1ee1hZYiRhZXo8bWdYRG11Tm09ITdLdk1CMFBFflkoWVQNCj4gPjU4 YQ0KPiB6Xjg1MDZuM2g3T1cmbjc8Q1l5QEUlVWVAPSllK35AeWA8c3M7a09zd1R3QnVoWVd9PnNF MkZ6Uik0Zw0KPiBPej8ySyoyDQo+IHpjKXpOWW44TDNQRFleZXwjVkh5NUEycFU8THJVUWxPVElf eFVkMWx8TmhSfmNkMWtJPURyQDZqPmhRREdeDQo+IHo5eX4NCj4geiklMT4/JHFYLQ0KPiA0NV43 KEdZJk0mcFNlamEpQnxtPXRSe15+IXBZUER5bVp8KkdgMFopPm9tcjxpVW8qTkQjUX0lKA0KPiB6 I3FYUUs/P2Yoak9pbSN7ZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0srMDA5 Qzcyb05BWmZCKnBrDQo+IHoxUEJseUshNS1OMHQ1JlVBVjdjczBSalhGNUZrSyswMDlDNzJvTkFa ZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MNCj4gejBSalhGNUZrSyswMDlDNzJvTkFaZkIq cGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0srMDA5Qzcyb05BWg0KPiB6ZkIqcGsx UEJseUshNS1OMHQ1JlVBVjdjczBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4g TjB0NSZVDQo+IHpBVjdjczBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0 NSZVQVY3Y3MwUmpYRjVGa0srMDA5QzcNCj4gejJvTkFaZkIqcGsxUEJseUshNS1OMHQ1JlVBVjdj czBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTg0KPiB6MHQ1JlVBVjdjczBS alhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0sr DQo+IHowMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0srMDA5 Qzcyb05BWmZCKnBrMVBCbHkNCj4gekshNS1OMHQ1JlVBVjdjczBSalhGNUZrSyswMDlDNzJvTkFa ZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRg0KPiB6NUZrSyswMDlDNzJvTkFaZkIq cGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0srMDA5Qzcyb05BWmZCKnBrDQo+IHox UEJseUshNS1OMHQ1JlVBVjdjczBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4g TjB0NSZVQVY3Y3MNCj4gejBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0 NSZVQVY3Y3MwUmpYRjVGa0srMDA5Qzcyb05BWg0KPiB6ZkIqcGsxUEJseUshNS1OMHQ1JlVBVjdj czBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVDQo+IHpBVjdjczBS alhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0sr MDA5QzcNCj4gejJvTkFaZkIqcGsxUEJseUshNS1OMHQ1JlVBVjdjczBSalhGNUZrSyswMDlDNzJv TkFaZkIqcGsxUEJseUshNS0NCj4gTg0KPiB6MHQ1JlVBVjdjczBSalhGNUZrSyswMDlDNzJvTkFa ZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0srDQo+IHowMDlDNzJvTkFaZkIq cGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVGa0srMDA5Qzcyb05BWmZCKnBrMVBCbHkN Cj4gekshNS1OMHQ1JlVBVjdjczBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4g TjB0NSZVQVY3Y3MwUmpYRg0KPiB6NUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0 NSZVQVY3Y3MwUmpYRjVGa0srMDA5Qzcyb05BWmZCKnBrDQo+IHoxUEJseUshNS1OMHQ1JlVBVjdj czBSalhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MNCj4geDBS alhGNUZrSyswMDlDNzJvTkFaZkIqcGsxUEJseUshNS0NCj4gTjB0NSZVQVY3Y3MwUmpYRjVFdnsx cDg+VHVMZDVfOA0KPiANCj4gbGl0ZXJhbCAwDQo+IEhjbVY/ZDAwMDAxDQo+IA0KPiBkaWZmIC0t Z2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU3RpdGNoL0lGV0lIZWFk ZXIvSUZXSV9IRUFERVIuYmluDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv U3RpdGNoL0lGV0lIZWFkZXIvSUZXSV9IRUFERVIuYmluDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4DQo+IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmNh MTBmN2FmNjFiOTFlMWRhZjc5ZTM3NGM2DQo+IGM4MzdlZTA2ZTZlYTRjDQo+IEdJVCBiaW5hcnkg cGF0Y2gNCj4gbGl0ZXJhbCA0MDk2DQo+IHpjbWV6Vzl+REZge2xMJTZ6ezE0RkIqM2t9cHZhKWd6 YCVnNExXTXk5Qzt8Wj5hV0lTSktSWUFDZWBYTi0NCj4gemRXalgNCj4gejVEISVaKnxkUllMd29g eFN5K0xEZkNMfUkwIUshdTs5KyhLaFFtTiN4ZFp0aUpuKmdeYi1gIXxqRTJCeTIja2luDQo+IHpY YjZta3otUzFKaFFNZURqRTJCeTJvTjZ2aFpNdlpTUVNfbS0NCj4gYTl+UDExT3khNGk7QnslUn42 YDl0O2VrM1plPU0NCj4gV3lDSG55WjVzUzQ/KnFIQ2dXcnwzYnMrIXsmUnlnSA0KPiANCj4gbGl0 ZXJhbCAwDQo+IEhjbVY/ZDAwMDAxDQo+IA0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50 ZWwvVmx2MlRibHREZXZpY2VQa2cvU3RpdGNoL0lGV0lIZWFkZXIvSUZXSV9IRUFERVJfU1BJTA0K PiBPQ0suYmluDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU3RpdGNoL0lG V0lIZWFkZXIvSUZXSV9IRUFERVJfU1BJTA0KPiBPQ0suYmluDQo+IG5ldyBmaWxlIG1vZGUgMTAw NjQ0DQo+IGluZGV4DQo+IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu LmYyZGNiMDA2N2QxYTQ4ZjA4YjRjNDA0ODM2DQo+IDI0NDNiNWM3MDk1YWE5DQo+IEdJVCBiaW5h cnkgcGF0Y2gNCj4gbGl0ZXJhbCA0MDk2DQo+IHpjbWV6Vzl+REZge2xMJTZ6ezE0RkIqM2t9cHZh KWd6YCVnNExXTXk5Qzt8Wj5hV0lTSktSWUFDZWBYTi0NCj4gemRXalgNCj4gekFXc1RhMWxoRUtY RzQ0ZkJ3MUwyZ24kR2UhdmFTfXNOaTlDMjhQMnhVJTNQTUFVeUR7OWQqSEkyI2tpblgNCj4gYjZt aw0KPiB6ei0NCj4gUzFKaFFNZURqRTJCeTIja2luWGIyRD0wKjRnRDcrNGlwNzJaMlFYIyomb0FQ eUUrZlhoU3BAKldIZnE2KA0KPiByNA0KPiBYM2NEZUU7JXlySUQoP2ZrdlYtNTF2fj9pPjc+aXYw DQo+IA0KPiBsaXRlcmFsIDANCj4gSGNtVj9kMDAwMDENCj4gDQo+IGRpZmYgLS1naXQgYS9QbGF0 Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TdGl0Y2gvSUZXSUhlYWRlci9WYWNhbnQuYmlu DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvU3RpdGNoL0lGV0lIZWFkZXIv VmFjYW50LmJpbg0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleA0KPiAwMDAwMDAwMDAw MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xMmQzNTkxNDYwMTRiYWFkOTI3N2E5NTFi DQo+IDIzN2ZkMjdlODE5ZGI2ZQ0KPiBHSVQgYmluYXJ5IHBhdGNoDQo+IGxpdGVyYWwgMzkyODA2 NA0KPiB6Y21lSXVGIyFNbzBLJWFEc3BvNDVoKEtZJGZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMA0KPiBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6 MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+ IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pN DQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioN Cj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAx YEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0K PiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBS c2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+ IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+ YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4g ekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0K PiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4 ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6 Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+ IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdB DQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHow fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4g ejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoN Cj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i Kg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBG a3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0K PiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk DQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+ WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+ IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0EN Cj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxw RWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4g emZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0K PiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4j cg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+ IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9A DQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4g MHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksN Cj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF ag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4g Ql4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0K PiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy DQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4 RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+ IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AN Cj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUq VksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4g ejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YN Cj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhU NQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6 MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+ IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pN DQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioN Cj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAx YEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0K PiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBS c2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+ IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBF akZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+ YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4g ekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNy Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0K PiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4 ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6 Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0Aw fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+ IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdB DQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHow fHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4g ejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoN Cj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZC XiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i Kg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBG a3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0K PiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhE T0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk DQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+ WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+ IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpW S2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0EN Cj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxw RWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4g emZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0K PiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4j cg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6 VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+ IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9A DQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3 JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4g MHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksN Cj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFg SFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF ag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4g Ql4jcg0KPiB6Mz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1DQo+IFY4RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0K PiB6VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkDQo+IDBSc2pNDQo+IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJz ak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy DQo+IDM+WXdBDQo+IHp6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0ANCj4gMHxwRWoNCj4gekZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2YNCj4gQl4jcg0KPiB6Mz5Zd0F6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1DQo+IFY4 RE9ADQo+IHowfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZrcnhkMFJzak03DQo+ICUqVksNCj4gemZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZr cnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKg0KPiAxYEhUNQ0KPiB6VjhET0AwfHBFakZrcnhk MFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkDQo+IDBSc2pNDQo+ IHo3JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNy Mz5Zd0ENCj4gejw+YioNCj4gejFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Z d0F6PD5iKjFgSFQ1VjhET0AwfHBFag0KPiBGa3J4ZA0KPiB6MFJzak03JSpWS2ZCXiNyMz5Zd0F6 PD5iKjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyDQo+IDM+WXdBDQo+IHp6PD5i KjFgSFQ1VjhET0AwfHBFakZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AN Cj4gMHxwRWoNCj4gckZrcnhkMFJzak03JSpWS2ZCXiNyMz5Zd0F6PD5iKjFgSFQ1VjhET0AwfHBF akZ6XkVkVmY+R30NCj4gDQo+IGxpdGVyYWwgMA0KPiBIY21WP2QwMDAwMQ0KPiANCj4gZGlmZiAt LWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9JRldJU3RpdGNo LmJhdA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1N0aXRjaC9JRldJU3Rp dGNoLmJhdA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4yMDBj YTA1YTIzDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvU3RpdGNoL0lGV0lTdGl0Y2guYmF0DQo+IEBAIC0wLDAgKzEsMjcwIEBADQo+ICtA UkVNIEBmaWxlDQo+ICtAUkVNICAgV2luZG93cyBiYXRjaCBmaWxlIHRvIGJ1aWxkIEJJT1MgUk9N DQo+ICtAUkVNDQo+ICtAUkVNIENvcHlyaWdodCAoYykgMjAwNiAgIC0gMjAxOSwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0KPiArQFJFTQ0KPiArQFJFTSAgIFNQ RFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICtAUkVNDQo+ICsN Cj4gK0BlY2hvIG9mZg0KPiArU2V0TG9jYWwgRW5hYmxlRGVsYXllZEV4cGFuc2lvbiBFbmFibGVF eHRlbnNpb25zDQo+ICsNCj4gK3NldCBQTEFURk9STV9CSU5fUEFDS0FHRT0lV09SS1NQQUNFJVxW bHYyU29jQmluUGtnDQo+ICtpZiBub3QgZXhpc3QgJVBMQVRGT1JNX0JJTl9QQUNLQUdFJSAoDQo+ ICsgIGlmIGRlZmluZWQgUEFDS0FHRVNfUEFUSCAoDQo+ICsgICAgZm9yICUlaSBJTiAoJVBBQ0tB R0VTX1BBVEglKSBETyAoDQo+ICsgICAgICBpZiBleGlzdCAlJX5maVxWbHYyU29jQmluUGtnICgN Cj4gKyAgICAgICAgc2V0IFBMQVRGT1JNX0JJTl9QQUNLQUdFPSUlfmZpXFZsdjJTb2NCaW5Qa2cN Cj4gKyAgICAgICAgZ290byBQbGF0Zm9ybUJpblBhY2thZ2VGb3VuZA0KPiArICAgICAgKQ0KPiAr ICAgICkNCj4gKyAgKSBlbHNlICgNCj4gKyAgICBlY2hvLg0KPiArICAgIGVjaG8gISEhIEVSUk9S ICEhISBDYW5ub3QgZmluZCAlUExBVEZPUk1fTkFNRSUgISEhDQo+ICsgICAgZWNoby4NCj4gKyAg ICBnb3RvIEJsZEZhaWwNCj4gKyAgKQ0KPiArKQ0KPiArOlBsYXRmb3JtQmluUGFja2FnZUZvdW5k DQo+ICsNCj4gKw0KPiArOjogU2V0IHNjcmlwdCBkZWZhdWx0cw0KPiArc2V0IGV4aXRDb2RlPTAN Cj4gK3NldCBCYWNrdXBSb209MQ0KPiArc2V0IFVwZGF0ZVZCaW9zPTENCj4gK3NldCBTcGlMb2Nr PTANCj4gK3NldCBTdGl0Y2hfQ29uZmlnPVN0aXRjaF9Db25maWcudHh0DQo+ICtjb3B5IC95IG51 bCBTdGl0Y2hpbmcubG9nID5udWwNCj4gKw0KPiArOjogU2V0IGRlZmF1bHQgU3VmZml4IGFzOiAg WVlZWV9NTV9ERF9ISE1NDQo+ICtzZXQgaG91cj0ldGltZTogPTAlDQo+ICtyZWcgY29weSAiSEtD VVxDb250cm9sIFBhbmVsXEludGVybmF0aW9uYWwiICJIS0NVXENvbnRyb2wNCj4gUGFuZWxcSW50 ZXJuYXRpb25hbF9UZW1wIiAvZiA+bnVsDQo+ICtyZWcgYWRkICJIS0NVXENvbnRyb2wgUGFuZWxc SW50ZXJuYXRpb25hbCIgL3Ygc1Nob3J0RGF0ZSAvZA0KPiAieXl5eV9NTV9kZCIgL2YgPm51bA0K PiArZm9yIC9mICJ0b2tlbnM9MSIgJSVpIGluICgiJWRhdGUlIikgZG8gc2V0IHRvZGF5PSUlaQ0K PiArcmVnIGNvcHkgIkhLQ1VcQ29udHJvbCBQYW5lbFxJbnRlcm5hdGlvbmFsX1RlbXAiICJIS0NV XENvbnRyb2wNCj4gUGFuZWxcSW50ZXJuYXRpb25hbCIgL2YgPm51bA0KPiArcmVnIGRlbGV0ZSAi SEtDVVxDb250cm9sIFBhbmVsXEludGVybmF0aW9uYWxfVGVtcCIgL2YgPm51bA0KPiArc2V0IElG V0lfU3VmZml4PSV0b2RheSVfJWhvdXI6fjAsMiUldGltZTp+MywyJQ0KPiArDQo+ICs6OiBQcm9j ZXNzIGlucHV0IGFyZ3VtZW50cw0KPiAraWYgIiV+MSI9PSI/IiAgICAgICBnb3RvIFVzYWdlDQo+ ICtpZiAiJX4xIj09Ii8/IiAgICAgIGdvdG8gVXNhZ2UNCj4gK2lmIC9pICIlfjEiPT0iSGVscCIg Z290byBVc2FnZQ0KPiArDQo+ICs6T3B0TG9vcA0KPiAraWYgL2kgIiV+MSI9PSIvblYiICgNCj4g KyAgICBzZXQgVXBkYXRlVkJpb3M9MA0KPiArICAgIHNoaWZ0DQo+ICsgICAgZ290byBPcHRMb29w DQo+ICspDQo+ICtpZiAvaSAiJX4xIj09Ii9uQiIgKA0KPiArICAgIHNldCBCYWNrdXBSb209MA0K PiArICAgIHNoaWZ0DQo+ICsgICAgZ290byBPcHRMb29wDQo+ICspDQo+ICtpZiAvaSAiJX4xIj09 Ii95TCIgKA0KPiArICAgIHNldCBTcGlMb2NrPTENCj4gKyAgICBzaGlmdA0KPiArICAgIGdvdG8g T3B0TG9vcA0KPiArKQ0KPiArDQo+ICtpZiAvaSAiJX4xIj09Ii9CIiAoDQo+ICsgICAgaWYgIiV+ MiI9PSIiICBnb3RvIFVzYWdlDQo+ICsgICAgaWYgbm90IGV4aXN0ICV+MiBlY2hvIEJJT1Mgbm90 IGZvdW5kLiAmIGdvdG8gVXNhZ2UNCj4gKyAgICBzZXQgQklPU19OYW1lcz0lfjINCj4gKyAgICBz ZXQgQklPU19GaWxlX05hbWU9JX5uMg0KPiArICAgIHNoaWZ0ICYgc2hpZnQNCj4gKyAgICBnb3Rv IE9wdExvb3ANCj4gKykNCj4gK2lmIC9pICIlfjEiPT0iL0MiICgNCj4gKyAgICBpZiAiJX4yIj09 IiIgIGdvdG8gVXNhZ2UNCj4gKyAgICBpZiBub3QgZXhpc3QgJX4yIGVjaG8gQ29uZmlnRmlsZSBu b3QgZm91bmQuICYgZ290byBVc2FnZQ0KPiArICAgIHNldCBTdGl0Y2hfQ29uZmlnPSV+Mg0KPiAr ICAgIHNoaWZ0ICYgc2hpZnQNCj4gKyAgICBnb3RvIE9wdExvb3ANCj4gKykNCj4gK2lmIC9pICIl fjEiPT0iL1MiICgNCj4gKyAgICBpZiAiJX4yIj09IiIgIGdvdG8gVXNhZ2UNCj4gKyAgICBzZXQg SUZXSV9TdWZmaXg9JX4yDQo+ICsgICAgc2hpZnQgJiBzaGlmdA0KPiArICAgIGdvdG8gT3B0TG9v cA0KPiArKQ0KPiArDQo+ICtpZiAiJUJJT1NfRmlsZV9OYW1lOn4wLDQlIj09Ik1OVzIiICgNCj4g KyAgIHNldCBTdGl0Y2hfQ29uZmlnPSBNTlcyX1N0aXRjaF9Db25maWcudHh0DQo+ICspDQo+ICtp ZiAiJUJJT1NfRmlsZV9OYW1lOn4zLDQlIj09Ik1OVzIiICgNCj4gKyAgIHNldCBTdGl0Y2hfQ29u ZmlnPSBNTlcyX1N0aXRjaF9Db25maWcudHh0DQo+ICspDQo+ICsNCj4gKzo6IGlmIG5vIHJvbSBz cGVjaWZpZWQgYnkgdXNlciwgc2VhcmNoIGluIC4vIGZvciBST00gZmlsZXMNCj4gK2lmICIlQklP U19OYW1lcyUiPT0iIiAoDQo+ICsgICAgc2V0ICJCSU9TX05hbWVzPSAiDQo+ICsgICAgZm9yIC9m ICJ0b2tlbnM9KiIgJSVpIGluICgnZGlyIC9iICoucm9tJykgZG8gc2V0DQo+IEJJT1NfTmFtZXM9 IUJJT1NfTmFtZXMhICUlaQ0KPiArICAgIGlmICIhQklPU19OYW1lcyEiPT0iICIgKA0KPiArICAg ICAgICBlY2hvIE5PIC5ST00gZmlsZXMgZm91bmQgISEhDQo+ICsgICAgICAgIGdvdG8gVXNhZ2UN Cj4gKyAgICApDQo+ICspDQo+ICsNCj4gKzo6IFBhcnNlIHRoZSBTdGl0Y2hfQ29uZmlnIEZpbGUN Cj4gK2lmIG5vdCBleGlzdCAlU3RpdGNoX0NvbmZpZyUgKA0KPiArICAgIGVjaG8gU3RpdGNoIENv bmZpZ3VyYXRpb24gRmlsZSAlU3RpdGNoX0NvbmZpZyUgbm90IGZvdW5kLg0KPiArICAgIGdvdG8g U2NyaXB0RmFpbA0KPiArKQ0KPiArZm9yIC9mICJkZWxpbXM9PSB0b2tlbnM9MSwyIiAlJWkgaW4g KCVTdGl0Y2hfQ29uZmlnJSkgZG8gKA0KPiArICAgIGlmIC9pICIlJWkiPT0iSEVBREVSIiAgICAg IHNldCBJRldJX0hFQURFUj0lJWoNCj4gKyAgICBpZiAvaSAiJSVpIj09IlNFQ19WRVJTSU9OIiBz ZXQgU0VDX1ZFUlNJT049JSVqDQo+ICsgICAgaWYgL2kgIiUlaSI9PSJTb3VyY2UiICgNCj4gKyAg ICAgICAgaWYgL2kgIiUlaiI9PSJBTFBIQSIgc2V0IFNvdXJjZV9QcmVmaXg9QV8NCj4gKyAgICAg ICAgaWYgL2kgIiUlaiI9PSJCRiIgc2V0IFNvdXJjZV9QcmVmaXg9QkZfDQo+ICsgICAgICAgIGlm IC9pICIlJWoiPT0iQkUiIHNldCBTb3VyY2VfUHJlZml4PUJFXw0KPiArICAgICAgICBpZiAvaSAi JSVqIj09IlBWIiBzZXQgU291cmNlX1ByZWZpeD1QVl8NCj4gKyAgICAgICAgaWYgL2kgIiUlaiI9 PSJQUjEiIHNldCBTb3VyY2VfUHJlZml4PVBSMV8NCj4gKyAgICApDQo+ICspDQo+ICsNCj4gK2lm ICVTcGlMb2NrJSBFUVUgMSAoDQo+ICsgIHNldCBJRldJX0hFQURFUl9GSUxFPUlGV0lIZWFkZXJc IUlGV0lfSEVBREVSIV9TUElMT0NLLmJpbg0KPiArKSBlbHNlICgNCj4gKyAgc2V0IElGV0lfSEVB REVSX0ZJTEU9SUZXSUhlYWRlclwhSUZXSV9IRUFERVIhLmJpbg0KPiArKQ0KPiArDQo+ICs6Og0K PiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqDQo+ICoqKioqKioqKioqKg0KPiArOjogVGhlIE1haW4gU3RpdGNoaW5nIExvb3ANCj4gKzo6 DQo+ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioNCj4gKioqKioqKioqKioqDQo+ICtlY2hvICVkYXRlJSAgJXRpbWUlID4+U3RpdGNoaW5n LmxvZyAyPiYxDQo+ICtlY2hvICVkYXRlJSAgJXRpbWUlDQo+ICtlY2hvLg0KPiArZm9yICUlaSBp biAoJUJJT1NfTmFtZXMlKSBkbyAoDQo+ICsNCj4gKyAgICBSRU0gIC0tLS0tIERvIE5PVCB1c2Ug OjogZm9yIGNvbW1lbnRzIEluc2lkZSBvZiBjb2RlIGJsb2NrcygpIC0tLS0tLS0NCj4gKyAgICBz ZXQgQklPU19Sb209JSVpDQo+ICsgICAgc2V0IEJJT1NfTmFtZT0lJX5uaQ0KPiArICAgIHNldCBC SU9TX1ZlcnNpb249IUJJT1NfTmFtZTp+LTcsNyENCj4gKw0KPiArICAgIFJFTSBleHRyYWN0IFBs YXRmb3JtVHlwZSBmcm9tIEJJT1MgZmlsZW5hbWUNCj4gKyAgICBzZXQgUGxhdGZvcm1fVHlwZT0h QklPU19OYW1lOn4wLDQhDQo+ICsNCj4gKyAgICBSRU0gU3BlY2lhbCB0cmVhdCBmb3IgQmF5TGFr ZSBGRkQ4DQo+ICsgICAgc2V0IFRlbXBfTmFtZT0hQklPU19OYW1lOn4wLDchDQo+ICsNCj4gKw0K PiArICAgIFJFTSBDYXBpdGFsaXplIGFuZCB2YWxpZGF0ZSB0aGUgUGxhdGZvcm1fVHlwZQ0KPiAr ICAgIGlmIC9pICIhUGxhdGZvcm1fVHlwZSEiPT0iTU5XMiIgKA0KPiArICAgICAgICBzZXQgUGxh dGZvcm1fVHlwZT1NTlcyDQo+ICsgICAgKSBlbHNlICgNCj4gKyAgICAgICAgZWNobyBFcnJvciAt IFVuc3VwcG9ydGVkIFBsYXRmb3JtVHlwZTogIVBsYXRmb3JtX1R5cGUhDQo+ICsgICAgICAgIGdv dG8gVXNhZ2UNCj4gKyAgICApDQo+ICsNCj4gKw0KPiArICAgIFJFTSBzZWFyY2ggQklPU19OYW1l IGZvciBBcmNoIHN1YnN0cmluZzogIGVpdGhlciBJQTMyIG9yIFg2NA0KPiArICAgIGlmIG5vdCAi IUJJT1NfTmFtZSEiPT0iIUJJT1NfTmFtZTpfSUEzMl89ISIgKA0KPiArICAgICAgICBzZXQgQXJj aD1JQTMyDQo+ICsgICAgKSBlbHNlIGlmIG5vdCAiIUJJT1NfTmFtZSEiPT0iIUJJT1NfTmFtZTpf WDY0Xz0hIiAoDQo+ICsgICAgICAgIHNldCBBcmNoPVg2NA0KPiArICAgICkgZWxzZSAoDQo+ICsg ICAgICAgIGVjaG8gRXJyb3I6ICBDb3VsZCBub3QgZGV0ZXJtaW5lIEFyY2hpdGVjdHVyZSBmb3Ig IUJJT1NfUm9tIQ0KPiArICAgICAgICBnb3RvIFVzYWdlDQo+ICsgICAgKQ0KPiArICAgIHNldA0K PiBJRldJX1ByZWZpeD0hUGxhdGZvcm1fVHlwZSFfSUZXSV8lU291cmNlX1ByZWZpeCUhQXJjaCFf ISFCSU9TX1ZlcnNpbw0KPiBuIQ0KPiArDQo+ICsgICAgUkVNIHNlYXJjaCBCSU9TX05hbWUgZm9y IEJ1aWxkX1RhcmdldCBzdWJzdHJpbmc6IGVpdGhlciBSIG9yIEQNCj4gKyAgICBpZiBub3QgIiFC SU9TX05hbWUhIj09IiFCSU9TX05hbWU6X1JfPSEiICgNCj4gKyAgICAgICAgc2V0IEJ1aWxkX1Rh cmdldD1SZWxlYXNlDQo+ICsgICAgICAgIHNldCBJRldJX1ByZWZpeD0hSUZXSV9QcmVmaXghX1IN Cj4gKyAgICApIGVsc2UgaWYgbm90ICIhQklPU19OYW1lISI9PSIhQklPU19OYW1lOl9EXz0hIiAo DQo+ICsgICAgICAgIHNldCBCdWlsZF9UYXJnZXQ9RGVidWcNCj4gKyAgICAgICAgc2V0IElGV0lf UHJlZml4PSFJRldJX1ByZWZpeCFfRA0KPiArICAgICkgZWxzZSAoDQo+ICsgICAgICAgIGVjaG8g RXJyb3I6ICBDb3VsZCBub3QgZGV0ZXJtaW5lIEJ1aWxkIFRhcmdldCBmb3IgIUJJT1NfUm9tIQ0K PiArICAgICAgICBnb3RvIFVzYWdlDQo+ICsgICAgKQ0KPiArDQo+ICsgICAgUkVNIENyZWF0ZSBh IEJJT1MgYmFja3VwIGJlZm9yZSBTdGl0Y2hpbmcNCj4gKyAgICBpZiAlQmFja3VwUm9tJSBFUVUg MSAoDQo+ICsgICAgICAgIGVjaG8gQ3JlYXRpbmcgYmFja3VwIG9mIG9yaWdpbmFsIEJJT1Mgcm9t Lg0KPiArICAgICAgICBjb3B5IC95ICFCSU9TX1JvbSEgIUJJT1NfUm9tIS5vcmlnID5udWwNCj4g KyAgICApDQo+ICsNCj4gKyAgICBlY2hvLiAgPj5TdGl0Y2hpbmcubG9nDQo+ICsgICAgZWNobyAq KioqKioqKioqIFN0aXRjaGluZyAhQklPU19Sb20hICoqKioqKioqKiogID4+U3RpdGNoaW5nLmxv Zw0KPiArICAgIGVjaG8uICA+PlN0aXRjaGluZy5sb2cNCj4gKyAgICBlY2hvLg0KPiArICAgIGVj aG8gU3RpdGNoaW5nIElGV0kgZm9yICFCSU9TX1JvbSEgLi4uDQo+ICsgICAgZWNobyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gKyAgICBlY2hvIElGV0kgIEhlYWRlcjogIUlGV0lfSEVBREVSX0ZJTEUh LCAgIFNFQyB2ZXJzaW9uOiAhU0VDX1ZFUlNJT04hLA0KPiArICAgIGVjaG8gQklPUyBWZXJzaW9u OiAhQklPU19WZXJzaW9uIQ0KPiArDQo+ICsgICAgZWNobyBQbGF0Zm9ybSBUeXBlOiAhUGxhdGZv cm1fVHlwZSEsICAgICBJRldJIFByZWZpeDogJUJJT1NfSUQlDQo+ICsgICAgZWNobyAtLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0NCj4gKw0KPiArICAgIGVjaG8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0NCj4gKyAgICBlY2hvLg0KPiArICAgIGVjaG8gR2VuZXJhdGluZyBJRldJLi4uICVCSU9TX0lE JS5iaW4NCj4gKyAgICBlY2hvLg0KPiArDQo+ICsgICAgY29weSAvYi95ICFJRldJX0hFQURFUl9G SUxFIQ0KPiArICVQTEFURk9STV9CSU5fUEFDS0FHRSVcU0VDXCFTRUNfVkVSU0lPTiFcVkxWX1NF Q19SRUdJT04uYmluDQo+ICsgJVBMQVRGT1JNX0JJTl9QQUNLQUdFJVxTRUNcIVNFQ19WRVJTSU9O IVxWYWNhbnQuYmluDQo+ICsgIUJJT1NfUm9tISAlQklPU19JRCUuYmluDQo+ICsgICAgZWNoby4N Cj4gKyAgICBlY2hvDQo+ID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT0NCj4gPT09PT09PT09PT09PT09PT0NCj4gKykNCj4gK0BlY2hvIG9m Zg0KPiArDQo+ICs6OioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqDQo+ICs6OiBlbmQgb2YgbWFpbiBsb29wDQo+ ICs6OioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqDQo+ICoqKioqKioqKioqKioqDQo+ICsNCj4gK2VjaG8uDQo+ICtlY2hvICAtLSBBbGwgc3Bl Y2lmaWVkIFJPTSBmaWxlcyBTdGl0Y2hlZC4gLS0NCj4gK2VjaG8uDQo+ICtnb3RvIEV4aXQNCj4g Kw0KPiArOlVzYWdlDQo+ICtlY2hvLg0KPiArZWNobw0KPiAqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCj4gK2VjaG8gVGhpcyBTY3JpcHQgaXMgdXNlZCB0byBT dGl0Y2ggdG9nZXRoZXIgQklPUywgR09QIERyaXZlciwgTWljcm9jb2RlDQo+IFBhdGNoIGFuZCBU WEUgRlcNCj4gK2VjaG8gaW50byBhIHNpbmdsZSBJbnRlZ3JhdGVkIEZpcm13YXJlIEltYWdlIChJ RldJKS4NCj4gK2VjaG8uDQo+ICtlY2hvIFVzYWdlOiBJRldJU3RpdGNoLmJhdCBbZmxhZ3NdIFsv QiBCSU9TLlJPTV0gWy9DIFN0aXRjaF9Db25maWddIFsvUw0KPiBJRldJX1N1ZmZpeF0NCj4gK2Vj aG8uDQo+ICtlY2hvICAgIFRoaXMgc2NyaXB0IGhhcyBOTyBSZXF1aXJlZCBhcmd1bWVudHMsIHNv IHRoYXQgdGhlIHVzZXIgY2FuIGp1c3QNCj4gZG91YmxlIGNsaWNrIGZyb20gdGhlIEdVSS4NCj4g K2VjaG8gICAgSG93ZXZlciwgdGhpcyByZXF1aXJlcyB0aGF0IHRoZSBCSU9TLlJPTSBmaWxlIG5h bWUgaXMgZm9ybWF0dGVkDQo+IGNvcnJlY3RseS4NCj4gK2VjaG8uDQo+ICtlY2hvICAgIC9uRyAg ICAgICAgICAgICBEbyBOT1QgdXBkYXRlIHRoZSBHT1AgZHJpdmVyLiAgKGFwcGxpZXMgdG8gYWxs IFJPTSBmaWxlcw0KPiBmb3IgdGhpcyBydW4pDQo+ICtlY2hvICAgIC9uViAgICAgICAgICAgICBE byBOT1QgdXBkYXRlIHRoZSBWQklPUy4gICAgICAgKGFwcGxpZXMgdG8gYWxsIFJPTSBmaWxlcyBm b3INCj4gdGhpcyBydW4pDQo+ICtlY2hvICAgIC9uTSAgICAgICAgICAgICBEbyBOT1QgdXBkYXRl IHRoZSBNaWNyb2NvZGUuICAgKGFwcGxpZXMgdG8gYWxsIFJPTSBmaWxlcw0KPiBmb3IgdGhpcyBy dW4pDQo+ICtlY2hvICAgIC9uQiAgICAgICAgICAgICBEbyBOT1QgYmFja3VwIEJJT1MuUk9Ncy4g KERlZmF1bHQgd2lsbCBiYWNrdXAgdG8NCj4gQklPUy5ST00uT3JpZykNCj4gK2VjaG8uDQo+ICtl Y2hvICAgIEJJT1MuUk9NOiAgICAgICBBIHNpbmdsZSBCSU9TIFJPTSBmaWxlIHRvIHVzZSBmb3Ig c3RpdGNoaW5nDQo+ICtlY2hvICAgICAgICAgICAgICAgICAgICAoREVGQVVMVDogQUxMIC5ST00g ZmlsZXMgaW5zaWRlIHRoZSBjdXJyZW50IGRpcmVjdG9yeSkNCj4gK2VjaG8gICAgU3RpdGNoX0Nv bmZpZzogIFRleHQgZmlsZSBjb250YWluaW5nIHZlcnNpb24gaW5mbyBvZiBlYWNoIEZXDQo+IGNv bXBvbmVudA0KPiArZWNobyAgICAgICAgICAgICAgICAgICAgKERFRkFVTFQ6IFN0aXRjaF9Db25m aWcudHh0KQ0KPiArZWNobyAgICBJRldJX1N1ZmZpeDogICAgU3VmZml4IHRvIGFwcGVuZCB0byB0 aGUgZW5kIG9mIHRoZSBJRldJIGZpbGVuYW1lDQo+ICtlY2hvICAgICAgICAgICAgICAgICAgICAo REVGQVVMVDogWVlZWV9NTV9ERF9ISE1NKQ0KPiArZWNoby4NCj4gK2VjaG8gRXhhbXBsZXM6DQo+ ICtlY2hvICAgIElGSVdTdGl0Y2guYmF0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICA6IFN0aXRjaCBhbGwgUk9NcyB3aXRoIGRlZmF1bHRzDQo+ICtlY2hvICAgIElGSVdTdGl0 Y2guYmF0IC9CIEM6L015Um9tcy90ZXN0QklPUy5yb20gICAgICAgICAgICA6IFN0aXRjaCBzaW5n bGUgUk9NDQo+IHdpdGggZGVmYXVsdHMNCj4gK2VjaG8gICAgSUZJV1N0aXRjaC5iYXQgL0IgLi4v dGVzdEJJT1Mucm9tIC9TIHRlc3QxMjMgICAgICAgIDogU3RpdGNoIHNpbmdsZSBST00NCj4gYW5k IGFkZCBjdXN0b20gc3VmZml4DQo+ICtlY2hvICAgIElGSVdTdGl0Y2guYmF0IC9uTSAvbkIgL0Ig dGVzdEJJT1Mucm9tIC9TIHRlc3Q0NTYgICA6IFN0aXRjaCBzaW5nbGUNCj4gUk9NLCBrZWVwIHVD b2RlIGZyb20gLnJvbSwNCj4gK2VjaG8gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgZG9uJ3QgY3JlYXRlIGJhY2t1cCwgYW5kIGFkZCBjdXN0 b20NCj4gc3VmZml4Lg0KPiArZWNobw0KPiAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKg0KPiArcGF1c2UNCj4gK2V4aXQgL2IgMQ0KPiArDQo+ICs6U2NyaXB0 RmFpbA0KPiArc2V0IGV4aXRDb2RlPTENCj4gKw0KPiArOkV4aXQNCj4gK2VjaG8gIC0tIFNlZSBT dGl0Y2hpbmcubG9nIGZvciBtb3JlIGluZm8uIC0tDQo+ICtlY2hvLg0KPiArZWNobyAlZGF0ZSUg ICV0aW1lJQ0KPiArZWNoby4NCj4gK2lmICIlUGxhdGZvcm1fVHlwZSUiPT0iTU5XMiIgKA0KPiAr ICBlY2hvIC4NCj4gKykgZWxzZSAoDQo+ICsgIGVjaG8gb25seSBzdXBwb3J0IE1OVzIgZm9yIHRo aXMgcHJvamVjdCENCj4gK3BhdXNlDQo+ICspDQo+ICtleGl0IC9iICVleGl0Q29kZSUNCj4gK0Vu ZExvY2FsDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9T dGl0Y2gvTU5XMl9TdGl0Y2hfQ29uZmlnLnR4dA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL1N0aXRjaC9NTlcyX1N0aXRjaF9Db25maWcudHh0DQo+IG5ldyBmaWxlIG1vZGUg MTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjgyYWJlNjU0OGYNCj4gLS0tIC9kZXYvbnVsbA0K PiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9TdGl0Y2gvTU5XMl9TdGl0 Y2hfQ29uZmlnLnR4dA0KPiBAQCAtMCwwICsxLDEwIEBADQo+ICsjDQo+ICsjIENvcHlyaWdodCAo YykgIDE5OTkgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQN Cj4gKyMNCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQN Cj4gKyMNCj4gKyMNCj4gKw0KPiArSEVBREVSPUlGV0lfSEVBREVSDQo+ICtTRUNfVkVSU0lPTj0x LjAuMi4xMDYwdjUNCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHRE ZXZpY2VQa2cvVWlBcHAvRnJvbnRQYWdlLmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERl dmljZVBrZy9VaUFwcC9Gcm9udFBhZ2UuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRl eCAwMDAwMDAwMDAwLi4zZTU4YTZkMjJhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVWlBcHAvRnJvbnRQYWdlLmMNCj4gQEAgLTAsMCAr MSwzMyBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29weXJpZ2h0IChjKSAyMDA0ICAtIDIw MTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gKw0KPiAN Cj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gKw0K PiArDQo+IA0KPiArDQo+ICsNCj4gKw0KPiArKiovDQo+ICsNCj4gKy8qKg0KPiArICBUaGUgdXNl ciBFbnRyeSBQb2ludCBmb3IgQXBwbGljYXRpb24uIFRoZSB1c2VyIGNvZGUgc3RhcnRzIHdpdGgg dGhpcyBmdW5jdGlvbg0KPiArICBhcyB0aGUgcmVhbCBlbnRyeSBwb2ludCBmb3IgdGhlIGltYWdl IGdvZXMgaW50byBhIGxpYnJhcnkgdGhhdCBjYWxscyB0aGlzDQo+ICsgIGZ1bmN0aW9uLg0KPiAr DQo+ICsgIEBwYXJhbVtpbl0gSW1hZ2VIYW5kbGUgICAgVGhlIGZpcm13YXJlIGFsbG9jYXRlZCBo YW5kbGUgZm9yIHRoZSBFRkkNCj4gaW1hZ2UuDQo+ICsgIEBwYXJhbVtpbl0gU3lzdGVtVGFibGUg ICAgQSBwb2ludGVyIHRvIHRoZSBFRkkgU3lzdGVtIFRhYmxlLg0KPiArDQo+ICsgIEByZXR2YWwg RUZJX1NVQ0NFU1MgICAgICAgVGhlIGVudHJ5IHBvaW50IGlzIGV4ZWN1dGVkIHN1Y2Nlc3NmdWxs eS4NCj4gKyAgQHJldHZhbCBvdGhlciAgICAgICAgICAgICBTb21lIGVycm9yIG9jY3VycyB3aGVu IGV4ZWN1dGluZyB0aGlzIGVudHJ5IHBvaW50Lg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMN Cj4gK0VGSUFQSQ0KPiArSW5pdGlhbGl6ZVVzZXJJbnRlcmZhY2UgKA0KPiArICBJTiBFRklfSEFO RExFICAgICAgICBJbWFnZUhhbmRsZSwNCj4gKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAgKlN5c3Rl bVRhYmxlDQo+ICsgICkNCj4gK3sNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiBk aWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVWlBcHAvVWlBcHAu aW5mDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVWlBcHAvVWlBcHAuaW5m DQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLmY3YTBhODNiODAN Cj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBr Zy9VaUFwcC9VaUFwcC5pbmYNCj4gQEAgLTAsMCArMSwzMiBAQA0KPiArIw0KPiArIw0KPiArIyBD b3B5cmlnaHQgKGMpIDIwMTQgLSAyMDE4LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyBy ZXNlcnZlZC48QlI+DQo+ICsjDQo+IA0KPiArIyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNE LTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsjDQo+IA0KPiArIw0KPiArIyMNCj4gKw0KPiArW0Rl ZmluZXNdDQo+ICsgIElORl9WRVJTSU9OICAgICAgICAgICAgICAgICAgICA9IDB4MDAwMTAwMDUN Cj4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAgICAgICAgID0gVWlBcHANCj4gKyAgRklMRV9H VUlEICAgICAgICAgICAgICAgICAgICAgID0gNDYyQ0FBMjEtNzYxNC00NTAzLTgzNkUtOEFCNkY0 NjYyMzMxDQo+ICsgIE1PRFVMRV9UWVBFICAgICAgICAgICAgICAgICAgICA9IFVFRklfQVBQTElD QVRJT04NCj4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIEVO VFJZX1BPSU5UICAgICAgICAgICAgICAgICAgICA9IEluaXRpYWxpemVVc2VySW50ZXJmYWNlDQo+ ICsNCj4gKyMNCj4gKyMgVGhlIGZvbGxvd2luZyBpbmZvcm1hdGlvbiBpcyBmb3IgcmVmZXJlbmNl IG9ubHkgYW5kIG5vdCByZXF1aXJlZCBieSB0aGUNCj4gYnVpbGQgdG9vbHMuDQo+ICsjDQo+ICsj ICBWQUxJRF9BUkNISVRFQ1RVUkVTICAgICAgICAgICA9IElBMzIgWDY0IEVCQw0KPiArIw0KPiAr DQo+ICtbU291cmNlc10NCj4gKyAgRnJvbnRQYWdlLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiAr ICBNZGVQa2cvTWRlUGtnLmRlYw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsgIFVlZmlB cHBsaWNhdGlvbkVudHJ5UG9pbnQNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9JZ2RPcFJlZ2lvbi5jDQo+IGIvUGxh dGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVmx2UGxhdGZvcm1Jbml0RHhlL0lnZE9wUmVn aW9uLmMNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uYmE4MWJk OWRlZg0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2 aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9JZ2RPcFJlZ2lvbi5jDQo+IEBAIC0wLDAgKzEsOTI5 IEBADQo+ICsNCj4gKy8qKysNCj4gKw0KPiArQ29weXJpZ2h0IChjKSAgMjAxMSAgLSAyMDE4LCBJ bnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0KPiArDQo+IA0KPiArICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudA0KPiArDQo+ICsNCj4gDQo+ ICsNCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgSWdkT3BSZWdpb24uYw0KPiArDQo+ ICtBYnN0cmFjdDoNCj4gKw0KPiArICBUaGlzIGlzIHBhcnQgb2YgdGhlIGltcGxlbWVudGF0aW9u IG9mIGFuIEludGVsIEdyYXBoaWNzIGRyaXZlcnMgT3BSZWdpb24gLw0KPiArICBTb2Z0d2FyZSBT Q0kgaW50ZXJmYWNlIGJldHdlZW4gc3lzdGVtIEJJT1MsIEFTTCBjb2RlLCBhbmQgR3JhcGhpY3MN Cj4gZHJpdmVycy4NCj4gKyAgVGhlIGNvZGUgaW4gdGhpcyBmaWxlIHdpbGwgbG9hZCB0aGUgZHJp dmVyIGFuZCBpbml0aWFsaXplIHRoZSBpbnRlcmZhY2UNCj4gKw0KPiArICBTdXBwb3J0aW5nIFNw ZWNpZmljdGlvbjogT3BSZWdpb24gLyBTb2Z0d2FyZSBTQ0kgU1BFQyAwLjcwDQo+ICsNCj4gKyAg QWNyb255bXM6DQo+ICsgICAgSUdEOiAgICAgICAgSW50ZXJuYWwgR3JhcGhpY3MgRGV2aWNlDQo+ ICsgICAgTlZTOiAgICAgICAgQUNQSSBOb24gVm9sYXRpbGUgU3RvcmFnZQ0KPiArICAgIE9wUmVn aW9uOiAgIEFDUEkgT3BlcmF0aW9uYWwgUmVnaW9uDQo+ICsgICAgVkJUOiAgICAgICAgVmlkZW8g QklPUyBUYWJsZSAoT0VNIGN1c3RvbWl6YWJsZSBkYXRhKQ0KPiArDQo+ICstLSovDQo+ICsNCj4g Ky8vDQo+ICsvLyBJbmNsdWRlIGZpbGVzDQo+ICsvLw0KPiArDQo+ICsNCj4gKyNpbmNsdWRlICJJ Z2RPcFJlZ2lvbi5oIg0KPiArI2luY2x1ZGUgIlZsdlBsYXRmb3JtSW5pdC5oIg0KPiArI2luY2x1 ZGUgPEZyYW1ld29ya0R4ZS5oPg0KPiArI2luY2x1ZGUgPFVlZmkuaD4NCj4gKyNpbmNsdWRlIDxQ Y2hSZWdzLmg+DQo+ICsNCj4gKyNpbmNsdWRlIDxHdWlkL0RhdGFIdWJSZWNvcmRzLmg+DQo+ICsN Cj4gKyNpbmNsdWRlIDxQcm90b2NvbC9JZ2RPcFJlZ2lvbi5oPg0KPiArI2luY2x1ZGUgPFByb3Rv Y29sL0ZyYW1ld29ya0hpaS5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL0Zpcm13YXJlVm9sdW1l Mi5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1BsYXRmb3JtR29wUG9saWN5Lmg+DQo+ICsjaW5j bHVkZSA8UHJvdG9jb2wvUGNpSW8uaD4NCj4gKyNpbmNsdWRlIDxQcm90b2NvbC9DcHVJby5oPg0K PiArI2luY2x1ZGUgPFByb3RvY29sL0dsb2JhbE52c0FyZWEuaD4NCj4gKyNpbmNsdWRlIDxQcm90 b2NvbC9EeGVTbW1SZWFkeVRvTG9jay5oPg0KPiArI2luY2x1ZGUgPFByb3RvY29sL1BjaVJvb3RC cmlkZ2VJby5oPg0KPiArDQo+ICsjaW5jbHVkZSA8TGlicmFyeS9NZW1vcnlBbGxvY2F0aW9uTGli Lmg+DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9CYXNlTGliLmg+DQo+ICsjaW5jbHVkZSA8TGlicmFy eS9TM0Jvb3RTY3JpcHRMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJyYXJ5L0lvTGliLmg+DQo+ICsj aW5jbHVkZSA8TGlicmFyeS9EZXZpY2VQYXRoTGliLmg+DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wv RHJpdmVyQmluZGluZy5oPg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUHJpbnRMaWIuaD4NCj4gKyNp bmNsdWRlIDxMaWJyYXJ5L0Jhc2VNZW1vcnlMaWIuaD4NCj4gKw0KPiArDQo+ICsNCj4gK1VJTlQ4 IGdTVkVSWzEyXSA9ICJJbnRlbCI7DQo+ICsNCj4gK2V4dGVybiBEWEVfVkxWX1BMQVRGT1JNX1BP TElDWV9QUk9UT0NPTCAgKkR4ZVBsYXRmb3JtU2FQb2xpY3k7DQo+ICsNCj4gKy8vDQo+ICsvLyBH bG9iYWwgdmFyaWFibGVzDQo+ICsvLw0KPiArDQo+ICtJR0RfT1BSRUdJT05fUFJPVE9DT0wgbUln ZE9wUmVnaW9uOw0KPiArRUZJX0dVSUQgICAgICAgICAgICAgIG1NaXNjU3ViQ2xhc3MgPSBFRklf TUlTQ19TVUJDTEFTU19HVUlEOw0KPiArRUZJX0VWRU5UICAgICAgICAgICAgIG1Db25PdXRFdmVu dDsNCj4gK0VGSV9FVkVOVCAgICAgICAgICAgICBtU2V0R09QdmVyRXZlbnQ7DQo+ICtWT0lEICAg ICAgICAgICAgICAgICAgKm1Db25PdXRSZWc7DQo+ICsNCj4gKyNkZWZpbmUgREVGQVVMVF9GT1JN X0JVRkZFUl9TSVpFICAgIDB4RkZGRg0KPiArI2lmbmRlZiBFQ1BfRkxBRw0KPiArI2lmIDANCj4g Ky8qKg0KPiArDQo+ICsgIEdldCB0aGUgSElJIHByb3RvY29sIGludGVyZmFjZQ0KPiArDQo+ICsg IEBwYXJhbSBIaWkgICAgIEhJSSBwcm90b2NvbCBpbnRlcmZhY2UNCj4gKw0KPiArICBAcmV0dmFs ICAgICAgICBTdGF0dXMgY29kZQ0KPiArDQo+ICsqKi8NCj4gK3N0YXRpYw0KPiArRUZJX1NUQVRV Uw0KPiArR2V0SGlpSW50ZXJmYWNlICgNCj4gKyAgT1VUICAgICBFRklfSElJX1BST1RPQ09MICAg ICoqSGlpDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIFRoZXJlIHNob3VsZCBvbmx5IGJlIG9uZSBISUkgcHJvdG9jb2wNCj4gKyAg Ly8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAg ICAgICAmZ0VmaUhpaVByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgSGlpDQo+ICsgICAgICAgICAgICAgICAgICAp Ow0KPiArDQo+ICsgIHJldHVybiBTdGF0dXM7Ow0KPiArfQ0KPiArI2VuZGlmDQo+ICsjZW5kaWYN Cj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgR2V0IFZCVCBkYXRhLg0KPiArDQo+ICsgIEBwYXJhbVtp bl0gVmJ0RmlsZUJ1ZmZlciAgICBQb2ludGVyIHRvIFZCVCBkYXRhIGJ1ZmZlci4NCj4gKw0KPiAr ICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAgVkJUIGRhdGEgd2FzIHJldHVybmVkLg0KPiArICBA cmV0dmFsIEVGSV9OT1RfRk9VTkQgICAgVkJUIGRhdGEgbm90IGZvdW5kLg0KPiArICBAZXhjZXB0 aW9uIEVGSV9VTlNVUFBPUlRFRCAgSW52YWxpZCBzaWduYXR1cmUgaW4gVkJUIGRhdGEuDQo+ICsN Cj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArR2V0SW50ZWdyYXRlZEludGVsVmJ0UHRyICgNCj4g KyAgT1VUIFZCSU9TX1ZCVF9TVFJVQ1RVUkUgKipWYnRGaWxlQnVmZmVyDQo+ICsgICkNCj4gK3sN Cj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfUEhZ U0lDQUxfQUREUkVTUyAgICAgICAgICBWYnRBZGRyZXNzID0gMDsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgICAgICAgICAgRnZQcm90b2NvbENvdW50Ow0KPiArICBFRklfSEFORExFICAgICAg ICAgICAgICAgICAgICAqRnZIYW5kbGVzOw0KPiArICBFRklfRklSTVdBUkVfVk9MVU1FMl9QUk9U T0NPTCAgKkZ2Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgICBJbmRleDsNCj4g KyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgQXV0aGVudGljYXRpb25TdGF0dXM7DQo+ ICsNCj4gKyAgVUlOVDggICAgICAgICAgICAgICAgICAgICAgICAgKkJ1ZmZlcjsNCj4gKyAgVUlO VE4gICAgICAgICAgICAgICAgICAgICAgICAgVmJ0QnVmZmVyU2l6ZSA9IDA7DQo+ICsNCj4gKyAg QnVmZmVyID0gMDsNCj4gKyAgRnZIYW5kbGVzICAgICAgPSBOVUxMOw0KPiArICAqVmJ0RmlsZUJ1 ZmZlciA9IE5VTEw7DQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4g KyAgICAgICAgICAgICAgICAgIEJ5UHJvdG9jb2wsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0Vm aUZpcm13YXJlVm9sdW1lMlByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAgICAgICAgICAmRnZQcm90b2NvbENvdW50LA0KPiArICAgICAgICAgICAg ICAgICAgJkZ2SGFuZGxlcw0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICBpZiAo IUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIGZvciAoSW5kZXggPSAwOyBJbmRleCA8IEZ2 UHJvdG9jb2xDb3VudDsgSW5kZXgrKykgew0KPiArICAgICAgU3RhdHVzID0gZ0JTLT5IYW5kbGVQ cm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgRnZIYW5kbGVzW0luZGV4XSwNCj4g KyAgICAgICAgICAgICAgICAgICAgICAmZ0VmaUZpcm13YXJlVm9sdW1lMlByb3RvY29sR3VpZCwN Cj4gKyAgICAgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkZ2DQo+ICsgICAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgICAgIFZidEJ1ZmZlclNpemUgPSAwOw0KPiArICAgICAgU3RhdHVz ID0gRnYtPlJlYWRTZWN0aW9uICgNCj4gKyAgICAgICAgICAgICAgICAgICAgIEZ2LA0KPiArICAg ICAgICAgICAgICAgICAgICAgJmdCbXBJbWFnZUd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAg ICBFRklfU0VDVElPTl9SQVcsDQo+ICsgICAgICAgICAgICAgICAgICAgICAwLA0KPiArICAgICAg ICAgICAgICAgICAgICAodm9pZCAqKikmQnVmZmVyLA0KPiArICAgICAgICAgICAgICAgICAgICAg JlZidEJ1ZmZlclNpemUsDQo+ICsgICAgICAgICAgICAgICAgICAgICAmQXV0aGVudGljYXRpb25T dGF0dXMNCj4gKyAgICAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgICAgIGlmICghRUZJ X0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgICAgIFZidEFkZHJlc3MgPSAoRUZJX1BIWVNJQ0FM X0FERFJFU1MpKFVJTlROKUJ1ZmZlcjsNCj4gKyAgICAgICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7 DQo+ICsgICAgICAgIGJyZWFrOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfSBlbHNlIHsN Cj4gKyAgICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgaWYgKEZ2 SGFuZGxlcyAhPSBOVUxMKSB7DQo+ICsgICAgRnJlZVBvb2woRnZIYW5kbGVzKTsNCj4gKyAgICBG dkhhbmRsZXMgPSBOVUxMOw0KPiArICB9DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBDaGVj ayBWQlQgc2lnbmF0dXJlDQo+ICsgIC8vDQo+ICsgICpWYnRGaWxlQnVmZmVyID0gKFZCSU9TX1ZC VF9TVFJVQ1RVUkUgKikgKFVJTlROKSBWYnRBZGRyZXNzOw0KPiArICBpZiAoKlZidEZpbGVCdWZm ZXIgIT0gTlVMTCkgew0KPiArICAgIGlmICgoKigoVUlOVDMyICopICgoKlZidEZpbGVCdWZmZXIp LT5IZWFkZXJTaWduYXR1cmUpKSkgIT0NCj4gVkJUX1NJR05BVFVSRSkgew0KPiArICAgICAgaWYg KCpWYnRGaWxlQnVmZmVyICE9IE5VTEwpIHsNCj4gKyAgICAgICAgKlZidEZpbGVCdWZmZXIgPSBO VUxMOw0KPiArICAgICAgfQ0KPiArICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAg ICB9DQo+ICsgICAgLy8NCj4gKyAgICAvLyBDaGVjayBWQlQgc2l6ZQ0KPiArICAgIC8vDQo+ICsg ICAgaWYgKCgqVmJ0RmlsZUJ1ZmZlciktPkhlYWRlclZidFNpemUgPiBWYnRCdWZmZXJTaXplKSB7 DQo+ICsgICAgICAoKlZidEZpbGVCdWZmZXIpLT5IZWFkZXJWYnRTaXplID0gKFVJTlQxNikgVmJ0 QnVmZmVyU2l6ZTsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICByZXR1cm4gRUZJX1NVQ0NF U1M7DQo+ICt9DQo+ICsNCj4gKy8vDQo+ICsvLyBGdW5jdGlvbiBpbXBsZW1lbnRhdGlvbnMuDQo+ ICsvLw0KPiArLyoqDQo+ICsNCj4gKyAgR2V0IGEgcG9pbnRlciB0byBhbiB1bmNvbXByZXNzZWQg aW1hZ2Ugb2YgdGhlIEludGVsIHZpZGVvIEJJT1MuDQo+ICsNCj4gKyAgTm90ZTogVGhpcyBmdW5j dGlvbiB3b3VsZCBvbmx5IGJlIGNhbGxlZCBpZiB0aGUgdmlkZW8gQklPUyBhdCAweEMwMDAgaXMN Cj4gKyAgICAgICAgbWlzc2luZyBvciBub3QgYW4gSW50ZWwgdmlkZW8gQklPUy4gIEl0IG1heSBu b3QgYmUgYW4gSW50ZWwgdmlkZW8gQklPUw0KPiArICAgICAgICBpZiB0aGUgSW50ZWwgZ3JhcGhp YyBjb250b2xsZXIgaXMgY29uc2lkZXJlZCBhIHNlY29uZGFyeSBhZGFwdGVyLg0KPiArDQo+ICsN Cj4gKyAgQHBhcmFtIFZCaW9zUk9NSW1hZ2UgIFBvaW50ZXIgdG8gYW4gdW5jb21wcmVzc2VkIElu dGVsIHZpZGVvIEJJT1MuDQo+IFRoaXMgcG9pbnRlciBtdXN0DQo+ICsgICAgICAgICAgICAgICAg ICAgICAgICBiZSBzZXQgdG8gTlVMTCBpZiBhbiB1bmNvbXByZXNzZWQgaW1hZ2Ugb2YgdGhlIElu dGVsIFZpZGVvDQo+IEJJT1MNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIGlzIG5vdCBvYnRh aW5hYmxlLg0KPiArDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgIFZCaW9zUHRyIGlz IHVwZGF0ZWQuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArR2V0SW50ZWdyYXRlZElu dGVsVkJpb3NQdHIgKA0KPiArICBJTlRFTF9WQklPU19PUFRJT05fUk9NX0hFQURFUiAqKlZCaW9z SW1hZ2UNCj4gKyAgKQ0KPiArew0KPiArICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgKkhh bmRsZUJ1ZmZlcjsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgICAgICAgIEhhbmRsZUNvdW50 Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgICAgICAgSW5kZXg7DQo+ICsgIElOVEVMX1ZC SU9TX1BDSVJfU1RSVUNUVVJFICAqUGNpckJsb2NrUHRyOw0KPiArICBFRklfU1RBVFVTICAgICAg ICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfUENJX0lPX1BST1RPQ09MICAgICAgICAgKlBj aUlvOw0KPiArICBJTlRFTF9WQklPU19PUFRJT05fUk9NX0hFQURFUiAqVkJpb3NSb21JbWFnZTsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBTZXQgYXMgaWYgYW4gdW1jb21wcmVzc2VkIEludGVsIHZp ZGVvIEJJT1MgaW1hZ2Ugd2FzIG5vdCBvYnRhaW5hYmxlLg0KPiArICAvLw0KPiArICBWQmlvc1Jv bUltYWdlID0gTlVMTDsNCj4gKyAgKlZCaW9zSW1hZ2UgPSBOVUxMOw0KPiArDQo+ICsgIC8vDQo+ ICsgIC8vIEdldCBhbGwgUENJIElPIHByb3RvY29scw0KPiArICAvLw0KPiArICBTdGF0dXMgPSBn QlMtPkxvY2F0ZUhhbmRsZUJ1ZmZlciAoDQo+ICsgICAgICAgICAgICAgICAgICBCeVByb3RvY29s LA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlQY2lJb1Byb3RvY29sR3VpZCwNCj4gKyAgICAg ICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlQ291bnQsDQo+ ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlQnVmZmVyDQo+ICsgICAgICAgICAgICAgICAgICAp Ow0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IEZpbmQgdGhlIHZpZGVvIEJJT1MgYnkgY2hlY2tpbmcgZWFjaCBQQ0kgSU8gaGFuZGxlIGZvciBh biBJbnRlbCB2aWRlbw0KPiArICAvLyBCSU9TIE9QUk9NLg0KPiArICAvLw0KPiArICBmb3IgKElu ZGV4ID0gMDsgSW5kZXggPCBIYW5kbGVDb3VudDsgSW5kZXgrKykgew0KPiArICAgIFN0YXR1cyA9 IGdCUy0+SGFuZGxlUHJvdG9jb2wgKA0KPiArICAgICAgICAgICAgICAgICAgICBIYW5kbGVCdWZm ZXJbSW5kZXhdLA0KPiArICAgICAgICAgICAgICAgICAgICAmZ0VmaVBjaUlvUHJvdG9jb2xHdWlk LA0KPiArICAgICAgICAgICAgICAgICAgICAodm9pZCAqKikmUGNpSW8NCj4gKyAgICAgICAgICAg ICAgICAgICAgKTsNCj4gKyAgICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsg ICAgVkJpb3NSb21JbWFnZSA9IFBjaUlvLT5Sb21JbWFnZTsNCj4gKw0KPiArICAgIC8vDQo+ICsg ICAgLy8gSWYgdGhpcyBQQ0kgZGV2aWNlIGRvZXNuJ3QgaGF2ZSBhIFJPTSBpbWFnZSwgc2tpcCB0 byB0aGUgbmV4dCBkZXZpY2UuDQo+ICsgICAgLy8NCj4gKyAgICBpZiAoIVZCaW9zUm9tSW1hZ2Up IHsNCj4gKyAgICAgIGNvbnRpbnVlOw0KPiArICAgIH0NCj4gKw0KPiArICAgIC8vDQo+ICsgICAg Ly8gR2V0IHBvaW50ZXIgdG8gUENJUiBzdHJ1Y3R1cmUNCj4gKyAgICAvLw0KPiArICAgIFBjaXJC bG9ja1B0ciA9IChJTlRFTF9WQklPU19QQ0lSX1NUUlVDVFVSRSAqKSgoVUlOVDggKikNCj4gVkJp b3NSb21JbWFnZSArIFZCaW9zUm9tSW1hZ2UtPlBjaXJPZmZzZXQpOw0KPiArDQo+ICsgICAgLy8N Cj4gKyAgICAvLyBDaGVjayBpZiB3ZSBoYXZlIGFuIEludGVsIHZpZGVvIEJJT1MgT1BST00uDQo+ ICsgICAgLy8NCj4gKyAgICBpZiAoKFZCaW9zUm9tSW1hZ2UtPlNpZ25hdHVyZSA9PSBPUFRJT05f Uk9NX1NJR05BVFVSRSkgJiYNCj4gKyAgICAgICAgKFBjaXJCbG9ja1B0ci0+VmVuZG9ySWQgPT0g SUdEX1ZJRCkgJiYNCj4gKyAgICAgICAgKFBjaXJCbG9ja1B0ci0+Q2xhc3NDb2RlWzBdID09IDB4 MDApICYmDQo+ICsgICAgICAgIChQY2lyQmxvY2tQdHItPkNsYXNzQ29kZVsxXSA9PSAweDAwKSAm Jg0KPiArICAgICAgICAoUGNpckJsb2NrUHRyLT5DbGFzc0NvZGVbMl0gPT0gMHgwMykNCj4gKyAg ICAgICApIHsNCj4gKyAgICAgIC8vDQo+ICsgICAgICAvLyBGb3VuZCBJbnRlbCB2aWRlbyBCSU9T Lg0KPiArICAgICAgLy8NCj4gKyAgICAgICpWQmlvc0ltYWdlID0gVkJpb3NSb21JbWFnZTsNCj4g KyAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKw0KPiArICAv Lw0KPiArICAvLyBObyBJbnRlbCB2aWRlbyBCSU9TIGZvdW5kLg0KPiArICAvLw0KPiArDQo+ICsg IC8vDQo+ICsgIC8vIEZyZWUgYW55IGFsbG9jYXRlZCBidWZmZXJzDQo+ICsgIC8vDQo+ICsgIHJl dHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK1NlYXJj aENoaWxkSGFuZGxlKA0KPiArICBFRklfSEFORExFIEZhdGhlciwNCj4gKyAgRUZJX0hBTkRMRSAq Q2hpbGQNCj4gKyAgKQ0KPiArew0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgU3RhdHVzOw0K PiArICBVSU5UTiAgICAgICAgICAgICAgICAgSGFuZGxlSW5kZXg7DQo+ICsgIEVGSV9HVUlEICAg ICAgICAgICAgICAqKlByb3RvY29sR3VpZEFycmF5ID0gTlVMTDsNCj4gKyAgVUlOVE4gICAgICAg ICAgICAgICAgIEFycmF5Q291bnQ7DQo+ICsgIFVJTlROICAgICAgICAgICAgICAgICBQcm90b2Nv bEluZGV4Ow0KPiArICBVSU5UTiAgICAgICAgICAgICAgICAgT3BlbkluZm9Db3VudDsNCj4gKyAg VUlOVE4gICAgICAgICAgICAgICAgIE9wZW5JbmZvSW5kZXg7DQo+ICsgIEVGSV9PUEVOX1BST1RP Q09MX0lORk9STUFUSU9OX0VOVFJZICAqT3BlbkluZm8gPSBOVUxMOw0KPiArICBVSU5UTiAgICAg ICAgICAgICAgICAgbUhhbmRsZUNvdW50Ow0KPiArICBFRklfSEFORExFICAgICAgICAgICAgKm1I YW5kbGVCdWZmZXI9IE5VTEw7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmV0cmlldmUgdGhlIGxp c3Qgb2YgYWxsIGhhbmRsZXMgZnJvbSB0aGUgaGFuZGxlIGRhdGFiYXNlDQo+ICsgIC8vDQo+ICsg IFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyICgNCj4gKyAgICAgICAgICAgICAgICAg IEFsbEhhbmRsZXMsDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAg ICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgICZtSGFuZGxlQ291bnQsDQo+ICsgICAg ICAgICAgICAgICAgICAmbUhhbmRsZUJ1ZmZlcg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4g Kw0KPiArICBmb3IgKEhhbmRsZUluZGV4ID0gMDsgSGFuZGxlSW5kZXggPCBtSGFuZGxlQ291bnQ7 IEhhbmRsZUluZGV4KyspIHsNCj4gKyAgICAvLw0KPiArICAgIC8vIFJldHJpZXZlIHRoZSBsaXN0 IG9mIGFsbCB0aGUgcHJvdG9jb2xzIG9uIGVhY2ggaGFuZGxlDQo+ICsgICAgLy8NCj4gKyAgICBT dGF0dXMgPSBnQlMtPlByb3RvY29sc1BlckhhbmRsZSAoDQo+ICsgICAgICAgICAgICAgICAgICAg IG1IYW5kbGVCdWZmZXJbSGFuZGxlSW5kZXhdLA0KPiArICAgICAgICAgICAgICAgICAgICAmUHJv dG9jb2xHdWlkQXJyYXksDQo+ICsgICAgICAgICAgICAgICAgICAgICZBcnJheUNvdW50DQo+ICsg ICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgaWYgKCFFRklfRVJST1IgKFN0YXR1cykpIHsN Cj4gKyAgICAgIGZvciAoUHJvdG9jb2xJbmRleCA9IDA7IFByb3RvY29sSW5kZXggPCBBcnJheUNv dW50OyBQcm90b2NvbEluZGV4KyspIHsNCj4gKyAgICAgICAgU3RhdHVzID0gZ0JTLT5PcGVuUHJv dG9jb2xJbmZvcm1hdGlvbiAoDQo+ICsgICAgICAgICAgICAgICAgICAgICAgICBtSGFuZGxlQnVm ZmVyW0hhbmRsZUluZGV4XSwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIFByb3RvY29sR3Vp ZEFycmF5W1Byb3RvY29sSW5kZXhdLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgJk9wZW5J bmZvLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgJk9wZW5JbmZvQ291bnQNCj4gKyAgICAg ICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgICAgIGlmICghRUZJX0VSUk9SIChTdGF0dXMp KSB7DQo+ICsgICAgICAgICAgZm9yIChPcGVuSW5mb0luZGV4ID0gMDsgT3BlbkluZm9JbmRleCA8 IE9wZW5JbmZvQ291bnQ7DQo+IE9wZW5JbmZvSW5kZXgrKykgew0KPiArICAgICAgICAgICAgaWYo T3BlbkluZm9bT3BlbkluZm9JbmRleF0uQWdlbnRIYW5kbGUgPT0gRmF0aGVyKSB7DQo+ICsgICAg ICAgICAgICAgIGlmICgoT3BlbkluZm9bT3BlbkluZm9JbmRleF0uQXR0cmlidXRlcyAmDQo+IEVG SV9PUEVOX1BST1RPQ09MX0JZX0NISUxEX0NPTlRST0xMRVIpID09DQo+IEVGSV9PUEVOX1BST1RP Q09MX0JZX0NISUxEX0NPTlRST0xMRVIpIHsNCj4gKyAgICAgICAgICAgICAgICAqQ2hpbGQgPSBt SGFuZGxlQnVmZmVyW0hhbmRsZUluZGV4XTsNCj4gKyAgICAgICAgICAgICAgICBTdGF0dXMgPSBF RklfU1VDQ0VTUzsNCj4gKyAgICAgICAgICAgICAgICBnb3RvIFRyeVJldHVybjsNCj4gKyAgICAg ICAgICAgICAgfQ0KPiArICAgICAgICAgICAgfQ0KPiArICAgICAgICAgIH0NCj4gKyAgICAgICAg ICBTdGF0dXMgPSBFRklfTk9UX0ZPVU5EOw0KPiArICAgICAgICB9DQo+ICsgICAgICB9DQo+ICsg ICAgICBpZihPcGVuSW5mbyAhPSBOVUxMKSB7DQo+ICsgICAgICAgIEZyZWVQb29sKE9wZW5JbmZv KTsNCj4gKyAgICAgICAgT3BlbkluZm8gPSBOVUxMOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4g KyAgICBGcmVlUG9vbCAoUHJvdG9jb2xHdWlkQXJyYXkpOw0KPiArICAgIFByb3RvY29sR3VpZEFy cmF5ID0gTlVMTDsNCj4gKyAgfQ0KPiArVHJ5UmV0dXJuOg0KPiArICBpZihPcGVuSW5mbyAhPSBO VUxMKSB7DQo+ICsgICAgRnJlZVBvb2wgKE9wZW5JbmZvKTsNCj4gKyAgICBPcGVuSW5mbyA9IE5V TEw7DQo+ICsgIH0NCj4gKyAgaWYoUHJvdG9jb2xHdWlkQXJyYXkgIT0gTlVMTCkgew0KPiArICAg IEZyZWVQb29sKFByb3RvY29sR3VpZEFycmF5KTsNCj4gKyAgICBQcm90b2NvbEd1aWRBcnJheSA9 IE5VTEw7DQo+ICsgIH0NCj4gKyAgaWYobUhhbmRsZUJ1ZmZlciAhPSBOVUxMKSB7DQo+ICsgICAg RnJlZVBvb2wgKG1IYW5kbGVCdWZmZXIpOw0KPiArICAgIG1IYW5kbGVCdWZmZXIgPSBOVUxMOw0K PiArICB9DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4g K0p1ZGdlSGFuZGxlSXNQQ0lEZXZpY2UoDQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICBIYW5k bGUsDQo+ICsgIFVJTlQ4ICAgICAgICAgICAgICAgICBEZXZpY2UsDQo+ICsgIFVJTlQ4ICAgICAg ICAgICAgICAgICBGdW5zDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAgU3RhdHVzOw0K PiArICBFRklfREVWSUNFX1BBVEggICAqRFBhdGg7DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5I YW5kbGVQcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICBIYW5kbGUsDQo+ICsgICAgICAg ICAgICAgICAgICAmZ0VmaURldmljZVBhdGhQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAg ICAgICAoVk9JRCAqKikgJkRQYXRoDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArICBpZigh RUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICB3aGlsZSghSXNEZXZpY2VQYXRoRW5kKERQYXRo KSkgew0KPiArICAgICAgaWYoKERQYXRoLT5UeXBlID09IEhBUkRXQVJFX0RFVklDRV9QQVRIKSAm JiAoRFBhdGgtPlN1YlR5cGUgPT0NCj4gSFdfUENJX0RQKSkgew0KPiArICAgICAgICBQQ0lfREVW SUNFX1BBVEggICAqUENJUGF0aDsNCj4gKw0KPiArICAgICAgICBQQ0lQYXRoID0gKFBDSV9ERVZJ Q0VfUEFUSCopIERQYXRoOw0KPiArICAgICAgICBEUGF0aCA9IE5leHREZXZpY2VQYXRoTm9kZShE UGF0aCk7DQo+ICsgICAgICAgIGlmKElzRGV2aWNlUGF0aEVuZChEUGF0aCkgJiYgKFBDSVBhdGgt PkRldmljZSA9PSBEZXZpY2UpICYmDQo+IChQQ0lQYXRoLT5GdW5jdGlvbiA9PSBGdW5zKSkgew0K PiArICAgICAgICAgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gKyAgICAgICAgfQ0KPiArICAgICAg fSBlbHNlIHsNCj4gKyAgICAgICAgRFBhdGggPSBOZXh0RGV2aWNlUGF0aE5vZGUoRFBhdGgpOw0K PiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgfQ0KPiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVE Ow0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXREcml2ZXJOYW1lKA0KPiArICBFRklf SEFORExFICAgSGFuZGxlLA0KPiArICBDSEFSMTYgICAgICAgICAqR29wVmVyc2lvbg0KPiArICAp DQo+ICt7DQo+ICsgIEVGSV9EUklWRVJfQklORElOR19QUk9UT0NPTCAgICAgICAgICAgKkJpbmRI YW5kbGUgPSBOVUxMOw0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgICAgICAgICAgICAgICAg IFN0YXR1czsNCj4gKyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBWZXJz aW9uOw0KPiArICBVSU5UMTYgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICpQdHI7DQo+ ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2woDQo+ICsgICAgICAgICAgICAgICAg ICBIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaURyaXZlckJpbmRpbmdQcm90b2Nv bEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCoqKSZCaW5kSGFuZGxlLA0KPiArICAg ICAgICAgICAgICAgICAgTlVMTCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAg ICAgICAgICAgICAgICBFRklfT1BFTl9QUk9UT0NPTF9HRVRfUFJPVE9DT0wNCj4gKyAgICAgICAg ICAgICAgICAgICk7DQo+ICsgIGlmIChFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIHJldHVy biBFRklfTk9UX0ZPVU5EOw0KPiArICB9DQo+ICsNCj4gKyAgVmVyc2lvbiA9IEJpbmRIYW5kbGUt PlZlcnNpb247DQo+ICsgIFB0ciA9IChVSU5UMTYqKSZWZXJzaW9uOw0KPiArICBVbmljb2RlU1By aW50KEdvcFZlcnNpb24sIDQwLCBMIjcuMC4lMDRkIiwgKihQdHIpKTsNCj4gKyAgcmV0dXJuIEVG SV9TVUNDRVNTOw0KPiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtHZXRHT1BEcml2ZXJWZXJz aW9uKA0KPiArICBDSEFSMTYgKkdvcFZlcnNpb24NCj4gKyAgKQ0KPiArew0KPiArICBVSU5UTiAg ICAgICAgICAgICAgICAgSGFuZGxlQ291bnQ7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAq SGFuZGxlcz0gTlVMTDsNCj4gKyAgVUlOVE4gICAgICAgICAgICAgICAgIEluZGV4Ow0KPiArICBF RklfU1RBVFVTICAgICAgICAgICAgU3RhdHVzOw0KPiArICBFRklfSEFORExFICAgICAgICAgICAg Q2hpbGQgPSAwOw0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlSGFuZGxlQnVmZmVyKA0K PiArICAgICAgICAgICAgICAgICAgQnlQcm90b2NvbCwNCj4gKyAgICAgICAgICAgICAgICAgICZn RWZpRHJpdmVyQmluZGluZ1Byb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEws DQo+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlQ291bnQsDQo+ICsgICAgICAgICAgICAgICAg ICAmSGFuZGxlcw0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgZm9yIChJbmRleCA9IDA7 IEluZGV4IDwgSGFuZGxlQ291bnQgOyBJbmRleCsrKSB7DQo+ICsgICAgU3RhdHVzID0gU2VhcmNo Q2hpbGRIYW5kbGUoSGFuZGxlc1tJbmRleF0sICZDaGlsZCk7DQo+ICsgICAgaWYoIUVGSV9FUlJP UihTdGF0dXMpKSB7DQo+ICsgICAgICBTdGF0dXMgPSBKdWRnZUhhbmRsZUlzUENJRGV2aWNlKENo aWxkLCAweDAyLCAweDAwKTsNCj4gKyAgICAgIGlmKCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiAr ICAgICAgICByZXR1cm4gR2V0RHJpdmVyTmFtZShIYW5kbGVzW0luZGV4XSwgR29wVmVyc2lvbik7 DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICB9DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JU RUQ7DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEdldCBJbnRlbCBHT1AgZHJpdmVyIHZl cnNpb24gYW5kIGNvcHkgaXQgaW50byBJR0QgT3BSZWdpb24gR1ZFUi4gVGhpcw0KPiB2ZXJzaW9u DQo+ICsgIGlzIHBpY2tlZCB1cCBieSBJR0QgZHJpdmVyIGFuZCBkaXNwbGF5ZWQgaW4gQ1VJLg0K PiArDQo+ICsgIEBwYXJhbSAgRXZlbnQgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHRoZSBFdmVu dCB0aGF0IHRyaWdnZXJlZCB0aGUgY2FsbGJhY2suDQo+ICsgIEBwYXJhbSAgQ29udGV4dCAgICAg ICAgICAgQSBwb2ludGVyIHRvIHByaXZhdGUgZGF0YSByZWdpc3RlcmVkIHdpdGggdGhlDQo+IGNh bGxiYWNrIGZ1bmN0aW9uLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgVmlk ZW8gQklPUyBWQlQgaW5mb3JtYXRpb24gcmV0dXJuZWQuDQo+ICsgIEByZXR2YWwgRUZJX1VOU1VQ UE9SVEVEICAgQ291bGQgbm90IGZpbmQgVkJUIGluZm9ybWF0aW9uDQo+ICgqVkJpb3NWYnRQdHIg PSBOVUxMKS4NCj4gKw0KPiArKiovDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK1NldEdP UFZlcnNpb25DYWxsYmFjayAoDQo+ICsgIElOIEVGSV9FVkVOVCBFdmVudCwNCj4gKyAgSU4gVk9J RCAgICAgICpDb250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyAgQ0hBUjE2ICAgICAgICAgICAgICAg IEdvcFZlcnNpb25bMTZdID0gezB9Ow0KPiArICBFRklfU1RBVFVTICAgICAgICAgICAgU3RhdHVz Ow0KPiArDQo+ICsgIFN0YXR1cyA9IEdldEdPUERyaXZlclZlcnNpb24oR29wVmVyc2lvbik7DQo+ ICsgIGlmKCFFRklfRVJST1IoU3RhdHVzKSkgew0KPiArICAgIFN0ckNweSgoQ0hBUjE2KikmKG1J Z2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLkdPUFZbMF0pLA0KPiBHb3BWZXJzaW9uKTsNCj4g KyAgICByZXR1cm4gU3RhdHVzOw0KPiArICB9DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7 DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBHZXQgSW50ZWwgdmlkZW8gQklPUyBWQlQgaW5mb3Jt YXRpb24gKGkuZS4gUG9pbnRlciB0byBWQlQgYW5kIFZCVCBzaXplKS4NCj4gKyAgVGhlIFZCVCAo VmlkZW8gQklPUyBUYWJsZSkgaXMgYSBibG9jayBvZiBjdXN0b21pemFibGUgZGF0YSB0aGF0IGlz IGJ1aWx0DQo+ICsgIHdpdGhpbiB0aGUgdmlkZW8gQklPUyBhbmQgZWRpdGVkIGJ5IGN1c3RvbWVy cy4NCj4gKw0KPiArICBAcGFyYW0gIEV2ZW50ICAgICAgICAgICAgIEEgcG9pbnRlciB0byB0aGUg RXZlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGNhbGxiYWNrLg0KPiArICBAcGFyYW0gIENvbnRleHQg ICAgICAgICAgIEEgcG9pbnRlciB0byBwcml2YXRlIGRhdGEgcmVnaXN0ZXJlZCB3aXRoIHRoZQ0K PiBjYWxsYmFjayBmdW5jdGlvbi4NCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICAg IFZpZGVvIEJJT1MgVkJUIGluZm9ybWF0aW9uIHJldHVybmVkLg0KPiArICBAcmV0dmFsIEVGSV9V TlNVUFBPUlRFRCAgIENvdWxkIG5vdCBmaW5kIFZCVCBpbmZvcm1hdGlvbg0KPiAoKlZCaW9zVmJ0 UHRyID0gTlVMTCkuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArR2V0VkJpb3NWYnRD YWxsYmFjayAoDQo+ICsgIElOIEVGSV9FVkVOVCBFdmVudCwNCj4gKyAgSU4gVk9JRCAgICAgICpD b250ZXh0DQo+ICsgICkNCj4gK3sNCj4gKyAgSU5URUxfVkJJT1NfUENJUl9TVFJVQ1RVUkUgICAg KlBjaXJCbG9ja1B0cjsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgUGNpVmVu ZGVySWQ7DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAgICAgICAgICAgIFBjaURldmljZUlkOw0K PiArICBJTlRFTF9WQklPU19PUFRJT05fUk9NX0hFQURFUiAqVkJpb3NQdHI7DQo+ICsgIFZCSU9T X1ZCVF9TVFJVQ1RVUkUgICAgICAgICAgICpWQmlvc1ZidFB0cjsNCj4gKyAgVkJJT1NfVkJUX1NU UlVDVFVSRSAgICAgICAgICAgKlZidEZpbGVCdWZmZXIgPSBOVUxMOw0KPiArDQo+ICsgIFZCaW9z UHRyID0gKElOVEVMX1ZCSU9TX09QVElPTl9ST01fSEVBREVSDQo+ICopKFVJTlROKShWQklPU19M T0NBVElPTl9QUklNQVJZKTsNCj4gKyAgUGNpckJsb2NrUHRyID0gKElOVEVMX1ZCSU9TX1BDSVJf U1RSVUNUVVJFICopKChVSU5UOCAqKVZCaW9zUHRyICsNCj4gVkJpb3NQdHItPlBjaXJPZmZzZXQp Ow0KPiArICBQY2lWZW5kZXJJZCA9IFBjaXJCbG9ja1B0ci0+VmVuZG9ySWQ7DQo+ICsgIFBjaURl dmljZUlkID0gUGNpckJsb2NrUHRyLT5EZXZpY2VJZDsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJ ZiB0aGUgdmlkZW8gQklPUyBpcyBub3QgYXQgMHhDMDAwMCBvciBpdCBpcyBub3QgYW4gSW50ZWwg dmlkZW8gQklPUyBnZXQNCj4gKyAgLy8gdGhlIGludGVncmF0ZWQgSW50ZWwgdmlkZW8gQklPUyAo bXVzdCBiZSB1bmNvbXByZXNzZWQpLg0KPiArICAvLw0KPiArICBpZiAoKFZCaW9zUHRyLT5TaWdu YXR1cmUgIT0gT1BUSU9OX1JPTV9TSUdOQVRVUkUpIHx8IChQY2lWZW5kZXJJZCAhPQ0KPiBJR0Rf VklEKSB8fCAoUGNpRGV2aWNlSWQgIT0gSUdEX0RJRF9WTFYpKSB7DQo+ICsgICAgR2V0SW50ZWdy YXRlZEludGVsVkJpb3NQdHIgKCZWQmlvc1B0cik7DQo+ICsNCj4gKyAgICBpZihWQmlvc1B0cikg ew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIFZpZGVvIEJJT1MgZm91bmQuDQo+ICsgICAgICAv Lw0KPiArICAgICAgUGNpckJsb2NrUHRyID0gKElOVEVMX1ZCSU9TX1BDSVJfU1RSVUNUVVJFICop KChVSU5UOCAqKVZCaW9zUHRyICsNCj4gVkJpb3NQdHItPlBjaXJPZmZzZXQpOw0KPiArICAgICAg UGNpVmVuZGVySWQgPSBQY2lyQmxvY2tQdHItPlZlbmRvcklkOw0KPiArICAgICAgaWYoIChWQmlv c1B0ci0+U2lnbmF0dXJlICE9IE9QVElPTl9ST01fU0lHTkFUVVJFKSB8fA0KPiAoUGNpVmVuZGVy SWQgIT0gSUdEX1ZJRCkpIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gSW50ZWwgdmlk ZW8gQklPUyBub3QgZm91bmQuDQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIFZCaW9zVmJ0UHRy ID0gTlVMTDsNCj4gKyAgICAgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgICAgIH0N Cj4gKyAgICB9IGVsc2Ugew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIE5vIFZpZGVvIEJJT1Mg Zm91bmQsIHRyeSB0byBnZXQgVkJUIGZyb20gRlYuDQo+ICsgICAgICAvLw0KPiArICAgICAgR2V0 SW50ZWdyYXRlZEludGVsVmJ0UHRyICgmVmJ0RmlsZUJ1ZmZlcik7DQo+ICsgICAgICBpZiAoVmJ0 RmlsZUJ1ZmZlciAhPSBOVUxMKSB7DQo+ICsgICAgICAgIC8vDQo+ICsgICAgICAgIC8vIFZpZGVv IEJJT1Mgbm90IGZvdW5kLCB1c2UgVkJUIGZyb20gRlYNCj4gKyAgICAgICAgLy8NCj4gKyAgICAg ICAgREVCVUcgKChFRklfRF9FUlJPUiwgIlZCVCBkYXRhIGZvdW5kXG4iKSk7DQo+ICsgICAgICAg IChnQlMtPkNvcHlNZW0pICgNCj4gKyAgICAgICAgICAgICAgICBtSWdkT3BSZWdpb24uT3BSZWdp b24tPlZCVC5HVkQxLA0KPiArICAgICAgICAgICAgICAgIFZidEZpbGVCdWZmZXIsDQo+ICsgICAg ICAgICAgICAgICAgVmJ0RmlsZUJ1ZmZlci0+SGVhZGVyVmJ0U2l6ZQ0KPiArICAgICAgICAgICAg ICAgICk7DQo+ICsgICAgICAgIEZyZWVQb29sIChWYnRGaWxlQnVmZmVyKTsNCj4gKyAgICAgICAg cmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArICAgICAgfQ0KPiArICAgIH0NCj4gKyAgICBpZiAoKFZC aW9zUHRyID09IE5VTEwpICkgew0KPiArICAgICAgLy8NCj4gKyAgICAgIC8vIEludGVsIHZpZGVv IEJJT1Mgbm90IGZvdW5kLg0KPiArICAgICAgLy8NCj4gKyAgICAgIFZCaW9zVmJ0UHRyID0gTlVM TDsNCj4gKyAgICAgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICsgICAgfQ0KPiArICB9DQo+ ICsNCj4gKyAgREVCVUcgKChFRklfRF9FUlJPUiwgIlZCSU9TIGZvdW5kIGF0IDB4JVhcbiIsIFZC aW9zUHRyKSk7DQo+ICsgIFZCaW9zVmJ0UHRyID0gKFZCSU9TX1ZCVF9TVFJVQ1RVUkUgKikgKChV SU5UOCAqKSBWQmlvc1B0ciArIFZCaW9zUHRyLQ0KPiA+VmJ0T2Zmc2V0KTsNCj4gKw0KPiArICBp ZiAoKCooKFVJTlQzMiAqKSAoVkJpb3NWYnRQdHItPkhlYWRlclNpZ25hdHVyZSkpKSAhPSBWQlRf U0lHTkFUVVJFKSB7DQo+ICsgICAgcmV0dXJuIEVGSV9VTlNVUFBPUlRFRDsNCj4gKyAgfQ0KPiAr DQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUgVmlkZW8gQklPUyB2ZXJzaW9uIHdpdGggaXRz IGJ1aWxkIG51bWJlci4NCj4gKyAgLy8NCj4gKyAgbUlnZE9wUmVnaW9uLk9wUmVnaW9uLT5IZWFk ZXIuVlZFUlswXSA9IFZCaW9zVmJ0UHRyLQ0KPiA+Q29yZUJsb2NrQmlvc0J1aWxkWzBdOw0KPiAr ICBtSWdkT3BSZWdpb24uT3BSZWdpb24tPkhlYWRlci5WVkVSWzFdID0gVkJpb3NWYnRQdHItDQo+ ID5Db3JlQmxvY2tCaW9zQnVpbGRbMV07DQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVh ZGVyLlZWRVJbMl0gPSBWQmlvc1ZidFB0ci0NCj4gPkNvcmVCbG9ja0Jpb3NCdWlsZFsyXTsNCj4g KyAgbUlnZE9wUmVnaW9uLk9wUmVnaW9uLT5IZWFkZXIuVlZFUlszXSA9IFZCaW9zVmJ0UHRyLQ0K PiA+Q29yZUJsb2NrQmlvc0J1aWxkWzNdOw0KPiArICAoZ0JTLT5Db3B5TWVtKSAoDQo+ICsgICAg ICAgICAgbUlnZE9wUmVnaW9uLk9wUmVnaW9uLT5WQlQuR1ZEMSwNCj4gKyAgICAgICAgICBWQmlv c1ZidFB0ciwNCj4gKyAgICAgICAgICBWQmlvc1ZidFB0ci0+SGVhZGVyVmJ0U2l6ZQ0KPiArICAg ICAgICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gUmV0dXJuIGZpbmFsIHN0YXR1cw0KPiAr ICAvLw0KPiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBH cmFwaGljcyBPcFJlZ2lvbiAvIFNvZnR3YXJlIFNDSSBkcml2ZXIgaW5zdGFsbGF0aW9uIGZ1bmN0 aW9uLg0KPiArDQo+ICsgIEBwYXJhbSBJbWFnZUhhbmRsZSAgICAgSGFuZGxlIGZvciB0aGlzIGRy aXZlcnMgbG9hZGVkIGltYWdlIHByb3RvY29sLg0KPiArICBAcGFyYW0gU3lzdGVtVGFibGUgICAg IEVGSSBzeXN0ZW0gdGFibGUuDQo+ICsNCj4gKyAgQHJldHZhbCBFRklfU1VDQ0VTUyAgICBUaGUg ZHJpdmVyIGluc3RhbGxlZCB3aXRob3V0IGVycm9yLg0KPiArICBAcmV0dmFsIEVGSV9BQk9SVEVE ICAgIFRoZSBkcml2ZXIgZW5jb3VudGVyZWQgYW4gZXJyb3IgYW5kIGNvdWxkIG5vdA0KPiBjb21w bGV0ZQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgIGluc3RhbGxhdGlvbiBvZiB0aGUgQUNQ SSB0YWJsZXMuDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArSWdkT3BSZWdpb25Jbml0 ICgNCj4gKyAgdm9pZA0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9IQU5ETEUgICAgICAgICAgICAg ICAgICAgIEhhbmRsZTsNCj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgU3RhdHVz Ow0KPiArICBFRklfR0xPQkFMX05WU19BUkVBX1BST1RPQ09MICAqR2xvYmFsTnZzQXJlYTsNCj4g KyAgVUlOVDMyICAgICAgICAgICAgICAgICAgICAgICAgRHdvcmREYXRhOw0KPiArICBFRklfQ1BV X0lPX1BST1RPQ09MICAgICAgICAgICAqQ3B1SW87DQo+ICsgIFVJTlQxNiAgICAgICAgICAgICAg ICAgICAgICAgIERhdGExNjsNCj4gKyAgVUlOVDE2ICAgICAgICAgICAgICAgICAgICAgICAgQWNw aUJhc2U7DQo+ICsgIFZPSUQgICAgICAgICAgICAgICAgICAgICAgICAgICpnQ29uT3V0Tm90aWZ5 UmVnOw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gIExvY2F0ZSB0aGUgR2xvYmFsIE5WUyBQ cm90b2NvbC4NCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Mb2NhdGVQcm90b2NvbCAoDQo+ ICsgICAgICAgICAgICAgICAgICAmZ0VmaUdsb2JhbE52c0FyZWFQcm90b2NvbEd1aWQsDQo+ICsg ICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgKHZvaWQgKiopJkds b2JhbE52c0FyZWENCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJS T1IgKFN0YXR1cyk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gQWxsb2NhdGUgYW4gQUNQSSBOVlMg bWVtb3J5IGJ1ZmZlciBhcyB0aGUgSUdEIE9wUmVnaW9uLCB6ZXJvIGluaXRpYWxpemUNCj4gKyAg Ly8gdGhlIGZpcnN0IDFLLCBhbmQgc2V0IHRoZSBJR0QgT3BSZWdpb24gcG9pbnRlciBpbiB0aGUg R2xvYmFsIE5WUw0KPiArICAvLyBhcmVhIHN0cnVjdHVyZS4NCj4gKyAgLy8NCj4gKyAgU3RhdHVz ID0gKGdCUy0+QWxsb2NhdGVQb29sKSAoDQo+ICsgICAgICAgICAgICAgICAgICAgRWZpQUNQSU1l bW9yeU5WUywNCj4gKyAgICAgICAgICAgICAgICAgICBzaXplb2YgKElHRF9PUFJFR0lPTl9TVFJV QyksDQo+ICsgICAgICAgICAgICAgICAgICAodm9pZCAqKikmbUlnZE9wUmVnaW9uLk9wUmVnaW9u DQo+ICsgICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgQVNTRVJUX0VGSV9FUlJPUiAoU3RhdHVz KTsNCj4gKyAgKGdCUy0+U2V0TWVtKSAoDQo+ICsgICAgICAgICAgbUlnZE9wUmVnaW9uLk9wUmVn aW9uLA0KPiArICAgICAgICAgIHNpemVvZiAoSUdEX09QUkVHSU9OX1NUUlVDKSwNCj4gKyAgICAg ICAgICAwDQo+ICsgICAgICAgICAgKTsNCj4gKyAgR2xvYmFsTnZzQXJlYS0+QXJlYS0+SWdkT3BS ZWdpb25BZGRyZXNzID0NCj4gKFVJTlQzMikoVUlOVE4pKG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbik7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSWYgSUdEIGlzIGRpc2FibGVkIHJldHVybg0KPiArICAv Lw0KPiArICBpZiAoSWdkTW1QY2kzMiAoMCkgPT0gMHhGRkZGRkZGRikgew0KPiArICAgIHJldHVy biBFRklfU1VDQ0VTUzsNCj4gKyAgfQ0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEluaXRpYWxpemUg T3BSZWdpb24gSGVhZGVyDQo+ICsgIC8vDQo+ICsNCj4gKyAgKGdCUy0+Q29weU1lbSkgKA0KPiAr ICAgICAgICAgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLlNJR04sDQo+ICsgICAgICAg ICAgSEVBREVSX1NJR05BVFVSRSwNCj4gKyAgICAgICAgICBzaXplb2YoSEVBREVSX1NJR05BVFVS RSkNCj4gKyAgICAgICAgICApOw0KPiArDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0IE9wUmVn aW9uIFNpemUgaW4gS0JzDQo+ICsgIC8vDQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVh ZGVyLlNJWkUgPSBIRUFERVJfU0laRS8xMDI0Ow0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEZJWE1F OiBOZWVkIHRvIGNoZWNrIEhlYWRlciBPVkVSIEZpZWxkIGFuZCB0aGUgc3VwcG9ydGVkIHZlcnNp b24uDQo+ICsgIC8vDQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLk9WRVIgPSAo VUlOVDMyKSAoTFNoaWZ0VTY0DQo+IChIRUFERVJfT1BSRUdJT05fVkVSLCAxNikgKyBMU2hpZnRV NjQgKEhFQURFUl9PUFJFR0lPTl9SRVYsIDgpKTsNCj4gKyNpZmRlZiBFQ1BfRkxBRw0KPiArICBD b3B5TWVtKG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLlNWRVIsIGdTVkVSLA0KPiBzaXpl b2YoZ1NWRVIpKTsNCj4gKyNlbHNlDQo+ICsgIGdCUy0+Q29weU1lbSgNCj4gKyAgICAgICAgIG1J Z2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLlNWRVIsDQo+ICsgICAgICAgICBnU1ZFUiwNCj4g KyAgICAgICAgIHNpemVvZihnU1ZFUikNCj4gKyAgICAgICAgICk7DQo+ICsjZW5kaWYNCj4gKyAg REVCVUcgKChFRklfRF9FUlJPUiwgIlN5c3RlbSBCSU9TIElEIGlzICVhXG4iLA0KPiBtSWdkT3BS ZWdpb24uT3BSZWdpb24tPkhlYWRlci5TVkVSKSk7DQo+ICsNCj4gKw0KPiArICBtSWdkT3BSZWdp b24uT3BSZWdpb24tPkhlYWRlci5NQk9YID0gSEVBREVSX01CT1hfU1VQUE9SVDsNCj4gKw0KPiAr ICBpZiggMSA9PSBEeGVQbGF0Zm9ybVNhUG9saWN5LT5JZGxlUmVzZXJ2ZSkgew0KPiArICAgIG1J Z2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLlBDT04gPSAobUlnZE9wUmVnaW9uLk9wUmVnaW9u LQ0KPiA+SGVhZGVyLlBDT04gJiAweEZGRkMpIHwgQklUMTsNCj4gKyAgfSBlbHNlIHsNCj4gKyAg ICBtSWdkT3BSZWdpb24uT3BSZWdpb24tPkhlYWRlci5QQ09OID0gKG1JZ2RPcFJlZ2lvbi5PcFJl Z2lvbi0NCj4gPkhlYWRlci5QQ09OICYgMHhGRkZDKSB8IChCSVQxIHwgQklUMCk7DQo+ICsgIH0N Cj4gKw0KPiArICAvLw0KPiArICAvL0ZvciBncmFwaGljcyBkcml2ZXIgdG8gaWRlbnRpZnkgaWYg TFBFIEF1ZGlvL0hEIEF1ZGlvIGlzIGVuYWJsZWQgb24gdGhlDQo+IHBsYXRmb3JtDQo+ICsgIC8v DQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLlBDT04gJj0NCj4gQVVESU9fVFlQ RV9TVVBQT1JUX01BU0s7DQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+SGVhZGVyLlBDT04g Jj0gQVVESU9fVFlQRV9GSUVMRF9NQVNLOw0KPiArICBpZiAoIDEgPT0gRHhlUGxhdGZvcm1TYVBv bGljeS0+QXVkaW9UeXBlU3VwcG9ydCApIHsNCj4gKyAgICBtSWdkT3BSZWdpb24uT3BSZWdpb24t PkhlYWRlci5QQ09OID0gSERfQVVESU9fU1VQUE9SVDsNCj4gKyAgICBtSWdkT3BSZWdpb24uT3BS ZWdpb24tPkhlYWRlci5QQ09OIHw9IEFVRElPX1RZUEVfRklFTERfVkFMSUQ7DQo+ICsgIH0NCj4g Kw0KPiArICAvLw0KPiArICAvLyBJbml0aWFsaXplIE9wUmVnaW9uIE1haWxib3ggMSAoUHVibGlj IEFDUEkgTWV0aG9kcykuDQo+ICsgIC8vDQo+ICsgIC8vPFRPRE8+IFRoZSBpbml0aWFsIHNldHRp bmcgb2YgbWFpbGJveCAxIGZpZWxkcyBpcyBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4NCj4gKyAg Ly8gQWRqdXN0IHRoZW0gYXMgbmVlZGVkIG1hbnkgZXZlbiBjb21pbmcgZnJvbSB1c2VyIHNldHRp bmcgaW4gc2V0dXAuDQo+ICsgIC8vDQo+ICsgIC8vV29ya2Fyb3VuZCB0byBzb2x2ZSBMVkRTIGlz IG9mZiBhZnRlciBlbnRlcmluZyBPUyBpbiBkZXNrdG9wIHBsYXRmb3JtDQo+ICsgIC8vDQo+ICsg IG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+TUJveDEuQ0xJRCA9IER4ZVBsYXRmb3JtU2FQb2xpY3kt DQo+ID5JZ2RQYW5lbEZlYXR1cmVzLkxpZFN0YXR1czsNCj4gKw0KPiArICAvLw0KPiArICAvLyBJ bml0aWFsaXplIE9wUmVnaW9uIE1haWxib3ggMyAoQVNMRSBJbnRlcnJ1cHQgYW5kIFBvd2VyIENv bnNlcnZhdGlvbikuDQo+ICsgIC8vDQo+ICsgIC8vPFRPRE8+IFRoZSBpbml0aWFsIHNldHRpbmcg b2YgbWFpbGJveCAzIGZpZWxkcyBpcyBpbXBsZW1lbnRhdGlvbiBzcGVjaWZpYy4NCj4gKyAgLy8g QWRqdXN0IHRoZW0gYXMgbmVlZGVkIG1hbnkgZXZlbiBjb21pbmcgZnJvbSB1c2VyIHNldHRpbmcg aW4gc2V0dXAuDQo+ICsgIC8vDQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRG8gbm90IGluaXRpYWxp emUgVENIRS4gVGhpcyBmaWVsZCBpcyB3cml0dGVuIGJ5IHRoZSBncmFwaGljcyBkcml2ZXIgb25s eS4NCj4gKyAgLy8NCj4gKw0KPiArICAvLw0KPiArICAvLyBUaGUgQUxTSSBmaWVsZCBpcyBnZW5l cmFsbHkgaW5pdGlhbGl6ZWQgYnkgQVNMIGNvZGUgYnkgcmVhZGluZyB0aGUNCj4gZW1iZWRkZWQg Y29udHJvbGxlci4NCj4gKyAgLy8NCj4gKw0KPiArICBtSWdkT3BSZWdpb24uT3BSZWdpb24tPk1C b3gzLkJDTFAgPSBCQUNLTElHSFRfQlJJR0hUTkVTUzsNCj4gKw0KPiArICBtSWdkT3BSZWdpb24u T3BSZWdpb24tPk1Cb3gzLlBGSVQgPSAoRklFTERfVkFMSURfQklUIHwNCj4gUEZJVF9TVFJFVENI KTsNCj4gKyAgaWYgKCBEeGVQbGF0Zm9ybVNhUG9saWN5LT5JZ2RQYW5lbEZlYXR1cmVzLlBGSVRT dGF0dXMgPT0gMikgew0KPiArICAJLy8NCj4gKyAgICAvLyBDZW50ZXINCj4gKyAgICAvLw0KPiAr ICAgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+TUJveDMuUEZJVCA9IChGSUVMRF9WQUxJRF9CSVQg fA0KPiBQRklUX0NFTlRFUik7DQo+ICsgIH0gZWxzZSBpZiAoRHhlUGxhdGZvcm1TYVBvbGljeS0+ SWdkUGFuZWxGZWF0dXJlcy5QRklUU3RhdHVzID09IDEpIHsNCj4gKyAgCS8vDQo+ICsgICAgLy8g U3RyZXRjaA0KPiArICAgIC8vDQo+ICsgICAgbUlnZE9wUmVnaW9uLk9wUmVnaW9uLT5NQm94My5Q RklUID0gKEZJRUxEX1ZBTElEX0JJVCB8DQo+IFBGSVRfU1RSRVRDSCk7DQo+ICsgIH0gZWxzZSB7 DQo+ICsgIAkvLw0KPiArICAgIC8vIEF1dG8NCj4gKyAgICAvLw0KPiArICAgIG1JZ2RPcFJlZ2lv bi5PcFJlZ2lvbi0+TUJveDMuUEZJVCA9IChGSUVMRF9WQUxJRF9CSVQgfA0KPiBQRklUX1NFVFVQ X0FVVE8pOw0KPiArICB9DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gU2V0IEluaXRpYWwgY3VycmVu dCBCcmlnaHRuZXNzDQo+ICsgIC8vDQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+TUJveDMu Q0JMViA9IChJTklUX0JSSUdIVF9MRVZFTCB8DQo+IEZJRUxEX1ZBTElEX0JJVCk7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gPEVYQU1QTEU+IENyZWF0ZSBhIHN0YXRpYyBCYWNrbGlnaHQgQnJpZ2h0 bmVzcyBMZXZlbCBEdXR5IGN5Y2xlDQo+IE1hcHBpbmcgVGFibGUNCj4gKyAgLy8gUG9zc2libGUg MjAgZW50cmllcyAoZXhhbXBsZSB1c2VkIDEwKSwgZWFjaCAxNiBiaXRzIGFzIGZvbGxvd3M6DQo+ ICsgIC8vIFsxNV0gPSBGaWVsZCBWYWxpZCBiaXQsIFsxNDowOF0gPSBMZXZlbCBpbiBQZXJjZW50 YWdlICgwLTY0aCksIFswNzowMF0gPQ0KPiBEZXNpcmVkIGR1dHkgY3ljbGUgKDAgLSBGRmgpLg0K PiArICAvLw0KPiArICAvLyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICUgICAgICAgICAgICBCcmlnaHRuZXNzDQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+ TUJveDMuQkNMTVswXSAgID0gKCAoICAwIDw8IDggKSArICggMHhGRiAtIDB4RkMgKQ0KPiArIFdP UkRfRklFTERfVkFMSURfQklUKTsNCj4gKyAgbUlnZE9wUmVnaW9uLk9wUmVnaW9uLT5NQm94My5C Q0xNWzFdICAgPSAoICggIDEgPDwgOCApICsgKCAweEZGIC0gMHhGQyApDQo+ICsgV09SRF9GSUVM RF9WQUxJRF9CSVQpOw0KPiArICBtSWdkT3BSZWdpb24uT3BSZWdpb24tPk1Cb3gzLkJDTE1bMl0g ICA9ICggKCAxMCA8PCA4ICkgKyAoIDB4RkYgLSAweEU1ICkNCj4gKyBXT1JEX0ZJRUxEX1ZBTElE X0JJVCk7DQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+TUJveDMuQkNMTVszXSAgID0gKCAo IDE5IDw8IDggKSArICggMHhGRiAtIDB4Q0UgKQ0KPiArIFdPUkRfRklFTERfVkFMSURfQklUKTsN Cj4gKyAgbUlnZE9wUmVnaW9uLk9wUmVnaW9uLT5NQm94My5CQ0xNWzRdICAgPSAoICggMjggPDwg OCApICsgKCAweEZGIC0gMHhCNyApDQo+ICsgV09SRF9GSUVMRF9WQUxJRF9CSVQpOw0KPiArICBt SWdkT3BSZWdpb24uT3BSZWdpb24tPk1Cb3gzLkJDTE1bNV0gICA9ICggKCAzNyA8PCA4ICkgKyAo IDB4RkYgLSAweEEwICkNCj4gKyBXT1JEX0ZJRUxEX1ZBTElEX0JJVCk7DQo+ICsgIG1JZ2RPcFJl Z2lvbi5PcFJlZ2lvbi0+TUJveDMuQkNMTVs2XSAgID0gKCAoIDQ2IDw8IDggKSArICggMHhGRiAt IDB4ODkgKQ0KPiArIFdPUkRfRklFTERfVkFMSURfQklUKTsNCj4gKyAgbUlnZE9wUmVnaW9uLk9w UmVnaW9uLT5NQm94My5CQ0xNWzddICAgPSAoICggNTUgPDwgOCApICsgKCAweEZGIC0gMHg3MiAp DQo+ICsgV09SRF9GSUVMRF9WQUxJRF9CSVQpOw0KPiArICBtSWdkT3BSZWdpb24uT3BSZWdpb24t Pk1Cb3gzLkJDTE1bOF0gICA9ICggKCA2NCA8PCA4ICkgKyAoIDB4RkYgLSAweDVCICkNCj4gKyBX T1JEX0ZJRUxEX1ZBTElEX0JJVCk7DQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+TUJveDMu QkNMTVs5XSAgID0gKCAoIDczIDw8IDggKSArICggMHhGRiAtIDB4NDQgKQ0KPiArIFdPUkRfRklF TERfVkFMSURfQklUKTsNCj4gKyAgbUlnZE9wUmVnaW9uLk9wUmVnaW9uLT5NQm94My5CQ0xNWzEw XSAgPSAoICggODIgPDwgOCApICsgKCAweEZGIC0gMHgyRCApDQo+ICsgV09SRF9GSUVMRF9WQUxJ RF9CSVQpOw0KPiArICBtSWdkT3BSZWdpb24uT3BSZWdpb24tPk1Cb3gzLkJDTE1bMTFdICA9ICgg KCA5MSA8PCA4ICkgKyAoIDB4RkYgLSAweDE2ICkNCj4gKyBXT1JEX0ZJRUxEX1ZBTElEX0JJVCk7 DQo+ICsgIG1JZ2RPcFJlZ2lvbi5PcFJlZ2lvbi0+TUJveDMuQkNMTVsxMl0gID0gKCAoMTAwIDw8 IDggKSArICggMHhGRiAtIDB4MDAgKQ0KPiArIFdPUkRfRklFTERfVkFMSURfQklUKTsNCj4gKw0K PiArICBtSWdkT3BSZWdpb24uT3BSZWdpb24tPk1Cb3gzLlBDRlQgPSAoKFVJTlQzMikgR2xvYmFs TnZzQXJlYS0NCj4gPkFyZWEtPklnZFBvd2VyQ29uc2VydmF0aW9uKSB8IEJJVDMxOw0KPiArICAv Lw0KPiArICAvLyBDcmVhdGUgdGhlIG5vdGlmaWNhdGlvbiBhbmQgcmVnaXN0ZXIgY2FsbGJhY2sg ZnVuY3Rpb24gb24gdGhlIFBjaUlvDQo+IGluc3RhbGxhdGlvbiwNCj4gKyAgLy8NCj4gKyAgLy8N Cj4gKyAgU3RhdHVzID0gZ0JTLT5DcmVhdGVFdmVudCAoDQo+ICsgICAgICAgICAgICAgICAgICBF VlRfTk9USUZZX1NJR05BTCwNCj4gKyAgICAgICAgICAgICAgICAgIFRQTF9DQUxMQkFDSywNCj4g KyAgICAgICAgICAgICAgICAgIChFRklfRVZFTlRfTk9USUZZKUdldFZCaW9zVmJ0Q2FsbGJhY2ss DQo+ICsgICAgICAgICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJm1Db25P dXRFdmVudA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICBBU1NFUlRfRUZJX0VS Uk9SIChTdGF0dXMpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0 dXJuIFN0YXR1czsNCj4gKw0KPiArICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gZ0JTLT5SZWdpc3Rl clByb3RvY29sTm90aWZ5ICgNCj4gKyNpZmRlZiBFQ1BfRkxBRw0KPiArICAgICAgICAgICAgICAg ICAgJmdFeGl0UG1BdXRoUHJvdG9jb2xHdWlkLA0KPiArI2Vsc2UNCj4gKyAgICAgICAgICAgICAg ICAgICZnRWZpRHhlU21tUmVhZHlUb0xvY2tQcm90b2NvbEd1aWQsDQo+ICsjZW5kaWYNCj4gKyAg ICAgICAgICAgICAgICAgIG1Db25PdXRFdmVudCwNCj4gKyAgICAgICAgICAgICAgICAgICZnQ29u T3V0Tm90aWZ5UmVnDQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIFN0YXR1cyA9 IGdCUy0+Q3JlYXRlRXZlbnQgKA0KPiArICAgICAgICAgICAgICAgICAgRVZUX05PVElGWV9TSUdO QUwsDQo+ICsgICAgICAgICAgICAgICAgICBUUExfQ0FMTEJBQ0ssDQo+ICsgICAgICAgICAgICAg ICAgICAoRUZJX0VWRU5UX05PVElGWSlTZXRHT1BWZXJzaW9uQ2FsbGJhY2ssDQo+ICsgICAgICAg ICAgICAgICAgICBOVUxMLA0KPiArICAgICAgICAgICAgICAgICAgJm1TZXRHT1B2ZXJFdmVudA0K PiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0 dXMpOw0KPiArICBpZiAoRUZJX0VSUk9SIChTdGF0dXMpKSB7DQo+ICsgICAgcmV0dXJuIFN0YXR1 czsNCj4gKyAgfQ0KPiArDQo+ICsgIFN0YXR1cyA9IGdCUy0+UmVnaXN0ZXJQcm90b2NvbE5vdGlm eSAoDQo+ICsgICAgICAgICAgICAgICAgICAmZ0VmaUdyYXBoaWNzT3V0cHV0UHJvdG9jb2xHdWlk LA0KPiArICAgICAgICAgICAgICAgICAgbVNldEdPUHZlckV2ZW50LA0KPiArICAgICAgICAgICAg ICAgICAgJmdDb25PdXROb3RpZnlSZWcNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBJbml0aWFsaXplIGhhcmR3YXJlIHN0YXRlOg0KPiArICAvLyAg IFNldCBBU0xTIFJlZ2lzdGVyIHRvIHRoZSBPcFJlZ2lvbiBwaHlzaWNhbCBtZW1vcnkgYWRkcmVz cy4NCj4gKyAgLy8gICBTZXQgU1dTQ0kgcmVnaXN0ZXIgYml0IDE1IHRvIGEgIjEiIHRvIGFjdGl2 YXRlIFNDSSBpbnRlcnJ1cHRzLg0KPiArICAvLw0KPiArDQo+ICsgIElnZE1tUGNpMzIgKElHRF9B U0xTX09GRlNFVCkgPQ0KPiAoVUlOVDMyKShVSU5UTikobUlnZE9wUmVnaW9uLk9wUmVnaW9uKTsN Cj4gKyAgSWdkTW1QY2kxNkFuZFRoZW5PciAoSUdEX1NXU0NJX09GRlNFVCwgfihCSVQwKSwgQklU MTUpOw0KPiArDQo+ICsgIER3b3JkRGF0YSA9IElnZE1tUGNpMzIgKElHRF9BU0xTX09GRlNFVCk7 DQo+ICsgIFMzQm9vdFNjcmlwdFNhdmVQY2lDZmdXcml0ZSAoDQo+ICsgICAgUzNCb290U2NyaXB0 V2lkdGhVaW50MzIsDQo+ICsgICAgKFVJTlROKSAoRUZJX1BDSV9BRERSRVNTICAoSUdEX0JVUywg SUdEX0RFViwgSUdEX0ZVTl8wLA0KPiBJR0RfQVNMU19PRkZTRVQpKSwNCj4gKyAgICAxLA0KPiAr ICAgICZEd29yZERhdGENCj4gKyAgICApOw0KPiArDQo+ICsNCj4gKyAgRHdvcmREYXRhID0gSWdk TW1QY2kzMiAoSUdEX1NXU0NJX09GRlNFVCk7DQo+ICsgIFMzQm9vdFNjcmlwdFNhdmVQY2lDZmdX cml0ZSAoDQo+ICsgICAgUzNCb290U2NyaXB0V2lkdGhVaW50MzIsDQo+ICsgICAgKFVJTlROKSAo RUZJX1BDSV9BRERSRVNTICAoSUdEX0JVUywgSUdEX0RFViwgSUdEX0ZVTl8wLA0KPiBJR0RfU1dT Q0lfT0ZGU0VUKSksDQo+ICsgICAgMSwNCj4gKyAgICAmRHdvcmREYXRhDQo+ICsgICAgKTsNCj4g Kw0KPiArICBBY3BpQmFzZSA9ICBNbVBjaTE2ICgNCj4gKyAgICAgICAgICAgICAgICAwLA0KPiAr ICAgICAgICAgICAgICAgIERFRkFVTFRfUENJX0JVU19OVU1CRVJfUENILA0KPiArICAgICAgICAg ICAgICAgIFBDSV9ERVZJQ0VfTlVNQkVSX1BDSF9MUEMsDQo+ICsgICAgICAgICAgICAgICAgUENJ X0ZVTkNUSU9OX05VTUJFUl9QQ0hfTFBDLA0KPiArICAgICAgICAgICAgICAgIFJfUENIX0xQQ19B Q1BJX0JBU0UNCj4gKyAgICAgICAgICAgICAgICApICYgQl9QQ0hfTFBDX0FDUElfQkFTRV9CQVI7 DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRmluZCB0aGUgQ1BVIEkvTyBQcm90b2NvbC4gIEFTU0VS VCBpZiBub3QgZm91bmQuDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+TG9jYXRlUHJvdG9j b2wgKA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlDcHVJb1Byb3RvY29sR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAodm9pZCAqKikmQ3B1 SW8NCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1 cyk7DQo+ICsNCj4gKyAgQ3B1SW8tPklvLlJlYWQgKA0KPiArICAgICAgICAgICAgICBDcHVJbywN Cj4gKyAgICAgICAgICAgICAgRWZpQ3B1SW9XaWR0aFVpbnQxNiwNCj4gKyAgICAgICAgICAgICAg QWNwaUJhc2UgKyBSX1BDSF9BQ1BJX0dQRTBhX1NUUywNCj4gKyAgICAgICAgICAgICAgMSwNCj4g KyAgICAgICAgICAgICAgJkRhdGExNg0KPiArICAgICAgICAgICAgICApOw0KPiArICAvLw0KPiAr ICAvLyBDbGVhciB0aGUgQl9QQ0hfQUNQSV9HUEUwYV9TVFNfR1VOSVRfU0NJIGJpdCBpbg0KPiBS X1BDSF9BQ1BJX0dQRTBhX1NUUyBieSB3cml0aW5nIGEgJzEnLg0KPiArICAvLw0KPiArICBEYXRh MTYgfD0gQl9QQ0hfQUNQSV9HUEUwYV9TVFNfR1VOSVRfU0NJOw0KPiArDQo+ICsgIENwdUlvLT5J by5Xcml0ZSAoDQo+ICsgICAgICAgICAgICAgIENwdUlvLA0KPiArICAgICAgICAgICAgICBFZmlD cHVJb1dpZHRoVWludDE2LA0KPiArICAgICAgICAgICAgICBBY3BpQmFzZSArIFJfUENIX0FDUElf R1BFMGFfU1RTLA0KPiArICAgICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAmRGF0YTE2 DQo+ICsgICAgICAgICAgICAgICk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gSW5zdGFsbCBPcFJl Z2lvbiAvIFNvZnR3YXJlIFNDSSBwcm90b2NvbA0KPiArICAvLw0KPiArICBIYW5kbGUgPSBOVUxM Ow0KPiArICBTdGF0dXMgPSBnQlMtPkluc3RhbGxNdWx0aXBsZVByb3RvY29sSW50ZXJmYWNlcyAo DQo+ICsgICAgICAgICAgICAgICAgICAmSGFuZGxlLA0KPiArICAgICAgICAgICAgICAgICAgJmdJ Z2RPcFJlZ2lvblByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgICZtSWdkT3BSZWdp b24sDQo+ICsgICAgICAgICAgICAgICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICApOw0K PiArICBBU1NFUlRfRUZJX0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIFJl dHVybiBmaW5hbCBzdGF0dXMNCj4gKyAgLy8NCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiAr fQ0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVmx2 UGxhdGZvcm1Jbml0RHhlL0lnZE9wUmVnaW9uLmgNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJs dERldmljZVBrZy9WbHZQbGF0Zm9ybUluaXREeGUvSWdkT3BSZWdpb24uaA0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5jZDFkMjA4ZDYxDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVmx2UGxhdGZvcm1J bml0RHhlL0lnZE9wUmVnaW9uLmgNCj4gQEAgLTAsMCArMSwyMzUgQEANCj4gKw0KPiArLyorKw0K PiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBB bGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVy OiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUg TmFtZToNCj4gKw0KPiArICBJZ2RPcFJlZ2lvbi5oDQo+ICsNCj4gK0Fic3RyYWN0Og0KPiArDQo+ ICsgIFRoaXMgaXMgcGFydCBvZiB0aGUgaW1wbGVtZW50YXRpb24gb2YgYW4gSW50ZWwgR3JhcGhp Y3MgZHJpdmVycyBPcFJlZ2lvbiAvDQo+ICsgIFNvZnR3YXJlIFNDSSBpbnRlcmZhY2UgYmV0d2Vl biBzeXN0ZW0gQklPUywgQVNMIGNvZGUsIGFuZCBHcmFwaGljcw0KPiBkcml2ZXJzLg0KPiArDQo+ ICsgIFN1cHBvcnRpbmcgU3BlY2lmaWN0aW9uOiBPcFJlZ2lvbiAvIFNvZnR3YXJlIFNDSSBTUEVD IDAuNzANCj4gKw0KPiArICBBY3JvbnltczoNCj4gKyAgICBJR0Q6ICAgICAgICBJbnRlcm5hbCBH cmFwaGljcyBEZXZpY2UNCj4gKyAgICBOVlM6ICAgICAgICBBQ1BJIE5vbiBWb2xhdGlsZSBTdG9y YWdlDQo+ICsgICAgT3BSZWdpb246ICAgQUNQSSBPcGVyYXRpb25hbCBSZWdpb24NCj4gKyAgICBW QlQ6ICAgICAgICBWaWRlbyBCSU9TIFRhYmxlIChPRU0gY3VzdG9taXphYmxlIGRhdGEpDQo+ICsN Cj4gKy0tKi8NCj4gKw0KPiArI2lmbmRlZiBfSUdEX09QUkVHSU9OX0hfDQo+ICsjZGVmaW5lIF9J R0RfT1BSRUdJT05fSF8NCj4gKw0KPiArLy8NCj4gKy8vIFN0YXRlbWVudHMgdGhhdCBpbmNsdWRl IG90aGVyIGhlYWRlciBmaWxlcy4NCj4gKy8vDQo+ICsjaW5jbHVkZSAiVmx2UGxhdGZvcm1Jbml0 LmgiDQo+ICsjaW5jbHVkZSAiVmx2Q29tbW9uRGVmaW5pdGlvbnMuaCINCj4gKyNpbmNsdWRlIDxV ZWZpL1VlZmlJbnRlcm5hbEZvcm1SZXByZXNlbnRhdGlvbi5oPg0KPiArI2luY2x1ZGUgPEZyYW1l d29ya0R4ZS5oPg0KPiArDQo+ICsvLw0KPiArLy8NCj4gKy8vIE9wUmVnaW9uIChNaXNjZWxsYW5l b3VzKSAjZGVmaW5lcy4NCj4gKy8vDQo+ICsvLyBPcFJlZ2lvbiBIZWFkZXIgI2RlZmluZXMuDQo+ ICsvLw0KPiArDQo+ICsjZGVmaW5lIEhFQURFUl9TSUdOQVRVUkUgICAgIkludGVsR3JhcGhpY3NN ZW0iDQo+ICsjZGVmaW5lIEhFQURFUl9TSVpFICAgICAgICAgMHgyMDAwDQo+ICsjZGVmaW5lIEhF QURFUl9PUFJFR0lPTl9WRVIgMHgwMjAwDQo+ICsjZGVmaW5lIEhFQURFUl9PUFJFR0lPTl9SRVYg MHgwMA0KPiArDQo+ICsvLw0KPiArLy9Gb3IgVkxWIFRhYmxldCwgTWFpbEJPWDIoU0NJKWlzIG5v dCBzdXBwb3J0ZWQuDQo+ICsvLw0KPiArI2RlZmluZSBIRUFERVJfTUJPWF9TVVBQT1JUIChIRF9N Qk9YNCArIEhEX01CT1gzICsNCj4gSERfTUJPWDEpDQo+ICsjZGVmaW5lIEhEX01CT1gxICAgICAg ICAgICAgQklUMA0KPiArI2RlZmluZSBIRF9NQk9YMiAgICAgICAgICAgIEJJVDENCj4gKyNkZWZp bmUgSERfTUJPWDMgICAgICAgICAgICBCSVQyDQo+ICsjZGVmaW5lIEhEX01CT1g0ICAgICAgICAg ICAgQklUMw0KPiArI2RlZmluZSBIRF9NQk9YNSAgICAgICAgICAgIEJJVDQNCj4gKyNkZWZpbmUg U1ZFUl9TSVpFICAgICAgICAgICAzMg0KPiArDQo+ICsvLw0KPiArLy9BdWRpbyBUeXBlIHN1cHBv cnQgZm9yIFZMVjIgQTANCj4gKy8vDQo+ICsjZGVmaW5lIEFVRElPX1RZUEVfU1VQUE9SVF9NQVNL ICAgIDB4RkZGRkZGRjMNCj4gKyNkZWZpbmUgTk9fQVVESU9fU1VQUE9SVCAgICAgICAgICAgKDA8 PDIpDQo+ICsjZGVmaW5lIEhEX0FVRElPX1NVUFBPUlQgICAgICAgICAgICgxPDwyKQ0KPiArI2Rl ZmluZSBMUEVfQVVESU9fU1VQUE9SVCAgICAgICAgICAoMjw8MikNCj4gKyNkZWZpbmUgQVVESU9f VFlQRV9GSUVMRF9NQVNLICAgICAgMHhGRkZGRkZFRg0KPiArI2RlZmluZSBBVURJT19UWVBFX0ZJ RUxEX1ZBTElEICAgICAoMTw8NCkNCj4gKyNkZWZpbmUgQVVESU9fVFlQRV9GSUVMRF9JTlZBTElE ICAgKDA8PDQpDQo+ICsNCj4gKy8vDQo+ICsvLyBPcFJlZ2lvbiBNYWlsYm94IDEgRVFVYXRlcy4N Cj4gKy8vDQo+ICsvLyBPcFJlZ2lvbiBNYWlsYm94IDMgRVFVYXRlcy4NCj4gKy8vDQo+ICsjZGVm aW5lIEFMU19FTkFCTEUgICAgICAgICAgICBCSVQwDQo+ICsjZGVmaW5lIEJMQ19FTkFCTEUgICAg ICAgICAgICBCSVQxDQo+ICsjZGVmaW5lIEJBQ0tMSUdIVF9CUklHSFRORVNTICAweEZGDQo+ICsj ZGVmaW5lIEZJRUxEX1ZBTElEX0JJVCAgICAgICBCSVQzMQ0KPiArI2RlZmluZSBXT1JEX0ZJRUxE X1ZBTElEX0JJVCAgQklUMTUNCj4gKyNkZWZpbmUgUEZJVF9FTkFCTEUgICAgICAgICAgIEJJVDIN Cj4gKyNkZWZpbmUgUEZJVF9PUFJOX0FVVE8gICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUg UEZJVF9PUFJOX1NDQUxJTkcgICAgIDB4MDAwMDAwMDcNCj4gKyNkZWZpbmUgUEZJVF9PUFJOX09G RiAgICAgICAgIDB4MDAwMDAwMDANCj4gKyNkZWZpbmUgUEZJVF9TRVRVUF9BVVRPICAgICAgIDAN Cj4gKyNkZWZpbmUgUEZJVF9TRVRVUF9TQ0FMSU5HICAgIDENCj4gKyNkZWZpbmUgUEZJVF9TRVRV UF9PRkYgICAgICAgIDINCj4gKyNkZWZpbmUgSU5JVF9CUklHSFRfTEVWRUwgICAgIDB4NjQNCj4g KyNkZWZpbmUgUEZJVF9TVFJFVENIICAgICAgICAgIDYNCj4gKyNkZWZpbmUgUEZJVF9DRU5URVIg ICAgICAgICAgIDENCj4gKw0KPiArLy8NCj4gKy8vIEdNQ0ggUENJIHJlZ2lzdGVyIGFjY2VzcyAj ZGVmaW5lcy4NCj4gKy8vDQo+ICsNCj4gKyNkZWZpbmUgSWdkTW1QY2kzMihSZWdpc3RlcikgICAg ICAgICAgICBNbVBjaTMyICAgKDAsIElHRF9CVVMsIElHRF9ERVYsDQo+IElHRF9GVU5fMCwgUmVn aXN0ZXIpDQo+ICsjZGVmaW5lIElnZE1tUGNpMTZPcihSZWdpc3RlciwgT3JEYXRhKSAgTW1QY2kx Nk9yICgwLCBJR0RfQlVTLA0KPiBJR0RfREVWLCBJR0RfRlVOXzAsIFJlZ2lzdGVyLCBPckRhdGEp DQo+ICsjZGVmaW5lIElnZE1tUGNpMTZBbmRUaGVuT3IoUmVnaXN0ZXIsQW5kRGF0YSxPckRhdGEp DQo+IE1tUGNpMTZBbmRUaGVuT3IgKDAsIElHRF9CVVMsIElHRF9ERVYsIElHRF9GVU5fMCwgUmVn aXN0ZXIsIEFuZERhdGEsDQo+IE9yRGF0YSkNCj4gKw0KPiArLy8NCj4gKy8vIFZpZGVvIEJJT1Mg LyBWQlQgI2RlZmluZXMNCj4gKy8vDQo+ICsjZGVmaW5lIElHRF9ESURfVkxWICAgICAgICAgICAg IDB4MEYzMQ0KPiArI2RlZmluZSBPUFRJT05fUk9NX1NJR05BVFVSRSAgICAweEFBNTUNCj4gKyNk ZWZpbmUgVkJJT1NfTE9DQVRJT05fUFJJTUFSWSAgMHhDMDAwMA0KPiArDQo+ICsjZGVmaW5lIFZC VF9TSUdOQVRVUkUgICAgICAgICAgIFNJR05BVFVSRV8zMiAoJyQnLCAnVicsICdCJywgJ1QnKQ0K PiArDQo+ICsvLw0KPiArLy8gVHlwZWRlZiBzdHVjdHVyZXMNCj4gKy8vDQo+ICsjcHJhZ21hIHBh Y2sgKDEpDQo+ICt0eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQxNiAgU2lnbmF0dXJlOyAgICAv LyAweEFBNTUNCj4gKyAgVUlOVDggICBTaXplNTEyOw0KPiArICBVSU5UOCAgIFJlc2VydmVkWzIx XTsNCj4gKyAgVUlOVDE2ICBQY2lyT2Zmc2V0Ow0KPiArICBVSU5UMTYgIFZidE9mZnNldDsNCj4g K30gSU5URUxfVkJJT1NfT1BUSU9OX1JPTV9IRUFERVI7DQo+ICsjcHJhZ21hIHBhY2sgKCkNCj4g Kw0KPiArI3ByYWdtYSBwYWNrICgxKQ0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiArICBVSU5UMzIg IFNpZ25hdHVyZTsgIC8vICJQQ0lSIg0KPiArICBVSU5UMTYgIFZlbmRvcklkOyAgIC8vIDB4ODA4 Ng0KPiArICBVSU5UMTYgIERldmljZUlkOw0KPiArICBVSU5UMTYgIFJlc2VydmVkMDsNCj4gKyAg VUlOVDE2ICBMZW5ndGg7DQo+ICsgIFVJTlQ4ICAgUmV2aXNpb247DQo+ICsgIFVJTlQ4ICAgQ2xh c3NDb2RlWzNdOw0KPiArICBVSU5UMTYgIEltYWdlTGVuZ3RoOw0KPiArICBVSU5UMTYgIENvZGVS ZXZpc2lvbjsNCj4gKyAgVUlOVDggICBDb2RlVHlwZTsNCj4gKyAgVUlOVDggICBJbmRpY2F0b3I7 DQo+ICsgIFVJTlQxNiAgUmVzZXJ2ZWQxOw0KPiArfSBJTlRFTF9WQklPU19QQ0lSX1NUUlVDVFVS RTsNCj4gKyNwcmFnbWEgcGFjayAoKQ0KPiArDQo+ICsjcHJhZ21hIHBhY2sgKDEpDQo+ICt0eXBl ZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4ICAgSGVhZGVyU2lnbmF0dXJlWzIwXTsNCj4gKyAgVUlO VDE2ICBIZWFkZXJWZXJzaW9uOw0KPiArICBVSU5UMTYgIEhlYWRlclNpemU7DQo+ICsgIFVJTlQx NiAgSGVhZGVyVmJ0U2l6ZTsNCj4gKyAgVUlOVDggICBIZWFkZXJWYnRDaGVja1N1bTsNCj4gKyAg VUlOVDggICBIZWFkZXJSZXNlcnZlZDsNCj4gKyAgVUlOVDMyICBIZWFkZXJPZmZzZXRWYnREYXRh QmxvY2s7DQo+ICsgIFVJTlQzMiAgSGVhZGVyT2Zmc2V0QWltMTsNCj4gKyAgVUlOVDMyICBIZWFk ZXJPZmZzZXRBaW0yOw0KPiArICBVSU5UMzIgIEhlYWRlck9mZnNldEFpbTM7DQo+ICsgIFVJTlQz MiAgSGVhZGVyT2Zmc2V0QWltNDsNCj4gKyAgVUlOVDggICBEYXRhSGVhZGVyU2lnbmF0dXJlWzE2 XTsNCj4gKyAgVUlOVDE2ICBEYXRhSGVhZGVyVmVyc2lvbjsNCj4gKyAgVUlOVDE2ICBEYXRhSGVh ZGVyU2l6ZTsNCj4gKyAgVUlOVDE2ICBEYXRhSGVhZGVyRGF0YUJsb2NrU2l6ZTsNCj4gKyAgVUlO VDggICBDb3JlQmxvY2tJZDsNCj4gKyAgVUlOVDE2ICBDb3JlQmxvY2tTaXplOw0KPiArICBVSU5U MTYgIENvcmVCbG9ja0Jpb3NTaXplOw0KPiArICBVSU5UOCAgIENvcmVCbG9ja0Jpb3NUeXBlOw0K PiArICBVSU5UOCAgIENvcmVCbG9ja1JlbGVhc2VTdGF0dXM7DQo+ICsgIFVJTlQ4ICAgQ29yZUJs b2NrSFdTdXBwb3J0ZWQ7DQo+ICsgIFVJTlQ4ICAgQ29yZUJsb2NrSW50ZWdyYXRlZEhXOw0KPiAr ICBVSU5UOCAgIENvcmVCbG9ja0Jpb3NCdWlsZFs0XTsNCj4gKyAgVUlOVDggICBDb3JlQmxvY2tC aW9zU2lnbk9uWzE1NV07DQo+ICt9IFZCSU9TX1ZCVF9TVFJVQ1RVUkU7DQo+ICsjcHJhZ21hIHBh Y2sgKCkNCj4gKw0KPiArLy8NCj4gKy8vIERyaXZlciBQcml2YXRlIEZ1bmN0aW9uIGRlZmluaXRp b25zDQo+ICsvLw0KPiArRUZJX1NUQVRVUw0KPiArR2V0U1ZFUiAoDQo+ICsgIE9VVCBVSU5UOCAq U1ZFUg0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgQWNxdWlyZSB0aGUgc3RyaW5nIGFzc29j aWF0ZWQgd2l0aCB0aGUgUHJvZHVjZXJHdWlkIGFuZCByZXR1cm4gaXQuDQo+ICsNCj4gKyAgQHBh cmFtIFByb2R1Y2VyR3VpZCAgVGhlIEd1aWQgdG8gc2VhcmNoIHRoZSBISUkgZGF0YWJhc2UgZm9y DQo+ICsgIEBwYXJhbSBUb2tlbiAgICAgICAgIFRoZSB0b2tlbiB2YWx1ZSBvZiB0aGUgc3RyaW5n IHRvIGV4dHJhY3QNCj4gKyAgQHBhcmFtIFN0cmluZyAgICAgICAgVGhlIHN0cmluZyB0aGF0IGlz IGV4dHJhY3RlZA0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NVQ0NFU1MgICAgICAgVGhlIGZ1bmN0 aW9uIGNvbXBsZXRlZCBzdWNjZXNzZnVsbHkNCj4gKyAgQHJldHZhbCBFRklfTk9UX0ZPVU5EICAg ICBUaGUgcmVxdWVzdGVkIHN0cmluZyB3YXMgbm90IGZvdW5kDQo+ICsNCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArR2V0U3RyaW5nRnJvbVRva2VuICgNCj4gKyAgSU4gICAgICBFRklfR1VJRCAg ICAgICAgICAgICAgICAgICpQcm9kdWNlckd1aWQsDQo+ICsgIElOICAgICAgU1RSSU5HX1JFRiAg ICAgICAgICAgICAgICBUb2tlbiwNCj4gKyAgT1VUICAgICBDSEFSMTYgICAgICAgICAgICAgICAg ICAgICoqU3RyaW5nDQo+ICsgICk7DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIEdyYXBoaWNzIE9w UmVnaW9uIC8gU29mdHdhcmUgU0NJIGRyaXZlciBpbnN0YWxsYXRpb24gZnVuY3Rpb24uDQo+ICsN Cj4gKyAgQHBhcmFtIFZvaWQNCj4gKw0KPiArICBAcmV0dmFsIEVGSV9TVUNDRVNTICAgICBUaGUg ZHJpdmVyIGluc3RhbGxlZCB3aXRob3V0IGVycm9yLg0KPiArICBAcmV0dmFsIEVGSV9BQk9SVEVE ICAgICBUaGUgZHJpdmVyIGVuY291bnRlcmVkIGFuIGVycm9yIGFuZCBjb3VsZCBub3QNCj4gY29t cGxldGUNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgaW5zdGFsbGF0aW9uIG9mIHRoZSBB Q1BJIHRhYmxlcy4NCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArSWdkT3BSZWdpb25Jbml0ICgN Cj4gKyAgdm9pZA0KPiArICApOw0KPiArDQo+ICsvKioNCj4gKyAgRXh0cmFjdCBpbmZvcm1hdGlv biBwZXJ0YWluaW5nIHRvIHRoZSBIaWlIYW5kbGUNCj4gKw0KPiArICBAcGFyYW0gSGlpSGFuZGxl ICAgICAgICBIaWkgaGFuZGxlDQo+ICsgIEBwYXJhbSBJbWFnZUxlbmd0aCAgICAgIEZvciBpbnB1 dCwgbGVuZ3RoIG9mIERlZmF1bHRJbWFnZTsNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgICAg Rm9yIG91dHB1dCwgbGVuZ3RoIG9mIGFjdHVhbGx5IHJlcXVpcmVkDQo+ICsNCj4gKyAgQHBhcmFt IERlZmF1bHRJbWFnZSAgICAgSW1hZ2UgYnVmZmVyIHByZXBhcmVkIGJ5IGNhbGxlcg0KPiArICBA cGFyYW0gR3VpZCAgICAgICAgICAgICBHdWlkIGluZm9ybWF0aW9uIGFib3V0IHRoZSBmb3JtDQo+ ICsNCj4gKyAgQHJldHZhbCBFRklfT1VUX09GX1JFU09VUkNFUyAgICAgTm8gZW5vdWdoIGJ1ZmZl ciB0byBhbGxvY2F0ZQ0KPiArICBAcmV0dmFsIEVGSV9CVUZGRVJfVE9PX1NNQUxMICAgICBEZWZ1 YWx0SW1hZ2UgaGFzIG5vIGVub3VnaA0KPiBJbWFnZUxlbmd0aA0KPiArICBAcmV0dmFsIEVGSV9T VUNDRVNTICAgICAgICAgICAgICBTdWNjZXNzZnVsbHkgZXh0cmFjdCBkYXRhIGZyb20gSGlpIGRh dGFiYXNlLg0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0V4dHJhY3REYXRhRnJvbUhp aUhhbmRsZSAoDQo+ICsgIElOICAgICAgRUZJX0hJSV9IQU5ETEUgICAgICBIaWlIYW5kbGUsDQo+ ICsgIElOIE9VVCAgVUlOVDE2ICAgICAgICAgICAgICAqSW1hZ2VMZW5ndGgsDQo+ICsgIE9VVCAg ICAgVUlOVDggICAgICAgICAgICAgICAqRGVmYXVsdEltYWdlLA0KPiArICBPVVQgICAgIEVGSV9H VUlEICAgICAgICAgICAgKkd1aWQNCj4gKyAgKTsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0DQo+ IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVmx2UGxhdGZvcm1Jbml0RHhlL1Zs dlBsYXRmb3JtSW5pdC5jDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVmx2 UGxhdGZvcm1Jbml0RHhlL1ZsdlBsYXRmb3JtSW5pdC5jDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0 DQo+IGluZGV4IDAwMDAwMDAwMDAuLjc1Njc1ZmJmMDANCj4gLS0tIC9kZXYvbnVsbA0KPiArKysN Cj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9WbHZQbGF0Zm9ybUluaXREeGUv Vmx2UGxhdGZvcm1Jbml0LmMNCj4gQEAgLTAsMCArMSwyODcgQEANCj4gKw0KPiArLyorKw0KPiAr DQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwg cmlnaHRzIHJlc2VydmVkDQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBC U0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFt ZToNCj4gKw0KPiArICBWbHZQbGF0Zm9ybUluaXQuYw0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0K PiArICBUaGlzIGlzIHRoZSBkcml2ZXIgdGhhdCBpbml0aWFsaXplcyB0aGUgSW50ZWwgVmFsbGV5 Vmlldy4NCj4gKw0KPiArLS0qLw0KPiArDQo+ICsjaW5jbHVkZSAiVmx2UGxhdGZvcm1Jbml0Lmgi DQo+ICsjaW5jbHVkZSA8UHJvdG9jb2wvVmx2UGxhdGZvcm1Qb2xpY3kuaD4NCj4gKw0KPiArZXh0 ZXJuIERYRV9WTFZfUExBVEZPUk1fUE9MSUNZX1BST1RPQ09MICAqRHhlUGxhdGZvcm1TYVBvbGlj eTsNCj4gK1VJTlQ2NCAgICAgICAgICAgIEdUVE1NQURSOw0KPiArDQo+ICtEWEVfVkxWX1BMQVRG T1JNX1BPTElDWV9QUk9UT0NPTCAgKkR4ZVBsYXRmb3JtU2FQb2xpY3k7DQo+ICsNCj4gKy8qKg0K PiArICAiUG9sbCBTdGF0dXMiIGZvciBHVCBSZWFkaW5lc3MNCj4gKw0KPiArIEBwYXJhbSAgQmFz ZSAgICAgICAgICAgICBCYXNlIGFkZHJlc3Mgb2YgTU1JTw0KPiArIEBwYXJhbSAgT2Zmc2V0ICAg ICAgICAgICBNTUlPIE9mZnNldA0KPiArIEBwYXJhbSAgTWFzayAgICAgICAgICAgICBNYXNrDQo+ ICsgQHBhcmFtICBSZXN1bHQgICAgICAgICAgIFZhbHVlIHRvIHdhaXQgZm9yDQo+ICsNCj4gKyBA cmV0dmFsIE5vbmUNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtQb2xsR3RSZWFkeV9oYW5nICgN Cj4gKyAgVUlOVDY0IEJhc2UsDQo+ICsgIFVJTlQzMiBPZmZzZXQsDQo+ICsgIFVJTlQzMiBNYXNr LA0KPiArICBVSU5UMzIgUmVzdWx0DQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDMyICBHdFN0YXR1 czsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZWdpc3RlciByZWFkDQo+ICsgIC8vDQo+ICsgIEd0 U3RhdHVzID0gTW1pb1JlYWQzMiAoKFVJTlROKUJhc2UrIE9mZnNldCk7DQo+ICsNCj4gKyAgd2hp bGUgKCgoR3RTdGF0dXMgJiBNYXNrKSAhPSBSZXN1bHQpKSB7DQo+ICsNCj4gKyAgICBHdFN0YXR1 cyA9IE1taW9SZWFkMzIgKChVSU5UTilCYXNlICsgT2Zmc2V0KTsNCj4gKyAgfQ0KPiArDQo+ICt9 DQo+ICsNCj4gKy8qKg0KPiArICBEbyBQb3N0IEdUIFBNIEluaXQgU3RlcHMgYWZ0ZXIgVkJJT1Mg SW5pdGlhbGl6YXRpb24uDQo+ICsNCj4gKyAgQHBhcmFtIEV2ZW50ICAgICAgICAgICAgIEEgcG9p bnRlciB0byB0aGUgRXZlbnQgdGhhdCB0cmlnZ2VyZWQgdGhlIGNhbGxiYWNrLg0KPiArICBAcGFy YW0gQ29udGV4dCAgICAgICAgICAgQSBwb2ludGVyIHRvIHByaXZhdGUgZGF0YSByZWdpc3RlcmVk IHdpdGggdGhlIGNhbGxiYWNrDQo+IGZ1bmN0aW9uLg0KPiArDQo+ICsgIEByZXR2YWwgRUZJX1NV Q0NFU1MgICAgICAgIEdDX1RPRE8NCj4gKw0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArUG9zdFBtSW5pdENhbGxCYWNrICgNCj4gKyAgSU4gRUZJX0VWRU5UIEV2ZW50 LA0KPiArICBJTiBWT0lEICAgICAgKkNvbnRleHQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UNjQg ICAgICBPcmlnaW5hbEdUVE1NQURSOw0KPiArICBVSU5UMzIgICAgICBMb0dUQmFzZUFkZHJlc3M7 DQo+ICsgIFVJTlQzMiAgICAgIEhpR1RCYXNlQWRkcmVzczsNCj4gKw0KPiArICAvLw0KPiArICAv LyBFbmFibGUgQnVzIE1hc3RlciwgSS9PIGFuZCBNZW1vcnkgYWNjZXNzIG9uIDA6MjowDQo+ICsg IC8vDQo+ICsgIFBjaU9yOCAoUENJX0xJQl9BRERSRVNTKDAsIElHRF9ERVYsIDAsSUdEX1JfQ01E KSwgKEJJVDIgfCBCSVQxKSk7DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gb25seSAzMmJpdCByZWFk L3dyaXRlIGlzIGxlZ2FsIGZvciBkZXZpY2UgMDoyOjANCj4gKyAgLy8NCj4gKyAgT3JpZ2luYWxH VFRNTUFEUiAgPSAoVUlOVDY0KSBQY2lSZWFkMzIgKFBDSV9MSUJfQUREUkVTUygwLCBJR0RfREVW LA0KPiAwLElHRF9SX0dUVE1NQURSKSk7DQo+ICsgIE9yaWdpbmFsR1RUTU1BRFIgID0gTFNoaWZ0 VTY0ICgoVUlOVDY0KSBQY2lSZWFkMzIgKFBDSV9MSUJfQUREUkVTUygwLA0KPiBJR0RfREVWLCAw LElHRF9SX0dUVE1NQURSICsgNCkpLCAzMikgfCAoT3JpZ2luYWxHVFRNTUFEUik7DQo+ICsNCj4g KyAgLy8NCj4gKyAgLy8gNjRiaXQgR1RUTUFEUiBkb2VzIG5vdCB3b3JrIGZvciBTMyBzYXZlIHNj cmlwdCB0YWJsZSBzaW5jZSBpdCBpcw0KPiBleGVjdXRlZCBpbiBQRUlNIHBoYXNlDQo+ICsgIC8v IFByb2dyYW0gdGVtcG9yYXJpbHkgMzJiaXRzIEdUVE1NQURSIGZvciBQT1NUIGFuZCBTMyByZXN1 bWUNCj4gKyAgLy8NCj4gKyAgTG9HVEJhc2VBZGRyZXNzICAgICAgICAgICAgICAgICAgID0gKFVJ TlQzMikgKEdUVE1NQURSICYgMHhGRkZGRkZGRik7DQo+ICsgIEhpR1RCYXNlQWRkcmVzcyAgICAg ICAgICAgICAgICAgICA9IChVSU5UMzIpIFJTaGlmdFU2NCAoKEdUVE1NQURSICYNCj4gMHhGRkZG RkZGRjAwMDAwMDAwKSwgMzIpOw0KPiArICBTM1BjaVdyaXRlMzIoUENJX0xJQl9BRERSRVNTKDAs IElHRF9ERVYsIDAsSUdEX1JfR1RUTU1BRFIpLA0KPiBMb0dUQmFzZUFkZHJlc3MpOw0KPiArICBT M1BjaVdyaXRlMzIoUENJX0xJQl9BRERSRVNTKDAsIElHRF9ERVYsIDAsSUdEX1JfR1RUTU1BRFIr NCksDQo+IEhpR1RCYXNlQWRkcmVzcyk7DQo+ICsNCj4gKw0KPiArDQo+ICsgIC8vDQo+ICsgIC8v IFJlc3RvcmUgb3JpZ2luYWwgR1RUTU1BRFINCj4gKyAgLy8NCj4gKyAgTG9HVEJhc2VBZGRyZXNz ICAgICAgICAgICAgICAgICAgID0gKFVJTlQzMikgKE9yaWdpbmFsR1RUTU1BRFIgJiAweEZGRkZG RkZGKTsNCj4gKyAgSGlHVEJhc2VBZGRyZXNzICAgICAgICAgICAgICAgICAgID0gKFVJTlQzMikg UlNoaWZ0VTY0ICgoT3JpZ2luYWxHVFRNTUFEUiAmDQo+IDB4RkZGRkZGRkYwMDAwMDAwMCksIDMy KTsNCj4gKw0KPiArICBTM1BjaVdyaXRlMzIoUENJX0xJQl9BRERSRVNTKDAsIElHRF9ERVYsIDAs SUdEX1JfR1RUTU1BRFIpLA0KPiBMb0dUQmFzZUFkZHJlc3MpOw0KPiArICBTM1BjaVdyaXRlMzIo UENJX0xJQl9BRERSRVNTKDAsIElHRF9ERVYsIDAsSUdEX1JfR1RUTU1BRFIrNCksDQo+IEhpR1RC YXNlQWRkcmVzcyk7DQo+ICsNCj4gKw0KPiArICAvLw0KPiArICAvLyBMb2NrIHRoZSBmb2xsb3dp bmcgcmVnaXN0ZXJzLCBHR0MsIEJEU00sIEJHU00NCj4gKyAgLy8NCj4gKyAgUGNpT3IzMiAoUENJ X0xJQl9BRERSRVNTKDAsIElHRF9ERVYsIDAsSUdEX01HR0NfT0ZGU0VUKSwgTG9ja0JpdCk7DQo+ ICsgIFBjaU9yMzIgKFBDSV9MSUJfQUREUkVTUygwLCBJR0RfREVWLCAwLElHRF9CU01fT0ZGU0VU KSwgTG9ja0JpdCk7DQo+ICsgIFBjaU9yMzIgKFBDSV9MSUJfQUREUkVTUygwLCBJR0RfREVWLCAw LElHRF9SX0JHU00pLCBMb2NrQml0KTsNCj4gKw0KPiArICBnQlMtPkNsb3NlRXZlbnQgKEV2ZW50 KTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBSZXR1cm4gZmluYWwgc3RhdHVzDQo+ICsgIC8vDQo+ ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgUm91 dGluZSBEZXNjcmlwdGlvbjoNCj4gKw0KPiArICBJbml0aWFsaXplIEdUIFBvc3QgUm91dGluZXMu DQo+ICsNCj4gKyAgQHBhcmFtIEltYWdlSGFuZGxlICAgICAgICAgICAgICBIYW5kbGUgZm9yIHRo ZSBpbWFnZSBvZiB0aGlzIGRyaXZlcg0KPiArICBAcGFyYW0gRHhlUGxhdGZvcm1TYVBvbGljeSAg ICAgIFNBIER4ZVBsYXRmb3JtUG9saWN5IHByb3RvY29sDQo+ICsNCj4gKyAgQHJldHZhbCBFRklf U1VDQ0VTUyAgICAgICAgICAgICBHVCBQT1NUIGluaXRpYWxpemF0aW9uIGNvbXBsZXRlDQo+ICsN Cj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArSWdkUG1Ib29rICgNCj4gKyAgSU4gRUZJX0hBTkRM RSAgICAgICAgICAgICAgICAgICAgICBJbWFnZUhhbmRsZSwNCj4gKyAgSU4gRFhFX1ZMVl9QTEFU Rk9STV9QT0xJQ1lfUFJPVE9DT0wgKkR4ZVBsYXRmb3JtU2FQb2xpY3lQYXJhbQ0KPiArICApDQo+ ICt7DQo+ICsNCj4gKyAgRUZJX0VWRU5UICAgICAgICAgICAgIG1Db25PdXRFdmVudDsNCj4gKyAg Vk9JRCAgICAgICAgICAgICAgICAgICpnQ29uT3V0Tm90aWZ5UmVnOw0KPiArDQo+ICsgIEVGSV9T VEFUVVMgICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgRUZJX1BIWVNJQ0FMX0FERFJFU1Mg IE1lbUJhc2VBZGRyZXNzOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgTG9HVEJhc2VBZGRy ZXNzOw0KPiArICBVSU5UMzIgICAgICAgICAgICAgICAgSGlHVEJhc2VBZGRyZXNzOw0KPiArDQo+ ICsgIEdUVE1NQURSICAgID0gMDsNCj4gKyAgU3RhdHVzICAgICAgPSBFRklfU1VDQ0VTUzsNCj4g Kw0KPiArICAvLw0KPiArICAvLyBJZiBkZXZpY2UgMDoyOjAgKEludGVybmFsIEdyYXBoaWNzIERl dmljZSwgb3IgR1QpIGlzIGVuYWJsZWQsIHRoZW4gUHJvZ3JhbQ0KPiBHVFRNTUFEUiwNCj4gKyAg Ly8NCj4gKyAgaWYgKFBjaVJlYWQxNihQQ0lfTElCX0FERFJFU1MoMCwgSUdEX0RFViwgMCwgSUdE X1JfVklEKSkgICE9IDB4RkZGRikgew0KPiArDQo+ICsgICAgQVNTRVJUIChnRFMhPU5VTEwpOw0K PiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBFbmFibGUgQnVzIE1hc3RlciwgSS9PIGFuZCBNZW1v cnkgYWNjZXNzIG9uIDA6MjowDQo+ICsgICAgLy8NCj4gKyAgICBQY2lPcjgoUENJX0xJQl9BRERS RVNTKDAsIElHRF9ERVYsIDAsIElHRF9SX0NNRCksIChCSVQyIHwgQklUMSB8DQo+IEJJVDApKTsN Cj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gTWVhbnMgQWxsb2NhdGUgNE1CIGZvciBHVFRNQURE Ug0KPiArICAgIC8vDQo+ICsgICAgTWVtQmFzZUFkZHJlc3MgPSAweDBmZmZmZmZmZjsNCj4gKw0K PiArICAgIFN0YXR1cyA9IGdEUy0+QWxsb2NhdGVNZW1vcnlTcGFjZSAoDQo+ICsgICAgICAgICAg ICAgICAgICAgIEVmaUdjZEFsbG9jYXRlTWF4QWRkcmVzc1NlYXJjaEJvdHRvbVVwLA0KPiArICAg ICAgICAgICAgICAgICAgICBFZmlHY2RNZW1vcnlUeXBlTWVtb3J5TWFwcGVkSW8sDQo+ICsgICAg ICAgICAgICAgICAgICAgIEdUVF9NRU1fQUxJR04sDQo+ICsgICAgICAgICAgICAgICAgICAgIEdU VE1NQURSX1NJWkVfNE1CLA0KPiArICAgICAgICAgICAgICAgICAgICAmTWVtQmFzZUFkZHJlc3Ms DQo+ICsgICAgICAgICAgICAgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICAgICAgICAgICAgICAg ICAgICBOVUxMDQo+ICsgICAgICAgICAgICAgICAgICAgICk7DQo+ICsgICAgQVNTRVJUX0VGSV9F UlJPUiAoU3RhdHVzKTsNCj4gKw0KPiArICAgIC8vDQo+ICsgICAgLy8gUHJvZ3JhbSBHVCBQTSBT ZXR0aW5ncyBpZiBHVFRNTUFEUiBhbGxvY2F0aW9uIGlzIFN1Y2Nlc3NmdWwNCj4gKyAgICAvLw0K PiArICAgIEdUVE1NQURSICAgICAgICAgICAgICAgICAgICAgICAgICA9IChVSU5UTikgTWVtQmFz ZUFkZHJlc3M7DQo+ICsNCj4gKyAgICBMb0dUQmFzZUFkZHJlc3MgICAgICAgICAgICAgICAgICAg PSAoVUlOVDMyKSAoTWVtQmFzZUFkZHJlc3MgJiAweEZGRkZGRkZGKTsNCj4gKyAgICBIaUdUQmFz ZUFkZHJlc3MgICAgICAgICAgICAgICAgICAgPSAoVUlOVDMyKSBSU2hpZnRVNjQgKChNZW1CYXNl QWRkcmVzcyAmDQo+IDB4RkZGRkZGRkYwMDAwMDAwMCksIDMyKTsNCj4gKw0KPiArICAgIFBjaVdy aXRlMzIgKFBDSV9MSUJfQUREUkVTUygwLCBJR0RfREVWLCAwLCBJR0RfUl9HVFRNTUFEUiksDQo+ IExvR1RCYXNlQWRkcmVzcyk7DQo+ICsgICAgUGNpV3JpdGUzMiAoUENJX0xJQl9BRERSRVNTKDAs IElHRF9ERVYsIDAsIElHRF9SX0dUVE1NQURSKzQpLA0KPiBIaUdUQmFzZUFkZHJlc3MpOw0KPiAr DQo+ICsNCj4gKyAgICBTM1BjaVJlYWQzMihQQ0lfTElCX0FERFJFU1MoMCwgSUdEX0RFViwgMCwg SUdEX1JfR1RUTU1BRFIpKTsNCj4gKw0KPiArDQo+ICsgICAgUzNNbWlvUmVhZDMyKElHRF9SX0dU VE1NQURSICsgNCk7DQo+ICsNCj4gKw0KPiArICAgIFMzUGNpUmVhZDgoUENJX0xJQl9BRERSRVNT KDAsIElHRF9ERVYsIDAsIElHRF9SX0NNRCkpOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBE byBQT1NUIEdUIFBNIEluaXQgU3RlcHMgYWZ0ZXIgVkJJT1MgSW5pdGlhbGl6YXRpb24gaW4NCj4g RG9Qb3N0UG1Jbml0Q2FsbEJhY2sNCj4gKyAgICAvLw0KPiArICAgIFN0YXR1cyA9IGdCUy0+Q3Jl YXRlRXZlbnQgKA0KPiArICAgICAgICAgICAgICAgICAgICBFVlRfTk9USUZZX1NJR05BTCwNCj4g KyAgICAgICAgICAgICAgICAgICAgVFBMX0NBTExCQUNLLA0KPiArICAgICAgICAgICAgICAgICAg ICAoRUZJX0VWRU5UX05PVElGWSlQb3N0UG1Jbml0Q2FsbEJhY2ssDQo+ICsgICAgICAgICAgICAg ICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAgICZtQ29uT3V0RXZlbnQNCj4gKyAg ICAgICAgICAgICAgICAgICAgKTsNCj4gKw0KPiArICAgIEFTU0VSVF9FRklfRVJST1IgKFN0YXR1 cyk7DQo+ICsgICAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgICAgcmV0dXJuIFN0 YXR1czsNCj4gKyAgICB9DQo+ICsNCj4gKw0KPiArICAgIFN0YXR1cyA9IGdCUy0+UmVnaXN0ZXJQ cm90b2NvbE5vdGlmeSAoDQo+ICsgICAgICAgICAgICAgICAgICAgICZnRWZpR3JhcGhpY3NPdXRw dXRQcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAgIG1Db25PdXRFdmVudCwNCj4g KyAgICAgICAgICAgICAgICAgICAgJmdDb25PdXROb3RpZnlSZWcNCj4gKyAgICAgICAgICAgICAg ICAgICAgKTsNCj4gKw0KPiArDQo+ICsNCj4gKyAgICBNbWlvV3JpdGU2NCAoSUdEX1JfR1RUTU1B RFIsIDApOw0KPiArDQo+ICsgICAgLy8NCj4gKyAgICAvLyBGcmVlIGFsbG9jYXRlZCByZXNvdXJj ZXMNCj4gKyAgICAvLw0KPiArICAgIGdEUy0+RnJlZU1lbW9yeVNwYWNlICgNCj4gKyAgICAgICAg ICAgTWVtQmFzZUFkZHJlc3MsDQo+ICsgICAgICAgICAgIEdUVE1NQURSX1NJWkVfNE1CDQo+ICsg ICAgICAgICAgICk7DQo+ICsNCj4gKyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsN Cj4gK30NCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgVGhpcyBpcyB0aGUgc3RhbmRhcmQgRUZJIGRy aXZlciBwb2ludCB0aGF0IGRldGVjdHMNCj4gKyAgd2hldGhlciB0aGVyZSBpcyBhbiBJQ0ggc291 dGhicmlkZ2UgaW4gdGhlIHN5c3RlbQ0KPiArICBhbmQgaWYgc28sIGluaXRpYWxpemVzIHRoZSBj aGlwLg0KPiArDQo+ICsgIEBwYXJhbSAgSW1hZ2VIYW5kbGUgICAgICAgICAgICAgSGFuZGxlIGZv ciB0aGUgaW1hZ2Ugb2YgdGhpcyBkcml2ZXINCj4gKyAgQHBhcmFtICBTeXN0ZW1UYWJsZSAgICAg ICAgICAgICBQb2ludGVyIHRvIHRoZSBFRkkgU3lzdGVtIFRhYmxlDQo+ICsNCj4gKyAgQHJldHZh bCBFRklfU1VDQ0VTUyAgICAgICAgICAgICBUaGUgZnVuY3Rpb24gY29tcGxldGVkIHN1Y2Nlc3Nm dWxseQ0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArVmx2UGxhdGZv cm1Jbml0RW50cnlQb2ludCAoDQo+ICsgIElOIEVGSV9IQU5ETEUgICAgICAgSW1hZ2VIYW5kbGUs DQo+ICsgIElOIEVGSV9TWVNURU1fVEFCTEUgKlN5c3RlbVRhYmxlDQo+ICsgICkNCj4gK3sNCj4g KyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICAgIFN0YXR1czsNCj4gKw0KPiArICBT dGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgmZ0R4ZVZsdlBsYXRmb3JtUG9saWN5R3VpZCwg TlVMTCwgKHZvaWQNCj4gKiopJkR4ZVBsYXRmb3JtU2FQb2xpY3kpOw0KPiArICBBU1NFUlRfRUZJ X0VSUk9SIChTdGF0dXMpOw0KPiArDQo+ICsgIC8vDQo+ICsgIC8vIEd0UG9zdEluaXQgSW5pdGlh bGl6YXRpb24NCj4gKyAgLy8NCj4gKyAgREVCVUcgKChFRklfRF9FUlJPUiwgIkluaXRpYWxpemlu ZyBHVCBQb3dlck1hbmFnZW1lbnQgYW5kIG90aGVyIEdUDQo+IFBPU1QgcmVsYXRlZFxuIikpOw0K PiArICBJZ2RQbUhvb2sgKEltYWdlSGFuZGxlLCBEeGVQbGF0Zm9ybVNhUG9saWN5KTsNCj4gKw0K PiArICAvLw0KPiArICAvLyBJZ2RPcFJlZ2lvbiBJbnN0YWxsIEluaXRpYWxpemF0aW9uDQo+ICsg IC8vDQo+ICsgIERFQlVHICgoRUZJX0RfRVJST1IsICJJbml0aWFsaXppbmcgSUdEIE9wUmVnaW9u XG4iKSk7DQo+ICsgIElnZE9wUmVnaW9uSW5pdCAoKTsNCj4gKw0KPiArICByZXR1cm4gRUZJX1NV Q0NFU1M7DQo+ICt9DQo+ICsNCj4gZGlmZiAtLWdpdA0KPiBhL1BsYXRmb3JtL0ludGVsL1ZsdjJU Ymx0RGV2aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0Zm9ybUluaXQuaA0KPiBiL1Bs YXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1ZsdlBsYXRmb3JtSW5pdER4ZS9WbHZQbGF0 Zm9ybUluaXQuaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41 Y2FmNTRiYjhhDQo+IC0tLSAvZGV2L251bGwNCj4gKysrDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvVmx2UGxhdGZvcm1Jbml0RHhlL1ZsdlBsYXRmb3JtSW5pdC5oDQo+IEBA IC0wLDAgKzEsNjUgQEANCj4gKw0KPiArLyorKw0KPiArDQo+ICtDb3B5cmlnaHQgKGMpICAxOTk5 ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkDQo+ICsNCj4g DQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsN Cj4gKw0KPiANCj4gKw0KPiArDQo+ICtNb2R1bGUgTmFtZToNCj4gKw0KPiArICBWbHZQbGF0Zm9y bUluaXQuaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0KPiArICBIZWFkZXIgZmlsZSBmb3IgU0Eg SW5pdGlhbGl6YXRpb24gRHJpdmVyLg0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNpZm5kZWYgX1ZM Vl9QTEFURk9STV9JTklUX0RYRV9IXw0KPiArI2RlZmluZSBfVkxWX1BMQVRGT1JNX0lOSVRfRFhF X0hfDQo+ICsjaW5jbHVkZSAiUGlEeGUuaCINCj4gKw0KPiArI2luY2x1ZGUgPFByb3RvY29sL1Zs dlBsYXRmb3JtUG9saWN5Lmg+DQo+ICsNCj4gKyNpbmNsdWRlICJJZ2RPcFJlZ2lvbi5oIg0KPiAr DQo+ICsjaW5jbHVkZSA8TGlicmFyeS9EeGVTZXJ2aWNlc1RhYmxlTGliLmg+DQo+ICsjaW5jbHVk ZSA8TGlicmFyeS9VZWZpQm9vdFNlcnZpY2VzVGFibGVMaWIuaD4NCj4gKyNpbmNsdWRlIDxMaWJy YXJ5L1VlZmlMaWIuaD4NCj4gKyNpbmNsdWRlICJMaWJyYXJ5L0RlYnVnTGliLmgiDQo+ICsjaW5j bHVkZSAiTGlicmFyeS9TM0lvTGliLmgiDQo+ICsjaW5jbHVkZSAiTGlicmFyeS9TM1BjaUxpYi5o Ig0KPiArI2luY2x1ZGUgIkxpYnJhcnkvSW9MaWIuaCINCj4gKyNpbmNsdWRlICJMaWJyYXJ5L1Bj aUxpYi5oIg0KPiArI2luY2x1ZGUgIkxpYnJhcnkvUzNCb290U2NyaXB0TGliLmgiDQo+ICsNCj4g Ky8vDQo+ICsvLyBHVCBSRUxBVEVEIEVRVUFURVMNCj4gKy8vDQo+ICsjZGVmaW5lIEdUVF9NRU1f QUxJR04gICAgICAgIDIyDQo+ICsjZGVmaW5lIEdUVE1NQURSX1NJWkVfNE1CICAgIDB4NDAwMDAw DQo+ICsNCj4gKyNkZWZpbmUgSUdEX0JVUyAgICAgICAgICAgICAweDAwDQo+ICsjZGVmaW5lIElH RF9ERVYgICAgICAgICAgICAgICAgICAweDAyDQo+ICsjZGVmaW5lIElHRF9GVU5fMCAgICAgICAg ICAgICAgICAweDAwDQo+ICsNCj4gKyNkZWZpbmUgSUdEX1JfVklEICAgICAgICAgICAgICAgIDB4 MDANCj4gKyNkZWZpbmUgSUdEX1JfQ01EICAgICAgICAgICAgICAgIDB4MDQNCj4gKyNkZWZpbmUg SUdEX1JfR1RUTU1BRFIgICAgICAgICAgIDB4MTANCj4gKw0KPiArI2RlZmluZSBJR0RfUl9CR1NN ICAgICAgICAgICAgICAgMHg3MA0KPiArI2RlZmluZSBMb2NrQml0ICAgICAgICAgICAgICAgICAg QklUMA0KPiArDQo+ICsjZGVmaW5lIElHRF9WSUQgICAgICAgICAgICAgMHg4MDg2DQo+ICsjZGVm aW5lIElHRF9ESUQgICAgICAgICAgICAgMHhBMDAxDQo+ICsjZGVmaW5lIElHRF9NR0dDX09GRlNF VCAgICAgMHgwMDUwICAgICAgLy9HTUNIIEdyYXBoaWNzIENvbnRyb2wgUmVnaXN0ZXINCj4gMHg1 MA0KPiArI2RlZmluZSBJR0RfQlNNX09GRlNFVCAgICAgIDB4MDA1QyAgICAgIC8vQmFzZSBvZiBT dG9sZW4gTWVtb3J5DQo+ICsjZGVmaW5lIElHRF9TV1NDSV9PRkZTRVQgICAgMHgwMEUwICAgICAg Ly9Tb2Z0d2FyZSBTQ0kgMHhFMCAyDQo+ICsjZGVmaW5lIElHRF9BU0xFX09GRlNFVCAgICAgMHgw MEU0ICAgICAgLy9TeXN0ZW0gRGlzcGxheSBFdmVudCBSZWdpc3Rlcg0KPiAweEU0IDQNCj4gKyNk ZWZpbmUgSUdEX0FTTFNfT0ZGU0VUICAgICAweDAwRkMgICAgICAvLyBBU0wgU3RvcmFnZQ0KPiAr DQo+ICsjZW5kaWYNCj4gKw0KPiBkaWZmIC0tZ2l0DQo+IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvVmx2UGxhdGZvcm1Jbml0RHhlL1ZsdlBsYXRmb3JtSW5pdER4ZS5pDQo+IG5m DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvVmx2UGxhdGZvcm1Jbml0RHhl L1ZsdlBsYXRmb3JtSW5pdER4ZS5pDQo+IG5mDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGlu ZGV4IDAwMDAwMDAwMDAuLjlkMjc3ZGQ3Y2YNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysNCj4gYi9Q bGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9WbHZQbGF0Zm9ybUluaXREeGUvVmx2UGxh dGZvcm1Jbml0RHhlLmkNCj4gbmYNCj4gQEAgLTAsMCArMSw3NCBAQA0KPiArIw0KPiArIw0KPiAr Iy8qKysNCj4gKyMNCj4gKyMgIENvcHlyaWdodCAoYykgIDE5OTkgIC0gMjAxOCwgSW50ZWwgQ29y cG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQNCj4gKyMNCj4gDQo+ICsjIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKyMNCj4gDQo+ICsjDQo+ ICsjICBNb2R1bGUgTmFtZToNCj4gKyMNCj4gKyMgICAgVmx2UGxhdGZvcm1Jbml0LmluZg0KPiAr Iw0KPiArIyAgQWJzdHJhY3Q6DQo+ICsjDQo+ICsjICAgIENvbXBvbmVudCBkZXNjcmlwdGlvbiBm aWxlIGZvciB3cmFwcGVyIGRyaXZlciBvZiBWbHYgcGxhdGZvcm0gaW5pdCBwYXJ0Lg0KPiArIw0K PiArIy0tKi8NCj4gKw0KPiArDQo+ICtbRGVmaW5lc10NCj4gKyAgSU5GX1ZFUlNJT04gICAgICAg ICAgICAgICAgICAgID0gMHgwMDAxMDAwNQ0KPiArICBCQVNFX05BTUUgICAgICAgICAgICAgICAg ICAgICAgPSBWbHZQbGF0Zm9ybUluaXREeGUNCj4gKyAgRklMRV9HVUlEICAgICAgICAgICAgICAg ICAgICAgID0gMUVDMEVGQzktQzkzQS00YjYyLTlCMjctQzA1OUFCRDgwRTkyDQo+ICsgIE1PRFVM RV9UWVBFICAgICAgICAgICAgICAgICAgICA9IERYRV9EUklWRVINCj4gKyAgVkVSU0lPTl9TVFJJ TkcgICAgICAgICAgICAgICAgID0gMS4wDQo+ICsgIEVOVFJZX1BPSU5UICAgICAgICAgICAgICAg ICAgICA9IFZsdlBsYXRmb3JtSW5pdEVudHJ5UG9pbnQNCj4gKw0KPiArW1NvdXJjZXNdDQo+ICsg IFZsdlBsYXRmb3JtSW5pdC5jDQo+ICsgIElnZE9wUmVnaW9uLmMNCj4gKw0KPiArDQo+ICtbUGFj a2FnZXNdDQo+ICsgIE1kZVBrZy9NZGVQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3JrUGtnL0lu dGVsRnJhbWV3b3JrUGtnLmRlYw0KPiArICBWbHYyRGV2aWNlUmVmQ29kZVBrZy9WbHYyRGV2aWNl UmVmQ29kZVBrZy5kZWMNCj4gKyAgVmx2MlRibHREZXZpY2VQa2cvUGxhdGZvcm1Qa2cuZGVjDQo+ ICsNCj4gK1tMaWJyYXJ5Q2xhc3Nlc10NCj4gKyAgVWVmaURyaXZlckVudHJ5UG9pbnQNCj4gKyAg RGVidWdMaWINCj4gKyAgVWVmaUJvb3RTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIFMzQm9vdFNjcmlw dExpYg0KPiArICBEeGVTZXJ2aWNlc1RhYmxlTGliDQo+ICsgIFBjaFBsYXRmb3JtTGliDQo+ICsg IFMzUGNpTGliDQo+ICsgIFMzSW9MaWINCj4gKyAgUGNpTGliDQo+ICsgIElvTGliDQo+ICsNCj4g K1tHdWlkc10NCj4gKyAgZ0JtcEltYWdlR3VpZA0KPiArICBnRWZpRHhlU2VydmljZXNUYWJsZUd1 aWQNCj4gKw0KPiArW1Byb3RvY29sc10NCj4gKyAgZ0R4ZVZsdlBsYXRmb3JtUG9saWN5R3VpZA0K PiArICBnRWZpRHhlU21tUmVhZHlUb0xvY2tQcm90b2NvbEd1aWQNCj4gKyAgZ0lnZE9wUmVnaW9u UHJvdG9jb2xHdWlkDQo+ICsgIGdFZmlHbG9iYWxOdnNBcmVhUHJvdG9jb2xHdWlkDQo+ICsgIGdF ZmlQY2lJb1Byb3RvY29sR3VpZA0KPiArICBnRWZpRmlybXdhcmVWb2x1bWUyUHJvdG9jb2xHdWlk DQo+ICsgIGdFZmlDcHVJb1Byb3RvY29sR3VpZA0KPiArDQo+ICtbRGVwZXhdDQo+ICsgIGdEeGVW bHZQbGF0Zm9ybVBvbGljeUd1aWQgICAgICAgICAgICAgIEFORA0KPiArICBnRWZpUGNpUm9vdEJy aWRnZUlvUHJvdG9jb2xHdWlkICAgICBBTkQNCj4gKyAgZ0VmaUNwdUlvUHJvdG9jb2xHdWlkICAg ICAgICAgICAgICAgICAgICAgIEFORA0KPiArICBnRWZpRGF0YUh1YlByb3RvY29sR3VpZCAgICAg ICAgICAgICAgICAgQU5EDQo+ICsgIGdFZmlHbG9iYWxOdnNBcmVhUHJvdG9jb2xHdWlkICAgICAg IEFORA0KPiArICBnRWZpRmlybXdhcmVWb2x1bWUyUHJvdG9jb2xHdWlkICAgQU5EDQo+ICsgIGdF ZmlIaWlEYXRhYmFzZVByb3RvY29sR3VpZA0KPiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL0xwY0RyaXZlci5jDQo+IGIvUGxhdGZvcm0v SW50ZWwvVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNEcml2ZXIuYw0KPiBuZXcgZmlsZSBt b2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi5mOTgyNjU3NjFiDQo+IC0tLSAvZGV2L251 bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNE cml2ZXIuYw0KPiBAQCAtMCwwICsxLDM0MCBAQA0KPiArLyoqIEBmaWxlDQo+ICsNCj4gKyAgQ29w eXJpZ2h0IChjKSAyMDA0ICAtIDIwMTQsIEludGVsIENvcnBvcmF0aW9uLiBBbGwgcmlnaHRzIHJl c2VydmVkLjxCUj4NCj4gKw0KPiANCj4gKyAgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0y LUNsYXVzZS1QYXRlbnQNCj4gKw0KPiArDQo+IA0KPiArDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0K PiArDQo+ICsgICAgTHBjRHJpdmVyLmMNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgICBF RkkgTHBjIERyaXZlciBmb3IgYSBHZW5lcmljIFBDIFBsYXRmb3JtDQo+ICsNCj4gKw0KPiArDQo+ ICstLSovDQo+ICsNCj4gKyNpbmNsdWRlICJMcGNEcml2ZXIuaCINCj4gKyNpbmNsdWRlICJJbmR1 c3RyeVN0YW5kYXJkL1BjaTIyLmgiDQo+ICsNCj4gKy8vDQo+ICsvLyBUaGlzIGRyaXZlciBpcyBm b3IgQUNQSShQTlAwQTAzLDApL1BDSSgweDFmLDApDQo+ICsvLw0KPiArDQo+ICsvLw0KPiArLy8g IExwYyBEcml2ZXIgR2xvYmFsIFZhcmlhYmxlcw0KPiArLy8NCj4gKw0KPiArRUZJX0RSSVZFUl9C SU5ESU5HX1BST1RPQ09MIGdMcGNEcml2ZXIgPSB7DQo+ICsgIExwY0RyaXZlclN1cHBvcnRlZCwN Cj4gKyAgTHBjRHJpdmVyU3RhcnQsDQo+ICsgIExwY0RyaXZlclN0b3AsDQo+ICsgIDB4MTAsDQo+ ICsgIE5VTEwsDQo+ICsgIE5VTEwNCj4gK307DQo+ICsNCj4gK0xQQ19ERVYgbUxwYyA9IHsNCj4g KyAgTFBDX0RFVl9TSUdOQVRVUkUsDQo+ICsgIE5VTEwsDQo+ICsgIHsNCj4gKyAgICBJc2FEZXZp Y2VFbnVtZXJhdGUsDQo+ICsgICAgSXNhRGV2aWNlU2V0UG93ZXIsDQo+ICsgICAgSXNhR2V0Q3Vy cmVudFJlc291cmNlLA0KPiArICAgIElzYUdldFBvc3NpYmxlUmVzb3VyY2UsDQo+ICsgICAgSXNh U2V0UmVzb3VyY2UsDQo+ICsgICAgSXNhRW5hYmxlRGV2aWNlLA0KPiArICAgIElzYUluaXREZXZp Y2UsDQo+ICsgICAgTHBjSW50ZXJmYWNlSW5pdA0KPiArICB9LA0KPiArICBOVUxMDQo+ICt9Ow0K PiArDQo+ICtCT09MRUFOICBJbml0RXhlY3V0ZWQgPSBGQUxTRTsNCj4gKw0KPiArLyoqDQo+ICsg ICAgdGhlIGVudHJ5IHBvaW50IG9mIHRoZSBMcGMgZHJpdmVyDQo+ICsNCj4gKyoqLw0KPiArRUZJ X1NUQVRVUw0KPiArRUZJQVBJDQo+ICtMcGNEcml2ZXJFbnRyeVBvaW50KA0KPiArICBJTiBFRklf SEFORExFICAgICAgICAgICBJbWFnZUhhbmRsZSwNCj4gKyAgSU4gRUZJX1NZU1RFTV9UQUJMRSAg ICAgKlN5c3RlbVRhYmxlDQo+ICsgICkNCj4gK3sNCj4gKw0KPiArDQo+ICsgIHJldHVybiBFZmlM aWJJbnN0YWxsRHJpdmVyQmluZGluZyAoSW1hZ2VIYW5kbGUsIFN5c3RlbVRhYmxlLCAmZ0xwY0Ry aXZlciwNCj4gSW1hZ2VIYW5kbGUpOw0KPiArfQ0KPiArDQo+ICsvKioNCj4gKw0KPiArICBDb250 cm9sbGVyRHJpdmVyIFByb3RvY29sIE1ldGhvZA0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMN Cj4gK0VGSUFQSQ0KPiArTHBjRHJpdmVyU3VwcG9ydGVkICgNCj4gKyAgSU4gRUZJX0RSSVZFUl9C SU5ESU5HX1BST1RPQ09MICAgICpUaGlzLA0KPiArICBJTiBFRklfSEFORExFICAgICAgICAgICAg ICAgICAgICAgQ29udHJvbGxlciwNCj4gKyAgSU4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAg ICAgICpSZW1haW5pbmdEZXZpY2VQYXRoDQo+ICsgICkNCj4gK3sNCj4gKyAgRUZJX1NUQVRVUyAg ICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9QQ0lfSU9fUFJPVE9DT0wgICAgICAgKlBj aUlvOw0KPiArICBFRklfREVWSUNFX1BBVEhfUFJPVE9DT0wgICpJc2FCcmlkZ2VEZXZpY2VQYXRo Ow0KPiArDQo+ICsgIEFDUElfSElEX0RFVklDRV9QQVRIICAgICAgKkFjcGlOb2RlOw0KPiArICBQ Q0lfREVWSUNFX1BBVEggICAgICAgICAgICpQY2lOb2RlOw0KPiArICBQQ0lfVFlQRTAwICAgICAg ICAgICAgICAgIFBjaTsNCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgdGhlIElTQSBicmlkZ2Un cyBEZXZpY2UgUGF0aCBhbmQgdGVzdCBpdA0KPiArICAvLyB0aGUgZm9sbG93aW5nIGNvZGUgaXMg c3BlY2lmaWMNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2wgKA0KPiAr ICAgICAgICAgICAgICAgICAgQ29udHJvbGxlciwNCj4gKyAgICAgICAgICAgICAgICAgICZnRWZp RGV2aWNlUGF0aFByb3RvY29sR3VpZCwNCj4gKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZJ c2FCcmlkZ2VEZXZpY2VQYXRoLA0KPiArICAgICAgICAgICAgICAgICAgVGhpcy0+RHJpdmVyQmlu ZGluZ0hhbmRsZSwNCj4gKyAgICAgICAgICAgICAgICAgIENvbnRyb2xsZXIsDQo+ICsgICAgICAg ICAgICAgICAgICBFRklfT1BFTl9QUk9UT0NPTF9CWV9EUklWRVINCj4gKyAgICAgICAgICAgICAg ICAgICk7DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVy biBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiArICBTdGF0dXMgPSBFRklfU1VDQ0VTUzsNCj4gKyAg QWNwaU5vZGUgPSAgKEFDUElfSElEX0RFVklDRV9QQVRIICopSXNhQnJpZGdlRGV2aWNlUGF0aDsN Cj4gKyAgaWYgKEFjcGlOb2RlLT5IZWFkZXIuVHlwZSAhPSBBQ1BJX0RFVklDRV9QQVRIIHx8DQo+ ICsgICAgICBBY3BpTm9kZS0+SGVhZGVyLlN1YlR5cGUgIT0gQUNQSV9EUCB8fA0KPiArICAgICAg RGV2aWNlUGF0aE5vZGVMZW5ndGggKCZBY3BpTm9kZS0+SGVhZGVyKSAhPQ0KPiBzaXplb2YoQUNQ SV9ISURfREVWSUNFX1BBVEgpIHx8DQo+ICsgICAgICBBY3BpTm9kZSAtPiBISUQgIT0gRUlTQV9Q TlBfSUQoMHgwQTAzKSB8fA0KPiArICAgICAgQWNwaU5vZGUgLT4gVUlEICE9IDAgKSB7DQo+ICsg ICAgU3RhdHVzID0gRUZJX1VOU1VQUE9SVEVEOw0KPiArICB9IGVsc2Ugew0KPiArICAgIC8vDQo+ ICsgICAgLy8gR2V0IHRoZSBuZXh0IG5vZGUNCj4gKyAgICAvLw0KPiArICAgIElzYUJyaWRnZURl dmljZVBhdGggPSBOZXh0RGV2aWNlUGF0aE5vZGUgKElzYUJyaWRnZURldmljZVBhdGgpOw0KPiAr ICAgIFBjaU5vZGUgID0gKFBDSV9ERVZJQ0VfUEFUSCAqKUlzYUJyaWRnZURldmljZVBhdGg7DQo+ ICsgICAgaWYgKFBjaU5vZGUtPkhlYWRlci5UeXBlICE9IEhBUkRXQVJFX0RFVklDRV9QQVRIIHx8 DQo+ICsgICAgICAgIFBjaU5vZGUtPkhlYWRlci5TdWJUeXBlICE9IEhXX1BDSV9EUCB8fA0KPiAr ICAgICAgICBEZXZpY2VQYXRoTm9kZUxlbmd0aCAoJlBjaU5vZGUtPkhlYWRlcikgIT0gc2l6ZW9m DQo+IChQQ0lfREVWSUNFX1BBVEgpIHx8DQo+ICsgICAgICAgIFBjaU5vZGUgLT4gRnVuY3Rpb24g IT0gMHgwMCB8fA0KPiArICAgICAgICBQY2lOb2RlIC0+IERldmljZSAhPSAweDFmICkgew0KPiAr ICAgICAgU3RhdHVzID0gRUZJX1VOU1VQUE9SVEVEOw0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ ICsgIGdCUy0+Q2xvc2VQcm90b2NvbCAoDQo+ICsgICAgICAgICBDb250cm9sbGVyLA0KPiArICAg ICAgICAgJmdFZmlEZXZpY2VQYXRoUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgVGhpcy0+RHJp dmVyQmluZGluZ0hhbmRsZSwNCj4gKyAgICAgICAgIENvbnRyb2xsZXINCj4gKyAgICAgICAgICk7 DQo+ICsNCj4gKyAgaWYgKEVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBFRklf VU5TVVBQT1JURUQ7DQo+ICsgIH0NCj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgUGNpSW8gcHJv dG9jb2wgaW5zdGFuY2UNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5PcGVuUHJvdG9jb2wg KA0KPiArICAgICAgICAgICAgICAgICAgQ29udHJvbGxlciwNCj4gKyAgICAgICAgICAgICAgICAg ICZnRWZpUGNpSW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikm UGNpSW8sDQo+ICsgICAgICAgICAgICAgICAgICBUaGlzLT5Ecml2ZXJCaW5kaW5nSGFuZGxlLA0K PiArICAgICAgICAgICAgICAgICAgQ29udHJvbGxlciwNCj4gKyAgICAgICAgICAgICAgICAgIEVG SV9PUEVOX1BST1RPQ09MX0JZX0RSSVZFUg0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKw0K PiArICBpZiAoRUZJX0VSUk9SKFN0YXR1cykpIHsNCj4gKyAgICByZXR1cm4gU3RhdHVzOw0KPiAr ICB9DQo+ICsNCj4gKyAgU3RhdHVzID0gUGNpSW8tPlBjaS5SZWFkICgNCj4gKyAgICAgICAgICAg ICAgICAgICAgICAgIFBjaUlvLA0KPiArICAgICAgICAgICAgICAgICAgICAgICAgRWZpUGNpSW9X aWR0aFVpbnQzMiwNCj4gKyAgICAgICAgICAgICAgICAgICAgICAgIDAsDQo+ICsgICAgICAgICAg ICAgICAgICAgICAgICBzaXplb2YoUGNpKSAvIHNpemVvZihVSU5UMzIpLA0KPiArICAgICAgICAg ICAgICAgICAgICAgICAgJlBjaQ0KPiArICAgICAgICAgICAgICAgICAgICAgICAgKTsNCj4gKw0K PiArICBpZiAoIUVGSV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIFN0YXR1cyA9IEVGSV9TVUND RVNTOyAvL1RPRE86IGZvcmNlIHJldHVybiBzdWNjZXNzIGFzIHRlbXAgc29sdXRpb24NCj4gRUZJ X1VOU1VQUE9SVEVEOw0KPiArICAgIGlmICgoUGNpLkhkci5Db21tYW5kICYgMHgwMykgPT0gMHgw Mykgew0KPiArICAgICAgaWYgKFBjaS5IZHIuQ2xhc3NDb2RlWzJdID09IFBDSV9DTEFTU19CUklE R0UpIHsNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgLy8gU2VlIGlmIHRoaXMgaXMgYSBzdGFu ZGFyZCBQQ0kgdG8gSVNBIEJyaWRnZSBmcm9tIHRoZSBCYXNlIENvZGUNCj4gKyAgICAgICAgLy8g YW5kIENsYXNzIENvZGUNCj4gKyAgICAgICAgLy8NCj4gKyAgICAgICAgaWYgKFBjaS5IZHIuQ2xh c3NDb2RlWzFdID09IFBDSV9DTEFTU19CUklER0VfSVNBKSB7DQo+ICsgICAgICAgICAgU3RhdHVz ID0gRUZJX1NVQ0NFU1M7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAgIH0NCj4gKw0K PiArICAgICAgICAvLw0KPiArICAgICAgICAvLyBTZWUgaWYgdGhpcyBpcyBhbiBJbnRlbCBQQ0kg dG8gSVNBIGJyaWRnZSBpbiBQb3NpdGl2ZSBEZWNvZGUgTW9kZQ0KPiArICAgICAgICAvLw0KPiAr ICAgICAgICBpZiAoUGNpLkhkci5DbGFzc0NvZGVbMV0gPT0gUENJX0NMQVNTX0JSSURHRV9JU0Ff UERFQ09ERSAmJg0KPiArICAgICAgICAgICAgUGNpLkhkci5WZW5kb3JJZCA9PSAweDgwODYgJiYN Cj4gKyAgICAgICAgICAgIFBjaS5IZHIuRGV2aWNlSWQgPT0gMHg3MTEwKSB7DQo+ICsgICAgICAg ICAgU3RhdHVzID0gRUZJX1NVQ0NFU1M7DQo+ICsgICAgICAgIH0gZWxzZSB7DQo+ICsgICAgICAg IH0NCj4gKyAgICAgIH0gZWxzZSB7DQo+ICsgICAgICB9DQo+ICsgICAgfQ0KPiArICAgIGVsc2Ug ew0KPiArICAgIH0NCj4gKyAgfQ0KPiArDQo+ICsgIGdCUy0+Q2xvc2VQcm90b2NvbCAoDQo+ICsg ICAgICAgICBDb250cm9sbGVyLA0KPiArICAgICAgICAgJmdFZmlQY2lJb1Byb3RvY29sR3VpZCwN Cj4gKyAgICAgICAgIFRoaXMtPkRyaXZlckJpbmRpbmdIYW5kbGUsDQo+ICsgICAgICAgICBDb250 cm9sbGVyDQo+ICsgICAgICAgICApOw0KPiArICByZXR1cm4gU3RhdHVzOw0KPiArfQ0KPiArDQo+ ICsNCj4gKy8qKg0KPiArICBJbnN0YWxsIEVGSV9JU0FfQUNQSV9QUk9UT0NPTA0KPiArDQo+ICsq Ki8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTHBjRHJpdmVyU3RhcnQgKA0KPiArICBJ TiBFRklfRFJJVkVSX0JJTkRJTkdfUFJPVE9DT0wgICAgKlRoaXMsDQo+ICsgIElOIEVGSV9IQU5E TEUgICAgICAgICAgICAgICAgICAgICBDb250cm9sbGVyLA0KPiArICBJTiBFRklfREVWSUNFX1BB VEhfUFJPVE9DT0wgICAgICAgKlJlbWFpbmluZ0RldmljZVBhdGgNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfU1RBVFVTICAgICAgICAgICAgIFN0YXR1czsNCj4gKyAgRUZJX1BDSV9JT19QUk9UT0NP TCAgICAqUGNpSW87DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gR2V0IFBjaSBJTw0KPiArICAvLw0K PiArICBTdGF0dXMgPSBnQlMtPk9wZW5Qcm90b2NvbCAoDQo+ICsgICAgICAgICAgICAgICAgICBD b250cm9sbGVyLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlQY2lJb1Byb3RvY29sR3VpZCwN Cj4gKyAgICAgICAgICAgICAgICAgIChWT0lEICoqKSZQY2lJbywNCj4gKyAgICAgICAgICAgICAg ICAgIFRoaXMtPkRyaXZlckJpbmRpbmdIYW5kbGUsDQo+ICsgICAgICAgICAgICAgICAgICBDb250 cm9sbGVyLA0KPiArICAgICAgICAgICAgICAgICAgRUZJX09QRU5fUFJPVE9DT0xfQllfRFJJVkVS DQo+ICsgICAgICAgICAgICAgICAgICApOw0KPiArDQo+ICsgIGlmIChFRklfRVJST1IgKFN0YXR1 cykgJiYgU3RhdHVzICE9IEVGSV9BTFJFQURZX1NUQVJURUQpIHsNCj4gKyAgICByZXR1cm4gU3Rh dHVzOw0KPiArICB9DQo+ICsNCj4gKyAgbUxwYy5QY2lJbyA9IFBjaUlvOw0KPiArDQo+ICsgIC8v DQo+ICsgIC8vIEluc3RhbGwgSXNhQWNwaSBpbnRlcmZhY2UsIHRoZSBTaW8gaW50ZXJmYWNlIGlz IG5vdCBpbnN0YWxsZWQhDQo+ICsgIC8vDQo+ICsgIFN0YXR1cyA9IGdCUy0+SW5zdGFsbE11bHRp cGxlUHJvdG9jb2xJbnRlcmZhY2VzICgNCj4gKyAgICAgICAgICAgICAgICAgICZDb250cm9sbGVy LA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlJc2FBY3BpUHJvdG9jb2xHdWlkLA0KPiArICAg ICAgICAgICAgICAgICAgJm1McGMuSXNhQWNwaSwNCj4gKyAgICAgICAgICAgICAgICAgIE5VTEwN Cj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIHJldHVybiBTdGF0dXM7DQo+ICt9DQo+ICsN Cj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtMcGNEcml2ZXJTdG9wICgNCj4gKyAg SU4gIEVGSV9EUklWRVJfQklORElOR19QUk9UT0NPTCAgICAqVGhpcywNCj4gKyAgSU4gIEVGSV9I QU5ETEUgICAgICAgICAgICAgICAgICAgICBDb250cm9sbGVyLA0KPiArICBJTiAgVUlOVE4gICAg ICAgICAgICAgICAgICAgICAgICAgIE51bWJlck9mQ2hpbGRyZW4sDQo+ICsgIElOICBFRklfSEFO RExFICAgICAgICAgICAgICAgICAgICAgKkNoaWxkSGFuZGxlQnVmZmVyDQo+ICsgICkNCj4gK3sN Cj4gKyAgRUZJX1NUQVRVUyAgICAgICAgICAgICBTdGF0dXM7DQo+ICsgIEVGSV9JU0FfQUNQSV9Q Uk9UT0NPTCAgKklzYUFjcGk7DQo+ICsgIExQQ19ERVYgICAgICAgICAgICAgICAgKkxwY0RldjsN Cj4gKw0KPiArICAvLw0KPiArICAvLyBHZXQgRUZJX0lTQV9BQ1BJX1BST1RPQ09MIGludGVyZmFj ZQ0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPk9wZW5Qcm90b2NvbCAoDQo+ICsgICAgICAg ICAgICAgICAgICBDb250cm9sbGVyLA0KPiArICAgICAgICAgICAgICAgICAgJmdFZmlJc2FBY3Bp UHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAgKFZPSUQgKiopJklzYUFjcGksDQo+ ICsgICAgICAgICAgICAgICAgICBUaGlzLT5Ecml2ZXJCaW5kaW5nSGFuZGxlLA0KPiArICAgICAg ICAgICAgICAgICAgQ29udHJvbGxlciwNCj4gKyAgICAgICAgICAgICAgICAgIEVGSV9PUEVOX1BS T1RPQ09MX0dFVF9QUk9UT0NPTA0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVG SV9FUlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0K PiArICBMcGNEZXYgPSBMUENfSVNBX0FDUElfRlJPTV9USElTIChJc2FBY3BpKTsNCj4gKw0KPiAr ICAvLw0KPiArICAvLyBVbmluc3RhbGwgcHJvdG9jb2wgaW50ZXJmYWNlOiBFRklfSVNBX0FDUElf UFJPVE9DT0wNCj4gKyAgLy8NCj4gKyAgU3RhdHVzID0gZ0JTLT5Vbmluc3RhbGxQcm90b2NvbElu dGVyZmFjZSAoDQo+ICsgICAgICAgICAgICAgICAgICBDb250cm9sbGVyLA0KPiArICAgICAgICAg ICAgICAgICAgJmdFZmlJc2FBY3BpUHJvdG9jb2xHdWlkLA0KPiArICAgICAgICAgICAgICAgICAg JkxwY0Rldi0+SXNhQWNwaQ0KPiArICAgICAgICAgICAgICAgICAgKTsNCj4gKyAgaWYgKEVGSV9F UlJPUiAoU3RhdHVzKSkgew0KPiArICAgIHJldHVybiBTdGF0dXM7DQo+ICsgIH0NCj4gKw0KPiAr ICBnQlMtPkNsb3NlUHJvdG9jb2wgKA0KPiArICAgICAgICAgQ29udHJvbGxlciwNCj4gKyAgICAg ICAgICZnRWZpUGNpSW9Qcm90b2NvbEd1aWQsDQo+ICsgICAgICAgICBUaGlzLT5Ecml2ZXJCaW5k aW5nSGFuZGxlLA0KPiArICAgICAgICAgQ29udHJvbGxlcg0KPiArICAgICAgICAgKTsNCj4gKw0K PiArICByZXR1cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gK1ZPSUQNCj4gK0xwY0lvUmVh ZDggKA0KPiArICBJTiAgVUlOVDE2ICBQb3J0LA0KPiArICBPVVQgVUlOVDggICAqRGF0YQ0KPiAr ICApDQo+ICt7DQo+ICsgIG1McGMuUGNpSW8tPklvLlJlYWQoDQo+ICsgICAgICAgICAgICAgICAg ICAgbUxwYy5QY2lJbywNCj4gKyAgICAgICAgICAgICAgICAgICBFZmlQY2lXaWR0aFVpbnQ4LA0K PiArICAgICAgICAgICAgICAgICAgIEVGSV9QQ0lfSU9fUEFTU19USFJPVUdIX0JBUiwNCj4gKyAg ICAgICAgICAgICAgICAgICBQb3J0LA0KPiArICAgICAgICAgICAgICAgICAgIDEsDQo+ICsgICAg ICAgICAgICAgICAgICAgRGF0YQ0KPiArICAgICAgICAgICAgICAgICAgICk7DQo+ICt9DQo+ICsN Cj4gK1ZPSUQNCj4gK0xwY0lvV3JpdGU4ICgNCj4gKyAgSU4gIFVJTlQxNiAgUG9ydCwNCj4gKyAg SU4gIFVJTlQ4ICAgRGF0YQ0KPiArICApDQo+ICt7DQo+ICsgIG1McGMuUGNpSW8tPklvLldyaXRl KA0KPiArICAgICAgICAgICAgICAgICAgIG1McGMuUGNpSW8sDQo+ICsgICAgICAgICAgICAgICAg ICAgRWZpUGNpV2lkdGhVaW50OCwNCj4gKyAgICAgICAgICAgICAgICAgICBFRklfUENJX0lPX1BB U1NfVEhST1VHSF9CQVIsDQo+ICsgICAgICAgICAgICAgICAgICAgUG9ydCwNCj4gKyAgICAgICAg ICAgICAgICAgICAxLA0KPiArICAgICAgICAgICAgICAgICAgICZEYXRhDQo+ICsgICAgICAgICAg ICAgICAgICAgKTsNCj4gK30NCj4gKw0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2 MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNEcml2ZXIuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL1dwY2U3OTEvTHBjRHJpdmVyLmgNCj4gbmV3IGZpbGUgbW9kZSAxMDA2 NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uNWUyNjQ0ODVlNw0KPiAtLS0gL2Rldi9udWxsDQo+ICsr KyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3OTEvTHBjRHJpdmVyLmgN Cj4gQEAgLTAsMCArMSwxMTIgQEANCj4gKy8qKysNCj4gKw0KPiArICBDb3B5cmlnaHQgKGMpIDIw MDQgIC0gMjAxNCwgSW50ZWwgQ29ycG9yYXRpb24uIEFsbCByaWdodHMgcmVzZXJ2ZWQuPEJSPg0K PiArDQo+IA0KPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVu dA0KPiArDQo+ICsNCj4gDQo+ICsNCj4gK01vZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgTHBjRHJp dmVyLmgNCj4gKw0KPiArQWJzdHJhY3Q6DQo+ICsNCj4gKyAgICBFRkkgTHBjIERyaXZlciBmb3Ig YSBHZW5lcmljIFBDIFBsYXRmb3JtDQo+ICsNCj4gKw0KPiArDQo+ICstLSovDQo+ICsNCj4gKyNp Zm5kZWYgX0xQQ19EUklWRVJfSA0KPiArI2RlZmluZSBfTFBDX0RSSVZFUl9IDQo+ICsNCj4gKyAj aW5jbHVkZSAiTHBjU2lvLmgiDQo+ICsgI2luY2x1ZGUgIkxwY0lzYUFjcGkuaCINCj4gKw0KPiAr I2luY2x1ZGUgIlByb3RvY29sL0lzYUFjcGkuaCINCj4gKyNpbmNsdWRlICJQcm90b2NvbC9QY2lJ by5oIg0KPiArI2luY2x1ZGUgIlByb3RvY29sL0RyaXZlckJpbmRpbmcuaCINCj4gKyNpbmNsdWRl ICJMaWJyYXJ5L1VlZmlCb290U2VydmljZXNUYWJsZUxpYi5oIg0KPiArI2luY2x1ZGUgIklzYUFj cGlEeGUvUGNhdElzYUFjcGkuaCINCj4gKyNpbmNsdWRlICJJbmR1c3RyeVN0YW5kYXJkL1BjaTIy LmgiDQo+ICsjaW5jbHVkZSAiUHJvdG9jb2wvTHBjV3BjZTc5MVBvbGljeS5oIg0KPiArDQo+ICsj aW5jbHVkZSA8TGlicmFyeS9EZWJ1Z0xpYi5oPg0KPiArDQo+ICsjZGVmaW5lIElDSF9MUENfQlJJ REdFX0JVU19ERVZfRlVOQyAweDFGMDAwMA0KPiArDQo+ICsvLw0KPiArLy8gTFBDIGRldmljZSBw cml2YXRlIGRhdGEgc3RydWN0dXJlDQo+ICsvLw0KPiArLy8jZGVmaW5lIExQQ19ERVZfU0lHTkFU VVJFICdXODdYJw0KPiArI2RlZmluZSBMUENfREVWX1NJR05BVFVSRSBTSUdOQVRVUkVfMzIoJ1gn LCAnNycsICc4JywgJ1cnKSAvLydXODdYJw0KPiArI2RlZmluZSBFRklfV1BDRTc5MV9QUzJfS0VZ Qk9BUkRfRU5BQkxFICAgICAgIDB4MDENCj4gKyNkZWZpbmUgRUZJX1dQQ0U3OTFfUFMyX0tFWUJP QVJEX0RJU0FCTEUgICAgICAweDAwDQo+ICsNCj4gKyNkZWZpbmUgRUZJX1dQQ0U3OTFfUFMyX01P VVNFX0VOQUJMRSAgICAgICAweDAxDQo+ICsjZGVmaW5lIEVGSV9XUENFNzkxX1BTMl9NT1VTRV9E SVNBQkxFICAgICAgMHgwMA0KPiArDQo+ICsNCj4gKw0KPiArdHlwZWRlZiBzdHJ1Y3Qgew0KPiAr ICBVSU5UTiAgICAgICAgICAgICAgICAgU2lnbmF0dXJlOw0KPiArICBFRklfSEFORExFICAgICAg ICAgICAgSGFuZGxlOw0KPiArICBFRklfSVNBX0FDUElfUFJPVE9DT0wgSXNhQWNwaTsNCj4gKyAg RUZJX1BDSV9JT19QUk9UT0NPTCAgICpQY2lJbzsNCj4gKw0KPiArfSBMUENfREVWOw0KPiArDQo+ ICsjZGVmaW5lIExQQ19JU0FfQUNQSV9GUk9NX1RISVMoYSkgQkFTRV9DUiAoYSwgTFBDX0RFViwg SXNhQWNwaSkNCj4gKw0KPiArLy8NCj4gKy8vIERyaXZlciBlbnRyeSBwb2ludA0KPiArLy8NCj4g K0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArTHBjRHJpdmVyRW50cnlQb2ludCAoDQo+ICsgIElO IEVGSV9IQU5ETEUgICAgICAgICAgIEltYWdlSGFuZGxlLA0KPiArICBJTiBFRklfU1lTVEVNX1RB QkxFICAgICAqU3lzdGVtVGFibGUNCj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlw ZXMgZm9yIERyaXZlciBtb2RlbCBwcm90b2NvbCBpbnRlcmZhY2UNCj4gKy8vDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0xwY0RyaXZlclN1cHBvcnRlZCAoDQo+ICsgIElOIEVGSV9EUklW RVJfQklORElOR19QUk9UT0NPTCAgICAqVGhpcywNCj4gKyAgSU4gRUZJX0hBTkRMRSAgICAgICAg ICAgICAgICAgICAgIENvbnRyb2xsZXIsDQo+ICsgIElOIEVGSV9ERVZJQ0VfUEFUSF9QUk9UT0NP TCAgICAgICAqUmVtYWluaW5nRGV2aWNlUGF0aA0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVT DQo+ICtFRklBUEkNCj4gK0xwY0RyaXZlclN0YXJ0ICgNCj4gKyAgSU4gRUZJX0RSSVZFUl9CSU5E SU5HX1BST1RPQ09MICAgICpUaGlzLA0KPiArICBJTiBFRklfSEFORExFICAgICAgICAgICAgICAg ICAgICAgQ29udHJvbGxlciwNCj4gKyAgSU4gRUZJX0RFVklDRV9QQVRIX1BST1RPQ09MICAgICAg ICpSZW1haW5pbmdEZXZpY2VQYXRoDQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMNCj4gK0VG SUFQSQ0KPiArTHBjRHJpdmVyU3RvcCAoDQo+ICsgIElOICBFRklfRFJJVkVSX0JJTkRJTkdfUFJP VE9DT0wgICAgKlRoaXMsDQo+ICsgIElOICBFRklfSEFORExFICAgICAgICAgICAgICAgICAgICAg Q29udHJvbGxlciwNCj4gKyAgSU4gIFVJTlROICAgICAgICAgICAgICAgICAgICAgICAgICBOdW1i ZXJPZkNoaWxkcmVuLA0KPiArICBJTiAgRUZJX0hBTkRMRSAgICAgICAgICAgICAgICAgICAgICpD aGlsZEhhbmRsZUJ1ZmZlcg0KPiArICApOw0KPiArDQo+ICtWT0lEDQo+ICtMcGNJb1JlYWQ4ICgN Cj4gKyAgSU4gIFVJTlQxNiAgUG9ydCwNCj4gKyAgT1VUIFVJTlQ4ICAgKkRhdGENCj4gKyAgKTsN Cj4gKw0KPiArVk9JRA0KPiArTHBjSW9Xcml0ZTggKA0KPiArICBJTiAgVUlOVDE2ICBQb3J0LA0K PiArICBJTiAgVUlOVDggICBEYXRhDQo+ICsgICk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0t Z2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNJc2FBY3Bp LmMNCj4gYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL0xwY0lzYUFj cGkuYw0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi45YzBiNzli MTVjDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZp Y2VQa2cvV3BjZTc5MS9McGNJc2FBY3BpLmMNCj4gQEAgLTAsMCArMSwzNjYgQEANCj4gKy8qKiBA ZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3Jh dGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5z ZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiAr TW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgICBMcGNJc2FBY3BpLmMNCj4gKw0KPiArQWJzdHJhY3Q6 IElzYUFjcGkgaW1wbGVtZW50YXRpb24NCj4gKw0KPiArDQo+ICsNCj4gKy0tKi8NCj4gKw0KPiAr I2luY2x1ZGUgIkxwY0RyaXZlci5oIg0KPiArDQo+ICsvLw0KPiArLy8gUFMvMiBLZXlib2FyZCBD b250cm9sbGVyDQo+ICsvLw0KPiArc3RhdGljIEVGSV9JU0FfQUNQSV9SRVNPVVJDRQ0KPiBtTHBj V3BjZTc5MVBzMktleWJvYXJkRGV2aWNlUmVzb3VyY2VzW10gPSB7DQo+ICsgIHtFZmlJc2FBY3Bp UmVzb3VyY2VJbywgICAgICAgIDAsIDB4NjAsIDB4NjR9LA0KPiArICB7RWZpSXNhQWNwaVJlc291 cmNlSW50ZXJydXB0LCAwLCAxLCAgICAgMH0sDQo+ICsgIHtFZmlJc2FBY3BpUmVzb3VyY2VFbmRP Zkxpc3QsIDAsIDAsICAgICAwfQ0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIFBTLzIgTW91c2Ug Q29udHJvbGxlcg0KPiArLy8NCj4gK3N0YXRpYyBFRklfSVNBX0FDUElfUkVTT1VSQ0UgIG1McGNX cGNlNzkxUHMyTW91c2VEZXZpY2VSZXNvdXJjZXNbXQ0KPiA9IHsNCj4gKyAge0VmaUlzYUFjcGlS ZXNvdXJjZUlvLCAgICAgICAgMCwgMHg2MCwgMHg2NH0sDQo+ICsgIHtFZmlJc2FBY3BpUmVzb3Vy Y2VJbnRlcnJ1cHQsIDAsIDEyLCAgICAgMH0sDQo+ICsgIHtFZmlJc2FBY3BpUmVzb3VyY2VFbmRP Zkxpc3QsIDAsIDAsICAgICAwfQ0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIENPTQ0KPiArLy8N Cj4gK3N0YXRpYyBFRklfSVNBX0FDUElfUkVTT1VSQ0UgIG1McGNXcGNlNzkxQ29tRGV2aWNlUmVz b3VyY2VzW10gPSB7DQo+ICsgIHtFZmlJc2FBY3BpUmVzb3VyY2VJbywgICAgICAgIDAsIDB4M2Y4 LCAweDNmZn0sDQo+ICsgIHtFZmlJc2FBY3BpUmVzb3VyY2VJbnRlcnJ1cHQsIDAsIDQsICAgICAw fSwNCj4gKyAge0VmaUlzYUFjcGlSZXNvdXJjZUVuZE9mTGlzdCwgMCwgMCwgICAgIDB9DQo+ICt9 Ow0KPiArDQo+ICsvLw0KPiArLy8gVGFibGUgb2YgSVNBIENvbnRyb2xsZXJzDQo+ICsvLw0KPiAr RUZJX0lTQV9BQ1BJX1JFU09VUkNFX0xJU1QgbUxwY1dwY2U3OTFEZXZpY2VMaXN0W10gPSB7DQo+ ICsgIHt7RUlTQV9QTlBfSUQoMHgzMDMpLCAwfSwgbUxwY1dwY2U3OTFQczJLZXlib2FyZERldmlj ZVJlc291cmNlcyB9LA0KPiAvLyBQUy8yIEtleWJvYXJkIENvbnRyb2xsZXINCj4gKyAge3tFSVNB X1BOUF9JRCgweEYwMyksIDB9LCBtTHBjV3BjZTc5MVBzMk1vdXNlRGV2aWNlUmVzb3VyY2VzDQo+ IAkgIH0sIC8vIFBTLzIgTW91c2UgQ29udHJvbGxlcg0KPiArICB7e0VJU0FfUE5QX0lEKDB4NTAx KSwgMH0sIG1McGNXcGNlNzkxQ29tRGV2aWNlUmVzb3VyY2VzCSAgICAgIH0sDQo+IC8vIENPTQ0K PiArICB7ezAsICAgICAgICAgICAgICAgICAgMH0sIE5VTEwgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgfSAgLy8gRW5kDQo+ICt9Ow0KPiArDQo+ICtzdGF0aWMgSUNIX0RNQV9JTklU ICBtSWNoRG1hSW5pdFRhYmxlIFtdID0gew0KPiArLy8NCj4gKy8vUmVnaXN0ZXIgT0ZGU0VULCAg ICAgICAgICAgVmFsdWUNCj4gKy8vDQo+ICsNCj4gKyAgICAgICAgICAgIDB4MEQ4LCAgICAgICAg ICAgMHgwMDAsICAgLy8gUmVzZXQgRE1BIENvbnRyb2xsZXIgMg0KPiArICAgICAgICAgICAgMHgw RDAsICAgICAgICAgICAweDAwMCwgICAvLyBFbmFibGUgRE1BIGNvbnRyb2xsZXIgMg0KPiArICAg ICAgICAgICAgMHgwMEMsICAgICAgICAgICAweDAwMCwgICAvLyBSZXNldCBETUEgQ29udHJvbGxl ciAxDQo+ICsgICAgICAgICAgICAweDAwOCwgICAgICAgICAgIDB4MDAwLCAgIC8vIEVuYWJsZSBE TUEgY29udHJvbGxlciAxDQo+ICsNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAv LyBDaGFubmVsIDQNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAweDBENiwgICAg ICAgICAgIDB4MGMwLCAgIC8vIERNQSBjb250ci4gMiBDYXNjYWRlIG1vZGUsIGFkZHIuIGluY3Jl bWVudCwNCj4gZGlzYWJsZSBhdXRvIGluaXQuDQo+ICsgICAgICAgICAgICAweDBEMiwgICAgICAg ICAgIDB4MDAwLCAgIC8vIENsZWFyIHdyaXRlIHJlcXVlc3QgcmVnaXN0ZXINCj4gKyAgICAgICAg ICAgIDB4MGQ0LCAgICAgICAgICAgMHgwMDAsICAgLy8gRW5hYmxlIERSRVFzIGZvciBjaGFubmVs DQo+ICsNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAvLyBDaGFubmVsIDANCj4g KyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAweDAwQiwgICAgICAgICAgIDB4MDQwLCAg IC8vIERNQSBjb250ci4gMSBzaW5nbGUgbW9kZSwgYWRkci4gaW5jcmVtZW50LA0KPiBkaXNhYmxl IGF1dG8gaW5pdC4NCj4gKyAgICAgICAgICAgIDB4MDA5LCAgICAgICAgICAgMHgwMDAsICAgLy8g Q2xlYXIgd3JpdGUgcmVxdWVzdCByZWdpc3Rlcg0KPiArICAgICAgICAgICAgMHgwMEEsICAgICAg ICAgICAweDAwMCwgICAvLyBFbmFibGUgRFJFUXMgZm9yIGNoYW5uZWwNCj4gKw0KPiArICAgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vIENoYW5uZWwgMQ0KPiArICAgICAgICAgICAgLy8N Cj4gKyAgICAgICAgICAgIDB4MDBCLCAgICAgICAgICAgMHgwNDEsICAgLy8gRE1BIGNvbnRyLiAx IHNpbmdsZSBtb2RlLCBhZGRyLiBpbmNyZW1lbnQsDQo+IGRpc2FibGUgYXV0byBpbml0Lg0KPiAr ICAgICAgICAgICAgMHgwMDksICAgICAgICAgICAweDAwMSwgICAvLyBDbGVhciB3cml0ZSByZXF1 ZXN0IHJlZ2lzdGVyDQo+ICsgICAgICAgICAgICAweDAwQSwgICAgICAgICAgIDB4MDAxLCAgIC8v IEVuYWJsZSBEUkVRcyBmb3IgY2hhbm5lbA0KPiArDQo+ICsgICAgICAgICAgICAvLw0KPiArICAg ICAgICAgICAgLy8gQ2hhbm5lbCAyDQo+ICsgICAgICAgICAgICAvLw0KPiArICAgICAgICAgICAg MHgwMEIsICAgICAgICAgICAweDA0MiwgICAvLyBETUEgY29udHIuIDEgc2luZ2xlIG1vZGUsIGFk ZHIuIGluY3JlbWVudCwNCj4gZGlzYWJsZSBhdXRvIGluaXQuDQo+ICsgICAgICAgICAgICAweDAw OSwgICAgICAgICAgIDB4MDAyLCAgIC8vIENsZWFyIHdyaXRlIHJlcXVlc3QgcmVnaXN0ZXINCj4g KyAgICAgICAgICAgIDB4MDBBLCAgICAgICAgICAgMHgwMDIsICAgLy8gRW5hYmxlIERSRVFzIGZv ciBjaGFubmVsDQo+ICsNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAvLyBDaGFu bmVsIDMNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAweDAwQiwgICAgICAgICAg IDB4MDQzLCAgIC8vIERNQSBjb250ci4gMSBzaW5nbGUgbW9kZSwgYWRkci4gaW5jcmVtZW50LA0K PiBkaXNhYmxlIGF1dG8gaW5pdC4NCj4gKyAgICAgICAgICAgIDB4MDA5LCAgICAgICAgICAgMHgw MDMsICAgLy8gQ2xlYXIgd3JpdGUgcmVxdWVzdCByZWdpc3Rlcg0KPiArICAgICAgICAgICAgMHgw MEEsICAgICAgICAgICAweDAwMywgICAvLyBFbmFibGUgRFJFUXMgZm9yIGNoYW5uZWwNCj4gKw0K PiArICAgICAgICAgICAgLy8NCj4gKyAgICAgICAgICAgIC8vIENoYW5uZWwgNQ0KPiArICAgICAg ICAgICAgLy8NCj4gKyAgICAgICAgICAgIDB4MEQ2LCAgICAgICAgICAgMHgwNDEsICAgLy8gRE1B IGNvbnRyLiAyIHNpbmdsZSBtb2RlLCBhZGRyLiBpbmNyZW1lbnQsDQo+IGRpc2FibGUgYXV0byBp bml0Lg0KPiArICAgICAgICAgICAgMHgwRDIsICAgICAgICAgICAweDAwMSwgICAvLyBDbGVhciB3 cml0ZSByZXF1ZXN0IHJlZ2lzdGVyDQo+ICsgICAgICAgICAgICAweDBENCwgICAgICAgICAgIDB4 MDAxLCAgIC8vIEVuYWJsZSBEUkVRcyBmb3IgY2hhbm5lbA0KPiArDQo+ICsgICAgICAgICAgICAv Lw0KPiArICAgICAgICAgICAgLy8gQ2hhbm5lbCA2DQo+ICsgICAgICAgICAgICAvLw0KPiArICAg ICAgICAgICAgMHgwRDYsICAgICAgICAgICAweDA0MiwgICAvLyBETUEgY29udHIuIDIgc2luZ2xl IG1vZGUsIGFkZHIuIGluY3JlbWVudCwNCj4gZGlzYWJsZSBhdXRvIGluaXQuDQo+ICsgICAgICAg ICAgICAweDBEMiwgICAgICAgICAgIDB4MDAyLCAgIC8vIENsZWFyIHdyaXRlIHJlcXVlc3QgcmVn aXN0ZXINCj4gKyAgICAgICAgICAgIDB4MEQ0LCAgICAgICAgICAgMHgwMDIsICAgLy8gRW5hYmxl IERSRVFzIGZvciBjaGFubmVsDQo+ICsNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAg ICAvLyBDaGFubmVsIDcNCj4gKyAgICAgICAgICAgIC8vDQo+ICsgICAgICAgICAgICAweDBENiwg ICAgICAgICAgIDB4MDQzLCAgIC8vIERNQSBjb250ci4gMiBzaW5nbGUgbW9kZSwgYWRkci4gaW5j cmVtZW50LA0KPiBkaXNhYmxlIGF1dG8gaW5pdC4NCj4gKyAgICAgICAgICAgIDB4MEQyLCAgICAg ICAgICAgMHgwMDMsICAgLy8gQ2xlYXIgd3JpdGUgcmVxdWVzdCByZWdpc3Rlcg0KPiArICAgICAg ICAgICAgMHgwRDQsICAgICAgICAgICAweDAwMyAgICAvLyBFbmFibGUgRFJFUXMgZm9yIGNoYW5u ZWwNCj4gKw0KPiArfTsNCj4gKw0KPiArLy8NCj4gKy8vIElTQSBBQ1BJIFByb3RvY29sIEZ1bmN0 aW9ucw0KPiArLy8NCj4gKy8qKg0KPiArDQo+ICsgIEVudW1lcmF0ZSB0aGUgSVNBIGRldmljZXMg b24gdGhlIElTQSBidXMNCj4gKw0KPiArKiovDQo+ICtWT0lEDQo+ICtJc2FEZXZpY2VMb29rdXAg KA0KPiArICBJTiAgRUZJX0lTQV9BQ1BJX0RFVklDRV9JRCAgICAgICpEZXZpY2UsDQo+ICsgIE9V VCBFRklfSVNBX0FDUElfUkVTT1VSQ0VfTElTVCAgKipJc2FBY3BpRGV2aWNlLA0KPiArICBPVVQg RUZJX0lTQV9BQ1BJX1JFU09VUkNFX0xJU1QgICoqTmV4dElzYUFjcGlEZXZpY2UNCj4gKyAgKQ0K PiArew0KPiArICBVSU5UTiAgSW5kZXg7DQo+ICsNCj4gKyAgKklzYUFjcGlEZXZpY2UgPSBOVUxM Ow0KPiArICBpZiAoTmV4dElzYUFjcGlEZXZpY2UgIT0gTlVMTCkgew0KPiArICAgICpOZXh0SXNh QWNwaURldmljZSA9IE5VTEw7DQo+ICsgIH0NCj4gKyAgaWYgKERldmljZSA9PSBOVUxMKSB7DQo+ ICsgICAgSW5kZXggPSAwOw0KPiArICB9IGVsc2Ugew0KPiArICAgIGZvcihJbmRleCA9IDA7IG1M cGNXcGNlNzkxRGV2aWNlTGlzdFtJbmRleF0uRGV2aWNlLkhJRCAhPSAwOyBJbmRleCsrKSB7DQo+ ICsgICAgICBpZiAoRGV2aWNlLT5ISUQgPT0gbUxwY1dwY2U3OTFEZXZpY2VMaXN0W0luZGV4XS5E ZXZpY2UuSElEICYmDQo+ICsgICAgICAgICAgRGV2aWNlLT5VSUQgPT0gbUxwY1dwY2U3OTFEZXZp Y2VMaXN0W0luZGV4XS5EZXZpY2UuVUlEICAgICkgew0KPiArICAgICAgICBicmVhazsNCj4gKyAg ICAgIH0NCj4gKyAgICB9DQo+ICsgICAgaWYgKG1McGNXcGNlNzkxRGV2aWNlTGlzdFtJbmRleF0u RGV2aWNlLkhJRCA9PSAwKSB7DQo+ICsgICAgICByZXR1cm47DQo+ICsgICAgfQ0KPiArICAgICpJ c2FBY3BpRGV2aWNlID0gJihtTHBjV3BjZTc5MURldmljZUxpc3RbSW5kZXhdKTsNCj4gKyAgICBJ bmRleCsrOw0KPiArICB9DQo+ICsgIGlmIChOZXh0SXNhQWNwaURldmljZSAhPSBOVUxMICYmDQo+ IG1McGNXcGNlNzkxRGV2aWNlTGlzdFtJbmRleF0uRGV2aWNlLkhJRCAhPSAwKXsNCj4gKyAgICAq TmV4dElzYUFjcGlEZXZpY2UgPSAmKG1McGNXcGNlNzkxRGV2aWNlTGlzdFtJbmRleF0pOw0KPiAr ICB9DQo+ICt9DQo+ICsNCj4gKw0KPiArLyoqDQo+ICsgIEVudW1lcmF0ZSB0aGUgSVNBIGRldmlj ZXMgb24gdGhlIElTQSBidXMNCj4gKyAgSXQgaXMgaGFyZCBjb2RlIG5vdyBhbmQgZnV0dXJlIGl0 IHdpbGwgZ2V0IGZyb20gQUNQSSB0YWJsZQ0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4g K0VGSUFQSQ0KPiArSXNhRGV2aWNlRW51bWVyYXRlICgNCj4gKyAgSU4gICAgIEVGSV9JU0FfQUNQ SV9QUk9UT0NPTCAgICAgICAqVGhpcywNCj4gKyAgT1VUICAgIEVGSV9JU0FfQUNQSV9ERVZJQ0Vf SUQgICAgICAqKkRldmljZQ0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9JU0FfQUNQSV9SRVNPVVJD RV9MSVNUICAqSXNhQWNwaURldmljZTsNCj4gKyAgRUZJX0lTQV9BQ1BJX1JFU09VUkNFX0xJU1Qg ICpOZXh0SXNhQWNwaURldmljZTsNCj4gKw0KPiArICBJc2FEZXZpY2VMb29rdXAgKCpEZXZpY2Us ICZJc2FBY3BpRGV2aWNlLCAmTmV4dElzYUFjcGlEZXZpY2UpOw0KPiArICBpZiAoTmV4dElzYUFj cGlEZXZpY2UgPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5EOw0KPiArICB9 DQo+ICsgICpEZXZpY2UgPSAmKE5leHRJc2FBY3BpRGV2aWNlLT5EZXZpY2UpOw0KPiArICByZXR1 cm4gRUZJX1NVQ0NFU1M7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArICBTZXQgSVNBIGRldmljZSBw b3dlciB1c2Ugc2lvDQo+ICsNCj4gKyoqLw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtJ c2FEZXZpY2VTZXRQb3dlciAoDQo+ICsgIElOICAgICBFRklfSVNBX0FDUElfUFJPVE9DT0wgICAg ICAgKlRoaXMsDQo+ICsgIElOICAgICBFRklfSVNBX0FDUElfREVWSUNFX0lEICAgICAgKkRldmlj ZSwNCj4gKyAgSU4gICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBPbk9mZg0KPiArICAp DQo+ICt7DQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JURUQ7DQo+ICt9DQo+ICsNCj4gKw0KPiAr LyoqDQo+ICsgIEdldCBjdXJyZW50IFJlc291cmNlIG9mIHRoZSBzcGVjaWZpYyBJU0EgZGV2aWNl DQo+ICsgIEl0IGlzIGhhcmRjb2RlIG5vdyBhbmQgZnV0dXJlIHdpbGwgZ2V0IGZyb20gQUNQSSB0 YWJsZQ0KPiArDQo+ICsqKi8NCj4gK0VGSV9TVEFUVVMNCj4gK0VGSUFQSQ0KPiArSXNhR2V0Q3Vy cmVudFJlc291cmNlICgNCj4gKyAgSU4gICAgIEVGSV9JU0FfQUNQSV9QUk9UT0NPTCAgICAgICAg KlRoaXMsDQo+ICsgIElOICAgICBFRklfSVNBX0FDUElfREVWSUNFX0lEICAgICAgICpEZXZpY2Us DQo+ICsgIE9VVCAgICBFRklfSVNBX0FDUElfUkVTT1VSQ0VfTElTVCAgICoqUmVzb3VyY2VMaXN0 DQo+ICsgICkNCj4gK3sNCj4gKyAgSXNhRGV2aWNlTG9va3VwIChEZXZpY2UsIFJlc291cmNlTGlz dCwgTlVMTCk7DQo+ICsgIGlmICgqUmVzb3VyY2VMaXN0ID09IE5VTEwgfHwgKCpSZXNvdXJjZUxp c3QpLT5SZXNvdXJjZUl0ZW0gPT0gTlVMTCkgew0KPiArICAgIHJldHVybiBFRklfTk9UX0ZPVU5E Ow0KPiArICB9DQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtJc2FHZXRQb3NzaWJsZVJlc291cmNlICgNCj4gKyAgSU4gICAg IEVGSV9JU0FfQUNQSV9QUk9UT0NPTCAgICAgICAqVGhpcywNCj4gKyAgSU4gICAgIEVGSV9JU0Ff QUNQSV9ERVZJQ0VfSUQgICAgICAqRGV2aWNlLA0KPiArICBPVVQgICAgRUZJX0lTQV9BQ1BJX1JF U09VUkNFX0xJU1QgICoqUmVzb3VyY2VMaXN0DQo+ICsgICkNCj4gK3sNCj4gKyAgLy8NCj4gKyAg Ly8gTm90IHN1cHBvcnRlZCB5ZXQNCj4gKyAgLy8NCj4gKyAgcmV0dXJuIEVGSV9VTlNVUFBPUlRF RDsNCj4gK30NCj4gKw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0lzYVNldFJl c291cmNlICgNCj4gKyAgSU4gICAgIEVGSV9JU0FfQUNQSV9QUk9UT0NPTCAgICAgICAqVGhpcywN Cj4gKyAgSU4gICAgIEVGSV9JU0FfQUNQSV9ERVZJQ0VfSUQgICAgICAqRGV2aWNlLA0KPiArICBJ TiAgICAgRUZJX0lTQV9BQ1BJX1JFU09VUkNFX0xJU1QgICpSZXNvdXJjZUxpc3QNCj4gKyAgKQ0K PiArew0KPiArICByZXR1cm4gRUZJX1VOU1VQUE9SVEVEOw0KPiArfQ0KPiArDQo+ICtFRklfU1RB VFVTDQo+ICtFRklBUEkNCj4gK0lzYUVuYWJsZURldmljZSAoDQo+ICsgIElOICAgIEVGSV9JU0Ff QUNQSV9QUk9UT0NPTCAgICAgICAgKlRoaXMsDQo+ICsgIElOICAgIEVGSV9JU0FfQUNQSV9ERVZJ Q0VfSUQgICAgICAgKkRldmljZSwNCj4gKyAgSU4gICAgQk9PTEVBTiAgICAgICAgICAgICAgICAg ICAgICBFbmFibGUNCj4gKyAgKQ0KPiArew0KPiArDQo+ICsgIHJldHVybiBFRklfVU5TVVBQT1JU RUQ7DQo+ICt9DQo+ICsNCj4gKy8qKg0KPiArDQo+ICsgIENsZWFyIG91dCBSZXNvdXJjZSBMaXN0 IGlmIGRldmljZSBpcyBzZXQgdG8gZGlzYWJsZSBieSBwbGF0Zm9ybSBwb2xpY3kNCj4gKw0KPiAr KiovDQo+ICtWT0lEDQo+ICtFbXB0eVJlc291cmNlTGlzdCAoDQo+ICsgIElOICBVSU5UMzIgICAg ICBEZXZpY2VIaWQNCj4gKyAgKQ0KPiArew0KPiArICBVSU5UOCAgICAgSW5kZXg7DQo+ICsgIGZv ciAoSW5kZXggPSAwOyBtTHBjV3BjZTc5MURldmljZUxpc3RbSW5kZXhdLkRldmljZS5ISUQgIT0g MDsgSW5kZXgrKykgew0KPiArICAgIGlmIChEZXZpY2VIaWQgPT0gbUxwY1dwY2U3OTFEZXZpY2VM aXN0W0luZGV4XS5EZXZpY2UuSElEKSB7DQo+ICsgICAgICBtTHBjV3BjZTc5MURldmljZUxpc3Rb SW5kZXhdLlJlc291cmNlSXRlbSA9IE5VTEw7DQo+ICsgICAgfQ0KPiArICB9DQo+ICsgIHJldHVy bjsNCj4gK30NCj4gKw0KPiArLyoqDQo+ICsNCj4gKyAgQ2xlYXIgb3V0IFJlc291cmNlIExpc3Qg aWYgZGV2aWNlIGlzIHNldCB0byBkaXNhYmxlIGJ5IHBsYXRmb3JtIHBvbGljeQ0KPiArDQo+ICsq Ki8NCj4gK1ZPSUQNCj4gK0VtcHR5UmVzb3VyY2VMaXN0SGlkVWlkICgNCj4gKyAgSU4gIFVJTlQz MiAgICAgIERldmljZUhpZCwNCj4gKyAgSU4gIFVJTlQzMiAgICAgIERldmljZVVpZA0KPiArICAp DQo+ICt7DQo+ICsgIFVJTlQ4ICAgICBJbmRleDsNCj4gKyAgZm9yIChJbmRleCA9IDA7IG1McGNX cGNlNzkxRGV2aWNlTGlzdFtJbmRleF0uRGV2aWNlLkhJRCAhPSAwOyBJbmRleCsrKSB7DQo+ICsg ICAgaWYgKChEZXZpY2VIaWQgPT0gbUxwY1dwY2U3OTFEZXZpY2VMaXN0W0luZGV4XS5EZXZpY2Uu SElEKSAmJg0KPiArICAgICAgICAoRGV2aWNlVWlkID09IG1McGNXcGNlNzkxRGV2aWNlTGlzdFtJ bmRleF0uRGV2aWNlLlVJRCkpIHsNCj4gKyAgICAgIG1McGNXcGNlNzkxRGV2aWNlTGlzdFtJbmRl eF0uUmVzb3VyY2VJdGVtID0gTlVMTDsNCj4gKyAgICB9DQo+ICsgIH0NCj4gKyAgcmV0dXJuOw0K PiArfQ0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0lzYUluaXREZXZpY2UgKA0K PiArICBJTiAgICBFRklfSVNBX0FDUElfUFJPVE9DT0wgICAgICAgICpUaGlzLA0KPiArICBJTiAg ICBFRklfSVNBX0FDUElfREVWSUNFX0lEICAgICAgICpEZXZpY2UNCj4gKyAgKQ0KPiArew0KPiAr ICBFRklfV1BDRTc5MV9QT0xJQ1lfUFJPVE9DT0wgICAgICAqTHBjV3BjZTc5MVBvbGljeTsNCj4g KyAgRUZJX1NUQVRVUyAgICAgICAgICAgICAgICAgICAgICBTdGF0dXM7DQo+ICsNCj4gKyAgLy8N Cj4gKyAgLy8gRGlzYWJsZSBjb25maWd1cmF0aW9uIGFjY29yZGluZyB0byBwbGF0Zm9ybSBwcm90 b2NvbA0KPiArICAvLw0KPiArICBTdGF0dXMgPSBnQlMtPkxvY2F0ZVByb3RvY29sICgNCj4gKyAg ICAgICAgICAgICAgICAgICZnRWZpTHBjV3BjZTc5MVBvbGljeVByb3RvY29sR3VpZCwNCj4gKyAg ICAgICAgICAgICAgICAgIE5VTEwsDQo+ICsgICAgICAgICAgICAgICAgICAoVk9JRCAqKikgJkxw Y1dwY2U3OTFQb2xpY3kNCj4gKyAgICAgICAgICAgICAgICAgICk7DQo+ICsgIGlmICghRUZJX0VS Uk9SKFN0YXR1cykpIHsNCj4gKyAgICBpZiAoTHBjV3BjZTc5MVBvbGljeS0+RGV2aWNlRW5hYmxl cy5QczJLZXlib2FyZCA9PQ0KPiBFRklfV1BDRTc5MV9QUzJfS0VZQk9BUkRfRElTQUJMRSkgew0K PiArICAgICAgRW1wdHlSZXNvdXJjZUxpc3QoRUlTQV9QTlBfSUQoMHgzMDMpKTsNCj4gKyAgICAg IERpc2FibGVMb2dpY2FsRGV2aWNlIChTSU9fS0VZQk9BUkQpOw0KPiArICAgICAgRW1wdHlSZXNv dXJjZUxpc3QoRUlTQV9QTlBfSUQoMHhGMDMpKTsNCj4gKyAgICAgIERpc2FibGVMb2dpY2FsRGV2 aWNlIChTSU9fS0VZQk9BUkQpOw0KPiArICAgIH0NCj4gKyAgICBpZiAoTHBjV3BjZTc5MVBvbGlj eS0+RGV2aWNlRW5hYmxlcy5QczJNb3VzZSA9PQ0KPiBFRklfV1BDRTc5MV9QUzJfTU9VU0VfRElT QUJMRSkgew0KPiArICAgICAgRW1wdHlSZXNvdXJjZUxpc3QoRUlTQV9QTlBfSUQoMHhGMDMpKTsN Cj4gKyAgICAgIERpc2FibGVMb2dpY2FsRGV2aWNlIChTSU9fTU9VU0UpOw0KPiArICAgIH0NCj4g KyAgfQ0KPiArDQo+ICsgIHJldHVybiBFRklfU1VDQ0VTUzsNCj4gK30NCj4gKw0KPiArRUZJX1NU QVRVUw0KPiArRUZJQVBJDQo+ICtMcGNJbnRlcmZhY2VJbml0ICgNCj4gKyAgSU4gICAgRUZJX0lT QV9BQ1BJX1BST1RPQ09MICAgICAgICAqVGhpcw0KPiArICApDQo+ICt7DQo+ICsgIEVGSV9QQ0lf SU9fUFJPVE9DT0wgICAgICAgICAgICAgKlBjaUlvOw0KPiArICBVSU5UTiAgICAgICAgICAgICAg ICAgICAgICAgICAgIEluZGV4Ow0KPiArDQo+ICsgIFBjaUlvID0gKExQQ19JU0FfQUNQSV9GUk9N X1RISVMgKFRoaXMpKS0+UGNpSW87DQo+ICsNCj4gKyAgLy8NCj4gKyAgLy8gRE1BIGNvbnRyb2xs ZXIgaW5pdGlhbGl6ZQ0KPiArICAvLw0KPiArICBmb3IgKEluZGV4PTA7IEluZGV4IDwgKHNpemVv ZihtSWNoRG1hSW5pdFRhYmxlKS9zaXplb2YoSUNIX0RNQV9JTklUKSk7DQo+IEluZGV4KyspIHsN Cj4gKyAgICBQY2lJby0+SW8uV3JpdGUgKA0KPiArICAgICAgICAgICAgICAgIFBjaUlvLA0KPiAr ICAgICAgICAgICAgICAgIEVmaVBjaUlvV2lkdGhVaW50OCwNCj4gKyAgICAgICAgICAgICAgICBF RklfUENJX0lPX1BBU1NfVEhST1VHSF9CQVIsDQo+ICsgICAgICAgICAgICAgICAgbUljaERtYUlu aXRUYWJsZVtJbmRleF0uUmVnaXN0ZXIsDQo+ICsgICAgICAgICAgICAgICAgMSwNCj4gKyAgICAg ICAgICAgICAgICAmbUljaERtYUluaXRUYWJsZVtJbmRleF0uVmFsdWUNCj4gKyAgICAgICAgICAg ICAgICApOw0KPiArICB9DQo+ICsNCj4gKyAgcmV0dXJuIEVGSV9TVUNDRVNTOw0KPiArfQ0KPiAr DQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkx L0xwY0lzYUFjcGkuaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3 OTEvTHBjSXNhQWNwaS5oDQo+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAw MDAuLjIyOTFmZDJjMWQNCj4gLS0tIC9kZXYvbnVsbA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9W bHYyVGJsdERldmljZVBrZy9XcGNlNzkxL0xwY0lzYUFjcGkuaA0KPiBAQCAtMCwwICsxLDEwMyBA QA0KPiArLyorKw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBD b3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgt TGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4g Kw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gKyAgICBMcGNJc2FBY3BpLmgNCj4gKw0KPiArQWJz dHJhY3Q6DQo+ICsNCj4gKyAgICBJc2EgQWNwaSBpbnRlcmZhY2UNCj4gKw0KPiArDQo+ICsNCj4g Ky0tKi8NCj4gKw0KPiArI2lmbmRlZiBfTFBDX0lTQV9BQ1BJX0gNCj4gKyNkZWZpbmUgX0xQQ19J U0FfQUNQSV9IDQo+ICsNCj4gKw0KPiArDQo+ICsjaW5jbHVkZSAiUHJvdG9jb2wvSXNhQWNwaS5o Ig0KPiArI2luY2x1ZGUgIkxpYnJhcnkvRGV2aWNlUGF0aExpYi5oIg0KPiArDQo+ICsNCj4gK3R5 cGVkZWYgc3RydWN0IHsNCj4gKyAgVUlOVDggIFJlZ2lzdGVyOw0KPiArICBVSU5UOCAgVmFsdWU7 DQo+ICt9IElDSF9ETUFfSU5JVDsNCj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlwZXMgZm9yIHRo ZSBJU0EgQUNQSSBwcm90b2NvbCBpbnRlcmZhY2UNCj4gKy8vDQo+ICtFRklfU1RBVFVTDQo+ICtF RklBUEkNCj4gK0lzYURldmljZUVudW1lcmF0ZSAoDQo+ICsgIElOICAgICBFRklfSVNBX0FDUElf UFJPVE9DT0wgICAgICAgKlRoaXMsDQo+ICsgIE9VVCAgICBFRklfSVNBX0FDUElfREVWSUNFX0lE ICAgICAgKipEZXZpY2UNCj4gKyAgKTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ ICtJc2FEZXZpY2VTZXRQb3dlciAoDQo+ICsgIElOICAgICBFRklfSVNBX0FDUElfUFJPVE9DT0wg ICAgICAgKlRoaXMsDQo+ICsgIElOICAgICBFRklfSVNBX0FDUElfREVWSUNFX0lEICAgICAgKkRl dmljZSwNCj4gKyAgSU4gICAgIEJPT0xFQU4gICAgICAgICAgICAgICAgICAgICBPbk9mZg0KPiAr ICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0lzYUdldEN1cnJlbnRSZXNv dXJjZSAoDQo+ICsgIElOICAgICBFRklfSVNBX0FDUElfUFJPVE9DT0wgICAgICAgKlRoaXMsDQo+ ICsgIElOICAgICBFRklfSVNBX0FDUElfREVWSUNFX0lEICAgICAgKkRldmljZSwNCj4gKyAgT1VU ICAgIEVGSV9JU0FfQUNQSV9SRVNPVVJDRV9MSVNUICAqKlJlc291cmNlTGlzdA0KPiArICApOw0K PiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0lzYUdldFBvc3NpYmxlUmVzb3VyY2Ug KA0KPiArICBJTiAgICAgRUZJX0lTQV9BQ1BJX1BST1RPQ09MICAgICAgICpUaGlzLA0KPiArICBJ TiAgICAgRUZJX0lTQV9BQ1BJX0RFVklDRV9JRCAgICAgICpEZXZpY2UsDQo+ICsgIE9VVCAgICBF RklfSVNBX0FDUElfUkVTT1VSQ0VfTElTVCAgKipSZXNvdXJjZUxpc3QNCj4gKyAgKTsNCj4gKw0K PiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtJc2FTZXRSZXNvdXJjZSAoDQo+ICsgIElOICAg ICBFRklfSVNBX0FDUElfUFJPVE9DT0wgICAgICAgKlRoaXMsDQo+ICsgIElOICAgICBFRklfSVNB X0FDUElfREVWSUNFX0lEICAgICAgKkRldmljZSwNCj4gKyAgSU4gICAgIEVGSV9JU0FfQUNQSV9S RVNPVVJDRV9MSVNUICAqUmVzb3VyY2VMaXN0DQo+ICsgICk7DQo+ICsNCj4gK0VGSV9TVEFUVVMN Cj4gK0VGSUFQSQ0KPiArSXNhRW5hYmxlRGV2aWNlICgNCj4gKyAgSU4gICAgRUZJX0lTQV9BQ1BJ X1BST1RPQ09MICAgICAgICAqVGhpcywNCj4gKyAgSU4gICAgRUZJX0lTQV9BQ1BJX0RFVklDRV9J RCAgICAgICAqRGV2aWNlLA0KPiArICBJTiAgICBCT09MRUFOICAgICAgICAgICAgICAgICAgICAg IEVuYWJsZQ0KPiArICApOw0KPiArDQo+ICtFRklfU1RBVFVTDQo+ICtFRklBUEkNCj4gK0lzYUlu aXREZXZpY2UgKA0KPiArICBJTiAgICBFRklfSVNBX0FDUElfUFJPVE9DT0wgICAgICAgICpUaGlz LA0KPiArICBJTiAgICBFRklfSVNBX0FDUElfREVWSUNFX0lEICAgICAgICpEZXZpY2UNCj4gKyAg KTsNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArRUZJQVBJDQo+ICtMcGNJbnRlcmZhY2VJbml0ICgN Cj4gKyAgSU4gICAgRUZJX0lTQV9BQ1BJX1BST1RPQ09MICAgICAgICAqVGhpcw0KPiArKTsNCj4g Kw0KPiArVk9JRA0KPiArRW1wdHlSZXNvdXJjZUxpc3QgKA0KPiArICBJTiAgICBVSU5UMzIgICAg ICBEZXZpY2VIaWQNCj4gKyk7DQo+ICsNCj4gKyNlbmRpZg0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZv cm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5MS9McGNTaW8uYw0KPiBiL1BsYXRmb3Jt L0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3OTEvTHBjU2lvLmMNCj4gbmV3IGZpbGUgbW9k ZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZjIzZTQ4Y2NmMg0KPiAtLS0gL2Rldi9udWxs DQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3OTEvTHBjU2lv LmMNCj4gQEAgLTAsMCArMSwxMjYgQEANCj4gKy8qKiBAZmlsZQ0KPiArDQo+ICsgIENvcHlyaWdo dCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZl ZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBCU0QtMi1DbGF1 c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9kdWxlIE5hbWU6DQo+ICsNCj4gK01v ZHVsZSBOYW1lOg0KPiArDQo+ICsgICAgTHBjU2lvLmMNCj4gKw0KPiArQWJzdHJhY3Q6IFNpbyBp bXBsZW1lbnRhdGlvbg0KPiArDQo+ICtSZXZpc2lvbiBIaXN0b3J5DQo+ICsNCj4gKy0tKi8NCj4g Kw0KPiArI2luY2x1ZGUgIkxwY0RyaXZlci5oIg0KPiArI2luY2x1ZGUgPExpYnJhcnkvUzNCb290 U2NyaXB0TGliLmg+DQo+ICsNCj4gK1ZPSUQNCj4gK1dyaXRlUmVnaXN0ZXIgKA0KPiArICBJTiAg VUlOVDggICBJbmRleCwNCj4gKyAgSU4gIFVJTlQ4ICAgRGF0YQ0KPiArICApOw0KPiArDQo+ICt0 eXBlZGVmIHN0cnVjdCB7DQo+ICsgIFVJTlQ4IFJlZ2lzdGVyOw0KPiArICBVSU5UOCBWYWx1ZTsN Cj4gK30gRUZJX1NJT19UQUJMRTsNCj4gKw0KPiArRUZJX1NJT19UQUJMRSBtU2lvVGFibGVbXSA9 IHsNCj4gKyAgLy8NCj4gKyAgLy8gSW5pdCBrZXlib2FyZCBjb250cm9sbGVyDQo+ICsgIC8vDQo+ ICsgIHsgUkVHX0xPR0lDQUxfREVWSUNFLCBTSU9fS0VZQk9BUkQgfSwNCj4gKyAgeyBCQVNFX0FE RFJFU1NfSElHSCwgMHgwMCB9LA0KPiArICB7IEJBU0VfQUREUkVTU19MT1csIDB4NjAgfSwNCj4g KyAgeyBCQVNFX0FERFJFU1NfSElHSDIsIDB4MDAgfSwNCj4gKyAgeyBCQVNFX0FERFJFU1NfTE9X MiwgMHg2NCB9LA0KPiArICB7IFBSSU1BUllfSU5URVJSVVBUX1NFTEVDVCwgMHgwMSB9LA0KPiAr ICB7IEFDVElWQVRFLCAweDEgfSwNCj4gKw0KPiArICAvLw0KPiArICAvLyBJbml0IE1vdXNlIGNv bnRyb2xsZXINCj4gKyAgLy8NCj4gKyAgeyBSRUdfTE9HSUNBTF9ERVZJQ0UsIFNJT19NT1VTRSB9 LA0KPiArICB7IEJBU0VfQUREUkVTU19ISUdILCAweDAwIH0sDQo+ICsgIHsgQkFTRV9BRERSRVNT X0xPVywgMHg2MCB9LA0KPiArICB7IEJBU0VfQUREUkVTU19ISUdIMiwgMHgwMCB9LA0KPiArICB7 IEJBU0VfQUREUkVTU19MT1cyLCAweDY0IH0sDQo+ICsgIHsgUFJJTUFSWV9JTlRFUlJVUFRfU0VM RUNULCAweDBjIH0sDQo+ICsgIHsgQUNUSVZBVEUsIDB4MSB9LA0KPiArDQo+ICsgIHsgUkVHX0xP R0lDQUxfREVWSUNFLCBTSU9fQ09NIH0sDQo+ICsgIHsgQkFTRV9BRERSRVNTX0hJR0gsIDB4MDMg fSwNCj4gKyAgeyBCQVNFX0FERFJFU1NfTE9XLCAweGY4IH0sDQo+ICsgIHsgUFJJTUFSWV9JTlRF UlJVUFRfU0VMRUNULCAweDA0IH0sDQo+ICsgIHsgQUNUSVZBVEUsIDB4MSB9LA0KPiArDQo+ICsN Cj4gK307DQo+ICsNCj4gK1ZPSUQNCj4gK0xQQ1dQQ0U3OTFTZXREZWZhdWx0ICgpDQo+ICt7DQo+ ICsgIFVJTlQ4ICAgICAgICAgICBJbmRleDsNCj4gKw0KPiArICBmb3IgKEluZGV4ID0gMDsgSW5k ZXggPCBzaXplb2YobVNpb1RhYmxlKS9zaXplb2YoRUZJX1NJT19UQUJMRSk7IEluZGV4KyspDQo+ IHsNCj4gKyAgICBXcml0ZVJlZ2lzdGVyQW5kU2F2ZVRvU2NyaXB0IChtU2lvVGFibGVbSW5kZXhd LlJlZ2lzdGVyLA0KPiBtU2lvVGFibGVbSW5kZXhdLlZhbHVlKTsNCj4gKyAgfQ0KPiArDQo+ICsg IHJldHVybjsNCj4gK30NCj4gKw0KPiArVk9JRA0KPiArRGlzYWJsZUxvZ2ljYWxEZXZpY2UgKA0K PiArICBVSU5UOCAgICAgICBEZXZpY2VJZA0KPiArICApDQo+ICt7DQo+ICsgIFdyaXRlUmVnaXN0 ZXJBbmRTYXZlVG9TY3JpcHQgKFJFR19MT0dJQ0FMX0RFVklDRSwgRGV2aWNlSWQpOw0KPiArICBX cml0ZVJlZ2lzdGVyQW5kU2F2ZVRvU2NyaXB0IChBQ1RJVkFURSwgMCk7DQo+ICsgIFdyaXRlUmVn aXN0ZXJBbmRTYXZlVG9TY3JpcHQgKEJBU0VfQUREUkVTU19ISUdILCAwKTsNCj4gKyAgV3JpdGVS ZWdpc3RlckFuZFNhdmVUb1NjcmlwdCAoQkFTRV9BRERSRVNTX0xPVywgMCk7DQo+ICsNCj4gKyAg cmV0dXJuOw0KPiArfQ0KPiArDQo+ICtWT0lEDQo+ICtXcml0ZVJlZ2lzdGVyICgNCj4gKyAgSU4g IFVJTlQ4ICAgSW5kZXgsDQo+ICsgIElOICBVSU5UOCAgIERhdGENCj4gKyAgKQ0KPiArew0KPiAr ICBMcGNJb1dyaXRlOChDT05GSUdfUE9SVCwgSW5kZXgpOw0KPiArICBMcGNJb1dyaXRlOChEQVRB X1BPUlQsIERhdGEpOw0KPiArDQo+ICsgIHJldHVybjsNCj4gK30NCj4gKw0KPiArVk9JRA0KPiAr V3JpdGVSZWdpc3RlckFuZFNhdmVUb1NjcmlwdCAoDQo+ICsgIElOICBVSU5UOCAgIEluZGV4LA0K PiArICBJTiAgVUlOVDggICBEYXRhDQo+ICsgICkNCj4gK3sNCj4gKyAgVUlOVDggIEJ1ZmZlclsy XTsNCj4gKw0KPiArICBMcGNJb1dyaXRlOChDT05GSUdfUE9SVCwgSW5kZXgpOw0KPiArICBMcGNJ b1dyaXRlOChEQVRBX1BPUlQsIERhdGEpOw0KPiArDQo+ICsgIEJ1ZmZlclswXSA9IEluZGV4Ow0K PiArICBCdWZmZXJbMV0gPSBEYXRhOw0KPiArICBTM0Jvb3RTY3JpcHRTYXZlSW9Xcml0ZSAoDQo+ ICsgICAgRWZpQm9vdFNjcmlwdFdpZHRoVWludDgsDQo+ICsgICAgSU5ERVhfUE9SVCwNCj4gKyAg ICAyLA0KPiArICAgIEJ1ZmZlcg0KPiArICAgICk7DQo+ICsNCj4gKyAgcmV0dXJuOw0KPiArfQ0K PiArDQo+IGRpZmYgLS1naXQgYS9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNl NzkxL0xwY1Npby5oDQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cvV3BjZTc5 MS9McGNTaW8uaA0KPiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi41 MmMxNDk5ZTNkDQo+IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRi bHREZXZpY2VQa2cvV3BjZTc5MS9McGNTaW8uaA0KPiBAQCAtMCwwICsxLDEwMSBAQA0KPiArLyor Kw0KPiArDQo+ICsgIENvcHlyaWdodCAoYykgMjAwNCAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlv bi4gQWxsIHJpZ2h0cyByZXNlcnZlZC48QlI+DQo+ICsNCj4gDQo+ICsgIFNQRFgtTGljZW5zZS1J ZGVudGlmaWVyOiBCU0QtMi1DbGF1c2UtUGF0ZW50DQo+ICsNCj4gKw0KPiANCj4gKw0KPiArTW9k dWxlIE5hbWU6DQo+ICsNCj4gKyAgICBMcGNTaW8uaA0KPiArDQo+ICtBYnN0cmFjdDoNCj4gKw0K PiArICAgIExwYyBkcml2ZXIncyBzaW8gaW50ZXJmYWNlDQo+ICsNCj4gKw0KPiArDQo+ICstLSov DQo+ICsNCj4gKyNpZm5kZWYgX0xQQ19TSU9fSA0KPiArI2RlZmluZSBfTFBDX1NJT19IDQo+ICsN Cj4gKyNpbmNsdWRlICJQcm90b2NvbC9QY2lSb290QnJpZGdlSW8uaCINCj4gKw0KPiArI2RlZmlu ZSBWQVJTSU9JTlNUQUxMRUQgTCJWYXJTSU9Qcm9jb3RvbEluc3RhbGxlZCINCj4gKw0KPiArLy8N Cj4gKy8vIFBvcnQgYWRkcmVzcw0KPiArLy8NCj4gKyNkZWZpbmUgQ09ORklHX1BPUlQgICAgICAg ICAgICAgICAweDA0RQ0KPiArI2RlZmluZSBJTkRFWF9QT1JUICAgICAgICAgICAgICAgIDB4MDRF DQo+ICsjZGVmaW5lIERBVEFfUE9SVCAgICAgICAgICAgICAgICAgSU5ERVhfUE9SVCArIDENCj4g Kw0KPiArLy8NCj4gKy8vIExvZ2ljYWwgRGV2aWNlDQo+ICsvLw0KPiArI2RlZmluZSBTSU9fQ09N ICAgICAgICAgICAgICAgICAgIDB4Mw0KPiArI2RlZmluZSBTSU9fTVNXQyAgICAgICAgICAgICAg ICAgIDB4NA0KPiArI2RlZmluZSBTSU9fTU9VU0UgICAgICAgICAgICAgICAgIDB4NQ0KPiArI2Rl ZmluZSBTSU9fS0VZQk9BUkQgICAgICAgICAgICAgIDB4Ng0KPiArI2RlZmluZSBTSU9fU0hNICAg ICAgICAgICAgICAgICAgIDB4Rg0KPiArI2RlZmluZSBTSU9fUE0xICAgICAgICAgICAgICAgICAg IDB4MTENCj4gKyNkZWZpbmUgU0lPX1BNMiAgICAgICAgICAgICAgICAgICAweDEyDQo+ICsjZGVm aW5lIFNJT19QTTMgICAgICAgICAgICAgICAgICAgMHgxNw0KPiArI2RlZmluZSBTSU9fRVNITSAg ICAgICAgICAgICAgICAgIDB4MUQNCj4gKw0KPiArLy8NCj4gKy8vIEdsb2JhbCByZWdpc3Rlcg0K PiArLy8NCj4gKyNkZWZpbmUgUkVHX0xPR0lDQUxfREVWSUNFICAgICAgICAweDA3DQo+ICsjZGVm aW5lIFJFR19ERVZJQ0VfSUQgICAgICAgICAgICAgMHgyMA0KPiArI2RlZmluZSBTSU9fQ09ORklH XzEgICAgICAgICAgICAgIDB4MjENCj4gKyNkZWZpbmUgUkVHX0NISVBfUkVWICAgICAgICAgICAg ICAweDI0DQo+ICsjZGVmaW5lIFNJT19DT05GSUdfNSAgICAgICAgICAgICAgMHgyNQ0KPiArI2Rl ZmluZSBTSU9fQ09ORklHXzYgICAgICAgICAgICAgIDB4MjYNCj4gKyNkZWZpbmUgUkVHX0RFVklD RV9SRVYgICAgICAgICAgICAweDI3DQo+ICsjZGVmaW5lIFNJT19DT05GSUdfOSAgICAgICAgICAg ICAgMHgyOQ0KPiArI2RlZmluZSBTSU9fQ09ORklHX0QgICAgICAgICAgICAgIDB4MkQNCj4gKw0K PiArI2RlZmluZSBBQ1RJVkFURSAgICAgICAgICAgICAgICAgIDB4MzANCj4gKyNkZWZpbmUgQkFT RV9BRERSRVNTX0hJR0ggICAgICAgICAweDYwDQo+ICsjZGVmaW5lIEJBU0VfQUREUkVTU19MT1cg ICAgICAgICAgMHg2MQ0KPiArI2RlZmluZSBCQVNFX0FERFJFU1NfSElHSDIgICAgICAgIDB4NjIN Cj4gKyNkZWZpbmUgQkFTRV9BRERSRVNTX0xPVzIgICAgICAgICAweDYzDQo+ICsjZGVmaW5lIFBS SU1BUllfSU5URVJSVVBUX1NFTEVDVCAgMHg3MA0KPiArI2RlZmluZSBETUFfQ0hBTk5FTF9TRUxF Q1QgICAgICAgIDB4NzQNCj4gKw0KPiArRUZJX1NUQVRVUw0KPiArSW5pdGlhbGl6ZUxwY1NpbyAo DQo+ICsgIElOIEVGSV9QQ0lfUk9PVF9CUklER0VfSU9fUFJPVE9DT0wgICpSb290QnJpZGdlSW8N Cj4gKyAgKTsNCj4gKw0KPiArLy8NCj4gKy8vIFByb3RvdHlwZXMgZm9yIHRoZSBzaW8gaW50ZXJu YWwgZnVuY3Rpb24NCj4gKy8vDQo+ICsvLw0KPiArLy8gSW50ZXJuYWwgZnVuY3Rpb24NCj4gKy8v DQo+ICtWT0lEDQo+ICtMUENXUENFNzkxU2V0RGVmYXVsdCAoDQo+ICsgIFZPSUQNCj4gKyAgKTsN Cj4gKw0KPiArVk9JRA0KPiArV3JpdGVSZWdpc3RlckFuZFNhdmVUb1NjcmlwdCAoDQo+ICsgIElO ICBVSU5UOCAgIEluZGV4LA0KPiArICBJTiAgVUlOVDggICBEYXRhDQo+ICsgICk7DQo+ICsNCj4g K1ZPSUQNCj4gK0Zsb3BweVdyaXRlUHJvdGVjdCAoDQo+ICsgIFZPSUQNCj4gKyAgKTsNCj4gKw0K PiArVk9JRA0KPiArRGlzYWJsZUxvZ2ljYWxEZXZpY2UgKA0KPiArICBVSU5UOCAgICAgICBEZXZp Y2VJZA0KPiArICApOw0KPiArDQo+ICsjZW5kaWYNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0lu dGVsL1ZsdjJUYmx0RGV2aWNlUGtnL1dwY2U3OTEvV3BjZTc5MS5pbmYNCj4gYi9QbGF0Zm9ybS9J bnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL1dwY2U3OTEuaW5mDQo+IG5ldyBmaWxlIG1v ZGUgMTAwNjQ0DQo+IGluZGV4IDAwMDAwMDAwMDAuLjVmZDQ1OGUyNjUNCj4gLS0tIC9kZXYvbnVs bA0KPiArKysgYi9QbGF0Zm9ybS9JbnRlbC9WbHYyVGJsdERldmljZVBrZy9XcGNlNzkxL1dwY2U3 OTEuaW5mDQo+IEBAIC0wLDAgKzEsNjMgQEANCj4gKyMNCj4gKyMNCj4gKyMgQ29weXJpZ2h0IChj KSAgMTk5OSAgLSAyMDE0LCBJbnRlbCBDb3Jwb3JhdGlvbi4gQWxsIHJpZ2h0cyByZXNlcnZlZA0K PiArIw0KPiANCj4gKyMgU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRl bnQNCj4gKw0KPiArIw0KPiANCj4gKyMNCj4gKyMNCj4gKyMNCj4gKyMgIE1vZHVsZSBOYW1lOg0K PiArIw0KPiArIyAgICBTaU83OTEuaW5mDQo+ICsjDQo+ICsjICBBYnN0cmFjdDoNCj4gKyMNCj4g KyMgICAgQ29tcG9uZW50IGRlc2NyaXB0aW9uIGZpbGUgZm9yIFNJTzc5MSBtb2R1bGUuDQo+ICsj DQo+ICstLSovDQo+ICsNCj4gK1tkZWZpbmVzXQ0KPiArICBJTkZfVkVSU0lPTiAgICAgICAgICAg ICAgICAgICAgPSAweDAwMDEwMDA1DQo+ICsgIEJBU0VfTkFNRSAgICAgICAgICAgICAgICAgICAg ICA9IFNJTzc5MQ0KPiArICBGSUxFX0dVSUQgICAgICAgICAgICAgICAgICAgICAgPSAwNEE3NkM4 MC0wNkI5LTQ0NWUtQjczRS1DQjhDNjFBNkE5NjQNCj4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAg ICAgICAgICAgID0gRFhFX0RSSVZFUg0KPiArICBWRVJTSU9OX1NUUklORyAgICAgICAgICAgICAg ICAgPSAxLjANCj4gKyAgRU5UUllfUE9JTlQgICAgICAgICAgICAgICAgICAgID0gTHBjRHJpdmVy RW50cnlQb2ludA0KPiArDQo+ICtbc291cmNlcy5jb21tb25dDQo+ICsgTHBjSXNhQWNwaS5oDQo+ ICsgTHBjU2lvLmgNCj4gKyBMcGNEcml2ZXIuaA0KPiArIExwY0lzYUFjcGkuYw0KPiArIExwY1Np by5jDQo+ICsgTHBjRHJpdmVyLmMNCj4gKw0KPiArW1BhY2thZ2VzXQ0KPiArICBNZGVQa2cvTWRl UGtnLmRlYw0KPiArICBWbHYyVGJsdERldmljZVBrZy9QbGF0Zm9ybVBrZy5kZWMNCj4gKyAgSW50 ZWxGcmFtZXdvcmtQa2cvSW50ZWxGcmFtZXdvcmtQa2cuZGVjDQo+ICsgIEludGVsRnJhbWV3b3Jr TW9kdWxlUGtnL0ludGVsRnJhbWV3b3JrTW9kdWxlUGtnLmRlYw0KPiArICBQY0F0Q2hpcHNldFBr Zy9QY0F0Q2hpcHNldFBrZy5kZWMNCj4gKw0KPiArDQo+ICtbTGlicmFyeUNsYXNzZXNdDQo+ICsg IFVlZmlEcml2ZXJFbnRyeVBvaW50DQo+ICsgIFVlZmlCb290U2VydmljZXNUYWJsZUxpYg0KPiAr ICBEZXZpY2VQYXRoTGliDQo+ICsgIFVlZmlMaWINCj4gKyAgUzNCb290U2NyaXB0TGliDQo+ICsg IERlYnVnTGliDQo+ICsNCj4gK1tQcGlzXQ0KPiArDQo+ICtbUHJvdG9jb2xzXQ0KPiArICBnRWZp UGNpSW9Qcm90b2NvbEd1aWQNCj4gKyAgZ0VmaUlzYUFjcGlQcm90b2NvbEd1aWQNCj4gKyAgZ0Vm aUxwY1dwY2U3OTFQb2xpY3lQcm90b2NvbEd1aWQNCj4gKw0KPiArW0d1aWRzXQ0KPiArDQo+ICtb RGVwZXhdDQo+ICsgIFRSVUUNCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0 RGV2aWNlUGtnL2JsZF92bHYuYmF0DQo+IGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQ a2cvYmxkX3Zsdi5iYXQNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAw MC4uZDg1OTQwNTNiMA0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1Zs djJUYmx0RGV2aWNlUGtnL2JsZF92bHYuYmF0DQo+IEBAIC0wLDAgKzEsMzMyIEBADQo+ICtAUkVN IEBmaWxlDQo+ICtAUkVNICAgV2luZG93cyBiYXRjaCBmaWxlIHRvIGJ1aWxkIEJJT1MgUk9NDQo+ ICtAUkVNDQo+ICtAUkVNIENvcHlyaWdodCAoYykgMjAwNiAtIDIwMTksIEludGVsIENvcnBvcmF0 aW9uLiBBbGwgcmlnaHRzIHJlc2VydmVkLjxCUj4NCj4gK0BSRU0gU1BEWC1MaWNlbnNlLUlkZW50 aWZpZXI6IEJTRC0yLUNsYXVzZS1QYXRlbnQNCj4gK0BSRU0NCj4gKw0KPiArQGVjaG8gb2ZmDQo+ ICtzZXRsb2NhbCBFbmFibGVEZWxheWVkRXhwYW5zaW9uIEVuYWJsZUV4dGVuc2lvbnMNCj4gK2Vj aG8uDQo+ICtlY2hvICVkYXRlJSAgJXRpbWUlDQo+ICtlY2hvLg0KPiArDQo+ICsNCj4gKzo6Kioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4g KioqKioqKioqKioqKioNCj4gKzo6IEluaXRpYWwgU2V0dXANCj4gKzo6KioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioq KioNCj4gK2lmICVXT1JLU1BBQ0U6fi0xJT09XCBzZXQgV09SS1NQQUNFPSVXT1JLU1BBQ0U6fjAs LTElDQo+ICtzZXQgL2EgYnVpbGRfdGhyZWFkcz0xDQo+ICtzZXQgIkJ1aWxkX0ZsYWdzPSAiDQo+ ICtzZXQgZXhpdENvZGU9MA0KPiArc2V0IEFyY2g9WDY0DQo+ICtzZXQgU291cmNlPTANCj4gK3Nl dCBQTEFURk9STV9OQU1FPVZsdjJUYmx0RGV2aWNlUGtnDQo+ICsNCj4gK3NldCBDT1JFX1BBVEg9 JVdPUktTUEFDRSUNCj4gK2lmIG5vdCBleGlzdCAlQ09SRV9QQVRIJVxlZGtzZXR1cC5iYXQgKA0K PiArICBpZiBkZWZpbmVkIFBBQ0tBR0VTX1BBVEggKA0KPiArICAgIGZvciAlJWkgSU4gKCVQQUNL QUdFU19QQVRIJSkgRE8gKA0KPiArICAgICAgaWYgZXhpc3QgJSV+ZmlcZWRrc2V0dXAuYmF0ICgN Cj4gKyAgICAgICAgc2V0IENPUkVfUEFUSD0lJX5maQ0KPiArICAgICAgICBnb3RvIENvcmVQYXRo Rm91bmQNCj4gKyAgICAgICkNCj4gKyAgICApDQo+ICsgICkgZWxzZSAoDQo+ICsgICAgZWNoby4N Cj4gKyAgICBlY2hvICEhISBFUlJPUiAhISEgQ2Fubm90IGZpbmQgZWRrc2V0dXAuYmF0ICEhIQ0K PiArICAgIGVjaG8uDQo+ICsgICAgZ290byBCbGRGYWlsDQo+ICsgICkNCj4gKykNCj4gKzpDb3Jl UGF0aEZvdW5kDQo+ICsNCj4gK3NldCBQTEFURk9STV9QQUNLQUdFPSVXT1JLU1BBQ0UlXCVQTEFU Rk9STV9OQU1FJQ0KPiAraWYgbm90IGV4aXN0ICVQTEFURk9STV9QQUNLQUdFJSAoDQo+ICsgIGlm IGRlZmluZWQgUEFDS0FHRVNfUEFUSCAoDQo+ICsgICAgZm9yICUlaSBJTiAoJVBBQ0tBR0VTX1BB VEglKSBETyAoDQo+ICsgICAgICBpZiBleGlzdCAlJX5maVwlUExBVEZPUk1fTkFNRSUgKA0KPiAr ICAgICAgICBzZXQgUExBVEZPUk1fUEFDS0FHRT0lJX5maVwlUExBVEZPUk1fTkFNRSUNCj4gKyAg ICAgICAgZ290byBQbGF0Zm9ybVBhY2thZ2VGb3VuZA0KPiArICAgICAgKQ0KPiArICAgICkNCj4g KyAgKSBlbHNlICgNCj4gKyAgICBlY2hvLg0KPiArICAgIGVjaG8gISEhIEVSUk9SICEhISBDYW5u b3QgZmluZCAlUExBVEZPUk1fTkFNRSUgISEhDQo+ICsgICAgZWNoby4NCj4gKyAgICBnb3RvIEJs ZEZhaWwNCj4gKyAgKQ0KPiArKQ0KPiArOlBsYXRmb3JtUGFja2FnZUZvdW5kDQo+ICsNCj4gK2Nk ICVDT1JFX1BBVEglDQo+ICsNCj4gKzo6IENsZWFuIHVwIHByZXZpb3VzIGJ1aWxkIGZpbGVzLg0K PiAraWYgZXhpc3QgJVdPUktTUEFDRSVcZWRrMi5sb2cgZGVsICVXT1JLU1BBQ0UlXGVkazIubG9n DQo+ICtpZiBleGlzdCAlV09SS1NQQUNFJVx1bml0b29sLmxvZyBkZWwgJVdPUktTUEFDRSVcdW5p dG9vbC5sb2cNCj4gK2lmIGV4aXN0ICVXT1JLU1BBQ0UlXENvbmZcdGFyZ2V0LnR4dA0KPiBkZWwg JVdPUktTUEFDRSVcQ29uZlx0YXJnZXQudHh0DQo+ICtpZiBleGlzdCAlV09SS1NQQUNFJVxDb25m XHRvb2xzX2RlZi50eHQNCj4gZGVsICVXT1JLU1BBQ0UlXENvbmZcdG9vbHNfZGVmLnR4dA0KPiAr aWYgZXhpc3QgJVdPUktTUEFDRSVcQ29uZlxidWlsZF9ydWxlLnR4dA0KPiBkZWwgJVdPUktTUEFD RSVcQ29uZlxidWlsZF9ydWxlLnR4dA0KPiAraWYgZXhpc3QgJVdPUktTUEFDRSVcQ29uZlwuY2Fj aGUgcm1kaXINCj4gL3EvcyAlV09SS1NQQUNFJVxDb25mXC5jYWNoZQ0KPiArDQo+ICs6OiBTZXR1 cCBFREsgZW52aXJvbm1lbnQuIEVka3NldHVwIHB1dHMgbmV3IGNvcGllcyBvZiB0YXJnZXQudHh0 LA0KPiB0b29sc19kZWYudHh0LCBidWlsZF9ydWxlLnR4dCBpbiBXb3JrU3BhY2VcQ29uZg0KPiAr OjogQWxzbyBydW4gZWRrc2V0dXAgYXMgc29vbiBhcyBwb3NzaWJsZSB0byBhdm9pZCBpdCBmcm9t IGNoYW5naW5nDQo+IGVudmlyb25tZW50IHZhcmlhYmxlcyB3ZSdyZSBvdmVycmlkaW5nDQo+ICtj YWxsICVDT1JFX1BBVEglXGVka3NldHVwLmJhdCBSZWJ1aWxkDQo+ICtAZWNobyBvZmYNCj4gKw0K PiArOjogRGVmaW5lIHBsYXRmb3JtIHNwZWNpZmljIGVudmlyb25tZW50IHZhcmlhYmxlcy4NCj4g K3NldCBjb25maWdfZmlsZT0lUExBVEZPUk1fUEFDS0FHRSVcUGxhdGZvcm1Qa2dDb25maWcuZHNj DQo+ICtzZXQgYXV0b19jb25maWdfaW5jPSVQTEFURk9STV9QQUNLQUdFJVxBdXRvUGxhdGZvcm1D RkcudHh0DQo+ICsNCj4gKw0KPiArDQo+ICs6OmNyZWF0ZSBuZXcgQXV0b1BsYXRmb3JtQ0ZHLnR4 dCBmaWxlDQo+ICtjb3B5IC95IG51bCAlYXV0b19jb25maWdfaW5jJSA+bnVsDQo+ICsNCj4gKzo6 KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioN Cj4gKioqKioqKioqKioqKioNCj4gKzo6IFBhcnNlIGNvbW1hbmQgbGluZSBhcmd1bWVudHMNCj4g Kzo6KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioNCj4gKioqKioqKioqKioqKioNCj4gKw0KPiArOjogT3B0aW9uYWwgYXJndW1lbnRzDQo+ICs6 T3B0TG9vcA0KPiAraWYgL2kgIiV+MSI9PSIvPyIgZ290byBVc2FnZQ0KPiArDQo+ICtpZiAvaSAi JX4xIj09Ii9sIiAoDQo+ICsgICAgc2V0IEJ1aWxkX0ZsYWdzPSVCdWlsZF9GbGFncyUgLWogRURL Mi5sb2cNCj4gKyAgICBzaGlmdA0KPiArICAgIGdvdG8gT3B0TG9vcA0KPiArKQ0KPiAraWYgL2kg IiV+MSI9PSIveSIgKA0KPiArICAgIHNldCBCdWlsZF9GbGFncz0lQnVpbGRfRmxhZ3MlIC0NCj4g eSAlUExBVEZPUk1fUEFDS0FHRSVcRURLMl8lUExBVEZPUk1fUEFDS0FHRSUucmVwb3J0DQo+ICsg ICAgc2hpZnQNCj4gKyAgICBnb3RvIE9wdExvb3ANCj4gKykNCj4gK2lmIC9pICIlfjEiPT0iL20i ICgNCj4gKyAgICBpZiBkZWZpbmVkIE5VTUJFUl9PRl9QUk9DRVNTT1JTICgNCj4gKyAgICAgICAg c2V0IC9hIGJ1aWxkX3RocmVhZHM9JU5VTUJFUl9PRl9QUk9DRVNTT1JTJSsxDQo+ICsgICAgKQ0K PiArICAgIHNoaWZ0DQo+ICsgICAgZ290byBPcHRMb29wDQo+ICspDQo+ICtpZiAvaSAiJX4xIiA9 PSAiL2MiICgNCj4gKyAgICBlY2hvIFJlbW92aW5nIHByZXZpb3VzIGJ1aWxkIGZpbGVzIC4uLg0K PiArICAgIGlmIGV4aXN0IGJ1aWxkICgNCj4gKyAgICAgICAgZGVsIC9mL3MvcSBidWlsZCA+IG51 bA0KPiArICAgICAgICBybWRpciAvcy9xIGJ1aWxkDQo+ICsgICAgKQ0KPiArICAgIGlmIGV4aXN0 ICVXT1JLU1BBQ0UlXENvbmZcLmNhY2hlICgNCj4gKyAgICAgICAgZGVsIC9mL3MvcSAlV09SS1NQ QUNFJVxDb25mXC5jYWNoZSA+IG51bA0KPiArICAgICAgICBybWRpciAvcy9xICVXT1JLU1BBQ0Ul XENvbmZcLmNhY2hlDQo+ICsgICAgKQ0KPiArICAgIGVjaG8uDQo+ICsgICAgc2hpZnQNCj4gKyAg ICBnb3RvIE9wdExvb3ANCj4gKykNCj4gKw0KPiAraWYgL2kgIiV+MSI9PSIveDY0IiAoDQo+ICsg ICAgc2V0IEFyY2g9WDY0DQo+ICsgICAgc2hpZnQNCj4gKyAgICBnb3RvIE9wdExvb3ANCj4gKykN Cj4gK2lmIC9pICIlfjEiPT0iL0lBMzIiICgNCj4gKyAgICBzZXQgQXJjaD1JQTMyDQo+ICsgICAg c2hpZnQNCj4gKyAgICBnb3RvIE9wdExvb3ANCj4gKykNCj4gKw0KPiArOjogUmVxdWlyZWQgYXJn dW1lbnQocykNCj4gK2lmICIlfjEiPT0iIiBnb3RvIFVzYWdlDQo+ICsNCj4gKzo6UmVtb3ZlIHRo ZSB2YWx1ZXMgZm9yIFBsYXRmb3JtX1R5cGUgYW5kIEJ1aWxkX1RhcmdldCBmcm9tIEJpb3NJZFgu ZW52DQo+IGFuZCBzdGFnZSBpbiBDb25mXA0KPiAraWYgIiVBcmNoJSI9PSJJQTMyIiAoDQo+ICsg ICAgZmluZHN0ciAvYiAvdiAiQk9BUkRfSUQNCj4gQlVJTERfVFlQRSIgJVBMQVRGT1JNX1BBQ0tB R0UlXEJpb3NJZFIuZW52ID4gJVdPUktTUEFDRSVcQ29uZg0KPiBcQmlvc0lkLmVudg0KPiArICAg IGVjaG8gREVGSU5FIFg2NF9DT05GSUcgPSBGQUxTRSAgPj4gJWF1dG9fY29uZmlnX2luYyUNCj4g KykgZWxzZSBpZiAiJUFyY2glIj09Ilg2NCIgKA0KPiArICAgIGZpbmRzdHIgL2IgL3YgIkJPQVJE X0lEDQo+IEJVSUxEX1RZUEUiICVQTEFURk9STV9QQUNLQUdFJVxCaW9zSWR4NjRSLmVudiA+ICVX T1JLU1BBQ0UlXEMNCj4gb25mXEJpb3NJZC5lbnYNCj4gKyAgICBlY2hvIERFRklORSBYNjRfQ09O RklHID0gVFJVRSAgPj4gJWF1dG9fY29uZmlnX2luYyUNCj4gKykNCj4gKw0KPiArOjogLS0gQnVp bGQgZmxhZ3Mgc2V0dGluZ3MgZm9yIGVhY2ggUGxhdGZvcm0gLS0NCj4gK2VjaG8gU2V0dGluZyAg JTEgIHBsYXRmb3JtIGNvbmZpZ3VyYXRpb24gYW5kIEJJT1MgSUQuLi4NCj4gK2lmIC9pICIlfjEi ID09ICJNTlcyIiAoDQo+ICsgICAgZWNobyBCT0FSRF9JRCA9IE1OVzJNQVggPj4gJVdPUktTUEFD RSVcQ29uZlxCaW9zSWQuZW52DQo+ICsgICAgZWNobyBERUZJTkUgRU5CRFRfUEZfQlVJTEQgPSBU UlVFICAgPj4gJWF1dG9fY29uZmlnX2luYyUNCj4gKw0KPiArKSBlbHNlICgNCj4gKyAgICBlY2hv IEVycm9yIC0gVW5zdXBwb3J0ZWQgUGxhdGZvcm1UeXBlOiAlMQ0KPiArICAgIGdvdG8gVXNhZ2UN Cj4gKykNCj4gK3NldCBQbGF0Zm9ybV9UeXBlPSV+MQ0KPiArDQo+ICtpZiAvaSAiJX4yIiA9PSAi UkVMRUFTRSIgKA0KPiArICAgIHNldCB0YXJnZXQ9UkVMRUFTRQ0KPiArICAgIGVjaG8gQlVJTERf VFlQRSA9IFIgPj4gJVdPUktTUEFDRSVcQ29uZlxCaW9zSWQuZW52DQo+ICspIGVsc2UgKA0KPiAr ICAgIHNldCB0YXJnZXQ9REVCVUcNCj4gKyAgICBlY2hvIEJVSUxEX1RZUEUgPSBEID4+ICVXT1JL U1BBQ0UlXENvbmZcQmlvc0lkLmVudg0KPiArKQ0KPiArDQo+ICs6OioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioq DQo+ICs6OiBBZGRpdGlvbmFsIEVESyBCdWlsZCBTZXR1cC9Db25maWd1cmF0aW9uDQo+ICs6Oioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ ICoqKioqKioqKioqKioqDQo+ICtlY2hvLg0KPiArZWNobyBTZXR0aW5nIHRoZSBCdWlsZCBlbnZp cm9ubWVudCBmb3INCj4gVlMyMDE1L1ZTMjAxMy9WUzIwMTIvVlMyMDEwL1ZTMjAwOC4uLg0KPiAr aWYgZGVmaW5lZCBWUzE0MENPTU5UT09MUyAoDQo+ICsgIGlmIG5vdCBkZWZpbmVkIFZTSU5TVEFM TERJUiBjYWxsICIlVlMxNDBDT01OVE9PTFMlXHZzdmFyczMyLmJhdCINCj4gKyAgaWYgL0kgIiVW UzE0MENPTU5UT09MUyUiID09ICJDOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdCBWaXN1YWwgU3R1 ZGlvDQo+IDE0LjBcQ29tbW9uN1xUb29sc1wiICgNCj4gKyAgICBzZXQgVE9PTF9DSEFJTl9UQUc9 VlMyMDE1DQo+ICsgICkgZWxzZSAoDQo+ICsgICAgc2V0IFRPT0xfQ0hBSU5fVEFHPVZTMjAxNXg4 Ng0KPiArICApDQo+ICspIGVsc2UgaWYgZGVmaW5lZCBWUzEyMENPTU5UT09MUyAoDQo+ICsgIGlm IG5vdCBkZWZpbmVkIFZTSU5TVEFMTERJUiBjYWxsICIlVlMxMjBDT01OVE9PTFMlXHZzdmFyczMy LmJhdCINCj4gKyAgaWYgL0kgIiVWUzEyMENPTU5UT09MUyUiID09ICJDOlxQcm9ncmFtIEZpbGVz XE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvDQo+IDEyLjBcQ29tbW9uN1xUb29sc1wiICgNCj4gKyAg ICBzZXQgVE9PTF9DSEFJTl9UQUc9VlMyMDEzDQo+ICsgICkgZWxzZSAoDQo+ICsgICAgc2V0IFRP T0xfQ0hBSU5fVEFHPVZTMjAxM3g4Ng0KPiArICApDQo+ICspIGVsc2UgaWYgZGVmaW5lZCBWUzEx MENPTU5UT09MUyAoDQo+ICsgIGlmIG5vdCBkZWZpbmVkIFZTSU5TVEFMTERJUiBjYWxsICIlVlMx MTBDT01OVE9PTFMlXHZzdmFyczMyLmJhdCINCj4gKyAgaWYgL0kgIiVWUzExMENPTU5UT09MUyUi ID09ICJDOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvDQo+IDExLjBcQ29t bW9uN1xUb29sc1wiICgNCj4gKyAgICBzZXQgVE9PTF9DSEFJTl9UQUc9VlMyMDEyDQo+ICsgICkg ZWxzZSAoDQo+ICsgICAgc2V0IFRPT0xfQ0hBSU5fVEFHPVZTMjAxMng4Ng0KPiArICApDQo+ICsp IGVsc2UgaWYgZGVmaW5lZCBWUzEwMENPTU5UT09MUyAoDQo+ICsgIGlmIG5vdCBkZWZpbmVkIFZT SU5TVEFMTERJUiBjYWxsICIlVlMxMDBDT01OVE9PTFMlXHZzdmFyczMyLmJhdCINCj4gKyAgaWYg L0kgIiVWUzEwMENPTU5UT09MUyUiID09ICJDOlxQcm9ncmFtIEZpbGVzXE1pY3Jvc29mdCBWaXN1 YWwgU3R1ZGlvDQo+IDEwLjBcQ29tbW9uN1xUb29sc1wiICgNCj4gKyAgICBzZXQgVE9PTF9DSEFJ Tl9UQUc9VlMyMDEwDQo+ICsgICkgZWxzZSAoDQo+ICsgICAgc2V0IFRPT0xfQ0hBSU5fVEFHPVZT MjAxMHg4Ng0KPiArICApDQo+ICspIGVsc2UgaWYgZGVmaW5lZCBWUzkwQ09NTlRPT0xTICgNCj4g KyAgaWYgbm90IGRlZmluZWQgVlNJTlNUQUxMRElSIGNhbGwgIiVWUzkwQ09NTlRPT0xTJVx2c3Zh cnMzMi5iYXQiDQo+ICsgIGlmIC9JICIlVlM5MENPTU5UT09MUyUiID09ICJDOlxQcm9ncmFtIEZp bGVzXE1pY3Jvc29mdCBWaXN1YWwgU3R1ZGlvDQo+IDkuMFxDb21tb243XFRvb2xzXCIgKA0KPiAr ICAgICBzZXQgVE9PTF9DSEFJTl9UQUc9VlMyMDA4DQo+ICsgICkgZWxzZSAoDQo+ICsgICAgIHNl dCBUT09MX0NIQUlOX1RBRz1WUzIwMDh4ODYNCj4gKyAgKQ0KPiArKSBlbHNlICgNCj4gKyAgZWNo byAgLS1FUlJPUjogVlMyMDE1L1ZTMjAxMy9WUzIwMTIvVlMyMDEwL1ZTMjAwOCBub3QgaW5zdGFs bGVkDQo+IGNvcnJlY3RseS4NCj4gVlMxNDBDT01OVE9PTFMvVlMxMjBDT01OVE9PTFMvVlMxMTBD T01OVE9PTFMvVlMxMDBDT01OVE8NCj4gT0xTL1ZTOTBDT01OVE9PTFMgbm90IGRlZmluZWQgXl4h DQo+ICsgIGVjaG8uDQo+ICsgIGdvdG8gOkJsZEZhaWwNCj4gKykNCj4gKw0KPiArZWNobyBFbnN1 cmluZyBjb3JyZWN0IGJ1aWxkIGRpcmVjdG9yeSBpcyBwcmVzZW50IGZvciBHZW5CaW9zSWQuLi4N Cj4gK3NldA0KPiBCVUlMRF9QQVRIPSVXT1JLU1BBQ0UlXEJ1aWxkXCVQTEFURk9STV9OQU1FJVwl VEFSR0VUJV8lVA0KPiBPT0xfQ0hBSU5fVEFHJQ0KPiArDQo+ICtlY2hvIE1vZGlmaW5nIENvbmYg ZmlsZXMgZm9yIHRoaXMgYnVpbGQuLi4NCj4gKzo6IFJlbW92ZSBsaW5lcyB3aXRoIHRoZXNlIHRh Z3MgZnJvbSB0YXJnZXQudHh0DQo+ICtmaW5kc3RyIC9WICJUQVJHRVQgIFRBUkdFVF9BUkNIICBU T09MX0NIQUlOX1RBRyAgQlVJTERfUlVMRV9DT05GDQo+IEFDVElWRV9QTEFURk9STQ0KPiBNQVhf Q09OQ1VSUkVOVF9USFJFQURfTlVNQkVSIiAlV09SS1NQQUNFJVxDb25mXHRhcmdldC50eHQgPg0K PiAlV09SS1NQQUNFJVxDb25mXHRhcmdldC50eHQudG1wDQo+ICsNCj4gK2VjaG8gVEFSR0VUDQo+ ID0gJVRBUkdFVCUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPj4gJVdPUktTUEFD RSVcQ29uZlx0YXJnZXQudHh0LnRtcA0KPiAraWYgIiVBcmNoJSI9PSJJQTMyIiAoDQo+ICsgICAg ZWNobyBUQVJHRVRfQVJDSCA9DQo+IElBMzIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICA+PiAlV09SS1NQQUNFJVxDb25mXHRhcmdldC50eHQudG1wDQo+ICspIGVsc2UgaWYg IiVBcmNoJSI9PSJYNjQiICgNCj4gKyAgICBlY2hvIFRBUkdFVF9BUkNIID0gSUEzMg0KPiBYNjQg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPj4gJVdPUktTUEFDRSVcQ29uZlx0YXJn ZXQudHh0LnRtcA0KPiArKQ0KPiArZWNobyBUT09MX0NIQUlOX1RBRw0KPiA9ICVUT09MX0NIQUlO X1RBRyUgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPj4gJVdPUktTUEFDRSVcQ29u Zlx0YXJnZXQudHh0DQo+IC50bXANCj4gK2VjaG8gQlVJTERfUlVMRV9DT05GID0NCj4gQ29uZi9i dWlsZF9ydWxlLnR4dCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PiAlV09SS1NQQUNF JVxDb25mXHRhcmdldC50eHQudG1wDQo+ICtpZiAlU291cmNlJSA9PSAwICgNCj4gKyAgZWNobyBB Q1RJVkVfUExBVEZPUk0NCj4gPSAlUExBVEZPUk1fUEFDS0FHRSUvUGxhdGZvcm1Qa2clQXJjaCUu ZHNjICAgICAgICA+PiAlV09SS1NQQUNFJQ0KPiBcQ29uZlx0YXJnZXQudHh0LnRtcA0KPiArKSBl bHNlICgNCj4gKyAgZWNobyBBQ1RJVkVfUExBVEZPUk0NCj4gPSAlUExBVEZPUk1fUEFDS0FHRSUv UGxhdGZvcm1Qa2clQXJjaCVTb3VyY2UuZHNjICA+PiAlV09SS1NQQQ0KPiBDRSVcQ29uZlx0YXJn ZXQudHh0LnRtcA0KPiArKQ0KPiArZWNobyBNQVhfQ09OQ1VSUkVOVF9USFJFQURfTlVNQkVSDQo+ ID0gJWJ1aWxkX3RocmVhZHMlICAgICAgICAgICAgICAgICAgICAgID4+ICVXT1JLU1BBQ0UlXENv bmZcdGFyZ2V0LnR4dC50bXANCj4gKw0KPiArbW92ZQ0KPiAvWSAlV09SS1NQQUNFJVxDb25mXHRh cmdldC50eHQudG1wICVXT1JLU1BBQ0UlXENvbmZcdGFyZ2V0LnR4dCA+bg0KPiB1bA0KPiArDQo+ ICs6OioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqDQo+ICoqKioqKioqKioqKioqDQo+ICs6OiBCdWlsZCBCSU9TDQo+ICs6OioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioq KioqKioqDQo+ICsNCj4gK2VjaG8gQ3JlYXRpbmcgQmlvc0lkLi4uDQo+ICtpZiBub3QgZXhpc3Qg JUJVSUxEX1BBVEglXElBMzIgIG1rZGlyICVCVUlMRF9QQVRIJVxJQTMyDQo+ICslUExBVEZPUk1f UEFDS0FHRSVcR2VuQmlvc0lkLmV4ZSAtDQo+IGkgJVdPUktTUEFDRSVcQ29uZlxCaW9zSWQuZW52 IC1vICVCVUlMRF9QQVRIJVxJQTMyXEJpb3NJZC5iaW4gLQ0KPiBvYiAlV09SS1NQQUNFJVxDb25m XEJpb3NJZC5iYXQNCj4gK2lmICIlQXJjaCUiPT0iWDY0IiAoDQo+ICsgICBpZiBub3QgZXhpc3Qg JUJVSUxEX1BBVEglXFg2NCAgbWtkaXIgJUJVSUxEX1BBVEglXFg2NA0KPiArICAgJVBMQVRGT1JN X1BBQ0tBR0UlXEdlbkJpb3NJZC5leGUgLQ0KPiBpICVXT1JLU1BBQ0UlXENvbmZcQmlvc0lkLmVu diAtbyAlQlVJTERfUEFUSCVcWDY0XEJpb3NJZC5iaW4gLQ0KPiBvYiAlV09SS1NQQUNFJVxDb25m XEJpb3NJZC5iYXQNCj4gKykNCj4gKw0KPiAraWYgJUVSUk9STEVWRUwlIE5FUSAwIGdvdG8gQmxk RmFpbA0KPiArDQo+ICtlY2hvLg0KPiArZWNobyBJbnZva2luZyBFREsyIGJ1aWxkLi4uDQo+ICtj YWxsIGJ1aWxkICVCdWlsZF9GbGFncyUNCj4gKw0KPiAraWYgJUVSUk9STEVWRUwlIE5FUSAwIGdv dG8gQmxkRmFpbA0KPiArDQo+ICs6OioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqDQo+ICs6OiBQb3N0IEJ1aWxk IHByb2Nlc3NpbmcgYW5kIGNsZWFudXANCj4gKzo6KioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioNCj4gKw0KPiAr ZWNobyBSdW5uaW5nIGZjZS4uLg0KPiArDQo+ICtwdXNoZCAlUExBVEZPUk1fUEFDS0FHRSUNCj4g Kzo6IEV4dHJhY3QgSGlpIGRhdGEgZnJvbSBidWlsZCBhbmQgc3RvcmUgaW4gSGlpRGVmYXVsdERh dGEudHh0DQo+ICslUExBVEZPUk1fUEFDS0FHRSVcZmNlIHJlYWQgLQ0KPiBpICVCVUlMRF9QQVRI JVxGVlxWbHYuZmQgPiAlQlVJTERfUEFUSCVcRlZcSGlpRGVmYXVsdERhdGEudHh0DQo+ICsNCj4g Kzo6IHNhdmUgY2hhbmdlcyB0byBWbHZYWFguZmQNCj4gKyVQTEFURk9STV9QQUNLQUdFJVxmY2Ug dXBkYXRlIC1pICVCVUlMRF9QQVRIJVxGVlxWbHYuZmQgLQ0KPiBzICVCVUlMRF9QQVRIJVxGVlxI aWlEZWZhdWx0RGF0YS50eHQgLQ0KPiBvICVCVUlMRF9QQVRIJVxGVlxWbHYlQXJjaCUuZmQNCj4g K3BvcGQNCj4gKw0KPiAraWYgJUVSUk9STEVWRUwlIE5FUSAwIGdvdG8gQmxkRmFpbA0KPiArOjpl Y2hvIEZEIHN1Y2Nlc3NmdWxseSB1cGRhdGVkIHdpdGggZGVmYXVsdCBIaWkgdmFsdWVzLg0KPiAr DQo+ICs6OiBTZXQgdGhlIEJvYXJkX0lkLCBCdWlsZF9UeXBlLCBWZXJzaW9uX01ham9yLCBhbmQg VmVyc2lvbl9NaW5vcg0KPiBlbnZpcm9ubWVudCB2YXJpYWJsZXMNCj4gK2ZpbmQgL3YgIiMiICVX T1JLU1BBQ0UlXENvbmZcQmlvc0lkLmVudiA+IHZlcl9zdHJpbmdzDQo+ICtmb3IgL2YgInRva2Vu cz0xLDMiICUlaSBpbiAodmVyX3N0cmluZ3MpIGRvIHNldCAlJWk9JSVqDQo+ICtkZWwgL2YvcSB2 ZXJfc3RyaW5ncyA+bnVsDQo+ICsNCj4gK3NldA0KPiBCSU9TX05hbWU9JUJPQVJEX0lEJV8lQXJj aCVfJUJVSUxEX1RZUEUlXyVWRVJTSU9OX01BSk9SJQ0KPiBfJVZFUlNJT05fTUlOT1IlLlJPTQ0K PiArY29weQ0KPiAveS9iICVCVUlMRF9QQVRIJVxGVlxWbHYlQXJjaCUuZmQgICVQTEFURk9STV9Q QUNLQUdFJVxTdGl0Y2hcJQ0KPiBCSU9TX05hbWUlID5udWwNCj4gK2NvcHkNCj4gL3kvYiAlQlVJ TERfUEFUSCVcRlZcVmx2JUFyY2glLmZkICAlQlVJTERfUEFUSCVcRlZcVmx2LlJPTSA+bnVsDQo+ ICsNCj4gK2VjaG8uDQo+ICtlY2hvIEJ1aWxkIGxvY2F0aW9uOiAgICAgJUJVSUxEX1BBVEglDQo+ ICtlY2hvIEJJT1MgUk9NIENyZWF0ZWQ6ICAgJUJJT1NfTmFtZSUNCj4gK2VjaG8uDQo+ICtlY2hv IC0tLS0tLS0tLS0tLS0tLS0tLS0tIFRoZSBFREtJSSBCSU9TIGJ1aWxkIGhhcyBzdWNjZXNzZnVs bHkgY29tcGxldGVkLiAtLS0tLQ0KPiAtLS0tLS0tLS0tLS0tLS0NCj4gK2VjaG8uDQo+ICsNCj4g K0BSRU0gYnVpbGQgY2Fwc3VsZSBoZXJlDQo+ICtlY2hvID4gJUJVSUxEX1BBVEglXEZWXFNZU1RF TUZJUk1XQVJFVVBEQVRFQ0FSR08uRnYNCj4gK2J1aWxkIC1wICVQTEFURk9STV9QQUNLQUdFJVxQ bGF0Zm9ybUNhcHN1bGUuZHNjDQo+ICsNCj4gK2dvdG8gRXhpdA0KPiArDQo+ICs6VXNhZ2UNCj4g K2VjaG8uDQo+ICtlY2hvDQo+ICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKioNCj4gK2VjaG8gQnVpbGQg QklPUyByb20gZm9yIFZMViBwbGF0Zm9ybXMuDQo+ICtlY2hvLg0KPiArZWNobyBVc2FnZTogYmxk X3Zsdi5iYXQgW29wdGlvbnNdIFBsYXRmb3JtVHlwZSBbQnVpbGQgVGFyZ2V0XQ0KPiArZWNoby4N Cj4gK2VjaG8gICAgL2MgICAgQ2xlYW5BbGwgYmVmb3JlIGJ1aWxkaW5nDQo+ICtlY2hvICAgIC9s ICAgIEdlbmVyYXRlIGJ1aWxkIGxvZyBmaWxlDQo+ICtlY2hvICAgIC95ICAgIEdlbmVyYXRlIGJ1 aWxkIHJlcG9ydCBmaWxlDQo+ICtlY2hvICAgIC9tICAgIEVuYWJsZSBtdWx0aS1wcm9jZXNzb3Ig YnVpbGQNCj4gK2VjaG8gICAgL0lBMzIgU2V0IEFyY2ggdG8gSUEzMiAoZGVmYXVsdDogWDY0KQ0K PiArZWNobyAgICAvWDY0ICBTZXQgQXJjaCB0byBYNjQgKGRlZmF1bHQ6IFg2NCkNCj4gK2VjaG8u DQo+ICtlY2hvICAgICAgICBQbGF0Zm9ybSBUeXBlczogIE1OVzINCj4gK2VjaG8gICAgICAgIEJ1 aWxkIFRhcmdldHM6ICAgRGVidWcsIFJlbGVhc2UgIChkZWZhdWx0OiBEZWJ1ZykNCj4gK2VjaG8u DQo+ICtlY2hvIEV4YW1wbGVzOg0KPiArZWNobyAgICBibGRfdmx2LmJhdCBNTlcyICAgICAgICAg ICAgICAgICA6IFg2NCBEZWJ1ZyBidWlsZCBmb3IgTWlubm93TWF4DQo+ICtlY2hvICAgIGJsZF92 bHYuYmF0IC9JQTMyIE1OVzIgcmVsZWFzZSAgIDogSUEzMiBSZWxlYXNlIGJ1aWxkIGZvcg0KPiBN aW5ub3dNYXgNCj4gK2VjaG8uDQo+ICtlY2hvDQo+ICoqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqKioNCj4g K3NldCBleGl0Q29kZT0xDQo+ICtnb3RvIEV4aXQNCj4gKw0KPiArOkJsZEZhaWwNCj4gK3NldCBl eGl0Q29kZT0xDQo+ICtlY2hvICAtLSBFcnJvcjogIEVES0lJIEJJT1MgQnVpbGQgaGFzIGZhaWxl ZCENCj4gK2VjaG8gU2VlIEVESzIubG9nIGZvciBtb3JlIGRldGFpbHMNCj4gKw0KPiArOkV4aXQN Cj4gK2VjaG8gJWRhdGUlICAldGltZSUNCj4gK2V4aXQgL2IgJWV4aXRDb2RlJQ0KPiArDQo+ICtF bmRMb2NhbA0KPiBkaWZmIC0tZ2l0IGEvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv YmxkX3Zsdi5zaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL2JsZF92bHYu c2gNCj4gbmV3IGZpbGUgbW9kZSAxMDA2NDQNCj4gaW5kZXggMDAwMDAwMDAwMC4uZWMzYTMyNWRi Nw0KPiAtLS0gL2Rldi9udWxsDQo+ICsrKyBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL2JsZF92bHYuc2gNCj4gQEAgLTAsMCArMSwyNTYgQEANCj4gKyMhL3Vzci9iaW4vZW52IGJh c2gNCj4gKyMjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKg0KPiAqKioqKioqKioqKioqKioNCj4gKyMjIEZ1bmN0aW9uIGRlZmluZQ0KPiArIyMq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ ICoqKioqKioqKioqKioqKg0KPiArZnVuY3Rpb24gVXNhZ2UoKSB7DQo+ICsgIGVjaG8NCj4gKyAg ZWNobw0KPiAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioqKiINCj4gKyAgZWNobyAiQnVpbGQgQklPUyBy b20gZm9yIFZMViBwbGF0Zm9ybXMuIg0KPiArICBlY2hvDQo+ICsgIGVjaG8gIlVzYWdlOiBibGRf dmx2LmJhdCAgUGxhdGZvcm1UeXBlIFtCdWlsZCBUYXJnZXRdIg0KPiArICBlY2hvDQo+ICsgIGVj aG8NCj4gKyAgZWNobyAiICAgICAgIFBsYXRmb3JtIFR5cGVzOiAgTU5XMiINCj4gKyAgZWNobyAi ICAgICAgIEJ1aWxkIFRhcmdldHM6ICAgRGVidWcsIFJlbGVhc2UgIChkZWZhdWx0OiBEZWJ1Zyki DQo+ICsgIGVjaG8NCj4gKyAgZWNobw0KPiAiKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioqKiINCj4gKyAg ZWNobyAiUHJlc3MgYW55IGtleS4uLi4uLiINCj4gKyAgcmVhZA0KPiArICBleGl0IDANCj4gK30N Cj4gKw0KPiArDQo+ICtlY2hvIC1lICQoZGF0ZSkNCj4gKyMjKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioNCj4g KyMjIEluaXRpYWwgU2V0dXANCj4gKyMjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioNCj4gKyNXT1JLU1BBQ0U9 JChwd2QpDQo+ICsjYnVpbGRfdGhyZWFkcz0oJE5VTUJFUl9PRl9QUk9DRVNTT1JTKSsxDQo+ICtC dWlsZF9GbGFncz0NCj4gK2V4aXRDb2RlPTANCj4gK0FyY2g9WDY0DQo+ICtTcGlMb2NrPTANCj4g Kw0KPiArIyMgQ2xlYW4gdXAgcHJldmlvdXMgYnVpbGQgZmlsZXMuDQo+ICtpZiBbIC1lICQocHdk KS9FREsyLmxvZyBdOyB0aGVuDQo+ICsgIHJtICQocHdkKS9FREsyLmxvZw0KPiArZmkNCj4gKw0K PiAraWYgWyAtZSAkKHB3ZCkvVW5pdG9vbC5sb2cgXTsgdGhlbg0KPiArICBybSAkKHB3ZCkvVW5p dG9vbC5sb2cNCj4gK2ZpDQo+ICsNCj4gK2lmIFsgLWUgJChwd2QpL0NvbmYvdGFyZ2V0LnR4dCBd OyB0aGVuDQo+ICsgIHJtICQocHdkKS9Db25mL3RhcmdldC50eHQNCj4gK2ZpDQo+ICsNCj4gK2lm IFsgLWUgJChwd2QpL0NvbmYvQmlvc0lkLmVudiBdOyB0aGVuDQo+ICsgIHJtICQocHdkKS9Db25m L0Jpb3NJZC5lbnYNCj4gK2ZpDQo+ICsNCj4gK2lmIFsgLWUgJChwd2QpL0NvbmYvdG9vbHNfZGVm LnR4dCBdOyB0aGVuDQo+ICsgIHJtICQocHdkKS9Db25mL3Rvb2xzX2RlZi50eHQNCj4gK2ZpDQo+ ICsNCj4gK2lmIFsgLWUgJChwd2QpL0NvbmYvYnVpbGRfcnVsZS50eHQgXTsgdGhlbg0KPiArICBy bSAkKHB3ZCkvQ29uZi9idWlsZF9ydWxlLnR4dA0KPiArZmkNCj4gKw0KPiArDQo+ICsjIyBTZXR1 cCBFREsgZW52aXJvbm1lbnQuIEVka3NldHVwIHB1dHMgbmV3IGNvcGllcyBvZiB0YXJnZXQudHh0 LA0KPiB0b29sc19kZWYudHh0LCBidWlsZF9ydWxlLnR4dCBpbiBXb3JrU3BhY2VcQ29uZg0KPiAr IyMgQWxzbyBydW4gZWRrc2V0dXAgYXMgc29vbiBhcyBwb3NzaWJsZSB0byBhdm9pZCBpdCBmcm9t IGNoYW5naW5nDQo+IGVudmlyb25tZW50IHZhcmlhYmxlcyB3ZSdyZSBvdmVycmlkaW5nDQo+ICsu IGVka3NldHVwLnNoIEJhc2VUb29scw0KPiArbWFrZSAtQyBCYXNlVG9vbHMNCj4gKw0KPiArIyMg RGVmaW5lIHBsYXRmb3JtIHNwZWNpZmljIGVudmlyb25tZW50IHZhcmlhYmxlcy4NCj4gK1BMQVRG T1JNX1BBQ0tBR0U9Vmx2MlRibHREZXZpY2VQa2cNCj4gK2NvbmZpZ19maWxlPSRXT1JLU1BBQ0Uv JFBMQVRGT1JNX1BBQ0tBR0UvUGxhdGZvcm1Qa2dDb25maWcuZHNjDQo+ICthdXRvX2NvbmZpZ19p bmM9JFdPUktTUEFDRS8kUExBVEZPUk1fUEFDS0FHRS9BdXRvUGxhdGZvcm1DRkcudA0KPiB4dA0K PiArDQo+ICsjIyBkZWZhdWx0IEVDUCAob3ZlcnJpZGUgd2l0aCAvRUNQIGZsYWcpDQo+ICtFREtf U09VUkNFPSRXT1JLU1BBQ0UvRWRrQ29tcGF0aWJpbGl0eVBrZw0KPiArDQo+ICsjIyBjcmVhdGUg bmV3IEF1dG9QbGF0Zm9ybUNGRy50eHQgZmlsZQ0KPiAraWYgWyAtZiAiJGF1dG9fY29uZmlnX2lu YyIgXTsgdGhlbg0KPiArICBybSAkYXV0b19jb25maWdfaW5jDQo+ICtmaQ0KPiArdG91Y2ggJGF1 dG9fY29uZmlnX2luYw0KPiArDQo+ICsjIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqDQo+ICsjIyBQYXJzZSBj b21tYW5kIGxpbmUgYXJndW1lbnRzDQo+ICsjIyoqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioNCj4gKioqKioqKioqKioqKioqDQo+ICsNCj4gKyMj IE9wdGlvbmFsIGFyZ3VtZW50cw0KPiArZm9yICgoIGk9MTsgaTw9JCM7ICkpDQo+ICsgIGRvDQo+ ICsgICAgaWYgWyAiJDEiID09ICIvPyIgXTsgdGhlbg0KPiArICAgICAgVXNhZ2UNCj4gKyAgICBl bGlmIFsgIiQoZWNobyAkMSB8IHRyICdhLXonICdBLVonKSIgPT0gIi9RIiBdOyB0aGVuDQo+ICsg ICAgICBCdWlsZF9GbGFncz0iJEJ1aWxkX0ZsYWdzIC0tcXVpZXQiDQo+ICsgICAgICBzaGlmdA0K PiArICAgIGVsaWYgWyAiJChlY2hvICQxIHwgdHIgJ2EteicgJ0EtWicpIiA9PSAiL0wiIF07IHRo ZW4NCj4gKyAgICAgIEJ1aWxkX0ZsYWdzPSIkQnVpbGRfRmxhZ3MgLWogRUtEMi5sb2ciDQo+ICsg ICAgICBzaGlmdA0KPiArICAgIGVsaWYgWyAiJChlY2hvICQxIHwgdHIgJ2EteicgJ0EtWicpIiA9 PSAiL0MiIF07IHRoZW4NCj4gKyAgICAgIGVjaG8gUmVtb3ZpbmcgcHJldmlvdXMgYnVpbGQgZmls ZXMgLi4uDQo+ICsgICAgICBpZiBbIC1kICJCdWlsZCIgXTsgdGhlbg0KPiArICAgICAgICBybSAt ciBCdWlsZA0KPiArICAgICAgZmkNCj4gKyAgICAgIHNoaWZ0DQo+ICsgICAgZWxpZiBbICIkKGVj aG8gJDEgfCB0ciAnYS16JyAnQS1aJykiID09ICIvRUNQIiBdOyB0aGVuDQo+ICsgICAgICBFQ1Bf U09VUkNFPSRXT1JLU1BBQ0UvRWRrQ29tcGF0aWJpbGl0eVBrZ0VjcA0KPiArICAgICAgRURLX1NP VVJDRT0kV09SS1NQQUNFL0Vka0NvbXBhdGliaWxpdHlQa2dFY3ANCj4gKyAgICAgIGVjaG8gREVG SU5FIEVDUF9CVUlMRF9FTkFCTEUgPSBUUlVFID4+ICRhdXRvX2NvbmZpZ19pbmMNCj4gKyAgICAg IHNoaWZ0DQo+ICsgICAgZWxpZiBbICIkKGVjaG8gJDEgfCB0ciAnYS16JyAnQS1aJykiID09ICIv WDY0IiBdOyB0aGVuDQo+ICsgICAgICBBcmNoPVg2NA0KPiArICAgICAgc2hpZnQNCj4gKyAgICBl bGlmIFsgIiQoZWNobyAkMSB8IHRyICdhLXonICdBLVonKSIgPT0gIi9ZTCIgXTsgdGhlbg0KPiAr ICAgICAgU3BpTG9jaz0xDQo+ICsgICAgICBzaGlmdA0KPiArICAgIGVsc2UNCj4gKyAgICAgIGJy ZWFrDQo+ICsgICAgZmkNCj4gKyAgZG9uZQ0KPiArDQo+ICsNCj4gKw0KPiArDQo+ICsNCj4gKyMj IFJlcXVpcmVkIGFyZ3VtZW50KHMpDQo+ICtpZiBbICIkMiIgPT0gIiIgXTsgdGhlbg0KPiArICBV c2FnZQ0KPiArZmkNCj4gKw0KPiArIyMgUmVtb3ZlIHRoZSB2YWx1ZXMgZm9yIFBsYXRmb3JtX1R5 cGUgYW5kIEJ1aWxkX1RhcmdldCBmcm9tDQo+IEJpb3NJZFguZW52IGFuZCBzdGFnZSBpbiBDb25m DQo+ICtpZiBbICRBcmNoID09ICJJQTMyIiBdOyB0aGVuDQo+ICsgIGNwICRQTEFURk9STV9QQUNL QUdFL0Jpb3NJZFIuZW52ICAgIENvbmYvQmlvc0lkLmVudg0KPiArICBlY2hvIERFRklORSBYNjRf Q09ORklHID0gRkFMU0UgICAgICA+PiAkYXV0b19jb25maWdfaW5jDQo+ICtlbHNlDQo+ICsgIGNw ICRQTEFURk9STV9QQUNLQUdFL0Jpb3NJZHg2NFIuZW52ICBDb25mL0Jpb3NJZC5lbnYNCj4gKyAg ZWNobyBERUZJTkUgWDY0X0NPTkZJRyA9IFRSVUUgICAgICAgPj4gJGF1dG9fY29uZmlnX2luYw0K PiArZmkNCj4gK3NlZCAtaSAnL15CT0FSRF9JRC9kJyBDb25mL0Jpb3NJZC5lbnYNCj4gK3NlZCAt aSAnL15CVUlMRF9UWVBFL2QnIENvbmYvQmlvc0lkLmVudg0KPiArDQo+ICsNCj4gKw0KPiArIyMg LS0gQnVpbGQgZmxhZ3Mgc2V0dGluZ3MgZm9yIGVhY2ggUGxhdGZvcm0gLS0NCj4gKyMjICAgIEFs cGluZVZhbGxleSAoQUxQVik6ICBTVlBfUEZfQlVJTEQgPSBUUlVFLCAgIEVOQkRUX1BGX0JVSUxE ID0NCj4gRkFMU0UsICBUQUJMRVRfUEZfQlVJTEQgPSBGQUxTRSwgIEJZVElfUEZfQlVJTEQgPSBG QUxTRSwgSVZJX1BGX0JVSUxEID0NCj4gRkFMU0UNCj4gKyMjICAgICAgIEJheWxleUJheSAoQkJB WSk6ICBTVlBfUEZfQlVJTEQgPSBGQUxTRSwgIEVOQkRUX1BGX0JVSUxEID0gVFJVRSwNCj4gVEFC TEVUX1BGX0JVSUxEID0gRkFMU0UsICBCWVRJX1BGX0JVSUxEID0gRkFMU0UsIElWSV9QRl9CVUlM RCA9IEZBTFNFDQo+ICsjIyAgICAgICAgIEJheUxha2UgKEJMQUspOiAgU1ZQX1BGX0JVSUxEID0g RkFMU0UsICBFTkJEVF9QRl9CVUlMRCA9IEZBTFNFLA0KPiBUQUJMRVRfUEZfQlVJTEQgPSBUUlVF LCAgIEJZVElfUEZfQlVJTEQgPSBGQUxTRSwgSVZJX1BGX0JVSUxEID0gRkFMU0UNCj4gKyMjICAg ICAgQmFrZXJzcG9ydCAoQllUSSk6ICBTVlBfUEZfQlVJTEQgPSBGQUxTRSwgIEVOQkRUX1BGX0JV SUxEID0gRkFMU0UsDQo+IFRBQkxFVF9QRl9CVUlMRCA9IEZBTFNFLCAgQllUSV9QRl9CVUlMRCA9 IFRSVUUsIElWSV9QRl9CVUlMRCA9IEZBTFNFDQo+ICsjIyBDcmVzdHZpZXcgSGlsbHMgKENWSFMp OiAgU1ZQX1BGX0JVSUxEID0gRkFMU0UsICBFTkJEVF9QRl9CVUlMRCA9DQo+IEZBTFNFLCAgVEFC TEVUX1BGX0JVSUxEID0gRkFMU0UsICBCWVRJX1BGX0JVSUxEID0gVFJVRSwgSVZJX1BGX0JVSUxE ID0NCj4gVFJVRQ0KPiArIyMgICAgICAgICAgICBGRkQ4IChCTEFLKTogIFNWUF9QRl9CVUlMRCA9 IEZBTFNFLCAgRU5CRFRfUEZfQlVJTEQgPSBGQUxTRSwNCj4gVEFCTEVUX1BGX0JVSUxEID0gVFJV RSwgICBCWVRJX1BGX0JVSUxEID0gRkFMU0UsIElWSV9QRl9CVUlMRCA9IEZBTFNFDQo+ICtlY2hv ICJTZXR0aW5nICAkMSAgcGxhdGZvcm0gY29uZmlndXJhdGlvbiBhbmQgQklPUyBJRC4uLiINCj4g K2lmIFsgIiQoZWNobyAkMSB8IHRyICdhLXonICdBLVonKSIgPT0gIk1OVzIiIF07IHRoZW4NCj4g KyAgZWNobyBCT0FSRF9JRCA9IE1OVzJNQVggICAgICAgICAgICAgPj4gQ29uZi9CaW9zSWQuZW52 DQo+ICsgIGVjaG8gREVGSU5FIEVOQkRUX1BGX0JVSUxEID0gVFJVRSAgPj4gJGF1dG9fY29uZmln X2luYw0KPiArZWxzZQ0KPiArICBlY2hvICJFcnJvciAtIFVuc3VwcG9ydGVkIFBsYXRmb3JtVHlw ZTogJDEiDQo+ICsgIFVzYWdlDQo+ICtmaQ0KPiArDQo+ICtQbGF0Zm9ybV9UeXBlPSQxDQo+ICsN Cj4gK2lmIFsgIiQoZWNobyAkMiB8IHRyICdhLXonICdBLVonKSIgPT0gIlJFTEVBU0UiIF07IHRo ZW4NCj4gKyAgVEFSR0VUPVJFTEVBU0UNCj4gKyAgQlVJTERfVFlQRT1SDQo+ICsgIGVjaG8gQlVJ TERfVFlQRSA9IFIgPj4gQ29uZi9CaW9zSWQuZW52DQo+ICtlbHNlDQo+ICsgIFRBUkdFVD1ERUJV Rw0KPiArICBCVUlMRF9UWVBFPUQNCj4gKyAgZWNobyBCVUlMRF9UWVBFID0gRCA+PiBDb25mL0Jp b3NJZC5lbnYNCj4gK2ZpDQo+ICsNCj4gKw0KPiArIyMqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioqKioqKioqKg0KPiArIyMg QWRkaXRpb25hbCBFREsgQnVpbGQgU2V0dXAvQ29uZmlndXJhdGlvbg0KPiArIyMqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioq KioqKioqKg0KPiArZWNobyAiRW5zdXJpbmcgY29ycmVjdCBidWlsZCBkaXJlY3RvcnkgaXMgcHJl c2VudCBmb3IgR2VuQmlvc0lkLi4uIg0KPiArDQo+ICtlY2hvIE1vZGlmaW5nIENvbmYgZmlsZXMg Zm9yIHRoaXMgYnVpbGQuLi4NCj4gKyMjIFJlbW92ZSBsaW5lcyB3aXRoIHRoZXNlIHRhZ3MgZnJv bSB0YXJnZXQudHh0DQo+ICtzZWQgLWkgJy9eQUNUSVZFX1BMQVRGT1JNL2QnIENvbmYvdGFyZ2V0 LnR4dA0KPiArc2VkIC1pICcvXlRBUkdFVCAvZCcgQ29uZi90YXJnZXQudHh0DQo+ICtzZWQgLWkg Jy9eVEFSR0VUX0FSQ0gvZCcgQ29uZi90YXJnZXQudHh0DQo+ICtzZWQgLWkgJy9eVE9PTF9DSEFJ Tl9UQUcvZCcgQ29uZi90YXJnZXQudHh0DQo+ICtzZWQgLWkgJy9eTUFYX0NPTkNVUlJFTlRfVEhS RUFEX05VTUJFUi9kJyBDb25mL3RhcmdldC50eHQNCj4gKw0KPiArZ2NjX3ZlcnNpb249JChnY2Mg LXYgMj4mMSB8IHRhaWwgLTEgfCBhd2sgJ3twcmludCAkM30nKQ0KPiArY2FzZSAkZ2NjX3ZlcnNp b24gaW4NCj4gKyAgICA0LjkuKnw0LjFbMC05XS4qfDUuKi4qfDYuKi4qKQ0KPiArICAgICAgVEFS R0VUX1RPT0xTPUdDQzQ5DQo+ICsgICAgICA7Ow0KPiArICAgICopDQo+ICsgICAgICBUQVJHRVRf VE9PTFM9R0NDNDgNCj4gKyAgICAgIDs7DQo+ICtlc2FjDQo+ICsNCj4gK0FDVElWRV9QTEFURk9S TT0kUExBVEZPUk1fUEFDS0FHRS9QbGF0Zm9ybVBrZ0djYyIkQXJjaCIuZHNjDQo+ICtUT09MX0NI QUlOX1RBRz0kVEFSR0VUX1RPT0xTDQo+ICtNQVhfQ09OQ1VSUkVOVF9USFJFQURfTlVNQkVSPTEN Cj4gK2VjaG8gQUNUSVZFX1BMQVRGT1JNID0gJEFDVElWRV9QTEFURk9STSAgICAgICAgICAgICAg ICAgICAgICAgICAgID4+DQo+IENvbmYvdGFyZ2V0LnR4dA0KPiArZWNobyBUQVJHRVQgICAgICAg ICAgPSAkVEFSR0VUICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPj4gQ29uZi90 YXJnZXQudHh0DQo+ICtlY2hvIFRPT0xfQ0hBSU5fVEFHICA9ICRUT09MX0NIQUlOX1RBRyAgICAg ICAgICAgICAgICAgICAgICAgICAgICA+Pg0KPiBDb25mL3RhcmdldC50eHQNCj4gK2VjaG8gTUFY X0NPTkNVUlJFTlRfVEhSRUFEX05VTUJFUiA9DQo+ICRNQVhfQ09OQ1VSUkVOVF9USFJFQURfTlVN QkVSID4+IENvbmYvdGFyZ2V0LnR4dA0KPiAraWYgWyAkQXJjaCA9PSAiSUEzMiIgXTsgdGhlbg0K PiArICBlY2hvIFRBUkdFVF9BUkNIICAgPSBJQTMyICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgPj4gQ29uZi90YXJnZXQudHh0DQo+ICtlbHNlDQo+ICsgIGVjaG8gVEFSR0VU X0FSQ0ggICA9IElBMzIgWDY0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA+PiBD b25mL3RhcmdldC50eHQNCj4gK2ZpDQo+ICsNCj4gKyMjKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioNCj4gKyMj IEJ1aWxkIEJJT1MNCj4gKyMjKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioNCj4gK2VjaG8gU2tpcCAiUnVubmlu ZyBVbmlUb29sLi4uIg0KPiArZWNobyAiTWFrZSBHZW5CaW9zSWQgVG9vbC4uLiINCj4gK0JVSUxE X1BBVEg9QnVpbGQvJFBMQVRGT1JNX1BBQ0tBR0UvIiRUQVJHRVQiXyIkVE9PTF9DSEFJTl9UDQo+ IEFHIg0KPiAraWYgWyAhIC1kICIkQlVJTERfUEFUSC8kQXJjaCIgXTsgdGhlbg0KPiArICBta2Rp ciAtcCAkQlVJTERfUEFUSC8kQXJjaA0KPiArZmkNCj4gK2lmIFsgLWUgIiRCVUlMRF9QQVRILyRB cmNoL0Jpb3NJZC5iaW4iIF07IHRoZW4NCj4gKyAgcm0gLWYgJEJVSUxEX1BBVEgvJEFyY2gvQmlv c0lkLmJpbg0KPiArZmkNCj4gKw0KPiArDQo+ICsuLyRQTEFURk9STV9QQUNLQUdFL0dlbkJpb3NJ ZCAtaSBDb25mL0Jpb3NJZC5lbnYgLW8NCj4gJEJVSUxEX1BBVEgvJEFyY2gvQmlvc0lkLmJpbg0K PiArDQo+ICsNCj4gK2VjaG8gIkludm9raW5nIEVESzIgYnVpbGQuLi4iDQo+ICtidWlsZA0KPiAr DQo+ICtpZiBbICRTcGlMb2NrID09ICIxIiBdOyB0aGVuDQo+ICsNCj4gSUZXSV9IRUFERVJfRklM RT0uLyRQTEFURk9STV9QQUNLQUdFL1N0aXRjaC9JRldJSGVhZGVyL0lGV0lfSEVBDQo+IERFUl9T UElMT0NLLmJpbg0KPiArZWxzZQ0KPiArDQo+IElGV0lfSEVBREVSX0ZJTEU9Li8kUExBVEZPUk1f UEFDS0FHRS9TdGl0Y2gvSUZXSUhlYWRlci9JRldJX0hFQQ0KPiBERVIuYmluDQo+ICtmaQ0KPiAr DQo+ICtlY2hvICRJRldJX0hFQURFUl9GSUxFDQo+ICsNCj4gKyMjKioqKioqKioqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKg0KPiAqKioqKioqKioqKioqKioN Cj4gKyMjIFBvc3QgQnVpbGQgcHJvY2Vzc2luZyBhbmQgY2xlYW51cA0KPiArIyMqKioqKioqKioq KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqDQo+ICoqKioqKioq KioqKioqKg0KPiArDQo+ICtlY2hvIFNraXAgIlJ1bm5pbmcgZmNlLi4uIg0KPiArDQo+ICtlY2hv IFNraXAgIlJ1bm5pbmcgS2V5RW5yb2xsLi4uIg0KPiArDQo+ICsjIyBTZXQgdGhlIEJvYXJkX0lk LCBCdWlsZF9UeXBlLCBWZXJzaW9uX01ham9yLCBhbmQgVmVyc2lvbl9NaW5vcg0KPiBlbnZpcm9u bWVudCB2YXJpYWJsZXMNCj4gK1ZFUlNJT05fTUFKT1I9JChncmVwICdeVkVSU0lPTl9NQUpPUicg Q29uZi9CaW9zSWQuZW52IHwgY3V0IC1kICcgJyAtZg0KPiAzIHwgY3V0IC1jIDEtNCkNCj4gK1ZF UlNJT05fTUlOT1I9JChncmVwICdeVkVSU0lPTl9NSU5PUicgQ29uZi9CaW9zSWQuZW52IHwgY3V0 IC1kICcgJyAtZg0KPiAzIHwgY3V0IC1jIDEtMikNCj4gK0JPQVJEX0lEPSQoZ3JlcCAnXkJPQVJE X0lEJyBDb25mL0Jpb3NJZC5lbnYgfCBjdXQgLWQgJyAnIC1mIDMgfCBjdXQgLWMgMS03KQ0KPiAr QklPU19OYW1lPSIkQk9BUkRfSUQiXyIkQXJjaCJfIiRCVUlMRF9UWVBFIl8iJFZFUlNJT05fTUFK T1IiDQo+IF8iJFZFUlNJT05fTUlOT1IiLlJPTQ0KPiArQklPU19JRD0iJEJPQVJEX0lEIl8iJEFy Y2giXyIkQlVJTERfVFlQRSJfIiRWRVJTSU9OX01BSk9SIl8iJA0KPiBWRVJTSU9OX01JTk9SIl9H Q0MuYmluDQo+ICtTRUNfVkVSU0lPTj0xLjAuMi4xMDYwdjUNCj4gK2NhdA0KPiAkSUZXSV9IRUFE RVJfRklMRSAuLi9WbHYyQmluYXJpZXMvVmx2MlNvY0JpblBrZy9TRUMvJFNFQ19WRVJTSU9OL1ZM Vg0KPiBfU0VDX1JFR0lPTi5iaW4gLi4vVmx2MkJpbmFyaWVzL1ZsdjJTb2NCaW5Qa2cvU0VDLyRT RUNfVkVSU0lPTi9WYWNhbnQNCj4gLmJpbiAkQlVJTERfUEFUSC9GVi9WTFYuZmQgPiAuLyRQTEFU Rk9STV9QQUNLQUdFL1N0aXRjaC8kQklPU19JRA0KPiArDQo+ICsNCj4gK2VjaG8gU2tpcCAiUnVu bmluZyBCSU9TX1NpZ25pbmcgLi4uIg0KPiArDQo+ICtlY2hvDQo+ICtlY2hvIEJ1aWxkIGxvY2F0 aW9uOiAgICAgJEJVSUxEX1BBVEgNCj4gK2VjaG8gQklPUyBST00gQ3JlYXRlZDogICAkQklPU19O YW1lDQo+ICtlY2hvDQo+ICtlY2hvIC0tLS0tLS0tLS0tLS0tLS0tLS0tIFRoZSBFREtJSSBCSU9T IGJ1aWxkIGhhcyBzdWNjZXNzZnVsbHkgY29tcGxldGVkLiAtLS0tLQ0KPiAtLS0tLS0tLS0tLS0t LS0NCj4gK2VjaG8NCj4gZGlmZiAtLWdpdCBhL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNl UGtnL2Nsbi5zaA0KPiBiL1BsYXRmb3JtL0ludGVsL1ZsdjJUYmx0RGV2aWNlUGtnL2Nsbi5zaA0K PiBuZXcgZmlsZSBtb2RlIDEwMDY0NA0KPiBpbmRleCAwMDAwMDAwMDAwLi4zNTExNjk1ZjZmDQo+ IC0tLSAvZGV2L251bGwNCj4gKysrIGIvUGxhdGZvcm0vSW50ZWwvVmx2MlRibHREZXZpY2VQa2cv Y2xuLnNoDQo+IEBAIC0wLDAgKzEsNjIgQEANCj4gKyMhL3Vzci9iaW4vZW52IGJhc2gNCj4gK2Vj aG8NCj4gK2VjaG8gUnVuIGJ1aWxkIGNsZWFuYWxsLi4uDQo+ICtlY2hvDQo+ICsNCj4gK2VjaG8N Cj4gK2VjaG8gRGlyZWN0b3JpZXMgdG8gY2xlYW4uLi4NCj4gK2VjaG8NCj4gKw0KPiArY2QgLi4N Cj4gKw0KPiAraWYgWyAtZCAiQnVpbGQiIF07IHRoZW4NCj4gKyAgcm0gLXIgQnVpbGQNCj4gK2Zp DQo+ICsNCj4gK2lmIFsgLWQgIkNvbmYvLmNhY2hlIiBdOyB0aGVuDQo+ICsgIHJtIC1yIENvbmYv LmNhY2hlDQo+ICtmaQ0KPiArDQo+ICtpZiBbIC1kICJSb21JbWFnZXMiIF07IHRoZW4NCj4gKyAg cm0gLXIgUm9tSW1hZ2VzDQo+ICtmaQ0KPiArDQo+ICtlY2hvDQo+ICtlY2hvIEZpbGVzIHRvIGNs ZWFuLi4uDQo+ICtlY2hvDQo+ICsNCj4gK2lmIFsgLWUgJChwd2QpL0VESzIubG9nIF07IHRoZW4N Cj4gKyAgcm0gJChwd2QpL0VESzIubG9nDQo+ICtmaQ0KPiArDQo+ICtpZiBbIC1lICQocHdkKS9V bml0b29sLmxvZyBdOyB0aGVuDQo+ICsgIHJtICQocHdkKS9Vbml0b29sLmxvZw0KPiArZmkNCj4g Kw0KPiAraWYgWyAtZSAkKHB3ZCkvQ29uZi90YXJnZXQudHh0IF07IHRoZW4NCj4gKyAgcm0gJChw d2QpL0NvbmYvdGFyZ2V0LnR4dA0KPiArZmkNCj4gKw0KPiAraWYgWyAtZSAkKHB3ZCkvQ29uZi9C aW9zSWQuZW52IF07IHRoZW4NCj4gKyAgcm0gJChwd2QpL0NvbmYvQmlvc0lkLmVudg0KPiArZmkN Cj4gKw0KPiAraWYgWyAtZSAkKHB3ZCkvQ29uZi90b29sc19kZWYudHh0IF07IHRoZW4NCj4gKyAg cm0gJChwd2QpL0NvbmYvdG9vbHNfZGVmLnR4dA0KPiArZmkNCj4gKw0KPiAraWYgWyAtZSAkKHB3 ZCkvQ29uZi9idWlsZF9ydWxlLnR4dCBdOyB0aGVuDQo+ICsgIHJtICQocHdkKS9Db25mL2J1aWxk X3J1bGUudHh0DQo+ICtmaQ0KPiArDQo+ICtpZiBbIC1lICQocHdkKS9Db25mL0J1aWxkRW52LnNo IF07IHRoZW4NCj4gKyAgcm0gJChwd2QpL0NvbmYvQnVpbGRFbnYuc2gNCj4gK2ZpDQo+ICsNCj4g K2lmIFsgLWUgJChwd2QpL1ZsdjJUYmx0RGV2aWNlUGtnL0F1dG9QbGF0Zm9ybUNGRy50eHQgXTsg dGhlbg0KPiArICBybSAkKHB3ZCkvVmx2MlRibHREZXZpY2VQa2cvQXV0b1BsYXRmb3JtQ0ZHLnR4 dA0KPiArZmkNCj4gKw0KPiArZWNobw0KPiArZWNobyBBbGwgZG9uZS4uLg0KPiArZWNobw0KPiAt LQ0KPiAyLjIxLjAud2luZG93cy4xDQoNCg==