From mboxrd@z Thu Jan 1 00:00:00 1970 Return-path: Received: from metis.ext.pengutronix.de ([2001:6f8:1178:4:290:27ff:fe1d:cc33]) by merlin.infradead.org with esmtps (Exim 4.76 #1 (Red Hat Linux)) id 1Tiku7-0006vx-4C for barebox@lists.infradead.org; Wed, 12 Dec 2012 11:55:28 +0000 From: Jan Luebbe Date: Wed, 12 Dec 2012 12:54:27 +0100 Message-Id: <1355313267-22859-5-git-send-email-jlu@pengutronix.de> In-Reply-To: <1355313267-22859-1-git-send-email-jlu@pengutronix.de> References: <1355313267-22859-1-git-send-email-jlu@pengutronix.de> MIME-Version: 1.0 List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: barebox-bounces@lists.infradead.org Errors-To: barebox-bounces+u.kleine-koenig=pengutronix.de@lists.infradead.org Subject: =?UTF-8?q?=5BPATCH=204/4=5D=20arm=3A=20beaglebone=3A=20add=20first-stage=20support=20for=20AM335x=20and=20board?= To: barebox@lists.infradead.org U2lnbmVkLW9mZi1ieTogSmFuIEx1ZWJiZSA8amx1QHBlbmd1dHJvbml4LmRlPgotLS0KIGFyY2gv YXJtL01ha2VmaWxlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICAgMSArCiBh cmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9uZS9NYWtlZmlsZSAgICAgICAgICAgICAgICB8ICAgIDEg KwogYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvYm9hcmQuYyAgICAgICAgICAgICAgICAgfCAg MzY2ICsrKysrKysrKysrKysrCiBhcmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9uZS9jb25maWcuaCAg ICAgICAgICAgICAgICB8ICAgMTcgKwogYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvZW52L2Jv b3Qvc2QgICAgICAgICAgICAgfCAgIDExICsKIGFyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL2Vu di9jb25maWcgICAgICAgICAgICAgIHwgICAyMSArCiBhcmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9u ZS9tbG8tZW52L2Jpbi9ib290ICAgICAgICB8ICAxNDMgKysrKysrCiBhcmNoL2FybS9ib2FyZHMv YmVhZ2xlYm9uZS9tbG8tZW52L2NvbmZpZyAgICAgICAgICB8ICAgNTEgKysKIGFyY2gvYXJtL2Nv bmZpZ3MvYW0zMzV4X2JlYWdsZWJvbmVfZGVmY29uZmlnICAgICAgIHwgICA1NCArKysKIC4uLi9j b25maWdzL2FtMzM1eF9iZWFnbGVib25lX21sb19sYXJnZV9kZWZjb25maWcgIHwgICA0NyArKwog Li4uL2NvbmZpZ3MvYW0zMzV4X2JlYWdsZWJvbmVfbWxvX3NtYWxsX2RlZmNvbmZpZyAgfCAgIDI5 ICsrCiBhcmNoL2FybS9tYWNoLW9tYXAvS2NvbmZpZyAgICAgICAgICAgICAgICAgICAgICAgICB8 ICAgMTEgKy0KIGFyY2gvYXJtL21hY2gtb21hcC9NYWtlZmlsZSAgICAgICAgICAgICAgICAgICAg ICAgIHwgICAgMiArLQogYXJjaC9hcm0vbWFjaC1vbWFwL2FtMzN4eF9jbG9jay5jICAgICAgICAg ICAgICAgICAgfCAgMjg5ICsrKysrKysrKysrCiBhcmNoL2FybS9tYWNoLW9tYXAvYW0zM3h4X2dl bmVyaWMuYyAgICAgICAgICAgICAgICB8ICAgNzcgKysrCiBhcmNoL2FybS9tYWNoLW9tYXAvYW0z M3h4X211eC5jICAgICAgICAgICAgICAgICAgICB8ICA1MDYgKysrKysrKysrKysrKysrKysrKysK IGFyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvYW0zM3h4LWNsb2NrLmggICAgIHwgIDE3 MiArKysrKysrCiBhcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4eC1tdXguaCAg ICAgICB8ICAgMjIgKwogYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9hbTMzeHgtc2ls aWNvbi5oICAgfCAgMTU0ICsrKysrLQogYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC94 bG9hZC5oICAgICAgICAgICAgfCAgICAxICsKIGFyY2gvYXJtL21hY2gtb21hcC94bG9hZC5jICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogMjEgZmlsZXMgY2hhbmdlZCwgMTk3NSBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJt L2JvYXJkcy9iZWFnbGVib25lL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0v Ym9hcmRzL2JlYWdsZWJvbmUvYm9hcmQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2Jv YXJkcy9iZWFnbGVib25lL2NvbmZpZy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9h cmRzL2JlYWdsZWJvbmUvZW52L2Jvb3Qvc2QKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9i b2FyZHMvYmVhZ2xlYm9uZS9lbnYvY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0v Ym9hcmRzL2JlYWdsZWJvbmUvbWxvLWVudi9iaW4vYm9vdAogY3JlYXRlIG1vZGUgMTAwNjQ0IGFy Y2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL21sby1lbnYvY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2 NDQgYXJjaC9hcm0vY29uZmlncy9hbTMzNXhfYmVhZ2xlYm9uZV9kZWZjb25maWcKIGNyZWF0ZSBt b2RlIDEwMDY0NCBhcmNoL2FybS9jb25maWdzL2FtMzM1eF9iZWFnbGVib25lX21sb19sYXJnZV9k ZWZjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9jb25maWdzL2FtMzM1eF9iZWFn bGVib25lX21sb19zbWFsbF9kZWZjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9t YWNoLW9tYXAvYW0zM3h4X2Nsb2NrLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9tYWNo LW9tYXAvYW0zM3h4X211eC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vbWFjaC1vbWFw L2luY2x1ZGUvbWFjaC9hbTMzeHgtbXV4LmgKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9NYWtlZmls ZSBiL2FyY2gvYXJtL01ha2VmaWxlCmluZGV4IDNiZDY0NWYuLjUwODJhMTMgMTAwNjQ0Ci0tLSBh L2FyY2gvYXJtL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL01ha2VmaWxlCkBAIC0xMDMsNiArMTAz LDcgQEAgYm9hcmQtJChDT05GSUdfTUFDSF9OT01BRElLXzg4MTVOSEspCQk6PSBuaGs4ODE1CiBi b2FyZC0kKENPTkZJR19NQUNIX05YREI1MDApCQkJOj0gbmV0eAogYm9hcmQtJChDT05GSUdfTUFD SF9PTUFQMzQzeFNEUCkJCTo9IG9tYXAzNDN4ZHNwCiBib2FyZC0kKENPTkZJR19NQUNIX0JFQUdM RSkJCQk6PSBiZWFnbGUKK2JvYXJkLSQoQ09ORklHX01BQ0hfQkVBR0xFQk9ORSkJCQk6PSBiZWFn bGVib25lCiBib2FyZC0kKENPTkZJR19NQUNIX09NQVAzRVZNKQkJCTo9IG9tYXAzZXZtCiBib2Fy ZC0kKENPTkZJR19NQUNIX1BBTkRBKQkJCTo9IHBhbmRhCiBib2FyZC0kKENPTkZJR19NQUNIX0FS Q0hPU0c5KQkJCTo9IGFyY2hvc2c5CmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYmVhZ2xl Ym9uZS9NYWtlZmlsZSBiL2FyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL01ha2VmaWxlCm5ldyBm aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmRjZmMyOTMKLS0tIC9kZXYvbnVsbAorKysg Yi9hcmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9uZS9NYWtlZmlsZQpAQCAtMCwwICsxIEBACitvYmot eSArPSBib2FyZC5vCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9uZS9ib2Fy ZC5jIGIvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvYm9hcmQuYwpuZXcgZmlsZSBtb2RlIDEw MDY0NAppbmRleCAwMDAwMDAwLi5mZDk3NWM0Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0v Ym9hcmRzL2JlYWdsZWJvbmUvYm9hcmQuYwpAQCAtMCwwICsxLDM2NiBAQAorLyoKKyAqIChDKSBD b3B5cmlnaHQgMjAwOAorICogVGV4YXMgSW5zdHJ1bWVudHMsIDx3d3cudGkuY29tPgorICogUmFn aGF2ZW5kcmEgS0ggPHIta2hhbmRlbmFoYWxseUB0aS5jb20+CisgKgorICogQ29weXJpZ2h0IChD KSAyMDEyIEphbiBMdWViYmUgPGoubHVlYmJlQHBlbmd1dHJvbml4LmRlPgorICoKKyAqIFRoaXMg cHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBM aWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg ZWl0aGVyIHZlcnNpb24gMiBvZgorICogdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkIGlu IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZQorICog R05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworCisvKioK KyAqIEBmaWxlCisgKiBAYnJpZWYgQmVhZ2xlQm9uZSBTcGVjaWZpYyBCb2FyZCBJbml0aWFsaXph dGlvbiByb3V0aW5lcworICovCisKKyNpbmNsdWRlIDxjb21tb24uaD4KKyNpbmNsdWRlIDxjb25z b2xlLmg+CisjaW5jbHVkZSA8aW5pdC5oPgorI2luY2x1ZGUgPGRyaXZlci5oPgorI2luY2x1ZGUg PGZzLmg+CisjaW5jbHVkZSA8bGludXgvc3RhdC5oPgorI2luY2x1ZGUgPGVudmlyb25tZW50Lmg+ CisjaW5jbHVkZSA8c2l6ZXMuaD4KKyNpbmNsdWRlIDxpby5oPgorI2luY2x1ZGUgPG5zMTY1NTAu aD4KKyNpbmNsdWRlIDxhc20vYXJtbGludXguaD4KKyNpbmNsdWRlIDxnZW5lcmF0ZWQvbWFjaC10 eXBlcy5oPgorI2luY2x1ZGUgPG1hY2gvc2lsaWNvbi5oPgorI2luY2x1ZGUgPG1hY2gvY2xvY2tz Lmg+CisjaW5jbHVkZSA8bWFjaC9zZHJjLmg+CisjaW5jbHVkZSA8bWFjaC9zeXNfaW5mby5oPgor I2luY2x1ZGUgPG1hY2gvc3lzbGliLmg+CisjaW5jbHVkZSA8bWFjaC9jb250cm9sLmg+CisjaW5j bHVkZSA8bWFjaC9ncG1jLmg+CisjaW5jbHVkZSA8bWFjaC9laGNpLmg+CisjaW5jbHVkZSA8aTJj L2kyYy5oPgorI2luY2x1ZGUgPGxpbnV4L2Vyci5oPgorI2luY2x1ZGUgPHVzYi9laGNpLmg+Cisj aW5jbHVkZSA8bWFjaC94bG9hZC5oPgorI2luY2x1ZGUgPG1hY2gvYW0zM3h4LW11eC5oPgorCisv KiBVQVJUIERlZmluZXMgKi8KKyNkZWZpbmUgVUFSVF9TWVNDRkdfT0ZGU0VUICAoMHg1NCkKKyNk ZWZpbmUgVUFSVF9TWVNTVFNfT0ZGU0VUICAoMHg1OCkKKworI2RlZmluZSBVQVJUX1JFU0VUICAg ICAgKDB4MSA8PCAxKQorI2RlZmluZSBVQVJUX0NMS19SVU5OSU5HX01BU0sgICAweDEKKyNkZWZp bmUgVUFSVF9TTUFSVF9JRExFX0VOICAoMHgxIDw8IDB4MykKKworLyogQU0zMzVYIEVNSUYgUmVn aXN0ZXIgdmFsdWVzICovCisjZGVmaW5lIEVNSUZfU0RNR1QJCTB4ODAwMDAwMDAKKyNkZWZpbmUg RU1JRl9TRFJBTQkJMHgwMDAwNDY1MAorI2RlZmluZSBFTUlGX1BIWUNGRwkJMHgyCisjZGVmaW5l IEREUl9QSFlfUkVTRVQJCSgweDEgPDwgMTApCisjZGVmaW5lIEREUl9GVU5DVElPTkFMX01PREVf RU4JMHgxCisjZGVmaW5lIEREUl9QSFlfUkVBRFkJCSgweDEgPDwgMikKKyNkZWZpbmUJVlRQX0NU UkxfUkVBRFkJCSgweDEgPDwgNSkKKyNkZWZpbmUgVlRQX0NUUkxfRU5BQkxFCQkoMHgxIDw8IDYp CisjZGVmaW5lIFZUUF9DVFJMX0xPQ0tfRU4JKDB4MSA8PCA0KQorI2RlZmluZSBWVFBfQ1RSTF9T VEFSVF9FTgkoMHgxKQorI2RlZmluZSBERFIyX1JBVElPCQkweDgwCS8qIGZvciBtRERSICovCisj ZGVmaW5lIENNRF9GT1JDRQkJMHgwMAkvKiBjb21tb24gI2RlZiAqLworI2RlZmluZSBDTURfREVM QVkJCTB4MDAKKworI2RlZmluZSBFTUlGX1JFQURfTEFURU5DWQkweDA1CisjZGVmaW5lIEVNSUZf VElNMQkJMHgwNjY2QjNENgorI2RlZmluZSBFTUlGX1RJTTIJCTB4MTQzNzMxREEKKyNkZWZpbmUJ RU1JRl9USU0zCQkweDAwMDAwMzQ3CisjZGVmaW5lIEVNSUZfU0RDRkcJCTB4NDM4MDUzMzIKKyNk ZWZpbmUgRU1JRl9TRFJFRgkJMHgwMDAwMDgxYQorI2RlZmluZSBERFIyX0RMTF9MT0NLX0RJRkYJ MHgwCisjZGVmaW5lIEREUjJfUkRfRFFTCQkweDEyCisjZGVmaW5lIEREUjJfUEhZX0ZJRk9fV0UJ MHg4MAorCisjZGVmaW5lCUREUjJfSU5WRVJUX0NMS09VVAkweDAwCisjZGVmaW5lCUREUjJfV1Jf RFFTCQkweDAwCisjZGVmaW5lCUREUjJfUEhZX1dSTFZMCQkweDAwCisjZGVmaW5lCUREUjJfUEhZ X0dBVEVMVkwJMHgwMAorI2RlZmluZQlERFIyX1BIWV9XUl9EQVRBCTB4NDAKKyNkZWZpbmUJUEhZ X1JBTkswX0RFTEFZCQkweDAxCisjZGVmaW5lIFBIWV9ETExfTE9DS19ESUZGCTB4MAorI2RlZmlu ZSBERFJfSU9DVFJMX1ZBTFVFCTB4MThCCisKK3N0YXRpYyB2b2lkIGJlYWdsZWJvbmVfZGF0YV9t YWNyb19jb25maWcoaW50IGRhdGFNYWNyb051bSkKK3sKKwl1MzIgQmFzZUFkZHJPZmZzZXQgPSAw eDAwOzsKKworCWlmIChkYXRhTWFjcm9OdW0gPT0gMSkKKwkJQmFzZUFkZHJPZmZzZXQgPSAweEE0 OworCisJX19yYXdfd3JpdGVsKCgoRERSMl9SRF9EUVM8PDMwKXwoRERSMl9SRF9EUVM8PDIwKQor CQl8KEREUjJfUkRfRFFTPDwxMCl8KEREUjJfUkRfRFFTPDwwKSksCisJCShEQVRBMF9SRF9EUVNf U0xBVkVfUkFUSU9fMCArIEJhc2VBZGRyT2Zmc2V0KSk7CisJX19yYXdfd3JpdGVsKEREUjJfUkRf RFFTPj4yLAorCQkoREFUQTBfUkRfRFFTX1NMQVZFX1JBVElPXzEgKyBCYXNlQWRkck9mZnNldCkp OworCV9fcmF3X3dyaXRlbCgoKEREUjJfV1JfRFFTPDwzMCl8KEREUjJfV1JfRFFTPDwyMCkKKwkJ fChERFIyX1dSX0RRUzw8MTApfChERFIyX1dSX0RRUzw8MCkpLAorCQkoREFUQTBfV1JfRFFTX1NM QVZFX1JBVElPXzAgKyBCYXNlQWRkck9mZnNldCkpOworCV9fcmF3X3dyaXRlbChERFIyX1dSX0RR Uz4+MiwKKwkJKERBVEEwX1dSX0RRU19TTEFWRV9SQVRJT18xICsgQmFzZUFkZHJPZmZzZXQpKTsK KwlfX3Jhd193cml0ZWwoKChERFIyX1BIWV9XUkxWTDw8MzApfChERFIyX1BIWV9XUkxWTDw8MjAp CisJCXwoRERSMl9QSFlfV1JMVkw8PDEwKXwoRERSMl9QSFlfV1JMVkw8PDApKSwKKwkJKERBVEEw X1dSTFZMX0lOSVRfUkFUSU9fMCArIEJhc2VBZGRyT2Zmc2V0KSk7CisJX19yYXdfd3JpdGVsKERE UjJfUEhZX1dSTFZMPj4yLAorCQkoREFUQTBfV1JMVkxfSU5JVF9SQVRJT18xICsgQmFzZUFkZHJP ZmZzZXQpKTsKKwlfX3Jhd193cml0ZWwoKChERFIyX1BIWV9HQVRFTFZMPDwzMCl8KEREUjJfUEhZ X0dBVEVMVkw8PDIwKQorCQl8KEREUjJfUEhZX0dBVEVMVkw8PDEwKXwoRERSMl9QSFlfR0FURUxW TDw8MCkpLAorCQkoREFUQTBfR0FURUxWTF9JTklUX1JBVElPXzAgKyBCYXNlQWRkck9mZnNldCkp OworCV9fcmF3X3dyaXRlbChERFIyX1BIWV9HQVRFTFZMPj4yLAorCQkoREFUQTBfR0FURUxWTF9J TklUX1JBVElPXzEgKyBCYXNlQWRkck9mZnNldCkpOworCV9fcmF3X3dyaXRlbCgoKEREUjJfUEhZ X0ZJRk9fV0U8PDMwKXwoRERSMl9QSFlfRklGT19XRTw8MjApCisJCXwoRERSMl9QSFlfRklGT19X RTw8MTApfChERFIyX1BIWV9GSUZPX1dFPDwwKSksCisJCShEQVRBMF9GSUZPX1dFX1NMQVZFX1JB VElPXzAgKyBCYXNlQWRkck9mZnNldCkpOworCV9fcmF3X3dyaXRlbChERFIyX1BIWV9GSUZPX1dF Pj4yLAorCQkoREFUQTBfRklGT19XRV9TTEFWRV9SQVRJT18xICsgQmFzZUFkZHJPZmZzZXQpKTsK KwlfX3Jhd193cml0ZWwoKChERFIyX1BIWV9XUl9EQVRBPDwzMCl8KEREUjJfUEhZX1dSX0RBVEE8 PDIwKQorCQl8KEREUjJfUEhZX1dSX0RBVEE8PDEwKXwoRERSMl9QSFlfV1JfREFUQTw8MCkpLAor CQkoREFUQTBfV1JfREFUQV9TTEFWRV9SQVRJT18wICsgQmFzZUFkZHJPZmZzZXQpKTsKKwlfX3Jh d193cml0ZWwoRERSMl9QSFlfV1JfREFUQT4+MiwKKwkJKERBVEEwX1dSX0RBVEFfU0xBVkVfUkFU SU9fMSArIEJhc2VBZGRyT2Zmc2V0KSk7CisJX19yYXdfd3JpdGVsKFBIWV9ETExfTE9DS19ESUZG LAorCQkoREFUQTBfRExMX0xPQ0tfRElGRl8wICsgQmFzZUFkZHJPZmZzZXQpKTsKK30KKworc3Rh dGljIHZvaWQgYmVhZ2xlYm9uZV9jbWRfbWFjcm9fY29uZmlnKHZvaWQpCit7CisJX19yYXdfd3Jp dGVsKEREUjJfUkFUSU8sIENNRDBfQ1RSTF9TTEFWRV9SQVRJT18wKTsKKwlfX3Jhd193cml0ZWwo Q01EX0ZPUkNFLCBDTUQwX0NUUkxfU0xBVkVfRk9SQ0VfMCk7CisJX19yYXdfd3JpdGVsKENNRF9E RUxBWSwgQ01EMF9DVFJMX1NMQVZFX0RFTEFZXzApOworCV9fcmF3X3dyaXRlbChERFIyX0RMTF9M T0NLX0RJRkYsIENNRDBfRExMX0xPQ0tfRElGRl8wKTsKKwlfX3Jhd193cml0ZWwoRERSMl9JTlZF UlRfQ0xLT1VULCBDTUQwX0lOVkVSVF9DTEtPVVRfMCk7CisKKwlfX3Jhd193cml0ZWwoRERSMl9S QVRJTywgQ01EMV9DVFJMX1NMQVZFX1JBVElPXzApOworCV9fcmF3X3dyaXRlbChDTURfRk9SQ0Us IENNRDFfQ1RSTF9TTEFWRV9GT1JDRV8wKTsKKwlfX3Jhd193cml0ZWwoQ01EX0RFTEFZLCBDTUQx X0NUUkxfU0xBVkVfREVMQVlfMCk7CisJX19yYXdfd3JpdGVsKEREUjJfRExMX0xPQ0tfRElGRiwg Q01EMV9ETExfTE9DS19ESUZGXzApOworCV9fcmF3X3dyaXRlbChERFIyX0lOVkVSVF9DTEtPVVQs IENNRDFfSU5WRVJUX0NMS09VVF8wKTsKKworCV9fcmF3X3dyaXRlbChERFIyX1JBVElPLCBDTUQy X0NUUkxfU0xBVkVfUkFUSU9fMCk7CisJX19yYXdfd3JpdGVsKENNRF9GT1JDRSwgQ01EMl9DVFJM X1NMQVZFX0ZPUkNFXzApOworCV9fcmF3X3dyaXRlbChDTURfREVMQVksIENNRDJfQ1RSTF9TTEFW RV9ERUxBWV8wKTsKKwlfX3Jhd193cml0ZWwoRERSMl9ETExfTE9DS19ESUZGLCBDTUQyX0RMTF9M T0NLX0RJRkZfMCk7CisJX19yYXdfd3JpdGVsKEREUjJfSU5WRVJUX0NMS09VVCwgQ01EMl9JTlZF UlRfQ0xLT1VUXzApOworfQorCitzdGF0aWMgdm9pZCBiZWFnbGVib25lX2NvbmZpZ192dHAodm9p ZCkKK3sKKwlfX3Jhd193cml0ZWwoX19yYXdfcmVhZGwoVlRQMF9DVFJMX1JFRykgfCBWVFBfQ1RS TF9FTkFCTEUsCisJCVZUUDBfQ1RSTF9SRUcpOworCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChW VFAwX0NUUkxfUkVHKSAmICh+VlRQX0NUUkxfU1RBUlRfRU4pLAorCQlWVFAwX0NUUkxfUkVHKTsK KwlfX3Jhd193cml0ZWwoX19yYXdfcmVhZGwoVlRQMF9DVFJMX1JFRykgfCBWVFBfQ1RSTF9TVEFS VF9FTiwKKwkJVlRQMF9DVFJMX1JFRyk7CisKKwkvKiBQb2xsIGZvciBSRUFEWSAqLworCXdoaWxl ICgoX19yYXdfcmVhZGwoVlRQMF9DVFJMX1JFRykgJiBWVFBfQ1RSTF9SRUFEWSkgIT0gVlRQX0NU UkxfUkVBRFkpOworfQorCitzdGF0aWMgdm9pZCBiZWFnbGVib25lX2NvbmZpZ19lbWlmX2RkcjIo dm9pZCkKK3sKKwl1MzIgaTsKKworCS8qUHJvZ3JhbSBFTUlGMCBDRkcgUmVnaXN0ZXJzKi8KKwlf X3Jhd193cml0ZWwoRU1JRl9SRUFEX0xBVEVOQ1ksIEVNSUY0XzBfRERSX1BIWV9DVFJMXzEpOwor CV9fcmF3X3dyaXRlbChFTUlGX1JFQURfTEFURU5DWSwgRU1JRjRfMF9ERFJfUEhZX0NUUkxfMV9T SEFET1cpOworCV9fcmF3X3dyaXRlbChFTUlGX1JFQURfTEFURU5DWSwgRU1JRjRfMF9ERFJfUEhZ X0NUUkxfMik7CisJX19yYXdfd3JpdGVsKEVNSUZfVElNMSwgRU1JRjRfMF9TRFJBTV9USU1fMSk7 CisJX19yYXdfd3JpdGVsKEVNSUZfVElNMSwgRU1JRjRfMF9TRFJBTV9USU1fMV9TSEFET1cpOwor CV9fcmF3X3dyaXRlbChFTUlGX1RJTTIsIEVNSUY0XzBfU0RSQU1fVElNXzIpOworCV9fcmF3X3dy aXRlbChFTUlGX1RJTTIsIEVNSUY0XzBfU0RSQU1fVElNXzJfU0hBRE9XKTsKKwlfX3Jhd193cml0 ZWwoRU1JRl9USU0zLCBFTUlGNF8wX1NEUkFNX1RJTV8zKTsKKwlfX3Jhd193cml0ZWwoRU1JRl9U SU0zLCBFTUlGNF8wX1NEUkFNX1RJTV8zX1NIQURPVyk7CisKKwlfX3Jhd193cml0ZWwoRU1JRl9T RENGRywgRU1JRjRfMF9TRFJBTV9DT05GSUcpOworCV9fcmF3X3dyaXRlbChFTUlGX1NEQ0ZHLCBF TUlGNF8wX1NEUkFNX0NPTkZJRzIpOworCisJLyogX19yYXdfd3JpdGVsKEVNSUZfU0RNR1QsIEVN SUYwXzBfU0RSQU1fTUdNVF9DVFJMKTsKKwlfX3Jhd193cml0ZWwoRU1JRl9TRE1HVCwgRU1JRjBf MF9TRFJBTV9NR01UX0NUUkxfU0hEKTsgKi8KKwlfX3Jhd193cml0ZWwoMHgwMDAwNDY1MCwgRU1J RjRfMF9TRFJBTV9SRUZfQ1RSTCk7CisJX19yYXdfd3JpdGVsKDB4MDAwMDQ2NTAsIEVNSUY0XzBf U0RSQU1fUkVGX0NUUkxfU0hBRE9XKTsKKworCWZvciAoaSA9IDA7IGkgPCA1MDAwOyBpKyspIHsK KworCX0KKworCS8qIF9fcmF3X3dyaXRlbChFTUlGX1NETUdULCBFTUlGMF8wX1NEUkFNX01HTVRf Q1RSTCk7CisJX19yYXdfd3JpdGVsKEVNSUZfU0RNR1QsIEVNSUYwXzBfU0RSQU1fTUdNVF9DVFJM X1NIRCk7ICovCisJX19yYXdfd3JpdGVsKEVNSUZfU0RSRUYsIEVNSUY0XzBfU0RSQU1fUkVGX0NU UkwpOworCV9fcmF3X3dyaXRlbChFTUlGX1NEUkVGLCBFTUlGNF8wX1NEUkFNX1JFRl9DVFJMX1NI QURPVyk7CisKKwlfX3Jhd193cml0ZWwoRU1JRl9TRENGRywgRU1JRjRfMF9TRFJBTV9DT05GSUcp OworCV9fcmF3X3dyaXRlbChFTUlGX1NEQ0ZHLCBFTUlGNF8wX1NEUkFNX0NPTkZJRzIpOworfQor CitzdGF0aWMgdm9pZCBiZWFnbGVib25lX2NvbmZpZ19kZHIodm9pZCkKK3sKKwllbmFibGVfZGRy X2Nsb2NrcygpOworCisJYmVhZ2xlYm9uZV9jb25maWdfdnRwKCk7CisKKwliZWFnbGVib25lX2Nt ZF9tYWNyb19jb25maWcoKTsKKwliZWFnbGVib25lX2RhdGFfbWFjcm9fY29uZmlnKDApOworCWJl YWdsZWJvbmVfZGF0YV9tYWNyb19jb25maWcoMSk7CisKKwlfX3Jhd193cml0ZWwoUEhZX1JBTksw X0RFTEFZLCBEQVRBMF9SQU5LMF9ERUxBWVNfMCk7CisJX19yYXdfd3JpdGVsKFBIWV9SQU5LMF9E RUxBWSwgREFUQTFfUkFOSzBfREVMQVlTXzApOworCisJX19yYXdfd3JpdGVsKEREUl9JT0NUUkxf VkFMVUUsIEREUl9DTUQwX0lPQ1RSTCk7CisJX19yYXdfd3JpdGVsKEREUl9JT0NUUkxfVkFMVUUs IEREUl9DTUQxX0lPQ1RSTCk7CisJX19yYXdfd3JpdGVsKEREUl9JT0NUUkxfVkFMVUUsIEREUl9D TUQyX0lPQ1RSTCk7CisJX19yYXdfd3JpdGVsKEREUl9JT0NUUkxfVkFMVUUsIEREUl9EQVRBMF9J T0NUUkwpOworCV9fcmF3X3dyaXRlbChERFJfSU9DVFJMX1ZBTFVFLCBERFJfREFUQTFfSU9DVFJM KTsKKworCV9fcmF3X3dyaXRlbChfX3Jhd19yZWFkbChERFJfSU9fQ1RSTCkgJiAweGVmZmZmZmZm LCBERFJfSU9fQ1RSTCk7CisJX19yYXdfd3JpdGVsKF9fcmF3X3JlYWRsKEREUl9DS0VfQ1RSTCkg fCAweDAwMDAwMDAxLCBERFJfQ0tFX0NUUkwpOworCisJYmVhZ2xlYm9uZV9jb25maWdfZW1pZl9k ZHIyKCk7Cit9CisKKy8qCisgKiBlYXJseSBzeXN0ZW0gaW5pdCBvZiBtdXhpbmcgYW5kIGNsb2Nr cy4KKyAqLwordm9pZCBiZWFnbGVib25lX3NyYW1faW5pdCh2b2lkKQoreworCXUzMiByZWdWYWws IHVhcnRfYmFzZTsKKworCS8qIFNldHVwIHRoZSBQTExzIGFuZCB0aGUgY2xvY2tzIGZvciB0aGUg cGVyaXBoZXJhbHMgKi8KKwlwbGxfaW5pdCgpOworCisJLyogVUFSVCBzb2Z0cmVzZXQgKi8KKwl1 YXJ0X2Jhc2UgPSBBTTMzWFhfVUFSVDBfQkFTRTsKKworCXJlZ1ZhbCA9IF9fcmF3X3JlYWRsKHVh cnRfYmFzZSArIFVBUlRfU1lTQ0ZHX09GRlNFVCk7CisJcmVnVmFsIHw9IFVBUlRfUkVTRVQ7CisJ X19yYXdfd3JpdGVsKHJlZ1ZhbCwgKHVhcnRfYmFzZSArIFVBUlRfU1lTQ0ZHX09GRlNFVCkgKTsK Kwl3aGlsZSAoKF9fcmF3X3JlYWRsKHVhcnRfYmFzZSArIFVBUlRfU1lTU1RTX09GRlNFVCkgJgor CQlVQVJUX0NMS19SVU5OSU5HX01BU0spICE9IFVBUlRfQ0xLX1JVTk5JTkdfTUFTSyk7CisKKwkv KiBEaXNhYmxlIHNtYXJ0IGlkbGUgKi8KKwlyZWdWYWwgPSBfX3Jhd19yZWFkbCgodWFydF9iYXNl ICsgVUFSVF9TWVNDRkdfT0ZGU0VUKSk7CisJcmVnVmFsIHw9IFVBUlRfU01BUlRfSURMRV9FTjsK KwlfX3Jhd193cml0ZWwocmVnVmFsLCAodWFydF9iYXNlICsgVUFSVF9TWVNDRkdfT0ZGU0VUKSk7 CisKKwliZWFnbGVib25lX2NvbmZpZ19kZHIoKTsKK30KKworCisvKioKKyAqIEBicmllZiBUaGUg YmFzaWMgZW50cnkgcG9pbnQgZm9yIGJvYXJkIGluaXRpYWxpemF0aW9uLgorICoKKyAqIFRoaXMg aXMgY2FsbGVkIGFzIHBhcnQgb2YgbWFjaGluZSBpbml0IChhZnRlciBhcmNoIGluaXQpLgorICog VGhpcyBpcyBhZ2FpbiBjYWxsZWQgd2l0aCBzdGFjayBpbiBTUkFNLCBzbyBub3QgdG9vIG1hbnkK KyAqIGNvbnN0cnVjdHMgcG9zc2libGUgaGVyZS4KKyAqCisgKiBAcmV0dXJuIHZvaWQKKyAqLwor c3RhdGljIGludCBiZWFnbGVib25lX2JvYXJkX2luaXQodm9pZCkKK3sKKwlpbnQgaW5fc2RyYW0g PSBydW5uaW5nX2luX3NkcmFtKCk7CisKKwkvKiBXRFQxIGlzIGFscmVhZHkgcnVubmluZyB3aGVu IHRoZSBib290bG9hZGVyIGdldHMgY29udHJvbAorCSAqIERpc2FibGUgaXQgdG8gYXZvaWQgInJh bmRvbSIgcmVzZXRzCisJICovCisJX19yYXdfd3JpdGVsKDB4QUFBQSwgV0RUX1dTUFIpOworCXdo aWxlKF9fcmF3X3JlYWRsKFdEVF9XV1BTKSAhPSAweDApOworCV9fcmF3X3dyaXRlbCgweDU1NTUs IFdEVF9XU1BSKTsKKwl3aGlsZShfX3Jhd19yZWFkbChXRFRfV1dQUykgIT0gMHgwKTsKKworCS8q IERvbnQgcmVjb25maWd1cmUgU0RSQU0gd2hpbGUgcnVubmluZyBpbiBTRFJBTSEgKi8KKwlpZiAo IWluX3NkcmFtKQorCQliZWFnbGVib25lX3NyYW1faW5pdCgpOworCisJZW5hYmxlX21paTFfcGlu X211eCgpOworCWVuYWJsZV9pMmMwX3Bpbl9tdXgoKTsKKworCXJldHVybiAwOworfQorcHVyZV9p bml0Y2FsbChiZWFnbGVib25lX2JvYXJkX2luaXQpOworCisvKioqKioqKioqKioqKioqKioqKiog Qm9hcmQgUnVuIFRpbWUgKioqKioqKioqKioqKioqKioqKi8KKworI2lmZGVmIENPTkZJR19EUklW RVJfU0VSSUFMX05TMTY1NTAKKworc3RhdGljIHN0cnVjdCBOUzE2NTUwX3BsYXQgc2VyaWFsX3Bs YXQgPSB7CisJLmNsb2NrID0gNDgwMDAwMDAsICAgICAgLyogNDhNSHogKEFQTEw5Ni8yKSAqLwor CS5zaGlmdCA9IDIsCit9OworCisvKioKKyAqIEBicmllZiBVQVJUIHNlcmlhbCBwb3J0IGluaXRp YWxpemF0aW9uIC0gcmVtZW1iZXIgdG8gZW5hYmxlIENPTSBjbG9ja3MgaW4KKyAqIGFyY2gKKyAq CisgKiBAcmV0dXJuIHJlc3VsdCBvZiBkZXZpY2UgcmVnaXN0cmF0aW9uCisgKi8KK3N0YXRpYyBp bnQgYmVhZ2xlYm9uZV9jb25zb2xlX2luaXQodm9pZCkKK3sKKwkvKiBFbmFibGUgcGluIG11eCAq LworCWVuYWJsZV91YXJ0MF9waW5fbXV4KCk7CisKKwkvKiBSZWdpc3RlciB0aGUgc2VyaWFsIHBv cnQgKi8KKwlhZGRfbnMxNjU1MF9kZXZpY2UoLTEsIEFNMzNYWF9VQVJUMF9CQVNFLCBTWl8xSywg SU9SRVNPVVJDRV9NRU1fOEJJVCwKKwkJCSAgICZzZXJpYWxfcGxhdCk7CisKKwlyZXR1cm4gMDsK K30KK2NvbnNvbGVfaW5pdGNhbGwoYmVhZ2xlYm9uZV9jb25zb2xlX2luaXQpOworI2VuZGlmIC8q IENPTkZJR19EUklWRVJfU0VSSUFMX05TMTY1NTAgKi8KKworc3RhdGljIGludCBiZWFnbGVib25l X21lbV9pbml0KHZvaWQpCit7CisJYXJtX2FkZF9tZW1fZGV2aWNlKCJyYW0wIiwgMHg4MDAwMDAw MCwgMjU2ICogMTAyNCAqIDEwMjQpOworCisJcmV0dXJuIDA7Cit9CittZW1faW5pdGNhbGwoYmVh Z2xlYm9uZV9tZW1faW5pdCk7CisKK3N0YXRpYyBpbnQgYmVhZ2xlYm9uZV9kZXZpY2VzX2luaXQo dm9pZCkKK3sKKwlhZGRfZ2VuZXJpY19kZXZpY2UoIm9tYXAtaHNtbWMiLCBERVZJQ0VfSURfRFlO QU1JQywgTlVMTCwKKwkgICAgICAgICAgICAgICAgICAgQU0zM1hYX01NQ0hTMF9CQVNFKzB4MTAw LCBTWl80SywKKwkgICAgICAgICAgICAgICAgICAgSU9SRVNPVVJDRV9NRU0sIE5VTEwpOworCisJ YXJtbGludXhfc2V0X2Jvb3RwYXJhbXMoKHZvaWQgKikweDgwMDAwMTAwKTsKKwlhcm1saW51eF9z ZXRfYXJjaGl0ZWN0dXJlKE1BQ0hfVFlQRV9CRUFHTEVCT05FKTsKKworCXJldHVybiAwOworfQor ZGV2aWNlX2luaXRjYWxsKGJlYWdsZWJvbmVfZGV2aWNlc19pbml0KTsKKworI2lmZGVmIENPTkZJ R19ERUZBVUxUX0VOVklST05NRU5UCitzdGF0aWMgaW50IGJlYWdsZWJvbmVfZW52X2luaXQodm9p ZCkKK3sKKwlzdHJ1Y3Qgc3RhdCBzOworCWNoYXIgKmRpc2tkZXYgPSAiL2Rldi9kaXNrMC4wIjsK KwlpbnQgcmV0OworCisJcmV0ID0gc3RhdChkaXNrZGV2LCAmcyk7CisJaWYgKHJldCkgeworCQlw cmludGYoImRldmljZSAlcyBub3QgZm91bmQuIFVzaW5nIGRlZmF1bHQgZW52aXJvbm1lbnRcbiIs IGRpc2tkZXYpOworCQlyZXR1cm4gMDsKKwl9CisKKwlta2RpciAoIi9ib290IiwgMDY2Nik7CisJ cmV0ID0gbW91bnQoZGlza2RldiwgImZhdCIsICIvYm9vdCIpOworCWlmIChyZXQpIHsKKwkJcHJp bnRmKCJmYWlsZWQgdG8gbW91bnQgJXNcbiIsIGRpc2tkZXYpOworCQlyZXR1cm4gMDsKKwl9CisK KwlpZiAoSVNfRU5BQkxFRChDT05GSUdfT01BUF9CVUlMRF9JRlQpKQorCQlkZWZhdWx0X2Vudmly b25tZW50X3BhdGggPSAiL2Rldi9kZWZhdWx0ZW52IjsKKwllbHNlCisJCWRlZmF1bHRfZW52aXJv bm1lbnRfcGF0aCA9ICIvYm9vdC9iYXJlYm94LmVudiI7CisKKwlyZXR1cm4gMDsKK30KK2xhdGVf aW5pdGNhbGwoYmVhZ2xlYm9uZV9lbnZfaW5pdCk7CisjZW5kaWYKZGlmZiAtLWdpdCBhL2FyY2gv YXJtL2JvYXJkcy9iZWFnbGVib25lL2NvbmZpZy5oIGIvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJv bmUvY29uZmlnLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjUyYWE3OQot LS0gL2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL2NvbmZpZy5oCkBA IC0wLDAgKzEsMTcgQEAKKy8qCisgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91 IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z IG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRo ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlciB2ZXJzaW9uIDIgb2YKKyAqIHRoZSBM aWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRo aXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNl ZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxp ZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJ Q1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv ciBtb3JlIGRldGFpbHMuCisgKgorICovCisKKyNpZm5kZWYgX0NPTkZJR19IXworIyBkZWZpbmUg X0NPTkZJR19IXworCisjZW5kaWYgLyogX0NPTkZJR19IXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vYm9hcmRzL2JlYWdsZWJvbmUvZW52L2Jvb3Qvc2QgYi9hcmNoL2FybS9ib2FyZHMvYmVhZ2xl Ym9uZS9lbnYvYm9vdC9zZApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5kY2Uw NjA1Ci0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvZW52L2Jv b3Qvc2QKQEAgLTAsMCArMSwxMSBAQAorIyEvYmluL3NoCisKK2lmIFsgIiQxIiA9IG1lbnUgXTsg dGhlbgorCWJvb3QtbWVudS1hZGQtZW50cnkgIiQwIiAia2VybmVsICYgcm9vdGZzIG9uIFNEIGNh cmQiCisJZXhpdAorZmkKKworZ2xvYmFsLmJvb3RtLmltYWdlPS9ib290L3VJbWFnZQorZ2xvYmFs LmJvb3RtLm9mdHJlZT0vYm9vdC9vZnRyZWUKKyNnbG9iYWwuYm9vdG0uaW5pdHJkPTxwYXRoIHRv IGluaXRyZD4KK2dsb2JhbC5saW51eC5ib290YXJncy5keW4ucm9vdD0icm9vdD0vZGV2L21tY2Js azBwMiByb290ZnN0eXBlPWV4dDQgcm9vdHdhaXQiCmRpZmYgLS1naXQgYS9hcmNoL2FybS9ib2Fy ZHMvYmVhZ2xlYm9uZS9lbnYvY29uZmlnIGIvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvZW52 L2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jNmNlOTMwCi0tLSAv ZGV2L251bGwKKysrIGIvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUvZW52L2NvbmZpZwpAQCAt MCwwICsxLDIxIEBACisjIS9iaW4vc2gKKworIyBjaGFuZ2UgbmV0d29yayBzZXR0aW5ncyBpbiAv ZW52L25ldHdvcmsvZXRoMAorIyBjaGFuZ2UgbXRkIHBhcnRpdGlvbiBzZXR0aW5ncyBhbmQgYXV0 b21vdW50cG9pbnRzIGluIC9lbnYvaW5pdC8qCisKKyNnbG9iYWwuaG9zdG5hbWU9CisKKyMgc2V0 IHRvIGZhbHNlIGlmIHlvdSBkbyBub3Qgd2FudCB0byBoYXZlIGNvbG9ycworZ2xvYmFsLmFsbG93 X2NvbG9yPXRydWUKKworIyB1c2VyICh1c2VkIGZvciBuZXR3b3JrIGZpbGVuYW1lcykKK2dsb2Jh bC51c2VyPW5vbmUKKworIyB0aW1lb3V0IGluIHNlY29uZHMgYmVmb3JlIHRoZSBkZWZhdWx0IGJv b3QgZW50cnkgaXMgc3RhcnRlZAorZ2xvYmFsLmF1dG9ib290X3RpbWVvdXQ9MworCisjIGRlZmF1 bHQgYm9vdCBlbnRyeSAob25lIG9mIC9lbnYvYm9vdC8qKQorZ2xvYmFsLmJvb3QuZGVmYXVsdD1z ZAorCisjIGJhc2UgYm9vdGFyZ3MKK2dsb2JhbC5saW51eC5ib290YXJncy5iYXNlPSJjb25zb2xl PXR0eU8wLDExNTIwMG44IgpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUv bWxvLWVudi9iaW4vYm9vdCBiL2FyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL21sby1lbnYvYmlu L2Jvb3QKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYzgzMWMzNQotLS0gL2Rl di9udWxsCisrKyBiL2FyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL21sby1lbnYvYmluL2Jvb3QK QEAgLTAsMCArMSwxNDMgQEAKKyMhL2Jpbi9zaAorCisuIC9lbnYvY29uZmlnCisKK2lmIFsgeCRr ZXJuZWxfbG9jID0geG5ldCBdOyB0aGVuCisJa2VybmVsX2xvYz10ZnRwCitmaQorCit3aGlsZSBn ZXRvcHQgImhrOnI6aTptOm86IiBPcHRpb24KK2RvCitpZiBbICR7T3B0aW9ufSA9IGsgXTsgdGhl bgorCWtlcm5lbF9sb2M9JHtPUFRBUkd9CitlbGlmIFsgJHtPcHRpb259ID0gciBdOyB0aGVuCisJ cm9vdGZzX2xvYz0ke09QVEFSR30KK2VsaWYgWyAke09wdGlvbn0gPSBvIF07IHRoZW4KKwlvZnRy ZWVfbG9jPSR7T1BUQVJHfQorZWxpZiBbICR7T3B0aW9ufSA9IGkgXTsgdGhlbgorCWlwPSR7T1BU QVJHfQorZWxpZiBbICR7T3B0aW9ufSA9IG0gXTsgdGhlbgorCW1vZGU9JHtPUFRBUkd9CitlbHNl CisJLiAvZW52L2Jpbi9fYm9vdF9oZWxwCisJZXhpdCAwCitmaQorZG9uZQorCitpZiBbIHgkbW9k ZSA9IHhuYW5kIF07IHRoZW4KKwlyb290ZnNfbG9jPW5hbmQKKwlrZXJuZWxfbG9jPW5hbmQKK2Vs aWYgWyB4JG1vZGUgPSB4bm9yIF07IHRoZW4KKwlyb290ZnNfbG9jPW5vcgorCWtlcm5lbF9sb2M9 bm9yCitlbGlmIFsgeCRtb2RlID0geG5mcyBdOyB0aGVuCisJcm9vdGZzX2xvYz1uZXQKKwlrZXJu ZWxfbG9jPW5mcworZWxpZiBbIHgkbW9kZSA9IHh0ZnRwIF07IHRoZW4KKwlyb290ZnNfbG9jPW5l dAorCWtlcm5lbF9sb2M9dGZ0cAorZWxpZiBbIHgkbW9kZSA9IHhkaXNrIF07IHRoZW4KKwlyb290 ZnNfbG9jPWRpc2sKKwlrZXJuZWxfbG9jPWRpc2sKK2ZpCisKK2lmIFsgeCRpcCA9IHhkaGNwIC1v IHgkaXAgPSAieGRoY3AtYmFyZWJveCIgXTsgdGhlbgorCWlmIFsgeCRrZXJuZWxfbG9jID0geG5m cyAtbyB4JGtlcm5lbF9sb2MgPSB4dGZ0cCBdOyB0aGVuCisJCWRoY3AKKwkJaWYgWyB4JHtnbG9i YWwuZGhjcC5yb290cGF0aH0gIT0geCBdOyB0aGVuCisJCQluZnNyb290PSR7Z2xvYmFsLmRoY3Au cm9vdHBhdGh9CisJCWZpCisJCWlmIFsgeCR7Z2xvYmFsLmRoY3AuYm9vdGZpbGV9ICE9IHggXTsg dGhlbgorCQkJa2VybmVsaW1hZ2U9JHtnbG9iYWwuZGhjcC5ib290ZmlsZX0KKwkJZmkKKwkJaWYg WyB4JGdsb2JhbC5kaGNwLm9mdHJlZV9maWxlfSAhPSB4IF07IHRoZW4KKwkJCW9mdHJlZWltYWdl PSR7Z2xvYmFsLmRoY3Bfb2Z0cmVlX2ZpbGV9CisJCWZpCisJZmkKK2ZpCisKK2lmIFsgeCRpcCA9 IHhkaGNwIC1vIF07IHRoZW4KKwlib290YXJncz0iJGJvb3RhcmdzIGlwPWRoY3AiCitlbGlmIFsg eCRpcCA9IHhub25lIF07IHRoZW4KKwlib290YXJncz0iJGJvb3RhcmdzIGlwPW5vbmUiCitlbHNl CisJYm9vdGFyZ3M9IiRib290YXJncyBpcD0kZXRoMC5pcGFkZHI6JGV0aDAuc2VydmVyaXA6JGV0 aDAuZ2F0ZXdheTokZXRoMC5uZXRtYXNrOjpldGgwOiIKK2ZpCisKKworaWYgWyB4JHJvb3Rmc19s b2MgPSB4bmV0IF07IHRoZW4KKwlib290YXJncz0iJGJvb3RhcmdzIHJvb3Q9L2Rldi9uZnMgbmZz cm9vdD0kbmZzcm9vdCx2Myx0Y3Agbm9pbml0cmQiCitlbGlmIFsgeCRyb290ZnNfbG9jID0geGRp c2sgXTsgdGhlbgorCWJvb3RhcmdzPSIkYm9vdGFyZ3Mgcm9vdD0vZGV2LyRyb290ZnNfcGFydF9s aW51eF9kZXYgcm9vdGZzdHlwZT0kcm9vdGZzX3R5cGUgbm9pbml0cmQgcm9vdHdhaXQiCitlbGlm IFsgeCRyb290ZnNfbG9jID0geGluaXRyZCBdOyB0aGVuCisJYm9vdGFyZ3M9IiRib290YXJncyBy b290PS9kZXYvcmFtMCByZGluaXQ9L3NiaW4vaW5pdCIKK2Vsc2UKKwlpZiBbIHgkcm9vdGZzX2xv YyA9IHhuYW5kIF07IHRoZW4KKwkJcm9vdGZzX210ZGJsb2NrPSRyb290ZnNfbXRkYmxvY2tfbmFu ZAorCWVsc2UKKwkJcm9vdGZzX210ZGJsb2NrPSRyb290ZnNfbXRkYmxvY2tfbm9yCisJZmkKKwor CWlmIFsgeCRyb290ZnNfdHlwZSA9IHh1YmlmcyBdOyB0aGVuCisJCWlmIFsgLXogJHViaXJvb3Qg XTsgdGhlbgorCQkJdWJpcm9vdD0icm9vdCIKKwkJZmkKKwkJYm9vdGFyZ3M9IiRib290YXJncyBy b290PXViaTA6JHViaXJvb3QgdWJpLm10ZD0kcm9vdGZzX210ZGJsb2NrIgorCWVsc2UKKwkJYm9v dGFyZ3M9IiRib290YXJncyByb290PS9kZXYvbXRkYmxvY2skcm9vdGZzX210ZGJsb2NrIgorCWZp CisKKwlib290YXJncz0iJGJvb3RhcmdzIHJvb3Rmc3R5cGU9JHJvb3Rmc190eXBlIG5vaW5pdHJk IgorZmkKKworaWYgWyAtbiAkbm9yX3BhcnRzIF07IHRoZW4KKwltdGRwYXJ0cz0iJHttdGRwYXJ0 c31waHlzbWFwLWZsYXNoLjA6JHtub3JfcGFydHN9IgorZmkKKworaWYgWyAtbiAkbmFuZF9wYXJ0 cyBdOyB0aGVuCisJaWYgWyAtbiAke210ZHBhcnRzfSBdOyB0aGVuCisJCW10ZHBhcnRzPSIke210 ZHBhcnRzfTsiCisJZmkKKwltdGRwYXJ0cz0iJHttdGRwYXJ0c30ke25hbmRfZGV2aWNlfToke25h bmRfcGFydHN9IgorZmkKKworaWYgWyAtbiAkbXRkcGFydHMgXTsgdGhlbgorCWJvb3RhcmdzPSIk e2Jvb3RhcmdzfSBtdGRwYXJ0cz0ke210ZHBhcnRzfSIKK2ZpCisKK2lmIFsgLWYgJGtlcm5lbF9s b2MgXTsgdGhlbgorCWtkZXY9IiRrZXJuZWxfbG9jIgorZWxpZiBbIHgka2VybmVsX2xvYyA9IHhu ZnMgLW8geCRrZXJuZWxfbG9jID0geHRmdHAgXTsgdGhlbgorCWtkZXY9L2ltYWdlCisJJGtlcm5l bF9sb2MgJGtlcm5lbGltYWdlICRrZGV2IHx8IGV4aXQgMQorZWxpZiBbIHgka2VybmVsX2xvYyA9 IHhub3IgXTsgdGhlbgorCWtkZXY9Ii9kZXYvbm9yMC5rZXJuZWwiCitlbGlmIFsgeCRrZXJuZWxf bG9jID0geG5hbmQgXTsgdGhlbgorCWtkZXY9Ii9kZXYvbmFuZDAua2VybmVsLmJiIgorZWxpZiBb IHgka2VybmVsX2xvYyA9IHhkaXNrIF07IHRoZW4KKwlrZGV2PSIvZGV2LyRrZXJuZWxfcGFydCIK K2Vsc2UKKwllY2hvICJlcnJvcjogc2V0IGtlcm5lbF9sb2MgdG8gb25lIG9mICd0ZnRwJywgJ25m cycsICduYW5kJywgJ25vcicgb3IgJ2Rpc2snIgorCWV4aXQgMQorZmkKKworaWYgWyB4JG9mdHJl ZV9sb2MgPSB4bmZzIC1vIHgkb2Z0cmVlX2xvYyA9IHh0ZnRwIF07IHRoZW4KKwlvZGV2PS9vZnRy ZWUKKwkkb2Z0cmVlX2xvYyAkb2Z0cmVlaW1hZ2UgJG9kZXYgfHwgZXhpdCAxCitlbGlmIFsgeCRv ZnRyZWVfbG9jID0geG5vciBdOyB0aGVuCisJb2Rldj0iL2Rldi9ub3IwLm9mdHJlZSIKK2VsaWYg WyB4JG9mdHJlZV9sb2MgPSB4bmFuZCBdOyB0aGVuCisJb2Rldj0iL2Rldi9uYW5kMC5vZnRyZWUu YmIiCitlbGlmIFsgeCRvZnRyZWVfbG9jID0geGRpc2sgXTsgdGhlbgorCW9kZXY9Ii9kZXYvJG9m dHJlZV9wYXJ0IgorZmkKKworWyB4JG9kZXYgPSB4IF0gfHwgYm9vdG1fb3B0PSIkYm9vdG1fb3B0 IC1vICRvZGV2IgorCitlY2hvICJib290aW5nIGtlcm5lbCBmcm9tICRrZGV2IgorCisjdHJ5IHRv IGV4ZWN1dGUgdGhlIGZpbGUKKyMgaXQgZG9lcyBub3Qgd29yayBhcyBleGFtcGxlIGZvciAvZGV2 IGFzIHRoZSBmaWxlIGlzIG5vdCBleGVjdXRhYmxlCiska2RldiAkYm9vdG1fb3B0CisjIGZhbGwg YmFjayBvbiBib290bQorYm9vdG0gJGJvb3RtX29wdCAka2RldgpkaWZmIC0tZ2l0IGEvYXJjaC9h cm0vYm9hcmRzL2JlYWdsZWJvbmUvbWxvLWVudi9jb25maWcgYi9hcmNoL2FybS9ib2FyZHMvYmVh Z2xlYm9uZS9tbG8tZW52L2NvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw Li40NzM3NzdhCi0tLSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vYm9hcmRzL2JlYWdsZWJvbmUv bWxvLWVudi9jb25maWcKQEAgLTAsMCArMSw1MSBAQAorIyEvYmluL3NoCisKK2hvc3RuYW1lPUJl YWdsZUJvbmUKK2lmIFsgLXogIiR1c2VyIiBdOyB0aGVuCisjCXVzZXI9CitmaQorCisjIHVzZSAn ZGhjcCcgdG8gZG8gZGhjcCBpbiBiYXJlYm94IGFuZCBpbiBrZXJuZWwKKyMgdXNlICdub25lJyBp ZiB5b3Ugd2FudCB0byBza2lwIGtlcm5lbCBpcCBhdXRvY29uZmlndXJhdGlvbgoraXA9bm9uZQor CisjIG9yIHNldCB5b3VyIG5ldHdvcmtpbmcgcGFyYW1ldGVycyBoZXJlCisjZXRoMC5pcGFkZHI9 YS5iLmMuZAorI2V0aDAubmV0bWFzaz1hLmIuYy5kCisjZXRoMC5zZXJ2ZXJpcD1hLmIuYy5kCisj ZXRoMC5nYXRld2F5PWEuYi5jLmQKKworIyBjYW4gYmUgZWl0aGVyICd0ZnRwJywgJ25mcycsICdu YW5kJywgJ25vcicgb3IgJ2Rpc2snCitrZXJuZWxfbG9jPS9ib290L3VJbWFnZQorIyBjYW4gYmUg ZWl0aGVyICduZXQnLCAnbmFuZCcsICdub3InLCAnZGlzaycgb3IgJ2luaXRyZCcKK3Jvb3Rmc19s b2M9ZGlzaworIyBjYW4gYmUgZWl0aGVyICd0ZnRwJywgJ25mcycsICduYW5kJywgJ25vcicsICdk aXNrJyBvciBub25lCitvZnRyZWVfbG9jPW5vbmUKKworIyBmb3IgZmxhc2ggYmFzZWQgcm9vdGZz OiAnamZmczInIG9yICd1YmlmcycKKyMgaW4gY2FzZSBvZiBkaXNrIGFueSByZWd1bGFyIGZpbGVz eXN0ZW0gbGlrZSAnZXh0MicsICdleHQzJywgJ3JlaXNlcmZzJworcm9vdGZzX3R5cGU9ZXh0NAor IyB3aGVyZSBpcyB0aGUgcm9vdGZzIGluIGNhc2Ugb2YgJ3Jvb3Rmc19sb2M9ZGlzaycgKGxpbnV4 IG5hbWUpCityb290ZnNfcGFydF9saW51eF9kZXY9bW1jYmxrMHAyCisKK2tlcm5lbGltYWdlPXVJ bWFnZS0ke2dsb2JhbC5ob3N0bmFtZX0KKworYmFyZWJveGltYWdlPWJhcmVib3gtJHtnbG9iYWwu aG9zdG5hbWV9LmJpbgorYmFyZWJveGVudmltYWdlPWJhcmVib3gtJHtnbG9iYWwuaG9zdG5hbWV9 LmVudgorCitpZiBbIC1uICR1c2VyIF07IHRoZW4KKwliYXJlYm94aW1hZ2U9IiR1c2VyIi0iJGJh cmVib3hpbWFnZSIKKwliYXJlYm94ZW52aW1hZ2U9IiR1c2VyIi0iJGJhcmVib3hlbnZpbWFnZSIK KwlrZXJuZWxpbWFnZT0iJHVzZXIiLSIka2VybmVsaW1hZ2UiCisJcm9vdGZzaW1hZ2U9IiR1c2Vy Ii0iJHJvb3Rmc2ltYWdlIgorCW5mc3Jvb3Q9Ii9ob21lLyR1c2VyL25mc3Jvb3QvJHtnbG9iYWwu aG9zdG5hbWV9IgorZWxzZQorCW5mc3Jvb3Q9Ii9wYXRoL3RvL25mcy9yb290IgorZmkKKworYXV0 b2Jvb3RfdGltZW91dD0zCisKK2Jvb3RhcmdzPSJjb25zb2xlPXR0eU8wLDExNTIwMG44IgorCisj IHNldCBhIGZhbmN5IHByb21wdCAoaWYgc3VwcG9ydCBpcyBjb21waWxlZCBpbikKK1BTMT0iXGVb MTszMm1iYXJlYm94QFxlWzE7MzFtXGg6XHdcZVswbSAiCmRpZmYgLS1naXQgYS9hcmNoL2FybS9j b25maWdzL2FtMzM1eF9iZWFnbGVib25lX2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYW0z MzV4X2JlYWdsZWJvbmVfZGVmY29uZmlnCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw MDAuLjIwNjZkOWMKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9jb25maWdzL2FtMzM1eF9i ZWFnbGVib25lX2RlZmNvbmZpZwpAQCAtMCwwICsxLDU0IEBACitDT05GSUdfQVJDSF9PTUFQPXkK K0NPTkZJR19BUkNIX0FNMzNYWD15CitDT05GSUdfQUVBQkk9eQorQ09ORklHX0FSTV9PUFRJTVpF RF9TVFJJTkdfRlVOQ1RJT05TPXkKK0NPTkZJR19BUk1fVU5XSU5EPXkKK0NPTkZJR19NTVU9eQor Q09ORklHX1RFWFRfQkFTRT0weDgxMDAwMDAwCitDT05GSUdfS0FMTFNZTVM9eQorQ09ORklHX1BS T01QVD0iYmFyZWJveD4gIgorQ09ORklHX0xPTkdIRUxQPXkKK0NPTkZJR19IVVNIX0ZBTkNZX1BS T01QVD15CitDT05GSUdfQ01ETElORV9FRElUSU5HPXkKK0NPTkZJR19BVVRPX0NPTVBMRVRFPXkK K0NPTkZJR19NRU5VPXkKKyMgQ09ORklHX1RJTUVTVEFNUCBpcyBub3Qgc2V0CitDT05GSUdfREVG QVVMVF9FTlZJUk9OTUVOVF9HRU5FUklDX05FVz15CitDT05GSUdfREVGQVVMVF9FTlZJUk9OTUVO VF9QQVRIPSJhcmNoL2FybS9ib2FyZHMvYmVhZ2xlYm9uZS9lbnYiCitDT05GSUdfQ01EX0VESVQ9 eQorQ09ORklHX0NNRF9TTEVFUD15CitDT05GSUdfQ01EX1NBVkVFTlY9eQorQ09ORklHX0NNRF9F WFBPUlQ9eQorQ09ORklHX0NNRF9QUklOVEVOVj15CitDT05GSUdfQ01EX1JFQURMSU5FPXkKK0NP TkZJR19DTURfTUVOVT15CitDT05GSUdfQ01EX01FTlVfTUFOQUdFTUVOVD15CitDT05GSUdfQ01E X1RJTUU9eQorQ09ORklHX0NNRF9FQ0hPX0U9eQorQ09ORklHX0NNRF9NRU1JTkZPPXkKK0NPTkZJ R19DTURfQ1JDPXkKK0NPTkZJR19DTURfQ1JDX0NNUD15CitDT05GSUdfQ01EX0JPT1RNX1NIT1df VFlQRT15CitDT05GSUdfQ01EX0JPT1RNX1ZFUkJPU0U9eQorQ09ORklHX0NNRF9CT09UTV9JTklU UkQ9eQorQ09ORklHX0NNRF9CT09UTV9PRlRSRUU9eQorQ09ORklHX0NNRF9CT09UTV9PRlRSRUVf VUlNQUdFPXkKK0NPTkZJR19DTURfVUlNQUdFPXkKK0NPTkZJR19DTURfUkVTRVQ9eQorQ09ORklH X0NNRF9HTz15CitDT05GSUdfQ01EX09GVFJFRT15CitDT05GSUdfQ01EX1RJTUVPVVQ9eQorQ09O RklHX0NNRF9QQVJUSVRJT049eQorQ09ORklHX0NNRF9NQUdJQ1ZBUj15CitDT05GSUdfQ01EX01B R0lDVkFSX0hFTFA9eQorQ09ORklHX0NNRF9HUElPPXkKK0NPTkZJR19DTURfVU5DT01QUkVTUz15 CitDT05GSUdfRFJJVkVSX1NFUklBTF9OUzE2NTUwPXkKK0NPTkZJR19EUklWRVJfU0VSSUFMX05T MTY1NTBfT01BUF9FWFRFTlNJT05TPXkKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0CitDT05GSUdf TUNJPXkKK0NPTkZJR19NQ0lfU1RBUlRVUD15CitDT05GSUdfTUNJX09NQVBfSFNNTUM9eQorQ09O RklHX0ZTX0ZBVD15CitDT05GSUdfRlNfRkFUX1dSSVRFPXkKK0NPTkZJR19GU19GQVRfTEZOPXkK ZGlmZiAtLWdpdCBhL2FyY2gvYXJtL2NvbmZpZ3MvYW0zMzV4X2JlYWdsZWJvbmVfbWxvX2xhcmdl X2RlZmNvbmZpZyBiL2FyY2gvYXJtL2NvbmZpZ3MvYW0zMzV4X2JlYWdsZWJvbmVfbWxvX2xhcmdl X2RlZmNvbmZpZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NWRlZjBkCi0t LSAvZGV2L251bGwKKysrIGIvYXJjaC9hcm0vY29uZmlncy9hbTMzNXhfYmVhZ2xlYm9uZV9tbG9f bGFyZ2VfZGVmY29uZmlnCkBAIC0wLDAgKzEsNDcgQEAKK0NPTkZJR19BUkNIX09NQVA9eQorQ09O RklHX0FSQ0hfQU0zM1hYPXkKK0NPTkZJR19PTUFQX0JVSUxEX0lGVD15CitDT05GSUdfVEhVTUIy X0JBUkVCT1g9eQorQ09ORklHX0xPQ0FMVkVSU0lPTj0iLW1sby1sYXJnZSIKK0NPTkZJR19NTVU9 eQorQ09ORklHX1RFWFRfQkFTRT0weDQwMkYwNDAwCitDT05GSUdfTUVNT1JZX0xBWU9VVF9GSVhF RD15CitDT05GSUdfU1RBQ0tfQkFTRT0weDQwMzBCODAwCitDT05GSUdfU1RBQ0tfU0laRT0weDE2 MDAKK0NPTkZJR19NQUxMT0NfQkFTRT0weDhGMDAwMDAwCitDT05GSUdfTUFMTE9DX1NJWkU9MHgx MDAwMDAwCitDT05GSUdfUFJPTVBUPSJiYXJlYm94IG1sbz4gIgorQ09ORklHX0xPTkdIRUxQPXkK KyMgQ09ORklHX0VSUk5PX01FU1NBR0VTIGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJTUVTVEFNUCBp cyBub3Qgc2V0CitDT05GSUdfREVGQVVMVF9FTlZJUk9OTUVOVF9HRU5FUklDPXkKK0NPTkZJR19E RUZBVUxUX0VOVklST05NRU5UX1BBVEg9ImFyY2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL21sby1l bnYiCitDT05GSUdfQ01EX0VYUE9SVD15CisjIENPTkZJR19DTURfUk0gaXMgbm90IHNldAorIyBD T05GSUdfQ01EX0NBVCBpcyBub3Qgc2V0CisjIENPTkZJR19DTURfUk1ESVIgaXMgbm90IHNldAor IyBDT05GSUdfQ01EX0NQIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NNRF9QV0QgaXMgbm90IHNldAor IyBDT05GSUdfQ01EX0NEIGlzIG5vdCBzZXQKKyMgQ09ORklHX0NNRF9VTU9VTlQgaXMgbm90IHNl dAorIyBDT05GSUdfQ01EX0NMRUFSIGlzIG5vdCBzZXQKK0NPTkZJR19DTURfTE9BREI9eQorQ09O RklHX0NNRF9MT0FEWT15CitDT05GSUdfQ01EX0JPT1RNX1NIT1dfVFlQRT15CitDT05GSUdfQ01E X0JPT1RNX1ZFUkJPU0U9eQorQ09ORklHX0NNRF9CT09UTV9JTklUUkQ9eQorQ09ORklHX0NNRF9C T09UTV9PRlRSRUU9eQorQ09ORklHX0NNRF9CT09UTV9PRlRSRUVfVUlNQUdFPXkKKyMgQ09ORklH X0NNRF9CT09UVSBpcyBub3Qgc2V0CitDT05GSUdfQ01EX0dPPXkKK0NPTkZJR19DTURfVElNRU9V VD15CisjIENPTkZJR19DTURfVkVSU0lPTiBpcyBub3Qgc2V0CisjIENPTkZJR19DTURfSEVMUCBp cyBub3Qgc2V0CitDT05GSUdfRFJJVkVSX1NFUklBTF9OUzE2NTUwPXkKK0NPTkZJR19EUklWRVJf U0VSSUFMX05TMTY1NTBfT01BUF9FWFRFTlNJT05TPXkKKyMgQ09ORklHX1NQSSBpcyBub3Qgc2V0 CitDT05GSUdfTUNJPXkKK0NPTkZJR19NQ0lfU1RBUlRVUD15CitDT05GSUdfTUNJX09NQVBfSFNN TUM9eQorQ09ORklHX0ZTX0ZBVD15CitDT05GSUdfRlNfRkFUX0xGTj15CmRpZmYgLS1naXQgYS9h cmNoL2FybS9jb25maWdzL2FtMzM1eF9iZWFnbGVib25lX21sb19zbWFsbF9kZWZjb25maWcgYi9h cmNoL2FybS9jb25maWdzL2FtMzM1eF9iZWFnbGVib25lX21sb19zbWFsbF9kZWZjb25maWcKbmV3 IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjUyNjBiZgotLS0gL2Rldi9udWxsCisr KyBiL2FyY2gvYXJtL2NvbmZpZ3MvYW0zMzV4X2JlYWdsZWJvbmVfbWxvX3NtYWxsX2RlZmNvbmZp ZwpAQCAtMCwwICsxLDI5IEBACitDT05GSUdfQVJDSF9PTUFQPXkKK0NPTkZJR19BUkNIX0FNMzNY WD15CitDT05GSUdfT01BUF9CVUlMRF9JRlQ9eQorQ09ORklHX1RIVU1CMl9CQVJFQk9YPXkKKyMg Q09ORklHX0NNRF9BUk1fQ1BVSU5GTyBpcyBub3Qgc2V0CitDT05GSUdfRU5WSVJPTk1FTlRfVkFS SUFCTEVTPXkKK0NPTkZJR19NTVU9eQorQ09ORklHX1RFWFRfQkFTRT0weDQwMkYwNDAwCitDT05G SUdfTUVNT1JZX0xBWU9VVF9GSVhFRD15CitDT05GSUdfU1RBQ0tfQkFTRT0weDQwMzBCODAwCitD T05GSUdfU1RBQ0tfU0laRT0weDE2MDAKK0NPTkZJR19NQUxMT0NfQkFTRT0weDhGMDAwMDAwCitD T05GSUdfTUFMTE9DX1NJWkU9MHgxMDAwMDAwCitDT05GSUdfUFJPTVBUPSJNTE8+IgorQ09ORklH X0xPTkdIRUxQPXkKK0NPTkZJR19TSEVMTF9OT05FPXkKKyMgQ09ORklHX0VSUk5PX01FU1NBR0VT IGlzIG5vdCBzZXQKKyMgQ09ORklHX1RJTUVTVEFNUCBpcyBub3Qgc2V0CisjIENPTkZJR19ERUZB VUxUX0VOVklST05NRU5UIGlzIG5vdCBzZXQKK0NPTkZJR19EUklWRVJfU0VSSUFMX05TMTY1NTA9 eQorQ09ORklHX0RSSVZFUl9TRVJJQUxfTlMxNjU1MF9PTUFQX0VYVEVOU0lPTlM9eQorIyBDT05G SUdfU1BJIGlzIG5vdCBzZXQKK0NPTkZJR19NQ0k9eQorQ09ORklHX01DSV9TVEFSVFVQPXkKK0NP TkZJR19NQ0lfT01BUF9IU01NQz15CisjIENPTkZJR19GU19SQU1GUyBpcyBub3Qgc2V0CisjIENP TkZJR19GU19ERVZGUyBpcyBub3Qgc2V0CitDT05GSUdfRlNfRkFUPXkKK0NPTkZJR19GU19GQVRf TEZOPXkKZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcC9LY29uZmlnIGIvYXJjaC9hcm0v bWFjaC1vbWFwL0tjb25maWcKaW5kZXggYjk0NTAwYS4uYWUxZTA3ZSAxMDA2NDQKLS0tIGEvYXJj aC9hcm0vbWFjaC1vbWFwL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwL0tjb25maWcK QEAgLTEwNSw3ICsxMDUsOCBAQCBjb25maWcgT01BUDRfVVNCQk9PVAogY29uZmlnIEJPQVJESU5G TwogCWRlZmF1bHQgIkFyY2hvcyBHOSIgaWYgTUFDSF9BUkNIT1NHOQogCWRlZmF1bHQgIlRleGFz IEluc3RydW1lbnQncyBTRFAzNDN4IiBpZiBNQUNIX09NQVAzNDN4U0RQCi0JZGVmYXVsdCAiVGV4 YXMgSW5zdHJ1bWVudCdzIEJlYWdsZSIgaWYgTUFDSF9CRUFHTEUKKwlkZWZhdWx0ICJUZXhhcyBJ bnN0cnVtZW50J3MgQmVhZ2xlIEJvYXJkIiBpZiBNQUNIX0JFQUdMRQorCWRlZmF1bHQgIlRleGFz IEluc3RydW1lbnQncyBCZWFnbGUgQm9uZSIgaWYgTUFDSF9CRUFHTEVCT05FCiAJZGVmYXVsdCAi VGV4YXMgSW5zdHJ1bWVudCdzIE9NQVAzRVZNIiBpZiBNQUNIX09NQVAzRVZNCiAJZGVmYXVsdCAi VGV4YXMgSW5zdHJ1bWVudCdzIFBhbmRhIiBpZiBNQUNIX1BBTkRBCiAJZGVmYXVsdCAiUGh5dGVj IHBoeUNPUkUgcGNtMDQ5IiBpZiBNQUNIX1BDTTA0OQpAQCAtMTI5LDYgKzEzMCwxNCBAQCBjb25m aWcgTUFDSF9CRUFHTEUKIAloZWxwCiAJICBTYXkgWSBoZXJlIGlmIHlvdSBhcmUgdXNpbmcgQmVh Z2xlIEJvYXJkCiAKK2NvbmZpZyBNQUNIX0JFQUdMRUJPTkUKKwlib29sICJUZXhhcyBJbnN0cnVt ZW50J3MgQmVhZ2xlIEJvbmUiCisJc2VsZWN0IE9NQVBfQ0xPQ0tfQUxMCisJc2VsZWN0IEhBVkVf Tk9TSEVMTAorCWRlcGVuZHMgb24gQVJDSF9BTTMzWFgKKwkgIGhlbHAKKwkgIFNheSBZIGhlcmUg aWYgeW91IGFyZSB1c2luZyBCZWFnbGUgQm9uZQorCiBjb25maWcgTUFDSF9PTUFQM0VWTQogCWJv b2wgIlRleGFzIEluc3RydW1lbnQncyBPTUFQMyBFVk0iCiAJc2VsZWN0IEhBVkVfTk9TSEVMTApk aWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwL01ha2VmaWxlIGIvYXJjaC9hcm0vbWFjaC1v bWFwL01ha2VmaWxlCmluZGV4IDI5MDAzNGUuLjE1MzY3NDQgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJt L21hY2gtb21hcC9NYWtlZmlsZQorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAvTWFrZWZpbGUKQEAg LTIzLDcgKzIzLDcgQEAgb2JqLSQoQ09ORklHX0FSQ0hfT01BUDMpICs9IG9tYXAzX2NvcmUubyBv bWFwM19nZW5lcmljLm8gYXV4Y3IubwogcGJsLSQoQ09ORklHX0FSQ0hfT01BUDMpICs9IG9tYXAz X2NvcmUubyBvbWFwM19nZW5lcmljLm8gYXV4Y3Iubwogb2JqLSQoQ09ORklHX0FSQ0hfT01BUDQp ICs9IG9tYXA0X2dlbmVyaWMubyBvbWFwNF9jbG9jay5vCiBwYmwtJChDT05GSUdfQVJDSF9PTUFQ NCkgKz0gb21hcDRfZ2VuZXJpYy5vIG9tYXA0X2Nsb2NrLm8KLW9iai0kKENPTkZJR19BUkNIX0FN MzNYWCkgKz0gYW0zM3h4X2dlbmVyaWMubworb2JqLSQoQ09ORklHX0FSQ0hfQU0zM1hYKSArPSBh bTMzeHhfZ2VuZXJpYy5vIGFtMzN4eF9jbG9jay5vIGFtMzN4eF9tdXgubwogb2JqLSQoQ09ORklH X09NQVAzX0NMT0NLX0NPTkZJRykgKz0gb21hcDNfY2xvY2subwogcGJsLSQoQ09ORklHX09NQVAz X0NMT0NLX0NPTkZJRykgKz0gb21hcDNfY2xvY2subwogb2JqLSQoQ09ORklHX09NQVBfR1BNQykg Kz0gZ3BtYy5vIGRldmljZXMtZ3BtYy1uYW5kLm8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gt b21hcC9hbTMzeHhfY2xvY2suYyBiL2FyY2gvYXJtL21hY2gtb21hcC9hbTMzeHhfY2xvY2suYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi44NDNhZjljCi0tLSAvZGV2L251bGwK KysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwL2FtMzN4eF9jbG9jay5jCkBAIC0wLDAgKzEsMjg5IEBA CisvKgorICogcGxsLmMKKyAqCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgVGV4YXMgSW5zdHJ1bWVu dHMgSW5jb3Jwb3JhdGVkIC0gaHR0cDovL3d3dy50aS5jb20vCisgKgorICogVGhpcyBwcm9ncmFt IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9k aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug YXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHZlcnNpb24g Mi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgImFzIGlzIiBXSVRIT1VUIEFO WSBXQVJSQU5UWSBvZiBhbnkKKyAqIGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVkOyB3 aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkKKyAqIG9mIE1FUkNIQU5UQUJJTElUWSBv ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorICogR05VIEdlbmVy YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworI2luY2x1ZGUgPGNvbW1v bi5oPgorI2luY2x1ZGUgPGFzbS9pby5oPgorI2luY2x1ZGUgPG1hY2gvY2xvY2tzLmg+CisKKyNk ZWZpbmUgUFJDTV9NT0RfRU4JCTB4MgorI2RlZmluZQlQUkNNX0ZPUkNFX1dBS0VVUAkweDIKKwor I2RlZmluZSBQUkNNX0VNSUZfQ0xLX0FDVElWSVRZCSgweDEgPDwgMikKKyNkZWZpbmUgUFJDTV9M M19HQ0xLX0FDVElWSVRZCSgweDEgPDwgNCkKKworI2RlZmluZSBQTExfQllQQVNTX01PREUJMHg0 CisjZGVmaW5lIFBMTF9MT0NLX01PREUJMHg3CisjZGVmaW5lIFBMTF9NVUxUSVBMSUVSX1NISUZU CSA4CisKK3N0YXRpYyB2b2lkIGludGVyZmFjZV9jbG9ja3NfZW5hYmxlKHZvaWQpCit7CisJLyog RW5hYmxlIGFsbCB0aGUgSW50ZXJjb25uZWN0IE1vZHVsZXMgKi8KKwlfX3Jhd193cml0ZWwoUFJD TV9NT0RfRU4sIENNX1BFUl9MM19DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVS X0wzX0NMS0NUUkwpICE9IFBSQ01fTU9EX0VOKTsKKworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9F TiwgQ01fUEVSX0w0TFNfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9MNExT X0NMS0NUUkwpICE9IFBSQ01fTU9EX0VOKTsKKworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwg Q01fUEVSX0w0RldfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9MNEZXX0NM S0NUUkwpICE9IFBSQ01fTU9EX0VOKTsKKworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01f V0tVUF9MNFdLVVBfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1dLVVBfTDRXS1VQ X0NMS0NUUkwpICE9IFBSQ01fTU9EX0VOKTsKKworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwg Q01fUEVSX0wzX0lOU1RSX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJfTDNf SU5TVFJfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJX19yYXdfd3JpdGVsKFBSQ01fTU9E X0VOLCBDTV9QRVJfTDRIU19DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVSX0w0 SFNfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VO LCBDTV9QRVJfU1BJMV9DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVSX1NQSTFf Q0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJLyogR1BJTzAgKi8KKwlfX3Jhd193cml0ZWwo UFJDTV9NT0RfRU4sIENNX1dLVVBfR1BJTzBfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRs KENNX1dLVVBfR1BJTzBfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworfQorCitzdGF0aWMgdm9p ZCBwb3dlcl9kb21haW5fdHJhbnNpdGlvbl9lbmFibGUodm9pZCkKK3sKKwkvKgorCSAqIEZvcmNl IHBvd2VyIGRvbWFpbiB3YWtlIHVwIHRyYW5zaXRpb24KKwkgKiBFbnN1cmUgdGhhdCB0aGUgY29y cmVzcG9uZGluZyBpbnRlcmZhY2UgY2xvY2sgaXMgYWN0aXZlIGJlZm9yZQorCSAqIHVzaW5nIHRo ZSBwZXJpcGhlcmFsCisJICovCisJX19yYXdfd3JpdGVsKFBSQ01fRk9SQ0VfV0FLRVVQLCBDTV9Q RVJfTDNfQ0xLU1RDVFJMKTsKKworCV9fcmF3X3dyaXRlbChQUkNNX0ZPUkNFX1dBS0VVUCwgQ01f UEVSX0w0TFNfQ0xLU1RDVFJMKTsKKworCV9fcmF3X3dyaXRlbChQUkNNX0ZPUkNFX1dBS0VVUCwg Q01fV0tVUF9DTEtTVENUUkwpOworCisJX19yYXdfd3JpdGVsKFBSQ01fRk9SQ0VfV0FLRVVQLCBD TV9QRVJfTDRGV19DTEtTVENUUkwpOworCisJX19yYXdfd3JpdGVsKFBSQ01fRk9SQ0VfV0FLRVVQ LCBDTV9QRVJfTDNTX0NMS1NUQ1RSTCk7Cit9CisKKy8qCisgKiBFbmFibGUgdGhlIG1vZHVsZSBj bG9jayBhbmQgdGhlIHBvd2VyIGRvbWFpbiBmb3IgcmVxdWlyZWQgcGVyaXBoZXJhbHMKKyAqLwor c3RhdGljIHZvaWQgcGVyX2Nsb2Nrc19lbmFibGUodm9pZCkKK3sKKwkvKiBFbmFibGUgdGhlIG1v ZHVsZSBjbG9jayAqLworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01fUEVSX1RJTUVSMl9D TEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVSX1RJTUVSMl9DTEtDVFJMKSAhPSBQ UkNNX01PRF9FTik7CisKKwkvKiBTZWxlY3QgdGhlIE1hc3RlciBvc2MgMjQgTUhaIGFzIFRpbWVy MiBjbG9jayBzb3VyY2UgKi8KKwlfX3Jhd193cml0ZWwoMHgxLCBDTEtTRUxfVElNRVIyX0NMSyk7 CisKKwkvKiBVQVJUMCAqLworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01fV0tVUF9VQVJU MF9DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fV0tVUF9VQVJUMF9DTEtDVFJMKSAh PSBQUkNNX01PRF9FTik7CisKKwkvKiBVQVJUMyAqLworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9F TiwgQ01fUEVSX1VBUlQzX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJfVUFS VDNfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJLyogR1BNQyAqLworCV9fcmF3X3dyaXRl bChQUkNNX01PRF9FTiwgQ01fUEVSX0dQTUNfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRs KENNX1BFUl9HUE1DX0NMS0NUUkwpICE9IFBSQ01fTU9EX0VOKTsKKworCS8qIEVMTSAqLworCV9f cmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01fUEVSX0VMTV9DTEtDVFJMKTsKKwl3aGlsZSAoX19y YXdfcmVhZGwoQ01fUEVSX0VMTV9DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7CisKKwkvKiBpMmMw ICovCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9XS1VQX0kyQzBfQ0xLQ1RSTCk7CisJ d2hpbGUgKF9fcmF3X3JlYWRsKENNX1dLVVBfSTJDMF9DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7 CisKKwkvKiBpMmMxICovCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9QRVJfSTJDMV9D TEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVSX0kyQzFfQ0xLQ1RSTCkgIT0gUFJD TV9NT0RfRU4pOworCisJLyogaTJjMiAqLworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01f UEVSX0kyQzJfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9JMkMyX0NMS0NU UkwpICE9IFBSQ01fTU9EX0VOKTsKKworCS8qIEV0aGVybmV0ICovCisJX19yYXdfd3JpdGVsKFBS Q01fTU9EX0VOLCBDTV9QRVJfQ1BHTUFDMF9DTEtDVFJMKTsKKwlfX3Jhd193cml0ZWwoUFJDTV9N T0RfRU4sIENNX1BFUl9DUFNXX0NMS1NUQ1RSTCk7CisJd2hpbGUgKChfX3Jhd19yZWFkbChDTV9Q RVJfQ1BHTUFDMF9DTEtDVFJMKSAmIDB4MzAwMDApICE9IDB4MCk7CisKKwkvKiBNTUMgMCAmIDEg Ki8KKwlfX3Jhd193cml0ZWwoUFJDTV9NT0RfRU4sIENNX1BFUl9NTUMwX0NMS0NUUkwpOworCXdo aWxlIChfX3Jhd19yZWFkbChDTV9QRVJfTU1DMF9DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7CisJ X19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9QRVJfTU1DMV9DTEtDVFJMKTsKKwl3aGlsZSAo X19yYXdfcmVhZGwoQ01fUEVSX01NQzFfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJLyog RW5hYmxlIHRoZSBjb250cm9sIG1vZHVsZSB0aG91Z2ggUkJMIHdvdWxkIGhhdmUgZG9uZSBpdCov CisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9XS1VQX0NPTlRST0xfQ0xLQ1RSTCk7CisJ d2hpbGUgKF9fcmF3X3JlYWRsKENNX1dLVVBfQ09OVFJPTF9DTEtDVFJMKSAhPSBQUkNNX01PRF9F Tik7CisKKwkvKiBTUEkgMCAmIDEgKi8KKwlfX3Jhd193cml0ZWwoUFJDTV9NT0RfRU4sIENNX1BF Ul9TUEkwX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJfU1BJMF9DTEtDVFJM KSAhPSBQUkNNX01PRF9FTik7CisKKwlfX3Jhd193cml0ZWwoUFJDTV9NT0RfRU4sIENNX1BFUl9T UEkxX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJfU1BJMV9DTEtDVFJMKSAh PSBQUkNNX01PRF9FTik7Cit9CisKK3N0YXRpYyB2b2lkIG1wdV9wbGxfY29uZmlnKGludCBtcHVw bGxfTSkKK3sKKwl1MzIgY2xrbW9kZSwgY2xrc2VsLCBkaXZfbTI7CisKKwljbGttb2RlID0gX19y YXdfcmVhZGwoQ01fQ0xLTU9ERV9EUExMX01QVSk7CisJY2xrc2VsID0gX19yYXdfcmVhZGwoQ01f Q0xLU0VMX0RQTExfTVBVKTsKKwlkaXZfbTIgPSBfX3Jhd19yZWFkbChDTV9ESVZfTTJfRFBMTF9N UFUpOworCisJLyogU2V0IHRoZSBQTEwgdG8gYnlwYXNzIE1vZGUgKi8KKwlfX3Jhd193cml0ZWwo UExMX0JZUEFTU19NT0RFLCBDTV9DTEtNT0RFX0RQTExfTVBVKTsKKworCXdoaWxlKF9fcmF3X3Jl YWRsKENNX0lETEVTVF9EUExMX01QVSkgIT0gMHgwMDAwMDEwMCk7CisKKwljbGtzZWwgPSBjbGtz ZWwgJiAofjB4N2ZmZmYpOworCWNsa3NlbCA9IGNsa3NlbCB8ICgobXB1cGxsX00gPDwgMHg4KSB8 IE1QVVBMTF9OKTsKKwlfX3Jhd193cml0ZWwoY2xrc2VsLCBDTV9DTEtTRUxfRFBMTF9NUFUpOwor CisJZGl2X20yID0gZGl2X20yICYgfjB4MWY7CisJZGl2X20yID0gZGl2X20yIHwgTVBVUExMX00y OworCV9fcmF3X3dyaXRlbChkaXZfbTIsIENNX0RJVl9NMl9EUExMX01QVSk7CisKKwljbGttb2Rl ID0gY2xrbW9kZSB8IDB4NzsKKwlfX3Jhd193cml0ZWwoY2xrbW9kZSwgQ01fQ0xLTU9ERV9EUExM X01QVSk7CisKKwl3aGlsZShfX3Jhd19yZWFkbChDTV9JRExFU1RfRFBMTF9NUFUpICE9IDB4MSk7 Cit9CisKK3N0YXRpYyB2b2lkIGNvcmVfcGxsX2NvbmZpZyh2b2lkKQoreworCXUzMiBjbGttb2Rl LCBjbGtzZWwsIGRpdl9tNCwgZGl2X201LCBkaXZfbTY7CisKKwljbGttb2RlID0gX19yYXdfcmVh ZGwoQ01fQ0xLTU9ERV9EUExMX0NPUkUpOworCWNsa3NlbCA9IF9fcmF3X3JlYWRsKENNX0NMS1NF TF9EUExMX0NPUkUpOworCWRpdl9tNCA9IF9fcmF3X3JlYWRsKENNX0RJVl9NNF9EUExMX0NPUkUp OworCWRpdl9tNSA9IF9fcmF3X3JlYWRsKENNX0RJVl9NNV9EUExMX0NPUkUpOworCWRpdl9tNiA9 IF9fcmF3X3JlYWRsKENNX0RJVl9NNl9EUExMX0NPUkUpOworCisJLyogU2V0IHRoZSBQTEwgdG8g YnlwYXNzIE1vZGUgKi8KKwlfX3Jhd193cml0ZWwoUExMX0JZUEFTU19NT0RFLCBDTV9DTEtNT0RF X0RQTExfQ09SRSk7CisKKwl3aGlsZShfX3Jhd19yZWFkbChDTV9JRExFU1RfRFBMTF9DT1JFKSAh PSAweDAwMDAwMTAwKTsKKworCWNsa3NlbCA9IGNsa3NlbCAmICh+MHg3ZmZmZik7CisJY2xrc2Vs ID0gY2xrc2VsIHwgKChDT1JFUExMX00gPDwgMHg4KSB8IENPUkVQTExfTik7CisJX19yYXdfd3Jp dGVsKGNsa3NlbCwgQ01fQ0xLU0VMX0RQTExfQ09SRSk7CisKKwlkaXZfbTQgPSBkaXZfbTQgJiB+ MHgxZjsKKwlkaXZfbTQgPSBkaXZfbTQgfCBDT1JFUExMX000OworCV9fcmF3X3dyaXRlbChkaXZf bTQsIENNX0RJVl9NNF9EUExMX0NPUkUpOworCisJZGl2X201ID0gZGl2X201ICYgfjB4MWY7CisJ ZGl2X201ID0gZGl2X201IHwgQ09SRVBMTF9NNTsKKwlfX3Jhd193cml0ZWwoZGl2X201LCBDTV9E SVZfTTVfRFBMTF9DT1JFKTsKKworCWRpdl9tNiA9IGRpdl9tNiAmIH4weDFmOworCWRpdl9tNiA9 IGRpdl9tNiB8IENPUkVQTExfTTY7CisJX19yYXdfd3JpdGVsKGRpdl9tNiwgQ01fRElWX002X0RQ TExfQ09SRSk7CisKKworCWNsa21vZGUgPSBjbGttb2RlIHwgMHg3OworCV9fcmF3X3dyaXRlbChj bGttb2RlLCBDTV9DTEtNT0RFX0RQTExfQ09SRSk7CisKKwl3aGlsZShfX3Jhd19yZWFkbChDTV9J RExFU1RfRFBMTF9DT1JFKSAhPSAweDEpOworfQorCitzdGF0aWMgdm9pZCBwZXJfcGxsX2NvbmZp Zyh2b2lkKQoreworCXUzMiBjbGttb2RlLCBjbGtzZWwsIGRpdl9tMjsKKworCWNsa21vZGUgPSBf X3Jhd19yZWFkbChDTV9DTEtNT0RFX0RQTExfUEVSKTsKKwljbGtzZWwgPSBfX3Jhd19yZWFkbChD TV9DTEtTRUxfRFBMTF9QRVIpOworCWRpdl9tMiA9IF9fcmF3X3JlYWRsKENNX0RJVl9NMl9EUExM X1BFUik7CisKKwkvKiBTZXQgdGhlIFBMTCB0byBieXBhc3MgTW9kZSAqLworCV9fcmF3X3dyaXRl bChQTExfQllQQVNTX01PREUsIENNX0NMS01PREVfRFBMTF9QRVIpOworCisJd2hpbGUoX19yYXdf cmVhZGwoQ01fSURMRVNUX0RQTExfUEVSKSAhPSAweDAwMDAwMTAwKTsKKworCWNsa3NlbCA9IGNs a3NlbCAmICh+MHg3ZmZmZik7CisJY2xrc2VsID0gY2xrc2VsIHwgKChQRVJQTExfTSA8PCAweDgp IHwgUEVSUExMX04pOworCV9fcmF3X3dyaXRlbChjbGtzZWwsIENNX0NMS1NFTF9EUExMX1BFUik7 CisKKwlkaXZfbTIgPSBkaXZfbTIgJiB+MHg3ZjsKKwlkaXZfbTIgPSBkaXZfbTIgfCBQRVJQTExf TTI7CisJX19yYXdfd3JpdGVsKGRpdl9tMiwgQ01fRElWX00yX0RQTExfUEVSKTsKKworCWNsa21v ZGUgPSBjbGttb2RlIHwgMHg3OworCV9fcmF3X3dyaXRlbChjbGttb2RlLCBDTV9DTEtNT0RFX0RQ TExfUEVSKTsKKworCXdoaWxlKF9fcmF3X3JlYWRsKENNX0lETEVTVF9EUExMX1BFUikgIT0gMHgx KTsKK30KKworc3RhdGljIHZvaWQgZGRyX3BsbF9jb25maWcodm9pZCkKK3sKKwl1MzIgY2xrbW9k ZSwgY2xrc2VsLCBkaXZfbTI7CisKKwljbGttb2RlID0gX19yYXdfcmVhZGwoQ01fQ0xLTU9ERV9E UExMX0REUik7CisJY2xrc2VsID0gX19yYXdfcmVhZGwoQ01fQ0xLU0VMX0RQTExfRERSKTsKKwlk aXZfbTIgPSBfX3Jhd19yZWFkbChDTV9ESVZfTTJfRFBMTF9ERFIpOworCisJLyogU2V0IHRoZSBQ TEwgdG8gYnlwYXNzIE1vZGUgKi8KKwljbGttb2RlID0gKGNsa21vZGUgJiAweGZmZmZmZmY4KSB8 IDB4MDAwMDAwMDQ7CisJX19yYXdfd3JpdGVsKGNsa21vZGUsIENNX0NMS01PREVfRFBMTF9ERFIp OworCisJd2hpbGUgKChfX3Jhd19yZWFkbChDTV9JRExFU1RfRFBMTF9ERFIpICYgMHgwMDAwMDEw MCkgIT0gMHgwMDAwMDEwMCk7CisKKwljbGtzZWwgPSBjbGtzZWwgJiAofjB4N2ZmZmYpOworCWNs a3NlbCA9IGNsa3NlbCB8ICgoRERSUExMX00gPDwgMHg4KSB8IEREUlBMTF9OKTsKKwlfX3Jhd193 cml0ZWwoY2xrc2VsLCBDTV9DTEtTRUxfRFBMTF9ERFIpOworCisJZGl2X20yID0gZGl2X20yICYg MHhGRkZGRkZFMDsKKwlkaXZfbTIgPSBkaXZfbTIgfCBERFJQTExfTTI7CisJX19yYXdfd3JpdGVs KGRpdl9tMiwgQ01fRElWX00yX0RQTExfRERSKTsKKworCWNsa21vZGUgPSAoY2xrbW9kZSAmIDB4 ZmZmZmZmZjgpIHwgMHg3OworCV9fcmF3X3dyaXRlbChjbGttb2RlLCBDTV9DTEtNT0RFX0RQTExf RERSKTsKKworCXdoaWxlICgoX19yYXdfcmVhZGwoQ01fSURMRVNUX0RQTExfRERSKSAmIDB4MDAw MDAwMDEpICE9IDB4MSk7Cit9CisKK3ZvaWQgZW5hYmxlX2Rkcl9jbG9ja3Modm9pZCkKK3sKKwkv KiBFbmFibGUgdGhlICBFTUlGX0ZXIEZ1bmN0aW9uYWwgY2xvY2sgKi8KKwlfX3Jhd193cml0ZWwo UFJDTV9NT0RfRU4sIENNX1BFUl9FTUlGX0ZXX0NMS0NUUkwpOworCS8qIEVuYWJsZSBFTUlGMCBD bG9jayAqLworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01fUEVSX0VNSUZfQ0xLQ1RSTCk7 CisJLyogUG9sbCBmb3IgZW1pZl9nY2xrICAmIEwzX0cgY2xvY2sgIGFyZSBhY3RpdmUgKi8KKwl3 aGlsZSAoKF9fcmF3X3JlYWRsKENNX1BFUl9MM19DTEtTVENUUkwpICYgKFBSQ01fRU1JRl9DTEtf QUNUSVZJVFkgfAorCQlQUkNNX0wzX0dDTEtfQUNUSVZJVFkpKSAhPSAoUFJDTV9FTUlGX0NMS19B Q1RJVklUWSB8CisJCVBSQ01fTDNfR0NMS19BQ1RJVklUWSkpOworCS8qIFBvbGwgaWYgbW9kdWxl IGlzIGZ1bmN0aW9uYWwgKi8KKwl3aGlsZSAoKF9fcmF3X3JlYWRsKENNX1BFUl9FTUlGX0NMS0NU UkwpKSAhPSBQUkNNX01PRF9FTik7CisKK30KKworLyoKKyAqIENvbmZpZ3VyZSB0aGUgUExML1BS Q00gZm9yIG5lY2Vzc2FyeSBwZXJpcGhlcmFscworICovCit2b2lkIHBsbF9pbml0KCkKK3sKKwlt cHVfcGxsX2NvbmZpZyhNUFVQTExfTV81MDApOworCWNvcmVfcGxsX2NvbmZpZygpOworCXBlcl9w bGxfY29uZmlnKCk7CisJZGRyX3BsbF9jb25maWcoKTsKKwkvKiBFbmFibGUgdGhlIHJlcXVpcmVk IGludGVyY29ubmVjdCBjbG9ja3MgKi8KKwlpbnRlcmZhY2VfY2xvY2tzX2VuYWJsZSgpOworCS8q IEVuYWJsZSBwb3dlciBkb21haW4gdHJhbnNpdGlvbiAqLworCXBvd2VyX2RvbWFpbl90cmFuc2l0 aW9uX2VuYWJsZSgpOworCS8qIEVuYWJsZSB0aGUgcmVxdWlyZWQgcGVyaXBoZXJhbHMgKi8KKwlw ZXJfY2xvY2tzX2VuYWJsZSgpOworfQpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwL2Ft MzN4eF9nZW5lcmljLmMgYi9hcmNoL2FybS9tYWNoLW9tYXAvYW0zM3h4X2dlbmVyaWMuYwppbmRl eCBiYTA4NzczLi5iMDkxNmE4IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAvYW0zM3h4 X2dlbmVyaWMuYworKysgYi9hcmNoL2FybS9tYWNoLW9tYXAvYW0zM3h4X2dlbmVyaWMuYwpAQCAt MSw1ICsxLDYgQEAKIC8qCiAgKiAoQykgQ29weXJpZ2h0IDIwMTIgVGVyZXNhIEfDoW1leiwgUGh5 dGVjIE1lc3N0ZWNobmlrIEdtYkgKKyAqIChDKSBDb3B5cmlnaHQgMjAxMiBKYW4gTHVlYmJlIDxq Lmx1ZWJiZUBwZW5ndXRyb25peC5kZT4KICAqCiAgKiBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0 d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIg dGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBhcwpAQCAtMjAsNiAr MjEsOCBAQAogI2luY2x1ZGUgPGlvLmg+CiAjaW5jbHVkZSA8bWFjaC9zaWxpY29uLmg+CiAjaW5j bHVkZSA8bWFjaC9jbG9ja3MuaD4KKyNpbmNsdWRlIDxtYWNoL3N5c19pbmZvLmg+CisjaW5jbHVk ZSA8bWFjaC94bG9hZC5oPgogCiB2b2lkIF9fbm9yZXR1cm4gcmVzZXRfY3B1KHVuc2lnbmVkIGxv bmcgYWRkcikKIHsKQEAgLTI3LDMgKzMwLDc3IEBAIHZvaWQgX19ub3JldHVybiByZXNldF9jcHUo dW5zaWduZWQgbG9uZyBhZGRyKQogCiAJd2hpbGUgKDEpOwogfQorCisvKiBUT0RPIGNvbnNvbGlk YXRlIHdpdGggb21hcDNfZ2VuZXJpYy5jICovCisKKy8qKgorICogQGJyaWVmIEdldCB0aGUgdXBw ZXIgYWRkcmVzcyBvZiBjdXJyZW50IGV4ZWN1dGlvbgorICoKKyAqIHdlIGNhbiB1c2UgdGhpcyB0 byBmaWd1cmUgb3V0IGlmIHdlIGFyZSBydW5uaW5nIGluIFNSQU0gLworICogWElQIEZsYXNoIG9y IGluIFNEUkFNCisgKgorICogQHJldHVybiBiYXNlIGFkZHJlc3MKKyAqLwordTMyIGdldF9iYXNl KHZvaWQpCit7CisJdTMyIHZhbDsKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygibW92ICUwLCBwYyBc biI6Ij1yIih2YWwpOjoibWVtb3J5Iik7CisJdmFsICY9IDB4RjAwMDAwMDA7CisJdmFsID4+PSAy ODsKKwlyZXR1cm4gdmFsOworfQorCisvKioKKyAqIEBicmllZiBBcmUgd2UgcnVubmluZyBpbiBG bGFzaCBYSVA/CisgKgorICogSWYgdGhlIGJhc2UgaXMgaW4gR1BNQyBhZGRyZXNzIHNwYWNlLCB3 ZSBwcm9iYWJseSBhcmUhCisgKgorICogQHJldHVybiAxIGlmIHdlIGFyZSBydW5uaW5nIGluIFhJ UCBtb2RlLCBlbHNlIHJldHVybiAwCisgKi8KK3UzMiBydW5uaW5nX2luX2ZsYXNoKHZvaWQpCit7 CisJaWYgKGdldF9iYXNlKCkgPCA0KQorCQlyZXR1cm4gMTsJLyogaW4gZmxhc2ggKi8KKwlyZXR1 cm4gMDsJCS8qIHJ1bm5pbmcgaW4gU1JBTSBvciBTRFJBTSAqLworfQorCisvKioKKyAqIEBicmll ZiBBcmUgd2UgcnVubmluZyBpbiBPTUFQIGludGVybmFsIFNSQU0/CisgKgorICogSWYgaW4gU1JB TSBhZGRyZXNzLCB0aGVuIHllcyEKKyAqCisgKiBAcmV0dXJuICAxIGlmIHdlIGFyZSBydW5uaW5n IGluIFNSQU0sIGVsc2UgcmV0dXJuIDAKKyAqLwordTMyIHJ1bm5pbmdfaW5fc3JhbSh2b2lkKQor eworCWlmIChnZXRfYmFzZSgpID09IDQpCisJCXJldHVybiAxOwkvKiBpbiBTUkFNICovCisJcmV0 dXJuIDA7CQkvKiBydW5uaW5nIGluIEZMQVNIIG9yIFNEUkFNICovCit9CisKKy8qKgorICogQGJy aWVmIEFyZSB3ZSBydW5uaW5nIGluIFNEUkFNPworICoKKyAqIGlmIHdlIGFyZSBub3QgaW4gR1BN QyBub3IgaW4gU1JBTSBhZGRyZXNzIHNwYWNlLAorICogd2UgYXJlIGluIFNEUkFNIGV4ZWN1dGlv biBhcmVhCisgKgorICogQHJldHVybiAxIGlmIHdlIGFyZSBydW5uaW5nIGZyb20gU0RSQU0sIGVs c2UgcmV0dXJuIDAKKyAqLwordTMyIHJ1bm5pbmdfaW5fc2RyYW0odm9pZCkKK3sKKwlpZiAoZ2V0 X2Jhc2UoKSA+IDQpCisJCXJldHVybiAxOwkvKiBpbiBzZHJhbSAqLworCXJldHVybiAwOwkJLyog cnVubmluZyBpbiBTUkFNIG9yIEZMQVNIICovCit9CisKKyNkZWZpbmUgQU0zM1hYX1RSQUNJTkdf VkVDVE9SMyAweDQwMzBjZDQ4CisKK2VudW0gb21hcF9ib290X3NyYyBhbTMzeHhfYm9vdHNyYyh2 b2lkKQoreworCXUzMiBib290c3JjID0gcmVhZGwoQU0zM1hYX1RSQUNJTkdfVkVDVE9SMyk7CisK KwlpZiAoYm9vdHNyYyAmICgxIDw8IDUpKQorCQlyZXR1cm4gT01BUF9CT09UU1JDX01NQzE7CisJ cmV0dXJuIE9NQVBfQk9PVFNSQ19VTktOT1dOOworfQorCmRpZmYgLS1naXQgYS9hcmNoL2FybS9t YWNoLW9tYXAvYW0zM3h4X211eC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwL2FtMzN4eF9tdXguYwpu ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yNjRlMzUxCi0tLSAvZGV2L251bGwK KysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwL2FtMzN4eF9tdXguYwpAQCAtMCwwICsxLDUwNiBAQAor LyoKKyAqIG11eC5jCisgKgorICogQ29weXJpZ2h0IChDKSAyMDExIFRleGFzIEluc3RydW1lbnRz IEluY29ycG9yYXRlZCAtIGh0dHA6Ly93d3cudGkuY29tLworICoKKyAqIFRoaXMgcHJvZ3JhbSBp cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFz CisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiB2ZXJzaW9uIDIu CisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3RyaWJ1dGVkICJhcyBpcyIgV0lUSE9VVCBBTlkg V0FSUkFOVFkgb2YgYW55CisgKiBraW5kLCB3aGV0aGVyIGV4cHJlc3Mgb3IgaW1wbGllZDsgd2l0 aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5CisgKiBvZiBNRVJDSEFOVEFCSUxJVFkgb3Ig RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFs IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKi8KKyNpbmNsdWRlIDxjb21tb24u aD4KKyNpbmNsdWRlIDxjb25maWcuaD4KKyNpbmNsdWRlIDxhc20vaW8uaD4KKyNpbmNsdWRlIDxt YWNoL3NpbGljb24uaD4KKworI2RlZmluZSBNVVhfQ0ZHKHZhbHVlLCBvZmZzZXQpCVwKKwlfX3Jh d193cml0ZWwodmFsdWUsIChPTUFQX0NUUkxfQkFTRSArIG9mZnNldCkpOworCisvKiBQQUQgQ29u dHJvbCBGaWVsZHMgKi8KKyNkZWZpbmUgU0xFV0NUUkwJKDB4MSA8PCA2KQorI2RlZmluZQlSWEFD VElWRQkoMHgxIDw8IDUpCisjZGVmaW5lCVBVTExVUF9FTgkoMHgxIDw8IDQpIC8qIFB1bGwgVVAg U2VsZWN0aW9uICovCisjZGVmaW5lIFBVTExVREVOCSgweDAgPDwgMykgLyogUHVsbCB1cCBlbmFi bGVkICovCisjZGVmaW5lIFBVTExVRERJUwkoMHgxIDw8IDMpIC8qIFB1bGwgdXAgZGlzYWJsZWQg Ki8KKyNkZWZpbmUgTU9ERSh2YWwpCXZhbAorCisvKgorICogUEFEIENPTlRST0wgT0ZGU0VUUwor ICogRmllbGQgbmFtZXMgY29ycmVzcG9uZHMgdG8gdGhlIHBhZCBzaWduYWwgbmFtZQorICovCisv KiBUT0RPIHJlcGxhY2Ugd2l0aCBkZWZpbmVzICovCitzdHJ1Y3QgcGFkX3NpZ25hbHMgeworCWlu dCBncG1jX2FkMDsKKwlpbnQgZ3BtY19hZDE7CisJaW50IGdwbWNfYWQyOworCWludCBncG1jX2Fk MzsKKwlpbnQgZ3BtY19hZDQ7CisJaW50IGdwbWNfYWQ1OworCWludCBncG1jX2FkNjsKKwlpbnQg Z3BtY19hZDc7CisJaW50IGdwbWNfYWQ4OworCWludCBncG1jX2FkOTsKKwlpbnQgZ3BtY19hZDEw OworCWludCBncG1jX2FkMTE7CisJaW50IGdwbWNfYWQxMjsKKwlpbnQgZ3BtY19hZDEzOworCWlu dCBncG1jX2FkMTQ7CisJaW50IGdwbWNfYWQxNTsKKwlpbnQgZ3BtY19hMDsKKwlpbnQgZ3BtY19h MTsKKwlpbnQgZ3BtY19hMjsKKwlpbnQgZ3BtY19hMzsKKwlpbnQgZ3BtY19hNDsKKwlpbnQgZ3Bt Y19hNTsKKwlpbnQgZ3BtY19hNjsKKwlpbnQgZ3BtY19hNzsKKwlpbnQgZ3BtY19hODsKKwlpbnQg Z3BtY19hOTsKKwlpbnQgZ3BtY19hMTA7CisJaW50IGdwbWNfYTExOworCWludCBncG1jX3dhaXQw OworCWludCBncG1jX3dwbjsKKwlpbnQgZ3BtY19iZTFuOworCWludCBncG1jX2NzbjA7CisJaW50 IGdwbWNfY3NuMTsKKwlpbnQgZ3BtY19jc24yOworCWludCBncG1jX2NzbjM7CisJaW50IGdwbWNf Y2xrOworCWludCBncG1jX2Fkdm5fYWxlOworCWludCBncG1jX29lbl9yZW47CisJaW50IGdwbWNf d2VuOworCWludCBncG1jX2JlMG5fY2xlOworCWludCBsY2RfZGF0YTA7CisJaW50IGxjZF9kYXRh MTsKKwlpbnQgbGNkX2RhdGEyOworCWludCBsY2RfZGF0YTM7CisJaW50IGxjZF9kYXRhNDsKKwlp bnQgbGNkX2RhdGE1OworCWludCBsY2RfZGF0YTY7CisJaW50IGxjZF9kYXRhNzsKKwlpbnQgbGNk X2RhdGE4OworCWludCBsY2RfZGF0YTk7CisJaW50IGxjZF9kYXRhMTA7CisJaW50IGxjZF9kYXRh MTE7CisJaW50IGxjZF9kYXRhMTI7CisJaW50IGxjZF9kYXRhMTM7CisJaW50IGxjZF9kYXRhMTQ7 CisJaW50IGxjZF9kYXRhMTU7CisJaW50IGxjZF92c3luYzsKKwlpbnQgbGNkX2hzeW5jOworCWlu dCBsY2RfcGNsazsKKwlpbnQgbGNkX2FjX2JpYXNfZW47CisJaW50IG1tYzBfZGF0MzsKKwlpbnQg bW1jMF9kYXQyOworCWludCBtbWMwX2RhdDE7CisJaW50IG1tYzBfZGF0MDsKKwlpbnQgbW1jMF9j bGs7CisJaW50IG1tYzBfY21kOworCWludCBtaWkxX2NvbDsKKwlpbnQgbWlpMV9jcnM7CisJaW50 IG1paTFfcnhlcnI7CisJaW50IG1paTFfdHhlbjsKKwlpbnQgbWlpMV9yeGR2OworCWludCBtaWkx X3R4ZDM7CisJaW50IG1paTFfdHhkMjsKKwlpbnQgbWlpMV90eGQxOworCWludCBtaWkxX3R4ZDA7 CisJaW50IG1paTFfdHhjbGs7CisJaW50IG1paTFfcnhjbGs7CisJaW50IG1paTFfcnhkMzsKKwlp bnQgbWlpMV9yeGQyOworCWludCBtaWkxX3J4ZDE7CisJaW50IG1paTFfcnhkMDsKKwlpbnQgcm1p aTFfcmVmY2xrOworCWludCBtZGlvX2RhdGE7CisJaW50IG1kaW9fY2xrOworCWludCBzcGkwX3Nj bGs7CisJaW50IHNwaTBfZDA7CisJaW50IHNwaTBfZDE7CisJaW50IHNwaTBfY3MwOworCWludCBz cGkwX2NzMTsKKwlpbnQgZWNhcDBfaW5fcHdtMF9vdXQ7CisJaW50IHVhcnQwX2N0c247CisJaW50 IHVhcnQwX3J0c247CisJaW50IHVhcnQwX3J4ZDsKKwlpbnQgdWFydDBfdHhkOworCWludCB1YXJ0 MV9jdHNuOworCWludCB1YXJ0MV9ydHNuOworCWludCB1YXJ0MV9yeGQ7CisJaW50IHVhcnQxX3R4 ZDsKKwlpbnQgaTJjMF9zZGE7CisJaW50IGkyYzBfc2NsOworCWludCBtY2FzcDBfYWNsa3g7CisJ aW50IG1jYXNwMF9mc3g7CisJaW50IG1jYXNwMF9heHIwOworCWludCBtY2FzcDBfYWhjbGtyOwor CWludCBtY2FzcDBfYWNsa3I7CisJaW50IG1jYXNwMF9mc3I7CisJaW50IG1jYXNwMF9heHIxOwor CWludCBtY2FzcDBfYWhjbGt4OworCWludCB4ZG1hX2V2ZW50X2ludHIwOworCWludCB4ZG1hX2V2 ZW50X2ludHIxOworCWludCBucmVzZXRpbl9vdXQ7CisJaW50IHBvcno7CisJaW50IG5ubWk7CisJ aW50IG9zYzBfaW47CisJaW50IG9zYzBfb3V0OworCWludCByc3ZkMTsKKwlpbnQgdG1zOworCWlu dCB0ZGk7CisJaW50IHRkbzsKKwlpbnQgdGNrOworCWludCBudHJzdDsKKwlpbnQgZW11MDsKKwlp bnQgZW11MTsKKwlpbnQgb3NjMV9pbjsKKwlpbnQgb3NjMV9vdXQ7CisJaW50IHBtaWNfcG93ZXJf ZW47CisJaW50IHJ0Y19wb3J6OworCWludCByc3ZkMjsKKwlpbnQgZXh0X3dha2V1cDsKKwlpbnQg ZW56X2thbGRvXzFwOHY7CisJaW50IHVzYjBfZG07CisJaW50IHVzYjBfZHA7CisJaW50IHVzYjBf Y2U7CisJaW50IHVzYjBfaWQ7CisJaW50IHVzYjBfdmJ1czsKKwlpbnQgdXNiMF9kcnZ2YnVzOwor CWludCB1c2IxX2RtOworCWludCB1c2IxX2RwOworCWludCB1c2IxX2NlOworCWludCB1c2IxX2lk OworCWludCB1c2IxX3ZidXM7CisJaW50IHVzYjFfZHJ2dmJ1czsKKwlpbnQgZGRyX3Jlc2V0bjsK KwlpbnQgZGRyX2NzbjA7CisJaW50IGRkcl9ja2U7CisJaW50IGRkcl9jazsKKwlpbnQgZGRyX25j azsKKwlpbnQgZGRyX2Nhc247CisJaW50IGRkcl9yYXNuOworCWludCBkZHJfd2VuOworCWludCBk ZHJfYmEwOworCWludCBkZHJfYmExOworCWludCBkZHJfYmEyOworCWludCBkZHJfYTA7CisJaW50 IGRkcl9hMTsKKwlpbnQgZGRyX2EyOworCWludCBkZHJfYTM7CisJaW50IGRkcl9hNDsKKwlpbnQg ZGRyX2E1OworCWludCBkZHJfYTY7CisJaW50IGRkcl9hNzsKKwlpbnQgZGRyX2E4OworCWludCBk ZHJfYTk7CisJaW50IGRkcl9hMTA7CisJaW50IGRkcl9hMTE7CisJaW50IGRkcl9hMTI7CisJaW50 IGRkcl9hMTM7CisJaW50IGRkcl9hMTQ7CisJaW50IGRkcl9hMTU7CisJaW50IGRkcl9vZHQ7CisJ aW50IGRkcl9kMDsKKwlpbnQgZGRyX2QxOworCWludCBkZHJfZDI7CisJaW50IGRkcl9kMzsKKwlp bnQgZGRyX2Q0OworCWludCBkZHJfZDU7CisJaW50IGRkcl9kNjsKKwlpbnQgZGRyX2Q3OworCWlu dCBkZHJfZDg7CisJaW50IGRkcl9kOTsKKwlpbnQgZGRyX2QxMDsKKwlpbnQgZGRyX2QxMTsKKwlp bnQgZGRyX2QxMjsKKwlpbnQgZGRyX2QxMzsKKwlpbnQgZGRyX2QxNDsKKwlpbnQgZGRyX2QxNTsK KwlpbnQgZGRyX2RxbTA7CisJaW50IGRkcl9kcW0xOworCWludCBkZHJfZHFzMDsKKwlpbnQgZGRy X2Rxc24wOworCWludCBkZHJfZHFzMTsKKwlpbnQgZGRyX2Rxc24xOworCWludCBkZHJfdnJlZjsK KwlpbnQgZGRyX3Z0cDsKKwlpbnQgZGRyX3N0cmJlbjA7CisJaW50IGRkcl9zdHJiZW4xOworCWlu dCBhaW43OworCWludCBhaW42OworCWludCBhaW41OworCWludCBhaW40OworCWludCBhaW4zOwor CWludCBhaW4yOworCWludCBhaW4xOworCWludCBhaW4wOworCWludCB2cmVmcDsKKwlpbnQgdnJl Zm47Cit9OworCitzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggeworCXNob3J0IHJlZ19vZmZzZXQ7CisJ dW5zaWduZWQgY2hhciB2YWw7Cit9OworCisjZGVmaW5lIFBBRF9DVFJMX0JBU0UJMHg4MDAKKyNk ZWZpbmUgT0ZGU0VUKHgpCSh1bnNpZ25lZCBpbnQpICgmKChzdHJ1Y3QgcGFkX3NpZ25hbHMgKikg XAorCQkJCShQQURfQ1RSTF9CQVNFKSktPngpCisKK3N0YXRpYyBjb25zdCBfX21heWJlX3VudXNl ZCBzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggdWFydDBfcGluX211eFtdID0geworCXtPRkZTRVQodWFy dDBfcnhkKSwgKE1PREUoMCkgfCBQVUxMVVBfRU4gfCBSWEFDVElWRSl9LAkvKiBVQVJUMF9SWEQg Ki8KKwl7T0ZGU0VUKHVhcnQwX3R4ZCksIChNT0RFKDApIHwgUFVMTFVERU4pfSwJCS8qIFVBUlQw X1RYRCAqLworCXstMX0sCit9OworCitzdGF0aWMgY29uc3QgX19tYXliZV91bnVzZWQgc3RydWN0 IG1vZHVsZV9waW5fbXV4IHVhcnQzX3Bpbl9tdXhbXSA9IHsKKwl7T0ZGU0VUKHNwaTBfY3MxKSwg KE1PREUoMSkgfCBQVUxMVURFTiB8IFJYQUNUSVZFKX0sCS8qIFVBUlQzX1JYRCAqLworCXtPRkZT RVQoZWNhcDBfaW5fcHdtMF9vdXQpLCAoTU9ERSgxKSB8IFBVTExVREVOKX0sCS8qIFVBUlQzX1RY RCAqLworCXstMX0sCit9OworCisKKyNpZmRlZiBDT05GSUdfTkFORAorc3RhdGljIGNvbnN0IF9f bWF5YmVfdW51c2VkIHN0cnVjdCBtb2R1bGVfcGluX211eCBuYW5kX3Bpbl9tdXhbXSA9IHsKKwl7 T0ZGU0VUKGdwbWNfYWQwKSwgKE1PREUoMCkgfCBQVUxMVVBfRU4gfCBSWEFDVElWRSl9LAkvKiBO QU5EIEFEMCAqLworCXtPRkZTRVQoZ3BtY19hZDEpLCAoTU9ERSgwKSB8IFBVTExVUF9FTiB8IFJY QUNUSVZFKX0sCS8qIE5BTkQgQUQxICovCisJe09GRlNFVChncG1jX2FkMiksIChNT0RFKDApIHwg UFVMTFVQX0VOIHwgUlhBQ1RJVkUpfSwJLyogTkFORCBBRDIgKi8KKwl7T0ZGU0VUKGdwbWNfYWQz KSwgKE1PREUoMCkgfCBQVUxMVVBfRU4gfCBSWEFDVElWRSl9LAkvKiBOQU5EIEFEMyAqLworCXtP RkZTRVQoZ3BtY19hZDQpLCAoTU9ERSgwKSB8IFBVTExVUF9FTiB8IFJYQUNUSVZFKX0sCS8qIE5B TkQgQUQ0ICovCisJe09GRlNFVChncG1jX2FkNSksIChNT0RFKDApIHwgUFVMTFVQX0VOIHwgUlhB Q1RJVkUpfSwJLyogTkFORCBBRDUgKi8KKwl7T0ZGU0VUKGdwbWNfYWQ2KSwgKE1PREUoMCkgfCBQ VUxMVVBfRU4gfCBSWEFDVElWRSl9LAkvKiBOQU5EIEFENiAqLworCXtPRkZTRVQoZ3BtY19hZDcp LCAoTU9ERSgwKSB8IFBVTExVUF9FTiB8IFJYQUNUSVZFKX0sCS8qIE5BTkQgQUQ3ICovCisJe09G RlNFVChncG1jX3dhaXQwKSwgKE1PREUoMCkgfCBSWEFDVElWRSB8IFBVTExVUF9FTil9LCAvKiBO QU5EIFdBSVQgKi8KKwl7T0ZGU0VUKGdwbWNfd3BuKSwgKE1PREUoNykgfCBQVUxMVVBfRU4gfCBS WEFDVElWRSl9LAkvKiBOQU5EX1dQTiAqLworCXtPRkZTRVQoZ3BtY19jc24wKSwgKE1PREUoMCkg fCBQVUxMVURFTil9LAkvKiBOQU5EX0NTMCAqLworCXtPRkZTRVQoZ3BtY19hZHZuX2FsZSksIChN T0RFKDApIHwgUFVMTFVERU4pfSwgLyogTkFORF9BRFZfQUxFICovCisJe09GRlNFVChncG1jX29l bl9yZW4pLCAoTU9ERSgwKSB8IFBVTExVREVOKX0sCS8qIE5BTkRfT0UgKi8KKwl7T0ZGU0VUKGdw bWNfd2VuKSwgKE1PREUoMCkgfCBQVUxMVURFTil9LAkvKiBOQU5EX1dFTiAqLworCXtPRkZTRVQo Z3BtY19iZTBuX2NsZSksIChNT0RFKDApIHwgUFVMTFVERU4pfSwJLyogTkFORF9CRV9DTEUgKi8K Kwl7LTF9LAorfTsKKyNlbmRpZgorCitzdGF0aWMgY29uc3QgX19tYXliZV91bnVzZWQgc3RydWN0 IG1vZHVsZV9waW5fbXV4IGkyYzBfcGluX211eFtdID0geworCXtPRkZTRVQoaTJjMF9zZGEpLCAo TU9ERSgwKSB8IFJYQUNUSVZFIHwgUFVMTFVERU4gfCBTTEVXQ1RSTCl9LAkvKiBJMkNfREFUQSAq LworCXtPRkZTRVQoaTJjMF9zY2wpLCAoTU9ERSgwKSB8IFJYQUNUSVZFIHwgUFVMTFVERU4gfCBT TEVXQ1RSTCl9LAkvKiBJMkNfU0NMSyAqLworCXstMX0sCit9OworCitzdGF0aWMgY29uc3QgX19t YXliZV91bnVzZWQgc3RydWN0IG1vZHVsZV9waW5fbXV4IGkyYzFfcGluX211eFtdID0geworCXtP RkZTRVQoc3BpMF9kMSksIChNT0RFKDIpIHwgUlhBQ1RJVkUgfCBQVUxMVURFTiB8IFNMRVdDVFJM KX0sCS8qIEkyQ19EQVRBICovCisJe09GRlNFVChzcGkwX2NzMCksIChNT0RFKDIpIHwgUlhBQ1RJ VkUgfCBQVUxMVURFTiB8IFNMRVdDVFJMKX0sCS8qIEkyQ19TQ0xLICovCisJey0xfSwKK307CisK K3N0YXRpYyBjb25zdCBfX21heWJlX3VudXNlZCBzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggaTJjMl9w aW5fbXV4W10gPSB7CisJe09GRlNFVCh1YXJ0MV9jdHNuKSwgKE1PREUoMykgfCBSWEFDVElWRSB8 IFBVTExVREVOIHwgU0xFV0NUUkwpfSwgIC8qIEkyQ19EQVRBICovCisJe09GRlNFVCh1YXJ0MV9y dHNuKSwgKE1PREUoMykgfCBSWEFDVElWRSB8IFBVTExVREVOIHwgU0xFV0NUUkwpfSwgLyogSTJD X1NDTEsgKi8KKwl7LTF9LAorfTsKKworc3RhdGljIGNvbnN0IF9fbWF5YmVfdW51c2VkIHN0cnVj dCBtb2R1bGVfcGluX211eCByZ21paTFfcGluX211eFtdID0geworCXtPRkZTRVQobWlpMV90eGVu KSwgTU9ERSgyKX0sCQkJLyogUkdNSUkxX1RDVEwgKi8KKwl7T0ZGU0VUKG1paTFfcnhkdiksIE1P REUoMikgfCBSWEFDVElWRX0sCS8qIFJHTUlJMV9SQ1RMICovCisJe09GRlNFVChtaWkxX3R4ZDMp LCBNT0RFKDIpfSwJCQkvKiBSR01JSTFfVEQzICovCisJe09GRlNFVChtaWkxX3R4ZDIpLCBNT0RF KDIpfSwJCQkvKiBSR01JSTFfVEQyICovCisJe09GRlNFVChtaWkxX3R4ZDEpLCBNT0RFKDIpfSwJ CQkvKiBSR01JSTFfVEQxICovCisJe09GRlNFVChtaWkxX3R4ZDApLCBNT0RFKDIpfSwJCQkvKiBS R01JSTFfVEQwICovCisJe09GRlNFVChtaWkxX3R4Y2xrKSwgTU9ERSgyKX0sCQkJLyogUkdNSUkx X1RDTEsgKi8KKwl7T0ZGU0VUKG1paTFfcnhjbGspLCBNT0RFKDIpIHwgUlhBQ1RJVkV9LAkvKiBS R01JSTFfUkNMSyAqLworCXtPRkZTRVQobWlpMV9yeGQzKSwgTU9ERSgyKSB8IFJYQUNUSVZFfSwJ LyogUkdNSUkxX1JEMyAqLworCXtPRkZTRVQobWlpMV9yeGQyKSwgTU9ERSgyKSB8IFJYQUNUSVZF fSwJLyogUkdNSUkxX1JEMiAqLworCXtPRkZTRVQobWlpMV9yeGQxKSwgTU9ERSgyKSB8IFJYQUNU SVZFfSwJLyogUkdNSUkxX1JEMSAqLworCXtPRkZTRVQobWlpMV9yeGQwKSwgTU9ERSgyKSB8IFJY QUNUSVZFfSwJLyogUkdNSUkxX1JEMCAqLworCXtPRkZTRVQobWRpb19kYXRhKSwgTU9ERSgwKSB8 IFJYQUNUSVZFIHwgUFVMTFVQX0VOfSwgLyogTURJT19EQVRBICovCisJe09GRlNFVChtZGlvX2Ns ayksIE1PREUoMCkgfCBQVUxMVVBfRU59LAkvKiBNRElPX0NMSyAqLworCXstMX0sCit9OworCitz dGF0aWMgY29uc3QgX19tYXliZV91bnVzZWQgc3RydWN0IG1vZHVsZV9waW5fbXV4IHJnbWlpMl9w aW5fbXV4W10gPSB7CisJe09GRlNFVChncG1jX2EwKSwgTU9ERSgyKX0sCQkJLyogUkdNSUkyX1RD VEwgKi8KKwl7T0ZGU0VUKGdwbWNfYTEpLCBNT0RFKDIpIHwgUlhBQ1RJVkV9LAkJLyogUkdNSUky X1JDVEwgKi8KKwl7T0ZGU0VUKGdwbWNfYTIpLCBNT0RFKDIpfSwJCQkvKiBSR01JSTJfVEQzICov CisJe09GRlNFVChncG1jX2EzKSwgTU9ERSgyKX0sCQkJLyogUkdNSUkyX1REMiAqLworCXtPRkZT RVQoZ3BtY19hNCksIE1PREUoMil9LAkJCS8qIFJHTUlJMl9URDEgKi8KKwl7T0ZGU0VUKGdwbWNf YTUpLCBNT0RFKDIpfSwJCQkvKiBSR01JSTJfVEQwICovCisJe09GRlNFVChncG1jX2E2KSwgTU9E RSgyKX0sCQkJLyogUkdNSUkyX1RDTEsgKi8KKwl7T0ZGU0VUKGdwbWNfYTcpLCBNT0RFKDIpIHwg UlhBQ1RJVkV9LAkJLyogUkdNSUkyX1JDTEsgKi8KKwl7T0ZGU0VUKGdwbWNfYTgpLCBNT0RFKDIp IHwgUlhBQ1RJVkV9LAkJLyogUkdNSUkyX1JEMyAqLworCXtPRkZTRVQoZ3BtY19hOSksIE1PREUo MikgfCBSWEFDVElWRX0sCQkvKiBSR01JSTJfUkQyICovCisJe09GRlNFVChncG1jX2ExMCksIE1P REUoMikgfCBSWEFDVElWRX0sCQkvKiBSR01JSTJfUkQxICovCisJe09GRlNFVChncG1jX2ExMSks IE1PREUoMikgfCBSWEFDVElWRX0sCQkvKiBSR01JSTJfUkQwICovCisJe09GRlNFVChtZGlvX2Rh dGEpLCBNT0RFKDApIHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU59LCAvKiBNRElPX0RBVEEgKi8KKwl7 T0ZGU0VUKG1kaW9fY2xrKSwgTU9ERSgwKSB8IFBVTExVUF9FTn0sCS8qIE1ESU9fQ0xLICovCisJ ey0xfSwKK307CisKK3N0YXRpYyBjb25zdCBfX21heWJlX3VudXNlZCBzdHJ1Y3QgbW9kdWxlX3Bp bl9tdXggbWlpMV9waW5fbXV4W10gPSB7CisJe09GRlNFVChtaWkxX3J4ZXJyKSwgTU9ERSgwKSB8 IFJYQUNUSVZFfSwJLyogTUlJMV9SWEVSUiAqLworCXtPRkZTRVQobWlpMV90eGVuKSwgTU9ERSgw KX0sCQkJLyogTUlJMV9UWEVOICovCisJe09GRlNFVChtaWkxX3J4ZHYpLCBNT0RFKDApIHwgUlhB Q1RJVkV9LAkvKiBNSUkxX1JYRFYgKi8KKwl7T0ZGU0VUKG1paTFfdHhkMyksIE1PREUoMCl9LAkJ CS8qIE1JSTFfVFhEMyAqLworCXtPRkZTRVQobWlpMV90eGQyKSwgTU9ERSgwKX0sCQkJLyogTUlJ MV9UWEQyICovCisJe09GRlNFVChtaWkxX3R4ZDEpLCBNT0RFKDApfSwJCQkvKiBNSUkxX1RYRDEg Ki8KKwl7T0ZGU0VUKG1paTFfdHhkMCksIE1PREUoMCl9LAkJCS8qIE1JSTFfVFhEMCAqLworCXtP RkZTRVQobWlpMV90eGNsayksIE1PREUoMCkgfCBSWEFDVElWRX0sCS8qIE1JSTFfVFhDTEsgKi8K Kwl7T0ZGU0VUKG1paTFfcnhjbGspLCBNT0RFKDApIHwgUlhBQ1RJVkV9LAkvKiBNSUkxX1JYQ0xL ICovCisJe09GRlNFVChtaWkxX3J4ZDMpLCBNT0RFKDApIHwgUlhBQ1RJVkV9LAkvKiBNSUkxX1JY RDMgKi8KKwl7T0ZGU0VUKG1paTFfcnhkMiksIE1PREUoMCkgfCBSWEFDVElWRX0sCS8qIE1JSTFf UlhEMiAqLworCXtPRkZTRVQobWlpMV9yeGQxKSwgTU9ERSgwKSB8IFJYQUNUSVZFfSwJLyogTUlJ MV9SWEQxICovCisJe09GRlNFVChtaWkxX3J4ZDApLCBNT0RFKDApIHwgUlhBQ1RJVkV9LAkvKiBN SUkxX1JYRDAgKi8KKwl7T0ZGU0VUKG1kaW9fZGF0YSksIE1PREUoMCkgfCBSWEFDVElWRSB8IFBV TExVUF9FTn0sIC8qIE1ESU9fREFUQSAqLworCXtPRkZTRVQobWRpb19jbGspLCBNT0RFKDApIHwg UFVMTFVQX0VOfSwJLyogTURJT19DTEsgKi8KKwl7LTF9LAorfTsKKworc3RhdGljIGNvbnN0IF9f bWF5YmVfdW51c2VkIHN0cnVjdCBtb2R1bGVfcGluX211eCBybWlpMV9waW5fbXV4W10gPSB7CisJ e09GRlNFVChtaWkxX2NycyksIE1PREUoMSkgfCBSWEFDVElWRX0sICAgICAvKiBSTUlJMV9DUlMg Ki8KKwl7T0ZGU0VUKG1paTFfcnhlcnIpLCBNT0RFKDEpIHwgUlhBQ1RJVkV9LCAgIC8qIFJNSUkx X1JYRVJSICovCisJe09GRlNFVChtaWkxX3R4ZW4pLCBNT0RFKDEpfSwgICAgICAgICAgIC8qIFJN SUkxX1RYRU4gKi8KKwl7T0ZGU0VUKG1paTFfdHhkMSksIE1PREUoMSl9LCAgICAgICAgICAgLyog Uk1JSTFfVFhEMSAqLworCXtPRkZTRVQobWlpMV90eGQwKSwgTU9ERSgxKX0sICAgICAgICAgICAv KiBSTUlJMV9UWEQwICovCisJe09GRlNFVChtaWkxX3J4ZDEpLCBNT0RFKDEpIHwgUlhBQ1RJVkV9 LCAgICAvKiBSTUlJMV9SWEQxICovCisJe09GRlNFVChtaWkxX3J4ZDApLCBNT0RFKDEpIHwgUlhB Q1RJVkV9LCAgICAvKiBSTUlJMV9SWEQwICovCisJe09GRlNFVChtZGlvX2RhdGEpLCBNT0RFKDAp IHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU59LCAvKiBNRElPX0RBVEEgKi8KKwl7T0ZGU0VUKG1kaW9f Y2xrKSwgTU9ERSgwKSB8IFBVTExVUF9FTn0sICAgIC8qIE1ESU9fQ0xLICovCisJe09GRlNFVChy bWlpMV9yZWZjbGspLCBNT0RFKDApIHwgUlhBQ1RJVkV9LCAvKiBSTUlJMV9SRUZDTEsgKi8KKwl7 LTF9LAorfTsKKworI2lmZGVmIENPTkZJR19OT1IKK3N0YXRpYyBjb25zdCBfX21heWJlX3VudXNl ZCBzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggbm9yX3Bpbl9tdXhbXSA9IHsKKwl7T0ZGU0VUKGxjZF9k YXRhMCksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMCAqLworCXtPRkZTRVQobGNkX2Rh dGExKSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0ExICovCisJe09GRlNFVChsY2RfZGF0 YTIpLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTIgKi8KKwl7T0ZGU0VUKGxjZF9kYXRh MyksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMyAqLworCXtPRkZTRVQobGNkX2RhdGE0 KSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0E0ICovCisJe09GRlNFVChsY2RfZGF0YTUp LCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTUgKi8KKwl7T0ZGU0VUKGxjZF9kYXRhNiks IE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BNiAqLworCXtPRkZTRVQobGNkX2RhdGE3KSwg TU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0E3ICovCisJe09GRlNFVChncG1jX2E4KSwgTU9E RSgwKX0sCQkJLyogTk9SX0E4ICovCisJe09GRlNFVChncG1jX2E5KSwgTU9ERSgwKX0sCQkJLyog Tk9SX0E5ICovCisJe09GRlNFVChncG1jX2ExMCksIE1PREUoMCl9LAkJCS8qIE5PUl9BMTAgKi8K Kwl7T0ZGU0VUKGdwbWNfYTExKSwgTU9ERSgwKX0sCQkJLyogTk9SX0ExMSAqLworCXtPRkZTRVQo bGNkX2RhdGE4KSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0ExMiAqLworCXtPRkZTRVQo bGNkX2RhdGE5KSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0ExMyAqLworCXtPRkZTRVQo bGNkX2RhdGExMCksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMTQgKi8KKwl7T0ZGU0VU KGxjZF9kYXRhMTEpLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTE1ICovCisJe09GRlNF VChsY2RfZGF0YTEyKSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0ExNiAqLworCXtPRkZT RVQobGNkX2RhdGExMyksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMTcgKi8KKwl7T0ZG U0VUKGxjZF9kYXRhMTQpLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTE4ICovCisJe09G RlNFVChsY2RfZGF0YTE1KSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0ExOSAqLworCXtP RkZTRVQoZ3BtY19hNCksIE1PREUoNCl9LAkJCS8qIE5PUl9BMjAgKi8KKwl7T0ZGU0VUKGdwbWNf YTUpLCBNT0RFKDQpfSwJCQkvKiBOT1JfQTIxICovCisJe09GRlNFVChncG1jX2E2KSwgTU9ERSg0 KX0sCQkJLyogTk9SX0EyMiAqLworCXtPRkZTRVQoZ3BtY19hZDApLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FEMCAqLworCXtPRkZTRVQoZ3BtY19hZDEpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FEMSAqLworCXtPRkZTRVQoZ3BtY19hZDIpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FEMiAqLworCXtPRkZTRVQoZ3BtY19hZDMpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FEMyAqLworCXtPRkZTRVQoZ3BtY19hZDQpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FENCAqLworCXtPRkZTRVQoZ3BtY19hZDUpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FENSAqLworCXtPRkZTRVQoZ3BtY19hZDYpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FENiAqLworCXtPRkZTRVQoZ3BtY19hZDcpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FENyAqLworCXtPRkZTRVQoZ3BtY19hZDgpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FEOCAqLworCXtPRkZTRVQoZ3BtY19hZDkpLCBNT0RFKDApIHwgUlhBQ1RJ VkV9LAkJLyogTk9SX0FEOSAqLworCXtPRkZTRVQoZ3BtY19hZDEwKSwgTU9ERSgwKSB8IFJYQUNU SVZFfSwJLyogTk9SX0FEMTAgKi8KKwl7T0ZGU0VUKGdwbWNfYWQxMSksIE1PREUoMCkgfCBSWEFD VElWRX0sCS8qIE5PUl9BRDExICovCisJe09GRlNFVChncG1jX2FkMTIpLCBNT0RFKDApIHwgUlhB Q1RJVkV9LAkvKiBOT1JfQUQxMiAqLworCXtPRkZTRVQoZ3BtY19hZDEzKSwgTU9ERSgwKSB8IFJY QUNUSVZFfSwJLyogTk9SX0FEMTMgKi8KKwl7T0ZGU0VUKGdwbWNfYWQxNCksIE1PREUoMCkgfCBS WEFDVElWRX0sCS8qIE5PUl9BRDE0ICovCisJe09GRlNFVChncG1jX2FkMTUpLCBNT0RFKDApIHwg UlhBQ1RJVkV9LAkvKiBOT1JfQUQxNSAqLworCXtPRkZTRVQoZ3BtY19jc24wKSwgKE1PREUoMCkg fCBQVUxMVVBfRU4pfSwJLyogTk9SX0NFICovCisJe09GRlNFVChncG1jX29lbl9yZW4pLCAoTU9E RSgwKSB8IFBVTExVUF9FTil9LAkvKiBOT1JfT0UgKi8KKwl7T0ZGU0VUKGdwbWNfd2VuKSwgKE1P REUoMCkgfCBQVUxMVVBfRU4pfSwJLyogTk9SX1dFTiAqLworCXtPRkZTRVQoZ3BtY193YWl0MCks IChNT0RFKDApIHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU4pfSwgLyogTk9SIFdBSVQgKi8KKwl7T0ZG U0VUKGxjZF9hY19iaWFzX2VuKSwgTU9ERSg3KSB8IFJYQUNUSVZFIHwgUFVMTFVERU59LCAvKiBO T1IgUkVTRVQgKi8KKwl7LTF9LAorfTsKKyNlbmRpZgorCitzdGF0aWMgY29uc3QgX19tYXliZV91 bnVzZWQgc3RydWN0IG1vZHVsZV9waW5fbXV4IG1tYzBfcGluX211eFtdID0geworCXtPRkZTRVQo bW1jMF9kYXQzKSwgKE1PREUoMCkgfCBSWEFDVElWRSB8IFBVTExVUF9FTil9LAkvKiBNTUMwX0RB VDMgKi8KKwl7T0ZGU0VUKG1tYzBfZGF0MiksIChNT0RFKDApIHwgUlhBQ1RJVkUgfCBQVUxMVVBf RU4pfSwJLyogTU1DMF9EQVQyICovCisJe09GRlNFVChtbWMwX2RhdDEpLCAoTU9ERSgwKSB8IFJY QUNUSVZFIHwgUFVMTFVQX0VOKX0sCS8qIE1NQzBfREFUMSAqLworCXtPRkZTRVQobW1jMF9kYXQw KSwgKE1PREUoMCkgfCBSWEFDVElWRSB8IFBVTExVUF9FTil9LAkvKiBNTUMwX0RBVDAgKi8KKwl7 T0ZGU0VUKG1tYzBfY2xrKSwgKE1PREUoMCkgfCBSWEFDVElWRSB8IFBVTExVUF9FTil9LAkvKiBN TUMwX0NMSyAqLworCXtPRkZTRVQobW1jMF9jbWQpLCAoTU9ERSgwKSB8IFJYQUNUSVZFIHwgUFVM TFVQX0VOKX0sCS8qIE1NQzBfQ01EICovCisJe09GRlNFVChtY2FzcDBfYWNsa3IpLCAoTU9ERSg0 KSB8IFJYQUNUSVZFKX0sCQkvKiBNTUMwX1dQICovCisJe09GRlNFVChzcGkwX2NzMSksIChNT0RF KDUpIHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU4pfSwJLyogTU1DMF9DRCAqLworCXstMX0sCit9Owor CitzdGF0aWMgY29uc3QgX19tYXliZV91bnVzZWQgc3RydWN0IG1vZHVsZV9waW5fbXV4IG1tYzFf cGluX211eFtdID0geworCXtPRkZTRVQoZ3BtY19hZDMpLCAoTU9ERSgxKSB8IFJYQUNUSVZFKX0s CS8qIE1NQzFfREFUMyAqLworCXtPRkZTRVQoZ3BtY19hZDIpLCAoTU9ERSgxKSB8IFJYQUNUSVZF KX0sCS8qIE1NQzFfREFUMiAqLworCXtPRkZTRVQoZ3BtY19hZDEpLCAoTU9ERSgxKSB8IFJYQUNU SVZFKX0sCS8qIE1NQzFfREFUMSAqLworCXtPRkZTRVQoZ3BtY19hZDApLCAoTU9ERSgxKSB8IFJY QUNUSVZFKX0sCS8qIE1NQzFfREFUMCAqLworCXtPRkZTRVQoZ3BtY19jc24xKSwgKE1PREUoMikg fCBSWEFDVElWRSB8IFBVTExVUF9FTil9LAkvKiBNTUMxX0NMSyAqLworCXtPRkZTRVQoZ3BtY19j c24yKSwgKE1PREUoMikgfCBSWEFDVElWRSB8IFBVTExVUF9FTil9LAkvKiBNTUMxX0NNRCAqLwor CXtPRkZTRVQodWFydDFfcnhkKSwgKE1PREUoMSkgfCBSWEFDVElWRSB8IFBVTExVUF9FTil9LAkv KiBNTUMxX1dQICovCisJe09GRlNFVChtY2FzcDBfZnN4KSwgKE1PREUoNCkgfCBSWEFDVElWRSl9 LAkvKiBNTUMxX0NEICovCisJey0xfSwKK307CisKK3N0YXRpYyBjb25zdCBfX21heWJlX3VudXNl ZCBzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggc3BpMF9waW5fbXV4W10gPSB7CisJe09GRlNFVChzcGkw X3NjbGspLCBNT0RFKDApIHwgUFVMTFVERU4gfCBSWEFDVElWRX0sCS8qU1BJMF9TQ0xLICovCisJ e09GRlNFVChzcGkwX2QwKSwgTU9ERSgwKSB8IFBVTExVREVOIHwgUFVMTFVQX0VOIHwKKwkJCQkJ CQlSWEFDVElWRX0sIC8qU1BJMF9EMCAqLworCXtPRkZTRVQoc3BpMF9kMSksIE1PREUoMCkgfCBQ VUxMVURFTiB8CisJCQkJCQkJUlhBQ1RJVkV9LCAvKlNQSTBfRDEgKi8KKwl7T0ZGU0VUKHNwaTBf Y3MwKSwgTU9ERSgwKSB8IFBVTExVREVOIHwgUFVMTFVQX0VOIHwgUlhBQ1RJVkV9LAkvKlNQSTBf Q1MwICovCisJey0xfSwKK307CisKK3N0YXRpYyBjb25zdCBfX21heWJlX3VudXNlZCBzdHJ1Y3Qg bW9kdWxlX3Bpbl9tdXggc3BpMV9waW5fbXV4W10gPSB7CisJe09GRlNFVChtY2FzcDBfYWNsa3gp LCBNT0RFKDMpIHwgUFVMTFVERU4gfCBSWEFDVElWRX0sCS8qU1BJMF9TQ0xLICovCisJe09GRlNF VChtY2FzcDBfZnN4KSwgTU9ERSgzKSB8IFBVTExVREVOIHwgUFVMTFVQX0VOIHwKKwkJCQkJCQlS WEFDVElWRX0sIC8qU1BJMF9EMCAqLworCXtPRkZTRVQobWNhc3AwX2F4cjApLCBNT0RFKDMpIHwg UFVMTFVERU4gfCBSWEFDVElWRX0sIC8qU1BJMF9EMSAqLworCXtPRkZTRVQobWNhc3AwX2FoY2xr ciksIE1PREUoMykgfCBQVUxMVURFTiB8IFBVTExVUF9FTiB8CisJCQkJCQkJUlhBQ1RJVkV9LCAv KlNQSTBfQ1MwICovCisJey0xfSwKK307CisKKy8qCisgKiBDb25maWd1cmUgdGhlIHBpbiBtdXgg Zm9yIHRoZSBtb2R1bGUKKyAqLworc3RhdGljIHZvaWQgY29uZmlndXJlX21vZHVsZV9waW5fbXV4 KGNvbnN0IHN0cnVjdCBtb2R1bGVfcGluX211eCAqbW9kX3Bpbl9tdXgpCit7CisJaW50IGk7CisK KwlpZiAoIW1vZF9waW5fbXV4KQorCQlyZXR1cm47CisKKwlmb3IgKGkgPSAwOyBtb2RfcGluX211 eFtpXS5yZWdfb2Zmc2V0ICE9IC0xOyBpKyspCisJCU1VWF9DRkcobW9kX3Bpbl9tdXhbaV0udmFs LCBtb2RfcGluX211eFtpXS5yZWdfb2Zmc2V0KTsKK30KKwordm9pZCBlbmFibGVfbWlpMV9waW5f bXV4KHZvaWQpCit7CisJY29uZmlndXJlX21vZHVsZV9waW5fbXV4KG1paTFfcGluX211eCk7Cit9 CisKK3ZvaWQgZW5hYmxlX2kyYzBfcGluX211eCh2b2lkKQoreworCWNvbmZpZ3VyZV9tb2R1bGVf cGluX211eChpMmMwX3Bpbl9tdXgpOworfQorCit2b2lkIGVuYWJsZV9pMmMxX3Bpbl9tdXgodm9p ZCkKK3sKKwljb25maWd1cmVfbW9kdWxlX3Bpbl9tdXgoaTJjMV9waW5fbXV4KTsKK30KKwordm9p ZCBlbmFibGVfaTJjMl9waW5fbXV4KHZvaWQpCit7CisJY29uZmlndXJlX21vZHVsZV9waW5fbXV4 KGkyYzJfcGluX211eCk7Cit9CisKK3ZvaWQgZW5hYmxlX3VhcnQwX3Bpbl9tdXgodm9pZCkKK3sK Kwljb25maWd1cmVfbW9kdWxlX3Bpbl9tdXgodWFydDBfcGluX211eCk7Cit9CmRpZmYgLS1naXQg YS9hcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4eC1jbG9jay5oIGIvYXJjaC9h cm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9hbTMzeHgtY2xvY2suaAppbmRleCA2NTRjMTA0Li5m OWJmZDM2IDEwMDY0NAotLS0gYS9hcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4 eC1jbG9jay5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvYW0zM3h4LWNs b2NrLmgKQEAgLTE5LDcgKzE5LDE3OSBAQAogI2lmbmRlZiBfQU0zM1hYX0NMT0NLU19IXwogI2Rl ZmluZSBfQU0zM1hYX0NMT0NLU19IXwogCisjaW5jbHVkZSAiYW0zM3h4LXNpbGljb24uaCIKKwog LyoqIFBSTSBDbG9jayBSZWdzICovCiAjZGVmaW5lIFBSTV9SU1RDVFJMCQkweDBmMDAKIAorLyog UHV0IHRoZSBwbGwgY29uZmlnIHZhbHVlcyBvdmVyIGhlcmUgKi8KKworI2RlZmluZSBPU0MJMjQK KworLyogTUFJTiBQTEwgRmRsbCA9IDEgR0haLCAqLworI2RlZmluZSBNUFVQTExfTV81MDAJNTAw CS8qIDEyNSAqIG4gKi8KKyNkZWZpbmUgTVBVUExMX01fNTUwCTU1MAkvKiAxMjUgKiBuICovCisj ZGVmaW5lIE1QVVBMTF9NXzYwMAk2MDAJLyogMTI1ICogbiAqLworI2RlZmluZSBNUFVQTExfTV83 MjAJNzIwCS8qIDEyNSAqIG4gKi8KKworI2RlZmluZSBNUFVQTExfTgkyMwkvKiAobiAtMSApICov CisjZGVmaW5lIE1QVVBMTF9NMgkxCisKKy8qIENvcmUgUExMIEZkbGwgPSAxIEdIWiwgKi8KKyNk ZWZpbmUgQ09SRVBMTF9NCTEwMDAJLyogMTI1ICogbiAqLworI2RlZmluZSBDT1JFUExMX04JMjMJ LyogKG4gLTEgKSAqLworCisjZGVmaW5lIENPUkVQTExfTTQJMTAJLyogQ09SRV9DTEtPVVRNNCA9 IDIwMCBNSFogKi8KKyNkZWZpbmUgQ09SRVBMTF9NNQk4CS8qIENPUkVfQ0xLT1VUTTUgPSAyNTAg TUhaICovCisjZGVmaW5lIENPUkVQTExfTTYJNAkvKiBDT1JFX0NMS09VVE02ID0gNTAwIE1IWiAq LworCisvKgorICogVVNCIFBIWSBjbG9jayBpcyA5NjAgTUhaLiBTaW5jZSwgdGhpcyBjb21lcyBk aXJlY3RseSBmcm9tIEZkbGwsIEZkbGwKKyAqIGZyZXF1ZW5jeSBuZWVkcyB0byBiZSBzZXQgdG8g OTYwIE1IWi4gSGVuY2UsCisgKiBGb3IgY2xrb3V0ID0gMTkyIE1IWiwgRmRsbCA9IDk2MCBNSFos IGRpdmlkZXIgdmFsdWVzIGFyZSBnaXZlbiBiZWxvdworICovCisjZGVmaW5lIFBFUlBMTF9NCTk2 MAorI2RlZmluZSBQRVJQTExfTgkyMworI2RlZmluZSBQRVJQTExfTTIJNQorCisvKiBERFIgRnJl cSBpcyAxNjYgTUhaIGZvciBub3cqLworLyogU2V0IEZkbGwgPSA0MDAgTUhaICwgRmRsbCA9IE0g KiAyICogQ0xLSU5QLyBOICsgMTsgY2xrb3V0ID0gRmRsbCAvKDIgKiBNMikgKi8KKy8vI2lmCShD T05GSUdfQU0zMzVYX0VWTV9JU18xM3gxMyA9PSAxKQorI2lmIDAKKyNkZWZpbmUgRERSUExMX00J MTY2CS8qIE0vTiArIDEgPSAyNS8zICovCisjZWxzZQorI2RlZmluZSBERFJQTExfTQkyNjYKKyNl bmRpZgorCisjZGVmaW5lIEREUlBMTF9OCTIzCisjZGVmaW5lIEREUlBMTF9NMgkxCisKKy8qIFBS Q00gKi8KKy8qIE1vZHVsZSBPZmZzZXRzICovCisjZGVmaW5lIENNX1BFUiAgICAgICAgICAgICAg ICAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDApCisjZGVmaW5lIENNX1dLVVAgICAgICAg ICAgICAgICAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDQwMCkKKyNkZWZpbmUgQ01fRFBM TCAgICAgICAgICAgICAgICAgICAgICAgICAoT01BUF9QUk1fQkFTRSArIDB4NTAwKQorI2RlZmlu ZSBDTV9ERVZJQ0UgICAgICAgICAgICAgICAgICAgICAgIChPTUFQX1BSTV9CQVNFICsgMHgwNzAw KQorI2RlZmluZSBDTV9DRUZVU0UgICAgICAgICAgICAgICAgICAgICAgIChPTUFQX1BSTV9CQVNF ICsgMHgwQTAwKQorI2RlZmluZSBQUk1fREVWSUNFICAgICAgICAgICAgICAgICAgICAgIChPTUFQ X1BSTV9CQVNFICsgMHgwRjAwKQorLyogUmVnaXN0ZXIgT2Zmc2V0cyAqLworLyogQ29yZSBQTEwg QURQTExTICovCisjZGVmaW5lIENNX0NMS1NFTF9EUExMX0NPUkUgICAgICAgICAgICAgKENNX1dL VVAgKyAweDY4KQorI2RlZmluZSBDTV9DTEtNT0RFX0RQTExfQ09SRSAgICAgICAgICAgIChDTV9X S1VQICsgMHg5MCkKKworLyogQ29yZSBIU0RJViAqLworI2RlZmluZSBDTV9ESVZfTTRfRFBMTF9D T1JFICAgICAgICAgICAgIChDTV9XS1VQICsgMHg4MCkKKyNkZWZpbmUgQ01fRElWX001X0RQTExf Q09SRSAgICAgICAgICAgICAoQ01fV0tVUCArIDB4ODQpCisjZGVmaW5lIENNX0RJVl9NNl9EUExM X0NPUkUgICAgICAgICAgICAgKENNX1dLVVAgKyAweEQ4KQorI2RlZmluZSBDTV9JRExFU1RfRFBM TF9DT1JFICAgICAgICAgICAgIChDTV9XS1VQICsgMHg1YykKKworLyogUGVyaXBoZXJhbCBQTEwg Ki8KKyNkZWZpbmUgQ01fQ0xLU0VMX0RQTExfUEVSICAgICAgICAgICAgICAoQ01fV0tVUCArIDB4 OWMpCisjZGVmaW5lIENNX0NMS01PREVfRFBMTF9QRVIgICAgICAgICAgICAgKENNX1dLVVAgKyAw eDhjKQorI2RlZmluZSBDTV9ESVZfTTJfRFBMTF9QRVIgICAgICAgICAgICAgIChDTV9XS1VQICsg MHhBQykKKyNkZWZpbmUgQ01fSURMRVNUX0RQTExfUEVSICAgICAgICAgICAgICAoQ01fV0tVUCAr IDB4NzApCisKKy8qIERpc3BsYXkgUExMICovCisjZGVmaW5lIENNX0NMS1NFTF9EUExMX0RJU1Ag ICAgICAgICAgICAgKENNX1dLVVAgKyAweDU0KQorI2RlZmluZSBDTV9DTEtNT0RFX0RQTExfRElT UCAgICAgICAgICAgIChDTV9XS1VQICsgMHg5OCkKKyNkZWZpbmUgQ01fRElWX00yX0RQTExfRElT UCAgICAgICAgICAgICAoQ01fV0tVUCArIDB4QTQpCisKKy8qIEREUiBQTEwgKi8KKyNkZWZpbmUg Q01fQ0xLU0VMX0RQTExfRERSICAgICAgICAgICAgICAoQ01fV0tVUCArIDB4NDApCisjZGVmaW5l IENNX0NMS01PREVfRFBMTF9ERFIgICAgICAgICAgICAgKENNX1dLVVAgKyAweDk0KQorI2RlZmlu ZSBDTV9ESVZfTTJfRFBMTF9ERFIgICAgICAgICAgICAgIChDTV9XS1VQICsgMHhBMCkKKyNkZWZp bmUgQ01fSURMRVNUX0RQTExfRERSICAgICAgICAgICAgICAoQ01fV0tVUCArIDB4MzQpCisKKy8q IE1QVSBQTEwgKi8KKyNkZWZpbmUgQ01fQ0xLU0VMX0RQTExfTVBVICAgICAgICAgICAgICAoQ01f V0tVUCArIDB4MmMpCisjZGVmaW5lIENNX0NMS01PREVfRFBMTF9NUFUgICAgICAgICAgICAgKENN X1dLVVAgKyAweDg4KQorI2RlZmluZSBDTV9ESVZfTTJfRFBMTF9NUFUgICAgICAgICAgICAgIChD TV9XS1VQICsgMHhBOCkKKyNkZWZpbmUgQ01fSURMRVNUX0RQTExfTVBVICAgICAgICAgICAgICAo Q01fV0tVUCArIDB4MjApCisKKy8qIFRJTUVSIENsb2NrIFNvdXJjZSBTZWxlY3QgKi8KKyNkZWZp bmUgQ0xLU0VMX1RJTUVSMl9DTEsgICAgICAgICAgICAgICAoQ01fRFBMTCArIDB4OCkKKworLyog SW50ZXJjb25uZWN0IGNsb2NrcyAqLworI2RlZmluZSBDTV9QRVJfTDRMU19DTEtDVFJMICAgICAg ICAgICAgIChDTV9QRVIgKyAweDYwKSAvKiBFTUlGICovCisjZGVmaW5lIENNX1BFUl9MNEZXX0NM S0NUUkwgICAgICAgICAgICAgKENNX1BFUiArIDB4NjQpIC8qIEVNSUYgRlcgKi8KKyNkZWZpbmUg Q01fUEVSX0wzX0NMS0NUUkwgICAgICAgICAgICAgICAoQ01fUEVSICsgMHhFMCkgLyogT0NNQyBS QU0gKi8KKyNkZWZpbmUgQ01fUEVSX0wzX0lOU1RSX0NMS0NUUkwgICAgICAgICAoQ01fUEVSICsg MHhEQykKKyNkZWZpbmUgQ01fUEVSX0w0SFNfQ0xLQ1RSTCAgICAgICAgICAgICAoQ01fUEVSICsg MHgxMjApCisjZGVmaW5lIENNX1dLVVBfTDRXS1VQX0NMS0NUUkwgICAgICAgICAgKENNX1dLVVAg KyAweDBjKS8qIFVBUlQwICovCisKKy8qIERvbWFpbiBXYWtlIFVQICovCisjZGVmaW5lIENNX1dL VVBfQ0xLU1RDVFJMICAgICAgICAgICAgICAgKENNX1dLVVAgKyAwKSAgIC8qIFVBUlQwICovCisj ZGVmaW5lIENNX1BFUl9MNExTX0NMS1NUQ1RSTCAgICAgICAgICAgKENNX1BFUiArIDB4MCkgIC8q IFRJTUVSMiAqLworI2RlZmluZSBDTV9QRVJfTDNfQ0xLU1RDVFJMICAgICAgICAgICAgIChDTV9Q RVIgKyAweDBjKSAvKiBFTUlGICovCisjZGVmaW5lIENNX1BFUl9MNEZXX0NMS1NUQ1RSTCAgICAg ICAgICAgKENNX1BFUiArIDB4MDgpIC8qIEVNSUYgRlcgKi8KKyNkZWZpbmUgQ01fUEVSX0wzU19D TEtTVENUUkwgICAgICAgICAgICAoQ01fUEVSICsgMHg0KQorI2RlZmluZSBDTV9QRVJfTDRIU19D TEtTVENUUkwgICAgICAgICAgIChDTV9QRVIgKyAweDAxMWMpCisjZGVmaW5lIENNX0NFRlVTRV9D TEtTVENUUkwgICAgICAgICAgICAgKENNX0NFRlVTRSArIDB4MCkKKworLyogTW9kdWxlIEVuYWJs ZSBSZWdpc3RlcnMgKi8KKyNkZWZpbmUgQ01fUEVSX1RJTUVSMl9DTEtDVFJMICAgICAgICAgICAo Q01fUEVSICsgMHg4MCkgLyogVGltZXIyICovCisjZGVmaW5lIENNX1dLVVBfVUFSVDBfQ0xLQ1RS TCAgICAgICAgICAgKENNX1dLVVAgKyAweEI0KS8qIFVBUlQwICovCisjZGVmaW5lIENNX1dLVVBf Q09OVFJPTF9DTEtDVFJMICAgICAgICAgKENNX1dLVVAgKyAweDQpIC8qIENvbnRyb2wgTW9kdWxl ICovCisjZGVmaW5lIENNX1BFUl9FTUlGX0NMS0NUUkwgICAgICAgICAgICAgKENNX1BFUiArIDB4 MjgpIC8qIEVNSUYgKi8KKyNkZWZpbmUgQ01fUEVSX0VNSUZfRldfQ0xLQ1RSTCAgICAgICAgICAo Q01fUEVSICsgMHhEMCkgLyogRU1JRiBGVyAqLworI2RlZmluZSBDTV9QRVJfR1BNQ19DTEtDVFJM ICAgICAgICAgICAgIChDTV9QRVIgKyAweDMwKSAvKiBHUE1DICovCisjZGVmaW5lIENNX1BFUl9F TE1fQ0xLQ1RSTCAgICAgICAgICAgICAgKENNX1BFUiArIDB4NDApIC8qIEVMTSAqLworI2RlZmlu ZSBDTV9QRVJfU1BJMF9DTEtDVFJMICAgICAgICAgICAgIChDTV9QRVIgKyAweDRjKSAvKiBTUEkw ICovCisjZGVmaW5lIENNX1BFUl9TUEkxX0NMS0NUUkwgICAgICAgICAgICAgKENNX1BFUiArIDB4 NTApIC8qIFNQSTEgKi8KKyNkZWZpbmUgQ01fV0tVUF9JMkMwX0NMS0NUUkwgICAgICAgICAgICAo Q01fV0tVUCArIDB4QjgpIC8qIEkyQzAgKi8KKyNkZWZpbmUgQ01fUEVSX0NQR01BQzBfQ0xLQ1RS TCAgICAgICAgICAoQ01fUEVSICsgMHgxNCkgLyogRXRoZXJuZXQgKi8KKyNkZWZpbmUgQ01fUEVS X0NQU1dfQ0xLU1RDVFJMICAgICAgICAgICAoQ01fUEVSICsgMHgxNDQpLyogRXRoZXJuZXQgKi8K KyNkZWZpbmUgQ01fUEVSX09DTUNSQU1fQ0xLQ1RSTCAgICAgICAgICAoQ01fUEVSICsgMHgyQykg LyogT0NNQyBSQU0gKi8KKyNkZWZpbmUgQ01fUEVSX0dQSU8yX0NMS0NUUkwgICAgICAgICAgICAo Q01fUEVSICsgMHhCMCkgLyogR1BJTzIgKi8KKyNkZWZpbmUgQ01fUEVSX1VBUlQzX0NMS0NUUkwg ICAgICAgICAgICAoQ01fUEVSICsgMHg3NCkgLyogVUFSVDMgKi8KKyNkZWZpbmUgQ01fUEVSX0ky QzFfQ0xLQ1RSTCAgICAgICAgICAgICAoQ01fUEVSICsgMHg0OCkgLyogSTJDMSAqLworI2RlZmlu ZSBDTV9QRVJfSTJDMl9DTEtDVFJMICAgICAgICAgICAgIChDTV9QRVIgKyAweDQ0KSAvKiBJMkMy ICovCisjZGVmaW5lIENNX1dLVVBfR1BJTzBfQ0xLQ1RSTCAgICAgICAgICAgKENNX1dLVVAgKyAw eDgpIC8qIEdQSU8wICovCisKKyNkZWZpbmUgQ01fUEVSX01NQzBfQ0xLQ1RSTCAgICAgICAgICAg ICAoQ01fUEVSICsgMHgzQykKKyNkZWZpbmUgQ01fUEVSX01NQzFfQ0xLQ1RSTCAgICAgICAgICAg ICAoQ01fUEVSICsgMHhGNCkKKyNkZWZpbmUgQ01fUEVSX01NQzJfQ0xLQ1RSTCAgICAgICAgICAg ICAoQ01fUEVSICsgMHhGOCkKKworLyogUFJDTSAqLworI2RlZmluZSBDTV9EUExMX09GRlNFVCAg ICAgICAgICAgICAgICAgIChPTUFQX1BSTV9CQVNFICsgMHgwMzAwKQorCisjZGVmaW5lIENNX0FM V09OX1dEVElNRVJfQ0xLQ1RSTCAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE1OEMpCisjZGVm aW5lIENNX0FMV09OX1NQSV9DTEtDVFJMICAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE1 OTApCisjZGVmaW5lIENNX0FMV09OX0NPTlRST0xfQ0xLQ1RSTCAgICAgICAgKE9NQVBfUFJNX0JB U0UgKyAweDE1QzQpCisKKyNkZWZpbmUgQ01fQUxXT05fTDNfU0xPV19DTEtTVENUUkwgICAgICAo T01BUF9QUk1fQkFTRSArIDB4MTQwMCkKKworI2RlZmluZSBDTV9BTFdPTl9HUElPXzBfQ0xLQ1RS TCAgICAgICAgIChPTUFQX1BSTV9CQVNFICsgMHgxNTVjKQorI2RlZmluZSBDTV9BTFdPTl9HUElP XzBfT1BURkNMS0VOX0RCQ0xLIChPTUFQX1BSTV9CQVNFICsgMHgxNTVjKQorCisvKiBFdGhlcm5l dCAqLworI2RlZmluZSBDTV9FVEhFUk5FVF9DTEtTVENUUkwgICAgICAgICAgIChPTUFQX1BSTV9C QVNFICsgMHgxNDA0KQorI2RlZmluZSBDTV9BTFdPTl9FVEhFUk5FVF8wX0NMS0NUUkwgICAgIChP TUFQX1BSTV9CQVNFICsgMHgxNUQ0KQorI2RlZmluZSBDTV9BTFdPTl9FVEhFUk5FVF8xX0NMS0NU UkwgICAgIChPTUFQX1BSTV9CQVNFICsgMHgxNUQ4KQorCisvKiBVQVJUcyAqLworI2RlZmluZSBD TV9BTFdPTl9VQVJUXzBfQ0xLQ1RSTCAgICAgICAgIChPTUFQX1BSTV9CQVNFICsgMHgxNTUwKQor I2RlZmluZSBDTV9BTFdPTl9VQVJUXzFfQ0xLQ1RSTCAgICAgICAgIChPTUFQX1BSTV9CQVNFICsg MHgxNTU0KQorI2RlZmluZSBDTV9BTFdPTl9VQVJUXzJfQ0xLQ1RSTCAgICAgICAgIChPTUFQX1BS TV9CQVNFICsgMHgxNTU4KQorCisvKiBJMkMgKi8KKy8qIE5vdGU6IEluIHRpODE0eCBJMkMwIGFu ZCBJMkMyIGhhdmUgY29tbW9uIGNsayBjb250cm9sICovCisjZGVmaW5lIENNX0FMV09OX0kyQ18w X0NMS0NUUkwgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE1NjQpCisKKy8qIEVNSUY0IFBS Q00gRGVmaW50aW9uICovCisjZGVmaW5lIENNX0RFRkFVTFRfTDNfRkFTVF9DTEtTVENUUkwgICAg KE9NQVBfUFJNX0JBU0UgKyAweDA1MDgpCisjZGVmaW5lIENNX0RFRkFVTFRfRU1JRl8wX0NMS0NU UkwgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDA1MjApCisjZGVmaW5lIENNX0RFRkFVTFRfRU1J Rl8xX0NMS0NUUkwgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDA1MjQpCisjZGVmaW5lIENNX0RF RkFVTFRfRE1NX0NMS0NUUkwgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDA1MjgpCisjZGVm aW5lIENNX0RFRkFVTFRfRldfQ0xLQ1RSTCAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDA1 MkMpCisKKy8qIEFMV09OIFBSQ00gKi8KKyNkZWZpbmUgQ01fQUxXT05fT0NNQ18wX0NMS1NUQ1RS TCAgICAgICBDTV9QRVJfTDNfQ0xLU1RDVFJMCisjZGVmaW5lIENNX0FMV09OX09DTUNfMF9DTEtD VFJMICAgICAgICAgQ01fUEVSX09DTUNSQU1fQ0xLQ1RSTAorCisjZGVmaW5lIENNX0FMV09OX0dQ TUNfQ0xLQ1RSTCAgICAgICAgICAgQ01fUEVSX0dQTUNfQ0xLQ1RSTAorCitleHRlcm4gdm9pZCBw bGxfaW5pdCh2b2lkKTsKK2V4dGVybiB2b2lkIGVuYWJsZV9kZHJfY2xvY2tzKHZvaWQpOworCiAj ZW5kaWYgIC8qIGVuZGlmIF9BTTMzWFhfQ0xPQ0tTX0hfICovCmRpZmYgLS1naXQgYS9hcmNoL2Fy bS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4eC1tdXguaCBiL2FyY2gvYXJtL21hY2gtb21h cC9pbmNsdWRlL21hY2gvYW0zM3h4LW11eC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw MDAwMDAuLmVkMzI4ZjUKLS0tIC9kZXYvbnVsbAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAvaW5j bHVkZS9tYWNoL2FtMzN4eC1tdXguaApAQCAtMCwwICsxLDIyIEBACisvKgorICogQ29weXJpZ2h0 IChDKSAyMDExIFRleGFzIEluc3RydW1lbnRzIEluY29ycG9yYXRlZCAtIGh0dHA6Ly93d3cudGku Y29tLworICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlz dHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdO VSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCisgKiBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m dHdhcmUgRm91bmRhdGlvbiB2ZXJzaW9uIDIuCisgKgorICogVGhpcyBwcm9ncmFtIGlzIGRpc3Ry aWJ1dGVkICJhcyBpcyIgV0lUSE9VVCBBTlkgV0FSUkFOVFkgb2YgYW55CisgKiBraW5kLCB3aGV0 aGVyIGV4cHJlc3Mgb3IgaW1wbGllZDsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5 CisgKiBvZiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP U0UuIFNlZSB0aGUKKyAqIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp bHMuCisgKi8KKyNpZm5kZWYgX19BTTMzWFhfTVVYX0hfXworI2RlZmluZSBfX0FNMzNYWF9NVVhf SF9fCisKK2V4dGVybiB2b2lkIGVuYWJsZV9taWkxX3Bpbl9tdXgodm9pZCk7CitleHRlcm4gdm9p ZCBlbmFibGVfaTJjMF9waW5fbXV4KHZvaWQpOworZXh0ZXJuIHZvaWQgZW5hYmxlX2kyYzFfcGlu X211eCh2b2lkKTsKK2V4dGVybiB2b2lkIGVuYWJsZV9pMmMyX3Bpbl9tdXgodm9pZCk7CitleHRl cm4gdm9pZCBlbmFibGVfdWFydDBfcGluX211eCh2b2lkKTsKKworI2VuZGlmIC8qX19BTTMzWFhf TVVYX0hfXyAqLwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9h bTMzeHgtc2lsaWNvbi5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9hbTMzeHgt c2lsaWNvbi5oCmluZGV4IDdiMTM5OTEuLmVmODc5N2YgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21h Y2gtb21hcC9pbmNsdWRlL21hY2gvYW0zM3h4LXNpbGljb24uaAorKysgYi9hcmNoL2FybS9tYWNo LW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4eC1zaWxpY29uLmgKQEAgLTI3LDcgKzI3LDYgQEAKICNk ZWZpbmUgQU0zM1hYX1VBUlQxX0JBU0UJCShBTTMzWFhfTDRfUEVSX0JBU0UgKyAweDIyMDAwKQog I2RlZmluZSBBTTMzWFhfVUFSVDJfQkFTRQkJKEFNMzNYWF9MNF9QRVJfQkFTRSArIDB4MjQwMDAp CiAKLQogLyogRU1GSSBSZWdpc3RlcnMgKi8KICNkZWZpbmUgQU0zM1hYX0VNRkkwX0JBU0UJCTB4 NEMwMDAwMDAKIApAQCAtNDgsNCArNDcsMTU3IEBACiAKICNkZWZpbmUgUFJNX1JTVENUUkxfUkVT RVQJCTB4MQogCisvKiBDVFJMICovCisjZGVmaW5lIEFNMzNYWF9DVFJMX0JBU0UJCShBTTMzWFhf TDRfV0tVUF9CQVNFICsgMHgyMTAwMDApCisjZGVmaW5lIE9NQVBfQ1RSTF9CQVNFCQkJKEFNMzNY WF9DVFJMX0JBU0UpCisKKy8qIFdhdGNoZG9nIFRpbWVyICovCisjZGVmaW5lIFdEVF9CQVNFICAg ICAgICAgICAgICAgICAgICAgICAgMHg0NEUzNTAwMAorCisvKiBFTUlGIEJhc2UgYWRkcmVzcyAq LworI2RlZmluZSBFTUlGNF8wX0NGR19CQVNFICAgICAgICAgICAgICAgIDB4NEMwMDAwMDAKKyNk ZWZpbmUgRU1JRjRfMV9DRkdfQkFTRSAgICAgICAgICAgICAgICAweDREMDAwMDAwCisjZGVmaW5l IERNTV9CQVNFICAgICAgICAgICAgICAgICAgICAgICAgMHg0RTAwMDAwMAorCisjZGVmaW5lIEFN MzM1WF9DUFNXX0JBU0UJCTB4NEExMDAwMDAKKyNkZWZpbmUgQU0zMzVYX0NQU1dfTURJT19CQVNF CQkweDRBMTAxMDAwCisKKy8qRE1NICYgRU1JRjQgTU1SIERlY2xhcmF0aW9uKi8KKyNkZWZpbmUg RE1NX0xJU0FfTUFQX18wCQkJKERNTV9CQVNFICsgMHg0MCkKKyNkZWZpbmUgRE1NX0xJU0FfTUFQ X18xCQkJKERNTV9CQVNFICsgMHg0NCkKKyNkZWZpbmUgRE1NX0xJU0FfTUFQX18yCQkJKERNTV9C QVNFICsgMHg0OCkKKyNkZWZpbmUgRE1NX0xJU0FfTUFQX18zCQkJKERNTV9CQVNFICsgMHg0QykK KyNkZWZpbmUgRE1NX1BBVF9CQVNFX0FERFIJCShETU1fQkFTRSArIDB4NDYwKQorCisjZGVmaW5l IEVNSUZfTU9EX0lEX1JFVgkJCShFTUlGNF8wX0NGR19CQVNFICsgMHgwKQorI2RlZmluZSBFTUlG NF8wX1NEUkFNX1NUQVRVUyAgICAgICAgICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHgwNCkKKyNk ZWZpbmUgRU1JRjRfMF9TRFJBTV9DT05GSUcgICAgICAgICAgICAoRU1JRjRfMF9DRkdfQkFTRSAr IDB4MDgpCisjZGVmaW5lIEVNSUY0XzBfU0RSQU1fQ09ORklHMiAgICAgICAgICAgKEVNSUY0XzBf Q0ZHX0JBU0UgKyAweDBDKQorI2RlZmluZSBFTUlGNF8wX1NEUkFNX1JFRl9DVFJMICAgICAgICAg IChFTUlGNF8wX0NGR19CQVNFICsgMHgxMCkKKyNkZWZpbmUgRU1JRjRfMF9TRFJBTV9SRUZfQ1RS TF9TSEFET1cgICAoRU1JRjRfMF9DRkdfQkFTRSArIDB4MTQpCisjZGVmaW5lIEVNSUY0XzBfU0RS QU1fVElNXzEgICAgICAgICAgICAgKEVNSUY0XzBfQ0ZHX0JBU0UgKyAweDE4KQorI2RlZmluZSBF TUlGNF8wX1NEUkFNX1RJTV8xX1NIQURPVyAgICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHgxQykK KyNkZWZpbmUgRU1JRjRfMF9TRFJBTV9USU1fMiAgICAgICAgICAgICAoRU1JRjRfMF9DRkdfQkFT RSArIDB4MjApCisjZGVmaW5lIEVNSUY0XzBfU0RSQU1fVElNXzJfU0hBRE9XICAgICAgKEVNSUY0 XzBfQ0ZHX0JBU0UgKyAweDI0KQorI2RlZmluZSBFTUlGNF8wX1NEUkFNX1RJTV8zICAgICAgICAg ICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHgyOCkKKyNkZWZpbmUgRU1JRjRfMF9TRFJBTV9USU1f M19TSEFET1cgICAgICAoRU1JRjRfMF9DRkdfQkFTRSArIDB4MkMpCisjZGVmaW5lIEVNSUYwXzBf U0RSQU1fTUdNVF9DVFJMICAgICAgICAgKEVNSUY0XzBfQ0ZHX0JBU0UgKyAweDM4KQorI2RlZmlu ZSBFTUlGMF8wX1NEUkFNX01HTVRfQ1RSTF9TSEQgICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHgz QykKKyNkZWZpbmUgRU1JRjRfMF9ERFJfUEhZX0NUUkxfMSAgICAgICAgICAoRU1JRjRfMF9DRkdf QkFTRSArIDB4RTQpCisjZGVmaW5lIEVNSUY0XzBfRERSX1BIWV9DVFJMXzFfU0hBRE9XICAgKEVN SUY0XzBfQ0ZHX0JBU0UgKyAweEU4KQorI2RlZmluZSBFTUlGNF8wX0REUl9QSFlfQ1RSTF8yICAg ICAgICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHhFQykKKyNkZWZpbmUgRU1JRjRfMF9JT0RGVF9U TEdDICAgICAgICAgICAgICAoRU1JRjRfMF9DRkdfQkFTRSArIDB4NjApCisKKyNkZWZpbmUgRU1J RjRfMV9TRFJBTV9DT05GSUcJCShFTUlGNF8xX0NGR19CQVNFICsgMHgwOCkKKyNkZWZpbmUgRU1J RjRfMV9TRFJBTV9DT05GSUcyCQkoRU1JRjRfMV9DRkdfQkFTRSArIDB4MEMpCisjZGVmaW5lIEVN SUY0XzFfU0RSQU1fUkVGX0NUUkwJCShFTUlGNF8xX0NGR19CQVNFICsgMHgxMCkKKyNkZWZpbmUg RU1JRjRfMV9TRFJBTV9SRUZfQ1RSTF9TSEFET1cJKEVNSUY0XzFfQ0ZHX0JBU0UgKyAweDE0KQor I2RlZmluZSBFTUlGNF8xX1NEUkFNX1RJTV8xCQkoRU1JRjRfMV9DRkdfQkFTRSArIDB4MTgpCisj ZGVmaW5lIEVNSUY0XzFfU0RSQU1fVElNXzFfU0hBRE9XCShFTUlGNF8xX0NGR19CQVNFICsgMHgx QykKKyNkZWZpbmUgRU1JRjRfMV9TRFJBTV9USU1fMgkJKEVNSUY0XzFfQ0ZHX0JBU0UgKyAweDIw KQorI2RlZmluZSBFTUlGNF8xX1NEUkFNX1RJTV8yX1NIQURPVwkoRU1JRjRfMV9DRkdfQkFTRSAr IDB4MjQpCisjZGVmaW5lIEVNSUY0XzFfU0RSQU1fVElNXzMJCShFTUlGNF8xX0NGR19CQVNFICsg MHgyOCkKKyNkZWZpbmUgRU1JRjRfMV9TRFJBTV9USU1fM19TSEFET1cJKEVNSUY0XzFfQ0ZHX0JB U0UgKyAweDJDKQorI2RlZmluZSBFTUlGNF8xX0REUl9QSFlfQ1RSTF8xCQkoRU1JRjRfMV9DRkdf QkFTRSArIDB4RTQpCisjZGVmaW5lIEVNSUY0XzFfRERSX1BIWV9DVFJMXzFfU0hBRE9XCShFTUlG NF8xX0NGR19CQVNFICsgMHhFOCkKKyNkZWZpbmUgRU1JRjRfMV9JT0RGVF9UTEdDCQkoRU1JRjRf MV9DRkdfQkFTRSArIDB4NjApCisKKyNkZWZpbmUgVlRQMF9DVFJMX1JFRwkJCTB4NDRFMTBFMEMK KyNkZWZpbmUgVlRQMV9DVFJMX1JFRwkJCTB4NDgxNDBFMTAKKworLyogT0NNQyAqLworI2RlZmlu ZSBTUkFNMF9TSVpFCQkJKDB4MUI0MDApIC8qIDEwOSBLQiAqLworI2RlZmluZSBTUkFNX0dQTUNf U1RBQ0tfU0laRQkJKDB4NDApCisKKyNkZWZpbmUgTE9XX0xFVkVMX1NSQU1fU1RBQ0sJCShTUkFN MF9TVEFSVCArIFNSQU0wX1NJWkUgLSA0KQorCisvKiBHUE1DIHJlbGF0ZWQgKi8KKyNkZWZpbmUg R1BNQ19DT05GSUdfQ1MwCQkJKDB4NjApCisjZGVmaW5lIEdQTUNfQ09ORklHX0NTMF9CQVNFCQko R1BNQ19CQVNFICsgR1BNQ19DT05GSUdfQ1MwKQorI2RlZmluZSBHUE1DX0NPTkZJRzEJCQkoMHgw MCkKKyNkZWZpbmUgR1BNQ19DT05GSUcyCQkJKDB4MDQpCisjZGVmaW5lIEdQTUNfQ09ORklHMwkJ CSgweDA4KQorI2RlZmluZSBHUE1DX0NPTkZJRzQJCQkoMHgwQykKKyNkZWZpbmUgR1BNQ19DT05G SUc1CQkJKDB4MTApCisjZGVmaW5lIEdQTUNfQ09ORklHNgkJCSgweDE0KQorI2RlZmluZSBHUE1D X0NPTkZJRzcJCQkoMHgxOCkKKworLyogRERSIG9mZnNldHMgKi8KKyNkZWZpbmUJRERSX1BIWV9C QVNFX0FERFIJCTB4NDRFMTIwMDAKKyNkZWZpbmUJRERSX0lPX0NUUkwJCQkweDQ0RTEwRTA0Cisj ZGVmaW5lCUREUl9DS0VfQ1RSTAkJCTB4NDRFMTEzMUMKKyNkZWZpbmUJQ09OVFJPTF9CQVNFX0FE RFIJCTB4NDRFMTAwMDAKKworI2RlZmluZQlERFJfQ01EMF9JT0NUUkwJCQkoQ09OVFJPTF9CQVNF X0FERFIgKyAweDE0MDQpCisjZGVmaW5lCUREUl9DTUQxX0lPQ1RSTAkJCShDT05UUk9MX0JBU0Vf QUREUiArIDB4MTQwOCkKKyNkZWZpbmUJRERSX0NNRDJfSU9DVFJMCQkJKENPTlRST0xfQkFTRV9B RERSICsgMHgxNDBDKQorI2RlZmluZQlERFJfREFUQTBfSU9DVFJMCQkoQ09OVFJPTF9CQVNFX0FE RFIgKyAweDE0NDApCisjZGVmaW5lCUREUl9EQVRBMV9JT0NUUkwJCShDT05UUk9MX0JBU0VfQURE UiArIDB4MTQ0NCkKKworI2RlZmluZQlDTUQwX0NUUkxfU0xBVkVfUkFUSU9fMAkJKEREUl9QSFlf QkFTRV9BRERSICsgMHgwMUMpCisjZGVmaW5lCUNNRDBfQ1RSTF9TTEFWRV9GT1JDRV8wCQkoRERS X1BIWV9CQVNFX0FERFIgKyAweDAyMCkKKyNkZWZpbmUJQ01EMF9DVFJMX1NMQVZFX0RFTEFZXzAJ CShERFJfUEhZX0JBU0VfQUREUiArIDB4MDI0KQorI2RlZmluZQlDTUQwX0RMTF9MT0NLX0RJRkZf MAkJKEREUl9QSFlfQkFTRV9BRERSICsgMHgwMjgpCisjZGVmaW5lCUNNRDBfSU5WRVJUX0NMS09V VF8wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDAyQykKKworI2RlZmluZQlDTUQxX0NUUkxfU0xB VkVfUkFUSU9fMAkJKEREUl9QSFlfQkFTRV9BRERSICsgMHgwNTApCisjZGVmaW5lCUNNRDFfQ1RS TF9TTEFWRV9GT1JDRV8wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDA1NCkKKyNkZWZpbmUJQ01E MV9DVFJMX1NMQVZFX0RFTEFZXzAJCShERFJfUEhZX0JBU0VfQUREUiArIDB4MDU4KQorI2RlZmlu ZQlDTUQxX0RMTF9MT0NLX0RJRkZfMAkJKEREUl9QSFlfQkFTRV9BRERSICsgMHgwNUMpCisjZGVm aW5lCUNNRDFfSU5WRVJUX0NMS09VVF8wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDA2MCkKKwor I2RlZmluZQlDTUQyX0NUUkxfU0xBVkVfUkFUSU9fMAkJKEREUl9QSFlfQkFTRV9BRERSICsgMHgw ODQpCisjZGVmaW5lCUNNRDJfQ1RSTF9TTEFWRV9GT1JDRV8wCQkoRERSX1BIWV9CQVNFX0FERFIg KyAweDA4OCkKKyNkZWZpbmUJQ01EMl9DVFJMX1NMQVZFX0RFTEFZXzAJCShERFJfUEhZX0JBU0Vf QUREUiArIDB4MDhDKQorI2RlZmluZQlDTUQyX0RMTF9MT0NLX0RJRkZfMAkJKEREUl9QSFlfQkFT RV9BRERSICsgMHgwOTApCisjZGVmaW5lCUNNRDJfSU5WRVJUX0NMS09VVF8wCQkoRERSX1BIWV9C QVNFX0FERFIgKyAweDA5NCkKKworI2RlZmluZSBEQVRBMF9SRF9EUVNfU0xBVkVfUkFUSU9fMAko RERSX1BIWV9CQVNFX0FERFIgKyAweDBDOCkKKyNkZWZpbmUgREFUQTBfUkRfRFFTX1NMQVZFX1JB VElPXzEJKEREUl9QSFlfQkFTRV9BRERSICsgMHgwQ0MpCisjZGVmaW5lCURBVEEwX1dSX0RRU19T TEFWRV9SQVRJT18wCShERFJfUEhZX0JBU0VfQUREUiArIDB4MERDKQorCisjZGVmaW5lCURBVEEw X1dSX0RRU19TTEFWRV9SQVRJT18xCShERFJfUEhZX0JBU0VfQUREUiArIDB4MEUwKQorI2RlZmlu ZQlEQVRBMF9XUkxWTF9JTklUX1JBVElPXzAJKEREUl9QSFlfQkFTRV9BRERSICsgMHgwRjApCisK KyNkZWZpbmUJREFUQTBfV1JMVkxfSU5JVF9SQVRJT18xCShERFJfUEhZX0JBU0VfQUREUiArIDB4 MEY0KQorI2RlZmluZQlEQVRBMF9HQVRFTFZMX0lOSVRfUkFUSU9fMAkoRERSX1BIWV9CQVNFX0FE RFIgKyAweDBGQykKKworI2RlZmluZQlEQVRBMF9HQVRFTFZMX0lOSVRfUkFUSU9fMQkoRERSX1BI WV9CQVNFX0FERFIgKyAweDEwMCkKKyNkZWZpbmUJREFUQTBfRklGT19XRV9TTEFWRV9SQVRJT18w CShERFJfUEhZX0JBU0VfQUREUiArIDB4MTA4KQorCisjZGVmaW5lCURBVEEwX0ZJRk9fV0VfU0xB VkVfUkFUSU9fMQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDEwQykKKyNkZWZpbmUJREFUQTBfV1Jf REFUQV9TTEFWRV9SQVRJT18wCShERFJfUEhZX0JBU0VfQUREUiArIDB4MTIwKQorCisjZGVmaW5l CURBVEEwX1dSX0RBVEFfU0xBVkVfUkFUSU9fMQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDEyNCkK KyNkZWZpbmUgREFUQTBfRExMX0xPQ0tfRElGRl8wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDEz OCkKKworI2RlZmluZSBEQVRBMF9SQU5LMF9ERUxBWVNfMAkJKEREUl9QSFlfQkFTRV9BRERSICsg MHgxMzQpCisjZGVmaW5lCURBVEExX1JBTkswX0RFTEFZU18wCQkoRERSX1BIWV9CQVNFX0FERFIg KyAweDFEOCkKKworLyogRXRoZXJuZXQgTUFDIElEIGZyb20gRUZ1c2UgKi8KKyNkZWZpbmUgTUFD X0lEMF9MTwkoQU0zM1hYX0NUUkxfQkFTRSArIDB4NjMwKQorI2RlZmluZSBNQUNfSUQwX0hJCShB TTMzWFhfQ1RSTF9CQVNFICsgMHg2MzQpCisjZGVmaW5lIE1BQ19JRDFfTE8JKEFNMzNYWF9DVFJM X0JBU0UgKyAweDYzOCkKKyNkZWZpbmUgTUFDX0lEMV9ISQkoQU0zM1hYX0NUUkxfQkFTRSArIDB4 NjNjKQorI2RlZmluZSBNQUNfTUlJX1NFTAkoQU0zM1hYX0NUUkxfQkFTRSArIDB4NjUwKQorCisv KiBXRFQgcmVsYXRlZCAqLworI2RlZmluZSBXRFRfV0RTQwkoV0RUX0JBU0UgKyAweDAxMCkKKyNk ZWZpbmUgV0RUX1dEU1QJKFdEVF9CQVNFICsgMHgwMTQpCisjZGVmaW5lIFdEVF9XSVNSCShXRFRf QkFTRSArIDB4MDE4KQorI2RlZmluZSBXRFRfV0lFUgkoV0RUX0JBU0UgKyAweDAxQykKKyNkZWZp bmUgV0RUX1dXRVIJKFdEVF9CQVNFICsgMHgwMjApCisjZGVmaW5lIFdEVF9XQ0xSCShXRFRfQkFT RSArIDB4MDI0KQorI2RlZmluZSBXRFRfV0NSUgkoV0RUX0JBU0UgKyAweDAyOCkKKyNkZWZpbmUg V0RUX1dMRFIJKFdEVF9CQVNFICsgMHgwMkMpCisjZGVmaW5lIFdEVF9XVEdSCShXRFRfQkFTRSAr IDB4MDMwKQorI2RlZmluZSBXRFRfV1dQUwkoV0RUX0JBU0UgKyAweDAzNCkKKyNkZWZpbmUgV0RU X1dETFkJKFdEVF9CQVNFICsgMHgwNDQpCisjZGVmaW5lIFdEVF9XU1BSCShXRFRfQkFTRSArIDB4 MDQ4KQorI2RlZmluZSBXRFRfV0lSUUVPSQkoV0RUX0JBU0UgKyAweDA1MCkKKyNkZWZpbmUgV0RU X1dJUlFTVEFUUkFXCShXRFRfQkFTRSArIDB4MDU0KQorI2RlZmluZSBXRFRfV0lSUVNUQVQJKFdE VF9CQVNFICsgMHgwNTgpCisjZGVmaW5lIFdEVF9XSVJRRU5TRVQJKFdEVF9CQVNFICsgMHgwNUMp CisjZGVmaW5lIFdEVF9XSVJRRU5DTFIJKFdEVF9CQVNFICsgMHgwNjApCisKICNlbmRpZgpkaWZm IC0tZ2l0IGEvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC94bG9hZC5oIGIvYXJjaC9h cm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC94bG9hZC5oCmluZGV4IDQ0ZDM3NTQuLmQ2MzI3MzUg MTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gveGxvYWQuaAorKysg Yi9hcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL3hsb2FkLmgKQEAgLTksNiArOSw3IEBA IGVudW0gb21hcF9ib290X3NyYyB7CiAJT01BUF9CT09UU1JDX1VTQjEsCiB9OwogCitlbnVtIG9t YXBfYm9vdF9zcmMgYW0zM3h4X2Jvb3RzcmModm9pZCk7CiBlbnVtIG9tYXBfYm9vdF9zcmMgb21h cDNfYm9vdHNyYyh2b2lkKTsKIGVudW0gb21hcF9ib290X3NyYyBvbWFwNF9ib290c3JjKHZvaWQp OwogCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAveGxvYWQuYyBiL2FyY2gvYXJtL21h Y2gtb21hcC94bG9hZC5jCmluZGV4IDI0MGQzZmYuLjYwMzU3YWEgMTAwNjQ0Ci0tLSBhL2FyY2gv YXJtL21hY2gtb21hcC94bG9hZC5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC94bG9hZC5jCkBA IC0xNTksNyArMTU5LDkgQEAgc3RhdGljIHZvaWQgKm9tYXA0X3hsb2FkX2Jvb3RfdXNiKHZvaWQp ewogCiBlbnVtIG9tYXBfYm9vdF9zcmMgb21hcF9ib290c3JjKHZvaWQpCiB7Ci0jaWYgZGVmaW5l ZChDT05GSUdfQVJDSF9PTUFQMykKKyNpZiBkZWZpbmVkKENPTkZJR19BUkNIX0FNMzNYWCkKKwly ZXR1cm4gYW0zM3h4X2Jvb3RzcmMoKTsKKyNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01BUDMp CiAJcmV0dXJuIG9tYXAzX2Jvb3RzcmMoKTsKICNlbGlmIGRlZmluZWQoQ09ORklHX0FSQ0hfT01B UDQpCiAJcmV0dXJuIG9tYXA0X2Jvb3RzcmMoKTsKLS0gCjEuNy4xMC40CgoKX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KYmFyZWJveCBtYWlsaW5nIGxpc3QK YmFyZWJveEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vYmFyZWJveAo=