From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=ALL_TRUSTED autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 31323 invoked from network); 11 Jan 2023 01:12:35 -0000 Received: from localhost (HELO inbox.vuxu.org) (::1) by localhost with ESMTPUTF8; 11 Jan 2023 01:12:35 -0000 Content-Type: multipart/mixed; boundary="===============8712122546514483898==" MIME-Version: 1.0 Subject: =?utf8?q?=5BPR_PATCH=5D_chromium=3A_update_to_109=2E0=2E5414=2E74=2E?= To: ml@inbox.vuxu.org From: Duncaen Reply-to: ml@inbox.vuxu.org Message-ID: Date: Wed, 11 Jan 2023 02:12:35 +0100 List-Id: GitHub notification mails are now in MIME to allow UTF8. --===============8712122546514483898== Content-Type: text/plain; charset="utf8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 VGhlcmUgaXMgYSBuZXcgcHVsbCByZXF1ZXN0IGJ5IER1bmNhZW4gYWdhaW5zdCBtYXN0ZXIgb24g dGhlIHZvaWQtcGFja2FnZXMgcmVwb3NpdG9yeQoKaHR0cHM6Ly9naXRodWIuY29tL0R1bmNhZW4v dm9pZC1wYWNrYWdlcyBjaHJvbWl1bS0xMDkKaHR0cHM6Ly9naXRodWIuY29tL3ZvaWQtbGludXgv dm9pZC1wYWNrYWdlcy9wdWxsLzQxNTcwCgpjaHJvbWl1bTogdXBkYXRlIHRvIDEwOS4wLjU0MTQu NzQuCltjaSBza2lwXQ0KDQoqIFsgXSB4ODZfNjQtZ2xpYmMNCiogWyBdIHg4Nl82NC1tdXNsDQoq IFsgXSBhYXJjaDY0LW11c2wNCiogWyBdIGk2ODYKCkEgcGF0Y2ggZmlsZSBmcm9tIGh0dHBzOi8v Z2l0aHViLmNvbS92b2lkLWxpbnV4L3ZvaWQtcGFja2FnZXMvcHVsbC80MTU3MC5wYXRjaCBpcyBh dHRhY2hlZA== --===============8712122546514483898== Content-Type: text/x-diff MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="github-pr-chromium-109-41570.patch" RnJvbSBkODc4NmYwYzUxNTZjYTNlZDNmMDMxYzU1MGQyOWNmMmVjNzY2YzNkIE1vbiBTZXAgMTcg MDA6MDA6MDAgMjAwMQpGcm9tOiBEdW5jYWVuIDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+CkRhdGU6 IFdlZCwgMTEgSmFuIDIwMjMgMDE6Mjg6NDAgKzAxMDAKU3ViamVjdDogW1BBVENIXSBjaHJvbWl1 bTogdXBkYXRlIHRvIDEwOS4wLjU0MTQuNzQuCgotLS0KIC4uLi9tdXNsLXBhdGNoZXMveHh4LXBw YzY0bGUtc3VwcG9ydC5wYXRjaCAgICB8ICAxODcgLQogLi4uL3BhdGNoZXMvYnVpbGQtYWRkLXVz ZV9jeHgxNy5wYXRjaCAgICAgICAgIHwgICAzOCArLQogLi4uL3BhdGNoZXMvZml4LWJ1aWxkLXdp dGgtb2xkLWNsYW5nLnBhdGNoICAgIHwgICAyMCArCiAuLi4vcGF0Y2hlcy9maXgtbXVzbC1wdGhy ZWFkLXN0YWNrc2l6ZS5wYXRjaCAgfCAgIDQwIC0KIC4uLi9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1u YXJyb3dpbmctY2FzdC5wYXRjaCB8ICAgNTMgLQogLi4uL3BhdGNoZXMvZml4LW5hc20tbXVzbC1j b25maWcucGF0Y2ggICAgICAgIHwgICAxMiAtCiBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvbmFy cm93aW5nLWNhc3QucGF0Y2ggfCAgIDIxICsKIC4uLnVpbGQtZXJyb3Itb24tbGludXgtd2l0aC1z eXN0ZW0temxpYi5wYXRjaCB8ICAgNDEgLQogLi4uL3BhdGNoZXMvcmVtb3ZlLXN0cmlwX2JpbmFy eS5wYXRjaCAgICAgICAgIHwgICAzMiAtCiAuLi4vcGF0Y2hlcy94eHgtcHBjNjRsZS00ay1wYWdl cy5wYXRjaCAgICAgICAgfCAgIDYwIC0KIC4uLi9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxl LWxpYnZweC5wYXRjaCB8ICAgMzMgLQogLi4uL3h4eC1wcGM2NGxlLXNhbmRib3gtbGludXgtc3Rh dC5wYXRjaCAgICAgIHwgICAzMSAtCiAuLi4vcGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBh dGNoICAgICAgICAgfCAzNTkwIC0tLS0tLS0tLS0tLS0tLS0tCiAuLi4vcGF0Y2hlcy94eHgtcHBj NjRsZS1zd2lmdHNoYWRlci5wYXRjaCAgICAgfCAgIDE4IC0KIHNyY3BrZ3MvY2hyb21pdW0vdGVt cGxhdGUgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKy0KIDE1IGZpbGVzIGNoYW5nZWQsIDYy IGluc2VydGlvbnMoKyksIDQxMjUgZGVsZXRpb25zKC0pCiBkZWxldGUgbW9kZSAxMDA2NDQgc3Jj cGtncy9jaHJvbWl1bS9maWxlcy9tdXNsLXBhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRj aAogY3JlYXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtYnVpbGQt d2l0aC1vbGQtY2xhbmcucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvZml4LW11c2wtcHRocmVhZC1zdGFja3NpemUucGF0Y2gKIGRlbGV0ZSBtb2RlIDEw MDY0NCBzcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW5hcnJvd2luZy1jYXN0LnBhdGNoCiBk ZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1uYXNtLW11c2wt Y29uZmlnLnBhdGNoCiBjcmVhdGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L25hcnJvd2luZy1jYXN0LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL3JlLWZpeC1URkxpdGUtYnVpbGQtZXJyb3Itb24tbGludXgtd2l0aC1zeXN0ZW0t emxpYi5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9y ZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2NDQgc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLTRrLXBhZ2VzLnBhdGNoCiBkZWxldGUgbW9kZSAxMDA2 NDQgc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLWxpYnZweC5wYXRjaAogZGVs ZXRlIG1vZGUgMTAwNjQ0IHNyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS1zYW5k Ym94LWxpbnV4LXN0YXQucGF0Y2gKIGRlbGV0ZSBtb2RlIDEwMDY0NCBzcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaAogZGVsZXRlIG1vZGUgMTAwNjQ0IHNy Y3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy94eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaAoKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vZmlsZXMvbXVzbC1wYXRjaGVzL3h4eC1wcGM2NGxl LXN1cHBvcnQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wtcGF0Y2hlcy94eHgt cHBjNjRsZS1zdXBwb3J0LnBhdGNoCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCA1NTVm NjljMDcyYzguLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dzL2Nocm9taXVtL2ZpbGVzL211c2wt cGF0Y2hlcy94eHgtcHBjNjRsZS1zdXBwb3J0LnBhdGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTg3 ICswLDAgQEAKLWRpZmYgLS1naXQgc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9z Lmggc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKLWluZGV4IGE2YWVjNTQ0 ZS4uMmE0YTdmMWJjIDEwMDY0NAotLS0tIHNhbmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21wX21h Y3Jvcy5oCi0rKysgc2FuZGJveC9saW51eC9icGZfZHNsL3NlY2NvbXBfbWFjcm9zLmgKLUBAIC0x Niw3ICsxNiw3IEBACi0gI2lmIGRlZmluZWQoX19taXBzX18pCi0gLy8gc3lzL3VzZXIuaCBpbiBl Z2xpYmMgbWlzc2VzIHNpemVfdCBkZWZpbml0aW9uCi0gI2luY2x1ZGUgPHN0ZGRlZi5oPgotLSNl bGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18p ICYmIGRlZmluZWQoX19HTElCQ19fKQotIC8vIE1hbnVhbGx5IGRlZmluZSBncmVnX3Qgb24gcHBj NjQKLSB0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBncmVnX3Q7Ci0gI2VuZGlmCi1AQCAtMzYx LDExICszNjEsMTEgQEAgdHlwZWRlZiBzdHJ1Y3QgcHRfcmVncyByZWdzX3N0cnVjdDsKLSAjZGVm aW5lIFNFQ0NPTVBfQVJDSCBBVURJVF9BUkNIX1BQQzY0Ci0gI2VuZGlmCi0gCi0tI2RlZmluZSBT RUNDT01QX1JFRyhfY3R4LCBfcmVnKSAoKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5ncHJbX3Jl Z10pCi0rI2RlZmluZSBTRUNDT01QX1JFRyhfY3R4LCBfcmVnKSAoKChzdHJ1Y3QgcHRfcmVncyAq KShfY3R4KS0+dWNfbWNvbnRleHQucmVncyktPmdwcltfcmVnXSkKLSAKLSAjZGVmaW5lIFNFQ0NP TVBfUkVTVUxUKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCi0gI2RlZmluZSBTRUNDT01QX1NZ U0NBTEwoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMCkKLS0jZGVmaW5lIFNFQ0NPTVBfSVAoX2N0 eCkgKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5uaXAKLSsjZGVmaW5lIFNFQ0NPTVBfSVAoX2N0 eCkgKChzdHJ1Y3QgcHRfcmVncyAqKShfY3R4KS0+dWNfbWNvbnRleHQucmVncyktPm5pcAotICNk ZWZpbmUgU0VDQ09NUF9QQVJNMShfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCAzKQotICNkZWZpbmUg U0VDQ09NUF9QQVJNMihfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA0KQotICNkZWZpbmUgU0VDQ09N UF9QQVJNMyhfY3R4KSBTRUNDT01QX1JFRyhfY3R4LCA1KQotZGlmZiAtLWdpdCBzYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2Mgc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNj YWxsLmNjCi1pbmRleCBkNTNhN2ZmNTYuLmMyOTBmMGU5MiAxMDA2NDQKLS0tLSBzYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MKLSsrKyBzYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm L3N5c2NhbGwuY2MKLUBAIC00OTksOSArNDk5LDkgQEAgdm9pZCBTeXNjYWxsOjpQdXRWYWx1ZUlu VWNvbnRleHQoaW50cHRyX3QgcmV0X3ZhbCwgdWNvbnRleHRfdCogY3R4KSB7Ci0gICAvLyBTYW1l IGFzIE1JUFMsIG5lZWQgdG8gaW52ZXJ0IHJldCBhbmQgc2V0IGVycm9yIHJlZ2lzdGVyIChjcjAu U08pCi0gICBpZiAocmV0X3ZhbCA8PSAtMSAmJiByZXRfdmFsID49IC00MDk1KSB7Ci0gICAgIHJl dF92YWwgPSAtcmV0X3ZhbDsKLS0gICAgY3R4LT51Y19tY29udGV4dC5yZWdzLT5jY3IgfD0gKDEg PDwgMjgpOwotKyAgICAoKHN0cnVjdCBwdF9yZWdzICopY3R4LT51Y19tY29udGV4dC5yZWdzKS0+ Y2NyIHw9ICgxIDw8IDI4KTsKLSAgIH0gZWxzZSB7Ci0tICAgIGN0eC0+dWNfbWNvbnRleHQucmVn cy0+Y2NyICY9IH4oMSA8PCAyOCk7Ci0rICAgICgoc3RydWN0IHB0X3JlZ3MgKiljdHgtPnVjX21j b250ZXh0LnJlZ3MpLT5jY3IgJj0gfigxIDw8IDI4KTsKLSAgIH0KLSAjZW5kaWYKLSAgIFNFQ0NP TVBfUkVTVUxUKGN0eCkgPSBzdGF0aWNfY2FzdDxncmVnX3Q+KHJldF92YWwpOwotLS0tIHRoaXJk X3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9iYXNlL2ludGVybmFsL3Vuc2NhbGVkY3ljbGVjbG9ja19j b25maWcuaAotKysrIHRoaXJkX3BhcnR5L2Fic2VpbC1jcHAvYWJzbC9iYXNlL2ludGVybmFsL3Vu c2NhbGVkY3ljbGVjbG9ja19jb25maWcuaAotQEAgLTIyLDYgKzIyLDcgQEAKLSAvLyBUaGUgZm9s bG93aW5nIHBsYXRmb3JtcyBoYXZlIGFuIGltcGxlbWVudGF0aW9uIG9mIGEgaGFyZHdhcmUgY291 bnRlci4KLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBk ZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBcCi0gICAgIGRlZmluZWQoX19wb3dlcnBjX18pIHx8IGRl ZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX3Jpc2N2KSB8fCAgICAgXAotKyAgICAoKGRlZmlu ZWQoX19wb3dlcnBjX18pIHx8IGRlZmluZWQoX19wcGNfXykpICYmIGRlZmluZWQoX19HTElCQ19f KSkgfHwgZGVmaW5lZChfX3Jpc2N2KSB8fCAgICAgXAotICAgICBkZWZpbmVkKF9NX0lYODYpIHx8 IChkZWZpbmVkKF9NX1g2NCkgJiYgIWRlZmluZWQoX01fQVJNNjRFQykpCi0gI2RlZmluZSBBQlNM X0hBVkVfVU5TQ0FMRURfQ1lDTEVDTE9DS19JTVBMRU1FTlRBVElPTiAxCi0gI2Vsc2UKLS0tLSB0 aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2Vf Y29uZmlnLmgKLSsrKyB0aGlyZF9wYXJ0eS9hYnNlaWwtY3BwL2Fic2wvZGVidWdnaW5nL2ludGVy bmFsL3N0YWNrdHJhY2VfY29uZmlnLmgKLUBAIC02NCw3ICs2NCw3IEBACi0gI2VsaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKQotICNkZWZpbmUgQUJTTF9TVEFDS1RS QUNFX0lOTF9IRUFERVIgXAotICAgImFic2wvZGVidWdnaW5nL2ludGVybmFsL3N0YWNrdHJhY2Vf eDg2LWlubC5pbmMiCi0tI2VsaWYgZGVmaW5lZChfX3BwY19fKSB8fCBkZWZpbmVkKF9fUFBDX18p Ci0rI2VsaWYgKGRlZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX1BQQ19fKSkgJiYgZGVmaW5l ZChfX0dMSUJDX18pCi0gI2RlZmluZSBBQlNMX1NUQUNLVFJBQ0VfSU5MX0hFQURFUiBcCi0gICAi YWJzbC9kZWJ1Z2dpbmcvaW50ZXJuYWwvc3RhY2t0cmFjZV9wb3dlcnBjLWlubC5pbmMiCi0gI2Vs aWYgZGVmaW5lZChfX2FhcmNoNjRfXykKLWRpZmYgLS1naXQgdGhpcmRfcGFydHkvYnJlYWtwYWQv QlVJTEQuZ24gdGhpcmRfcGFydHkvYnJlYWtwYWQvQlVJTEQuZ24KLWluZGV4IGY5YTYwZTM3Li4y NWYzYTBiNyAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgotKysrIHRo aXJkX3BhcnR5L2JyZWFrcGFkL0JVSUxELmduCi1AQCAtNjM3LDYgKzYzNyw3IEBAIGlmIChpc19s aW51eCB8fCBpc19hbmRyb2lkKSB7Ci0gCi0gICAgIGlmIChjdXJyZW50X2NwdSA9PSAicHBjNjQi KSB7Ci0gICAgICAgICBkZWZpbmVzID0gWyAiSEFWRV9HRVRDT05URVhUIiBdCi0rICAgICAgICBs aWJzICs9IFsgInVjb250ZXh0IiBdCi0gICAgIH0gZWxzZSB7Ci0gICAgICAgICBzb3VyY2VzICs9 IFsKLSAgICAgICAgICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9icmVha3BhZF9nZXRj b250ZXh0LlMiCi1kaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjIHRoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Ro cmVhZF9pbmZvLmNjCi1pbmRleCAwM2FmZWM3YS4uMDI2NGVjZjEgMTAwNjQ0Ci0tLS0gdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21t b24vdGhyZWFkX2luZm8uY2MKLSsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJlYWRfaW5mby5jYwotQEAgLTI3Myw2 ICsyNzMsOSBAQCB2b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUq IG91dCkgY29uc3QgewotIAotICNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAKLSsjaW5j bHVkZSA8YXNtL2VsZi5oPgotKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0rCi0gdWludHB0cl90 IFRocmVhZEluZm86OkdldEluc3RydWN0aW9uUG9pbnRlcigpIGNvbnN0IHsKLSAgICAgcmV0dXJu IG1jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKLSB9Ci1AQCAtMjkwLDkgKzI5Myw5IEBAIHZvaWQg VGhyZWFkSW5mbzo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSogb3V0KSBjb25zdCB7Ci0g ICAgIG91dC0+Y3RyID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9DVFJdOwotICAgICAKLSAgICAgZm9y IChpbnQgaSA9IDA7IGkgPCBNRF9GTE9BVElOR1NBVkVBUkVBX1BQQ19GUFJfQ09VTlQ7IGkrKykK LS0gICAgICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHJlZ3NbaV0gPSBtY29udGV4dC5mcF9yZWdzW2ld OwotKyAgICAgICAgb3V0LT5mbG9hdF9zYXZlLmZwcmVnc1tpXSA9ICgodWludDY0X3QgKikmbWNv bnRleHQuZnBfcmVncylbaV07Ci0gCi0tICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9IG1jb250 ZXh0LmZwX3JlZ3NbTkZQUkVHLTFdOwotKyAgICBvdXQtPmZsb2F0X3NhdmUuZnBzY3IgPSAoKHVp bnQ2NF90ICopJm1jb250ZXh0LmZwX3JlZ3MpW0VMRl9ORlBSRUctMV07Ci0gCi0gICAgIGZvciAo aW50IGkgPSAwOyBpIDwgTURfVkVDVE9SU0FWRUFSRUFfUFBDX1ZSX0NPVU5UOyBpKyspCi0gICAg ICAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0gPSBcCi1kaWZmIC0tZ2l0IHRoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9u L3Vjb250ZXh0X3JlYWRlci5jYyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLWluZGV4IDEw OTA0NzBmLi5lNTgwMjMzZCAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MK LSsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi91Y29udGV4dF9yZWFkZXIuY2MKLUBAIC0yNTcsNiArMjU3LDkgQEAgdm9p ZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29udGV4dENQVSAqb3V0LCBjb25z dCB1Y29udGV4dF90ICp1YykgewotIAotICNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAK LSsjaW5jbHVkZSA8YXNtL2VsZi5oPgotKyNpbmNsdWRlIDxhc20vcHRyYWNlLmg+Ci0rCi0gdWlu dHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCog dWMpIHsKLSAgICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBD NjRfUkVHX1NQXTsKLSB9Ci1AQCAtMjgwLDkgKzI4Myw5IEBAIHZvaWQgVUNvbnRleHRSZWFkZXI6 OkZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMs Ci0gICAgIG91dC0+Y3RyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfQ1RSXTsKLSAgICAg Ci0gICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJFQV9QUENfRlBSX0NP VU5UOyBpKyspCi0tICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0gdWMtPnVjX21j b250ZXh0LmZwX3JlZ3NbaV07Ci0rICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ldID0g KCh1aW50NjRfdCAqKSZ1Yy0+dWNfbWNvbnRleHQuZnBfcmVncylbaV07Ci0gCi0tICAgIG91dC0+ ZmxvYXRfc2F2ZS5mcHNjciA9IHVjLT51Y19tY29udGV4dC5mcF9yZWdzW05GUFJFRy0xXTsKLSsg ICAgb3V0LT5mbG9hdF9zYXZlLmZwc2NyID0gKCh1aW50NjRfdCAqKSZ1Yy0+dWNfbWNvbnRleHQu ZnBfcmVncylbRUxGX05GUFJFRy0xXTsKLSAKLSAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCBNRF9W RUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykKLSAgICAgICAgIG91dC0+dmVjdG9yX3Nh dmUuc2F2ZV92cltpXSA9Ci1kaWZmIC0tZ2l0IHRoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyB0aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hh bmRsZXIuY2MKLWluZGV4IDVhN2FiNTBjLi5lZThiODU4YyAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hh bmRsZXIuY2MKLSsrKyB0aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXIuY2MKLUBAIC0xMDUsNiArMTA1LDExIEBACi0g I2RlZmluZSBQUl9TRVRfUFRSQUNFUiAweDU5NjE2ZDYxCi0gI2VuZGlmCi0gCi0rLyogbXVzbCBo YWNrLCBjYW4ndCBpbmNsdWRlIGFzbS9wdHJhY2UuaCBhcyB0aGF0IGNhdXNlcyBjb25mbGljdHMg Ki8KLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAmJiAhZGVmaW5lZChQVF9OSVApCi0rI2Rl ZmluZSBQVF9OSVAgMzIKLSsjZW5kaWYKLSsKLSBuYW1lc3BhY2UgZ29vZ2xlX2JyZWFrcGFkIHsK LSAKLSBuYW1lc3BhY2UgewotZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oIHRoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2xpbnV4L3NpZ25hbF9jb250ZXh0LmgKLWluZGV4IDhlMzM1YTA5Li5i MmEwZjE1NSAxMDA2NDQKLS0tLSB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC9zaWduYWxfY29udGV4dC5oCi0rKysgdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvc25hcHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAotQEAgLTQ2OSw3ICs0NjksNyBAQCBz dHJ1Y3QgTUNvbnRleHQ2NCB7Ci0gICBTaWduYWxUaHJlYWRDb250ZXh0NjQgZ3BfcmVnczsKLSAg IFNpZ25hbEZsb2F0Q29udGV4dDY0ICBmcF9yZWdzOwotICAgU2lnbmFsVmVjdG9yQ29udGV4dDY0 ICp2X3JlZ3M7Ci0tICBpbnQ2NF90IHZteF9yZXNlcnZlWzY5XTsKLSsgIGludDY0X3Qgdm14X3Jl c2VydmVbMTAxXTsKLSB9OwotIAotIHN0cnVjdCBDb250ZXh0VHJhaXRzNjQgOiBwdWJsaWMgVHJh aXRzNjQgewotZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xp bnV4L3RocmVhZF9pbmZvLmggdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51 eC90aHJlYWRfaW5mby5oCi1pbmRleCBkZWEwZDFmMy4uYjIwM2U1YjIgMTAwNjQ0Ci0tLS0gdGhp cmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCi0rKysg dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC90aHJlYWRfaW5mby5oCi1A QCAtMzAsNiArMzAsNyBAQAotIAotICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkK LSAjaW5jbHVkZSA8c3lzL3Vjb250ZXh0Lmg+Ci0rI2luY2x1ZGUgPGFzbS9wdHJhY2UuaD4KLSAj ZW5kaWYKLSAKLSBuYW1lc3BhY2UgY3Jhc2hwYWQgewotZGlmZiAtLWdpdCB0aGlyZF9wYXJ0eS9s c3MvbGludXhfc3lzY2FsbF9zdXBwb3J0LmggdGhpcmRfcGFydHkvbHNzL2xpbnV4X3N5c2NhbGxf c3VwcG9ydC5oCi1pbmRleCA5OTU1Y2U0NC4uNGMxY2M0ODggMTAwNjQ0Ci0tLS0gdGhpcmRfcGFy dHkvbHNzL2xpbnV4X3N5c2NhbGxfc3VwcG9ydC5oCi0rKysgdGhpcmRfcGFydHkvbHNzL2xpbnV4 X3N5c2NhbGxfc3VwcG9ydC5oCi1AQCAtNDIxNiw5ICs0MjE2LDEzIEBAIHN0cnVjdCBrZXJuZWxf c3RhdGZzIHsKLSAgICAgfQotICAgI2VuZGlmCi0gICAjaWYgZGVmaW5lZChfX05SX2ZzdGF0YXQ2 NCkKLSsgICAgLy8gbXVzbCBkb2VzICNkZWZpbmUgZnN0YXRhdDY0IGZzdGF0YXQKLSsgICAgI3Vu ZGVmIGZzdGF0YXQ2NAotICAgICBMU1NfSU5MSU5FIF9zeXNjYWxsNChpbnQsICAgZnN0YXRhdDY0 LCAgICAgICAgaW50LCAgIGQsCi0gICAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGNoYXIg KiwgICAgICBwLAotICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJ1Y3Qga2VybmVsX3N0YXQ2 NCAqLCAgIGIsICAgIGludCwgICBmKQotKyAgICAvLyBzZXQgaXQgYmFjayBsaWtlIGl0IHdhcwot KyAgICAjZGVmaW5lIGZzdGF0YXQ2NCBmc3RhdGF0Ci0gICAjZW5kaWYKLSAgICNpZiBkZWZpbmVk KF9fTlJfd2FpdHBpZCkKLSAgICAgLy8gd2FpdHBpZCBpcyBwb2x5ZmlsbGVkIGJlbG93IHdoZW4g bm90IGF2YWlsYWJsZS4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9idWls ZC1hZGQtdXNlX2N4eDE3LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2J1aWxkLWFk ZC11c2VfY3h4MTcucGF0Y2gKaW5kZXggMDkxYjFjNTUzNzI3Li5iNTA4MjVmYjdlMmMgMTAwNjQ0 Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9idWlsZC1hZGQtdXNlX2N4eDE3LnBhdGNo CisrKyBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9idWlsZC1hZGQtdXNlX2N4eDE3LnBhdGNo CkBAIC0xLDI2ICsxLDIyIEBACiAtLS0gYS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24K ICsrKyBiL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgotQEAgLTE2Nyw2ICsxNjcsMTAg QEAKLSAgICMgRW5hYmxlIC1ILCB3aGljaCBwcmludHMgdGhlIGluY2x1ZGUgdHJlZSBkdXJpbmcg Y29tcGlsYXRpb24uCi0gICAjIEZvciB1c2UgYnkgdG9vbHMvY2xhbmcvc2NyaXB0cy9hbmFseXpl X2luY2x1ZGVzLnB5Ci0gICBzaG93X2luY2x1ZGVzID0gZmFsc2UKLSsKLSsgICMgQWxsb3cgcHJv amVjdHMgdGhhdCB3aXNoIHRvIHN0YXkgb24gQysrMTcgdG8gb3ZlcnJpZGUgQ2hyb21pdW0ncyBk ZWZhdWx0LgotKyAgIyBUT0RPKGNyYnVnLmNvbS8xNDAyMjQ5KTogZXZhbHVhdGUgcmVtb3Zpbmcg dGhpcyBlbmQgb2YgMjAyMwotKyAgdXNlX2N4eDE3ID0gZmFsc2UKK0BAIC0xOTEsNiArMTkxLDEw IEBACisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGN1cnJlbnRfY3B1ID09ICJ4NjQiKSkpKQogIH0KICAKLSBkZWNsYXJlX2FyZ3MoKSB7Ci1A QCAtNTk2LDcgKzYwMCwxMSBAQAotICAgICB9IGVsc2UgaWYgKGlzX2xpbnV4KSB7Ci0gICAgICAg IyBUT0RPKGNyYnVnLmNvbS8xMjg0Mjc1KTogU3dpdGNoIHRvIEMrKzIwIG9uIGFsbCBwbGF0Zm9y bXMuCi0gICAgICAgaWYgKGlzX2NsYW5nKSB7Ci0tICAgICAgICBjZmxhZ3NfY2MgKz0gWyAiLXN0 ZD0ke3N0YW5kYXJkX3ByZWZpeH0rKzIwIiBdCi0rICAgICAgICBpZiAodXNlX2N4eDE3KSB7Ci0r ICAgICAgICAgIGNmbGFnc19jYyArPSBbICItc3RkPSR7c3RhbmRhcmRfcHJlZml4fSsrMTciIF0K LSsgICAgICAgIH0gZWxzZSB7Ci0rICAgICAgICAgIGNmbGFnc19jYyArPSBbICItc3RkPSR7c3Rh bmRhcmRfcHJlZml4fSsrMjAiIF0KLSsgICAgICAgIH0KKytkZWNsYXJlX2FyZ3MoKSB7CisrICB1 c2VfY3h4MTcgPSBmYWxzZQorK30KKysKKyBpZiAoaXNfYW5kcm9pZCB8fCAoaXNfY2hyb21lb3Nf YXNoICYmIGlzX2Nocm9tZW9zX2RldmljZSkpIHsKKyAgICMgU2V0IHRoZSBwYXRoIHRvIHVzZSBv cmRlcmZpbGUgZm9yIGxpbmtpbmcgQ2hyb21lCisgICAjIE5vdGUgdGhhdCB0aGlzIGlzIGZvciB1 c2luZyBvbmx5IG9uZSBvcmRlcmZpbGUgZm9yIGxpbmtpbmcKK0BAIC02MDUsNyArNjA5LDcgQEAK KyAgICAgICAgIGNmbGFnc19jYyArPSBbICItZm5vLXRyaWdyYXBocyIgXQorICAgICAgIH0KKyAg ICAgfSBlbHNlIGlmIChpc19jbGFuZykgeworLSAgICAgIGlmIChpc19jaHJvbWVvc19kZXZpY2Up IHsKKysgICAgICBpZiAoaXNfY2hyb21lb3NfZGV2aWNlIHx8IHVzZV9jeHgxNykgeworICAgICAg ICAgIyBUT0RPKGNyYnVnLmNvbS8xMzkyNDcxKTogU3VwcG9ydCBDKysyMCBpbiBDck9TIHRvb2xj aGFpbi4KKyAgICAgICAgIGNmbGFnc19jYyArPSBbICItc3RkPSR7c3RhbmRhcmRfcHJlZml4fSsr MTciIF0KICAgICAgICB9IGVsc2UgewotICAgICAgICAgIyBUaGUgZ2NjIGJvdHMgYXJlIGN1cnJl bnRseSB1c2luZyBHQ0MgOSwgd2hpY2ggaXMgbm90IG5ldyBlbm91Z2ggdG8KLSAgICAgICAgICMg c3VwcG9ydCAiYysrMjAiLyJnbnUrKzIwIi4KZGlmZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0v cGF0Y2hlcy9maXgtYnVpbGQtd2l0aC1vbGQtY2xhbmcucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMvZml4LWJ1aWxkLXdpdGgtb2xkLWNsYW5nLnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAw NjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZjIzMjE4ZTcxZTRkCi0tLSAvZGV2L251bGwKKysrIGIv c3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1idWlsZC13aXRoLW9sZC1jbGFuZy5wYXRjaApA QCAtMCwwICsxLDIwIEBACistLS0gYS9idWlsZC9jb25maWcvY29tcGlsZXIvQlVJTEQuZ24KKysr KyBiL2J1aWxkL2NvbmZpZy9jb21waWxlci9CVUlMRC5nbgorQEAgLTgwNSwxNyArODA1LDYgQEAK KyAgICAgY2ZsYWdzICs9IFsgIi1mY29tcGxldGUtbWVtYmVyLXBvaW50ZXJzIiBdCisgICB9Cisg CistICAjIFVzZSBEV0FSRiBzaW1wbGUgdGVtcGxhdGUgbmFtZXMsIHdpdGggdGhlIGZvbGxvd2lu ZyBleGNlcHRpb25zOgorLSAgIworLSAgIyAqIFdpbmRvd3MgaXMgbm90IHN1cHBvcnRlZCBhcyBp dCBkb2Vzbid0IHVzZSBEV0FSRi4KKy0gICMgKiBBcHBsZSBwbGF0Zm9ybXMgKGUuZy4gTWFjT1Ms IGlQaG9uZSwgaVBhZCkgYXJlbid0IHN1cHBvcnRlZCBiZWNhdXNlIHhjb2RlCistICAjICAgbGxk YiBkb2Vzbid0IGhhdmUgdGhlIG5lZWRlZCBjaGFuZ2VzIHlldC4KKy0gICMgKiBGdWNoc2lhIGlz bid0IHN1cHBvcnRlZCBhcyB6eGRiIGRvZXNuJ3Qgc3VwcG9ydCBzaW1wbGUgdGVtcGxhdGUgbmFt ZXMgeWV0LgorLSAgIyBUT0RPKGNyYnVnLmNvbS8xMzc5MDcwKTogUmVtb3ZlIGlmIHRoZSB1cHN0 cmVhbSBkZWZhdWx0IGV2ZXIgY2hhbmdlcy4KKy0gIGlmIChpc19jbGFuZyAmJiAhaXNfbmFjbCAm JiAhaXNfd2luICYmICFpc19hcHBsZSAmJiAhaXNfZnVjaHNpYSkgeworLSAgICBjZmxhZ3NfY2Mg Kz0gWyAiLWdzaW1wbGUtdGVtcGxhdGUtbmFtZXMiIF0KKy0gIH0KKy0KKyAgICMgTUxHTyBzcGVj aWZpYyBmbGFncy4gVGhlc2UgZmxhZ3MgZW5hYmxlIGFuIE1MLWJhc2VkIGlubGluZXIgdHJhaW5l ZCBvbgorICAgIyBDaHJvbWUgb24gQW5kcm9pZCAoYXJtMzIpIHdpdGggVGhpbkxUTyBlbmFibGVk LCBvcHRpbWl6aW5nIGZvciBzaXplLgorICAgIyBUaGUgInJlbGVhc2UiIE1MIG1vZGVsIGlzIGVt YmVkZGVkIGludG8gY2xhbmcgYXMgcGFydCBvZiBpdHMgYnVpbGQuCmRpZmYgLS1naXQgYS9zcmNw a2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW11c2wtcHRocmVhZC1zdGFja3NpemUucGF0Y2ggYi9z cmNwa2dzL2Nocm9taXVtL3BhdGNoZXMvZml4LW11c2wtcHRocmVhZC1zdGFja3NpemUucGF0Y2gK ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGNkNTUzMzE5MGRiOS4uMDAwMDAwMDAwMDAw Ci0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbXVzbC1wdGhyZWFkLXN0YWNrc2l6 ZS5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDQwICswLDAgQEAKLS0tLSBhL2Jhc2UvdGhyZWFk aW5nL3BsYXRmb3JtX3RocmVhZF9saW51eC5jYwotKysrIGIvYmFzZS90aHJlYWRpbmcvcGxhdGZv cm1fdGhyZWFkX2xpbnV4LmNjCi1AQCAtNDM2LDggKzQzNiwxMyBAQAotIAotIHNpemVfdCBHZXRE ZWZhdWx0VGhyZWFkU3RhY2tTaXplKGNvbnN0IHB0aHJlYWRfYXR0cl90JiBhdHRyaWJ1dGVzKSB7 Ci0gI2lmICFkZWZpbmVkKFRIUkVBRF9TQU5JVElaRVIpCi0rI2lmIGRlZmluZWQoX19HTElCQ19f KQotICAgcmV0dXJuIDA7Ci0gI2Vsc2UKLSsgIC8vIG11c2wgbGliY3MgZGVmYXVsdCBpcyB0b28g c21hbGwsIHVzZSA4bWIgbGlrZSBnbGliYwotKyAgcmV0dXJuICgxIDw8IDIzKTsKLSsjZW5kaWYK LSsjZWxzZQotICAgLy8gVGhyZWFkU2FuaXRpemVyIGJsb2F0cyB0aGUgc3RhY2sgaGVhdmlseS4g RXZpZGVuY2UgaGFzIGJlZW4gdGhhdCB0aGUKLSAgIC8vIGRlZmF1bHQgc3RhY2sgc2l6ZSBpc24n dCBlbm91Z2ggZm9yIHNvbWUgYnJvd3NlciB0ZXN0cy4KLSAgIHJldHVybiAyICogKDEgPDwgMjMp OyAgLy8gMiB0aW1lcyA4MTkySyAodGhlIGRlZmF1bHQgc3RhY2sgc2l6ZSBvbiBMaW51eCkuCi0t LS0gYS9jaHJvbWUvYnJvd3Nlci9zaHV0ZG93bl9zaWduYWxfaGFuZGxlcnNfcG9zaXguY2MKLSsr KyBiL2Nocm9tZS9icm93c2VyL3NodXRkb3duX3NpZ25hbF9oYW5kbGVyc19wb3NpeC5jYwotQEAg LTE4OCwxMSArMTg4LDIxIEBACi0gICBnX3NodXRkb3duX3BpcGVfcmVhZF9mZCA9IHBpcGVmZFsw XTsKLSAgIGdfc2h1dGRvd25fcGlwZV93cml0ZV9mZCA9IHBpcGVmZFsxXTsKLSAjaWYgIWRlZmlu ZWQoQUREUkVTU19TQU5JVElaRVIpCi0rI2lmIGRlZmluZWQoX19HTElCQ19fKQotICAgY29uc3Qg c2l6ZV90IGtTaHV0ZG93bkRldGVjdG9yVGhyZWFkU3RhY2tTaXplID0gUFRIUkVBRF9TVEFDS19N SU4gKiAyOwotICNlbHNlCi0rICAvLyBtYXRjaCB1cCBtdXNscyAyayBQVEhSRUFEX1NUQUNLX01J TiB3aXRoIGdsaWJjcyAxNmsKLSsgIGNvbnN0IHNpemVfdCBrU2h1dGRvd25EZXRlY3RvclRocmVh ZFN0YWNrU2l6ZSA9IFBUSFJFQURfU1RBQ0tfTUlOICogMiAqIDg7Ci0rI2VuZGlmCi0rI2Vsc2UK LSAgIC8vIEFTYW4gaW5zdHJ1bWVudGF0aW9uIGJsb2F0cyB0aGUgc3RhY2sgZnJhbWVzLCBzbyB3 ZSBuZWVkIHRvIGluY3JlYXNlIHRoZQotICAgLy8gc3RhY2sgc2l6ZSB0byBhdm9pZCBoaXR0aW5n IHRoZSBndWFyZCBwYWdlLgotKyNpZiBkZWZpbmVkKF9fR0xJQkNfXykKLSAgIGNvbnN0IHNpemVf dCBrU2h1dGRvd25EZXRlY3RvclRocmVhZFN0YWNrU2l6ZSA9IFBUSFJFQURfU1RBQ0tfTUlOICog NDsKLSsjZWxzZQotKyAgY29uc3Qgc2l6ZV90IGtTaHV0ZG93bkRldGVjdG9yVGhyZWFkU3RhY2tT aXplID0gUFRIUkVBRF9TVEFDS19NSU4gKiA0ICogODsKLSsgIC8vIG1hdGNoIHVwIG11c2xzIDJr IFBUSFJFQURfU1RBQ0tfTUlOIHdpdGggZ2xpYmNzIDE2awotKyNlbmRpZgotICNlbmRpZgotICAg U2h1dGRvd25EZXRlY3RvciogZGV0ZWN0b3IgPSBuZXcgU2h1dGRvd25EZXRlY3RvcigKLSAgICAg ICBnX3NodXRkb3duX3BpcGVfcmVhZF9mZCwgc3RkOjptb3ZlKHNodXRkb3duX2NhbGxiYWNrKSwg dGFza19ydW5uZXIpOwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1u YXJyb3dpbmctY2FzdC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFycm93 aW5nLWNhc3QucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGFmZDQyYTE0ODlh ZS4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFycm93 aW5nLWNhc3QucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw1MyArMCwwIEBACi0tLS0gYS9iYXNl L2ZpbGVzL2ZpbGVfdXRpbF9saW51eC5jYwotKysrIGIvYmFzZS9maWxlcy9maWxlX3V0aWxfbGlu dXguY2MKLUBAIC0yMywxNCArMjMsMTQgQEAKLSAKLSAgIC8vIE5vdCBhbGwgcG9zc2libGUgfHN0 YXRmc19idWYuZl90eXBlfCB2YWx1ZXMgYXJlIGluIGxpbnV4L21hZ2ljLmguCi0gICAvLyBNaXNz aW5nIHZhbHVlcyBhcmUgY29waWVkIGZyb20gdGhlIHN0YXRmcyBtYW4gcGFnZS4KLS0gIHN3aXRj aCAoc3RhdGZzX2J1Zi5mX3R5cGUpIHsKLSsgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8dWludG1heF90 PihzdGF0ZnNfYnVmLmZfdHlwZSkpIHsKLSAgICAgY2FzZSAwOgotICAgICAgICp0eXBlID0gRklM RV9TWVNURU1fMDsKLSAgICAgICBicmVhazsKLSAgICAgY2FzZSBFWFQyX1NVUEVSX01BR0lDOiAg Ly8gQWxzbyBleHQzIGFuZCBleHQ0Ci0gICAgIGNhc2UgTVNET1NfU1VQRVJfTUFHSUM6Ci0gICAg IGNhc2UgUkVJU0VSRlNfU1VQRVJfTUFHSUM6Ci0tICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihC VFJGU19TVVBFUl9NQUdJQyk6Ci0rICAgIGNhc2UgQlRSRlNfU1VQRVJfTUFHSUM6Ci0gICAgIGNh c2UgMHg1MzQ2NTQ0RTogIC8vIE5URlMKLSAgICAgY2FzZSAweDU4NDY1MzQyOiAgLy8gWEZTCi0g ICAgIGNhc2UgMHgzMTUzNDY0QTogIC8vIEpGUwotQEAgLTQwLDE0ICs0MCwxNCBAQAotICAgICAg ICp0eXBlID0gRklMRV9TWVNURU1fTkZTOwotICAgICAgIGJyZWFrOwotICAgICBjYXNlIFNNQl9T VVBFUl9NQUdJQzoKLS0gICAgY2FzZSBzdGF0aWNfY2FzdDxpbnQ+KDB4RkY1MzRENDIpOiAgLy8g Q0lGUwotKyAgICBjYXNlIDB4RkY1MzRENDI6ICAvLyBDSUZTCi0gICAgICAgKnR5cGUgPSBGSUxF X1NZU1RFTV9TTUI7Ci0gICAgICAgYnJlYWs7Ci0gICAgIGNhc2UgQ09EQV9TVVBFUl9NQUdJQzoK LSAgICAgICAqdHlwZSA9IEZJTEVfU1lTVEVNX0NPREE7Ci0gICAgICAgYnJlYWs7Ci0tICAgIGNh c2Ugc3RhdGljX2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgotLSAgICBjYXNlIHN0YXRpY19j YXN0PGludD4oUkFNRlNfTUFHSUMpOgotKyAgICBjYXNlIEhVR0VUTEJGU19NQUdJQzoKLSsgICAg Y2FzZSBSQU1GU19NQUdJQzoKLSAgICAgY2FzZSBUTVBGU19NQUdJQzoKLSAgICAgICAqdHlwZSA9 IEZJTEVfU1lTVEVNX01FTU9SWTsKLSAgICAgICBicmVhazsKLS0tLSBhL2Jhc2Uvc3lzdGVtL3N5 c19pbmZvX3Bvc2l4LmNjCi0rKysgYi9iYXNlL3N5c3RlbS9zeXNfaW5mb19wb3NpeC5jYwotQEAg LTEwMCwxMCArMTAwLDEwIEBACi0gICBpZiAoSEFORExFX0VJTlRSKHN0YXRmcyhwYXRoLnZhbHVl KCkuY19zdHIoKSwgJnN0YXRzKSkgIT0gMCkKLSAgICAgcmV0dXJuIGZhbHNlOwotIAotLSAgc3dp dGNoIChzdGF0cy5mX3R5cGUpIHsKLSsgIHN3aXRjaCAoc3RhdGljX2Nhc3Q8dWludG1heF90Pihz dGF0cy5mX3R5cGUpKSB7Ci0gICAgIGNhc2UgVE1QRlNfTUFHSUM6Ci0tICAgIGNhc2Ugc3RhdGlj X2Nhc3Q8aW50PihIVUdFVExCRlNfTUFHSUMpOgotLSAgICBjYXNlIHN0YXRpY19jYXN0PGludD4o UkFNRlNfTUFHSUMpOgotKyAgICBjYXNlIEhVR0VUTEJGU19NQUdJQzoKLSsgICAgY2FzZSBSQU1G U19NQUdJQzoKLSAgICAgICByZXR1cm4gdHJ1ZTsKLSAgIH0KLSAgIHJldHVybiBmYWxzZTsKZGlm ZiAtLWdpdCBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFzbS1tdXNsLWNvbmZpZy5w YXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9maXgtbmFzbS1tdXNsLWNvbmZpZy5wYXRj aApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggN2EwMzM3ZjNiZjNiLi4wMDAwMDAwMDAw MDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL2ZpeC1uYXNtLW11c2wtY29uZmlnLnBh dGNoCisrKyAvZGV2L251bGwKQEAgLTEsMTIgKzAsMCBAQAotLS0tIGEvdGhpcmRfcGFydHkvbmFz bS9jb25maWcvY29uZmlnLWxpbnV4LmgKLSsrKyBiL3RoaXJkX3BhcnR5L25hc20vY29uZmlnL2Nv bmZpZy1saW51eC5oCi1AQCAtMTM5LDcgKzEzOSw5IEBACi0gI2RlZmluZSBIQVZFX0FDQ0VTUyAx Ci0gCi0gLyogRGVmaW5lIHRvIDEgaWYgeW91IGhhdmUgdGhlIGBjYW5vbmljYWxpemVfZmlsZV9u YW1lJyBmdW5jdGlvbi4gKi8KLSsjaWZkZWYgX19HTElCQ19fCi0gI2RlZmluZSBIQVZFX0NBTk9O SUNBTElaRV9GSUxFX05BTUUgMQotKyNlbmRpZgotIAotIC8qIERlZmluZSB0byAxIGlmIHlvdSBo YXZlIHRoZSBgY3B1X3RvX2xlMTYnIGludHJpbnNpYyBmdW5jdGlvbi4gKi8KLSAvKiAjdW5kZWYg SEFWRV9DUFVfVE9fTEUxNiAqLwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVz L25hcnJvd2luZy1jYXN0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25hcnJvd2lu Zy1jYXN0LnBhdGNoCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMC4uZDEw OTQwZWI3ZTg5Ci0tLSAvZGV2L251bGwKKysrIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL25h cnJvd2luZy1jYXN0LnBhdGNoCkBAIC0wLDAgKzEsMjEgQEAKK2Zyb20gdGhlIG1hbnBhZ2UgZm9y IHN0YXRmczoKKworVGhlIF9fZnN3b3JkX3QgdHlwZSB1c2VkIGZvciB2YXJpb3VzIGZpZWxkcyBp biB0aGUgc3RhdGZzIHN0cnVjdHVyZQorZGVmaW5pdGlvbiBpcyBhIGdsaWJjIGludGVybmFsIHR5 cGUsIG5vdCBpbnRlbmRlZCBmb3IgcHVibGljIHVzZS4gIFRoaXMKK2xlYXZlcyB0aGUgcHJvZ3Jh bW1lciBpbiBhIGJpdCBvZiBhIGNvbnVuZHJ1bSB3aGVuIHRyeWluZyB0byBjb3B5IG9yCitjb21w YXJlIHRoZXNlIGZpZWxkcyB0byBsb2NhbCB2YXJpYWJsZXMgaW4gYSBwcm9ncmFtLiAgVXNpbmcK K3Vuc2lnbmVkwqBpbnQgZm9yIHN1Y2ggdmFyaWFibGVzIHN1ZmZpY2VzIG9uIG1vc3Qgc3lzdGVt cy4KKworLS0tIGEvYmFzZS9zeXN0ZW0vc3lzX2luZm9fcG9zaXguY2MKKysrKyBiL2Jhc2Uvc3lz dGVtL3N5c19pbmZvX3Bvc2l4LmNjCitAQCAtNjQsOCArNjQsOCBAQAorIAorICAgc3dpdGNoIChz dGF0cy5mX3R5cGUpIHsKKyAgICAgY2FzZSBUTVBGU19NQUdJQzoKKy0gICAgY2FzZSBzdGF0aWNf Y2FzdDxpbnQ+KEhVR0VUTEJGU19NQUdJQyk6CistICAgIGNhc2Ugc3RhdGljX2Nhc3Q8aW50PihS QU1GU19NQUdJQyk6CisrICAgIGNhc2Ugc3RhdGljX2Nhc3Q8dW5zaWduZWQgaW50PihIVUdFVExC RlNfTUFHSUMpOgorKyAgICBjYXNlIHN0YXRpY19jYXN0PHVuc2lnbmVkIGludD4oUkFNRlNfTUFH SUMpOgorICAgICAgIHJldHVybiB0cnVlOworICAgfQorICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0t Z2l0IGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3JlLWZpeC1URkxpdGUtYnVpbGQtZXJyb3It b24tbGludXgtd2l0aC1zeXN0ZW0temxpYi5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy9yZS1maXgtVEZMaXRlLWJ1aWxkLWVycm9yLW9uLWxpbnV4LXdpdGgtc3lzdGVtLXpsaWIucGF0 Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDEzZDUwNGQzZTc5Mi4uMDAwMDAwMDAw MDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hlcy9yZS1maXgtVEZMaXRlLWJ1aWxkLWVy cm9yLW9uLWxpbnV4LXdpdGgtc3lzdGVtLXpsaWIucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSw0 MSArMCwwIEBACi1Gcm9tIGRkYTAxYTcwNjQ1M2RlZDhjMDFjNDE3NzU3MDdjYjVlZjRlMzE2Zjgg TW9uIFNlcCAxNyAwMDowMDowMCAyMDAxCi1Gcm9tOiBBbmRyZXMgU2Fsb21vbiA8ZGlsaW5nZXJA cXVldWVkLm5ldD4KLURhdGU6IFR1ZSwgMjUgT2N0IDIwMjIgMjE6MTE6NDYgKzAwMDAKLVN1Ympl Y3Q6IFtQQVRDSF0gUmUtZml4IFRGTGl0ZSBidWlsZCBlcnJvciBvbiBsaW51eCB3aGVuIHVzaW5n IHRoZSBzeXN0ZW0gemxpYgotCi1JbiBjb21taXQgYWUwZjlhZGI3ZTE0YzBkMTljYTY5NWVmNmFk NDBiMzIxYThjYjY0YywgSSBmaXhlZCBzb21lIGJ1aWxkCi1lcnJvcnMgcmVsYXRlZCB0byBtaW5p emlwIHBhdGNoIGluY2x1c2lvbiBpbiBURkxpdGUuIEhvd2V2ZXIsIGFmdGVyIHRoYXQKLXdoZW4g VEZMaXRlIFN1cHBvcnQgd2FzIHJvbGxlZCB0byBIRUFELCBhIHNtYWxsIHBhcnQgb2YgdGhhdCBw YXRjaCBnb3QKLWRyb3BwZWQuIFRoZSByZXN1bHQgaXMgdGhlIGZvbGxvd2luZyBidWlsZCBlcnJv ciB3aXRoIDEwNy4wLjUzMDQuNjI6Ci0KLS4uLy4uL3RoaXJkX3BhcnR5L3RmbGl0ZV9zdXBwb3J0 L3NyYy90ZW5zb3JmbG93X2xpdGVfc3VwcG9ydC9tZXRhZGF0YS9jYy91dGlscy96aXBfcmVhZG9u bHlfbWVtX2ZpbGUuY2M6MjI6MTA6IGZhdGFsIGVycm9yOiAnY29udHJpYi9taW5pemlwL2lvYXBp LmgnIGZpbGUgbm90IGZvdW5kCi0gICAgICAgICBefn5+fn5+fn5+fn5+fn5+fn5+fn5+fn5+Ci0x IGVycm9yIGdlbmVyYXRlZC4KLQotVGhpcyBjb21taXQgcmUtYWRkcyB0aGUgbG9zdCBmaXguCi0K LVI9anVuem91QGNocm9taXVtLm9yZwotCi1DaGFuZ2UtSWQ6IEllOTZjMzU3MTg5NGI1MTAwYTFl MmEyNzcxZGEyOTY5OWVmZjBiZWIzCi1SZXZpZXdlZC1vbjogaHR0cHM6Ly9jaHJvbWl1bS1yZXZp ZXcuZ29vZ2xlc291cmNlLmNvbS9jL2Nocm9taXVtL3NyYy8rLzM5NzIwODcKLVJldmlld2VkLWJ5 OiBSb2JlcnQgT2dkZW4gPHJvYmVydG9nZGVuQGNocm9taXVtLm9yZz4KLUNvbW1pdC1RdWV1ZTog Um9iZXJ0IE9nZGVuIDxyb2JlcnRvZ2RlbkBjaHJvbWl1bS5vcmc+Ci1BdXRvLVN1Ym1pdDogQW5k cmVzIFNhbG9tb24gPGRpbGluZ2VyQHF1ZXVlZC5uZXQ+Ci1Dci1Db21taXQtUG9zaXRpb246IHJl ZnMvaGVhZHMvbWFpbkB7IzEwNjM0Nzh9Ci0tLS0KLSAuLi4vbWV0YWRhdGEvY2MvdXRpbHMvemlw X3JlYWRvbmx5X21lbV9maWxlLmNjICAgICAgICAgICAgICAgICAgfCAyICstCi0gMSBmaWxlIGNo YW5nZWQsIDEgaW5zZXJ0aW9uKCspLCAxIGRlbGV0aW9uKC0pCi0KLWRpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS90ZmxpdGVfc3VwcG9ydC9zcmMvdGVuc29yZmxvd19saXRlX3N1cHBvcnQvbWV0YWRh dGEvY2MvdXRpbHMvemlwX3JlYWRvbmx5X21lbV9maWxlLmNjIGIvdGhpcmRfcGFydHkvdGZsaXRl X3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0aWxzL3pp cF9yZWFkb25seV9tZW1fZmlsZS5jYwotaW5kZXggMzkyYjZiNDExZmUuLjUyNWFlNGEyYjQ1IDEw MDY0NAotLS0tIGEvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0 ZV9zdXBwb3J0L21ldGFkYXRhL2NjL3V0aWxzL3ppcF9yZWFkb25seV9tZW1fZmlsZS5jYwotKysr IGIvdGhpcmRfcGFydHkvdGZsaXRlX3N1cHBvcnQvc3JjL3RlbnNvcmZsb3dfbGl0ZV9zdXBwb3J0 L21ldGFkYXRhL2NjL3V0aWxzL3ppcF9yZWFkb25seV9tZW1fZmlsZS5jYwotQEAgLTE5LDcgKzE5 LDcgQEAgbGltaXRhdGlvbnMgdW5kZXIgdGhlIExpY2Vuc2UuCi0gI2luY2x1ZGUgPGNzdGRpbz4K LSAKLSAjaW5jbHVkZSAiYWJzbC9zdHJpbmdzL3N0cmluZ192aWV3LmgiICAvLyBmcm9tIEBjb21f Z29vZ2xlX2Fic2wKLS0jaW5jbHVkZSAiY29udHJpYi9taW5pemlwL2lvYXBpLmgiCi0rI2luY2x1 ZGUgInRoaXJkX3BhcnR5L3psaWIvY29udHJpYi9taW5pemlwL2lvYXBpLmgiCi0gCi0gbmFtZXNw YWNlIHRmbGl0ZSB7Ci0gbmFtZXNwYWNlIG1ldGFkYXRhIHsKZGlmZiAtLWdpdCBhL3NyY3BrZ3Mv Y2hyb21pdW0vcGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoIGIvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL3JlbW92ZS1zdHJpcF9iaW5hcnkucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUg MTAwNjQ0CmluZGV4IDhiMTNjNmEwNTZhOC4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hy b21pdW0vcGF0Y2hlcy9yZW1vdmUtc3RyaXBfYmluYXJ5LnBhdGNoCisrKyAvZGV2L251bGwKQEAg LTEsMzIgKzAsMCBAQAotLS0tIGEvY2hyb21lL3Rlc3QvY2hyb21lZHJpdmVyL0JVSUxELmduLm9y aWcKLSsrKyBiL2Nocm9tZS90ZXN0L2Nocm9tZWRyaXZlci9CVUlMRC5nbgotQEAgLTMwOCwxMSAr MzA4LDcgQEAKLSAgIH0KLSB9Ci0gCi0taWYgKGlzX2xpbnV4KSB7Ci0tICBjaHJvbWVkcml2ZXJf b3V0cHV0ID0gImNocm9tZWRyaXZlci51bnN0cmlwcGVkIgotLX0gZWxzZSB7Ci0tICBjaHJvbWVk cml2ZXJfb3V0cHV0ID0gImNocm9tZWRyaXZlciIKLS19Ci0rY2hyb21lZHJpdmVyX291dHB1dCA9 ICJjaHJvbWVkcml2ZXIiCi0gCi0gZXhlY3V0YWJsZSgiJGNocm9tZWRyaXZlcl9vdXRwdXQiKSB7 Ci0gICB0ZXN0b25seSA9IHRydWUKLUBAIC0zMzYsMTYgKzMzMiw2IEBACi0gICB9Ci0gfQotIAot LWlmIChpc19saW51eCkgewotLSAgc3RyaXBfYmluYXJ5KCJjaHJvbWVkcml2ZXIiKSB7Ci0tICAg IHRlc3Rvbmx5ID0gdHJ1ZQotLSAgICBiaW5hcnlfaW5wdXQgPSAiJHJvb3Rfb3V0X2Rpci8kY2hy b21lZHJpdmVyX291dHB1dCIKLS0gICAgc3ltYm9sX291dHB1dCA9ICIkcm9vdF9vdXRfZGlyL2No cm9tZWRyaXZlci5kZWJ1ZyIKLS0gICAgc3RyaXBwZWRfYmluYXJ5X291dHB1dCA9ICIkcm9vdF9v dXRfZGlyL2Nocm9tZWRyaXZlciIKLS0gICAgZGVwcyA9IFsgIjokY2hyb21lZHJpdmVyX291dHB1 dCIgXQotLSAgfQotLX0KLS0KLSBweXRob25fbGlicmFyeSgiY2hyb21lZHJpdmVyX3B5X3Rlc3Rz IikgewotICAgdGVzdG9ubHkgPSB0cnVlCi0gICBkZXBzID0gWwpkaWZmIC0tZ2l0IGEvc3JjcGtn cy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLTRrLXBhZ2VzLnBhdGNoIGIvc3JjcGtncy9j aHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLTRrLXBhZ2VzLnBhdGNoCmRlbGV0ZWQgZmlsZSBt b2RlIDEwMDY0NAppbmRleCAyOGM0YWQzNWYxNGUuLjAwMDAwMDAwMDAwMAotLS0gYS9zcmNwa2dz L2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtNGstcGFnZXMucGF0Y2gKKysrIC9kZXYvbnVs bApAQCAtMSw2MCArMCwwIEBACi1jb21taXQgNDU4MDlmODViYzM1MjRmODY3ZTZlOTU0ZjQ0NGZk ZGQyMzMzMjQ1YQotQXV0aG9yOiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogICBG cmkgSmFuIDcgMTg6MTg6NTIgMjAyMiArMDEwMAotCi0gICAgc3dpdGNoIHBwYzY0IHRvIDRrIHBh Z2VzCi0gICAgCi0gICAgc2luY2UgdGhlIHBhcnRpdGlvbiBhbGxvY2F0b3IgYXBwZWFycyB0byBo YXRlIGxhcmdlciBjb25zdGFudHMKLSAgICBhbmQgYXQgdGhpcyBwb2ludCBlcnJvcnMgYXQgY29t cGlsZSB0aW1lIGFuZCBpIGFtIG5vdCB3aWxsaW5nCi0gICAgdG8gd2FkZSB0aHJvdWdoIHRoaXMg cGlsZSBvZiBjdXJzZSBhbmQgd2UgdXNlIDRrIGtlcm5lbHMgYW55d2F5LAotICAgIGFzc3VtZSA0 SyBwYWdlcyBmb3IgcHBjNjQKLQotZGlmZiAtLWdpdCBhL2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlv bl9hbGxvY2F0b3IvcGFnZV9hbGxvY2F0b3JfY29uc3RhbnRzLmggYi9iYXNlL2FsbG9jYXRvci9w YXJ0aXRpb25fYWxsb2NhdG9yL3BhZ2VfYWxsb2NhdG9yX2NvbnN0YW50cy5oCi1pbmRleCBiZmQ1 NzUzLi4wNDUwODJiIDEwMDY0NAotLS0tIGEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9j YXRvci9wYWdlX2FsbG9jYXRvcl9jb25zdGFudHMuaAotKysrIGIvYmFzZS9hbGxvY2F0b3IvcGFy dGl0aW9uX2FsbG9jYXRvci9wYWdlX2FsbG9jYXRvcl9jb25zdGFudHMuaAotQEAgLTY5LDcgKzY5 LDcgQEAgbmFtZXNwYWNlIGJhc2UgewotCi0gUEFHRV9BTExPQ0FUT1JfQ09OU1RBTlRTX0RFQ0xB UkVfQ09OU1RFWFBSIFBBX0FMV0FZU19JTkxJTkUgc2l6ZV90Ci0gUGFnZUFsbG9jYXRpb25HcmFu dWxhcml0eVNoaWZ0KCkgewotLSNpZiBCVUlMREZMQUcoSVNfV0lOKSB8fCBkZWZpbmVkKEFSQ0hf Q1BVX1BQQzY0KQotKyNpZiBCVUlMREZMQUcoSVNfV0lOKQotICAgLy8gTW9kZXJuIHBwYzY0IHN5 c3RlbXMgc3VwcG9ydCA0a0IgKHNoaWZ0ID0gMTIpIGFuZCA2NGtCIChzaGlmdCA9IDE2KSBwYWdl Ci0gICAvLyBzaXplcy4gIFNpbmNlIDY0a0IgaXMgdGhlIGRlIGZhY3RvIHN0YW5kYXJkIG9uIHRo ZSBwbGF0Zm9ybSBhbmQgYmluYXJpZXMKLSAgIC8vIGNvbXBpbGVkIGZvciA2NGtCIGFyZSBsaWtl bHkgdG8gd29yayBvbiA0a0Igc3lzdGVtcywgNjRrQiBpcyBhIGdvb2QgY2hvaWNlCi1kaWZmIC0t Z2l0IGEvYmFzZS9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2Nf Y29uc3RhbnRzLmggYi9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlv bl9hbGxvY19jb25zdGFudHMuaAotaW5kZXggMGI5MjYwZC4uM2UwNTRlYyAxMDA2NDQKLS0tLSBh L2Jhc2UvYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY2F0b3IvcGFydGl0aW9uX2FsbG9jX2NvbnN0 YW50cy5oCi0rKysgYi9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlv bl9hbGxvY19jb25zdGFudHMuaAotQEAgLTkwLDExICs5MCw2IEBACi0gUGFydGl0aW9uUGFnZVNo aWZ0KCkgewotICAgcmV0dXJuIDE2OyAgLy8gNjQgS2lCCi0gfQotLSNlbGlmIGRlZmluZWQoQVJD SF9DUFVfUFBDNjQpCi0tUEFHRV9BTExPQ0FUT1JfQ09OU1RBTlRTX0RFQ0xBUkVfQ09OU1RFWFBS IFBBX0FMV0FZU19JTkxJTkUgc2l6ZV90Ci0tUGFydGl0aW9uUGFnZVNoaWZ0KCkgewotLSAgcmV0 dXJuIDE4OyAgLy8gMjU2IEtpQgotLX0KLSAjZWxpZiAoQlVJTERGTEFHKElTX0FQUExFKSAmJiBk ZWZpbmVkKEFSQ0hfQ1BVXzY0X0JJVFMpKSB8fCBcCi0gICAgIChCVUlMREZMQUcoSVNfTElOVVgp ICYmIGRlZmluZWQoQVJDSF9DUFVfQVJNNjQpKQotIFBBR0VfQUxMT0NBVE9SX0NPTlNUQU5UU19E RUNMQVJFX0NPTlNURVhQUiBQQV9BTFdBWVNfSU5MSU5FIHNpemVfdAotLS0tIGEvYmFzZS9hbGxv Y2F0b3IvcGFydGl0aW9uX2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NfZm9yd2FyZC5oCi0rKysg Yi9iYXNlL2FsbG9jYXRvci9wYXJ0aXRpb25fYWxsb2NhdG9yL3BhcnRpdGlvbl9hbGxvY19mb3J3 YXJkLmgKLUBAIC0yNSwxMiArMjUsMTcgQEAKLSAvLyB0aGUgc2Vjb25kIG9uZSAxNi4gV2UgY291 bGQgdGVjaG5pY2FsbHkgcmV0dXJuIHNvbWV0aGluZyBkaWZmZXJlbnQgZm9yCi0gLy8gbWFsbG9j KCkgYW5kIG9wZXJhdG9yIG5ldygpLCBidXQgdGhpcyB3b3VsZCBjb21wbGljYXRlIHRoaW5ncywg YW5kIG1vc3Qgb2YKLSAvLyBvdXIgYWxsb2NhdGlvbnMgYXJlIHByZXN1bWFibHkgY29taW5nIGZy b20gb3BlcmF0b3IgbmV3KCkgYW55d2F5LgotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0r Lyogd2Ugd2FudCB0aGlzIHRvIGJlIDE2IGhlcmUgYWx3YXlzICovCi0rY29uc3RleHByIHNpemVf dCBrQWxpZ25tZW50ID0gMTY7Ci0rI2Vsc2UKLSBjb25zdGV4cHIgc2l6ZV90IGtBbGlnbm1lbnQg PQotICAgICBzdGQ6Om1heChhbGlnbm9mKG1heF9hbGlnbl90KSwKLSAgICAgICAgICAgICAgc3Rh dGljX2Nhc3Q8c2l6ZV90PihfX1NURENQUF9ERUZBVUxUX05FV19BTElHTk1FTlRfXykpOwotIHN0 YXRpY19hc3NlcnQoa0FsaWdubWVudCA8PSAxNiwKLSAgICAgICAgICAgICAgICJQYXJ0aXRpb25B bGxvYyBkb2Vzbid0IHN1cHBvcnQgYSBmdW5kYW1lbnRhbCBhbGlnbm1lbnQgbGFyZ2VyICIKLSAg ICAgICAgICAgICAgICJ0aGFuIDE2IGJ5dGVzLiIpOwotKyNlbmRpZgotIAotIGNvbnN0ZXhwciBi b29sIFRocmVhZFNhZmUgPSB0cnVlOwotIApkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJvbWl1bS9w YXRjaGVzL3h4eC1wcGM2NGxlLWxpYnZweC5wYXRjaCBiL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy94eHgtcHBjNjRsZS1saWJ2cHgucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4 IDBjMDNhZDRhNjVlYi4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0Y2hl cy94eHgtcHBjNjRsZS1saWJ2cHgucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwzMyArMCwwIEBA Ci1jb21taXQgOTgxNDM3YmM4NDZmY2RiODU0MDYyZTg5ZmQzZDg2ZjExMmU1ZjQyNgotQXV0aG9y OiBxNjYgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTogICBTYXQgSnVuIDI1IDEyOjM1OjM3 IDIwMjIgKzAyMDAKLQotICAgIFVzZSBnZW5lcmljIHRhcmdldCBmb3Igbm93LgotICAgIAotICAg IFRoaXMgaXMgYmVjYXVzZSB0aGUgc291cmNlIHRyZWUgaXMgbWlzc2luZyB2c3ggb3B0aW1pemF0 aW9ucyB0aGF0Ci0gICAgdGhlbiBkbyBub3QgZ2V0IGluY2x1ZGVkIGFuZCByZXN1bHQgaW4gZmFp bGVkIGxpbmtpbmcgc3VjaCBhczoKLSAgICAKLSAgICBsZC5sbGQ6IGVycm9yOiB1bmRlZmluZWQg c3ltYm9sOiB2cHhfbXNlMTZ4MTZfdnN4Ci0KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9saWJ2 cHgvZ2VuZXJhdGVfZ25pLnNoIGIvdGhpcmRfcGFydHkvbGlidnB4L2dlbmVyYXRlX2duaS5zaAot aW5kZXggNzQyOTA4MC4uNDNlZTI5YSAxMDA3NTUKLS0tLSBhL3RoaXJkX3BhcnR5L2xpYnZweC9n ZW5lcmF0ZV9nbmkuc2gKLSsrKyBiL3RoaXJkX3BhcnR5L2xpYnZweC9nZW5lcmF0ZV9nbmkuc2gK LUBAIC00MDUsNyArNDA1LDcgQEAKLSBnZW5fY29uZmlnX2ZpbGVzIGxpbnV4L21pcHM2NGVsICIt LXRhcmdldD1taXBzNjQtbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30iCi0gZ2VuX2NvbmZpZ19m aWxlcyBsaW51eC9sb29uZ2FyY2ggXAotICAgIi0tdGFyZ2V0PWxvb25nYXJjaDY0LWxpbnV4LWdj YyAke2FsbF9wbGF0Zm9ybXN9IgotLWdlbl9jb25maWdfZmlsZXMgbGludXgvcHBjNjQgIi0tdGFy Z2V0PXBwYzY0bGUtbGludXgtZ2NjICR7YWxsX3BsYXRmb3Jtc30iCi0rZ2VuX2NvbmZpZ19maWxl cyBsaW51eC9wcGM2NCAiLS10YXJnZXQ9Z2VuZXJpYy1nbnUgJHthbGxfcGxhdGZvcm1zfSIKLSBn ZW5fY29uZmlnX2ZpbGVzIGxpbnV4L2dlbmVyaWMgIi0tdGFyZ2V0PWdlbmVyaWMtZ251ICRISUdI QkQgJHthbGxfcGxhdGZvcm1zfSIKLSBnZW5fY29uZmlnX2ZpbGVzIHdpbi9hcm02NCBcCi0gICAi LS10YXJnZXQ9YXJtNjQtd2luNjQtdnMxNSAke2FsbF9wbGF0Zm9ybXN9ICR7SElHSEJEfSIKLUBA IC00NjgsNyArNDY4LDcgQEAKLSBnZW5fcnRjZF9oZWFkZXIgbGludXgvbWlwc2VsIG1pcHNlbAot IGdlbl9ydGNkX2hlYWRlciBsaW51eC9taXBzNjRlbCBtaXBzNjRlbAotIGdlbl9ydGNkX2hlYWRl ciBsaW51eC9sb29uZ2FyY2ggbG9vbmdhcmNoCi0tZ2VuX3J0Y2RfaGVhZGVyIGxpbnV4L3BwYzY0 IHBwYwotK2dlbl9ydGNkX2hlYWRlciBsaW51eC9wcGM2NCBnZW5lcmljCi0gZ2VuX3J0Y2RfaGVh ZGVyIGxpbnV4L2dlbmVyaWMgZ2VuZXJpYwotIGdlbl9ydGNkX2hlYWRlciB3aW4vYXJtNjQgYXJt djgKLSBnZW5fcnRjZF9oZWFkZXIgd2luL2lhMzIgeDg2ICIke3JlcXVpcmVfc3NlMn0iCmRpZmYg LS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMveHh4LXBwYzY0bGUtc2FuZGJveC1saW51 eC1zdGF0LnBhdGNoIGIvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXNhbmRi b3gtbGludXgtc3RhdC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggNGJmYjVk NDk0YjA2Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS9wYXRjaGVzL3h4eC1w cGM2NGxlLXNhbmRib3gtbGludXgtc3RhdC5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDMxICsw LDAgQEAKLS0tLSBhL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3RhdC5oCi0r KysgYi9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N0YXQuaAotQEAgLTE1NSw2 ICsxNTUsMjggQEAgc3RydWN0IGtlcm5lbF9zdGF0IHsKLSAgIHVuc2lnbmVkIGludCBfX3VudXNl ZDQ7Ci0gICB1bnNpZ25lZCBpbnQgX191bnVzZWQ1OwotIH07Ci0rI2VsaWYgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQotK3N0cnVjdCBrZXJuZWxfc3RhdCB7Ci0rICB1bnNpZ25lZCBsb25nCXN0X2Rl djsKLSsgIHVuc2lnbmVkIGxvbmcJc3RfaW5vOwotKyAgdW5zaWduZWQgbG9uZwlzdF9ubGluazsK LSsgIHVuc2lnbmVkIGludAlzdF9tb2RlOwotKyAgdW5zaWduZWQgaW50CXN0X3VpZDsKLSsgIHVu c2lnbmVkIGludAlzdF9naWQ7Ci0rICB1bnNpZ25lZCBsb25nCXN0X3JkZXY7Ci0rICBsb25nCQlz dF9zaXplOwotKyAgdW5zaWduZWQgbG9uZwlzdF9ibGtzaXplOwotKyAgdW5zaWduZWQgbG9uZwlz dF9ibG9ja3M7Ci0rICB1bnNpZ25lZCBsb25nCXN0X2F0aW1lXzsKLSsgIHVuc2lnbmVkIGxvbmcJ c3RfYXRpbWVfbnNlY187Ci0rICB1bnNpZ25lZCBsb25nCXN0X210aW1lXzsKLSsgIHVuc2lnbmVk IGxvbmcJc3RfbXRpbWVfbnNlY187Ci0rICB1bnNpZ25lZCBsb25nCXN0X2N0aW1lXzsKLSsgIHVu c2lnbmVkIGxvbmcJc3RfY3RpbWVfbnNlY187Ci0rICB1bnNpZ25lZCBsb25nCV9fdW51c2VkNDsK LSsgIHVuc2lnbmVkIGxvbmcJX191bnVzZWQ1OwotKyAgdW5zaWduZWQgbG9uZwlfX3VudXNlZDY7 Ci0rfTsKLSAjZW5kaWYKLSAKLSAvLyBPbiAzMi1iaXQgc3lzdGVtcywgd2UgZGVmYXVsdCB0byB0 aGUgNjQtYml0IHN0YXQgc3RydWN0IGxpa2UgbGliYwpkaWZmIC0tZ2l0IGEvc3JjcGtncy9jaHJv bWl1bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVt L3BhdGNoZXMveHh4LXBwYzY0bGUtc3VwcG9ydC5wYXRjaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2 NDQKaW5kZXggMGJjNTA1MzU4OTE2Li4wMDAwMDAwMDAwMDAKLS0tIGEvc3JjcGtncy9jaHJvbWl1 bS9wYXRjaGVzL3h4eC1wcGM2NGxlLXN1cHBvcnQucGF0Y2gKKysrIC9kZXYvbnVsbApAQCAtMSwz NTkwICswLDAgQEAKLWNvbW1pdCAyYzAxM2EzMTdiMTExNGVmNjdjZGJiYzMwODI0YjI4OTA3Yjll YTk0Ci1BdXRob3I6IERhbmllbCBLb2xlc2EgPGRhbmllbEBvY3RhZm9yZ2Uub3JnPgotRGF0ZTog ICBXZWQgTWFyIDMgMTk6MDg6MjkgMjAyMSArMDEwMAotCi0gICAgcHBjNjRsZSBzdXBwb3J0Ci0K LWRpZmYgLS1naXQgYS9idWlsZC9kb3dubG9hZF9uYWNsX3Rvb2xjaGFpbnMucHkgYi9idWlsZC9k b3dubG9hZF9uYWNsX3Rvb2xjaGFpbnMucHkKLWluZGV4IDI4NmE5MmEyNy4uZWMzNmE4NWQzIDEw MDc1NQotLS0tIGEvYnVpbGQvZG93bmxvYWRfbmFjbF90b29sY2hhaW5zLnB5Ci0rKysgYi9idWls ZC9kb3dubG9hZF9uYWNsX3Rvb2xjaGFpbnMucHkKLUBAIC0xMyw2ICsxMywxMCBAQCBpbXBvcnQg c3lzCi0gCi0gCi0gZGVmIE1haW4oYXJncyk6Ci0rICAjIElmIGBkaXNhYmxlX25hY2w9MWAgaXMg aW4gR1lQX0RFRklORVMsIGV4aXQKLSsgIGlmICdkaXNhYmxlX25hY2w9MScgaW4gb3MuZW52aXJv bi5nZXQoJ0dZUF9ERUZJTkVTJywgJycpOgotKyAgICByZXR1cm4gMAotKwotICAgc2NyaXB0X2Rp ciA9IG9zLnBhdGguZGlybmFtZShvcy5wYXRoLmFic3BhdGgoX19maWxlX18pKQotICAgc3JjX2Rp ciA9IG9zLnBhdGguZGlybmFtZShzY3JpcHRfZGlyKQotICAgbmFjbF9kaXIgPSBvcy5wYXRoLmpv aW4oc3JjX2RpciwgJ25hdGl2ZV9jbGllbnQnKQotLS0tIGEvY2hyb21lL2luc3RhbGxlci9saW51 eC9CVUlMRC5nbgotKysrIGIvY2hyb21lL2luc3RhbGxlci9saW51eC9CVUlMRC5nbgotQEAgLTk3 LDggKzk3LDYgQEAKLSAgICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL3hkZy1taW1l IiwKLSAgICAgICAgICAgICAgICAgICAgICIkcm9vdF9vdXRfZGlyL3hkZy1zZXR0aW5ncyIsCi0g ICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci9sb2NhbGVzL2VuLVVTLnBhayIsCi0t ICAgICAgICAgICAgICAgICAgICAiJHJvb3Rfb3V0X2Rpci9NRUlQcmVsb2FkL21hbmlmZXN0Lmpz b24iLAotLSAgICAgICAgICAgICAgICAgICAgIiRyb290X291dF9kaXIvTUVJUHJlbG9hZC9wcmVs b2FkZWRfZGF0YS5wYiIsCi0gICAgICAgICAgICAgICAgICAgXQotIAotIGFjdGlvbl9mb3JlYWNo KCJjYWxjdWxhdGVfZGViX2RlcGVuZGVuY2llcyIpIHsKLUBAIC0zNzcsNyArMzc3LDYgQEAKLSAg ICAgIi8vY2hyb21lIiwKLSAgICAgIi8vY2hyb21lOnBhY2tlZF9yZXNvdXJjZXMiLAotICAgICAi Ly9jaHJvbWUvYnJvd3Nlci9lbnRlcnByaXNlL2Nvbm5lY3RvcnMvZGV2aWNlX3RydXN0L2tleV9t YW5hZ2VtZW50L2luc3RhbGxlci9tYW5hZ2VtZW50X3NlcnZpY2U6Y2hyb21lX21hbmFnZW1lbnRf c2VydmljZSIsCi0tICAgICIvL2Nocm9tZS9icm93c2VyL3Jlc291cmNlcy9tZWRpYS9tZWlfcHJl bG9hZDpjb21wb25lbnQiLAotICAgICAiLy9jb21wb25lbnRzL2NyYXNoL2NvcmUvYXBwOmNocm9t ZV9jcmFzaHBhZF9oYW5kbGVyIiwKLSAgICAgIi8vc2FuZGJveC9saW51eDpjaHJvbWVfc2FuZGJv eCIsCi0gICBdCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9mZWF0dXJlcy5nbmkgYi9zYW5kYm94L2Zl YXR1cmVzLmduaQotaW5kZXggZGIzMGFlNmQ2Li45ZGMwOWJmNTMgMTAwNjQ0Ci0tLS0gYS9zYW5k Ym94L2ZlYXR1cmVzLmduaQotKysrIGIvc2FuZGJveC9mZWF0dXJlcy5nbmkKLUBAIC0xMSw3ICsx MSw4IEBAIGltcG9ydCgiLy9idWlsZC9jb25maWcvbmFjbC9jb25maWcuZ25pIikKLSB1c2Vfc2Vj Y29tcF9icGYgPSAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkgJiYKLSAg ICAgICAgICAgICAgICAgICAoY3VycmVudF9jcHUgPT0gIng4NiIgfHwgY3VycmVudF9jcHUgPT0g Ing2NCIgfHwKLSAgICAgICAgICAgICAgICAgICAgY3VycmVudF9jcHUgPT0gImFybSIgfHwgY3Vy cmVudF9jcHUgPT0gImFybTY0IiB8fAotLSAgICAgICAgICAgICAgICAgICBjdXJyZW50X2NwdSA9 PSAibWlwc2VsIiB8fCBjdXJyZW50X2NwdSA9PSAibWlwczY0ZWwiKQotKyAgICAgICAgICAgICAg ICAgICBjdXJyZW50X2NwdSA9PSAibWlwc2VsIiB8fCBjdXJyZW50X2NwdSA9PSAibWlwczY0ZWwi IHx8Ci0rICAgICAgICAgICAgICAgICAgIGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpCi0gCi0gdXNl X3NlY2NvbXBfYnBmID0gdXNlX3NlY2NvbXBfYnBmIHx8IGlzX25hY2xfbm9uc2ZpCi0gCi1kaWZm IC0tZ2l0IGEvc2FuZGJveC9saW51eC9CVUlMRC5nbiBiL3NhbmRib3gvbGludXgvQlVJTEQuZ24K LWluZGV4IGU5YTk0YjQ2MS4uY2NhMWE1ZGE1IDEwMDY0NAotLS0tIGEvc2FuZGJveC9saW51eC9C VUlMRC5nbgotKysrIGIvc2FuZGJveC9saW51eC9CVUlMRC5nbgotQEAgLTQyNyw2ICs0MjcsOCBA QCBjb21wb25lbnQoInNhbmRib3hfc2VydmljZXMiKSB7Ci0gCi0gc291cmNlX3NldCgic2FuZGJv eF9zZXJ2aWNlc19oZWFkZXJzIikgewotICAgc291cmNlcyA9IFsKLSsgICAgInN5c3RlbV9oZWFk ZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgiLAotKyAgICAic3lzdGVtX2hlYWRlcnMvcHBjNjRf bGludXhfdWNvbnRleHQuaCIsCi0gICAgICJzeXN0ZW1faGVhZGVycy9hcm02NF9saW51eF9zeXNj YWxscy5oIiwKLSAgICAgInN5c3RlbV9oZWFkZXJzL2FybV9saW51eF9zeXNjYWxscy5oIiwKLSAg ICAgInN5c3RlbV9oZWFkZXJzL2FybV9saW51eF91Y29udGV4dC5oIiwKLWRpZmYgLS1naXQgYS9z YW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMuaCBiL3NhbmRib3gvbGlu dXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jhbmdlcy5oCi1pbmRleCAzMTM1MTFmMjIuLjBjYTNh MzI2ZiAxMDA2NDQKLS0tLSBhL3NhbmRib3gvbGludXgvYnBmX2RzbC9saW51eF9zeXNjYWxsX3Jh bmdlcy5oCi0rKysgYi9zYW5kYm94L2xpbnV4L2JwZl9kc2wvbGludXhfc3lzY2FsbF9yYW5nZXMu aAotQEAgLTU2LDYgKzU2LDEzIEBACi0gI2RlZmluZSBNQVhfUFVCTElDX1NZU0NBTEwgX19OUl9z eXNjYWxscwotICNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVNDQUxMCi0gCi0rI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKwotKyNpbmNsdWRlIDxhc20tZ2VuZXJpYy91bmlz dGQuaD4KLSsjZGVmaW5lIE1JTl9TWVNDQUxMIDB1Ci0rI2RlZmluZSBNQVhfUFVCTElDX1NZU0NB TEwgX19OUl9zeXNjYWxscwotKyNkZWZpbmUgTUFYX1NZU0NBTEwgTUFYX1BVQkxJQ19TWVNDQUxM Ci0rCi0gI2Vsc2UKLSAjZXJyb3IgIlVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZSIKLSAjZW5kaWYK LWRpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaCBiL3Nh bmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21wX21hY3Jvcy5oCi1pbmRleCAxYTQwN2I5NTIuLmE2 YWVjNTQ0ZSAxMDA2NDQKLS0tLSBhL3NhbmRib3gvbGludXgvYnBmX2RzbC9zZWNjb21wX21hY3Jv cy5oCi0rKysgYi9zYW5kYm94L2xpbnV4L2JwZl9kc2wvc2VjY29tcF9tYWNyb3MuaAotQEAgLTE2 LDYgKzE2LDkgQEAKLSAjaWYgZGVmaW5lZChfX21pcHNfXykKLSAvLyBzeXMvdXNlci5oIGluIGVn bGliYyBtaXNzZXMgc2l6ZV90IGRlZmluaXRpb24KLSAjaW5jbHVkZSA8c3RkZGVmLmg+Ci0rI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKy8vIE1hbnVhbGx5IGRlZmluZSBncmVnX3Qgb24g cHBjNjQKLSt0eXBlZGVmIHVuc2lnbmVkIGxvbmcgbG9uZyBncmVnX3Q7Ci0gI2VuZGlmCi0gI2Vu ZGlmCi0gCi1AQCAtMzQ2LDYgKzM0OSw1MSBAQCBzdHJ1Y3QgcmVnc19zdHJ1Y3QgewotICNkZWZp bmUgU0VDQ09NUF9QVF9QQVJNNChfcmVncykgKF9yZWdzKS5yZWdzWzNdCi0gI2RlZmluZSBTRUND T01QX1BUX1BBUk01KF9yZWdzKSAoX3JlZ3MpLnJlZ3NbNF0KLSAjZGVmaW5lIFNFQ0NPTVBfUFRf UEFSTTYoX3JlZ3MpIChfcmVncykucmVnc1s1XQotKwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSsjaW5jbHVkZSA8YXNtL3B0cmFjZS5oPgotKwotK3R5cGVkZWYgc3RydWN0IHB0X3Jl Z3MgcmVnc19zdHJ1Y3Q7Ci0rCi0rI2lmZGVmIEFSQ0hfQ1BVX0xJVFRMRV9FTkRJQU4KLSsjZGVm aW5lIFNFQ0NPTVBfQVJDSCBBVURJVF9BUkNIX1BQQzY0TEUKLSsjZWxzZQotKyNkZWZpbmUgU0VD Q09NUF9BUkNIIEFVRElUX0FSQ0hfUFBDNjQKLSsjZW5kaWYKLSsKLSsjZGVmaW5lIFNFQ0NPTVBf UkVHKF9jdHgsIF9yZWcpICgoX2N0eCktPnVjX21jb250ZXh0LnJlZ3MtPmdwcltfcmVnXSkKLSsK LSsjZGVmaW5lIFNFQ0NPTVBfUkVTVUxUKF9jdHgpIFNFQ0NPTVBfUkVHKF9jdHgsIDMpCi0rI2Rl ZmluZSBTRUNDT01QX1NZU0NBTEwoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMCkKLSsjZGVmaW5l IFNFQ0NPTVBfSVAoX2N0eCkgKF9jdHgpLT51Y19tY29udGV4dC5yZWdzLT5uaXAKLSsjZGVmaW5l IFNFQ0NPTVBfUEFSTTEoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgMykKLSsjZGVmaW5lIFNFQ0NP TVBfUEFSTTIoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgNCkKLSsjZGVmaW5lIFNFQ0NPTVBfUEFS TTMoX2N0eCkgU0VDQ09NUF9SRUcoX2N0eCwgNSkKLSsjZGVmaW5lIFNFQ0NPTVBfUEFSTTQoX2N0 eCkgU0VDQ09NUF9SRUcoX2N0eCwgNikKLSsjZGVmaW5lIFNFQ0NPTVBfUEFSTTUoX2N0eCkgU0VD Q09NUF9SRUcoX2N0eCwgNykKLSsjZGVmaW5lIFNFQ0NPTVBfUEFSTTYoX2N0eCkgU0VDQ09NUF9S RUcoX2N0eCwgOCkKLSsKLSsjZGVmaW5lIFNFQ0NPTVBfTlJfSURYIChvZmZzZXRvZihzdHJ1Y3Qg YXJjaF9zZWNjb21wX2RhdGEsIG5yKSkKLSsjZGVmaW5lIFNFQ0NPTVBfQVJDSF9JRFggKG9mZnNl dG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgYXJjaCkpCi0rI2RlZmluZSBTRUNDT01QX0lQ X01TQl9JRFggXAotKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBfZGF0YSwgaW5zdHJ1 Y3Rpb25fcG9pbnRlcikgKyA0KQotKyNkZWZpbmUgU0VDQ09NUF9JUF9MU0JfSURYIFwKLSsgIChv ZmZzZXRvZihzdHJ1Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGluc3RydWN0aW9uX3BvaW50ZXIpICsg MCkKLSsjZGVmaW5lIFNFQ0NPTVBfQVJHX01TQl9JRFgobnIpIFwKLSsgIChvZmZzZXRvZihzdHJ1 Y3QgYXJjaF9zZWNjb21wX2RhdGEsIGFyZ3MpICsgOCAqIChucikgKyA0KQotKyNkZWZpbmUgU0VD Q09NUF9BUkdfTFNCX0lEWChucikgXAotKyAgKG9mZnNldG9mKHN0cnVjdCBhcmNoX3NlY2NvbXBf ZGF0YSwgYXJncykgKyA4ICogKG5yKSArIDApCi0rCi0rI2RlZmluZSBTRUNDT01QX1BUX1JFU1VM VChfcmVncykgKF9yZWdzKS5ncHJbM10KLSsjZGVmaW5lIFNFQ0NPTVBfUFRfU1lTQ0FMTChfcmVn cykgKF9yZWdzKS5ncHJbMF0KLSsjZGVmaW5lIFNFQ0NPTVBfUFRfSVAoX3JlZ3MpIChfcmVncyku bmlwCi0rI2RlZmluZSBTRUNDT01QX1BUX1BBUk0xKF9yZWdzKSAoX3JlZ3MpLmdwclszXQotKyNk ZWZpbmUgU0VDQ09NUF9QVF9QQVJNMihfcmVncykgKF9yZWdzKS5ncHJbNF0KLSsjZGVmaW5lIFNF Q0NPTVBfUFRfUEFSTTMoX3JlZ3MpIChfcmVncykuZ3ByWzVdCi0rI2RlZmluZSBTRUNDT01QX1BU X1BBUk00KF9yZWdzKSAoX3JlZ3MpLmdwcls2XQotKyNkZWZpbmUgU0VDQ09NUF9QVF9QQVJNNShf cmVncykgKF9yZWdzKS5ncHJbN10KLSsjZGVmaW5lIFNFQ0NPTVBfUFRfUEFSTTYoX3JlZ3MpIChf cmVncykuZ3ByWzhdCi0rCi0gI2Vsc2UKLSAjZXJyb3IgVW5zdXBwb3J0ZWQgdGFyZ2V0IHBsYXRm b3JtCi0gCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jh c2VsaW5lX3BvbGljeS5jYyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9iYXNl bGluZV9wb2xpY3kuY2MKLWluZGV4IDZhMWVjMjM4OS4uZjIwYzU4MmRkIDEwMDY0NAotLS0tIGEv c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwotKysr IGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeS5jYwot QEAgLTg4LDcgKzg4LDggQEAgYm9vbCBJc0Jhc2VsaW5lUG9saWN5V2F0Y2hlZChpbnQgc3lzbm8p IHsKLSAgICAgICAgICBTeXNjYWxsU2V0czo6SXNQcmN0bChzeXNubykgfHwKLSAgICAgICAgICBT eXNjYWxsU2V0czo6SXNQcm9jZXNzR3JvdXBPclNlc3Npb24oc3lzbm8pIHx8Ci0gI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNf RkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSAgICAgICAgICBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKHN5c25v KSB8fAotICNlbmRpZgotICNpZiBkZWZpbmVkKF9fYXJtX18pCi1AQCAtMjI3LDcgKzIyOCw3IEBA IFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQgZnNfZGVuaWVkX2Vycm5vLAotICAg fQotIAotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRl ZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVm aW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgaWYgKHN5c25v ID09IF9fTlJfbW1hcCkKLSAgICAgcmV0dXJuIFJlc3RyaWN0TW1hcEZsYWdzKCk7Ci0gI2VuZGlm Ci1AQCAtMjQ1LDcgKzI0Niw3IEBAIFJlc3VsdEV4cHIgRXZhbHVhdGVTeXNjYWxsSW1wbChpbnQg ZnNfZGVuaWVkX2Vycm5vLAotICAgICByZXR1cm4gUmVzdHJpY3RQcmN0bCgpOwotIAotICNpZiBk ZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNf XykgfHwgXAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2 NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICBpZiAoc3lzbm8gPT0gX19OUl9zb2Nr ZXRwYWlyKSB7Ci0gICAgIC8vIE9ubHkgYWxsb3cgQUZfVU5JWCwgUEZfVU5JWC4gQ3Jhc2ggaWYg YW55dGhpbmcgZWxzZSBpcyBzZWVuLgotICAgICBzdGF0aWNfYXNzZXJ0KEFGX1VOSVggPT0gUEZf VU5JWCwKLUBAIC0yODUsNyArMjg2LDggQEAgUmVzdWx0RXhwciBFdmFsdWF0ZVN5c2NhbGxJbXBs KGludCBmc19kZW5pZWRfZXJybm8sCi0gICB9Ci0gCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9D UFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSAgIGlmIChTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKHN5c25vKSkKLSAgICAgcmV0dXJuIFJl c3RyaWN0U29ja2V0Y2FsbENvbW1hbmQoKTsKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNjIGIv c2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL2Jhc2VsaW5lX3BvbGljeV91bml0dGVz dC5jYwotaW5kZXggMDFjMDQ2ZGRhLi43ZTVhNmJlODIgMTAwNjQ0Ci0tLS0gYS9zYW5kYm94L2xp bnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNjCTIwMjEt MDQtMTUgMTM6MTE6MTAuNDgxNTc5NDcwIC0wNDAwCi0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2Nv bXAtYnBmLWhlbHBlcnMvYmFzZWxpbmVfcG9saWN5X3VuaXR0ZXN0LmNjCTIwMjEtMDQtMTUgMTM6 MTI6NDMuNTI0ODMxMzc2IC0wNDAwCi1AQCAtMzAyLDcgKzMwMiw3IEBACi0gVEVTVF9CQVNFTElO RV9TSUdTWVMoX19OUl9zeXNsb2cpCi0gVEVTVF9CQVNFTElORV9TSUdTWVMoX19OUl90aW1lcl9j cmVhdGUpCi0gCi0tI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyNpZiAhZGVmaW5lZChfX2Fh cmNoNjRfXykgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykKLSBURVNUX0JBU0VMSU5FX1NJR1NZ UyhfX05SX2lub3RpZnlfaW5pdCkKLSBURVNUX0JBU0VMSU5FX1NJR1NZUyhfX05SX3ZzZXJ2ZXIp Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJz L3NpZ3N5c19oYW5kbGVycy5jYyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9z aWdzeXNfaGFuZGxlcnMuY2MKLWluZGV4IDAxYzA0NmRkYS4uN2U1YTZiZTgyIDEwMDY0NAotLS0t IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5jYwot KysrIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3NpZ3N5c19oYW5kbGVycy5j YwotQEAgLTM1OCw3ICszNTgsMTYgQEAKLSAgIGlmIChhcmdzLm5yID09IF9fTlJfZnN0YXRhdF9k ZWZhdWx0KSB7Ci0gICAgIGlmICgqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oYXJncy5h cmdzWzFdKSA9PSAnXDAnICYmCi0gICAgICAgICBhcmdzLmFyZ3NbM10gPT0gc3RhdGljX2Nhc3Q8 dWludDY0X3Q+KEFUX0VNUFRZX1BBVEgpKSB7Ci0tICAgICAgcmV0dXJuIHN5c2NhbGwoX19OUl9m c3RhdF9kZWZhdWx0LCBzdGF0aWNfY2FzdDxpbnQ+KGFyZ3MuYXJnc1swXSksCi0rICAgICAgICAg IGludCBmZCA9IHN0YXRpY19jYXN0PGludD4oYXJncy5hcmdzWzBdKTsKLSsjaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotKyAgICAgIC8vIE9uIHBwYzY0K2dsaWJjLCBzb21lIHN5c2NhbGxzIHNl ZW0gdG8gYWNjaWRlbnRhbGx5IG5lZ2F0ZSB0aGUgZmlyc3QKLSsgICAgICAvLyBwYXJhbWV0ZXIg d2hpY2ggY2F1c2VzIGNoZWNrcyBhZ2FpbnN0IGl0IHRvIGZhaWwuIEZvciBub3csIG1hbnVhbGx5 Ci0rICAgICAgLy8gbmVnYXRlIHRoZW0gYmFjay4KLSsgICAgICAvLyBUT0RPOiBJbnZlc3RpZ2F0 ZSB0aGUgcm9vdCBjYXVzZSBhbmQgZml4IGluIGdsaWJjCi0rICAgICAgaWYgKGZkIDwgMCkKLSsg ICAgICAgIGZkID0gLWZkOwotKyNlbmRpZgotKyAgICAgIHJldHVybiBzeXNjYWxsKF9fTlJfZnN0 YXRfZGVmYXVsdCwgZmQsCi0gICAgICAgICAgICAgICAgICAgICAgcmVpbnRlcnByZXRfY2FzdDxk ZWZhdWx0X3N0YXRfc3RydWN0Kj4oYXJncy5hcmdzWzJdKSk7Ci0gICAgIH0KLSAgICAgcmV0dXJu IC1yZWludGVycHJldF9jYXN0PGludHB0cl90Pihmc19kZW5pZWRfZXJybm8pOwotZGlmZiAtLWdp dCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNf cmVzdHJpY3Rpb25zLmNjIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2Nh bGxfcGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MKLWluZGV4IDJhOTdkMzkxNi4uOGU4MWFhNmNm IDEwMDY0NAotLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxf cGFyYW1ldGVyc19yZXN0cmljdGlvbnMuY2MJMjAyMS0wNC0xNCAxNDo0MTowOC4wMDAwMDAwMDAg LTA0MDAKLSsrKyBiL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3Bh cmFtZXRlcnNfcmVzdHJpY3Rpb25zLmNjCTIwMjEtMDQtMTUgMTM6MTc6NTcuODA4NzE1NzMzIC0w NDAwCi1AQCAtMzcsNyArMzcsOCBAQAotIAotICNpZiAoQlVJTERGTEFHKElTX0xJTlVYKSB8fCBC VUlMREZMQUcoSVNfQ0hST01FT1NfTEFDUk9TKSkgJiYgXAotICAgICAhZGVmaW5lZChfX2FybV9f KSAmJiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgICAgICAgICAgICAgXAotLSAgICAhZGVmaW5l ZChQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBKQotKyAgICAhZGVmaW5lZChQVFJBQ0VfR0VUX1RIUkVB RF9BUkVBKSAmJiAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICAhZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQotIC8vIEFsc28gaW5jbHVkZSBhc20vcHRyYWNlLWFiaS5oIHNpbmNlIHB0cmFjZS5o IGluIG9sZGVyIGxpYmMgKGZvciBpbnN0YW5jZQotIC8vIHRoZSBvbmUgaW4gVWJ1bnR1IDE2LjA0 IExUUykgaXMgbWlzc2luZyBQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBLgotIC8vIGFzbS9wdHJhY2Ut YWJpLmggZG9lc24ndCBleGlzdCBvbiBhcm0zMiBhbmQgUFRSQUNFX0dFVF9USFJFQURfQVJFQSBp c24ndAotQEAgLTQ1LDYgKzQ2LDExIEBACi0gI2luY2x1ZGUgPGFzbS9wdHJhY2UtYWJpLmg+Ci0g I2VuZGlmCi0gCi0rLy8gT24gUFBDNjQsIFRDR0VUUyBpcyBkZWZpbmVkIGluIHRlcm1zIG9mIHN0 cnVjdCB0ZXJtaW9zLCBzbyB3ZSBtdXN0IGluY2x1ZGUgdGVybWlvcy5oCi0rI2lmZGVmIF9fcG93 ZXJwYzY0X18KLSsjaW5jbHVkZSA8dGVybWlvcy5oPgotKyNlbmRpZgotKwotICNpZiBCVUlMREZM QUcoSVNfQU5EUk9JRCkKLSAKLSAjaWYgIWRlZmluZWQoRl9EVVBGRF9DTE9FWEVDKQotQEAgLTk5 LDYgKzEwNSwxNCBAQAotICAgcmV0dXJuIHRydWU7Ci0gI2Vsc2UKLSAgIHJldHVybiBmYWxzZTsK LSsjZW5kaWYKLSt9Ci0rCi0raW5saW5lIGJvb2wgSXNBcmNoaXRlY3R1cmVQUEM2NCgpIHsKLSsj aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgcmV0dXJuIHRydWU7Ci0rI2Vsc2UKLSsgIHJl dHVybiBmYWxzZTsKLSAjZW5kaWYKLSB9Ci0gCi1AQCAtMjM5LDYgKzI1NCw4IEBACi0gICB1aW50 NjRfdCBrT0xhcmdlRmlsZUZsYWcgPSBPX0xBUkdFRklMRTsKLSAgIGlmIChJc0FyY2hpdGVjdHVy ZVg4Nl82NCgpIHx8IElzQXJjaGl0ZWN0dXJlSTM4NigpIHx8IElzQXJjaGl0ZWN0dXJlTWlwcygp KQotICAgICBrT0xhcmdlRmlsZUZsYWcgPSAwMTAwMDAwOwotKyAgZWxzZSBpZiAoSXNBcmNoaXRl Y3R1cmVQUEM2NCgpKQotKyAgICBrT0xhcmdlRmlsZUZsYWcgPSAwMjAwMDAwOwotIAotICAgY29u c3QgQXJnPGludD4gY21kKDEpOwotICAgY29uc3QgQXJnPGxvbmc+IGxvbmdfYXJnKDIpOwotQEAg LTI1Niw3ICsyNzMsMTYgQEAKLSAgICAgICAgICAgICAgIEZfU0VUTEtXLAotICAgICAgICAgICAg ICAgRl9HRVRMSywKLSAgICAgICAgICAgICAgIEZfRFVQRkQsCi0tICAgICAgICAgICAgICBGX0RV UEZEX0NMT0VYRUMpLAotKyAgICAgICAgICAgICAgRl9EVVBGRF9DTE9FWEVDCi0rI2lmIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykKLSsvLyBPbiBQUEM2NCwgRl9TRVRMSywgRl9HRVRMSywgRl9TRVRM S1cgYXJlIGRlZmluZWQgYXMgdGhlIDY0LWJpdCB2YXJpYW50cwotKy8vIGJ1dCBnbGliYyB3aWxs IHNvbWV0aW1lcyBzdGlsbCB1c2UgdGhlIDMyLWJpdCB2ZXJzaW9ucy4gQWxsb3cgYm90aC4KLSsg ICAgICAgICAgICAgICwKLSsgICAgICAgICAgICAgIDUsIC8qIEZfR0VUTEsgKDMyKSAqLwotKyAg ICAgICAgICAgICAgNiwgLyogRl9TRVRMSyAoMzIpICovCi0rICAgICAgICAgICAgICA3ICAvKiBG X1NFVExLVyAoMzIpICovCi0rI2VuZGlmCi0rCSAgICAgKSwKLSAgICAgICAgICAgICAgQWxsb3co KSkKLSAgICAgICAuQ2FzZShGX1NFVEZMLAotICAgICAgICAgICAgIElmKChsb25nX2FyZyAmIH5r QWxsb3dlZE1hc2spID09IDAsIEFsbG93KCkpLkVsc2UoQ3Jhc2hTSUdTWVMoKSkpCi1AQCAtMjY2 LDcgKzI5Miw3IEBACi0gICAvLyBjbGFuZy1mb3JtYXQgb24KLSB9Ci0gCi0tI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8 IGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSBSZXN1bHRFeHBy IFJlc3RyaWN0U29ja2V0Y2FsbENvbW1hbmQoKSB7Ci0gICAvLyBVbmZvcnR1bmF0ZWx5LCB3ZSBh cmUgdW5hYmxlIHRvIHJlc3RyaWN0IHRoZSBmaXJzdCBwYXJhbWV0ZXIgdG8KLSAgIC8vIHNvY2tl dHBhaXIoMikuIFdoaWxzdCBpbml0aWFsbHkgc291bmRpbmcgYmFkLCBpdCdzIG5vdGV3b3J0aHkg dGhhdCB2ZXJ5Ci1AQCAtNDE5LDcgKzQ0NSw3IEBACi0gI2VuZGlmCi0gICByZXR1cm4gU3dpdGNo KHJlcXVlc3QpCi0gICAgICAgLkNBU0VTKCgKLS0jaWYgIWRlZmluZWQoX19hYXJjaDY0X18pCi0r I2lmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAg ICAgICAgICAgICAgICAgUFRSQUNFX0dFVFJFR1MsIFBUUkFDRV9HRVRGUFJFR1MsIFBUUkFDRV9H RVRfVEhSRUFEX0FSRUEsCi0gICAgICAgICAgICAgICAgICBQVFJBQ0VfR0VUUkVHU0VULAotICNl bmRpZgotZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNj YWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmggYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBm LWhlbHBlcnMvc3lzY2FsbF9wYXJhbWV0ZXJzX3Jlc3RyaWN0aW9ucy5oCi1pbmRleCBiYTQyODlm MDUuLjlhNGQ1YWIyZCAxMDA2NDQKLS0tLSBhL3NhbmRib3gvbGludXgvc2VjY29tcC1icGYtaGVs cGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgKLSsrKyBiL3NhbmRib3gvbGlu dXgvc2VjY29tcC1icGYtaGVscGVycy9zeXNjYWxsX3BhcmFtZXRlcnNfcmVzdHJpY3Rpb25zLmgK LUBAIC00OCw3ICs0OCw3IEBAIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJlc3VsdEV4cHIgUmVz dHJpY3RNcHJvdGVjdEZsYWdzKCk7Ci0gLy8gT19OT05CTE9DSyB8IE9fU1lOQyB8IE9fTEFSR0VG SUxFIHwgT19DTE9FWEVDIHwgT19OT0FUSU1FLgotIFNBTkRCT1hfRVhQT1JUIGJwZl9kc2w6OlJl c3VsdEV4cHIgUmVzdHJpY3RGY250bENvbW1hbmRzKCk7Ci0gCi0tI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAvLyBSZXN0cmljdCBzb2Nr ZXRjYWxsKDIpIHRvIG9ubHkgYWxsb3cgc29ja2V0cGFpcigyKSwgc2VuZCgyKSwgcmVjdigyKSwK LSAvLyBzZW5kdG8oMiksIHJlY3Zmcm9tKDIpLCBzaHV0ZG93bigyKSwgc2VuZG1zZygyKSBhbmQg cmVjdm1zZygyKS4KLSBTQU5EQk9YX0VYUE9SVCBicGZfZHNsOjpSZXN1bHRFeHByIFJlc3RyaWN0 U29ja2V0Y2FsbENvbW1hbmQoKTsKLWRpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAt YnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNjIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1o ZWxwZXJzL3N5c2NhbGxfc2V0cy5jYwotaW5kZXggNjQyZGY3MjA3Li4zNGY0N2ViNzMgMTAwNjQ0 Ci0tLS0gYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNj Ci0rKysgYi9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmLWhlbHBlcnMvc3lzY2FsbF9zZXRzLmNj Ci1AQCAtMjksNyArMjksOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZXR0aW1lKGlu dCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykgewotICAgICBjYXNlIF9fTlJfZ2V0dGltZW9m ZGF5OgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IFwK LS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVk KEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAg ICAgY2FzZSBfX05SX3RpbWU6Ci0gI2VuZGlmCi0gICAgICAgcmV0dXJuIHRydWU7Ci1AQCAtNTIs MTIgKzUzLDE0IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldHRpbWUoaW50IHN5c25v KSB7Ci0gICAgIGNhc2UgX19OUl9jbG9ja19uYW5vc2xlZXBfdGltZTY0OiAgLy8gUGFyYW1ldGVy cyBmaWx0ZXJlZCBieSBSZXN0cmljdENsb2NrSUQoKS4KLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChf X2kzODZfXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVm aW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bv d2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfZnRpbWU6ICAvLyBPYnNvbGV0ZS4KLSAjZW5kaWYK LSAgICAgY2FzZSBfX05SX3NldHRpbWVvZmRheTogIC8vIFByaXZpbGVnZWQuCi0gI2lmIGRlZmlu ZWQoX19pMzg2X18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNf RkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3N0aW1lOgotICNlbmRpZgotICAgICBkZWZh dWx0OgotQEAgLTEzNSw3ICsxMzgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0o aW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9mYWNjZXNzYXQ6ICAvLyBFUEVSTSBub3QgYSB2 YWxpZCBlcnJuby4KLSAgICAgY2FzZSBfX05SX2ZjaG1vZGF0OgotICAgICBjYXNlIF9fTlJfZmNo b3duYXQ6ICAvLyBTaG91bGQgYmUgY2FsbGVkIGNob3duYXQgPwotLSNpZiBkZWZpbmVkKF9feDg2 XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pCi0rI2lmIGRlZmluZWQoX194ODZfNjRfXykg fHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBj YXNlIF9fTlJfbmV3ZnN0YXRhdDogIC8vIGZzdGF0YXQoKS4gRVBFUk0gbm90IGEgdmFsaWQgZXJy bm8uCi0gI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCi0g ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQotQEAgLTE1NCw3ICsxNTcsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0 ZW0oaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9tZW1mZF9jcmVhdGU6Ci0gICAgIGNhc2Ug X19OUl9ta2RpcmF0OgotICAgICBjYXNlIF9fTlJfbWtub2RhdDoKLS0jaWYgZGVmaW5lZChfX2kz ODZfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot ICAgICBjYXNlIF9fTlJfb2xkbHN0YXQ6Ci0gICAgIGNhc2UgX19OUl9vbGRzdGF0OgotICNlbmRp ZgotQEAgLTE2OCw3ICsxNzEsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0ZpbGVTeXN0ZW0oaW50 IHN5c25vKSB7Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9zdGF0ZnM6ICAvLyBFUEVSTSBub3Qg YSB2YWxpZCBlcnJuby4KLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9f KSB8fCBcCi0tICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFS Q0hfQ1BVXzMyX0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYg ZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0gICAgIGNhc2UgX19OUl9zdGF0ZnM2NDoKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX3N5 bWxpbmthdDoKLUBAIC0xNzgsNyArMTgyLDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNGaWxlU3lz dGVtKGludCBzeXNubykgewotICAgICBjYXNlIF9fTlJfdHJ1bmNhdGU2NDoKLSAjZW5kaWYKLSAg ICAgY2FzZSBfX05SX3VubGlua2F0OgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAotKyAgICBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl91dGltZToKLSAjZW5kaWYKLSAg ICAgY2FzZSBfX05SX3V0aW1lbnNhdDogIC8vIE5ldy4KLUBAIC0yMDMsNyArMjA4LDggQEAgYm9v bCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNubykg ewotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVlOwotIC8vIFRPRE8oamxuKTogdGhlc2Ugc2hv dWxkIGJlIGRlbmllZCBncmFjZWZ1bGx5IGFzIHdlbGwgKG1vdmVkIGJlbG93KS4KLS0jaWYgZGVm aW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19f KQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmlu ZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNl IF9fTlJfZmFkdmlzZTY0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0gI2VuZGlmCi0g I2lmIGRlZmluZWQoX19pMzg2X18pCi1AQCAtMjE2LDExICsyMjIsMTIgQEAgYm9vbCBTeXNjYWxs U2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGludCBzeXNubykgewotICAgICBj YXNlIF9fTlJfZmxvY2s6ICAgICAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0gICAgIGNh c2UgX19OUl9mc3RhdGZzOiAgICAvLyBHaXZlIGluZm9ybWF0aW9uIGFib3V0IHRoZSB3aG9sZSBm aWxlc3lzdGVtLgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8 IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9D UFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZp bmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSAgICAgY2FzZSBfX05SX2ZzdGF0ZnM2NDoKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX2ZzeW5j OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0tI2lmIGRlZmluZWQoX19pMzg2X18pCi0r I2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2Fz ZSBfX05SX29sZGZzdGF0OgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZp bmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLUBAIC0yMjgsNiArMjM1 LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkRmlsZVN5c3RlbUFjY2Vzc1ZpYUZkKGlu dCBzeXNubykgewotICAgICBjYXNlIF9fTlJfc3luY19maWxlX3JhbmdlOiAgLy8gRVBFUk0gbm90 IGEgdmFsaWQgZXJybm8uCi0gI2VsaWYgZGVmaW5lZChfX2FybV9fKQotICAgICBjYXNlIF9fTlJf YXJtX3N5bmNfZmlsZV9yYW5nZTogIC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotKyNlbGlm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICAgY2FzZSBfX05SX3N5bmNfZmlsZV9yYW5nZTI6 IC8vIEVQRVJNIG5vdCBhIHZhbGlkIGVycm5vLgotICNlbmRpZgotICAgICBkZWZhdWx0OgotICAg ICAgIHJldHVybiBmYWxzZTsKLUBAIC0yNDgsNyArMjU3LDggQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNEZW5pZWRGaWxlU3lzdGVtQWNjZXNzVmlhRmQoaW50IHN5c25vKSB7Ci0gI2VuZGlmCi0gICAg IGNhc2UgX19OUl9nZXRkZW50czY0OiAgLy8gRVBFUk0gbm90IGEgdmFsaWQgZXJybm8uCi0gI2lm IGRlZmluZWQoX19pMzg2X18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1J TFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3JlYWRkaXI6Ci0gI2VuZGlmCi0g ICAgICAgcmV0dXJuIHRydWU7Ci1AQCAtMjg5LDcgKzI5OSw3IEBAIGJvb2wgU3lzY2FsbFNldHM6 OklzR2V0U2ltcGxlSWQoaW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0czo6SXNQcm9jZXNz UHJpdmlsZWdlQ2hhbmdlKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykgewotICAgICBj YXNlIF9fTlJfY2Fwc2V0OgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2 XzY0X18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfaW9wZXJtOiAgLy8gSW50ZWwg cHJpdmlsZWdlLgotICAgICBjYXNlIF9fTlJfaW9wbDogICAgLy8gSW50ZWwgcHJpdmlsZWdlLgot ICNlbmRpZgotQEAgLTM0MCw4ICszNTAsMTEgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2Vk U2lnbmFsSGFuZGxpbmcoaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9ydF9zaWdyZXR1cm46 Ci0gICAgIGNhc2UgX19OUl9ydF9zaWd0aW1lZHdhaXQ6Ci0gI2lmIGRlZmluZWQoX19pMzg2X18p IHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9D UFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyNpZm5kZWYgX19wb3dlcnBjNjRfXwotICAgICBjYXNl IF9fTlJfcnRfc2lndGltZWR3YWl0X3RpbWU2NDoKLSsjZW5kaWYKLSAgICAgY2FzZSBfX05SX3Np Z2FjdGlvbjoKLSAgICAgY2FzZSBfX05SX3NpZ3Byb2NtYXNrOgotICAgICBjYXNlIF9fTlJfc2ln cmV0dXJuOgotQEAgLTM1Nyw3ICszNzAsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRT aWduYWxIYW5kbGluZyhpbnQgc3lzbm8pIHsKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX3NpZ25h bGZkNDoKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCi0t ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAg IGNhc2UgX19OUl9zaWdwZW5kaW5nOgotICAgICBjYXNlIF9fTlJfc2lnc3VzcGVuZDoKLSAjZW5k aWYKLUBAIC0zODEsNyArMzk1LDcgQEAgYm9vbCBTeXNjYWxsU2V0czo6SXNBbGxvd2VkT3BlcmF0 aW9uT25GZChpbnQgc3lzbm8pIHsKLSAjZW5kaWYKLSAgICAgY2FzZSBfX05SX2R1cDM6Ci0gI2lm IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlw c19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJj aDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3NodXRkb3du OgotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVlOwotQEAgLTQxNCw3ICs0MjgsNyBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgewot ICAgICBjYXNlIF9fTlJfZXhpdF9ncm91cDoKLSAgICAgY2FzZSBfX05SX3dhaXQ0OgotICAgICBj YXNlIF9fTlJfd2FpdGlkOgotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKQotKyNpZiBkZWZpbmVkKF9f aTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl93YWl0cGlk OgotICNlbmRpZgotICAgICAgIHJldHVybiB0cnVlOwotQEAgLTQzMSw3ICs0NDUsNyBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRQcm9jZXNzU3RhcnRPckRlYXRoKGludCBzeXNubykgewot ICNlbmRpZgotICAgICBjYXNlIF9fTlJfc2V0X3RpZF9hZGRyZXNzOgotICAgICBjYXNlIF9fTlJf dW5zaGFyZToKLS0jaWYgIWRlZmluZWQoX19taXBzX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9f KQotKyNpZiAhZGVmaW5lZChfX21pcHNfXykgJiYgIWRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3Zmb3JrOgotICNlbmRpZgotICAg ICBkZWZhdWx0OgotQEAgLTQ4NCw3ICs0OTgsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93 ZWRHZXRPck1vZGlmeVNvY2tldChpbnQgc3lzbm8pIHsKLSAgICAgICByZXR1cm4gdHJ1ZTsKLSAg ICAgZGVmYXVsdDoKLSAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18p IHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsg ICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBj YXNlIF9fTlJfc29ja2V0cGFpcjogIC8vIFdlIHdpbGwgd2FudCB0byBpbnNwZWN0IGl0cyBhcmd1 bWVudC4KLSAjZW5kaWYKLSAgICAgICByZXR1cm4gZmFsc2U7Ci1AQCAtNDk0LDcgKzUwOCw3IEBA IGJvb2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykg ewotIGJvb2wgU3lzY2FsbFNldHM6OklzRGVuaWVkR2V0T3JNb2RpZnlTb2NrZXQoaW50IHN5c25v KSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0gI2lmIGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVm aW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19h YXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSAgICAgY2FzZSBfX05SX2FjY2VwdDoKLSAgICAgY2FzZSBfX05SX2FjY2VwdDQ6Ci0g ICAgIGNhc2UgX19OUl9iaW5kOgotQEAgLTUwOSw3ICs1MjMsOCBAQCBib29sIFN5c2NhbGxTZXRz OjpJc0RlbmllZEdldE9yTW9kaWZ5U29ja2V0KGludCBzeXNubykgewotIH0KLSAKLSAjaWYgZGVm aW5lZChfX2kzODZfXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkg JiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQ U19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAgZGVmaW5l ZChfX3Bvd2VycGM2NF9fKQotIC8vIEJpZyBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwgZm9yIHNv Y2tldHMuCi0gYm9vbCBTeXNjYWxsU2V0czo6SXNTb2NrZXRDYWxsKGludCBzeXNubykgewotICAg c3dpdGNoIChzeXNubykgewotQEAgLTUyMyw3ICs1MzgsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJ c1NvY2tldENhbGwoaW50IHN5c25vKSB7Ci0gfQotICNlbmRpZgotIAotLSNpZiBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYg ZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19taXBz X18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotIGJvb2wgU3lzY2FsbFNldHM6 OklzTmV0d29ya1NvY2tldEluZm9ybWF0aW9uKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNu bykgewotICAgICBjYXNlIF9fTlJfZ2V0cGVlcm5hbWU6Ci1AQCAtNTQ4LDcgKzU2NCw3IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzQWxsb3dlZEFkZHJlc3NTcGFjZUFjY2VzcyhpbnQgc3lzbm8pIHsK LSAgICAgY2FzZSBfX05SX21pbmNvcmU6Ci0gICAgIGNhc2UgX19OUl9tbG9ja2FsbDoKLSAjaWYg ZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlw c19fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJj aDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX21tYXA6Ci0g I2VuZGlmCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAot QEAgLTU3OCw3ICs1OTQsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8o aW50IHN5c25vKSB7Ci0gICBzd2l0Y2ggKHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9sc2VlazoK LSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBcCi0tICAgIChk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMp KQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2Ug X19OUl9fbGxzZWVrOgotICNlbmRpZgotICNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykKLUBAIC01 OTgsMjYgKzYxNSwyOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRHZW5lcmFsSW8oaW50 IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9yZWFkdjoKLSAgICAgY2FzZSBfX05SX3ByZWFkNjQ6 Ci0gI2lmIGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBT X0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsg ICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfcmVjdjoKLSAjZW5kaWYK LSAjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IGRlZmluZWQo X19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsgICAgZGVmaW5lZChf X2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfcmVj dmZyb206ICAvLyBDb3VsZCBzcGVjaWZ5IHNvdXJjZS4KLSAgICAgY2FzZSBfX05SX3JlY3Ztc2c6 ICAgLy8gQ291bGQgc3BlY2lmeSBzb3VyY2UuCi0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19O Ul9zZWxlY3Q6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX19h cm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVm aW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0gICAgIGNhc2UgX19OUl9fbmV3c2VsZWN0OgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9f YXJtX18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmlu ZWQoQVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dl cnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3NlbmQ6Ci0gI2VuZGlmCi0gI2lmIGRlZmluZWQoX194 ODZfNjRfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBcCi0t ICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18pIHx8IGRl ZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX3NlbmRtc2c6ICAvLyBDb3VsZCBz cGVjaWZ5IGRlc3RpbmF0aW9uLgotICAgICBjYXNlIF9fTlJfc2VuZHRvOiAgIC8vIENvdWxkIHNw ZWNpZnkgZGVzdGluYXRpb24uCi0gI2VuZGlmCi1AQCAtNjczLDcgKzY5Miw4IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzQWxsb3dlZEJhc2ljU2NoZWR1bGVyKGludCBzeXNubykgewotICAgICAgIHJl dHVybiB0cnVlOwotICAgICBjYXNlIF9fTlJfZ2V0cHJpb3JpdHk6Ci0gI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9N SVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQo QVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwK LSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBjYXNlIF9fTlJfbmljZToKLSAjZW5k aWYKLSAgICAgY2FzZSBfX05SX3NldHByaW9yaXR5OgotQEAgLTY4NSw3ICs3MDUsOCBAQCBib29s IFN5c2NhbGxTZXRzOjpJc0FsbG93ZWRCYXNpY1NjaGVkdWxlcihpbnQgc3lzbm8pIHsKLSBib29s IFN5c2NhbGxTZXRzOjpJc0FkbWluT3BlcmF0aW9uKGludCBzeXNubykgewotICAgc3dpdGNoIChz eXNubykgewotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fYXJtX18pIHx8IFwK LS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVf MzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVk KEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAg ICAgY2FzZSBfX05SX2JkZmx1c2g6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9rZXhlY19sb2Fk OgotQEAgLTcwMSw3ICs3MjIsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FkbWluT3BlcmF0aW9u KGludCBzeXNubykgewotIAotIGJvb2wgU3lzY2FsbFNldHM6OklzS2VybmVsTW9kdWxlKGludCBz eXNubykgewotICAgc3dpdGNoIChzeXNubykgewotLSNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19p Mzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwgXAot KyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9jcmVhdGVfbW9kdWxl OgotICAgICBjYXNlIF9fTlJfZ2V0X2tlcm5lbF9zeW1zOiAgLy8gU2hvdWxkIEVOT1NZUy4KLSAg ICAgY2FzZSBfX05SX3F1ZXJ5X21vZHVsZToKLUBAIC03MzQsNyArNzU2LDggQEAgYm9vbCBTeXNj YWxsU2V0czo6SXNGc0NvbnRyb2woaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9zd2Fwb2Zm OgotICAgICBjYXNlIF9fTlJfc3dhcG9uOgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCi0t ICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMy X0JJVFMpKQotKyAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAg IGNhc2UgX19OUl91bW91bnQ6Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl91bW91bnQyOgotQEAg LTc1MCw3ICs3NzMsNyBAQCBib29sIFN5c2NhbGxTZXRzOjpJc051bWEoaW50IHN5c25vKSB7Ci0g ICAgIGNhc2UgX19OUl9nZXRjcHU6Ci0gICAgIGNhc2UgX19OUl9tYmluZDoKLSAjaWYgZGVmaW5l ZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8 fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQoX19hYXJjaDY0X18p IHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAgICAgY2FzZSBfX05SX21pZ3JhdGVfcGFnZXM6 Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9tb3ZlX3BhZ2VzOgotQEAgLTc4NSwxNCArODA4LDE1 IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzR2xvYmFsUHJvY2Vzc0Vudmlyb25tZW50KGludCBzeXNu bykgewotICAgc3dpdGNoIChzeXNubykgewotICAgICBjYXNlIF9fTlJfYWNjdDogIC8vIFByaXZp bGVnZWQuCi0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBk ZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2Ug X19OUl9nZXRybGltaXQ6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmlu ZWQoX19hcm1fXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX2FybV9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl91Z2V0cmxpbWl0OgotICNl bmRpZgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCi0tICAgIChkZWZpbmVkKEFSQ0hfQ1BV X01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQotKyAgICAoZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkgfHwg XAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl91bGltaXQ6Ci0g I2VuZGlmCi0gICAgIGNhc2UgX19OUl9nZXRydXNhZ2U6Ci1AQCAtODI2LDcgKzg1MCw3IEBAIGJv b2wgU3lzY2FsbFNldHM6OklzR2xvYmFsU3lzdGVtU3RhdHVzKGludCBzeXNubykgewotICNlbmRp ZgotICAgICBjYXNlIF9fTlJfc3lzaW5mbzoKLSAgICAgY2FzZSBfX05SX3VuYW1lOgotLSNpZiBk ZWZpbmVkKF9faTM4Nl9fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9vbGR1bmFtZToKLSAgICAgY2FzZSBfX05SX29sZG9s ZHVuYW1lOgotICNlbmRpZgotQEAgLTg5Miw4ICs5MTYsMTYgQEAgYm9vbCBTeXNjYWxsU2V0czo6 SXNTeXN0ZW1WU2VtYXBob3JlcyhpbnQgc3lzbm8pIHsKLSB9Ci0gI2VuZGlmCi0gCi0rLyogc2hp dHR5IGhhY2sgYXJvdW5kIFZvaWQncyA0LjE5IGtlcm5lbCBoZWFkZXJzIG1pc3NpbmcgdGhvc2Ug bnVtYmVycyAqLwotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYmICFkZWZpbmVkKF9fTlJf c2htZ2V0KQotKyNkZWZpbmUgX19OUl9zaG1nZXQgMzk1Ci0rI2RlZmluZSBfX05SX3NobWN0bCAz OTYKLSsjZGVmaW5lIF9fTlJfc2htYXQgMzk3Ci0rI2RlZmluZSBfX05SX3NobWR0IDM5OAotKyNl bmRpZgotKwotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8 IGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotKyAgICBkZWZpbmVkKF9fYWFy Y2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pIHx8IFwKLSAgICAgKGRlZmluZWQoQVJD SF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfNjRfQklUUykpCi0gLy8gVGhl c2UgZ2l2ZSBhIGxvdCBvZiBhbWJpZW50IGF1dGhvcml0eSBhbmQgYnlwYXNzIHRoZSBzZXR1aWQg c2FuZGJveC4KLSBib29sIFN5c2NhbGxTZXRzOjpJc1N5c3RlbVZTaGFyZWRNZW1vcnkoaW50IHN5 c25vKSB7Ci1AQCAtOTI1LDcgKzk1Nyw4IEBAIGJvb2wgU3lzY2FsbFNldHM6OklzU3lzdGVtVk1l c3NhZ2VRdWV1ZShpbnQgc3lzbm8pIHsKLSAjZW5kaWYKLSAKLSAjaWYgZGVmaW5lZChfX2kzODZf XykgfHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChB UkNIX0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYm IGRlZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2 NF9fKQotIC8vIEJpZyBzeXN0ZW0gViBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwuCi0gYm9vbCBT eXNjYWxsU2V0czo6SXNTeXN0ZW1WSXBjKGludCBzeXNubykgewotICAgc3dpdGNoIChzeXNubykg ewotQEAgLTk0NSw3ICs5NzgsOCBAQCBib29sIFN5c2NhbGxTZXRzOjpJc0FueVN5c3RlbVYoaW50 IHN5c25vKSB7Ci0gICByZXR1cm4gSXNTeXN0ZW1WTWVzc2FnZVF1ZXVlKHN5c25vKSB8fCBJc1N5 c3RlbVZTZW1hcGhvcmVzKHN5c25vKSB8fAotICAgICAgICAgIElzU3lzdGVtVlNoYXJlZE1lbW9y eShzeXNubyk7Ci0gI2VsaWYgZGVmaW5lZChfX2kzODZfXykgfHwgXAotLSAgICAoZGVmaW5lZChB UkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9CSVRTKSkKLSsgICAg KGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJDSF9DUFVfMzJfQklU UykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgcmV0dXJuIElzU3lzdGVt VklwYyhzeXNubyk7Ci0gI2VuZGlmCi0gfQotQEAgLTEwMDIsNyArMTAzNiw4IEBAIGJvb2wgU3lz Y2FsbFNldHM6OklzRmFOb3RpZnkoaW50IHN5c25vKSB7Ci0gYm9vbCBTeXNjYWxsU2V0czo6SXNU aW1lcihpbnQgc3lzbm8pIHsKLSAgIHN3aXRjaCAoc3lzbm8pIHsKLSAgICAgY2FzZSBfX05SX2dl dGl0aW1lcjoKLS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8 fCBkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9f eDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQotICAgICBjYXNlIF9fTlJfYWxhcm06Ci0gI2VuZGlmCi0gICAgIGNhc2UgX19OUl9z ZXRpdGltZXI6Ci1AQCAtMTA4NCwxOCArMTExOSwyMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc01p c2MoaW50IHN5c25vKSB7Ci0gICAgIGNhc2UgX19OUl9zeW5jZnM6Ci0gICAgIGNhc2UgX19OUl92 aGFuZ3VwOgotIC8vIFRoZSBzeXN0ZW0gY2FsbHMgYmVsb3cgYXJlIG5vdCBpbXBsZW1lbnRlZC4K LS0jaWYgZGVmaW5lZChfX2kzODZfXykgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVk KF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot ICAgICBjYXNlIF9fTlJfYWZzX3N5c2NhbGw6Ci0gI2VuZGlmCi0gI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAm JiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSAgICAgY2FzZSBfX05SX2JyZWFrOgotICNlbmRpZgotLSNpZiBkZWZpbmVkKF9faTM4 Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRl ZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNf XykgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9nZXRw bXNnOgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBcCi0tICAgIChkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAmJiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKQotKyAg ICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQVV8zMl9C SVRTKSkgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9n dHR5OgotICAgICBjYXNlIF9fTlJfaWRsZToKLSAgICAgY2FzZSBfX05SX2xvY2s6Ci1AQCAtMTEw MywyMCArMTE0MiwyMiBAQCBib29sIFN5c2NhbGxTZXRzOjpJc01pc2MoaW50IHN5c25vKSB7Ci0g ICAgIGNhc2UgX19OUl9wcm9mOgotICAgICBjYXNlIF9fTlJfcHJvZmlsOgotICNlbmRpZgotLSNp ZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19t aXBzX18pCi0rI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwg ZGVmaW5lZChfX21pcHNfXykgfHwgXAotKyAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAg IGNhc2UgX19OUl9wdXRwbXNnOgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9feDg2XzY0X18pCi0g ICAgIGNhc2UgX19OUl9zZWN1cml0eToKLSAjZW5kaWYKLSAjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgXAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNI X0NQVV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRl ZmluZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotICAgICBjYXNlIF9fTlJfc3R0eToKLSAjZW5kaWYKLS0jaWYgZGVmaW5lZChfX3g4Nl82NF9f KQotKyNpZiBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAg ICAgY2FzZSBfX05SX3R1eGNhbGw6Ci0gI2VuZGlmCi0tI2lmICFkZWZpbmVkKF9fYWFyY2g2NF9f KQotKyNpZiAhZGVmaW5lZChfX2FhcmNoNjRfXykgJiYgIWRlZmluZWQoX19wb3dlcnBjNjRfXykK LSAgICAgY2FzZSBfX05SX3ZzZXJ2ZXI6Ci0gI2VuZGlmCi0gICAgICAgcmV0dXJuIHRydWU7Ci1k aWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0 cy5oIGIvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5oCi1p bmRleCA5MjM1MzNlYzkuLjQxMWY3MmFjZCAxMDA2NDQKLS0tLSBhL3NhbmRib3gvbGludXgvc2Vj Y29tcC1icGYtaGVscGVycy9zeXNjYWxsX3NldHMuaAotKysrIGIvc2FuZGJveC9saW51eC9zZWNj b21wLWJwZi1oZWxwZXJzL3N5c2NhbGxfc2V0cy5oCi1AQCAtNDMsMTMgKzQzLDE0IEBAIGNsYXNz IFNBTkRCT1hfRVhQT1JUIFN5c2NhbGxTZXRzIHsKLSAgIHN0YXRpYyBib29sIElzRGVuaWVkR2V0 T3JNb2RpZnlTb2NrZXQoaW50IHN5c25vKTsKLSAKLSAjaWYgZGVmaW5lZChfX2kzODZfXykgfHwg XAotLSAgICAoZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgJiYgZGVmaW5lZChBUkNIX0NQ VV8zMl9CSVRTKSkKLSsgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmlu ZWQoQVJDSF9DUFVfMzJfQklUUykpIHx8IFwKLSsgICAgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQot ICAgLy8gQmlnIG11bHRpcGxleGluZyBzeXN0ZW0gY2FsbCBmb3Igc29ja2V0cy4KLSAgIHN0YXRp YyBib29sIElzU29ja2V0Q2FsbChpbnQgc3lzbm8pOwotICNlbmRpZgotIAotICNpZiBkZWZpbmVk KF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICBzdGF0aWMgYm9vbCBJc05ldHdvcmtTb2NrZXRJ bmZvcm1hdGlvbihpbnQgc3lzbm8pOwotICNlbmRpZgotIAotQEAgLTc2LDcgKzc3LDcgQEAgY2xh c3MgU0FOREJPWF9FWFBPUlQgU3lzY2FsbFNldHMgewotICAgc3RhdGljIGJvb2wgSXNTeXN0ZW1W U2VtYXBob3JlcyhpbnQgc3lzbm8pOwotICNlbmRpZgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8 fCBkZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hcm1fXykgfHwgXAotLSAgICBkZWZp bmVkKF9fYWFyY2g2NF9fKSB8fCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgXAotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18p IHx8IFwKLSAgICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQoQVJD SF9DUFVfNjRfQklUUykpCi0gICAvLyBUaGVzZSBnaXZlIGEgbG90IG9mIGFtYmllbnQgYXV0aG9y aXR5IGFuZCBieXBhc3MgdGhlIHNldHVpZCBzYW5kYm94LgotICAgc3RhdGljIGJvb2wgSXNTeXN0 ZW1WU2hhcmVkTWVtb3J5KGludCBzeXNubyk7Ci1AQCAtODgsNyArODksOCBAQCBjbGFzcyBTQU5E Qk9YX0VYUE9SVCBTeXNjYWxsU2V0cyB7Ci0gI2VuZGlmCi0gCi0gI2lmIGRlZmluZWQoX19pMzg2 X18pIHx8IFwKLS0gICAgKGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIGRlZmluZWQo QVJDSF9DUFVfMzJfQklUUykpCi0rICAgIChkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKSAm JiBkZWZpbmVkKEFSQ0hfQ1BVXzMyX0JJVFMpKSB8fCBcCi0rICAgIGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSAgIC8vIEJpZyBzeXN0ZW0gViBtdWx0aXBsZXhpbmcgc3lzdGVtIGNhbGwuCi0gICBz dGF0aWMgYm9vbCBJc1N5c3RlbVZJcGMoaW50IHN5c25vKTsKLSAjZW5kaWYKLWRpZmYgLS1naXQg YS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MgYi9zYW5kYm94L2xpbnV4L3Nl Y2NvbXAtYnBmL3N5c2NhbGwuY2MKLWluZGV4IGU0N2U5OGJmNS4uZDUzYTdmZjU2IDEwMDY0NAot LS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi9zeXNjYWxsLmNjCi0rKysgYi9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmL3N5c2NhbGwuY2MKLUBAIC0xOCw3ICsxOCw3IEBAIG5hbWVzcGFj ZSBzYW5kYm94IHsKLSBuYW1lc3BhY2UgewotIAotICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl9G QU1JTFkpIHx8IGRlZmluZWQoQVJDSF9DUFVfQVJNX0ZBTUlMWSkgfHwgXAotLSAgICBkZWZpbmVk KEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQotKyAgICBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZ KSB8fCBkZWZpbmVkIChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0gLy8gTnVtYmVyIHRoYXQncyBu b3QgY3VycmVudGx5IHVzZWQgYnkgYW55IExpbnV4IGtlcm5lbCBBQklzLgotIGNvbnN0IGludCBr SW52YWxpZFN5c2NhbGxOdW1iZXIgPSAweDM1MWQzOwotICNlbHNlCi1AQCAtMzEwLDEyICszMTAs NTYgQEAgYXNtKC8vIFdlIG5lZWQgdG8gYmUgYWJsZSB0byB0ZWxsIHRoZSBrZXJuZWwgZXhhY3Rs eSB3aGVyZSB3ZSBtYWRlIGEKLSAgICAgLy8gRW50ZXIgdGhlIGtlcm5lbAotICAgICAic3ZjIDBc biIKLSAgICAgIjI6cmV0XG4iCi0rICAgICIuY2ZpX2VuZHByb2NcbiIKLSsgICAgIi5zaXplIFN5 c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxuIgotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykK LSsgICAgIi50ZXh0XG4iCi0rICAgICIuYWxpZ24gNFxuIgotKyAgICAiLnR5cGUgU3lzY2FsbEFz bSBAZnVuY3Rpb25cbiIKLSsgICAgIlN5c2NhbGxBc206XG4iCi0rICAgICIuY2ZpX3N0YXJ0cHJv Y1xuIgotKwotKyAgICAvLyBDaGVjayBpZiByMyBpcyBuZWdhdGl2ZQotKyAgICAiY21wZGkgMywg MFxuIgotKyAgICAiYmd0IDJmXG4iCi0rCi0rICAgIC8vIExvYWQgYWRkcmVzcyBvZiAzZiBpbnRv IHIzIGFuZCByZXR1cm4KLSsgICAgIm1mbHIgMTBcbiIKLSsgICAgImJsIDFmXG4iCi0rICAgICIx OiBtZmxyIDNcbiIKLSsgICAgIm10bHIgMTBcbiIKLSsgICAgImFkZGkgMywgMywgNCoxM1xuIgot KyAgICAiYmxyXG4iCi0rCi0rICAgIC8vIExvYWQgYXJndW1lbnRzIGZyb20gYXJyYXkgaW50byBy My04Ci0rICAgIC8vIHNhdmUgcGFyYW0gMyBpbiByMTAKLSsgICAgIjI6XG4iCi0rICAgICJtciAw LCAzXG4iCi0rICAgICJsZCAzLCAwKDQpXG4iCi0rICAgICJsZCA1LCAxNig0KVxuIgotKyAgICAi bGQgNiwgMjQoNClcbiIKLSsgICAgImxkIDcsIDMyKDQpXG4iCi0rICAgICJsZCA4LCA0MCg0KVxu IgotKyAgICAibGQgNCwgOCg0KVxuIgotKyAgICAibGkgOSwgMFxuIgotKwotKyAgICAvLyBFbnRl ciBrZXJuZWwKLSsgICAgInNjXG4iCi0rCi0rICAgIC8vIE1hZ2ljIHJldHVybiBhZGRyZXNzCi0r ICAgICIzOlxuIgotKyAgICAvLyBMaWtlIE1JUFMsIHBwYzY0IHJldHVybiB2YWx1ZXMgYXJlIGFs d2F5cyBwb3NpdGl2ZS4KLSsgICAgLy8gQ2hlY2sgZm9yIGVycm9yIGluIGNyMC5TTyBhbmQgbmVn YXRlIHVwb24gZXJyb3IKLSsgICAgImJjIDQsIDMsIDRmXG4iCi0rICAgICJuZWcgMywgM1xuIgot KyAgICAiNDogYmxyXG4iCi0rCi0gICAgICIuY2ZpX2VuZHByb2NcbiIKLSAgICAgIi5zaXplIFN5 c2NhbGxBc20sIC4tU3lzY2FsbEFzbVxuIgotICNlbmRpZgotICAgICApOyAgLy8gYXNtCi0gCi0t I2lmIGRlZmluZWQoX194ODZfNjRfXykKLSsjaWYgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCi0gZXh0ZXJuICJDIiB7Ci0gaW50cHRyX3QgU3lzY2FsbEFzbShp bnRwdHJfdCBuciwgY29uc3QgaW50cHRyX3QgYXJnc1s2XSk7Ci0gfQotQEAgLTQyOSw2ICs0NzMs OCBAQCBpbnRwdHJfdCBTeXNjYWxsOjpDYWxsKGludCBuciwKLSAgICAgcmV0ID0gaW5vdXQ7Ci0g ICB9Ci0gCi0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgaW50cHRyX3QgcmV0ID0g U3lzY2FsbEFzbShuciwgYXJncyk7Ci0gI2Vsc2UKLSAjZXJyb3IgIlVuaW1wbGVtZW50ZWQgYXJj aGl0ZWN0dXJlIgotICNlbmRpZgotQEAgLTQ0NSw4ICs0OTEsMTggQEAgdm9pZCBTeXNjYWxsOjpQ dXRWYWx1ZUluVWNvbnRleHQoaW50cHRyX3QgcmV0X3ZhbCwgdWNvbnRleHRfdCogY3R4KSB7Ci0g ICAgIC8vIG5lZWRzIHRvIGJlIGNoYW5nZWQgYmFjay4KLSAgICAgcmV0X3ZhbCA9IC1yZXRfdmFs OwotICAgICBTRUNDT01QX1BBUk00KGN0eCkgPSAxOwotLSAgfSBlbHNlCi0rICB9IGVsc2Ugewot ICAgICBTRUNDT01QX1BBUk00KGN0eCkgPSAwOwotKyAgfQotKyNlbmRpZgotKyNpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCi0rICAvLyBTYW1lIGFzIE1JUFMsIG5lZWQgdG8gaW52ZXJ0IHJldCBh bmQgc2V0IGVycm9yIHJlZ2lzdGVyIChjcjAuU08pCi0rICBpZiAocmV0X3ZhbCA8PSAtMSAmJiBy ZXRfdmFsID49IC00MDk1KSB7Ci0rICAgIHJldF92YWwgPSAtcmV0X3ZhbDsKLSsgICAgY3R4LT51 Y19tY29udGV4dC5yZWdzLT5jY3IgfD0gKDEgPDwgMjgpOwotKyAgfSBlbHNlIHsKLSsgICAgY3R4 LT51Y19tY29udGV4dC5yZWdzLT5jY3IgJj0gfigxIDw8IDI4KTsKLSsgIH0KLSAjZW5kaWYKLSAg IFNFQ0NPTVBfUkVTVUxUKGN0eCkgPSBzdGF0aWNfY2FzdDxncmVnX3Q+KHJldF92YWwpOwotIH0K LWRpZmYgLS1naXQgYS9zYW5kYm94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MgYi9zYW5kYm94 L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKLWluZGV4IGY1Yjg2YTczYS4uNWU2YzRhMDY4IDEw MDY0NAotLS0tIGEvc2FuZGJveC9saW51eC9zZWNjb21wLWJwZi90cmFwLmNjCi0rKysgYi9zYW5k Ym94L2xpbnV4L3NlY2NvbXAtYnBmL3RyYXAuY2MKLUBAIC0yMzIsNiArMjMyLDIwIEBAIHZvaWQg VHJhcDo6U2lnU3lzKGludCBuciwgTGludXhTaWdJbmZvKiBpbmZvLCB1Y29udGV4dF90KiBjdHgp IHsKLSAgICAgICBTZXRJc0luU2lnSGFuZGxlcigpOwotICAgICB9Ci0gCi0rI2lmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsgICAgLy8gT24gcHBjNjQrZ2xpYmMsIHNvbWUgc3lzY2FsbHMgc2Vl bSB0byBhY2NpZGVudGFsbHkgbmVnYXRlIHRoZSBmaXJzdAotKyAgICAvLyBwYXJhbWV0ZXIgd2hp Y2ggY2F1c2VzIGNoZWNrcyBhZ2FpbnN0IGl0IHRvIGZhaWwuIEZvciBub3csIG1hbnVhbGx5Ci0r ICAgIC8vIG5lZ2F0ZSB0aGVtIGJhY2suCi0rICAgIC8vIFRPRE8oc2hhd25AYW5hc3Rhcy5pbyk6 IGludmVzdGlnYXRlIHRoaXMgaXNzdWUgZnVydGhlcgotKyAgICBhdXRvIG5yID0gU0VDQ09NUF9T WVNDQUxMKGN0eCk7Ci0rICAgIGlmIChuciA9PSBfX05SX29wZW5hdCB8fCBuciA9PSBfX05SX21r ZGlyYXQgfHwgbnIgPT0gX19OUl9mYWNjZXNzYXQgfHwgbnIgPT0gX19OUl9yZWFkbGlua2F0IHx8 Ci0rICAgICAgICBuciA9PSBfX05SX3JlbmFtZWF0IHx8IG5yID09IF9fTlJfcmVuYW1lYXQyIHx8 IG5yID09IF9fTlJfbmV3ZnN0YXRhdCB8fCBuciA9PSBfX05SX3VubGlua2F0KSB7Ci0rICAgICAg ICBpZiAoc3RhdGljX2Nhc3Q8aW50PihTRUNDT01QX1BBUk0xKGN0eCkpID4gMCkgewotKyAgICAg ICAgICAgIFNFQ0NPTVBfUEFSTTEoY3R4KSA9IC1TRUNDT01QX1BBUk0xKGN0eCk7Ci0rICAgICAg ICB9Ci0rICAgIH0KLSsjZW5kaWYKLSsKLSAgICAgLy8gQ29weSB0aGUgc2VjY29tcC1zcGVjaWZp YyBkYXRhIGludG8gYSBhcmNoX3NlY2NvbXBfZGF0YSBzdHJ1Y3R1cmUuIFRoaXMKLSAgICAgLy8g aXMgd2hhdCB3ZSBhcmUgc2hvd2luZyB0byBUcmFwRm5jIGNhbGxiYWNrcyB0aGF0IHRoZSBzeXN0 ZW0gY2FsbAotICAgICAvLyBldmFsdWF0b3IgcmVnaXN0ZXJlZCB3aXRoIHRoZSBzYW5kYm94Lgot ZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MgYi9zYW5k Ym94L2xpbnV4L3NlcnZpY2VzL2NyZWRlbnRpYWxzLmNjCi1pbmRleCBkN2I1ZDhjNDQuLjRhZGM2 ZDBkNCAxMDA2NDQKLS0tLSBhL3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MK LSsrKyBiL3NhbmRib3gvbGludXgvc2VydmljZXMvY3JlZGVudGlhbHMuY2MKLUBAIC04MSw3ICs4 MSw3IEBAIGJvb2wgQ2hyb290VG9TYWZlRW1wdHlEaXIoKSB7Ci0gICBwaWRfdCBwaWQgPSAtMTsK LSAgIGFsaWduYXMoMTYpIGNoYXIgc3RhY2tfYnVmW1BUSFJFQURfU1RBQ0tfTUlOXTsKLSAjaWYg ZGVmaW5lZChBUkNIX0NQVV9YODZfRkFNSUxZKSB8fCBkZWZpbmVkKEFSQ0hfQ1BVX0FSTV9GQU1J TFkpIHx8IFwKLS0gICAgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKLSsgICAgZGVmaW5l ZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkgfHwgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkp Ci0gICAvLyBUaGUgc3RhY2sgZ3Jvd3MgZG93bndhcmQuCi0gICB2b2lkKiBzdGFjayA9IHN0YWNr X2J1ZiArIHNpemVvZihzdGFja19idWYpOwotICNlbHNlCi1AQCAtOTAsNyArOTAsOSBAQAotIAot ICAgaW50IGNsb25lX2ZsYWdzID0gQ0xPTkVfRlMgfCBMSU5VWF9TSUdDSExEOwotICAgdm9pZCog dGxzID0gbnVsbHB0cjsKLS0jaWYgKGRlZmluZWQoQVJDSF9DUFVfWDg2XzY0KSB8fCBkZWZpbmVk KEFSQ0hfQ1BVX0FSTV9GQU1JTFkpKSAmJiBcCi0rLy8gUkFKQSB0aGlzIG1pZ2h0IGJlIGl0Li4u Ci0rI2lmIChkZWZpbmVkKEFSQ0hfQ1BVX1g4Nl82NCkgfHwgZGVmaW5lZChBUkNIX0NQVV9BUk1f RkFNSUxZKSB8fCBcCi0rICAgIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKSkgJiYgXAot ICAgICAhZGVmaW5lZChNRU1PUllfU0FOSVRJWkVSKQotICAgLy8gVXNlIENMT05FX1ZNIHwgQ0xP TkVfVkZPUksgYXMgYW4gb3B0aW1pemF0aW9uIHRvIGF2b2lkIGNvcHlpbmcgcGFnZSB0YWJsZXMu Ci0gICAvLyBTaW5jZSBjbG9uZSB3cml0ZXMgdG8gdGhlIG5ldyBjaGlsZCdzIFRMUyBiZWZvcmUg cmV0dXJuaW5nLCB3ZSBtdXN0IHNldCBhCi1AQCAtOTgsNiArMTAwLDExIEBACi0gICAvLyBnbGli YyBwZXJmb3JtcyBzeXNjYWxscyBieSBjYWxsaW5nIGEgZnVuY3Rpb24gcG9pbnRlciBpbiBUTFMs IHNvIHdlIGRvIG5vdAotICAgLy8gYXR0ZW1wdCB0aGlzIG9wdGltaXphdGlvbi4KLSAgIC8vIFRP RE8oY3JidWcuY29tLzEyNDc0NTgpIEJyb2tlbiBpbiBNU2FuIGJ1aWxkcyBhZnRlciBMTFZNIGYx YmIzMGE0OTU2Zi4KLSsgIC8vCi0rICAvLyBOT1RFOiBXaXRob3V0IENMT05FX1ZNLCBmb250Y29u ZmlnIHdpbGwgYXR0ZW1wdCB0byByZWxvYWQgY29uZmlndXJhdGlvbgotKyAgLy8gaW4gZXZlcnkg dGhyZWFkLiAgU2luY2UgdGhlIHJlbmRlcmVkIHRocmVhZHMgYXJlIHNhbmRib3hlZCB3aXRob3V0 Ci0rICAvLyBmaWxlc3lzdGVtIGFjY2VzcyAoZS5nLiB0byAvZXRjL2ZvbnRzL2ZvbnRzLmNvbmYp IHRoaXMgd2lsbCBjYXVzZSBmb250Ci0rICAvLyBjb25maWd1cmFpdG9uIGxvYWRpbmcgZmFpbHVy ZXMgYW5kIG5vIGZvbnRzIHdpbGwgYmUgZGlzcGxheWVkIQotICAgY2xvbmVfZmxhZ3MgfD0gQ0xP TkVfVk0gfCBDTE9ORV9WRk9SSyB8IENMT05FX1NFVFRMUzsKLSAKLSAgIGNoYXIgdGxzX2J1ZltQ VEhSRUFEX1NUQUNLX01JTl0gPSB7MH07Ci1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9zZXJ2 aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjIGIvc2FuZGJveC9saW51eC9zZXJ2aWNlcy9zeXNjYWxs X3dyYXBwZXJzLmNjCi1pbmRleCBmY2ZkMmFhMTIuLmY2ZWIzMmZiNyAxMDA2NDQKLS0tLSBhL3Nh bmRib3gvbGludXgvc2VydmljZXMvc3lzY2FsbF93cmFwcGVycy5jYwotKysrIGIvc2FuZGJveC9s aW51eC9zZXJ2aWNlcy9zeXNjYWxsX3dyYXBwZXJzLmNjCi1AQCAtNTgsNyArNTgsNyBAQCBsb25n IHN5c19jbG9uZSh1bnNpZ25lZCBsb25nIGZsYWdzLAotICNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4 Nl82NCkKLSAgIHJldHVybiBzeXNjYWxsKF9fTlJfY2xvbmUsIGZsYWdzLCBjaGlsZF9zdGFjaywg cHRpZCwgY3RpZCwgdGxzKTsKLSAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1g4NikgfHwgZGVmaW5l ZChBUkNIX0NQVV9BUk1fRkFNSUxZKSB8fCBcCi0tICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19G QU1JTFkpCi0rICAgIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpIHx8IGRlZmluZWQoQVJD SF9DUFVfUFBDNjRfRkFNSUxZKQotICAgLy8gQ09ORklHX0NMT05FX0JBQ0tXQVJEUyBkZWZpbmVk LgotICAgcmV0dXJuIHN5c2NhbGwoX19OUl9jbG9uZSwgZmxhZ3MsIGNoaWxkX3N0YWNrLCBwdGlk LCB0bHMsIGN0aWQpOwotICNlbmRpZgotZGlmZiAtLWdpdCBhL3NhbmRib3gvbGludXgvc3lzY2Fs bF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MgYi9zYW5kYm94L2xpbnV4L3N5c2NhbGxfYnJva2Vy L2Jyb2tlcl9wcm9jZXNzLmNjCi1pbmRleCBkNzJjOWQyMzguLjc3ZjFkOTVmNSAxMDA2NDQKLS0t LSBhL3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKLSsrKyBi L3NhbmRib3gvbGludXgvc3lzY2FsbF9icm9rZXIvYnJva2VyX3Byb2Nlc3MuY2MKLUBAIC0xNjks NyArMTY5LDcgQEAgYm9vbCBCcm9rZXJQcm9jZXNzOjpJc1N5c2NhbGxCcm9rZXJhYmxlKGludCBz eXNubywgYm9vbCBmYXN0X2NoZWNrKSBjb25zdCB7Ci0gI2lmIGRlZmluZWQoX19OUl9mc3RhdGF0 NjQpCi0gICAgIGNhc2UgX19OUl9mc3RhdGF0NjQ6Ci0gI2VuZGlmCi0tI2lmIGRlZmluZWQoX194 ODZfNjRfXykgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsjaWYgZGVmaW5lZChfX3g4Nl82NF9f KSB8fCBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAg IGNhc2UgX19OUl9uZXdmc3RhdGF0OgotICNlbmRpZgotICAgICAgIHJldHVybiAhZmFzdF9jaGVj ayB8fCBhbGxvd2VkX2NvbW1hbmRfc2V0Xy50ZXN0KENPTU1BTkRfU1RBVCk7Ci1kaWZmIC0tZ2l0 IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNjb21wLmggYi9zYW5kYm94 L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3NlY2NvbXAuaAotaW5kZXggMWZhNDdlZDA5Li4z OWNjOWFiNTMgMTAwNjQ0Ci0tLS0gYS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4 X3NlY2NvbXAuaAotKysrIGIvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zZWNj b21wLmgKLUBAIC00MSw2ICs0MSw5IEBACi0gI2lmbmRlZiBFTV9BQVJDSDY0Ci0gI2RlZmluZSBF TV9BQVJDSDY0IDE4MwotICNlbmRpZgotKyNpZm5kZWYgRU1fUFBDNjQKLSsjZGVmaW5lIEVNX1BQ QzY0IDIxCi0rI2VuZGlmCi0gCi0gI2lmbmRlZiBfX0FVRElUX0FSQ0hfNjRCSVQKLSAjZGVmaW5l IF9fQVVESVRfQVJDSF82NEJJVCAweDgwMDAwMDAwCi1AQCAtNzMsNiArNzYsMTIgQEAKLSAjaWZu ZGVmIEFVRElUX0FSQ0hfQUFSQ0g2NAotICNkZWZpbmUgQVVESVRfQVJDSF9BQVJDSDY0IChFTV9B QVJDSDY0IHwgX19BVURJVF9BUkNIXzY0QklUIHwgX19BVURJVF9BUkNIX0xFKQotICNlbmRpZgot KyNpZm5kZWYgQVVESVRfQVJDSF9QUEM2NAotKyNkZWZpbmUgQVVESVRfQVJDSF9QUEM2NCAoRU1f UFBDNjQgfCBfX0FVRElUX0FSQ0hfNjRCSVQpCi0rI2VuZGlmCi0rI2lmbmRlZiBBVURJVF9BUkNI X1BQQzY0TEUKLSsjZGVmaW5lIEFVRElUX0FSQ0hfUFBDNjRMRSAoRU1fUFBDNjQgfCBfX0FVRElU X0FSQ0hfNjRCSVQgfCBfX0FVRElUX0FSQ0hfTEUpCi0rI2VuZGlmCi0gCi0gLy8gRm9yIHByY3Rs LmgKLSAjaWZuZGVmIFBSX1NFVF9TRUNDT01QCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9saW51eC9z eXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaCBiL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRl cnMvbGludXhfc2lnbmFsLmgKLWluZGV4IGY1YTczNjc2MS4uNTE1YjIxYTVmIDEwMDY0NAotLS0t IGEvc2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAotKysrIGIvc2Fu ZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9saW51eF9zaWduYWwuaAotQEAgLTEzLDcgKzEzLDcg QEAKLSAvLyAobm90IHVuZGVmaW5lZCwgYnV0IGRlZmluZWQgZGlmZmVyZW50IHZhbHVlcyBhbmQg aW4gZGlmZmVyZW50IG1lbW9yeQotIC8vIGxheW91dHMpLiBTbywgZmlsbCB0aGUgZ2FwIGhlcmUu Ci0gI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5l ZChfX2FybV9fKSB8fCBcCi0tICAgIGRlZmluZWQoX19hYXJjaDY0X18pCi0rICAgIGRlZmluZWQo X19hYXJjaDY0X18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSAKLSAjZGVmaW5lIExJTlVY X1NJR0hVUCAxCi0gI2RlZmluZSBMSU5VWF9TSUdJTlQgMgotZGlmZiAtLWdpdCBhL3NhbmRib3gv bGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaCBiL3NhbmRib3gvbGludXgvc3lz dGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaAotaW5kZXggMmI3OGEwY2MzLi4wYTcwZjVlYTUg MTAwNjQ0Ci0tLS0gYS9zYW5kYm94L2xpbnV4L3N5c3RlbV9oZWFkZXJzL2xpbnV4X3N5c2NhbGxz LmgKLSsrKyBiL3NhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvbGludXhfc3lzY2FsbHMuaAot QEAgLTM1LDUgKzM1LDkgQEAKLSAjaW5jbHVkZSAic2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVy cy9hcm02NF9saW51eF9zeXNjYWxscy5oIgotICNlbmRpZgotIAotKyNpZiBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0rI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMvcHBjNjRf bGludXhfc3lzY2FsbHMuaCIKLSsjZW5kaWYKLSsKLSAjZW5kaWYgIC8vIFNBTkRCT1hfTElOVVhf U1lTVEVNX0hFQURFUlNfTElOVVhfU1lTQ0FMTFNfSF8KLSAKLWRpZmYgLS1naXQgYS9zYW5kYm94 L2xpbnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmggYi9zYW5kYm94L2xp bnV4L3N5c3RlbV9oZWFkZXJzL3BwYzY0X2xpbnV4X3N5c2NhbGxzLmgKLW5ldyBmaWxlIG1vZGUg MTAwNjQ0Ci1pbmRleCAwMDAwMDAwMDAuLmNjYWNmZmUyMgotLS0tIC9kZXYvbnVsbAotKysrIGIv c2FuZGJveC9saW51eC9zeXN0ZW1faGVhZGVycy9wcGM2NF9saW51eF9zeXNjYWxscy5oCi1AQCAt MCwwICsxLDEyIEBACi0rLy8gQ29weXJpZ2h0IDIwMTQgVGhlIENocm9taXVtIEF1dGhvcnMuIEFs bCByaWdodHMgcmVzZXJ2ZWQuCi0rLy8gVXNlIG9mIHRoaXMgc291cmNlIGNvZGUgaXMgZ292ZXJu ZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNhbiBiZQotKy8vIGZvdW5kIGluIHRoZSBM SUNFTlNFIGZpbGUuCi0rCi0rI2lmbmRlZiBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFERVJTX1BQ QzY0X0xJTlVYX1NZU0NBTExTX0hfCi0rI2RlZmluZSBTQU5EQk9YX0xJTlVYX1NZU1RFTV9IRUFE RVJTX1BQQzY0X0xJTlVYX1NZU0NBTExTX0hfCi0rCi0rI2luY2x1ZGUgPGFzbS91bmlzdGQuaD4K LSsKLSsvL1RPRE86IGlzIGl0IG5lY2Vzc2FyeSB0byByZWRlZmluZSBzeXNjYWxsIG51bWJlcnMg Zm9yIFBQQzY0PwotKwotKyNlbmRpZiAgLy8gU0FOREJPWF9MSU5VWF9TWVNURU1fSEVBREVSU19Q UEM2NF9MSU5VWF9TWVNDQUxMU19IXwotZGlmZiAtLWdpdCBhL3NhbmRib3gvcG9saWN5L2xpbnV4 L2JwZl91dGlsaXR5X3BvbGljeV9saW51eC5jYyBiL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl91 dGlsaXR5X3BvbGljeV9saW51eC5jYwotaW5kZXggMjU4OGZjNzkyLi5kNDU1YzQ2MDEgMTAwNjQ0 Ci0tLS0gYS9zYW5kYm94L3BvbGljeS9saW51eC9icGZfdXRpbGl0eV9wb2xpY3lfbGludXguY2MK LSsrKyBiL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl91dGlsaXR5X3BvbGljeV9saW51eC5jYwot QEAgLTM0LDcgKzM0LDcgQEAKLSAgICAgY2FzZSBfX05SX2ZkYXRhc3luYzoKLSAgICAgY2FzZSBf X05SX2ZzeW5jOgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBkZWZpbmVkKF9feDg2XzY0X18p IHx8IGRlZmluZWQoX19taXBzX18pIHx8IFwKLS0gICAgZGVmaW5lZChfX2FhcmNoNjRfXykKLSsg ICAgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgICBj YXNlIF9fTlJfZ2V0cmxpbWl0OgotICNlbmRpZgotICNpZiBkZWZpbmVkKF9faTM4Nl9fKSB8fCBk ZWZpbmVkKF9fYXJtX18pCi1kaWZmIC0tZ2l0IGEvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3Jl bmRlcmVyX3BvbGljeV9saW51eC5jYyBiL3NhbmRib3gvcG9saWN5L2xpbnV4L2JwZl9yZW5kZXJl cl9wb2xpY3lfbGludXguY2MKLWluZGV4IDI1ODhmYzc5Mi4uZDQ1NWM0NjAxIDEwMDY0NAotLS0t IGEvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwotKysr IGIvc2FuZGJveC9wb2xpY3kvbGludXgvYnBmX3JlbmRlcmVyX3BvbGljeV9saW51eC5jYwotQEAg LTE1LDYgKzE1LDExIEBACi0gI2luY2x1ZGUgInNhbmRib3gvbGludXgvc3lzdGVtX2hlYWRlcnMv bGludXhfc3lzY2FsbHMuaCIKLSAjaW5jbHVkZSAic2FuZGJveC9wb2xpY3kvbGludXgvc2FuZGJv eF9saW51eC5oIgotIAotKy8vIE9uIFBQQzY0LCBUQ0dFVFMgaXMgZGVmaW5lZCBpbiB0ZXJtcyBv ZiBzdHJ1Y3QgdGVybWlvcywgc28gd2UgbXVzdCBpbmNsdWRlIHRlcm1pb3MuaAotKyNpZmRlZiBf X3Bvd2VycGM2NF9fCi0rI2luY2x1ZGUgPHRlcm1pb3MuaD4KLSsjZW5kaWYKLSsKLSAvLyBUT0RP KHZpZ25hdHRpKTogcmVwbGFjZSB0aGUgbG9jYWwgZGVmaW5pdGlvbnMgYmVsb3cgd2l0aCAjaW5j bHVkZQotIC8vIDxsaW51eC9kbWEtYnVmLmg+IG9uY2Uga2VybmVsIHZlcnNpb24gNC42IGJlY29t ZXMgd2lkZWx5IHVzZWQuCi0gI2luY2x1ZGUgPGxpbnV4L3R5cGVzLmg+Ci1AQCAtNzcsNyArNzcs NyBAQAotICAgICBjYXNlIF9fTlJfZnRydW5jYXRlNjQ6Ci0gI2VuZGlmCi0gI2lmIGRlZmluZWQo X19pMzg2X18pIHx8IGRlZmluZWQoX194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykgfHwg XAotLSAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKQotKyAgICBkZWZpbmVkKF9fYWFyY2g2NF9fKSB8 fCBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0gICAgIGNhc2UgX19OUl9nZXRybGltaXQ6Ci0gICAg IGNhc2UgX19OUl9zZXRybGltaXQ6Ci0gLy8gV2UgYWxsb3cgc2V0cmxpbWl0IHRvIGR5bmFtaWNh bGx5IGFkanVzdCB0aGUgYWRkcmVzcyBzcGFjZSBsaW1pdCBhcwotZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2FuZ2xlL3NyYy9jb21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmggYi90aGlyZF9w YXJ0eS9hbmdsZS9zcmMvY29tcGlsZXIvdHJhbnNsYXRvci9JbmZvU2luay5oCi1pbmRleCAzYTgw N2UxZTMuLjUyNTg2MTdhNyAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy9jb21w aWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmgKLSsrKyBiL3RoaXJkX3BhcnR5L2FuZ2xlL3NyYy9j b21waWxlci90cmFuc2xhdG9yL0luZm9TaW5rLmgKLUBAIC05Miw3ICs5MiwxNiBAQCBjbGFzcyBU SW5mb1NpbmtCYXNlCi0gICAgICAgICAgICAgc3RyZWFtLnByZWNpc2lvbig4KTsKLSAgICAgICAg ICAgICBzdHJlYW0gPDwgZjsKLSAgICAgICAgIH0KLS0gICAgICAgIHNpbmsuYXBwZW5kKHN0cmVh bS5zdHIoKSk7Ci0rCi0rICAgICAgICAvLyBIYWNrIHRvIHdvcmsgYXJvdW5kIGEgYnVnIHdoZXJl IG5lZ2F0aXZlIGZsb2F0aW5nIHBvaW50IHZhbHVlcwotKyAgICAgICAgLy8gYXJlIHJlbmRlcmVk IGxpa2UgJy4wLjUnIGluc3RlYWQgb2YgJy0wLjUnCi0rICAgICAgICBzdGQ6OnN0cmluZyByZXMo c3RyZWFtLnN0cigpKTsKLSsKLSsgICAgICAgIGlmIChzaWduYml0KGYpKSB7IC8vIHRlc3QgaWYg ZiBpcyBuZWdhdGl2ZQotKyAgICAgICAgICAgIHJlc1swXSA9ICctJzsKLSsgICAgICAgIH0KLSsK LSsgICAgICAgIHNpbmsuYXBwZW5kKHJlcyk7Ci0gICAgICAgICByZXR1cm4gKnRoaXM7Ci0gICAg IH0KLSAgICAgLy8gV3JpdGUgYm9vbGVhbiB2YWx1ZXMgYXMgdGhlaXIgbmFtZXMgaW5zdGVhZCBv ZiBpbnRlZ3JhbCB2YWx1ZS4KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvbGli QU5HTEUvQ29uc3RhbnRzLmggYi90aGlyZF9wYXJ0eS9hbmdsZS9zcmMvbGliQU5HTEUvQ29uc3Rh bnRzLmgKLWluZGV4IGZjYmM5MjQ2YS4uMzlhZTY2MTQ4IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFy dHkvYW5nbGUvc3JjL2xpYkFOR0xFL0NvbnN0YW50cy5oCi0rKysgYi90aGlyZF9wYXJ0eS9hbmds ZS9zcmMvbGliQU5HTEUvQ29uc3RhbnRzLmgKLUBAIC05LDYgKzksNyBAQAotICNpZm5kZWYgTElC QU5HTEVfQ09OU1RBTlRTX0hfCi0gI2RlZmluZSBMSUJBTkdMRV9DT05TVEFOVFNfSF8KLSAKLSsj aW5jbHVkZSA8Y3N0ZGRlZj4KLSAjaW5jbHVkZSAiY29tbW9uL3BsYXRmb3JtLmgiCi0gCi0gI2lu Y2x1ZGUgPHN0ZGludC5oPgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlM RC5nbiBiL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlMRC5nbgotaW5kZXggMTdjZjljZGE5Li44 Y2U5NmJkMzIgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9ib3Jpbmdzc2wvQlVJTEQuZ24KLSsr KyBiL3RoaXJkX3BhcnR5L2JvcmluZ3NzbC9CVUlMRC5nbgotQEAgLTEwMyw2ICsxMDMsMTMgQEAg aWYgKGlzX3dpbiAmJiAhaXNfbXNhbiAmJiBjdXJyZW50X2NwdSAhPSAiYXJtNjQiKSB7Ci0gICAg ICAgfSBlbHNlIHsKLSAgICAgICAgIHB1YmxpY19jb25maWdzID0gWyAiOm5vX2FzbV9jb25maWci IF0KLSAgICAgICB9Ci0rICAgIH0gZWxzZSBpZiAoY3VycmVudF9jcHUgPT0gInBwYzY0Iikgewot KyAgICAgIGlmIChpc19saW51eCkgewotKyAgICAgICAgIyBUT0RPOiBwcGM2NCAoYmUpIGNoZWNr Ci0rICAgICAgICBzb3VyY2VzICs9IGNyeXB0b19zb3VyY2VzX2xpbnV4X3BwYzY0bGUKLSsgICAg ICB9IGVsc2UgewotKyAgICAgICAgcHVibGljX2NvbmZpZ3MgPSBbICI6bm9fYXNtX2NvbmZpZyIg XQotKyAgICAgIH0KLSAgICAgfSBlbHNlIHsKLSAgICAgICBwdWJsaWNfY29uZmlncyA9IFsgIjpu b19hc21fY29uZmlnIiBdCi0gICAgIH0KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3Bh ZC9CVUlMRC5nbiBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL0JVSUxELmduCi1pbmRleCA0YWYzZDdi YmYuLmFkYmY1NDE1OSAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL0JVSUxELmdu Ci0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9CVUlMRC5nbgotQEAgLTU5Niw3ICs1OTYsNiBA QCBpZiAoaXNfbGludXggfHwgaXNfY2hyb21lb3MgfHwgaXNfYW5kcm9pZCkgewotICAgICAgICJi cmVha3BhZC9zcmMvY2xpZW50L21pbmlkdW1wX2ZpbGVfd3JpdGVyLmgiLAotICAgICAgICJicmVh a3BhZC9zcmMvY29tbW9uL2NvbnZlcnRfVVRGLmNjIiwKLSAgICAgICAiYnJlYWtwYWQvc3JjL2Nv bW1vbi9jb252ZXJ0X1VURi5oIiwKLS0gICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9i cmVha3BhZF9nZXRjb250ZXh0LlMiLAotICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4 L2VsZl9jb3JlX2R1bXAuY2MiLAotICAgICAgICJicmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L2Vs Zl9jb3JlX2R1bXAuaCIsCi0gICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmdXRp bHMuY2MiLAotQEAgLTYzNCw2ICs2MzMsMTQgQEAgaWYgKGlzX2xpbnV4IHx8IGlzX2Nocm9tZW9z IHx8IGlzX2FuZHJvaWQpIHsKLSAKLSAgICAgbGlicyA9IFsgImRsIiBdCi0gCi0rICAgIGlmIChj dXJyZW50X2NwdSA9PSAicHBjNjQiKSB7Ci0rICAgICAgICBkZWZpbmVzID0gWyAiSEFWRV9HRVRD T05URVhUIiBdCi0rICAgIH0gZWxzZSB7Ci0rICAgICAgICBzb3VyY2VzICs9IFsKLSsgICAgICAg ICAgICAiYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9icmVha3BhZF9nZXRjb250ZXh0LlMiCi0r ICAgICAgICBdCi0rICAgIH0KLSsKLSAgICAgaW5jbHVkZV9kaXJzID0gWwotICAgICAgICIuIiwK LSAgICAgICAiYnJlYWtwYWQvc3JjIiwKLUBAIC02ODIsNyArNjg5LDYgQEAgaWYgKGlzX2xpbnV4 IHx8IGlzX2Nocm9tZW9zIHx8IGlzX2FuZHJvaWQpIHsKLSAgICAgICAiYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIiwK LSAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1 bXBfd3JpdGVyX3VuaXR0ZXN0X3V0aWxzLmNjIiwKLSAgICAgICAiYnJlYWtwYWQvc3JjL2NsaWVu dC9saW51eC9taW5pZHVtcF93cml0ZXIvcHJvY19jcHVpbmZvX3JlYWRlcl91bml0dGVzdC5jYyIs Ci0tICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvYnJlYWtwYWRfZ2V0Y29udGV4dF91 bml0dGVzdC5jYyIsCi0gICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZWxmX2NvcmVf ZHVtcF91bml0dGVzdC5jYyIsCi0gICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvZmls ZV9pZF91bml0dGVzdC5jYyIsCi0gICAgICAgImJyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbGlu dXhfbGliY19zdXBwb3J0X3VuaXR0ZXN0LmNjIiwKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi9yYXdf Y29udGV4dF9jcHUuaCBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oCi1pbmRleCAwN2Q5MTcx YTAuLjlhZWQ0Y2IzNiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Jhd19jb250ZXh0X2NwdS5oCi0r KysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBf d3JpdGVyX2NvbW1vbi9yYXdfY29udGV4dF9jcHUuaAotQEAgLTQ0LDYgKzQ0LDggQEAgdHlwZWRl ZiBNRFJhd0NvbnRleHRBUk0gUmF3Q29udGV4dENQVTsKLSB0eXBlZGVmIE1EUmF3Q29udGV4dEFS TTY0X09sZCBSYXdDb250ZXh0Q1BVOwotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gdHlwZWRl ZiBNRFJhd0NvbnRleHRNSVBTIFJhd0NvbnRleHRDUFU7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2Vy cGM2NF9fKQotK3R5cGVkZWYgTURSYXdDb250ZXh0UFBDNjQgUmF3Q29udGV4dENQVTsKLSAjZWxz ZQotICNlcnJvciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9y bSB5ZXQuIgotICNlbmRpZgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmNjIGIv dGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRl cl9jb21tb24vdGhyZWFkX2luZm8uY2MKLWluZGV4IGFhZTFkYzEzYi4uMDNhZmVjN2E1IDEwMDY0 NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9k dW1wX3dyaXRlcl9jb21tb24vdGhyZWFkX2luZm8uY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9p bmZvLmNjCi1AQCAtMjcwLDcgKzI3MCw0MiBAQCB2b2lkIFRocmVhZEluZm86OkZpbGxDUFVDb250 ZXh0KFJhd0NvbnRleHRDUFUqIG91dCkgY29uc3QgewotICAgb3V0LT5mbG9hdF9zYXZlLmZpciA9 IG1jb250ZXh0LmZwY19laXI7Ci0gI2VuZGlmCi0gfQotLSNlbmRpZiAgLy8gX19taXBzX18KLSsK LSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rCi0rdWludHB0cl90IFRocmVhZEluZm86 OkdldEluc3RydWN0aW9uUG9pbnRlcigpIGNvbnN0IHsKLSsgICAgcmV0dXJuIG1jb250ZXh0Lmdw X3JlZ3NbUFRfTklQXTsKLSt9Ci0rCi0rdm9pZCBUaHJlYWRJbmZvOjpGaWxsQ1BVQ29udGV4dChS YXdDb250ZXh0Q1BVKiBvdXQpIGNvbnN0IHsKLSsgICAgb3V0LT5jb250ZXh0X2ZsYWdzID0gTURf Q09OVEVYVF9QUEM2NF9GVUxMOwotKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0NPTlRFWFRf UFBDNjRfR1BSX0NPVU5UOyBpKyspCi0rICAgICAgICBvdXQtPmdwcltpXSA9IG1jb250ZXh0Lmdw X3JlZ3NbaV07Ci0rCi0rICAgIG91dC0+bHIgPSBtY29udGV4dC5ncF9yZWdzW1BUX0xOS107Ci0r ICAgIG91dC0+c3JyMCA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfTklQXTsKLSsgICAgb3V0LT5zcnIx ID0gbWNvbnRleHQuZ3BfcmVnc1tQVF9NU1JdOwotKyAgICBvdXQtPmNyID0gbWNvbnRleHQuZ3Bf cmVnc1tQVF9DQ1JdOwotKyAgICBvdXQtPnhlciA9IG1jb250ZXh0LmdwX3JlZ3NbUFRfWEVSXTsK LSsgICAgb3V0LT5jdHIgPSBtY29udGV4dC5ncF9yZWdzW1BUX0NUUl07Ci0rICAgIAotKyAgICBm b3IgKGludCBpID0gMDsgaSA8IE1EX0ZMT0FUSU5HU0FWRUFSRUFfUFBDX0ZQUl9DT1VOVDsgaSsr KQotKyAgICAgICAgb3V0LT5mbG9hdF9zYXZlLmZwcmVnc1tpXSA9IG1jb250ZXh0LmZwX3JlZ3Nb aV07Ci0rCi0rICAgIG91dC0+ZmxvYXRfc2F2ZS5mcHNjciA9IG1jb250ZXh0LmZwX3JlZ3NbTkZQ UkVHLTFdOwotKwotKyAgICBmb3IgKGludCBpID0gMDsgaSA8IE1EX1ZFQ1RPUlNBVkVBUkVBX1BQ Q19WUl9DT1VOVDsgaSsrKQotKyAgICAgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ldID0g XAotKyAgICAgICAgICAgIHsoKCh1aW50NjRfdCl2cmVncy52cnJlZ3NbaV1bMF0pIDw8IDMyKSAK LSsgICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJlZ3MudnJyZWdzW2ldWzFdLCAKLSsgICAg ICAgICAgICAoKCh1aW50NjRfdCl2cmVncy52cnJlZ3NbaV1bMl0pIDw8IDMyKQotKyAgICAgICAg ICAgICAgICAgICAgICAgICB8IHZyZWdzLnZycmVnc1tpXVszXX07Ci0rCi0rICAgIG91dC0+dnJz YXZlID0gdnJlZ3MudnJzYXZlOwotKyAgICBvdXQtPnZlY3Rvcl9zYXZlLnNhdmVfdnNjciA9IHsw LCB2cmVncy52c2NyLnZzY3Jfd29yZH07Ci0rICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cnZh bGlkID0gMHhGRkZGRkZGRjsgCi0rfQotKyNlbmRpZiAgLy8gX19wb3dlcnBjNjRfXwotIAotIHZv aWQgVGhyZWFkSW5mbzo6R2V0R2VuZXJhbFB1cnBvc2VSZWdpc3RlcnModm9pZCoqIGdwX3JlZ3Ms IHNpemVfdCogc2l6ZSkgewotICAgYXNzZXJ0KGdwX3JlZ3MgfHwgc2l6ZSk7Ci1AQCAtMjc5LDYg KzMxNCwxMSBAQCB2b2lkIFRocmVhZEluZm86OkdldEdlbmVyYWxQdXJwb3NlUmVnaXN0ZXJzKHZv aWQqKiBncF9yZWdzLCBzaXplX3QqIHNpemUpIHsKLSAgICAgKmdwX3JlZ3MgPSBtY29udGV4dC5n cmVnczsKLSAgIGlmIChzaXplKQotICAgICAqc2l6ZSA9IHNpemVvZihtY29udGV4dC5ncmVncyk7 Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgaWYgKGdwX3JlZ3MpCi0rICAgICpn cF9yZWdzID0gbWNvbnRleHQuZ3BfcmVnczsKLSsgIGlmIChzaXplKQotKyAgICAqc2l6ZSA9IHNp emVvZihtY29udGV4dC5ncF9yZWdzKTsKLSAjZWxzZQotICAgaWYgKGdwX3JlZ3MpCi0gICAgICpn cF9yZWdzID0gJnJlZ3M7Ci1AQCAtMjk0LDYgKzMzNCwxMSBAQCB2b2lkIFRocmVhZEluZm86Okdl dEZsb2F0aW5nUG9pbnRSZWdpc3RlcnModm9pZCoqIGZwX3JlZ3MsIHNpemVfdCogc2l6ZSkgewot ICAgICAqZnBfcmVncyA9ICZtY29udGV4dC5mcHJlZ3M7Ci0gICBpZiAoc2l6ZSkKLSAgICAgKnNp emUgPSBzaXplb2YobWNvbnRleHQuZnByZWdzKTsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0 X18pCi0rICBpZiAoZnBfcmVncykKLSsgICAgKmZwX3JlZ3MgPSAmbWNvbnRleHQuZnBfcmVnczsK LSsgIGlmIChzaXplKQotKyAgICAqc2l6ZSA9IHNpemVvZihtY29udGV4dC5mcF9yZWdzKTsKLSAj ZWxzZQotICAgaWYgKGZwX3JlZ3MpCi0gICAgICpmcF9yZWdzID0gJmZwcmVnczsKLUBAIC0zMDIs NCArMzQ3LDEzIEBAIHZvaWQgVGhyZWFkSW5mbzo6R2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVycyh2 b2lkKiogZnBfcmVncywgc2l6ZV90KiBzaXplKSB7Ci0gI2VuZGlmCi0gfQotIAotKyNpZiBkZWZp bmVkKF9fcG93ZXJwYzY0X18pCi0rdm9pZCBUaHJlYWRJbmZvOjpHZXRWZWN0b3JSZWdpc3RlcnMo dm9pZCoqIHZfcmVncywgc2l6ZV90KiBzaXplKSB7Ci0rICAgIGlmICh2X3JlZ3MpCi0rICAgICAg ICAqdl9yZWdzID0gJnZyZWdzOwotKyAgICBpZiAoc2l6ZSkKLSsgICAgICAgICpzaXplID0gc2l6 ZW9mKHZyZWdzKTsKLSt9Ci0rI2VuZGlmCi0rCi0gfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVh a3BhZAotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGll bnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmggYi90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi90aHJl YWRfaW5mby5oCi1pbmRleCBmYjIxNmZhNmQuLjU5M2FhYzgyMiAxMDA2NDQKLS0tLSBhL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29t bW9uL3RocmVhZF9pbmZvLmgKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3Ny Yy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3RocmVhZF9pbmZvLmgKLUBAIC02OCw2 ICs2OCwxMCBAQCBzdHJ1Y3QgVGhyZWFkSW5mbyB7Ci0gICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMg ZGVmaW5lZCBpbiA8c3lzL3VzZXIuaD4KLSAgIHN0cnVjdCB1c2VyX3JlZ3Nfc3RydWN0IHJlZ3M7 Ci0gICBzdHJ1Y3QgdXNlcl9mcHNpbWRfc3RydWN0IGZwcmVnczsKLSsjZWxpZiBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0rICAvLyBVc2UgdGhlIHN0cnVjdHVyZXMgZGVmaW5lZCBpbiA8c3lzL3Vj b250ZXh0Lmg+LgotKyAgbWNvbnRleHRfdCBtY29udGV4dDsKLSsgIHZycmVnc2V0X3QgdnJlZ3M7 Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSAgIC8vIFVzZSB0aGUgc3RydWN0dXJlIGRlZmlu ZWQgaW4gPHN5cy91Y29udGV4dC5oPi4KLSAgIG1jb250ZXh0X3QgbWNvbnRleHQ7Ci1AQCAtODQs NiArODgsMTEgQEAgc3RydWN0IFRocmVhZEluZm8gewotIAotICAgLy8gUmV0dXJucyB0aGUgcG9p bnRlciBhbmQgc2l6ZSBvZiBmbG9hdCBwb2ludCByZWdpc3RlciBhcmVhLgotICAgdm9pZCBHZXRG bG9hdGluZ1BvaW50UmVnaXN0ZXJzKHZvaWQqKiBmcF9yZWdzLCBzaXplX3QqIHNpemUpOwotKwot KyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAvLyBSZXR1cm5zIHRoZSBwb2ludGVyIGFu ZCBzaXplIG9mIHRoZSB2ZWN0b3IgcmVnaXN0ZXIgYXJlYS4gKFBQQzY0IG9ubHkpCi0rICB2b2lk IEdldFZlY3RvclJlZ2lzdGVycyh2b2lkKiogdl9yZWdzLCBzaXplX3QqIHNpemUpOwotKyNlbmRp ZgotIH07Ci0gCi0gfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAotZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0 ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5j YwotaW5kZXggNmVlYzFiZTI0Li43NDE5ODNhMWEgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2R1bXBfd3JpdGVyX2NvbW1vbi91Y29u dGV4dF9yZWFkZXIuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5jYwotQEAgLTI1 NCw2ICsyNTQsNDggQEAgdm9pZCBVQ29udGV4dFJlYWRlcjo6RmlsbENQVUNvbnRleHQoUmF3Q29u dGV4dENQVSogb3V0LCBjb25zdCB1Y29udGV4dF90KiB1YykgewotICAgb3V0LT5mbG9hdF9zYXZl LmZpciA9IHVjLT51Y19tY29udGV4dC5mcGNfZWlyOyAgLy8gVW51c2VkLgotICNlbmRpZgotIH0K LSsKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rCi0rdWludHB0cl90IFVDb250ZXh0 UmVhZGVyOjpHZXRTdGFja1BvaW50ZXIoY29uc3QgdWNvbnRleHRfdCogdWMpIHsKLSsgICAgcmV0 dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdzW01EX0NPTlRFWFRfUFBDNjRfUkVHX1NQXTsKLSt9 Ci0rCi0rdWludHB0cl90IFVDb250ZXh0UmVhZGVyOjpHZXRJbnN0cnVjdGlvblBvaW50ZXIoY29u c3QgdWNvbnRleHRfdCogdWMpIHsKLSsgICAgcmV0dXJuIHVjLT51Y19tY29udGV4dC5ncF9yZWdz W1BUX05JUF07Ci0rfQotKwotK3ZvaWQgVUNvbnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KFJh d0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMsCi0rICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29uc3QgdnJyZWdzZXRfdCogdnJlZ3MpIHsKLSsgICAgb3V0 LT5jb250ZXh0X2ZsYWdzID0gTURfQ09OVEVYVF9QUEM2NF9GVUxMOwotKwotKyAgICBmb3IgKGlu dCBpID0gMDsgaSA8IE1EX0NPTlRFWFRfUFBDNjRfR1BSX0NPVU5UOyBpKyspCi0rICAgICAgICBv dXQtPmdwcltpXSA9IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW2ldOwotKwotKyAgICBvdXQtPmxy ID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXTsgICAgCi0rICAgIG91dC0+c3JyMCA9 IHVjLT51Y19tY29udGV4dC5ncF9yZWdzW1BUX05JUF07Ci0rICAgIG91dC0+c3JyMSA9IHVjLT51 Y19tY29udGV4dC5ncF9yZWdzW1BUX01TUl07Ci0rICAgIG91dC0+Y3IgPSB1Yy0+dWNfbWNvbnRl eHQuZ3BfcmVnc1tQVF9DQ1JdOwotKyAgICBvdXQtPnhlciA9IHVjLT51Y19tY29udGV4dC5ncF9y ZWdzW1BUX1hFUl07Ci0rICAgIG91dC0+Y3RyID0gdWMtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRf Q1RSXTsKLSsgICAgCi0rICAgIGZvciAoaW50IGkgPSAwOyBpIDwgTURfRkxPQVRJTkdTQVZFQVJF QV9QUENfRlBSX0NPVU5UOyBpKyspCi0rICAgICAgICBvdXQtPmZsb2F0X3NhdmUuZnByZWdzW2ld ID0gdWMtPnVjX21jb250ZXh0LmZwX3JlZ3NbaV07Ci0rCi0rICAgIG91dC0+ZmxvYXRfc2F2ZS5m cHNjciA9IHVjLT51Y19tY29udGV4dC5mcF9yZWdzW05GUFJFRy0xXTsKLSsKLSsgICAgZm9yIChp bnQgaSA9IDA7IGkgPCBNRF9WRUNUT1JTQVZFQVJFQV9QUENfVlJfQ09VTlQ7IGkrKykKLSsgICAg ICAgIG91dC0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXSA9Ci0rICAgICAgICAgICAgeygoKHVpbnQ2 NF90KXZyZWdzLT52cnJlZ3NbaV1bMF0pIDw8IDMyKSAKLSsgICAgICAgICAgICAgICAgICAgICAg ICAgfCB2cmVncy0+dnJyZWdzW2ldWzFdLCAKLSsgICAgICAgICAgICAgKCgodWludDY0X3QpdnJl Z3MtPnZycmVnc1tpXVsyXSkgPDwgMzIpCi0rICAgICAgICAgICAgICAgICAgICAgICAgIHwgdnJl Z3MtPnZycmVnc1tpXVszXX07Ci0rCi0rICAgIG91dC0+dnJzYXZlID0gdnJlZ3MtPnZyc2F2ZTsK LSsgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZzY3IgPSB7MCwgdnJlZ3MtPnZzY3IudnNjcl93 b3JkfTsKLSsgICAgb3V0LT52ZWN0b3Jfc2F2ZS5zYXZlX3ZydmFsaWQgPSAweEZGRkZGRkZGOyAK LSt9Ci0rCi0gI2VuZGlmCi0gCi0gfSAgLy8gbmFtZXNwYWNlIGdvb2dsZV9icmVha3BhZAotZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv ZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oIGIvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21tb24vdWNvbnRleHRf cmVhZGVyLmgKLWluZGV4IDdkNDEwMDg4MS4uYzEyMmFjOTJlIDEwMDY0NAotLS0tIGEvdGhpcmRf cGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9kdW1wX3dyaXRlcl9jb21t b24vdWNvbnRleHRfcmVhZGVyLmgKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvZHVtcF93cml0ZXJfY29tbW9uL3Vjb250ZXh0X3JlYWRlci5oCi1A QCAtNTUsNiArNTUsOSBAQCBzdHJ1Y3QgVUNvbnRleHRSZWFkZXIgewotICNlbGlmIGRlZmluZWQo X19hYXJjaDY0X18pCi0gICBzdGF0aWMgdm9pZCBGaWxsQ1BVQ29udGV4dChSYXdDb250ZXh0Q1BV KiBvdXQsIGNvbnN0IHVjb250ZXh0X3QqIHVjLAotICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgY29uc3Qgc3RydWN0IGZwc2ltZF9jb250ZXh0KiBmcHJlZ3MpOwotKyNlbGlmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsgIHN0YXRpYyB2b2lkIEZpbGxDUFVDb250ZXh0KFJhd0NvbnRleHRD UFUgKm91dCwgY29uc3QgdWNvbnRleHRfdCAqdWMsCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICBjb25zdCB2cnJlZ3NldF90KiB2cmVncyk7Ci0gI2Vsc2UKLSAgIHN0YXRpYyB2b2lkIEZp bGxDUFVDb250ZXh0KFJhd0NvbnRleHRDUFUqIG91dCwgY29uc3QgdWNvbnRleHRfdCogdWMpOwot ICNlbmRpZgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYyBiL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxl ci5jYwotaW5kZXggYTZjYjVmOTg0Li5hZTE2YjY0ZDkgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0 eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hh bmRsZXIuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5jYwotQEAgLTQ2MSw5ICs0NjEsMTYgQEAg Ym9vbCBFeGNlcHRpb25IYW5kbGVyOjpIYW5kbGVTaWduYWwoaW50IC8qc2lnKi8sIHNpZ2luZm9f dCogaW5mbywgdm9pZCogdWMpIHsKLSAgICAgbWVtY3B5KCZnX2NyYXNoX2NvbnRleHRfLmZsb2F0 X3N0YXRlLCBmcF9wdHIsCi0gICAgICAgICAgICBzaXplb2YoZ19jcmFzaF9jb250ZXh0Xy5mbG9h dF9zdGF0ZSkpOwotICAgfQotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIC8vIE9u IFBQQzY0LCB3ZSBtdXN0IGNvcHkgVlIgc3RhdGUKLSsgIHVjb250ZXh0X3QqIHVjX3B0ciA9ICh1 Y29udGV4dF90Kil1YzsKLSsgIGlmICh1Y19wdHItPnVjX21jb250ZXh0LnZfcmVncykgewotKyAg ICBtZW1jcHkoJmdfY3Jhc2hfY29udGV4dF8udmVjdG9yX3N0YXRlLCB1Y19wdHItPnVjX21jb250 ZXh0LnZfcmVncywKLSsgICAgICAgICAgIHNpemVvZihnX2NyYXNoX2NvbnRleHRfLnZlY3Rvcl9z dGF0ZSkpOwotKyAgfQotICNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQo X19taXBzX18pCi0gICAvLyBGUCBzdGF0ZSBpcyBub3QgcGFydCBvZiB1c2VyIEFCSSBvbiBBUk0g TGludXguCi0tICAvLyBJbiBjYXNlIG9mIE1JUFMgTGludXggRlAgc3RhdGUgaXMgYWxyZWFkeSBw YXJ0IG9mIHVjb250ZXh0X3QKLSsgIC8vIEluIGNhc2Ugb2YgTUlQUywgTGludXggRlAgc3RhdGUg aXMgYWxyZWFkeSBwYXJ0IG9mIHVjb250ZXh0X3QKLSAgIC8vIGFuZCAnZmxvYXRfc3RhdGUnIGlz IG5vdCBhIG1lbWJlciBvZiBDcmFzaENvbnRleHQuCi0gICB1Y29udGV4dF90KiB1Y19wdHIgPSAo dWNvbnRleHRfdCopdWM7Ci0gICBpZiAodWNfcHRyLT51Y19tY29udGV4dC5mcHJlZ3MpIHsKLUBA IC03MDgsMTEgKzcxNSwxOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWluaWR1bXAo KSB7Ci0gICB9Ci0gI2VuZGlmCi0gCi0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRl ZmluZWQoX19hYXJjaDY0X18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotKyNpZiAhZGVmaW5lZChf X0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fYWFyY2g2NF9fKSAmJiAhZGVmaW5lZChfX21pcHNf XykgXAotKyAgICAmJiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotICAgLy8gRlBVIHN0YXRlIGlz IG5vdCBwYXJ0IG9mIEFSTSBFQUJJIHVjb250ZXh0X3QuCi0gICBtZW1jcHkoJmNvbnRleHQuZmxv YXRfc3RhdGUsIGNvbnRleHQuY29udGV4dC51Y19tY29udGV4dC5mcHJlZ3MsCi0gICAgICAgICAg c2l6ZW9mKGNvbnRleHQuZmxvYXRfc3RhdGUpKTsKLSAjZW5kaWYKLSsKLSsjaWYgZGVmaW5lZChf X3Bvd2VycGM2NF9fKQotKyAgLy8gVmVjdG9yIHJlZ2lzdGVycyBtdXN0IGJlIGNvcGllZCBvbiBQ UEM2NAotKyAgbWVtY3B5KCZjb250ZXh0LnZlY3Rvcl9zdGF0ZSwgY29udGV4dC5jb250ZXh0LnVj X21jb250ZXh0LnZfcmVncywKLSsgICAgICAgICBzaXplb2YoY29udGV4dC52ZWN0b3Jfc3RhdGUp KTsKLSsjZW5kaWYKLSsKLSAgIGNvbnRleHQudGlkID0gc3lzX2dldHRpZCgpOwotIAotICAgLy8g QWRkIGFuIGV4Y2VwdGlvbiBzdHJlYW0gdG8gdGhlIG1pbmlkdW1wIGZvciBiZXR0ZXIgcmVwb3J0 aW5nLgotQEAgLTczMyw2ICs3NDgsOSBAQCBib29sIEV4Y2VwdGlvbkhhbmRsZXI6OldyaXRlTWlu aWR1bXAoKSB7Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSAgIGNvbnRleHQuc2lnaW5mby5z aV9hZGRyID0KLSAgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihjb250ZXh0LmNvbnRleHQu dWNfbWNvbnRleHQucGMpOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGNvbnRl eHQuc2lnaW5mby5zaV9hZGRyID0KLSsgICAgICByZWludGVycHJldF9jYXN0PHZvaWQqPihjb250 ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdKTsKLSAjZWxzZQotICNlcnJv ciAiVGhpcyBjb2RlIGhhcyBub3QgYmVlbiBwb3J0ZWQgdG8geW91ciBwbGF0Zm9ybSB5ZXQuIgot ICNlbmRpZgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9j bGllbnQvbGludXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oIGIvdGhpcmRfcGFydHkvYnJl YWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVy LmgKLWluZGV4IGY4MDg0M2VhNy4uMjYwZGQxMGY3IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkv YnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5k bGVyLmgKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvaGFuZGxlci9leGNlcHRpb25faGFuZGxlci5oCi1AQCAtMTkyLDcgKzE5MiwxMSBAQCBjbGFz cyBFeGNlcHRpb25IYW5kbGVyIHsKLSAgICAgc2lnaW5mb190IHNpZ2luZm87Ci0gICAgIHBpZF90 IHRpZDsgIC8vIHRoZSBjcmFzaGluZyB0aHJlYWQuCi0gICAgIHVjb250ZXh0X3QgY29udGV4dDsK LS0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSsjaWYg ZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICAvLyBQUEM2NCdzIEZQIHN0YXRlIGlzIGEgcGFy dCBvZiB1Y29udGV4dF90IGxpa2UgTUlQUyBidXQgdGhlIHZlY3RvcgotKyAgICAvLyBzdGF0ZSBp cyBub3QsIHNvIGEgc3RydWN0IGlzIG5lZWRlZC4KLSsgICAgdnN0YXRlX3QgdmVjdG9yX3N0YXRl OwotKyNlbGlmICFkZWZpbmVkKF9fQVJNX0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0g ICAgIC8vICNpZmRlZiB0aGlzIG91dCBiZWNhdXNlIEZQIHN0YXRlIGlzIG5vdCBwYXJ0IG9mIHVz ZXIgQUJJIGZvciBMaW51eCBBUk0uCi0gICAgIC8vIEluIGNhc2Ugb2YgTUlQUyBMaW51eCBGUCBz dGF0ZSBpcyBhbHJlYWR5IHBhcnQgb2YgdWNvbnRleHRfdCBzbwotICAgICAvLyAnZmxvYXRfc3Rh dGUnIGlzIG5vdCByZXF1aXJlZC4KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9i cmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhjZXB0aW9uX2hhbmRsZXJfdW5pdHRl c3QuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hh bmRsZXIvZXhjZXB0aW9uX2hhbmRsZXJfdW5pdHRlc3QuY2MKLWluZGV4IDM1ZGNiZmQ0ZC4uNzkz NDM3MGZkIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2Ns aWVudC9saW51eC9oYW5kbGVyL2V4Y2VwdGlvbl9oYW5kbGVyX3VuaXR0ZXN0LmNjCi0rKysgYi90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L2hhbmRsZXIvZXhj ZXB0aW9uX2hhbmRsZXJfdW5pdHRlc3QuY2MKLUBAIC0zMDcsNyArMzA3LDcgQEAgVEVTVChFeGNl cHRpb25IYW5kbGVyVGVzdCwgUGFyYWxsZWxDaGlsZENyYXNoZXNEb250SGFuZykgewotICAgfQot IAotICAgLy8gV2FpdCBhIHdoaWxlIHVudGlsIHRoZSBjaGlsZCBzaG91bGQgaGF2ZSBjcmFzaGVk LgotLSAgdXNsZWVwKDEwMDAwMDApOwotKyAgdXNsZWVwKDIwMDAwMDApOwotICAgLy8gS2lsbCB0 aGUgY2hpbGQgaWYgaXQgaXMgc3RpbGwgcnVubmluZy4KLSAgIGtpbGwoY2hpbGQsIFNJR0tJTEwp OwotIAotQEAgLTU1OSw2ICs1NTksOCBAQCBjb25zdCB1bnNpZ25lZCBjaGFyIGtJbGxlZ2FsSW5z dHJ1Y3Rpb25bXSA9IHsKLSAjaWYgZGVmaW5lZChfX21pcHNfXykKLSAgIC8vIG1mYzIgemVybyxJ bXBsIC0gdXN1YWxseSBpbGxlZ2FsIGluIHVzZXJzcGFjZS4KLSAgIDB4NDgsIDB4MDAsIDB4MDAs IDB4NDgKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAweDAxLCAweDAxLCAweDAx LCAweDAxIC8vIENyYXNoZXMgb24gYSB0ZXN0ZWQgUE9XRVI5IGNwdQotICNlbHNlCi0gICAvLyBU aGlzIGNyYXNoZXMgd2l0aCBTSUdJTEwgb24geDg2L3g4Ni02NC9hcm0uCi0gICAweGZmLCAweGZm LCAweGZmLCAweGZmCi1AQCAtNzU0LDEwICs3NTYsMTAgQEAgVEVTVChFeGNlcHRpb25IYW5kbGVy VGVzdCwgSW5zdHJ1Y3Rpb25Qb2ludGVyTWVtb3J5TWF4Qm91bmQpIHsKLSAKLSAgIC8vIFRoZXNl IGFyZSBkZWZpbmVkIGhlcmUgc28gdGhlIHBhcmVudCBjYW4gdXNlIHRoZW0gdG8gY2hlY2sgdGhl Ci0gICAvLyBkYXRhIGZyb20gdGhlIG1pbmlkdW1wIGFmdGVyd2FyZHMuCi0tICAvLyBVc2UgNGsg aGVyZSBiZWNhdXNlIHRoZSBPUyB3aWxsIGhhbmQgb3V0IGEgc2luZ2xlIHBhZ2UgZXZlbgotKyAg Ly8gVXNlIHRoZSBwYWdlIHNpemUgaGVyZSBiZWNhdXNlIHRoZSBPUyB3aWxsIGhhbmQgb3V0IGEg c2luZ2xlIHBhZ2UgZXZlbgotICAgLy8gaWYgYSBzbWFsbGVyIHNpemUgaXMgcmVxdWVzdGVkLCBh bmQgdGhpcyB0ZXN0IHdhbnRzIHRvCi0gICAvLyB0ZXN0IHRoZSB1cHBlciBib3VuZCBvZiB0aGUg bWVtb3J5IHJhbmdlLgotLSAgY29uc3QgdWludDMyX3Qga01lbW9yeVNpemUgPSA0MDk2OyAgLy8g Ynl0ZXMKLSsgIGNvbnN0IHVpbnQzMl90IGtNZW1vcnlTaXplID0gZ2V0cGFnZXNpemUoKTsgIC8v IGJ5dGVzCi0gICBjb25zdCBpbnQga09mZnNldCA9IGtNZW1vcnlTaXplIC0gc2l6ZW9mKGtJbGxl Z2FsSW5zdHJ1Y3Rpb24pOwotIAotICAgY29uc3QgcGlkX3QgY2hpbGQgPSBmb3JrKCk7Ci1kaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9t aWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MgYi90aGlyZF9wYXJ0eS9icmVha3Bh ZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIvbWljcm9kdW1wX3dy aXRlci5jYwotaW5kZXggZmEzYzE3MTNhLi42Y2U3MDllMmYgMTAwNjQ0Ci0tLS0gYS90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pY3JvZHVtcF93cml0ZXIv bWljcm9kdW1wX3dyaXRlci5jYwotKysrIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQv c3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXIuY2MKLUBA IC0xMzgsNyArMTM4LDkgQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKLSAgICAgICAgICAgICAg ICAgICBjb25zdCBNaWNyb2R1bXBFeHRyYUluZm8mIG1pY3JvZHVtcF9leHRyYV9pbmZvLAotICAg ICAgICAgICAgICAgICAgIExpbnV4RHVtcGVyKiBkdW1wZXIpCi0gICAgICAgOiB1Y29udGV4dF8o Y29udGV4dCA/ICZjb250ZXh0LT5jb250ZXh0IDogTlVMTCksCi0tI2lmICFkZWZpbmVkKF9fQVJN X0VBQklfXykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRf XykKLSsgICAgICAgIHZlY3Rvcl9zdGF0ZV8oY29udGV4dCA/ICZjb250ZXh0LT52ZWN0b3Jfc3Rh dGUgOiBOVUxMKSwKLSsjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9f bWlwc19fKQotICAgICAgICAgZmxvYXRfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+ZmxvYXRf c3RhdGUgOiBOVUxMKSwKLSAjZW5kaWYKLSAgICAgICAgIGR1bXBlcl8oZHVtcGVyKSwKLUBAIC0z MzcsNiArMzM5LDggQEAgY2xhc3MgTWljcm9kdW1wV3JpdGVyIHsKLSAjIGVsc2UKLSAjICBlcnJv ciAiVGhpcyBtaXBzIEFCSSBpcyBjdXJyZW50bHkgbm90IHN1cHBvcnRlZCAobjMyKSIKLSAjZW5k aWYKLSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgIGNvbnN0IGNoYXIga0FyY2hb XSA9ICJwcGM2NCI7Ci0gI2Vsc2UKLSAjZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9y dGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0IgotICNlbmRpZgotQEAgLTQwOSw3ICs0MTMsOSBAQCBj bGFzcyBNaWNyb2R1bXBXcml0ZXIgewotICAgdm9pZCBEdW1wQ1BVU3RhdGUoKSB7Ci0gICAgIFJh d0NvbnRleHRDUFUgY3B1OwotICAgICBteV9tZW1zZXQoJmNwdSwgMCwgc2l6ZW9mKFJhd0NvbnRl eHRDUFUpKTsKLS0jaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNf XykKLSsjaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICBVQ29udGV4dFJlYWRlcjo6Rmls bENQVUNvbnRleHQoJmNwdSwgdWNvbnRleHRfLCB2ZWN0b3Jfc3RhdGVfKTsKLSsjZWxpZiAhZGVm aW5lZChfX0FSTV9FQUJJX18pICYmICFkZWZpbmVkKF9fbWlwc19fKQotICAgICBVQ29udGV4dFJl YWRlcjo6RmlsbENQVUNvbnRleHQoJmNwdSwgdWNvbnRleHRfLCBmbG9hdF9zdGF0ZV8pOwotICNl bHNlCi0gICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dCgmY3B1LCB1Y29udGV4dF8p OwotQEAgLTYwNSw3ICs2MTEsOSBAQCBjbGFzcyBNaWNyb2R1bXBXcml0ZXIgewotICAgdm9pZCog QWxsb2ModW5zaWduZWQgYnl0ZXMpIHsgcmV0dXJuIGR1bXBlcl8tPmFsbG9jYXRvcigpLT5BbGxv YyhieXRlcyk7IH0KLSAKLSAgIGNvbnN0IHVjb250ZXh0X3QqIGNvbnN0IHVjb250ZXh0XzsKLS0j aWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotKyAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjp2c3RhdGVfdCog Y29uc3QgdmVjdG9yX3N0YXRlXzsKLSsjZWxpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18pICYmICFk ZWZpbmVkKF9fbWlwc19fKQotICAgY29uc3QgZ29vZ2xlX2JyZWFrcGFkOjpmcHN0YXRlX3QqIGNv bnN0IGZsb2F0X3N0YXRlXzsKLSAjZW5kaWYKLSAgIExpbnV4RHVtcGVyKiBkdW1wZXJfOwotZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv bWljcm9kdW1wX3dyaXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjIGIvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taWNyb2R1bXBfd3JpdGVyL21p Y3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKLWluZGV4IDYzMzlhYzBjZC4uMjkxYWYxMDZiIDEw MDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51 eC9taWNyb2R1bXBfd3JpdGVyL21pY3JvZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKLSsrKyBiL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWljcm9kdW1wX3dy aXRlci9taWNyb2R1bXBfd3JpdGVyX3VuaXR0ZXN0LmNjCi1AQCAtMjc5LDEwICsyNzksMTkgQEAg VEVTVChNaWNyb2R1bXBXcml0ZXJUZXN0LCBCYXNpY1dpdGhNYXBwaW5ncykgewotICAgQ3Jhc2hB bmRHZXRNaWNyb2R1bXAobWFwcGluZ3MsIE1pY3JvZHVtcEV4dHJhSW5mbygpLCAmYnVmKTsKLSAg IEFTU0VSVF9UUlVFKENvbnRhaW5zTWljcm9kdW1wKGJ1ZikpOwotIAotKyAgaW50IHBhZ2Vfc2l6 ZSA9IGdldHBhZ2VzaXplKCk7Ci0gI2lmZGVmIF9fTFA2NF9fCi0tICBBU1NFUlRfTkUoc3RkOjpz dHJpbmc6Om5wb3MsCi0tICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDAwMDAwMDAwMTAwMCAw MDAwMDAwMDAwMDAwMDJBIDAwMDAwMDAwMDAwMDEwMDAgIgotLSAgICAgICAgICAgICAgICAgICAg ICIzMzIyMTEwMDU1NDQ3NzY2ODg5OUFBQkJDQ0RERUVGRjAgbGliZm9vLnNvIikpOwotKyAgLy8g VGhpcyB0ZXN0IGlzIG9ubHkgYXZhaWxhYmxlIGZvciB0aGUgZm9sbG93aW5nIHBhZ2Ugc2l6ZXMK LSsgIEFTU0VSVF9UUlVFKChwYWdlX3NpemUgPT0gNDA5NikgfHwgKHBhZ2Vfc2l6ZSA9PSA2NTUz NikpOwotKyAgaWYgKHBhZ2Vfc2l6ZSA9PSA0MDk2KSB7IAotKyAgICBBU1NFUlRfTkUoc3RkOjpz dHJpbmc6Om5wb3MsCi0rICAgICAgICAgICAgICBidWYuZmluZCgiTSAwMDAwMDAwMDAwMDAxMDAw IDAwMDAwMDAwMDAwMDAwMkEgMDAwMDAwMDAwMDAwMTAwMCAiCi0rICAgICAgICAgICAgICAgICAg ICAgICAiMzMyMjExMDA1NTQ0Nzc2Njg4OTlBQUJCQ0NEREVFRkYwIGxpYmZvby5zbyIpKTsKLSsg IH0gZWxzZSB7Ci0rICAgIEFTU0VSVF9ORShzdGQ6OnN0cmluZzo6bnBvcywKLSsgICAgICAgICAg ICAgIGJ1Zi5maW5kKCJNIDAwMDAwMDAwMDAwMTAwMDAgMDAwMDAwMDAwMDAwMDAyQSAwMDAwMDAw MDAwMDEwMDAwICIKLSsgICAgICAgICAgICAgICAgICAgICAgICIzMzIyMTEwMDU1NDQ3NzY2ODg5 OUFBQkJDQ0RERUVGRjAgbGliZm9vLnNvIikpOwotKyAgfQotICNlbHNlCi0gICBBU1NFUlRfTkUo c3RkOjpzdHJpbmc6Om5wb3MsCi0gICAgICAgICAgICAgYnVmLmZpbmQoIk0gMDAwMDEwMDAgMDAw MDAwMkEgMDAwMDEwMDAgIgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2NvcmVfZHVtcGVyLmNj IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKLWluZGV4IDQxNTA2ODk4My4uYjkzZTRhZmNm IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9s aW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfY29yZV9kdW1wZXIuY2MKLSsrKyBiL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xp bnV4X2NvcmVfZHVtcGVyLmNjCi1AQCAtMTEyLDYgKzExMiw5IEBAIGJvb2wgTGludXhDb3JlRHVt cGVyOjpHZXRUaHJlYWRJbmZvQnlJbmRleChzaXplX3QgaW5kZXgsIFRocmVhZEluZm8qIGluZm8p IHsKLSAjZWxpZiBkZWZpbmVkKF9fbWlwc19fKQotICAgc3RhY2tfcG9pbnRlciA9Ci0gICAgICAg cmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaW5mby0+bWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVY VF9NSVBTX1JFR19TUF0pOwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIHN0YWNr X3BvaW50ZXIgPQotKyAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8dWludDhfdCo+KGluZm8tPm1jb250 ZXh0LmdwX3JlZ3NbTURfQ09OVEVYVF9QUEM2NF9SRUdfU1BdKTsKLSAjZWxzZQotICNlcnJvciAi VGhpcyBjb2RlIGhhc24ndCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHlldC4iCi0gI2Vu ZGlmCi1AQCAtMTk3LDcgKzIwMCwxMCBAQCBib29sIExpbnV4Q29yZUR1bXBlcjo6RW51bWVyYXRl VGhyZWFkcygpIHsKLSAgICAgICAgIG1lbXNldCgmaW5mbywgMCwgc2l6ZW9mKFRocmVhZEluZm8p KTsKLSAgICAgICAgIGluZm8udGdpZCA9IHN0YXR1cy0+cHJfcGdycDsKLSAgICAgICAgIGluZm8u cHBpZCA9IHN0YXR1cy0+cHJfcHBpZDsKLS0jaWYgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVm aW5lZChfX3Bvd2VycGM2NF9fKQotKyAgICAgICAgZm9yIChpbnQgaSA9IDA7IGkgPCAzMTsgaSsr KQotKyAgICAgICAgICAgIGluZm8ubWNvbnRleHQuZ3BfcmVnc1tpXSA9IHN0YXR1cy0+cHJfcmVn W2ldOwotKyNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gI2lmIGRlZmluZWQoX19BTkRST0lEX18p Ci0gICAgICAgICBmb3IgKGludCBpID0gRUZfUjA7IGkgPD0gRUZfUjMxOyBpKyspCi0gICAgICAg ICAgIGluZm8ubWNvbnRleHQuZ3JlZ3NbaSAtIEVGX1IwXSA9IHN0YXR1cy0+cHJfcmVnW2ldOwot ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGlu dXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5jYyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5j YwotaW5kZXggN2ZkNjUzMmFkLi4xOTljYmZmZmQgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9i cmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9k dW1wZXIuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5jYwotQEAgLTc2NSw3ICs3NjUsOSBA QCBib29sIExpbnV4RHVtcGVyOjpHZXRTdGFja0luZm8oY29uc3Qgdm9pZCoqIHN0YWNrLCBzaXpl X3QqIHN0YWNrX2xlbiwKLSAgICAgICByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihpbnRfc3Rh Y2tfcG9pbnRlciAmIH4ocGFnZV9zaXplIC0gMSkpOwotIAotICAgLy8gVGhlIG51bWJlciBvZiBi eXRlcyBvZiBzdGFjayB3aGljaCB3ZSB0cnkgdG8gY2FwdHVyZS4KLS0gIHN0YXRpYyBjb25zdCBw dHJkaWZmX3Qga1N0YWNrVG9DYXB0dXJlID0gMzIgKiAxMDI0OwotKyAgLy8gVGhpcyBub3cgZGVw ZW5kcyBvbiBwYWdlX3NpemUgdG8gYXZvaWQgbWlzc2luZyBkYXRhCi0rICAvLyBvbiBzeXN0ZW1z IHdpdGggbGFyZ2VyIHBhZ2Ugc2l6ZXMuCi0rICBzdGF0aWMgY29uc3QgcHRyZGlmZl90IGtTdGFj a1RvQ2FwdHVyZSA9IDggKiBwYWdlX3NpemU7Ci0gCi0gICBjb25zdCBNYXBwaW5nSW5mbyogbWFw cGluZyA9IEZpbmRNYXBwaW5nKHN0YWNrX3BvaW50ZXIpOwotICAgaWYgKCFtYXBwaW5nKQotZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv bWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJl YWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVyLmgKLWlu ZGV4IDdiZWUxNjBmMS4uMDdiYjJiODFhIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbGludXhfZHVtcGVy LmgKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgv bWluaWR1bXBfd3JpdGVyL2xpbnV4X2R1bXBlci5oCi1AQCAtNjMsNyArNjMsOCBAQCBuYW1lc3Bh Y2UgZ29vZ2xlX2JyZWFrcGFkIHsKLSAgKGRlZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSA9 PSBfQUJJTzMyKQotIHR5cGVkZWYgRWxmMzJfYXV4dl90IGVsZl9hdXhfZW50cnk7Ci0gI2VsaWYg ZGVmaW5lZChfX3g4Nl82NCkgfHwgZGVmaW5lZChfX2FhcmNoNjRfXykgfHwgXAotLSAgICAgKGRl ZmluZWQoX19taXBzX18pICYmIF9NSVBTX1NJTSAhPSBfQUJJTzMyKQotKyAgICAgKGRlZmluZWQo X19taXBzX18pICYmIF9NSVBTX1NJTSAhPSBfQUJJTzMyKSB8fCBcCi0rICAgICBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0gdHlwZWRlZiBFbGY2NF9hdXh2X3QgZWxmX2F1eF9lbnRyeTsKLSAjZW5k aWYKLSAKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNj IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfZHVtcGVyX3VuaXR0ZXN0X2hlbHBlci5jYwotaW5kZXggMzMxZjRiYjM0 Li4zZjcyMjk0N2YgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVs cGVyLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9kdW1wZXJfdW5pdHRlc3RfaGVscGVyLmNjCi1AQCAt NTEsNiArNTEsOCBAQAotICNkZWZpbmUgVElEX1BUUl9SRUdJU1RFUiAicmN4IgotICNlbGlmIGRl ZmluZWQoX19taXBzX18pCi0gI2RlZmluZSBUSURfUFRSX1JFR0lTVEVSICIkMSIKLSsjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rI2RlZmluZSBUSURfUFRSX1JFR0lTVEVSICJyOCIKLSAj ZWxzZQotICNlcnJvciBUaGlzIHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB0aGlzIHBsYXRm b3JtLgotICNlbmRpZgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2Mg Yi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyLmNjCi1pbmRleCBlM2RkYjgxYTYuLmZhMjg1NzVl ZiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQv bGludXgvbWluaWR1bXBfd3JpdGVyL2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKLSsrKyBiL3RoaXJk X3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVy L2xpbnV4X3B0cmFjZV9kdW1wZXIuY2MKLUBAIC0xNDksMTkgKzE0OSwyNyBAQCBib29sIExpbnV4 UHRyYWNlRHVtcGVyOjpDb3B5RnJvbVByb2Nlc3Modm9pZCogZGVzdCwgcGlkX3QgY2hpbGQsCi0g ICByZXR1cm4gdHJ1ZTsKLSB9Ci0gCi0tYm9vbCBMaW51eFB0cmFjZUR1bXBlcjo6UmVhZFJlZ2lz dGVyU2V0KFRocmVhZEluZm8qIGluZm8sIHBpZF90IHRpZCkKLS17Ci0rYm9vbCBMaW51eFB0cmFj ZUR1bXBlcjo6UmVhZFJlZ2lzdGVyU2V0KFRocmVhZEluZm8qIGluZm8sIHBpZF90IHRpZCkgewot ICNpZmRlZiBQVFJBQ0VfR0VUUkVHU0VUCi0gICBzdHJ1Y3QgaW92ZWMgaW87Ci0gICBpbmZvLT5H ZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVycygmaW8uaW92X2Jhc2UsICZpby5pb3ZfbGVuKTsKLS0g IGlmIChzeXNfcHRyYWNlKFBUUkFDRV9HRVRSRUdTRVQsIHRpZCwgKHZvaWQqKU5UX1BSU1RBVFVT LCAodm9pZCopJmlvKSA9PSAtMSkgewotKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0 aWQsICh2b2lkKilOVF9QUlNUQVRVUywgKHZvaWQqKSZpbykgPT0gLTEpIHsKLSAgICAgcmV0dXJu IGZhbHNlOwotICAgfQotIAotICAgaW5mby0+R2V0RmxvYXRpbmdQb2ludFJlZ2lzdGVycygmaW8u aW92X2Jhc2UsICZpby5pb3ZfbGVuKTsKLS0gIGlmIChzeXNfcHRyYWNlKFBUUkFDRV9HRVRSRUdT RVQsIHRpZCwgKHZvaWQqKU5UX0ZQUkVHU0VULCAodm9pZCopJmlvKSA9PSAtMSkgewotKyAgaWYg KHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9GUFJFR1NFVCwgKHZvaWQq KSZpbykgPT0gLTEpIHsKLSAgICAgcmV0dXJuIGZhbHNlOwotICAgfQotKwotKyNpZiBkZWZpbmVk KF9fcG93ZXJwYzY0X18pCi0rICAvLyBHcmFiIHRoZSB2ZWN0b3IgcmVnaXN0ZXJzIG9uIFBQQzY0 IHRvbwotKyAgaW5mby0+R2V0VmVjdG9yUmVnaXN0ZXJzKCZpby5pb3ZfYmFzZSwgJmlvLmlvdl9s ZW4pOwotKyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsICh2b2lkKilOVF9QUENf Vk1YLCAodm9pZCopJmlvKSA9PSAtMSkgewotKyAgICByZXR1cm4gZmFsc2U7Ci0rICB9Ci0rI2Vu ZGlmIC8vIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsKLSAgIHJldHVybiB0cnVlOwotICNlbHNl Ci0gICByZXR1cm4gZmFsc2U7Ci1AQCAtMjk4LDYgKzMwNiw5IEBAIGJvb2wgTGludXhQdHJhY2VE dW1wZXI6OkdldFRocmVhZEluZm9CeUluZGV4KHNpemVfdCBpbmRleCwgVGhyZWFkSW5mbyogaW5m bykgewotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICBzdGFja19wb2ludGVyID0KLSAgICAg ICByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihpbmZvLT5tY29udGV4dC5ncmVnc1tNRF9DT05U RVhUX01JUFNfUkVHX1NQXSk7Ci0rI2VsaWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgc3Rh Y2tfcG9pbnRlciA9Ci0rICAgICAgcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4oaW5mby0+bWNv bnRleHQuZ3BfcmVnc1tNRF9DT05URVhUX1BQQzY0X1JFR19TUF0pOwotICNlbHNlCi0gI2Vycm9y ICJUaGlzIGNvZGUgaGFzbid0IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0LiIKLSAj ZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xp ZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3VuaXR0ZXN0LmNj IGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVt cF93cml0ZXIvbGludXhfcHRyYWNlX2R1bXBlcl91bml0dGVzdC5jYwotaW5kZXggZGE3MWUxNWRj Li4xMmJmYjMxN2EgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3VuaXR0 ZXN0LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9saW51eF9wdHJhY2VfZHVtcGVyX3VuaXR0ZXN0LmNjCi1AQCAt NDYyLDYgKzQ2Miw5IEBAIFRFU1QoTGludXhQdHJhY2VEdW1wZXJUZXN0LCBWZXJpZnlTdGFja1Jl YWRXaXRoTXVsdGlwbGVUaHJlYWRzKSB7Ci0gI2VsaWYgZGVmaW5lZChfX21pcHNfXykKLSAgICAg cGlkX3QqIHByb2Nlc3NfdGlkX2xvY2F0aW9uID0KLSAgICAgICAgIHJlaW50ZXJwcmV0X2Nhc3Q8 cGlkX3QqPihvbmVfdGhyZWFkLm1jb250ZXh0LmdyZWdzWzFdKTsKLSsjZWxpZiBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0rICAgIHBpZF90KiBwcm9jZXNzX3RpZF9sb2NhdGlvbiA9Ci0rICAgICAg ICByZWludGVycHJldF9jYXN0PHBpZF90Kj4ob25lX3RocmVhZC5tY29udGV4dC5ncF9yZWdzWzhd KTsKLSAjZWxzZQotICNlcnJvciBUaGlzIHRlc3QgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB0aGlz IHBsYXRmb3JtLgotICNlbmRpZgotQEAgLTU1OSw2ICs1NjIsOCBAQCBURVNUX0YoTGludXhQdHJh Y2VEdW1wZXJUZXN0LCBTYW5pdGl6ZVN0YWNrQ29weSkgewotICAgdWludHB0cl90IGhlYXBfYWRk ciA9IHRocmVhZF9pbmZvLnJlZ3MucmN4OwotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0gICB1 aW50cHRyX3QgaGVhcF9hZGRyID0gdGhyZWFkX2luZm8ubWNvbnRleHQuZ3JlZ3NbMV07Ci0rI2Vs aWYgZGVmaW5lZChfX3Bvd2VycGM2NF9fKQotKyAgdWludHB0cl90IGhlYXBfYWRkciA9IHRocmVh ZF9pbmZvLm1jb250ZXh0LmdwX3JlZ3NbOF07Ci0gI2Vsc2UKLSAjZXJyb3IgVGhpcyB0ZXN0IGhh cyBub3QgYmVlbiBwb3J0ZWQgdG8gdGhpcyBwbGF0Zm9ybS4KLSAjZW5kaWYKLWRpZmYgLS1naXQg YS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1w X3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3Bh ZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKLWlu ZGV4IDMyNjM0ZWYwMC4uMmE1Njk0OGRlIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtw YWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0ZXIvbWluaWR1bXBfd3Jp dGVyLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xp bnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuY2MKLUBAIC0xMzYsNyArMTM2LDkg QEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewotICAgICAgIDogZmRfKG1pbmlkdW1wX2ZkKSwKLSAg ICAgICAgIHBhdGhfKG1pbmlkdW1wX3BhdGgpLAotICAgICAgICAgdWNvbnRleHRfKGNvbnRleHQg PyAmY29udGV4dC0+Y29udGV4dCA6IE5VTEwpLAotLSNpZiAhZGVmaW5lZChfX0FSTV9FQUJJX18p ICYmICFkZWZpbmVkKF9fbWlwc19fKQotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAg ICAgICB2ZWN0b3Jfc3RhdGVfKGNvbnRleHQgPyAmY29udGV4dC0+dmVjdG9yX3N0YXRlIDogTlVM TCksCi0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykK LSAgICAgICAgIGZsb2F0X3N0YXRlXyhjb250ZXh0ID8gJmNvbnRleHQtPmZsb2F0X3N0YXRlIDog TlVMTCksCi0gI2VuZGlmCi0gICAgICAgICBkdW1wZXJfKGR1bXBlciksCi1AQCAtNDY4LDcgKzQ3 MCw5IEBAIGNsYXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAgICAgICAgIGlmICghY3B1LkFsbG9jYXRl KCkpCi0gICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgIG15X21lbXNldChjcHUuZ2V0 KCksIDAsIHNpemVvZihSYXdDb250ZXh0Q1BVKSk7Ci0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklf XykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsg ICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChjcHUuZ2V0KCksIHVjb250ZXh0 XywgdmVjdG9yX3N0YXRlXyk7Ci0rI2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVm aW5lZChfX21pcHNfXykKLSAgICAgICAgIFVDb250ZXh0UmVhZGVyOjpGaWxsQ1BVQ29udGV4dChj cHUuZ2V0KCksIHVjb250ZXh0XywgZmxvYXRfc3RhdGVfKTsKLSAjZWxzZQotICAgICAgICAgVUNv bnRleHRSZWFkZXI6OkZpbGxDUFVDb250ZXh0KGNwdS5nZXQoKSwgdWNvbnRleHRfKTsKLUBAIC04 OTcsNyArOTAxLDcgQEAgY2xhc3MgTWluaWR1bXBXcml0ZXIgewotICAgICBkaXJlbnQtPmxvY2F0 aW9uLnJ2YSA9IDA7Ci0gICB9Ci0gCi0tI2lmIGRlZmluZWQoX19pMzg2X18pIHx8IGRlZmluZWQo X194ODZfNjRfXykgfHwgZGVmaW5lZChfX21pcHNfXykKLSsjaWYgZGVmaW5lZChfX2kzODZfXykg fHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9fbWlwc19fKSB8fCBkZWZpbmVkKF9f cG93ZXJwYzY0X18pCi0gICBib29sIFdyaXRlQ1BVSW5mb3JtYXRpb24oTURSYXdTeXN0ZW1JbmZv KiBzeXNfaW5mbykgewotICAgICBjaGFyIHZlbmRvcl9pZFtzaXplb2Yoc3lzX2luZm8tPmNwdS54 ODZfY3B1X2luZm8udmVuZG9yX2lkKSArIDFdID0gezB9OwotICAgICBzdGF0aWMgY29uc3QgY2hh ciB2ZW5kb3JfaWRfbmFtZVtdID0gInZlbmRvcl9pZCI7Ci1AQCAtOTE3LDcgKzkyMSw5IEBAIGNs YXNzIE1pbmlkdW1wV3JpdGVyIHsKLSAKLSAgICAgLy8gcHJvY2Vzc29yX2FyY2hpdGVjdHVyZSBz aG91bGQgYWx3YXlzIGJlIHNldCwgZG8gdGhpcyBmaXJzdAotICAgICBzeXNfaW5mby0+cHJvY2Vz c29yX2FyY2hpdGVjdHVyZSA9Ci0tI2lmIGRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQo X19wb3dlcnBjNjRfXykKLSsgICAgICAgIE1EX0NQVV9BUkNISVRFQ1RVUkVfUFBDNjQ7Ci0rI2Vs aWYgZGVmaW5lZChfX21pcHNfXykKLSAjIGlmIF9NSVBTX1NJTSA9PSBfQUJJTzMyCi0gICAgICAg ICBNRF9DUFVfQVJDSElURUNUVVJFX01JUFM7Ci0gIyBlbGlmIF9NSVBTX1NJTSA9PSBfQUJJNjQK LUBAIC0xMzMzLDcgKzEzMzksOSBAQCBjbGFzcyBNaW5pZHVtcFdyaXRlciB7Ci0gICBjb25zdCBj aGFyKiBwYXRoXzsgIC8vIFBhdGggdG8gdGhlIGZpbGUgd2hlcmUgdGhlIG1pbmlkdW0gc2hvdWxk IGJlIHdyaXR0ZW4uCi0gCi0gICBjb25zdCB1Y29udGV4dF90KiBjb25zdCB1Y29udGV4dF87ICAv LyBhbHNvIGZyb20gdGhlIHNpZ25hbCBoYW5kbGVyCi0tI2lmICFkZWZpbmVkKF9fQVJNX0VBQklf XykgJiYgIWRlZmluZWQoX19taXBzX18pCi0rI2lmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsg IGNvbnN0IGdvb2dsZV9icmVha3BhZDo6dnN0YXRlX3QqIGNvbnN0IHZlY3Rvcl9zdGF0ZV87Ci0r I2VsaWYgIWRlZmluZWQoX19BUk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSAgIGNv bnN0IGdvb2dsZV9icmVha3BhZDo6ZnBzdGF0ZV90KiBjb25zdCBmbG9hdF9zdGF0ZV87ICAvLyBk aXR0bwotICNlbmRpZgotICAgTGludXhEdW1wZXIqIGR1bXBlcl87Ci1kaWZmIC0tZ2l0IGEvdGhp cmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5pZHVtcF93cml0 ZXIvbWluaWR1bXBfd3JpdGVyLmggYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMv Y2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAotaW5kZXggZTNi MGIxNmRhLi5jY2Q4YWEwYTQgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dyaXRlci9taW5pZHVtcF93cml0ZXIuaAot KysrIGIvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NsaWVudC9saW51eC9taW5p ZHVtcF93cml0ZXIvbWluaWR1bXBfd3JpdGVyLmgKLUBAIC00OCw2ICs0OCw4IEBAIGNsYXNzIEV4 Y2VwdGlvbkhhbmRsZXI7Ci0gCi0gI2lmIGRlZmluZWQoX19hYXJjaDY0X18pCi0gdHlwZWRlZiBz dHJ1Y3QgZnBzaW1kX2NvbnRleHQgZnBzdGF0ZV90OwotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBj NjRfXykKLSt0eXBlZGVmIHZycmVnc2V0X3QgdnN0YXRlX3Q7Ci0gI2VsaWYgIWRlZmluZWQoX19B Uk1fRUFCSV9fKSAmJiAhZGVmaW5lZChfX21pcHNfXykKLSB0eXBlZGVmIHN0ZDo6cmVtb3ZlX3Bv aW50ZXI8ZnByZWdzZXRfdD46OnR5cGUgZnBzdGF0ZV90OwotICNlbmRpZgotZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBf d3JpdGVyL21pbmlkdW1wX3dyaXRlcl91bml0dGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFk L2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dyaXRl cl91bml0dGVzdC5jYwotaW5kZXggZDE5MmU1Y2JiLi5mYzFiZmE4ZDcgMTAwNjQ0Ci0tLS0gYS90 aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY2xpZW50L2xpbnV4L21pbmlkdW1wX3dy aXRlci9taW5pZHVtcF93cml0ZXJfdW5pdHRlc3QuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFr cGFkL2JyZWFrcGFkL3NyYy9jbGllbnQvbGludXgvbWluaWR1bXBfd3JpdGVyL21pbmlkdW1wX3dy aXRlcl91bml0dGVzdC5jYwotQEAgLTcxNSw2ICs3MTUsOSBAQCBURVNUKE1pbmlkdW1wV3JpdGVy VGVzdCwgSW52YWxpZFN0YWNrUG9pbnRlcikgewotICNlbGlmIGRlZmluZWQoX19taXBzX18pCi0g ICBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3JlZ3NbTURfQ09OVEVYVF9NSVBTX1JFR19T UF0gPQotICAgICAgIGludmFsaWRfc3RhY2tfcG9pbnRlcjsKLSsjZWxpZiBkZWZpbmVkKF9fcG93 ZXJwYzY0X18pCi0rICBjb250ZXh0LmNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1tNRF9DT05U RVhUX1BQQzY0X1JFR19TUF0gPQotKyAgICAgIGludmFsaWRfc3RhY2tfcG9pbnRlcjsKLSAjZWxz ZQotICMgZXJyb3IgIlRoaXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZv cm0geWV0LiIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZS5jYyBiL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNj Ci1pbmRleCA5OTM2Mjk0NWMuLmM1NGJhNzE0NSAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2Jy ZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbGludXgvbWVtb3J5X21hcHBlZF9maWxlLmNjCi0r KysgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xpbnV4L21lbW9y eV9tYXBwZWRfZmlsZS5jYwotQEAgLTY1LDggKzY1LDcgQEAgYm9vbCBNZW1vcnlNYXBwZWRGaWxl OjpNYXAoY29uc3QgY2hhciogcGF0aCwgc2l6ZV90IG9mZnNldCkgewotICAgfQotIAotICNpZiBk ZWZpbmVkKF9feDg2XzY0X18pIHx8IGRlZmluZWQoX19hYXJjaDY0X18pIHx8IFwKLS0gICAoZGVm aW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNID09IF9BQkk2NCkKLS0KLSsgICAoZGVmaW5lZChf X21pcHNfXykgJiYgX01JUFNfU0lNID09IF9BQkk2NCkgfHwgZGVmaW5lZChfX3Bvd2VycGM2NF9f KQotICAgc3RydWN0IGtlcm5lbF9zdGF0IHN0OwotICAgaWYgKHN5c19mc3RhdChmZCwgJnN0KSA9 PSAtMSB8fCBzdC5zdF9zaXplIDwgMCkgewotICNlbHNlCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVf dW5pdHRlc3QuY2MgYi90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29tbW9uL2xp bnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYwotaW5kZXggZmFkNTlmNDBjLi42MTY0 OTZkNjcgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvY29t bW9uL2xpbnV4L21lbW9yeV9tYXBwZWRfZmlsZV91bml0dGVzdC5jYwotKysrIGIvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL2NvbW1vbi9saW51eC9tZW1vcnlfbWFwcGVkX2ZpbGVf dW5pdHRlc3QuY2MKLUBAIC0xNzYsOSArMTc2LDEwIEBAIFRFU1RfRihNZW1vcnlNYXBwZWRGaWxl VGVzdCwgUmVtYXBBZnRlck1hcCkgewotIFRFU1RfRihNZW1vcnlNYXBwZWRGaWxlVGVzdCwgTWFw V2l0aE9mZnNldCkgewotICAgLy8gUHV0IG1vcmUgZGF0YSBpbiB0aGUgdGVzdCBmaWxlIHRoaXMg dGltZS4gT2Zmc2V0cyBjYW4gb25seSBiZQotICAgLy8gZG9uZSBvbiBwYWdlIGJvdW5kYXJpZXMs IHNvIHdlIG5lZWQgYSB0d28gcGFnZSBmaWxlIHRvIHRlc3QgdGhpcy4KLS0gIGNvbnN0IGludCBw YWdlX3NpemUgPSA0MDk2OwotLSAgY2hhciBkYXRhMVsyICogcGFnZV9zaXplXTsKLS0gIHNpemVf dCBkYXRhMV9zaXplID0gc2l6ZW9mKGRhdGExKTsKLSsgIGNvbnN0IGludCBwYWdlX3NpemUgPSBn ZXRwYWdlc2l6ZSgpOwotKyAgY2hhciAqZGF0YTEgPSBzdGF0aWNfY2FzdDxjaGFyKj4obWFsbG9j KDIgKiBwYWdlX3NpemUpKTsKLSsgIEVYUEVDVF9UUlVFKGRhdGExICE9IE5VTEwpOwotKyAgc2l6 ZV90IGRhdGExX3NpemUgPSAoMiAqIHBhZ2Vfc2l6ZSk7Ci0gICBmb3IgKHNpemVfdCBpID0gMDsg aSA8IGRhdGExX3NpemU7ICsraSkgewotICAgICBkYXRhMVtpXSA9IGkgJiAweDdmOwotICAgfQot ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVt b3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFk L3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5jYwotaW5kZXggNTgwM2I5MGQ1 Li4yYTFjZjE0ZjAgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVha3BhZC9z cmMvY29tbW9uL21lbW9yeV9hbGxvY2F0b3JfdW5pdHRlc3QuY2MKLSsrKyBiL3RoaXJkX3BhcnR5 L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9jb21tb24vbWVtb3J5X2FsbG9jYXRvcl91bml0dGVzdC5j YwotQEAgLTU3LDggKzU3LDkgQEAgVEVTVChQYWdlQWxsb2NhdG9yVGVzdCwgTGFyZ2VPYmplY3Qp IHsKLSAKLSAgIEVYUEVDVF9FUSgwVSwgYWxsb2NhdG9yLnBhZ2VzX2FsbG9jYXRlZCgpKTsKLSAg IHVpbnQ4X3QqIHAgPSByZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPihhbGxvY2F0b3IuQWxsb2Mo MTAwMDApKTsKLSsgIHVpbnQ2NF90IGV4cGVjdGVkX3BhZ2VzID0gMSArICgoMTAwMDAgLSAxKSAv IGdldHBhZ2VzaXplKCkpOwotICAgQVNTRVJUX0ZBTFNFKHAgPT0gTlVMTCk7Ci0tICBFWFBFQ1Rf RVEoM1UsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7Ci0rICBFWFBFQ1RfRVEoZXhwZWN0 ZWRfcGFnZXMsIGFsbG9jYXRvci5wYWdlc19hbGxvY2F0ZWQoKSk7Ci0gICBmb3IgKHVuc2lnbmVk IGkgPSAxOyBpIDwgMTA7ICsraSkgewotICAgICB1aW50OF90KiBwID0gcmVpbnRlcnByZXRfY2Fz dDx1aW50OF90Kj4oYWxsb2NhdG9yLkFsbG9jKGkpKTsKLSAgICAgQVNTRVJUX0ZBTFNFKHAgPT0g TlVMTCk7Ci1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3By b2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5jYyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfbGludXguY2MKLWluZGV4IDc5ODA1 NmRmYS4uMjJiZDgxZmZmIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvYnJlYWtwYWQvYnJlYWtw YWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5jYwotKysrIGIvdGhpcmRfcGFy dHkvYnJlYWtwYWQvYnJlYWtwYWQvc3JjL3Byb2Nlc3Nvci9leHBsb2l0YWJpbGl0eV9saW51eC5j YwotQEAgLTIwMiwxMiArMjAyLDE0IEBAIGJvb2wgRXhwbG9pdGFiaWxpdHlMaW51eDo6RW5kZWRP bklsbGVnYWxXcml0ZSh1aW50NjRfdCBpbnN0cnVjdGlvbl9wdHIpIHsKLSAgIC8vIENoZWNrIGFy Y2hpdGVjdHVyZSBhbmQgc2V0IGFyY2hpdGVjdHVyZSB2YXJpYWJsZSB0byBjb3JyZXNwb25kaW5n IGZsYWcKLSAgIC8vIGluIG9iamR1bXAuCi0gICBzd2l0Y2ggKGNvbnRleHQtPkdldENvbnRleHRD UFUoKSkgewotKyNpZiBkZWZpbmVkKF9faTM4NikgfHwgZGVmaW5lZChfX3g4Nl82NCkKLSAgICAg Y2FzZSBNRF9DT05URVhUX1g4NjoKLSAgICAgICBhcmNoaXRlY3R1cmUgPSAiaTM4NiI7Ci0gICAg ICAgYnJlYWs7Ci0gICAgIGNhc2UgTURfQ09OVEVYVF9BTUQ2NDoKLSAgICAgICBhcmNoaXRlY3R1 cmUgPSAiaTM4Njp4ODYtNjQiOwotICAgICAgIGJyZWFrOwotKyNlbmRpZgotICAgICBkZWZhdWx0 OgotICAgICAgIC8vIFVuc3VwcG9ydGVkIGFyY2hpdGVjdHVyZS4gTm90ZSB0aGF0IEFSTSBhcmNo aXRlY3R1cmVzIGFyZSBub3QKLSAgICAgICAvLyBzdXBwb3J0ZWQgYmVjYXVzZSBvYmpkdW1wIGRv ZXMgbm90IHN1cHBvcnQgQVJNLgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2Jy ZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3QuY2MgYi90aGlyZF9w YXJ0eS9icmVha3BhZC9icmVha3BhZC9zcmMvcHJvY2Vzc29yL2V4cGxvaXRhYmlsaXR5X3VuaXR0 ZXN0LmNjCi1pbmRleCA1MjhlZTVmMjEuLjcyNzY0ZDZjMSAxMDA2NDQKLS0tLSBhL3RoaXJkX3Bh cnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3IvZXhwbG9pdGFiaWxpdHlfdW5pdHRl c3QuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy9wcm9jZXNzb3Iv ZXhwbG9pdGFiaWxpdHlfdW5pdHRlc3QuY2MKLUBAIC0xMDQsNiArMTA0LDggQEAgRXhwbG9pdGFi aWxpdHlGb3IoY29uc3Qgc3RyaW5nJiBmaWxlbmFtZSkgewotIH0KLSAKLSBURVNUKEV4cGxvaXRh YmlsaXR5VGVzdCwgVGVzdFdpbmRvd3NFbmdpbmUpIHsKLSsvLyBUaGUgZm9sbG93aW5nIHRlc3Rz IGFyZSBvbmx5IGV4ZWN1dGFibGUgb24gYW4geDg2LWNsYXNzIGxpbnV4IG1hY2hpbmUuCi0rI2lm ICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0 KSkKLSAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExPSVRBQklMSVRZX0hJR0gsCi0g ICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImFzY2lpX3JlYWRfYXYuZG1wIikpOwotICAg QVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSElHSCwKLUBAIC0xMzYs OSArMTM4LDEyIEBAIFRFU1QoRXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0V2luZG93c0VuZ2luZSkg ewotICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJyZWFkX2F2X2Nsb2JiZXJfd3JpdGUu ZG1wIikpOwotICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfTE9X LAotICAgICAgICAgICAgIEV4cGxvaXRhYmlsaXR5Rm9yKCJyZWFkX2F2X2NvbmRpdGlvbmFsLmRt cCIpKTsKLSsjZW5kaWYKLSB9Ci0gCi0gVEVTVChFeHBsb2l0YWJpbGl0eVRlc3QsIFRlc3RMaW51 eEVuZ2luZSkgewotKy8vIFRoZSBmb2xsb3dpbmcgdGVzdHMgYXJlIG9ubHkgZXhlY3V0YWJsZSBv biBhbiB4ODYtY2xhc3MgbGludXggbWFjaGluZS4KLSsjaWYgZGVmaW5lZChfX2kzODYpIHx8IGRl ZmluZWQoX194ODZfNjQpCi0gICBBU1NFUlRfRVEoZ29vZ2xlX2JyZWFrcGFkOjpFWFBMT0lUQUJJ TElUWV9JTlRFUkVTVElORywKLSAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigibGludXhf bnVsbF9yZWFkX2F2LmRtcCIpKTsKLSAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExP SVRBQklMSVRZX0hJR0gsCi1AQCAtMTcxLDcgKzE3Niw4IEBAIFRFU1QoRXhwbG9pdGFiaWxpdHlU ZXN0LCBUZXN0TGludXhFbmdpbmUpIHsKLSAgICAgICAgICAgICBFeHBsb2l0YWJpbGl0eUZvcigi bGludXhfZXhlY3V0YWJsZV9oZWFwLmRtcCIpKTsKLSAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtw YWQ6OkVYUExPSVRBQklMSVRZX0hJR0gsCi0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3Io ImxpbnV4X2ptcF90b19tb2R1bGVfbm90X2V4ZV9yZWdpb24uZG1wIikpOwotLSNpZm5kZWYgX1dJ TjMyCi0rI2VuZGlmCi0rI2lmICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19pMzg2KSB8 fCBkZWZpbmVkKF9feDg2XzY0KSkKLSAgIEFTU0VSVF9FUShnb29nbGVfYnJlYWtwYWQ6OkVYUExP SVRBQklMSVRZX0hJR0gsCi0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X3dy aXRlX3RvX25vbndyaXRhYmxlX21vZHVsZS5kbXAiKSk7Ci0gICBBU1NFUlRfRVEoZ29vZ2xlX2Jy ZWFrcGFkOjpFWFBMT0lUQUJJTElUWV9ISUdILAotQEAgLTE4MiwxMCArMTg4LDEwIEBAIFRFU1Qo RXhwbG9pdGFiaWxpdHlUZXN0LCBUZXN0TGludXhFbmdpbmUpIHsKLSAgICAgICAgICAgICBFeHBs b2l0YWJpbGl0eUZvcigibGludXhfd3JpdGVfdG9fb3V0c2lkZV9tb2R1bGVfdmlhX21hdGguZG1w IikpOwotICAgQVNTRVJUX0VRKGdvb2dsZV9icmVha3BhZDo6RVhQTE9JVEFCSUxJVFlfSU5URVJF U1RJTkcsCi0gICAgICAgICAgICAgRXhwbG9pdGFiaWxpdHlGb3IoImxpbnV4X3dyaXRlX3RvX3Vu ZGVyXzRrLmRtcCIpKTsKLS0jZW5kaWYgIC8vIF9XSU4zMgotKyNlbmRpZiAgLy8gIWRlZmluZWQo X1dJTjMyKSAmJiAoIWRlZmluZWQoX19pMzg2KSAmJiAhZGVmaW5lZChfX3g4Nl82NCkpCi0gfQot IAotLSNpZm5kZWYgX1dJTjMyCi0rI2lmICFkZWZpbmVkKF9XSU4zMikgJiYgKGRlZmluZWQoX19p Mzg2KSB8fCBkZWZpbmVkKF9feDg2XzY0KSkKLSBURVNUKEV4cGxvaXRhYmlsaXR5TGludXhVdGls c1Rlc3QsIERpc2Fzc2VtYmxlQnl0ZXNUZXN0KSB7Ci0gICBBU1NFUlRfRkFMU0UoRXhwbG9pdGFi aWxpdHlMaW51eFRlc3Q6OkRpc2Fzc2VtYmxlQnl0ZXMoIiIsIE5VTEwsIDUsIE5VTEwpKTsKLSAg IHVpbnQ4X3QgYnl0ZXNbNl0gPSB7MHhjNywgMHgwLCAweDUsIDB4MCwgMHgwLCAweDB9OwotQEAg LTMwMSw2ICszMDcsNyBAQCBURVNUKEV4cGxvaXRhYmlsaXR5TGludXhVdGlsc1Rlc3QsIENhbGN1 bGF0ZUFkZHJlc3NUZXN0KSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgY29udGV4dCwKLSAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmd3JpdGVfYWRkcmVzcykpOwotIH0KLS0j ZW5kaWYgIC8vIF9XSU4zMgotKyNlbmRpZiAgLy8gIWRlZmluZWQoX1dJTjMyKSAmJiAoZGVmaW5l ZChfX2kzODYpIHx8IGRlZmluZWQoX194ODZfNjQpKQotKwotIAotIH0gIC8vIG5hbWVzcGFjZQot ZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51 eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYyBiL3RoaXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFr cGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlkdW1wLTItY29yZS5jYwotaW5kZXggYWFk ZTgyYzk5Li4xOTVhYTczZjMgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9icmVha3BhZC9icmVh a3BhZC9zcmMvdG9vbHMvbGludXgvbWQyY29yZS9taW5pZHVtcC0yLWNvcmUuY2MKLSsrKyBiL3Ro aXJkX3BhcnR5L2JyZWFrcGFkL2JyZWFrcGFkL3NyYy90b29scy9saW51eC9tZDJjb3JlL21pbmlk dW1wLTItY29yZS5jYwotQEAgLTc3LDYgKzc3LDggQEAKLSAgICNkZWZpbmUgRUxGX0FSQ0ggIEVN X01JUFMKLSAjZWxpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotICAgI2RlZmluZSBFTEZfQVJDSCAg RU1fQUFSQ0g2NAotKyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgICNkZWZpbmUgRUxG X0FSQ0ggIEVNX1BQQzY0Ci0gI2VuZGlmCi0gCi0gI2lmIGRlZmluZWQoX19hcm1fXykKLUBAIC04 Nyw2ICs4OSw4IEBAIHR5cGVkZWYgdXNlcl9yZWdzIHVzZXJfcmVnc19zdHJ1Y3Q7Ci0gI2VsaWYg ZGVmaW5lZCAoX19taXBzX18pCi0gLy8gVGhpcyBmaWxlLWxvY2FsIHR5cGVkZWYgc2ltcGxpZmll cyB0aGUgc291cmNlIGNvZGUuCi0gdHlwZWRlZiBncmVnc2V0X3QgdXNlcl9yZWdzX3N0cnVjdDsK LSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rdHlwZWRlZiBzdHJ1Y3QgcHRfcmVncyB1 c2VyX3JlZ3Nfc3RydWN0OwotICNlbmRpZgotIAotIHVzaW5nIGdvb2dsZV9icmVha3BhZDo6TURU eXBlSGVscGVyOwotQEAgLTMyMSw2ICszMjUsOSBAQCBzdHJ1Y3QgQ3Jhc2hlZFByb2Nlc3Mgewot ICNlbmRpZgotICNpZiBkZWZpbmVkKF9fYWFyY2g2NF9fKQotICAgICB1c2VyX2Zwc2ltZF9zdHJ1 Y3QgZnByZWdzOwotKyNlbmRpZgotKyNpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rICAgIG1j b250ZXh0X3QgbWNvbnRleHQ7Ci0gI2VuZGlmCi0gICAgIHVpbnRwdHJfdCBzdGFja19hZGRyOwot ICAgICBjb25zdCB1aW50OF90KiBzdGFjazsKLUBAIC01MzUsNiArNTQyLDM4IEBAIFBhcnNlVGhy ZWFkUmVnaXN0ZXJzKENyYXNoZWRQcm9jZXNzOjpUaHJlYWQqIHRocmVhZCwKLSAgIHRocmVhZC0+ bWNvbnRleHQuZnBjX2VpciA9IHJhd3JlZ3MtPmZsb2F0X3NhdmUuZmlyOwotICNlbmRpZgotIH0K LSsjZWxpZiBkZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rc3RhdGljIHZvaWQKLStQYXJzZVRocmVh ZFJlZ2lzdGVycyhDcmFzaGVkUHJvY2Vzczo6VGhyZWFkKiB0aHJlYWQsCi0rICAgICAgICAgICAg ICAgICAgICAgY29uc3QgTWluaWR1bXBNZW1vcnlSYW5nZSYgcmFuZ2UpIHsKLSsgIGNvbnN0IE1E UmF3Q29udGV4dFBQQzY0KiByYXdyZWdzID0gcmFuZ2UuR2V0RGF0YTxNRFJhd0NvbnRleHRQUEM2 ND4oMCk7Ci0rCi0rICBmb3IgKGludCBpID0gMDsgaSA8IE1EX0NPTlRFWFRfUFBDNjRfR1BSX0NP VU5UOyBpKyspCi0rICAgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tpXSA9IHJhd3JlZ3MtPmdw cltpXTsKLSsKLSsgIHRocmVhZC0+bWNvbnRleHQuZ3BfcmVnc1tQVF9MTktdID0gcmF3cmVncy0+ bHI7Ci0rICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTklQXSA9IHJhd3JlZ3MtPnNycjA7 Ci0rICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfTVNSXSA9IHJhd3JlZ3MtPnNycjE7Ci0r ICB0aHJlYWQtPm1jb250ZXh0LmdwX3JlZ3NbUFRfQ0NSXSA9IHJhd3JlZ3MtPmNyOwotKyAgdGhy ZWFkLT5tY29udGV4dC5ncF9yZWdzW1BUX1hFUl0gPSByYXdyZWdzLT54ZXI7Ci0rICB0aHJlYWQt Pm1jb250ZXh0LmdwX3JlZ3NbUFRfQ1RSXSA9IHJhd3JlZ3MtPmN0cjsKLSsgIHRocmVhZC0+bWNv bnRleHQudl9yZWdzLT52cnNhdmUgPSByYXdyZWdzLT52cnNhdmU7Ci0rCi0rICBmb3IgKGludCBp ID0gMDsgaSA8IE1EX0ZMT0FUSU5HU0FWRUFSRUFfUFBDX0ZQUl9DT1VOVDsgaSsrKQotKyAgICAg IHRocmVhZC0+bWNvbnRleHQuZnBfcmVnc1tpXSA9IHJhd3JlZ3MtPmZsb2F0X3NhdmUuZnByZWdz W2ldOwotKwotKyAgdGhyZWFkLT5tY29udGV4dC5mcF9yZWdzW05GUFJFRy0xXSA9IHJhd3JlZ3Mt PmZsb2F0X3NhdmUuZnBzY3I7Ci0rCi0rICBmb3IgKGludCBpID0gMDsgaSA8IE1EX1ZFQ1RPUlNB VkVBUkVBX1BQQ19WUl9DT1VOVDsgaSsrKSB7Ci0rICAgICAgdGhyZWFkLT5tY29udGV4dC52X3Jl Z3MtPnZycmVnc1tpXVswXSA9IHJhd3JlZ3MtPnZlY3Rvcl9zYXZlLnNhdmVfdnJbaV0uaGlnaCA+ PiAzMjsKLSsgICAgICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJyZWdzW2ldWzFdID0gcmF3 cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5oaWdoOwotKyAgICAgIHRocmVhZC0+bWNvbnRl eHQudl9yZWdzLT52cnJlZ3NbaV1bMl0gPSByYXdyZWdzLT52ZWN0b3Jfc2F2ZS5zYXZlX3ZyW2ld LmxvdyA+PiAzMjsKLSsgICAgICB0aHJlYWQtPm1jb250ZXh0LnZfcmVncy0+dnJyZWdzW2ldWzNd ID0gcmF3cmVncy0+dmVjdG9yX3NhdmUuc2F2ZV92cltpXS5sb3c7Ci0rICB9Ci0rCi0rICB0aHJl YWQtPm1jb250ZXh0LnZfcmVncy0+dnNjci52c2NyX3dvcmQgPSByYXdyZWdzLT52ZWN0b3Jfc2F2 ZS5zYXZlX3ZzY3IubG93ICYgMHhGRkZGRkZGRjsKLSt9Ci0rCi0gI2Vsc2UKLSAjZXJyb3IgIlRo aXMgY29kZSBoYXMgbm90IGJlZW4gcG9ydGVkIHRvIHlvdXIgcGxhdGZvcm0geWV0IgotICNlbmRp ZgotQEAgLTYyMyw2ICs2NjIsMTIgQEAgUGFyc2VTeXN0ZW1JbmZvKGNvbnN0IE9wdGlvbnMmIG9w dGlvbnMsIENyYXNoZWRQcm9jZXNzKiBjcmFzaGluZm8sCi0gIyBlbHNlCi0gIyAgZXJyb3IgIlRo aXMgbWlwcyBBQkkgaXMgY3VycmVudGx5IG5vdCBzdXBwb3J0ZWQgKG4zMikiCi0gIyBlbmRpZgot KyNlbGlmIGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIGlmIChzeXNpbmZvLT5wcm9jZXNzb3Jf YXJjaGl0ZWN0dXJlICE9IE1EX0NQVV9BUkNISVRFQ1RVUkVfUFBDNjQpIHsKLSsgICAgZnByaW50 ZihzdGRlcnIsCi0rICAgICAgICAgICAgIlRoaXMgdmVyc2lvbiBvZiBtaW5pZHVtcC0yLWNvcmUg b25seSBzdXBwb3J0cyBQUEM2NC5cbiIpOwotKyAgICBleGl0KDEpOwotKyAgfQotICNlbHNlCi0g I2Vycm9yICJUaGlzIGNvZGUgaGFzIG5vdCBiZWVuIHBvcnRlZCB0byB5b3VyIHBsYXRmb3JtIHll dCIKLSAjZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9D T05UUklCVVRPUlMgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9DT05UUklCVVRPUlMK LWluZGV4IDg3MjRiN2YzMi4uOGUyOTQyNGVmIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvQ09OVFJJQlVUT1JTCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9DT05UUklCVVRPUlMKLUBAIC0xMywzICsxMyw0IEBAIE1hcmsgTWVudG92YWkgPG1h cmtAY2hyb21pdW0ub3JnPgotIFJvYmVydCBTZXNlayA8cnNlc2VrQGNocm9taXVtLm9yZz4KLSBT Y290dCBHcmFoYW0gPHNjb3R0bWdAY2hyb21pdW0ub3JnPgotIEpvc2h1YSBQZXJhemEgPGpwZXJh emFAY2hyb21pdW0ub3JnPgotK1NoYXduIEFuYXN0YXNpbyA8c2hhd25AYW5hc3Rhcy5pbz4KLWRp ZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lz L3VzZXIuaCBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL2NvbXBhdC9saW51eC9zeXMv dXNlci5oCi1pbmRleCA2ZWQ3N2E5OGUuLjFmZDgzNDY5YSAxMDA2NDQKLS0tLSBhL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL2NvbXBhdC9saW51eC9zeXMvdXNlci5oCi0rKysgYi90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9jb21wYXQvbGludXgvc3lzL3VzZXIuaAotQEAgLTE1 LDYgKzE1LDcgQEAKLSAjaWZuZGVmIENSQVNIUEFEX0NPTVBBVF9MSU5VWF9TWVNfVVNFUl9IXwot ICNkZWZpbmUgQ1JBU0hQQURfQ09NUEFUX0xJTlVYX1NZU19VU0VSX0hfCi0gCi0rI2luY2x1ZGUg PGNzdGRkZWY+Ci0gI2luY2x1ZGVfbmV4dCA8c3lzL3VzZXIuaD4KLSAKLSAjaW5jbHVkZSA8ZmVh dHVyZXMuaD4KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5p ZHVtcC9taW5pZHVtcF9jb250ZXh0LmggYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9t aW5pZHVtcC9taW5pZHVtcF9jb250ZXh0LmgKLWluZGV4IDNhM2U2MDNjYi4uMzExOGQ5ZTlmIDEw MDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1 bXBfY29udGV4dC5oCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVt cC9taW5pZHVtcF9jb250ZXh0LmgKLUBAIC01OTIsNiArNTkyLDcwIEBAIHN0cnVjdCBNaW5pZHVt cENvbnRleHRNSVBTNjQgewotICAgdWludDY0X3QgZmlyOwotIH07Ci0gCi0rLy8hIFxicmllZiBw cGM2NC1zcGVjaWZpYyBmbGFncyBmb3IgTWluaWR1bXBQUEM2NDo6Y29udGV4dF9mbGFncwotKy8v ISBCYXNlZCBvbiBtaW5pZHVtcF9jcHVfcHBjNjQuaCBmcm9tIGJyZWFrcGFkCi0rZW51bSBNaW5p ZHVtcENvbnRleHRQUEM2NEZsYWdzIDogdWludDMyX3QgewotKyAgLy8hIFxicmllZiBJZGVudGlm aWVzIHRoZSBjb250ZXh0IGFzIFBQQzY0LgotKyAga01pbmlkdW1wQ29udGV4dFBQQzY0ID0gMHgw MTAwMDAwMCwKLSsKLSsgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBnZW5l cmFsIHB1cnBvc2UgcmVnaXN0ZXJzLgotKyAgLy8hCi0rICAvLyEgUmVnaXN0ZXJzIGByMGAtYHIz MWAsIGBuaXBgLCBgbXNyYCwgYGxyYCwgZXRjLiBhcmUgdmFsaWQuCi0rICBrTWluaWR1bXBDb250 ZXh0UFBDNjRCYXNlID0ga01pbmlkdW1wQ29udGV4dFBQQzY0IHwgMHgwMDAwMDAwMSwKLSsKLSsg IC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2YWxpZGl0eSBvZiBmbG9hdGluZyBwb2ludCByZWdp c3RlcnMuCi0rICAvLyEKLSsgIC8vISBSZWdpc3RlcnMgYGZwMGAtYGZwMzFgLCBgZnBzY3JgIGFy ZSB2YWxpZC4KLSsgIGtNaW5pZHVtcENvbnRleHRQUEM2NEZsb2F0aW5nID0ga01pbmlkdW1wQ29u dGV4dFBQQzY0IHwgMHgwMDAwMDAwOCwKLSsKLSsgIC8vISBcYnJpZWYgSW5kaWNhdGVzIHRoZSB2 YWxpZGl0eSBvZiBBbHRpdmVjL1ZNWCByZWdpc3RlcnMuCi0rICAvLyEKLSsgIC8vISBSZWdpc3Rl cnMgYHYwYC1gdjMxYCwgYHZzY3JgLCBgdnJzYXZlYC4KLSsgIGtNaW5pZHVtcENvbnRleHRQUEM2 NFZlY3RvciA9IGtNaW5pZHVtcENvbnRleHRQUEM2NCB8IDB4MDAwMDAwMjAsCi0rCi0rICAvLyEg XGJyaWVmIEluZGljYXRlcyB0aGUgdmFsaWRpdHkgb2YgYWxsIHJlZ2lzdGVycwotKyAga01pbmlk dW1wQ29udGV4dFBQQzY0QWxsID0ga01pbmlkdW1wQ29udGV4dFBQQzY0QmFzZSAgICAgfAotKyAg ICAgICAgICAgICAgICAgICAgICAgICAgICAga01pbmlkdW1wQ29udGV4dFBQQzY0RmxvYXRpbmcg fAotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAga01pbmlkdW1wQ29udGV4dFBQQzY0VmVj dG9yCi0rfTsKLSsKLSsvLyEgXGJyaWVmIEEgUFBDNjQgQ1BVIGNvbnRleHQgY2FycmllZCBpbiBh IG1pbmlkdW1wIGZpbGUuCi0rLy8hIEJhc2VkIG9uIG1pbmlkdW1wX2NwdV9wcGM2NC5oIGZyb20g YnJlYWtwYWQuCi0rc3RydWN0IE1pbmlkdW1wQ29udGV4dFBQQzY0IHsKLSsgIHVpbnQ2NF90IGNv bnRleHRfZmxhZ3M7Ci0rCi0rICAvLyEgXGJyaWVmIEdlbmVyYWwgcHVycG9zZSByZWdpc3RlcnMu Ci0rICB1aW50NjRfdCBuaXA7Ci0rICB1aW50NjRfdCBtc3I7Ci0rICB1aW50NjRfdCByZWdzWzMy XTsKLSsgIHVpbnQ2NF90IGNjcjsKLSsgIHVpbnQ2NF90IHhlcjsKLSsgIHVpbnQ2NF90IGxuazsK LSsgIHVpbnQ2NF90IGN0cjsKLSsKLSsgIC8vISBcYnJpZWYgRmxvYXRpbmcgcG9pbnQgcmVnaXN0 ZXJzLgotKyAgZG91YmxlIGZwcmVnc1szMl07Ci0rCi0rICAvLyEgXGJyaWVmIEZQVSBzdGF0dXMg cmVnaXN0ZXIuCi0rICBkb3VibGUgZnBzY3I7Ci0rCi0rICAvLyEgXGJyaWVmIEFsdGl2ZWMvVk1Y IHZlY3RvciByZWdpc3RlcnMuCi0rICBzdHJ1Y3QgewotKyAgICAgIC8vISBcYnJpZWYgVmVjdG9y IHJlZ2lzdGVycyBhcmUgMTI4Yml0cy4KLSsgICAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZyWzMy XTsKLSsgICAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZzY3I7Ci0rCi0rICAgICAgLy8hIFxicmll ZiBQYWRkaW5nIGluY2x1ZGVkIGZvciBicmVha3BhZCBjb21wYXRpYmlsdGl5LgotKyAgICAgIHVp bnQzMl90IHNhdmVfcGFkNVs0XTsKLSsKLSsgICAgICAvLyEgXGJyaWVmIFZSU0FWRSByZWdpc3Rl ci4KLSsgICAgICB1aW50MzJfdCBzYXZlX3Zyc2F2ZTsKLSsKLSsgICAgICAvLyEgXGJyaWVmIFBh ZGRpbmcgaW5jbHVkZWQgZm9yIGJyZWFrcGFkIGNvbXBhdGliaWx0aXkuCi0rICAgICAgdWludDMy X3Qgc2F2ZV9wYWQ2WzddOwotKyAgfSB2cmVnczsKLSt9OwotKwotIH0gIC8vIG5hbWVzcGFjZSBj cmFzaHBhZAotIAotICNlbmRpZiAgLy8gQ1JBU0hQQURfTUlOSURVTVBfTUlOSURVTVBfQ09OVEVY VF9IXwotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1w L21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MKLWluZGV4IGQ3ZTUzYTQ5My4u ZDg5ZWI5ZTAxIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWlu aWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyLmNjCi1AQCAtMTAx LDYgKzEwMSwxMyBAQCBNaW5pZHVtcENvbnRleHRXcml0ZXI6OkNyZWF0ZUZyb21TbmFwc2hvdChj b25zdCBDUFVDb250ZXh0KiBjb250ZXh0X3NuYXBzaG90KSB7Ci0gICAgICAgYnJlYWs7Ci0gICAg IH0KLSAKLSsgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlUFBDNjQ6IHsKLSsgICAgICBjb250ZXh0 ID0gc3RkOjptYWtlX3VuaXF1ZTxNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcj4oKTsKLSsgICAg ICByZWludGVycHJldF9jYXN0PE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyKj4oY29udGV4dC5n ZXQoKSkKLSsgICAgICAgICAgLT5Jbml0YWxpemVGcm9tU25hcHNob3QoY29udGV4dF9zbmFwc2hv dC0+cHBjNjQpOwotKyAgICAgIGJyZWFrOwotKyAgICB9Ci0rCi0gICAgIGRlZmF1bHQ6IHsKLSAg ICAgICBMT0coRVJST1IpIDw8ICJ1bmtub3duIGNvbnRleHQgYXJjaGl0ZWN0dXJlICIKLSAgICAg ICAgICAgICAgICAgIDw8IGNvbnRleHRfc25hcHNob3QtPmFyY2hpdGVjdHVyZTsKLUBAIC00NTMs NCArNDYwLDQ3IEBAIHNpemVfdCBNaW5pZHVtcENvbnRleHRNSVBTNjRXcml0ZXI6OkNvbnRleHRT aXplKCkgY29uc3QgewotICAgcmV0dXJuIHNpemVvZihjb250ZXh0Xyk7Ci0gfQotIAotK01pbmlk dW1wQ29udGV4dFBQQzY0V3JpdGVyOjpNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcigpCi0rICA6 IE1pbmlkdW1wQ29udGV4dFdyaXRlcigpLCBjb250ZXh0XygpIHsKLSsgICAgY29udGV4dF8uY29u dGV4dF9mbGFncyA9IGtNaW5pZHVtcENvbnRleHRQUEM2NDsKLSt9Ci0rCi0rTWluaWR1bXBDb250 ZXh0UFBDNjRXcml0ZXI6On5NaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcigpID0gZGVmYXVsdDsK LSsKLSt2b2lkIE1pbmlkdW1wQ29udGV4dFBQQzY0V3JpdGVyOjpJbml0YWxpemVGcm9tU25hcHNo b3QoCi0rICAgIGNvbnN0IENQVUNvbnRleHRQUEM2NCogY29udGV4dF9zbmFwc2hvdCkgewotKyAg RENIRUNLX0VRKHN0YXRlKCksIGtTdGF0ZU11dGFibGUpOwotKyAgRENIRUNLX0VRKGNvbnRleHRf LmNvbnRleHRfZmxhZ3MsIGtNaW5pZHVtcENvbnRleHRQUEM2NCk7Ci0rCi0rICBjb250ZXh0Xy5j b250ZXh0X2ZsYWdzID0ga01pbmlkdW1wQ29udGV4dFBQQzY0QWxsOwotKwotKyAgbWVtY3B5KGNv bnRleHRfLnJlZ3MsIGNvbnRleHRfc25hcHNob3QtPnJlZ3MsIHNpemVvZihjb250ZXh0Xy5yZWdz KSk7Ci0rICBjb250ZXh0Xy5uaXAgPSBjb250ZXh0X3NuYXBzaG90LT5uaXA7Ci0rICBjb250ZXh0 Xy5tc3IgPSBjb250ZXh0X3NuYXBzaG90LT5tc3I7Ci0rICBjb250ZXh0Xy5jY3IgPSBjb250ZXh0 X3NuYXBzaG90LT5jY3I7Ci0rICBjb250ZXh0Xy54ZXIgPSBjb250ZXh0X3NuYXBzaG90LT54ZXI7 Ci0rICBjb250ZXh0Xy5sbmsgPSBjb250ZXh0X3NuYXBzaG90LT5sbms7Ci0rICBjb250ZXh0Xy5j dHIgPSBjb250ZXh0X3NuYXBzaG90LT5jdHI7Ci0rCi0rICBtZW1jcHkoY29udGV4dF8uZnByZWdz LCBjb250ZXh0X3NuYXBzaG90LT5mcHJlZ3MsIHNpemVvZihjb250ZXh0Xy5mcHJlZ3MpKTsKLSsg IGNvbnRleHRfLmZwc2NyID0gY29udGV4dF9zbmFwc2hvdC0+ZnBzY3I7Ci0rCi0rICBtZW1jcHko Y29udGV4dF8udnJlZ3Muc2F2ZV92ciwgY29udGV4dF9zbmFwc2hvdC0+dnJlZ3Muc2F2ZV92ciwK LSsgICAgICAgICBzaXplb2YoY29udGV4dF8udnJlZ3Muc2F2ZV92cikpOwotKyAgbWVtY3B5KCZj b250ZXh0Xy52cmVncy5zYXZlX3ZzY3IsICZjb250ZXh0X3NuYXBzaG90LT52cmVncy5zYXZlX3Zz Y3IsCi0rICAgICAgICAgc2l6ZW9mKGNvbnRleHRfLnZyZWdzLnNhdmVfdnNjcikpOwotKyAgY29u dGV4dF8udnJlZ3Muc2F2ZV92cnNhdmUgPSBjb250ZXh0X3NuYXBzaG90LT52cmVncy5zYXZlX3Zy c2F2ZTsKLSt9Ci0rCi0rYm9vbCBNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcjo6V3JpdGVPYmpl Y3QoCi0rICAgIEZpbGVXcml0ZXJJbnRlcmZhY2UqIGZpbGVfd3JpdGVyKSB7Ci0rICBEQ0hFQ0tf RVEoc3RhdGUoKSwga1N0YXRlV3JpdGFibGUpOwotKyAgcmV0dXJuIGZpbGVfd3JpdGVyLT5Xcml0 ZSgmY29udGV4dF8sIHNpemVvZihjb250ZXh0XykpOwotK30KLSsKLStzaXplX3QgTWluaWR1bXBD b250ZXh0UFBDNjRXcml0ZXI6OkNvbnRleHRTaXplKCkgY29uc3QgewotKyAgRENIRUNLX0dFKHN0 YXRlKCksIGtTdGF0ZUZyb3plbik7Ci0rICByZXR1cm4gc2l6ZW9mKGNvbnRleHRfKTsKLSt9Ci0r Ci0gfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaCBiL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVy LmgKLWluZGV4IGQ0YWI5MzZlZS4uMWQyMmZjNTljIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXIuaAotKysr IGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4 dF93cml0ZXIuaAotQEAgLTMxNSw2ICszMTUsNDMgQEAgY2xhc3MgTWluaWR1bXBDb250ZXh0TUlQ UzY0V3JpdGVyIGZpbmFsIDogcHVibGljIE1pbmlkdW1wQ29udGV4dFdyaXRlciB7Ci0gICBNaW5p ZHVtcENvbnRleHRNSVBTNjQgY29udGV4dF87Ci0gfTsKLSAKLStjbGFzcyBNaW5pZHVtcENvbnRl eHRQUEM2NFdyaXRlciBmaW5hbCA6IHB1YmxpYyBNaW5pZHVtcENvbnRleHRXcml0ZXIgewotKyBw dWJsaWM6Ci0rICBNaW5pZHVtcENvbnRleHRQUEM2NFdyaXRlcigpOwotKyAgfk1pbmlkdW1wQ29u dGV4dFBQQzY0V3JpdGVyKCkgb3ZlcnJpZGU7Ci0rCi0rICAvLyEgXGJyaWVmIEluaXRhbGl6ZXMg dGhlIE1pbmlkdW1wQ29udGV4dFBQQzY0IGJhc2VkIG9uIFxhIGNvbnRleHRfc25hcHNob3QuCi0r ICAvLyEKLSsgIC8vISBccGFyYW1baW5dIGNvbnRleHRfc25hcHNob3QgVGhlIGNvbnRleHQgc25h cHNob3QgdG8gdXNlIGFzIHNvdXJjZSBkYXRhLgotKyAgLy8hCi0rICAvLyEgXG5vdGUgVmFsaWQg aW4gI2tTdGF0ZU11dGFibGUuIE5vIG11dGF0aW9uIG9mIGNvbnRleHQoKSBtYXkgYmUgZG9uZSBi ZWZvcmUKLSsgIC8vISAgICAgY2FsbGluZyB0aGlzIG1ldGhvZCwgYW5kIGl0IGlzIG5vdCBub3Jt YWxseSBuZWNlc3NhcnkgdG8gYWx0ZXIKLSsgIC8vISAgICAgY29udGV4dCgpIGFmdGVyIGNhbGxp bmcgdGhpcyBtZXRob2QuCi0rICB2b2lkIEluaXRhbGl6ZUZyb21TbmFwc2hvdChjb25zdCBDUFVD b250ZXh0UFBDNjQqIGNvbnRleHRfc25hcHNob3QpOwotKwotKyAgLy8hIFxicmllZiBSZXR1cm5z IGEgcG9pbnRlciB0byB0aGUgY29udGV4dCBzdHJ1Y3R1cmUgdGhhdCB0aGlzIG9iamVjdCB3aWxs Ci0rICAvLyEgICAgIHdyaXRlLgotKyAgLy8hCi0rICAvLyEgXGF0dGVudGlvbiBUaGlzIHJldHVy bnMgYSBub24tYGNvbnN0YCBwb2ludGVyIHRvIHRoaXMgb2JqZWN04oCZcyBwcml2YXRlCi0rICAv LyEgICAgIGRhdGEgc28gdGhhdCBhIGNhbGxlciBjYW4gcG9wdWxhdGUgdGhlIGNvbnRleHQgc3Ry dWN0dXJlIGRpcmVjdGx5LgotKyAgLy8hICAgICBUaGlzIGlzIGRvbmUgYmVjYXVzZSBwcm92aWRp bmcgc2V0dGVyIGludGVyZmFjZXMgdG8gZWFjaCBmaWVsZCBpbiB0aGUKLSsgIC8vISAgICAgY29u dGV4dCBzdHJ1Y3R1cmUgd291bGQgYmUgdW53aWVsZHkgYW5kIGN1bWJlcnNvbWUuIENhcmUgbXVz dCBiZSB0YWtlbgotKyAgLy8hICAgICB0byBwb3B1bGF0ZSB0aGUgY29udGV4dCBzdHJ1Y3R1cmUg Y29ycmVjdGx5LiBUaGUgY29udGV4dCBzdHJ1Y3R1cmUKLSsgIC8vISAgICAgbXVzdCBvbmx5IGJl IG1vZGlmaWVkIHdoaWxlIHRoaXMgb2JqZWN0IGlzIGluIHRoZSAja1N0YXRlTXV0YWJsZQotKyAg Ly8hICAgICBzdGF0ZS4KLSsgIE1pbmlkdW1wQ29udGV4dFBQQzY0KiBjb250ZXh0KCkgeyByZXR1 cm4gJmNvbnRleHRfOyB9Ci0rCi0rIHByb3RlY3RlZDoKLSsgIC8vIE1pbmlkdW1wV3JpdGFibGU6 Ci0rICBib29sIFdyaXRlT2JqZWN0KEZpbGVXcml0ZXJJbnRlcmZhY2UqIGZpbGVfd3JpdGVyKSBv dmVycmlkZTsKLSsKLSsgIC8vIE1pbmlkdW1wQ29udGV4dFdyaXRlcjoKLSsgIHNpemVfdCBDb250 ZXh0U2l6ZSgpIGNvbnN0IG92ZXJyaWRlOwotKwotKyBwcml2YXRlOgotKyAgTWluaWR1bXBDb250 ZXh0UFBDNjQgY29udGV4dF87Ci0rfTsKLSsKLSB9ICAvLyBuYW1lc3BhY2UgY3Jhc2hwYWQKLSAK LSAjZW5kaWYgIC8vIENSQVNIUEFEX01JTklEVU1QX01JTklEVU1QX0NPTlRFWFRfV1JJVEVSX0hf Ci1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWlu aWR1bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL21pbmlkdW1wL21pbmlkdW1wX2NvbnRleHRfd3JpdGVyX3Rlc3QuY2MKLWluZGV4IDMyMTZh OTA2Yi4uYTlmY2JlOWQ4IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hw YWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXJfdGVzdC5jYwotKysrIGIvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvbWluaWR1bXAvbWluaWR1bXBfY29udGV4dF93cml0ZXJf dGVzdC5jYwotQEAgLTIxMyw2ICsyMTMsMjEgQEAgVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIs IE1JUFM2NF9Gcm9tU25hcHNob3QpIHsKLSAgICAgICBjb250ZXh0LCBFeHBlY3RNaW5pZHVtcENv bnRleHRNSVBTNjQsIGtTZWVkKTsKLSB9Ci0gCi0rVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIs IFBQQzY0X1plcm9zKSB7Ci0rICBFbXB0eUNvbnRleHRUZXN0PE1pbmlkdW1wQ29udGV4dFBQQzY0 V3JpdGVyLCBNaW5pZHVtcENvbnRleHRQUEM2ND4oCi0rICAgIEV4cGVjdE1pbmlkdW1wQ29udGV4 dFBQQzY0KTsKLSt9Ci0rCi0rVEVTVChNaW5pZHVtcENvbnRleHRXcml0ZXIsIFBQQzY0X0Zyb21T bmFwc2hvdCkgewotKyAgY29uc3RleHByIHVpbnQzMl90IGtTZWVkID0gNjQ7Ci0rICBDUFVDb250 ZXh0UFBDNjQgY29udGV4dF9wcGM2NDsKLSsgIENQVUNvbnRleHQgY29udGV4dDsKLSsgIGNvbnRl eHQucHBjNjQgPSAmY29udGV4dF9wcGM2NDsKLSsgIEluaXRpYWxpemVDUFVDb250ZXh0UFBDNjQo JmNvbnRleHQsIGtTZWVkKTsKLSsgIEZyb21TbmFwc2hvdFRlc3Q8TWluaWR1bXBDb250ZXh0UFBD NjRXcml0ZXIsIE1pbmlkdW1wQ29udGV4dFBQQzY0PigKLSsgICAgICBjb250ZXh0LCBFeHBlY3RN aW5pZHVtcENvbnRleHRQUEM2NCwga1NlZWQpOwotK30KLSsKLSB9ICAvLyBuYW1lc3BhY2UKLSB9 ICAvLyBuYW1lc3BhY2UgdGVzdAotIH0gIC8vIG5hbWVzcGFjZSBjcmFzaHBhZAotZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2Nf aW5mb193cml0ZXIuY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9taW5pZHVtcC9t aW5pZHVtcF9taXNjX2luZm9fd3JpdGVyLmNjCi1pbmRleCAwOTc0ZTNkZGYuLmI3MWVjNTg4MCAx MDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL21pbmlkdW1wL21pbmlk dW1wX21pc2NfaW5mb193cml0ZXIuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNo cGFkL21pbmlkdW1wL21pbmlkdW1wX21pc2NfaW5mb193cml0ZXIuY2MKLUBAIC0xMzUsNiArMTM1 LDggQEAgc3RkOjpzdHJpbmcgTWluaWR1bXBNaXNjSW5mb0RlYnVnQnVpbGRTdHJpbmcoKSB7Ci0g ICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gIm1pcHMiOwotICNlbGlmIGRlZmluZWQo QVJDSF9DUFVfTUlQUzY0RUwpCi0gICBzdGF0aWMgY29uc3RleHByIGNoYXIga0NQVVtdID0gIm1p cHM2NCI7Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NCkKLSsgIHN0YXRpYyBjb25zdGV4 cHIgY2hhciBrQ1BVW10gPSAicHBjNjQiOwotICNlbHNlCi0gI2Vycm9yIGRlZmluZSBrQ1BVIGZv ciB0aGlzIENQVQotICNlbmRpZgotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY2FwdHVyZV9tZW1vcnkuY2MKLWluZGV4IDdhMWIyNzYzYy4uYmVk YThkYTllIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNo b3QvY2FwdHVyZV9tZW1vcnkuY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2NhcHR1cmVfbWVtb3J5LmNjCi1AQCAtMTEyLDYgKzExMiwxMSBAQCB2b2lkIENh cHR1cmVNZW1vcnk6OlBvaW50ZWRUb0J5Q29udGV4dChjb25zdCBDUFVDb250ZXh0JiBjb250ZXh0 LAotICAgZm9yIChzaXplX3QgaSA9IDA7IGkgPCBzdGQ6OnNpemUoY29udGV4dC5taXBzZWwtPnJl Z3MpOyArK2kpIHsKLSAgICAgTWF5YmVDYXB0dXJlTWVtb3J5QXJvdW5kKGRlbGVnYXRlLCBjb250 ZXh0Lm1pcHNlbC0+cmVnc1tpXSk7Ci0gICB9Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2 NF9GQU1JTFkpCi0rICBNYXliZUNhcHR1cmVNZW1vcnlBcm91bmQoZGVsZWdhdGUsIGNvbnRleHQu cHBjNjQtPm5pcCk7Ci0rICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHN0ZDo6c2l6ZShjb250ZXh0 LnBwYzY0LT5yZWdzKTsgKytpKSB7Ci0rICAgIE1heWJlQ2FwdHVyZU1lbW9yeUFyb3VuZChkZWxl Z2F0ZSwgY29udGV4dC5wcGM2NC0+cmVnc1tpXSk7Ci0rICB9Ci0gI2Vsc2UKLSAjZXJyb3IgUG9y dC4KLSAjZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9jcHVfYXJjaGl0ZWN0dXJlLmggYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9jcHVfYXJjaGl0ZWN0dXJlLmgKLWluZGV4IDgxMWE3MjA5NS4uZjRmODM5ODFk IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1 X2FyY2hpdGVjdHVyZS5oCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFw c2hvdC9jcHVfYXJjaGl0ZWN0dXJlLmgKLUBAIC00Myw3ICs0MywxMCBAQCBlbnVtIENQVUFyY2hp dGVjdHVyZSB7Ci0gICBrQ1BVQXJjaGl0ZWN0dXJlTUlQU0VMLAotIAotICAgLy8hIFxicmllZiA2 NC1iaXQgTUlQU0VMLgotLSAga0NQVUFyY2hpdGVjdHVyZU1JUFM2NEVMCi0rICBrQ1BVQXJjaGl0 ZWN0dXJlTUlQUzY0RUwsCi0rCi0rICAvLyEgXGJyaWVmIDY0LWJpdCBQUEM2NC4KLSsgIGtDUFVB cmNoaXRlY3R1cmVQUEM2NAotIH07Ci0gCi0gfSAgLy8gbmFtZXNwYWNlIGNyYXNocGFkCi1kaWZm IC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRl eHQuY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4 dC5jYwotaW5kZXggYzc1YjU1NTVlLi5hZWFkZTU3N2EgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0 eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9jcHVfY29udGV4dC5jYwotKysrIGIvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuY2MKLUBAIC0xNjks NiArMTY5LDggQEAgdWludDY0X3QgQ1BVQ29udGV4dDo6SW5zdHJ1Y3Rpb25Qb2ludGVyKCkgY29u c3QgewotICAgICAgIHJldHVybiBhcm0tPnBjOwotICAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVB Uk02NDoKLSAgICAgICByZXR1cm4gYXJtNjQtPnBjOwotKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1 cmVQUEM2NDoKLSsgICAgICByZXR1cm4gcHBjNjQtPm5pcDsKLSAgICAgZGVmYXVsdDoKLSAgICAg ICBOT1RSRUFDSEVEKCk7Ci0gICAgICAgcmV0dXJuIH4wdWxsOwotQEAgLTE4NSw2ICsxODcsOCBA QCB1aW50NjRfdCBDUFVDb250ZXh0OjpTdGFja1BvaW50ZXIoKSBjb25zdCB7Ci0gICAgICAgcmV0 dXJuIGFybS0+c3A7Ci0gICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZUFSTTY0OgotICAgICAgIHJl dHVybiBhcm02NC0+c3A7Ci0rICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVBQQzY0OgotKyAgICAg IHJldHVybiBwcGM2NC0+cmVnc1sxXTsKLSAgICAgZGVmYXVsdDoKLSAgICAgICBOT1RSRUFDSEVE KCk7Ci0gICAgICAgcmV0dXJuIH4wdWxsOwotQEAgLTE5Niw2ICsyMDAsNyBAQCBib29sIENQVUNv bnRleHQ6OklzNjRCaXQoKSBjb25zdCB7Ci0gICAgIGNhc2Uga0NQVUFyY2hpdGVjdHVyZVg4Nl82 NDoKLSAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlQVJNNjQ6Ci0gICAgIGNhc2Uga0NQVUFyY2hp dGVjdHVyZU1JUFM2NEVMOgotKyAgICBjYXNlIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDoKLSAgICAg ICByZXR1cm4gdHJ1ZTsKLSAgICAgY2FzZSBrQ1BVQXJjaGl0ZWN0dXJlWDg2OgotICAgICBjYXNl IGtDUFVBcmNoaXRlY3R1cmVBUk06Ci1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQv Y3Jhc2hwYWQvc25hcHNob3QvY3B1X2NvbnRleHQuaCBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2Ny YXNocGFkL3NuYXBzaG90L2NwdV9jb250ZXh0LmgKLWluZGV4IGZiMjNjNDY3OS4uZWViZWRlNjNj IDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvY3B1 X2NvbnRleHQuaAotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv Y3B1X2NvbnRleHQuaAotQEAgLTM1Miw2ICszNTIsMjQgQEAgc3RydWN0IENQVUNvbnRleHRNSVBT NjQgewotICAgdWludDY0X3QgZmlyOwotIH07Ci0gCi0rLy8hIFxicmllZiBBIGNvbnRleHQgc3Ry dWN0dXJlIGNhcnJ5aW5nIFBQQzY0IENQVSBzdGF0ZS4KLStzdHJ1Y3QgQ1BVQ29udGV4dFBQQzY0 IHsKLSsgIHVpbnQ2NF90IG5pcDsKLSsgIHVpbnQ2NF90IG1zcjsKLSsgIHVpbnQ2NF90IHJlZ3Nb MzJdOwotKyAgdWludDY0X3QgY2NyOwotKyAgdWludDY0X3QgeGVyOwotKyAgdWludDY0X3QgbG5r OwotKyAgdWludDY0X3QgY3RyOwotKyAgZG91YmxlIGZwcmVnc1szMl07Ci0rICBkb3VibGUgZnBz Y3I7Ci0rICBzdHJ1Y3QgewotKyAgICB1aW50MTI4X3N0cnVjdCBzYXZlX3ZyWzMyXTsKLSsgICAg dWludDEyOF9zdHJ1Y3Qgc2F2ZV92c2NyOwotKyAgICB1aW50MzJfdCBzYXZlX3Zyc2F2ZTsKLSsg IH0gdnJlZ3M7Ci0rfTsKLSsKLSAvLyEgXGJyaWVmIEEgY29udGV4dCBzdHJ1Y3R1cmUgY2FwYWJs ZSBvZiBjYXJyeWluZyB0aGUgY29udGV4dCBvZiBhbnkgc3VwcG9ydGVkCi0gLy8hICAgICBDUFUg YXJjaGl0ZWN0dXJlLgotIHN0cnVjdCBDUFVDb250ZXh0IHsKLUBAIC0zODIsNiArNDAwLDcgQEAg c3RydWN0IENQVUNvbnRleHQgewotICAgICBDUFVDb250ZXh0QVJNNjQqIGFybTY0OwotICAgICBD UFVDb250ZXh0TUlQUyogbWlwc2VsOwotICAgICBDUFVDb250ZXh0TUlQUzY0KiBtaXBzNjQ7Ci0r ICAgIENQVUNvbnRleHRQUEM2NCogcHBjNjQ7Ci0gICB9OwotIH07Ci0gCi1kaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRleHRf bGludXguaCBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2Nw dV9jb250ZXh0X2xpbnV4LmgKLWluZGV4IDlmNDZhNDg5Ny4uYWE2NzdjNGViIDEwMDY0NAotLS0t IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvY3B1X2NvbnRl eHRfbGludXguaAotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvY3B1X2NvbnRleHRfbGludXguaAotQEAgLTE1LDYgKzE1LDcgQEAKLSAjaWZuZGVmIENS QVNIUEFEX1NOQVBTSE9UX0xJTlVYX0NQVV9DT05URVhUX0xJTlVYX0hfCi0gI2RlZmluZSBDUkFT SFBBRF9TTkFQU0hPVF9MSU5VWF9DUFVfQ09OVEVYVF9MSU5VWF9IXwotIAotKyNpbmNsdWRlIDxj c3RyaW5nPgotICNpbmNsdWRlICJidWlsZC9idWlsZF9jb25maWcuaCIKLSAjaW5jbHVkZSAic25h cHNob3QvY3B1X2NvbnRleHQuaCIKLSAjaW5jbHVkZSAic25hcHNob3QvbGludXgvc2lnbmFsX2Nv bnRleHQuaCIKLUBAIC0xNzQsNiArMTc1LDc4IEBAIHZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRN SVBTKAotIAotICNlbmRpZiAgLy8gQVJDSF9DUFVfTUlQU19GQU1JTFkgfHwgRE9YWUdFTgotIAot KyNpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkgfHwgRE9YWUdFTgotKwotKy8vISBc YnJpZWYgSW5pdGFsaXplcyBhIENQVUNvbnRleHRQUEM2NCBzdHJ1Y3R1cmUgZnJvbSBuYXRpdmUg Y29udGV4dAotKy8vISAgICAgc3RydWN0dXJlcyBvbiBMaW51eC4KLSsvLyEKLSsvLyEgXHBhcmFt W2luXSB0aHJlYWRfY29udGV4dCBUaGUgbmF0aXZlIHRocmVhZCBjb250ZXh0LgotKy8vISBccGFy YW1baW5dIGZsb2F0X2NvbnRleHQgVGhlIG5hdGl2ZSBmbG9hdCBjb250ZXh0LgotKy8vISBccGFy YW1baW5dIHZlY3Rvcl9jb250ZXh0IFRoZSBuYXRpdmUgdmVjdG9yIGNvbnRleHQuCi0rLy8hIFxw YXJhbVtvdXRdIGNvbnRleHQgVGhlIENQVUNvbnRleHRQUEM2NCBzdHJ1Y3R1cmUgdG8gaW5pdGFs aXplLgotK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Ci0rdm9pZCBJbml0aWFsaXplQ1BVQ29u dGV4dFBQQzY0KAotKyAgICBjb25zdCBUaHJlYWRDb250ZXh0Ojp0NjRfdCYgdGhyZWFkX2NvbnRl eHQsCi0rICAgIGNvbnN0IEZsb2F0Q29udGV4dDo6ZjY0X3QmIGZsb2F0X2NvbnRleHQsCi0rICAg IGNvbnN0IFZlY3RvckNvbnRleHQ6OnY2NF90JiB2ZWN0b3JfY29udGV4dCwKLSsgICAgdHlwZW5h bWUgVHJhaXRzOjpDUFVDb250ZXh0KiBjb250ZXh0KSB7Ci0rCi0rICBtZW1jcHkoY29udGV4dC0+ cmVncywgdGhyZWFkX2NvbnRleHQuZ3ByLCBzaXplb2YoY29udGV4dC0+cmVncykpOwotKyAgY29u dGV4dC0+bmlwID0gdGhyZWFkX2NvbnRleHQubmlwOwotKyAgY29udGV4dC0+bXNyID0gdGhyZWFk X2NvbnRleHQubXNyOwotKyAgY29udGV4dC0+Y2NyID0gdGhyZWFkX2NvbnRleHQuY2NyOwotKyAg Y29udGV4dC0+eGVyID0gdGhyZWFkX2NvbnRleHQueGVyOwotKyAgY29udGV4dC0+bG5rID0gdGhy ZWFkX2NvbnRleHQubG5rOwotKyAgY29udGV4dC0+Y3RyID0gdGhyZWFkX2NvbnRleHQuY3RyOwot KwotKyAgbWVtY3B5KGNvbnRleHQtPmZwcmVncywgZmxvYXRfY29udGV4dC5mcHJlZ3MsIHNpemVv Zihjb250ZXh0LT5mcHJlZ3MpKTsKLSsgIGNvbnRleHQtPmZwc2NyID0gZmxvYXRfY29udGV4dC5m cHNjcjsKLSsKLSsgIGZvciAodWludDhfdCBpID0gMDsgaSA8IDMyOyBpKyspIHsKLSsgICAgY29u dGV4dC0+dnJlZ3Muc2F2ZV92cltpXSA9IHsKLSsgICAgICAoKCh1aW50NjRfdCl2ZWN0b3JfY29u dGV4dC52cnJlZ3NbaV1bMF0pIDw8IDMyKSB8Ci0rICAgICAgICB2ZWN0b3JfY29udGV4dC52cnJl Z3NbaV1bMV0sCi0rICAgICAgKCgodWludDY0X3QpdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzJd KSA8PCAzMikgfAotKyAgICAgICAgdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzNdCi0rICAgIH07 Ci0rICB9Ci0rICBjb250ZXh0LT52cmVncy5zYXZlX3Zyc2F2ZSA9IHZlY3Rvcl9jb250ZXh0LnZy c2F2ZTsKLSsgIGNvbnRleHQtPnZyZWdzLnNhdmVfdnNjciA9IHswLCAodWludDY0X3QpdmVjdG9y X2NvbnRleHQudnNjci52c2NyX3dvcmR9OwotK30KLSsKLSt0ZW1wbGF0ZSA8dHlwZW5hbWUgVHJh aXRzPgotK3ZvaWQgSW5pdGlhbGl6ZUNQVUNvbnRleHRQUEM2NCgKLSsgICAgY29uc3QgU2lnbmFs VGhyZWFkQ29udGV4dDY0ICZ0aHJlYWRfY29udGV4dCwKLSsgICAgY29uc3QgU2lnbmFsRmxvYXRD b250ZXh0NjQgJmZsb2F0X2NvbnRleHQsCi0rICAgIGNvbnN0IFNpZ25hbFZlY3RvckNvbnRleHQ2 NCAmdmVjdG9yX2NvbnRleHQsCi0rICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogY29u dGV4dCkgewotKwotKyAgbWVtY3B5KGNvbnRleHQtPnJlZ3MsIHRocmVhZF9jb250ZXh0LnJlZ3Ms IHNpemVvZihjb250ZXh0LT5yZWdzKSk7Ci0rICBjb250ZXh0LT5uaXAgPSB0aHJlYWRfY29udGV4 dC5uaXA7Ci0rICBjb250ZXh0LT5tc3IgPSB0aHJlYWRfY29udGV4dC5tc3I7Ci0rICBjb250ZXh0 LT5jY3IgPSB0aHJlYWRfY29udGV4dC5jY3I7Ci0rICBjb250ZXh0LT54ZXIgPSB0aHJlYWRfY29u dGV4dC54ZXI7Ci0rICBjb250ZXh0LT5sbmsgPSB0aHJlYWRfY29udGV4dC5sbms7Ci0rICBjb250 ZXh0LT5jdHIgPSB0aHJlYWRfY29udGV4dC5jdHI7Ci0rCi0rICBtZW1jcHkoY29udGV4dC0+ZnBy ZWdzLCBmbG9hdF9jb250ZXh0LnJlZ3MsIHNpemVvZihjb250ZXh0LT5mcHJlZ3MpKTsKLSsgIGNv bnRleHQtPmZwc2NyID0gZmxvYXRfY29udGV4dC5mcHNjcjsKLSsKLSsgIGZvciAodWludDhfdCBp ID0gMDsgaSA8IDMyOyBpKyspIHsKLSsgICAgY29udGV4dC0+dnJlZ3Muc2F2ZV92cltpXSA9IHsK LSsgICAgICAoKCh1aW50NjRfdCl2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMF0pIDw8IDMyKSB8 Ci0rICAgICAgICB2ZWN0b3JfY29udGV4dC52cnJlZ3NbaV1bMV0sCi0rICAgICAgKCgodWludDY0 X3QpdmVjdG9yX2NvbnRleHQudnJyZWdzW2ldWzJdKSA8PCAzMikgfAotKyAgICAgICAgdmVjdG9y X2NvbnRleHQudnJyZWdzW2ldWzNdCi0rICAgIH07Ci0rICB9Ci0rICBjb250ZXh0LT52cmVncy5z YXZlX3Zyc2F2ZSA9IHZlY3Rvcl9jb250ZXh0LnZyc2F2ZTsKLSsgIGNvbnRleHQtPnZyZWdzLnNh dmVfdnNjciA9IHswLCAodWludDY0X3QpdmVjdG9yX2NvbnRleHQudnNjci52c2NyX3dvcmR9Owot K30KLSsKLSsKLSsjZW5kaWYKLSsKLSB9ICAvLyBuYW1lc3BhY2UgaW50ZXJuYWwKLSB9ICAvLyBu YW1lc3BhY2UgY3Jhc2hwYWQKLSAKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MgYi90aGlyZF9w YXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9kZWJ1Z19yZW5kZXp2b3VzX3Rl c3QuY2MKLWluZGV4IGQzMmJkMTkzNy4uMmRkNTM4YzJiIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFy dHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZGVidWdfcmVuZGV6dm91c190ZXN0 LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9k ZWJ1Z19yZW5kZXp2b3VzX3Rlc3QuY2MKLUBAIC0xOTIsNiArMTkyLDggQEAgdm9pZCBUZXN0QWdh aW5zdFRhcmdldChQdHJhY2VDb25uZWN0aW9uKiBjb25uZWN0aW9uKSB7Ci0gICAgICAgICAgICAg ICBkZXZpY2UgPT0gMCAmJiBpbm9kZSA9PSAwICYmIG1hcHBpbmdfbmFtZSA9PSAiW3Zkc29dIjsK LSAjaWYgZGVmaW5lZChBUkNIX0NQVV9YODYpCi0gICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIg Y2hhciBrUHJlZml4W10gPSAibGludXgtZ2F0ZS5zby4iOwotKyNlbGlmIGRlZmluZWQoQVJDSF9D UFVfUFBDNjQpCi0rICAgICAgICAgIHN0YXRpYyBjb25zdGV4cHIgY2hhciBrUHJlZml4W10gPSAi bGludXgtdmRzbzY0LnNvLiI7Ci0gI2Vsc2UKLSAgICAgICAgICAgc3RhdGljIGNvbnN0ZXhwciBj aGFyIGtQcmVmaXhbXSA9ICJsaW51eC12ZHNvLnNvLiI7Ci0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3Nu YXBzaG90X2xpbnV4LmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNjCi1pbmRleCBjZDQwYjNiMTIuLjZiY2Yy M2I2ZiAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90 L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9saW51eC5jYwotKysrIGIvdGhpcmRfcGFydHkvY3Jh c2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0aW9uX3NuYXBzaG90X2xpbnV4LmNj Ci1AQCAtMzIzLDYgKzMyMyw2OSBAQCBib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRD b250ZXh0PENvbnRleHRUcmFpdHM2ND4oCi0gICAgICAgcmVhZGVyLCBjb250ZXh0X2FkZHJlc3Ms IGNvbnRleHRfLm1pcHM2NCk7Ci0gfQotIAotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRf RkFNSUxZKQotKwotK3RlbXBsYXRlIDx0eXBlbmFtZSBUcmFpdHM+Ci0rc3RhdGljIGJvb2wgUmVh ZENvbnRleHQoUHJvY2Vzc1JlYWRlckxpbnV4KiByZWFkZXIsCi0rICAgICAgICAgICAgICAgICAg ICAgICAgTGludXhWTUFkZHJlc3MgY29udGV4dF9hZGRyZXNzLAotKyAgICAgICAgICAgICAgICAg ICAgICAgIHR5cGVuYW1lIFRyYWl0czo6Q1BVQ29udGV4dCogZGVzdF9jb250ZXh0KSB7Ci0rICBj b25zdCBQcm9jZXNzTWVtb3J5KiBtZW1vcnkgPSByZWFkZXItPk1lbW9yeSgpOwotKwotKyAgTGlu dXhWTUFkZHJlc3MgZ3BfcmVnc19hZGRyZXNzID0gY29udGV4dF9hZGRyZXNzICsKLSsgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0LCBtY29udGV4dCkg KwotKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zmc2V0b2YodHlwZW5hbWUg VHJhaXRzOjpNQ29udGV4dCwgZ3BfcmVncyk7Ci0rCi0rICB0eXBlbmFtZSBUcmFpdHM6OlNpZ25h bFRocmVhZENvbnRleHQgdGhyZWFkX2NvbnRleHQ7Ci0rICBpZiAoIW1lbW9yeS0+UmVhZChncF9y ZWdzX2FkZHJlc3MsIHNpemVvZih0aHJlYWRfY29udGV4dCksICZ0aHJlYWRfY29udGV4dCkpIHsK LSsgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCBncF9yZWdzISI7Ci0rICAgIHJldHVy biBmYWxzZTsKLSsgIH0KLSsKLSsgIExpbnV4Vk1BZGRyZXNzIGZwX3JlZ3NfYWRkcmVzcyA9IGNv bnRleHRfYWRkcmVzcyArCi0rICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBvZmZz ZXRvZihVQ29udGV4dCwgbWNvbnRleHQpICsKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgIG9mZnNldG9mKHR5cGVuYW1lIFRyYWl0czo6TUNvbnRleHQsIGZwX3JlZ3MpOwotKwot KyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxGbG9hdENvbnRleHQgZnBfY29udGV4dDsKLSsgIGlm ICghbWVtb3J5LT5SZWFkKGZwX3JlZ3NfYWRkcmVzcywgc2l6ZW9mKGZwX2NvbnRleHQpLCAmZnBf Y29udGV4dCkpIHsKLSsgICAgTE9HKEVSUk9SKSA8PCAiQ291bGRuJ3QgcmVhZCBmcF9yZWdzISI7 Ci0rICAgIHJldHVybiBmYWxzZTsKLSsgIH0KLSsKLSsgIExpbnV4Vk1BZGRyZXNzIHZfcmVnc19w dHJfYWRkcmVzcyA9IGNvbnRleHRfYWRkcmVzcyArCi0rICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG9mZnNldG9mKFVDb250ZXh0LCBtY29udGV4dCkgKwotKyAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBvZmZzZXRvZih0eXBlbmFtZSBUcmFpdHM6Ok1Db250ZXh0LCB2 bXhfcmVzZXJ2ZSkgKyA4OwotKwotKyAgdHlwZW5hbWUgVHJhaXRzOjpTaWduYWxWZWN0b3JDb250 ZXh0IHZfY29udGV4dDsKLSsgIGlmICghbWVtb3J5LT5SZWFkKHZfcmVnc19wdHJfYWRkcmVzcywg c2l6ZW9mKHZfY29udGV4dCksICZ2X2NvbnRleHQpKSB7Ci0rICAgIExPRyhFUlJPUikgPDwgIkNv dWxkbid0IHJlYWQgdl9yZWdzISI7Ci0rICAgIHJldHVybiBmYWxzZTsKLSsgIH0KLSsKLSsgIElu aXRpYWxpemVDUFVDb250ZXh0UFBDNjQ8Q29udGV4dFRyYWl0czY0Pih0aHJlYWRfY29udGV4dCwg ZnBfY29udGV4dCwKLSsgICAgICAgICAgICAgICAgICAgICAgICAgICAgdl9jb250ZXh0LCBkZXN0 X2NvbnRleHQpOwotKwotKyAgcmV0dXJuIHRydWU7Ci0rfQotKwotK3RlbXBsYXRlPD4KLStib29s IEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRUcmFpdHM2ND4oCi0r ICAgIFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAotKyAgICBMaW51eFZNQWRkcmVzcyBjb250 ZXh0X2FkZHJlc3MpIHsKLSsgIGNvbnRleHRfLmFyY2hpdGVjdHVyZSA9IGtDUFVBcmNoaXRlY3R1 cmVQUEM2NDsKLSsgIGNvbnRleHRfLnBwYzY0ID0gJmNvbnRleHRfdW5pb25fLnBwYzY0OwotKwot KyAgcmV0dXJuIGludGVybmFsOjpSZWFkQ29udGV4dDxDb250ZXh0VHJhaXRzNjQ+KAotKyAgICAg IHJlYWRlciwgY29udGV4dF9hZGRyZXNzLCBjb250ZXh0Xy5wcGM2NCk7Ci0rfQotKwotK3RlbXBs YXRlPD4KLStib29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OlJlYWRDb250ZXh0PENvbnRleHRU cmFpdHMzMj4oCi0rICAgIFByb2Nlc3NSZWFkZXJMaW51eCogcmVhZGVyLAotKyAgICBMaW51eFZN QWRkcmVzcyBjb250ZXh0X2FkZHJlc3MpIHsKLSsgIC8vIFBQQzY0IGlzIDY0LWJpdAotKyAgcmV0 dXJuIGZhbHNlOwotK30KLSsKLSAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKLSAKLSBi b29sIEV4Y2VwdGlvblNuYXBzaG90TGludXg6OkluaXRpYWxpemUoUHJvY2Vzc1JlYWRlckxpbnV4 KiBwcm9jZXNzX3JlYWRlciwKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFz aHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaCBiL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9s aW51eC5oCi1pbmRleCBlYTBjZDIxMDYuLmU0MmRmNTIwZiAxMDA2NDQKLS0tLSBhL3RoaXJkX3Bh cnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L2V4Y2VwdGlvbl9zbmFwc2hvdF9s aW51eC5oCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9leGNlcHRpb25fc25hcHNob3RfbGludXguaAotQEAgLTg0LDYgKzg0LDggQEAgY2xhc3MgRXhj ZXB0aW9uU25hcHNob3RMaW51eCBmaW5hbCA6IHB1YmxpYyBFeGNlcHRpb25TbmFwc2hvdCB7Ci0g I2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKLSAgICAgQ1BVQ29udGV4dE1JUFMg bWlwc2VsOwotICAgICBDUFVDb250ZXh0TUlQUzY0IG1pcHM2NDsKLSsjZWxpZiBkZWZpbmVkKEFS Q0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgICAgQ1BVQ29udGV4dFBQQzY0IHBwYzY0OwotICNlbmRp ZgotICAgfSBjb250ZXh0X3VuaW9uXzsKLSAgIENQVUNvbnRleHQgY29udGV4dF87Ci1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0 aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBh ZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXhfdGVzdC5jYwotaW5kZXgg YzE3MTcwYjQzLi5iNmE3MTRjYzYgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC9zbmFwc2hvdC9saW51eC9leGNlcHRpb25fc25hcHNob3RfbGludXhfdGVzdC5jYwot KysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvZXhjZXB0 aW9uX3NuYXBzaG90X2xpbnV4X3Rlc3QuY2MKLUBAIC0yOTYsNyArMjk2LDI4IEBAIHZvaWQgRXhw ZWN0Q29udGV4dChjb25zdCBDUFVDb250ZXh0JiBhY3R1YWwsIGNvbnN0IE5hdGl2ZUNQVUNvbnRl eHQmIGV4cGVjdGVkKSB7Ci0gICAgICAgICAgICAgMCk7Ci0gI3VuZGVmIENQVV9BUkNIX05BTUUK LSB9Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rdXNpbmcgTmF0aXZl Q1BVQ29udGV4dCA9IHVjb250ZXh0X3Q7Ci0rCi0rdm9pZCBJbml0aWFsaXplQ29udGV4dChOYXRp dmVDUFVDb250ZXh0KiBjb250ZXh0KSB7Ci0rICBmb3IgKHNpemVfdCByZWcgPSAwOyByZWcgPCAz MjsgKytyZWcpIHsKLSsgICAgY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tyZWddID0gcmVn OwotKyAgfQotKwotKyAgbWVtc2V0KCZjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzLCA0NCwK LSsgICAgICBzaXplb2YoY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVncykpOwotK30KLSAKLSt2 b2lkIEV4cGVjdENvbnRleHQoY29uc3QgQ1BVQ29udGV4dCYgYWN0dWFsLCBjb25zdCBOYXRpdmVD UFVDb250ZXh0JiBleHBlY3RlZCkgewotKyAgRVhQRUNUX0VRKGFjdHVhbC5hcmNoaXRlY3R1cmUs IGtDUFVBcmNoaXRlY3R1cmVQUEM2NCk7Ci0rCi0rICBmb3IgKHNpemVfdCByZWcgPSAwOyByZWcg PCAzMjsgKytyZWcpIHsKLSsgICAgRVhQRUNUX0VRKGFjdHVhbC5wcGM2NC0+cmVnc1tyZWddLCBl eHBlY3RlZC51Y19tY29udGV4dC5ncF9yZWdzW3JlZ10pOwotKyAgfQotKwotKyAgRVhQRUNUX0VR KG1lbWNtcChhY3R1YWwucHBjNjQtPmZwcmVncywgZXhwZWN0ZWQudWNfbWNvbnRleHQuZnBfcmVn cywKLSsgICAgICAgICAgICBzaXplb2YoYWN0dWFsLnBwYzY0LT5mcHJlZ3MpKSwgMCk7Ci0rfQot ICNlbHNlCi0gI2Vycm9yIFBvcnQuCi0gI2VuZGlmCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkv Y3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3QvbGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2Mg Yi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3Jl YWRlcl9saW51eC5jYwotaW5kZXggZWUyNDZlOGJjLi45NTU1ZGNlMDQgMTAwNjQ0Ci0tLS0gYS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9wcm9jZXNzX3JlYWRl cl9saW51eC5jYwotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvcHJvY2Vzc19yZWFkZXJfbGludXguY2MKLUBAIC0xMDgsNiArMTA4LDggQEAgdm9pZCBQ cm9jZXNzUmVhZGVyTGludXg6OlRocmVhZDo6SW5pdGlhbGl6ZVN0YWNrKFByb2Nlc3NSZWFkZXJM aW51eCogcmVhZGVyKSB7Ci0gI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkKLSAg IHN0YWNrX3BvaW50ZXIgPSByZWFkZXItPklzNjRCaXQoKSA/IHRocmVhZF9pbmZvLnRocmVhZF9j b250ZXh0LnQ2NC5yZWdzWzI5XQotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg IDogdGhyZWFkX2luZm8udGhyZWFkX2NvbnRleHQudDMyLnJlZ3NbMjldOwotKyNlbGlmIGRlZmlu ZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAgc3RhY2tfcG9pbnRlciA9IHRocmVhZF9pbmZv LnRocmVhZF9jb250ZXh0LnQ2NC5ncHJbMV07Ci0gI2Vsc2UKLSAjZXJyb3IgUG9ydC4KLSAjZW5k aWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9s aW51eC9zaWduYWxfY29udGV4dC5oIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25h cHNob3QvbGludXgvc2lnbmFsX2NvbnRleHQuaAotaW5kZXggMTEwMDI0NjgwLi5hMWYyZGEyNTkg MTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC9zaWduYWxfY29udGV4dC5oCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9z bmFwc2hvdC9saW51eC9zaWduYWxfY29udGV4dC5oCi1AQCAtNDIyLDYgKzQyMiw4OSBAQCBzdGF0 aWNfYXNzZXJ0KG9mZnNldG9mKFVDb250ZXh0PENvbnRleHRUcmFpdHM2ND4sIG1jb250ZXh0LmZw cmVncykgPT0KLSAgICAgICAgICAgICAgICJjb250ZXh0IG9mZnNldCBtaXNtYXRjaCIpOwotICNl bmRpZgotIAotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKwotK3N0cnVj dCBTaWduYWxUaHJlYWRDb250ZXh0NjQgewotKyAgdWludDY0X3QgcmVnc1szMl07Ci0rICB1aW50 NjRfdCBuaXA7Ci0rICB1aW50NjRfdCBtc3I7Ci0rICB1aW50NjRfdCBvcmlnX3IzOwotKyAgdWlu dDY0X3QgY3RyOwotKyAgdWludDY0X3QgbG5rOwotKyAgdWludDY0X3QgeGVyOwotKyAgdWludDY0 X3QgY2NyOwotKyAgdWludDY0X3Qgc29mdGU7Ci0rICB1aW50NjRfdCB0cmFwOwotKyAgdWludDY0 X3QgZGFyOwotKyAgdWludDY0X3QgZHNpc3I7Ci0rICB1aW50NjRfdCByZXN1bHQ7Ci0rICB1aW50 NjRfdCBkc2NyOwotKyAgdWludDY0X3QgZnByMFszXTsKLSt9OwotKwotK3N0cnVjdCBTaWduYWxG bG9hdENvbnRleHQ2NCB7Ci0rICBkb3VibGUgcmVnc1szMl07Ci0rICBkb3VibGUgZnBzY3I7Ci0r fTsKLSsKLStzdHJ1Y3QgU2lnbmFsVmVjdG9yQ29udGV4dDY0IHsKLSsgIGludDMyX3QgdnJyZWdz WzMyXVs0XTsKLSsgIHN0cnVjdCB7Ci0rICAgIGludDMyX3QgX19wYWRbM107Ci0rICAgIGludDMy X3QgdnNjcl93b3JkOwotKyAgfSB2c2NyOwotKyAgaW50MzJfdCB2cnNhdmU7Ci0rICBpbnQzMl90 IF9fcGFkWzNdOwotK30gX19hdHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMTYpKSk7Ci0rCi0rCi0r I3ByYWdtYSBwYWNrKHBvcCkKLStzdHJ1Y3QgTUNvbnRleHQ2NCB7Ci0rICB1aW50NjRfdCByZXNl cnZlZFs0XTsKLSsgIGludDMyX3Qgc2lnbmFsOwotKyAgaW50MzJfdCBfX3BhZDA7Ci0rICB1aW50 NjRfdCBoYW5kbGVyOwotKyAgdWludDY0X3Qgb2xkbWFzazsKLSsgIHVpbnQ2NF90IHB0X3JlZ3Nf cHRyOwotKyAgU2lnbmFsVGhyZWFkQ29udGV4dDY0IGdwX3JlZ3M7Ci0rICBTaWduYWxGbG9hdENv bnRleHQ2NCAgZnBfcmVnczsKLSsgIFNpZ25hbFZlY3RvckNvbnRleHQ2NCAqdl9yZWdzOwotKyAg aW50NjRfdCB2bXhfcmVzZXJ2ZVs2OV07Ci0rfTsKLSsKLStzdHJ1Y3QgQ29udGV4dFRyYWl0czY0 IDogcHVibGljIFRyYWl0czY0IHsKLSsgIHVzaW5nIE1Db250ZXh0ID0gTUNvbnRleHQ2NDsKLSsg IHVzaW5nIFNpZ25hbFRocmVhZENvbnRleHQgPSBTaWduYWxUaHJlYWRDb250ZXh0NjQ7Ci0rICB1 c2luZyBTaWduYWxGbG9hdENvbnRleHQgPSBTaWduYWxGbG9hdENvbnRleHQ2NDsKLSsgIHVzaW5n IFNpZ25hbFZlY3RvckNvbnRleHQgPSBTaWduYWxWZWN0b3JDb250ZXh0NjQ7Ci0rICB1c2luZyBD UFVDb250ZXh0ID0gQ1BVQ29udGV4dFBQQzY0OwotK307Ci0rCi0rc3RydWN0IENvbnRleHRUcmFp dHMzMiA6IHB1YmxpYyBUcmFpdHMzMiB7fTsKLSsKLStzdHJ1Y3QgVUNvbnRleHQgewotKyAgdWlu dDY0X3QgZmxhZ3M7Ci0rICB1aW50NjRfdCBsaW5rOwotKyAgU2lnbmFsU3RhY2s8Q29udGV4dFRy YWl0czY0PiBzdGFjazsKLSsgIFNpZ3NldDxDb250ZXh0VHJhaXRzNjQ+IHNpZ21hc2s7Ci0rICBN Q29udGV4dDY0IG1jb250ZXh0OwotK307Ci0rI3ByYWdtYSBwYWNrKHB1c2gsIDEpCi0rCi0rc3Rh dGljX2Fzc2VydChzaXplb2YoVUNvbnRleHQpID09IHNpemVvZih1Y29udGV4dF90KSwKLSsgICAg ICAgICAgICAgICJ1Y29udGV4dF90IHNpemUgbWlzbWF0Y2giKTsKLStzdGF0aWNfYXNzZXJ0KHNp emVvZihNQ29udGV4dDY0KSA9PSBzaXplb2YobWNvbnRleHRfdCksCi0rICAgICAgICAgICAgICAi bWNvbnRleHRfdCBzaXplIG1pc21hdGNoIik7Ci0rc3RhdGljX2Fzc2VydChzaXplb2YoU2lnbmFs VGhyZWFkQ29udGV4dDY0KSA9PSBzaXplb2YoZ3JlZ3NldF90KSwKLSsgICAgICAgICAgICAgICJn cmVnc2V0X3Qgc2l6ZSBtaXNtYXRjaCIpOwotK3N0YXRpY19hc3NlcnQoc2l6ZW9mKFNpZ25hbEZs b2F0Q29udGV4dDY0KSA9PSBzaXplb2YoZnByZWdzZXRfdCksCi0rICAgICAgICAgICAgICAiZnBy ZWdzZXRfdCBzaXplIG1pc21hdGNoIik7Ci0rc3RhdGljX2Fzc2VydChzaXplb2YoU2lnbmFsVmVj dG9yQ29udGV4dDY0KSA9PSBzaXplb2YodnJyZWdzZXRfdCksCi0rICAgICAgICAgICAgICAidnJy ZWdzZXRfdCBzaXplIG1pc21hdGNoIik7Ci0rc3RhdGljX2Fzc2VydChvZmZzZXRvZihVQ29udGV4 dCwgbWNvbnRleHQpID09Ci0rICAgICAgICAgICAgICBvZmZzZXRvZih1Y29udGV4dF90LCB1Y19t Y29udGV4dCksICJtY29udGV4dCBvZmZzZXQgbWlzbWF0Y2giKTsKLStzdGF0aWNfYXNzZXJ0KG9m ZnNldG9mKE1Db250ZXh0NjQsIGdwX3JlZ3MpID09Ci0rICAgICAgICAgICAgICBvZmZzZXRvZiht Y29udGV4dF90LCBncF9yZWdzKSwgImdwX3JlZ3Mgb2Zmc2V0IG1pc21hdGNoIik7Ci0gI2Vsc2UK LSAjZXJyb3IgUG9ydC4KLSAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4Nl9GQU1JTFkKLWRpZmYgLS1n aXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1f c25hcHNob3RfbGludXguY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hv dC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKLWluZGV4IGE5OWRhM2U0Yi4uMDNiOTcz MDgzIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvc25hcHNob3Qv bGludXgvc3lzdGVtX3NuYXBzaG90X2xpbnV4LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC9zeXN0ZW1fc25hcHNob3RfbGludXguY2MKLUBAIC0y MDQsNiArMjA0LDggQEAgQ1BVQXJjaGl0ZWN0dXJlIFN5c3RlbVNuYXBzaG90TGludXg6OkdldENQ VUFyY2hpdGVjdHVyZSgpIGNvbnN0IHsKLSAjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFN SUxZKQotICAgcmV0dXJuIHByb2Nlc3NfcmVhZGVyXy0+SXM2NEJpdCgpID8ga0NQVUFyY2hpdGVj dHVyZU1JUFM2NEVMCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiBrQ1BV QXJjaGl0ZWN0dXJlTUlQU0VMOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZ KQotKyAgcmV0dXJuIGtDUFVBcmNoaXRlY3R1cmVQUEM2NDsKLSAjZWxzZQotICNlcnJvciBwb3J0 IHRvIHlvdXIgYXJjaGl0ZWN0dXJlCi0gI2VuZGlmCi1AQCAtMjE5LDYgKzIyMSw5IEBAIHVpbnQz Ml90IFN5c3RlbVNuYXBzaG90TGludXg6OkNQVVJldmlzaW9uKCkgY29uc3QgewotICNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0gICAvLyBOb3QgaW1wbGVtZW50YWJsZSBvbiBN SVBTCi0gICByZXR1cm4gMDsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkK LSsgIC8vIE5vdCB5ZXQgaW1wbGVtZW50ZWQgb24gUFBDNjQKLSsgIHJldHVybiAwOwotICNlbHNl Ci0gI2Vycm9yIHBvcnQgdG8geW91ciBhcmNoaXRlY3R1cmUKLSAjZW5kaWYKLUBAIC0yMzksNiAr MjQ0LDkgQEAgc3RkOjpzdHJpbmcgU3lzdGVtU25hcHNob3RMaW51eDo6Q1BVVmVuZG9yKCkgY29u c3QgewotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0gICAvLyBOb3QgaW1w bGVtZW50YWJsZSBvbiBNSVBTCi0gICByZXR1cm4gc3RkOjpzdHJpbmcoKTsKLSsjZWxpZiBkZWZp bmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIC8vIE5vdCB5ZXQgaW1wbGVtZW50ZWQgb24g UFBDNjQKLSsgIHJldHVybiBzdGQ6OnN0cmluZygpOwotICNlbHNlCi0gI2Vycm9yIHBvcnQgdG8g eW91ciBhcmNoaXRlY3R1cmUKLSAjZW5kaWYKLUBAIC0zNzIsNiArMzgwLDkgQEAgYm9vbCBTeXN0 ZW1TbmFwc2hvdExpbnV4OjpOWEVuYWJsZWQoKSBjb25zdCB7Ci0gI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkKLSAgIC8vIE5vdCBpbXBsZW1lbnRhYmxlIG9uIE1JUFMKLSAgIHJl dHVybiBmYWxzZTsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIC8v IE5vdCB5ZXQgaW1wbGVtZW50ZWQgb24gUFBDNjQKLSsgIHJldHVybiBmYWxzZTsKLSAjZWxzZQot ICNlcnJvciBQb3J0LgotICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQotZGlmZiAtLWdp dCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Rlc3RfbW9k dWxlcy5jYyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Rl c3RfbW9kdWxlcy5jYwotaW5kZXggYjI0NTBjMjA2Li43YmE3OGIyYWUgMTAwNjQ0Ci0tLS0gYS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90ZXN0X21vZHVsZXMu Y2MKLSsrKyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3Rl c3RfbW9kdWxlcy5jYwotQEAgLTExMCw2ICsxMTAsOCBAQCBib29sIFdyaXRlVGVzdE1vZHVsZShj b25zdCBiYXNlOjpGaWxlUGF0aCYgbW9kdWxlX3BhdGgsCi0gICBtb2R1bGUuZWhkci5lX21hY2hp bmUgPSBFTV9BQVJDSDY0OwotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfTUlQU0VMKSB8fCBkZWZp bmVkKEFSQ0hfQ1BVX01JUFM2NEVMKQotICAgbW9kdWxlLmVoZHIuZV9tYWNoaW5lID0gRU1fTUlQ UzsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0KQotKyAgbW9kdWxlLmVoZHIuZV9tYWNo aW5lID0gRU1fUFBDNjQ7Ci0gI2VuZGlmCi0gCi0gICBtb2R1bGUuZWhkci5lX3ZlcnNpb24gPSBF Vl9DVVJSRU5UOwotZGlmZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5jYyBiL3RoaXJkX3BhcnR5L2NyYXNo cGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5jYwotaW5k ZXggZTNlMmJlYmRkLi44ZWY0Mzc1MmUgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBh ZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguY2MKLSsrKyBi L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFw c2hvdF9saW51eC5jYwotQEAgLTE4Niw2ICsxODYsMTQgQEAgYm9vbCBUaHJlYWRTbmFwc2hvdExp bnV4OjpJbml0aWFsaXplKFByb2Nlc3NSZWFkZXJMaW51eCogcHJvY2Vzc19yZWFkZXIsCi0gICAg ICAgICB0aHJlYWQudGhyZWFkX2luZm8uZmxvYXRfY29udGV4dC5mMzIsCi0gICAgICAgICBjb250 ZXh0Xy5taXBzZWwpOwotICAgfQotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZ KQotKyAgY29udGV4dF8uYXJjaGl0ZWN0dXJlID0ga0NQVUFyY2hpdGVjdHVyZVBQQzY0OwotKyAg Y29udGV4dF8ucHBjNjQgPSAmY29udGV4dF91bmlvbl8ucHBjNjQ7Ci0rICBJbml0aWFsaXplQ1BV Q29udGV4dFBQQzY0PENvbnRleHRUcmFpdHM2ND4oCi0rICAgICAgdGhyZWFkLnRocmVhZF9pbmZv LnRocmVhZF9jb250ZXh0LnQ2NCwKLSsgICAgICB0aHJlYWQudGhyZWFkX2luZm8uZmxvYXRfY29u dGV4dC5mNjQsCi0rICAgICAgdGhyZWFkLnRocmVhZF9pbmZvLnZlY3Rvcl9jb250ZXh0LnY2NCwK LSsgICAgICBjb250ZXh0Xy5wcGM2NCk7Ci0gI2Vsc2UKLSAjZXJyb3IgUG9ydC4KLSAjZW5kaWYK LWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51 eC90aHJlYWRfc25hcHNob3RfbGludXguaCBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFk L3NuYXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCi1pbmRleCA0NGNjNmY2ZDku LmQ0MTM2NDYxZSAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3Nu YXBzaG90L2xpbnV4L3RocmVhZF9zbmFwc2hvdF9saW51eC5oCi0rKysgYi90aGlyZF9wYXJ0eS9j cmFzaHBhZC9jcmFzaHBhZC9zbmFwc2hvdC9saW51eC90aHJlYWRfc25hcHNob3RfbGludXguaAot QEAgLTY4LDYgKzY4LDggQEAgY2xhc3MgVGhyZWFkU25hcHNob3RMaW51eCBmaW5hbCA6IHB1Ymxp YyBUaHJlYWRTbmFwc2hvdCB7Ci0gI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZBTUlMWSkK LSAgICAgQ1BVQ29udGV4dE1JUFMgbWlwc2VsOwotICAgICBDUFVDb250ZXh0TUlQUzY0IG1pcHM2 NDsKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgICAgQ1BVQ29udGV4 dFBQQzY0IHBwYzY0OwotICNlbHNlCi0gI2Vycm9yIFBvcnQuCi0gI2VuZGlmICAvLyBBUkNIX0NQ VV9YODZfRkFNSUxZCi0tLS0gYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL25l dC9odHRwX3RyYW5zcG9ydF9saWJjdXJsLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9j cmFzaHBhZC91dGlsL25ldC9odHRwX3RyYW5zcG9ydF9saWJjdXJsLmNjCi1AQCAtMjM2LDYgKzIz NiwxMiBAQAotICNlbGlmIGRlZmluZWQoQVJDSF9DUFVfQklHX0VORElBTikKLSAgICAgc3RhdGlj IGNvbnN0ZXhwciBjaGFyIGFyY2hbXSA9ICJhYXJjaDY0X2JlIjsKLSAjZW5kaWYKLSsjZWxpZiBk ZWZpbmVkKF9fcG93ZXJwYzY0X18pCi0rI2lmIGRlZmluZWQoQVJDSF9DUFVfTElUVExFX0VORElB TikKLSsgICAgc3RhdGljIGNvbnN0ZXhwciBjaGFyIGFyY2hbXSA9ICJwcGM2NGxlIjsKLSsjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX0JJR19FTkRJQU4pCi0rICAgIHN0YXRpYyBjb25zdGV4cHIgY2hh ciBhcmNoW10gPSAicHBjNjQiOwotKyNlbmRpZgotICNlbHNlCi0gI2Vycm9yIFBvcnQKLSAjZW5k aWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4 L2F1eGlsaWFyeV92ZWN0b3IuY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGls L2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKLWluZGV4IGQzZDVlYmRmYi4uM2ZkNzMwY2I1IDEw MDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9hdXhp bGlhcnlfdmVjdG9yLmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGls L2xpbnV4L2F1eGlsaWFyeV92ZWN0b3IuY2MKLUBAIC01Niw2ICs1NiwxMSBAQCBib29sIEF1eGls aWFyeVZlY3Rvcjo6UmVhZChQdHJhY2VDb25uZWN0aW9uKiBjb25uZWN0aW9uKSB7Ci0gICAgIGlm ICh0eXBlID09IEFUX0lHTk9SRSkgewotICAgICAgIGNvbnRpbnVlOwotICAgICB9Ci0rI2lmIGRl ZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAgICBpZiAodHlwZSA9PSBBVF9JR05PUkVQ UEMpIHsKLSsgICAgICBjb250aW51ZTsKLSsgICAgfQotKyNlbmRpZgotICAgICBpZiAoIU1hcElu c2VydE9yUmVwbGFjZSgmdmFsdWVzXywgdHlwZSwgdmFsdWUsIG51bGxwdHIpKSB7Ci0gICAgICAg TE9HKEVSUk9SKSA8PCAiZHVwbGljYXRlIGF1eHYgZW50cnkiOwotICAgICAgIHJldHVybiBmYWxz ZTsKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4 L3B0cmFjZXIuY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0 cmFjZXIuY2MKLWluZGV4IDU1N2UwZDM2My4uMDhhZTQzNGI4IDEwMDY0NAotLS0tIGEvdGhpcmRf cGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9saW51eC9wdHJhY2VyLmNjCi0rKysgYi90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3B0cmFjZXIuY2MKLUBAIC0zOTgs NiArMzk4LDY0IEBAIGJvb2wgR2V0VGhyZWFkQXJlYTY0KHBpZF90IHRpZCwKLSAgIHJldHVybiB0 cnVlOwotIH0KLSAKLSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsvLyBQ UEM2NCBoYXMgaGFkIEhBVkVfQVJDSF9UUkFDRUhPT0sgc2V0IHNpbmNlIDIuNi4yNyAoZXZlbiBi ZWZvcmUgeDg2IGhhZCBpdCkuCi0rLy8gVGhhdCBtZWFucyB3ZSBjYW4gc2ltcGx5IHVzZSBQVFJB Q0VfR0VUUkVHRVNFVC4KLSsKLSt0ZW1wbGF0ZSA8dHlwZW5hbWUgRGVzdGluYXRpb24+Ci0rYm9v bCBHZXRSZWdpc3RlclNldChwaWRfdCB0aWQsIGludCBzZXQsIERlc3RpbmF0aW9uKiBkZXN0LCBi b29sIGNhbl9sb2cpIHsKLSsgIGlvdmVjIGlvdjsKLSsgIGlvdi5pb3ZfYmFzZSA9IHJlaW50ZXJw cmV0X2Nhc3Q8dm9pZCo+KGRlc3QpOwotKyAgaW92Lmlvdl9sZW4gPSBzaXplb2YoKmRlc3QpOwot KyAgaWYgKHB0cmFjZShQVFJBQ0VfR0VUUkVHU0VULCB0aWQsIHJlaW50ZXJwcmV0X2Nhc3Q8dm9p ZCo+KHNldCksICZpb3YpICE9IDApIHsKLSsgICAgUExPR19JRihFUlJPUiwgY2FuX2xvZykgPDwg InB0cmFjZSI7Ci0rICAgIHJldHVybiBmYWxzZTsKLSsgIH0KLSsgIGlmIChpb3YuaW92X2xlbiAh PSBzaXplb2YoKmRlc3QpKSB7Ci0rICAgIExPR19JRihFUlJPUiwgY2FuX2xvZykgPDwgIlVuZXhw ZWN0ZWQgcmVnaXN0ZXJzIHNpemUiOwotKyAgICByZXR1cm4gZmFsc2U7Ci0rICB9Ci0rICByZXR1 cm4gdHJ1ZTsKLSt9Ci0rCi0rYm9vbCBHZXRWZWN0b3JSZWdpc3RlcnM2NChwaWRfdCB0aWQsCi0r ICAgICAgICAgICAgICAgICAgICAgICAgICBWZWN0b3JDb250ZXh0KiBjb250ZXh0LAotKyAgICAg ICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7Ci0rICByZXR1cm4gR2V0UmVnaXN0 ZXJTZXQodGlkLCBOVF9QUENfVk1YLCAmY29udGV4dC0+djY0LCBjYW5fbG9nKTsKLSt9Ci0rCi0r Ym9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzNjQocGlkX3QgdGlkLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZsb2F0Q29udGV4dCogY29udGV4dCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsKLSsgIHJldHVybiBHZXRSZWdp c3RlclNldCh0aWQsIE5UX1BSRlBSRUcsICZjb250ZXh0LT5mNjQsIGNhbl9sb2cpOwotK30KLSsK LStib29sIEdldFRocmVhZEFyZWE2NChwaWRfdCB0aWQsCi0rICAgICAgICAgICAgICAgICAgICAg Y29uc3QgVGhyZWFkQ29udGV4dCYgY29udGV4dCwKLSsgICAgICAgICAgICAgICAgICAgICBMaW51 eFZNQWRkcmVzcyogYWRkcmVzcywKLSsgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cp IHsKLSsgIC8vIFBQQzY0IGRvZXNuJ3QgaGF2ZSBQVFJBQ0VfR0VUX1RIUkVBRF9BUkVBIHNpbmNl IHRoZSB0aHJlYWQgcG9pbnRlcgotKyAgLy8gaXMgc3RvcmVkIGluIEdQUiAxMy4KLSsgIFRocmVh ZENvbnRleHQ6OnQ2NF90IHRjOwotKyAgaWYgKCFHZXRSZWdpc3RlclNldCh0aWQsIE5UX1BSU1RB VFVTLCAmdGMsIGNhbl9sb2cpKSB7Ci0rICAgIExPR19JRihFUlJPUiwgY2FuX2xvZykgPDwgIlVu YWJsZSB0byBnZXQgdGhyZWFkIHBvaW50ZXIhIjsKLSsgICAgcmV0dXJuIGZhbHNlOwotKyAgfQot KwotKyAgKmFkZHJlc3MgPSB0Yy5ncHJbMTNdOwotKwotKyAgcmV0dXJuIHRydWU7Ci0rfQotKwot Ky8vIFN0dWJzIGZvciAzMi1iaXQgZnVuY3Rpb25zIG5vdCBhcHBsaWNhYmxlIG9uIFBQQzY0Ci0r Ym9vbCBHZXRGbG9hdGluZ1BvaW50UmVnaXN0ZXJzMzIocGlkX3QgdGlkLAotKyAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIEZsb2F0Q29udGV4dCogY29udGV4dCwKLSsgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBib29sIGNhbl9sb2cpIHsgcmV0dXJuIGZhbHNlOyB9Ci0r Ym9vbCBHZXRUaHJlYWRBcmVhMzIocGlkX3QgdGlkLAotKyAgICAgICAgICAgICAgICAgICAgIGNv bnN0IFRocmVhZENvbnRleHQgJmNvbnRleHQsCi0rICAgICAgICAgICAgICAgICAgICAgTGludXhW TUFkZHJlc3MgKmFkZHJlc3MsCi0rICAgICAgICAgICAgICAgICAgICAgYm9vbCBjYW5fbG9nKSB7 IHJldHVybiBmYWxzZTsgfQotKwotICNlbHNlCi0gI2Vycm9yIFBvcnQuCi0gI2VuZGlmICAvLyBB UkNIX0NQVV9YODZfRkFNSUxZCi1AQCAtNDk0LDYgKzU1Miw5IEBAIGJvb2wgUHRyYWNlcjo6R2V0 VGhyZWFkSW5mbyhwaWRfdCB0aWQsIFRocmVhZEluZm8qIGluZm8pIHsKLSAgIGlmIChpc182NF9i aXRfKSB7Ci0gICAgIHJldHVybiBHZXRHZW5lcmFsUHVycG9zZVJlZ2lzdGVyczY0KHRpZCwgJmlu Zm8tPnRocmVhZF9jb250ZXh0LCBjYW5fbG9nXykgJiYKLSAgICAgICAgICAgIEdldEZsb2F0aW5n UG9pbnRSZWdpc3RlcnM2NCh0aWQsICZpbmZvLT5mbG9hdF9jb250ZXh0LCBjYW5fbG9nXykgJiYK LSsjaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9GQU1JTFkpCi0rICAgICAgICAgICBHZXRWZWN0 b3JSZWdpc3RlcnM2NCh0aWQsICZpbmZvLT52ZWN0b3JfY29udGV4dCwgY2FuX2xvZ18pICYmCi0r I2VuZGlmCi0gICAgICAgICAgICBHZXRUaHJlYWRBcmVhNjQodGlkLAotICAgICAgICAgICAgICAg ICAgICAgICAgICAgIGluZm8tPnRocmVhZF9jb250ZXh0LAotICAgICAgICAgICAgICAgICAgICAg ICAgICAgICZpbmZvLT50aHJlYWRfc3BlY2lmaWNfZGF0YV9hZGRyZXNzLAotZGlmZiAtLWdpdCBh L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaCBi L3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAot aW5kZXggNWI1NWMyNGE3Li5kZWEwZDFmMzkgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9jcmFz aHBhZC9jcmFzaHBhZC91dGlsL2xpbnV4L3RocmVhZF9pbmZvLmgKLSsrKyBiL3RoaXJkX3BhcnR5 L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbGludXgvdGhyZWFkX2luZm8uaAotQEAgLTI4LDYgKzI4 LDEwIEBACi0gI2luY2x1ZGUgPGFuZHJvaWQvYXBpLWxldmVsLmg+Ci0gI2VuZGlmCi0gCi0rI2lm IGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyNpbmNsdWRlIDxzeXMvdWNvbnRleHQu aD4KLSsjZW5kaWYKLSsKLSBuYW1lc3BhY2UgY3Jhc2hwYWQgewotIAotIC8vISBcYnJpZWYgVGhl IHNldCBvZiBnZW5lcmFsIHB1cnBvc2UgcmVnaXN0ZXJzIGZvciBhbiBhcmNoaXRlY3R1cmUgZmFt aWx5LgotQEAgLTc5LDYgKzgzLDggQEAgdW5pb24gVGhyZWFkQ29udGV4dCB7Ci0gICAgIHVpbnQz Ml90IGNwMF9zdGF0dXM7Ci0gICAgIHVpbnQzMl90IGNwMF9jYXVzZTsKLSAgICAgdWludDMyX3Qg cGFkZGluZzFfOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAgICAv LyBQUEM2NCBpcyA2NC1iaXQKLSAjZWxzZQotICNlcnJvciBQb3J0LgotICNlbmRpZiAgLy8gQVJD SF9DUFVfWDg2X0ZBTUlMWQotQEAgLTEzMiw2ICsxMzgsMjEgQEAgdW5pb24gVGhyZWFkQ29udGV4 dCB7Ci0gICAgIHVpbnQ2NF90IGNwMF9iYWR2YWRkcjsKLSAgICAgdWludDY0X3QgY3AwX3N0YXR1 czsKLSAgICAgdWludDY0X3QgY3AwX2NhdXNlOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBD NjRfRkFNSUxZKQotKyAgICAvLyBSZWZsZWN0cyBzdHJ1Y3QgcHRfcmVncyBpbiBhc20vcHRyYWNl LmguCi0rICAgIHVpbnQ2NF90IGdwclszMl07Ci0rICAgIHVpbnQ2NF90IG5pcDsKLSsgICAgdWlu dDY0X3QgbXNyOwotKyAgICB1aW50NjRfdCBvcmlnX2dwcjM7Ci0rICAgIHVpbnQ2NF90IGN0cjsK LSsgICAgdWludDY0X3QgbG5rOwotKyAgICB1aW50NjRfdCB4ZXI7Ci0rICAgIHVpbnQ2NF90IGNj cjsKLSsgICAgdWludDY0X3Qgc29mdGU7Ci0rICAgIHVpbnQ2NF90IHRyYXA7Ci0rICAgIHVpbnQ2 NF90IGRhcjsKLSsgICAgdWludDY0X3QgZHNpc3I7Ci0rICAgIHVpbnQ2NF90IHJlc3VsdDsKLSAj ZWxzZQotICNlcnJvciBQb3J0LgotICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQotQEAg LTE0Myw2ICsxNjQsOCBAQCB1bmlvbiBUaHJlYWRDb250ZXh0IHsKLSAgIHVzaW5nIE5hdGl2ZVRo cmVhZENvbnRleHQgPSB1c2VyX3JlZ3M7Ci0gI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9NSVBTX0ZB TUlMWSkKLSAvLyBObyBhcHByb3ByaWF0ZSBOYXRpdmVUaHJlYWRzQ29udGV4dCB0eXBlIGF2YWls YWJsZSBmb3IgTUlQUwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAg dXNpbmcgTmF0aXZlVGhyZWFkQ29udGV4dCA9IHN0cnVjdCBwdF9yZWdzOwotICNlbHNlCi0gI2Vy cm9yIFBvcnQuCi0gI2VuZGlmICAvLyBBUkNIX0NQVV9YODZfRkFNSUxZIHx8IEFSQ0hfQ1BVX0FS TTY0Ci1AQCAtMjE4LDYgKzI0MSw5IEBAIHVuaW9uIEZsb2F0Q29udGV4dCB7Ci0gICAgIH0gZnBy ZWdzWzMyXTsKLSAgICAgdWludDMyX3QgZnBjc3I7Ci0gICAgIHVpbnQzMl90IGZwdV9pZDsKLSsj ZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgICAgLy8gQ3Jhc2hwYWQncyBQ UEMgc3VwcG9ydCBpcyA2NC1iaXQgb25seSwgc28gdGhpcwotKyAgICAvLyAzMmJpdC1vbmx5IHN0 cnVjdCBpcyBkZWNsYXJlZCBhcyBlbXB0eS4KLSAjZWxzZQotICNlcnJvciBQb3J0LgotICNlbmRp ZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQotQEAgLTI1Miw2ICsyNzgsMTAgQEAgdW5pb24gRmxv YXRDb250ZXh0IHsKLSAgICAgZG91YmxlIGZwcmVnc1szMl07Ci0gICAgIHVpbnQzMl90IGZwY3Ny OwotICAgICB1aW50MzJfdCBmcHVfaWQ7Ci0rI2VsaWYgZGVmaW5lZChBUkNIX0NQVV9QUEM2NF9G QU1JTFkpCi0rICAgIC8vIFJlZmxlY3RzIGZwcmVnc2V0X3QgaW4gc3lzL3Vjb250ZXh0LmgKLSsg ICAgZG91YmxlIGZwcmVnc1szMl07Ci0rICAgIGRvdWJsZSBmcHNjcjsKLSAjZWxzZQotICNlcnJv ciBQb3J0LgotICNlbmRpZiAgLy8gQVJDSF9DUFVfWDg2X0ZBTUlMWQotQEAgLTI4MCw2ICszMTAs OCBAQCB1bmlvbiBGbG9hdENvbnRleHQgewotICAgc3RhdGljX2Fzc2VydChzaXplb2YoZjY0KSA9 PSBzaXplb2YodXNlcl9mcHNpbWRfc3RydWN0KSwgIlNpemUgbWlzbWF0Y2giKTsKLSAjZWxpZiBk ZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQotIC8vIE5vIGFwcHJvcHJpYXRlIGZsb2F0aW5n IHBvaW50IGNvbnRleHQgbmF0aXZlIHR5cGUgZm9yIGF2YWlsYWJsZSBNSVBTLgotKyNlbGlmIGRl ZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAgc3RhdGljX2Fzc2VydChzaXplb2YoZjY0 KSA9PSBzaXplb2YoZnByZWdzZXRfdCksICJTaXplIG1pc21hdGNoIik7Ci0gI2Vsc2UKLSAjZXJy b3IgUG9ydC4KLSAjZW5kaWYgIC8vIEFSQ0hfQ1BVX1g4NgotQEAgLTI4Nyw2ICszMTksMjYgQEAg dW5pb24gRmxvYXRDb250ZXh0IHsKLSBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfc3RhbmRhcmRfbGF5 b3V0PEZsb2F0Q29udGV4dD46OnZhbHVlLAotICAgICAgICAgICAgICAgIk5vdCBzdGFuZGFyZCBs YXlvdXQiKTsKLSAKLSsvLyEgXGJyaWVmIFRoZSB2ZWN0b3IgcmVnaXN0ZXJzIHVzZWQgZm9yIGFu IGFyY2hpdGVjdHVyZSBmYW1pbHkKLSt1bmlvbiBWZWN0b3JDb250ZXh0IHsKLSsgIHN0cnVjdCB2 MzJfdCB7fSB2MzI7Ci0rI2lmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAgX19h dHRyaWJ1dGVfXygoX19hbGlnbmVkX18oMTYpKSkgLy8gVmVjdG9yIGNvbnRleHQgbXVzdCBiZSBk b3VibGV3b3JkIGFsaWduZWQuCi0rI2VuZGlmCi0rICBzdHJ1Y3QgdjY0X3QgewotKyNpZiBkZWZp bmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgICAgLy8gUmVmbGVjdHMgdnJyZWdzZXRfdCBp biBzeXMvdWNvbnRleHQuaAotKyAgICB1aW50MzJfdCB2cnJlZ3NbMzJdWzRdOwotKyAgICBzdHJ1 Y3QgewotKyAgICAgIHVpbnQzMl90IF9fcGFkWzNdOwotKyAgICAgIHVpbnQzMl90IHZzY3Jfd29y ZDsKLSsgICAgfSB2c2NyOwotKyAgICB1aW50MzJfdCB2cnNhdmU7Ci0rICAgIHVpbnQzMl90IF9f cGFkWzNdOwotKyNlbmRpZgotKyAgfSB2NjQ7Ci0rfTsKLSsKLSAvLyEgXGJyaWVmIEEgY29sbGVj dGlvbiBvZiBgcHRyYWNlYC1hYmxlIGluZm9ybWF0aW9uIGFib3V0IGEgdGhyZWFkLgotIHN0cnVj dCBUaHJlYWRJbmZvIHsKLSAgIFRocmVhZEluZm8oKTsKLUBAIC0yOTgsNiArMzUwLDkgQEAgc3Ry dWN0IFRocmVhZEluZm8gewotICAgLy8hIFxicmllZiBUaGUgZmxvYXRpbmcgcG9pbnQgcmVnaXN0 ZXJzIGZvciB0aGUgdGhyZWFkLgotICAgRmxvYXRDb250ZXh0IGZsb2F0X2NvbnRleHQ7Ci0gCi0r ICAvLyEgXGJyaWVmIChPcHRpb25hbCkgVGhlIHZlY3RvciByZWdpc3RlcnMgdXNlZCBmb3IgdGhl IHRocmVhZC4KLSsgIFZlY3RvckNvbnRleHQgdmVjdG9yX2NvbnRleHQ7Ci0rCi0gICAvLyEgXGJy aWVmIFRoZSB0aHJlYWQtbG9jYWwgc3RvcmFnZSBhZGRyZXNzIGZvciB0aGUgdGhyZWFkLgotICAg TGludXhWTUFkZHJlc3MgdGhyZWFkX3NwZWNpZmljX2RhdGFfYWRkcmVzczsKLSB9OwotZGlmZiAt LWdpdCBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2Nv bnRleHQuaCBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJl X2NvbnRleHQuaAotaW5kZXggZDIxYTI0ZjE5Li5hY2MzMjUzNDkgMTAwNjQ0Ci0tLS0gYS90aGly ZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0LmgKLSsr KyBiL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRl eHQuaAotQEAgLTY5LDYgKzY5LDcgQEAgdXNpbmcgTmF0aXZlQ1BVQ29udGV4dCA9IHVjb250ZXh0 X3Q7Ci0gLy8hICAgICBtYWNPUy9MaW51eC9GdWNoc2lhIHwgeDg2XzY0ICAgICAgIHwgYCUlcmRp YAotIC8vISAgICAgTGludXggICAgICAgICAgICAgICB8IEFSTS9BUk02NCAgICB8IGByMGAvYHgw YAotIC8vISAgICAgTGludXggICAgICAgICAgICAgICB8IE1JUFMvTUlQUzY0ICB8IGAkYTBgCi0r Ly8hICAgICBMaW51eCAgICAgICAgICAgICAgIHwgUFBDNjQgICAgICAgIHwgYHIzYAotIC8vIQot IC8vISAgICAgQWRkaXRpb25hbGx5LCB0aGUgdmFsdWUgYExSYCBvbiBBUk0vQVJNNjQgd2lsbCBi ZSB0aGUgcmV0dXJuIGFkZHJlc3Mgb2YKLSAvLyEgICAgIHRoaXMgZnVuY3Rpb24uCi1kaWZmIC0t Z2l0IGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29u dGV4dF9saW51eC5TIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2Nh cHR1cmVfY29udGV4dF9saW51eC5TCi1pbmRleCA1MjIxNWVlNWQuLmIzZTRhM2VjNyAxMDA2NDQK LS0tLSBhL3RoaXJkX3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2Nv bnRleHRfbGludXguUwotKysrIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9t aXNjL2NhcHR1cmVfY29udGV4dF9saW51eC5TCi1AQCAtMzIsNyArMzIsNyBAQAotICAgLmJhbGln biA0LCAweDAKLSAgIC50eXBlIENBUFRVUkVDT05URVhUX1NZTUJPTCwgJWZ1bmN0aW9uCi0gICAu dHlwZSBDQVBUVVJFQ09OVEVYVF9TWU1CT0wyLCAlZnVuY3Rpb24KLS0jZWxpZiBkZWZpbmVkKF9f bWlwc19fKQotKyNlbGlmIGRlZmluZWQoX19taXBzX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRf XykKLSAgIC5iYWxpZ24gNCwgMHgwCi0gI2VuZGlmCi0gCi1AQCAtNDIzLDQgKzQyMywyMTQgQEAg Q0FQVFVSRUNPTlRFWFRfU1lNQk9MMjoKLSAgIGpyICRyYQotIAotICAgLnNldCBhdAotKyNlbGlm IGRlZmluZWQoX19wb3dlcnBjNjRfXykKLSsgIC8vIFN0b3JlIHIwLXIzMQotKyAgc3RkIDAsIDB4 ZTgoMykgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzBdCi0rICBzdGQgMSwgMHhm MCgzKSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbMV0KLSsgIHN0ZCAyLCAweGY4 KDMpICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1syXQotKyAgLy8gbm90ZSB0aGF0 IHIzJ3Mgb3JpZ2luYWwgdmFsdWUgd2FzIGxvc3QKLSsgIHN0ZCAzLCAweDEwMCgzKSAgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1szXQotKyAgc3RkIDQsIDB4MTA4KDMpICAvLyBjb250 ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzWzRdCi0rICBzdGQgNSwgMHgxMTAoMykgIC8vIGNvbnRl eHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbNV0KLSsgIHN0ZCA2LCAweDExOCgzKSAgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1s2XQotKyAgc3RkIDcsIDB4MTIwKDMpICAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5ncF9yZWdzWzddCi0rICBzdGQgOCwgMHgxMjgoMykgIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LmdwX3JlZ3NbOF0KLSsgIHN0ZCA5LCAweDEzMCgzKSAgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQuZ3BfcmVnc1s5XQotKyAgc3RkIDEwLCAweDEzOCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzEwXQotKyAgc3RkIDExLCAweDE0MCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzExXQotKyAgc3RkIDEyLCAweDE0OCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzEyXQotKyAgc3RkIDEzLCAweDE1MCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzEzXQotKyAgc3RkIDE0LCAweDE1OCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzE0XQotKyAgc3RkIDE1LCAweDE2MCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzE1XQotKyAgc3RkIDE2LCAweDE2OCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzE2XQotKyAgc3RkIDE3LCAweDE3MCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzE3XQotKyAgc3RkIDE4LCAweDE3OCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzE4XQotKyAgc3RkIDE5LCAweDE4MCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzE5XQotKyAgc3RkIDIwLCAweDE4OCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzIwXQotKyAgc3RkIDIxLCAweDE5MCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzIxXQotKyAgc3RkIDIyLCAweDE5OCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzIyXQotKyAgc3RkIDIzLCAweDFhMCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzIzXQotKyAgc3RkIDI0LCAweDFhOCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzI0XQotKyAgc3RkIDI1LCAweDFiMCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzI1XQotKyAgc3RkIDI2LCAweDFiOCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzI2XQotKyAgc3RkIDI3LCAweDFjMCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzI3XQotKyAgc3RkIDI4LCAweDFjOCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzI4XQotKyAgc3RkIDI5LCAweDFkMCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzI5XQotKyAgc3RkIDMwLCAweDFkOCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzMwXQotKyAgc3RkIDMxLCAweDFlMCgzKSAvLyBjb250ZXh0LT51 Y19tY29udGV4dC5ncF9yZWdzWzMxXQotKwotKyAgLy8gRm9yIE5JUCwgd2UgY2FuIHVzZSB0aGUg dmFsdWUgaW4gdGhlIGxpbmsgcmVnaXN0ZXIKLSsgIG1mbHIgMAotKyAgc3RkIDAsIDB4MWU4KDMp IC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTklQXQotKwotKyAgLy8gQ1RSCi0r ICBtZmN0ciAwCi0rICBzdGQgMCwgMHgyMDAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3Bf cmVnc1tQVF9DVFJdCi0rCi0rICAvLyBGb3IgTE5LLCB3ZSdsbCB1c2UgdGhlIGNhbGxlcidzIExS IHNhdmUgYXJlYSAoMiBzdGFjayBmcmFtZXMgdXApLgotKyAgLy8gcjQgY2FuIGJlIHVzZWQgYXMg YSBzY3JhdGNoIHJlZ2lzdGVyIHNpbmNlIGl0IGhhcyBhbHJlYWR5IGJlZW4gc2F2ZWQuCi0rICBs ZCA0LCAwKDEpCi0rICBsZCA0LCAxNig0KQotKyAgc3RkIDQsIDB4MjA4KDMpIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfTE5LXQotKwotKyAgLy8gWEVSCi0rICBtZnhlciAwCi0r ICBzdGQgMCwgMHgyMTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9YRVJd Ci0rCi0rICAvLyBDQ1IKLSsgIG1mY3IgMAotKyAgc3RkIDAsIDB4MjE4KDMpIC8vIGNvbnRleHQt PnVjX21jb250ZXh0LmdwX3JlZ3NbUFRfQ0NSXQotKwotKyAgLy8gTVNSLCBvcmlnX3IzLCBNUSwg VFJBUCwgREFSLCBEU0lTUiwgUkVTVUxULCBEU0NSLAotKyAgLy8gbm90IHVzZWQgb3Igbm90IHJl bGV2YW50LCAgemVybyB0aGVtIG91dC4KLSsgIGxpIDQsIDAKLSsgIHN0ZCA0LCAweDFmMCgzKSAv LyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX01TUl0KLSsgIHN0ZCA0LCAweDFmOCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX09SSUdfUjNdCi0rICBzdGQgNCwg MHgyMjAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9NUV0KLSsgIHN0ZCA0 LCAweDIyOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BUX1RSQVBdCi0rICBz dGQgNCwgMHgyMzAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9EQVJdCi0r ICBzdGQgNCwgMHgyMzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZ3BfcmVnc1tQVF9EU0lT Ul0KLSsgIHN0ZCA0LCAweDI0MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9yZWdzW1BU X1JFU1VMVF0KLSsgIHN0ZCA0LCAweDI0OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5ncF9y ZWdzW1BUX0RTQ1JdCi0rCi0rICAvLyBVcGRhdGUgY29udGV4dC0+dWNfbWNvbnRleHQucmVncyB0 byBwb2ludCB0byBncF9yZWdzCi0rICBhZGRpIDAsIDMsIDB4ZTgKLSsgIHN0ZCAwLCAweGUwKDMp Ci0rCi0rICAvLyBTYXZlIGZsb2F0aW5nIHBvaW50IHJlZ2lzdGVycyAwLTMxCi0rICBzdGZkIDAs IDB4MjY4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzBdCi0rICBzdGZkIDEs IDB4MjcwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzFdCi0rICBzdGZkIDIs IDB4Mjc4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzJdCi0rICBzdGZkIDMs IDB4MjgwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzNdCi0rICBzdGZkIDQs IDB4Mjg4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzRdCi0rICBzdGZkIDUs IDB4MjkwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzVdCi0rICBzdGZkIDYs IDB4Mjk4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzZdCi0rICBzdGZkIDcs IDB4MmEwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzddCi0rICBzdGZkIDgs IDB4MmE4KDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzhdCi0rICBzdGZkIDks IDB4MmIwKDMpICAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzldCi0rICBzdGZkIDEw LCAweDJiOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzEwXQotKyAgc3RmZCAx MSwgMHgyYzAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxMV0KLSsgIHN0ZmQg MTIsIDB4MmM4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTJdCi0rICBzdGZk IDEzLCAweDJkMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzEzXQotKyAgc3Rm ZCAxNCwgMHgyZDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxNF0KLSsgIHN0 ZmQgMTUsIDB4MmUwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMTVdCi0rICBz dGZkIDE2LCAweDJlOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE2XQotKyAg c3RmZCAxNywgMHgyZjAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sxN10KLSsg IHN0ZmQgMTgsIDB4MmY4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMThdCi0r ICBzdGZkIDE5LCAweDMwMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzE5XQot KyAgc3RmZCAyMCwgMHgzMDgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1syMF0K LSsgIHN0ZmQgMjEsIDB4MzEwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3NbMjFd Ci0rICBzdGZkIDIyLCAweDMxOCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzIy XQotKyAgc3RmZCAyMywgMHgzMjAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVnc1sy M10KLSsgIHN0ZmQgMjQsIDB4MzI4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3JlZ3Nb MjRdCi0rICBzdGZkIDI1LCAweDMzMCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdz WzI1XQotKyAgc3RmZCAyNiwgMHgzMzgoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBfcmVn c1syNl0KLSsgIHN0ZmQgMjcsIDB4MzQwKDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZwX3Jl Z3NbMjddCi0rICBzdGZkIDI4LCAweDM0OCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9y ZWdzWzI4XQotKyAgc3RmZCAyOSwgMHgzNTAoMykgLy8gY29udGV4dC0+dWNfbWNvbnRleHQuZnBf cmVnc1syOV0KLSsgIHN0ZmQgMzAsIDB4MzU4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LmZw X3JlZ3NbMzBdCi0rICBzdGZkIDMxLCAweDM2MCgzKSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5m cF9yZWdzWzMxXQotKwotKyAgLy8gRlBTQ1IKLSsgIG1mZnMgMAotKyAgc3RmZCAwLCAweDM2OCgz KSAvLyBjb250ZXh0LT51Y19tY29udGV4dC5mcF9yZWdzWzMyXQotKwotKyAgLy8gU2F2ZSBWTVgg VmVjdG9yIHJlZ2lzdGVycwotKyAgLy8gVXBkYXRlIHI0IHRvIGNvbnRhaW4gdGhlIGJhc2UgYWRk cmVzcyBvZiB2bXhfcmVzZXJ2ZQotKyAgYWRkaSA0LCAzLCAweDM3OAotKyAgLy8gRW5zdXJlIHRo YXQgaXQgaXMgcXVhZHdvcmQgYWxpZ25lZAotKyAgYW5kaS4gNSwgNCwgMHhGCi0rICBiZXEgMWYg Ly8gTm8gYWxpZ25tZW50IGlzIG5lY2Vzc2FyeQotKyAgLy8gQWRkcmVzcyBpcyBkb3VibGV3b3Jk IGFsaWduZWQgYW5kIG5vdCBxdWFkd29yZCBhbGlnbmVkLCBhZGQgOAotKyAgYWRkaSA0LCA0LCA4 Ci0rCi0rMToKLSsgIC8vIFN0b3JlIFZNWCByZWdpc3RlcnMgMC0zMQotKyAgLy8gcjQgd2lsbCBj b250YWluIHRoZSBiYXNlIGFkZHJlc3MKLSsgIC8vIHI1IHdpbGwgY29udGFpbiB0aGUgaW5kZXgK LSsgIGxpIDUsIDAKLSsgIHN0dnggMCwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZt eF9yZXNlcnZlWyhhbGlnbikgKyAwXQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAxLCA0LCA1 ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDFdCi0rICBh ZGRpIDUsIDUsIDE2Ci0rICBzdHZ4IDIsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52 bXhfcmVzZXJ2ZVsoYWxpZ24pICsgMl0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggMywgNCwg NSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyAzXQotKyAg YWRkaSA1LCA1LCAxNgotKyAgc3R2eCA0LCA0LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu dm14X3Jlc2VydmVbKGFsaWduKSArIDRdCi0rICBhZGRpIDUsIDUsIDE2Ci0rICBzdHZ4IDUsIDQs IDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgNV0KLSsg IGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggNiwgNCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 LnZteF9yZXNlcnZlWyhhbGlnbikgKyA2XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCA3LCA0 LCA1ICAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDddCi0r ICBhZGRpIDUsIDUsIDE2Ci0rICBzdHZ4IDgsIDQsIDUgICAvLyBjb250ZXh0LT51Y19tY29udGV4 dC52bXhfcmVzZXJ2ZVsoYWxpZ24pICsgOF0KLSsgIGFkZGkgNSwgNSwgMTYKLSsgIHN0dnggOSwg NCwgNSAgIC8vIGNvbnRleHQtPnVjX21jb250ZXh0LnZteF9yZXNlcnZlWyhhbGlnbikgKyA5XQot KyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAxMCwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQudm14X3Jlc2VydmVbKGFsaWduKSArIDEwXQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAx MSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDEx XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAxMiwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNv bnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDEyXQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2 eCAxMywgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSAr IDEzXQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAxNCwgNCwgNSAgLy8gY29udGV4dC0+dWNf bWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDE0XQotKyAgYWRkaSA1LCA1LCAxNgotKyAg c3R2eCAxNSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWdu KSArIDE1XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAxNiwgNCwgNSAgLy8gY29udGV4dC0+ dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDE2XQotKyAgYWRkaSA1LCA1LCAxNgot KyAgc3R2eCAxNywgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFs aWduKSArIDE3XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAxOCwgNCwgNSAgLy8gY29udGV4 dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDE4XQotKyAgYWRkaSA1LCA1LCAx NgotKyAgc3R2eCAxOSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVb KGFsaWduKSArIDE5XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAyMCwgNCwgNSAgLy8gY29u dGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDIwXQotKyAgYWRkaSA1LCA1 LCAxNgotKyAgc3R2eCAyMSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2Vy dmVbKGFsaWduKSArIDIxXQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAyMiwgNCwgNSAgLy8g Y29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDIyXQotKyAgYWRkaSA1 LCA1LCAxNgotKyAgc3R2eCAyMywgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jl c2VydmVbKGFsaWduKSArIDIzXQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAyNCwgNCwgNSAg Ly8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI0XQotKyAgYWRk aSA1LCA1LCAxNgotKyAgc3R2eCAyNSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14 X3Jlc2VydmVbKGFsaWduKSArIDI1XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAyNiwgNCwg NSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI2XQotKyAg YWRkaSA1LCA1LCAxNgotKyAgc3R2eCAyNywgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQu dm14X3Jlc2VydmVbKGFsaWduKSArIDI3XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAyOCwg NCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI4XQot KyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAyOSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRl eHQudm14X3Jlc2VydmVbKGFsaWduKSArIDI5XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAz MCwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNvbnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDMw XQotKyAgYWRkaSA1LCA1LCAxNgotKyAgc3R2eCAzMSwgNCwgNSAgLy8gY29udGV4dC0+dWNfbWNv bnRleHQudm14X3Jlc2VydmVbKGFsaWduKSArIDMxXQotKyAgYWRkaSA1LCA1LCAxNgotKwotKyAg Ly8gVlNDUgotKyAgbWZ2c2NyIDAKLSsgIHN0dnggMCwgNCwgNQotKyAgYWRkaSA1LCA1LCAxNgot KwotKyAgLy8gVlJTQVZFCi0rICBtZnZyc2F2ZSAwCi0rICBzdHd4IDAsIDQsIDUKLSsKLSsgIC8v IFVwZGF0ZSBjb250ZXh0LT51Y19tY29udGV4dC52X3JlZ3MgdG8gcG9pbnQgdG8gdm14X3Jlc2Vy dmUgKyBhbGlnbm1lbnQuCi0rICBzdGQgNCwgMHgzNzAoMykKLSsKLSsgIC8vIFplcm8gb3V0IGFs bCB1bnVzZWQgZmllbGRzCi0rICBsaSA0LCAwCi0rICBzdGQgNCwgMHhjOCgzKSAvLyBjb250ZXh0 LT51Y19tY29udGV4dC5zaWduYWwKLSsgIHN0ZCA0LCAweGQwKDMpIC8vIGNvbnRleHQtPnVjX21j b250ZXh0LmhhbmRsZXIKLSsgIHN0ZCA0LCAweGQ4KDMpIC8vIGNvbnRleHQtPnVjX21jb250ZXh0 Lm9sZG1hc2sKLSsKLSsgIGJscgotICNlbmRpZiAgLy8gX19pMzg2X18KLWRpZmYgLS1naXQgYS90 aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9jb250ZXh0X3Rl c3QuY2MgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2FwdHVyZV9j b250ZXh0X3Rlc3QuY2MKLWluZGV4IGNmMjNjMmRlZi4uNWYyNjRiYzkyIDEwMDY0NAotLS0tIGEv dGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2NhcHR1cmVfY29udGV4dF90 ZXN0LmNjCi0rKysgYi90aGlyZF9wYXJ0eS9jcmFzaHBhZC9jcmFzaHBhZC91dGlsL21pc2MvY2Fw dHVyZV9jb250ZXh0X3Rlc3QuY2MKLUBAIC01Nyw3ICs1Nyw3IEBAIHZvaWQgVGVzdENhcHR1cmVD b250ZXh0KCkgewotICAgdWludHB0cl90IHBjID0gUHJvZ3JhbUNvdW50ZXJGcm9tQ29udGV4dChj b250ZXh0XzEpOwotIAotICNpZiAhZGVmaW5lZChBRERSRVNTX1NBTklUSVpFUikgJiYgIWRlZmlu ZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpICYmIFwKLS0gICAgIWRlZmluZWQoTUVNT1JZX1NBTklU SVpFUikKLSsgICAgIWRlZmluZWQoTUVNT1JZX1NBTklUSVpFUikgJiYgIWRlZmluZWQoQVJDSF9D UFVfUFBDNjRfRkFNSUxZKQotICAgLy8gU2FuaXRpemVycyBjYW4gY2F1c2UgZW5vdWdoIGNvZGUg YmxvYXQgdGhhdCB0aGUg4oCcbmVhcmJ54oCdIGNoZWNrIHdvdWxkCi0gICAvLyBsaWtlbHkgZmFp bC4KLSAgIGNvbnN0IHVpbnRwdHJfdCBrUmVmZXJlbmNlUEMgPQotZGlmZiAtLWdpdCBhL3RoaXJk X3BhcnR5L2NyYXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91 dGlsX2xpbnV4LmNjIGIvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNjL2Nh cHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKLWluZGV4IDMwYTJhYjIxZC4uNjA1MDlm MjFkIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvY3Jhc2hwYWQvY3Jhc2hwYWQvdXRpbC9taXNj L2NhcHR1cmVfY29udGV4dF90ZXN0X3V0aWxfbGludXguY2MKLSsrKyBiL3RoaXJkX3BhcnR5L2Ny YXNocGFkL2NyYXNocGFkL3V0aWwvbWlzYy9jYXB0dXJlX2NvbnRleHRfdGVzdF91dGlsX2xpbnV4 LmNjCi1AQCAtMzUsNiArMzUsOCBAQCB2b2lkIFNhbml0eUNoZWNrQ29udGV4dChjb25zdCBOYXRp dmVDUFVDb250ZXh0JiBjb250ZXh0KSB7Ci0gICBFWFBFQ1RfRVEoY29udGV4dC51Y19tY29udGV4 dC5yZWdzWzBdLCBGcm9tUG9pbnRlckNhc3Q8dWludHB0cl90PigmY29udGV4dCkpOwotICNlbGlm IGRlZmluZWQoQVJDSF9DUFVfTUlQU19GQU1JTFkpCi0gICBFWFBFQ1RfRVEoY29udGV4dC51Y19t Y29udGV4dC5ncmVnc1s0XSwgRnJvbVBvaW50ZXJDYXN0PHVpbnRwdHJfdD4oJmNvbnRleHQpKTsK LSsjZWxpZiBkZWZpbmVkKEFSQ0hfQ1BVX1BQQzY0X0ZBTUlMWSkKLSsgIEVYUEVDVF9FUShjb250 ZXh0LnVjX21jb250ZXh0LmdwX3JlZ3NbM10sIEZyb21Qb2ludGVyQ2FzdDx1aW50cHRyX3Q+KCZj b250ZXh0KSk7Ci0gI2VuZGlmCi0gfQotIAotQEAgLTQ5LDYgKzUxLDggQEAgdWludHB0cl90IFBy b2dyYW1Db3VudGVyRnJvbUNvbnRleHQoY29uc3QgTmF0aXZlQ1BVQ29udGV4dCYgY29udGV4dCkg ewotICAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQucGM7Ci0gI2VsaWYgZGVmaW5lZChBUkNI X0NQVV9NSVBTX0ZBTUlMWSkKLSAgIHJldHVybiBjb250ZXh0LnVjX21jb250ZXh0LnBjOwotKyNl bGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQotKyAgcmV0dXJuIGNvbnRleHQudWNf bWNvbnRleHQuZ3BfcmVnc1tQVF9OSVBdOwotICNlbmRpZgotIH0KLSAKLUBAIC02Myw2ICs2Nyw4 IEBAIHVpbnRwdHJfdCBTdGFja1BvaW50ZXJGcm9tQ29udGV4dChjb25zdCBOYXRpdmVDUFVDb250 ZXh0JiBjb250ZXh0KSB7Ci0gICByZXR1cm4gY29udGV4dC51Y19tY29udGV4dC5zcDsKLSAjZWxp ZiBkZWZpbmVkKEFSQ0hfQ1BVX01JUFNfRkFNSUxZKQotICAgcmV0dXJuIGNvbnRleHQudWNfbWNv bnRleHQuZ3JlZ3NbMjldOwotKyNlbGlmIGRlZmluZWQoQVJDSF9DUFVfUFBDNjRfRkFNSUxZKQot KyAgcmV0dXJuIGNvbnRleHQudWNfbWNvbnRleHQuZ3BfcmVnc1sxXTsKLSAjZW5kaWYKLSB9Ci0g Ci1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvZGF2MWQvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZp Zy5oIGIvdGhpcmRfcGFydHkvZGF2MWQvY29uZmlnL2xpbnV4L3BwYzY0L2NvbmZpZy5oCi1uZXcg ZmlsZSBtb2RlIDEwMDY0NAotaW5kZXggMDAwMDAwMDAwLi45ZmJiZjc1Y2MKLS0tLSAvZGV2L251 bGwKLSsrKyBiL3RoaXJkX3BhcnR5L2RhdjFkL2NvbmZpZy9saW51eC9wcGM2NC9jb25maWcuaAot QEAgLTAsMCArMSwzOSBAQAotKy8qCi0rICogQXV0b2dlbmVyYXRlZCBieSB0aGUgTWVzb24gYnVp bGQgc3lzdGVtLgotKyAqIERvIG5vdCBlZGl0LCB5b3VyIGNoYW5nZXMgd2lsbCBiZSBsb3N0Lgot KyAqLwotKwotKyNwcmFnbWEgb25jZQotKwotKyNkZWZpbmUgQVJDSF9BQVJDSDY0IDAKLSsKLSsj ZGVmaW5lIEFSQ0hfQVJNIDAKLSsKLSsjZGVmaW5lIEFSQ0hfUFBDNjRMRSAxCi0rCi0rI2RlZmlu ZSBBUkNIX1g4NiAwCi0rCi0rI2RlZmluZSBBUkNIX1g4Nl8zMiAwCi0rCi0rI2RlZmluZSBBUkNI X1g4Nl82NCAwCi0rCi0rI2RlZmluZSBDT05GSUdfMTZCUEMgMQotKwotKyNkZWZpbmUgQ09ORklH XzhCUEMgMQotKwotKy8vICNkZWZpbmUgQ09ORklHX0xPRyAxIC0tIExvZ2dpbmcgaXMgY29udHJv bGxlZCBieSBDaHJvbWl1bQotKwotKyNkZWZpbmUgRU5ESUFOTkVTU19CSUcgMAotKwotKyNkZWZp bmUgSEFWRV9BU00gMQotKwotKyNkZWZpbmUgSEFWRV9DTE9DS19HRVRUSU1FIDEKLSsKLSsjZGVm aW5lIEhBVkVfRExTWU0gMQotKwotKyNkZWZpbmUgSEFWRV9HRVRBVVhWQUwgMQotKwotKyNkZWZp bmUgSEFWRV9QT1NJWF9NRU1BTElHTiAxCi0rCi0rI2RlZmluZSBIQVZFX1VOSVNURF9IIDEKLSsK LWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL2RhdjFkX3R5 cGVzLmggYi90aGlyZF9wYXJ0eS9kYXYxZC9saWJkYXYxZC9zcmMvcHBjL2RhdjFkX3R5cGVzLmgK LWluZGV4IDBiNGJkNzJmMC4uYTBjYWE1ZTcxIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvZGF2 MWQvbGliZGF2MWQvc3JjL3BwYy9kYXYxZF90eXBlcy5oCi0rKysgYi90aGlyZF9wYXJ0eS9kYXYx ZC9saWJkYXYxZC9zcmMvcHBjL2RhdjFkX3R5cGVzLmgKLUBAIC01MSw0ICs1MSwxOSBAQAotICNk ZWZpbmUgdTE2bF90b19pMzIodikgKChpMzJ4NCkgdmVjX21lcmdlbCgodTE2eDgpIHYsIHZlY19z cGxhdF91MTYoMCkpKQotICNkZWZpbmUgaTE2bF90b19pMzIodikgKChpMzJ4NCkgdmVjX3VucGFj a2woKGkxNng4KXYpKQotIAotKyNpZiBkZWZpbmVkKF9fY2xhbmdfXykKLSsjdW5kZWYgdmVjX3Nw bGF0cwotKyNkZWZpbmUgdmVjX3NwbGF0cyhOKSAgICAgICAgICAgICAgICAgICAgIFwKLSsgICAg X0dlbmVyaWMoKE4pLCAgICAgICAgICAgICAgICAgICAgICAgICBcCi0rICAgICAgICB1bnNpZ25l ZCBjaGFyOiAgICAgICgodTh4MTYpKE4pKSwgXAotKyAgICAgICAgc2lnbmVkIGNoYXI6ICAgICAg ICAoKGk4eDE2KShOKSksIFwKLSsgICAgICAgIHVuc2lnbmVkIHNob3J0OiAgICAgKCh1MTZ4OCko TikpLCBcCi0rICAgICAgICBzaWduZWQgc2hvcnQ6ICAgICAgICgoaTE2eDgpKE4pKSwgXAotKyAg ICAgICAgdW5zaWduZWQgaW50OiAgICAgICAoKHUzMng0KShOKSksIFwKLSsgICAgICAgIHNpZ25l ZCBpbnQ6ICAgICAgICAgKChpMzJ4NCkoTikpLCBcCi0rICAgICAgICB1bnNpZ25lZCBsb25nIGxv bmc6ICgodTY0eDIpKE4pKSwgXAotKyAgICAgICAgc2lnbmVkIGxvbmcgbG9uZzogICAoKGk2NHgy KShOKSkgIFwKLSsgICAgKQotKyNlbmRpZgotKwotICNlbmRpZiAvKiBEQVYxRF9TUkNfUFBDX1RZ UEVTX0ggKi8KLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24gYi90aGly ZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24KLWluZGV4IDBkNGUxODQuLmYyY2U0ODQgMTAwNjQ0Ci0t LS0gYS90aGlyZF9wYXJ0eS9laWdlbjMvQlVJTEQuZ24KLSsrKyBiL3RoaXJkX3BhcnR5L2VpZ2Vu My9CVUlMRC5nbgotQEAgLTIyLDQgKzIyLDggQEAgY29uZmlnKCJlaWdlbl9pbmNsdWRlcyIpIHsK LSAgICAgIyBmb3IgdGhpcyBjb21wb25lbnQgb24gV2luZG93cyBvbiBBcm0gZHVlIHRvIGNvbXBp bGF0aW9uIGVycm9ycy4KLSAgICAgZGVmaW5lcyArPSBbICJFSUdFTl9ET05UX1ZFQ1RPUklaRSIg XQotICAgfQotKwotKyAgaWYgKHRhcmdldF9jcHUgPT0gInBwYzY0IikgewotKyAgICBkZWZpbmVz ICs9IFsgIkVJR0VOX0RPTlRfVkVDVE9SSVpFIiBdCi0rICB9Ci0gfQotCi1kaWZmIC0tZ2l0IGEv dGhpcmRfcGFydHkvbGliYW9tL0JVSUxELmduIGIvdGhpcmRfcGFydHkvbGliYW9tL0JVSUxELmdu Ci1pbmRleCA5YjA2NWJkLi5kZjNhZjAyIDEwMDY0NAotLS0tIGEvdGhpcmRfcGFydHkvbGliYW9t L0JVSUxELmduCi0rKysgYi90aGlyZF9wYXJ0eS9saWJhb20vQlVJTEQuZ24KLUBAIC00MCw2ICs0 MCw4IEBACi0gICBjcHVfYXJjaF9mdWxsID0gImdlbmVyaWMiCi0gfSBlbHNlIGlmIChjdXJyZW50 X2NwdSA9PSAibG9vbmc2NCIpIHsKLSAgIGNwdV9hcmNoX2Z1bGwgPSAiZ2VuZXJpYyIKLSt9IGVs c2UgaWYgKGN1cnJlbnRfY3B1ID09ICJwcGM2NCIpIHsKLSsgIGNwdV9hcmNoX2Z1bGwgPSAiZ2Vu ZXJpYyIKLSB9IGVsc2UgewotICAgY3B1X2FyY2hfZnVsbCA9IGN1cnJlbnRfY3B1Ci0gfQotZGlm ZiAtLWdpdCBhL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaCBiL3RoaXJk X3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotaW5kZXggZTRhYzIyNjQ0Li4xYzU3 MDE1ZGIgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9sc3MvbGludXhfc3lzY2FsbF9zdXBwb3J0 LmgKLSsrKyBiL3RoaXJkX3BhcnR5L2xzcy9saW51eF9zeXNjYWxsX3N1cHBvcnQuaAotQEAgLTM5 NDcsNyArMzk0Nyw3IEBAIHN0cnVjdCBrZXJuZWxfc3RhdGZzIHsKLSAgICAgICBMU1NfUkVHKDIs IGJ1Zik7Ci0gICAgICAgTFNTX0JPRFkodm9pZCosIG1tYXAyLCAiMCIoX19yMikpOwotICAgICB9 Ci0tI2Vsc2UKLSsjZWxpZiAhZGVmaW5lZChfX3Bvd2VycGM2NF9fKSAvKiBwcGM2NCBkb2Vzbid0 IGhhdmUgbW1hcDIgKi8KLSAgICAgI2RlZmluZSBfX05SX19tbWFwMiBfX05SX21tYXAyCi0gICAg IExTU19JTkxJTkUgX3N5c2NhbGw2KHZvaWQqLCBfbW1hcDIsICAgICAgICAgICAgdm9pZCosIHMs Ci0gICAgICAgICAgICAgICAgICAgICAgICAgIHNpemVfdCwgICAgICAgICAgICAgICAgICAgbCwg aW50LCAgICAgICAgICAgICAgIHAsCi1AQCAtNDA1OCw3ICs0MDU4LDcgQEAgc3RydWN0IGtlcm5l bF9zdGF0ZnMgewotICAgI2lmIGRlZmluZWQoX19pMzg2X18pIHx8ICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSAgICAgICBkZWZpbmVkKF9fQVJN X0FSQ0hfM19fKSB8fCBkZWZpbmVkKF9fQVJNX0VBQklfXykgfHwgICAgICAgICAgICAgICAgICAg ICBcCi0gICAgICAoZGVmaW5lZChfX21pcHNfXykgJiYgX01JUFNfU0lNID09IF9NSVBTX1NJTV9B QkkzMikgfHwgICAgICAgICAgICAgICAgICAgXAotLSAgICAgIGRlZmluZWQoX19QUENfXykgfHwg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKLSsg ICAgIChkZWZpbmVkKF9fUFBDX18pICYmICFkZWZpbmVkKF9fcG93ZXJwYzY0X18pKSB8fCAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXAotICAgICAg KGRlZmluZWQoX19zMzkwX18pICYmICFkZWZpbmVkKF9fczM5MHhfXykpCi0gICAgIC8qIE9uIHRo ZXNlIGFyY2hpdGVjdHVyZXMsIGltcGxlbWVudCBtbWFwKCkgd2l0aCBtbWFwMigpLiAqLwotICAg ICBMU1NfSU5MSU5FIHZvaWQqIExTU19OQU1FKG1tYXApKHZvaWQgKnMsIHNpemVfdCBsLCBpbnQg cCwgaW50IGYsIGludCBkLAotQEAgLTQ4NzIsMTEgKzQ4NzIsMTEgQEAgc3RydWN0IGtlcm5lbF9z dGF0eCB7Ci0gICAgICAgTFNTX1NDX0JPRFkoNCwgaW50LCA4LCBkLCB0eXBlLCBwcm90b2NvbCwg c3YpOwotICAgICB9Ci0gICAjZW5kaWYKLS0gICNpZiBkZWZpbmVkKF9fTlJfcmVjdm1zZykKLSsg ICNpZiBkZWZpbmVkKF9fTlJfcmVjdm1zZykgJiYgIWRlZmluZWQoX19QUENfXykKLSAgICAgTFNT X0lOTElORSBfc3lzY2FsbDMoc3NpemVfdCwgcmVjdm1zZywgaW50LCBzLCBzdHJ1Y3Qga2VybmVs X21zZ2hkciosIG1zZywKLSAgICAgICAgICAgICAgICAgICAgICAgICAgaW50LCBmbGFncykKLSAg ICNlbmRpZgotLSAgI2lmIGRlZmluZWQoX19OUl9zZW5kbXNnKQotKyAgI2lmIGRlZmluZWQoX19O Ul9zZW5kbXNnKSAmJiAhZGVmaW5lZChfX1BQQ19fKQotICAgICBMU1NfSU5MSU5FIF9zeXNjYWxs Myhzc2l6ZV90LCBzZW5kbXNnLCBpbnQsIHMsIGNvbnN0IHN0cnVjdCBrZXJuZWxfbXNnaGRyKiwK LSAgICAgICAgICAgICAgICAgICAgICAgICAgbXNnLCBpbnQsIGZsYWdzKQotICAgI2VuZGlmCi1A QCAtNDg4NSwxMyArNDg4NSwxMyBAQCBzdHJ1Y3Qga2VybmVsX3N0YXR4IHsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgaW50LCBmbGFncywgY29uc3Qgc3RydWN0IGtlcm5lbF9zb2NrYWRkcios IHRvLAotICAgICAgICAgICAgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQsIHRvbGVuKQotICAg I2VuZGlmCi0tICAjaWYgZGVmaW5lZChfX05SX3NodXRkb3duKQotKyAgI2lmIGRlZmluZWQoX19O Ul9zaHV0ZG93bikgJiYgIWRlZmluZWQoX19QUENfXykKLSAgICAgTFNTX0lOTElORSBfc3lzY2Fs bDIoaW50LCBzaHV0ZG93biwgaW50LCBzLCBpbnQsIGhvdykKLSAgICNlbmRpZgotLSAgI2lmIGRl ZmluZWQoX19OUl9zb2NrZXQpCi0rICAjaWYgZGVmaW5lZChfX05SX3NvY2tldCkgJiYgIWRlZmlu ZWQoX19QUENfXykKLSAgICAgTFNTX0lOTElORSBfc3lzY2FsbDMoaW50LCBzb2NrZXQsIGludCwg ZG9tYWluLCBpbnQsIHR5cGUsIGludCwgcHJvdG9jb2wpCi0gICAjZW5kaWYKLS0gICNpZiBkZWZp bmVkKF9fTlJfc29ja2V0cGFpcikKLSsgICNpZiBkZWZpbmVkKF9fTlJfc29ja2V0cGFpcikgJiYg IWRlZmluZWQoX19QUENfXykKLSAgICAgTFNTX0lOTElORSBfc3lzY2FsbDQoaW50LCBzb2NrZXRw YWlyLCBpbnQsIGQsIGludCwgdHlwZSwgaW50LCBwcm90b2NvbCwKLSAgICAgICAgICAgICAgICAg ICAgICAgICAgaW50Kiwgc3YpCi0gICAjZW5kaWYKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9w ZGZpdW0vdGhpcmRfcGFydHkvbGlicG5nMTYvcG5ncHJpdi5oIGIvdGhpcmRfcGFydHkvcGRmaXVt L3RoaXJkX3BhcnR5L2xpYnBuZzE2L3BuZ3ByaXYuaAotaW5kZXggNTgzYzI2Zi4uZTAzZDY5NyAx MDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9saWJwbmcxNi9wbmdw cml2LmgKLSsrKyBiL3RoaXJkX3BhcnR5L3BkZml1bS90aGlyZF9wYXJ0eS9saWJwbmcxNi9wbmdw cml2LmgKLUBAIC0xOTYsMTEgKzE5Niw3IEBACi0gI2VuZGlmCi0gCi0gI2lmbmRlZiBQTkdfUE9X RVJQQ19WU1hfT1BUCi0tIyAgaWYgZGVmaW5lZChfX1BQQzY0X18pICYmIGRlZmluZWQoX19BTFRJ VkVDX18pICYmIGRlZmluZWQoX19WU1hfXykKLS0jICAgICBkZWZpbmUgUE5HX1BPV0VSUENfVlNY X09QVCAyCi0tIyAgZWxzZQotLSMgICAgIGRlZmluZSBQTkdfUE9XRVJQQ19WU1hfT1BUIDAKLS0j ICBlbmRpZgotKyMgIGRlZmluZSBQTkdfUE9XRVJQQ19WU1hfT1BUIDAKLSAjZW5kaWYKLSAKLSAj aWZuZGVmIFBOR19JTlRFTF9TU0VfT1BUCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvcGZmZnQv c3JjL3BmZmZ0LmMgYi90aGlyZF9wYXJ0eS9wZmZmdC9zcmMvcGZmZnQuYwotaW5kZXggYmRhYzRk Nzg0Li41MWUwZjJjYWMgMTAwNjQ0Ci0tLS0gYS90aGlyZF9wYXJ0eS9wZmZmdC9zcmMvcGZmZnQu YwotKysrIGIvdGhpcmRfcGFydHkvcGZmZnQvc3JjL3BmZmZ0LmMKLUBAIC0xMDAsNiArMTAwLDcg QEAKLSAgICBBbHRpdmVjIHN1cHBvcnQgbWFjcm9zIAotICovCi0gI2lmICFkZWZpbmVkKFBGRkZU X1NJTURfRElTQUJMRSkgJiYgKGRlZmluZWQoX19wcGNfXykgfHwgZGVmaW5lZChfX3BwYzY0X18p KQotKyNpbmNsdWRlIDxhbHRpdmVjLmg+Ci0gdHlwZWRlZiB2ZWN0b3IgZmxvYXQgdjRzZjsKLSAj ICBkZWZpbmUgU0lNRF9TWiA0Ci0gIyAgZGVmaW5lIFZaRVJPKCkgKCh2ZWN0b3IgZmxvYXQpIHZl Y19zcGxhdF91OCgwKSkKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxn YW1hdGlvbi9zcWxpdGUzLmMgYi90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbi9z cWxpdGUzLmMKLWluZGV4IDZiNGE3ODk5ZC4uYjhjN2ZlNDE0IDEwMDY0NAotLS0tIGEvdGhpcmRf cGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb24vc3FsaXRlMy5jCi0rKysgYi90aGlyZF9wYXJ0 eS9zcWxpdGUvc3JjL2FtYWxnYW1hdGlvbi9zcWxpdGUzLmMKLUBAIC0xNDQ3NCw3ICsxNDQ3NCw4 IEBAIHR5cGVkZWYgSU5UMTZfVFlQRSBMb2dFc3Q7Ci0gIyBpZiBkZWZpbmVkKGkzODYpICAgICAg fHwgZGVmaW5lZChfX2kzODZfXykgICAgICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKLSAg ICAgIGRlZmluZWQoX194ODZfNjQpICB8fCBkZWZpbmVkKF9feDg2XzY0X18pICAgIHx8IGRlZmlu ZWQoX01fWDY0KSAgfHwgICAgXAotICAgICAgZGVmaW5lZChfTV9BTUQ2NCkgIHx8IGRlZmluZWQo X01fQVJNKSAgICAgICAgfHwgZGVmaW5lZChfX3g4NikgICB8fCAgICBcCi0tICAgICBkZWZpbmVk KF9fQVJNRUxfXykgfHwgZGVmaW5lZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0 KQotKyAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUxfXykgfHwg ZGVmaW5lZChfTV9BUk02NCkgfHwgICBcCi0rICAgICBkZWZpbmVkKF9fcG93ZXJwYzY0X18pICYm IChfX0JZVEVfT1JERVJfXyA9PSBfX09SREVSX0xJVFRMRV9FTkRJQU5fXykKLSAjICAgZGVmaW5l IFNRTElURV9CWVRFT1JERVIgICAgMTIzNAotICMgZWxpZiBkZWZpbmVkKHNwYXJjKSAgICAgfHwg ZGVmaW5lZChfX3BwY19fKSB8fCBcCi0gICAgICAgIGRlZmluZWQoX19BUk1FQl9fKSB8fCBkZWZp bmVkKF9fQUFSQ0g2NEVCX18pCi1kaWZmIC0tZ2l0IGEvdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9h bWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMuYyBiL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvYW1hbGdh bWF0aW9uX2Rldi9zcWxpdGUzLmMKLWluZGV4IGQzMGM5YjdkZS4uY2Y3NWE2OWQ5IDEwMDY0NAot LS0tIGEvdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMuYwot KysrIGIvdGhpcmRfcGFydHkvc3FsaXRlL3NyYy9hbWFsZ2FtYXRpb25fZGV2L3NxbGl0ZTMuYwot QEAgLTE0NDg3LDcgKzE0NDg3LDggQEAgdHlwZWRlZiBJTlQxNl9UWVBFIExvZ0VzdDsKLSAjIGlm IGRlZmluZWQoaTM4NikgICAgICB8fCBkZWZpbmVkKF9faTM4Nl9fKSAgICAgIHx8IGRlZmluZWQo X01fSVg4NikgfHwgICAgXAotICAgICAgZGVmaW5lZChfX3g4Nl82NCkgIHx8IGRlZmluZWQoX194 ODZfNjRfXykgICAgfHwgZGVmaW5lZChfTV9YNjQpICB8fCAgICBcCi0gICAgICBkZWZpbmVkKF9N X0FNRDY0KSAgfHwgZGVmaW5lZChfTV9BUk0pICAgICAgICB8fCBkZWZpbmVkKF9feDg2KSAgIHx8 ICAgIFwKLS0gICAgIGRlZmluZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18p IHx8IGRlZmluZWQoX01fQVJNNjQpCi0rICAgICBkZWZpbmVkKF9fQVJNRUxfXykgfHwgZGVmaW5l ZChfX0FBUkNINjRFTF9fKSB8fCBkZWZpbmVkKF9NX0FSTTY0KSB8fCAgIFwKLSsgICAgIGRlZmlu ZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VO RElBTl9fKQotICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRFUiAgICAxMjM0Ci0gIyBlbGlmIGRl ZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18pIHx8IFwKLSAgICAgICAgZGVmaW5l ZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJfXykKLWRpZmYgLS1naXQgYS90aGly ZF9wYXJ0eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jIGIvdGhpcmRfcGFydHkvc3FsaXRl L3NyYy9leHQvcnRyZWUvcnRyZWUuYwotaW5kZXggZjViNTdhNWUyLi44MGEyZDBhZDggMTAwNjQ0 Ci0tLS0gYS90aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jCi0rKysgYi90 aGlyZF9wYXJ0eS9zcWxpdGUvc3JjL2V4dC9ydHJlZS9ydHJlZS5jCi1AQCAtNDUwLDcgKzQ1MCw3 IEBAIHN0cnVjdCBSdHJlZU1hdGNoQXJnIHsKLSAjaWYgZGVmaW5lZChpMzg2KSAgICAgfHwgZGVm aW5lZChfX2kzODZfXykgICB8fCBkZWZpbmVkKF9NX0lYODYpIHx8ICAgIFwKLSAgICAgZGVmaW5l ZChfX3g4Nl82NCkgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8 ICAgIFwKLSAgICAgZGVmaW5lZChfTV9BTUQ2NCkgfHwgZGVmaW5lZChfTV9BUk0pICAgICB8fCBk ZWZpbmVkKF9feDg2KSAgIHx8ICAgIFwKLS0gICAgZGVmaW5lZChfX2FybV9fKQotKyAgICBkZWZp bmVkKF9fYXJtX18pIHx8IGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9f ID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQotICMgZGVmaW5lIFNRTElURV9CWVRFT1JERVIg ICAgMTIzNAotICNlbGlmIGRlZmluZWQoc3BhcmMpICAgIHx8IGRlZmluZWQoX19wcGNfXykKLSAj IGRlZmluZSBTUUxJVEVfQllURU9SREVSICAgIDQzMjEKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0 eS9zcWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaCBiL3RoaXJkX3BhcnR5L3NxbGl0ZS9zcmMvc3Jj L3NxbGl0ZUludC5oCi1pbmRleCAyNDUwNzBkNGYuLmIyNTE2NGU5NSAxMDA2NDQKLS0tLSBhL3Ro aXJkX3BhcnR5L3NxbGl0ZS9zcmMvc3JjL3NxbGl0ZUludC5oCi0rKysgYi90aGlyZF9wYXJ0eS9z cWxpdGUvc3JjL3NyYy9zcWxpdGVJbnQuaAotQEAgLTg3Nyw3ICs4NzcsOCBAQCB0eXBlZGVmIElO VDE2X1RZUEUgTG9nRXN0OwotICMgaWYgZGVmaW5lZChpMzg2KSAgICAgIHx8IGRlZmluZWQoX19p Mzg2X18pICAgICAgfHwgZGVmaW5lZChfTV9JWDg2KSB8fCAgICBcCi0gICAgICBkZWZpbmVkKF9f eDg2XzY0KSAgfHwgZGVmaW5lZChfX3g4Nl82NF9fKSAgICB8fCBkZWZpbmVkKF9NX1g2NCkgIHx8 ICAgIFwKLSAgICAgIGRlZmluZWQoX01fQU1ENjQpICB8fCBkZWZpbmVkKF9NX0FSTSkgICAgICAg IHx8IGRlZmluZWQoX194ODYpICAgfHwgICAgXAotLSAgICAgZGVmaW5lZChfX0FSTUVMX18pIHx8 IGRlZmluZWQoX19BQVJDSDY0RUxfXykgfHwgZGVmaW5lZChfTV9BUk02NCkKLSsgICAgIGRlZmlu ZWQoX19BUk1FTF9fKSB8fCBkZWZpbmVkKF9fQUFSQ0g2NEVMX18pIHx8IGRlZmluZWQoX01fQVJN NjQpIHx8IFwKLSsgICAgIGRlZmluZWQoX19wb3dlcnBjNjRfXykgJiYgKF9fQllURV9PUkRFUl9f ID09IF9fT1JERVJfTElUVExFX0VORElBTl9fKQotICMgICBkZWZpbmUgU1FMSVRFX0JZVEVPUkRF UiAgICAxMjM0Ci0gIyBlbGlmIGRlZmluZWQoc3BhcmMpICAgICB8fCBkZWZpbmVkKF9fcHBjX18p IHx8IFwKLSAgICAgICAgZGVmaW5lZChfX0FSTUVCX18pIHx8IGRlZmluZWQoX19BQVJDSDY0RUJf XykKLWRpZmYgLS1naXQgYS90aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVtL2FyY2gu aCBiL3RoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFzZS9zeXN0ZW0vYXJjaC5oCi1pbmRleCBiZTIz NjdiODUuLmJlNGVlNDIzMyAxMDA2NDQKLS0tLSBhL3RoaXJkX3BhcnR5L3dlYnJ0Yy9ydGNfYmFz ZS9zeXN0ZW0vYXJjaC5oCi0rKysgYi90aGlyZF9wYXJ0eS93ZWJydGMvcnRjX2Jhc2Uvc3lzdGVt L2FyY2guaAotQEAgLTc5LDYgKzc5LDE4IEBACi0gI2VsaWYgZGVmaW5lZChfX0VNU0NSSVBURU5f XykKLSAjZGVmaW5lIFdFQlJUQ19BUkNIXzMyX0JJVFMKLSAjZGVmaW5lIFdFQlJUQ19BUkNIX0xJ VFRMRV9FTkRJQU4KLSsjZWxpZiBkZWZpbmVkKF9fUFBDX18pCi0rI2RlZmluZSBXRUJSVENfQVJD SF9QUENfRkFNSUxZCi0rI2lmIF9fQllURV9PUkRFUl9fID09IF9fT1JERVJfTElUVExFX0VORElB Tl9fCi0rI2RlZmluZSBXRUJSVENfQVJDSF9MSVRUTEVfRU5ESUFOCi0rI2Vsc2UKLSsjZGVmaW5l IFdFQlJUQ19BUkNIX0JJR19FTkRJQU4KLSsjZW5kaWYKLSsjaWYgZGVmaW5lZChfX0xQNjRfXykK LSsjZGVmaW5lIFdFQlJUQ19BUkNIXzY0X0JJVFMKLSsjZWxzZQotKyNkZWZpbmUgV0VCUlRDX0FS Q0hfMzJfQklUUwotKyNlbmRpZgotICNlbHNlCi0gI2Vycm9yIFBsZWFzZSBhZGQgc3VwcG9ydCBm b3IgeW91ciBhcmNoaXRlY3R1cmUgaW4gcnRjX2Jhc2Uvc3lzdGVtL2FyY2guaAotICNlbmRpZgot ZGlmZiAtLWdpdCBhL3Y4L0JVSUxELmduIGIvdjgvQlVJTEQuZ24KLWluZGV4IGYzOTUyOWEzYS4u ZTg0ZmM0NDllIDEwMDY0NAotLS0tIGEvdjgvQlVJTEQuZ24KLSsrKyBiL3Y4L0JVSUxELmduCi1A QCAtODUwLDYgKzg1MCwxMiBAQCBjb25maWcoInRvb2xjaGFpbiIpIHsKLSAgICAgfQotICAgICBp ZiAoaG9zdF9ieXRlb3JkZXIgPT0gImxpdHRsZSIpIHsKLSAgICAgICBkZWZpbmVzICs9IFsgIlY4 X1RBUkdFVF9BUkNIX1BQQ19MRSIgXQotKyAgICAgIGNmbGFncyArPSBbCi0rICAgICAgICAjIEVu YWJsZSB1c2FnZSBvZiBBbHRpVmVjLCBWU1gsIGFuZCBvdGhlciBQT1dFUjggYW5kIGhpZ2hlciBm ZWF0dXJlcwotKyAgICAgICAgIi1tY3B1PXBvd2VyOCIsCi0rICAgICAgICAiLW1hbHRpdmVjIiwK LSsgICAgICAgICItbXZzeCIsCi0rICAgICAgXQotICAgICB9IGVsc2UgaWYgKGhvc3RfYnl0ZW9y ZGVyID09ICJiaWciKSB7Ci0gICAgICAgZGVmaW5lcyArPSBbICJWOF9UQVJHRVRfQVJDSF9QUENf QkUiIF0KLSAgICAgICBpZiAoY3VycmVudF9vcyA9PSAiYWl4IikgewotLS0tIGEvdWkvZ2wvZmVh dHVyZXMuZ25pCi0rKysgYi91aS9nbC9mZWF0dXJlcy5nbmkKLUBAIC0zMyw1ICszMyw1IEBACi0g ICAgICAgIGlzX2Nocm9tZW9zX2FzaCB8fCBpc19mdWNoc2lhKSAmJgotICAgICAgICh0YXJnZXRf Y3B1ID09ICJ4ODYiIHx8IHRhcmdldF9jcHUgPT0gIng2NCIgfHwgdGFyZ2V0X2NwdSA9PSAiYXJt IiB8fAotICAgICAgICB0YXJnZXRfY3B1ID09ICJhcm02NCIgfHwgdGFyZ2V0X2NwdSA9PSAibWlw c2VsIiB8fAotLSAgICAgICB0YXJnZXRfY3B1ID09ICJtaXBzNjRlbCIgfHwgdGFyZ2V0X2NwdSA9 PSAicmlzY3Y2NCIpCi0rICAgICAgIHRhcmdldF9jcHUgPT0gIm1pcHM2NGVsIiB8fCB0YXJnZXRf Y3B1ID09ICJyaXNjdjY0IiB8fCB0YXJnZXRfY3B1ID09ICJwcGM2NCIpCi0gfQotZGlmZiAtLWdp dCBhL3Y4L3Rlc3QvQlVJTEQuZ24gYi92OC90ZXN0L0JVSUxELmduCi1pbmRleCBmYjg3MmFkMzku LjQ1ZmM1ODVkZCAxMDA2NDQKLS0tLSBhL3Y4L3Rlc3QvQlVJTEQuZ24KLSsrKyBiL3Y4L3Rlc3Qv QlVJTEQuZ24KLUBAIC00Miw3ICs0Miw3IEBAIGdyb3VwKCJnbl9hbGwiKSB7Ci0gICAgICAgImJl bmNobWFya3MvY3BwOmduX2FsbCIsCi0gICAgICAgImNjdGVzdDpjY3Rlc3QiLAotICAgICAgICJ1 bml0dGVzdHM6Z2VuZXJhdGUtYnl0ZWNvZGUtZXhwZWN0YXRpb25zIiwKLS0gICAgICAidW5pdHRl c3RzOnVuaXR0ZXN0cyIsCi0rICAgICAgIyJ1bml0dGVzdHM6dW5pdHRlc3RzIiwKLSAgICAgXQot ICAgfQotIH0KLUBAIC04NCw3ICs4NCw3IEBACi0gICAgICJtZXNzYWdlOnY4X21lc3NhZ2UiLAot ICAgICAibWpzdW5pdDp2OF9tanN1bml0IiwKLSAgICAgIm1rZ3Jva2R1bXA6bWtncm9rZHVtcCIs Ci0tICAgICJ1bml0dGVzdHM6dW5pdHRlc3RzIiwKLSsgICAgIyJ1bml0dGVzdHM6dW5pdHRlc3Rz IiwKLSAgICAgIndlYmtpdDp2OF93ZWJraXQiLAotICAgXQotIAotQEAgLTEwOSw3ICsxMDksNyBA QAotICAgICAibWVzc2FnZTp2OF9tZXNzYWdlIiwKLSAgICAgIm1qc3VuaXQ6djhfbWpzdW5pdCIs Ci0gICAgICJta2dyb2tkdW1wOm1rZ3Jva2R1bXAiLAotLSAgICAidW5pdHRlc3RzOnVuaXR0ZXN0 cyIsCi0rICAgICMidW5pdHRlc3RzOnVuaXR0ZXN0cyIsCi0gICBdCi0gCi0gICBpZiAodjhfZW5h YmxlX3dlYmFzc2VtYmx5KSB7CmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv eHh4LXBwYzY0bGUtc3dpZnRzaGFkZXIucGF0Y2ggYi9zcmNwa2dzL2Nocm9taXVtL3BhdGNoZXMv eHh4LXBwYzY0bGUtc3dpZnRzaGFkZXIucGF0Y2gKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu ZGV4IGRmNDUzZjQ5MWQ4Yy4uMDAwMDAwMDAwMDAwCi0tLSBhL3NyY3BrZ3MvY2hyb21pdW0vcGF0 Y2hlcy94eHgtcHBjNjRsZS1zd2lmdHNoYWRlci5wYXRjaAorKysgL2Rldi9udWxsCkBAIC0xLDE4 ICswLDAgQEAKLS0tLSBhL3RoaXJkX3BhcnR5L3N3aWZ0c2hhZGVyL3RoaXJkX3BhcnR5L2xsdm0t MTAuMC9CVUlMRC5nbgotKysrIGIvdGhpcmRfcGFydHkvc3dpZnRzaGFkZXIvdGhpcmRfcGFydHkv bGx2bS0xMC4wL0JVSUxELmduCi1AQCAtNTc0LDYgKzU3NCw3IEBAIHN3aWZ0c2hhZGVyX2xsdm1f c291cmNlX3NldCgic3dpZnRzaGFkZXIKLSAgICAgImxsdm0vbGliL01DL01DQXNtSW5mb0NPRkYu Y3BwIiwKLSAgICAgImxsdm0vbGliL01DL01DQXNtSW5mb0Rhcndpbi5jcHAiLAotICAgICAibGx2 bS9saWIvTUMvTUNBc21JbmZvRUxGLmNwcCIsCi0rICAgICJsbHZtL2xpYi9NQy9NQ0FzbUluZm9Y Q09GRi5jcHAiLAotICAgICAibGx2bS9saWIvTUMvTUNBc21NYWNyby5jcHAiLAotICAgICAibGx2 bS9saWIvTUMvTUNBc21TdHJlYW1lci5jcHAiLAotICAgICAibGx2bS9saWIvTUMvTUNBc3NlbWJs ZXIuY3BwIiwKLUBAIC02MjksNiArNjMwLDcgQEAgc3dpZnRzaGFkZXJfbGx2bV9zb3VyY2Vfc2V0 KCJzd2lmdHNoYWRlcgotICAgICAibGx2bS9saWIvTUMvTUNXaW5DT0ZGU3RyZWFtZXIuY3BwIiwK LSAgICAgImxsdm0vbGliL01DL01DV2luRUguY3BwIiwKLSAgICAgImxsdm0vbGliL01DL01DWENP RkZTdHJlYW1lci5jcHAiLAotKyAgICAibGx2bS9saWIvTUMvTUNYQ09GRk9iamVjdFRhcmdldFdy aXRlci5jcHAiLAotICAgICAibGx2bS9saWIvTUMvTWFjaE9iamVjdFdyaXRlci5jcHAiLAotICAg ICAibGx2bS9saWIvTUMvU3RyaW5nVGFibGVCdWlsZGVyLmNwcCIsCi0gICAgICJsbHZtL2xpYi9N Qy9TdWJ0YXJnZXRGZWF0dXJlLmNwcCIsCmRpZmYgLS1naXQgYS9zcmNwa2dzL2Nocm9taXVtL3Rl bXBsYXRlIGIvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQppbmRleCA3ZGVhOGJiZTUwZDMuLjUw YjlhM2FlYzQwOSAxMDA2NDQKLS0tIGEvc3JjcGtncy9jaHJvbWl1bS90ZW1wbGF0ZQorKysgYi9z cmNwa2dzL2Nocm9taXVtL3RlbXBsYXRlCkBAIC0xLDcgKzEsNyBAQAogIyBUZW1wbGF0ZSBmaWxl IGZvciAnY2hyb21pdW0nCiBwa2duYW1lPWNocm9taXVtCiAjIFNlZSBodHRwczovL2Nocm9taXVt ZGFzaC5hcHBzcG90LmNvbS9yZWxlYXNlcz9wbGF0Zm9ybT1MaW51eCBmb3IgdGhlIGxhdGVzdCB2 ZXJzaW9uCi12ZXJzaW9uPTEwOC4wLjUzNTkuMTI0Cit2ZXJzaW9uPTEwOS4wLjU0MTQuNzQKIHJl dmlzaW9uPTEKIGFyY2hzPSJpNjg2KiB4ODZfNjQqIGFhcmNoNjQqIGFybXY3bCogcHBjNjRsZSoi CiBob3N0bWFrZWRlcGVuZHM9IgpAQCAtMjgsNyArMjgsNyBAQCBtYWludGFpbmVyPSJEdW5jYWVu IDxkdW5jYWVuQHZvaWRsaW51eC5vcmc+IgogbGljZW5zZT0iQlNELTMtQ2xhdXNlIgogaG9tZXBh Z2U9Imh0dHBzOi8vd3d3LmNocm9taXVtLm9yZy8iCiBkaXN0ZmlsZXM9Imh0dHBzOi8vY29tbW9u ZGF0YXN0b3JhZ2UuZ29vZ2xlYXBpcy5jb20vY2hyb21pdW0tYnJvd3Nlci1vZmZpY2lhbC8ke3Br Z25hbWV9LSR7dmVyc2lvbn0udGFyLnh6IgotY2hlY2tzdW09ZDQ4ZGZhYzJhNjFiMTRhNWQ3ZDJm NDYwYjA5YjcwZWYzYWI4OGUyN2I4MmUzMTczOTM4Y2I1NGVhYTYxMmE3NQorY2hlY2tzdW09ZWRl ZDIzM2MyNmFiNjMxYmUzMjVhZDQ5Y2IzMDZjMzM4NTEzYjZhNjUyODE5N2Q0MjY1M2U2NjE4NzU0 OGU1ZAogCiBsaWIzMmRpc2FibGVkPXllcwogCkBAIC0yMjAsOSArMjIwLDYgQEAgZG9fY29uZmln dXJlKCkgewogCiAJCSdpY3VfdXNlX2RhdGFfZmlsZT10cnVlJwogCi0JCSd1c2VfYWxsb2NhdG9y PSJub25lIicKLQkJJ3VzZV9hbGxvY2F0b3Jfc2hpbT1mYWxzZScKLQogCQknZW5hYmxlX3dpZGV2 aW5lPXRydWUnCiAJCSdlbmFibGVfaGFuZ291dF9zZXJ2aWNlc19leHRlbnNpb249dHJ1ZScKIApA QCAtMzE4LDEzICszMTUsMTMgQEAgZG9fY29uZmlndXJlKCkgewogCiBkb19idWlsZCgpIHsKIAlf c2V0dXBfdG9vbGNoYWluCi0JQ0NBQ0hFX1NMT1BQSU5FU1M9aW5jbHVkZV9maWxlX210aW1lIG5p bmphIC1DIG91dC9SZWxlYXNlICR7bWFrZWpvYnN9IGNocm9tZSBjaHJvbWVkcml2ZXIgY2hyb21l X2NyYXNocGFkX2hhbmRsZXIKKwlDQ0FDSEVfU0xPUFBJTkVTUz1pbmNsdWRlX2ZpbGVfbXRpbWUg bmluamEgLUMgb3V0L1JlbGVhc2UgJHttYWtlam9ic30gY2hyb21lIGNocm9tZWRyaXZlci51bnN0 cmlwcGVkIGNocm9tZV9jcmFzaHBhZF9oYW5kbGVyCiB9CiAKIGRvX2luc3RhbGwoKSB7CiAJdmlu c3RhbGwgb3V0L1JlbGVhc2UvY2hyb21lIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0gJHtwa2duYW1l fQogCXZpbnN0YWxsIG91dC9SZWxlYXNlL2Nocm9tZV9jcmFzaHBhZF9oYW5kbGVyIDc1NSB1c3Iv bGliLyR7cGtnbmFtZX0gY2hyb21lX2NyYXNocGFkX2hhbmRsZXIKLQl2aW5zdGFsbCBvdXQvUmVs ZWFzZS9jaHJvbWVkcml2ZXIgNzU1IHVzci9saWIvJHtwa2duYW1lfSBjaHJvbWVkcml2ZXIKKwl2 aW5zdGFsbCBvdXQvUmVsZWFzZS9jaHJvbWVkcml2ZXIudW5zdHJpcHBlZCA3NTUgdXNyL2xpYi8k e3BrZ25hbWV9IGNocm9tZWRyaXZlcgogCXZpbnN0YWxsIG91dC9SZWxlYXNlL2xpYkVHTC5zbyA3 NTUgdXNyL2xpYi8ke3BrZ25hbWV9IGxpYkVHTC5zbwogCXZpbnN0YWxsIG91dC9SZWxlYXNlL2xp YkdMRVN2Mi5zbyA3NTUgdXNyL2xpYi8ke3BrZ25hbWV9IGxpYkdMRVN2Mi5zbwogCXZpbnN0YWxs IG91dC9SZWxlYXNlL2xpYnZrX3N3aWZ0c2hhZGVyLnNvIDc1NSB1c3IvbGliLyR7cGtnbmFtZX0g bGlidmtfc3dpZnRzaGFkZXIuc28K --===============8712122546514483898==--