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 1TiRYk-0002FO-1P for barebox@lists.infradead.org; Tue, 11 Dec 2012 15:15:55 +0000 From: Jan Luebbe Date: Tue, 11 Dec 2012 16:15:33 +0100 Message-Id: <1355238933-9087-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=5D=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 bmVyaWMuYyAgICAgICAgICAgICAgICB8ICAgNzQgKysrCiBhcmNoL2FybS9tYWNoLW9tYXAvYW0z M3h4X211eC5jICAgICAgICAgICAgICAgICAgICB8ICA1MDIgKysrKysrKysrKysrKysrKysrKysK IGFyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvYW0zM3h4LWNsb2NrLmggICAgIHwgIDE3 MiArKysrKysrCiBhcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4eC1tdXguaCAg ICAgICB8ICAgMjIgKwogYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9hbTMzeHgtc2ls aWNvbi5oICAgfCAgMTU0ICsrKysrLQogYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC94 bG9hZC5oICAgICAgICAgICAgfCAgICAxICsKIGFyY2gvYXJtL21hY2gtb21hcC94bG9hZC5jICAg ICAgICAgICAgICAgICAgICAgICAgIHwgICAgNCArLQogMjEgZmlsZXMgY2hhbmdlZCwgMTk2OCBp bnNlcnRpb25zKCspLCA0IGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJt L2JvYXJkcy9iZWFnbGVib25lL01ha2VmaWxlCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0v Ym9hcmRzL2JlYWdsZWJvbmUvYm9hcmQuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGFyY2gvYXJtL2Jv YXJkcy9iZWFnbGVib25lL2NvbmZpZy5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vYm9h cmRzL2JlYWdsZWJvbmUvZW52L2Jvb3Qvc2QKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9i b2FyZHMvYmVhZ2xlYm9uZS9lbnYvY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0v Ym9hcmRzL2JlYWdsZWJvbmUvbWxvLWVudi9iaW4vYm9vdAogY3JlYXRlIG1vZGUgMTAwNjQ0IGFy Y2gvYXJtL2JvYXJkcy9iZWFnbGVib25lL21sby1lbnYvY29uZmlnCiBjcmVhdGUgbW9kZSAxMDA2 NDQgYXJjaC9hcm0vY29uZmlncy9hbTMzNXhfYmVhZ2xlYm9uZV9kZWZjb25maWcKIGNyZWF0ZSBt b2RlIDEwMDY0NCBhcmNoL2FybS9jb25maWdzL2FtMzM1eF9iZWFnbGVib25lX21sb19sYXJnZV9k ZWZjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9jb25maWdzL2FtMzM1eF9iZWFn bGVib25lX21sb19zbWFsbF9kZWZjb25maWcKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9t YWNoLW9tYXAvYW0zM3h4X2Nsb2NrLmMKIGNyZWF0ZSBtb2RlIDEwMDY0NCBhcmNoL2FybS9tYWNo LW9tYXAvYW0zM3h4X211eC5jCiBjcmVhdGUgbW9kZSAxMDA2NDQgYXJjaC9hcm0vbWFjaC1vbWFw L2luY2x1ZGUvbWFjaC9hbTMzeHgtbXV4LmgKCmRpZmYgLS1naXQgYS9hcmNoL2FybS9NYWtlZmls ZSBiL2FyY2gvYXJtL01ha2VmaWxlCmluZGV4IDhjZWY3NzEuLjBmZWIwMjUgMTAwNjQ0Ci0tLSBh L2FyY2gvYXJtL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL01ha2VmaWxlCkBAIC0xMDIsNiArMTAy 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 bWFjaC1vbWFwL0tjb25maWcKaW5kZXggNWNjZjdhZS4uZjhiOGYyYiAxMDA2NDQKLS0tIGEvYXJj aC9hcm0vbWFjaC1vbWFwL0tjb25maWcKKysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwL0tjb25maWcK QEAgLTEwNSw3ICsxMDUsOCBAQCBjb25maWcgT01BUDRfVVNCQk9PVAogY29uZmlnIEJPQVJESU5G TwogCWRlZmF1bHQgIkFyY2hvcyBHOSIgaWYgTUFDSF9BUkNIT1NHOQogCWRlZmF1bHQgIlRleGFz IEluc3RydW1lbnQncyBTRFAzNDN4IiBpZiBNQUNIX09NQVAzNDN4U0RQCi0JZGVmYXVsdCAiVGV4 YXMgSW5zdHJ1bWVudCdzIEJlYWdsZSIgaWYgTUFDSF9CRUFHTEUKKwlkZWZhdWx0ICJUZXhhcyBJ bnN0cnVtZW50J3MgQmVhZ2xlIEJvYXJkIiBpZiBNQUNIX0JFQUdMRQorCWRlZmF1bHQgIlRleGFz IEluc3RydW1lbnQncyBCZWFnbGUgQm9uZSIgaWYgTUFDSF9CRUFHTEVCT05FCiAJZGVmYXVsdCAi VGV4YXMgSW5zdHJ1bWVudCdzIE9NQVAzRVZNIiBpZiBNQUNIX09NQVAzRVZNCiAJZGVmYXVsdCAi VGV4YXMgSW5zdHJ1bWVudCdzIFBhbmRhIiBpZiBNQUNIX1BBTkRBCiAJZGVmYXVsdCAiUGh5dGVj IHBoeUNPUkUgcGNtMDQ5IiBpZiBNQUNIX1BDTTA0OQpAQCAtMTI5LDYgKzEzMCwxNCBAQCBjb25m aWcgTUFDSF9CRUFHTEUKIAkgIGhlbHAKIAkgIFNheSBZIGhlcmUgaWYgeW91IGFyZSB1c2luZyBC ZWFnbGUgQm9hcmQKIAorY29uZmlnIE1BQ0hfQkVBR0xFQk9ORQorCWJvb2wgIlRleGFzIEluc3Ry dW1lbnQncyBCZWFnbGUgQm9uZSIKKwlzZWxlY3QgT01BUF9DTE9DS19BTEwKKwlzZWxlY3QgSEFW RV9OT1NIRUxMCisJZGVwZW5kcyBvbiBBUkNIX0FNMzNYWAorCSAgaGVscAorCSAgU2F5IFkgaGVy ZSBpZiB5b3UgYXJlIHVzaW5nIEJlYWdsZSBCb25lCisKIGNvbmZpZyBNQUNIX09NQVAzRVZNCiAJ Ym9vbCAiVGV4YXMgSW5zdHJ1bWVudCdzIE9NQVAzIEVWTSIKIAlzZWxlY3QgSEFWRV9OT1NIRUxM CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAvTWFrZWZpbGUgYi9hcmNoL2FybS9tYWNo LW9tYXAvTWFrZWZpbGUKaW5kZXggMjkwMDM0ZS4uMTUzNjc0NCAxMDA2NDQKLS0tIGEvYXJjaC9h cm0vbWFjaC1vbWFwL01ha2VmaWxlCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9NYWtlZmlsZQpA QCAtMjMsNyArMjMsNyBAQCBvYmotJChDT05GSUdfQVJDSF9PTUFQMykgKz0gb21hcDNfY29yZS5v IG9tYXAzX2dlbmVyaWMubyBhdXhjci5vCiBwYmwtJChDT05GSUdfQVJDSF9PTUFQMykgKz0gb21h cDNfY29yZS5vIG9tYXAzX2dlbmVyaWMubyBhdXhjci5vCiBvYmotJChDT05GSUdfQVJDSF9PTUFQ NCkgKz0gb21hcDRfZ2VuZXJpYy5vIG9tYXA0X2Nsb2NrLm8KIHBibC0kKENPTkZJR19BUkNIX09N QVA0KSArPSBvbWFwNF9nZW5lcmljLm8gb21hcDRfY2xvY2subwotb2JqLSQoQ09ORklHX0FSQ0hf QU0zM1hYKSArPSBhbTMzeHhfZ2VuZXJpYy5vCitvYmotJChDT05GSUdfQVJDSF9BTTMzWFgpICs9 IGFtMzN4eF9nZW5lcmljLm8gYW0zM3h4X2Nsb2NrLm8gYW0zM3h4X211eC5vCiBvYmotJChDT05G SUdfT01BUDNfQ0xPQ0tfQ09ORklHKSArPSBvbWFwM19jbG9jay5vCiBwYmwtJChDT05GSUdfT01B UDNfQ0xPQ0tfQ09ORklHKSArPSBvbWFwM19jbG9jay5vCiBvYmotJChDT05GSUdfT01BUF9HUE1D KSArPSBncG1jLm8gZGV2aWNlcy1ncG1jLW5hbmQubwpkaWZmIC0tZ2l0IGEvYXJjaC9hcm0vbWFj aC1vbWFwL2FtMzN4eF9jbG9jay5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwL2FtMzN4eF9jbG9jay5j Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg0M2FmOWMKLS0tIC9kZXYvbnVs bAorKysgYi9hcmNoL2FybS9tYWNoLW9tYXAvYW0zM3h4X2Nsb2NrLmMKQEAgLTAsMCArMSwyODkg QEAKKy8qCisgKiBwbGwuYworICoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBUZXhhcyBJbnN0cnVt ZW50cyBJbmNvcnBvcmF0ZWQgLSBodHRwOi8vd3d3LnRpLmNvbS8KKyAqCisgKiBUaGlzIHByb2dy YW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBt b2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMgTGljZW5z ZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24gdmVyc2lv biAyLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCAiYXMgaXMiIFdJVEhPVVQg QU5ZIFdBUlJBTlRZIG9mIGFueQorICoga2luZCwgd2hldGhlciBleHByZXNzIG9yIGltcGxpZWQ7 IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eQorICogb2YgTUVSQ0hBTlRBQklMSVRZ IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCisgKiBHTlUgR2Vu ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisjaW5jbHVkZSA8Y29t bW9uLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+CisjaW5jbHVkZSA8bWFjaC9jbG9ja3MuaD4KKwor I2RlZmluZSBQUkNNX01PRF9FTgkJMHgyCisjZGVmaW5lCVBSQ01fRk9SQ0VfV0FLRVVQCTB4Mgor CisjZGVmaW5lIFBSQ01fRU1JRl9DTEtfQUNUSVZJVFkJKDB4MSA8PCAyKQorI2RlZmluZSBQUkNN X0wzX0dDTEtfQUNUSVZJVFkJKDB4MSA8PCA0KQorCisjZGVmaW5lIFBMTF9CWVBBU1NfTU9ERQkw eDQKKyNkZWZpbmUgUExMX0xPQ0tfTU9ERQkweDcKKyNkZWZpbmUgUExMX01VTFRJUExJRVJfU0hJ RlQJIDgKKworc3RhdGljIHZvaWQgaW50ZXJmYWNlX2Nsb2Nrc19lbmFibGUodm9pZCkKK3sKKwkv KiBFbmFibGUgYWxsIHRoZSBJbnRlcmNvbm5lY3QgTW9kdWxlcyAqLworCV9fcmF3X3dyaXRlbChQ UkNNX01PRF9FTiwgQ01fUEVSX0wzX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9Q RVJfTDNfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJX19yYXdfd3JpdGVsKFBSQ01fTU9E X0VOLCBDTV9QRVJfTDRMU19DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVSX0w0 TFNfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VO LCBDTV9QRVJfTDRGV19DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVSX0w0Rldf Q0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBD TV9XS1VQX0w0V0tVUF9DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fV0tVUF9MNFdL VVBfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VO LCBDTV9QRVJfTDNfSU5TVFJfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9M M19JTlNUUl9DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7CisKKwlfX3Jhd193cml0ZWwoUFJDTV9N T0RfRU4sIENNX1BFUl9MNEhTX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJf TDRIU19DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7CisKKwlfX3Jhd193cml0ZWwoUFJDTV9NT0Rf RU4sIENNX1BFUl9TUEkxX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJfU1BJ MV9DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7CisKKwkvKiBHUElPMCAqLworCV9fcmF3X3dyaXRl bChQUkNNX01PRF9FTiwgQ01fV0tVUF9HUElPMF9DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVh ZGwoQ01fV0tVUF9HUElPMF9DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7Cit9CisKK3N0YXRpYyB2 b2lkIHBvd2VyX2RvbWFpbl90cmFuc2l0aW9uX2VuYWJsZSh2b2lkKQoreworCS8qCisJICogRm9y Y2UgcG93ZXIgZG9tYWluIHdha2UgdXAgdHJhbnNpdGlvbgorCSAqIEVuc3VyZSB0aGF0IHRoZSBj b3JyZXNwb25kaW5nIGludGVyZmFjZSBjbG9jayBpcyBhY3RpdmUgYmVmb3JlCisJICogdXNpbmcg dGhlIHBlcmlwaGVyYWwKKwkgKi8KKwlfX3Jhd193cml0ZWwoUFJDTV9GT1JDRV9XQUtFVVAsIENN X1BFUl9MM19DTEtTVENUUkwpOworCisJX19yYXdfd3JpdGVsKFBSQ01fRk9SQ0VfV0FLRVVQLCBD TV9QRVJfTDRMU19DTEtTVENUUkwpOworCisJX19yYXdfd3JpdGVsKFBSQ01fRk9SQ0VfV0FLRVVQ LCBDTV9XS1VQX0NMS1NUQ1RSTCk7CisKKwlfX3Jhd193cml0ZWwoUFJDTV9GT1JDRV9XQUtFVVAs IENNX1BFUl9MNEZXX0NMS1NUQ1RSTCk7CisKKwlfX3Jhd193cml0ZWwoUFJDTV9GT1JDRV9XQUtF VVAsIENNX1BFUl9MM1NfQ0xLU1RDVFJMKTsKK30KKworLyoKKyAqIEVuYWJsZSB0aGUgbW9kdWxl IGNsb2NrIGFuZCB0aGUgcG93ZXIgZG9tYWluIGZvciByZXF1aXJlZCBwZXJpcGhlcmFscworICov CitzdGF0aWMgdm9pZCBwZXJfY2xvY2tzX2VuYWJsZSh2b2lkKQoreworCS8qIEVuYWJsZSB0aGUg bW9kdWxlIGNsb2NrICovCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9QRVJfVElNRVIy X0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJfVElNRVIyX0NMS0NUUkwpICE9 IFBSQ01fTU9EX0VOKTsKKworCS8qIFNlbGVjdCB0aGUgTWFzdGVyIG9zYyAyNCBNSFogYXMgVGlt ZXIyIGNsb2NrIHNvdXJjZSAqLworCV9fcmF3X3dyaXRlbCgweDEsIENMS1NFTF9USU1FUjJfQ0xL KTsKKworCS8qIFVBUlQwICovCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9XS1VQX1VB UlQwX0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9XS1VQX1VBUlQwX0NMS0NUUkwp ICE9IFBSQ01fTU9EX0VOKTsKKworCS8qIFVBUlQzICovCisJX19yYXdfd3JpdGVsKFBSQ01fTU9E X0VOLCBDTV9QRVJfVUFSVDNfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9V QVJUM19DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7CisKKwkvKiBHUE1DICovCisJX19yYXdfd3Jp dGVsKFBSQ01fTU9EX0VOLCBDTV9QRVJfR1BNQ19DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVh ZGwoQ01fUEVSX0dQTUNfQ0xLQ1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJLyogRUxNICovCisJ X19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9QRVJfRUxNX0NMS0NUUkwpOworCXdoaWxlIChf X3Jhd19yZWFkbChDTV9QRVJfRUxNX0NMS0NUUkwpICE9IFBSQ01fTU9EX0VOKTsKKworCS8qIGky YzAgKi8KKwlfX3Jhd193cml0ZWwoUFJDTV9NT0RfRU4sIENNX1dLVVBfSTJDMF9DTEtDVFJMKTsK Kwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fV0tVUF9JMkMwX0NMS0NUUkwpICE9IFBSQ01fTU9EX0VO KTsKKworCS8qIGkyYzEgKi8KKwlfX3Jhd193cml0ZWwoUFJDTV9NT0RfRU4sIENNX1BFUl9JMkMx X0NMS0NUUkwpOworCXdoaWxlIChfX3Jhd19yZWFkbChDTV9QRVJfSTJDMV9DTEtDVFJMKSAhPSBQ UkNNX01PRF9FTik7CisKKwkvKiBpMmMyICovCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBD TV9QRVJfSTJDMl9DTEtDVFJMKTsKKwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fUEVSX0kyQzJfQ0xL Q1RSTCkgIT0gUFJDTV9NT0RfRU4pOworCisJLyogRXRoZXJuZXQgKi8KKwlfX3Jhd193cml0ZWwo UFJDTV9NT0RfRU4sIENNX1BFUl9DUEdNQUMwX0NMS0NUUkwpOworCV9fcmF3X3dyaXRlbChQUkNN X01PRF9FTiwgQ01fUEVSX0NQU1dfQ0xLU1RDVFJMKTsKKwl3aGlsZSAoKF9fcmF3X3JlYWRsKENN X1BFUl9DUEdNQUMwX0NMS0NUUkwpICYgMHgzMDAwMCkgIT0gMHgwKTsKKworCS8qIE1NQyAwICYg MSAqLworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01fUEVSX01NQzBfQ0xLQ1RSTCk7CisJ d2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9NTUMwX0NMS0NUUkwpICE9IFBSQ01fTU9EX0VOKTsK KwlfX3Jhd193cml0ZWwoUFJDTV9NT0RfRU4sIENNX1BFUl9NTUMxX0NMS0NUUkwpOworCXdoaWxl IChfX3Jhd19yZWFkbChDTV9QRVJfTU1DMV9DTEtDVFJMKSAhPSBQUkNNX01PRF9FTik7CisKKwkv KiBFbmFibGUgdGhlIGNvbnRyb2wgbW9kdWxlIHRob3VnaCBSQkwgd291bGQgaGF2ZSBkb25lIGl0 Ki8KKwlfX3Jhd193cml0ZWwoUFJDTV9NT0RfRU4sIENNX1dLVVBfQ09OVFJPTF9DTEtDVFJMKTsK Kwl3aGlsZSAoX19yYXdfcmVhZGwoQ01fV0tVUF9DT05UUk9MX0NMS0NUUkwpICE9IFBSQ01fTU9E X0VOKTsKKworCS8qIFNQSSAwICYgMSAqLworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01f UEVSX1NQSTBfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9TUEkwX0NMS0NU UkwpICE9IFBSQ01fTU9EX0VOKTsKKworCV9fcmF3X3dyaXRlbChQUkNNX01PRF9FTiwgQ01fUEVS X1NQSTFfQ0xLQ1RSTCk7CisJd2hpbGUgKF9fcmF3X3JlYWRsKENNX1BFUl9TUEkxX0NMS0NUUkwp ICE9IFBSQ01fTU9EX0VOKTsKK30KKworc3RhdGljIHZvaWQgbXB1X3BsbF9jb25maWcoaW50IG1w dXBsbF9NKQoreworCXUzMiBjbGttb2RlLCBjbGtzZWwsIGRpdl9tMjsKKworCWNsa21vZGUgPSBf X3Jhd19yZWFkbChDTV9DTEtNT0RFX0RQTExfTVBVKTsKKwljbGtzZWwgPSBfX3Jhd19yZWFkbChD TV9DTEtTRUxfRFBMTF9NUFUpOworCWRpdl9tMiA9IF9fcmF3X3JlYWRsKENNX0RJVl9NMl9EUExM X01QVSk7CisKKwkvKiBTZXQgdGhlIFBMTCB0byBieXBhc3MgTW9kZSAqLworCV9fcmF3X3dyaXRl bChQTExfQllQQVNTX01PREUsIENNX0NMS01PREVfRFBMTF9NUFUpOworCisJd2hpbGUoX19yYXdf cmVhZGwoQ01fSURMRVNUX0RQTExfTVBVKSAhPSAweDAwMDAwMTAwKTsKKworCWNsa3NlbCA9IGNs a3NlbCAmICh+MHg3ZmZmZik7CisJY2xrc2VsID0gY2xrc2VsIHwgKChtcHVwbGxfTSA8PCAweDgp IHwgTVBVUExMX04pOworCV9fcmF3X3dyaXRlbChjbGtzZWwsIENNX0NMS1NFTF9EUExMX01QVSk7 CisKKwlkaXZfbTIgPSBkaXZfbTIgJiB+MHgxZjsKKwlkaXZfbTIgPSBkaXZfbTIgfCBNUFVQTExf TTI7CisJX19yYXdfd3JpdGVsKGRpdl9tMiwgQ01fRElWX00yX0RQTExfTVBVKTsKKworCWNsa21v ZGUgPSBjbGttb2RlIHwgMHg3OworCV9fcmF3X3dyaXRlbChjbGttb2RlLCBDTV9DTEtNT0RFX0RQ TExfTVBVKTsKKworCXdoaWxlKF9fcmF3X3JlYWRsKENNX0lETEVTVF9EUExMX01QVSkgIT0gMHgx KTsKK30KKworc3RhdGljIHZvaWQgY29yZV9wbGxfY29uZmlnKHZvaWQpCit7CisJdTMyIGNsa21v ZGUsIGNsa3NlbCwgZGl2X200LCBkaXZfbTUsIGRpdl9tNjsKKworCWNsa21vZGUgPSBfX3Jhd19y ZWFkbChDTV9DTEtNT0RFX0RQTExfQ09SRSk7CisJY2xrc2VsID0gX19yYXdfcmVhZGwoQ01fQ0xL U0VMX0RQTExfQ09SRSk7CisJZGl2X200ID0gX19yYXdfcmVhZGwoQ01fRElWX000X0RQTExfQ09S RSk7CisJZGl2X201ID0gX19yYXdfcmVhZGwoQ01fRElWX001X0RQTExfQ09SRSk7CisJZGl2X202 ID0gX19yYXdfcmVhZGwoQ01fRElWX002X0RQTExfQ09SRSk7CisKKwkvKiBTZXQgdGhlIFBMTCB0 byBieXBhc3MgTW9kZSAqLworCV9fcmF3X3dyaXRlbChQTExfQllQQVNTX01PREUsIENNX0NMS01P REVfRFBMTF9DT1JFKTsKKworCXdoaWxlKF9fcmF3X3JlYWRsKENNX0lETEVTVF9EUExMX0NPUkUp ICE9IDB4MDAwMDAxMDApOworCisJY2xrc2VsID0gY2xrc2VsICYgKH4weDdmZmZmKTsKKwljbGtz ZWwgPSBjbGtzZWwgfCAoKENPUkVQTExfTSA8PCAweDgpIHwgQ09SRVBMTF9OKTsKKwlfX3Jhd193 cml0ZWwoY2xrc2VsLCBDTV9DTEtTRUxfRFBMTF9DT1JFKTsKKworCWRpdl9tNCA9IGRpdl9tNCAm IH4weDFmOworCWRpdl9tNCA9IGRpdl9tNCB8IENPUkVQTExfTTQ7CisJX19yYXdfd3JpdGVsKGRp dl9tNCwgQ01fRElWX000X0RQTExfQ09SRSk7CisKKwlkaXZfbTUgPSBkaXZfbTUgJiB+MHgxZjsK KwlkaXZfbTUgPSBkaXZfbTUgfCBDT1JFUExMX001OworCV9fcmF3X3dyaXRlbChkaXZfbTUsIENN X0RJVl9NNV9EUExMX0NPUkUpOworCisJZGl2X202ID0gZGl2X202ICYgfjB4MWY7CisJZGl2X202 ID0gZGl2X202IHwgQ09SRVBMTF9NNjsKKwlfX3Jhd193cml0ZWwoZGl2X202LCBDTV9ESVZfTTZf RFBMTF9DT1JFKTsKKworCisJY2xrbW9kZSA9IGNsa21vZGUgfCAweDc7CisJX19yYXdfd3JpdGVs KGNsa21vZGUsIENNX0NMS01PREVfRFBMTF9DT1JFKTsKKworCXdoaWxlKF9fcmF3X3JlYWRsKENN X0lETEVTVF9EUExMX0NPUkUpICE9IDB4MSk7Cit9CisKK3N0YXRpYyB2b2lkIHBlcl9wbGxfY29u ZmlnKHZvaWQpCit7CisJdTMyIGNsa21vZGUsIGNsa3NlbCwgZGl2X20yOworCisJY2xrbW9kZSA9 IF9fcmF3X3JlYWRsKENNX0NMS01PREVfRFBMTF9QRVIpOworCWNsa3NlbCA9IF9fcmF3X3JlYWRs KENNX0NMS1NFTF9EUExMX1BFUik7CisJZGl2X20yID0gX19yYXdfcmVhZGwoQ01fRElWX00yX0RQ TExfUEVSKTsKKworCS8qIFNldCB0aGUgUExMIHRvIGJ5cGFzcyBNb2RlICovCisJX19yYXdfd3Jp dGVsKFBMTF9CWVBBU1NfTU9ERSwgQ01fQ0xLTU9ERV9EUExMX1BFUik7CisKKwl3aGlsZShfX3Jh d19yZWFkbChDTV9JRExFU1RfRFBMTF9QRVIpICE9IDB4MDAwMDAxMDApOworCisJY2xrc2VsID0g Y2xrc2VsICYgKH4weDdmZmZmKTsKKwljbGtzZWwgPSBjbGtzZWwgfCAoKFBFUlBMTF9NIDw8IDB4 OCkgfCBQRVJQTExfTik7CisJX19yYXdfd3JpdGVsKGNsa3NlbCwgQ01fQ0xLU0VMX0RQTExfUEVS KTsKKworCWRpdl9tMiA9IGRpdl9tMiAmIH4weDdmOworCWRpdl9tMiA9IGRpdl9tMiB8IFBFUlBM TF9NMjsKKwlfX3Jhd193cml0ZWwoZGl2X20yLCBDTV9ESVZfTTJfRFBMTF9QRVIpOworCisJY2xr bW9kZSA9IGNsa21vZGUgfCAweDc7CisJX19yYXdfd3JpdGVsKGNsa21vZGUsIENNX0NMS01PREVf RFBMTF9QRVIpOworCisJd2hpbGUoX19yYXdfcmVhZGwoQ01fSURMRVNUX0RQTExfUEVSKSAhPSAw eDEpOworfQorCitzdGF0aWMgdm9pZCBkZHJfcGxsX2NvbmZpZyh2b2lkKQoreworCXUzMiBjbGtt b2RlLCBjbGtzZWwsIGRpdl9tMjsKKworCWNsa21vZGUgPSBfX3Jhd19yZWFkbChDTV9DTEtNT0RF X0RQTExfRERSKTsKKwljbGtzZWwgPSBfX3Jhd19yZWFkbChDTV9DTEtTRUxfRFBMTF9ERFIpOwor CWRpdl9tMiA9IF9fcmF3X3JlYWRsKENNX0RJVl9NMl9EUExMX0REUik7CisKKwkvKiBTZXQgdGhl IFBMTCB0byBieXBhc3MgTW9kZSAqLworCWNsa21vZGUgPSAoY2xrbW9kZSAmIDB4ZmZmZmZmZjgp IHwgMHgwMDAwMDAwNDsKKwlfX3Jhd193cml0ZWwoY2xrbW9kZSwgQ01fQ0xLTU9ERV9EUExMX0RE Uik7CisKKwl3aGlsZSAoKF9fcmF3X3JlYWRsKENNX0lETEVTVF9EUExMX0REUikgJiAweDAwMDAw MTAwKSAhPSAweDAwMDAwMTAwKTsKKworCWNsa3NlbCA9IGNsa3NlbCAmICh+MHg3ZmZmZik7CisJ Y2xrc2VsID0gY2xrc2VsIHwgKChERFJQTExfTSA8PCAweDgpIHwgRERSUExMX04pOworCV9fcmF3 X3dyaXRlbChjbGtzZWwsIENNX0NMS1NFTF9EUExMX0REUik7CisKKwlkaXZfbTIgPSBkaXZfbTIg JiAweEZGRkZGRkUwOworCWRpdl9tMiA9IGRpdl9tMiB8IEREUlBMTF9NMjsKKwlfX3Jhd193cml0 ZWwoZGl2X20yLCBDTV9ESVZfTTJfRFBMTF9ERFIpOworCisJY2xrbW9kZSA9IChjbGttb2RlICYg MHhmZmZmZmZmOCkgfCAweDc7CisJX19yYXdfd3JpdGVsKGNsa21vZGUsIENNX0NMS01PREVfRFBM TF9ERFIpOworCisJd2hpbGUgKChfX3Jhd19yZWFkbChDTV9JRExFU1RfRFBMTF9ERFIpICYgMHgw MDAwMDAwMSkgIT0gMHgxKTsKK30KKwordm9pZCBlbmFibGVfZGRyX2Nsb2Nrcyh2b2lkKQorewor CS8qIEVuYWJsZSB0aGUgIEVNSUZfRlcgRnVuY3Rpb25hbCBjbG9jayAqLworCV9fcmF3X3dyaXRl bChQUkNNX01PRF9FTiwgQ01fUEVSX0VNSUZfRldfQ0xLQ1RSTCk7CisJLyogRW5hYmxlIEVNSUYw IENsb2NrICovCisJX19yYXdfd3JpdGVsKFBSQ01fTU9EX0VOLCBDTV9QRVJfRU1JRl9DTEtDVFJM KTsKKwkvKiBQb2xsIGZvciBlbWlmX2djbGsgICYgTDNfRyBjbG9jayAgYXJlIGFjdGl2ZSAqLwor CXdoaWxlICgoX19yYXdfcmVhZGwoQ01fUEVSX0wzX0NMS1NUQ1RSTCkgJiAoUFJDTV9FTUlGX0NM S19BQ1RJVklUWSB8CisJCVBSQ01fTDNfR0NMS19BQ1RJVklUWSkpICE9IChQUkNNX0VNSUZfQ0xL X0FDVElWSVRZIHwKKwkJUFJDTV9MM19HQ0xLX0FDVElWSVRZKSk7CisJLyogUG9sbCBpZiBtb2R1 bGUgaXMgZnVuY3Rpb25hbCAqLworCXdoaWxlICgoX19yYXdfcmVhZGwoQ01fUEVSX0VNSUZfQ0xL Q1RSTCkpICE9IFBSQ01fTU9EX0VOKTsKKworfQorCisvKgorICogQ29uZmlndXJlIHRoZSBQTEwv UFJDTSBmb3IgbmVjZXNzYXJ5IHBlcmlwaGVyYWxzCisgKi8KK3ZvaWQgcGxsX2luaXQoKQorewor CW1wdV9wbGxfY29uZmlnKE1QVVBMTF9NXzUwMCk7CisJY29yZV9wbGxfY29uZmlnKCk7CisJcGVy X3BsbF9jb25maWcoKTsKKwlkZHJfcGxsX2NvbmZpZygpOworCS8qIEVuYWJsZSB0aGUgcmVxdWly ZWQgaW50ZXJjb25uZWN0IGNsb2NrcyAqLworCWludGVyZmFjZV9jbG9ja3NfZW5hYmxlKCk7CisJ LyogRW5hYmxlIHBvd2VyIGRvbWFpbiB0cmFuc2l0aW9uICovCisJcG93ZXJfZG9tYWluX3RyYW5z aXRpb25fZW5hYmxlKCk7CisJLyogRW5hYmxlIHRoZSByZXF1aXJlZCBwZXJpcGhlcmFscyAqLwor CXBlcl9jbG9ja3NfZW5hYmxlKCk7Cit9CmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNoLW9tYXAv YW0zM3h4X2dlbmVyaWMuYyBiL2FyY2gvYXJtL21hY2gtb21hcC9hbTMzeHhfZ2VuZXJpYy5jCmlu ZGV4IGJhMDg3NzMuLmE4ZmRlYzkgMTAwNjQ0Ci0tLSBhL2FyY2gvYXJtL21hY2gtb21hcC9hbTMz eHhfZ2VuZXJpYy5jCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9hbTMzeHhfZ2VuZXJpYy5jCkBA IC0xLDUgKzEsNiBAQAogLyoKICAqIChDKSBDb3B5cmlnaHQgMjAxMiBUZXJlc2EgR8OhbWV6LCBQ aHl0ZWMgTWVzc3RlY2huaWsgR21iSAorICogKEMpIENvcHlyaWdodCAyMDEyIEphbiBMdWViYmUg PGoubHVlYmJlQHBlbmd1dHJvbml4LmRlPgogICoKICAqIFRoaXMgcHJvZ3JhbSBpcyBmcmVlIHNv ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRl ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGFzCkBAIC0yMCw2 ICsyMSw4IEBACiAjaW5jbHVkZSA8aW8uaD4KICNpbmNsdWRlIDxtYWNoL3NpbGljb24uaD4KICNp bmNsdWRlIDxtYWNoL2Nsb2Nrcy5oPgorI2luY2x1ZGUgPG1hY2gvc3lzX2luZm8uaD4KKyNpbmNs dWRlIDxtYWNoL3hsb2FkLmg+CiAKIHZvaWQgX19ub3JldHVybiByZXNldF9jcHUodW5zaWduZWQg bG9uZyBhZGRyKQogewpAQCAtMjcsMyArMzAsNzQgQEAgdm9pZCBfX25vcmV0dXJuIHJlc2V0X2Nw dSh1bnNpZ25lZCBsb25nIGFkZHIpCiAKIAl3aGlsZSAoMSk7CiB9CisKKy8qKgorICogQGJyaWVm IEdldCB0aGUgdXBwZXIgYWRkcmVzcyBvZiBjdXJyZW50IGV4ZWN1dGlvbgorICoKKyAqIHdlIGNh biB1c2UgdGhpcyB0byBmaWd1cmUgb3V0IGlmIHdlIGFyZSBydW5uaW5nIGluIFNSQU0gLworICog WElQIEZsYXNoIG9yIGluIFNEUkFNCisgKgorICogQHJldHVybiBiYXNlIGFkZHJlc3MKKyAqLwor dTMyIGdldF9iYXNlKHZvaWQpCit7CisJdTMyIHZhbDsKKwlfX2FzbV9fIF9fdm9sYXRpbGVfXygi bW92ICUwLCBwYyBcbiI6Ij1yIih2YWwpOjoibWVtb3J5Iik7CisJdmFsICY9IDB4RjAwMDAwMDA7 CisJdmFsID4+PSAyODsKKwlyZXR1cm4gdmFsOworfQorCisvKioKKyAqIEBicmllZiBBcmUgd2Ug cnVubmluZyBpbiBGbGFzaCBYSVA/CisgKgorICogSWYgdGhlIGJhc2UgaXMgaW4gR1BNQyBhZGRy ZXNzIHNwYWNlLCB3ZSBwcm9iYWJseSBhcmUhCisgKgorICogQHJldHVybiAxIGlmIHdlIGFyZSBy dW5uaW5nIGluIFhJUCBtb2RlLCBlbHNlIHJldHVybiAwCisgKi8KK3UzMiBydW5uaW5nX2luX2Zs YXNoKHZvaWQpCit7CisJaWYgKGdldF9iYXNlKCkgPCA0KQorCQlyZXR1cm4gMTsJLyogaW4gZmxh c2ggKi8KKwlyZXR1cm4gMDsJCS8qIHJ1bm5pbmcgaW4gU1JBTSBvciBTRFJBTSAqLworfQorCisv KioKKyAqIEBicmllZiBBcmUgd2UgcnVubmluZyBpbiBPTUFQIGludGVybmFsIFNSQU0/CisgKgor ICogSWYgaW4gU1JBTSBhZGRyZXNzLCB0aGVuIHllcyEKKyAqCisgKiBAcmV0dXJuICAxIGlmIHdl IGFyZSBydW5uaW5nIGluIFNSQU0sIGVsc2UgcmV0dXJuIDAKKyAqLwordTMyIHJ1bm5pbmdfaW5f c3JhbSh2b2lkKQoreworCWlmIChnZXRfYmFzZSgpID09IDQpCisJCXJldHVybiAxOwkvKiBpbiBT UkFNICovCisJcmV0dXJuIDA7CQkvKiBydW5uaW5nIGluIEZMQVNIIG9yIFNEUkFNICovCit9CisK Ky8qKgorICogQGJyaWVmIEFyZSB3ZSBydW5uaW5nIGluIFNEUkFNPworICoKKyAqIGlmIHdlIGFy ZSBub3QgaW4gR1BNQyBub3IgaW4gU1JBTSBhZGRyZXNzIHNwYWNlLAorICogd2UgYXJlIGluIFNE UkFNIGV4ZWN1dGlvbiBhcmVhCisgKgorICogQHJldHVybiAxIGlmIHdlIGFyZSBydW5uaW5nIGZy b20gU0RSQU0sIGVsc2UgcmV0dXJuIDAKKyAqLwordTMyIHJ1bm5pbmdfaW5fc2RyYW0odm9pZCkK K3sKKwlpZiAoZ2V0X2Jhc2UoKSA+IDQpCisJCXJldHVybiAxOwkvKiBpbiBzZHJhbSAqLworCXJl dHVybiAwOwkJLyogcnVubmluZyBpbiBTUkFNIG9yIEZMQVNIICovCit9CisKKyNkZWZpbmUgQU0z M1hYX1RSQUNJTkdfVkVDVE9SMyAweDQwMzBjZDQ4CisKK2VudW0gb21hcF9ib290X3NyYyBhbTMz eHhfYm9vdHNyYyh2b2lkKQoreworCXUzMiBib290c3JjID0gcmVhZGwoQU0zM1hYX1RSQUNJTkdf VkVDVE9SMyk7CisKKwlpZiAoYm9vdHNyYyAmICgxIDw8IDUpKQorCQlyZXR1cm4gT01BUF9CT09U U1JDX01NQzE7CisJcmV0dXJuIE9NQVBfQk9PVFNSQ19VTktOT1dOOworfQpkaWZmIC0tZ2l0IGEv YXJjaC9hcm0vbWFjaC1vbWFwL2FtMzN4eF9tdXguYyBiL2FyY2gvYXJtL21hY2gtb21hcC9hbTMz eHhfbXV4LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZDVlMTU4NgotLS0g L2Rldi9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9hbTMzeHhfbXV4LmMKQEAgLTAsMCAr MSw1MDIgQEAKKy8qCisgKiBtdXguYworICoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBUZXhhcyBJ bnN0cnVtZW50cyBJbmNvcnBvcmF0ZWQgLSBodHRwOi8vd3d3LnRpLmNvbS8KKyAqCisgKiBUaGlz IHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgR2VuZXJhbCBQdWJsaWMg TGljZW5zZSBhcworICogcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24g dmVyc2lvbiAyLgorICoKKyAqIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCAiYXMgaXMiIFdJ VEhPVVQgQU5ZIFdBUlJBTlRZIG9mIGFueQorICoga2luZCwgd2hldGhlciBleHByZXNzIG9yIGlt cGxpZWQ7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eQorICogb2YgTUVSQ0hBTlRB QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlCisgKiBH TlUgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICovCisjaW5jbHVk ZSA8Y29tbW9uLmg+CisjaW5jbHVkZSA8Y29uZmlnLmg+CisjaW5jbHVkZSA8YXNtL2lvLmg+Cisj aW5jbHVkZSA8bWFjaC9zaWxpY29uLmg+CisKKyNkZWZpbmUgTVVYX0NGRyh2YWx1ZSwgb2Zmc2V0 KQlcCisJX19yYXdfd3JpdGVsKHZhbHVlLCAoT01BUF9DVFJMX0JBU0UgKyBvZmZzZXQpKTsKKwor LyogUEFEIENvbnRyb2wgRmllbGRzICovCisjZGVmaW5lIFNMRVdDVFJMCSgweDEgPDwgNikKKyNk ZWZpbmUJUlhBQ1RJVkUJKDB4MSA8PCA1KQorI2RlZmluZQlQVUxMVVBfRU4JKDB4MSA8PCA0KSAv KiBQdWxsIFVQIFNlbGVjdGlvbiAqLworI2RlZmluZSBQVUxMVURFTgkoMHgwIDw8IDMpIC8qIFB1 bGwgdXAgZW5hYmxlZCAqLworI2RlZmluZSBQVUxMVURESVMJKDB4MSA8PCAzKSAvKiBQdWxsIHVw IGRpc2FibGVkICovCisjZGVmaW5lIE1PREUodmFsKQl2YWwKKworLyoKKyAqIFBBRCBDT05UUk9M IE9GRlNFVFMKKyAqIEZpZWxkIG5hbWVzIGNvcnJlc3BvbmRzIHRvIHRoZSBwYWQgc2lnbmFsIG5h bWUKKyAqLworLyogVE9ETyByZXBsYWNlIHdpdGggZGVmaW5lcyAqLworc3RydWN0IHBhZF9zaWdu YWxzIHsKKwlpbnQgZ3BtY19hZDA7CisJaW50IGdwbWNfYWQxOworCWludCBncG1jX2FkMjsKKwlp bnQgZ3BtY19hZDM7CisJaW50IGdwbWNfYWQ0OworCWludCBncG1jX2FkNTsKKwlpbnQgZ3BtY19h ZDY7CisJaW50IGdwbWNfYWQ3OworCWludCBncG1jX2FkODsKKwlpbnQgZ3BtY19hZDk7CisJaW50 IGdwbWNfYWQxMDsKKwlpbnQgZ3BtY19hZDExOworCWludCBncG1jX2FkMTI7CisJaW50IGdwbWNf YWQxMzsKKwlpbnQgZ3BtY19hZDE0OworCWludCBncG1jX2FkMTU7CisJaW50IGdwbWNfYTA7CisJ aW50IGdwbWNfYTE7CisJaW50IGdwbWNfYTI7CisJaW50IGdwbWNfYTM7CisJaW50IGdwbWNfYTQ7 CisJaW50IGdwbWNfYTU7CisJaW50IGdwbWNfYTY7CisJaW50IGdwbWNfYTc7CisJaW50IGdwbWNf YTg7CisJaW50IGdwbWNfYTk7CisJaW50IGdwbWNfYTEwOworCWludCBncG1jX2ExMTsKKwlpbnQg Z3BtY193YWl0MDsKKwlpbnQgZ3BtY193cG47CisJaW50IGdwbWNfYmUxbjsKKwlpbnQgZ3BtY19j c24wOworCWludCBncG1jX2NzbjE7CisJaW50IGdwbWNfY3NuMjsKKwlpbnQgZ3BtY19jc24zOwor CWludCBncG1jX2NsazsKKwlpbnQgZ3BtY19hZHZuX2FsZTsKKwlpbnQgZ3BtY19vZW5fcmVuOwor CWludCBncG1jX3dlbjsKKwlpbnQgZ3BtY19iZTBuX2NsZTsKKwlpbnQgbGNkX2RhdGEwOworCWlu dCBsY2RfZGF0YTE7CisJaW50IGxjZF9kYXRhMjsKKwlpbnQgbGNkX2RhdGEzOworCWludCBsY2Rf ZGF0YTQ7CisJaW50IGxjZF9kYXRhNTsKKwlpbnQgbGNkX2RhdGE2OworCWludCBsY2RfZGF0YTc7 CisJaW50IGxjZF9kYXRhODsKKwlpbnQgbGNkX2RhdGE5OworCWludCBsY2RfZGF0YTEwOworCWlu dCBsY2RfZGF0YTExOworCWludCBsY2RfZGF0YTEyOworCWludCBsY2RfZGF0YTEzOworCWludCBs Y2RfZGF0YTE0OworCWludCBsY2RfZGF0YTE1OworCWludCBsY2RfdnN5bmM7CisJaW50IGxjZF9o c3luYzsKKwlpbnQgbGNkX3BjbGs7CisJaW50IGxjZF9hY19iaWFzX2VuOworCWludCBtbWMwX2Rh dDM7CisJaW50IG1tYzBfZGF0MjsKKwlpbnQgbW1jMF9kYXQxOworCWludCBtbWMwX2RhdDA7CisJ aW50IG1tYzBfY2xrOworCWludCBtbWMwX2NtZDsKKwlpbnQgbWlpMV9jb2w7CisJaW50IG1paTFf Y3JzOworCWludCBtaWkxX3J4ZXJyOworCWludCBtaWkxX3R4ZW47CisJaW50IG1paTFfcnhkdjsK KwlpbnQgbWlpMV90eGQzOworCWludCBtaWkxX3R4ZDI7CisJaW50IG1paTFfdHhkMTsKKwlpbnQg bWlpMV90eGQwOworCWludCBtaWkxX3R4Y2xrOworCWludCBtaWkxX3J4Y2xrOworCWludCBtaWkx X3J4ZDM7CisJaW50IG1paTFfcnhkMjsKKwlpbnQgbWlpMV9yeGQxOworCWludCBtaWkxX3J4ZDA7 CisJaW50IHJtaWkxX3JlZmNsazsKKwlpbnQgbWRpb19kYXRhOworCWludCBtZGlvX2NsazsKKwlp bnQgc3BpMF9zY2xrOworCWludCBzcGkwX2QwOworCWludCBzcGkwX2QxOworCWludCBzcGkwX2Nz MDsKKwlpbnQgc3BpMF9jczE7CisJaW50IGVjYXAwX2luX3B3bTBfb3V0OworCWludCB1YXJ0MF9j dHNuOworCWludCB1YXJ0MF9ydHNuOworCWludCB1YXJ0MF9yeGQ7CisJaW50IHVhcnQwX3R4ZDsK KwlpbnQgdWFydDFfY3RzbjsKKwlpbnQgdWFydDFfcnRzbjsKKwlpbnQgdWFydDFfcnhkOworCWlu dCB1YXJ0MV90eGQ7CisJaW50IGkyYzBfc2RhOworCWludCBpMmMwX3NjbDsKKwlpbnQgbWNhc3Aw X2FjbGt4OworCWludCBtY2FzcDBfZnN4OworCWludCBtY2FzcDBfYXhyMDsKKwlpbnQgbWNhc3Aw X2FoY2xrcjsKKwlpbnQgbWNhc3AwX2FjbGtyOworCWludCBtY2FzcDBfZnNyOworCWludCBtY2Fz cDBfYXhyMTsKKwlpbnQgbWNhc3AwX2FoY2xreDsKKwlpbnQgeGRtYV9ldmVudF9pbnRyMDsKKwlp bnQgeGRtYV9ldmVudF9pbnRyMTsKKwlpbnQgbnJlc2V0aW5fb3V0OworCWludCBwb3J6OworCWlu dCBubm1pOworCWludCBvc2MwX2luOworCWludCBvc2MwX291dDsKKwlpbnQgcnN2ZDE7CisJaW50 IHRtczsKKwlpbnQgdGRpOworCWludCB0ZG87CisJaW50IHRjazsKKwlpbnQgbnRyc3Q7CisJaW50 IGVtdTA7CisJaW50IGVtdTE7CisJaW50IG9zYzFfaW47CisJaW50IG9zYzFfb3V0OworCWludCBw bWljX3Bvd2VyX2VuOworCWludCBydGNfcG9yejsKKwlpbnQgcnN2ZDI7CisJaW50IGV4dF93YWtl dXA7CisJaW50IGVuel9rYWxkb18xcDh2OworCWludCB1c2IwX2RtOworCWludCB1c2IwX2RwOwor CWludCB1c2IwX2NlOworCWludCB1c2IwX2lkOworCWludCB1c2IwX3ZidXM7CisJaW50IHVzYjBf ZHJ2dmJ1czsKKwlpbnQgdXNiMV9kbTsKKwlpbnQgdXNiMV9kcDsKKwlpbnQgdXNiMV9jZTsKKwlp bnQgdXNiMV9pZDsKKwlpbnQgdXNiMV92YnVzOworCWludCB1c2IxX2RydnZidXM7CisJaW50IGRk cl9yZXNldG47CisJaW50IGRkcl9jc24wOworCWludCBkZHJfY2tlOworCWludCBkZHJfY2s7CisJ aW50IGRkcl9uY2s7CisJaW50IGRkcl9jYXNuOworCWludCBkZHJfcmFzbjsKKwlpbnQgZGRyX3dl bjsKKwlpbnQgZGRyX2JhMDsKKwlpbnQgZGRyX2JhMTsKKwlpbnQgZGRyX2JhMjsKKwlpbnQgZGRy X2EwOworCWludCBkZHJfYTE7CisJaW50IGRkcl9hMjsKKwlpbnQgZGRyX2EzOworCWludCBkZHJf YTQ7CisJaW50IGRkcl9hNTsKKwlpbnQgZGRyX2E2OworCWludCBkZHJfYTc7CisJaW50IGRkcl9h ODsKKwlpbnQgZGRyX2E5OworCWludCBkZHJfYTEwOworCWludCBkZHJfYTExOworCWludCBkZHJf YTEyOworCWludCBkZHJfYTEzOworCWludCBkZHJfYTE0OworCWludCBkZHJfYTE1OworCWludCBk ZHJfb2R0OworCWludCBkZHJfZDA7CisJaW50IGRkcl9kMTsKKwlpbnQgZGRyX2QyOworCWludCBk ZHJfZDM7CisJaW50IGRkcl9kNDsKKwlpbnQgZGRyX2Q1OworCWludCBkZHJfZDY7CisJaW50IGRk cl9kNzsKKwlpbnQgZGRyX2Q4OworCWludCBkZHJfZDk7CisJaW50IGRkcl9kMTA7CisJaW50IGRk cl9kMTE7CisJaW50IGRkcl9kMTI7CisJaW50IGRkcl9kMTM7CisJaW50IGRkcl9kMTQ7CisJaW50 IGRkcl9kMTU7CisJaW50IGRkcl9kcW0wOworCWludCBkZHJfZHFtMTsKKwlpbnQgZGRyX2RxczA7 CisJaW50IGRkcl9kcXNuMDsKKwlpbnQgZGRyX2RxczE7CisJaW50IGRkcl9kcXNuMTsKKwlpbnQg ZGRyX3ZyZWY7CisJaW50IGRkcl92dHA7CisJaW50IGRkcl9zdHJiZW4wOworCWludCBkZHJfc3Ry YmVuMTsKKwlpbnQgYWluNzsKKwlpbnQgYWluNjsKKwlpbnQgYWluNTsKKwlpbnQgYWluNDsKKwlp bnQgYWluMzsKKwlpbnQgYWluMjsKKwlpbnQgYWluMTsKKwlpbnQgYWluMDsKKwlpbnQgdnJlZnA7 CisJaW50IHZyZWZuOworfTsKKworc3RydWN0IG1vZHVsZV9waW5fbXV4IHsKKwlzaG9ydCByZWdf b2Zmc2V0OworCXVuc2lnbmVkIGNoYXIgdmFsOworfTsKKworI2RlZmluZSBQQURfQ1RSTF9CQVNF CTB4ODAwCisjZGVmaW5lIE9GRlNFVCh4KQkodW5zaWduZWQgaW50KSAoJigoc3RydWN0IHBhZF9z aWduYWxzICopIFwKKwkJCQkoUEFEX0NUUkxfQkFTRSkpLT54KQorCitzdGF0aWMgY29uc3QgX19t YXliZV91bnVzZWQgc3RydWN0IG1vZHVsZV9waW5fbXV4IHVhcnQwX3Bpbl9tdXhbXSA9IHsKKwl7 T0ZGU0VUKHVhcnQwX3J4ZCksIChNT0RFKDApIHwgUFVMTFVQX0VOIHwgUlhBQ1RJVkUpfSwJLyog VUFSVDBfUlhEICovCisJe09GRlNFVCh1YXJ0MF90eGQpLCAoTU9ERSgwKSB8IFBVTExVREVOKX0s CQkvKiBVQVJUMF9UWEQgKi8KKwl7LTF9LAorfTsKKworc3RhdGljIGNvbnN0IF9fbWF5YmVfdW51 c2VkIHN0cnVjdCBtb2R1bGVfcGluX211eCB1YXJ0M19waW5fbXV4W10gPSB7CisJe09GRlNFVChz cGkwX2NzMSksIChNT0RFKDEpIHwgUFVMTFVERU4gfCBSWEFDVElWRSl9LAkvKiBVQVJUM19SWEQg Ki8KKwl7T0ZGU0VUKGVjYXAwX2luX3B3bTBfb3V0KSwgKE1PREUoMSkgfCBQVUxMVURFTil9LAkv KiBVQVJUM19UWEQgKi8KKwl7LTF9LAorfTsKKworCisjaWZkZWYgQ09ORklHX05BTkQKK3N0YXRp YyBjb25zdCBfX21heWJlX3VudXNlZCBzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggbmFuZF9waW5fbXV4 W10gPSB7CisJe09GRlNFVChncG1jX2FkMCksIChNT0RFKDApIHwgUFVMTFVQX0VOIHwgUlhBQ1RJ VkUpfSwJLyogTkFORCBBRDAgKi8KKwl7T0ZGU0VUKGdwbWNfYWQxKSwgKE1PREUoMCkgfCBQVUxM VVBfRU4gfCBSWEFDVElWRSl9LAkvKiBOQU5EIEFEMSAqLworCXtPRkZTRVQoZ3BtY19hZDIpLCAo TU9ERSgwKSB8IFBVTExVUF9FTiB8IFJYQUNUSVZFKX0sCS8qIE5BTkQgQUQyICovCisJe09GRlNF VChncG1jX2FkMyksIChNT0RFKDApIHwgUFVMTFVQX0VOIHwgUlhBQ1RJVkUpfSwJLyogTkFORCBB RDMgKi8KKwl7T0ZGU0VUKGdwbWNfYWQ0KSwgKE1PREUoMCkgfCBQVUxMVVBfRU4gfCBSWEFDVElW RSl9LAkvKiBOQU5EIEFENCAqLworCXtPRkZTRVQoZ3BtY19hZDUpLCAoTU9ERSgwKSB8IFBVTExV UF9FTiB8IFJYQUNUSVZFKX0sCS8qIE5BTkQgQUQ1ICovCisJe09GRlNFVChncG1jX2FkNiksIChN T0RFKDApIHwgUFVMTFVQX0VOIHwgUlhBQ1RJVkUpfSwJLyogTkFORCBBRDYgKi8KKwl7T0ZGU0VU KGdwbWNfYWQ3KSwgKE1PREUoMCkgfCBQVUxMVVBfRU4gfCBSWEFDVElWRSl9LAkvKiBOQU5EIEFE NyAqLworCXtPRkZTRVQoZ3BtY193YWl0MCksIChNT0RFKDApIHwgUlhBQ1RJVkUgfCBQVUxMVVBf RU4pfSwgLyogTkFORCBXQUlUICovCisJe09GRlNFVChncG1jX3dwbiksIChNT0RFKDcpIHwgUFVM TFVQX0VOIHwgUlhBQ1RJVkUpfSwJLyogTkFORF9XUE4gKi8KKwl7T0ZGU0VUKGdwbWNfY3NuMCks IChNT0RFKDApIHwgUFVMTFVERU4pfSwJLyogTkFORF9DUzAgKi8KKwl7T0ZGU0VUKGdwbWNfYWR2 bl9hbGUpLCAoTU9ERSgwKSB8IFBVTExVREVOKX0sIC8qIE5BTkRfQURWX0FMRSAqLworCXtPRkZT RVQoZ3BtY19vZW5fcmVuKSwgKE1PREUoMCkgfCBQVUxMVURFTil9LAkvKiBOQU5EX09FICovCisJ e09GRlNFVChncG1jX3dlbiksIChNT0RFKDApIHwgUFVMTFVERU4pfSwJLyogTkFORF9XRU4gKi8K Kwl7T0ZGU0VUKGdwbWNfYmUwbl9jbGUpLCAoTU9ERSgwKSB8IFBVTExVREVOKX0sCS8qIE5BTkRf QkVfQ0xFICovCisJey0xfSwKK307CisjZW5kaWYKKworc3RhdGljIGNvbnN0IF9fbWF5YmVfdW51 c2VkIHN0cnVjdCBtb2R1bGVfcGluX211eCBpMmMwX3Bpbl9tdXhbXSA9IHsKKwl7T0ZGU0VUKGky YzBfc2RhKSwgKE1PREUoMCkgfCBSWEFDVElWRSB8IFBVTExVREVOIHwgU0xFV0NUUkwpfSwJLyog STJDX0RBVEEgKi8KKwl7T0ZGU0VUKGkyYzBfc2NsKSwgKE1PREUoMCkgfCBSWEFDVElWRSB8IFBV TExVREVOIHwgU0xFV0NUUkwpfSwJLyogSTJDX1NDTEsgKi8KKwl7LTF9LAorfTsKKworc3RhdGlj IGNvbnN0IF9fbWF5YmVfdW51c2VkIHN0cnVjdCBtb2R1bGVfcGluX211eCBpMmMxX3Bpbl9tdXhb XSA9IHsKKwl7T0ZGU0VUKHNwaTBfZDEpLCAoTU9ERSgyKSB8IFJYQUNUSVZFIHwgUFVMTFVERU4g fCBTTEVXQ1RSTCl9LAkvKiBJMkNfREFUQSAqLworCXtPRkZTRVQoc3BpMF9jczApLCAoTU9ERSgy KSB8IFJYQUNUSVZFIHwgUFVMTFVERU4gfCBTTEVXQ1RSTCl9LAkvKiBJMkNfU0NMSyAqLworCXst MX0sCit9OworCitzdGF0aWMgY29uc3QgX19tYXliZV91bnVzZWQgc3RydWN0IG1vZHVsZV9waW5f bXV4IGkyYzJfcGluX211eFtdID0geworCXtPRkZTRVQodWFydDFfY3RzbiksIChNT0RFKDMpIHwg UlhBQ1RJVkUgfCBQVUxMVURFTiB8IFNMRVdDVFJMKX0sICAvKiBJMkNfREFUQSAqLworCXtPRkZT RVQodWFydDFfcnRzbiksIChNT0RFKDMpIHwgUlhBQ1RJVkUgfCBQVUxMVURFTiB8IFNMRVdDVFJM KX0sIC8qIEkyQ19TQ0xLICovCisJey0xfSwKK307CisKK3N0YXRpYyBjb25zdCBfX21heWJlX3Vu dXNlZCBzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggcmdtaWkxX3Bpbl9tdXhbXSA9IHsKKwl7T0ZGU0VU KG1paTFfdHhlbiksIE1PREUoMil9LAkJCS8qIFJHTUlJMV9UQ1RMICovCisJe09GRlNFVChtaWkx X3J4ZHYpLCBNT0RFKDIpIHwgUlhBQ1RJVkV9LAkvKiBSR01JSTFfUkNUTCAqLworCXtPRkZTRVQo bWlpMV90eGQzKSwgTU9ERSgyKX0sCQkJLyogUkdNSUkxX1REMyAqLworCXtPRkZTRVQobWlpMV90 eGQyKSwgTU9ERSgyKX0sCQkJLyogUkdNSUkxX1REMiAqLworCXtPRkZTRVQobWlpMV90eGQxKSwg TU9ERSgyKX0sCQkJLyogUkdNSUkxX1REMSAqLworCXtPRkZTRVQobWlpMV90eGQwKSwgTU9ERSgy KX0sCQkJLyogUkdNSUkxX1REMCAqLworCXtPRkZTRVQobWlpMV90eGNsayksIE1PREUoMil9LAkJ CS8qIFJHTUlJMV9UQ0xLICovCisJe09GRlNFVChtaWkxX3J4Y2xrKSwgTU9ERSgyKSB8IFJYQUNU SVZFfSwJLyogUkdNSUkxX1JDTEsgKi8KKwl7T0ZGU0VUKG1paTFfcnhkMyksIE1PREUoMikgfCBS WEFDVElWRX0sCS8qIFJHTUlJMV9SRDMgKi8KKwl7T0ZGU0VUKG1paTFfcnhkMiksIE1PREUoMikg fCBSWEFDVElWRX0sCS8qIFJHTUlJMV9SRDIgKi8KKwl7T0ZGU0VUKG1paTFfcnhkMSksIE1PREUo MikgfCBSWEFDVElWRX0sCS8qIFJHTUlJMV9SRDEgKi8KKwl7T0ZGU0VUKG1paTFfcnhkMCksIE1P REUoMikgfCBSWEFDVElWRX0sCS8qIFJHTUlJMV9SRDAgKi8KKwl7T0ZGU0VUKG1kaW9fZGF0YSks IE1PREUoMCkgfCBSWEFDVElWRSB8IFBVTExVUF9FTn0sIC8qIE1ESU9fREFUQSAqLworCXtPRkZT RVQobWRpb19jbGspLCBNT0RFKDApIHwgUFVMTFVQX0VOfSwJLyogTURJT19DTEsgKi8KKwl7LTF9 LAorfTsKKworc3RhdGljIGNvbnN0IF9fbWF5YmVfdW51c2VkIHN0cnVjdCBtb2R1bGVfcGluX211 eCByZ21paTJfcGluX211eFtdID0geworCXtPRkZTRVQoZ3BtY19hMCksIE1PREUoMil9LAkJCS8q IFJHTUlJMl9UQ1RMICovCisJe09GRlNFVChncG1jX2ExKSwgTU9ERSgyKSB8IFJYQUNUSVZFfSwJ CS8qIFJHTUlJMl9SQ1RMICovCisJe09GRlNFVChncG1jX2EyKSwgTU9ERSgyKX0sCQkJLyogUkdN SUkyX1REMyAqLworCXtPRkZTRVQoZ3BtY19hMyksIE1PREUoMil9LAkJCS8qIFJHTUlJMl9URDIg Ki8KKwl7T0ZGU0VUKGdwbWNfYTQpLCBNT0RFKDIpfSwJCQkvKiBSR01JSTJfVEQxICovCisJe09G RlNFVChncG1jX2E1KSwgTU9ERSgyKX0sCQkJLyogUkdNSUkyX1REMCAqLworCXtPRkZTRVQoZ3Bt Y19hNiksIE1PREUoMil9LAkJCS8qIFJHTUlJMl9UQ0xLICovCisJe09GRlNFVChncG1jX2E3KSwg TU9ERSgyKSB8IFJYQUNUSVZFfSwJCS8qIFJHTUlJMl9SQ0xLICovCisJe09GRlNFVChncG1jX2E4 KSwgTU9ERSgyKSB8IFJYQUNUSVZFfSwJCS8qIFJHTUlJMl9SRDMgKi8KKwl7T0ZGU0VUKGdwbWNf YTkpLCBNT0RFKDIpIHwgUlhBQ1RJVkV9LAkJLyogUkdNSUkyX1JEMiAqLworCXtPRkZTRVQoZ3Bt Y19hMTApLCBNT0RFKDIpIHwgUlhBQ1RJVkV9LAkJLyogUkdNSUkyX1JEMSAqLworCXtPRkZTRVQo Z3BtY19hMTEpLCBNT0RFKDIpIHwgUlhBQ1RJVkV9LAkJLyogUkdNSUkyX1JEMCAqLworCXtPRkZT RVQobWRpb19kYXRhKSwgTU9ERSgwKSB8IFJYQUNUSVZFIHwgUFVMTFVQX0VOfSwgLyogTURJT19E QVRBICovCisJe09GRlNFVChtZGlvX2NsayksIE1PREUoMCkgfCBQVUxMVVBfRU59LAkvKiBNRElP X0NMSyAqLworCXstMX0sCit9OworCitzdGF0aWMgY29uc3QgX19tYXliZV91bnVzZWQgc3RydWN0 IG1vZHVsZV9waW5fbXV4IG1paTFfcGluX211eFtdID0geworCXtPRkZTRVQobWlpMV9yeGVyciks IE1PREUoMCkgfCBSWEFDVElWRX0sCS8qIE1JSTFfUlhFUlIgKi8KKwl7T0ZGU0VUKG1paTFfdHhl biksIE1PREUoMCl9LAkJCS8qIE1JSTFfVFhFTiAqLworCXtPRkZTRVQobWlpMV9yeGR2KSwgTU9E RSgwKSB8IFJYQUNUSVZFfSwJLyogTUlJMV9SWERWICovCisJe09GRlNFVChtaWkxX3R4ZDMpLCBN T0RFKDApfSwJCQkvKiBNSUkxX1RYRDMgKi8KKwl7T0ZGU0VUKG1paTFfdHhkMiksIE1PREUoMCl9 LAkJCS8qIE1JSTFfVFhEMiAqLworCXtPRkZTRVQobWlpMV90eGQxKSwgTU9ERSgwKX0sCQkJLyog TUlJMV9UWEQxICovCisJe09GRlNFVChtaWkxX3R4ZDApLCBNT0RFKDApfSwJCQkvKiBNSUkxX1RY RDAgKi8KKwl7T0ZGU0VUKG1paTFfdHhjbGspLCBNT0RFKDApIHwgUlhBQ1RJVkV9LAkvKiBNSUkx X1RYQ0xLICovCisJe09GRlNFVChtaWkxX3J4Y2xrKSwgTU9ERSgwKSB8IFJYQUNUSVZFfSwJLyog TUlJMV9SWENMSyAqLworCXtPRkZTRVQobWlpMV9yeGQzKSwgTU9ERSgwKSB8IFJYQUNUSVZFfSwJ LyogTUlJMV9SWEQzICovCisJe09GRlNFVChtaWkxX3J4ZDIpLCBNT0RFKDApIHwgUlhBQ1RJVkV9 LAkvKiBNSUkxX1JYRDIgKi8KKwl7T0ZGU0VUKG1paTFfcnhkMSksIE1PREUoMCkgfCBSWEFDVElW RX0sCS8qIE1JSTFfUlhEMSAqLworCXtPRkZTRVQobWlpMV9yeGQwKSwgTU9ERSgwKSB8IFJYQUNU SVZFfSwJLyogTUlJMV9SWEQwICovCisJe09GRlNFVChtZGlvX2RhdGEpLCBNT0RFKDApIHwgUlhB Q1RJVkUgfCBQVUxMVVBfRU59LCAvKiBNRElPX0RBVEEgKi8KKwl7T0ZGU0VUKG1kaW9fY2xrKSwg TU9ERSgwKSB8IFBVTExVUF9FTn0sCS8qIE1ESU9fQ0xLICovCisJey0xfSwKK307CisKK3N0YXRp YyBjb25zdCBfX21heWJlX3VudXNlZCBzdHJ1Y3QgbW9kdWxlX3Bpbl9tdXggcm1paTFfcGluX211 eFtdID0geworCXtPRkZTRVQobWlpMV9jcnMpLCBNT0RFKDEpIHwgUlhBQ1RJVkV9LCAgICAgLyog Uk1JSTFfQ1JTICovCisJe09GRlNFVChtaWkxX3J4ZXJyKSwgTU9ERSgxKSB8IFJYQUNUSVZFfSwg ICAvKiBSTUlJMV9SWEVSUiAqLworCXtPRkZTRVQobWlpMV90eGVuKSwgTU9ERSgxKX0sICAgICAg ICAgICAvKiBSTUlJMV9UWEVOICovCisJe09GRlNFVChtaWkxX3R4ZDEpLCBNT0RFKDEpfSwgICAg ICAgICAgIC8qIFJNSUkxX1RYRDEgKi8KKwl7T0ZGU0VUKG1paTFfdHhkMCksIE1PREUoMSl9LCAg ICAgICAgICAgLyogUk1JSTFfVFhEMCAqLworCXtPRkZTRVQobWlpMV9yeGQxKSwgTU9ERSgxKSB8 IFJYQUNUSVZFfSwgICAgLyogUk1JSTFfUlhEMSAqLworCXtPRkZTRVQobWlpMV9yeGQwKSwgTU9E RSgxKSB8IFJYQUNUSVZFfSwgICAgLyogUk1JSTFfUlhEMCAqLworCXtPRkZTRVQobWRpb19kYXRh KSwgTU9ERSgwKSB8IFJYQUNUSVZFIHwgUFVMTFVQX0VOfSwgLyogTURJT19EQVRBICovCisJe09G RlNFVChtZGlvX2NsayksIE1PREUoMCkgfCBQVUxMVVBfRU59LCAgICAvKiBNRElPX0NMSyAqLwor CXtPRkZTRVQocm1paTFfcmVmY2xrKSwgTU9ERSgwKSB8IFJYQUNUSVZFfSwgLyogUk1JSTFfUkVG Q0xLICovCisJey0xfSwKK307CisKKyNpZmRlZiBDT05GSUdfTk9SCitzdGF0aWMgY29uc3QgX19t YXliZV91bnVzZWQgc3RydWN0IG1vZHVsZV9waW5fbXV4IG5vcl9waW5fbXV4W10gPSB7CisJe09G RlNFVChsY2RfZGF0YTApLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTAgKi8KKwl7T0ZG U0VUKGxjZF9kYXRhMSksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMSAqLworCXtPRkZT RVQobGNkX2RhdGEyKSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0EyICovCisJe09GRlNF VChsY2RfZGF0YTMpLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTMgKi8KKwl7T0ZGU0VU KGxjZF9kYXRhNCksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BNCAqLworCXtPRkZTRVQo bGNkX2RhdGE1KSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0E1ICovCisJe09GRlNFVChs Y2RfZGF0YTYpLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTYgKi8KKwl7T0ZGU0VUKGxj ZF9kYXRhNyksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BNyAqLworCXtPRkZTRVQoZ3Bt Y19hOCksIE1PREUoMCl9LAkJCS8qIE5PUl9BOCAqLworCXtPRkZTRVQoZ3BtY19hOSksIE1PREUo MCl9LAkJCS8qIE5PUl9BOSAqLworCXtPRkZTRVQoZ3BtY19hMTApLCBNT0RFKDApfSwJCQkvKiBO T1JfQTEwICovCisJe09GRlNFVChncG1jX2ExMSksIE1PREUoMCl9LAkJCS8qIE5PUl9BMTEgKi8K Kwl7T0ZGU0VUKGxjZF9kYXRhOCksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMTIgKi8K Kwl7T0ZGU0VUKGxjZF9kYXRhOSksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMTMgKi8K Kwl7T0ZGU0VUKGxjZF9kYXRhMTApLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTE0ICov CisJe09GRlNFVChsY2RfZGF0YTExKSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0ExNSAq LworCXtPRkZTRVQobGNkX2RhdGExMiksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9BMTYg Ki8KKwl7T0ZGU0VUKGxjZF9kYXRhMTMpLCBNT0RFKDEpIHwgUFVMTFVERU59LAkvKiBOT1JfQTE3 ICovCisJe09GRlNFVChsY2RfZGF0YTE0KSwgTU9ERSgxKSB8IFBVTExVREVOfSwJLyogTk9SX0Ex OCAqLworCXtPRkZTRVQobGNkX2RhdGExNSksIE1PREUoMSkgfCBQVUxMVURFTn0sCS8qIE5PUl9B MTkgKi8KKwl7T0ZGU0VUKGdwbWNfYTQpLCBNT0RFKDQpfSwJCQkvKiBOT1JfQTIwICovCisJe09G RlNFVChncG1jX2E1KSwgTU9ERSg0KX0sCQkJLyogTk9SX0EyMSAqLworCXtPRkZTRVQoZ3BtY19h NiksIE1PREUoNCl9LAkJCS8qIE5PUl9BMjIgKi8KKwl7T0ZGU0VUKGdwbWNfYWQwKSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDAgKi8KKwl7T0ZGU0VUKGdwbWNfYWQxKSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDEgKi8KKwl7T0ZGU0VUKGdwbWNfYWQyKSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDIgKi8KKwl7T0ZGU0VUKGdwbWNfYWQzKSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDMgKi8KKwl7T0ZGU0VUKGdwbWNfYWQ0KSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDQgKi8KKwl7T0ZGU0VUKGdwbWNfYWQ1KSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDUgKi8KKwl7T0ZGU0VUKGdwbWNfYWQ2KSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDYgKi8KKwl7T0ZGU0VUKGdwbWNfYWQ3KSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDcgKi8KKwl7T0ZGU0VUKGdwbWNfYWQ4KSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDggKi8KKwl7T0ZGU0VUKGdwbWNfYWQ5KSwgTU9ERSgw KSB8IFJYQUNUSVZFfSwJCS8qIE5PUl9BRDkgKi8KKwl7T0ZGU0VUKGdwbWNfYWQxMCksIE1PREUo MCkgfCBSWEFDVElWRX0sCS8qIE5PUl9BRDEwICovCisJe09GRlNFVChncG1jX2FkMTEpLCBNT0RF KDApIHwgUlhBQ1RJVkV9LAkvKiBOT1JfQUQxMSAqLworCXtPRkZTRVQoZ3BtY19hZDEyKSwgTU9E RSgwKSB8IFJYQUNUSVZFfSwJLyogTk9SX0FEMTIgKi8KKwl7T0ZGU0VUKGdwbWNfYWQxMyksIE1P REUoMCkgfCBSWEFDVElWRX0sCS8qIE5PUl9BRDEzICovCisJe09GRlNFVChncG1jX2FkMTQpLCBN T0RFKDApIHwgUlhBQ1RJVkV9LAkvKiBOT1JfQUQxNCAqLworCXtPRkZTRVQoZ3BtY19hZDE1KSwg TU9ERSgwKSB8IFJYQUNUSVZFfSwJLyogTk9SX0FEMTUgKi8KKwl7T0ZGU0VUKGdwbWNfY3NuMCks IChNT0RFKDApIHwgUFVMTFVQX0VOKX0sCS8qIE5PUl9DRSAqLworCXtPRkZTRVQoZ3BtY19vZW5f cmVuKSwgKE1PREUoMCkgfCBQVUxMVVBfRU4pfSwJLyogTk9SX09FICovCisJe09GRlNFVChncG1j X3dlbiksIChNT0RFKDApIHwgUFVMTFVQX0VOKX0sCS8qIE5PUl9XRU4gKi8KKwl7T0ZGU0VUKGdw bWNfd2FpdDApLCAoTU9ERSgwKSB8IFJYQUNUSVZFIHwgUFVMTFVQX0VOKX0sIC8qIE5PUiBXQUlU ICovCisJe09GRlNFVChsY2RfYWNfYmlhc19lbiksIE1PREUoNykgfCBSWEFDVElWRSB8IFBVTExV REVOfSwgLyogTk9SIFJFU0VUICovCisJey0xfSwKK307CisjZW5kaWYKKworc3RhdGljIGNvbnN0 IF9fbWF5YmVfdW51c2VkIHN0cnVjdCBtb2R1bGVfcGluX211eCBtbWMwX3Bpbl9tdXhbXSA9IHsK Kwl7T0ZGU0VUKG1tYzBfZGF0MyksIChNT0RFKDApIHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU4pfSwJ LyogTU1DMF9EQVQzICovCisJe09GRlNFVChtbWMwX2RhdDIpLCAoTU9ERSgwKSB8IFJYQUNUSVZF IHwgUFVMTFVQX0VOKX0sCS8qIE1NQzBfREFUMiAqLworCXtPRkZTRVQobW1jMF9kYXQxKSwgKE1P REUoMCkgfCBSWEFDVElWRSB8IFBVTExVUF9FTil9LAkvKiBNTUMwX0RBVDEgKi8KKwl7T0ZGU0VU KG1tYzBfZGF0MCksIChNT0RFKDApIHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU4pfSwJLyogTU1DMF9E QVQwICovCisJe09GRlNFVChtbWMwX2NsayksIChNT0RFKDApIHwgUlhBQ1RJVkUgfCBQVUxMVVBf RU4pfSwJLyogTU1DMF9DTEsgKi8KKwl7T0ZGU0VUKG1tYzBfY21kKSwgKE1PREUoMCkgfCBSWEFD VElWRSB8IFBVTExVUF9FTil9LAkvKiBNTUMwX0NNRCAqLworCXtPRkZTRVQobWNhc3AwX2FjbGty KSwgKE1PREUoNCkgfCBSWEFDVElWRSl9LAkJLyogTU1DMF9XUCAqLworCXtPRkZTRVQoc3BpMF9j czEpLCAoTU9ERSg1KSB8IFJYQUNUSVZFIHwgUFVMTFVQX0VOKX0sCS8qIE1NQzBfQ0QgKi8KKwl7 LTF9LAorfTsKKworc3RhdGljIGNvbnN0IF9fbWF5YmVfdW51c2VkIHN0cnVjdCBtb2R1bGVfcGlu X211eCBtbWMxX3Bpbl9tdXhbXSA9IHsKKwl7T0ZGU0VUKGdwbWNfYWQzKSwgKE1PREUoMSkgfCBS WEFDVElWRSl9LAkvKiBNTUMxX0RBVDMgKi8KKwl7T0ZGU0VUKGdwbWNfYWQyKSwgKE1PREUoMSkg fCBSWEFDVElWRSl9LAkvKiBNTUMxX0RBVDIgKi8KKwl7T0ZGU0VUKGdwbWNfYWQxKSwgKE1PREUo MSkgfCBSWEFDVElWRSl9LAkvKiBNTUMxX0RBVDEgKi8KKwl7T0ZGU0VUKGdwbWNfYWQwKSwgKE1P REUoMSkgfCBSWEFDVElWRSl9LAkvKiBNTUMxX0RBVDAgKi8KKwl7T0ZGU0VUKGdwbWNfY3NuMSks IChNT0RFKDIpIHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU4pfSwJLyogTU1DMV9DTEsgKi8KKwl7T0ZG U0VUKGdwbWNfY3NuMiksIChNT0RFKDIpIHwgUlhBQ1RJVkUgfCBQVUxMVVBfRU4pfSwJLyogTU1D MV9DTUQgKi8KKwl7T0ZGU0VUKHVhcnQxX3J4ZCksIChNT0RFKDEpIHwgUlhBQ1RJVkUgfCBQVUxM VVBfRU4pfSwJLyogTU1DMV9XUCAqLworCXtPRkZTRVQobWNhc3AwX2ZzeCksIChNT0RFKDQpIHwg UlhBQ1RJVkUpfSwJLyogTU1DMV9DRCAqLworCXstMX0sCit9OworCitzdGF0aWMgY29uc3QgX19t YXliZV91bnVzZWQgc3RydWN0IG1vZHVsZV9waW5fbXV4IHNwaTBfcGluX211eFtdID0geworCXtP RkZTRVQoc3BpMF9zY2xrKSwgTU9ERSgwKSB8IFBVTExVREVOIHwgUlhBQ1RJVkV9LCAvKlNQSTBf U0NMSyAqLworCXtPRkZTRVQoc3BpMF9kMCksIE1PREUoMCkgfCBQVUxMVURFTiB8IFBVTExVUF9F TiB8IFJYQUNUSVZFfSwgLypTUEkwX0QwICovCisJe09GRlNFVChzcGkwX2QxKSwgTU9ERSgwKSB8 IFBVTExVREVOIHwgUlhBQ1RJVkV9LCAvKlNQSTBfRDEgKi8KKwl7T0ZGU0VUKHNwaTBfY3MwKSwg TU9ERSgwKSB8IFBVTExVREVOIHwgUFVMTFVQX0VOIHwgUlhBQ1RJVkV9LCAvKlNQSTBfQ1MwICov CisJey0xfSwKK307CisKK3N0YXRpYyBjb25zdCBfX21heWJlX3VudXNlZCBzdHJ1Y3QgbW9kdWxl X3Bpbl9tdXggc3BpMV9waW5fbXV4W10gPSB7CisJe09GRlNFVChtY2FzcDBfYWNsa3gpLCBNT0RF KDMpIHwgUFVMTFVERU4gfCBSWEFDVElWRX0sIC8qU1BJMV9TQ0xLICovCisJe09GRlNFVChtY2Fz cDBfZnN4KSwgTU9ERSgzKSB8IFBVTExVREVOIHwgUFVMTFVQX0VOIHwgUlhBQ1RJVkV9LCAvKlNQ STFfRDAgKi8KKwl7T0ZGU0VUKG1jYXNwMF9heHIwKSwgTU9ERSgzKSB8IFBVTExVREVOIHwgUlhB Q1RJVkV9LCAvKlNQSTFfRDEgKi8KKwl7T0ZGU0VUKG1jYXNwMF9haGNsa3IpLCBNT0RFKDMpIHwg UFVMTFVERU4gfCBQVUxMVVBfRU4gfCBSWEFDVElWRX0sIC8qU1BJMV9DUzAgKi8KKwl7LTF9LAor fTsKKworLyoKKyAqIENvbmZpZ3VyZSB0aGUgcGluIG11eCBmb3IgdGhlIG1vZHVsZQorICovCitz dGF0aWMgdm9pZCBjb25maWd1cmVfbW9kdWxlX3Bpbl9tdXgoY29uc3Qgc3RydWN0IG1vZHVsZV9w aW5fbXV4ICptb2RfcGluX211eCkKK3sKKwlpbnQgaTsKKworCWlmICghbW9kX3Bpbl9tdXgpCisJ CXJldHVybjsKKworCWZvciAoaSA9IDA7IG1vZF9waW5fbXV4W2ldLnJlZ19vZmZzZXQgIT0gLTE7 IGkrKykKKwkJTVVYX0NGRyhtb2RfcGluX211eFtpXS52YWwsIG1vZF9waW5fbXV4W2ldLnJlZ19v ZmZzZXQpOworfQorCit2b2lkIGVuYWJsZV9taWkxX3Bpbl9tdXgodm9pZCkKK3sKKwljb25maWd1 cmVfbW9kdWxlX3Bpbl9tdXgobWlpMV9waW5fbXV4KTsKK30KKwordm9pZCBlbmFibGVfaTJjMF9w aW5fbXV4KHZvaWQpCit7CisJY29uZmlndXJlX21vZHVsZV9waW5fbXV4KGkyYzBfcGluX211eCk7 Cit9CisKK3ZvaWQgZW5hYmxlX2kyYzFfcGluX211eCh2b2lkKQoreworCWNvbmZpZ3VyZV9tb2R1 bGVfcGluX211eChpMmMxX3Bpbl9tdXgpOworfQorCit2b2lkIGVuYWJsZV9pMmMyX3Bpbl9tdXgo dm9pZCkKK3sKKwljb25maWd1cmVfbW9kdWxlX3Bpbl9tdXgoaTJjMl9waW5fbXV4KTsKK30KKwor dm9pZCBlbmFibGVfdWFydDBfcGluX211eCh2b2lkKQoreworCWNvbmZpZ3VyZV9tb2R1bGVfcGlu X211eCh1YXJ0MF9waW5fbXV4KTsKK30KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcC9p bmNsdWRlL21hY2gvYW0zM3h4LWNsb2NrLmggYi9hcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9t YWNoL2FtMzN4eC1jbG9jay5oCmluZGV4IDY1NGMxMDQuLmY5YmZkMzYgMTAwNjQ0Ci0tLSBhL2Fy Y2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvYW0zM3h4LWNsb2NrLmgKKysrIGIvYXJjaC9h cm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9hbTMzeHgtY2xvY2suaApAQCAtMTksNyArMTksMTc5 IEBACiAjaWZuZGVmIF9BTTMzWFhfQ0xPQ0tTX0hfCiAjZGVmaW5lIF9BTTMzWFhfQ0xPQ0tTX0hf CiAKKyNpbmNsdWRlICJhbTMzeHgtc2lsaWNvbi5oIgorCiAvKiogUFJNIENsb2NrIFJlZ3MgKi8K ICNkZWZpbmUgUFJNX1JTVENUUkwJCTB4MGYwMAogCisvKiBQdXQgdGhlIHBsbCBjb25maWcgdmFs dWVzIG92ZXIgaGVyZSAqLworCisjZGVmaW5lIE9TQwkyNAorCisvKiBNQUlOIFBMTCBGZGxsID0g MSBHSFosICovCisjZGVmaW5lIE1QVVBMTF9NXzUwMAk1MDAJLyogMTI1ICogbiAqLworI2RlZmlu ZSBNUFVQTExfTV81NTAJNTUwCS8qIDEyNSAqIG4gKi8KKyNkZWZpbmUgTVBVUExMX01fNjAwCTYw MAkvKiAxMjUgKiBuICovCisjZGVmaW5lIE1QVVBMTF9NXzcyMAk3MjAJLyogMTI1ICogbiAqLwor CisjZGVmaW5lIE1QVVBMTF9OCTIzCS8qIChuIC0xICkgKi8KKyNkZWZpbmUgTVBVUExMX00yCTEK KworLyogQ29yZSBQTEwgRmRsbCA9IDEgR0haLCAqLworI2RlZmluZSBDT1JFUExMX00JMTAwMAkv KiAxMjUgKiBuICovCisjZGVmaW5lIENPUkVQTExfTgkyMwkvKiAobiAtMSApICovCisKKyNkZWZp bmUgQ09SRVBMTF9NNAkxMAkvKiBDT1JFX0NMS09VVE00ID0gMjAwIE1IWiAqLworI2RlZmluZSBD T1JFUExMX001CTgJLyogQ09SRV9DTEtPVVRNNSA9IDI1MCBNSFogKi8KKyNkZWZpbmUgQ09SRVBM TF9NNgk0CS8qIENPUkVfQ0xLT1VUTTYgPSA1MDAgTUhaICovCisKKy8qCisgKiBVU0IgUEhZIGNs b2NrIGlzIDk2MCBNSFouIFNpbmNlLCB0aGlzIGNvbWVzIGRpcmVjdGx5IGZyb20gRmRsbCwgRmRs bAorICogZnJlcXVlbmN5IG5lZWRzIHRvIGJlIHNldCB0byA5NjAgTUhaLiBIZW5jZSwKKyAqIEZv ciBjbGtvdXQgPSAxOTIgTUhaLCBGZGxsID0gOTYwIE1IWiwgZGl2aWRlciB2YWx1ZXMgYXJlIGdp dmVuIGJlbG93CisgKi8KKyNkZWZpbmUgUEVSUExMX00JOTYwCisjZGVmaW5lIFBFUlBMTF9OCTIz CisjZGVmaW5lIFBFUlBMTF9NMgk1CisKKy8qIEREUiBGcmVxIGlzIDE2NiBNSFogZm9yIG5vdyov CisvKiBTZXQgRmRsbCA9IDQwMCBNSFogLCBGZGxsID0gTSAqIDIgKiBDTEtJTlAvIE4gKyAxOyBj bGtvdXQgPSBGZGxsIC8oMiAqIE0yKSAqLworLy8jaWYJKENPTkZJR19BTTMzNVhfRVZNX0lTXzEz eDEzID09IDEpCisjaWYgMAorI2RlZmluZSBERFJQTExfTQkxNjYJLyogTS9OICsgMSA9IDI1LzMg Ki8KKyNlbHNlCisjZGVmaW5lIEREUlBMTF9NCTI2NgorI2VuZGlmCisKKyNkZWZpbmUgRERSUExM X04JMjMKKyNkZWZpbmUgRERSUExMX00yCTEKKworLyogUFJDTSAqLworLyogTW9kdWxlIE9mZnNl dHMgKi8KKyNkZWZpbmUgQ01fUEVSICAgICAgICAgICAgICAgICAgICAgICAgICAoT01BUF9QUk1f QkFTRSArIDB4MCkKKyNkZWZpbmUgQ01fV0tVUCAgICAgICAgICAgICAgICAgICAgICAgICAoT01B UF9QUk1fQkFTRSArIDB4NDAwKQorI2RlZmluZSBDTV9EUExMICAgICAgICAgICAgICAgICAgICAg ICAgIChPTUFQX1BSTV9CQVNFICsgMHg1MDApCisjZGVmaW5lIENNX0RFVklDRSAgICAgICAgICAg ICAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDA3MDApCisjZGVmaW5lIENNX0NFRlVTRSAg ICAgICAgICAgICAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDBBMDApCisjZGVmaW5lIFBS TV9ERVZJQ0UgICAgICAgICAgICAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDBGMDApCisv KiBSZWdpc3RlciBPZmZzZXRzICovCisvKiBDb3JlIFBMTCBBRFBMTFMgKi8KKyNkZWZpbmUgQ01f Q0xLU0VMX0RQTExfQ09SRSAgICAgICAgICAgICAoQ01fV0tVUCArIDB4NjgpCisjZGVmaW5lIENN X0NMS01PREVfRFBMTF9DT1JFICAgICAgICAgICAgKENNX1dLVVAgKyAweDkwKQorCisvKiBDb3Jl IEhTRElWICovCisjZGVmaW5lIENNX0RJVl9NNF9EUExMX0NPUkUgICAgICAgICAgICAgKENNX1dL VVAgKyAweDgwKQorI2RlZmluZSBDTV9ESVZfTTVfRFBMTF9DT1JFICAgICAgICAgICAgIChDTV9X S1VQICsgMHg4NCkKKyNkZWZpbmUgQ01fRElWX002X0RQTExfQ09SRSAgICAgICAgICAgICAoQ01f V0tVUCArIDB4RDgpCisjZGVmaW5lIENNX0lETEVTVF9EUExMX0NPUkUgICAgICAgICAgICAgKENN X1dLVVAgKyAweDVjKQorCisvKiBQZXJpcGhlcmFsIFBMTCAqLworI2RlZmluZSBDTV9DTEtTRUxf RFBMTF9QRVIgICAgICAgICAgICAgIChDTV9XS1VQICsgMHg5YykKKyNkZWZpbmUgQ01fQ0xLTU9E RV9EUExMX1BFUiAgICAgICAgICAgICAoQ01fV0tVUCArIDB4OGMpCisjZGVmaW5lIENNX0RJVl9N Ml9EUExMX1BFUiAgICAgICAgICAgICAgKENNX1dLVVAgKyAweEFDKQorI2RlZmluZSBDTV9JRExF U1RfRFBMTF9QRVIgICAgICAgICAgICAgIChDTV9XS1VQICsgMHg3MCkKKworLyogRGlzcGxheSBQ TEwgKi8KKyNkZWZpbmUgQ01fQ0xLU0VMX0RQTExfRElTUCAgICAgICAgICAgICAoQ01fV0tVUCAr IDB4NTQpCisjZGVmaW5lIENNX0NMS01PREVfRFBMTF9ESVNQICAgICAgICAgICAgKENNX1dLVVAg KyAweDk4KQorI2RlZmluZSBDTV9ESVZfTTJfRFBMTF9ESVNQICAgICAgICAgICAgIChDTV9XS1VQ ICsgMHhBNCkKKworLyogRERSIFBMTCAqLworI2RlZmluZSBDTV9DTEtTRUxfRFBMTF9ERFIgICAg ICAgICAgICAgIChDTV9XS1VQICsgMHg0MCkKKyNkZWZpbmUgQ01fQ0xLTU9ERV9EUExMX0REUiAg ICAgICAgICAgICAoQ01fV0tVUCArIDB4OTQpCisjZGVmaW5lIENNX0RJVl9NMl9EUExMX0REUiAg ICAgICAgICAgICAgKENNX1dLVVAgKyAweEEwKQorI2RlZmluZSBDTV9JRExFU1RfRFBMTF9ERFIg ICAgICAgICAgICAgIChDTV9XS1VQICsgMHgzNCkKKworLyogTVBVIFBMTCAqLworI2RlZmluZSBD TV9DTEtTRUxfRFBMTF9NUFUgICAgICAgICAgICAgIChDTV9XS1VQICsgMHgyYykKKyNkZWZpbmUg Q01fQ0xLTU9ERV9EUExMX01QVSAgICAgICAgICAgICAoQ01fV0tVUCArIDB4ODgpCisjZGVmaW5l IENNX0RJVl9NMl9EUExMX01QVSAgICAgICAgICAgICAgKENNX1dLVVAgKyAweEE4KQorI2RlZmlu ZSBDTV9JRExFU1RfRFBMTF9NUFUgICAgICAgICAgICAgIChDTV9XS1VQICsgMHgyMCkKKworLyog VElNRVIgQ2xvY2sgU291cmNlIFNlbGVjdCAqLworI2RlZmluZSBDTEtTRUxfVElNRVIyX0NMSyAg ICAgICAgICAgICAgIChDTV9EUExMICsgMHg4KQorCisvKiBJbnRlcmNvbm5lY3QgY2xvY2tzICov CisjZGVmaW5lIENNX1BFUl9MNExTX0NMS0NUUkwgICAgICAgICAgICAgKENNX1BFUiArIDB4NjAp IC8qIEVNSUYgKi8KKyNkZWZpbmUgQ01fUEVSX0w0RldfQ0xLQ1RSTCAgICAgICAgICAgICAoQ01f UEVSICsgMHg2NCkgLyogRU1JRiBGVyAqLworI2RlZmluZSBDTV9QRVJfTDNfQ0xLQ1RSTCAgICAg ICAgICAgICAgIChDTV9QRVIgKyAweEUwKSAvKiBPQ01DIFJBTSAqLworI2RlZmluZSBDTV9QRVJf TDNfSU5TVFJfQ0xLQ1RSTCAgICAgICAgIChDTV9QRVIgKyAweERDKQorI2RlZmluZSBDTV9QRVJf TDRIU19DTEtDVFJMICAgICAgICAgICAgIChDTV9QRVIgKyAweDEyMCkKKyNkZWZpbmUgQ01fV0tV UF9MNFdLVVBfQ0xLQ1RSTCAgICAgICAgICAoQ01fV0tVUCArIDB4MGMpLyogVUFSVDAgKi8KKwor LyogRG9tYWluIFdha2UgVVAgKi8KKyNkZWZpbmUgQ01fV0tVUF9DTEtTVENUUkwgICAgICAgICAg ICAgICAoQ01fV0tVUCArIDApICAgLyogVUFSVDAgKi8KKyNkZWZpbmUgQ01fUEVSX0w0TFNfQ0xL U1RDVFJMICAgICAgICAgICAoQ01fUEVSICsgMHgwKSAgLyogVElNRVIyICovCisjZGVmaW5lIENN X1BFUl9MM19DTEtTVENUUkwgICAgICAgICAgICAgKENNX1BFUiArIDB4MGMpIC8qIEVNSUYgKi8K KyNkZWZpbmUgQ01fUEVSX0w0RldfQ0xLU1RDVFJMICAgICAgICAgICAoQ01fUEVSICsgMHgwOCkg LyogRU1JRiBGVyAqLworI2RlZmluZSBDTV9QRVJfTDNTX0NMS1NUQ1RSTCAgICAgICAgICAgIChD TV9QRVIgKyAweDQpCisjZGVmaW5lIENNX1BFUl9MNEhTX0NMS1NUQ1RSTCAgICAgICAgICAgKENN X1BFUiArIDB4MDExYykKKyNkZWZpbmUgQ01fQ0VGVVNFX0NMS1NUQ1RSTCAgICAgICAgICAgICAo Q01fQ0VGVVNFICsgMHgwKQorCisvKiBNb2R1bGUgRW5hYmxlIFJlZ2lzdGVycyAqLworI2RlZmlu ZSBDTV9QRVJfVElNRVIyX0NMS0NUUkwgICAgICAgICAgIChDTV9QRVIgKyAweDgwKSAvKiBUaW1l cjIgKi8KKyNkZWZpbmUgQ01fV0tVUF9VQVJUMF9DTEtDVFJMICAgICAgICAgICAoQ01fV0tVUCAr IDB4QjQpLyogVUFSVDAgKi8KKyNkZWZpbmUgQ01fV0tVUF9DT05UUk9MX0NMS0NUUkwgICAgICAg ICAoQ01fV0tVUCArIDB4NCkgLyogQ29udHJvbCBNb2R1bGUgKi8KKyNkZWZpbmUgQ01fUEVSX0VN SUZfQ0xLQ1RSTCAgICAgICAgICAgICAoQ01fUEVSICsgMHgyOCkgLyogRU1JRiAqLworI2RlZmlu ZSBDTV9QRVJfRU1JRl9GV19DTEtDVFJMICAgICAgICAgIChDTV9QRVIgKyAweEQwKSAvKiBFTUlG IEZXICovCisjZGVmaW5lIENNX1BFUl9HUE1DX0NMS0NUUkwgICAgICAgICAgICAgKENNX1BFUiAr IDB4MzApIC8qIEdQTUMgKi8KKyNkZWZpbmUgQ01fUEVSX0VMTV9DTEtDVFJMICAgICAgICAgICAg ICAoQ01fUEVSICsgMHg0MCkgLyogRUxNICovCisjZGVmaW5lIENNX1BFUl9TUEkwX0NMS0NUUkwg ICAgICAgICAgICAgKENNX1BFUiArIDB4NGMpIC8qIFNQSTAgKi8KKyNkZWZpbmUgQ01fUEVSX1NQ STFfQ0xLQ1RSTCAgICAgICAgICAgICAoQ01fUEVSICsgMHg1MCkgLyogU1BJMSAqLworI2RlZmlu ZSBDTV9XS1VQX0kyQzBfQ0xLQ1RSTCAgICAgICAgICAgIChDTV9XS1VQICsgMHhCOCkgLyogSTJD MCAqLworI2RlZmluZSBDTV9QRVJfQ1BHTUFDMF9DTEtDVFJMICAgICAgICAgIChDTV9QRVIgKyAw eDE0KSAvKiBFdGhlcm5ldCAqLworI2RlZmluZSBDTV9QRVJfQ1BTV19DTEtTVENUUkwgICAgICAg ICAgIChDTV9QRVIgKyAweDE0NCkvKiBFdGhlcm5ldCAqLworI2RlZmluZSBDTV9QRVJfT0NNQ1JB TV9DTEtDVFJMICAgICAgICAgIChDTV9QRVIgKyAweDJDKSAvKiBPQ01DIFJBTSAqLworI2RlZmlu ZSBDTV9QRVJfR1BJTzJfQ0xLQ1RSTCAgICAgICAgICAgIChDTV9QRVIgKyAweEIwKSAvKiBHUElP MiAqLworI2RlZmluZSBDTV9QRVJfVUFSVDNfQ0xLQ1RSTCAgICAgICAgICAgIChDTV9QRVIgKyAw eDc0KSAvKiBVQVJUMyAqLworI2RlZmluZSBDTV9QRVJfSTJDMV9DTEtDVFJMICAgICAgICAgICAg IChDTV9QRVIgKyAweDQ4KSAvKiBJMkMxICovCisjZGVmaW5lIENNX1BFUl9JMkMyX0NMS0NUUkwg ICAgICAgICAgICAgKENNX1BFUiArIDB4NDQpIC8qIEkyQzIgKi8KKyNkZWZpbmUgQ01fV0tVUF9H UElPMF9DTEtDVFJMICAgICAgICAgICAoQ01fV0tVUCArIDB4OCkgLyogR1BJTzAgKi8KKworI2Rl ZmluZSBDTV9QRVJfTU1DMF9DTEtDVFJMICAgICAgICAgICAgIChDTV9QRVIgKyAweDNDKQorI2Rl ZmluZSBDTV9QRVJfTU1DMV9DTEtDVFJMICAgICAgICAgICAgIChDTV9QRVIgKyAweEY0KQorI2Rl ZmluZSBDTV9QRVJfTU1DMl9DTEtDVFJMICAgICAgICAgICAgIChDTV9QRVIgKyAweEY4KQorCisv KiBQUkNNICovCisjZGVmaW5lIENNX0RQTExfT0ZGU0VUICAgICAgICAgICAgICAgICAgKE9NQVBf UFJNX0JBU0UgKyAweDAzMDApCisKKyNkZWZpbmUgQ01fQUxXT05fV0RUSU1FUl9DTEtDVFJMICAg ICAgICAoT01BUF9QUk1fQkFTRSArIDB4MTU4QykKKyNkZWZpbmUgQ01fQUxXT05fU1BJX0NMS0NU UkwgICAgICAgICAgICAoT01BUF9QUk1fQkFTRSArIDB4MTU5MCkKKyNkZWZpbmUgQ01fQUxXT05f Q09OVFJPTF9DTEtDVFJMICAgICAgICAoT01BUF9QUk1fQkFTRSArIDB4MTVDNCkKKworI2RlZmlu ZSBDTV9BTFdPTl9MM19TTE9XX0NMS1NUQ1RSTCAgICAgIChPTUFQX1BSTV9CQVNFICsgMHgxNDAw KQorCisjZGVmaW5lIENNX0FMV09OX0dQSU9fMF9DTEtDVFJMICAgICAgICAgKE9NQVBfUFJNX0JB U0UgKyAweDE1NWMpCisjZGVmaW5lIENNX0FMV09OX0dQSU9fMF9PUFRGQ0xLRU5fREJDTEsgKE9N QVBfUFJNX0JBU0UgKyAweDE1NWMpCisKKy8qIEV0aGVybmV0ICovCisjZGVmaW5lIENNX0VUSEVS TkVUX0NMS1NUQ1RSTCAgICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE0MDQpCisjZGVmaW5l IENNX0FMV09OX0VUSEVSTkVUXzBfQ0xLQ1RSTCAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE1RDQp CisjZGVmaW5lIENNX0FMV09OX0VUSEVSTkVUXzFfQ0xLQ1RSTCAgICAgKE9NQVBfUFJNX0JBU0Ug KyAweDE1RDgpCisKKy8qIFVBUlRzICovCisjZGVmaW5lIENNX0FMV09OX1VBUlRfMF9DTEtDVFJM ICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE1NTApCisjZGVmaW5lIENNX0FMV09OX1VBUlRf MV9DTEtDVFJMICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE1NTQpCisjZGVmaW5lIENNX0FM V09OX1VBUlRfMl9DTEtDVFJMICAgICAgICAgKE9NQVBfUFJNX0JBU0UgKyAweDE1NTgpCisKKy8q IEkyQyAqLworLyogTm90ZTogSW4gdGk4MTR4IEkyQzAgYW5kIEkyQzIgaGF2ZSBjb21tb24gY2xr IGNvbnRyb2wgKi8KKyNkZWZpbmUgQ01fQUxXT05fSTJDXzBfQ0xLQ1RSTCAgICAgICAgICAoT01B UF9QUk1fQkFTRSArIDB4MTU2NCkKKworLyogRU1JRjQgUFJDTSBEZWZpbnRpb24gKi8KKyNkZWZp bmUgQ01fREVGQVVMVF9MM19GQVNUX0NMS1NUQ1RSTCAgICAoT01BUF9QUk1fQkFTRSArIDB4MDUw OCkKKyNkZWZpbmUgQ01fREVGQVVMVF9FTUlGXzBfQ0xLQ1RSTCAgICAgICAoT01BUF9QUk1fQkFT RSArIDB4MDUyMCkKKyNkZWZpbmUgQ01fREVGQVVMVF9FTUlGXzFfQ0xLQ1RSTCAgICAgICAoT01B UF9QUk1fQkFTRSArIDB4MDUyNCkKKyNkZWZpbmUgQ01fREVGQVVMVF9ETU1fQ0xLQ1RSTCAgICAg ICAgICAoT01BUF9QUk1fQkFTRSArIDB4MDUyOCkKKyNkZWZpbmUgQ01fREVGQVVMVF9GV19DTEtD VFJMICAgICAgICAgICAoT01BUF9QUk1fQkFTRSArIDB4MDUyQykKKworLyogQUxXT04gUFJDTSAq LworI2RlZmluZSBDTV9BTFdPTl9PQ01DXzBfQ0xLU1RDVFJMICAgICAgIENNX1BFUl9MM19DTEtT VENUUkwKKyNkZWZpbmUgQ01fQUxXT05fT0NNQ18wX0NMS0NUUkwgICAgICAgICBDTV9QRVJfT0NN Q1JBTV9DTEtDVFJMCisKKyNkZWZpbmUgQ01fQUxXT05fR1BNQ19DTEtDVFJMICAgICAgICAgICBD TV9QRVJfR1BNQ19DTEtDVFJMCisKK2V4dGVybiB2b2lkIHBsbF9pbml0KHZvaWQpOworZXh0ZXJu IHZvaWQgZW5hYmxlX2Rkcl9jbG9ja3Modm9pZCk7CisKICNlbmRpZiAgLyogZW5kaWYgX0FNMzNY WF9DTE9DS1NfSF8gKi8KZGlmZiAtLWdpdCBhL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21h Y2gvYW0zM3h4LW11eC5oIGIvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9hbTMzeHgt bXV4LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZWQzMjhmNQotLS0gL2Rl di9udWxsCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvYW0zM3h4LW11eC5o CkBAIC0wLDAgKzEsMjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgVGV4YXMgSW5zdHJ1 bWVudHMgSW5jb3Jwb3JhdGVkIC0gaHR0cDovL3d3dy50aS5jb20vCisgKgorICogVGhpcyBwcm9n cmFtIGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICog bW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vu c2UgYXMKKyAqIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uIHZlcnNp b24gMi4KKyAqCisgKiBUaGlzIHByb2dyYW0gaXMgZGlzdHJpYnV0ZWQgImFzIGlzIiBXSVRIT1VU IEFOWSBXQVJSQU5UWSBvZiBhbnkKKyAqIGtpbmQsIHdoZXRoZXIgZXhwcmVzcyBvciBpbXBsaWVk OyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkKKyAqIG9mIE1FUkNIQU5UQUJJTElU WSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gU2VlIHRoZQorICogR05VIEdl bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqLworI2lmbmRlZiBfX0FN MzNYWF9NVVhfSF9fCisjZGVmaW5lIF9fQU0zM1hYX01VWF9IX18KKworZXh0ZXJuIHZvaWQgZW5h YmxlX21paTFfcGluX211eCh2b2lkKTsKK2V4dGVybiB2b2lkIGVuYWJsZV9pMmMwX3Bpbl9tdXgo dm9pZCk7CitleHRlcm4gdm9pZCBlbmFibGVfaTJjMV9waW5fbXV4KHZvaWQpOworZXh0ZXJuIHZv aWQgZW5hYmxlX2kyYzJfcGluX211eCh2b2lkKTsKK2V4dGVybiB2b2lkIGVuYWJsZV91YXJ0MF9w aW5fbXV4KHZvaWQpOworCisjZW5kaWYgLypfX0FNMzNYWF9NVVhfSF9fICovCmRpZmYgLS1naXQg YS9hcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4eC1zaWxpY29uLmggYi9hcmNo L2FybS9tYWNoLW9tYXAvaW5jbHVkZS9tYWNoL2FtMzN4eC1zaWxpY29uLmgKaW5kZXggN2IxMzk5 MS4uZWY4Nzk3ZiAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwL2luY2x1ZGUvbWFjaC9h bTMzeHgtc2lsaWNvbi5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9pbmNsdWRlL21hY2gvYW0z M3h4LXNpbGljb24uaApAQCAtMjcsNyArMjcsNiBAQAogI2RlZmluZSBBTTMzWFhfVUFSVDFfQkFT RQkJKEFNMzNYWF9MNF9QRVJfQkFTRSArIDB4MjIwMDApCiAjZGVmaW5lIEFNMzNYWF9VQVJUMl9C QVNFCQkoQU0zM1hYX0w0X1BFUl9CQVNFICsgMHgyNDAwMCkKIAotCiAvKiBFTUZJIFJlZ2lzdGVy cyAqLwogI2RlZmluZSBBTTMzWFhfRU1GSTBfQkFTRQkJMHg0QzAwMDAwMAogCkBAIC00OCw0ICs0 NywxNTcgQEAKIAogI2RlZmluZSBQUk1fUlNUQ1RSTF9SRVNFVAkJMHgxCiAKKy8qIENUUkwgKi8K KyNkZWZpbmUgQU0zM1hYX0NUUkxfQkFTRQkJKEFNMzNYWF9MNF9XS1VQX0JBU0UgKyAweDIxMDAw MCkKKyNkZWZpbmUgT01BUF9DVFJMX0JBU0UJCQkoQU0zM1hYX0NUUkxfQkFTRSkKKworLyogV2F0 Y2hkb2cgVGltZXIgKi8KKyNkZWZpbmUgV0RUX0JBU0UgICAgICAgICAgICAgICAgICAgICAgICAw eDQ0RTM1MDAwCisKKy8qIEVNSUYgQmFzZSBhZGRyZXNzICovCisjZGVmaW5lIEVNSUY0XzBfQ0ZH X0JBU0UgICAgICAgICAgICAgICAgMHg0QzAwMDAwMAorI2RlZmluZSBFTUlGNF8xX0NGR19CQVNF ICAgICAgICAgICAgICAgIDB4NEQwMDAwMDAKKyNkZWZpbmUgRE1NX0JBU0UgICAgICAgICAgICAg ICAgICAgICAgICAweDRFMDAwMDAwCisKKyNkZWZpbmUgQU0zMzVYX0NQU1dfQkFTRQkJMHg0QTEw MDAwMAorI2RlZmluZSBBTTMzNVhfQ1BTV19NRElPX0JBU0UJCTB4NEExMDEwMDAKKworLypETU0g JiBFTUlGNCBNTVIgRGVjbGFyYXRpb24qLworI2RlZmluZSBETU1fTElTQV9NQVBfXzAJCQkoRE1N X0JBU0UgKyAweDQwKQorI2RlZmluZSBETU1fTElTQV9NQVBfXzEJCQkoRE1NX0JBU0UgKyAweDQ0 KQorI2RlZmluZSBETU1fTElTQV9NQVBfXzIJCQkoRE1NX0JBU0UgKyAweDQ4KQorI2RlZmluZSBE TU1fTElTQV9NQVBfXzMJCQkoRE1NX0JBU0UgKyAweDRDKQorI2RlZmluZSBETU1fUEFUX0JBU0Vf QUREUgkJKERNTV9CQVNFICsgMHg0NjApCisKKyNkZWZpbmUgRU1JRl9NT0RfSURfUkVWCQkJKEVN SUY0XzBfQ0ZHX0JBU0UgKyAweDApCisjZGVmaW5lIEVNSUY0XzBfU0RSQU1fU1RBVFVTICAgICAg ICAgICAgKEVNSUY0XzBfQ0ZHX0JBU0UgKyAweDA0KQorI2RlZmluZSBFTUlGNF8wX1NEUkFNX0NP TkZJRyAgICAgICAgICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHgwOCkKKyNkZWZpbmUgRU1JRjRf MF9TRFJBTV9DT05GSUcyICAgICAgICAgICAoRU1JRjRfMF9DRkdfQkFTRSArIDB4MEMpCisjZGVm aW5lIEVNSUY0XzBfU0RSQU1fUkVGX0NUUkwgICAgICAgICAgKEVNSUY0XzBfQ0ZHX0JBU0UgKyAw eDEwKQorI2RlZmluZSBFTUlGNF8wX1NEUkFNX1JFRl9DVFJMX1NIQURPVyAgIChFTUlGNF8wX0NG R19CQVNFICsgMHgxNCkKKyNkZWZpbmUgRU1JRjRfMF9TRFJBTV9USU1fMSAgICAgICAgICAgICAo RU1JRjRfMF9DRkdfQkFTRSArIDB4MTgpCisjZGVmaW5lIEVNSUY0XzBfU0RSQU1fVElNXzFfU0hB RE9XICAgICAgKEVNSUY0XzBfQ0ZHX0JBU0UgKyAweDFDKQorI2RlZmluZSBFTUlGNF8wX1NEUkFN X1RJTV8yICAgICAgICAgICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHgyMCkKKyNkZWZpbmUgRU1J RjRfMF9TRFJBTV9USU1fMl9TSEFET1cgICAgICAoRU1JRjRfMF9DRkdfQkFTRSArIDB4MjQpCisj ZGVmaW5lIEVNSUY0XzBfU0RSQU1fVElNXzMgICAgICAgICAgICAgKEVNSUY0XzBfQ0ZHX0JBU0Ug KyAweDI4KQorI2RlZmluZSBFTUlGNF8wX1NEUkFNX1RJTV8zX1NIQURPVyAgICAgIChFTUlGNF8w X0NGR19CQVNFICsgMHgyQykKKyNkZWZpbmUgRU1JRjBfMF9TRFJBTV9NR01UX0NUUkwgICAgICAg ICAoRU1JRjRfMF9DRkdfQkFTRSArIDB4MzgpCisjZGVmaW5lIEVNSUYwXzBfU0RSQU1fTUdNVF9D VFJMX1NIRCAgICAgKEVNSUY0XzBfQ0ZHX0JBU0UgKyAweDNDKQorI2RlZmluZSBFTUlGNF8wX0RE Ul9QSFlfQ1RSTF8xICAgICAgICAgIChFTUlGNF8wX0NGR19CQVNFICsgMHhFNCkKKyNkZWZpbmUg RU1JRjRfMF9ERFJfUEhZX0NUUkxfMV9TSEFET1cgICAoRU1JRjRfMF9DRkdfQkFTRSArIDB4RTgp CisjZGVmaW5lIEVNSUY0XzBfRERSX1BIWV9DVFJMXzIgICAgICAgICAgKEVNSUY0XzBfQ0ZHX0JB U0UgKyAweEVDKQorI2RlZmluZSBFTUlGNF8wX0lPREZUX1RMR0MgICAgICAgICAgICAgIChFTUlG NF8wX0NGR19CQVNFICsgMHg2MCkKKworI2RlZmluZSBFTUlGNF8xX1NEUkFNX0NPTkZJRwkJKEVN SUY0XzFfQ0ZHX0JBU0UgKyAweDA4KQorI2RlZmluZSBFTUlGNF8xX1NEUkFNX0NPTkZJRzIJCShF TUlGNF8xX0NGR19CQVNFICsgMHgwQykKKyNkZWZpbmUgRU1JRjRfMV9TRFJBTV9SRUZfQ1RSTAkJ KEVNSUY0XzFfQ0ZHX0JBU0UgKyAweDEwKQorI2RlZmluZSBFTUlGNF8xX1NEUkFNX1JFRl9DVFJM X1NIQURPVwkoRU1JRjRfMV9DRkdfQkFTRSArIDB4MTQpCisjZGVmaW5lIEVNSUY0XzFfU0RSQU1f VElNXzEJCShFTUlGNF8xX0NGR19CQVNFICsgMHgxOCkKKyNkZWZpbmUgRU1JRjRfMV9TRFJBTV9U SU1fMV9TSEFET1cJKEVNSUY0XzFfQ0ZHX0JBU0UgKyAweDFDKQorI2RlZmluZSBFTUlGNF8xX1NE UkFNX1RJTV8yCQkoRU1JRjRfMV9DRkdfQkFTRSArIDB4MjApCisjZGVmaW5lIEVNSUY0XzFfU0RS QU1fVElNXzJfU0hBRE9XCShFTUlGNF8xX0NGR19CQVNFICsgMHgyNCkKKyNkZWZpbmUgRU1JRjRf MV9TRFJBTV9USU1fMwkJKEVNSUY0XzFfQ0ZHX0JBU0UgKyAweDI4KQorI2RlZmluZSBFTUlGNF8x X1NEUkFNX1RJTV8zX1NIQURPVwkoRU1JRjRfMV9DRkdfQkFTRSArIDB4MkMpCisjZGVmaW5lIEVN SUY0XzFfRERSX1BIWV9DVFJMXzEJCShFTUlGNF8xX0NGR19CQVNFICsgMHhFNCkKKyNkZWZpbmUg RU1JRjRfMV9ERFJfUEhZX0NUUkxfMV9TSEFET1cJKEVNSUY0XzFfQ0ZHX0JBU0UgKyAweEU4KQor I2RlZmluZSBFTUlGNF8xX0lPREZUX1RMR0MJCShFTUlGNF8xX0NGR19CQVNFICsgMHg2MCkKKwor I2RlZmluZSBWVFAwX0NUUkxfUkVHCQkJMHg0NEUxMEUwQworI2RlZmluZSBWVFAxX0NUUkxfUkVH CQkJMHg0ODE0MEUxMAorCisvKiBPQ01DICovCisjZGVmaW5lIFNSQU0wX1NJWkUJCQkoMHgxQjQw MCkgLyogMTA5IEtCICovCisjZGVmaW5lIFNSQU1fR1BNQ19TVEFDS19TSVpFCQkoMHg0MCkKKwor I2RlZmluZSBMT1dfTEVWRUxfU1JBTV9TVEFDSwkJKFNSQU0wX1NUQVJUICsgU1JBTTBfU0laRSAt IDQpCisKKy8qIEdQTUMgcmVsYXRlZCAqLworI2RlZmluZSBHUE1DX0NPTkZJR19DUzAJCQkoMHg2 MCkKKyNkZWZpbmUgR1BNQ19DT05GSUdfQ1MwX0JBU0UJCShHUE1DX0JBU0UgKyBHUE1DX0NPTkZJ R19DUzApCisjZGVmaW5lIEdQTUNfQ09ORklHMQkJCSgweDAwKQorI2RlZmluZSBHUE1DX0NPTkZJ RzIJCQkoMHgwNCkKKyNkZWZpbmUgR1BNQ19DT05GSUczCQkJKDB4MDgpCisjZGVmaW5lIEdQTUNf Q09ORklHNAkJCSgweDBDKQorI2RlZmluZSBHUE1DX0NPTkZJRzUJCQkoMHgxMCkKKyNkZWZpbmUg R1BNQ19DT05GSUc2CQkJKDB4MTQpCisjZGVmaW5lIEdQTUNfQ09ORklHNwkJCSgweDE4KQorCisv KiBERFIgb2Zmc2V0cyAqLworI2RlZmluZQlERFJfUEhZX0JBU0VfQUREUgkJMHg0NEUxMjAwMAor I2RlZmluZQlERFJfSU9fQ1RSTAkJCTB4NDRFMTBFMDQKKyNkZWZpbmUJRERSX0NLRV9DVFJMCQkJ MHg0NEUxMTMxQworI2RlZmluZQlDT05UUk9MX0JBU0VfQUREUgkJMHg0NEUxMDAwMAorCisjZGVm aW5lCUREUl9DTUQwX0lPQ1RSTAkJCShDT05UUk9MX0JBU0VfQUREUiArIDB4MTQwNCkKKyNkZWZp bmUJRERSX0NNRDFfSU9DVFJMCQkJKENPTlRST0xfQkFTRV9BRERSICsgMHgxNDA4KQorI2RlZmlu ZQlERFJfQ01EMl9JT0NUUkwJCQkoQ09OVFJPTF9CQVNFX0FERFIgKyAweDE0MEMpCisjZGVmaW5l CUREUl9EQVRBMF9JT0NUUkwJCShDT05UUk9MX0JBU0VfQUREUiArIDB4MTQ0MCkKKyNkZWZpbmUJ RERSX0RBVEExX0lPQ1RSTAkJKENPTlRST0xfQkFTRV9BRERSICsgMHgxNDQ0KQorCisjZGVmaW5l CUNNRDBfQ1RSTF9TTEFWRV9SQVRJT18wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDAxQykKKyNk ZWZpbmUJQ01EMF9DVFJMX1NMQVZFX0ZPUkNFXzAJCShERFJfUEhZX0JBU0VfQUREUiArIDB4MDIw KQorI2RlZmluZQlDTUQwX0NUUkxfU0xBVkVfREVMQVlfMAkJKEREUl9QSFlfQkFTRV9BRERSICsg MHgwMjQpCisjZGVmaW5lCUNNRDBfRExMX0xPQ0tfRElGRl8wCQkoRERSX1BIWV9CQVNFX0FERFIg KyAweDAyOCkKKyNkZWZpbmUJQ01EMF9JTlZFUlRfQ0xLT1VUXzAJCShERFJfUEhZX0JBU0VfQURE UiArIDB4MDJDKQorCisjZGVmaW5lCUNNRDFfQ1RSTF9TTEFWRV9SQVRJT18wCQkoRERSX1BIWV9C QVNFX0FERFIgKyAweDA1MCkKKyNkZWZpbmUJQ01EMV9DVFJMX1NMQVZFX0ZPUkNFXzAJCShERFJf UEhZX0JBU0VfQUREUiArIDB4MDU0KQorI2RlZmluZQlDTUQxX0NUUkxfU0xBVkVfREVMQVlfMAkJ KEREUl9QSFlfQkFTRV9BRERSICsgMHgwNTgpCisjZGVmaW5lCUNNRDFfRExMX0xPQ0tfRElGRl8w CQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDA1QykKKyNkZWZpbmUJQ01EMV9JTlZFUlRfQ0xLT1VU XzAJCShERFJfUEhZX0JBU0VfQUREUiArIDB4MDYwKQorCisjZGVmaW5lCUNNRDJfQ1RSTF9TTEFW RV9SQVRJT18wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDA4NCkKKyNkZWZpbmUJQ01EMl9DVFJM X1NMQVZFX0ZPUkNFXzAJCShERFJfUEhZX0JBU0VfQUREUiArIDB4MDg4KQorI2RlZmluZQlDTUQy X0NUUkxfU0xBVkVfREVMQVlfMAkJKEREUl9QSFlfQkFTRV9BRERSICsgMHgwOEMpCisjZGVmaW5l CUNNRDJfRExMX0xPQ0tfRElGRl8wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDA5MCkKKyNkZWZp bmUJQ01EMl9JTlZFUlRfQ0xLT1VUXzAJCShERFJfUEhZX0JBU0VfQUREUiArIDB4MDk0KQorCisj ZGVmaW5lIERBVEEwX1JEX0RRU19TTEFWRV9SQVRJT18wCShERFJfUEhZX0JBU0VfQUREUiArIDB4 MEM4KQorI2RlZmluZSBEQVRBMF9SRF9EUVNfU0xBVkVfUkFUSU9fMQkoRERSX1BIWV9CQVNFX0FE RFIgKyAweDBDQykKKyNkZWZpbmUJREFUQTBfV1JfRFFTX1NMQVZFX1JBVElPXzAJKEREUl9QSFlf QkFTRV9BRERSICsgMHgwREMpCisKKyNkZWZpbmUJREFUQTBfV1JfRFFTX1NMQVZFX1JBVElPXzEJ KEREUl9QSFlfQkFTRV9BRERSICsgMHgwRTApCisjZGVmaW5lCURBVEEwX1dSTFZMX0lOSVRfUkFU SU9fMAkoRERSX1BIWV9CQVNFX0FERFIgKyAweDBGMCkKKworI2RlZmluZQlEQVRBMF9XUkxWTF9J TklUX1JBVElPXzEJKEREUl9QSFlfQkFTRV9BRERSICsgMHgwRjQpCisjZGVmaW5lCURBVEEwX0dB VEVMVkxfSU5JVF9SQVRJT18wCShERFJfUEhZX0JBU0VfQUREUiArIDB4MEZDKQorCisjZGVmaW5l CURBVEEwX0dBVEVMVkxfSU5JVF9SQVRJT18xCShERFJfUEhZX0JBU0VfQUREUiArIDB4MTAwKQor I2RlZmluZQlEQVRBMF9GSUZPX1dFX1NMQVZFX1JBVElPXzAJKEREUl9QSFlfQkFTRV9BRERSICsg MHgxMDgpCisKKyNkZWZpbmUJREFUQTBfRklGT19XRV9TTEFWRV9SQVRJT18xCShERFJfUEhZX0JB U0VfQUREUiArIDB4MTBDKQorI2RlZmluZQlEQVRBMF9XUl9EQVRBX1NMQVZFX1JBVElPXzAJKERE Ul9QSFlfQkFTRV9BRERSICsgMHgxMjApCisKKyNkZWZpbmUJREFUQTBfV1JfREFUQV9TTEFWRV9S QVRJT18xCShERFJfUEhZX0JBU0VfQUREUiArIDB4MTI0KQorI2RlZmluZSBEQVRBMF9ETExfTE9D S19ESUZGXzAJCShERFJfUEhZX0JBU0VfQUREUiArIDB4MTM4KQorCisjZGVmaW5lIERBVEEwX1JB TkswX0RFTEFZU18wCQkoRERSX1BIWV9CQVNFX0FERFIgKyAweDEzNCkKKyNkZWZpbmUJREFUQTFf UkFOSzBfREVMQVlTXzAJCShERFJfUEhZX0JBU0VfQUREUiArIDB4MUQ4KQorCisvKiBFdGhlcm5l dCBNQUMgSUQgZnJvbSBFRnVzZSAqLworI2RlZmluZSBNQUNfSUQwX0xPCShBTTMzWFhfQ1RSTF9C QVNFICsgMHg2MzApCisjZGVmaW5lIE1BQ19JRDBfSEkJKEFNMzNYWF9DVFJMX0JBU0UgKyAweDYz NCkKKyNkZWZpbmUgTUFDX0lEMV9MTwkoQU0zM1hYX0NUUkxfQkFTRSArIDB4NjM4KQorI2RlZmlu ZSBNQUNfSUQxX0hJCShBTTMzWFhfQ1RSTF9CQVNFICsgMHg2M2MpCisjZGVmaW5lIE1BQ19NSUlf U0VMCShBTTMzWFhfQ1RSTF9CQVNFICsgMHg2NTApCisKKy8qIFdEVCByZWxhdGVkICovCisjZGVm aW5lIFdEVF9XRFNDCShXRFRfQkFTRSArIDB4MDEwKQorI2RlZmluZSBXRFRfV0RTVAkoV0RUX0JB U0UgKyAweDAxNCkKKyNkZWZpbmUgV0RUX1dJU1IJKFdEVF9CQVNFICsgMHgwMTgpCisjZGVmaW5l IFdEVF9XSUVSCShXRFRfQkFTRSArIDB4MDFDKQorI2RlZmluZSBXRFRfV1dFUgkoV0RUX0JBU0Ug KyAweDAyMCkKKyNkZWZpbmUgV0RUX1dDTFIJKFdEVF9CQVNFICsgMHgwMjQpCisjZGVmaW5lIFdE VF9XQ1JSCShXRFRfQkFTRSArIDB4MDI4KQorI2RlZmluZSBXRFRfV0xEUgkoV0RUX0JBU0UgKyAw eDAyQykKKyNkZWZpbmUgV0RUX1dUR1IJKFdEVF9CQVNFICsgMHgwMzApCisjZGVmaW5lIFdEVF9X V1BTCShXRFRfQkFTRSArIDB4MDM0KQorI2RlZmluZSBXRFRfV0RMWQkoV0RUX0JBU0UgKyAweDA0 NCkKKyNkZWZpbmUgV0RUX1dTUFIJKFdEVF9CQVNFICsgMHgwNDgpCisjZGVmaW5lIFdEVF9XSVJR RU9JCShXRFRfQkFTRSArIDB4MDUwKQorI2RlZmluZSBXRFRfV0lSUVNUQVRSQVcJKFdEVF9CQVNF ICsgMHgwNTQpCisjZGVmaW5lIFdEVF9XSVJRU1RBVAkoV0RUX0JBU0UgKyAweDA1OCkKKyNkZWZp bmUgV0RUX1dJUlFFTlNFVAkoV0RUX0JBU0UgKyAweDA1QykKKyNkZWZpbmUgV0RUX1dJUlFFTkNM UgkoV0RUX0JBU0UgKyAweDA2MCkKKwogI2VuZGlmCmRpZmYgLS1naXQgYS9hcmNoL2FybS9tYWNo LW9tYXAvaW5jbHVkZS9tYWNoL3hsb2FkLmggYi9hcmNoL2FybS9tYWNoLW9tYXAvaW5jbHVkZS9t YWNoL3hsb2FkLmgKaW5kZXggNDRkMzc1NC4uZDYzMjczNSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0v bWFjaC1vbWFwL2luY2x1ZGUvbWFjaC94bG9hZC5oCisrKyBiL2FyY2gvYXJtL21hY2gtb21hcC9p bmNsdWRlL21hY2gveGxvYWQuaApAQCAtOSw2ICs5LDcgQEAgZW51bSBvbWFwX2Jvb3Rfc3JjIHsK IAlPTUFQX0JPT1RTUkNfVVNCMSwKIH07CiAKK2VudW0gb21hcF9ib290X3NyYyBhbTMzeHhfYm9v dHNyYyh2b2lkKTsKIGVudW0gb21hcF9ib290X3NyYyBvbWFwM19ib290c3JjKHZvaWQpOwogZW51 bSBvbWFwX2Jvb3Rfc3JjIG9tYXA0X2Jvb3RzcmModm9pZCk7CiAKZGlmZiAtLWdpdCBhL2FyY2gv YXJtL21hY2gtb21hcC94bG9hZC5jIGIvYXJjaC9hcm0vbWFjaC1vbWFwL3hsb2FkLmMKaW5kZXgg MjQwZDNmZi4uNjAzNTdhYSAxMDA2NDQKLS0tIGEvYXJjaC9hcm0vbWFjaC1vbWFwL3hsb2FkLmMK KysrIGIvYXJjaC9hcm0vbWFjaC1vbWFwL3hsb2FkLmMKQEAgLTE1OSw3ICsxNTksOSBAQCBzdGF0 aWMgdm9pZCAqb21hcDRfeGxvYWRfYm9vdF91c2Iodm9pZCl7CiAKIGVudW0gb21hcF9ib290X3Ny YyBvbWFwX2Jvb3RzcmModm9pZCkKIHsKLSNpZiBkZWZpbmVkKENPTkZJR19BUkNIX09NQVAzKQor I2lmIGRlZmluZWQoQ09ORklHX0FSQ0hfQU0zM1hYKQorCXJldHVybiBhbTMzeHhfYm9vdHNyYygp OworI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQMykKIAlyZXR1cm4gb21hcDNfYm9vdHNy YygpOwogI2VsaWYgZGVmaW5lZChDT05GSUdfQVJDSF9PTUFQNCkKIAlyZXR1cm4gb21hcDRfYm9v dHNyYygpOwotLSAKMS43LjEwLjQKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpiYXJlYm94IG1haWxpbmcgbGlzdApiYXJlYm94QGxpc3RzLmluZnJhZGVh ZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9iYXJlYm94 Cg==