From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from s250.sam-solutions.net ([217.21.49.219]) by merlin.infradead.org with esmtps (Exim 4.80.1 #2 (Red Hat Linux)) id 1UUwIP-0004m9-Es for barebox@lists.infradead.org; Wed, 24 Apr 2013 09:47:32 +0000 Message-ID: <5177AA17.5090804@sam-solutions.net> Date: Wed, 24 Apr 2013 12:47:03 +0300 From: Uladzimir Bely MIME-Version: 1.0 References: <51767713.8070507@sam-solutions.net> <1366794590.4158.81.camel@coredoba.hi.pengutronix.de> In-Reply-To: <1366794590.4158.81.camel@coredoba.hi.pengutronix.de> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "barebox" Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: Re: [PATCH] ARM OMAP5: Basic support of Texas Instruments OMAP5 processors To: =?UTF-8?B?SmFuIEzDvGJiZQ==?= Cc: "barebox@lists.infradead.org" MjQuMDQuMjAxMyAxMjowOSwgSmFuIEzDvGJiZSDQv9C40YjQtdGCOgo+IFlvdXIgbWFpbGVyIGJy ZWFrcyBsb25nIGxpbmVzLCBwbGVhc2UgdXNlIGdpdCBzZW5kLWVtYWlsLgo+Cj4gT24gVHVlLCAy MDEzLTA0LTIzIGF0IDE0OjU3ICswMzAwLCBVbGFkemltaXIgQmVseSB3cm90ZToKPj4gU2luY2Ug Y29tbWl0Ogo+PiAgICAgICA0M2Y5YTk2YSB1Ymlta3ZvbDogVHlwbyBmaXgKPj4KPj4gUGF0Y2gg YWRkcyBiYXNpYyBPTUFQNSBzdXBwb3J0IHRvIGJhcmVib3guCj4+Cj4+IFRlc3RlZCBvbiBTRCBj YXJkIHdpdGggMiBwYXJ0aXRpb25zOiB2ZmF0IChNTE8sIGJhcmVib3guYmluLCB6SW1hZ2UpCj4+ IGFuZCBleHQzIChyb290ZnMpLiBCYXJlYm94IHN1Y2Nlc3NmdWxseSBzdGFydHMga2VybmVsCj4+ IGZyb20gY29tbWFuZGxpbmUgd2l0aCAiYm9vdG0gL2Jvb3QvekltYWdlIiBjb21tYW5kLgo+Pgo+ PiBCdWlsZGluZyBNTE86IG1ha2Ugb21hcDVfc2V2bV94bG9hZF9kZWZjb25maWc7IG1ha2UuCj4+ IEJ1aWxkaW5nIGJhcmVib3guYmluOiBtYWtlIG9tYXA1X3Nldm1fZGVmY29uZmlnOyBtYWtlLgo+ Pgo+Pgo+Cj4gLS0KPiBQZW5ndXRyb25peCBlLksuICAgICAgICAgICAgICAgICAgICAgICAgICAg fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfAo+IEluZHVzdHJpYWwgTGludXggU29sdXRp b25zICAgICAgICAgICAgICAgICB8IGh0dHA6Ly93d3cucGVuZ3V0cm9uaXguZGUvICB8Cj4gUGVp bmVyIFN0ci4gNi04LCAzMTEzNyBIaWxkZXNoZWltLCBHZXJtYW55IHwgUGhvbmU6ICs0OS01MTIx LTIwNjkxNy0wICAgIHwKPiBBbXRzZ2VyaWNodCBIaWxkZXNoZWltLCBIUkEgMjY4NiAgICAgICAg ICAgfCBGYXg6ICAgKzQ5LTUxMjEtMjA2OTE3LTU1NTUgfAo+CgpTb3JyeSwgaXQgbXVzdCBiZSBj b3JyZWN0IG5vdzoKCiBGcm9tIDMwY2RhMWQ4OTU4MjYyYTliYTRlMTM5OGFlMWM5ZmEwNGI3Yjgw NGUgTW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCkZyb206IFVsYWR6aW1pciBCZWx5IDx1LmJlbHlA c2FtLXNvbHV0aW9ucy5uZXQ+CkRhdGU6IFR1ZSwgMjMgQXByIDIwMTMgMTQ6NTI6MTggKzAzMDAK U3ViamVjdDogW1BBVENIXSBBUk06IE9NQVA1IHByb2Nlc3NvcnMgc3VwcG9ydAoKClNpZ25lZC1v ZmYtYnk6IFVsYWR6aW1pciBCZWx5IDx1LmJlbHlAc2FtLXNvbHV0aW9ucy5jb20+Ci0tLQogIGFy Y2gvYXJtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxICsKICBh cmNoL2FybS9ib2FyZHMvb21hcDVfc2V2bS9NYWtlZmlsZSAgICAgICAgICAgICB8ICAgMiArCiAg YXJjaC9hcm0vYm9hcmRzL29tYXA1X3Nldm0vYm9hcmQuYyAgICAgICAgICAgICAgfCAgNzMgKysr KwogIGFyY2gvYXJtL2JvYXJkcy9vbWFwNV9zZXZtL2NvbmZpZy5oICAgICAgICAgICAgIHwgICAx ICsKICBhcmNoL2FybS9ib2FyZHMvb21hcDVfc2V2bS9lbnYvY29uZmlnICAgICAgICAgICB8ICAx MSArCiAgYXJjaC9hcm0vYm9hcmRzL29tYXA1X3Nldm0vbG93bGV2ZWwuYyAgICAgICAgICAgfCAx MzcgKysrKysrKwogIGFyY2gvYXJtL2JvYXJkcy9vbWFwNV9zZXZtL211eC5jICAgICAgICAgICAg ICAgIHwgMjg0ICsrKysrKysrKysrKysKICBhcmNoL2FybS9jb25maWdzL29tYXA1X3Nldm1fZGVm Y29uZmlnICAgICAgICAgICB8ICA2OCArKysrCiAgYXJjaC9hcm0vY29uZmlncy9vbWFwNV9zZXZt X3hsb2FkX2RlZmNvbmZpZyAgICAgfCAgNDQgKysKICBhcmNoL2FybS9tYWNoLW9tYXAvS2NvbmZp ZyAgICAgICAgICAgICAgICAgICAgICB8ICAxNiArCiAgYXJjaC9hcm0vbWFjaC1vbWFwL01ha2Vm aWxlICAgICAgICAgICAgICAgICAgICAgfCAgIDIgKwogIGFyY2gvYXJtL21hY2gtb21hcC9ncG1j LmMgICAgICAgICAgICAgICAgICAgICAgIHwgICAzICsKICBhcmNoL2FybS9tYWNoLW9tYXAvaW5j bHVkZS9tYWNoL2RlYnVnX2xsLmggICAgICB8ICAgNSArCiAgYXJjaC9hcm0vbWFjaC1vbWFwL2lu Y2x1ZGUvbWFjaC9nZW5lcmljLmggICAgICAgfCAgIDcgKwogIGFyY2gvYXJtL21hY2gtb21hcC9p bmNsdWRlL21hY2gvZ3BtY19uYW5kLmggICAgIHwgICAxICsKICBhcmNoL2FybS9tYWNoLW9tYXAv aW5jbHVkZS9tYWNoL29tYXA1LWNsb2NrLmggICB8IDQ0NCAKKysrKysrKysrKysrKysrKysrKysr CiAgYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9vbWFwNS1tdXguaCAgICAgfCAzMjEg KysrKysrKysrKysrKysrCiAgYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9vbWFwNS1z aWxpY29uLmggfCAyNDQgKysrKysrKysrKysrCiAgYXJjaC9hcm0vbWFjaC1vbWFwL29tYXA1X2Ns b2NrLmMgICAgICAgICAgICAgICAgfCAzODUgKysrKysrKysrKysrKysrKysrCiAgYXJjaC9hcm0v bWFjaC1vbWFwL29tYXA1X2dlbmVyaWMuYyAgICAgICAgICAgICAgfCA1MTAgCisrKysrKysrKysr KysrKysrKysrKysrKwogIGFyY2gvYXJtL21hY2gtb21hcC9vbWFwX2dlbmVyaWMuYyAgICAgICAg ICAgICAgIHwgICAyICsKICBhcmNoL2FybS9tYWNoLW9tYXAvczMya19jbGtzb3VyY2UuYyAgICAg ICAgICAgICB8ICAgNyArCiAgZHJpdmVycy9tY2kvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgfCAgIDIgKy0KICAyMyBmaWxlcyBjaGFuZ2VkLCAyNTY5IGluc2VydGlvbnMoKyks IDEgZGVsZXRpb24oLSkKICBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9hcmRzL29tYXA1 X3Nldm0vTWFrZWZpbGUKICBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9hcmRzL29tYXA1 X3Nldm0vYm9hcmQuYwogIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib2FyZHMvb21hcDVf c2V2bS9jb25maWcuaAogIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9ib2FyZHMvb21hcDVf c2V2bS9lbnYvY29uZmlnCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2JvYXJkcy9vbWFw NV9zZXZtL2xvd2xldmVsLmMKICBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9hcmRzL29t YXA1X3Nldm0vbXV4LmMKICBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vY29uZmlncy9vbWFw NV9zZXZtX2RlZmNvbmZpZwogIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9jb25maWdzL29t YXA1X3Nldm1feGxvYWRfZGVmY29uZmlnCiAgY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL21h Y2gtb21hcC9pbmNsdWRlL21hY2gvb21hcDUtY2xvY2suaAogIGNyZWF0ZSBtb2RlIDEwMDY0NCBh cmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL29tYXA1LW11eC5oCiAgY3JlYXRlIG1vZGUg MTAwNjQ0IGFyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvb21hcDUtc2lsaWNvbi5oCiAg Y3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL21hY2gtb21hcC9vbWFwNV9jbG9jay5jCiAgY3Jl YXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL21hY2gtb21hcC9vbWFwNV9nZW5lcmljLmMKCmRpZmYg LS1naXQgYS9hcmNoL2FybS9NYWtlZmlsZSBiL2FyY2gvYXJtL01ha2VmaWxlCmluZGV4IGQ1MDZi MTIuLmZiNDU5YjUgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL01ha2VmaWxlCisrKyBiL2FyY2gvYXJt L01ha2VmaWxlCkBAIC0xNjIsNiArMTYyLDcgQEAgYm9hcmQtJChDT05GSUdfTUFDSF9TQUJSRUxJ VEUpCQkJOj0gCmZyZWVzY2FsZS1teDYtc2FicmVsaXRlCiAgYm9hcmQtJChDT05GSUdfTUFDSF9U WDUzKQkJCTo9IGthcm8tdHg1MwogIGJvYXJkLSQoQ09ORklHX01BQ0hfR1VGX1ZJTkNFTEwpCQk6 PSBndWYtdmluY2VsbAogIGJvYXJkLSQoQ09ORklHX01BQ0hfRUZJS0FfTVhfU01BUlRCT09LKQkJ Oj0gZWZpa2EtbXgtc21hcnRib29rCitib2FyZC0kKENPTkZJR19NQUNIX09NQVA1X1NFVk0pCQkJ Oj0gb21hcDVfc2V2bQogIGJvYXJkLSQoQ09ORklHX01BQ0hfU0FCUkVTRCkJCQk6PSBmcmVlc2Nh bGUtbXg2LXNhYnJlc2QKICBib2FyZC0kKENPTkZJR19NQUNIX1JFQUxRNykJCQk6PSBkbW8tbXg2 LXJlYWxxNwogIGJvYXJkLSQoQ09ORklHX01BQ0hfWkVEQk9BUkQpCQkJOj0gYXZuZXQtemVkYm9h cmQKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2JvYXJkcy9vbWFwNV9zZXZtL01ha2VmaWxlIApiL2Fy Y2gvYXJtL2JvYXJkcy9vbWFwNV9zZXZtL01ha2VmaWxlCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IDAwMDAwMDAuLmRmMzc2NGMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib2FyZHMv b21hcDVfc2V2bS9NYWtlZmlsZQpAQCAtMCwwICsxLDIgQEAKK29iai15ICs9IGJvYXJkLm8gbXV4 Lm8gbG93bGV2ZWwubworcGJsLXkgKz0gbG93bGV2ZWwubyBtdXgubwpkaWZmIC0tZ2l0IGEvYXJj aC9hcm0vYm9hcmRzL29tYXA1X3Nldm0vYm9hcmQuYyAKYi9hcmNoL2FybS9ib2FyZHMvb21hcDVf c2V2bS9ib2FyZC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmM3YjNjMmQK LS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib2FyZHMvb21hcDVfc2V2bS9ib2FyZC5jCkBA IC0wLDAgKzEsNzMgQEAKKy8qCisgKiBvbWFwNV9zZXZtIC0gT01BUDUtYmFzZWQgYm9hcmQgaW5p dGFsaXphdGlvbiBjb2RlCisgKgorICogKEMpIENvcHlyaWdodCAyMDEzCisgKiBTYW0gU29sdXRp b25zLCA8c2FtLXNvbHV0aW9ucy5jb20+CisgKgorICogQXV0aG9yczoKKyAqCVVsYWR6aW1pciBC ZWx5IDx1LmJlbHlAc2FtLXNvbHV0aW9ucy5jb20+CisgKglEbWl0cnkgTGF2bmlrZXZpY2ggPGQu bGF2bmlrZXZpY2hAc2FtLXNvbHV0aW9ucy5jb20+CisgKi8KKworI2luY2x1ZGUgPGNvbW1vbi5o PgorI2luY2x1ZGUgPGNvbnNvbGUuaD4KKyNpbmNsdWRlIDxpbml0Lmg+CisjaW5jbHVkZSA8ZnMu aD4KKyNpbmNsdWRlIDxkcml2ZXIuaD4KKyNpbmNsdWRlIDxpby5oPgorI2luY2x1ZGUgPG5zMTY1 NTAuaD4KKyNpbmNsdWRlIDxhc20vYXJtbGludXguaD4KKyNpbmNsdWRlIDxsaW51eC9zdGF0Lmg+ CisjaW5jbHVkZSA8Z2VuZXJhdGVkL21hY2gtdHlwZXMuaD4KKyNpbmNsdWRlIDxtYWNoL29tYXA1 LXNpbGljb24uaD4KKyNpbmNsdWRlIDxtYWNoL3NkcmMuaD4KKyNpbmNsdWRlIDxtYWNoL3N5c19p bmZvLmg+CisjaW5jbHVkZSA8bWFjaC9zeXNsaWIuaD4KKyNpbmNsdWRlIDxtYWNoL2NvbnRyb2wu aD4KKworI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPHNpemVzLmg+CisjaW5jbHVk ZSA8cGFydGl0aW9uLmg+CisjaW5jbHVkZSA8bmFuZC5oPgorI2luY2x1ZGUgPGFzbS9tbXUuaD4K KyNpbmNsdWRlIDxtYWNoL2dwaW8uaD4KKyNpbmNsdWRlIDxtYWNoL2dwbWMuaD4KKyNpbmNsdWRl IDxtYWNoL2dwbWNfbmFuZC5oPgorI2luY2x1ZGUgPGVudmZzLmg+CisjaW5jbHVkZSA8aTJjL2ky Yy5oPgorCitzdGF0aWMgc3RydWN0IE5TMTY1NTBfcGxhdCBzZXJpYWxfcGxhdCA9IHsKKwkuY2xv Y2sgPSA0ODAwMDAwMCwJLyogNDhNSHogKEFQTEw5Ni8yKSAqLworCS5zaGlmdCA9IDIsCit9Owor CitzdGF0aWMgaW50IG9tYXA1X3Nldm1fY29uc29sZV9pbml0KHZvaWQpCit7CisJLyogUmVnaXN0 ZXIgdGhlIHNlcmlhbCBwb3J0ICovCisJYWRkX25zMTY1NTBfZGV2aWNlKERFVklDRV9JRF9EWU5B TUlDLCBPTUFQNTRYWF9VQVJUM19CQVNFLCAxMDI0LAorCQlJT1JFU09VUkNFX01FTV84QklULCAm c2VyaWFsX3BsYXQpOworCisJcmV0dXJuIDA7Cit9Citjb25zb2xlX2luaXRjYWxsKG9tYXA1X3Nl dm1fY29uc29sZV9pbml0KTsKKworc3RhdGljIGludCBvbWFwNV9zZXZtX21lbV9pbml0KHZvaWQp Cit7CisJYXJtX2FkZF9tZW1fZGV2aWNlKCJyYW0wIiwgMHg4MDAwMDAwMCwgU1pfNTEyTSk7CisJ YWRkX21lbV9kZXZpY2UoInNyYW0wIiwgMHg0MDMwMDAwMCwgNDgqU1pfMUssIElPUkVTT1VSQ0Vf TUVNX1dSSVRFQUJMRSk7CisKKwlyZXR1cm4gMDsKK30KK21lbV9pbml0Y2FsbChvbWFwNV9zZXZt X21lbV9pbml0KTsKKworc3RhdGljIGludCBvbWFwNV9zZXZtX2RldmljZXNfaW5pdCh2b2lkKQor eworCWFkZF9nZW5lcmljX2RldmljZSgib21hcC1oc21tYyIsIERFVklDRV9JRF9EWU5BTUlDLCBO VUxMLCAweDQ4MDlDMTAwLCAKU1pfNEssCisJCUlPUkVTT1VSQ0VfTUVNLCBOVUxMKTsKKworCWFy bWxpbnV4X3NldF9ib290cGFyYW1zKCh2b2lkICopMHg4MDAwMDEwMCk7CisJYXJtbGludXhfc2V0 X2FyY2hpdGVjdHVyZShNQUNIX1RZUEVfT01BUDVfU0VWTSk7CisKKwlyZXR1cm4gMDsKK30KK2Rl dmljZV9pbml0Y2FsbChvbWFwNV9zZXZtX2RldmljZXNfaW5pdCk7CmRpZmYgLS1naXQgYS9hcmNo L2FybS9ib2FyZHMvb21hcDVfc2V2bS9jb25maWcuaCAKYi9hcmNoL2FybS9ib2FyZHMvb21hcDVf c2V2bS9jb25maWcuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kYTg0ZmE1 Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vYm9hcmRzL29tYXA1X3Nldm0vY29uZmlnLmgK QEAgLTAsMCArMSBAQAorLyogbm90aGluZyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRz L29tYXA1X3Nldm0vZW52L2NvbmZpZyAKYi9hcmNoL2FybS9ib2FyZHMvb21hcDVfc2V2bS9lbnYv Y29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjk3NTI5NTcKLS0tIC9k ZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib2FyZHMvb21hcDVfc2V2bS9lbnYvY29uZmlnCkBAIC0w LDAgKzEsMTEgQEAKKyMhL2Jpbi9zaAorCittYWNoaW5lPW9tYXA1CisKK2F1dG9ib290X3RpbWVv dXQ9MgorCitib290YXJncz0iY29uc29sZT10dHlPMiwxMTUyMDAiCisKK2tlcm5lbF9sb2M9ZGlz aworCitQUzE9IlxlWzE7MzJtYmFyZWJveEBcZVsxOzMxbVxoOlx3XGVbMG0gIgpkaWZmIC0tZ2l0 IGEvYXJjaC9hcm0vYm9hcmRzL29tYXA1X3Nldm0vbG93bGV2ZWwuYyAKYi9hcmNoL2FybS9ib2Fy ZHMvb21hcDVfc2V2bS9sb3dsZXZlbC5jCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLmI0NDc5YjIKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9ib2FyZHMvb21hcDVfc2V2 bS9sb3dsZXZlbC5jCkBAIC0wLDAgKzEsMTM3IEBACisvKgorICogb21hcDVfc2V2bSAtIE9NQVA1 LWJhc2VkIGJvYXJkIGxvdy1sZXZlbCBpbml0YWxpemF0aW9uIGNvZGUKKyAqCisgKiAoQykgQ29w eXJpZ2h0IDIwMTMKKyAqIFNhbSBTb2x1dGlvbnMsIDxzYW0tc29sdXRpb25zLmNvbT4KKyAqCisg KiBBdXRob3JzOgorICoJVWxhZHppbWlyIEJlbHkgPHUuYmVseUBzYW0tc29sdXRpb25zLmNvbT4K KyAqCURtaXRyeSBMYXZuaWtldmljaCA8ZC5sYXZuaWtldmljaEBzYW0tc29sdXRpb25zLmNvbT4K KyAqCisgKiBEZXJpdmVkIGZyb20gT01BUDUgd29yayBpbiBVLUJvb3QgcHJvamVjdAorICovCisK KyNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxpby5oPgorI2luY2x1ZGUgPG1hY2gvb21h cDUtbXV4Lmg+CisjaW5jbHVkZSA8bWFjaC9vbWFwNS1zaWxpY29uLmg+CisjaW5jbHVkZSA8bWFj aC9vbWFwNS1jbG9jay5oPgorI2luY2x1ZGUgPG1hY2gvc3lzbGliLmg+CisjaW5jbHVkZSA8YXNt L2JhcmVib3gtYXJtLmg+CisjaW5jbHVkZSA8YXNtL2JhcmVib3gtYXJtLWhlYWQuaD4KKwordm9p ZCBzZXRfbXV4Y29uZl9yZWdzKHZvaWQpOworCitzdGF0aWMgY29uc3Qgc3RydWN0IG9tYXA1X2Rk cl9yZWdzIGRkcl9yZWdzX2VscGlkYV81MzJfbWh6XzJjcyA9IHsKKwkuc2RyYW1fY29uZmlnX2lu aXQJCT0gMHg4MDgwMEVCQSwJLyogMDAgKi8KKwkuc2RyYW1fY29uZmlnCQkJPSAweDgwODAyMkJB LAkvKiAwNCAqLworCS5yZWZfY3RybAkJCT0gMHgwMDAwMDgxQSwJLyogMDggKi8KKwkuc2RyYW1f dGltMQkJCT0gMHg3NzJGNjg3MywJLyogMGMgKi8KKwkuc2RyYW1fdGltMgkJCT0gMHgzMDRhMTI5 YSwJLyogMDEgKi8KKwkuc2RyYW1fdGltMwkJCT0gMHgwMmY3ZTQ1ZiwJLyogMTQgKi8KKwkucmVh ZF9pZGxlX2N0cmwJCQk9IDB4MDAwNTAwMDAsCS8qIDE4ICovCisJLnpxX2NvbmZpZwkJCT0gMHgw MDBiMzIxNSwJLyogMWMgKi8KKwkudGVtcF9hbGVydF9jb25maWcJCT0gMHgwODAwMGEwNSwJLyog MjAgKi8KKwkuZW1pZl9kZHJfcGh5X2N0bHJfMV9pbml0CT0gMHgwRTI4NDIwZCwJLyogMjQgKi8K KwkuZW1pZl9kZHJfcGh5X2N0bHJfMQkJPSAweDBFMjg0MjBkLAkvKiAyOCAqLworCS5lbWlmX2Rk cl9leHRfcGh5X2N0cmxfMV9pbml0CT0gMHgwNDAyMDA4MCwJLyogMmMgKi8KKwkuZW1pZl9kZHJf ZXh0X3BoeV9jdHJsXzEJPSAweDA0MDIwMDgwLAkvKiAzMCAqLworCS5lbWlmX2Rkcl9leHRfcGh5 X2N0cmxfMl9pbml0CT0gMHgyOEM1MThBMywJLyogMzQgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9j dHJsXzIJPSAweDI4QzUxOEEzLAkvKiAzOCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfM19p bml0CT0gMHg1MThBMzE0NiwJLyogM2MgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzMJPSAw eDUxOEEzMTQ2LAkvKiA0MCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfNF9pbml0CT0gMHgw MDE0NjI4QywJLyogNDQgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzQJPSAweDAwMTQ2MjhD LAkvKiA0OCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfNV9pbml0CT0gMHgwNDAxMDA0MCwJ LyogNGMgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzUJPSAweDA0MDEwMDQwLAkvKiA1MCAq LworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfNl9pbml0CT0gMHgwMTAwNDAxMCwJLyogNTQgKi8K KwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzYJPSAweDAxMDA0MDEwLAkvKiA1OCAqLworCS5lbWlm X2Rkcl9leHRfcGh5X2N0cmxfN19pbml0CT0gMHgwMDAwMTAwNCwJLyogNWMgKi8KKwkuZW1pZl9k ZHJfZXh0X3BoeV9jdHJsXzcJPSAweDAwMDAxMDA0LAkvKiA2MCAqLworCS5lbWlmX2Rkcl9leHRf cGh5X2N0cmxfOF9pbml0CT0gMHgwNDAxMDA0MCwJLyogNjQgKi8KKwkuZW1pZl9kZHJfZXh0X3Bo eV9jdHJsXzgJPSAweDA0MDEwMDQwLAkvKiA2OCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxf OV9pbml0CT0gMHgwMTAwNDAxMCwJLyogNmMgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzkJ PSAweDAxMDA0MDEwLAkvKiA3MCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTBfaW5pdAk9 IDB4MDAwMDEwMDQsCS8qIDc0ICovCisJLmVtaWZfZGRyX2V4dF9waHlfY3RybF8xMAk9IDB4MDAw MDEwMDQsCS8qIDc4ICovCisJLmVtaWZfZGRyX2V4dF9waHlfY3RybF8xMV9pbml0CT0gMHgwMDAw MDAwMCwJLyogN2MgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzExCT0gMHgwMDAwMDAwMCwJ LyogODAgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzEyX2luaXQJPSAweDAwMDAwMDAwLAkv KiA4NCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTIJPSAweDAwMDAwMDAwLAkvKiA4OCAq LworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTNfaW5pdAk9IDB4MDAwMDAwMDAsCS8qIDhjICov CisJLmVtaWZfZGRyX2V4dF9waHlfY3RybF8xMwk9IDB4MDAwMDAwMDAsCS8qIDkwICovCisJLmVt aWZfZGRyX2V4dF9waHlfY3RybF8xNF9pbml0CT0gMHg4MDA4MDA4MCwJLyogOTQgKi8KKwkuZW1p Zl9kZHJfZXh0X3BoeV9jdHJsXzE0CT0gMHg4MDA4MDA4MCwJLyogOTggKi8KKwkuZW1pZl9kZHJf ZXh0X3BoeV9jdHJsXzE1X2luaXQJPSAweDAwODAwODAwLAkvKiA5YyAqLworCS5lbWlmX2Rkcl9l eHRfcGh5X2N0cmxfMTUJPSAweDAwODAwODAwLAkvKiBhMCAqLworCS5lbWlmX2Rkcl9leHRfcGh5 X2N0cmxfMTZfaW5pdAk9IDB4MDgxMDIwNDAsCS8qIGE0ICovCisJLmVtaWZfZGRyX2V4dF9waHlf Y3RybF8xNgk9IDB4MDgxMDIwNDAsCS8qIGE4ICovCisJLmVtaWZfZGRyX2V4dF9waHlfY3RybF8x N19pbml0CT0gMHgwMDAwMDAwMSwJLyogYWMgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzE3 CT0gMHgwMDAwMDAwMSwJLyogYjAgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzE4X2luaXQJ PSAweDU0MEE4MTUwLAkvKiBiNCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTgJPSAweDU0 MEE4MTUwLAkvKiBiOCAqLworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTlfaW5pdAk9IDB4QTgx NTAyQTAsCS8qIGJjICovCisJLmVtaWZfZGRyX2V4dF9waHlfY3RybF8xOQk9IDB4QTgxNTAyYTAs CS8qIGMwICovCisJLmVtaWZfZGRyX2V4dF9waHlfY3RybF8yMF9pbml0CT0gMHgwMDJBMDU0MCwJ LyogYzQgKi8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzIwCT0gMHgwMDJBMDU0MCwJLyogYzgg Ki8KKwkuZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzIxX2luaXQJPSAweDAwMDAwMDAwLAkvKiBjYyAq LworCS5lbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjEJPSAweDAwMDAwMDAwLAkvKiBkMCAqLworCS5l bWlmX2Rkcl9leHRfcGh5X2N0cmxfMjJfaW5pdAk9IDB4MDAwMDAwMDAsCS8qIGQ0ICovCisJLmVt aWZfZGRyX2V4dF9waHlfY3RybF8yMgk9IDB4MDAwMDAwMDAsCS8qIGQ4ICovCisJLmVtaWZfZGRy X2V4dF9waHlfY3RybF8yM19pbml0CT0gMHgwMDAwMDAwMCwJLyogZGMgKi8KKwkuZW1pZl9kZHJf ZXh0X3BoeV9jdHJsXzIzCT0gMHgwMDAwMDAwMCwJLyogZTAgKi8KKwkuZW1pZl9kZHJfZXh0X3Bo eV9jdHJsXzI0X2luaXQJPSAweDAwMDAwMDc3LAkvKiBlNCAqLworCS5lbWlmX2Rkcl9leHRfcGh5 X2N0cmxfMjQJPSAweDAwMDAwMDc3LAkvKiBlOCAqLworCS5lbWlmX3JkX3dyX2x2bF9ybXBfd2lu CQk9IDB4MCwJCS8qIGVjICovCisJLmVtaWZfcmRfd3JfbHZsX3JtcF9jdGwJCT0gMHgwLAkJLyog ZjAgKi8KKwkuZW1pZl9yZF93cl9sdmxfY3RsCQk9IDB4MjAwMDAwMDAsCS8qIGY0ICovCisJLmVt aWZfcmRfd3JfZXhlY190aHJlc2gJCT0gMHgwMDAwMDMwNQkvKiBmOCAqLworfTsKKworc3RhdGlj IHZvaWQgbm9pbmxpbmUgb21hcDVfc2V2bV9pbml0X2xvd2xldmVsKHZvaWQpCit7CisJc3RydWN0 IGRwbGxfcGFyYW0gY29yZSA9IE9NQVA1X0NPUkVfRFBMTF9QQVJBTV8xOU0yX05PTTsKKwlzdHJ1 Y3QgZHBsbF9wYXJhbSBtcHUgPSBPTUFQNV9NUFVfRFBMTF9QQVJBTV8xOU0yX05PTTsKKwlzdHJ1 Y3QgZHBsbF9wYXJhbSBpdmEgPSBPTUFQNV9JVkFfRFBMTF9QQVJBTV8xOU0yX05PTTsKKwlzdHJ1 Y3QgZHBsbF9wYXJhbSBwZXIgPSBPTUFQNV9QRVJfRFBMTF9QQVJBTV8xOU0yX05PTTsKKwlzdHJ1 Y3QgZHBsbF9wYXJhbSBhYmUgPSBPTUFQNV9BQkVfRFBMTF9QQVJBTTsKKwlzdHJ1Y3QgZHBsbF9w YXJhbSB1c2IgPSBPTUFQNV9VU0JfRFBMTF9QQVJBTV8xOU0yOworCisJc2V0X211eGNvbmZfcmVn cygpOworCisJb21hcDVfZGRyX2luaXQoJmRkcl9yZWdzX2VscGlkYV81MzJfbWh6XzJjcywgJmNv cmUpOworCisJb21hcDVfc2NhbGVfdmNvcmVzKCk7CisKKwl3cml0ZWwoQ01fQ0xLU0VMX1NZU18x OU0yLCBDTV9DTEtTRUxfU1lTKTsKKworCS8qIENvbmZpZ3VyZSBhbGwgRFBMTCdzIGF0IDEwMCUg T1BQICovCisJb21hcDVfY29uZmlndXJlX21wdV9kcGxsKCZtcHUpOworCW9tYXA1X2NvbmZpZ3Vy ZV9pdmFfZHBsbCgmaXZhKTsKKwlvbWFwNV9jb25maWd1cmVfcGVyX2RwbGwoJnBlcik7CisJb21h cDVfY29uZmlndXJlX2FiZV9kcGxsKCZhYmUpOworCW9tYXA1X2NvbmZpZ3VyZV91c2JfZHBsbCgm dXNiKTsKKworCS8qIEVuYWJsZSBhbGwgY2xvY2tzICovCisJb21hcDVfZW5hYmxlX2FsbF9jbG9j a3MoKTsKKworCXNyMzIoMHg0QWUwYTMxQywgOCwgMSwgMHgxKTsJLyogZW5hYmxlIHNvZnR3YXJl IGlvcmVxICovCisJc3IzMigweDRBZTBhMzFDLCAxLCAyLCAweDApOwkvKiBzZXQgZm9yIHN5c19j bGsgKDE5LjJNSHopICovCisJc3IzMigweDRBZTBhMzFDLCAxNiwgNCwgMHgwKTsJLyogc2V0IGRp dmlzb3IgdG8gMSAqLworCXNyMzIoMHg0QWUwYTExMCwgMCwgMSwgMHgxKTsJLyogc2V0IHRoZSBj bG9jayBzb3VyY2UgdG8gYWN0aXZlICovCisJc3IzMigweDRBZTBhMTEwLCAyLCAyLCAweDMpOwkv KiBlbmFibGUgY2xvY2tzICovCit9CisKK3ZvaWQgYmFyZWJveF9hcm1fcmVzZXRfdmVjdG9yKHZv aWQpCit7CisJYXJtX2NwdV9sb3dsZXZlbF9pbml0KCk7CisKKwlpZiAoZ2V0X3BjKCkgPiAweDgw MDAwMDAwKQorCQlnb3RvIG91dDsKKworCWFybV9zZXR1cF9zdGFjaygweDQwMzBkMDAwKTsKKwor CW9tYXA1X3Nldm1faW5pdF9sb3dsZXZlbCgpOworb3V0OgorCWJhcmVib3hfYXJtX2VudHJ5KDB4 ODAwMDAwMDAsIFNaXzUxMk0sIDApOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL29t YXA1X3Nldm0vbXV4LmMgCmIvYXJjaC9hcm0vYm9hcmRzL29tYXA1X3Nldm0vbXV4LmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNGY2YjVjZAotLS0gL2Rldi9udWxsCisrKyBi L2FyY2gvYXJtL2JvYXJkcy9vbWFwNV9zZXZtL211eC5jCkBAIC0wLDAgKzEsMjg0IEBACisvKgor ICogKEMpIENvcHlyaWdodCAyMDEzCisgKiBTYW0gU29sdXRpb25zLCA8c2FtLXNvbHV0aW9ucy5j b20+CisgKgorICogQXV0aG9yczoKKyAqCVVsYWR6aW1pciBCZWx5IDx1LmJlbHlAc2FtLXNvbHV0 aW9ucy5jb20+CisgKglEbWl0cnkgTGF2bmlrZXZpY2ggPGQubGF2bmlrZXZpY2hAc2FtLXNvbHV0 aW9ucy5jb20+CisgKgorICogRGVyaXZlZCBmcm9tIE9NQVA1IHdvcmsgaW4gVS1Cb290IHByb2pl Y3QgYnkKKyAqIEFuZWVzaCBWIDxhbmVlc2hAdGkuY29tPgorICogU3JpY2hhcmFuIFIgPHIuc3Jp Y2hhcmFuQHRpLmNvbT4KKyAqIChDb3B5cmlnaHQgMjAxMCwgVGV4YXMgSW5zdHJ1bWVudHMsIDx3 d3cudGkuY29tPikKKyAqLworCisjaW5jbHVkZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8aW5pdC5o PgorI2luY2x1ZGUgPGlvLmg+CisjaW5jbHVkZSA8bWFjaC9vbWFwNS1zaWxpY29uLmg+CisjaW5j bHVkZSA8bWFjaC9vbWFwNS1tdXguaD4KKyNpbmNsdWRlIDxtYWNoL29tYXA1LWNsb2NrLmg+CisK K3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGFkX2NvbmZfZW50cnkgY29yZV9wYWRjb25mX2FycmF5W10g PSB7CisJe0VNTUNfQ0xLLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7RU1NQ19DTUQsIChQVFUgfCBJ RU4gfCBNMCl9LAorCXtFTU1DX0RBVEEwLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7RU1NQ19EQVRB MSwgKFBUVSB8IElFTiB8IE0wKX0sCisJe0VNTUNfREFUQTIsIChQVFUgfCBJRU4gfCBNMCl9LAor CXtFTU1DX0RBVEEzLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7RU1NQ19EQVRBNCwgKFBUVSB8IElF TiB8IE0wKX0sCisJe0VNTUNfREFUQTUsIChQVFUgfCBJRU4gfCBNMCl9LAorCXtFTU1DX0RBVEE2 LCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7RU1NQ19EQVRBNywgKFBUVSB8IElFTiB8IE0wKX0sCisJ e0MyQ19DTEtPVVQwLCAoTTApfSwKKwl7QzJDX0NMS09VVDEsIChNMCl9LAorCXtDMkNfQ0xLSU4w LCAgKElFTiB8IE0wKX0sCisJe0MyQ19DTEtJTjEsICAoSUVOIHwgTTApfSwKKwl7QzJDX0RBVEFJ TjAsIChJRU4gfCBNMCl9LAorCXtDMkNfREFUQUlOMSwgKElFTiB8IE0wKX0sCisJe0MyQ19EQVRB SU4yLCAoSUVOIHwgTTApfSwKKwl7QzJDX0RBVEFJTjMsIChJRU4gfCBNMCl9LAorCXtDMkNfREFU QUlONCwgKElFTiB8IE0wKX0sCisJe0MyQ19EQVRBSU41LCAoSUVOIHwgTTApfSwKKwl7QzJDX0RB VEFJTjYsIChJRU4gfCBNMCl9LAorCXtDMkNfREFUQUlONywgKElFTiB8IE0wKX0sCisJe0MyQ19E QVRBT1VUMCwgKE0wKX0sCisJe0MyQ19EQVRBT1VUMSwgKE0wKX0sCisJe0MyQ19EQVRBT1VUMiwg KE0wKX0sCisJe0MyQ19EQVRBT1VUMywgKE0wKX0sCisJe0MyQ19EQVRBT1VUNCwgKE0wKX0sCisJ e0MyQ19EQVRBT1VUNSwgKE0wKX0sCisJe0MyQ19EQVRBT1VUNiwgKE0wKX0sCisJe0MyQ19EQVRB T1VUNywgKE0wKX0sCisJe0MyQ19EQVRBOCwgKElFTiB8IE0wKX0sCisJe0MyQ19EQVRBOSwgKElF TiB8IE0wKX0sCisJe0MyQ19EQVRBMTAsIChJRU4gfCBNMCl9LAorCXtDMkNfREFUQTExLCAoSUVO IHwgTTApfSwKKwl7QzJDX0RBVEExMiwgKElFTiB8IE0wKX0sCisJe0MyQ19EQVRBMTMsIChJRU4g fCBNMCl9LAorCXtDMkNfREFUQTE0LCAoSUVOIHwgTTApfSwKKwl7QzJDX0RBVEExNSwgKElFTiB8 IE0wKX0sCisJe0xMSUJfV0FLRVJFUU9VVCwgKFBUVSB8IElFTiB8IE02KX0sCisJe0xMSUFfV0FL RVJFUU9VVCwgKE0xKX0sCisJe0hTSTFfQUNSRUFEWSwgKFBURCB8IE02KX0sCisJe0hTSTFfQ0FS RUFEWSwgKFBURCB8IE02KX0sCisJe0hTSTFfQUNXQUtFLCAgKFBURCB8IElFTiB8IE02KX0sCisJ e0hTSTFfQ0FXQUtFLCAgKFBUVSB8IElFTiB8IE02KX0sCisJe0hTSTFfQUNGTEFHLCAgKFBURCB8 IElFTiB8IE02KX0sCisJe0hTSTFfQUNEQVRBLCAgKFBURCB8IE02KX0sCisJe0hTSTFfQ0FGTEFH LCAgKE02KX0sCisJe0hTSTFfQ0FEQVRBLCAgKE02KX0sCisJe1VBUlQxX1RYLCAoTTApfSwKKwl7 VUFSVDFfQ1RTLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7VUFSVDFfUlgsIChQVFUgfCBJRU4gfCBN MCl9LAorCXtVQVJUMV9SVFMsIChNMCl9LAorCXtIU0kyX0NBUkVBRFksIChJRU4gfCBNMCl9LAor CXtIU0kyX0FDUkVBRFksIChNMCl9LAorCXtIU0kyX0NBV0FLRSwgKElFTiB8IE0wKX0sCisJe0hT STJfQUNXQUtFLCAoTTApfSwKKwl7SFNJMl9DQUZMQUcsIChJRU4gfCBNMCl9LAorCXtIU0kyX0NB REFUQSwgKElFTiB8IE0wKX0sCisJe0hTSTJfQUNGTEFHLCAoTTApfSwKKwl7SFNJMl9BQ0RBVEEs IChNMCl9LAorCXtVQVJUMl9SVFMsIChJRU4gfCBNMSl9LAorCXtVQVJUMl9DVFMsIChJRU4gfCBN MSl9LAorCXtVQVJUMl9SWCwgKElFTiB8IE0xKX0sCisJe1VBUlQyX1RYLCAoSUVOIHwgTTEpfSwK Kwl7VVNCQjFfSFNJQ19TVFJPQkUsIChQVFUgfCBJRU4gfCBNMCl9LAorCXtVU0JCMV9IU0lDX0RB VEEsIChQVFUgfCBJRU4gfCBNMCl9LAorCXtVU0JCMl9IU0lDX1NUUk9CRSwgKFBUVSB8IElFTiB8 IE0wKX0sCisJe1VTQkIyX0hTSUNfREFUQSwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1RJTUVSMTBf UFdNX0VWVCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRBX1RFMCwgKElFTiB8IE0wKX0sCisJe0RT SVBPUlRBX0xBTkUwWCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRBX0xBTkUwWSwgKElFTiB8IE0w KX0sCisJe0RTSVBPUlRBX0xBTkUxWCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRBX0xBTkUxWSwg KElFTiB8IE0wKX0sCisJe0RTSVBPUlRBX0xBTkUyWCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRB X0xBTkUyWSwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRBX0xBTkUzWCwgKElFTiB8IE0wKX0sCisJ e0RTSVBPUlRBX0xBTkUzWSwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRBX0xBTkU0WCwgKElFTiB8 IE0wKX0sCisJe0RTSVBPUlRBX0xBTkU0WSwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRDX0xBTkUw WCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRDX0xBTkUwWSwgKElFTiB8IE0wKX0sCisJe0RTSVBP UlRDX0xBTkUxWCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRDX0xBTkUxWSwgKElFTiB8IE0wKX0s CisJe0RTSVBPUlRDX0xBTkUyWCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRDX0xBTkUyWSwgKElF TiB8IE0wKX0sCisJe0RTSVBPUlRDX0xBTkUzWCwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRDX0xB TkUzWSwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRDX0xBTkU0WCwgKElFTiB8IE0wKX0sCisJe0RT SVBPUlRDX0xBTkU0WSwgKElFTiB8IE0wKX0sCisJe0RTSVBPUlRDX1RFMCwgKElFTiB8IE0wKX0s CisJe1RJTUVSOV9QV01fRVZULCAoSUVOIHwgTTApfSwKKwl7STJDNF9TQ0wsIChJRU4gfCBNMCl9 LAorCXtJMkM0X1NEQSwgKElFTiB8IE0wKX0sCisJe01DU1BJMl9DTEssIChJRU4gfCBNMCl9LAor CXtNQ1NQSTJfU0lNTywgKElFTiB8IE0wKX0sCisJe01DU1BJMl9TT01JLCAoUFRVIHwgSUVOIHwg TTApfSwKKwl7TUNTUEkyX0NTMCwgKE0wKX0sCisJe1JGQklfREFUQTE1LCAoTTQpfSwKKwl7UkZC SV9EQVRBMTQsIChNNCl9LAorCXtSRkJJX0RBVEExMywgKFBUVSB8IElFTiB8IE02KX0sCisJe1JG QklfREFUQTEyLCAoUFREIHwgTTYpfSwKKwl7UkZCSV9EQVRBMTEsIChQVEQgfCBNNil9LAorCXtS RkJJX0RBVEExMCwgKFBURCB8IE02KX0sCisJe1JGQklfREFUQTksIChQVEQgfCBNNil9LAorCXtS RkJJX0RBVEE4LCAoTTQpfSwKKwl7UkZCSV9EQVRBNywgKFBURCB8IE02KX0sCisJe1JGQklfREFU QTYsIChQVEQgfCBNNil9LAorCXtSRkJJX0RBVEE1LCAoSUVOIHwgTTYpfSwKKwl7UkZCSV9EQVRB NCwgKElFTiB8IE02KX0sCisJe1JGQklfREFUQTMsIChQVEQgfCBJRU4gfCBNNil9LAorCXtSRkJJ X0RBVEEyLCAoUFREIHwgTTYpfSwKKwl7UkZCSV9EQVRBMSwgKFBURCB8IE02KX0sCisJe1JGQklf REFUQTAsIChQVEQgfCBNNil9LAorCXtSRkJJX1dFLCAoUFREIHwgTTYpfSwKKwl7TUNTUEkyX0NT MCwgKE0wKX0sCisJe1JGQklfQTAsIChQVEQgfCBJRU4gfCBNNil9LAorCXtSRkJJX1JFLCAoTTQp fSwKKwl7UkZCSV9IU1lOQzAsIChNNCl9LAorCXtSRkJJX1RFX1ZTWU5DMCwgKFBURCB8IE02KX0s CisJe0dQSU82XzE4MiwgKE02KX0sCisJe0dQSU82XzE4MywgKFBURCB8IE02KX0sCisJe0dQSU82 XzE4NCwgKE00KX0sCisJe0dQSU82XzE4NSwgKFBURCB8IElFTiB8IE02KX0sCisJe0dQSU82XzE4 NiwgKFBURCB8IE02KX0sCisJe0dQSU82XzE4NywgKFBUVSB8IElFTiB8IE00KX0sCisJe0hETUlf Q0VDLCAoSUVOIHwgTTApfSwKKwl7SERNSV9IUEQsIChQVEQgfCBJRU4gfCBNMCl9LAorCXtIRE1J X0REQ19TQ0wsIChJRU4gfCBNMCl9LAorCXtIRE1JX0REQ19TREEsIChJRU4gfCBNMCl9LAorCXtD U0lQT1JUQ19MQU5FMFgsIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQ19MQU5FMFksIChJRU4gfCBN MCl9LAorCXtDU0lQT1JUQ19MQU5FMVgsIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQ19MQU5FMVks IChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQl9MQU5FMFgsIChJRU4gfCBNMCl9LAorCXtDU0lQT1JU Ql9MQU5FMFksIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQl9MQU5FMVgsIChJRU4gfCBNMCl9LAor CXtDU0lQT1JUQl9MQU5FMVksIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQl9MQU5FMlgsIChJRU4g fCBNMCl9LAorCXtDU0lQT1JUQl9MQU5FMlksIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQl9MQU5F MFgsIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQl9MQU5FMFksIChJRU4gfCBNMCl9LAorCXtDU0lQ T1JUQV9MQU5FMVgsIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQV9MQU5FMVksIChJRU4gfCBNMCl9 LAorCXtDU0lQT1JUQV9MQU5FMlgsIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQV9MQU5FMlksIChJ RU4gfCBNMCl9LAorCXtDU0lQT1JUQV9MQU5FM1gsIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQV9M QU5FM1ksIChJRU4gfCBNMCl9LAorCXtDU0lQT1JUQV9MQU5FNFgsIChJRU4gfCBNMCl9LAorCXtD U0lQT1JUQV9MQU5FNFksIChJRU4gfCBNMCl9LAorCXtDQU1fU0hVVFRFUiwgKE0wKX0sCisJe0NB TV9TVFJPQkUsIChNMCl9LAorCXtDQU1fR0xPQkFMUkVTRVQsIChJRU4gfCBNMCl9LAorCXtUSU1F UjExX1BXTV9FVlQsIChQVEQgfCBNNil9LAorCXtUSU1FUjVfUFdNX0VWVCwgKFBURCB8IE02KX0s CisJe1RJTUVSNl9QV01fRVZULCAoUFREIHwgTTYpfSwKKwl7VElNRVI4X1BXTV9FVlQsICAgICAg KFBUVSB8IE02KX0sCisJe0kyQzNfU0NMLCAoSUVOIHwgTTApfSwKKwl7STJDM19TREEsIChJRU4g fCBNMCl9LAorCXtHUElPOF8yMzMsIChJRU4gfCBNMil9LAorCXtHUElPOF8yMzQsIChJRU4gfCBN Myl9LAorCXtBQkVfQ0xLUywgKElFTiB8IE0wKX0sCisJe0FCRURNSUNfRElOMSwgKElFTiB8IE0w KX0sCisJe0FCRURNSUNfRElOMiwgKElFTiB8IE0wKX0sCisJe0FCRURNSUNfRElOMywgKElFTiB8 IE0wKX0sCisJe0FCRURNSUNfQ0xLMSwgKE0wKX0sCisJe0FCRURNSUNfQ0xLMiwgKElFTiB8IE0x KX0sCisJe0FCRURNSUNfQ0xLMywgKE0xKX0sCisJe0FCRVNMSU1CVVMxX0NMT0NLLCAoSUVOIHwg TTEpfSwKKwl7QUJFU0xJTUJVUzFfREFUQSwgKElFTiB8IE0xKX0sCisJe0FCRU1DQlNQMl9EUiwg KElFTiB8IE0wKX0sCisJe0FCRU1DQlNQMl9EWCwgKE0wKX0sCisJe0FCRU1DQlNQMl9GU1gsIChJ RU4gfCBNMCl9LAorCXtBQkVNQ0JTUDJfQ0xLWCwgKElFTiB8IE0wKX0sCisJe0FCRU1DUERNX1VM X0RBVEEsIChQVEQgfCBJRU4gfCBPRkZfRU4gfCBPRkZfUEQgfCBPRkZfSU4gfCBNMCl9LAorCXtB QkVNQ1BETV9ETF9EQVRBLCAoUFREIHwgSUVOIHwgT0ZGX0VOIHwgT0ZGX1BEIHwgT0ZGX0lOIHwg TTApfSwKKwl7QUJFTUNQRE1fRlJBTUUsIChQVFUgfCBJRU4gfCBPRkZfRU4gfCBPRkZfUEQgfCBP RkZfSU4gfCBNMCl9LAorCXtBQkVNQ1BETV9MQl9DTEssIChQVEQgfCBJRU4gfCBPRkZfRU4gfCBP RkZfUEQgfCBPRkZfSU4gfCBNMCl9LAorCXtXTFNESU9fQ0xLLCAoUFRVIHwgSUVOIHwgTTApfSwK Kwl7V0xTRElPX0NNRCwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1dMU0RJT19EQVRBMCwgKFBUVSB8 IElFTiB8IE0wKX0sCisJe1dMU0RJT19EQVRBMSwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1dMU0RJ T19EQVRBMiwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1dMU0RJT19EQVRBMywgKFBUVSB8IElFTiB8 IE0wKX0sCisJe1VBUlQ1X1JYLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7VUFSVDVfVFgsIChNMCl9 LAorCXtVQVJUNV9DVFMsIChQVFUgfCBJRU4gfCBNMCl9LAorCXtVQVJUNV9SVFMsIChNMCl9LAor CXtJMkMyX1NDTCwgKElFTiB8IE0wKX0sCisJe0kyQzJfU0RBLCAoSUVOIHwgTTApfSwKKwl7TUNT UEkxX0NMSywgKE02KX0sCisJe01DU1BJMV9TT01JLCAoSUVOIHwgTTYpfSwKKwl7TUNTUEkxX1NJ TU8sIChQVEQgfCBNNil9LAorCXtNQ1NQSTFfQ1MwLCAoUFREIHwgTTYpfSwKKwl7TUNTUEkxX0NT MSwgKFBURCB8IElFTiB8IE02KX0sCisJe0kyQzVfU0NMLCAoSUVOIHwgTTApfSwKKwl7STJDNV9T REEsIChJRU4gfCBNMCl9LAorCXtQRVJTTElNQlVTMl9DTE9DSywgKFBURCB8IE02KX0sCisJe1BF UlNMSU1CVVMyX0RBVEEsIChQVEQgfCBJRU4gfCBNNil9LAorCXtVQVJUNl9UWCwgKFBUVSB8IElF TiB8IE02KX0sCisJe1VBUlQ2X1JYLCAoUFRVIHwgSUVOIHwgTTYpfSwKKwl7VUFSVDZfQ1RTLCAo UFRVIHwgSUVOIHwgTTYpfSwKKwl7VUFSVDZfUlRTLCAoUFRVIHwgTTApfSwKKwl7VUFSVDNfQ1RT X1JDVFgsIChQVFUgfCBJRU4gfCBNNil9LAorCXtVQVJUM19SVFNfSVJTRCwgKFBUVSB8IElFTiB8 IE0xKX0sCisJe1VBUlQzX1JYX0lSUlgsIChQVFUgfCBJRU4gfCBNMCl9LAorCXtVQVJUM19UWF9J UlRYLCAoTTApfSwKKwl7VVNCQjNfSFNJQ19TVFJPQkUsIChQVFUgfCBJRU4gfCBNMCl9LAorCXtV U0JCM19IU0lDX0RBVEEsIChQVFUgfCBJRU4gfCBNMCl9LAorCXtTRENBUkRfQ0xLLCAoUFRVIHwg SUVOIHwgTTApfSwKKwl7U0RDQVJEX0NNRCwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1NEQ0FSRF9E QVRBMiwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1NEQ0FSRF9EQVRBMywgKFBUVSB8IElFTiB8IE0w KX0sCisJe1NEQ0FSRF9EQVRBMCwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1NEQ0FSRF9EQVRBMSwg KFBUVSB8IElFTiB8IE0wKX0sCisJe1VTQkQwX0hTX0RQLCAoSUVOIHwgTTApfSwKKwl7VVNCRDBf SFNfRE0sIChJRU4gfCBNMCl9LAorCXtJMkMxX1BNSUNfU0NMLCAoUFRVIHwgSUVOIHwgTTApfSwK Kwl7STJDMV9QTUlDX1NEQSwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1VTQkQwX1NTX1JYLCAoSUVO IHwgTTApfSwKK307CisKK3N0YXRpYyBjb25zdCBzdHJ1Y3QgcGFkX2NvbmZfZW50cnkgd2t1cF9w YWRjb25mX2FycmF5W10gPSB7CisJe0xMSUFfV0FLRVJFUUlOLCAoSUVOIHwgTTEpfSwKKwl7TExJ Ql9XQUtFUkVRSU4sIChJRU4gfCBNMSl9LAorCXtEUk1fRU1VMCwgKFBUVSB8IElFTiB8IE0wKX0s CisJe0RSTV9FTVUxLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7SlRBR19OVFJTVCwgKElFTiB8IE0w KX0sCisJe0pUQUdfVENLLCAoSUVOIHwgTTApfSwKKwl7SlRBR19SVENLLCAoTTApfSwKKwl7SlRB R19UTVNDLCAoSUVOIHwgTTApfSwKKwl7SlRBR19UREksIChJRU4gfCBNMCl9LAorCXtKVEFHX1RE TywgKE0wKX0sCisJe1NZU18zMkssIChJRU4gfCBNMCl9LAorCXtGUkVGX0NMS19JT1JFUSwgKElF TiB8IE0wKX0sCisJe0ZSRUZfQ0xLMF9PVVQsIChNMCl9LAorCXtGUkVGX0NMSzFfT1VULCAoTTAp fSwKKwl7RlJFRl9DTEsyX09VVCwgKE0wKX0sCisJe0ZSRUZfQ0xLMl9SRVEsIChQVFUgfCBJRU4g fCBNNil9LAorCXtGUkVGX0NMSzFfUkVRLCAoUFREIHwgSUVOIHwgTTYpfSwKKwl7U1lTX05SRVNQ V1JPTiwgKElFTiB8IE0wKX0sCisJe1NZU19OUkVTV0FSTSwgKFBUVSB8IElFTiB8IE0wKX0sCisJ e1NZU19QV1JfUkVRLCAoTTApfSwKKwl7U1lTX05JUlExLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7 U1lTX05JUlEyLCAoUFRVIHwgSUVOIHwgTTApfSwKKwl7U1JfUE1JQ19TQ0wsIChQVFUgfCBJRU4g fCBNMCl9LAorCXtTUl9QTUlDX1NEQSwgKFBUVSB8IElFTiB8IE0wKX0sCisJe1NZU19CT09UMCwg KElFTiB8IE0wKX0sCisJe1NZU19CT09UMSwgKElFTiB8IE0wKX0sCisJe1NZU19CT09UMiwgKElF TiB8IE0wKX0sCisJe1NZU19CT09UMywgKElFTiB8IE0wKX0sCisJe1NZU19CT09UNCwgKElFTiB8 IE0wKX0sCisJe1NZU19CT09UNSwgKElFTiB8IE0wKX0sCit9OworCit2b2lkIHNldF9tdXhjb25m X3JlZ3Modm9pZCkKK3sKKwlvbWFwNV9kb19zZXRfbXV4KE9NQVA1NFhYX0NPTlRST0xfUEFEQ09O Rl9DT1JFLCBjb3JlX3BhZGNvbmZfYXJyYXksCisJCQlBUlJBWV9TSVpFKGNvcmVfcGFkY29uZl9h cnJheSkpOworCW9tYXA1X2RvX3NldF9tdXgoT01BUDU0WFhfQ09OVFJPTF9QQURDT05GX1dLVVAs IHdrdXBfcGFkY29uZl9hcnJheSwKKwkJCUFSUkFZX1NJWkUod2t1cF9wYWRjb25mX2FycmF5KSk7 Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9jb25maWdzL29tYXA1X3Nldm1fZGVmY29uZmlnIApi L2FyY2gvYXJtL2NvbmZpZ3Mvb21hcDVfc2V2bV9kZWZjb25maWcKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uNWNkNTFiYgotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2Nv bmZpZ3Mvb21hcDVfc2V2bV9kZWZjb25maWcKQEAgLTAsMCArMSw2OCBAQAorQ09ORklHX0FSQ0hf T01BUD15CitDT05GSUdfQVJDSF9PTUFQNT15CitDT05GSUdfTUFDSF9PTUFQNV9TRVZNPXkKK0NP TkZJR19BRUFCST15CitDT05GSUdfQVJNX09QVElNWkVEX1NUUklOR19GVU5DVElPTlM9eQorQ09O RklHX0FSTV9VTldJTkQ9eQorQ09ORklHX01NVT15CitDT05GSUdfVEVYVF9CQVNFPTB4OGYwMDAw MDAKK0NPTkZJR19NQUxMT0NfU0laRT0weDIwMDAwMDAKK0NPTkZJR19NQUxMT0NfVExTRj15CitD T05GSUdfS0FMTFNZTVM9eQorQ09ORklHX1BST01QVD0iYmFyZWJveD4gIgorQ09ORklHX0xPTkdI RUxQPXkKK0NPTkZJR19HTE9CPXkKK0NPTkZJR19IVVNIX0ZBTkNZX1BST01QVD15CitDT05GSUdf Q01ETElORV9FRElUSU5HPXkKK0NPTkZJR19BVVRPX0NPTVBMRVRFPXkKKyMgQ09ORklHX1RJTUVT VEFNUCBpcyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9FTlZJUk9OTUVOVF9HRU5FUklDPXkKK0NP TkZJR19ERUZBVUxUX0VOVklST05NRU5UX1BBVEg9ImFyY2gvYXJtL2JvYXJkcy9vbWFwNV9zZXZt L2VudiIKK0NPTkZJR19DTURfRURJVD15CitDT05GSUdfQ01EX1NMRUVQPXkKK0NPTkZJR19DTURf U0FWRUVOVj15CitDT05GSUdfQ01EX0xPQURFTlY9eQorQ09ORklHX0NNRF9FWFBPUlQ9eQorQ09O RklHX0NNRF9QUklOVEVOVj15CitDT05GSUdfQ01EX1JFQURMSU5FPXkKK0NPTkZJR19DTURfVElN RT15CitDT05GSUdfQ01EX0VDSE9fRT15CitDT05GSUdfQ01EX0xPQURCPXkKK0NPTkZJR19DTURf SU9NRU09eQorQ09ORklHX0NNRF9GTEFTSD15CitDT05GSUdfQ01EX0JPT1RNX1NIT1dfVFlQRT15 CitDT05GSUdfQ01EX0JPT1RNX1ZFUkJPU0U9eQorQ09ORklHX0NNRF9CT09UTV9JTklUUkQ9eQor Q09ORklHX0NNRF9CT09UTV9PRlRSRUU9eQorIyBDT05GSUdfQ01EX0JPT1RVIGlzIG5vdCBzZXQK K0NPTkZJR19DTURfUkVTRVQ9eQorQ09ORklHX0NNRF9HTz15CitDT05GSUdfQ01EX1RJTUVPVVQ9 eQorQ09ORklHX0NNRF9QQVJUSVRJT049eQorQ09ORklHX0NNRF9NQUdJQ1ZBUj15CitDT05GSUdf Q01EX01BR0lDVkFSX0hFTFA9eQorQ09ORklHX0NNRF9HUElPPXkKK0NPTkZJR19DTURfVU5DT01Q UkVTUz15CitDT05GSUdfTkVUPXkKK0NPTkZJR19ORVRfREhDUD15CitDT05GSUdfTkVUX05GUz15 CitDT05GSUdfTkVUX1BJTkc9eQorQ09ORklHX0NNRF9URlRQPXkKK0NPTkZJR19GU19URlRQPXkK K0NPTkZJR19EUklWRVJfU0VSSUFMX05TMTY1NTA9eQorQ09ORklHX0RSSVZFUl9TRVJJQUxfTlMx NjU1MF9PTUFQX0VYVEVOU0lPTlM9eQorQ09ORklHX0RSSVZFUl9ORVRfU01DOTExWD15CisjIENP TkZJR19TUEkgaXMgbm90IHNldAorQ09ORklHX01URD15CitDT05GSUdfTkFORD15CitDT05GSUdf TkFORF9PTUFQX0dQTUM9eQorQ09ORklHX1VCST15CitDT05GSUdfTUNJPXkKK0NPTkZJR19NQ0lf U1RBUlRVUD15CitDT05GSUdfTUNJX09NQVBfSFNNTUM9eQorQ09ORklHX0ZTX0ZBVD15CitDT05G SUdfRlNfRkFUX1dSSVRFPXkKK0NPTkZJR19GU19GQVRfTEZOPXkKK0NPTkZJR19aTElCPXkKK0NP TkZJR19MWk9fREVDT01QUkVTUz15CitDT05GSUdfREVCVUdfTEw9eQpkaWZmIC0tZ2l0IGEvYXJj aC9hcm0vY29uZmlncy9vbWFwNV9zZXZtX3hsb2FkX2RlZmNvbmZpZyAKYi9hcmNoL2FybS9jb25m aWdzL29tYXA1X3Nldm1feGxvYWRfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDAwMDAwMDAuLjJjNDdjODcKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL29t YXA1X3Nldm1feGxvYWRfZGVmY29uZmlnCkBAIC0wLDAgKzEsNDQgQEAKK0NPTkZJR19BUkNIX09N QVA9eQorQ09ORklHX0FSQ0hfT01BUDU9eQorQ09ORklHX09NQVBfQlVJTERfSUZUPXkKK0NPTkZJ R19NQUNIX09NQVA1X1NFVk09eQorQ09ORklHX0FFQUJJPXkKK0NPTkZJR19USFVNQjJfQkFSRUJP WD15CisjIENPTkZJR19DTURfQVJNX0NQVUlORk8gaXMgbm90IHNldAorIyBDT05GSUdfQVJNX0VY Q0VQVElPTlMgaXMgbm90IHNldAorQ09ORklHX01NVT15CitDT05GSUdfVEVYVF9CQVNFPTB4NDAz MDAwMDAKK0NPTkZJR19NRU1PUllfTEFZT1VUX0ZJWEVEPXkKK0NPTkZJR19TVEFDS19CQVNFPTB4 OGYwMDAwMDAKK0NPTkZJR19NQUxMT0NfQkFTRT0weDg0MDAwMDAwCitDT05GSUdfTUFMTE9DX1NJ WkU9MHgyMDAwMDAwCitDT05GSUdfTUFMTE9DX0RVTU1ZPXkKK0NPTkZJR19QUk9NUFQ9ImJhcmVi b3g+ICIKK0NPTkZJR19TSEVMTF9OT05FPXkKKyMgQ09ORklHX0VSUk5PX01FU1NBR0VTIGlzIG5v dCBzZXQKKyMgQ09ORklHX1RJTUVTVEFNUCBpcyBub3Qgc2V0CisjIENPTkZJR19DT05TT0xFX0ZV TEwgaXMgbm90IHNldAorIyBDT05GSUdfREVGQVVMVF9FTlZJUk9OTUVOVCBpcyBub3Qgc2V0Cisj IENPTkZJR19EUklWRVJfU0VSSUFMX05TMTY1NTAgaXMgbm90IHNldAorIyBDT05GSUdfRFJJVkVS X1NFUklBTF9OUzE2NTUwX09NQVBfRVhURU5TSU9OUyBpcyBub3Qgc2V0CisjIENPTkZJR19TUEkg aXMgbm90IHNldAorIyBDT05GSUdfTVREIGlzIG5vdCBzZXQKKyMgQ09ORklHX01URF9XUklURSBp cyBub3Qgc2V0CisjIENPTkZJR19NVERfT09CX0RFVklDRSBpcyBub3Qgc2V0CitDT05GSUdfTkFO RD15CisjIENPTkZJR19OQU5EX0VDQ19TT0ZUIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTkRfRUND X0hXX1NZTkRST01FIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTkRfRUNDX0hXX05PTkUgaXMgbm90 IHNldAorIyBDT05GSUdfTkFORF9JTkZPIGlzIG5vdCBzZXQKKyMgQ09ORklHX05BTkRfQkJUIGlz IG5vdCBzZXQKK0NPTkZJR19OQU5EX09NQVBfR1BNQz15CitDT05GSUdfTUNJPXkKK0NPTkZJR19N Q0lfU1RBUlRVUD15CisjIENPTkZJR19NQ0lfV1JJVEUgaXMgbm90IHNldAorQ09ORklHX01DSV9P TUFQX0hTTU1DPXkKKyMgQ09ORklHX0ZTX1JBTUZTIGlzIG5vdCBzZXQKKyMgQ09ORklHX0ZTX0RF VkZTIGlzIG5vdCBzZXQKK0NPTkZJR19GU19GQVQ9eQorIyBDT05GSUdfREVCVUdfTEwgaXMgbm90 IHNldAorIyBDT05GSUdfQkFOTkVSIGlzIG5vdCBzZXQKKyMgQ09ORklHX01FTUlORk8gaXMgbm90 IHNldApkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwL0tjb25maWcgYi9hcmNoL2FybS9t YWNoLW9tYXAvS2NvbmZpZwppbmRleCA0MmU1ZjRhLi4wYWQzODY0IDEwMDY0NAotLS0gYS9hcmNo L2FybS9tYWNoLW9tYXAvS2NvbmZpZworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAvS2NvbmZpZwpA QCAtNDEsNiArNDEsMTQgQEAgY29uZmlnIEFSQ0hfT01BUDQKICAJaGVscAogIAkgIFNheSBZIGhl cmUgaWYgeW91IGFyZSB1c2luZyBUZXhhcyBJbnN0cnVtZW50J3MgT01BUDQgYmFzZWQgcGxhdGZv cm0KCitjb25maWcgQVJDSF9PTUFQNQorCWJvb2wgIk9NQVA1IgorCXNlbGVjdCBDUFVfVjcKKwlz ZWxlY3QgR0VORVJJQ19HUElPCisJc2VsZWN0IE9NQVBfQ0xPQ0tfU09VUkNFX1MzMksKKwloZWxw CisJICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgdXNpbmcgVGV4YXMgSW5zdHJ1bWVudCdzIE9NQVA1 IGJhc2VkIHBsYXRmb3JtCisKICBjb25maWcgQVJDSF9BTTMzWFgKICAJYm9vbCAiQU0zM3h4Igog IAlzZWxlY3QgQ1BVX1Y3CkBAIC0xMTUsNiArMTIzLDcgQEAgY29uZmlnIEJPQVJESU5GTwogIAlk ZWZhdWx0ICJQaHl0ZWMgcGh5Q0FSRC1BLUwxIiBpZiBNQUNIX1BDQUFMMQogIAlkZWZhdWx0ICJQ aHl0ZWMgcGh5Q0FSRC1BLVhMMiIgaWYgTUFDSF9QQ0FBWEwyCiAgCWRlZmF1bHQgIlBoeXRlYyBw aHlDT1JFLUFNMzM1eCIgaWYgTUFDSF9QQ00wNTEKKwlkZWZhdWx0ICJQaHl0ZWMgcGh5Q09SRSBv bWFwNV9zZXZtIiBpZiBNQUNIX09NQVA1X1NFVk0KCiAgY2hvaWNlCiAgCXByb21wdCAiU2VsZWN0 IE9NQVAgYm9hcmQiCkBAIC0xNzcsNiArMTg2LDEzIEBAIGNvbmZpZyBNQUNIX1BDQUFYTDIKICAJ aGVscAogIAkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyBhIHBoeUNBUkQtQS1YTDEgUENB LUEtWEwxCgorY29uZmlnIE1BQ0hfT01BUDVfU0VWTQorCWJvb2wgIlBoeXRlYyBwaHlDT1JFIG9t YXA1X3Nldm0iCisJZGVwZW5kcyBvbiBBUkNIX09NQVA1CisJaGVscAorCSAgU2F5IFkgaGVyZSBp ZiB5b3UgYXJlIHVzaW5nIFBoeXRlY3MgcGh5Q09SRSBvbWFwNV9zZXZtIGJvYXJkCisJICBiYXNl ZCBvbiBPTUFQNQorCiAgY29uZmlnIE1BQ0hfUENNMDUxCiAgCWJvb2wgIlBoeXRlYyBwaHlDT1JF IHBjbTA1MSIKICAJc2VsZWN0IE9NQVBfQ0xPQ0tfQUxMCmRpZmYgLS1naXQgYS9hcmNoL2FybS9t YWNoLW9tYXAvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNoLW9tYXAvTWFrZWZpbGUKaW5kZXggZDll MDBmNy4uZTY1MzUzZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwL01ha2VmaWxlCisr KyBiL2FyY2gvYXJtL21hY2gtb21hcC9NYWtlZmlsZQpAQCAtMjMsNiArMjMsOCBAQCBvYmotJChD T05GSUdfQVJDSF9PTUFQMykgKz0gb21hcDNfZ2VuZXJpYy5vIGF1eGNyLm8KICBwYmwtJChDT05G SUdfQVJDSF9PTUFQMykgKz0gb21hcDNfZ2VuZXJpYy5vIGF1eGNyLm8KICBvYmotJChDT05GSUdf QVJDSF9PTUFQNCkgKz0gb21hcDRfZ2VuZXJpYy5vIG9tYXA0X2Nsb2NrLm8KICBwYmwtJChDT05G SUdfQVJDSF9PTUFQNCkgKz0gb21hcDRfZ2VuZXJpYy5vIG9tYXA0X2Nsb2NrLm8KK29iai0kKENP TkZJR19BUkNIX09NQVA1KSArPSBvbWFwNV9nZW5lcmljLm8gb21hcDVfY2xvY2subworcGJsLSQo Q09ORklHX0FSQ0hfT01BUDUpICs9IG9tYXA1X2dlbmVyaWMubyBvbWFwNV9jbG9jay5vCiAgb2Jq LSQoQ09ORklHX0FSQ0hfQU0zM1hYKSArPSBhbTMzeHhfZ2VuZXJpYy5vIGFtMzN4eF9jbG9jay5v IGFtMzN4eF9tdXgubwogIG9iai0kKENPTkZJR19PTUFQM19DTE9DS19DT05GSUcpICs9IG9tYXAz X2Nsb2NrLm8KICBwYmwtJChDT05GSUdfT01BUDNfQ0xPQ0tfQ09ORklHKSArPSBvbWFwM19jbG9j ay5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAvZ3BtYy5jIGIvYXJjaC9hcm0vbWFj aC1vbWFwL2dwbWMuYwppbmRleCBiYjg0YjM4Li4xNjIwZjBmIDEwMDY0NAotLS0gYS9hcmNoL2Fy bS9tYWNoLW9tYXAvZ3BtYy5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9ncG1jLmMKQEAgLTI2 LDYgKzI2LDcgQEAKICAjaW5jbHVkZSA8ZXJybm8uaD4KICAjaW5jbHVkZSA8bWFjaC9vbWFwMy1z aWxpY29uLmg+CiAgI2luY2x1ZGUgPG1hY2gvb21hcDQtc2lsaWNvbi5oPgorI2luY2x1ZGUgPG1h Y2gvb21hcDUtc2lsaWNvbi5oPgogICNpbmNsdWRlIDxtYWNoL2FtMzN4eC1zaWxpY29uLmg+CiAg I2luY2x1ZGUgPG1hY2gvZ3BtYy5oPgogICNpbmNsdWRlIDxtYWNoL3N5c19pbmZvLmg+CkBAIC0z OSw2ICs0MCw4IEBAIHN0YXRpYyBpbnQgZ3BtY19pbml0KHZvaWQpCiAgCW9tYXBfZ3BtY19iYXNl ID0gKHZvaWQgKilPTUFQM19HUE1DX0JBU0U7CiAgI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9P TUFQNCkKICAJb21hcF9ncG1jX2Jhc2UgPSAodm9pZCAqKU9NQVA0NFhYX0dQTUNfQkFTRTsKKyNl bGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDUpCisJb21hcF9ncG1jX2Jhc2UgPSAodm9pZCAq KU9NQVA1NFhYX0dQTUNfQkFTRTsKICAjZWxpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FNMzNYWCkK ICAJb21hcF9ncG1jX2Jhc2UgPSAodm9pZCAqKUFNMzNYWF9HUE1DX0JBU0U7CiAgI2Vsc2UKZGlm ZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvZGVidWdfbGwuaCAKYi9h cmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2RlYnVnX2xsLmgKaW5kZXggMzhjYTU2Mi4u NDczZDhmNCAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9kZWJ1 Z19sbC5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvZGVidWdfbGwuaApA QCAtMzksNiArMzksMTEgQEAKICAjZW5kaWYKICAjZW5kaWYKCisjaWZkZWYgQ09ORklHX0FSQ0hf T01BUDUKKyNpbmNsdWRlIDxtYWNoL29tYXA1LXNpbGljb24uaD4KKyNkZWZpbmUgVUFSVF9CQVNF CU9NQVA1NFhYX1VBUlQzX0JBU0UKKyNlbmRpZgorCiAgI2lmZGVmIENPTkZJR19BUkNIX0FNMzNY WAogICNpbmNsdWRlIDxtYWNoL2FtMzN4eC1zaWxpY29uLmg+CiAgI2RlZmluZSBVQVJUX0JBU0UJ QU0zM1hYX1VBUlQwX0JBU0UKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRl L21hY2gvZ2VuZXJpYy5oIApiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvZ2VuZXJp Yy5oCmluZGV4IDc0NTU0MDQuLmY0OTE3YmEgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21h cC9pbmNsdWRlL21hY2gvZ2VuZXJpYy5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRl L21hY2gvZ2VuZXJpYy5oCkBAIC0yNyw2ICsyNywxMiBAQAogICNkZWZpbmUgY3B1X2lzX29tYXA0 eHh4KCkJKDApCiAgI2VuZGlmCgorI2lmZGVmIENPTkZJR19BUkNIX09NQVA1CisjZGVmaW5lIGNw dV9pc19vbWFwNXh4eCgpCSgxKQorI2Vsc2UKKyNkZWZpbmUgY3B1X2lzX29tYXA1eHh4KCkJKDAp CisjZW5kaWYKKwogIGVudW0gb21hcF9ib290X3NyYyB7CiAgCU9NQVBfQk9PVFNSQ19VTktOT1dO LAogIAlPTUFQX0JPT1RTUkNfTU1DMSwKQEAgLTM5LDUgKzQ1LDYgQEAgZW51bSBvbWFwX2Jvb3Rf c3JjIG9tYXBfYm9vdHNyYyh2b2lkKTsKICBlbnVtIG9tYXBfYm9vdF9zcmMgYW0zM3h4X2Jvb3Rz cmModm9pZCk7CiAgZW51bSBvbWFwX2Jvb3Rfc3JjIG9tYXAzX2Jvb3RzcmModm9pZCk7CiAgZW51 bSBvbWFwX2Jvb3Rfc3JjIG9tYXA0X2Jvb3RzcmModm9pZCk7CitlbnVtIG9tYXBfYm9vdF9zcmMg b21hcDVfYm9vdHNyYyh2b2lkKTsKCiAgI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNo LW9tYXAvaW5jbHVkZS9tYWNoL2dwbWNfbmFuZC5oIApiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNs dWRlL21hY2gvZ3BtY19uYW5kLmgKaW5kZXggNGE5MzQ2NS4uNWZlNmQwZiAxMDA2NDQKLS0tIGEv YXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9ncG1jX25hbmQuaAorKysgYi9hcmNoL2Fy bS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2dwbWNfbmFuZC5oCkBAIC02NSw1ICs2NSw2IEBAIGlu dCBvbWFwX2FkZF9ncG1jX25hbmRfZGV2aWNlKHN0cnVjdCAKZ3BtY19uYW5kX3BsYXRmb3JtX2Rh dGEgKnBkYXRhKTsKCiAgZXh0ZXJuIHN0cnVjdCBncG1jX2NvbmZpZyBvbWFwM19uYW5kX2NmZzsK ICBleHRlcm4gc3RydWN0IGdwbWNfY29uZmlnIG9tYXA0X25hbmRfY2ZnOworZXh0ZXJuIHN0cnVj dCBncG1jX2NvbmZpZyBvbWFwNV9uYW5kX2NmZzsKCiAgI2VuZGlmCQkJCS8qIF9fQVNNX09NQVBf TkFORF9HUE1DX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21h Y2gvb21hcDUtY2xvY2suaCAKYi9hcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL29tYXA1 LWNsb2NrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOWQ5ZjlhNAotLS0g L2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvb21hcDUtY2xv Y2suaApAQCAtMCwwICsxLDQ0NCBAQAorLyoKKyAqIChDKSBDb3B5cmlnaHQgMjAxMworICogU2Ft IFNvbHV0aW9ucywgPHNhbS1zb2x1dGlvbnMuY29tPgorICoKKyAqIEF1dGhvcnM6CisgKglVbGFk emltaXIgQmVseSA8dS5iZWx5QHNhbS1zb2x1dGlvbnMuY29tPgorICoJRG1pdHJ5IExhdm5pa2V2 aWNoIDxkLmxhdm5pa2V2aWNoQHNhbS1zb2x1dGlvbnMuY29tPgorICovCisKKyNkZWZpbmUgT01B UF81NDNYX1JFVl8xXzAJCQkxCisKKy8qIENLR0VOX1BSTSBSZWdpc3RlcnMgKi8KKyNkZWZpbmUg Q01fQ0xLU0VMX0FCRV9EU1NfU1lTCQkJMHg0YWUwNjEwMAorI2RlZmluZSBDTV9DTEtTRUxfV0tV UEFPTgkJCShDTV9DTEtTRUxfQUJFX0RTU19TWVMgKyAweDAwMDgpCisjZGVmaW5lIENNX0NMS1NF TF9BQkVfUExMX1JFRgkJCShDTV9DTEtTRUxfQUJFX0RTU19TWVMgKyAweDAwMEMpCisjZGVmaW5l IENNX0NMS1NFTF9TWVMJCQkJKENNX0NMS1NFTF9BQkVfRFNTX1NZUyArIDB4MDAxMCkKKworI2Rl ZmluZSBDTV9DTEtTRUxfU1lTXzEyTTAJCQkweDEgLyogMTIuME1IeiAqLworLyogUmVzZXJ2ZWQJ CQkJCTB4MiAqLworI2RlZmluZSBDTV9DTEtTRUxfU1lTXzE2TTgJCQkweDMgLyogMTYuOE1IeiAq LworI2RlZmluZSBDTV9DTEtTRUxfU1lTXzE5TTIJCQkweDQgLyogMTkuMk1IeiAqLworI2RlZmlu ZSBDTV9DTEtTRUxfU1lTXzI2TTAJCQkweDUgLyogMjYuME1IeiAqLworLyogUmVzZXJ2ZWQJCQkJ CTB4NiAqLworI2RlZmluZSBDTV9DTEtTRUxfU1lTXzM4TTQJCQkweDcgLyogMzguNE1IeiAqLwor CisvKiBXS1VQQU9OX0NNIFJlZ2lzdGVycyAqLworI2RlZmluZSBDTV9XS1VQQU9OX0NMS0NUUkxf UkVWMQkJCTB4NGFlMDc4MDAKKyNkZWZpbmUgQ01fV0tVUEFPTl9DTEtDVFJMX1JFVjIJCQkweDRh ZTA3OTAwCisjZGVmaW5lIENNX1dLVVBBT05fTDRfV0tVUF9DTEtDVFJMX09GVAkJMHgwMDIwCisj ZGVmaW5lIENNX1dLVVBBT05fV0RfVElNRVIyX0NMS0NUUkxfT0ZUCTB4MDAzMAorI2RlZmluZSBD TV9XS1VQQU9OX0dQSU8xX0NMS0NUUkxfT0ZUCQkweDAwMzgKKyNkZWZpbmUgQ01fV0tVUEFPTl9U SU1FUjFfQ0xLQ1RSTF9PRlQJCTB4MDA0MAorI2RlZmluZSBDTV9XS1VQQU9OX0NPVU5URVJfMzJL X0NMS0NUUkxfT0ZUCTB4MDA1MAorI2RlZmluZSBDTV9XS1VQQU9OX1NBUl9SQU1fQ0xLQ1RSTF9P RlQJCTB4MDA2MAorI2RlZmluZSBDTV9XS1VQQU9OX0tCRF9DTEtDVFJMX09GVAkJMHgwMDc4Cisj ZGVmaW5lIENNX1dLVVBBT05fU0NSTV9DTEtDVFJMX09GVAkJMHgwMDkwCisjZGVmaW5lIENNX1dL VVBBT05fSU9fU1JDT01QX0NMS0NUUkxfT0ZUCTB4MDA5OAorCisvKiBDS0dFTl9DTV9DT1JFX0FP TiBSZWdpc3RlcnMgKi8KKyNkZWZpbmUgQ01fQkFTRQkJCQkJMHg0YTAwNDEwMAorI2RlZmluZSBD TV9DTEtTRUxfQ09SRQkJCQlDTV9CQVNFCisjZGVmaW5lIENNX0NMS1NFTF9BQkUJCQkJKENNX0JB U0UgKyAweDAwMDgpCisjZGVmaW5lIENNX0RMTF9DVFJMCQkJCShDTV9CQVNFICsgMHgwMDEwKQor I2RlZmluZSBDTV9DTEtNT0RFX0RQTExfQ09SRQkJCShDTV9CQVNFICsgMHgwMDIwKQorI2RlZmlu ZSBDTV9JRExFU1RfRFBMTF9DT1JFCQkJKENNX0JBU0UgKyAweDAwMjQpCisjZGVmaW5lIENNX0FV VE9JRExFX0RQTExfQ09SRQkJCShDTV9CQVNFICsgMHgwMDI4KQorI2RlZmluZSBDTV9DTEtTRUxf RFBMTF9DT1JFCQkJKENNX0JBU0UgKyAweDAwMmMpCisjZGVmaW5lIENNX0RJVl9NMl9EUExMX0NP UkUJCQkoQ01fQkFTRSArIDB4MDAzMCkKKyNkZWZpbmUgQ01fRElWX00zX0RQTExfQ09SRQkJCShD TV9CQVNFICsgMHgwMDM0KQorI2RlZmluZSBDTV9ESVZfSDExX0RQTExfQ09SRQkJCShDTV9CQVNF ICsgMHgwMDM4KQorI2RlZmluZSBDTV9ESVZfSDEyX0RQTExfQ09SRQkJCShDTV9CQVNFICsgMHgw MDNjKQorI2RlZmluZSBDTV9ESVZfSDEzX0RQTExfQ09SRQkJCShDTV9CQVNFICsgMHgwMDQwKQor I2RlZmluZSBDTV9ESVZfSDE0X0RQTExfQ09SRQkJCShDTV9CQVNFICsgMHgwMDQ0KQorI2RlZmlu ZSBDTV9TU0NfREVMVEFNU1RFUF9EUExMX0NPUkUJCShDTV9CQVNFICsgMHgwMDQ4KQorI2RlZmlu ZSBDTV9TU0NfTU9ERlJFUURJVl9EUExMX0NPUkUJCShDTV9CQVNFICsgMHgwMDRjKQorI2RlZmlu ZSBDTV9ESVZfSDIxX0RQTExfQ09SRQkJCShDTV9CQVNFICsgMHgwMDUwKSAvKiBGb3IgcmV2LiAy ICovCisjZGVmaW5lIENNX0RJVl9IMjJfRFBMTF9DT1JFCQkJKENNX0JBU0UgKyAweDAwNTQpCisj ZGVmaW5lIENNX0RJVl9IMjNfRFBMTF9DT1JFCQkJKENNX0JBU0UgKyAweDAwNTgpCisjZGVmaW5l IENNX0RJVl9IMjRfRFBMTF9DT1JFCQkJKENNX0JBU0UgKyAweDAwNWMpIC8qIEZvciByZXYuIDIg Ki8KKyNkZWZpbmUgQ01fQ0xLTU9ERV9EUExMX01QVQkJCShDTV9CQVNFICsgMHgwMDYwKQorI2Rl ZmluZSBDTV9JRExFU1RfRFBMTF9NUFUJCQkoQ01fQkFTRSArIDB4MDA2NCkKKyNkZWZpbmUgQ01f QVVUT0lETEVfRFBMTF9NUFUJCQkoQ01fQkFTRSArIDB4MDA2OCkKKyNkZWZpbmUgQ01fQ0xLU0VM X0RQTExfTVBVCQkJKENNX0JBU0UgKyAweDAwNmMpCisjZGVmaW5lIENNX0RJVl9NMl9EUExMX01Q VQkJCShDTV9CQVNFICsgMHgwMDcwKQorI2RlZmluZSBDTV9TU0NfREVMVEFNU1RFUF9EUExMX01Q VQkJKENNX0JBU0UgKyAweDAwODgpCisjZGVmaW5lIENNX1NTQ19NT0RGUkVRRElWX0RQTExfTVBV CQkoQ01fQkFTRSArIDB4MDA4YykKKyNkZWZpbmUgQ01fQllQQ0xLX0RQTExfTVBVCQkJKENNX0JB U0UgKyAweDAwOWMpCisjZGVmaW5lIENNX0NMS01PREVfRFBMTF9JVkEJCQkoQ01fQkFTRSArIDB4 MDBhMCkKKyNkZWZpbmUgQ01fSURMRVNUX0RQTExfSVZBCQkJKENNX0JBU0UgKyAweDAwYTQpCisj ZGVmaW5lIENNX0FVVE9JRExFX0RQTExfSVZBCQkJKENNX0JBU0UgKyAweDAwYTgpCisjZGVmaW5l IENNX0NMS1NFTF9EUExMX0lWQQkJCShDTV9CQVNFICsgMHgwMGFjKQorI2RlZmluZSBDTV9ESVZf SDExX0RQTExfSVZBCQkJKENNX0JBU0UgKyAweDAwYjgpCisjZGVmaW5lIENNX0RJVl9IMTJfRFBM TF9JVkEJCQkoQ01fQkFTRSArIDB4MDBiYykKKyNkZWZpbmUgQ01fU1NDX0RFTFRBTVNURVBfRFBM TF9JVkEJCShDTV9CQVNFICsgMHgwMGM4KQorI2RlZmluZSBDTV9TU0NfTU9ERlJFUURJVl9EUExM X0lWQQkJKENNX0JBU0UgKyAweDAwY2MpCisjZGVmaW5lIENNX0JZUENMS19EUExMX0lWQQkJCShD TV9CQVNFICsgMHgwMGRjKQorI2RlZmluZSBDTV9DTEtNT0RFX0RQTExfQUJFCQkJKENNX0JBU0Ug KyAweDAwZTApCisjZGVmaW5lIENNX0lETEVTVF9EUExMX0FCRQkJCShDTV9CQVNFICsgMHgwMGU0 KQorI2RlZmluZSBDTV9BVVRPSURMRV9EUExMX0FCRQkJCShDTV9CQVNFICsgMHgwMGU4KQorI2Rl ZmluZSBDTV9DTEtTRUxfRFBMTF9BQkUJCQkoQ01fQkFTRSArIDB4MDBlYykKKyNkZWZpbmUgQ01f RElWX00yX0RQTExfQUJFCQkJKENNX0JBU0UgKyAweDAwZjApCisjZGVmaW5lIENNX0RJVl9NM19E UExMX0FCRQkJCShDTV9CQVNFICsgMHgwMGY0KQorI2RlZmluZSBDTV9TU0NfREVMVEFNU1RFUF9E UExMX0FCRQkJKENNX0JBU0UgKyAweDAxMDgpCisjZGVmaW5lIENNX1NTQ19NT0RGUkVRRElWX0RQ TExfQUJFCQkoQ01fQkFTRSArIDB4MDEwYykKKyNkZWZpbmUgQ01fU0hBRE9XX0ZSRVFfQ09ORklH MQkJCShDTV9CQVNFICsgMHgwMTYwKQorI2RlZmluZSBDTV9TSEFET1dfRlJFUV9DT05GSUcyCQkJ KENNX0JBU0UgKyAweDAxNjQpCisjZGVmaW5lIENNX0RZTl9ERVBfUFJFU0NBTAkJCShDTV9CQVNF ICsgMHgwMTcwKQorI2RlZmluZSBDTV9SRVNUT1JFX1NUCQkJCShDTV9CQVNFICsgMHgwMTgwKQor CisvKiBEU1BfQ01fQ09SRV9BT04gUmVnaXN0ZXJzICovCisjZGVmaW5lIENNX0RTUF9DTEtTVENU UkwJCQkweDRhMDA0NDAwCisjZGVmaW5lIENNX0RTUF9TVEFUSUNERVAJCQkoQ01fRFNQX0NMS1NU Q1RSTCArIDB4MDAwNCkKKyNkZWZpbmUgQ01fRFNQX0RZTkFNSUNERVAJCQkoQ01fRFNQX0NMS1NU Q1RSTCArIDB4MDAwOCkKKyNkZWZpbmUJQ01fRFNQX0RTUF9DTEtDVFJMCQkJKENNX0RTUF9DTEtT VENUUkwgKyAweDAwMjApCisKKy8qIEFCRV9DTV9DT1JFX0FPTiBSZWdpc3RlcnMgKi8KKyNkZWZp bmUgQUJFX0JBU0UJCQkJMHg0YTAwNDUwMAorI2RlZmluZSBDTV9BQkVfQ0xLU1RDVFJMCQkJQUJF X0JBU0UKKyNkZWZpbmUgQ01fQUJFX0w0X0FCRV9DTEtDVFJMCQkJKEFCRV9CQVNFICsgMHgwMDIw KQorI2RlZmluZSBDTV9BQkVfQUVTU19DTEtDVFJMCQkJKEFCRV9CQVNFICsgMHgwMDI4KQorI2Rl ZmluZSBDTV9BQkVfTUNQRE1fQ0xLQ1RSTAkJCShBQkVfQkFTRSArIDB4MDAzMCkKKyNkZWZpbmUg Q01fQUJFX0RNSUNfQ0xLQ1RSTAkJCShBQkVfQkFTRSArIDB4MDAzOCkKKyNkZWZpbmUgQ01fQUJF X01DQVNQX0NMS0NUUkwJCQkoQUJFX0JBU0UgKyAweDAwNDApCisjZGVmaW5lIENNX0FCRV9NQ0JT UDFfQ0xLQ1RSTAkJCShBQkVfQkFTRSArIDB4MDA0OCkKKyNkZWZpbmUgQ01fQUJFX01DQlNQMl9D TEtDVFJMCQkJKEFCRV9CQVNFICsgMHgwMDUwKQorI2RlZmluZSBDTV9BQkVfTUNCU1AzX0NMS0NU UkwJCQkoQUJFX0JBU0UgKyAweDAwNTgpCisjZGVmaW5lIENNX0FCRV9TTElNQlVTMV9DTEtDVFJM CQkJKEFCRV9CQVNFICsgMHgwMDYwKQorI2RlZmluZSBDTV9BQkVfVElNRVI1X0NMS0NUUkwJCQko QUJFX0JBU0UgKyAweDAwNjgpCisjZGVmaW5lIENNX0FCRV9USU1FUjZfQ0xLQ1RSTAkJCShBQkVf QkFTRSArIDB4MDA3MCkKKyNkZWZpbmUgQ01fQUJFX1RJTUVSN19DTEtDVFJMCQkJKEFCRV9CQVNF ICsgMHgwMDc4KQorI2RlZmluZSBDTV9BQkVfVElNRVI4X0NMS0NUUkwJCQkoQUJFX0JBU0UgKyAw eDAwODApCisjZGVmaW5lIENNX0FCRV9XRF9USU1FUjNfQ0xLQ1RSTAkJKEFCRV9CQVNFICsgMHgw MDg4KQorCisvKiBDS0dFTl9DTV9DT1JFIFJlZ2lzdGVycyAqLworI2RlZmluZSBDS0dFTl9CQVNF CQkJCTB4NGEwMDgxMDAKKyNkZWZpbmUgQ01fQ0xLU0VMX1VTQl82ME1IWgkJCShDS0dFTl9CQVNF ICsgMHgwMDA0KQorI2RlZmluZSBDTV9DTEtNT0RFX0RQTExfUEVSCQkJKENLR0VOX0JBU0UgKyAw eDAwNDApCisjZGVmaW5lIENNX0lETEVTVF9EUExMX1BFUgkJCShDS0dFTl9CQVNFICsgMHgwMDQ0 KQorI2RlZmluZSBDTV9BVVRPSURMRV9EUExMX1BFUgkJCShDS0dFTl9CQVNFICsgMHgwMDQ4KQor I2RlZmluZSBDTV9DTEtTRUxfRFBMTF9QRVIJCQkoQ0tHRU5fQkFTRSArIDB4MDA0YykKKyNkZWZp bmUgQ01fRElWX00yX0RQTExfUEVSCQkJKENLR0VOX0JBU0UgKyAweDAwNTApCisjZGVmaW5lIENN X0RJVl9NM19EUExMX1BFUgkJCShDS0dFTl9CQVNFICsgMHgwMDU0KQorI2RlZmluZSBDTV9ESVZf SDExX0RQTExfUEVSCQkJKENLR0VOX0JBU0UgKyAweDAwNTgpCisjZGVmaW5lIENNX0RJVl9IMTJf RFBMTF9QRVIJCQkoQ0tHRU5fQkFTRSArIDB4MDA1YykKKyNkZWZpbmUgQ01fRElWX0gxNF9EUExM X1BFUgkJCShDS0dFTl9CQVNFICsgMHgwMDY0KQorI2RlZmluZSBDTV9TU0NfREVMVEFNU1RFUF9E UExMX1BFUgkJKENLR0VOX0JBU0UgKyAweDAwNjgpCisjZGVmaW5lIENNX1NTQ19NT0RGUkVRRElW X0RQTExfUEVSCQkoQ0tHRU5fQkFTRSArIDB4MDA2YykKKyNkZWZpbmUgQ01fQ0xLTU9ERV9EUExM X1VTQgkJCShDS0dFTl9CQVNFICsgMHgwMDgwKQorI2RlZmluZSBDTV9JRExFU1RfRFBMTF9VU0IJ CQkoQ0tHRU5fQkFTRSArIDB4MDA4NCkKKyNkZWZpbmUgQ01fQVVUT0lETEVfRFBMTF9VU0IJCQko Q0tHRU5fQkFTRSArIDB4MDA4OCkKKyNkZWZpbmUgQ01fQ0xLU0VMX0RQTExfVVNCCQkJKENLR0VO X0JBU0UgKyAweDAwOGMpCisjZGVmaW5lIENNX0RJVl9NMl9EUExMX1VTQgkJCShDS0dFTl9CQVNF ICsgMHgwMDkwKQorI2RlZmluZSBDTV9TU0NfREVMVEFNU1RFUF9EUExMX1VTQgkJKENLR0VOX0JB U0UgKyAweDAwYTgpCisjZGVmaW5lIENNX1NTQ19NT0RGUkVRRElWX0RQTExfVVNCCQkoQ0tHRU5f QkFTRSArIDB4MDBhYykKKyNkZWZpbmUgQ01fQ0xLRENPTERPX0RQTExfVVNCCQkJKENLR0VOX0JB U0UgKyAweDAwYjQpCisjZGVmaW5lIENNX0NMS01PREVfRFBMTF9VTklQUk8yCQkJKENLR0VOX0JB U0UgKyAweDAwYzApCisjZGVmaW5lIENNX0lETEVTVF9EUExMX1VOSVBSTzIJCQkoQ0tHRU5fQkFT RSArIDB4MDBjNCkKKyNkZWZpbmUgQ01fQVVUT0lETEVfRFBMTF9VTklQUk8yCQkoQ0tHRU5fQkFT RSArIDB4MDBjOCkKKyNkZWZpbmUgQ01fQ0xLU0VMX0RQTExfVU5JUFJPMgkJCShDS0dFTl9CQVNF ICsgMHgwMGNjKQorI2RlZmluZSBDTV9ESVZfTTJfRFBMTF9VTklQUk8yCQkJKENLR0VOX0JBU0Ug KyAweDAwZDApCisjZGVmaW5lIENNX1NTQ19ERUxUQU1TVEVQX0RQTExfVU5JUFJPMgkJKENLR0VO X0JBU0UgKyAweDAwZTgpCisjZGVmaW5lIENNX1NTQ19NT0RGUkVRRElWX0RQTExfVU5JUFJPMgkJ KENLR0VOX0JBU0UgKyAweDAwZWMpCisjZGVmaW5lIENNX0NMS0RDT0xET19EUExMX1VOSVBSTzIJ CShDS0dFTl9CQVNFICsgMHgwMGY0KQorI2RlZmluZSBDTV9DTEtNT0RFX0RQTExfVU5JUFJPMQkJ CShDS0dFTl9CQVNFICsgMHgwMTAwKQorI2RlZmluZSBDTV9JRExFU1RfRFBMTF9VTklQUk8xCQkJ KENLR0VOX0JBU0UgKyAweDAxMDQpCisjZGVmaW5lIENNX0FVVE9JRExFX0RQTExfVU5JUFJPMQkJ KENLR0VOX0JBU0UgKyAweDAxMDgpCisjZGVmaW5lIENNX0NMS1NFTF9EUExMX1VOSVBSTzEJCQko Q0tHRU5fQkFTRSArIDB4MDEwYykKKyNkZWZpbmUgQ01fRElWX00yX0RQTExfVU5JUFJPMQkJCShD S0dFTl9CQVNFICsgMHgwMTEwKQorI2RlZmluZSBDTV9TU0NfREVMVEFNU1RFUF9EUExMX1VOSVBS TzEJCShDS0dFTl9CQVNFICsgMHgwMTI4KQorI2RlZmluZSBDTV9TU0NfTU9ERlJFUURJVl9EUExM X1VOSVBSTzEJCShDS0dFTl9CQVNFICsgMHgwMTJjKQorI2RlZmluZSBDTV9DTEtEQ09MRE9fRFBM TF9VTklQUk8xCQkoQ0tHRU5fQkFTRSArIDB4MDEzNCkKKworLyogQ09SRV9DTV9DT1JFIFJlZ2lz dGVycyAqLworI2RlZmluZSBDT1JFX0JBU0UJCQkJMHg0YTAwODcwMAorI2RlZmluZSBDTV9MM01B SU4xX0NMS1NUQ1RSTAkJCShDT1JFX0JBU0UgKyAweDAwMDApCisjZGVmaW5lIENNX0wzTUFJTjFf RFlOQU1JQ0RFUAkJCShDT1JFX0JBU0UgKyAweDAwMDgpCisjZGVmaW5lIENNX0wzTUFJTjFfTDNf TUFJTl8xX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDAwMjApCisjZGVmaW5lIENNX0wzTUFJTjJf Q0xLU1RDVFJMCQkJKENPUkVfQkFTRSArIDB4MDEwMCkKKyNkZWZpbmUgQ01fTDNNQUlOMl9EWU5B TUlDREVQCQkJKENPUkVfQkFTRSArIDB4MDEwOCkKKyNkZWZpbmUgQ01fTDNNQUlOMl9MM19NQUlO XzJfQ0xLQ1RSTAkJKENPUkVfQkFTRSArIDB4MDEyMCkKKyNkZWZpbmUgQ01fTDNNQUlOMl9HUE1D X0NMS0NUUkwJCQkoQ09SRV9CQVNFICsgMHgwMTI4KQorI2RlZmluZSBDTV9MM01BSU4yX09DTUNf UkFNX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDAxMzApCisjZGVmaW5lIENNX0lQVV9DTEtTVENU UkwJCQkoQ09SRV9CQVNFICsgMHgwMjAwKQorI2RlZmluZSBDTV9JUFVfU1RBVElDREVQCQkJKENP UkVfQkFTRSArIDB4MDIwNCkKKyNkZWZpbmUgQ01fSVBVX0RZTkFNSUNERVAJCQkoQ09SRV9CQVNF ICsgMHgwMjA4KQorI2RlZmluZSBDTV9JUFVfSVBVX0NMS0NUUkwJCQkoQ09SRV9CQVNFICsgMHgw MjIwKQorI2RlZmluZSBDTV9ETUFfQ0xLU1RDVFJMCQkJKENPUkVfQkFTRSArIDB4MDMwMCkKKyNk ZWZpbmUgQ01fRE1BX1NUQVRJQ0RFUAkJCShDT1JFX0JBU0UgKyAweDAzMDQpCisjZGVmaW5lIENN X0RNQV9EWU5BTUlDREVQCQkJKENPUkVfQkFTRSArIDB4MDMwOCkKKyNkZWZpbmUgQ01fRE1BX0RN QV9TWVNURU1fQ0xLQ1RSTAkJKENPUkVfQkFTRSArIDB4MDMyMCkKKyNkZWZpbmUgQ01fRU1JRl9D TEtTVENUUkwJCQkoQ09SRV9CQVNFICsgMHgwNDAwKQorI2RlZmluZSBDTV9FTUlGX0RNTV9DTEtD VFJMCQkJKENPUkVfQkFTRSArIDB4MDQyMCkKKyNkZWZpbmUgQ01fRU1JRl9FTUlGX09DUF9GV19D TEtDVFJMCQkoQ09SRV9CQVNFICsgMHgwNDI4KQorI2RlZmluZSBDTV9FTUlGX0VNSUYxX0NMS0NU UkwJCQkoQ09SRV9CQVNFICsgMHgwNDMwKQorI2RlZmluZSBDTV9FTUlGX0VNSUYyX0NMS0NUUkwJ CQkoQ09SRV9CQVNFICsgMHgwNDM4KQorI2RlZmluZSBDTV9FTUlGX0VNSUZfRExMX0NMS0NUUkwJ CShDT1JFX0JBU0UgKyAweDA0NDApCisjZGVmaW5lIENNX0MyQ19DTEtTVENUUkwJCQkoQ09SRV9C QVNFICsgMHgwNTAwKQorI2RlZmluZSBDTV9DMkNfU1RBVElDREVQCQkJKENPUkVfQkFTRSArIDB4 MDUwNCkKKyNkZWZpbmUgQ01fQzJDX0RZTkFNSUNERVAJCQkoQ09SRV9CQVNFICsgMHgwNTA4KQor I2RlZmluZSBDTV9DMkNfQzJDX0NMS0NUUkwJCQkoQ09SRV9CQVNFICsgMHgwNTIwKQorI2RlZmlu ZSBDTV9DMkNfTU9ERU1fSUNSX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDA1MjgpCisjZGVmaW5l IENNX0MyQ19DMkNfT0NQX0ZXX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDA1MzApCisjZGVmaW5l IENNX0w0Q0ZHX0NMS1NUQ1RSTAkJCShDT1JFX0JBU0UgKyAweDA2MDApCisjZGVmaW5lIENNX0w0 Q0ZHX0RZTkFNSUNERVAJCQkoQ09SRV9CQVNFICsgMHgwNjA4KQorI2RlZmluZSBDTV9MNENGR19M NF9DRkdfQ0xLQ1RSTAkJCShDT1JFX0JBU0UgKyAweDA2MjApCisjZGVmaW5lIENNX0w0Q0ZHX1NQ SU5MT0NLX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDA2MjgpCisjZGVmaW5lIENNX0w0Q0ZHX01B SUxCT1hfQ0xLQ1RSTAkJKENPUkVfQkFTRSArIDB4MDYzMCkKKyNkZWZpbmUgQ01fTDRDRkdfU0FS X1JPTV9DTEtDVFJMCQkoQ09SRV9CQVNFICsgMHgwNjM4KQorI2RlZmluZSBDTV9MNENGR19PQ1Ay U0NQMl9DTEtDVFJMCQkoQ09SRV9CQVNFICsgMHgwNjQwKQorI2RlZmluZSBDTV9MM0lOU1RSX0NM S1NUQ1RSTAkJCShDT1JFX0JBU0UgKyAweDA3MDApCisjZGVmaW5lIENNX0wzSU5TVFJfTDNfTUFJ Tl8zX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDA3MjApCisjZGVmaW5lIENNX0wzSU5TVFJfTDNf SU5TVFJfQ0xLQ1RSTAkJKENPUkVfQkFTRSArIDB4MDcyOCkKKyNkZWZpbmUgQ01fTDNJTlNUUl9P Q1BfV1BfTk9DX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDA3NDApCisjZGVmaW5lIENNX0wzSU5T VFJfRExMX0FHSU5HX0NMS0NUUkwJCShDT1JFX0JBU0UgKyAweDA3NDgpCisjZGVmaW5lIENNX0wz SU5TVFJfQ1RSTF9NT0RVTEVfQkFOREdBUF9DTEtDVFJMCShDT1JFX0JBU0UgKyAweDA3NTApCisK Ky8qIEw0UEVSX0NNX0NPUkUgUmVnaXN0ZXJzICovCisjZGVmaW5lIENNX0w0UEVSX0NMS1NUQ1RS TF9SRVYxCQkJMHg0YTAwOTQwMAorI2RlZmluZSBDTV9MNFBFUl9DTEtTVENUUkxfUkVWMgkJCTB4 NGEwMDkwMDAKKyNkZWZpbmUgQ01fTDRQRVJfRFlOQU1JQ0RFUF9PRlQJCQkweDAwMDgKKyNkZWZp bmUgQ01fTDRQRVJfVElNRVIxMF9DTEtDVFJMX09GVAkJMHgwMDI4CisjZGVmaW5lIENNX0w0UEVS X1RJTUVSMTFfQ0xLQ1RSTF9PRlQJCTB4MDAzMAorI2RlZmluZSBDTV9MNFBFUl9USU1FUjJfQ0xL Q1RSTF9PRlQJCTB4MDAzOAorI2RlZmluZSBDTV9MNFBFUl9USU1FUjNfQ0xLQ1RSTF9PRlQJCTB4 MDA0MAorI2RlZmluZSBDTV9MNFBFUl9USU1FUjRfQ0xLQ1RSTF9PRlQJCTB4MDA0OAorI2RlZmlu ZSBDTV9MNFBFUl9USU1FUjlfQ0xLQ1RSTF9PRlQJCTB4MDA1MAorI2RlZmluZSBDTV9MNFBFUl9F TE1fQ0xLQ1RSTF9PRlQJCTB4MDA1OAorI2RlZmluZSBDTV9MNFBFUl9HUElPMl9DTEtDVFJMX09G VAkJMHgwMDYwCisjZGVmaW5lIENNX0w0UEVSX0dQSU8zX0NMS0NUUkxfT0ZUCQkweDAwNjgKKyNk ZWZpbmUgQ01fTDRQRVJfR1BJTzRfQ0xLQ1RSTF9PRlQJCTB4MDA3MAorI2RlZmluZSBDTV9MNFBF Ul9HUElPNV9DTEtDVFJMX09GVAkJMHgwMDc4CisjZGVmaW5lIENNX0w0UEVSX0dQSU82X0NMS0NU UkxfT0ZUCQkweDAwODAKKyNkZWZpbmUgQ01fTDRQRVJfSERRMVdfQ0xLQ1RSTF9PRlQJCTB4MDA4 OAorI2RlZmluZSBDTV9MNFBFUl9JMkMxX0NMS0NUUkxfT0ZUCQkweDAwYTAKKyNkZWZpbmUgQ01f TDRQRVJfSTJDMl9DTEtDVFJMX09GVAkJMHgwMGE4CisjZGVmaW5lIENNX0w0UEVSX0kyQzNfQ0xL Q1RSTF9PRlQJCTB4MDBiMAorI2RlZmluZSBDTV9MNFBFUl9JMkM0X0NMS0NUUkxfT0ZUCQkweDAw YjgKKyNkZWZpbmUgQ01fTDRQRVJfTDRfUEVSX0NMS0NUUkxfT0ZUCQkweDAwYzAKKyNkZWZpbmUg Q01fTDRQRVJfTUNTUEkxX0NMS0NUUkxfT0ZUCQkweDAwZjAKKyNkZWZpbmUgQ01fTDRQRVJfTUNT UEkyX0NMS0NUUkxfT0ZUCQkweDAwZjgKKyNkZWZpbmUgQ01fTDRQRVJfTUNTUEkzX0NMS0NUUkxf T0ZUCQkweDAxMDAKKyNkZWZpbmUgQ01fTDRQRVJfTUNTUEk0X0NMS0NUUkxfT0ZUCQkweDAxMDgK KyNkZWZpbmUgQ01fTDRQRVJfR1BJTzdfQ0xLQ1RSTF9PRlQJCTB4MDExMAorI2RlZmluZSBDTV9M NFBFUl9HUElPOF9DTEtDVFJMX09GVAkJMHgwMTE4CisjZGVmaW5lIENNX0w0UEVSX01NQzNfQ0xL Q1RSTF9PRlQJCTB4MDEyMAorI2RlZmluZSBDTV9MNFBFUl9NTUM0X0NMS0NUUkxfT0ZUCQkweDAx MjgKKyNkZWZpbmUgQ01fTDRQRVJfU0xJTUJVUzJfQ0xLQ1RSTF9PRlQJCTB4MDEzOAorI2RlZmlu ZSBDTV9MNFBFUl9VQVJUMV9DTEtDVFJMX09GVAkJMHgwMTQwCisjZGVmaW5lIENNX0w0UEVSX1VB UlQyX0NMS0NUUkxfT0ZUCQkweDAxNDgKKyNkZWZpbmUgQ01fTDRQRVJfVUFSVDNfQ0xLQ1RSTF9P RlQJCTB4MDE1MAorI2RlZmluZSBDTV9MNFBFUl9VQVJUNF9DTEtDVFJMX09GVAkJMHgwMTU4Cisj ZGVmaW5lIENNX0w0UEVSX01NQzVfQ0xLQ1RSTF9PRlQJCTB4MDE2MAorI2RlZmluZSBDTV9MNFBF Ul9JMkM1X0NMS0NUUkxfT0ZUCQkweDAxNjgKKyNkZWZpbmUgQ01fTDRQRVJfVUFSVDVfQ0xLQ1RS TF9PRlQJCTB4MDE3MAorI2RlZmluZSBDTV9MNFBFUl9VQVJUNl9DTEtDVFJMX09GVAkJMHgwMTc4 CisjZGVmaW5lIENNX0w0U0VDX0NMS1NUQ1RSTF9PRlQJCQkweDAxODAKKyNkZWZpbmUgQ01fTDRT RUNfU1RBVElDREVQX09GVAkJCTB4MDE4NAorI2RlZmluZSBDTV9MNFNFQ19EWU5BTUlDREVQX09G VAkJCTB4MDE4OAorI2RlZmluZSBDTV9MNFNFQ19BRVMxX0NMS0NUUkxfT0ZUCQkweDAxYTAKKyNk ZWZpbmUgQ01fTDRTRUNfQUVTMl9DTEtDVFJMX09GVAkJMHgwMWE4CisjZGVmaW5lIENNX0w0U0VD X0RFUzNERVNfQ0xLQ1RSTF9PRlQJCTB4MDFiMAorI2RlZmluZSBDTV9MNFNFQ19GUEtBX09GVAkJ CTB4MDFiOAorI2RlZmluZSBDTV9MNFNFQ19STkdfQ0xLQ1RSTF9PRlQJCTB4MDFjMAorI2RlZmlu ZSBDTV9MNFNFQ19TSEEyTUQ1X0NMS0NUUkxfT0ZUCQkweDAxYzgKKyNkZWZpbmUgQ01fTDRTRUNf RE1BX0NSWVBUT19DTEtDVFJMX09GVAkJMHgwMWQ4CisKKy8qIEwzSU5JVF9DTV9DT1JFIFJlZ2lz dGVycyAqLworLyogT01BUDUgcmV2aXNpb24gMSovCisjZGVmaW5lIENNX0wzSU5JVF9DTEtTVENU UkxfUkVWMQkJMHg0YTAwOTMwMAorI2RlZmluZSBDTV9MM0lOSVRfQ0xLU1RDVFJMX1JFVjIJCTB4 NGEwMDk2MDAKKyNkZWZpbmUgQ01fTDNJTklUX1NUQVRJQ0RFUF9PRlQJCQkweDAwMDQKKyNkZWZp bmUgQ01fTDNJTklUX0RZTkFNSUNERVBfT0ZUCQkweDAwMDgKKyNkZWZpbmUgQ01fTDNJTklUX01N QzFfQ0xLQ1RSTF9PRlQJCTB4MDAyOAorI2RlZmluZSBDTV9MM0lOSVRfTU1DMl9DTEtDVFJMX09G VAkJMHgwMDMwCisjZGVmaW5lIENNX0wzSU5JVF9IU0lfQ0xLQ1RSTF9PRlQJCTB4MDAzOAorI2Rl ZmluZSBDTV9MM0lOSVRfVU5JUFJPMl9DTEtDVFJMX09GVAkJMHgwMDQwCisjZGVmaW5lIENNX0wz SU5JVF9NUEhZX1VOSVBSTzJfQ0xLQ1RSTF9PRlQJMHgwMDQ4CisjZGVmaW5lIENNX0wzSU5JVF9V U0JfSE9TVF9IU19DTEtDVFJMX09GVAkweDAwNTgKKyNkZWZpbmUgQ01fTDNJTklUX1VTQl9UTExf SFNfQ0xLQ1RSTF9PRlQJMHgwMDY4CisjZGVmaW5lIENNX0wzSU5JVF9JRUVFMTUwMF8yX09DUF9D TEtDVFJMX09GVAkweDAwNzgKKyNkZWZpbmUgQ01fTDNJTklUX1NBVEFfQ0xLQ1RSTF9PRlQJCTB4 MDA4OAorI2RlZmluZSBDTV9MM0lOSVRfT0NQMlNDUDFfQ0xLQ1RSTF9PRlQJCTB4MDBFMAorI2Rl ZmluZSBDTV9MM0lOSVRfT0NQMlNDUDNfQ0xLQ1RSTF9PRlQJCTB4MDBFOAorI2RlZmluZSBDTV9M M0lOSVRfVVNCX09UR19TU19DTEtDVFJMX09GVAkweDAwRjAKKworLyogQ0FNX0NNX0NPUkUgUmVn aXN0ZXJzICovCisjZGVmaW5lIENNX0NBTV9DTEtTVENUUkxfUkVWMQkJCTB4NGEwMDkwMDAKKyNk ZWZpbmUgQ01fQ0FNX0NMS1NUQ1RSTF9SRVYyCQkJMHg0YTAwOTMwMAorI2RlZmluZSBDTV9DQU1f U1RBVElDREVQX09GVAkJCTB4MDAwNAorI2RlZmluZSBDTV9DQU1fRFlOQU1JQ0RFUF9PRlQJCQkw eDAwMDgKKyNkZWZpbmUgQ01fQ0FNX0lTU19DTEtDVFJMX09GVAkJCTB4MDAyMAorI2RlZmluZSBD TV9DQU1fRkRJRl9DTEtDVFJMX09GVAkJCTB4MDAyOAorI2RlZmluZSBDTV9DQU1fQ0FMX0NMS0NU UkxfT0ZUCQkJMHgwMDMwCisKKy8qIERTU19DTV9DT1JFIFJlZ2lzdGVycyAqLworI2RlZmluZSBD TV9EU1NfQ0xLU1RDVFJMX1JFVjEJCQkweDRhMDA5MTAwCisjZGVmaW5lIENNX0RTU19DTEtTVENU UkxfUkVWMgkJCTB4NGEwMDk0MDAKKyNkZWZpbmUgQ01fRFNTX1NUQVRJQ0RFUF9PRlQJCQkweDAw MDQKKyNkZWZpbmUgQ01fRFNTX0RZTkFNSUNERVBfT0ZUCQkJMHgwMDA4CisjZGVmaW5lIENNX0RT U19EU1NfQ0xLQ1RSTF9PRlQJCQkweDAwMjAKKyNkZWZpbmUgQ01fRFNTX0JCMkRfQ0xLQ1RSTF9P RlQJCQkweDAwMzAgLyogRm9yIHJldi4gMiAqLworCisvKiBHUFVfQ01fQ09SRSBSZWdpc3RlcnMg Ki8KKyNkZWZpbmUgQ01fR1BVX0NMS1NUQ1RSTF9SRVYxCQkJMHg0YTAwOTIwMAorI2RlZmluZSBD TV9HUFVfQ0xLU1RDVFJMX1JFVjIJCQkweDRhMDA5NTAwCisjZGVmaW5lIENNX0dQVV9TVEFUSUNE RVBfT0ZUCQkJMHgwMDA0CisjZGVmaW5lIENNX0dQVV9EWU5BTUlDREVQX09GVAkJCTB4MDAwOAor I2RlZmluZSBDTV9HUFVfR1BVX0NMS0NUUkxfT0ZUCQkJMHgwMDIwCisKKyNkZWZpbmUgUExMX1NU T1AJCQkJMHgxCisjZGVmaW5lIFBMTF9MT1dfUE9XRVJfQllQQVNTCQkJMHg1CisjZGVmaW5lIFBM TF9GQVNUX1JFTE9DS19CWVBBU1MJCQkweDYKKyNkZWZpbmUgUExMX0xPQ0sJCQkJMHg3CisKKy8q IFRQUyAqLworI2RlZmluZSBUUFM2MjM2MV9JMkNfU0xBVkVfQUREUgkJCTB4NjAKKyNkZWZpbmUg VFBTNjIzNjFfUkVHX0FERFJfU0VUMAkJCTB4MAorI2RlZmluZSBUUFM2MjM2MV9SRUdfQUREUl9T RVQxCQkJMHgxCisjZGVmaW5lIFRQUzYyMzYxX1JFR19BRERSX1NFVDIJCQkweDIKKyNkZWZpbmUg VFBTNjIzNjFfUkVHX0FERFJfU0VUMwkJCTB4MworI2RlZmluZSBUUFM2MjM2MV9SRUdfQUREUl9D VFJMCQkJMHg0CisjZGVmaW5lIFRQUzYyMzYxX1JFR19BRERSX1RFTVAJCQkweDUKKyNkZWZpbmUg VFBTNjIzNjFfUkVHX0FERFJfUk1QX0NUUkwJCTB4NgorI2RlZmluZSBUUFM2MjM2MV9SRUdfQURE Ul9DSElQX0lECQkweDgKKyNkZWZpbmUgVFBTNjIzNjFfUkVHX0FERFJfQ0hJUF9JRF8yCQkweDkK KworI2RlZmluZSBUUFM2MjM2MV9CQVNFX1ZPTFRfTVYJNTAwCisjZGVmaW5lIFRQUzYyMzYxX1ZT RUwwX0dQSU8JNworCisvKiBVc2VkIHRvIGluZGV4IGludG8gRFBMTCBwYXJhbWV0ZXIgdGFibGVz ICovCitzdHJ1Y3QJZHBsbF9wYXJhbSB7CisJdW5zaWduZWQgaW50IG07CisJdW5zaWduZWQgaW50 IG47CisJdW5zaWduZWQgaW50IG0yOworCXVuc2lnbmVkIGludCBtMzsKKwl1bnNpZ25lZCBpbnQg aDExOworCXVuc2lnbmVkIGludCBoMTI7CisJdW5zaWduZWQgaW50IGgxMzsKKwl1bnNpZ25lZCBp bnQgaDE0OworCXVuc2lnbmVkIGludCBoMjI7CisJdW5zaWduZWQgaW50IGgyMzsKK307CisKKy8q IERQTExfTVBVIFByZWZlcnJlZCBTZXR0aW5ncyAgICAgICAJCSAgIG0gICAgbiAgbTIgIG0zICBo MTEgaDEyIGgxMyAKaDE0IGgyMiBoMjMgKi8KKy8qIFNZU19DTEsgPSAxMi4wTUh6ICovCisjZGVm aW5lIE9NQVA1X01QVV9EUExMX1BBUkFNXzEyTTBfSElHSAkJeyAyNzUsICAyLCAgMSwgIDAsICAw LCAgMCwgIDAsIAogIDAsICAwLCAgMH0KKyNkZWZpbmUgT01BUDVfTVBVX0RQTExfUEFSQU1fMTJN MF9OT00JCXsgMjAwLCAgMiwgIDEsICAwLCAgMCwgIDAsICAwLCAKMCwgIDAsICAwfQorI2RlZmlu ZSBPTUFQNV9NUFVfRFBMTF9QQVJBTV8xMk0wX0xPVwkJeyAyMDAsICAyLCAgMiwgIDAsICAwLCAg MCwgIDAsIAowLCAgMCwgIDB9CisvKiBTWVNfQ0xLID0gMTYuOE1IeiAqLworI2RlZmluZSBPTUFQ NV9NUFVfRFBMTF9QQVJBTV8xNk04X0hJR0gJCXsgNDU4LCAgNiwgIDEsICAwLCAgMCwgIDAsICAw LCAKICAwLCAgMCwgIDB9CisjZGVmaW5lIE9NQVA1X01QVV9EUExMX1BBUkFNXzE2TThfTk9NCQl7 IDM3NSwgIDgsICAxLCAgMCwgIDAsICAwLCAgMCwgCjAsICAwLCAgMH0KKyNkZWZpbmUgT01BUDVf TVBVX0RQTExfUEFSQU1fMTZNOF9MT1cJCXsgMzc1LCAgOCwgIDIsICAwLCAgMCwgIDAsICAwLCAK MCwgIDAsICAwfQorLyogU1lTX0NMSyA9IDE5LjJNSHogKi8KKyNkZWZpbmUgT01BUDVfTVBVX0RQ TExfUEFSQU1fMTlNMl9ISUdICQl7IDIyOSwgIDMsICAxLCAgMCwgIDAsICAwLCAgMCwgCiAgMCwg IDAsICAwfQorI2RlZmluZSBPTUFQNV9NUFVfRFBMTF9QQVJBTV8xOU0yX05PTQkJezEwMDAsIDIw LCAgMSwgIDAsICAwLCAgMCwgIDAsIAowLCAgMCwgIDB9CisjZGVmaW5lIE9NQVA1X01QVV9EUExM X1BBUkFNXzE5TTJfTE9XCQl7MTAwMCwgMjAsICAyLCAgMCwgIDAsICAwLCAgMCwgCjAsICAwLCAg MH0KKy8qIFNZU19DTEsgPSAyNi4wTUh6ICovCisjZGVmaW5lIE9NQVA1X01QVV9EUExMX1BBUkFN XzI2TTBfSElHSAkJeyAyOTYsICA2LCAgMSwgIDAsICAwLCAgMCwgIDAsIAogIDAsICAwLCAgMH0K KyNkZWZpbmUgT01BUDVfTVBVX0RQTExfUEFSQU1fMjZNMF9OT00JCXsgNDAwLCAxMiwgIDEsICAw LCAgMCwgIDAsICAwLCAKMCwgIDAsICAwfQorI2RlZmluZSBPTUFQNV9NUFVfRFBMTF9QQVJBTV8y Nk0wX0xPVwkJeyA0MDAsIDEyLCAgMiwgIDAsICAwLCAgMCwgIDAsIAowLCAgMCwgIDB9CisvKiBT WVNfQ0xLID0gMzguNE1IeiAqLworI2RlZmluZSBPTUFQNV9NUFVfRFBMTF9QQVJBTV8zOE00X0hJ R0gJCXsgMjI5LCAgNywgIDEsICAwLCAgMCwgIDAsICAwLCAKICAwLCAgMCwgIDB9CisjZGVmaW5l IE9NQVA1X01QVV9EUExMX1BBUkFNXzM4TTRfTk9NCQl7IDM3NSwgMTcsICAxLCAgMCwgIDAsICAw LCAgMCwgCjAsICAwLCAgMH0KKyNkZWZpbmUgT01BUDVfTVBVX0RQTExfUEFSQU1fMzhNNF9MT1cJ CXsgMzc1LCAxNywgIDIsICAwLCAgMCwgIDAsICAwLCAKMCwgIDAsICAwfQorCisvKiBEUExMX0lW QSBQcmVmZXJyZWQgU2V0dGluZ3MgICAgICAgCQkgICBtICAgIG4gIG0yICBtMyAgaDExIGgxMiBo MTMgCmgxNCBoMjIgaDIzICovCisvKiBTWVNfQ0xLID0gMTIuME1IeiAqLworI2RlZmluZSBPTUFQ NV9JVkFfRFBMTF9QQVJBTV8xMk0wX09ECQl7IDEzMywgIDIsICAwLCAgMCwgIDIsICAyLCAgMCwg CjAsICAwLCAgMH0KKyNkZWZpbmUgT01BUDVfSVZBX0RQTExfUEFSQU1fMTJNMF9OT00JCXsxMTY1 LCAxMSwgIDAsICAwLCAgNSwgIDYsICAwLCAKMCwgIDAsICAwfQorI2RlZmluZSBPTUFQNV9JVkFf RFBMTF9QQVJBTV8xMk0wX0xPVwkJezExNjUsIDExLCAgMCwgIDAsIDEwLCAxMiwgIDAsIAowLCAg MCwgIDB9CisvKiBTWVNfQ0xLID0gMTYuOE1IeiAqLworI2RlZmluZSBPTUFQNV9JVkFfRFBMTF9Q QVJBTV8xNk04X09ECQl7IDI1MywgIDcsICAwLCAgMCwgIDIsICAyLCAgMCwgCjAsICAwLCAgMH0K KyNkZWZpbmUgT01BUDVfSVZBX0RQTExfUEFSQU1fMTZNOF9OT00JCXsgMjA4LCAgMiwgIDAsICAw LCAgNSwgIDYsICAwLCAKMCwgIDAsICAwfQorI2RlZmluZSBPTUFQNV9JVkFfRFBMTF9QQVJBTV8x Nk04X0xPVwkJeyAyMDgsICAyLCAgMCwgIDAsIDEwLCAxMiwgIDAsIAowLCAgMCwgIDB9CisvKiBT WVNfQ0xLID0gMTkuMk1IeiAqLworI2RlZmluZSBPTUFQNV9JVkFfRFBMTF9QQVJBTV8xOU0yX09E CQl7ICA4MywgIDIsICAwLCAgMCwgIDIsICAyLCAgMCwgCjAsICAwLCAgMH0KKyNkZWZpbmUgT01B UDVfSVZBX0RQTExfUEFSQU1fMTlNMl9OT00JCXsgMTgyLCAgMiwgIDAsICAwLCAgNSwgIDYsICAw LCAKMCwgIDAsICAwfQorI2RlZmluZSBPTUFQNV9JVkFfRFBMTF9QQVJBTV8xOU0yX0xPVwkJeyAx ODIsICAyLCAgMCwgIDAsIDEwLCAxMiwgIDAsIAowLCAgMCwgIDB9CisvKiBTWVNfQ0xLID0gMjYu ME1IeiAqLworI2RlZmluZSBPTUFQNV9JVkFfRFBMTF9QQVJBTV8yNk0wX09ECQl7IDE0MywgIDYs ICAwLCAgMCwgIDIsICAyLCAgMCwgCjAsICAwLCAgMH0KKyNkZWZpbmUgT01BUDVfSVZBX0RQTExf UEFSQU1fMjZNMF9OT00JCXsgMjI0LCAgNCwgIDAsICAwLCAgNSwgIDYsICAwLCAKMCwgIDAsICAw fQorI2RlZmluZSBPTUFQNV9JVkFfRFBMTF9QQVJBTV8yNk0wX0xPVwkJeyAyMjQsICA0LCAgMCwg IDAsIDEwLCAxMiwgIDAsIAowLCAgMCwgIDB9CisvKiBTWVNfQ0xLID0gMzguNE1IeiAqLworI2Rl ZmluZSBPTUFQNV9JVkFfRFBMTF9QQVJBTV8zOE00X09ECQl7ICA4MywgIDUsICAwLCAgMCwgIDIs ICAyLCAgMCwgCjAsICAwLCAgMH0KKyNkZWZpbmUgT01BUDVfSVZBX0RQTExfUEFSQU1fMzhNNF9O T00JCXsgIDkxLCAgMiwgIDAsICAwLCAgNSwgIDYsICAwLCAKMCwgIDAsICAwfQorI2RlZmluZSBP TUFQNV9JVkFfRFBMTF9QQVJBTV8zOE00X0xPVwkJeyAgOTEsICAyLCAgMCwgIDAsIDEwLCAxMiwg IDAsIAowLCAgMCwgIDB9CisKKy8qIERQTExfQ09SRSBQcmVmZXJyZWQgU2V0dGluZ3MgICAgICAg CQkgICBtICAgIG4gIG0yICBtMyAgaDExIGgxMiBoMTMgCmgxNCBoMjIgaDIzICovCisvKiBTWVNf Q0xLID0gMTIuME1IeiAqLworI2RlZmluZSBPTUFQNV9DT1JFX0RQTExfUEFSQU1fMTJNMF9OT00J CXsgMjY2LCAgMiwgIDIsICA1LCAgOCwgIDQsIDYyLCAKICA0LCAgNSwgIDd9CisjZGVmaW5lIE9N QVA1X0NPUkVfRFBMTF9QQVJBTV8xMk0wX0xPVwkJeyAyNjYsICAyLCAgNCwgIDgsICA4LCAgOCwg NjIsIAoxMCwgMTAsIDE0fQorLyogU1lTX0NMSyA9IDE2LjhNSHogKi8KKyNkZWZpbmUgT01BUDVf Q09SRV9EUExMX1BBUkFNXzE2TThfTk9NCQl7IDQ0MywgIDYsICAyLCAgNSwgIDgsICA0LCA2Miwg CiAgNCwgIDUsICA3fQorI2RlZmluZSBPTUFQNV9DT1JFX0RQTExfUEFSQU1fMTZNOF9MT1cJCXsg NDQzLCAgNiwgIDQsICA4LCAgOCwgIDgsIDYyLCAKMTAsIDEwLCAxNH0KKy8qIFNZU19DTEsgPSAx OS4yTUh6ICovCisjZGVmaW5lIE9NQVA1X0NPUkVfRFBMTF9QQVJBTV8xOU0yX05PTQkJeyAyNzcs ICA0LCAgMiwgIDUsICA4LCAgNCwgNjIsIAogIDQsICA1LCAgN30KKyNkZWZpbmUgT01BUDVfQ09S RV9EUExMX1BBUkFNXzE5TTJfTE9XCQl7IDI3NywgIDQsICA0LCAgOCwgIDgsICA4LCA2MiwgCjEw LCAxMCwgMTR9CisvKiBTWVNfQ0xLID0gMjYuME1IeiAqLworI2RlZmluZSBPTUFQNV9DT1JFX0RQ TExfUEFSQU1fMjZNMF9OT00JCXsgMzY4LCAgOCwgIDIsICA1LCAgOCwgIDQsIDYyLCAKICA0LCAg NSwgIDd9CisjZGVmaW5lIE9NQVA1X0NPUkVfRFBMTF9QQVJBTV8yNk0wX0xPVwkJeyAzNjgsICA4 LCAgNCwgIDgsICA4LCAgOCwgNjIsIAoxMCwgMTAsIDE0fQorLyogU1lTX0NMSyA9IDM4LjRNSHog Ki8KKyNkZWZpbmUgT01BUDVfQ09SRV9EUExMX1BBUkFNXzM4TTRfTk9NCQl7IDI3NywgIDksICAy LCAgNSwgIDgsICA0LCA2MiwgCiAgNCwgIDUsICA3fQorI2RlZmluZSBPTUFQNV9DT1JFX0RQTExf UEFSQU1fMzhNNF9MT1cJCXsgMjc3LCAgOSwgIDQsICA4LCAgOCwgIDgsIDYyLCAKMTAsIDEwLCAx NH0KKworLyogRFBMTF9QRVIgUHJlZmVycmVkIFNldHRpbmdzICAgICAgIAkJICAgbSAgICBuICBt MiAgbTMgIGgxMSBoMTIgaDEzIApoMTQgaDIyIGgyMyAqLworLyogU1lTX0NMSyA9IDEyLjBNSHog Ki8KKyNkZWZpbmUgT01BUDVfUEVSX0RQTExfUEFSQU1fMTJNMF9OT00JCXsgIDMyLCAgMCwgIDQs ICAzLCAgNiwgIDQsICAwLCAKMiwgIDAsICAwfQorI2RlZmluZSBPTUFQNV9QRVJfRFBMTF9QQVJB TV8xMk0wX0xPVwkJeyAgMzIsICAwLCAgNCwgIDQsICA2LCAgNCwgIDAsIAo0LCAgMCwgIDB9Cisv KiBTWVNfQ0xLID0gMTYuOE1IeiAqLworI2RlZmluZSBPTUFQNV9QRVJfRFBMTF9QQVJBTV8xNk04 X05PTQkJeyAxNjAsICA2LCAgNCwgIDMsICA2LCAgNCwgIDAsIAoyLCAgMCwgIDB9CisjZGVmaW5l IE9NQVA1X1BFUl9EUExMX1BBUkFNXzE2TThfTE9XCQl7IDE2MCwgIDYsICA0LCAgNCwgIDYsICA0 LCAgMCwgCjQsICAwLCAgMH0KKy8qIFNZU19DTEsgPSAxOS4yTUh6ICovCisjZGVmaW5lIE9NQVA1 X1BFUl9EUExMX1BBUkFNXzE5TTJfTk9NCQl7ICAyMCwgIDAsICA0LCAgMywgIDYsICA0LCAgMCwg CjIsICAwLCAgMH0KKyNkZWZpbmUgT01BUDVfUEVSX0RQTExfUEFSQU1fMTlNMl9MT1cJCXsgIDIw LCAgMCwgIDQsICA0LCAgNiwgIDQsICAwLCAKNCwgIDAsICAwfQorLyogU1lTX0NMSyA9IDI2LjBN SHogKi8KKyNkZWZpbmUgT01BUDVfUEVSX0RQTExfUEFSQU1fMjZNMF9OT00JCXsgMTkyLCAxMiwg IDQsICAzLCAgNiwgIDQsICAwLCAKMiwgIDAsICAwfQorI2RlZmluZSBPTUFQNV9QRVJfRFBMTF9Q QVJBTV8yNk0wX0xPVwkJeyAxOTIsIDEyLCAgNCwgIDQsICA2LCAgNCwgIDAsIAo0LCAgMCwgIDB9 CisvKiBTWVNfQ0xLID0gMzguNE1IeiAqLworI2RlZmluZSBPTUFQNV9QRVJfRFBMTF9QQVJBTV8z OE00X05PTQkJeyAgMTAsICAwLCAgNCwgIDMsICA2LCAgNCwgIDAsIAoyLCAgMCwgIDB9CisjZGVm aW5lIE9NQVA1X1BFUl9EUExMX1BBUkFNXzM4TTRfTE9XCQl7ICAxMCwgIDAsICA0LCAgNCwgIDYs ICA0LCAgMCwgCjQsICAwLCAgMH0KKworLyogRFBMTF9BQkUgUHJlZmVycmVkIFNldHRpbmdzICAg ICAgIAkJICAgbSAgICBuICBtMiAgbTMgIGgxMSBoMTIgaDEzIApoMTQgaDIyIGgyMyAqLworI2Rl ZmluZSBPTUFQNV9BQkVfRFBMTF9QQVJBTQkJCXsgNzUwLCAgMCwgIDEsICAxLCAgMCwgIDAsICAw LCAgMCwgIDAsICAwfQorCisvKiBEUExMX1VTQiBQcmVmZXJyZWQgU2V0dGluZ3MgICAgICAgCQkg ICBtICAgIG4gIG0yICBtMyAgaDExIGgxMiBoMTMgCmgxNCBoMjIgaDIzICovCisvKiBTWVNfQ0xL ID0gMTIuME1IeiAqLworI2RlZmluZSBPTUFQNV9VU0JfRFBMTF9QQVJBTV8xMk0wCQl7IDQwMCwg IDQsICAyLCAgMCwgIDAsICAwLCAgMCwgIDAsIAowLCAgMH0KKy8qIFNZU19DTEsgPSAxNi44TUh6 ICovCisjZGVmaW5lIE9NQVA1X1VTQl9EUExMX1BBUkFNXzE2TTgJCXsgNDAwLCAgNiwgIDIsICAw LCAgMCwgIDAsICAwLCAgMCwgCjAsICAwfQorLyogU1lTX0NMSyA9IDE5LjJNSHogKi8KKyNkZWZp bmUgT01BUDVfVVNCX0RQTExfUEFSQU1fMTlNMgkJeyA0MDAsICA2LCAgMiwgIDAsICAwLCAgMCwg IDAsICAwLCAKMCwgIDB9CisvKiBTWVNfQ0xLID0gMjYuME1IeiAqLworI2RlZmluZSBPTUFQNV9V U0JfRFBMTF9QQVJBTV8yNk0wCQl7IDQ4MCwgMTIsICAyLCAgMCwgIDAsICAwLCAgMCwgIDAsIAow LCAgMH0KKy8qIFNZU19DTEsgPSAzOC40TUh6ICovCisjZGVmaW5lIE9NQVA1X1VTQl9EUExMX1BB UkFNXzM4TTQJCXsgNDgwLCAxNSwgIDIsICAwLCAgMCwgIDAsICAwLCAgMCwgCjAsICAwfQorCisv KiBEUExMX1VOSVBSTzEvVU5JUFJPMiBQcmVmZXJyZWQgU2V0dGluZ3MJICAgbSAgICBuICBtMiAg bTMgIGgxMSBoMTIgCmgxMyBoMTQgaDIyIGgyMyAqLworLyogRGlmZmVyZW50IGZvciBEQ08gY2xv Y2sgMTUwME1IeiBhbmQgMTI1ME1IeiAqLworLyogU1lTX0NMSyA9IDEyLjBNSHogKi8KKyNkZWZp bmUgT01BUDVfVU5JUFJPX0RQTExfUEFSQU1fMTJNMF9EQ08xTTUwCXsgNTIwLCAgNCwgIDQsICAw LCAgMCwgIDAsIAogIDAsICAwLCAgMCwgIDB9CisjZGVmaW5lIE9NQVA1X1VOSVBST19EUExMX1BB UkFNXzEyTTBfRENPMU0yNQl7MTgyMiwgMTQsICA0LCAgMCwgIDAsICAwLCAKICAwLCAgMCwgIDAs ICAwfQorLyogU1lTX0NMSyA9IDE2LjhNSHogKi8KKyNkZWZpbmUgT01BUDVfVU5JUFJPX0RQTExf UEFSQU1fMTZNOF9EQ08xTTUwCXsgNTIwLCAgNiwgIDQsICAwLCAgMCwgIDAsIAogIDAsICAwLCAg MCwgIDB9CisjZGVmaW5lIE9NQVA1X1VOSVBST19EUExMX1BBUkFNXzE2TThfRENPMU0yNQl7MTgy MiwgMjAsICA0LCAgMCwgIDAsICAwLCAKICAwLCAgMCwgIDAsICAwfQorLyogU1lTX0NMSyA9IDE5 LjJNSHogKi8KKyNkZWZpbmUgT01BUDVfVU5JUFJPX0RQTExfUEFSQU1fMTlNMl9EQ08xTTUwCXsg NTIwLCAgNywgIDQsICAwLCAgMCwgIDAsIAogIDAsICAwLCAgMCwgIDB9CisjZGVmaW5lIE9NQVA1 X1VOSVBST19EUExMX1BBUkFNXzE5TTJfRENPMU0yNQl7IDkxMSwgMTEsICA0LCAgMCwgIDAsICAw LCAKICAwLCAgMCwgIDAsICAwfQorLyogU1lTX0NMSyA9IDI2LjBNSHogKi8KKyNkZWZpbmUgT01B UDVfVU5JUFJPX0RQTExfUEFSQU1fMjZNMF9EQ08xTTUwCXsgNTI4LCAxMCwgIDQsICAwLCAgMCwg IDAsIAogIDAsICAwLCAgMCwgIDB9CisjZGVmaW5lIE9NQVA1X1VOSVBST19EUExMX1BBUkFNXzI2 TTBfRENPMU0yNQkoMTg1MCwgMzIsICA0LCAgMCwgIDAsICAwLCAKICAwLCAgMCwgIDAsICAwfQor LyogU1lTX0NMSyA9IDM4LjRNSHogKi8KKyNkZWZpbmUgT01BUDVfVU5JUFJPX0RQTExfUEFSQU1f MzhNNF9EQ08xTTUwCXsgNTIwLCAxNSwgIDQsICAwLCAgMCwgIDAsIAogIDAsICAwLCAgMCwgIDB9 CisjZGVmaW5lIE9NQVA1X1VOSVBST19EUExMX1BBUkFNXzM4TTRfRENPMU0yNQl7IDkxMSwgMjMs ICA0LCAgMCwgIDAsICAwLCAKICAwLCAgMCwgIDAsICAwfQorCit2b2lkIG9tYXA1X2NvbmZpZ3Vy ZV9tcHVfZHBsbChjb25zdCBzdHJ1Y3QgZHBsbF9wYXJhbSAqZHBsbF9wYXJhbSk7Cit2b2lkIG9t YXA1X2NvbmZpZ3VyZV9pdmFfZHBsbChjb25zdCBzdHJ1Y3QgZHBsbF9wYXJhbSAqZHBsbF9wYXJh bSk7Cit2b2lkIG9tYXA1X2NvbmZpZ3VyZV9jb3JlX2RwbGxfbm9fbG9jayhjb25zdCBzdHJ1Y3Qg ZHBsbF9wYXJhbSAqcGFyYW0pOwordm9pZCBvbWFwNV9jb25maWd1cmVfcGVyX2RwbGwoY29uc3Qg c3RydWN0IGRwbGxfcGFyYW0gKmRwbGxfcGFyYW0pOwordm9pZCBvbWFwNV9jb25maWd1cmVfYWJl X2RwbGwoY29uc3Qgc3RydWN0IGRwbGxfcGFyYW0gKmRwbGxfcGFyYW0pOwordm9pZCBvbWFwNV9j b25maWd1cmVfdXNiX2RwbGwoY29uc3Qgc3RydWN0IGRwbGxfcGFyYW0gKmRwbGxfcGFyYW0pOwor dm9pZCBvbWFwNV9sb2NrX2NvcmVfZHBsbCh2b2lkKTsKK3ZvaWQgb21hcDVfbG9ja19jb3JlX2Rw bGxfc2hhZG93KGNvbnN0IHN0cnVjdCBkcGxsX3BhcmFtICpwYXJhbSk7Cit2b2lkIG9tYXA1X2Vu YWJsZV9hbGxfY2xvY2tzKHZvaWQpOworCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAv aW5jbHVkZS9tYWNoL29tYXA1LW11eC5oIApiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21h Y2gvb21hcDUtbXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uODA4ZDA0 NQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvb21h cDUtbXV4LmgKQEAgLTAsMCArMSwzMjEgQEAKKy8qCisgKiAoQykgQ29weXJpZ2h0IDIwMTMKKyAq IFNhbSBTb2x1dGlvbnMsIDxzYW0tc29sdXRpb25zLmNvbT4KKyAqCisgKiBBdXRob3JzOgorICoJ VWxhZHppbWlyIEJlbHkgPHUuYmVseUBzYW0tc29sdXRpb25zLmNvbT4KKyAqCURtaXRyeSBMYXZu aWtldmljaCA8ZC5sYXZuaWtldmljaEBzYW0tc29sdXRpb25zLmNvbT4KKyAqCisgKiBEZXJpdmVk IGZyb20gT01BUDUgd29yayBpbiBVLUJvb3QgcHJvamVjdCBieQorICogUmljaGFyZCBXb29kcnVm ZgkJPHItd29vZHJ1ZmYyQHRpLmNvbT4KKyAqIEFuZWVzaCBWCQkJPGFuZWVzaEB0aS5jb20+Cisg KiBCYWxhamkgS3Jpc2huYW1vb3J0aHkJPGJhbGFqaXRrQHRpLmNvbT4KKyAqIChDb3B5cmlnaHQg MjAwNC0yMDA5LCBUZXhhcyBJbnN0cnVtZW50cyBJbmNvcnBvcmF0ZWQpCisgKi8KKworI2lmbmRl ZiBfTVVYX09NQVA1X0hfCisjZGVmaW5lIF9NVVhfT01BUDVfSF8KKworI2luY2x1ZGUgPGFzbS90 eXBlcy5oPgorCitzdHJ1Y3QgcGFkX2NvbmZfZW50cnkgeworCXUxNiBvZmZzZXQ7CisJdTE2IHZh bDsKK307CisKKyNkZWZpbmUgT0ZGX1BECQkJKDAgPDwgMTIpCisjZGVmaW5lIE9GRl9QVQkJCSgw IDw8IDEyKQorI2RlZmluZSBPRkZfT1VUX1BURAkJKDAgPDwgMTApCisjZGVmaW5lIE9GRl9PVVRf UFRVCQkoMCA8PCAxMCkKKyNkZWZpbmUgT0ZGX0lOCQkJKDAgPDwgMTApCisjZGVmaW5lIE9GRl9P VVQJCQkoMCA8PCAxMCkKKyNkZWZpbmUgT0ZGX0VOCQkJKDAgPDwgOSkKKworI2RlZmluZSBJRU4J CQkoMSA8PCA4KQorI2RlZmluZSBJRElTCQkJKDAgPDwgOCkKKyNkZWZpbmUgUFRVCQkJKDMgPDwg MykKKyNkZWZpbmUgUFRECQkJKDEgPDwgMykKKyNkZWZpbmUgRU4JCQkoMSA8PCAzKQorI2RlZmlu ZSBESVMJCQkoMCA8PCAzKQorCisjZGVmaW5lIE0wCQkJMAorI2RlZmluZSBNMQkJCTEKKyNkZWZp bmUgTTIJCQkyCisjZGVmaW5lIE0zCQkJMworI2RlZmluZSBNNAkJCTQKKyNkZWZpbmUgTTUJCQk1 CisjZGVmaW5lIE02CQkJNgorI2RlZmluZSBNNwkJCTcKKworI2RlZmluZSBTQUZFX01PREUJCU03 CisKKyNkZWZpbmUgT0ZGX0lOX1BECQkwCisjZGVmaW5lIE9GRl9JTl9QVQkJMAorI2RlZmluZSBP RkZfT1VUX1BECQkwCisjZGVmaW5lIE9GRl9PVVRfUFUJCTAKKworLyogQ1RSTF9NT0RVTEVfQ09S RV9QQVQgUmVnaXN0ZXJzICovCisvKiBCYXNlIGFkZHJlc3MgaXMgMHg0YTAwMjgwMCAqLworI2Rl ZmluZSBDT1JFX1JFVklTSU9OCQkweDAwMDAKKyNkZWZpbmUgQ09SRV9IV0lORk8JCTB4MDAwNAor I2RlZmluZSBDT1JFX1NZU0NPTkZJRwkJMHgwMDEwCisjZGVmaW5lIEVNTUNfQ0xLCQkweDAwNDAK KyNkZWZpbmUgRU1NQ19DTUQJCTB4MDA0MgorI2RlZmluZSBFTU1DX0RBVEEwCQkweDAwNDQKKyNk ZWZpbmUgRU1NQ19EQVRBMQkJMHgwMDQ2CisjZGVmaW5lIEVNTUNfREFUQTIJCTB4MDA0OAorI2Rl ZmluZSBFTU1DX0RBVEEzCQkweDAwNGEKKyNkZWZpbmUgRU1NQ19EQVRBNAkJMHgwMDRjCisjZGVm aW5lIEVNTUNfREFUQTUJCTB4MDA0ZQorI2RlZmluZSBFTU1DX0RBVEE2CQkweDAwNTAKKyNkZWZp bmUgRU1NQ19EQVRBNwkJMHgwMDUyCisjZGVmaW5lIEMyQ19DTEtPVVQwCQkweDAwNTQKKyNkZWZp bmUgQzJDX0NMS09VVDEJCTB4MDA1NgorI2RlZmluZSBDMkNfQ0xLSU4wCQkweDAwNTgKKyNkZWZp bmUgQzJDX0NMS0lOMQkJMHgwMDVhCisjZGVmaW5lIEMyQ19EQVRBSU4wCQkweDAwNWMKKyNkZWZp bmUgQzJDX0RBVEFJTjEJCTB4MDA1ZQorI2RlZmluZSBDMkNfREFUQUlOMgkJMHgwMDYwCisjZGVm aW5lIEMyQ19EQVRBSU4zCQkweDAwNjIKKyNkZWZpbmUgQzJDX0RBVEFJTjQJCTB4MDA2NAorI2Rl ZmluZSBDMkNfREFUQUlONQkJMHgwMDY2CisjZGVmaW5lIEMyQ19EQVRBSU42CQkweDAwNjgKKyNk ZWZpbmUgQzJDX0RBVEFJTjcJCTB4MDA2YQorI2RlZmluZSBDMkNfREFUQU9VVDAJCTB4MDA2Ywor I2RlZmluZSBDMkNfREFUQU9VVDEJCTB4MDA2ZQorI2RlZmluZSBDMkNfREFUQU9VVDIJCTB4MDA3 MAorI2RlZmluZSBDMkNfREFUQU9VVDMJCTB4MDA3MgorI2RlZmluZSBDMkNfREFUQU9VVDQJCTB4 MDA3NAorI2RlZmluZSBDMkNfREFUQU9VVDUJCTB4MDA3NgorI2RlZmluZSBDMkNfREFUQU9VVDYJ CTB4MDA3OAorI2RlZmluZSBDMkNfREFUQU9VVDcJCTB4MDA3YQorI2RlZmluZSBDMkNfREFUQTgJ CTB4MDA3YworI2RlZmluZSBDMkNfREFUQTkJCTB4MDA3ZQorI2RlZmluZSBDMkNfREFUQTEwCQkw eDAwODAKKyNkZWZpbmUgQzJDX0RBVEExMQkJMHgwMDgyCisjZGVmaW5lIEMyQ19EQVRBMTIJCTB4 MDA4NAorI2RlZmluZSBDMkNfREFUQTEzCQkweDAwODYKKyNkZWZpbmUgQzJDX0RBVEExNAkJMHgw MDg4CisjZGVmaW5lIEMyQ19EQVRBMTUJCTB4MDA4YQorI2RlZmluZSBMTElBX1dBS0VSRVFPVVQJ CTB4MDA4YworI2RlZmluZSBMTElCX1dBS0VSRVFPVVQJCTB4MDA4ZQorI2RlZmluZSBIU0kxX0FD UkVBRFkJCTB4MDA5MAorI2RlZmluZSBIU0kxX0NBUkVBRFkJCTB4MDA5MgorI2RlZmluZSBIU0kx X0FDV0FLRQkJMHgwMDk0CisjZGVmaW5lIEhTSTFfQ0FXQUtFCQkweDAwOTYKKyNkZWZpbmUgSFNJ MV9BQ0ZMQUcJCTB4MDA5OAorI2RlZmluZSBIU0kxX0FDREFUQQkJMHgwMDlhCisjZGVmaW5lIEhT STFfQ0FGTEFHCQkweDAwOWMKKyNkZWZpbmUgSFNJMV9DQURBVEEJCTB4MDA5ZQorI2RlZmluZSBV QVJUMV9UWAkJMHgwMGEwCisjZGVmaW5lIFVBUlQxX0NUUwkJMHgwMGEyCisjZGVmaW5lIFVBUlQx X1JYCQkweDAwYTQKKyNkZWZpbmUgVUFSVDFfUlRTCQkweDAwYTYKKyNkZWZpbmUgSFNJMl9DQVJF QURZCQkweDAwYTgKKyNkZWZpbmUgSFNJMl9BQ1JFQURZCQkweDAwYWEKKyNkZWZpbmUgSFNJMl9D QVdBS0UJCTB4MDBhYworI2RlZmluZSBIU0kyX0FDV0FLRQkJMHgwMGFlCisjZGVmaW5lIEhTSTJf Q0FGTEFHCQkweDAwYjAKKyNkZWZpbmUgSFNJMl9DQURBVEEJCTB4MDBiMgorI2RlZmluZSBIU0ky X0FDRkxBRwkJMHgwMGI0CisjZGVmaW5lIEhTSTJfQUNEQVRBCQkweDAwYjYKKyNkZWZpbmUgVUFS VDJfUlRTCQkweDAwYjgKKyNkZWZpbmUgVUFSVDJfQ1RTCQkweDAwYmEKKyNkZWZpbmUgVUFSVDJf UlgJCTB4MDBiYworI2RlZmluZSBVQVJUMl9UWAkJMHgwMGJlCisjZGVmaW5lIFVTQkIxX0hTSUNf U1RST0JFCTB4MDBjMAorI2RlZmluZSBVU0JCMV9IU0lDX0RBVEEJCTB4MDBjMgorI2RlZmluZSBV U0JCMl9IU0lDX1NUUk9CRQkweDAwYzQKKyNkZWZpbmUgVVNCQjJfSFNJQ19EQVRBCQkweDAwYzYK KyNkZWZpbmUgVElNRVIxMF9QV01fRVZUCQkweDAwYzgKKyNkZWZpbmUgRFNJUE9SVEFfVEUwCQkw eDAwY2EKKyNkZWZpbmUgRFNJUE9SVEFfTEFORTBYCQkweDAwY2MKKyNkZWZpbmUgRFNJUE9SVEFf TEFORTBZCQkweDAwY2UKKyNkZWZpbmUgRFNJUE9SVEFfTEFORTFYCQkweDAwZDAKKyNkZWZpbmUg RFNJUE9SVEFfTEFORTFZCQkweDAwZDIKKyNkZWZpbmUgRFNJUE9SVEFfTEFORTJYCQkweDAwZDQK KyNkZWZpbmUgRFNJUE9SVEFfTEFORTJZCQkweDAwZDYKKyNkZWZpbmUgRFNJUE9SVEFfTEFORTNY CQkweDAwZDgKKyNkZWZpbmUgRFNJUE9SVEFfTEFORTNZCQkweDAwZGEKKyNkZWZpbmUgRFNJUE9S VEFfTEFORTRYCQkweDAwZGMKKyNkZWZpbmUgRFNJUE9SVEFfTEFORTRZCQkweDAwZGUKKyNkZWZp bmUgRFNJUE9SVENfTEFORTBYCQkweDAwZTAKKyNkZWZpbmUgRFNJUE9SVENfTEFORTBZCQkweDAw ZTIKKyNkZWZpbmUgRFNJUE9SVENfTEFORTFYCQkweDAwZTQKKyNkZWZpbmUgRFNJUE9SVENfTEFO RTFZCQkweDAwZTYKKyNkZWZpbmUgRFNJUE9SVENfTEFORTJYCQkweDAwZTgKKyNkZWZpbmUgRFNJ UE9SVENfTEFORTJZCQkweDAwZWEKKyNkZWZpbmUgRFNJUE9SVENfTEFORTNYCQkweDAwZWMKKyNk ZWZpbmUgRFNJUE9SVENfTEFORTNZCQkweDAwZWUKKyNkZWZpbmUgRFNJUE9SVENfTEFORTRYCQkw eDAwZjAKKyNkZWZpbmUgRFNJUE9SVENfTEFORTRZCQkweDAwZjIKKyNkZWZpbmUgRFNJUE9SVENf VEUwCQkweDAwZjQKKyNkZWZpbmUgVElNRVI5X1BXTV9FVlQJCTB4MDBmNgorI2RlZmluZSBJMkM0 X1NDTAkJMHgwMGY4CisjZGVmaW5lIEkyQzRfU0RBCQkweDAwZmEKKyNkZWZpbmUgTUNTUEkyX0NM SwkJMHgwMGZjCisjZGVmaW5lIE1DU1BJMl9TSU1PCQkweDAwZmUKKyNkZWZpbmUgTUNTUEkyX1NP TUkJCTB4MDEwMAorI2RlZmluZSBNQ1NQSTJfQ1MwCQkweDAxMDIKKyNkZWZpbmUgUkZCSV9EQVRB MTUJCTB4MDEwNAorI2RlZmluZSBSRkJJX0RBVEExNAkJMHgwMTA2CisjZGVmaW5lIFJGQklfREFU QTEzCQkweDAxMDgKKyNkZWZpbmUgUkZCSV9EQVRBMTIJCTB4MDEwYQorI2RlZmluZSBSRkJJX0RB VEExMQkJMHgwMTBjCisjZGVmaW5lIFJGQklfREFUQTEwCQkweDAxMGUKKyNkZWZpbmUgUkZCSV9E QVRBOQkJMHgwMTEwCisjZGVmaW5lIFJGQklfREFUQTgJCTB4MDExMgorI2RlZmluZSBSRkJJX0RB VEE3CQkweDAxMTQKKyNkZWZpbmUgUkZCSV9EQVRBNgkJMHgwMTE2CisjZGVmaW5lIFJGQklfREFU QTUJCTB4MDExOAorI2RlZmluZSBSRkJJX0RBVEE0CQkweDAxMWEKKyNkZWZpbmUgUkZCSV9EQVRB MwkJMHgwMTFjCisjZGVmaW5lIFJGQklfREFUQTIJCTB4MDExZQorI2RlZmluZSBSRkJJX0RBVEEx CQkweDAxMjAKKyNkZWZpbmUgUkZCSV9EQVRBMAkJMHgwMTIyCisjZGVmaW5lIFJGQklfV0UJCQkw eDAxMjQKKyNkZWZpbmUgUkZCSV9DUzAJCTB4MDEyNgorI2RlZmluZSBSRkJJX0EwCQkJMHgwMTI4 CisjZGVmaW5lIFJGQklfUkUJCQkweDAxMmEKKyNkZWZpbmUgUkZCSV9IU1lOQzAJCTB4MDEyYwor I2RlZmluZSBSRkJJX1RFX1ZTWU5DMAkJMHgwMTJlCisjZGVmaW5lIEdQSU82XzE4MgkJMHgwMTMw CisjZGVmaW5lIEdQSU82XzE4MwkJMHgwMTMyCisjZGVmaW5lIEdQSU82XzE4NAkJMHgwMTM0Cisj ZGVmaW5lIEdQSU82XzE4NQkJMHgwMTM2CisjZGVmaW5lIEdQSU82XzE4NgkJMHgwMTM4CisjZGVm aW5lIEdQSU82XzE4NwkJMHgwMTNhCisjZGVmaW5lIEhETUlfQ0VDCQkweDAxM2MKKyNkZWZpbmUg SERNSV9IUEQJCTB4MDEzZQorI2RlZmluZSBIRE1JX0REQ19TQ0wJCTB4MDE0MAorI2RlZmluZSBI RE1JX0REQ19TREEJCTB4MDE0MgorI2RlZmluZSBDU0lQT1JUQ19MQU5FMFgJCTB4MDE0NAorI2Rl ZmluZSBDU0lQT1JUQ19MQU5FMFkJCTB4MDE0NgorI2RlZmluZSBDU0lQT1JUQ19MQU5FMVgJCTB4 MDE0OAorI2RlZmluZSBDU0lQT1JUQ19MQU5FMVkJCTB4MDE0YQorI2RlZmluZSBDU0lQT1JUQl9M QU5FMFgJCTB4MDE0YworI2RlZmluZSBDU0lQT1JUQl9MQU5FMFkJCTB4MDE0ZQorI2RlZmluZSBD U0lQT1JUQl9MQU5FMVgJCTB4MDE1MAorI2RlZmluZSBDU0lQT1JUQl9MQU5FMVkJCTB4MDE1Mgor I2RlZmluZSBDU0lQT1JUQl9MQU5FMlgJCTB4MDE1NAorI2RlZmluZSBDU0lQT1JUQl9MQU5FMlkJ CTB4MDE1NgorI2RlZmluZSBDU0lQT1JUQV9MQU5FMFgJCTB4MDE1OAorI2RlZmluZSBDU0lQT1JU QV9MQU5FMFkJCTB4MDE1YQorI2RlZmluZSBDU0lQT1JUQV9MQU5FMVgJCTB4MDE1YworI2RlZmlu ZSBDU0lQT1JUQV9MQU5FMVkJCTB4MDE1ZQorI2RlZmluZSBDU0lQT1JUQV9MQU5FMlgJCTB4MDE2 MAorI2RlZmluZSBDU0lQT1JUQV9MQU5FMlkJCTB4MDE2MgorI2RlZmluZSBDU0lQT1JUQV9MQU5F M1gJCTB4MDE2NAorI2RlZmluZSBDU0lQT1JUQV9MQU5FM1kJCTB4MDE2NgorI2RlZmluZSBDU0lQ T1JUQV9MQU5FNFgJCTB4MDE2OAorI2RlZmluZSBDU0lQT1JUQV9MQU5FNFkJCTB4MDE2YQorI2Rl ZmluZSBDQU1fU0hVVFRFUgkJMHgwMTZjCisjZGVmaW5lIENBTV9TVFJPQkUJCTB4MDE2ZQorI2Rl ZmluZSBDQU1fR0xPQkFMUkVTRVQJCTB4MDE3MAorI2RlZmluZSBUSU1FUjExX1BXTV9FVlQJCTB4 MDE3MgorI2RlZmluZSBUSU1FUjVfUFdNX0VWVAkJMHgwMTc0CisjZGVmaW5lIFRJTUVSNl9QV01f RVZUCQkweDAxNzYKKyNkZWZpbmUgVElNRVI4X1BXTV9FVlQJCTB4MDE3OAorI2RlZmluZSBJMkMz X1NDTAkJMHgwMTdhCisjZGVmaW5lIEkyQzNfU0RBCQkweDAxN2MKKyNkZWZpbmUgR1BJTzhfMjMz CQkweDAxN2UKKyNkZWZpbmUgR1BJTzhfMjM0CQkweDAxODAKKyNkZWZpbmUgQUJFX0NMS1MJCTB4 MDE4MgorI2RlZmluZSBBQkVETUlDX0RJTjEJCTB4MDE4NAorI2RlZmluZSBBQkVETUlDX0RJTjIJ CTB4MDE4NgorI2RlZmluZSBBQkVETUlDX0RJTjMJCTB4MDE4OAorI2RlZmluZSBBQkVETUlDX0NM SzEJCTB4MDE4YQorI2RlZmluZSBBQkVETUlDX0NMSzIJCTB4MDE4YworI2RlZmluZSBBQkVETUlD X0NMSzMJCTB4MDE4ZQorI2RlZmluZSBBQkVTTElNQlVTMV9DTE9DSwkweDAxOTAKKyNkZWZpbmUg QUJFU0xJTUJVUzFfREFUQQkweDAxOTIKKyNkZWZpbmUgQUJFTUNCU1AyX0RSCQkweDAxOTQKKyNk ZWZpbmUgQUJFTUNCU1AyX0RYCQkweDAxOTYKKyNkZWZpbmUgQUJFTUNCU1AyX0ZTWAkJMHgwMTk4 CisjZGVmaW5lIEFCRU1DQlNQMl9DTEtYCQkweDAxOWEKKyNkZWZpbmUgQUJFTUNQRE1fVUxfREFU QQkweDAxOWMKKyNkZWZpbmUgQUJFTUNQRE1fRExfREFUQQkweDAxOWUKKyNkZWZpbmUgQUJFTUNQ RE1fRlJBTUUJCTB4MDFhMAorI2RlZmluZSBBQkVNQ1BETV9MQl9DTEsJCTB4MDFhMgorI2RlZmlu ZSBXTFNESU9fQ0xLCQkweDAxYTQKKyNkZWZpbmUgV0xTRElPX0NNRAkJMHgwMWE2CisjZGVmaW5l IFdMU0RJT19EQVRBMAkJMHgwMWE4CisjZGVmaW5lIFdMU0RJT19EQVRBMQkJMHgwMWFhCisjZGVm aW5lIFdMU0RJT19EQVRBMgkJMHgwMWFjCisjZGVmaW5lIFdMU0RJT19EQVRBMwkJMHgwMWFlCisj ZGVmaW5lIFVBUlQ1X1JYCQkweDAxYjAKKyNkZWZpbmUgVUFSVDVfVFgJCTB4MDFiMgorI2RlZmlu ZSBVQVJUNV9DVFMJCTB4MDFiNAorI2RlZmluZSBVQVJUNV9SVFMJCTB4MDFiNgorI2RlZmluZSBJ MkMyX1NDTAkJMHgwMWI4CisjZGVmaW5lIEkyQzJfU0RBCQkweDAxYmEKKyNkZWZpbmUgTUNTUEkx X0NMSwkJMHgwMWJjCisjZGVmaW5lIE1DU1BJMV9TT01JCQkweDAxYmUKKyNkZWZpbmUgTUNTUEkx X1NJTU8JCTB4MDFjMAorI2RlZmluZSBNQ1NQSTFfQ1MwCQkweDAxYzIKKyNkZWZpbmUgTUNTUEkx X0NTMQkJMHgwMWM0CisjZGVmaW5lIEkyQzVfU0NMCQkweDAxYzYKKyNkZWZpbmUgSTJDNV9TREEJ CTB4MDFjOAorI2RlZmluZSBQRVJTTElNQlVTMl9DTE9DSwkweDAxY2EgLyogR1BJTzVfMTQ1IGlu IHJldi4gMiAqLworI2RlZmluZSBQRVJTTElNQlVTMl9EQVRBCTB4MDFjYyAvKiBHUElPNV8xNDYg aW4gcmV2LiAyICovCisjZGVmaW5lIFVBUlQ2X1RYCQkweDAxY2UKKyNkZWZpbmUgVUFSVDZfUlgJ CTB4MDFkMAorI2RlZmluZSBVQVJUNl9DVFMJCTB4MDFkMgorI2RlZmluZSBVQVJUNl9SVFMJCTB4 MDFkNAorI2RlZmluZSBVQVJUM19DVFNfUkNUWAkJMHgwMWQ2CisjZGVmaW5lIFVBUlQzX1JUU19J UlNECQkweDAxZDgKKyNkZWZpbmUgVUFSVDNfVFhfSVJUWAkJMHgwMWRhCisjZGVmaW5lIFVBUlQz X1JYX0lSUlgJCTB4MDFkYworI2RlZmluZSBVU0JCM19IU0lDX1NUUk9CRQkweDAxZGUKKyNkZWZp bmUgVVNCQjNfSFNJQ19EQVRBCQkweDAxZTAKKyNkZWZpbmUgU0RDQVJEX0NMSwkJMHgwMWUyCisj ZGVmaW5lIFNEQ0FSRF9DTUQJCTB4MDFlNAorI2RlZmluZSBTRENBUkRfREFUQTIJCTB4MDFlNgor I2RlZmluZSBTRENBUkRfREFUQTMJCTB4MDFlOAorI2RlZmluZSBTRENBUkRfREFUQTAJCTB4MDFl YQorI2RlZmluZSBTRENBUkRfREFUQTEJCTB4MDFlYworI2RlZmluZSBVU0JEMF9IU19EUAkJMHgw MWVlCisjZGVmaW5lIFVTQkQwX0hTX0RNCQkweDAxZjAKKyNkZWZpbmUgSTJDMV9QTUlDX1NDTAkJ MHgwMWYyCisjZGVmaW5lIEkyQzFfUE1JQ19TREEJCTB4MDFmNAorI2RlZmluZSBVU0JEMF9TU19S WAkJMHgwMWY2CisKKy8qIENUUkxfTU9EVUxFX1dLVVBfUEFEIFJlZ2lzdGVycyAqLworLyogQmFz ZSBhZGRyZXNzIGlzIDB4NGFlMGM4MDAgKi8KKyNkZWZpbmUgV0tVUF9SRVZJU0lPTgkJMHgwMDAw CisjZGVmaW5lIFdLVVBfSFdJTkZPCQkweDAwMDQKKyNkZWZpbmUgV0tVUF9TWVNDT05GSUcJCTB4 MDAxMAorI2RlZmluZSBMTElBX1dBS0VSRVFJTgkJMHgwMDQwCisjZGVmaW5lIExMSUJfV0FLRVJF UUlOCQkweDAwNDIKKyNkZWZpbmUgRFJNX0VNVTAJCTB4MDA0NAorI2RlZmluZSBEUk1fRU1VMQkJ MHgwMDQ2CisjZGVmaW5lIEpUQUdfTlRSU1QJCTB4MDA0OAorI2RlZmluZSBKVEFHX1RDSwkJMHgw MDRhCisjZGVmaW5lIEpUQUdfUlRDSwkJMHgwMDRjCisjZGVmaW5lIEpUQUdfVE1TQwkJMHgwMDRl CisjZGVmaW5lIEpUQUdfVERJCQkweDAwNTAKKyNkZWZpbmUgSlRBR19URE8JCTB4MDA1MgorI2Rl ZmluZSBTWVNfMzJLCQkJMHgwMDU0CisjZGVmaW5lIEZSRUZfQ0xLX0lPUkVRCQkweDAwNTYKKyNk ZWZpbmUgRlJFRl9DTEswX09VVAkJMHgwMDU4CisjZGVmaW5lIEZSRUZfQ0xLMV9PVVQJCTB4MDA1 YQorI2RlZmluZSBGUkVGX0NMSzJfT1VUCQkweDAwNWMKKyNkZWZpbmUgRlJFRl9DTEsyX1JFUQkJ MHgwMDVlCisjZGVmaW5lIEZSRUZfQ0xLMV9SRVEJCTB4MDA2MAorI2RlZmluZSBTWVNfTlJFU1BX Uk9OCQkweDAwNjIKKyNkZWZpbmUgU1lTX05SRVNXQVJNCQkweDAwNjQKKyNkZWZpbmUgU1lTX1BX Ul9SRVEJCTB4MDA2NgorI2RlZmluZSBTWVNfTklSUTEJCTB4MDA2OAorI2RlZmluZSBTWVNfTklS UTIJCTB4MDA2YQorI2RlZmluZSBTUl9QTUlDX1NDTAkJMHgwMDZjCisjZGVmaW5lIFNSX1BNSUNf U0RBCQkweDAwNmUKKyNkZWZpbmUgU1lTX0JPT1QwCQkweDAwNzAKKyNkZWZpbmUgU1lTX0JPT1Qx CQkweDAwNzIKKyNkZWZpbmUgU1lTX0JPT1QyCQkweDAwNzQKKyNkZWZpbmUgU1lTX0JPT1QzCQkw eDAwNzYKKyNkZWZpbmUgU1lTX0JPT1Q0CQkweDAwNzgKKyNkZWZpbmUgU1lTX0JPT1Q1CQkweDAw N2EKKwordm9pZCBvbWFwNV9kb19zZXRfbXV4KHUzMiBiYXNlLCBzdHJ1Y3QgcGFkX2NvbmZfZW50 cnkgY29uc3QgKmFycmF5LCBpbnQgCnNpemUpOworCisjZW5kaWYgLyogX01VWF9PTUFQNV9IXyAq LwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9vbWFwNS1zaWxp Y29uLmggCmIvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9vbWFwNS1zaWxpY29uLmgK bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTBjNzAzOQotLS0gL2Rldi9udWxs CisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvb21hcDUtc2lsaWNvbi5oCkBA IC0wLDAgKzEsMjQ0IEBACisvKgorICogKEMpIENvcHlyaWdodCAyMDEzCisgKiBTYW0gU29sdXRp b25zLCA8c2FtLXNvbHV0aW9ucy5jb20+CisgKgorICogQXV0aG9yczoKKyAqCVVsYWR6aW1pciBC ZWx5IDx1LmJlbHlAc2FtLXNvbHV0aW9ucy5jb20+CisgKglEbWl0cnkgTGF2bmlrZXZpY2ggPGQu bGF2bmlrZXZpY2hAc2FtLXNvbHV0aW9ucy5jb20+CisgKgorICogRGVyaXZlZCBmcm9tIE9NQVA0 IHdvcmsgYnkKKyAqCUFuZWVzaCBWIDxhbmVlc2hAdGkuY29tPgorICovCisKKyNpZm5kZWYgX09N QVA1X0hfCisjZGVmaW5lIF9PTUFQNV9IXworCisjaWYgIShkZWZpbmVkKF9fS0VSTkVMX1NUUklD VF9OQU1FUykgfHwgZGVmaW5lZChfX0FTU0VNQkxZX18pKQorI2luY2x1ZGUgPGFzbS90eXBlcy5o PgorI2VuZGlmIC8qICEoX19LRVJORUxfU1RSSUNUX05BTUVTIHx8IF9fQVNTRU1CTFlfXykgKi8K KworLyogTDQgUGVyaXBoZXJhbHMgLSBMNCBXYWtldXAgYW5kIEw0IENvcmUgbm93ICovCisjZGVm aW5lIE9NQVA1NFhYX0w0X0NGR19CQVNFCQkJCTB4NEEwMDAwMDAKKyNkZWZpbmUgT01BUDU0WFhf TDRfV0tVUF9CQVNFCQkJCTB4NEFlMDAwMDAKKyNkZWZpbmUgT01BUDU0WFhfTDRfUEVSX0JBU0UJ CQkJMHg0ODAwMDAwMAorCisvKiBFTUlGIGFuZCBETU0gcmVnaXN0ZXJzICovCisjZGVmaW5lIE9N QVA1NFhYX0VNSUYxX0JBU0UJCQkJMHg0YzAwMDAwMAorI2RlZmluZSBPTUFQNTRYWF9FTUlGMl9C QVNFCQkJCTB4NGQwMDAwMDAKKworI2RlZmluZSBPTUFQNTRYWF9EUkFNX0FERFJfU1BBQ0VfU1RB UlQJCQkweDgwMDAwMDAwCisjZGVmaW5lIE9NQVA1NFhYX0RSQU1fQUREUl9TUEFDRV9FTkQJCQkw eGZmMDAwMDAwCisKKy8qIENPTlRST0wgKi8KKyNkZWZpbmUgT01BUDU0WFhfQ1RSTF9CQVNFCQkJ CShPTUFQNTRYWF9MNF9DRkdfQkFTRSArIDB4MjAwMCkKKyNkZWZpbmUgT01BUDU0WFhfQ09OVFJP TF9QQURDT05GX0NPUkUJCQkoT01BUDU0WFhfQ1RSTF9CQVNFICsgMHgwODAwKQorI2RlZmluZSBP TUFQNTRYWF9DT05UUk9MX1BBRENPTkZfV0tVUAkJCShPTUFQNTRYWF9MNF9XS1VQX0JBU0UgKyAw eGM4MDApCisKKy8qIFBSTSAqLworI2RlZmluZSBPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTUwkJ CShPTUFQNTRYWF9MNF9XS1VQX0JBU0UgKyAweDdiYTApCisjZGVmaW5lIE9NQVA1NFhYX1BSTV9W Q19DRkdfSTJDX01PREUJCQkoT01BUDU0WFhfTDRfV0tVUF9CQVNFICsgMHg3YmI0KQorI2RlZmlu ZSBPTUFQNTRYWF9QUk1fVkNfQ0ZHX0kyQ19DTEsJCQkoT01BUDU0WFhfTDRfV0tVUF9CQVNFICsg MHg3YmI4KQorI2RlZmluZSBPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTU19WQUxJRF9CSVQJCTB4 MTAwMDAwMAorI2RlZmluZSBPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTU19TTEFWRUFERFJfU0hJ RlQJMAorI2RlZmluZSBPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTU19TTEFWRUFERFJfTUFTSwkw eDdGCisjZGVmaW5lIE9NQVA1NFhYX1BSTV9WQ19WQUxfQllQQVNTX1JFR0FERFJfU0hJRlQJOAor I2RlZmluZSBPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTU19SRUdBRERSX01BU0sJCTB4RkYKKyNk ZWZpbmUgT01BUDU0WFhfUFJNX1ZDX1ZBTF9CWVBBU1NfREFUQV9TSElGVAkJMTYKKyNkZWZpbmUg T01BUDU0WFhfUFJNX1ZDX1ZBTF9CWVBBU1NfREFUQV9NQVNLCQkweEZGCisKKyNkZWZpbmUgVkRE X01QVQkJCQkJCTExNTAKKyNkZWZpbmUgVkREX01NCQkJCQkJMTE1MAorI2RlZmluZSBWRERfQ09S RQkJCQkJMTE1MAorCisjZGVmaW5lIFNNUFNfQkFTRV9WT0xUX1VWCQkJCTUwMDAwMAorI2RlZmlu ZSBTTVBTX0kyQ19TTEFWRV9BRERSCQkJCTB4MTIKKyNkZWZpbmUgU01QU19SRUdfQUREUl8xMl9N UFUJCQkJMHgyMworI2RlZmluZSBTTVBTX1JFR19BRERSXzQ1X0lWQQkJCQkweDJCCisjZGVmaW5l IFNNUFNfUkVHX0FERFJfOF9DT1JFCQkJCTB4MzcKKworLyogSVJRICovCisjZGVmaW5lIE9NQVA1 NFhYX1BSTV9JUlFTVEFUVVNfTVBVCQkJKE9NQVA1NFhYX0w0X1dLVVBfQkFTRSArIDB4NjAxMCkK KworLyogVUFSVCAqLworI2RlZmluZSBPTUFQNTRYWF9VQVJUMV9CQVNFCQkJCShPTUFQNTRYWF9M NF9QRVJfQkFTRSArIDB4NmEwMDApCisjZGVmaW5lIE9NQVA1NFhYX1VBUlQyX0JBU0UJCQkJKE9N QVA1NFhYX0w0X1BFUl9CQVNFICsgMHg2YzAwMCkKKyNkZWZpbmUgT01BUDU0WFhfVUFSVDNfQkFT RQkJCQkoT01BUDU0WFhfTDRfUEVSX0JBU0UgKyAweDIwMDAwKQorCisvKiBJMkMgKi8KKyNkZWZp bmUgT01BUDU0WFhfSTJDMV9CQVNFCQkJCShPTUFQNTRYWF9MNF9QRVJfQkFTRSArIDB4MDcwMDAw KQorI2RlZmluZSBPTUFQNTRYWF9JMkMyX0JBU0UJCQkJKE9NQVA1NFhYX0w0X1BFUl9CQVNFICsg MHgwNzIwMDApCisjZGVmaW5lIE9NQVA1NFhYX0kyQzNfQkFTRQkJCQkoT01BUDU0WFhfTDRfUEVS X0JBU0UgKyAweDA2MDAwMCkKKworLyogR2VuZXJhbCBQdXJwb3NlIFRpbWVycyAqLworI2RlZmlu ZSBPTUFQNTRYWF9HUFQxX0JBU0UJCQkJKE9NQVA1NFhYX0w0X1dLVVBfQkFTRSArIDB4MTgwMDAp CisjZGVmaW5lIE9NQVA1NFhYX0dQVDJfQkFTRQkJCQkoT01BUDU0WFhfTDRfUEVSX0JBU0UgICsg MHgzMjAwMCkKKyNkZWZpbmUgT01BUDU0WFhfR1BUM19CQVNFCQkJCShPTUFQNTRYWF9MNF9QRVJf QkFTRSAgKyAweDM0MDAwKQorCisvKiBXYXRjaGRvZyBUaW1lcjIgLSBNUFUgd2F0Y2hkb2cgKi8K KyNkZWZpbmUgT01BUDU0WFhfV0RUMl9CQVNFCQkJCShPTUFQNTRYWF9MNF9XS1VQX0JBU0UgKyAw eDE0MDAwKQorCisjZGVmaW5lIE9NQVA1NFhYX1NDUk1fQkFTRQkJCQkoT01BUDU0WFhfTDRfV0tV UF9CQVNFICsgMHhhMDAwKQorI2RlZmluZSBPTUFQNTRYWF9TQ1JNX0FVWENMSzEJCQkJKE9NQVA1 NFhYX1NDUk1fQkFTRSArIDB4MzE0KQorI2RlZmluZSBPTUFQNTRYWF9TQ1JNX0FVWENMSzMJCQkJ KE9NQVA1NFhYX1NDUk1fQkFTRSArIDB4MzFjKQorCisvKiAzMktUSU1FUiAqLworI2RlZmluZSBP TUFQNTRYWF8zMktUSU1FUl9CQVNFCQkJCShPTUFQNTRYWF9MNF9XS1VQX0JBU0UgKyAweDQwMDAp CisKKy8qIE1NQyAqLworI2RlZmluZSBPTUFQNTRYWF9NTUMxX0JBU0UJCQkJKE9NQVA1NFhYX0w0 X1BFUl9CQVNFICsgMHgwOUMwMDApCisjZGVmaW5lIE9NQVA1NFhYX01NQzJfQkFTRQkJCQkoT01B UDU0WFhfTDRfUEVSX0JBU0UgKyAweDBCNDAwMCkKKyNkZWZpbmUgT01BUDU0WFhfTU1DM19CQVNF CQkJCShPTUFQNTRYWF9MNF9QRVJfQkFTRSArIDB4MGFkMDAwKQorI2RlZmluZSBPTUFQNTRYWF9N TUM0X0JBU0UJCQkJKE9NQVA1NFhYX0w0X1BFUl9CQVNFICsgMHgwZDEwMDApCisjZGVmaW5lIE9N QVA1NFhYX01NQzVfQkFTRQkJCQkoT01BUDU0WFhfTDRfUEVSX0JBU0UgKyAweDBkNTAwMCkKKwor LyogR1BJTyAqLworI2RlZmluZSBPTUFQNTRYWF9HUElPMV9CQVNFCQkJCShPTUFQNTRYWF9MNF9X S1VQX0JBU0UgKyAweDEwMDAwKQorI2RlZmluZSBPTUFQNTRYWF9HUElPMl9CQVNFCQkJCShPTUFQ NTRYWF9MNF9QRVJfQkFTRSAgKyAweDU1MDAwKQorI2RlZmluZSBPTUFQNTRYWF9HUElPM19CQVNF CQkJCShPTUFQNTRYWF9MNF9QRVJfQkFTRSAgKyAweDU3MDAwKQorI2RlZmluZSBPTUFQNTRYWF9H UElPNF9CQVNFCQkJCShPTUFQNTRYWF9MNF9QRVJfQkFTRSAgKyAweDU5MDAwKQorI2RlZmluZSBP TUFQNTRYWF9HUElPNV9CQVNFCQkJCShPTUFQNTRYWF9MNF9QRVJfQkFTRSAgKyAweDViMDAwKQor I2RlZmluZSBPTUFQNTRYWF9HUElPNl9CQVNFCQkJCShPTUFQNTRYWF9MNF9QRVJfQkFTRSAgKyAw eDVkMDAwKQorCisvKiBHUE1DICovCisjZGVmaW5lIE9NQVA1NFhYX0dQTUNfQkFTRQkJCQkweDUw MDAwMDAwCisKKy8qIERNTSAqLworI2RlZmluZSBPTUFQNTRYWF9ETU1fQkFTRQkJCQkweDRlMDAw MDAwCisKKy8qIE1lbW9yeSBBZGFwdGVyICovCisjZGVmaW5lIE9NQVA1NFhYX01BX0JBU0UJCQkJ MHg0ODJBRjAwMAorCisvKgorICogSGFyZHdhcmUgUmVnaXN0ZXIgRGV0YWlscworICovCisKKy8q IFdhdGNoZG9nIFRpbWVyICovCisjZGVmaW5lIFdEX1VOTE9DSzEJCQkJCTB4QUFBQQorI2RlZmlu ZSBXRF9VTkxPQ0syCQkJCQkweDU1NTUKKworLyogR1AgVGltZXIgKi8KKyNkZWZpbmUgVENMUl9T VAkJCQkJCSgweDEgPDwgMCkKKyNkZWZpbmUgVENMUl9BUgkJCQkJCSgweDEgPDwgMSkKKyNkZWZp bmUgVENMUl9QUkUJCQkJCSgweDEgPDwgNSkKKworLyogUFJNICovCisjZGVmaW5lIFBSTV9CQVNF CQkJCQkweDRBRTA2MDAwCisjZGVmaW5lIFBSTV9ERVZJQ0VfQkFTRQkJCQkJKFBSTV9CQVNFICsg MHgxQjAwKQorCisjZGVmaW5lIFBSTV9SU1RDVFJMCQkJCQlQUk1fREVWSUNFX0JBU0UKKyNkZWZp bmUgUFJNX1JTVENUUkxfUkVTRVQJCQkJMHgwMQorCisjaWZuZGVmIF9fQVNTRU1CTFlfXworCitz dHJ1Y3QgczMya3RpbWVyIHsKKwl1bnNpZ25lZCBjaGFyIHJlc1sweDEwXTsKKwl1bnNpZ25lZCBp bnQgczMya19jcjsKK307CisKKyNlbmRpZiAvKiBfX0FTU0VNQkxZX18gKi8KKworLyoKKyAqIE5v bi1zZWN1cmUgU1JBTSBBZGRyZXNzZXMKKyAqIE5vbi1zZWN1cmUgUkFNIHN0YXJ0cyBhdCAweDQw MzAwMDAwIGZvciBHUCBkZXZpY2VzLiBCdXQgd2Uga2VlcCAKU1JBTV9CQVNFCisgKiBhdCAweDQw MzA0MDAwKEVNVSBiYXNlKSBzbyB0aGF0IG91ciBjb2RlIHdvcmtzIGZvciBib3RoIEVNVSBhbmQg R1AKKyAqLworI2RlZmluZSBOT05fU0VDVVJFX1NSQU1fU1RBUlQJCQkJMHg0MDMwNDAwMAorI2Rl ZmluZSBOT05fU0VDVVJFX1NSQU1fRU5ECQkJCTB4NDAzMEUwMDAgLyogTm90IGluY2x1c2l2ZSAq LworLyogYmFzZSBhZGRyZXNzIGZvciBpbmRpcmVjdCB2ZWN0b3JzIChpbnRlcm5hbCBib290IG1v ZGUpICovCisjZGVmaW5lIFNSQU1fUk9NX1ZFQ1RfQkFTRQkJCQkweDQwMzBEMDAwCisKKy8qIE9N QVA1IHNpbGljb24gcmV2aXNpb25zICovCisjZGVmaW5lIE9NQVA1NDNYX1NJTElDT05fSURfSU5W QUxJRAkJCTAKKyNkZWZpbmUgT01BUDU0MzBfRVMxXzAJCQkJCTB4NTQzMDAxMDAKKyNkZWZpbmUg T01BUDU0MzBfRVMyXzAJCQkJCTB4NTQzMDAyMDAKKyNkZWZpbmUgT01BUDU0MzJfRVMxXzAJCQkJ CTB4NTQzMjAxMDAKKyNkZWZpbmUgT01BUDU0MzJfRVMyXzAJCQkJCTB4NTQzMjAyMDAKKworc3Ry dWN0IG9tYXA1X2Rkcl9yZWdzIHsKKwl1MzIgZnJlcTsKKwl1MzIgc2RyYW1fY29uZmlnX2luaXQ7 CisJdTMyIHNkcmFtX2NvbmZpZzsKKwl1MzIgcmVmX2N0cmw7CisJdTMyIHNkcmFtX3RpbTE7CisJ dTMyIHNkcmFtX3RpbTI7CisJdTMyIHNkcmFtX3RpbTM7CisJdTMyIHJlYWRfaWRsZV9jdHJsOwor CXUzMiB6cV9jb25maWc7CisJdTMyIHRlbXBfYWxlcnRfY29uZmlnOworCXUzMiBlbWlmX2Rkcl9w aHlfY3Rscl8xX2luaXQ7CisJdTMyIGVtaWZfZGRyX3BoeV9jdGxyXzE7CisJdTMyIGVtaWZfZGRy X3BoeV9jdGxyXzI7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8xX2luaXQ7CisJdTMyIGVt aWZfZGRyX2V4dF9waHlfY3RybF8xOworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMl9pbml0 OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjsKKwl1MzIgZW1pZl9kZHJfZXh0X3BoeV9j dHJsXzNfaW5pdDsKKwl1MzIgZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzM7CisJdTMyIGVtaWZfZGRy X2V4dF9waHlfY3RybF80X2luaXQ7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF80OworCXUz MiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfNV9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0 cmxfNTsKKwl1MzIgZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzZfaW5pdDsKKwl1MzIgZW1pZl9kZHJf ZXh0X3BoeV9jdHJsXzY7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF83X2luaXQ7CisJdTMy IGVtaWZfZGRyX2V4dF9waHlfY3RybF83OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfOF9p bml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfODsKKwl1MzIgZW1pZl9kZHJfZXh0X3Bo eV9jdHJsXzlfaW5pdDsKKwl1MzIgZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzk7CisJdTMyIGVtaWZf ZGRyX2V4dF9waHlfY3RybF8xMF9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTA7 CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8xMV9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRf cGh5X2N0cmxfMTE7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8xMl9pbml0OworCXUzMiBl bWlmX2Rkcl9leHRfcGh5X2N0cmxfMTI7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8xM19p bml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTM7CisJdTMyIGVtaWZfZGRyX2V4dF9w aHlfY3RybF8xNF9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTQ7CisJdTMyIGVt aWZfZGRyX2V4dF9waHlfY3RybF8xNV9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxf MTU7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8xNl9pbml0OworCXUzMiBlbWlmX2Rkcl9l eHRfcGh5X2N0cmxfMTY7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8xN19pbml0OworCXUz MiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTc7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8x OF9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTg7CisJdTMyIGVtaWZfZGRyX2V4 dF9waHlfY3RybF8xOV9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMTk7CisJdTMy IGVtaWZfZGRyX2V4dF9waHlfY3RybF8yMF9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0 cmxfMjA7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8yMV9pbml0OworCXUzMiBlbWlmX2Rk cl9leHRfcGh5X2N0cmxfMjE7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8yMl9pbml0Owor CXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjI7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3Ry bF8yM19pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjM7CisJdTMyIGVtaWZfZGRy X2V4dF9waHlfY3RybF8yNF9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjQ7CisJ dTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8yNV9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5 X2N0cmxfMjU7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8yNl9pbml0OworCXUzMiBlbWlm X2Rkcl9leHRfcGh5X2N0cmxfMjY7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8yN19pbml0 OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjc7CisJdTMyIGVtaWZfZGRyX2V4dF9waHlf Y3RybF8yOF9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjg7CisJdTMyIGVtaWZf ZGRyX2V4dF9waHlfY3RybF8yOV9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRfcGh5X2N0cmxfMjk7 CisJdTMyIGVtaWZfZGRyX2V4dF9waHlfY3RybF8zMF9pbml0OworCXUzMiBlbWlmX2Rkcl9leHRf cGh5X2N0cmxfMzA7CisJdTMyIGVtaWZfcmRfd3JfbHZsX3JtcF93aW47CisJdTMyIGVtaWZfcmRf d3JfbHZsX3JtcF9jdGw7CisJdTMyIGVtaWZfcmRfd3JfbHZsX2N0bDsKKwl1MzIgZW1pZl9yZF93 cl9leGVjX3RocmVzaDsKK307CisKK3N0cnVjdCBkcGxsX3BhcmFtOworCit2b2lkIG9tYXA1X2Rk cl9pbml0KGNvbnN0IHN0cnVjdCBvbWFwNV9kZHJfcmVncyAqZGRyX3JlZ3MsIGNvbnN0IHN0cnVj dCAKZHBsbF9wYXJhbSAqKTsKK3ZvaWQgb21hcDVfcG93ZXJfaTJjX3NlbmQodTMyKTsKK3Vuc2ln bmVkIGludCBvbWFwNV9yZXZpc2lvbih2b2lkKTsKK3ZvaWQgb21hcDVfc2NhbGVfdmNvcmVzKHZv aWQpOworCisjZW5kaWYgLyogX09NQVA1X0hfICovCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNo LW9tYXAvb21hcDVfY2xvY2suYyAKYi9hcmNoL2FybS9tYWNoLW9tYXAvb21hcDVfY2xvY2suYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45Mzk5ZTEyCi0tLSAvZGV2L251bGwK KysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwL29tYXA1X2Nsb2NrLmMKQEAgLTAsMCArMSwzODUgQEAK Ky8qCisgKiAoQykgQ29weXJpZ2h0IDIwMTMKKyAqIFNhbSBTb2x1dGlvbnMsIDxzYW0tc29sdXRp b25zLmNvbT4KKyAqCisgKiBBdXRob3JzOgorICoJVWxhZHppbWlyIEJlbHkgPHUuYmVseUBzYW0t c29sdXRpb25zLmNvbT4KKyAqCURtaXRyeSBMYXZuaWtldmljaCA8ZC5sYXZuaWtldmljaEBzYW0t c29sdXRpb25zLmNvbT4KKyAqCisgKiBEZXJpdmVkIGZyb20gT01BUDQgd29yaworICovCisKKyNp bmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxpby5oPgorI2luY2x1ZGUgPG1hY2gvc3lzbGli Lmg+CisjaW5jbHVkZSA8bWFjaC9jbG9ja3MuaD4KKyNpbmNsdWRlIDxtYWNoL29tYXA1LXNpbGlj b24uaD4KKyNpbmNsdWRlIDxtYWNoL29tYXA1LWNsb2NrLmg+CisKKyNkZWZpbmUgTERFTEFZCTEy MDAwMDAwCisKKyNkZWZpbmUgUE1fRFNTX1BXUlNUQ1RSTCAweDRBRTA3NDAwCisKK3ZvaWQgb21h cDVfY29uZmlndXJlX21wdV9kcGxsKGNvbnN0IHN0cnVjdCBkcGxsX3BhcmFtICpkcGxsX3BhcmFt KQoreworCS8qIFVubG9jayB0aGUgTVBVIGRwbGwgKi8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9N UFUsIDAsIDMsIFBMTF9GQVNUX1JFTE9DS19CWVBBU1MpOworCXdhaXRfb25fdmFsdWUoKDEgPDwg MCksIDAsIENNX0lETEVTVF9EUExMX01QVSwgTERFTEFZKTsKKworCS8qIERpc2FibGUgRFBMTCBh dXRvIGNvbnRyb2wgKi8KKwlzcjMyKENNX0FVVE9JRExFX0RQTExfTVBVLCAwLCAzLCAweDApOwor CisJLyogU2V0IE0sTixNMiB2YWx1ZXMgKi8KKwlzcjMyKENNX0NMS1NFTF9EUExMX01QVSwgOCwg MTEsIGRwbGxfcGFyYW0tPm0pOworCXNyMzIoQ01fQ0xLU0VMX0RQTExfTVBVLCAwLCA3LCBkcGxs X3BhcmFtLT5uKTsKKwlzcjMyKENNX0RJVl9NMl9EUExMX01QVSwgMCwgNSwgZHBsbF9wYXJhbS0+ bTIpOworCisJLyogTG9jayB0aGUgTVBVIGRwbGwgKi8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9N UFUsIDAsIDMsIFBMTF9MT0NLKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDApLCAxLCBDTV9JRExF U1RfRFBMTF9NUFUsIExERUxBWSk7CisKKwlyZXR1cm47Cit9CisKK3ZvaWQgb21hcDVfY29uZmln dXJlX2l2YV9kcGxsKGNvbnN0IHN0cnVjdCBkcGxsX3BhcmFtICpkcGxsX3BhcmFtKQoreworCS8q IFVubG9jayB0aGUgSVZBIGRwbGwgKi8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9JVkEsIDAsIDMs IFBMTF9GQVNUX1JFTE9DS19CWVBBU1MpOworCXdhaXRfb25fdmFsdWUoKDEgPDwgMCksIDAsIENN X0lETEVTVF9EUExMX0lWQSwgTERFTEFZKTsKKworCS8qIENNX0JZUENMS19EUExMX0lWQSA9IENP UkVfWDJfQ0xLLzIgKi8KKwlzcjMyKENNX0JZUENMS19EUExMX0lWQSwgMCwgMiwgMHgxKTsKKwor CS8qIERpc2FibGUgRFBMTCBhdXRvIGNvbnRyb2wgKi8KKwlzcjMyKENNX0FVVE9JRExFX0RQTExf SVZBLCAwLCAzLCAweDApOworCisJLyogU2V0IE0sTixIMTEsSDEyICovCisJc3IzMihDTV9DTEtT RUxfRFBMTF9JVkEsIDgsIDExLCBkcGxsX3BhcmFtLT5tKTsKKwlzcjMyKENNX0NMS1NFTF9EUExM X0lWQSwgMCwgNywgZHBsbF9wYXJhbS0+bik7CisJc3IzMihDTV9ESVZfSDExX0RQTExfSVZBLCAw LCA1LCBkcGxsX3BhcmFtLT5oMTEpOworCXNyMzIoQ01fRElWX0gxMl9EUExMX0lWQSwgMCwgNSwg ZHBsbF9wYXJhbS0+aDEyKTsKKworCS8qIExvY2sgdGhlIElWQSBkcGxsICovCisJc3IzMihDTV9D TEtNT0RFX0RQTExfSVZBLCAwLCAzLCBQTExfTE9DSyk7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAw KSwgMSwgQ01fSURMRVNUX0RQTExfSVZBLCBMREVMQVkpOworCisJcmV0dXJuOworfQorCit2b2lk IG9tYXA1X2NvbmZpZ3VyZV9jb3JlX2RwbGxfbm9fbG9jayhjb25zdCBzdHJ1Y3QgZHBsbF9wYXJh bSAqZHBsbF9wYXJhbSkKK3sKKwkvKiBDT1JFX0NMSz1DT1JFX1gyX0NMSy8yLCBMM19DTEs9Q09S RV9DTEsvMiwgTDRfQ0xLPUwzX0NMSy8yICovCisJc3IzMihDTV9DTEtTRUxfQ09SRSwgMCwgMzIs IDB4MTEwKTsKKworCS8qIFVubG9jayB0aGUgQ09SRSBkcGxsICovCisJc3IzMihDTV9DTEtNT0RF X0RQTExfQ09SRSwgMCwgMywgUExMX0ZBU1RfUkVMT0NLX0JZUEFTUyk7CisJd2FpdF9vbl92YWx1 ZSgoMSA8PCAwKSwgMCwgQ01fSURMRVNUX0RQTExfQ09SRSwgTERFTEFZKTsKKworCS8qIERpc2Fi bGUgRFBMTCBhdXRvIGNvbnRyb2wgKi8KKwlzcjMyKENNX0FVVE9JRExFX0RQTExfQ09SRSwgMCwg MywgMHgwKTsKKworCS8qIFNldCBNLE4sTTIsIE0zLCBIMTEsIEgxMiwgSDEzLCBIMTQsIEgyMiwg SDIzICovCisJc3IzMihDTV9DTEtTRUxfRFBMTF9DT1JFLCA4LCAxMSwgZHBsbF9wYXJhbS0+bSk7 CisJc3IzMihDTV9DTEtTRUxfRFBMTF9DT1JFLCAwLCA3LCBkcGxsX3BhcmFtLT5uKTsKKwlzcjMy KENNX0RJVl9NMl9EUExMX0NPUkUsIDAsIDUsIGRwbGxfcGFyYW0tPm0yKTsKKwlzcjMyKENNX0RJ Vl9NM19EUExMX0NPUkUsIDAsIDUsIGRwbGxfcGFyYW0tPm0zKTsKKwlzcjMyKENNX0RJVl9IMTFf RFBMTF9DT1JFLCAwLCA1LCBkcGxsX3BhcmFtLT5oMTEpOworCXNyMzIoQ01fRElWX0gxMl9EUExM X0NPUkUsIDAsIDUsIGRwbGxfcGFyYW0tPmgxMik7CisJc3IzMihDTV9ESVZfSDEzX0RQTExfQ09S RSwgMCwgNSwgZHBsbF9wYXJhbS0+aDEzKTsKKwlzcjMyKENNX0RJVl9IMTRfRFBMTF9DT1JFLCAw LCA1LCBkcGxsX3BhcmFtLT5oMTQpOworCXNyMzIoQ01fRElWX0gyMl9EUExMX0NPUkUsIDAsIDUs IGRwbGxfcGFyYW0tPmgyMik7CisJc3IzMihDTV9ESVZfSDIzX0RQTExfQ09SRSwgMCwgNSwgZHBs bF9wYXJhbS0+aDIzKTsKKworCXJldHVybjsKK30KKwordm9pZCBvbWFwNV9jb25maWd1cmVfcGVy X2RwbGwoY29uc3Qgc3RydWN0IGRwbGxfcGFyYW0gKmRwbGxfcGFyYW0pCit7CisJLyogVW5sb2Nr IHRoZSBQRVIgZHBsbCAqLworCXNyMzIoQ01fQ0xLTU9ERV9EUExMX1BFUiwgMCwgMywgUExMX0ZB U1RfUkVMT0NLX0JZUEFTUyk7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAwKSwgMCwgQ01fSURMRVNU X0RQTExfUEVSLCBMREVMQVkpOworCisJLyogRGlzYWJsZSBEUExMIGF1dG8gY29udHJvbCAqLwor CXNyMzIoQ01fQVVUT0lETEVfRFBMTF9QRVIsIDAsIDMsIDB4MCk7CisKKwkvKiBTZXQgTSxOLE0y LCBNMywgSDExLCBIMTIsIEgxNCAqLworCXNyMzIoQ01fQ0xLU0VMX0RQTExfUEVSLCA4LCAxMSwg ZHBsbF9wYXJhbS0+bSk7CisJc3IzMihDTV9DTEtTRUxfRFBMTF9QRVIsIDAsIDcsIGRwbGxfcGFy YW0tPm4pOworCXNyMzIoQ01fRElWX00yX0RQTExfUEVSLCAwLCA1LCBkcGxsX3BhcmFtLT5tMik7 CisJc3IzMihDTV9ESVZfTTNfRFBMTF9QRVIsIDAsIDUsIGRwbGxfcGFyYW0tPm0zKTsKKwlzcjMy KENNX0RJVl9IMTFfRFBMTF9QRVIsIDAsIDUsIGRwbGxfcGFyYW0tPmgxMSk7CisJc3IzMihDTV9E SVZfSDEyX0RQTExfUEVSLCAwLCA1LCBkcGxsX3BhcmFtLT5oMTIpOworCXNyMzIoQ01fRElWX0gx NF9EUExMX1BFUiwgMCwgNSwgZHBsbF9wYXJhbS0+aDE0KTsKKworCS8qIExvY2sgdGhlIHBlciBk cGxsICovCisJc3IzMihDTV9DTEtNT0RFX0RQTExfUEVSLCAwLCAzLCBQTExfTE9DSyk7CisJd2Fp dF9vbl92YWx1ZSgoMSA8PCAwKSwgMSwgQ01fSURMRVNUX0RQTExfUEVSLCBMREVMQVkpOworCisJ cmV0dXJuOworfQorCit2b2lkIG9tYXA1X2NvbmZpZ3VyZV9hYmVfZHBsbChjb25zdCBzdHJ1Y3Qg ZHBsbF9wYXJhbSAqZHBsbF9wYXJhbSkKK3sKKwkvKiBTb21lIG9wdGlvbnMgdG8gYWNoaWV2ZSAx OTYuNjA4TUh6IGZyb20gMzI3NjggSHogKi8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9BQkUsIDgs IDEsIDEpOyAgLyogRFBMTF9EUklGVEdVQVJEX0VOX01BU0sgKi8KKwlzcjMyKENNX0NMS01PREVf RFBMTF9BQkUsIDksIDEsIDEpOyAgLyogRFBMTF9SRUxPQ0tfUkFNUF9FTl9NQVNLICovCisJc3Iz MihDTV9DTEtNT0RFX0RQTExfQUJFLCAxMCwgMSwgMSk7IC8qIERQTExfTFBNT0RFX0VOX01BU0sg Ki8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9BQkUsIDExLCAxLCAxKTsgLyogRFBMTF9SRUdNNFhF Tl9NQVNLICovCisKKwkvKiBTcGVuZCA0IFJFRkNMSyBjeWNsZXMgYXQgZWFjaCBzdGFnZSAqLwor CXNyMzIoQ01fQ0xLTU9ERV9EUExMX0FCRSwgNSwgMywgNyk7CisKKwkvKiBTZWxlY3QgU1lTXzMy SyBhcyByZWYgY2xrIGZvciBBQkUgZHBsbCAqLworCXNyMzIoQ01fQ0xLU0VMX0FCRV9QTExfUkVG LCAwLCAxLCAxKTsKKworCS8qIFVubG9jayB0aGUgQUJFIGRwbGwgKi8KKwlzcjMyKENNX0NMS01P REVfRFBMTF9BQkUsIDAsIDMsIFBMTF9MT1dfUE9XRVJfQllQQVNTKTsKKwl3YWl0X29uX3ZhbHVl KCgxIDw8IDApLCAwLCBDTV9JRExFU1RfRFBMTF9BQkUsIExERUxBWSk7CisKKwkvKiBEaXNhYmxl IERQTEwgYXV0byBjb250cm9sICovCisJc3IzMihDTV9BVVRPSURMRV9EUExMX0FCRSwgMCwgMywg MHgwKTsKKworCS8qIFNldCBNLE4sTTIsIE0zICovCisJc3IzMihDTV9DTEtTRUxfRFBMTF9BQkUs IDgsIDExLCBkcGxsX3BhcmFtLT5tKTsKKwlzcjMyKENNX0NMS1NFTF9EUExMX0FCRSwgMCwgNywg ZHBsbF9wYXJhbS0+bik7CisJc3IzMihDTV9ESVZfTTJfRFBMTF9BQkUsIDAsIDUsIGRwbGxfcGFy YW0tPm0yKTsKKwlzcjMyKENNX0RJVl9NM19EUExMX0FCRSwgMCwgNSwgZHBsbF9wYXJhbS0+bTMp OworCisJLyogTG9jayB0aGUgYWJlIGRwbGwgKi8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9BQkUs IDAsIDMsIFBMTF9MT0NLKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDApLCAxLCBDTV9JRExFU1Rf RFBMTF9BQkUsIExERUxBWSk7CisKKwlyZXR1cm47Cit9CisKK3ZvaWQgb21hcDVfY29uZmlndXJl X3VzYl9kcGxsKGNvbnN0IHN0cnVjdCBkcGxsX3BhcmFtICpkcGxsX3BhcmFtKQoreworCS8qIFNl bGVjdCB0aGUgNjBNaHogY2xvY2sgNDgwLzggPSA2MCovCisJc3IzMihDTV9DTEtTRUxfVVNCXzYw TUhaLCAwLCAzMiwgMHgxKTsKKworCS8qIFVubG9jayB0aGUgVVNCIGRwbGwgKi8KKwlzcjMyKENN X0NMS01PREVfRFBMTF9VU0IsIDAsIDMsIFBMTF9GQVNUX1JFTE9DS19CWVBBU1MpOworCXdhaXRf b25fdmFsdWUoKDEgPDwgMCksIDAsIENNX0lETEVTVF9EUExMX1VTQiwgTERFTEFZKTsKKworCS8q IERpc2FibGUgYXV0byBjb250cm9sICovCisJc3IzMihDTV9BVVRPSURMRV9EUExMX1VTQiwgMCwg MywgMHgwKTsKKworCS8qIFNldCBNLE4sTTIgKi8KKwlzcjMyKENNX0NMS1NFTF9EUExMX1VTQiwg OCwgMTIsIGRwbGxfcGFyYW0tPm0pOworCXNyMzIoQ01fQ0xLU0VMX0RQTExfVVNCLCAwLCA4LCBk cGxsX3BhcmFtLT5uKTsKKwlzcjMyKENNX0RJVl9NMl9EUExMX1VTQiwgMCwgNywgZHBsbF9wYXJh bS0+bTIpOworCXNyMzIoQ01fRElWX00yX0RQTExfVVNCLCA5LCAxLCAweDEpOworCisJLyogTG9j ayB0aGUgdXNiIGRwbGwgKi8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9VU0IsIDAsIDMsIFBMTF9M T0NLKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDApLCAxLCBDTV9JRExFU1RfRFBMTF9VU0IsIExE RUxBWSk7CisKKwlyZXR1cm47Cit9CisKK3ZvaWQgb21hcDVfbG9ja19jb3JlX2RwbGwodm9pZCkK K3sKKwkvKiBMb2NrIHRoZSBjb3JlIGRwbGwgKi8KKwlzcjMyKENNX0NMS01PREVfRFBMTF9DT1JF LCAwLCAzLCBQTExfTE9DSyk7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAwKSwgMSwgQ01fSURMRVNU X0RQTExfQ09SRSwgTERFTEFZKTsKKworCXJldHVybjsKK30KKwordm9pZCBvbWFwNV9sb2NrX2Nv cmVfZHBsbF9zaGFkb3coY29uc3Qgc3RydWN0IGRwbGxfcGFyYW0gKnBhcmFtKQoreworCS8qIExv Y2sgdGhlIGNvcmUgZHBsbCB1c2luZyBmcmVxIHVwZGF0ZSBtZXRob2QgKi8KKwkqKHZvbGF0aWxl IGludCopQ01fQ0xLTU9ERV9EUExMX0NPUkUgPSBQTExfTE9DSzsKKworCS8qIENNX1NIQURPV19G UkVRX0NPTkZJRzE6IERMTF9PVkVSUklERSA9IDEoaGFjayksIERMTF9SRVNFVCA9IDEsCisJICog RFBMTF9DT1JFX00yX0RJViA9IDEsIERQTExfQ09SRV9EUExMX0VOID0gMHg3LCBGUkVRX1VQREFU RSA9IDEKKwkgKi8KKwkqKHZvbGF0aWxlIGludCopQ01fU0hBRE9XX0ZSRVFfQ09ORklHMSA9IDB4 NzBEIHwgKHBhcmFtLT5tMiA8PCAxMSk7CisKKwkvKiBXYWl0IGZvciBGcmVxX1VwZGF0ZSB0byBn ZXQgY2xlYXJlZDogQ01fU0hBRE9XX0ZSRVFfQ09ORklHMSAqLworCXdoaWxlKCgoKih2b2xhdGls ZSBpbnQqKUNNX1NIQURPV19GUkVRX0NPTkZJRzEpICYgMHgxKSA9PSAweDEpOworCisJLyogV2Fp dCBmb3IgRFBMTCB0byBMb2NrIDogQ01fSURMRVNUX0RQTExfQ09SRSAqLworCXdhaXRfb25fdmFs dWUoKDEgPDwgMCksIDEsIENNX0lETEVTVF9EUExMX0NPUkUsIExERUxBWSk7Cit9CisKK3ZvaWQg b21hcDVfZW5hYmxlX2FsbF9jbG9ja3Modm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgcmV2ID0gb21h cDVfcmV2aXNpb24oKTsKKwl1MzIgd2t1cF9iYXNlID0gQ01fV0tVUEFPTl9DTEtDVFJMX1JFVjE7 CisJdTMyIGw0cGVyX2Jhc2UgPSBDTV9MNFBFUl9DTEtTVENUUkxfUkVWMTsKKwl1MzIgbDNpbml0 X2Jhc2UgPSBDTV9MM0lOSVRfQ0xLU1RDVFJMX1JFVjE7CisJdTMyIGNhbV9iYXNlID0gQ01fQ0FN X0NMS1NUQ1RSTF9SRVYxOworCXUzMiBkc3NfYmFzZSA9IENNX0RTU19DTEtTVENUUkxfUkVWMTsK Kwl1MzIgZ3B1X2Jhc2UgPSBDTV9HUFVfQ0xLU1RDVFJMX1JFVjE7CisKKwlpZiAocmV2ID09IE9N QVA1NDMwX0VTMl8wIHx8IHJldiA9PSBPTUFQNTQzMl9FUzJfMCkgeworCQl3a3VwX2Jhc2UgPSBD TV9XS1VQQU9OX0NMS0NUUkxfUkVWMjsKKwkJbDRwZXJfYmFzZSA9IENNX0w0UEVSX0NMS1NUQ1RS TF9SRVYyOworCQlsM2luaXRfYmFzZSA9IENNX0wzSU5JVF9DTEtTVENUUkxfUkVWMjsKKwkJY2Ft X2Jhc2UgPSBDTV9DQU1fQ0xLU1RDVFJMX1JFVjI7CisJCWRzc19iYXNlID0gQ01fRFNTX0NMS1NU Q1RSTF9SRVYyOworCQlncHVfYmFzZSA9IENNX0dQVV9DTEtTVENUUkxfUkVWMjsKKwl9CisKKwkv KiBFbmFibGUgRFNQIGNsb2NrcyAqLworCXNyMzIoQ01fRFNQX0RTUF9DTEtDVFJMLCAwLCAzMiwg MHgxKTsKKwlzcjMyKENNX0RTUF9DTEtTVENUUkwsIDAsIDMyLCAweDIpOworCisJd2FpdF9vbl92 YWx1ZSgoMSA8PCA4KSwgMCwgQ01fRFNQX0NMS1NUQ1RSTCwgTERFTEFZKTsKKworCS8qIEFCRSBj bG9ja3MgKi8KKwlzcjMyKENNX0FCRV9DTEtTVENUUkwsIDAsIDMyLCAweDMpOworCXNyMzIoQ01f QUJFX0FFU1NfQ0xLQ1RSTCwgMCwgMzIsIDB4Mik7CisJc3IzMihDTV9BQkVfTUNQRE1fQ0xLQ1RS TCwgMCwgMzIsIDB4Mik7CisJc3IzMihDTV9BQkVfRE1JQ19DTEtDVFJMLCAwLCAzMiwgMHgyKTsK KwlzcjMyKENNX0FCRV9NQ0FTUF9DTEtDVFJMLCAwLCAzMiwgMHgyKTsKKwlzcjMyKENNX0FCRV9N Q0JTUDFfQ0xLQ1RSTCwgMCwgMzIsIDB4MDgwMDAwMDIpOworCXNyMzIoQ01fQUJFX01DQlNQMl9D TEtDVFJMLCAwLCAzMiwgMHgwODAwMDAwMik7CisJc3IzMihDTV9BQkVfTUNCU1AzX0NMS0NUUkws IDAsIDMyLCAweDA4MDAwMDAyKTsKKwlzcjMyKENNX0FCRV9TTElNQlVTMV9DTEtDVFJMLCAwLCAz MiwgMHgwZjAyKTsKKwlzcjMyKENNX0FCRV9USU1FUjVfQ0xLQ1RSTCwgMCwgMzIsIDB4Mik7CisJ c3IzMihDTV9BQkVfVElNRVI2X0NMS0NUUkwsIDAsIDMyLCAweDIpOworCXNyMzIoQ01fQUJFX1RJ TUVSN19DTEtDVFJMLCAwLCAzMiwgMHgyKTsKKwlzcjMyKENNX0FCRV9USU1FUjhfQ0xLQ1RSTCwg MCwgMzIsIDB4Mik7CisJc3IzMihDTV9BQkVfV0RfVElNRVIzX0NMS0NUUkwsIDAsIDMyLCAweDIp OworCS8qIERpc2FibGUgc2xlZXAgdHJhbnNpdGlvbnMgKi8KKwlzcjMyKENNX0FCRV9DTEtTVENU UkwsIDAsIDMyLCAweDApOworCisJLyogTDRQRVIgY2xvY2tzICovCisJc3IzMihsNHBlcl9iYXNl LCAwLCAzMiwgMHgyKTsKKwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9USU1FUjEwX0NMS0NU UkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiks IDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQRVJfVElNRVIxMF9DTEtDVFJMX09GVCwgTERFTEFZKTsK KwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9USU1FUjExX0NMS0NUUkxfT0ZULCAwLCAzMiwg MHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2Ug KyAKQ01fTDRQRVJfVElNRVIxMV9DTEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKGw0cGVyX2Jh c2UgKyBDTV9MNFBFUl9USU1FUjJfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDIpOworCXdhaXRfb25f dmFsdWUoKDEgPDwgMTcpfCgxIDw8IDE2KSwgMCwgbDRwZXJfYmFzZSArIApDTV9MNFBFUl9USU1F UjJfQ0xLQ1RSTF9PRlQsIExERUxBWSk7CisJc3IzMihsNHBlcl9iYXNlICsgQ01fTDRQRVJfVElN RVIzX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwo MSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQRVJfVElNRVIzX0NMS0NUUkxfT0ZULCBM REVMQVkpOworCXNyMzIobDRwZXJfYmFzZSArIENNX0w0UEVSX1RJTUVSNF9DTEtDVFJMX09GVCwg MCwgMzIsIDB4Mik7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAwLCBsNHBl cl9iYXNlICsgCkNNX0w0UEVSX1RJTUVSNF9DTEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKGw0 cGVyX2Jhc2UgKyBDTV9MNFBFUl9USU1FUjlfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDIpOworCXdh aXRfb25fdmFsdWUoKDEgPDwgMTcpfCgxIDw8IDE2KSwgMCwgbDRwZXJfYmFzZSArIApDTV9MNFBF Ul9USU1FUjlfQ0xLQ1RSTF9PRlQsIExERUxBWSk7CisKKwkvKiBHUElPIGNsb2NrcyAqLworCXNy MzIobDRwZXJfYmFzZSArIENNX0w0UEVSX0dQSU8yX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgxKTsK Kwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01f TDRQRVJfR1BJTzJfQ0xLQ1RSTF9PRlQsIExERUxBWSk7CisJc3IzMihsNHBlcl9iYXNlICsgQ01f TDRQRVJfR1BJTzNfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDEpOworCXdhaXRfb25fdmFsdWUoKDEg PDwgMTcpfCgxIDw8IDE2KSwgMCwgbDRwZXJfYmFzZSArIApDTV9MNFBFUl9HUElPM19DTEtDVFJM X09GVCwgTERFTEFZKTsKKwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9HUElPNF9DTEtDVFJM X09GVCwgMCwgMzIsIDB4MSk7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAw LCBsNHBlcl9iYXNlICsgCkNNX0w0UEVSX0dQSU80X0NMS0NUUkxfT0ZULCBMREVMQVkpOworCXNy MzIobDRwZXJfYmFzZSArIENNX0w0UEVSX0dQSU81X0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgxKTsK Kwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01f TDRQRVJfR1BJTzVfQ0xLQ1RSTF9PRlQsIExERUxBWSk7CisJc3IzMihsNHBlcl9iYXNlICsgQ01f TDRQRVJfR1BJTzZfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDEpOworCXdhaXRfb25fdmFsdWUoKDEg PDwgMTcpfCgxIDw8IDE2KSwgMCwgbDRwZXJfYmFzZSArIApDTV9MNFBFUl9HUElPNl9DTEtDVFJM X09GVCwgTERFTEFZKTsKKworCXNyMzIobDRwZXJfYmFzZSArIENNX0w0UEVSX0hEUTFXX0NMS0NU UkxfT0ZULCAwLCAzMiwgMHgxKTsKKworCS8qIEkyQyBjbG9ja3MgKi8KKwlzcjMyKGw0cGVyX2Jh c2UgKyBDTV9MNFBFUl9JMkMxX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3YWl0X29uX3Zh bHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQRVJfSTJDMV9D TEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9JMkMyX0NM S0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAx NiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQRVJfSTJDMl9DTEtDVFJMX09GVCwgTERFTEFZKTsK KwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9JMkMzX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgy KTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAK Q01fTDRQRVJfSTJDM19DTEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKGw0cGVyX2Jhc2UgKyBD TV9MNFBFUl9JMkM0X0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgx IDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQRVJfSTJDNF9DTEtDVFJM X09GVCwgTERFTEFZKTsKKworCS8qIE1DU1BJIGNsb2NrcyAqLworCXNyMzIobDRwZXJfYmFzZSAr IENNX0w0UEVSX01DU1BJMV9DTEtDVFJMX09GVCwgMCwgMzIsIDB4Mik7CisJd2FpdF9vbl92YWx1 ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAwLCBsNHBlcl9iYXNlICsgCkNNX0w0UEVSX01DU1BJMV9D TEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9NQ1NQSTJf Q0xLQ1RSTF9PRlQsIDAsIDMyLCAweDIpOworCXdhaXRfb25fdmFsdWUoKDEgPDwgMTcpfCgxIDw8 IDE2KSwgMCwgbDRwZXJfYmFzZSArIApDTV9MNFBFUl9NQ1NQSTJfQ0xLQ1RSTF9PRlQsIExERUxB WSk7CisJc3IzMihsNHBlcl9iYXNlICsgQ01fTDRQRVJfTUNTUEkzX0NMS0NUUkxfT0ZULCAwLCAz MiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jh c2UgKyAKQ01fTDRQRVJfTUNTUEkzX0NMS0NUUkxfT0ZULCBMREVMQVkpOworCXNyMzIobDRwZXJf YmFzZSArIENNX0w0UEVSX01DU1BJNF9DTEtDVFJMX09GVCwgMCwgMzIsIDB4Mik7CisJd2FpdF9v bl92YWx1ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAwLCBsNHBlcl9iYXNlICsgCkNNX0w0UEVSX01D U1BJNF9DTEtDVFJMX09GVCwgTERFTEFZKTsKKworCS8qIE1NQzMtNSBjbG9ja3MgKi8KKwlzcjMy KGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9NTUMzX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3 YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQ RVJfTU1DM19DTEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBF Ul9NTUM0X0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3 KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQRVJfTU1DNF9DTEtDVFJMX09GVCwg TERFTEFZKTsKKwlzcjMyKGw0cGVyX2Jhc2UgKyBDTV9MNFBFUl9NTUM1X0NMS0NUUkxfT0ZULCAw LCAzMiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIGw0cGVy X2Jhc2UgKyAKQ01fTDRQRVJfTU1DNV9DTEtDVFJMX09GVCwgTERFTEFZKTsKKworCS8qIFVBUlQg Y2xvY2tzICovCisJc3IzMihsNHBlcl9iYXNlICsgQ01fTDRQRVJfVUFSVDFfQ0xLQ1RSTF9PRlQs IDAsIDMyLCAweDIpOworCXdhaXRfb25fdmFsdWUoKDEgPDwgMTcpfCgxIDw8IDE2KSwgMCwgbDRw ZXJfYmFzZSArIApDTV9MNFBFUl9VQVJUMV9DTEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKGw0 cGVyX2Jhc2UgKyBDTV9MNFBFUl9VQVJUMl9DTEtDVFJMX09GVCwgMCwgMzIsIDB4Mik7CisJd2Fp dF9vbl92YWx1ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAwLCBsNHBlcl9iYXNlICsgCkNNX0w0UEVS X1VBUlQyX0NMS0NUUkxfT0ZULCBMREVMQVkpOworCXNyMzIobDRwZXJfYmFzZSArIENNX0w0UEVS X1VBUlQzX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3 KXwoMSA8PCAxNiksIDAsIGw0cGVyX2Jhc2UgKyAKQ01fTDRQRVJfVUFSVDNfQ0xLQ1RSTF9PRlQs IExERUxBWSk7CisJc3IzMihsNHBlcl9iYXNlICsgQ01fTDRQRVJfVUFSVDRfQ0xLQ1RSTF9PRlQs IDAsIDMyLCAweDIpOworCXdhaXRfb25fdmFsdWUoKDEgPDwgMTcpfCgxIDw8IDE2KSwgMCwgbDRw ZXJfYmFzZSArIApDTV9MNFBFUl9VQVJUNF9DTEtDVFJMX09GVCwgTERFTEFZKTsKKworCS8qIE1N QzEtMiBjbG9ja3MgKi8KKwlzcjMyKGwzaW5pdF9iYXNlICsgQ01fTDNJTklUX01NQzFfQ0xLQ1RS TF9PRlQsIDAsIDIsIDB4Mik7CisJc3IzMihsM2luaXRfYmFzZSArIENNX0wzSU5JVF9NTUMxX0NM S0NUUkxfT0ZULCAyNCwgMSwgMHgxKTsKKwlzcjMyKGwzaW5pdF9iYXNlICsgQ01fTDNJTklUX01N QzFfQ0xLQ1RSTF9PRlQsIDI1LCAxLCAweDApOworCXNyMzIobDNpbml0X2Jhc2UgKyBDTV9MM0lO SVRfTU1DMl9DTEtDVFJMX09GVCwgMCwgMiwgMHgyKTsKKwlzcjMyKGwzaW5pdF9iYXNlICsgQ01f TDNJTklUX01NQzJfQ0xLQ1RSTF9PRlQsIDI0LCAxLCAweDEpOworCXNyMzIobDNpbml0X2Jhc2Ug KyBDTV9MM0lOSVRfTU1DMl9DTEtDVFJMX09GVCwgMjUsIDEsIDB4MCk7CisKKwkvKiBXS1VQIGNs b2NrcyAqLworCXNyMzIod2t1cF9iYXNlICsgQ01fV0tVUEFPTl9HUElPMV9DTEtDVFJMX09GVCwg MCwgMzIsIDB4MSk7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAwLCB3a3Vw X2Jhc2UgKyAKQ01fV0tVUEFPTl9HUElPMV9DTEtDVFJMX09GVCwgTERFTEFZKTsKKwlzcjMyKHdr dXBfYmFzZSArIENNX1dLVVBBT05fVElNRVIxX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgwMTAwMDAw Mik7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAwLCB3a3VwX2Jhc2UgKyAK Q01fV0tVUEFPTl9USU1FUjFfQ0xLQ1RSTF9PRlQsIExERUxBWSk7CisJc3IzMih3a3VwX2Jhc2Ug KyBDTV9XS1VQQU9OX0tCRF9DTEtDVFJMX09GVCwgMCwgMzIsIDB4Mik7CisJd2FpdF9vbl92YWx1 ZSgoMSA8PCAxNyl8KDEgPDwgMTYpLCAwLCB3a3VwX2Jhc2UgKyAKQ01fV0tVUEFPTl9LQkRfQ0xL Q1RSTF9PRlQsIExERUxBWSk7CisKKwlzcjMyKENNX0RNQV9DTEtTVENUUkwsIDAsIDMyLCAweDAp OworCXNyMzIoQ01fRU1JRl9DTEtTVENUUkwsIDAsIDMyLCAweDMpOworCXNyMzIoQ01fRU1JRl9F TUlGMV9DTEtDVFJMLCAwLCAzMiwgMHgxKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8 PCAxNiksIDAsIENNX0VNSUZfRU1JRjFfQ0xLQ1RSTCwgTERFTEFZKTsKKwlzcjMyKENNX0VNSUZf RU1JRjJfQ0xLQ1RSTCwgMCwgMzIsIDB4MSk7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAxNyl8KDEg PDwgMTYpLCAwLCBDTV9FTUlGX0VNSUYyX0NMS0NUUkwsIExERUxBWSk7CisJc3IzMihDTV9DMkNf Q0xLU1RDVFJMLCAwLCAzMiwgMHgzKTsKKwlzcjMyKENNX0wzTUFJTjJfR1BNQ19DTEtDVFJMLCAw LCAzMiwgMHgxKTsKKwl3YWl0X29uX3ZhbHVlKCgxIDw8IDE3KXwoMSA8PCAxNiksIDAsIENNX0wz TUFJTjJfR1BNQ19DTEtDVFJMLCBMREVMQVkpOworCXNyMzIoQ01fTDNJTlNUUl9MM19NQUlOXzNf Q0xLQ1RSTCwgMCwgMzIsIDB4MSk7CisJd2FpdF9vbl92YWx1ZSgoMSA8PCAxNyl8KDEgPDwgMTYp LCAwLCBDTV9MM0lOU1RSX0wzX01BSU5fM19DTEtDVFJMLCAKTERFTEFZKTsKKwlzcjMyKENNX0wz SU5TVFJfTDNfSU5TVFJfQ0xLQ1RSTCwgMCwgMzIsIDB4MSk7CisJd2FpdF9vbl92YWx1ZSgoMSA8 PCAxNyl8KDEgPDwgMTYpLCAwLCBDTV9MM0lOU1RSX0wzX0lOU1RSX0NMS0NUUkwsIApMREVMQVkp OworCXNyMzIoQ01fTDNJTlNUUl9PQ1BfV1BfTk9DX0NMS0NUUkwsIDAsIDMyLCAweDEpOworCXdh aXRfb25fdmFsdWUoKDEgPDwgMTcpfCgxIDw8IDE2KSwgMCwgQ01fTDNJTlNUUl9PQ1BfV1BfTk9D X0NMS0NUUkwsIApMREVMQVkpOworCisJLyogV0RUIGNsb2NrcyAqLworCXNyMzIod2t1cF9iYXNl ICsgQ01fV0tVUEFPTl9XRF9USU1FUjJfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDIpOworCXdhaXRf b25fdmFsdWUoKDEgPDwgMTcpfCgxIDw8IDE2KSwgMCwgd2t1cF9iYXNlICsgCkNNX1dLVVBBT05f V0RfVElNRVIyX0NMS0NUUkxfT0ZULCBMREVMQVkpOworCisJLyogRW5hYmxlIENhbWVyYSBjbG9j a3MgKi8KKwlzcjMyKGNhbV9iYXNlLCAwLCAzMiwgMHgzKTsKKwlzcjMyKGNhbV9iYXNlICsgQ01f Q0FNX0lTU19DTEtDVFJMX09GVCwgMCwgMzIsIDB4MTAyKTsKKwlzcjMyKGNhbV9iYXNlICsgQ01f Q0FNX0ZESUZfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDIpOworCXNyMzIoY2FtX2Jhc2UsIDAsIDMy LCAweDApOworCisJLyogRW5hYmxlIERTUyBjbG9ja3MgKi8KKwkvKiBQTV9EU1NfUFdSU1RDVFJM IE9OIFN0YXRlIGFuZCBMb2dpY1N0YXRlID0gMSAoUmV0ZW50aW9uKSAqLworCV9fcmF3X3dyaXRl bCg3LCBQTV9EU1NfUFdSU1RDVFJMKTsgLyogRFNTX1BSTSAqLworCisJc3IzMihkc3NfYmFzZSwg MCwgMzIsIDB4Mik7CisJc3IzMihkc3NfYmFzZSArIENNX0RTU19EU1NfQ0xLQ1RSTF9PRlQsIDAs IDMyLCAweGYwMik7CisKKwkvKiBDaGVjayBmb3IgRFNTIENsb2NrcyAqLworCXdoaWxlICgoX19y YXdfcmVhZGwoZHNzX2Jhc2UpICYgMHhGMDApICE9IDB4RTAwKQorCTsKKwkvKiBTZXQgSFdfQVVU TyB0cmFuc2l0aW9uIG1vZGUgKi8KKwlzcjMyKGRzc19iYXNlLCAwLCAzMiwgMHgzKTsKKworCS8q IEVuYWJsZSBHUFUgY2xvY2tzICovCisJc3IzMihncHVfYmFzZSwgMCwgMzIsIDB4Mik7CisJc3Iz MihncHVfYmFzZSArIENNX0dQVV9HUFVfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDIpOworCisJLyog RW5hYmxlIGhzaS91bmlwcm8vdXNiL3NhdGEgY2xvY2tzICovCisJc3IzMihsM2luaXRfYmFzZSAr IENNX0wzSU5JVF9IU0lfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDEpOworCXNyMzIobDNpbml0X2Jh c2UgKyBDTV9MM0lOSVRfVU5JUFJPMl9DTEtDVFJMX09GVCwgMCwgMzIsIDB4Mik7CisJc3IzMihs M2luaXRfYmFzZSArIENNX0wzSU5JVF9VU0JfSE9TVF9IU19DTEtDVFJMX09GVCwgMCwgMzIsIDB4 Mik7CisJc3IzMihsM2luaXRfYmFzZSArIENNX0wzSU5JVF9VU0JfVExMX0hTX0NMS0NUUkxfT0ZU LCAwLCAzMiwgMHgxKTsKKwlzcjMyKGwzaW5pdF9iYXNlICsgQ01fTDNJTklUX0lFRUUxNTAwXzJf T0NQX0NMS0NUUkxfT0ZULCAwLCAzMiwgMHgyKTsKKwlzcjMyKGwzaW5pdF9iYXNlICsgQ01fTDNJ TklUX1NBVEFfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDIpOworCXNyMzIobDNpbml0X2Jhc2UgKyBD TV9MM0lOSVRfT0NQMlNDUDFfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDEpOworCXNyMzIobDNpbml0 X2Jhc2UgKyBDTV9MM0lOSVRfT0NQMlNDUDNfQ0xLQ1RSTF9PRlQsIDAsIDMyLCAweDEpOworCXNy MzIobDNpbml0X2Jhc2UgKyBDTV9MM0lOSVRfVVNCX09UR19TU19DTEtDVFJMX09GVCwgMCwgMzIs IDB4MSk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAvb21hcDVfZ2VuZXJpYy5j IApiL2FyY2gvYXJtL21hY2gtb21hcC9vbWFwNV9nZW5lcmljLmMKbmV3IGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMDAwMDAwMC4uZGViZTg0OQotLS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21h Y2gtb21hcC9vbWFwNV9nZW5lcmljLmMKQEAgLTAsMCArMSw1MTAgQEAKKy8qCisgKiAoQykgQ29w eXJpZ2h0IDIwMTMKKyAqIFNhbSBTb2x1dGlvbnMsIDxzYW0tc29sdXRpb25zLmNvbT4KKyAqCisg KiBBdXRob3JzOgorICoJVWxhZHppbWlyIEJlbHkgPHUuYmVseUBzYW0tc29sdXRpb25zLmNvbT4K KyAqCURtaXRyeSBMYXZuaWtldmljaCA8ZC5sYXZuaWtldmljaEBzYW0tc29sdXRpb25zLmNvbT4K KyAqCisgKiBEZXJpdmVkIGZyb20gT01BUDQgd29yaworICovCisKKyNpbmNsdWRlIDxjb21tb24u aD4KKyNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxpbml0Lmg+CisjaW5jbHVkZSA8aW8u aD4KKyNpbmNsdWRlIDxtYWNoL2Nsb2Nrcy5oPgorI2luY2x1ZGUgPG1hY2gvb21hcDUtY2xvY2su aD4KKyNpbmNsdWRlIDxtYWNoL29tYXA1LXNpbGljb24uaD4KKyNpbmNsdWRlIDxtYWNoL29tYXA1 LW11eC5oPgorI2luY2x1ZGUgPG1hY2gvc3lzbGliLmg+CisjaW5jbHVkZSA8bWFjaC9nZW5lcmlj Lmg+CisjaW5jbHVkZSA8bWFjaC9ncG1jLmg+CisjaW5jbHVkZSA8bWFjaC9ncGlvLmg+CisKKyNk ZWZpbmUgTUlEUl9DT1JURVhfQTE1X1IwUDAJCQkJMHg0MTBGQzBGMAorCisjZGVmaW5lIENPTlRS T0xfSURfQ09ERQkJCQkJMHg0QTAwMjIwNAorCisjZGVmaW5lIE9NQVA1NDMwX0NPTlRST0xfSURf Q09ERV9FUzFfMAkJCTB4MEI5NDIwMkYKKyNkZWZpbmUgT01BUDU0MzJfQ09OVFJPTF9JRF9DT0RF X0VTMV8wCQkJMHgwQjk5ODAyRgorI2RlZmluZSBPTUFQNTQzMF9DT05UUk9MX0lEX0NPREVfRVMy XzAJCQkweDFCOTQyMDJGCisjZGVmaW5lIE9NQVA1NDMyX0NPTlRST0xfSURfQ09ERV9FUzJfMAkJ CTB4MUI5OTgwMkYKKworLyogRU1JRl9MM19DT05GSUcgcmVnaXN0ZXIgdmFsdWUgKi8KKyNkZWZp bmUgRU1JRl9MM19DT05GSUdfVkFMX1NZU18xMF9MTF8wCQkJMHgwQTAwMDBGRgorI2RlZmluZSBF TUlGX0wzX0NPTkZJR19WQUxfU1lTXzEwX01QVV8zX0xMXzAJCTB4MEEzMDAwMDAKKyNkZWZpbmUg RU1JRl9MM19DT05GSUdfVkFMX1NZU18xMF9NUFVfNV9MTF8wCQkweDBBNTAwMDAwCisKK3ZvaWQg X19ub3JldHVybiByZXNldF9jcHUodW5zaWduZWQgbG9uZyBhZGRyKQoreworCXdyaXRlbChQUk1f UlNUQ1RSTF9SRVNFVCwgUFJNX1JTVENUUkwpOworCisJd2hpbGUgKDEpOworfQorCisjZGVmaW5l IFdBVENIRE9HX1dTUFIJCQkJCTB4NDgKKyNkZWZpbmUgV0FUQ0hET0dfV1dQUwkJCQkJMHgzNAor CitzdGF0aWMgdm9pZCB3YWl0X2Zvcl9jb21tYW5kX2NvbXBsZXRlKHZvaWQpCit7CisJaW50IHBl bmRpbmcgPSAxOworCisJZG8geworCQlwZW5kaW5nID0gcmVhZGwoT01BUDU0WFhfV0RUMl9CQVNF ICsgV0FUQ0hET0dfV1dQUyk7CisJfSB3aGlsZSAocGVuZGluZyk7Cit9CisKKy8qIEVNSUYgKi8K KyNkZWZpbmUgRU1JRl9SRVZJU0lPTgkJCQkJMHgwMDAwCisjZGVmaW5lIEVNSUZfU1RBVFVTCQkJ CQkweDAwMDQKKyNkZWZpbmUgRU1JRl9TRFJBTV9DT05GSUcJCQkJMHgwMDA4CisjZGVmaW5lIEVN SUZfU0RSQU1fQ09ORklHXzIJCQkJMHgwMDBDCisjZGVmaW5lIEVNSUZfU0RSQU1fUkVGUkVTSF9D T05UUk9MCQkJMHgwMDEwCisjZGVmaW5lIEVNSUZfU0RSQU1fUkVGUkVTSF9DT05UUk9MX1NIQURP VwkJMHgwMDE0CisjZGVmaW5lIEVNSUZfU0RSQU1fVElNSU5HXzEJCQkJMHgwMDE4CisjZGVmaW5l IEVNSUZfU0RSQU1fVElNSU5HXzFfU0hBRE9XCQkJMHgwMDFDCisjZGVmaW5lIEVNSUZfU0RSQU1f VElNSU5HXzIJCQkJMHgwMDIwCisjZGVmaW5lIEVNSUZfU0RSQU1fVElNSU5HXzJfU0hBRE9XCQkJ MHgwMDI0CisjZGVmaW5lIEVNSUZfU0RSQU1fVElNSU5HXzMJCQkJMHgwMDI4CisjZGVmaW5lIEVN SUZfU0RSQU1fVElNSU5HXzNfU0hBRE9XCQkJMHgwMDJDCisjZGVmaW5lIEVNSUZfUE9XRVJfTUFO QUdFTUVOVF9DT05UUk9MCQkJMHgwMDM4CisjZGVmaW5lIEVNSUZfUE9XRVJfTUFOQUdFTUVOVF9D T05UUk9MX1NIQURPVwkJMHgwMDNDCisjZGVmaW5lIEVNSUZfTFBERFIyX01PREVfUkVHX0RBVEEJ CQkweDAwNDAKKyNkZWZpbmUgRU1JRl9MUEREUjJfTU9ERV9SRUdfQ09ORklHCQkJMHgwMDUwCisj ZGVmaW5lIEVNSUZfT0NQX0NPTkZJRwkJCQkJMHgwMDU0CisjZGVmaW5lIEVNSUZfT0NQX0NGR19W QUxVRV8xCQkJCTB4MDA1OAorI2RlZmluZSBFTUlGX09DUF9DRkdfVkFMVUVfMgkJCQkweDAwNUMK KyNkZWZpbmUgRU1JRl9QRVJGT1JNQU5DRV9DT1VOVEVSXzEJCQkweDAwODAKKyNkZWZpbmUgRU1J Rl9QRVJGT1JNQU5DRV9DT1VOVEVSXzIJCQkweDAwODQKKyNkZWZpbmUgRU1JRl9QRVJGT1JNQU5D RV9DT1VOVEVSX0NPTkZJRwkJCTB4MDA4OAorI2RlZmluZSBFTUlGX1BFUkZPUk1BTkNFX0NPVU5U RVJfTUFTVEVSX1JFR0lPTl9TRUxFQ1QJMHgwMDhDCisjZGVmaW5lIEVNSUZfUEVSRk9STUFOQ0Vf Q09VTlRFUl9USU1FCQkJMHgwMDkwCisjZGVmaW5lIEVNSUZfTUlTQ19SRUcJCQkJCTB4MDA5NAor I2RlZmluZSBFTUlGX0RMTF9DQUxJQl9DVFJMCQkJCTB4MDA5OAorI2RlZmluZSBFTUlGX0RMTF9D QUxJQl9DVFJMX1NIQURPVwkJCTB4MDA5YworCisjZGVmaW5lIEVNSUZfUFdSX01HTVRfQ1RSTAkJ CQkweDAwMzgKKyNkZWZpbmUgRU1JRl9QV1JfTUdNVF9DVFJMX1NIQURPVwkJCTB4MDAzYworI2Rl ZmluZSBFTUlGX1JFQURfSURMRUNUUkwJCQkJMHgwMDk4CisjZGVmaW5lIEVNSUZfUkVBRF9JRExF Q1RSTF9TSEFET1cJCQkweDAwOWMKKyNkZWZpbmUgRU1JRl9aUV9DT05GSUcJCQkJCTB4MDBjOAor I2RlZmluZSBFTUlGX1RFTVBfQUxFUlRfQ09ORklHCQkJCTB4MDBjYworI2RlZmluZSBFTUlGX0wz X0NPTkZJRwkJCQkJMHgwMDU0CisKKyNkZWZpbmUgTlVNQkVSX09GX0VNSUZfRVhUX0NUUkxfUkVH SVNURVJTCQkzMAorCisjZGVmaW5lIEVNSUZfU0RSQU1fT1VUUFVUX0lNUEVEQU5DRV9DQUxJQlJB VElPTl9DT05GSUcJMHgwMEM4CisKKyNkZWZpbmUgRU1JRl9ERFJfUEhZX0NUUkxfMQkJCQkweDAw ZTQKKyNkZWZpbmUgRU1JRl9ERFJfUEhZX0NUUkxfMV9TSEFET1cJCQkweDAwZTgKKyNkZWZpbmUg RU1JRl9ERFJfUEhZX0NUUkxfMgkJCQkweDAwZUMKKyNkZWZpbmUgRU1JRl9ERFJfRVhUX1BIWV9D VFJMXzEJCQkJMHgwMjAwCisKKyNkZWZpbmUgQ1MwCQkJCQkJMAorI2RlZmluZSBDUzEJCQkJCQkx CisKKyNkZWZpbmUgRE1NX0xJU0FfTUFQXzAJCQkJCTB4MDA0MAorI2RlZmluZSBETU1fTElTQV9N QVBfMQkJCQkJMHgwMDQ0CisjZGVmaW5lIERNTV9MSVNBX01BUF8yCQkJCQkweDAwNDgKKyNkZWZp bmUgRE1NX0xJU0FfTUFQXzMJCQkJCTB4MDA0QworCisjZGVmaW5lIEVNSUZfUkVHX0NTMU5WTUVO X01BU0sgKDEgPDwgMzApCisjZGVmaW5lIEVNSUZfUkVHX0lOSVRSRUZfRElTX01BU0sgKDEgPDwg MzEpCisjZGVmaW5lIEVNSUZfUkVHX0NTX1NISUZUCTMxCisjZGVmaW5lIEVNSUZfUkVHX1JFRlJF U0hfRU5fTUFTSwkJCTB4NDAwMDAwMDAKKyNkZWZpbmUgRU1JRl9SRUdfRUJBTktfTUFTSyAoMSA8 PCAzKQorCisjZGVmaW5lIE1SMF9BRERSCQkJCQkwCisjZGVmaW5lIE1SMV9BRERSCQkJCQkxCisj ZGVmaW5lIE1SMl9BRERSCQkJCQkyCisjZGVmaW5lIE1SM19BRERSCQkJCQkzCisjZGVmaW5lIE1S NF9BRERSCQkJCQk0CisjZGVmaW5lIE1SMTBfQUREUgkJCQkJMTAKKyNkZWZpbmUgTVIxNl9BRERS CQkJCQkxNgorI2RlZmluZSBSTF9GSU5BTAkJCQkJOAorCisjZGVmaW5lIE1SMTZfUkVGX0ZVTExf QVJSQVkJCQkJMAorI2RlZmluZSBNUjBfREFJX01BU0sJCQkJCTEKKworI2RlZmluZSBSRUZfRU4J CQkJCQkweDQwMDAwMDAwCisKKy8qIGRlZmluZXMgZm9yIE1SMSAqLworI2RlZmluZSBNUjFfQkw0 CQkJCQkJMgorI2RlZmluZSBNUjFfQkw4CQkJCQkJMworI2RlZmluZSBNUjFfQkwxNgkJCQkJNAor CisjZGVmaW5lIE1SMV9CVF9TRVEJCQkJCTAKKyNkZWZpbmUgQlRfSU5UCQkJCQkJMQorCisjZGVm aW5lIE1SMV9XQwkJCQkJCTAKKyNkZWZpbmUgTVIxX05XQwkJCQkJCTEKKworI2RlZmluZSBNUjFf TldSMwkJCQkJMQorI2RlZmluZSBNUjFfTldSNAkJCQkJMgorI2RlZmluZSBNUjFfTldSNQkJCQkJ MworI2RlZmluZSBNUjFfTldSNgkJCQkJNAorI2RlZmluZSBNUjFfTldSNwkJCQkJNQorI2RlZmlu ZSBNUjFfTldSOAkJCQkJNgorCisjZGVmaW5lIE1SMV9CTF84X0JUX1NFUV9XUkFQX0VOX05XUl84 CQkJMHhjMworCisvKiBkZWZpbmVzIGZvciBNUjIgKi8KKyNkZWZpbmUgTVIyX1JMM19XTDEJCQkJ CTEKKyNkZWZpbmUgTVIyX1JMNF9XTDIJCQkJCTIKKyNkZWZpbmUgTVIyX1JMNV9XTDIJCQkJCTMK KyNkZWZpbmUgTVIyX1JMNl9XTDMJCQkJCTQKKworLyogZGVmaW5lcyBmb3IgTVIxMCAqLworI2Rl ZmluZSBNUjEwX1pRSU5JVAkJCQkJMHhGRgorI2RlZmluZSBNUjEwX1pRUkVTRVQJCQkJCTB4QzMK KyNkZWZpbmUgTVIxMF9aUUNMCQkJCQkweEFCCisjZGVmaW5lIE1SMTBfWlFDUwkJCQkJMHg1Ngor CisvKiBFbHBpZGEgMngyR2JpdCAqLworI2RlZmluZSBTRFJBTV9DT05GSUdfSU5JVAkJCQkweDgw ODAwRUIxCisjZGVmaW5lIEREUl9QSFlfQ1RSTF8xX0lOSVQJCQkJMHg4NDlGRkZGNQorI2RlZmlu ZSBSRUFEX0lETEVfQ1RSTAkJCQkJMHgwMDA1MDFGRgorI2RlZmluZSBQV1JfTUdNVF9DVFJMCQkJ CQkweDQwMDAwMDBmCisjZGVmaW5lIFBXUl9NR01UX0NUUkxfT1BQMTAwCQkJCTB4NDAwMDAwMGYK KyNkZWZpbmUgWlFfQ09ORklHCQkJCQkweDUwMGIzMjE1CisKKyNkZWZpbmUgQ1MxX01SKG1yKQkJ CQkJKChtcikgfCAweDgwMDAwMDAwKQorCisvKiBDTEtDVFJMX0lETFNFVCAqLworI2RlZmluZSBN T0RVTEVfQ0xLQ1RSTF9JRExFU1RfVFJBTlNJVElPTklORwkJMQorI2RlZmluZSBNT0RVTEVfQ0xL Q1RSTF9JRExFU1RfRElTQUJMRUQJCQkzCisjZGVmaW5lIE1PRFVMRV9DTEtDVFJMX0lETEVTVF9T SElGVAkJCTE2CisjZGVmaW5lIE1PRFVMRV9DTEtDVFJMX0lETEVTVF9NQVNLCQkJKDMgPDwgMTYp CisKKworaW50IG9tYXA1X2VtaWZfY29uZmlnKHUzMiBiYXNlLCBjb25zdCBzdHJ1Y3Qgb21hcDVf ZGRyX3JlZ3MgKnJlZ3MpCit7CisJdTMyICpleHRfcGh5X2N0cmxfYmFzZTsKKwl1MzIgKmVtaWZf ZXh0X3BoeV9jdHJsX2Jhc2U7CisJaW50IGk7CisKKwkvKiBOb3QgTlZNICovCisJc3IzMihiYXNl ICsgRU1JRl9TRFJBTV9DT05GSUdfMiwgMzAsIDEsIDApOworCisJLyoKKwkgKiBLZWVwIFJFR19J TklUUkVGX0RJUyA9IDEgdG8gcHJldmVudCByZS1pbml0aWFsaXphdGlvbiBvZiBTRFJBTQorCSAq IHdoZW4gRU1JRl9TRFJBTV9DT05GSUcgcmVnaXN0ZXIgaXMgd3JpdHRlbgorCSAqLworCXNyMzIo YmFzZSArIEVNSUZfU0RSQU1fUkVGUkVTSF9DT05UUk9MLCAzMSwgMSwgMSk7CisKKwkvKgorCSAq IFNldCB0aGUgU0RSQU1fQ09ORklHIGFuZCBQSFlfQ1RSTCBmb3IgdGhlCisJICogdW4tbG9ja2Vk IGZyZXF1ZW5jeSAmIGRlZmF1bHQgUkwKKwkgKi8KKwl3cml0ZWwocmVncy0+c2RyYW1fY29uZmln X2luaXQsIGJhc2UgKyBFTUlGX1NEUkFNX0NPTkZJRyk7CisJd3JpdGVsKHJlZ3MtPmVtaWZfZGRy X3BoeV9jdGxyXzFfaW5pdCwgYmFzZSArIEVNSUZfRERSX1BIWV9DVFJMXzEpOworCisJZXh0X3Bo eV9jdHJsX2Jhc2UgPSAodTMyICopICYocmVncy0+ZW1pZl9kZHJfZXh0X3BoeV9jdHJsXzFfaW5p dCk7CisJZW1pZl9leHRfcGh5X2N0cmxfYmFzZSA9ICh1MzIgKikgKGJhc2UgKyBFTUlGX0REUl9F WFRfUEhZX0NUUkxfMSk7CisKKwkvKiBDb25maWd1cmUgZXh0ZXJuYWwgcGh5IGNvbnRyb2wgcmVn aXN0ZXJzICovCisJZm9yIChpID0gMDsgaSA8IE5VTUJFUl9PRl9FTUlGX0VYVF9DVFJMX1JFR0lT VEVSUzsgaSsrKSB7CisJCXdyaXRlbCgqZXh0X3BoeV9jdHJsX2Jhc2UrKywgZW1pZl9leHRfcGh5 X2N0cmxfYmFzZSsrKTsKKwkJLyogV3JpdGUgdGhlIHNoYWRvdyByZWdpc3RlciBoZXJlIGFzIHdl bGwgKi8KKwkJd3JpdGVsKCpleHRfcGh5X2N0cmxfYmFzZSsrLCBlbWlmX2V4dF9waHlfY3RybF9i YXNlKyspOworCX0KKworCXdyaXRlbChNUjBfQUREUiwgYmFzZSArIEVNSUZfTFBERFIyX01PREVf UkVHX0NPTkZJRyk7CisJd3JpdGVsKENTMV9NUihNUjBfQUREUiksIGJhc2UgKyBFTUlGX0xQRERS Ml9NT0RFX1JFR19DT05GSUcpOworCXdoaWxlIChyZWFkbChiYXNlICsgRU1JRl9MUEREUjJfTU9E RV9SRUdfREFUQSkgJiBNUjBfREFJX01BU0spOworCisJd3JpdGVsKE1SMTBfQUREUiwgYmFzZSAr IEVNSUZfTFBERFIyX01PREVfUkVHX0NPTkZJRyk7CisJd3JpdGVsKE1SMTBfWlFJTklULCBiYXNl ICsgRU1JRl9MUEREUjJfTU9ERV9SRUdfREFUQSk7CisJd3JpdGVsKENTMV9NUihNUjEwX0FERFIp LCBiYXNlICsgRU1JRl9MUEREUjJfTU9ERV9SRUdfQ09ORklHKTsKKwl3cml0ZWwoTVIxMF9aUUlO SVQsIGJhc2UgKyBFTUlGX0xQRERSMl9NT0RFX1JFR19EQVRBKTsKKworCS8qCisJICogdFpRSU5J VCA9IDEgdXMKKwkgKiBFbm91Z2ggbG9vcHMgYXNzdW1pbmcgYSBtYXhpbXVtIG9mIDJHSHoKKwkg Ki8KKwlzZGVsYXkoMjAwMCk7CisKKwl3cml0ZWwoTVIxX0FERFIsIGJhc2UgKyBFTUlGX0xQRERS Ml9NT0RFX1JFR19DT05GSUcpOworCXdyaXRlbChNUjFfQkxfOF9CVF9TRVFfV1JBUF9FTl9OV1Jf OCwgYmFzZSArIEVNSUZfTFBERFIyX01PREVfUkVHX0RBVEEpOworCXdyaXRlbChDUzFfTVIoTVIx X0FERFIpLCBiYXNlICsgRU1JRl9MUEREUjJfTU9ERV9SRUdfQ09ORklHKTsKKwl3cml0ZWwoTVIx X0JMXzhfQlRfU0VRX1dSQVBfRU5fTldSXzgsIGJhc2UgKyBFTUlGX0xQRERSMl9NT0RFX1JFR19E QVRBKTsKKworCXdyaXRlbChNUjE2X0FERFIsIGJhc2UgKyBFTUlGX0xQRERSMl9NT0RFX1JFR19D T05GSUcpOworCXdyaXRlbChNUjE2X1JFRl9GVUxMX0FSUkFZLCBiYXNlICsgRU1JRl9MUEREUjJf TU9ERV9SRUdfREFUQSk7CisJd3JpdGVsKENTMV9NUihNUjE2X0FERFIpLCBiYXNlICsgRU1JRl9M UEREUjJfTU9ERV9SRUdfQ09ORklHKTsKKwl3cml0ZWwoTVIxNl9SRUZfRlVMTF9BUlJBWSwgYmFz ZSArIEVNSUZfTFBERFIyX01PREVfUkVHX0RBVEEpOworCisJLyoKKwkgKiBFbmFibGUgcmVmcmVz aCBhbG9uZyB3aXRoIHdyaXRpbmcgTVIyCisJICogRW5jb2Rpbmcgb2YgUkwgaW4gTVIyIGlzIChS TCAtIDIpCisJICovCisJd3JpdGVsKE1SMl9BRERSIHwgRU1JRl9SRUdfUkVGUkVTSF9FTl9NQVNL LCBiYXNlICsgCkVNSUZfTFBERFIyX01PREVfUkVHX0NPTkZJRyk7CisJd3JpdGVsKFJMX0ZJTkFM IC0gMiwgYmFzZSArIEVNSUZfTFBERFIyX01PREVfUkVHX0RBVEEpOworCXdyaXRlbChDUzFfTVIo TVIyX0FERFIpIHwgRU1JRl9SRUdfUkVGUkVTSF9FTl9NQVNLLCBiYXNlICsgCkVNSUZfTFBERFIy X01PREVfUkVHX0NPTkZJRyk7CisJd3JpdGVsKFJMX0ZJTkFMIC0gMiwgYmFzZSArIEVNSUZfTFBE RFIyX01PREVfUkVHX0RBVEEpOworCisJd3JpdGVsKE1SM19BRERSLCBiYXNlICsgRU1JRl9MUERE UjJfTU9ERV9SRUdfQ09ORklHKTsKKwl3cml0ZWwoMHgxLCBiYXNlICsgRU1JRl9MUEREUjJfTU9E RV9SRUdfREFUQSk7CisJd3JpdGVsKENTMV9NUihNUjNfQUREUiksIGJhc2UgKyBFTUlGX0xQRERS Ml9NT0RFX1JFR19DT05GSUcpOworCXdyaXRlbCgweDEsIGJhc2UgKyBFTUlGX0xQRERSMl9NT0RF X1JFR19EQVRBKTsKKworCisJd3JpdGVsKHJlZ3MtPnNkcmFtX2NvbmZpZywgYmFzZSArIEVNSUZf U0RSQU1fQ09ORklHKTsKKwl3cml0ZWwocmVncy0+ZW1pZl9kZHJfcGh5X2N0bHJfMSwgYmFzZSAr IEVNSUZfRERSX1BIWV9DVFJMXzEpOworCisJLyogRW5hYmxlIHJlZnJlc2ggbm93ICovCisJc3Iz MihiYXNlICsgRU1JRl9TRFJBTV9SRUZSRVNIX0NPTlRST0wsIDMxLCAxLCAwKTsKKworCS8qIEVt aWZfdXBkYXRlX3RpbWluZ3MgKi8KKwl3cml0ZWwocmVncy0+cmVmX2N0cmwsIGJhc2UgKyBFTUlG X1NEUkFNX1JFRlJFU0hfQ09OVFJPTF9TSEFET1cpOworCXdyaXRlbChyZWdzLT5zZHJhbV90aW0x LCBiYXNlICsgRU1JRl9TRFJBTV9USU1JTkdfMV9TSEFET1cpOworCXdyaXRlbChyZWdzLT5zZHJh bV90aW0yLCBiYXNlICsgRU1JRl9TRFJBTV9USU1JTkdfMl9TSEFET1cpOworCXdyaXRlbChyZWdz LT5zZHJhbV90aW0zLCBiYXNlICsgRU1JRl9TRFJBTV9USU1JTkdfM19TSEFET1cpOworCisJd3Jp dGVsKDB4RjBGMCwgYmFzZSArIEVNSUZfUFdSX01HTVRfQ1RSTCk7CisJd3JpdGVsKDB4RjBGMCwg YmFzZSArIEVNSUZfUFdSX01HTVRfQ1RSTF9TSEFET1cpOworCXdyaXRlbChyZWdzLT5yZWFkX2lk bGVfY3RybCwgYmFzZSArIEVNSUZfUkVBRF9JRExFQ1RSTF9TSEFET1cpOworCXdyaXRlbChyZWdz LT56cV9jb25maWcsIGJhc2UgKyBFTUlGX1pRX0NPTkZJRyk7CisJd3JpdGVsKHJlZ3MtPnRlbXBf YWxlcnRfY29uZmlnLCBiYXNlICsgRU1JRl9URU1QX0FMRVJUX0NPTkZJRyk7CisJd3JpdGVsKHJl Z3MtPmVtaWZfZGRyX3BoeV9jdGxyXzEsIGJhc2UgKyBFTUlGX0REUl9QSFlfQ1RSTF8xX1NIQURP Vyk7CisKKwl3cml0ZWwoRU1JRl9MM19DT05GSUdfVkFMX1NZU18xMF9NUFVfNV9MTF8wLCBiYXNl ICsgRU1JRl9MM19DT05GSUcpOworCQorCXJldHVybiAwOworfQorCitzdGF0aWMgaW5saW5lIHZv aWQgd2FpdF9mb3JfY2xrX2VuYWJsZSh1MzIgKmNsa2N0cmxfYWRkcikKK3sKKwl1MzIgY2xrY3Ry bCwgaWRsZXN0ID0gTU9EVUxFX0NMS0NUUkxfSURMRVNUX0RJU0FCTEVEOworCXUzMiBib3VuZCA9 IExERUxBWTsKKworCXdoaWxlICgoaWRsZXN0ID09IE1PRFVMRV9DTEtDVFJMX0lETEVTVF9ESVNB QkxFRCkgfHwKKwkJKGlkbGVzdCA9PSBNT0RVTEVfQ0xLQ1RSTF9JRExFU1RfVFJBTlNJVElPTklO RykpIHsKKworCQljbGtjdHJsID0gcmVhZGwoY2xrY3RybF9hZGRyKTsKKwkJaWRsZXN0ID0gKGNs a2N0cmwgJiBNT0RVTEVfQ0xLQ1RSTF9JRExFU1RfTUFTSykgPj4KKwkJCSBNT0RVTEVfQ0xLQ1RS TF9JRExFU1RfU0hJRlQ7CisJCWlmICgtLWJvdW5kID09IDApIHsKKwkJCWRlYnVnKCJDbG9jayBl bmFibGUgZmFpbGVkIGZvciAweCVwIGlkbGVzdCAweCV4XG4iLAorCQkJCWNsa2N0cmxfYWRkciwg Y2xrY3RybCk7CisJCQlyZXR1cm47CisJCX0KKwl9Cit9CisKK3N0YXRpYyB1bnNpZ25lZCBpbnQg Y29ydGV4X2ExNV9yZXYodm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgcmV2OworCisJLyogUmVhZCBN YWluIElEIFJlZ2lzdGVyIChNSURSKSAqLworCWFzbSAoIm1yYyBwMTUsIDAsICUwLCBjMCwgYzAs IDAiIDogIj1yIiAocmV2KSk7CisKKwlyZXR1cm4gcmV2OworfQorCit1bnNpZ25lZCBpbnQgb21h cDVfcmV2aXNpb24odm9pZCkKK3sKKwl1bnNpZ25lZCBpbnQgcmV2ID0gY29ydGV4X2ExNV9yZXYo KTsKKworCXN3aXRjaChyZXYpIHsKKwljYXNlIE1JRFJfQ09SVEVYX0ExNV9SMFAwOgorCQlzd2l0 Y2gocmVhZGwoQ09OVFJPTF9JRF9DT0RFKSkgeworCQljYXNlIE9NQVA1NDMwX0NPTlRST0xfSURf Q09ERV9FUzFfMDoKKwkJCXJldHVybiBPTUFQNTQzMF9FUzFfMDsKKwkJCWJyZWFrOworCQljYXNl IE9NQVA1NDMwX0NPTlRST0xfSURfQ09ERV9FUzJfMDoKKwkJCXJldHVybiBPTUFQNTQzMF9FUzJf MDsKKwkJCWJyZWFrOworCQljYXNlIE9NQVA1NDMyX0NPTlRST0xfSURfQ09ERV9FUzFfMDoKKwkJ CXJldHVybiBPTUFQNTQzMl9FUzFfMDsKKwkJCWJyZWFrOworCQljYXNlIE9NQVA1NDMyX0NPTlRS T0xfSURfQ09ERV9FUzJfMDoKKwkJCXJldHVybiBPTUFQNTQzMl9FUzJfMDsKKwkJCWJyZWFrOwor CQlkZWZhdWx0OgorCQkJcmV0dXJuIE9NQVA1NDMwX0VTMV8wOworCQkJYnJlYWs7CisJCX0KKwlk ZWZhdWx0OgorCQlyZXR1cm4gT01BUDU0M1hfU0lMSUNPTl9JRF9JTlZBTElEOworCQlicmVhazsK Kwl9Cit9CisKK3ZvaWQgb21hcDVfZGRyX2luaXQoY29uc3Qgc3RydWN0IG9tYXA1X2Rkcl9yZWdz ICpkZHJfcmVncywgY29uc3Qgc3RydWN0IApkcGxsX3BhcmFtICpjb3JlKQoreworCS8qIERNTSBD b25maWd1cmF0aW9uICovCisJd3JpdGVsKDB4RkYwMjAxMDAsIE9NQVA1NFhYX0RNTV9CQVNFICsg RE1NX0xJU0FfTUFQXzMpOworCXdyaXRlbCgweDgwNzQwMzAwLCBPTUFQNTRYWF9ETU1fQkFTRSAr IERNTV9MSVNBX01BUF8yKTsKKwl3cml0ZWwoMHgwLCBPTUFQNTRYWF9ETU1fQkFTRSArIERNTV9M SVNBX01BUF8xKTsKKwl3cml0ZWwoMHgwLCBPTUFQNTRYWF9ETU1fQkFTRSArIERNTV9MSVNBX01B UF8wKTsKKworCXdyaXRlbCgweEZGMDIwMTAwLCBPTUFQNTRYWF9NQV9CQVNFICsgRE1NX0xJU0Ff TUFQXzMpOworCXdyaXRlbCgweDgwNzQwMzAwLCBPTUFQNTRYWF9NQV9CQVNFICsgRE1NX0xJU0Ff TUFQXzIpOworCXdyaXRlbCgweDAsIE9NQVA1NFhYX01BX0JBU0UgKyBETU1fTElTQV9NQVBfMSk7 CisJd3JpdGVsKDB4MCwgT01BUDU0WFhfTUFfQkFTRSArIERNTV9MSVNBX01BUF8wKTsKKworCS8q CisJICogRERSIG5lZWRzIHRvIGJlIGluaXRpYWxpc2VkIEAgMTkuMiBNSHoKKwkgKiBTbyBwdXQg Y29yZSBEUExMIGluIGJ5cGFzcyBtb2RlCisJICogQ29uZmlndXJlIHRoZSBDb3JlIERQTEwgYnV0 IGRvbid0IGxvY2sgaXQKKwkgKi8KKwlvbWFwNV9jb25maWd1cmVfY29yZV9kcGxsX25vX2xvY2so Y29yZSk7CisKKwlvbWFwNV9lbWlmX2NvbmZpZyhPTUFQNTRYWF9FTUlGMV9CQVNFLCBkZHJfcmVn cyk7CisJb21hcDVfZW1pZl9jb25maWcoT01BUDU0WFhfRU1JRjJfQkFTRSwgZGRyX3JlZ3MpOwor CisJLyogUHV0IEVNSUYgY2xvY2sgZG9tYWluIGluIHN3IHdha2V1cCBtb2RlICovCisJc3IzMihD TV9FTUlGX0NMS1NUQ1RSTCwgMCwgMiwgMik7CisKKwl3YWl0X2Zvcl9jbGtfZW5hYmxlKCh1MzIq KUNNX0VNSUZfRU1JRjFfQ0xLQ1RSTCk7CisJd2FpdF9mb3JfY2xrX2VuYWJsZSgodTMyKilDTV9F TUlGX0VNSUYyX0NMS0NUUkwpOworCisJd3JpdGVsKDB4MDAwMDE3MDksIENNX1NIQURPV19GUkVR X0NPTkZJRzEpOworCisJaWYgKCF3YWl0X29uX3ZhbHVlKDEsIDAsIENNX1NIQURPV19GUkVRX0NP TkZJRzEsIExERUxBWSkpIHsKKwkJZGVidWcoIkZSRVEgVVBEQVRFIHByb2NlZHVyZSBmYWlsZWQh ISIpOworCQloYW5nKCk7CisJfQorfQorCit2b2lkIG9tYXA1X3Bvd2VyX2kyY19zZW5kKHUzMiBy KQoreworCXUzMiB2YWw7CisKKwl3cml0ZWwociwgT01BUDU0WFhfUFJNX1ZDX1ZBTF9CWVBBU1Mp OworCisJdmFsID0gcmVhZGwoT01BUDU0WFhfUFJNX1ZDX1ZBTF9CWVBBU1MpOworCXZhbCB8PSAw eDEwMDAwMDA7CisJd3JpdGVsKHZhbCwgT01BUDU0WFhfUFJNX1ZDX1ZBTF9CWVBBU1MpOworCisJ d2hpbGUgKHJlYWRsKE9NQVA1NFhYX1BSTV9WQ19WQUxfQllQQVNTKSAmIDB4MTAwMDAwMCkKKwkJ OworCisJdmFsID0gcmVhZGwoT01BUDU0WFhfUFJNX0lSUVNUQVRVU19NUFUpOworCXdyaXRlbCh2 YWwsIE9NQVA1NFhYX1BSTV9JUlFTVEFUVVNfTVBVKTsKK30KKworLyogU2h1dGRvd24gd2F0Y2hk b2cgKi8KK3N0YXRpYyBpbnQgd2F0Y2hkb2dfaW5pdCh2b2lkKQoreworCXZvaWQgX19pb21lbSAq d2QyX2Jhc2UgPSAodm9pZCAqKU9NQVA1NFhYX1dEVDJfQkFTRTsKKworCXdyaXRlbChXRF9VTkxP Q0sxLCB3ZDJfYmFzZSArIFdBVENIRE9HX1dTUFIpOworCXdhaXRfZm9yX2NvbW1hbmRfY29tcGxl dGUoKTsKKwl3cml0ZWwoV0RfVU5MT0NLMiwgd2QyX2Jhc2UgKyBXQVRDSERPR19XU1BSKTsKKwor CXJldHVybiAwOworfQorbGF0ZV9pbml0Y2FsbCh3YXRjaGRvZ19pbml0KTsKKworc3RhdGljIGlu dCBvbWFwX3ZlY3Rvcl9pbml0KHZvaWQpCit7CisJLyoKKwkgKiBvbWFwNCB1c2Jib290IGludGVy ZmFjZXMgd2l0aCB0aGUgb21hcDQgUk9NIHRvIHJldXNlIHRoZSBVU0IgcG9ydAorCSAqIHVzZWQg Zm9yIGJvb3RpbmcuCisJICogVGhlIFJPTSBjb2RlIHVzZXMgaW50ZXJydXB0cyBmb3IgdGhlIHRy YW5zZmVycywgc28gZG8gbm90IG1vZGlmeSB0aGUKKwkgKiBpbnRlcnJ1cHQgdmVjdG9ycyBpbiB0 aGlzIGNhc2UuCisJICovCisJaWYgKG9tYXA1X2Jvb3RzcmMoKSAhPSBPTUFQX0JPT1RTUkNfVVNC MSkgeworCQlfX2FzbV9fIF9fdm9sYXRpbGVfXyAoCisJCQkibW92ICAgIHIwLCAjMDsiCisJCQki bWNyICAgIHAxNSwgIzAsIHIwLCBjMTIsIGMwLCAjMDsiCisJCQk6CisJCQk6CisJCQk6ICJyMCIK KwkJKTsKKwl9CisKKwlyZXR1cm4gMDsKK30KK2NvcmVfaW5pdGNhbGwob21hcF92ZWN0b3JfaW5p dCk7CisKKyNkZWZpbmUgT01BUDVfVFJBQ0lOR19WRUNUT1IzIDB4NDAzMWYwNDgKKworZW51bSBv bWFwX2Jvb3Rfc3JjIG9tYXA1X2Jvb3RzcmModm9pZCkKK3sKKwl1MzIgYm9vdHNyYyA9IHJlYWRs KE9NQVA1X1RSQUNJTkdfVkVDVE9SMyk7CisKKwlpZiAoYm9vdHNyYyAmICgxIDw8IDUpKQorCQly ZXR1cm4gT01BUF9CT09UU1JDX01NQzE7CisJaWYgKGJvb3RzcmMgJiAoMSA8PCAzKSkKKwkJcmV0 dXJuIE9NQVBfQk9PVFNSQ19OQU5EOworCWlmIChib290c3JjICYgKDE8PDIxKSkKKwkJcmV0dXJu IE9NQVBfQk9PVFNSQ19VU0IxOworCXJldHVybiBPTUFQX0JPT1RTUkNfVU5LTk9XTjsKK30KKwor LyogU2NhbGluZyB2Y29yZSBmdW5jdGlvbnMgYXJlIHRha2VuIGZyb20gdS1ib290ICovCit2b2lk IGRvX3NjYWxlX3Zjb3JlKHUzMiB2Y29yZV9yZWcsIHUzMiB2b2x0X212KQoreworCXUzMiB0ZW1w LCBvZmZzZXRfY29kZTsKKwl1MzIgc3RlcCA9IDEwMDAwOyAvKiAxMCBtViByZXByZXNlbnRlZCBp biB1ViAqLzsKKworCW9mZnNldF9jb2RlID0gKHZvbHRfbXYgKiAxMDAwIC0gU01QU19CQVNFX1ZP TFRfVVYgKyBzdGVwIC0gMSkgLyBzdGVwICsgNjsKKworCXRlbXAgPSBTTVBTX0kyQ19TTEFWRV9B RERSIHwKKwkJKHZjb3JlX3JlZyA8PCBPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTU19SRUdBRERS X1NISUZUKSB8CisJCShvZmZzZXRfY29kZSA8PCBPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTU19E QVRBX1NISUZUKSB8CisJCU9NQVA1NFhYX1BSTV9WQ19WQUxfQllQQVNTX1ZBTElEX0JJVDsKKwl3 cml0ZWwodGVtcCwgT01BUDU0WFhfUFJNX1ZDX1ZBTF9CWVBBU1MpOworCWlmICghd2FpdF9vbl92 YWx1ZShPTUFQNTRYWF9QUk1fVkNfVkFMX0JZUEFTU19WQUxJRF9CSVQsIDAsCisJCU9NQVA1NFhY X1BSTV9WQ19WQUxfQllQQVNTLCBMREVMQVkpKSB7CisJCWRlYnVnKCJTY2FsaW5nIHZvbHRhZ2Ug ZmFpbGVkIGZvciAweCV4XG4iLCB2Y29yZV9yZWcpOworCX0KK30KKwordm9pZCBvbWFwNV9zY2Fs ZV92Y29yZXModm9pZCkKK3sKKwl3cml0ZWwoMHgxNTBlLCBPTUFQNTRYWF9QUk1fVkNfQ0ZHX0ky Q19DTEspOworCXdyaXRlbCgwLCBPTUFQNTRYWF9QUk1fVkNfQ0ZHX0kyQ19NT0RFKTsKKworCS8q IFBhbG1hcyBzZXR0aW5ncyAqLworCWRvX3NjYWxlX3Zjb3JlKFNNUFNfUkVHX0FERFJfMTJfTVBV LCBWRERfTVBVKTsKKwlkb19zY2FsZV92Y29yZShTTVBTX1JFR19BRERSXzQ1X0lWQSwgVkREX01N KTsKKwlkb19zY2FsZV92Y29yZShTTVBTX1JFR19BRERSXzhfQ09SRSwgVkREX0NPUkUpOworfQor Cit2b2lkIG9tYXA1X2RvX3NldF9tdXgodTMyIGJhc2UsIHN0cnVjdCBwYWRfY29uZl9lbnRyeSBj b25zdCAqYXJyYXksIGludCAKc2l6ZSkKK3sKKwlpbnQgaTsKKwlzdHJ1Y3QgcGFkX2NvbmZfZW50 cnkgKnBhZCA9IChzdHJ1Y3QgcGFkX2NvbmZfZW50cnkgKikgYXJyYXk7CisKKwlmb3IgKGkgPSAw OyBpIDwgc2l6ZTsgaSsrLCBwYWQrKykKKwkJd3JpdGV3KHBhZC0+dmFsLCBiYXNlICsgcGFkLT5v ZmZzZXQpOworfQorCisvKiBHUE1DIHRpbWluZyBmb3IgT01BUDQgbmFuZCBkZXZpY2UgKi8KK2Nv bnN0IHN0cnVjdCBncG1jX2NvbmZpZyBvbWFwNV9uYW5kX2NmZyA9IHsKKwkuY2ZnID0geworCQkw eDAwMDAwODAwLAkvKiBDT05GMSAqLworCQkweDAwMDUwNTAwLAkvKiBDT05GMiAqLworCQkweDAw MDQwNDAwLAkvKiBDT05GMyAqLworCQkweDAzMDAwMzAwLAkvKiBDT05GNCAqLworCQkweDAwMDUw ODA4LAkvKiBDT05GNSAqLworCQkweDAwMDAwMDAwLAkvKiBDT05GNiAqLworCX0sCisJLyogR1BN QyBhZGRyZXNzIG1hcCBhcyBzbWFsbCBhcyBwb3NzaWJsZSAqLworCS5iYXNlID0gMHgyODAwMDAw MCwKKwkuc2l6ZSA9IEdQTUNfU0laRV8xNk0sCit9OworCitzdGF0aWMgaW50IG9tYXA1X2dwaW9f aW5pdCh2b2lkKQoreworCWFkZF9nZW5lcmljX2RldmljZSgib21hcC1ncGlvIiwgMCwgTlVMTCwg T01BUDU0WFhfR1BJTzFfQkFTRSwKKwkJCQkweGYwMCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOwor CWFkZF9nZW5lcmljX2RldmljZSgib21hcC1ncGlvIiwgMSwgTlVMTCwgT01BUDU0WFhfR1BJTzJf QkFTRSwKKwkJCQkweGYwMCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCWFkZF9nZW5lcmljX2Rl dmljZSgib21hcC1ncGlvIiwgMiwgTlVMTCwgT01BUDU0WFhfR1BJTzNfQkFTRSwKKwkJCQkweGYw MCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCWFkZF9nZW5lcmljX2RldmljZSgib21hcC1ncGlv IiwgMywgTlVMTCwgT01BUDU0WFhfR1BJTzRfQkFTRSwKKwkJCQkweGYwMCwgSU9SRVNPVVJDRV9N RU0sIE5VTEwpOworCWFkZF9nZW5lcmljX2RldmljZSgib21hcC1ncGlvIiwgNCwgTlVMTCwgT01B UDU0WFhfR1BJTzVfQkFTRSwKKwkJCQkweGYwMCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCWFk ZF9nZW5lcmljX2RldmljZSgib21hcC1ncGlvIiwgNSwgTlVMTCwgT01BUDU0WFhfR1BJTzZfQkFT RSwKKwkJCQkweGYwMCwgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCisJcmV0dXJuIDA7Cit9Citj b3JlZGV2aWNlX2luaXRjYWxsKG9tYXA1X2dwaW9faW5pdCk7CmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9tYWNoLW9tYXAvb21hcF9nZW5lcmljLmMgCmIvYXJjaC9hcm0vbWFjaC1vbWFwL29tYXBfZ2Vu ZXJpYy5jCmluZGV4IDU4MGVkM2UuLmNhM2U1NTMgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gt b21hcC9vbWFwX2dlbmVyaWMuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAvb21hcF9nZW5lcmlj LmMKQEAgLTI2LDYgKzI2LDggQEAgZW51bSBvbWFwX2Jvb3Rfc3JjIG9tYXBfYm9vdHNyYyh2b2lk KQogIAlyZXR1cm4gb21hcDNfYm9vdHNyYygpOwogICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hf T01BUDQpCiAgCXJldHVybiBvbWFwNF9ib290c3JjKCk7CisjZWxpZiBkZWZpbmVkKENPTkZJR19B UkNIX09NQVA1KQorCXJldHVybiBvbWFwNV9ib290c3JjKCk7CiAgI2VsaWYgZGVmaW5lZChDT05G SUdfQVJDSF9BTTMzWFgpCiAgCXJldHVybiBhbTMzeHhfYm9vdHNyYygpOwogICNlbmRpZgpkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwL3MzMmtfY2xrc291cmNlLmMgCmIvYXJjaC9hcm0v bWFjaC1vbWFwL3MzMmtfY2xrc291cmNlLmMKaW5kZXggN2RlZjhiMS4uMDM3N2UwZCAxMDA2NDQK LS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwL3MzMmtfY2xrc291cmNlLmMKKysrIGIvYXJjaC9hcm0v bWFjaC1vbWFwL3MzMmtfY2xrc291cmNlLmMKQEAgLTI3LDEzICsyNywxOCBAQAogICNpbmNsdWRl IDxpby5oPgogICNpbmNsdWRlIDxtYWNoL29tYXAzLXNpbGljb24uaD4KICAjaW5jbHVkZSA8bWFj aC9vbWFwNC1zaWxpY29uLmg+CisjaW5jbHVkZSA8bWFjaC9vbWFwNS1zaWxpY29uLmg+CiAgI2lu Y2x1ZGUgPG1hY2gvY2xvY2tzLmg+CiAgI2luY2x1ZGUgPG1hY2gvdGltZXJzLmg+CiAgI2luY2x1 ZGUgPG1hY2gvc3lzX2luZm8uaD4KICAjaW5jbHVkZSA8bWFjaC9zeXNsaWIuaD4KCiAgLyoqIFN5 bmMgMzJLaHogVGltZXIgcmVnaXN0ZXJzICovCisjaWZkZWYgQ09ORklHX0FSQ0hfT01BUDUKKyNk ZWZpbmUgUzMyS19DUgkJCTB4MzAKKyNlbHNlCiAgI2RlZmluZSBTMzJLX0NSCQkJMHgxMAorI2Vu ZGlmCiAgI2RlZmluZSBTMzJLX0ZSRVFVRU5DWQkJMzI3NjgKCiAgc3RhdGljIHZvaWQgX19pb21l bSAqdGltZXJiYXNlOwpAQCAtNzMsNiArNzgsOCBAQCBzdGF0aWMgaW50IHMzMmtfY2xvY2tzb3Vy Y2VfaW5pdCh2b2lkKQogIAkJdGltZXJiYXNlID0gKHZvaWQgKilPTUFQM18zMktUSU1FUl9CQVNF OwogIAllbHNlIGlmIChJU19FTkFCTEVEKENPTkZJR19BUkNIX09NQVA0KSkKICAJCXRpbWVyYmFz ZSA9ICh2b2lkICopT01BUDQ0WFhfMzJLVElNRVJfQkFTRTsKKwllbHNlIGlmIChJU19FTkFCTEVE KENPTkZJR19BUkNIX09NQVA1KSkKKwkJdGltZXJiYXNlID0gKHZvaWQgKilPTUFQNTRYWF8zMktU SU1FUl9CQVNFOwogIAllbHNlCiAgCQlCVUcoKTsKCmRpZmYgLS1naXQgYS9kcml2ZXJzL21jaS9L Y29uZmlnIGIvZHJpdmVycy9tY2kvS2NvbmZpZwppbmRleCA5NTU4ZjI4Li41YWVlNDE3IDEwMDY0 NAotLS0gYS9kcml2ZXJzL21jaS9LY29uZmlnCisrKyBiL2RyaXZlcnMvbWNpL0tjb25maWcKQEAg LTY3LDcgKzY3LDcgQEAgY29uZmlnIE1DSV9JTVhfRVNESENfUElPCgogIGNvbmZpZyBNQ0lfT01B UF9IU01NQwogIAlib29sICJPTUFQIEhTTU1DIgotCWRlcGVuZHMgb24gQVJDSF9PTUFQNCB8fCBB UkNIX09NQVAzIHx8IEFSQ0hfQU0zM1hYCisJZGVwZW5kcyBvbiBBUkNIX09NQVA1IHx8IEFSQ0hf T01BUDQgfHwgQVJDSF9PTUFQMyB8fCBBUkNIX0FNMzNYWAogIAloZWxwCiAgCSAgRW5hYmxlIHRo aXMgZW50cnkgdG8gYWRkIHN1cHBvcnQgdG8gcmVhZCBhbmQgd3JpdGUgU0QgY2FyZHMgb24KICAJ ICBib3RoIE9NQVAzIGFuZCBPTUFQNCBiYXNlZCBzeXN0ZW1zLgotLSAKMS44LjEuNQoKCgotLSAK V2l0aCByZWdhcmRzLApVbGFkemltaXIgQmVseS4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmJhcmVib3ggbWFpbGluZyBsaXN0CmJhcmVib3hAbGlzdHMu aW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2JhcmVib3gK