From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from loongson.cn (loongson.cn [114.242.206.163]) by mx.groups.io with SMTP id smtpd.web10.403.1662720059764530352 for ; Fri, 09 Sep 2022 03:41:00 -0700 Authentication-Results: mx.groups.io; dkim=missing; spf=pass (domain: loongson.cn, ip: 114.242.206.163, mailfrom: lichao@loongson.cn) Received: from lichao$loongson.cn ( [117.136.38.6] ) by ajax-webmail-localhost.localdomain (Coremail) ; Fri, 9 Sep 2022 18:40:57 +0800 (GMT+08:00) X-Originating-IP: [117.136.38.6] Date: Fri, 9 Sep 2022 18:40:57 +0800 (GMT+08:00) X-CM-HeaderCharset: UTF-8 From: "Chao Li" To: devel@edk2.groups.io, lixianglai@loongson.cn Cc: gaoliming , maobibo@loongson.cn Subject: =?UTF-8?B?UmU6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtlZGsyLXBsYXRmb3Jtc11bUEFUQ0ggVjEgMDEvMTZdIFBsYXRmb3JtL0xvb25nc29uOiBBZGQgU2VyaWFsIFBvcnQgbGlicmFyeQ==?= X-Priority: 3 X-Mailer: Coremail Webmail Server Version XT5.0.14 build 20220411(feba7c69) Copyright (c) 2002-2022 www.mailtech.cn .loongson.cn In-Reply-To: <958f0bd.78c2.18321824253.Coremail.lixianglai@loongson.cn> References: <7775be2be248a91ee072180e9bebc00d94a21298.1662691771.git.lixianglai@loongson.cn> <027c01d8c428$67c63ad0$3752b070$@byosoft.com.cn> <958f0bd.78c2.18321824253.Coremail.lixianglai@loongson.cn> X-CM-CTRLDATA: q8e70WZvb3Rlcl90eHQ9NTI2OTk6NjEy MIME-Version: 1.0 Message-ID: <4ffeda56.79a5.18321d6a07c.Coremail.lichao@loongson.cn> X-Coremail-Locale: zh_CN X-CM-TRANSID: AQAAf8Ax1OE5GBtjvl4VAA--.4857W X-CM-SenderInfo: xolfxt3r6o00pqjv00gofq/1tbiAQAECGMZ21sbtQACsb X-Coremail-Antispam: 1Ur529EdanIXcx71UUUUU7IcSsGvfJ3iIAIbVAYjsxI4VWkKw CS07vEb4IE77IF4wCS07vE1I0E4x80FVAKz4kxMIAIbVAFxVCaYxvI4VCIwcAKzIAtYxBI daVFxhVjvjDU= Content-Transfer-Encoding: base64 Content-Type: text/plain; charset=UTF-8 CkhpIExpbWluZyBhbmQgWGlhbmhsYWksClRoZSBuZXcgZmVhdHVyZSByZXF1ZXN0IG9mIExvb25n QXJjaCBWTSBoYXMgYmVlbiBjcmVhdGVkIGluIHRoZSAKQlosIFJFRjogaHR0cHM6Ly9idWd6aWxs YS50aWFub2NvcmUub3JnL3Nob3dfYnVnLmNnaT9pZD00MDU0IC4gUGxlYXNlIGNoZWNrLgoKVGhh bmtzLApDaGFvCgo+IC0tLS0t5Y6f5aeL6YKu5Lu2LS0tLS0KPiDlj5Hku7bkuro6IHhpYW5nbGFp IDxsaXhpYW5nbGFpQGxvb25nc29uLmNuPgo+IOWPkemAgeaXtumXtDoyMDIyLTA5LTA5IDE3OjA4 OjQ4ICjmmJ/mnJ/kupQpCj4g5pS25Lu25Lq6OiBnYW9saW1pbmcgPGdhb2xpbWluZ0BieW9zb2Z0 LmNvbS5jbj4KPiDmioTpgIE6IGRldmVsQGVkazIuZ3JvdXBzLmlvLCBtYW9iaWJvQGxvb25nc29u LmNuCj4g5Li76aKYOiBSZTog5Zue5aSNOiBbZWRrMi1kZXZlbF0gW2VkazItcGxhdGZvcm1zXVtQ QVRDSCBWMSAwMS8xNl0gUGxhdGZvcm0vTG9vbmdzb246IEFkZCBTZXJpYWwgUG9ydCBsaWJyYXJ5 Cj4gCj4gCj4gSGkgTGltaW5nOgo+ICAgVGhhbmtzIGZvciB3cml0aW5nIGJhY2sgYW5kIGZvciB0 aGUgdGlwcy4gWW91IGNhbiBnZXQgYWxsIHRoZSBwYXRjaGVzIGF0Ogo+ICAgaHR0cHM6Ly9naXRo dWIuY29tL2xvb25nc29uL2VkazItcGxhdGZvcm1zL3RyZWUvZGV2ZWwtTG9vbmdBcmNoLXBhdGNo Cj4gCj4gVGhhbmtzCj4geGlhbmdsYWkKPiAKPiA+IC0tLS0t5Y6f5aeL6YKu5Lu2LS0tLS0KPiA+ IOWPkeS7tuS6ujogZ2FvbGltaW5nIDxnYW9saW1pbmdAYnlvc29mdC5jb20uY24+Cj4gPiDlj5Hp gIHml7bpl7Q6MjAyMi0wOS0wOSAxNjo0NDo0MiAo5pif5pyf5LqUKQo+ID4g5pS25Lu25Lq6OiBk ZXZlbEBlZGsyLmdyb3Vwcy5pbywgbGl4aWFuZ2xhaUBsb29uZ3Nvbi5jbgo+ID4g5oqE6YCBOiBt YW9iaWJvQGxvb25nc29uLmNuCj4gPiDkuLvpopg6IOWbnuWkjTogW2VkazItZGV2ZWxdIFtlZGsy LXBsYXRmb3Jtc11bUEFUQ0ggVjEgMDEvMTZdIFBsYXRmb3JtL0xvb25nc29uOiBBZGQgU2VyaWFs IFBvcnQgbGlicmFyeQo+ID4gCj4gPiBYaWFuZ2xhaToKPiA+ICAgUGxlYXNlIHNoYXJlIHRoZSBn aXRodWIgbGluayB0byBnZXQgYWxsIHBhdGNoZXMuIAo+ID4gCj4gPiBUaGFua3MKPiA+IExpbWlu Zwo+ID4gPiAtLS0tLemCruS7tuWOn+S7ti0tLS0tCj4gPiA+IOWPkeS7tuS6ujogZGV2ZWxAZWRr Mi5ncm91cHMuaW8gPGRldmVsQGVkazIuZ3JvdXBzLmlvPiDku6PooaggeGlhbmdsYWkKPiA+ID4g 5Y+R6YCB5pe26Ze0OiAyMDIy5bm0OeaciDnml6UgMTE6MTIKPiA+ID4g5pS25Lu25Lq6OiBkZXZl bEBlZGsyLmdyb3Vwcy5pbwo+ID4gPiDmioTpgIE6IG1hb2JpYm9AbG9vbmdzb24uY24KPiA+ID4g 5Li76aKYOiBbZWRrMi1kZXZlbF0gW2VkazItcGxhdGZvcm1zXVtQQVRDSCBWMSAwMS8xNl0gUGxh dGZvcm0vTG9vbmdzb246Cj4gPiA+IEFkZCBTZXJpYWwgUG9ydCBsaWJyYXJ5Cj4gPiA+IAo+ID4g PiBTZXJpYWwgUG9ydCBsaWJyYXJ5IGZvciBMb29uZ2FyY2hRZW11UGtnCj4gPiA+IAo+ID4gPiBT aWduZWQtb2ZmLWJ5OiB4aWFuZ2xhaSBsaSA8bGl4aWFuZ2xhaUBsb29uZ3Nvbi5jbj4KPiA+ID4g LS0tCj4gPiA+ICAuLi4vTG9vbmdBcmNoUWVtdVBrZy9JbmNsdWRlL0xpYnJhcnkvQ3B1LmggICAg fCAzNDQgKysrKysrKysrKwo+ID4gPiAgLi4uL0luY2x1ZGUvTG9vbmdBcmNoUWVtdVBsYXRmb3Jt LmggICAgICAgICAgIHwgMTAzICsrKwo+ID4gPiAgLi4uL0xpYnJhcnkvU2VyaWFsUG9ydExpYi9T ZXJpYWxQb3J0TGliLmMgICAgIHwgNjEyICsrKysrKysrKysrKysrKysrKwo+ID4gPiAgLi4uL0xp YnJhcnkvU2VyaWFsUG9ydExpYi9TZXJpYWxQb3J0TGliLmluZiAgIHwgIDM2ICsrCj4gPiA+ICA0 IGZpbGVzIGNoYW5nZWQsIDEwOTUgaW5zZXJ0aW9ucygrKQo+ID4gPiAgY3JlYXRlIG1vZGUgMTAw NjQ0Cj4gPiA+IFBsYXRmb3JtL0xvb25nc29uL0xvb25nQXJjaFFlbXVQa2cvSW5jbHVkZS9MaWJy YXJ5L0NwdS5oCj4gPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQKPiA+ID4gUGxhdGZvcm0vTG9vbmdz b24vTG9vbmdBcmNoUWVtdVBrZy9JbmNsdWRlL0xvb25nQXJjaFFlbXVQbGF0Zm9ybS5oCj4gPiA+ ICBjcmVhdGUgbW9kZSAxMDA2NDQKPiA+ID4gUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVt dVBrZy9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExpYi5jCj4gPiA+ICBjcmVhdGUg bW9kZSAxMDA2NDQKPiA+ID4gUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9MaWJy YXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExpYi5pbgo+ID4gPiBmCj4gPiA+IAo+ID4gPiBk aWZmIC0tZ2l0IGEvUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9JbmNsdWRlL0xp YnJhcnkvQ3B1LmgKPiA+ID4gYi9QbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0lu Y2x1ZGUvTGlicmFyeS9DcHUuaAo+ID4gPiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+ID4gPiBpbmRl eCAwMDAwMDAwMDAwLi5kZTQ2NmI3YzZmCj4gPiA+IC0tLSAvZGV2L251bGwKPiA+ID4gKysrIGIv UGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9JbmNsdWRlL0xpYnJhcnkvQ3B1LmgK PiA+ID4gQEAgLTAsMCArMSwzNDQgQEAKPiA+ID4gKy8qKiBAZmlsZQo+ID4gPiAKPiA+ID4gKwo+ ID4gPiAKPiA+ID4gKyAgQ29weXJpZ2h0IChjKSAyMDIxIExvb25nc29uIFRlY2hub2xvZ3kgQ29y cG9yYXRpb24gTGltaXRlZC4gQWxsIHJpZ2h0cwo+ID4gPiByZXNlcnZlZC48QlI+Cj4gPiA+IAo+ ID4gPiArCj4gPiA+IAo+ID4gPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xh dXNlLVBhdGVudAo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHBhciBHbG9zc2FyeToK PiA+ID4gCj4gPiA+ICsgICAgLSBFWEMgICAgIC0gRXhjZXB0aW9uCj4gPiA+IAo+ID4gPiArICAg IC0gSU5UICAgICAtIEludGVycnVwdAo+ID4gPiAKPiA+ID4gKyAgICAtIEZQVSAgICAgLSBGbG9h dGluZyBQb2ludCBVbml0Cj4gPiA+IAo+ID4gPiArICAgIC0gQ1NSICAgICAtIENQVSBTdGF0dXMg UmVnaXN0ZXIKPiA+ID4gCj4gPiA+ICsgICAgLSBSRUFEUSAgIC0gUmVhZCBRdWFkIFdvcmQKPiA+ ID4gCj4gPiA+ICsqKi8KPiA+ID4gCj4gPiA+ICsjaWZuZGVmIExPT05HQVJDSF9DUFVfSF8KPiA+ ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9DUFVfSF8KPiA+ID4gCj4gPiA+ICsKPiA+ID4g Cj4gPiA+ICsvKiBFeGNlcHRpb24gdHlwZXMgZGVjb2RlZCBieSBtYWNoZGVwIGV4Y2VwdGlvbiBk ZWNvZGVyICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBFWENfSU5UICAgICAgICAgMCAgICAgICAv KiBIVyBpbnRlcnJ1cHQgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEVYQ19UTEJMICAgICAgICAx ICAgICAgIC8qIFRMQiBtaXNzIG9uIGEgbG9hZCAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRVhD X1RMQlMgICAgICAgIDIgICAgICAgLyogVExCIG1pc3Mgb24gYSBzdG9yZSAqLwo+ID4gPiAKPiA+ ID4gKyNkZWZpbmUgRVhDX1RMQkkgICAgICAgIDMgICAgICAgLyogVExCIG1pc3Mgb24gYSBpZmV0 Y2ggKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEVYQ19UTEJNICAgICAgICA0ICAgICAgIC8qIFRM QiBtb2RpZmllZCBmYXVsdCAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRVhDX1RMQlJJICAgICAg IDUgICAgICAgLyogVExCIFJlYWQtSW5oaWJpdCBleGNlcHRpb24gKi8KPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIEVYQ19UTEJYSSAgICAgICA2ICAgICAgIC8qIFRMQiBFeGVjdXRpb24tSW5oaWJpdCBl eGNlcHRpb24gKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEVYQ19UTEJQRSAgICAgICA3ICAgICAg IC8qIFRMQiBQcml2aWxlZ2UgRXJyb3IgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEVYQ19BREUg ICAgICAgICA4ICAgICAgIC8qIEFkZHJlc3MgRXJyb3IgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5l IEVYQ19BTEUgICAgICAgICA5ICAgICAgIC8qIFVuYWxpZ24gQWNjZXNzICovCj4gPiA+IAo+ID4g PiArI2RlZmluZSBFWENfT09CICAgICAgICAgMTAgICAgICAvKiBPdXQgb2YgYm91bmRzICovCj4g PiA+IAo+ID4gPiArI2RlZmluZSBFWENfU1lTICAgICAgICAgMTEgICAgICAvKiBTeXN0ZW0gY2Fs bCAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRVhDX0JQICAgICAgICAgIDEyICAgICAgLyogQnJl YWtwb2ludCAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRVhDX0lORSAgICAgICAgIDEzICAgICAg LyogSW5zdC4gTm90IEV4aXN0ICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBFWENfSVBFICAgICAg ICAgMTQgICAgICAvKiBJbnN0LiBQcml2aWxlZ2VkIEVycm9yICovCj4gPiA+IAo+ID4gPiArI2Rl ZmluZSBFWENfRlBESVMgICAgICAgMTUgICAgICAvKiBGUFUgRGlzYWJsZWQgKi8KPiA+ID4gCj4g PiA+ICsjZGVmaW5lIEVYQ19MU1hESVMgICAgICAxNiAgICAgIC8qIExTWCBEaXNhYmxlZCAqLwo+ ID4gPiAKPiA+ID4gKyNkZWZpbmUgRVhDX0xBU1hESVMgICAgIDE3ICAgICAgLyogTEFTWCBEaXNh YmxlZCAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRVhDX0ZQRSAgICAgICAgIDE4ICAgICAgLyog RmxvYXRpbmcgUG9pbnQgRXhjZXB0aW9uICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBFWENfV0FU Q0ggICAgICAgMTkgICAgICAvKiBXYXRjaCBhZGRyZXNzIHJlZmVyZW5jZSAqLwo+ID4gPiAKPiA+ ID4gKyNkZWZpbmUgRVhDX0JBRCAgICAgICAgIDI1NSAgICAgLyogVW5kZWNvZGVhYmxlICovCj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArI2RlZmluZSBDT1BZX1NJR0NPREUgICAgLy8gY29w eSBzaWdjb2RlIGFib3ZlIHVzZXIgc3RhY2sgaW4gZXhlYwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUg WkVSTyAgJHIwIC8qIHdpcmVkIHplcm8gKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFJBICAgICRy MSAvKiByZXR1cm4gYWRkcmVzcyAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgR1AgICAgJHIyIC8q IGdsb2JhbCBwb2ludGVyIC0gY2FsbGVyIHNhdmVkIGZvciBQSUMgKi8KPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIFNQICAgICRyMyAvKiBzdGFjayBwb2ludGVyICovCj4gPiA+IAo+ID4gPiArI2RlZmlu ZSBWMCAgICAkcjQgLyogcmV0dXJuIHZhbHVlIC0gY2FsbGVyIHNhdmVkICovCj4gPiA+IAo+ID4g PiArI2RlZmluZSBWMSAgICAkcjUKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEEwICAgICRyNCAvKiBh cmd1bWVudCByZWdpc3RlcnMgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEExICAgICRyNQo+ID4g PiAKPiA+ID4gKyNkZWZpbmUgQTIgICAgJHI2Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBBMyAgICAk cjcKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEE0ICAgICRyOCAvKiBhcmcgcmVnIDY0IGJpdDsgY2Fs bGVyIHNhdmVkIGluIDMyIGJpdCAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQTUgICAgJHI5Cj4g PiA+IAo+ID4gPiArI2RlZmluZSBBNiAgICAkcjEwCj4gPiA+IAo+ID4gPiArI2RlZmluZSBBNyAg ICAkcjExCj4gPiA+IAo+ID4gPiArI2RlZmluZSBUMCAgICAkcjEyIC8qIGNhbGxlciBzYXZlZCAq Lwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgVDEgICAgJHIxMwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUg VDIgICAgJHIxNAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgVDMgICAgJHIxNQo+ID4gPiAKPiA+ID4g KyNkZWZpbmUgVDQgICAgJHIxNiAvKiBjYWxsZWUgc2F2ZWQgKi8KPiA+ID4gCj4gPiA+ICsjZGVm aW5lIFQ1ICAgICRyMTcKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQ2ICAgICRyMTgKPiA+ID4gCj4g PiA+ICsjZGVmaW5lIFQ3ICAgICRyMTkKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQ4ICAgICRyMjAg LyogY2FsbGVyIHNhdmVkICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBUUCAgICAkcjIxIC8qIFRM UyAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAgICAgJHIyMiAvKiBmcmFtZSBwb2ludGVyICov Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBTMCAgICAkcjIzIC8qIGNhbGxlZSBzYXZlZCAqLwo+ID4g PiAKPiA+ID4gKyNkZWZpbmUgUzEgICAgJHIyNAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgUzIgICAg JHIyNQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgUzMgICAgJHIyNgo+ID4gPiAKPiA+ID4gKyNkZWZp bmUgUzQgICAgJHIyNwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgUzUgICAgJHIyOAo+ID4gPiAKPiA+ ID4gKyNkZWZpbmUgUzYgICAgJHIyOQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgUzcgICAgJHIzMAo+ ID4gPiAKPiA+ID4gKyNkZWZpbmUgUzggICAgJHIzMSAvKiBjYWxsZWUgc2F2ZWQgKi8KPiA+ID4g Cj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZDU1IwICAgICAgICRyMAo+ID4gPiAKPiA+ ID4gKwo+ID4gPiAKPiA+ID4gKy8vCj4gPiA+IAo+ID4gPiArLy8gTG9jYXRpb24gb2YgdGhlIHNh dmVkIHJlZ2lzdGVycyByZWxhdGl2ZSB0byBaRVJPLgo+ID4gPiAKPiA+ID4gKy8vIFVzYWdlIGlz IHAtPnBfcmVnc1tYWF0uCj4gPiA+IAo+ID4gPiArLy8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFJB X05VTSAgICAgMQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgR1BfTlVNICAgICAyCj4gPiA+IAo+ID4g PiArI2RlZmluZSBTUF9OVU0gICAgIDMKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEEwX05VTSAgICAg NAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQTFfTlVNICAgICA1Cj4gPiA+IAo+ID4gPiArI2RlZmlu ZSBBMl9OVU0gICAgIDYKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEEzX05VTSAgICAgNwo+ID4gPiAK PiA+ID4gKyNkZWZpbmUgQTRfTlVNICAgICA4Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBBNV9OVU0g ICAgIDkKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEE2X05VTSAgICAgMTAKPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIEE3X05VTSAgICAgMTEKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQwX05VTSAgICAgMTIK PiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQxX05VTSAgICAgMTMKPiA+ID4gCj4gPiA+ICsjZGVmaW5l IFQyX05VTSAgICAgMTQKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQzX05VTSAgICAgMTUKPiA+ID4g Cj4gPiA+ICsjZGVmaW5lIFQ0X05VTSAgICAgMTYKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQ1X05V TSAgICAgMTcKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQ2X05VTSAgICAgMTgKPiA+ID4gCj4gPiA+ ICsjZGVmaW5lIFQ3X05VTSAgICAgMTkKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFQ4X05VTSAgICAg MjAKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFRQX05VTSAgICAgMjEKPiA+ID4gCj4gPiA+ICsjZGVm aW5lIEZQX05VTSAgICAgMjIKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFMwX05VTSAgICAgMjMKPiA+ ID4gCj4gPiA+ICsjZGVmaW5lIFMxX05VTSAgICAgMjQKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFMy X05VTSAgICAgMjUKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFMzX05VTSAgICAgMjYKPiA+ID4gCj4g PiA+ICsjZGVmaW5lIFM0X05VTSAgICAgMjcKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFM1X05VTSAg ICAgMjgKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFM2X05VTSAgICAgMjkKPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIFM3X05VTSAgICAgMzAKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFM4X05VTSAgICAgMzEK PiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZQMF9OVU0gICAgMAo+ID4gPiAK PiA+ID4gKyNkZWZpbmUgRlAxX05VTSAgICAxCj4gPiA+IAo+ID4gPiArI2RlZmluZSBGUDJfTlVN ICAgIDIKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZQM19OVU0gICAgMwo+ID4gPiAKPiA+ID4gKyNk ZWZpbmUgRlA0X05VTSAgICA0Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBGUDVfTlVNICAgIDUKPiA+ ID4gCj4gPiA+ICsjZGVmaW5lIEZQNl9OVU0gICAgNgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlA3 X05VTSAgICA3Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBGUDhfTlVNICAgIDgKPiA+ID4gCj4gPiA+ ICsjZGVmaW5lIEZQOV9OVU0gICAgOQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAxMF9OVU0gICAx MAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAxMV9OVU0gICAxMQo+ID4gPiAKPiA+ID4gKyNkZWZp bmUgRlAxMl9OVU0gICAxMgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAxM19OVU0gICAxMwo+ID4g PiAKPiA+ID4gKyNkZWZpbmUgRlAxNF9OVU0gICAxNAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAx NV9OVU0gICAxNQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAxNl9OVU0gICAxNgo+ID4gPiAKPiA+ ID4gKyNkZWZpbmUgRlAxN19OVU0gICAxNwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAxOF9OVU0g ICAxOAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAxOV9OVU0gICAxOQo+ID4gPiAKPiA+ID4gKyNk ZWZpbmUgRlAyMF9OVU0gICAyMAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAyMV9OVU0gICAyMQo+ ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAyMl9OVU0gICAyMgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUg RlAyM19OVU0gICAyMwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAyNF9OVU0gICAyNAo+ID4gPiAK PiA+ID4gKyNkZWZpbmUgRlAyNV9OVU0gICAyNQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAyNl9O VU0gICAyNgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAyN19OVU0gICAyNwo+ID4gPiAKPiA+ID4g KyNkZWZpbmUgRlAyOF9OVU0gICAyOAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAyOV9OVU0gICAy OQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRlAzMF9OVU0gICAzMAo+ID4gPiAKPiA+ID4gKyNkZWZp bmUgRlAzMV9OVU0gICAzMQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgRkNTUl9OVU0gICAzMgo+ID4g PiAKPiA+ID4gKyNkZWZpbmUgRkNDX05VTSAgICAzMwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gKyNpZmRlZiBfX0FTU0VNQkxZX18KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIF9VTENBU1RfCj4g PiA+IAo+ID4gPiArI2RlZmluZSBfVTY0Q0FTVF8KPiA+ID4gCj4gPiA+ICsjZWxzZQo+ID4gPiAK PiA+ID4gKyNkZWZpbmUgX1VMQ0FTVF8gKHVuc2lnbmVkIGxvbmcpCj4gPiA+IAo+ID4gPiArI2Rl ZmluZSBfVTY0Q0FTVF8gKHU2NCkKPiA+ID4gCj4gPiA+ICsjZW5kaWYKPiA+ID4gCj4gPiA+ICsK PiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9DU1JfQ1JNRCAgICAgIDAKPiA+ID4gCj4g PiA+ICsjZGVmaW5lIExPT05HQVJDSF9DU1JfUFJNRCAgICAgIDEKPiA+ID4gCj4gPiA+ICsjZGVm aW5lIExPT05HQVJDSF9DU1JfRVVFTiAgICAgIDIKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIENTUl9F VUVOX0xCVEVOX1NISUZUICAgICAgICAzCj4gPiA+IAo+ID4gPiArI2RlZmluZSBDU1JfRVVFTl9M QlRFTiAgICAgICAgICAgICAgKF9VTENBU1RfKDB4MSkgPDwKPiA+ID4gQ1NSX0VVRU5fTEJURU5f U0hJRlQpCj4gPiA+IAo+ID4gPiArI2RlZmluZSBDU1JfRVVFTl9MQVNYRU5fU0hJRlQgICAgICAg Mgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VVRU5fTEFTWEVOICAgICAgICAgICAgIChfVUxD QVNUXygweDEpIDw8Cj4gPiA+IENTUl9FVUVOX0xBU1hFTl9TSElGVCkKPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIENTUl9FVUVOX0xTWEVOX1NISUZUICAgICAgICAxCj4gPiA+IAo+ID4gPiArI2RlZmlu ZSBDU1JfRVVFTl9MU1hFTiAgICAgICAgICAgICAgKF9VTENBU1RfKDB4MSkgPDwKPiA+ID4gQ1NS X0VVRU5fTFNYRU5fU0hJRlQpCj4gPiA+IAo+ID4gPiArI2RlZmluZSBDU1JfRVVFTl9GUEVOX1NI SUZUICAgICAgICAgMAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VVRU5fRlBFTiAgICAgICAg ICAgICAgIChfVUxDQVNUXygweDEpIDw8Cj4gPiA+IENTUl9FVUVOX0ZQRU5fU0hJRlQpCj4gPiA+ IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX0VDRkcgICAgICA0Cj4gPiA+IAo+ID4gPiAr Cj4gPiA+IAo+ID4gPiArLyogRXhjZXB0aW9uIHN0YXR1cyAqLwo+ID4gPiAKPiA+ID4gKyNkZWZp bmUgTE9PTkdBUkNIX0NTUl9FU1RBVCAgICAgNQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VT VEFUX0VTVUJDT0RFX1NISUZUICAgICAgIDIyCj4gPiA+IAo+ID4gPiArI2RlZmluZSBDU1JfRVNU QVRfRVNVQkNPREVfV0lEVEggICAgICAgOQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VTVEFU X0VTVUJDT0RFICAgICAgICAgICAgIChfVUxDQVNUXygweDFmZikgPDwKPiA+ID4gQ1NSX0VTVEFU X0VTVUJDT0RFX1NISUZUKQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VTVEFUX0VYQ19TSElG VCAgICAgICAgICAgIDE2Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBDU1JfRVNUQVRfRVhDX1dJRFRI ICAgICAgICAgICAgNgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VTVEFUX0VYQyAgICAgICAg ICAgICAgICAgIChfVUxDQVNUXygweDNmKSA8PAo+ID4gPiBDU1JfRVNUQVRfRVhDX1NISUZUKQo+ ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VTVEFUX0lTX1NISUZUICAgICAgICAgICAgIDAKPiA+ ID4gCj4gPiA+ICsjZGVmaW5lIENTUl9FU1RBVF9JU19XSURUSCAgICAgICAgICAgICAxNQo+ID4g PiAKPiA+ID4gKyNkZWZpbmUgQ1NSX0VTVEFUX0lTICAgICAgICAgICAgICAgICAgIChfVUxDQVNU XygweDdmZmYpIDw8Cj4gPiA+IENTUl9FU1RBVF9JU19TSElGVCkKPiA+ID4gCj4gPiA+ICsjZGVm aW5lIExPT05HQVJDSF9DU1JfRVBDICAgICAgIDYKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05H QVJDSF9DU1JfQkFEViAgICAgIDcKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9DU1Jf QkFESU5TVCAgIDgKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9DU1JfQkFESSAgICAg IDgKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9DU1JfRUJBU0UgICAgIDB4YyAgICAg LyogRXhjZXB0aW9uIGVudHJ5IGJhc2UKPiA+ID4gYWRkcmVzcyAqLwo+ID4gPiAKPiA+ID4gKyNk ZWZpbmUgTE9PTkdBUkNIX0NTUl9DUFVOVU0gICAgMHgyMCAgICAvKiBDUFUgY29yZSBudW1iZXIg Ki8KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsvKiByZWdpc3RlciBudW1iZXIgc2F2ZSBp biBzdGFjayBvbiBleGNlcHRpb24gKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZQX0JBU0VfTlVN ICAgICAgICAgICAgIDM0Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBCQVNFX05VTSAgICAgICAgICAg ICAgICAzMgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQ1NSX05VTSAgICAgICAgICAgICAgICAgMTAK PiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZQX0JBU0VfSU5ERVggICAgICAgICAgIChDU1JfTlVNICsg QkFTRV9OVU0pCj4gPiA+IAo+ID4gPiArI2RlZmluZSBCT09UQ09SRV9JRCAgICAgIDAKPiA+ID4g Cj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HU09OX0lPQ1NSX0lQSV9TVEFUVVMg IDB4MTAwMAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgTE9PTkdTT05fSU9DU1JfSVBJX0VOICAgICAg MHgxMDA0Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR1NPTl9JT0NTUl9JUElfU0VUICAgICAw eDEwMDgKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HU09OX0lPQ1NSX0lQSV9DTEVBUiAgIDB4 MTAwYwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgTE9PTkdTT05fQ1NSX01BSUxfQlVGMCAgICAgMHgx MDIwCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR1NPTl9DU1JfTUFJTF9CVUYxICAgICAweDEw MjgKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HU09OX0NTUl9NQUlMX0JVRjIgICAgIDB4MTAz MAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgTE9PTkdTT05fQ1NSX01BSUxfQlVGMyAgICAgMHgxMDM4 Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyogQml0IERvbWFpbnMgZm9yIENGRyByZWdp c3RlcnMgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9DUFVDRkc0ICAgICAgICAg IDB4NAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgTE9PTkdBUkNIX0NQVUNGRzUgICAgICAgICAgMHg1 Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyogS3NjcmF0Y2ggcmVnaXN0ZXJzICovCj4g PiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX0tTMCAgICAgICAgICAweDMwCj4gPiA+ IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX0tTMSAgICAgICAgICAweDMxCj4gPiA+IAo+ ID4gPiArCj4gPiA+IAo+ID4gPiArLyogU3RhYmxlIHRpbWVyIHJlZ2lzdGVycyAqLwo+ID4gPiAK PiA+ID4gKyNkZWZpbmUgTE9PTkdBUkNIX0NTUl9UTUNGRyAgICAgICAgICAgICAweDQxCj4gPiA+ IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX1RNQ0ZHX0VOICAgICAgICAgICgxVUxMIDw8 IDApCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX1RNQ0ZHX1BFUklPRCAgICAg ICgxVUxMIDw8IDEpCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX1RNQ0ZHX1RJ TUVWQUwgICAgICgweDNmZmZmZmZmZmZmZlVMTCA8PCAyKQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUg TE9PTkdBUkNIX0NTUl9UVkFMICAgICAgICAgMHg0MiAgICAvKiBUaW1lciB2YWx1ZSAqLwo+ID4g PiAKPiA+ID4gKyNkZWZpbmUgTE9PTkdBUkNIX0NTUl9DTlRDICAgICAgICAgMHg0MyAgICAvKiBU aW1lciBvZmZzZXQgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9DU1JfVElOVENM UiAgICAgIDB4NDQgICAgLyogVGltZXIgaW50ZXJydXB0Cj4gPiA+IGNsZWFyICovCj4gPiA+IAo+ ID4gPiArCj4gPiA+IAo+ID4gPiArLyogVExCIHJlZmlsbCBleGNlcHRpb24gYmFzZSBhZGRyZXNz ICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX1RMQlJFQkFTRSAgICAweDg4 Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX1RMQlJTQVZFICAgICAweDhiICAg IC8qIEtTY3JhdGNoIGZvciBUTEIKPiA+ID4gcmVmaWxsIGV4Y2VwdGlvbiAqLwo+ID4gPiAKPiA+ ID4gKyNkZWZpbmUgTE9PTkdBUkNIX0NTUl9QR0QgICAgICAgICAgMHgxYiAgICAvKiBQYWdlIHRh YmxlIGJhc2UgKi8KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsvKiBCaXRzIDggYW5kIDkg b2YgRlBVIFN0YXR1cyBSZWdpc3RlciBzcGVjaWZ5IHRoZSByb3VuZGluZyBtb2RlICovCj4gPiA+ IAo+ID4gPiArI2RlZmluZSBGUFVfQ1NSX1JNICAgICAgMHgzMDAKPiA+ID4gCj4gPiA+ICsjZGVm aW5lIEZQVV9DU1JfUk4gICAgICAweDAwMCAgIC8qIG5lYXJlc3QgKi8KPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIEZQVV9DU1JfUlogICAgICAweDEwMCAgIC8qIHRvd2FyZHMgemVybyAqLwo+ID4gPiAK PiA+ID4gKyNkZWZpbmUgRlBVX0NTUl9SVSAgICAgIDB4MjAwICAgLyogdG93YXJkcyArSW5maW5p dHkgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZQVV9DU1JfUkQgICAgICAweDMwMCAgIC8qIHRv d2FyZHMgLUluZmluaXR5ICovCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyoKPiA+ID4g Cj4gPiA+ICsgIFJlYWRzIGRhdGEgZnJvbSB0aGUgc3BlY2lmaWVkIENTUiByZWdpc3Rlci4KPiA+ ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIEBwYXJhbVtPVVRdICB2YWwgICBUaGUgdmFsdWUg aXMgcmVhZCBmcm9tIHRoZSBDU1Igc3BlY2lmaWVkIHJlZ2lzdGVyLgo+ID4gPiAKPiA+ID4gKyAg QHBhcmFtW0lOXSAgcmVnICAgIFNwZWNpZmllcyB0aGUgcmVnaXN0ZXIgbnVtYmVyIG9mIHRoZSBD U1IgdG8gcmVhZAo+ID4gPiB0aGUgZGF0YS4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsg IEByZXR2YWwgIFZPSUQKPiA+ID4gCj4gPiA+ICsgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExP T05HQVJDSF9DU1JfUkVBRFEodmFsLCByZWcpICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4g PiA+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiA+ID4gCj4gPiA+ICsgIFVJTlQ2NCBfX3JlczsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgIC8qIGNzcnJkIHJkLCBjc3JfbnVt ICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgIF9fYXNt X18gX192b2xhdGlsZV9fKCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4g Cj4gPiA+ICsgICAgICAgICAgImNzcnJkICAlMCwgJTEgXG5cdCIgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgICAgICAgICAgOiI9ciIoX19yZXMpICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgICAgICAgICAgOiJpIihyZWcp ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgICAg ICAgICAgOiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ ID4gCj4gPiA+ICsgICAgICAgICAgKTsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgICh2YWwpID0gX19yZXM7ICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICt9IHdoaWxlKDApCj4gPiA+ IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyoKPiA+ID4gCj4gPiA+ICsgIFdyaXRlIGRhdGEgdG8g dGhlIHNwZWNpZmllZCBDU1IgcmVnaXN0ZXIuCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiAr ICBAcGFyYW1bT1VUXSAgdmFsICAgVGhlIHZhbHVlIGlzIHdyaXRlIHRvIHRoZSBDU1Igc3BlY2lm aWVkIHJlZ2lzdGVyLgo+ID4gPiAKPiA+ID4gKyAgQHBhcmFtW0lOXSAgcmVnICAgIFNwZWNpZmll cyB0aGUgcmVnaXN0ZXIgbnVtYmVyIG9mIHRoZSBDU1IgdG8gd3JpdGUKPiA+ID4gdGhlIGRhdGEu Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBAcmV0dmFsICBWT0lECj4gPiA+IAo+ID4g PiArICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX1dSSVRFUSh2YWwsIHJl ZykgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICtkbyB7ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAo+ID4gPiAKPiA+ID4gKyAgVUlOVDY0 IF9fdmFsID0gdmFsOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ ID4gPiArICAvKiBjc3J3ciByZCwgY3NyX251bSAqLyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIFwKPiA+ID4gCj4gPiA+ICsgIF9fYXNtX18gX192b2xhdGlsZV9fKCAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgXAo+ID4gPiAKPiA+ID4gKyAgICAgICAgICAiY3Nyd3IgICUwLCAl MSBcblx0IiAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAg IDogIityIihfX3ZhbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4g PiA+ICsgICAgICAgICAgOiAiaSIocmVnKSwgInIiKF9fdmFsKSAgICAgICAgICAgICAgICAgICAg ICAgXAo+ID4gPiAKPiA+ID4gKyAgICAgICAgICA6ICJtZW1vcnkiICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAgICk7ICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICt9IHdoaWxlKDAp Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyoKPiA+ID4gCj4gPiA+ICsgIEV4Y2hhbmdl IHNwZWNpZmllZCBiaXQgZGF0YSB3aXRoIHRoZSBzcGVjaWZpZWQgQ1NSIHJlZ2lzdGVycwo+ID4g PiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHBhcmFtW0lOXSAgdmFsICAgVGhlIHZhbHVlIEV4 Y2hhbmdlZCB3aXRoIHRoZSBDU1Igc3BlY2lmaWVkCj4gPiA+IHJlZ2lzdGVyLgo+ID4gPiAKPiA+ ID4gKyAgQHBhcmFtW0lOXSAgbWFzayAgIFNwZWNpZmllcyB0aGUgbWFzayBmb3Igc3dhcHBpbmcg Yml0cwo+ID4gPiAKPiA+ID4gKyAgQHBhcmFtW0lOXSAgcmVnICAgIFNwZWNpZmllcyB0aGUgcmVn aXN0ZXIgbnVtYmVyIG9mIHRoZSBDU1IgdG8KPiA+ID4gRXhjaGFuZ2UgdGhlIGRhdGEuCj4gPiA+ IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBAcmV0dmFsICBWT0lECj4gPiA+IAo+ID4gPiArICov Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfQ1NSX1hDSEdRKHZhbCwgbWFzaywgcmVn KSAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICBVSU5UNjQgX192YWwgPSB2 YWw7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICBVSU5U NjQgX19tYXNrID0gbWFzazsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ ID4gPiArICAvKiBjc3J3ciByZCwgY3NyX251bSAqLyAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gPiA+IAo+ID4gPiArICBfX2FzbV9fIF9fdm9sYXRpbGVfXyggICAgICAgICAgICAgICAg ICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAgICJjc3J4Y2hnICAlMCwgJTEs ICUyIFxuXHQiICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAgIDogIity IihfX3ZhbCkgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAg ICAgICAgIDogInIiKF9fbWFzayksICJpIihyZWcpLCAiciIoX192YWwpICAgICAgICBcCj4gPiA+ IAo+ID4gPiArICAgICAgICAgIDogIm1lbW9yeSIgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAgICk7ICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArfSB3aGlsZSgwKQo+ID4gPiAKPiA+ID4g Ky8qCj4gPiA+IAo+ID4gPiArICBSZWFkcyBkYXRhIGZyb20gdGhlIHNwZWNpZmllZCBDUFVDRkcg cmVnaXN0ZXIuCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBAcGFyYW1bT1VUXSAgdmFs ICAgVGhlIHZhbHVlIGlzIHJlYWQgZnJvbSB0aGUgQ1BVQ0ZHIHNwZWNpZmllZAo+ID4gPiByZWdp c3Rlci4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbVtJTl0gIHJlZyAgICBTcGVjaWZpZXMgdGhlIHJl Z2lzdGVyIG51bWJlciBvZiB0aGUgQ1BVQ0ZHIHRvCj4gPiA+IHJlYWQgdGhlIGRhdGEuCj4gPiA+ IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBAcmV0dmFsICBWT0lECj4gPiA+IAo+ID4gPiArICov Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBMT09OR0FSQ0hfR0VUX0NQVUNGRyh2YWwsIHJlZykgICAg ICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArZG8geyAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICBVSU5UNjQgX19yZXM7ICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAvKiBj cHVjZmcgcmQsIHJqICovICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ ID4gPiArICBfX2FzbV9fIF9fdm9sYXRpbGVfXyggICAgICAgICAgICAgICAgICAgICAgICAgICAg ICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAgICJjcHVjZmcgICUwLCAlMSBcblx0IiAgICAgICAg ICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAgIDoiPXIiKF9fcmVzKSAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAgICAgICAgIDoiciIo cmVnKSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArICAg ICAgICAgIDogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcCj4gPiA+ IAo+ID4gPiArICAgICAgICAgICk7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBcCj4gPiA+IAo+ID4gPiArICB2YWwgPSAoVUlOVDMyKV9fcmVzOyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICBcCj4gPiA+IAo+ID4gPiArfSB3aGlsZSgwKQo+ID4gPiAKPiA+ID4g Kwo+ID4gPiAKPiA+ID4gKy8qCj4gPiA+IAo+ID4gPiArICBFbmFibGVzICBmbG9hdGluZy1wb2lu dCB1bml0Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBAcGFyYW0gIFZPSUQKPiA+ID4g Cj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIEByZXR2YWwgIFZPSUQKPiA+ID4gCj4gPiA+ICsgKi8K PiA+ID4gCj4gPiA+ICsjZGVmaW5lIExPT05HQVJDSF9FTkFCTFJfRlBVKCkgICAgICAgICAgICAg ICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgIExPT05HQVJDSF9DU1JfWENI R1EoQ1NSX0VVRU5fRlBFTiwgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgICAgICAg ICAgICAgICAgICAgICAgQ1NSX0VVRU5fRlBFTiwgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgTE9PTkdBUkNIX0NTUl9FVUVOKTsgICAgICAgICAg IFwKPiA+ID4gCj4gPiA+ICt9IHdoaWxlICgwKQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4g Ky8qCj4gPiA+IAo+ID4gPiArICBEaXNhYmxlICBmbG9hdGluZy1wb2ludCB1bml0Cj4gPiA+IAo+ ID4gPiArCj4gPiA+IAo+ID4gPiArICBAcGFyYW0gIFZPSUQKPiA+ID4gCj4gPiA+ICsKPiA+ID4g Cj4gPiA+ICsgIEByZXR2YWwgIFZPSUQKPiA+ID4gCj4gPiA+ICsgKi8KPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIExPT05HQVJDSF9ESVNBQkxFX0ZQVSgpICAgICAgICAgICAgICAgICAgICAgIFwKPiA+ ID4gCj4gPiA+ICtkbyB7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgIExPT05HQVJDSF9DU1JfWENIR1EoMCwgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAg Q1NSX0VVRU5fRlBFTiwgICAgICAgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgTE9PTkdBUkNIX0NTUl9FVUVOKTsgICAgICAgICAgIFwKPiA+ID4gCj4gPiA+ ICt9IHdoaWxlICgwKQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyNlbmRpZgo+ID4gPiAK PiA+ID4gZGlmZiAtLWdpdAo+ID4gPiBhL1BsYXRmb3JtL0xvb25nc29uL0xvb25nQXJjaFFlbXVQ a2cvSW5jbHVkZS9Mb29uZ0FyY2hRZW11UGxhdGZvcm0uCj4gPiA+IGgKPiA+ID4gYi9QbGF0Zm9y bS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0luY2x1ZGUvTG9vbmdBcmNoUWVtdVBsYXRmb3Jt Lgo+ID4gPiBoCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGluZGV4IDAwMDAwMDAw MDAuLjYyYjgxZDg4YzMKPiA+ID4gLS0tIC9kZXYvbnVsbAo+ID4gPiArKysKPiA+ID4gYi9QbGF0 Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0luY2x1ZGUvTG9vbmdBcmNoUWVtdVBsYXRm b3JtLgo+ID4gPiBoCj4gPiA+IEBAIC0wLDAgKzEsMTAzIEBACj4gPiA+ICsvKiogQGZpbGUKPiA+ ID4gCj4gPiA+ICsgICBMb29uZ0FyY2ggUWVtdSBQbGF0Zm9ybSBtYWNybyBkZWZpbml0aW9uLgo+ ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgIENvcHlyaWdodCAoYykgMjAyMSwgTG9vbmdz b24gTGltaXRlZC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4g PiA+ICsgICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudAo+ID4g PiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAqKi8KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ ICsjaWZuZGVmIExPT05HQVJDSF9RRU1VX1BMQVRGT1JNX0hfCj4gPiA+IAo+ID4gPiArI2RlZmlu ZSBMT09OR0FSQ0hfUUVNVV9QTEFURk9STV9IXwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4g Kwo+ID4gPiAKPiA+ID4gKy8qIEFjcGkgcG0gZGV2aWNlICovCj4gPiA+IAo+ID4gPiArI2RlZmlu ZSBMUzdBX1BDSF9SRUdfQkFTRSAgICAgICAgICAgICAweDEwMDAwMDAwVUwKPiA+ID4gCj4gPiA+ ICsjZGVmaW5lIExTN0FfQUNQSV9SRUdfQkFTRSAgICAgICAgICAgIChMUzdBX1BDSF9SRUdfQkFT RSAgKwo+ID4gPiAweDAwMEQwMDAwKQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgTFM3QV9QTV9DTlRf QkxLICAgICAgICAgICAgICAgKDB4MTQpIC8qIDIgYnl0ZXMgKi8KPiA+ID4gCj4gPiA+ICsjZGVm aW5lIExTN0FfR1BFMF9SRVNFVF9SRUcgICAgICAgICAgICgweDMwKSAvKiA0IGJ5dGVzICovCj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArI2RlZmluZSBBQ1BJX0JJVE1BU0tfU0xFRVBfVFlQ RSAgICAgICAweDFDMDAKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEFDUElfQklUTUFTS19TTEVFUF9F TkFCTEUgICAgIDB4MjAwMAo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gKy8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiA+ IAo+ID4gPiArLy8gVUFSVCBSZWdpc3RlciBPZmZzZXRzCj4gPiA+IAo+ID4gPiArLy8tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiA+ID4gCj4gPiA+ICsjZGVm aW5lIEJBVURfTE9XX09GRlNFVCAgICAgICAgIDB4MDAKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEJB VURfSElHSF9PRkZTRVQgICAgICAgIDB4MDEKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIElFUl9PRkZT RVQgICAgICAgICAgICAgIDB4MDEKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExDUl9TSEFET1dfT0ZG U0VUICAgICAgIDB4MDEKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZDUl9TSEFET1dfT0ZGU0VUICAg ICAgIDB4MDIKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIElSX0NPTlRST0xfT0ZGU0VUICAgICAgIDB4 MDIKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEZDUl9PRkZTRVQgICAgICAgICAgICAgIDB4MDIKPiA+ ID4gCj4gPiA+ICsjZGVmaW5lIEVJUl9PRkZTRVQgICAgICAgICAgICAgIDB4MDIKPiA+ID4gCj4g PiA+ICsjZGVmaW5lIEJTUl9PRkZTRVQgICAgICAgICAgICAgIDB4MDMKPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIExDUl9PRkZTRVQgICAgICAgICAgICAgIDB4MDMKPiA+ID4gCj4gPiA+ICsjZGVmaW5l IE1DUl9PRkZTRVQgICAgICAgICAgICAgIDB4MDQKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIExTUl9P RkZTRVQgICAgICAgICAgICAgIDB4MDUKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIE1TUl9PRkZTRVQg ICAgICAgICAgICAgIDB4MDYKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsvKiBjaGFyYWN0 ZXIgZm9ybWF0IGNvbnRyb2wgcmVnaXN0ZXIgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIENGQ1Jf RExBQiAgIDB4ODAgIC8qIGRpdmlzb3IgbGF0Y2ggKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIENG Q1JfU0JSRUFLIDB4NDAgIC8qIHNlbmQgYnJlYWsgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5lIENG Q1JfUFpFUk8gIDB4MzAgIC8qIHplcm8gcGFyaXR5ICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBD RkNSX1BPTkUgICAweDIwICAvKiBvbmUgcGFyaXR5ICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBD RkNSX1BFVkVOICAweDEwICAvKiBldmVuIHBhcml0eSAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUg Q0ZDUl9QT0REICAgMHgwMCAgLyogb2RkIHBhcml0eSAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUg Q0ZDUl9QRU5BQiAgMHgwOCAgLyogcGFyaXR5IGVuYWJsZSAqLwo+ID4gPiAKPiA+ID4gKyNkZWZp bmUgQ0ZDUl9TVE9QQiAgMHgwNCAgLyogMiBzdG9wIGJpdHMgKi8KPiA+ID4gCj4gPiA+ICsjZGVm aW5lIENGQ1JfOEJJVFMgIDB4MDMgIC8qIDggZGF0YSBiaXRzICovCj4gPiA+IAo+ID4gPiArI2Rl ZmluZSBDRkNSXzdCSVRTICAweDAyICAvKiA3IGRhdGEgYml0cyAqLwo+ID4gPiAKPiA+ID4gKyNk ZWZpbmUgQ0ZDUl82QklUUyAgMHgwMSAgLyogNiBkYXRhIGJpdHMgKi8KPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIENGQ1JfNUJJVFMgIDB4MDAgIC8qIDUgZGF0YSBiaXRzICovCj4gPiA+IAo+ID4gPiAr LyogbW9kZW0gY29udHJvbCByZWdpc3RlciAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgTUNSX0xP T1BCQUNLICAweDEwICAvKiBsb29wYmFjayAqLwo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgTUNSX0lF TkFCTEUgICAweDA4ICAvKiBvdXRwdXQgMiA9IGludCBlbmFibGUgKi8KPiA+ID4gCj4gPiA+ICsj ZGVmaW5lIE1DUl9EUlMgICAgICAgMHgwNCAgLyogb3V0cHV0IDEgPSB4eHggKi8KPiA+ID4gCj4g PiA+ICsjZGVmaW5lIE1DUl9SVFMgICAgICAgMHgwMiAgLyogZW5hYmxlIFJUUyAqLwo+ID4gPiAK PiA+ID4gKyNkZWZpbmUgTUNSX0RUUiAgICAgICAweDAxICAvKiBlbmFibGUgRFRSICovCj4gPiA+ IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyogbGluZSBzdGF0dXMgcmVnaXN0ZXIgKi8KPiA+ID4g Cj4gPiA+ICsjZGVmaW5lIExTUl9SQ1ZfRklGTyAgMHg4MCAgLyogZXJyb3IgaW4gcmVjZWl2ZSBm aWZvICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMU1JfVFNSRSAgICAgIDB4NDAgIC8qIHRyYW5z bWl0dGVyIGVtcHR5ICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMU1JfVFhSRFkgICAgIDB4MjAg IC8qIHRyYW5zbWl0dGVyIHJlYWR5ICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMU1JfQkkgICAg ICAgIDB4MTAgIC8qIGJyZWFrIGRldGVjdGVkICovCj4gPiA+IAo+ID4gPiArI2RlZmluZSBMU1Jf RkUgICAgICAgIDB4MDggIC8qIGZyYW1pbmcgZXJyb3IgKi8KPiA+ID4gCj4gPiA+ICsjZGVmaW5l IExTUl9QRSAgICAgICAgMHgwNCAgLyogcGFyaXR5IGVycm9yICovCj4gPiA+IAo+ID4gPiArI2Rl ZmluZSBMU1JfT0UgICAgICAgIDB4MDIgIC8qIG92ZXJydW4gZXJyb3IgKi8KPiA+ID4gCj4gPiA+ ICsjZGVmaW5lIExTUl9SWFJEWSAgICAgMHgwMSAgLyogcmVjZWl2ZXIgcmVhZHkgKi8KPiA+ID4g Cj4gPiA+ICsjZGVmaW5lIExTUl9SQ1ZfTUFTSyAgMHgxZgo+ID4gPiAKPiA+ID4gKwo+ID4gPiAK PiA+ID4gKy8qIDE2NTUwIFVBUlQgcmVnaXN0ZXIgb2Zmc2V0cyBhbmQgYml0ZmllbGRzICovCj4g PiA+IAo+ID4gPiArI2RlZmluZSBSX1VBUlRfUlhCVUYgICAgICAgICAgMAo+ID4gPiAKPiA+ID4g KyNkZWZpbmUgUl9VQVJUX1RYQlVGICAgICAgICAgIDAKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFJf VUFSVF9CQVVEX0xPVyAgICAgICAwCj4gPiA+IAo+ID4gPiArI2RlZmluZSBSX1VBUlRfQkFVRF9I SUdIICAgICAgMQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgUl9VQVJUX0ZDUiAgICAgICAgICAgIDIK PiA+ID4gCj4gPiA+ICsjZGVmaW5lIEJfVUFSVF9GQ1JfRklGT0UgICAgICBCSVQwCj4gPiA+IAo+ ID4gPiArI2RlZmluZSBCX1VBUlRfRkNSX0ZJRk82NCAgICAgQklUNQo+ID4gPiAKPiA+ID4gKyNk ZWZpbmUgUl9VQVJUX0xDUiAgICAgICAgICAgIDMKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEJfVUFS VF9MQ1JfRExBQiAgICAgICBCSVQ3Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBSX1VBUlRfTUNSICAg ICAgICAgICAgNAo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgQl9VQVJUX01DUl9EVFJDICAgICAgIEJJ VDAKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEJfVUFSVF9NQ1JfUlRTICAgICAgICBCSVQxCj4gPiA+ IAo+ID4gPiArI2RlZmluZSBSX1VBUlRfTFNSICAgICAgICAgICAgNQo+ID4gPiAKPiA+ID4gKyNk ZWZpbmUgQl9VQVJUX0xTUl9SWFJEWSAgICAgIEJJVDAKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEJf VUFSVF9MU1JfVFhSRFkgICAgICBCSVQ1Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBCX1VBUlRfTFNS X1RFTVQgICAgICAgQklUNgo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgUl9VQVJUX01TUiAgICAgICAg ICAgIDYKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIEJfVUFSVF9NU1JfQ1RTICAgICAgICBCSVQ0Cj4g PiA+IAo+ID4gPiArI2RlZmluZSBCX1VBUlRfTVNSX0RTUiAgICAgICAgQklUNQo+ID4gPiAKPiA+ ID4gKyNkZWZpbmUgQl9VQVJUX01TUl9SSSAgICAgICAgIEJJVDYKPiA+ID4gCj4gPiA+ICsjZGVm aW5lIEJfVUFSVF9NU1JfRENEICAgICAgICBCSVQ3Cj4gPiA+IAo+ID4gPiArI2RlZmluZSBVQVJU X0JBU0VfQUREUkVTUyAgICAgKDB4MWZlMDAxZTApCj4gPiA+IAo+ID4gPiArI2RlZmluZSBVQVJU X0JQUyAgICAgICAgICAgICAgKDExNTIwMCkKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFVBUlRfV0FJ VF9USU1PVVQgICAgICAoMTAwMDAwMCkKPiA+ID4gCj4gPiA+ICsvLy0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLQo+ID4gPiAKPiA+ID4gKy8vIFVBUlQgU2V0dGlu Z3MKPiA+ID4gCj4gPiA+ICsvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLQo+ID4gPiAKPiA+ID4gKyNkZWZpbmUgUEhZU19UT19DQUNIRUQoeCkgICAgICAgKCh4 KSkKPiA+ID4gCj4gPiA+ICsjZGVmaW5lIFBIWVNfVE9fVU5DQUNIRUQoeCkgICAgICgoeCkpCj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArI2VuZGlmCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0 Cj4gPiA+IGEvUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9MaWJyYXJ5L1Nlcmlh bFBvcnRMaWIvU2VyaWFsUG9ydExpYgo+ID4gPiAuYwo+ID4gPiBiL1BsYXRmb3JtL0xvb25nc29u L0xvb25nQXJjaFFlbXVQa2cvTGlicmFyeS9TZXJpYWxQb3J0TGliL1NlcmlhbFBvcnRMaWIKPiA+ ID4gLmMKPiA+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+ID4gaW5kZXggMDAwMDAwMDAwMC4u NWIyZjNhODE5NAo+ID4gPiAtLS0gL2Rldi9udWxsCj4gPiA+ICsrKwo+ID4gPiBiL1BsYXRmb3Jt L0xvb25nc29uL0xvb25nQXJjaFFlbXVQa2cvTGlicmFyeS9TZXJpYWxQb3J0TGliL1NlcmlhbFBv cnRMaWIKPiA+ID4gLmMKPiA+ID4gQEAgLTAsMCArMSw2MTIgQEAKPiA+ID4gKy8qKiBAZmlsZQo+ ID4gPiAKPiA+ID4gKyAgVUFSVCBTZXJpYWwgUG9ydCBsaWJyYXJ5IGZ1bmN0aW9ucwo+ID4gPiAK PiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQ29weXJpZ2h0IChjKSAyMDIxIExvb25nc29uIFRlY2hu b2xvZ3kgQ29ycG9yYXRpb24gTGltaXRlZC4gQWxsIHJpZ2h0cwo+ID4gPiByZXNlcnZlZC48QlI+ Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjog QlNELTItQ2xhdXNlLVBhdGVudAo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHBhciBH bG9zc2FyeToKPiA+ID4gCj4gPiA+ICsgICAgLSBCcHMgLSBCaXQgUGVyIFNlY29uZAo+ID4gPiAK PiA+ID4gKyAgICAtIENUTCAtIENvbnRyb2wKPiA+ID4gCj4gPiA+ICsgICAgLSBDb25maWcgLSBD b25maWd1cmUKPiA+ID4gCj4gPiA+ICsqKi8KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsj aW5jbHVkZSA8QmFzZS5oPgo+ID4gPiAKPiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0NwdS5oPgo+ ID4gPiAKPiA+ID4gKyNpbmNsdWRlIDxMaWJyYXJ5L0lvTGliLmg+Cj4gPiA+IAo+ID4gPiArI2lu Y2x1ZGUgPExpYnJhcnkvU2VyaWFsUG9ydExpYi5oPgo+ID4gPiAKPiA+ID4gKyNpbmNsdWRlIDxM b29uZ0FyY2hRZW11UGxhdGZvcm0uaD4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICtVSU5U TiAgIGdVYXJ0QmFzZSA9IFBIWVNfVE9fVU5DQUNIRUQoVUFSVF9CQVNFX0FERFJFU1MpOwo+ID4g PiAKPiA+ID4gK1VJTlROICAgZ0JwcyAgICAgID0gVUFSVF9CUFM7Cj4gPiA+IAo+ID4gPiArCj4g PiA+IAo+ID4gPiArLyoqCj4gPiA+IAo+ID4gPiArICBJbml0aWFsaXplIHRoZSBzZXJpYWwgZGV2 aWNlIGhhcmR3YXJlLgo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgSWYgbm8gaW5pdGlh bGl6YXRpb24gaXMgcmVxdWlyZWQsIHRoZW4gcmV0dXJuIFJFVFVSTl9TVUNDRVNTLgo+ID4gPiAK PiA+ID4gKyAgSWYgdGhlIHNlcmlhbCBkZXZpY2Ugd2FzIHN1Y2Nlc3NmdWx5IGluaXRpYWxpemVk LCB0aGVuIHJldHVybgo+ID4gPiBSRVRVUk5fU1VDQ0VTUy4KPiA+ID4gCj4gPiA+ICsgIElmIHRo ZSBzZXJpYWwgZGV2aWNlIGNvdWxkIG5vdCBiZSBpbml0aWFsaXplZCwgdGhlbiByZXR1cm4KPiA+ ID4gUkVUVVJOX0RFVklDRV9FUlJPUi4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIEBy ZXR2YWwgUkVUVVJOX1NVQ0NFU1MgICAgICAgIFRoZSBzZXJpYWwgZGV2aWNlIHdhcyBpbml0aWFs aXplZC4KPiA+ID4gCj4gPiA+ICsgIEByZXR2YWwgUkVUVVJOX0RFVklDRV9FUlJPUiAgIFRoZSBz ZXJhaWwgZGV2aWNlIGNvdWxkIG5vdCBiZQo+ID4gPiBpbml0aWFsaXplZC4KPiA+ID4gCj4gPiA+ ICsKPiA+ID4gCj4gPiA+ICsqKi8KPiA+ID4gCj4gPiA+ICtSRVRVUk5fU1RBVFVTCj4gPiA+IAo+ ID4gPiArRUZJQVBJCj4gPiA+IAo+ID4gPiArU2VyaWFsUG9ydEluaXRpYWxpemUgKAo+ID4gPiAK PiA+ID4gKyAgVk9JRAo+ID4gPiAKPiA+ID4gKyAgKQo+ID4gPiAKPiA+ID4gK3sKPiA+ID4gCj4g PiA+ICsgIFVJTlROICBUaW1lT3V0Owo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ICsg IC8vIHdhaXQgZm9yIFR4IGZpZm8gdG8gY29tcGxldGVseSBkcmFpbiAqLwo+ID4gPiAKPiA+ID4g KyAgLy8KPiA+ID4gCj4gPiA+ICsgIFRpbWVPdXQgPSBVQVJUX1dBSVRfVElNT1VUOwo+ID4gPiAK PiA+ID4gKyAgd2hpbGUgKCEoTW1pb1JlYWQ4ICgoVUlOVE4pIGdVYXJ0QmFzZSArIExTUl9PRkZT RVQpICYgTFNSX1RTUkUpKSB7Cj4gPiA+IAo+ID4gPiArICAgIGlmICgtLVRpbWVPdXQgPT0gMCkg ewo+ID4gPiAKPiA+ID4gKyAgICAgIGJyZWFrOwo+ID4gPiAKPiA+ID4gKyAgICB9Cj4gPiA+IAo+ ID4gPiArICB9Cj4gPiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgLy8gU2V0IGNvbW11 bmljYXRpb25zIGZvcm1hdAo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ICsgIE1taW9X cml0ZTggKChVSU5UTikgKGdVYXJ0QmFzZSArIExDUl9PRkZTRVQpLCBDRkNSX0RMQUIpOwo+ID4g PiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ICsgIC8vIENvbmZpZ3Vy ZSBiYXVkIHJhdGUKPiA+ID4gCj4gPiA+ICsgIC8vCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4g PiArCj4gPiA+IAo+ID4gPiArICBNbWlvV3JpdGU4ICgoVUlOVE4pIChnVWFydEJhc2UgKyBMQ1Jf T0ZGU0VUKSwgQ0ZDUl84QklUUyk7Cj4gPiA+IAo+ID4gPiArICBNbWlvV3JpdGU4ICgoVUlOVE4p IChnVWFydEJhc2UgKyBNQ1JfT0ZGU0VUKSwgTUNSX0lFTkFCTEUgfAo+ID4gPiBNQ1JfRFRSIHwg TUNSX1JUUyk7Cj4gPiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgLy8gaWYgZW5hYmxl IGludGVycnVwdCB0aGUga2VybmVsIG9mIGxlbW90ZSB3aWxsIGVycm9yIGluIFNUUiBtb2RlCj4g PiBkdXJpbmcKPiA+ID4gd2FrZSB1cCBwaGFzZS4KPiA+ID4gCj4gPiA+ICsgIC8vCj4gPiA+IAo+ ID4gPiArICAvL01taW9Xcml0ZTggKChVSU5UTikgKGdVYXJ0QmFzZSArIElFUl9PRkZTRVQpLCBD RkNSXzhCSVRTKTsKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIHJldHVybiBSRVRVUk5f U1VDQ0VTUzsKPiA+ID4gCj4gPiA+ICt9Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyoq Cj4gPiA+IAo+ID4gPiArICBXcml0ZSBkYXRhIGZyb20gYnVmZmVyIHRvIHNlcmlhbCBkZXZpY2Uu Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBXcml0ZXMgTnVtYmVyT2ZCeXRlcyBkYXRh IGJ5dGVzIGZyb20gQnVmZmVyIHRvIHRoZSBzZXJpYWwgZGV2aWNlLgo+ID4gPiAKPiA+ID4gKyAg VGhlIG51bWJlciBvZiBieXRlcyBhY3R1YWxseSB3cml0dGVuIHRvIHRoZSBzZXJpYWwgZGV2aWNl IGlzIHJldHVybmVkLgo+ID4gPiAKPiA+ID4gKyAgSWYgdGhlIHJldHVybiB2YWx1ZSBpcyBsZXNz IHRoYW4gTnVtYmVyT2ZCeXRlcywgdGhlbiB0aGUgd3JpdGUKPiA+IG9wZXJhdGlvbgo+ID4gPiBm YWlsZWQuCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBJZiBCdWZmZXIgaXMgTlVMTCwg dGhlbiBBU1NFUlQgKCkuCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBJZiBOdW1iZXJP ZkJ5dGVzIGlzIHplcm8sIHRoZW4gcmV0dXJuIDAuCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4g PiArICBAcGFyYW0gIEJ1ZmZlciAgICAgICAgICAgUG9pbnRlciB0byB0aGUgZGF0YSBidWZmZXIg dG8gYmUgd3JpdHRlbi4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSAgTnVtYmVyT2ZCeXRlcyAgICBO dW1iZXIgb2YgYnl0ZXMgdG8gd3JpdHRlbiB0byB0aGUgc2VyaWFsCj4gPiA+IGRldmljZS4KPiA+ ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIEByZXR2YWwgMCAgICAgICAgICAgICAgICBOdW1i ZXJPZkJ5dGVzIGlzIDAuCj4gPiA+IAo+ID4gPiArICBAcmV0dmFsID4wICAgICAgICAgICAgICAg VGhlIG51bWJlciBvZiBieXRlcyB3cml0dGVuIHRvIHRoZSBzZXJpYWwKPiA+ID4gZGV2aWNlLgo+ ID4gPiAKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgIElmIHRoaXMgdmFsdWUgaXMg bGVzcyB0aGFuIE51bWJlck9mQnl0ZXMsCj4gPiA+IHRoZW4gdGhlIHJlYWQgb3BlcmF0aW9uIGZh aWxlZC4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsqKi8KPiA+ID4gCj4gPiA+ICtVSU5U Tgo+ID4gPiAKPiA+ID4gK0VGSUFQSQo+ID4gPiAKPiA+ID4gK1VhcnRDdGxXcml0ZSAoCj4gPiA+ IAo+ID4gPiArICBJTiBVSU5UOCAgICAgKkJ1ZmZlciwKPiA+ID4gCj4gPiA+ICsgIElOIFVJTlRO ICAgICBOdW1iZXJPZkJ5dGVzLAo+ID4gPiAKPiA+ID4gKyAgSU4gVUlOVE4gICAgIEN0bEFkZHIK PiA+ID4gCj4gPiA+ICspCj4gPiA+IAo+ID4gPiArewo+ID4gPiAKPiA+ID4gKyAgVUlOVE4gIFJl c3VsdDsKPiA+ID4gCj4gPiA+ICsgIFVJTlQ4ICBEYXRhOwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAK PiA+ID4gKyAgaWYgKEJ1ZmZlciA9PSBOVUxMKSB7Cj4gPiA+IAo+ID4gPiArICAgIHJldHVybiAw Owo+ID4gPiAKPiA+ID4gKyAgfQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgUmVzdWx0 ID0gTnVtYmVyT2ZCeXRlczsKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIHdoaWxlIChO dW1iZXJPZkJ5dGVzLS0pIHsKPiA+ID4gCj4gPiA+ICsgICAgLy8KPiA+ID4gCj4gPiA+ICsgICAg Ly8gV2FpdCBmb3IgdGhlIHNlcmFpbCBwb3J0IHRvIGJlIHJlYWR5Lgo+ID4gPiAKPiA+ID4gKyAg ICAvLwo+ID4gPiAKPiA+ID4gKyAgICBkbyB7Cj4gPiA+IAo+ID4gPiArICAgICAgRGF0YSA9IE1t aW9SZWFkOCAoQ3RsQWRkciArIExTUl9PRkZTRVQpOwo+ID4gPiAKPiA+ID4gKyAgICB9IHdoaWxl ICgoRGF0YSAmIExTUl9UWFJEWSkgPT0gMCk7Cj4gPiA+IAo+ID4gPiArICAgIE1taW9Xcml0ZTgg KEN0bEFkZHIsICpCdWZmZXIrKyk7Cj4gPiA+IAo+ID4gPiArICB9Cj4gPiA+IAo+ID4gPiArCj4g PiA+IAo+ID4gPiArICByZXR1cm4gUmVzdWx0Owo+ID4gPiAKPiA+ID4gK30KPiA+ID4gCj4gPiA+ ICsvKioKPiA+ID4gCj4gPiA+ICsgIFdyaXRlcyBkYXRhIHRvIHNlcmlhbCBwb3J0Lgo+ID4gPiAK PiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHBhcmFtICBCdWZmZXIgICAgICAgICAgIFBvaW50ZXIg dG8gdGhlIGRhdGEgYnVmZmVyIHRvIHN0b3JlIHRoZSBkYXRhCj4gPiA+IHdyaXRlZCB0byBzZXJp YWwgcG9ydC4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSAgTnVtYmVyT2ZCeXRlcyAgICBOdW1iZXIg b2YgYnl0ZXMgdG8gd3JpdGUgdG8gdGhlIHNlcmlhbAo+ID4gPiBwb3J0Lgo+ID4gPiAKPiA+ID4g Kwo+ID4gPiAKPiA+ID4gKyAgQHJldHZhbCAwICAgICAgICAgICAgICAgIE51bWJlck9mQnl0ZXMg aXMgMC4KPiA+ID4gCj4gPiA+ICsgIEByZXR2YWwgPjAgICAgICAgICAgICAgICBUaGUgbnVtYmVy IG9mIGJ5dGVzIHdyaXRlIHRoZSBzZXJpYWwgcG9ydC4KPiA+ID4gCj4gPiA+ICsgICAgICAgICAg ICAgICAgICAgICAgICAgICBJZiB0aGlzIHZhbHVlIGlzIGxlc3MgdGhhbiBOdW1iZXJPZkJ5dGVz LAo+ID4gPiB0aGVuIHRoZSB3cml0ZSBvcGVyYXRpb24gZmFpbGVkLgo+ID4gPiAKPiA+ID4gKwo+ ID4gPiAKPiA+ID4gKyoqLwo+ID4gPiAKPiA+ID4gK1VJTlROCj4gPiA+IAo+ID4gPiArRUZJQVBJ Cj4gPiA+IAo+ID4gPiArU2VyaWFsUG9ydFdyaXRlICgKPiA+ID4gCj4gPiA+ICsgIElOIFVJTlQ4 ICAgICAqQnVmZmVyLAo+ID4gPiAKPiA+ID4gKyAgSU4gVUlOVE4gICAgIE51bWJlck9mQnl0ZXMK PiA+ID4gCj4gPiA+ICspCj4gPiA+IAo+ID4gPiArewo+ID4gPiAKPiA+ID4gKyAgcmV0dXJuIFVh cnRDdGxXcml0ZSAoQnVmZmVyLCBOdW1iZXJPZkJ5dGVzLCBnVWFydEJhc2UpOwo+ID4gPiAKPiA+ ID4gK30KPiA+ID4gCj4gPiA+ICsvKioKPiA+ID4gCj4gPiA+ICsgIFJlYWRzIGRhdGEgZnJvbSBh IHNlcmlhbCBkZXZpY2UgaW50byBhIGJ1ZmZlci4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ ICsgIEBwYXJhbSAgQnVmZmVyICAgICAgICAgICBQb2ludGVyIHRvIHRoZSBkYXRhIGJ1ZmZlciB0 byBzdG9yZSB0aGUgZGF0YQo+ID4gPiByZWFkIGZyb20gdGhlIHNlcmlhbCBkZXZpY2UuCj4gPiA+ IAo+ID4gPiArICBAcGFyYW0gIE51bWJlck9mQnl0ZXMgICAgTnVtYmVyIG9mIGJ5dGVzIHRvIHJl YWQgZnJvbSB0aGUgc2VyaWFsCj4gPiA+IGRldmljZS4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4g PiA+ICsgIEByZXR2YWwgMCAgICAgICAgICAgICAgICBOdW1iZXJPZkJ5dGVzIGlzIDAuCj4gPiA+ IAo+ID4gPiArICBAcmV0dmFsID4wICAgICAgICAgICAgICAgVGhlIG51bWJlciBvZiBieXRlcyBy ZWFkIGZyb20gdGhlIHNlcmlhbAo+ID4gPiBkZXZpY2UuCj4gPiA+IAo+ID4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgSWYgdGhpcyB2YWx1ZSBpcyBsZXNzIHRoYW4gTnVtYmVyT2ZCeXRl cywKPiA+ID4gdGhlbiB0aGUgcmVhZCBvcGVyYXRpb24gZmFpbGVkLgo+ID4gPiAKPiA+ID4gKwo+ ID4gPiAKPiA+ID4gKyoqLwo+ID4gPiAKPiA+ID4gK1VJTlROCj4gPiA+IAo+ID4gPiArRUZJQVBJ Cj4gPiA+IAo+ID4gPiArVWFydEN0bFJlYWQgKAo+ID4gPiAKPiA+ID4gKyAgT1VUIFVJTlQ4ICAg ICAqQnVmZmVyLAo+ID4gPiAKPiA+ID4gKyAgSU4gIFVJTlROICAgICBOdW1iZXJPZkJ5dGVzLAo+ ID4gPiAKPiA+ID4gKyAgSU4gIFVJTlROICAgICBDdGxBZGRyCj4gPiA+IAo+ID4gPiArKQo+ID4g PiAKPiA+ID4gK3sKPiA+ID4gCj4gPiA+ICsgIFVJTlROICBSZXN1bHQ7Cj4gPiA+IAo+ID4gPiAr ICBVSU5UOCAgRGF0YTsKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIGlmIChOVUxMID09 IEJ1ZmZlcikgewo+ID4gPiAKPiA+ID4gKyAgICByZXR1cm4gMDsKPiA+ID4gCj4gPiA+ICsgIH0K PiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIFJlc3VsdCA9IE51bWJlck9mQnl0ZXM7Cj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICB3aGlsZSAoTnVtYmVyT2ZCeXRlcy0tKSB7Cj4g PiA+IAo+ID4gPiArICAgIC8vCj4gPiA+IAo+ID4gPiArICAgIC8vIFdhaXQgZm9yIHRoZSBzZXJh aWwgcG9ydCB0byBiZSByZWFkeS4KPiA+ID4gCj4gPiA+ICsgICAgLy8KPiA+ID4gCj4gPiA+ICsg ICAgZG8gewo+ID4gPiAKPiA+ID4gKyAgICAgIERhdGEgPSBNbWlvUmVhZDggKEN0bEFkZHIgKyBM U1JfT0ZGU0VUKTsKPiA+ID4gCj4gPiA+ICsgICAgfSB3aGlsZSAoKERhdGEgJiBMU1JfUlhSRFkp ID09IDApOwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgICAqQnVmZmVyKysgPSBNbWlv UmVhZDggKEN0bEFkZHIpOwo+ID4gPiAKPiA+ID4gKyAgfQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAK PiA+ID4gKyAgcmV0dXJuIFJlc3VsdDsKPiA+ID4gCj4gPiA+ICt9Cj4gPiA+IAo+ID4gPiArLyoq Cj4gPiA+IAo+ID4gPiArICBSZWFkIGRhdGEgZnJvbSBzZXJpYWwgcG9ydC4KPiA+ID4gCj4gPiA+ ICsKPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSAgQnVmZmVyICAgICAgICAgICBQb2ludGVyIHRvIHRo ZSBkYXRhIGJ1ZmZlciB0byBzdG9yZSB0aGUgZGF0YQo+ID4gPiByZWFkIGZyb20gc2VyaWFsIHBv cnQuCj4gPiA+IAo+ID4gPiArICBAcGFyYW0gIE51bWJlck9mQnl0ZXMgICAgTnVtYmVyIG9mIGJ5 dGVzIHRvIHJlYWQgZnJvbSB0aGUgc2VyaWFsCj4gPiA+IHBvcnQuCj4gPiA+IAo+ID4gPiArCj4g PiA+IAo+ID4gPiArICBAcmV0dmFsIDAgICAgICAgICAgICAgICAgTnVtYmVyT2ZCeXRlcyBpcyAw Lgo+ID4gPiAKPiA+ID4gKyAgQHJldHZhbCA+MCAgICAgICAgICAgICAgIFRoZSBudW1iZXIgb2Yg Ynl0ZXMgcmVhZCBmcm9tIHRoZSBzZXJpYWwKPiA+ID4gcG9ydC4KPiA+ID4gCj4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICAgICAgICBJZiB0aGlzIHZhbHVlIGlzIGxlc3MgdGhhbiBOdW1iZXJP ZkJ5dGVzLAo+ID4gPiB0aGVuIHRoZSByZWFkIG9wZXJhdGlvbiBmYWlsZWQuCj4gPiA+IAo+ID4g PiArCj4gPiA+IAo+ID4gPiArKiovCj4gPiA+IAo+ID4gPiArVUlOVE4KPiA+ID4gCj4gPiA+ICtF RklBUEkKPiA+ID4gCj4gPiA+ICtTZXJpYWxQb3J0UmVhZCAoCj4gPiA+IAo+ID4gPiArICBPVVQg VUlOVDggICAgICpCdWZmZXIsCj4gPiA+IAo+ID4gPiArICBJTiAgVUlOVE4gICAgIE51bWJlck9m Qnl0ZXMKPiA+ID4gCj4gPiA+ICspCj4gPiA+IAo+ID4gPiArewo+ID4gPiAKPiA+ID4gKyAgcmV0 dXJuIFVhcnRDdGxSZWFkIChCdWZmZXIsIE51bWJlck9mQnl0ZXMsIGdVYXJ0QmFzZSk7Cj4gPiA+ IAo+ID4gPiArfQo+ID4gPiAKPiA+ID4gKy8qKgo+ID4gPiAKPiA+ID4gKyAgUG9sbHMgYSBzZXJp YWwgZGV2aWNlIHRvIHNlZSBpZiB0aGVyZSBpcyBhbnkgZGF0YSB3YWl0aW5nIHRvIGJlIHJlYWQu Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBQb2xscyBhc2VyaWFsIGRldmljZSB0byBz ZWUgaWYgdGhlcmUgaXMgYW55IGRhdGEgd2FpdGluZyB0byBiZSByZWFkLgo+ID4gPiAKPiA+ID4g KyAgSWYgdGhlcmUgaXMgZGF0YSB3YWl0aW5nIHRvIGJlIHJlYWQgZnJvbSB0aGUgc2VyaWFsIGRl dmljZSwgdGhlbiBUUlVFCj4gPiBpcwo+ID4gPiByZXR1cm5lZC4KPiA+ID4gCj4gPiA+ICsgIElm IHRoZXJlIGlzIG5vIGRhdGEgd2FpdGluZyB0byBiZSByZWFkIGZyb20gdGhlIHNlcmlhbCBkZXZp Y2UsIHRoZW4KPiA+IEZBTFNFIGlzCj4gPiA+IHJldHVybmVkLgo+ID4gPiAKPiA+ID4gKwo+ID4g PiAKPiA+ID4gKyAgQHJldHZhbCBUUlVFICAgICAgICAgICAgIERhdGEgaXMgd2FpdGluZyB0byBi ZSByZWFkIGZyb20gdGhlIHNlcmlhbAo+ID4gPiBkZXZpY2UuCj4gPiA+IAo+ID4gPiArICBAcmV0 dmFsIEZBTFNFICAgICAgICAgICAgVGhlcmUgaXMgbm8gZGF0YSB3YWl0aW5nIHRvIGJlIHJlYWQg ZnJvbSB0aGUKPiA+ID4gc2VyaWFsIGRldmljZS4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ ICsqKi8KPiA+ID4gCj4gPiA+ICtCT09MRUFOCj4gPiA+IAo+ID4gPiArRUZJQVBJCj4gPiA+IAo+ ID4gPiArU2VyaWFsUG9ydFBvbGwgKAo+ID4gPiAKPiA+ID4gKyAgVk9JRAo+ID4gPiAKPiA+ID4g KyAgKQo+ID4gPiAKPiA+ID4gK3sKPiA+ID4gCj4gPiA+ICsgIFVJTlQ4ICBEYXRhOwo+ID4gPiAK PiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ICsgIC8vIFJlYWQgdGhlIHNl cmlhbCBwb3J0IHN0YXR1cy4KPiA+ID4gCj4gPiA+ICsgIC8vCj4gPiA+IAo+ID4gPiArICBEYXRh ID0gTW1pb1JlYWQ4ICgoVUlOVE4pIGdVYXJ0QmFzZSArIExTUl9PRkZTRVQpOwo+ID4gPiAKPiA+ ID4gKwo+ID4gPiAKPiA+ID4gKyAgcmV0dXJuIChCT09MRUFOKSAoKERhdGEgJiBMU1JfUlhSRFkp ICE9IDApOwo+ID4gPiAKPiA+ID4gK30KPiA+ID4gCj4gPiA+ICsvKioKPiA+ID4gCj4gPiA+ICsg IFRvIGdldCBzZXJpYWwgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzLgo+ID4gPiAKPiA+ID4gKwo+ID4g PiAKPiA+ID4gKyAgQHBhcmFtICBWT0lECj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBA cmV0dXJuICBzZXJpYWwgcmVnaXN0ZXIgYmFzZSBhZGRyZXNzLgo+ID4gPiAKPiA+ID4gKyoqLwo+ ID4gPiAKPiA+ID4gK1VJTlROCj4gPiA+IAo+ID4gPiArR2V0U2VyaWFsUmVnaXN0ZXJCYXNlICgK PiA+ID4gCj4gPiA+ICsgIFZPSUQKPiA+ID4gCj4gPiA+ICsgICkKPiA+ID4gCj4gPiA+ICt7Cj4g PiA+IAo+ID4gPiArICByZXR1cm4gZ1VhcnRCYXNlOwo+ID4gPiAKPiA+ID4gK30KPiA+ID4gCj4g PiA+ICsvKioKPiA+ID4gCj4gPiA+ICsgIFJlYWQgYW4gOC1iaXQgcmVnaXN0ZXIuCj4gPiA+IAo+ ID4gPiArICBAcGFyYW0gIEJhc2UgICAgVGhlIGJhc2UgYWRkcmVzcyByZWdpc3RlciBvZiBVQVJU IGRldmljZS4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSAgT2Zmc2V0ICBUaGUgb2Zmc2V0IG9mIHRo ZSByZWdpc3RlciB0byByZWFkLgo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHJldHVy biBUaGUgdmFsdWUgcmVhZCBmcm9tIHRoZSAxNjU1MCByZWdpc3Rlci4KPiA+ID4gCj4gPiA+ICsK PiA+ID4gCj4gPiA+ICsqKi8KPiA+ID4gCj4gPiA+ICtVSU5UOAo+ID4gPiAKPiA+ID4gK1Nlcmlh bFBvcnRSZWFkUmVnaXN0ZXIgKAo+ID4gPiAKPiA+ID4gKyAgVUlOVE4gIEJhc2UsCj4gPiA+IAo+ ID4gPiArICBVSU5UTiAgT2Zmc2V0Cj4gPiA+IAo+ID4gPiArICApCj4gPiA+IAo+ID4gPiArewo+ ID4gPiAKPiA+ID4gKyAgICByZXR1cm4gTW1pb1JlYWQ4IChCYXNlICsgT2Zmc2V0KTsKPiA+ID4g Cj4gPiA+ICt9Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyoqCj4gPiA+IAo+ID4gPiAr ICBXcml0ZSBhbiA4LWJpdCByZWdpc3Rlci4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSAgQmFzZSAg ICBUaGUgYmFzZSBhZGRyZXNzIHJlZ2lzdGVyIG9mIFVBUlQgZGV2aWNlLgo+ID4gPiAKPiA+ID4g KyAgQHBhcmFtICBPZmZzZXQgIFRoZSBvZmZzZXQgb2YgdGhlIHJlZ2lzdGVyIHRvIHdyaXRlLgo+ ID4gPiAKPiA+ID4gKyAgQHBhcmFtICBWYWx1ZSAgIFRoZSB2YWx1ZSB0byB3cml0ZSB0byB0aGUg cmVnaXN0ZXIgc3BlY2lmaWVkIGJ5IE9mZnNldC4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ ICsgIEByZXR1cm4gVGhlIHZhbHVlIHdyaXR0ZW4gdG8gdGhlIDE2NTUwIHJlZ2lzdGVyLgo+ID4g PiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyoqLwo+ID4gPiAKPiA+ID4gK1VJTlQ4Cj4gPiA+IAo+ ID4gPiArU2VyaWFsUG9ydFdyaXRlUmVnaXN0ZXIgKAo+ID4gPiAKPiA+ID4gKyAgVUlOVE4gIEJh c2UsCj4gPiA+IAo+ID4gPiArICBVSU5UTiAgT2Zmc2V0LAo+ID4gPiAKPiA+ID4gKyAgVUlOVDgg IFZhbHVlCj4gPiA+IAo+ID4gPiArICApCj4gPiA+IAo+ID4gPiArewo+ID4gPiAKPiA+ID4gKyAg ICByZXR1cm4gTW1pb1dyaXRlOCAoQmFzZSArIE9mZnNldCwgVmFsdWUpOwo+ID4gPiAKPiA+ID4g K30KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsvKioKPiA+ID4gCj4gPiA+ICsgIFNldHMg dGhlIGNvbnRyb2wgYml0cyBvbiBhIHNlcmlhbCBkZXZpY2UuCj4gPiA+IAo+ID4gPiArCj4gPiA+ IAo+ID4gPiArICBAcGFyYW0gQ29udHJvbCAgICAgICAgICAgICAgICBTZXRzIHRoZSBiaXRzIG9m IENvbnRyb2wgdGhhdCBhcmUKPiA+ID4gc2V0dGFibGUuCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ ID4gPiArICBAcmV0dmFsIFJFVFVSTl9TVUNDRVNTICAgICAgICBUaGUgbmV3IGNvbnRyb2wgYml0 cyB3ZXJlIHNldCBvbiB0aGUKPiA+ID4gc2VyaWFsIGRldmljZS4KPiA+ID4gCj4gPiA+ICsgIEBy ZXR2YWwgUkVUVVJOX1VOU1VQUE9SVEVEICAgIFRoZSBzZXJpYWwgZGV2aWNlIGRvZXMgbm90IHN1 cHBvcnQKPiA+ID4gdGhpcyBvcGVyYXRpb24uCj4gPiA+IAo+ID4gPiArICBAcmV0dmFsIFJFVFVS Tl9ERVZJQ0VfRVJST1IgICBUaGUgc2VyaWFsIGRldmljZSBpcyBub3QgZnVuY3Rpb25pbmcKPiA+ ID4gY29ycmVjdGx5Lgo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyoqLwo+ID4gPiAKPiA+ ID4gK1JFVFVSTl9TVEFUVVMKPiA+ID4gCj4gPiA+ICtFRklBUEkKPiA+ID4gCj4gPiA+ICtTZXJp YWxQb3J0U2V0Q29udHJvbCAoCj4gPiA+IAo+ID4gPiArICBJTiBVSU5UMzIgQ29udHJvbAo+ID4g PiAKPiA+ID4gKyAgKQo+ID4gPiAKPiA+ID4gK3sKPiA+ID4gCj4gPiA+ICsgIFVJTlROIFNlcmlh bFJlZ2lzdGVyQmFzZTsKPiA+ID4gCj4gPiA+ICsgIFVJTlQ4IE1jcjsKPiA+ID4gCj4gPiA+ICsK PiA+ID4gCj4gPiA+ICsgIC8vCj4gPiA+IAo+ID4gPiArICAvLyBGaXJzdCBkZXRlcm1pbmUgdGhl IHBhcmFtZXRlciBpcyBpbnZhbGlkLgo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ICsg IGlmICgoQ29udHJvbCAmICh+KEVGSV9TRVJJQUxfUkVRVUVTVF9UT19TRU5EIHwKPiA+ID4gRUZJ X1NFUklBTF9EQVRBX1RFUk1JTkFMX1JFQURZIHwKPiA+ID4gCj4gPiA+ICsKPiA+ID4gRUZJX1NF UklBTF9IQVJEV0FSRV9GTE9XX0NPTlRST0xfRU5BQkxFKSkpICE9IDApCj4gPiA+IAo+ID4gPiAr ICB7Cj4gPiA+IAo+ID4gPiArICAgIHJldHVybiBSRVRVUk5fVU5TVVBQT1JURUQ7Cj4gPiA+IAo+ ID4gPiArICB9Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBTZXJpYWxSZWdpc3RlckJh c2UgPSBHZXRTZXJpYWxSZWdpc3RlckJhc2UgKCk7Cj4gPiA+IAo+ID4gPiArICBpZiAoU2VyaWFs UmVnaXN0ZXJCYXNlID09MCkgewo+ID4gPiAKPiA+ID4gKyAgICByZXR1cm4gUkVUVVJOX1VOU1VQ UE9SVEVEOwo+ID4gPiAKPiA+ID4gKyAgfQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAg Ly8KPiA+ID4gCj4gPiA+ICsgIC8vIFJlYWQgdGhlIE1vZGVtIENvbnRyb2wgUmVnaXN0ZXIuCj4g PiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgTWNyID0gU2VyaWFsUG9ydFJlYWRSZWdp c3RlciAoU2VyaWFsUmVnaXN0ZXJCYXNlLCBSX1VBUlRfTUNSKTsKPiA+ID4gCj4gPiA+ICsgIE1j ciAmPSAofihCX1VBUlRfTUNSX0RUUkMgfCBCX1VBUlRfTUNSX1JUUykpOwo+ID4gPiAKPiA+ID4g Kwo+ID4gPiAKPiA+ID4gKyAgaWYgKChDb250cm9sICYgRUZJX1NFUklBTF9EQVRBX1RFUk1JTkFM X1JFQURZKSA9PQo+ID4gPiBFRklfU0VSSUFMX0RBVEFfVEVSTUlOQUxfUkVBRFkpIHsKPiA+ID4g Cj4gPiA+ICsgICAgTWNyIHw9IEJfVUFSVF9NQ1JfRFRSQzsKPiA+ID4gCj4gPiA+ICsgIH0KPiA+ ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIGlmICgoQ29udHJvbCAmIEVGSV9TRVJJQUxfUkVR VUVTVF9UT19TRU5EKSA9PQo+ID4gPiBFRklfU0VSSUFMX1JFUVVFU1RfVE9fU0VORCkgewo+ID4g PiAKPiA+ID4gKyAgICBNY3IgfD0gQl9VQVJUX01DUl9SVFM7Cj4gPiA+IAo+ID4gPiArICB9Cj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgLy8gV3JpdGUg dGhlIE1vZGVtIENvbnRyb2wgUmVnaXN0ZXIuCj4gPiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ ID4gKyAgU2VyaWFsUG9ydFdyaXRlUmVnaXN0ZXIgKFNlcmlhbFJlZ2lzdGVyQmFzZSwgUl9VQVJU X01DUiwgTWNyKTsKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIHJldHVybiBSRVRVUk5f U1VDQ0VTUzsKPiA+ID4gCj4gPiA+ICt9Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArLyoq Cj4gPiA+IAo+ID4gPiArICBSZXRyaWV2ZSB0aGUgc3RhdHVzIG9mIHRoZSBjb250cm9sIGJpdHMg b24gYSBzZXJpYWwgZGV2aWNlLgo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHBhcmFt IENvbnRyb2wgICAgICAgICAgICAgICAgQSBwb2ludGVyIHRvIHJldHVybiB0aGUgY3VycmVudAo+ ID4gPiBjb250cm9sIHNpZ25hbHMgZnJvbSB0aGUgc2VyaWFsIGRldmljZS4KPiA+ID4gCj4gPiA+ ICsKPiA+ID4gCj4gPiA+ICsgIEByZXR2YWwgUkVUVVJOX1NVQ0NFU1MgICAgICAgIFRoZSBjb250 cm9sIGJpdHMgd2VyZSByZWFkIGZyb20gdGhlCj4gPiA+IHNlcmlhbCBkZXZpY2UuCj4gPiA+IAo+ ID4gPiArICBAcmV0dmFsIFJFVFVSTl9VTlNVUFBPUlRFRCAgICBUaGUgc2VyaWFsIGRldmljZSBk b2VzIG5vdCBzdXBwb3J0Cj4gPiA+IHRoaXMgb3BlcmF0aW9uLgo+ID4gPiAKPiA+ID4gKyAgQHJl dHZhbCBSRVRVUk5fREVWSUNFX0VSUk9SICAgVGhlIHNlcmlhbCBkZXZpY2UgaXMgbm90IGZ1bmN0 aW9uaW5nCj4gPiA+IGNvcnJlY3RseS4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsqKi8K PiA+ID4gCj4gPiA+ICtSRVRVUk5fU1RBVFVTCj4gPiA+IAo+ID4gPiArRUZJQVBJCj4gPiA+IAo+ ID4gPiArU2VyaWFsUG9ydEdldENvbnRyb2wgKAo+ID4gPiAKPiA+ID4gKyAgT1VUIFVJTlQzMiAq Q29udHJvbAo+ID4gPiAKPiA+ID4gKyAgKQo+ID4gPiAKPiA+ID4gK3sKPiA+ID4gCj4gPiA+ICsg IFVJTlROIFNlcmlhbFJlZ2lzdGVyQmFzZTsKPiA+ID4gCj4gPiA+ICsgIFVJTlQ4IE1zcjsKPiA+ ID4gCj4gPiA+ICsgIFVJTlQ4IE1jcjsKPiA+ID4gCj4gPiA+ICsgIFVJTlQ4IExzcjsKPiA+ID4g Cj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIFNlcmlhbFJlZ2lzdGVyQmFzZSA9IEdldFNlcmlhbFJl Z2lzdGVyQmFzZSAoKTsKPiA+ID4gCj4gPiA+ICsgIGlmIChTZXJpYWxSZWdpc3RlckJhc2UgPT0w KSB7Cj4gPiA+IAo+ID4gPiArICAgIHJldHVybiBSRVRVUk5fVU5TVVBQT1JURUQ7Cj4gPiA+IAo+ ID4gPiArICB9Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAqQ29udHJvbCA9IDA7Cj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgLy8gUmVhZCB0 aGUgTW9kZW0gU3RhdHVzIFJlZ2lzdGVyLgo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ ICsgIE1zciA9IFNlcmlhbFBvcnRSZWFkUmVnaXN0ZXIgKFNlcmlhbFJlZ2lzdGVyQmFzZSwgUl9V QVJUX01TUik7Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBpZiAoKE1zciAmIEJfVUFS VF9NU1JfQ1RTKSA9PSBCX1VBUlRfTVNSX0NUUykgewo+ID4gPiAKPiA+ID4gKyAgICAqQ29udHJv bCB8PSBFRklfU0VSSUFMX0NMRUFSX1RPX1NFTkQ7Cj4gPiA+IAo+ID4gPiArICB9Cj4gPiA+IAo+ ID4gPiArCj4gPiA+IAo+ID4gPiArICBpZiAoKE1zciAmIEJfVUFSVF9NU1JfRFNSKSA9PSBCX1VB UlRfTVNSX0RTUikgewo+ID4gPiAKPiA+ID4gKyAgICAqQ29udHJvbCB8PSBFRklfU0VSSUFMX0RB VEFfU0VUX1JFQURZOwo+ID4gPiAKPiA+ID4gKyAgfQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gKyAgaWYgKChNc3IgJiBCX1VBUlRfTVNSX1JJKSA9PSBCX1VBUlRfTVNSX1JJKSB7Cj4gPiA+ IAo+ID4gPiArICAgICpDb250cm9sIHw9IEVGSV9TRVJJQUxfUklOR19JTkRJQ0FURTsKPiA+ID4g Cj4gPiA+ICsgIH0KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIGlmICgoTXNyICYgQl9V QVJUX01TUl9EQ0QpID09IEJfVUFSVF9NU1JfRENEKSB7Cj4gPiA+IAo+ID4gPiArICAgICpDb250 cm9sIHw9IEVGSV9TRVJJQUxfQ0FSUklFUl9ERVRFQ1Q7Cj4gPiA+IAo+ID4gPiArICB9Cj4gPiA+ IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgLy8gUmVhZCB0aGUg TW9kZW0gQ29udHJvbCBSZWdpc3Rlci4KPiA+ID4gCj4gPiA+ICsgIC8vCj4gPiA+IAo+ID4gPiAr ICBNY3IgPSBTZXJpYWxQb3J0UmVhZFJlZ2lzdGVyIChTZXJpYWxSZWdpc3RlckJhc2UsIFJfVUFS VF9NQ1IpOwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgaWYgKChNY3IgJiBCX1VBUlRf TUNSX0RUUkMpID09IEJfVUFSVF9NQ1JfRFRSQykgewo+ID4gPiAKPiA+ID4gKyAgICAqQ29udHJv bCB8PSBFRklfU0VSSUFMX0RBVEFfVEVSTUlOQUxfUkVBRFk7Cj4gPiA+IAo+ID4gPiArICB9Cj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBpZiAoKE1jciAmIEJfVUFSVF9NQ1JfUlRTKSA9 PSBCX1VBUlRfTUNSX1JUUykgewo+ID4gPiAKPiA+ID4gKyAgICAqQ29udHJvbCB8PSBFRklfU0VS SUFMX1JFUVVFU1RfVE9fU0VORDsKPiA+ID4gCj4gPiA+ICsgIH0KPiA+ID4gCj4gPiA+ICsKPiA+ ID4gCj4gPiA+ICsgIGlmIChQY2RHZXRCb29sIChQY2RTZXJpYWxVc2VIYXJkd2FyZUZsb3dDb250 cm9sKSkgewo+ID4gPiAKPiA+ID4gKyAgICAqQ29udHJvbCB8PSBFRklfU0VSSUFMX0hBUkRXQVJF X0ZMT1dfQ09OVFJPTF9FTkFCTEU7Cj4gPiA+IAo+ID4gPiArICB9Cj4gPiA+IAo+ID4gPiArCj4g PiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgLy8gUmVhZCB0aGUgTGluZSBTdGF0dXMg UmVnaXN0ZXIuCj4gPiA+IAo+ID4gPiArICAvLwo+ID4gPiAKPiA+ID4gKyAgTHNyID0gU2VyaWFs UG9ydFJlYWRSZWdpc3RlciAoU2VyaWFsUmVnaXN0ZXJCYXNlLCBSX1VBUlRfTFNSKTsKPiA+ID4g Cj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIGlmICgoTHNyICYgKEJfVUFSVF9MU1JfVEVNVCB8IEJf VUFSVF9MU1JfVFhSRFkpKSA9PQo+ID4gPiAoQl9VQVJUX0xTUl9URU1UIHwgQl9VQVJUX0xTUl9U WFJEWSkpIHsKPiA+ID4gCj4gPiA+ICsgICAgKkNvbnRyb2wgfD0gRUZJX1NFUklBTF9PVVRQVVRf QlVGRkVSX0VNUFRZOwo+ID4gPiAKPiA+ID4gKyAgfQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gKyAgaWYgKChMc3IgJiBCX1VBUlRfTFNSX1JYUkRZKSA9PSAwKSB7Cj4gPiA+IAo+ID4gPiAr ICAgICpDb250cm9sIHw9IEVGSV9TRVJJQUxfSU5QVVRfQlVGRkVSX0VNUFRZOwo+ID4gPiAKPiA+ ID4gKyAgfQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgcmV0dXJuIFJFVFVSTl9TVUND RVNTOwo+ID4gPiAKPiA+ID4gK30KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsvKioKPiA+ ID4gCj4gPiA+ICsgIFNldHMgdGhlIGJhdWQgcmF0ZSwgcmVjZWl2ZSBGSUZPIGRlcHRoLCB0cmFu c21pdC9yZWNlaWNlIHRpbWUgb3V0LAo+ID4gcGFyaXR5LAo+ID4gPiAKPiA+ID4gKyAgZGF0YSBi aXRzLCBhbmQgc3RvcCBiaXRzIG9uIGEgc2VyaWFsIGRldmljZS4KPiA+ID4gCj4gPiA+ICsKPiA+ ID4gCj4gPiA+ICsgIEBwYXJhbSBCYXVkUmF0ZSAgICAgICAgICAgVGhlIHJlcXVlc3RlZCBiYXVk IHJhdGUuIEEgQmF1ZFJhdGUKPiA+ID4gdmFsdWUgb2YgMCB3aWxsIHVzZSB0aGUKPiA+ID4gCj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgZGV2aWNlJ3MgZGVmYXVsdCBpbnRlcmZh Y2Ugc3BlZWQuCj4gPiA+IAo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIG91 dHB1dCwgdGhlIHZhbHVlIGFjdHVhbGx5IHNldC4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSBSZXZl aXZlRmlmb0RlcHRoICAgVGhlIHJlcXVlc3RlZCBkZXB0aCBvZiB0aGUgRklGTyBvbiB0aGUKPiA+ ID4gcmVjZWl2ZSBzaWRlIG9mIHRoZQo+ID4gPiAKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAg ICAgICAgICBzZXJpYWwgaW50ZXJmYWNlLiBBIFJlY2VpdmVGaWZvRGVwdGggdmFsdWUKPiA+ID4g b2YgMCB3aWxsIHVzZQo+ID4gPiAKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICB0 aGUgZGV2aWNlJ3MgZGVmYXVsdCBGSUZPIGRlcHRoLgo+ID4gPiAKPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICBPbiBvdXRwdXQsIHRoZSB2YWx1ZSBhY3R1YWxseSBzZXQuCj4gPiA+ IAo+ID4gPiArICBAcGFyYW0gVGltZW91dCAgICAgICAgICAgIFRoZSByZXF1ZXN0ZWQgdGltZSBv dXQgZm9yIGEgc2luZ2xlCj4gPiA+IGNoYXJhY3RlciBpbiBtaWNyb3NlY29uZHMuCj4gPiA+IAo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRoaXMgdGltZW91dCBhcHBsaWVzIHRv IGJvdGggdGhlIHRyYW5zbWl0Cj4gPiA+IGFuZCByZWNlaXZlIHNpZGUgb2YgdGhlCj4gPiA+IAo+ ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIGludGVyZmFjZS4gQSBUaW1lb3V0IHZh bHVlIG9mIDAgd2lsbCB1c2UKPiA+ID4gdGhlIGRldmljZSdzIGRlZmF1bHQgdGltZQo+ID4gPiAK PiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBvdXQgdmFsdWUuCj4gPiA+IAo+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9uIG91dHB1dCwgdGhlIHZhbHVlIGFjdHVh bGx5IHNldC4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSBQYXJpdHkgICAgICAgICAgICAgVGhlIHR5 cGUgb2YgcGFyaXR5IHRvIHVzZSBvbiB0aGlzIHNlcmlhbAo+ID4gPiBkZXZpY2UuIEEgUGFyaXR5 IHZhbHVlIG9mCj4gPiA+IAo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIERlZmF1 bHRQYXJpdHkgd2lsbCB1c2UgdGhlIGRldmljZSdzIGRlZmF1bHQKPiA+ID4gcGFyaXR5IHZhbHVl Lgo+ID4gPiAKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICBPbiBvdXRwdXQsIHRo ZSB2YWx1ZSBhY3R1YWxseSBzZXQuCj4gPiA+IAo+ID4gPiArICBAcGFyYW0gRGF0YUJpdHMgICAg ICAgICAgIFRoZSBudW1iZXIgb2YgZGF0YSBiaXRzIHRvIHVzZSBvbiB0aGUKPiA+ID4gc2VyaWFs IGRldmljZS4gQSBEYXRhQml0cwo+ID4gPiAKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAg ICAgICB2YXVsZSBvZiAwIHdpbGwgdXNlIHRoZSBkZXZpY2UncyBkZWZhdWx0Cj4gPiA+IGRhdGEg Yml0IHNldHRpbmcuCj4gPiA+IAo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgIE9u IG91dHB1dCwgdGhlIHZhbHVlIGFjdHVhbGx5IHNldC4KPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSBT dG9wQml0cyAgICAgICAgICAgVGhlIG51bWJlciBvZiBzdG9wIGJpdHMgdG8gdXNlIG9uIHRoaXMK PiA+ID4gc2VyaWFsIGRldmljZS4gQSBTdG9wQml0cwo+ID4gPiAKPiA+ID4gKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICB2YWx1ZSBvZiBEZWZhdWx0U3RvcEJpdHMgd2lsbCB1c2UgdGhlCj4g PiA+IGRldmljZSdzIGRlZmF1bHQgbnVtYmVyIG9mCj4gPiA+IAo+ID4gPiArICAgICAgICAgICAg ICAgICAgICAgICAgICAgIHN0b3AgYml0cy4KPiA+ID4gCj4gPiA+ICsgICAgICAgICAgICAgICAg ICAgICAgICAgICAgT24gb3V0cHV0LCB0aGUgdmFsdWUgYWN0dWFsbHkgc2V0Lgo+ID4gPiAKPiA+ ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHJldHZhbCBSRVRVUk5fU1VDQ0VTUyAgICAgICAgICAgIFRo ZSBuZXcgYXR0cmlidXRlcyB3ZXJlIHNldCBvbgo+ID4gPiB0aGUgc2VyaWFsIGRldmljZS4KPiA+ ID4gCj4gPiA+ICsgIEByZXR2YWwgUkVUVVJOX1VOU1VQUE9SVEVEICAgICAgICBUaGUgc2VyaWFs IGRldmljZSBkb2VzIG5vdAo+ID4gPiBzdXBwb3J0IHRoaXMgb3BlcmF0aW9uLgo+ID4gPiAKPiA+ ID4gKyAgQHJldHZhbCBSRVRVUk5fSU5WQUxJRF9QQVJBTUVURVIgIE9uZSBvciBtb3JlIG9mIHRo ZSBhdHRyaWJ1dGVzCj4gPiA+IGhhcyBhbiB1bnN1cHBvcnRlZCB2YWx1ZS4KPiA+ID4gCj4gPiA+ ICsgIEByZXR2YWwgUkVUVVJOX0RFVklDRV9FUlJPUiAgICAgICBUaGUgc2VyaWFsIGRldmljZSBp cyBub3QKPiA+ID4gZnVuY3Rpb25pbmcgY29ycmVjdGx5Lgo+ID4gPiAKPiA+ID4gKwo+ID4gPiAK PiA+ID4gKyoqLwo+ID4gPiAKPiA+ID4gK1JFVFVSTl9TVEFUVVMKPiA+ID4gCj4gPiA+ICtFRklB UEkKPiA+ID4gCj4gPiA+ICtVYXJ0Q3RsQ29uZmlnICgKPiA+ID4gCj4gPiA+ICsgIElOIE9VVCBV SU5UNjQgICAgICAgICAgICAgKkJhdWRSYXRlLAo+ID4gPiAKPiA+ID4gKyAgSU4gT1VUIFVJTlQz MiAgICAgICAgICAgICAqUmVjZWl2ZUZpZm9EZXB0aCwKPiA+ID4gCj4gPiA+ICsgIElOIE9VVCBV SU5UMzIgICAgICAgICAgICAgKlRpbWVvdXQsCj4gPiA+IAo+ID4gPiArICBJTiBPVVQgRUZJX1BB UklUWV9UWVBFICAgICpQYXJpdHksCj4gPiA+IAo+ID4gPiArICBJTiBPVVQgVUlOVDggICAgICAg ICAgICAgICpEYXRhQml0cywKPiA+ID4gCj4gPiA+ICsgIElOIE9VVCBFRklfU1RPUF9CSVRTX1RZ UEUgKlN0b3BCaXRzLAo+ID4gPiAKPiA+ID4gKyAgSU4gVUlOVE4gICAgICAgICAgICAgICAgICAg Q3RsQWRkcgo+ID4gPiAKPiA+ID4gKyAgKQo+ID4gPiAKPiA+ID4gK3sKPiA+ID4gCj4gPiA+ICsg IFVJTlROICAgICBTZXJpYWxSZWdpc3RlckJhc2U7Cj4gPiA+IAo+ID4gPiArICBVSU5UOCAgICAg TGNyOwo+ID4gPiAKPiA+ID4gKyAgVUlOVDggICAgIExjckRhdGE7Cj4gPiA+IAo+ID4gPiArICBV SU5UOCAgICAgTGNyUGFyaXR5Owo+ID4gPiAKPiA+ID4gKyAgVUlOVDggICAgIExjclN0b3A7Cj4g PiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICBTZXJpYWxSZWdpc3Rl ckJhc2UgPSBDdGxBZGRyOwo+ID4gPiAKPiA+ID4gKyAgaWYgKFNlcmlhbFJlZ2lzdGVyQmFzZSA9 PTApIHsKPiA+ID4gCj4gPiA+ICsgICAgcmV0dXJuIFJFVFVSTl9VTlNVUFBPUlRFRDsKPiA+ID4g Cj4gPiA+ICsgIH0KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIC8vCj4gPiA+IAo+ID4g PiArICAvLyBDaGVjayBmb3IgZGVmYXVsdCBzZXR0aW5ncyBhbmQgZmlsbCBpbiBhY3R1YWwgdmFs dWVzLgo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ICsgIGlmICgqQmF1ZFJhdGUgPT0g MCkgewo+ID4gPiAKPiA+ID4gKyAgICAqQmF1ZFJhdGUgPSBQY2RHZXQzMiAoUGNkU2VyaWFsQmF1 ZFJhdGUpOwo+ID4gPiAKPiA+ID4gKyAgfQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAg aWYgKCpEYXRhQml0cyA9PSAwKSB7Cj4gPiA+IAo+ID4gPiArICAgIExjckRhdGEgPSAoVUlOVDgp IChQY2RHZXQ4IChQY2RTZXJpYWxMaW5lQ29udHJvbCkgJiAweDMpOwo+ID4gPiAKPiA+ID4gKyAg ICAqRGF0YUJpdHMgPSBMY3JEYXRhICsgNTsKPiA+ID4gCj4gPiA+ICsgIH0gZWxzZSB7Cj4gPiA+ IAo+ID4gPiArICAgIGlmICgoKkRhdGFCaXRzIDwgNSkKPiA+ID4gCj4gPiA+ICsgICAgICB8fCAo KkRhdGFCaXRzID4gOCkpCj4gPiA+IAo+ID4gPiArICAgIHsKPiA+ID4gCj4gPiA+ICsgICAgICBy ZXR1cm4gUkVUVVJOX0lOVkFMSURfUEFSQU1FVEVSOwo+ID4gPiAKPiA+ID4gKyAgICB9Cj4gPiA+ IAo+ID4gPiArICAgIC8vCj4gPiA+IAo+ID4gPiArICAgIC8vIE1hcCA1Li44IHRvIDAuLjMKPiA+ ID4gCj4gPiA+ICsgICAgLy8KPiA+ID4gCj4gPiA+ICsgICAgTGNyRGF0YSA9IChVSU5UOCkgKCpE YXRhQml0cyAtIChVSU5UOCkgNSk7Cj4gPiA+IAo+ID4gPiArICB9Cj4gPiA+IAo+ID4gPiArCj4g PiA+IAo+ID4gPiArICBpZiAoKlBhcml0eSA9PSBEZWZhdWx0UGFyaXR5KSB7Cj4gPiA+IAo+ID4g PiArICAgIExjclBhcml0eSA9IChVSU5UOCkgKChQY2RHZXQ4IChQY2RTZXJpYWxMaW5lQ29udHJv bCkgPj4gMykgJiAweDcpOwo+ID4gPiAKPiA+ID4gKyAgICBzd2l0Y2ggKExjclBhcml0eSkgewo+ ID4gPiAKPiA+ID4gKyAgICAgIGNhc2UgMDoKPiA+ID4gCj4gPiA+ICsgICAgICAgICpQYXJpdHkg PSBOb1Bhcml0eTsKPiA+ID4gCj4gPiA+ICsgICAgICAgIGJyZWFrOwo+ID4gPiAKPiA+ID4gKwo+ ID4gPiAKPiA+ID4gKyAgICAgIGNhc2UgMzoKPiA+ID4gCj4gPiA+ICsgICAgICAgICpQYXJpdHkg PSBFdmVuUGFyaXR5Owo+ID4gPiAKPiA+ID4gKyAgICAgICAgYnJlYWs7Cj4gPiA+IAo+ID4gPiAr Cj4gPiA+IAo+ID4gPiArICAgICAgY2FzZSAxOgo+ID4gPiAKPiA+ID4gKyAgICAgICAgKlBhcml0 eSA9IE9kZFBhcml0eTsKPiA+ID4gCj4gPiA+ICsgICAgICAgIGJyZWFrOwo+ID4gPiAKPiA+ID4g Kwo+ID4gPiAKPiA+ID4gKyAgICAgIGNhc2UgNzoKPiA+ID4gCj4gPiA+ICsgICAgICAgICpQYXJp dHkgPSBTcGFjZVBhcml0eTsKPiA+ID4gCj4gPiA+ICsgICAgICAgIGJyZWFrOwo+ID4gPiAKPiA+ ID4gKwo+ID4gPiAKPiA+ID4gKyAgICAgIGNhc2UgNToKPiA+ID4gCj4gPiA+ICsgICAgICAgICpQ YXJpdHkgPSBNYXJrUGFyaXR5Owo+ID4gPiAKPiA+ID4gKyAgICAgICAgYnJlYWs7Cj4gPiA+IAo+ ID4gPiArCj4gPiA+IAo+ID4gPiArICAgICAgZGVmYXVsdDoKPiA+ID4gCj4gPiA+ICsgICAgICAg IGJyZWFrOwo+ID4gPiAKPiA+ID4gKyAgICB9Cj4gPiA+IAo+ID4gPiArICB9IGVsc2Ugewo+ID4g PiAKPiA+ID4gKyAgICBzd2l0Y2ggKCpQYXJpdHkpIHsKPiA+ID4gCj4gPiA+ICsgICAgICBjYXNl IE5vUGFyaXR5Ogo+ID4gPiAKPiA+ID4gKyAgICAgICAgTGNyUGFyaXR5ID0gMDsKPiA+ID4gCj4g PiA+ICsgICAgICAgIGJyZWFrOwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgICAgIGNh c2UgRXZlblBhcml0eToKPiA+ID4gCj4gPiA+ICsgICAgICAgIExjclBhcml0eSA9IDM7Cj4gPiA+ IAo+ID4gPiArICAgICAgICBicmVhazsKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgICAg ICBjYXNlIE9kZFBhcml0eToKPiA+ID4gCj4gPiA+ICsgICAgICAgIExjclBhcml0eSA9IDE7Cj4g PiA+IAo+ID4gPiArICAgICAgICBicmVhazsKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsg ICAgICBjYXNlIFNwYWNlUGFyaXR5Ogo+ID4gPiAKPiA+ID4gKyAgICAgICAgTGNyUGFyaXR5ID0g NzsKPiA+ID4gCj4gPiA+ICsgICAgICAgIGJyZWFrOwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gKyAgICAgIGNhc2UgTWFya1Bhcml0eToKPiA+ID4gCj4gPiA+ICsgICAgICAgIExjclBhcml0 eSA9IDU7Cj4gPiA+IAo+ID4gPiArICAgICAgICBicmVhazsKPiA+ID4gCj4gPiA+ICsKPiA+ID4g Cj4gPiA+ICsgICAgICBkZWZhdWx0Ogo+ID4gPiAKPiA+ID4gKyAgICAgICAgcmV0dXJuIFJFVFVS Tl9JTlZBTElEX1BBUkFNRVRFUjsKPiA+ID4gCj4gPiA+ICsgICAgfQo+ID4gPiAKPiA+ID4gKyAg fQo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgaWYgKCpTdG9wQml0cyA9PSBEZWZhdWx0 U3RvcEJpdHMpIHsKPiA+ID4gCj4gPiA+ICsgICAgTGNyU3RvcCA9IChVSU5UOCkgKChQY2RHZXQ4 IChQY2RTZXJpYWxMaW5lQ29udHJvbCkgPj4gMikgJiAweDEpOwo+ID4gPiAKPiA+ID4gKyAgICBz d2l0Y2ggKExjclN0b3ApIHsKPiA+ID4gCj4gPiA+ICsgICAgICBjYXNlIDA6Cj4gPiA+IAo+ID4g PiArICAgICAgICAqU3RvcEJpdHMgPSBPbmVTdG9wQml0Owo+ID4gPiAKPiA+ID4gKyAgICAgICAg YnJlYWs7Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAgICAgY2FzZSAxOgo+ID4gPiAK PiA+ID4gKyAgICAgICAgaWYgKCpEYXRhQml0cyA9PSA1KSB7Cj4gPiA+IAo+ID4gPiArICAgICAg ICAgICpTdG9wQml0cyA9IE9uZUZpdmVTdG9wQml0czsKPiA+ID4gCj4gPiA+ICsgICAgICAgIH0g ZWxzZSB7Cj4gPiA+IAo+ID4gPiArICAgICAgICAgICpTdG9wQml0cyA9IFR3b1N0b3BCaXRzOwo+ ID4gPiAKPiA+ID4gKyAgICAgICAgfQo+ID4gPiAKPiA+ID4gKyAgICAgICAgYnJlYWs7Cj4gPiA+ IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAgICAgZGVmYXVsdDoKPiA+ID4gCj4gPiA+ICsgICAg ICAgIGJyZWFrOwo+ID4gPiAKPiA+ID4gKyAgICB9Cj4gPiA+IAo+ID4gPiArICB9IGVsc2Ugewo+ ID4gPiAKPiA+ID4gKyAgICBzd2l0Y2ggKCpTdG9wQml0cykgewo+ID4gPiAKPiA+ID4gKyAgICAg IGNhc2UgT25lU3RvcEJpdDoKPiA+ID4gCj4gPiA+ICsgICAgICAgIExjclN0b3AgPSAwOwo+ID4g PiAKPiA+ID4gKyAgICAgICAgYnJlYWs7Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAg ICAgY2FzZSBPbmVGaXZlU3RvcEJpdHM6Cj4gPiA+IAo+ID4gPiArICAgICAgY2FzZSBUd29TdG9w Qml0czoKPiA+ID4gCj4gPiA+ICsgICAgICAgIExjclN0b3AgPSAxOwo+ID4gPiAKPiA+ID4gKyAg ICAgICAgYnJlYWs7Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAgICAgZGVmYXVsdDoK PiA+ID4gCj4gPiA+ICsgICAgICAgIHJldHVybiBSRVRVUk5fSU5WQUxJRF9QQVJBTUVURVI7Cj4g PiA+IAo+ID4gPiArICAgIH0KPiA+ID4gCj4gPiA+ICsgIH0KPiA+ID4gCj4gPiA+ICsgIFNlcmlh bFBvcnRXcml0ZVJlZ2lzdGVyIChTZXJpYWxSZWdpc3RlckJhc2UsIFJfVUFSVF9MQ1IsCj4gPiA+ IEJfVUFSVF9MQ1JfRExBQik7Cj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArICAvLwo+ID4g PiAKPiA+ID4gKyAgLy8gQ2xlYXIgRExBQiBhbmQgY29uZmlndXJlIERhdGEgQml0cywgUGFyaXR5 LCBhbmQgU3RvcCBCaXRzLgo+ID4gPiAKPiA+ID4gKyAgLy8gU3RyaXAgcmVzZXJ2ZWQgYml0cyBm cm9tIGxpbmUgY29udHJvbCB2YWx1ZQo+ID4gPiAKPiA+ID4gKyAgLy8KPiA+ID4gCj4gPiA+ICsg IExjciA9IChVSU5UOCkgKChMY3JQYXJpdHkgPDwgMykgfCAoTGNyU3RvcCA8PCAyKSB8IExjckRh dGEpOwo+ID4gPiAKPiA+ID4gKyAgU2VyaWFsUG9ydFdyaXRlUmVnaXN0ZXIgKFNlcmlhbFJlZ2lz dGVyQmFzZSwgUl9VQVJUX0xDUiwgKFVJTlQ4KSAoTGNyICYKPiA+ID4gMHgzRikpOwo+ID4gPiAK PiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgcmV0dXJuIFJFVFVSTl9TVUNDRVNTOwo+ID4gPiAKPiA+ ID4gK30KPiA+ID4gCj4gPiA+ICsvKioKPiA+ID4gCj4gPiA+ICsgIFNldCB0aGUgc2VyaWFsIHBv cnQgQXR0cmlidXRlcy4KPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICsgIEBwYXJhbSAgVk9J RAo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgQHJldHVybiAgc2VyaWFsIHJlZ2lzdGVy IGJhc2UgYWRkcmVzcy4KPiA+ID4gCj4gPiA+ICsqKi8KPiA+ID4gCj4gPiA+ICtSRVRVUk5fU1RB VFVTCj4gPiA+IAo+ID4gPiArRUZJQVBJCj4gPiA+IAo+ID4gPiArU2VyaWFsUG9ydFNldEF0dHJp YnV0ZXMgKAo+ID4gPiAKPiA+ID4gKyAgSU4gT1VUIFVJTlQ2NCAgICAgICAgICAgICAqQmF1ZFJh dGUsCj4gPiA+IAo+ID4gPiArICBJTiBPVVQgVUlOVDMyICAgICAgICAgICAgICpSZWNlaXZlRmlm b0RlcHRoLAo+ID4gPiAKPiA+ID4gKyAgSU4gT1VUIFVJTlQzMiAgICAgICAgICAgICAqVGltZW91 dCwKPiA+ID4gCj4gPiA+ICsgIElOIE9VVCBFRklfUEFSSVRZX1RZUEUgICAgKlBhcml0eSwKPiA+ ID4gCj4gPiA+ICsgIElOIE9VVCBVSU5UOCAgICAgICAgICAgICAgKkRhdGFCaXRzLAo+ID4gPiAK PiA+ID4gKyAgSU4gT1VUIEVGSV9TVE9QX0JJVFNfVFlQRSAqU3RvcEJpdHMKPiA+ID4gCj4gPiA+ ICsgICkKPiA+ID4gCj4gPiA+ICt7Cj4gPiA+IAo+ID4gPiArICBVSU5UTiAgICAgU2VyaWFsUmVn aXN0ZXJCYXNlOwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKyAgU2VyaWFsUmVnaXN0ZXJC YXNlID0gR2V0U2VyaWFsUmVnaXN0ZXJCYXNlICgpOwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gKyAgcmV0dXJuICBVYXJ0Q3RsQ29uZmlnICgmZ0JwcywgUmVjZWl2ZUZpZm9EZXB0aCwgVGlt ZW91dCwgUGFyaXR5LAo+ID4gPiBEYXRhQml0cywgU3RvcEJpdHMsCj4gPiA+IAo+ID4gPiArICAg ICAgICAgICAgU2VyaWFsUmVnaXN0ZXJCYXNlKTsKPiA+ID4gCj4gPiA+ICt9Cj4gPiA+IAo+ID4g PiBkaWZmIC0tZ2l0Cj4gPiA+IGEvUGxhdGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9M aWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2VyaWFsUG9ydExpYgo+ID4gPiAuaW5mCj4gPiA+IGIvUGxh dGZvcm0vTG9vbmdzb24vTG9vbmdBcmNoUWVtdVBrZy9MaWJyYXJ5L1NlcmlhbFBvcnRMaWIvU2Vy aWFsUG9ydExpYgo+ID4gPiAuaW5mCj4gPiA+IG5ldyBmaWxlIG1vZGUgMTAwNjQ0Cj4gPiA+IGlu ZGV4IDAwMDAwMDAwMDAuLjZjNDY3NDE1MWIKPiA+ID4gLS0tIC9kZXYvbnVsbAo+ID4gPiArKysK PiA+ID4gYi9QbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11UGtnL0xpYnJhcnkvU2VyaWFs UG9ydExpYi9TZXJpYWxQb3J0TGliCj4gPiA+IC5pbmYKPiA+ID4gQEAgLTAsMCArMSwzNiBAQAo+ ID4gPiArIyMgQGZpbGUKPiA+ID4gCj4gPiA+ICsjICBVQVJUIFNlcmlhbCBQb3J0IGxpYnJhcnkg ZnVuY3Rpb25zCj4gPiA+IAo+ID4gPiArIwo+ID4gPiAKPiA+ID4gKyMgIENvcHlyaWdodCAoYykg MjAyMSBMb29uZ3NvbiBUZWNobm9sb2d5IENvcnBvcmF0aW9uIExpbWl0ZWQuIEFsbCByaWdodHMK PiA+ID4gcmVzZXJ2ZWQuPEJSPgo+ID4gPiAKPiA+ID4gKyMKPiA+ID4gCj4gPiA+ICsjICBTUERY LUxpY2Vuc2UtSWRlbnRpZmllcjogQlNELTItQ2xhdXNlLVBhdGVudAo+ID4gPiAKPiA+ID4gKyMK PiA+ID4gCj4gPiA+ICsjIwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gK1tEZWZpbmVzXQo+ID4gPiAKPiA+ID4gKyAgSU5GX1ZFUlNJT04gICAgICAgICAgICAgICAg ICAgID0gMHgwMDAxMDAwNQo+ID4gPiAKPiA+ID4gKyAgQkFTRV9OQU1FICAgICAgICAgICAgICAg ICAgICAgID0gUGNBdFNlcmlhbFBvcnRMaWIKPiA+ID4gCj4gPiA+ICsgIEZJTEVfR1VJRCAgICAg ICAgICAgICAgICAgICAgICA9Cj4gPiA+IGY0ZmI4ODNkLTgxMzgtNGYyOS1iYjBjLWM1NzRlOTMx MmM3NAo+ID4gPiAKPiA+ID4gKyAgTU9EVUxFX1RZUEUgICAgICAgICAgICAgICAgICAgID0gQkFT RQo+ID4gPiAKPiA+ID4gKyAgVkVSU0lPTl9TVFJJTkcgICAgICAgICAgICAgICAgID0gMS4wCj4g PiA+IAo+ID4gPiArICBMSUJSQVJZX0NMQVNTICAgICAgICAgICAgICAgICAgPSBTZXJpYWxQb3J0 TGliCj4gPiA+IAo+ID4gPiArCj4gPiA+IAo+ID4gPiArW1BhY2thZ2VzXQo+ID4gPiAKPiA+ID4g KyAgTWRlUGtnL01kZVBrZy5kZWMKPiA+ID4gCj4gPiA+ICsgIE1kZU1vZHVsZVBrZy9NZGVNb2R1 bGVQa2cuZGVjCj4gPiA+IAo+ID4gPiArICBQbGF0Zm9ybS9Mb29uZ3Nvbi9Mb29uZ0FyY2hRZW11 UGtnL0xvb25nc29uLmRlYwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ID4gK1tMaWJyYXJ5Q2xh c3Nlc10KPiA+ID4gCj4gPiA+ICsgIEJhc2VMaWIKPiA+ID4gCj4gPiA+ICsgIElvTGliCj4gPiA+ IAo+ID4gPiArICBQY2RMaWIKPiA+ID4gCj4gPiA+ICsKPiA+ID4gCj4gPiA+ICtbU291cmNlc10K PiA+ID4gCj4gPiA+ICsgIFNlcmlhbFBvcnRMaWIuYwo+ID4gPiAKPiA+ID4gKwo+ID4gPiAKPiA+ ID4gK1tQY2RdCj4gPiA+IAo+ID4gPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5TcGFjZUd1aWQu UGNkU2VyaWFsVXNlSGFyZHdhcmVGbG93Q29udHJvbAo+ID4gPiAjIyBDT05TVU1FUwo+ID4gPiAK PiA+ID4gKyAgZ0VmaU1kZU1vZHVsZVBrZ1Rva2VuU3BhY2VHdWlkLlBjZFNlcmlhbEJhdWRSYXRl Cj4gPiA+ICMjIENPTlNVTUVTCj4gPiA+IAo+ID4gPiArICBnRWZpTWRlTW9kdWxlUGtnVG9rZW5T cGFjZUd1aWQuUGNkU2VyaWFsTGluZUNvbnRyb2wKPiA+ID4gIyMgQ09OU1VNRVMKPiA+ID4gCj4g PiA+ICsgIGdFZmlNZGVNb2R1bGVQa2dUb2tlblNwYWNlR3VpZC5QY2RTZXJpYWxDbG9ja1JhdGUK PiA+ID4gIyMgQ09OU1VNRVMKPiA+ID4gCj4gPiA+IC0tCj4gPiA+IDIuMzEuMQo+ID4gPiAKPiA+ ID4gCj4gPiA+IAo+ID4gPiAtPS09LT0tPS09LT0KPiA+ID4gR3JvdXBzLmlvIExpbmtzOiBZb3Ug cmVjZWl2ZSBhbGwgbWVzc2FnZXMgc2VudCB0byB0aGlzIGdyb3VwLgo+ID4gPiBWaWV3L1JlcGx5 IE9ubGluZSAoIzkzNTY4KTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL21lc3NhZ2Uv OTM1NjgKPiA+ID4gTXV0ZSBUaGlzIFRvcGljOiBodHRwczovL2dyb3Vwcy5pby9tdC85MzU2NTU5 MS80OTA1OTUzCj4gPiA+IEdyb3VwIE93bmVyOiBkZXZlbCtvd25lckBlZGsyLmdyb3Vwcy5pbwo+ ID4gPiBVbnN1YnNjcmliZTogaHR0cHM6Ly9lZGsyLmdyb3Vwcy5pby9nL2RldmVsL3Vuc3ViCj4g PiA+IFtnYW9saW1pbmdAYnlvc29mdC5jb20uY25dCj4gPiA+IC09LT0tPS09LT0tPQo+ID4gPiAK PiA+ID4gCj4gPiA+IAo+ID4gCj4gPiAKPiA+IAo+ID4gCj4gCj4gCj4g5pys6YKu5Lu25Y+K5YW2 6ZmE5Lu25ZCr5pyJ6b6Z6Iqv5Lit56eR55qE5ZWG5Lia56eY5a+G5L+h5oGv77yM5LuF6ZmQ5LqO 5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE44CC56aB5q2i 5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G5LiN6ZmQ5LqO 5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi25oiW5pWj5Y+R77yJ5pys6YKu5Lu25Y+K 5YW26ZmE5Lu25Lit55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25pys6YKu5Lu277yM6K+35oKo 56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys6YKu5Lu244CC IAo+IFRoaXMgZW1haWwgYW5kIGl0cyBhdHRhY2htZW50cyBjb250YWluIGNvbmZpZGVudGlhbCBp bmZvcm1hdGlvbiBmcm9tIExvb25nc29uIFRlY2hub2xvZ3kgLCB3aGljaCBpcyBpbnRlbmRlZCBv bmx5IGZvciB0aGUgcGVyc29uIG9yIGVudGl0eSB3aG9zZSBhZGRyZXNzIGlzIGxpc3RlZCBhYm92 ZS4gQW55IHVzZSBvZiB0aGUgaW5mb3JtYXRpb24gY29udGFpbmVkIGhlcmVpbiBpbiBhbnkgd2F5 IChpbmNsdWRpbmcsIGJ1dCBub3QgbGltaXRlZCB0bywgdG90YWwgb3IgcGFydGlhbCBkaXNjbG9z dXJlLCByZXByb2R1Y3Rpb24gb3IgZGlzc2VtaW5hdGlvbikgYnkgcGVyc29ucyBvdGhlciB0aGFu IHRoZSBpbnRlbmRlZCByZWNpcGllbnQocykgaXMgcHJvaGliaXRlZC4gSWYgeW91IHJlY2VpdmUg dGhpcyBlbWFpbCBpbiBlcnJvciwgcGxlYXNlIG5vdGlmeSB0aGUgc2VuZGVyIGJ5IHBob25lIG9y IGVtYWlsIGltbWVkaWF0ZWx5IGFuZCBkZWxldGUgaXQuIAo+IAo+IAo+IAo+IAoNCg0K5pys6YKu 5Lu25Y+K5YW26ZmE5Lu25ZCr5pyJ6b6Z6Iqv5Lit56eR55qE5ZWG5Lia56eY5a+G5L+h5oGv77yM 5LuF6ZmQ5LqO5Y+R6YCB57uZ5LiK6Z2i5Zyw5Z2A5Lit5YiX5Ye655qE5Liq5Lq65oiW576k57uE 44CC56aB5q2i5Lu75L2V5YW25LuW5Lq65Lul5Lu75L2V5b2i5byP5L2/55So77yI5YyF5ous5L2G 5LiN6ZmQ5LqO5YWo6YOo5oiW6YOo5YiG5Zyw5rOE6Zyy44CB5aSN5Yi25oiW5pWj5Y+R77yJ5pys 6YKu5Lu25Y+K5YW26ZmE5Lu25Lit55qE5L+h5oGv44CC5aaC5p6c5oKo6ZSZ5pS25pys6YKu5Lu2 77yM6K+35oKo56uL5Y2z55S16K+d5oiW6YKu5Lu26YCa55+l5Y+R5Lu25Lq65bm25Yig6Zmk5pys 6YKu5Lu244CCIA0KVGhpcyBlbWFpbCBhbmQgaXRzIGF0dGFjaG1lbnRzIGNvbnRhaW4gY29uZmlk ZW50aWFsIGluZm9ybWF0aW9uIGZyb20gTG9vbmdzb24gVGVjaG5vbG9neSAsIHdoaWNoIGlzIGlu dGVuZGVkIG9ubHkgZm9yIHRoZSBwZXJzb24gb3IgZW50aXR5IHdob3NlIGFkZHJlc3MgaXMgbGlz dGVkIGFib3ZlLiBBbnkgdXNlIG9mIHRoZSBpbmZvcm1hdGlvbiBjb250YWluZWQgaGVyZWluIGlu IGFueSB3YXkgKGluY2x1ZGluZywgYnV0IG5vdCBsaW1pdGVkIHRvLCB0b3RhbCBvciBwYXJ0aWFs IGRpc2Nsb3N1cmUsIHJlcHJvZHVjdGlvbiBvciBkaXNzZW1pbmF0aW9uKSBieSBwZXJzb25zIG90 aGVyIHRoYW4gdGhlIGludGVuZGVkIHJlY2lwaWVudChzKSBpcyBwcm9oaWJpdGVkLiBJZiB5b3Ug cmVjZWl2ZSB0aGlzIGVtYWlsIGluIGVycm9yLCBwbGVhc2Ugbm90aWZ5IHRoZSBzZW5kZXIgYnkg cGhvbmUgb3IgZW1haWwgaW1tZWRpYXRlbHkgYW5kIGRlbGV0ZSBpdC4g